From 0a45a1fd05214cb1a7b2e043ca0f78652ec7c760 Mon Sep 17 00:00:00 2001 From: chenxi Date: Fri, 14 Aug 2026 15:00:59 +0800 Subject: [PATCH] fix(windows): stabilize runtime startup Accept verified venv launcher descendants during executor startup, retry transient health sidecar replacements, and reject unverified clean exits. Ensure Electron is installed after npm ci, support documented Web aliases, refresh secure frontend dependencies and artifacts, and widen Windows CI coverage. Co-Authored-By: GPT-5.6-Sol --- .github/workflows/tests.yml | 5 +- argus_skill/apps/cli/_parser.py | 1 + argus_skill/apps/tui_launcher.py | 2 + argus_skill/daemon/health.py | 28 +- argus_skill/daemon/process.py | 37 +- argus_skill/release_manifest.json | 4 +- desktop/package-lock.json | 1 + desktop/package.json | 1 + desktop/src/main/logger.ts | 4 +- frontend/core/src/release.generated.ts | 4 +- frontend/tui/bundle/argus.mjs | 2 +- .../assets/ResearchWorkbenchPanel-BaphEhte.js | 18 + .../ResearchWorkbenchPanel-Bxi8TjKE.css | 1 + .../ResearchWorkbenchPanel-Dx5dtiSU.css | 1 - .../assets/ResearchWorkbenchPanel-PFfB4YNn.js | 434 ---- ...no-cyrillic-ext-wght-normal-I4S5GZfc.woff2 | Bin 6180 -> 0 bytes ...no-cyrillic-ext-wght-normal-X_5orZeX.woff2 | Bin 0 -> 6176 bytes ...t-mono-cyrillic-wght-normal-BmXc_FBt.woff2 | Bin 12876 -> 0 bytes ...t-mono-cyrillic-wght-normal-DiZS0aHC.woff2 | Bin 0 -> 12940 bytes ...-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 | Bin 0 -> 14696 bytes ...-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 | Bin 14784 -> 0 bytes ...eist-mono-latin-wght-normal-B_7UjwxQ.woff2 | Bin 29896 -> 0 bytes ...eist-mono-latin-wght-normal-XN7g48iV.woff2 | Bin 0 -> 23128 bytes ...t-mono-symbols2-wght-normal-CO5SzqOn.woff2 | Bin 0 -> 5812 bytes ...t-mono-symbols2-wght-normal-GZpp1pK2.woff2 | Bin 5804 -> 0 bytes ...mono-vietnamese-wght-normal-D8KDMBhC.woff2 | Bin 7716 -> 0 bytes ...mono-vietnamese-wght-normal-DadHysG0.woff2 | Bin 0 -> 7696 bytes frontend/web/dist/assets/icons-BHmFHwhB.js | 1088 -------- frontend/web/dist/assets/icons-BgG77X6K.js | 1080 ++++++++ frontend/web/dist/assets/index-BsbGxZOe.css | 1 + frontend/web/dist/assets/index-D1Yz0LUk.js | 30 + frontend/web/dist/assets/index-DWO2YeDH.js | 53 - frontend/web/dist/assets/index-QZp9TzVB.css | 1 - frontend/web/dist/assets/markdown-B5ILJD_j.js | 29 - frontend/web/dist/assets/markdown-BdostSiP.js | 29 + frontend/web/dist/assets/motion-a9woYdh8.js | 15 - frontend/web/dist/assets/motion-sqs9Ax-g.js | 1 + frontend/web/dist/assets/pdf-DEp6sk-T.js | 55 - frontend/web/dist/assets/pdf-thuO7_2p.js | 54 + frontend/web/dist/assets/query-BpxuCIcN.js | 17 - frontend/web/dist/assets/query-DOc9YWJi.js | 1 + .../dist/assets/rolldown-runtime-hePW80VL.js | 1 + frontend/web/dist/index.html | 11 +- frontend/web/package-lock.json | 2303 ++++++----------- frontend/web/package.json | 10 +- frontend/web/tsconfig.json | 2 +- tests/apps/test_cli_parser.py | 14 +- tests/apps/test_tui_launcher.py | 20 + tests/daemon/test_health.py | 28 + tests/daemon/test_windows_terminal_process.py | 162 ++ 50 files changed, 2368 insertions(+), 3180 deletions(-) create mode 100644 frontend/web/dist/assets/ResearchWorkbenchPanel-BaphEhte.js create mode 100644 frontend/web/dist/assets/ResearchWorkbenchPanel-Bxi8TjKE.css delete mode 100644 frontend/web/dist/assets/ResearchWorkbenchPanel-Dx5dtiSU.css delete mode 100644 frontend/web/dist/assets/ResearchWorkbenchPanel-PFfB4YNn.js delete mode 100644 frontend/web/dist/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 create mode 100644 frontend/web/dist/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 delete mode 100644 frontend/web/dist/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 create mode 100644 frontend/web/dist/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 create mode 100644 frontend/web/dist/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 delete mode 100644 frontend/web/dist/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 delete mode 100644 frontend/web/dist/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 create mode 100644 frontend/web/dist/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 create mode 100644 frontend/web/dist/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 delete mode 100644 frontend/web/dist/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 delete mode 100644 frontend/web/dist/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 create mode 100644 frontend/web/dist/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 delete mode 100644 frontend/web/dist/assets/icons-BHmFHwhB.js create mode 100644 frontend/web/dist/assets/icons-BgG77X6K.js create mode 100644 frontend/web/dist/assets/index-BsbGxZOe.css create mode 100644 frontend/web/dist/assets/index-D1Yz0LUk.js delete mode 100644 frontend/web/dist/assets/index-DWO2YeDH.js delete mode 100644 frontend/web/dist/assets/index-QZp9TzVB.css delete mode 100644 frontend/web/dist/assets/markdown-B5ILJD_j.js create mode 100644 frontend/web/dist/assets/markdown-BdostSiP.js delete mode 100644 frontend/web/dist/assets/motion-a9woYdh8.js create mode 100644 frontend/web/dist/assets/motion-sqs9Ax-g.js delete mode 100644 frontend/web/dist/assets/pdf-DEp6sk-T.js create mode 100644 frontend/web/dist/assets/pdf-thuO7_2p.js delete mode 100644 frontend/web/dist/assets/query-BpxuCIcN.js create mode 100644 frontend/web/dist/assets/query-DOc9YWJi.js create mode 100644 frontend/web/dist/assets/rolldown-runtime-hePW80VL.js diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 11a41f7c9..3db197cd9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -52,10 +52,13 @@ env: # Product paths whose Windows behavior is exercised by the Desktop host. WINDOWS_CORE_TESTS: >- + tests/apps/test_cli_parser.py tests/apps/test_tui_launcher.py + tests/daemon/test_health.py tests/daemon/test_process_workspace.py tests/daemon/test_spawn_admission_portable.py tests/daemon/test_spawn_helper.py + tests/daemon/test_windows_daemon_control.py tests/daemon/test_windows_terminal_process.py tests/test_agent_cli_backend.py tests/webapi/test_commands_m1.py @@ -179,7 +182,7 @@ jobs: - name: Install run: | python -m pip install --upgrade pip - python -m pip install -e . pytest ruff "pyinstaller>=6.11,<7" + python -m pip install -e . pytest ruff "httpx2>=2.9,<3" "pyinstaller>=6.11,<7" npm --prefix desktop ci - name: Lint and test desktop sources run: | diff --git a/argus_skill/apps/cli/_parser.py b/argus_skill/apps/cli/_parser.py index ffd7b3092..85bcb03d0 100644 --- a/argus_skill/apps/cli/_parser.py +++ b/argus_skill/apps/cli/_parser.py @@ -244,6 +244,7 @@ def build_parser() -> argparse.ArgumentParser: ) cockpit_grp.add_argument( "--web-host", + "--host", default="127.0.0.1", help="bind host for --web (default 127.0.0.1; use 0.0.0.0 to reach it " "from a phone on the same network). A non-loopback bind always " diff --git a/argus_skill/apps/tui_launcher.py b/argus_skill/apps/tui_launcher.py index 459874f64..d59304c0e 100644 --- a/argus_skill/apps/tui_launcher.py +++ b/argus_skill/apps/tui_launcher.py @@ -53,7 +53,9 @@ "--gc-days", "--objective", "--web-host", + "--host", "--web-port", + "--port", "--notify-stage", "--backend", "--auth-mode", diff --git a/argus_skill/daemon/health.py b/argus_skill/daemon/health.py index f46ce7827..39bb537c6 100644 --- a/argus_skill/daemon/health.py +++ b/argus_skill/daemon/health.py @@ -14,6 +14,8 @@ HEALTH_SCHEMA_VERSION = 1 DEFAULT_STALL_SECONDS = 30 * 60.0 _ACTIVITY_WRITE_INTERVAL_SECONDS = 5.0 +_WINDOWS_REPLACE_ATTEMPTS = 6 +_WINDOWS_REPLACE_INITIAL_DELAY_SECONDS = 0.01 _ACTIVE_EVENTS = frozenset({ "life.manager.intent.started", @@ -60,6 +62,30 @@ }) +def _running_on_windows() -> bool: + return os.name == "nt" + + +def _replace_atomic_file(temporary: str, path: Path) -> None: + """Replace a health sidecar despite short-lived Windows read sharing. + + Status consumers open this file frequently. On Windows a reader or security + scanner can briefly deny replacement with ``WinError 5/32`` even though the + writer owns a unique temporary file. Retry only ``PermissionError`` on + Windows, with a small bounded backoff; every other failure remains visible. + """ + delay = _WINDOWS_REPLACE_INITIAL_DELAY_SECONDS + for attempt in range(_WINDOWS_REPLACE_ATTEMPTS): + try: + os.replace(temporary, path) + return + except PermissionError: + if not _running_on_windows() or attempt + 1 >= _WINDOWS_REPLACE_ATTEMPTS: + raise + time.sleep(delay) + delay *= 2 + + def _atomic_write(path: Path, payload: dict[str, Any]) -> None: path.parent.mkdir(parents=True, exist_ok=True) fd, temporary = tempfile.mkstemp(prefix=f".{path.name}.", dir=path.parent) @@ -69,7 +95,7 @@ def _atomic_write(path: Path, payload: dict[str, Any]) -> None: handle.write("\n") handle.flush() os.fsync(handle.fileno()) - os.replace(temporary, path) + _replace_atomic_file(temporary, path) finally: try: os.unlink(temporary) diff --git a/argus_skill/daemon/process.py b/argus_skill/daemon/process.py index 7f0e5dd97..af9cce8db 100644 --- a/argus_skill/daemon/process.py +++ b/argus_skill/daemon/process.py @@ -17,6 +17,7 @@ _daemon_pid_path, _daemon_status_path, _daemon_status_payload, + _descendant_pids, _new_boot_id, _point_active_daemon_log, _redirect_std_to_log, @@ -92,6 +93,24 @@ def _windows_daemon_command(config: Any) -> list[str]: return command +def _windows_runtime_belongs_to_launcher( + launcher_pid: int, + runtime_pid: int, +) -> bool: + """Prove that a published worker PID belongs to the process we spawned. + + A Windows virtual-environment ``python.exe`` is a launcher stub. Its PID is + the one returned by :class:`subprocess.Popen`, while the base interpreter + child acquires ``daemon.pid`` and publishes ``daemon.status.json``. Requiring + PID equality therefore rejects a healthy source-checkout worker. Keep the + foreign-status protection by accepting only the launcher itself or one of + its current descendants. + """ + if runtime_pid == launcher_pid: + return True + return runtime_pid in _descendant_pids(launcher_pid) + + def _reap_failed_windows_spawn(process: subprocess.Popen[Any]) -> None: """Reclaim the exact worker tree after a failed publication handshake.""" pid = int(process.pid) @@ -153,18 +172,25 @@ def _spawn_windows_background_process( deadline = time.monotonic() + _WINDOWS_DAEMON_PUBLISH_TIMEOUT_SECONDS exit_rc: int | None = None stable_since: float | None = None + stable_pid: int | None = None while time.monotonic() < deadline: if pid_path.exists() and status_path.exists(): status = read_daemon_status(config.life_dir) + runtime_pid = int(status.pid or 0) if ( status.alive - and status.pid == process.pid + and runtime_pid > 0 + and _windows_runtime_belongs_to_launcher( + int(process.pid), + runtime_pid, + ) and not status.status_read_error and process.poll() is None ): now = time.monotonic() - if stable_since is None: + if stable_since is None or stable_pid != runtime_pid: stable_since = now + stable_pid = runtime_pid elif now - stable_since >= _DAEMON_STABILITY_SECONDS: if not quiet: sys.stdout.write( @@ -174,6 +200,7 @@ def _spawn_windows_background_process( return 0 else: stable_since = None + stable_pid = None if process.poll() is not None: exit_rc = process.returncode break @@ -192,7 +219,11 @@ def _spawn_windows_background_process( f"{_WINDOWS_DAEMON_PUBLISH_TIMEOUT_SECONDS:g}s. " f"Check {log_path} for errors.\n" ) - return int(exit_rc) if exit_rc is not None else 2 + # A zero exit before the PID/status handshake is still a failed worker: + # no process remains to execute queued work. Preserve actionable + # non-zero child codes, but never turn an unverified clean exit into a + # successful executor start. + return int(exit_rc) if exit_rc not in {None, 0} else 2 finally: release_spawn_lock(spawn_lock_fd) diff --git a/argus_skill/release_manifest.json b/argus_skill/release_manifest.json index 79086c7a0..dc7faf611 100644 --- a/argus_skill/release_manifest.json +++ b/argus_skill/release_manifest.json @@ -1,6 +1,6 @@ { "package_version": "0.1.1", - "release_id": "0.1.1+8729a4b0e6b82037", + "release_id": "0.1.1+f7f5995be9b92b21", "schema_version": 1, - "source_digest": "8729a4b0e6b8203750721bd5fefae3b8612caec6127a4c580bcb8a647715d277" + "source_digest": "f7f5995be9b92b21b608f9b40b446fd71dcf4b4fe3df2f2720bc2606e88134f2" } diff --git a/desktop/package-lock.json b/desktop/package-lock.json index 985f517b8..a2dfea072 100644 --- a/desktop/package-lock.json +++ b/desktop/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "argus-desktop", "version": "0.1.1", + "hasInstallScript": true, "dependencies": { "adm-zip": "^0.6.0", "electron-log": "^5.2.4" diff --git a/desktop/package.json b/desktop/package.json index 42fd96090..b0f1bc22b 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -10,6 +10,7 @@ "node": ">=22.12.0" }, "scripts": { + "postinstall": "node -e \"require('electron')\"", "dev": "electron-vite dev", "typecheck": "tsc --noEmit", "test:identity": "node -e \"require('fs').rmSync('.test-out',{recursive:true,force:true})\" && tsc --module commonjs --moduleResolution node --target ES2022 --esModuleInterop --skipLibCheck --outDir .test-out src/main/backendIdentity.ts src/main/backendProcess.ts src/main/backendResilience.ts src/main/loggerSafety.ts src/main/navigation.ts src/main/redaction.ts src/main/releaseIdentity.ts src/main/runner.ts src/renderer/ipcRecovery.ts test/backendIdentity.test.ts test/backendProcess.test.ts test/backendResilience.test.ts test/ipcRecovery.test.ts test/loggerSafety.test.ts test/navigation.test.ts test/redaction.test.ts test/releaseIdentity.test.ts test/runner.test.ts && node --test .test-out/test/*.test.js && node -e \"require('fs').rmSync('.test-out',{recursive:true,force:true})\"", diff --git a/desktop/src/main/logger.ts b/desktop/src/main/logger.ts index ea1a0d529..224e706f1 100644 --- a/desktop/src/main/logger.ts +++ b/desktop/src/main/logger.ts @@ -12,9 +12,9 @@ export function createLogger(): typeof log { log.transports.file.resolvePathFn = () => join(app.getPath('userData'), 'logs', 'desktop.log'); log.transports.file.maxSize = 5 * 1024 * 1024; - log.catchErrors({ + log.errorHandler.startCatching({ showDialog: false, - onError(error) { + onError({ error }) { log.error('uncaught main-process error', error); } }); diff --git a/frontend/core/src/release.generated.ts b/frontend/core/src/release.generated.ts index 595b97c12..eb52809d6 100644 --- a/frontend/core/src/release.generated.ts +++ b/frontend/core/src/release.generated.ts @@ -1,3 +1,3 @@ // Generated by argus_skill.release_tools.generate_manifest. Do not edit. -export const RELEASE_ID = "0.1.1+8729a4b0e6b82037"; -export const RELEASE_SOURCE_DIGEST = "8729a4b0e6b8203750721bd5fefae3b8612caec6127a4c580bcb8a647715d277"; +export const RELEASE_ID = "0.1.1+f7f5995be9b92b21"; +export const RELEASE_SOURCE_DIGEST = "f7f5995be9b92b21b608f9b40b446fd71dcf4b4fe3df2f2720bc2606e88134f2"; diff --git a/frontend/tui/bundle/argus.mjs b/frontend/tui/bundle/argus.mjs index 76171c5e7..0c38f16ce 100644 --- a/frontend/tui/bundle/argus.mjs +++ b/frontend/tui/bundle/argus.mjs @@ -121,7 +121,7 @@ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#isr Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),t){this.rawModeEnabledCount===0&&(r.ref(),r.setRawMode(!0),r.addListener("readable",this.handleReadable)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("readable",this.handleReadable),r.unref())};handleReadable=()=>{let t;for(;(t=this.props.stdin.read())!==null;)this.handleInput(t),this.internal_eventEmitter.emit("input",t)};handleInput=t=>{t===""&&this.props.exitOnCtrlC&&this.handleExit(),t===LR&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(t===TR&&this.focusNext(),t===OR&&this.focusPrevious())};handleExit=t=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(t)};enableFocus=()=>{this.setState({isFocusEnabled:!0})};disableFocus=()=>{this.setState({isFocusEnabled:!1})};focus=t=>{this.setState(r=>r.focusables.some(s=>s?.id===t)?{activeFocusId:t}:r)};focusNext=()=>{this.setState(t=>{let r=t.focusables.find(s=>s.isActive)?.id;return{activeFocusId:this.findNextFocusable(t)??r}})};focusPrevious=()=>{this.setState(t=>{let r=t.focusables.findLast(s=>s.isActive)?.id;return{activeFocusId:this.findPreviousFocusable(t)??r}})};addFocusable=(t,{autoFocus:r})=>{this.setState(i=>{let s=i.activeFocusId;return!s&&r&&(s=t),{activeFocusId:s,focusables:[...i.focusables,{id:t,isActive:!0}]}})};removeFocusable=t=>{this.setState(r=>({activeFocusId:r.activeFocusId===t?void 0:r.activeFocusId,focusables:r.focusables.filter(i=>i.id!==t)}))};activateFocusable=t=>{this.setState(r=>({focusables:r.focusables.map(i=>i.id!==t?i:{id:t,isActive:!0})}))};deactivateFocusable=t=>{this.setState(r=>({activeFocusId:r.activeFocusId===t?void 0:r.activeFocusId,focusables:r.focusables.map(i=>i.id!==t?i:{id:t,isActive:!1})}))};findNextFocusable=t=>{let r=t.focusables.findIndex(i=>i.id===t.activeFocusId);for(let i=r+1;i{let r=t.focusables.findIndex(i=>i.id===t.activeFocusId);for(let i=r-1;i>=0;i--){let s=t.focusables[i];if(s?.isActive)return s.id}}};var ty=()=>{},hf=class{options;log;throttledLog;isUnmounted;lastOutput;container;rootNode;fullStaticOutput;exitPromise;restoreConsole;unsubscribeResize;constructor(t){IE(this),this.options=t,this.rootNode=od("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.rootNode.onRender=t.debug?this.onRender:Pg(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=xD.create(t.stdout),this.throttledLog=t.debug?this.log:Pg(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=Ja.createContainer(this.rootNode,0,null,!1,null,"id",()=>{},null),this.unsubscribeExit=(0,ny.default)(this.unmount,{alwaysLast:!1}),MR.env.DEV==="true"&&Ja.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),t.patchConsole&&this.patchConsole(),Na||(t.stdout.on("resize",this.resized),this.unsubscribeResize=()=>{t.stdout.off("resize",this.resized)})}resized=()=>{this.calculateLayout(),this.onRender()};resolveExitPromise=()=>{};rejectExitPromise=()=>{};unsubscribeExit=()=>{};calculateLayout=()=>{let t=this.options.stdout.columns||80;this.rootNode.yogaNode.setWidth(t),this.rootNode.yogaNode.calculateLayout(void 0,void 0,it.DIRECTION_LTR)};onRender=()=>{if(this.isUnmounted)return;let{output:t,outputHeight:r,staticOutput:i}=yD(this.rootNode),s=i&&i!==` `;if(this.options.debug){s&&(this.fullStaticOutput+=i),this.options.stdout.write(this.fullStaticOutput+t);return}if(Na){s&&this.options.stdout.write(i),this.lastOutput=t;return}if(s&&(this.fullStaticOutput+=i),r>=this.options.stdout.rows){this.options.stdout.write(ko.clearTerminal+this.fullStaticOutput+t),this.lastOutput=t;return}s&&(this.log.clear(),this.options.stdout.write(i),this.log(t)),!s&&t!==this.lastOutput&&this.throttledLog(t),this.lastOutput=t};render(t){let r=ry.default.createElement(If,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},t);Ja.updateContainer(r,this.container,null,ty)}writeToStdout(t){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(t+this.fullStaticOutput+this.lastOutput);return}if(Na){this.options.stdout.write(t);return}this.log.clear(),this.options.stdout.write(t),this.log(this.lastOutput)}}writeToStderr(t){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(t),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(Na){this.options.stderr.write(t);return}this.log.clear(),this.options.stderr.write(t),this.log(this.lastOutput)}}unmount(t){this.isUnmounted||(this.calculateLayout(),this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),Na?this.options.stdout.write(this.lastOutput+` `):this.options.debug||this.log.done(),this.isUnmounted=!0,Ja.updateContainer(null,this.container,null,ty),wu.delete(this.options.stdout),t instanceof Error?this.rejectExitPromise(t):this.resolveExitPromise())}async waitUntilExit(){return this.exitPromise||=new Promise((t,r)=>{this.resolveExitPromise=t,this.rejectExitPromise=r}),this.exitPromise}clear(){!Na&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=Wh((t,r)=>{t==="stdout"&&this.writeToStdout(r),t==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};var UR=(e,t)=>{let r={stdout:Pd.stdout,stdin:Pd.stdin,stderr:Pd.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0,...GR(t)},i=HR(r.stdout,()=>new hf(r));return i.render(e),{rerender:i.render,unmount(){i.unmount()},waitUntilExit:i.waitUntilExit,cleanup:()=>wu.delete(r.stdout),clear:i.clear}},Um=UR,GR=(e={})=>e instanceof PR?{stdout:e,stdin:Pd.stdin}:e,HR=(e,t)=>{let r=wu.get(e);return r||(r=t(),wu.set(e,r)),r};var iA=Me(jt(),1);function Cf(e){let{items:t,children:r,style:i}=e,[s,a]=(0,iA.useState)(0),u=(0,iA.useMemo)(()=>t.slice(s),[t,s]);(0,iA.useLayoutEffect)(()=>{a(t.length)},[t.length]);let E=u.map((C,y)=>r(C,s+y)),I=(0,iA.useMemo)(()=>({position:"absolute",flexDirection:"column",...i}),[i]);return iA.default.createElement("ink-box",{internal_static:!0,style:I},E)}var WR=Me(jt(),1);var KR=Me(jt(),1);var JR=Me(jt(),1);var Gm=Me(jt(),1);import{Buffer as jR}from"node:buffer";var YR=/^(?:\x1b)([a-zA-Z0-9])$/,VR=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,oy={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},iy=[...Object.values(oy),"backspace"],qR=e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),zR=e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),$R=(e="")=>{let t;jR.isBuffer(e)?e[0]>127&&e[1]===void 0?(e[0]-=128,e="\x1B"+String(e)):e=String(e):e!==void 0&&typeof e!="string"?e=String(e):e||(e="");let r={name:"",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:e,raw:e};if(r.sequence=r.sequence||e||r.name,e==="\r")r.raw=void 0,r.name="return";else if(e===` -`)r.name="enter";else if(e===" ")r.name="tab";else if(e==="\b"||e==="\x1B\b")r.name="backspace",r.meta=e.charAt(0)==="\x1B";else if(e==="\x7F"||e==="\x1B\x7F")r.name="delete",r.meta=e.charAt(0)==="\x1B";else if(e==="\x1B"||e==="\x1B\x1B")r.name="escape",r.meta=e.length===2;else if(e===" "||e==="\x1B ")r.name="space",r.meta=e.length===2;else if(e.length===1&&e<="")r.name=String.fromCharCode(e.charCodeAt(0)+97-1),r.ctrl=!0;else if(e.length===1&&e>="0"&&e<="9")r.name="number";else if(e.length===1&&e>="a"&&e<="z")r.name=e;else if(e.length===1&&e>="A"&&e<="Z")r.name=e.toLowerCase(),r.shift=!0;else if(t=YR.exec(e))r.meta=!0,r.shift=/^[A-Z]$/.test(t[1]);else if(t=VR.exec(e)){let i=[...e];i[0]==="\x1B"&&i[1]==="\x1B"&&(r.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(""),a=(t[3]||t[5]||1)-1;r.ctrl=!!(a&4),r.meta=!!(a&10),r.shift=!!(a&1),r.code=s,r.name=oy[s],r.shift=qR(s)||r.shift,r.ctrl=zR(s)||r.ctrl}return r},sy=$R;var Ay=Me(jt(),1);var XR=()=>(0,Ay.useContext)(Nd),Ud=XR;var ZR=(e,t={})=>{let{stdin:r,setRawMode:i,internal_exitOnCtrlC:s,internal_eventEmitter:a}=Ud();(0,Gm.useEffect)(()=>{if(t.isActive!==!1)return i(!0),()=>{i(!1)}},[t.isActive,i]),(0,Gm.useEffect)(()=>{if(t.isActive===!1)return;let u=E=>{let I=sy(E),C={upArrow:I.name==="up",downArrow:I.name==="down",leftArrow:I.name==="left",rightArrow:I.name==="right",pageDown:I.name==="pagedown",pageUp:I.name==="pageup",return:I.name==="return",escape:I.name==="escape",ctrl:I.ctrl,shift:I.shift,tab:I.name==="tab",backspace:I.name==="backspace",delete:I.name==="delete",meta:I.meta||I.name==="escape"||I.option},y=I.ctrl?I.name:I.sequence;iy.includes(I.name)&&(y=""),y.startsWith("\x1B")&&(y=y.slice(1)),y.length===1&&typeof y[0]=="string"&&/[A-Z]/.test(y[0])&&(C.shift=!0),(!(y==="c"&&C.ctrl)||!s)&&Ja.batchedUpdates(()=>{e(y,C)})};return a?.on("input",u),()=>{a?.removeListener("input",u)}},[t.isActive,r,s,e])},rs=ZR;var ay=Me(jt(),1);var eF=()=>(0,ay.useContext)(kd),sA=eF;var ly=Me(jt(),1);var tF=()=>(0,ly.useContext)(Td),AA=tF;var rF=Me(jt(),1);var Hm=Me(jt(),1);var nF=Me(jt(),1);mm();import{randomUUID as Wd}from"node:crypto";import{homedir as gF}from"node:os";import{posix as dF,win32 as Ym}from"node:path";var Wm=class extends Error{status;method;path;constructor(t,r,i,s){super(t),this.name="ApiError",this.status=r,this.method=i,this.path=s}};function oF(e){let t=e.replace(/\s+/g," ").trim();if(!t)return"";try{let r=JSON.parse(e);for(let i of["detail","error","message"]){let s=r[i];if(typeof s=="string"&&s.trim())return s.trim();if(Array.isArray(s)){let a=s.map(u=>u&&typeof u=="object"?String(u.msg??""):"").filter(Boolean);if(a.length)return a.join("; ")}}}catch{}return t.startsWith("typeof D=="string"):[],u=Km(i?.major),E=Km(i?.minor);if(!r||!i||!s)return{compatible:!1,reason:"malformed /api/meta response"};if(typeof s.source_root!="string"||Km(s.pid)===null||typeof s.package_version!="string"||typeof s.release_id!="string")return{compatible:!1,reason:"malformed /api/meta runtime identity"};if(r.service!==sF)return{compatible:!1,reason:`unexpected service ${String(r.service||"unknown")}`};let I=e;if(i.name!==Su.name||u!==Su.major)return{compatible:!1,reason:`protocol ${String(i.name||"unknown")}/${String(u)} is incompatible with client ${Su.name}/${Su.major}`,meta:I};if(E===null||E!a.includes(D));if(C.length>0)return{compatible:!1,reason:`missing capabilities: ${C.join(", ")}`,meta:I};if(s.source_root_matches_config===!1)return{compatible:!1,reason:`backend loaded source ${String(s.source_root)} but ARGUS_SKILL_SOURCE_ROOT points to ${String(s.configured_source_root)}`,meta:I};if(s.release_id!==t.releaseId)return{compatible:!1,reason:`backend release ${String(s.release_id)} does not match client release ${t.releaseId}`,meta:I};if(t.sourceDigest){if(typeof s.runtime_source_digest!="string"||!s.runtime_source_digest)return{compatible:!1,reason:"backend process does not report the source digest required by this local checkout",meta:I};if(s.runtime_source_digest!==t.sourceDigest)return{compatible:!1,reason:`backend process source ${String(s.runtime_source_digest).slice(0,16)} does not match local source ${t.sourceDigest.slice(0,16)}`,meta:I}}return{compatible:!0,reason:"",warning:s.release_matches_source===!1?"backend source differs from its prebuilt release artifacts; pull a complete published revision and reinstall":void 0,meta:I}}function cy(e,t){let r=Jm(e);if(!r.compatible||!r.meta)throw new Error(`incompatible Argus API: ${r.reason}`);return r.warning&&t?.(r.warning),r.meta}function fy(e){let t=Bf(e),r=Bf(t?.daemon);if(!t||t.schema_version!==Hd)throw new Error(`incompatible snapshot schema: expected ${Hd}, got ${String(t?.schema_version??"missing")}`);if(!r)throw new Error("invalid snapshot: daemon section is missing");let s=["global_daily_cap_usd","read_status","read_error","protocol_compatible","protocol_error"].filter(E=>!Object.hasOwn(r,E));if(s.length>0)throw new Error(`invalid snapshot: daemon fields missing: ${s.join(", ")}`);let u=["spend_usd","spend_status","usage_summary","request_usage","cost_control","daemon_commands","observability","mission_view","partial","diagnostics"].filter(E=>!Object.hasOwn(t,E));if(u.length>0)throw new Error(`invalid snapshot: fields missing: ${u.join(", ")}`);if(!Array.isArray(t.diagnostics))throw new Error("invalid snapshot: diagnostics must be an array");return e}function jm(e){let t=typeof e=="string"||e instanceof URL?String(e):e.url;try{let r=new URL(t);return r.username="",r.password="",r.searchParams.has("token")&&r.searchParams.set("token","[redacted]"),r.toString()}catch{return t}}function ja(e,t){return typeof e=="object"&&e!==null?e[t]:void 0}function aF(e){let t=ja(e,"cause"),r=new Set;for(;ja(t,"cause")&&!r.has(t);)r.add(t),t=ja(t,"cause");return t??e}function lF(e,t,r="GET"){let i=aF(e),s=String(ja(i,"code")??"").trim(),a=String(ja(i,"address")??"").trim(),u=String(ja(i,"port")??"").trim(),E=a&&u?`${a}:${u}`:a,I=i instanceof Error?i.message.trim():String(i??"").trim(),C=e instanceof Error?e.message.trim():String(e??"").trim(),y;return s==="ECONNREFUSED"?y=`connection refused${E?` by ${E}`:""}`:s==="ECONNRESET"?y="connection reset by the local service":s==="ETIMEDOUT"?y="connection timed out":s==="ENOTFOUND"?y="host name could not be resolved":I&&I!==C?y=I:y=C||"network request failed",`${r.toUpperCase()} ${jm(t)} failed: ${y}${s?` (${s})`:""}`}function gy(e){return e%1e3===0?`${e/1e3}s`:`${e}ms`}async function uF(e,t,r,i,s){let a=Number.isFinite(r)&&r>0?Math.max(1,Math.trunc(r)):1,u=new AbortController,E=t.signal,I=!1,C=!1,y=()=>u.abort(E?.reason);E?.aborted?y():E?.addEventListener("abort",y,{once:!0});let D=(async()=>{let G=await fetch(e,{...t,signal:u.signal});return C=!0,await s(G)})(),R,O=new Promise((G,ne)=>{R=setTimeout(()=>{I=!0;let oe=new Error(`request timed out after ${gy(a)}`);u.abort(oe),ne(oe)},a)});try{return await Promise.race([D,O])}catch(G){throw I?new Error(`${i.toUpperCase()} ${jm(e)} timed out after ${gy(a)}; the local Argus service did not respond`,{cause:G}):E?.aborted?E.reason instanceof Error?E.reason:new Error(`${i.toUpperCase()} ${jm(e)} was aborted`,{cause:G}):C&&ja(G,"cause")===void 0?G:new Error(lF(G,e,i),{cause:G})}finally{R&&clearTimeout(R),E?.removeEventListener("abort",y)}}function zA(e,t,r,i,s=t.method??"GET"){return uF(e,t,r,s,i)}function pF(e,t=gF()){let r=E=>E.includes("\\")||/^[A-Za-z]:[\\/]/.test(E),i=r(e)?Ym:dF,s=i.resolve(e),a=E=>i===Ym?E.toLowerCase():E,u=r(t)===(i===Ym)?a(i.resolve(t)):"";if(!(a(s)===u||a(s)===a(i.parse(s).root)))return s}function EF(e,t=""){let r=t.trim();return e===4401?{code:e,reason:r||"event stream authentication was rejected",retryable:!1}:e===4404?{code:e,reason:r||"the selected project no longer exists",retryable:!1}:{code:e,reason:r,retryable:!0}}function Vm(e){let t=e.item?.title||"new mission";return e.daemon?.admission_required?`\u2192 queued: choose one running session to park before starting ${t}`:e.daemon&&e.daemon.rc!==0?`\u2192 queued but not running: ${e.daemon.error||"background executor failed to start"}`:`\u2192 dispatched to the team: ${t}`}function dy(e){let t=[],r;for(;(r=e.indexOf(` +`)r.name="enter";else if(e===" ")r.name="tab";else if(e==="\b"||e==="\x1B\b")r.name="backspace",r.meta=e.charAt(0)==="\x1B";else if(e==="\x7F"||e==="\x1B\x7F")r.name="delete",r.meta=e.charAt(0)==="\x1B";else if(e==="\x1B"||e==="\x1B\x1B")r.name="escape",r.meta=e.length===2;else if(e===" "||e==="\x1B ")r.name="space",r.meta=e.length===2;else if(e.length===1&&e<="")r.name=String.fromCharCode(e.charCodeAt(0)+97-1),r.ctrl=!0;else if(e.length===1&&e>="0"&&e<="9")r.name="number";else if(e.length===1&&e>="a"&&e<="z")r.name=e;else if(e.length===1&&e>="A"&&e<="Z")r.name=e.toLowerCase(),r.shift=!0;else if(t=YR.exec(e))r.meta=!0,r.shift=/^[A-Z]$/.test(t[1]);else if(t=VR.exec(e)){let i=[...e];i[0]==="\x1B"&&i[1]==="\x1B"&&(r.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(""),a=(t[3]||t[5]||1)-1;r.ctrl=!!(a&4),r.meta=!!(a&10),r.shift=!!(a&1),r.code=s,r.name=oy[s],r.shift=qR(s)||r.shift,r.ctrl=zR(s)||r.ctrl}return r},sy=$R;var Ay=Me(jt(),1);var XR=()=>(0,Ay.useContext)(Nd),Ud=XR;var ZR=(e,t={})=>{let{stdin:r,setRawMode:i,internal_exitOnCtrlC:s,internal_eventEmitter:a}=Ud();(0,Gm.useEffect)(()=>{if(t.isActive!==!1)return i(!0),()=>{i(!1)}},[t.isActive,i]),(0,Gm.useEffect)(()=>{if(t.isActive===!1)return;let u=E=>{let I=sy(E),C={upArrow:I.name==="up",downArrow:I.name==="down",leftArrow:I.name==="left",rightArrow:I.name==="right",pageDown:I.name==="pagedown",pageUp:I.name==="pageup",return:I.name==="return",escape:I.name==="escape",ctrl:I.ctrl,shift:I.shift,tab:I.name==="tab",backspace:I.name==="backspace",delete:I.name==="delete",meta:I.meta||I.name==="escape"||I.option},y=I.ctrl?I.name:I.sequence;iy.includes(I.name)&&(y=""),y.startsWith("\x1B")&&(y=y.slice(1)),y.length===1&&typeof y[0]=="string"&&/[A-Z]/.test(y[0])&&(C.shift=!0),(!(y==="c"&&C.ctrl)||!s)&&Ja.batchedUpdates(()=>{e(y,C)})};return a?.on("input",u),()=>{a?.removeListener("input",u)}},[t.isActive,r,s,e])},rs=ZR;var ay=Me(jt(),1);var eF=()=>(0,ay.useContext)(kd),sA=eF;var ly=Me(jt(),1);var tF=()=>(0,ly.useContext)(Td),AA=tF;var rF=Me(jt(),1);var Hm=Me(jt(),1);var nF=Me(jt(),1);mm();import{randomUUID as Wd}from"node:crypto";import{homedir as gF}from"node:os";import{posix as dF,win32 as Ym}from"node:path";var Wm=class extends Error{status;method;path;constructor(t,r,i,s){super(t),this.name="ApiError",this.status=r,this.method=i,this.path=s}};function oF(e){let t=e.replace(/\s+/g," ").trim();if(!t)return"";try{let r=JSON.parse(e);for(let i of["detail","error","message"]){let s=r[i];if(typeof s=="string"&&s.trim())return s.trim();if(Array.isArray(s)){let a=s.map(u=>u&&typeof u=="object"?String(u.msg??""):"").filter(Boolean);if(a.length)return a.join("; ")}}}catch{}return t.startsWith("typeof D=="string"):[],u=Km(i?.major),E=Km(i?.minor);if(!r||!i||!s)return{compatible:!1,reason:"malformed /api/meta response"};if(typeof s.source_root!="string"||Km(s.pid)===null||typeof s.package_version!="string"||typeof s.release_id!="string")return{compatible:!1,reason:"malformed /api/meta runtime identity"};if(r.service!==sF)return{compatible:!1,reason:`unexpected service ${String(r.service||"unknown")}`};let I=e;if(i.name!==Su.name||u!==Su.major)return{compatible:!1,reason:`protocol ${String(i.name||"unknown")}/${String(u)} is incompatible with client ${Su.name}/${Su.major}`,meta:I};if(E===null||E!a.includes(D));if(C.length>0)return{compatible:!1,reason:`missing capabilities: ${C.join(", ")}`,meta:I};if(s.source_root_matches_config===!1)return{compatible:!1,reason:`backend loaded source ${String(s.source_root)} but ARGUS_SKILL_SOURCE_ROOT points to ${String(s.configured_source_root)}`,meta:I};if(s.release_id!==t.releaseId)return{compatible:!1,reason:`backend release ${String(s.release_id)} does not match client release ${t.releaseId}`,meta:I};if(t.sourceDigest){if(typeof s.runtime_source_digest!="string"||!s.runtime_source_digest)return{compatible:!1,reason:"backend process does not report the source digest required by this local checkout",meta:I};if(s.runtime_source_digest!==t.sourceDigest)return{compatible:!1,reason:`backend process source ${String(s.runtime_source_digest).slice(0,16)} does not match local source ${t.sourceDigest.slice(0,16)}`,meta:I}}return{compatible:!0,reason:"",warning:s.release_matches_source===!1?"backend source differs from its prebuilt release artifacts; pull a complete published revision and reinstall":void 0,meta:I}}function cy(e,t){let r=Jm(e);if(!r.compatible||!r.meta)throw new Error(`incompatible Argus API: ${r.reason}`);return r.warning&&t?.(r.warning),r.meta}function fy(e){let t=Bf(e),r=Bf(t?.daemon);if(!t||t.schema_version!==Hd)throw new Error(`incompatible snapshot schema: expected ${Hd}, got ${String(t?.schema_version??"missing")}`);if(!r)throw new Error("invalid snapshot: daemon section is missing");let s=["global_daily_cap_usd","read_status","read_error","protocol_compatible","protocol_error"].filter(E=>!Object.hasOwn(r,E));if(s.length>0)throw new Error(`invalid snapshot: daemon fields missing: ${s.join(", ")}`);let u=["spend_usd","spend_status","usage_summary","request_usage","cost_control","daemon_commands","observability","mission_view","partial","diagnostics"].filter(E=>!Object.hasOwn(t,E));if(u.length>0)throw new Error(`invalid snapshot: fields missing: ${u.join(", ")}`);if(!Array.isArray(t.diagnostics))throw new Error("invalid snapshot: diagnostics must be an array");return e}function jm(e){let t=typeof e=="string"||e instanceof URL?String(e):e.url;try{let r=new URL(t);return r.username="",r.password="",r.searchParams.has("token")&&r.searchParams.set("token","[redacted]"),r.toString()}catch{return t}}function ja(e,t){return typeof e=="object"&&e!==null?e[t]:void 0}function aF(e){let t=ja(e,"cause"),r=new Set;for(;ja(t,"cause")&&!r.has(t);)r.add(t),t=ja(t,"cause");return t??e}function lF(e,t,r="GET"){let i=aF(e),s=String(ja(i,"code")??"").trim(),a=String(ja(i,"address")??"").trim(),u=String(ja(i,"port")??"").trim(),E=a&&u?`${a}:${u}`:a,I=i instanceof Error?i.message.trim():String(i??"").trim(),C=e instanceof Error?e.message.trim():String(e??"").trim(),y;return s==="ECONNREFUSED"?y=`connection refused${E?` by ${E}`:""}`:s==="ECONNRESET"?y="connection reset by the local service":s==="ETIMEDOUT"?y="connection timed out":s==="ENOTFOUND"?y="host name could not be resolved":I&&I!==C?y=I:y=C||"network request failed",`${r.toUpperCase()} ${jm(t)} failed: ${y}${s?` (${s})`:""}`}function gy(e){return e%1e3===0?`${e/1e3}s`:`${e}ms`}async function uF(e,t,r,i,s){let a=Number.isFinite(r)&&r>0?Math.max(1,Math.trunc(r)):1,u=new AbortController,E=t.signal,I=!1,C=!1,y=()=>u.abort(E?.reason);E?.aborted?y():E?.addEventListener("abort",y,{once:!0});let D=(async()=>{let G=await fetch(e,{...t,signal:u.signal});return C=!0,await s(G)})(),R,O=new Promise((G,ne)=>{R=setTimeout(()=>{I=!0;let oe=new Error(`request timed out after ${gy(a)}`);u.abort(oe),ne(oe)},a)});try{return await Promise.race([D,O])}catch(G){throw I?new Error(`${i.toUpperCase()} ${jm(e)} timed out after ${gy(a)}; the local Argus service did not respond`,{cause:G}):E?.aborted?E.reason instanceof Error?E.reason:new Error(`${i.toUpperCase()} ${jm(e)} was aborted`,{cause:G}):C&&ja(G,"cause")===void 0?G:new Error(lF(G,e,i),{cause:G})}finally{R&&clearTimeout(R),E?.removeEventListener("abort",y)}}function zA(e,t,r,i,s=t.method??"GET"){return uF(e,t,r,s,i)}function pF(e,t=gF()){let r=E=>E.includes("\\")||/^[A-Za-z]:[\\/]/.test(E),i=r(e)?Ym:dF,s=i.resolve(e),a=E=>i===Ym?E.toLowerCase():E,u=r(t)===(i===Ym)?a(i.resolve(t)):"";if(!(a(s)===u||a(s)===a(i.parse(s).root)))return s}function EF(e,t=""){let r=t.trim();return e===4401?{code:e,reason:r||"event stream authentication was rejected",retryable:!1}:e===4404?{code:e,reason:r||"the selected project no longer exists",retryable:!1}:{code:e,reason:r,retryable:!0}}function Vm(e){let t=e.item?.title||"new mission";return e.daemon?.admission_required?`\u2192 queued: choose one running session to park before starting ${t}`:e.daemon&&e.daemon.rc!==0?`\u2192 queued but not running: ${e.daemon.error||"background executor failed to start"}`:`\u2192 dispatched to the team: ${t}`}function dy(e){let t=[],r;for(;(r=e.indexOf(` `))>=0;){let i=e.slice(0,r);e=e.slice(r+2);for(let s of i.split(` `)){let a=s.trim();if(a.startsWith("data:"))try{t.push(JSON.parse(a.slice(5).trim()))}catch{}}}return{frames:t,rest:e}}var ns=class{httpBase;wsBase;project;token;onCompatibilityWarning;metaTimeoutMs;readTimeoutMs;metaPromise;constructor(t){this.httpBase=`http://${t.host}:${t.port}`,this.wsBase=`ws://${t.host}:${t.port}`,this.project=t.project,this.token=t.token,this.onCompatibilityWarning=t.onCompatibilityWarning,this.metaTimeoutMs=t.metaTimeoutMs??8e3,this.readTimeoutMs=t.readTimeoutMs??12e3}authHeaders(){return this.token?{Authorization:`Bearer ${this.token}`}:{}}p(t){return`${this.httpBase}/api/projects/${encodeURIComponent(this.project)}${t}`}meta(){if(!this.metaPromise){let t="/api/meta",r=zA(`${this.httpBase}${t}`,{headers:this.authHeaders()},this.metaTimeoutMs,async i=>{if(i.status===404)throw new Error("incompatible Argus API: service does not expose /api/meta");return await co(i,"GET",t),cy(await i.json(),this.onCompatibilityWarning)});this.metaPromise=r,r.catch(()=>{this.metaPromise===r&&(this.metaPromise=void 0)})}return this.metaPromise}async listProjects(){return await this.meta(),zA(`${this.httpBase}/api/projects`,{headers:this.authHeaders()},this.readTimeoutMs,async t=>(await co(t,"GET","/api/projects"),(await t.json()).projects))}async createDaemon(t="",r="",i=process.cwd(),s,a=Wd()){let u="/api/daemons",E=pF(i),I={objective:t,name:r,launch_cwd:i,command_id:a,expected_revision:s};E&&(I.workdir=E);let C=JSON.stringify(I),y=()=>fetch(`${this.httpBase}${u}`,{method:"POST",headers:{"Content-Type":"application/json",Connection:"close",...this.authHeaders()},body:C}),D=await y();return D.status===400&&/Invalid HTTP request received/i.test(await D.clone().text())&&(D=await y()),await co(D,"POST",u),await D.json()}async replaceDaemon(t,r=!1,i,s=Wd()){return await this.post("/daemon/replace",{victim_sid:t,resume_continuous:r,command_id:s,expected_revision:i})}async scheduleDaemonUpgrade(t,r,i=Wd()){let s=`/api/projects/${encodeURIComponent(t)}/daemon/upgrade-schedule`,a=await fetch(`${this.httpBase}${s}`,{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify({command_id:i,expected_revision:r})});return await co(a,"POST",s),await a.json()}stopDaemon(t=Wd()){let r="/daemon/stop";return zA(this.p(r),{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify({force:!1,drain:!1,command_id:t})},this.readTimeoutMs,async i=>{await co(i,"POST",r);let s=await i.json(),a=Number(s.rc??0);if(!Number.isFinite(a)||![0,1].includes(a)){let u=String(s.error??s.message??`rc=${String(s.rc??"unknown")}`);throw new Error(`executor did not stop cleanly: ${u}`)}return s})}async setProjectLaunchCwd(t,r){let i=`/api/projects/${encodeURIComponent(t)}/launch-cwd`,s=await fetch(`${this.httpBase}${i}`,{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify({launch_cwd:r})});await co(s,"POST",i)}async setProjectWorkdir(t,r){let i=`/api/projects/${encodeURIComponent(t)}/workdir`,s=await fetch(`${this.httpBase}${i}`,{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify({workdir:r})});await co(s,"POST",i)}async renameProject(t){let r=this.p(""),i=await fetch(r,{method:"PATCH",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify({name:t})});return await co(i,"PATCH",r),await i.json()}async snapshot(t=1,r){return await this.meta(),zA(this.p(`/snapshot?compact=true&events_limit=${t}`),{headers:this.authHeaders(),signal:r},this.readTimeoutMs,async i=>(await co(i,"GET","/snapshot"),fy(await i.json())))}async postTask(t){let r=await fetch(this.p("/tasks"),{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify({text:t})});return await co(r,"POST","/tasks"),(await r.json()).item}async postNudge(t){let r=await fetch(this.p("/nudge"),{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify({text:t})});await co(r,"POST","/nudge")}async message(t,r){let i=await fetch(this.p("/message"),{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify({text:t}),signal:r});return await co(i,"POST","/message"),await i.json()}async messageStream(t,r,i){let s=await fetch(this.p("/message/stream"),{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify({text:t}),signal:i});if(await co(s,"POST","/message/stream"),!s.body)throw new Error("Manager stream returned no response body");let a=C=>{if(!i?.aborted)if(C.type==="phase"){let y=Number(C.quiet_s??0);r.onPhase?.(String(C.label??""),String(C.role??"manager"),{heartbeat:C.heartbeat===!0,quietS:Number.isFinite(y)?y:0,kind:String(C.kind??""),detail:String(C.detail??"")})}else C.type==="delta"?r.onDelta?.(String(C.text??""),String(C.message_id??""),String(C.fragment_mode??"auto")):C.type==="done"?r.onDone?.(C.result??{}):C.type==="error"&&r.onError?.(new Error(String(C.error??"stream error")))},u=s.body.getReader(),E=new TextDecoder,I="";for(;;){let{done:C,value:y}=await u.read();if(C)break;I+=E.decode(y,{stream:!0});let D=dy(I);I=D.rest,D.frames.forEach(a)}i?.aborted||dy(I+` diff --git a/frontend/web/dist/assets/ResearchWorkbenchPanel-BaphEhte.js b/frontend/web/dist/assets/ResearchWorkbenchPanel-BaphEhte.js new file mode 100644 index 000000000..47576ea24 --- /dev/null +++ b/frontend/web/dist/assets/ResearchWorkbenchPanel-BaphEhte.js @@ -0,0 +1,18 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-thuO7_2p.js","assets/index-D1Yz0LUk.js","assets/rolldown-runtime-hePW80VL.js","assets/icons-BgG77X6K.js","assets/query-DOc9YWJi.js","assets/markdown-BdostSiP.js","assets/index-BsbGxZOe.css"])))=>i.map(i=>d[i]); +import{r as e}from"./rolldown-runtime-hePW80VL.js";import{D as t,E as n}from"./icons-BgG77X6K.js";import{i as r,n as i,t as a}from"./query-DOc9YWJi.js";import{n as o,t as s}from"./markdown-BdostSiP.js";import{a as c,i as l,n as u,o as d,r as f,t as p}from"./index-D1Yz0LUk.js";var m=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),h=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),g={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},_=e(t()),v=(0,_.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,_.createElement)(`svg`,{ref:c,...g,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:h(`lucide`,i),...s},[...o.map(([e,t])=>(0,_.createElement)(e,t)),...Array.isArray(a)?a:[a]])),y=(e,t)=>{let n=(0,_.forwardRef)(({className:n,...r},i)=>(0,_.createElement)(v,{ref:i,iconNode:t,className:h(`lucide-${m(e)}`,n),...r}));return n.displayName=`${e}`,n},b=y(`Activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),x=y(`ArrowRight`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),S=y(`ArrowUp`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),C=y(`AudioLines`,[[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}],[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v7`,key:`3a1oy3`}],[`path`,{d:`M18 5v13`,key:`123xd1`}],[`path`,{d:`M22 10v3`,key:`154ddg`}]]),w=y(`BookOpen`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),T=y(`Calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),E=y(`Check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),D=y(`ChevronDown`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),ee=y(`ChevronRight`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),O=y(`CircleCheck`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),k=y(`Circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),A=y(`Clock3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`polyline`,{points:`12 6 12 12 16.5 12`,key:`1aq6pp`}]]),j=y(`CodeXml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),M=y(`Earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),N=y(`ExternalLink`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),te=y(`FileCheck2`,[[`path`,{d:`M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4`,key:`1pf5j1`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`m3 15 2 2 4-4`,key:`1lhrkk`}]]),P=y(`FileCode2`,[[`path`,{d:`M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4`,key:`1pf5j1`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`m5 12-3 3 3 3`,key:`oke12k`}],[`path`,{d:`m9 18 3-3-3-3`,key:`112psh`}]]),ne=y(`FileImage`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),re=y(`FileJson`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),F=y(`FileSearch2`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`circle`,{cx:`11.5`,cy:`14.5`,r:`2.5`,key:`1bq0ko`}],[`path`,{d:`M13.3 16.3 15 18`,key:`2quom7`}]]),ie=y(`FileSearch`,[[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3`,key:`ms7g94`}],[`path`,{d:`m9 18-1.5-1.5`,key:`1j6qii`}],[`circle`,{cx:`5`,cy:`14`,r:`3`,key:`ufru5t`}]]),I=y(`FileText`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),L=y(`FileUp`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]),ae=y(`File`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}]]),oe=y(`Files`,[[`path`,{d:`M20 7h-3a2 2 0 0 1-2-2V2`,key:`x099mo`}],[`path`,{d:`M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z`,key:`18t6ie`}],[`path`,{d:`M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8`,key:`1nja0z`}]]),se=y(`FlaskConical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),ce=y(`FolderKanban`,[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`,key:`1fr9dc`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M12 10v2`,key:`hh53o1`}],[`path`,{d:`M16 10v6`,key:`1d6xys`}]]),le=y(`FolderOpen`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),ue=y(`FolderSearch`,[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`,key:`1bw5m7`}],[`path`,{d:`m21 21-1.9-1.9`,key:`1g2n9r`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}]]),de=y(`Folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),fe=y(`Gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),pe=y(`GitBranch`,[[`line`,{x1:`6`,x2:`6`,y1:`3`,y2:`15`,key:`17qcm7`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M18 9a9 9 0 0 1-9 9`,key:`n2h4wq`}]]),me=y(`Github`,[[`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`,key:`tonef`}],[`path`,{d:`M9 18c-4.51 2-5-2-7-2`,key:`9comsn`}]]),he=y(`History`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),ge=y(`Image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),_e=y(`Inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),ve=y(`Lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),ye=y(`Link2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),be=y(`ListChecks`,[[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}],[`path`,{d:`M13 6h8`,key:`15sg57`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 18h8`,key:`oe0vm4`}]]),xe=y(`ListFilter`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M7 12h10`,key:`b7w52i`}],[`path`,{d:`M10 18h4`,key:`1ulq68`}]]),Se=y(`LoaderCircle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ce=y(`LockKeyhole`,[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]),we=y(`Megaphone`,[[`path`,{d:`m3 11 18-5v12L3 14v-3z`,key:`n962bs`}],[`path`,{d:`M11.6 16.8a3 3 0 1 1-5.8-1.6`,key:`1yl0tm`}]]),Te=y(`MessageSquareText`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}],[`path`,{d:`M13 8H7`,key:`14i4kc`}],[`path`,{d:`M17 12H7`,key:`16if0g`}]]),Ee=y(`MessagesSquare`,[[`path`,{d:`M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z`,key:`p1xzt8`}],[`path`,{d:`M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1`,key:`1cx29u`}]]),De=y(`PackageCheck`,[[`path`,{d:`m16 16 2 2 4-4`,key:`gfu2re`}],[`path`,{d:`M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14`,key:`e7tb2h`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`12`,key:`a4e8g8`}]]),Oe=y(`Paperclip`,[[`path`,{d:`M13.234 20.252 21 12.3`,key:`1cbrk9`}],[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486`,key:`1pkts6`}]]),ke=y(`Pause`,[[`rect`,{x:`14`,y:`4`,width:`4`,height:`16`,rx:`1`,key:`zuxfzm`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`16`,rx:`1`,key:`1okwgv`}]]),Ae=y(`Play`,[[`polygon`,{points:`6 3 20 12 6 21 6 3`,key:`1oa8hb`}]]),je=y(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Me=y(`Presentation`,[[`path`,{d:`M2 3h20`,key:`91anmk`}],[`path`,{d:`M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3`,key:`2k9sn8`}],[`path`,{d:`m7 21 5-5 5 5`,key:`bip4we`}]]),Ne=y(`Radio`,[[`path`,{d:`M4.9 19.1C1 15.2 1 8.8 4.9 4.9`,key:`1vaf9d`}],[`path`,{d:`M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5`,key:`u1ii0m`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5`,key:`1j5fej`}],[`path`,{d:`M19.1 4.9C23 8.8 23 15.1 19.1 19`,key:`10b0cb`}]]),Pe=y(`RefreshCw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),Fe=y(`RotateCcw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Ie=y(`Save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),Le=y(`Scale`,[[`path`,{d:`m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z`,key:`7g6ntu`}],[`path`,{d:`m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z`,key:`ijws7r`}],[`path`,{d:`M7 21h10`,key:`1b0cd5`}],[`path`,{d:`M12 3v18`,key:`108xh3`}],[`path`,{d:`M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2`,key:`3gwbw2`}]]),Re=y(`Search`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),ze=y(`Send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),Be=y(`Server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),R=y(`ShieldCheck`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),z=y(`Sparkles`,[[`path`,{d:`M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z`,key:`4pj2yx`}],[`path`,{d:`M20 3v4`,key:`1olli1`}],[`path`,{d:`M22 5h-4`,key:`1gvqau`}],[`path`,{d:`M4 17v2`,key:`vumght`}],[`path`,{d:`M5 18H3`,key:`zchphs`}]]),Ve=y(`SquareTerminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),He=y(`Square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),Ue=y(`Table2`,[[`path`,{d:`M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18`,key:`gugj83`}]]),We=y(`Target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),Ge=y(`TimerReset`,[[`path`,{d:`M10 2h4`,key:`n1abiw`}],[`path`,{d:`M12 14v-4`,key:`1evpnu`}],[`path`,{d:`M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6`,key:`1ts96g`}],[`path`,{d:`M9 17H4v5`,key:`8t5av`}]]),Ke=y(`Trash2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]),qe=y(`TriangleAlert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Je=y(`Upload`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`17 8 12 3 7 8`,key:`t8dd8p`}],[`line`,{x1:`12`,x2:`12`,y1:`3`,y2:`15`,key:`widbto`}]]),Ye=y(`UserRound`,[[`circle`,{cx:`12`,cy:`8`,r:`5`,key:`1hypcn`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`,key:`rfgkzh`}]]),Xe=y(`WandSparkles`,[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]]),Ze=y(`Watch`,[[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`polyline`,{points:`12 10 12 12 13 13`,key:`19dquz`}],[`path`,{d:`m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05`,key:`18k57s`}],[`path`,{d:`m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05`,key:`16ny36`}]]),Qe=y(`Workflow`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]),$e=y(`Wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z`,key:`cbrjhi`}]]),et=y(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),tt=12e3;function nt(e=!1){let t={...f()};return e&&(t[`Content-Type`]=`application/json`),t}async function B(e,t={}){await c();let n={...t,headers:{...nt(!!t.body),...t.headers??{}},cache:`no-store`},r=String(t.method??`GET`).toUpperCase(),i=async n=>{if(!n.ok){let r=await n.text().catch(()=>``),i=r;try{i=JSON.parse(r).detail??r}catch{}throw Error(i||`${t.method??`GET`} ${e} failed (${n.status})`)}return await n.json()};return r===`GET`?d(e,n,tt,i):i(await fetch(e,n))}var V=(e,t=``)=>`/api/projects/${encodeURIComponent(e)}${t}`,rt=()=>globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random()}`;function it(e){let t=e.replaceAll(`\r +`,` +`).split(` + +`),n=t.pop()??``,r=[];return t.forEach(e=>{e.split(` +`).forEach(e=>{if(e.startsWith(`data:`))try{let t=JSON.parse(e.slice(5).trim());r.push(t)}catch{}})}),{frames:r,rest:n}}function at(e,t){let n=String(e.type??``);if(n===`phase`)t.onPhase?.(String(e.label??``),String(e.role??`manager`),String(e.detail??``),e.heartbeat===!0);else if(n===`delta`)t.onDelta?.(String(e.text??``),String(e.fragment_mode??`auto`));else if(n===`done`){let n=e.result??{};return t.onDone?.(n),n}else if(n===`error`)throw Error(String(e.error??`Manager stream failed`));return null}var H={projects:e=>B(`/api/projects`,{signal:e}),snapshot:(e,t)=>B(V(e,`/snapshot?events_limit=40&compact=false`),{signal:t}),status:(e,t)=>B(V(e,`/status`),{signal:t}),events:(e,t=180,n)=>B(V(e,`/events?limit=${t}&view=ui`),{signal:n}).then(e=>e.events),transcript:(e,t=100,n)=>B(V(e,`/transcript?n=${t}`),{signal:n}).then(e=>e.turns),journal:(e,t=80,n)=>B(V(e,`/journal?n=${t}`),{signal:n}).then(e=>e.journal),artifacts:(e,t)=>B(V(e,`/artifacts`),{signal:t}).then(e=>e.artifacts),artifact:(e,t,n)=>B(V(e,`/artifact?${new URLSearchParams({path:t})}`),{signal:n}),artifactBlob:async(e,t,n=!1,r)=>{await c();let i=new URLSearchParams({path:t});n&&i.set(`download`,`true`);let a=V(e,`/artifact/raw?${i}`);return d(a,{headers:nt(),signal:r,cache:`no-store`},tt,async e=>{if(!e.ok)throw Error(`Artifact unavailable (${e.status})`);return e.blob()})},gitDiff:(e,t)=>B(V(e,`/git-diff`),{signal:t}),rewritePrompt:(e,t,n)=>B(V(e,`/prompt/rewrite`),{method:`POST`,body:JSON.stringify({text:t}),signal:n}),note:(e,t)=>B(V(e,`/note`),{method:`POST`,body:JSON.stringify({text:t})}),uploadAttachments:async(e,t,n)=>{await c();let r=new FormData;t.forEach(e=>r.append(`files`,e,e.name));let i=await fetch(V(e,`/attachments`),{method:`POST`,headers:nt(),body:r,signal:n});if(!i.ok)throw Error(await i.text()||`attachment upload failed (${i.status})`);return await i.json()},createDaemon:(e,t=``,n=``)=>B(`/api/daemons`,{method:`POST`,body:JSON.stringify({objective:e,name:t,workdir:n,command_id:rt()})}),createFinalReview:(e,t)=>B(V(e,`/reviews/final`),{method:`POST`,body:JSON.stringify(t)}),startDaemon:(e,t)=>B(V(e,`/daemon/start`),{method:`POST`,body:JSON.stringify({command_id:rt(),expected_revision:t})}),stopDaemon:(e,t,n)=>B(V(e,`/daemon/stop`),{method:`POST`,body:JSON.stringify({drain:t,command_id:rt(),expected_revision:n})}),async messageStream(e,t,n={},r,i=[]){await c();let a=V(e,`/message/stream`),o=await fetch(a,{method:`POST`,headers:nt(!0),body:JSON.stringify(i.length?{text:t,attachments:i}:{text:t}),signal:r});if(!o.ok){let e=await o.text().catch(()=>``);throw Error(e||`Manager request failed (${o.status})`)}if(!o.body)throw Error(`Manager returned an empty stream`);let s=o.body.getReader(),l=new TextDecoder,u=``,d={};for(;;){let e=await s.read();if(e.done)break;u+=l.decode(e.value,{stream:!0});let t=it(u);u=t.rest,t.frames.forEach(e=>{let t=at(e,n);t&&(d=t)})}return it(`${u}\n\n`).frames.forEach(e=>{let t=at(e,n);t&&(d=t)}),d}};function ot(e,t,n){let r=!1,i=null,a,o=800,s=()=>{if(r)return;let c=window.location.protocol===`https:`?`wss:`:`ws:`,u=new URLSearchParams({replay:`40`,view:`ui`}),d=l();d&&u.set(`token`,d),i=new WebSocket(`${c}//${window.location.host}${V(e,`/stream`)}?${u}`),i.onopen=()=>{o=800,n(!0)},i.onmessage=e=>{try{t(JSON.parse(String(e.data)))}catch{}},i.onerror=()=>i?.close(),i.onclose=e=>{n(!1),!(r||e.code===4401||e.code===4404)&&(a=window.setTimeout(s,o),o=Math.min(o*1.7,8e3))}};return s(),{close:()=>{r=!0,a&&window.clearTimeout(a),i?.close()}}}function U(...e){return e.filter(Boolean).join(` `)}function st(e){let t=Math.max(0,Math.floor(Number(e??0)));if(t<60)return`${t}s`;let n=Math.floor(t/86400),r=Math.floor(t%86400/3600),i=Math.floor(t%3600/60);return n?`${n}d ${r}h`:r?`${r}h ${i}m`:`${i}m`}function W(e){return e?new Date(e*1e3).toLocaleTimeString(`zh-CN`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}):`—`}function ct(e){return e?new Date(e*1e3).toLocaleString(`zh-CN`,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1}):`—`}function lt(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function G(e){let t=String(e??``).toLowerCase();return/failed|error|blocked|rejected|stalled|dead|abort/.test(t)?`danger`:/warn|waiting|paused|hold|queued|pending|continue/.test(t)?`warn`:/done|complete|completed|accepted|healthy|success|passed/.test(t)?`success`:/run|active|work|claimed|progress|live/.test(t)?`live`:/research|plan|info|ready/.test(t)?`info`:`neutral`}function ut(e){let t=String(e.agent_layer??e.actor??``).toLowerCase();if(t===`main`||t.startsWith(`engineer`))return`engineer`;if(t.startsWith(`review`))return`reviewer`;if(t.startsWith(`plan`))return`planner`;if(t.startsWith(`manager`))return`manager`;let n=String(e.type??``);return/review/.test(n)?`reviewer`:/planner/.test(n)?`planner`:/manager/.test(n)?`manager`:/engineer|round/.test(n)?`engineer`:`system`}function K(e){let t=String(e.action_summary??``).trim();if(t)return t;let n=String(e.title??``).trim();if(n)return n;let r=String(e.kind??``).trim();return r?r.replaceAll(`_`,` `):String(e.type??`event`).split(`.`).slice(-2).join(` · `).replaceAll(`_`,` `)}function q(e,t=400){let n=String(e.text??e.reason??e.summary??e.detail??``).trim();return n?n.length>t?`${n.slice(0,t)}…`:n:``}function dt(e,t,n){return t?n===`snapshot`?t:n===`append`?`${e}${t}`:t.startsWith(e)?t:e.endsWith(t)?e:e?`${e}\n${t}`:t:e}var J=n();function Y({children:e,tone:t=`neutral`,dot:n=!1,className:r}){return(0,J.jsxs)(`span`,{className:U(`badge`,`badge--${t}`,r),children:[n?(0,J.jsx)(`span`,{className:U(`badge__dot`,t===`live`&&`is-pulsing`)}):null,e]})}function ft({title:e,eyebrow:t,action:n,children:r,className:i,bodyClassName:a}){return(0,J.jsxs)(`section`,{className:U(`panel`,i),children:[e||t||n?(0,J.jsxs)(`header`,{className:`panel__header`,children:[(0,J.jsxs)(`div`,{className:`panel__heading`,children:[t?(0,J.jsx)(`div`,{className:`eyebrow`,children:t}):null,e?(0,J.jsx)(`div`,{className:`panel__title`,children:e}):null]}),n?(0,J.jsx)(`div`,{className:`panel__action`,children:n}):null]}):null,(0,J.jsx)(`div`,{className:U(`panel__body`,a),children:r})]})}function X({icon:e=ae,title:t,description:n,action:r}){return(0,J.jsxs)(`div`,{className:`empty-state`,children:[(0,J.jsx)(`span`,{className:`empty-state__icon`,children:(0,J.jsx)(e,{size:19})}),(0,J.jsx)(`div`,{className:`empty-state__title`,children:t}),n?(0,J.jsx)(`p`,{children:n}):null,r?(0,J.jsx)(`div`,{className:`empty-state__action`,children:r}):null]})}function pt({label:e=`加载中`}){return(0,J.jsxs)(`span`,{className:`spinner`,role:`status`,children:[(0,J.jsx)(Se,{size:15,className:`spin`}),` `,e]})}function Z({children:e,className:t}){return(0,J.jsx)(`div`,{className:U(`markdown`,t),children:(0,J.jsx)(o,{remarkPlugins:[s],components:{a:({href:e,children:t})=>(0,J.jsxs)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,children:[t,(0,J.jsx)(N,{size:11})]})},children:e})})}function mt({events:e,limit:t=24,empty:n=`还没有可展示的实时事件`,dense:r=!1}){let i=e.slice(-t).reverse();return i.length?(0,J.jsx)(`div`,{className:U(`event-list`,r&&`event-list--dense`),children:i.map((e,t)=>{let n=ut(e),i=K(e),a=q(e,r?180:480),o=G(String(e.status??e.kind??e.type??``));return(0,J.jsxs)(`article`,{className:`event-row`,children:[(0,J.jsx)(`div`,{className:U(`event-row__marker`,`event-row__marker--${o}`)}),(0,J.jsxs)(`div`,{className:`event-row__content`,children:[(0,J.jsxs)(`div`,{className:`event-row__meta`,children:[(0,J.jsx)(`span`,{className:U(`role-label`,`role-label--${n}`),children:n}),(0,J.jsx)(`time`,{children:W(e.ts)})]}),(0,J.jsx)(`div`,{className:`event-row__title`,children:i}),a?(0,J.jsx)(`div`,{className:`event-row__detail`,children:a}):null]})]},`${e.type}-${e.ts}-${e.message_id??t}`)})}):(0,J.jsx)(X,{icon:Ne,title:n})}function ht(e){return`${e}-${(0,_.useId)().replaceAll(`:`,``)}`}function gt({size:e=28,className:t=``}){let n=ht(`argus-mark`);return(0,J.jsxs)(`svg`,{className:t,viewBox:`0 0 512 512`,role:`img`,"aria-label":`Argus`,style:{width:e,height:e},children:[(0,J.jsx)(`defs`,{children:(0,J.jsxs)(`linearGradient`,{id:n,gradientUnits:`userSpaceOnUse`,x1:`66`,y1:`0`,x2:`440`,y2:`0`,children:[(0,J.jsx)(`stop`,{offset:`0%`,stopColor:`#075fe4`}),(0,J.jsx)(`stop`,{offset:`100%`,stopColor:`#d99a16`})]})}),(0,J.jsx)(`path`,{d:`M352 112q0-30 30-30h28q30 0 30 30v320h-88v-52q-46 62-129 62Q66 442 66 266T228 88q80 0 124 56v-32ZM140 266q46-80 102-80t110 80q-54 80-110 80t-102-80Z`,fill:`url(#${n})`,fillRule:`evenodd`}),(0,J.jsx)(`path`,{d:`M286 266A42 42 0 1 0 202 266A42 42 0 1 0 286 266ZM274 248A12 12 0 1 0 250 248A12 12 0 1 0 274 248Z`,fill:`url(#${n})`,fillRule:`evenodd`})]})}function _t(e,t){let[n,r]=(0,_.useState)(!1),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(`manager`),[c,l]=(0,_.useState)([]),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(null),[m,h]=(0,_.useState)(``),g=(0,_.useRef)(null);return(0,_.useEffect)(()=>()=>g.current?.abort(),[]),(0,_.useEffect)(()=>{g.current?.abort(),g.current=null,r(!1),a(``),l([]),d(``),p(null),h(``)},[e]),{busy:n,phase:i,phaseRole:o,phases:c,output:u,result:f,error:m,run:async(i,o=[])=>{if(!e||!i.trim()||n)return null;g.current?.abort();let c=new AbortController;g.current=c,r(!0),a(`正在连接 Manager`),s(`manager`),l([]),d(``),p(null),h(``);try{let n=[];o.length&&(a(`正在上传附件`),n=(await H.uploadAttachments(e,o,c.signal)).attachments.map(e=>({attachment_id:e.attachment_id})));let r=await H.messageStream(e,i.trim(),{onPhase:(e,t)=>{let n=e||`Argus 正在处理`,r=t||`manager`;a(n),s(r),l(e=>e.at(-1)?.label===n?e:[...e,{label:n,role:r,at:Date.now()}].slice(-8))},onDelta:(e,t)=>{d(n=>dt(n,e,t))},onDone:e=>{p(e),e.reply&&d(t=>dt(t,e.reply??``,`snapshot`))}},c.signal,n);return p(r),r.reply&&d(e=>dt(e,r.reply??``,`snapshot`)),await t?.(),r}catch(e){return c.signal.aborted||h(e instanceof Error?e.message:String(e)),null}finally{g.current===c&&(g.current=null,r(!1),a(``))}},cancel:()=>{g.current?.abort(),g.current=null,r(!1),a(``)},clear:()=>{d(``),p(null),h(``)}}}function Q(){let{locale:e}=u();return{locale:e,text:(0,_.useCallback)((t,n)=>e===`zh-CN`?t:n,[e])}}var vt=[[`总结当前研究进展、最强证据和最大风险`,`Summarize current progress, strongest evidence, and biggest risk`],[`Reviewer 最近要求补充什么?`,`What did the Reviewer most recently request?`],[`下一步最小且最有信息量的实验是什么?`,`What is the smallest, most informative next experiment?`]];function yt({events:e,roles:t,connected:n}){let{text:r}=Q(),i=(0,_.useMemo)(()=>e.filter(e=>{let t=String(e.type??``);return![`ui.operator`,`ui.argus`].includes(t)&&String(e.kind??``)!==`reasoning`&&!t.startsWith(`provider.`)}).slice(-100).reverse(),[e]),[a,o]=(0,_.useState)(`all`),[s,c]=(0,_.useState)(``),l=[`manager`,`planner`,`engineer`,`reviewer`],u=i.filter(e=>{let t=String(e.kind??``),n=q(e,800);return a===`commands`?t===`command_execution`:a===`files`?t===`file_change`||/^(read|write|edit):/i.test(n):a!==`review`||ut(e)===`reviewer`||/review/i.test(String(e.type??``))}),d=i[0],f=e=>String(e.kind??``)===`command_execution`?Ve:ut(e)===`reviewer`?R:/^(read|write|edit):/i.test(q(e,120))?P:$e;return(0,J.jsxs)(`div`,{className:`copilot-trace copilot-trace-v2`,children:[(0,J.jsxs)(`div`,{className:`copilot-trace__header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`ARGUS TEAM`}),(0,J.jsx)(`strong`,{children:r(`谁正在做什么`,`Who is doing what`)})]}),(0,J.jsx)(Y,{tone:n?`live`:`warn`,dot:!0,children:n?`Live`:`Polling`})]}),(0,J.jsx)(`div`,{className:`team-pipeline`,children:l.map((e,n)=>{let r=t.find(t=>t.role===e),a=i.filter(t=>ut(t)===e).length;return(0,J.jsxs)(`div`,{className:r?.active?`is-active`:r?.status===`done`?`is-done`:``,children:[(0,J.jsx)(`span`,{className:`role-orb role-orb--${e}`}),` `,(0,J.jsx)(`strong`,{children:e}),(0,J.jsxs)(`small`,{children:[r?.active?r.label:r?.status||`waiting`,` · `,a]}),n(0,J.jsx)(`button`,{type:`button`,className:a===e?`is-active`:``,onClick:()=>o(e),children:t},e))]}),(0,J.jsxs)(`div`,{className:`visual-activity-timeline`,children:[u.slice(0,40).map((e,t)=>{let n=f(e),r=`${e.ts}-${t}`,i=s===r;return(0,J.jsxs)(`button`,{type:`button`,className:i?`is-open`:``,onClick:()=>c(i?``:r),children:[(0,J.jsx)(`span`,{className:`activity-icon activity-icon--${ut(e)}`,children:(0,J.jsx)(n,{size:13})}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:K(e)}),(0,J.jsx)(`time`,{children:W(e.ts)})]}),(0,J.jsx)(`p`,{children:q(e,i?1500:120)||String(e.type??``)}),i?(0,J.jsx)(`code`,{children:JSON.stringify(e,null,2)}):null]})]},r)}),u.length?null:(0,J.jsx)(`p`,{className:`activity-empty`,children:r(`当前筛选下没有事件`,`No events match this filter`)})]})]})}function bt({draft:e,busy:t,result:n,error:r,onOptimize:i,onApply:a,onClose:o}){let{text:s}=Q(),c=(0,_.useRef)(null),l=(0,_.useRef)(o);return l.current=o,(0,_.useEffect)(()=>{let e=document.activeElement,t=requestAnimationFrame(()=>c.current?.querySelector(`button, textarea, input`)?.focus()),n=e=>{if(e.key===`Escape`){e.preventDefault(),l.current();return}if(e.key!==`Tab`||!c.current)return;let t=[...c.current.querySelectorAll(`button:not(:disabled), textarea:not(:disabled), input:not(:disabled), [tabindex]:not([tabindex="-1"])`)];if(!t.length)return;let n=t[0],r=t.at(-1);e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())};return window.addEventListener(`keydown`,n),()=>{cancelAnimationFrame(t),window.removeEventListener(`keydown`,n),requestAnimationFrame(()=>e?.focus())}},[]),(0,J.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,onMouseDown:e=>e.target===e.currentTarget&&o(),children:(0,J.jsxs)(`section`,{ref:c,className:`prompt-optimizer`,role:`dialog`,"aria-modal":`true`,"aria-label":s(`优化 Prompt`,`Optimize prompt`),children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`PROMPT OPTIMIZER`}),(0,J.jsx)(`h2`,{children:s(`发送前优化 Prompt`,`Optimize before sending`)}),(0,J.jsx)(`p`,{children:s(`Manager 只重写和补全约束,不会在这一步创建任务。`,`The Manager only rewrites and completes constraints; it does not create a task here.`)})]}),(0,J.jsx)(`button`,{className:`icon-button`,type:`button`,onClick:o,"aria-label":s(`关闭`,`Close`),children:(0,J.jsx)(et,{size:16})})]}),(0,J.jsxs)(`div`,{className:`prompt-optimizer__compare`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{children:s(`原始 Prompt`,`Original prompt`)}),(0,J.jsx)(`pre`,{children:e})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{children:s(`优化结果`,`Optimized prompt`)}),t?(0,J.jsxs)(`div`,{className:`optimizer-thinking`,children:[(0,J.jsx)(z,{size:18}),` `,s(`Manager 正在理解目标与约束…`,`Manager is interpreting the goal and constraints…`)]}):n?.rewritten?(0,J.jsx)(`pre`,{children:n.rewritten}):(0,J.jsx)(X,{icon:Xe,title:s(`等待优化`,`Ready to optimize`),description:s(`点击下方按钮生成可执行但不擅自扩张范围的 Prompt。`,`Generate an actionable prompt without expanding its scope.`)})]})]}),n?.changes.length?(0,J.jsxs)(`div`,{className:`optimizer-changes`,children:[(0,J.jsx)(`strong`,{children:s(`主要改动`,`Main changes`)}),n.changes.map(e=>(0,J.jsxs)(`span`,{children:[(0,J.jsx)(E,{size:12}),e]},e))]}):null,n?.questions.length?(0,J.jsxs)(`div`,{className:`optimizer-questions`,children:[(0,J.jsx)(`strong`,{children:s(`发送前仍需确认`,`Confirm before sending`)}),n.questions.map(e=>(0,J.jsxs)(`p`,{children:[`· `,e]},e))]}):null,r?(0,J.jsx)(`div`,{className:`inline-error`,children:r}):null,(0,J.jsxs)(`footer`,{children:[(0,J.jsx)(`button`,{className:`button button--secondary`,type:`button`,onClick:o,children:s(`保留原文`,`Keep original`)}),n?.rewritten?(0,J.jsx)(`button`,{className:`button button--primary`,type:`button`,onClick:()=>a(n.rewritten),children:s(`使用优化结果`,`Use optimized prompt`)}):(0,J.jsxs)(`button`,{className:`button button--primary`,type:`button`,disabled:t||!e.trim(),onClick:i,children:[(0,J.jsx)(Xe,{size:14}),s(`开始优化`,`Optimize`)]})]})]})})}function xt(e){let{text:t}=Q(),[n,r]=(0,_.useState)(``),[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)(``),m=(0,_.useRef)(null),h=(0,_.useRef)(null),g=_t(e.sid,e.refresh),v=e.snapshot.pending_questions??e.status?.pending_questions??[];(0,_.useEffect)(()=>{let e=requestAnimationFrame(()=>{h.current&&(h.current.scrollTop=h.current.scrollHeight)});return()=>cancelAnimationFrame(e)},[g.output,g.phase,e.transcript.length]);let y=async(e=n)=>{let t=e.trim();if(!t||g.busy)return;let o=i;r(``),a([]),d(null),await g.run(t,o)},b=async()=>{if(n.trim()){l(!0),p(``),d(null);try{d(await H.rewritePrompt(e.sid,n))}catch(e){p(e instanceof Error?e.message:String(e))}finally{l(!1)}}};return(0,J.jsxs)(`div`,{className:`ros-page copilot-v2`,children:[(0,J.jsxs)(`header`,{className:`ros-page-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`eyebrow`,children:`RESEARCH COPILOT`}),(0,J.jsx)(`h1`,{children:t(`与 Argus 对话`,`Chat with Argus`)}),(0,J.jsx)(`p`,{children:t(`普通问题由 Manager 回答;复杂研究目标会进入 Planner → Engineer ⇄ Reviewer。`,`The Manager answers ordinary questions; complex goals enter Planner → Engineer ⇄ Reviewer.`)})]}),(0,J.jsx)(Y,{tone:e.connected?`live`:`warn`,dot:!0,children:e.connected?t(`实时连接`,`Live`):t(`重新连接中`,`Reconnecting`)})]}),v.length?(0,J.jsxs)(`div`,{className:`pending-question-banner`,children:[(0,J.jsx)(z,{size:16}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:t(`Argus 正在等待你的确认`,`Argus is waiting for your confirmation`)}),(0,J.jsx)(`p`,{children:String(v[0]?.question||v[0]?.title||t(`请查看待确认问题`,`Review the pending question`))})]}),(0,J.jsx)(`button`,{className:`button button--secondary`,type:`button`,onClick:()=>r(t(`关于待确认问题:${String(v[0]?.question||``)}\n我的回答是:`,`Regarding the pending question: ${String(v[0]?.question||``)}\nMy answer is: `)),children:t(`回复`,`Reply`)})]}):null,(0,J.jsxs)(`div`,{className:`copilot-v2__layout`,children:[(0,J.jsxs)(`main`,{className:`copilot-v2__thread`,children:[(0,J.jsxs)(`div`,{ref:h,className:`copilot-v2__messages`,children:[e.transcript.length?null:(0,J.jsxs)(`div`,{className:`copilot-empty`,children:[(0,J.jsx)(gt,{size:48}),(0,J.jsx)(`h2`,{children:t(`从当前项目上下文开始`,`Start from the current project context`)}),(0,J.jsx)(`p`,{children:t(`Argus 已经知道任务、代码、Reviewer 反馈和现有证据。`,`Argus already knows the task, code, reviewer feedback, and available evidence.`)}),(0,J.jsx)(`div`,{children:vt.map(([e,n])=>{let i=t(e,n);return(0,J.jsx)(`button`,{type:`button`,onClick:()=>r(i),children:i},i)})})]}),e.transcript.map((e,n)=>e.role===`operator`?(0,J.jsxs)(`article`,{className:`message message--user`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:t(`你`,`You`)}),(0,J.jsx)(`time`,{children:W(e.ts)})]}),(0,J.jsx)(Z,{children:e.text})]},`${e.ts}-${n}`):(0,J.jsxs)(`article`,{className:`message message--argus`,children:[(0,J.jsx)(gt,{size:28}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`strong`,{children:`Argus`}),(0,J.jsx)(`time`,{children:W(e.ts)})]}),(0,J.jsx)(Z,{children:e.text})]})]},`${e.ts}-${n}`)),g.busy||g.output||g.error?(0,J.jsxs)(`article`,{className:`message message--argus message--stream`,children:[(0,J.jsx)(gt,{size:28}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`strong`,{children:`Argus`}),g.busy?(0,J.jsx)(Y,{tone:`live`,dot:!0,children:g.phase||t(`思考中`,`Thinking`)}):g.result?.kind?(0,J.jsx)(Y,{tone:`info`,children:g.result.kind}):null]}),g.phases.length?(0,J.jsx)(`ol`,{className:`phase-trail`,children:g.phases.map((e,t)=>(0,J.jsxs)(`li`,{className:t===g.phases.length-1&&g.busy?`is-active`:``,children:[(0,J.jsx)(`span`,{children:t===g.phases.length-1&&g.busy?`●`:`✓`}),e.label]},`${e.at}-${t}`))}):null,g.output?(0,J.jsx)(Z,{children:g.output}):null,g.error?(0,J.jsx)(`div`,{className:`inline-error`,children:g.error}):null]})]}):null]}),(0,J.jsxs)(`div`,{className:`copilot-composer-dock`,children:[i.length?(0,J.jsx)(`div`,{className:`attachment-chips`,children:i.map((e,t)=>(0,J.jsxs)(`span`,{children:[(0,J.jsx)(L,{size:13}),e.name,(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(e=>e.filter((e,n)=>n!==t)),children:(0,J.jsx)(et,{size:12})})]},`${e.name}-${t}`))}):null,(0,J.jsxs)(`div`,{className:`copilot-composer`,children:[(0,J.jsx)(`input`,{ref:m,type:`file`,multiple:!0,hidden:!0,onChange:e=>a(Array.from(e.target.files??[]))}),(0,J.jsx)(`button`,{className:`composer-tool`,type:`button`,onClick:()=>m.current?.click(),"aria-label":t(`添加附件`,`Attach files`),children:(0,J.jsx)(Oe,{size:17})}),(0,J.jsx)(`textarea`,{rows:1,value:n,onChange:e=>r(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),y())},placeholder:t(`询问研究问题,或给 Argus 一个需要执行的目标…`,`Ask a research question or give Argus an executable goal…`)}),(0,J.jsxs)(`button`,{className:`optimize-button`,type:`button`,disabled:!n.trim()||g.busy,onClick:()=>{s(!0),d(null)},title:`Ctrl/⌘ + R`,children:[(0,J.jsx)(Xe,{size:15}),t(`优化 Prompt`,`Optimize prompt`)]}),g.busy?(0,J.jsx)(`button`,{className:`send-button is-stop`,type:`button`,onClick:g.cancel,"aria-label":t(`停止等待`,`Stop waiting`),children:(0,J.jsx)(He,{size:14})}):(0,J.jsx)(`button`,{className:`send-button`,type:`button`,disabled:!n.trim(),onClick:()=>void y(),"aria-label":t(`发送`,`Send`),children:(0,J.jsx)(S,{size:17})})]}),(0,J.jsx)(`small`,{children:t(`Enter 发送 · Shift + Enter 换行 · 优化 Prompt 不会直接执行`,`Enter to send · Shift + Enter for a new line · Prompt optimization does not execute`)})]})]}),(0,J.jsx)(`aside`,{className:`copilot-v2__aside`,children:(0,J.jsx)(yt,{events:e.events,roles:e.snapshot.roles,connected:e.connected})})]}),o?(0,J.jsx)(bt,{draft:n,busy:c,result:u,error:f,onOptimize:()=>void b(),onApply:e=>{r(e),s(!1)},onClose:()=>s(!1)}):null]})}var St=new Set([`done`,`completed`,`accepted`,`success`]),Ct=new Set([`running`,`in_progress`,`claimed`,`active`,`working`]);function wt(e){if(!e.length)return null;let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2);return t.length%2?t[n]:(t[n-1]+t[n])/2}function Tt(e){return[...e].reverse().find(e=>{let t=String(e.kind??``),n=String(e.type??``);return t!==`reasoning`&&!n.startsWith(`provider.`)&&![`ui.operator`,`ui.argus`].includes(n)})??null}function Et(e){return e.backlog.find(e=>Ct.has(e.status))??e.backlog.find(e=>e.status===`pending`)??e.backlog.at(-1)??null}function Dt(e,t,n=Date.now()/1e3,r=`zh-CN`){let i=(e,t)=>r===`zh-CN`?e:t,a=e.mission_view,o=a?.dag?.length?a.dag:e.backlog,s=o.length,c=o.filter(e=>St.has(e.status)).length,l=o.filter(e=>/pending|queued|waiting/.test(e.status)).length,u=Et(e),d=a?.active_role||e.roles.find(e=>e.active)?.role||``,f=u?.started_ts||a?.mission.started_at||e.daemon.uptime_seconds&&n-e.daemon.uptime_seconds||n,p=t.filter(e=>Number(e.ts??0)>=Number(f||0)),m=Tt(p),h=String(a?.mission.status??``).toLowerCase(),g=[`complete`,`completed`,`done`].includes(h),_=[`incomplete`,`failed`,`blocked`,`aborted`,`stopped`,`cancelled`].includes(h),v=g||!_&&!!(s&&c===s),y=!e.daemon.alive,b=u?.finished_ts||a?.mission.completed_at||(y?Number(m?.ts??f):null),x=Math.max(0,Number(b??n)-Number(f||n)),S=!!(u&&Ct.has(u.status)&&e.daemon.alive),C=p.filter(e=>String(e.kind??``)===`command_execution`).length,w=p.filter(e=>/^(read|write|edit):/i.test(q(e,80))||String(e.kind??``)===`file_change`).length,T=!!a?.role_work?.some(e=>e.role===`engineer`&&/handoff|main completed/i.test(`${e.kind} ${e.title}`)&&e.ts>=Number(f||0)),E=p.some(e=>/review.*started/i.test(String(e.type??``))),D=p.some(e=>/review.*completed/i.test(String(e.type??``))),ee=!!(u&&/failed|blocked|error/.test(u.status)),O=!!(a?.review?.status&&/replan|blocked|rejected|continue/.test(a.review.status)),k=0;u&&St.has(u.status)?k=1:u&&Ct.has(u.status)&&e.daemon.alive&&(k=.14,(C||w)&&(k=Math.min(.58,.27+Math.log2(1+C+w)*.055)),T&&(k=.7),(E||d===`reviewer`)&&(k=.8),D&&(k=.93));let A=v?1:_&&s&&c===s?.95:s?c/s:0,j=u&&o.some(e=>e.id===u.id)&&S&&!O,M=v?1:O?A:s?Math.min(1,(c+(j?k:0))/s):null,N=s?Math.max(.05,Math.min(.18,.45/s)):0,te=v?[1,1]:O?[A,A]:M==null?null:[Math.max(A,M-N*.45),Math.min(.99,Math.max(M,M+N))],P=e.backlog.map(e=>e.started_ts&&e.finished_ts?e.finished_ts-e.started_ts:0).filter(e=>e>=5&&e<=604800),ne=wt(P),re=null,F=``;if(v)F=i(`项目已完成,ETA 不适用`,`Project complete; ETA does not apply`);else if(y)F=i(`Daemon 已停止,ETA 暂停更新`,`Daemon stopped; ETA updates are paused`);else if(!S)F=i(`当前没有执行中的任务,ETA 暂不可用`,`No active task; ETA is unavailable`);else if(O)F=i(`Reviewer 正在改变任务范围,ETA 暂不可用`,`Reviewer is changing scope; ETA is unavailable`);else if(!ne)F=i(`同类已完成任务不足,正在建立 ETA 基线`,`Not enough completed tasks to establish an ETA baseline`);else if(!s||M==null)F=i(`任务图尚未稳定,暂不估算 ETA`,`Task graph is not stable enough for an ETA`);else{let e=Math.max(0,s-c-(j?k:0))*ne;re={minSeconds:Math.max(60,e*.68),maxSeconds:Math.max(180,e*(P.length>=3?1.45:1.75)),basis:i(`${P.length} 个已完成任务的中位耗时`,`Median duration of ${P.length} completed tasks`)}}let ie=s>=4&&P.length>=3?`high`:s>=2&&P.length>=1?`medium`:`low`,I=e.roles.find(e=>e.role===`planner`)?.status===`done`||!!u,L=[{id:`plan`,label:i(`规划任务`,`Plan task`),detail:I?i(`Planner 已形成当前任务`,`Planner created the current task`):i(`等待 Planner`,`Waiting for Planner`),status:I?`done`:d===`planner`?`active`:`pending`},{id:`start`,label:i(`启动执行`,`Start execution`),detail:u?.started_ts?i(`任务已领取并启动`,`Task claimed and started`):i(`等待执行`,`Waiting to execute`),status:u?.started_ts?`done`:u?.status===`pending`?`pending`:ee?`blocked`:`active`},{id:`work`,label:i(`运行与产物`,`Execution and artifacts`),detail:i(`${C} 条命令 · ${w} 次文件动作`,`${C} commands · ${w} file actions`),status:T?`done`:C||w?`active`:ee?`blocked`:`pending`},{id:`handoff`,label:i(`Engineer 交接`,`Engineer handoff`),detail:T?i(`已提交 Reviewer`,`Submitted to Reviewer`):i(`等待可审查产物`,`Waiting for reviewable artifacts`),status:T||d===`reviewer`?`done`:`pending`},{id:`review`,label:i(`Reviewer 认证`,`Reviewer certification`),detail:D?i(`本轮审查已完成`,`Round review complete`):E||d===`reviewer`?i(`Reviewer 正在检查`,`Reviewer is checking`):i(`等待审查`,`Waiting for review`),status:D?`done`:E||d===`reviewer`?`active`:ee?`blocked`:`pending`}];return v?L=L.map(e=>({...e,status:`done`,detail:e.status===`done`?e.detail:i(`项目已完成`,`Project complete`)})):O?L=L.map(e=>e.status===`done`?e:{...e,status:`blocked`,detail:i(`等待 Reviewer 重新规划任务范围`,`Waiting for Reviewer to replan scope`)}):y&&(L=L.map(e=>e.status===`active`?{...e,status:`blocked`,detail:i(`Daemon 已停止`,`Daemon stopped`)}:e)),{confirmed:A,estimate:M,range:te,confidence:ie,basis:O?i(`Reviewer 正在重新规划,仅显示确定完成部分`,`Reviewer is replanning; only confirmed completion is shown`):s?i(`任务状态 + 事件里程碑(试验估算)`,`Task state + event milestones (experimental estimate)`):i(`任务图尚未建立`,`Task graph not established`),currentTask:u?.title||a?.mission.title||i(`等待新任务`,`Waiting for a new task`),currentRole:y?`stopped`:d||ut(m??{})||`idle`,currentStep:v?i(`项目已完成`,`Project complete`):O?i(`Reviewer 要求重新规划 · ${a?.review?.status||`replan`}`,`Reviewer requested replanning · ${a?.review?.status||`replan`}`):y?i(`已停止 · 最后执行到 ${m?K(m):u?.status||`未知步骤`}`,`Stopped · last step: ${m?K(m):u?.status||`unknown`}`):m?K(m):u?.status||i(`等待事件`,`Waiting for events`),currentDetail:m?q(m,700):u?.objective||``,elapsedSeconds:x,eta:re,etaUnavailableReason:F,checkpoints:L,completedTasks:c,totalTasks:s,pendingTasks:l,currentFraction:O?0:k}}var Ot=new Set([`done`,`completed`,`accepted`,`success`]),kt=new Set([`running`,`in_progress`,`claimed`,`active`,`working`]),At=[`manager`,`planner`,`engineer`,`reviewer`],jt=[[`scope`,`研究定义`,`Scope`],[`research`,`文献与假设`,`Literature`],[`implementation`,`方法实现`,`Implementation`],[`experiment`,`实验验证`,`Experiments`],[`analysis`,`结果分析`,`Analysis`],[`writing`,`论文写作`,`Writing`],[`review`,`最终审稿`,`Final review`]];function Mt(e){let t=e.toLowerCase();return/review|delivery/.test(t)?6:/writ|draft|paper/.test(t)?5:/analy|select/.test(t)?4:/experiment|pilot|run|eval/.test(t)?3:/implement|build|engineer/.test(t)?2:+!!/research|literature|idea/.test(t)}function Nt(e){return e==null?`—`:`${Math.round(e*100)}%`}function Pt(e,t,n,r){let i=t=>new Date((e+t)*1e3).toLocaleTimeString(r,{hour:`2-digit`,minute:`2-digit`,hour12:!1});return`${i(t)}–${i(n)}`}function Ft(e){let{locale:t,text:n}=Q(),[r,i]=(0,_.useState)(()=>Date.now()/1e3),[a,o]=(0,_.useState)(``);(0,_.useEffect)(()=>{let e=window.setInterval(()=>i(Date.now()/1e3),1e3);return()=>clearInterval(e)},[]);let s=(0,_.useMemo)(()=>Dt(e.snapshot,e.events,r,t),[t,r,e.events,e.snapshot]),c=e.snapshot.mission_view,l=c?.dag?.length?c.dag:e.snapshot.backlog.map(e=>({id:e.id,title:e.title,objective:e.objective,status:e.status,deps:e.deps??[],branch_id:e.id,parent_branch_id:``})),u=l.find(e=>kt.has(e.status))??l.find(e=>/pending|queued/.test(e.status))??l.at(-1),d=l.find(e=>e.id===a)??u,f=Mt(c?.stage.id||c?.stage.label||`scope`),p=Math.round(s.confirmed*100),m=Math.round((s.range?.[0]??s.confirmed)*100),h=Math.round((s.range?.[1]??s.confirmed)*100),g=Math.round((s.estimate??s.confirmed)*100),v=e.snapshot.daemon.health?.state||(e.snapshot.daemon.alive?`active`:`stopped`),y=c?.review?.status&&!Ot.has(c.review.status)?c.review:null,x=e.events.filter(e=>String(e.kind??``)!==`reasoning`&&!String(e.type??``).startsWith(`provider.`)),S=async t=>{let r=t?n(`确认完成当前步骤后停止 Argus?`,`Stop Argus after the current step finishes?`):n(`确认立即停止 Argus?当前步骤可能被中断。`,`Stop Argus now? The current step may be interrupted.`);confirm(r)&&await e.controls.stop(t)};return(0,J.jsxs)(`div`,{className:`ros-page experiment-v3`,children:[(0,J.jsxs)(`header`,{className:`ros-page-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`eyebrow`,children:`EXPERIMENT PROGRESS`}),(0,J.jsx)(`h1`,{children:n(`实验进程`,`Experiment progress`)}),(0,J.jsx)(`p`,{children:n(`重点展示当前步骤、可信完成区间和 ETA;所有估算都会标明依据与置信度。`,`Track the current step, credible completion range, and ETA with explicit evidence and confidence.`)})]}),(0,J.jsxs)(`div`,{className:`experiment-header-actions`,children:[(0,J.jsxs)(`button`,{className:`button button--secondary`,type:`button`,onClick:()=>void e.refresh(),children:[(0,J.jsx)(Pe,{size:14}),n(`刷新`,`Refresh`)]}),e.snapshot.daemon.control_available===!1?null:e.snapshot.daemon.alive?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{className:`button button--secondary`,type:`button`,disabled:e.controls.busy,onClick:()=>void S(!0),children:[(0,J.jsx)(ke,{size:14}),n(`当前步后停止`,`Stop after step`)]}),(0,J.jsxs)(`button`,{className:`button button--danger`,type:`button`,disabled:e.controls.busy,onClick:()=>void S(!1),children:[(0,J.jsx)(He,{size:13}),n(`立即停止`,`Stop now`)]})]}):(0,J.jsxs)(`button`,{className:`button button--primary`,type:`button`,disabled:e.controls.busy,onClick:()=>void e.controls.start(),children:[(0,J.jsx)(Ae,{size:14}),n(`继续运行`,`Resume`)]})]})]}),(0,J.jsxs)(`section`,{className:`experiment-progress-hero`,children:[(0,J.jsxs)(`div`,{className:`progress-hero-main`,children:[(0,J.jsxs)(`div`,{className:`progress-live-line`,children:[(0,J.jsx)(Y,{tone:e.snapshot.daemon.alive?`live`:`neutral`,dot:!0,children:e.snapshot.daemon.alive?`ARGUS RUNNING`:`ARGUS STOPPED`}),(0,J.jsx)(`span`,{children:c?.stage.label||c?.stage.id||n(`未分阶段`,`Unstaged`)}),(0,J.jsx)(`span`,{children:s.currentRole})]}),(0,J.jsx)(`h2`,{children:s.currentTask}),(0,J.jsxs)(`div`,{className:`current-step-callout`,children:[(0,J.jsx)(`span`,{children:(0,J.jsx)(b,{size:17})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`small`,{children:e.snapshot.daemon.alive?n(`当前正在进行`,`In progress`):n(`最后执行位置`,`Last execution point`)}),(0,J.jsx)(`strong`,{children:s.currentStep}),s.currentDetail?(0,J.jsx)(`code`,{children:s.currentDetail}):null]})]})]}),(0,J.jsxs)(`div`,{className:`progress-number`,children:[(0,J.jsx)(`span`,{children:n(`试验估算`,`Experimental estimate`)}),(0,J.jsx)(`strong`,{children:Nt(s.estimate)}),(0,J.jsxs)(`small`,{children:[n(`可信区间`,`Credible range`),` `,m,`–`,h,`%`]})]}),(0,J.jsxs)(`div`,{className:`truthful-progress`,"aria-label":n(`预计完成 ${g}%`,`Estimated completion ${g}%`),children:[(0,J.jsxs)(`div`,{className:`truthful-progress__track`,children:[(0,J.jsx)(`span`,{className:`confirmed`,style:{width:`${p}%`}}),(0,J.jsx)(`span`,{className:`estimated-range`,style:{left:`${m}%`,width:`${Math.max(1,h-m)}%`}}),(0,J.jsx)(`i`,{style:{left:`${g}%`}})]}),(0,J.jsxs)(`div`,{className:`truthful-progress__legend`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`b`,{className:`confirmed-dot`}),n(`确定完成`,`Confirmed`),` `,p,`%`]}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`b`,{className:`range-dot`}),n(`估计范围`,`Estimated range`),` `,m,`–`,h,`%`]}),(0,J.jsx)(`span`,{children:s.basis})]})]}),(0,J.jsxs)(`div`,{className:`progress-metrics`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(A,{size:15}),n(`当前任务已运行`,`Current task elapsed`)]}),(0,J.jsx)(`strong`,{children:st(s.elapsedSeconds)}),(0,J.jsx)(`small`,{children:n(`从任务领取开始`,`Since task claim`)})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(Ge,{size:15}),n(`预计剩余`,`Estimated remaining`)]}),(0,J.jsx)(`strong`,{children:s.eta?`${st(s.eta.minSeconds)}–${st(s.eta.maxSeconds)}`:n(`暂不可用`,`Unavailable`)}),(0,J.jsx)(`small`,{children:s.eta?Pt(r,s.eta.minSeconds,s.eta.maxSeconds,t):s.etaUnavailableReason})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(fe,{size:15}),n(`估算置信度`,`Estimate confidence`)]}),(0,J.jsx)(`strong`,{className:`confidence-${s.confidence}`,children:s.confidence===`high`?n(`高`,`High`):s.confidence===`medium`?n(`中`,`Medium`):n(`低`,`Low`)}),(0,J.jsx)(`small`,{children:s.eta?.basis||n(`需要更多历史任务`,`More task history is needed`)})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(Qe,{size:15}),n(`任务路线`,`Task route`)]}),(0,J.jsxs)(`strong`,{children:[s.completedTasks,` / `,s.totalTasks||`—`]}),(0,J.jsxs)(`small`,{children:[s.pendingTasks,` pending · `,n(`当前步骤`,`current step`),` `,Math.round(s.currentFraction*100),`%`]})]})]})]}),(0,J.jsx)(`section`,{className:`research-stage-rail`,children:jt.map(([e,t,r],i)=>(0,J.jsxs)(`div`,{className:i(0,J.jsxs)(`button`,{type:`button`,className:d?.id===e.id?`is-active`:``,onClick:()=>o(e.id),children:[(0,J.jsx)(`span`,{className:`task-state task-state--${G(e.status)}`,children:Ot.has(e.status)?(0,J.jsx)(E,{size:12}):kt.has(e.status)?(0,J.jsx)(b,{size:12}):(0,J.jsx)(k,{size:9})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.title||e.objective||e.id}),(0,J.jsxs)(`small`,{children:[e.status,e.deps.length?` · after ${e.deps.length}`:``]})]})]},e.id)):(0,J.jsx)(X,{icon:Qe,title:n(`尚无任务路线`,`No task route yet`)})})]}),(0,J.jsxs)(`main`,{className:`experiment-v3-center`,children:[(0,J.jsxs)(`section`,{className:`ros-card checkpoint-card`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`CURRENT CHECKPOINTS`}),(0,J.jsx)(`h2`,{children:n(`当前任务走到哪一步`,`Current task checkpoints`)})]}),(0,J.jsxs)(Y,{tone:`info`,children:[Math.round(s.currentFraction*100),`%`]})]}),(0,J.jsx)(`div`,{className:`checkpoint-list`,children:s.checkpoints.map((e,t)=>(0,J.jsxs)(`div`,{className:`checkpoint checkpoint--${e.status}`,children:[(0,J.jsx)(`span`,{children:e.status===`done`?(0,J.jsx)(E,{size:13}):e.status===`active`?(0,J.jsx)(b,{size:13}):e.status===`blocked`?(0,J.jsx)(qe,{size:13}):t+1}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.label}),(0,J.jsx)(`p`,{children:e.detail})]}),t{let n=e.snapshot.roles.find(e=>e.role===t);return(0,J.jsxs)(`article`,{className:n?.active?`is-active`:``,children:[(0,J.jsx)(`span`,{className:`role-dot role-dot--${t}`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:t}),(0,J.jsx)(`p`,{children:n?.label||`waiting`}),(0,J.jsxs)(`small`,{children:[n?.model||`—`,` · `,n?.status||`idle`]})]}),n?.active?(0,J.jsx)(Y,{tone:`live`,dot:!0,children:`active`}):(0,J.jsx)(Y,{tone:G(n?.status),children:n?.status||`idle`})]},t)})})]}),(0,J.jsxs)(`section`,{className:`ros-card estimate-note`,children:[(0,J.jsx)(`header`,{children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`ESTIMATE HEALTH`}),(0,J.jsx)(`h2`,{children:n(`估算与风险`,`Estimate and risk`)})]})}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`p`,{children:[(0,J.jsx)(`strong`,{children:n(`估算说明`,`Estimate note`)}),n(`当前百分比是任务状态与事件里程碑的试验估算,不是 Argus 后端声明的精确进度。`,`The percentage is an experimental estimate derived from task state and event milestones, not an exact backend claim.`)]}),y?(0,J.jsxs)(`div`,{className:`estimate-risk`,children:[(0,J.jsx)(qe,{size:15}),(0,J.jsxs)(`span`,{children:[(0,J.jsxs)(`strong`,{children:[`Reviewer · `,y.status]}),y.reason||n(`任务范围可能变化,ETA 已暂停。`,`Scope may change, so ETA is paused.`)]})]}):(0,J.jsxs)(`div`,{className:`estimate-ok`,children:[(0,J.jsx)(R,{size:15}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:n(`当前估算可用`,`Estimate available`)}),v,` · `,n(`最近进度`,`last progress`),` `,st(e.snapshot.daemon.health?.seconds_since_progress)]})]}),e.controls.error?(0,J.jsx)(`div`,{className:`inline-error`,children:e.controls.error}):null]})]})]})]})]})}async function It(e,t,n){let r=new URLSearchParams(t),i=await fetch(`${e}?${r}`,{headers:nt(),signal:n,cache:`no-store`});if(!i.ok){let t=await i.json().catch(()=>({}));throw Error(t.detail||t.error||`${e} failed (${i.status})`)}return i.json()}var Lt=(e,t)=>({sid:e,workspace_id:t}),$={profiles:(e,t)=>It(`/api/v2/workspaces`,{sid:e},t),tree:(e,t,n)=>It(`/api/v2/workspace/tree`,Lt(e,t),n),file:(e,t,n,r)=>It(`/api/v2/workspace/file`,{...Lt(e,t),path:n},r),git:(e,t,n)=>It(`/api/v2/workspace/git`,Lt(e,t),n),literature:(e,t,n)=>It(`/api/v2/workspace/literature`,Lt(e,t),n),rawUrl:(e,t,n)=>`/api/v2/workspace/raw?${new URLSearchParams({...Lt(e,t),path:n})}`,rawBlob:async(e,t,n,r)=>{let i=await fetch(`/api/v2/workspace/raw?${new URLSearchParams({...Lt(e,t),path:n})}`,{headers:nt(),signal:r,cache:`no-store`});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.detail||`raw preview failed (${i.status})`)}return i.blob()}};function Rt(e){let t=new Set([`.tex`,`.bib`,`.pdf`]),n=new Set([`.png`,`.jpg`,`.jpeg`,`.webp`,`.svg`,`.csv`,`.tsv`]);return e.filter(e=>e.type===`file`).filter(e=>{let r=e.path.toLowerCase(),i=/(?:^|\/)(paper|papers|manuscript|latex|technical_report|submission|camera_ready|figures|tables)(?:\/|$)/.test(r);return t.has(e.extension)?i||e.extension===`.tex`||e.extension===`.bib`:e.extension===`.md`?!/(?:^|\/)(evidence|runs?|logs?|cache)(?:\/|$)/.test(r)&&i&&/draft|paper|report|manuscript|section|related|abstract|method|experiment|conclusion|template/.test(r):i&&n.has(e.extension)}).sort((e,t)=>t.mtime-e.mtime)}function zt(e){let t=new Map;e.forEach(e=>t.set(e.path,{...e,children:[]}));let n=[];t.forEach(e=>{let r=e.path.lastIndexOf(`/`),i=r>=0?e.path.slice(0,r):``,a=i?t.get(i):null;a?a.children.push(e):n.push(e)});let r=e=>{e.sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1),e.forEach(e=>r(e.children))};return r(n),n}function Bt(e,t,n){let[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(``);return(0,_.useEffect)(()=>{if(i(``),o(``),!e||!t||!n)return;let r=new AbortController,a=``;return $.rawBlob(e,t,n,r.signal).then(e=>{a=URL.createObjectURL(e),i(a)},e=>{r.signal.aborted||o(e.message)}),()=>{r.abort(),a&&URL.revokeObjectURL(a)}},[n,e,t]),{url:r,error:a}}function Vt(e,t){let n=i({queryKey:[`workspace-profiles`,e],queryFn:({signal:t})=>$.profiles(e,t),staleTime:1e4}),r=`argus-v2-workspace-profile:${t}:${e}`,[a,o]=(0,_.useState)(()=>localStorage.getItem(r)||``),s=(0,_.useMemo)(()=>{let e=n.data?.profiles??[];return e.find(e=>e.id===a)??e.find(e=>e.id===n.data?.default_id)??e.find(e=>e.canonical)??e[0]??null},[n.data,a]);return(0,_.useEffect)(()=>{s&&s.id!==a&&o(s.id)},[s,a]),{profiles:n,active:s,workspaceId:s?.id??``,setWorkspaceId:e=>{o(e),localStorage.setItem(r,e)}}}function Ht({node:e,depth:t,selected:n,expanded:r,onToggle:i,onSelect:a}){let o=e.type===`directory`,s=r.has(e.path);return(0,J.jsxs)(`div`,{className:`workspace-node`,children:[(0,J.jsxs)(`button`,{type:`button`,className:n===e.path?`is-selected`:``,style:{paddingLeft:7+t*13},onClick:()=>o?i(e.path):a(e.path),children:[o?s?(0,J.jsx)(D,{size:13}):(0,J.jsx)(ee,{size:13}):(0,J.jsx)(`span`,{className:`node-spacer`}),o?(0,J.jsx)(de,{size:14}):(0,J.jsx)(P,{size:14}),(0,J.jsx)(`span`,{children:e.name}),e.skipped?(0,J.jsx)(`small`,{children:`restricted`}):null]}),o&&s?e.children.map(e=>(0,J.jsx)(Ht,{node:e,depth:t+1,selected:n,expanded:r,onToggle:i,onSelect:a},e.path)):null]})}function Ut({sid:e,workspaceId:t,path:n}){let{text:r}=Q(),a=n.toLowerCase().slice(n.lastIndexOf(`.`)),o=[`.pdf`,`.png`,`.jpg`,`.jpeg`,`.webp`,`.svg`].includes(a),s=i({queryKey:[`workspace-file`,e,t,n],queryFn:({signal:r})=>$.file(e,t,n,r),enabled:!!(n&&t&&!o),refetchInterval:5e3}),c=Bt(o?e:``,o?t:``,o?n:``);if(!n)return(0,J.jsx)(X,{icon:ae,title:r(`打开一个文件开始阅读`,`Open a file to start reading`),description:r(`左侧文件树直接映射已批准的服务器工作区。`,`The file tree maps the approved server workspace.`)});if(o)return c.error?(0,J.jsx)(X,{icon:Ce,title:`Preview unavailable`,description:c.error}):c.url?a===`.pdf`?(0,J.jsx)(`embed`,{className:`workspace-pdf`,src:c.url,type:`application/pdf`}):(0,J.jsx)(`img`,{className:`workspace-image`,src:c.url,alt:n}):(0,J.jsx)(`div`,{className:`editor-loading`,children:`Loading preview…`});if(s.isLoading)return(0,J.jsxs)(`div`,{className:`editor-loading`,children:[`Opening `,n,`…`]});if(s.isError)return(0,J.jsx)(X,{icon:Ce,title:`Preview unavailable`,description:s.error.message});let l=(s.data?.content??``).split(` +`);return(0,J.jsxs)(`div`,{className:`vscode-code`,children:[(0,J.jsx)(`div`,{className:`vscode-line-numbers`,children:l.map((e,t)=>(0,J.jsx)(`span`,{children:t+1},t))}),(0,J.jsx)(`pre`,{children:(0,J.jsx)(`code`,{children:s.data?.content})})]})}function Wt(e){let{text:t}=Q(),n=Vt(e.sid,`ide`),r=n.workspaceId,a=n.active?.path||``,[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(new Set),[u,d]=(0,_.useState)(`files`),[f,p]=(0,_.useState)(`repository`),m=i({queryKey:[`workspace-tree`,e.sid,r],queryFn:({signal:t})=>$.tree(e.sid,r,t),enabled:!!r,refetchInterval:8e3}),h=i({queryKey:[`workspace-git`,e.sid,r],queryFn:({signal:t})=>$.git(e.sid,r,t),enabled:!!r,refetchInterval:8e3}),g=(0,_.useMemo)(()=>zt(m.data?.entries??[]),[m.data?.entries]);(0,_.useEffect)(()=>{s(``),l(new Set)},[r]),(0,_.useEffect)(()=>{g.length&&c.size===0&&l(new Set(g.filter(e=>e.type===`directory`).slice(0,5).map(e=>e.path)))},[c.size,g]);let v=e.events.filter(e=>[`command_execution`,`tool_use`,`tool_result`,`file_change`].includes(String(e.kind??``))).slice(-100),y=(h.data?.status??``).split(` +`).filter(Boolean),b=(h.data?.log??``).split(` +`).filter(Boolean).map(e=>{let[t,n,r,...i]=e.split(` `);return{hash:t,date:n,author:r,subject:i.join(` `)}}),x=h.data;return(0,J.jsxs)(`div`,{className:`ros-page ide-v3`,children:[(0,J.jsxs)(`header`,{className:`ros-page-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`eyebrow`,children:`AI IDE`}),(0,J.jsx)(`h1`,{children:t(`服务器代码工作区`,`Server code workspace`)}),(0,J.jsx)(`p`,{children:t(`接近 VS Code 的只读工作台:文件浏览、源码阅读、Git/GitHub 就绪状态和 Argus 终端轨迹。`,`A read-only VS Code-style workspace for files, source, Git/GitHub readiness, and Argus terminal activity.`)})]}),(0,J.jsxs)(Y,{tone:`info`,children:[(0,J.jsx)(Ce,{size:12}),t(`只读安全模式`,`Read-only safe mode`)]})]}),(0,J.jsxs)(`div`,{className:`ide-context-strip`,children:[(0,J.jsx)(Be,{size:15}),(0,J.jsx)(`select`,{"aria-label":t(`选择已批准工作区`,`Select approved workspace`),value:r,onChange:e=>n.setWorkspaceId(e.target.value),children:n.profiles.data?.profiles.map(e=>(0,J.jsx)(`option`,{value:e.id,children:e.label},e.id))}),(0,J.jsx)(`code`,{children:a}),m.isError?(0,J.jsx)(Y,{tone:`danger`,children:t(`连接失败`,`Connection failed`)}):m.isFetching?(0,J.jsx)(Y,{tone:`live`,dot:!0,children:t(`同步中`,`Syncing`)}):(0,J.jsxs)(Y,{tone:`success`,children:[(0,J.jsx)(O,{size:11}),`Synced`]}),(0,J.jsxs)(`small`,{children:[m.data?.entries.length??0,` entries`]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>{m.refetch(),h.refetch()},"aria-label":t(`刷新工作区`,`Refresh workspace`),children:(0,J.jsx)(Pe,{size:14})})]}),(0,J.jsxs)(`div`,{className:`vscode-shell`,children:[(0,J.jsxs)(`nav`,{className:`vscode-activitybar`,children:[(0,J.jsx)(`button`,{type:`button`,className:u===`files`?`is-active`:``,onClick:()=>d(`files`),title:`Explorer`,"aria-label":`Explorer`,children:(0,J.jsx)(oe,{size:21})}),(0,J.jsxs)(`button`,{type:`button`,className:u===`git`?`is-active`:``,onClick:()=>d(`git`),title:`Source Control`,"aria-label":`Source Control`,children:[(0,J.jsx)(pe,{size:21}),y.length?(0,J.jsx)(`i`,{children:y.length}):null]})]}),(0,J.jsxs)(`aside`,{className:`vscode-sidebar`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`span`,{children:u===`git`?`SOURCE CONTROL`:`EXPLORER`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>void m.refetch(),"aria-label":t(`刷新文件树`,`Refresh file tree`),children:(0,J.jsx)(Pe,{size:14})})]}),u===`files`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`vscode-root`,children:[(0,J.jsx)(D,{size:13}),(0,J.jsx)(`strong`,{children:a.split(`/`).at(-1)||a})]}),(0,J.jsx)(`div`,{className:`workspace-tree`,children:m.isError?(0,J.jsx)(X,{icon:Be,title:t(`目录连接失败`,`Directory connection failed`),description:m.error.message}):g.map(e=>(0,J.jsx)(Ht,{node:e,depth:0,selected:o,expanded:c,onToggle:e=>l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),onSelect:s},e.path))})]}):(0,J.jsx)(`div`,{className:`vscode-changes`,children:y.length?y.map(e=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{let t=e.slice(3).trim(),n=t.includes(` -> `)?t.split(` -> `).at(-1):t;n.endsWith(`/`)||s(n)},children:[(0,J.jsx)(`b`,{children:e.slice(0,2).trim()||`?`}),(0,J.jsx)(`span`,{children:e.slice(3)})]},e)):(0,J.jsx)(`p`,{children:`No changes`})})]}),(0,J.jsxs)(`main`,{className:`vscode-editor`,children:[(0,J.jsx)(`div`,{className:`vscode-tabs`,children:(0,J.jsxs)(`button`,{type:`button`,className:`is-active`,children:[(0,J.jsx)(j,{size:13}),o||`Welcome`]})}),(0,J.jsx)(`div`,{className:`vscode-breadcrumbs`,children:o?o.split(`/`).map((e,t)=>(0,J.jsxs)(`span`,{children:[e,tp(`changes`),children:`Changes`}),(0,J.jsx)(`button`,{type:`button`,className:f===`timeline`?`is-active`:``,onClick:()=>p(`timeline`),children:`Timeline`}),(0,J.jsx)(`button`,{type:`button`,className:f===`repository`?`is-active`:``,onClick:()=>p(`repository`),children:`Repository`})]}),(0,J.jsx)(`div`,{className:`vscode-git-content`,children:x?.available?f===`changes`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`pre`,{className:`vscode-status`,children:x.status||`Working tree clean`}),x.diff?(0,J.jsx)(`pre`,{className:`vscode-diff`,children:x.diff}):null]}):f===`timeline`?(0,J.jsx)(`div`,{className:`vscode-commits`,children:b.map(e=>(0,J.jsxs)(`article`,{children:[(0,J.jsx)(pe,{size:13}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.subject}),(0,J.jsxs)(`small`,{children:[e.author,` · `,e.date?.slice(0,10)]})]})]},e.hash))}):(0,J.jsxs)(`div`,{className:`repository-readiness`,children:[(0,J.jsx)(`h3`,{children:`Repository readiness`}),(0,J.jsxs)(`dl`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`dt`,{children:[(0,J.jsx)(pe,{size:13}),`Remote`]}),(0,J.jsx)(`dd`,{children:x.remotes.length?x.remotes.map(e=>`${e.name}: ${e.fetch}`).join(` +`):`Not configured`}),(0,J.jsx)(`i`,{className:x.remotes.length?`ok`:`missing`,children:x.remotes.length?(0,J.jsx)(E,{size:12}):(0,J.jsx)(et,{size:12})})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`dt`,{children:[(0,J.jsx)(pe,{size:13}),`Upstream`]}),(0,J.jsxs)(`dd`,{children:[x.upstream||`Not configured`,x.upstream?` · ahead ${x.ahead}, behind ${x.behind}`:``]}),(0,J.jsx)(`i`,{className:x.upstream?`ok`:`missing`,children:x.upstream?(0,J.jsx)(E,{size:12}):(0,J.jsx)(et,{size:12})})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`dt`,{children:[(0,J.jsx)(Ye,{size:13}),`Commit identity`]}),(0,J.jsx)(`dd`,{children:x.identity.name&&x.identity.email?`${x.identity.name} <${x.identity.email}>`:`Not configured`}),(0,J.jsx)(`i`,{className:x.identity.valid?`ok`:`missing`,children:x.identity.valid?(0,J.jsx)(E,{size:12}):(0,J.jsx)(et,{size:12})})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`dt`,{children:[(0,J.jsx)(me,{size:13}),`GitHub CLI`]}),(0,J.jsx)(`dd`,{children:x.github.authenticated?`${x.github.login} · ${x.github.protocol}`:`Not authenticated`}),(0,J.jsx)(`i`,{className:x.github.authenticated?`ok`:`missing`,children:x.github.authenticated?(0,J.jsx)(E,{size:12}):(0,J.jsx)(et,{size:12})})]})]}),(0,J.jsx)(`p`,{children:x.publish_ready?`Repository is ready for an explicitly approved push.`:`Configure the missing items before publishing. No credentials are shown in this UI.`})]}):(0,J.jsx)(X,{icon:pe,title:`Not a Git repository`})})]}),(0,J.jsxs)(`section`,{className:`vscode-terminal`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`strong`,{children:`ARGUS ACTIVITY`}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(Ve,{size:13}),`read-only`]})]}),(0,J.jsx)(`div`,{children:v.length?v.map((e,t)=>(0,J.jsxs)(`article`,{children:[(0,J.jsx)(`time`,{children:W(e.ts)}),(0,J.jsx)(`b`,{className:`terminal-role terminal-role--${ut(e)}`,children:ut(e)}),(0,J.jsx)(`span`,{children:`›`}),(0,J.jsx)(`code`,{children:q(e,800)||K(e)})]},`${e.ts}-${t}`)):(0,J.jsx)(`p`,{children:`$ waiting for Argus activity`})})]}),(0,J.jsxs)(`footer`,{className:`vscode-statusbar`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(pe,{size:12}),x?.branch||`no branch`]}),(0,J.jsx)(`span`,{children:m.isError?`Workspace error`:m.isFetching?`Workspace syncing`:m.data?.truncated?`Tree truncated`:`Workspace synced`}),(0,J.jsx)(`span`,{children:x?.github.authenticated?`GitHub: ${x.github.login}`:`GitHub: offline`}),(0,J.jsx)(`span`,{children:`UTF-8`}),(0,J.jsx)(`span`,{children:o.split(`.`).at(-1)?.toUpperCase()||`Plain Text`})]})]})]})}var Gt=2e5,Kt=5,qt=e=>`argus-v2-inbox:${e}`,Jt=e=>{try{let t=JSON.parse(localStorage.getItem(qt(e))??`[]`);return Array.isArray(t)?t:[]}catch{return[]}},Yt=(e,t)=>({id:crypto.randomUUID(),title:e,source:t,raw:``,prompt:``,changes:[],questions:[],createdAt:Date.now(),updatedAt:Date.now()});function Xt(e,t){let n=[...e.matchAll(/^#{1,3}\s+(.+)\n([\s\S]*?)(?=^#{1,3}\s+|$)/gm)],r=e=>/目标|objective|question/i.test(e)?We:/约束|constraint|boundary|non-goal/i.test(e)?be:/文献|evidence|source|paper/i.test(e)?ye:ve,i=n.map(e=>({title:e[1].trim(),body:e[2].trim(),icon:r(e[1])})).filter(e=>e.body);if(i.length)return i.slice(0,8);let a=e.split(/\n\s*\n/).map(e=>e.trim()).filter(Boolean),o=[];a[0]&&o.push({title:`研究目标与背景`,body:a[0],icon:We});let s=e.split(` +`).filter(e=>/不得|不要|必须|约束|only|must|do not|without/i.test(e)).join(` +`);return s&&o.push({title:`约束与边界`,body:s,icon:be}),t.length&&o.push({title:`仍需确认`,body:t.map(e=>`- ${e}`).join(` +`),icon:ve}),o}function Zt(e){let{text:t}=Q(),[n,r]=(0,_.useState)(()=>Jt(e.sid)),[i,a]=(0,_.useState)(()=>Jt(e.sid)[0]?.id??``),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)([]),[u,d]=(0,_.useState)(0),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(`current`),[y,b]=(0,_.useState)(``),[x,S]=(0,_.useState)(``),w=_t(e.sid,e.refresh);(0,_.useEffect)(()=>{let t=Jt(e.sid);r(t),a(t[0]?.id??``),l([]),d(0)},[e.sid]),(0,_.useEffect)(()=>{try{localStorage.setItem(qt(e.sid),JSON.stringify(n)),h(``)}catch{h(`本机草稿存储空间不足;请缩短文本或删除旧草稿。`)}},[n,e.sid]);let T=n.find(e=>e.id===i)??null,D=(0,_.useMemo)(()=>Xt(T?.prompt??``,T?.questions??[]),[T?.prompt,T?.questions]),O=e=>T&&r(t=>t.map(t=>t.id===T.id?{...t,...e,updatedAt:Date.now()}:t)),k=()=>{let e=Yt(t(`新的科研输入`,`New research input`),t(`导师 / 组会 / 灵感`,`Advisor / meeting / idea`));r(t=>[e,...t]),a(e.id)},A=()=>{if(!T||!confirm(t(`删除“${T.title}”?`,`Delete “${T.title}”?`)))return;let e=n.filter(e=>e.id!==T.id);r(e),a(e[0]?.id??``)},j=T?`这是科研收信箱的预处理步骤,只分析输入并回复,不创建后台任务、不修改项目。请读取下面的零散内容和附件,提取知识点并生成第一版可直接交给 Argus 的研究 Prompt。必须保留事实来源和不确定性,不得虚构论文、实验或结论;使用以下 Markdown 结构:\n## 研究目标\n## 已知背景与知识点\n## 约束与非目标\n## 文献与证据线索\n## 建议任务与验收方式\n## 待确认问题\n\n标题:${T.title}\n来源:${T.source}\n\n原始内容:\n${T.raw}`:``,M=async e=>{let t=/\.(txt|md|markdown|json|csv|ya?ml|log|tex)$/i,n=/\.(pdf|png|jpe?g|webp|wav|mp3|m4a|ogg)$/i,r=e.filter(e=>!t.test(e.name)&&!n.test(e.name));if(r.length){p(`不支持的附件:${r.map(e=>e.name).join(`、`)}`);return}let i=e.find(e=>e.size>10485760);if(i){p(`${i.name} 超过单文件 10 MB 限制`);return}if(c.length+u+e.length>Kt){p(`每次分析最多导入 ${Kt} 个文件`);return}let a=e.filter(e=>t.test(e.name)),o=a.find(e=>e.size>1048576);if(o){p(`${o.name} 超过本机文本导入 1 MB 限制;请改为摘要或拆分文件`);return}let s=e.filter(e=>n.test(e.name)),f=[...c,...s];if(f.reduce((e,t)=>e+t.size,0)>26214400){p(`附件总大小超过 25 MB`);return}let m=await Promise.all(a.map(async e=>`\n\n--- 文件:${e.name} ---\n${await e.text()}`)),h=`${T?.raw??``}${m.join(``)}`.trim();if(h.length>Gt){p(`原始输入超过 ${Gt.toLocaleString()} 字符限制,请拆分或摘要`);return}m.length&&(O({raw:h}),d(e=>e+a.length)),l(f),p(``)},N=async()=>{if(!(!T||!T.raw.trim()&&!c.length)){s(!0),p(``);try{if(c.length){let e=await w.run(j,c),t=String(e?.reply||w.output||``).trim();if(!t)throw Error(`Argus 没有返回可用的知识提取结果`);O({prompt:t,changes:[`分析了 ${c.length} 个附件和原始输入`],questions:[]}),l([])}else{let t=await H.rewritePrompt(e.sid,j);if(t.error)throw Error(t.error);O({prompt:t.rewritten,changes:t.changes,questions:t.questions})}}catch(e){p(e instanceof Error?e.message:String(e))}finally{s(!1)}}},te=async()=>{if(T?.prompt.trim()){if(g===`new`){if(!y.trim()||!confirm(t(`确认用当前 Prompt 创建一个新的 Argus 项目?`,`Create a new Argus project with this prompt?`)))return;try{let e=await H.createDaemon(T.prompt,y,x);O({sentAt:Date.now()}),window.location.hash=`project/${e.sid}/overview`}catch(e){p(e instanceof Error?e.message:String(e))}return}confirm(t(`确认把这份第一版 Prompt 发送给当前 Argus 项目?`,`Send this first prompt to the current Argus project?`))&&await w.run(T.prompt)&&O({sentAt:Date.now()})}},P=T?.sentAt?4:T?.prompt?3:T?.raw||c.length?2:1;return(0,J.jsxs)(`div`,{className:`ros-page inbox-v2`,children:[(0,J.jsxs)(`header`,{className:`ros-page-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`eyebrow`,children:`RESEARCH INBOX`}),(0,J.jsx)(`h1`,{children:t(`从零散输入开始研究`,`Start research from rough input`)}),(0,J.jsx)(`p`,{children:t(`把消息、会议记录、文件或灵感交给 AI,提取知识点并形成第一版 Argus Prompt。`,`Give AI messages, meeting notes, files, or ideas to extract knowledge and create a first Argus prompt.`)})]}),(0,J.jsxs)(Y,{tone:`neutral`,children:[(0,J.jsx)(Ie,{size:12}),t(`本机自动保存`,`Saved locally`)]})]}),(0,J.jsx)(`div`,{className:`intake-steps`,children:[[t(`收集原始内容`,`Collect input`),Te],[t(`AI 提取知识`,`Extract knowledge`),Xe],[t(`形成 Argus Prompt`,`Build Argus prompt`),I],[t(`创建 / 发送项目`,`Create / send project`),ze]].map(([e,t],n)=>(0,J.jsxs)(`div`,{className:P>n?`is-done`:P===n+1?`is-active`:``,children:[(0,J.jsx)(`span`,{children:P>n+1?(0,J.jsx)(E,{size:14}):(0,J.jsx)(t,{size:15})}),(0,J.jsx)(`strong`,{children:String(e)}),n<3?(0,J.jsx)(ee,{size:14}):null]},String(e)))}),(0,J.jsxs)(`div`,{className:`inbox-v2__layout`,children:[(0,J.jsxs)(`aside`,{className:`ros-card inbox-sources`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`INBOX`}),(0,J.jsx)(`h2`,{children:t(`科研输入`,`Research input`)})]}),(0,J.jsx)(`button`,{className:`icon-button`,type:`button`,onClick:k,"aria-label":t(`新增输入`,`Add input`),children:(0,J.jsx)(je,{size:15})})]}),(0,J.jsx)(`div`,{children:n.length?n.map(e=>(0,J.jsxs)(`button`,{type:`button`,className:T?.id===e.id?`is-active`:``,onClick:()=>a(e.id),children:[(0,J.jsx)(`span`,{className:`inbox-item-icon`,children:e.sentAt?(0,J.jsx)(E,{size:14}):e.prompt?(0,J.jsx)(z,{size:14}):(0,J.jsx)(_e,{size:14})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.title}),(0,J.jsxs)(`small`,{children:[e.source,` · `,ct(e.updatedAt/1e3)]})]})]},e.id)):(0,J.jsx)(X,{icon:_e,title:t(`暂无输入`,`No input yet`),description:t(`新增一条导师消息、组会笔记或研究灵感。`,`Add an advisor message, meeting note, or research idea.`)})})]}),(0,J.jsxs)(`main`,{className:`ros-card inbox-input`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`RAW MATERIAL`}),(0,J.jsx)(`h2`,{children:t(`原始内容与附件`,`Raw content and attachments`)})]}),T?(0,J.jsx)(`button`,{className:`icon-button`,type:`button`,onClick:A,"aria-label":t(`删除`,`Delete`),children:(0,J.jsx)(Ke,{size:14})}):null]}),T?(0,J.jsxs)(`div`,{className:`inbox-input__form`,children:[(0,J.jsxs)(`div`,{className:`form-grid`,children:[(0,J.jsxs)(`label`,{children:[(0,J.jsx)(`span`,{children:t(`标题`,`Title`)}),(0,J.jsx)(`input`,{value:T.title,onChange:e=>O({title:e.target.value})})]}),(0,J.jsxs)(`label`,{children:[(0,J.jsx)(`span`,{children:t(`来源`,`Source`)}),(0,J.jsx)(`input`,{value:T.source,onChange:e=>O({source:e.target.value})})]})]}),(0,J.jsxs)(`label`,{className:`field field--grow`,children:[(0,J.jsx)(`span`,{children:t(`零散消息、笔记或转写文本`,`Rough messages, notes, or transcripts`)}),(0,J.jsx)(`textarea`,{maxLength:Gt,value:T.raw,onChange:e=>O({raw:e.target.value}),placeholder:t(`不需要先整理,直接粘贴原始内容。AI 会区分目标、事实、约束、文献线索、待办和疑问…`,`Paste raw content directly. AI will separate goals, facts, constraints, evidence leads, tasks, and questions…`)})]}),c.length?(0,J.jsx)(`div`,{className:`inbox-attachment-list`,children:c.map((e,t)=>(0,J.jsxs)(`span`,{children:[e.type.startsWith(`audio/`)?(0,J.jsx)(C,{size:14}):e.type.startsWith(`image/`)?(0,J.jsx)(ge,{size:14}):(0,J.jsx)(I,{size:14}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.name}),(0,J.jsxs)(`small`,{children:[(e.size/1024/1024).toFixed(1),` MB · 仅在本次分析上传`]})]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>l(e=>e.filter((e,n)=>n!==t)),children:(0,J.jsx)(et,{size:13})})]},`${e.name}-${t}`))}):null,(0,J.jsxs)(`div`,{className:`inbox-upload-types`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(I,{size:14}),`PDF / `,t(`文本`,`text`)]}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(ge,{size:14}),t(`图片`,`images`)]}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(C,{size:14}),t(`语音`,`audio`)]}),(0,J.jsx)(`p`,{children:t(`语音会交给 Argus 和已配置工具处理,不把“上传成功”冒充“已完成转写”。`,`Audio is handed to Argus and configured tools; an upload is never presented as a completed transcript.`)})]}),(0,J.jsxs)(`div`,{className:`inbox-input__actions`,children:[(0,J.jsxs)(`label`,{className:`button button--secondary file-button`,children:[(0,J.jsx)(Je,{size:14}),t(`添加文件`,`Add files`),(0,J.jsx)(`input`,{type:`file`,multiple:!0,accept:`.txt,.md,.markdown,.json,.csv,.yaml,.yml,.log,.tex,.pdf,.png,.jpg,.jpeg,.webp,.wav,.mp3,.m4a,.ogg`,onChange:e=>void M(Array.from(e.target.files??[]))})]}),(0,J.jsxs)(`button`,{className:`button button--primary`,type:`button`,disabled:!T.raw.trim()&&!c.length||o||w.busy,onClick:()=>void N(),children:[o||w.busy?(0,J.jsx)(z,{size:14}):(0,J.jsx)(Xe,{size:14}),o||w.busy?w.phase||t(`AI 正在分析`,`AI is analyzing`):t(`分析内容并生成 Prompt`,`Analyze and generate prompt`)]})]}),f?(0,J.jsx)(`div`,{className:`inline-error`,children:f}):null,m?(0,J.jsx)(`div`,{className:`inline-error`,children:m}):null]}):(0,J.jsx)(X,{icon:_e,title:t(`选择或新增一条科研输入`,`Select or add research input`)})]}),(0,J.jsxs)(`aside`,{className:`inbox-output`,children:[(0,J.jsxs)(`section`,{className:`ros-card knowledge-panel`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`KNOWLEDGE EXTRACTION`}),(0,J.jsx)(`h2`,{children:t(`AI 提取的知识点`,`AI-extracted knowledge`)})]}),D.length?(0,J.jsxs)(Y,{tone:`success`,children:[D.length,` `,t(`组`,`groups`)]}):null]}),D.length?(0,J.jsx)(`div`,{className:`knowledge-grid`,children:D.map(e=>{let t=e.icon;return(0,J.jsxs)(`article`,{children:[(0,J.jsx)(`span`,{children:(0,J.jsx)(t,{size:15})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.title}),(0,J.jsx)(Z,{children:e.body})]})]},e.title)})}):(0,J.jsx)(X,{icon:ve,title:t(`等待 AI 提取`,`Waiting for AI extraction`),description:t(`结果会明确区分目标、知识点、约束、证据线索和待确认问题。`,`The result separates goals, knowledge, constraints, evidence leads, and open questions.`)})]}),(0,J.jsxs)(`section`,{className:`ros-card first-prompt`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`FIRST ARGUS PROMPT`}),(0,J.jsx)(`h2`,{children:t(`第一版 Argus Prompt`,`First Argus prompt`)})]}),T?.prompt?(0,J.jsx)(Y,{tone:`info`,children:t(`可编辑`,`Editable`)}):null]}),T?.prompt?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`textarea`,{value:T.prompt,onChange:e=>O({prompt:e.target.value})}),(0,J.jsxs)(`div`,{className:`dispatch-mode`,children:[(0,J.jsx)(`button`,{type:`button`,className:g===`current`?`is-active`:``,onClick:()=>v(`current`),children:t(`发送当前项目`,`Send to current project`)}),(0,J.jsx)(`button`,{type:`button`,className:g===`new`?`is-active`:``,onClick:()=>v(`new`),children:t(`创建新项目`,`Create new project`)})]}),g===`new`?(0,J.jsxs)(`div`,{className:`new-project-fields`,children:[(0,J.jsx)(`input`,{value:y,onChange:e=>b(e.target.value),placeholder:t(`新项目名称`,`New project name`)}),(0,J.jsx)(`input`,{value:x,onChange:e=>S(e.target.value),placeholder:t(`工作目录(可选,留空自动创建)`,`Workdir (optional; blank creates one)`)})]}):null,(0,J.jsxs)(`button`,{className:`button button--primary button--full`,type:`button`,disabled:w.busy,onClick:()=>void te(),children:[(0,J.jsx)(ze,{size:14}),w.busy?w.phase||t(`正在发送`,`Sending`):g===`new`?t(`用此 Prompt 创建 Argus 项目`,`Create Argus project with this prompt`):t(`确认并发送给当前 Argus`,`Confirm and send to current Argus`)]}),w.output?(0,J.jsx)(`div`,{className:`manager-mini-result`,children:(0,J.jsx)(Z,{children:w.output})}):null]}):(0,J.jsx)(X,{icon:I,title:t(`尚未生成 Prompt`,`No prompt generated`),description:t(`AI 提取后会在这里生成第一版 Prompt,你可以先修改再发送。`,`The first prompt appears here after extraction and can be edited before sending.`)})]})]})]})]})}function Qt({paper:e,selected:t,onClick:n}){let{text:r}=Q();return(0,J.jsxs)(`button`,{type:`button`,className:`paper-card ${t?`is-selected`:``}`,onClick:n,children:[(0,J.jsxs)(`div`,{className:`paper-card__meta`,children:[(0,J.jsx)(Y,{tone:e.evidenceStatus===`verified_artifact`?`success`:e.evidenceStatus===`metadata`?`info`:`warn`,children:e.evidenceStatus===`verified_artifact`?r(`原文文件已验证`,`Source verified`):e.evidenceStatus===`metadata`?r(`仅元数据`,`Metadata only`):r(`待核验`,`Needs verification`)}),(0,J.jsxs)(`span`,{className:`paper-card__year`,children:[e.year||`—`,e.venue?` · ${e.venue}`:``]})]}),(0,J.jsx)(`h3`,{children:e.title}),e.authors.length?(0,J.jsxs)(`p`,{className:`paper-card__authors`,children:[e.authors.slice(0,4).join(`, `),e.authors.length>4?` et al.`:``]}):null,(0,J.jsx)(`p`,{className:`paper-card__summary`,children:e.relevance||e.abstract||r(`该记录尚未写入项目相关性摘要。`,`No project-relevance summary has been recorded.`)}),(0,J.jsxs)(`div`,{className:`paper-card__footer`,children:[(0,J.jsx)(`code`,{children:e.sourcePath}),(0,J.jsx)(`span`,{children:r(`查看详情`,`View details`)})]})]})}function $t(e){let{text:t}=Q(),n=Vt(e.sid,`literature`),r=n.active?.path||``,a=i({queryKey:[`workspace-literature`,e.sid,n.workspaceId],queryFn:({signal:t})=>$.literature(e.sid,n.workspaceId,t),enabled:!!n.workspaceId,refetchInterval:15e3}),[o,s]=(0,_.useState)(`all`),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(``),m=_t(e.sid,async()=>{await e.refresh(),await a.refetch()}),h=a.data?.papers??[],g=Math.max(0,...h.map(e=>e.year??0)),v=(0,_.useMemo)(()=>h.filter(e=>{if(o===`recent`&&(e.year??0)e.id===u)??v[0]??null,b=(0,_.useMemo)(()=>e.events.filter(e=>/paper|arxiv|doi|literature|search|citation|http/i.test(`${e.type} ${e.kind} ${q(e,2e3)}`)).slice(-30).reverse(),[e.events]),x=async()=>{f.trim()&&await m.run(`请为当前项目执行新的文献调研:${f}\n\n要求读取原始论文或官方仓库,把结构化记录追加到项目的 literature grounding/audit 文件中,包括标题、作者、年份、URL、与当前项目关系、最近工作威胁和仍待全文核验项。完成后文献中心应能从工作目录直接读取这些记录。`)};return(0,J.jsxs)(`div`,{className:`ros-page literature-v2`,children:[(0,J.jsxs)(`header`,{className:`ros-page-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`eyebrow`,children:`LITERATURE CENTER`}),(0,J.jsx)(`h1`,{children:t(`文献中心`,`Literature center`)}),(0,J.jsx)(`p`,{children:t(`直接读取 Argus 工作目录中的论文清单、文献审计和实时检索轨迹,不再依赖手工注册 artifacts。`,`Read paper inventories, literature audits, and live retrieval traces directly from the Argus workdir.`)})]}),(0,J.jsxs)(`div`,{className:`header-badges`,children:[(0,J.jsxs)(Y,{tone:`success`,children:[(0,J.jsx)(w,{size:12}),h.length,` `,t(`篇论文`,`papers`)]}),(0,J.jsxs)(Y,{tone:`neutral`,children:[a.data?.sourceFiles.length??0,` `,t(`个证据文件`,`evidence files`)]})]})]}),(0,J.jsxs)(`section`,{className:`literature-stats`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{className:`stat-icon stat-icon--blue`,children:(0,J.jsx)(w,{size:18})}),(0,J.jsxs)(`p`,{children:[t(`论文记录`,`Paper records`),(0,J.jsx)(`strong`,{children:h.length})]})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{className:`stat-icon stat-icon--green`,children:(0,J.jsx)(ie,{size:18})}),(0,J.jsxs)(`p`,{children:[t(`原文文件已验证`,`Verified sources`),(0,J.jsx)(`strong`,{children:h.filter(e=>e.evidenceStatus===`verified_artifact`).length})]})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{className:`stat-icon stat-icon--amber`,children:(0,J.jsx)(T,{size:18})}),(0,J.jsxs)(`p`,{children:[t(`最近工作`,`Recent work`),(0,J.jsx)(`strong`,{children:h.filter(e=>(e.year??0)>=g-1).length})]})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{className:`stat-icon stat-icon--violet`,children:(0,J.jsx)(ue,{size:18})}),(0,J.jsxs)(`p`,{children:[t(`扫描项目文件`,`Scanned files`),(0,J.jsx)(`strong`,{children:a.data?.scannedFiles??0})]})]})]}),(0,J.jsxs)(`div`,{className:`literature-v2__layout`,children:[(0,J.jsxs)(`aside`,{className:`literature-v2__sidebar ros-card`,children:[(0,J.jsx)(`header`,{children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`LIBRARY`}),(0,J.jsx)(`h2`,{children:t(`项目文献库`,`Project library`)})]})}),(0,J.jsxs)(`label`,{className:`search-field search-field--block`,children:[(0,J.jsx)(Re,{size:14}),(0,J.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),placeholder:t(`搜索标题、作者、主题`,`Search title, author, or topic`)})]}),(0,J.jsx)(`nav`,{className:`library-tabs`,children:[[`all`,t(`全部论文`,`All papers`),h.length],[`recent`,t(`最近工作`,`Recent work`),h.filter(e=>(e.year??0)>=g-1).length],[`read`,t(`已验证原文`,`Verified sources`),h.filter(e=>e.evidenceStatus===`verified_artifact`).length],[`sources`,t(`证据文件`,`Evidence files`),a.data?.sourceFiles.length??0]].map(([e,t,n])=>(0,J.jsxs)(`button`,{type:`button`,className:o===e?`is-active`:``,onClick:()=>s(e),children:[(0,J.jsx)(`span`,{children:t}),(0,J.jsx)(`small`,{children:n})]},e))}),(0,J.jsxs)(`div`,{className:`literature-source-note`,children:[(0,J.jsx)(re,{size:15}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:t(`实时来源`,`Live source`)}),(0,J.jsx)(`p`,{title:r,children:r})]})]})]}),(0,J.jsxs)(`main`,{className:`literature-v2__main`,children:[(0,J.jsxs)(`div`,{className:`literature-list-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{children:o===`recent`?t(`最近工作`,`Recent work`):o===`read`?t(`已验证原文文件`,`Verified source files`):o===`sources`?t(`文献证据文件`,`Literature evidence files`):t(`全部论文`,`All papers`)}),(0,J.jsx)(`p`,{children:o===`recent`?t(`按项目中最新年份 ${g||`—`} 自动筛选`,`Filtered by the latest project year: ${g||`—`}`):t(`Argus 写入工作目录后约 5 秒内自动更新`,`Updates shortly after Argus writes to the workdir`)})]}),a.isError?(0,J.jsx)(Y,{tone:`danger`,children:t(`同步失败`,`Sync failed`)}):a.isFetching?(0,J.jsx)(Y,{tone:`live`,dot:!0,children:t(`同步中`,`Syncing`)}):(0,J.jsx)(Y,{tone:`success`,children:t(`已同步`,`Synced`)})]}),a.isError?(0,J.jsx)(`div`,{className:`inline-error`,children:a.error.message}):null,o===`sources`?(0,J.jsx)(`div`,{className:`source-file-grid`,children:a.data?.sourceFiles.map(e=>(0,J.jsxs)(`article`,{children:[(0,J.jsx)(re,{size:17}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.name}),(0,J.jsx)(`code`,{children:e.path})]}),(0,J.jsx)(`time`,{children:ct(e.mtime)})]},e.path))}):v.length?(0,J.jsx)(`div`,{className:`paper-grid`,children:v.map(e=>(0,J.jsx)(Qt,{paper:e,selected:y?.id===e.id,onClick:()=>d(e.id)},e.id))}):(0,J.jsx)(X,{icon:w,title:t(`此筛选下暂无论文`,`No papers match this filter`),description:t(`Argus 完成检索并写入 LITERATURE_GROUNDING.json 后会自动出现。`,`Papers appear after Argus writes LITERATURE_GROUNDING.json.`)})]}),(0,J.jsxs)(`aside`,{className:`literature-v2__detail`,children:[(0,J.jsx)(`section`,{className:`ros-card paper-detail`,children:y?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`paper-detail__top`,children:[(0,J.jsx)(Y,{tone:y.evidenceStatus===`verified_artifact`?`success`:y.evidenceStatus===`metadata`?`info`:`warn`,children:y.evidenceStatus===`verified_artifact`?`verified artifact`:y.evidenceStatus}),(0,J.jsxs)(`span`,{children:[y.year||`—`,y.venue?` · ${y.venue}`:``]})]}),(0,J.jsx)(`h2`,{children:y.title}),y.authors.length?(0,J.jsx)(`p`,{className:`paper-detail__authors`,children:y.authors.join(`, `)}):null,(0,J.jsxs)(`div`,{className:`paper-detail__body`,children:[(0,J.jsx)(`h3`,{children:t(`与当前项目的关系`,`Relationship to this project`)}),(0,J.jsx)(Z,{children:y.relevance||y.abstract||t(`尚未写入摘要。`,`No summary recorded.`)}),y.abstract&&y.relevance?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`h3`,{children:t(`摘要`,`Abstract`)}),(0,J.jsx)(`p`,{children:y.abstract})]}):null]}),(0,J.jsxs)(`div`,{className:`paper-detail__source`,children:[(0,J.jsx)(`span`,{children:t(`证据文件`,`Evidence file`)}),(0,J.jsx)(`code`,{children:y.sourcePath})]}),y.url?(0,J.jsxs)(`a`,{className:`button button--secondary button--full`,href:y.url,target:`_blank`,rel:`noreferrer`,children:[t(`打开原始来源`,`Open source`),` `,(0,J.jsx)(N,{size:14})]}):null]}):(0,J.jsx)(X,{icon:w,title:t(`选择一篇论文`,`Select a paper`)})}),(0,J.jsxs)(`section`,{className:`ros-card retrieval-panel`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`ARGUS RETRIEVAL`}),(0,J.jsx)(`h2`,{children:t(`最近检索`,`Recent retrieval`)})]}),(0,J.jsx)(Y,{tone:e.connected?`live`:`warn`,dot:!0,children:e.connected?`Live`:`Polling`})]}),(0,J.jsxs)(`div`,{children:[(a.data?.searchFiles??[]).slice(0,8).map(e=>(0,J.jsxs)(`article`,{children:[(0,J.jsx)(ie,{size:13}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.name}),(0,J.jsx)(`code`,{children:e.path})]}),(0,J.jsx)(`time`,{children:W(e.mtime)})]},e.path)),!a.data?.searchFiles.length&&b.slice(0,8).map((e,t)=>(0,J.jsxs)(`article`,{children:[(0,J.jsx)(ie,{size:13}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:K(e)}),(0,J.jsx)(`code`,{children:q(e,100)})]}),(0,J.jsx)(`time`,{children:W(e.ts)})]},`${e.ts}-${t}`))]})]}),(0,J.jsxs)(`section`,{className:`ros-card literature-ask`,children:[(0,J.jsx)(`header`,{children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`NEW SEARCH`}),(0,J.jsx)(`h2`,{children:t(`让 Argus 调研新工作`,`Ask Argus to research new work`)})]})}),(0,J.jsx)(`textarea`,{rows:3,value:f,onChange:e=>p(e.target.value),placeholder:t(`例如:检索 2025–2026 年与当前方法最接近的直接竞争工作…`,`Example: find the closest competing work from 2025–2026…`)}),(0,J.jsxs)(`button`,{className:`button button--primary button--full`,type:`button`,disabled:!f.trim()||m.busy,onClick:()=>void x(),children:[(0,J.jsx)(z,{size:14}),m.busy?m.phase||t(`检索中`,`Researching`):t(`发起文献调研`,`Start literature research`)]}),m.output?(0,J.jsx)(`div`,{className:`manager-mini-result`,children:(0,J.jsx)(Z,{children:m.output})}):null]})]})]})]})}var en=`/assets/pdf.worker.min-CHFwMXne.mjs`;function tn(e){return[`.png`,`.jpg`,`.jpeg`,`.webp`,`.svg`].includes(e.extension)}function nn(e){return[`.csv`,`.tsv`].includes(e.extension)}function rn(e){return[`.tex`,`.md`].includes(e.extension)}function an({src:e,name:t}){let{text:n}=Q(),r=(0,_.useRef)(null),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(1),[c,l]=(0,_.useState)(1.25),[u,d]=(0,_.useState)(``),[f,m]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{let t=!0,n=null;a(null),s(1),d(``),m(!1);let r=localStorage.getItem(`argus_web_token`);return Promise.all([fetch(e,{headers:r?{Authorization:`Bearer ${r}`}:{}}).then(e=>{if(!e.ok)throw Error(`PDF request failed (${e.status})`);return e.arrayBuffer()}),p(()=>import(`./pdf-thuO7_2p.js`),__vite__mapDeps([0,1,2,3,4,5,6]))]).then(([e,r])=>{if(t)return r.GlobalWorkerOptions.workerSrc=en,n=r.getDocument({data:e}),n.promise}).then(e=>{t&&e&&a(e)}).catch(e=>{t&&d(e instanceof Error?e.message:String(e))}),()=>{t=!1,n?.destroy()}},[e]),(0,_.useEffect)(()=>{if(!i||!r.current)return;m(!1);let e=!1,t=null;return i.getPage(o).then(n=>{if(e||!r.current)return;let i=n.getViewport({scale:c}),a=r.current,o=a.getContext(`2d`);if(!o)return;let s=Math.min(window.devicePixelRatio||1,2);return a.width=Math.floor(i.width*s),a.height=Math.floor(i.height*s),a.style.width=`${i.width}px`,a.style.height=`${i.height}px`,t=n.render({canvas:a,canvasContext:o,viewport:i,transform:s===1?void 0:[s,0,0,s,0,0]}),t.promise.then(()=>{e||m(!0)})}).catch(t=>{e||d(t instanceof Error?t.message:String(t))}),()=>{e=!0,t?.cancel()}},[i,o,c]),(0,J.jsxs)(`div`,{className:`pdf-canvas-viewer`,children:[(0,J.jsxs)(`div`,{className:`pdf-canvas-toolbar`,children:[(0,J.jsx)(`strong`,{children:t}),(0,J.jsxs)(`span`,{children:[n(`第`,`Page`),` `,o,` / `,i?.numPages??`…`]}),(0,J.jsx)(`button`,{type:`button`,disabled:o<=1,onClick:()=>s(e=>e-1),children:n(`上一页`,`Previous`)}),(0,J.jsx)(`button`,{type:`button`,disabled:!i||o>=i.numPages,onClick:()=>s(e=>e+1),children:n(`下一页`,`Next`)}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>l(e=>Math.max(.75,e-.15)),children:`−`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>l(e=>Math.min(2,e+.15)),children:`+`})]}),u?(0,J.jsx)(`div`,{className:`inline-error`,children:u}):null,(0,J.jsx)(`div`,{className:`pdf-canvas-scroll`,children:(0,J.jsx)(`canvas`,{ref:r,"data-rendered":f?`true`:`false`})})]})}function on({sid:e,workspaceId:t,entry:n}){let{text:r}=Q(),a=i({queryKey:[`paper-source-file`,e,t,n?.path,n?.mtime],queryFn:({signal:r})=>$.file(e,t,n.path,r),enabled:!!(n&&t),refetchInterval:8e3});return n?a.isError?(0,J.jsx)(X,{icon:I,title:r(`源文件暂时无法读取`,`Source file unavailable`),description:a.error.message}):n.extension===`.md`&&a.data?(0,J.jsx)(`div`,{className:`paper-markdown-preview`,children:(0,J.jsx)(Z,{children:a.data.content})}):(0,J.jsxs)(`div`,{className:`latex-source`,children:[(0,J.jsx)(`div`,{className:`latex-line-numbers`,children:(a.data?.content??``).split(` +`).map((e,t)=>(0,J.jsx)(`span`,{children:t+1},t))}),(0,J.jsx)(`pre`,{children:a.data?.content||`Loading…`})]}):(0,J.jsx)(X,{icon:I,title:r(`等待 Argus 写入论文源文件`,`Waiting for Argus to write a paper source`),description:r(`paper/ 或 technical_report/ 中出现 .tex / .md 后会自动加入。`,`.tex and .md files under paper/ or technical_report/ appear automatically.`)})}function sn({sid:e,workspaceId:t,entry:n}){let r=Bt(e,t,n.path);return(0,J.jsxs)(`figure`,{children:[r.url?(0,J.jsx)(`img`,{src:r.url,alt:n.name}):(0,J.jsx)(`div`,{className:`figure-loading`,children:r.error||`Loading…`}),(0,J.jsx)(`figcaption`,{children:n.name})]})}function cn(e){let{text:t}=Q(),n=Vt(e.sid,`paper`),r=n.workspaceId,a=n.active?.path||``,o=i({queryKey:[`paper-workspace-tree`,e.sid,r],queryFn:({signal:t})=>$.tree(e.sid,r,t),enabled:!!r,refetchInterval:1e4}),s=(0,_.useMemo)(()=>Rt(o.data?.entries??[]),[o.data?.entries]),c=s.filter(rn),l=s.filter(e=>e.extension===`.bib`),u=s.filter(e=>e.extension===`.pdf`),d=s.filter(e=>tn(e)||nn(e)),[f,p]=(0,_.useState)(``),m=[...c,...l].find(e=>e.path===f)??c[0]??l[0]??null,[h,g]=(0,_.useState)(`pdf`),[v,y]=(0,_.useState)(``),b=u.find(e=>/(?:^|\/)(?:argus-technical-report|main|paper|manuscript)\.pdf$/i.test(e.path))??u[0],x=u.find(e=>e.path===v)??b??null;return(0,J.jsxs)(`div`,{className:`ros-page paper-v3`,children:[(0,J.jsxs)(`header`,{className:`ros-page-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`eyebrow`,children:`PAPER WORKSPACE`}),(0,J.jsx)(`h1`,{children:t(`LaTeX 论文工作区`,`LaTeX paper workspace`)}),(0,J.jsx)(`p`,{children:t(`论文源文件、编译 PDF、图表和 BibTeX 与真实项目目录保持同步。`,`Keep paper sources, compiled PDFs, figures, and BibTeX synchronized with the real project directory.`)})]}),(0,J.jsxs)(`div`,{className:`header-badges`,children:[(0,J.jsxs)(Y,{tone:o.isError?`danger`:o.isFetching?`live`:`success`,dot:!0,children:[(0,J.jsx)(Ze,{size:12}),o.isError?t(`同步失败`,`Sync failed`):o.isFetching?t(`同步中`,`Syncing`):t(`自动同步`,`Auto sync`)]}),(0,J.jsxs)(Y,{tone:u.length?`success`:`neutral`,children:[u.length,` PDF`]}),(0,J.jsxs)(Y,{tone:`neutral`,children:[d.length,` `,t(`图表`,`figures`)]})]})]}),(0,J.jsxs)(`div`,{className:`paper-root-bar ros-card`,children:[(0,J.jsx)(le,{size:16}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`APPROVED PAPER WORKSPACE`}),(0,J.jsx)(`select`,{"aria-label":t(`选择论文工作区`,`Select paper workspace`),value:r,onChange:e=>{n.setWorkspaceId(e.target.value),p(``),y(``)},children:n.profiles.data?.profiles.map(e=>(0,J.jsx)(`option`,{value:e.id,children:e.label},e.id))}),(0,J.jsx)(`code`,{children:a})]}),o.isError?(0,J.jsx)(Y,{tone:`danger`,children:`Error`}):o.isFetching?(0,J.jsx)(Y,{tone:`live`,dot:!0,children:`Scanning`}):(0,J.jsx)(Y,{tone:`success`,children:`Synced`}),(0,J.jsx)(`button`,{className:`icon-button`,type:`button`,onClick:()=>void o.refetch(),"aria-label":t(`刷新论文工作区`,`Refresh paper workspace`),children:(0,J.jsx)(Pe,{size:14})})]}),(0,J.jsxs)(`div`,{className:`paper-v3__shell`,children:[(0,J.jsxs)(`aside`,{className:`paper-v3__sources ros-card`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`LATEX PROJECT`}),(0,J.jsx)(`h2`,{children:t(`论文文件`,`Paper files`)})]}),(0,J.jsx)(Y,{tone:`neutral`,children:c.length+l.length})]}),(0,J.jsxs)(`div`,{className:`paper-source-group`,children:[(0,J.jsxs)(`h3`,{children:[(0,J.jsx)(I,{size:13}),`MANUSCRIPT`]}),c.length?c.map(e=>(0,J.jsxs)(`button`,{type:`button`,className:m?.path===e.path?`is-active`:``,onClick:()=>p(e.path),children:[(0,J.jsx)(I,{size:14}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.name}),(0,J.jsx)(`code`,{children:e.path})]}),(0,J.jsx)(`small`,{children:lt(e.size)})]},e.path)):(0,J.jsx)(`p`,{children:`等待 .tex / .md`})]}),(0,J.jsxs)(`div`,{className:`paper-source-group`,children:[(0,J.jsxs)(`h3`,{children:[(0,J.jsx)(w,{size:13}),`BIBTEX`]}),l.length?l.map(e=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>p(e.path),children:[(0,J.jsx)(w,{size:14}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.name}),(0,J.jsx)(`code`,{children:e.path})]})]},e.path)):(0,J.jsx)(`p`,{children:t(`等待 references.bib`,`Waiting for references.bib`)})]}),(0,J.jsxs)(`footer`,{children:[(0,J.jsx)(`span`,{children:t(`监听`,`Watching`)}),(0,J.jsx)(`code`,{children:a})]})]}),(0,J.jsxs)(`main`,{className:`paper-v3__source ros-card`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:m?.name||t(`源文件编辑器`,`Source editor`)}),(0,J.jsx)(`code`,{children:m?.path||a})]}),m?(0,J.jsxs)(`span`,{children:[t(`更新于`,`Updated`),` `,ct(m.mtime)]}):null]}),(0,J.jsx)(`div`,{children:(0,J.jsx)(on,{sid:e.sid,workspaceId:r,entry:m})}),(0,J.jsxs)(`footer`,{children:[(0,J.jsx)(`span`,{children:m?.extension.replace(`.`,``).toUpperCase()||`WAITING`}),(0,J.jsx)(`span`,{children:m?lt(m.size):t(`Argus 写入后自动出现`,`Appears after Argus writes it`)})]})]}),(0,J.jsxs)(`aside`,{className:`paper-v3__outputs ros-card`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`BUILD OUTPUT`}),(0,J.jsx)(`h2`,{children:t(`可视化产出`,`Visual outputs`)})]}),o.isError?(0,J.jsx)(Y,{tone:`danger`,children:`Error`}):o.isFetching?(0,J.jsx)(Y,{tone:`live`,dot:!0,children:`Scanning`}):(0,J.jsx)(Y,{tone:`success`,children:`Synced`})]}),(0,J.jsxs)(`nav`,{children:[(0,J.jsxs)(`button`,{type:`button`,className:h===`pdf`?`is-active`:``,onClick:()=>g(`pdf`),children:[(0,J.jsx)(I,{size:14}),`PDF `,(0,J.jsx)(`small`,{children:u.length})]}),(0,J.jsxs)(`button`,{type:`button`,className:h===`figures`?`is-active`:``,onClick:()=>g(`figures`),children:[(0,J.jsx)(ne,{size:14}),t(`图表`,`Figures`),` `,(0,J.jsx)(`small`,{children:d.length})]}),(0,J.jsxs)(`button`,{type:`button`,className:h===`references`?`is-active`:``,onClick:()=>g(`references`),children:[(0,J.jsx)(w,{size:14}),t(`引用`,`References`),` `,(0,J.jsx)(`small`,{children:l.length})]})]}),(0,J.jsxs)(`div`,{className:`paper-output-surface`,children:[h===`pdf`?x?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`pdf-switcher`,children:u.map(e=>(0,J.jsx)(`button`,{type:`button`,className:x.path===e.path?`is-active`:``,onClick:()=>y(e.path),children:e.name},e.path))}),(0,J.jsx)(an,{src:$.rawUrl(e.sid,r,x.path),name:x.name})]}):(0,J.jsx)(X,{icon:I,title:t(`尚无编译 PDF`,`No compiled PDF`),description:t(`Argus 或 LaTeX 流程生成 PDF 后会直接在这里可视化。`,`PDFs generated by Argus or the LaTeX pipeline appear here.`)}):null,h===`figures`?d.length?(0,J.jsx)(`div`,{className:`paper-figure-grid`,children:d.map(t=>tn(t)?(0,J.jsx)(sn,{sid:e.sid,workspaceId:r,entry:t},t.path):(0,J.jsxs)(`article`,{children:[(0,J.jsx)(Ue,{size:22}),(0,J.jsx)(`strong`,{children:t.name}),(0,J.jsx)(`code`,{children:t.path})]},t.path))}):(0,J.jsx)(X,{icon:ne,title:t(`尚无图表产出`,`No figure outputs`)}):null,h===`references`?l.length?(0,J.jsx)(`div`,{className:`paper-reference-list`,children:l.map(e=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{p(e.path)},children:[(0,J.jsx)(w,{size:15}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.name}),(0,J.jsx)(`code`,{children:e.path})]})]},e.path))}):(0,J.jsx)(X,{icon:w,title:t(`尚无 BibTeX`,`No BibTeX`)}):null]}),(0,J.jsxs)(`footer`,{children:[(0,J.jsx)(`span`,{children:u.length?`PDF build detected`:`Waiting for LaTeX build`}),(0,J.jsxs)(`span`,{children:[s.length,` tracked assets`]})]})]})]})]})}var ln=[{id:`experiments`,zh:`实验进程`,en:`Experiments`,zhDesc:`实时查看 Argus 运行位置、DAG、角色交接和停止原因。`,enDesc:`Track Argus execution, DAG progress, role handoffs, and stop reasons.`,icon:se,color:`blue`},{id:`copilot`,zh:`Research Copilot`,en:`Research Copilot`,zhDesc:`保留原版 Argus 对话、Prompt 优化和工具轨迹。`,enDesc:`Chat with Argus, refine prompts, and inspect tool activity.`,icon:Ee,color:`violet`},{id:`literature`,zh:`文献中心`,en:`Literature`,zhDesc:`汇总已读论文、最近工作、检索记录和文献证据。`,enDesc:`Review papers, related work, retrieval history, and evidence.`,icon:w,color:`indigo`},{id:`inbox`,zh:`科研收信箱`,en:`Research Inbox`,zhDesc:`从零散输入抽取知识点并形成第一版 Argus Prompt。`,enDesc:`Turn rough notes into structured knowledge and an Argus prompt.`,icon:_e,color:`rose`},{id:`ide`,zh:`AI IDE`,en:`AI IDE`,zhDesc:`连接真实服务器目录,查看代码、Git 和 Argus 活动。`,enDesc:`Browse server files, Git state, and Argus activity.`,icon:j,color:`emerald`},{id:`paper`,zh:`论文工作区`,en:`Paper Workspace`,zhDesc:`自动发现 Argus 新写入的文稿、BibTeX、图表和 PDF。`,enDesc:`Discover manuscripts, BibTeX, figures, and PDFs from the workspace.`,icon:I,color:`amber`},{id:`reviewer`,zh:`模拟审稿`,en:`Reviewer`,zhDesc:`区分每轮过程审稿与项目完成后的最终投稿前审稿。`,enDesc:`Separate round-level review from final pre-submission review.`,icon:R,color:`slate`},{id:`release`,zh:`成果发布`,en:`Release`,zhDesc:`规划 GitHub 仓库、学术海报和项目宣传页。`,enDesc:`Plan a GitHub repository, academic poster, and project page.`,icon:we,color:`rose`}];function un(e){let{text:t}=Q(),n=e.snapshot.mission_view,r=n?.active_role||e.status?.active_role||`idle`;return(0,J.jsxs)(`div`,{className:`overview-page`,children:[(0,J.jsxs)(`section`,{className:`overview-hero`,children:[(0,J.jsxs)(`div`,{className:`overview-hero__copy`,children:[(0,J.jsxs)(`div`,{className:`overview-hero__badges`,children:[(0,J.jsx)(Y,{tone:e.snapshot.daemon.alive?`live`:`neutral`,dot:!0,children:e.snapshot.daemon.alive?t(`Argus 正在运行`,`Argus running`):t(`Argus 已停止`,`Argus stopped`)}),(0,J.jsx)(Y,{tone:G(n?.stage.id),children:n?.stage.label||t(`未分阶段`,`Unstaged`)})]}),(0,J.jsx)(`h1`,{children:e.snapshot.session.display_name||e.project.label}),(0,J.jsx)(`p`,{children:n?.mission.objective||e.status?.continuous?.objective||e.project.objective||t(`尚未设置研究目标。`,`No research objective has been set.`)}),(0,J.jsx)(`code`,{children:e.snapshot.session.workdir||e.snapshot.session.launch_cwd})]}),(0,J.jsxs)(`div`,{className:`overview-hero__stats`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:t(`当前角色`,`Active role`)}),(0,J.jsx)(`strong`,{children:r}),(0,J.jsx)(`small`,{children:e.snapshot.roles.find(e=>e.active)?.label||`waiting`})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:t(`研究阶段`,`Research stage`)}),(0,J.jsx)(`strong`,{children:n?.stage.label||`—`}),(0,J.jsx)(`small`,{children:n?.mission.status||`idle`})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:t(`累计运行`,`Elapsed`)}),(0,J.jsx)(`strong`,{children:st(n?.mission.campaign_elapsed_seconds||e.snapshot.daemon.uptime_seconds)}),(0,J.jsx)(`small`,{children:n?.round.current?`Round ${n.round.current}/${n.round.max||`—`}`:t(`暂无轮次`,`No round`)})]})]})]}),(0,J.jsx)(`div`,{className:`overview-section-heading`,children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{children:t(`项目工作区`,`Project workspace`)}),(0,J.jsx)(`p`,{children:t(`所有模块共享同一个 Argus 项目、工作目录和实时事件流。`,`All modules share the same Argus project, workdir, and live event stream.`)})]})}),(0,J.jsx)(`section`,{className:`module-grid`,children:ln.map(n=>{let r=n.icon;return(0,J.jsxs)(`button`,{className:`module-card`,type:`button`,onClick:()=>e.navigate(n.id),children:[(0,J.jsx)(`span`,{className:`module-card__icon module-card__icon--${n.color}`,children:(0,J.jsx)(r,{size:20})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h3`,{children:t(n.zh,n.en)}),(0,J.jsx)(`p`,{children:t(n.zhDesc,n.enDesc)})]}),(0,J.jsx)(x,{size:16})]},n.id)})}),(0,J.jsxs)(`section`,{className:`overview-lower`,children:[(0,J.jsx)(ft,{eyebrow:`CURRENT MISSION`,title:t(`当前任务`,`Current mission`),children:(0,J.jsxs)(`div`,{className:`overview-mission`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(Ge,{size:18}),(0,J.jsx)(`span`,{children:n?.mission.status||`idle`})]}),(0,J.jsx)(`h3`,{children:n?.mission.title||e.project.current_task||t(`等待新任务`,`Waiting for a new task`)}),(0,J.jsx)(`p`,{children:n?.mission.summary||n?.frontier.summary||n?.review.reason||t(`Argus 的下一步和 Reviewer 边界会在这里同步。`,`Argus next steps and reviewer boundaries appear here.`)}),(0,J.jsxs)(`button`,{className:`button button--secondary`,type:`button`,onClick:()=>e.navigate(`experiments`),children:[t(`查看完整实验进程`,`View experiment progress`),` `,(0,J.jsx)(x,{size:14})]})]})}),(0,J.jsx)(ft,{eyebrow:`RECENT ACTIVITY`,title:t(`最近活动`,`Recent activity`),bodyClassName:`panel__body--flush`,children:(0,J.jsx)(mt,{events:e.events,limit:7,dense:!0})})]})]})}var dn=[`ICLR`,`NeurIPS`,`ICML`,`TMLR`,`ACL`,`EMNLP`,`NAACL`,`CVPR`,`ICCV`,`ECCV`,`AAAI`,`KDD`,`Nature Machine Intelligence`,`JMLR`,`IEEE TPAMI`,`__custom__`],fn=[`Novelty`,`Technical soundness`,`Experimental rigor`,`Baseline fairness`,`Statistical validity`,`Reproducibility`,`Writing clarity`,`Ethics / limitations`,`Artifact availability`],pn=`请特别检查 train/dev/test 泄漏、baseline 是否公平,以及 novelty claim 是否被现有直接工作覆盖。`,mn=`Pay special attention to train/dev/test leakage, baseline fairness, and whether direct prior work covers the novelty claim.`;function hn({mode:e,reviewerActive:t,hasReport:n}){let{text:r}=Q(),i=e===`process`?[[r(`Engineer 执行`,`Engineer execution`),r(`代码、实验与证据`,`Code, experiments, and evidence`),j],[r(`Reviewer 检查`,`Reviewer check`),r(`独立核验当前轮次`,`Independent round verification`),R],[r(`形成 Verdict`,`Produce verdict`),`done / continue / blocked`,Le],[r(`回流下一轮`,`Return to next round`),r(`修复任务进入 backlog`,`Repair tasks enter the backlog`),Fe]]:[[r(`选择最终稿`,`Select final draft`),r(`LaTeX / PDF 与证据包`,`LaTeX / PDF and evidence package`),I],[r(`独立最终审稿`,`Independent final review`),r(`按目标 venue 全面检查`,`Full target-venue review`),R],[r(`生成审稿报告`,`Generate review report`),r(`评分、问题与置信度`,`Scores, issues, and confidence`),F],[r(`修改清单`,`Revision checklist`),r(`投稿前人工确认`,`Human confirmation before submission`),be]];return(0,J.jsx)(`div`,{className:`review-flow`,children:i.map(([e,r,a],o)=>(0,J.jsxs)(`div`,{className:t&&o===1||n&&o>=2?`is-active`:o===0?`is-done`:``,children:[(0,J.jsx)(`span`,{children:o+1}),(0,J.jsx)(a,{size:17}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e}),(0,J.jsx)(`small`,{children:r})]}),o(o?.role_work??[]).filter(e=>e.role===`reviewer`).filter(e=>/review|verdict|decision|completion|handoff/i.test(`${e.kind} ${e.title}`)).sort((e,t)=>t.ts-e.ts),[o?.role_work]),c=(0,_.useMemo)(()=>e.events.filter(e=>/review/.test(String(e.type??``))||/review/.test(String(e.agent_layer??e.actor??``))),[e.events]),[l,u]=(0,_.useState)(``),d=s.find(e=>e.id===l)??s[0]??null,f=Vt(e.sid,`review`),p=i({queryKey:[`review-workspace-tree`,e.sid,f.workspaceId],queryFn:({signal:t})=>$.tree(e.sid,f.workspaceId,t),enabled:!!f.workspaceId,refetchInterval:12e3}),m=(p.data?.entries??[]).filter(e=>e.type===`file`&&!/final[_-]?review[_-]?request/i.test(e.path)&&/final[_-]?review|final[_-]?.*verdict|submission[_-]?review/i.test(e.path)).filter(e=>[`.md`,`.txt`,`.json`].includes(e.extension)).sort((e,t)=>t.mtime-e.mtime),h=(p.data?.entries??[]).filter(e=>e.type===`file`&&[`.tex`,`.md`,`.pdf`].includes(e.extension)&&/(?:^|\/)(paper|manuscript|technical_report)(?:\/|$)/i.test(e.path)).sort((e,t)=>t.mtime-e.mtime),[g,v]=(0,_.useState)(``),[y,b]=(0,_.useState)(``),x=m.find(e=>e.path===y)??m[0]??null,S=i({queryKey:[`final-review-file`,e.sid,f.workspaceId,x?.path,x?.mtime],queryFn:({signal:t})=>$.file(e.sid,f.workspaceId,x.path,t),enabled:!!(x&&f.workspaceId),refetchInterval:12e3}),[C,w]=(0,_.useState)(`ICLR`),[T,E]=(0,_.useState)(``),[D,ee]=(0,_.useState)(`conference`),[k,A]=(0,_.useState)(`strict`),[j,M]=(0,_.useState)([`Novelty`,`Technical soundness`,`Experimental rigor`,`Baseline fairness`,`Reproducibility`]),[N,te]=(0,_.useState)(()=>t===`zh-CN`?pn:mn),[P,ne]=(0,_.useState)(!1),[re,ie]=(0,_.useState)(``),[I,L]=(0,_.useState)(``),ae=o?.review,oe=o?.roles.find(e=>e.role===`reviewer`)||e.snapshot.roles.find(e=>e.role===`reviewer`);(0,_.useEffect)(()=>{te(e=>e===pn||e===mn?t===`zh-CN`?pn:mn:e)},[t]);let se=async()=>{let t=C===`__custom__`?T.trim():C;if(!(!t||!N.trim()||!confirm(n(`确认在项目完成后按 ${t} 标准发起独立最终审稿?`,`Start an independent final review using ${t} standards?`)))){ne(!0),ie(``),L(``);try{let r=await H.createFinalReview(e.sid,{venue:t,venue_type:D,strictness:k,manuscript_path:g,emphasis:j,scope:N});L(n(`最终审稿已进入 Argus 队列 · ${r.manifest_path}`,`Final review queued in Argus · ${r.manifest_path}`)),await Promise.all([e.refresh(),p.refetch()])}catch(e){ie(e instanceof Error?e.message:String(e))}finally{ne(!1)}}};return(0,J.jsxs)(`div`,{className:`ros-page reviewer-v2`,children:[(0,J.jsxs)(`header`,{className:`ros-page-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`eyebrow`,children:`REVIEWER ARENA`}),(0,J.jsx)(`h1`,{children:n(`模拟审稿`,`Reviewer arena`)}),(0,J.jsx)(`p`,{children:n(`过程审稿用于每轮 Engineer ⇄ Reviewer 纠偏;最终审稿用于论文完成后的投稿前独立检查。`,`Process review corrects each Engineer ⇄ Reviewer round; final review is an independent pre-submission check.`)})]}),(0,J.jsx)(Y,{tone:oe?.status?G(oe.status):`neutral`,dot:oe?.status===`active`,children:oe?.status||`waiting`})]}),(0,J.jsxs)(`div`,{className:`review-mode-tabs`,children:[(0,J.jsxs)(`button`,{type:`button`,className:r===`process`?`is-active`:``,onClick:()=>a(`process`),children:[(0,J.jsx)(he,{size:16}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:n(`过程审稿`,`Process review`)}),(0,J.jsx)(`small`,{children:n(`Argus 每轮执行中的 Reviewer 反馈`,`Reviewer feedback during each Argus round`)})]}),(0,J.jsx)(Y,{tone:`neutral`,children:s.length})]}),(0,J.jsxs)(`button`,{type:`button`,className:r===`final`?`is-active`:``,onClick:()=>a(`final`),children:[(0,J.jsx)(Le,{size:16}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:n(`最终审稿`,`Final review`)}),(0,J.jsx)(`small`,{children:n(`项目完成后的独立投稿前审稿`,`Independent pre-submission review`)})]}),(0,J.jsx)(Y,{tone:`neutral`,children:m.length})]})]}),r===`process`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(hn,{mode:`process`,reviewerActive:oe?.status===`active`,hasReport:!!ae?.status}),(0,J.jsxs)(`div`,{className:`process-review-layout`,children:[(0,J.jsxs)(`aside`,{className:`ros-card review-rounds`,children:[(0,J.jsx)(`header`,{children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`ENGINEER ⇄ REVIEWER`}),(0,J.jsx)(`h2`,{children:n(`过程审稿轮次`,`Process review rounds`)})]})}),(0,J.jsx)(`div`,{children:s.length?s.map(e=>(0,J.jsxs)(`button`,{type:`button`,className:d?.id===e.id?`is-active`:``,onClick:()=>u(e.id),children:[(0,J.jsx)(`span`,{className:`review-state review-state--${G(e.status)}`,children:(0,J.jsx)(R,{size:14})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.title}),(0,J.jsxs)(`small`,{children:[ct(e.ts),` · `,e.status||e.kind]})]})]},e.id)):(0,J.jsx)(X,{icon:R,title:n(`暂无过程审稿`,`No process reviews yet`)})})]}),(0,J.jsxs)(`main`,{className:`ros-card process-report`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`ROUND VERDICT`}),(0,J.jsx)(`h2`,{children:d?.title||n(`选择一轮 Reviewer 反馈`,`Select reviewer feedback`)})]}),d?(0,J.jsx)(Y,{tone:G(d.status),children:d.status}):null]}),d?(0,J.jsxs)(`article`,{children:[(0,J.jsxs)(`div`,{className:`process-report__meta`,children:[(0,J.jsxs)(`span`,{children:[`Round `,d.round_index??`—`]}),(0,J.jsx)(`time`,{children:ct(d.ts)})]}),(0,J.jsx)(Z,{children:d.detail||n(`该轮没有留下可展示报告。`,`This round has no displayable report.`)})]}):(0,J.jsx)(X,{icon:F,title:n(`选择左侧过程审稿`,`Select a process review`)})]}),(0,J.jsxs)(`aside`,{className:`ros-card review-live`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`LIVE REVIEW EVENTS`}),(0,J.jsx)(`h2`,{children:n(`Reviewer 实时轨迹`,`Live reviewer activity`)})]}),(0,J.jsx)(Y,{tone:e.connected?`live`:`warn`,dot:!0,children:e.connected?`Live`:`Polling`})]}),(0,J.jsx)(mt,{events:c,limit:24,dense:!0})]}),(0,J.jsxs)(`section`,{className:`process-verdict-card`,children:[(0,J.jsx)(`span`,{className:`process-verdict-card__icon process-verdict-card__icon--${G(ae?.status)}`,children:G(ae?.status)===`success`?(0,J.jsx)(O,{size:21}):(0,J.jsx)(qe,{size:21})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:n(`当前过程 Verdict`,`Current process verdict`)}),(0,J.jsx)(`strong`,{children:ae?.status||`Awaiting review`}),(0,J.jsx)(`p`,{children:ae?.reason||n(`Reviewer 完成下一轮后会写入判断和行动要求。`,`The Reviewer will record a decision and required actions after the next round.`)})]})]})]})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(hn,{mode:`final`,reviewerActive:P,hasReport:!!(x||I)}),(0,J.jsxs)(`div`,{className:`final-review-layout`,children:[(0,J.jsxs)(`aside`,{className:`ros-card final-review-files`,children:[(0,J.jsx)(`header`,{children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`FINAL REPORTS`}),(0,J.jsx)(`h2`,{children:n(`最终审稿报告`,`Final review reports`)})]})}),(0,J.jsx)(`div`,{children:m.length?m.map(e=>(0,J.jsxs)(`button`,{type:`button`,className:x?.path===e.path?`is-active`:``,onClick:()=>b(e.path),children:[(0,J.jsx)(F,{size:14}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:e.name}),(0,J.jsx)(`small`,{children:ct(e.mtime)})]})]},e.path)):(0,J.jsx)(X,{icon:F,title:n(`还没有最终审稿报告`,`No final review report yet`),description:n(`完成论文后可从右侧发起。`,`Start one from the form after the paper is complete.`)})})]}),(0,J.jsxs)(`main`,{className:`ros-card final-review-report`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`INDEPENDENT REVIEW`}),(0,J.jsx)(`h2`,{children:x?.name||n(`投稿前最终审稿`,`Pre-submission final review`)})]}),x?(0,J.jsx)(Y,{tone:`success`,children:`Saved report`}):null]}),S.data?(0,J.jsx)(`article`,{children:(0,J.jsx)(Z,{children:S.data.content})}):I?(0,J.jsxs)(`article`,{className:`final-review-receipt`,children:[(0,J.jsx)(Y,{tone:`success`,children:`Queued`}),(0,J.jsx)(`p`,{children:I}),(0,J.jsx)(`small`,{children:n(`Argus 将生成结构化最终审稿报告;可在过程事件和任务路线查看执行状态。`,`Argus will generate a structured final review report; execution remains visible in events and the task route.`)})]}):(0,J.jsx)(X,{icon:Le,title:n(`项目完成后再发起最终审稿`,`Start final review after project completion`),description:n(`最终 Reviewer 会读取完整稿件、实验、文献与过程审稿记录。`,`The final Reviewer reads the full manuscript, experiments, literature, and process-review history.`)})]}),(0,J.jsxs)(`aside`,{className:`ros-card final-review-form`,children:[(0,J.jsx)(`header`,{children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:`NEW FINAL REVIEW`}),(0,J.jsx)(`h2`,{children:n(`发起独立最终审稿`,`Start independent final review`)})]})}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`label`,{className:`field`,children:[(0,J.jsx)(`span`,{children:n(`选择最终稿`,`Select final manuscript`)}),(0,J.jsxs)(`select`,{value:g,onChange:e=>v(e.target.value),children:[(0,J.jsx)(`option`,{value:``,children:n(`自动选择最新稿件`,`Automatically select latest`)}),h.map(e=>(0,J.jsx)(`option`,{value:e.path,children:e.path},e.path))]})]}),(0,J.jsxs)(`div`,{className:`review-form-row`,children:[(0,J.jsxs)(`label`,{className:`field`,children:[(0,J.jsx)(`span`,{children:n(`Venue 类型`,`Venue type`)}),(0,J.jsxs)(`select`,{value:D,onChange:e=>ee(e.target.value),children:[(0,J.jsx)(`option`,{value:`conference`,children:`Conference`}),(0,J.jsx)(`option`,{value:`journal`,children:`Journal`}),(0,J.jsx)(`option`,{value:`workshop`,children:`Workshop`})]})]}),(0,J.jsxs)(`label`,{className:`field`,children:[(0,J.jsx)(`span`,{children:n(`审稿严格度`,`Review strictness`)}),(0,J.jsxs)(`select`,{value:k,onChange:e=>A(e.target.value),children:[(0,J.jsx)(`option`,{value:`preflight`,children:n(`快速预检`,`Quick preflight`)}),(0,J.jsx)(`option`,{value:`standard`,children:n(`标准审稿`,`Standard review`)}),(0,J.jsx)(`option`,{value:`strict`,children:n(`严格模拟审稿`,`Strict simulated review`)}),(0,J.jsx)(`option`,{value:`red-team`,children:`Red Team / Desk Reject`})]})]})]}),(0,J.jsxs)(`label`,{className:`field`,children:[(0,J.jsx)(`span`,{children:n(`目标会议 / 期刊`,`Target venue`)}),(0,J.jsx)(`select`,{value:C,onChange:e=>w(e.target.value),children:dn.map(e=>(0,J.jsx)(`option`,{value:e,children:e===`__custom__`?n(`其他 / 自定义…`,`Other / custom…`):e},e))})]}),C===`__custom__`?(0,J.jsxs)(`label`,{className:`field`,children:[(0,J.jsx)(`span`,{children:n(`自定义 Venue 名称`,`Custom venue name`)}),(0,J.jsx)(`input`,{value:T,onChange:e=>E(e.target.value),placeholder:n(`例如:Nature Machine Intelligence / CHI Workshop`,`Example: Nature Machine Intelligence / CHI Workshop`)})]}):null,(0,J.jsxs)(`fieldset`,{className:`review-emphasis`,children:[(0,J.jsx)(`legend`,{children:n(`重点审查维度`,`Review emphasis`)}),fn.map(e=>(0,J.jsxs)(`label`,{children:[(0,J.jsx)(`input`,{type:`checkbox`,checked:j.includes(e),onChange:()=>M(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}),(0,J.jsx)(`span`,{children:e})]},e))]}),(0,J.jsxs)(`label`,{className:`field`,children:[(0,J.jsx)(`span`,{children:n(`特别强调`,`Special emphasis`)}),(0,J.jsx)(`textarea`,{rows:5,value:N,onChange:e=>te(e.target.value),placeholder:n(`写明你最希望 Reviewer 严格检查的问题…`,`Describe what the Reviewer should scrutinize most…`)})]}),(0,J.jsxs)(`div`,{className:`final-review-warning`,children:[(0,J.jsx)(qe,{size:15}),(0,J.jsx)(`p`,{children:n(`这是完成阶段的独立 Reviewer,不替代正式同行评审,也不会自动投稿。`,`This independent completion-stage Reviewer does not replace peer review and never submits automatically.`)})]}),(0,J.jsxs)(`button`,{className:`button button--primary button--full`,type:`button`,disabled:P||!N.trim()||C===`__custom__`&&!T.trim(),onClick:()=>void se(),children:[P?(0,J.jsx)(z,{size:14}):(0,J.jsx)(ze,{size:14}),P?n(`正在创建审稿任务`,`Creating review task`):n(`开始最终审稿`,`Start final review`)]}),re?(0,J.jsx)(`div`,{className:`inline-error`,children:re}):null]})]})]})]})]})}var _n=[{icon:me,title:`GitHub Repository`,zhDetail:`README、LICENSE、CITATION.cff、环境文件、Secret Scan 与人工确认后的仓库创建。`,enDetail:`Prepare README, LICENSE, CITATION.cff, environment files, secret scanning, and an approved repository.`,zhItems:[`选择账户与可见性`,`生成发布清单`,`预览 Git diff`,`人工批准后 push`],enItems:[`Choose account and visibility`,`Generate release manifest`,`Preview Git diff`,`Push after approval`]},{icon:Me,title:`Academic Poster`,zhDetail:`从最终稿、图表和结果中生成可审阅的学术海报。`,enDetail:`Generate a reviewable academic poster from the final paper, figures, and results.`,zhItems:[`A0/A1 与横竖版`,`机构 Logo 与主题`,`图表布局`,`PDF / PNG / SVG`],enItems:[`A0/A1 portrait or landscape`,`Institution logo and theme`,`Figure layout`,`PDF / PNG / SVG`]},{icon:M,title:`Project Page`,zhDetail:`生成论文项目宣传页和可部署的静态站点。`,enDetail:`Generate a paper project page and deployable static site.`,zhItems:[`方法与结果展示`,`交互式图表`,`Paper / Code / Model`,`预览后部署`],enItems:[`Methods and results`,`Interactive charts`,`Paper / Code / Model`,`Deploy after preview`]}];function vn(e){let{text:t}=Q();return(0,J.jsxs)(`div`,{className:`ros-page release-page`,children:[(0,J.jsxs)(`header`,{className:`ros-page-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`eyebrow`,children:`RESULTS RELEASE`}),(0,J.jsx)(`h1`,{children:t(`成果发布`,`Results release`)}),(0,J.jsx)(`p`,{children:t(`未来用于把研究工作整理成 GitHub 仓库、学术海报和项目宣传页。当前只展示规划,不执行发布。`,`Plan a GitHub repository, academic poster, and project page. This view does not publish anything yet.`)})]}),(0,J.jsx)(Y,{tone:`warn`,children:t(`敬请期待`,`Planned`)})]}),(0,J.jsxs)(`section`,{className:`release-hero`,children:[(0,J.jsx)(`span`,{children:(0,J.jsx)(z,{size:28})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`eyebrow`,children:`PLANNED WORKSPACE`}),(0,J.jsx)(`h2`,{children:t(`从研究产物到可审核的公开成果`,`From research artifacts to reviewable public outputs`)}),(0,J.jsx)(`p`,{children:t(`后续将调用受审计的 AI Agent 基于真实工作区生成发布补丁和视觉资产,但任何外部创建、push 或部署都需要人工批准。`,`Audited agents will generate release patches and visual assets from the real workspace, while every external create, push, or deploy requires approval.`)})]})]}),(0,J.jsx)(`div`,{className:`release-module-grid`,children:_n.map(e=>{let n=e.icon,r=t(e.zhItems.join(` +`),e.enItems.join(` +`)).split(` +`);return(0,J.jsxs)(`article`,{className:`release-module`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`span`,{children:(0,J.jsx)(n,{size:20})}),(0,J.jsx)(Y,{tone:`neutral`,children:t(`规划中`,`Planned`)})]}),(0,J.jsx)(`h3`,{children:e.title}),(0,J.jsx)(`p`,{children:t(e.zhDetail,e.enDetail)}),(0,J.jsx)(`ul`,{children:r.map(e=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(te,{size:13}),e]},e))})]},e.title)})}),(0,J.jsxs)(`section`,{className:`release-flow`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(De,{size:18}),(0,J.jsx)(`strong`,{children:t(`扫描批准的工作区`,`Scan approved workspace`)}),(0,J.jsx)(`small`,{children:e.snapshot.session.workdir||e.project.workdir})]}),(0,J.jsx)(`b`,{children:`→`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(z,{size:18}),(0,J.jsx)(`strong`,{children:t(`生成发布计划`,`Generate release plan`)}),(0,J.jsx)(`small`,{children:t(`只生成补丁,不直接发布`,`Generate patches without publishing`)})]}),(0,J.jsx)(`b`,{children:`→`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(R,{size:18}),(0,J.jsx)(`strong`,{children:t(`安全与匿名检查`,`Safety and anonymity checks`)}),(0,J.jsx)(`small`,{children:t(`Secrets、License、身份信息`,`Secrets, licenses, and identity`)})]}),(0,J.jsx)(`b`,{children:`→`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(me,{size:18}),(0,J.jsx)(`strong`,{children:t(`人工批准`,`Human approval`)}),(0,J.jsx)(`small`,{children:t(`之后才允许外部 push / deploy`,`Required before push or deploy`)})]})]}),(0,J.jsxs)(`section`,{className:`release-boundary`,children:[(0,J.jsx)(R,{size:18}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`strong`,{children:t(`当前边界`,`Current boundary`)}),(0,J.jsx)(`p`,{children:t(`页面没有可点击的假发布按钮,也没有合成进度。等 release manifest、异步 Job、Secret Scan 和审批记录后再启用。`,`There are no fake publish controls or synthetic progress indicators. Publishing stays disabled until manifests, async jobs, secret scanning, and approval records exist.`)})]})]})]})}function yn(e){let t=String(e.event_id??e.id??``);if(t)return t;let n=String(e.message_id??``);return n?`${e.type??``}:${n}:${e.kind??``}`:[e.type??``,e.ts??``,e.agent_layer??e.actor??``,e.kind??``,String(e.text??e.title??e.reason??``).slice(0,160)].join(`|`)}function bn(e,t){let n=[...e],r=new Map(n.map((e,t)=>[yn(e),t]));return t.forEach(e=>{let t=yn(e),i=r.get(t);i==null?(r.set(t,n.length),n.push(e)):n[i]={...n[i],...e}}),n.sort((e,t)=>Number(e.ts??0)-Number(t.ts??0)).slice(-600)}function xn(e=!0){return i({queryKey:[`v2-projects`],queryFn:({signal:e})=>H.projects(e),enabled:e,refetchInterval:1e4})}function Sn(e,t=!0){let n=r(),[o,s]=(0,_.useState)([]),[c,l]=(0,_.useState)(!1),u=(0,_.useRef)(null),d=!!e&&t,f=i({queryKey:[`v2-snapshot`,e],queryFn:({signal:t})=>H.snapshot(e,t),enabled:d,refetchInterval:5e3}),p=i({queryKey:[`v2-status`,e],queryFn:({signal:t})=>H.status(e,t),enabled:d,refetchInterval:6e3}),m=i({queryKey:[`v2-transcript`,e],queryFn:({signal:t})=>H.transcript(e,120,t),enabled:d,refetchInterval:8e3}),h=i({queryKey:[`v2-artifacts`,e],queryFn:({signal:t})=>H.artifacts(e,t),enabled:d,refetchInterval:8e3}),g=i({queryKey:[`v2-git-diff`,e],queryFn:({signal:t})=>H.gitDiff(e,t),enabled:d,refetchInterval:8e3}),v=i({queryKey:[`v2-journal`,e],queryFn:({signal:t})=>H.journal(e,80,t),enabled:d,refetchInterval:1e4}),y=i({queryKey:[`v2-events`,e],queryFn:({signal:t})=>H.events(e,220,t),enabled:d,refetchInterval:15e3});(0,_.useEffect)(()=>{s([]),l(!1)},[e]),(0,_.useEffect)(()=>{!e||!y.data||s(e=>bn(e,y.data))},[y.data,e]),(0,_.useEffect)(()=>{if(!e||!t){l(!1);return}let r=ot(e,t=>{s(e=>bn(e,[t])),u.current??=window.setTimeout(()=>{u.current=null,n.invalidateQueries({queryKey:[`v2-snapshot`,e]}),n.invalidateQueries({queryKey:[`v2-status`,e]});let r=String(t.type??``);/artifact|review.completed|mission.completed|live_view/.test(r)&&n.invalidateQueries({queryKey:[`v2-artifacts`,e]}),/ui\.|manager/.test(r)&&n.invalidateQueries({queryKey:[`v2-transcript`,e]})},900)},l);return()=>{r.close(),l(!1),u.current!=null&&(window.clearTimeout(u.current),u.current=null)}},[t,n,e]);let b=async()=>{e&&await Promise.all([n.invalidateQueries({queryKey:[`v2-snapshot`,e]}),n.invalidateQueries({queryKey:[`v2-status`,e]}),n.invalidateQueries({queryKey:[`v2-transcript`,e]}),n.invalidateQueries({queryKey:[`v2-artifacts`,e]}),n.invalidateQueries({queryKey:[`v2-git-diff`,e]}),n.invalidateQueries({queryKey:[`v2-journal`,e]}),n.invalidateQueries({queryKey:[`v2-events`,e]})])},x=a({mutationFn:()=>H.startDaemon(e,f.data?.daemon_commands?.revision),onSuccess:b}),S=a({mutationFn:t=>H.stopDaemon(e,t,f.data?.daemon_commands?.revision),onSuccess:b}),C=(0,_.useMemo)(()=>{let e=[f,p,m,h,g,v,y].find(e=>e.error);return e?.error instanceof Error?e.error:null},[h,y,g,v,f,p,m]);return{snapshot:f,status:p,transcript:m,artifacts:h,gitDiff:g,journal:v,events:o,connected:c,refresh:b,controls:{start:x,stop:S},error:C}}var Cn=[[`overview`,`项目概览`,`Project overview`,ce],[`experiments`,`实验进程`,`Experiments`,se],[`copilot`,`Research Copilot`,`Research Copilot`,Ee],[`literature`,`文献中心`,`Literature`,w],[`inbox`,`科研收信箱`,`Research inbox`,_e],[`ide`,`AI IDE`,`AI IDE`,j],[`paper`,`论文工作区`,`Paper`,I],[`reviewer`,`模拟审稿`,`Reviewer`,R],[`release`,`成果发布`,`Release`,we]];function wn({sid:e,active:t}){let{locale:n}=u(),[r,i]=(0,_.useState)(`overview`),a=xn(t),o=a.data?.projects??[],s=(0,_.useMemo)(()=>o.find(t=>t.id===e)??null,[o,e]),c=Sn(e,t),l=c.controls.start.error||c.controls.stop.error,d=s&&c.snapshot.data?{sid:e,project:s,snapshot:c.snapshot.data,status:c.status.data,events:c.events,transcript:c.transcript.data??[],artifacts:c.artifacts.data??[],gitDiff:c.gitDiff.data,journal:c.journal.data??[],connected:c.connected,snapshotUpdatedAt:c.snapshot.dataUpdatedAt,refresh:c.refresh,controls:{start:async()=>{try{return await c.controls.start.mutateAsync()}catch{return null}},stop:async e=>{try{return await c.controls.stop.mutateAsync(e)}catch{return null}},busy:c.controls.start.isPending||c.controls.stop.isPending,error:l instanceof Error?l.message:``},navigate:i}:null,f=d?r===`overview`?(0,J.jsx)(un,{...d}):r===`experiments`?(0,J.jsx)(Ft,{...d}):r===`copilot`?(0,J.jsx)(xt,{...d}):r===`literature`?(0,J.jsx)($t,{...d}):r===`inbox`?(0,J.jsx)(Zt,{...d}):r===`ide`?(0,J.jsx)(Wt,{...d}):r===`paper`?(0,J.jsx)(cn,{...d}):r===`reviewer`?(0,J.jsx)(gn,{...d}):(0,J.jsx)(vn,{...d}):null;return(0,J.jsxs)(`section`,{className:`integrated-workbench flex min-h-0 flex-1 flex-col bg-transparent text-ink`,children:[(0,J.jsx)(`nav`,{className:`workbench-module-tabs shrink-0 border-b border-line/60 px-3 py-2`,"aria-label":n===`zh-CN`?`科研工作台模块`:`Research workbench modules`,children:(0,J.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:Cn.map(([e,t,a,o])=>(0,J.jsxs)(`button`,{type:`button`,className:`workbench-module-tab`,"data-selected":r===e,onClick:()=>i(e),children:[(0,J.jsx)(o,{size:14}),(0,J.jsx)(`span`,{children:n===`zh-CN`?t:a})]},e))})}),(0,J.jsx)(`div`,{className:`ros-content min-h-0 flex-1 overflow-x-hidden overflow-y-auto`,children:a.isError||c.snapshot.isError&&!c.snapshot.data?(0,J.jsx)(X,{title:n===`zh-CN`?`工作台读取失败`:`Workbench unavailable`,description:`Argus API did not return the selected project.`}):d?f:(0,J.jsx)(`div`,{className:`boot-state`,children:(0,J.jsx)(pt,{label:n===`zh-CN`?`正在载入工作台`:`Loading workbench`})})})]})}export{wn as ResearchWorkbenchPanel}; \ No newline at end of file diff --git a/frontend/web/dist/assets/ResearchWorkbenchPanel-Bxi8TjKE.css b/frontend/web/dist/assets/ResearchWorkbenchPanel-Bxi8TjKE.css new file mode 100644 index 000000000..96cead58b --- /dev/null +++ b/frontend/web/dist/assets/ResearchWorkbenchPanel-Bxi8TjKE.css @@ -0,0 +1 @@ +*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.integrated-workbench{--surface-2:var(--panel-raised);--surface-3:var(--panel);--overlay:var(--panel-raised);--border:var(--line);--border-strong:var(--glass-edge);--text:var(--ink);--muted:var(--ink-dim);--faint:var(--ink-faint);--accent:var(--blue-deep);--accent-fg:255 255 255;--blue-bg:var(--conversation-argus);--green:var(--role-engineer);--green-bg:var(--conversation-argus);--amber:var(--role-reviewer);--amber-bg:var(--conversation-user);--red:var(--spectral-rose);--red-bg:var(--conversation-user);--violet:var(--role-planner);--violet-bg:var(--conversation-argus);--rose:var(--spectral-rose);--rose-bg:var(--conversation-user);--manager:var(--role-manager);--planner:var(--role-planner);--engineer:var(--role-engineer);--reviewer:var(--role-reviewer);--shadow-1:0 1px 2px #0000000a;--shadow-2:0 12px 28px -22px rgb(var(--spectral-blue) / .5);--shadow-3:0 24px 64px -28px rgb(var(--spectral-blue) / .58);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--font:"Geist Variable", "PingFang SC", "Microsoft YaHei", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;min-width:0;min-height:0;font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px}.integrated-workbench ::selection{background:rgb(var(--blue) / .2)}.integrated-workbench :focus-visible{outline:2px solid rgb(var(--blue) / .62);outline-offset:2px}.integrated-workbench ::-webkit-scrollbar{width:7px;height:7px}.integrated-workbench ::-webkit-scrollbar-track{background:0 0}.integrated-workbench ::-webkit-scrollbar-thumb{background:rgb(var(--faint) / .55);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.argus-wordmark{align-items:center;gap:10px;display:inline-flex}.argus-wordmark svg{flex:none}.argus-wordmark__copy{flex-direction:column;align-items:flex-start;line-height:1.05;display:flex}.argus-wordmark__copy strong{letter-spacing:-.025em;font-size:16px;font-weight:720}.argus-wordmark__copy small{color:rgb(var(--muted));margin-top:3px;font-size:9px;font-weight:530}.brand-button{background:0 0;align-items:center;padding:0;display:inline-flex}.button{border:1px solid rgb(var(--border-strong));background:rgb(var(--surface));min-height:36px;color:rgb(var(--text));box-shadow:var(--shadow-1);border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:590;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.button:hover:not(:disabled){border-color:rgb(var(--faint));box-shadow:var(--shadow-2);transform:translateY(-1px)}.button--primary{border-color:rgb(var(--accent));background:rgb(var(--accent));color:rgb(var(--accent-fg))}.button--secondary{background:rgb(var(--surface-2));box-shadow:none}.button--danger{border-color:rgb(var(--red) / .25);background:rgb(var(--red-bg));color:rgb(var(--red))}.button--large{border-radius:11px;min-height:42px;padding:9px 15px}.button--full{width:100%}.icon-button{border:1px solid rgb(var(--border));background:rgb(var(--surface));width:34px;height:34px;color:rgb(var(--muted));border-radius:9px;flex:0 0 34px;place-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-grid}.icon-button:hover:not(:disabled){border-color:rgb(var(--border-strong));background:rgb(var(--surface-2));color:rgb(var(--text))}.badge{border:1px solid rgb(var(--border));background:rgb(var(--surface-2));min-height:22px;color:rgb(var(--muted));white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:610;line-height:1.2;display:inline-flex}.badge__dot,.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-dot{color:rgb(var(--faint));background:rgb(var(--faint));display:inline-block}.status-dot.is-live{color:rgb(var(--green));background:rgb(var(--green));box-shadow:0 0 0 4px rgb(var(--green) / .11)}.is-pulsing{animation:2s infinite livePulse}.ros-card,.panel{border:1px solid rgb(var(--border));border-radius:var(--radius-md);background:rgb(var(--surface));min-width:0;min-height:0;box-shadow:var(--shadow-1);overflow:hidden}.panel{flex-direction:column;display:flex}.panel__header,.ros-card>header{border-bottom:1px solid rgb(var(--border));justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:12px 16px;display:flex}.panel__heading,.ros-card>header>div{min-width:0}.panel__title,.ros-card>header h2{color:rgb(var(--text));margin:1px 0 0;font-size:13px;font-weight:650}.ros-card>header span,.panel__header .eyebrow{color:rgb(var(--faint));letter-spacing:.12em;font-size:9px;font-weight:690}.panel__body{min-width:0;min-height:0;padding:16px}.panel__body--flush{padding:0}.eyebrow{color:rgb(var(--faint));letter-spacing:.15em;margin-bottom:4px;font-size:9px;font-weight:700}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:28px;display:flex}.empty-state__icon{border:1px solid rgb(var(--border));background:rgb(var(--surface-2));width:44px;height:44px;color:rgb(var(--faint));border-radius:12px;place-items:center;margin-bottom:12px;display:grid}.empty-state__title{font-size:13px;font-weight:640}.empty-state p{max-width:360px;color:rgb(var(--muted));margin:6px 0 0;font-size:11px;line-height:1.55}.empty-state__action{margin-top:14px}.spinner{color:rgb(var(--muted));align-items:center;gap:7px;font-size:12px;display:inline-flex}.spin{animation:.85s linear infinite spin}.inline-error{border:1px solid rgb(var(--red) / .22);background:rgb(var(--red-bg));color:rgb(var(--red));border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.5}.\!notice{border:1px solid rgb(var(--border))!important;background:rgb(var(--surface))!important;color:rgb(var(--muted))!important;border-radius:11px!important;gap:8px!important;padding:11px 13px!important;font-size:11px!important;display:flex!important}.notice{border:1px solid rgb(var(--border));background:rgb(var(--surface));color:rgb(var(--muted));border-radius:11px;gap:8px;padding:11px 13px;font-size:11px;display:flex}.markdown{min-width:0;font-size:inherit;overflow-wrap:anywhere;line-height:1.68}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:.55em 0}.markdown h1,.markdown h2,.markdown h3{margin:1.2em 0 .45em;line-height:1.3}.markdown h1{font-size:1.4em}.markdown h2{font-size:1.22em}.markdown h3{font-size:1.08em}.markdown ul,.markdown ol{padding-left:1.55em}.markdown blockquote{border-left:3px solid rgb(var(--blue) / .45);background:rgb(var(--blue-bg));color:rgb(var(--muted));border-radius:0 8px 8px 0;margin:.8em 0;padding:7px 12px}.markdown code{background:rgb(var(--surface-2));font-family:var(--mono);border-radius:5px;padding:.12em .34em;font-size:.88em}.markdown pre{border:1px solid rgb(var(--border));background:rgb(var(--surface-2));border-radius:10px;padding:12px;overflow:auto}.markdown pre code{background:0 0;padding:0}.markdown a{color:rgb(var(--blue));align-items:center;gap:3px;text-decoration:none;display:inline-flex}.markdown a:hover{text-decoration:underline}.markdown table{border-collapse:collapse;width:100%}.markdown th,.markdown td{border:1px solid rgb(var(--border));text-align:left;padding:6px 8px}.search-field{border:1px solid rgb(var(--border-strong));background:rgb(var(--surface));min-width:250px;color:rgb(var(--faint));border-radius:10px;align-items:center;gap:7px;padding:0 10px;display:flex}.search-field input{background:0 0;border:0;outline:0;width:100%;height:36px;font-size:12px}.search-field--block{margin:12px}.field{flex-direction:column;gap:6px;display:flex}.field>span,.form-grid label>span{color:rgb(var(--muted));font-size:11px;font-weight:580}.field input,.field textarea,.field select,.form-grid input,.new-project-fields input{border:1px solid rgb(var(--border-strong));background:rgb(var(--surface));border-radius:10px;outline:none;width:100%;padding:9px 10px;font-size:12px}.field input:focus,.field textarea:focus,.field select:focus,.form-grid input:focus,.new-project-fields input:focus{border-color:rgb(var(--blue) / .55);box-shadow:0 0 0 3px rgb(var(--blue) / .09)}.field textarea{resize:vertical;line-height:1.55}.field--grow{flex:1;min-height:0}.field--grow textarea{resize:none;flex:1;min-height:220px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid label{flex-direction:column;gap:6px;display:flex}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.header-badges{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.manager-mini-result{border-top:1px solid rgb(var(--border));max-height:260px;margin-top:10px;padding-top:10px;overflow:auto}.manager-mini-result .markdown{font-size:11px}.event-list{padding:5px}.event-row{border-radius:8px;grid-template-columns:22px minmax(0,1fr);gap:7px;padding:9px;display:grid;position:relative}.event-row:hover{background:rgb(var(--surface-2))}.event-row__marker{border:2px solid rgb(var(--surface));background:rgb(var(--faint));width:8px;height:8px;box-shadow:0 0 0 1px rgb(var(--border-strong));border-radius:50%;margin:6px auto 0}.event-row__content{min-width:0}.event-row__meta{gap:7px;display:flex}.event-row__meta time{color:rgb(var(--faint));font-family:var(--mono);margin-left:auto;font-size:9px}.role-label{text-transform:uppercase;font-size:9px;font-weight:700}.event-row__title{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;font-weight:620;overflow:hidden}.event-row__detail{color:rgb(var(--muted));font-family:var(--mono);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:2px;font-size:9px;line-height:1.45;display:-webkit-box;overflow:hidden}.event-list--dense .event-row{padding-block:7px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.inset-y-1{top:.25rem;bottom:.25rem}.inset-y-2{top:.5rem;bottom:.5rem}.-bottom-2\.5{bottom:-.625rem}.-left-0\.5{left:-.125rem}.-top-2\.5{top:-.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.left-\[10\%\]{left:10%}.left-\[5px\]{left:5px}.right-0\.5{right:.125rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-4{right:1rem}.right-\[10\%\]{right:10%}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-2{top:.5rem}.top-3{top:.75rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[70\]{z-index:70}.order-2{order:2}.order-3{order:3}.col-span-full{grid-column:1/-1}.m-auto{margin:auto}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-\[7px\]{margin-top:7px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[100dvh\]{height:100dvh}.h-\[62vh\]{height:62vh}.h-\[68vh\]{height:68vh}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-36{max-height:9rem}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[52vh\]{max-height:52vh}.max-h-\[58vh\]{max-height:58vh}.max-h-\[62vh\]{max-height:62vh}.max-h-\[64vh\]{max-height:64vh}.max-h-\[70dvh\]{max-height:70dvh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[76vh\]{max-height:76vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-14{min-height:3.5rem}.min-h-52{min-height:13rem}.min-h-64{min-height:16rem}.min-h-\[3\.25rem\]{min-height:3.25rem}.min-h-\[320px\]{min-height:320px}.min-h-\[38px\]{min-height:38px}.min-h-\[60vh\]{min-height:60vh}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[min\(92vw\,42rem\)\]{width:min(92vw,42rem)}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-3\.5{min-width:.875rem}.min-w-32{min-width:8rem}.min-w-52{min-width:13rem}.min-w-max{min-width:max-content}.max-w-24{max-width:6rem}.max-w-28{max-width:7rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-64{max-width:16rem}.max-w-6xl{max-width:72rem}.max-w-72{max-width:18rem}.max-w-\[calc\(100\%_-_3rem\)\]{max-width:calc(100% - 3rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-appear{animation:.2s cubic-bezier(.4,0,.2,1) appear}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[16px_minmax\(0\,1fr\)\]{grid-template-columns:16px minmax(0,1fr)}.grid-cols-\[44px_10px_minmax\(0\,1fr\)\]{grid-template-columns:44px 10px minmax(0,1fr)}.grid-cols-\[72px_minmax\(0\,1fr\)\]{grid-template-columns:72px minmax(0,1fr)}.grid-cols-\[84px_minmax\(0\,1fr\)_auto\]{grid-template-columns:84px minmax(0,1fr) auto}.grid-cols-\[8px_minmax\(0\,1fr\)_auto\]{grid-template-columns:8px minmax(0,1fr) auto}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue{--tw-border-opacity:1;border-color:rgb(var(--blue) / var(--tw-border-opacity,1))}.border-blue-deep{--tw-border-opacity:1;border-color:rgb(var(--blue-deep) / var(--tw-border-opacity,1))}.border-blue-deep\/30{border-color:rgb(var(--blue-deep) / .3)}.border-blue-deep\/50{border-color:rgb(var(--blue-deep) / .5)}.border-blue-deep\/60{border-color:rgb(var(--blue-deep) / .6)}.border-blue\/25{border-color:rgb(var(--blue) / .25)}.border-blue\/30{border-color:rgb(var(--blue) / .3)}.border-blue\/35{border-color:rgb(var(--blue) / .35)}.border-blue\/50{border-color:rgb(var(--blue) / .5)}.border-blue\/70{border-color:rgb(var(--blue) / .7)}.border-err\/30{border-color:#dc7d784d}.border-err\/40{border-color:#dc7d7866}.border-err\/50{border-color:#dc7d7880}.border-err\/60{border-color:#dc7d7899}.border-gold\/25{border-color:#d1b27c40}.border-gold\/30{border-color:#d1b27c4d}.border-gold\/40{border-color:#d1b27c66}.border-line{--tw-border-opacity:1;border-color:rgb(var(--line) / var(--tw-border-opacity,1))}.border-line\/30{border-color:rgb(var(--line) / .3)}.border-line\/40{border-color:rgb(var(--line) / .4)}.border-line\/50{border-color:rgb(var(--line) / .5)}.border-line\/60{border-color:rgb(var(--line) / .6)}.border-line\/70{border-color:rgb(var(--line) / .7)}.border-line\/80{border-color:rgb(var(--line) / .8)}.border-manager\/70{border-color:rgb(var(--role-manager) / .7)}.border-ok\/20{border-color:#78b89233}.border-ok\/25{border-color:#78b89240}.border-ok\/35{border-color:#78b89259}.border-ok\/40{border-color:#78b89266}.border-ok\/60{border-color:#78b89299}.border-panel{--tw-border-opacity:1;border-color:rgb(var(--panel) / var(--tw-border-opacity,1))}.border-warn\/40{border-color:#d1ad6866}.border-warn\/50{border-color:#d1ad6880}.border-t-blue{--tw-border-opacity:1;border-top-color:rgb(var(--blue) / var(--tw-border-opacity,1))}.bg-\[rgb\(4_11_24_\/_0\.58\)\]{background-color:#040b1894}.bg-bg{--tw-bg-opacity:1;background-color:rgb(var(--bg) / var(--tw-bg-opacity,1))}.bg-bg\/25{background-color:rgb(var(--bg) / .25)}.bg-bg\/30{background-color:rgb(var(--bg) / .3)}.bg-bg\/35{background-color:rgb(var(--bg) / .35)}.bg-bg\/40{background-color:rgb(var(--bg) / .4)}.bg-bg\/50{background-color:rgb(var(--bg) / .5)}.bg-bg\/60{background-color:rgb(var(--bg) / .6)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/40{background-color:#0006}.bg-blue{--tw-bg-opacity:1;background-color:rgb(var(--blue) / var(--tw-bg-opacity,1))}.bg-blue-deep{--tw-bg-opacity:1;background-color:rgb(var(--blue-deep) / var(--tw-bg-opacity,1))}.bg-blue-deep\/10{background-color:rgb(var(--blue-deep) / .1)}.bg-blue-deep\/20{background-color:rgb(var(--blue-deep) / .2)}.bg-blue-deep\/5{background-color:rgb(var(--blue-deep) / .05)}.bg-blue-sky{--tw-bg-opacity:1;background-color:rgb(var(--blue-sky) / var(--tw-bg-opacity,1))}.bg-blue\/10{background-color:rgb(var(--blue) / .1)}.bg-blue\/5{background-color:rgb(var(--blue) / .05)}.bg-conversation-user{--tw-bg-opacity:1;background-color:rgb(var(--conversation-user) / var(--tw-bg-opacity,1))}.bg-engineer{--tw-bg-opacity:1;background-color:rgb(var(--role-engineer) / var(--tw-bg-opacity,1))}.bg-err{--tw-bg-opacity:1;background-color:rgb(220 125 120/var(--tw-bg-opacity,1))}.bg-err\/10{background-color:#dc7d781a}.bg-err\/5{background-color:#dc7d780d}.bg-gold{--tw-bg-opacity:1;background-color:rgb(209 178 124/var(--tw-bg-opacity,1))}.bg-gold\/5{background-color:#d1b27c0d}.bg-gold\/80{background-color:#d1b27ccc}.bg-ink-faint{--tw-bg-opacity:1;background-color:rgb(var(--ink-faint) / var(--tw-bg-opacity,1))}.bg-ink-faint\/35{background-color:rgb(var(--ink-faint) / .35)}.bg-ink-faint\/50{background-color:rgb(var(--ink-faint) / .5)}.bg-line{--tw-bg-opacity:1;background-color:rgb(var(--line) / var(--tw-bg-opacity,1))}.bg-line\/30{background-color:rgb(var(--line) / .3)}.bg-line\/40{background-color:rgb(var(--line) / .4)}.bg-line\/60{background-color:rgb(var(--line) / .6)}.bg-line\/80{background-color:rgb(var(--line) / .8)}.bg-manager\/10{background-color:rgb(var(--role-manager) / .1)}.bg-ok{--tw-bg-opacity:1;background-color:rgb(120 184 146/var(--tw-bg-opacity,1))}.bg-ok\/10{background-color:#78b8921a}.bg-ok\/5{background-color:#78b8920d}.bg-panel{--tw-bg-opacity:1;background-color:rgb(var(--panel) / var(--tw-bg-opacity,1))}.bg-panel-raised{--tw-bg-opacity:1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity,1))}.bg-panel\/80{background-color:rgb(var(--panel) / .8)}.bg-panel\/85{background-color:rgb(var(--panel) / .85)}.bg-panel\/95{background-color:rgb(var(--panel) / .95)}.bg-surface{--tw-bg-opacity:1;background-color:rgb(var(--surface) / var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-warn\/10{background-color:#d1ad681a}.bg-warn\/5{background-color:#d1ad680d}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/\[0\.03\]{background-color:#ffffff08}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-0\.5{padding-left:.125rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-10{padding-right:2.5rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace}.font-sans{font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[1\.625\]{line-height:1.625}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-bg{--tw-text-opacity:1;color:rgb(var(--bg) / var(--tw-text-opacity,1))}.text-blue{--tw-text-opacity:1;color:rgb(var(--blue) / var(--tw-text-opacity,1))}.text-blue-sky{--tw-text-opacity:1;color:rgb(var(--blue-sky) / var(--tw-text-opacity,1))}.text-err{--tw-text-opacity:1;color:rgb(220 125 120/var(--tw-text-opacity,1))}.text-gold{--tw-text-opacity:1;color:rgb(209 178 124/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(var(--ink) / var(--tw-text-opacity,1))}.text-ink-dim{--tw-text-opacity:1;color:rgb(var(--ink-dim) / var(--tw-text-opacity,1))}.text-ink-faint{--tw-text-opacity:1;color:rgb(var(--ink-faint) / var(--tw-text-opacity,1))}.text-manager{--tw-text-opacity:1;color:rgb(var(--role-manager) / var(--tw-text-opacity,1))}.text-ok{--tw-text-opacity:1;color:rgb(120 184 146/var(--tw-text-opacity,1))}.text-warn{--tw-text-opacity:1;color:rgb(209 173 104/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-blue\/35{-webkit-text-decoration-color:rgb(var(--blue) / .35);text-decoration-color:rgb(var(--blue) / .35)}.underline-offset-2{text-underline-offset:2px}.accent-blue{accent-color:rgb(var(--blue) / 1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[0_10px_24px_-20px_rgb\(var\(--spectral-blue\)\/0\.8\)\]{--tw-shadow:0 10px 24px -20px rgb(var(--spectral-blue)/.8);--tw-shadow-colored:0 10px 24px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_12px_36px_-22px_rgb\(var\(--spectral-violet\)\/0\.7\)\]{--tw-shadow:0 12px 36px -22px rgb(var(--spectral-violet)/.7);--tw-shadow-colored:0 12px 36px -22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-glow{--tw-shadow:0 16px 44px #00000057;--tw-shadow-colored:0 16px 44px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-bg{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--bg) / var(--tw-ring-opacity,1))}.ring-err\/30{--tw-ring-color:#dc7d784d}.ring-line\/35{--tw-ring-color:rgb(var(--line) / .35)}.ring-manager\/60{--tw-ring-color:rgb(var(--role-manager) / .6)}.ring-ok\/30{--tw-ring-color:#78b8924d}.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-panel{--tw-ring-offset-color:rgb(var(--panel) / 1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,transform\,visibility\]{transition-property:width,transform,visibility;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-\[250ms\]{transition-duration:.25s}.duration-panel{transition-duration:.22s}.ease-panel{transition-timing-function:cubic-bezier(.4,0,.2,1)}@layer reset{.integrated-workbench,.integrated-workbench *,.integrated-workbench :before,.integrated-workbench :after{box-sizing:border-box}.integrated-workbench button,.integrated-workbench input,.integrated-workbench textarea,.integrated-workbench select{font:inherit;color:inherit}.integrated-workbench button{border:0}.integrated-workbench button:not(:disabled),.integrated-workbench select:not(:disabled){cursor:pointer}.integrated-workbench button:disabled{cursor:not-allowed;opacity:.48}.integrated-workbench a{color:inherit}}@layer base,components;@layer pages{.ros-app{background:rgb(var(--bg));width:100vw;height:100dvh;overflow:hidden}.ros-topbar{z-index:40;height:var(--topbar);border-bottom:1px solid rgb(var(--border));background:rgb(var(--surface) / .96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:11px;padding:0 18px;display:flex;position:relative}.ros-topbar--hub{padding-inline:max(20px,50vw - 620px)}.ros-topbar__divider{background:rgb(var(--border));width:1px;height:24px}.ros-topbar>strong{font-size:13px}.ros-topbar__spacer{flex:1}.ros-topbar__menu{display:none}.back-to-projects{color:rgb(var(--muted));background:0 0;align-items:center;gap:5px;font-size:12px;display:flex}.back-to-projects:hover{color:rgb(var(--text))}.workspace-project-select{align-items:center;gap:8px;min-width:230px;max-width:390px;display:flex;position:relative}.workspace-project-select select{appearance:none;text-overflow:ellipsis;background:0 0;border:0;outline:none;width:100%;padding-right:20px;font-size:13px;font-weight:640}.workspace-project-select>svg{color:rgb(var(--faint));pointer-events:none;position:absolute;right:0}.ros-workspace{height:calc(100dvh - var(--topbar));grid-template-columns:var(--sidebar) minmax(0, 1fr);display:grid}.ros-sidebar{border-right:1px solid rgb(var(--border));background:rgb(var(--surface));flex-direction:column;min-height:0;padding:12px;display:flex}.ros-sidebar__mobile-brand{display:none}.ros-sidebar__projects{min-height:40px;color:rgb(var(--muted));text-align:left;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:0 11px;font-size:12px;font-weight:600;display:flex}.ros-sidebar__projects:hover{background:rgb(var(--surface-2));color:rgb(var(--text))}.ros-sidebar nav{flex:1;min-height:0;padding-top:13px;overflow-y:auto}.ros-sidebar nav section+section{margin-top:18px}.ros-sidebar nav h2{color:rgb(var(--faint));letter-spacing:.13em;text-transform:uppercase;margin:0 0 5px;padding:0 11px;font-size:9px;font-weight:710}.ros-sidebar nav button{width:100%;min-height:39px;color:rgb(var(--muted));text-align:left;background:0 0;border-radius:10px;align-items:center;gap:9px;padding:0 11px;transition:background .15s,color .15s;display:flex;position:relative}.ros-sidebar nav button:hover{background:rgb(var(--surface-2));color:rgb(var(--text))}.ros-sidebar nav button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg));box-shadow:var(--shadow-1)}.ros-sidebar nav button span{font-size:12px;font-weight:580}.ros-sidebar nav button i{background:rgb(var(--green));width:6px;height:6px;box-shadow:0 0 0 3px rgb(var(--green) / .12);border-radius:50%;margin-left:auto}.ros-sidebar__runtime{border:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .55);border-radius:12px;padding:12px}.ros-sidebar__runtime>div{align-items:center;gap:7px;display:flex}.ros-sidebar__runtime strong{font-size:11px}.ros-sidebar__runtime p{color:rgb(var(--muted));margin:5px 0 8px;font-size:10px}.ros-sidebar__runtime small{border-top:1px solid rgb(var(--border));color:rgb(var(--faint));font-family:var(--mono);padding-top:8px;font-size:8.5px;display:block}.ros-content{min-width:0;min-height:0;overflow:auto}.ros-page,.overview-page,.page{min-width:0;min-height:100%;padding:24px 28px 32px}.ros-page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.ros-page-header h1{letter-spacing:-.03em;margin:0 0 5px;font-size:24px;font-weight:690}.ros-page-header p{max-width:780px;color:rgb(var(--muted));margin:0;font-size:12px;line-height:1.55}.boot-state{place-content:center;width:100%;height:100%;display:grid}.mobile-scrim{display:none}.project-canvas{height:calc(100dvh - var(--topbar));overflow-y:auto}.project-hub{max-width:1240px;margin:0 auto;padding:48px 24px 72px}.project-hub__hero{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:30px;display:flex}.project-hub__hero h1{letter-spacing:-.04em;margin:2px 0 7px;font-size:32px;font-weight:710}.project-hub__hero p{max-width:660px;color:rgb(var(--muted));margin:0;font-size:13px;line-height:1.6}.project-hub__summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:34px;display:grid}.project-hub__summary>div{border:1px solid rgb(var(--border));background:rgb(var(--surface));min-height:82px;box-shadow:var(--shadow-1);border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px;display:grid}.project-hub__summary svg{color:rgb(var(--muted))}.project-hub__summary span{color:rgb(var(--muted));font-size:11px}.project-hub__summary strong{font-size:21px;font-weight:680}.project-hub__toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.project-hub__toolbar h2{margin:0;font-size:16px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.project-card{border:1px solid rgb(var(--border));background:rgb(var(--surface));min-height:264px;color:rgb(var(--text));text-align:left;box-shadow:var(--shadow-1);border-radius:16px;flex-direction:column;padding:18px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.project-card:hover{border-color:rgb(var(--border-strong));box-shadow:var(--shadow-2);transform:translateY(-3px)}.project-card--skeleton{background:linear-gradient(100deg, rgb(var(--surface)) 20%, rgb(var(--surface-2)) 50%, rgb(var(--surface)) 80%);background-size:220% 100%;animation:1.5s infinite skeleton}.project-card__top{justify-content:space-between;align-items:center;display:flex}.project-card__mark{background:rgb(var(--surface-2));width:42px;height:42px;color:rgb(var(--muted));border-radius:12px;place-items:center;display:grid}.project-card__mark.is-live{background:rgb(var(--green-bg));color:rgb(var(--green))}.project-card__copy{min-height:84px;margin-top:16px}.project-card__copy h3{margin:0;font-size:16px;font-weight:660;line-height:1.35}.project-card__copy p{color:rgb(var(--muted));-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:7px 0 0;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.project-card__facts{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.project-card__facts>div{background:rgb(var(--surface-2));border-radius:9px;padding:8px}.project-card__facts span{color:rgb(var(--faint));font-size:8px;display:block}.project-card__facts strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;display:block;overflow:hidden}.project-card__footer{border-top:1px solid rgb(var(--border));align-items:center;gap:10px;margin-top:auto;padding-top:13px;display:flex}.project-card__footer code{min-width:0;color:rgb(var(--faint));font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:8px;overflow:hidden}.project-card__footer span{color:rgb(var(--blue));align-items:center;gap:4px;font-size:10px;font-weight:610;display:flex}.project-inbox-cta{border:1px solid rgb(var(--border));background:rgb(var(--surface));text-align:left;width:100%;box-shadow:var(--shadow-1);border-radius:16px;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:14px;margin-top:18px;padding:18px;display:grid}.project-inbox-cta>span{background:rgb(var(--rose-bg));width:46px;height:46px;color:rgb(var(--rose));border-radius:13px;place-items:center;display:grid}.project-inbox-cta strong{font-size:13px}.project-inbox-cta p{color:rgb(var(--muted));margin:4px 0 0;font-size:11px}.project-inbox-cta>svg{color:rgb(var(--faint))}.overview-page{max-width:1280px;margin:0 auto}.overview-hero{border:1px solid rgb(var(--border));background:radial-gradient(circle at 100% 0, rgb(var(--blue) / .08), transparent 45%), rgb(var(--surface));box-shadow:var(--shadow-1);border-radius:18px;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:18px;padding:26px;display:grid}.overview-hero__badges{gap:7px;display:flex}.overview-hero__copy h1{letter-spacing:-.035em;margin:14px 0 8px;font-size:27px}.overview-hero__copy p{max-width:760px;color:rgb(var(--muted));-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0 0 14px;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.overview-hero__copy>code{color:rgb(var(--faint));font-family:var(--mono);font-size:9px}.overview-hero__stats{grid-template-columns:1fr;gap:8px;display:grid}.overview-hero__stats>div{border:1px solid rgb(var(--border));background:rgb(var(--surface) / .8);border-radius:12px;grid-template-columns:100px minmax(0,1fr);align-items:center;padding:11px 13px;display:grid}.overview-hero__stats span{color:rgb(var(--muted));font-size:10px}.overview-hero__stats strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.overview-hero__stats small{color:rgb(var(--faint));grid-column:2;font-size:8.5px}.overview-section-heading{justify-content:space-between;margin:30px 0 12px;display:flex}.overview-section-heading h2{margin:0;font-size:17px}.overview-section-heading p{color:rgb(var(--muted));margin:4px 0 0;font-size:11px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.module-card{border:1px solid rgb(var(--border));background:rgb(var(--surface));text-align:left;min-height:132px;box-shadow:var(--shadow-1);border-radius:14px;grid-template-columns:44px minmax(0,1fr) 20px;align-items:start;gap:12px;padding:16px;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid}.module-card:hover{border-color:rgb(var(--border-strong));box-shadow:var(--shadow-2);transform:translateY(-2px)}.module-card__icon{background:rgb(var(--surface-2));width:42px;height:42px;color:rgb(var(--muted));border-radius:11px;place-items:center;display:grid}.module-card__icon--blue{background:rgb(var(--blue-bg));color:rgb(var(--blue))}.module-card__icon--violet{background:rgb(var(--violet-bg));color:rgb(var(--violet))}.module-card__icon--indigo{background:rgb(var(--blue-bg));color:rgb(var(--violet))}.module-card__icon--rose{background:rgb(var(--rose-bg));color:rgb(var(--rose))}.module-card__icon--emerald{background:rgb(var(--green-bg));color:rgb(var(--green))}.module-card__icon--amber{background:rgb(var(--amber-bg));color:rgb(var(--amber))}.module-card h3{margin:2px 0 5px;font-size:13px}.module-card p{color:rgb(var(--muted));margin:0;font-size:10px;line-height:1.5}.module-card>svg{color:rgb(var(--faint));margin-top:13px}.overview-lower{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.overview-mission>div{color:rgb(var(--blue));text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:650;display:flex}.overview-mission h3{margin:10px 0 5px;font-size:15px}.overview-mission p{color:rgb(var(--muted));margin:0 0 14px;font-size:11px;line-height:1.5}.copilot-v2{flex-direction:column;height:100%;display:flex;overflow:hidden}.copilot-v2 .ros-page-header{flex:none}.pending-question-banner{border:1px solid rgb(var(--amber) / .22);background:rgb(var(--amber-bg));color:rgb(var(--amber));border-radius:12px;flex:none;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.pending-question-banner>div{flex:1}.pending-question-banner strong{font-size:11px}.pending-question-banner p{margin:2px 0 0;font-size:10px}.copilot-v2__layout{flex:1;grid-template-columns:minmax(0,1fr) 330px;gap:12px;min-width:0;min-height:0;display:grid}.copilot-v2__thread{border:1px solid rgb(var(--border));background:rgb(var(--surface));min-width:0;min-height:0;box-shadow:var(--shadow-1);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.copilot-v2__messages{flex:1;min-height:0;padding:22px 18px 12px;overflow-y:auto}.copilot-empty{text-align:center;max-width:660px;margin:9vh auto 0}.copilot-empty h2{margin:12px 0 4px;font-size:19px}.copilot-empty>p{color:rgb(var(--muted));margin:0 0 18px;font-size:11px}.copilot-empty>div{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.copilot-empty button{border:1px solid rgb(var(--border));background:rgb(var(--surface));color:rgb(var(--muted));text-align:left;border-radius:11px;padding:11px;font-size:10px;line-height:1.45}.copilot-empty button:hover{border-color:rgb(var(--blue) / .3);background:rgb(var(--blue-bg));color:rgb(var(--text))}.message{max-width:820px;margin:0 auto 18px}.message--user{background:rgb(var(--surface-2));border-radius:16px 5px 16px 16px;max-width:620px;margin-right:max(0px,50% - 410px);padding:11px 14px}.message--user>div:first-child{align-items:center;gap:7px;margin-bottom:4px;display:flex}.message--user span{font-size:10px;font-weight:650}.message time{color:rgb(var(--faint));font-family:var(--mono);font-size:8.5px}.message .markdown{font-size:12.5px}.message--argus{grid-template-columns:34px minmax(0,1fr);gap:10px;display:grid}.message--argus>div{min-width:0}.message--argus header{align-items:center;gap:7px;min-height:24px;margin-bottom:5px;display:flex}.message--argus header strong{font-size:11px}.message--stream>div{border-left:2px solid rgb(var(--blue) / .25);padding-left:12px}.phase-trail{margin:5px 0 10px;padding:0;list-style:none}.phase-trail li{color:rgb(var(--faint));font-family:var(--mono);gap:7px;padding:2px 0;font-size:9px;display:flex}.phase-trail li span{color:rgb(var(--green))}.phase-trail li.is-active{color:rgb(var(--blue))}.phase-trail li.is-active span{animation:1s infinite blink}.copilot-composer-dock{border-top:1px solid rgb(var(--border));flex:none;padding:12px 18px 10px}.copilot-composer{border:1px solid rgb(var(--border-strong));background:rgb(var(--surface));max-width:820px;box-shadow:var(--shadow-2);border-radius:14px;align-items:flex-end;gap:7px;margin:0 auto;padding:7px;display:flex}.copilot-composer textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-height:36px;max-height:150px;padding:8px 3px;font-size:12px;line-height:1.5}.composer-tool{width:35px;height:35px;color:rgb(var(--muted));background:0 0;border-radius:9px;flex:0 0 35px;place-items:center;display:grid}.composer-tool:hover{background:rgb(var(--surface-2))}.optimize-button{background:rgb(var(--violet-bg));height:35px;color:rgb(var(--violet));border-radius:9px;align-items:center;gap:5px;padding:0 10px;font-size:10px;font-weight:650;display:flex}.send-button{background:rgb(var(--accent));width:35px;height:35px;color:rgb(var(--accent-fg));border-radius:9px;flex:0 0 35px;place-items:center;display:grid}.send-button.is-stop{background:rgb(var(--red-bg));color:rgb(var(--red))}.copilot-composer-dock>small{max-width:820px;color:rgb(var(--faint));text-align:center;margin:5px auto 0;font-size:8.5px;display:block}.attachment-chips{flex-wrap:wrap;gap:6px;max-width:820px;margin:0 auto 7px;display:flex}.attachment-chips>span{border:1px solid rgb(var(--border));background:rgb(var(--surface-2));border-radius:8px;align-items:center;gap:5px;padding:5px 7px;font-size:9px;display:flex}.attachment-chips button{color:rgb(var(--faint));background:0 0;place-items:center;display:grid}.copilot-v2__aside{min-width:0;min-height:0;overflow:hidden}.copilot-trace{border:1px solid rgb(var(--border));background:rgb(var(--surface));height:100%;box-shadow:var(--shadow-1);border-radius:16px;overflow:hidden}.copilot-trace__header{border-bottom:1px solid rgb(var(--border));justify-content:space-between;align-items:center;min-height:58px;padding:12px 15px;display:flex}.copilot-trace__header>div{flex-direction:column;display:flex}.copilot-trace__header span{color:rgb(var(--faint));letter-spacing:.12em;font-size:8.5px;font-weight:700}.copilot-trace__header strong{margin-top:2px;font-size:13px}.copilot-trace__roles{max-height:calc(100% - 58px);padding:6px;overflow:auto}.copilot-trace__roles section{border-radius:9px}.copilot-trace__roles section>button{text-align:left;background:0 0;border-radius:9px;grid-template-columns:10px minmax(0,1fr) auto 14px;align-items:center;gap:7px;width:100%;min-height:42px;padding:0 9px;display:grid}.copilot-trace__roles section>button:hover,.copilot-trace__roles section.is-open>button{background:rgb(var(--surface-2))}.copilot-trace__roles strong{text-transform:capitalize;font-size:11px}.copilot-trace__roles small{color:rgb(var(--faint));font-family:var(--mono);font-size:9px}.copilot-trace__roles section.is-open>button svg{transform:rotate(180deg)}.role-orb{background:rgb(var(--faint));border-radius:50%;width:7px;height:7px}.role-orb--manager{background:rgb(var(--manager))}.role-orb--planner{background:rgb(var(--planner))}.role-orb--engineer{background:rgb(var(--engineer))}.role-orb--reviewer{background:rgb(var(--reviewer))}.copilot-trace__events{border-left:1px solid rgb(var(--border));max-height:340px;margin:0 10px 7px 14px;padding-left:9px;overflow:auto}.copilot-trace__events article{padding:6px 3px}.copilot-trace__events time{color:rgb(var(--faint));font-family:var(--mono);font-size:8px}.copilot-trace__events strong{margin:2px 0;font-size:9.5px;display:block}.copilot-trace__events code{color:rgb(var(--muted));font-family:var(--mono);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:8.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.copilot-trace__events p{color:rgb(var(--faint));font-size:9px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000007a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.prompt-optimizer{border:1px solid rgb(var(--border));background:rgb(var(--overlay));width:min(980px,96vw);max-height:90vh;box-shadow:var(--shadow-3);border-radius:18px;overflow:auto}.prompt-optimizer>header{border-bottom:1px solid rgb(var(--border));justify-content:space-between;padding:18px 20px;display:flex}.prompt-optimizer header span{color:rgb(var(--violet));letter-spacing:.13em;font-size:9px;font-weight:700}.prompt-optimizer h2{margin:3px 0;font-size:18px}.prompt-optimizer header p{color:rgb(var(--muted));margin:0;font-size:10px}.prompt-optimizer__compare{grid-template-columns:1fr 1fr;gap:12px;padding:16px;display:grid}.prompt-optimizer__compare>div{border:1px solid rgb(var(--border));background:rgb(var(--surface));border-radius:12px;flex-direction:column;min-height:280px;display:flex;overflow:hidden}.prompt-optimizer__compare label{border-bottom:1px solid rgb(var(--border));color:rgb(var(--muted));padding:9px 12px;font-size:10px;font-weight:650}.prompt-optimizer__compare pre{font-family:var(--font);white-space:pre-wrap;flex:1;margin:0;padding:13px;font-size:11px;line-height:1.6;overflow:auto}.optimizer-thinking{color:rgb(var(--violet));align-items:center;gap:8px;margin:auto;font-size:11px;display:flex}.optimizer-changes,.optimizer-questions{border:1px solid rgb(var(--border));border-radius:11px;margin:0 16px 12px;padding:10px 12px}.optimizer-changes strong,.optimizer-questions strong{margin-bottom:6px;font-size:10px;display:block}.optimizer-changes span{color:rgb(var(--muted));align-items:center;gap:5px;font-size:9.5px;display:flex}.optimizer-changes svg{color:rgb(var(--green))}.optimizer-questions{border-color:rgb(var(--amber) / .2);background:rgb(var(--amber-bg));color:rgb(var(--amber))}.optimizer-questions p{margin:3px 0;font-size:9.5px}.prompt-optimizer>.inline-error{margin:0 16px 12px}.prompt-optimizer>footer{border-top:1px solid rgb(var(--border));justify-content:flex-end;gap:8px;padding:13px 16px;display:flex}.literature-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;display:grid}.literature-stats>div{border:1px solid rgb(var(--border));background:rgb(var(--surface));box-shadow:var(--shadow-1);border-radius:13px;align-items:center;gap:10px;padding:12px;display:flex}.stat-icon{background:rgb(var(--surface-2));width:36px;height:36px;color:rgb(var(--muted));border-radius:10px;place-items:center;display:grid}.stat-icon--blue{background:rgb(var(--blue-bg));color:rgb(var(--blue))}.stat-icon--green{background:rgb(var(--green-bg));color:rgb(var(--green))}.stat-icon--amber{background:rgb(var(--amber-bg));color:rgb(var(--amber))}.stat-icon--violet{background:rgb(var(--violet-bg));color:rgb(var(--violet))}.literature-stats p{color:rgb(var(--muted));margin:0;font-size:9.5px}.literature-stats strong{color:rgb(var(--text));margin-top:2px;font-size:17px;display:block}.literature-v2__layout{grid-template-columns:220px minmax(420px,1fr) 340px;gap:12px;min-width:0;min-height:720px;display:grid}.literature-v2__sidebar{align-self:start}.library-tabs{padding:0 7px 8px}.library-tabs button{width:100%;min-height:38px;color:rgb(var(--muted));background:0 0;border-radius:9px;justify-content:space-between;align-items:center;padding:0 10px;font-size:11px;display:flex}.library-tabs button:hover{background:rgb(var(--surface-2))}.library-tabs button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.library-tabs small{font-family:var(--mono);font-size:9px}.literature-source-note{border-top:1px solid rgb(var(--border));color:rgb(var(--muted));gap:8px;padding:12px;display:flex}.literature-source-note div{min-width:0}.literature-source-note strong{font-size:9px;display:block}.literature-source-note p{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:7.5px;overflow:hidden}.literature-v2__main{min-width:0}.literature-list-header{justify-content:space-between;align-items:center;min-height:58px;margin-bottom:9px;display:flex}.literature-list-header h2{margin:0;font-size:15px}.literature-list-header p{color:rgb(var(--muted));margin:3px 0 0;font-size:9.5px}.paper-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.paper-card{border:1px solid rgb(var(--border));background:rgb(var(--surface));min-height:214px;color:rgb(var(--text));text-align:left;box-shadow:var(--shadow-1);border-radius:14px;flex-direction:column;padding:14px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.paper-card:hover{border-color:rgb(var(--border-strong));box-shadow:var(--shadow-2);transform:translateY(-2px)}.paper-card.is-selected{border-color:rgb(var(--blue) / .35);box-shadow:0 0 0 3px rgb(var(--blue) / .07)}.paper-card__meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.paper-card__year{color:rgb(var(--faint));font-size:9px}.paper-card h3{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:11px 0 5px;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.paper-card__authors{color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:9px;overflow:hidden}.paper-card__summary{color:rgb(var(--muted));-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:8px 0;font-size:9.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.paper-card__footer{border-top:1px solid rgb(var(--border));align-items:center;gap:8px;margin-top:auto;padding-top:9px;display:flex}.paper-card__footer code{min-width:0;color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:7.5px;overflow:hidden}.paper-card__footer span{color:rgb(var(--blue));font-size:9px}.source-file-grid{gap:8px;display:grid}.source-file-grid article{border:1px solid rgb(var(--border));background:rgb(var(--surface));border-radius:12px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px;display:grid}.source-file-grid article>div{flex-direction:column;min-width:0;display:flex}.source-file-grid strong{font-size:10px}.source-file-grid code{color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.source-file-grid time{color:rgb(var(--faint));font-size:8px}.literature-v2__detail{align-content:start;gap:10px;display:grid}.paper-detail{padding-bottom:13px}.paper-detail>:not(.empty-state){margin-inline:14px}.paper-detail__top{justify-content:space-between;align-items:center;padding-top:14px;display:flex}.paper-detail__top>span{color:rgb(var(--faint));font-size:9px}.paper-detail h2{font-size:15px;line-height:1.4;margin:12px 14px 5px!important}.paper-detail__authors{color:rgb(var(--muted));font-size:9px}.paper-detail__body{border-top:1px solid rgb(var(--border));max-height:300px;padding-top:10px;overflow:auto;margin-top:12px!important}.paper-detail__body h3{margin:0 0 5px;font-size:10px}.paper-detail__body p,.paper-detail__body .markdown{color:rgb(var(--muted));font-size:9.5px;line-height:1.55}.paper-detail__source{border-top:1px solid rgb(var(--border));flex-direction:column;padding-top:9px;display:flex;margin-top:11px!important}.paper-detail__source span{color:rgb(var(--faint));font-size:8px}.paper-detail__source code{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;overflow:hidden}.paper-detail>.button{width:calc(100% - 28px);margin:11px 14px 0!important}.retrieval-panel>div{max-height:260px;padding:6px;overflow:auto}.retrieval-panel article{border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px;display:grid}.retrieval-panel article:hover{background:rgb(var(--surface-2))}.retrieval-panel article>div{flex-direction:column;min-width:0;display:flex}.retrieval-panel strong,.retrieval-panel code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.retrieval-panel code,.retrieval-panel time{color:rgb(var(--faint));font-family:var(--mono);font-size:7.5px}.literature-ask{padding-bottom:12px}.literature-ask textarea{resize:vertical;border:1px solid rgb(var(--border-strong));background:rgb(var(--surface));border-radius:9px;outline:0;width:calc(100% - 24px);margin:11px 12px 7px;padding:8px;font-size:10px;line-height:1.45}.literature-ask>.button{width:calc(100% - 24px);margin-inline:12px}.literature-ask .manager-mini-result{margin-inline:12px}.intake-steps{border:1px solid rgb(var(--border));background:rgb(var(--surface));border-radius:13px;grid-template-columns:repeat(4,1fr);margin-bottom:12px;padding:8px;display:grid}.intake-steps>div{color:rgb(var(--faint));border-radius:9px;align-items:center;gap:7px;padding:7px 10px;display:flex;position:relative}.intake-steps>div>span{background:rgb(var(--surface-2));border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.intake-steps strong{font-size:10px}.intake-steps>div>svg{color:rgb(var(--faint));position:absolute;right:-7px}.intake-steps .is-active{background:rgb(var(--blue-bg));color:rgb(var(--blue))}.intake-steps .is-done{color:rgb(var(--green))}.intake-steps .is-done>span{background:rgb(var(--green-bg))}.inbox-v2__layout{grid-template-columns:220px minmax(360px,1fr) minmax(340px,.92fr);gap:12px;min-width:0;min-height:700px;display:grid}.inbox-sources{align-self:stretch}.inbox-sources>div{padding:6px}.inbox-sources>div>button{text-align:left;background:0 0;border-radius:10px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;width:100%;padding:8px;display:grid}.inbox-sources>div>button:hover,.inbox-sources>div>button.is-active{background:rgb(var(--surface-2))}.inbox-item-icon{background:rgb(var(--rose-bg));width:28px;height:28px;color:rgb(var(--rose));border-radius:8px;place-items:center;display:grid}.inbox-sources button>div{flex-direction:column;min-width:0;display:flex}.inbox-sources strong,.inbox-sources small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inbox-sources strong{font-size:10px}.inbox-sources small{color:rgb(var(--faint));font-size:8px}.inbox-input{flex-direction:column;display:flex}.inbox-input__form{flex-direction:column;flex:1;min-height:0;padding:16px;display:flex}.inbox-input__actions{justify-content:space-between;gap:8px;margin-top:11px;display:flex}.inbox-output{grid-template-rows:minmax(280px,.85fr) minmax(400px,1.15fr);gap:12px;min-width:0;display:grid}.knowledge-grid{max-height:360px;padding:8px;overflow:auto}.knowledge-grid article{border-radius:10px;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:8px;display:grid}.knowledge-grid article:hover{background:rgb(var(--surface-2))}.knowledge-grid article>span{background:rgb(var(--violet-bg));width:28px;height:28px;color:rgb(var(--violet));border-radius:8px;place-items:center;display:grid}.knowledge-grid .markdown{color:rgb(var(--muted));margin-top:3px;font-size:9px;line-height:1.45}.first-prompt{flex-direction:column;display:flex}.first-prompt>textarea{resize:none;background:rgb(var(--surface-2) / .45);min-height:200px;font-family:var(--mono);border:0;outline:0;flex:1;padding:14px;font-size:9.5px;line-height:1.6}.dispatch-mode{border-top:1px solid rgb(var(--border));grid-template-columns:1fr 1fr;gap:4px;padding:8px;display:grid}.dispatch-mode button{color:rgb(var(--muted));background:0 0;border-radius:8px;padding:7px;font-size:9.5px}.dispatch-mode button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.new-project-fields{grid-template-columns:.7fr 1.3fr;gap:7px;padding:0 8px 8px;display:grid}.first-prompt>.button{width:calc(100% - 16px);margin:0 8px 8px}.first-prompt .manager-mini-result{margin:0 8px 8px}.workspace-connector{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:12px;padding:10px 13px;display:grid}.workspace-connector>svg{color:rgb(var(--muted))}.workspace-connector>div:nth-child(2)>span{color:rgb(var(--faint));letter-spacing:.12em;font-size:8px;font-weight:700}.workspace-connector>div:nth-child(2)>div{gap:7px;margin-top:3px;display:flex}.workspace-connector input{min-width:0;font-family:var(--mono);background:0 0;border:0;outline:0;flex:1;font-size:10px}.workspace-connector__state{align-items:center;gap:7px;display:flex}.workspace-connector__state small{color:rgb(var(--faint));font-family:var(--mono);font-size:8px}.ide-v2__shell{grid-template-rows:minmax(0,1fr) 170px;grid-template-columns:230px minmax(390px,1fr) 330px;gap:10px;min-width:0;height:720px;display:grid}.ide-v2__explorer{flex-direction:column;grid-area:1/1/3;display:flex}.workspace-tree{flex:1;min-height:0;padding:5px;overflow:auto}.workspace-node>button{width:100%;min-height:28px;color:rgb(var(--muted));text-align:left;background:0 0;border-radius:6px;align-items:center;gap:4px;display:flex}.workspace-node>button:hover,.workspace-node>button.is-selected{background:rgb(var(--surface-2));color:rgb(var(--text))}.workspace-node>button.is-selected{color:rgb(var(--blue))}.workspace-node button>span:not(.node-spacer){font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.workspace-node button>small{color:rgb(var(--faint));margin-left:auto;font-size:7px}.node-spacer{width:13px}.source-control-button{border-top:1px solid rgb(var(--border));min-height:42px;color:rgb(var(--muted));text-align:left;background:0 0;align-items:center;gap:7px;padding:0 12px;display:flex}.source-control-button span{flex:1;font-size:10px;font-weight:600}.ide-v2__center{flex-direction:column;grid-area:1/2;min-width:0;display:flex}.editor-tabs{border-bottom:1px solid rgb(var(--border));flex:0 0 42px;height:42px;display:flex}.editor-tabs button{max-width:60%;color:rgb(var(--muted));font-family:var(--mono);background:0 0;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:0 12px;font-size:8.5px;display:flex}.editor-tabs button.is-active{border-bottom-color:rgb(var(--accent));color:rgb(var(--text))}.editor-surface{background:rgb(var(--surface-2) / .35);flex:1;min-width:0;min-height:0;overflow:hidden}.workspace-code,.workspace-diff{width:100%;height:100%;font-family:var(--mono);tab-size:2;white-space:pre;margin:0;padding:16px;font-size:9px;line-height:1.62;overflow:auto}.workspace-pdf{background:#fff;border:0;width:100%;height:100%}.workspace-image{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:100%;margin:auto;padding:16px;display:block}.editor-loading{color:rgb(var(--muted));padding:20px;font-size:11px}.workspace-git{height:100%;overflow:auto}.workspace-git__summary{grid-template-columns:1fr 1fr;gap:7px;padding:9px;display:grid}.workspace-git__summary>div{border:1px solid rgb(var(--border));background:rgb(var(--surface));border-radius:9px;padding:8px}.workspace-git__summary span{color:rgb(var(--faint));font-size:8px;display:block}.workspace-git__summary strong{font-family:var(--mono);margin-top:2px;font-size:10px;display:block}.git-status-list{border-block:1px solid rgb(var(--border));color:rgb(var(--muted));font-family:var(--mono);white-space:pre-wrap;margin:0;padding:10px;font-size:8.5px}.ide-v2__assistant{flex-direction:column;grid-area:1/3/3;display:flex}.coding-context{border-bottom:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .55);flex-direction:column;padding:9px 12px;display:flex}.coding-context span{color:rgb(var(--faint));font-size:8px}.coding-context code{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8.5px;overflow:hidden}.coding-response{flex:1;min-height:0;padding:12px;overflow:auto}.coding-response .markdown{font-size:10.5px}.coding-composer{border-top:1px solid rgb(var(--border));padding:9px}.coding-composer textarea{resize:vertical;border:1px solid rgb(var(--border-strong));background:rgb(var(--surface));border-radius:9px;outline:0;width:100%;padding:8px;font-size:10px;line-height:1.45}.coding-composer button{margin-top:7px}.ide-v2__terminal{color:#d6dce5;background:#0d1117;border:1px solid #1e293b;border-radius:12px;grid-area:2/2;min-width:0;min-height:0;overflow:hidden}.ide-v2__terminal>header{color:#94a3b8;border-bottom:1px solid #ffffff14;align-items:center;gap:7px;height:31px;padding:0 10px;display:flex}.ide-v2__terminal>header strong{letter-spacing:.1em;font-size:8px}.ide-v2__terminal>header span{margin-left:auto;font-size:8px}.ide-v2__terminal>div{height:calc(100% - 31px);padding:6px 10px;overflow:auto}.ide-v2__terminal article{font-family:var(--mono);grid-template-columns:52px 52px 10px minmax(0,1fr);gap:5px;padding:2px 0;font-size:8px;line-height:1.4;display:grid}.ide-v2__terminal time{color:#64748b}.terminal-role{font-weight:500}.terminal-role--manager{color:#60a5fa}.terminal-role--planner{color:#c4b5fd}.terminal-role--engineer{color:#6ee7b7}.terminal-role--reviewer{color:#fcd34d}.ide-v2__terminal article>span{color:#4ade80}.ide-v2__terminal code{overflow-wrap:anywhere;white-space:pre-wrap}.ide-v2__terminal p{color:#64748b;font-family:var(--mono);font-size:9px}.paper-v2__shell{grid-template-columns:230px minmax(420px,1fr) 350px;gap:12px;min-width:0;height:760px;display:grid}.paper-v2__files{flex-direction:column;display:flex}.paper-v2__files>nav{border-bottom:1px solid rgb(var(--border));padding:6px;display:flex}.paper-v2__files>nav button{color:rgb(var(--muted));background:0 0;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 3px;font-size:8px;display:flex}.paper-v2__files>nav button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.paper-v2__files nav small{font-family:var(--mono)}.paper-file-list{flex:1;min-height:0;padding:5px;overflow:auto}.paper-file-list>button{width:100%;color:rgb(var(--muted));text-align:left;background:0 0;border-radius:9px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px;display:grid}.paper-file-list>button:hover,.paper-file-list>button.is-active{background:rgb(var(--surface-2))}.paper-file-list>button.is-active{color:rgb(var(--blue))}.paper-file-list button>div{flex-direction:column;min-width:0;display:flex}.paper-file-list strong,.paper-file-list code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paper-file-list strong{font-size:9.5px}.paper-file-list code,.paper-file-list small{color:rgb(var(--faint));font-size:7.5px}.paper-watch-root{border-top:1px solid rgb(var(--border));padding:9px 11px}.paper-watch-root span{color:rgb(var(--faint));font-size:8px;display:block}.paper-watch-root code{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7.5px;display:block;overflow:hidden}.paper-v2__editor{flex-direction:column;display:flex}.paper-v2__editor>header{min-height:49px;padding:8px 12px}.paper-v2__editor>header>div{flex-direction:column;min-width:0;display:flex}.paper-v2__editor>header strong{font-size:11px}.paper-v2__editor>header code{color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.paper-v2__editor>header>span{color:rgb(var(--faint));font-size:8px}.paper-v2__preview{flex:1;min-height:0;overflow:hidden}.paper-markdown-preview{height:100%;padding:24px 30px 50px;overflow:auto}.paper-markdown-preview .markdown{font-size:12.5px}.paper-source-preview{background:rgb(var(--surface-2) / .35);width:100%;height:100%;font-family:var(--mono);white-space:pre-wrap;margin:0;padding:18px;font-size:9.5px;line-height:1.65;overflow:auto}.paper-live-pdf{background:#fff;border:0;width:100%;height:100%}.paper-live-image{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:100%;margin:auto;padding:18px;display:block}.paper-v2__editor>footer{border-top:1px solid rgb(var(--border));height:30px;color:rgb(var(--faint));font-family:var(--mono);justify-content:space-between;align-items:center;padding:0 11px;font-size:8px;display:flex}.paper-v2__assistant{flex-direction:column;display:flex}.paper-context{border-bottom:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .5);flex-direction:column;padding:9px 12px;display:flex}.paper-context span{color:rgb(var(--faint));font-size:8px}.paper-context code{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;overflow:hidden}.paper-quick-actions{grid-template-columns:repeat(3,1fr);gap:5px;padding:9px;display:grid}.paper-quick-actions button{border:1px solid rgb(var(--border));background:rgb(var(--surface));color:rgb(var(--muted));border-radius:8px;padding:6px;font-size:8px}.paper-quick-actions button:hover{border-color:rgb(var(--blue) / .3);color:rgb(var(--blue))}.paper-ai-output{border-top:1px solid rgb(var(--border));flex:1;min-height:0;padding:12px;overflow:auto}.paper-ai-output .markdown{font-size:10.5px}.paper-ai-composer{border-top:1px solid rgb(var(--border));padding:9px}.paper-ai-composer textarea{resize:vertical;border:1px solid rgb(var(--border-strong));background:rgb(var(--surface));border-radius:9px;outline:0;width:100%;padding:8px;font-size:10px;line-height:1.45}.paper-ai-composer button{margin-top:7px}.review-mode-tabs{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.review-mode-tabs>button{border:1px solid rgb(var(--border));background:rgb(var(--surface));min-height:72px;color:rgb(var(--muted));text-align:left;box-shadow:var(--shadow-1);border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 15px;display:grid}.review-mode-tabs>button.is-active{border-color:rgb(var(--blue) / .3);background:rgb(var(--blue-bg) / .45);color:rgb(var(--text));box-shadow:0 0 0 3px rgb(var(--blue) / .06)}.review-mode-tabs>button>svg{color:rgb(var(--blue))}.review-mode-tabs button>div{flex-direction:column;display:flex}.review-mode-tabs strong{font-size:12px}.review-mode-tabs small{color:rgb(var(--muted));margin-top:3px;font-size:9px}.process-review-layout{grid-template-rows:minmax(580px,auto) auto;grid-template-columns:260px minmax(400px,1fr) 330px;gap:12px;display:grid}.review-rounds>div{max-height:650px;padding:5px;overflow:auto}.review-rounds>div>button{text-align:left;background:0 0;border-radius:9px;grid-template-columns:30px minmax(0,1fr);gap:7px;width:100%;padding:8px;display:grid}.review-rounds>div>button:hover,.review-rounds>div>button.is-active{background:rgb(var(--surface-2))}.review-state{background:rgb(var(--surface-2));border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.review-state--danger{background:rgb(var(--red-bg));color:rgb(var(--red))}.review-state--success{background:rgb(var(--green-bg));color:rgb(var(--green))}.review-state--warn{background:rgb(var(--amber-bg));color:rgb(var(--amber))}.review-rounds button>div{flex-direction:column;min-width:0;display:flex}.review-rounds small{color:rgb(var(--faint));margin-top:2px;font-size:8px}.process-report{flex-direction:column;display:flex}.process-report>article{padding:18px;overflow:auto}.process-report__meta{border-bottom:1px solid rgb(var(--border));color:rgb(var(--faint));justify-content:space-between;margin-bottom:14px;padding-bottom:9px;font-size:9px;display:flex}.process-report .markdown{font-size:11.5px}.review-live{overflow:auto}.process-verdict-card{border:1px solid rgb(var(--border));background:rgb(var(--surface));border-radius:14px;grid-column:1/-1;align-items:flex-start;gap:11px;padding:14px;display:flex}.process-verdict-card__icon{background:rgb(var(--surface-2));border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.process-verdict-card__icon--danger{background:rgb(var(--red-bg));color:rgb(var(--red))}.process-verdict-card__icon--success{background:rgb(var(--green-bg));color:rgb(var(--green))}.process-verdict-card span{color:rgb(var(--faint));font-size:8px}.process-verdict-card strong{margin-top:2px;font-size:13px;display:block}.process-verdict-card p{color:rgb(var(--muted));margin:4px 0 0;font-size:10px}.final-review-layout{grid-template-columns:250px minmax(420px,1fr) 340px;gap:12px;min-height:680px;display:grid}.final-review-files>div{padding:5px}.final-review-files>div>button{text-align:left;background:0 0;border-radius:9px;grid-template-columns:24px minmax(0,1fr);gap:7px;width:100%;padding:8px;display:grid}.final-review-files>div>button:hover,.final-review-files>div>button.is-active{background:rgb(var(--surface-2))}.final-review-files button>div{flex-direction:column;display:flex}.final-review-files strong{font-size:9.5px}.final-review-files small{color:rgb(var(--faint));font-size:8px}.final-review-report{flex-direction:column;display:flex}.final-review-report>article{padding:20px;overflow:auto}.final-review-report .markdown{font-size:11.5px}.final-review-form>div{padding:14px}.final-review-form .field+.field{margin-top:11px}.final-review-warning{border:1px solid rgb(var(--amber) / .2);background:rgb(var(--amber-bg));color:rgb(var(--amber));border-radius:10px;gap:7px;margin:11px 0;padding:9px;display:flex}.final-review-warning p{margin:0;font-size:9px;line-height:1.45}.page--experiments{max-width:1440px;margin:0 auto}.mission-hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;display:flex}.mission-hero__main{min-width:0;max-width:980px}.mission-hero__eyebrow{color:rgb(var(--faint));font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:8px;font-size:8.5px;display:flex}.mission-hero h1{letter-spacing:-.035em;margin:10px 0 6px;font-size:26px;line-height:1.25}.mission-hero__objective{color:rgb(var(--muted));-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.55;display:-webkit-box;overflow:hidden}.mission-hero__controls{flex-wrap:wrap;flex:none;gap:7px;display:flex}.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:12px;display:grid}.metric-card{border:1px solid rgb(var(--border));background:rgb(var(--surface));min-width:0;box-shadow:var(--shadow-1);border-radius:13px;gap:10px;padding:13px;display:flex}.metric-card__icon{background:rgb(var(--surface-2));width:34px;height:34px;color:rgb(var(--muted));border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.metric-card__copy{flex-direction:column;min-width:0;display:flex}.metric-card__copy>span{color:rgb(var(--muted));font-size:8.5px}.metric-card__copy strong{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 1px;font-size:15px;overflow:hidden}.metric-card__copy small{color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.text-live,.text-success{color:rgb(var(--green))}.text-info{color:rgb(var(--blue))}.text-danger{color:rgb(var(--red))}.text-warn{color:rgb(var(--amber))}.experiment-workspace{grid-template-columns:240px minmax(440px,1fr) 300px;align-items:start;gap:12px;display:grid}.experiment-center,.experiment-side{gap:12px;min-width:0;display:grid}.task-list{padding:6px}.task-row{text-align:left;background:0 0;border-radius:9px;grid-template-columns:25px minmax(0,1fr);gap:6px;width:100%;padding:9px;display:grid;position:relative}.task-row:hover,.task-row.is-selected{background:rgb(var(--surface-2))}.task-row__state{z-index:1;border:1px solid rgb(var(--border-strong));background:rgb(var(--surface));width:21px;height:21px;color:rgb(var(--faint));border-radius:50%;place-items:center;display:grid;position:relative}.task-row__state--success{background:rgb(var(--green-bg));color:rgb(var(--green))}.task-row__state--live{color:rgb(var(--green))}.task-row__state--danger{background:rgb(var(--red-bg));color:rgb(var(--red))}.task-row__rail{background:rgb(var(--border));width:1px;position:absolute;top:29px;bottom:-13px;left:25px}.task-row__content{flex-direction:column;min-width:0;display:flex}.task-row__content strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.4;display:-webkit-box;overflow:hidden}.task-row__content small{color:rgb(var(--faint));font-family:var(--mono);margin-top:3px;font-size:8px}.current-task__topline{align-items:center;gap:7px;display:flex}.current-task__topline code{color:rgb(var(--faint));font-size:8px}.current-task h2{margin:10px 0 6px;font-size:16px;line-height:1.38}.current-task>p{color:rgb(var(--muted));margin:0;font-size:10.5px;line-height:1.55}.current-task__facts{grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;display:grid}.current-task__facts>div{border:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .5);border-radius:10px;padding:9px}.current-task__facts span{color:rgb(var(--faint));font-size:8px}.current-task__facts p{color:rgb(var(--muted));-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:4px 0 0;font-size:9px;line-height:1.45;display:-webkit-box;overflow:hidden}.live-action{border-top:1px solid rgb(var(--border));background:rgb(var(--green-bg) / .55);gap:9px;margin:14px -16px -16px;padding:10px 16px;display:flex}.live-action__pulse{background:rgb(var(--green));border-radius:50%;flex:0 0 7px;width:7px;height:7px;margin-top:4px}.live-action>div{flex-direction:column;min-width:0;display:flex}.live-action span{color:rgb(var(--green));font-size:8px}.live-action strong{font-size:10px}.live-action code{color:rgb(var(--muted));-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:8px;display:-webkit-box;overflow:hidden}.role-pipeline{gap:6px;display:grid}.role-pipeline__step{flex-direction:column;align-items:center;display:flex}.role-pipeline__arrow{color:rgb(var(--faint));transform:rotate(90deg)}.role-card{border:1px solid rgb(var(--border));border-left:3px solid rgb(var(--faint));background:rgb(var(--surface-2) / .45);border-radius:11px;width:100%;padding:9px}.role-card--manager{border-left-color:rgb(var(--manager))}.role-card--planner{border-left-color:rgb(var(--planner))}.role-card--engineer{border-left-color:rgb(var(--engineer))}.role-card--reviewer{border-left-color:rgb(var(--reviewer))}.role-card.is-active{background:rgb(var(--blue-bg))}.role-card__top{grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.role-card__avatar{background:rgb(var(--surface));border-radius:8px;place-items:center;width:26px;height:26px;font-size:9px;font-weight:700;display:grid}.role-card__top>div{flex-direction:column;min-width:0;display:flex}.role-card__top strong{font-size:10px}.role-card__top small{color:rgb(var(--faint));font-size:8px}.role-card>p{color:rgb(var(--muted));margin:6px 0 0;font-size:9px}.role-card__recent{border-top:1px solid rgb(var(--border));color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;margin-top:6px;padding-top:5px;font-size:8px;overflow:hidden}.diagnosis-list{gap:7px;display:grid}.diagnosis{border:1px solid rgb(var(--border));color:rgb(var(--muted));border-radius:10px;gap:7px;padding:9px;display:flex}.diagnosis strong{color:rgb(var(--text));font-size:9.5px;display:block}.diagnosis p{margin:3px 0 0;font-size:8.5px}.diagnosis--success{border-color:rgb(var(--green) / .2);background:rgb(var(--green-bg));color:rgb(var(--green))}.diagnosis--danger{border-color:rgb(var(--red) / .2);background:rgb(var(--red-bg));color:rgb(var(--red))}.diagnosis--warn{border-color:rgb(var(--amber) / .2);background:rgb(var(--amber-bg));color:rgb(var(--amber))}:root{--font:"Inter Variable", "Noto Sans SC Variable", "Geist Variable", "PingFang SC", "Microsoft YaHei", sans-serif}.ros-page:not(.copilot-v2),.overview-page,.page--experiments{font-size:15px}.ros-page:not(.copilot-v2) .ros-page-header h1{font-size:27px}.ros-page:not(.copilot-v2) .ros-page-header p{font-size:13.5px;line-height:1.65}.copilot-v2 .ros-page-header h1{font-size:24px}.copilot-v2 .ros-page-header p{font-size:12px}.ros-page:not(.copilot-v2) .ros-card>header h2,.overview-page .panel__title{font-size:14px}.ros-page:not(.copilot-v2) .ros-card>header span{font-size:9.5px}.project-hub__hero p,.overview-hero__copy p{font-size:13px}.module-card{min-height:148px;padding:19px}.module-card h3{font-size:14px}.module-card p{font-size:11.5px;line-height:1.6}.copilot-v2__layout{grid-template-columns:minmax(0,1fr) 380px}.copilot-trace-v2{flex-direction:column;display:flex}.team-pipeline{flex:none;gap:0;padding:10px 12px;display:grid}.team-pipeline>div{color:rgb(var(--muted));border-radius:9px;grid-template-columns:10px 72px minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px;display:grid;position:relative}.team-pipeline>div.is-active{background:rgb(var(--blue-bg));color:rgb(var(--text))}.team-pipeline>div.is-done{color:rgb(var(--text))}.team-pipeline strong{text-transform:capitalize;font-size:10px}.team-pipeline small{text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.team-pipeline b{display:none}.current-operation{border-block:1px solid rgb(var(--border));background:rgb(var(--green-bg) / .55);flex:none;grid-template-columns:32px minmax(0,1fr);gap:8px;padding:11px 14px;display:grid}.current-operation>span{background:rgb(var(--green-bg));width:30px;height:30px;color:rgb(var(--green));border-radius:9px;place-items:center;display:grid}.current-operation>div{flex-direction:column;min-width:0;display:flex}.current-operation small{color:rgb(var(--green));font-size:8.5px}.current-operation strong{margin:2px 0;font-size:10.5px}.current-operation code{color:rgb(var(--muted));text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.activity-filters{border-bottom:1px solid rgb(var(--border));color:rgb(var(--faint));flex:none;align-items:center;gap:4px;padding:8px 10px;display:flex}.activity-filters button{color:rgb(var(--muted));background:0 0;border-radius:7px;padding:5px 8px;font-size:9px}.activity-filters button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.visual-activity-timeline{flex:1;min-height:0;padding:6px;overflow:auto}.visual-activity-timeline>button{text-align:left;background:0 0;border-radius:9px;grid-template-columns:29px minmax(0,1fr);gap:7px;width:100%;padding:7px;display:grid}.visual-activity-timeline>button:hover,.visual-activity-timeline>button.is-open{background:rgb(var(--surface-2))}.activity-icon{background:rgb(var(--surface-2));width:27px;height:27px;color:rgb(var(--muted));border-radius:8px;place-items:center;display:grid}.activity-icon--manager{background:rgb(var(--blue-bg));color:rgb(var(--manager))}.activity-icon--planner{background:rgb(var(--violet-bg));color:rgb(var(--planner))}.activity-icon--engineer{background:rgb(var(--green-bg));color:rgb(var(--engineer))}.activity-icon--reviewer{background:rgb(var(--amber-bg));color:rgb(var(--reviewer))}.visual-activity-timeline button>div{min-width:0}.visual-activity-timeline button>div>div{align-items:center;gap:6px;display:flex}.visual-activity-timeline strong{text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.visual-activity-timeline time{color:rgb(var(--faint));font-family:var(--mono);margin-left:auto;font-size:7.5px}.visual-activity-timeline p{color:rgb(var(--muted));font-family:var(--mono);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:2px 0 0;font-size:8px;line-height:1.45;display:-webkit-box;overflow:hidden}.visual-activity-timeline button.is-open p{-webkit-line-clamp:8}.visual-activity-timeline button>div>code{border:1px solid rgb(var(--border));background:rgb(var(--surface));max-height:220px;color:rgb(var(--muted));white-space:pre-wrap;border-radius:7px;margin-top:6px;padding:7px;font-size:7.5px;display:block;overflow:auto}.activity-empty{color:rgb(var(--faint));text-align:center;padding:24px;font-size:10px}.literature-v2__layout{grid-template-columns:230px minmax(500px,1fr) 370px;gap:14px}.literature-stats>div{min-height:78px;padding:15px}.literature-stats p{font-size:11px}.literature-stats strong{font-size:20px}.library-tabs button{min-height:43px;font-size:12px}.search-field input{font-size:13px}.literature-list-header h2{font-size:17px}.literature-list-header p{font-size:11px}.paper-grid{gap:12px}.paper-card{min-height:242px;padding:17px}.paper-card h3{margin-top:13px;font-size:14.5px;line-height:1.48}.paper-card__authors{font-size:10.5px}.paper-card__summary{-webkit-line-clamp:4;font-size:11px;line-height:1.6}.paper-card__year{font-size:10px}.paper-card__footer code{font-size:8.5px}.paper-card__footer span{font-size:10.5px}.paper-detail h2{font-size:17px}.paper-detail__authors{font-size:10.5px}.paper-detail__body h3{font-size:11.5px}.paper-detail__body p,.paper-detail__body .markdown{font-size:11px;line-height:1.65}.paper-detail__source code{font-size:9px}.retrieval-panel strong{font-size:9.5px}.retrieval-panel code,.retrieval-panel time{font-size:8px}.inbox-v2__layout{grid-template-columns:230px minmax(430px,1.08fr) minmax(380px,.92fr);gap:14px}.inbox-input__form{padding:18px}.inbox-input .field>span{font-size:12px}.inbox-input textarea{font-size:13px;line-height:1.65}.inbox-upload-types{border:1px dashed rgb(var(--border-strong));background:rgb(var(--surface-2) / .45);border-radius:11px;grid-template-columns:repeat(3,auto) minmax(0,1fr);align-items:center;gap:7px;margin-top:10px;padding:9px 11px;display:grid}.inbox-upload-types>span{background:rgb(var(--surface));color:rgb(var(--muted));border-radius:7px;align-items:center;gap:4px;padding:5px 7px;font-size:9px;display:flex}.inbox-upload-types p{color:rgb(var(--faint));margin:0;font-size:9px;line-height:1.4}.inbox-attachment-list{gap:6px;margin-top:9px;display:grid}.inbox-attachment-list>span{border:1px solid rgb(var(--border));background:rgb(var(--surface));color:rgb(var(--violet));border-radius:9px;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:7px;padding:7px 9px;display:grid}.inbox-attachment-list>span>div{flex-direction:column;min-width:0;display:flex}.inbox-attachment-list strong{color:rgb(var(--text));text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.inbox-attachment-list small{color:rgb(var(--faint));font-size:8px}.inbox-attachment-list button{color:rgb(var(--faint));background:0 0;place-items:center;display:grid}.knowledge-grid strong{font-size:11.5px}.knowledge-grid .markdown{font-size:10.5px;line-height:1.55}.first-prompt>textarea{font-size:10.5px}.ide-v3{--vscode-bg:30 30 30;--vscode-side:37 37 38;--vscode-panel:24 24 24;--vscode-line:62 62 64;--vscode-text:204 204 204;--vscode-muted:133 133 133;--vscode-blue:0 122 204}.ide-v3 .workspace-connector{font-size:13px}.vscode-shell{border:1px solid rgb(var(--vscode-line));background:rgb(var(--vscode-bg));min-width:0;height:760px;color:rgb(var(--vscode-text));box-shadow:var(--shadow-2);border-radius:12px;grid-template-rows:minmax(0,1fr) 190px 22px;grid-template-columns:44px 245px minmax(480px,1fr) 330px;display:grid;overflow:hidden}.vscode-activitybar{background:#333;flex-direction:column;grid-area:1/1/3;align-items:center;gap:3px;padding-top:5px;display:flex}.vscode-activitybar button{color:#8c8c8c;background:0 0;border-left:2px solid #0000;place-items:center;width:44px;height:44px;display:grid;position:relative}.vscode-activitybar button:hover,.vscode-activitybar button.is-active{color:#f0f0f0}.vscode-activitybar button.is-active{border-left-color:#f0f0f0}.vscode-activitybar i{background:rgb(var(--vscode-blue));color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;font-size:8px;font-style:normal;line-height:16px;position:absolute;bottom:3px;right:3px}.vscode-sidebar{border-right:1px solid rgb(var(--vscode-line));background:rgb(var(--vscode-side));flex-direction:column;grid-area:1/2/3;min-width:0;display:flex}.vscode-sidebar>header{justify-content:space-between;align-items:center;height:36px;padding:0 10px 0 14px;display:flex}.vscode-sidebar>header span{letter-spacing:.08em;font-size:9px}.vscode-sidebar>header button{color:rgb(var(--vscode-muted));background:0 0;place-items:center;display:grid}.vscode-root{text-transform:uppercase;background:#2b2b2c;align-items:center;gap:4px;height:25px;padding:0 7px;font-size:9px;display:flex}.vscode-sidebar .workspace-tree{background:rgb(var(--vscode-side))}.vscode-sidebar .workspace-node>button{color:rgb(var(--vscode-text))}.vscode-sidebar .workspace-node>button:hover{background:#2b2d2e}.vscode-sidebar .workspace-node>button.is-selected{color:#fff;background:#37373d}.vscode-sidebar .workspace-node button>span:not(.node-spacer){font-size:9.5px}.vscode-search{padding:10px}.vscode-search label{background:#3c3c3c;border:1px solid #5a5a5a;align-items:center;gap:6px;padding:5px 7px;display:flex}.vscode-search input{width:100%;min-width:0;color:rgb(var(--vscode-text));background:0 0;border:0;outline:0;font-size:9px}.vscode-search p{color:rgb(var(--vscode-muted));font-size:9px;line-height:1.5}.vscode-changes{padding:4px;overflow:auto}.vscode-changes button{width:100%;color:rgb(var(--vscode-text));text-align:left;background:0 0;border-radius:3px;grid-template-columns:22px minmax(0,1fr);gap:4px;padding:5px;display:grid}.vscode-changes button:hover{background:#37373a}.vscode-changes b{color:#73c991;font-size:9px}.vscode-changes span{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.vscode-editor{background:rgb(var(--vscode-bg));flex-direction:column;grid-area:1/3;min-width:0;display:flex}.vscode-tabs{background:rgb(var(--vscode-panel));flex:0 0 36px;height:36px;display:flex}.vscode-tabs button{border-top:1px solid rgb(var(--vscode-blue));background:rgb(var(--vscode-bg));min-width:180px;max-width:60%;color:rgb(var(--vscode-text));align-items:center;gap:6px;padding:0 10px;font-size:9px;display:flex}.vscode-tabs button>span{color:rgb(var(--vscode-muted));margin-left:auto}.vscode-breadcrumbs{border-bottom:1px solid rgb(var(--vscode-line));height:28px;color:rgb(var(--vscode-muted));flex:0 0 28px;align-items:center;padding:0 11px;font-size:8.5px;display:flex;overflow:hidden}.vscode-breadcrumbs span{white-space:nowrap;align-items:center;display:flex}.vscode-editor-surface{flex:1;min-height:0;overflow:hidden}.vscode-editor-surface .empty-state{color:rgb(var(--vscode-text))}.vscode-editor-surface .empty-state__icon{border-color:rgb(var(--vscode-line));background:rgb(var(--vscode-side))}.vscode-code{background:rgb(var(--vscode-bg));height:100%;font-family:var(--mono);grid-template-columns:48px minmax(0,1fr);font-size:11.5px;line-height:1.65;display:grid;overflow:auto}.vscode-line-numbers{background:rgb(var(--vscode-bg));color:#696969;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-end;padding:12px 9px;display:flex;position:sticky;left:0}.vscode-line-numbers span{height:18.98px}.vscode-code pre{min-width:max-content;color:rgb(var(--vscode-text));tab-size:2;white-space:pre;margin:0;padding:12px 18px 60px 8px}.vscode-editor-surface .workspace-pdf,.vscode-editor-surface .workspace-image{background:#2d2d30}.vscode-source-control{border-left:1px solid rgb(var(--vscode-line));background:rgb(var(--vscode-side));flex-direction:column;grid-area:1/4;min-width:0;display:flex}.vscode-source-control>header{border-bottom:1px solid rgb(var(--vscode-line));justify-content:space-between;align-items:center;height:49px;padding:0 10px;display:flex}.vscode-source-control>header>div{flex-direction:column;min-width:0;display:flex}.vscode-source-control header span{color:rgb(var(--vscode-muted));letter-spacing:.08em;font-size:8px}.vscode-source-control header strong{margin-top:2px;font-size:10px}.vscode-sc-tabs{border-bottom:1px solid rgb(var(--vscode-line));height:31px;display:flex}.vscode-sc-tabs button{color:rgb(var(--vscode-muted));background:0 0;border-bottom:1px solid #0000;flex:1;font-size:9px}.vscode-sc-tabs button.is-active{border-bottom-color:rgb(var(--vscode-blue));color:rgb(var(--vscode-text))}.vscode-git-content{flex:1;min-height:0;overflow:auto}.vscode-status,.vscode-diff{color:rgb(var(--vscode-text));font-family:var(--mono);white-space:pre-wrap;margin:0;padding:10px;font-size:8.5px;line-height:1.55}.vscode-status{border-bottom:1px solid rgb(var(--vscode-line));color:#ce9178}.vscode-commits{padding:5px}.vscode-commits article{grid-template-columns:22px minmax(0,1fr);gap:5px;padding:6px;display:grid}.vscode-commits strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.vscode-commits small{color:rgb(var(--vscode-muted));font-size:7.5px}.vscode-terminal{border-top:1px solid rgb(var(--vscode-line));background:rgb(var(--vscode-panel));flex-direction:column;grid-area:2/3/auto/5;min-width:0;min-height:0;display:flex}.vscode-terminal>header{flex:0 0 31px;justify-content:space-between;align-items:center;height:31px;padding:0 10px;display:flex}.vscode-terminal header>div{gap:13px;display:flex}.vscode-terminal header button{height:31px;color:rgb(var(--vscode-muted));background:0 0;border-bottom:1px solid #0000;font-size:8px}.vscode-terminal header button.is-active{border-bottom-color:rgb(var(--vscode-blue));color:rgb(var(--vscode-text))}.vscode-terminal header>span{color:rgb(var(--vscode-muted));align-items:center;gap:4px;font-size:8px;display:flex}.vscode-terminal>div{flex:1;min-height:0;padding:5px 10px;overflow:auto}.vscode-terminal article{font-family:var(--mono);grid-template-columns:52px 52px 10px minmax(0,1fr);gap:5px;padding:2px 0;font-size:8.5px;line-height:1.45;display:grid}.vscode-terminal time{color:#64748b}.vscode-terminal article>span{color:#4ade80}.vscode-terminal code{overflow-wrap:anywhere;white-space:pre-wrap}.vscode-terminal p{color:rgb(var(--vscode-muted));font-family:var(--mono);font-size:9px}.vscode-statusbar{background:rgb(var(--vscode-blue));color:#fff;grid-area:3/1/auto/5;align-items:center;gap:15px;padding:0 8px;font-size:8px;display:flex}.vscode-statusbar span{align-items:center;gap:4px;display:flex}.vscode-statusbar span:nth-child(2){margin-right:auto}.paper-root-bar{grid-template-columns:30px minmax(0,1fr) auto 34px;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;display:grid}.paper-root-bar>div{flex-direction:column;display:flex}.paper-root-bar span{color:rgb(var(--faint));letter-spacing:.11em;font-size:8.5px;font-weight:700}.paper-root-bar input{font-family:var(--mono);background:0 0;border:0;outline:0;margin-top:2px;font-size:10.5px}.paper-v3__shell{grid-template-columns:245px minmax(470px,1.25fr) minmax(390px,.9fr);gap:14px;min-width:0;height:780px;display:grid}.paper-v3__sources{flex-direction:column;display:flex}.paper-source-group{padding:7px}.paper-source-group+.paper-source-group{border-top:1px solid rgb(var(--border))}.paper-source-group h3{color:rgb(var(--muted));letter-spacing:.08em;align-items:center;gap:5px;margin:3px 5px 7px;font-size:9.5px;display:flex}.paper-source-group>button{width:100%;color:rgb(var(--muted));text-align:left;background:0 0;border-radius:9px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px;display:grid}.paper-source-group>button:hover,.paper-source-group>button.is-active{background:rgb(var(--surface-2))}.paper-source-group>button.is-active{color:rgb(var(--blue))}.paper-source-group button>div{flex-direction:column;min-width:0;display:flex}.paper-source-group strong,.paper-source-group code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paper-source-group strong{font-size:10.5px}.paper-source-group code,.paper-source-group small{color:rgb(var(--faint));font-size:8px}.paper-source-group>p{color:rgb(var(--faint));padding:8px;font-size:10px}.paper-v3__sources>footer{border-top:1px solid rgb(var(--border));margin-top:auto;padding:9px 11px}.paper-v3__sources footer span{color:rgb(var(--faint));font-size:8px;display:block}.paper-v3__sources footer code{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;display:block;overflow:hidden}.paper-v3__source{flex-direction:column;display:flex}.paper-v3__source>header{min-height:50px;padding:8px 12px}.paper-v3__source header>div{flex-direction:column;min-width:0;display:flex}.paper-v3__source header strong{font-size:12px}.paper-v3__source header code{color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.paper-v3__source header>span{color:rgb(var(--faint));font-size:8.5px}.paper-v3__source>div{flex:1;min-height:0;overflow:hidden}.paper-v3__source>footer,.paper-v3__outputs>footer{border-top:1px solid rgb(var(--border));height:31px;color:rgb(var(--faint));font-family:var(--mono);justify-content:space-between;align-items:center;padding:0 11px;font-size:8.5px;display:flex}.latex-source{background:rgb(var(--surface-2) / .38);height:100%;font-family:var(--mono);grid-template-columns:48px minmax(0,1fr);font-size:10.5px;line-height:1.65;display:grid;overflow:auto}.latex-line-numbers{background:rgb(var(--surface-2));color:rgb(var(--faint));-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-end;padding:14px 9px;display:flex;position:sticky;left:0}.latex-line-numbers span{height:17.325px}.latex-source pre{white-space:pre;min-width:max-content;margin:0;padding:14px 18px 50px 8px}.paper-v3__outputs{flex-direction:column;display:flex}.paper-v3__outputs>nav{border-bottom:1px solid rgb(var(--border));grid-template-columns:repeat(3,1fr);padding:6px;display:grid}.paper-v3__outputs>nav button{color:rgb(var(--muted));background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:7px 4px;font-size:10px;display:flex}.paper-v3__outputs>nav button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.paper-v3__outputs nav small{font-family:var(--mono)}.paper-output-surface{flex:1;min-height:0;overflow:hidden}.paper-output-surface>embed{background:#fff;border:0;width:100%;height:calc(100% - 34px)}.pdf-switcher{border-bottom:1px solid rgb(var(--border));height:34px;padding:4px;display:flex;overflow-x:auto}.pdf-switcher button{color:rgb(var(--muted));background:0 0;border-radius:6px;flex:none;padding:0 8px;font-size:8.5px}.pdf-switcher button.is-active{background:rgb(var(--surface-2));color:rgb(var(--text))}.paper-figure-grid{grid-template-columns:1fr 1fr;align-content:start;gap:8px;height:100%;padding:9px;display:grid;overflow:auto}.paper-figure-grid figure,.paper-figure-grid article{border:1px solid rgb(var(--border));background:rgb(var(--surface));border-radius:10px;min-width:0;margin:0;padding:7px}.paper-figure-grid img{-o-object-fit:contain;object-fit:contain;background:rgb(var(--surface-2));width:100%;height:150px}.paper-figure-grid figcaption{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:8.5px;overflow:hidden}.paper-figure-grid article{min-height:120px;color:rgb(var(--muted));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.paper-figure-grid article strong{margin:7px 0 3px;font-size:10px}.paper-figure-grid article code{max-width:100%;color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;overflow:hidden}.paper-reference-list{padding:7px}.paper-reference-list button{text-align:left;background:0 0;border-radius:8px;grid-template-columns:24px minmax(0,1fr);gap:7px;width:100%;padding:8px;display:grid}.paper-reference-list button:hover{background:rgb(var(--surface-2))}.paper-reference-list button>div{flex-direction:column;min-width:0;display:flex}.paper-reference-list strong{font-size:10px}.paper-reference-list code{color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.review-flow{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.review-flow>div{border:1px solid rgb(var(--border));background:rgb(var(--surface));min-height:68px;color:rgb(var(--muted));border-radius:12px;grid-template-columns:25px 24px minmax(0,1fr);align-items:center;gap:7px;padding:10px;display:grid;position:relative}.review-flow>div.is-active{border-color:rgb(var(--blue) / .3);background:rgb(var(--blue-bg));color:rgb(var(--blue))}.review-flow>div.is-done{color:rgb(var(--green))}.review-flow>div>span{background:rgb(var(--surface-2));border-radius:7px;place-items:center;width:23px;height:23px;font-size:9px;font-weight:700;display:grid}.review-flow>div>div{flex-direction:column;display:flex}.review-flow strong{color:rgb(var(--text));font-size:11px}.review-flow small{margin-top:2px;font-size:8.5px}.review-flow b{z-index:2;color:rgb(var(--faint));font-weight:400;position:absolute;right:-8px}.process-review-layout,.final-review-layout{min-height:650px}.review-rounds strong{font-size:10.5px}.review-rounds small{font-size:9px}.process-report .markdown,.final-review-report .markdown{font-size:12.5px;line-height:1.72}.final-review-form .field>span{font-size:11.5px}.final-review-form select,.final-review-form textarea{font-size:12px}.pdf-canvas-viewer{background:#525256;flex-direction:column;height:calc(100% - 34px);display:flex;overflow:hidden}.pdf-canvas-toolbar{background:rgb(var(--surface));flex:0 0 37px;align-items:center;gap:6px;min-height:37px;padding:0 8px;display:flex}.pdf-canvas-toolbar strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:9px;overflow:hidden}.pdf-canvas-toolbar span{color:rgb(var(--muted));font-size:8.5px}.pdf-canvas-toolbar button{border:1px solid rgb(var(--border));background:rgb(var(--surface-2));min-width:27px;height:25px;color:rgb(var(--muted));border-radius:6px;padding:0 6px;font-size:8px}.pdf-canvas-scroll{text-align:center;flex:1;min-height:0;padding:14px;overflow:auto}.pdf-canvas-scroll canvas{background:#fff;max-width:none;display:inline-block;box-shadow:0 3px 18px #00000059}.pdf-canvas-viewer>.inline-error{margin:10px}.custom-project-switcher{min-width:280px;max-width:430px;position:relative}.project-switcher-trigger{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:8px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;min-height:38px;padding:0 9px;transition:background .15s,border-color .15s;display:grid}.project-switcher-trigger:hover,.project-switcher-trigger.is-open{border-color:rgb(var(--border));background:rgb(var(--surface-2))}.project-switcher-trigger strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.project-switcher-trigger>svg{color:rgb(var(--faint));transition:transform .15s}.project-switcher-trigger.is-open>svg{transform:rotate(180deg)}.project-switcher-popover{z-index:100;border:1px solid rgb(var(--border));background:rgb(var(--overlay));width:min(440px,100vw - 28px);box-shadow:var(--shadow-3);border-radius:14px;animation:.14s ease-out popoverIn;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.project-switcher-popover>header{border-bottom:1px solid rgb(var(--border));flex-direction:column;padding:12px 14px;display:flex}.project-switcher-popover header span{color:rgb(var(--faint));letter-spacing:.13em;font-size:8.5px;font-weight:700}.project-switcher-popover header strong{margin-top:2px;font-size:13px}.project-switcher-popover>div{max-height:390px;padding:6px;overflow:auto}.project-switcher-popover>div>button{width:100%;color:rgb(var(--text));text-align:left;background:0 0;border-radius:10px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:9px;display:grid}.project-switcher-popover>div>button:hover{background:rgb(var(--surface-2))}.project-switcher-popover>div>button.is-selected{background:rgb(var(--blue-bg))}.project-option-icon{background:rgb(var(--surface-2));width:36px;height:36px;color:rgb(var(--muted));border-radius:10px;place-items:center;display:grid}.project-option-icon.is-live{background:rgb(var(--green-bg));color:rgb(var(--green))}.project-option-copy{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;min-width:0;display:grid}.project-option-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.project-option-copy small{color:rgb(var(--faint));font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:7.5px;overflow:hidden}.project-option-copy em{color:rgb(var(--muted));white-space:nowrap;grid-area:1/2;font-size:8px;font-style:normal}.project-option-status{background:rgb(var(--faint));border-radius:50%;justify-self:center;width:7px;height:7px}.project-option-status.is-live{background:rgb(var(--green));box-shadow:0 0 0 4px rgb(var(--green) / .1)}.project-switcher-popover>footer{border-top:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .55);color:rgb(var(--faint));justify-content:space-between;padding:8px 14px;font-size:8.5px;display:flex}.experiment-v3{max-width:1480px;margin:0 auto}.experiment-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.experiment-progress-hero{border:1px solid rgb(var(--border));background:radial-gradient(circle at 100% 0, rgb(var(--blue) / .09), transparent 38%), rgb(var(--surface));box-shadow:var(--shadow-1);border-radius:18px;grid-template-columns:minmax(0,1fr) 170px;gap:18px;padding:22px 24px 0;display:grid;overflow:hidden}.progress-hero-main{min-width:0}.progress-live-line{color:rgb(var(--muted));flex-wrap:wrap;align-items:center;gap:8px;font-size:10px;display:flex}.progress-live-line>span{border-left:1px solid rgb(var(--border));text-transform:capitalize;padding-left:8px}.progress-hero-main h2{letter-spacing:-.025em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:12px 0 10px;font-size:21px;line-height:1.35;display:-webkit-box;overflow:hidden}.current-step-callout{border:1px solid rgb(var(--green) / .18);background:rgb(var(--green-bg) / .62);border-radius:12px;grid-template-columns:38px minmax(0,1fr);gap:9px;padding:10px 12px;display:grid}.current-step-callout>span{background:rgb(var(--green-bg));width:36px;height:36px;color:rgb(var(--green));border-radius:10px;place-items:center;display:grid}.current-step-callout>div{flex-direction:column;min-width:0;display:flex}.current-step-callout small{color:rgb(var(--green));font-size:9px;font-weight:650}.current-step-callout strong{margin:2px 0;font-size:12px}.current-step-callout code{color:rgb(var(--muted));text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.progress-number{flex-direction:column;align-self:center;align-items:flex-end;padding-right:4px;display:flex}.progress-number>span{color:rgb(var(--blue));letter-spacing:.08em;font-size:9px;font-weight:700}.progress-number strong{letter-spacing:-.06em;margin:2px 0;font-size:43px;font-weight:720}.progress-number small{color:rgb(var(--muted));font-size:9.5px}.truthful-progress{grid-column:1/-1;margin-top:3px}.truthful-progress__track{background:rgb(var(--surface-3));border-radius:999px;height:13px;position:relative;overflow:visible}.truthful-progress__track .confirmed{background:rgb(var(--blue));border-radius:999px;transition:width .5s;position:absolute;inset:0 auto 0 0}.truthful-progress__track .estimated-range{border:1px dashed rgb(var(--blue) / .65);background:repeating-linear-gradient(135deg, rgb(var(--blue) / .18) 0 5px, rgb(var(--blue) / .08) 5px 10px);border-radius:999px;position:absolute;inset-block:1px}.truthful-progress__track i{background:rgb(var(--accent));width:2px;height:21px;box-shadow:0 0 0 3px rgb(var(--surface));border-radius:2px;transition:left .5s;position:absolute;top:-4px}.truthful-progress__legend{color:rgb(var(--muted));flex-wrap:wrap;align-items:center;gap:12px;padding:7px 1px 12px;font-size:8.5px;display:flex}.truthful-progress__legend span{align-items:center;gap:4px;display:flex}.truthful-progress__legend span:last-child{color:rgb(var(--faint));margin-left:auto}.truthful-progress__legend b{border-radius:3px;width:8px;height:8px}.confirmed-dot{background:rgb(var(--blue))}.range-dot{border:1px dashed rgb(var(--blue));background:rgb(var(--blue) / .12)}.progress-metrics{border-top:1px solid rgb(var(--border));grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin-inline:-24px;display:grid}.progress-metrics>div{border-right:1px solid rgb(var(--border));flex-direction:column;min-width:0;padding:13px 18px;display:flex}.progress-metrics>div:last-child{border-right:0}.progress-metrics span{color:rgb(var(--muted));align-items:center;gap:5px;font-size:9px;display:flex}.progress-metrics strong{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 2px;font-size:16px;overflow:hidden}.progress-metrics small{color:rgb(var(--faint));-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:8.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.confidence-high{color:rgb(var(--green))}.confidence-medium{color:rgb(var(--amber))}.confidence-low{color:rgb(var(--red))}.research-stage-rail{border:1px solid rgb(var(--border));background:rgb(var(--surface));border-radius:14px;grid-template-columns:repeat(7,1fr);gap:5px;margin:12px 0;padding:8px;display:grid}.research-stage-rail>div{color:rgb(var(--faint));border-radius:9px;align-items:center;gap:6px;padding:7px 9px;display:flex;position:relative}.research-stage-rail>div>span{background:rgb(var(--surface-2));border-radius:8px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:9px;font-weight:700;display:grid}.research-stage-rail strong{font-size:9px}.research-stage-rail>div>svg{z-index:2;position:absolute;right:-6px}.research-stage-rail>div.is-done{color:rgb(var(--green))}.research-stage-rail>div.is-done>span{background:rgb(var(--green-bg))}.research-stage-rail>div.is-active{background:rgb(var(--blue-bg));color:rgb(var(--blue))}.research-stage-rail>div.is-active>span{background:rgb(var(--blue));color:#fff}.experiment-v3-grid{grid-template-columns:245px minmax(450px,1fr) 315px;align-items:start;gap:12px;display:grid}.experiment-task-route>div{max-height:720px;padding:6px;overflow:auto}.experiment-task-route>div>button{text-align:left;background:0 0;border-radius:10px;grid-template-columns:30px minmax(0,1fr);gap:7px;width:100%;padding:9px;display:grid}.experiment-task-route>div>button:hover,.experiment-task-route>div>button.is-active{background:rgb(var(--surface-2))}.task-state{border:1px solid rgb(var(--border));background:rgb(var(--surface));width:28px;height:28px;color:rgb(var(--faint));border-radius:9px;place-items:center;display:grid}.task-state--live{border-color:rgb(var(--green) / .25);background:rgb(var(--green-bg));color:rgb(var(--green))}.task-state--success{background:rgb(var(--green-bg));color:rgb(var(--green))}.task-state--danger{background:rgb(var(--red-bg));color:rgb(var(--red))}.task-state--warn{background:rgb(var(--amber-bg));color:rgb(var(--amber))}.experiment-task-route button>div{flex-direction:column;min-width:0;display:flex}.experiment-task-route strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.experiment-task-route small{color:rgb(var(--faint));margin-top:3px;font-size:8.5px}.experiment-v3-center,.experiment-v3-side{gap:12px;min-width:0;display:grid}.checkpoint-list{grid-template-columns:repeat(5,1fr);gap:0;padding:14px;display:grid}.checkpoint{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.checkpoint>span{z-index:2;border:2px solid rgb(var(--surface));background:rgb(var(--surface-2));width:30px;height:30px;color:rgb(var(--faint));box-shadow:0 0 0 1px rgb(var(--border));border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid;position:relative}.checkpoint>i{background:rgb(var(--border));height:2px;position:absolute;top:15px;left:calc(50% + 15px);right:calc(15px - 50%)}.checkpoint>div{margin-top:8px;padding-inline:4px}.checkpoint strong{font-size:9.5px;display:block}.checkpoint p{color:rgb(var(--muted));margin:3px 0 0;font-size:8px;line-height:1.4}.checkpoint--done>span{background:rgb(var(--green));color:#fff}.checkpoint--done>i{background:rgb(var(--green))}.checkpoint--active>span{background:rgb(var(--blue));color:#fff;animation:2s infinite livePulse}.checkpoint--blocked>span{background:rgb(var(--red-bg));color:rgb(var(--red))}.selected-task-detail{border-top:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .45);padding:12px 15px}.selected-task-detail>span{color:rgb(var(--faint));font-size:8px}.selected-task-detail strong{margin-top:3px;font-size:11px;display:block}.selected-task-detail p{color:rgb(var(--muted));-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:4px 0 0;font-size:9px;line-height:1.5;display:-webkit-box;overflow:hidden}.experiment-live-events{max-height:560px;overflow:auto}.experiment-team>div{padding:6px}.experiment-team article{border-radius:10px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.experiment-team article.is-active{background:rgb(var(--blue-bg))}.role-dot{background:rgb(var(--faint));border-radius:50%;width:8px;height:8px}.role-dot--manager{background:rgb(var(--manager))}.role-dot--planner{background:rgb(var(--planner))}.role-dot--engineer{background:rgb(var(--engineer))}.role-dot--reviewer{background:rgb(var(--reviewer))}.experiment-team article>div{min-width:0}.experiment-team strong{text-transform:capitalize;font-size:10.5px}.experiment-team p{color:rgb(var(--muted));text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:8.5px;overflow:hidden}.experiment-team small{color:rgb(var(--faint));font-size:8px}.estimate-note>div{padding:13px}.estimate-note p{color:rgb(var(--muted));margin:0 0 11px;font-size:9.5px;line-height:1.55}.estimate-note p strong{color:rgb(var(--text));margin-bottom:3px;display:block}.estimate-risk,.estimate-ok{border:1px solid rgb(var(--border));border-radius:10px;grid-template-columns:26px minmax(0,1fr);gap:7px;padding:9px;display:grid}.estimate-risk{border-color:rgb(var(--amber) / .22);background:rgb(var(--amber-bg));color:rgb(var(--amber))}.estimate-ok{border-color:rgb(var(--green) / .22);background:rgb(var(--green-bg));color:rgb(var(--green))}.estimate-risk span,.estimate-ok span{flex-direction:column;font-size:8.5px;display:flex}.estimate-risk strong,.estimate-ok strong{margin-bottom:2px;font-size:9.5px}.ide-context-strip{border:1px solid rgb(var(--border));background:rgb(var(--surface));border-radius:10px 10px 0 0;grid-template-columns:18px minmax(150px,240px) minmax(0,1fr) auto auto 28px;align-items:center;gap:8px;min-height:40px;margin-bottom:-1px;padding:5px 8px 5px 11px;display:grid}.ide-context-strip>svg{color:rgb(var(--muted))}.ide-context-strip select{background:0 0;border:0;outline:0;width:100%;font-size:10.5px;font-weight:620}.ide-context-strip code{color:rgb(var(--faint));text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.ide-context-strip small{color:rgb(var(--faint));font-family:var(--mono);font-size:8px}.ide-context-strip>button{background:rgb(var(--surface-2));width:27px;height:27px;color:rgb(var(--muted));border-radius:7px;place-items:center;display:grid}.ide-context-strip+.vscode-shell{border-radius:0 0 12px 12px}.repository-readiness{padding:11px}.repository-readiness h3{color:rgb(var(--vscode-text));margin:0 0 9px;font-size:11px}.repository-readiness dl{gap:5px;margin:0;display:grid}.repository-readiness dl>div{border:1px solid rgb(var(--vscode-line));background:#1f1f20;border-radius:6px;grid-template-columns:110px minmax(0,1fr) 18px;align-items:center;gap:5px;padding:7px;display:grid}.repository-readiness dt{color:rgb(var(--vscode-muted));align-items:center;gap:5px;font-size:8.5px;display:flex}.repository-readiness dd{color:rgb(var(--vscode-text));font-family:var(--mono);text-overflow:ellipsis;white-space:pre-wrap;margin:0;font-size:7.8px;line-height:1.4;overflow:hidden}.repository-readiness i{border-radius:50%;place-items:center;width:17px;height:17px;font-style:normal;display:grid}.repository-readiness i.ok{color:#86efac;background:#166534}.repository-readiness i.missing{color:#fdba74;background:#451a03}.repository-readiness>p{border-top:1px solid rgb(var(--vscode-line));color:rgb(var(--vscode-muted));margin:10px 0 0;padding-top:9px;font-size:8.5px;line-height:1.5}.vscode-terminal>header>strong{color:rgb(var(--vscode-text));letter-spacing:.08em;font-size:8.5px}.paper-root-bar>div{min-width:0}.paper-root-bar select{background:0 0;border:0;outline:0;max-width:260px;margin-top:2px;font-size:10.5px;font-weight:620}.paper-root-bar code{color:rgb(var(--faint));font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.figure-loading{background:rgb(var(--surface-2));height:150px;color:rgb(var(--faint));place-items:center;font-size:9px;display:grid}.review-form-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:11px;display:grid}.review-emphasis{border:1px solid rgb(var(--border));border-radius:10px;grid-template-columns:1fr 1fr;gap:5px;margin:11px 0;padding:10px;display:grid}.review-emphasis legend{color:rgb(var(--muted));padding:0 5px;font-size:10px;font-weight:620}.review-emphasis label{color:rgb(var(--muted));border-radius:7px;align-items:center;gap:5px;padding:4px 5px;font-size:8.5px;display:flex}.review-emphasis label:hover{background:rgb(var(--surface-2))}.review-emphasis input{accent-color:rgb(var(--blue))}.project-intake-start{align-items:center;gap:7px;display:flex}.project-intake-start select{border:1px solid rgb(var(--border-strong));background:rgb(var(--surface));border-radius:10px;outline:0;max-width:260px;height:42px;padding:0 9px;font-size:10px}.release-page{max-width:1280px;margin:0 auto}.release-hero{border:1px solid rgb(var(--border));background:radial-gradient(circle at 100% 0, rgb(var(--violet) / .1), transparent 42%), rgb(var(--surface));border-radius:17px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:15px;padding:22px;display:grid}.release-hero>span{background:rgb(var(--violet-bg));width:54px;height:54px;color:rgb(var(--violet));border-radius:15px;place-items:center;display:grid}.release-hero h2{margin:3px 0 6px;font-size:21px}.release-hero p{max-width:780px;color:rgb(var(--muted));margin:0;font-size:11.5px;line-height:1.6}.release-module-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0;display:grid}.release-module{border:1px solid rgb(var(--border));background:rgb(var(--surface));min-height:290px;box-shadow:var(--shadow-1);border-radius:15px;padding:17px}.release-module>header{justify-content:space-between;align-items:center;display:flex}.release-module header>span{background:rgb(var(--surface-2));width:42px;height:42px;color:rgb(var(--muted));border-radius:11px;place-items:center;display:grid}.release-module h3{margin:16px 0 6px;font-size:15px}.release-module>p{min-height:52px;color:rgb(var(--muted));margin:0;font-size:10.5px;line-height:1.55}.release-module ul{border-top:1px solid rgb(var(--border));gap:7px;margin:13px 0 0;padding:13px 0 0;list-style:none;display:grid}.release-module li{color:rgb(var(--muted));align-items:center;gap:6px;font-size:9.5px;display:flex}.release-module li svg{color:rgb(var(--green))}.release-flow{border:1px solid rgb(var(--border));background:rgb(var(--surface));border-radius:14px;grid-template-columns:1fr 20px 1fr 20px 1fr 20px 1fr;align-items:center;padding:12px;display:grid}.release-flow>div{border-radius:10px;grid-template-columns:32px minmax(0,1fr);gap:7px;padding:9px;display:grid}.release-flow>div>svg{color:rgb(var(--blue));grid-row:1/3;align-self:center}.release-flow strong{font-size:10px}.release-flow small{color:rgb(var(--faint));font-size:8px}.release-flow>b{color:rgb(var(--faint));text-align:center;font-weight:400}.release-boundary{border:1px solid rgb(var(--amber) / .22);background:rgb(var(--amber-bg));color:rgb(var(--amber));border-radius:12px;gap:9px;margin-top:12px;padding:12px;display:flex}.release-boundary strong{font-size:10.5px}.release-boundary p{margin:3px 0 0;font-size:9px;line-height:1.5}}@layer responsive{@media (width<=1450px){.metric-grid{grid-template-columns:repeat(3,1fr)}.literature-v2__layout{grid-template-columns:210px minmax(380px,1fr) 310px}.inbox-v2__layout{grid-template-columns:200px minmax(340px,1fr) 320px}.ide-v2__shell{grid-template-columns:210px minmax(360px,1fr) 300px}.paper-v2__shell{grid-template-columns:210px minmax(380px,1fr) 320px}}.integrated-workbench{container-type:inline-size}@container (width<=1100px){.integrated-workbench .experiment-v3-grid{grid-template-columns:220px minmax(0,1fr)}.integrated-workbench .experiment-v3-side{grid-column:1/-1;grid-template-columns:1fr 1fr}.integrated-workbench .research-stage-rail{grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible}.integrated-workbench .literature-v2__layout,.integrated-workbench .inbox-v2__layout{grid-template-columns:210px minmax(0,1fr)}.integrated-workbench .literature-v2__detail,.integrated-workbench .inbox-output{grid-column:1/-1}.integrated-workbench .vscode-shell{grid-template-rows:minmax(0,1fr) 180px 340px 22px;grid-template-columns:42px 220px minmax(0,1fr);height:820px}.integrated-workbench .vscode-source-control{border-top:1px solid rgb(var(--vscode-line));border-left:0;grid-area:3/2/auto/4;display:flex}.integrated-workbench .vscode-terminal{grid-column:3}.integrated-workbench .vscode-statusbar{grid-area:4/1/auto/4}.integrated-workbench .paper-v3__shell{grid-template-columns:220px minmax(0,1fr);height:auto}.integrated-workbench .paper-v3__sources,.integrated-workbench .paper-v3__source{min-height:720px}.integrated-workbench .paper-v3__outputs{grid-column:1/-1;min-height:720px}.integrated-workbench .process-review-layout,.integrated-workbench .final-review-layout{grid-template-columns:220px minmax(0,1fr)}.integrated-workbench .review-live,.integrated-workbench .final-review-form{grid-column:1/-1}}@container (width<=700px){.integrated-workbench .ros-page,.integrated-workbench .overview-page,.integrated-workbench .page{padding:16px 16px 28px}.integrated-workbench .ros-page-header{flex-direction:column;gap:12px}.integrated-workbench .header-badges{justify-content:flex-start;width:100%}.integrated-workbench .module-grid,.integrated-workbench .copilot-v2__layout{grid-template-columns:1fr}.integrated-workbench .copilot-v2__aside{display:none}.integrated-workbench .experiment-v3-grid,.integrated-workbench .literature-v2__layout,.integrated-workbench .inbox-v2__layout,.integrated-workbench .process-review-layout,.integrated-workbench .final-review-layout{grid-template-columns:1fr}.integrated-workbench .experiment-v3-side,.integrated-workbench .literature-v2__detail,.integrated-workbench .inbox-output,.integrated-workbench .review-live,.integrated-workbench .final-review-form{grid-column:auto}.integrated-workbench .experiment-v3-side,.integrated-workbench .inbox-output,.integrated-workbench .literature-v2__detail{grid-template-columns:1fr}.integrated-workbench .experiment-header-actions{justify-content:flex-start;width:100%}.integrated-workbench .experiment-header-actions .button{flex:96px;justify-content:center;min-width:0}.integrated-workbench .experiment-progress-hero{grid-template-columns:1fr;gap:12px;padding:18px 16px 0}.integrated-workbench .progress-number{align-items:flex-start;padding-right:0}.integrated-workbench .progress-number strong{font-size:38px}.integrated-workbench .truthful-progress__legend span:last-child{width:100%;margin-left:0}.integrated-workbench .progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:-16px}.integrated-workbench .progress-metrics>div:nth-child(2){border-right:0}.integrated-workbench .progress-metrics>div:nth-child(-n+2){border-bottom:1px solid rgb(var(--border))}.integrated-workbench .checkpoint-list{grid-template-columns:1fr;gap:8px}.integrated-workbench .checkpoint{text-align:left;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;display:grid}.integrated-workbench .checkpoint>div{margin-top:0;padding-inline:0}.integrated-workbench .checkpoint>i{display:none}.integrated-workbench .research-stage-rail,.integrated-workbench .intake-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.integrated-workbench .intake-steps>div>svg,.integrated-workbench .literature-v2__sidebar{display:none}.integrated-workbench .literature-list-header{align-items:flex-start;gap:10px}.integrated-workbench .paper-grid{grid-template-columns:1fr}.integrated-workbench .paper-card{min-height:0}.integrated-workbench .literature-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.integrated-workbench .ide-context-strip{grid-template-columns:18px minmax(0,1fr) auto 28px}.integrated-workbench .ide-context-strip code,.integrated-workbench .ide-context-strip small{display:none}.integrated-workbench .vscode-shell,.integrated-workbench .paper-v3__shell{flex-direction:column;height:auto;display:flex}.integrated-workbench .vscode-activitybar{flex-direction:row;height:44px}.integrated-workbench .vscode-sidebar{min-height:420px}.integrated-workbench .vscode-editor{min-height:680px}.integrated-workbench .vscode-terminal{min-height:240px}.integrated-workbench .vscode-source-control{min-height:420px}.integrated-workbench .vscode-statusbar{min-height:22px}.integrated-workbench .paper-v3__sources{min-height:480px}.integrated-workbench .paper-v3__source,.integrated-workbench .paper-v3__outputs{min-height:720px}.integrated-workbench .review-flow,.integrated-workbench .release-module-grid,.integrated-workbench .review-mode-tabs{grid-template-columns:1fr}.integrated-workbench .review-mode-tabs>button{min-width:0}.integrated-workbench .review-flow b{display:none}.integrated-workbench .release-flow{grid-template-columns:1fr;gap:5px}.integrated-workbench .release-flow>b{transform:rotate(90deg)}}@media (width<=1180px){:root{--sidebar:204px}.project-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-hero{grid-template-columns:1fr}.overview-hero__stats{grid-template-columns:repeat(3,1fr)}.overview-hero__stats>div{flex-direction:column;align-items:flex-start;display:flex}.literature-v2__layout{grid-template-columns:210px minmax(0,1fr)}.literature-v2__detail{grid-column:1/-1;grid-template-columns:1.2fr 1fr 1fr}.inbox-v2__layout{grid-template-columns:210px minmax(0,1fr)}.inbox-output{grid-column:1/-1;grid-template-rows:520px;grid-template-columns:1fr 1fr}.ide-v2__shell{grid-template-columns:210px minmax(0,1fr)}.ide-v2__assistant{grid-area:auto/1/auto/-1;min-height:480px}.ide-v2__shell{grid-template-rows:570px 170px auto;height:auto}.ide-v2__explorer{grid-row:1/3}.ide-v2__terminal{grid-column:2}.paper-v2__shell{grid-template-columns:210px minmax(0,1fr);height:auto}.paper-v2__files,.paper-v2__editor{min-height:700px}.paper-v2__assistant{grid-column:1/-1;min-height:500px}.process-review-layout{grid-template-columns:240px minmax(0,1fr)}.review-live{grid-column:1/-1;max-height:500px}.final-review-layout{grid-template-columns:230px minmax(0,1fr)}.final-review-form{grid-column:1/-1}.experiment-workspace{grid-template-columns:220px minmax(0,1fr)}.experiment-side{grid-column:1/-1;grid-template-columns:1fr 1fr}}@media (width<=900px){.ros-topbar__menu{display:inline-grid}.ros-topbar .brand-button,.back-to-projects,.ros-topbar__divider{display:none}.workspace-project-select{min-width:0;max-width:280px}.ros-workspace{grid-template-columns:1fr}.ros-sidebar{inset:var(--topbar) auto 0 0;z-index:60;width:250px;transition:transform .2s;position:fixed;transform:translate(-102%);box-shadow:18px 0 50px #00000047}.ros-sidebar.is-mobile-open{transform:translate(0)}.ros-sidebar__mobile-brand{border-bottom:1px solid rgb(var(--border));justify-content:space-between;align-items:center;margin:-12px -12px 10px;padding:11px 12px;display:flex}.mobile-scrim{inset:var(--topbar) 0 0;z-index:55;background:#0000006b;display:block;position:fixed}.ros-page,.overview-page,.page{padding:20px}.project-hub{padding:34px 20px 60px}.project-hub__hero{flex-direction:column}.project-hub__summary{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr 1fr}.overview-lower,.copilot-v2__layout{grid-template-columns:1fr}.copilot-v2__aside{display:none}.literature-stats{grid-template-columns:1fr 1fr}.literature-v2__layout{grid-template-columns:1fr}.literature-v2__sidebar{display:none}.literature-v2__detail{grid-column:auto;grid-template-columns:1fr}.paper-grid,.inbox-v2__layout{grid-template-columns:1fr}.inbox-sources{min-height:260px}.inbox-input{min-height:600px}.inbox-output{grid-column:auto;grid-template-rows:auto;grid-template-columns:1fr}.knowledge-panel,.first-prompt{min-height:460px}.ide-v2__shell{grid-template-columns:200px minmax(0,1fr)}.ide-v2__assistant{grid-column:1/-1}.paper-v2__shell{grid-template-columns:200px minmax(0,1fr)}.paper-v2__assistant{grid-column:1/-1}.process-review-layout,.final-review-layout{grid-template-columns:1fr}.review-rounds{max-height:360px}.review-live,.process-verdict-card,.final-review-form{grid-column:auto}.experiment-workspace{grid-template-columns:1fr}.experiment-side{grid-column:auto;grid-template-columns:1fr}.mission-hero{flex-direction:column}}@media (width<=640px){.ros-topbar{padding-inline:10px}.ros-topbar>.badge{display:none}.workspace-project-select select{font-size:11px}.ros-page,.overview-page,.page{padding:16px}.ros-page-header{flex-direction:column;gap:8px}.ros-page-header h1{font-size:21px}.project-hub{padding-inline:16px}.project-hub__hero h1{font-size:27px}.project-grid,.module-grid{grid-template-columns:1fr}.project-hub__toolbar{flex-direction:column;align-items:stretch}.search-field{min-width:0}.overview-hero{padding:18px}.overview-hero__stats,.overview-lower{grid-template-columns:1fr}.copilot-v2{height:auto;min-height:100%}.copilot-v2__thread{min-height:720px}.copilot-empty>div{grid-template-columns:1fr}.optimize-button{justify-content:center;width:35px;padding:0;font-size:0}.message--user{margin-left:40px}.prompt-optimizer__compare{grid-template-columns:1fr}.prompt-optimizer{max-height:95vh}.literature-stats,.paper-grid{grid-template-columns:1fr}.intake-steps{grid-template-columns:1fr 1fr}.intake-steps>div>svg{display:none}.form-grid,.new-project-fields{grid-template-columns:1fr}.inbox-input__actions{flex-direction:column}.workspace-connector{grid-template-columns:28px minmax(0,1fr)}.workspace-connector__state{grid-column:2}.workspace-connector>div:nth-child(2)>div{flex-direction:column}.ide-v2__shell{flex-direction:column;height:auto;display:flex}.ide-v2__explorer{min-height:400px}.ide-v2__center{min-height:650px}.ide-v2__terminal{min-height:220px}.ide-v2__assistant{min-height:520px}.paper-v2__shell{flex-direction:column;display:flex}.paper-v2__files{min-height:440px}.paper-v2__editor{min-height:700px}.paper-v2__assistant{min-height:560px}.review-mode-tabs{grid-template-columns:1fr}.process-review-layout,.final-review-layout{flex-direction:column;display:flex}.process-report,.final-review-report{min-height:600px}.metric-grid,.current-task__facts{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1450px){.literature-v2__layout{grid-template-columns:220px minmax(440px,1fr) 340px}.inbox-v2__layout{grid-template-columns:210px minmax(390px,1fr) 350px}.vscode-shell{grid-template-columns:42px 225px minmax(420px,1fr) 300px}.paper-v3__shell{grid-template-columns:225px minmax(420px,1fr) 360px}}@media (width<=1180px){.copilot-v2__layout{grid-template-columns:minmax(0,1fr) 340px}.literature-v2__layout{grid-template-columns:220px minmax(0,1fr)}.literature-v2__detail{grid-column:1/-1;grid-template-columns:1.2fr 1fr 1fr}.inbox-v2__layout{grid-template-columns:220px minmax(0,1fr)}.inbox-output{grid-column:1/-1}.vscode-shell{grid-template-rows:minmax(0,1fr) 180px 22px;grid-template-columns:42px 220px minmax(0,1fr);height:820px}.vscode-source-control{display:none}.vscode-terminal{grid-column:3}.vscode-statusbar{grid-column:1/4}.paper-v3__shell{grid-template-columns:220px minmax(0,1fr);height:auto}.paper-v3__sources,.paper-v3__source{min-height:720px}.paper-v3__outputs{grid-column:1/-1;min-height:720px}}@media (width<=900px){.copilot-v2__layout{grid-template-columns:1fr}.copilot-v2__aside{display:none}.literature-v2__layout{grid-template-columns:1fr}.literature-v2__sidebar{display:none}.inbox-v2__layout{grid-template-columns:1fr}.inbox-output{grid-column:auto}.vscode-shell{grid-template-columns:42px 210px minmax(0,1fr)}.paper-v3__shell{grid-template-columns:210px minmax(0,1fr)}.paper-v3__outputs{grid-column:1/-1}}@media (width<=640px){.ros-page:not(.copilot-v2) .ros-page-header h1{font-size:23px}.ros-page:not(.copilot-v2) .ros-page-header p{font-size:12.5px}.vscode-shell{flex-direction:column;height:auto;display:flex}.vscode-activitybar{flex-direction:row;height:44px}.vscode-sidebar{min-height:420px}.vscode-editor{min-height:680px}.vscode-terminal{min-height:240px}.vscode-statusbar{height:22px}.paper-root-bar{grid-template-columns:25px minmax(0,1fr) auto}.paper-root-bar>.icon-button{display:none}.paper-v3__shell{flex-direction:column;display:flex}.paper-v3__sources{min-height:480px}.paper-v3__source,.paper-v3__outputs{min-height:720px}.paper-figure-grid{grid-template-columns:1fr}.review-flow{grid-template-columns:1fr 1fr}.review-flow b{display:none}.inbox-upload-types{grid-template-columns:1fr 1fr 1fr}.inbox-upload-types p{grid-column:1/-1}}@media (width<=1450px){.experiment-v3-grid{grid-template-columns:225px minmax(420px,1fr) 290px}}@media (width<=1180px){.experiment-v3-grid{grid-template-columns:220px minmax(0,1fr)}.experiment-v3-side{grid-column:1/-1;grid-template-columns:1fr 1fr}.research-stage-rail{grid-template-columns:repeat(7,minmax(135px,1fr));overflow-x:auto}}@media (width<=900px){.custom-project-switcher{min-width:0;max-width:320px}.progress-metrics{grid-template-columns:1fr 1fr}.progress-metrics>div:nth-child(2){border-right:0}.progress-metrics>div:nth-child(-n+2){border-bottom:1px solid rgb(var(--border))}.experiment-v3-grid{grid-template-columns:1fr}.experiment-v3-side{grid-column:auto;grid-template-columns:1fr}}@media (width<=640px){.project-switcher-trigger strong{font-size:11px}.project-switcher-popover{top:calc(var(--topbar) + 6px);width:auto;position:fixed;left:8px;right:8px}.experiment-progress-hero{grid-template-columns:1fr;padding:18px 18px 0}.progress-number{align-items:flex-start}.truthful-progress{grid-column:1}.progress-metrics{grid-column:1;margin-inline:-18px}.checkpoint-list{grid-template-columns:1fr;gap:6px}.checkpoint{text-align:left;grid-template-columns:34px minmax(0,1fr);align-items:center;min-height:50px;display:grid}.checkpoint>div{margin-top:0}.checkpoint>i{width:2px;height:auto;top:30px;bottom:-8px;left:15px}.checkpoint p{font-size:8.5px}}@media (width<=900px){.release-module-grid{grid-template-columns:1fr}.release-flow{grid-template-columns:1fr;gap:5px}.release-flow>b{transform:rotate(90deg)}.project-intake-start{flex-direction:column;align-items:stretch}.project-intake-start select{max-width:none}}@media (width<=640px){.ide-context-strip{grid-template-columns:18px minmax(0,1fr) auto 28px}.ide-context-strip code,.ide-context-strip small{display:none}.review-form-row,.review-emphasis,.release-hero{grid-template-columns:1fr}}@media (width<=1180px){.vscode-shell{grid-template-rows:minmax(0,1fr) 180px 340px 22px}.vscode-source-control{border-top:1px solid rgb(var(--vscode-line));border-left:0;grid-area:3/2/auto/4;display:flex}.vscode-statusbar{grid-row:4}}@media (width<=900px){.literature-v2__sidebar{display:block}.literature-v2__sidebar .library-tabs{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.literature-v2__sidebar .library-tabs button{justify-content:center;gap:7px}.literature-source-note{display:none}}@media (width<=640px){.literature-v2__sidebar .library-tabs{grid-template-columns:1fr 1fr}.vscode-source-control{min-height:420px}}@media (width<=900px){.copilot-v2{height:auto;min-height:100%;overflow:visible}.copilot-v2__layout{flex-direction:column;display:flex}.copilot-v2__thread{min-height:720px}.copilot-v2__aside{min-height:540px;display:block}}}@keyframes livePulse{0%,to{box-shadow:0 0 0 0 rgb(var(--green) / .25)}50%{box-shadow:0 0 0 5px rgb(var(--green) / 0)}}@keyframes blink{50%{opacity:.35}}@keyframes skeleton{to{background-position:-120% 0}}@keyframes popoverIn{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.integrated-workbench button{padding:revert-layer}.integrated-workbench .literature-v2__sidebar .search-field{width:calc(100% - 24px);min-width:0;max-width:none}.integrated-workbench .literature-v2__main{border:1px solid rgb(var(--border));background:rgb(var(--surface));box-shadow:var(--shadow-1);border-radius:16px;padding:16px;overflow:hidden}.integrated-workbench .literature-list-header{border-bottom:1px solid rgb(var(--border));min-height:0;margin-bottom:14px;padding-bottom:14px}.integrated-workbench .paper-grid{gap:14px}.integrated-workbench button.paper-card{border-color:rgb(var(--border-strong));background:rgb(var(--surface-2) / .42);width:100%;min-width:0;min-height:242px;box-shadow:none;padding:17px;overflow:hidden}.integrated-workbench .paper-card__meta{flex-wrap:wrap;align-items:flex-start;min-width:0}.integrated-workbench .paper-card__year{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;overflow:hidden}.integrated-workbench .paper-card__footer{min-width:0}.integrated-workbench .paper-card__footer>span{white-space:nowrap;flex:none}.integrated-workbench .release-module>header .badge{flex-shrink:0}@container (width<=700px){.integrated-workbench .literature-v2__main{padding:12px}.integrated-workbench .literature-list-header{margin-bottom:12px;padding-bottom:12px}.integrated-workbench button.paper-card{min-height:0;padding:15px}}.placeholder\:text-ink-faint::placeholder{--tw-text-opacity:1;color:rgb(var(--ink-faint) / var(--tw-text-opacity,1))}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:border-blue\/60:focus-within{border-color:rgb(var(--blue) / .6)}.hover\:border-blue:hover{--tw-border-opacity:1;border-color:rgb(var(--blue) / var(--tw-border-opacity,1))}.hover\:border-blue-sky\/50:hover{border-color:rgb(var(--blue-sky) / .5)}.hover\:border-blue-sky\/60:hover{border-color:rgb(var(--blue-sky) / .6)}.hover\:border-blue\/45:hover{border-color:rgb(var(--blue) / .45)}.hover\:border-blue\/50:hover{border-color:rgb(var(--blue) / .5)}.hover\:border-blue\/60:hover{border-color:rgb(var(--blue) / .6)}.hover\:border-err\/50:hover{border-color:#dc7d7880}.hover\:border-ink-faint:hover{--tw-border-opacity:1;border-color:rgb(var(--ink-faint) / var(--tw-border-opacity,1))}.hover\:border-manager:hover{--tw-border-opacity:1;border-color:rgb(var(--role-manager) / var(--tw-border-opacity,1))}.hover\:border-warn\/60:hover{border-color:#d1ad6899}.hover\:bg-bg:hover{--tw-bg-opacity:1;background-color:rgb(var(--bg) / var(--tw-bg-opacity,1))}.hover\:bg-bg\/60:hover{background-color:rgb(var(--bg) / .6)}.hover\:bg-bg\/70:hover{background-color:rgb(var(--bg) / .7)}.hover\:bg-blue-deep\/20:hover{background-color:rgb(var(--blue-deep) / .2)}.hover\:bg-blue-deep\/80:hover{background-color:rgb(var(--blue-deep) / .8)}.hover\:bg-blue-deep\/85:hover{background-color:rgb(var(--blue-deep) / .85)}.hover\:bg-blue\/10:hover{background-color:rgb(var(--blue) / .1)}.hover\:bg-blue\/20:hover{background-color:rgb(var(--blue) / .2)}.hover\:bg-err\/10:hover{background-color:#dc7d781a}.hover\:bg-line\/20:hover{background-color:rgb(var(--line) / .2)}.hover\:bg-manager\/20:hover{background-color:rgb(var(--role-manager) / .2)}.hover\:bg-panel:hover{--tw-bg-opacity:1;background-color:rgb(var(--panel) / var(--tw-bg-opacity,1))}.hover\:bg-panel-raised:hover{--tw-bg-opacity:1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity,1))}.hover\:bg-panel\/60:hover{background-color:rgb(var(--panel) / .6)}.hover\:bg-surface:hover{--tw-bg-opacity:1;background-color:rgb(var(--surface) / var(--tw-bg-opacity,1))}.hover\:bg-warn\/10:hover{background-color:#d1ad681a}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-blue:hover{--tw-text-opacity:1;color:rgb(var(--blue) / var(--tw-text-opacity,1))}.hover\:text-err:hover{--tw-text-opacity:1;color:rgb(220 125 120/var(--tw-text-opacity,1))}.hover\:text-gold-soft:hover{--tw-text-opacity:1;color:rgb(224 204 164/var(--tw-text-opacity,1))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(var(--ink) / var(--tw-text-opacity,1))}.hover\:text-ink-dim:hover{--tw-text-opacity:1;color:rgb(var(--ink-dim) / var(--tw-text-opacity,1))}.hover\:decoration-blue:hover{-webkit-text-decoration-color:rgb(var(--blue) / 1);text-decoration-color:rgb(var(--blue) / 1)}.hover\:opacity-100:hover{opacity:1}.focus\:border-blue:focus{--tw-border-opacity:1;border-color:rgb(var(--blue) / var(--tw-border-opacity,1))}.focus\:border-blue-deep:focus{--tw-border-opacity:1;border-color:rgb(var(--blue-deep) / var(--tw-border-opacity,1))}.focus\:border-blue\/60:focus{border-color:rgb(var(--blue) / .6)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-sky\/50:focus-visible{--tw-ring-color:rgb(var(--blue-sky) / .5)}.focus-visible\:ring-blue\/50:focus-visible{--tw-ring-color:rgb(var(--blue) / .5)}.active\:bg-panel-raised:active{--tw-bg-opacity:1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity,1))}.enabled\:hover\:text-blue-sky:hover:enabled{--tw-text-opacity:1;color:rgb(var(--blue-sky) / var(--tw-text-opacity,1))}.enabled\:focus-visible\:underline:focus-visible:enabled{text-decoration-line:underline}.enabled\:focus-visible\:outline-none:focus-visible:enabled{outline-offset:2px;outline:2px solid #0000}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:text-ink-faint:disabled{--tw-text-opacity:1;color:rgb(var(--ink-faint) / var(--tw-text-opacity,1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:bg-blue\/70{background-color:rgb(var(--blue) / .7)}.group:hover .group-hover\:bg-ink-faint\/30{background-color:rgb(var(--ink-faint) / .3)}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:bg-blue\/70{background-color:rgb(var(--blue) / .7)}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media (width>=640px){.sm\:left-auto{left:auto}.sm\:order-none{order:0}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:h-20{height:5rem}.sm\:max-h-\[88dvh\]{max-height:88dvh}.sm\:w-20{width:5rem}.sm\:w-auto{width:auto}.sm\:max-w-48{max-width:12rem}.sm\:max-w-\[82\%\]{max-width:82%}.sm\:max-w-md{max-width:28rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[100px_minmax\(0\,1fr\)\]{grid-template-columns:100px minmax(0,1fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:gap-3{gap:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-16{padding-top:4rem}.sm\:text-right{text-align:right}.sm\:opacity-0{opacity:0}.group:focus-within .sm\:group-focus-within\:opacity-100,.group:hover .sm\:group-hover\:opacity-100{opacity:1}}@media (width>=1024px){.lg\:visible{visibility:visible}.lg\:static{position:static}.lg\:z-auto{z-index:auto}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:w-14{width:3.5rem}.lg\:w-\[var\(--preview-width\)\]{width:var(--preview-width)}.lg\:w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.lg\:max-w-\[61\.8vw\]{max-width:61.8vw}.lg\:flex-none{flex:none}.lg\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(260px\,0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(300px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.lg\:gap-3{gap:.75rem}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:overflow-hidden{overflow:hidden}.lg\:border-b-0{border-bottom-width:0}.lg\:border-r{border-right-width:1px}}@media (width>=1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} diff --git a/frontend/web/dist/assets/ResearchWorkbenchPanel-Dx5dtiSU.css b/frontend/web/dist/assets/ResearchWorkbenchPanel-Dx5dtiSU.css deleted file mode 100644 index e1e19be51..000000000 --- a/frontend/web/dist/assets/ResearchWorkbenchPanel-Dx5dtiSU.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.integrated-workbench{--surface-2: var(--panel-raised);--surface-3: var(--panel);--overlay: var(--panel-raised);--border: var(--line);--border-strong: var(--glass-edge);--text: var(--ink);--muted: var(--ink-dim);--faint: var(--ink-faint);--accent: var(--blue-deep);--accent-fg: 255 255 255;--blue-bg: var(--conversation-argus);--green: var(--role-engineer);--green-bg: var(--conversation-argus);--amber: var(--role-reviewer);--amber-bg: var(--conversation-user);--red: var(--spectral-rose);--red-bg: var(--conversation-user);--violet: var(--role-planner);--violet-bg: var(--conversation-argus);--rose: var(--spectral-rose);--rose-bg: var(--conversation-user);--manager: var(--role-manager);--planner: var(--role-planner);--engineer: var(--role-engineer);--reviewer: var(--role-reviewer);--shadow-1: 0 1px 2px rgb(0 0 0 / .04);--shadow-2: 0 12px 28px -22px rgb(var(--spectral-blue) / .5);--shadow-3: 0 24px 64px -28px rgb(var(--spectral-blue) / .58);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font: "Geist Variable", "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;min-width:0;min-height:0;font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}.integrated-workbench ::-moz-selection{background:rgb(var(--blue) / .2)}.integrated-workbench ::selection{background:rgb(var(--blue) / .2)}.integrated-workbench :focus-visible{outline:2px solid rgb(var(--blue) / .62);outline-offset:2px}.integrated-workbench ::-webkit-scrollbar{width:7px;height:7px}.integrated-workbench ::-webkit-scrollbar-track{background:transparent}.integrated-workbench ::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:rgb(var(--faint) / .55);background-clip:padding-box}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.argus-wordmark{display:inline-flex;align-items:center;gap:10px}.argus-wordmark svg{flex:0 0 auto}.argus-wordmark__copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.argus-wordmark__copy strong{font-size:16px;font-weight:720;letter-spacing:-.025em}.argus-wordmark__copy small{margin-top:3px;color:rgb(var(--muted));font-size:9px;font-weight:530}.brand-button{display:inline-flex;align-items:center;background:transparent;padding:0}.button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgb(var(--border-strong));border-radius:9px;background:rgb(var(--surface));padding:7px 12px;color:rgb(var(--text));font-size:12px;font-weight:590;box-shadow:var(--shadow-1);transition:transform .15s,border-color .15s,box-shadow .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-1px);border-color:rgb(var(--faint));box-shadow:var(--shadow-2)}.button--primary{border-color:rgb(var(--accent));background:rgb(var(--accent));color:rgb(var(--accent-fg))}.button--secondary{background:rgb(var(--surface-2));box-shadow:none}.button--danger{border-color:rgb(var(--red) / .25);background:rgb(var(--red-bg));color:rgb(var(--red))}.button--large{min-height:42px;border-radius:11px;padding:9px 15px}.button--full{width:100%}.icon-button{width:34px;height:34px;flex:0 0 34px;display:inline-grid;place-items:center;border:1px solid rgb(var(--border));border-radius:9px;background:rgb(var(--surface));color:rgb(var(--muted));transition:background .15s,color .15s,border-color .15s}.icon-button:hover:not(:disabled){border-color:rgb(var(--border-strong));background:rgb(var(--surface-2));color:rgb(var(--text))}.badge{display:inline-flex;min-height:22px;align-items:center;gap:5px;border:1px solid rgb(var(--border));border-radius:999px;background:rgb(var(--surface-2));padding:3px 8px;color:rgb(var(--muted));font-size:10px;font-weight:610;line-height:1.2;white-space:nowrap}.badge__dot,.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-dot{display:inline-block;color:rgb(var(--faint));background:rgb(var(--faint))}.status-dot.is-live{color:rgb(var(--green));background:rgb(var(--green));box-shadow:0 0 0 4px rgb(var(--green) / .11)}.is-pulsing{animation:livePulse 2s infinite}.ros-card,.panel{min-width:0;min-height:0;overflow:hidden;border:1px solid rgb(var(--border));border-radius:var(--radius-md);background:rgb(var(--surface));box-shadow:var(--shadow-1)}.panel{display:flex;flex-direction:column}.panel__header,.ros-card>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgb(var(--border));padding:12px 16px}.panel__heading,.ros-card>header>div{min-width:0}.panel__title,.ros-card>header h2{margin:1px 0 0;color:rgb(var(--text));font-size:13px;font-weight:650}.ros-card>header span,.panel__header .eyebrow{color:rgb(var(--faint));font-size:9px;font-weight:690;letter-spacing:.12em}.panel__body{min-width:0;min-height:0;padding:16px}.panel__body--flush{padding:0}.eyebrow{margin-bottom:4px;color:rgb(var(--faint));font-size:9px;font-weight:700;letter-spacing:.15em}.empty-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.empty-state__icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:12px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--surface-2));color:rgb(var(--faint))}.empty-state__title{font-size:13px;font-weight:640}.empty-state p{max-width:360px;margin:6px 0 0;color:rgb(var(--muted));font-size:11px;line-height:1.55}.empty-state__action{margin-top:14px}.spinner{display:inline-flex;align-items:center;gap:7px;color:rgb(var(--muted));font-size:12px}.spin{animation:spin .85s linear infinite}.inline-error{border:1px solid rgb(var(--red) / .22);border-radius:10px;background:rgb(var(--red-bg));padding:10px 12px;color:rgb(var(--red));font-size:11px;line-height:1.5}.\!notice{display:flex!important;gap:8px!important;border:1px solid rgb(var(--border))!important;border-radius:11px!important;background:rgb(var(--surface))!important;padding:11px 13px!important;color:rgb(var(--muted))!important;font-size:11px!important}.notice{display:flex;gap:8px;border:1px solid rgb(var(--border));border-radius:11px;background:rgb(var(--surface));padding:11px 13px;color:rgb(var(--muted));font-size:11px}.markdown{min-width:0;font-size:inherit;line-height:1.68;overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:.55em 0}.markdown h1,.markdown h2,.markdown h3{margin:1.2em 0 .45em;line-height:1.3}.markdown h1{font-size:1.4em}.markdown h2{font-size:1.22em}.markdown h3{font-size:1.08em}.markdown ul,.markdown ol{padding-left:1.55em}.markdown blockquote{margin:.8em 0;border-left:3px solid rgb(var(--blue) / .45);border-radius:0 8px 8px 0;background:rgb(var(--blue-bg));padding:7px 12px;color:rgb(var(--muted))}.markdown code{border-radius:5px;background:rgb(var(--surface-2));padding:.12em .34em;font-family:var(--mono);font-size:.88em}.markdown pre{overflow:auto;border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--surface-2));padding:12px}.markdown pre code{padding:0;background:transparent}.markdown a{display:inline-flex;align-items:center;gap:3px;color:rgb(var(--blue));text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown table{width:100%;border-collapse:collapse}.markdown th,.markdown td{border:1px solid rgb(var(--border));padding:6px 8px;text-align:left}.search-field{min-width:250px;display:flex;align-items:center;gap:7px;border:1px solid rgb(var(--border-strong));border-radius:10px;background:rgb(var(--surface));padding:0 10px;color:rgb(var(--faint))}.search-field input{width:100%;height:36px;border:0;background:transparent;outline:0;font-size:12px}.search-field--block{margin:12px}.field{display:flex;flex-direction:column;gap:6px}.field>span,.form-grid label>span{color:rgb(var(--muted));font-size:11px;font-weight:580}.field input,.field textarea,.field select,.form-grid input,.new-project-fields input{width:100%;border:1px solid rgb(var(--border-strong));border-radius:10px;background:rgb(var(--surface));padding:9px 10px;outline:none;font-size:12px}.field input:focus,.field textarea:focus,.field select:focus,.form-grid input:focus,.new-project-fields input:focus{border-color:rgb(var(--blue) / .55);box-shadow:0 0 0 3px rgb(var(--blue) / .09)}.field textarea{resize:vertical;line-height:1.55}.field--grow{min-height:0;flex:1}.field--grow textarea{min-height:220px;flex:1;resize:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:flex;flex-direction:column;gap:6px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.header-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.manager-mini-result{max-height:260px;overflow:auto;margin-top:10px;border-top:1px solid rgb(var(--border));padding-top:10px}.manager-mini-result .markdown{font-size:11px}.event-list{padding:5px}.event-row{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;border-radius:8px;padding:9px}.event-row:hover{background:rgb(var(--surface-2))}.event-row__marker{width:8px;height:8px;margin:6px auto 0;border:2px solid rgb(var(--surface));border-radius:50%;background:rgb(var(--faint));box-shadow:0 0 0 1px rgb(var(--border-strong))}.event-row__content{min-width:0}.event-row__meta{display:flex;gap:7px}.event-row__meta time{margin-left:auto;color:rgb(var(--faint));font-family:var(--mono);font-size:9px}.role-label{font-size:9px;font-weight:700;text-transform:uppercase}.event-row__title{overflow:hidden;margin-top:2px;font-size:11px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.event-row__detail{display:-webkit-box;overflow:hidden;margin-top:2px;color:rgb(var(--muted));font-family:var(--mono);font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.event-list--dense .event-row{padding-block:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.inset-y-1{top:.25rem;bottom:.25rem}.inset-y-2{top:.5rem;bottom:.5rem}.-bottom-2\.5{bottom:-.625rem}.-left-0\.5{left:-.125rem}.-top-2\.5{top:-.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.left-\[10\%\]{left:10%}.left-\[5px\]{left:5px}.right-0\.5{right:.125rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-4{right:1rem}.right-\[10\%\]{right:10%}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-2{top:.5rem}.top-3{top:.75rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[70\]{z-index:70}.order-2{order:2}.order-3{order:3}.col-span-full{grid-column:1 / -1}.m-auto{margin:auto}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-\[7px\]{margin-top:7px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[100dvh\]{height:100dvh}.h-\[62vh\]{height:62vh}.h-\[68vh\]{height:68vh}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-36{max-height:9rem}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[52vh\]{max-height:52vh}.max-h-\[58vh\]{max-height:58vh}.max-h-\[62vh\]{max-height:62vh}.max-h-\[64vh\]{max-height:64vh}.max-h-\[70dvh\]{max-height:70dvh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[76vh\]{max-height:76vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-11{min-height:2.75rem}.min-h-14{min-height:3.5rem}.min-h-52{min-height:13rem}.min-h-64{min-height:16rem}.min-h-\[3\.25rem\]{min-height:3.25rem}.min-h-\[320px\]{min-height:320px}.min-h-\[38px\]{min-height:38px}.min-h-\[60vh\]{min-height:60vh}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[min\(92vw\,42rem\)\]{width:min(92vw,42rem)}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-3\.5{min-width:.875rem}.min-w-32{min-width:8rem}.min-w-52{min-width:13rem}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-24{max-width:6rem}.max-w-28{max-width:7rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-64{max-width:16rem}.max-w-6xl{max-width:72rem}.max-w-72{max-width:18rem}.max-w-\[calc\(100\%_-_3rem\)\]{max-width:calc(100% - 3rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-appear{animation:appear .2s cubic-bezier(.4,0,.2,1)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[16px_minmax\(0\,1fr\)\]{grid-template-columns:16px minmax(0,1fr)}.grid-cols-\[44px_10px_minmax\(0\,1fr\)\]{grid-template-columns:44px 10px minmax(0,1fr)}.grid-cols-\[72px_minmax\(0\,1fr\)\]{grid-template-columns:72px minmax(0,1fr)}.grid-cols-\[84px_minmax\(0\,1fr\)_auto\]{grid-template-columns:84px minmax(0,1fr) auto}.grid-cols-\[8px_minmax\(0\,1fr\)_auto\]{grid-template-columns:8px minmax(0,1fr) auto}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue{--tw-border-opacity: 1;border-color:rgb(var(--blue) / var(--tw-border-opacity, 1))}.border-blue-deep{--tw-border-opacity: 1;border-color:rgb(var(--blue-deep) / var(--tw-border-opacity, 1))}.border-blue-deep\/30{border-color:rgb(var(--blue-deep) / .3)}.border-blue-deep\/50{border-color:rgb(var(--blue-deep) / .5)}.border-blue-deep\/60{border-color:rgb(var(--blue-deep) / .6)}.border-blue\/25{border-color:rgb(var(--blue) / .25)}.border-blue\/30{border-color:rgb(var(--blue) / .3)}.border-blue\/35{border-color:rgb(var(--blue) / .35)}.border-blue\/50{border-color:rgb(var(--blue) / .5)}.border-blue\/70{border-color:rgb(var(--blue) / .7)}.border-err\/30{border-color:#dc7d784d}.border-err\/40{border-color:#dc7d7866}.border-err\/50{border-color:#dc7d7880}.border-err\/60{border-color:#dc7d7899}.border-gold\/25{border-color:#d1b27c40}.border-gold\/30{border-color:#d1b27c4d}.border-gold\/40{border-color:#d1b27c66}.border-line{--tw-border-opacity: 1;border-color:rgb(var(--line) / var(--tw-border-opacity, 1))}.border-line\/30{border-color:rgb(var(--line) / .3)}.border-line\/40{border-color:rgb(var(--line) / .4)}.border-line\/50{border-color:rgb(var(--line) / .5)}.border-line\/60{border-color:rgb(var(--line) / .6)}.border-line\/70{border-color:rgb(var(--line) / .7)}.border-line\/80{border-color:rgb(var(--line) / .8)}.border-manager\/70{border-color:rgb(var(--role-manager) / .7)}.border-ok\/20{border-color:#78b89233}.border-ok\/25{border-color:#78b89240}.border-ok\/35{border-color:#78b89259}.border-ok\/40{border-color:#78b89266}.border-ok\/60{border-color:#78b89299}.border-panel{--tw-border-opacity: 1;border-color:rgb(var(--panel) / var(--tw-border-opacity, 1))}.border-warn\/40{border-color:#d1ad6866}.border-warn\/50{border-color:#d1ad6880}.border-t-blue{--tw-border-opacity: 1;border-top-color:rgb(var(--blue) / var(--tw-border-opacity, 1))}.bg-\[rgb\(4_11_24_\/_0\.58\)\]{background-color:#040b1894}.bg-bg{--tw-bg-opacity: 1;background-color:rgb(var(--bg) / var(--tw-bg-opacity, 1))}.bg-bg\/25{background-color:rgb(var(--bg) / .25)}.bg-bg\/30{background-color:rgb(var(--bg) / .3)}.bg-bg\/35{background-color:rgb(var(--bg) / .35)}.bg-bg\/40{background-color:rgb(var(--bg) / .4)}.bg-bg\/50{background-color:rgb(var(--bg) / .5)}.bg-bg\/60{background-color:rgb(var(--bg) / .6)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:#0006}.bg-blue{--tw-bg-opacity: 1;background-color:rgb(var(--blue) / var(--tw-bg-opacity, 1))}.bg-blue-deep{--tw-bg-opacity: 1;background-color:rgb(var(--blue-deep) / var(--tw-bg-opacity, 1))}.bg-blue-deep\/10{background-color:rgb(var(--blue-deep) / .1)}.bg-blue-deep\/20{background-color:rgb(var(--blue-deep) / .2)}.bg-blue-deep\/5{background-color:rgb(var(--blue-deep) / .05)}.bg-blue-sky{--tw-bg-opacity: 1;background-color:rgb(var(--blue-sky) / var(--tw-bg-opacity, 1))}.bg-blue\/10{background-color:rgb(var(--blue) / .1)}.bg-blue\/5{background-color:rgb(var(--blue) / .05)}.bg-conversation-user{--tw-bg-opacity: 1;background-color:rgb(var(--conversation-user) / var(--tw-bg-opacity, 1))}.bg-engineer{--tw-bg-opacity: 1;background-color:rgb(var(--role-engineer) / var(--tw-bg-opacity, 1))}.bg-err{--tw-bg-opacity: 1;background-color:rgb(220 125 120 / var(--tw-bg-opacity, 1))}.bg-err\/10{background-color:#dc7d781a}.bg-err\/5{background-color:#dc7d780d}.bg-gold{--tw-bg-opacity: 1;background-color:rgb(209 178 124 / var(--tw-bg-opacity, 1))}.bg-gold\/5{background-color:#d1b27c0d}.bg-gold\/80{background-color:#d1b27ccc}.bg-ink-faint{--tw-bg-opacity: 1;background-color:rgb(var(--ink-faint) / var(--tw-bg-opacity, 1))}.bg-ink-faint\/35{background-color:rgb(var(--ink-faint) / .35)}.bg-ink-faint\/50{background-color:rgb(var(--ink-faint) / .5)}.bg-line{--tw-bg-opacity: 1;background-color:rgb(var(--line) / var(--tw-bg-opacity, 1))}.bg-line\/30{background-color:rgb(var(--line) / .3)}.bg-line\/40{background-color:rgb(var(--line) / .4)}.bg-line\/60{background-color:rgb(var(--line) / .6)}.bg-line\/80{background-color:rgb(var(--line) / .8)}.bg-manager\/10{background-color:rgb(var(--role-manager) / .1)}.bg-ok{--tw-bg-opacity: 1;background-color:rgb(120 184 146 / var(--tw-bg-opacity, 1))}.bg-ok\/10{background-color:#78b8921a}.bg-ok\/5{background-color:#78b8920d}.bg-panel{--tw-bg-opacity: 1;background-color:rgb(var(--panel) / var(--tw-bg-opacity, 1))}.bg-panel-raised{--tw-bg-opacity: 1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity, 1))}.bg-panel\/80{background-color:rgb(var(--panel) / .8)}.bg-panel\/85{background-color:rgb(var(--panel) / .85)}.bg-panel\/95{background-color:rgb(var(--panel) / .95)}.bg-surface{--tw-bg-opacity: 1;background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-warn\/10{background-color:#d1ad681a}.bg-warn\/5{background-color:#d1ad680d}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/\[0\.03\]{background-color:#ffffff08}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-0\.5{padding-left:.125rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-10{padding-right:2.5rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace}.font-sans{font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[1\.625\]{line-height:1.625}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-bg{--tw-text-opacity: 1;color:rgb(var(--bg) / var(--tw-text-opacity, 1))}.text-blue{--tw-text-opacity: 1;color:rgb(var(--blue) / var(--tw-text-opacity, 1))}.text-blue-sky{--tw-text-opacity: 1;color:rgb(var(--blue-sky) / var(--tw-text-opacity, 1))}.text-err{--tw-text-opacity: 1;color:rgb(220 125 120 / var(--tw-text-opacity, 1))}.text-gold{--tw-text-opacity: 1;color:rgb(209 178 124 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(var(--ink) / var(--tw-text-opacity, 1))}.text-ink-dim{--tw-text-opacity: 1;color:rgb(var(--ink-dim) / var(--tw-text-opacity, 1))}.text-ink-faint{--tw-text-opacity: 1;color:rgb(var(--ink-faint) / var(--tw-text-opacity, 1))}.text-manager{--tw-text-opacity: 1;color:rgb(var(--role-manager) / var(--tw-text-opacity, 1))}.text-ok{--tw-text-opacity: 1;color:rgb(120 184 146 / var(--tw-text-opacity, 1))}.text-warn{--tw-text-opacity: 1;color:rgb(209 173 104 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-blue\/35{text-decoration-color:rgb(var(--blue) / .35)}.underline-offset-2{text-underline-offset:2px}.accent-blue{accent-color:rgb(var(--blue) / 1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[0_10px_24px_-20px_rgb\(var\(--spectral-blue\)\/0\.8\)\]{--tw-shadow: 0 10px 24px -20px rgb(var(--spectral-blue)/.8);--tw-shadow-colored: 0 10px 24px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_36px_-22px_rgb\(var\(--spectral-violet\)\/0\.7\)\]{--tw-shadow: 0 12px 36px -22px rgb(var(--spectral-violet)/.7);--tw-shadow-colored: 0 12px 36px -22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-glow{--tw-shadow: 0 16px 44px rgba(0,0,0,.34);--tw-shadow-colored: 0 16px 44px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-bg{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--bg) / var(--tw-ring-opacity, 1))}.ring-err\/30{--tw-ring-color: rgb(220 125 120 / .3)}.ring-line\/35{--tw-ring-color: rgb(var(--line) / .35)}.ring-manager\/60{--tw-ring-color: rgb(var(--role-manager) / .6)}.ring-ok\/30{--tw-ring-color: rgb(120 184 146 / .3)}.ring-offset-0{--tw-ring-offset-width: 0px}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-panel{--tw-ring-offset-color: rgb(var(--panel) / 1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,transform\,visibility\]{transition-property:width,transform,visibility;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-\[250ms\]{transition-duration:.25s}.duration-panel{transition-duration:.22s}.ease-panel{transition-timing-function:cubic-bezier(.4,0,.2,1)}@layer reset,base,components,pages,responsive;@layer reset{.integrated-workbench,.integrated-workbench *,.integrated-workbench *:before,.integrated-workbench *:after{box-sizing:border-box}.integrated-workbench button,.integrated-workbench input,.integrated-workbench textarea,.integrated-workbench select{font:inherit;color:inherit}.integrated-workbench button{border:0}.integrated-workbench button:not(:disabled),.integrated-workbench select:not(:disabled){cursor:pointer}.integrated-workbench button:disabled{cursor:not-allowed;opacity:.48}.integrated-workbench a{color:inherit}}@layer pages{.ros-app{width:100vw;height:100dvh;overflow:hidden;background:rgb(var(--bg))}.ros-topbar{position:relative;z-index:40;height:var(--topbar);display:flex;align-items:center;gap:11px;border-bottom:1px solid rgb(var(--border));background:rgb(var(--surface) / .96);padding:0 18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ros-topbar--hub{padding-inline:max(20px,calc((100vw - 1240px)/2))}.ros-topbar__divider{width:1px;height:24px;background:rgb(var(--border))}.ros-topbar>strong{font-size:13px}.ros-topbar__spacer{flex:1}.ros-topbar__menu{display:none}.back-to-projects{display:flex;align-items:center;gap:5px;background:transparent;color:rgb(var(--muted));font-size:12px}.back-to-projects:hover{color:rgb(var(--text))}.workspace-project-select{position:relative;min-width:230px;max-width:390px;display:flex;align-items:center;gap:8px}.workspace-project-select select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding-right:20px;outline:none;font-size:13px;font-weight:640;text-overflow:ellipsis}.workspace-project-select>svg{position:absolute;right:0;color:rgb(var(--faint));pointer-events:none}.ros-workspace{height:calc(100dvh - var(--topbar));display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.ros-sidebar{min-height:0;display:flex;flex-direction:column;border-right:1px solid rgb(var(--border));background:rgb(var(--surface));padding:12px}.ros-sidebar__mobile-brand{display:none}.ros-sidebar__projects{min-height:40px;display:flex;align-items:center;gap:8px;border-radius:10px;background:transparent;padding:0 11px;color:rgb(var(--muted));font-size:12px;font-weight:600;text-align:left}.ros-sidebar__projects:hover{background:rgb(var(--surface-2));color:rgb(var(--text))}.ros-sidebar nav{min-height:0;flex:1;overflow-y:auto;padding-top:13px}.ros-sidebar nav section+section{margin-top:18px}.ros-sidebar nav h2{margin:0 0 5px;padding:0 11px;color:rgb(var(--faint));font-size:9px;font-weight:710;letter-spacing:.13em;text-transform:uppercase}.ros-sidebar nav button{position:relative;width:100%;min-height:39px;display:flex;align-items:center;gap:9px;border-radius:10px;background:transparent;padding:0 11px;color:rgb(var(--muted));text-align:left;transition:background .15s,color .15s}.ros-sidebar nav button:hover{background:rgb(var(--surface-2));color:rgb(var(--text))}.ros-sidebar nav button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg));box-shadow:var(--shadow-1)}.ros-sidebar nav button span{font-size:12px;font-weight:580}.ros-sidebar nav button i{width:6px;height:6px;margin-left:auto;border-radius:50%;background:rgb(var(--green));box-shadow:0 0 0 3px rgb(var(--green) / .12)}.ros-sidebar__runtime{border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--surface-2) / .55);padding:12px}.ros-sidebar__runtime>div{display:flex;align-items:center;gap:7px}.ros-sidebar__runtime strong{font-size:11px}.ros-sidebar__runtime p{margin:5px 0 8px;color:rgb(var(--muted));font-size:10px}.ros-sidebar__runtime small{display:block;border-top:1px solid rgb(var(--border));padding-top:8px;color:rgb(var(--faint));font-family:var(--mono);font-size:8.5px}.ros-content{min-width:0;min-height:0;overflow:auto}.ros-page,.overview-page,.page{min-width:0;min-height:100%;padding:24px 28px 32px}.ros-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.ros-page-header h1{margin:0 0 5px;font-size:24px;font-weight:690;letter-spacing:-.03em}.ros-page-header p{max-width:780px;margin:0;color:rgb(var(--muted));font-size:12px;line-height:1.55}.boot-state{width:100%;height:100%;display:grid;place-content:center}.mobile-scrim{display:none}.project-canvas{height:calc(100dvh - var(--topbar));overflow-y:auto}.project-hub{max-width:1240px;margin:0 auto;padding:48px 24px 72px}.project-hub__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:30px}.project-hub__hero h1{margin:2px 0 7px;font-size:32px;font-weight:710;letter-spacing:-.04em}.project-hub__hero p{max-width:660px;margin:0;color:rgb(var(--muted));font-size:13px;line-height:1.6}.project-hub__summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:34px}.project-hub__summary>div{min-height:82px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--surface));padding:16px;box-shadow:var(--shadow-1)}.project-hub__summary svg{color:rgb(var(--muted))}.project-hub__summary span{color:rgb(var(--muted));font-size:11px}.project-hub__summary strong{font-size:21px;font-weight:680}.project-hub__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.project-hub__toolbar h2{margin:0;font-size:16px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{min-height:264px;display:flex;flex-direction:column;border:1px solid rgb(var(--border));border-radius:16px;background:rgb(var(--surface));padding:18px;color:rgb(var(--text));text-align:left;box-shadow:var(--shadow-1);transition:transform .18s,border-color .18s,box-shadow .18s}.project-card:hover{transform:translateY(-3px);border-color:rgb(var(--border-strong));box-shadow:var(--shadow-2)}.project-card--skeleton{background:linear-gradient(100deg,rgb(var(--surface)) 20%,rgb(var(--surface-2)),rgb(var(--surface)) 80%);background-size:220% 100%;animation:skeleton 1.5s infinite}.project-card__top{display:flex;align-items:center;justify-content:space-between}.project-card__mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgb(var(--surface-2));color:rgb(var(--muted))}.project-card__mark.is-live{background:rgb(var(--green-bg));color:rgb(var(--green))}.project-card__copy{min-height:84px;margin-top:16px}.project-card__copy h3{margin:0;font-size:16px;font-weight:660;line-height:1.35}.project-card__copy p{display:-webkit-box;overflow:hidden;margin:7px 0 0;color:rgb(var(--muted));font-size:11px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.project-card__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.project-card__facts>div{border-radius:9px;background:rgb(var(--surface-2));padding:8px}.project-card__facts span{display:block;color:rgb(var(--faint));font-size:8px}.project-card__facts strong{display:block;overflow:hidden;margin-top:2px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.project-card__footer{display:flex;align-items:center;gap:10px;border-top:1px solid rgb(var(--border));margin-top:auto;padding-top:13px}.project-card__footer code{min-width:0;flex:1;overflow:hidden;color:rgb(var(--faint));font-family:var(--mono);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.project-card__footer span{display:flex;align-items:center;gap:4px;color:rgb(var(--blue));font-size:10px;font-weight:610}.project-inbox-cta{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:14px;border:1px solid rgb(var(--border));border-radius:16px;background:rgb(var(--surface));margin-top:18px;padding:18px;text-align:left;box-shadow:var(--shadow-1)}.project-inbox-cta>span{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:rgb(var(--rose-bg));color:rgb(var(--rose))}.project-inbox-cta strong{font-size:13px}.project-inbox-cta p{margin:4px 0 0;color:rgb(var(--muted));font-size:11px}.project-inbox-cta>svg{color:rgb(var(--faint))}.overview-page{max-width:1280px;margin:0 auto}.overview-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:18px;border:1px solid rgb(var(--border));border-radius:18px;background:radial-gradient(circle at 100% 0,rgb(var(--blue) / .08),transparent 45%),rgb(var(--surface));padding:26px;box-shadow:var(--shadow-1)}.overview-hero__badges{display:flex;gap:7px}.overview-hero__copy h1{margin:14px 0 8px;font-size:27px;letter-spacing:-.035em}.overview-hero__copy p{display:-webkit-box;max-width:760px;overflow:hidden;margin:0 0 14px;color:rgb(var(--muted));font-size:12px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:4}.overview-hero__copy>code{color:rgb(var(--faint));font-family:var(--mono);font-size:9px}.overview-hero__stats{display:grid;grid-template-columns:1fr;gap:8px}.overview-hero__stats>div{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--surface) / .8);padding:11px 13px}.overview-hero__stats span{color:rgb(var(--muted));font-size:10px}.overview-hero__stats strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.overview-hero__stats small{grid-column:2;color:rgb(var(--faint));font-size:8.5px}.overview-section-heading{display:flex;justify-content:space-between;margin:30px 0 12px}.overview-section-heading h2{margin:0;font-size:17px}.overview-section-heading p{margin:4px 0 0;color:rgb(var(--muted));font-size:11px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.module-card{min-height:132px;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:start;gap:12px;border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--surface));padding:16px;text-align:left;box-shadow:var(--shadow-1);transition:transform .15s,border-color .15s,box-shadow .15s}.module-card:hover{transform:translateY(-2px);border-color:rgb(var(--border-strong));box-shadow:var(--shadow-2)}.module-card__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:rgb(var(--surface-2));color:rgb(var(--muted))}.module-card__icon--blue{background:rgb(var(--blue-bg));color:rgb(var(--blue))}.module-card__icon--violet{background:rgb(var(--violet-bg));color:rgb(var(--violet))}.module-card__icon--indigo{background:rgb(var(--blue-bg));color:rgb(var(--violet))}.module-card__icon--rose{background:rgb(var(--rose-bg));color:rgb(var(--rose))}.module-card__icon--emerald{background:rgb(var(--green-bg));color:rgb(var(--green))}.module-card__icon--amber{background:rgb(var(--amber-bg));color:rgb(var(--amber))}.module-card h3{margin:2px 0 5px;font-size:13px}.module-card p{margin:0;color:rgb(var(--muted));font-size:10px;line-height:1.5}.module-card>svg{margin-top:13px;color:rgb(var(--faint))}.overview-lower{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.overview-mission>div{display:flex;align-items:center;gap:6px;color:rgb(var(--blue));font-size:10px;font-weight:650;text-transform:uppercase}.overview-mission h3{margin:10px 0 5px;font-size:15px}.overview-mission p{margin:0 0 14px;color:rgb(var(--muted));font-size:11px;line-height:1.5}.copilot-v2{height:100%;display:flex;flex-direction:column;overflow:hidden}.copilot-v2 .ros-page-header{flex:0 0 auto}.pending-question-banner{flex:0 0 auto;display:flex;align-items:center;gap:10px;border:1px solid rgb(var(--amber) / .22);border-radius:12px;background:rgb(var(--amber-bg));margin-bottom:12px;padding:10px 12px;color:rgb(var(--amber))}.pending-question-banner>div{flex:1}.pending-question-banner strong{font-size:11px}.pending-question-banner p{margin:2px 0 0;font-size:10px}.copilot-v2__layout{min-width:0;min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px}.copilot-v2__thread{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgb(var(--border));border-radius:16px;background:rgb(var(--surface));box-shadow:var(--shadow-1)}.copilot-v2__messages{min-height:0;flex:1;overflow-y:auto;padding:22px 18px 12px}.copilot-empty{max-width:660px;margin:9vh auto 0;text-align:center}.copilot-empty h2{margin:12px 0 4px;font-size:19px}.copilot-empty>p{margin:0 0 18px;color:rgb(var(--muted));font-size:11px}.copilot-empty>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.copilot-empty button{border:1px solid rgb(var(--border));border-radius:11px;background:rgb(var(--surface));padding:11px;color:rgb(var(--muted));font-size:10px;line-height:1.45;text-align:left}.copilot-empty button:hover{border-color:rgb(var(--blue) / .3);background:rgb(var(--blue-bg));color:rgb(var(--text))}.message{max-width:820px;margin:0 auto 18px}.message--user{max-width:620px;margin-right:max(0px,calc((100% - 820px)/2));border-radius:16px 5px 16px 16px;background:rgb(var(--surface-2));padding:11px 14px}.message--user>div:first-child{display:flex;align-items:center;gap:7px;margin-bottom:4px}.message--user span{font-size:10px;font-weight:650}.message time{color:rgb(var(--faint));font-family:var(--mono);font-size:8.5px}.message .markdown{font-size:12.5px}.message--argus{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px}.message--argus>div{min-width:0}.message--argus header{display:flex;align-items:center;gap:7px;min-height:24px;margin-bottom:5px}.message--argus header strong{font-size:11px}.message--stream>div{border-left:2px solid rgb(var(--blue) / .25);padding-left:12px}.phase-trail{margin:5px 0 10px;padding:0;list-style:none}.phase-trail li{display:flex;gap:7px;padding:2px 0;color:rgb(var(--faint));font-family:var(--mono);font-size:9px}.phase-trail li span{color:rgb(var(--green))}.phase-trail li.is-active{color:rgb(var(--blue))}.phase-trail li.is-active span{animation:blink 1s infinite}.copilot-composer-dock{flex:0 0 auto;border-top:1px solid rgb(var(--border));padding:12px 18px 10px}.copilot-composer{max-width:820px;display:flex;align-items:flex-end;gap:7px;margin:0 auto;border:1px solid rgb(var(--border-strong));border-radius:14px;background:rgb(var(--surface));padding:7px;box-shadow:var(--shadow-2)}.copilot-composer textarea{min-height:36px;max-height:150px;flex:1;resize:none;border:0;background:transparent;padding:8px 3px;outline:none;font-size:12px;line-height:1.5}.composer-tool{width:35px;height:35px;display:grid;flex:0 0 35px;place-items:center;border-radius:9px;background:transparent;color:rgb(var(--muted))}.composer-tool:hover{background:rgb(var(--surface-2))}.optimize-button{height:35px;display:flex;align-items:center;gap:5px;border-radius:9px;background:rgb(var(--violet-bg));padding:0 10px;color:rgb(var(--violet));font-size:10px;font-weight:650}.send-button{width:35px;height:35px;display:grid;flex:0 0 35px;place-items:center;border-radius:9px;background:rgb(var(--accent));color:rgb(var(--accent-fg))}.send-button.is-stop{background:rgb(var(--red-bg));color:rgb(var(--red))}.copilot-composer-dock>small{display:block;max-width:820px;margin:5px auto 0;color:rgb(var(--faint));font-size:8.5px;text-align:center}.attachment-chips{max-width:820px;display:flex;flex-wrap:wrap;gap:6px;margin:0 auto 7px}.attachment-chips>span{display:flex;align-items:center;gap:5px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--surface-2));padding:5px 7px;font-size:9px}.attachment-chips button{display:grid;place-items:center;background:transparent;color:rgb(var(--faint))}.copilot-v2__aside{min-width:0;min-height:0;overflow:hidden}.copilot-trace{height:100%;overflow:hidden;border:1px solid rgb(var(--border));border-radius:16px;background:rgb(var(--surface));box-shadow:var(--shadow-1)}.copilot-trace__header{min-height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgb(var(--border));padding:12px 15px}.copilot-trace__header>div{display:flex;flex-direction:column}.copilot-trace__header span{color:rgb(var(--faint));font-size:8.5px;font-weight:700;letter-spacing:.12em}.copilot-trace__header strong{margin-top:2px;font-size:13px}.copilot-trace__roles{max-height:calc(100% - 58px);overflow:auto;padding:6px}.copilot-trace__roles section{border-radius:9px}.copilot-trace__roles section>button{width:100%;min-height:42px;display:grid;grid-template-columns:10px minmax(0,1fr) auto 14px;align-items:center;gap:7px;border-radius:9px;background:transparent;padding:0 9px;text-align:left}.copilot-trace__roles section>button:hover,.copilot-trace__roles section.is-open>button{background:rgb(var(--surface-2))}.copilot-trace__roles strong{font-size:11px;text-transform:capitalize}.copilot-trace__roles small{color:rgb(var(--faint));font-family:var(--mono);font-size:9px}.copilot-trace__roles section.is-open>button svg{transform:rotate(180deg)}.role-orb{width:7px;height:7px;border-radius:50%;background:rgb(var(--faint))}.role-orb--manager{background:rgb(var(--manager))}.role-orb--planner{background:rgb(var(--planner))}.role-orb--engineer{background:rgb(var(--engineer))}.role-orb--reviewer{background:rgb(var(--reviewer))}.copilot-trace__events{max-height:340px;overflow:auto;border-left:1px solid rgb(var(--border));margin:0 10px 7px 14px;padding-left:9px}.copilot-trace__events article{padding:6px 3px}.copilot-trace__events time{color:rgb(var(--faint));font-family:var(--mono);font-size:8px}.copilot-trace__events strong{display:block;margin:2px 0;font-size:9.5px}.copilot-trace__events code{display:-webkit-box;overflow:hidden;color:rgb(var(--muted));font-family:var(--mono);font-size:8.5px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.copilot-trace__events p{color:rgb(var(--faint));font-size:9px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#0000007a;padding:24px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.prompt-optimizer{width:min(980px,96vw);max-height:90vh;overflow:auto;border:1px solid rgb(var(--border));border-radius:18px;background:rgb(var(--overlay));box-shadow:var(--shadow-3)}.prompt-optimizer>header{display:flex;justify-content:space-between;border-bottom:1px solid rgb(var(--border));padding:18px 20px}.prompt-optimizer header span{color:rgb(var(--violet));font-size:9px;font-weight:700;letter-spacing:.13em}.prompt-optimizer h2{margin:3px 0;font-size:18px}.prompt-optimizer header p{margin:0;color:rgb(var(--muted));font-size:10px}.prompt-optimizer__compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.prompt-optimizer__compare>div{min-height:280px;display:flex;flex-direction:column;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--surface));overflow:hidden}.prompt-optimizer__compare label{border-bottom:1px solid rgb(var(--border));padding:9px 12px;color:rgb(var(--muted));font-size:10px;font-weight:650}.prompt-optimizer__compare pre{flex:1;overflow:auto;margin:0;padding:13px;font-family:var(--font);font-size:11px;line-height:1.6;white-space:pre-wrap}.optimizer-thinking{margin:auto;display:flex;align-items:center;gap:8px;color:rgb(var(--violet));font-size:11px}.optimizer-changes,.optimizer-questions{margin:0 16px 12px;border:1px solid rgb(var(--border));border-radius:11px;padding:10px 12px}.optimizer-changes strong,.optimizer-questions strong{display:block;margin-bottom:6px;font-size:10px}.optimizer-changes span{display:flex;align-items:center;gap:5px;color:rgb(var(--muted));font-size:9.5px}.optimizer-changes svg{color:rgb(var(--green))}.optimizer-questions{border-color:rgb(var(--amber) / .2);background:rgb(var(--amber-bg));color:rgb(var(--amber))}.optimizer-questions p{margin:3px 0;font-size:9.5px}.prompt-optimizer>.inline-error{margin:0 16px 12px}.prompt-optimizer>footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid rgb(var(--border));padding:13px 16px}.literature-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.literature-stats>div{display:flex;align-items:center;gap:10px;border:1px solid rgb(var(--border));border-radius:13px;background:rgb(var(--surface));padding:12px;box-shadow:var(--shadow-1)}.stat-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:rgb(var(--surface-2));color:rgb(var(--muted))}.stat-icon--blue{background:rgb(var(--blue-bg));color:rgb(var(--blue))}.stat-icon--green{background:rgb(var(--green-bg));color:rgb(var(--green))}.stat-icon--amber{background:rgb(var(--amber-bg));color:rgb(var(--amber))}.stat-icon--violet{background:rgb(var(--violet-bg));color:rgb(var(--violet))}.literature-stats p{margin:0;color:rgb(var(--muted));font-size:9.5px}.literature-stats strong{display:block;margin-top:2px;color:rgb(var(--text));font-size:17px}.literature-v2__layout{min-width:0;min-height:720px;display:grid;grid-template-columns:220px minmax(420px,1fr) 340px;gap:12px}.literature-v2__sidebar{align-self:start}.library-tabs{padding:0 7px 8px}.library-tabs button{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;border-radius:9px;background:transparent;padding:0 10px;color:rgb(var(--muted));font-size:11px}.library-tabs button:hover{background:rgb(var(--surface-2))}.library-tabs button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.library-tabs small{font-family:var(--mono);font-size:9px}.literature-source-note{display:flex;gap:8px;border-top:1px solid rgb(var(--border));padding:12px;color:rgb(var(--muted))}.literature-source-note div{min-width:0}.literature-source-note strong{display:block;font-size:9px}.literature-source-note p{overflow:hidden;margin:3px 0 0;font-family:var(--mono);font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.literature-v2__main{min-width:0}.literature-list-header{min-height:58px;display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.literature-list-header h2{margin:0;font-size:15px}.literature-list-header p{margin:3px 0 0;color:rgb(var(--muted));font-size:9.5px}.paper-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.paper-card{min-height:214px;display:flex;flex-direction:column;border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--surface));padding:14px;color:rgb(var(--text));text-align:left;box-shadow:var(--shadow-1);transition:transform .15s,border-color .15s,box-shadow .15s}.paper-card:hover{transform:translateY(-2px);border-color:rgb(var(--border-strong));box-shadow:var(--shadow-2)}.paper-card.is-selected{border-color:rgb(var(--blue) / .35);box-shadow:0 0 0 3px rgb(var(--blue) / .07)}.paper-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.paper-card__year{color:rgb(var(--faint));font-size:9px}.paper-card h3{display:-webkit-box;overflow:hidden;margin:11px 0 5px;font-size:13px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:3}.paper-card__authors{overflow:hidden;margin:0;color:rgb(var(--faint));font-size:9px;text-overflow:ellipsis;white-space:nowrap}.paper-card__summary{display:-webkit-box;overflow:hidden;margin:8px 0;color:rgb(var(--muted));font-size:9.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.paper-card__footer{display:flex;align-items:center;gap:8px;border-top:1px solid rgb(var(--border));margin-top:auto;padding-top:9px}.paper-card__footer code{min-width:0;flex:1;overflow:hidden;color:rgb(var(--faint));font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.paper-card__footer span{color:rgb(var(--blue));font-size:9px}.source-file-grid{display:grid;gap:8px}.source-file-grid article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--surface));padding:11px}.source-file-grid article>div{min-width:0;display:flex;flex-direction:column}.source-file-grid strong{font-size:10px}.source-file-grid code{overflow:hidden;color:rgb(var(--faint));font-size:8px;text-overflow:ellipsis;white-space:nowrap}.source-file-grid time{color:rgb(var(--faint));font-size:8px}.literature-v2__detail{display:grid;align-content:start;gap:10px}.paper-detail{padding-bottom:13px}.paper-detail>:not(.empty-state){margin-inline:14px}.paper-detail__top{display:flex;align-items:center;justify-content:space-between;padding-top:14px}.paper-detail__top>span{color:rgb(var(--faint));font-size:9px}.paper-detail h2{margin:12px 14px 5px!important;font-size:15px;line-height:1.4}.paper-detail__authors{color:rgb(var(--muted));font-size:9px}.paper-detail__body{max-height:300px;overflow:auto;border-top:1px solid rgb(var(--border));margin-top:12px!important;padding-top:10px}.paper-detail__body h3{margin:0 0 5px;font-size:10px}.paper-detail__body p,.paper-detail__body .markdown{color:rgb(var(--muted));font-size:9.5px;line-height:1.55}.paper-detail__source{display:flex;flex-direction:column;border-top:1px solid rgb(var(--border));margin-top:11px!important;padding-top:9px}.paper-detail__source span{color:rgb(var(--faint));font-size:8px}.paper-detail__source code{overflow:hidden;margin-top:3px;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.paper-detail>.button{margin:11px 14px 0!important;width:calc(100% - 28px)}.retrieval-panel>div{max-height:260px;overflow:auto;padding:6px}.retrieval-panel article{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;border-radius:8px;padding:6px}.retrieval-panel article:hover{background:rgb(var(--surface-2))}.retrieval-panel article>div{min-width:0;display:flex;flex-direction:column}.retrieval-panel strong,.retrieval-panel code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retrieval-panel strong{font-size:8.5px}.retrieval-panel code,.retrieval-panel time{color:rgb(var(--faint));font-family:var(--mono);font-size:7.5px}.literature-ask{padding-bottom:12px}.literature-ask textarea{width:calc(100% - 24px);resize:vertical;border:1px solid rgb(var(--border-strong));border-radius:9px;background:rgb(var(--surface));margin:11px 12px 7px;padding:8px;outline:0;font-size:10px;line-height:1.45}.literature-ask>.button{width:calc(100% - 24px);margin-inline:12px}.literature-ask .manager-mini-result{margin-inline:12px}.intake-steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgb(var(--border));border-radius:13px;background:rgb(var(--surface));margin-bottom:12px;padding:8px}.intake-steps>div{position:relative;display:flex;align-items:center;gap:7px;border-radius:9px;padding:7px 10px;color:rgb(var(--faint))}.intake-steps>div>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:rgb(var(--surface-2))}.intake-steps strong{font-size:10px}.intake-steps>div>svg{position:absolute;right:-7px;color:rgb(var(--faint))}.intake-steps .is-active{background:rgb(var(--blue-bg));color:rgb(var(--blue))}.intake-steps .is-done{color:rgb(var(--green))}.intake-steps .is-done>span{background:rgb(var(--green-bg))}.inbox-v2__layout{min-width:0;min-height:700px;display:grid;grid-template-columns:220px minmax(360px,1fr) minmax(340px,.92fr);gap:12px}.inbox-sources{align-self:stretch}.inbox-sources>div{padding:6px}.inbox-sources>div>button{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;border-radius:10px;background:transparent;padding:8px;text-align:left}.inbox-sources>div>button:hover,.inbox-sources>div>button.is-active{background:rgb(var(--surface-2))}.inbox-item-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgb(var(--rose-bg));color:rgb(var(--rose))}.inbox-sources button>div{min-width:0;display:flex;flex-direction:column}.inbox-sources strong,.inbox-sources small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-sources strong{font-size:10px}.inbox-sources small{color:rgb(var(--faint));font-size:8px}.inbox-input{display:flex;flex-direction:column}.inbox-input__form{min-height:0;flex:1;display:flex;flex-direction:column;padding:16px}.inbox-input__actions{display:flex;justify-content:space-between;gap:8px;margin-top:11px}.inbox-output{min-width:0;display:grid;grid-template-rows:minmax(280px,.85fr) minmax(400px,1.15fr);gap:12px}.knowledge-grid{max-height:360px;overflow:auto;padding:8px}.knowledge-grid article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;border-radius:10px;padding:8px}.knowledge-grid article:hover{background:rgb(var(--surface-2))}.knowledge-grid article>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgb(var(--violet-bg));color:rgb(var(--violet))}.knowledge-grid strong{font-size:10px}.knowledge-grid .markdown{margin-top:3px;color:rgb(var(--muted));font-size:9px;line-height:1.45}.first-prompt{display:flex;flex-direction:column}.first-prompt>textarea{min-height:200px;flex:1;resize:none;border:0;background:rgb(var(--surface-2) / .45);padding:14px;outline:0;font-family:var(--mono);font-size:9.5px;line-height:1.6}.dispatch-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-top:1px solid rgb(var(--border));padding:8px}.dispatch-mode button{border-radius:8px;background:transparent;padding:7px;color:rgb(var(--muted));font-size:9.5px}.dispatch-mode button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.new-project-fields{display:grid;grid-template-columns:.7fr 1.3fr;gap:7px;padding:0 8px 8px}.first-prompt>.button{width:calc(100% - 16px);margin:0 8px 8px}.first-prompt .manager-mini-result{margin:0 8px 8px}.workspace-connector{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:12px;padding:10px 13px}.workspace-connector>svg{color:rgb(var(--muted))}.workspace-connector>div:nth-child(2)>span{color:rgb(var(--faint));font-size:8px;font-weight:700;letter-spacing:.12em}.workspace-connector>div:nth-child(2)>div{display:flex;gap:7px;margin-top:3px}.workspace-connector input{min-width:0;flex:1;border:0;background:transparent;outline:0;font-family:var(--mono);font-size:10px}.workspace-connector__state{display:flex;align-items:center;gap:7px}.workspace-connector__state small{color:rgb(var(--faint));font-family:var(--mono);font-size:8px}.ide-v2__shell{min-width:0;height:720px;display:grid;grid-template-columns:230px minmax(390px,1fr) 330px;grid-template-rows:minmax(0,1fr) 170px;gap:10px}.ide-v2__explorer{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column}.workspace-tree{min-height:0;flex:1;overflow:auto;padding:5px}.workspace-node>button{width:100%;min-height:28px;display:flex;align-items:center;gap:4px;border-radius:6px;background:transparent;color:rgb(var(--muted));text-align:left}.workspace-node>button:hover,.workspace-node>button.is-selected{background:rgb(var(--surface-2));color:rgb(var(--text))}.workspace-node>button.is-selected{color:rgb(var(--blue))}.workspace-node button>span:not(.node-spacer){overflow:hidden;font-family:var(--mono);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.workspace-node button>small{margin-left:auto;color:rgb(var(--faint));font-size:7px}.node-spacer{width:13px}.source-control-button{min-height:42px;display:flex;align-items:center;gap:7px;border-top:1px solid rgb(var(--border));background:transparent;padding:0 12px;color:rgb(var(--muted));text-align:left}.source-control-button span{flex:1;font-size:10px;font-weight:600}.ide-v2__center{min-width:0;grid-column:2;grid-row:1;display:flex;flex-direction:column}.editor-tabs{height:42px;flex:0 0 42px;display:flex;border-bottom:1px solid rgb(var(--border))}.editor-tabs button{max-width:60%;display:flex;align-items:center;gap:5px;border-bottom:2px solid transparent;background:transparent;padding:0 12px;color:rgb(var(--muted));font-family:var(--mono);font-size:8.5px}.editor-tabs button.is-active{border-bottom-color:rgb(var(--accent));color:rgb(var(--text))}.editor-surface{min-width:0;min-height:0;flex:1;overflow:hidden;background:rgb(var(--surface-2) / .35)}.workspace-code,.workspace-diff{width:100%;height:100%;overflow:auto;margin:0;padding:16px;font-family:var(--mono);font-size:9px;line-height:1.62;-moz-tab-size:2;-o-tab-size:2;tab-size:2;white-space:pre}.workspace-pdf{width:100%;height:100%;border:0;background:#fff}.workspace-image{max-width:100%;max-height:100%;display:block;margin:auto;padding:16px;-o-object-fit:contain;object-fit:contain}.editor-loading{padding:20px;color:rgb(var(--muted));font-size:11px}.workspace-git{height:100%;overflow:auto}.workspace-git__summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px}.workspace-git__summary>div{border:1px solid rgb(var(--border));border-radius:9px;background:rgb(var(--surface));padding:8px}.workspace-git__summary span{display:block;color:rgb(var(--faint));font-size:8px}.workspace-git__summary strong{display:block;margin-top:2px;font-family:var(--mono);font-size:10px}.git-status-list{margin:0;border-block:1px solid rgb(var(--border));padding:10px;color:rgb(var(--muted));font-family:var(--mono);font-size:8.5px;white-space:pre-wrap}.ide-v2__assistant{grid-column:3;grid-row:1 / 3;display:flex;flex-direction:column}.coding-context{display:flex;flex-direction:column;border-bottom:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .55);padding:9px 12px}.coding-context span{color:rgb(var(--faint));font-size:8px}.coding-context code{overflow:hidden;margin-top:3px;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.coding-response{min-height:0;flex:1;overflow:auto;padding:12px}.coding-response .markdown{font-size:10.5px}.coding-composer{border-top:1px solid rgb(var(--border));padding:9px}.coding-composer textarea{width:100%;resize:vertical;border:1px solid rgb(var(--border-strong));border-radius:9px;background:rgb(var(--surface));padding:8px;outline:0;font-size:10px;line-height:1.45}.coding-composer button{margin-top:7px}.ide-v2__terminal{min-width:0;min-height:0;grid-column:2;grid-row:2;overflow:hidden;border:1px solid rgb(30 41 59);border-radius:12px;background:#0d1117;color:#d6dce5}.ide-v2__terminal>header{height:31px;display:flex;align-items:center;gap:7px;border-bottom:1px solid rgb(255 255 255 / .08);padding:0 10px;color:#94a3b8}.ide-v2__terminal>header strong{font-size:8px;letter-spacing:.1em}.ide-v2__terminal>header span{margin-left:auto;font-size:8px}.ide-v2__terminal>div{height:calc(100% - 31px);overflow:auto;padding:6px 10px}.ide-v2__terminal article{display:grid;grid-template-columns:52px 52px 10px minmax(0,1fr);gap:5px;padding:2px 0;font-family:var(--mono);font-size:8px;line-height:1.4}.ide-v2__terminal time{color:#64748b}.terminal-role{font-weight:500}.terminal-role--manager{color:#60a5fa}.terminal-role--planner{color:#c4b5fd}.terminal-role--engineer{color:#6ee7b7}.terminal-role--reviewer{color:#fcd34d}.ide-v2__terminal article>span{color:#4ade80}.ide-v2__terminal code{overflow-wrap:anywhere;white-space:pre-wrap}.ide-v2__terminal p{color:#64748b;font-family:var(--mono);font-size:9px}.paper-v2__shell{min-width:0;height:760px;display:grid;grid-template-columns:230px minmax(420px,1fr) 350px;gap:12px}.paper-v2__files{display:flex;flex-direction:column}.paper-v2__files>nav{display:flex;border-bottom:1px solid rgb(var(--border));padding:6px}.paper-v2__files>nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;border-radius:8px;background:transparent;padding:6px 3px;color:rgb(var(--muted));font-size:8px}.paper-v2__files>nav button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.paper-v2__files nav small{font-family:var(--mono)}.paper-file-list{min-height:0;flex:1;overflow:auto;padding:5px}.paper-file-list>button{width:100%;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;border-radius:9px;background:transparent;padding:8px;color:rgb(var(--muted));text-align:left}.paper-file-list>button:hover,.paper-file-list>button.is-active{background:rgb(var(--surface-2))}.paper-file-list>button.is-active{color:rgb(var(--blue))}.paper-file-list button>div{min-width:0;display:flex;flex-direction:column}.paper-file-list strong,.paper-file-list code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-file-list strong{font-size:9.5px}.paper-file-list code,.paper-file-list small{color:rgb(var(--faint));font-size:7.5px}.paper-watch-root{border-top:1px solid rgb(var(--border));padding:9px 11px}.paper-watch-root span{display:block;color:rgb(var(--faint));font-size:8px}.paper-watch-root code{display:block;overflow:hidden;margin-top:3px;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.paper-v2__editor{display:flex;flex-direction:column}.paper-v2__editor>header{min-height:49px;padding:8px 12px}.paper-v2__editor>header>div{min-width:0;display:flex;flex-direction:column}.paper-v2__editor>header strong{font-size:11px}.paper-v2__editor>header code{overflow:hidden;color:rgb(var(--faint));font-size:8px;text-overflow:ellipsis;white-space:nowrap}.paper-v2__editor>header>span{color:rgb(var(--faint));font-size:8px}.paper-v2__preview{min-height:0;flex:1;overflow:hidden}.paper-markdown-preview{height:100%;overflow:auto;padding:24px 30px 50px}.paper-markdown-preview .markdown{font-size:12.5px}.paper-source-preview{width:100%;height:100%;overflow:auto;margin:0;background:rgb(var(--surface-2) / .35);padding:18px;font-family:var(--mono);font-size:9.5px;line-height:1.65;white-space:pre-wrap}.paper-live-pdf{width:100%;height:100%;border:0;background:#fff}.paper-live-image{max-width:100%;max-height:100%;display:block;margin:auto;padding:18px;-o-object-fit:contain;object-fit:contain}.paper-v2__editor>footer{height:30px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgb(var(--border));padding:0 11px;color:rgb(var(--faint));font-family:var(--mono);font-size:8px}.paper-v2__assistant{display:flex;flex-direction:column}.paper-context{display:flex;flex-direction:column;border-bottom:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .5);padding:9px 12px}.paper-context span{color:rgb(var(--faint));font-size:8px}.paper-context code{overflow:hidden;margin-top:3px;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.paper-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:9px}.paper-quick-actions button{border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--surface));padding:6px;color:rgb(var(--muted));font-size:8px}.paper-quick-actions button:hover{border-color:rgb(var(--blue) / .3);color:rgb(var(--blue))}.paper-ai-output{min-height:0;flex:1;overflow:auto;border-top:1px solid rgb(var(--border));padding:12px}.paper-ai-output .markdown{font-size:10.5px}.paper-ai-composer{border-top:1px solid rgb(var(--border));padding:9px}.paper-ai-composer textarea{width:100%;resize:vertical;border:1px solid rgb(var(--border-strong));border-radius:9px;background:rgb(var(--surface));padding:8px;outline:0;font-size:10px;line-height:1.45}.paper-ai-composer button{margin-top:7px}.review-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.review-mode-tabs>button{min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--surface));padding:12px 15px;color:rgb(var(--muted));text-align:left;box-shadow:var(--shadow-1)}.review-mode-tabs>button.is-active{border-color:rgb(var(--blue) / .3);background:rgb(var(--blue-bg) / .45);color:rgb(var(--text));box-shadow:0 0 0 3px rgb(var(--blue) / .06)}.review-mode-tabs>button>svg{color:rgb(var(--blue))}.review-mode-tabs button>div{display:flex;flex-direction:column}.review-mode-tabs strong{font-size:12px}.review-mode-tabs small{margin-top:3px;color:rgb(var(--muted));font-size:9px}.process-review-layout{display:grid;grid-template-columns:260px minmax(400px,1fr) 330px;grid-template-rows:minmax(580px,auto) auto;gap:12px}.review-rounds>div{max-height:650px;overflow:auto;padding:5px}.review-rounds>div>button{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr);gap:7px;border-radius:9px;background:transparent;padding:8px;text-align:left}.review-rounds>div>button:hover,.review-rounds>div>button.is-active{background:rgb(var(--surface-2))}.review-state{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgb(var(--surface-2))}.review-state--danger{background:rgb(var(--red-bg));color:rgb(var(--red))}.review-state--success{background:rgb(var(--green-bg));color:rgb(var(--green))}.review-state--warn{background:rgb(var(--amber-bg));color:rgb(var(--amber))}.review-rounds button>div{min-width:0;display:flex;flex-direction:column}.review-rounds strong{font-size:9.5px}.review-rounds small{margin-top:2px;color:rgb(var(--faint));font-size:8px}.process-report{display:flex;flex-direction:column}.process-report>article{overflow:auto;padding:18px}.process-report__meta{display:flex;justify-content:space-between;border-bottom:1px solid rgb(var(--border));margin-bottom:14px;padding-bottom:9px;color:rgb(var(--faint));font-size:9px}.process-report .markdown{font-size:11.5px}.review-live{overflow:auto}.process-verdict-card{grid-column:1 / -1;display:flex;align-items:flex-start;gap:11px;border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--surface));padding:14px}.process-verdict-card__icon{width:38px;height:38px;display:grid;flex:0 0 38px;place-items:center;border-radius:10px;background:rgb(var(--surface-2))}.process-verdict-card__icon--danger{background:rgb(var(--red-bg));color:rgb(var(--red))}.process-verdict-card__icon--success{background:rgb(var(--green-bg));color:rgb(var(--green))}.process-verdict-card span{color:rgb(var(--faint));font-size:8px}.process-verdict-card strong{display:block;margin-top:2px;font-size:13px}.process-verdict-card p{margin:4px 0 0;color:rgb(var(--muted));font-size:10px}.final-review-layout{display:grid;grid-template-columns:250px minmax(420px,1fr) 340px;gap:12px;min-height:680px}.final-review-files>div{padding:5px}.final-review-files>div>button{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;border-radius:9px;background:transparent;padding:8px;text-align:left}.final-review-files>div>button:hover,.final-review-files>div>button.is-active{background:rgb(var(--surface-2))}.final-review-files button>div{display:flex;flex-direction:column}.final-review-files strong{font-size:9.5px}.final-review-files small{color:rgb(var(--faint));font-size:8px}.final-review-report{display:flex;flex-direction:column}.final-review-report>article{overflow:auto;padding:20px}.final-review-report .markdown{font-size:11.5px}.final-review-form>div{padding:14px}.final-review-form .field+.field{margin-top:11px}.final-review-warning{display:flex;gap:7px;border:1px solid rgb(var(--amber) / .2);border-radius:10px;background:rgb(var(--amber-bg));margin:11px 0;padding:9px;color:rgb(var(--amber))}.final-review-warning p{margin:0;font-size:9px;line-height:1.45}.page--experiments{max-width:1440px;margin:0 auto}.mission-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.mission-hero__main{min-width:0;max-width:980px}.mission-hero__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:rgb(var(--faint));font-family:var(--mono);font-size:8.5px}.mission-hero h1{margin:10px 0 6px;font-size:26px;line-height:1.25;letter-spacing:-.035em}.mission-hero__objective{display:-webkit-box;overflow:hidden;color:rgb(var(--muted));font-size:11px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.mission-hero__controls{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:7px}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:12px}.metric-card{min-width:0;display:flex;gap:10px;border:1px solid rgb(var(--border));border-radius:13px;background:rgb(var(--surface));padding:13px;box-shadow:var(--shadow-1)}.metric-card__icon{width:34px;height:34px;display:grid;flex:0 0 34px;place-items:center;border-radius:10px;background:rgb(var(--surface-2));color:rgb(var(--muted))}.metric-card__copy{min-width:0;display:flex;flex-direction:column}.metric-card__copy>span{color:rgb(var(--muted));font-size:8.5px}.metric-card__copy strong{overflow:hidden;margin:3px 0 1px;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.metric-card__copy small{overflow:hidden;color:rgb(var(--faint));font-size:8px;text-overflow:ellipsis;white-space:nowrap}.text-live,.text-success{color:rgb(var(--green))}.text-info{color:rgb(var(--blue))}.text-danger{color:rgb(var(--red))}.text-warn{color:rgb(var(--amber))}.experiment-workspace{display:grid;grid-template-columns:240px minmax(440px,1fr) 300px;align-items:start;gap:12px}.experiment-center,.experiment-side{min-width:0;display:grid;gap:12px}.task-list{padding:6px}.task-row{position:relative;width:100%;display:grid;grid-template-columns:25px minmax(0,1fr);gap:6px;border-radius:9px;background:transparent;padding:9px;text-align:left}.task-row:hover,.task-row.is-selected{background:rgb(var(--surface-2))}.task-row__state{position:relative;z-index:1;width:21px;height:21px;display:grid;place-items:center;border:1px solid rgb(var(--border-strong));border-radius:50%;background:rgb(var(--surface));color:rgb(var(--faint))}.task-row__state--success{background:rgb(var(--green-bg));color:rgb(var(--green))}.task-row__state--live{color:rgb(var(--green))}.task-row__state--danger{background:rgb(var(--red-bg));color:rgb(var(--red))}.task-row__rail{position:absolute;top:29px;bottom:-13px;left:25px;width:1px;background:rgb(var(--border))}.task-row__content{min-width:0;display:flex;flex-direction:column}.task-row__content strong{display:-webkit-box;overflow:hidden;font-size:10px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-row__content small{margin-top:3px;color:rgb(var(--faint));font-family:var(--mono);font-size:8px}.current-task__topline{display:flex;align-items:center;gap:7px}.current-task__topline code{color:rgb(var(--faint));font-size:8px}.current-task h2{margin:10px 0 6px;font-size:16px;line-height:1.38}.current-task>p{margin:0;color:rgb(var(--muted));font-size:10.5px;line-height:1.55}.current-task__facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.current-task__facts>div{border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--surface-2) / .5);padding:9px}.current-task__facts span{color:rgb(var(--faint));font-size:8px}.current-task__facts p{display:-webkit-box;overflow:hidden;margin:4px 0 0;color:rgb(var(--muted));font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.live-action{display:flex;gap:9px;border-top:1px solid rgb(var(--border));margin:14px -16px -16px;background:rgb(var(--green-bg) / .55);padding:10px 16px}.live-action__pulse{width:7px;height:7px;flex:0 0 7px;margin-top:4px;border-radius:50%;background:rgb(var(--green))}.live-action>div{min-width:0;display:flex;flex-direction:column}.live-action span{color:rgb(var(--green));font-size:8px}.live-action strong{font-size:10px}.live-action code{display:-webkit-box;overflow:hidden;color:rgb(var(--muted));font-size:8px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.role-pipeline{display:grid;gap:6px}.role-pipeline__step{display:flex;flex-direction:column;align-items:center}.role-pipeline__arrow{transform:rotate(90deg);color:rgb(var(--faint))}.role-card{width:100%;border:1px solid rgb(var(--border));border-left:3px solid rgb(var(--faint));border-radius:11px;background:rgb(var(--surface-2) / .45);padding:9px}.role-card--manager{border-left-color:rgb(var(--manager))}.role-card--planner{border-left-color:rgb(var(--planner))}.role-card--engineer{border-left-color:rgb(var(--engineer))}.role-card--reviewer{border-left-color:rgb(var(--reviewer))}.role-card.is-active{background:rgb(var(--blue-bg))}.role-card__top{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:7px;align-items:center}.role-card__avatar{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:rgb(var(--surface));font-size:9px;font-weight:700}.role-card__top>div{min-width:0;display:flex;flex-direction:column}.role-card__top strong{font-size:10px}.role-card__top small{color:rgb(var(--faint));font-size:8px}.role-card>p{margin:6px 0 0;color:rgb(var(--muted));font-size:9px}.role-card__recent{overflow:hidden;margin-top:6px;border-top:1px solid rgb(var(--border));padding-top:5px;color:rgb(var(--faint));font-size:8px;text-overflow:ellipsis;white-space:nowrap}.diagnosis-list{display:grid;gap:7px}.diagnosis{display:flex;gap:7px;border:1px solid rgb(var(--border));border-radius:10px;padding:9px;color:rgb(var(--muted))}.diagnosis strong{display:block;color:rgb(var(--text));font-size:9.5px}.diagnosis p{margin:3px 0 0;font-size:8.5px}.diagnosis--success{border-color:rgb(var(--green) / .2);background:rgb(var(--green-bg));color:rgb(var(--green))}.diagnosis--danger{border-color:rgb(var(--red) / .2);background:rgb(var(--red-bg));color:rgb(var(--red))}.diagnosis--warn{border-color:rgb(var(--amber) / .2);background:rgb(var(--amber-bg));color:rgb(var(--amber))}}@layer responsive{@media (max-width: 1450px){.metric-grid{grid-template-columns:repeat(3,1fr)}.literature-v2__layout{grid-template-columns:210px minmax(380px,1fr) 310px}.inbox-v2__layout{grid-template-columns:200px minmax(340px,1fr) 320px}.ide-v2__shell{grid-template-columns:210px minmax(360px,1fr) 300px}.paper-v2__shell{grid-template-columns:210px minmax(380px,1fr) 320px}}.integrated-workbench{container-type:inline-size}@container (max-width: 1100px){.integrated-workbench .experiment-v3-grid{grid-template-columns:220px minmax(0,1fr)}.integrated-workbench .experiment-v3-side{grid-column:1 / -1;grid-template-columns:1fr 1fr}.integrated-workbench .research-stage-rail{grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible}.integrated-workbench .literature-v2__layout,.integrated-workbench .inbox-v2__layout{grid-template-columns:210px minmax(0,1fr)}.integrated-workbench .literature-v2__detail,.integrated-workbench .inbox-output{grid-column:1 / -1}.integrated-workbench .vscode-shell{height:820px;grid-template-columns:42px 220px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 180px 340px 22px}.integrated-workbench .vscode-source-control{display:flex;grid-column:2 / 4;grid-row:3;border-top:1px solid rgb(var(--vscode-line));border-left:0}.integrated-workbench .vscode-terminal{grid-column:3}.integrated-workbench .vscode-statusbar{grid-column:1 / 4;grid-row:4}.integrated-workbench .paper-v3__shell{height:auto;grid-template-columns:220px minmax(0,1fr)}.integrated-workbench .paper-v3__sources,.integrated-workbench .paper-v3__source{min-height:720px}.integrated-workbench .paper-v3__outputs{grid-column:1 / -1;min-height:720px}.integrated-workbench .process-review-layout,.integrated-workbench .final-review-layout{grid-template-columns:220px minmax(0,1fr)}.integrated-workbench .review-live,.integrated-workbench .final-review-form{grid-column:1 / -1}}@container (max-width: 700px){.integrated-workbench .ros-page,.integrated-workbench .overview-page,.integrated-workbench .page{padding:16px 16px 28px}.integrated-workbench .ros-page-header{flex-direction:column;gap:12px}.integrated-workbench .header-badges{width:100%;justify-content:flex-start}.integrated-workbench .module-grid,.integrated-workbench .copilot-v2__layout{grid-template-columns:1fr}.integrated-workbench .copilot-v2__aside{display:none}.integrated-workbench .experiment-v3-grid,.integrated-workbench .literature-v2__layout,.integrated-workbench .inbox-v2__layout,.integrated-workbench .process-review-layout,.integrated-workbench .final-review-layout{grid-template-columns:1fr}.integrated-workbench .experiment-v3-side,.integrated-workbench .literature-v2__detail,.integrated-workbench .inbox-output,.integrated-workbench .review-live,.integrated-workbench .final-review-form{grid-column:auto}.integrated-workbench .experiment-v3-side,.integrated-workbench .inbox-output,.integrated-workbench .literature-v2__detail{grid-template-columns:1fr}.integrated-workbench .experiment-header-actions{width:100%;justify-content:flex-start}.integrated-workbench .experiment-header-actions .button{min-width:0;flex:1 1 96px;justify-content:center}.integrated-workbench .experiment-progress-hero{grid-template-columns:1fr;gap:12px;padding:18px 16px 0}.integrated-workbench .progress-number{align-items:flex-start;padding-right:0}.integrated-workbench .progress-number strong{font-size:38px}.integrated-workbench .truthful-progress__legend span:last-child{width:100%;margin-left:0}.integrated-workbench .progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:-16px}.integrated-workbench .progress-metrics>div:nth-child(2){border-right:0}.integrated-workbench .progress-metrics>div:nth-child(-n+2){border-bottom:1px solid rgb(var(--border))}.integrated-workbench .checkpoint-list{grid-template-columns:1fr;gap:8px}.integrated-workbench .checkpoint{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;text-align:left}.integrated-workbench .checkpoint>div{margin-top:0;padding-inline:0}.integrated-workbench .checkpoint>i{display:none}.integrated-workbench .research-stage-rail,.integrated-workbench .intake-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.integrated-workbench .intake-steps>div>svg{display:none}.integrated-workbench .literature-v2__sidebar{display:none}.integrated-workbench .literature-list-header{align-items:flex-start;gap:10px}.integrated-workbench .paper-grid{grid-template-columns:1fr}.integrated-workbench .paper-card{min-height:0}.integrated-workbench .literature-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.integrated-workbench .ide-context-strip{grid-template-columns:18px minmax(0,1fr) auto 28px}.integrated-workbench .ide-context-strip code,.integrated-workbench .ide-context-strip small{display:none}.integrated-workbench .vscode-shell,.integrated-workbench .paper-v3__shell{display:flex;height:auto;flex-direction:column}.integrated-workbench .vscode-activitybar{height:44px;flex-direction:row}.integrated-workbench .vscode-sidebar{min-height:420px}.integrated-workbench .vscode-editor{min-height:680px}.integrated-workbench .vscode-terminal{min-height:240px}.integrated-workbench .vscode-source-control{min-height:420px}.integrated-workbench .vscode-statusbar{min-height:22px}.integrated-workbench .paper-v3__sources{min-height:480px}.integrated-workbench .paper-v3__source,.integrated-workbench .paper-v3__outputs{min-height:720px}.integrated-workbench .review-flow,.integrated-workbench .release-module-grid,.integrated-workbench .review-mode-tabs{grid-template-columns:1fr}.integrated-workbench .review-mode-tabs>button{min-width:0}.integrated-workbench .review-flow b{display:none}.integrated-workbench .release-flow{grid-template-columns:1fr;gap:5px}.integrated-workbench .release-flow>b{transform:rotate(90deg)}}@media (max-width: 1180px){:root{--sidebar: 204px}.project-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-hero{grid-template-columns:1fr}.overview-hero__stats{grid-template-columns:repeat(3,1fr)}.overview-hero__stats>div{display:flex;flex-direction:column;align-items:flex-start}.literature-v2__layout{grid-template-columns:210px minmax(0,1fr)}.literature-v2__detail{grid-column:1 / -1;grid-template-columns:1.2fr 1fr 1fr}.inbox-v2__layout{grid-template-columns:210px minmax(0,1fr)}.inbox-output{grid-column:1 / -1;grid-template-columns:1fr 1fr;grid-template-rows:520px}.ide-v2__shell{grid-template-columns:210px minmax(0,1fr)}.ide-v2__assistant{grid-column:1 / -1;grid-row:auto;min-height:480px}.ide-v2__shell{height:auto;grid-template-rows:570px 170px auto}.ide-v2__explorer{grid-row:1 / 3}.ide-v2__terminal{grid-column:2}.paper-v2__shell{grid-template-columns:210px minmax(0,1fr);height:auto}.paper-v2__files,.paper-v2__editor{min-height:700px}.paper-v2__assistant{grid-column:1 / -1;min-height:500px}.process-review-layout{grid-template-columns:240px minmax(0,1fr)}.review-live{grid-column:1 / -1;max-height:500px}.final-review-layout{grid-template-columns:230px minmax(0,1fr)}.final-review-form{grid-column:1 / -1}.experiment-workspace{grid-template-columns:220px minmax(0,1fr)}.experiment-side{grid-column:1 / -1;grid-template-columns:1fr 1fr}}@media (max-width: 900px){.ros-topbar__menu{display:inline-grid}.ros-topbar .brand-button,.back-to-projects,.ros-topbar__divider{display:none}.workspace-project-select{min-width:0;max-width:280px}.ros-workspace{grid-template-columns:1fr}.ros-sidebar{position:fixed;inset:var(--topbar) auto 0 0;z-index:60;width:250px;transform:translate(-102%);box-shadow:18px 0 50px #00000047;transition:transform .2s}.ros-sidebar.is-mobile-open{transform:translate(0)}.ros-sidebar__mobile-brand{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgb(var(--border));margin:-12px -12px 10px;padding:11px 12px}.mobile-scrim{position:fixed;inset:var(--topbar) 0 0;z-index:55;display:block;background:#0000006b}.ros-page,.overview-page,.page{padding:20px}.project-hub{padding:34px 20px 60px}.project-hub__hero{flex-direction:column}.project-hub__summary{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr 1fr}.overview-lower,.copilot-v2__layout{grid-template-columns:1fr}.copilot-v2__aside{display:none}.literature-stats{grid-template-columns:1fr 1fr}.literature-v2__layout{grid-template-columns:1fr}.literature-v2__sidebar{display:none}.literature-v2__detail{grid-column:auto;grid-template-columns:1fr}.paper-grid,.inbox-v2__layout{grid-template-columns:1fr}.inbox-sources{min-height:260px}.inbox-input{min-height:600px}.inbox-output{grid-column:auto;grid-template-columns:1fr;grid-template-rows:auto}.knowledge-panel,.first-prompt{min-height:460px}.ide-v2__shell{grid-template-columns:200px minmax(0,1fr)}.ide-v2__assistant{grid-column:1 / -1}.paper-v2__shell{grid-template-columns:200px minmax(0,1fr)}.paper-v2__assistant{grid-column:1 / -1}.process-review-layout,.final-review-layout{grid-template-columns:1fr}.review-rounds{max-height:360px}.review-live,.process-verdict-card,.final-review-form{grid-column:auto}.experiment-workspace{grid-template-columns:1fr}.experiment-side{grid-column:auto;grid-template-columns:1fr}.mission-hero{flex-direction:column}}@media (max-width: 640px){.ros-topbar{padding-inline:10px}.ros-topbar>.badge{display:none}.workspace-project-select select{font-size:11px}.ros-page,.overview-page,.page{padding:16px}.ros-page-header{flex-direction:column;gap:8px}.ros-page-header h1{font-size:21px}.project-hub{padding-inline:16px}.project-hub__hero h1{font-size:27px}.project-grid,.module-grid{grid-template-columns:1fr}.project-hub__toolbar{align-items:stretch;flex-direction:column}.search-field{min-width:0}.overview-hero{padding:18px}.overview-hero__stats,.overview-lower{grid-template-columns:1fr}.copilot-v2{height:auto;min-height:100%}.copilot-v2__thread{min-height:720px}.copilot-empty>div{grid-template-columns:1fr}.optimize-button{width:35px;padding:0;justify-content:center;font-size:0}.message--user{margin-left:40px}.prompt-optimizer__compare{grid-template-columns:1fr}.prompt-optimizer{max-height:95vh}.literature-stats,.paper-grid{grid-template-columns:1fr}.intake-steps{grid-template-columns:1fr 1fr}.intake-steps>div>svg{display:none}.form-grid,.new-project-fields{grid-template-columns:1fr}.inbox-input__actions{flex-direction:column}.workspace-connector{grid-template-columns:28px minmax(0,1fr)}.workspace-connector__state{grid-column:2}.workspace-connector>div:nth-child(2)>div{flex-direction:column}.ide-v2__shell{display:flex;height:auto;flex-direction:column}.ide-v2__explorer{min-height:400px}.ide-v2__center{min-height:650px}.ide-v2__terminal{min-height:220px}.ide-v2__assistant{min-height:520px}.paper-v2__shell{display:flex;flex-direction:column}.paper-v2__files{min-height:440px}.paper-v2__editor{min-height:700px}.paper-v2__assistant{min-height:560px}.review-mode-tabs{grid-template-columns:1fr}.process-review-layout,.final-review-layout{display:flex;flex-direction:column}.process-report,.final-review-report{min-height:600px}.metric-grid,.current-task__facts{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes livePulse{0%,to{box-shadow:0 0 rgb(var(--green) / .25)}50%{box-shadow:0 0 0 5px rgb(var(--green) / 0)}}@keyframes blink{50%{opacity:.35}}@keyframes skeleton{to{background-position:-120% 0}}@layer pages{:root{--font: "Inter Variable", "Noto Sans SC Variable", "Geist Variable", "PingFang SC", "Microsoft YaHei", sans-serif}.ros-page:not(.copilot-v2),.overview-page,.page--experiments{font-size:15px}.ros-page:not(.copilot-v2) .ros-page-header h1{font-size:27px}.ros-page:not(.copilot-v2) .ros-page-header p{font-size:13.5px;line-height:1.65}.copilot-v2 .ros-page-header h1{font-size:24px}.copilot-v2 .ros-page-header p{font-size:12px}.ros-page:not(.copilot-v2) .ros-card>header h2,.overview-page .panel__title{font-size:14px}.ros-page:not(.copilot-v2) .ros-card>header span{font-size:9.5px}.project-hub__hero p,.overview-hero__copy p{font-size:13px}.module-card{min-height:148px;padding:19px}.module-card h3{font-size:14px}.module-card p{font-size:11.5px;line-height:1.6}.copilot-v2__layout{grid-template-columns:minmax(0,1fr) 380px}.copilot-trace-v2{display:flex;flex-direction:column}.team-pipeline{flex:0 0 auto;display:grid;gap:0;padding:10px 12px}.team-pipeline>div{position:relative;display:grid;grid-template-columns:10px 72px minmax(0,1fr);align-items:center;gap:7px;border-radius:9px;padding:7px 8px;color:rgb(var(--muted))}.team-pipeline>div.is-active{background:rgb(var(--blue-bg));color:rgb(var(--text))}.team-pipeline>div.is-done{color:rgb(var(--text))}.team-pipeline strong{font-size:10px;text-transform:capitalize}.team-pipeline small{overflow:hidden;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.team-pipeline b{display:none}.current-operation{flex:0 0 auto;display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;border-block:1px solid rgb(var(--border));background:rgb(var(--green-bg) / .55);padding:11px 14px}.current-operation>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgb(var(--green-bg));color:rgb(var(--green))}.current-operation>div{min-width:0;display:flex;flex-direction:column}.current-operation small{color:rgb(var(--green));font-size:8.5px}.current-operation strong{margin:2px 0;font-size:10.5px}.current-operation code{overflow:hidden;color:rgb(var(--muted));font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.activity-filters{flex:0 0 auto;display:flex;align-items:center;gap:4px;border-bottom:1px solid rgb(var(--border));padding:8px 10px;color:rgb(var(--faint))}.activity-filters button{border-radius:7px;background:transparent;padding:5px 8px;color:rgb(var(--muted));font-size:9px}.activity-filters button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.visual-activity-timeline{min-height:0;flex:1;overflow:auto;padding:6px}.visual-activity-timeline>button{width:100%;display:grid;grid-template-columns:29px minmax(0,1fr);gap:7px;border-radius:9px;background:transparent;padding:7px;text-align:left}.visual-activity-timeline>button:hover,.visual-activity-timeline>button.is-open{background:rgb(var(--surface-2))}.activity-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:rgb(var(--surface-2));color:rgb(var(--muted))}.activity-icon--manager{background:rgb(var(--blue-bg));color:rgb(var(--manager))}.activity-icon--planner{background:rgb(var(--violet-bg));color:rgb(var(--planner))}.activity-icon--engineer{background:rgb(var(--green-bg));color:rgb(var(--engineer))}.activity-icon--reviewer{background:rgb(var(--amber-bg));color:rgb(var(--reviewer))}.visual-activity-timeline button>div{min-width:0}.visual-activity-timeline button>div>div{display:flex;align-items:center;gap:6px}.visual-activity-timeline strong{overflow:hidden;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.visual-activity-timeline time{margin-left:auto;color:rgb(var(--faint));font-family:var(--mono);font-size:7.5px}.visual-activity-timeline p{display:-webkit-box;overflow:hidden;margin:2px 0 0;color:rgb(var(--muted));font-family:var(--mono);font-size:8px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.visual-activity-timeline button.is-open p{-webkit-line-clamp:8}.visual-activity-timeline button>div>code{display:block;max-height:220px;overflow:auto;margin-top:6px;border:1px solid rgb(var(--border));border-radius:7px;background:rgb(var(--surface));padding:7px;color:rgb(var(--muted));font-size:7.5px;white-space:pre-wrap}.activity-empty{padding:24px;color:rgb(var(--faint));font-size:10px;text-align:center}.literature-v2__layout{grid-template-columns:230px minmax(500px,1fr) 370px;gap:14px}.literature-stats>div{min-height:78px;padding:15px}.literature-stats p{font-size:11px}.literature-stats strong{font-size:20px}.library-tabs button{min-height:43px;font-size:12px}.search-field input{font-size:13px}.literature-list-header h2{font-size:17px}.literature-list-header p{font-size:11px}.paper-grid{gap:12px}.paper-card{min-height:242px;padding:17px}.paper-card h3{margin-top:13px;font-size:14.5px;line-height:1.48}.paper-card__authors{font-size:10.5px}.paper-card__summary{font-size:11px;line-height:1.6;-webkit-line-clamp:4}.paper-card__year{font-size:10px}.paper-card__footer code{font-size:8.5px}.paper-card__footer span{font-size:10.5px}.paper-detail h2{font-size:17px}.paper-detail__authors{font-size:10.5px}.paper-detail__body h3{font-size:11.5px}.paper-detail__body p,.paper-detail__body .markdown{font-size:11px;line-height:1.65}.paper-detail__source code{font-size:9px}.retrieval-panel strong{font-size:9.5px}.retrieval-panel code,.retrieval-panel time{font-size:8px}.inbox-v2__layout{grid-template-columns:230px minmax(430px,1.08fr) minmax(380px,.92fr);gap:14px}.inbox-input__form{padding:18px}.inbox-input .field>span{font-size:12px}.inbox-input textarea{font-size:13px;line-height:1.65}.inbox-upload-types{display:grid;grid-template-columns:repeat(3,auto) minmax(0,1fr);align-items:center;gap:7px;border:1px dashed rgb(var(--border-strong));border-radius:11px;background:rgb(var(--surface-2) / .45);margin-top:10px;padding:9px 11px}.inbox-upload-types>span{display:flex;align-items:center;gap:4px;border-radius:7px;background:rgb(var(--surface));padding:5px 7px;color:rgb(var(--muted));font-size:9px}.inbox-upload-types p{margin:0;color:rgb(var(--faint));font-size:9px;line-height:1.4}.inbox-attachment-list{display:grid;gap:6px;margin-top:9px}.inbox-attachment-list>span{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:7px;border:1px solid rgb(var(--border));border-radius:9px;background:rgb(var(--surface));padding:7px 9px;color:rgb(var(--violet))}.inbox-attachment-list>span>div{min-width:0;display:flex;flex-direction:column}.inbox-attachment-list strong{overflow:hidden;color:rgb(var(--text));font-size:10px;text-overflow:ellipsis;white-space:nowrap}.inbox-attachment-list small{color:rgb(var(--faint));font-size:8px}.inbox-attachment-list button{display:grid;place-items:center;background:transparent;color:rgb(var(--faint))}.knowledge-grid strong{font-size:11.5px}.knowledge-grid .markdown{font-size:10.5px;line-height:1.55}.first-prompt>textarea{font-size:10.5px}.ide-v3{--vscode-bg: 30 30 30;--vscode-side: 37 37 38;--vscode-panel: 24 24 24;--vscode-line: 62 62 64;--vscode-text: 204 204 204;--vscode-muted: 133 133 133;--vscode-blue: 0 122 204}.ide-v3 .workspace-connector{font-size:13px}.vscode-shell{min-width:0;height:760px;display:grid;grid-template-columns:44px 245px minmax(480px,1fr) 330px;grid-template-rows:minmax(0,1fr) 190px 22px;overflow:hidden;border:1px solid rgb(var(--vscode-line));border-radius:12px;background:rgb(var(--vscode-bg));color:rgb(var(--vscode-text));box-shadow:var(--shadow-2)}.vscode-activitybar{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;align-items:center;gap:3px;background:#333;padding-top:5px}.vscode-activitybar button{position:relative;width:44px;height:44px;display:grid;place-items:center;border-left:2px solid transparent;background:transparent;color:#8c8c8c}.vscode-activitybar button:hover,.vscode-activitybar button.is-active{color:#f0f0f0}.vscode-activitybar button.is-active{border-left-color:#f0f0f0}.vscode-activitybar i{position:absolute;right:3px;bottom:3px;min-width:16px;height:16px;border-radius:999px;background:rgb(var(--vscode-blue));color:#fff;font-size:8px;font-style:normal;line-height:16px;text-align:center}.vscode-sidebar{grid-column:2;grid-row:1 / 3;min-width:0;display:flex;flex-direction:column;border-right:1px solid rgb(var(--vscode-line));background:rgb(var(--vscode-side))}.vscode-sidebar>header{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 14px}.vscode-sidebar>header span{font-size:9px;letter-spacing:.08em}.vscode-sidebar>header button{display:grid;place-items:center;background:transparent;color:rgb(var(--vscode-muted))}.vscode-root{height:25px;display:flex;align-items:center;gap:4px;background:#2b2b2c;padding:0 7px;font-size:9px;text-transform:uppercase}.vscode-sidebar .workspace-tree{background:rgb(var(--vscode-side))}.vscode-sidebar .workspace-node>button{color:rgb(var(--vscode-text))}.vscode-sidebar .workspace-node>button:hover{background:#2b2d2e}.vscode-sidebar .workspace-node>button.is-selected{background:#37373d;color:#fff}.vscode-sidebar .workspace-node button>span:not(.node-spacer){font-size:9.5px}.vscode-search{padding:10px}.vscode-search label{display:flex;align-items:center;gap:6px;border:1px solid rgb(90 90 90);background:#3c3c3c;padding:5px 7px}.vscode-search input{min-width:0;width:100%;border:0;background:transparent;outline:0;color:rgb(var(--vscode-text));font-size:9px}.vscode-search p{color:rgb(var(--vscode-muted));font-size:9px;line-height:1.5}.vscode-changes{overflow:auto;padding:4px}.vscode-changes button{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px;border-radius:3px;background:transparent;padding:5px;color:rgb(var(--vscode-text));text-align:left}.vscode-changes button:hover{background:#37373a}.vscode-changes b{color:#73c991;font-size:9px}.vscode-changes span{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.vscode-editor{grid-column:3;grid-row:1;min-width:0;display:flex;flex-direction:column;background:rgb(var(--vscode-bg))}.vscode-tabs{height:36px;flex:0 0 36px;display:flex;background:rgb(var(--vscode-panel))}.vscode-tabs button{min-width:180px;max-width:60%;display:flex;align-items:center;gap:6px;border-top:1px solid rgb(var(--vscode-blue));background:rgb(var(--vscode-bg));padding:0 10px;color:rgb(var(--vscode-text));font-size:9px}.vscode-tabs button>span{margin-left:auto;color:rgb(var(--vscode-muted))}.vscode-breadcrumbs{height:28px;flex:0 0 28px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgb(var(--vscode-line));padding:0 11px;color:rgb(var(--vscode-muted));font-size:8.5px}.vscode-breadcrumbs span{display:flex;align-items:center;white-space:nowrap}.vscode-editor-surface{min-height:0;flex:1;overflow:hidden}.vscode-editor-surface .empty-state{color:rgb(var(--vscode-text))}.vscode-editor-surface .empty-state__icon{border-color:rgb(var(--vscode-line));background:rgb(var(--vscode-side))}.vscode-code{height:100%;display:grid;grid-template-columns:48px minmax(0,1fr);overflow:auto;background:rgb(var(--vscode-bg));font-family:var(--mono);font-size:11.5px;line-height:1.65}.vscode-line-numbers{position:sticky;left:0;display:flex;flex-direction:column;align-items:flex-end;background:rgb(var(--vscode-bg));padding:12px 9px;color:#696969;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vscode-line-numbers span{height:18.98px}.vscode-code pre{min-width:-moz-max-content;min-width:max-content;margin:0;padding:12px 18px 60px 8px;color:rgb(var(--vscode-text));-moz-tab-size:2;-o-tab-size:2;tab-size:2;white-space:pre}.vscode-editor-surface .workspace-pdf,.vscode-editor-surface .workspace-image{background:#2d2d30}.vscode-source-control{grid-column:4;grid-row:1;min-width:0;display:flex;flex-direction:column;border-left:1px solid rgb(var(--vscode-line));background:rgb(var(--vscode-side))}.vscode-source-control>header{height:49px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgb(var(--vscode-line));padding:0 10px}.vscode-source-control>header>div{min-width:0;display:flex;flex-direction:column}.vscode-source-control header span{color:rgb(var(--vscode-muted));font-size:8px;letter-spacing:.08em}.vscode-source-control header strong{margin-top:2px;font-size:10px}.vscode-sc-tabs{height:31px;display:flex;border-bottom:1px solid rgb(var(--vscode-line))}.vscode-sc-tabs button{flex:1;border-bottom:1px solid transparent;background:transparent;color:rgb(var(--vscode-muted));font-size:9px}.vscode-sc-tabs button.is-active{border-bottom-color:rgb(var(--vscode-blue));color:rgb(var(--vscode-text))}.vscode-git-content{min-height:0;flex:1;overflow:auto}.vscode-status,.vscode-diff{margin:0;padding:10px;color:rgb(var(--vscode-text));font-family:var(--mono);font-size:8.5px;line-height:1.55;white-space:pre-wrap}.vscode-status{border-bottom:1px solid rgb(var(--vscode-line));color:#ce9178}.vscode-commits{padding:5px}.vscode-commits article{display:grid;grid-template-columns:22px minmax(0,1fr);gap:5px;padding:6px}.vscode-commits strong{display:block;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.vscode-commits small{color:rgb(var(--vscode-muted));font-size:7.5px}.vscode-terminal{grid-column:3 / 5;grid-row:2;min-width:0;min-height:0;display:flex;flex-direction:column;border-top:1px solid rgb(var(--vscode-line));background:rgb(var(--vscode-panel))}.vscode-terminal>header{height:31px;flex:0 0 31px;display:flex;align-items:center;justify-content:space-between;padding:0 10px}.vscode-terminal header>div{display:flex;gap:13px}.vscode-terminal header button{height:31px;border-bottom:1px solid transparent;background:transparent;color:rgb(var(--vscode-muted));font-size:8px}.vscode-terminal header button.is-active{border-bottom-color:rgb(var(--vscode-blue));color:rgb(var(--vscode-text))}.vscode-terminal header>span{display:flex;align-items:center;gap:4px;color:rgb(var(--vscode-muted));font-size:8px}.vscode-terminal>div{min-height:0;flex:1;overflow:auto;padding:5px 10px}.vscode-terminal article{display:grid;grid-template-columns:52px 52px 10px minmax(0,1fr);gap:5px;padding:2px 0;font-family:var(--mono);font-size:8.5px;line-height:1.45}.vscode-terminal time{color:#64748b}.vscode-terminal article>span{color:#4ade80}.vscode-terminal code{overflow-wrap:anywhere;white-space:pre-wrap}.vscode-terminal p{color:rgb(var(--vscode-muted));font-family:var(--mono);font-size:9px}.vscode-statusbar{grid-column:1 / 5;grid-row:3;display:flex;align-items:center;gap:15px;background:rgb(var(--vscode-blue));padding:0 8px;color:#fff;font-size:8px}.vscode-statusbar span{display:flex;align-items:center;gap:4px}.vscode-statusbar span:nth-child(2){margin-right:auto}.paper-root-bar{display:grid;grid-template-columns:30px minmax(0,1fr) auto 34px;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px}.paper-root-bar>div{display:flex;flex-direction:column}.paper-root-bar span{color:rgb(var(--faint));font-size:8.5px;font-weight:700;letter-spacing:.11em}.paper-root-bar input{border:0;background:transparent;margin-top:2px;outline:0;font-family:var(--mono);font-size:10.5px}.paper-v3__shell{min-width:0;height:780px;display:grid;grid-template-columns:245px minmax(470px,1.25fr) minmax(390px,.9fr);gap:14px}.paper-v3__sources{display:flex;flex-direction:column}.paper-source-group{padding:7px}.paper-source-group+.paper-source-group{border-top:1px solid rgb(var(--border))}.paper-source-group h3{display:flex;align-items:center;gap:5px;margin:3px 5px 7px;color:rgb(var(--muted));font-size:9.5px;letter-spacing:.08em}.paper-source-group>button{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;border-radius:9px;background:transparent;padding:8px;color:rgb(var(--muted));text-align:left}.paper-source-group>button:hover,.paper-source-group>button.is-active{background:rgb(var(--surface-2))}.paper-source-group>button.is-active{color:rgb(var(--blue))}.paper-source-group button>div{min-width:0;display:flex;flex-direction:column}.paper-source-group strong,.paper-source-group code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-source-group strong{font-size:10.5px}.paper-source-group code,.paper-source-group small{color:rgb(var(--faint));font-size:8px}.paper-source-group>p{padding:8px;color:rgb(var(--faint));font-size:10px}.paper-v3__sources>footer{margin-top:auto;border-top:1px solid rgb(var(--border));padding:9px 11px}.paper-v3__sources footer span{display:block;color:rgb(var(--faint));font-size:8px}.paper-v3__sources footer code{display:block;overflow:hidden;margin-top:3px;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.paper-v3__source{display:flex;flex-direction:column}.paper-v3__source>header{min-height:50px;padding:8px 12px}.paper-v3__source header>div{min-width:0;display:flex;flex-direction:column}.paper-v3__source header strong{font-size:12px}.paper-v3__source header code{overflow:hidden;color:rgb(var(--faint));font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.paper-v3__source header>span{color:rgb(var(--faint));font-size:8.5px}.paper-v3__source>div{min-height:0;flex:1;overflow:hidden}.paper-v3__source>footer,.paper-v3__outputs>footer{height:31px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgb(var(--border));padding:0 11px;color:rgb(var(--faint));font-family:var(--mono);font-size:8.5px}.latex-source{height:100%;display:grid;grid-template-columns:48px minmax(0,1fr);overflow:auto;background:rgb(var(--surface-2) / .38);font-family:var(--mono);font-size:10.5px;line-height:1.65}.latex-line-numbers{position:sticky;left:0;display:flex;flex-direction:column;align-items:flex-end;background:rgb(var(--surface-2));padding:14px 9px;color:rgb(var(--faint));-webkit-user-select:none;-moz-user-select:none;user-select:none}.latex-line-numbers span{height:17.325px}.latex-source pre{min-width:-moz-max-content;min-width:max-content;margin:0;padding:14px 18px 50px 8px;white-space:pre}.paper-v3__outputs{display:flex;flex-direction:column}.paper-v3__outputs>nav{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgb(var(--border));padding:6px}.paper-v3__outputs>nav button{display:flex;align-items:center;justify-content:center;gap:4px;border-radius:8px;background:transparent;padding:7px 4px;color:rgb(var(--muted));font-size:10px}.paper-v3__outputs>nav button.is-active{background:rgb(var(--accent));color:rgb(var(--accent-fg))}.paper-v3__outputs nav small{font-family:var(--mono)}.paper-output-surface{min-height:0;flex:1;overflow:hidden}.paper-output-surface>embed{width:100%;height:calc(100% - 34px);border:0;background:#fff}.pdf-switcher{height:34px;display:flex;overflow-x:auto;border-bottom:1px solid rgb(var(--border));padding:4px}.pdf-switcher button{flex:0 0 auto;border-radius:6px;background:transparent;padding:0 8px;color:rgb(var(--muted));font-size:8.5px}.pdf-switcher button.is-active{background:rgb(var(--surface-2));color:rgb(var(--text))}.paper-figure-grid{height:100%;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px;overflow:auto;padding:9px}.paper-figure-grid figure,.paper-figure-grid article{min-width:0;border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--surface));margin:0;padding:7px}.paper-figure-grid img{width:100%;height:150px;-o-object-fit:contain;object-fit:contain;background:rgb(var(--surface-2))}.paper-figure-grid figcaption{overflow:hidden;margin-top:5px;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.paper-figure-grid article{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgb(var(--muted));text-align:center}.paper-figure-grid article strong{margin:7px 0 3px;font-size:10px}.paper-figure-grid article code{max-width:100%;overflow:hidden;color:rgb(var(--faint));font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.paper-reference-list{padding:7px}.paper-reference-list button{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;border-radius:8px;background:transparent;padding:8px;text-align:left}.paper-reference-list button:hover{background:rgb(var(--surface-2))}.paper-reference-list button>div{min-width:0;display:flex;flex-direction:column}.paper-reference-list strong{font-size:10px}.paper-reference-list code{overflow:hidden;color:rgb(var(--faint));font-size:8px;text-overflow:ellipsis;white-space:nowrap}.review-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.review-flow>div{position:relative;min-height:68px;display:grid;grid-template-columns:25px 24px minmax(0,1fr);align-items:center;gap:7px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--surface));padding:10px;color:rgb(var(--muted))}.review-flow>div.is-active{border-color:rgb(var(--blue) / .3);background:rgb(var(--blue-bg));color:rgb(var(--blue))}.review-flow>div.is-done{color:rgb(var(--green))}.review-flow>div>span{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:rgb(var(--surface-2));font-size:9px;font-weight:700}.review-flow>div>div{display:flex;flex-direction:column}.review-flow strong{color:rgb(var(--text));font-size:11px}.review-flow small{margin-top:2px;font-size:8.5px}.review-flow b{position:absolute;right:-8px;z-index:2;color:rgb(var(--faint));font-weight:400}.process-review-layout,.final-review-layout{min-height:650px}.review-rounds strong{font-size:10.5px}.review-rounds small{font-size:9px}.process-report .markdown,.final-review-report .markdown{font-size:12.5px;line-height:1.72}.final-review-form .field>span{font-size:11.5px}.final-review-form select,.final-review-form textarea{font-size:12px}}@layer responsive{@media (max-width: 1450px){.literature-v2__layout{grid-template-columns:220px minmax(440px,1fr) 340px}.inbox-v2__layout{grid-template-columns:210px minmax(390px,1fr) 350px}.vscode-shell{grid-template-columns:42px 225px minmax(420px,1fr) 300px}.paper-v3__shell{grid-template-columns:225px minmax(420px,1fr) 360px}}@media (max-width: 1180px){.copilot-v2__layout{grid-template-columns:minmax(0,1fr) 340px}.literature-v2__layout{grid-template-columns:220px minmax(0,1fr)}.literature-v2__detail{grid-column:1 / -1;grid-template-columns:1.2fr 1fr 1fr}.inbox-v2__layout{grid-template-columns:220px minmax(0,1fr)}.inbox-output{grid-column:1 / -1}.vscode-shell{height:820px;grid-template-columns:42px 220px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 180px 22px}.vscode-source-control{display:none}.vscode-terminal{grid-column:3}.vscode-statusbar{grid-column:1 / 4}.paper-v3__shell{height:auto;grid-template-columns:220px minmax(0,1fr)}.paper-v3__sources,.paper-v3__source{min-height:720px}.paper-v3__outputs{grid-column:1 / -1;min-height:720px}}@media (max-width: 900px){.copilot-v2__layout{grid-template-columns:1fr}.copilot-v2__aside{display:none}.literature-v2__layout{grid-template-columns:1fr}.literature-v2__sidebar{display:none}.inbox-v2__layout{grid-template-columns:1fr}.inbox-output{grid-column:auto}.vscode-shell{grid-template-columns:42px 210px minmax(0,1fr)}.paper-v3__shell{grid-template-columns:210px minmax(0,1fr)}.paper-v3__outputs{grid-column:1 / -1}}@media (max-width: 640px){.ros-page:not(.copilot-v2) .ros-page-header h1{font-size:23px}.ros-page:not(.copilot-v2) .ros-page-header p{font-size:12.5px}.vscode-shell{display:flex;height:auto;flex-direction:column}.vscode-activitybar{height:44px;flex-direction:row}.vscode-sidebar{min-height:420px}.vscode-editor{min-height:680px}.vscode-terminal{min-height:240px}.vscode-statusbar{height:22px}.paper-root-bar{grid-template-columns:25px minmax(0,1fr) auto}.paper-root-bar>.icon-button{display:none}.paper-v3__shell{display:flex;flex-direction:column}.paper-v3__sources{min-height:480px}.paper-v3__source,.paper-v3__outputs{min-height:720px}.paper-figure-grid{grid-template-columns:1fr}.review-flow{grid-template-columns:1fr 1fr}.review-flow b{display:none}.inbox-upload-types{grid-template-columns:1fr 1fr 1fr}.inbox-upload-types p{grid-column:1 / -1}}}@layer pages{.pdf-canvas-viewer{height:calc(100% - 34px);display:flex;flex-direction:column;overflow:hidden;background:#525256}.pdf-canvas-toolbar{min-height:37px;flex:0 0 37px;display:flex;align-items:center;gap:6px;background:rgb(var(--surface));padding:0 8px}.pdf-canvas-toolbar strong{min-width:0;flex:1;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.pdf-canvas-toolbar span{color:rgb(var(--muted));font-size:8.5px}.pdf-canvas-toolbar button{min-width:27px;height:25px;border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--surface-2));padding:0 6px;color:rgb(var(--muted));font-size:8px}.pdf-canvas-scroll{min-height:0;flex:1;overflow:auto;padding:14px;text-align:center}.pdf-canvas-scroll canvas{display:inline-block;max-width:none;background:#fff;box-shadow:0 3px 18px #00000059}.pdf-canvas-viewer>.inline-error{margin:10px}.custom-project-switcher{position:relative;min-width:280px;max-width:430px}.project-switcher-trigger{width:100%;min-height:38px;display:grid;grid-template-columns:8px minmax(0,1fr) 16px;align-items:center;gap:9px;border:1px solid transparent;border-radius:10px;background:transparent;padding:0 9px;text-align:left;transition:background .15s,border-color .15s}.project-switcher-trigger:hover,.project-switcher-trigger.is-open{border-color:rgb(var(--border));background:rgb(var(--surface-2))}.project-switcher-trigger strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.project-switcher-trigger>svg{color:rgb(var(--faint));transition:transform .15s}.project-switcher-trigger.is-open>svg{transform:rotate(180deg)}.project-switcher-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:100;width:min(440px,calc(100vw - 28px));overflow:hidden;border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--overlay));box-shadow:var(--shadow-3);animation:popoverIn .14s ease-out}.project-switcher-popover>header{display:flex;flex-direction:column;border-bottom:1px solid rgb(var(--border));padding:12px 14px}.project-switcher-popover header span{color:rgb(var(--faint));font-size:8.5px;font-weight:700;letter-spacing:.13em}.project-switcher-popover header strong{margin-top:2px;font-size:13px}.project-switcher-popover>div{max-height:390px;overflow:auto;padding:6px}.project-switcher-popover>div>button{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:9px;border-radius:10px;background:transparent;padding:9px;color:rgb(var(--text));text-align:left}.project-switcher-popover>div>button:hover{background:rgb(var(--surface-2))}.project-switcher-popover>div>button.is-selected{background:rgb(var(--blue-bg))}.project-option-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:rgb(var(--surface-2));color:rgb(var(--muted))}.project-option-icon.is-live{background:rgb(var(--green-bg));color:rgb(var(--green))}.project-option-copy{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px}.project-option-copy strong{overflow:hidden;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.project-option-copy small{grid-column:1 / -1;overflow:hidden;color:rgb(var(--faint));font-family:var(--mono);font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.project-option-copy em{grid-column:2;grid-row:1;color:rgb(var(--muted));font-size:8px;font-style:normal;white-space:nowrap}.project-option-status{width:7px;height:7px;justify-self:center;border-radius:50%;background:rgb(var(--faint))}.project-option-status.is-live{background:rgb(var(--green));box-shadow:0 0 0 4px rgb(var(--green) / .1)}.project-switcher-popover>footer{display:flex;justify-content:space-between;border-top:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .55);padding:8px 14px;color:rgb(var(--faint));font-size:8.5px}.experiment-v3{max-width:1480px;margin:0 auto}.experiment-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.experiment-progress-hero{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:18px;overflow:hidden;border:1px solid rgb(var(--border));border-radius:18px;background:radial-gradient(circle at 100% 0,rgb(var(--blue) / .09),transparent 38%),rgb(var(--surface));padding:22px 24px 0;box-shadow:var(--shadow-1)}.progress-hero-main{min-width:0}.progress-live-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:rgb(var(--muted));font-size:10px}.progress-live-line>span{border-left:1px solid rgb(var(--border));padding-left:8px;text-transform:capitalize}.progress-hero-main h2{display:-webkit-box;overflow:hidden;margin:12px 0 10px;font-size:21px;line-height:1.35;letter-spacing:-.025em;-webkit-box-orient:vertical;-webkit-line-clamp:2}.current-step-callout{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;border:1px solid rgb(var(--green) / .18);border-radius:12px;background:rgb(var(--green-bg) / .62);padding:10px 12px}.current-step-callout>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:rgb(var(--green-bg));color:rgb(var(--green))}.current-step-callout>div{min-width:0;display:flex;flex-direction:column}.current-step-callout small{color:rgb(var(--green));font-size:9px;font-weight:650}.current-step-callout strong{margin:2px 0;font-size:12px}.current-step-callout code{overflow:hidden;color:rgb(var(--muted));font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.progress-number{align-self:center;display:flex;flex-direction:column;align-items:flex-end;padding-right:4px}.progress-number>span{color:rgb(var(--blue));font-size:9px;font-weight:700;letter-spacing:.08em}.progress-number strong{margin:2px 0;font-size:43px;font-weight:720;letter-spacing:-.06em}.progress-number small{color:rgb(var(--muted));font-size:9.5px}.truthful-progress{grid-column:1 / -1;margin-top:3px}.truthful-progress__track{position:relative;height:13px;overflow:visible;border-radius:999px;background:rgb(var(--surface-3))}.truthful-progress__track .confirmed{position:absolute;inset:0 auto 0 0;border-radius:999px;background:rgb(var(--blue));transition:width .5s}.truthful-progress__track .estimated-range{position:absolute;inset-block:1px;border:1px dashed rgb(var(--blue) / .65);border-radius:999px;background:repeating-linear-gradient(135deg,rgb(var(--blue) / .18) 0,rgb(var(--blue) / .18) 5px,rgb(var(--blue) / .08) 5px,rgb(var(--blue) / .08) 10px)}.truthful-progress__track i{position:absolute;top:-4px;width:2px;height:21px;border-radius:2px;background:rgb(var(--accent));box-shadow:0 0 0 3px rgb(var(--surface));transition:left .5s}.truthful-progress__legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:7px 1px 12px;color:rgb(var(--muted));font-size:8.5px}.truthful-progress__legend span{display:flex;align-items:center;gap:4px}.truthful-progress__legend span:last-child{margin-left:auto;color:rgb(var(--faint))}.truthful-progress__legend b{width:8px;height:8px;border-radius:3px}.confirmed-dot{background:rgb(var(--blue))}.range-dot{border:1px dashed rgb(var(--blue));background:rgb(var(--blue) / .12)}.progress-metrics{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgb(var(--border));margin-inline:-24px}.progress-metrics>div{min-width:0;display:flex;flex-direction:column;border-right:1px solid rgb(var(--border));padding:13px 18px}.progress-metrics>div:last-child{border-right:0}.progress-metrics span{display:flex;align-items:center;gap:5px;color:rgb(var(--muted));font-size:9px}.progress-metrics strong{overflow:hidden;margin:5px 0 2px;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.progress-metrics small{display:-webkit-box;overflow:hidden;color:rgb(var(--faint));font-size:8.5px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.confidence-high{color:rgb(var(--green))}.confidence-medium{color:rgb(var(--amber))}.confidence-low{color:rgb(var(--red))}.research-stage-rail{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--surface));margin:12px 0;padding:8px}.research-stage-rail>div{position:relative;display:flex;align-items:center;gap:6px;border-radius:9px;padding:7px 9px;color:rgb(var(--faint))}.research-stage-rail>div>span{width:24px;height:24px;display:grid;flex:0 0 24px;place-items:center;border-radius:8px;background:rgb(var(--surface-2));font-size:9px;font-weight:700}.research-stage-rail strong{font-size:9px}.research-stage-rail>div>svg{position:absolute;right:-6px;z-index:2}.research-stage-rail>div.is-done{color:rgb(var(--green))}.research-stage-rail>div.is-done>span{background:rgb(var(--green-bg))}.research-stage-rail>div.is-active{background:rgb(var(--blue-bg));color:rgb(var(--blue))}.research-stage-rail>div.is-active>span{background:rgb(var(--blue));color:#fff}.experiment-v3-grid{display:grid;grid-template-columns:245px minmax(450px,1fr) 315px;align-items:start;gap:12px}.experiment-task-route>div{max-height:720px;overflow:auto;padding:6px}.experiment-task-route>div>button{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr);gap:7px;border-radius:10px;background:transparent;padding:9px;text-align:left}.experiment-task-route>div>button:hover,.experiment-task-route>div>button.is-active{background:rgb(var(--surface-2))}.task-state{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgb(var(--border));border-radius:9px;background:rgb(var(--surface));color:rgb(var(--faint))}.task-state--live{border-color:rgb(var(--green) / .25);background:rgb(var(--green-bg));color:rgb(var(--green))}.task-state--success{background:rgb(var(--green-bg));color:rgb(var(--green))}.task-state--danger{background:rgb(var(--red-bg));color:rgb(var(--red))}.task-state--warn{background:rgb(var(--amber-bg));color:rgb(var(--amber))}.experiment-task-route button>div{min-width:0;display:flex;flex-direction:column}.experiment-task-route strong{display:-webkit-box;overflow:hidden;font-size:10.5px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.experiment-task-route small{margin-top:3px;color:rgb(var(--faint));font-size:8.5px}.experiment-v3-center,.experiment-v3-side{min-width:0;display:grid;gap:12px}.checkpoint-list{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:14px}.checkpoint{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}.checkpoint>span{position:relative;z-index:2;width:30px;height:30px;display:grid;place-items:center;border:2px solid rgb(var(--surface));border-radius:50%;background:rgb(var(--surface-2));color:rgb(var(--faint));box-shadow:0 0 0 1px rgb(var(--border));font-size:9px;font-weight:700}.checkpoint>i{position:absolute;top:15px;left:calc(50% + 15px);right:calc(-50% + 15px);height:2px;background:rgb(var(--border))}.checkpoint>div{margin-top:8px;padding-inline:4px}.checkpoint strong{display:block;font-size:9.5px}.checkpoint p{margin:3px 0 0;color:rgb(var(--muted));font-size:8px;line-height:1.4}.checkpoint--done>span{background:rgb(var(--green));color:#fff}.checkpoint--done>i{background:rgb(var(--green))}.checkpoint--active>span{background:rgb(var(--blue));color:#fff;animation:livePulse 2s infinite}.checkpoint--blocked>span{background:rgb(var(--red-bg));color:rgb(var(--red))}.selected-task-detail{border-top:1px solid rgb(var(--border));background:rgb(var(--surface-2) / .45);padding:12px 15px}.selected-task-detail>span{color:rgb(var(--faint));font-size:8px}.selected-task-detail strong{display:block;margin-top:3px;font-size:11px}.selected-task-detail p{display:-webkit-box;overflow:hidden;margin:4px 0 0;color:rgb(var(--muted));font-size:9px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.experiment-live-events{max-height:560px;overflow:auto}.experiment-team>div{padding:6px}.experiment-team article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:10px;padding:9px}.experiment-team article.is-active{background:rgb(var(--blue-bg))}.role-dot{width:8px;height:8px;border-radius:50%;background:rgb(var(--faint))}.role-dot--manager{background:rgb(var(--manager))}.role-dot--planner{background:rgb(var(--planner))}.role-dot--engineer{background:rgb(var(--engineer))}.role-dot--reviewer{background:rgb(var(--reviewer))}.experiment-team article>div{min-width:0}.experiment-team strong{font-size:10.5px;text-transform:capitalize}.experiment-team p{overflow:hidden;margin:2px 0;color:rgb(var(--muted));font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.experiment-team small{color:rgb(var(--faint));font-size:8px}.estimate-note>div{padding:13px}.estimate-note p{margin:0 0 11px;color:rgb(var(--muted));font-size:9.5px;line-height:1.55}.estimate-note p strong{display:block;margin-bottom:3px;color:rgb(var(--text))}.estimate-risk,.estimate-ok{display:grid;grid-template-columns:26px minmax(0,1fr);gap:7px;border:1px solid rgb(var(--border));border-radius:10px;padding:9px}.estimate-risk{border-color:rgb(var(--amber) / .22);background:rgb(var(--amber-bg));color:rgb(var(--amber))}.estimate-ok{border-color:rgb(var(--green) / .22);background:rgb(var(--green-bg));color:rgb(var(--green))}.estimate-risk span,.estimate-ok span{display:flex;flex-direction:column;font-size:8.5px}.estimate-risk strong,.estimate-ok strong{margin-bottom:2px;font-size:9.5px}}@layer responsive{@media (max-width: 1450px){.experiment-v3-grid{grid-template-columns:225px minmax(420px,1fr) 290px}}@media (max-width: 1180px){.experiment-v3-grid{grid-template-columns:220px minmax(0,1fr)}.experiment-v3-side{grid-column:1 / -1;grid-template-columns:1fr 1fr}.research-stage-rail{overflow-x:auto;grid-template-columns:repeat(7,minmax(135px,1fr))}}@media (max-width: 900px){.custom-project-switcher{min-width:0;max-width:320px}.progress-metrics{grid-template-columns:1fr 1fr}.progress-metrics>div:nth-child(2){border-right:0}.progress-metrics>div:nth-child(-n+2){border-bottom:1px solid rgb(var(--border))}.experiment-v3-grid{grid-template-columns:1fr}.experiment-v3-side{grid-column:auto;grid-template-columns:1fr}}@media (max-width: 640px){.project-switcher-trigger strong{font-size:11px}.project-switcher-popover{position:fixed;top:calc(var(--topbar) + 6px);left:8px;right:8px;width:auto}.experiment-progress-hero{grid-template-columns:1fr;padding:18px 18px 0}.progress-number{align-items:flex-start}.truthful-progress{grid-column:1}.progress-metrics{grid-column:1;margin-inline:-18px}.checkpoint-list{grid-template-columns:1fr;gap:6px}.checkpoint{min-height:50px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;text-align:left}.checkpoint>div{margin-top:0}.checkpoint>i{top:30px;bottom:-8px;left:15px;width:2px;height:auto}.checkpoint p{font-size:8.5px}}}@keyframes popoverIn{0%{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@layer pages{.ide-context-strip{min-height:40px;display:grid;grid-template-columns:18px minmax(150px,240px) minmax(0,1fr) auto auto 28px;align-items:center;gap:8px;border:1px solid rgb(var(--border));border-radius:10px 10px 0 0;background:rgb(var(--surface));margin-bottom:-1px;padding:5px 8px 5px 11px}.ide-context-strip>svg{color:rgb(var(--muted))}.ide-context-strip select{width:100%;border:0;background:transparent;outline:0;font-size:10.5px;font-weight:620}.ide-context-strip code{overflow:hidden;color:rgb(var(--faint));font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.ide-context-strip small{color:rgb(var(--faint));font-family:var(--mono);font-size:8px}.ide-context-strip>button{width:27px;height:27px;display:grid;place-items:center;border-radius:7px;background:rgb(var(--surface-2));color:rgb(var(--muted))}.ide-context-strip+.vscode-shell{border-radius:0 0 12px 12px}.repository-readiness{padding:11px}.repository-readiness h3{margin:0 0 9px;color:rgb(var(--vscode-text));font-size:11px}.repository-readiness dl{display:grid;gap:5px;margin:0}.repository-readiness dl>div{display:grid;grid-template-columns:110px minmax(0,1fr) 18px;align-items:center;gap:5px;border:1px solid rgb(var(--vscode-line));border-radius:6px;background:#1f1f20;padding:7px}.repository-readiness dt{display:flex;align-items:center;gap:5px;color:rgb(var(--vscode-muted));font-size:8.5px}.repository-readiness dd{overflow:hidden;margin:0;color:rgb(var(--vscode-text));font-family:var(--mono);font-size:7.8px;line-height:1.4;text-overflow:ellipsis;white-space:pre-wrap}.repository-readiness i{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;font-style:normal}.repository-readiness i.ok{background:#166534;color:#86efac}.repository-readiness i.missing{background:#451a03;color:#fdba74}.repository-readiness>p{border-top:1px solid rgb(var(--vscode-line));margin:10px 0 0;padding-top:9px;color:rgb(var(--vscode-muted));font-size:8.5px;line-height:1.5}.vscode-terminal>header>strong{color:rgb(var(--vscode-text));font-size:8.5px;letter-spacing:.08em}.paper-root-bar>div{min-width:0}.paper-root-bar select{max-width:260px;border:0;background:transparent;margin-top:2px;outline:0;font-size:10.5px;font-weight:620}.paper-root-bar code{overflow:hidden;color:rgb(var(--faint));font-family:var(--mono);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.figure-loading{height:150px;display:grid;place-items:center;background:rgb(var(--surface-2));color:rgb(var(--faint));font-size:9px}.review-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.review-emphasis{display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid rgb(var(--border));border-radius:10px;margin:11px 0;padding:10px}.review-emphasis legend{padding:0 5px;color:rgb(var(--muted));font-size:10px;font-weight:620}.review-emphasis label{display:flex;align-items:center;gap:5px;border-radius:7px;padding:4px 5px;color:rgb(var(--muted));font-size:8.5px}.review-emphasis label:hover{background:rgb(var(--surface-2))}.review-emphasis input{accent-color:rgb(var(--blue))}.project-intake-start{display:flex;align-items:center;gap:7px}.project-intake-start select{height:42px;max-width:260px;border:1px solid rgb(var(--border-strong));border-radius:10px;background:rgb(var(--surface));padding:0 9px;outline:0;font-size:10px}.release-page{max-width:1280px;margin:0 auto}.release-hero{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:15px;border:1px solid rgb(var(--border));border-radius:17px;background:radial-gradient(circle at 100% 0,rgb(var(--violet) / .1),transparent 42%),rgb(var(--surface));padding:22px}.release-hero>span{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:rgb(var(--violet-bg));color:rgb(var(--violet))}.release-hero h2{margin:3px 0 6px;font-size:21px}.release-hero p{max-width:780px;margin:0;color:rgb(var(--muted));font-size:11.5px;line-height:1.6}.release-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.release-module{min-height:290px;border:1px solid rgb(var(--border));border-radius:15px;background:rgb(var(--surface));padding:17px;box-shadow:var(--shadow-1)}.release-module>header{display:flex;align-items:center;justify-content:space-between}.release-module header>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:rgb(var(--surface-2));color:rgb(var(--muted))}.release-module h3{margin:16px 0 6px;font-size:15px}.release-module>p{min-height:52px;margin:0;color:rgb(var(--muted));font-size:10.5px;line-height:1.55}.release-module ul{display:grid;gap:7px;border-top:1px solid rgb(var(--border));margin:13px 0 0;padding:13px 0 0;list-style:none}.release-module li{display:flex;align-items:center;gap:6px;color:rgb(var(--muted));font-size:9.5px}.release-module li svg{color:rgb(var(--green))}.release-flow{display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr 20px 1fr;align-items:center;border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--surface));padding:12px}.release-flow>div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:7px;border-radius:10px;padding:9px}.release-flow>div>svg{grid-row:1 / 3;align-self:center;color:rgb(var(--blue))}.release-flow strong{font-size:10px}.release-flow small{color:rgb(var(--faint));font-size:8px}.release-flow>b{color:rgb(var(--faint));font-weight:400;text-align:center}.release-boundary{display:flex;gap:9px;border:1px solid rgb(var(--amber) / .22);border-radius:12px;background:rgb(var(--amber-bg));margin-top:12px;padding:12px;color:rgb(var(--amber))}.release-boundary strong{font-size:10.5px}.release-boundary p{margin:3px 0 0;font-size:9px;line-height:1.5}}@layer responsive{@media (max-width: 900px){.release-module-grid{grid-template-columns:1fr}.release-flow{grid-template-columns:1fr;gap:5px}.release-flow>b{transform:rotate(90deg)}.project-intake-start{align-items:stretch;flex-direction:column}.project-intake-start select{max-width:none}}@media (max-width: 640px){.ide-context-strip{grid-template-columns:18px minmax(0,1fr) auto 28px}.ide-context-strip code,.ide-context-strip small{display:none}.review-form-row,.review-emphasis,.release-hero{grid-template-columns:1fr}}@media (max-width: 1180px){.vscode-shell{grid-template-rows:minmax(0,1fr) 180px 340px 22px}.vscode-source-control{display:flex;grid-column:2 / 4;grid-row:3;border-top:1px solid rgb(var(--vscode-line));border-left:0}.vscode-statusbar{grid-row:4}}@media (max-width: 900px){.literature-v2__sidebar{display:block}.literature-v2__sidebar .library-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.literature-v2__sidebar .library-tabs button{justify-content:center;gap:7px}.literature-source-note{display:none}}@media (max-width: 640px){.literature-v2__sidebar .library-tabs{grid-template-columns:1fr 1fr}.vscode-source-control{min-height:420px}}@media (max-width: 900px){.copilot-v2{height:auto;min-height:100%;overflow:visible}.copilot-v2__layout{display:flex;flex-direction:column}.copilot-v2__thread{min-height:720px}.copilot-v2__aside{display:block;min-height:540px}}}.integrated-workbench button{padding:revert-layer}.integrated-workbench .literature-v2__sidebar .search-field{width:calc(100% - 24px);min-width:0;max-width:none}.integrated-workbench .literature-v2__main{overflow:hidden;border:1px solid rgb(var(--border));border-radius:16px;background:rgb(var(--surface));padding:16px;box-shadow:var(--shadow-1)}.integrated-workbench .literature-list-header{min-height:0;border-bottom:1px solid rgb(var(--border));margin-bottom:14px;padding-bottom:14px}.integrated-workbench .paper-grid{gap:14px}.integrated-workbench button.paper-card{width:100%;min-width:0;min-height:242px;overflow:hidden;border-color:rgb(var(--border-strong));background:rgb(var(--surface-2) / .42);padding:17px;box-shadow:none}.integrated-workbench .paper-card__meta{min-width:0;flex-wrap:wrap;align-items:flex-start}.integrated-workbench .paper-card__year{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integrated-workbench .paper-card__footer{min-width:0}.integrated-workbench .paper-card__footer>span{flex:0 0 auto;white-space:nowrap}.integrated-workbench .release-module>header .badge{flex-shrink:0}@container (max-width: 700px){.integrated-workbench .literature-v2__main{padding:12px}.integrated-workbench .literature-list-header{margin-bottom:12px;padding-bottom:12px}.integrated-workbench button.paper-card{min-height:0;padding:15px}}.placeholder\:text-ink-faint::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--ink-faint) / var(--tw-text-opacity, 1))}.placeholder\:text-ink-faint::placeholder{--tw-text-opacity: 1;color:rgb(var(--ink-faint) / var(--tw-text-opacity, 1))}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:border-blue\/60:focus-within{border-color:rgb(var(--blue) / .6)}.hover\:border-blue:hover{--tw-border-opacity: 1;border-color:rgb(var(--blue) / var(--tw-border-opacity, 1))}.hover\:border-blue-sky\/50:hover{border-color:rgb(var(--blue-sky) / .5)}.hover\:border-blue-sky\/60:hover{border-color:rgb(var(--blue-sky) / .6)}.hover\:border-blue\/45:hover{border-color:rgb(var(--blue) / .45)}.hover\:border-blue\/50:hover{border-color:rgb(var(--blue) / .5)}.hover\:border-blue\/60:hover{border-color:rgb(var(--blue) / .6)}.hover\:border-err\/50:hover{border-color:#dc7d7880}.hover\:border-ink-faint:hover{--tw-border-opacity: 1;border-color:rgb(var(--ink-faint) / var(--tw-border-opacity, 1))}.hover\:border-manager:hover{--tw-border-opacity: 1;border-color:rgb(var(--role-manager) / var(--tw-border-opacity, 1))}.hover\:border-warn\/60:hover{border-color:#d1ad6899}.hover\:bg-bg:hover{--tw-bg-opacity: 1;background-color:rgb(var(--bg) / var(--tw-bg-opacity, 1))}.hover\:bg-bg\/60:hover{background-color:rgb(var(--bg) / .6)}.hover\:bg-bg\/70:hover{background-color:rgb(var(--bg) / .7)}.hover\:bg-blue-deep\/20:hover{background-color:rgb(var(--blue-deep) / .2)}.hover\:bg-blue-deep\/80:hover{background-color:rgb(var(--blue-deep) / .8)}.hover\:bg-blue-deep\/85:hover{background-color:rgb(var(--blue-deep) / .85)}.hover\:bg-blue\/10:hover{background-color:rgb(var(--blue) / .1)}.hover\:bg-blue\/20:hover{background-color:rgb(var(--blue) / .2)}.hover\:bg-err\/10:hover{background-color:#dc7d781a}.hover\:bg-line\/20:hover{background-color:rgb(var(--line) / .2)}.hover\:bg-manager\/20:hover{background-color:rgb(var(--role-manager) / .2)}.hover\:bg-panel:hover{--tw-bg-opacity: 1;background-color:rgb(var(--panel) / var(--tw-bg-opacity, 1))}.hover\:bg-panel-raised:hover{--tw-bg-opacity: 1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity, 1))}.hover\:bg-panel\/60:hover{background-color:rgb(var(--panel) / .6)}.hover\:bg-surface:hover{--tw-bg-opacity: 1;background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1))}.hover\:bg-warn\/10:hover{background-color:#d1ad681a}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-blue:hover{--tw-text-opacity: 1;color:rgb(var(--blue) / var(--tw-text-opacity, 1))}.hover\:text-err:hover{--tw-text-opacity: 1;color:rgb(220 125 120 / var(--tw-text-opacity, 1))}.hover\:text-gold-soft:hover{--tw-text-opacity: 1;color:rgb(224 204 164 / var(--tw-text-opacity, 1))}.hover\:text-ink:hover{--tw-text-opacity: 1;color:rgb(var(--ink) / var(--tw-text-opacity, 1))}.hover\:text-ink-dim:hover{--tw-text-opacity: 1;color:rgb(var(--ink-dim) / var(--tw-text-opacity, 1))}.hover\:decoration-blue:hover{text-decoration-color:rgb(var(--blue) / 1)}.hover\:opacity-100:hover{opacity:1}.focus\:border-blue:focus{--tw-border-opacity: 1;border-color:rgb(var(--blue) / var(--tw-border-opacity, 1))}.focus\:border-blue-deep:focus{--tw-border-opacity: 1;border-color:rgb(var(--blue-deep) / var(--tw-border-opacity, 1))}.focus\:border-blue\/60:focus{border-color:rgb(var(--blue) / .6)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-blue-sky\/50:focus-visible{--tw-ring-color: rgb(var(--blue-sky) / .5)}.focus-visible\:ring-blue\/50:focus-visible{--tw-ring-color: rgb(var(--blue) / .5)}.active\:bg-panel-raised:active{--tw-bg-opacity: 1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity, 1))}.enabled\:hover\:text-blue-sky:hover:enabled{--tw-text-opacity: 1;color:rgb(var(--blue-sky) / var(--tw-text-opacity, 1))}.enabled\:focus-visible\:underline:focus-visible:enabled{text-decoration-line:underline}.enabled\:focus-visible\:outline-none:focus-visible:enabled{outline:2px solid transparent;outline-offset:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:text-ink-faint:disabled{--tw-text-opacity: 1;color:rgb(var(--ink-faint) / var(--tw-text-opacity, 1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:bg-blue\/70{background-color:rgb(var(--blue) / .7)}.group:hover .group-hover\:bg-ink-faint\/30{background-color:rgb(var(--ink-faint) / .3)}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:bg-blue\/70{background-color:rgb(var(--blue) / .7)}@media (prefers-reduced-motion: reduce){.motion-reduce\:animate-none{animation:none}}@media (min-width: 640px){.sm\:left-auto{left:auto}.sm\:order-none{order:0}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:h-20{height:5rem}.sm\:max-h-\[88dvh\]{max-height:88dvh}.sm\:w-20{width:5rem}.sm\:w-auto{width:auto}.sm\:max-w-48{max-width:12rem}.sm\:max-w-\[82\%\]{max-width:82%}.sm\:max-w-md{max-width:28rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[100px_minmax\(0\,1fr\)\]{grid-template-columns:100px minmax(0,1fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:gap-3{gap:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-16{padding-top:4rem}.sm\:text-right{text-align:right}.sm\:opacity-0{opacity:0}.group:focus-within .sm\:group-focus-within\:opacity-100{opacity:1}.group:hover .sm\:group-hover\:opacity-100{opacity:1}}@media (min-width: 1024px){.lg\:visible{visibility:visible}.lg\:static{position:static}.lg\:z-auto{z-index:auto}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:w-14{width:3.5rem}.lg\:w-\[var\(--preview-width\)\]{width:var(--preview-width)}.lg\:w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.lg\:max-w-\[61\.8vw\]{max-width:61.8vw}.lg\:flex-none{flex:none}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(260px\,0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(300px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.lg\:gap-3{gap:.75rem}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:overflow-hidden{overflow:hidden}.lg\:border-b-0{border-bottom-width:0px}.lg\:border-r{border-right-width:1px}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} diff --git a/frontend/web/dist/assets/ResearchWorkbenchPanel-PFfB4YNn.js b/frontend/web/dist/assets/ResearchWorkbenchPanel-PFfB4YNn.js deleted file mode 100644 index 57bf4bd03..000000000 --- a/frontend/web/dist/assets/ResearchWorkbenchPanel-PFfB4YNn.js +++ /dev/null @@ -1,434 +0,0 @@ -import{r as m,j as e,u as B,a as Os,b as ss}from"./query-BpxuCIcN.js";import{a as Us,c as Ae,r as ws,b as Ws,u as Ns,_ as Vs}from"./index-DWO2YeDH.js";import{M as Hs,r as Bs}from"./markdown-B5ILJD_j.js";import"./icons-BHmFHwhB.js";/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Gs=s=>s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ss=(...s)=>s.filter((t,n,i)=>!!t&&t.trim()!==""&&i.indexOf(t)===n).join(" ").trim();/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var Ks={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Xs=m.forwardRef(({color:s="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:r="",children:a,iconNode:u,...o},c)=>m.createElement("svg",{ref:c,...Ks,width:t,height:t,stroke:s,strokeWidth:i?Number(n)*24/Number(t):n,className:Ss("lucide",r),...o},[...u.map(([f,p])=>m.createElement(f,p)),...Array.isArray(a)?a:[a]]));/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const N=(s,t)=>{const n=m.forwardRef(({className:i,...r},a)=>m.createElement(Xs,{ref:a,iconNode:t,className:Ss(`lucide-${Gs(s)}`,i),...r}));return n.displayName=`${s}`,n};/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Me=N("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ts=N("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Js=N("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ns=N("AudioLines",[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const se=N("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Qs=N("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ne=N("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Es=N("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ce=N("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const As=N("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Zs=N("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ys=N("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Pe=N("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const et=N("Earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ms=N("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const st=N("FileCheck2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m3 15 2 2 4-4",key:"1lhrkk"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const zs=N("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const rs=N("FileImage",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const as=N("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ze=N("FileSearch2",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ie=N("FileSearch",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"ms7g94"}],["path",{d:"m9 18-1.5-1.5",key:"1j6qii"}],["circle",{cx:"5",cy:"14",r:"3",key:"ufru5t"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Z=N("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const tt=N("FileUp",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Rs=N("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const nt=N("Files",[["path",{d:"M20 7h-3a2 2 0 0 1-2-2V2",key:"x099mo"}],["path",{d:"M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z",key:"18t6ie"}],["path",{d:"M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8",key:"1nja0z"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const _s=N("FlaskConical",[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const rt=N("FolderKanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const at=N("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const it=N("FolderSearch",[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ct=N("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const lt=N("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ge=N("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Xe=N("Github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ot=N("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const is=N("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const we=N("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const We=N("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const dt=N("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ve=N("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ht=N("ListFilter",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M7 12h10",key:"b7w52i"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ut=N("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const He=N("LockKeyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Cs=N("Megaphone",[["path",{d:"m3 11 18-5v12L3 14v-3z",key:"n962bs"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const pt=N("MessageSquareText",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"M13 8H7",key:"14i4kc"}],["path",{d:"M17 12H7",key:"16if0g"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ps=N("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const xt=N("PackageCheck",[["path",{d:"m16 16 2 2 4-4",key:"gfu2re"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const mt=N("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const jt=N("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const gt=N("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const vt=N("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ft=N("Presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const yt=N("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Re=N("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const bt=N("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const kt=N("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Be=N("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wt=N("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ge=N("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const cs=N("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ie=N("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const pe=N("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ts=N("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Is=N("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Nt=N("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ls=N("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $s=N("TimerReset",[["path",{d:"M10 2h4",key:"n1abiw"}],["path",{d:"M12 14v-4",key:"1evpnu"}],["path",{d:"M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6",key:"1ts96g"}],["path",{d:"M9 17H4v5",key:"8t5av"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const St=N("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const _e=N("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Et=N("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const At=N("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ne=N("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Mt=N("Watch",[["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["polyline",{points:"12 10 12 12 13 13",key:"19dquz"}],["path",{d:"m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05",key:"18k57s"}],["path",{d:"m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05",key:"16ny36"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const os=N("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const zt=N("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** - * @license lucide-react v0.468.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const je=N("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),qs=12e3;function fe(s=!1){const t={...Ws()};return s&&(t["Content-Type"]="application/json"),t}async function X(s,t={}){await Ae();const n={...t,headers:{...fe(!!t.body),...t.headers??{}},cache:"no-store"},i=String(t.method??"GET").toUpperCase(),r=async a=>{if(!a.ok){const u=await a.text().catch(()=>"");let o=u;try{o=JSON.parse(u).detail??u}catch{}throw new Error(o||`${t.method??"GET"} ${s} failed (${a.status})`)}return await a.json()};return i==="GET"?ws(s,n,qs,r):r(await fetch(s,n))}const H=(s,t="")=>`/api/projects/${encodeURIComponent(s)}${t}`,$e=()=>{var s,t;return((t=(s=globalThis.crypto)==null?void 0:s.randomUUID)==null?void 0:t.call(s))??`${Date.now()}-${Math.random()}`};function ds(s){const n=s.replaceAll(`\r -`,` -`).split(` - -`),i=n.pop()??"",r=[];return n.forEach(a=>{a.split(` -`).forEach(u=>{if(u.startsWith("data:"))try{const o=JSON.parse(u.slice(5).trim());r.push(o)}catch{}})}),{frames:r,rest:i}}function hs(s,t){var i,r,a;const n=String(s.type??"");if(n==="phase")(i=t.onPhase)==null||i.call(t,String(s.label??""),String(s.role??"manager"),String(s.detail??""),s.heartbeat===!0);else if(n==="delta")(r=t.onDelta)==null||r.call(t,String(s.text??""),String(s.fragment_mode??"auto"));else if(n==="done"){const u=s.result??{};return(a=t.onDone)==null||a.call(t,u),u}else if(n==="error")throw new Error(String(s.error??"Manager stream failed"));return null}const G={projects:s=>X("/api/projects",{signal:s}),snapshot:(s,t)=>X(H(s,"/snapshot?events_limit=40&compact=false"),{signal:t}),status:(s,t)=>X(H(s,"/status"),{signal:t}),events:(s,t=180,n)=>X(H(s,`/events?limit=${t}&view=ui`),{signal:n}).then(i=>i.events),transcript:(s,t=100,n)=>X(H(s,`/transcript?n=${t}`),{signal:n}).then(i=>i.turns),journal:(s,t=80,n)=>X(H(s,`/journal?n=${t}`),{signal:n}).then(i=>i.journal),artifacts:(s,t)=>X(H(s,"/artifacts"),{signal:t}).then(n=>n.artifacts),artifact:(s,t,n)=>X(H(s,`/artifact?${new URLSearchParams({path:t})}`),{signal:n}),artifactBlob:async(s,t,n=!1,i)=>{await Ae();const r=new URLSearchParams({path:t});n&&r.set("download","true");const a=H(s,`/artifact/raw?${r}`);return ws(a,{headers:fe(),signal:i,cache:"no-store"},qs,async u=>{if(!u.ok)throw new Error(`Artifact unavailable (${u.status})`);return u.blob()})},gitDiff:(s,t)=>X(H(s,"/git-diff"),{signal:t}),rewritePrompt:(s,t,n)=>X(H(s,"/prompt/rewrite"),{method:"POST",body:JSON.stringify({text:t}),signal:n}),note:(s,t)=>X(H(s,"/note"),{method:"POST",body:JSON.stringify({text:t})}),uploadAttachments:async(s,t,n)=>{await Ae();const i=new FormData;t.forEach(a=>i.append("files",a,a.name));const r=await fetch(H(s,"/attachments"),{method:"POST",headers:fe(),body:i,signal:n});if(!r.ok)throw new Error(await r.text()||`attachment upload failed (${r.status})`);return await r.json()},createDaemon:(s,t="",n="")=>X("/api/daemons",{method:"POST",body:JSON.stringify({objective:s,name:t,workdir:n,command_id:$e()})}),createFinalReview:(s,t)=>X(H(s,"/reviews/final"),{method:"POST",body:JSON.stringify(t)}),startDaemon:(s,t)=>X(H(s,"/daemon/start"),{method:"POST",body:JSON.stringify({command_id:$e(),expected_revision:t})}),stopDaemon:(s,t,n)=>X(H(s,"/daemon/stop"),{method:"POST",body:JSON.stringify({drain:t,command_id:$e(),expected_revision:n})}),async messageStream(s,t,n={},i,r=[]){await Ae();const a=H(s,"/message/stream"),u=await fetch(a,{method:"POST",headers:fe(!0),body:JSON.stringify(r.length?{text:t,attachments:r}:{text:t}),signal:i});if(!u.ok){const z=await u.text().catch(()=>"");throw new Error(z||`Manager request failed (${u.status})`)}if(!u.body)throw new Error("Manager returned an empty stream");const o=u.body.getReader(),c=new TextDecoder;let f="",p={};for(;;){const z=await o.read();if(z.done)break;f+=c.decode(z.value,{stream:!0});const h=ds(f);f=h.rest,h.frames.forEach(g=>{const y=hs(g,n);y&&(p=y)})}return ds(`${f} - -`).frames.forEach(z=>{const h=hs(z,n);h&&(p=h)}),p}};function Rt(s,t,n){let i=!1,r=null,a,u=800;const o=()=>{if(i)return;const c=window.location.protocol==="https:"?"wss:":"ws:",f=new URLSearchParams({replay:"40",view:"ui"}),p=Us();p&&f.set("token",p),r=new WebSocket(`${c}//${window.location.host}${H(s,"/stream")}?${f}`),r.onopen=()=>{u=800,n(!0)},r.onmessage=k=>{try{t(JSON.parse(String(k.data)))}catch{}},r.onerror=()=>r==null?void 0:r.close(),r.onclose=k=>{n(!1),!(i||k.code===4401||k.code===4404)&&(a=window.setTimeout(o,u),u=Math.min(u*1.7,8e3))}};return o(),{close:()=>{i=!0,a&&window.clearTimeout(a),r==null||r.close()}}}function he(...s){return s.filter(Boolean).join(" ")}function ke(s){const t=Math.max(0,Math.floor(Number(s??0)));if(t<60)return`${t}s`;const n=Math.floor(t/86400),i=Math.floor(t%86400/3600),r=Math.floor(t%3600/60);return n?`${n}d ${i}h`:i?`${i}h ${r}m`:`${r}m`}function xe(s){return s?new Date(s*1e3).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}):"—"}function ye(s){return s?new Date(s*1e3).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}):"—"}function us(s){return s<1024?`${s} B`:s<1048576?`${(s/1024).toFixed(1)} KB`:`${(s/1048576).toFixed(1)} MB`}function le(s){const t=String(s??"").toLowerCase();return/failed|error|blocked|rejected|stalled|dead|abort/.test(t)?"danger":/warn|waiting|paused|hold|queued|pending|continue/.test(t)?"warn":/done|complete|completed|accepted|healthy|success|passed/.test(t)?"success":/run|active|work|claimed|progress|live/.test(t)?"live":/research|plan|info|ready/.test(t)?"info":"neutral"}function de(s){const t=String(s.agent_layer??s.actor??"").toLowerCase();if(t==="main"||t.startsWith("engineer"))return"engineer";if(t.startsWith("review"))return"reviewer";if(t.startsWith("plan"))return"planner";if(t.startsWith("manager"))return"manager";const n=String(s.type??"");return/review/.test(n)?"reviewer":/planner/.test(n)?"planner":/manager/.test(n)?"manager":/engineer|round/.test(n)?"engineer":"system"}function ue(s){const t=String(s.action_summary??"").trim();if(t)return t;const n=String(s.title??"").trim();if(n)return n;const i=String(s.kind??"").trim();return i?i.replaceAll("_"," "):String(s.type??"event").split(".").slice(-2).join(" · ").replaceAll("_"," ")}function re(s,t=400){const n=String(s.text??s.reason??s.summary??s.detail??"").trim();return n?n.length>t?`${n.slice(0,t)}…`:n:""}function qe(s,t,n){return t?n==="snapshot"?t:n==="append"?`${s}${t}`:t.startsWith(s)?t:s.endsWith(t)?s:s?`${s} -${t}`:t:s}function _({children:s,tone:t="neutral",dot:n=!1,className:i}){return e.jsxs("span",{className:he("badge",`badge--${t}`,i),children:[n?e.jsx("span",{className:he("badge__dot",t==="live"&&"is-pulsing")}):null,s]})}function ps({title:s,eyebrow:t,action:n,children:i,className:r,bodyClassName:a}){return e.jsxs("section",{className:he("panel",r),children:[s||t||n?e.jsxs("header",{className:"panel__header",children:[e.jsxs("div",{className:"panel__heading",children:[t?e.jsx("div",{className:"eyebrow",children:t}):null,s?e.jsx("div",{className:"panel__title",children:s}):null]}),n?e.jsx("div",{className:"panel__action",children:n}):null]}):null,e.jsx("div",{className:he("panel__body",a),children:i})]})}function O({icon:s=Rs,title:t,description:n,action:i}){return e.jsxs("div",{className:"empty-state",children:[e.jsx("span",{className:"empty-state__icon",children:e.jsx(s,{size:19})}),e.jsx("div",{className:"empty-state__title",children:t}),n?e.jsx("p",{children:n}):null,i?e.jsx("div",{className:"empty-state__action",children:i}):null]})}function _t({label:s="加载中"}){return e.jsxs("span",{className:"spinner",role:"status",children:[e.jsx(ut,{size:15,className:"spin"})," ",s]})}function ae({children:s,className:t}){return e.jsx("div",{className:he("markdown",t),children:e.jsx(Hs,{remarkPlugins:[Bs],components:{a:({href:n,children:i})=>e.jsxs("a",{href:n,target:"_blank",rel:"noreferrer",children:[i,e.jsx(Ms,{size:11})]})},children:s})})}function Je({events:s,limit:t=24,empty:n="还没有可展示的实时事件",dense:i=!1}){const r=s.slice(-t).reverse();return r.length?e.jsx("div",{className:he("event-list",i&&"event-list--dense"),children:r.map((a,u)=>{const o=de(a),c=ue(a),f=re(a,i?180:480),p=le(String(a.status??a.kind??a.type??""));return e.jsxs("article",{className:"event-row",children:[e.jsx("div",{className:he("event-row__marker",`event-row__marker--${p}`)}),e.jsxs("div",{className:"event-row__content",children:[e.jsxs("div",{className:"event-row__meta",children:[e.jsx("span",{className:he("role-label",`role-label--${o}`),children:o}),e.jsx("time",{children:xe(a.ts)})]}),e.jsx("div",{className:"event-row__title",children:c}),f?e.jsx("div",{className:"event-row__detail",children:f}):null]})]},`${a.type}-${a.ts}-${a.message_id??u}`)})}):e.jsx(O,{icon:yt,title:n})}function Ct(s){return`${s}-${m.useId().replaceAll(":","")}`}function Fe({size:s=28,className:t=""}){const n=Ct("argus-mark");return e.jsxs("svg",{className:t,viewBox:"0 0 512 512",role:"img","aria-label":"Argus",style:{width:s,height:s},children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:n,gradientUnits:"userSpaceOnUse",x1:"66",y1:"0",x2:"440",y2:"0",children:[e.jsx("stop",{offset:"0%",stopColor:"#075fe4"}),e.jsx("stop",{offset:"100%",stopColor:"#d99a16"})]})}),e.jsx("path",{d:"M352 112q0-30 30-30h28q30 0 30 30v320h-88v-52q-46 62-129 62Q66 442 66 266T228 88q80 0 124 56v-32ZM140 266q46-80 102-80t110 80q-54 80-110 80t-102-80Z",fill:`url(#${n})`,fillRule:"evenodd"}),e.jsx("path",{d:"M286 266A42 42 0 1 0 202 266A42 42 0 1 0 286 266ZM274 248A12 12 0 1 0 250 248A12 12 0 1 0 274 248Z",fill:`url(#${n})`,fillRule:"evenodd"})]})}function Qe(s,t){const[n,i]=m.useState(!1),[r,a]=m.useState(""),[u,o]=m.useState("manager"),[c,f]=m.useState([]),[p,k]=m.useState(""),[z,h]=m.useState(null),[g,y]=m.useState(""),b=m.useRef(null);return m.useEffect(()=>()=>{var j;return(j=b.current)==null?void 0:j.abort()},[]),m.useEffect(()=>{var j;(j=b.current)==null||j.abort(),b.current=null,i(!1),a(""),f([]),k(""),h(null),y("")},[s]),{busy:n,phase:r,phaseRole:u,phases:c,output:p,result:z,error:g,run:async(j,A=[])=>{var C;if(!s||!j.trim()||n)return null;(C=b.current)==null||C.abort();const P=new AbortController;b.current=P,i(!0),a("正在连接 Manager"),o("manager"),f([]),k(""),h(null),y("");try{let d=[];A.length&&(a("正在上传附件"),d=(await G.uploadAttachments(s,A,P.signal)).attachments.map($=>({attachment_id:$.attachment_id})));const E=await G.messageStream(s,j.trim(),{onPhase:(M,$)=>{const L=M||"Argus 正在处理",l=$||"manager";a(L),o(l),f(S=>{var q;return((q=S.at(-1))==null?void 0:q.label)===L?S:[...S,{label:L,role:l,at:Date.now()}].slice(-8)})},onDelta:(M,$)=>{k(L=>qe(L,M,$))},onDone:M=>{h(M),M.reply&&k($=>qe($,M.reply??"","snapshot"))}},P.signal,d);return h(E),E.reply&&k(M=>qe(M,E.reply??"","snapshot")),await(t==null?void 0:t()),E}catch(d){return P.signal.aborted||y(d instanceof Error?d.message:String(d)),null}finally{b.current===P&&(b.current=null,i(!1),a(""))}},cancel:()=>{var j;(j=b.current)==null||j.abort(),b.current=null,i(!1),a("")},clear:()=>{k(""),h(null),y("")}}}function K(){const{locale:s}=Ns(),t=m.useCallback((n,i)=>s==="zh-CN"?n:i,[s]);return{locale:s,text:t}}const Pt=[["总结当前研究进展、最强证据和最大风险","Summarize current progress, strongest evidence, and biggest risk"],["Reviewer 最近要求补充什么?","What did the Reviewer most recently request?"],["下一步最小且最有信息量的实验是什么?","What is the smallest, most informative next experiment?"]];function Tt({events:s,roles:t,connected:n}){const{text:i}=K(),r=m.useMemo(()=>s.filter(h=>{const g=String(h.type??"");return!["ui.operator","ui.argus"].includes(g)&&String(h.kind??"")!=="reasoning"&&!g.startsWith("provider.")}).slice(-100).reverse(),[s]),[a,u]=m.useState("all"),[o,c]=m.useState(""),f=["manager","planner","engineer","reviewer"],p=r.filter(h=>{const g=String(h.kind??""),y=re(h,800);return a==="commands"?g==="command_execution":a==="files"?g==="file_change"||/^(read|write|edit):/i.test(y):a==="review"?de(h)==="reviewer"||/review/i.test(String(h.type??"")):!0}),k=r[0],z=h=>String(h.kind??"")==="command_execution"?Ts:de(h)==="reviewer"?ie:/^(read|write|edit):/i.test(re(h,120))?zs:zt;return e.jsxs("div",{className:"copilot-trace copilot-trace-v2",children:[e.jsxs("div",{className:"copilot-trace__header",children:[e.jsxs("div",{children:[e.jsx("span",{children:"ARGUS TEAM"}),e.jsx("strong",{children:i("谁正在做什么","Who is doing what")})]}),e.jsx(_,{tone:n?"live":"warn",dot:!0,children:n?"Live":"Polling"})]}),e.jsx("div",{className:"team-pipeline",children:f.map((h,g)=>{const y=t.find(w=>w.role===h),b=r.filter(w=>de(w)===h).length;return e.jsxs("div",{className:y!=null&&y.active?"is-active":(y==null?void 0:y.status)==="done"?"is-done":"",children:[e.jsx("span",{className:`role-orb role-orb--${h}`})," ",e.jsx("strong",{children:h}),e.jsxs("small",{children:[y!=null&&y.active?y.label:(y==null?void 0:y.status)||"waiting"," · ",b]}),ge.jsx("button",{type:"button",className:a===h?"is-active":"",onClick:()=>u(h),children:g},h))]}),e.jsxs("div",{className:"visual-activity-timeline",children:[p.slice(0,40).map((h,g)=>{const y=z(h),b=`${h.ts}-${g}`,w=o===b;return e.jsxs("button",{type:"button",className:w?"is-open":"",onClick:()=>c(w?"":b),children:[e.jsx("span",{className:`activity-icon activity-icon--${de(h)}`,children:e.jsx(y,{size:13})}),e.jsxs("div",{children:[e.jsxs("div",{children:[e.jsx("strong",{children:ue(h)}),e.jsx("time",{children:xe(h.ts)})]}),e.jsx("p",{children:re(h,w?1500:120)||String(h.type??"")}),w?e.jsx("code",{children:JSON.stringify(h,null,2)}):null]})]},b)}),p.length?null:e.jsx("p",{className:"activity-empty",children:i("当前筛选下没有事件","No events match this filter")})]})]})}function It({draft:s,busy:t,result:n,error:i,onOptimize:r,onApply:a,onClose:u}){const{text:o}=K(),c=m.useRef(null),f=m.useRef(u);return f.current=u,m.useEffect(()=>{const p=document.activeElement,k=requestAnimationFrame(()=>{var h,g;return(g=(h=c.current)==null?void 0:h.querySelector("button, textarea, input"))==null?void 0:g.focus()}),z=h=>{if(h.key==="Escape"){h.preventDefault(),f.current();return}if(h.key!=="Tab"||!c.current)return;const g=[...c.current.querySelectorAll('button:not(:disabled), textarea:not(:disabled), input:not(:disabled), [tabindex]:not([tabindex="-1"])')];if(!g.length)return;const y=g[0],b=g.at(-1);h.shiftKey&&document.activeElement===y?(h.preventDefault(),b.focus()):!h.shiftKey&&document.activeElement===b&&(h.preventDefault(),y.focus())};return window.addEventListener("keydown",z),()=>{cancelAnimationFrame(k),window.removeEventListener("keydown",z),requestAnimationFrame(()=>p==null?void 0:p.focus())}},[]),e.jsx("div",{className:"modal-backdrop",role:"presentation",onMouseDown:p=>p.target===p.currentTarget&&u(),children:e.jsxs("section",{ref:c,className:"prompt-optimizer",role:"dialog","aria-modal":"true","aria-label":o("优化 Prompt","Optimize prompt"),children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"PROMPT OPTIMIZER"}),e.jsx("h2",{children:o("发送前优化 Prompt","Optimize before sending")}),e.jsx("p",{children:o("Manager 只重写和补全约束,不会在这一步创建任务。","The Manager only rewrites and completes constraints; it does not create a task here.")})]}),e.jsx("button",{className:"icon-button",type:"button",onClick:u,"aria-label":o("关闭","Close"),children:e.jsx(je,{size:16})})]}),e.jsxs("div",{className:"prompt-optimizer__compare",children:[e.jsxs("div",{children:[e.jsx("label",{children:o("原始 Prompt","Original prompt")}),e.jsx("pre",{children:s})]}),e.jsxs("div",{children:[e.jsx("label",{children:o("优化结果","Optimized prompt")}),t?e.jsxs("div",{className:"optimizer-thinking",children:[e.jsx(pe,{size:18})," ",o("Manager 正在理解目标与约束…","Manager is interpreting the goal and constraints…")]}):n!=null&&n.rewritten?e.jsx("pre",{children:n.rewritten}):e.jsx(O,{icon:Ne,title:o("等待优化","Ready to optimize"),description:o("点击下方按钮生成可执行但不擅自扩张范围的 Prompt。","Generate an actionable prompt without expanding its scope.")})]})]}),n!=null&&n.changes.length?e.jsxs("div",{className:"optimizer-changes",children:[e.jsx("strong",{children:o("主要改动","Main changes")}),n.changes.map(p=>e.jsxs("span",{children:[e.jsx(ne,{size:12}),p]},p))]}):null,n!=null&&n.questions.length?e.jsxs("div",{className:"optimizer-questions",children:[e.jsx("strong",{children:o("发送前仍需确认","Confirm before sending")}),n.questions.map(p=>e.jsxs("p",{children:["· ",p]},p))]}):null,i?e.jsx("div",{className:"inline-error",children:i}):null,e.jsxs("footer",{children:[e.jsx("button",{className:"button button--secondary",type:"button",onClick:u,children:o("保留原文","Keep original")}),n!=null&&n.rewritten?e.jsx("button",{className:"button button--primary",type:"button",onClick:()=>a(n.rewritten),children:o("使用优化结果","Use optimized prompt")}):e.jsxs("button",{className:"button button--primary",type:"button",disabled:t||!s.trim(),onClick:r,children:[e.jsx(Ne,{size:14}),o("开始优化","Optimize")]})]})]})})}function $t(s){var A,P,C,d;const{text:t}=K(),[n,i]=m.useState(""),[r,a]=m.useState([]),[u,o]=m.useState(!1),[c,f]=m.useState(!1),[p,k]=m.useState(null),[z,h]=m.useState(""),g=m.useRef(null),y=m.useRef(null),b=Qe(s.sid,s.refresh),w=s.snapshot.pending_questions??((A=s.status)==null?void 0:A.pending_questions)??[];m.useEffect(()=>{const E=requestAnimationFrame(()=>{y.current&&(y.current.scrollTop=y.current.scrollHeight)});return()=>cancelAnimationFrame(E)},[b.output,b.phase,s.transcript.length]);const T=async(E=n)=>{const M=E.trim();if(!M||b.busy)return;const $=r;i(""),a([]),k(null),await b.run(M,$)},j=async()=>{if(n.trim()){f(!0),h(""),k(null);try{k(await G.rewritePrompt(s.sid,n))}catch(E){h(E instanceof Error?E.message:String(E))}finally{f(!1)}}};return e.jsxs("div",{className:"ros-page copilot-v2",children:[e.jsxs("header",{className:"ros-page-header",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"RESEARCH COPILOT"}),e.jsx("h1",{children:t("与 Argus 对话","Chat with Argus")}),e.jsx("p",{children:t("普通问题由 Manager 回答;复杂研究目标会进入 Planner → Engineer ⇄ Reviewer。","The Manager answers ordinary questions; complex goals enter Planner → Engineer ⇄ Reviewer.")})]}),e.jsx(_,{tone:s.connected?"live":"warn",dot:!0,children:s.connected?t("实时连接","Live"):t("重新连接中","Reconnecting")})]}),w.length?e.jsxs("div",{className:"pending-question-banner",children:[e.jsx(pe,{size:16}),e.jsxs("div",{children:[e.jsx("strong",{children:t("Argus 正在等待你的确认","Argus is waiting for your confirmation")}),e.jsx("p",{children:String(((P=w[0])==null?void 0:P.question)||((C=w[0])==null?void 0:C.title)||t("请查看待确认问题","Review the pending question"))})]}),e.jsx("button",{className:"button button--secondary",type:"button",onClick:()=>{var E,M;return i(t(`关于待确认问题:${String(((E=w[0])==null?void 0:E.question)||"")} -我的回答是:`,`Regarding the pending question: ${String(((M=w[0])==null?void 0:M.question)||"")} -My answer is: `))},children:t("回复","Reply")})]}):null,e.jsxs("div",{className:"copilot-v2__layout",children:[e.jsxs("main",{className:"copilot-v2__thread",children:[e.jsxs("div",{ref:y,className:"copilot-v2__messages",children:[s.transcript.length?null:e.jsxs("div",{className:"copilot-empty",children:[e.jsx(Fe,{size:48}),e.jsx("h2",{children:t("从当前项目上下文开始","Start from the current project context")}),e.jsx("p",{children:t("Argus 已经知道任务、代码、Reviewer 反馈和现有证据。","Argus already knows the task, code, reviewer feedback, and available evidence.")}),e.jsx("div",{children:Pt.map(([E,M])=>{const $=t(E,M);return e.jsx("button",{type:"button",onClick:()=>i($),children:$},$)})})]}),s.transcript.map((E,M)=>E.role==="operator"?e.jsxs("article",{className:"message message--user",children:[e.jsxs("div",{children:[e.jsx("span",{children:t("你","You")}),e.jsx("time",{children:xe(E.ts)})]}),e.jsx(ae,{children:E.text})]},`${E.ts}-${M}`):e.jsxs("article",{className:"message message--argus",children:[e.jsx(Fe,{size:28}),e.jsxs("div",{children:[e.jsxs("header",{children:[e.jsx("strong",{children:"Argus"}),e.jsx("time",{children:xe(E.ts)})]}),e.jsx(ae,{children:E.text})]})]},`${E.ts}-${M}`)),b.busy||b.output||b.error?e.jsxs("article",{className:"message message--argus message--stream",children:[e.jsx(Fe,{size:28}),e.jsxs("div",{children:[e.jsxs("header",{children:[e.jsx("strong",{children:"Argus"}),b.busy?e.jsx(_,{tone:"live",dot:!0,children:b.phase||t("思考中","Thinking")}):(d=b.result)!=null&&d.kind?e.jsx(_,{tone:"info",children:b.result.kind}):null]}),b.phases.length?e.jsx("ol",{className:"phase-trail",children:b.phases.map((E,M)=>e.jsxs("li",{className:M===b.phases.length-1&&b.busy?"is-active":"",children:[e.jsx("span",{children:M===b.phases.length-1&&b.busy?"●":"✓"}),E.label]},`${E.at}-${M}`))}):null,b.output?e.jsx(ae,{children:b.output}):null,b.error?e.jsx("div",{className:"inline-error",children:b.error}):null]})]}):null]}),e.jsxs("div",{className:"copilot-composer-dock",children:[r.length?e.jsx("div",{className:"attachment-chips",children:r.map((E,M)=>e.jsxs("span",{children:[e.jsx(tt,{size:13}),E.name,e.jsx("button",{type:"button",onClick:()=>a($=>$.filter((L,l)=>l!==M)),children:e.jsx(je,{size:12})})]},`${E.name}-${M}`))}):null,e.jsxs("div",{className:"copilot-composer",children:[e.jsx("input",{ref:g,type:"file",multiple:!0,hidden:!0,onChange:E=>a(Array.from(E.target.files??[]))}),e.jsx("button",{className:"composer-tool",type:"button",onClick:()=>{var E;return(E=g.current)==null?void 0:E.click()},"aria-label":t("添加附件","Attach files"),children:e.jsx(mt,{size:17})}),e.jsx("textarea",{rows:1,value:n,onChange:E=>i(E.target.value),onKeyDown:E=>{E.key==="Enter"&&!E.shiftKey&&(E.preventDefault(),T())},placeholder:t("询问研究问题,或给 Argus 一个需要执行的目标…","Ask a research question or give Argus an executable goal…")}),e.jsxs("button",{className:"optimize-button",type:"button",disabled:!n.trim()||b.busy,onClick:()=>{o(!0),k(null)},title:"Ctrl/⌘ + R",children:[e.jsx(Ne,{size:15}),t("优化 Prompt","Optimize prompt")]}),b.busy?e.jsx("button",{className:"send-button is-stop",type:"button",onClick:b.cancel,"aria-label":t("停止等待","Stop waiting"),children:e.jsx(Is,{size:14})}):e.jsx("button",{className:"send-button",type:"button",disabled:!n.trim(),onClick:()=>void T(),"aria-label":t("发送","Send"),children:e.jsx(Js,{size:17})})]}),e.jsx("small",{children:t("Enter 发送 · Shift + Enter 换行 · 优化 Prompt 不会直接执行","Enter to send · Shift + Enter for a new line · Prompt optimization does not execute")})]})]}),e.jsx("aside",{className:"copilot-v2__aside",children:e.jsx(Tt,{events:s.events,roles:s.snapshot.roles,connected:s.connected})})]}),u?e.jsx(It,{draft:n,busy:c,result:p,error:z,onOptimize:()=>void j(),onApply:E=>{i(E),o(!1)},onClose:()=>o(!1)}):null]})}const xs=new Set(["done","completed","accepted","success"]),Ke=new Set(["running","in_progress","claimed","active","working"]);function qt(s){if(!s.length)return null;const t=[...s].sort((i,r)=>i-r),n=Math.floor(t.length/2);return t.length%2?t[n]:(t[n-1]+t[n])/2}function Ft(s){return[...s].reverse().find(t=>{const n=String(t.kind??""),i=String(t.type??"");return n!=="reasoning"&&!i.startsWith("provider.")&&!["ui.operator","ui.argus"].includes(i)})??null}function Dt(s){return s.backlog.find(t=>Ke.has(t.status))??s.backlog.find(t=>t.status==="pending")??s.backlog.at(-1)??null}function Lt(s,t,n=Date.now()/1e3,i="zh-CN"){var oe,x,U,Se,Ze,Ye,es;const r=(R,Ee)=>i==="zh-CN"?R:Ee,a=s.mission_view,u=(oe=a==null?void 0:a.dag)!=null&&oe.length?a.dag:s.backlog,o=u.length,c=u.filter(R=>xs.has(R.status)).length,f=u.filter(R=>/pending|queued|waiting/.test(R.status)).length,p=Dt(s),k=(a==null?void 0:a.active_role)||((x=s.roles.find(R=>R.active))==null?void 0:x.role)||"",z=(p==null?void 0:p.started_ts)||(a==null?void 0:a.mission.started_at)||s.daemon.uptime_seconds&&n-s.daemon.uptime_seconds||n,h=t.filter(R=>Number(R.ts??0)>=Number(z||0)),g=Ft(h),y=String((a==null?void 0:a.mission.status)??"").toLowerCase(),b=["complete","completed","done"].includes(y),w=["incomplete","failed","blocked","aborted","stopped","cancelled"].includes(y),T=b||!w&&!!(o&&c===o),j=!s.daemon.alive,A=(p==null?void 0:p.finished_ts)||(a==null?void 0:a.mission.completed_at)||(j?Number((g==null?void 0:g.ts)??z):null),P=Math.max(0,Number(A??n)-Number(z||n)),C=!!(p&&Ke.has(p.status)&&s.daemon.alive),d=h.filter(R=>String(R.kind??"")==="command_execution").length,E=h.filter(R=>/^(read|write|edit):/i.test(re(R,80))||String(R.kind??"")==="file_change").length,M=!!((U=a==null?void 0:a.role_work)!=null&&U.some(R=>R.role==="engineer"&&/handoff|main completed/i.test(`${R.kind} ${R.title}`)&&R.ts>=Number(z||0))),$=h.some(R=>/review.*started/i.test(String(R.type??""))),L=h.some(R=>/review.*completed/i.test(String(R.type??""))),l=!!(p&&/failed|blocked|error/.test(p.status)),S=!!((Se=a==null?void 0:a.review)!=null&&Se.status&&/replan|blocked|rejected|continue/.test(a.review.status));let q=0;p&&xs.has(p.status)?q=1:p&&Ke.has(p.status)&&s.daemon.alive&&(q=.14,(d||E)&&(q=Math.min(.58,.27+Math.log2(1+d+E)*.055)),M&&(q=.7),($||k==="reviewer")&&(q=.8),L&&(q=.93));const D=T?1:w&&o&&c===o?.95:o?c/o:0,Y=p&&u.some(R=>R.id===p.id)&&C&&!S,v=T?1:S?D:o?Math.min(1,(c+(Y?q:0))/o):null,I=o?Math.max(.05,Math.min(.18,.45/o)):0,W=T?[1,1]:S?[D,D]:v==null?null:[Math.max(D,v-I*.45),Math.min(.99,Math.max(v,v+I))],J=s.backlog.map(R=>R.started_ts&&R.finished_ts?R.finished_ts-R.started_ts:0).filter(R=>R>=5&&R<=7*86400),ee=qt(J);let ce=null,F="";if(T)F=r("项目已完成,ETA 不适用","Project complete; ETA does not apply");else if(j)F=r("Daemon 已停止,ETA 暂停更新","Daemon stopped; ETA updates are paused");else if(!C)F=r("当前没有执行中的任务,ETA 暂不可用","No active task; ETA is unavailable");else if(S)F=r("Reviewer 正在改变任务范围,ETA 暂不可用","Reviewer is changing scope; ETA is unavailable");else if(!ee)F=r("同类已完成任务不足,正在建立 ETA 基线","Not enough completed tasks to establish an ETA baseline");else if(!o||v==null)F=r("任务图尚未稳定,暂不估算 ETA","Task graph is not stable enough for an ETA");else{const Ee=Math.max(0,o-c-(Y?q:0))*ee;ce={minSeconds:Math.max(60,Ee*.68),maxSeconds:Math.max(180,Ee*(J.length>=3?1.45:1.75)),basis:r(`${J.length} 个已完成任务的中位耗时`,`Median duration of ${J.length} completed tasks`)}}const V=o>=4&&J.length>=3?"high":o>=2&&J.length>=1?"medium":"low",me=((Ze=s.roles.find(R=>R.role==="planner"))==null?void 0:Ze.status)==="done"||!!p;let Q=[{id:"plan",label:r("规划任务","Plan task"),detail:me?r("Planner 已形成当前任务","Planner created the current task"):r("等待 Planner","Waiting for Planner"),status:me?"done":k==="planner"?"active":"pending"},{id:"start",label:r("启动执行","Start execution"),detail:p!=null&&p.started_ts?r("任务已领取并启动","Task claimed and started"):r("等待执行","Waiting to execute"),status:p!=null&&p.started_ts?"done":(p==null?void 0:p.status)==="pending"?"pending":l?"blocked":"active"},{id:"work",label:r("运行与产物","Execution and artifacts"),detail:r(`${d} 条命令 · ${E} 次文件动作`,`${d} commands · ${E} file actions`),status:M?"done":d||E?"active":l?"blocked":"pending"},{id:"handoff",label:r("Engineer 交接","Engineer handoff"),detail:M?r("已提交 Reviewer","Submitted to Reviewer"):r("等待可审查产物","Waiting for reviewable artifacts"),status:M||k==="reviewer"?"done":"pending"},{id:"review",label:r("Reviewer 认证","Reviewer certification"),detail:L?r("本轮审查已完成","Round review complete"):$||k==="reviewer"?r("Reviewer 正在检查","Reviewer is checking"):r("等待审查","Waiting for review"),status:L?"done":$||k==="reviewer"?"active":l?"blocked":"pending"}];return T?Q=Q.map(R=>({...R,status:"done",detail:R.status==="done"?R.detail:r("项目已完成","Project complete")})):S?Q=Q.map(R=>R.status==="done"?R:{...R,status:"blocked",detail:r("等待 Reviewer 重新规划任务范围","Waiting for Reviewer to replan scope")}):j&&(Q=Q.map(R=>R.status==="active"?{...R,status:"blocked",detail:r("Daemon 已停止","Daemon stopped")}:R)),{confirmed:D,estimate:v,range:W,confidence:V,basis:S?r("Reviewer 正在重新规划,仅显示确定完成部分","Reviewer is replanning; only confirmed completion is shown"):o?r("任务状态 + 事件里程碑(试验估算)","Task state + event milestones (experimental estimate)"):r("任务图尚未建立","Task graph not established"),currentTask:(p==null?void 0:p.title)||(a==null?void 0:a.mission.title)||r("等待新任务","Waiting for a new task"),currentRole:j?"stopped":k||de(g??{})||"idle",currentStep:T?r("项目已完成","Project complete"):S?r(`Reviewer 要求重新规划 · ${((Ye=a==null?void 0:a.review)==null?void 0:Ye.status)||"replan"}`,`Reviewer requested replanning · ${((es=a==null?void 0:a.review)==null?void 0:es.status)||"replan"}`):j?r(`已停止 · 最后执行到 ${g?ue(g):(p==null?void 0:p.status)||"未知步骤"}`,`Stopped · last step: ${g?ue(g):(p==null?void 0:p.status)||"unknown"}`):g?ue(g):(p==null?void 0:p.status)||r("等待事件","Waiting for events"),currentDetail:g?re(g,700):(p==null?void 0:p.objective)||"",elapsedSeconds:P,eta:ce,etaUnavailableReason:F,checkpoints:Q,completedTasks:c,totalTasks:o,pendingTasks:f,currentFraction:S?0:q}}const ms=new Set(["done","completed","accepted","success"]),js=new Set(["running","in_progress","claimed","active","working"]),Ot=["manager","planner","engineer","reviewer"],gs=[["scope","研究定义","Scope"],["research","文献与假设","Literature"],["implementation","方法实现","Implementation"],["experiment","实验验证","Experiments"],["analysis","结果分析","Analysis"],["writing","论文写作","Writing"],["review","最终审稿","Final review"]];function Ut(s){const t=s.toLowerCase();return/review|delivery/.test(t)?6:/writ|draft|paper/.test(t)?5:/analy|select/.test(t)?4:/experiment|pilot|run|eval/.test(t)?3:/implement|build|engineer/.test(t)?2:/research|literature|idea/.test(t)?1:0}function Wt(s){return s==null?"—":`${Math.round(s*100)}%`}function Vt(s,t,n,i){const r=a=>new Date((s+a)*1e3).toLocaleTimeString(i,{hour:"2-digit",minute:"2-digit",hour12:!1});return`${r(t)}–${r(n)}`}function Ht(s){var P,C,d,E,M,$,L;const{locale:t,text:n}=K(),[i,r]=m.useState(()=>Date.now()/1e3),[a,u]=m.useState("");m.useEffect(()=>{const l=window.setInterval(()=>r(Date.now()/1e3),1e3);return()=>clearInterval(l)},[]);const o=m.useMemo(()=>Lt(s.snapshot,s.events,i,t),[t,i,s.events,s.snapshot]),c=s.snapshot.mission_view,f=(P=c==null?void 0:c.dag)!=null&&P.length?c.dag:s.snapshot.backlog.map(l=>({id:l.id,title:l.title,objective:l.objective,status:l.status,deps:l.deps??[],branch_id:l.id,parent_branch_id:""})),p=f.find(l=>js.has(l.status))??f.find(l=>/pending|queued/.test(l.status))??f.at(-1),k=f.find(l=>l.id===a)??p,z=Ut((c==null?void 0:c.stage.id)||(c==null?void 0:c.stage.label)||"scope"),h=Math.round(o.confirmed*100),g=Math.round((((C=o.range)==null?void 0:C[0])??o.confirmed)*100),y=Math.round((((d=o.range)==null?void 0:d[1])??o.confirmed)*100),b=Math.round((o.estimate??o.confirmed)*100),w=((E=s.snapshot.daemon.health)==null?void 0:E.state)||(s.snapshot.daemon.alive?"active":"stopped"),T=(M=c==null?void 0:c.review)!=null&&M.status&&!ms.has(c.review.status)?c.review:null,j=s.events.filter(l=>String(l.kind??"")!=="reasoning"&&!String(l.type??"").startsWith("provider.")),A=async l=>{const S=l?n("确认完成当前步骤后停止 Argus?","Stop Argus after the current step finishes?"):n("确认立即停止 Argus?当前步骤可能被中断。","Stop Argus now? The current step may be interrupted.");confirm(S)&&await s.controls.stop(l)};return e.jsxs("div",{className:"ros-page experiment-v3",children:[e.jsxs("header",{className:"ros-page-header",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"EXPERIMENT PROGRESS"}),e.jsx("h1",{children:n("实验进程","Experiment progress")}),e.jsx("p",{children:n("重点展示当前步骤、可信完成区间和 ETA;所有估算都会标明依据与置信度。","Track the current step, credible completion range, and ETA with explicit evidence and confidence.")})]}),e.jsxs("div",{className:"experiment-header-actions",children:[e.jsxs("button",{className:"button button--secondary",type:"button",onClick:()=>void s.refresh(),children:[e.jsx(Re,{size:14}),n("刷新","Refresh")]}),s.snapshot.daemon.control_available!==!1?s.snapshot.daemon.alive?e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"button button--secondary",type:"button",disabled:s.controls.busy,onClick:()=>void A(!0),children:[e.jsx(jt,{size:14}),n("当前步后停止","Stop after step")]}),e.jsxs("button",{className:"button button--danger",type:"button",disabled:s.controls.busy,onClick:()=>void A(!1),children:[e.jsx(Is,{size:13}),n("立即停止","Stop now")]})]}):e.jsxs("button",{className:"button button--primary",type:"button",disabled:s.controls.busy,onClick:()=>void s.controls.start(),children:[e.jsx(gt,{size:14}),n("继续运行","Resume")]}):null]})]}),e.jsxs("section",{className:"experiment-progress-hero",children:[e.jsxs("div",{className:"progress-hero-main",children:[e.jsxs("div",{className:"progress-live-line",children:[e.jsx(_,{tone:s.snapshot.daemon.alive?"live":"neutral",dot:!0,children:s.snapshot.daemon.alive?"ARGUS RUNNING":"ARGUS STOPPED"}),e.jsx("span",{children:(c==null?void 0:c.stage.label)||(c==null?void 0:c.stage.id)||n("未分阶段","Unstaged")}),e.jsx("span",{children:o.currentRole})]}),e.jsx("h2",{children:o.currentTask}),e.jsxs("div",{className:"current-step-callout",children:[e.jsx("span",{children:e.jsx(Me,{size:17})}),e.jsxs("div",{children:[e.jsx("small",{children:s.snapshot.daemon.alive?n("当前正在进行","In progress"):n("最后执行位置","Last execution point")}),e.jsx("strong",{children:o.currentStep}),o.currentDetail?e.jsx("code",{children:o.currentDetail}):null]})]})]}),e.jsxs("div",{className:"progress-number",children:[e.jsx("span",{children:n("试验估算","Experimental estimate")}),e.jsx("strong",{children:Wt(o.estimate)}),e.jsxs("small",{children:[n("可信区间","Credible range")," ",g,"–",y,"%"]})]}),e.jsxs("div",{className:"truthful-progress","aria-label":n(`预计完成 ${b}%`,`Estimated completion ${b}%`),children:[e.jsxs("div",{className:"truthful-progress__track",children:[e.jsx("span",{className:"confirmed",style:{width:`${h}%`}}),e.jsx("span",{className:"estimated-range",style:{left:`${g}%`,width:`${Math.max(1,y-g)}%`}}),e.jsx("i",{style:{left:`${b}%`}})]}),e.jsxs("div",{className:"truthful-progress__legend",children:[e.jsxs("span",{children:[e.jsx("b",{className:"confirmed-dot"}),n("确定完成","Confirmed")," ",h,"%"]}),e.jsxs("span",{children:[e.jsx("b",{className:"range-dot"}),n("估计范围","Estimated range")," ",g,"–",y,"%"]}),e.jsx("span",{children:o.basis})]})]}),e.jsxs("div",{className:"progress-metrics",children:[e.jsxs("div",{children:[e.jsxs("span",{children:[e.jsx(Ys,{size:15}),n("当前任务已运行","Current task elapsed")]}),e.jsx("strong",{children:ke(o.elapsedSeconds)}),e.jsx("small",{children:n("从任务领取开始","Since task claim")})]}),e.jsxs("div",{children:[e.jsxs("span",{children:[e.jsx($s,{size:15}),n("预计剩余","Estimated remaining")]}),e.jsx("strong",{children:o.eta?`${ke(o.eta.minSeconds)}–${ke(o.eta.maxSeconds)}`:n("暂不可用","Unavailable")}),e.jsx("small",{children:o.eta?Vt(i,o.eta.minSeconds,o.eta.maxSeconds,t):o.etaUnavailableReason})]}),e.jsxs("div",{children:[e.jsxs("span",{children:[e.jsx(lt,{size:15}),n("估算置信度","Estimate confidence")]}),e.jsx("strong",{className:`confidence-${o.confidence}`,children:o.confidence==="high"?n("高","High"):o.confidence==="medium"?n("中","Medium"):n("低","Low")}),e.jsx("small",{children:(($=o.eta)==null?void 0:$.basis)||n("需要更多历史任务","More task history is needed")})]}),e.jsxs("div",{children:[e.jsxs("span",{children:[e.jsx(os,{size:15}),n("任务路线","Task route")]}),e.jsxs("strong",{children:[o.completedTasks," / ",o.totalTasks||"—"]}),e.jsxs("small",{children:[o.pendingTasks," pending · ",n("当前步骤","current step")," ",Math.round(o.currentFraction*100),"%"]})]})]})]}),e.jsx("section",{className:"research-stage-rail",children:gs.map(([l,S,q],D)=>e.jsxs("div",{className:De.jsxs("button",{type:"button",className:(k==null?void 0:k.id)===l.id?"is-active":"",onClick:()=>u(l.id),children:[e.jsx("span",{className:`task-state task-state--${le(l.status)}`,children:ms.has(l.status)?e.jsx(ne,{size:12}):js.has(l.status)?e.jsx(Me,{size:12}):e.jsx(Zs,{size:9})}),e.jsxs("div",{children:[e.jsx("strong",{children:l.title||l.objective||l.id}),e.jsxs("small",{children:[l.status,l.deps.length?` · after ${l.deps.length}`:""]})]})]},l.id)):e.jsx(O,{icon:os,title:n("尚无任务路线","No task route yet")})})]}),e.jsxs("main",{className:"experiment-v3-center",children:[e.jsxs("section",{className:"ros-card checkpoint-card",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"CURRENT CHECKPOINTS"}),e.jsx("h2",{children:n("当前任务走到哪一步","Current task checkpoints")})]}),e.jsxs(_,{tone:"info",children:[Math.round(o.currentFraction*100),"%"]})]}),e.jsx("div",{className:"checkpoint-list",children:o.checkpoints.map((l,S)=>e.jsxs("div",{className:`checkpoint checkpoint--${l.status}`,children:[e.jsx("span",{children:l.status==="done"?e.jsx(ne,{size:13}):l.status==="active"?e.jsx(Me,{size:13}):l.status==="blocked"?e.jsx(_e,{size:13}):S+1}),e.jsxs("div",{children:[e.jsx("strong",{children:l.label}),e.jsx("p",{children:l.detail})]}),S{const S=s.snapshot.roles.find(q=>q.role===l);return e.jsxs("article",{className:S!=null&&S.active?"is-active":"",children:[e.jsx("span",{className:`role-dot role-dot--${l}`}),e.jsxs("div",{children:[e.jsx("strong",{children:l}),e.jsx("p",{children:(S==null?void 0:S.label)||"waiting"}),e.jsxs("small",{children:[(S==null?void 0:S.model)||"—"," · ",(S==null?void 0:S.status)||"idle"]})]}),S!=null&&S.active?e.jsx(_,{tone:"live",dot:!0,children:"active"}):e.jsx(_,{tone:le(S==null?void 0:S.status),children:(S==null?void 0:S.status)||"idle"})]},l)})})]}),e.jsxs("section",{className:"ros-card estimate-note",children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:"ESTIMATE HEALTH"}),e.jsx("h2",{children:n("估算与风险","Estimate and risk")})]})}),e.jsxs("div",{children:[e.jsxs("p",{children:[e.jsx("strong",{children:n("估算说明","Estimate note")}),n("当前百分比是任务状态与事件里程碑的试验估算,不是 Argus 后端声明的精确进度。","The percentage is an experimental estimate derived from task state and event milestones, not an exact backend claim.")]}),T?e.jsxs("div",{className:"estimate-risk",children:[e.jsx(_e,{size:15}),e.jsxs("span",{children:[e.jsxs("strong",{children:["Reviewer · ",T.status]}),T.reason||n("任务范围可能变化,ETA 已暂停。","Scope may change, so ETA is paused.")]})]}):e.jsxs("div",{className:"estimate-ok",children:[e.jsx(ie,{size:15}),e.jsxs("span",{children:[e.jsx("strong",{children:n("当前估算可用","Estimate available")}),w," · ",n("最近进度","last progress")," ",ke((L=s.snapshot.daemon.health)==null?void 0:L.seconds_since_progress)]})]}),s.controls.error?e.jsx("div",{className:"inline-error",children:s.controls.error}):null]})]})]})]})]})}async function be(s,t,n){const i=new URLSearchParams(t),r=await fetch(`${s}?${i}`,{headers:fe(),signal:n,cache:"no-store"});if(!r.ok){const a=await r.json().catch(()=>({}));throw new Error(a.detail||a.error||`${s} failed (${r.status})`)}return r.json()}const ve=(s,t)=>({sid:s,workspace_id:t}),te={profiles:(s,t)=>be("/api/v2/workspaces",{sid:s},t),tree:(s,t,n)=>be("/api/v2/workspace/tree",ve(s,t),n),file:(s,t,n,i)=>be("/api/v2/workspace/file",{...ve(s,t),path:n},i),git:(s,t,n)=>be("/api/v2/workspace/git",ve(s,t),n),literature:(s,t,n)=>be("/api/v2/workspace/literature",ve(s,t),n),rawUrl:(s,t,n)=>`/api/v2/workspace/raw?${new URLSearchParams({...ve(s,t),path:n})}`,rawBlob:async(s,t,n,i)=>{const r=await fetch(`/api/v2/workspace/raw?${new URLSearchParams({...ve(s,t),path:n})}`,{headers:fe(),signal:i,cache:"no-store"});if(!r.ok){const a=await r.json().catch(()=>({}));throw new Error(a.detail||`raw preview failed (${r.status})`)}return r.blob()}};function Bt(s){const t=new Set([".tex",".bib",".pdf"]),n=new Set([".png",".jpg",".jpeg",".webp",".svg",".csv",".tsv"]);return s.filter(i=>i.type==="file").filter(i=>{const r=i.path.toLowerCase(),a=/(?:^|\/)(paper|papers|manuscript|latex|technical_report|submission|camera_ready|figures|tables)(?:\/|$)/.test(r);return t.has(i.extension)?a||i.extension===".tex"||i.extension===".bib":i.extension===".md"?/(?:^|\/)(evidence|runs?|logs?|cache)(?:\/|$)/.test(r)?!1:a&&/draft|paper|report|manuscript|section|related|abstract|method|experiment|conclusion|template/.test(r):a&&n.has(i.extension)}).sort((i,r)=>r.mtime-i.mtime)}function Gt(s){const t=new Map;s.forEach(r=>t.set(r.path,{...r,children:[]}));const n=[];t.forEach(r=>{const a=r.path.lastIndexOf("/"),u=a>=0?r.path.slice(0,a):"",o=u?t.get(u):null;o?o.children.push(r):n.push(r)});const i=r=>{r.sort((a,u)=>a.type!==u.type?a.type==="directory"?-1:1:a.name.localeCompare(u.name)),r.forEach(a=>i(a.children))};return i(n),n}function Fs(s,t,n){const[i,r]=m.useState(""),[a,u]=m.useState("");return m.useEffect(()=>{if(r(""),u(""),!s||!t||!n)return;const o=new AbortController;let c="";return te.rawBlob(s,t,n,o.signal).then(f=>{c=URL.createObjectURL(f),r(c)},f=>{o.signal.aborted||u(f.message)}),()=>{o.abort(),c&&URL.revokeObjectURL(c)}},[n,s,t]),{url:i,error:a}}function Te(s,t){const n=B({queryKey:["workspace-profiles",s],queryFn:({signal:c})=>te.profiles(s,c),staleTime:1e4}),i=`argus-v2-workspace-profile:${t}:${s}`,[r,a]=m.useState(()=>localStorage.getItem(i)||""),u=m.useMemo(()=>{var f;const c=((f=n.data)==null?void 0:f.profiles)??[];return c.find(p=>p.id===r)??c.find(p=>{var k;return p.id===((k=n.data)==null?void 0:k.default_id)})??c.find(p=>p.canonical)??c[0]??null},[n.data,r]);m.useEffect(()=>{u&&u.id!==r&&a(u.id)},[u,r]);const o=c=>{a(c),localStorage.setItem(i,c)};return{profiles:n,active:u,workspaceId:(u==null?void 0:u.id)??"",setWorkspaceId:o}}function Ds({node:s,depth:t,selected:n,expanded:i,onToggle:r,onSelect:a}){const u=s.type==="directory",o=i.has(s.path);return e.jsxs("div",{className:"workspace-node",children:[e.jsxs("button",{type:"button",className:n===s.path?"is-selected":"",style:{paddingLeft:7+t*13},onClick:()=>u?r(s.path):a(s.path),children:[u?o?e.jsx(Es,{size:13}):e.jsx(Ce,{size:13}):e.jsx("span",{className:"node-spacer"}),u?e.jsx(ct,{size:14}):e.jsx(zs,{size:14}),e.jsx("span",{children:s.name}),s.skipped?e.jsx("small",{children:"restricted"}):null]}),u&&o?s.children.map(c=>e.jsx(Ds,{node:c,depth:t+1,selected:n,expanded:i,onToggle:r,onSelect:a},c.path)):null]})}function Kt({sid:s,workspaceId:t,path:n}){var f,p;const{text:i}=K(),r=n.toLowerCase().slice(n.lastIndexOf(".")),a=[".pdf",".png",".jpg",".jpeg",".webp",".svg"].includes(r),u=B({queryKey:["workspace-file",s,t,n],queryFn:({signal:k})=>te.file(s,t,n,k),enabled:!!(n&&t&&!a),refetchInterval:5e3}),o=Fs(a?s:"",a?t:"",a?n:"");if(!n)return e.jsx(O,{icon:Rs,title:i("打开一个文件开始阅读","Open a file to start reading"),description:i("左侧文件树直接映射已批准的服务器工作区。","The file tree maps the approved server workspace.")});if(a)return o.error?e.jsx(O,{icon:He,title:"Preview unavailable",description:o.error}):o.url?r===".pdf"?e.jsx("embed",{className:"workspace-pdf",src:o.url,type:"application/pdf"}):e.jsx("img",{className:"workspace-image",src:o.url,alt:n}):e.jsx("div",{className:"editor-loading",children:"Loading preview…"});if(u.isLoading)return e.jsxs("div",{className:"editor-loading",children:["Opening ",n,"…"]});if(u.isError)return e.jsx(O,{icon:He,title:"Preview unavailable",description:u.error.message});const c=(((f=u.data)==null?void 0:f.content)??"").split(` -`);return e.jsxs("div",{className:"vscode-code",children:[e.jsx("div",{className:"vscode-line-numbers",children:c.map((k,z)=>e.jsx("span",{children:z+1},z))}),e.jsx("pre",{children:e.jsx("code",{children:(p=u.data)==null?void 0:p.content})})]})}function Xt(s){var A,P,C,d,E,M,$,L;const{text:t}=K(),n=Te(s.sid,"ide"),i=n.workspaceId,r=((A=n.active)==null?void 0:A.path)||"",[a,u]=m.useState(""),[o,c]=m.useState(new Set),[f,p]=m.useState("files"),[k,z]=m.useState("repository"),h=B({queryKey:["workspace-tree",s.sid,i],queryFn:({signal:l})=>te.tree(s.sid,i,l),enabled:!!i,refetchInterval:8e3}),g=B({queryKey:["workspace-git",s.sid,i],queryFn:({signal:l})=>te.git(s.sid,i,l),enabled:!!i,refetchInterval:8e3}),y=m.useMemo(()=>{var l;return Gt(((l=h.data)==null?void 0:l.entries)??[])},[(P=h.data)==null?void 0:P.entries]);m.useEffect(()=>{u(""),c(new Set)},[i]),m.useEffect(()=>{y.length&&o.size===0&&c(new Set(y.filter(l=>l.type==="directory").slice(0,5).map(l=>l.path)))},[o.size,y]);const b=s.events.filter(l=>["command_execution","tool_use","tool_result","file_change"].includes(String(l.kind??""))).slice(-100),w=(((C=g.data)==null?void 0:C.status)??"").split(` -`).filter(Boolean),T=(((d=g.data)==null?void 0:d.log)??"").split(` -`).filter(Boolean).map(l=>{const[S,q,D,...Y]=l.split(" ");return{hash:S,date:q,author:D,subject:Y.join(" ")}}),j=g.data;return e.jsxs("div",{className:"ros-page ide-v3",children:[e.jsxs("header",{className:"ros-page-header",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"AI IDE"}),e.jsx("h1",{children:t("服务器代码工作区","Server code workspace")}),e.jsx("p",{children:t("接近 VS Code 的只读工作台:文件浏览、源码阅读、Git/GitHub 就绪状态和 Argus 终端轨迹。","A read-only VS Code-style workspace for files, source, Git/GitHub readiness, and Argus terminal activity.")})]}),e.jsxs(_,{tone:"info",children:[e.jsx(He,{size:12}),t("只读安全模式","Read-only safe mode")]})]}),e.jsxs("div",{className:"ide-context-strip",children:[e.jsx(cs,{size:15}),e.jsx("select",{"aria-label":t("选择已批准工作区","Select approved workspace"),value:i,onChange:l=>n.setWorkspaceId(l.target.value),children:(E=n.profiles.data)==null?void 0:E.profiles.map(l=>e.jsx("option",{value:l.id,children:l.label},l.id))}),e.jsx("code",{children:r}),h.isError?e.jsx(_,{tone:"danger",children:t("连接失败","Connection failed")}):h.isFetching?e.jsx(_,{tone:"live",dot:!0,children:t("同步中","Syncing")}):e.jsxs(_,{tone:"success",children:[e.jsx(As,{size:11}),"Synced"]}),e.jsxs("small",{children:[((M=h.data)==null?void 0:M.entries.length)??0," entries"]}),e.jsx("button",{type:"button",onClick:()=>{h.refetch(),g.refetch()},"aria-label":t("刷新工作区","Refresh workspace"),children:e.jsx(Re,{size:14})})]}),e.jsxs("div",{className:"vscode-shell",children:[e.jsxs("nav",{className:"vscode-activitybar",children:[e.jsx("button",{type:"button",className:f==="files"?"is-active":"",onClick:()=>p("files"),title:"Explorer","aria-label":"Explorer",children:e.jsx(nt,{size:21})}),e.jsxs("button",{type:"button",className:f==="git"?"is-active":"",onClick:()=>p("git"),title:"Source Control","aria-label":"Source Control",children:[e.jsx(ge,{size:21}),w.length?e.jsx("i",{children:w.length}):null]})]}),e.jsxs("aside",{className:"vscode-sidebar",children:[e.jsxs("header",{children:[e.jsx("span",{children:f==="git"?"SOURCE CONTROL":"EXPLORER"}),e.jsx("button",{type:"button",onClick:()=>void h.refetch(),"aria-label":t("刷新文件树","Refresh file tree"),children:e.jsx(Re,{size:14})})]}),f==="files"?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"vscode-root",children:[e.jsx(Es,{size:13}),e.jsx("strong",{children:r.split("/").at(-1)||r})]}),e.jsx("div",{className:"workspace-tree",children:h.isError?e.jsx(O,{icon:cs,title:t("目录连接失败","Directory connection failed"),description:h.error.message}):y.map(l=>e.jsx(Ds,{node:l,depth:0,selected:a,expanded:o,onToggle:S=>c(q=>{const D=new Set(q);return D.has(S)?D.delete(S):D.add(S),D}),onSelect:u},l.path))})]}):e.jsx("div",{className:"vscode-changes",children:w.length?w.map(l=>e.jsxs("button",{type:"button",onClick:()=>{const S=l.slice(3).trim(),q=S.includes(" -> ")?S.split(" -> ").at(-1):S;q.endsWith("/")||u(q)},children:[e.jsx("b",{children:l.slice(0,2).trim()||"?"}),e.jsx("span",{children:l.slice(3)})]},l)):e.jsx("p",{children:"No changes"})})]}),e.jsxs("main",{className:"vscode-editor",children:[e.jsx("div",{className:"vscode-tabs",children:e.jsxs("button",{type:"button",className:"is-active",children:[e.jsx(Pe,{size:13}),a||"Welcome"]})}),e.jsx("div",{className:"vscode-breadcrumbs",children:a?a.split("/").map((l,S)=>e.jsxs("span",{children:[l,Sz("changes"),children:"Changes"}),e.jsx("button",{type:"button",className:k==="timeline"?"is-active":"",onClick:()=>z("timeline"),children:"Timeline"}),e.jsx("button",{type:"button",className:k==="repository"?"is-active":"",onClick:()=>z("repository"),children:"Repository"})]}),e.jsx("div",{className:"vscode-git-content",children:j!=null&&j.available?k==="changes"?e.jsxs(e.Fragment,{children:[e.jsx("pre",{className:"vscode-status",children:j.status||"Working tree clean"}),j.diff?e.jsx("pre",{className:"vscode-diff",children:j.diff}):null]}):k==="timeline"?e.jsx("div",{className:"vscode-commits",children:T.map(l=>{var S;return e.jsxs("article",{children:[e.jsx(ge,{size:13}),e.jsxs("div",{children:[e.jsx("strong",{children:l.subject}),e.jsxs("small",{children:[l.author," · ",(S=l.date)==null?void 0:S.slice(0,10)]})]})]},l.hash)})}):e.jsxs("div",{className:"repository-readiness",children:[e.jsx("h3",{children:"Repository readiness"}),e.jsxs("dl",{children:[e.jsxs("div",{children:[e.jsxs("dt",{children:[e.jsx(ge,{size:13}),"Remote"]}),e.jsx("dd",{children:j.remotes.length?j.remotes.map(l=>`${l.name}: ${l.fetch}`).join(` -`):"Not configured"}),e.jsx("i",{className:j.remotes.length?"ok":"missing",children:j.remotes.length?e.jsx(ne,{size:12}):e.jsx(je,{size:12})})]}),e.jsxs("div",{children:[e.jsxs("dt",{children:[e.jsx(ge,{size:13}),"Upstream"]}),e.jsxs("dd",{children:[j.upstream||"Not configured",j.upstream?` · ahead ${j.ahead}, behind ${j.behind}`:""]}),e.jsx("i",{className:j.upstream?"ok":"missing",children:j.upstream?e.jsx(ne,{size:12}):e.jsx(je,{size:12})})]}),e.jsxs("div",{children:[e.jsxs("dt",{children:[e.jsx(At,{size:13}),"Commit identity"]}),e.jsx("dd",{children:j.identity.name&&j.identity.email?`${j.identity.name} <${j.identity.email}>`:"Not configured"}),e.jsx("i",{className:j.identity.valid?"ok":"missing",children:j.identity.valid?e.jsx(ne,{size:12}):e.jsx(je,{size:12})})]}),e.jsxs("div",{children:[e.jsxs("dt",{children:[e.jsx(Xe,{size:13}),"GitHub CLI"]}),e.jsx("dd",{children:j.github.authenticated?`${j.github.login} · ${j.github.protocol}`:"Not authenticated"}),e.jsx("i",{className:j.github.authenticated?"ok":"missing",children:j.github.authenticated?e.jsx(ne,{size:12}):e.jsx(je,{size:12})})]})]}),e.jsx("p",{children:j.publish_ready?"Repository is ready for an explicitly approved push.":"Configure the missing items before publishing. No credentials are shown in this UI."})]}):e.jsx(O,{icon:ge,title:"Not a Git repository"})})]}),e.jsxs("section",{className:"vscode-terminal",children:[e.jsxs("header",{children:[e.jsx("strong",{children:"ARGUS ACTIVITY"}),e.jsxs("span",{children:[e.jsx(Ts,{size:13}),"read-only"]})]}),e.jsx("div",{children:b.length?b.map((l,S)=>e.jsxs("article",{children:[e.jsx("time",{children:xe(l.ts)}),e.jsx("b",{className:`terminal-role terminal-role--${de(l)}`,children:de(l)}),e.jsx("span",{children:"›"}),e.jsx("code",{children:re(l,800)||ue(l)})]},`${l.ts}-${S}`)):e.jsx("p",{children:"$ waiting for Argus activity"})})]}),e.jsxs("footer",{className:"vscode-statusbar",children:[e.jsxs("span",{children:[e.jsx(ge,{size:12}),(j==null?void 0:j.branch)||"no branch"]}),e.jsx("span",{children:h.isError?"Workspace error":h.isFetching?"Workspace syncing":($=h.data)!=null&&$.truncated?"Tree truncated":"Workspace synced"}),e.jsx("span",{children:j!=null&&j.github.authenticated?`GitHub: ${j.github.login}`:"GitHub: offline"}),e.jsx("span",{children:"UTF-8"}),e.jsx("span",{children:((L=a.split(".").at(-1))==null?void 0:L.toUpperCase())||"Plain Text"})]})]})]})}const De=2e5,vs=5,Ls=s=>`argus-v2-inbox:${s}`,Le=s=>{try{const t=JSON.parse(localStorage.getItem(Ls(s))??"[]");return Array.isArray(t)?t:[]}catch{return[]}},Jt=(s,t)=>({id:crypto.randomUUID(),title:s,source:t,raw:"",prompt:"",changes:[],questions:[],createdAt:Date.now(),updatedAt:Date.now()});function Qt(s,t){const n=[...s.matchAll(/^#{1,3}\s+(.+)\n([\s\S]*?)(?=^#{1,3}\s+|$)/gm)],i=c=>/目标|objective|question/i.test(c)?ls:/约束|constraint|boundary|non-goal/i.test(c)?Ve:/文献|evidence|source|paper/i.test(c)?dt:We,r=n.map(c=>({title:c[1].trim(),body:c[2].trim(),icon:i(c[1])})).filter(c=>c.body);if(r.length)return r.slice(0,8);const a=s.split(/\n\s*\n/).map(c=>c.trim()).filter(Boolean),u=[];a[0]&&u.push({title:"研究目标与背景",body:a[0],icon:ls});const o=s.split(` -`).filter(c=>/不得|不要|必须|约束|only|must|do not|without/i.test(c)).join(` -`);return o&&u.push({title:"约束与边界",body:o,icon:Ve}),t.length&&u.push({title:"仍需确认",body:t.map(c=>`- ${c}`).join(` -`),icon:We}),u}function Zt(s){const{text:t}=K(),[n,i]=m.useState(()=>Le(s.sid)),[r,a]=m.useState(()=>{var v;return((v=Le(s.sid)[0])==null?void 0:v.id)??""}),[u,o]=m.useState(!1),[c,f]=m.useState([]),[p,k]=m.useState(0),[z,h]=m.useState(""),[g,y]=m.useState(""),[b,w]=m.useState("current"),[T,j]=m.useState(""),[A,P]=m.useState(""),C=Qe(s.sid,s.refresh);m.useEffect(()=>{var I;const v=Le(s.sid);i(v),a(((I=v[0])==null?void 0:I.id)??""),f([]),k(0)},[s.sid]),m.useEffect(()=>{try{localStorage.setItem(Ls(s.sid),JSON.stringify(n)),y("")}catch{y("本机草稿存储空间不足;请缩短文本或删除旧草稿。")}},[n,s.sid]);const d=n.find(v=>v.id===r)??null,E=m.useMemo(()=>Qt((d==null?void 0:d.prompt)??"",(d==null?void 0:d.questions)??[]),[d==null?void 0:d.prompt,d==null?void 0:d.questions]),M=v=>d&&i(I=>I.map(W=>W.id===d.id?{...W,...v,updatedAt:Date.now()}:W)),$=()=>{const v=Jt(t("新的科研输入","New research input"),t("导师 / 组会 / 灵感","Advisor / meeting / idea"));i(I=>[v,...I]),a(v.id)},L=()=>{var I;if(!d||!confirm(t(`删除“${d.title}”?`,`Delete “${d.title}”?`)))return;const v=n.filter(W=>W.id!==d.id);i(v),a(((I=v[0])==null?void 0:I.id)??"")},l=d?`这是科研收信箱的预处理步骤,只分析输入并回复,不创建后台任务、不修改项目。请读取下面的零散内容和附件,提取知识点并生成第一版可直接交给 Argus 的研究 Prompt。必须保留事实来源和不确定性,不得虚构论文、实验或结论;使用以下 Markdown 结构: -## 研究目标 -## 已知背景与知识点 -## 约束与非目标 -## 文献与证据线索 -## 建议任务与验收方式 -## 待确认问题 - -标题:${d.title} -来源:${d.source} - -原始内容: -${d.raw}`:"",S=async v=>{const I=/\.(txt|md|markdown|json|csv|ya?ml|log|tex)$/i,W=/\.(pdf|png|jpe?g|webp|wav|mp3|m4a|ogg)$/i,J=v.filter(x=>!I.test(x.name)&&!W.test(x.name));if(J.length){h(`不支持的附件:${J.map(x=>x.name).join("、")}`);return}const ee=v.find(x=>x.size>10*1024*1024);if(ee){h(`${ee.name} 超过单文件 10 MB 限制`);return}if(c.length+p+v.length>vs){h(`每次分析最多导入 ${vs} 个文件`);return}const ce=v.filter(x=>I.test(x.name)),F=ce.find(x=>x.size>1024*1024);if(F){h(`${F.name} 超过本机文本导入 1 MB 限制;请改为摘要或拆分文件`);return}const V=v.filter(x=>W.test(x.name)),me=[...c,...V];if(me.reduce((x,U)=>x+U.size,0)>25*1024*1024){h("附件总大小超过 25 MB");return}const Q=await Promise.all(ce.map(async x=>` - ---- 文件:${x.name} --- -${await x.text()}`)),oe=`${(d==null?void 0:d.raw)??""}${Q.join("")}`.trim();if(oe.length>De){h(`原始输入超过 ${De.toLocaleString()} 字符限制,请拆分或摘要`);return}Q.length&&(M({raw:oe}),k(x=>x+ce.length)),f(me),h("")},q=async()=>{if(!(!d||!d.raw.trim()&&!c.length)){o(!0),h("");try{if(c.length){const v=await C.run(l,c),I=String((v==null?void 0:v.reply)||C.output||"").trim();if(!I)throw new Error("Argus 没有返回可用的知识提取结果");M({prompt:I,changes:[`分析了 ${c.length} 个附件和原始输入`],questions:[]}),f([])}else{const v=await G.rewritePrompt(s.sid,l);if(v.error)throw new Error(v.error);M({prompt:v.rewritten,changes:v.changes,questions:v.questions})}}catch(v){h(v instanceof Error?v.message:String(v))}finally{o(!1)}}},D=async()=>{if(!(d!=null&&d.prompt.trim()))return;if(b==="new"){if(!T.trim()||!confirm(t("确认用当前 Prompt 创建一个新的 Argus 项目?","Create a new Argus project with this prompt?")))return;try{const I=await G.createDaemon(d.prompt,T,A);M({sentAt:Date.now()}),window.location.hash=`project/${I.sid}/overview`}catch(I){h(I instanceof Error?I.message:String(I))}return}if(!confirm(t("确认把这份第一版 Prompt 发送给当前 Argus 项目?","Send this first prompt to the current Argus project?")))return;await C.run(d.prompt)&&M({sentAt:Date.now()})},Y=d!=null&&d.sentAt?4:d!=null&&d.prompt?3:d!=null&&d.raw||c.length?2:1;return e.jsxs("div",{className:"ros-page inbox-v2",children:[e.jsxs("header",{className:"ros-page-header",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"RESEARCH INBOX"}),e.jsx("h1",{children:t("从零散输入开始研究","Start research from rough input")}),e.jsx("p",{children:t("把消息、会议记录、文件或灵感交给 AI,提取知识点并形成第一版 Argus Prompt。","Give AI messages, meeting notes, files, or ideas to extract knowledge and create a first Argus prompt.")})]}),e.jsxs(_,{tone:"neutral",children:[e.jsx(kt,{size:12}),t("本机自动保存","Saved locally")]})]}),e.jsx("div",{className:"intake-steps",children:[[t("收集原始内容","Collect input"),pt],[t("AI 提取知识","Extract knowledge"),Ne],[t("形成 Argus Prompt","Build Argus prompt"),Z],[t("创建 / 发送项目","Create / send project"),Ge]].map(([v,I],W)=>e.jsxs("div",{className:Y>W?"is-done":Y===W+1?"is-active":"",children:[e.jsx("span",{children:Y>W+1?e.jsx(ne,{size:14}):e.jsx(I,{size:15})}),e.jsx("strong",{children:String(v)}),W<3?e.jsx(Ce,{size:14}):null]},String(v)))}),e.jsxs("div",{className:"inbox-v2__layout",children:[e.jsxs("aside",{className:"ros-card inbox-sources",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"INBOX"}),e.jsx("h2",{children:t("科研输入","Research input")})]}),e.jsx("button",{className:"icon-button",type:"button",onClick:$,"aria-label":t("新增输入","Add input"),children:e.jsx(vt,{size:15})})]}),e.jsx("div",{children:n.length?n.map(v=>e.jsxs("button",{type:"button",className:(d==null?void 0:d.id)===v.id?"is-active":"",onClick:()=>a(v.id),children:[e.jsx("span",{className:"inbox-item-icon",children:v.sentAt?e.jsx(ne,{size:14}):v.prompt?e.jsx(pe,{size:14}):e.jsx(we,{size:14})}),e.jsxs("div",{children:[e.jsx("strong",{children:v.title}),e.jsxs("small",{children:[v.source," · ",ye(v.updatedAt/1e3)]})]})]},v.id)):e.jsx(O,{icon:we,title:t("暂无输入","No input yet"),description:t("新增一条导师消息、组会笔记或研究灵感。","Add an advisor message, meeting note, or research idea.")})})]}),e.jsxs("main",{className:"ros-card inbox-input",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"RAW MATERIAL"}),e.jsx("h2",{children:t("原始内容与附件","Raw content and attachments")})]}),d?e.jsx("button",{className:"icon-button",type:"button",onClick:L,"aria-label":t("删除","Delete"),children:e.jsx(St,{size:14})}):null]}),d?e.jsxs("div",{className:"inbox-input__form",children:[e.jsxs("div",{className:"form-grid",children:[e.jsxs("label",{children:[e.jsx("span",{children:t("标题","Title")}),e.jsx("input",{value:d.title,onChange:v=>M({title:v.target.value})})]}),e.jsxs("label",{children:[e.jsx("span",{children:t("来源","Source")}),e.jsx("input",{value:d.source,onChange:v=>M({source:v.target.value})})]})]}),e.jsxs("label",{className:"field field--grow",children:[e.jsx("span",{children:t("零散消息、笔记或转写文本","Rough messages, notes, or transcripts")}),e.jsx("textarea",{maxLength:De,value:d.raw,onChange:v=>M({raw:v.target.value}),placeholder:t("不需要先整理,直接粘贴原始内容。AI 会区分目标、事实、约束、文献线索、待办和疑问…","Paste raw content directly. AI will separate goals, facts, constraints, evidence leads, tasks, and questions…")})]}),c.length?e.jsx("div",{className:"inbox-attachment-list",children:c.map((v,I)=>e.jsxs("span",{children:[v.type.startsWith("audio/")?e.jsx(ns,{size:14}):v.type.startsWith("image/")?e.jsx(is,{size:14}):e.jsx(Z,{size:14}),e.jsxs("div",{children:[e.jsx("strong",{children:v.name}),e.jsxs("small",{children:[(v.size/1024/1024).toFixed(1)," MB · 仅在本次分析上传"]})]}),e.jsx("button",{type:"button",onClick:()=>f(W=>W.filter((J,ee)=>ee!==I)),children:e.jsx(je,{size:13})})]},`${v.name}-${I}`))}):null,e.jsxs("div",{className:"inbox-upload-types",children:[e.jsxs("span",{children:[e.jsx(Z,{size:14}),"PDF / ",t("文本","text")]}),e.jsxs("span",{children:[e.jsx(is,{size:14}),t("图片","images")]}),e.jsxs("span",{children:[e.jsx(ns,{size:14}),t("语音","audio")]}),e.jsx("p",{children:t("语音会交给 Argus 和已配置工具处理,不把“上传成功”冒充“已完成转写”。","Audio is handed to Argus and configured tools; an upload is never presented as a completed transcript.")})]}),e.jsxs("div",{className:"inbox-input__actions",children:[e.jsxs("label",{className:"button button--secondary file-button",children:[e.jsx(Et,{size:14}),t("添加文件","Add files"),e.jsx("input",{type:"file",multiple:!0,accept:".txt,.md,.markdown,.json,.csv,.yaml,.yml,.log,.tex,.pdf,.png,.jpg,.jpeg,.webp,.wav,.mp3,.m4a,.ogg",onChange:v=>void S(Array.from(v.target.files??[]))})]}),e.jsxs("button",{className:"button button--primary",type:"button",disabled:!d.raw.trim()&&!c.length||u||C.busy,onClick:()=>void q(),children:[u||C.busy?e.jsx(pe,{size:14}):e.jsx(Ne,{size:14}),u||C.busy?C.phase||t("AI 正在分析","AI is analyzing"):t("分析内容并生成 Prompt","Analyze and generate prompt")]})]}),z?e.jsx("div",{className:"inline-error",children:z}):null,g?e.jsx("div",{className:"inline-error",children:g}):null]}):e.jsx(O,{icon:we,title:t("选择或新增一条科研输入","Select or add research input")})]}),e.jsxs("aside",{className:"inbox-output",children:[e.jsxs("section",{className:"ros-card knowledge-panel",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"KNOWLEDGE EXTRACTION"}),e.jsx("h2",{children:t("AI 提取的知识点","AI-extracted knowledge")})]}),E.length?e.jsxs(_,{tone:"success",children:[E.length," ",t("组","groups")]}):null]}),E.length?e.jsx("div",{className:"knowledge-grid",children:E.map(v=>{const I=v.icon;return e.jsxs("article",{children:[e.jsx("span",{children:e.jsx(I,{size:15})}),e.jsxs("div",{children:[e.jsx("strong",{children:v.title}),e.jsx(ae,{children:v.body})]})]},v.title)})}):e.jsx(O,{icon:We,title:t("等待 AI 提取","Waiting for AI extraction"),description:t("结果会明确区分目标、知识点、约束、证据线索和待确认问题。","The result separates goals, knowledge, constraints, evidence leads, and open questions.")})]}),e.jsxs("section",{className:"ros-card first-prompt",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"FIRST ARGUS PROMPT"}),e.jsx("h2",{children:t("第一版 Argus Prompt","First Argus prompt")})]}),d!=null&&d.prompt?e.jsx(_,{tone:"info",children:t("可编辑","Editable")}):null]}),d!=null&&d.prompt?e.jsxs(e.Fragment,{children:[e.jsx("textarea",{value:d.prompt,onChange:v=>M({prompt:v.target.value})}),e.jsxs("div",{className:"dispatch-mode",children:[e.jsx("button",{type:"button",className:b==="current"?"is-active":"",onClick:()=>w("current"),children:t("发送当前项目","Send to current project")}),e.jsx("button",{type:"button",className:b==="new"?"is-active":"",onClick:()=>w("new"),children:t("创建新项目","Create new project")})]}),b==="new"?e.jsxs("div",{className:"new-project-fields",children:[e.jsx("input",{value:T,onChange:v=>j(v.target.value),placeholder:t("新项目名称","New project name")}),e.jsx("input",{value:A,onChange:v=>P(v.target.value),placeholder:t("工作目录(可选,留空自动创建)","Workdir (optional; blank creates one)")})]}):null,e.jsxs("button",{className:"button button--primary button--full",type:"button",disabled:C.busy,onClick:()=>void D(),children:[e.jsx(Ge,{size:14}),C.busy?C.phase||t("正在发送","Sending"):b==="new"?t("用此 Prompt 创建 Argus 项目","Create Argus project with this prompt"):t("确认并发送给当前 Argus","Confirm and send to current Argus")]}),C.output?e.jsx("div",{className:"manager-mini-result",children:e.jsx(ae,{children:C.output})}):null]}):e.jsx(O,{icon:Z,title:t("尚未生成 Prompt","No prompt generated"),description:t("AI 提取后会在这里生成第一版 Prompt,你可以先修改再发送。","The first prompt appears here after extraction and can be edited before sending.")})]})]})]})]})}function Yt({paper:s,selected:t,onClick:n}){const{text:i}=K();return e.jsxs("button",{type:"button",className:`paper-card ${t?"is-selected":""}`,onClick:n,children:[e.jsxs("div",{className:"paper-card__meta",children:[e.jsx(_,{tone:s.evidenceStatus==="verified_artifact"?"success":s.evidenceStatus==="metadata"?"info":"warn",children:s.evidenceStatus==="verified_artifact"?i("原文文件已验证","Source verified"):s.evidenceStatus==="metadata"?i("仅元数据","Metadata only"):i("待核验","Needs verification")}),e.jsxs("span",{className:"paper-card__year",children:[s.year||"—",s.venue?` · ${s.venue}`:""]})]}),e.jsx("h3",{children:s.title}),s.authors.length?e.jsxs("p",{className:"paper-card__authors",children:[s.authors.slice(0,4).join(", "),s.authors.length>4?" et al.":""]}):null,e.jsx("p",{className:"paper-card__summary",children:s.relevance||s.abstract||i("该记录尚未写入项目相关性摘要。","No project-relevance summary has been recorded.")}),e.jsxs("div",{className:"paper-card__footer",children:[e.jsx("code",{children:s.sourcePath}),e.jsx("span",{children:i("查看详情","View details")})]})]})}function en(s){var A,P,C,d,E,M,$,L;const{text:t}=K(),n=Te(s.sid,"literature"),i=((A=n.active)==null?void 0:A.path)||"",r=B({queryKey:["workspace-literature",s.sid,n.workspaceId],queryFn:({signal:l})=>te.literature(s.sid,n.workspaceId,l),enabled:!!n.workspaceId,refetchInterval:15e3}),[a,u]=m.useState("all"),[o,c]=m.useState(""),[f,p]=m.useState(""),[k,z]=m.useState(""),h=Qe(s.sid,async()=>{await s.refresh(),await r.refetch()}),g=((P=r.data)==null?void 0:P.papers)??[],y=Math.max(0,...g.map(l=>l.year??0)),b=m.useMemo(()=>g.filter(l=>{if(a==="recent"&&(l.year??0)l.id===f)??b[0]??null,T=m.useMemo(()=>s.events.filter(l=>/paper|arxiv|doi|literature|search|citation|http/i.test(`${l.type} ${l.kind} ${re(l,2e3)}`)).slice(-30).reverse(),[s.events]),j=async()=>{k.trim()&&await h.run(`请为当前项目执行新的文献调研:${k} - -要求读取原始论文或官方仓库,把结构化记录追加到项目的 literature grounding/audit 文件中,包括标题、作者、年份、URL、与当前项目关系、最近工作威胁和仍待全文核验项。完成后文献中心应能从工作目录直接读取这些记录。`)};return e.jsxs("div",{className:"ros-page literature-v2",children:[e.jsxs("header",{className:"ros-page-header",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"LITERATURE CENTER"}),e.jsx("h1",{children:t("文献中心","Literature center")}),e.jsx("p",{children:t("直接读取 Argus 工作目录中的论文清单、文献审计和实时检索轨迹,不再依赖手工注册 artifacts。","Read paper inventories, literature audits, and live retrieval traces directly from the Argus workdir.")})]}),e.jsxs("div",{className:"header-badges",children:[e.jsxs(_,{tone:"success",children:[e.jsx(se,{size:12}),g.length," ",t("篇论文","papers")]}),e.jsxs(_,{tone:"neutral",children:[((C=r.data)==null?void 0:C.sourceFiles.length)??0," ",t("个证据文件","evidence files")]})]})]}),e.jsxs("section",{className:"literature-stats",children:[e.jsxs("div",{children:[e.jsx("span",{className:"stat-icon stat-icon--blue",children:e.jsx(se,{size:18})}),e.jsxs("p",{children:[t("论文记录","Paper records"),e.jsx("strong",{children:g.length})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"stat-icon stat-icon--green",children:e.jsx(Ie,{size:18})}),e.jsxs("p",{children:[t("原文文件已验证","Verified sources"),e.jsx("strong",{children:g.filter(l=>l.evidenceStatus==="verified_artifact").length})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"stat-icon stat-icon--amber",children:e.jsx(Qs,{size:18})}),e.jsxs("p",{children:[t("最近工作","Recent work"),e.jsx("strong",{children:g.filter(l=>(l.year??0)>=y-1).length})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"stat-icon stat-icon--violet",children:e.jsx(it,{size:18})}),e.jsxs("p",{children:[t("扫描项目文件","Scanned files"),e.jsx("strong",{children:((d=r.data)==null?void 0:d.scannedFiles)??0})]})]})]}),e.jsxs("div",{className:"literature-v2__layout",children:[e.jsxs("aside",{className:"literature-v2__sidebar ros-card",children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:"LIBRARY"}),e.jsx("h2",{children:t("项目文献库","Project library")})]})}),e.jsxs("label",{className:"search-field search-field--block",children:[e.jsx(wt,{size:14}),e.jsx("input",{value:o,onChange:l=>c(l.target.value),placeholder:t("搜索标题、作者、主题","Search title, author, or topic")})]}),e.jsx("nav",{className:"library-tabs",children:[["all",t("全部论文","All papers"),g.length],["recent",t("最近工作","Recent work"),g.filter(l=>(l.year??0)>=y-1).length],["read",t("已验证原文","Verified sources"),g.filter(l=>l.evidenceStatus==="verified_artifact").length],["sources",t("证据文件","Evidence files"),((E=r.data)==null?void 0:E.sourceFiles.length)??0]].map(([l,S,q])=>e.jsxs("button",{type:"button",className:a===l?"is-active":"",onClick:()=>u(l),children:[e.jsx("span",{children:S}),e.jsx("small",{children:q})]},l))}),e.jsxs("div",{className:"literature-source-note",children:[e.jsx(as,{size:15}),e.jsxs("div",{children:[e.jsx("strong",{children:t("实时来源","Live source")}),e.jsx("p",{title:i,children:i})]})]})]}),e.jsxs("main",{className:"literature-v2__main",children:[e.jsxs("div",{className:"literature-list-header",children:[e.jsxs("div",{children:[e.jsx("h2",{children:a==="recent"?t("最近工作","Recent work"):a==="read"?t("已验证原文文件","Verified source files"):a==="sources"?t("文献证据文件","Literature evidence files"):t("全部论文","All papers")}),e.jsx("p",{children:a==="recent"?t(`按项目中最新年份 ${y||"—"} 自动筛选`,`Filtered by the latest project year: ${y||"—"}`):t("Argus 写入工作目录后约 5 秒内自动更新","Updates shortly after Argus writes to the workdir")})]}),r.isError?e.jsx(_,{tone:"danger",children:t("同步失败","Sync failed")}):r.isFetching?e.jsx(_,{tone:"live",dot:!0,children:t("同步中","Syncing")}):e.jsx(_,{tone:"success",children:t("已同步","Synced")})]}),r.isError?e.jsx("div",{className:"inline-error",children:r.error.message}):null,a==="sources"?e.jsx("div",{className:"source-file-grid",children:(M=r.data)==null?void 0:M.sourceFiles.map(l=>e.jsxs("article",{children:[e.jsx(as,{size:17}),e.jsxs("div",{children:[e.jsx("strong",{children:l.name}),e.jsx("code",{children:l.path})]}),e.jsx("time",{children:ye(l.mtime)})]},l.path))}):b.length?e.jsx("div",{className:"paper-grid",children:b.map(l=>e.jsx(Yt,{paper:l,selected:(w==null?void 0:w.id)===l.id,onClick:()=>p(l.id)},l.id))}):e.jsx(O,{icon:se,title:t("此筛选下暂无论文","No papers match this filter"),description:t("Argus 完成检索并写入 LITERATURE_GROUNDING.json 后会自动出现。","Papers appear after Argus writes LITERATURE_GROUNDING.json.")})]}),e.jsxs("aside",{className:"literature-v2__detail",children:[e.jsx("section",{className:"ros-card paper-detail",children:w?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"paper-detail__top",children:[e.jsx(_,{tone:w.evidenceStatus==="verified_artifact"?"success":w.evidenceStatus==="metadata"?"info":"warn",children:w.evidenceStatus==="verified_artifact"?"verified artifact":w.evidenceStatus}),e.jsxs("span",{children:[w.year||"—",w.venue?` · ${w.venue}`:""]})]}),e.jsx("h2",{children:w.title}),w.authors.length?e.jsx("p",{className:"paper-detail__authors",children:w.authors.join(", ")}):null,e.jsxs("div",{className:"paper-detail__body",children:[e.jsx("h3",{children:t("与当前项目的关系","Relationship to this project")}),e.jsx(ae,{children:w.relevance||w.abstract||t("尚未写入摘要。","No summary recorded.")}),w.abstract&&w.relevance?e.jsxs(e.Fragment,{children:[e.jsx("h3",{children:t("摘要","Abstract")}),e.jsx("p",{children:w.abstract})]}):null]}),e.jsxs("div",{className:"paper-detail__source",children:[e.jsx("span",{children:t("证据文件","Evidence file")}),e.jsx("code",{children:w.sourcePath})]}),w.url?e.jsxs("a",{className:"button button--secondary button--full",href:w.url,target:"_blank",rel:"noreferrer",children:[t("打开原始来源","Open source")," ",e.jsx(Ms,{size:14})]}):null]}):e.jsx(O,{icon:se,title:t("选择一篇论文","Select a paper")})}),e.jsxs("section",{className:"ros-card retrieval-panel",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"ARGUS RETRIEVAL"}),e.jsx("h2",{children:t("最近检索","Recent retrieval")})]}),e.jsx(_,{tone:s.connected?"live":"warn",dot:!0,children:s.connected?"Live":"Polling"})]}),e.jsxs("div",{children:[((($=r.data)==null?void 0:$.searchFiles)??[]).slice(0,8).map(l=>e.jsxs("article",{children:[e.jsx(Ie,{size:13}),e.jsxs("div",{children:[e.jsx("strong",{children:l.name}),e.jsx("code",{children:l.path})]}),e.jsx("time",{children:xe(l.mtime)})]},l.path)),!((L=r.data)!=null&&L.searchFiles.length)&&T.slice(0,8).map((l,S)=>e.jsxs("article",{children:[e.jsx(Ie,{size:13}),e.jsxs("div",{children:[e.jsx("strong",{children:ue(l)}),e.jsx("code",{children:re(l,100)})]}),e.jsx("time",{children:xe(l.ts)})]},`${l.ts}-${S}`))]})]}),e.jsxs("section",{className:"ros-card literature-ask",children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:"NEW SEARCH"}),e.jsx("h2",{children:t("让 Argus 调研新工作","Ask Argus to research new work")})]})}),e.jsx("textarea",{rows:3,value:k,onChange:l=>z(l.target.value),placeholder:t("例如:检索 2025–2026 年与当前方法最接近的直接竞争工作…","Example: find the closest competing work from 2025–2026…")}),e.jsxs("button",{className:"button button--primary button--full",type:"button",disabled:!k.trim()||h.busy,onClick:()=>void j(),children:[e.jsx(pe,{size:14}),h.busy?h.phase||t("检索中","Researching"):t("发起文献调研","Start literature research")]}),h.output?e.jsx("div",{className:"manager-mini-result",children:e.jsx(ae,{children:h.output})}):null]})]})]})]})}const sn="/assets/pdf.worker.min-CHFwMXne.mjs";function fs(s){return[".png",".jpg",".jpeg",".webp",".svg"].includes(s.extension)}function tn(s){return[".csv",".tsv"].includes(s.extension)}function nn(s){return[".tex",".md"].includes(s.extension)}function rn({src:s,name:t}){const{text:n}=K(),i=m.useRef(null),[r,a]=m.useState(null),[u,o]=m.useState(1),[c,f]=m.useState(1.25),[p,k]=m.useState(""),[z,h]=m.useState(!1);return m.useEffect(()=>{let g=!0,y=null;a(null),o(1),k(""),h(!1);const b=localStorage.getItem("argus_web_token");return Promise.all([fetch(s,{headers:b?{Authorization:`Bearer ${b}`}:{}}).then(w=>{if(!w.ok)throw new Error(`PDF request failed (${w.status})`);return w.arrayBuffer()}),Vs(()=>import("./pdf-DEp6sk-T.js"),[])]).then(([w,T])=>{if(g)return T.GlobalWorkerOptions.workerSrc=sn,y=T.getDocument({data:w}),y.promise}).then(w=>{g&&w&&a(w)}).catch(w=>{g&&k(w instanceof Error?w.message:String(w))}),()=>{g=!1,y==null||y.destroy()}},[s]),m.useEffect(()=>{if(!r||!i.current)return;h(!1);let g=!1,y=null;return r.getPage(u).then(b=>{if(g||!i.current)return;const w=b.getViewport({scale:c}),T=i.current,j=T.getContext("2d");if(!j)return;const A=Math.min(window.devicePixelRatio||1,2);return T.width=Math.floor(w.width*A),T.height=Math.floor(w.height*A),T.style.width=`${w.width}px`,T.style.height=`${w.height}px`,y=b.render({canvas:T,canvasContext:j,viewport:w,transform:A===1?void 0:[A,0,0,A,0,0]}),y.promise.then(()=>{g||h(!0)})}).catch(b=>{g||k(b instanceof Error?b.message:String(b))}),()=>{g=!0,y==null||y.cancel()}},[r,u,c]),e.jsxs("div",{className:"pdf-canvas-viewer",children:[e.jsxs("div",{className:"pdf-canvas-toolbar",children:[e.jsx("strong",{children:t}),e.jsxs("span",{children:[n("第","Page")," ",u," / ",(r==null?void 0:r.numPages)??"…"]}),e.jsx("button",{type:"button",disabled:u<=1,onClick:()=>o(g=>g-1),children:n("上一页","Previous")}),e.jsx("button",{type:"button",disabled:!r||u>=r.numPages,onClick:()=>o(g=>g+1),children:n("下一页","Next")}),e.jsx("button",{type:"button",onClick:()=>f(g=>Math.max(.75,g-.15)),children:"−"}),e.jsx("button",{type:"button",onClick:()=>f(g=>Math.min(2,g+.15)),children:"+"})]}),p?e.jsx("div",{className:"inline-error",children:p}):null,e.jsx("div",{className:"pdf-canvas-scroll",children:e.jsx("canvas",{ref:i,"data-rendered":z?"true":"false"})})]})}function an({sid:s,workspaceId:t,entry:n}){var a,u;const{text:i}=K(),r=B({queryKey:["paper-source-file",s,t,n==null?void 0:n.path,n==null?void 0:n.mtime],queryFn:({signal:o})=>te.file(s,t,n.path,o),enabled:!!(n&&t),refetchInterval:8e3});return n?r.isError?e.jsx(O,{icon:Z,title:i("源文件暂时无法读取","Source file unavailable"),description:r.error.message}):n.extension===".md"&&r.data?e.jsx("div",{className:"paper-markdown-preview",children:e.jsx(ae,{children:r.data.content})}):e.jsxs("div",{className:"latex-source",children:[e.jsx("div",{className:"latex-line-numbers",children:(((a=r.data)==null?void 0:a.content)??"").split(` -`).map((o,c)=>e.jsx("span",{children:c+1},c))}),e.jsx("pre",{children:((u=r.data)==null?void 0:u.content)||"Loading…"})]}):e.jsx(O,{icon:Z,title:i("等待 Argus 写入论文源文件","Waiting for Argus to write a paper source"),description:i("paper/ 或 technical_report/ 中出现 .tex / .md 后会自动加入。",".tex and .md files under paper/ or technical_report/ appear automatically.")})}function cn({sid:s,workspaceId:t,entry:n}){const i=Fs(s,t,n.path);return e.jsxs("figure",{children:[i.url?e.jsx("img",{src:i.url,alt:n.name}):e.jsx("div",{className:"figure-loading",children:i.error||"Loading…"}),e.jsx("figcaption",{children:n.name})]})}function ln(s){var A,P,C;const{text:t}=K(),n=Te(s.sid,"paper"),i=n.workspaceId,r=((A=n.active)==null?void 0:A.path)||"",a=B({queryKey:["paper-workspace-tree",s.sid,i],queryFn:({signal:d})=>te.tree(s.sid,i,d),enabled:!!i,refetchInterval:1e4}),u=m.useMemo(()=>{var d;return Bt(((d=a.data)==null?void 0:d.entries)??[])},[(P=a.data)==null?void 0:P.entries]),o=u.filter(nn),c=u.filter(d=>d.extension===".bib"),f=u.filter(d=>d.extension===".pdf"),p=u.filter(d=>fs(d)||tn(d)),[k,z]=m.useState(""),h=[...o,...c].find(d=>d.path===k)??o[0]??c[0]??null,[g,y]=m.useState("pdf"),[b,w]=m.useState(""),T=f.find(d=>/(?:^|\/)(?:argus-technical-report|main|paper|manuscript)\.pdf$/i.test(d.path))??f[0],j=f.find(d=>d.path===b)??T??null;return e.jsxs("div",{className:"ros-page paper-v3",children:[e.jsxs("header",{className:"ros-page-header",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"PAPER WORKSPACE"}),e.jsx("h1",{children:t("LaTeX 论文工作区","LaTeX paper workspace")}),e.jsx("p",{children:t("论文源文件、编译 PDF、图表和 BibTeX 与真实项目目录保持同步。","Keep paper sources, compiled PDFs, figures, and BibTeX synchronized with the real project directory.")})]}),e.jsxs("div",{className:"header-badges",children:[e.jsxs(_,{tone:a.isError?"danger":a.isFetching?"live":"success",dot:!0,children:[e.jsx(Mt,{size:12}),a.isError?t("同步失败","Sync failed"):a.isFetching?t("同步中","Syncing"):t("自动同步","Auto sync")]}),e.jsxs(_,{tone:f.length?"success":"neutral",children:[f.length," PDF"]}),e.jsxs(_,{tone:"neutral",children:[p.length," ",t("图表","figures")]})]})]}),e.jsxs("div",{className:"paper-root-bar ros-card",children:[e.jsx(at,{size:16}),e.jsxs("div",{children:[e.jsx("span",{children:"APPROVED PAPER WORKSPACE"}),e.jsx("select",{"aria-label":t("选择论文工作区","Select paper workspace"),value:i,onChange:d=>{n.setWorkspaceId(d.target.value),z(""),w("")},children:(C=n.profiles.data)==null?void 0:C.profiles.map(d=>e.jsx("option",{value:d.id,children:d.label},d.id))}),e.jsx("code",{children:r})]}),a.isError?e.jsx(_,{tone:"danger",children:"Error"}):a.isFetching?e.jsx(_,{tone:"live",dot:!0,children:"Scanning"}):e.jsx(_,{tone:"success",children:"Synced"}),e.jsx("button",{className:"icon-button",type:"button",onClick:()=>void a.refetch(),"aria-label":t("刷新论文工作区","Refresh paper workspace"),children:e.jsx(Re,{size:14})})]}),e.jsxs("div",{className:"paper-v3__shell",children:[e.jsxs("aside",{className:"paper-v3__sources ros-card",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"LATEX PROJECT"}),e.jsx("h2",{children:t("论文文件","Paper files")})]}),e.jsx(_,{tone:"neutral",children:o.length+c.length})]}),e.jsxs("div",{className:"paper-source-group",children:[e.jsxs("h3",{children:[e.jsx(Z,{size:13}),"MANUSCRIPT"]}),o.length?o.map(d=>e.jsxs("button",{type:"button",className:(h==null?void 0:h.path)===d.path?"is-active":"",onClick:()=>z(d.path),children:[e.jsx(Z,{size:14}),e.jsxs("div",{children:[e.jsx("strong",{children:d.name}),e.jsx("code",{children:d.path})]}),e.jsx("small",{children:us(d.size)})]},d.path)):e.jsx("p",{children:"等待 .tex / .md"})]}),e.jsxs("div",{className:"paper-source-group",children:[e.jsxs("h3",{children:[e.jsx(se,{size:13}),"BIBTEX"]}),c.length?c.map(d=>e.jsxs("button",{type:"button",onClick:()=>z(d.path),children:[e.jsx(se,{size:14}),e.jsxs("div",{children:[e.jsx("strong",{children:d.name}),e.jsx("code",{children:d.path})]})]},d.path)):e.jsx("p",{children:t("等待 references.bib","Waiting for references.bib")})]}),e.jsxs("footer",{children:[e.jsx("span",{children:t("监听","Watching")}),e.jsx("code",{children:r})]})]}),e.jsxs("main",{className:"paper-v3__source ros-card",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("strong",{children:(h==null?void 0:h.name)||t("源文件编辑器","Source editor")}),e.jsx("code",{children:(h==null?void 0:h.path)||r})]}),h?e.jsxs("span",{children:[t("更新于","Updated")," ",ye(h.mtime)]}):null]}),e.jsx("div",{children:e.jsx(an,{sid:s.sid,workspaceId:i,entry:h})}),e.jsxs("footer",{children:[e.jsx("span",{children:(h==null?void 0:h.extension.replace(".","").toUpperCase())||"WAITING"}),e.jsx("span",{children:h?us(h.size):t("Argus 写入后自动出现","Appears after Argus writes it")})]})]}),e.jsxs("aside",{className:"paper-v3__outputs ros-card",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"BUILD OUTPUT"}),e.jsx("h2",{children:t("可视化产出","Visual outputs")})]}),a.isError?e.jsx(_,{tone:"danger",children:"Error"}):a.isFetching?e.jsx(_,{tone:"live",dot:!0,children:"Scanning"}):e.jsx(_,{tone:"success",children:"Synced"})]}),e.jsxs("nav",{children:[e.jsxs("button",{type:"button",className:g==="pdf"?"is-active":"",onClick:()=>y("pdf"),children:[e.jsx(Z,{size:14}),"PDF ",e.jsx("small",{children:f.length})]}),e.jsxs("button",{type:"button",className:g==="figures"?"is-active":"",onClick:()=>y("figures"),children:[e.jsx(rs,{size:14}),t("图表","Figures")," ",e.jsx("small",{children:p.length})]}),e.jsxs("button",{type:"button",className:g==="references"?"is-active":"",onClick:()=>y("references"),children:[e.jsx(se,{size:14}),t("引用","References")," ",e.jsx("small",{children:c.length})]})]}),e.jsxs("div",{className:"paper-output-surface",children:[g==="pdf"?j?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"pdf-switcher",children:f.map(d=>e.jsx("button",{type:"button",className:j.path===d.path?"is-active":"",onClick:()=>w(d.path),children:d.name},d.path))}),e.jsx(rn,{src:te.rawUrl(s.sid,i,j.path),name:j.name})]}):e.jsx(O,{icon:Z,title:t("尚无编译 PDF","No compiled PDF"),description:t("Argus 或 LaTeX 流程生成 PDF 后会直接在这里可视化。","PDFs generated by Argus or the LaTeX pipeline appear here.")}):null,g==="figures"?p.length?e.jsx("div",{className:"paper-figure-grid",children:p.map(d=>fs(d)?e.jsx(cn,{sid:s.sid,workspaceId:i,entry:d},d.path):e.jsxs("article",{children:[e.jsx(Nt,{size:22}),e.jsx("strong",{children:d.name}),e.jsx("code",{children:d.path})]},d.path))}):e.jsx(O,{icon:rs,title:t("尚无图表产出","No figure outputs")}):null,g==="references"?c.length?e.jsx("div",{className:"paper-reference-list",children:c.map(d=>e.jsxs("button",{type:"button",onClick:()=>{z(d.path)},children:[e.jsx(se,{size:15}),e.jsxs("div",{children:[e.jsx("strong",{children:d.name}),e.jsx("code",{children:d.path})]})]},d.path))}):e.jsx(O,{icon:se,title:t("尚无 BibTeX","No BibTeX")}):null]}),e.jsxs("footer",{children:[e.jsx("span",{children:f.length?"PDF build detected":"Waiting for LaTeX build"}),e.jsxs("span",{children:[u.length," tracked assets"]})]})]})]})]})}const on=[{id:"experiments",zh:"实验进程",en:"Experiments",zhDesc:"实时查看 Argus 运行位置、DAG、角色交接和停止原因。",enDesc:"Track Argus execution, DAG progress, role handoffs, and stop reasons.",icon:_s,color:"blue"},{id:"copilot",zh:"Research Copilot",en:"Research Copilot",zhDesc:"保留原版 Argus 对话、Prompt 优化和工具轨迹。",enDesc:"Chat with Argus, refine prompts, and inspect tool activity.",icon:Ps,color:"violet"},{id:"literature",zh:"文献中心",en:"Literature",zhDesc:"汇总已读论文、最近工作、检索记录和文献证据。",enDesc:"Review papers, related work, retrieval history, and evidence.",icon:se,color:"indigo"},{id:"inbox",zh:"科研收信箱",en:"Research Inbox",zhDesc:"从零散输入抽取知识点并形成第一版 Argus Prompt。",enDesc:"Turn rough notes into structured knowledge and an Argus prompt.",icon:we,color:"rose"},{id:"ide",zh:"AI IDE",en:"AI IDE",zhDesc:"连接真实服务器目录,查看代码、Git 和 Argus 活动。",enDesc:"Browse server files, Git state, and Argus activity.",icon:Pe,color:"emerald"},{id:"paper",zh:"论文工作区",en:"Paper Workspace",zhDesc:"自动发现 Argus 新写入的文稿、BibTeX、图表和 PDF。",enDesc:"Discover manuscripts, BibTeX, figures, and PDFs from the workspace.",icon:Z,color:"amber"},{id:"reviewer",zh:"模拟审稿",en:"Reviewer",zhDesc:"区分每轮过程审稿与项目完成后的最终投稿前审稿。",enDesc:"Separate round-level review from final pre-submission review.",icon:ie,color:"slate"},{id:"release",zh:"成果发布",en:"Release",zhDesc:"规划 GitHub 仓库、学术海报和项目宣传页。",enDesc:"Plan a GitHub repository, academic poster, and project page.",icon:Cs,color:"rose"}];function dn(s){var r,a,u,o;const{text:t}=K(),n=s.snapshot.mission_view,i=(n==null?void 0:n.active_role)||((r=s.status)==null?void 0:r.active_role)||"idle";return e.jsxs("div",{className:"overview-page",children:[e.jsxs("section",{className:"overview-hero",children:[e.jsxs("div",{className:"overview-hero__copy",children:[e.jsxs("div",{className:"overview-hero__badges",children:[e.jsx(_,{tone:s.snapshot.daemon.alive?"live":"neutral",dot:!0,children:s.snapshot.daemon.alive?t("Argus 正在运行","Argus running"):t("Argus 已停止","Argus stopped")}),e.jsx(_,{tone:le(n==null?void 0:n.stage.id),children:(n==null?void 0:n.stage.label)||t("未分阶段","Unstaged")})]}),e.jsx("h1",{children:s.snapshot.session.display_name||s.project.label}),e.jsx("p",{children:(n==null?void 0:n.mission.objective)||((u=(a=s.status)==null?void 0:a.continuous)==null?void 0:u.objective)||s.project.objective||t("尚未设置研究目标。","No research objective has been set.")}),e.jsx("code",{children:s.snapshot.session.workdir||s.snapshot.session.launch_cwd})]}),e.jsxs("div",{className:"overview-hero__stats",children:[e.jsxs("div",{children:[e.jsx("span",{children:t("当前角色","Active role")}),e.jsx("strong",{children:i}),e.jsx("small",{children:((o=s.snapshot.roles.find(c=>c.active))==null?void 0:o.label)||"waiting"})]}),e.jsxs("div",{children:[e.jsx("span",{children:t("研究阶段","Research stage")}),e.jsx("strong",{children:(n==null?void 0:n.stage.label)||"—"}),e.jsx("small",{children:(n==null?void 0:n.mission.status)||"idle"})]}),e.jsxs("div",{children:[e.jsx("span",{children:t("累计运行","Elapsed")}),e.jsx("strong",{children:ke((n==null?void 0:n.mission.campaign_elapsed_seconds)||s.snapshot.daemon.uptime_seconds)}),e.jsx("small",{children:n!=null&&n.round.current?`Round ${n.round.current}/${n.round.max||"—"}`:t("暂无轮次","No round")})]})]})]}),e.jsx("div",{className:"overview-section-heading",children:e.jsxs("div",{children:[e.jsx("h2",{children:t("项目工作区","Project workspace")}),e.jsx("p",{children:t("所有模块共享同一个 Argus 项目、工作目录和实时事件流。","All modules share the same Argus project, workdir, and live event stream.")})]})}),e.jsx("section",{className:"module-grid",children:on.map(c=>{const f=c.icon;return e.jsxs("button",{className:"module-card",type:"button",onClick:()=>s.navigate(c.id),children:[e.jsx("span",{className:`module-card__icon module-card__icon--${c.color}`,children:e.jsx(f,{size:20})}),e.jsxs("div",{children:[e.jsx("h3",{children:t(c.zh,c.en)}),e.jsx("p",{children:t(c.zhDesc,c.enDesc)})]}),e.jsx(ts,{size:16})]},c.id)})}),e.jsxs("section",{className:"overview-lower",children:[e.jsx(ps,{eyebrow:"CURRENT MISSION",title:t("当前任务","Current mission"),children:e.jsxs("div",{className:"overview-mission",children:[e.jsxs("div",{children:[e.jsx($s,{size:18}),e.jsx("span",{children:(n==null?void 0:n.mission.status)||"idle"})]}),e.jsx("h3",{children:(n==null?void 0:n.mission.title)||s.project.current_task||t("等待新任务","Waiting for a new task")}),e.jsx("p",{children:(n==null?void 0:n.mission.summary)||(n==null?void 0:n.frontier.summary)||(n==null?void 0:n.review.reason)||t("Argus 的下一步和 Reviewer 边界会在这里同步。","Argus next steps and reviewer boundaries appear here.")}),e.jsxs("button",{className:"button button--secondary",type:"button",onClick:()=>s.navigate("experiments"),children:[t("查看完整实验进程","View experiment progress")," ",e.jsx(ts,{size:14})]})]})}),e.jsx(ps,{eyebrow:"RECENT ACTIVITY",title:t("最近活动","Recent activity"),bodyClassName:"panel__body--flush",children:e.jsx(Je,{events:s.events,limit:7,dense:!0})})]})]})}const hn=["ICLR","NeurIPS","ICML","TMLR","ACL","EMNLP","NAACL","CVPR","ICCV","ECCV","AAAI","KDD","Nature Machine Intelligence","JMLR","IEEE TPAMI","__custom__"],un=["Novelty","Technical soundness","Experimental rigor","Baseline fairness","Statistical validity","Reproducibility","Writing clarity","Ethics / limitations","Artifact availability"],Oe="请特别检查 train/dev/test 泄漏、baseline 是否公平,以及 novelty claim 是否被现有直接工作覆盖。",Ue="Pay special attention to train/dev/test leakage, baseline fairness, and whether direct prior work covers the novelty claim.";function ys({mode:s,reviewerActive:t,hasReport:n}){const{text:i}=K(),r=s==="process"?[[i("Engineer 执行","Engineer execution"),i("代码、实验与证据","Code, experiments, and evidence"),Pe],[i("Reviewer 检查","Reviewer check"),i("独立核验当前轮次","Independent round verification"),ie],[i("形成 Verdict","Produce verdict"),"done / continue / blocked",Be],[i("回流下一轮","Return to next round"),i("修复任务进入 backlog","Repair tasks enter the backlog"),bt]]:[[i("选择最终稿","Select final draft"),i("LaTeX / PDF 与证据包","LaTeX / PDF and evidence package"),Z],[i("独立最终审稿","Independent final review"),i("按目标 venue 全面检查","Full target-venue review"),ie],[i("生成审稿报告","Generate review report"),i("评分、问题与置信度","Scores, issues, and confidence"),ze],[i("修改清单","Revision checklist"),i("投稿前人工确认","Human confirmation before submission"),Ve]];return e.jsx("div",{className:"review-flow",children:r.map(([a,u,o],c)=>e.jsxs("div",{className:t&&c===1||n&&c>=2?"is-active":c===0?"is-done":"",children:[e.jsx("span",{children:c+1}),e.jsx(o,{size:17}),e.jsxs("div",{children:[e.jsx("strong",{children:a}),e.jsx("small",{children:u})]}),c((a==null?void 0:a.role_work)??[]).filter(x=>x.role==="reviewer").filter(x=>/review|verdict|decision|completion|handoff/i.test(`${x.kind} ${x.title}`)).sort((x,U)=>U.ts-x.ts),[a==null?void 0:a.role_work]),o=m.useMemo(()=>s.events.filter(x=>/review/.test(String(x.type??""))||/review/.test(String(x.agent_layer??x.actor??""))),[s.events]),[c,f]=m.useState(""),p=u.find(x=>x.id===c)??u[0]??null,k=Te(s.sid,"review"),z=B({queryKey:["review-workspace-tree",s.sid,k.workspaceId],queryFn:({signal:x})=>te.tree(s.sid,k.workspaceId,x),enabled:!!k.workspaceId,refetchInterval:12e3}),h=(((Q=z.data)==null?void 0:Q.entries)??[]).filter(x=>x.type==="file"&&!/final[_-]?review[_-]?request/i.test(x.path)&&/final[_-]?review|final[_-]?.*verdict|submission[_-]?review/i.test(x.path)).filter(x=>[".md",".txt",".json"].includes(x.extension)).sort((x,U)=>U.mtime-x.mtime),g=(((oe=z.data)==null?void 0:oe.entries)??[]).filter(x=>x.type==="file"&&[".tex",".md",".pdf"].includes(x.extension)&&/(?:^|\/)(paper|manuscript|technical_report)(?:\/|$)/i.test(x.path)).sort((x,U)=>U.mtime-x.mtime),[y,b]=m.useState(""),[w,T]=m.useState(""),j=h.find(x=>x.path===w)??h[0]??null,A=B({queryKey:["final-review-file",s.sid,k.workspaceId,j==null?void 0:j.path,j==null?void 0:j.mtime],queryFn:({signal:x})=>te.file(s.sid,k.workspaceId,j.path,x),enabled:!!(j&&k.workspaceId),refetchInterval:12e3}),[P,C]=m.useState("ICLR"),[d,E]=m.useState(""),[M,$]=m.useState("conference"),[L,l]=m.useState("strict"),[S,q]=m.useState(["Novelty","Technical soundness","Experimental rigor","Baseline fairness","Reproducibility"]),[D,Y]=m.useState(()=>t==="zh-CN"?Oe:Ue),[v,I]=m.useState(!1),[W,J]=m.useState(""),[ee,ce]=m.useState(""),F=a==null?void 0:a.review,V=(a==null?void 0:a.roles.find(x=>x.role==="reviewer"))||s.snapshot.roles.find(x=>x.role==="reviewer");m.useEffect(()=>{Y(x=>x===Oe||x===Ue?t==="zh-CN"?Oe:Ue:x)},[t]);const me=async()=>{const x=P==="__custom__"?d.trim():P;if(!(!x||!D.trim()||!confirm(n(`确认在项目完成后按 ${x} 标准发起独立最终审稿?`,`Start an independent final review using ${x} standards?`)))){I(!0),J(""),ce("");try{const U=await G.createFinalReview(s.sid,{venue:x,venue_type:M,strictness:L,manuscript_path:y,emphasis:S,scope:D});ce(n(`最终审稿已进入 Argus 队列 · ${U.manifest_path}`,`Final review queued in Argus · ${U.manifest_path}`)),await Promise.all([s.refresh(),z.refetch()])}catch(U){J(U instanceof Error?U.message:String(U))}finally{I(!1)}}};return e.jsxs("div",{className:"ros-page reviewer-v2",children:[e.jsxs("header",{className:"ros-page-header",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"REVIEWER ARENA"}),e.jsx("h1",{children:n("模拟审稿","Reviewer arena")}),e.jsx("p",{children:n("过程审稿用于每轮 Engineer ⇄ Reviewer 纠偏;最终审稿用于论文完成后的投稿前独立检查。","Process review corrects each Engineer ⇄ Reviewer round; final review is an independent pre-submission check.")})]}),e.jsx(_,{tone:V!=null&&V.status?le(V.status):"neutral",dot:(V==null?void 0:V.status)==="active",children:(V==null?void 0:V.status)||"waiting"})]}),e.jsxs("div",{className:"review-mode-tabs",children:[e.jsxs("button",{type:"button",className:i==="process"?"is-active":"",onClick:()=>r("process"),children:[e.jsx(ot,{size:16}),e.jsxs("div",{children:[e.jsx("strong",{children:n("过程审稿","Process review")}),e.jsx("small",{children:n("Argus 每轮执行中的 Reviewer 反馈","Reviewer feedback during each Argus round")})]}),e.jsx(_,{tone:"neutral",children:u.length})]}),e.jsxs("button",{type:"button",className:i==="final"?"is-active":"",onClick:()=>r("final"),children:[e.jsx(Be,{size:16}),e.jsxs("div",{children:[e.jsx("strong",{children:n("最终审稿","Final review")}),e.jsx("small",{children:n("项目完成后的独立投稿前审稿","Independent pre-submission review")})]}),e.jsx(_,{tone:"neutral",children:h.length})]})]}),i==="process"?e.jsxs(e.Fragment,{children:[e.jsx(ys,{mode:"process",reviewerActive:(V==null?void 0:V.status)==="active",hasReport:!!(F!=null&&F.status)}),e.jsxs("div",{className:"process-review-layout",children:[e.jsxs("aside",{className:"ros-card review-rounds",children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:"ENGINEER ⇄ REVIEWER"}),e.jsx("h2",{children:n("过程审稿轮次","Process review rounds")})]})}),e.jsx("div",{children:u.length?u.map(x=>e.jsxs("button",{type:"button",className:(p==null?void 0:p.id)===x.id?"is-active":"",onClick:()=>f(x.id),children:[e.jsx("span",{className:`review-state review-state--${le(x.status)}`,children:e.jsx(ie,{size:14})}),e.jsxs("div",{children:[e.jsx("strong",{children:x.title}),e.jsxs("small",{children:[ye(x.ts)," · ",x.status||x.kind]})]})]},x.id)):e.jsx(O,{icon:ie,title:n("暂无过程审稿","No process reviews yet")})})]}),e.jsxs("main",{className:"ros-card process-report",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"ROUND VERDICT"}),e.jsx("h2",{children:(p==null?void 0:p.title)||n("选择一轮 Reviewer 反馈","Select reviewer feedback")})]}),p?e.jsx(_,{tone:le(p.status),children:p.status}):null]}),p?e.jsxs("article",{children:[e.jsxs("div",{className:"process-report__meta",children:[e.jsxs("span",{children:["Round ",p.round_index??"—"]}),e.jsx("time",{children:ye(p.ts)})]}),e.jsx(ae,{children:p.detail||n("该轮没有留下可展示报告。","This round has no displayable report.")})]}):e.jsx(O,{icon:ze,title:n("选择左侧过程审稿","Select a process review")})]}),e.jsxs("aside",{className:"ros-card review-live",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"LIVE REVIEW EVENTS"}),e.jsx("h2",{children:n("Reviewer 实时轨迹","Live reviewer activity")})]}),e.jsx(_,{tone:s.connected?"live":"warn",dot:!0,children:s.connected?"Live":"Polling"})]}),e.jsx(Je,{events:o,limit:24,dense:!0})]}),e.jsxs("section",{className:"process-verdict-card",children:[e.jsx("span",{className:`process-verdict-card__icon process-verdict-card__icon--${le(F==null?void 0:F.status)}`,children:le(F==null?void 0:F.status)==="success"?e.jsx(As,{size:21}):e.jsx(_e,{size:21})}),e.jsxs("div",{children:[e.jsx("span",{children:n("当前过程 Verdict","Current process verdict")}),e.jsx("strong",{children:(F==null?void 0:F.status)||"Awaiting review"}),e.jsx("p",{children:(F==null?void 0:F.reason)||n("Reviewer 完成下一轮后会写入判断和行动要求。","The Reviewer will record a decision and required actions after the next round.")})]})]})]})]}):e.jsxs(e.Fragment,{children:[e.jsx(ys,{mode:"final",reviewerActive:v,hasReport:!!(j||ee)}),e.jsxs("div",{className:"final-review-layout",children:[e.jsxs("aside",{className:"ros-card final-review-files",children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:"FINAL REPORTS"}),e.jsx("h2",{children:n("最终审稿报告","Final review reports")})]})}),e.jsx("div",{children:h.length?h.map(x=>e.jsxs("button",{type:"button",className:(j==null?void 0:j.path)===x.path?"is-active":"",onClick:()=>T(x.path),children:[e.jsx(ze,{size:14}),e.jsxs("div",{children:[e.jsx("strong",{children:x.name}),e.jsx("small",{children:ye(x.mtime)})]})]},x.path)):e.jsx(O,{icon:ze,title:n("还没有最终审稿报告","No final review report yet"),description:n("完成论文后可从右侧发起。","Start one from the form after the paper is complete.")})})]}),e.jsxs("main",{className:"ros-card final-review-report",children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsx("span",{children:"INDEPENDENT REVIEW"}),e.jsx("h2",{children:(j==null?void 0:j.name)||n("投稿前最终审稿","Pre-submission final review")})]}),j?e.jsx(_,{tone:"success",children:"Saved report"}):null]}),A.data?e.jsx("article",{children:e.jsx(ae,{children:A.data.content})}):ee?e.jsxs("article",{className:"final-review-receipt",children:[e.jsx(_,{tone:"success",children:"Queued"}),e.jsx("p",{children:ee}),e.jsx("small",{children:n("Argus 将生成结构化最终审稿报告;可在过程事件和任务路线查看执行状态。","Argus will generate a structured final review report; execution remains visible in events and the task route.")})]}):e.jsx(O,{icon:Be,title:n("项目完成后再发起最终审稿","Start final review after project completion"),description:n("最终 Reviewer 会读取完整稿件、实验、文献与过程审稿记录。","The final Reviewer reads the full manuscript, experiments, literature, and process-review history.")})]}),e.jsxs("aside",{className:"ros-card final-review-form",children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:"NEW FINAL REVIEW"}),e.jsx("h2",{children:n("发起独立最终审稿","Start independent final review")})]})}),e.jsxs("div",{children:[e.jsxs("label",{className:"field",children:[e.jsx("span",{children:n("选择最终稿","Select final manuscript")}),e.jsxs("select",{value:y,onChange:x=>b(x.target.value),children:[e.jsx("option",{value:"",children:n("自动选择最新稿件","Automatically select latest")}),g.map(x=>e.jsx("option",{value:x.path,children:x.path},x.path))]})]}),e.jsxs("div",{className:"review-form-row",children:[e.jsxs("label",{className:"field",children:[e.jsx("span",{children:n("Venue 类型","Venue type")}),e.jsxs("select",{value:M,onChange:x=>$(x.target.value),children:[e.jsx("option",{value:"conference",children:"Conference"}),e.jsx("option",{value:"journal",children:"Journal"}),e.jsx("option",{value:"workshop",children:"Workshop"})]})]}),e.jsxs("label",{className:"field",children:[e.jsx("span",{children:n("审稿严格度","Review strictness")}),e.jsxs("select",{value:L,onChange:x=>l(x.target.value),children:[e.jsx("option",{value:"preflight",children:n("快速预检","Quick preflight")}),e.jsx("option",{value:"standard",children:n("标准审稿","Standard review")}),e.jsx("option",{value:"strict",children:n("严格模拟审稿","Strict simulated review")}),e.jsx("option",{value:"red-team",children:"Red Team / Desk Reject"})]})]})]}),e.jsxs("label",{className:"field",children:[e.jsx("span",{children:n("目标会议 / 期刊","Target venue")}),e.jsx("select",{value:P,onChange:x=>C(x.target.value),children:hn.map(x=>e.jsx("option",{value:x,children:x==="__custom__"?n("其他 / 自定义…","Other / custom…"):x},x))})]}),P==="__custom__"?e.jsxs("label",{className:"field",children:[e.jsx("span",{children:n("自定义 Venue 名称","Custom venue name")}),e.jsx("input",{value:d,onChange:x=>E(x.target.value),placeholder:n("例如:Nature Machine Intelligence / CHI Workshop","Example: Nature Machine Intelligence / CHI Workshop")})]}):null,e.jsxs("fieldset",{className:"review-emphasis",children:[e.jsx("legend",{children:n("重点审查维度","Review emphasis")}),un.map(x=>e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:S.includes(x),onChange:()=>q(U=>U.includes(x)?U.filter(Se=>Se!==x):[...U,x])}),e.jsx("span",{children:x})]},x))]}),e.jsxs("label",{className:"field",children:[e.jsx("span",{children:n("特别强调","Special emphasis")}),e.jsx("textarea",{rows:5,value:D,onChange:x=>Y(x.target.value),placeholder:n("写明你最希望 Reviewer 严格检查的问题…","Describe what the Reviewer should scrutinize most…")})]}),e.jsxs("div",{className:"final-review-warning",children:[e.jsx(_e,{size:15}),e.jsx("p",{children:n("这是完成阶段的独立 Reviewer,不替代正式同行评审,也不会自动投稿。","This independent completion-stage Reviewer does not replace peer review and never submits automatically.")})]}),e.jsxs("button",{className:"button button--primary button--full",type:"button",disabled:v||!D.trim()||P==="__custom__"&&!d.trim(),onClick:()=>void me(),children:[v?e.jsx(pe,{size:14}):e.jsx(Ge,{size:14}),v?n("正在创建审稿任务","Creating review task"):n("开始最终审稿","Start final review")]}),W?e.jsx("div",{className:"inline-error",children:W}):null]})]})]})]})]})}const xn=[{icon:Xe,title:"GitHub Repository",zhDetail:"README、LICENSE、CITATION.cff、环境文件、Secret Scan 与人工确认后的仓库创建。",enDetail:"Prepare README, LICENSE, CITATION.cff, environment files, secret scanning, and an approved repository.",zhItems:["选择账户与可见性","生成发布清单","预览 Git diff","人工批准后 push"],enItems:["Choose account and visibility","Generate release manifest","Preview Git diff","Push after approval"]},{icon:ft,title:"Academic Poster",zhDetail:"从最终稿、图表和结果中生成可审阅的学术海报。",enDetail:"Generate a reviewable academic poster from the final paper, figures, and results.",zhItems:["A0/A1 与横竖版","机构 Logo 与主题","图表布局","PDF / PNG / SVG"],enItems:["A0/A1 portrait or landscape","Institution logo and theme","Figure layout","PDF / PNG / SVG"]},{icon:et,title:"Project Page",zhDetail:"生成论文项目宣传页和可部署的静态站点。",enDetail:"Generate a paper project page and deployable static site.",zhItems:["方法与结果展示","交互式图表","Paper / Code / Model","预览后部署"],enItems:["Methods and results","Interactive charts","Paper / Code / Model","Deploy after preview"]}];function mn(s){const{text:t}=K();return e.jsxs("div",{className:"ros-page release-page",children:[e.jsxs("header",{className:"ros-page-header",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"RESULTS RELEASE"}),e.jsx("h1",{children:t("成果发布","Results release")}),e.jsx("p",{children:t("未来用于把研究工作整理成 GitHub 仓库、学术海报和项目宣传页。当前只展示规划,不执行发布。","Plan a GitHub repository, academic poster, and project page. This view does not publish anything yet.")})]}),e.jsx(_,{tone:"warn",children:t("敬请期待","Planned")})]}),e.jsxs("section",{className:"release-hero",children:[e.jsx("span",{children:e.jsx(pe,{size:28})}),e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"PLANNED WORKSPACE"}),e.jsx("h2",{children:t("从研究产物到可审核的公开成果","From research artifacts to reviewable public outputs")}),e.jsx("p",{children:t("后续将调用受审计的 AI Agent 基于真实工作区生成发布补丁和视觉资产,但任何外部创建、push 或部署都需要人工批准。","Audited agents will generate release patches and visual assets from the real workspace, while every external create, push, or deploy requires approval.")})]})]}),e.jsx("div",{className:"release-module-grid",children:xn.map(n=>{const i=n.icon,r=t(n.zhItems.join(` -`),n.enItems.join(` -`)).split(` -`);return e.jsxs("article",{className:"release-module",children:[e.jsxs("header",{children:[e.jsx("span",{children:e.jsx(i,{size:20})}),e.jsx(_,{tone:"neutral",children:t("规划中","Planned")})]}),e.jsx("h3",{children:n.title}),e.jsx("p",{children:t(n.zhDetail,n.enDetail)}),e.jsx("ul",{children:r.map(a=>e.jsxs("li",{children:[e.jsx(st,{size:13}),a]},a))})]},n.title)})}),e.jsxs("section",{className:"release-flow",children:[e.jsxs("div",{children:[e.jsx(xt,{size:18}),e.jsx("strong",{children:t("扫描批准的工作区","Scan approved workspace")}),e.jsx("small",{children:s.snapshot.session.workdir||s.project.workdir})]}),e.jsx("b",{children:"→"}),e.jsxs("div",{children:[e.jsx(pe,{size:18}),e.jsx("strong",{children:t("生成发布计划","Generate release plan")}),e.jsx("small",{children:t("只生成补丁,不直接发布","Generate patches without publishing")})]}),e.jsx("b",{children:"→"}),e.jsxs("div",{children:[e.jsx(ie,{size:18}),e.jsx("strong",{children:t("安全与匿名检查","Safety and anonymity checks")}),e.jsx("small",{children:t("Secrets、License、身份信息","Secrets, licenses, and identity")})]}),e.jsx("b",{children:"→"}),e.jsxs("div",{children:[e.jsx(Xe,{size:18}),e.jsx("strong",{children:t("人工批准","Human approval")}),e.jsx("small",{children:t("之后才允许外部 push / deploy","Required before push or deploy")})]})]}),e.jsxs("section",{className:"release-boundary",children:[e.jsx(ie,{size:18}),e.jsxs("div",{children:[e.jsx("strong",{children:t("当前边界","Current boundary")}),e.jsx("p",{children:t("页面没有可点击的假发布按钮,也没有合成进度。等 release manifest、异步 Job、Secret Scan 和审批记录后再启用。","There are no fake publish controls or synthetic progress indicators. Publishing stays disabled until manifests, async jobs, secret scanning, and approval records exist.")})]})]})]})}function bs(s){const t=String(s.event_id??s.id??"");if(t)return t;const n=String(s.message_id??"");return n?`${s.type??""}:${n}:${s.kind??""}`:[s.type??"",s.ts??"",s.agent_layer??s.actor??"",s.kind??"",String(s.text??s.title??s.reason??"").slice(0,160)].join("|")}function ks(s,t){const n=[...s],i=new Map(n.map((r,a)=>[bs(r),a]));return t.forEach(r=>{const a=bs(r),u=i.get(a);u==null?(i.set(a,n.length),n.push(r)):n[u]={...n[u],...r}}),n.sort((r,a)=>Number(r.ts??0)-Number(a.ts??0)).slice(-600)}function jn(s=!0){return B({queryKey:["v2-projects"],queryFn:({signal:t})=>G.projects(t),enabled:s,refetchInterval:1e4})}function gn(s,t=!0){const n=Os(),[i,r]=m.useState([]),[a,u]=m.useState(!1),o=m.useRef(null),c=!!s&&t,f=B({queryKey:["v2-snapshot",s],queryFn:({signal:A})=>G.snapshot(s,A),enabled:c,refetchInterval:5e3}),p=B({queryKey:["v2-status",s],queryFn:({signal:A})=>G.status(s,A),enabled:c,refetchInterval:6e3}),k=B({queryKey:["v2-transcript",s],queryFn:({signal:A})=>G.transcript(s,120,A),enabled:c,refetchInterval:8e3}),z=B({queryKey:["v2-artifacts",s],queryFn:({signal:A})=>G.artifacts(s,A),enabled:c,refetchInterval:8e3}),h=B({queryKey:["v2-git-diff",s],queryFn:({signal:A})=>G.gitDiff(s,A),enabled:c,refetchInterval:8e3}),g=B({queryKey:["v2-journal",s],queryFn:({signal:A})=>G.journal(s,80,A),enabled:c,refetchInterval:1e4}),y=B({queryKey:["v2-events",s],queryFn:({signal:A})=>G.events(s,220,A),enabled:c,refetchInterval:15e3});m.useEffect(()=>{r([]),u(!1)},[s]),m.useEffect(()=>{!s||!y.data||r(A=>ks(A,y.data))},[y.data,s]),m.useEffect(()=>{if(!s||!t){u(!1);return}const A=Rt(s,P=>{r(C=>ks(C,[P])),o.current==null&&(o.current=window.setTimeout(()=>{o.current=null,n.invalidateQueries({queryKey:["v2-snapshot",s]}),n.invalidateQueries({queryKey:["v2-status",s]});const C=String(P.type??"");/artifact|review.completed|mission.completed|live_view/.test(C)&&n.invalidateQueries({queryKey:["v2-artifacts",s]}),/ui\.|manager/.test(C)&&n.invalidateQueries({queryKey:["v2-transcript",s]})},900))},u);return()=>{A.close(),u(!1),o.current!=null&&(window.clearTimeout(o.current),o.current=null)}},[t,n,s]);const b=async()=>{s&&await Promise.all([n.invalidateQueries({queryKey:["v2-snapshot",s]}),n.invalidateQueries({queryKey:["v2-status",s]}),n.invalidateQueries({queryKey:["v2-transcript",s]}),n.invalidateQueries({queryKey:["v2-artifacts",s]}),n.invalidateQueries({queryKey:["v2-git-diff",s]}),n.invalidateQueries({queryKey:["v2-journal",s]}),n.invalidateQueries({queryKey:["v2-events",s]})])},w=ss({mutationFn:()=>{var A,P;return G.startDaemon(s,(P=(A=f.data)==null?void 0:A.daemon_commands)==null?void 0:P.revision)},onSuccess:b}),T=ss({mutationFn:A=>{var P,C;return G.stopDaemon(s,A,(C=(P=f.data)==null?void 0:P.daemon_commands)==null?void 0:C.revision)},onSuccess:b}),j=m.useMemo(()=>{const A=[f,p,k,z,h,g,y].find(P=>P.error);return(A==null?void 0:A.error)instanceof Error?A.error:null},[z,y,h,g,f,p,k]);return{snapshot:f,status:p,transcript:k,artifacts:z,gitDiff:h,journal:g,events:i,connected:a,refresh:b,controls:{start:w,stop:T},error:j}}const vn=[["overview","项目概览","Project overview",rt],["experiments","实验进程","Experiments",_s],["copilot","Research Copilot","Research Copilot",Ps],["literature","文献中心","Literature",se],["inbox","科研收信箱","Research inbox",we],["ide","AI IDE","AI IDE",Pe],["paper","论文工作区","Paper",Z],["reviewer","模拟审稿","Reviewer",ie],["release","成果发布","Release",Cs]];function wn({sid:s,active:t}){var z;const{locale:n}=Ns(),[i,r]=m.useState("overview"),a=jn(t),u=((z=a.data)==null?void 0:z.projects)??[],o=m.useMemo(()=>u.find(h=>h.id===s)??null,[u,s]),c=gn(s,t),f=c.controls.start.error||c.controls.stop.error,p=o&&c.snapshot.data?{sid:s,project:o,snapshot:c.snapshot.data,status:c.status.data,events:c.events,transcript:c.transcript.data??[],artifacts:c.artifacts.data??[],gitDiff:c.gitDiff.data,journal:c.journal.data??[],connected:c.connected,snapshotUpdatedAt:c.snapshot.dataUpdatedAt,refresh:c.refresh,controls:{start:async()=>{try{return await c.controls.start.mutateAsync()}catch{return null}},stop:async h=>{try{return await c.controls.stop.mutateAsync(h)}catch{return null}},busy:c.controls.start.isPending||c.controls.stop.isPending,error:f instanceof Error?f.message:""},navigate:r}:null,k=p?i==="overview"?e.jsx(dn,{...p}):i==="experiments"?e.jsx(Ht,{...p}):i==="copilot"?e.jsx($t,{...p}):i==="literature"?e.jsx(en,{...p}):i==="inbox"?e.jsx(Zt,{...p}):i==="ide"?e.jsx(Xt,{...p}):i==="paper"?e.jsx(ln,{...p}):i==="reviewer"?e.jsx(pn,{...p}):e.jsx(mn,{...p}):null;return e.jsxs("section",{className:"integrated-workbench flex min-h-0 flex-1 flex-col bg-transparent text-ink",children:[e.jsx("nav",{className:"workbench-module-tabs shrink-0 border-b border-line/60 px-3 py-2","aria-label":n==="zh-CN"?"科研工作台模块":"Research workbench modules",children:e.jsx("div",{className:"flex flex-wrap gap-1",children:vn.map(([h,g,y,b])=>e.jsxs("button",{type:"button",className:"workbench-module-tab","data-selected":i===h,onClick:()=>r(h),children:[e.jsx(b,{size:14}),e.jsx("span",{children:n==="zh-CN"?g:y})]},h))})}),e.jsx("div",{className:"ros-content min-h-0 flex-1 overflow-x-hidden overflow-y-auto",children:a.isError||c.snapshot.isError&&!c.snapshot.data?e.jsx(O,{title:n==="zh-CN"?"工作台读取失败":"Workbench unavailable",description:"Argus API did not return the selected project."}):p?k:e.jsx("div",{className:"boot-state",children:e.jsx(_t,{label:n==="zh-CN"?"正在载入工作台":"Loading workbench"})})})]})}export{wn as ResearchWorkbenchPanel}; diff --git a/frontend/web/dist/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 b/frontend/web/dist/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 deleted file mode 100644 index b12bb2e65c284c49e964e6bab2296d76ba089c5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6180 zcmV+<7~AJ}Pew8T0RR9102m|y6aWAK04hWP02j0X0RR9100000000000000000000 z0000QOdB2?C_hM6K~iErO;$ltJO*GtQ&d4zfj9tyBrkpu2nv}XlO_vl05G610X708 z1A$BgAO(pA2ZL)22OEVYvk?_+8~_k%=R@&d9`I!T8ft|NtW;6e*D9d69u`p;|39lr z28^m+fdwi&nJk7KUt%?I^NW)pjxx-E0Y}9M6s~&U5t7XM@U*S}b7v^WD8!=dT6tK> zfXeEC1qNcpc9&86-v8>W2#(5G6-gN&@uCn;APHm;jZimI(`w^2PSfk$%iFJ0k&Jn* zagU#MCyi<6PQH;t#vvgPDvS&T6a^4Mx7&ywIiVm3$O>&Jw+~s`R;EOi6K@-MX@ro( z{&~K-{k?lTD;i-GK|z)P=6|kbe&FE0AEkTKe-m`n-%j9&YKA&o>o$qj` z4Zdd`Nn|fD?~RF~D50vLXsM*JSBxajhA7#Wf-dW_$X-$|xh)A5xoCJp))I9odx^OV zv7)7^C@P%D6lgs^-l(zL=5KywYQ?gUD=g&oah>_!sz3lZ0M!&25YVn&trIv|lkQ5a zd-Bx1Np&SZH-I`pa5X`wD5MWyAl)C5d+9iczykoA4FCv7`IP>v-JWfF7n}e990Ix> z#Ca^@BXR%a?5Ui6mUH&9H+~RCagt_vQC4-+63RHCbYq%Nl*H@^h(JO5bE!P(7PIf> z=>P}<1QLb-nKBy`HbuaIM^)73@BwP=*;Ye4VMtBllkQOh_Aknm5G4vR~qW|*W7Z?V>6cR*q1-9+iU>b-dVJnYO9_0 zI_jdUZn~>38JCcj`ygwgw?}LR37b{+(NmSHQr32u!GG*&8 z*8y^lP;i2hGyK>=%7s5y0o(*~7ep+WhY%8>yoB=>!AB(DI9Ug{pu*U+0~1^gRvr{V ziy%jQ87jKL~eE9O<8AM9Pdj^qH@SZ`G{CLkG{sMTfiv+GCHXCQ1 zPecnbRMFJ|Z-1o=P*-m&uFdR|Bx9fI>oj;i>D#exly6&%qfv`#D9!*qZ5_gXW1B;s zg{PZ(vhC0w8=wW&8npHBkyYdUMiVRGYw`YuLt}iL_FJ^j7P8F>jc8qaT-%qUEe#aP z>Se9(6z!z_rfclDPZ>(&Tx4PB{Ox*Tg2;9EF|Nlro$HsznPC&M*jtK!`M!@V0!fS#?+aX?O>`t_wfdLw?7oIISxT%T@EkQ)qlHX649bKvw3&FC7WahS^maN7`cU>B4(T(p70i zr7pQK6QKOxJZ3qf z)pyMD`Z0f4d%3VJ`+m>!345hDKC~*uz@-&U(x@_ZMQkco?O@ZShb?}x=R(urJ3H@~ zCb+L|CBZ#Hzf+$V(fgF^n2P*f#uL>oP+Ynav@Kby>*}S+pq@J#-pxK7UbjVV!hK(Bq|X z@?g%>`}GCKv>-cnx^PWjb?-Q6*=ecUZ#ix$={5F#UnfhV&L6_ZAyq85@~bU7(kuy< zwryBo`GrpAknfJGSml-VS1OGsm_2j09?30@KeIlnvu>5HCd;GxXARb!N~g#X?%UBS z5Be*RCT3Je#hdd*pQK*TQmI38#dUG%#@@!ZmoPKjP+i*;6=y1V$)ZrL@6~_AijXnn zbGC*3^mDhBZ1s|_pm*c$8Wh*64%$7V3Y*t*#j`EV<@x#Tp;%^VW~ZlwhN;tMUm0hM zScpv@{OU>nC(HeHQq<+&T^-}G#6z(f>W%)Kzwyt(k)|gjwU65l4~ztjus^V<7^gLv zg>wJrYql#qFMmgCBB%PuxjCPNNRuD_tm()}na>$g<~5!sC75U6T#NC-5{+Sg^9R(vVwTZmYfqfPA8wr6)_tN)BGVqx3DKB|7KO<>oZn}5xwFl; z@pfld6uad1mQKE^B5EV74!`ql46kJl|J-@CW$O3rEH>?X9j9KpR$Um9Zba2_ZP|_& z+zS#B@G8@7Vdqol+r+ZAZ&jc57X8@KvUPlQsQ#aGtdm#u&&m}?sV4hJ6lFc-o~jna z`X9b?{s+ztK{9Peu6iEFspq%lX!2S!Q|48AFQpBWxxB=zm^Uf~T>kW`?{b6r+TucW zda)L@AG6EYo8LFi@6vradwjwFJrtL}PRi4y3e6%Z&0vkzu#K?^MwR6HJQXY7T-Y9+ z%Bh?uS4Oh2?D_U~$98>=Z=|X`IlW#e7M3(e;B7q3BX?m&kE(4R>EwUL3_*fTwyDiY?4oyBYM|ZuD>w= zK0u}KT1VfM(7xE|jUJ+R3f>QsIupqU%56JAHl~Ym+#3)#PO{uf>`}C|m>%n?wYu5{tcE&z`baya3&x^SdYrWgIdS;*K;XZuV z&-i7E44yp(q3=&*(;S_FSvoz&;=%zE1YUrT72MptoauyBO-WrOQ6>oO2M6s0pUj@t zj>53ryPhJ^Yc^{|{WX{SDV(dy)gnJ0pnHeRfs$lg&JFG zu(uUAHL#1|s&!_4qa7#&8zKr9~( zs2mPF4Iy!Nmk=0#OEo)NxCPgZ!5|p{%)_^Mz|lSe=u%`HPMgRGJ#I%5-{nyiMdAOWMp;fBO41!}FyvOngqsvkafPpcZHPymCLTI? z^!30XBSb<;Fn4t1awbY9Lz!|W*MM-H5MGhb!4|nDvX7@$#(MSpTVBe|%wSSqduA zNxn%B)mTeQGHK-*gfejRE*Viau_ackns{aRsou}e-_6qqfj`XCVSgzcCT&t`C$a2v zx7gVSiDaRUOm_Fxtu42EPo=6!8~SX^@Z z>xUoW2S;>{k}Kt6;UJyf+s@{SYC&{^o6Z@LL`70m( z%%@(vbnX;RPd|M$`upGi^9j@{BA7}IC>3T@6r>*fjd_p)$JLLUuR4e|pHFWrRTdXH zqov%^)%$Xx(?^ATgld4TG1--ZH@uwRr-!2#?`h{3N1*R}nY65&CwnWN$)k(mPEIR| zbwr^UiO_3ny%vQ;SVL#Snt4O~pc&0CEFG{IYYffJ-Lc9y+h!I7F{bf%-f63F!6m5D zOra2O2=9dDzsh#|&dyW#2=v->5{-}lhI;t$!Gkw5-t#OzdJM_?f4Yty5QT+JF2ma4G=t0kx z7LTW+Ll6!xL#XaBg5dGgQH>}d6yv5dgu)&Vj#@@XA3WeVK^TWFK1o(>rJ*MmRV(=) z5=!6MsVCIY>grJx#M>KFATTf>inv`rjZPnJiD8)ZpyGkzVIc~AQB&J>=gzC$&%CPa z_1tQE$h=ziEqOpZT#mvMi$Poz&RO&OZx{}@b#=G5*f=8_&5FbGLco8+Lri^)4H|~5 zQb|YH!`U0hchYaVMn|7Lt9;`2yANV3+i8Jhcx|vrUcR?eb z)6lC|f?aJ^PK+{&<>>C~$u5e#{tk;;CX18fmGaX4$D7*Ri=H402&k5i*R^4Iir!L5 z6?M;wa_sFnBJA0D-R^iinw}lC)z-EZId`5x`w5evG{kU#1#uo7wecwE#$OUjVD%s) zy#x5U>a@TEJtDZ<=rEU%cKaReX5s!P65(*ip4&Y>zUCk!48}j4gBc$E?w1M!81Sql zLAfE?P@{YrvIi;bRA3y7kr5?Lm&w#+iC4#rv~1{72YCn*Yc4l5BsFnhnxvun!tKo$ z>O+F?@sAe0HSBwr*ExB?M&x?JUz*z65C%-^pCLojHV*XnfSUUB@%^SR*Qr7)ha z0;?@nfeCDGwzsbc9ooVg*B!}g$%ry}K&Txg!$xl)i>2o)V;INkiZ9_? zDg6|K3Okwn(Xl8>)lq#|67%Vuooo$gJ!g!b2KiX19Lr$rFpN-GV++I@qNQ|MD4bNX z>1Kzg>~=IqT@h%!-6VL;^mGQAL+n5^WTr{~Yd3FR8R%5y=AJ(M_kZr(e>ky{XT9gI zz6O6E30Qtq1;*nN2DWe0*oM|2wv|}to1M*id+(re9!YZfFu7u0tW`Q~G>Qo@}hI#uw)o z;vn4-rz)*HO(Psv1=wT2yQ#b=Q$?0B_Viv^-{0ZJxP9Onu19X9sGg9KDI_6n2LgQ- zl#egyb#&mx^ft1dAv|3vfm#*eu)2J3z=mLM(JE=M+Z)rYMBJ>>XlG2ULdvBwJ$jfx z_A}=)Mfv`VfO7MYg{F zHg7&KK$O;&(Dht=8{dhY#hA8uEX7zYo~+KBIWsF3vIUqn7ex_RozZM}V=RjMJ1g0C zi{R-CWDkz(#9&UPatK>|15mXhpcI5S~MAna?k=W~MB}C#6itNS32# zMe*+Y|3k{{g`C^W;_Vu_)MQ2mog zTw026mc$b&qIA-lq?GZ*My;%y=%y|^zqI$_00j_QE5t}RF;c}R9>LH zRFMcR+&Q8W4j-8kn5K4PueW6dVJfRJTs`x@b&yGIwazpg`lWX}%~5 z*@3=pQL<5guXgv2!C{`+Ze^-^+4l4R*6AIh9l)Ijx@8ibjbohDJC8&WtYSu*l5)og zSLX-KTAFtE&NFQXx7#~U5OP{L*yV`wpo8LTcFp#fMlHsY?YNCWzllOl50O=)OK%h{ zrk3BaFSm4THJcHxa4KVsseWrOREqnPcxNzmhotOs+PhPzF@FgW9r=aA=Uw}YCf`tf;CSk%wh!pi%_teIjjlvmUYb-UR zbE>ecmzrM2ONtesq*+0ftSUeWSYaq3E2;wYcBHpArGYuAav(2o$#bPLy$YdgPC=He zE?^0GVJsmpYKgTfjzwGKj;Vv@6Ci&wo}lpRpBd8|f6%hlU%-iStb#57#J1wH4FCXM CGVd(_ diff --git a/frontend/web/dist/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 b/frontend/web/dist/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..fbc0ebd764052c90a4f20d9493e815c6c1d73c12 GIT binary patch literal 6176 zcmV+*7~ki2Pew8T0RR9102m+u6aWAK04hWP02iFF+j9ktNL1PQS-;PiHh}q zsqGqA)l3KmsEFeXftg%l4Dbbnf;h?;433sCELUS>ge0>*JZ-D@hjeU2O3JR4!%7BJ zRtGFFSghEHY~!Mv`Tw^4|K3aho0g%a4dfu6gC342+FRc0|CjOq7Q^Po*Ngi2%hVgE z>S<$P6jI_41_KNO5CS*4jVR=Vf*|E6vVXLpOt->=lJ1Y@N_lE<8e#L&*0a7?j?eS| z-rnEtKNB5c6hT3j1+MvDYq}WtZ?}XFSaqt(#vD+HNF&xR=3mx3?DSL^z3$dc5 zsVFL($P{QjKi;UZ+vab6WopH;kSi?Y^>Ll~->N_WcmUNDXb^B*w^}FgvL@Y^SeKIO za!Oq*&<&Pu5QzS7P142+x{#+_g+HS(tItBni zfIz|!AV*Gv!lv+PaH;BA5gtG-I@@X(Ck&}iQnEZsz}`if5}-sOWs)H<2NF(&j(XL4?awUC<&6J7)D1gLlyu|D@UIGay_8t z2@Nl3c_WY;lzas76-*?ApHO09{DqT17zLrUKs*Y@RbP636qdRY@N zOL{3cYco~*DMJYbDki>f-AXz*$hqz9W0dx@)_+r=KQO>%^!IyLYN&}LDAMC?46XgP z63q1rJf~FahI==&5#?A+%wri^X+&kvnUGCYjL)|ruwNuk%Z_DG~v+m^-|7x zg6-dxCTu=gp_=S2Rp0f4p3|)UK_CW~TEhf#vEGd2dGVR}z!vm?By z<z0)AeU~&a~AE2kSmH9$z+bc~rdy{g-PUD4U_jpWw9yyR%H9I$|%k zYw*;>W^9?D!n{JXBSB@k>Xtw`D?Y_Rfy@%ciKl@+@6uX@yUL zU7#;6Y;H)+sG4ZW**ktz-o9})rIo2BU1SGiXQDdFbTG3g)hF2t!vv_Hw{|;r8ucA> z4DAkr^BxIYqjQyVH94*~-5%jwr*(>);O4dM>d?PE zWlDBkY?8f5_#X9gu1+6OAZ|>|vfgWKdkJ%*EY)pov5B_gmn=&3=6mLk84)suf5Egd zpM4>k$JEXI8fFoD$)Y)3d(bXhRamizEt}wIttu*NkHsKN>%XNq-ZR@JproUzZ)XRd{AnRX`rdw`4ZMf04`Qg*hr_7HGss}iRoDy}= zorP;O(i7iv3^Ah=YIfqM;mWjYzZkmm)2FbO^vR89NC_reSl42_q}*U`v)Oji;Is?B zKGxYzeWcv7`N&p%fS93Gg@(Nc@u!Ftt=cSHF0^eF?iKdiXi?a_cS2}tI%iPM({Fo@R#nZwKINT#xt2e=s5Mv|qaJDcdH~!5UK2tQN_WOb`p0TV%pH*f= z!zava=G+gB^Skt$!|a**+Fx_xo76%>hQKZqGA+(H1Jj(4Y}HB5Ox7{#6(yZ<8LZBG zcufqGz#Qr9^mLo^17dVlX<1DIzNEZ08t+(gr`Oj^M|5qbF?=7Xr)w_wI-^gP9($h> zkCGq^0U$u4C}-02B+&WbxA@?#gKLHIbSrr-OuxJ3db*$$Mm5PNPZPdt0^h%W01BY8 zc9EkmPef0`+>05)cM98&lQDxS0!p;qAe+*u?`ziV#iXpGA-y*%pyaemHq4qDKrLF5 znKnA*bD|Zds7BVI`eXXW#&LDLJC*BIsXKNaIk}5yuJpyfa*Mpzuk^Uy+fVxNd@uWE zEAr@)r4a=DM3%2z>)~2C+`x>&0}=!>z>f(s_O9l;!MdU2ui z6SUf(==uKE=BD6(o(t4#s{x=XDAA`vAsgb;JT(yp;R!(T^E?_r)aW@dHj09V7(N;x zvs%#%2=S>D#$e(T+1y*yu(k_Z zX*f!xlKEN`Hk+7|2au|QG2_NYD0F)0OkZ!8MGNwUF;~=vOgJi6+l*>tQYvLE4fmh4 zc1~j6;6YbLElHMI3cabzv@Yr1-`&b&afFQXn6^(ac)~)W{gHNKqr{a;x%r(CoN*2K zWcAp9YM8HicG%}b=qEJoR(`|)N}?R5NQsgpIs*IzdE8qoK!gZzXp|eUT^9gMuzmar zgccV!uJe2#&~+C_;qoGeeSw&Q=SN2`7ZDm8d)R@a*Fh4b@%6T9HnHGA57A~hXs9~8 zxvlNpbgy}n)Zqv@VJDJEv9JMS;QukLC}s}@;WjfIa>(M`O@gPm!q>kx!oqGH3%XeN z&5$4?L_$fR@9HWRb%aQU&=qy|Az?oySQrfAD78n12=E2Q7I3n$!tE`rFu+rXB{hyz|mn9(t{xD01{nc<7yM*jsa@FVP zw9xmH>2eF|ERL%?I}S%iCac#?;O-3^k+vEFsv9j<`smhp%9oE=vRnp!a0mHvF1^PVYeBbxB_q&iL=Bx1kR+Iz+N=PjcZhBADnVs)3ZHv0xvvPEzw*Y1 z@4s~E+$ofsdGc`Vcfb3`W6-SgVCqdk$PgnVK=%G$nfqB_z50&%sui0`rQFs^WqFy= z8p@qL{Vx|feN-+*i8gSxC%aOxn&*oK)Zl3T3vD`o1k?l1dJMT@a<2 zLLpWY-V2L=5iORzy(i#J@WhgnaAM-u#DfR-@4uP!uIC|mSKQvV+b@GZi09Yvm{I1} zF$3${Yt(A3Hj(H&=}df)@cE98Xb$eD^1uFdd>o-WBX=Cvz%NM$&%g7|!2f9nedt@; z;PG^Iaopi$0Ja>4<2;@gtPus6pxkr{6UgI1F~iu{{re2VapSB_m)`G*9K%2oVfr9rk{7o)W1^fI5_95Z<{ zjl6gz*yA!WVvJF|NcLV&c2VT@cNyd|8EgzI6<6*(-t=}Rc7iNGz*;_D)<(fo^j52~ zsC!m~HIuPM*t7FG9En6UJv(B@<=TmyJI`R(6DEOakYWJh_(gc+VqwsMza*4I@?lE& z44`MS(*h6l5a(#4gG^G|tEC^y#u{bg!bTD8#gptcg zBOLe6JB5Kx=Ots)$yntTqf6IJFPcJV>QISS@XAzr5lve964_RRKYOO%Ac4ij*~!k% zOva~}JTRWCt|}DODvn4SwJNJ?4OWWu-jG4;{W72l1~v0qole}#Pdt9M5FEY~MvDzV zD=Q5^1-7@{?lrDUS>9lJBY7E)NYe*|+Ce&8TU@evi)*Z!^KVivb<2tiPagd1-?#5Qm|QE--t$*q z0*xaM3yvCq@;H|QySHfU0_OGN~C00-VATH9~KgpY1de$usd_sdeDSfH3F>u)Xb1o;v(zd4e3_JnRUCdV56?{|xY~ zBp&CnVSnH0TySif-&Cgx|Sm}*CguJ-PLUiE>{f15#kjtQC zkws?iO*(RR#Wi{cjPooMd~Ae(0`V{0*zhHSc_wp7hQJL4f*iUuds!Q^R+aZ~X`3yb zhPJe%Wiqe2m>8DUpZWZYi++D3cD`C#8XiV3dJjbB@!0Jg$Cz~Ss$*+q!&YD92QmTz z3*s9h2Hu#?eaqEVhae`bu#4uHWB?gqrmUx-!qKJ^E|H_KNE(b#G1J`gpazIJrgp5c)0V>-N7%;$6 zVo9wc1M@Sx&~yf~WW5UHvM7V(wSxmX1aqfSN&<_eJ;MsvK})q3Mn_A8Vm8ym2T5o- zb1q*I?_IlUBln+R8bK|kXfn#kR5Fu^dj|7n=~#|xHP?-CJC;Vf<_esG(A@c0etN>3 z&zs}+RTw>x5RiaSvf4X10lh-eIO2{Pl$udfySHxbI!8vF`n(6gnDpcW*HMc?eaCIy zIe-F0YHbNw&&7A~z1UfVNQ1{xw2jKi`l6oE(|oy5hG~15=K-zKnk^25cz%CxEnBJr zJOhEk!Ep;~^x13?B7<)TDklVl1k)61c z?|k`Rq}*C6%Kf2oo-1YxbqO>nGHR6*-ds86d4w)rzM49qZ5+j)(V7k#Ybp@7K8fU| zrTBK0KM|r*H@#YIL0Dl;tu{$Z+HEM7m{ckaeZzW@KBwKHh}{AmHXv;7bO{3`3zV2h z#C<+YR1Ahn{KEy8Dx#DdwB^GFAk_yISH&ugMothy!Gyp-uEC*XjpLXO1S$m%Fj89g zQA?#l8WSjuwhEM>3GGQj_tQW;%<5rT3k_)kLjaJ|pHUq1Z_s3XA&2v20DM;c`T+2G zvTmz~TjM0l1O@Ox0RRZ_N^*dzj%dv*9J~7>O3JT=^ynz&2!k0Ba3Td_S(F1>3c(Nq zQf*{}!NK*AU7@NI`i}&C!1q*{)-$Tg$2F=h#3rgqh*eaZ z(l{EJh?52tCW{6~BZY>fCUHYqq%(y@1E|oeTaz9JW1P%g+Ko`GdC+KIl!oj;Pp?>c zXu4OYyLWI{Xo6cArAeMWJ%Dq%SF{7T^FX&!qPua7lX~ZoD1}puO}nM+9pRe%pjBJ5 zt9$2}?h4-3-g$zM)yDoFM^ptJ6koGzw$EsK@s@1IZ4UY^6mm?6tQtLfvp6xTeDA*8 zim}ydY`DTvtTjgY?Y&Sd@ej97lOVBQ+rK5PgRz=0oi*@m^O>ak-aT#a{``ENVq(OR z!5(GO%YR=h)4t8L_|R-r?RNP7h+Zq#Sn>Q`mJ@452q{|0VRm@AL!1$2( z3+UMXSixl+enBJ(i`(nkA_+jCrTAHfct|9KgBTf%Y~d0f;S&K75;sB>c_28t+p1gn(bEPufilJ*xL6)p8aEY)m ylo*Rza;=I((H7A$bh_t-JbKWJI&&rGhBV->9ZgRZ%sr2qh72hbG& literal 0 HcmV?d00001 diff --git a/frontend/web/dist/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 b/frontend/web/dist/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 deleted file mode 100644 index 7588acfb0dfefc4166bca6735a4b65911b566aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12876 zcmV-SGPBKhPew8T0RR9105VJf6aWAK09+&h05RDB0RR9100000000000000000000 z0000Qf+HJ;8XPD;NLE2ofZ_Jb>l*?8;6;5?+BZ-$D@2tIUR(oiCzxGtu{WU4CMC@??CkLgS+eBb`EyKbEDJ@KVSXmW~Hh$yF3 zJ#rLVVMPHl#c>G8O9;0>{5k+257D;%$EPSp?Qvyb6riGqN-Zc$?*Ov0!y*fKfY`)| z(Rcm5D(^+)b@4Ld&wo0tPZ5ZZP~%G-HAFGUG6<|FcIS=Lx3qHG!_|t&=6KsuPt!fM zdE9Us=>#X#qc;1mT7g1hWK6%9uj}Q$N2R+n>w37EeKE~*&&-PwLJ*?b?fpcOSi%V< z3Gjgh2ix{XP{0M8c$5IOsS71LS){lKbbD>bfk(K#Ykn;tPrytNH*~=pGlVRe|J>|9 z!CEq6RE!!U#yE#3Hsh@R@-P3^HjANmY_a;TPqg!2$K)|7&CnDH5G+KHO9CO>&=3-< z#ukwlm_7fGo(d+(bHjiBe#*J|;z!ath>J!On&SrNm6Dcu8TY^6xB7?Khxq*UhFwfT zB_#-z^xk}(oqu_VUEZ2$BU&qB7B_LIq_UwATIc_CrS1GRyuAypgA-PG!b;HrmgVe7 zyBcZ1bMpB`>s{Nj&Q7#@=jXXKDdBbKE`;X*cBzp5LGlz<0H}hB%CyiD6jd3DY%)FK zn_7w0Bs^*pjKtWwOE7qWa6nWij^~z=hy=v5)P0LkwN$WTHHNK{Oa-5MJG-3HkJd`j zYnZD`H0Yo6qhF@S#1$!}h|D&@CjWiUV>lmKy1)e=X!l3ZFl8Ih(0VP3cu63a!WGHO zN11XdUm+DMr%IL7!bCkF^|4Vv2Mx#2Xk9c#fTju2Onow^rz93p5=$tFdlku{0?d*O<0Zg0OA;{85z()<2V#Im{iHVO#t#_xha|Jn#TFy3pwk*pOVAzHqRm zAxK#XKZ1im%ujuhySbV(?D^TXk|mIdp$?(YHiO1N^*9Egu;oi-Z%;rDCTI^9CTlE6 zca5SMAdw1j#VO^WIGnY6>D%uq4#|S%pT5 zRB4=Cywdq(%91Tdu6zXw6)RDyOu0%ebo302OkkD3DIw1Lb#h~Qc=^b{X%Id&X4t3+ zlcr3YF)InsONN>*<_j8_36?39p5McObjd{c0dlTcvdRRzn?30o&_9YD2L@q;6G0?V zM2lgHWr-6nL82tdUZ`;Mc;fa9es9=3zPyM_MO@1&)oRqLQ?EgzCWN2*nvo!jx1x4- zk5xF(UR&wnW4o;67ZCKH_HgNsYd>g6SVUCJD#PMNj2biU*H4|Z+8S%Qj4fdP z{i8|BcRhY_QU-#>El-s$h+o*GjdbuCPNzmy98az&!937*DU=+#uI`mrrT8lpr!{)H ztGL*6?kN4X=@AJrf0|uIX;(|mLTv_D!zr3ZByP=a;~`O+*pipNnze4y4)3OCJf&w8 zJsMlee5+mC4(-O-izf9&KPXYmx8q+X#fqGr^}#%nILHKT4q50fE+;|efxSw!(vp%% zI@PRJwsLjkXX2+xzcPp1(ioz8ZB$Ovm?@m5?@BLCWjI7JQCtg?XvFT{R%|Gcc~zYNvfBdVX~XlW|6ds|Xhm^?N+Zxx(%{ktG&;_qeiiufB=KRtSUdkx^@;IzxGkkrl~;AzK;DlVgI( zhzOJkHUn&#OEa-b!F-I2vIL;oi>UHIlCn%Uw2I5(dlf@ZCV|3l9%_q#*ZGpf-z3qV zagp;>$T_Dh`@G|Y?D<2O#i^ojW&GIts0_5c{rflY|8EMc`6s!(Q9;%f-zjIOHP}}W zz&)Se1dBClm1K|P>R_#4WS>w0c?=pBgf3e~p**sE_EZbQKIf@;9hZQ0D4(z|niu_UP6aK6wm7G;fmgxD{z@ygA>1XhAU1p1t;DGywu+YOLK`kSHvI zqt=i!wQNX`?3EQ%4an7FKEyy|v7&M;NpNdk_7F1*vDe^w)@M89mfw<&b$*Q*DqN<+ zoPahbxO3EpJ?YbyqW(%%JlY)3KDB5IWa7ug(R&FO%=BC5hXzGQ9=VVTTn*(;E~M|{ z)G zoo#Kxw>Ou|`9r!EbCSU=)o609uE^ywZT`f_q7t$n2Prplv( zzJ?=PgC3|V9zjiQkdQ&iLd5VZ+#+4Q9CfKB;_I^yYc-2Zq2qOq>*A(KR1gBRSbBc&lYL zEV%PjpIs~5mHhw2=>i#>lz zGfJ+UTvLtIf?;z*9-EFpy2U8sn9>4WgCk0YDrfS-j$7_wxFPWm?c#^B*d3Eq# z53rfs&OuH(aA{J{s>lnj5O6;`@qea<4_6jVbr%U4!Xh3u_+{BE*6J%+I-;cy_cuFt+SB-*0X!`FYq3n z=;FL5i|HJ`uV8HAiLvoMwoYiU)JRfWJB4CPvv(x@jX|6OUce zKW%rke;!1j?j7Skxc#7;A^1-20|9i9e-NEW(}CI7*oP~lNsvyv#!1r9vmxgj%p2o# z^MGUDRK*=<66?2_1TkKpV8*#C1l0CLqfXV`bN+`esaJ+FTf+4UO2u0xZcqOWB{Z3uHrZca!{!YYYGx2&|H z`~xI%EFpQUL||@F$=Lx3N%kpKJ!u*@hpo~QRgGF(Yg5@%WT_TomiFRx9k^W0L>fR+ z{7u9~Z^l8%>(F_BXm3$(3Z4&K?hYL&{Z@caGfV6h^_p5e1)02q6?zq+kiBrWGc^aU z^0NMcc+Wf7zj@`5+MQMY>8jMcfYHvcBBiFv3T>VE_7eAXWmN*8U>MQivk2ic5k15` zBD~`P7w1Tayoq%5d%aR*(~dm7ne>5r#@7H=uqCWhHhzDUGlP24FrdL_+{@ReAj)ZI z);2!wPURU#+3)n#9IMTQtJ@)%oOvQi+I$*^6-$+Jt&oXUwxPTg!LseZ3F)ksJOgA4by zCrunxd)w6ZkgZ|vB^OtkU1%&!T6Z6J;VnaZpU=myyg{t3t#lDYg-cfpTG-ItAg5Ni zIIE1ZHe6Fyxzu;$dTTZ#P}hpQBf?G!gz=Ug05hPhHXS6+DQ-rqa2+ycC=L8|Sl z0Mb{vcS>;UVWFq2Y6qa<6t7{ zSrnOn$Kv}s{`Y}K;n}CtCOn+T*8nlMM+}P9PG{oz((P#NM3f~I2wJ+S;S1~z2CO0b z!=ItgfbSg>7sZ)G`tcKbbi-HR-T{8qUrbSRo2OplGjf@0EQDMs(DVE&TA2jMY9t%P zJvT663Z`n=FRj$s#!G$a!ZGR?pu)`Hpgq=%_dqiqiZz8{HysHnqsy;6VcoV3uz{gpUq|0VXzff5*UQF{F{xr3`!7Jf| zs0=|gZ;G0UFJutGi#LWQwPm41{^AbL7yiW&dqT=h8~mTDNWGHm@M)deaQ;M9Aere59Df>RrQR{Oiqr? zJ-ZG)gTSco-~;ggvi0Vj!P_n2|2g>jo#mj8ho`RF(_OH>wPT>cmW!tL@E!2n_-8U$ z^4elbPLFfV#Ugz`(HwJ_TVlO!7Q4=7?{wLaPDBVRtu1&tNt6Q?`w4k$`X*AV$}&35 zYSLqLKSDm*@Uoz~u;p&Jx8ey4VygDXaSh zJ+OEA`~Ay}ZyueG>^M<$0!2roKw${mdn0$3-FrRvZu=`A2G`rY_ALap9Eh+P(3Q;k z4f?lgs|%%m7?d2TsP^f#eK8j&gNWMvTCcFtR4>y>b=*7+r(KI1hut86p;OM1!z_kQ zGbM+?EgbHjI+&E2opHiM7&r`<@tDTieNhZO@lq8%@T~?o2ZSGezvyZTW9aUeuD{*e zc4`Aa_izHLzaNWB_pZYk|A_(h#2>x_FFXNc;e>7oZyj^F63;i&9YIHug65fwKn1sx+I@#EWhpKLq8x4 zM`i`%i$n8e?T3ZsFj8Y*sq=Sa8``$VSmFl4EfAAU5;4q^6W5bB5FmFZAZ`Hf{J7lO zVWL|{$mjz^LF{|@T4MLv8lU`lPc*k1Uhi)3FdM=iN=DXl2he3|_JV^Kmt z2i;a{N~3E?f#k8;+Q%dU@SlnH`htC&gTdanZ{$-*+%3=(3&7OJ%i?mq0)~&R`I#`I z?h@j*P5av3EtQfTq=QOH#Rhy+t)oi}-u)OZgD-u5WS$sz$PKRtrSRw`q57rUr?GVj z)iA8bXVAwW3f5#Q8J&0*ImI&>Q7WCfh8ZVnm__V5~i@A@z8x!c|vO56J2Rs|sz6JY!T1fa z^$|SVknv4Z*W3C!J(v!6!=IkdXCHpL=ufi4^z_12bQKthU$;U@o#|r}ZLM7t75L?Y zZ(C`n+Pc)50!4F^vY@b5(j;KWz z-D|ptHQ*g55%@)*8H+)vBpyBKqbrm`XaL7?Te80+69GQ~LfJu%TXVD%P_Naof$^Ns z7U}4lsCR7-e(g4vzZDZR%@*KRM(LYibM&AOj7TT+5yLPXLm;xsuk4!97=;mPFG9Pw z6&)Ha)xhe~j{Zc=4K%B^zhkk@TQwY0yhYf&{jJ=1<#q8I51IfP1CU(hm#mhrle9Sz zTDNRVgUwr=7`J)bB#8a!P<90mXcR%*`M-jiHSkU~=^v5}OonQ>JtFU5X^%4&@?g67 zYj*4uMuKg-z4_}gdI$X$sFNZ>iTGQgPEy&|-*#TFt5|;?9LRzq&4LXFZC()sz@8A* z+ByWf=uEDnT1(_)3;2}A5~QT?UbT;@!aIp1!=#3ySrlkThjb8BDJ#o;nIiZGD#R-Z z)Bx9jt>F`5_ri8^r}f!rWs0r>$r@&dyx#*(xk_x|Vcr%b(N-6Do1d$}rgmB1YbCel zuDd6-@9{-$%1p|Kq;cwhq3_UX&V0yCAQL%7eXo9teptW2U(fRXJw$5K z#AzcRvLp10yraTh#-V<>j@H9L}Z|AHJ(dJC&?2SAa`D6|jc7+VG7C5Wv7?BvzM7}vvL z+@BfaMAc%nq%)3uMO9e{*vMvCBS*GQhjY8DkP)MI2OFP`dRMz^<;nW+dfrg)ij2Ec zT4+IhwmnV_MX%UT!Bz}tRq}ECp5oi}8%7kN75nRecAoD7ZJD92GKn(-{1YDo5`T2)7? zjpDDn>WKrN0vi`}Z)t|;ikah60zUgRF&cq?`~TL`VIG7sb^sn6c`*on!a)bNqumt`W;;k2AtQxK z(PfGhJTA~ip<@(}VLZ^ysHQrMpSh`>fNRzn+*qJ3nFiMD0LfmkMio-=0 zdrPoMHD)BH_2oQ<*iGwU$C*Q^!Ps->v5C;)BLrC3%Q(aeF zJ9!a*cJ@NSf68hiz(e?;3$JJge}F$5UXn?CvM{k`P-#7}>BY-*aNe`1X&fgRpit0w zCWjf$8YoP<@8c3sfn5~wusfXdfJuo`T$f&$a7iR@)h!1Z_!6enawlCCxpX2X!A(dX z_4#Dkd5UUNIoSRN8pW!Of~CO}izfAQsZddj*$GRbFy6X^I+31rd!Fy%b`DX^1`-uQ zyWz4BHceepL4X{J8MIW&!8U&5h!t z4xDZ4x@lS2We=1G4GNRcq#)g;zILt*ysjl>U6c3T){WT!>B6WHkB!SrS1q`t;1+@@ zS|Xo`(VE-ptn@UM!@UbzupMi2OAusOZp-;FYHvb2s-9lU+NV5iUZZv*5hC5@xDh3D zRh#5+M#4N6Gb@JCJ;NwQAzA5VuCMEJiFz|mhzA~g&YLqUky^spj_5RZJnb%bXm%7K z1}u9gR)rn`2bMfOa(3}WPVOZKfV{$n9IZ;)g<>X~Oq!k!Bb#=PBwtshYczcmtE_Osg8|a@@%F|lpr|IsdB{@0U|glZ zCc~U=d9A8z@(3tzx=yoIbKPO#A)-SFtyqpg6L|!3E|3|jl*kNSAL7t~PDj87F|5vL zg7-Qb68IJT8YN>?IQU+?j>``BRTIMHkpQ>K$*|YEs%|qtWw2YeW+pLK%1AX#eb_%q zAsde}hZBW7VcT4XF7*Ad>>;~}!=PDj%H3p=x323qcu73lVn)JqFdLFJKF_6yT_V*g z_QzR4=jsZWX0>W6GNzD5U5!&pmIB}!crBVfXELA!E#WoLi~<_ z>%EZOAZdpbh0U;N%y<>kg&X=P7C13Pb*D zv93Ee!oKg>DEioL}-7iTxJ6{#J~OR%U^E2@_MP+Y)27~ z^lX3oN=T@>k|TeA1#K1#rj>TAv$qqAsJm-G~160rp&ps;@r6

2CzQ0PmIV>>9pbUt8b)rls_-)NFf{z;EIT^FHG z!u1CPeE8uP_DA|b;IJNeuq>X>bh|Eq0cKIf`kZ|QIYPf^kWmM-pRVmaQhlPDpR#Z7 z`ZoL++~dBwH!n9tw%Ino-cpwy@{XR9xVA$6+w1W}UhI@0J$}pe4PWbLMzK{x$fBAg z=IZjJu6Xynlb_e+4G%6|xIn&MeD`9y)Ip}6X)s|d>@V#{NeDRm-z@&5B3EER`6bW@ z-5dC9@piFP5e|!Axft3ONQQs01H21wZdFb5OeamB3d5d;zYi}tLYx&-A4vX;fQ>?G2dYVFSK>cdYy_8gt7)F4Qt0<_XF0FiM;l02Pr z)!^{sz=H+7bywjn077DbnwWP4BV)tr2@A&G9)6>{rAefcac}4h9nV8&Uv{{^)StR_ z6UZo0FsvV04XLxc5Q$P)1osMrjp}^7bvBzPtmmxn@p|9u9c7*KVaHMteiOFUG9pp7vhc zhweGCK+Upwt_sK84Ka9l2tt&RbElE`=J>$n#t$&IKK0If}t^t z-8rB>ZM>!3*&NZU4=Ym}l~iW0Y=Dco%USCKJQGxv<6U>MOipOeOUG5c<>>#d?egrD z{@LnQv_-%!q;Hz$sCz+@3RA?4VMvry9QL4gafb*9nbK&)L%*c(Y=S-mu+?9Obxb2Z+}foriKV;;qG+^p^;T*xq5G^9WoMn zscVy5+fSTuRyl6faiX?d6iCU9mBDP08`G(Riz`N2?7p=0C94|i2uzkD&?)6ajHUpj zl1%~FgbPXY^V}Ya2UUW2jpSmeUAHJF3o(hQM2n-^;y^778?HJFJv7O6+y3u=88+$( zPl4qH<{!^Do!T~ypX0WcIR5>=-QAvH!d#&@Py?IZjx`@Z`Elp6i6iHIkZzh(b{t2J zXTlb}lgP||cQ_n&2PmHOXx-|MPsEMMcfq&Y+2pifKUu>+(;v&V{^)b&!jyaRci_() zA2v5GeP5S{AhS@i)fY_<>-#DTD;LyW=0SsG_j4OmeFgBHJo6(JtiY-VyEcfn)1DM8 zp`DP&Cg_WKrbNlhmmqQjcBU_Pr(}yF)AmF|E6WIk!sthMsE%50S4A3rCI4#itGNcT zu;%K6P^YL93l$+F)11bJj+uL^trrCB?<&qWoJPM{iT5Ot!~ zy{+NLtzf&5NECK&4SaL!rhD*a$W zZ`{a$$l8k|7M5Ad9jSp_E(BDmwxoPo!~T#gL~le` ze(YnHj251~`V02&#}y*fON;md+MPtfYP16cV!i;r9D=4F$kQ@>8}o)d57^?qqg0JFH(dY65pC)+K>WZ6%ZG zOuk`FVl&1m%({jG(`s6k+I@=S#GrV%;1*QA)N&#&lA_rWVfmewFNL%)G#4 zY(&fAYC|iKuU@R@mHx21(0vmg9bZrscq8qX#3c*4$n8A zT0%a@^HuBQ%KbTFo`oOffN?yY6r!-QjD_buibKNfjo@Pr76%8N^x_b;?uhr1|G>R1`Jagdx0k78o-|>YWhzNm-*$7MhSTYAcB0ok! zZAOUNNp(nFekDt@Ruu+cEDD@i0czf|vNIH|^aGm=DW`QWQgP0j z5ZU~hY=Bl~#;vO?rPg>qFhTAK+4mb(ah85IS;kyEw|2MI9C#uOd^+%XGiKD~o;k4; z&@xI5Nl4>KjW#5$5BP(4f$yMeTQ1FRb#+9%_o4rt89+zMKYTQQsp}8OaUtJ6^=ogC z>~s_f0>7~aq9VWiWs4>`dzRfRJFEdT2;CXy=;Zx>b_~7%>SD%#LU>uEu&s zfgtcn|2NmI^}9bR@|!>V1&H3sk=NSxo}Cy*iE$(pRN#R4@+{_p+b6nRTL4HgKJg(5 zMo0eF!UxsmU|>j_vPIPA2a1vX2w^?(DzPDNWElrJ1Cu%8q6f$KFiN$!X z$RyuxP$Gdik0BT3#Nonl;sNkkg zW>5VXKJ+^VA`3w)GB}}G)qcLeR5-Vt!tC1%2a})fJxEU`V-G)Xk~%y*5MI0( zuZak($iyG|H}TN?uKCc0$RTjkR6tBlD*Ga}nOUV2DDX(&1Ifd}REVc|X)I5X!?=D< z=`kMh_ZH2w><2(QVDDGi9i6Qf1D}5S2W$OpZ=iBL%O;)X*m%*s2|o1Vd?^G&eiMxc zT;4s0&>g|^k*+urSP92jcRYFhwcpOm>KzfT8@xr0(mIEWa3Q0KiOiL<@Cd%2%~nv8 z`?^%O$70HJrTTbF^0^#&W<}!_YY*JkM(ttp24q~<_0f(fR2Q*j(~!73^+l6YGh~)H zGjsOsS~ag3MOZ=c5KU%`+_jB(hIl)i<1DOpE3$mT_sfB1FR3qw-pry>x-(pZf6fCf zcHnllydxvyik*n7#o~gI1BiGQo=M=gvKQ#X*S>aTuMtHSvCRjkD?4212i?A5xBwTE zruJfcWo&R#il;f*yPzD_s3}bIrw#`dyY@usriM+5cN^nH!Me0~4~vKK8j_F1kckzrxLKrBqlPqfjdrqx$TRcxDL^1P_nFt(-OlxG&1XSsW2IrkB` zawBs_dzv!`e1tJTf+lR_FBoWi*qiF*K`$QnJMOFF!=8d9lrSO4fJE>Z(#nw5#KDV*gu0MH#iz``JvA zA7l;OR>gqvx(tTu?UClgA*4gaChoT;`c==K-GA!wX*)5V*IKCCCptZ2+uds%Q||k| zaCLJOZ^WSCOpok6*oV9!L*x7qG%u#;!x{9s?v(pNvoi(}p=mOy6dOLM51DX! z5<61+FnO#7gIsJ01^rAv#LdD1?2v0o5LWKr^FG8ced7}-GeM#Q9Ov6qf>~Lb>#R34 z{Mo=yB4U@C;H9cCjAFA@;`zDE_)bM%bSXled%}k_&m*x;3WE^R1_{q81O@x`7I;1- zjedY^L=P0j6}pYd>+T4=z~-em%q7H8fzJuu-LJ-?>JzdY?n$&LFK zK#HWSu70rC!)qh4Jx5~|IS_=H5+p?H6av^8!p{Ch6|6q)gyus70Ek@`v#0dYM`&-1 zd$vKhwr|ppI+A?WA*i(FH3O1;2z@MsXD#zl8i-|JrBXr2Dy|m)E9|EO^0nn-r_UZE zfZX!>;KFvcm|OSfCbTaBJ{x_t6TknuxA@a9#yc=CprZf~_(=vYHM(-fh6^dX=WV3FQlu=tDtZ2$rRI%m?66_4!$Ab;HB)7(;!cVfQnr(ZhASnw} zCP^md4nCfY#ZQi%SGrXj1QCnr(hgYsZ zrM+L2XqCzA^hbcr_Mi;l99Idv8(w~i69}+d{-kD(tlV@^Eq^mDQx_L)j#zlP+Gqr8 z<{Cw$8gDeJ#%FB!1`|SZJ~ukvJi0HEiX1pbAY8VXSnRUaSfpm6iNi{di6<*wlYk+K zCK0Ec8TO_sak0<`xC3-LKs zGV*yB%P?glF~c(X`Qo7;LNaDER&(N{Z{zy($IN0O?qx7DlKHE-;rbayMU_hrmhb&= z@G2ve3Vj8$^whOi(T)bj4-lmu;(N#S8IYlU)MqS6E{+Kh*MZcPD*o=wN=1soQhu7! z=}1>={ufRF4|0^alH}EL@yP!g@bju~MCoB0JaMIZA-=rrm(gQ=-V=m-Um9 z*n$7XQWYxIYGY((@w#XXMPqn)A1Xx_imK^`Y1xj8!OBB8Jb_3eQ>Y3wI)lklWGgAF zs9I1{=UC)g($M5-Xu3%6{rE#ywHG|4?{q(wl-MGFq|N1le%eCZ4_f3)5LTDz=AGqYr^nRu|z=d2)1$& ziUknx0!U>Hy^^O@K@b`+^HB&0*473~8HN)iZBjRls*PgIW16T#o)9Fewl%>}Y_y|X qOyuiNfp50I#j+&+WA#r+{qFxGruVA6eLeXte>wXW`zyB__$dI#*vT>g diff --git a/frontend/web/dist/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 b/frontend/web/dist/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2fb7832f2fe964004e2bd9e0ecd24d659dce7775 GIT binary patch literal 12940 zcmV;7GIPy$Pew8T0RR9105XgK6aWAK09+&h05TT<0RR9100000000000000000000 z0000Qf+HJ;8XPD;NLE2ofELK<)Ws1~i|9?tu$Pirt=-vy# zmV{uzV3HYVKo+x#@D!2QD--m37P=cjFpCOV#Ig!3hzCg*saRdE&D*f>h&=mMb}Kz} zZW5xrHp^ zkS7y#97mQHZJK23NV1a@@quCc%|4f5S(3F~AAqJ`fpGZT^aJ%wjOsRO6SdP0r++(^ zy~*MHk0Q!Uenx3(0TPIjIK0Gpp}~B0{UkY@Ag}#Tu3M+f1>r!T9fR{qNed0Wzz9Hq z9X9A40FI*mPt~%WPe^+dorsI$4Cisi6`ezBS~uNb0FncMq#&&H4qS3qIBWu`4G>qd zv75P0lvC6?#LiVrpOWq#EY!7<+W$GDHK&{`&xd}U9)|pTs}Qg5RO7AghuTR z_1`iz*B9~-qvNB7yxeDbH5OSqLGEGaMr}p6wrVDF_^fsQ3$d{lO4X7-}WuMzx?wttM0(iPcsT^$arg zVkY%!P`#E-y-|aDD@MIjllqWm^$}t9aqad~SCxeqR2E)RS$LIGeZ!dDgTnR#1K^Ea zQoJ+)c*1nJ*S?VprbPfIgP ziKKHVe`UtwXQNP-mvtAQp5`kzZ;&-I|TMA^}c}t>sNDR~cK~ZWY)kmX_hg zx$RBW5e#CD%B#?p4uC;qpH82$Sv{x=(R?)) z59SI;SJl=9aX_aS!iwC4*m^bqC^rVtKrq8uNCd4v#?~^O*y6Im!0@NmB4M->(qBe9 zgNlX%Xr*p7v(?C<5Q$j@-3i_x_uru2gz3N{8o_S?ITdXB3>dl0{~(Plfe>5L9CX%i zAh409yx_ULihlvqU5iE;0%*u^G6%C~&gWlxG30|Du^RvuSiam8^t^l{ff^CO!j~8n zTkvPXt|OfLXBjw>vgP2(RiIFjQhWksger)LRl!xOAt9rsqi0}b0*8bcu0vekYvkeO z;}>9r7!HPo#`WkkXvnY;qsFiR$ZLB>HhkPb;4qGhrdP6r7~nlKAbv&Nv?)3pwPD)h zdqDpvRA|uQffqjb5kSx#FqydKnQwuG7Re&vOrCrqJ}p*4hRS8PQYNWfOgRN5f{I$L zIvONR{bm%%Le{BzcEZj$I7yr9miIPUBB)u2zT7HPhg|$F-6Eo5;+E=>(5p|s0a_P2 zZkgp)z=i`C?dU)ce29-oT4!Kw@Zw`pTmbcHIQ5V4jXzv`^K9=^_HZCXMB^ox6*EMJ ztV6InaRL&+J{gRle$698_XD2u4>E#=sLZZ_r>J;P%bo6RZ)3#L5fR&UtPw=tLKx{1(&4Rox|DuOY%I|F7kFWHie|BD(1k9yQW$s?hK0$L`H_` z@FRzG2vfp1iG(PMv&AK}gtm(z`T3k4$Xg#GDN5oTaVbrR!8cd+K)ooxUnUEO9l-H= zOm>Lqtu|d?fiVDF>ZP7{3_W48dAUU{9W5&bOHVfw5|B`_UogMQ`jutuw(G*Snx4y5 z9t#dv`Mc83Q@bZ@#|^Mju>A122K^&}VDD9r2=HkalgGho8K^+8pJ18|y}3m*ie@sY z_CXEnf@Rx$bbz1~p{Rg86r(tjQi77AIr}I@X@HPYhO#20l%u=|DHW(F!YL{(P&pR> z_*exQq|Y*C2cY*i+IX~yXIMEBk7qsrt1gB}R>8p9EH03#Ta!H3)Miu@gq84`kv0R5 zEk%=IiV#-T%z5X{KL>;*TZ`9s4koD*RiL5A;hJ~iiE&m9Xd#k89!`b_$}pXg`7UAm3|q}e zxu03-ikU^a*XH4CtXQ+5e?_#tyQ~|4rKbAd=bnuii_UD=-zUBO($mX*J-*yl2o+@e zXw5aR9Z&`$a1!!D^r&4f9zlriO>$hZI@;-S*DZ(&1WWwY^FU4;U>x&0{MPn9>x!VL zQ-7s?Z#QFISy$B6jNUireGJSVD_)KzF<*(w4-+$o6^n1@Bk}daR!iR3`_E!m83*W06oF3i!pk2=dA)O4 z=Hgo;Yr}#%#{zpmg**BGCF?8J?5;i!@76jjvRQ1|x;$6gvCKPpcEfvNa^r_BjkNg= zznSFu%clp)gUcrDRDTPGV=d9qKLc$Svq*ZmAJJFW!+i~mO-}B)$q(}*ZDsZFx=W2> zeeObmZQh1l*QrIN#kC>L=xwVs6ezEBe%yc-Ld1h)_fP zE8)yR*0Y#}5G}SGydy{s{~UF^i9@)kMXJ`Gr(RTK$wpDT&m*(Ly2b>rKO>P45w3O z)s!v|1WH#}Nf{(bgL3&A1K#B8Fj`Fn_4>r^_YJP%b_^lAUPIb-Xb4EtExl?(B*o-O z35zILjN`h6d4&bQitEMsW{FDf?ZhdnU8!oFrSYVAi?w8NrPfwko&O}2r^T2B zZA5tkAy+d|F<>R$Ky36z0^pB^9}I?fWM6fm2b&*l2~XwyUVu+haeHBfMyRJDlX1CF zuObz)=kITvnFg2oy}`~z>)Y5r83mA@m{ah{(wP~}Mmw*VlA4MNwdJD2xt?A5#eASh zg;5-%GfV+9svs z8mkSe01aO`x&CLEd;2E5i9mD`o+@pw{A&F?sKF?cl?K98D&iJ#@oZBQCv_oWENQk= zbcf%c8Wdy$`{b#5*5GxuzfNrr+r;B%tgxag2e}S z{MInX!zaqcQf*TqkUo-rixt}V#JVTKH>W=|H?-rG@aTXKC!sp~P$)m=v045@cTe5z ze-(XsQv&GZ9uyh+Vw*i)O*9*HL@r1cG)d}c9JLLElaHWC;?bR4_bBt->E6to z{LuM==?HC%XGm3RmtI>wcnods&qwq$g4KOMt{7SsQ00lR(GnVoq z6E2qoA~Il1GMhi-tRHz5w|tZYNp+|?)D;3#=x3oxkUTYz^Dbe~LZ@r6iLmOEAgVlT&)M=SwiYlUMvFlU-BitH1+BHZ#pa%9VUQ zH&|86BtcChSuJ92V8Ad8H|DPEp6ePflM5zq&^G`bHU``5@fxBPnu&0{x*49Qqabax zd6g?w4Xz%DMOXI@5>Az}tcv$sNfNxXcl`vqAH;GmjyhwvEe1F!4I6!DHm`yubB-=} zx8!1X`L9=8nSkqwH(n~<>&bL-E66_5SiuFnp)Bz$`gKTPe@tib2yYqQWHY6|P`x4| z$H^1_VUoPg&EW0v@!mxGMe6r}sk<04uVAM+t4!i7uXL)jnfagI?^yc8D zhaU-EZVoNE{K&&gE3=%yK)>K!VBL60WrNl$ZJLYMFir3tzilSN*t&#gkt6{Ze9 zldfG@+}bxfG}J%-%u4h$0`70&8Tg-_eB)^7uqFI|4!w4?0FO5NR9AKMs%Jj{Onz+L(iMQ2R>^hsh(QQMzGEz`vl@J9KSpdA) zkH}}!S5sQm9HYyurhG=v1?r;sC4R|b$#J+t@?~McqTlpn$Fg%8Cd53;L z6MScmDVCdG{xdqWW6^sZi;QnvUl-kSEBh9T^~Jz63}HL=vbVAQyV=LtFZ&tnX8Y~; z5EN3Iqh1blPxl55`Zt9oi={yr!mkyU1oYbWxI2YI#%w{YUr=ePkm;m4c7`UUUP~Bz zJb=c~J+9oVUJTvKla&BP=16ScfE>kJIGlrqtFBUsHztI357PAH#9ez!aE z{3W_;=vt7Ta(>aJaiU;Qt-DBvINKz^*MDFfHa!}vfGcl-Lo@y=Aobh|c|(EFMm~Zb zk&jmv9J>45_Xxw0F(LTuHF;9_VR;dZHoOJ({)%own>H9r?jb#V5mk+gU>;5GruL9P zCNpSb2ijge+NE+`EEsjPQb(4Uwt$nG@lvGMJkOnHH6sz&Igri9W-uVbFgfD)#M->qcx%&OA6z<$4 zR7tvd9b1z?4I_GD6nze&U^rFD=tN`4B^u3$Qt8r(M_oufhV02y3}K27;Q@H`050k9 z`%??At|8|m2F~5Tz9k&6(_weZ+t{hyU)a+(z0o~u<3k%2q)0>p|0LvPeV%XsoIVjH zk$B^GK0>_%&)02y!_@SazFZH&a033gsLFf(sqA0r?bmlsK8_v-dUB{mp`>q<{eyM2 zO*9?&>AtU9VyEkx)S4_sO|>$skx16Jol9gp-sYj2- z5JMmQw?KiUdzLqm%fVayqQFlA%~%WqcQrK1%qS($+cK0_#iMu?3H0SW>Y0j&)9yT&{R7aR{Z3HFdvsA>u~Bje;8j zNX%Es(z`%LycDBwKde0sB{!qYE44oWnOj!yQTYqfTL8k#s@G6DT))+)nf*SZ#X6V8?GpGss zY}&H5>6$ZP8wnA+rtB0kBQd^#)9r$6x(1j_yE;89dEWCims^dJiw(L)w-Z!zo*fz< z8z4gnw+d6O4JbyJU=**@PIiL|sg>*iZ{u(2^L#cxAnL_C^nt{s#vgd%rAMN5(r?nD zo3l>ZC6oM2yh;8>{zD!nPnP%IOdNkHC95TYc- z*)u|~(_iBA`U#JWQJ;8Lc{)8uytwxoY}RdB%v$d@ANK`(N#AL{i)^Re?&}R@94u7V z`fE0Gabcve!#~77$6v120&f%_3vz7b#*F>J)4}V(hl2}3klljexZk03|>UA5Cfn`s@Lq@g||G8ioKB+pk30SZEw|QO})EvD)3vZ$BPej z(0*Y#Z1GeJ*aib@$Ql5O0H@7~v%_B3c7m8; zXeY^QECqL{LHx*i_?QB&$HSqY+-Q?Tg*K=VF_t`}zKj~IsXk!i4A}Eu z$X$<#SJ|OnqHJs$=Qd!+I3br_XTi*^Vcc|MVWu`qU9t^0!6R8B6fPGSQ-@LC68io` z3qud$?*lIuep7mIA6STy7>a<&Z1aiHT+)Kc8zm+R9FB$qCI=-B!hi+uUtOE=_ehhG zH{+^||0upIjeiTyDiuG3UAZClt4OpiK&L^ja`_Yx@7%y|02ENr;4q0H-lyHHsXDQ> z%-EW%?CSYEUad)_Ck(pMa2$WxUEq&?1n5RR;aR09r3Sr>pQ~^ddQ-^xk@jh;P5tqI zU*lJFP}NR>MXP3$IugiSW1pW|)Yxe6D0v45e}A6n&U}c6I zF_>uvOhv|LaP*HKnJGFZExhmOg@ozwG35EvI3Oy}Fi!d5>}FO=miSO548HMJEM%#29T4li`ED%%>`cBzd{SjRfzq8s6^=u0& zEQ(l$dY9M#u5cJW3!lko8TEVo${mvS92N3p(o%?}0~tQC9XpElLb9osgvf?4XqmY(fd`4_Z5g-uZA%{obhPM;NGZCGJ z{%b6_ZQKkob;)y>-F}DuzNe8jzFe*a*v8x?{F`_1dH9mnhA@d&6}Y#?iPT(K9l`Q+ zxafKOG>#Js7>&vt6-1k$<0ub;TeuEv|Jb>B)EliW0~6i3(6SE(FDaxS8lxm$DN7hL zMK9eVu--(YK${(n2fQk~NRlpbqQ-JFJV;8SQb7*I2C^rWpi96;jcv`jF)f4vn1%y@PXv*DAWp&q z7WsWbCKRjgXT}y-0eVwy47#3wQyG+l7TcJPrjA@noren|a5GHuMq1ijHsdu0vU#VL zC&nb|lAS=L;2wf;mZp>lY78Xn2g{iVi;)Y9uoP#;P6WuXtS9qP)LDhSQT6oDc21V% z@%&aLQl=gGEbEZc%i%PGxjC%Nq9)_Sy*b8-outK^I5!s?&ux7i3y7-^y;0h$XG}W< zvx+2XmV6#;s#C8fc^GK=gs4M8K!qtMGII7Qyks|$4j}j1ZfU%{J%FP7Qmv_J*fEmt zATxs`j67h^l#A8UL{TcxLE)BY+6|3MyN14LSe&g{PZoEDULOkI&nbD4Y|*rBnMwg=;{Fzs~= zTYd|Y#WE>+C7)vY6tFx-P}e-JFW}&ML5CTr*fWQgl|bSm2InvsG7c=%6sIKAdwgB4 zaWMWa#>%rr)-Z0%CxAi0gx%^?TDRlZ`+nrl1Rmhx#k28SreD>^tRO54hy_NVp6Rr< zm9ATb)%t5Y`}Ex+!)X3nNq1D%!zI4NP*l4VgXT}YXVh5Lz&Pv;qWVC95_Ds2aMk%5 z)Na=?wv0Sc6#B17P`pE*s+21^Ex|EBxrC;cDtS$_xo3zrAWV+s2r!lxAm;*^qeciD zYh#!I1*l)lOG5%j(xKqW_0<7<51skGhj-&Tp}!CVcgjDFr{Rp0X&V9o}tz4z-AnvNK=1> z8*VmgBQJ7vh@pdmV-R-2Bj3nWOuW~t(gbB5ehlKs_K6M@Qs{PxJu$wOoJd~lHQ|b6 z1o1LJsjztmNlBbNjC4GwM#w7|S#6*|_AjPvcSTw+LHGRa6Q!Dy09P69{Q_3$2bnuF3@ zsVyoaA+Bf2cW4}})AgqK^y?~Bf3X}|3md1~!{3ftw%1~jp#p+(jdU{9rK~1}KrxtG z-{v;@cMdqD>z8=f`<6ub`U?8ZlodwiJ@|=#ha_N)oA)hFsdg^IBXlz^VHn~UozS4DlgUFsge}i0n=~|+ddrKP`dU+4!`?6O zX(X%s)ph6=^-nsXUh>%J9XNLY2frOTZKvs6gb(4sTvX2KZFqR>0w|y+SIkw`BLoS# zWoW7Ho;%sqhjM4W`JDgi>|dFSV7*}Wy?J>ywoQxy4EDNgTRe+0;?jz)Z!P9mDq81B zEsvL_rV-0zFLtevjVv;Bt-LS4sAlG(8XDK-ng^?m2KjR5ISFsC17FiOVZvBo&248$ zhuHpac3y4MBP1bnBZ3U`R;x^>j(MS~9uyw-Q@kzbXl1MY#3j5D1_$jqFHQeq8f6)~ z1@H3lK+gLUxTtSZnrcF6(wB=|%HRSl$3>9|BH3~v9@PAp87!)5pQgFrOb*tHt#y2H zH2B)r$~hRRGa#Xrsr#h3qq&XA-dkZdOad{ra3Wz78rrsl8@}%uk2h=Dq922lj6fwg zGv!;O(s=kg25YhORKMye5QNyR$b^c#a{d09!4bW?fR?5f<~jPwJ+YroIyoonv+Dp4 zMN%4tsH$?2C{N=k(&;(dh3wSfPRdx?bDSs&vYyAa{A?wQmW{{J-;5kTX3AQ*YCw?t zJA;3ymW;}!@*;)Je!YqA53%>SPN?@$vSZ|-cDV2 zuLEd50&_4PhfwoHlDuAFfA`?CeUE2il~av7V5o&bf#dD7h7)g39;h?%-;A6Wv>aL= zWbDg2t0`oW7Bn;)PL%H8SSDdiM!j)t;lpwvr%q@#GLE#z)evQ+q_0LT zc&_SC1TxKH)pPUHfR(~pUZbDzRchhA zEhh|JR^4^to*ac*@6Rlk=UVTdP+vhS0IHB(9JI&1C0*wx1FPe4ktkI8M!-{uGj(1J zIb>&}DGm}(Us;;9qiWt0IyOHYaS>4iSc1Bfqg+PsWc2LcMm%7wAdbA@^5E>;(~_P( z0*-{9bO?cw_nei?#!PFiNNuD=mt<}`bxf_XY)w^TVm`&=k{c^4Yf@}~EmQ4hQ>G)~ zyV4I>-zYigl3||oC~aLUMWMN876)Jf8tMGK@-~83Y60SPoQqL-cv3=~Mqw?j%bEOS z*LQ}WuX-m=(4_O@eAqA!Ib-1|unL~~-PC%YyyV26uoBjsw%mxy1uqKVB3SNS8zk(yQ^(v|(>+c=$=eDuGW4%^!15@HZ(s*Avd&qp^2J0(VxZH_ z=$m?1T{K!2Tt(EDfHYmSJEOILLTRTp>>@Hr6 zhsEc9PjoOG#mPP4Ba`qBh4=qnQ4kp_xl9$wGo{zxKSBWPu z=snE?GXyh2V`Y@%1ezetKqFA^?v#D27SksyE8Nz_`gbf|^`!4#$_58CLHp$_n_(KJ zHxn_Gh(7AVqWEU+&f)}y9uwaVx5 zTLIqkih*C3L++;WyE0AP|aC=x5^% zl8@~v3AC}Yttfyeo(J1Zw7%orSEi(EEAD&XT2RwW>6b^2`~<+p*KC0HvnKF)YBgiH z`2rirah+%1)J$Dv3+ohBELCdVX>8ggg*BQM2B}>11oxVuxp}M$BwOAxFAu$4R@nr1{TM91DJ}bU%7u9PAtr=LY2O9xuI}}zSgR~%mgf!^T z7T2tMz#a0~CK4S9&UH-FP=sS%a6PJFcZm=|PK5mU^l|EO;BK-^*ln#}kuctYEx z71J=#tu+)Y*e3RXE*7Z#Tyis?N~SZZs9?bqvq4-k%&<1)Q$@h%`Xl9PF_!_?wO?KV zxW_i%_&HDvfv8?<2qBX45jfg;AWt2i?)`mmF}^^1j@1p5*Mnr>@>e7zI3&m2}uottCTKcwUwC4zS~+ zuAL)kwOLV!O*t7WM-hy(DMY^VYJUYi+m6G!kz>@Z842j&-^eblb=~~h>rtilh6}T& zM!i)MpkcFCnbV`juJ)`I(gw{io)HPCD>2qIJsbc&E~QGjfJNUcQv2{&M~wGAOmCSP zrlaDYMi*Z({{wcU3%YWcmRmV?%CsbaUl|6d=-Xen^Q16V#)GQYc7O!FUu)&Yt_J%5wq*x7*-qvnd!4r3NY zz%}i-{wUCqM3F61X?cU#DoHpROK!M7cWOiOo znKnFA>h&{mnWt%*m-)==9uytTxH{R%xar6vOh`VWk^%Yy1|#h={=aGtBn<{hbm1}t zj(s&|hY!TzH+MDAk})L6S*IfNFkzp}-3 z75r?_?`h_EQAT-ELAfMK$OfTEJWVYxks|xz5SFkX*IrsyA`D*Z4w7zaErRWn^SdgF z%t8pR#E*8o-3Re17g!r>E2%TJzvnQG;`N^)7+DCjS5pa%>i)<5x#*qc73Lq$>`vU- zzFV9?;(&bbICprs+T8~WXe+Xj=v>-J-#l8@EWlXMNYO{w|IiNlk+a^g%iEh3HqhmP zqa5p?H;S!N+f)t(hnQgt-nrOS7Z|Vt<+}d&$}|1q_Vv}425^Ti%1}Y6)H+o{qiUt0 zpiB%Oae{@dFyZ03u|krkiP!}%2J`jz*b#rgegbs&Dcdr;kz{3l-<=q6{wHeZWe0&NlDsQ zn)#V#C)r;PM|>N?rM;RFO-7`kT_R_4-)>(7|KUTP*>Tu2|uSTWFS9t^qxjw>0q|;-|F`J^$fwx%; zmU%H}Lx9}jok$l!gsbb$K&f6Gql0m|=ILM_SrhUpnxBke}DbYgt6D{ z#O1usL_wJ)$r0=J4yxvPW__-H00-_-IBtog6>u@l$DBKfYPoW!?@4f4O+@#d7`-l~rK%>XjVJ5w9rQtAm|81Gn{YTDq5ZhgWr<)vu?Aga7<1{jcVJ@Q!wRBZc(g z{ZU}(=w3G8RDd{54+H}G7@ll9{CAl9X|G9JGqhs{5C9tX+Q&QX-6iR&Zq?0q1Hg{0 zZvcRu^O^mQxO<$JpuU;qFD{v?A@c4uX2Ha=>!qw6kpp-mq`Rt&F75~x6f-^Eqk z@?}V2M4iG|#H36`=c7hh0leLCEG{^J4g7E;Rp1FvRU+KoEO0q`685U@V{_%Hkb0`M^%Mx9P`GLJ*%*^}u!yciQ&+|-l3Zv?YFZ47>P zuW_8&N+wWhFbRq5G#Q0V-{!~Z`C=aeyyRE~*z~rU$j<#11~*q*1pE{%3J%3A2A)4V zakr)@VKWL#Vh#>i3VEKjG%`G385G%LS+Mbq<&bT_^1y_xfD*M<1P7;D2|V*tC8_7C zrkMX`aZ$};D1G_Rh)yj`T2t?;*u=Lt$5qgxxzoLPI;I#5m75cqX}=N?mQU4b)X$us zoH`MWjcBsZiiZv1)Nifyskmfam3AGmSv-$_4W<=5yIw&$I1)?FxwT?rT!)>P>ZK&E zH8`c#dT!HHU&GV^v30FPUr%VakQ~=j?fM(3BrpMq+!>ZURo@*gQ>khsPaYw!LDsPl znC)-Xu_7$CGf%gYb>5vDmhish!BwYIHS)+wt+}ODXo--zR=FiSMe3(4$9?;99zK1k zoiVq+Ux-Kx*H4KJkP&Ijk$ewEDrlBS>yp4UM8{hG4Q&7jzxxjIj?mI9;lw?KKbi=f4hoVCa%khFJg(Fcp7EdHoN;;FxP2>ye zq&8J7l`GY0{ep3ErZzh_zp#j;rK4wHWMW2vEUawm+0hy}I3X?!w?-abK7IjBmI!JV z(ju%?oA#iePF=c1M8(7{P2^3q4z$kd|D9yO63HedkjRw~!vjODY!%?TbT`e^5Zs!e z1uV}xsG&MjjD$pXSJgr)XmkeCU2@Z0EO*f{o~5~sY7+!83{&o!4ph9dFf0j)TnTM> zJCBm;*Q1Rw>81_zHG3UMav{JRjBNFOcz?GDpxLrT74A`cfoZnL+Q$S^t3EUXjxE{ zLLxm~MWk?UG*Jhm-El$ehK4OoZE<|~kw{80M!{T&%|+!JM@r7eR?N-KsOc&^mlrN7-ED3ciA$$5PVpksgPuBg-Q9QpCYeCMGBJvHs6a(1 zLWK%kZ2$bXX?=*(QIXsF<-C_$`bVy7@4iR%j@KqhDNTqGF-n4c2zUgD|L zF&6UEH2qD1Qc7Gmacq&L(abbmLfyx#HJR#Bc^4waM|j(oUMYrm4**F*!GK`_V9{FH zyrgv@ow9a%PhZzrR5LGxP%*%&wKWDB& zQB=E46~^%H>Y__31NGHNXbs!}00v_H|F>zj^K|F0$RHVx?4T9Kc18(TN{T8?L8F;J zni+ll9g|{@w2HMXFOb5H&)KmW*&**%0qy|XtpY?HVHIwQE=8H5?c(#9=GytI@I)4Q z$V=Gw#(7+HMzX15?W)>69jBF?bVph_j`KS29cj-;TCE&Uj-hgSCZ0{mb4MCSmMo~C zOQE787Y%egs`&bl`-Ya1qAgHann(sRZVj?%;&3kCj-CIek$mIp$jfMrG2$?;5XK0j z3T2JYc5mji`~utxsF)N-2E69++Zd(*Q)s8x%zay`>0ZyJ>){15ROVZ$sj4xK{926u&_b61Rx^WAi45EWaJ=9u+Ujn zn5-&FtR>tw6y-J*)wU3IwiS!*B$nG%wAowqI9RN4m{{)^G2nQy)hS|^GsTc|#Xc8` zLoOF5TqDl9MO<~Kxalr&*L~tu4~l!96c0V4@!0bkQ(o7Y^OnXZJ`oTsU>v|mz&Id~ zIf3`kbDsCA*Ss!(*EE2KaR<5(6hLHnd+M{nRsU*ifE|Pm_8gCg<&ecrk|lW}6P`Mm z%5*+?IoMMhmY!gBl zaj6Vb>d^_Rico$w8sdaAZW!DomRy&t?`@cG9&8?M8PIxrK1ClOpx^!FSW;eY^t zPo>iEfe#~4fnXlwL9m#`2w*@aowC%|N^2Ru)AwGx7!C(eYkgK#v%0i})w zI=?Mk`x*yW#{fJM2muDv9%MdHDzAi`3DGam1G(A?X3>RHWyeE< z%;-vCwWNSI%{WoAKXzeOKeu4%!JyT zY=9KOTBsdWaf3Kk_CkS^(&5~`ngTa7kX;~{g9t#b@YY?@e(VolJcMkHD?oSsRNQtP zqb!4gF`I-2j7rdzZ3f1g>p2QbCcENZgi0VidQKEbqdP$chuRSWHg%U{p)#7a0G&Ak zQh?f;8Tr0Ho*D9OE~3D!3nMik24hg#C>DX=DvSKs)`ukIxrRo#V~G>seMXZQhMg7w`{{CUqr3?37^cwIV`tJ%x&wTa2E9K) zVQA&9e}imbbhe)X_Ht6wVIjV*+{%?Hw7&??sv3Q)l^|wy{`wgRL$)ta4Z$NNzz|qQ zc_QnH^3+?y15ek$gMbK-5Q8|-(PK$SMjEof0Ur|NK?xW|KwyC#C|vNN8ntLbGnSzp zUFgLstiu3^a}rL+S>l|hWpVDh^Vh-(SfJ7jD<_D2oDOM%PbmlKz)(753c6-hbnQ(> zPC-H!ev)^dL54bS?LoYA`wqK1*RQ&E*{bp|U`MI)FDMkTK}r#`_lTyWpKM zpK|b?xBJh!w>e<1O)NrjOhb=0S{PATgGz$ujA0m9MdOQ2S$2Kx+1w3U>}Fq)Ipr^m zu&0tCLdbN})5US}H-*mO!YBm2dJy0XRG`<5f zvetY`cM$5GCt{*JWRS=J4XP1N4>a%|-i%h-Pd`AxbTtxD7$)dm5m=4V(IqZ72v?yN z(M8O%r-+=8K4xhyKGrGry#s6!LUC8iv^?dn27uc>E z*O#AR6+g^+9$^+C2p8cb5#N6_G72i17_s8SOOS{z$ys9VoGMMajAJ?rE6u_Er|<~~ ziHJ#L%aJQjJ}H?3atcZ+h14{|a=ai)vZ89bVOoV^sa&bn>WyZr-RbuFR{U6_F|r-k z^Mf#o@gzyJoJ?o)#ZupbD9J&g+}uL3RIbE@>i>*ptKI4L`hy_^BPfOwBt=LcaFCuuesPo^^u-!CYqv-i#|k%*7!3jp`4S{d+xlS8e;@QYu-|RFSCjJyqH!ejZk5U_2WSTXu6W!<4^U1R z*TIU1qhu52h-z~QSY#Wyj6-!7U)wsnY-T6>IV#Ks>UGr2Snj3Al}F7;fyu6^ za&LQPLVtzK#CbX=?Pn$*vo_^6j!~d>$pnDCBsHSjHgg(RwryU^VtVxc5n-2kC=|Jh z%vYsRt0k^>r_XuJtB(0qiRI^Qq?fwadxNkz>>_O1$8@y8IL!Eqxp{J#d5t;D9AUnE z=A>E~`1$}EM}axYghjNAUYz-;SA6WJ#nEUMU>j^$dNN}D&vfEG|Edp8QR(f0|6izc zkZNYfPS-fM(uBF?W_bofH{6xpG_EVil z+ODj)&~pSN2=RQf%23kHR6Wf|p=`Ft4fqi+6vU!bl8dwKBEQM2Wu1H|=#`WDXyKxo z4X5-cbtj51TP~Q++Af*TTQ54Uxo?)1->rPP;-%aQIfny?F2%Ae7d}>W`craWN|CRz9V+9W35pG=>Wl$$h@0WyVYV}FfI1q7<~9l)267vWIaOVK|Cpm!s5 zt^*28-KH!{MtKcGxNE}Rch0jj!2wkc3$WX$2}779z1h^qVYTTo`tbuiyPcJfJ6PC5 z`z6e+7MOh+2TK?oh*xkE-sn~ictH0M!)OOV%8go`W)O{?LWq8J1gq;s6D zdNNOH5jyD@8B}U4&T*v1X@aBI91;bxX(!8pn}88i$U>N=9X(Mp7S+b_Jh|Qv!|)tu zkSHRM5lwllpT12;^u3Yh>`Bz4R_Y4QDbtw#D(wGN6u(AKK1n|%;%|BB{GCBFV$CTN zkIiDgy6k@Kr zd@L(Mj9|H18X}T#S+XJkBNkR95r|A!$KT)(K^$@1j*guomD|>eB$lfNorB}p>>3s| zvT4F#+~v{)IW$6cbb304AHamSo%26QAEPbVHzqIy&{0v+(c`f=`|!onvHtoJ zeDzapg1&5(MPo0MOggLYy2H~|u|uSJD9wpU-t#hb{L~y<{EXby{|{<+(4Eu>p=Vph znNlIAP*!&5D9=V~LZi!BAyaW^tUGsI^Jl&*P(&J^!{Hh&(Z9Z06*u zp%>PMtrZe_$SlmUa9P+f0ErkbjLtb%l2R0t=@@}LkIstKG>ZK!;p@KCYAEoBFheiA zu?oQ~R?WOUyItWHyiKvnSW2c)RoEQ`DO(N?A(q!o|3r7G;q~9^vz4FKpLvWvJ^L-` zg;@KwUpKTLw)wc}ZZDHyiblyrw8?lxrP9@#xZz9fRD2~VB z;wKX?_HRG?N&HytL$5BWN~~#yBs14w>9tx5mPGL_2}h5B&h&P^MEFL2gB;6M(y zwk#dC7Y?A^u(cJ0Kp6u&To$B&A;X0YNAxh&7 zA;C6hVZK$vTI(-kud!)l*~T1p1^v9^??yZJOwUtMv4saXM0BN3f2yrrf7(Sxi|PyD zhA7w@LWC{OB8AhyTUYAlt#$P&@~uL)Uw78AAU-j0yz`_X&HxkvxA)q%YhJfQdB<{K zN3Suip|@vhKqeX*g^hTAm@+9morX* zx~ccW7q+9o5a=Tee7w#5{$==NJD?7sjm-b(weA|&Zq?@wG5lO2+UZi9>h67*X#{#X zw6|N~bmm*sS!>G6v({SRd}qV3V6R#K8vusDZ0ow#S_$7$#C6CGSc5!78~xBtdW|`t z5xl@?UyoQdN|hBx)`L8vxkIU68dBs9sS}ux42eV=$4pE85al>xOjMtQWz1DbeTyX~ zQ)7XmK2+@u@nvY>43WmF%1(J;Vrt0l*akVTL@rgjTZAC}x9TO!{b~OBSBs(EY>i(9 zD{EWxt((!!*+%9P7VJ0p-L?mB4CgCgwlcHXR_5vL zzT;f*AMv^xI>%aOG+Is6CpcA^7ke@>c0G((*2m?k`PpEp^=%*gJi)5<-)+KR`<7z8 zNf<{Tz@*Nds5xf#J=VN)A{9v7TNC@x;6?HR3L;lTzWFiFfd5dS&%!0eX?!(TXGh$m zYiT+KEXyB%*@KTlTK&GN#qIU)lK&&6BKBPosh_ptN!5m8MusV`C_PQX6C6wS?oG*H z0a-ZGqLr^iQF(uh4w08}_)miF}+x%6Q+9mZ3FkTVAMU z9a($sxM=(Nshby5idnCw#8xS#W9&Swe{FS(IUADxLv#NF3&PDywFN6tw4lFPXVNcL z%lp0Y>v5>vrO(lbM!k5dq0{%hE;GbpEs`s32*^mf*g9A^ab>fXVqGQZ#bDv=?{LjF zV}Z(M2CQSUvJ9pEQfbKW1EtX-D{!-&;v8)gT+m^*$l4oVjntE!h}yqb<$D?hNTjZ$ z0+is>Z90y?V5x98Y!x8$H$##kVNV->}L=B!6&d~HVMloccDsao=K{L76ltl&D4mMfIfsc8Pw!jv<5D= z8sdlMQ@G)#r3FJ=W-6L4c7M^#O?r*RCVP|L{}^RD{QUwxTI(CuBJI;}?5 zVp*DHyTfDjj3Xd7Twg1c+Qp?It%m$UxjH31wtRS>CDP4Oas~V%FB{f)1lg8Vr6FYm zV|u}=)Wjpt{ZWYUvgABro~9xV^jXbC$iL{n8RWDb$n+>OgWS6ZMs-a(ZGSgktudmg zu5%r8*XU4Eu0y1Ev-JA||8o7Fh8+8oAo|r#aJH_-Q{$Ev@c&8*a$Vjv74RA`?}8)o zUiQmqAK_kb`8QVFsli%HGP9AvW5KZTf&tg3H0#*~@RiiGE8+q+q6gfbb2+p zhx}6+G*(kc5s`8txsQ?)?_iGpeWLFSSoO;)fiy}daEM)CYks%mHgKFg7vr< z(ap@%L=fwwfD93VD_UR+~ohN>G6Tje&~M$`SYTKN7FV<#wQF@D7Qr~m#LGW z4|mb;#{&KY=kJV!Len3*MLgEa5yXY4c=zU>yN|(;T*uP^3fV5QgP|-9w?_lE=GfFW z@NA4F`-lbbe`zp%vKmC5j~sic#}b)(jA0rOpx2lg3=>7Ht7IvP{0L5JtZuhqd+W(A;E)N9 zmHz0YeuvOW2Qw2C>=7cTnVNNpjjhufs~_JXbazQsBeaT?4#h-Lsuw@2(nv>DBu&3q zVLd6HoA7neqR0zSGh^64Ov# ztsq%<$ki^Oro4_*nOI6qp_k_h%=Fg0czhaCRIZ4@jW z!)yA3ZXb4L#%7S2073b}z0!RXZ}!uSKO}-155%i0kE;#+F;JLQ)$_u_Nyu& zje3h`u`$=qo%>N#ke3(?tA%xOyO6C^maVV-az?ovX@`nkX@<&v5G^C=QbN|+&dg&< z9F>*=iNk5IqY3hxT&jD3Cn^aeEe~ds8k&W&fkHIOK{RSeh-_kAG6%8&(ZZ1mmnjq@ zyH>HTAxgNs84BBLlIpUlvAqQV}*KWgUEKWet&QV2d^JE zTGZ*W^TCcWysXAE+v)dPR6S zWM$q!0jFlLuCJIK9%M9C8&Qdz0cGAA6_CkFUYN!c%~ROPps>Xly&Z(@YANQQHn1rg z+1f85GO#~o@IEAGkj?v}t&wRxmTrSec7XkU)Sv=I+rZ|ZY7|ZZbbua<94nr7&$|oi z8%=RpaeEuHKFfK_OaJ{mnP2^)Spoeh2>%2`ELr zGWC{t)ZfA}L<~JvxoO(lD?R9)e(2vNu(Z)vG<0oSy}=#brH$+2kE=%$CXKSs(uxSz90Q2I*d+YVC;?D z6M0gbb*XOEtMo?wN&Q*Lz9tRgeil9fZB5V=9h`xv| z5zj}w6mj2~c0O{xche#{k>W^YmH1l^sWl(-njR!_lX}# zR1w>VtBB7KM~JTlBoc$fA?1-YBok>FsgJbzd)=PicG4}>atFk`9-lYB%bOSQN19X&DtOt?3AZ&Q=O(*nz)ICDXMY`GIoCgHVZI2+k7 zn<~G3?$6h}=EkMpO2{rG!bC)~(c;VV-+9BjT?1P$GmEBrvNXf9TOymFjkq_I6FNe{m4hLgJ}bzkCf1M=^?(i37$ z8JUg|S>Q$sfQvz$DgF!de+ejSSAD9bNvE?h(UVJ?B*@?l<)VXe*$I;<4TD$hT>U9- zNZkl`MVVt-6bXhUGLnzj1S`ch5^>B#({U!FC2V7*PSeN|tr6e><%Df)%H&0`QYKrP z*!0Ogg5+Pst#}1$T&NiIGq4Quog1fy&0PK}T*wg&LSHtq#UXcqC@ru9g*9O!f~7c>!;a~p z50Ld2{<$B9Rr>esvi7LABg1zwsMU-PeT_1AD?Wq{VTfZ$UfS!%qU*53RlNJu&eel{ z5VGg*<2R>z2?wjp!BF9V4_}(haZ`u|Myu-Okg;Ax*1~BelY7^L9tCtK!G)EiZ+t^3 z{Qp!Cu*x3Z@cqW+b~nqn$Riy@@h~}r0%dmaP3Pu_cF8U4)QK4VW)rq;o&?XI`d=~K zz6WP-Cv2eqe12o?GeLjxpp$u&8imY3h$F64P|O$HG>vN9%VeIY-K^KXc1XbG*5Ub6 zJ;%FQQrc4N&fuArL06Q-{=Wn)kbwmi=Ij89zb>ZtnLl=}P=Gbemmp0S`a$Z{p8My% z5G!{X_Gv%nEBF>3tmbkrx;V)aCT8w$ZAx;1SQC~zK^4K=N>Kzoy=(FSN0FDKYctZ~ zqUdx&npF`pXl~g=)-*+U4x0zu6@wW|5V(UB-9vUUcErWW$sA1_y+FQKWxO~#YS4N^ zk1Tc3blff%1vL6zCmS|$ykZ5EFQhUq#g-;$mf zSJ3@W{`j}$>Sv_EmtP_-fE$~}s)8cV(p=_g%lyAs&XEGVqk~{=CTEsS zG#c*1y^8INFgLxE6r(FVQ4EtYBw6GXCP-h#y(7gmE5!m#mF10eAnnJIZGg^`;YE^& zj55Z7ZfIh>7KL_E`lemaHmN7c;Y3xDVwQ#KY|m6(%GbVTQv-`HFVn{_PK;6I$}1)U zf&0bXe{sR~n_#YKXAGA1!Xc_dYh3fssk&&M#EgV`g=tG>)h?Jqawjw6=jN=TL`}0y zBPG)1a#U2^Hf3oow2Z{;P!@C&an_2Yfy+FX0hpo;HW`-X-z!KzBq`HuD$k8(-R#-C z-HZSkHW+*Q_I+e#YiZRshtW%t?M$Wy*Yu{-pI+y@@pSsX-cp>ei|kf+BEJ8PTij5u ze|n;EX#~tLho<%K|I5gc>8Nd3iPVMo*gcYsD8a!as8k^-0l#7XXi zymov6oLW?f+1iUefTbOQ(SF7VX@#Lc7nh4^h}D{WPW!l=C&zv1oq16=w0%jOk1Q%- zYl$Sf07VJb?*$a2k=7qb6j~OZnrH!eE3Gq^{vx%$ga_~b{C9s&V}ftE`W9MLV#*{^=sVGDK zQN}e4I0J$)$H4|2e(ug@wU?s1$$=_nBzkz4h3I>0{FK+RRrwCD^*Wnl4{9_50CFcG z$^W!_$v5QPVA@KXQe*&VnSjyhxE*xlk?De zTB$Vd#}ffEJ*-(kp!&B|uZ_!9? z@?F}sp~Aqq*lsmC{ZVsPr$}#Gxl&rjb(1-c>xf%brU(Y|E)>*5=3W8@e2)_N1$>bG%=k zqD5<1SMfQQV_~*F>-gTJ8YU9yK#2^NDY!V<6cEvbX0cMMlxg}z{!KEQuhrLGY|-eg zao}G1C@!{kHDR_Z#_f|}wnI}nH1ISK6<1ORsBfS_NQknZgKWbfSPbMiZZDDK4h$oI&h{NILJ9NFvhe;fP8oz%Iguwtbu!CK9 zv<#Tj45=nu$5ZBWXku--mYhEy+`dwvW|6N*U9%xisODF#QH5^sAYiFzRE+vJnEpud zn*JO&H&aWVN^j%Xqc3MUZ@h!;dLT2&iz|F+Zs^LFO_e~R_)BW}2;u#l0}SQ>0EESP zwdkG!0DK3gkqQErRx^@7fjN7guF1qIQ(PCL)9+9nOl?3PxyWL?!pdbi8pvCmL6NR6 zDSM>gMxe_iXk4iLvzVJ@F}<<&t1bWbpwJ|j7oi+T8K>>Sbj_wZNXa+)rX}*h=I+Sk z8SW%^$gySWgVXq;&>veHWHep{OmG~qKd$RPNoA`L8K3T*tQ|sa7|XV^KFd1JJeVzO%<%kRaP3bsq!PonnoFePWxQ_Qc!O;3OQdF zAdk{nbwj}6+Va*Zyx<(iY$;e?+-lqEC}ZgOsO70gZRUQzFzMx_tJ?R}bP?W)T~NOrjE}mNjRPup~Xfw zG$KTgQLTuLITae!tJOVJPvah!+HW%U9xEkL&Kb-L>P$2%n8QoilXv(8vOTlmz6lu%1-)rrGJy-X zWX!N?0wFf(nrq(xL8o`5SXH*?1la+2mwsYSz*ZXwP2_^9`Pdu@F}IRx)1CB61ZeBy zgdgHx>(vrkMo__CtaZyAJUMO*PN0Ald4mP%IG z!PQgdtj$?swd?0{ln$Ho8QHOyDg-=dUioLK!n~bG5Q8t7_hxr_k}Q+79Y-T3tQ0#* z5k2aK&F~b>%${ya6!=sC{rZ8ls7Cr@(5+yGl7O<3>j<+k0tf(pzvQLq~otJR*cIJDgZie%L6UAj*?i>$h~)qyn3GF(k%q(%76fvWmK8k8@Xn1l%kK(np zy(K>Z1`KCb1TRlznn$)S-FR@7A{ysNtD&h9XPUHKP~o~^HXwSML8r1Pt7bl`I$Lvz z<9nA@5|i#M%rYNjT~^UEVX~O>Kdf|Jy1oO`$mi3hG27%LyN~$N`nK{64}GC0tEQ}| zAcc$cYJ>i4c~3NTMU;>jW1XBOB#f=Ogash-A#%E{Jo%lF1~CY%l>B=Tfl|MtFU~c+;x6r|91s-*OHwoM?&v9$7rJy z{!V4#S49j#^0Z0xD?yr{>>-PCOTm_Zdp;C--gfW4dL*r<)fdV<6*i>G1Piahb&8X< zUXeT0k6g{D4>%uWi;X(8PC69A*>Nd1&4^I6#ICX`lK`V=(r`Jh6AR9cm3&B@|u8YGMi=$^@XRlrW{-zVx2N@55&n}TqCcFRtM^gAFXY;nh?xVmJTrpq-kVQ*wVlsH@d2N( zh4ZQzwNO%O*^4p*iJ1Y1Bo8;BqM5fdIW=I1&w;z&1=O$K{n~PS47J}j@%{~}mP1nm z2*U#$YCS-ODS`ZPwH5_xr@{c~7fV5(J!g^KXQSf})#*_U?V_~0?;4h6N+s#_drT=D zYbf<$uFtpbhrnWj08d{Agu*c0!!)iI*>1bh$me-+pY6hYAPn`P2M2+fzr5HRuRqq> z>ZgzM^Iv#gOMdMO^Q}yP86CB^_fIB%-ZGfRf$+?wuMhM{9R3}DC;#wb4-~ZFwnCWN z@!7&=B+;pMOM|;ua#F-&0k7Loq|WkcH5zB5t+nz{HdSQmKk+IC8~G-(6oJB_NHL+L zE7Hxq3be8srg_l+_b6137_y|S2h!{8Nu9qu`4x&kom3OW;7~#;uM9CML(trgQ$87{ zsSporZYyiT)R;>}<25=m2?pxf7M8B3qPuBav^6L~T|IJ^?WV99c7nn_E zxtdK;DaPx!vGV$s8g6*Az9nLzRZI%R=s;+vz(H@69N4lo2Y4~S7#L{^064Pic(s`& z&((3EToyvm-PZGhB)CyZcT1}UCdbZ3dw_6)2`B^ne0q}mNqv0ud?e3EQWd6|svxdT z3S>8n+{zyX!zJzxfN=|vg*I1NT)Ly9@?9776zAukMl4v=hw35P-QME%BI)yS*P8>j zoLXDBH+#J5q@#Gsv@jf<0?c-q=|8>qzp(==mevlm&ShdHr$6~LJXPj z<{W_fuekfFOTr@GvZ}Yyo+ur%nG2-|!I~VENf6`$Dk#UBu>HsZ3`EBO6o2KMV%@5W zhg8%UnsM#CsEP3pi@pku==jL(v+zvlWc`dIKMUi}2xVBQ0Js>|{eV513#U#JJ`9d< zUjsPMy!Qu#L)*iCey z?o)p;2hDMxO{Z|+$T+kb!l7Ow%CBX}jUwN-2q~1Gwulgo6iXV`;C z6iw?@q6-hrQ!*+U;cYdpyh3Ygd0uP{r2_g1J4%KF$Fn_sZB@G|lrHOQ_Bhp4)9${3 z&_yi*V?GU$VmCGu{S8Fp2i;fR-yl+tdv#5ryqQZ>k8*rc6*kPH`64F-M{>o6-^7-* zvnuO)KdWrtY2y6LRe3VFsjesq#+Z)gL3IWZqFQ|@G@BcQ|3fv~?XHhs&2HH-sxJM| zHLq!pC5B3jb%xR^;{Y3i=ol~oT}&`FM1EcfXWE*gk+#xm3;fS2r3QPFKAz9*82tc^ zehSST@hu>}bS>j!bZkyerG`p`eP(CCn0H*k-gKA6?P_$uF2}{06$wpM6ChOccp#ox zSw-w{h=?0kL|&F@d6Wf0SXtQsCqu?Z5#^|ela?SNz!k@t>DUHUBRTD4>So)qr^qmh z56~1b*$%_#_T!i>Wzq@^W#kcc)F+prK)Et%Y*Epdp0+kf$ zC$pBhGf&Jq?L}Pu4J={z4EgW=7I;Ha0LnD)Z)IiXzjl( z;9%^<4`eo|j-I9?Xxh($7BS*I@V>LE^#eg%lA%4M;w=nX0J-z$nZog;e!YP7v7KUGfLMz?kcUf0->#C^(xA zOAKBbxw8xs%^{J=ppi|^6^Hd|=>o!R%>>|PL$=1yHZzPb7pwy5Y!2B3%~70dNnuz3 zgAi7xEO8}z+4B$K^3E#Ew9ceMlVuwx6#ZSml&I713gX3k|k$FkOt1wDxh|y-1YE**pgGO3I?L5{Ith`};JcseTrU=17%VmVKI=#4~_`w_Qg9qVV}dm0Ru3Q9Pqte@w4 zI$*3*C*xD7B;T&OUvP3#Xy zP!4leM9!^0URL{<7$)tf2zI%dMY?=Ik#Ms_4yHLCN+D5TPsQ`27||L`EE9M&gG;mQ za~o-OTgmW2ZPaUzy3H_c6k)%Z{Ck__gJ|tFjBTWz1#`I2_#gI{z*O$T6_V5<2bul@ zl|dR=g^>qV1PUmmh+=U3`Gq28qy&)!#U)eX^|x3WJw77=la)}CE!D>w9BD2u313FG zTse7#@)Y~j6jxcLd{s4djidrAnpU-}X;iXr{QsjQ-^rk+_tvv+D~>*(rb(>JKt(8#z?+yt>X+#EcFPM6!$b|2L7`uwB++Wxi#n^JtNYCj-!)U03k8=>+3e%qd7_AhrS z{)beW5j(zr3TE{8v#ka4J($%(oD+Os=Tj|^W$Z+jTOwvp&mAwgf>vuezwrG+rWT>p*5bFi!LAU z`=)z;-O`u)oejP5y#a6Xqi22oY6R21`iJDGL?crfU3Aa@)hj9vBqS;E)X1Ks(Zm)NvW*j|MTMMTb#g;N*5L zmPHP$`$W&xy3Au9Jl?@WGZp)J#LR#~s0#-?VqKh;T?DMh46CUw9Z<+}XI0b7N4lJ` z0S5x2CyX!xq7rqcokeHrEcfCf0t==F43;^U%;)keq-905ven^0S~<>YHc(B%+5;JCBm;*Q1Rw>81_zHG3IwD55d1_}BqsY$#q=(4?FdO`Tb_rvi}&0&`)9wP zPGAYOP*PH*R3;T%r4%v8^V|BLb19cKkWg1qu_+P7pjT430wP{f5j)mi-3qtcjf_`r z`*g#<>Wl3E(>t}^n;FqamK0mI!%Yg9!euGT?Jeh);p@H_Ys-iD1;C4Zg>0G-5Hcz_H8p zom-gtr_TTU5jo|c<0y(PlWd7CTXY2+3+ef~?fY}CNkU2BnPr$+dj8ki=bz?*rWsyh z6(C8h;!G;`_RQO@M7WfP4@B-eAWf)#0R)V?ncXMmQkeObP2GJk?COjlI{+*hp~~G~ z2Y;fF{NsIX4aWHLA}J07REyYrEXMCd`8#ggeYmWHd%Ns8>-Hm4r*(Es1?N1b8!JaGOE{nr zJCoM`do|PcKVY%5lpK~9zcLgs^ObSqqESq>DmO*?2ulD9Vi_(0+zViu0n-R19ri9` zu~Z;gP%)M~N1hz=C(q$4LzxaSbjn2|cN$l5`jGp^txLBqy57?pp8waGwSK<(kzq(f z3d8BsO0H5W=_Jn;=_k zgY2*ivd4bNK}R6RoPnHk5pvme$W6B)cin?L@Bs4IV8LmAV6pFjIibJYy|k9_|Vk~{>XqPBS2vM3nA!k;?ck# zC>u$@@Y6-E@6peVj*0=H!=QRMa;TQ$izHeIAEXHL8$6R>q91@N7&f^->^P(lnLPWK zKY)jIzzen`EO=+PdptB9sm&2&AVK z40$=!0_~|5qK18Ie3<*aK0$_k3yVLzBS~RsNG4)Lp8HHA@m58c$Lf60teHGEQBHAv zZBw2A91-_~m0(8#lS69(lM$!;AL2|zXjwFq5QCaUXeA+06Y4X7>$Q#PhzzE#wLuEaz1ngQsXt#Iu)iWx^VofEUrhKlKHw7Gx$$^y@hBz6FS z53)=WG?I4RHY&Kg@%Vt}=Puvcy1?ILgdCy?ZR~d;hiK?U$3nsBBO2o;Q z!=|?$<^V#YuYZ!a77*Nev)!iFwHs_*7w%rxGe+y}1#xY;??VzdP~XB@U6L7D5*TD*F=s4KS1sim$Oi-qlL9q6B( z^9^l=rlG@UTHf)0OOLrd8nn-PwLpuT&_W$DgrGGXm7iKN4ghrCK$Vt~DrM}w`3O6r zDQTA!@$3C51i|{mS&0`~_jOuoYl264Q}M05VAsv?u&@a;P_&EdVkSFk<|= zBVa<5cqouj3Rwn2DTj(s(xeuHn7XD6?gU$@I4{X ze+wbMx!&BEH;PB z;|qjT{85QiCRZp`YK>N>HyBN3ixsfh9i5zAT;1H6BF$qvy}@YWi>&_*075W=VmLuk zG{bVdAWE{L+8s`p+vD~5$+OrTE{`t|io_DBOs-I>)EaFHzwY<8?bx+v-+_)pT}SXm z^NA;V`bdN2^G}+fOwG_3EDlc~lFZ2#mXxd*23foX16-w7_$Tl{1@PlFBa;k|1~ z-~OKhv=+Pa8Nlt|I6�VZcaKh_y{t3jM>z!cKpz??M3n_>FIk;y~DV#N;dp<(lMQrJGi?2jt%(3mc9Q$nW`4?r5FRHm=K zS$pKN`qFlpDB=DUb%wl_^NN(3p;n7_bDifpH@e?*j;Q5&GE$W5xs?ZDTOpB2(?~Io zTkD7Z-}qNULz~YR{=M*Dh5s-7`o!x0m*DWr0qU>BR2AyPbxK@qKjc}TD(8yaUjs-L z$;aDVr?4lh7W{dCCwfC}-}?WT=Q-t}m|PXc^&FMtp46L>-| z)ItQ3!ufuLbjyUIzHw^<}KOw|WxyB>&jIF0e-rV14Ad?YED*w-SP>ZA*RUID< z=$cH|Y??-XTKQ|k)G1I0mM#plgqSTzuTTSK=oe{$2=m2SBHAJ`7K;*Z8G#iutW^#zpK{?K_Imzl6htsm1 zV0Vhkd2W{#C~;Gn+e+P%W((YLWHq?v3f6~jkj{Qtj`+mq9vc^C4#Gvb&dGB@k*f+_ z;c-o|>&o4MfSxc2+cfm~^cbiHxdGtvtpfD{_HXSg2k=5lTER4*&Om1%mt?SE#*x1Q z8EUvO^Q*&+oKJe1P}FwSNFbw)ar^zqSP;}?+yHzD$cuo>Kz#?$X*AH@540WxP+-mN zdTb_*YPLy88g;m8x@zC7Ee{stG@%YUC72{6mHlzb1mA>o(wrPSdCf}nwC2=&tAm78 zrAMLPRs-8KlaT;B8M4%LNO<6nzm!I(B%}&vzOlu@I zt+ue+nKVjg^&>Hi%e(#2{vgKngLTgckCY;3zx#^FFh|D>!9BDIpP(DQTp<#dyMIGz zJI~f|=RTWmnc7+z9p_F$D`VS<8n+b}Hen)Azl>q+7T@G*uXDJ6NMl?vhqnoG91r86 zH2ht02o3uTggJ-@4(0&{<76KSm>^)hgA7u|ysg&mN2`xKr?>YHAcPsV%Cx$??B~75 zSiCcoPw#@(ajG_vhX-Z!<0_h|bavfa%1YN-C;ibTmHM^bd&jl)@X`H+hcARZ_wG*P zHA^p5fF0R!1u7I8Bs!@~o}%VtG_E19bs$Q&#D2YR?fVhWBFv6DJ0M-{p+Tp0`bdA? zcB4_i7_>emH)I@m5?C)M)79zB>@b5dZZHrjth9HSBVXA%B)-jt?L!VEM?zw|ZNmFr zkRup=7b@ex=dQGwH%pu9L!oQFs>&*l z?b-Qqcl(M~FF?l29;fmncb=GVPGfgD4h5)s__IycEQjdoP2I>MOb;DWzc9t%n~s5l zAKJNV&;WJRR&%@2{@5XV7h)XGVl<{pY1+7Kj17)Pm4ee)J!?QH?%Td3X2#)jtiHR_!E9)U!nKJQQ zP!;3w2WO0z!+Sf%j@uwl!$jb+aY&nOwvf+VlS-Wpqpab`z#R-m^7!#*kVi*8$wiB8$5?Cb zJcb`EpU!ySAu^KFa7Si#WAA6ZSTYdmL~K&XByTrz_2#eNW$;rl+Lm+R+4n&9ixRs< z*K5~F1y1e+LTdM{Wp>$mbubDTj)^cBN5j*o`wG(h?8ED_&8zat`YR>LVwV^~_rKNk z@V%FNL&SI(p65>nBwG31Me4&HoiTH_C%<%YKc}Ub!mzpQa)nKwu)tfKFn|2ltkCA? z`x72Avuo)RK<}7$(1q{q=)m_3=6ZAU?DZYXmM`xZtha;5J4bjvb+{a#R}vtz^7}k9 z_ctcpvj;NYW?*^6o$@`H#5Vo=P&RU3+6lY3YjHUP|7{w`fL21q@(wrNpoys z5L(0>kLmEN4$~22CbDXjx>|o-5hY-YEiX%*XBICkaEljUaq0|vlE7;`=K8P8k--C9 zhs+^nP`~LeI=}jSksDC5Z3#H#`H1txwTcf+%Uq{Ywjw-_hTUh)!<|p$zjD9onY$d0 zKjz5V8ozvNOYLy#@8e&HI}B`Dc<;$I1em>k`ruD%-5*~JKd%GwW1^1tZ{BEkrOs(L zrEM|P+7{83uRh$<*U`}>+Wq=^IC*&)w#4%zyCV`X75$|!uG0^ zL|c}~r81MuDvBZSv72#^H>j6vj_6o~+w~f)U577%%*yW6n3^eBMU-lZ6^~0vF@*49 zqCX&nt{^Mhlft*8spX!A6sxsPsji`A7EwHLdR?4UZ`aDA9$9&MraQP+CC*jJHSU%q zi1kOlugx3dow}QY`eb^qR;Q_I&#*5emdPxDlV%hH1ng#|Ct;kHE~>6wW# zXl{JVquWGpG2T;Ua5Nh-v_9I&rXae|DI+@_z@TA?5y6Vg1D9jj@>kzlDBp zJSZFtzYzG8pUa6!%oG`&xSMf4#;DdQGDdF~QvJumH)OQR zaMjHM%8B#tk|dz>jWve!f&6^X@jGP}86&?RToO+V+sM5m7h_Ffu{ly>Qf#4G8(UzK zB+IFxH$Y@ zdC9-fMbBn!DOE4MUqoe_yFA|+<0&?KmP+HmA#UJi z8>w;SoJIpCsa)bBx};Zsg`4fLD7B7k;QvZd9H%jzE}&fcGH9_Wlx{&@a;l+Tr|itO zDLQI(dU>HNjBtLZ%_yvs;C{y3Qpk;obr^*bv#r$Sa+E^6Uo~J3-R9zdQK~&cuwmEl zSg%0gNa1@_`Gm%vZk1=+?6?}7buW(&{z5N#a23BwK+87#SVD#L>p>2l$+TwKoZ#_@ zF?6GS^n*!h?dji(53B@XAe1NL&BYg5aoo!0hvOgMK&05QWsmmStl+C%Xd8@-P+6;luyU9wY3MTG^dJNa;(mJuebB8 z^*>+Wsk^xR?UfhtQQGJCXhwrx(PC>(aNH0_^p4_?rkkpgdeW65Vn_ECBrdwi_bECudZTwv_iufvVQo6o02KpPbv+#dp(jp~h zE&lR8K8}AL?Ydu4Z!EciX?4|sfazBxQ2CCM#?pL3YfrZ*v{}w9HNkW)9!`9x$PAPE zt1kWaXs(?*A<%2QZf|ov=n(VP1vZ-OM=mVihHJP(l~Lhu(tbR2ee3G{^Joj}ElT}SC@%byL^5G9xja25A2VEMF;}PpEO%gRB56CSN z<5K)oQ7i4HFXus9mQ73{{Z(n^^e^*b}oO|IgmZDY(9Sh+o{PfMTv8JTOgo4Fp~rjL;@TOGxaYdy z*qF+~O1E{w|8JO(c3;u_Qr&!*Qo4kS*8F@wM??pdcS-33o9$H$nzerW-Z8H{VGup6 z$u}RFU@bE*T{Qenau+*`s zd@UTFVez$qsZlMv%nbM`E#=Kc%0=W1>E-z7FbKYflU5e(sdmq-f>%G7u*?4?7JA^* zzvic4;$i9Tp_rx5vqLYjSl6Vti!;N~2M64T!H~F1_*aXZnbzMcG%^3SZ=y)xpB(kx zd}mrc3m9q#~3bAVVwbPN_9h13&#{V{N%_Q4gmB^#hU#&lUkp9pkc z>L54=$36>Ci}08~+7xf8O*R(MCrx2rf`nhLz31O5v8J>tF!iF-8wB2L zOkXf54i->?)z#jul+Rd{w+a)K) zbN1u^Y^tXOn`ptyZc9`MvRsIsox_;Q=2Rt@TX>i+T?tW)}Q^Q zgX0}JoErLG{@Em$ty)gn4W_pj~9@y6v_LMZErMTZiVV2u<&oSKKtJ1z3-HL?)SFYv;VyD z{8n$?iTSMn3!>wTpsAWbXsW?_2H{a13!5CEBdxj2 zwsmE#tF&YYZzfzCqPJ4eEkJ>(i;bhZgf!^3V7wAmDnXFvP$fCkkTTP_DhiGv*yI@@ zE;UA>CJGL;Lca;pAhaOQGD)Z0wJ~hG;*~;LCk?c%^kITCKyhQJmPtAhtQFB&Su$&B zUE2USaps$IDVAjr=T02Kd z_eWo+z)=Ofr*g*LB!erCtHo6JJ?StTmrd0W$c#vhzEf&^Re#mo zGGy=aK`*M;p^Y~VXv%OEFl%d$S~4Yk2j%j9RTSJvIO`<}Hr5J;C6M;OGb5f*OprqF z&>Zr{LZaIabaFBq50oIsv_SfeoYcdSOCWuJN6%3apmP>dWKl8y)**a7Lx#rfH4c25 zKUh-x&(DJdelM>;Kwu!B^93MZ0~k&ug@T#OM*Ey{-LT&vMGZxns6vyu4*6>c7JzZX zPg?ZZo;!JzN$h0RNStz;Rid*xuPZy$)4kre+OONC{I`g8kuBu)a-TdSZz@ni>ZQa} z)~UVfsJf``sh9d9l}}Bgrc?D)E47O{KpoaYEoxIIv8b%2WzdYYY+3=Woi>-Y#H=wp z%u#d3JTW~pF|tYHVh^mE>gTd4`+D}{>{r>DwZ*k`UDJxe_vY{AZ(s)RMwg?T(5q0l zIES^cOxN{tXjy1u=%?l6#*qz@Xtr+HzFc3vufx~l+wZ&FZn1amOFOcnwcP!FLce4` zjo%9AInoIZ`G@^w{xkiv{m=V*{;BVI#?QkY)-?gM0_Fy+2)Dw+$Y4Y;gp72Co?&IQ zGWr?I?hkJb<0|6~#@mc3#z&0r0;z$_z!`yYSehIt=Q;wH2kv0{F>TDH%%?11`4>Bi zmCDLud05@7^{lI`@7WTzn%%}8WM5$4V^46{oNP`Jr;gLl8RYEZoaWpjJp7Kop9%M1 zfdLkJKrjLTWh6{|6$ev1?QFEyeYlV|fZ_ATy>8+4p242P_|mf53S4Z?s!9CiKkJXP z9r*pg5O_HpF+9Yg7dp=l0|fj4a7YlqO+AYo0%U3T^8-@p4+>2kRA4$D@`M6D76+guB)8oX4~B8Rt@6@GS55#a!0rXj`kvf9@&Oin$mcN0 z>mY;g^>xrb?LU&CIL?3m6%fEq*m=Nqr>b!`Y|_vyIe@RJx=!QJ^Q?Z@p*^|$*@5V~ z0a4<)b4s?v!KyJLB)PsFBYWquSRYW(Gsked6E;(FfA{2tGg*0RYh6cSlmJ0S=qJ-( zJ^lRy57b0AnQcERb8AOic$|kKmZepn<{(OVcVm-a*<|f@qTm49AHyoiC?`jkMdmja z*Cfbcc#_28IWLjAO|x#A-pVX5MSX5!iVFR_+9?`g%N-Cp0_zNZ&qB3FcsOs1ky1Qd z+n3V_oK8mcE{gi$(?xw?{$4D4OWbJU|9&&cIA1gq)ll4ovQh!MZIhu!{{``X9h5HH z^{nP1Q9K*1ich{~n8?HqX1%B}013CKqBm|Qf?;&#q8X;zp? zYXRk)d<$4$2g{SNrQor)&Rh!-cN(1xsTPCV`% zpaTOMa3BqqoWHa?zK?v%k>LI{)9L6bO{}b_w0(!4Ky5(%IJJAd#>$S+Jgd1<5RC2R<9AE@@aO4Z6<0BzB-GcmZX2Cqn$2M#NNj>s{)>)ahOmtt|R4MEbip^p+ zBLg3Tv&;=eq9Ut+R)VT^2`GS5I5d`5Nq3{^sX2pZX-URQEdAXF&%Jy+yM-e7@h=$< zfIH_|ON%IM2VoKhmGJ-3q>lpV+W^h>%7Judh;ULnJ(V+8^h-2&3*O|M6m?lO_Y#yV zNO#tWgh(+Y#!)fJ6R-Y2HWo^>A&8lzctMld@Z40yEc9E)ab%>-l-PpElaYK7t8JXC zdLijxF$zX}%R;6fN1}GJZMjKu?>*DqVEU`)akPK$P9crisl;sp`}do#%f<3TAof&O zh#|IsjPB%UCEgq_>as1PkdDesDM9zsYAXq3h}|tdZw`Bc=XqHYH4aVTn0!uATF5EMdY^^ zgR~m9K_2U&(Nk!?Bs+Rz>#Qm(#bRGQl(W?vu@G})mg0vu@2HV3eBIOO;!gjToMytojRz5-sqOizVGu;F+lruQ8tB}W_zgjW^ zZKu&p!0DIWEft19kK%%Q;$J9#4C043|Mm0>MMBAr3*W(nURKfJ6xyN&PHdJ6&*k}^ zgXyv_2r!!@2^C5(Uk{zjV3bA!XpnfgVL3YK1^tgOb5n9@R~PMvC7zne5YUPO*IHTS)w5XL>D6*y)BHPFVIKP zjpDNtzlfd)0|5QC7##wP0z{D7{4=#yfB^>oE|Pr8F1Tz`ZL^skq${VJ_uK2dj;xwY@G4 z$_!FVC#3as0-j1Fkkb{z4%idzYPxA@ys2wOo|n&lYE4mKB24cwC<~a}nDjXA0$*0C zL%A=(x<9GcoFP~r_;85~2Fwz0cQ2hkJ3BlHnNMwF>pl!O z>1iqHIX>(f9o8#&4ucRYI(~23QNP*fukji7!hvwVo1&SC;-ze*I=2}uHecC1W~-F$ z%t3aBnRVvH%0_7=LhhwD*nXbDUq^ed^W2 z{rUwWi{7!D{aZPo#FFP`+@vK9(|k43;>9*A1Yy?gZES}n{&6wzLKD0T=3qWr&kD&f zf~KXMc|Cjjs9f8Mf@IIrrSf`}m_#*g5UWL|OPG2dbW%8{fKk%#u187Z9APIy&I^xm zdRiMP#Nj1O+WhIZoRucr)Q@x`#YtLi`2#hotv(I{GXK0YISTOo8~_3XfS`ln88w`n z2nY{B9BGIo4va`BMit|pNAe7`K#lIqv61tHSSc4NcVf`gIM+hMXpT}XV+sSIXGGWu zLs_u}5>c2$mhvcewxvo>ar28XdHJ20eZJX!m=Bne%&M)LQ_EblLp5vr8V^s0YORWd zSJ5kM9E)=_inoV$stu6faZyNIB_pv)g7B1S1Q8!pWXcyAB(~CEDo{$qF&xF^6f@wX zi((+8%1#g4v4Bf(@<;`I={)Dn9KmCmJF9E&YlcV54vE9rfZ`<;PmRd$b~`O5?U!Z_ zI|n0I8k~Syb|;>}>M1c({PJmaRphCpbMP#a^GzZQg-sFCSyGrSB-SPugpQb-xK4;p z#hgCHP6*&#c(lM6<$fJvjLb<^7@o)2s~w9YljFgOo|g2}Dob-$X(Ql9I34v>Zx2->M2Q;;AbFFjNo z2{>oa;<|6@ybY!{O?~9nAE$Gd>tl-~HnxyFLC#ARSU13A?jFT!R68o;twIv?n0M&m zS;KLF^EzP#E-6zyloV`x0qG~cj)?ILI65_dhUg6;>0^Fv^J4ujG5+rDMOaYsDhMF3 z%5MIF^x7(wT{9T7!U=Y^k+#`#vQbVD511!zB*cFl&{df}Q55u+OxA0wkfJB)O)&F5 z7+|!AJ}0>-O^5si9cr2gs`>+2o2&(8C!1i3{5b3eIb#tjFFs01>okRY>ZD_od#H~w zsFuf)mEvEhPsdp^0+Dp0y?0JQSk?i%Ap>Rh;Lr~xMVcdTaRE8Hua6lz(-XADM{e{r zWsH!kAYUHp=(VZJn4K%+R2t|H`OwPRRNK-eo%6OA%g3Xe7O$9W<}OJktX;gB3V>;( zrBptJIoRE^qw6wDwEZ=UAatq=VAnCE?X(Sz(t)a9}Lk$ho*G z3^9IQK~X!dqo6f6cRQc>kfbRRoww~e*JP|_8yG4KknU1xtSTL$;hfXqM3W&Uqw6b^H3AXN0ZWYvu<`W|cnw}>dL)v@ci~#4*Ycxf zx%!%7vX!jkEiSIjnNiTBaQIZs!hn^@ZYm_P*E~%in;a!tk>@B(Rav!VJePBlC1j5w zux@CE<%gZLc0AN&W%*n=+FfjeI97`GoWxoB*pp3}SEh@Y^-q8(rqeM=9F%Z3ts}m@ zze;uj$A-EzEI&yZM}b7e1(tknm5i4KmZWGhEY;>LqKWweNgc#=bkfAMj-`YUhjvtbCOful!bmQB;0sAIS(*JXxtS4>nn0;VuNwYY&4 zw}wE@0Eh*O0x28Ljfy7R+}BomHP<%ZfRBN~b$Ew+D0w@Du1n-PI}Mjlux4)-!?#X? zo?S@$Cyl<(-Vm6&qW^moQJzLIB*_zcpixgJSou06!Rl=F<=@`p7-i=2_@ebdOo(v} zfgGqSOtXaCEMm2GFTE6c1Dk=7pg#=Hv3bQmeqSsUajP*F`F@^bnLR5o=K35io_+f(4uDIm@L z?yn2SOVV=l*q&FYnuMhWFfAM)scR1)(h33Vr`0-3XzApfvbb+t9K9Y*OD&aNzNr9v z#nOeFOe0n_O-;;p-dIv&S4o}_U#7yI(RK}nCCG=*04fn2sbj<)rlp0zvV(!5wN!(& z5{lf9?>s}7t{ zTUyqUrI;&%g2HhadV$(+1p((*PS0}lM9-V*G_5@B2ET&h+fIqRoXQ>tUQ{(G;Isx84iG){Y6GPEZq{axIh%ekdf`>X&4 zY#7Okz57Nlj3`;^t{kAwNtQY!vQUm(zI7RQU0Mw5@3h|vJ(VAM0pxH~6*?e;YvvqK zS(}G|nL|QQqJ|NXWX>68z8@qy!$RJ!4JjZ;@$6g5f|o4K=wIIt zI3!+ZQLf3k_AKHi}#p} zwY6zq{-j8v#ZLgOLbSXJJjnbgH3VR#C0ev%>Igj`t!z;3nj$){@&pLMiSA(O5cJDP zp(r^Z8_qz2R3?aw{L&fGoeNf#h^Er=z5LfaPe#7X8y5HpofZ!CVybJU?1mdv1*kikieB@&N zi%c6k{0k3lKpVod>SKnCSI@k9G|j)(NS=cutHnL1p)+EMk^mia7Fn%GEW0r+WY^MXHt5K25am#IPGll7BxI6?bvyiIb-6vzJ4h`yPMH!=MmZYZb zZ7qFjZ=4Dz!!~R!+6c#>IXGD1NwLbAsy2v1F-t1R;)*y!;K)GcdfT19Q2jy}0)928 z$)r;BN)cIR1cpUc;b)hzyX4Rm%ktFvb~xgGVSqaAic{v3G>fv#(oE9}T8Timg-rZb z(=hc|!&z|7tC9_OQ7>VhlhnD3H2uHhf-%nq4=U%*Lya>~@p0J~%%348N6Z4xVq6V% z?79s(AgwEEvpg+_YLv(f2VQDCu{bwexzSE_%P+glF%qHQJWts)*Hxt-21P1?1d^}! zsT_BP_z&vI#o{jObZ;WN`~~Xq!hd7EE7~$|)6u|=N(=#=qsasbMVWUac^W<2s;X8E zgSPWRYb>x1PsgkT#fQ_WyQUw*P(G#3oNyZ8FC=f_6%ER{>-xr!>W2IiXwIgjWRZCj2%in=&RziSn`%7koRB2fMqYDKFo1uX-4gaQ=0J7Tj=aN%jw zoq5l4r#Wf-Ks?rih_fvR~qPfgqB^ zIKbSp8D4vmgl_7wX3%L?<}O_9UhSDZM!g?ruR#HZ!FKL2)@35mz3O%IIhr7zE4kvr z{qdG#ZQJ`Xa|Nnjfa0&M@tVxl2_ETg2Xv+x)gk+;<(Cjbp?iin{fKo9CKQD$`mb@1 zEHe$GjG&zwfYB5(LJHHZtH?6{V*%x2t-D2&$>Qi?Dx2q@sg6q^S0LBag43`G@)fo0 z7QchBfB<>)#TR_!OIc8VQz_{SfX{aSSp)d&*E6DXsrV$ec0~hf7(l=u2iRVAR|@I# zhDG8w`Xm8`pVl>DbTjF+K#0Q;4f2J0)j}8<6l3P-O`Dl^96)hK0FnbYs~RGD1+hR^ z890j3q~2*@1Yjues*S^e&%9x7znTkGDXg?E3dD2hNF@>dUl4wCz=;+H$+IhA1b~M? zoZjWvd?zn*9ryD-|Me?)KIbuB<+koya}7u5CUYKS{*X`Ang?(DWlmYEfv?!@)~(d8 zVO2Jrt!bXt&b(GZ*wd(B{EJs1kx#5b7CWF&g!Y+272TUh`Acu@@en}QEK*qbq+emf ztyJN_4p)NU7p(+CPlysigugB~Bdi%H)aUU~7{0z!xbTc9;V|4$B8at9iNwc7g$GxU z5(QJW5=}g<5(8bT5=(?2h?D3KCmuSmRht$ST3L0C>Shh9WT`R!h}*!ft$cW!M0%*W zTvL;d2~7HOxkClLcA27jn`&d}8#X(6+T5Z6EVWTQ*rD3)Zc4Q2TgUbm)T!TD%|zm} zFsU-#E+Evit+n1DOm3B0)#;|pZHtX+az1@_oebmnZj~gexL!@tLxxUcx!G*VwnUmeiB+!v z=2mWgiWKJ<|A+l0FxJCV5ebnI1>*e+8E!;_gnZC6;73Q(kuUN?{vh-RT8LqwOj)uK z#W4u6zp!kGGe|5HNnvtHD%=Po`ABj+ql`9&lwyrDp0pC=D= z>&&ax>W!xNwA%J}y1o9u?Zc5f#*?X2q}hD2bazFo^@iH+_MC%1vg3(9U#@`xxBKJM z^UJG2Z|@(U9{t+x_6LvsJ9j!?uIPm$rmP)@Ke987n8N{>LGx?;ki{_;6WBf_%z`RRH{D{+3vdt|(!J0>ejb?s0K z1+^Y8n{7;YIX~2Jo=LD#ar(0zk|$3!!w!6qe{U|jSikQJ<^6R_`-$%}E+7A1FHOrl z5uS1$vPDonB_tHh>%~eBDzr`pbKVSlYTVon^)b1m=0g_RL73}nKEs;ThU#dsHUDh7 zIcNi(hw+pFx?#NEW6|1z%>6$8j zul>VIJ5l?%xC;@BMusF(Q7{Q4PTI<*PasoSFk4TBLD9I_C5sAG4~kwHELEi{D(&H& znTqRaq|C5F8)}C=`cUu5ZpIKE)Zomad01g-yc{&WRfJZ>h8+MP3=~iR-~eY2?(XjF zjZZrXoRk_iI5#{i-^eeL$si6^wyIaq%5hbzfn#dcuBce0=TsO<@n0lt!l!RGtyq7> z7tQ5^v9wlR$ypnYMPlKQTX-uy%-*qWy~nm~+qP}nwr$(CZQHhuegAf|-K@PRk|u516p$5&7&wv`1Rpd43_Qgb1{|Ah9vq`@#Gxetm7xZ_`ZVe^}8)88LcVk`qlb3;X{PS*fZ>@WSOj$W=` zebw)_8qW?D`!*fX4s0Jz#AE@CvD^>0&C^fU5kK`XQz(p_rz)>qijlS9(Lvq%LbTr7?m8!66va8H- z$!G7=-p7=Wj0RJxq61|XDWKt#+U%tlod%r}g+{6gdTUgvS9{SB@WA4Ue_71esQ4po z-dl4R5&j#1JqucewT7bZiR#X{;z|yO%Rk5oCuX0GS@WiCG~$i`#XF3r^R=4>>c6NNlE^=ryIQ)YZgnNA{B)Ck~olUnU8@Z70hl znY`;K*0`_+1~5QD|6t9(Pen2ReguFp&b_`QgTdp>w< z+hCeAqJCk&i^@01&}Q#oyl|VcaE)Vyxs7a&@th7vfZn4LY~2Vg8T!ADl{YqiaR`PE z1wuH~doeYxC8eT9ty#=ZM#Dck*T3t(&7TPI2*njyj$=Qf{{2qHcIDbZPot-PjsOph z2mB0LpxBL8>ZP;aHS3iEG znK#~##afdV9f$-4&#i{x4&Hjt_6q~>}9(Di{bHLh!{m?LJ zg#R2r5$Iq}n1@NUOO41k5foFZMs;o`MJ(J1&`hlQ^rkBHMhshRjY1HDm8dO3MCrRJ*yuR`}M)lgL(JI2FIdD8+ADLResak&~L#Vi6 z?snRHr;y{@Q2d(8^S8|4FIgUE;r#Knj+O{e@N45RA^%2h?iX|rL{ zBBYgpw*~AuvR^Rs{6V3@TkB#^rMjMsPZvVWdYnXK*17KLS~Uy6bC_q}X|D@?yXnr7 zp~J|xkMX&~S_B|Ko3!oe#Mkf+F?ZjB4<#vUkXi)DZD8U$cdnM6R?y8(VchnC19*S_ zbO7V=KWO&>K)%1wH4?dbK?ihKA^m9t`27u%k%H~Mngs>FE9$&j1-OCcTfu;=e32F9 zt`6V=-SbcFSX5Z_bWDeOf2o$Xi7sjB(SYY$`P6Uf1(TVB{T} zQxN1~L#RcyG!lc8P<^WO@z;G~a za~VQrO}@=!dcOr4vZk^mAHaf(SUasAiFM07*}-9h1e~IX^W-m5;uadKVZt#D#uwAC<8okW>>x#;&puy6|8cTvV165^4&>d)#HJg8a(uP}=*{dA}c$ zKrWb599u4d(72K6LG6VI#=pst1{Vw+k=p|QHkX2!b^@P1lH2h-g%~<{c7mQz(lbCP zUq2TZ?l6b>m8(?roWv-iij1^S$`XvB1cJB-A_E5eb|3`&;bOM%fQdd>pt(4dIX)mm zVDM6>9KugA=;Ji>^Yg?1a*ILiSd|X?%iki48y)N!4iiZT zI<^TE65^^OWR0+oF2Za2YxSQ$UYE_6D*xYCiWcBa1@;efx$Mo64dBEL*6&47>n%`D zsr0@uz5Vi&11&DNz@c-0I2`=na?JXXKW{5{bLU}NRx4_T zG3O)LwE_)TJg(qWN%GXyIqP5?L5e?7Vh8zb<}Rf0IUqbs?jfy*j@qASxlnXGlQWC%xxS^I;3?(J~+ls z9TOjDLetYwqd*NVv4dG2Hlyr#xFOGh0bpjsFD!0w!oz(Dj^Zc^Fq1}xF)v=$Z8#1N8TZA4OGiJwkEUcikF zna9&Xsp;@}DlpbxAd`S?QDOnzG06G)PLe0kxkh3zMHP%+!a0Cr*8tDws21+CWMiyt z9B>PvzpFE+fgv10Tc|`@Qu!4e;A~XGCKKTbw z62Sy@!juVANfip>iO9-}P>YS&s}BK;5sAzb5sej@t(PJ8nW@f=+t;w83-6BI+qko< zpO4>P077Z_Cvhx_W^^iV_o$5RoxEI5`^211>YCG}LT8MuQ?1?Pb!Z zShIpXvkJk*<7f3>!V~Yq#$vkMOk8Vecq@yISgYnPo zvacc=es>>K`^=uX2!4JYz?@o)KXCh%Y_>ql?UpF%OwHwz{xR(R$n~&$*suBbPkf5y z_T{x&OHe65Y9%AgPQBU+qfEeCpvWv{q+-xB<^zU2nsa05rDdS#)76RZ*Uz9%*q*k& zObf(L>d650*M@>PKB46adv;lch{G_0(XCQe7>{zjaqSDPd(eZB+kj~^1?Gq}1trai zaQQOMKs_bYFIhUdSI}BoCU8VaDy@)79!CCb>~`BZucae#=_Nz!4RMypP`s4_SNrV) zyJ_^W4rk!2ajjD>)S-dbjsqE0BA$ju%R16VLEFF1ZC^6z z+mQ3m=10UnMwU13V0YuGm`^8?^I9VG2xi0S$WO1e&YxDpA0>G(6n1M zUu{EoXh&;L8Wv>2w0BqwYA_O~Ht1j5q@qM38=3}iD}W0MLav35Gv__>KeD;PF(Xg= zQ-Gy21}2h4(Me2X<{|wy zO7;=&N`Q&^{ox3d@D;H@EcChY5rsF!Lr|D|KQlpzG}0ggJHQzKi8RtT(aSR%OF<;7 zNc|InV73mFmL^8l8XlIN7wC^yEZAl%LFK3`iGCE3 zY`JKrjntpToh#b}NvaG6&`SXZ3x_+;b?MPfGpQhk5VN88hiUY98;(NJnWsm|0G|~8 zl&#??FBo4&HafM%6pFB@YE6bk+qmR4yc=6Q)?fPIkTxBIpil@jnD8Y~QKl))fCm)DnjJLD}yDkLRBLSwW4x3Y#sv^-@lfLTIT2l z7VGo?4@!qM@#rkEsox{RlYxzqHf=gl@tOc z6Ib(k1(4hz6u4*Vg!awz0kWvcD*yZbU%d3y5*YsV8^2c-l10d#!fQ>ia+?DbE_1zs zh3}j*#_!7|HN|X#?O4Sr%$OWt)#}%z6Ek3=>Q@!h%r4VQnod`HN*$Nrap}lXW~jri zI+s1Ik+)=h2WZGaL|(bH(1Lun14tR+*p-TDx*Cx@9F+ddDxqvpK%dI63h6$BeK(E}YF$!oP$k>SSjDq)W|E(peZ zC9!CMxbol*4xvw#wp#<}#@3X=zj1%jE+a0CR<8Rxmt)LKEyI-x%TzD-JwS#ix@)u9 z->iY-EkY%Cwxt`dNuy)z5Fn_dI^?ultp}6XR*VXQE}vlI5sA9!^uZ0uNPn+9dZuFq zegId);D1u+FmwuEdAzF=4QY9$Fq%j<-OM+Y+R5;KEE3Wee3=2`c4EPf!tl`K$~Z*AqKSWa%$m%=_BP|L zyz-opxqIX_bvSCRAL*9=$Qa9`l(pIMogIFh&Quw!(KrJBH&6GDSE=VG*lfA+%}lzU zT+sJMcfZ!6NtFQSRdoJw(DF&9J(Bh^OpNuh9_09_bIj?sFWYwT$Xu!TtXFZmL9Lvc zF*Muk&809rmy28^t0r<3FYyfrPZRA?OF^x$ZK-@^Wjg^O#S*G@ztSCyT!7cpSLkhj zWqf&RP7}z^K&rHDy~_Z>y6-(}&3${4d0k_ddfO_2ZfjL38Wfn~HS<6(MKSRe5VJ0o zXtvTyOxP&*Wvf^y#+}R=OxlsBO_7xb4f!42!3qgSdk|54o>+okB*{wYpdHMiRiUU; zIt?;fek{L9L{3CDB#pz}l;}U1GwNmw^L|ewXmjSO_%%Oham-k$rh5$Wc|0xLapwJGjk`-Jodu~^)w)EBYiyklMc(t6;!9;kJ4HE?{` z{A|^?N-#EA!Q)<6u90NmwGY=b9|TiMkn%xZf!k|M+p~1vCj2I&Z6<3wb0G6G;%@`| z#o3s5E`YZNyP7?fxObuNKL&|=1-#5^uj1jr4aSjUS-%it8(RjarP;pl%_XlVcyU+K z7HG!MwHpi=i(J6gsE z-TkgKnE8f^UorWNmGzk1P|KOmApd(Is^hKr;s8U?T#u7R9+Oq~;s>xPV zxHr;zT*V6x$$FrLhd_*gkV7uDy5q0EW+NMS>` zS=esW*6hV75148UEh`GW5r=iJLWFwq)mQhhW}5TT!J;cppRYa4KW<@M2{IhSTvgw> zbE0si5F6dS2~Ag2D?>w{t?wVO{0!6PofVRcX6_y7l0)RSN8` zay`>cAj7wR>y7rK%{tq#6F*~go4IT+M2oR)mBms8Hl*moUJRQxG#@9I+u?pQV}_sQ zjPb7hp4^+>0cO_gYjcRk)DYmqN~?*Rp=xsU3A$fu+TbydSo5$I(EN`qv=~7IM&)Ea0)-9 zGs8FX8`L98sypd0d?W=d%xBwwuhUoER`+)UfV-39TpQ&?G4#Lz=S_s(<%Q*K9Xcz0 zBv#1{6WcMox5w-<->`0(994X(Xw0x1WL_+oAd-M9pS*wlO3CWxoaoXvhnc>^#-S`L z-Mn6dQ~_E#^PINyc@!p7>BxEHfJabab&Io)y>Y6iFV=g0&d;kSe@f@1j?HyClegE9 zzo7Y-xEuB5D{yme$HEQ~i_-uvJJo-Ufk%%tt>ZeA=95!7v%?$4Nxrf?Hl%AeoU5R5p!Yv8xzFJgW3lWEmdA7D6q@=ufd*aeUhP7jdYo7@e8uaQ2e z7{n(?dlf5`y>Kvx6r3^B;ml?2B^UE);QLD_u=SKLbncvpgbqtqo;7G6{mbwS2?wF+ zOp)}tIwC*>>=Ok}yC@gZ4=cd8n9g$`E=mXfxs1d=#ovtsHOs5C0`KYltJH!AEKJBc z!2AalwK)T=C0&q35#meA>Rv|B4eir!PkdDlfRL6lNcUBL;N%hPX247XZqOmdo5MPqsjnaiiI4BL{I2{2h zuTEl)Ea~<@+N+XcWULH31S+B~!j6$;9K}T;KJC1y-x3PFwGsq0P3FTsk*Y>_mNrQ$ zxmKP5;>r&=&wuY6pgQ>Vm&B*2RsmkqmbK_4*KS?SeE-4?_7_=dv26ZtfIrG*y-XL? zX5}4Gl<1je#J_?)$EBYSom&M}JHv*XrL1yp1#Ioqi@*JOv@{d;w3UU=nh>zpNg>8vAdQwm1WGA-?uvM~Cl;8I zf1wVb6pT_@ilc4vycOm^g%cY0{0YO03)X^jSdx&jH;d~Jd z*dhjTaYA3*(c=XH4I!P`VVWu!oJk(sM!D(l@q zAcwN|u;BT>9li1?%4Ub3vhw*NdDKo9oZQXDbGkO>05^x9Zi*k3e@v))v-ZlOBw0Yn zW?Jyg)%gf9%ZmeZo*bc>q8VGP}$7dyIX~fo6_lg`Xk+>kyAOcKV~TRhSM}y z8(-|SS-aIN7n%4U&UT{!fMeO6Na_#JHbj}$t6q99N$FkZMs2RlZBa!3)q26sS14_hqhX%*= zaDrCxHqDl|deEdq@`)4r1O9d(f0Wc+Kbt*S+n+mhSb{q6z=TTGXIkivaGr2cLL92Ms3; z$QcNR$Q%wOg)J56mx(E-m4H;ED@vRrmf|#&9uL@lw$Jdrjzs(P!eo;2@avgIZ#BLK zq~|QV=F7>iT@|RzFdN-hpY1l(K}geCcS06S)1SSyLMbPTP%czWiqk&DD}>cb%5rV{ z5j!KK3p4y}W>}f4-|`prDw{!TM!tlQzs(yNo;3`bWTn-egu+;rmGf(2ft#RqELk>c z3|{i`_C$35_8eluOlo`|Hmpr77XLixQ5vp8G0@K5-vveWBh-r%PCq5xpHD1^@hy3I z4~DDheb9(7nkMx$o$0I5e~v5}rU|=NE(g*KWYhhW0Pq_9e*Ms|#cD-pE@Brg^)1F1 z1%=`ooV@A?_%VvAXj1jL*&1}{Xj6nhLo86id0U4&&Lz>x#`jIi4dBJ}GY&{o#jv4G zn8Y=%RC~#zUKUTT4H0qhfv-D6)pb+~Yav%QT4d950bD=ay~D`qy(XCfd%~-JG+upS#kvu3KcR-K5K!iCrDKmj(wM|elODKU&<@Y7l zuMGO6in;tD8@PPPW1eoZOp#z9{Av)1OBzSTqeXEDBTJ4H|-`es49dtyD(Bv zlYONOU^0NGBxA{V&P2BlL@-2t*QY0E2X<$!ZZT?-lFaa0$lMhZgX_N(o&dru)yh}( zErxyoqlG(E2-{~2aL=OS0Qb09+*ubbLj+Yn-WdyP36FbY=k+ky&69z{Sq;mYY**=(!TE~K<$@d1G z8|HwlnupZr9tvyO$pqEL5;;y9aD|SLb&#&I1Pf|x5rK?Es&_52 zmdGLdGAggaY)$FJBz#iaEib}8b_Ac!z($kaT@FNrdWLnhh=NpUX`_UJ>sc}qqAv@z zDs6<}#$B=24_vB=%u=c=>;?SBh03a0CFh&mI0vo<`B^q}37OTzWtNlVjZxQ+Sl1b$ zqp3NK+D2M8?nt%HIEL1Av2pTh*e!Sy#7co3u*N7{yr<;sQ>IFQ((lkNO@J;3!Ppad zS)i-+qYO26#G$>kQ##LEjLD#1Lp6Y}TyTtIWGhz@N4a|SKKmv~dkt+o4D-%#39bek zg54}j9@O>p4B*VUw>TTRsdR>gkNr{#-!q261E$W{S$5wVW^4;LBFTX2Y? ze)$$L@pDnX+rRI=^aZ!oN%qT{{)EnE0J98ES5(4KrN6``G9I4=druq0>OzdMNb;yS zncw`j6lEs?q(XD|xn-#el`0#ZuB%}zL|sKiH*>zb*N@3gEIX>7T^J%BDW&A`N0s>@ zzThC>_>_1MCWL!=sx;F8Go>r(0&u%3I*vP%zcCzL58@ebc4am`*Ej#eVHL-w;^jhM zX-s3OSJJgPInyC{kDRgxcZJ}b{Q%7jj+8xXE=r>Msu7tEp3Y(|B1VD_p_A9Mkdb)# z3Qtw-cWU;CqJdKLJxzRnPreBa~V`n^1kbi;#%qwyE zDOZ4;(VQzl&DP=q=qJF+4q^P!;pVaU>pK0U-gI83y8>67S;Arfj|Wll^v2dG+weT? z3<=`ltr6P#!-NnZuqdYnt^3TmwD5&ww#bUL7ET-k&wcVviBuLR+={wClD=||r#b~h zY-qkkCh?~=+AT7-2X)nRzsfLo1*D7(UOSaeX`ST*pF zR)IfpE%$Ml0}9T#_eQ?>ayU9|4m-d#aDO;Ffw;ISCjALjc@J`Oia2HDYiRi-fnB&3GRgt2tIi7LU+yLleWSa8|6Y6cz;Ue+Y!O~$tkUj4 zBG$weQi3%<>uU8b?j(&#CcI{zO^|L36^kQ9R8D#RJE=hL>PQCK zS+abQlxMma)$s`=HZQ8><6&Y1>*QGf&TNWdVTCb?(I?smwv!RmCeAY#!S5Fv78tKv08)ZcE~ zq#g(CNoMP2+xGTNufpct;+6pv`W;+{$8E<+()k^(_fGS&Es~Y?Me;X_E%Kpn^&#kWGkVfpZ*U9Z(eYgW z_&jwwn`9ZX^Q(N+7Ma4=e=4E|Ty#xnSs)$ssX}{~G7Zb?vMAT#4vB|SaJ9K7OUkK0 z!qenA`EJ2j-Lp2V7a9-JISL_PT^d@j*FTPYSCrxHF)c0zur?^>+2t;y^U-?VGT+DL z2i*Hzf^-oQZsTw}RHWqZUrxp#E!F8+Cy@GY&XXO?w;zd$$0ZHHQ=HQLB$rwWj2-e( z4JvjL*=lVtum=ECHk@eww#j<~?Yh2{SbnV(nyf*|-o>G{h-0Bt?WZT)Y>0My|EunP z;!OLs2m8?g95qbqchL{{KHP)^;nT62d-K3&myb0(eAva<&6?bk-^+Qx`M6iiH#pco4Mb^EfJF(dI9>oy zU@k8({rc4A8|=2S1uuc$%;z6pw@(hf6NC@PCt;nnw_#h4X9`5hck|1Go+L3-pVF;c08LV7~6`j`f&SNgfjJzD7+g zlXx${${v@g405M)GwHQ74zEfSF2c=0p6YqEw^}UUn?J%Z6S7L818Ol_+XSM|3!@|} z@I7}EOE>VjYWtE439LjK8Di?GkC5YdOKu)+-CQIC)3eLV+zTH5X`i^JyE(6zBLB#f7|Mm(W--YEnp?28ew9gsk_ z=1`~XMgLnrzu&blcks4nOWu?h++^gwsj`Tq zf0)2ZV>ii^>>8uh-F5V)$41{KX}T3xhfX#~M_pN2k5nRnr^~K9Z7ZVWJ(vkkAQnIm zeFharxkQ<%YShqKc+PM)dk4xT%daOxYOPey6rQ!u0p zT3HuqR+6t^XXG?rH>C&Ik;qKLl1yV<@kKgAtpN%$Sz*p1y+}S$$~MmdE3+=O?vA1+ znnhkuC#DEQQjy}{A0Wt2X2)wKRF)FtB&JeA6(Yz??ucYF)}^#2_1cGx5pB*`j(boDzeNv zd3g1}?c(a{Vr|dK>{2hrL#JoH^Q){fcbzi&W35G}0FX>WuwzD~C1=bY9H&AZ0+i{m zsO}?diT}RYPxDe76#{q!XYIiRLdc9x;wV>)x=q@3NM(_aNR;>q6 zQS;QH(I%e)tXy)4gw&m5Gpi+Kv< zmo~8DD3A{h4l}S3ap<+T{9OLl_k_`UO{eYbk-bxZyWAPPl@#9|Zj9`Vp)ry&^tX(cHigt@>?B?aNve7X~ zWW+BdX~ys87oZMyJ`EF*gGilF*0yY;SOK$@2sqM`?%9dXzWl8G;wQMpiH-g3hwk3_ z=V)(DFUK8w#{acZmUoax0q!JtN6AD_61X+Em5>NST{%#Y{Cw{Z8V(LauF~(b{~4Lw zQ_=2o)WHmZTmS>WJ^_S&AYdnO$OHg~_Mh0#;QPVh!&%aaB4GGMJVYcw?6Ao`r~+fb zc_0u@@lc8W;(=g1Ga>F>Tv-Lnz>AD*RyJu9$#LHg=sDS0mUOQ4uGnd_G$Aa268)C( z?*C@pzGQxbq>Tk>dYL5NbW(428E*#KI7rZNTMQ_oQfOikqov}5rC`LNL#<)o0CI5Y zB#a|PZa)LseYmK+v!3{rSk-h)5Py(hpkm9+U=A5hUKxneh`P9P0e87rVXf$Bi^ViE zC_M!j9}&+y!NEXM7%3+MlZ(HI@>)f;Dy!v|OHLOaYyTueqjOPCqIeZ!77d}*L>FV8 z4FK#e%6eb#3J~6r#(88cObzJ3Gg}<+2=_&Nj2zzIJ+0@8U(ymaiw8WVIvWjVr1wYb-N zVa+c+a176%IZS&dp#F3?0HHsy(tyqGjN7uxf6Rm>wi^?KCRA;$wvmMmE-U4Y9S$=v z<*IhZFpj68`%49@o<#EsZF$_tgb`64FF2GLN>(nAqqEgnVE91a(-ked5SQfwH3L0h zZ8WnrS(iHkGV*@6#%hXME$zgG7PCrg1-lPe`=`gX%E%RLJzXf7mT$IojsWM9BB!!| zdOiOw`IcHZ!57P252S%~lsT)Y!<*=UHjE2><~v>TifL=_OFoC zF0qfkT8Hc>Ihuq2+_$o#Tsxb<>#%v*g|eSnnA*XQVQF==H9lxvxXZjVI3>nt?TdJe zdDUk(y0=bG|_ z&Q4#;uC5AOPas`vmrpN;UD+&DP#yZ+TsjQXFY~BXW;M223O*aAz+LK7ngqS)jEayz zm-SdIluB@UNwht-vs*8HH5L-rRXD9W?GzDhD9rdHa}RZR zZ@qpO-?PF=Nmi-jXt=pRo^nb^;NZ2W?QyyJiOL?U1f~T+uYB&qOnfn zFxEn-EwF7Clci5B=A>b1^15b$&l;YlJ@n9Fr!Gx=T%R#>HNgZbI1vK|1QyL>RQVaQg5bb=`Bxf_ijgSr^sEH4=!0XSvZaM zy!y=hZ2OG%yy>AjA>b0fY@@SOwkm_}g$qdHI`X)KeBlc}jtadi@F`;_ODW4socU~C z++Q({9mbu9q$=rOqBhKo>@HK5`4&lw7Z$ZGbS$zKbIZDxf-agC`DFKUd)a;@Kl3i; zE~=PP6LJQo{TZn-Z=>}`7o&?Z6f)dRO-{e3gEHC}|0cbYSQw~iq7q5QAB|_mKS{F^ zXy#fM#SUk3GkU1Kv|fL&l{WsSd^4FC!V-z*Adj;r6CNJ%vII^WNLt4#H-J_f($qeX z_>Q67C-LMSUb{){df7bTGeM7mYy^Y`76X$&+awN%2`UnrW1S@J zmG}yNWwRu|a(uIWQx|63r=`ts^&8Z+H1rzC8lX3{TO(r{)=)dcu2|1AUl@HtdxLuO zd`g|pFHFCKE)q1d~<#}#~UoH6tC-R*wLjJI@mj9TO^mQLRG zW!HbK=jH~i{rHvxUjdd)<{TL==Ruw&hJ5`_LEqc^JI&3%L5d)q4+x{eslIEwV@9lk z7omEiq@3=tjAiSu`HwNMX_x(O?Y5+RC(Yx;4sGr@(HW`u*uR`p+CXPKBkQ;RNNijG zh(7D>QIC&U+;7ppGR@T8d-3rd1C;Vj&pOMel50Zhdao(hqBGDY&Y83XqSv2|i@ZLh ztVd<#Hx&a&Okw9K;On@P?lxgTQijnFY0RAeEi zuUMp)%#_6lsGX%RX92gz2P}ZI2xCIAWehmX^t<3YlK=i7lkcVPtIJ`fxV7PiOFPVj ze`C~7e%*f_(X^itoZ{F{SDQu9D-G=cu|v{mh5+@g7|6>zyY+`0H52wAmj?ET1TSI3OV69ej9Ifx}1PO=G+L1403l zLQc%gnseP#Y}vY^GZIevhCvmlSrh>zb4UAt#T!KsH`fLFC2-isMe>R_pg)G`MmQg_ zHmQ^UNv917pVVK`H(%n#j*$9{&-dbG?$N-Ig^kLa zETB-fR80olC`CnOaA5a$lGuN>s*2Lk*;ABkY)7Y$Lfl|t6rZ~mPy9Vqpt0K9;~`*2z=G_fzuPYG7%Pwa@T2>Dv{Wj#9eZaW^S9{_>F-v=Gp*|sS^@7(WO6@qfYwdxc~ z_#4H-y)1nljp?Ux%Y9>qwkGW6ev^iLw1CM)&q1nQMd}%g!x*ZWP_4?=(%&16hhA<1 zaSDSLgmBzd>+Tf;dTIB&{+ZgZYmOS`Uta=h&;?_-#+2rJg4?V=M?I7VwajP3mWFt} zi{~b!oktx&qUw95XA_YB+z;9tN%A>%aC`BM+$Mq4{N4^-&z_|bkn=ewW+rrc`*k@g zyBg9GloY(8qABqw04p6T0XdWC?BfJVXatoQ6bQ}k?!-?|%U?|_&RL_0W_lwVgYD0S z0fIH(kGBjkLzy@r0lkf2#{SIhJI-UOzuU!E(`S{hN_fv(OwH(;Af5&K+Nbq!_SAy# zeT3a)z-k7l4l_mXjcP0X#wq;iUt_skI41$=$CZ_#rXikRg{1^! zY;y3In+(y!25wPsh5e4mnpnne ztd=z0X_^3~tsdiJ5MrPt57<%nW39N**NT)^=-W$?N%AuzP0e z%uyo+g!&yOadXlv9V^MBkvqw->JbhoWzBfQst z&}aUs2NO9Jz55ya$vJl-<4=51%i=2Y&w&Nr**!6q+=*N6wOzVet1|j3-%8+I{F$mf zO47DMSr0JBG&|Ls-e|vMNtEaxIJtAZ2m9#)PE=R}6N!RZqF~D3PQ1O(1_Y)kc3?Y@!2E4_D9MTRpfX$jxCu+OaNK?`Q*3nSdfZ?q%>_^>n>K0}KcSjc zYN;^BMl*5fU}~jS?iqN26r*{Ds8F>a7DftS%;ETQKU>I~6H)!MeqGA`!=oPms5{$n zM?L}p)VvcAgJMTX-_@MLCyicUoFxl#5&*eO6S3ZIZouw9VESb+6QFOiEk}Fa0O#YF z^-e!XYU~W~^31~h=pnB;!{{zs&M$hBY_IH(DW~_B-)`p0`Gm$xyeFlxS}XMR%gC=( z$}JyRq(g79uk&&{Z&YYvoLQCn`0`EQyE_a;(0$q;_g?rd@q$1>e~#N$^xiGct7+-e zGrI@$G5{dm!H0~yw`o^f?>7jyrvcGZ-f!MAi25M9+5H_FJdV{H8|)>iYDaoie$b!C z{+``u9#~&-i3nQ(`VsmVphUyQ0X~E{ufVUsZ`B#iqtT<(u@?3(7%SISeskBLR`AN> z1&eazFv?xb}9{tzSDJyTB~NVmveteGiUjN~u6@;(1mF zmM0z+JLU+#P8d{!cA|b;KZPqx(m^|(ZS37&jG`M4@tPZXkm(e%!agw_k6%mNQSD1# zM60|O^6W_L?X$#mN2#7Tzf0MCj%wqkTsIk@nw~(}rfdSzsjN!fF99Dfu z65kh~b~E{IlP3fLIRM!~wmGGzb~FPL_z)oQlckw98gL2caHE=;@wIcv8WUA4lS&S< z5HEMom*Gmi>Bia^t_KtyAR6I4rJ!cE%BzF4BXtpFC~y_Z&eW@Vkq#8wq$YN}F$hb3DHPEeU(9vMj|+j zwA1tXXp#Oi0QgWLy`>9S4}1lBBy~h$DZB~Ba~`hm81L(s*T~mnL}rOE6cO{en!|F4xW&FN`8x_Ev#Nbu(hIapsh* zzMH2!DnAYr(na8ib7pq(?DML zVXhHH@s#+oY#?AM(M%&U%T?0$($=`i{AJR4K><~EJ$A2j*~$->&bv8if}DxxZlb_# zoDNzcJ38RaiLe}CDx#b_a!AgEn|bIh;&9IMi)PbI{n%U_L^}P(3tn)qm*$8RwvtN~ z!MIbtXwi1c!;=@UD;o6^zX4>mVk<41h*Qfe5jCU@^b*b&X=Nq81*i;W_B0+Ja*zk0Vf7H!AnZuAI=>P22;yn-%}Ap|JiQyo6!G-eZ-U9C4=VnD)(vzEe zSOmSqY_0a(#KUeCe_|F5GdzX3p>6Ma)^6wMTdyjVH@gDuZ;CESDjF|yy(Dg(naD~t zJDtmqbYFU#9h)kZw_i-EUPpbA>|6~|E?75Mc{Ti8XBBb}jnYs*C9X0U3+R2yILA1E zKQp~~hUVA42x>ZQEM353d@{Ji5QbhKPTNg=j1(mgr93z+qUjU7ONAp1D4p~ggX7O* zfYkZueXgI|bM&>zA2F=$aBp=454HT*-9!q#0Ig}^I>a@abp8f^h1E#GF{wM*dcEvGJY3qhcJQ5flcgLs*Wl~-yw(q8?Q zDC#5^jus6C{J-D{7vX%2$;TeF%E75ye&?e>Gsi{s6z@O0o8$v>krBc;Utyx4DBWnE zk~K`{CgNp}alU!Aog^N3OW>o_$;2@ZCCmGVTPD<_h+Mm5ebQ4QpBR|1o7&b{8ToC2 z&5uc@Do}h@=|*IfxyhNg$0OuIdS7!N{w9IBnbwaI+zx?h4QJLNa5~RtQD6cHDhXP; zx9>ub1)JFz#EdWqNjdZpp>sRpA&k4%k_l;#h^}tP@zpWp^Wz6-YI(gW!@VGENbdcC zYZ%+fJMJE?pL0(;XwCOOq-UdPG&9!7JqW#C1kC>xZ#0n0|Ka10GP#xs`S|_3QH3nX ziriN5njp*di-o__<_LJn8+jr2&@;z#>>;t~9>MoHgyxRS*MIDxOW6AY%xlr8%dZaer&tYbX|)UzFJI({Kz8PEJ-HGpbk;W5b^{itJKd*vOhK2 zx>fAN$?rkOX^=qyRN=KOZ^?$Nps=k`k!!n^WizeMwR{n%?|S-5o5)|OljxmWqhZnP zG#xp}zp(emJJ%--h%7^wSQ~WBCsZ1=-u3wiV=#frh90W=8eK8KeJ;lekh_9K2GWr7 zz~A4?M=gZ!w)Yz#fikyX$h$n75B~TAF}lP>sCzzV<=fv~{_OGtZR3|IP!UnY5hhEH zD;4L`#I2j#-FrwlyyhA9I|o1sI~^@6WZf$(TRDWS+MMrjydCJF=ghiY zQpBaD^zI97i?~Mu7H>dTk*f7s<)G7s3K3K_jSCP2+!|;Xvn0JgU*igCcPGL)$Qj+u{gNi z?4u;vUm>7siWm|?@?0-FmF7x7k@Rc$8KJIM^k6Q`jYqir)p|YA&{$qAm1i|eV|uqD zwL4ejxL%o@LhLDO?ei)dS_(s3K|@Jj>3E=CCv?o2HMI%_fVy=sim@+sx{)7;sSi=@ zc&(E~?G(%T{Sje#dS+mY z7g|Z?EA)n~7w#DBW|HLjB6e3=FppEs!z&jfmQ8mC>O&rZ%j>AT5 zbSeLBqKh{=gb0ysp-50QyxzP+T^w9*#wW=k30IOdVV@2}(@Vx&gb+kJJr(Y{QExhM z0o71rw}GPJqP|S%mVpwk3lw*mQsLpj49I&(pw*(73R+?1mn!UW>(B(5jOgi_l`&dz7r8c_ zp?s|llCCUd^SEDNO#+u&wi^j) zC*yRc8u}}J;bO5PS2t!nlMQ+lY~)G!KCKPo?RB_rntG;znQYBl0b{s529H?0zt(Lx zGBze0*5+#Io~JQQrn)LhvdBm=U@w&1}6$18>F*72So@!ovEp6fT_+C_8h^FdtU zX~ThWrqMLqtq4I$N5V~uJ52J`MnSe{GT81>=~r8#tYc?IH-JnQHX>07m-(>lA%|xK zfx5FxxzXs*fJj{E1Zk)?gw)K6-bJJs`dKE>GVGC9`{;nWd3b3z*IVpg z1KqarTE6lh0DfX(G?08`pN`($DaePIb0$IY70s9UAh?-fsD$5U0zUBJcDtc}JkQ+~ z)a%%5uS#gg@Jvs-U+KZj#(V4wtN&fg{5R*Nh%`?0C5luD|L4p=wnbVI_huVoEz~~A zMh6nF8!zTmAFkUN!GDwx3pdgj>mkoGTjDF&%`5GcTp^0<>uX^+PE(40nF;r3Ii3*Z z8Umj?z=WC`PWss%V8YDoFvYfHQ_k7kp-tE$ABY~W6V|LJp|rF%#~8{kv=ag zUc3@kDGKDEVI<(86Dm}8WImw+$_4e9nUsRmnhqhEQx4eUQi$57jv)wR`<(LT)>N;w zswhA`KBFm;}BPREL9)|s@D6(}i_Yz&srI&k~Ra3f0MpB02(Aqr*Fm@VJ)m(VN8t~dWvuhdb~tq10g<(+kwh8{=T?w zsWn`3lG3(4)igvkPm7!sU3obQX?4?U!BM4Or@vi1+YN8bzaCdWgwdBY#rq1W>?+h;s zQj}T|_X+6+%C2F-vbh(&}jgGkx~K@6yf4ZOIDH=1`Ntq+>h{o~LrGR8;hD*&+G+0MAB(MX|R#1xA#%MX=cOJY?b} zU9o0kgjl7ibAGXe$!I#@F1@qcT`g9aaRGxnHGQ_b1{w&}%l#Ulu}~p841_hqk-+`= zm5--qhZ{!Al6Y0?_Lc;4DUSR!9y~OO4hp7b509*iWHrp-rf4^z$~Yl`m5-EJsxTwX z1@d;jT^!EN-}v@yNJ*%PAIjUk_FzpVMf|kee6sa7ODGT9 zW2r4BA8kK6JM+gA{2-JI?1nuBwq|%@>blB%n<%3snTbr2Afz7mJVj9+cmy>tb5T?P zOjpWBY;iGwLaii4q8j26NvTnR8Xpu^I@*iF*V>bs=gsvy5iTv%fcCOEl0`~&bIy#x z%`Cu{OzJG$;kj+=co^IBJk! zT4D?nMe|H&tCsWJq!mlSf(M0By4M!vy)-!-AR6m389UB!v8=t|Q(C`rtGadmOU>~! z2x8uFIR7^D==Syx2Yx+9?8%%GuG1mqQ+c7bh=v(Ih*~X_g}*ra2^PG^K0USc@!q4T z`hDX7;4B0LFc0PxMwk0c$HZ=se&0%Vl`TW5vCivQFc!&9c{fqya?KJ4$)q#LnNlpe zm_h<^pupVa*lGn5f*QGK1jY`bI56>JB7b6l7Oyv-wf(RS3!nJsg%2%=Q9EeVF9-399Hr!t&NkZJc)w~^cKhV zl_F)_UJFWa8G9Y#J__(;O1;B)OrBG-3me_2q=_m)5tR~x8Z0)+vTL7=l&f_QUY#lB znj_4aTRiXBiR^X`6>2i^P7p`w5oHeL$*$x!f=p8?-!rc3hm{WnE|ph6E^M(OucarW zN+}ZZBdlwoGrmPM`1rZ71s8*l3xNKZ{A&ot!vt)$gi5|I``~ucScBAB%~l7u;23Mv zX}k_Gh%)4+bO@>GVe261Y}#{E48&p<+;ZJ(4iAETq?L|lmik3ovrLimBfWIZj&{k0 zLq!tr<3j7POo+?nO3>=v7WzGgi%yA=Uod%DtMiM64ijfs(m+JBx|+iC%tlkDGDukh zOnAED;;uCggn)pA7`VX(k^`|8BSwX+g*&IBx&4IkFe+r3b~6Ra;n|u6U~(hNfuba( zq-1EOd$Vc6J1-yv9TrmAjF*Of7eNpLpTlUXxmiZ&l{AWT`O+$=qX8Ql za@1|beij6Xl#ub=Zb?Q-Jrx)>zy?8MN(8l@1nq%!lwoG505_*~;Erhoc3xC~oenoZ z?2B$BJIZ6#!p}w(4GP|o(G;o;R9DCYs(awkMSM*WjeCtMIFshxZ(?pC;khn_Ae_+< z;vLGsXh9R8+{D!EW1)`#80XbOGcW`wLj*xb;fb{kgH&-aY^vbM6m*k7Dxd>h&9%n- zrFfEr=#+G=!yPm$74?b0?g}=9;pdRvTPM>mAjqCT-9_rTw)K~p#5!=O#CxAS&!oK12Te{Pij;R!qP-5{XFoi-Y;z7nu#IkJ_Ig8hAQvl9Gow zWZeAqTT<0$%*F~=r0smO{wDy>G5($06D6TrtXDmLZ1LRq2c2bNQ(T zesr>Mj+8%A0vQxvnHQ`%xh0L=n}YZ38nlM>6f<=2>Cxg9b_A!GZO?@V#4=!G4e(WnQN)~6My+spFdE-A4?!I zEDkg8W8l3D*!8qzzo24=&IswJ-Pys(WGY{BGEV8o()A82SLkN`I?{ZW!N&BP23*AlE$}zO$wi@~FwtB(3 z&q9zRdfN;ovj%vnGfM;?U{`$Pn67-@G@)p%){uvbHlD~+X;&)k7z=Z>E?)5?gdf!? z!`;H|$6T9a28>aGwd?WwO`)I#nzcpKgxu6|Q(^n&P&{`bMX#HsdqSufhNe}#F*UIZ z7TA#*j7qd}h>mMgYyoXk%mUACi?-MFFCMJqAWqUK>q@HF`mLnq*RkJlYCRUKigKw5m>bbjSU^BR; zA|Bv;&6`$6Bj>|Hp>WV)n+iM(dMgiQwm@C1^$;>g3va5IoHTBa*IgHtIDT3_XK3tH z`$7QRr;?Gt8pM0uE+cAgI+_%B_;O7!^QF|jL@gsIh!xOvoA-VgZ4=}KR|D5wnE0^Q zW6u7CN5dm+IsakuCY>&LMs!J|)KKIo0! zPlhR$VqF^F_zlr6dUf-A3BXRv=U>5f>~?XR|0@JR5>z1bp(GbCL4PiDf(<7lKpNu+ z$hse8_q#L&Pj{Ply6d-#>)o``2N`jT02BFn(FwfZ14sVcbdZf>f@`#DJp`QBS^0;} z-6!z7P3omQNefAi!HqMY+B0FAIC)R>pCXSJ4hjy7qOXdJWj#Ma? zVP;uqanCbV$@0LtGEzJfij-<^b61OK89%*0sV8jtt2&H{9_|frJJt8qLD)>2dYL0} zdMPqNxE^SfK6TrY|G+DRGjLIe{G`*p#c4c8d{%82sQ1U`kmzN;nOC1L3etFG0#CH$8o!WIaWfY=%gZ|wZ`x;CXJOocQi_tfPr^#-o>vR^+H24uhbWxJuGtCa@ zuzziqMR9Mj%Y#AV)rlO0&<2do!}~h-QNQoqinHb1`}Yg& zT`1}Y5cW17>Yu28YMB+X3_Gxa+cpTn|JRwD{r)PbTc8r`uLg>JyU72expECJmZW&6 zmyQpcfyD=N#mg;g+aNW7DnTv0#OEWq2%m*xWQ&1+zTZbEc}CwIYVtBR{)TwZM^SfD zcYd)4u54xXfH@=X^+cB>m`9Q_n3yZH8EY_MjNoO*)c!8SzXL4qH(TM@Vj_5{9mLJz z{g;qI3TL`@7Rs~+#W|ccGl^B{m?eobmU$j=&S2up!OjlX2&K}((bAr~xc)}tGUBYN zKe#a_6^QX5`CoSHUW|=0HSdICYuDbA!$JJ8Rb$!$#vx!5zzw`>sSS{LmD zMo>1XqPcF}RK#8T#XWFJ9-lB#p@QQ|@owi$;l%7MoN4DY-?0DjO$fbD8(L+Le&>fo zxgw?YZ=4oCH_w~BXG_iyoo6m;%C+P{NKC*R-RFqAlXDXMsFjHcz;FPeT{ z=*&)kxAysM%=SrFgah7j>121q0pg`Qy9$7$0ZX+r`y%$y&2z5-_&8#{zj6eG-@72o z7VCYLBPc{K1LAn$&9CKH(-%)+w{tQ?B?w-e7`#=LRl@rn7ElgzT^N2d|+!b7B$;2z<<8lhK^@u z`&H($b!cBejH>&A^?pmVEY7v@^T)Y2Pf^QP-0TXs9zJSg7ax8qUJq~?RjAD#N`t+F zw+Ev{bv3a31meLbc_aQ?txW$z{uJ4qYNeCCb~1lkwu2|5CkWisUH|6F#Zz#g0X?B5 z_;R+tIlsF7w&<=lfx%gL0;*?FqSbrW?|C8;fQER3N}8YE!lG>hUumT{x&5T$s*1Ny zt`=Ec@ij@^fdQQ0N^Ab2YATuya^+c^w&Xte=%Ec;e~fT=lhk`KOFDA>r6WFaai@rzQJhu6)zNRCoMR z=4~%#SM3`g<(&Q!uMKbxF73ebgl+6vWqNk6#A zvi3c#tS!JH3f_VP^8$*YIA1`$#j@9f%p7!n>Vmg=?14VPAm1{Kw^|v~13j6svWyga z5LyCbX_e#O%`!cSK=D4N%UD|2-#0Uhgy2x~YszG|i3N)C(^7EdGww=eFxx!P-Y+b**nX55%qcv9_uxs7Ru4ngO(O0(7+z3sZSYfh&P_Qtvz5cg4{xf` zSN;0PXPF&wT_dvLueX-H*HY!*0uTThuGT`3-<}Q=lW|NCoPVQbJ z;My4qwy2r$jpDPzn_Z9}PR0jl?2 zBo^{V9PxV8+|Xev+6FKYPK(J??>QFsucn_N3Wu7D&HZ>`lTnu%xI$BgPzdjFA1v=kf^iSZMm$#PWWTryTwNz!aD2-uWl zY2Y~M_zsLeKh%D5!|wcUo`WO12DjkWk4e*A>pZE`L&-p{!P8xelU2hVaGa@ zfc3N~y;y2D^odR1CR-<^kLL=*L`O#Ltpx2VXh2_BMM`KYJS(Uus7;Aydqllf4^Xqi z!f7;F3S__Y1>Sn#A!_TsgzO8}YPJynF0LCqNp7o#IVq zpjcYP+8Sv*D_LGp>dNvPpsCfbWQZ-^N71$1^J%1#s(!Oq?Q_)R?9AEb<~{lPty?#S z{bBcg+RmaVNkX^bdX6FUf-Ld0bup+6tXmsB|qp^9jqP?XA=s;GwTScdb| zYO~XBb%Hn!f@EfKd2wlNa{Aj+^LS}MKC3x#vp7Y~C4P+#X78%9wkqz$8KHQaLN~V6 zBc@rm)9oV*b^*5PQU_tRx>hUPL`AppLhGz)M0VjQ8VUNuF=Z?6+h40a9snYGpOM33 zq9U=87Cj>}NH%m?{z{4hZsNr0piD&ZF=0EsM4e%fp*G#NZ52t`?Bl#3kMjyf`6&V?f=aHR8@}31XsVW~A7ow1-Q87@!v`m?hi{x0x$&c$WhWDOs3RE7IY<(w`8! zP69CWN%m{WK*&a3MB1jMk})Z14NVJLnl3BT+mm2=)(Sm|W$$`;xe6NU{F-7G9w=jON>*-x=4XovpD|S3=7Un*_v+dhYO7HSXp|S{3?8w z!!U>leGE2d6dR9pM&LkJLTi72YItdc#sv;j$LmDV_u8nE2p9Jbir<~-_q(kIWg7Ue z35GY+?GF9FUgkftwV!T%VtO*D`(DAMRBG4UzB-@Qg-`tH7bR2XdM(K z#s^K?+6(GM(DlY^ZD|LTVoar$z2a5ulPn_FUA{!qJ*QoZ)3io*YaNU3*;Pa0Mp`5E zOKmkE6DJ(}9 z=*XsuW`ubwEgs_}$;ly=LRKgsLlIg_>8D>i3WBZ13#VTP+-Kb$Z?Y z3bC@T%8CwcXd#~|$+&WWOj$FuKEk?4oTEr%%Q`|Id)}1D^9x-PL`h_6nqhja`oV!K z?>#B+mbaOUx``TKS>~4Qv9Et8)VFa{v7;$)%%lfg&!58g@Rin-Bh7}0>Mo2{s$;76 zg>L)KpO6Gri395SP2cnE7fdQx=tj`u`Kk%{L`8~+2}C2V+unWb%a}G}D9!+(F4Bg~ zcF2`X8!2a2R2)~}ho^wKCz_(UoVO!Z?c1nX!^G1EpV(rhLf+1CsUsRtx!j#WvBt|zV2 z9jRfH*v(u{Md47$LOKT%!lV%l`U$_{d4?#qvf9tvzQ&nnC9j0F<)Gl?`XHF#Nyi-# zF*3*tkSA#j5~i(V(ae&=e%LP#iKZo&cAKuI7RaRrTgt*o0a}Ne>8e*bvM#>buQzkq z;?<}yDY>k8T=fx$iU}fvBYoaFQB|a+D6-GA_rAIOsxQU^4-cA6HF>U4?WRrL*RkIn zhyCK^f9^@jH()_w)i@n{y{~_2 z?vD_MsxZO8N?lc*jcBBhS>qS;+G5of!gRnp_+jR~@yl|?=zlMjYEO9lF)vG~?lei> zgK*hBRy1VTNOtE#YMC4yYL#k%vjtA7Gxx)N7alL$xc%QdcUR6)!hWCXe1sGX&;&1R zQ}_Tr#G4Z8*uB_;*|WWNFuPo6G`(^oWDF(HXTw7Yz*SHK9Qz-d-(mK5-DhbWS#EKj_l2D4(u8PhSijSl<5 zj#akYudQV) z5Wgh%d2zW?m`MkXEA^COl?mmf2^Oj}J87!On{J2W+8w%dvrH;i>evON!O$eR#t5yX zFeyIRO9sQ6rN~}pBz`poMA1Vu@inra_RmBEbZ& zdYE8RN%>!O?`ZZdWJcfrXC)_9&1$GHs&+RNWDAALFi^TIE0F~jA5kh9sJxMDJI1CR ziZEMyI$(V!3ktKf{WQ20VaSxoIkI&hvS1!i!U+zdf%g;waibxX`%04B!@lmV zqGz=OYl+)5IL(cgteVB7J`QYBIF8!!ZC0QnYyB=1fdymNjiVBx;FgeKsbh#VLoy%O z;i9dQFv>U>X*x7w&wtJc#W9~PxSPI7Of80+A&k1UA*t-u~Q`q`Lo$_Pyt~79m z{1S0anx=G)(jQyPWPL5XQi4~)nb4H4n;xJ*jZ+j70>o;pU!Gye~FfeP~MuG{qNL=>$R&DDULg2_ZO{kIBbCeYlegvYhq z-nGKAL7&&BnK*C@gXI{ONWN;^$da5ddLG^G8y{c)-pfD%m6tKd!nzEzHYKQlE@wj0 zL3Y>RTJx-THycKR54X74ug-$wEZDR|61wrMT;)i19f^uik=`hz;?=ThR6?q(K?{0U zsMoU6z}>Npr$OT_(w+NnV{5JIR{eZK#cP^J9;7sWu%5$RE(Nanm`bzDH}`333X3a& zVSM!(8eFn5fjojO4ew@rxp&I8r^AVDE97lOL6d9C2a5qvaxwAV;nj=#7aL(T*710d z+cL2#E?(}>{eVlKz}{Po@OQI}hdF>>A!D2iwEmYBM#dSVnt5M65}%TeCC;G)=PV<*vSj=9Izz^}lbl}BUPU>uChvRPLcIuKJk8&J4nK4n`2uRR z@)BV2t&DYYG)i=G=)SnI(TDC;>?oSXPy4jF&vhC8LvT-Wlc8D{A1ajzYh*3Ai> zK)28;YH#KNHWW!*=C$U(oBf zzGW&$%ps?eR@G8uR6SGkxn|_0_52Uz_$+;PdZSNb)^oPLYX%9wIkv{~K|}+PrAYe5ZAZKS$<~0LZR3b~hN6-iz6wK1?ny zRt02|9A<*o=*02963!Lr%T@RItr6K5gm4-^P5e*(yNjzmqllKGtb8DK$$cAKrC)%$;NK|PjkD-{IfkZ`D5dh?+be;-<@pI zbr~rZUYm`VmMrh%k)DYYgdRr?$1zwnV;G)oYTGq$ZrxeA6Yqrvgur@H>F%QF; zabzUO7n~y`HdX4jysF|KxUPrR)6d}aG74EKLX%ANpxvH^L|WBs)vS1eD8U*HNYxio zuLFZ~6tpzXg67N07!Li^NXIZo@Uh}IBumy-o*d*gd~NkS?06l>qsJ5+nPXV1bQu6D z6+@2|l=;QyQ|s zQEUp)g9_ndzrgKMj#NYYG;ygy0T)fw(PZ#=<%ra9mo82%-+GI$3^yvVSsY9>Ux61B znJ~OvGv~n`nKDXE%&6!}iaOJcxu?!Pm|d#$j@sA}b>iZf4&rfYBOw+UP?aMg12afK zX3eWG20i=La|=;SJ{Jrljsdszc|Q(#5qj``5y&6}$V>g4f&4MQ=f~mp!Gxi~dIL1& zD$gMAN-lCGOUPmr12pBr-6?MT6?7j>URcc#fljG6uHu`yXFLBM{znn_`H14Ub?R!o zwUc@D2H=Z#vE+{X(?9cfi6ia-pHnZSNOEW7Oo7{Mc{^Soapwi{XO$OP=(!etN@dHv z^XNHuE)!`_yY-B7lJ>KAh(D*kpvKUYB#a_@!ar^`2)~Ppp{gl~IB&}e(}<&_ex#=h zR1_)TOCy=kAC$1>n6d7j0X9%8TLl`5J%phlg_w6%;6R7@TRxQNK^Z{8O#pa zjeEg*rks0U5P^GL{W;8$ryjdS>)34r9g_)SX zB5-60Qc1A`)^NL#gi|Yub%KuINXJ&{YzOdb%;9` zm(`2L^Z8ZfcKR*_2vs+coz%7TyPV!F((ZeATEGlR|A#zqi)Pg(%fQ)U&b}p=JAwdt z?7r8@%a^N75r6P7{1r`pao|_Qr`3NKsK08}!M2nX=)!nFkp8PoqdKtRC`STnT9j-@ z3zpA}E?(xf`9L)IR4Q&V#fOp%ra|%eFsO8?-~nIi@nBMUdDRDckDVui)Lh`Jbl^X@ zB1nq)wD7!-uax3?{ZA-{WGi!^0J_BS;L76B0RBK<7)8K`6c8O+0(Nx(_@E$sUSoI+ zmcw?~0_$J^Ho>Q2hevmcI6#-Ncv7TG@&MXcq5tNGE;gdF^x?ewwKUevN=fSN4aJrk zGr)}afwYp4dUHh~xnu2tf8|4mF3#ToR^j;RcFPumX%Lhtak(C9tGYP<&~w0Z_*2Ey z1F%_nt-T3pW24&Zs?^(Wl_ROKJ5Vl6H3Vx8hFE`o7os`&*4CBAjG|~uudcAN*dN=J z;%#MZic2@(IO7bHKn%UW&Qs!Njtx}aU2H`>r8bC$Y>0Q30{&9|PYWZY!ib=T0$@Wl zaDXnAQt(RsCXLr%02}zA6)GTlC?`w*0rzNemiN`0;Z3*cXJUO%e^3g5gDIz$II{>MVzXf2P$bfPwGf>Uik6Od6W1ZYoqHakf`LnARkUX zMOSkr^61NOc31O-0+j^B)Y&ij4~wOzwp~);Zl5ntnH1# z;9maQA(b%Nk&xb}1n9c#2q1O@*!8mvzFg$S6%2f=4q@%Bt#R5E&PYPh1Ss6yI5C{S zmg_1p;M*LIyRn%Kiu*;t!H2~DFMv$4$R>we^2n!vLW(G+gi^{Vr-DkVsHTSYbf6<< zI?HYrO23=vC~kUct_56t^a&22`SCSZdtZu8FHJ~q`p}nt z^k)DA8N^_QFqB~oX9Ob|#b_-RZ;9LPyTk55#(Z{hC3`x1J5yfoF2itqB}~EyUiLBZ zTL)kEB*ko;OqnDm@n@F7ZWjBvvU35jkPu{|RsM!3OrjmP0sC{SE(OpcQ} zp-!q(`Dweau@dTEKmUfQ{PD)^L-$LEk5H=Rkf}Ll7Hawgy7I@D7pEu$w<^IArqIKo zMvp=@uO)pRTwcCh-khGzeLd4q1+_w%JPE$x`w|txJ~zTQm&7<=FK%%G6|tkD*k^2c`UO+4x*6pYQLP44 z&^~b?X+$f6fs-+o9Bw1LutkX?OPr@TN_8mZ=^|Q0`a`pk(6E>h8rG={DoTPL58?)) z4vEETTEI=rv=fL?pY985kuif0wCNLx%M<8EQeGVIP+rve#|5Lx zHiw<&gp@ul7T;eV;1u=op~|@=oTlTZ;Kft=cBpupwHt%imsgY2SWYs31x6-dx^-Or udVhbNX7{ca(dqq*_CP)BGvle*WEwGd;)et^Kagqm#bD#=+7Cz%1^@tLPc%sY diff --git a/frontend/web/dist/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 b/frontend/web/dist/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0750682c8dd850428e3394807cf40113e94f46ca GIT binary patch literal 23128 zcmV)0K+eB+Pew8T0RR9109sf86aWAK0H+iH09oPy0RR9100000000000000000000 z0000Qf-M`66dZ&qKS)+VQiMJ~O;$ltJO*GtQ&d4zfj9t#5HEfa2nzCK+XV}R5&$rP zl~MsV0we>75Ck9vi3SIVLktHS!%l;Dy#u>6*?rypVYPEZ=drX+qi9K`=b+z$&x|kb5L=Zuir*C`4 z7GlPih_Gynu}e#1mB|0 zdcuzk5D_s+%!i4TpK@T@B>#FVTLidG{D{OApClggXF6}cq&pKq6=G`RG7MB1svxu` z&i*{V%|G`&c)%k?=m$L7z$%Q!T(c_2s{O9p`K!17b6u`_qU18 zMgz_g$fAG(qKJaD4bhw)D_1%lnJq5XQ;}LTyjad+N00$}gbt8H z4v-_uBulNvdl$zvvB~C+2x)spb)^X$AqT+x=QR6vU@{&c4{-)c=>qU+52tKBkxp=FQe%Guoj-X{E?2g=<8uyB=f zW^>T8@qnmW;Tde_Q)mA_Qf3s=Xf%q9gaCoP0%I13oBj6rrSQY)e^LITx-k4)^uMWc z-kZZFZ^qutCL502eELCRoVa#owMy3oa$?;Tm3=Q-F?phi6Clg7J1b`PdlzM2-{gl< zn?*AShcG9Uzrj3v{J&x$Z;q}Vk)?ioUf)**gF3k*uD#<9+CmrUq~W}=JKNja0kji8 zfd5lfSAL(s;*LkZXDU^C3f#)D)hSb6#!Okp!#{w>!|8MoB{>2inzTC&_XZ(_VrrYR z*D|$Mx7wy;%a~!#u#6e@{GX|5J0CdSThf6`#jiZh{J;L5gU`R+Xf)F{$%rnXyV}d!!Y*BMHk>@7jZZztxh1qNi zI+|dp>^~JqL>mjji9M?3CYwX>bb`C!ig$dlNT2}uS=Ic>xf|uMa__;T-ecreUiQ5I z{Gu1q3{I8xHk8%V>`0cfBmKvVhn;500#)zvdvc81e=tAV4qO|u$wdxpeKtg*k132 zP7qx5Sv&~@7=Zc;2hg1!@(;gA1U= zh9{^d{rlc!W+5&6G{LayQ+fzEH~v(;900x9F@*|UuA3{@)h|F8?#TA~0OUgKGAe#% z!G>C{T?aL7dYjptSb1hW^~XL~z1hHNFm3~Gl%xFF7bK{1<(8_62G}b2J(nY8bpjL< zZfM_zAV+p?|RFH`^IBHLOUK}n;O;-35DC^k!?0BwM+kKEtS)_UFZ9&nRCxRUB8 z*ZHsoirsV%x^$YQ-Eg*{EMg#&$M=sxeRBdl(M>ojBL+X(P7F!hx9+5?8cF%BA%<*{ zJjA@Sx$3jj*~rhXxKn(lOd*5RARyp{@|lVkA-%*`o8aqgRRg6+#+0d@;xnkL(xHY5 zf^DOy64Ju!=Ho1*HW7Jit1jmyVMbU^tmc}kL`qA7MZPoCI@F*A_KeSHUgBW2+>G!vvoq^?Xgn2sH!o6!D%WIUV?>Z z$|e9KI3Fynt+bV`vR0jz5Qdg=61wf3l_If)@C*sl!HMt;TRu2Z%GR%}W~~ER*rsi- zYE$x{=up2!Q3Q3_RtmJz185n2h+*Bh36NmoATBbNlms&nB2LI~fZBn=%$|`)G$)_P zWC#a4krNDph>Fu8OHHhQ+eu3P_OmH(t^OP%i|ha?xpyUwy`P03ACg7pmen)~;i zqZvR1{Gmb}^8j$v2}4zI3Zm5JJRve;NQ4oZrw#nn19(KZk>Hsy;;-$T2r@AcF7x!D z-Ap7%C}$FgDkBF@tf*q52%^Y@kL2d_bY;?sP*aJ7WP)1-l_QWzAw(t-Sko75h&mc8 znEI+Afh3C*k3ivzQ0M1128g&#D9* z1qb_PI%d+fF2Q0rca8C z+VHSNb&c9rgoggVBysWZ2?&Y!5%VV@B_pSxq@qUA(9)sl85o(ESy%-K6eO5Uh)`j| zMTit7T8vn6;w9KnW{cHkcQ|3h<@TVM7bkrFKrlqMh9guo7EdJUwp4q%qqD2Kr?;T+a^JF_QlBfgCbF z9|@XGyj)JhOfb_@e`gtl3xp>R;j$ctvd+k9cPwQ<`6#Y7N{=^rO#Pb2@l2jDx;kk~ z@yWts0f3W(92|#%$tZKbY&)SbP{JgbZx^2hMcAuTRaRZ?5YE6kxbZHbRkW5i&=xw1 zw$oXhm-IaS_xd9SmaoKk;p{fplRDG06YvISclpx_nmYMNI-&1i@9#pj>Vf|c^jb}z z38?C;G1&h7AI}2dk2}Pj;&SU?qAO%u7l!(Q0wxN=90O1=X+MR*HBsv4gVoiv3>RGWekh$9cx`#TiGf#{mQk0~-?y2ai9_DmA`F0tQx06@dv}sTdU9-p*#CH1sqxq*ARq zbiqv37b&A$L%EPqj7soYO-I75XBumkAPL3WboAkTF6l4NLFRIO722NszwvpCZp8=ej#Jkp&_2?HeQ6u`f$Sxzawn9eK zl$~Y9G_^kfNboe;p8|*rjzNxG<5{f00B%QlJanItoHIoamxl4k;;i2ivv7SY?1NxF zNH~Bob-d@=lM55!_AVA+Q|!m3hz66Ktz~aJgpeFUIbIN=~iiEHT zl30583_^_I0|xYmctqxtUFhhsWK<-DmS=yx{lC*!y7S5J_F>Qog1zq>BTRt9_@+A` zR+P|!g?m>8u{p?SSav`E-oyyR&bcMhHn!DREufF+D1RD|1OJGG3Ij^1tI8NfJ9Ph6<0Y z_%aE?JMGk_`S-i8V??bC6`OmDGvm$S$Jhm5nQ)~W`BUaj`Q>d^zs9ou8u4G9${UQL zl+|ttwzbB><4LN`)OAG7^>JN6sv59xN@)AQd4@`kv?5umLh^tCcxS?jMiiMc>~CDj z$X{Iaw)X@=jzQ<#(+;yOH@K|(HyNuGMr)vdM!ix|Z zl;|(CdiLdJuO&t>>nheAdhT;fvlUOd6D^^`=?I6mRkl-$$(tAFJ2Wru zEK183MxPgiRA79IIOlU#u2J5ozOPOR^EtK#8B}cxK+9NB@`9VWe!P($`5C3u6%`WqyK*Fu!j?f#fh+76A5yPgBu}vi_q5-8%s62qKh}G1IOVs|R zg{aAj5SnRs%~#5biA>cO3OC+ZvWvKR&()5xvL@9-vTj)<=l3uxokb6@qEsTfsOMFQbF?J$uN`h>E=)1i9nAeHWbgSYbV{Lv zzPtBm4X0i@WDU=ny%&y;x@ldYde{|O^5i!8H-+h%jLj)-y>IJ%el`MjO7 zemZgiu_=A|B}<3Wx*fH?R*cwhQDBox@&VzFYCR`h0NB^0whDE^3h`helq*WoX;;tB zDY;3zyL|4(t@0yt0i28wOlB;+_~)r0^_9%bpQ?Q^1+yXETpw2bg8P0*!rb-i75~kg z)~6KiIFG8kciqCD-109+OVoLfO{f{ll^)?(ol>0*H&K7G(QXIb%~Kk3ilh^LqTHf_ zH8M~L^3u6ZE`FFy+HAH2xa8g4WNnv(gnKEtRQQ`){^e=n0$#*(EMw{&Wd<21rA~Klus>udZ_q_8YE`DRSi_zPU+?fSxygVPU2WgPQbCEMKGQWRI9(P8vKKB zLq`5@D>aROVJ*?D>O9Co6aDfR3{;q!V&LM=U#NM;b*2(wzWl@mWK<^#o$2rh=uc=_yROXzgvWPu9a^yNi1sL9YFk+Hh_8lX?r*gJPb>eatNyqGaVGkXM5B zFaDbP_jtWktkG7jA#S0q*Dq1W0oTReg~OxNRnR3L6^;`rw%uj{9u=YoB;k;858Qsn z@>HIz44}@?K(X1xuW^+dr{RWo?*CHl4mr}2TvS!B4lUfpc2r`8814H}q{vW_9BC3F z$dah60=ab|4;Gj8P4{xFchIfT7*+U0nyjL$$%E@Mxvd2x`R^u zA#8>S{$5vX>1Nw{n>!w1iFpVCL0uS!L0-;}ynAzp+T5bO?M&GjAoKg~_*vLe zJV(9+rv&m~=xS6LE>zk%$>gqcR3t-c;yt%X~jL}P`}GX zuNxyeNZmg7MlX#9gOD*Wfwt4aG#oS}9I=L-o_X>0DG%rFe2X?CH!Sa+=CLnXU8L*} z&-~{6y6i%C_xaR!*yFAV{nE^ecFNP@D3dF$4R+jq9hFp9SUI^B?}55AN*1oe@;$(~ z^g->!Nc|O;`A1gU!on2du;{$E>$?u#)vl3;<)HSBOOt(+Iy`eoE1uHyD)Y?&iaz=$ zoj0935kB$xDXM6S^;mJ}Q_5bKQ-EH1a;jv2mPLaGFqqrEV@Gc1V8D7)-$v2rf<1$ucRNAv%01!T zvo&Oxgn+c%HyL(aGdE#ho}wdgugTS4h9nska4_O91Q5x_RGV}$h?unA7HPWv#_(SQ zS+y*(Kd2JgKckksvs`>A_;GhmgY0~T{OkBBhOi{cTY%vAKv z*yHJWJHU>QCZooNzkK37y|Sfw;EZr9=$%skoZLqNMrfOmJ-r-n-h)Z{VDnd4vU;H& z(3LrI=gYmZ75Qo(kd;%DQS0*bY?EV&3b)Np8zK>d-zi>fZx?U$!v+G_E(D8f*5H-$ zuE8^>P7OZPr9yS8p6VUpaP@Xok%}@RQ#;qb5~Q1=hGoqfIGl9*S~SkfT`T`l*PpvA zeA(x>X-|8Tn5eaMy4@kirijf|V`iz4+X;tU)GWvyr5!bj;_Qi!JO$$WUN1N%l&fS5a};6@46wB{Z&F&-W*>v-UBK8m@I5TSD_Y$Yt1u# zL=V#|5#`awX`6`vVzUQeVl&W}`zCCjQ3jS|^eS;e2th73htK=a85CZJSJ9BftFs#E zAqd9@%+@}pGs&QZ2rN`10lSv_bRLbcV%7Z?d8@@}i)BT|6Lk8KqAsqKL6HG{A8*E0?9c)9nCon3 z@8SA`r|6-s$9i1HIUYEV_txg_C11ntH?HOZ6x&lbn|k~4m+&VFoGXSxe1%iyCW%BEl$% z5D_PVXUBx6S7&1(1+Eg3{t9=|c9mYT?uoV~tee=)6`q;`{^Dj&UDabZ^Jn}klx6GA z?>)L^w9loVk4BN*>qCTG{-L&%e-PGql!Cb3DoD6hz*J0RT$T+KWtq>o2}@hErS--* z>jik~s_{GEdAIzdQ%ew_pf zt6dQHC^fKuFxBQC0{@mS(2Oj0<~CZlEJQk(m3X>vOCdSWKhg1HQQoM{G7%yzxzQRo zB$N(<8x>QQnNhnpgp;XsfK1{X7ZdRiHbT}MLgWeS?@X)2d zdupYoAS9tJQOXw3<3^`HKv)4uymsBrUx=nBj}muNAajhkUOZg=^~$yRP8N>&NkFeq zck=4TU;OZG^{AVFAIR(m6%Dle9xf?N!^XkSW> z+G&dScTyDgCP(_0R1u~q_cPp=K|r~m^!DGb@Z$|q8>y4h#wcYYOn$2r=7|uE4akb| zQ4O=G9E*4@l{@6448M+}!BndCk5!TCHf4noJS59ZCBwheOFLcIai zD*>(?O(7{-m$&Kk>Ytx@x(>9r+t8y#WP&&h^W!er%$ia${)rdGX7C<@IJYA=0yT@#hxCOk<`Q);eB3J2=G#`+^xpZBf zEpT_HFYJ!S(0s5(YoLfey=7$9NjgK6&DlKcZ#2t8a=XW&Q{87z!o2WrU@qXph<~Vm zge?Ak;rKzyA`XB7%j%dFsA5 zFc$9Rpri)Y40{4!HbDQV@E%mO`|OUhy+>D7NcZ8_FoG4w2wVM$Zf?Wltkj8nkMC~$ zI`#2x9fYaS1WH_0UjGCEew}IgPo~J3vTJ#H4fTIw(N$Z!8XaC7buEzjS-YD8 z!t#mvY<@h!U^pp*Q|4oT5gvA#w_a(ajKbH_0t_A_;&SVoLB;<%o^}d&qta~?F5+jIm zTb`@(>QPdlMF%XVQ9NiL&swnv8cl=&qaof2IUHS(K5j&C|BID{Yv|s9XODSYg+|b% z(`644WQZi}u9(G>GP#W=En=~lT^21>fb_NEe*V4vU&DTLB84bA#;oX9$4Q)wJsJ6K zIM|l3HTJr#M(dTgz7~DcX#HDw=nalN@V^o?U~h^46q;rvY%a{szjXJf?YT7e#P0ut zeXwC*|Iz;enHi0aq|?+ehPAGh8bK{`1%|qnUK#%%c`&CY06sqW%}0QZ{MP{>w*1+E zh^=55X@2g=Oi;QFdFW{{bKXO#8T3W>0@z9B5D zG1b)9)KtGm>q;trZi6jm$6qR*@XtCe*Ff5V4xvwJkN#@^KGv?MZ#|Md0K{e!+T#2v zE^6d&6Vk=}dco~B`G?i!4J9Ma>|>``d`5@g1DegwP}$pJueWFEji&imYc$OKlkh#9 zT)Q3`4&7^J$h!{4IkCAFJ>>=7c%u%@O5tP9Qb}ow^2WPcHD9jRJ>?lb>#O*KI`*V!ssdJ;3Z$= zxKu^hz$=L6%#Nm?H@vvu-zRfzlw)A>&Bkb#%SQNpOf1P@!1lgj6ApK4^=;PXn|n^4 zc=aLvm?yId>z963snADE@>}~(?z*p~PikT69ZrNxw_(6nFjVkJa$WYchI&M!eVA&d zl85J-M|j}2?r7JJ%ZSU4Cy)@`ShN_KRH4!;AJk{`QvEqqSfp zQ@JWd<^+75>Fyc8%-^BG5a{_QcrXYmJEq1^Ab1balL@$~{hTr!57~9q8i7U*a7(@3 z&?5T@4E&s-&T>|W2o7u>hT^vYhi2kLhksC}oz{o-(^}b}|9(#KL@=%lC{sQ|3}+VL z1%|jU759n7lmTvC&Q|~SzPu@$&i{!3W@qVN z<9dfn|ALdA38GR=OO;qLV;veblm0u9Cni_sOZ^5C8nx5uCj~waT z!%C+`?rH8>uvf{N>OL==<8V(Zr>@p&{#aY}Yl9YS@1J^lu7gg_u+u!9?oM0Mdqwdd z##5pWOUD^80olc}9BDJEP&8whM3x`G>=4$Y9s)5IQ-)V`g z#Vcu@1Xt4$A5yJruy&U_U|#qbV~1WIfM{B{HGiULXLK>qanrefMaPqd<=n*SaK>FG z8yUR_FXSzbhcS{jP#Iot?RFGa)~qKwSIS*YMt!0~YxQ-gwV`ZJ!6Tn=xoG1TLixK# z?;x&C%16JyBn|@mgAWGJ9Qho#karlXTK^AzAC#VL$y3nnePm4Hw=ACS6$xq+2A`cGI;m%q5_N)+jVQnsWx`@>0v16oTT{(8eqiJ1b67^ z;ML+YUE|5X_OJQnuNX%$ifd2nx`nYmv*@|+4_#HMy0&G_0Pciuqls(&0-4F3#Kcexx@w1BV%WIXL&!BF1zfodU9B!$j-*j#?D5cRy(}- zQw4U8=p4~GqI1My6DTBoqoZLYgxftUbGTQv*MFCzX;rp4o88u)Y~F?qb4DK(Squ=a+TIXt!9El2$i z8+IspF$*T|IEm!&Y-)FJmS$FDXB?|x77^V6=<@I2{~xblZO}$-(q?VZR<`lUWc&J< z@LDBo2phwuusLiATf;WCucp~hM^uJC+j&zGJ#FN=o4MB8RA(*d3-jeeYdL?pXRg3{ z=Mr}MG^tsDXF(k}#k<&AQk`n&Lt%Cnn^sf*st}gZ=L%YDo6PJrxF)mp(U&Z4{o3ky@?u%fJPw4Fick=qXJ6T`uG<4|#aDNuxf~6qnkLoiEsUy3x;z&?-+3J_w z7PY?BoOol`y_I6AtJ!*pggO^i$$;v>tszF4o*NC_tKIl&VyxG5NF$&I6+k-pQ9ONw zNXIkQ(~L)t>me1AfO0%zy`DoG0ievs?6Eb;(nF)BRTVK>?yVX}6-1>am8#0_6XS`# zM7-|e2dbjRLtR6MjbAsZ4(FKY^%kNPPTsSHRb#J7T3yemX|AFW8T7^t5?yZUqrH{v|;dV)LWi4(g z1HD=`+safAbe!YW+Z#{EGE3ycNvg7Jcdf@3U(0w=%AUyH%0<Rr_jaLe%7e4+BLP!wYplkwySo! zc2Dj0+S7GY>b|A?>u+taG+fniUCV21YLqpa8hwqIGIB#q zKA)(5*9jHiZ4Nvj0~MeE036)?%6?n*8H_f3(P?l1$P}#z!nw&4x0Wr25i6t04;c-#@Arn+Fuu89MRt)E4yb*;|>Z4gX6 zEWXPo*dWox@sn%jZ{<7Tn+MlH#9&P{bN4onF9xV&sbvWSV*&t%)Ud;nlK;FKo!8DC z-MI*)W%j!?bY6SQ^8rCe~o$?eO@i z7I%0;m;dXlyT0?G8|$h-FK;=O!BfU^(%#p0SNxoyc|Iz8q%5cAh~C{Nu_MMLv;!Tp zJk>4}OJfA8f`@I*E>^?vnu3W}M=hh@P!*Cv1?JT~?{Dre7Sp#Vn$9%pqrd$Ba#?2Z zpe`I;$An6E0a-FSqIw@Ad{zRy^OIEvzc`n!Ia9H9-GhBeK?gcYBJ@39S>0YNPzzVl z9HHVeUSfhCBiNT;+V6gz06IFDbX^5VC^w@C0$ z)d7@i7vO>i5_b-Hqydv-0%UL&t3(@AP+hTEY{^|gE_2Pcwe~QYvPkX+EN2|w>l-Yz z)*_+Hqo{USZXFt0Oiwr9eW?}%@T~`ZK~{CINZ);;$n<;3V=N-N(8kHQiMzH|-l{?E z$jRR>irL2>tS(-kiv*z~1kcQXbdAgsEEF3yn;S-gZ#lozV5}Ift?_~m0$hndo?{LE z*YDb4l0LXu-+_of|M?PpB*V4orD6K$o6e^6-c|f%4ZgeGSz&PWt^fW1!_^Nw2bWK> zlMg$AR)HV~b=8IR|79J`|AktTgbJ_qA$zqqcN4t)KR2%u?fy{b)DOG?SK)rG^F3rb z4Rm%O1JV=hSMzK;cD==oz;BI%Z0XR*wICj? z6e1`GTqVKb@NVaC!h0(az45z~QzNFh1#3%JB)Z{Ge;Q^&eRnJVd|svy3=X$IZALEW z4gDzgjlJGGVEV1SFGBp_FMWp9kf5;)-ED?ldY)kH!qtWOkGre@JkC(xmcC_wM<4+x_ZdpTMGaB%eXfe=wN~i= z$VIoVU9oFNDKL`EPE01?<^okYNuWfw=C*bJMqbuyOXB*pagoa6fX=CuoinV5a0pj& z4wJ0b1CxkL7{>}{2>%$y&F{n!crA9EhAC)!$^Daj5?=kA;Z>N74xmSrd$l>mOPZ5s z64TXmpIuC)2~a%K_i=7e2!+?PEb-L*tbzTmd0!kL`5n>k15#187{&X`@25eicXqm8Es*LBNXRR{x^xL@0e&5oUZ^KHF zuO&Bj416jbw;tjE1xJ3lE3$zR9U8tVbW59IjQ;A@f4}?J;qP(b@jr|k@arY9TX`)7 zN-Oaz{;W6X>VWuE+>4HmU<4Ey=2off1lMsYG%@Kbv?I@Vb%TSYv#eU}=UTZT5r(o6 zC6pwrpf=ic)Sb4lq}&O!!-%+6qk+Aoa6_%x8PiOvvq|G2H!ifF%uSoHv~TrFCP4n| zB=7gnR}EAd?Rqe>^?$zn;e5XI8-#-RcBF}wD2!Fh?T~WMUa@O=YPM!+O0?rDPo$|F zsk!B9?@*JuB#EP@E5jN{l?0#($kaeRg{KP>aP)xJ7`!fAfF1;|vr~g4f&yg|DTEa_Fa^q3WTwNZ0MJ)d@Ro>*WEMs2Z z+@E{9>Gvtj*@3!UbMKEK5)vG`lxP`OKd43v6$3>{(Qmx6C(QNA@Zni{4zwTwpThMG zczy0Z+j{e2-n$PDYyav0RObPw@SQn)}~cJ_J5i0u&>x3vY)p67mReqKxIMXox*G_;W)MOO{aTawRv1V zZK51eTA(1!uwzgexfJ)b`xk9M3aptUBkbA{R47>4GhFD9N%W1##AZ-aFg1!{ehcxH zbVv?Np6urgJ$VQ6gbH*W=@ZA+*{i}CT&d3NZ+sdv@?X8 zB`C->L=S6snwDzc3IY=F_g&27e2M~ui#1f(BsvfLdUz0>DFCOj^bfcOlWEdqvQJ=r zE?5Z5;$2ZUiyMwaV>o8)MLgUUgyG!8SXTN<#En*XyRx1}rK***0~grWDG~JCnO8fFp4)3*6@3| z-0?gYK-8I1OP1tG&B)}@-@DkEGckmEMo-)fxEZ9hyzuBO-1$s78|wZ4u`u$0iBUsK zc2;X1-*GR$p{W;pMsKWgu_1!S(*t-=*$7%m^`!>tdaaBSm6<1NNW)Y5kPaXh3hK(I zbZh7=KN!?h(@UnDw!ta4m-e{*g01*wj8RNHINnK^c+^$%9<%n!+B$9le?&7mga!_W z`MB^aJh42*kj~DI?8% zH1AE>MufJKG&Ho)yQfw$vx_-+QMMYlB41{jch}_1Qzs{KzXV~ z4rmRM$ixin9}B9R;OlzpI09I`kI2E{3Sck&*gLCjw|H2Kw z{PQNv%-Ym0%XW{(TbL-7A5IHfq-~8D4$@e4D=DuB_y7A3_q>5KugecFh=S#W* zuY$7UhCHn-28a;(!COd%ICE7GSK3pr8T}XaNj#PScOW z%U;0p;bSy(exlA!Ent+&a%AF|iOU*2tig#^ATHT6V@2Xz1=gmp!sGxkG#PyJ{G0NL z!7EWp2a}%tX{^Ya;Nu#+A{z{0gK3z4=_0-T9qCWpRDqbr_n=213p-(Wb5%}~XIYwf zV!j2zIBIgv%x;usGhP2I9-cP9_#S&gVnNfCaP7nduz-TeJb}|Tv~26=wtTHO6pn{y zlpuQqsz+?^Hy)8ll3T}(qh2VpeY^=%WI==@vPv~n4HmFT9^ZGm2EI5vLow-_`a%gJCQ>W~88Tl1MBR!({W{X_i&t*cfLJ$& zy>R#r+W2g7_k^hJ&Uzq#7Cp1*snHqPB4*@2pwN#mGJ2r{I-r#rLaWP)LWO83cu9=< z3W17dUC*HUV{I+M`$I8(tb9dy`5%bh*P{dH*FEQ3gFif(M+O%XC_zcNgj|)s_i%6e z-LugaD)ndgBEI<2BC>)3455rm3><{C$wCg=0zrMa z+OMT%dem8fkBJR=6>-QRRJH@9a*sR-bmg?sXzVrY*Fe0j2ZhihZ9uw3y|6b-ybzVed{l*ZjcFTUZ z=%kdyl=f=DyTygr)+u(xQ}VmxNem+*}w2Rl^k*%E(6rfqusqzdy-bid#x^^fx*`rfOP^YzAXBSXRdh2K`;@StwVd5>sH z4XSHFNL|xz9eN(Z81>=OQbAO!oyLU-S_-Csj=17+2~mkQ2-xLbxlj@|M#@2)7v_As#QaH)^7Qpz&l|vGzF(DZRfoNR&Mi5<37r z^NcZ9`L_pdB+o(3dWC?d9F`2U2b}I`H0pW48{ofiQBmTJgPoDw4|hgLAC37P?qs(j z?q3YNa0s+kQ$Sin*yaUi!KIS}Q!J(bwo8X1WvVV6;?$8PthID_cPWM{j*`}Z-HJ() zZ0l6TT9D+a1B(as;e>V?IRfcMpQiQbnQSDf7|Aw2ph+n>9c7+_-puVy_+OFyxqilrpdUI>LU)Rgy^G5fOidD2=j6RVNQtrvJ z)Ol1z(3K9kbjYZ;;SqF$Zc#&$zuI6R8XC*1rShz1Y0O|LE~-nK3Rb1g4weWW5HJluuH{w$&nQ2wrC9Luyw>|5$ODqJDP9%msHMQ!2W@n8zX*3d6`6$D~V_TUI67jQ8sY(>@)H*EUPq_Wp(m zBg%Ks<}^hrsF<3iV04Z%FEuSkJ_$VCaYQc>RI9Z*hX&RvcpS^|;#9fGOj@dj{y8(fE`>NO@7*bQ zwZ@c!5W6074OtcF4SmB2DY%_RD@EwH@qr+Te!1*E|Dwf`FT0fJCPKaTWJowZ!HnDV zso+KF^eow1BbzlsM5kK4G-}`6-*pNB3)tdB^GJ3L(KIL;2?9qsxAPrSha{enLO%^f(rhpQsG_%NO__n_WmTjptO`ndg?bgs8fZt{qe;>B6O@FzJs0)832-Kja-J}_QU7mg`sL#2(`%}mZVuSBHSw%hd|0k5K_!U33rTh1ON$0f7J(@C=AIXn!8g_RZHd>7-M!*4uGu7p zk1@vWA4hjtANju76~D%bw$5~F&Y#yH_Fj*3(wT8hB|EyC?Rn>y2!Ge?w zPl)cZdP=I0YG@=S-Q`^x5Jj?HFRN;0B&za4OR1ErppJ{mE6keAwj7*&E>MJmxz@;x zibUF=sk{DmCkH(sGOq%9t zsX<9H!Y1H(sDX#w(n#aPyACG#Cenb|QJhN3hC%rC_0IkB>J)hlIE`lhiIa^WG?I9Y z0~I`wJa>wM^D1CGA~MdL;Eb$<*r+c)G*2&)B7Ayq^N1MJpYz*I{Pm(P{Pnw~jj=Tl z1CG!EkSdr^{NjG8S&4AirW;`>3|++xY#MZl@M__diDuey5*n64kf_0*igyy+z*Labj^pb`PZ%xc zf>kXAAxEi6*_|YJjRkEyG301Hmnm0U!E7~)h5ign1is!qKtB9q&_9^RQ_;;2{vG6X zckF`qtDjiuhwwTf7!rXW)1qz%^&vuPAFXwcUE*pyKl{wEek#R1mqEu^S?|9FuJ1m$Tl)wS=1FCW5bb$ZxLdq&*#U#Pf>k!4(J zj@5%N`nNlqwtfE4OC_F-1B|FR zYFefA0n_~h=MieeB!%nwuI!Z=CDqw(R8<58mLOElQHA_`8pzvuo47rn+571hxGZ6u z-|r7bgCjQ8SjY+Kr=G~t&SWyx-h6FBmA-$Y-`U&xmt?S24knX*UY>4mUS0Mdk4{F+ zgNbZX1<1wX;TcN(pIt=PyHIAhlq4Ie8E12Kp$&Wj4Pe)0AK3L%3S#nvFrYZCB)Otj z3YVnRsK7f#0Vf*R@0_ibmxb^%rc1E&8_QC7H%+rA?{}m{VCV$ z`TxFH`xO?GECpx632S}a_yh(h?#364{X zWh;mXltWnqn;DH3Qw z9D$4Z)9c8FPNfBZ;6^63Hy`;?^Fa^;O$9+yIx(l48dP>d>e)2nTsbjVr)eQspL}Ku}0)@Rc9m zT`m~T?<$}VoV4E=M1&M-tA;cZ1u+Y37Bld{VxmK{%Kj5@6SKDGL#ytsGU`R-@@V3C z-YCr_X}d*;G9N-(yLJrkysdrN9+hFzK9iyI%xn96BWp@Ir)(}(1y(wP(mxxX(8G}~ z$ghN`5)<=LW;0e7_{D2F{h9FCW3-o&W;0lI+#c6NUBSRxnU9sKYwv3Nr|SWtI?uHyr<7aP_4%=aDAyW zen&~@*}LT?Sq^U30OvNPZwaJ8D%H=Ul27FT{4|XXXg1ZVZ2W>_to+d6^#y^LI^!v3 z5XBxdwvT34ozm0-=DZ)bJ?~j&gODY)3YR4657QutT`Q>T)nf`>Kb*_ZRdJt|#*D=S zaYg8HSG_)si7%4Gz{JQWsBQ=}K3V8?YAhy3qB}dOp>SL}Xv$cElq$%?Xg7YbXN`kk zAi#4mG=q@Tf;L}_$Rb$_uhj1G^Z|;v(LqS}XMNDZ!!-}VK~d2HT8dy=SYGOGG$o<* z0s?JjLbJWhFPM3hfEG00PA>>(uczotSuI4NBk8%dsaeLB2@Y&&PPGzOg0)O6)Z*v0^J66Ef9aQiXmql#5 zBrbM+4yNnh!gp+_mHpE#!pxzw(cwmaL*C~YTJ}n97xYMdkUYbW5sT>7iNe_?_{wm8 zL1eec@;%qo(fe^s+-P-+=|beGkEWvKi}{$n+-K+VlcEjzSEd>65*+Oj9!h4IAST$Z z7hmdB400hy8;)aQ&1AG_vmz(rJz|NsqFTc*bI-UclM@TF9%X`qG*D$?g#-B@)RNmdyyGIl?)CeO zsCk9!*RS)P#$aA{xwAp7FgV0b(5xN$>3A|@_V2sjn{aANqmgm=H#~OQ!D{}+-6wt- zd|2B*#1WVP!uDttZ7Y`V@8U{~$IHjK!x_Gt3s}M0EPrrWF*Qy)4r3Jg5P%k?XGXbwW}Vkd&%5h@ zQy@&k56Z0Kow?s&qJ8Y%WO8)+WPH_p5?yMo3-++ z*8Xed{jJJuWsI4_0YT~a^{kbL*vioNri*M`6CPH^1wetv;p&&2!#%{q4)v9Ow;Jm9 zDfnG^7E|a3-G}Q*H{x-gM&va^wcTWiHz)%n+N@dz;kkH)Dx^{<(%4NBv_zUr^~7q> zR@bWn6N;3||HlU`v$_}^jOb~y{8AeUNUw~>cqc9jJPtO}Ca#ZJYQL1FAUtmcP>=k@ zvXAKo;f_qQ=0SV7^(x2nxRABxs0N>oJ4ix-&j+>77d7~V)*;_Z66AGAp`owTji?q% zCgm`QF%hmh_gPJ`K#oiMLE`dh%Bi?sBL27CqQv5PI|%XKO2uB>p(8P*g)hCPtijXK zaBJwB+;YQfqHzr_`v8Ux;7qG^NwD+cQqcp>0O!&{18*%(tHgBZjW<4!u&TUKM^5&x7h(23ZB zN3*Lk3T$1kWv62s15UxqaA|5)T37M$jxL_Io}W(w@)bgK-9w+5W)D_4xHVsd{#NnF z<8kxd;RQm39cSxK7f*4p`tr@`EsT4297x!?^Ts%RZ#eW{cAC?hz4eB3dFkl6HMH#ypb=im)_CmR~E4Z4O1lIdGTB#E05Ol({$Y|s_rh*2a z4CaeGPoJRD@K~>tM6_kcjx3d^-$}uBtn%V)kCYpE$xwm;9naNT8*J%x)dG|xhj zDykqIrHO8Pyg}VJJRw*~Lr&3Htr@w{YLI=yVYVkxlIGY;q$qom=j)Q~;1i+GQUNn( zH%bf~jg&U`m@QTdk=0sW^JH&j;`$2CJej(&Y@`D$Ak9dWBI|@_G9`?)kNtW6$w(Wmu+~-8 zUHA4YnKk}EhPkrWai+z@!>@Kpi@zvWqU~R-gZYNXcf2&AdQ-C7fgY80-9)hQ(&3lX zifVkJgmJ+6KHE^|@*mIt=lj30e*1r?-h6X`(&R+S8iW)Ke0_X(o59cU3%$#uuK70y zcJsfWF-KaD$2<;VJv)*{2fqO&3Hd?pb_*ntYbF|*t4q=F9O7xmq87wDT1b1aR zqp0splGW^FAGh5hgx;X}<&%FJhJK|n-|bz*(Xv~ehgV{8QHlL?=X$*5UM7!4aYgLJ z-QmhQV%$?XZDXlD@l9Zz9grrrPC3wY=Vc}zFInSBy=a2b?5NC8Um!3F zOOfTwI13R4J{SdaQrwg-DYz0kG8BXb=|+MpLA$TN)1OGr#*vz*GS%owhkM$@5|y2G z*@;ht4@7$m+NW&OSD@7v--Ol~U_lf9r_a~_2v6K#5VfaN0SyQkXe5~6y^JRzm6V^h z{foVy*mR)2|JTNnq+$}41upa!IERiIbg;poGcKvd6)@vaGG*Y+h(g;TPJ4)eHyCS~ zK?7A5x-2cB!OQkQbSZL*rDr!YadAhC8t>YtZ#P*#$DF$fLB=<`D(Af(&zBgvfflo~_z0+a_g= zhQ%xh-~%)Da8P$+n<+Z(b&$p{+tLn;yRI4D3@Xo%TsIuUJJPr#dDVg)J3gGoxl1aA zri}y4pts4n!vl97JuNR8`y>@piTKPbe$9Ez3WatVkmd#$ojL1NwR>v2e4|vyCWP=K~r5uK>q&)#%?El$k;@XhaWMxoh8w@&{gt zXI(qw8U-l^DHL~3S9{6Ehdb`mTfO7fi(j2;BaaF~Zkgdc8`SH{E(dPa41(L%;sfCk zeRJ?uZwFT)A>Z%dGu3F& z-ndGGR`Vm$D;JZoP1b(5eZPsN7?0ahHnzdc0!NrG1+KG$(tP2S6*dCj#H`YgQagkO zk5W#cgn-LKd@6myM+C3pLqAP@b*Lz4a&&dL+ycr%M|m;bWd(lnx#vX8#Qj=(OxQuvdR+wB7_f*Cyre7X`=qm-K)fQk{vr=1|B50 zvSgQ}C6c%CkVvzKro?haf1i^yb@D~TTPG|r2gJA#68fTm9b$Z4`ts=T+ zzy#K1b2k^PdueirbZbfW?W)juf4YS+4oMqzgt$g7GLFd3>vEm`vRGlb96x#gZiAvMVyk0 zC;9Hu_m_oia5=)+`}$Ya@yO~_OIEq|bgov#rTgbEJf%&9(x&3JUc60j3y*u3dQ$bi zxF0&^h}gaoEQ#zK7Yl`+8Ts$9F_xaWo{yf-U|>%dm@`r` zR>OAK8Vsh6jAYF+vf>E>g8~*xRh2a8!R^u}$JA|YTpDp``VJw7PYG7ne}eqAbL$en z`EG^XO^F}e0V>G|Ewc2Qd`m1#2sG7*R%*!J9x0EqlPL7A5XnOlg0xToAT@)HLURFE z`a^nmSsBGnSWuu+c0y_jY>e|tkJZb0dW(J^%(R1l>aV(=^_biXHjNmP?%DkxKSWFg zsmq@F>#WcduoPh=E-XzJ7f7dKltemWQi&c^E0;$#>nK{J670h^MIVAEoMQRrzp3UdQ%A-ql zLSIbIa3s9S#$&`XP&28Z70eO^T1~FR7&Q5#pAT@GILIg30(8!R_xG08x8Hd63@Q+q zeY*r9LWi#3i{iH5|Kec^7~tB;t%82qZq}uS+f4s(0pS0&gRv1U>}FjW+*lXBdkW=` z4ld}O^9;;Nee*PZf8o(37mx6d-uN}Vc|5(tE?T%=*}fj!&9}I4#|G*k#SP{&f4dvh zTE)cpO4P%(MVw#vTZz}_JGsh#Vu+rq{FbT;mG}6Z`+mdKJ&&y0*-4>X&*Ws} zx_Kz{+_rtcH6Y9(tTNRwbUDxK3W|u_Fy7YF3e{Z*jjkb5l>emjnn7U&l*cx;u(2o# zu9!!P2k_(J2TltCgvMMHyt39^Yzv3WnA=Z}6sc0cd1qP`X5b=hbb0CKTzLAq@dLAy ziP+TUQrl!c3;H76Lp;PkA0`h>wdN|;b>?GBDZ#)y4_)?5&*JVD@-QZLl~B%YlgLy! zKwD;3SsiT44T3T2tdGR^#DaJ9Leo?B$u8J7gFE5D1sF*XXE!)P=s79eyIZ??gWJE9 zYhMQ&vyDQ0a@7U5f+oReI%$bv9J7t8RB<}gBQ-YDvcDQ1xoZicq&Oib!d+kmGpd#I zlGCl+b2UP?t z#;t-tWbs}u-HYn(r!XbF(64xzWZc%BC+ed3sWq@lbRqt#*Q0m(KSfe~N9C*le9 ztlIwO`+ZH}==CO4Da7KJJai_oq1f^kR(9O>R~|(wFECY@EC2wYe`gROaDI5BlygL_vf+ zemEYFCT8h%Rn8}%toHhceINYBS0Z(aW&To?NQ$VZjQxBaxh0vGKVk?lT;vp48HsIn zl18b$YcN94WFh=u$f%|aJfDcHU-THuxrJx^n}+u}jGL~+vcV3QUt)uos@P@*Zy@}x zZq#C?v3QV$YKvnhKv&a9ldKCoX4{UOE{J_Qo8D=njpt6cMnt%jNj!0WdMyxuUNI#xny3~2PB36F zadJl5$aRTLvNfO#LTC52xIR6usZKj?f|-i4U5h@C>^G~)qeB(4W*_C%=L{4P;cGZx z>PQ7SF@>BQ>IEE{*;5;+X*8$52o6^_)GT7wb#?Kx6pgdwLeka3+WB$;1RM}YkQSVP zuH1)X3`jW^!zz1t2%Cycj>2`CETMi0|^b-4$M4u-;?HTR|2W!+6S;cM$`$2#W7?6iB z99Pu(mIAW-t6nqcbrOj9I)!dS?1t@!Wo4YmVl0WTk{o{#y`Bj2^lz9nZ6^7AClH2L z$U`(M?0n|OgUwl5aC^jeh!D9e$_wZpdXW>d{u}qTqdpR`Bfn}|2n(?h2a$-2c!-Y# zNQgxGDb`J27l#u*n50@DapPi5zfH z1}>fmbfP;`h;1vdMw*l^-ssHQ8jTZ*=$HgX9M`ep=6}HbLb(ZySrPuk&u#-j*&(h>F#c6=^VO4LK-9`@Ap0b=D(Z! zZcc2@{&=g&LIDVX|3J_L!27T2M*YW2{=e?O`F}$~KuSTzBqpybp&1e=rt%*VMl}=D z(w5K;76634;|P2YLZ72*^Ti0!1aMZ1Bk&>8A%#;QQ=vqo0%Nf;fuyyv^kdG12pb3^ zMk)m|+SPINF!*S@=H**%@)$LPwSpt2*tav~DH0bAjf26*JV;f0ImG@4+UKOBu>@6F z-%W>+?a<8PKfv2MNf~Z^i(*=0XqS0QLK3n8)_q60`i3$khIeLVE+=Q(P=Um)i*6O; zX+Vf@J_PSf6`vx%Ud?^y&9Ue2`jW^z(hU$We~yY53X4Hc1Dfk2rfwNX0LZbF>F~(yyvpZ=S(394{Fz-t@T0 zyy)gw`q~xq2NewEZ>|0*l{CHRMw^_}&y5={Z2hZN4^zC4mR%g5rP3T{y56`(%4L`0zcAD;+B(_l0B`S!8df8=o zuZw5XY;;YHL|v-Z0HLznPrKKN9KG}!vu2~l2;Sw8yqYaYKqC8Pz}M-v43XST6in%Y zgSYclQG1GT>jb-?VA-JZo|}Lq^0`DAQFH+h@|xR#ttIl&jA6@o{z7JXO!A1dW`|XHLqg`CvbaMbI%L+C!~I6HD{TidZ!@bhMUc=HZL83v>LOJWxI^ zUhdYqrUq4{Xi3XD0pVbI8m%%O!O&5Q&uzlp;!HS7MbLK1a!to3!JmD0P@^io&VeI$ zzb?_QR7B`<1@%5O8H%3zh-|eC5Dx;#TQp7E+aYXk=BNTd*bCD5f#*`k2uR3R;4ebi z!Js=jo}fnehDvOy>vX(YK zOILbJo}3xzQCdwrFb$v2Q!CSY)JZ}Vsr2rA-$oH5OE2p1(yIg8c+LwSx{iXoB6r|P-H*=1QcOuX_&zG@V;2X6jJGqq}^VcxE9~B1Uxya ze6c03uAZhpimh*@J2fFO-^S4)|G8oDXOZ{EOZF5PW$0Y>g8Io!Ad+JOAJz97*^)YoV@|1x^VQWWv4Z|S=R z%*;ICln-IMJbW|(@BuvR4HUL&t$OtA=l&I&ExQ=rla2jkSV+=!C(=A{OLx;B^(Y98 z#3mTc}wLZ}6a!Pug4ilH6zG^yy zQ~$1*6gZ()G7+^A4Vg`KO*|21%^6ywpX#1aM~@e7dYUL5kTjGWR;p|J{ovNOBOIL> z`xM7MR$VHaY(f$9nLaNcjXqPgQFfg*jk7Y3n^k)RdYtO}CR5yv$EG~KTuxsjiYiMb z-j%kuTjz+A^L+4}nzR?EgAdXG(`c}0sp3`RBgBgXI#V^gRkISTr5U$A1?SO<@kua` zY#I@R&Jh9|DH_zxtr)N`MX#xWlyB~c@QtVr5A;k7tJXyh;H(o^ojts2A}8KTv(VKs z-<`-{|D5*XYAG;7WUHCt1zP=6B+3ewA2N&Oi!0B`#CLAEgbZtZ`o|t2b(F<0^8j*j zn>InkYi*BLHVy}`qJUl5`8}}E@q80-Km5J~zM8f<_t%TF<$v%_E}w#)PD@W~V3P=E zc%;fgqWWOJoXO%C@@E>wb4MRm?~FW%oJI2T$#2zi&WpMt?^Vf6jti5qW#{l)Arl)y zmM#t`en26-n_LQ?^O95I-NVQq97#m5>)_f&UBcG-#pQq!k4HeLK_Q;-ftqg(D(_}gOo{g9pOyr`hnjdZjMJzb5cf&%75m)8XVWZ?Ptx8(9A zBstT-UQSzwGpgltQp()dNJkldV+%*CtSz1r81G&)YtOs)p`Q*j`(6V|l;X2fklZ_z zeikg%66wWWZ_2!*JQA<@+oZ-i{a5m0=f(D4&^@eMRGRhOaBB+>4FC^3?(0M=LDnr6m#W(0zW)jN+V3W-PQkrc zvdF0HEFRb(Lh5o*t$-w|QOlU+PS)7GsCJL}d{f)oiEPUNFpf#hXW%O(*~S+A{_3bY zx$V&hqzUWqEf+B{a(9iaKxOxFWv@X-tyu7!cV^JRURrwpI0*2?x+H}fRiY>Oq7cj#JkP$%uB zIj}`3cj18nwQwGG-|>8vUNTbtQY8Q11KAB^AK#;DiN@z%k^(yH4)3HHYmnuy-L_Ef zhHd%*<>zxLfo>M)U}=}a?NolxM$R9%`}ik`I4a^**Llkc&RWrETIeIwF$R1&hghq5 zXi=W*->^*B8F5s>J9R7}0q{N#IZ&RzY%f;RKMiSbkJGR`l4`Q_q{Z-WL3 z1Aq_GSVx3gTTWa-f$6o8V8w45=yw$J%3lAzC40GnR1(3H!&i8r@Yw9KfYKu2EwAcEH|7pJB;+O%?V33cz;P`Yeh zzLNHw=`?y^AebqNhnQ5{&jbL^$1ocm`OJZEmIaSm7N_nS%cy2&kQqY^owJ=JODDay>*niF(bqF=H7u=usvfT4|0!f+ zB@qG90Omh-Jy}q8-+eskL3}?BefYVKznE+4Tj9h4K37V2gGovP=){qI zq(?T4;3V9z7WYJcItbo1CG5yQ!xfyf`Ju*(mo$M;aP|381yJbV`y1C~r6iW_H^H^Y zI7U0%6h2N(o7!&!K`2)EUfPo|!V;Svv4eeVhS`i^{Sx!-GFkcYudByUsn+B9I$n5# zsj~0*KJGQpmRP$ox&>iaf-sx2Aa&WHGFngLv+B-kP&LoKFEl?JW#&SeC>>o&kjxdZ~rj&rvQ8^ooLm<^eLF`l2w0 zXPAXNuymo;YfN@!P_Q^Y=a=)(v>St*3_=5n?jKtMcOOpMal-rp;U|;=FLS0-F%@n5 z0*xD_63gDo=&m7kNzBwmG*x!h({nhwPYo!TbIgDV0KnqUk@hy8Mzs7Krv%hOZ$g&; z5sFp~8(ee<^4!#)VdsKkwrrH}$9Cz`0UA5$2jKOc2_ZNIURzEGH6SlrCi^sfuVWIT z5y2SaSi`*a6>n zW!LHGmY6>AF`J}NM}{wbR(fm*aiJz`kXpP#89z!_5;$m7i;}U;p}O6IIq=_s>n17qkm9!!X749$(*MimU`ndd{?#3RT^0xtSueB6?~WC;f+5 zg?OH71)^=?&S5%#k)b{szK&eXFJH+!31UzBsxFR_@>dD6cl~r8?W@%XDeLW6x{A@i z!rnkd`#%^)_d4G4*K7*oEep&()|sj*UK^=bNfWgfVWECxcmv>QToq>b;IdW0Q1_R`_9yC9Qu`b6XSOB}4h0 z)LQk8t(fyb;hu;h(ejFRost48mkynJ?K+&FmuxC4&vFKKP8!tIZk2$DbfO01meSZ| z8_uxg!%M2;5D2cX)R;>D7d_2N9ck-C2BY`JCcBDr&cO?mZT?uF$8a7wnZhS=YS<2^ zz`W~_r;7F(M?>Rf{vJ3V!qQ(-8U18a7{1SGAkHJuG%xEg-yP4)GX~j5uZR;V>&s!3 zFyWQa9*P?=8;IzP1P=nmFvqF!H#4a5LXu6I!DPVB)z;Af^(phCVryyScdoF19cq8K~yCN(|T8f4!pXKR(8k@ z60Er^L9%Yd8HXOy{}`35#G6J(&uQQ2zgYtraoNL+UIGirZQyz)t+*ei?gA*&2!hhL zs=_2nH}0OSozcH*k(M006=ZuU8DxQz>+SssKTAKk2wruEQymZhq!70+TDHozMUdl^ zg1qY8sVN!?QFbGHM=P2I@O^p1GAi+(l$C&jyZ6Y0w#N$Owp(z`6okIra%&bJ{~)6`{RgqRhcAnqv;X@0^;QNIR=6<&-^Ka%dD838%n}u3jxbv zHWL>MmV9T^_3hE%nHGa!DpAn`FA=Z3(N`z$oUp4{Q{5pd9;%lY$vtm~RTK1J>*=+9 zc5MBROs{K*sDRaY&G1J=LwZ9A(^nyVhnW4Pq1aq0myYCf|Mmi%t!2M^XT*i}?)71@ zV9!p^#JAj$QoUCW&5H=he@|DxBS6GGqWQ%1`^&xm9M8N89W@3551Q2wr~n?AYXqbuy}hjBItEM#MC&+Da$gK8pMQrlM|*V`a7SY0MrK7NH;;k$G~b(w*dk|mVf9m0ScGaJC4&q zq)$61ATLLOztY+pBDA*ghsz&-2~W56ew&@Z<(T3u<(sJIpKHOBv%2{bRb+}ir+ZglnmP{eXH>X9&G;gnB3F_H< z0y^~(G0_o>3G->v!$2g5E4U~cMmaMU1iFDmd$O44GH&7W6t{PS$tyW%EWSUp)9$IF zdkbgd2^<}(Y_nNI-W&OqC!y{Z*pK{)#{a=e#tgE7LspxuC=-ck(v?T&CL}0X4V<9K zrTN6|9Zc!y;dJ3Dh~d@0CFVm9`+q@AIP+nosr$+jpCOstfG6@{2FtqS-rqHVKOF!m zerssA=R%j-{d`Yl5KCyiq8dy><8mBjNs$F!LVA zj(U15X}i?_^V_b}Z=xNRz><4zJ!Xz^N$eo7T$ci`YrFFs) zY&@(D7#CTM?z{i zW5tM5fxvMHz2;h?!d^=z5cvmdwPnZqF0`tgu}uQLwDrg!u)en7Dt;nSK4+XvH48>; zp$}`j$WZ~^(|U_d!-nTLAqVd!vZhK3+{cj5Dk}){PDaIPT@I(El#`4_%{A$9suQ!( k1$WuAU6tbCOpWo+6HZUJ_lp+ku*p?q?^|F8xe);HKLy$8vH$=8 literal 0 HcmV?d00001 diff --git a/frontend/web/dist/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 b/frontend/web/dist/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 deleted file mode 100644 index a364ae377608b40e39e3ced39de48dab57e0205c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5804 zcmb_gMOYL7qg=W>q*;WeVPWZ|JEe2!4ndIyC8WE%OX-ph=?+;^N;;%F7v%l__fGHr z<}z`ZZ_eYbp#T9O0saH>Y5?hfSwHeWTI_$b|N8$6DspN%8dgaqeQE9B0Lgd%Au)6d zNgZ8j-LJxc5PWa|5hnH=u+0xASR24oBZVZ0%!Cp~hYCcCLdS?Bz{Q}hQxI^@(Z1Xi z3lcl`a)~O3am8%DzWPXwQ1swya`0g$b5D3TRrpRMH-wo|f^wrd4`Yil^Z(@0g1&(l zvYx&$=lu2A>rQ^+vt@HP2u7Ow`cv3T{*YSKg+x^UXxKmfJV}?+u$~8A!Vyp08ymwU zjPCxoohANG!e8~NmCyx38+#vnwc!=`NcLLlqNoJHc^QB~&(FgIy}L#@b+m0Gl(0wj zK?m=vbaj*qBmeq#{Xy(r6A_?b{|G`ZL_Y`<+XmLBc8;U;ZC@i6J+!lD$(0Odc6CoW zl6mf9s*sOMs@xkqiE7Uk$b4M13~_544quZqzsmZopgFgSCwW1#``(4c{x$O-^)u8_ zio})S`y5zjpp~=KdR@`pih+Z~4j;$PyCh@RKL1D{-L7MUi~YiKv{n%eRRogAm@OL{ zWRe^-@2M<^*!!ky5X*$l-%jlvT&I^de%E3TLRUc>9VPtyY6j$mNL3)CKku)zhS5&e zyL@i6m#d(-&G>aR_kn;yz44pK%^A{BqSY`iPv=GP8B25iy!h49mEW%w5n#4#b4S^) zW6(KLgdCg2C{5qUg(8t=y2i~l0JHo2oKmRqV6M|*{kh{kqO_efUAhy^)J-qcy(PUFy8fWVtM5oyFO_cC{*+0w!5d}rSrZu9v}&@z}y0&w(agZ-1V(} z!`()CAP53vgrk$VNIs<|oUvdIU5OUvq2`ZeDgTVfcO`fV#0|mSg2Wa8q-8?o<%WE= ziIcTwAwS%%u%lJR*(;rnsIp;#n2PGT?XG*nc^DdIU5^)gBj!O;(!pVvWXvX^N?OH3 zkz_1p!E(yU-;~mrO~ciUe(a5=DF&z2Nfo^vQb}dksg(h-#mD9bCr4+8r^n}iC8|?t zrfNQ#e-AHLZX~Z+X*!0Fl}_*s#PQ6s+LgrdE(-6wOI_sFs8_t&YO`bOeO#z4Bpq&W2 z2}fwg)s`u>xMI+CmpxhtBdKdCXKZo^w?x?337k^0RVC%`TNt8KZy|AE45y1O>Z69Euiwc$amRi(- ze8)e5qxZ0KsNq6UIeHS2;p9rSjfW=8sfl-|wl&xPP}TB+A`ryVIR+>@BAmj-r~jKV@u?JT=-}?O|`@ zQ?7b`yu%;yTz6wpXZzY-6ODyGSK+G#EVP2~B#iz=tAgCWnW7@JjozPI`=suYUTn_K z?ss>*Mn!2Gha^O1cHG%I_l)4{AG-2%EUZS#n|g8m@=t)~e_g(Vv`hkQF=zLvCfY`uTMzRgXMzLjjvU;K$8@ zN@a?d?dRlVr=dzL8E&2=!*SiHMHn$06Mw1prL$$3hHw0Jfm})PcY_GgCL#@Yo?=so zx|r-b=koI3q`k<)0|DQXbK!grax>Jmq$N<%7bS!qxz%w>@w@G*;a|TdnMi1U8?Gj9gs)8`B%HG^=4d{-xGQZ8>x9VzA4x@x5~^iokSs2>gj96Sq>M0j75`umf4$- zg{Q|RyFJ;rY4Q5S>%}hIEXIPBe||e`)#Wh+8bL;nBRKA9%g$%d%p4=Q&5cepd{3=D zYj|KHB+eO&Me+|{x^{$VznsEzLW*YgC0^MOtv??-yZzVsjJG~WI3qj|yqS6JHuVj5 zhF=g-8I`YBX&B+jdUp5j@BxxrN;!A2IfU=PC+NeMSL**X_+5%#-e@P?*k6f1M)#$L zg7PeDLbe7~7hE34e~S4^>1X{36y0Ef%+gHX1avcO$5q%&i!ID3mf!BnM1((P_@9NaKA8j~Q&krm zYi3V5bHvuiNXNYR-x>M=Ta8M zA~n3(r!dDI1O*11%_ejI^*j*7ppn~VGrEW)a98o}U@rI63?eu4NB;zsPNv&|p;8mp z)^7-rNjdHUZQp(==^IOaa+)6R@@mP(AQ%HJ&BiEKlhjyWd7 zk(-CMOm!?w)V|6f&snYdx2Pq-gb(N(Vr@OZaG*_C5XmYFtQZbt$oLUGD6b3#(7WON z8@SKmg2IKacNlOg=4r)UNm7<%O$@(1r)w05&<4e>^gP zQcEByMgF@qGUELdLE?~c)TdFdQ8G&L=<%+T4D!`e+oU&(bsa(1WZ5*U_|Ycd7PD92 zNU5O|3Mwwo_!#*jEy~#xdJ452Am=DkR>15S+qm$w+EBjJ{2AHatnn44G|5q*&nbfP zAVsX5LwRVn;$2FUp{S<{iXY%5=(7*u37X=-V?7aFMHcLvI22>!>jonr3Mfltz=X^u zRhgtdeE~hc^xZ|eqQr9`n8(7Cp3@Rp30B9i8j!w$KG8AqpyTvHctL_}+%cUyMkf+? zDDtDKE-fA1U|Dx%jSnc#d_71LAD5!P*9z9Z48Y#AKXlyr8a zzws3X&J8RjAbbI|VIgwrocr3ol>N)0%A{uP3E+avm~;DJwlY-o-2OTEUK{y38(#hI z{zLOvu+>HyD-!qieU>x;d5d}lONj^YoBhFST-m$3C$*2Gx^sS4v1psfzeI5{y3!&c z7(%ER|FuCjI$zz!ZI=7FIM1I@V#Qv{@opKtnX-Wd*3ctd+xkWtR}leTNAby9?xCr2 z5;wPJlOLul(d}ST#iHCBw__(zGuF=k)3=+JqBd}uU-2*3&8dL5)6ZQf>Ym?}yj74_ zX;s)Qj)f?^MtAcV$rjHM>Y}7`P3&S+%$-hTv&@KVEe#TIX@W2@9oMH6dUo~wfj+UnEJRRJbhxF?oN~aYrB`-T{ z8#Q}~BRlzLToy)a>kP|s~jE3A`mKzea=(I&^;aA%M!+>4Yf zZQIFe+H=-_G?8f zo%!jIy-yAMG*RY-UILq)`TGVj#>26>FX+zBp6HMxqKy@4`dJoZ0g#5<`Ex{Tv0Qyr zTS+3YQlH|BPKRYq=BTk!eqp7xUYj1D73p#KiH75RT79;)vT<9`5>2GCYkQ6H&o7vNg;gr|+*Aew>OZ@>CQO*d@HJP_gubgk{25SqQ zRITqQKGBOuBMT{mauXT``NfWcJ&=-&y9w8Eus23lNbInCMB_^0UsS~Q!2(HCuq{GWJgWnmZyp>kUDZ*5R5}F;A$6#h)XJ?Y z{U!1XFG-4lIISOO;n6I^GWZ-i&8bC`mgt(w*>13@d2Y5H)ekPeTO%*mB9PmLacfo^ z@4?;!>!02RGp*#35IgBAz3Ae|5;>d1`AHFHb49RWgrehfH4`=Wqu^^Tu~n&LSP1MA zpp(8_YV&z%h=@^u0%sm_Q7J~m#QfCKx+icmAW$$n6u^&qmj(b5e*aS-bQ!vk z?XZ~mohXq6bE3>SD0~|VnLfn4*5FJ66bZ1XR=y_7Z}jz{zUe4AGHzmYq0wV58(?!b zKePUbM7aM(|E;XO-D)fNn5_uX67F~{y#H%5y(vF9TP}Y%!wP@lA6K4Fdze(_JwTWl zz}e~_gUv#Kw4-g&V>o4*0JSF0l|-efz9S!bw}ET96@4IaPb|7#5OmFV8;d5d@Ug-} z4ldrDxZN}`c6duS?#gdV?SzwrhdU>QDE*CBReO?pknzL~;_@O7_2$egHdhOyQnd{7 z0^izJooPfZXPWCLun|~|im_9yoaswp(o0MtZZjXHbC*Bybr)tFl7~```u!wyqrv9Q z9(I!4)KZx1G7Ga@Dx4v;HNJM_->b_}Q=17hx`FYg^e*_~LUt9K!$bg!N8scd2*iHMWBx#su-}bv+w^ z>R$~Ifl6=hw3zU2@uNi(E1U&HqQ0aN!uZ-*NozrO^r^Jjr zAuHfREF_TcY&DZ6QjJ`_wB?RpaZ0@ZR%~t1E+Y8?@mi>SLkJ^vUDrsDbE*YKb^May zrxl~?;{g&tVH(sRCedJbD%pT*R21AjnDO#-!*F9QUoV7qd>{THVEjue={WN#;&(a_g%yx z^M1B|iGE}!p}u+!%sv9)e`SvuKdjYz2M^sejUO^q#?v~n>P3(Ajd<_Ouibgxn8?pu zs3m0cPBa?c`pKHLmn*^_dQ>E-Z&@4ChnHiU^$4#PVc9C*KE*laYF*E=rS6heDk8M6 z-NYt`W%j-p`f0z(2lX9V{Ia@6*9&grbMvHBRJ2Rh6~cO39p}DAm&KxyZo5TX`Q4Hd z3}&rMm9X{+7{Pk+y~wnYI7dn`uVn%;IBJNEizcuJOi$#CURro|2)R6@Za4L zTR+Yf9n@b31PJi2HDo#lO-VJp8mPY}#%|BLqO&q}rYnegG;l`AcRrA{J%;GXx9)@} z5!6S%|I?o%>{~=jF8)d0j&?}vjZuFy%^%#1g(juGboeJVp>g`?a-mTdOZP2kXwcj3 zeg~F*-s0j0E>{zydEs8`Uwc>sSjQ$Ub}?(d6N=2Vp29}b*YHfWi$v%f_Q1GHAI=7nHXH=HMOBm40AQ~k$y!;WW=ljfkpV>#_tp)p4x7Sb! zHqI=fJoJaQvw+PiqIg7Dg6fw`O;5X%CwW2&$GOht^Bnitu1Tl!h8Vr9 zjbp$j3L`)gMiKg#1HF6qQ^BSJ1#Bul8n6v;JpcX0&V9S0`%$ullE5>`ti}^6XeMdq zny|Keaqkd9+1_FzN~JXdpw-~N=nu~6PWe#za9bH1FKT64pD`aeK|UnvQlWLf=GeLRHn2k@s`>qq*JL%@3Sv!whUXT zTQcS{WtpQ5iuVnO`0Ie<6Vr0&p|%D2x!oha^jeq>w|D)DW#qNVY;qu`)=7 z7Knob;=(|D{E&bVNYE@KWF2JA9NfGxTtpNuCI*M#z$CB^n1moP2+N##VG#?W5bz)z zxCgim7*_}skPn7i!Y$>tc}KOQ*)i`}c5Ev59z0X(UR|lj>)Cpte!u?2xp&TA<A0etub*K?#Py!WV7)EB&tjE$U!|ieV9L3Qb%l!Zr z5a{>5B1j;BfWQ6@MnJHqJqB=$Y7k%rlX}<*Unc{+%YW8R0}lb{`vL;H+j1bjPWUXq z18M*Vl1+mc(J{-1#3F!@FsS>_0@NLW1E(X!h9`Y-xUK=Cz5%pg*h=@aroqF+V}Ijy zpf2=A4H0q&-yX)^`XLURY-%JM>P|goDYe28+||ePSpOxpFWXN0S69rpUv)#U578QH z&I{(ps%0VPm*%r&)+%Z2Ny+^FsPDDv)7p?OeJZxackgDL81vcpG+fBRcpt5r{1C=O}8I{M!;tZE2ey`7aNOIK9*On-s_@Y)A zG{crmL6`_MBlCCwJ**rrPB`TAw2J6(!a(||t${m0Y02MA0J0Ak2Xzwj+GAJ_Mh_c$jY@2^&j=Ha4QNkuY*^(;cnD3BU|Dab zCC&slhsFG7o&fod;-aYQqV-iB&1~I z6qHodG_+Fb=ouK9q%pHdmmyP@Y&ooQ+2qMrpiq%wB}$bkSD{jsYBlCAl{PjSizkw) zbS9h27mB5FrCO^unyq%H+v^X8qw!=qn=h8D^=7-fh>XAo;(m|GNhKcbTThPLrRl!&*9E8{YrkX(}Xh zQ1dG^D@{MEadV=0n(?(rQisxjqY+mVQawT?mTHM=u+>UXMXHU=YI2MeE+VbOJS0}3 zxv8{M@-gaV(nl*mr;A=UgC40mnGHxcB*U;wBP<4G3(7Gj*MvM%@=Yr+!)8*6HHw9l zTC2=D2v`S$(2|hDLWh8MIn}Ar0*wL8tmBFRFSkr85wb`Bv@%V5W>q}-uORcPfI1(@ zqMBiOl58*)Xd8fRQt$9{G+RJW-?adD0x}CY6x4H|?F2?10NN1%3f6C^WDnDvv#75U zSv-COJOA2hVK!YIZM(u=8@eGFB9WkyI2?fziz#B7B$1^&S0ITJN|f2C**rNzD~!cs z79O3I*~B|R3v$Mr$Yl+16FF2b)lK$vwYPJR-7f=|j9KtCq(&N#?+S*IIz3NA4gBZ)HqY*qG zj^yG2s-u(gW8NuF+1|d{lDoLFG8uv=0hGg$l+=BPnmWUsZyhmDy+EoeeRxJnQv~S~ zUG&Y)xcTSaXVT`3Mrq0$I>42EHWZ@p3XHfI1th+m^i|r-zbX(U5^X5(rb?ab#a@&S zEAnv9?OnI)3?_RK6>c{aB@;f%+uKetn@%I?E1uY8b)mD@cZEkoU7@q6+jLz{s#KC! zt0H$9k7m2w)E55%;uewT2E^c!oYLs{v9S;E&S433Dz4p5F^mKCFGu^AV|*UCu-e|0 za`CaMVws2w%h;t`V(smv2-RPqh6%1|Pu_Lq?bTyvGZA{=Zcbof*0R}wG z?dsc^`_>VV!Dnu7`L*lkTn`RI#OBu5S-rZ*S)I1f-JKS7))bjlgMqbB82^l%efQ44 z=zG!c?sPad+yBOz&yNAmn|j!puFmFWm(DB5zP7hea*aX~tFb#{(!%PjJiv7CTs?55 z@YdBj_>7uw)n`>_)O+kc!R`9`@|u#Omml`Cc=oF+&^HzuepmRfU$%P=aCD!| zvIPB&t!iUSVUs~$o0)y3rsG7a(F`Qjc+?e!z23s`a9v|Yz2=9-ttMvKNo@Glc4bT)S|u{ayw#sFt&?Y!l-x3s2Uy5UavoCerLkCdkf%(p#lGZZ(9QYmyuB5?O5okS%8b)8b=+4%e`G&drnfLYf$jZ z8ZrVEjs{C<&8<59t+}NZdjpL2rwBOQGQMy=C0`aWOH;Z31f-O5L%z8ZuAOb>G*1n# z^1Qo+{GaLAQ?b$*A-3La(kbBWkLvt<{tp8F030o=&#VW|$~@t#nK0~hb*Yug@--^! z-_^?S&_9Ky4TT{!`JjOJ;ZQjo$`3s`KG(0)yaj{*p`-n0k&{2k`Jy6|OXzX*z2YC32# z5I4JwY^Qy%tm86Pez`c`)ib37i}rRR(yMS*Wu3FIbtqhyGTO`EMNrT1caj+GH>d}x z`2r0WIkF-nw!{1U#};XE`Ou{wM11QHv?CS2k%YG;ar=)e!aLZSi%T}*rZ;itIuLga zpn3OCRGUe$=+9tZHEPQgLSkojalikFlp7wfp(#R}bMvkl(e93FGZ3RA|HUF3cy%ta z@d&raD-UhRvB<(5@x{GqRTwKx5!#T&U6Ua04u~-jk5+1c*=e4_q^to|7PBWYdousn zlj!fU$k!Pq#MobA(SPu`82%AsZxHA2;?cLLafc_4z$K$b#T>CTEkdsxk2Z=o8K~;M z@BhC3kN%^79`(O^9AFmIQSBcEb(oV z+vQJwvA2(MdCDyZlu?4vY8-|@xQ(PBOKhJ?$2PZDS+`6hFfc)uw!e?UzD&C))Km#c zLB`2+C0iyoQp*A&UfsU9%C!0|tMX)7g{<5=qzO{Z{28lt$gj@ZT}fDXUWdfJ6{W*d zX9HQei=+us%L18KPhNaLyUXCb2|t+viMOl>BolOe?fr0G9UO)~2uqcB~l}0Wd`b`U4bktR@a;pz~6B_Z6#te(Bv(-*V zT{y=9w)Jmz3tO^H{oXK~k1H})P;D&@G}gK>j*Xooj{i#} z5h6lKScn3mMs5W(qL3omr4==NJE0_@#a{P&${W4S2Yr+8^HW|;m?dKwS-GqVR*Su# z-t=cW^VyLjxiYV0C+9qrSd9}uL(H;)E4i8bd5o3Cr{hs8BA;DpAAOTzWcxY?qLAz_l++B5Qkg{5YS-3Vn6^E0N0IRk;J1;D0bfztWDF4 zF*z?A5+!2NM&&&CM#TazGeqvHR3>Hs_=!fG4>SUvYVhD@)J*_H7+;!WYpKWP;00ffnUQ&eQ(^*1{i}o~`-CeDJyon1$h9X%B+NK@>zNiD43k zfV>LUxVA;qq+OPUo|XtBZ2Fr)1|5USmkKO0@?|iH70|quo9kX!?0+7CM_{cn`YvW) zzsD~S+`r&4hUbOnpl^}Go6R|}E!l?1^c~f71O|sS`EWp(DS+cFCz}niWM$>h1Znyq zMNUg#9+U;gM;3i zD-k*M=tx(}nr1KR4zyNQTHpZCx+`m-4B4#&9NQiwB8POj#>S7m&5 zaug8)blC9oJfksKL@k5QIEX-EqIx!qt1xe!pOXXr^M$^;s=vw3b@QR_q7c}l&YH;3wyY}`aH>#DM#I=ev68j8 zqgr&6upIclW#~qF-l8&ez%HvIxMv$y`f2D>vK;2%P2H1$eJ!2fuNoWVVU5ip4DIj)&}>?q|IA3#Sq+If>c5i``|M*+oV&@# z3Fi^bGCVdlp(#k&=U*6_kj{@UjwnBx-4v~)Kb93 zt{99cl8&1!YE3KtHIflO2LD1xqWd)ea=* zEg}h>DhZ( z(PTmiIvsMw#X~>KAwYpDjXp4OnPp3VHH2TP^n=2?RhDtq+!;0fI}g=EG3T@op(S-)NSI2vI0^fm+9)?VBhf0O|W70YFNZ8ybPM z1c^vHJ9jEXGE~(dkZzruy66kF%9ds#VS);# z!(kj*79Pv}o+T{6!aJc+zzSiJqn6BUF2ZpP1->6FRiiN`g{sDr$+V2!nt+vh4P?AGMy585jEy>-%Ae5BSsa)~)XH|8g6U6;c*h0-X z(iN1rSil_2<)cd_h8&UO>7*nJR~>0UBC6eEc%hX$JI}Q&m#cDxZu=PNwB8-a`q&Fa ztQ5tb=U5i3w>$01x{_>}+dI3ry?4>-6Ds-VGFs;Z>Fm6# z%YDn`rK^dNp`PMYDjko8d1OH>m!_<2%2GALhw$M$zp*sWhj`j|oJ11S3`0|ZXpYmm zP9Ug}zHSF}IMVN0Wb5^Y#&9gT*YBV0wATJ#wYFYso%O&MTrh1S16R2lkUvjf8>VmRVq0gEaV~oQ)xZ@v}Kh_ zs!I8P*&>$Y`;sKflD4&_5$mTPF}}Oo>xCn4HEdaFrc$OU2&S9QyH>focbm;|C$X#- z-CV;#C&F*I;7NEgvbuGvUJr*68d&2MHPT1cXk_%eN1Jx!&L*j>^^f_%#HS<$r)PER zqU~OdI=SEf;)QpG@wilsji`7$Q!EsUH}5?4g1OCZrM-)2oO--cafM{B`x3_I_CywbDpa zk@I^X00=*Qe)|37q}MAqg=`4NzXW`J{?d8H3;$K%Pag3>8yV1KQaps^xV^_qOqf;c1 zkt$Nu{tC$|T#n@KG${%=zE_lJy{M=VctlZSa7xj@c1Y2pv|dR?Xh_jvQmN=6&cVG3~Dl*`f7d8Wu`H0MwVLW4^8A?vDaWOl|%Z~8jmVN z%RqHnaMp$PY7I>pLpd^72`(72*7bcv@X~hX-l*WrlxL^Wj5sg{8+eQ$z0<`|yJ3~F z8LpnSMyVV_-mKxKGh)Hk_Q=SMo;NJpuQ_DY%WA`@opt^4LVOM(XDoYKxj#635i4u2 z_H7s1Gi$suzJ^!F8PBG-p9=PK>e?LIC=`RIWz*3%`Lr=v!@;ljJVL`BcW02y)>s#w zGt=bNYng+zMoGy=uQMRq;LvAttdE5T>P!mLxi>3tmaSiHf!WCY12%gYf1>XMw)h^O z@oAWr&F*lz+#av5H2lm2k_n}tiHJ$cBqbxyMnOqMO+zb{j-G*$Nm|9sEYfAjlqFjZ zYvpp;aL>5~a$Nt5B&*HBr<@%_K!Ltf-iH{}Pf?6{KZk<>VCe@j9ApCwp)cFBu|3;K5o%YhJV0h+@j zp@m7>8Bto+gR(5{QJcy(#7Mv>#+&NRL6NCb$ z5rOXB31~k5--2_XKRlnxxnPO&jt8ds;IC+8w%sm&s>2(1g=BcNJ^fIJw^ub`p<|7= eZ$xC6J*2=HWthD_3GWE|zY#9~^gZ6400012`q0M! diff --git a/frontend/web/dist/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 b/frontend/web/dist/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..49730a410873e9f63454ccb8f99e94dda0592b08 GIT binary patch literal 7696 zcmV+r9`E6IPew8T0RR9103Hwk6aWAK07rNL03DtH0RR9100000000000000000000 z0000Qf?OMq791!)NLE2of=EA2RzXrc24Fu^R6$gMH~@llFMbgS3a3D!Mhk)*05Gmb z0X7081B46&AO(pA2Z}ii2O9@MHSE}n;&uS-%j#7}B5b2rbpwk3|3d;dhG;dge$gR1 zWCx9AQeAA#y}BA?umKtCMPaTLTBy)r%eTaoP}uSbjc(-X^X~eGUiaMk7`wRIdNdh1 z1r00Hu`4JpZYXSn1}m{6E9<{V<0Te30eu}C{L1Wj?FdO`dH#93?_2v+b@dls!viZa zW5-hDbR0UK2|=cS@6Yqw{Bz%XBECmFAC*#~q9QtM%wi4@nY~hf`CU2OM`YzN7SXyN zQEorluRkhT6x8h~Rx8lGEKRCL+Yj&*$cU z=ic}w1PVcF_8xDZe{tE(R&24J%Kf%k&(iF>c9@nL6{ST(36O*my8+N@@L%)?+fv!q z`s1&LXgvvVrf{Z+=FsZe(AzIgB5w<0jpO0tYTV3!bz|lqaM!TYjuV%{?84ImY%wwq{+-Cm z`}I-;ly+Sgvz+LwpQ@kKvFxof1VQt7ipmJ`$o%Tq{|gBm1HkpbgD?z)4~Z2E5s*Wa z)DSHTB!wN4B^Q#f3R0s6QpW}H@Iri+Lb~-q`mKZv7=ZH|gbN75g@oV`9GC>w0h16U z1YsHAHz;685CZOn19t#70V8&xfY`g9*hp-QZ03ri#qnaUc&T{H_N~Y9Qc#MQlBJ>2 zXz6C@-jm=&Ivp;{UBR*~r!TrJ@Pi<9LmYC9we8RuY9WMcxQ@Hn!ZMEVJg@OtArLr$ z7q`V75sRECa0-A01p2+m0{*(n1PJz|7XS`X2m-8NQVKibSFH?;<&cSjs;?llx?%o<&yeM^qYCc^B!Ly<6bA2zup!0;`prYlMA(~RgA-d z>ukG_-+bf!Aw0>E30Z~HQSt<#P-!x`&>iG5dR&o1EvFM)8Bz15h_E>fJgxH2G>kxrt8-E<(H> z>iLM8qihf+u?w3n0&wP@7?iM+8A&$L!%ho^g#IcMdTbhTbgE{cB1N)=V|*;aaB1XH z{m@R5Q*xnZ1^LL2^(KR6*rX{ikw9Bm#sg?)hz>`MBu;G&+!0Dkt}z;9 z0+LXkG}BnXnZS|2egtgSHVfK`F4cf$?s+E2v9u({AQ7iv*A{Z11B()@fJ7C3ct~8g zq|*6ZsKmWRZ_9YRjK9ga-I1kZJK~asMwbJ#;Z6tiDAlG5P-^AuyGq^lqLZk0=}1hA z=B2sAg2-(6O=NqB1)q8U+<0C9Mxb0t>qUAOChoeVheJXypbud5u%Xka#Kz=7VZyQj zjn&46RhEQ@{#g<%>$F&63)FL1$W7x6N&qKd2N-5Kc&Xlu-U6fw@2Lj{%*QmAVg)wi zG&~O%;}Tqh>+!;KFNS~tY9R6S!gy#VCc*&3AD%I~3%dy;oYa)@G>XArJ~d*C`D;Ys z;Nsz<#bO8uiHJ!^$;c@vsivMPIL@cw)Duf;;RV{oEBNpKe+>FV41WXM z{>J+NwIS2MCRh-J4Fg6%DIaT;X;Dw4V~b5_5#Mc* zqh1V-Vok8eV?I!X6L<`+|GILE$tqxo)@-*&y}y8uBpW#Tu&1`q*&Hi^=>PoxT><`U zR}-me^0ReZO9yO|_rG^K`C`>j^Rnv`uai};0YN;K_^QMxK`Fygj;jKx6v2U|P_!a! z#iA6DY9zCOoQpsmkp^N;67vbwQ)!~)Vbso~gO-m@3q7Ty)A7;Za(=zM(Ql2b#l7`l zlP>Ku0gEY5jD_eic}kgzfORm4Pz-Wd=n&8@$2v7tpp5{t?U5qDi*=JqgzPXptxVIH zSrt$GE6BVmpiT#}sAgE6Ae$HmbejO#OufU;(QE;NT3ZWnD_1%N;Ij&rBzXi zjwLoqHc!qAdJ!ghK*dRTtO zP2272SN;?lJ}#$r9fSAENG|T9dJCy8rcQC*rl#RpGW@Pmn+(Ad?4l^xd6Eo2^^lr6 z_^$KaBiAd>fZwVr|Jg=biXc6ro37dE5BJ=Mpsvqoibh?V@o{DAhC&pc?;Ee#0N?GN#m|lYjP?#-~9pN=8#kOqv8FxSG|mjm@LM7x*MJRbOrdA@eN)8gG#g-(gM0|o5jEwQHdVgzkB z4mv^0-JJ$O0jFk<(q<}=yB^#6SZkW4(E{?hSChlw@X^(eEd82l0gqP%zUi|qBaPLE z`}?a8jm&SEzo4$Wf8(Z2{UhCVh3D{q%lCbKWBrd^E^xXYR6po?VjTcUeAfzh-lNuwX%EZDIUSYioS4wkXrgB6Q55ME_@C-_W@KZO_}@`h_($OVWE``r}g| zi2MM%W!=Kc$~ujgk#eftE;*@?go>(bLsENTaynqTk56&k;CqT{&?grr zl{%|E^n?1+yrS&Pcc1mLc-4I^zK)*$C7&@j;<{?*R*vrbJ{H|s-k>&C*((hCVoS;~ zP4nJ3qZvr5d`XFY(CxMlE-5KbD%JcsvfkvHt|eB#{ji}-VQ8?HrW(9?4ntE}N?K8E zcgw=s9!R5VZZFAM>vH7`_Lf$a^%Uj~Hp@bU%jqu5D7Ic`W(mtz`2Hw0Mb*|-Gb8^MH5VVRe%u8~RMqVzxochS+`-#Rs))fsw=2}ht!$`rcDJ-Ftg6Tb7S+(& z+gAB%bkx}^vmF)AiaZzNTsO^sZ!U*V-jr|q{R{ZYHtnj;S03$(Q@s*BJo@DBCtGG+ zzdSw<&Mxlqc6pX=xK#$iJa_X@ThS1F>MnBBoIT=hS>JY$%Ig-zomeadwsAgx71P!oKI43^Az1?*z9UkpJb+|P+b46T#}PsADUL% zW4F<~uNZnqe@6eyLQAJkGY5<7=`|y`;>DK6W{5IPlIwos8H$NaWe64RQ^wilHO*_< z4pMntllYPLEJ+_~s~LjOO?9s>sX^&265X*CZEvIZSk9m8>792^kGgVaDL8&)v;QXY zBkz!R@X&0e>=^yCg~Vu-a?rn*8YO3RkNU!TfUO{4+@M5{P=~z-i0d1>sjY-$(>DM% z&U$?MCc%x5NHsj{+QtsMnfCf&Vu+)VHCV*?NDzkU`mq~`F~0Rh9_1Olp-(Jhz;C0( zFf#=cAO>y&Vf;dIB!J-+9KWKzc#Z_XbWJ2`nwFZDnwFa8n&z4~#9@cY*0k@%bzH*A zEsyxya)ESY!RAH+?cASSS<7T>9UE*urI-8OMo>@xpOP4CYt(}jT!H#C9a*LkEAlS? z>6u!bH+IjDi17L!Xh({EBk^xY;>I6I|0cHV$dZk?_6OqTbs&ZZs2%-@Y7;3G{28hT z$F1u^NL-s5+3h9~bHf8Gn!>kvt_{zKMtiDFKn#xE3J62E-5u2P-zf>;O+;Q0731Mdm<44#fZJfdqdK1%9=b5n|{s z2nGMaz2e{>#L#O*|9ub+zCn$fy@msD_mpuVJ1q?h-$ywd>?qz~prGyhb}jHn+w`6f zzkC#67Surv7i0^%R;D2-!c+6Qa{WQf{}67ZohJ%sx_%O2a<>M)`CIl!K2l7#0yY>0 zf2nu;6wWl6a<<@15nEF=2;-BxoWRt=Z2bZFw~!Qkq<1_~IJ0DuZ=Bt*JGsTq1bK3l znch%(3XECabOC=ONkJyrgi0f6E)QBWO*POlKqhxTfxR6w!W4CG_d04ZeNjMWK_bp4a+;&A4P+pnk_JdI z^JQK=JCPA>4#S#-n~Z@(>OSGi|$EG>l;GqJ1-_z#m5B*H#XX(ThsBZe>_vm~PN z@j^ggAiFRQ$Q}R|C9x?`u1>Q~cN#Qem*bAR-wsa-Fg1o zbUW|Z`Nyw_Me#(sO?pVGmAukosZUxh9izX}2lTnLwD{Z{NKF~!qAY!vhnBt*`GH95PoRV1OS6a4+ID}a9|#R3<3a-AUHJfs09k0!`|9B z-9_lJw?mbPj~f;8;LAlvd07C_vn0;M_5j~kN%BmE@wh60OF@?akdfrf?m0u*v(MIA zv1=8y)*9V-#vrtyel)2L8G97Xc6TkL5T$~wd)UrjoE>)0{RV`P`3#Z~?Y(983VG^CB&0>Yb&K%BL?taeZf;l`0)<71Lg`-uM^>! zckwQ~`{zBz@QCm*hSVb2Y$$^3$S%aDuPLTu(B3P^du=Lw7CdjUSdy^kEiLWYpibYW zz-bliy(P+HLEkY&KLAc93Ymk-7k^QFQGua?*UnimL|2XhW2^obun;}*M5+dzl@Ik> zY^4L*^(W}yyLrA=rGdzi$*3046C*7}Ya&N|@ZLB{-7Tr&RVyX10i@AIB~cLK5kmaS zQAB-z-;7TghC8o3s4gv4!2@9W+-c}FDFHVBf=G}|MYDW_s@W&(fs$4c@~t-lf=BY6 z0N{cN3DB<8!l@kUY=>PiCkBVOvjAD60vfA{mx_dlt_9KK-db1KO47wjsl7mPeOT=XOoO>nQ(h-e=kUd{QSMDOh6 zFp)iU*mCncuhQ-Y_w& z3ssK1*vG|q#=|e**NqFoiEGojiHVq7TV7FQ=6362CLPyt&V3-6(XsSEl=vtyVRe4D z5L}_6u`qNj)5_jrL4zC<7HtLm<2B2FBMq^pMMb!%c-VHwvnlDkyhazNXLneeU(e@F zJapH?hT(?eGgdb>Mk+}7ymol7chqt-{%+pt(ziYpXrXIHP}QhPn%gE<8Hhxd;5O^E zx`o2e6=Rx4c!*XrCc4LliO9&c2ie<1Fb{56qw|0|+##~-2=!fh&V%^IX#sqYH~|O{ zxIo}p9{dL;=9(8|xkLY`>jof#XCv{uR!`C@n7FP=lI!mkrXq5FRRB-Iv)Ox0M2n4? zX%R(DWJji^3}b3$XfPGyBZE^W52~WMId0M&U9_XmPgag;I&xtmFQ4D*0-3ypfE3j7 z^uE4dHEd?p{q?P#t<6Fqm&-3LukP$>{eyzZ2VQ*Yv1RC}L;@y6qQqtpHtRH<&1O`1 zU~1o&HE6B(wgec406nn~!Vs|FhAN14)CG}rQnfhv z*mr{q)!Y-#0D}uC8Bi5K9K~%V0q94FkfaZT{=IQJ%omc^ps+~BdfT|HUtZ_$IxCR7 z7Hcrhq8kU{jlt$56~qZuJlrbWqfN_sO&I0TQ3&F{Z&jy+OW z>GC-kdzum3EtoiauZ*fBfq9;@fDZ%$&L|;WMM4HT5NW^7=me2GbY#cHV_B_OL|noJ zxRTDP2pMQiGJI`jnP+D+lY^5PdWcT-Q(%)(T}!EN?_7nwSigqDMtEUD4q!2BTe#0-z|4^wD7;e_SSO#r^4oD=zN1Sq=g6RH?K$PQ@U|GeVexnP(Rhd@GD3Gc%bTJX<^3FIOn@m*ff- z#kUI@$KH&0cUuNQ)s@3rP=4ZiPVU$2=v^cC_PcU9LjKUN#-uvTDnH|pkE;t1mR(XJ z8Wun*69AJ#7-Q}hpU-pM*o@--;ae|tf~IRU^K^tT8a_p(Q_$um6cd2@!%zWWWT(mo zg}MNh8pYzZ95pOmwDluBhKQ|0LLBMWe>k``M zY#5D_*f2@!3!9d37u@xB5C%bxDk5HRhlXRK$YTgYwxE~GJ=*AcGM&y!Uv1GPbnc+O zE$M~IIPhJ@dPUPLtLuk||61wV-Hxh7a!j*jHmZ^v?RF$BWi!KL_kKv%`zA%)D(xZ*q0n$;a(U#3# z5Q&)?a)Tf|w>u5wW>b+R6G9f$0qIGzT8I!N86(UgnPlaJj;iOv@*?qIn z*gHnu#oWcE>Zde1HwzEZqdo?-KZVkcAgddwu0JQn(CIgT9Ln7rB%*=62J|>6>6c1< zL16v9dA3WY+e}Dq<*>T|xFbq$@ zQ&(oKz0=VW_k-fmcp@GjP-U+(Zp5Y+zjUouuVv=BWXIktZr$_tX|+Xp!aqG|)DMx4 zPa3A&a(qd>kp#Welbgw8lLJu+SyrYdCe5LcWom@i;I+5^6~#$XMB+lvOQi|N^Be}m ziK5Z)n5@TIrpvf!tkrPntJ&;Wou1@ot94wgFZ@4mZk)>izqtB)7Jj&1mfT$JcpwCS%*OZ2Kc4zE%4A^-87P zPl6B(tgqmxQ_*Lihx_2Zz%J=>sT7SO)OLC!sB3neZr5rx_Sfyi;yUfDwU3#0Kg5#Q z(Q(NlOFT>7oe)*CmI+$gup@ zL^K_RkJ_``bTh+eU&yShfAScMMMe`h|8~=9@=nc1x75J;zi<7$MkI@y3?_)Q%GkFNXW@1(}LB7$TjBC;aaLYo^iWRB=lWtXz-xrMit zv)D|+YuaZcvI6}yjeZ-UYmWf}^6=mFj(Dv7Bkw;O$A1ERcKT!!0H5!kHFd=vuBwUY z00Rsl;45S8I=xaIJVUkaP4=?<$ENEF`5yQ{xOaW6Irj}y^E`FN5R@`w->?(&-Ysa& zxo_k&_o=5CD3t*YWIUAQrw&JhCY<(#4+3yo6b7lv0Ya9L$QFcgR)&ktC1d8P8$GtnS`RS6Nmj-L=^+K3RQniz9* zB#@DkqIUI?RXCB{JrV^Re^8?JHWjqzs4>`21KW05lvas@v6v1M2R)<=2Gqo9q>yRa zU*&Wn_GdvMaYnRfFLHY9tM#1&><*f9gWmvGJ zM|!N+9R1#JIx@Y?CVFnA{c!QqVkisoAUOv zP@7|4Q4G!@rIRV&%#aK_~B)crb$dTHJ#rthCcO>#XHzU*r@42#vY*&R-o+v6=BKQme^hJcWWm?R4+ z8F@AeN-Am^T5)vr42(?T%VL%wQ4)(}DNlg1`pMx|JGnX+Wdkt}P z1R5Z4D{K}L+grA9kO&Y^nE9m8t^BWM;V6&avWRX_nao5Md-VR6X8&)5 K^Z(lMz-|S()T4+1 literal 0 HcmV?d00001 diff --git a/frontend/web/dist/assets/icons-BHmFHwhB.js b/frontend/web/dist/assets/icons-BHmFHwhB.js deleted file mode 100644 index 6ccf2c746..000000000 --- a/frontend/web/dist/assets/icons-BHmFHwhB.js +++ /dev/null @@ -1,1088 +0,0 @@ -import{R as Ya,r as Jt}from"./query-BpxuCIcN.js";/*! - * Font Awesome Free 7.3.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2026 Fonticons, Inc. - */function Ea(a,n){(n==null||n>a.length)&&(n=a.length);for(var t=0,e=Array(n);t=a.length?{done:!0}:{done:!1,value:a[e++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,o=!0,s=!1;return{s:function(){t=t.call(a)},n:function(){var l=t.next();return o=l.done,l},e:function(l){s=!0,i=l},f:function(){try{o||t.return==null||t.return()}finally{if(s)throw i}}}}function g(a,n,t){return(n=_n(n))in a?Object.defineProperty(a,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[n]=t,a}function ee(a){if(typeof Symbol<"u"&&a[Symbol.iterator]!=null||a["@@iterator"]!=null)return Array.from(a)}function re(a,n){var t=a==null?null:typeof Symbol<"u"&&a[Symbol.iterator]||a["@@iterator"];if(t!=null){var e,r,i,o,s=[],l=!0,c=!1;try{if(i=(t=t.call(a)).next,n===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(e=i.call(t)).done)&&(s.push(e.value),s.length!==n);l=!0);}catch(m){c=!0,r=m}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw r}}return s}}function ie(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function en(a,n){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(a);n&&(e=e.filter(function(r){return Object.getOwnPropertyDescriptor(a,r).enumerable})),t.push.apply(t,e)}return t}function f(a){for(var n=1;n-1;r--){var i=t[r],o=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(e=i)}return x.head.insertBefore(n,e),a}}var vi="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function dn(){for(var a=12,n="";a-- >0;)n+=vi[Math.random()*62|0];return n}function q(a){for(var n=[],t=(a||[]).length>>>0;t--;)n[t]=a[t];return n}function qa(a){return a.classList?q(a.classList):(a.getAttribute("class")||"").split(" ").filter(function(n){return n})}function At(a){return"".concat(a).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function pi(a){return Object.keys(a||{}).reduce(function(n,t){return n+"".concat(t,'="').concat(At(a[t]),'" ')},"").trim()}function ba(a){return Object.keys(a||{}).reduce(function(n,t){return n+"".concat(t,": ").concat(a[t].trim(),";")},"")}function Ka(a){return a.size!==L.size||a.x!==L.x||a.y!==L.y||a.rotate!==L.rotate||a.flipX||a.flipY}function bi(a){var n=a.transform,t=a.containerWidth,e=a.iconWidth,r={transform:"translate(".concat(t/2," 256)")},i="translate(".concat(n.x*32,", ").concat(n.y*32,") "),o="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),s="rotate(".concat(n.rotate," 0 0)"),l={transform:"".concat(i," ").concat(o," ").concat(s)},c={transform:"translate(".concat(e/2*-1," -256)")};return{outer:r,inner:l,path:c}}function hi(a){var n=a.transform,t=a.width,e=t===void 0?Ca:t,r=a.height,i=r===void 0?Ca:r,o="";return Wn?o+="translate(".concat(n.x/Y-e/2,"em, ").concat(n.y/Y-i/2,"em) "):o+="translate(calc(-50% + ".concat(n.x/Y,"em), calc(-50% + ").concat(n.y/Y,"em)) "),o+="scale(".concat(n.size/Y*(n.flipX?-1:1),", ").concat(n.size/Y*(n.flipY?-1:1),") "),o+="rotate(".concat(n.rotate,"deg) "),o}var yi=`:root, :host { - --fa-font-solid: normal 900 1em/1 'Font Awesome 7 Free'; - --fa-font-regular: normal 400 1em/1 'Font Awesome 7 Free'; - --fa-font-light: normal 300 1em/1 'Font Awesome 7 Pro'; - --fa-font-thin: normal 100 1em/1 'Font Awesome 7 Pro'; - --fa-font-duotone: normal 900 1em/1 'Font Awesome 7 Duotone'; - --fa-font-duotone-regular: normal 400 1em/1 'Font Awesome 7 Duotone'; - --fa-font-duotone-light: normal 300 1em/1 'Font Awesome 7 Duotone'; - --fa-font-duotone-thin: normal 100 1em/1 'Font Awesome 7 Duotone'; - --fa-font-brands: normal 400 1em/1 'Font Awesome 7 Brands'; - --fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 7 Sharp'; - --fa-font-sharp-regular: normal 400 1em/1 'Font Awesome 7 Sharp'; - --fa-font-sharp-light: normal 300 1em/1 'Font Awesome 7 Sharp'; - --fa-font-sharp-thin: normal 100 1em/1 'Font Awesome 7 Sharp'; - --fa-font-sharp-duotone-solid: normal 900 1em/1 'Font Awesome 7 Sharp Duotone'; - --fa-font-sharp-duotone-regular: normal 400 1em/1 'Font Awesome 7 Sharp Duotone'; - --fa-font-sharp-duotone-light: normal 300 1em/1 'Font Awesome 7 Sharp Duotone'; - --fa-font-sharp-duotone-thin: normal 100 1em/1 'Font Awesome 7 Sharp Duotone'; - --fa-font-slab-regular: normal 400 1em/1 'Font Awesome 7 Slab'; - --fa-font-slab-press-regular: normal 400 1em/1 'Font Awesome 7 Slab Press'; - --fa-font-slab-duo-regular: normal 400 1em/1 'Font Awesome 7 Slab Duo'; - --fa-font-slab-press-duo-regular: normal 400 1em/1 'Font Awesome 7 Slab Press Duo'; - --fa-font-pixel-regular: normal 400 1em/1 'Font Awesome 7 Pixel'; - --fa-font-mosaic-solid: normal 900 1em/1 'Font Awesome 7 Mosaic'; - --fa-font-vellum-solid: normal 900 1em/1 'Font Awesome 7 Vellum'; - --fa-font-whiteboard-semibold: normal 600 1em/1 'Font Awesome 7 Whiteboard'; - --fa-font-thumbprint-light: normal 300 1em/1 'Font Awesome 7 Thumbprint'; - --fa-font-notdog-solid: normal 900 1em/1 'Font Awesome 7 Notdog'; - --fa-font-notdog-duo-solid: normal 900 1em/1 'Font Awesome 7 Notdog Duo'; - --fa-font-etch-solid: normal 900 1em/1 'Font Awesome 7 Etch'; - --fa-font-graphite-thin: normal 100 1em/1 'Font Awesome 7 Graphite'; - --fa-font-jelly-regular: normal 400 1em/1 'Font Awesome 7 Jelly'; - --fa-font-jelly-fill-regular: normal 400 1em/1 'Font Awesome 7 Jelly Fill'; - --fa-font-jelly-duo-regular: normal 400 1em/1 'Font Awesome 7 Jelly Duo'; - --fa-font-chisel-regular: normal 400 1em/1 'Font Awesome 7 Chisel'; - --fa-font-utility-semibold: normal 600 1em/1 'Font Awesome 7 Utility'; - --fa-font-utility-duo-semibold: normal 600 1em/1 'Font Awesome 7 Utility Duo'; - --fa-font-utility-fill-semibold: normal 600 1em/1 'Font Awesome 7 Utility Fill'; -} - -.svg-inline--fa { - box-sizing: content-box; - display: var(--fa-display, inline-block); - height: 1em; - overflow: visible; - vertical-align: -0.125em; - width: var(--fa-width, 1.25em); -} -.svg-inline--fa.fa-2xs { - vertical-align: 0.1em; -} -.svg-inline--fa.fa-xs { - vertical-align: 0em; -} -.svg-inline--fa.fa-sm { - vertical-align: -0.0714285714em; -} -.svg-inline--fa.fa-lg { - vertical-align: -0.2em; -} -.svg-inline--fa.fa-xl { - vertical-align: -0.25em; -} -.svg-inline--fa.fa-2xl { - vertical-align: -0.3125em; -} -.svg-inline--fa.fa-pull-left, -.svg-inline--fa .fa-pull-start { - float: inline-start; - margin-inline-end: var(--fa-pull-margin, 0.3em); -} -.svg-inline--fa.fa-pull-right, -.svg-inline--fa .fa-pull-end { - float: inline-end; - margin-inline-start: var(--fa-pull-margin, 0.3em); -} -.svg-inline--fa.fa-li { - width: var(--fa-li-width, 2em); - inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); - inset-block-start: 0.25em; /* syncing vertical alignment with Web Font rendering */ -} - -.fa-layers-counter, .fa-layers-text { - display: inline-block; - position: absolute; - text-align: center; -} - -.fa-layers { - display: inline-block; - height: 1em; - position: relative; - text-align: center; - vertical-align: -0.125em; - width: var(--fa-width, 1.25em); -} -.fa-layers .svg-inline--fa { - inset: 0; - margin: auto; - position: absolute; - transform-origin: center center; -} - -.fa-layers-text { - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - transform-origin: center center; -} - -.fa-layers-counter { - background-color: var(--fa-counter-background-color, #ff253a); - border-radius: var(--fa-counter-border-radius, 1em); - box-sizing: border-box; - color: var(--fa-inverse, #fff); - line-height: var(--fa-counter-line-height, 1); - max-width: var(--fa-counter-max-width, 5em); - min-width: var(--fa-counter-min-width, 1.5em); - overflow: hidden; - padding: var(--fa-counter-padding, 0.25em 0.5em); - right: var(--fa-right, 0); - text-overflow: ellipsis; - top: var(--fa-top, 0); - transform: scale(var(--fa-counter-scale, 0.25)); - transform-origin: top right; -} - -.fa-layers-bottom-right { - bottom: var(--fa-bottom, 0); - right: var(--fa-right, 0); - top: auto; - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: bottom right; -} - -.fa-layers-bottom-left { - bottom: var(--fa-bottom, 0); - left: var(--fa-left, 0); - right: auto; - top: auto; - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: bottom left; -} - -.fa-layers-top-right { - top: var(--fa-top, 0); - right: var(--fa-right, 0); - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: top right; -} - -.fa-layers-top-left { - left: var(--fa-left, 0); - right: auto; - top: var(--fa-top, 0); - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: top left; -} - -.fa-1x { - font-size: 1em; -} - -.fa-2x { - font-size: 2em; -} - -.fa-3x { - font-size: 3em; -} - -.fa-4x { - font-size: 4em; -} - -.fa-5x { - font-size: 5em; -} - -.fa-6x { - font-size: 6em; -} - -.fa-7x { - font-size: 7em; -} - -.fa-8x { - font-size: 8em; -} - -.fa-9x { - font-size: 9em; -} - -.fa-10x { - font-size: 10em; -} - -.fa-2xs { - font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-xs { - font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-sm { - font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-lg { - font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-xl { - font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-2xl { - font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-width-auto { - --fa-width: auto; -} - -.fa-fw, -.fa-width-fixed { - --fa-width: 1.25em; -} - -.fa-canvas-square { - padding-block: 0.125em; - margin-block-end: -0.125em; -} - -.fa-canvas-roomy { - padding-block: 0.25em; - padding-inline: 0.125em; - margin-block-end: -0.25em; - box-sizing: content-box; -} - -.fa-ul { - list-style-type: none; - margin-inline-start: var(--fa-li-margin, 2.5em); - padding-inline-start: 0; -} -.fa-ul > li { - position: relative; -} - -.fa-li { - inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); - position: absolute; - text-align: center; - width: var(--fa-li-width, 2em); - line-height: inherit; -} - -/* Heads Up: Bordered Icons will not be supported in the future! - - This feature will be deprecated in the next major release of Font Awesome (v8)! - - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8. -*/ -/* Notes: -* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size) -* --@{v.$css-prefix}-border-padding = - ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment) - ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon) -*/ -.fa-border { - border-color: var(--fa-border-color, #eee); - border-radius: var(--fa-border-radius, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.0625em); - box-sizing: var(--fa-border-box-sizing, content-box); - padding: var(--fa-border-padding, 0.1875em 0.25em); -} - -.fa-pull-left, -.fa-pull-start { - float: inline-start; - margin-inline-end: var(--fa-pull-margin, 0.3em); -} - -.fa-pull-right, -.fa-pull-end { - float: inline-end; - margin-inline-start: var(--fa-pull-margin, 0.3em); -} - -.fa-beat { - animation-name: fa-beat; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-bounce { - animation-name: fa-bounce; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); -} - -.fa-fade { - animation-name: fa-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-beat-fade { - animation-name: fa-beat-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-flip { - animation-name: fa-flip; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1.5s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-flip-360 { - animation-name: fa-flip-360; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-shake { - animation-name: fa-shake; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 0.75s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-spin { - animation-name: fa-spin; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 2s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin-reverse { - --fa-animation-direction: reverse; -} - -.fa-pulse, -.fa-spin-pulse { - animation-name: fa-spin; - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, steps(8)); -} - -.fa-spin-snap { - animation-name: fa-spin-snap; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 3s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin-snap-4 { - animation-name: fa-spin-snap-4; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 2.4s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin-snap-8 { - animation-name: fa-spin-snap-8; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 4s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-buzz { - animation-name: fa-buzz; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 0.6s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-wag { - animation-name: fa-wag; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 0.9s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-out); - transform-origin: bottom center; -} - -.fa-float { - animation-name: fa-float; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 3s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); - will-change: transform; -} - -.fa-swing { - animation-name: fa-swing; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1.2s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-out); - transform-origin: top center; -} - -.fa-jello { - animation-name: fa-jello; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 0.9s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-out); -} - -@media (prefers-reduced-motion: reduce) { - .fa-beat, - .fa-bounce, - .fa-fade, - .fa-beat-fade, - .fa-flip, - .fa-flip-360, - .fa-pulse, - .fa-shake, - .fa-spin, - .fa-spin-pulse, - .fa-buzz, - .fa-float, - .fa-jello, - .fa-spin-snap, - .fa-spin-snap-4, - .fa-spin-snap-8, - .fa-swing, - .fa-wag { - animation: none !important; - transition: none !important; - } -} -@keyframes fa-beat { - 0% { - transform: scale(1); - } - 25% { - transform: scale(calc(1.25 * var(--fa-beat-scale, 1.25))); - } - 45% { - transform: scale(calc(1.22 * var(--fa-beat-scale, 1.22))); - } - 65% { - transform: scale(calc(1.25 * var(--fa-beat-scale, 1.25))); - } - 90% { - transform: scale(1); - } -} -@keyframes fa-bounce { - 0% { - transform: scale(1, 1) translateY(0); - animation-timing-function: var(--fa-animation-timing); - } - 14% { - transform: scale(var(--fa-bounce-start-scale-x, 1.06), var(--fa-bounce-start-scale-y, 0.94)) translateY(var(--fa-bounce-anticipation, 3px)); - animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); - } - 32% { - transform: scale(var(--fa-bounce-jump-scale-x, 0.94), var(--fa-bounce-jump-scale-y, 1.12)) translateY(calc(-1 * var(--fa-bounce-height, 0.5em))); - animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); - } - 52% { - transform: scale(1, 1) translateY(calc(-1 * var(--fa-bounce-height, 0.5em) * 1.1)); - animation-timing-function: cubic-bezier(0.5, 0, 1, 0.5); - } - 70% { - transform: scale(var(--fa-bounce-land-scale-x, 1.06), var(--fa-bounce-land-scale-y, 0.92)) translateY(0); - animation-timing-function: cubic-bezier(0.33, 0.33, 0.66, 1); - } - 85% { - transform: scale(0.98, 1.04) translateY(calc(-2px * var(--fa-bounce-rebound, 1))); - animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1); - } - 100% { - transform: scale(1, 1) translateY(0); - } -} -@keyframes fa-fade { - 0% { - opacity: 1; - transform: scale(1); - animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1); - } - 40% { - opacity: var(--fa-fade-opacity, 0.4); - transform: scale(0.98); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 100% { - opacity: 1; - transform: scale(1); - } -} -@keyframes fa-beat-fade { - 0% { - opacity: var(--fa-beat-fade-opacity, 0.4); - transform: scale(1); - animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1); - } - 25% { - opacity: calc(var(--fa-beat-fade-opacity, 0.4) + 0.4); - transform: scale(var(--fa-beat-fade-scale, 1.28)); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 45% { - opacity: 1; - transform: scale(var(--fa-beat-fade-scale, 1.25)); - animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - } - 65% { - opacity: calc(var(--fa-beat-fade-opacity, 0.4) + 0.4); - transform: scale(var(--fa-beat-fade-scale, 1.28)); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - transform: scale(1); - } -} -@keyframes fa-flip { - 0% { - transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg); - animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1); - } - 8% { - transform: perspective(2em) scale(var(--fa-flip-anticipation-scale, 0.95)) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg); - animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); - } - 35% { - transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * 0.6)); - animation-timing-function: linear; - } - 65% { - transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * 0.5)); - animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); - } - 92% { - transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04))); - animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1); - } - 100% { - transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -360deg)); - } -} -@keyframes fa-flip-360 { - 0% { - transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg); - animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1); - } - 8% { - transform: perspective(2em) scale(var(--fa-flip-anticipation-scale, 0.95)) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg); - animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); - } - 50% { - transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * 0.6)); - animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); - } - 80% { - transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04))); - animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1); - } - 100% { - transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -360deg)); - } -} -@keyframes fa-shake { - 0% { - transform: rotate(0deg); - animation-timing-function: cubic-bezier(0.2, 0, 0.8, 1); - } - 8% { - transform: rotate(35deg) translateX(1px); - animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); - } - 20% { - transform: rotate(-22deg) translateX(-1px); - animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); - } - 35% { - transform: rotate(15deg) translateX(1px); - animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); - } - 50% { - transform: rotate(-9deg); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 65% { - transform: rotate(5deg); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 78% { - transform: rotate(-3deg); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 90% { - transform: rotate(1deg); - animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - } - 100% { - transform: rotate(0deg); - } -} -@keyframes fa-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -@keyframes fa-spin-snap { - 0% { - transform: rotate(0deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 12% { - transform: rotate(60deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 16.67% { - transform: rotate(60deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 28.67% { - transform: rotate(120deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 33.33% { - transform: rotate(120deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 45.33% { - transform: rotate(180deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 50% { - transform: rotate(180deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 62% { - transform: rotate(240deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 66.67% { - transform: rotate(240deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 78.67% { - transform: rotate(300deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 83.33% { - transform: rotate(300deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 95.33% { - transform: rotate(360deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 100% { - transform: rotate(360deg); - } -} -@keyframes fa-spin-snap-4 { - 0% { - transform: rotate(0deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 15% { - transform: rotate(90deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 25% { - transform: rotate(90deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 40% { - transform: rotate(180deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 50% { - transform: rotate(180deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 65% { - transform: rotate(270deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 75% { - transform: rotate(270deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 90% { - transform: rotate(360deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 100% { - transform: rotate(360deg); - } -} -@keyframes fa-spin-snap-8 { - 0% { - transform: rotate(0deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 9% { - transform: rotate(45deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 12.5% { - transform: rotate(45deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 21.5% { - transform: rotate(90deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 25% { - transform: rotate(90deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 34% { - transform: rotate(135deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 37.5% { - transform: rotate(135deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 46.5% { - transform: rotate(180deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 50% { - transform: rotate(180deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 59% { - transform: rotate(225deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 62.5% { - transform: rotate(225deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 71.5% { - transform: rotate(270deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 75% { - transform: rotate(270deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 84% { - transform: rotate(315deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 87.5% { - transform: rotate(315deg); - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - 96.5% { - transform: rotate(360deg); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 100% { - transform: rotate(360deg); - } -} -@keyframes fa-buzz { - 0% { - transform: translateX(0) rotate(0deg); - animation-timing-function: cubic-bezier(0.1, 0, 0.9, 1); - } - 5% { - transform: translateX(var(--fa-buzz-distance, 4px)) rotate(0.5deg); - } - 10% { - transform: translateX(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-0.5deg); - } - 15% { - transform: translateX(var(--fa-buzz-distance, 4px)) rotate(0.3deg); - } - 20% { - transform: translateX(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-0.3deg); - } - 25% { - transform: translateX(calc(var(--fa-buzz-distance, 4px) * 0.7)) rotate(0.2deg); - } - 30% { - transform: translateX(calc(-1 * var(--fa-buzz-distance, 4px) * 0.7)) rotate(-0.2deg); - } - 35% { - transform: translateX(calc(var(--fa-buzz-distance, 4px) * 0.4)) rotate(0.1deg); - } - 40% { - transform: translateX(0) rotate(0deg); - } - 100% { - transform: translateX(0) rotate(0deg); - } -} -@keyframes fa-wag { - 0% { - transform: rotate(0deg); - animation-timing-function: cubic-bezier(0.2, 0, 0.6, 1); - } - 12% { - transform: rotate(var(--fa-wag-angle, 12deg)); - animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - } - 24% { - transform: rotate(2deg); - animation-timing-function: cubic-bezier(0.2, 0, 0.6, 1); - } - 36% { - transform: rotate(calc(var(--fa-wag-angle, 12deg) * 0.85)); - animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - } - 48% { - transform: rotate(1deg); - animation-timing-function: cubic-bezier(0.2, 0, 0.6, 1); - } - 58% { - transform: rotate(calc(var(--fa-wag-angle, 12deg) * 0.6)); - animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - } - 68% { - transform: rotate(0deg); - } - 100% { - transform: rotate(0deg); - } -} -@keyframes fa-float { - 0% { - transform: translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x, 1.02), var(--fa-float-squash-y, 0.98)); - animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); - } - 15% { - transform: translateY(calc(-0.4 * var(--fa-float-height, 6px))) translateX(var(--fa-float-drift, 1px)) rotate(var(--fa-float-tilt, 1deg)) scale(1, 1); - animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); - } - 35% { - transform: translateY(calc(-1 * var(--fa-float-height, 6px))) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x, 0.98), var(--fa-float-stretch-y, 1.03)); - animation-timing-function: cubic-bezier(0.5, 0, 0.5, 0); - } - 50% { - transform: translateY(calc(-0.92 * var(--fa-float-height, 6px))) translateX(calc(-0.5 * var(--fa-float-drift, 1px))) rotate(calc(-0.5 * var(--fa-float-tilt, 1deg))) scale(0.995, 1.01); - animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); - } - 70% { - transform: translateY(calc(-0.3 * var(--fa-float-height, 6px))) translateX(calc(-1 * var(--fa-float-drift, 1px))) rotate(calc(-1 * var(--fa-float-tilt, 1deg))) scale(1, 1); - animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); - } - 90% { - transform: translateY(calc(0.05 * var(--fa-float-height, 6px))) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x, 1.02), var(--fa-float-squash-y, 0.98)); - animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1); - } - 100% { - transform: translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x, 1.02), var(--fa-float-squash-y, 0.98)); - } -} -@keyframes fa-swing { - 0% { - transform: rotate(0deg); - animation-timing-function: cubic-bezier(0.2, 0, 0.8, 1); - } - 8% { - transform: rotate(var(--fa-swing-angle, 22deg)); - animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); - } - 18% { - transform: rotate(calc(-1 * var(--fa-swing-angle, 22deg) * 0.85)); - animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); - } - 28% { - transform: rotate(calc(var(--fa-swing-angle, 22deg) * 0.65)); - animation-timing-function: cubic-bezier(0.35, 0, 0.65, 1); - } - 38% { - transform: rotate(calc(-1 * var(--fa-swing-angle, 22deg) * 0.45)); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 48% { - transform: rotate(calc(var(--fa-swing-angle, 22deg) * 0.25)); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 56% { - transform: rotate(calc(-1 * var(--fa-swing-angle, 22deg) * 0.1)); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 64% { - transform: rotate(0deg); - } - 100% { - transform: rotate(0deg); - } -} -@keyframes fa-jello { - 0% { - transform: scale(1, 1); - animation-timing-function: cubic-bezier(0.2, 0, 0.8, 1); - } - 12% { - transform: scale(var(--fa-jello-scale-x, 1.15), calc(2 - var(--fa-jello-scale-x, 1.15))); - animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); - } - 24% { - transform: scale(calc(2 - var(--fa-jello-scale-y, 1.12)), var(--fa-jello-scale-y, 1.12)); - animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); - } - 36% { - transform: scale(calc(1 + (var(--fa-jello-scale-x, 1.15) - 1) * 0.5), calc(2 - (1 + (var(--fa-jello-scale-x, 1.15) - 1) * 0.5))); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 48% { - transform: scale(calc(2 - (1 + (var(--fa-jello-scale-y, 1.12) - 1) * 0.3)), calc(1 + (var(--fa-jello-scale-y, 1.12) - 1) * 0.3)); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - } - 58% { - transform: scale(1.02, 0.98); - animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - } - 68% { - transform: scale(1, 1); - } - 100% { - transform: scale(1, 1); - } -} -.fa-rotate-90 { - transform: rotate(90deg); -} - -.fa-rotate-180 { - transform: rotate(180deg); -} - -.fa-rotate-270 { - transform: rotate(270deg); -} - -.fa-flip-horizontal { - transform: scale(-1, 1); -} - -.fa-flip-vertical { - transform: scale(1, -1); -} - -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - transform: scale(-1, -1); -} - -.fa-rotate-by { - transform: rotate(var(--fa-rotate-angle, 0)); -} - -.svg-inline--fa .fa-primary { - fill: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa .fa-secondary { - fill: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-primary { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-secondary { - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa mask .fa-primary, -.svg-inline--fa mask .fa-secondary { - fill: black; -} - -.svg-inline--fa.fa-inverse { - fill: var(--fa-inverse, #fff); -} - -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; -} - -.fa-inverse { - color: var(--fa-inverse, #fff); -} - -.svg-inline--fa.fa-stack-1x { - --fa-width: 1.25em; - height: 1em; - width: var(--fa-width); -} -.svg-inline--fa.fa-stack-2x { - --fa-width: 2.5em; - height: 2em; - width: var(--fa-width); -} - -.fa-stack-1x, -.fa-stack-2x { - inset: 0; - margin: auto; - position: absolute; - z-index: var(--fa-stack-z-index, auto); -}`;function kt(){var a=pt,n=bt,t=d.cssPrefix,e=d.replacementClass,r=yi;if(t!==a||e!==n){var i=new RegExp("\\.".concat(a,"\\-"),"g"),o=new RegExp("\\--".concat(a,"\\-"),"g"),s=new RegExp("\\.".concat(n),"g");r=r.replace(i,".".concat(t,"-")).replace(o,"--".concat(t,"-")).replace(s,".".concat(e))}return r}var gn=!1;function ka(){d.autoAddCss&&!gn&&(gi(kt()),gn=!0)}var xi={mixout:function(){return{dom:{css:kt,insertCss:ka}}},hooks:function(){return{beforeDOMElementCreation:function(){ka()},beforeI2svg:function(){ka()}}}},j=_||{};j[O]||(j[O]={});j[O].styles||(j[O].styles={});j[O].hooks||(j[O].hooks={});j[O].shims||(j[O].shims=[]);var F=j[O],zt=[],It=function(){x.removeEventListener("DOMContentLoaded",It),ga=1,zt.map(function(n){return n()})},ga=!1;M&&(ga=(x.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(x.readyState),ga||x.addEventListener("DOMContentLoaded",It));function Si(a){M&&(ga?setTimeout(a,0):zt.push(a))}function ia(a){var n=a.tag,t=a.attributes,e=t===void 0?{}:t,r=a.children,i=r===void 0?[]:r;return typeof a=="string"?At(a):"<".concat(n," ").concat(pi(e),">").concat(i.map(ia).join(""),"")}function vn(a,n,t){if(a&&a[n]&&a[n][t])return{prefix:n,iconName:t,icon:a[n][t]}}var za=function(n,t,e,r){var i=Object.keys(n),o=i.length,s=t,l,c,m;for(e===void 0?(l=1,m=n[i[0]]):(l=0,m=e);l2&&arguments[2]!==void 0?arguments[2]:{},e=t.skipHooks,r=e===void 0?!1:e,i=pn(n);typeof F.hooks.addPack=="function"&&!r?F.hooks.addPack(a,pn(n)):F.styles[a]=f(f({},F.styles[a]||{}),i),a==="fas"&&Ma("fa",n)}var ta=F.styles,wi=F.shims,Et=Object.keys(Ba),Ai=Et.reduce(function(a,n){return a[n]=Object.keys(Ba[n]),a},{}),Ja=null,Ft={},Ct={},Lt={},Nt={},Ot={};function ki(a){return~fi.indexOf(a)}function zi(a,n){var t=n.split("-"),e=t[0],r=t.slice(1).join("-");return e===a&&r!==""&&!ki(r)?r:null}var jt=function(){var n=function(i){return za(ta,function(o,s,l){return o[l]=za(s,i,{}),o},{})};Ft=n(function(r,i,o){if(i[3]&&(r[i[3]]=o),i[2]){var s=i[2].filter(function(l){return typeof l=="number"});s.forEach(function(l){r[l.toString(16)]=o})}return r}),Ct=n(function(r,i,o){if(r[o]=o,i[2]){var s=i[2].filter(function(l){return typeof l=="string"});s.forEach(function(l){r[l]=o})}return r}),Ot=n(function(r,i,o){var s=i[2];return r[o]=o,s.forEach(function(l){r[l]=o}),r});var t="far"in ta||d.autoFetchSvg,e=za(wi,function(r,i){var o=i[0],s=i[1],l=i[2];return s==="far"&&!t&&(s="fas"),typeof o=="string"&&(r.names[o]={prefix:s,iconName:l}),typeof o=="number"&&(r.unicodes[o.toString(16)]={prefix:s,iconName:l}),r},{names:{},unicodes:{}});Lt=e.names,Nt=e.unicodes,Ja=ha(d.styleDefault,{family:d.familyDefault})};di(function(a){Ja=ha(a.styleDefault,{family:d.familyDefault})});jt();function Qa(a,n){return(Ft[a]||{})[n]}function Ii(a,n){return(Ct[a]||{})[n]}function R(a,n){return(Ot[a]||{})[n]}function Mt(a){return Lt[a]||{prefix:null,iconName:null}}function Pi(a){var n=Nt[a],t=Qa("fas",a);return n||(t?{prefix:"fas",iconName:t}:null)||{prefix:null,iconName:null}}function $(){return Ja}var Tt=function(){return{prefix:null,iconName:null,rest:[]}};function Ei(a){var n=I,t=Et.reduce(function(e,r){return e[r]="".concat(d.cssPrefix,"-").concat(r),e},{});return mt.forEach(function(e){(a.includes(t[e])||a.some(function(r){return Ai[e].includes(r)}))&&(n=e)}),n}function ha(a){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=n.family,e=t===void 0?I:t,r=ri[e][a];if(e===ea&&!a)return"fad";var i=mn[e][a]||mn[e][r],o=a in F.styles?a:null,s=i||o||null;return s}function Fi(a){var n=[],t=null;return a.forEach(function(e){var r=zi(d.cssPrefix,e);r?t=r:e&&n.push(e)}),{iconName:t,rest:n}}function bn(a){return a.sort().filter(function(n,t,e){return e.indexOf(n)===t})}var hn=gt.concat(dt);function ya(a){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=n.skipLookups,e=t===void 0?!1:t,r=null,i=bn(a.filter(function(p){return hn.includes(p)})),o=bn(a.filter(function(p){return!hn.includes(p)})),s=i.filter(function(p){return r=p,!Yn.includes(p)}),l=pa(s,1),c=l[0],m=c===void 0?null:c,u=Ei(i),v=f(f({},Fi(o)),{},{prefix:ha(m,{family:u})});return f(f(f({},v),Oi({values:a,family:u,styles:ta,config:d,canonical:v,givenPrefix:r})),Ci(e,r,v))}function Ci(a,n,t){var e=t.prefix,r=t.iconName;if(a||!e||!r)return{prefix:e,iconName:r};var i=n==="fa"?Mt(r):{},o=R(e,r);return r=i.iconName||o||r,e=i.prefix||e,e==="far"&&!ta.far&&ta.fas&&!d.autoFetchSvg&&(e="fas"),{prefix:e,iconName:r}}var Li=mt.filter(function(a){return a!==I||a!==ea}),Ni=Object.keys(Fa).filter(function(a){return a!==I}).map(function(a){return Object.keys(Fa[a])}).flat();function Oi(a){var n=a.values,t=a.family,e=a.canonical,r=a.givenPrefix,i=r===void 0?"":r,o=a.styles,s=o===void 0?{}:o,l=a.config,c=l===void 0?{}:l,m=t===ea,u=n.includes("fa-duotone")||n.includes("fad"),v=c.familyDefault==="duotone",p=e.prefix==="fad"||e.prefix==="fa-duotone";if(!m&&(u||v||p)&&(e.prefix="fad"),(n.includes("fa-brands")||n.includes("fab"))&&(e.prefix="fab"),!e.prefix&&Li.includes(t)){var y=Object.keys(s).find(function(S){return Ni.includes(S)});if(y||c.autoFetchSvg){var h=$e.get(t).defaultShortPrefixId;e.prefix=h,e.iconName=R(e.prefix,e.iconName)||e.iconName}}return(e.prefix==="fa"||i==="fa")&&(e.prefix=$()||"fas"),e}var ji=function(){function a(){ae(this,a),this.definitions={}}return te(a,[{key:"add",value:function(){for(var t=this,e=arguments.length,r=new Array(e),i=0;i0&&m.forEach(function(u){typeof u=="string"&&(t[s][u]=c)}),t[s][l]=c}),t}}])}(),yn=[],G={},H={},Mi=Object.keys(H);function Ti(a,n){var t=n.mixoutsTo;return yn=a,G={},Object.keys(H).forEach(function(e){Mi.indexOf(e)===-1&&delete H[e]}),yn.forEach(function(e){var r=e.mixout?e.mixout():{};if(Object.keys(r).forEach(function(o){typeof r[o]=="function"&&(t[o]=r[o]),da(r[o])==="object"&&Object.keys(r[o]).forEach(function(s){t[o]||(t[o]={}),t[o][s]=r[o][s]})}),e.hooks){var i=e.hooks();Object.keys(i).forEach(function(o){G[o]||(G[o]=[]),G[o].push(i[o])})}e.provides&&e.provides(H)}),t}function Ta(a,n){for(var t=arguments.length,e=new Array(t>2?t-2:0),r=2;r1?n-1:0),e=1;e0&&arguments[0]!==void 0?arguments[0]:{};return M?(U("beforeI2svg",n),D("pseudoElements2svg",n),D("i2svg",n)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=n.autoReplaceSvgRoot;d.autoReplaceSvg===!1&&(d.autoReplaceSvg=!0),d.observeMutations=!0,Si(function(){Ri({autoReplaceSvgRoot:t}),U("watch",n)})}},Di={icon:function(n){if(n===null)return null;if(da(n)==="object"&&n.prefix&&n.iconName)return{prefix:n.prefix,iconName:R(n.prefix,n.iconName)||n.iconName};if(Array.isArray(n)&&n.length===2){var t=n[1].indexOf("fa-")===0?n[1].slice(3):n[1],e=ha(n[0]);return{prefix:e,iconName:R(e,t)||t}}if(typeof n=="string"&&(n.indexOf("".concat(d.cssPrefix,"-"))>-1||n.match(ii))){var r=ya(n.split(" "),{skipLookups:!0});return{prefix:r.prefix||$(),iconName:R(r.prefix,r.iconName)||r.iconName}}if(typeof n=="string"){var i=$();return{prefix:i,iconName:R(i,n)||n}}}},P={noAuto:_i,config:d,dom:$i,parse:Di,library:_t,findIconDefinition:_a,toHtml:ia},Ri=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=n.autoReplaceSvgRoot,e=t===void 0?x:t;(Object.keys(F.styles).length>0||d.autoFetchSvg)&&M&&d.autoReplaceSvg&&P.dom.i2svg({node:e})};function xa(a,n){return Object.defineProperty(a,"abstract",{get:n}),Object.defineProperty(a,"html",{get:function(){return a.abstract.map(function(e){return ia(e)})}}),Object.defineProperty(a,"node",{get:function(){if(M){var e=x.createElement("div");return e.innerHTML=a.html,e.children}}}),a}function Wi(a){var n=a.children,t=a.main,e=a.mask,r=a.attributes,i=a.styles,o=a.transform;if(Ka(o)&&t.found&&!e.found){var s=t.width,l=t.height,c={x:s/l/2,y:.5};r.style=ba(f(f({},i),{},{"transform-origin":"".concat(c.x+o.x/16,"em ").concat(c.y+o.y/16,"em")}))}return[{tag:"svg",attributes:r,children:n}]}function Ui(a){var n=a.prefix,t=a.iconName,e=a.children,r=a.attributes,i=a.symbol,o=i===!0?"".concat(n,"-").concat(d.cssPrefix,"-").concat(t):i;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:f(f({},r),{},{id:o}),children:e}]}]}function Yi(a){var n=["aria-label","aria-labelledby","title","role"];return n.some(function(t){return t in a})}function Za(a){var n=a.icons,t=n.main,e=n.mask,r=a.prefix,i=a.iconName,o=a.transform,s=a.symbol,l=a.maskId,c=a.extra,m=a.watchable,u=m===void 0?!1:m,v=e.found?e:t,p=v.width,y=v.height,h=[d.replacementClass,i?"".concat(d.cssPrefix,"-").concat(i):""].filter(function(E){return c.classes.indexOf(E)===-1}).filter(function(E){return E!==""||!!E}).concat(c.classes).join(" "),S={children:[],attributes:f(f({},c.attributes),{},{"data-prefix":r,"data-icon":i,class:h,role:c.attributes.role||"img",viewBox:"0 0 ".concat(p," ").concat(y)})};!Yi(c.attributes)&&!c.attributes["aria-hidden"]&&(S.attributes["aria-hidden"]="true"),u&&(S.attributes[W]="");var w=f(f({},S),{},{prefix:r,iconName:i,main:t,mask:e,maskId:l,transform:o,symbol:s,styles:f({},c.styles)}),A=e.found&&t.found?D("generateAbstractMask",w)||{children:[],attributes:{}}:D("generateAbstractIcon",w)||{children:[],attributes:{}},z=A.children,T=A.attributes;return w.children=z,w.attributes=T,s?Ui(w):Wi(w)}function xn(a){var n=a.content,t=a.width,e=a.height,r=a.transform,i=a.extra,o=a.watchable,s=o===void 0?!1:o,l=f(f({},i.attributes),{},{class:i.classes.join(" ")});s&&(l[W]="");var c=f({},i.styles);Ka(r)&&(c.transform=hi({transform:r,width:t,height:e}),c["-webkit-transform"]=c.transform);var m=ba(c);m.length>0&&(l.style=m);var u=[];return u.push({tag:"span",attributes:l,children:[n]}),u}function Xi(a){var n=a.content,t=a.extra,e=f(f({},t.attributes),{},{class:t.classes.join(" ")}),r=ba(t.styles);r.length>0&&(e.style=r);var i=[];return i.push({tag:"span",attributes:e,children:[n]}),i}var Ia=F.styles;function $a(a){var n=a[0],t=a[1],e=a.slice(4),r=pa(e,1),i=r[0],o=null;return Array.isArray(i)?o={tag:"g",attributes:{class:"".concat(d.cssPrefix,"-").concat(Aa.GROUP)},children:[{tag:"path",attributes:{class:"".concat(d.cssPrefix,"-").concat(Aa.SECONDARY),fill:"currentColor",d:i[0]}},{tag:"path",attributes:{class:"".concat(d.cssPrefix,"-").concat(Aa.PRIMARY),fill:"currentColor",d:i[1]}}]}:o={tag:"path",attributes:{fill:"currentColor",d:i}},{found:!0,width:n,height:t,icon:o}}var Gi={found:!1,width:512,height:512};function Hi(a,n){!yt&&!d.showMissingIcons&&a&&console.error('Icon with name "'.concat(a,'" and prefix "').concat(n,'" is missing.'))}function Da(a,n){var t=n;return n==="fa"&&d.styleDefault!==null&&(n=$()),new Promise(function(e,r){if(t==="fa"){var i=Mt(a)||{};a=i.iconName||a,n=i.prefix||n}if(a&&n&&Ia[n]&&Ia[n][a]){var o=Ia[n][a];return e($a(o))}Hi(a,n),e(f(f({},Gi),{},{icon:d.showMissingIcons&&a?D("missingIconAbstract")||{}:{}}))})}var Sn=function(){},Ra=d.measurePerformance&&oa&&oa.mark&&oa.measure?oa:{mark:Sn,measure:Sn},Q='FA "7.3.0"',Vi=function(n){return Ra.mark("".concat(Q," ").concat(n," begins")),function(){return $t(n)}},$t=function(n){Ra.mark("".concat(Q," ").concat(n," ends")),Ra.measure("".concat(Q," ").concat(n),"".concat(Q," ").concat(n," begins"),"".concat(Q," ").concat(n," ends"))},an={begin:Vi,end:$t},ua=function(){};function wn(a){var n=a.getAttribute?a.getAttribute(W):null;return typeof n=="string"}function Bi(a){var n=a.getAttribute?a.getAttribute(Ha):null,t=a.getAttribute?a.getAttribute(Va):null;return n&&t}function qi(a){return a&&a.classList&&a.classList.contains&&a.classList.contains(d.replacementClass)}function Ki(){if(d.autoReplaceSvg===!0)return ma.replace;var a=ma[d.autoReplaceSvg];return a||ma.replace}function Ji(a){return x.createElementNS("http://www.w3.org/2000/svg",a)}function Qi(a){return x.createElement(a)}function Dt(a){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=n.ceFn,e=t===void 0?a.tag==="svg"?Ji:Qi:t;if(typeof a=="string")return x.createTextNode(a);var r=e(a.tag);Object.keys(a.attributes||[]).forEach(function(o){r.setAttribute(o,a.attributes[o])});var i=a.children||[];return i.forEach(function(o){r.appendChild(Dt(o,{ceFn:e}))}),r}function Zi(a){var n=" ".concat(a.outerHTML," ");return n="".concat(n,"Font Awesome fontawesome.com "),n}var ma={replace:function(n){var t=n[0];if(t.parentNode)if(n[1].forEach(function(r){t.parentNode.insertBefore(Dt(r),t)}),t.getAttribute(W)===null&&d.keepOriginalSource){var e=x.createComment(Zi(t));t.parentNode.replaceChild(e,t)}else t.remove()},nest:function(n){var t=n[0],e=n[1];if(~qa(t).indexOf(d.replacementClass))return ma.replace(n);var r=new RegExp("".concat(d.cssPrefix,"-.*"));if(delete e[0].attributes.id,e[0].attributes.class){var i=e[0].attributes.class.split(" ").reduce(function(s,l){return l===d.replacementClass||l.match(r)?s.toSvg.push(l):s.toNode.push(l),s},{toNode:[],toSvg:[]});e[0].attributes.class=i.toSvg.join(" "),i.toNode.length===0?t.removeAttribute("class"):t.setAttribute("class",i.toNode.join(" "))}var o=e.map(function(s){return ia(s)}).join(` -`);t.setAttribute(W,""),t.innerHTML=o}};function An(a){a()}function Rt(a,n){var t=typeof n=="function"?n:ua;if(a.length===0)t();else{var e=An;d.mutateApproach===ti&&(e=_.requestAnimationFrame||An),e(function(){var r=Ki(),i=an.begin("mutate");a.map(r),i(),t()})}}var nn=!1;function Wt(){nn=!0}function Wa(){nn=!1}var va=null;function kn(a){if(ln&&d.observeMutations){var n=a.treeCallback,t=n===void 0?ua:n,e=a.nodeCallback,r=e===void 0?ua:e,i=a.pseudoElementsCallback,o=i===void 0?ua:i,s=a.observeMutationsRoot,l=s===void 0?x:s;va=new ln(function(c){if(!nn){var m=$();q(c).forEach(function(u){if(u.type==="childList"&&u.addedNodes.length>0&&!wn(u.addedNodes[0])&&(d.searchPseudoElements&&o(u.target),t(u.target)),u.type==="attributes"&&u.target.parentNode&&d.searchPseudoElements&&o([u.target],!0),u.type==="attributes"&&wn(u.target)&&~li.indexOf(u.attributeName))if(u.attributeName==="class"&&Bi(u.target)){var v=ya(qa(u.target)),p=v.prefix,y=v.iconName;u.target.setAttribute(Ha,p||m),y&&u.target.setAttribute(Va,y)}else qi(u.target)&&r(u.target)})}}),M&&va.observe(l,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function ao(){va&&va.disconnect()}function no(a){var n=a.getAttribute("style"),t=[];return n&&(t=n.split(";").reduce(function(e,r){var i=r.split(":"),o=i[0],s=i.slice(1);return o&&s.length>0&&(e[o]=s.join(":").trim()),e},{})),t}function to(a){var n=a.getAttribute("data-prefix"),t=a.getAttribute("data-icon"),e=a.innerText!==void 0?a.innerText.trim():"",r=ya(qa(a));return r.prefix||(r.prefix=$()),n&&t&&(r.prefix=n,r.iconName=t),r.iconName&&r.prefix||(r.prefix&&e.length>0&&(r.iconName=Ii(r.prefix,a.innerText)||Qa(r.prefix,Pt(a.innerText))),!r.iconName&&d.autoFetchSvg&&a.firstChild&&a.firstChild.nodeType===Node.TEXT_NODE&&(r.iconName=a.firstChild.data)),r}function eo(a){var n=q(a.attributes).reduce(function(t,e){return t.name!=="class"&&t.name!=="style"&&(t[e.name]=e.value),t},{});return n}function ro(){return{iconName:null,prefix:null,transform:L,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function zn(a){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},t=to(a),e=t.iconName,r=t.prefix,i=t.rest,o=eo(a),s=Ta("parseNodeAttributes",{},a),l=n.styleParser?no(a):[];return f({iconName:e,prefix:r,transform:L,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:i,styles:l,attributes:o}},s)}var io=F.styles;function Ut(a){var n=d.autoReplaceSvg==="nest"?zn(a,{styleParser:!1}):zn(a);return~n.extra.classes.indexOf(St)?D("generateLayersText",a,n):D("generateSvgReplacementMutation",a,n)}function oo(){return[].concat(C(dt),C(gt))}function In(a){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!M)return Promise.resolve();var t=x.documentElement.classList,e=function(u){return t.add("".concat(un,"-").concat(u))},r=function(u){return t.remove("".concat(un,"-").concat(u))},i=d.autoFetchSvg?oo():Yn.concat(Object.keys(io));i.includes("fa")||i.push("fa");var o=[".".concat(St,":not([").concat(W,"])")].concat(i.map(function(m){return".".concat(m,":not([").concat(W,"])")})).join(", ");if(o.length===0)return Promise.resolve();var s=[];try{s=q(a.querySelectorAll(o))}catch{}if(s.length>0)e("pending"),r("complete");else return Promise.resolve();var l=an.begin("onTree"),c=s.reduce(function(m,u){try{var v=Ut(u);v&&m.push(v)}catch(p){yt||p.name==="MissingIcon"&&console.error(p)}return m},[]);return new Promise(function(m,u){Promise.all(c).then(function(v){Rt(v,function(){e("active"),e("complete"),r("pending"),typeof n=="function"&&n(),l(),m()})}).catch(function(v){l(),u(v)})})}function so(a){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;Ut(a).then(function(t){t&&Rt([t],n)})}function lo(a){return function(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},e=(n||{}).icon?n:_a(n||{}),r=t.mask;return r&&(r=(r||{}).icon?r:_a(r||{})),a(e,f(f({},t),{},{mask:r}))}}var fo=function(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},e=t.transform,r=e===void 0?L:e,i=t.symbol,o=i===void 0?!1:i,s=t.mask,l=s===void 0?null:s,c=t.maskId,m=c===void 0?null:c,u=t.classes,v=u===void 0?[]:u,p=t.attributes,y=p===void 0?{}:p,h=t.styles,S=h===void 0?{}:h;if(n){var w=n.prefix,A=n.iconName,z=n.icon;return xa(f({type:"icon"},n),function(){return U("beforeDOMElementCreation",{iconDefinition:n,params:t}),Za({icons:{main:$a(z),mask:l?$a(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:w,iconName:A,transform:f(f({},L),r),symbol:o,maskId:m,extra:{attributes:y,styles:S,classes:v}})})}},co={mixout:function(){return{icon:lo(fo)}},hooks:function(){return{mutationObserverCallbacks:function(t){return t.treeCallback=In,t.nodeCallback=so,t}}},provides:function(n){n.i2svg=function(t){var e=t.node,r=e===void 0?x:e,i=t.callback,o=i===void 0?function(){}:i;return In(r,o)},n.generateSvgReplacementMutation=function(t,e){var r=e.iconName,i=e.prefix,o=e.transform,s=e.symbol,l=e.mask,c=e.maskId,m=e.extra;return new Promise(function(u,v){Promise.all([Da(r,i),l.iconName?Da(l.iconName,l.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(p){var y=pa(p,2),h=y[0],S=y[1];u([t,Za({icons:{main:h,mask:S},prefix:i,iconName:r,transform:o,symbol:s,maskId:c,extra:m,watchable:!0})])}).catch(v)})},n.generateAbstractIcon=function(t){var e=t.children,r=t.attributes,i=t.main,o=t.transform,s=t.styles,l=ba(s);l.length>0&&(r.style=l);var c;return Ka(o)&&(c=D("generateAbstractTransformGrouping",{main:i,transform:o,containerWidth:i.width,iconWidth:i.width})),e.push(c||i.icon),{children:e,attributes:r}}}},uo={mixout:function(){return{layer:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=e.classes,i=r===void 0?[]:r;return xa({type:"layer"},function(){U("beforeDOMElementCreation",{assembler:t,params:e});var o=[];return t(function(s){Array.isArray(s)?s.map(function(l){o=o.concat(l.abstract)}):o=o.concat(s.abstract)}),[{tag:"span",attributes:{class:["".concat(d.cssPrefix,"-layers")].concat(C(i)).join(" ")},children:o}]})}}}},mo={mixout:function(){return{counter:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};e.title;var r=e.classes,i=r===void 0?[]:r,o=e.attributes,s=o===void 0?{}:o,l=e.styles,c=l===void 0?{}:l;return xa({type:"counter",content:t},function(){return U("beforeDOMElementCreation",{content:t,params:e}),Xi({content:t.toString(),extra:{attributes:s,styles:c,classes:["".concat(d.cssPrefix,"-layers-counter")].concat(C(i))}})})}}}},go={mixout:function(){return{text:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=e.transform,i=r===void 0?L:r,o=e.classes,s=o===void 0?[]:o,l=e.attributes,c=l===void 0?{}:l,m=e.styles,u=m===void 0?{}:m;return xa({type:"text",content:t},function(){return U("beforeDOMElementCreation",{content:t,params:e}),xn({content:t,transform:f(f({},L),i),extra:{attributes:c,styles:u,classes:["".concat(d.cssPrefix,"-layers-text")].concat(C(s))}})})}}},provides:function(n){n.generateLayersText=function(t,e){var r=e.transform,i=e.extra,o=null,s=null;if(Wn){var l=parseInt(getComputedStyle(t).fontSize,10),c=t.getBoundingClientRect();o=c.width/l,s=c.height/l}return Promise.resolve([t,xn({content:t.innerHTML,width:o,height:s,transform:r,extra:i,watchable:!0})])}}},Yt=new RegExp('"',"ug"),Pn=[1105920,1112319],En=f(f(f(f({},{FontAwesome:{normal:"fas",400:"fas"}}),_e),ai),He),Ua=Object.keys(En).reduce(function(a,n){return a[n.toLowerCase()]=En[n],a},{}),vo=Object.keys(Ua).reduce(function(a,n){var t=Ua[n];return a[n]=t[900]||C(Object.entries(t))[0][1],a},{});function po(a){var n=a.replace(Yt,"");return Pt(C(n)[0]||"")}function bo(a){var n=a.getPropertyValue("font-feature-settings").includes("ss01"),t=a.getPropertyValue("content"),e=t.replace(Yt,""),r=e.codePointAt(0),i=r>=Pn[0]&&r<=Pn[1],o=e.length===2?e[0]===e[1]:!1;return i||o||n}function ho(a,n){var t=a.replace(/^['"]|['"]$/g,"").toLowerCase(),e=parseInt(n),r=isNaN(e)?"normal":e;return(Ua[t]||{})[r]||vo[t]}function Fn(a,n){var t="".concat(ni).concat(n.replace(":","-"));return new Promise(function(e,r){if(a.getAttribute(t)!==null)return e();var i=q(a.children),o=i.filter(function(K){return K.getAttribute(La)===n})[0],s=_.getComputedStyle(a,n),l=s.getPropertyValue("font-family"),c=l.match(oi),m=s.getPropertyValue("font-weight"),u=s.getPropertyValue("content");if(o&&!c)return a.removeChild(o),e();if(c&&u!=="none"&&u!==""){var v=s.getPropertyValue("content"),p=ho(l,m),y=po(v),h=c[0].startsWith("FontAwesome"),S=bo(s),w=Qa(p,y),A=w;if(h){var z=Pi(y);z.iconName&&z.prefix&&(w=z.iconName,p=z.prefix)}if(w&&!S&&(!o||o.getAttribute(Ha)!==p||o.getAttribute(Va)!==A)){a.setAttribute(t,A),o&&a.removeChild(o);var T=ro(),E=T.extra;E.attributes[La]=n,Da(w,p).then(function(K){var Sa=Za(f(f({},T),{},{icons:{main:K,mask:Tt()},prefix:p,iconName:A,extra:E,watchable:!0})),J=x.createElementNS("http://www.w3.org/2000/svg","svg");n==="::before"?a.insertBefore(J,a.firstChild):a.appendChild(J),J.outerHTML=Sa.map(function(wa){return ia(wa)}).join(` -`),a.removeAttribute(t),e()}).catch(r)}else e()}else e()})}function yo(a){return Promise.all([Fn(a,"::before"),Fn(a,"::after")])}function xo(a){return a.parentNode!==document.head&&!~ei.indexOf(a.tagName.toUpperCase())&&!a.getAttribute(La)&&(!a.parentNode||a.parentNode.tagName!=="svg")}var So=function(n){return!!n&&ht.some(function(t){return n.includes(t)})},wo=function(n){if(!n)return[];var t=new Set,e=n.split(/,(?![^()]*\))/).map(function(l){return l.trim()});e=e.flatMap(function(l){return l.includes("(")?l:l.split(",").map(function(c){return c.trim()})});var r=ca(e),i;try{for(r.s();!(i=r.n()).done;){var o=i.value;if(So(o)){var s=ht.reduce(function(l,c){return l.replace(c,"")},o);s!==""&&s!=="*"&&t.add(s)}}}catch(l){r.e(l)}finally{r.f()}return t};function Cn(a){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(M){var t;if(n)t=a;else if(d.searchPseudoElementsFullScan)t=a.querySelectorAll("*");else{var e=new Set,r=ca(document.styleSheets),i;try{for(r.s();!(i=r.n()).done;){var o=i.value;try{var s=ca(o.cssRules),l;try{for(s.s();!(l=s.n()).done;){var c=l.value,m=wo(c.selectorText),u=ca(m),v;try{for(u.s();!(v=u.n()).done;){var p=v.value;e.add(p)}}catch(h){u.e(h)}finally{u.f()}}}catch(h){s.e(h)}finally{s.f()}}catch(h){d.searchPseudoElementsWarnings&&console.warn("Font Awesome: cannot parse stylesheet: ".concat(o.href," (").concat(h.message,`) -If it declares any Font Awesome CSS pseudo-elements, they will not be rendered as SVG icons. Add crossorigin="anonymous" to the , enable searchPseudoElementsFullScan for slower but more thorough DOM parsing, or suppress this warning by setting searchPseudoElementsWarnings to false.`))}}}catch(h){r.e(h)}finally{r.f()}if(!e.size)return;var y=Array.from(e).join(", ");try{t=a.querySelectorAll(y)}catch{}}return new Promise(function(h,S){var w=q(t).filter(xo).map(yo),A=an.begin("searchPseudoElements");Wt(),Promise.all(w).then(function(){A(),Wa(),h()}).catch(function(){A(),Wa(),S()})})}}var Ao={hooks:function(){return{mutationObserverCallbacks:function(t){return t.pseudoElementsCallback=Cn,t}}},provides:function(n){n.pseudoElements2svg=function(t){var e=t.node,r=e===void 0?x:e;d.searchPseudoElements&&Cn(r)}}},Ln=!1,ko={mixout:function(){return{dom:{unwatch:function(){Wt(),Ln=!0}}}},hooks:function(){return{bootstrap:function(){kn(Ta("mutationObserverCallbacks",{}))},noAuto:function(){ao()},watch:function(t){var e=t.observeMutationsRoot;Ln?Wa():kn(Ta("mutationObserverCallbacks",{observeMutationsRoot:e}))}}}},Nn=function(n){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return n.toLowerCase().split(" ").reduce(function(e,r){var i=r.toLowerCase().split("-"),o=i[0],s=i.slice(1).join("-");if(o&&s==="h")return e.flipX=!0,e;if(o&&s==="v")return e.flipY=!0,e;if(s=parseFloat(s),isNaN(s))return e;switch(o){case"grow":e.size=e.size+s;break;case"shrink":e.size=e.size-s;break;case"left":e.x=e.x-s;break;case"right":e.x=e.x+s;break;case"up":e.y=e.y-s;break;case"down":e.y=e.y+s;break;case"rotate":e.rotate=e.rotate+s;break}return e},t)},zo={mixout:function(){return{parse:{transform:function(t){return Nn(t)}}}},hooks:function(){return{parseNodeAttributes:function(t,e){var r=e.getAttribute("data-fa-transform");return r&&(t.transform=Nn(r)),t}}},provides:function(n){n.generateAbstractTransformGrouping=function(t){var e=t.main,r=t.transform,i=t.containerWidth,o=t.iconWidth,s={transform:"translate(".concat(i/2," 256)")},l="translate(".concat(r.x*32,", ").concat(r.y*32,") "),c="scale(".concat(r.size/16*(r.flipX?-1:1),", ").concat(r.size/16*(r.flipY?-1:1),") "),m="rotate(".concat(r.rotate," 0 0)"),u={transform:"".concat(l," ").concat(c," ").concat(m)},v={transform:"translate(".concat(o/2*-1," -256)")},p={outer:s,inner:u,path:v};return{tag:"g",attributes:f({},p.outer),children:[{tag:"g",attributes:f({},p.inner),children:[{tag:e.icon.tag,children:e.icon.children,attributes:f(f({},e.icon.attributes),p.path)}]}]}}}},Pa={x:0,y:0,width:"100%",height:"100%"};function On(a){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return a.attributes&&(a.attributes.fill||n)&&(a.attributes.fill="black"),a}function Io(a){return a.tag==="g"?a.children:[a]}var Po={hooks:function(){return{parseNodeAttributes:function(t,e){var r=e.getAttribute("data-fa-mask"),i=r?ya(r.split(" ").map(function(o){return o.trim()})):Tt();return i.prefix||(i.prefix=$()),t.mask=i,t.maskId=e.getAttribute("data-fa-mask-id"),t}}},provides:function(n){n.generateAbstractMask=function(t){var e=t.children,r=t.attributes,i=t.main,o=t.mask,s=t.maskId,l=t.transform,c=i.width,m=i.icon,u=o.width,v=o.icon,p=bi({transform:l,containerWidth:u,iconWidth:c}),y={tag:"rect",attributes:f(f({},Pa),{},{fill:"white"})},h=m.children?{children:m.children.map(On)}:{},S={tag:"g",attributes:f({},p.inner),children:[On(f({tag:m.tag,attributes:f(f({},m.attributes),p.path)},h))]},w={tag:"g",attributes:f({},p.outer),children:[S]},A="mask-".concat(s||dn()),z="clip-".concat(s||dn()),T={tag:"mask",attributes:f(f({},Pa),{},{id:A,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[y,w]},E={tag:"defs",children:[{tag:"clipPath",attributes:{id:z},children:Io(v)},T]};return e.push(E,{tag:"rect",attributes:f({fill:"currentColor","clip-path":"url(#".concat(z,")"),mask:"url(#".concat(A,")")},Pa)}),{children:e,attributes:r}}}},Eo={provides:function(n){var t=!1;_.matchMedia&&(t=_.matchMedia("(prefers-reduced-motion: reduce)").matches),n.missingIconAbstract=function(){var e=[],r={fill:"currentColor"},i={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};e.push({tag:"path",attributes:f(f({},r),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var o=f(f({},i),{},{attributeName:"opacity"}),s={tag:"circle",attributes:f(f({},r),{},{cx:"256",cy:"364",r:"28"}),children:[]};return t||s.children.push({tag:"animate",attributes:f(f({},i),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:f(f({},o),{},{values:"1;0;1;1;0;1;"})}),e.push(s),e.push({tag:"path",attributes:f(f({},r),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:t?[]:[{tag:"animate",attributes:f(f({},o),{},{values:"1;0;0;0;0;1;"})}]}),t||e.push({tag:"path",attributes:f(f({},r),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:f(f({},o),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:e}}}},Fo={hooks:function(){return{parseNodeAttributes:function(t,e){var r=e.getAttribute("data-fa-symbol"),i=r===null?!1:r===""?!0:r;return t.symbol=i,t}}}},Co=[xi,co,uo,mo,go,Ao,ko,zo,Po,Eo,Fo];Ti(Co,{mixoutsTo:P});P.noAuto;var B=P.config;P.library;P.dom;var Xt=P.parse;P.findIconDefinition;P.toHtml;var Lo=P.icon;P.layer;P.text;P.counter;function No(a){return a=a-0,a===a}function Gt(a){return No(a)?a:(a=a.replace(/[_-]+(.)?/g,(n,t)=>t?t.toUpperCase():""),a.charAt(0).toLowerCase()+a.slice(1))}var Oo=(a,n)=>Ya.createElement("stop",{key:`${n}-${a.offset}`,offset:a.offset,stopColor:a.color,...a.opacity!==void 0&&{stopOpacity:a.opacity}});function jo(a){return a.charAt(0).toUpperCase()+a.slice(1)}var X=new Map,Mo=1e3;function To(a){if(X.has(a))return X.get(a);const n={};let t=0;const e=a.length;for(;t0){const l=o.slice(0,s).trim(),c=o.slice(s+1).trim();if(l&&c){const m=Gt(l);n[m.startsWith("webkit")?jo(m):m]=c}}}t=i+1}if(X.size===Mo){const r=X.keys().next().value;r&&X.delete(r)}return X.set(a,n),n}function Ht(a,n,t={}){if(typeof n=="string")return n;const e=(n.children||[]).map(u=>{let v=u;return("fill"in t||t.gradientFill)&&u.tag==="path"&&"fill"in u.attributes&&(v={...u,attributes:{...u.attributes,fill:void 0}}),Ht(a,v)}),r=n.attributes||{},i={};for(const[u,v]of Object.entries(r))switch(!0){case u==="class":{i.className=v;break}case u==="style":{i.style=To(String(v));break}case u.startsWith("aria-"):case u.startsWith("data-"):{i[u.toLowerCase()]=v;break}default:i[Gt(u)]=v}const{style:o,role:s,"aria-label":l,gradientFill:c,...m}=t;if(o&&(i.style=i.style?{...i.style,...o}:o),s&&(i.role=s),l&&(i["aria-label"]=l,i["aria-hidden"]="false"),c){i.fill=`url(#${c.id})`;const{type:u,stops:v=[],...p}=c;e.unshift(a(u==="linear"?"linearGradient":"radialGradient",{...p,id:c.id},v.map(Oo)))}return a(n.tag,{...i,...m},...e)}var _o=Ht.bind(null,Ya.createElement),jn=(a,n)=>{const t=Jt.useId();return a||(n?t:void 0)},$o=class{constructor(a="react-fontawesome"){this.enabled=!1;let n=!1;try{n=typeof process<"u"&&!1}catch{}this.scope=a,this.enabled=n}log(...a){this.enabled&&console.log(`[${this.scope}]`,...a)}warn(...a){this.enabled&&console.warn(`[${this.scope}]`,...a)}error(...a){this.enabled&&console.error(`[${this.scope}]`,...a)}},Do="searchPseudoElementsFullScan"in B&&typeof B.searchPseudoElementsFullScan=="boolean"?"7.0.0":"6.0.0",Ro=Number.parseInt(Do)>=7,Wo=()=>Ro,na="fa",k={beat:"fa-beat",fade:"fa-fade",beatFade:"fa-beat-fade",bounce:"fa-bounce",shake:"fa-shake",spin:"fa-spin",spinPulse:"fa-spin-pulse",spinReverse:"fa-spin-reverse",pulse:"fa-pulse",flip360:"fa-flip-360",buzz:"fa-buzz",float:"fa-float",jello:"fa-jello",spinSnap:"fa-spin-snap",spinSnap4:"fa-spin-snap-4",spinSnap8:"fa-spin-snap-8",swing:"fa-swing",wag:"fa-wag"},Uo={left:"fa-pull-left",right:"fa-pull-right"},Yo={90:"fa-rotate-90",180:"fa-rotate-180",270:"fa-rotate-270"},Xo={"2xs":"fa-2xs",xs:"fa-xs",sm:"fa-sm",lg:"fa-lg",xl:"fa-xl","2xl":"fa-2xl","1x":"fa-1x","2x":"fa-2x","3x":"fa-3x","4x":"fa-4x","5x":"fa-5x","6x":"fa-6x","7x":"fa-7x","8x":"fa-8x","9x":"fa-9x","10x":"fa-10x"},N={border:"fa-border",fixedWidth:"fa-fw",flip:"fa-flip",flipHorizontal:"fa-flip-horizontal",flipVertical:"fa-flip-vertical",inverse:"fa-inverse",rotateBy:"fa-rotate-by",swapOpacity:"fa-swap-opacity",widthAuto:"fa-width-auto"};function Go(a){const n=B.cssPrefix||B.familyPrefix||na;return n===na?a:a.replace(new RegExp(String.raw`(?<=^|\s)${na}-`,"g"),`${n}-`)}function Ho(a){const{beat:n,fade:t,beatFade:e,bounce:r,shake:i,spin:o,spinPulse:s,spinReverse:l,pulse:c,fixedWidth:m,inverse:u,border:v,flip:p,size:y,rotation:h,pull:S,swapOpacity:w,rotateBy:A,widthAuto:z,flip360:T,buzz:E,float:K,jello:Sa,spinSnap:J,spinSnap4:wa,spinSnap8:Bt,swing:qt,wag:Kt,className:tn}=a,b=[];return tn&&b.push(...tn.split(" ")),n&&b.push(k.beat),t&&b.push(k.fade),e&&b.push(k.beatFade),r&&b.push(k.bounce),i&&b.push(k.shake),o&&b.push(k.spin),l&&b.push(k.spinReverse),s&&b.push(k.spinPulse),c&&b.push(k.pulse),m&&b.push(N.fixedWidth),u&&b.push(N.inverse),v&&b.push(N.border),p===!0&&b.push(N.flip),(p==="horizontal"||p==="both")&&b.push(N.flipHorizontal),(p==="vertical"||p==="both")&&b.push(N.flipVertical),y!=null&&b.push(Xo[y]),h!=null&&h!==0&&b.push(Yo[h]),S!=null&&b.push(Uo[S]),w&&b.push(N.swapOpacity),Wo()?(A&&b.push(N.rotateBy),z&&b.push(N.widthAuto),T&&b.push(k.flip360),E&&b.push(k.buzz),K&&b.push(k.float),Sa&&b.push(k.jello),J&&b.push(k.spinSnap),wa&&b.push(k.spinSnap4),Bt&&b.push(k.spinSnap8),qt&&b.push(k.swing),Kt&&b.push(k.wag),(B.cssPrefix||B.familyPrefix||na)===na?b:b.map(Go)):b}var Vo=a=>typeof a=="object"&&"icon"in a&&!!a.icon;function Mn(a){if(a)return Vo(a)?a:Xt.icon(a)}function Bo(a){return Object.keys(a)}var Tn=new $o("FontAwesomeIcon"),Vt={border:!1,className:"",mask:void 0,maskId:void 0,fixedWidth:!1,inverse:!1,flip:!1,icon:void 0,listItem:!1,pull:void 0,pulse:!1,rotation:void 0,rotateBy:!1,size:void 0,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:void 0,transform:void 0,swapOpacity:!1,widthAuto:!1,flip360:!1,buzz:!1,float:!1,jello:!1,spinSnap:!1,spinSnap4:!1,spinSnap8:!1,swing:!1,wag:!1},qo=new Set(Object.keys(Vt)),Ko=Ya.forwardRef((a,n)=>{const t={...Vt,...a},{icon:e,mask:r,symbol:i,title:o,titleId:s,maskId:l,transform:c}=t,m=jn(l,!!r),u=jn(s,!!o),v=Mn(e);if(!v)return Tn.error("Icon lookup is undefined",e),null;const p=Ho(t),y=typeof c=="string"?Xt.transform(c):c,h=Mn(r),S=Lo(v,{...p.length>0&&{classes:p},...y&&{transform:y},...h&&{mask:h},symbol:i,title:o,titleId:u,maskId:m});if(!S)return Tn.error("Could not find icon",v),null;const{abstract:w}=S,A={ref:n};for(const z of Bo(t))qo.has(z)||(A[z]=t[z]);return _o(w[0],A)});Ko.displayName="FontAwesomeIcon";/*! - * Font Awesome Free 7.3.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2026 Fonticons, Inc. - */var Zo={prefix:"fas",iconName:"ellipsis",icon:[448,512,["ellipsis-h"],"f141","M0 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm168 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm224-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"]},as={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]},ns={prefix:"fas",iconName:"floppy-disk",icon:[448,512,[128190,128426,"save"],"f0c7","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-242.7c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32L64 32zm32 96c0-17.7 14.3-32 32-32l160 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-64zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"]},ts={prefix:"fas",iconName:"note-sticky",icon:[448,512,[62026,"sticky-note"],"f249","M64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 213.5c0 17-6.7 33.3-18.7 45.3L322.7 461.3c-12 12-28.3 18.7-45.3 18.7L64 480zM389.5 304L296 304c-13.3 0-24 10.7-24 24l0 93.5 117.5-117.5z"]},es={prefix:"fas",iconName:"paper-plane",icon:[576,512,[61913],"f1d8","M536.4-26.3c9.8-3.5 20.6-1 28 6.3s9.8 18.2 6.3 28l-178 496.9c-5 13.9-18.1 23.1-32.8 23.1-14.2 0-27-8.6-32.3-21.7l-64.2-158c-4.5-11-2.5-23.6 5.2-32.6l94.5-112.4c5.1-6.1 4.7-15-.9-20.6s-14.6-6-20.6-.9L229.2 276.1c-9.1 7.6-21.6 9.6-32.6 5.2L38.1 216.8c-13.1-5.3-21.7-18.1-21.7-32.3 0-14.7 9.2-27.8 23.1-32.8l496.9-178z"]},rs={prefix:"fas",iconName:"flask",icon:[448,512,[],"f0c3","M288 0L128 0C110.3 0 96 14.3 96 32s14.3 32 32 32L128 215.5 7.5 426.3C2.6 435 0 444.7 0 454.7 0 486.4 25.6 512 57.3 512l333.4 0c31.6 0 57.3-25.6 57.3-57.3 0-10-2.6-19.8-7.5-28.4L320 215.5 320 64c17.7 0 32-14.3 32-32S337.7 0 320 0L288 0zM192 215.5l0-151.5 64 0 0 151.5c0 11.1 2.9 22.1 8.4 31.8l41.6 72.7-164 0 41.6-72.7c5.5-9.7 8.4-20.6 8.4-31.8z"]},is={prefix:"fas",iconName:"sun",icon:[576,512,[9728],"f185","M288-32c8.4 0 16.3 4.4 20.6 11.7L364.1 72.3 468.9 46c8.2-2 16.9 .4 22.8 6.3S500 67 498 75.1l-26.3 104.7 92.7 55.5c7.2 4.3 11.7 12.2 11.7 20.6s-4.4 16.3-11.7 20.6L471.7 332.1 498 436.8c2 8.2-.4 16.9-6.3 22.8S477 468 468.9 466l-104.7-26.3-55.5 92.7c-4.3 7.2-12.2 11.7-20.6 11.7s-16.3-4.4-20.6-11.7L211.9 439.7 107.2 466c-8.2 2-16.8-.4-22.8-6.3S76 445 78 436.8l26.2-104.7-92.6-55.5C4.4 272.2 0 264.4 0 256s4.4-16.3 11.7-20.6L104.3 179.9 78 75.1c-2-8.2 .3-16.8 6.3-22.8S99 44 107.2 46l104.7 26.2 55.5-92.6 1.8-2.6c4.5-5.7 11.4-9.1 18.8-9.1zm0 144a144 144 0 1 0 0 288 144 144 0 1 0 0-288zm0 240a96 96 0 1 1 0-192 96 96 0 1 1 0 192z"]},os={prefix:"fas",iconName:"diagram-project",icon:[512,512,["project-diagram"],"f542","M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 16 128 0 0-16c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-16-128 0 0 16c0 7.3-1.7 14.3-4.6 20.5l68.6 91.5 80 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-7.3 1.7-14.3 4.6-20.5L128 224 48 224c-26.5 0-48-21.5-48-48L0 80z"]},ss={prefix:"fas",iconName:"chart-line",icon:[512,512,["line-chart"],"f201","M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 400c0 44.2 35.8 80 80 80l400 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 416c-8.8 0-16-7.2-16-16L64 64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7 262.6 153.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l73.4-73.4 57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z"]},ls={prefix:"fas",iconName:"gear",icon:[512,512,[9881,"cog"],"f013","M195.1 9.5C198.1-5.3 211.2-16 226.4-16l59.8 0c15.2 0 28.3 10.7 31.3 25.5L332 79.5c14.1 6 27.3 13.7 39.3 22.8l67.8-22.5c14.4-4.8 30.2 1.2 37.8 14.4l29.9 51.8c7.6 13.2 4.9 29.8-6.5 39.9L447 233.3c.9 7.4 1.3 15 1.3 22.7s-.5 15.3-1.3 22.7l53.4 47.5c11.4 10.1 14 26.8 6.5 39.9l-29.9 51.8c-7.6 13.1-23.4 19.2-37.8 14.4l-67.8-22.5c-12.1 9.1-25.3 16.7-39.3 22.8l-14.4 69.9c-3.1 14.9-16.2 25.5-31.3 25.5l-59.8 0c-15.2 0-28.3-10.7-31.3-25.5l-14.4-69.9c-14.1-6-27.2-13.7-39.3-22.8L73.5 432.3c-14.4 4.8-30.2-1.2-37.8-14.4L5.8 366.1c-7.6-13.2-4.9-29.8 6.5-39.9l53.4-47.5c-.9-7.4-1.3-15-1.3-22.7s.5-15.3 1.3-22.7L12.3 185.8c-11.4-10.1-14-26.8-6.5-39.9L35.7 94.1c7.6-13.2 23.4-19.2 37.8-14.4l67.8 22.5c12.1-9.1 25.3-16.7 39.3-22.8L195.1 9.5zM256.3 336a80 80 0 1 0 -.6-160 80 80 0 1 0 .6 160z"]},fs={prefix:"fas",iconName:"play",icon:[448,512,[9654],"f04b","M91.2 36.9c-12.4-6.8-27.4-6.5-39.6 .7S32 57.9 32 72l0 368c0 14.1 7.5 27.2 19.6 34.4s27.2 7.5 39.6 .7l336-184c12.8-7 20.8-20.5 20.8-35.1s-8-28.1-20.8-35.1l-336-184z"]},cs={prefix:"fas",iconName:"trash-arrow-up",icon:[448,512,["trash-restore"],"f829","M167.1-16l113.9 0c13.8 0 26 8.8 30.4 21.9L320 32 416 32c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 8.7-26.1C141.1-7.2 153.3-16 167.1-16zM32 144l384 0-21.1 323.1C393.3 492.4 372.3 512 347 512L101 512c-25.3 0-46.3-19.6-47.9-44.9L32 144zm209 79c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31 0 102.1c0 13.3 10.7 24 24 24s24-10.7 24-24l0-102.1 31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72z"]},us={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z"]},ms={prefix:"fas",iconName:"moon",icon:[512,512,[127769,9214],"f186","M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c68.8 0 131.3-27.2 177.3-71.4 7.3-7 9.4-17.9 5.3-27.1s-13.7-14.9-23.8-14.1c-4.9 .4-9.8 .6-14.8 .6-101.6 0-184-82.4-184-184 0-72.1 41.5-134.6 102.1-164.8 9.1-4.5 14.3-14.3 13.1-24.4S322.6 8.5 312.7 6.3C294.4 2.2 275.4 0 256 0z"]},ds={prefix:"fas",iconName:"window-maximize",icon:[512,512,[128470],"f2d0","M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm24 64l336 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L88 176c-13.3 0-24-10.7-24-24s10.7-24 24-24z"]},gs={prefix:"fas",iconName:"rotate-left",icon:[512,512,["rotate-back","rotate-backward","undo-alt"],"f2ea","M24 192l144 0c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-46.7-46.7c75.3-58.6 184.3-53.3 253.5 15.9 75 75 75 196.5 0 271.5s-196.5 75-271.5 0c-10.2-10.2-19-21.3-26.4-33-9.5-14.9-29.3-19.3-44.2-9.8s-19.3 29.3-9.8 44.2C49.7 408.7 61.4 423.5 75 437 175 537 337 537 437 437S537 175 437 75C342.8-19.3 193.3-24.7 92.7 58.8L41 7C34.1 .2 23.8-1.9 14.8 1.8S0 14.3 0 24L0 168c0 13.3 10.7 24 24 24z"]},vs={prefix:"fas",iconName:"language",icon:[576,512,[],"f1ab","M160 0c17.7 0 32 14.3 32 32l0 32 128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-9.6 0-8.4 23.1c-16.4 45.2-41.1 86.5-72.2 122 14.2 8.8 29 16.6 44.4 23.5l50.4 22.4 62.2-140c5.1-11.6 16.6-19 29.2-19s24.1 7.4 29.2 19l128 288c7.2 16.2-.1 35.1-16.2 42.2s-35.1-.1-42.2-16.2l-20-45-157.5 0-20 45c-7.2 16.2-26.1 23.4-42.2 16.2s-23.4-26.1-16.2-42.2l39.8-89.5-50.4-22.4c-23-10.2-45-22.4-65.8-36.4-21.3 17.2-44.6 32.2-69.5 44.7L78.3 380.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9l34.5-17.3c16.3-8.2 31.8-17.7 46.4-28.3-13.8-12.7-26.8-26.4-38.9-40.9L81.6 224.7c-11.3-13.6-9.5-33.8 4.1-45.1s33.8-9.5 45.1 4.1l10.2 12.2c11.5 13.9 24.1 26.8 37.4 38.7 27.5-30.4 49.2-66.1 63.5-105.4l.5-1.2-210.3 0C14.3 128 0 113.7 0 96S14.3 64 32 64l96 0 0-32c0-17.7 14.3-32 32-32zM416 270.8L365.7 384 466.3 384 416 270.8z"]},ps={prefix:"fas",iconName:"arrow-rotate-right",icon:[512,512,[8635,"arrow-right-rotate","arrow-rotate-forward","redo"],"f01e","M436.7 74.7L448 85.4 448 32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l47.9 0-7.6-7.2c-.2-.2-.4-.4-.6-.6-75-75-196.5-75-271.5 0s-75 196.5 0 271.5 196.5 75 271.5 0c8.2-8.2 15.5-16.9 21.9-26.1 10.1-14.5 30.1-18 44.6-7.9s18 30.1 7.9 44.6c-8.5 12.2-18.2 23.8-29.1 34.7-100 100-262.1 100-362 0S-25 175 75 75c99.9-99.9 261.7-100 361.7-.3z"]},bs={prefix:"fas",iconName:"pause",icon:[384,512,[9208],"f04c","M48 32C21.5 32 0 53.5 0 80L0 432c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48L48 32zm224 0c-26.5 0-48 21.5-48 48l0 352c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48l-64 0z"]},hs={prefix:"fas",iconName:"angles-right",icon:[448,512,[187,"angle-double-right"],"f101","M439.1 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L371.2 256 233.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L179.2 256 41.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z"]},ys={prefix:"fas",iconName:"bars",icon:[448,512,["navicon"],"f0c9","M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"]},xs={prefix:"fas",iconName:"angles-left",icon:[448,512,[171,"angle-double-left"],"f100","M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L269.3 256 406.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z"]},Ss={prefix:"fas",iconName:"list-check",icon:[512,512,["tasks"],"f0ae","M133.8 36.3c10.9 7.6 13.5 22.6 5.9 33.4l-56 80c-4.1 5.8-10.5 9.5-17.6 10.1S52 158 47 153L7 113C-2.3 103.6-2.3 88.4 7 79S31.6 69.7 41 79l19.8 19.8 39.6-56.6c7.6-10.9 22.6-13.5 33.4-5.9zm0 160c10.9 7.6 13.5 22.6 5.9 33.4l-56 80c-4.1 5.8-10.5 9.5-17.6 10.1S52 318 47 313L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l19.8 19.8 39.6-56.6c7.6-10.9 22.6-13.5 33.4-5.9zM224 96c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32zM64 376a40 40 0 1 1 0 80 40 40 0 1 1 0-80z"]},ws={prefix:"fas",iconName:"list-ul",icon:[512,512,["list-dots"],"f0ca","M48 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM48 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM96 256a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z"]};export{Ko as F,fs as a,ns as b,us as c,hs as d,xs as e,bs as f,Zo as g,ls as h,vs as i,is as j,ms as k,Ss as l,ss as m,cs as n,es as o,ts as p,os as q,gs as r,ps as s,as as t,ws as u,rs as v,ds as w,ys as x}; diff --git a/frontend/web/dist/assets/icons-BgG77X6K.js b/frontend/web/dist/assets/icons-BgG77X6K.js new file mode 100644 index 000000000..bfe40fa59 --- /dev/null +++ b/frontend/web/dist/assets/icons-BgG77X6K.js @@ -0,0 +1,1080 @@ +import{r as e,t}from"./rolldown-runtime-hePW80VL.js";var n=t((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,ee={current:null},te={key:!0,ref:!0,__self:!0,__source:!0};function C(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!te.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1{t.exports=n()})),i=t((e=>{var t=r(),n=Symbol.for(`react.element`),i=Symbol.for(`react.fragment`),a=Object.prototype.hasOwnProperty,o=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var i,c={},l=null,u=null;for(i in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)a.call(t,i)&&!s.hasOwnProperty(i)&&(c[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)c[i]===void 0&&(c[i]=t[i]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:o.current}}e.Fragment=i,e.jsx=c,e.jsxs=c})),a=t(((e,t)=>{t.exports=i()})),o=e(r(),1);function s(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function m(e,t,n){return(t=te(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function g(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function _(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function v(){throw TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function b(e){for(var t=1;t-1;i--){var a=n[i],o=(a.tagName||``).toUpperCase();[`STYLE`,`LINK`].indexOf(o)>-1&&(r=a)}return k.head.insertBefore(t,r),e}}var un=`0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`;function dn(){for(var e=12,t=``;e-->0;)t+=un[Math.random()*62|0];return t}function B(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function fn(e){return e.classList?B(e.classList):(e.getAttribute(`class`)||``).split(` `).filter(function(e){return e})}function pn(e){return`${e}`.replace(/&/g,`&`).replace(/"/g,`"`).replace(/'/g,`'`).replace(//g,`>`)}function mn(e){return Object.keys(e||{}).reduce(function(t,n){return t+`${n}="${pn(e[n])}" `},``).trim()}function hn(e){return Object.keys(e||{}).reduce(function(t,n){return t+`${n}: ${e[n].trim()};`},``)}function gn(e){return e.size!==z.size||e.x!==z.x||e.y!==z.y||e.rotate!==z.rotate||e.flipX||e.flipY}function _n(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth;return{outer:{transform:`translate(${n/2} 256)`},inner:{transform:`${`translate(${t.x*32}, ${t.y*32}) `} ${`scale(${t.size/16*(t.flipX?-1:1)}, ${t.size/16*(t.flipY?-1:1)}) `} ${`rotate(${t.rotate} 0 0)`}`},path:{transform:`translate(${r/2*-1} -256)`}}}function vn(e){var t=e.transform,n=e.width,r=n===void 0?jt:n,i=e.height,a=i===void 0?jt:i,o=e.startCentered,s=o!==void 0&&o,c=``;return c+=s&&se?`translate(${t.x/R-r/2}em, ${t.y/R-a/2}em) `:s?`translate(calc(-50% + ${t.x/R}em), calc(-50% + ${t.y/R}em)) `:`translate(${t.x/R}em, ${t.y/R}em) `,c+=`scale(${t.size/R*(t.flipX?-1:1)}, ${t.size/R*(t.flipY?-1:1)}) `,c+=`rotate(${t.rotate}deg) `,c}var yn=`:root, :host { + --fa-font-solid: normal 900 1em/1 'Font Awesome 7 Free'; + --fa-font-regular: normal 400 1em/1 'Font Awesome 7 Free'; + --fa-font-light: normal 300 1em/1 'Font Awesome 7 Pro'; + --fa-font-thin: normal 100 1em/1 'Font Awesome 7 Pro'; + --fa-font-duotone: normal 900 1em/1 'Font Awesome 7 Duotone'; + --fa-font-duotone-regular: normal 400 1em/1 'Font Awesome 7 Duotone'; + --fa-font-duotone-light: normal 300 1em/1 'Font Awesome 7 Duotone'; + --fa-font-duotone-thin: normal 100 1em/1 'Font Awesome 7 Duotone'; + --fa-font-brands: normal 400 1em/1 'Font Awesome 7 Brands'; + --fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 7 Sharp'; + --fa-font-sharp-regular: normal 400 1em/1 'Font Awesome 7 Sharp'; + --fa-font-sharp-light: normal 300 1em/1 'Font Awesome 7 Sharp'; + --fa-font-sharp-thin: normal 100 1em/1 'Font Awesome 7 Sharp'; + --fa-font-sharp-duotone-solid: normal 900 1em/1 'Font Awesome 7 Sharp Duotone'; + --fa-font-sharp-duotone-regular: normal 400 1em/1 'Font Awesome 7 Sharp Duotone'; + --fa-font-sharp-duotone-light: normal 300 1em/1 'Font Awesome 7 Sharp Duotone'; + --fa-font-sharp-duotone-thin: normal 100 1em/1 'Font Awesome 7 Sharp Duotone'; + --fa-font-slab-regular: normal 400 1em/1 'Font Awesome 7 Slab'; + --fa-font-slab-press-regular: normal 400 1em/1 'Font Awesome 7 Slab Press'; + --fa-font-slab-duo-regular: normal 400 1em/1 'Font Awesome 7 Slab Duo'; + --fa-font-slab-press-duo-regular: normal 400 1em/1 'Font Awesome 7 Slab Press Duo'; + --fa-font-pixel-regular: normal 400 1em/1 'Font Awesome 7 Pixel'; + --fa-font-mosaic-solid: normal 900 1em/1 'Font Awesome 7 Mosaic'; + --fa-font-vellum-solid: normal 900 1em/1 'Font Awesome 7 Vellum'; + --fa-font-whiteboard-semibold: normal 600 1em/1 'Font Awesome 7 Whiteboard'; + --fa-font-thumbprint-light: normal 300 1em/1 'Font Awesome 7 Thumbprint'; + --fa-font-notdog-solid: normal 900 1em/1 'Font Awesome 7 Notdog'; + --fa-font-notdog-duo-solid: normal 900 1em/1 'Font Awesome 7 Notdog Duo'; + --fa-font-etch-solid: normal 900 1em/1 'Font Awesome 7 Etch'; + --fa-font-graphite-thin: normal 100 1em/1 'Font Awesome 7 Graphite'; + --fa-font-jelly-regular: normal 400 1em/1 'Font Awesome 7 Jelly'; + --fa-font-jelly-fill-regular: normal 400 1em/1 'Font Awesome 7 Jelly Fill'; + --fa-font-jelly-duo-regular: normal 400 1em/1 'Font Awesome 7 Jelly Duo'; + --fa-font-chisel-regular: normal 400 1em/1 'Font Awesome 7 Chisel'; + --fa-font-utility-semibold: normal 600 1em/1 'Font Awesome 7 Utility'; + --fa-font-utility-duo-semibold: normal 600 1em/1 'Font Awesome 7 Utility Duo'; + --fa-font-utility-fill-semibold: normal 600 1em/1 'Font Awesome 7 Utility Fill'; +} + +.svg-inline--fa { + box-sizing: content-box; + display: var(--fa-display, inline-block); + height: 1em; + overflow: visible; + vertical-align: -0.125em; + width: var(--fa-width, 1.25em); +} +.svg-inline--fa.fa-2xs { + vertical-align: 0.1em; +} +.svg-inline--fa.fa-xs { + vertical-align: 0em; +} +.svg-inline--fa.fa-sm { + vertical-align: -0.0714285714em; +} +.svg-inline--fa.fa-lg { + vertical-align: -0.2em; +} +.svg-inline--fa.fa-xl { + vertical-align: -0.25em; +} +.svg-inline--fa.fa-2xl { + vertical-align: -0.3125em; +} +.svg-inline--fa.fa-pull-left, +.svg-inline--fa .fa-pull-start { + float: inline-start; + margin-inline-end: var(--fa-pull-margin, 0.3em); +} +.svg-inline--fa.fa-pull-right, +.svg-inline--fa .fa-pull-end { + float: inline-end; + margin-inline-start: var(--fa-pull-margin, 0.3em); +} +.svg-inline--fa.fa-li { + width: var(--fa-li-width, 2em); + inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); + inset-block-start: 0.25em; /* syncing vertical alignment with Web Font rendering */ +} + +.fa-layers-counter, .fa-layers-text { + display: inline-block; + position: absolute; + text-align: center; +} + +.fa-layers { + display: inline-block; + height: 1em; + position: relative; + text-align: center; + vertical-align: -0.125em; + width: var(--fa-width, 1.25em); +} +.fa-layers .svg-inline--fa { + inset: 0; + margin: auto; + position: absolute; + transform-origin: center center; +} + +.fa-layers-text { + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + transform-origin: center center; +} + +.fa-layers-counter { + background-color: var(--fa-counter-background-color, #ff253a); + border-radius: var(--fa-counter-border-radius, 1em); + box-sizing: border-box; + color: var(--fa-inverse, #fff); + line-height: var(--fa-counter-line-height, 1); + max-width: var(--fa-counter-max-width, 5em); + min-width: var(--fa-counter-min-width, 1.5em); + overflow: hidden; + padding: var(--fa-counter-padding, 0.25em 0.5em); + right: var(--fa-right, 0); + text-overflow: ellipsis; + top: var(--fa-top, 0); + transform: scale(var(--fa-counter-scale, 0.25)); + transform-origin: top right; +} + +.fa-layers-bottom-right { + bottom: var(--fa-bottom, 0); + right: var(--fa-right, 0); + top: auto; + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: bottom right; +} + +.fa-layers-bottom-left { + bottom: var(--fa-bottom, 0); + left: var(--fa-left, 0); + right: auto; + top: auto; + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: bottom left; +} + +.fa-layers-top-right { + top: var(--fa-top, 0); + right: var(--fa-right, 0); + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: top right; +} + +.fa-layers-top-left { + left: var(--fa-left, 0); + right: auto; + top: var(--fa-top, 0); + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: top left; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-2xs { + font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */ + line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */ + vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ +} + +.fa-xs { + font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */ + line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */ + vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ +} + +.fa-sm { + font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */ + line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */ + vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ +} + +.fa-lg { + font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */ + line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */ + vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ +} + +.fa-xl { + font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */ + line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */ + vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ +} + +.fa-2xl { + font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */ + line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */ + vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ +} + +.fa-width-auto { + --fa-width: auto; +} + +.fa-fw, +.fa-width-fixed { + --fa-width: 1.25em; +} + +.fa-canvas-square { + padding-block: 0.125em; + margin-block-end: -0.125em; +} + +.fa-canvas-roomy { + padding-block: 0.25em; + padding-inline: 0.125em; + margin-block-end: -0.25em; + box-sizing: content-box; +} + +.fa-ul { + list-style-type: none; + margin-inline-start: var(--fa-li-margin, 2.5em); + padding-inline-start: 0; +} +.fa-ul > li { + position: relative; +} + +.fa-li { + inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; +} + +/* Heads Up: Bordered Icons will not be supported in the future! + - This feature will be deprecated in the next major release of Font Awesome (v8)! + - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8. +*/ +/* Notes: +* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size) +* --@{v.$css-prefix}-border-padding = + ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment) + ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon) +*/ +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.0625em); + box-sizing: var(--fa-border-box-sizing, content-box); + padding: var(--fa-border-padding, 0.1875em 0.25em); +} + +.fa-pull-left, +.fa-pull-start { + float: inline-start; + margin-inline-end: var(--fa-pull-margin, 0.3em); +} + +.fa-pull-right, +.fa-pull-end { + float: inline-end; + margin-inline-start: var(--fa-pull-margin, 0.3em); +} + +.fa-beat { + animation-name: fa-beat; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-bounce { + animation-name: fa-bounce; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); +} + +.fa-fade { + animation-name: fa-fade; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-beat-fade { + animation-name: fa-beat-fade; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-flip { + animation-name: fa-flip; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1.5s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-flip-360 { + animation-name: fa-flip-360; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-shake { + animation-name: fa-shake; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 0.75s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-spin { + animation-name: fa-spin; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 2s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-reverse { + --fa-animation-direction: reverse; +} + +.fa-pulse, +.fa-spin-pulse { + animation-name: fa-spin; + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, steps(8)); +} + +.fa-spin-snap { + animation-name: fa-spin-snap; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 3s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-snap-4 { + animation-name: fa-spin-snap-4; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 2.4s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-snap-8 { + animation-name: fa-spin-snap-8; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 4s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-buzz { + animation-name: fa-buzz; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 0.6s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-wag { + animation-name: fa-wag; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 0.9s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-out); + transform-origin: bottom center; +} + +.fa-float { + animation-name: fa-float; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 3s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); + will-change: transform; +} + +.fa-swing { + animation-name: fa-swing; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1.2s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-out); + transform-origin: top center; +} + +.fa-jello { + animation-name: fa-jello; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 0.9s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-out); +} + +@media (prefers-reduced-motion: reduce) { + .fa-beat, + .fa-bounce, + .fa-fade, + .fa-beat-fade, + .fa-flip, + .fa-flip-360, + .fa-pulse, + .fa-shake, + .fa-spin, + .fa-spin-pulse, + .fa-buzz, + .fa-float, + .fa-jello, + .fa-spin-snap, + .fa-spin-snap-4, + .fa-spin-snap-8, + .fa-swing, + .fa-wag { + animation: none !important; + transition: none !important; + } +} +@keyframes fa-beat { + 0% { + transform: scale(1); + } + 25% { + transform: scale(calc(1.25 * var(--fa-beat-scale, 1.25))); + } + 45% { + transform: scale(calc(1.22 * var(--fa-beat-scale, 1.22))); + } + 65% { + transform: scale(calc(1.25 * var(--fa-beat-scale, 1.25))); + } + 90% { + transform: scale(1); + } +} +@keyframes fa-bounce { + 0% { + transform: scale(1, 1) translateY(0); + animation-timing-function: var(--fa-animation-timing); + } + 14% { + transform: scale(var(--fa-bounce-start-scale-x, 1.06), var(--fa-bounce-start-scale-y, 0.94)) translateY(var(--fa-bounce-anticipation, 3px)); + animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); + } + 32% { + transform: scale(var(--fa-bounce-jump-scale-x, 0.94), var(--fa-bounce-jump-scale-y, 1.12)) translateY(calc(-1 * var(--fa-bounce-height, 0.5em))); + animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); + } + 52% { + transform: scale(1, 1) translateY(calc(-1 * var(--fa-bounce-height, 0.5em) * 1.1)); + animation-timing-function: cubic-bezier(0.5, 0, 1, 0.5); + } + 70% { + transform: scale(var(--fa-bounce-land-scale-x, 1.06), var(--fa-bounce-land-scale-y, 0.92)) translateY(0); + animation-timing-function: cubic-bezier(0.33, 0.33, 0.66, 1); + } + 85% { + transform: scale(0.98, 1.04) translateY(calc(-2px * var(--fa-bounce-rebound, 1))); + animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1); + } + 100% { + transform: scale(1, 1) translateY(0); + } +} +@keyframes fa-fade { + 0% { + opacity: 1; + transform: scale(1); + animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1); + } + 40% { + opacity: var(--fa-fade-opacity, 0.4); + transform: scale(0.98); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +@keyframes fa-beat-fade { + 0% { + opacity: var(--fa-beat-fade-opacity, 0.4); + transform: scale(1); + animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1); + } + 25% { + opacity: calc(var(--fa-beat-fade-opacity, 0.4) + 0.4); + transform: scale(var(--fa-beat-fade-scale, 1.28)); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 45% { + opacity: 1; + transform: scale(var(--fa-beat-fade-scale, 1.25)); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + } + 65% { + opacity: calc(var(--fa-beat-fade-opacity, 0.4) + 0.4); + transform: scale(var(--fa-beat-fade-scale, 1.28)); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + transform: scale(1); + } +} +@keyframes fa-flip { + 0% { + transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg); + animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1); + } + 8% { + transform: perspective(2em) scale(var(--fa-flip-anticipation-scale, 0.95)) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg); + animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); + } + 35% { + transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * 0.6)); + animation-timing-function: linear; + } + 65% { + transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * 0.5)); + animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); + } + 92% { + transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04))); + animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1); + } + 100% { + transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -360deg)); + } +} +@keyframes fa-flip-360 { + 0% { + transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg); + animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1); + } + 8% { + transform: perspective(2em) scale(var(--fa-flip-anticipation-scale, 0.95)) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg); + animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); + } + 50% { + transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * 0.6)); + animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); + } + 80% { + transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04))); + animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1); + } + 100% { + transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -360deg)); + } +} +@keyframes fa-shake { + 0% { + transform: rotate(0deg); + animation-timing-function: cubic-bezier(0.2, 0, 0.8, 1); + } + 8% { + transform: rotate(35deg) translateX(1px); + animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); + } + 20% { + transform: rotate(-22deg) translateX(-1px); + animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); + } + 35% { + transform: rotate(15deg) translateX(1px); + animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); + } + 50% { + transform: rotate(-9deg); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 65% { + transform: rotate(5deg); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 78% { + transform: rotate(-3deg); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 90% { + transform: rotate(1deg); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + } + 100% { + transform: rotate(0deg); + } +} +@keyframes fa-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +@keyframes fa-spin-snap { + 0% { + transform: rotate(0deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 12% { + transform: rotate(60deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 16.67% { + transform: rotate(60deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 28.67% { + transform: rotate(120deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 33.33% { + transform: rotate(120deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 45.33% { + transform: rotate(180deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 50% { + transform: rotate(180deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 62% { + transform: rotate(240deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 66.67% { + transform: rotate(240deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 78.67% { + transform: rotate(300deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 83.33% { + transform: rotate(300deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 95.33% { + transform: rotate(360deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 100% { + transform: rotate(360deg); + } +} +@keyframes fa-spin-snap-4 { + 0% { + transform: rotate(0deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 15% { + transform: rotate(90deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 25% { + transform: rotate(90deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 40% { + transform: rotate(180deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 50% { + transform: rotate(180deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 65% { + transform: rotate(270deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 75% { + transform: rotate(270deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 90% { + transform: rotate(360deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 100% { + transform: rotate(360deg); + } +} +@keyframes fa-spin-snap-8 { + 0% { + transform: rotate(0deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 9% { + transform: rotate(45deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 12.5% { + transform: rotate(45deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 21.5% { + transform: rotate(90deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 25% { + transform: rotate(90deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 34% { + transform: rotate(135deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 37.5% { + transform: rotate(135deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 46.5% { + transform: rotate(180deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 50% { + transform: rotate(180deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 59% { + transform: rotate(225deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 62.5% { + transform: rotate(225deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 71.5% { + transform: rotate(270deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 75% { + transform: rotate(270deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 84% { + transform: rotate(315deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 87.5% { + transform: rotate(315deg); + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + 96.5% { + transform: rotate(360deg); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 100% { + transform: rotate(360deg); + } +} +@keyframes fa-buzz { + 0% { + transform: translateX(0) rotate(0deg); + animation-timing-function: cubic-bezier(0.1, 0, 0.9, 1); + } + 5% { + transform: translateX(var(--fa-buzz-distance, 4px)) rotate(0.5deg); + } + 10% { + transform: translateX(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-0.5deg); + } + 15% { + transform: translateX(var(--fa-buzz-distance, 4px)) rotate(0.3deg); + } + 20% { + transform: translateX(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-0.3deg); + } + 25% { + transform: translateX(calc(var(--fa-buzz-distance, 4px) * 0.7)) rotate(0.2deg); + } + 30% { + transform: translateX(calc(-1 * var(--fa-buzz-distance, 4px) * 0.7)) rotate(-0.2deg); + } + 35% { + transform: translateX(calc(var(--fa-buzz-distance, 4px) * 0.4)) rotate(0.1deg); + } + 40% { + transform: translateX(0) rotate(0deg); + } + 100% { + transform: translateX(0) rotate(0deg); + } +} +@keyframes fa-wag { + 0% { + transform: rotate(0deg); + animation-timing-function: cubic-bezier(0.2, 0, 0.6, 1); + } + 12% { + transform: rotate(var(--fa-wag-angle, 12deg)); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + } + 24% { + transform: rotate(2deg); + animation-timing-function: cubic-bezier(0.2, 0, 0.6, 1); + } + 36% { + transform: rotate(calc(var(--fa-wag-angle, 12deg) * 0.85)); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + } + 48% { + transform: rotate(1deg); + animation-timing-function: cubic-bezier(0.2, 0, 0.6, 1); + } + 58% { + transform: rotate(calc(var(--fa-wag-angle, 12deg) * 0.6)); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + } + 68% { + transform: rotate(0deg); + } + 100% { + transform: rotate(0deg); + } +} +@keyframes fa-float { + 0% { + transform: translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x, 1.02), var(--fa-float-squash-y, 0.98)); + animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); + } + 15% { + transform: translateY(calc(-0.4 * var(--fa-float-height, 6px))) translateX(var(--fa-float-drift, 1px)) rotate(var(--fa-float-tilt, 1deg)) scale(1, 1); + animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); + } + 35% { + transform: translateY(calc(-1 * var(--fa-float-height, 6px))) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x, 0.98), var(--fa-float-stretch-y, 1.03)); + animation-timing-function: cubic-bezier(0.5, 0, 0.5, 0); + } + 50% { + transform: translateY(calc(-0.92 * var(--fa-float-height, 6px))) translateX(calc(-0.5 * var(--fa-float-drift, 1px))) rotate(calc(-0.5 * var(--fa-float-tilt, 1deg))) scale(0.995, 1.01); + animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33); + } + 70% { + transform: translateY(calc(-0.3 * var(--fa-float-height, 6px))) translateX(calc(-1 * var(--fa-float-drift, 1px))) rotate(calc(-1 * var(--fa-float-tilt, 1deg))) scale(1, 1); + animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1); + } + 90% { + transform: translateY(calc(0.05 * var(--fa-float-height, 6px))) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x, 1.02), var(--fa-float-squash-y, 0.98)); + animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1); + } + 100% { + transform: translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x, 1.02), var(--fa-float-squash-y, 0.98)); + } +} +@keyframes fa-swing { + 0% { + transform: rotate(0deg); + animation-timing-function: cubic-bezier(0.2, 0, 0.8, 1); + } + 8% { + transform: rotate(var(--fa-swing-angle, 22deg)); + animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); + } + 18% { + transform: rotate(calc(-1 * var(--fa-swing-angle, 22deg) * 0.85)); + animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); + } + 28% { + transform: rotate(calc(var(--fa-swing-angle, 22deg) * 0.65)); + animation-timing-function: cubic-bezier(0.35, 0, 0.65, 1); + } + 38% { + transform: rotate(calc(-1 * var(--fa-swing-angle, 22deg) * 0.45)); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 48% { + transform: rotate(calc(var(--fa-swing-angle, 22deg) * 0.25)); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 56% { + transform: rotate(calc(-1 * var(--fa-swing-angle, 22deg) * 0.1)); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 64% { + transform: rotate(0deg); + } + 100% { + transform: rotate(0deg); + } +} +@keyframes fa-jello { + 0% { + transform: scale(1, 1); + animation-timing-function: cubic-bezier(0.2, 0, 0.8, 1); + } + 12% { + transform: scale(var(--fa-jello-scale-x, 1.15), calc(2 - var(--fa-jello-scale-x, 1.15))); + animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); + } + 24% { + transform: scale(calc(2 - var(--fa-jello-scale-y, 1.12)), var(--fa-jello-scale-y, 1.12)); + animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1); + } + 36% { + transform: scale(calc(1 + (var(--fa-jello-scale-x, 1.15) - 1) * 0.5), calc(2 - (1 + (var(--fa-jello-scale-x, 1.15) - 1) * 0.5))); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 48% { + transform: scale(calc(2 - (1 + (var(--fa-jello-scale-y, 1.12) - 1) * 0.3)), calc(1 + (var(--fa-jello-scale-y, 1.12) - 1) * 0.3)); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + } + 58% { + transform: scale(1.02, 0.98); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + } + 68% { + transform: scale(1, 1); + } + 100% { + transform: scale(1, 1); + } +} +.fa-rotate-90 { + transform: rotate(90deg); +} + +.fa-rotate-180 { + transform: rotate(180deg); +} + +.fa-rotate-270 { + transform: rotate(270deg); +} + +.fa-flip-horizontal { + transform: scale(-1, 1); +} + +.fa-flip-vertical { + transform: scale(1, -1); +} + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + transform: scale(-1, -1); +} + +.fa-rotate-by { + transform: rotate(var(--fa-rotate-angle, 0)); +} + +.svg-inline--fa .fa-primary { + fill: var(--fa-primary-color, currentColor); + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa .fa-secondary { + fill: var(--fa-secondary-color, currentColor); + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-primary { + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-secondary { + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa mask .fa-primary, +.svg-inline--fa mask .fa-secondary { + fill: black; +} + +.svg-inline--fa.fa-inverse { + fill: var(--fa-inverse, #fff); +} + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; +} + +.fa-inverse { + color: var(--fa-inverse, #fff); +} + +.svg-inline--fa.fa-stack-1x { + --fa-width: 1.25em; + height: 1em; + width: var(--fa-width); +} +.svg-inline--fa.fa-stack-2x { + --fa-width: 2.5em; + height: 2em; + width: var(--fa-width); +} + +.fa-stack-1x, +.fa-stack-2x { + inset: 0; + margin: auto; + position: absolute; + z-index: var(--fa-stack-z-index, auto); +}`;function bn(){var e=Mt,t=Nt,n=L.cssPrefix,r=L.replacementClass,i=yn;if(n!==e||r!==t){var a=RegExp(`\\.${e}\\-`,`g`),o=RegExp(`\\--${e}\\-`,`g`),s=RegExp(`\\.${t}`,`g`);i=i.replace(a,`.${n}-`).replace(o,`--${n}-`).replace(s,`.${r}`)}return i}var xn=!1;function Sn(){L.autoAddCss&&!xn&&(ln(bn()),xn=!0)}var Cn={mixout:function(){return{dom:{css:bn,insertCss:Sn}}},hooks:function(){return{beforeDOMElementCreation:function(){Sn()},beforeI2svg:function(){Sn()}}}},V=O||{};V[N]||(V[N]={}),V[N].styles||(V[N].styles={}),V[N].hooks||(V[N].hooks={}),V[N].shims||(V[N].shims=[]);var H=V[N],wn=[],Tn=function(){k.removeEventListener(`DOMContentLoaded`,Tn),En=1,wn.map(function(e){return e()})},En=!1;j&&(En=(k.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(k.readyState),En||k.addEventListener(`DOMContentLoaded`,Tn));function Dn(e){j&&(En?setTimeout(e,0):wn.push(e))}function On(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,i=e.children,a=i===void 0?[]:i;return typeof e==`string`?pn(e):`<${t} ${mn(r)}>${a.map(On).join(``)}`}function kn(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var An=function(e,t){return function(n,r,i,a){return e.call(t,n,r,i,a)}},jn=function(e,t,n,r){var i=Object.keys(e),a=i.length,o=r===void 0?t:An(t,r),s,c,l;for(n===void 0?(s=1,l=e[i[0]]):(s=0,l=n);s2&&arguments[2]!==void 0?arguments[2]:{}).skipHooks,r=n!==void 0&&n,i=Nn(t);typeof H.hooks.addPack==`function`&&!r?H.hooks.addPack(e,Nn(t)):H.styles[e]=b(b({},H.styles[e]||{}),i),e===`fas`&&Pn(`fa`,t)}var Fn=H.styles,In=H.shims,Ln=Object.keys(Jt),Rn=Ln.reduce(function(e,t){return e[t]=Object.keys(Jt[t]),e},{}),zn=null,Bn={},Vn={},Hn={},Un={},Wn={};function Gn(e){return~tn.indexOf(e)}function Kn(e,t){var n=t.split(`-`),r=n[0],i=n.slice(1).join(`-`);return r===e&&i!==``&&!Gn(i)?i:null}var qn=function(){var e=function(e){return jn(Fn,function(t,n,r){return t[r]=jn(n,e,{}),t},{})};Bn=e(function(e,t,n){return t[3]&&(e[t[3]]=n),t[2]&&t[2].filter(function(e){return typeof e==`number`}).forEach(function(t){e[t.toString(16)]=n}),e}),Vn=e(function(e,t,n){return e[n]=n,t[2]&&t[2].filter(function(e){return typeof e==`string`}).forEach(function(t){e[t]=n}),e}),Wn=e(function(e,t,n){var r=t[2];return e[n]=n,r.forEach(function(t){e[t]=n}),e});var t=`far`in Fn||L.autoFetchSvg,n=jn(In,function(e,n){var r=n[0],i=n[1],a=n[2];return i===`far`&&!t&&(i=`fas`),typeof r==`string`&&(e.names[r]={prefix:i,iconName:a}),typeof r==`number`&&(e.unicodes[r.toString(16)]={prefix:i,iconName:a}),e},{names:{},unicodes:{}});Hn=n.names,Un=n.unicodes,zn=er(L.styleDefault,{family:L.familyDefault})};cn(function(e){zn=er(e.styleDefault,{family:L.familyDefault})}),qn();function Jn(e,t){return(Bn[e]||{})[t]}function Yn(e,t){return(Vn[e]||{})[t]}function U(e,t){return(Wn[e]||{})[t]}function Xn(e){return Hn[e]||{prefix:null,iconName:null}}function Zn(e){var t=Un[e],n=Jn(`fas`,e);return t||(n?{prefix:`fas`,iconName:n}:null)||{prefix:null,iconName:null}}function W(){return zn}var Qn=function(){return{prefix:null,iconName:null,rest:[]}};function $n(e){var t=M,n=Ln.reduce(function(e,t){return e[t]=`${L.cssPrefix}-${t}`,e},{});return st.forEach(function(r){(e.includes(n[r])||e.some(function(e){return Rn[r].includes(e)}))&&(t=r)}),t}function er(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).family,n=t===void 0?M:t,r=Wt[n][e];if(n===me&&!e)return`fad`;var i=Kt[n][e]||Kt[n][r],a=e in H.styles?e:null;return i||a||null}function tr(e){var t=[],n=null;return e.forEach(function(e){var r=Kn(L.cssPrefix,e);r?n=r:e&&t.push(e)}),{iconName:n,rest:t}}function nr(e){return e.sort().filter(function(e,t,n){return n.indexOf(e)===t})}var rr=Tt.concat(ft);function ir(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).skipLookups,n=t!==void 0&&t,r=null,i=nr(e.filter(function(e){return rr.includes(e)})),a=nr(e.filter(function(e){return!rr.includes(e)})),o=x(i.filter(function(e){return r=e,!pe.includes(e)}),1)[0],s=o===void 0?null:o,c=$n(i),l=b(b({},tr(a)),{},{prefix:er(s,{family:c})});return b(b(b({},l),cr({values:e,family:c,styles:Fn,config:L,canonical:l,givenPrefix:r})),ar(n,r,l))}function ar(e,t,n){var r=n.prefix,i=n.iconName;if(e||!r||!i)return{prefix:r,iconName:i};var a=t===`fa`?Xn(i):{},o=U(r,i);return i=a.iconName||o||i,r=a.prefix||r,r===`far`&&!Fn.far&&Fn.fas&&!L.autoFetchSvg&&(r=`fas`),{prefix:r,iconName:i}}var or=st.filter(function(e){return e!==M||e!==me}),sr=Object.keys(wt).filter(function(e){return e!==M}).map(function(e){return Object.keys(wt[e])}).flat();function cr(e){var t=e.values,n=e.family,r=e.canonical,i=e.givenPrefix,a=i===void 0?``:i,o=e.styles,s=o===void 0?{}:o,c=e.config,l=c===void 0?{}:c,u=n===me,d=t.includes(`fa-duotone`)||t.includes(`fad`),f=l.familyDefault===`duotone`,p=r.prefix===`fad`||r.prefix===`fa-duotone`;return!u&&(d||f||p)&&(r.prefix=`fad`),(t.includes(`fa-brands`)||t.includes(`fab`))&&(r.prefix=`fab`),!r.prefix&&or.includes(n)&&(Object.keys(s).find(function(e){return sr.includes(e)})||l.autoFetchSvg)&&(r.prefix=ut.get(n).defaultShortPrefixId,r.iconName=U(r.prefix,r.iconName)||r.iconName),(r.prefix===`fa`||a===`fa`)&&(r.prefix=W()||`fas`),r}var lr=function(){function e(){u(this,e),this.definitions={}}return f(e,[{key:`add`,value:function(){var e=this,t=[...arguments].reduce(this._pullDefinitions,{});Object.keys(t).forEach(function(n){e.definitions[n]=b(b({},e.definitions[n]||{}),t[n]),Pn(n,t[n]);var r=Jt[M][n];r&&Pn(r,t[n]),qn()})}},{key:`reset`,value:function(){this.definitions={}}},{key:`_pullDefinitions`,value:function(e,t){var n=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(n).map(function(t){var r=n[t],i=r.prefix,a=r.iconName,o=r.icon,s=o[2];e[i]||(e[i]={}),s.length>0&&s.forEach(function(t){typeof t==`string`&&(e[i][t]=o)}),e[i][a]=o}),e}}])}(),ur=[],G={},K={},dr=Object.keys(K);function fr(e,t){var n=t.mixoutsTo;return ur=e,G={},Object.keys(K).forEach(function(e){dr.indexOf(e)===-1&&delete K[e]}),ur.forEach(function(e){var t=e.mixout?e.mixout():{};if(Object.keys(t).forEach(function(e){typeof t[e]==`function`&&(n[e]=t[e]),C(t[e])===`object`&&Object.keys(t[e]).forEach(function(r){n[e]||(n[e]={}),n[e][r]=t[e][r]})}),e.hooks){var r=e.hooks();Object.keys(r).forEach(function(e){G[e]||(G[e]=[]),G[e].push(r[e])})}e.provides&&e.provides(K)}),n}function pr(e,t){var n=[...arguments].slice(2);return(G[e]||[]).forEach(function(e){t=e.apply(null,[t].concat(n))}),t}function q(e){var t=[...arguments].slice(1);(G[e]||[]).forEach(function(e){e.apply(null,t)})}function J(){var e=arguments[0],t=Array.prototype.slice.call(arguments,1);return K[e]?K[e].apply(null,t):void 0}function mr(e){e.prefix===`fa`&&(e.prefix=`fas`);var t=e.iconName,n=e.prefix||W();if(t)return t=U(n,t)||t,kn(hr.definitions,n,t)||kn(H.styles,n,t)}var hr=new lr,Y={noAuto:function(){L.autoReplaceSvg=!1,L.observeMutations=!1,q(`noAuto`)},config:L,dom:{i2svg:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return j?(q(`beforeI2svg`,e),J(`pseudoElements2svg`,e),J(`i2svg`,e)):Promise.reject(Error(`Operation requires a DOM of some kind.`))},watch:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.autoReplaceSvgRoot;L.autoReplaceSvg===!1&&(L.autoReplaceSvg=!0),L.observeMutations=!0,Dn(function(){gr({autoReplaceSvgRoot:t}),q(`watch`,e)})}},parse:{icon:function(e){if(e===null)return null;if(C(e)===`object`&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:U(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&e.length===2){var t=e[1].indexOf(`fa-`)===0?e[1].slice(3):e[1],n=er(e[0]);return{prefix:n,iconName:U(n,t)||t}}if(typeof e==`string`&&(e.indexOf(`${L.cssPrefix}-`)>-1||e.match(Xt))){var r=ir(e.split(` `),{skipLookups:!0});return{prefix:r.prefix||W(),iconName:U(r.prefix,r.iconName)||r.iconName}}if(typeof e==`string`){var i=W();return{prefix:i,iconName:U(i,e)||e}}}},library:hr,findIconDefinition:mr,toHtml:On},gr=function(){var e=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}).autoReplaceSvgRoot,t=e===void 0?k:e;(Object.keys(H.styles).length>0||L.autoFetchSvg)&&j&&L.autoReplaceSvg&&Y.dom.i2svg({node:t})};function _r(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(e){return On(e)})}}),Object.defineProperty(e,"node",{get:function(){if(j){var t=k.createElement(`div`);return t.innerHTML=e.html,t.children}}}),e}function vr(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,a=e.styles,o=e.transform;if(gn(o)&&n.found&&!r.found){var s={x:n.width/n.height/2,y:.5};i.style=hn(b(b({},a),{},{"transform-origin":`${s.x+o.x/16}em ${s.y+o.y/16}em`}))}return[{tag:`svg`,attributes:i,children:t}]}function yr(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,a=e.symbol,o=a===!0?`${t}-${L.cssPrefix}-${n}`:a;return[{tag:`svg`,attributes:{style:`display: none;`},children:[{tag:`symbol`,attributes:b(b({},i),{},{id:o}),children:r}]}]}function br(e){return[`aria-label`,`aria-labelledby`,`title`,`role`].some(function(t){return t in e})}function xr(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,a=e.iconName,o=e.transform,s=e.symbol,c=e.maskId,l=e.extra,u=e.watchable,d=u!==void 0&&u,f=r.found?r:n,p=f.width,m=f.height,h=[L.replacementClass,a?`${L.cssPrefix}-${a}`:``].filter(function(e){return l.classes.indexOf(e)===-1}).filter(function(e){return e!==``||!!e}).concat(l.classes).join(` `),g={children:[],attributes:b(b({},l.attributes),{},{"data-prefix":i,"data-icon":a,class:h,role:l.attributes.role||`img`,viewBox:`0 0 ${p} ${m}`})};!br(l.attributes)&&!l.attributes[`aria-hidden`]&&(g.attributes[`aria-hidden`]=`true`),d&&(g.attributes[P]=``);var _=b(b({},g),{},{prefix:i,iconName:a,main:n,mask:r,maskId:c,transform:o,symbol:s,styles:b({},l.styles)}),v=r.found&&n.found?J(`generateAbstractMask`,_)||{children:[],attributes:{}}:J(`generateAbstractIcon`,_)||{children:[],attributes:{}},y=v.children,x=v.attributes;return _.children=y,_.attributes=x,s?yr(_):vr(_)}function Sr(e){var t=e.content,n=e.width,r=e.height,i=e.transform,a=e.extra,o=e.watchable,s=o!==void 0&&o,c=b(b({},a.attributes),{},{class:a.classes.join(` `)});s&&(c[P]=``);var l=b({},a.styles);gn(i)&&(l.transform=vn({transform:i,startCentered:!0,width:n,height:r}),l[`-webkit-transform`]=l.transform);var u=hn(l);u.length>0&&(c.style=u);var d=[];return d.push({tag:`span`,attributes:c,children:[t]}),d}function Cr(e){var t=e.content,n=e.extra,r=b(b({},n.attributes),{},{class:n.classes.join(` `)}),i=hn(n.styles);i.length>0&&(r.style=i);var a=[];return a.push({tag:`span`,attributes:r,children:[t]}),a}var wr=H.styles;function Tr(e){var t=e[0],n=e[1],r=x(e.slice(4),1)[0],i=null;return i=Array.isArray(r)?{tag:`g`,attributes:{class:`${L.cssPrefix}-${en.GROUP}`},children:[{tag:`path`,attributes:{class:`${L.cssPrefix}-${en.SECONDARY}`,fill:`currentColor`,d:r[0]}},{tag:`path`,attributes:{class:`${L.cssPrefix}-${en.PRIMARY}`,fill:`currentColor`,d:r[1]}}]}:{tag:`path`,attributes:{fill:`currentColor`,d:r}},{found:!0,width:t,height:n,icon:i}}var Er={found:!1,width:512,height:512};function Dr(e,t){!Ht&&!L.showMissingIcons&&e&&console.error(`Icon with name "${e}" and prefix "${t}" is missing.`)}function Or(e,t){var n=t;return t===`fa`&&L.styleDefault!==null&&(t=W()),new Promise(function(r,i){if(n===`fa`){var a=Xn(e)||{};e=a.iconName||e,t=a.prefix||t}if(e&&t&&wr[t]&&wr[t][e]){var o=wr[t][e];return r(Tr(o))}Dr(e,t),r(b(b({},Er),{},{icon:L.showMissingIcons&&e&&J(`missingIconAbstract`)||{}}))})}var kr=function(){},Ar=L.measurePerformance&&A&&A.mark&&A.measure?A:{mark:kr,measure:kr},jr=`FA "7.3.1"`,Mr=function(e){return Ar.mark(`${jr} ${e} begins`),function(){return Nr(e)}},Nr=function(e){Ar.mark(`${jr} ${e} ends`),Ar.measure(`${jr} ${e}`,`${jr} ${e} begins`,`${jr} ${e} ends`)},Pr={begin:Mr,end:Nr},Fr=function(){};function Ir(e){return typeof(e.getAttribute?e.getAttribute(P):null)==`string`}function Lr(e){var t=e.getAttribute?e.getAttribute(It):null,n=e.getAttribute?e.getAttribute(Lt):null;return t&&n}function Rr(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(L.replacementClass)}function zr(){return L.autoReplaceSvg===!0?Wr.replace:Wr[L.autoReplaceSvg]||Wr.replace}function Br(e){return k.createElementNS(`http://www.w3.org/2000/svg`,e)}function Vr(e){return k.createElement(e)}function Hr(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).ceFn,n=t===void 0?e.tag===`svg`?Br:Vr:t;if(typeof e==`string`)return k.createTextNode(e);var r=n(e.tag);return Object.keys(e.attributes||[]).forEach(function(t){r.setAttribute(t,e.attributes[t])}),(e.children||[]).forEach(function(e){r.appendChild(Hr(e,{ceFn:n}))}),r}function Ur(e){var t=` ${e.outerHTML} `;return t=`${t}Font Awesome fontawesome.com `,t}var Wr={replace:function(e){var t=e[0];if(t.parentNode){if(e[1].forEach(function(e){t.parentNode.insertBefore(Hr(e),t)}),t.getAttribute(P)===null&&L.keepOriginalSource){var n=k.createComment(Ur(t));t.parentNode.replaceChild(n,t)}else t.remove()}},nest:function(e){var t=e[0],n=e[1];if(~fn(t).indexOf(L.replacementClass))return Wr.replace(e);var r=RegExp(`${L.cssPrefix}-.*`);if(delete n[0].attributes.id,n[0].attributes.class){var i=n[0].attributes.class.split(` `).reduce(function(e,t){return t===L.replacementClass||t.match(r)?e.toSvg.push(t):e.toNode.push(t),e},{toNode:[],toSvg:[]});n[0].attributes.class=i.toSvg.join(` `),i.toNode.length===0?t.removeAttribute(`class`):t.setAttribute(`class`,i.toNode.join(` `))}var a=n.map(function(e){return On(e)}).join(` +`);t.setAttribute(P,``),t.innerHTML=a}};function Gr(e){e()}function Kr(e,t){var n=typeof t==`function`?t:Fr;if(e.length===0)n();else{var r=Gr;L.mutateApproach===zt&&(r=O.requestAnimationFrame||Gr),r(function(){var t=zr(),r=Pr.begin(`mutate`);e.map(t),r(),n()})}}var qr=!1;function Jr(){qr=!0}function Yr(){qr=!1}var Xr=null;function Zr(e){if(oe&&L.observeMutations){var t=e.treeCallback,n=t===void 0?Fr:t,r=e.nodeCallback,i=r===void 0?Fr:r,a=e.pseudoElementsCallback,o=a===void 0?Fr:a,s=e.observeMutationsRoot,c=s===void 0?k:s;Xr=new oe(function(e){if(!qr){var t=W();B(e).forEach(function(e){if(e.type===`childList`&&e.addedNodes.length>0&&!Ir(e.addedNodes[0])&&(L.searchPseudoElements&&o(e.target),n(e.target)),e.type===`attributes`&&e.target.parentNode&&L.searchPseudoElements&&o([e.target],!0),e.type===`attributes`&&Ir(e.target)&&~$t.indexOf(e.attributeName)){if(e.attributeName===`class`&&Lr(e.target)){var r=ir(fn(e.target)),a=r.prefix,s=r.iconName;e.target.setAttribute(It,a||t),s&&e.target.setAttribute(Lt,s)}else Rr(e.target)&&i(e.target)}})}}),j&&Xr.observe(c,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function Qr(){Xr&&Xr.disconnect()}function $r(e){var t=e.getAttribute(`style`),n=[];return t&&(n=t.split(`;`).reduce(function(e,t){var n=t.split(`:`),r=n[0],i=n.slice(1);return r&&i.length>0&&(e[r]=i.join(`:`).trim()),e},{})),n}function ei(e){var t=e.getAttribute(`data-prefix`),n=e.getAttribute(`data-icon`),r=e.innerText===void 0?``:e.innerText.trim(),i=ir(fn(e));return i.prefix||=W(),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix?i:(i.prefix&&r.length>0&&(i.iconName=Yn(i.prefix,e.innerText)||Jn(i.prefix,Mn(e.innerText))),!i.iconName&&L.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data),i)}function ti(e){return B(e.attributes).reduce(function(e,t){return e.name!==`class`&&e.name!==`style`&&(e[t.name]=t.value),e},{})}function ni(){return{iconName:null,prefix:null,transform:z,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function ri(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=ei(e),r=n.iconName,i=n.prefix,a=n.rest,o=ti(e),s=pr(`parseNodeAttributes`,{},e);return b({iconName:r,prefix:i,transform:z,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:t.styleParser?$r(e):[],attributes:o}},s)}var ii=H.styles;function ai(e){var t=L.autoReplaceSvg===`nest`?ri(e,{styleParser:!1}):ri(e);return~t.extra.classes.indexOf(Zt)?J(`generateLayersText`,e,t):J(`generateSvgReplacementMutation`,e,t)}function oi(){return[].concat(S(ft),S(Tt))}function si(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!j)return Promise.resolve();var n=k.documentElement.classList,r=function(e){return n.add(`${Rt}-${e}`)},i=function(e){return n.remove(`${Rt}-${e}`)},a=L.autoFetchSvg?oi():pe.concat(Object.keys(ii));a.includes(`fa`)||a.push(`fa`);var o=[`.${Zt}:not([${P}])`].concat(a.map(function(e){return`.${e}:not([${P}])`})).join(`, `);if(o.length===0)return Promise.resolve();var s=[];try{s=B(e.querySelectorAll(o))}catch{}if(s.length>0)r(`pending`),i(`complete`);else return Promise.resolve();var c=Pr.begin(`onTree`),l=s.reduce(function(e,t){try{var n=ai(t);n&&e.push(n)}catch(e){Ht||e.name===`MissingIcon`&&console.error(e)}return e},[]);return new Promise(function(e,n){Promise.all(l).then(function(n){Kr(n,function(){r(`active`),r(`complete`),i(`pending`),typeof t==`function`&&t(),c(),e()})}).catch(function(e){c(),n(e)})})}function ci(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;ai(e).then(function(e){e&&Kr([e],t)})}function li(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:mr(t||{}),i=n.mask;return i&&=(i||{}).icon?i:mr(i||{}),e(r,b(b({},n),{},{mask:i}))}}var ui=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.transform,r=n===void 0?z:n,i=t.symbol,a=i!==void 0&&i,o=t.mask,s=o===void 0?null:o,c=t.maskId,l=c===void 0?null:c,u=t.classes,d=u===void 0?[]:u,f=t.attributes,p=f===void 0?{}:f,m=t.styles,h=m===void 0?{}:m;if(e){var g=e.prefix,_=e.iconName,v=e.icon;return _r(b({type:`icon`},e),function(){return q(`beforeDOMElementCreation`,{iconDefinition:e,params:t}),xr({icons:{main:Tr(v),mask:s?Tr(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:g,iconName:_,transform:b(b({},z),r),symbol:a,maskId:l,extra:{attributes:p,styles:h,classes:d}})})}},di={mixout:function(){return{icon:li(ui)}},hooks:function(){return{mutationObserverCallbacks:function(e){return e.treeCallback=si,e.nodeCallback=ci,e}}},provides:function(e){e.i2svg=function(e){var t=e.node,n=t===void 0?k:t,r=e.callback;return si(n,r===void 0?function(){}:r)},e.generateSvgReplacementMutation=function(e,t){var n=t.iconName,r=t.prefix,i=t.transform,a=t.symbol,o=t.mask,s=t.maskId,c=t.extra;return new Promise(function(t,l){Promise.all([Or(n,r),o.iconName?Or(o.iconName,o.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(o){var l=x(o,2),u=l[0],d=l[1];t([e,xr({icons:{main:u,mask:d},prefix:r,iconName:n,transform:i,symbol:a,maskId:s,extra:c,watchable:!0})])}).catch(l)})},e.generateAbstractIcon=function(e){var t=e.children,n=e.attributes,r=e.main,i=e.transform,a=e.styles,o=hn(a);o.length>0&&(n.style=o);var s;return gn(i)&&(s=J(`generateAbstractTransformGrouping`,{main:r,transform:i,containerWidth:r.width,iconWidth:r.width})),t.push(s||r.icon),{children:t,attributes:n}}}},fi={mixout:function(){return{layer:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.classes,r=n===void 0?[]:n;return _r({type:`layer`},function(){q(`beforeDOMElementCreation`,{assembler:e,params:t});var n=[];return e(function(e){Array.isArray(e)?e.map(function(e){n=n.concat(e.abstract)}):n=n.concat(e.abstract)}),[{tag:`span`,attributes:{class:[`${L.cssPrefix}-layers`].concat(S(r)).join(` `)},children:n}]})}}}},pi={mixout:function(){return{counter:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.title,r=n===void 0?null:n,i=t.classes,a=i===void 0?[]:i,o=t.attributes,s=o===void 0?{}:o,c=t.styles,l=c===void 0?{}:c;return _r({type:`counter`,content:e},function(){return q(`beforeDOMElementCreation`,{content:e,params:t}),Cr({content:e.toString(),title:r,extra:{attributes:s,styles:l,classes:[`${L.cssPrefix}-layers-counter`].concat(S(a))}})})}}}},mi={mixout:function(){return{text:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.transform,r=n===void 0?z:n,i=t.classes,a=i===void 0?[]:i,o=t.attributes,s=o===void 0?{}:o,c=t.styles,l=c===void 0?{}:c;return _r({type:`text`,content:e},function(){return q(`beforeDOMElementCreation`,{content:e,params:t}),Sr({content:e,transform:b(b({},z),r),extra:{attributes:s,styles:l,classes:[`${L.cssPrefix}-layers-text`].concat(S(a))}})})}}},provides:function(e){e.generateLayersText=function(e,t){var n=t.transform,r=t.extra,i=null,a=null;if(se){var o=parseInt(getComputedStyle(e).fontSize,10),s=e.getBoundingClientRect();i=s.width/o,a=s.height/o}return Promise.resolve([e,Sr({content:e.innerHTML,width:i,height:a,transform:n,extra:r,watchable:!0})])}}},hi=RegExp(`"`,`ug`),gi=[1105920,1112319],_i=b(b(b(b({},{FontAwesome:{normal:`fas`,400:`fas`}}),lt),At),gt),vi=Object.keys(_i).reduce(function(e,t){return e[t.toLowerCase()]=_i[t],e},{}),yi=Object.keys(vi).reduce(function(e,t){var n=vi[t];return e[t]=n[900]||S(Object.entries(n))[0][1],e},{});function bi(e){return Mn(S(e.replace(hi,``))[0]||``)}function xi(e){var t=e.getPropertyValue(`font-feature-settings`).includes(`ss01`),n=e.getPropertyValue(`content`).replace(hi,``),r=n.codePointAt(0),i=r>=gi[0]&&r<=gi[1],a=n.length===2&&n[0]===n[1];return i||a||t}function Si(e,t){var n=e.replace(/^['"]|['"]$/g,``).toLowerCase(),r=parseInt(t),i=isNaN(r)?`normal`:r;return(vi[n]||{})[i]||yi[n]}function Ci(e,t){var n=`${Ft}${t.replace(`:`,`-`)}`;return new Promise(function(r,i){if(e.getAttribute(n)!==null)return r();var a=B(e.children).filter(function(e){return e.getAttribute(Pt)===t})[0],o=O.getComputedStyle(e,t),s=o.getPropertyValue(`font-family`),c=s.match(Qt),l=o.getPropertyValue(`font-weight`),u=o.getPropertyValue(`content`);if(a&&!c)return e.removeChild(a),r();if(c&&u!==`none`&&u!==``){var d=o.getPropertyValue(`content`),f=Si(s,l),p=bi(d),m=c[0].startsWith(`FontAwesome`),h=xi(o),g=Jn(f,p),_=g;if(m){var v=Zn(p);v.iconName&&v.prefix&&(g=v.iconName,f=v.prefix)}if(g&&!h&&(!a||a.getAttribute(It)!==f||a.getAttribute(Lt)!==_)){e.setAttribute(n,_),a&&e.removeChild(a);var y=ni(),x=y.extra;x.attributes[Pt]=t,Or(g,f).then(function(i){var a=xr(b(b({},y),{},{icons:{main:i,mask:Qn()},prefix:f,iconName:_,extra:x,watchable:!0})),o=k.createElementNS(`http://www.w3.org/2000/svg`,`svg`);t===`::before`?e.insertBefore(o,e.firstChild):e.appendChild(o),o.outerHTML=a.map(function(e){return On(e)}).join(` +`),e.removeAttribute(n),r()}).catch(i)}else r()}else r()})}function wi(e){return Promise.all([Ci(e,`::before`),Ci(e,`::after`)])}function Ti(e){return e.parentNode!==document.head&&!~Bt.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(Pt)&&(!e.parentNode||e.parentNode.tagName!==`svg`)}var Ei=function(e){return!!e&&Vt.some(function(t){return e.includes(t)})},Di=function(e){if(!e)return[];var t=new Set,n=e.split(/,(?![^()]*\))/).map(function(e){return e.trim()});n=n.flatMap(function(e){return e.includes(`(`)?e:e.split(`,`).map(function(e){return e.trim()})});var r=p(n),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;if(Ei(a)){var o=Vt.reduce(function(e,t){return e.replace(t,``)},a);o!==``&&o!==`*`&&t.add(o)}}}catch(e){r.e(e)}finally{r.f()}return t};function Oi(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(j){var n;if(t)n=e;else if(L.searchPseudoElementsFullScan)n=e.querySelectorAll(`*`);else{var r=new Set,i=p(document.styleSheets),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;try{var s=p(o.cssRules),c;try{for(s.s();!(c=s.n()).done;){var l=c.value,u=p(Di(l.selectorText)),d;try{for(u.s();!(d=u.n()).done;){var f=d.value;r.add(f)}}catch(e){u.e(e)}finally{u.f()}}}catch(e){s.e(e)}finally{s.f()}}catch(e){L.searchPseudoElementsWarnings&&console.warn(`Font Awesome: cannot parse stylesheet: ${o.href} (${e.message}) +If it declares any Font Awesome CSS pseudo-elements, they will not be rendered as SVG icons. Add crossorigin="anonymous" to the , enable searchPseudoElementsFullScan for slower but more thorough DOM parsing, or suppress this warning by setting searchPseudoElementsWarnings to false.`)}}}catch(e){i.e(e)}finally{i.f()}if(!r.size)return;var m=Array.from(r).join(`, `);try{n=e.querySelectorAll(m)}catch{}}return new Promise(function(e,t){var r=B(n).filter(Ti).map(wi),i=Pr.begin(`searchPseudoElements`);Jr(),Promise.all(r).then(function(){i(),Yr(),e()}).catch(function(){i(),Yr(),t()})})}}var ki={hooks:function(){return{mutationObserverCallbacks:function(e){return e.pseudoElementsCallback=Oi,e}}},provides:function(e){e.pseudoElements2svg=function(e){var t=e.node,n=t===void 0?k:t;L.searchPseudoElements&&Oi(n)}}},Ai=!1,ji={mixout:function(){return{dom:{unwatch:function(){Jr(),Ai=!0}}}},hooks:function(){return{bootstrap:function(){Zr(pr(`mutationObserverCallbacks`,{}))},noAuto:function(){Qr()},watch:function(e){var t=e.observeMutationsRoot;Ai?Yr():Zr(pr(`mutationObserverCallbacks`,{observeMutationsRoot:t}))}}}},Mi=function(e){return e.toLowerCase().split(` `).reduce(function(e,t){var n=t.toLowerCase().split(`-`),r=n[0],i=n.slice(1).join(`-`);if(r&&i===`h`)return e.flipX=!0,e;if(r&&i===`v`)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case`grow`:e.size+=i;break;case`shrink`:e.size-=i;break;case`left`:e.x-=i;break;case`right`:e.x+=i;break;case`up`:e.y-=i;break;case`down`:e.y+=i;break;case`rotate`:e.rotate+=i}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},Ni={mixout:function(){return{parse:{transform:function(e){return Mi(e)}}}},hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-transform`);return n&&(e.transform=Mi(n)),e}}},provides:function(e){e.generateAbstractTransformGrouping=function(e){var t=e.main,n=e.transform,r=e.containerWidth,i=e.iconWidth,a={outer:{transform:`translate(${r/2} 256)`},inner:{transform:`${`translate(${n.x*32}, ${n.y*32}) `} ${`scale(${n.size/16*(n.flipX?-1:1)}, ${n.size/16*(n.flipY?-1:1)}) `} ${`rotate(${n.rotate} 0 0)`}`},path:{transform:`translate(${i/2*-1} -256)`}};return{tag:`g`,attributes:b({},a.outer),children:[{tag:`g`,attributes:b({},a.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:b(b({},t.icon.attributes),a.path)}]}]}}}},Pi={x:0,y:0,width:`100%`,height:`100%`};function Fi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill=`black`),e}function Ii(e){return e.tag===`g`?e.children:[e]}fr([Cn,di,fi,pi,mi,ki,ji,Ni,{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-mask`),r=n?ir(n.split(` `).map(function(e){return e.trim()})):Qn();return r.prefix||=W(),e.mask=r,e.maskId=t.getAttribute(`data-fa-mask-id`),e}}},provides:function(e){e.generateAbstractMask=function(e){var t=e.children,n=e.attributes,r=e.main,i=e.mask,a=e.maskId,o=e.transform,s=r.width,c=r.icon,l=i.width,u=i.icon,d=_n({transform:o,containerWidth:l,iconWidth:s}),f={tag:`rect`,attributes:b(b({},Pi),{},{fill:`white`})},p=c.children?{children:c.children.map(Fi)}:{},m={tag:`g`,attributes:b({},d.inner),children:[Fi(b({tag:c.tag,attributes:b(b({},c.attributes),d.path)},p))]},h={tag:`g`,attributes:b({},d.outer),children:[m]},g=`mask-${a||dn()}`,_=`clip-${a||dn()}`,v={tag:`mask`,attributes:b(b({},Pi),{},{id:g,maskUnits:`userSpaceOnUse`,maskContentUnits:`userSpaceOnUse`}),children:[f,h]},y={tag:`defs`,children:[{tag:`clipPath`,attributes:{id:_},children:Ii(u)},v]};return t.push(y,{tag:`rect`,attributes:b({fill:`currentColor`,"clip-path":`url(#${_})`,mask:`url(#${g})`},Pi)}),{children:t,attributes:n}}}},{provides:function(e){var t=!1;O.matchMedia&&(t=O.matchMedia(`(prefers-reduced-motion: reduce)`).matches),e.missingIconAbstract=function(){var e=[],n={fill:`currentColor`},r={attributeType:`XML`,repeatCount:`indefinite`,dur:`2s`};e.push({tag:`path`,attributes:b(b({},n),{},{d:`M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z`})});var i=b(b({},r),{},{attributeName:`opacity`}),a={tag:`circle`,attributes:b(b({},n),{},{cx:`256`,cy:`364`,r:`28`}),children:[]};return t||a.children.push({tag:`animate`,attributes:b(b({},r),{},{attributeName:`r`,values:`28;14;28;28;14;28;`})},{tag:`animate`,attributes:b(b({},i),{},{values:`1;0;1;1;0;1;`})}),e.push(a),e.push({tag:`path`,attributes:b(b({},n),{},{opacity:`1`,d:`M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z`}),children:t?[]:[{tag:`animate`,attributes:b(b({},i),{},{values:`1;0;0;0;0;1;`})}]}),t||e.push({tag:`path`,attributes:b(b({},n),{},{opacity:`0`,d:`M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z`}),children:[{tag:`animate`,attributes:b(b({},i),{},{values:`0;0;1;1;0;0;`})}]}),{tag:`g`,attributes:{class:`missing`},children:e}}}},{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-symbol`);return e.symbol=n===null?!1:n===``||n,e}}}}],{mixoutsTo:Y}),Y.noAuto;var X=Y.config;Y.library,Y.dom;var Li=Y.parse;Y.findIconDefinition,Y.toHtml;var Ri=Y.icon;Y.layer,Y.text,Y.counter,a();function zi(e){return e-=0,e===e}function Bi(e){return zi(e)?e:(e=e.replace(/[_-]+(.)?/g,(e,t)=>t?t.toUpperCase():``),e.charAt(0).toLowerCase()+e.slice(1))}var Vi=(e,t)=>o.createElement(`stop`,{key:`${t}-${e.offset}`,offset:e.offset,stopColor:e.color,...e.opacity!==void 0&&{stopOpacity:e.opacity}});function Hi(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Z=new Map,Ui=1e3;function Wi(e){if(Z.has(e))return Z.get(e);let t={},n=0,r=e.length;for(;n0){let n=o.slice(0,e).trim(),r=o.slice(e+1).trim();if(n&&r){let e=Bi(n);t[e.startsWith(`webkit`)?Hi(e):e]=r}}}n=a+1}if(Z.size===Ui){let e=Z.keys().next().value;e&&Z.delete(e)}return Z.set(e,t),t}function Gi(e,t,n={}){if(typeof t==`string`)return t;let r=(t.children||[]).map(t=>{let r=t;return(`fill`in n||n.gradientFill)&&t.tag===`path`&&`fill`in t.attributes&&(r={...t,attributes:{...t.attributes,fill:void 0}}),Gi(e,r)}),i=t.attributes||{},a={};for(let[e,t]of Object.entries(i))switch(!0){case e===`class`:a.className=t;break;case e===`style`:a.style=Wi(String(t));break;case e.startsWith(`aria-`):case e.startsWith(`data-`):a[e.toLowerCase()]=t;break;default:a[Bi(e)]=t}let{style:o,role:s,"aria-label":c,gradientFill:l,...u}=n;if(o&&(a.style=a.style?{...a.style,...o}:o),s&&(a.role=s),c&&(a[`aria-label`]=c,a[`aria-hidden`]=`false`),l){a.fill=`url(#${l.id})`;let{type:t,stops:n=[],...i}=l;r.unshift(e(t===`linear`?`linearGradient`:`radialGradient`,{...i,id:l.id},n.map(Vi)))}return e(t.tag,{...a,...u},...r)}var Ki=Gi.bind(null,o.createElement),qi=(e,t)=>{let n=(0,o.useId)();return e||(t?n:void 0)},Ji=class{constructor(e=`react-fontawesome`){this.enabled=!1;let t=!1;try{t=typeof process<`u`&&!1}catch{}this.scope=e,this.enabled=t}log(...e){this.enabled&&console.log(`[${this.scope}]`,...e)}warn(...e){this.enabled&&console.warn(`[${this.scope}]`,...e)}error(...e){this.enabled&&console.error(`[${this.scope}]`,...e)}};typeof process<`u`&&{}.FA_VERSION;var Yi=`searchPseudoElementsFullScan`in X&&typeof X.searchPseudoElementsFullScan==`boolean`?`7.0.0`:`6.0.0`,Xi=Number.parseInt(Yi)>=7,Zi=()=>Xi,Qi=`fa`,Q={beat:`fa-beat`,fade:`fa-fade`,beatFade:`fa-beat-fade`,bounce:`fa-bounce`,shake:`fa-shake`,spin:`fa-spin`,spinPulse:`fa-spin-pulse`,spinReverse:`fa-spin-reverse`,pulse:`fa-pulse`,flip360:`fa-flip-360`,buzz:`fa-buzz`,float:`fa-float`,jello:`fa-jello`,spinSnap:`fa-spin-snap`,spinSnap4:`fa-spin-snap-4`,spinSnap8:`fa-spin-snap-8`,swing:`fa-swing`,wag:`fa-wag`},$i={left:`fa-pull-left`,right:`fa-pull-right`},ea={90:`fa-rotate-90`,180:`fa-rotate-180`,270:`fa-rotate-270`},ta={"2xs":`fa-2xs`,xs:`fa-xs`,sm:`fa-sm`,lg:`fa-lg`,xl:`fa-xl`,"2xl":`fa-2xl`,"1x":`fa-1x`,"2x":`fa-2x`,"3x":`fa-3x`,"4x":`fa-4x`,"5x":`fa-5x`,"6x":`fa-6x`,"7x":`fa-7x`,"8x":`fa-8x`,"9x":`fa-9x`,"10x":`fa-10x`},$={border:`fa-border`,fixedWidth:`fa-fw`,flip:`fa-flip`,flipHorizontal:`fa-flip-horizontal`,flipVertical:`fa-flip-vertical`,inverse:`fa-inverse`,rotateBy:`fa-rotate-by`,swapOpacity:`fa-swap-opacity`,widthAuto:`fa-width-auto`,canvasSquare:`fa-canvas-square`,canvasRoomy:`fa-canvas-roomy`},na={default:`fa-layers`};function ra(e){let t=X.cssPrefix||X.familyPrefix||Qi;return t===Qi?e:e.replace(new RegExp(String.raw`(?<=^|\s)${Qi}-`,`g`),`${t}-`)}function ia(e){let{beat:t,fade:n,beatFade:r,bounce:i,shake:a,spin:o,spinPulse:s,spinReverse:c,pulse:l,fixedWidth:u,inverse:d,border:f,flip:p,size:m,rotation:h,pull:g,swapOpacity:_,rotateBy:v,widthAuto:y,canvasSquare:b,canvasRoomy:x,flip360:S,buzz:ee,float:te,jello:C,spinSnap:ne,spinSnap4:w,spinSnap8:re,swing:ie,wag:T,className:E}=e,D=[];return E&&D.push(...E.split(` `)),t&&D.push(Q.beat),n&&D.push(Q.fade),r&&D.push(Q.beatFade),i&&D.push(Q.bounce),a&&D.push(Q.shake),o&&D.push(Q.spin),c&&D.push(Q.spinReverse),s&&D.push(Q.spinPulse),l&&D.push(Q.pulse),u&&D.push($.fixedWidth),d&&D.push($.inverse),f&&D.push($.border),p===!0&&D.push($.flip),(p===`horizontal`||p===`both`)&&D.push($.flipHorizontal),(p===`vertical`||p===`both`)&&D.push($.flipVertical),m!=null&&D.push(ta[m]),h!=null&&h!==0&&D.push(ea[h]),g!=null&&D.push($i[g]),_&&D.push($.swapOpacity),Zi()?(v&&D.push($.rotateBy),y&&D.push($.widthAuto),b&&D.push($.canvasSquare),x&&D.push($.canvasRoomy),S&&D.push(Q.flip360),ee&&D.push(Q.buzz),te&&D.push(Q.float),C&&D.push(Q.jello),ne&&D.push(Q.spinSnap),w&&D.push(Q.spinSnap4),re&&D.push(Q.spinSnap8),ie&&D.push(Q.swing),T&&D.push(Q.wag),(X.cssPrefix||X.familyPrefix||Qi)===Qi?D:D.map(ra)):D}var aa=e=>typeof e==`object`&&`icon`in e&&!!e.icon;function oa(e){if(e)return aa(e)?e:Li.icon(e)}function sa(e){return Object.keys(e)}var ca=new Ji(`FontAwesomeIcon`),la={border:!1,className:``,mask:void 0,maskId:void 0,fixedWidth:!1,inverse:!1,flip:!1,icon:void 0,listItem:!1,pull:void 0,pulse:!1,rotation:void 0,rotateBy:!1,size:void 0,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:``,titleId:void 0,transform:void 0,swapOpacity:!1,widthAuto:!1,canvasSquare:!1,canvasRoomy:!1,flip360:!1,buzz:!1,float:!1,jello:!1,spinSnap:!1,spinSnap4:!1,spinSnap8:!1,swing:!1,wag:!1},ua=new Set(Object.keys(la)),da=o.forwardRef((e,t)=>{let n={...la,...e},{icon:r,mask:i,symbol:a,title:o,titleId:s,maskId:c,transform:l}=n,u=qi(c,!!i),d=qi(s,!!o),f=oa(r);if(!f)return ca.error(`Icon lookup is undefined`,r),null;let p=ia(n),m=typeof l==`string`?Li.transform(l):l,h=oa(i),g=Ri(f,{...p.length>0&&{classes:p},...m&&{transform:m},...h&&{mask:h},symbol:a,title:o,titleId:d,maskId:u});if(!g)return ca.error(`Could not find icon`,f),null;let{abstract:_}=g,v={ref:t};for(let e of sa(n))ua.has(e)||(v[e]=n[e]);return Ki(_[0],v)});da.displayName=`FontAwesomeIcon`,`${na.default}${$.fixedWidth}`;var fa={prefix:`fas`,iconName:`ellipsis`,icon:[448,512,[`ellipsis-h`],`f141`,`M0 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm168 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm224-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z`]},pa={prefix:`fas`,iconName:`magnifying-glass`,icon:[512,512,[128269,`search`],`f002`,`M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z`]},ma={prefix:`fas`,iconName:`floppy-disk`,icon:[448,512,[128190,128426,`save`],`f0c7`,`M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-242.7c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32L64 32zm32 96c0-17.7 14.3-32 32-32l160 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-64zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z`]},ha={prefix:`fas`,iconName:`note-sticky`,icon:[448,512,[62026,`sticky-note`],`f249`,`M64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 213.5c0 17-6.7 33.3-18.7 45.3L322.7 461.3c-12 12-28.3 18.7-45.3 18.7L64 480zM389.5 304L296 304c-13.3 0-24 10.7-24 24l0 93.5 117.5-117.5z`]},ga={prefix:`fas`,iconName:`paper-plane`,icon:[576,512,[61913],`f1d8`,`M536.4-26.3c9.8-3.5 20.6-1 28 6.3s9.8 18.2 6.3 28l-178 496.9c-5 13.9-18.1 23.1-32.8 23.1-14.2 0-27-8.6-32.3-21.7l-64.2-158c-4.5-11-2.5-23.6 5.2-32.6l94.5-112.4c5.1-6.1 4.7-15-.9-20.6s-14.6-6-20.6-.9L229.2 276.1c-9.1 7.6-21.6 9.6-32.6 5.2L38.1 216.8c-13.1-5.3-21.7-18.1-21.7-32.3 0-14.7 9.2-27.8 23.1-32.8l496.9-178z`]},_a={prefix:`fas`,iconName:`flask`,icon:[448,512,[],`f0c3`,`M288 0L128 0C110.3 0 96 14.3 96 32s14.3 32 32 32L128 215.5 7.5 426.3C2.6 435 0 444.7 0 454.7 0 486.4 25.6 512 57.3 512l333.4 0c31.6 0 57.3-25.6 57.3-57.3 0-10-2.6-19.8-7.5-28.4L320 215.5 320 64c17.7 0 32-14.3 32-32S337.7 0 320 0L288 0zM192 215.5l0-151.5 64 0 0 151.5c0 11.1 2.9 22.1 8.4 31.8l41.6 72.7-164 0 41.6-72.7c5.5-9.7 8.4-20.6 8.4-31.8z`]},va={prefix:`fas`,iconName:`sun`,icon:[576,512,[9728],`f185`,`M288-32c8.4 0 16.3 4.4 20.6 11.7L364.1 72.3 468.9 46c8.2-2 16.9 .4 22.8 6.3S500 67 498 75.1l-26.3 104.7 92.7 55.5c7.2 4.3 11.7 12.2 11.7 20.6s-4.4 16.3-11.7 20.6L471.7 332.1 498 436.8c2 8.2-.4 16.9-6.3 22.8S477 468 468.9 466l-104.7-26.3-55.5 92.7c-4.3 7.2-12.2 11.7-20.6 11.7s-16.3-4.4-20.6-11.7L211.9 439.7 107.2 466c-8.2 2-16.8-.4-22.8-6.3S76 445 78 436.8l26.2-104.7-92.6-55.5C4.4 272.2 0 264.4 0 256s4.4-16.3 11.7-20.6L104.3 179.9 78 75.1c-2-8.2 .3-16.8 6.3-22.8S99 44 107.2 46l104.7 26.2 55.5-92.6 1.8-2.6c4.5-5.7 11.4-9.1 18.8-9.1zm0 144a144 144 0 1 0 0 288 144 144 0 1 0 0-288zm0 240a96 96 0 1 1 0-192 96 96 0 1 1 0 192z`]},ya={prefix:`fas`,iconName:`diagram-project`,icon:[512,512,[`project-diagram`],`f542`,`M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 16 128 0 0-16c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-16-128 0 0 16c0 7.3-1.7 14.3-4.6 20.5l68.6 91.5 80 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-7.3 1.7-14.3 4.6-20.5L128 224 48 224c-26.5 0-48-21.5-48-48L0 80z`]},ba={prefix:`fas`,iconName:`chart-line`,icon:[512,512,[`line-chart`],`f201`,`M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 400c0 44.2 35.8 80 80 80l400 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 416c-8.8 0-16-7.2-16-16L64 64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7 262.6 153.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l73.4-73.4 57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z`]},xa={prefix:`fas`,iconName:`gear`,icon:[512,512,[9881,`cog`],`f013`,`M195.1 9.5C198.1-5.3 211.2-16 226.4-16l59.8 0c15.2 0 28.3 10.7 31.3 25.5L332 79.5c14.1 6 27.3 13.7 39.3 22.8l67.8-22.5c14.4-4.8 30.2 1.2 37.8 14.4l29.9 51.8c7.6 13.2 4.9 29.8-6.5 39.9L447 233.3c.9 7.4 1.3 15 1.3 22.7s-.5 15.3-1.3 22.7l53.4 47.5c11.4 10.1 14 26.8 6.5 39.9l-29.9 51.8c-7.6 13.1-23.4 19.2-37.8 14.4l-67.8-22.5c-12.1 9.1-25.3 16.7-39.3 22.8l-14.4 69.9c-3.1 14.9-16.2 25.5-31.3 25.5l-59.8 0c-15.2 0-28.3-10.7-31.3-25.5l-14.4-69.9c-14.1-6-27.2-13.7-39.3-22.8L73.5 432.3c-14.4 4.8-30.2-1.2-37.8-14.4L5.8 366.1c-7.6-13.2-4.9-29.8 6.5-39.9l53.4-47.5c-.9-7.4-1.3-15-1.3-22.7s.5-15.3 1.3-22.7L12.3 185.8c-11.4-10.1-14-26.8-6.5-39.9L35.7 94.1c7.6-13.2 23.4-19.2 37.8-14.4l67.8 22.5c12.1-9.1 25.3-16.7 39.3-22.8L195.1 9.5zM256.3 336a80 80 0 1 0 -.6-160 80 80 0 1 0 .6 160z`]},Sa={prefix:`fas`,iconName:`play`,icon:[448,512,[9654],`f04b`,`M91.2 36.9c-12.4-6.8-27.4-6.5-39.6 .7S32 57.9 32 72l0 368c0 14.1 7.5 27.2 19.6 34.4s27.2 7.5 39.6 .7l336-184c12.8-7 20.8-20.5 20.8-35.1s-8-28.1-20.8-35.1l-336-184z`]},Ca={prefix:`fas`,iconName:`trash-arrow-up`,icon:[448,512,[`trash-restore`],`f829`,`M167.1-16l113.9 0c13.8 0 26 8.8 30.4 21.9L320 32 416 32c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 8.7-26.1C141.1-7.2 153.3-16 167.1-16zM32 144l384 0-21.1 323.1C393.3 492.4 372.3 512 347 512L101 512c-25.3 0-46.3-19.6-47.9-44.9L32 144zm209 79c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31 0 102.1c0 13.3 10.7 24 24 24s24-10.7 24-24l0-102.1 31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72z`]},wa={prefix:`fas`,iconName:`check`,icon:[448,512,[10003,10004],`f00c`,`M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z`]},Ta={prefix:`fas`,iconName:`moon`,icon:[512,512,[127769,9214],`f186`,`M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c68.8 0 131.3-27.2 177.3-71.4 7.3-7 9.4-17.9 5.3-27.1s-13.7-14.9-23.8-14.1c-4.9 .4-9.8 .6-14.8 .6-101.6 0-184-82.4-184-184 0-72.1 41.5-134.6 102.1-164.8 9.1-4.5 14.3-14.3 13.1-24.4S322.6 8.5 312.7 6.3C294.4 2.2 275.4 0 256 0z`]},Ea={prefix:`fas`,iconName:`window-maximize`,icon:[512,512,[128470],`f2d0`,`M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm24 64l336 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L88 176c-13.3 0-24-10.7-24-24s10.7-24 24-24z`]},Da={prefix:`fas`,iconName:`rotate-left`,icon:[512,512,[`rotate-back`,`rotate-backward`,`undo-alt`],`f2ea`,`M24 192l144 0c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-46.7-46.7c75.3-58.6 184.3-53.3 253.5 15.9 75 75 75 196.5 0 271.5s-196.5 75-271.5 0c-10.2-10.2-19-21.3-26.4-33-9.5-14.9-29.3-19.3-44.2-9.8s-19.3 29.3-9.8 44.2C49.7 408.7 61.4 423.5 75 437 175 537 337 537 437 437S537 175 437 75C342.8-19.3 193.3-24.7 92.7 58.8L41 7C34.1 .2 23.8-1.9 14.8 1.8S0 14.3 0 24L0 168c0 13.3 10.7 24 24 24z`]},Oa={prefix:`fas`,iconName:`language`,icon:[576,512,[],`f1ab`,`M160 0c17.7 0 32 14.3 32 32l0 32 128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-9.6 0-8.4 23.1c-16.4 45.2-41.1 86.5-72.2 122 14.2 8.8 29 16.6 44.4 23.5l50.4 22.4 62.2-140c5.1-11.6 16.6-19 29.2-19s24.1 7.4 29.2 19l128 288c7.2 16.2-.1 35.1-16.2 42.2s-35.1-.1-42.2-16.2l-20-45-157.5 0-20 45c-7.2 16.2-26.1 23.4-42.2 16.2s-23.4-26.1-16.2-42.2l39.8-89.5-50.4-22.4c-23-10.2-45-22.4-65.8-36.4-21.3 17.2-44.6 32.2-69.5 44.7L78.3 380.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9l34.5-17.3c16.3-8.2 31.8-17.7 46.4-28.3-13.8-12.7-26.8-26.4-38.9-40.9L81.6 224.7c-11.3-13.6-9.5-33.8 4.1-45.1s33.8-9.5 45.1 4.1l10.2 12.2c11.5 13.9 24.1 26.8 37.4 38.7 27.5-30.4 49.2-66.1 63.5-105.4l.5-1.2-210.3 0C14.3 128 0 113.7 0 96S14.3 64 32 64l96 0 0-32c0-17.7 14.3-32 32-32zM416 270.8L365.7 384 466.3 384 416 270.8z`]},ka={prefix:`fas`,iconName:`arrow-rotate-right`,icon:[512,512,[8635,`arrow-right-rotate`,`arrow-rotate-forward`,`redo`],`f01e`,`M436.7 74.7L448 85.4 448 32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l47.9 0-7.6-7.2c-.2-.2-.4-.4-.6-.6-75-75-196.5-75-271.5 0s-75 196.5 0 271.5 196.5 75 271.5 0c8.2-8.2 15.5-16.9 21.9-26.1 10.1-14.5 30.1-18 44.6-7.9s18 30.1 7.9 44.6c-8.5 12.2-18.2 23.8-29.1 34.7-100 100-262.1 100-362 0S-25 175 75 75c99.9-99.9 261.7-100 361.7-.3z`]},Aa={prefix:`fas`,iconName:`pause`,icon:[384,512,[9208],`f04c`,`M48 32C21.5 32 0 53.5 0 80L0 432c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48L48 32zm224 0c-26.5 0-48 21.5-48 48l0 352c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48l-64 0z`]},ja={prefix:`fas`,iconName:`angles-right`,icon:[448,512,[187,`angle-double-right`],`f101`,`M439.1 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L371.2 256 233.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L179.2 256 41.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z`]},Ma={prefix:`fas`,iconName:`bars`,icon:[448,512,[`navicon`],`f0c9`,`M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z`]},Na={prefix:`fas`,iconName:`angles-left`,icon:[448,512,[171,`angle-double-left`],`f100`,`M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L269.3 256 406.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z`]},Pa={prefix:`fas`,iconName:`list-check`,icon:[512,512,[`tasks`],`f0ae`,`M133.8 36.3c10.9 7.6 13.5 22.6 5.9 33.4l-56 80c-4.1 5.8-10.5 9.5-17.6 10.1S52 158 47 153L7 113C-2.3 103.6-2.3 88.4 7 79S31.6 69.7 41 79l19.8 19.8 39.6-56.6c7.6-10.9 22.6-13.5 33.4-5.9zm0 160c10.9 7.6 13.5 22.6 5.9 33.4l-56 80c-4.1 5.8-10.5 9.5-17.6 10.1S52 318 47 313L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l19.8 19.8 39.6-56.6c7.6-10.9 22.6-13.5 33.4-5.9zM224 96c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32zM64 376a40 40 0 1 1 0 80 40 40 0 1 1 0-80z`]},Fa={prefix:`fas`,iconName:`list-ul`,icon:[512,512,[`list-dots`],`f0ca`,`M48 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM48 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM96 256a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z`]};export{Ca as C,r as D,a as E,va as S,da as T,ha as _,ba as a,Sa as b,fa as c,xa as d,Oa as f,Ta as g,pa as h,Ma as i,_a as l,Fa as m,ja as n,wa as o,Pa as p,ka as r,ya as s,Na as t,ma as u,ga as v,Ea as w,Da as x,Aa as y}; \ No newline at end of file diff --git a/frontend/web/dist/assets/index-BsbGxZOe.css b/frontend/web/dist/assets/index-BsbGxZOe.css new file mode 100644 index 000000000..f3ac39693 --- /dev/null +++ b/frontend/web/dist/assets/index-BsbGxZOe.css @@ -0,0 +1 @@ +@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.card{border:1px solid rgb(var(--glass-edge) / 52%);background:rgb(var(--glass-raised) / 72%);border-radius:.5rem;box-shadow:inset 0 1px #ffffff5c}.chip{border-width:1px;border-color:rgb(var(--line) / .8);border-radius:.375rem;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.75rem;line-height:1rem;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.inset-y-1{top:.25rem;bottom:.25rem}.inset-y-2{top:.5rem;bottom:.5rem}.-bottom-2\.5{bottom:-.625rem}.-left-0\.5{left:-.125rem}.-top-2\.5{top:-.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.left-\[10\%\]{left:10%}.left-\[5px\]{left:5px}.right-0\.5{right:.125rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-4{right:1rem}.right-\[10\%\]{right:10%}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-2{top:.5rem}.top-3{top:.75rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[70\]{z-index:70}.order-2{order:2}.order-3{order:3}.col-span-full{grid-column:1/-1}.m-auto{margin:auto}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-\[7px\]{margin-top:7px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[100dvh\]{height:100dvh}.h-\[62vh\]{height:62vh}.h-\[68vh\]{height:68vh}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-36{max-height:9rem}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[52vh\]{max-height:52vh}.max-h-\[58vh\]{max-height:58vh}.max-h-\[62vh\]{max-height:62vh}.max-h-\[64vh\]{max-height:64vh}.max-h-\[70dvh\]{max-height:70dvh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[76vh\]{max-height:76vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-14{min-height:3.5rem}.min-h-52{min-height:13rem}.min-h-64{min-height:16rem}.min-h-\[3\.25rem\]{min-height:3.25rem}.min-h-\[320px\]{min-height:320px}.min-h-\[38px\]{min-height:38px}.min-h-\[60vh\]{min-height:60vh}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[min\(92vw\,42rem\)\]{width:min(92vw,42rem)}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-3\.5{min-width:.875rem}.min-w-32{min-width:8rem}.min-w-52{min-width:13rem}.min-w-max{min-width:max-content}.max-w-24{max-width:6rem}.max-w-28{max-width:7rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-64{max-width:16rem}.max-w-6xl{max-width:72rem}.max-w-72{max-width:18rem}.max-w-\[calc\(100\%_-_3rem\)\]{max-width:calc(100% - 3rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-appear{animation:.2s cubic-bezier(.4,0,.2,1) appear}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[16px_minmax\(0\,1fr\)\]{grid-template-columns:16px minmax(0,1fr)}.grid-cols-\[44px_10px_minmax\(0\,1fr\)\]{grid-template-columns:44px 10px minmax(0,1fr)}.grid-cols-\[72px_minmax\(0\,1fr\)\]{grid-template-columns:72px minmax(0,1fr)}.grid-cols-\[84px_minmax\(0\,1fr\)_auto\]{grid-template-columns:84px minmax(0,1fr) auto}.grid-cols-\[8px_minmax\(0\,1fr\)_auto\]{grid-template-columns:8px minmax(0,1fr) auto}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue{--tw-border-opacity:1;border-color:rgb(var(--blue) / var(--tw-border-opacity,1))}.border-blue-deep{--tw-border-opacity:1;border-color:rgb(var(--blue-deep) / var(--tw-border-opacity,1))}.border-blue-deep\/30{border-color:rgb(var(--blue-deep) / .3)}.border-blue-deep\/50{border-color:rgb(var(--blue-deep) / .5)}.border-blue-deep\/60{border-color:rgb(var(--blue-deep) / .6)}.border-blue\/25{border-color:rgb(var(--blue) / .25)}.border-blue\/30{border-color:rgb(var(--blue) / .3)}.border-blue\/35{border-color:rgb(var(--blue) / .35)}.border-blue\/50{border-color:rgb(var(--blue) / .5)}.border-blue\/70{border-color:rgb(var(--blue) / .7)}.border-err\/30{border-color:#dc7d784d}.border-err\/40{border-color:#dc7d7866}.border-err\/50{border-color:#dc7d7880}.border-err\/60{border-color:#dc7d7899}.border-gold\/25{border-color:#d1b27c40}.border-gold\/30{border-color:#d1b27c4d}.border-gold\/40{border-color:#d1b27c66}.border-line{--tw-border-opacity:1;border-color:rgb(var(--line) / var(--tw-border-opacity,1))}.border-line\/30{border-color:rgb(var(--line) / .3)}.border-line\/40{border-color:rgb(var(--line) / .4)}.border-line\/50{border-color:rgb(var(--line) / .5)}.border-line\/60{border-color:rgb(var(--line) / .6)}.border-line\/70{border-color:rgb(var(--line) / .7)}.border-line\/80{border-color:rgb(var(--line) / .8)}.border-manager\/70{border-color:rgb(var(--role-manager) / .7)}.border-ok\/20{border-color:#78b89233}.border-ok\/25{border-color:#78b89240}.border-ok\/35{border-color:#78b89259}.border-ok\/40{border-color:#78b89266}.border-ok\/60{border-color:#78b89299}.border-panel{--tw-border-opacity:1;border-color:rgb(var(--panel) / var(--tw-border-opacity,1))}.border-warn\/40{border-color:#d1ad6866}.border-warn\/50{border-color:#d1ad6880}.border-t-blue{--tw-border-opacity:1;border-top-color:rgb(var(--blue) / var(--tw-border-opacity,1))}.bg-\[rgb\(4_11_24_\/_0\.58\)\]{background-color:#040b1894}.bg-bg{--tw-bg-opacity:1;background-color:rgb(var(--bg) / var(--tw-bg-opacity,1))}.bg-bg\/25{background-color:rgb(var(--bg) / .25)}.bg-bg\/30{background-color:rgb(var(--bg) / .3)}.bg-bg\/35{background-color:rgb(var(--bg) / .35)}.bg-bg\/40{background-color:rgb(var(--bg) / .4)}.bg-bg\/50{background-color:rgb(var(--bg) / .5)}.bg-bg\/60{background-color:rgb(var(--bg) / .6)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/40{background-color:#0006}.bg-blue{--tw-bg-opacity:1;background-color:rgb(var(--blue) / var(--tw-bg-opacity,1))}.bg-blue-deep{--tw-bg-opacity:1;background-color:rgb(var(--blue-deep) / var(--tw-bg-opacity,1))}.bg-blue-deep\/10{background-color:rgb(var(--blue-deep) / .1)}.bg-blue-deep\/20{background-color:rgb(var(--blue-deep) / .2)}.bg-blue-deep\/5{background-color:rgb(var(--blue-deep) / .05)}.bg-blue-sky{--tw-bg-opacity:1;background-color:rgb(var(--blue-sky) / var(--tw-bg-opacity,1))}.bg-blue\/10{background-color:rgb(var(--blue) / .1)}.bg-blue\/5{background-color:rgb(var(--blue) / .05)}.bg-conversation-user{--tw-bg-opacity:1;background-color:rgb(var(--conversation-user) / var(--tw-bg-opacity,1))}.bg-engineer{--tw-bg-opacity:1;background-color:rgb(var(--role-engineer) / var(--tw-bg-opacity,1))}.bg-err{--tw-bg-opacity:1;background-color:rgb(220 125 120/var(--tw-bg-opacity,1))}.bg-err\/10{background-color:#dc7d781a}.bg-err\/5{background-color:#dc7d780d}.bg-gold{--tw-bg-opacity:1;background-color:rgb(209 178 124/var(--tw-bg-opacity,1))}.bg-gold\/5{background-color:#d1b27c0d}.bg-gold\/80{background-color:#d1b27ccc}.bg-ink-faint{--tw-bg-opacity:1;background-color:rgb(var(--ink-faint) / var(--tw-bg-opacity,1))}.bg-ink-faint\/35{background-color:rgb(var(--ink-faint) / .35)}.bg-ink-faint\/50{background-color:rgb(var(--ink-faint) / .5)}.bg-line{--tw-bg-opacity:1;background-color:rgb(var(--line) / var(--tw-bg-opacity,1))}.bg-line\/30{background-color:rgb(var(--line) / .3)}.bg-line\/40{background-color:rgb(var(--line) / .4)}.bg-line\/60{background-color:rgb(var(--line) / .6)}.bg-line\/80{background-color:rgb(var(--line) / .8)}.bg-manager\/10{background-color:rgb(var(--role-manager) / .1)}.bg-ok{--tw-bg-opacity:1;background-color:rgb(120 184 146/var(--tw-bg-opacity,1))}.bg-ok\/10{background-color:#78b8921a}.bg-ok\/5{background-color:#78b8920d}.bg-panel{--tw-bg-opacity:1;background-color:rgb(var(--panel) / var(--tw-bg-opacity,1))}.bg-panel-raised{--tw-bg-opacity:1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity,1))}.bg-panel\/80{background-color:rgb(var(--panel) / .8)}.bg-panel\/85{background-color:rgb(var(--panel) / .85)}.bg-panel\/95{background-color:rgb(var(--panel) / .95)}.bg-surface{--tw-bg-opacity:1;background-color:rgb(var(--surface) / var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-warn\/10{background-color:#d1ad681a}.bg-warn\/5{background-color:#d1ad680d}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/\[0\.03\]{background-color:#ffffff08}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-0\.5{padding-left:.125rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-10{padding-right:2.5rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace}.font-sans{font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[1\.625\]{line-height:1.625}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-bg{--tw-text-opacity:1;color:rgb(var(--bg) / var(--tw-text-opacity,1))}.text-blue{--tw-text-opacity:1;color:rgb(var(--blue) / var(--tw-text-opacity,1))}.text-blue-sky{--tw-text-opacity:1;color:rgb(var(--blue-sky) / var(--tw-text-opacity,1))}.text-err{--tw-text-opacity:1;color:rgb(220 125 120/var(--tw-text-opacity,1))}.text-gold{--tw-text-opacity:1;color:rgb(209 178 124/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(var(--ink) / var(--tw-text-opacity,1))}.text-ink-dim{--tw-text-opacity:1;color:rgb(var(--ink-dim) / var(--tw-text-opacity,1))}.text-ink-faint{--tw-text-opacity:1;color:rgb(var(--ink-faint) / var(--tw-text-opacity,1))}.text-manager{--tw-text-opacity:1;color:rgb(var(--role-manager) / var(--tw-text-opacity,1))}.text-ok{--tw-text-opacity:1;color:rgb(120 184 146/var(--tw-text-opacity,1))}.text-warn{--tw-text-opacity:1;color:rgb(209 173 104/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-blue\/35{-webkit-text-decoration-color:rgb(var(--blue) / .35);text-decoration-color:rgb(var(--blue) / .35)}.underline-offset-2{text-underline-offset:2px}.accent-blue{accent-color:rgb(var(--blue) / 1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[0_10px_24px_-20px_rgb\(var\(--spectral-blue\)\/0\.8\)\]{--tw-shadow:0 10px 24px -20px rgb(var(--spectral-blue)/.8);--tw-shadow-colored:0 10px 24px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_12px_36px_-22px_rgb\(var\(--spectral-violet\)\/0\.7\)\]{--tw-shadow:0 12px 36px -22px rgb(var(--spectral-violet)/.7);--tw-shadow-colored:0 12px 36px -22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-glow{--tw-shadow:0 16px 44px #00000057;--tw-shadow-colored:0 16px 44px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-bg{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--bg) / var(--tw-ring-opacity,1))}.ring-err\/30{--tw-ring-color:#dc7d784d}.ring-line\/35{--tw-ring-color:rgb(var(--line) / .35)}.ring-manager\/60{--tw-ring-color:rgb(var(--role-manager) / .6)}.ring-ok\/30{--tw-ring-color:#78b8924d}.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-panel{--tw-ring-offset-color:rgb(var(--panel) / 1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,transform\,visibility\]{transition-property:width,transform,visibility;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-\[250ms\]{transition-duration:.25s}.duration-panel{transition-duration:.22s}.ease-panel{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:249 250 251;--surface:255 255 255;--panel:252 252 253;--panel-raised:255 255 255;--line:214 216 220;--ink:17 24 39;--ink-dim:107 114 128;--ink-faint:156 163 175;--blue:7 95 228;--blue-deep:11 46 104;--blue-sky:7 95 228;--role-manager:37 99 235;--role-planner:126 34 206;--role-engineer:21 128 61;--role-reviewer:161 98 7;--conversation-user:243 244 246;--conversation-argus:238 242 255;--spectral-blue:7 95 228;--spectral-violet:48 104 184;--spectral-rose:191 135 41;--spectral-gold:207 153 49;--glass:255 255 255;--glass-raised:255 255 255;--glass-edge:179 192 214}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:13 14 18;--surface:20 22 28;--panel:20 22 28;--panel-raised:26 28 35;--line:71 82 100;--ink:249 250 251;--ink-dim:156 163 175;--ink-faint:107 114 128;--blue:110 168 255;--blue-deep:47 94 168;--blue-sky:155 192 255;--role-manager:147 197 253;--role-planner:216 180 254;--role-engineer:134 239 172;--role-reviewer:253 230 138;--conversation-user:31 41 55;--conversation-argus:30 27 75;--spectral-blue:110 168 255;--spectral-violet:118 176 242;--spectral-rose:237 201 111;--spectral-gold:237 201 111;--glass:15 27 45;--glass-raised:20 35 57;--glass-edge:65 88 122;font-synthesis:none}html,body,#root{height:100%}body{background:rgb(var(--bg) / 1);color:rgb(var(--ink) / 1);font-optical-sizing:auto;font-feature-settings:"ss01" 1, "cv02" 1, "cv03" 1, "cv04" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif;transition:background-color .14s,color .14s;overflow:hidden}.workbench-shell{isolation:isolate;background:radial-gradient(circle at 8% 0%, rgb(var(--spectral-blue) / 18%), transparent 36rem), radial-gradient(circle at 52% 48%, rgb(var(--spectral-violet) / 12%), transparent 42rem), radial-gradient(circle at 92% 100%, rgb(var(--spectral-gold) / 16%), transparent 34rem), rgb(var(--bg))}:root[data-theme=dark] .workbench-shell{background:radial-gradient(circle at 8% 0%, rgb(var(--spectral-blue) / 22%), transparent 38rem), radial-gradient(circle at 52% 48%, rgb(var(--spectral-violet) / 16%), transparent 44rem), radial-gradient(circle at 92% 100%, rgb(var(--spectral-gold) / 20%), transparent 36rem), rgb(var(--bg))}.ambient-canvas{position:relative}.ambient-canvas:before{content:"";z-index:-1;pointer-events:none;opacity:.55;background:radial-gradient(circle at 18% 24%, rgb(var(--spectral-blue) / 22%), transparent 26%), radial-gradient(circle at 82% 72%, rgb(var(--spectral-gold) / 18%), transparent 24%);filter:blur(32px);will-change:transform, opacity;animation:60s ease-in-out infinite alternate ambient-drift;position:absolute;inset:-12%;transform:translate(-2%,-1%)scale(1.03)}@keyframes ambient-drift{to{opacity:.8;transform:translate(3%,2%)scale(1.08)}}[data-page-visible=false] .ambient-canvas:before{animation-play-state:paused}.glass-panel{border-color:rgb(var(--glass-edge) / 55%);background:linear-gradient(145deg, rgb(var(--glass) / 76%), rgb(var(--glass-raised) / 66%));box-shadow:inset 0 1px 0 rgb(var(--spectral-blue) / 12%), inset -1px 0 0 rgb(var(--spectral-gold) / 6%);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15)}.glass-panel--side,.glass-panel--main,.glass-panel--raised{background:linear-gradient(145deg, rgb(var(--glass) / 76%), rgb(var(--glass-raised) / 68%)) padding-box, linear-gradient(125deg, rgb(var(--spectral-blue) / 48%), rgb(var(--spectral-violet) / 24%) 48%, rgb(var(--spectral-gold) / 42%)) border-box;box-shadow:inset 0 1px 0 #ffffff75, 0 24px 70px -48px rgb(var(--spectral-blue) / 42%);-webkit-backdrop-filter:blur(22px)saturate(1.28);backdrop-filter:blur(22px)saturate(1.28);border-color:#0000}.glass-panel--side{background:linear-gradient(145deg, rgb(var(--glass) / 72%), rgb(var(--glass-raised) / 64%)) padding-box, linear-gradient(125deg, rgb(var(--spectral-blue) / 45%), rgb(var(--spectral-violet) / 20%) 48%, rgb(var(--spectral-gold) / 38%)) border-box}.glass-panel--main{background:linear-gradient(145deg, rgb(var(--glass) / 92%), rgb(var(--glass-raised) / 88%)) padding-box, linear-gradient(125deg, rgb(var(--spectral-blue) / 38%), rgb(var(--spectral-violet) / 18%) 48%, rgb(var(--spectral-gold) / 34%)) border-box}.glass-panel--raised{background:linear-gradient(145deg, rgb(var(--glass-raised) / 97%), rgb(var(--glass) / 92%)) padding-box, linear-gradient(125deg, rgb(var(--spectral-blue) / 62%), rgb(var(--spectral-violet) / 34%) 48%, rgb(var(--spectral-gold) / 58%)) border-box;box-shadow:inset 0 1px 0 #ffffff94, 0 30px 90px -42px rgb(var(--spectral-violet) / 55%), 0 14px 42px -34px rgb(var(--spectral-gold) / 45%)}.glass-card{border:1px solid rgb(var(--glass-edge) / 52%);background:rgb(var(--glass-raised) / 72%);box-shadow:inset 0 1px #ffffff5c}.brand-button{z-index:0;isolation:isolate;border:2px solid #0000;border-radius:9px;min-height:32px;padding:.3rem .7rem;font-size:.75rem;font-weight:600;transition:color .18s,box-shadow .18s,filter .18s;position:relative;overflow:hidden}.brand-button:before,.brand-button:after{content:"";pointer-events:none;position:absolute}.brand-button:before{z-index:-2;background:radial-gradient(circle at 18% 24%, rgb(var(--spectral-blue)) 0 8%, transparent 20%), radial-gradient(circle at 78% 20%, rgb(var(--spectral-violet)) 0 9%, transparent 22%), radial-gradient(circle at 82% 78%, rgb(var(--spectral-rose)) 0 8%, transparent 21%), radial-gradient(circle at 24% 78%, rgb(var(--spectral-gold)) 0 9%, transparent 22%), rgb(var(--spectral-violet));filter:blur(4px)saturate(1.35);inset:-80%}.brand-button:after{z-index:-1;background:rgb(var(--glass-raised) / 94%);border-radius:6px;inset:1px;box-shadow:inset 0 1px #ffffff85}.brand-button-primary{color:#17131f;box-shadow:0 8px 24px -16px rgb(var(--spectral-violet) / 72%), 0 0 14px -9px rgb(var(--spectral-gold) / 75%)}.brand-button-primary:after{background:#fffffff0}.brand-button-ghost{color:rgb(var(--ink-dim))}.brand-button-ghost:before{opacity:.48}.brand-button-danger{color:#dc7d78}.brand-button-danger:before{background:rgb(var(--spectral-rose) / 68%);opacity:.7}.brand-button-danger:after{background:rgb(var(--glass-raised) / 96%)}.brand-button:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.42}.panel-header{border-color:rgb(var(--glass-edge) / 48%);background:linear-gradient(90deg, rgb(var(--glass) / 44%), transparent)}.brand-modal{box-shadow:inset 0 1px 0 #ffffff6b, 0 30px 90px -34px #020a22c7, 0 0 0 1px rgb(var(--spectral-violet) / 10%)}.handshake-mark{color:rgb(var(--spectral-blue));box-shadow:0 20px 58px -30px rgb(var(--spectral-violet) / 75%), 0 0 32px -18px rgb(var(--spectral-gold) / 72%)}.handshake-line{background:linear-gradient(90deg, rgb(var(--spectral-blue)), rgb(var(--spectral-violet)), rgb(var(--spectral-gold)))}.handshake-node{border-color:rgb(var(--spectral-violet) / 58%);background:rgb(var(--glass-raised) / 94%);box-shadow:0 0 14px -6px rgb(var(--spectral-blue) / 68%)}.icon-control,.compact-control,.send-control{border:1px solid rgb(var(--glass-edge) / 58%);background:rgb(var(--glass-raised) / 56%);color:rgb(var(--ink-faint));border-radius:8px;transition:border-color .18s,background-color .18s,color .18s,box-shadow .18s;box-shadow:inset 0 1px #ffffff3d}.compact-control{font-size:.75rem}.send-control{border-color:rgb(var(--spectral-violet) / 58%);background:radial-gradient(circle at 25% 20%, rgb(var(--spectral-blue) / 20%), transparent 48%), rgb(var(--glass-raised) / 82%);color:rgb(var(--spectral-blue));box-shadow:inset 0 1px 0 #ffffff52, 0 8px 22px -14px rgb(var(--spectral-violet) / 68%)}.session-card{background:rgb(var(--glass-raised) / 24%);border:1px solid #0000}.session-card[data-active=true]{border-color:rgb(var(--spectral-blue) / 42%);background:linear-gradient(100deg, rgb(var(--spectral-blue) / 12%), rgb(var(--spectral-gold) / 8%)), rgb(var(--glass-raised) / 70%);box-shadow:inset 2px 0 0 rgb(var(--spectral-blue)), inset -1px 0 0 rgb(var(--spectral-gold) / 55%), 0 10px 26px -20px rgb(var(--spectral-blue) / 72%)}.workspace-tabs{border:1px solid rgb(var(--glass-edge) / 58%);background:rgb(var(--glass-raised) / 48%);border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));width:222px;padding:3px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff47}.workspace-tab{z-index:1;height:26px;color:rgb(var(--ink-faint));border-radius:6px;font-size:.75rem;transition:color .2s;position:relative}.workspace-tab[data-selected=true]{color:rgb(var(--ink))}.workspace-tab-indicator{background:linear-gradient(rgb(var(--glass-raised) / 94%), rgb(var(--glass-raised) / 88%)) padding-box, linear-gradient(90deg, rgb(var(--spectral-blue) / 80%), rgb(var(--spectral-gold) / 72%)) border-box;width:calc(33.3333% - 2px);box-shadow:0 6px 16px -12px rgb(var(--spectral-blue) / 80%), inset 0 1px 0 #ffffff7a;border:1px solid #0000;border-radius:6px;transition:transform .2s cubic-bezier(.2,.8,.2,1);position:absolute;top:3px;bottom:3px;left:3px}.workspace-tabs[data-active=activity] .workspace-tab-indicator{transform:translate(100%)}.workspace-tabs[data-active=workbench] .workspace-tab-indicator{transform:translate(200%)}.workbench-module-tab{min-height:30px;color:rgb(var(--ink-faint));border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.72rem;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.workbench-module-tab:hover{border-color:rgb(var(--glass-edge) / 55%);background:rgb(var(--glass-raised) / 45%);color:rgb(var(--ink))}.workbench-module-tab[data-selected=true]{border-color:rgb(var(--spectral-blue) / 42%);background:linear-gradient(100deg, rgb(var(--spectral-blue) / 12%), rgb(var(--spectral-gold) / 8%)), rgb(var(--glass-raised) / 72%);color:rgb(var(--ink));box-shadow:inset 0 1px #ffffff57}.role-log-group{transition:background-color .2s,box-shadow .2s;position:relative}.role-log-group:before{content:"";opacity:0;background:linear-gradient(180deg, rgb(var(--spectral-blue)), rgb(var(--spectral-gold)));border-radius:999px;width:2px;transition:opacity .2s,box-shadow .2s;position:absolute;inset:5px auto 5px 0}.role-log-group[data-open=true]{background:linear-gradient(90deg, rgb(var(--spectral-blue) / 5%), transparent 38%)}.role-log-group[data-open=true]:before{opacity:1}.role-log-group[data-active=true]:before{box-shadow:0 0 14px rgb(var(--spectral-blue) / 52%)}@media (hover:hover) and (pointer:fine){.icon-control:hover,.compact-control:hover,.send-control:hover{border-color:rgb(var(--spectral-violet) / 58%);background-color:rgb(var(--glass-raised) / 88%);color:rgb(var(--ink));box-shadow:inset 0 1px 0 #ffffff57, 0 8px 22px -16px rgb(var(--spectral-blue) / 58%)}.session-card:hover{border-color:rgb(var(--spectral-blue) / 24%)}.brand-button:hover{color:rgb(var(--ink));box-shadow:0 12px 30px -16px rgb(var(--spectral-violet) / 78%), 0 0 18px -9px rgb(var(--spectral-gold) / 78%)}.brand-button-primary:hover{color:#17131f}}@media (hover:none),(pointer:coarse){.brand-button:active{filter:brightness(.92)}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--mobile-tabbar-height:calc(3.25rem + var(--safe-bottom));--keyboard-inset:0px}.safe-inset-x{padding-left:var(--safe-left);padding-right:var(--safe-right)}.safe-inset-top{padding-top:var(--safe-top)}.safe-inset-bottom{padding-bottom:var(--safe-bottom)}@media (pointer:coarse){.icon-control,.compact-control,.workspace-tab{position:relative}.icon-control:after,.compact-control:after,.workspace-tab:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (width<=1023px){.mobile-scroll-region{padding-bottom:calc(var(--mobile-tabbar-height) + .5rem)}}.mobile-tabbar{bottom:var(--keyboard-inset);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);transition:bottom .12s ease-out}.composer-dock{padding-bottom:calc(var(--keyboard-inset) + 1.5rem);transition:padding-bottom .12s ease-out}@media (width<=1023px){.composer-dock{padding-bottom:calc(var(--mobile-tabbar-height) + var(--keyboard-inset) + 1.5rem)}}@media (prefers-reduced-motion:reduce){.composer-dock,.mobile-tabbar{transition:none}}@keyframes argus-web-splash-exit{0%,25%{opacity:1}to{opacity:0}}@keyframes argus-web-splash-color{0%{background-position:0%}to{background-position:180%}}.argus-web-splash{z-index:200;cursor:pointer;background:rgb(var(--bg));will-change:opacity;justify-content:center;align-items:center;animation:.18s ease-out forwards argus-web-splash-exit;display:flex;position:fixed;inset:0;overflow:hidden}.argus-web-splash-logo{color:#0000;background:linear-gradient(90deg, rgb(var(--spectral-blue)), rgb(var(--blue-sky)), rgb(var(--spectral-gold)), rgb(var(--spectral-blue)));-webkit-user-select:none;user-select:none;will-change:background-position;background-size:180% 100%;-webkit-background-clip:text;background-clip:text;max-width:100%;padding:1rem;font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace;font-size:clamp(6px,1.05vw,13px);font-weight:600;line-height:1.08;animation:.18s linear argus-web-splash-color;overflow:hidden}.argus-web-splash-logo-full{display:none}.argus-web-splash-logo-compact{display:block}@media (width>=780px){.argus-web-splash-logo-full{display:block}.argus-web-splash-logo-compact{display:none}}::selection{color:rgb(var(--ink) / 1);background:#3f6f9f8c}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}:where(button,input,textarea):focus-visible{outline:2px solid rgb(var(--blue-sky) / 1);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scroll-smooth{scroll-behavior:auto!important}.ambient-canvas:before{animation:none!important}}.scroll-thin::-webkit-scrollbar{width:7px;height:7px}.scroll-thin{scrollbar-width:thin;scrollbar-color:rgb(var(--ink-faint) / 45%) transparent}.scroll-thin::-webkit-scrollbar-thumb{background:rgb(var(--ink-faint) / 38%);border:1px solid rgb(var(--panel) / 80%);border-radius:9999px}.scroll-thin::-webkit-scrollbar-thumb:hover{background:rgb(var(--ink-faint) / 65%)}.scroll-thin::-webkit-scrollbar-track{background:0 0;border-radius:9999px}.slash-completion-menu{overscroll-behavior:contain;max-height:min(22rem,42dvh);overflow-y:auto}.placeholder\:text-ink-faint::placeholder{--tw-text-opacity:1;color:rgb(var(--ink-faint) / var(--tw-text-opacity,1))}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:border-blue\/60:focus-within{border-color:rgb(var(--blue) / .6)}.hover\:border-blue:hover{--tw-border-opacity:1;border-color:rgb(var(--blue) / var(--tw-border-opacity,1))}.hover\:border-blue-sky\/50:hover{border-color:rgb(var(--blue-sky) / .5)}.hover\:border-blue-sky\/60:hover{border-color:rgb(var(--blue-sky) / .6)}.hover\:border-blue\/45:hover{border-color:rgb(var(--blue) / .45)}.hover\:border-blue\/50:hover{border-color:rgb(var(--blue) / .5)}.hover\:border-blue\/60:hover{border-color:rgb(var(--blue) / .6)}.hover\:border-err\/50:hover{border-color:#dc7d7880}.hover\:border-ink-faint:hover{--tw-border-opacity:1;border-color:rgb(var(--ink-faint) / var(--tw-border-opacity,1))}.hover\:border-manager:hover{--tw-border-opacity:1;border-color:rgb(var(--role-manager) / var(--tw-border-opacity,1))}.hover\:border-warn\/60:hover{border-color:#d1ad6899}.hover\:bg-bg:hover{--tw-bg-opacity:1;background-color:rgb(var(--bg) / var(--tw-bg-opacity,1))}.hover\:bg-bg\/60:hover{background-color:rgb(var(--bg) / .6)}.hover\:bg-bg\/70:hover{background-color:rgb(var(--bg) / .7)}.hover\:bg-blue-deep\/20:hover{background-color:rgb(var(--blue-deep) / .2)}.hover\:bg-blue-deep\/80:hover{background-color:rgb(var(--blue-deep) / .8)}.hover\:bg-blue-deep\/85:hover{background-color:rgb(var(--blue-deep) / .85)}.hover\:bg-blue\/10:hover{background-color:rgb(var(--blue) / .1)}.hover\:bg-blue\/20:hover{background-color:rgb(var(--blue) / .2)}.hover\:bg-err\/10:hover{background-color:#dc7d781a}.hover\:bg-line\/20:hover{background-color:rgb(var(--line) / .2)}.hover\:bg-manager\/20:hover{background-color:rgb(var(--role-manager) / .2)}.hover\:bg-panel:hover{--tw-bg-opacity:1;background-color:rgb(var(--panel) / var(--tw-bg-opacity,1))}.hover\:bg-panel-raised:hover{--tw-bg-opacity:1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity,1))}.hover\:bg-panel\/60:hover{background-color:rgb(var(--panel) / .6)}.hover\:bg-surface:hover{--tw-bg-opacity:1;background-color:rgb(var(--surface) / var(--tw-bg-opacity,1))}.hover\:bg-warn\/10:hover{background-color:#d1ad681a}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-blue:hover{--tw-text-opacity:1;color:rgb(var(--blue) / var(--tw-text-opacity,1))}.hover\:text-err:hover{--tw-text-opacity:1;color:rgb(220 125 120/var(--tw-text-opacity,1))}.hover\:text-gold-soft:hover{--tw-text-opacity:1;color:rgb(224 204 164/var(--tw-text-opacity,1))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(var(--ink) / var(--tw-text-opacity,1))}.hover\:text-ink-dim:hover{--tw-text-opacity:1;color:rgb(var(--ink-dim) / var(--tw-text-opacity,1))}.hover\:decoration-blue:hover{-webkit-text-decoration-color:rgb(var(--blue) / 1);text-decoration-color:rgb(var(--blue) / 1)}.hover\:opacity-100:hover{opacity:1}.focus\:border-blue:focus{--tw-border-opacity:1;border-color:rgb(var(--blue) / var(--tw-border-opacity,1))}.focus\:border-blue-deep:focus{--tw-border-opacity:1;border-color:rgb(var(--blue-deep) / var(--tw-border-opacity,1))}.focus\:border-blue\/60:focus{border-color:rgb(var(--blue) / .6)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-sky\/50:focus-visible{--tw-ring-color:rgb(var(--blue-sky) / .5)}.focus-visible\:ring-blue\/50:focus-visible{--tw-ring-color:rgb(var(--blue) / .5)}.active\:bg-panel-raised:active{--tw-bg-opacity:1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity,1))}.enabled\:hover\:text-blue-sky:hover:enabled{--tw-text-opacity:1;color:rgb(var(--blue-sky) / var(--tw-text-opacity,1))}.enabled\:focus-visible\:underline:focus-visible:enabled{text-decoration-line:underline}.enabled\:focus-visible\:outline-none:focus-visible:enabled{outline-offset:2px;outline:2px solid #0000}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:text-ink-faint:disabled{--tw-text-opacity:1;color:rgb(var(--ink-faint) / var(--tw-text-opacity,1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:bg-blue\/70{background-color:rgb(var(--blue) / .7)}.group:hover .group-hover\:bg-ink-faint\/30{background-color:rgb(var(--ink-faint) / .3)}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:bg-blue\/70{background-color:rgb(var(--blue) / .7)}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media (width>=640px){.sm\:left-auto{left:auto}.sm\:order-none{order:0}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:h-20{height:5rem}.sm\:max-h-\[88dvh\]{max-height:88dvh}.sm\:w-20{width:5rem}.sm\:w-auto{width:auto}.sm\:max-w-48{max-width:12rem}.sm\:max-w-\[82\%\]{max-width:82%}.sm\:max-w-md{max-width:28rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[100px_minmax\(0\,1fr\)\]{grid-template-columns:100px minmax(0,1fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:gap-3{gap:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-16{padding-top:4rem}.sm\:text-right{text-align:right}.sm\:opacity-0{opacity:0}.group:focus-within .sm\:group-focus-within\:opacity-100,.group:hover .sm\:group-hover\:opacity-100{opacity:1}}@media (width>=1024px){.lg\:visible{visibility:visible}.lg\:static{position:static}.lg\:z-auto{z-index:auto}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:w-14{width:3.5rem}.lg\:w-\[var\(--preview-width\)\]{width:var(--preview-width)}.lg\:w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.lg\:max-w-\[61\.8vw\]{max-width:61.8vw}.lg\:flex-none{flex:none}.lg\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(260px\,0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(300px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.lg\:gap-3{gap:.75rem}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:overflow-hidden{overflow:hidden}.lg\:border-b-0{border-bottom-width:0}.lg\:border-r{border-right-width:1px}}@media (width>=1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} diff --git a/frontend/web/dist/assets/index-D1Yz0LUk.js b/frontend/web/dist/assets/index-D1Yz0LUk.js new file mode 100644 index 000000000..207ed7151 --- /dev/null +++ b/frontend/web/dist/assets/index-D1Yz0LUk.js @@ -0,0 +1,30 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/motion-sqs9Ax-g.js","assets/rolldown-runtime-hePW80VL.js","assets/ResearchWorkbenchPanel-BaphEhte.js","assets/icons-BgG77X6K.js","assets/query-DOc9YWJi.js","assets/markdown-BdostSiP.js","assets/ResearchWorkbenchPanel-Bxi8TjKE.css"])))=>i.map(i=>d[i]); +import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{C as n,D as r,E as i,S as a,T as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as m,i as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w,v as T,w as ee,x as te,y as E}from"./icons-BgG77X6K.js";import{_ as ne,a as re,c as ie,d as ae,f as D,g as O,h as oe,i as se,l as ce,m as k,n as le,o as A,p as ue,r as de,s as fe,t as j,u as pe,v as me,y as he}from"./query-DOc9YWJi.js";import{n as ge,t as _e}from"./markdown-BdostSiP.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ve=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m){if(n(c)!==null)m=!0,ae(x);else{var t=n(l);t!==null&&D(b,t.startTime-e)}}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!te());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&D(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,ee=-1;function te(){return!(e.unstable_now()-eee||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,D(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ae(x))),r},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ye=t(((e,t)=>{t.exports=ve()})),be=t((e=>{var t=r(),n=ye();function i(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n`u`||window.document===void 0||window.document.createElement===void 0),u=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},p={};function m(e){return u.call(p,e)?!0:u.call(f,e)?!1:d.test(e)?p[e]=!0:(f[e]=!0,!1)}function h(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function g(e,t,n,r){if(t==null||h(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function _(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var v={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){v[e]=new _(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];v[t]=new _(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){v[e]=new _(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){v[e]=new _(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){v[e]=new _(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){v[e]=new _(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){v[e]=new _(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){v[e]=new _(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){v[e]=new _(e,5,!1,e.toLowerCase(),null,!1,!1)});var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(y,b);v[t]=new _(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(y,b);v[t]=new _(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(y,b);v[t]=new _(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){v[e]=new _(e,1,!1,e.toLowerCase(),null,!1,!1)}),v.xlinkHref=new _(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){v[e]=new _(e,1,!1,e.toLowerCase(),null,!0,!0)});function x(e,t,n,r){var i=v.hasOwnProperty(t)?v[t]:null;(i===null?r||!(2s||i[o]!==a[s]){var c=` +`+i[o].replace(` at new `,` at `);return e.displayName&&c.includes(``)&&(c=c.replace(``,e.displayName)),c}while(1<=o&&0<=s);break}}}finally{ue=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?A(e):``}function fe(e){switch(e.tag){case 5:return A(e.type);case 16:return A(`Lazy`);case 13:return A(`Suspense`);case 19:return A(`SuspenseList`);case 0:case 2:case 15:return e=de(e.type,!1),e;case 11:return e=de(e.type.render,!1),e;case 1:return e=de(e.type,!0),e;default:return``}}function j(e){if(e==null)return null;if(typeof e==`function`)return e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case T:return`Fragment`;case w:return`Portal`;case te:return`Profiler`;case ee:return`StrictMode`;case ie:return`Suspense`;case ae:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case ne:return(e.displayName||`Context`)+`.Consumer`;case E:return(e._context.displayName||`Context`)+`.Provider`;case re:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?j(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return j(e(t))}catch{}}return null}function pe(e){var t=e.type;switch(e.tag){case 24:return`Cache`;case 9:return(t.displayName||`Context`)+`.Consumer`;case 10:return(t._context.displayName||`Context`)+`.Provider`;case 18:return`DehydratedFragment`;case 11:return e=t.render,e=e.displayName||e.name||``,t.displayName||(e===``?`ForwardRef`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return j(t);case 8:return t===ee?`StrictMode`:`Mode`;case 22:return`Offscreen`;case 12:return`Profiler`;case 21:return`Scope`;case 13:return`Suspense`;case 19:return`SuspenseList`;case 25:return`TracingMarker`;case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==`function`)return t.displayName||t.name||null;if(typeof t==`string`)return t}return null}function me(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function he(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function ge(e){var t=he(e)?`checked`:`value`,n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=``+e[t];if(!e.hasOwnProperty(t)&&n!==void 0&&typeof n.get==`function`&&typeof n.set==`function`){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function _e(e){e._valueTracker||=ge(e)}function ve(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=he(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function be(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function xe(e,t){var n=t.checked;return k({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Se(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=me(t.value==null?n:t.value),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===`checkbox`||t.type===`radio`?t.checked!=null:t.value!=null}}function Ce(e,t){t=t.checked,t!=null&&x(e,`checked`,t,!1)}function we(e,t){Ce(e,t);var n=me(t.value),r=t.type;if(n!=null)r===`number`?(n===0&&e.value===``||e.value!=n)&&(e.value=``+n):e.value!==``+n&&(e.value=``+n);else if(r===`submit`||r===`reset`){e.removeAttribute(`value`);return}t.hasOwnProperty(`value`)?Ee(e,t.type,n):t.hasOwnProperty(`defaultValue`)&&Ee(e,t.type,me(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Te(e,t,n){if(t.hasOwnProperty(`value`)||t.hasOwnProperty(`defaultValue`)){var r=t.type;if(!(r!==`submit`&&r!==`reset`||t.value!==void 0&&t.value!==null))return;t=``+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==``&&(e.name=``),e.defaultChecked=!!e._wrapperState.initialChecked,n!==``&&(e.name=n)}function Ee(e,t,n){(t!==`number`||be(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var M=Array.isArray;function De(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i`+t.valueOf().toString()+``,t=Pe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ie(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Le={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Re=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(Le).forEach(function(e){Re.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Le[t]=Le[e]})});function ze(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||Le.hasOwnProperty(e)&&Le[e]?(``+t).trim():t+`px`}function Be(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=ze(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var Ve=k({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function He(e,t){if(t){if(Ve[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(i(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(i(60));if(typeof t.dangerouslySetInnerHTML!=`object`||!(`__html`in t.dangerouslySetInnerHTML))throw Error(i(61))}if(t.style!=null&&typeof t.style!=`object`)throw Error(i(62))}}function Ue(e,t){if(e.indexOf(`-`)===-1)return typeof t.is==`string`;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var We=null;function Ge(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ke=null,qe=null,N=null;function Je(e){if(e=Pi(e)){if(typeof Ke!=`function`)throw Error(i(280));var t=e.stateNode;t&&(t=Ii(t),Ke(e.stateNode,e.type,t))}}function Ye(e){qe?N?N.push(e):N=[e]:qe=e}function Xe(){if(qe){var e=qe,t=N;if(N=qe=null,Je(e),t)for(e=0;e>>=0,e===0?32:31-(Et(e)/Dt|0)|0}var kt=64,At=4194304;function jt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mt(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s===0?(a&=o,a!==0&&(r=jt(a))):r=jt(s)}else o=n&~i,o===0?a!==0&&(r=jt(a)):r=jt(o);if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,a=t&-t,i>=a||i===16&&a&4194240))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Rt(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Tt(t),e[t]=n}function zt(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Zn),$n=` `,er=!1;function tr(e,t){switch(e){case`keyup`:return Xn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function nr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var rr=!1;function ir(e,t){switch(e){case`compositionend`:return nr(t);case`keypress`:return t.which===32?(er=!0,$n):null;case`textInput`:return e=t.data,e===$n&&er?null:e;default:return null}}function ar(e,t){if(rr)return e===`compositionend`||!W&&tr(e,t)?(e=xn(),bn=yn=U=null,rr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Dr(n)}}function kr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?kr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ar(){for(var e=window,t=be();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=be(e.document)}return t}function jr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}function K(e){var t=Ar(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&kr(n.ownerDocument.documentElement,n)){if(r!==null&&jr(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),`selectionStart`in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Or(n,a);var o=Or(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus==`function`&&n.focus(),n=0;n=document.documentMode,Nr=null,Pr=null,Fr=null,Ir=!1;function Lr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ir||Nr==null||Nr!==be(r)||(r=Nr,`selectionStart`in r&&jr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Fr&&Er(Fr,r)||(Fr=r,r=si(Pr,`onSelect`),0Ri||(e.current=Li[Ri],Li[Ri]=null,Ri--)}function X(e,t){Ri++,Li[Ri]=e.current,e.current=t}var Bi={},Vi=zi(Bi),Hi=zi(!1),Ui=Bi;function Wi(e,t){var n=e.type.contextTypes;if(!n)return Bi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Gi(e){return e=e.childContextTypes,e!=null}function Ki(){Y(Hi),Y(Vi)}function qi(e,t,n){if(Vi.current!==Bi)throw Error(i(168));X(Vi,t),X(Hi,n)}function Ji(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!=`function`)return n;for(var a in r=r.getChildContext(),r)if(!(a in t))throw Error(i(108,pe(e)||`Unknown`,a));return k({},n,r)}function Yi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Bi,Ui=Vi.current,X(Vi,e),X(Hi,Hi.current),!0}function Xi(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=Ji(e,t,Ui),r.__reactInternalMemoizedMergedChildContext=e,Y(Hi),Y(Vi),X(Vi,e)):Y(Hi),X(Hi,n)}var Zi=null,Qi=!1,$i=!1;function ea(e){Zi===null?Zi=[e]:Zi.push(e)}function ta(e){Qi=!0,ea(e)}function na(){if(!$i&&Zi!==null){$i=!0;var e=0,t=V;try{var n=Zi;for(V=1;e>=o,i-=o,ua=1<<32-Tt(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Z&&fa(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),Z&&fa(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Z&&fa(a,g),u}for(h=r(a,h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),Z&&fa(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===T&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case C:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===T){if(l.tag===7){n(e,l.sibling),r=a(l,i.props.children),r.return=e,e=r;break a}}else if(l.elementType===c||typeof c==`object`&&c&&c.$$typeof===O&&ja(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=ka(e,l,i),r.return=e,e=r;break a}n(e,l);break}t(e,l),l=l.sibling}i.type===T?(r=Zl(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=Xl(i.type,i.key,i.props,null,e.mode,o),o.ref=ka(e,r,i),o.return=e,e=o)}return s(e);case w:a:{for(l=i.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),r=a(r,i.children||[]),r.return=e,e=r;break a}n(e,r);break}t(e,r),r=r.sibling}r=eu(i,e.mode,o),r.return=e,e=r}return s(e);case O:return l=i._init,_(e,r,l(i._payload),o)}if(M(i))return h(e,r,i,o);if(ce(i))return g(e,r,i,o);Aa(e,i)}return typeof i==`string`&&i!==``||typeof i==`number`?(i=``+i,r!==null&&r.tag===6?(n(e,r.sibling),r=a(r,i),r.return=e,e=r):(n(e,r),r=$l(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var Na=Ma(!0),Pa=Ma(!1),Fa=zi(null),Ia=null,La=null,Ra=null;function za(){Ra=La=Ia=null}function Ba(e){var t=Fa.current;Y(Fa),e._currentValue=t}function Va(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Ha(e,t){Ia=e,Ra=La=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ms=!0),e.firstContext=null)}function Ua(e){var t=e._currentValue;if(Ra!==e){if(e={context:e,memoizedValue:t,next:null},La===null){if(Ia===null)throw Error(i(308));La=e,Ia.dependencies={lanes:0,firstContext:e}}else La=La.next=e}return t}var Wa=null;function Ga(e){Wa===null?Wa=[e]:Wa.push(e)}function Ka(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Ga(t)):(n.next=i.next,i.next=n),t.interleaved=n,qa(e,r)}function qa(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Ja=!1;function Ya(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Xa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Za(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Qa(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,$&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,qa(e,n)}return i=r.interleaved,i===null?(t.next=t,Ga(r)):(t.next=i.next,i.next=t),r.interleaved=t,qa(e,n)}function $a(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194240)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Bt(e,n)}}function eo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function to(e,t,n,r){var i=e.updateQueue;Ja=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});a:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(p,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(p,d,f):m,f==null)break a;d=k({},d,f);break a;case 2:Ja=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=i.effects,f===null?i.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;f=s,s=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(1);if(u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Jc|=o,e.lanes=o,e.memoizedState=d}}function no(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=vo.transition;vo.transition={};try{e(!1),t()}finally{V=n,vo.transition=r}}function as(){return Mo().memoizedState}function os(e,t,n){var r=pl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},cs(e))ls(t,n);else if(n=Ka(e,t,n,r),n!==null){var i=fl();ml(n,e,r,i),us(n,t,r)}}function ss(e,t,n){var r=pl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(cs(e))ls(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Tr(s,o)){var c=t.interleaved;c===null?(i.next=i,Ga(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=Ka(e,t,i,r),n!==null&&(i=fl(),ml(n,e,r,i),us(n,t,r))}}function cs(e){var t=e.alternate;return e===bo||t!==null&&t===bo}function ls(e,t){wo=Co=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function us(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Bt(e,n)}}var ds={readContext:Ua,useCallback:Do,useContext:Do,useEffect:Do,useImperativeHandle:Do,useInsertionEffect:Do,useLayoutEffect:Do,useMemo:Do,useReducer:Do,useRef:Do,useState:Do,useDebugValue:Do,useDeferredValue:Do,useTransition:Do,useMutableSource:Do,useSyncExternalStore:Do,useId:Do,unstable_isNewReconciler:!1},fs={readContext:Ua,useCallback:function(e,t){return jo().memoizedState=[e,t===void 0?null:t],e},useContext:Ua,useEffect:Jo,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),Ko(4194308,4,Qo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ko(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ko(4,2,e,t)},useMemo:function(e,t){var n=jo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=jo();return t=n===void 0?t:n(t),r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=os.bind(null,bo,e),[r.memoizedState,e]},useRef:function(e){var t=jo();return e={current:e},t.memoizedState=e},useState:Uo,useDebugValue:es,useDeferredValue:function(e){return jo().memoizedState=e},useTransition:function(){var e=Uo(!1),t=e[0];return e=is.bind(null,e[1]),jo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=bo,a=jo();if(Z){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Vc===null)throw Error(i(349));yo&30||Ro(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Jo(Bo.bind(null,r,o,e),[e]),r.flags|=2048,Wo(9,zo.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=jo(),t=Vc.identifierPrefix;if(Z){var n=da,r=ua;n=(r&~(1<<32-Tt(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=To++,0<\/script>`,e=e.removeChild(e.firstChild)):typeof r.is==`string`?e=c.createElement(n,{is:r.is}):(e=c.createElement(n),n===`select`&&(c=e,r.multiple?c.multiple=!0:r.size&&(c.size=r.size))):e=c.createElementNS(e,n),e[Di]=t,e[Oi]=r,nc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Ue(n,r),n){case`dialog`:J(`cancel`,e),J(`close`,e),a=r;break;case`iframe`:case`object`:case`embed`:J(`load`,e),a=r;break;case`video`:case`audio`:for(a=0;ael&&(t.flags|=128,r=!0,ac(s,!1),t.lanes=4194304)}}else{if(!r){if(e=mo(c),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ac(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!Z)return oc(t),null}else 2*B()-s.renderingStartTime>el&&n!==1073741824&&(t.flags|=128,r=!0,ac(s,!1),t.lanes=4194304)}s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(oc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=B(),t.sibling=null,n=po.current,X(po,r?n&1|2:n&1),t);case 22:case 23:return wl(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Wc&1073741824&&(oc(t),t.subtreeFlags&6&&(t.flags|=8192)):oc(t),null;case 24:return null;case 25:return null}throw Error(i(156,t.tag))}function cc(e,t){switch(ha(t),t.tag){case 1:return Gi(t.type)&&Ki(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return lo(),Y(Hi),Y(Vi),go(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return fo(t),null;case 13:if(Y(po),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Ea()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Y(po),null;case 4:return lo(),null;case 10:return Ba(t.type._context),null;case 22:case 23:return wl(),null;case 24:return null;default:return null}}var lc=!1,uc=!1,dc=typeof WeakSet==`function`?WeakSet:Set,Q=null;function fc(e,t){var n=e.ref;if(n!==null){if(typeof n==`function`)try{n(null)}catch(n){Rl(e,t,n)}else n.current=null}}function pc(e,t,n){try{n()}catch(n){Rl(e,t,n)}}var mc=!1;function hc(e,t){if(hi=pn,e=Ar(),jr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(gi={focusedElem:e,selectionRange:n},pn=!1,Q=t;Q!==null;)if(t=Q,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Q=e;else for(;Q!==null;){t=Q;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:hs(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}catch(e){Rl(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,Q=e;break}Q=t.return}return h=mc,mc=!1,h}function gc(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&pc(t,n,a)}i=i.next}while(i!==r)}}function _c(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function vc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==`function`?t(e):t.current=e}}function yc(e){var t=e.alternate;t!==null&&(e.alternate=null,yc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Di],delete t[Oi],delete t[Ai],delete t[ji],delete t[Mi])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function bc(e){return e.tag===5||e.tag===3||e.tag===4}function xc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||bc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Sc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=mi));else if(r!==4&&(e=e.child,e!==null))for(Sc(e,t,n),e=e.sibling;e!==null;)Sc(e,t,n),e=e.sibling}function Cc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Cc(e,t,n),e=e.sibling;e!==null;)Cc(e,t,n),e=e.sibling}var wc=null,Tc=!1;function Ec(e,t,n){for(n=n.child;n!==null;)Dc(e,t,n),n=n.sibling}function Dc(e,t,n){if(Ct&&typeof Ct.onCommitFiberUnmount==`function`)try{Ct.onCommitFiberUnmount(St,n)}catch{}switch(n.tag){case 5:uc||fc(n,t);case 6:var r=wc,i=Tc;wc=null,Ec(e,t,n),wc=r,Tc=i,wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):wc.removeChild(n.stateNode));break;case 18:wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?Ci(e.parentNode,n):e.nodeType===1&&Ci(e,n),dn(e)):Ci(wc,n.stateNode));break;case 4:r=wc,i=Tc,wc=n.stateNode.containerInfo,Tc=!0,Ec(e,t,n),wc=r,Tc=i;break;case 0:case 11:case 14:case 15:if(!uc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&pc(n,t,o),i=i.next}while(i!==r)}Ec(e,t,n);break;case 1:if(!uc&&(fc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Rl(n,t,e)}Ec(e,t,n);break;case 21:Ec(e,t,n);break;case 22:n.mode&1?(uc=(r=uc)||n.memoizedState!==null,Ec(e,t,n),uc=r):Ec(e,t,n);break;default:Ec(e,t,n)}}function Oc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new dc),t.forEach(function(t){var r=Hl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function kc(e,t){var n=t.deletions;if(n!==null)for(var r=0;ra&&(a=s),r&=~o}if(r=a,r=B()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Lc(r/1960))-r,10e?16:e,ol===null)var r=!1;else{if(e=ol,ol=null,sl=0,$&6)throw Error(i(331));var a=$;for($|=4,Q=e.current;Q!==null;){var o=Q,s=o.child;if(Q.flags&16){var c=o.deletions;if(c!==null){for(var l=0;lB()-$c?Tl(e,0):Xc|=n),hl(e,t)}function Bl(e,t){t===0&&(e.mode&1?(t=At,At<<=1,!(At&130023424)&&(At=4194304)):t=1);var n=fl();e=qa(e,t),e!==null&&(Rt(e,t,n),hl(e,n))}function Vl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Bl(e,n)}function Hl(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(i(314))}r!==null&&r.delete(t),Bl(e,n)}var Ul=function(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps||Hi.current)Ms=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Ms=!1,tc(e,t,n);Ms=!!(e.flags&131072)}}else Ms=!1,Z&&t.flags&1048576&&pa(t,oa,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;$s(e,t),e=t.pendingProps;var a=Wi(t,Vi.current);Ha(t,n),a=ko(null,t,r,e,a,n);var o=Ao();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Gi(r)?(o=!0,Yi(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Ya(t),a.updater=_s,t.stateNode=a,a._reactInternals=t,xs(t,r,e,n),t=Vs(null,t,r,!0,o,n)):(t.tag=0,Z&&o&&ma(t),Ns(null,t,a,n),t=t.child),t;case 16:r=t.elementType;a:{switch($s(e,t),e=t.pendingProps,a=r._init,r=a(r._payload),t.type=r,a=t.tag=Jl(r),e=hs(r,e),a){case 0:t=zs(null,t,r,e,n);break a;case 1:t=Bs(null,t,r,e,n);break a;case 11:t=Ps(null,t,r,e,n);break a;case 14:t=Fs(null,t,r,hs(r.type,e),n);break a}throw Error(i(306,r,``))}return t;case 0:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:hs(r,a),zs(e,t,r,a,n);case 1:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:hs(r,a),Bs(e,t,r,a,n);case 3:a:{if(Hs(t),e===null)throw Error(i(387));r=t.pendingProps,o=t.memoizedState,a=o.element,Xa(e,t),to(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Ss(Error(i(423)),t),t=Us(e,t,r,n,a);break a}if(r!==a){a=Ss(Error(i(424)),t),t=Us(e,t,r,n,a);break a}for(_a=wi(t.stateNode.containerInfo.firstChild),ga=t,Z=!0,va=null,n=Pa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Ea(),r===a){t=ec(e,t,n);break a}Ns(e,t,r,n)}t=t.child}return t;case 5:return uo(t),e===null&&Sa(t),r=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,_i(r,a)?s=null:o!==null&&_i(r,o)&&(t.flags|=32),Rs(e,t),Ns(e,t,s,n),t.child;case 6:return e===null&&Sa(t),null;case 13:return Ks(e,t,n);case 4:return co(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Na(t,null,r,n):Ns(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:hs(r,a),Ps(e,t,r,a,n);case 7:return Ns(e,t,t.pendingProps,n),t.child;case 8:return Ns(e,t,t.pendingProps.children,n),t.child;case 12:return Ns(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(r=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,X(Fa,r._currentValue),r._currentValue=s,o!==null){if(Tr(o.value,s)){if(o.children===a.children&&!Hi.current){t=ec(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Za(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Va(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(i(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Va(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}}Ns(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,Ha(t,n),a=Ua(a),r=r(a),t.flags|=1,Ns(e,t,r,n),t.child;case 14:return r=t.type,a=hs(r,t.pendingProps),a=hs(r.type,a),Fs(e,t,r,a,n);case 15:return Is(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:hs(r,a),$s(e,t),t.tag=1,Gi(r)?(e=!0,Yi(t)):e=!1,Ha(t,n),ys(t,r,a),xs(t,r,a,n),Vs(null,t,r,!0,e,n);case 19:return Qs(e,t,n);case 22:return Ls(e,t,n)}throw Error(i(156,t.tag))};function Wl(e,t){return ft(e,t)}function Gl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Kl(e,t,n,r){return new Gl(e,t,n,r)}function ql(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Jl(e){if(typeof e==`function`)return+!!ql(e);if(e!=null){if(e=e.$$typeof,e===re)return 11;if(e===D)return 14}return 2}function Yl(e,t){var n=e.alternate;return n===null?(n=Kl(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Xl(e,t,n,r,a,o){var s=2;if(r=e,typeof e==`function`)ql(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case T:return Zl(n.children,a,o,t);case ee:s=8,a|=8;break;case te:return e=Kl(12,n,t,a|2),e.elementType=te,e.lanes=o,e;case ie:return e=Kl(13,n,t,a),e.elementType=ie,e.lanes=o,e;case ae:return e=Kl(19,n,t,a),e.elementType=ae,e.lanes=o,e;case oe:return Ql(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case E:s=10;break a;case ne:s=9;break a;case re:s=11;break a;case D:s=14;break a;case O:s=16,r=null;break a}throw Error(i(130,e==null?e:typeof e,``))}return t=Kl(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function Zl(e,t,n,r){return e=Kl(7,e,r,t),e.lanes=n,e}function Ql(e,t,n,r){return e=Kl(22,e,r,t),e.elementType=oe,e.lanes=n,e.stateNode={isHidden:!1},e}function $l(e,t,n){return e=Kl(6,e,null,t),e.lanes=n,e}function eu(e,t,n){return t=Kl(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function tu(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Lt(0),this.expirationTimes=Lt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Lt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function nu(e,t,n,r,i,a,o,s,c){return e=new tu(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=Kl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ya(a),e}function ru(e,t,n){var r=3{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=be()})),Se=t((e=>{var t=xe();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),Ce=class extends he{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new re({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=we(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=we(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=we(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=we(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){ie.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>D(t,e))}findAll(e={}){return this.getAll().filter(t=>D(e,t))}notify(e){ie.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return ie.batch(()=>Promise.all(e.map(e=>e.continue().catch(k))))}};function we(e){return e.options.scope?.id}var Te=class extends he{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??ae(r,t),a=this.get(i);return a||(a=new A({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){ie.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ue(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>ue(e,t)):t}notify(e){ie.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){ie.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){ie.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Ee=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Te,this.#t=e.mutationCache||new Ce,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=me.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=fe.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(O(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=ce(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return ie.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;ie.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return ie.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=ie.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(k).catch(k)}invalidateQueries(e,t={}){return ie.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=ie.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(k)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(k)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(O(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(k).catch(k)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(k).catch(k)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return fe.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(pe(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{oe(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(pe(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{oe(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=ae(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===ne&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},M=e(r(),1),De=e(Se(),1),Oe=class extends Error{status;method;path;constructor(e,t,n,r){super(e),this.name=`ApiError`,this.status=t,this.method=n,this.path=r}};function ke(e){let t=e.replace(/\s+/g,` `).trim();if(!t)return``;try{let t=JSON.parse(e);for(let e of[`detail`,`error`,`message`]){let n=t[e];if(typeof n==`string`&&n.trim())return n.trim();if(Array.isArray(n)){let e=n.map(e=>e&&typeof e==`object`?String(e.msg??``):``).filter(Boolean);if(e.length)return e.join(`; `)}}}catch{}return t.startsWith(`typeof e==`string`):[],o=Ie(r?.major),s=Ie(r?.minor);if(!n||!r||!i)return{compatible:!1,reason:`malformed /api/meta response`};if(typeof i.source_root!=`string`||Ie(i.pid)===null||typeof i.package_version!=`string`||typeof i.release_id!=`string`)return{compatible:!1,reason:`malformed /api/meta runtime identity`};if(n.service!==`argus-skill-webapi`)return{compatible:!1,reason:`unexpected service ${String(n.service||`unknown`)}`};let c=e;if(r.name!==Ne.name||o!==Ne.major)return{compatible:!1,reason:`protocol ${String(r.name||`unknown`)}/${String(o)} is incompatible with client ${Ne.name}/${Ne.major}`,meta:c};if(s===null||s!a.includes(e));if(l.length>0)return{compatible:!1,reason:`missing capabilities: ${l.join(`, `)}`,meta:c};if(i.source_root_matches_config===!1)return{compatible:!1,reason:`backend loaded source ${String(i.source_root)} but ARGUS_SKILL_SOURCE_ROOT points to ${String(i.configured_source_root)}`,meta:c};if(i.release_id!==t.releaseId)return{compatible:!1,reason:`backend release ${String(i.release_id)} does not match client release ${t.releaseId}`,meta:c};if(t.sourceDigest){if(typeof i.runtime_source_digest!=`string`||!i.runtime_source_digest)return{compatible:!1,reason:`backend process does not report the source digest required by this local checkout`,meta:c};if(i.runtime_source_digest!==t.sourceDigest)return{compatible:!1,reason:`backend process source ${String(i.runtime_source_digest).slice(0,16)} does not match local source ${t.sourceDigest.slice(0,16)}`,meta:c}}return{compatible:!0,reason:``,warning:i.release_matches_source===!1?`backend source differs from its prebuilt release artifacts; pull a complete published revision and reinstall`:void 0,meta:c}}function Re(e,t){let n=Le(e);if(!n.compatible||!n.meta)throw Error(`incompatible Argus API: ${n.reason}`);return n.warning&&t?.(n.warning),n.meta}function ze(e){let t=Fe(e),n=Fe(t?.daemon);if(!t||t.schema_version!==7)throw Error(`incompatible snapshot schema: expected 7, got ${String(t?.schema_version??`missing`)}`);if(!n)throw Error(`invalid snapshot: daemon section is missing`);let r=[`global_daily_cap_usd`,`read_status`,`read_error`,`protocol_compatible`,`protocol_error`].filter(e=>!Object.hasOwn(n,e));if(r.length>0)throw Error(`invalid snapshot: daemon fields missing: ${r.join(`, `)}`);let i=[`spend_usd`,`spend_status`,`usage_summary`,`request_usage`,`cost_control`,`daemon_commands`,`observability`,`mission_view`,`partial`,`diagnostics`].filter(e=>!Object.hasOwn(t,e));if(i.length>0)throw Error(`invalid snapshot: fields missing: ${i.join(`, `)}`);if(!Array.isArray(t.diagnostics))throw Error(`invalid snapshot: diagnostics must be an array`);return e}var Be=`argus_web_token`,Ve=null;function He(){let e;try{e=new URLSearchParams(window.location.search)}catch{return}let t=e.get(`token`);if(t){Ve=t;try{localStorage.setItem(Be,t)}catch{}try{e.delete(`token`);let t=e.toString();window.history.replaceState(null,``,`${window.location.pathname}${t?`?${t}`:``}${window.location.hash}`)}catch{}}}var Ue=()=>{if(Ve)return Ve;try{return new URLSearchParams(window.location.search).get(`token`)||localStorage.getItem(Be)}catch{return null}};function We(){let e=Ue();return e?{Authorization:`Bearer ${e}`}:{}}function Ge(){return Ue()??``}var Ke=8e3,qe=12e3,N=class extends Error{constructor(){super(`This browser is not paired with Argus. Reopen it from Argus Desktop or use a fresh pairing link.`),this.name=`PairingRequiredError`}},Je=class extends Error{method;path;constructor(e,t,n=`could not reach the local Argus service`){super(`${e.toUpperCase()} ${t} ${n}. Make sure Argus Desktop is running, then retry.`),this.name=`LocalArgusUnavailableError`,this.method=e.toUpperCase(),this.path=t}};function Ye(e){return e instanceof N||!!(e&&typeof e==`object`&&Number(e.status)===401)}function Xe(e){return Ye(e)||e instanceof Je}async function P(e,t){try{return await fetch(e,t)}catch(n){throw t.signal?.aborted?n:new Je(String(t.method??`GET`),e)}}async function Ze(e,t,n,r){let i=new AbortController,a=t.signal??void 0,o=!1,s=()=>{};if(a){let e=()=>i.abort(a.reason);a.aborted?e():(a.addEventListener(`abort`,e,{once:!0}),s=()=>a.removeEventListener(`abort`,e))}let c,l=(async()=>await r(await P(e,{...t,signal:i.signal})))(),u=new Promise((e,t)=>{c=setTimeout(()=>{o=!0;let e=Error(`request timed out after ${n}ms`);i.abort(e),t(e)},n)});try{return await Promise.race([l,u])}catch(r){if(o){let r=Math.round(n/1e3);throw new Je(String(t.method??`GET`),e,`timed out after ${r}s because the local Argus service did not respond`)}throw r}finally{c&&clearTimeout(c),s()}}async function Qe(e,t,n){return Ze(e,{headers:We(),signal:t},n??qe,async t=>(await je(t,`GET`,e),await t.json()))}async function F(e,t,n){let r=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`,...We()},body:t===void 0?void 0:JSON.stringify(t),signal:n});return await je(r,`POST`,e),await r.json()}async function $e(e,t,n){let r=await fetch(e,{method:`POST`,headers:We(),body:t,signal:n});return await je(r,`POST`,e),await r.json()}function et(e){let t=e&&typeof e==`object`?e:{},n=String(t.command_status??``);if(Number(t.rc??0)!==0||n===`failed`||n===`rejected`)throw Error(String(t.error||`daemon command ${n||`failed`}`));return e}async function tt(e,t,n){let r=await fetch(t,{method:e,headers:{"Content-Type":`application/json`,...We()},body:n===void 0?void 0:JSON.stringify(n)});return await je(r,e,t),await r.json()}async function nt(e,t){let n=await fetch(e,{headers:We(),signal:t});return await je(n,`GET`,e),n.blob()}var I=(e,t=``)=>`/api/projects/${encodeURIComponent(e)}${t}`,L=()=>globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random()}`,rt;function it(e){return!!(e&&typeof e==`object`&&`aborted`in e&&typeof e.aborted==`boolean`)}function at(e,t){return t?.length?{text:e,attachments:t}:{text:e}}function ot(){if(!rt){let e=(async()=>{let e=`/api/meta`,t=await Ze(e,{headers:We()},Ke,async t=>{if(t.status===404)throw Error(`incompatible Argus API: service does not expose /api/meta`);return await je(t,`GET`,e),Re(await t.json(),e=>console.warn(`Argus API compatibility warning: ${e}`))});if(t.authentication?.required&&!t.authentication.authenticated)throw new N;return t})();rt=e,e.catch(t=>{rt===e&&!(t instanceof N)&&(rt=void 0)})}return rt}function st(e){let t=[],n;for(;(n=e.indexOf(` + +`))>=0;){let r=e.slice(0,n);e=e.slice(n+2);for(let e of r.split(` +`)){let n=e.trim();if(n.startsWith(`data:`))try{t.push(JSON.parse(n.slice(5).trim()))}catch{}}}return{frames:t,rest:e}}var R={meta:ot,projectIndex:async()=>(await ot(),Qe(`/api/projects`,void 0,qe)),listProjects:async()=>(await ot(),Qe(`/api/projects`,void 0,qe).then(e=>e.projects)),projectCosts:async e=>(await ot(),Qe(`/api/projects/costs`,e)),createDaemon:async(e,t=``,n=``,r)=>{let i=`/api/daemons`,a={objective:e,name:t,workdir:n,command_id:L(),expected_revision:r},o=()=>fetch(i,{method:`POST`,headers:{"Content-Type":`application/json`,...We()},body:JSON.stringify(a),cache:`no-store`}),s=await o();return s.status===400&&/Invalid HTTP request received/i.test(await s.clone().text())&&(s=await o()),await je(s,`POST`,i),et(await s.json())},updateProject:(e,t)=>tt(`PATCH`,I(e),{name:t}),deleteProject:e=>tt(`DELETE`,I(e)),snapshot:async(e,t)=>(await ot(),ze(await Qe(I(e,`/snapshot?compact=true&events_limit=1`),t,qe))),status:(e,t)=>Qe(I(e,`/status`),t),journal:(e,t=20,n)=>Qe(I(e,`/journal?n=${t}`),n).then(e=>e.journal),doctor:(e,t)=>Qe(I(e,`/doctor`),t),config:(e,t)=>Qe(I(e,`/config`),t),identity:(e,t)=>Qe(I(e,`/identity`),t).then(e=>e.identity),transcript:(e,t=30,n)=>Qe(I(e,`/transcript?n=${t}`),n).then(e=>e.turns),events:(e,t=80,n)=>Qe(I(e,`/events?limit=${t}&view=ui`),n).then(e=>e.events),backlogItem:(e,t,n)=>Qe(I(e,`/backlog/${encodeURIComponent(t)}`),n).then(e=>e.item),artifacts:(e,t)=>Qe(I(e,`/artifacts`),t).then(e=>e.artifacts),artifact:(e,t,n)=>Qe(I(e,`/artifact?${new URLSearchParams({path:t})}`),n),artifactBlob:(e,t,n=!1,r)=>{let i=new URLSearchParams({path:t});return n&&i.set(`download`,`true`),nt(I(e,`/artifact/raw?${i}`),r)},gitDiff:(e,t)=>Qe(I(e,`/git-diff`),t),metrics:e=>Qe(`/api/metrics`,e),trash:(e=``,t=100,n=0,r)=>Qe(`/api/trash?${new URLSearchParams({query:e,limit:String(t),offset:String(n)})}`,r),restoreTrash:e=>F(`/api/trash/${encodeURIComponent(e)}/restore`),addTask:(e,t)=>F(I(e,`/tasks`),{text:t}).then(e=>e.item),abortMission:(e,t)=>F(I(e,`/mission/abort`),{reason:t}),answerPending:(e,t,n)=>F(I(e,`/backlog/${encodeURIComponent(t)}/answer`),{text:n}),resolveDecision:(e,t,n,r)=>F(I(e,`/decisions/${encodeURIComponent(t)}/resolve`),{option_id:n,note:r}),uploadAttachments:async(e,t,n)=>{await ot();let r=new FormData;return t.forEach(e=>r.append(`files`,e,e.name)),$e(I(e,`/attachments`),r,n)},message:(e,t,n)=>{let r=it(n)?n:n?.signal,i=it(n)?void 0:n?.attachments;return F(I(e,`/message`),at(t,i),r)},messageStream:async(e,t,n,r)=>{let i=it(r)?r:r?.signal,a=it(r)?void 0:r?.attachments,o=await fetch(I(e,`/message/stream`),{method:`POST`,headers:{"Content-Type":`application/json`,...We()},body:JSON.stringify(at(t,a)),signal:i});if(await je(o,`POST`,I(e,`/message/stream`)),!o.body)throw Error(`Manager stream returned no response body`);let s=!1,c=e=>{if(!i?.aborted){if(e.type===`phase`){let t=Number(e.quiet_s??0);n.onPhase?.(String(e.label??``),String(e.role??`manager`),{heartbeat:e.heartbeat===!0,quietS:Number.isFinite(t)?t:0,kind:String(e.kind??``),detail:String(e.detail??``)})}else e.type===`delta`?n.onDelta?.(String(e.text??``),String(e.message_id??``),String(e.fragment_mode??`auto`)):e.type===`done`?(s=!0,n.onDone?.(e.result??{})):e.type===`error`&&(s=!0,n.onError?.(Error(String(e.error??`stream error`))))}},l=o.body.getReader(),u=new TextDecoder,d=``;for(;;){let{done:e,value:t}=await l.read();if(e)break;d+=u.decode(t,{stream:!0});let n=st(d);d=n.rest,n.frames.forEach(c)}if(!i?.aborted&&(st(d+` + +`).frames.forEach(c),!s))throw Error(`Manager stream ended before a terminal event`)},nudge:(e,t)=>F(I(e,`/nudge`),{text:t}),note:(e,t)=>F(I(e,`/note`),{text:t}),previewPlan:(e,t)=>F(I(e,`/plan`),{text:t}),rewritePrompt:(e,t)=>F(I(e,`/prompt/rewrite`),{text:t}),setConfig:(e,t,n)=>F(I(e,`/config/set`),{name:t,value:n}),setBudgets:(e,t)=>F(I(e,`/config/budget`),{values:t}),setIdentity:(e,t)=>F(I(e,`/identity`),{text:t}),resetManager:e=>F(I(e,`/reset`)),skills:(e,t=`ls`)=>F(I(e,`/skills`),{args:t}).then(e=>e.text),setLaunchCwd:(e,t)=>F(I(e,`/launch-cwd`),{launch_cwd:t}),setWorkdir:(e,t)=>F(I(e,`/workdir`),{workdir:t}),disposeBacklog:(e,t,n)=>F(I(e,`/backlog/${encodeURIComponent(t)}/dispose`),{op:n}),stopBacklog:(e,t)=>F(I(e,`/backlog/${encodeURIComponent(t)}/stop`)),setContinuous:(e,t,n=``)=>F(I(e,`/continuous`),{enabled:t,objective:n}),startDaemon:(e,t)=>F(I(e,`/daemon/start`),{command_id:L(),expected_revision:t}).then(et),stopDaemon:(e,t=!1,n)=>F(I(e,`/daemon/stop`),{drain:t,command_id:L(),expected_revision:n}).then(et),replaceDaemon:(e,t,n=!1,r)=>F(I(e,`/daemon/replace`),{victim_sid:t,resume_continuous:n,command_id:L(),expected_revision:r}).then(et),upgradeDaemon:(e,t)=>F(I(e,`/daemon/upgrade`),{command_id:L(),expected_revision:t}).then(et)},ct=new Set([4401,4404]);function lt(e,t,n={}){let r=window.location.protocol===`https:`?`wss:`:`ws:`,i=new URLSearchParams;n.replay!=null&&i.set(`replay`,String(n.replay)),i.set(`view`,`ui`);let a=Ue();a&&i.set(`token`,a);let o=`${r}//${window.location.host}${I(e,`/stream`)}?${i}`,s=null,c=!1,l,u=()=>{c||(s=new WebSocket(o),s.onopen=()=>n.onOpen?.(),s.onmessage=e=>{try{let n=JSON.parse(e.data);n&&typeof n==`object`&&t(n)}catch{}},s.onclose=e=>{let t=!ct.has(e.code);n.onClose?.({code:e.code,reason:e.reason,retryable:t}),!c&&t&&(l=setTimeout(u,1e3))},s.onerror=()=>s?.close())};return u(),()=>{c=!0,l&&clearTimeout(l),s?.close()}}var z={accent:`rgb(var(--spectral-gold))`,success:`#7fa386`,error:`#c77b72`,warning:`rgb(var(--spectral-gold))`,info:`rgb(var(--spectral-blue))`,ink:`rgb(var(--ink))`,inkDim:`rgb(var(--ink-dim))`,inkFaint:`rgb(var(--ink-faint))`,role:{manager:`rgb(var(--role-manager))`,planner:`rgb(var(--role-planner))`,engineer:`rgb(var(--role-engineer))`,reviewer:`rgb(var(--role-reviewer))`}};function ut(e){switch(e){case`medium`:return z.inkDim;case`high`:return z.info;case`xhigh`:return z.accent;case`max`:return z.error;default:return z.inkFaint}}var dt=e=>String(e??``).trim(),ft=/^[a-z][a-z -]+ requires an operator-owned decision before continuing\.?$/i,pt=e=>{let t=dt(e);return ft.test(t)?``:t},mt=(e,t)=>{let n=/[\u3400-\u9fff]/.test(`${e}\n${t}`);return{id:`custom`,label:n?`自己输入`:`Write my own answer`,description:n?`直接告诉 Argus 你的决定。`:`Tell Argus your decision directly.`,requires_note:!0}};function ht(e,t){let n=[...e,...t],r=[],i=new Set;for(let e of n){let t=dt(e.id),n=e.operator_decision;if(n&&typeof n==`object`&&!Array.isArray(n)){let a=n,o=dt(a.id);if(!o||i.has(o)||dt(a.status)!==`pending`)continue;i.add(o);let s=dt(a.options_source)===`agent`&&Array.isArray(a.options)?a.options.filter(e=>!!dt(e?.id)&&!!dt(e?.label)).map(e=>({...e,requires_note:!1})):[];s.push(mt(dt(a.title),dt(a.question))),r.push({id:o,item_id:dt(a.item_id)||t,revision:Number(a.revision??1),status:`pending`,title:dt(a.title)||dt(e.title)||`Decision required`,reason:pt(a.reason),question:dt(a.question)||dt(e.pending_question),evidence:Array.isArray(a.evidence)?a.evidence.filter(e=>dt(e?.label)!==`Acceptance check`):[],options:s,options_source:s.length?`agent`:`none`,selected_option:``,note:``});continue}let a=dt(e.pending_question??e.question??e.text);if(!t||!a)continue;let o=`legacy-${t}`;i.has(o)||(i.add(o),r.push({id:o,item_id:t,revision:1,status:`pending`,title:dt(e.title??e.objective)||`Blocked task`,reason:``,question:a,evidence:[],options:[mt(dt(e.title??e.objective),a)],options_source:`none`,selected_option:``,note:``,legacy:!0}))}return r}var B={AGENT_IO_START:`agent.io.start`,AGENT_IO_STREAM:`agent.io.stream`,AGENT_IO_COMPLETE:`agent.io.complete`,AGENT_IO_ERROR:`agent.io.error`,USAGE_RECORDED:`usage.recorded`,PROVIDER_REQUEST_STARTED:`provider.request.started`,PROVIDER_REQUEST_COMPLETED:`provider.request.completed`,PROVIDER_REQUEST_DENIED:`provider.request.denied`,CODEX_UTIL_COMPLETED:`codex.util.completed`,SKILL_COST_COMPLETED:`skill.cost.completed`,BUDGET_RESERVATION_CREATED:`budget.reservation.created`,BUDGET_RESERVATION_DENIED:`budget.reservation.denied`,BUDGET_RESERVATION_SETTLED:`budget.reservation.settled`,BUDGET_RESERVATION_RELEASED:`budget.reservation.released`,BUDGET_UNPRICED_BLOCKED:`budget.unpriced.blocked`,LOOP_START:`loop.start`,LOOP_DONE:`loop.done`,ROUND_START:`round.start`,ROUND_MAIN_COMPLETED:`round.main.completed`,ROUND_REVIEW_STARTED:`round.review.started`,ROUND_REVIEW_DEFERRED:`round.review.deferred`,ROUND_REVIEW_COMPLETED:`round.review.completed`,ROUND_CHECKPOINT_RECORDED:`round.checkpoint.recorded`,ROUND_CHECKPOINT_FAILED:`round.checkpoint.failed`,ROUND_SECRET_REDACTED:`round.secret_redacted`,ROUND_ESCALATED:`round.escalated`,ROUND_STALL:`round.stall`,ROUND_REVIEWER_BACKEND_FAILURE:`round.reviewer_backend_failure`,ROLE_SESSION_TURN:`role.session.turn`,ENGINEER_PROGRESS:`engineer.progress`,ENGINEER_SELF_REVIEW_ACCEPTED:`engineer.self_review.accepted`,ENGINEER_SELF_REVIEW_REJECTED:`engineer.self_review.rejected`,ENGINEER_SKILL_MAINTENANCE_STARTED:`engineer.skill_maintenance.started`,ENGINEER_SKILL_MAINTENANCE_COMPLETED:`engineer.skill_maintenance.completed`,LIFE_STATUS:`life.status`,LIFE_PHASE_STARTED:`life.phase.started`,LIFE_MISSION_STARTED:`life.mission.started`,LIFE_MISSION_COMPLETED:`life.mission.completed`,LIFE_MISSION_FAILED:`life.mission.failed`,LIFE_MISSION_SKIPPED:`life.mission.skipped`,LIFE_MISSION_ORPHANED:`life.mission.orphaned`,LIFE_MISSION_REQUEUED:`life.mission.requeued`,LIFE_MANAGER_INTENT_STARTED:`life.manager.intent.started`,LIFE_MANAGER_INTENT_COMPLETED:`life.manager.intent.completed`,LIFE_MANAGER_INTENT_FAILED:`life.manager.intent.failed`,LIFE_MANAGER_STAGE_DECISION:`life.manager.stage_decision`,LIFE_MANAGER_PLAN_CHALLENGE_DECIDED:`life.manager.plan_challenge.decided`,LIFE_VERTICAL_RESOLVED:`life.vertical.resolved`,LIFE_PLANNER_START:`life.planner.start`,LIFE_PLANNER_TASK_ADDED:`life.planner.task_added`,LIFE_PLANNER_TASK_SKIPPED:`life.planner.task_skipped`,LIFE_PLANNER_VERDICT:`life.planner.verdict`,LIFE_PLANNER_WAITING:`life.planner.waiting`,LIFE_PLANNER_WAITING_WOKEN:`life.planner.waiting_woken`,LIFE_PLANNER_TERMINAL_IDLE:`life.planner.terminal_idle`,LIFE_PLANNER_VERIFICATION_PROBE:`life.planner.verification_probe`,LIFE_PLANNER_STALL_ESCALATION:`life.planner.stall_escalation`,LIFE_PLANNER_ERROR:`life.planner.error`,LIFE_PLAN_SIGNAL:`life.plan.signal`,LIFE_PLAN_REVISION_PROPOSED:`life.plan.revision.proposed`,LIFE_PLAN_REVISION_REJECTED:`life.plan.revision.rejected`,LIFE_PLAN_REVISION_COMMITTED:`life.plan.revision.committed`,LIFE_PLAN_NODE_SUPERSEDED:`life.plan.node.superseded`,LIFE_BUDGET_PAUSE:`life.budget.pause`,LIFE_LIFECYCLE_BLOCK:`life.lifecycle.block`,LIFE_LIFECYCLE_TRANSITION:`life.lifecycle.transition`,LIFE_INBOX_QUEUED:`life.inbox.queued`,LIFE_INBOX_DRAINED:`life.inbox.drained`,LIFE_OPERATOR_QUESTION_PENDING:`life.operator_question.pending`,LIFE_OPERATOR_QUESTION_ANSWERED:`life.operator_question.answered`,LIFE_DAEMON_IDLE_TIMEOUT:`life.daemon.idle_timeout`,PROJECT_COMPLETED:`project.completed`,PROJECT_COMPLETION_REFUSED:`project.completion_refused`,DAEMON_PARKED:`daemon.parked`,DAEMON_COMMAND_SUBMITTED:`daemon.command.submitted`,DAEMON_COMMAND_COMPLETED:`daemon.command.completed`,DAEMON_COMMAND_REJECTED:`daemon.command.rejected`,IDEA_SEARCH_STARTED:`idea.search.started`,IDEA_SEARCH_COMPLETED:`idea.search.completed`,IDEA_SEARCH_SKIPPED:`idea.search.skipped`,VENUE_RESEARCH_STARTED:`venue.research.started`,VENUE_RESEARCH_COMPLETED:`venue.research.completed`,RESEARCH_ACHIEVEMENT_CERTIFIED:`research.achievement.certified`,SKILL_LIBRARY_AVAILABLE:`skill.library.available`,SKILL_CREATED:`skill.created`,SKILL_UPDATED:`skill.updated`,SKILL_ARCHIVED:`skill.archived`,SKILL_OUTCOME:`skill.outcome`,SKILL_TRANSFER_STARTED:`skill.transfer.started`,SKILL_TRANSFER_COMPLETED:`skill.transfer.completed`,SKILL_SCIENTIST_STARTED:`skill.scientist.started`,SKILL_SCIENTIST_CREATED:`skill.scientist.created`,SKILL_SCIENTIST_ADAPTATION_STARTED:`skill.scientist.adaptation_started`,SKILL_SCIENTIST_ADAPTATION_CREATED:`skill.scientist.adaptation_created`,SKILL_TIDIED:`skill.tidied`,SKILL_COMPACTED:`skill.compacted`,SKILL_COMPACT_ERROR:`skill.compact.error`,SKILL_OP_ERROR:`skill.op.error`,SKILL_OP_REFUSED:`skill.op.refused`,SKILL_PROPOSAL_REJECTED:`skill.proposal.rejected`,SKILL_DISTILL_REJECTED:`skill.distill.rejected`,SKILL_REVISED:`skill.revised`,SKILL_USE_RECORDED:`skill.use.recorded`,SKILL_HISTORY_COMPRESSED:`skill.history.compressed`,SKILL_EVOLUTION_COMPLETED:`skill.evolution.completed`,WIKI_INITIALIZED:`wiki.initialized`,WIKI_INITIALIZATION_FAILED:`wiki.initialization.failed`,WIKI_HOOK_OK:`wiki.hook.ok`,WIKI_HOOK_WARNING:`wiki.hook.warning`,WIKI_COMPACTED:`wiki.compacted`,WIKI_COMPACT_ERROR:`wiki.compact.error`,WIKI_CREATED:`wiki.created`,WIKI_UPDATED:`wiki.updated`,WIKI_RETIRED:`wiki.retired`,WIKI_SOURCE_CREATED:`wiki.source.created`,WIKI_SOURCE_SKIPPED:`wiki.source.skipped`,WIKI_PROMOTION_PROMOTED:`wiki.promotion.promoted`,WIKI_PROMOTION_DEMOTED:`wiki.promotion.demoted`,WIKI_RETIRED_COMPRESSED:`wiki.retired.compressed`,WIKI_EVOLUTION_COMPLETED:`wiki.evolution.completed`,OPERATOR_ALERT:`operator_alert`},gt={"loop.started":B.LOOP_START,"loop.completed":B.LOOP_DONE,"round.started":B.ROUND_START,"mission.started":B.LIFE_MISSION_STARTED,"mission.completed":B.LIFE_MISSION_COMPLETED,"mission.error":B.LIFE_MISSION_FAILED};B.LOOP_START,B.LOOP_DONE,B.ROUND_START,B.ROUND_MAIN_COMPLETED,B.ROUND_REVIEW_DEFERRED,B.ROUND_REVIEW_COMPLETED,B.ROUND_CHECKPOINT_RECORDED,B.ROUND_CHECKPOINT_FAILED,B.ROUND_SECRET_REDACTED,B.ROUND_ESCALATED,B.ROUND_STALL,B.ROUND_REVIEWER_BACKEND_FAILURE,B.ENGINEER_SELF_REVIEW_ACCEPTED,B.ENGINEER_SELF_REVIEW_REJECTED,B.ENGINEER_SKILL_MAINTENANCE_STARTED,B.ENGINEER_SKILL_MAINTENANCE_COMPLETED,B.SKILL_LIBRARY_AVAILABLE,B.SKILL_CREATED,B.SKILL_UPDATED,B.SKILL_ARCHIVED,B.SKILL_OUTCOME,B.SKILL_TRANSFER_STARTED,B.SKILL_TRANSFER_COMPLETED,B.SKILL_SCIENTIST_STARTED,B.SKILL_SCIENTIST_CREATED,B.SKILL_SCIENTIST_ADAPTATION_STARTED,B.SKILL_SCIENTIST_ADAPTATION_CREATED,B.SKILL_TIDIED,B.SKILL_COMPACTED,B.SKILL_COMPACT_ERROR,B.SKILL_OP_ERROR,B.SKILL_OP_REFUSED,B.SKILL_PROPOSAL_REJECTED,B.SKILL_DISTILL_REJECTED,B.SKILL_REVISED,B.SKILL_USE_RECORDED,B.SKILL_HISTORY_COMPRESSED,B.SKILL_EVOLUTION_COMPLETED,B.WIKI_INITIALIZED,B.WIKI_INITIALIZATION_FAILED,B.WIKI_HOOK_OK,B.WIKI_HOOK_WARNING,B.WIKI_COMPACTED,B.WIKI_COMPACT_ERROR,B.WIKI_CREATED,B.WIKI_UPDATED,B.WIKI_RETIRED,B.WIKI_SOURCE_CREATED,B.WIKI_SOURCE_SKIPPED,B.WIKI_PROMOTION_PROMOTED,B.WIKI_PROMOTION_DEMOTED,B.WIKI_RETIRED_COMPRESSED,B.WIKI_EVOLUTION_COMPLETED,B.LIFE_MISSION_STARTED,B.LIFE_MISSION_COMPLETED,B.LIFE_MANAGER_INTENT_STARTED,B.LIFE_MANAGER_INTENT_COMPLETED,B.LIFE_MANAGER_INTENT_FAILED,B.LIFE_MANAGER_STAGE_DECISION,B.LIFE_MANAGER_PLAN_CHALLENGE_DECIDED,B.LIFE_VERTICAL_RESOLVED,B.LIFE_PLANNER_START,B.LIFE_PLANNER_TASK_ADDED,B.LIFE_PLANNER_TASK_SKIPPED,B.LIFE_PLANNER_VERDICT,B.LIFE_PLANNER_WAITING,B.LIFE_PLANNER_WAITING_WOKEN,B.LIFE_PLANNER_TERMINAL_IDLE,B.LIFE_PLANNER_VERIFICATION_PROBE,B.LIFE_PLANNER_STALL_ESCALATION,B.LIFE_PLAN_SIGNAL,B.LIFE_PLAN_REVISION_PROPOSED,B.LIFE_PLAN_REVISION_REJECTED,B.LIFE_PLAN_REVISION_COMMITTED,B.LIFE_PLAN_NODE_SUPERSEDED,B.LIFE_BUDGET_PAUSE,B.BUDGET_RESERVATION_DENIED,B.BUDGET_UNPRICED_BLOCKED,B.LIFE_LIFECYCLE_BLOCK,B.LIFE_LIFECYCLE_TRANSITION,B.PROVIDER_REQUEST_STARTED,B.PROVIDER_REQUEST_COMPLETED,B.PROVIDER_REQUEST_DENIED,B.LIFE_INBOX_QUEUED,B.LIFE_INBOX_DRAINED,B.LIFE_DAEMON_IDLE_TIMEOUT,B.PROJECT_COMPLETED,B.PROJECT_COMPLETION_REFUSED,B.DAEMON_PARKED,B.DAEMON_COMMAND_COMPLETED,B.DAEMON_COMMAND_REJECTED,B.IDEA_SEARCH_STARTED,B.IDEA_SEARCH_COMPLETED,B.IDEA_SEARCH_SKIPPED,B.VENUE_RESEARCH_STARTED,B.VENUE_RESEARCH_COMPLETED,B.RESEARCH_ACHIEVEMENT_CERTIFIED,B.OPERATOR_ALERT,B.AGENT_IO_START,B.AGENT_IO_COMPLETE,B.AGENT_IO_ERROR,B.PROVIDER_REQUEST_STARTED,B.PROVIDER_REQUEST_COMPLETED,B.PROVIDER_REQUEST_DENIED,B.USAGE_RECORDED;function _t(e){let t=String(e??``).trim();return gt[t]??t}function vt(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(vt).join(`,`)}]`;let t=e;return`{${Object.keys(t).sort().map(e=>`${JSON.stringify(e)}:${vt(t[e])}`).join(`,`)}}`}function yt(e){let t=2166136261;for(let n=0;n>>0).toString(36)}function bt(e){let t=e.event_id??e.id??e.seq??e._offset,n=String(e.type??`event`);return t!=null&&t!==``?`${n}-${String(t)}`:`${n}-${String(e.ts??e.time??``)}-${yt(vt(e))}`}function xt(e){return e.type===B.ENGINEER_PROGRESS&&e.kind===`reasoning`}function St(e){if(e.type!==B.ENGINEER_PROGRESS||![`assistant_message`,`agent_message`,`message`].includes(String(e.kind??``)))return!1;let t=String(e.agent_layer??e.actor??``);return String(e.text??``).trimStart().startsWith(`{`)?t===`reviewer`||t===`planner`:!1}var Ct=/^(?:MILESTONE_STATUS|OPERATOR_QUESTION|OPERATOR_OPTIONS)\s*=/i;function wt(e){return String(e??``).split(/\r?\n/).filter(e=>!Ct.test(e.trim())).join(` +`).trim()}function Tt(e){let t=String(e.fragment_mode??``);return t===`append`||t===`snapshot`?t:e.replace===!0?`snapshot`:`auto`}function Et(e,t){let n=Math.min(e.length,t.length);for(let r=n;r>=8;--r)if(e.endsWith(t.slice(0,r)))return r;return 0}function Dt(e,t,n=`auto`){let r=(e||``).trim(),i=(t||``).trim();if(!r)return i;if(!i)return r;if(n===`snapshot`)return i;if(r.includes(i))return r;if(n===`append`)return`${r}\n${i}`;if(i.includes(r))return i;let a=Et(r,i);return a?`${r}${i.slice(a)}`:`${r}\n${i}`}var Ot=[`all`,`attention`,`milestones`,`messages`],kt=new Set([B.LIFE_MISSION_STARTED,B.LIFE_MISSION_COMPLETED,B.LIFE_MISSION_FAILED,B.LOOP_START,B.LOOP_DONE,B.LIFE_PLANNER_VERDICT,`final.report.ready`,`pptx.report.ready`,`plan.completed`,B.LIFE_BUDGET_PAUSE,B.LIFE_LIFECYCLE_BLOCK]);function At(e,t,n=`all`,r=``){let i=_t(e.canonical_type??e.type),a=String(e.kind??``);if(n===`attention`&&![`warn`,`err`].includes(String(t.tone??``))&&e.operator_alert!==!0||n===`milestones`&&!(t.rule&&!i.startsWith(`ui.`))&&!kt.has(i)||n===`messages`&&t.tone!==`bright`&&![`assistant_message`,`agent_message`,`message`].includes(a)&&![`ui.operator`,`ui.argus`].includes(i))return!1;let o=r.trim().toLocaleLowerCase();return!o||[i,a,t.role,t.label,t.text,e.title,e.objective,e.text,e.summary,e.reason,e.error,e.status,e.action_summary,e.command,e.path,Array.isArray(e.tags)?e.tags.join(` `):e.tags].some(e=>String(e??``).toLocaleLowerCase().includes(o))}var jt=[{id:`status`,name:`/status`,argument:`none`,desc:`roles, queued work, journal, and health`,group:`Everyday`,kind:`panel`},{id:`roles`,name:`/roles`,argument:`none`,desc:`per-role backend / model / effort + live activity`,group:`Everyday`,kind:`panel`},{id:`journal`,name:`/journal`,arg:`[N]`,argument:`optional`,desc:`recent journal entries (default 10)`,group:`Everyday`,kind:`panel`},{id:`backlog`,name:`/backlog`,arg:`[all]`,argument:`optional`,desc:`pending tasks (all = incl. done/skipped)`,group:`Everyday`,kind:`panel`},{id:`artifacts`,name:`/artifacts`,argument:`none`,desc:`reviewer-approved result files (Enter previews)`,group:`Everyday`,kind:`panel`},{id:`artifact`,name:`/artifact`,arg:``,argument:`required`,desc:`preview one approved result file`,group:`Everyday`,kind:`panel`},{id:`events`,name:`/events`,arg:`[filter] [query]`,argument:`optional`,desc:`search feed: all / watch / milestones / messages`,group:`Everyday`,kind:`panel`},{id:`find`,name:`/find`,arg:``,argument:`required`,desc:`search the current event buffer`,group:`Everyday`,kind:`panel`},{id:`cancel`,name:`/cancel`,argument:`none`,desc:`stop waiting for the current Manager reply`,group:`Everyday`,kind:`local`},{id:`ask`,name:`/ask`,arg:``,argument:`required`,desc:`answer inline — no task queued, no Planner/Engineer/Reviewer`,aliases:[`/chat`],group:`Everyday`,kind:`action`},{id:`task`,name:`/task`,arg:``,argument:`required`,desc:`queue work directly`,aliases:[`/add`],group:`Task management`,kind:`action`},{id:`plan`,name:`/plan`,arg:``,argument:`required`,desc:`preview a Planner-authored execution plan`,group:`Task management`,kind:`action`},{id:`rewrite`,name:`/rewrite`,arg:`[text]`,argument:`optional`,desc:`let the Manager rewrite your prompt before sending`,aliases:[`/refine`],group:`Task management`,kind:`action`},{id:`nudge`,name:`/nudge`,arg:``,argument:`required`,desc:`inject guidance into the running mission`,aliases:[`/inject`,`/notify`],group:`Task management`,kind:`action`},{id:`abort`,name:`/abort`,argument:`none`,desc:`immediately stop the running mission`,group:`Task management`,kind:`action`},{id:`note`,name:`/note`,arg:``,argument:`required`,desc:`append a manual note to the timeline`,group:`Task management`,kind:`action`},{id:`done`,name:`/done`,arg:``,argument:`required`,desc:`mark a task done`,group:`Task management`,kind:`action`},{id:`skip`,name:`/skip`,arg:``,argument:`required`,desc:`skip a task`,aliases:[`/rm`],group:`Task management`,kind:`action`},{id:`stop`,name:`/stop`,arg:``,argument:`required`,desc:`stop a task's auto-iteration`,group:`Task management`,kind:`action`},{id:`item`,name:`/item`,arg:``,argument:`required`,desc:`inspect a full task contract`,group:`Task management`,kind:`panel`},{id:`run`,name:`/run`,argument:`none`,desc:`return to the always-live mission feed`,group:`Task management`,kind:`local`},{id:`new`,name:`/new`,arg:`[objective]`,argument:`optional`,desc:`review, create, and switch to a fresh conversation`,group:`Sessions & diagnostics`,kind:`action`},{id:`daemons`,name:`/daemons`,arg:`[query]`,argument:`optional`,desc:`find every session + switch or create`,group:`Sessions & diagnostics`,kind:`panel`},{id:`resume`,name:`/resume`,arg:`[list|]`,argument:`optional`,desc:`switch to another project/session`,group:`Sessions & diagnostics`,kind:`action`},{id:`attach`,name:`/attach`,arg:``,argument:`required`,desc:`follow another project (read the stream)`,group:`Sessions & diagnostics`,kind:`action`},{id:`rename`,name:`/rename`,arg:``,argument:`required`,desc:`rename the current conversation`,group:`Sessions & diagnostics`,kind:`action`},{id:`doctor`,name:`/doctor`,argument:`none`,desc:`diagnose 'why isn't anything running'`,group:`Sessions & diagnostics`,kind:`panel`},{id:`backend`,name:`/backend`,arg:`[codex|claude|copilot|opencode|pi|grok]`,argument:`optional`,desc:`view or change the shared runner backend`,group:`Configuration`,kind:`action`},{id:`config`,name:`/config`,arg:`[key=value …]`,argument:`optional`,desc:`view or change runtime settings`,group:`Configuration`,kind:`panel`},{id:`identity`,name:`/identity`,arg:`[set ]`,argument:`optional`,desc:`view or replace the operator identity card`,group:`Configuration`,kind:`panel`},{id:`reset`,name:`/reset`,argument:`none`,desc:`drop the warm Manager conversation context`,group:`Configuration`,kind:`action`},{id:`skills`,name:`/skills`,arg:`[ls|promote ]`,argument:`optional`,desc:`inspect or promote runtime skills`,group:`Configuration`,kind:`action`},{id:`clear`,name:`/clear`,argument:`none`,desc:`clear the event feed view`,group:`Other`,kind:`local`},{id:`reconnect`,name:`/reconnect`,argument:`none`,desc:`reconnect the live event stream`,group:`Other`,kind:`local`},{id:`help`,name:`/help`,argument:`none`,desc:`keys + full command reference`,aliases:[`/?`,`/commands`],group:`Other`,kind:`local`},{id:`quit`,name:`/quit`,argument:`none`,desc:`leave the cockpit (background work keeps running)`,aliases:[`/exit`,`/q`],group:`Other`,kind:`local`}];new Map(jt.map(e=>[e.id,e]));var Mt=new Map;for(let e of jt)for(let t of[e.name,...e.aliases??[]])Mt.set(t.toLowerCase(),e);function Nt(e){return e.argument===`required`}var Pt=/^\/[A-Za-z0-9_-]+$/;function Ft(e){if(!e.startsWith(`/`))return!1;let t=e.indexOf(` `),n=t===-1?e:e.slice(0,t);return Pt.test(n)}function It(e){return e.startsWith(`/`)&&!e.includes(` `)&&!e.slice(1).includes(`/`)}function Lt(e){if(!It(e))return[];let t=e.toLowerCase(),n=new Set,r=[];for(let e of jt)[e.name,...e.aliases??[]].some(e=>e.toLowerCase().startsWith(t))&&!n.has(e.name)&&(n.add(e.name),r.push(e));return r.sort((e,n)=>Number(Rt(n,t))-Number(Rt(e,t)))}function Rt(e,t){return[e.name,...e.aliases??[]].some(e=>e.toLowerCase()===t)}function zt(e){return e.arg?`${e.name} `:e.name}function Bt(e){let t=e.trim();if(!t)return{filter:`all`,query:``};let[n,...r]=t.split(/\s+/);return n.toLowerCase()===`watch`?{filter:`attention`,query:r.join(` `)}:Ot.includes(n.toLowerCase())?{filter:n.toLowerCase(),query:r.join(` `)}:{filter:`all`,query:t}}function V(e){if(!Ft(e))return null;let t=e.indexOf(` `),n=(t===-1?e:e.slice(0,t)).toLowerCase(),r=t===-1?``:e.slice(t+1).trim(),i=Mt.get(n)??null;return{cmd:i,name:i?i.name:n,rest:r}}function Vt(e){let t=e.toLowerCase(),n=null,r=0;for(let e of Mt.keys()){let i=Ht(t,e);i>r&&(r=i,n=Mt.get(e).name)}return r>=.6?n:null}function Ht(e,t){return 1-Ut(e,t)/(Math.max(e.length,t.length)||1)}function Ut(e,t){let n=e.length,r=t.length,i=Array.from({length:n+1},(e,t)=>[t,...Array(r).fill(0)]);for(let e=0;e<=r;e+=1)i[0][e]=e;for(let a=1;a<=n;a+=1)for(let n=1;n<=r;n+=1)i[a][n]=Math.min(i[a-1][n]+1,i[a][n-1]+1,i[a-1][n-1]+(e[a-1]===t[n-1]?0:1));return i[n][r]}function Wt(e){let t=(e.label||e.display_name||``).trim();return!!(t&&t!==e.id)}function Gt(e){return[...e].sort((e,t)=>{if(e.daemon_alive!==t.daemon_alive)return e.daemon_alive?-1:1;let n=Wt(e);return n===Wt(t)?(t.last_active||0)-(e.last_active||0):n?-1:1})}function Kt(e){return Gt(e)[0]}function qt(e,t){let n=t?.trim()||null;return n&&e.some(e=>e.id===n)?{id:n,requested:n,recovered:!1}:{id:Kt(e)?.id??null,requested:n,recovered:!!n}}function Jt(e,t,n){if(n){let e=t?.trim()||null;return{id:e,requested:e,recovered:!1}}return qt(e,t)}function Yt(e,t){let n=t.trim().toLowerCase().split(/\s+/).filter(Boolean);if(!n.length)return!0;let r=e.daemon_alive?`live running`:`stopped idle`,i=[e.id,e.label,e.display_name,e.objective,r].filter(Boolean).join(` `).toLowerCase();return n.every(e=>i.includes(e))}function Xt(e,t){return e.filter(e=>Yt(e,t))}var Zt=new Set([`done`,`success`,`completed`]),Qt=new Set([`research_incomplete`,`paused_no_breakthrough`,`exhausted_current_methods`]),$t=new Set([`no_progress`,`max_rounds`]),en=new Set([`blocked`,`infra_blocked`]),tn=new Set([`error`,`failed`,`supervisor_error`]),nn={completed:{glyph:`🎉`,tone:`ok`,missionStatus:`complete`},incomplete:{glyph:`◌`,tone:`warn`,missionStatus:`incomplete`},stalled:{glyph:`⏸`,tone:`warn`,missionStatus:`stalled`},blocked:{glyph:`⛔`,tone:`err`,missionStatus:`blocked`},failed:{glyph:`💥`,tone:`err`,missionStatus:`failed`},ended:{glyph:`■`,tone:`info`,missionStatus:`ended`}},rn={completed:`Task completed`,incomplete:`Mission incomplete`,stalled:`Mission stalled`,blocked:`Mission blocked`,failed:`Mission failed`,ended:`Mission ended`};function an(e){return String(e??``).trim().toLowerCase()}function on(e){let t=an(e);switch(t){case`completed`:case`incomplete`:case`stalled`:case`blocked`:case`failed`:case`ended`:return t;default:return null}}function sn(e){let t=an(e.status);return e.success===!0||Zt.has(t)?`completed`:Qt.has(t)?`incomplete`:$t.has(t)?`stalled`:en.has(t)?`blocked`:tn.has(t)?`failed`:`ended`}function cn(e){let t=e.outcome;if(t&&typeof t==`object`&&!Array.isArray(t)){let n=t;return{execution_status:an(n.execution_status)||sn(e),review_status:an(n.review_status)||`not_assessed`,stage_certification:an(n.stage_certification)||`not_assessed`,interruption_kind:an(n.interruption_kind)||`none`,resumable:n.resumable===!0}}return{execution_status:sn(e),review_status:`not_assessed`,stage_certification:`not_assessed`,interruption_kind:an(e.stop_kind)||`none`,resumable:e.resumable===!0}}function ln(e){return e?.execution_status?[`execution=${e.execution_status}`,e.review_status&&e.review_status!==`not_assessed`?`review=${e.review_status}`:``,e.stage_certification&&e.stage_certification!==`not_assessed`?`stage=${e.stage_certification}`:``,e.interruption_kind&&e.interruption_kind!==`none`?`interrupt=${e.interruption_kind}`:``,e.resumable?`resumable=yes`:``].filter(Boolean):[]}function un(e){let t=on(e.outcome_class)??sn(e),n=String(e.status??``).trim(),r=nn[t];return{outcomeClass:t,label:t===`completed`&&e.final_submission_certified===!0?`Submission certified`:t===`ended`&&n?`Mission ended · ${n}`:rn[t],glyph:r.glyph,tone:r.tone,missionStatus:r.missionStatus}}var dn=[`manager`,`planner`,`engineer`,`reviewer`],fn=new Set([`planner`,`engineer`,`reviewer`]),pn=new Set([`running`,`in_progress`,`claimed`]),H=(e,t)=>String(e[t]??``).trim(),mn=(e,t)=>{let n=Number(e[t]);return Number.isFinite(n)?n:null};function hn(e){let t=[e.route?e.route.toUpperCase():``,e.vertical,e.workflow_mode?e.workflow_mode.toUpperCase():``].filter(Boolean);return e.lifetime===`standing`?t.push(`STANDING · OPEN-ENDED`):e.lifetime===`bounded_increment`?t.push(`BOUNDED INCREMENT`):e.lifetime===`bounded`&&e.continuous?t.push(`BOUNDED · FINITE CONTINUOUS`):e.lifetime&&t.push(e.lifetime.toUpperCase()),t.join(` · `)}function gn(e){return JSON.parse(JSON.stringify(e))}function _n(){return{schema_version:5,bootstrapped:!1,mission:{id:``,title:``,objective:``,summary:``,status:`idle`,started_at:null,completed_at:null,elapsed_seconds:0,campaign_started_at:null,campaign_elapsed_seconds:0},stage:{id:``,label:``},routing:{route:``,vertical:``,workflow_mode:``,lifetime:``,continuous:!1,open_ended:!1},round:{current:0,max:0},active_role:``,roles:dn.map(e=>({role:e,status:`waiting`,label:`Waiting`,updated_at:0})),role_work:[],dag:[],timeline:[],artifacts:[],learned_skills:[],learned_wiki_pages:[],storage:{project_skill_dir:``,global_skill_dir:``,project_skill_count:0,global_skill_count:0,skill_history_compressed:0,wiki_retired_compressed:0,skill_history_bytes_saved:0,wiki_retired_bytes_saved:0,wiki_paths:[]},achievement:null,review:{status:``,reason:``,rejected_attempts:0},frontier:{change:``,summary:``,updated_at:0},outcome:{},last_event_ts:0,updated_at:0}}function vn(e,t,n,r){if(n==null||n===``)return;let i=e.findIndex(e=>e[t]===n);i>=0?e[i]={...e[i],...r}:e.push(r)}function U(e,t,n,r,i){if(!dn.includes(t))return;n===`active`&&fn.has(t)&&e.roles.forEach(e=>{fn.has(e.role)&&e.role!==t&&e.status===`active`&&Object.assign(e,{status:`done`,label:`Handed off`,updated_at:i})});let a={role:t,status:n,label:r,updated_at:i};vn(e.roles,`role`,t,a),n===`active`?e.active_role=t:e.active_role===t&&(e.active_role=``)}function yn(e,t,n,r,i=``,a=`neutral`){let o=bt(t);if(e.timeline.some(e=>e.id===o))return;let s={id:o,ts:Number(t.ts??Date.now()/1e3),type:_t(t.type),role:n,title:r.slice(0,180),detail:i.slice(0,500),tone:a};[`item_id`,`branch_id`].forEach(e=>{let n=H(t,e);n&&(s[e]=n)}),e.timeline=[...e.timeline,s].slice(-120)}function bn(e,t,n,r,i,a=``,o=``){if(!dn.includes(n))return;let s=H(t,`message_id`),c=s?`${n}:${s}`:bt(t),l=e.role_work.find(e=>e.id===c),u=l&&l.detail.length>a.length?l.detail:a,d={id:c,ts:Number(t.ts??Date.now()/1e3),role:n,kind:r,title:i.slice(0,240),detail:u.slice(0,4e3),status:o,item_id:H(t,`item_id`),mission_id:e.mission.id,mission_title:e.mission.title.slice(0,240),round_index:mn(t,`round_index`)},f=e.role_work.findIndex(e=>e.id===c);f>=0?e.role_work[f]=d:e.role_work.push(d);let p=new Set;dn.forEach(t=>{e.role_work.filter(e=>e.role===t).slice(-40).forEach(e=>p.add(e.id))}),e.role_work=e.role_work.filter(e=>p.has(e.id))}function xn(e){return e===`ok`?`success`:e===`err`?`error`:`info`}var Sn={agent_message:`Reporting progress`,assistant_message:`Reporting progress`,command_execution:`Running a command`,reasoning:`Reasoning`,tool_use:`Using a tool`,tool_result:`Inspecting tool output`,codex_idle:`Waiting for model output`};function Cn(e,t){let n=_t(t.type),r=Number(t.ts??Date.now()/1e3);if(e.last_event_ts=Math.max(e.last_event_ts,r),n===B.LIFE_MANAGER_INTENT_STARTED)e.mission.id=H(t,`item_id`)||H(t,`intent_id`),e.mission.title=H(t,`objective`).slice(0,240),e.mission.objective=H(t,`objective`),e.mission.status=`grounding`,U(e,`manager`,`active`,`Grounding project`,r),yn(e,t,`manager`,`Project grounding started`,H(t,`objective`)),bn(e,t,`manager`,`grounding`,`Grounding project`,H(t,`objective`),`active`);else if(n===B.LIFE_MANAGER_INTENT_COMPLETED){e.mission.id=H(t,`item_id`),e.mission.title=H(t,`objective`).slice(0,240),e.mission.objective=H(t,`objective`),e.mission.status=`framed`,e.routing.route=H(t,`route`)||e.routing.route||`team`,e.routing.vertical=H(t,`vertical`)||e.routing.vertical,e.routing.workflow_mode=H(t,`workflow_mode`)||e.routing.workflow_mode,e.routing.lifetime=H(t,`lifetime`)||e.routing.lifetime,`continuous`in t&&(e.routing.continuous=t.continuous===!0),`open_ended`in t&&(e.routing.open_ended=t.open_ended===!0);let n=H(t,`current_stage`),i=Array.isArray(t.stages)?t.stages:[];if(n)e.stage={id:n,label:n.replaceAll(`_`,` `)};else if(!e.stage.id&&i[0]){let t=String(i[0]);e.stage={id:t,label:t.replaceAll(`_`,` `)}}U(e,`manager`,`done`,`Goal framed`,r),yn(e,t,`manager`,`Goal framed`,H(t,`reason`),`success`),bn(e,t,`manager`,`decision`,`Goal framed`,H(t,`reason`)||H(t,`execution_task`),`done`)}else if(n===B.LIFE_MANAGER_INTENT_FAILED)e.mission.status=`failed`,U(e,`manager`,`error`,`Manager routing failed`,r),yn(e,t,`manager`,`Manager routing failed`,H(t,`error`)||H(t,`reason`),`error`),bn(e,t,`manager`,`grounding`,`Manager routing failed`,H(t,`error`)||H(t,`reason`),`error`);else if(n===B.LIFE_MANAGER_STAGE_DECISION){let n=H(t,`target_stage`)||H(t,`stage`)||H(t,`current_stage`);n&&(e.stage={id:n,label:n.replaceAll(`_`,` `)}),U(e,`manager`,`done`,n?`Stage · ${n}`:`Stage reviewed`,r),yn(e,t,`manager`,n?`Stage → ${n}`:`Stage reviewed`,H(t,`reason`)),bn(e,t,`manager`,`stage_decision`,n?`Stage → ${n}`:`Stage reviewed`,H(t,`reason`),H(t,`action`))}else if(n===B.LIFE_PLANNER_START)U(e,`planner`,`active`,`Planning next work`,r),bn(e,t,`planner`,`planning`,`Planning next work`,H(t,`objective`),`active`);else if(n===B.LIFE_PLANNER_TASK_ADDED){let n=H(t,`item_id`),i={id:n,title:H(t,`title`),objective:H(t,`objective`),status:`pending`,deps:Array.isArray(t.deps)?t.deps.map(String):[],branch_id:H(t,`branch_id`)||n,parent_branch_id:H(t,`parent_branch_id`)||null};vn(e.dag,`id`,n,i),U(e,`planner`,`done`,`Research branch added`,r),yn(e,t,`planner`,`Research branch added`,i.title,`info`),bn(e,t,`planner`,`task`,i.title||`Task added`,i.objective,`pending`)}else if(n===B.LIFE_PLANNER_VERDICT){let n=!!t.project_done,i=n?`Project reviewed`:`Planning complete`;U(e,`planner`,`done`,i,r),yn(e,t,`planner`,i,H(t,`reason`),n?`success`:`neutral`),bn(e,t,`planner`,`verdict`,i,H(t,`reason`),n?`done`:`planned`)}else if(n===B.LIFE_PLANNER_WAITING){U(e,`planner`,`waiting`,`Waiting on external work`,r);let n=H(t,`reason`)||H(t,`waiting_reason`);yn(e,t,`planner`,`Planner waiting`,n),bn(e,t,`planner`,`waiting`,`Planner waiting`,n,`waiting`)}else if(n===B.LIFE_MISSION_STARTED)e.review={status:``,reason:``,rejected_attempts:0},e.mission.campaign_started_at??=r,e.mission={...e.mission,id:H(t,`item_id`),title:H(t,`title`),objective:H(t,`objective`),summary:``,status:`working`,started_at:r,completed_at:null},U(e,`reviewer`,`waiting`,`Awaiting engineer handoff`,r),U(e,`engineer`,`active`,`Starting mission`,r),yn(e,t,`engineer`,`Mission started`,H(t,`title`),`info`),bn(e,t,`engineer`,`task`,H(t,`title`)||`Mission started`,H(t,`objective`),`active`);else if(n===B.ROUND_START)e.round={current:mn(t,`round_index`)??0,max:mn(t,`round_max`)??e.round.max},U(e,`engineer`,`active`,`Running round ${e.round.current}`,r),yn(e,t,`engineer`,`Round ${e.round.current} started`);else if(n===B.ENGINEER_PROGRESS){let n=H(t,`agent_layer`)||H(t,`actor`)||`engineer`,i=n===`main`?`engineer`:n,a=H(t,`kind`),o=Sn[a]??`Working`;U(e,i,`active`,o,r);let s=H(t,`action_summary`)||H(t,`text`);s&&!xt(t)&&!St(t)&&bn(e,t,i,a||`progress`,o,s,`active`),[`reasoning`,`assistant_message`,`agent_message`].includes(a)||yn(e,t,i,o,H(t,`action_summary`)||H(t,`text`))}else if(n===B.ROUND_MAIN_COMPLETED)U(e,`engineer`,`done`,`Engineer handoff ready`,r),bn(e,t,`engineer`,`handoff`,`Engineer handoff ready`,H(t,`text`)||H(t,`summary`),`done`);else if(n===B.ROUND_REVIEW_STARTED)U(e,`reviewer`,`active`,`Reviewing benchmark evidence`,r),bn(e,t,`reviewer`,`review`,`Review started`,``,`active`);else if(n===B.ROUND_REVIEW_DEFERRED){let n=H(t,`next_step`);U(e,`engineer`,`active`,`Continuing before review`,r),U(e,`reviewer`,`waiting`,`Review deferred for one round`,r),yn(e,t,`engineer`,`Continued before review`,n,`info`)}else if(n===B.ROUND_REVIEW_COMPLETED){let n=H(t,`status`),i=H(t,`reason`);e.review={status:n,reason:i,rejected_attempts:e.review.rejected_attempts+ +!![`continue`,`blocked`].includes(n)};let a=H(t,`frontier_change`);a&&(e.frontier={change:a,summary:H(t,`frontier_summary`),updated_at:r}),U(e,`reviewer`,n===`done`?`done`:`rejected`,n===`done`?`Accepted evidence`:`Requested another attempt`,r),yn(e,t,`reviewer`,n===`done`?`Evidence accepted`:`Attempt rejected`,i,n===`done`?`success`:`error`);let o=H(t,`next_action`);bn(e,t,`reviewer`,`verdict`,n===`done`?`Evidence accepted`:`Attempt rejected`,o?`${i}\n\nNext action: ${o}`:i,n)}else if([B.SKILL_CREATED,B.SKILL_UPDATED].includes(n)){let i=H(t,`skill_id`)||H(t,`name`);i&&(vn(e.learned_skills,`id`,i,{id:i,name:H(t,`name`),version:mn(t,`version`)??1,scope:H(t,`scope`),path:H(t,`path`),status:`active`,updated_at:r,mission_id:e.mission.id,mission_title:e.mission.title}),yn(e,t,`reviewer`,n===B.SKILL_CREATED?`Capability unlocked`:`Capability upgraded`,H(t,`name`),`skill`))}else if(n===B.SKILL_EVOLUTION_COMPLETED)e.storage.project_skill_dir=H(t,`project_skill_dir`)||e.storage.project_skill_dir,e.storage.global_skill_dir=H(t,`global_skill_dir`)||e.storage.global_skill_dir,e.storage.project_skill_count=mn(t,`project_skill_count`)??e.storage.project_skill_count,e.storage.global_skill_count=mn(t,`global_skill_count`)??e.storage.global_skill_count;else if(n===B.SKILL_HISTORY_COMPRESSED)e.storage.skill_history_compressed+=mn(t,`count`)??0,e.storage.skill_history_bytes_saved+=mn(t,`bytes_saved`)??0;else if(n===B.SKILL_TIDIED){let n=H(t,`name`);if(n){let i=e.learned_skills.find(e=>e.name===n),a={source_path:H(t,`path`),source_placement:H(t,`placement`),source_vertical:H(t,`vertical`),updated_at:r};i?Object.assign(i,a):vn(e.learned_skills,`id`,n,{id:n,name:n,version:1,scope:``,path:``,status:`active`,...a}),yn(e,t,`manager`,`Capability promoted to source`,n,`skill`)}}else if([B.WIKI_INITIALIZED,B.WIKI_EVOLUTION_COMPLETED].includes(n)){let n=[...(Array.isArray(t.paths)?t.paths:[]).map(e=>String(e)),H(t,`path`)].filter(Boolean);e.storage.wiki_paths=[...new Set([...e.storage.wiki_paths,...n])]}else if(n===B.WIKI_RETIRED_COMPRESSED)e.storage.wiki_retired_compressed+=mn(t,`count`)??0,e.storage.wiki_retired_bytes_saved+=mn(t,`bytes_saved`)??0;else if([B.WIKI_CREATED,B.WIKI_UPDATED].includes(n)){let i=H(t,`page_id`);i&&(vn(e.learned_wiki_pages,`id`,i,{id:i,title:H(t,`title`)||i,card_type:H(t,`card_type`),status:H(t,`status`)||`scratch`,path:H(t,`path`),updated_at:r}),yn(e,t,`reviewer`,n===B.WIKI_CREATED?`Knowledge captured`:`Knowledge refined`,H(t,`title`)||i,`skill`))}else if(n===B.WIKI_RETIRED){let n=H(t,`page_id`);if(n){let i=e.learned_wiki_pages.find(e=>e.id===n);i?Object.assign(i,{status:`retired`,updated_at:r}):vn(e.learned_wiki_pages,`id`,n,{id:n,title:n,card_type:H(t,`card_type`),status:`retired`,path:``,updated_at:r}),yn(e,t,`reviewer`,`Knowledge retired`,n,`error`)}}else if([B.WIKI_PROMOTION_PROMOTED,B.WIKI_PROMOTION_DEMOTED].includes(n)){let i=H(t,`page_id`);if(i){let a=e.learned_wiki_pages.find(e=>e.id===i);a?Object.assign(a,{status:H(t,`to_status`),updated_at:r}):vn(e.learned_wiki_pages,`id`,i,{id:i,title:i,card_type:H(t,`card_type`),status:H(t,`to_status`),path:``,updated_at:r});let o=n===B.WIKI_PROMOTION_PROMOTED;yn(e,t,`reviewer`,o?`Knowledge promoted`:`Knowledge demoted`,`${i} → ${H(t,`to_status`)}`,o?`success`:`neutral`)}}else if(n===B.RESEARCH_ACHIEVEMENT_CERTIFIED)e.achievement={id:H(t,`achievement_id`),title:H(t,`title`),goal:H(t,`goal`),summary:H(t,`summary`),rejected_attempts:e.review.rejected_attempts,skills_learned:e.learned_skills.filter(e=>e.status===`active`).length,artifacts:e.artifacts.length,elapsed_seconds:e.mission.elapsed_seconds,evidence:Array.isArray(t.evidence)?t.evidence.map(String):[],reviewer_certified:!0,certified_at:r};else if([B.LIFE_MISSION_COMPLETED,B.LIFE_MISSION_FAILED].includes(n)){let i=n===B.LIFE_MISSION_FAILED?un({...t,outcome_class:`failed`,status:H(t,`status`)||`failed`,success:!1}):un(t);e.mission.id=H(t,`item_id`)||e.mission.id,e.mission.title=H(t,`title`)||e.mission.title,e.mission.objective=H(t,`objective`)||e.mission.objective,e.mission.summary=H(t,`summary`),e.mission.status=i.missionStatus,e.mission.completed_at=r,e.outcome=cn(t),U(e,`engineer`,i.missionStatus===`complete`?`done`:i.missionStatus,i.label,r),yn(e,t,`engineer`,i.label,H(t,`summary`)||H(t,`title`)||H(t,`status`),xn(i.tone)),bn(e,t,`engineer`,`completion`,i.label,H(t,`summary`)||H(t,`title`)||H(t,`status`),i.missionStatus)}return e.updated_at=Date.now()/1e3,e}function wn(e,t,n){let r=t.backlog.find(e=>pn.has(e.status)),i=t.backlog.find(e=>e.status===`pending`),a=t.backlog.find(t=>t.id===e.mission.id),o=r??a,s=!!(r||i||t.continuous?.enabled||t.continuous?.done_reason||t.continuous?.done_at||e.mission.id||![``,`idle`].includes(e.mission.status));t.continuous?.enabled&&(e.routing.route=e.routing.route||`team`,e.routing.continuous=!0,e.routing.open_ended=t.continuous.open_ended===!0,e.routing.lifetime=e.routing.open_ended?`standing`:e.routing.lifetime||`bounded`);let c=o?.objective||o?.title||(t.continuous?.enabled?t.continuous.objective:``)||t.session.objective||(e.mission.id?``:i?.objective)||(e.mission.id?``:i?.title)||e.mission.objective;c&&(e.mission.objective=c,o?e.mission.title=(o.title||c.split(` +`)[0]).slice(0,240):e.mission.title||(e.mission.title=c.split(` +`)[0].slice(0,240))),r?(e.mission.id=r.id,e.mission.status=`working`,e.mission.started_at=e.mission.started_at??r.started_ts??null):a?a.status===`pending`&&(e.mission.status=`queued`):t.continuous?.done_reason||t.continuous?.done_at?e.mission.status=`complete`:i||t.continuous?.enabled?e.mission.status=`queued`:t.daemon.alive&&(e.mission.status=`idle`),t.roles.forEach(t=>{t.active?U(e,t.role,`active`,t.label||t.status||`Working`,Date.now()/1e3-(t.age_s??0)):s||U(e,t.role,`waiting`,`Waiting`,Date.now()/1e3);let n=e.roles.find(e=>e.role===t.role);n&&Object.assign(n,{backend:t.backend,model:t.model,effort:t.effort})});let l=t.roles.filter(e=>e.active);l.length?e.active_role=l[l.length-1].role:s||(e.active_role=``),t.backlog.forEach(t=>{let n={id:t.id,title:t.title,objective:t.objective,status:t.status,deps:t.deps??[],branch_id:t.id,parent_branch_id:t.deps?.[0]??null,acceptance_check:t.acceptance_check??``,plan_hypothesis:t.plan_hypothesis??``,goal_contribution:t.goal_contribution??``,expected_regressions:t.expected_regressions??``,decision_rule:t.decision_rule??``,non_goals:t.non_goals??[]};vn(e.dag,`id`,n.id,n)});let u=o?.outcome?.execution_status?o.outcome:e.mission.id?void 0:[...t.backlog].filter(e=>e.outcome?.execution_status).sort((e,t)=>Number(e.finished_ts??0)-Number(t.finished_ts??0)).at(-1)?.outcome;return!r&&u&&(e.outcome=cn({outcome:u,status:`done`,success:!0})),n.forEach(t=>{vn(e.artifacts,`path`,t.path,{id:t.path,path:t.path,title:t.name,kind:t.kind,why:t.why,exists:t.exists,source:t.source})}),s}function Tn(e,t,n,r){r||(t.roles.forEach(t=>{t.active||U(e,t.role,`waiting`,`Waiting`,Date.now()/1e3)}),e.active_role=``);let i=Date.now()/1e3,a=e.mission.campaign_started_at??t.session.created??e.mission.started_at;a&&(e.mission.campaign_started_at=a,e.mission.campaign_elapsed_seconds=Math.max(0,i-a)),e.mission.started_at&&e.mission.status===`working`?e.mission.elapsed_seconds=Math.max(0,i-e.mission.started_at):e.mission.started_at&&e.mission.completed_at&&(e.mission.elapsed_seconds=Math.max(0,e.mission.completed_at-e.mission.started_at)),e.achievement?.reviewer_certified&&(e.achievement.elapsed_seconds=e.mission.elapsed_seconds,e.achievement.rejected_attempts=e.review.rejected_attempts,e.achievement.skills_learned=e.learned_skills.filter(e=>e.status===`active`).length,e.achievement.artifacts=n.filter(e=>e.exists).length)}function En(e,t=[],n=[]){let r=e.mission_view?gn(e.mission_view):_n();r.storage??=_n().storage,r.storage.skill_history_compressed??=0,r.storage.wiki_retired_compressed??=0,r.storage.skill_history_bytes_saved??=0,r.storage.wiki_retired_bytes_saved??=0,r.learned_wiki_pages??=[],r.role_work??=[],r.outcome??={};let i=r.last_event_ts,a=wn(r,e,n);return t.filter(e=>e.ts==null||Number(e.ts)>i).sort((e,t)=>Number(e.ts??0)-Number(t.ts??0)).forEach(e=>Cn(r,e)),Tn(r,e,n,a),r}function Dn(e){return String(e||``).replace(/\\([*_`~])/g,`$1`).replace(/\\\\(?=[A-Za-z])/g,`\\`)}function On(e){let t=Math.max(0,Math.floor(e)),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n?`${n}h ${r}m`:r?`${r}m`:`${t}s`}var kn={[B.LIFE_LIFECYCLE_BLOCK]:`block`,[B.ROUND_REVIEWER_BACKEND_FAILURE]:`block`,[B.LIFE_BUDGET_PAUSE]:`warn`,[B.ROUND_STALL]:`warn`,[B.ROUND_ESCALATED]:`warn`,[B.LIFE_PLANNER_STALL_ESCALATION]:`warn`},An=new Set([B.BUDGET_RESERVATION_DENIED,B.BUDGET_UNPRICED_BLOCKED]),jn=new Set([B.LIFE_MISSION_STARTED,B.ROUND_MAIN_COMPLETED,B.LIFE_MISSION_COMPLETED,B.LOOP_DONE,B.ROUND_START,`ui.operator`]),Mn=new Set([B.BUDGET_RESERVATION_CREATED,B.PROVIDER_REQUEST_STARTED]);function Nn(e){let t=_t(e.canonical_type??e.type);if(e.event_validation?.status===`invalid`)return{tone:`warn`,text:`invalid event ${t||`unknown`}: ${e.event_validation.errors.join(`; `)}`};if(An.has(t))return{tone:`block`,kind:`budget`,text:`Budget exhausted or blocked — ${String(e.reason??e.text??t).trim()}`};let n=e.operator_alert===!0?`block`:kn[t];return n?{tone:n,text:String(e.text??e.reason??t).trim()}:null}function Pn(e){let t=null;for(let n of e){let e=_t(n.canonical_type??n.type),r=Nn(n);r?t=r:(t?.kind===`budget`&&Mn.has(e)||t&&t.kind!==`budget`&&jn.has(e))&&(t=null)}return t}var Fn=new Set([`done`,`completed`,`failed`,`skipped`]);function In(e){return Fn.has(e.status)}function Ln(e,t){return e.filter(e=>In(e)===t)}Math.max(...[` ╭───────────────────────────────────────────────────────────────────────────────────╮╮`,` │ ││`,` │ ◉ argus-skill · Autonomous Research Lab ││`,` │ ││`,` ╰───────────────────────────────────────────────────────────────────────────────────╯│`,` │`].map(e=>[...e].length));var Rn=[`turning it over`,`consulting a hundred eyes`,`reading the room`,`weighing it`,`thinking it through`,`cross-checking the evidence`,`running the numbers`,`sizing up the angles`,`following the thread`,`letting it settle`],zn=[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`];function Bn(e,t,n=20){return e.length===0?``:e[Math.floor(t/n)%e.length]}function Vn(e){return zn[e%zn.length]}function Hn(e,t,n=!1,r=0){let i=`${Bn(Rn,t)}…`;if(n)return`${i} · Manager alive · ${Math.max(0,Math.floor(Number.isFinite(r)?r:0))}s quiet`;let a=e||i;return a.includes(`[SESSION HANDOFF`)?`Manager context refreshed · working on your message…`:a.replace(/^Manager\s*·\s*/i,``).slice(0,100)}var Un=()=>Date.now()/1e3;function Wn(e){return e.trim().replace(/[.…]+$/u,``).toLowerCase()}function Gn(e,t,n=Un()){let r=(t.label??``).trim();if(!r)return e;let i=t.heartbeat===!0,a=e.slice(),o=a[a.length-1];if(o&&!o.endedTs){if(Wn(o.label)===Wn(r)||i&&o.heartbeat)return a[a.length-1]={...o,label:r,detail:t.detail||o.detail,kind:t.kind||o.kind,heartbeat:i,endedTs:0},a;a[a.length-1]={...o,endedTs:n}}return a.push({id:`${a.length}:${r}:${n}`,role:(t.role||`manager`).trim()||`manager`,label:r,detail:(t.detail||``).trim(),kind:(t.kind||``).trim(),startedTs:n,endedTs:0,heartbeat:i}),a}function Kn(e,t=Un()){if(e.length===0)return[];let n=e.slice(),r=n[n.length-1];return r&&!r.endedTs&&(n[n.length-1]={...r,endedTs:t}),n}function qn(e,t=6){let n=Math.max(1,t);return e.length<=n?e:e.slice(e.length-n)}function Jn(e,t=Un()){let n=e.endedTs||t;return Math.max(0,n-e.startedTs)}function Yn(e){if(!Number.isFinite(e)||e<1)return``;if(e<60)return`${Math.floor(e)}s`;let t=Math.floor(e/60),n=Math.floor(e%60);return n?`${t}m${n}s`:`${t}m`}function Xn(e,t=!1,n=!1){return(t||n)&&e.toLowerCase()===`r`}function W(e,t){let n=(e||``).replace(/```[a-z]*\n?/gi,``).replace(/\[([^\]]+)\]\([^)]+\)/g,`[$1]`).trim();return n.length<=t?n:n.slice(0,t-1).trimEnd()+`…`}var Zn=e=>String(e??``).split(` +`)[0]?.trim()??``,G=(e,t)=>String(e[t]??``),Qn=e=>{let t=e,n=t.round_index??t.round;return typeof n==`string`||typeof n==`number`?n:`?`},$n={manager:`Manager`,planner:`Planner`,engineer:`Engineer`,reviewer:`Reviewer`,critic:`Critic`,system:`Argus`},er={manager:`Manager`,planner:`Planner`,engineer:`Engineer`,reviewer:`Reviewer`,critic:`Critic`,system:`Argus`},tr=e=>({bright:z.ink,dim:z.inkDim,accent:z.accent,ok:z.success,warn:z.warning,err:z.error,info:z.info})[e];function nr(e,t=`en`){let n=G(e,`type`),r=(e,n)=>t===`zh-CN`?n:e,i=e=>(t===`zh-CN`?er:$n)[e]||e;if(n===`ui.operator`){let t=wt(G(e,`text`));return t?{role:`operator`,label:r(`You`,`你`),glyph:`›`,text:t,tone:`bright`,rule:!0}:null}if(n===`ui.argus`){let t=G(e,`text`);return t?{role:`manager`,label:`Argus`,glyph:`◆`,text:t,tone:`bright`,rule:!0}:null}if(n===`engineer.progress`){let t=G(e,`kind`),n=G(e,`agent_layer`)||`engineer`,a=Zn(e.text??e.action_summary);if(t===`reasoning`){let t=W(G(e,`text`),280);return t?{role:n,label:i(n),glyph:`∴`,text:t,tone:`dim`,reasoning:!0}:null}if(t===`assistant_message`||t===`agent_message`||t===`message`){if(St(e))return null;let t=wt(G(e,`text`));return t?{role:n,label:i(n),glyph:`▌`,text:t,tone:`bright`}:null}if(t===`command_execution`){let t=G(e,`text`)||G(e,`command`)||G(e,`action_summary`);return t?{role:n,label:i(n),glyph:`▸ $`,text:t,tone:`dim`}:null}if(t===`file_change`){let t=G(e,`text`)||G(e,`action_summary`);return{role:n,label:i(n),glyph:`✎`,text:t||r(`(file change)`,`(文件变更)`),tone:`dim`}}if(t===`tool_use`){let t=G(e,`text`)||G(e,`action_summary`);return{role:n,label:i(n),glyph:`⚙`,text:t||r(`(tool)`,`(工具)`),tone:`dim`}}return a?{role:n,label:i(n),glyph:`▸`,text:W(a,160),tone:`dim`}:null}if(n===`life.manager.intent.started`)return{role:`manager`,label:`Manager`,glyph:`🧭`,text:r(`classifying request…`,`判断任务归属…`),tone:`info`};if(n===`life.manager.intent.completed`)return{role:`manager`,label:`Manager`,glyph:`🧭`,text:`→ ${hn({route:G(e,`route`)||`team`,vertical:G(e,`vertical`),workflow_mode:G(e,`workflow_mode`),lifetime:G(e,`lifetime`),continuous:e.continuous===!0,open_ended:e.open_ended===!0})||G(e,`kind`)||r(`resolved`,`已确定`)}`,tone:`info`};if(n===`life.manager.intent.failed`)return{role:`manager`,label:`Manager`,glyph:`⚠`,text:`${r(`routing failed`,`分流失败`)} ${W(G(e,`error`),140)}`,tone:`err`};if(n===`life.manager.stage_decision`){let t=G(e,`target_stage`)||G(e,`stage`)||G(e,`current_stage`);return{role:`manager`,label:`Manager`,glyph:`🧭`,text:`${G(e,`action`)}${t?` → ${t}`:``} ${W(G(e,`reason`),120)}`,tone:`info`}}if(n===`life.planner.start`)return{role:`planner`,label:`Planner`,glyph:`📋`,text:`${r(`planning`,`正在规划`)} ${W(G(e,`objective`),140)}`,tone:`accent`};if(n===`life.planner.verdict`)return G(e,`status`)===`done`||e.project_done===!0?{role:`planner`,label:`Planner`,glyph:`🏁`,text:r(`project done`,`项目已完成`),tone:`ok`}:{role:`planner`,label:`Planner`,glyph:`📋`,text:r(`queued ${G(e,`queued`)||G(e,`n`)||`next`} task(s)`,`已加入 ${G(e,`queued`)||G(e,`n`)||`下一`} 个任务`),tone:`accent`};if(n===`life.planner.task_added`)return{role:`planner`,label:`Planner`,glyph:`+`,text:`${r(`added`,`已添加`)} ${W(G(e,`title`)||G(e,`objective`),140)}`,tone:`accent`};if(n===`life.planner.task_skipped`)return{role:`planner`,label:`Planner`,glyph:`⏭`,text:`${r(`skipped duplicate`,`已跳过重复任务`)} ${W(G(e,`title`),120)}`,tone:`dim`};if(n===`life.planner.error`)return{role:`planner`,label:`Planner`,glyph:`⚠`,text:`${r(`planner error`,`Planner 错误`)} ${W(G(e,`error`)||G(e,`text`),140)}`,tone:`err`};if(n===`life.mission.started`||n===`mission.started`)return{role:`engineer`,label:`Engineer`,glyph:`🚀`,text:W(G(e,`title`)||G(e,`objective`)||G(e,`text`)||r(`mission started`,`任务已开始`),160),tone:`info`,rule:!0};if(n===`round.started`||n===`round.start`)return{role:`engineer`,label:`Engineer`,glyph:`──`,text:r(`round ${Qn(e)}`,`第 ${Qn(e)} 轮`),tone:`dim`,rule:!0};if(n===`life.phase.started`){let t=G(e,`label`)||G(e,`phase`);if(!t)return null;let n=G(e,`agent_layer`)||`engineer`;return{role:n,label:i(n),glyph:`🔄`,text:r(`entering ${t}`,`进入 ${t}`),tone:`info`}}if(n===`round.review.started`)return{role:`reviewer`,label:`Reviewer`,glyph:`🔄`,text:r(`review round ${Qn(e)}`,`审核第 ${Qn(e)} 轮`),tone:`info`};if(n===`round.review.deferred`)return{role:`engineer`,label:`Engineer`,glyph:`↪`,text:r(`continues before review · ${W(G(e,`next_step`),160)}`,`审核前继续执行 · ${W(G(e,`next_step`),160)}`),tone:`info`};if(n===`round.main.completed`)return{role:`engineer`,label:`Engineer`,glyph:`✅`,text:r(`round ${Qn(e)} completed`,`第 ${Qn(e)} 轮已完成`),tone:`info`};if(n===`round.review.completed`){let t=G(e,`status`),n=t===`done`?`ok`:t===`blocked`||t===`no_progress`?`err`:`warn`;return{role:`reviewer`,label:`Reviewer`,glyph:t===`done`?`✅`:t===`blocked`||t===`no_progress`?`⛔`:`↻`,text:`${t||`?`} · ${W(G(e,`reason`),160)}`,tone:n}}if(n===`life.iteration.critic`)return{role:`critic`,label:`Critic`,glyph:`👔`,text:`${G(e,`decision`)||``} ${W(G(e,`reason`),140)}`,tone:`info`};if(n===`life.iteration.continued`)return{role:`critic`,label:`Critic`,glyph:`🔁`,text:r(`queued next iteration`,`已加入下一轮迭代`),tone:`dim`};if(n===`life.mission.completed`||n===`mission.completed`||n===`loop.completed`){let t=un(e),n=W(G(e,`summary`),240);return{role:`engineer`,label:`Engineer`,glyph:t.glyph,text:n?`${t.label} · ${n}`:t.label,tone:t.tone,rule:!0}}if(n===`life.mission.failed`||n===`mission.error`)return{role:`engineer`,label:`Engineer`,glyph:`❌`,text:`${r(`mission failed`,`任务失败`)} ${W(G(e,`reason`)||G(e,`error`),140)}`,tone:`err`,rule:!0};if(n===`loop.start`)return{role:`engineer`,label:`Engineer`,glyph:`▶`,text:W(G(e,`text`)||G(e,`objective`),160),tone:`info`};if(n===`loop.done`)return{role:`engineer`,label:`Engineer`,glyph:`🏁`,text:`${r(`loop done`,`循环完成`)} ${W(G(e,`text`),120)}`,tone:`dim`};if(n===`life.inbox.queued`)return{role:`system`,label:r(`You`,`你`),glyph:`📥`,text:`${r(`nudge`,`追加指导`)} · ${W(G(e,`text`),160)}`,tone:`accent`};if(n===`final.report.ready`||n===`pptx.report.ready`)return{role:`system`,label:`Argus`,glyph:`📄`,text:r(`report ready`,`报告已就绪`),tone:`accent`};if(n===`plan.completed`)return{role:`planner`,label:`Planner`,glyph:`📋`,text:r(`plan completed`,`计划已完成`),tone:`accent`};if(n===`daemon.stopping`)return{role:`system`,label:r(`Daemon`,`守护进程`),glyph:`🛑`,text:r(`stopping`,`正在停止`),tone:`err`};if(n===`round.reviewer_backend_failure`)return{role:`system`,label:r(`Notice`,`通知`),glyph:`!`,text:r(`reviewer backend down — holding · ${W(G(e,`text`),150)}`,`Reviewer 后端不可用 — 已暂停 · ${W(G(e,`text`),150)}`),tone:`err`,rule:!0};if(n===`round.stall`)return{role:`system`,label:r(`Notice`,`通知`),glyph:`!`,text:W(G(e,`text`)||r(`no forward progress`,`没有取得进展`),170),tone:`warn`};if(n===`round.escalated`)return{role:`system`,label:r(`Notice`,`通知`),glyph:`!`,text:W(G(e,`text`)||r(`soft round limit — escalating external blockers`,`达到软轮次上限 — 正在升级外部阻塞`),170),tone:`warn`};if(n===`life.planner.stall_escalation`)return{role:`system`,label:r(`Notice`,`通知`),glyph:`!`,text:`${r(`planner stalled`,`Planner 停滞`)} — ${W(G(e,`reason`)||G(e,`text`),150)}`,tone:`warn`};if(n===`life.budget.pause`)return{role:`system`,label:r(`Watch`,`监控`),glyph:`⏸`,text:r(`budget cap reached — paused · ${W(G(e,`text`)||G(e,`reason`),140)}`,`已达到预算上限 — 已暂停 · ${W(G(e,`text`)||G(e,`reason`),140)}`),tone:`warn`};if(n===`budget.reservation.denied`)return{role:`system`,label:r(`Budget`,`预算`),glyph:`$`,text:`${r(`budget denied`,`预算申请被拒绝`)} — ${W(G(e,`reason`)||G(e,`text`),150)}`,tone:`err`,rule:!0};if(n===`budget.unpriced.blocked`)return{role:`system`,label:r(`Budget`,`预算`),glyph:`$`,text:`${r(`budget blocked by unresolved cost`,`预算因成本未确定而阻塞`)} — ${W(G(e,`reason`)||G(e,`text`),150)}`,tone:`err`,rule:!0};if(n===`life.lifecycle.block`)return null;if(n===`life.daemon.idle_timeout`)return{role:`system`,label:r(`Watch`,`监控`),glyph:`🟦`,text:W(G(e,`text`)||r(`idle timeout — standing by`,`空闲超时 — 正在待命`),150),tone:`dim`};if(n===`round.watchdog.restart_requested`)return{role:`system`,label:r(`Watch`,`监控`),glyph:`🔄`,text:r(`stall caught — restarting the round · ${W(G(e,`reason`),160)}`,`检测到停滞 — 正在重启本轮 · ${W(G(e,`reason`),160)}`),tone:`warn`};if(n===`engineer.failure_nudge`)return{role:`engineer`,label:`Engineer`,glyph:`⚠`,text:`${r(`repeated tool failure`,`工具重复失败`)} — ${W(G(e,`text`)||G(e,`reason`),160)}`,tone:`warn`};if(n===`mission.idle`)return{role:`system`,label:`Argus`,glyph:`🟦`,text:W(G(e,`text`)||r(`idle — awaiting the next mission`,`空闲 — 正在等待下一个任务`),160),tone:`dim`};if(e.operator_alert===!0){let t=W(G(e,`text`)||G(e,`reason`)||n,170);if(t)return{role:`system`,label:r(`Notice`,`通知`),glyph:`!`,text:t,tone:`err`,rule:!0}}return null}function rr(e,t){return bt(e)}function ir(e,t,n){e.setQueryData([`snapshot`,t],e=>e&&{...e,session:{...e.session,display_name:n}}),e.setQueryData([`projects`],e=>e&&{...e,projects:e.projects.map(e=>e.id===t?{...e,display_name:n,label:n||e.objective||e.id}:e)})}var ar=15e3,or=5e3,sr=8e3,cr=1e4,lr=1e4;function ur(e,t){return!Ye(t)&&e<1}function dr(e){return!Ye(e)&&or}var fr=()=>le({queryKey:[`projects`],queryFn:R.projectIndex,refetchInterval:ar}),pr=()=>le({queryKey:[`project-costs`],queryFn:({signal:e})=>R.projectCosts(e),retry:ur,refetchInterval:e=>dr(e.state.error),refetchIntervalInBackground:!1}),mr=e=>le({queryKey:[`snapshot`,e],queryFn:({signal:t})=>R.snapshot(e,t),enabled:!!e,refetchInterval:sr}),hr=(e,t=30,n=!0)=>le({queryKey:[`journal`,e,t],queryFn:({signal:n})=>R.journal(e,t,n),enabled:!!e&&n,refetchInterval:n?8e3:!1}),gr=(e,t)=>le({queryKey:[`doctor`,e],queryFn:({signal:t})=>R.doctor(e,t),enabled:!!e&&t}),_r=(e,t)=>le({queryKey:[`config`,e],queryFn:({signal:t})=>R.config(e,t),enabled:!!e&&t}),vr=(e,t)=>le({queryKey:[`identity`,e],queryFn:({signal:t})=>R.identity(e,t),enabled:!!e&&t}),yr=(e,t,n=30)=>le({queryKey:[`transcript`,e,n],queryFn:({signal:t})=>R.transcript(e,n,t),enabled:!!e&&t}),br=(e,t=!0)=>le({queryKey:[`artifacts`,e],queryFn:({signal:t})=>R.artifacts(e,t),enabled:!!e&&t,refetchInterval:t?cr:!1}),xr=(e,t,n=null)=>le({queryKey:[`artifact`,e,t,n],queryFn:({signal:n})=>R.artifact(e,t,n),enabled:!!e&&!!t}),Sr=(e,t=!0)=>le({queryKey:[`git-diff`,e],queryFn:({signal:t})=>R.gitDiff(e,t),enabled:!!e&&t,refetchInterval:t?lr:!1}),Cr=(e,t)=>le({queryKey:[`backlog-item`,e,t],queryFn:({signal:n})=>R.backlogItem(e,t,n),enabled:!!e&&!!t});function wr(e,t){let n=se(),r=e=>{n.invalidateQueries({queryKey:[`snapshot`,e]}),n.invalidateQueries({queryKey:[`status`,e]}),n.invalidateQueries({queryKey:[`projects`]}),n.invalidateQueries({queryKey:[`backlog-item`,e]})},i=()=>r(e);return{addTask:j({mutationFn:t=>R.addTask(e,t),onSuccess:i}),nudge:j({mutationFn:t=>R.nudge(e,t)}),note:j({mutationFn:t=>R.note(e,t)}),startDaemon:j({mutationFn:()=>R.startDaemon(e,t),onSuccess:i}),stopDaemon:j({mutationFn:n=>R.stopDaemon(e,n,t),onSuccess:i}),updateProject:j({mutationFn:e=>R.updateProject(e.sid,e.name),onSuccess:e=>{ir(n,e.sid,e.name),r(e.sid)}}),deleteProject:j({mutationFn:()=>R.deleteProject(e),onSuccess:async()=>{let t=e;if(t){let e=e=>e.queryKey.some(e=>e===t);await n.cancelQueries({predicate:e}),n.removeQueries({predicate:e})}await n.invalidateQueries({queryKey:[`projects`]})}}),disposeBacklog:j({mutationFn:t=>R.disposeBacklog(e,t.id,t.op),onSuccess:i}),stopBacklog:j({mutationFn:t=>R.stopBacklog(e,t),onSuccess:i}),setContinuous:j({mutationFn:t=>R.setContinuous(e,t.enabled,t.objective??``),onSuccess:i})}}var Tr=2e3;function Er(e,t){if(t.kind===`reset`)return{sid:t.sid,events:[],seen:new Set};if(t.sid!==e.sid)return e;if(t.kind===`seed`){let n=new Set,r=[];[...t.events,...e.events].forEach((e,t)=>{let i=rr(e,t);n.has(i)||(n.add(i),r.push(e))});let i=r.slice(-2e3);return{sid:e.sid,events:i,seen:new Set(i.map((e,t)=>rr(e,t)))}}let n=rr(t.ev,e.events.length);if(e.seen.has(n))return e;let r=new Set(e.seen);r.add(n);let i=[...e.events,t.ev];return i.length>Tr&&i.splice(0,i.length-Tr).forEach((e,t)=>r.delete(rr(e,t))),{sid:e.sid,events:i,seen:r}}var Dr=new Set([`manager.live_view.updated`,`round.review.completed`,`life.mission.completed`]);function Or(e){for(let t=e.length-1;t>=0;--t){let n=e[t],r=String(n.type??``);if(Dr.has(r)||r===`engineer.progress`&&n.kind===`file_change`)return rr(n,t)}return``}var kr=new Set([`life.operator_question.pending`,`life.operator_question.answered`]);function Ar(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(kr.has(String(n.type??``)))return rr(n,t)}return``}function jr(e,t=0){let[n,r]=(0,M.useReducer)(Er,{sid:null,events:[],seen:new Set}),[i,a]=(0,M.useState)({sid:null,connected:!1}),o=(0,M.useRef)(e);return o.current=e,(0,M.useEffect)(()=>{if(r({kind:`reset`,sid:e}),a({sid:e,connected:!1}),!e)return;let t=!1,n=new AbortController;R.events(e,120,n.signal).then(n=>{!t&&o.current===e&&r({kind:`seed`,sid:e,events:n})}).catch(()=>{});let i=lt(e,n=>{!t&&o.current===e&&r({kind:`push`,sid:e,ev:n})},{replay:40,onOpen:()=>{!t&&o.current===e&&a({sid:e,connected:!0})},onClose:()=>{!t&&o.current===e&&a({sid:e,connected:!1})}});return()=>{t=!0,n.abort(),i()}},[e,t]),{events:n.sid===e?n.events:[],connected:i.sid===e&&i.connected}}var K=i();function Mr(e){return!Number.isFinite(e)||e<=0?`$0.00`:e>=100?`$${e.toFixed(0)}`:e>=10?`$${e.toFixed(1)}`:e>=1?`$${e.toFixed(2)}`:`$${e.toFixed(3)}`}function Nr({settledUsd:e,knownUsd:t=0,status:n=`empty`}){let r=typeof e==`number`&&Number.isFinite(e)?e:t,i=n===`partial`||n===`unpriced`;return`${Mr(Math.max(0,r||0))}${i?`+`:``}`}function Pr({settledUsd:e,knownUsd:t,status:n,calls:r=0,premiumRequests:i=0,live:a=!1,compact:o=!1}){let s=Nr({settledUsd:e,knownUsd:t,status:n}),c=[`Cumulative settled project spend`,`${r} model call${r===1?``:`s`}`,i>0?`${i.toFixed(1)} premium requests`:``,n&&n!==`empty`?`pricing: ${n}`:``].filter(Boolean).join(` · `);return(0,K.jsxs)(`span`,{title:c,"aria-label":`Project spend ${s}`,className:`inline-flex shrink-0 items-center rounded-full border border-gold/25 bg-gold/8 font-mono tabular-nums text-gold ${o?`h-6 gap-1 px-2 text-[10px]`:`h-5 gap-1 px-1.5 text-[9px]`}`,children:[a?(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 animate-pulse rounded-full bg-gold/80`}):null,(0,K.jsx)(`span`,{children:s})]})}var Fr=`argus.locale`,Ir={"language.english":`English`,"handshake.connecting":`Connecting to Argus backend`,"splash.starting":`Argus starting`,"rail.workbench":`Workbench`,"rail.sessionsShortcut":`Sessions · Ctrl/⌘ P`,"panel.backlog":`Backlog`,"panel.activity":`Activity`,"panel.journal":`Journal`,"panel.roles":`Roles`,"panel.project":`Project`,"panel.liveView":`Manager live project view`,"stream.jumpToLatest":`Jump to latest`,"newDaemon.workdirPlaceholder":`Blank → ~/.argus-skill/workspaces/`,"operations.resetManager":`Reset Manager context`,"language.chinese":`中文`,"language.switchTo":`Switch to {language}`,"common.loading":`Loading…`,"common.retry":`Retry`,"common.save":`Save`,"common.cancel":`Cancel`,"common.close":`Close`,"common.settings":`Settings`,"common.ready":`Ready`,"common.live":`Live`,"common.reconnecting":`Reconnecting`,"common.stale":`Snapshot stale`,"common.degraded":`Snapshot degraded`,"common.external":`External`,"common.pause":`Pause`,"common.run":`Run`,"common.local":`Local`,"common.all":`All`,"common.unassigned":`Unassigned`,"common.closeSessions":`Close sessions`,"common.resizeSessions":`Resize sessions`,"common.resizePreview":`Resize preview`,"common.expandPreview":`Expand preview`,"connection.pairingTitle":`This browser is not paired with Argus`,"connection.pairingDetail":`Close this tab and reopen the workbench from Argus Desktop, or open a fresh pairing link.`,"connection.unreachableTitle":`The local Argus service is unavailable`,"connection.unreachableDetail":`Keep Argus Desktop running and wait for the local backend to become ready, then retry.`,"sidebar.collapse":`Collapse sessions`,"sidebar.expand":`Expand sessions`,"sidebar.create":`Create session`,"sidebar.find":`Find a session`,"sidebar.clearSearch":`Clear search`,"sidebar.refreshFailed":`Refresh failed · retry`,"sidebar.noSessions":`No sessions`,"sidebar.daemonAlive":`daemon alive`,"sidebar.stopped":`stopped`,"sidebar.runningFor":`running · {uptime}`,"sidebar.manage":`Manage {name}`,"sidebar.manageHint":`Rename, pause, or delete`,"sidebar.openSettings":`Open settings`,"sidebar.theme":`{current} theme; switch to {next}`,"landing.selectOrCreate":`Select a session from the sidebar, or create a new one.`,"landing.noSessions":`No sessions yet. Create one to begin.`,"landing.select":`Select session`,"landing.new":`New session`,"topbar.openSessions":`Open sessions`,"topbar.externallyManaged":`Externally managed`,"topbar.pauseDaemon":`Pause daemon`,"topbar.runDaemon":`Run daemon`,"topbar.externalDaemonHint":`Daemon is live in an external PID namespace; use its supervisor to control it.`,"topbar.manageSession":`Manage session`,"topbar.showPreview":`Show preview`,"topbar.showActivity":`Show activity`,"mobile.views":`Views`,"mobile.sessions":`Sessions`,"mobile.mission":`Mission`,"mobile.activity":`Activity`,"mobile.workbench":`Workbench`,"mobile.preview":`Preview`,"chat.yourMessage":`Your message`,"chat.stopWaitingHint":`Esc stop waiting`,"chat.messageArgus":`message Argus`,"chat.selectSession":`Select a session…`,"chat.placeholder":`Ask a question or assign work`,"chat.attach":`attach files`,"chat.attachHint":`PNG, JPEG, WebP, PDF, Markdown/text, JSON, CSV · up to {count} files, {perFile} each, {total} total`,"chat.attachDrop":`Drop files to attach`,"chat.attachRemove":`remove attachment {name}`,"chat.attachUnsupported":`{name} is not supported. Use PNG, JPEG, WebP, PDF, Markdown/text, JSON, or CSV.`,"chat.attachTooLarge":`{name} exceeds the {size} per-file limit.`,"chat.attachTooMany":`You can attach up to {count} files per message.`,"chat.attachTotalTooLarge":`Attachments exceed the {size} total limit.`,"chat.attachmentUploadFailed":`Attachment upload failed: {error}`,"chat.uploadingAttachments":`Uploading attachments`,"chat.rewriteHint":`Let the Manager rewrite this prompt into a brief the team can act on. Nothing is sent — the rewrite lands back in this box for you to edit.`,"chat.rewriteLabel":`rewrite prompt with the Manager`,"chat.rewriting":`rewriting`,"chat.rewrite":`✦ Rewrite`,"chat.stopWaiting":`stop waiting`,"chat.stopWaitingTitle":`stop waiting for this reply; server-side work may continue`,"chat.send":`send message`,"copy.message":`Copy`,"copy.code":`Copy code`,"copy.copied":`Copied`,"help.title":`Keyboard shortcuts`,"help.commands":`Commands`,"help.palette":`command palette`,"help.sessions":`toggle sessions`,"help.managerChat":`focus Manager chat`,"help.rewrite":`rewrite the current prompt before sending`,"help.reasoning":`toggle agent reasoning`,"help.kiosk":`toggle kiosk (read-only) mode`,"help.composer":`focus the composer`,"help.send":`send message`,"help.newline":`insert newline`,"help.thisHelp":`this help`,"help.escape":`close overlay / stop waiting in composer`,"palette.placeholder":`Type a command or search…`,"palette.noMatches":`no matching commands`,"palette.navigate":`↑↓ navigate`,"palette.run":`↵ run`,"palette.close":`esc close`,"palette.view":`View`,"palette.action":`Action`,"palette.project":`Project`,"palette.newDaemon":`New daemon`,"palette.openTranscript":`Open Transcript`,"palette.openProject":`Open Project`,"palette.projectHint":`work · memory · agents`,"palette.openOperations":`Open Operations`,"palette.operationsHint":`backend controls`,"palette.hideReasoning":`Hide reasoning`,"palette.showReasoning":`Show reasoning`,"palette.exitKiosk":`Exit kiosk mode`,"palette.enterKiosk":`Enter kiosk mode`,"palette.messageArgus":`Message Argus…`,"palette.stopWaiting":`Stop waiting for Manager reply`,"palette.stopContinuous":`Stop continuous campaign`,"palette.startContinuous":`Start continuous campaign`,"palette.stopDaemon":`Stop daemon`,"palette.startDaemon":`Start daemon`,"slash.suggestions":`Slash command suggestions`,"mission.roleActive":`{role} active`,"mission.overview":`mission overview`,"mission.operations":`Operations`,"role.manager":`Manager`,"role.planner":`Planner`,"role.engineer":`Engineer`,"role.reviewer":`Reviewer`,"role.critic":`Critic`,"role.system":`Argus`,"role.operator":`You`,"doctor.title":`Doctor`,"doctor.subtitle":`daemon health checks + recommended root-cause fix`,"doctor.recommended":`recommended fix`,"settings.subtitle":`effective roles, budgets, and essential controls`,"settings.connection":`Connection`,"settings.webApi":`Web + REST API`,"settings.eventStream":`Event stream`,"settings.taskDaemon":`Task daemon`,"settings.budgetTitle":`Budget and quota limits`,"settings.budgetHint":`Set 0 for an uncapped provider-call limit where supported.`,"settings.saveBudgets":`Save budget limits`,"settings.budget.global":`Host-global daily`,"settings.budget.codex":`Codex calls / day`,"settings.budget.copilot":`Copilot calls / day`,"settings.budget.premium":`Copilot premium / day`,"settings.required":`{field} is required`,"settings.budgetSaved":`Budget limits saved. Restart running daemons to reload their process caps.`,"settings.advanced":`Advanced setting`,"settings.namePlaceholder":`name or alias, e.g. manager_model`,"settings.valuePlaceholder":`value`,"settings.applyAdvanced":`Apply advanced setting`,"settings.applied":`Applied. Restart affected daemons to reload process-scoped settings.`,"settings.footer":`Role overrides are summarized above. Use Advanced setting for a specific override; the full registry remains available via`,"identity.title":`Identity`,"identity.subtitle":`who argus is working for on this project`,"identity.placeholder":`Describe who Argus is working for and durable preferences…`,"identity.save":`Save identity`,"identity.saved":`Identity saved.`,"transcript.title":`Transcript`,"transcript.subtitle":`recent operator ↔ argus turns · reply from the composer`,"transcript.empty":`no conversation turns yet`,"transcript.operator":`operator`,"new.createDaemon":`Create daemon`,"new.subtitle":`Creates an isolated timeline and Manager context.`,"new.close":`close create daemon`,"new.name":`Name`,"new.optional":`(optional)`,"new.namePlaceholder":`e.g. AAAI embodiment paper`,"new.workdir":`Output workdir`,"new.workdirHint":`Agents write code, papers, reports, and experiment outputs here. Internal memory stays under the session state directory.`,"new.objective":`Objective`,"new.objectivePlaceholder":`Leave blank to start with a conversation, or describe a campaign to start immediately.`,"new.startsAfterCreate":`Campaign starts after session creation`,"new.idleUntilMessage":`Idle until the first message`,"new.startsHint":`The session opens immediately; Manager handoff and executor startup continue in the background.`,"new.idleHint":`No executor is spawned yet. The Manager will reply or dispatch work from your first message.`,"new.shortcut":`Ctrl/⌘+Enter to create`,"new.creating":`Creating…`,"new.createAndStart":`Create and start`,"manage.daemon":`Manage daemon`,"manage.displayName":`Display name`,"manage.executor":`Executor`,"manage.running":`Running`,"manage.runningExternally":`Running externally`,"manage.paused":`Paused`,"manage.pauseHint":`Pause safely after the current operation.`,"manage.externalHint":`This daemon is supervised outside the Web host PID namespace.`,"manage.resumeHint":`Resume queued research work.`,"manage.working":`Working…`,"manage.resume":`Resume`,"manage.deleteSession":`Delete session`,"manage.deleteHint":`Deleted sessions move to projects_trash and remain recoverable. Pause the executor first.`,"manage.delete":`Delete…`,"manage.confirmQuestion":`Move this session to trash?`,"manage.confirmDelete":`Confirm delete`,"decision.operator":`Operator decision`,"decision.required":`Decision required`,"decision.whyBlocked":`Why work is blocked`,"decision.evidence":`Evidence`,"decision.notePlaceholder":`Add the guidance the Manager should apply…`,"decision.resumeHint":`The Manager applies your choice before work resumes.`,"decision.later":`Later`,"decision.applying":`Applying…`,"decision.stopCampaign":`Stop campaign`,"decision.useOption":`Use this option`,"decision.sendAnswer":`Send answer`,"decision.noteRequired":`Add the required details before sending this choice.`,"artifact.preview":`Artifact preview`,"artifact.title":`Artifact`,"artifact.approvedEvidence":`reviewer-approved evidence`,"artifact.downloading":`Downloading…`,"artifact.download":`Download`,"artifact.open":`Open`,"artifact.close":`close artifact preview`,"artifact.unavailable":`preview unavailable`,"artifact.empty":`(empty file)`,"artifact.truncated":`preview truncated · download to inspect the complete file`,"artifact.htmlTooLarge":`HTML preview is too large to render safely. Download the complete file.`,"artifact.pdfDisabled":`Inline PDF preview is disabled by this browser.`,"artifact.openPdf":`Open PDF`,"artifact.noPreview":`This file type has no safe inline preview.`,"artifact.downloadHint":`Download it to inspect with a local application.`,"task.details":`Task details`,"task.stopLoop":`stop loop`,"task.done":`done`,"task.skip":`skip`,"task.close":`close task details`,"task.waitingOnYou":`Waiting on you`,"task.objective":`Objective`,"task.noObjective":`(no objective recorded)`,"task.priority":`priority`,"task.started":`started`,"task.finished":`finished`,"task.outcome":`Outcome`,"task.iteration":`Iteration`,"task.mode":`mode`,"task.autoIterate":`auto-iterate`,"task.singlePass":`single pass`,"task.cycles":`cycles`,"task.cost":`cost`,"task.lastError":`Last error`,"task.notes":`Notes`,"task.dependsOn":`depends on`,"mission.achievement":`Argus achievement`,"mission.elapsed":`Elapsed`,"mission.rejectedAttempts":`{count} rejected attempts`,"mission.skillsLearned":`{count} skills learned`,"mission.artifacts":`{count} artifacts`,"mission.waiting":`Waiting for a mission`,"mission.control":`Mission control`,"mission.showObjective":`Show full objective`,"mission.stage":`Stage`,"mission.campaign":`Campaign`,"mission.totalElapsed":`Total elapsed`,"mission.round":`Round`,"mission.mode":`Mode`,"mission.summary":`Mission summary`,"mission.team":`AI research team`,"mission.waitingShort":`Waiting`,"mission.roleWork":`Role work`,"mission.filteredBy":`filtered by {task} · clear`,"mission.allVisible":`all visible missions`,"mission.roundNumber":`round {count}`,"mission.noRoleWork":`No persisted {role} work for this selection yet.`,"mission.researchDag":`Research DAG`,"mission.active":`active`,"mission.noDag":`Planner has not added DAG nodes yet.`,"mission.acceptance":`Acceptance`,"mission.nonGoals":`Non-goals`,"mission.capabilities":`Capabilities`,"mission.capabilitiesUnlocked":`Capabilities unlocked`,"mission.skillUnavailable":`Skill content is not available in this snapshot.`,"mission.knowledgeRetained":`Knowledge retained`,"mission.selfEvolution":`Self-evolution storage`,"mission.replay":`Mission replay`,"mission.replayTimeline":`Replay mission timeline`,"mission.waitingEvents":`Waiting for structured research events.`,"research.currentWork":`Current work`,"research.dagProgress":`DAG progress`,"research.verifiedOutputs":`Verified outputs`,"research.recentMilestones":`Recent milestones`,"research.liveProgress":`Live progress`,"research.artifact":`Research artifact`,"research.canvas":`Manager live research canvas`,"research.previewArtifact":`Preview artifact`,"research.openLarge":`Open large preview`,"research.collapse":`Collapse preview`,"research.unavailable":`Manager live view is temporarily unavailable.`,"research.noPreview":`No preview`,"research.waiting":`Waiting…`,"research.updating":`Updating…`,"research.fileUnavailable":`Preview unavailable for this file.`,"research.eventSourced":`event-sourced mission state`,"research.downloadFailed":`download failed`,"operations.title":`Operations`,"operations.work":`Work`,"operations.runtime":`Runtime`,"operations.system":`System`,"operations.recovery":`Recovery`,"operations.workInput":`Work input`,"operations.workHint":`Queue work, guide the active task, save a note, or preview a plan without dispatching it.`,"operations.planPlaceholder":`Objective to preview; preview never queues work`,"operations.actionPlaceholder":`{action} text`,"operations.previewPlan":`Preview plan`,"operations.submitAction":`Submit {action}`,"operations.runtimeHint":`Change where this session runs, reset Manager context, or safely reload the daemon.`,"operations.workdir":`Working directory`,"operations.workdirUpdated":`Working directory updated.`,"operations.applyWorkdir":`Apply working directory`,"operations.replaceSlot":`Replace a running daemon slot`,"operations.skills":`Skills`,"operations.runSkill":`Run skill command`,"operations.metrics":`System metrics`,"operations.trash":`Recoverable trash`,"operations.searchTrash":`Search trash`,"operations.trashEmpty":`Trash is empty.`},Lr={"language.english":`English`,"handshake.connecting":`正在连接 Argus 后端`,"splash.starting":`Argus 启动中`,"rail.workbench":`工作台`,"rail.sessionsShortcut":`会话 · Ctrl/⌘ P`,"panel.backlog":`待办`,"panel.activity":`动态`,"panel.journal":`日志`,"panel.roles":`角色`,"panel.project":`项目`,"panel.liveView":`Manager 实时项目视图`,"stream.jumpToLatest":`跳到最新`,"newDaemon.workdirPlaceholder":`留空 → ~/.argus-skill/workspaces/`,"operations.resetManager":`重置 Manager 上下文`,"language.chinese":`中文`,"language.switchTo":`切换到{language}`,"common.loading":`加载中…`,"common.retry":`重试`,"common.save":`保存`,"common.cancel":`取消`,"common.close":`关闭`,"common.settings":`设置`,"common.ready":`就绪`,"common.live":`实时`,"common.reconnecting":`正在重连`,"common.stale":`快照已过期`,"common.degraded":`快照异常`,"common.external":`外部`,"common.pause":`暂停`,"common.run":`运行`,"common.local":`本地`,"common.all":`全部`,"common.unassigned":`未分配`,"common.closeSessions":`关闭会话列表`,"common.resizeSessions":`调整会话列表宽度`,"common.resizePreview":`调整预览区域宽度`,"common.expandPreview":`展开预览`,"connection.pairingTitle":`此浏览器尚未与 Argus 配对`,"connection.pairingDetail":`请关闭此标签页,然后从 Argus Desktop 重新打开工作台,或使用新的配对链接。`,"connection.unreachableTitle":`Argus 本地服务当前不可达`,"connection.unreachableDetail":`请保持 Argus Desktop 运行,等待本地后端就绪后再重试。`,"sidebar.collapse":`收起会话`,"sidebar.expand":`展开会话`,"sidebar.create":`创建会话`,"sidebar.find":`查找会话`,"sidebar.clearSearch":`清除搜索`,"sidebar.refreshFailed":`刷新失败 · 重试`,"sidebar.noSessions":`暂无会话`,"sidebar.daemonAlive":`守护进程运行中`,"sidebar.stopped":`已停止`,"sidebar.runningFor":`运行中 · {uptime}`,"sidebar.manage":`管理 {name}`,"sidebar.manageHint":`重命名、暂停或删除`,"sidebar.openSettings":`打开设置`,"sidebar.theme":`{current}主题;切换到{next}主题`,"landing.selectOrCreate":`从侧边栏选择一个会话,或创建新会话。`,"landing.noSessions":`还没有会话。创建一个即可开始。`,"landing.select":`选择会话`,"landing.new":`新建会话`,"topbar.openSessions":`打开会话列表`,"topbar.externallyManaged":`由外部管理`,"topbar.pauseDaemon":`暂停守护进程`,"topbar.runDaemon":`运行守护进程`,"topbar.externalDaemonHint":`守护进程位于外部 PID 命名空间中;请使用其 supervisor 进行控制。`,"topbar.manageSession":`管理会话`,"topbar.showPreview":`显示预览`,"topbar.showActivity":`显示动态`,"mobile.views":`视图`,"mobile.sessions":`会话`,"mobile.mission":`任务`,"mobile.activity":`动态`,"mobile.workbench":`工作台`,"mobile.preview":`预览`,"chat.yourMessage":`你的消息`,"chat.stopWaitingHint":`按 Esc 停止等待`,"chat.messageArgus":`向 Argus 发送消息`,"chat.selectSession":`请选择会话…`,"chat.placeholder":`提问或安排工作`,"chat.attach":`添加文件`,"chat.attachHint":`支持 PNG、JPEG、WebP、PDF、Markdown/文本、JSON、CSV · 每条消息最多 {count} 个文件,单个 {perFile},总计 {total}`,"chat.attachDrop":`拖放文件以添加附件`,"chat.attachRemove":`移除附件 {name}`,"chat.attachUnsupported":`{name} 不受支持。请使用 PNG、JPEG、WebP、PDF、Markdown/文本、JSON 或 CSV。`,"chat.attachTooLarge":`{name} 超过单文件大小限制 {size}。`,"chat.attachTooMany":`每条消息最多只能附带 {count} 个文件。`,"chat.attachTotalTooLarge":`附件总大小超过 {size} 限制。`,"chat.attachmentUploadFailed":`附件上传失败:{error}`,"chat.uploadingAttachments":`正在上传附件`,"chat.rewriteHint":`让 Manager 将提示词改写为团队可执行的任务说明。不会直接发送,改写结果会回到输入框供你编辑。`,"chat.rewriteLabel":`使用 Manager 改写提示词`,"chat.rewriting":`正在改写`,"chat.rewrite":`✦ 改写`,"chat.stopWaiting":`停止等待`,"chat.stopWaitingTitle":`停止等待此回复;服务端工作可能仍会继续`,"chat.send":`发送消息`,"copy.message":`复制`,"copy.code":`复制代码`,"copy.copied":`已复制`,"help.title":`键盘快捷键`,"help.commands":`命令`,"help.palette":`打开命令面板`,"help.sessions":`展开或收起会话`,"help.managerChat":`聚焦 Manager 对话框`,"help.rewrite":`发送前改写当前提示词`,"help.reasoning":`显示或隐藏 Agent 推理`,"help.kiosk":`切换只读展示模式`,"help.composer":`聚焦输入框`,"help.send":`发送消息`,"help.newline":`插入换行`,"help.thisHelp":`打开此帮助`,"help.escape":`关闭浮层或停止等待`,"palette.placeholder":`输入命令或搜索…`,"palette.noMatches":`没有匹配的命令`,"palette.navigate":`↑↓ 导航`,"palette.run":`↵ 执行`,"palette.close":`Esc 关闭`,"palette.view":`视图`,"palette.action":`操作`,"palette.project":`项目`,"palette.newDaemon":`新建守护进程`,"palette.openTranscript":`打开对话记录`,"palette.openProject":`打开项目`,"palette.projectHint":`工作 · 记忆 · Agent`,"palette.openOperations":`打开运行控制`,"palette.operationsHint":`后端控制`,"palette.hideReasoning":`隐藏推理`,"palette.showReasoning":`显示推理`,"palette.exitKiosk":`退出展示模式`,"palette.enterKiosk":`进入展示模式`,"palette.messageArgus":`向 Argus 发送消息…`,"palette.stopWaiting":`停止等待 Manager 回复`,"palette.stopContinuous":`停止持续任务`,"palette.startContinuous":`启动持续任务`,"palette.stopDaemon":`停止守护进程`,"palette.startDaemon":`启动守护进程`,"slash.suggestions":`Slash 命令建议`,"mission.roleActive":`{role} 正在工作`,"mission.overview":`任务概览`,"mission.operations":`运行控制`,"role.manager":`Manager`,"role.planner":`Planner`,"role.engineer":`Engineer`,"role.reviewer":`Reviewer`,"role.critic":`Critic`,"role.system":`Argus`,"role.operator":`你`,"doctor.title":`诊断`,"doctor.subtitle":`守护进程健康检查与推荐的根因修复方案`,"doctor.recommended":`推荐修复`,"settings.subtitle":`生效中的角色、预算和关键控制项`,"settings.connection":`连接`,"settings.webApi":`Web + REST API`,"settings.eventStream":`事件流`,"settings.taskDaemon":`任务守护进程`,"settings.budgetTitle":`预算和配额限制`,"settings.budgetHint":`支持时,将调用限制设为 0 表示不设上限。`,"settings.saveBudgets":`保存预算限制`,"settings.budget.global":`主机全局每日预算`,"settings.budget.codex":`Codex 每日调用`,"settings.budget.copilot":`Copilot 每日调用`,"settings.budget.premium":`Copilot 每日 Premium 请求`,"settings.required":`必须填写{field}`,"settings.budgetSaved":`预算限制已保存。请重启正在运行的守护进程以重新加载进程级限制。`,"settings.advanced":`高级设置`,"settings.namePlaceholder":`名称或别名,例如 manager_model`,"settings.valuePlaceholder":`值`,"settings.applyAdvanced":`应用高级设置`,"settings.applied":`设置已应用。请重启受影响的守护进程以重新加载进程级设置。`,"settings.footer":`上方汇总了角色覆盖配置。可使用“高级设置”指定覆盖项;完整配置仍可通过以下命令查看:`,"identity.title":`身份`,"identity.subtitle":`本项目中 Argus 服务的对象`,"identity.placeholder":`描述 Argus 正在为谁工作,以及需要长期遵循的偏好…`,"identity.save":`保存身份`,"identity.saved":`身份已保存。`,"transcript.title":`对话记录`,"transcript.subtitle":`近期操作者 ↔ Argus 对话 · 请从输入框继续回复`,"transcript.empty":`暂无对话记录`,"transcript.operator":`操作者`,"new.createDaemon":`创建守护进程`,"new.subtitle":`创建隔离的时间线和 Manager 上下文。`,"new.close":`关闭创建会话窗口`,"new.name":`名称`,"new.optional":`(可选)`,"new.namePlaceholder":`例如:AAAI 具身智能论文`,"new.workdir":`输出工作目录`,"new.workdirHint":`Agent 会在这里写入代码、论文、报告和实验结果。内部记忆仍保存在会话状态目录中。`,"new.objective":`目标`,"new.objectivePlaceholder":`留空则从对话开始,也可以填写一个立即启动的持续任务。`,"new.startsAfterCreate":`创建会话后立即启动任务`,"new.idleUntilMessage":`收到第一条消息前保持空闲`,"new.startsHint":`会话会立即打开;Manager 交接和执行器启动将在后台继续。`,"new.idleHint":`暂时不会启动执行器。Manager 会在收到第一条消息后回复或分派工作。`,"new.shortcut":`按 Ctrl/⌘+Enter 创建`,"new.creating":`正在创建…`,"new.createAndStart":`创建并启动`,"manage.daemon":`管理守护进程`,"manage.displayName":`显示名称`,"manage.executor":`执行器`,"manage.running":`运行中`,"manage.runningExternally":`由外部运行`,"manage.paused":`已暂停`,"manage.pauseHint":`在当前操作完成后安全暂停。`,"manage.externalHint":`此守护进程由 Web 主机 PID 命名空间之外的 supervisor 管理。`,"manage.resumeHint":`继续执行队列中的研究工作。`,"manage.working":`处理中…`,"manage.resume":`继续`,"manage.deleteSession":`删除会话`,"manage.deleteHint":`删除的会话会移入 projects_trash,之后仍可恢复。请先暂停执行器。`,"manage.delete":`删除…`,"manage.confirmQuestion":`将此会话移入回收站?`,"manage.confirmDelete":`确认删除`,"decision.operator":`操作者决策`,"decision.required":`需要你的决策`,"decision.whyBlocked":`工作被阻塞的原因`,"decision.evidence":`证据`,"decision.notePlaceholder":`添加 Manager 应采用的指导…`,"decision.resumeHint":`Manager 会在恢复工作前应用你的选择。`,"decision.later":`稍后处理`,"decision.applying":`正在应用…`,"decision.stopCampaign":`停止持续任务`,"decision.useOption":`使用此选项`,"decision.sendAnswer":`发送回答`,"decision.noteRequired":`这个选项需要补充说明后才能提交。`,"artifact.preview":`产物预览`,"artifact.title":`产物`,"artifact.approvedEvidence":`Reviewer 批准的证据`,"artifact.downloading":`正在下载…`,"artifact.download":`下载`,"artifact.open":`打开`,"artifact.close":`关闭产物预览`,"artifact.unavailable":`无法预览`,"artifact.empty":`(空文件)`,"artifact.truncated":`预览已截断 · 请下载完整文件查看`,"artifact.htmlTooLarge":`HTML 文件过大,无法安全预览。请下载完整文件。`,"artifact.pdfDisabled":`此浏览器已禁用内嵌 PDF 预览。`,"artifact.openPdf":`打开 PDF`,"artifact.noPreview":`此文件类型无法安全地在线预览。`,"artifact.downloadHint":`请下载后使用本地应用查看。`,"task.details":`任务详情`,"task.stopLoop":`停止循环`,"task.done":`完成`,"task.skip":`跳过`,"task.close":`关闭任务详情`,"task.waitingOnYou":`等待你的回复`,"task.objective":`目标`,"task.noObjective":`(未记录目标)`,"task.priority":`优先级`,"task.started":`开始时间`,"task.finished":`完成时间`,"task.outcome":`结果`,"task.iteration":`迭代`,"task.mode":`模式`,"task.autoIterate":`自动迭代`,"task.singlePass":`单次执行`,"task.cycles":`轮次`,"task.cost":`成本`,"task.lastError":`最近错误`,"task.notes":`备注`,"task.dependsOn":`依赖`,"mission.achievement":`Argus 成果`,"mission.elapsed":`耗时`,"mission.rejectedAttempts":`{count} 次方案被拒绝`,"mission.skillsLearned":`学习了 {count} 个 Skill`,"mission.artifacts":`{count} 个产物`,"mission.waiting":`等待任务`,"mission.control":`任务控制`,"mission.showObjective":`显示完整目标`,"mission.stage":`阶段`,"mission.campaign":`持续任务`,"mission.totalElapsed":`总耗时`,"mission.round":`轮次`,"mission.mode":`模式`,"mission.summary":`本次完成`,"mission.team":`AI 研究团队`,"mission.waitingShort":`等待中`,"mission.roleWork":`角色工作`,"mission.filteredBy":`按 {task} 筛选 · 清除`,"mission.allVisible":`全部可见任务`,"mission.roundNumber":`第 {count} 轮`,"mission.noRoleWork":`当前筛选下还没有持久化的 {role} 工作记录。`,"mission.researchDag":`研究 DAG`,"mission.active":`进行中`,"mission.noDag":`Planner 尚未添加 DAG 节点。`,"mission.acceptance":`验收标准`,"mission.nonGoals":`非目标`,"mission.capabilities":`能力`,"mission.capabilitiesUnlocked":`已解锁能力`,"mission.skillUnavailable":`当前快照中没有此 Skill 的内容。`,"mission.knowledgeRetained":`已保留知识`,"mission.selfEvolution":`自进化存储`,"mission.replay":`任务回放`,"mission.replayTimeline":`回放任务时间线`,"mission.waitingEvents":`等待结构化研究事件。`,"research.currentWork":`当前工作`,"research.dagProgress":`DAG 进度`,"research.verifiedOutputs":`已验证输出`,"research.recentMilestones":`近期里程碑`,"research.liveProgress":`实时进度`,"research.artifact":`研究产物`,"research.canvas":`Manager 实时研究面板`,"research.previewArtifact":`预览产物`,"research.openLarge":`打开大尺寸预览`,"research.collapse":`收起预览`,"research.unavailable":`Manager 实时视图暂时不可用。`,"research.noPreview":`暂无预览`,"research.waiting":`等待中…`,"research.updating":`正在更新…`,"research.fileUnavailable":`此文件无法预览。`,"research.eventSourced":`基于事件的任务状态`,"research.downloadFailed":`下载失败`,"operations.title":`运行控制`,"operations.work":`工作`,"operations.runtime":`运行时`,"operations.system":`系统`,"operations.recovery":`恢复`,"operations.workInput":`工作输入`,"operations.workHint":`加入工作、指导当前任务、保存备注,或仅预览计划而不分派。`,"operations.planPlaceholder":`要预览的目标;预览不会加入任务队列`,"operations.actionPlaceholder":`输入 {action} 内容`,"operations.previewPlan":`预览计划`,"operations.submitAction":`提交 {action}`,"operations.runtimeHint":`更改会话运行位置、重置 Manager 上下文,或安全重载守护进程。`,"operations.workdir":`工作目录`,"operations.workdirUpdated":`工作目录已更新。`,"operations.applyWorkdir":`应用工作目录`,"operations.replaceSlot":`替换正在运行的守护进程槽位`,"operations.skills":`Skills`,"operations.runSkill":`运行 Skill 命令`,"operations.metrics":`系统指标`,"operations.trash":`可恢复的回收站`,"operations.searchTrash":`搜索回收站`,"operations.trashEmpty":`回收站为空。`};function Rr(){try{let e=localStorage.getItem(Fr);if(e===`en`||e===`zh-CN`)return e}catch{}return navigator.language.toLowerCase().startsWith(`zh`)?`zh-CN`:`en`}function zr(e,t={},n=Rr()){return((n===`zh-CN`?Lr[e]:Ir[e])??e).replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??`{${n}}`))}var Br=(0,M.createContext)({locale:`en`,setLocale:()=>void 0,t:(e,t)=>zr(e,t,`en`)});function Vr({children:e}){let[t,n]=(0,M.useState)(Rr),r=e=>{try{localStorage.setItem(Fr,e)}catch{}n(e)};(0,M.useEffect)(()=>{document.documentElement.lang=t},[t]);let i=(0,M.useMemo)(()=>({locale:t,setLocale:r,t:(e,n)=>zr(e,n,t)}),[t]);return(0,K.jsx)(Br.Provider,{value:i,children:e})}function q(){return(0,M.useContext)(Br)}var Hr=new Set([`running`,`in_progress`,`claimed`]);function Ur(e){return e.find(e=>e.active)??e.find(e=>e.role===`manager`)}function Wr({snap:e,streamOk:t,onStart:n,onStop:r,onManage:i,onOpenSessions:a,mobileView:s,onToggleMobileView:c,busy:u,snapshotStale:d=!1,readOnly:f=!1,missionView:p}){let{t:m}=q(),h=Ur(e.roles),g=p?.roles.find(e=>e.role===p.active_role),_=g?.role||h?.role||`manager`,v=g?g.status===`active`:!!h?.active,y=e.backlog.find(e=>Hr.has(e.status)),b=g?.label||y?.title||y?.objective||e.session.objective||m(`common.ready`),x=!!(e.partial||e.observability?.slo.status===`degraded`),S=e.daemon.alive&&e.daemon.control_available===!1,C=S?m(`topbar.externallyManaged`):e.daemon.alive?m(`topbar.pauseDaemon`):m(`topbar.runDaemon`),w=x?[...(e.diagnostics??[]).map(e=>`${e.section}: ${e.message}`),...e.observability?.slo.violations??[]].join(` +`)||m(`common.degraded`):m(d?`common.stale`:t?`common.live`:`common.reconnecting`);return(0,K.jsxs)(`header`,{className:`glass-panel glass-panel--raised flex h-12 min-w-0 shrink-0 items-center gap-2 border-b px-3 sm:gap-3 sm:px-4`,children:[a?(0,K.jsx)(`button`,{type:`button`,onClick:a,"aria-label":m(`topbar.openSessions`),className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-ink-faint hover:bg-bg hover:text-ink lg:hidden`,children:(0,K.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,className:`h-4 w-4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.25`,children:(0,K.jsx)(`path`,{d:`M2.5 4h11M2.5 8h11M2.5 12h11`})})}):null,(0,K.jsx)(`div`,{className:`hidden min-w-0 max-w-28 truncate text-sm font-semibold text-ink sm:block`,children:e.session.display_name||e.session.id}),(0,K.jsx)(`span`,{className:`hidden h-4 w-px shrink-0 bg-line/40 sm:block`}),(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full ${v?`animate-pulse`:``}`,style:{background:z.role[_]||`rgb(var(--ink-faint))`}}),(0,K.jsx)(`span`,{className:`hidden shrink-0 text-xs font-semibold capitalize text-ink-dim sm:inline`,children:_}),(0,K.jsx)(`span`,{className:`truncate text-xs text-ink-faint`,children:b})]}),(0,K.jsx)(`span`,{title:w,className:`h-2 w-2 shrink-0 rounded-full transition-shadow duration-150 ${x||d?`bg-err ring-1 ring-err/30 ring-offset-1 ring-offset-panel`:t?`bg-ok ring-1 ring-ok/30 ring-offset-1 ring-offset-panel`:`bg-ink-faint/50`}`}),(0,K.jsx)(Pr,{settledUsd:e.spend_usd,knownUsd:e.usage_summary?.known_cost_usd,status:e.spend_status,calls:e.usage_summary?.call_count,premiumRequests:e.usage_summary?.premium_requests,live:e.daemon.alive,compact:!0}),c?(0,K.jsx)(`button`,{type:`button`,onClick:c,"aria-label":m(s===`activity`?`topbar.showPreview`:`topbar.showActivity`),title:m(s===`activity`?`topbar.showPreview`:`topbar.showActivity`),className:`icon-control flex h-8 w-8 shrink-0 items-center justify-center lg:hidden`,children:(0,K.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,className:`h-4 w-4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.25`,children:s===`activity`?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`rect`,{x:`2`,y:`2.5`,width:`12`,height:`11`,rx:`1.5`}),(0,K.jsx)(`path`,{d:`M9.5 2.75v10.5`})]}):(0,K.jsx)(`path`,{d:`M3 4h10M3 8h10M3 12h7`})})}):null,f?null:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`button`,{type:`button`,disabled:u||S,onClick:e.daemon.alive?r:n,"aria-label":C,title:S?m(`topbar.externalDaemonHint`):C,className:`compact-control flex h-8 shrink-0 items-center gap-1 px-2 disabled:opacity-40`,children:[(0,K.jsx)(o,{icon:e.daemon.alive?E:l,className:`h-3 w-3`}),(0,K.jsx)(`span`,{className:`hidden sm:inline`,children:S?m(`common.external`):e.daemon.alive?m(`common.pause`):m(`common.run`)})]}),(0,K.jsx)(`button`,{type:`button`,"aria-label":m(`topbar.manageSession`),title:m(`topbar.manageSession`),onClick:i,className:`icon-control flex h-8 w-8 shrink-0 items-center justify-center text-sm tracking-widest`,children:`···`})]})]})}var Gr=`modulepreload`,Kr=function(e){return`/`+e},qr={},Jr=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Kr(t,n),t=s(t),t in qr)return;qr[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Gr,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Yr={fast:.18,normal:.28},Xr={magnetic:5},Zr={all:`(min-width: 0px)`,reduceMotion:`(prefers-reduced-motion: reduce)`};function Qr(e,t,n=[]){let r=(0,M.useRef)(t);r.current=t,(0,M.useEffect)(()=>{let t=!1,n=null;return Jr(()=>import(`./motion-sqs9Ax-g.js`).then(e=>e.t).then(i=>{if(t||!e.current)return;let a=i.gsap;n=a.matchMedia(),n.add(Zr,e=>r.current(a,!!e.conditions?.reduceMotion),e.current)}),__vite__mapDeps([0,1])),()=>{t=!0,n?.revert()}},n)}function $r(e,t=!0){Qr(e,(n,r)=>{let i=e.current;if(!t||r||!i||!window.matchMedia(`(hover: hover) and (pointer: fine)`).matches)return;let a=n.quickTo(i,`x`,{duration:Yr.fast,ease:`power2.out`}),o=n.quickTo(i,`y`,{duration:Yr.fast,ease:`power2.out`}),s=null,c=()=>{s=i.getBoundingClientRect()},l=e=>{if(s||c(),!s)return;let t=((e.clientX-s.left)/s.width-.5)*Xr.magnetic*2,n=((e.clientY-s.top)/s.height-.5)*Xr.magnetic*2;a(t),o(n)},u=()=>{a(0),o(0)};return i.addEventListener(`pointerenter`,c),i.addEventListener(`pointermove`,l,{passive:!0}),i.addEventListener(`pointerleave`,u),window.addEventListener(`resize`,c),()=>{i.removeEventListener(`pointerenter`,c),i.removeEventListener(`pointermove`,l),i.removeEventListener(`pointerleave`,u),window.removeEventListener(`resize`,c)}},[t])}function ei(e){if(!e)return`—`;let t=Date.now()/1e3,n=Math.max(0,t-e);return n<5?`just now`:n<60?`${Math.floor(n)}s ago`:n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}function J(e){if(e==null||e<0)return`—`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t?`${t}d ${n}h`:n?`${n}h ${r}m`:r?`${r}m`:`${Math.floor(e)}s`}function ti(e,t=2){return e==null||!isFinite(e)?`$0.00`:`$${e.toFixed(t)}`}function ni(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1),r=e/1024**n;return`${r>=10||n===0?r.toFixed(0):r.toFixed(1)} ${t[n]}`}function ri(e){let t=e.ts??e.time,n=null;if(typeof t==`number`)n=t>0xe8d4a51000?t:t*1e3;else if(typeof t==`string`){let e=Date.parse(t);isNaN(e)||(n=e)}if(n==null)return``;let r=new Date(n),i=e=>String(e).padStart(2,`0`);return`${i(r.getHours())}:${i(r.getMinutes())}:${i(r.getSeconds())}`}function ii(e){return e instanceof Error?e.message:String(e||`Unknown error`)}function ai(e,t){let n=ii(e);return t?`Reply interrupted after a partial response: ${n}`:`Message failed before a response was received: ${n}`}var oi=`operator console`,si=[`No active work.`,`Event stream is idle.`,`Ready for input.`];function ci(e,t=3800){return e[Math.floor(Date.now()/t)%e.length]}function li({ok:e,pulse:t=!1,title:n}){return(0,K.jsx)(`span`,{title:n,className:`inline-block h-1.5 w-1.5 rounded-full transition-shadow duration-150 ${e?`bg-ok ring-1 ring-ok/30 ring-offset-1 ring-offset-panel`:`bg-ink-faint/50`}`,"data-live":e&&t?`true`:void 0})}function ui({children:e,color:t,className:n=``}){return(0,K.jsx)(`span`,{className:`chip text-ink-dim ${n}`,style:t?{color:t,borderColor:`${t}44`}:void 0,children:e})}function di({children:e,onClick:t,variant:n=`ghost`,disabled:r,title:i,className:a=``}){let o=(0,M.useRef)(null);return $r(o,n!==`danger`&&!r),(0,K.jsx)(`button`,{ref:o,type:`button`,title:i,disabled:r,onClick:t,className:`brand-button ${{ghost:`brand-button-ghost`,primary:`brand-button-primary`,danger:`brand-button-danger`}[n]} ${a}`,children:e})}function fi({title:e,right:t}){return(0,K.jsxs)(`div`,{className:`panel-header flex min-h-11 items-center justify-between border-b px-4`,children:[(0,K.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.06em] text-ink-faint`,children:e}),t]})}function pi(){return(0,K.jsx)(`span`,{className:`inline-block h-3 w-3 animate-spin rounded-full border-2 border-line border-t-blue`})}function mi({children:e}){return(0,K.jsx)(`div`,{className:`px-3 py-6 text-center text-xs text-ink-faint`,children:e})}async function hi(e){try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}catch{return!1}}function gi({text:e,label:t,copiedLabel:n,className:r=``}){let[i,a]=(0,M.useState)(!1),o=(0,M.useRef)();(0,M.useEffect)(()=>()=>{o.current&&clearTimeout(o.current)},[]);let s=async()=>{await hi(e)&&(a(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>a(!1),1600))};return(0,K.jsxs)(`button`,{type:`button`,onClick:()=>void s(),"aria-label":i?n:t,title:i?n:t,className:`inline-flex h-7 items-center gap-1 rounded-md border border-line/60 bg-panel/85 px-2 text-[10px] text-ink-faint shadow-sm backdrop-blur transition hover:border-blue/45 hover:text-blue focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue/50 ${r}`,children:[i?(0,K.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,className:`h-3.5 w-3.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,K.jsx)(`path`,{d:`m3.5 8.5 2.7 2.7 6.3-6.4`})}):(0,K.jsxs)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,className:`h-3.5 w-3.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,children:[(0,K.jsx)(`rect`,{x:`5.2`,y:`5.2`,width:`7.2`,height:`7.2`,rx:`1.2`}),(0,K.jsx)(`path`,{d:`M10.8 5.2V3.8a1.2 1.2 0 0 0-1.2-1.2H3.8a1.2 1.2 0 0 0-1.2 1.2v5.8a1.2 1.2 0 0 0 1.2 1.2h1.4`})]}),(0,K.jsx)(`span`,{children:i?n:t})]})}function _i(e){return typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(_i).join(``):(0,M.isValidElement)(e)?_i(e.props.children):``}function vi({src:e,alt:t}){let[n,r]=(0,M.useState)(!1);return n||!e?(0,K.jsxs)(`span`,{className:`text-xs text-ink-faint`,children:[`Image unavailable`,t?` · ${t}`:``]}):(0,K.jsx)(`img`,{src:e,alt:t||``,loading:`lazy`,decoding:`async`,onError:()=>r(!0),className:`my-2 h-auto max-w-full rounded-lg`})}function yi({children:e}){let{t}=q();return(0,K.jsx)(ge,{remarkPlugins:[_e],components:{h1:({children:e})=>(0,K.jsx)(`h1`,{className:`mb-2 mt-3 text-base font-semibold text-ink first:mt-0`,children:e}),h2:({children:e})=>(0,K.jsx)(`h2`,{className:`mb-1.5 mt-3 text-sm font-semibold text-ink first:mt-0`,children:e}),h3:({children:e})=>(0,K.jsx)(`h3`,{className:`mb-1 mt-2 text-sm font-medium text-ink first:mt-0`,children:e}),p:({children:e})=>(0,K.jsx)(`p`,{className:`my-1.5 whitespace-pre-wrap break-words leading-[1.625] first:mt-0 last:mb-0`,children:e}),ul:({children:e})=>(0,K.jsx)(`ul`,{className:`my-2 list-disc space-y-1 pl-5`,children:e}),ol:({children:e})=>(0,K.jsx)(`ol`,{className:`my-2 list-decimal space-y-1 pl-5`,children:e}),li:({children:e})=>(0,K.jsx)(`li`,{className:`pl-0.5`,children:e}),blockquote:({children:e})=>(0,K.jsx)(`blockquote`,{className:`my-2 border-l border-blue/50 pl-3 text-ink-dim`,children:e}),hr:()=>(0,K.jsx)(`hr`,{className:`my-3 border-line/60`}),a:({href:e,children:t})=>(0,K.jsx)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,className:`text-blue underline decoration-blue/35 underline-offset-2 hover:decoration-blue`,children:t}),code:({className:e,children:t,...n})=>{let r=!!e||String(t).includes(` +`);return(0,K.jsx)(`code`,{...n,className:r?`block min-w-0 whitespace-pre-wrap break-words font-mono text-xs text-ink ${e??``}`:`break-all rounded bg-bg px-1.5 py-0.5 font-mono text-xs text-ink`,children:t})},pre:({children:e})=>(0,K.jsxs)(`pre`,{className:`group/code relative my-2 max-w-full overflow-x-hidden whitespace-pre-wrap break-words rounded-lg border border-line/50 bg-bg px-3 pb-3 pt-10`,children:[(0,K.jsx)(gi,{text:M.Children.toArray(e).map(_i).join(``),label:t(`copy.code`),copiedLabel:t(`copy.copied`),className:`absolute right-2 top-2`}),e]}),table:({children:e})=>(0,K.jsx)(`table`,{className:`my-2 w-full table-fixed border-collapse text-left text-xs`,children:e}),th:({children:e})=>(0,K.jsx)(`th`,{className:`break-words border border-line/60 bg-bg px-2 py-1.5 font-semibold text-ink`,children:e}),td:({children:e})=>(0,K.jsx)(`td`,{className:`break-words border border-line/60 px-2 py-1.5 align-top`,children:e}),strong:({children:e})=>(0,K.jsx)(`strong`,{className:`font-semibold text-ink`,children:e}),img:({src:e,alt:t})=>(0,K.jsx)(vi,{src:e,alt:t})},children:e})}function bi(e){return`${e}-${(0,M.useId)().replaceAll(`:`,``)}`}function xi({size:e,className:t=`text-ink`}){let n=bi(`argus-rounded-mark`);return(0,K.jsxs)(`svg`,{"data-logo":`rounded-mark`,viewBox:`0 0 512 512`,role:`img`,"aria-label":`Argus`,style:{width:e,height:e},className:`shrink-0 ${t}`,children:[(0,K.jsx)(`defs`,{children:(0,K.jsxs)(`linearGradient`,{id:n,gradientUnits:`userSpaceOnUse`,x1:`66`,y1:`0`,x2:`440`,y2:`0`,children:[(0,K.jsx)(`stop`,{offset:`0%`,stopColor:`rgb(var(--spectral-blue))`}),(0,K.jsx)(`stop`,{offset:`100%`,stopColor:`rgb(var(--spectral-gold))`})]})}),(0,K.jsx)(`path`,{d:`M352 112q0-30 30-30h28q30 0 30 30v320h-88v-52q-46 62-129 62Q66 442 66 266T228 88q80 0 124 56v-32ZM140 266q46-80 102-80t110 80q-54 80-110 80t-102-80Z`,fill:`url(#${n})`,fillRule:`evenodd`}),(0,K.jsx)(`path`,{d:`M286 266A42 42 0 1 0 202 266A42 42 0 1 0 286 266ZM274 248A12 12 0 1 0 250 248A12 12 0 1 0 274 248Z`,fill:`url(#${n})`,fillRule:`evenodd`})]})}function Si({size:e}){let t=bi(`argus-rounded-horizontal`);return(0,K.jsxs)(`svg`,{"data-logo":`rounded-horizontal`,viewBox:`150 40 1160 390`,role:`img`,"aria-label":`Argus`,style:{width:e*2.75,height:e},className:`shrink-0`,children:[(0,K.jsx)(`defs`,{children:(0,K.jsxs)(`linearGradient`,{id:t,gradientUnits:`userSpaceOnUse`,x1:`180`,y1:`0`,x2:`1280`,y2:`0`,children:[(0,K.jsx)(`stop`,{offset:`0%`,stopColor:`rgb(var(--spectral-blue))`}),(0,K.jsx)(`stop`,{offset:`100%`,stopColor:`rgb(var(--spectral-gold))`})]})}),(0,K.jsxs)(`g`,{transform:`translate(180 92) scale(.54)`,children:[(0,K.jsx)(`path`,{d:`M352 112q0-30 30-30h28q30 0 30 30v320h-88v-52q-46 62-129 62Q66 442 66 266T228 88q80 0 124 56v-32ZM140 266q46-80 102-80t110 80q-54 80-110 80t-102-80Z`,fill:`url(#${t})`,fillRule:`evenodd`}),(0,K.jsx)(`path`,{d:`M286 266A42 42 0 1 0 202 266A42 42 0 1 0 286 266ZM274 248A12 12 0 1 0 250 248A12 12 0 1 0 274 248Z`,fill:`url(#${t})`,fillRule:`evenodd`})]}),(0,K.jsxs)(`g`,{fill:`url(#${t})`,children:[(0,K.jsx)(`path`,{d:`M383 556Q394 556 409 555Q424 554 433 552L422 412Q415 414 401.5 415.5Q388 417 378 417Q340 417 305 403.5Q270 390 248.5 360Q227 330 227 278V0H78V546H191L213 454H220Q244 496 286 526Q328 556 383 556Z`,transform:`translate(444 334) scale(.36 -.36)`}),(0,K.jsx)(`path`,{d:`M255 556Q356 556 413 476H417L429 546H555V-1Q555-118 486-179Q417-240 282-240Q224-240 174.5-233Q125-226 78-208V-89Q179-131 291-131Q406-131 406-7V4Q406 21 407.5 39Q409 57 410 71H406Q378 28 339 9Q300-10 251-10Q154-10 99.5 64.5Q45 139 45 272Q45 406 101 481Q157 556 255 556ZM302 435Q197 435 197 270Q197 107 304 107Q361 107 388.5 139.5Q416 172 416 253V271Q416 359 389 397Q362 435 302 435Z`,transform:`translate(617.52 334) scale(.36 -.36)`}),(0,K.jsx)(`path`,{d:`M579 546V0H465L445 70H437Q411 28 365.5 9Q320-10 269-10Q181-10 128 37.5Q75 85 75 190V546H224V227Q224 169 245 139Q266 109 312 109Q380 109 405 155.5Q430 202 430 289V546Z`,transform:`translate(855.48 334) scale(.36 -.36)`}),(0,K.jsx)(`path`,{d:`M459 162Q459 79 400.5 34.5Q342-10 226-10Q169-10 128-2.5Q87 5 46 22V145Q90 125 141 112Q192 99 231 99Q275 99 293.5 112Q312 125 312 146Q312 160 304.5 171Q297 182 272 196Q247 210 194 232Q143 254 110 275.5Q77 297 61 327.5Q45 358 45 404Q45 480 104 518Q163 556 261 556Q312 556 358 546Q404 536 453 513L408 406Q368 423 332 434.5Q296 446 259 446Q193 446 193 410Q193 397 201.5 386.5Q210 376 234.5 364Q259 352 307 332Q354 313 388 292.5Q422 272 440.5 241.5Q459 211 459 162Z`,transform:`translate(1102.08 334) scale(.36 -.36)`})]})]})}function Ci({size:e=20,tag:t,compact:n=!1}){return(0,K.jsxs)(`span`,{className:`inline-flex select-none items-center gap-2.5`,children:[n?(0,K.jsx)(xi,{size:e}):(0,K.jsx)(Si,{size:e}),t&&!n?(0,K.jsx)(`span`,{className:`text-xs font-medium uppercase tracking-[0.08em] text-ink-faint`,children:t}):null]})}var wi=[`manager`,`planner`,`engineer`,`reviewer`],Ti=/Info: (?:Operation cancelled by user|Response was interrupted due to a server error\. Retrying\.\.\.)/gi;function Ei(e){let t=new Map;return e.forEach(e=>{let n=String(e.type??``);if(n===`life.mission.completed`||n===`mission.completed`){t.clear();return}let r=String(e.call_id??``);r&&(n===`provider.request.started`?t.set(r,e):(n===`provider.request.completed`||n===`provider.request.denied`)&&t.delete(r))}),Array.from(t.values()).at(-1)??null}function Di({ev:e,r:t,first:n,last:r}){let i=z.role[t.role]??z.inkFaint,a=tr(t.tone);return(0,K.jsxs)(`div`,{className:`group relative grid grid-cols-[16px_minmax(0,1fr)] gap-3 px-4 py-3 transition-colors hover:bg-bg/70 ${r?`animate-appear`:``} ${t.reasoning?`opacity-60`:``}`,style:t.rule?{marginTop:4}:void 0,children:[(0,K.jsxs)(`div`,{className:`relative flex justify-center`,children:[n?null:(0,K.jsx)(`span`,{className:`absolute -top-2.5 h-4 w-px bg-line/60`}),r?null:(0,K.jsx)(`span`,{className:`absolute -bottom-2.5 top-2 w-px bg-line/60`}),(0,K.jsx)(`span`,{className:`relative z-10 mt-1.5 h-2 w-2 rounded-full border-2 border-panel`,style:{backgroundColor:i,boxShadow:`0 0 0 1px ${i}55`}})]}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`truncate text-xs font-semibold uppercase tracking-[0.06em]`,style:{color:i},title:t.label,children:t.label}),(0,K.jsx)(`span`,{className:`text-xs`,style:{color:a},children:t.glyph}),(0,K.jsx)(`time`,{className:`ml-auto font-mono text-xs tabular-nums text-ink-faint opacity-0 transition-opacity group-hover:opacity-100`,children:ri(e)})]}),(0,K.jsx)(`div`,{className:`mt-0.5 whitespace-pre-wrap break-words text-sm leading-5 ${t.reasoning?`italic`:``}`,style:{color:a},children:t.text})]})]})}function Oi({ev:e,r:t}){let{t:n}=q(),r=String(e.type)===`ui.operator`,i=Number(e.response_latency_ms??0),a=!r&&i>=100?` · ${(i/1e3).toFixed(1)}s`:``,o=(0,M.useRef)(null);return Qr(o,(e,t)=>{o.current&&(t||e.fromTo(o.current,{autoAlpha:0,x:r?12:0,y:r?0:8},{autoAlpha:1,x:0,y:0,duration:.28,ease:`power2.out`,clearProps:`transform,opacity,visibility`}))}),(0,K.jsx)(`article`,{ref:o,className:`group mx-auto w-full max-w-full px-4 py-3 sm:px-6 lg:max-w-[61.8vw]`,children:r?(0,K.jsxs)(`div`,{className:`flex items-end justify-end gap-2`,children:[(0,K.jsx)(gi,{text:t.text,label:n(`copy.message`),copiedLabel:n(`copy.copied`),className:`opacity-60 sm:opacity-0 sm:group-hover:opacity-100`}),(0,K.jsx)(`time`,{className:`shrink-0 pb-1 font-mono text-[10px] tabular-nums text-ink-faint`,children:ri(e)}),(0,K.jsx)(`div`,{className:`max-w-[calc(100%_-_3rem)] rounded-[18px] bg-conversation-user px-4 py-2.5 text-[15px] leading-relaxed text-ink ring-1 ring-line/35 sm:max-w-[82%]`,children:(0,K.jsx)(yi,{children:t.text})})]}):(0,K.jsxs)(`div`,{className:`flex gap-3`,children:[(0,K.jsx)(`span`,{className:`mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center`,children:(0,K.jsx)(xi,{size:26,className:`text-blue`})}),(0,K.jsxs)(`div`,{className:`relative min-w-0 flex-1 text-[15px] leading-relaxed text-ink`,children:[(0,K.jsxs)(`div`,{className:`mb-1 flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`text-xs font-semibold text-blue`,children:`Argus`}),(0,K.jsx)(gi,{text:t.text,label:n(`copy.message`),copiedLabel:n(`copy.copied`),className:`ml-auto opacity-60 sm:opacity-0 sm:group-hover:opacity-100`}),(0,K.jsxs)(`time`,{className:`font-mono text-[10px] tabular-nums text-ink-faint`,children:[ri(e),a]})]}),(0,K.jsx)(yi,{children:t.text})]})]})})}function ki({role:e,rows:t,open:n,active:r,onToggle:i}){let a=z.role[e],o=(0,M.useRef)(null),s=t[t.length-1]?.r.text.length??0;return(0,M.useEffect)(()=>{if(!n)return;let e=window.requestAnimationFrame(()=>{o.current&&o.current.scrollHeight>o.current.clientHeight&&(o.current.scrollTop=o.current.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[n,t.length,s]),(0,K.jsxs)(`section`,{className:`role-log-group border-b border-line/50`,"data-role":e,"data-open":n?`true`:`false`,"data-active":r?`true`:`false`,children:[(0,K.jsxs)(`button`,{type:`button`,onClick:i,"aria-expanded":n,className:`group flex h-11 w-full items-center gap-2 px-4 text-left transition-colors hover:bg-bg/60`,children:[(0,K.jsx)(`span`,{className:`h-2 w-2 rounded-full ${r?`animate-pulse`:`opacity-55`}`,style:{background:a}}),(0,K.jsx)(`span`,{className:`text-xs font-semibold capitalize text-ink-dim`,children:e}),(0,K.jsx)(`span`,{className:`font-mono text-xs text-ink-faint`,children:t.length}),t.length>0?(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-ink-faint`,children:t[t.length-1].r.text}):(0,K.jsx)(`span`,{className:`flex-1`}),(0,K.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-ink-faint transition-transform duration-panel ease-panel ${n?`rotate-90`:``}`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,children:(0,K.jsx)(`path`,{d:`m6 3.5 4.5 4.5L6 12.5`})})]}),(0,K.jsx)(`div`,{className:`grid transition-[grid-template-rows] duration-panel ease-panel ${n?`grid-rows-[1fr]`:`grid-rows-[0fr]`}`,children:(0,K.jsx)(`div`,{className:`min-h-0 overflow-hidden`,children:(0,K.jsx)(`div`,{ref:o,className:`max-h-72 overflow-x-hidden overflow-y-auto border-t border-line/40 scroll-thin`,children:t.length>0?t.map(({ev:e,r:n,key:r},i)=>(0,K.jsx)(Di,{ev:e,r:n,first:i===0,last:i===t.length-1},r)):(0,K.jsx)(`div`,{className:`px-4 py-3 text-xs text-ink-faint`,children:`No logs`})})})})]})}function Ai(e){let t={manager:[],planner:[],engineer:[],reviewer:[]},n=[];return e.forEach(e=>{wi.includes(e.r.role)?t[e.r.role].push(e):n.push(e)}),{roleRows:t,systemRows:n,lastRole:[...e].reverse().find(e=>wi.includes(e.r.role))?.r.role??``}}function ji({rows:e,live:t}){let{roleRows:n,systemRows:r,lastRole:i}=(0,M.useMemo)(()=>Ai(e),[e]),[a,o]=(0,M.useState)(()=>new Set(t&&i?[i]:[])),s=(0,M.useRef)(!1);return(0,M.useEffect)(()=>{!t||!i||s.current||o(new Set([i]))},[i,t]),(0,K.jsxs)(`div`,{className:`bg-bg/25`,children:[wi.map(e=>(0,K.jsx)(ki,{role:e,rows:n[e],open:a.has(e),active:i===e,onToggle:()=>{s.current=!0,o(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}},e)),r.length>0?(0,K.jsxs)(`details`,{className:`border-b border-line/50`,children:[(0,K.jsxs)(`summary`,{className:`flex h-10 cursor-pointer list-none items-center gap-2 px-4 text-xs text-ink-faint hover:bg-bg/60`,children:[(0,K.jsx)(`span`,{children:`System`}),(0,K.jsx)(`span`,{className:`font-mono`,children:r.length})]}),(0,K.jsx)(`div`,{className:`border-t border-line/40`,children:r.map(({ev:e,r:t,key:n},i)=>(0,K.jsx)(Di,{ev:e,r:t,first:i===0,last:i===r.length-1},n))})]}):null]})}function Mi({group:e,latest:t}){let n=e=>e.ev.type===`ui.argus`&&/^(info:|operation cancelled|cancelled\b)/i.test(e.r.text.trim()),r=e.rows.filter(e=>e.ev.type===`ui.argus`).map(e=>{let t=e.r.text.match(Ti)??[],r=e.r.text.replace(Ti,``).trim();return{reply:r&&!n(e)?{...e,r:{...e.r,text:r}}:null,messages:n(e)&&t.length===0?[e.r.text]:t}}),i=r.flatMap(e=>e.reply?[e.reply]:[]),a=r.flatMap(e=>e.messages),o=e.rows.filter(({ev:e})=>e.type!==`ui.argus`);return(0,K.jsxs)(`section`,{className:`border-b border-line/60`,children:[(0,K.jsx)(Oi,{ev:e.operator.ev,r:e.operator.r}),i.map(e=>(0,K.jsx)(Oi,{ev:e.ev,r:e.r},e.key)),a.map((t,n)=>(0,K.jsx)(`div`,{className:`mx-auto w-full max-w-full px-6 py-1.5 text-center text-xs text-ink-faint lg:max-w-[61.8vw]`,children:t},`${e.key}-system-${n}`)),o.length>0?(0,K.jsx)(`div`,{className:`mx-auto w-full max-w-full border-t border-line/40 lg:max-w-[61.8vw]`,children:(0,K.jsx)(ji,{rows:o,live:t})}):null]})}function Ni({events:e,connected:t,showReasoning:n,onToggleReasoning:r,embedded:i=!1,filter:a=`all`,query:o=``,skipFirst:s=0}){let{locale:c,t:l}=q(),[u,d]=(0,M.useState)(!0),[f,p]=(0,M.useState)(()=>Date.now()),m=(0,M.useRef)(null),h=(0,M.useMemo)(()=>Ei(e),[e]);(0,M.useEffect)(()=>{if(!h)return;p(Date.now());let e=window.setInterval(()=>p(Date.now()),1e3);return()=>window.clearInterval(e)},[h]);let g=h?Math.max(0,Math.floor((f-Number(h.ts??0)*1e3)/1e3)):0,_=(0,M.useMemo)(()=>{let t=[],r=new Map,i=0;return(s>0?e.slice(s):e).forEach((e,s)=>{let l=nr(e,c);if(!l)return;if(l.reasoning&&!n){i++;return}if(!At(e,l,a,o))return;let u=e,d=String(u.message_id??``),f=!!d&&String(u.type)===`engineer.progress`&&[`assistant_message`,`agent_message`,`message`].includes(String(u.kind));if(f&&r.has(d)){let n=r.get(d);t[n]={...t[n],ev:{...t[n].ev,...e},r:{...t[n].r,...l,text:Dt(t[n].r.text,l.text,Tt(e))}};return}let p={ev:e,r:l,key:rr(e,s)};f&&r.set(d,t.length),t.push(p)}),{list:t,hiddenReasoning:i}},[e,n,a,o,s,c]),v=(0,M.useMemo)(()=>{let e=[],t=[],n=null;return _.list.forEach(r=>{r.ev.type===`ui.operator`?(n={key:r.key,operator:r,rows:[]},e.push(n)):n?n.rows.push(r):t.push(r)}),{groups:e,earlier:t}},[_.list]),y=(0,M.useMemo)(()=>e.filter(xt).length,[e]),b=(0,M.useMemo)(()=>_.list.slice(-20).reduce((e,t)=>e+t.r.text.length,0),[_.list]);return(0,M.useEffect)(()=>{u&&m.current&&(m.current.scrollTop=m.current.scrollHeight)},[_.list.length,b,u]),(0,M.useEffect)(()=>{let e=m.current;if(!e)return;let t=()=>d(e.scrollHeight-e.scrollTop-e.clientHeight<40);return e.addEventListener(`scroll`,t,{passive:!0}),()=>e.removeEventListener(`scroll`,t)},[]),(0,K.jsxs)(`section`,{className:`relative flex min-h-0 flex-1 flex-col overflow-hidden bg-panel ${i?``:`rounded-lg border border-line/80`}`,children:[(0,K.jsx)(fi,{title:l(`panel.activity`),right:(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsxs)(`button`,{onClick:r,className:`rounded px-1.5 py-0.5 text-xs transition-colors ${n?`text-blue-sky`:`text-ink-faint hover:text-ink-dim`}`,title:`toggle agent reasoning (⌘T)`,children:[`reasoning`,y?` ·${y}`:``]}),(0,K.jsx)(`span`,{className:`text-xs ${t?`text-ok`:`text-ink-faint`}`,children:t?`● live`:`○ reconnecting`})]})}),h?(0,K.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center gap-2 border-b border-line/60 bg-blue-deep/5 px-4 text-xs text-ink-dim`,children:[(0,K.jsx)(`span`,{className:`h-2 w-2 animate-pulse rounded-full bg-blue-sky`}),(0,K.jsxs)(`span`,{className:`truncate`,children:[String(h.run_label??`provider call`),` · working`]}),(0,K.jsxs)(`span`,{className:`ml-auto shrink-0 font-mono tabular-nums text-ink-faint`,children:[g,`s`]})]}):null,(0,K.jsx)(`div`,{ref:m,className:`min-h-0 flex-1 overflow-x-hidden overflow-y-auto pb-6 pt-1.5 scroll-thin`,children:_.list.length===0?(0,K.jsx)(mi,{children:ci(si)}):(0,K.jsxs)(K.Fragment,{children:[v.earlier.length>0?(0,K.jsxs)(`section`,{className:`mx-auto w-full max-w-full border-b border-line/60 lg:max-w-[61.8vw]`,children:[(0,K.jsxs)(`div`,{className:`flex h-10 items-center gap-2 border-b border-line/40 px-4 text-[10px] font-semibold uppercase tracking-[0.12em] text-ink-faint`,children:[`Autonomous activity`,(0,K.jsx)(`span`,{className:`font-mono font-normal tracking-normal`,children:v.earlier.length})]}),(0,K.jsx)(ji,{rows:v.earlier,live:v.groups.length===0})]}):null,v.groups.map((e,t)=>(0,K.jsx)(Mi,{group:e,latest:t===v.groups.length-1},e.key))]})}),!u&&(0,K.jsx)(`button`,{onClick:()=>{d(!0),m.current?.scrollTo({top:m.current.scrollHeight,behavior:`smooth`})},"aria-label":l(`stream.jumpToLatest`),title:l(`stream.jumpToLatest`),className:`absolute bottom-4 left-1/2 flex h-8 w-8 -translate-x-1/2 items-center justify-center rounded-full border border-line/60 bg-panel text-sm text-ink-dim shadow-glow transition-all duration-200 hover:border-ink-faint hover:text-ink`,children:`↓`})]})}function Pi(e){return e.nativeEvent.isComposing||e.keyCode===229}var Fi={Everyday:`常用`,"Task management":`任务管理`,"Sessions & diagnostics":`会话与诊断`,Configuration:`配置`,Other:`其他`},Ii={status:`查看角色、队列、日志和健康状态`,roles:`查看各角色的后端、模型、推理强度和实时活动`,journal:`查看近期日志(默认 10 条)`,backlog:`查看待处理任务(all 包含已完成和已跳过)`,artifacts:`查看 Reviewer 批准的结果文件(按 Enter 预览)`,artifact:`预览一个已批准的结果文件`,events:`搜索动态:all / watch / milestones / messages`,find:`搜索当前事件缓冲区`,cancel:`停止等待当前 Manager 回复`,ask:`直接回答,不排任务、不走 Planner/Engineer/Reviewer`,task:`直接加入任务队列`,plan:`预览 Planner 编写的执行计划`,rewrite:`让 Manager 在发送前改写提示词`,nudge:`向正在运行的任务注入指导`,abort:`立即终止正在运行的任务`,note:`向时间线添加手动备注`,done:`将任务标记为完成`,skip:`跳过任务`,stop:`停止任务的自动迭代`,item:`查看完整任务契约`,run:`返回持续更新的任务动态`,new:`检查、创建并切换到新会话`,daemons:`查找全部会话并切换或创建`,resume:`切换到其他项目或会话`,attach:`跟随其他项目并读取其动态`,rename:`重命名当前会话`,doctor:`诊断为什么没有任务运行`,backend:`查看或更改共享 Runner 后端`,config:`查看或更改运行时设置`,identity:`查看或替换操作者身份卡`,reset:`清除 Manager 的热会话上下文`,skills:`查看或提升运行时 Skill`,clear:`清空事件动态视图`,reconnect:`重新连接实时事件流`,help:`查看快捷键和完整命令参考`,quit:`离开控制台(后台工作继续运行)`};function Li(e,t){return t===`zh-CN`?Ii[e.id]:e.desc}function Ri(e,t){return t===`zh-CN`?Fi[e.group]:e.group}function zi(e,t){let n=new Map;for(let r of e){let e=Ri(r,t),i=r.aliases?.length?` (= ${r.aliases.join(`, `)})`:``,a=`${r.name}${r.arg?` ${r.arg}`:``}${i}`;n.has(e)||n.set(e,[]),n.get(e).push({label:a,desc:Li(r,t)})}return[...n.entries()].map(([e,t])=>({group:e,rows:t}))}var Y=`slash-completion-listbox`;function X(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function Bi(e){return`slash-completion-option-${e}`}function Vi({query:e,selected:t,onSelect:n}){let{locale:r,t:i}=q(),a=Lt(e);if(a.length===0)return null;let o=a.slice(0,8),s=X(t,o.length);return(0,K.jsx)(`div`,{id:Y,role:`listbox`,"aria-label":i(`slash.suggestions`),className:`slash-completion-menu scroll-thin border-b border-line/40`,children:o.map((e,t)=>(0,K.jsxs)(`button`,{id:Bi(e.id),type:`button`,role:`option`,"aria-selected":t===s,onPointerDown:e=>{e.preventDefault(),n(t)},className:`flex w-full items-baseline gap-2 px-3 py-1.5 text-left text-sm transition-colors ${t===s?`bg-blue/10 text-ink`:`text-ink-dim hover:bg-line/20`}`,children:[(0,K.jsx)(`span`,{className:`shrink-0 font-mono text-blue`,children:e.name}),e.arg?(0,K.jsx)(`span`,{className:`shrink-0 font-mono text-xs text-ink-faint`,children:e.arg}):null,(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-ink-faint`,children:Li(e,r)})]},e.id))})}var Hi=10485760,Ui=26214400,Wi=[`.png`,`.jpg`,`.jpeg`,`.webp`,`.pdf`,`.md`,`.markdown`,`.txt`,`.json`,`.csv`].join(`,`),Gi={".png":`image/png`,".jpg":`image/jpeg`,".jpeg":`image/jpeg`,".webp":`image/webp`,".pdf":`application/pdf`,".md":`text/markdown`,".markdown":`text/markdown`,".txt":`text/plain`,".json":`application/json`,".csv":`text/csv`};function Ki(e){let t=String(e||``).trim().toLowerCase(),n=t.lastIndexOf(`.`);return n>=0?t.slice(n):``}function qi(e){return Gi[Ki(e.name)]||String(e.type||``).split(`;`,1)[0].trim()||`application/octet-stream`}function Ji(e){return Object.hasOwn(Gi,Ki(e.name))}function Yi(e){return qi(e).startsWith(`image/`)}function Xi(e){return[e.name,String(e.size),qi(e),String(e.lastModified??``)].join(`::`)}function Zi(e,t){let n=[],r=[],i=new Set(e.map(Xi)),a=e.reduce((e,t)=>e+Math.max(0,t.size||0),0),o=e.length;for(let e of t){let t=Xi(e);if(!i.has(t)){if(i.add(t),!Ji(e)){r.push({code:`unsupported`,fileName:e.name});continue}if(o>=5){r.push({code:`too-many`,limitCount:5});continue}if(e.size>10485760){r.push({code:`too-large`,fileName:e.name,limitBytes:Hi});continue}if(a+e.size>26214400){r.push({code:`too-large-total`,limitBytes:Ui});continue}n.push(e),a+=e.size,o+=1}}return{accepted:n,issues:r}}function Qi(e){return e?Array.from(e):[]}function $i(e){return Qi(e?.types).map(e=>String(e)).includes(`Files`)||ea(e).length>0}function ea(e){let t=Qi(e?.files).filter(e=>e instanceof File);if(t.length)return t;let n=[];for(let t of Qi(e?.items)){if(String(t?.kind||``)!==`file`||typeof t?.getAsFile!=`function`)continue;let e=t.getAsFile();e instanceof File&&n.push(e)}return n}function ta({file:e,removeLabel:t,onRemove:n}){let[r,i]=(0,M.useState)(``);return(0,M.useEffect)(()=>{if(!Yi(e)||typeof URL>`u`||typeof URL.createObjectURL!=`function`){i(``);return}let t=URL.createObjectURL(e);return i(t),()=>URL.revokeObjectURL(t)},[e]),(0,K.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-2xl border border-line/50 bg-panel/80 px-2.5 py-2 text-xs shadow-[0_10px_24px_-20px_rgb(var(--spectral-blue)/0.8)]`,children:[r?(0,K.jsx)(`img`,{src:r,alt:``,className:`h-10 w-10 shrink-0 rounded-xl border border-line/40 object-cover`}):null,(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`truncate font-medium text-ink`,title:e.name,children:e.name}),(0,K.jsxs)(`div`,{className:`truncate text-ink-faint`,children:[ni(e.size),` · `,qi(e)]})]}),(0,K.jsx)(`button`,{type:`button`,onClick:n,"aria-label":t,title:t,className:`send-control h-8 w-8 shrink-0 rounded-full border-line/60 text-ink-faint hover:border-err/50 hover:bg-err/10 hover:text-err`,children:`×`})]})}function na(e,t){if(!t.onRewrite||!Xn(e.key,e.ctrlKey,e.metaKey))return!1;e.preventDefault();let n=t.value.trim();return n&&!t.disabled&&!t.pending&&!t.rewriting&&t.onRewrite(n),!0}function ra({value:e,onChange:t,onSend:n,onCancel:r,disabled:i,pending:a,focusSignal:o,embedded:s=!1,phase:c=``,heartbeat:l=!1,quietS:u=0,startedAt:d=0,steps:f=[],onRewrite:p,rewriting:m=!1,slashSelection:h,onSlashSelectionChange:g}){let{t:_}=q(),v=(0,M.useRef)(null),y=(0,M.useRef)(null),[b,x]=(0,M.useState)(0),[S,C]=(0,M.useState)(!1),[w,T]=(0,M.useState)([]),[ee,te]=(0,M.useState)(``),[E,ne]=(0,M.useState)(0);(0,M.useEffect)(()=>{if(!a&&!m)return;x(e=>e+1);let e=setInterval(()=>x(e=>e+1),120);return()=>clearInterval(e)},[a,m]);let re=Hn(c,b,l,u),ie=d?Math.max(0,Math.floor((Date.now()-d)/1e3)):0,ae=qn(f),D=Date.now()/1e3;(0,M.useEffect)(()=>{o&&!i&&v.current?.focus()},[o,i]);let O=Lt(e).slice(0,8),oe=O.length>0&&!S,se=oe?X(h,O.length):0,ce=oe?O[se]:void 0,k=e=>{let n=O[e];n&&(t(zt(n)),n.argument===`none`&&C(!0),g(0),v.current?.focus())},le=async()=>{let r=e.trim();!r||a||i||await n(r,w.map(e=>e.file))&&(t(``),g(0),C(!1),T([]),te(``))},A=(e,t)=>_(e===`unsupported`?`chat.attachUnsupported`:e===`too-large`?`chat.attachTooLarge`:e===`too-many`?`chat.attachTooMany`:`chat.attachTotalTooLarge`,t),ue=e=>{if(!e.length||i||a)return;let{accepted:t,issues:n}=Zi(w.map(e=>e.file),e);t.length&&T(e=>[...e,...t.map(e=>({id:globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random()}`,file:e}))]),te(n.map(e=>e.code===`unsupported`?A(e.code,{name:e.fileName}):e.code===`too-large`?A(e.code,{name:e.fileName,size:ni(e.limitBytes)}):e.code===`too-many`?A(e.code,{count:e.limitCount}):A(e.code,{size:ni(e.limitBytes)})).join(` `))};return(0,K.jsxs)(`div`,{onDragEnter:e=>{$i(e.dataTransfer)&&(e.preventDefault(),ne(e=>e+1))},onDragOver:e=>{$i(e.dataTransfer)&&e.preventDefault()},onDragLeave:e=>{$i(e.dataTransfer)&&(e.preventDefault(),ne(e=>Math.max(0,e-1)))},onDrop:e=>{$i(e.dataTransfer)&&(e.preventDefault(),ne(0),ue(ea(e.dataTransfer)))},className:`glass-card glass-panel--raised flex flex-col overflow-hidden rounded-2xl ${s?`shadow-[0_12px_36px_-22px_rgb(var(--spectral-violet)/0.7)] backdrop-blur-md`:``} ${E>0?`ring-2 ring-manager/60 ring-offset-0`:``}`,children:[a?(0,K.jsxs)(`div`,{className:`border-b border-line/40 px-3 py-2`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs`,children:[(0,K.jsx)(`span`,{className:`font-mono text-manager`,children:Vn(b)}),(0,K.jsx)(`span`,{className:`shrink-0 font-semibold text-manager`,children:_(`chat.yourMessage`)}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-blue`,title:re,children:re}),(0,K.jsxs)(`span`,{className:`shrink-0 font-mono tabular-nums text-ink-faint`,children:[ie,`s`]})]}),ae.length?(0,K.jsx)(`ol`,{className:`mt-1.5 space-y-0.5`,children:ae.map((e,t)=>{let n=t===ae.length-1&&!e.endedTs,r=Yn(Jn(e,D));return(0,K.jsxs)(`li`,{className:`flex min-w-0 items-baseline gap-2 text-xs`,children:[(0,K.jsx)(`span`,{className:`shrink-0 font-mono ${n?`text-manager`:`text-ok`}`,children:n?Vn(b):`✓`}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono ${n?`text-ink`:`text-ink-faint`}`,title:e.detail||e.label,children:e.label}),r?(0,K.jsx)(`span`,{className:`shrink-0 font-mono tabular-nums text-ink-faint`,children:r}):null]},e.id)})}):null,(0,K.jsx)(`div`,{className:`mt-1 text-xs text-ink-faint`,children:_(`chat.stopWaitingHint`)})]}):null,oe?(0,K.jsx)(Vi,{query:e,selected:se,onSelect:k}):null,w.length||ee||E>0?(0,K.jsxs)(`div`,{className:`border-b border-line/30 px-3 py-2`,children:[E>0?(0,K.jsx)(`div`,{className:`mb-2 text-xs font-medium text-manager`,children:_(`chat.attachDrop`)}):null,w.length?(0,K.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:w.map(e=>(0,K.jsx)(ta,{file:e.file,removeLabel:_(`chat.attachRemove`,{name:e.file.name}),onRemove:()=>{T(t=>t.filter(t=>t.id!==e.id)),te(``)}},e.id))}):null,(0,K.jsx)(`div`,{className:`mt-2 text-xs ${ee?`text-err`:`text-ink-faint`}`,children:ee||_(`chat.attachHint`,{count:5,perFile:ni(10485760),total:ni(26214400)})})]}):null,(0,K.jsxs)(`div`,{className:`flex items-end gap-2 px-3 py-2`,children:[(0,K.jsx)(`span`,{className:`pb-2 font-mono text-lg text-blue`,title:_(`chat.messageArgus`),children:`›`}),(0,K.jsx)(`input`,{ref:y,type:`file`,multiple:!0,accept:Wi,onChange:e=>{ue(Array.from(e.target.files??[])),e.target.value=``},className:`hidden`}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>y.current?.click(),disabled:i||a,title:`${_(`chat.attach`)} · ${_(`chat.attachHint`,{count:5,perFile:ni(Hi),total:ni(Ui)})}`,"aria-label":_(`chat.attach`),className:`send-control h-9 w-9 shrink-0 rounded-full border-line/70 bg-panel/80 text-base text-ink-faint hover:border-blue/50 hover:bg-blue/10 hover:text-blue disabled:opacity-40`,children:`📎`}),(0,K.jsx)(`textarea`,{ref:v,value:e,onChange:e=>{t(e.target.value),g(0),C(!1)},onPaste:e=>{let t=ea(e.clipboardData);t.length&&(e.preventDefault(),ue(t))},onKeyDown:t=>{Pi(t)||na(t,{value:e,disabled:i,pending:a,rewriting:m,onRewrite:p})||(oe?t.key===`ArrowDown`?(t.preventDefault(),g(X(se+1,O.length))):t.key===`ArrowUp`?(t.preventDefault(),g(X(se-1,O.length))):t.key===`Tab`||t.key===`Enter`&&!t.shiftKey?(t.preventDefault(),k(se)):t.key===`Escape`&&(t.preventDefault(),C(!0)):t.key===`Escape`&&a?(t.preventDefault(),r()):t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),le()))},"aria-keyshortcuts":`Control+R Meta+R`,rows:1,disabled:i,"aria-controls":oe?Y:void 0,"aria-expanded":oe,"aria-activedescendant":ce?Bi(ce.id):void 0,placeholder:_(i?`chat.selectSession`:`chat.placeholder`),className:`max-h-48 min-h-[38px] min-w-0 flex-1 resize-none bg-transparent py-2 font-sans text-[15px] text-ink outline-none placeholder:text-ink-faint`,style:{fieldSizing:`content`}}),p?(0,K.jsx)(`button`,{type:`button`,onClick:()=>p(e.trim()),disabled:i||a||m||!e.trim(),title:`Ctrl/⌘+R · ${_(`chat.rewriteHint`)}`,"aria-label":_(`chat.rewriteLabel`),"aria-keyshortcuts":`Control+R Meta+R`,className:`send-control h-9 shrink-0 rounded-full border-manager/70 bg-manager/10 px-3 text-xs font-medium text-manager hover:border-manager hover:bg-manager/20 disabled:opacity-40`,children:m?`${Vn(b)} ${_(`chat.rewriting`)}`:_(`chat.rewrite`)}):null,(0,K.jsx)(`button`,{type:`button`,onClick:a?r:()=>void le(),disabled:i||!a&&!e.trim(),title:a?_(`chat.stopWaitingTitle`):void 0,"aria-label":_(a?`chat.stopWaiting`:`chat.send`),className:`send-control h-9 w-9 shrink-0 rounded-full text-sm font-medium disabled:opacity-40 ${a?`border-line text-warn hover:border-warn/60 hover:bg-warn/10`:`border-blue/70 bg-blue/10 text-blue hover:border-blue hover:bg-blue/20`}`,children:a?`■`:`↑`})]})]})}function ia({open:e,onClose:t,children:n,label:r,width:i=`max-w-2xl`,align:a=`center`}){let o=(0,M.useRef)(null),s=(0,M.useRef)(null),c=(0,M.useRef)(t);return c.current=t,Qr(o,(t,n)=>{if(!(!e||!o.current||!s.current)){if(n){t.set([s.current,o.current],{clearProps:`all`});return}t.timeline({defaults:{overwrite:`auto`}}).fromTo(s.current,{autoAlpha:0},{autoAlpha:1,duration:.18,ease:`power1.out`},0).fromTo(o.current,{autoAlpha:0,y:a===`top`?-10:12,scale:.985},{autoAlpha:1,y:0,scale:1,duration:.28,ease:`power3.out`,clearProps:`transform,opacity,visibility`},.03)}},[e,a]),(0,M.useEffect)(()=>{if(!e)return;let t=document.activeElement instanceof HTMLElement?document.activeElement:null,n=window.requestAnimationFrame(()=>{(o.current?.querySelector(`[data-autofocus]`)??o.current?.querySelector(`input:not([disabled]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [href], [tabindex]:not([tabindex="-1"])`)??o.current)?.focus()}),r=e=>{if(e.key===`Escape`){e.preventDefault(),c.current();return}if(e.key!==`Tab`||!o.current)return;let t=Array.from(o.current.querySelectorAll(`input:not([disabled]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [href], [tabindex]:not([tabindex="-1"])`)).filter(e=>e.getAttribute(`aria-hidden`)!==`true`);if(t.length===0){e.preventDefault(),o.current.focus();return}let n=t[0],r=t[t.length-1];e.shiftKey&&(document.activeElement===n||!o.current.contains(document.activeElement))?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())};return window.addEventListener(`keydown`,r),()=>{window.cancelAnimationFrame(n),window.removeEventListener(`keydown`,r),t?.isConnected&&t.focus()}},[e]),e?(0,K.jsxs)(`div`,{className:`fixed inset-0 z-50 flex ${a===`top`?`items-start pt-4 sm:pt-16`:`items-center`} justify-center p-4`,onMouseDown:t,children:[(0,K.jsx)(`div`,{ref:s,className:`absolute inset-0 bg-[rgb(4_11_24_/_0.58)] backdrop-blur-md`}),(0,K.jsx)(`div`,{ref:o,role:`dialog`,"aria-modal":`true`,"aria-label":r,tabIndex:-1,className:`brand-modal glass-panel glass-panel--raised relative z-10 w-full ${i} max-h-[calc(100dvh-2rem)] overflow-x-hidden overflow-y-auto rounded-xl border shadow-glow scroll-thin sm:max-h-[88dvh]`,onMouseDown:e=>e.stopPropagation(),children:n})]}):null}function aa({title:e,sub:t}){return(0,K.jsxs)(`div`,{className:`border-b border-line px-5 py-3`,children:[(0,K.jsx)(`h2`,{className:`text-sm font-semibold text-ink`,children:e}),t&&(0,K.jsx)(`p`,{className:`mt-0.5 text-xs text-ink-faint`,children:t})]})}function oa(e,t,n,r=`en`){return e.map(e=>({id:`command-${e.id}`,label:Li(e,r),hint:`${e.name}${e.arg?` ${e.arg}`:``}`,group:Ri(e,r),keywords:[e.name,...e.aliases??[]].join(` `),run:()=>Nt(e)?n(`${e.name} `):t(e.name)}))}function sa(e,t){let n=t.trim().toLowerCase().split(/\s+/).filter(Boolean);return n.length?e.filter(e=>{let t=`${e.label} ${e.group} ${e.hint??``} ${e.keywords??``}`.toLowerCase();return n.every(e=>t.includes(e))}):e}function ca({open:e,onClose:t,items:n}){let{t:r}=q(),[i,a]=(0,M.useState)(``),[o,s]=(0,M.useState)(0),c=(0,M.useRef)(null),l=(0,M.useRef)(null);(0,M.useEffect)(()=>{e&&(a(``),s(0),setTimeout(()=>c.current?.focus(),0))},[e]);let u=(0,M.useMemo)(()=>sa(n,i),[i,n]);(0,M.useEffect)(()=>{o>=u.length&&s(Math.max(0,u.length-1))},[u.length,o]),(0,M.useEffect)(()=>{l.current?.scrollIntoView({block:`nearest`})},[e,i,o]);let d=e=>{e&&(t(),e.run())},f=e=>{Pi(e)||(e.key===`ArrowDown`?(e.preventDefault(),u.length&&s(e=>Math.min(u.length-1,e+1))):e.key===`ArrowUp`?(e.preventDefault(),s(e=>Math.max(0,e-1))):e.key===`Enter`&&(e.preventDefault(),d(u[o])))},p=[];for(let e of u){let t=p.find(t=>t.name===e.group);t||(t={name:e.group,items:[]},p.push(t)),t.items.push(e)}let m=-1;return(0,K.jsxs)(ia,{open:e,onClose:t,label:r(`help.palette`),width:`max-w-xl`,align:`top`,children:[(0,K.jsx)(`div`,{className:`border-b border-line px-4 py-3`,children:(0,K.jsx)(`input`,{ref:c,value:i,onChange:e=>a(e.target.value),onKeyDown:f,placeholder:r(`palette.placeholder`),role:`combobox`,"aria-expanded":e,"aria-autocomplete":`list`,"aria-controls":`command-palette-results`,"aria-activedescendant":u[o]?`palette-${u[o].id}`:void 0,className:`w-full bg-transparent font-mono text-sm text-ink outline-none placeholder:text-ink-faint`})}),(0,K.jsxs)(`div`,{id:`command-palette-results`,role:`listbox`,className:`max-h-[52vh] overflow-y-auto scroll-thin py-1.5`,children:[u.length===0&&(0,K.jsx)(`div`,{className:`px-4 py-6 text-center text-xs text-ink-faint`,children:r(`palette.noMatches`)}),p.map(e=>(0,K.jsxs)(`div`,{className:`mb-1`,children:[(0,K.jsx)(`div`,{className:`px-4 py-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:e.name}),e.items.map(e=>{m++;let t=m===o;return(0,K.jsxs)(`button`,{id:`palette-${e.id}`,ref:t?l:void 0,role:`option`,"aria-selected":t,onMouseEnter:()=>s(u.indexOf(e)),onClick:()=>d(e),className:`flex w-full items-center justify-between px-4 py-1.5 text-left text-sm transition-colors ${t?`bg-blue-deep/20 text-ink`:`text-ink-dim hover:bg-panel/60`}`,children:[(0,K.jsx)(`span`,{children:e.label}),e.hint&&(0,K.jsx)(`span`,{className:`font-mono text-[11px] text-ink-faint`,children:e.hint})]},e.id)})]},e.name))]}),(0,K.jsxs)(`div`,{className:`flex items-center gap-3 border-t border-line px-4 py-1.5 text-[10px] text-ink-faint`,children:[(0,K.jsx)(`span`,{children:r(`palette.navigate`)}),(0,K.jsx)(`span`,{children:r(`palette.run`)}),(0,K.jsx)(`span`,{children:r(`palette.close`)})]})]})}var la=[{keys:`⌘K / Ctrl+K`,desc:`help.palette`},{keys:`⌘B / Ctrl+B`,desc:`help.sessions`},{keys:`⌘J / Ctrl+J`,desc:`help.managerChat`},{keys:`⌘R / Ctrl+R`,desc:`help.rewrite`},{keys:`⌘T / Ctrl+T`,desc:`help.reasoning`},{keys:`⌘. / Ctrl+.`,desc:`help.kiosk`},{keys:`/`,desc:`help.composer`},{keys:`↵ Enter`,desc:`help.send`},{keys:`Shift+Enter`,desc:`help.newline`},{keys:`?`,desc:`help.thisHelp`},{keys:`Esc`,desc:`help.escape`}];function ua({open:e,onClose:t}){let{locale:n,t:r}=q(),i=zi(jt,n);return(0,K.jsxs)(ia,{open:e,onClose:t,label:r(`help.title`),width:`max-w-2xl`,children:[(0,K.jsx)(aa,{title:r(`help.title`)}),(0,K.jsxs)(`div`,{className:`max-h-[70dvh] overflow-y-auto scroll-thin`,children:[(0,K.jsx)(`div`,{className:`p-4`,children:la.map(e=>(0,K.jsxs)(`div`,{className:`flex items-center justify-between py-1.5`,children:[(0,K.jsx)(`span`,{className:`text-sm text-ink-dim`,children:r(e.desc)}),(0,K.jsx)(`kbd`,{className:`rounded border border-line bg-surface px-2 py-0.5 font-mono text-[11px] text-ink`,children:e.keys})]},e.keys))}),(0,K.jsxs)(`div`,{className:`border-t border-line px-4 pb-4 pt-3`,children:[(0,K.jsx)(`p`,{className:`mb-3 text-xs font-semibold uppercase tracking-wider text-ink-faint`,children:r(`help.commands`)}),i.map(e=>(0,K.jsxs)(`div`,{className:`mb-4`,children:[(0,K.jsx)(`p`,{className:`mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:e.group}),e.rows.map(e=>(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4 py-1`,children:[(0,K.jsx)(`code`,{className:`shrink-0 font-mono text-xs text-ink`,children:e.label}),(0,K.jsx)(`span`,{className:`text-right text-xs text-ink-dim`,children:e.desc})]},e.label))]},e.group))]})]})]})}var da=[{name:`ARGUS_SKILL_MAX_ACTIVE_DAEMONS`,group:`Limits`,label:`Active daemon limit`,description:`Maximum background sessions running on this host.`},{name:`ARGUS_SKILL_UNPRICED_COST_POLICY`,group:`Safety`,label:`Unpriced calls`,description:`Whether calls with unresolved pricing are blocked or allowed.`},{name:`ARGUS_SKILL_SAFE_MODE`,group:`Safety`,label:`Safe mode`,description:`Enable extra-conservative runtime guardrails.`},{name:`ARGUS_SKILL_ENABLE_TELEGRAM`,group:`Interface`,label:`Telegram`,description:`Enable the Telegram notification bridge.`},{name:`ARGUS_SKILL_SHOW_REASONING`,group:`Interface`,label:`Show reasoning`,description:`Stream role reasoning into the cockpit activity view.`}];function fa(e){let t=new Map(e.map(e=>[e.name,e]));return da.flatMap(e=>{let n=t.get(e.name);return n?[{...n,group:e.group,label:e.label,doc:e.description}]:[]})}function pa(e){let t=e.trim();if(!t)return``;if(t===`not applicable for this model`)return`n/a`;if(t.startsWith(`capability vault`))return`vault / default`;if(t.startsWith(`default:`))return`default`;let n=t.startsWith(`persisted:`),r=n?t.slice(10):t;return r.startsWith(`ARGUS_SKILL_`)?`${r.slice(12).toLowerCase().replaceAll(`_`,` `)}${n?` · persisted`:` · env`}`:t}function ma(e,t){let n=new URL(e),r=n.protocol===`https:`?`wss:`:`ws:`,i=encodeURIComponent(t);return{webApi:`${n.origin}/api`,eventStream:`${r}//${n.host}/api/projects/${i}/stream`,daemon:`local process · events.jsonl · no TCP port`}}var ha=[{alias:`global_daily_cap`,env:`ARGUS_SKILL_GLOBAL_DAILY_CAP_USD`,label:`settings.budget.global`,unit:`USD`},{alias:`codex_daily_requests`,env:`ARGUS_SKILL_CODEX_DAILY_CALL_CAP`,label:`settings.budget.codex`,unit:`calls`},{alias:`copilot_daily_requests`,env:`ARGUS_SKILL_COPILOT_DAILY_CALL_CAP`,label:`settings.budget.copilot`,unit:`calls`},{alias:`copilot_daily_premium`,env:`ARGUS_SKILL_COPILOT_DAILY_PREMIUM_CAP`,label:`settings.budget.premium`,unit:`requests`}];function ga({sid:e,open:t,onClose:n}){let{t:r}=q(),{data:i,isLoading:a}=gr(e,t);return(0,K.jsxs)(ia,{open:t,onClose:n,label:r(`doctor.title`),width:`max-w-3xl`,children:[(0,K.jsx)(aa,{title:r(`doctor.title`),sub:r(`doctor.subtitle`)}),(0,K.jsxs)(`div`,{className:`max-h-[64vh] overflow-y-auto scroll-thin p-4`,children:[a&&(0,K.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,K.jsx)(pi,{})}),i?.recommended&&(0,K.jsxs)(`div`,{className:`mb-4 rounded-lg border border-gold/40 bg-gold/5 p-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-gold`,children:r(`doctor.recommended`)}),(0,K.jsx)(`div`,{className:`mt-1 text-sm text-ink`,children:i.recommended.name}),(0,K.jsx)(`div`,{className:`mt-0.5 text-xs text-ink-dim`,children:i.recommended.detail}),i.recommended.fix&&(0,K.jsx)(`pre`,{className:`mt-2 whitespace-pre-wrap break-words rounded bg-bg p-2 font-mono text-xs text-blue-sky`,children:i.recommended.fix})]}),(0,K.jsx)(`div`,{className:`space-y-1.5`,children:(i?.checks??[]).map((e,t)=>(0,K.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-line/60 px-3 py-2`,children:[(0,K.jsx)(`span`,{className:e.ok?`text-ok`:`text-err`,children:e.ok?`✓`:`✗`}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`div`,{className:`text-xs font-medium text-ink`,children:e.name}),e.detail&&(0,K.jsx)(`div`,{className:`mt-0.5 text-[11px] text-ink-dim`,children:e.detail}),!e.ok&&e.fix&&(0,K.jsx)(`pre`,{className:`mt-1 whitespace-pre-wrap break-words rounded bg-bg p-1.5 font-mono text-xs text-ink-dim`,children:e.fix})]})]},t))}),i?.log_tail&&(0,K.jsxs)(`div`,{className:`mt-4`,children:[(0,K.jsx)(`div`,{className:`mb-1 text-[10px] font-semibold uppercase tracking-wide text-ink-faint`,children:`daemon.log`}),(0,K.jsx)(`pre`,{className:`max-h-48 overflow-x-hidden overflow-y-auto whitespace-pre-wrap break-words rounded-lg bg-bg p-3 font-mono text-xs leading-relaxed text-ink-dim scroll-thin`,children:i.log_tail})]})]})]})}function _a({sid:e,open:t,onClose:n}){let{t:r}=q(),{data:i,isLoading:a,refetch:s}=_r(e,t),[c,l]=(0,M.useState)(``),[u,d]=(0,M.useState)(``),[f,p]=(0,M.useState)(!1),[m,h]=(0,M.useState)(``),[g,_]=(0,M.useState)(!1),[v,b]=(0,M.useState)(``),[x,S]=(0,M.useState)({});(0,M.useEffect)(()=>{if(!t||!i)return;let e=new Map(i.operator_knobs.map(e=>[e.name,e.value]));S(Object.fromEntries(ha.map(t=>[t.alias,e.get(t.env)??``])))},[i,t]);let C=async()=>{if(!g){_(!0),b(``);try{let t=Object.fromEntries(ha.map(e=>{let t=String(x[e.alias]??``).trim();if(!t)throw Error(r(`settings.required`,{field:r(e.label)}));return[e.alias,t]}));await R.setBudgets(e,t),await s(),b(r(`settings.budgetSaved`))}catch(e){b(e instanceof Error?e.message:String(e))}finally{_(!1)}}},T=async t=>{if(t.preventDefault(),!(!c.trim()||!u.trim()||f)){p(!0),h(``);try{await R.setConfig(e,c.trim(),u.trim()),await s(),h(r(`settings.applied`))}catch(e){h(e instanceof Error?e.message:String(e))}finally{p(!1)}}},ee=fa(i?.operator_knobs??[]).reduce((e,t)=>((e[t.group]??=[]).push(t),e),{}),te=ma(window.location.origin,e);return(0,K.jsxs)(ia,{open:t,onClose:n,label:r(`common.settings`),width:`max-w-4xl`,children:[(0,K.jsx)(aa,{title:r(`common.settings`),sub:r(`settings.subtitle`)}),(0,K.jsxs)(`div`,{className:`max-h-[64vh] overflow-y-auto scroll-thin p-4`,children:[a&&(0,K.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,K.jsx)(pi,{})}),(0,K.jsxs)(`section`,{className:`mb-4 rounded-lg border border-line bg-surface p-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-ink-faint`,children:r(`settings.connection`)}),(0,K.jsxs)(`div`,{className:`mt-2 grid gap-2 text-[10px] sm:grid-cols-[100px_minmax(0,1fr)]`,children:[(0,K.jsx)(`span`,{className:`text-ink-faint`,children:r(`settings.webApi`)}),(0,K.jsx)(`code`,{className:`min-w-0 break-all text-ink-dim`,children:te.webApi}),(0,K.jsx)(`span`,{className:`text-ink-faint`,children:r(`settings.eventStream`)}),(0,K.jsx)(`code`,{className:`min-w-0 break-all text-ink-dim`,children:te.eventStream}),(0,K.jsx)(`span`,{className:`text-ink-faint`,children:r(`settings.taskDaemon`)}),(0,K.jsx)(`span`,{className:`text-ink-dim`,children:te.daemon})]})]}),(0,K.jsxs)(`section`,{className:`mb-4 rounded-lg border border-gold/40 bg-gold/5 p-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-gold`,children:r(`settings.budgetTitle`)}),(0,K.jsx)(`p`,{className:`mt-0.5 text-[10px] text-ink-faint`,children:r(`settings.budgetHint`)})]}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>void C(),disabled:g||a,title:r(`settings.saveBudgets`),"aria-label":r(`settings.saveBudgets`),className:`flex h-9 w-9 items-center justify-center rounded bg-gold text-xs font-semibold text-bg disabled:opacity-40`,children:g?`…`:(0,K.jsx)(o,{icon:w})})]}),(0,K.jsx)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-2 lg:grid-cols-3`,children:ha.map(e=>(0,K.jsxs)(`label`,{className:`rounded border border-line/70 bg-bg/60 p-2`,children:[(0,K.jsx)(`span`,{className:`block text-[10px] text-ink-faint`,children:r(e.label)}),(0,K.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,K.jsx)(`input`,{type:`number`,min:`0`,step:e.unit===`USD`?`0.1`:`1`,value:x[e.alias]??``,onChange:t=>S(n=>({...n,[e.alias]:t.target.value})),className:`h-8 min-w-0 flex-1 bg-transparent font-mono text-sm text-ink outline-none`}),(0,K.jsx)(`span`,{className:`text-[9px] text-ink-faint`,children:e.unit})]})]},e.alias))}),v?(0,K.jsx)(`div`,{className:`mt-2 text-xs text-ink-dim`,children:v}):null]}),(0,K.jsxs)(`form`,{onSubmit:e=>void T(e),className:`mb-4 rounded-lg border border-blue/30 bg-blue/5 p-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-blue`,children:r(`settings.advanced`)}),(0,K.jsxs)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]`,children:[(0,K.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),placeholder:r(`settings.namePlaceholder`),className:`h-9 rounded border border-line bg-bg px-2 font-mono text-xs text-ink outline-none focus:border-blue`}),(0,K.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),placeholder:r(`settings.valuePlaceholder`),className:`h-9 rounded border border-line bg-bg px-2 font-mono text-xs text-ink outline-none focus:border-blue`}),(0,K.jsx)(`button`,{disabled:f||!c.trim()||!u.trim(),title:r(`settings.applyAdvanced`),"aria-label":r(`settings.applyAdvanced`),className:`flex h-9 w-9 items-center justify-center rounded bg-blue-deep text-xs font-medium text-white disabled:opacity-40`,children:f?`…`:(0,K.jsx)(o,{icon:y})})]}),m?(0,K.jsx)(`div`,{className:`mt-2 text-xs text-ink-dim`,children:m}):null]}),(0,K.jsx)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:(i?.roles??[]).map(e=>(0,K.jsxs)(`div`,{className:`rounded-lg border border-line bg-surface p-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,K.jsx)(`div`,{className:`text-xs font-semibold capitalize text-ink`,children:e.role}),(0,K.jsx)(`span`,{className:`text-[10px] text-ink-faint`,children:e.backend_label})]}),(0,K.jsx)(`div`,{className:`mt-2 truncate font-mono text-[11px] text-ink-dim`,title:e.model,children:e.model}),(0,K.jsxs)(`div`,{className:`mt-1 flex items-center gap-2 text-[10px] text-ink-faint`,children:[(0,K.jsx)(`span`,{className:`truncate`,title:e.model_source,children:pa(e.model_source)}),e.reasoning_effort&&(0,K.jsx)(`span`,{className:`ml-auto shrink-0`,style:{color:ut(e.reasoning_effort)},children:e.reasoning_effort})]}),e.description?(0,K.jsx)(`p`,{className:`mt-2 text-[10px] leading-relaxed text-ink-faint`,children:e.description}):null]},e.role))}),Object.entries(ee).map(([e,t])=>(0,K.jsxs)(`section`,{className:`mt-5`,children:[(0,K.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint`,children:e}),(0,K.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-line`,children:t.map((e,t)=>(0,K.jsxs)(`div`,{className:`grid gap-1 px-3 py-2.5 sm:grid-cols-[minmax(0,1fr)_auto] ${t?`border-t border-line/60`:``}`,children:[(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`div`,{className:`truncate text-xs font-medium text-ink-dim`,title:e.name,children:e.label}),(0,K.jsx)(`div`,{className:`mt-0.5 text-[10px] leading-relaxed text-ink-faint`,children:e.doc})]}),(0,K.jsxs)(`div`,{className:`text-left sm:text-right`,children:[(0,K.jsx)(`div`,{className:`font-mono text-[11px] text-ink`,children:e.value}),(0,K.jsx)(`div`,{className:`mt-0.5 text-[9px] text-ink-faint`,children:pa(e.source)})]})]},e.name))})]},e)),(0,K.jsxs)(`p`,{className:`mt-4 text-[10px] text-ink-faint`,children:[r(`settings.footer`),` `,(0,K.jsx)(`code`,{children:`argus-skill --config-help`}),`.`]})]})]})}function Z({sid:e,open:t,onClose:n}){let{t:r}=q(),{data:i,isLoading:a,refetch:s}=vr(e,t),[c,l]=(0,M.useState)(``),[u,d]=(0,M.useState)(!1),[f,p]=(0,M.useState)(``);(0,M.useEffect)(()=>{t&&i!=null&&l(i)},[i,t]);let m=async()=>{if(!u){d(!0),p(``);try{await R.setIdentity(e,c),await s(),p(r(`identity.saved`))}catch(e){p(e instanceof Error?e.message:String(e))}finally{d(!1)}}};return(0,K.jsxs)(ia,{open:t,onClose:n,label:r(`identity.title`),width:`max-w-2xl`,children:[(0,K.jsx)(aa,{title:r(`identity.title`),sub:r(`identity.subtitle`)}),(0,K.jsxs)(`div`,{className:`max-h-[64vh] overflow-y-auto scroll-thin p-5`,children:[a&&(0,K.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,K.jsx)(pi,{})}),a?null:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`textarea`,{value:c,onChange:e=>l(e.target.value),rows:12,className:`w-full resize-y rounded-lg border border-line bg-bg p-3 font-sans text-sm leading-relaxed text-ink outline-none focus:border-blue`,placeholder:r(`identity.placeholder`)}),(0,K.jsxs)(`div`,{className:`mt-3 flex items-center justify-between`,children:[(0,K.jsx)(`span`,{className:`text-xs text-ink-faint`,children:f}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>void m(),disabled:u||c===(i??``),title:r(`identity.save`),"aria-label":r(`identity.save`),className:`flex h-9 w-9 items-center justify-center rounded bg-blue-deep text-xs font-medium text-white disabled:opacity-40`,children:u?`…`:(0,K.jsx)(o,{icon:w})})]})]})]})]})}function va({sid:e,open:t,onClose:n}){let{t:r}=q(),{data:i,isLoading:a}=yr(e,t),o=i??[];return(0,K.jsxs)(ia,{open:t,onClose:n,label:r(`transcript.title`),width:`max-w-2xl`,children:[(0,K.jsx)(aa,{title:r(`transcript.title`),sub:r(`transcript.subtitle`)}),(0,K.jsxs)(`div`,{className:`max-h-[64vh] overflow-y-auto scroll-thin p-4`,children:[a&&(0,K.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,K.jsx)(pi,{})}),!a&&o.length===0&&(0,K.jsx)(mi,{children:r(`transcript.empty`)}),o.map((e,t)=>{let n=e.role===`operator`;return(0,K.jsxs)(`div`,{className:`grid grid-cols-[72px_minmax(0,1fr)] border-b border-line/50 py-2.5 last:border-b-0`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`font-mono text-[10px] font-semibold uppercase tracking-wide ${n?`text-ink-faint`:`text-blue-sky`}`,children:n?r(`transcript.operator`):`argus`}),(0,K.jsx)(`div`,{className:`mt-0.5 text-[9px] text-ink-faint`,children:ei(e.ts)})]}),(0,K.jsx)(`div`,{className:`whitespace-pre-wrap text-sm leading-relaxed text-ink-dim`,children:e.text})]},t)})]})]})}function ya({questions:e,backlog:t,onAnswer:n}){let r=ht(e,t);if(!r.length)return null;let i=r[0];return(0,K.jsxs)(`div`,{className:`mb-2 flex min-h-11 items-center gap-3 rounded-md border border-gold/40 bg-gold/5 px-3 py-2`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`truncate text-xs font-medium text-gold`,children:i.title}),(0,K.jsx)(`div`,{className:`truncate text-xs text-ink-dim`,title:i.reason||i.question,children:i.reason||i.question})]}),r.length>1?(0,K.jsxs)(`span`,{className:`font-mono text-xs text-ink-faint`,children:[`+`,r.length-1]}):null,(0,K.jsx)(`button`,{onClick:n,className:`shrink-0 text-xs font-medium text-gold hover:text-gold-soft`,children:`Decide`})]})}function ba({reply:e,open:t,busy:n,onClose:r,onSubmit:i}){let{t:a}=q(),o=(0,M.useMemo)(()=>e?.options[0]?.id??`custom`,[e]),[s,c]=(0,M.useState)(o),[l,u]=(0,M.useState)(``),[d,f]=(0,M.useState)(``);if((0,M.useEffect)(()=>{t&&(c(o),u(``),f(``))},[o,t,e?.id]),!e)return null;let p=e.options.length===0,m=e.options.find(e=>e.id===s),h=p?!!l.trim():!!(m&&(!m.requires_note||l.trim())),g=()=>{if(!n){if(!h){f(a(`decision.noteRequired`));return}f(``),i(p?`custom`:s,l.trim())}};return(0,K.jsxs)(ia,{open:t,onClose:n?()=>void 0:r,label:a(`decision.operator`),width:`max-w-2xl`,children:[(0,K.jsx)(aa,{title:a(`decision.required`),sub:e.title}),(0,K.jsxs)(`div`,{className:`space-y-4 px-5 py-4`,children:[e.reason?(0,K.jsxs)(`section`,{className:`rounded-md border border-gold/30 bg-gold/5 p-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wider text-gold`,children:a(`decision.whyBlocked`)}),(0,K.jsx)(`p`,{className:`mt-1 whitespace-pre-wrap text-sm leading-relaxed text-ink`,children:e.reason})]}):null,e.evidence.length?(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`div`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:a(`decision.evidence`)}),(0,K.jsx)(`div`,{className:`space-y-2`,children:e.evidence.map((e,t)=>(0,K.jsxs)(`div`,{className:`rounded border border-line/70 bg-bg/40 p-2.5`,children:[(0,K.jsx)(`div`,{className:`text-xs font-medium text-ink`,children:e.label}),e.summary?(0,K.jsx)(`div`,{className:`mt-1 text-xs text-ink-dim`,children:e.summary}):null,e.path?(0,K.jsx)(`div`,{className:`mt-1 break-all font-mono text-[10px] text-blue-sky`,children:e.path}):null]},`${e.path}:${t}`))})]}):null,(0,K.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-relaxed text-ink`,children:e.question}),e.options.length?(0,K.jsx)(`div`,{className:`space-y-2`,children:e.options.map(e=>(0,K.jsxs)(`button`,{type:`button`,onClick:()=>{c(e.id),f(``)},disabled:n,className:`w-full rounded-md border p-3 text-left ${s===e.id?`border-blue bg-blue/5`:`border-line bg-bg/30`}`,children:[(0,K.jsx)(`div`,{className:`text-sm font-medium text-ink`,children:e.label}),(0,K.jsx)(`div`,{className:`mt-1 text-xs leading-relaxed text-ink-dim`,children:e.description})]},e.id))}):null,p||m?.requires_note||l?(0,K.jsx)(`textarea`,{"data-autofocus":!0,value:l,onChange:e=>{u(e.target.value),f(``)},onKeyDown:e=>{Pi(e)||e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())},rows:3,disabled:n,placeholder:a(`decision.notePlaceholder`),className:`w-full resize-y rounded-lg border border-line bg-bg px-3 py-2 text-sm leading-relaxed text-ink outline-none focus:border-blue disabled:opacity-60`}):null,d?(0,K.jsx)(`p`,{role:`alert`,className:`text-xs text-err`,children:d}):null,(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,K.jsx)(`span`,{className:`text-xs text-ink-faint`,children:a(`decision.resumeHint`)}),(0,K.jsxs)(`div`,{className:`flex gap-2`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:r,disabled:n,className:`rounded-md px-3 py-2 text-xs text-ink-dim hover:bg-bg disabled:opacity-50`,children:a(`decision.later`)}),(0,K.jsx)(`button`,{type:`button`,onClick:g,disabled:n,className:`rounded-md bg-blue-deep px-3 py-2 text-xs font-medium text-white hover:bg-blue-deep/85 disabled:opacity-50`,children:a(n?`decision.applying`:p||s===`custom`?`decision.sendAnswer`:s===`stop`?`decision.stopCampaign`:`decision.useOption`)})]})]})]})]})}function xa({alert:e}){if(!e)return null;let t=e.tone===`block`,n=e.kind===`budget`;return(0,K.jsxs)(`div`,{className:`mx-3 mt-3 flex items-center gap-2.5 rounded-lg border px-3.5 py-2 text-[13px] ${t?`border-err/50 bg-err/10 text-err`:`border-warn/50 bg-warn/10 text-warn`}`,role:t?`alert`:`status`,children:[(0,K.jsx)(`span`,{className:`shrink-0 font-mono text-xs font-bold leading-none`,children:n?`$`:t?`!`:`i`}),(0,K.jsx)(`span`,{className:`shrink-0 text-[10px] font-semibold uppercase tracking-wide`,children:n?`budget alarm`:t?`action required`:`notice`}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.text,children:e.text})]})}function Sa({html:e,title:t,className:n=``}){return(0,K.jsx)(`iframe`,{title:t,srcDoc:e,sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,className:`min-h-0 w-full flex-1 border-0 bg-white ${n}`})}function Ca(e){let t=e.trim();if(!t)return``;try{return JSON.stringify(JSON.parse(t),null,2)}catch{try{return t.split(/\r?\n/).filter(Boolean).map(e=>JSON.parse(e)).map(e=>JSON.stringify(e,null,2)).join(` +`)}catch{return e}}}function wa(e,t){let n=[],r=[],i=``,a=!1;for(let o=0;oe.some(e=>e.length>0))}function Ta({value:e}){return(0,K.jsx)(`pre`,{className:`min-h-0 flex-1 overflow-auto whitespace-pre-wrap break-words p-5 font-mono text-xs leading-6 text-ink-dim scroll-thin`,children:Ca(e)||`(empty data)`})}function Ea({value:e,delimiter:t}){let n=wa(e,t).slice(0,200),r=n[0]??[];return(0,K.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto p-4 scroll-thin`,children:n.length?(0,K.jsxs)(`table`,{className:`w-full border-collapse text-left text-xs`,children:[(0,K.jsx)(`thead`,{children:(0,K.jsx)(`tr`,{children:r.slice(0,40).map((e,t)=>(0,K.jsx)(`th`,{className:`border border-line/60 bg-surface px-2 py-1.5 font-semibold text-ink`,children:e},t))})}),(0,K.jsx)(`tbody`,{children:n.slice(1).map((e,t)=>(0,K.jsx)(`tr`,{children:r.slice(0,40).map((t,n)=>(0,K.jsx)(`td`,{className:`border border-line/50 px-2 py-1.5 align-top text-ink-dim`,children:e[n]??``},n))},t))})]}):(0,K.jsx)(`div`,{className:`text-sm text-ink-faint`,children:`(empty table)`})})}function Da({sid:e,path:t,onClose:n}){let{t:r}=q(),i=xr(e,t),a=i.data,[o,s]=(0,M.useState)(null),[c,l]=(0,M.useState)(``),[u,d]=(0,M.useState)(!1);(0,M.useEffect)(()=>{if(s(null),l(``),!e||!t||!a||![`image`,`pdf`,`audio`,`video`].includes(a.kind))return;let n=!0,r=``,i=new AbortController;return R.artifactBlob(e,t,!1,i.signal).then(e=>{n&&(r=URL.createObjectURL(e),s(r))},e=>n&&l(e.message)),()=>{n=!1,i.abort(),r&&URL.revokeObjectURL(r)}},[e,t,a?.kind]);let f=async()=>{if(!(!e||!t||!a)){d(!0),l(``);try{let n=await R.artifactBlob(e,t,!0),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=a.name,document.body.appendChild(i),i.click(),i.remove(),window.setTimeout(()=>URL.revokeObjectURL(r),0)}catch(e){l(e.message)}finally{d(!1)}}};return(0,K.jsxs)(ia,{open:!!t,onClose:n,label:r(`artifact.preview`),width:`max-w-5xl`,children:[(0,K.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-line px-4 py-3 sm:px-5`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`h2`,{className:`truncate font-mono text-sm font-semibold text-ink`,title:a?.path??t??``,children:a?.name??t??r(`artifact.title`)}),(0,K.jsx)(`p`,{className:`mt-0.5 truncate text-[11px] text-ink-faint`,children:a?`${a.kind} · ${ni(a.size)} · ${a.mime}`:r(`artifact.approvedEvidence`)})]}),(0,K.jsx)(`button`,{type:`button`,disabled:!a||u,onClick:()=>void f(),className:`rounded-md border border-blue-deep/60 bg-blue-deep/10 px-3 py-1.5 text-xs text-blue-sky transition-colors hover:bg-blue-deep/20 disabled:cursor-wait disabled:opacity-50`,children:r(u?`artifact.downloading`:`artifact.download`)}),a?.kind===`pdf`&&o?(0,K.jsx)(`a`,{href:o,target:`_blank`,rel:`noreferrer`,className:`rounded-md border border-line px-3 py-1.5 text-xs text-ink-dim transition-colors hover:border-ink-faint hover:bg-surface hover:text-ink`,children:r(`artifact.open`)}):null,(0,K.jsx)(`button`,{type:`button`,"aria-label":r(`artifact.close`),onClick:n,className:`rounded-md px-2 py-1 text-lg leading-none text-ink-faint hover:bg-surface hover:text-ink`,children:`×`})]}),(0,K.jsxs)(`div`,{className:`flex min-h-64 max-h-[72vh] flex-col overflow-x-hidden overflow-y-auto bg-bg/40 p-3 scroll-thin sm:p-4`,children:[i.isLoading?(0,K.jsx)(`div`,{className:`m-auto`,children:(0,K.jsx)(pi,{})}):null,i.isError?(0,K.jsxs)(`div`,{className:`m-auto text-sm text-err`,children:[r(`artifact.unavailable`),` · `,i.error.message]}):null,a?.why?(0,K.jsxs)(`div`,{className:`mb-3 rounded-md border border-line bg-surface px-3 py-2 text-xs text-ink-dim`,children:[(0,K.jsx)(`span`,{className:`mr-1 text-ink-faint`,children:`Reviewer:`}),a.why]}):null,a?.kind===`text`?(0,K.jsxs)(`pre`,{className:`min-h-52 overflow-x-hidden overflow-y-auto whitespace-pre-wrap break-words rounded-lg border border-line bg-bg p-4 font-mono text-xs leading-relaxed text-ink-dim scroll-thin`,children:[a.preview||r(`artifact.empty`),a.truncated?`\n\n… ${r(`artifact.truncated`)}`:``]}):null,a?.kind===`markdown`?(0,K.jsx)(`div`,{className:`min-h-52 overflow-auto rounded-lg border border-line bg-bg p-4 text-sm text-ink-dim scroll-thin`,children:(0,K.jsx)(yi,{children:a.preview||r(`artifact.empty`)})}):null,a?.kind===`json`?(0,K.jsx)(Ta,{value:a.preview||``}):null,a?.kind===`table`?(0,K.jsx)(Ea,{value:a.preview||``,delimiter:a.name.endsWith(`.tsv`)?` `:`,`}):null,a?.kind===`html`&&!a.truncated?(0,K.jsx)(`div`,{className:`flex min-h-[60vh] overflow-hidden rounded-lg border border-line`,children:(0,K.jsx)(Sa,{html:a.preview||``,title:`HTML preview: ${a.name}`})}):null,a?.kind===`html`&&a.truncated?(0,K.jsx)(`div`,{className:`m-auto text-sm text-warn`,children:r(`artifact.htmlTooLarge`)}):null,a?.kind===`image`&&o?(0,K.jsx)(`div`,{className:`flex min-h-64 flex-1 items-center justify-center rounded border border-line bg-bg/50`,children:(0,K.jsx)(`img`,{src:o,alt:a.why||a.name,className:`max-h-[62vh] max-w-full object-contain`})}):null,a?.kind===`pdf`&&o?(0,K.jsx)(`object`,{data:`${o}#toolbar=1&navpanes=0&view=FitH`,type:`application/pdf`,"aria-label":`PDF preview: ${a.name}`,className:`h-[62vh] w-full rounded-lg border border-line bg-white`,children:(0,K.jsxs)(`div`,{className:`flex h-full min-h-64 flex-col items-center justify-center gap-2 text-center text-sm text-ink-dim`,children:[(0,K.jsx)(`span`,{children:r(`artifact.pdfDisabled`)}),(0,K.jsx)(`a`,{href:o,target:`_blank`,rel:`noreferrer`,className:`text-blue underline underline-offset-2`,children:r(`artifact.openPdf`)})]})}):null,a?.kind===`audio`&&o?(0,K.jsx)(`div`,{className:`m-auto w-full max-w-xl`,children:(0,K.jsx)(`audio`,{controls:!0,preload:`metadata`,src:o,className:`w-full`})}):null,a?.kind===`video`&&o?(0,K.jsx)(`div`,{className:`flex min-h-64 flex-1 items-center justify-center rounded border border-line bg-black`,children:(0,K.jsx)(`video`,{controls:!0,playsInline:!0,preload:`metadata`,src:o,className:`max-h-[62vh] max-w-full`})}):null,a&&[`image`,`pdf`,`audio`,`video`].includes(a.kind)&&!o&&!c?(0,K.jsx)(`div`,{className:`m-auto`,children:(0,K.jsx)(pi,{})}):null,a?.kind===`binary`?(0,K.jsxs)(`div`,{className:`m-auto max-w-md text-center`,children:[(0,K.jsx)(`div`,{className:`text-3xl text-ink-faint`,children:`◇`}),(0,K.jsx)(`p`,{className:`mt-2 text-sm text-ink-dim`,children:r(`artifact.noPreview`)}),(0,K.jsx)(`p`,{className:`mt-1 text-xs text-ink-faint`,children:r(`artifact.downloadHint`)})]}):null,c?(0,K.jsx)(`div`,{className:`mt-3 text-center text-xs text-err`,children:c}):null]})]})}var Oa=`__argus_live_progress__`;function ka(e){return(e??[]).filter(e=>e.source===`manager_live`)}function Aa(e){return ka(e).filter(e=>e.exists)[0]??null}function ja(e){let t=e??[],n={markdown:0,pdf:1,html:2,text:3,table:4,json:5,image:6,video:7,audio:8,binary:9},r=t.filter(e=>e.exists&&e.source===`manager_live`),i=t.filter(e=>e.exists&&e.source!==`manager_live`);return i.length?[...r,...[...i].sort((e,t)=>(n[e.kind]??99)-(n[t.kind]??99))]:r}function Ma(e){return ja(e).find(e=>e.exists)??null}function Na(e){let t=e.path.split(`/`);return t[t.length-1]||e.path}function Pa(e,t){let n=Aa(t);return n?n.path:e?Oa:Ma(t)?.path??``}var Fa={manager:`Manager`,planner:`Planner`,engineer:`Engineer`,reviewer:`Reviewer`};function Ia(e){let t=String(e.agent_layer??e.actor??``);if(t===`main`)return`engineer`;if(t)return t;let n=String(e.type??``);return n.startsWith(`round.review`)||n.startsWith(`reviewer`)?`reviewer`:n.startsWith(`life.planner`)?`planner`:n.startsWith(`life.manager`)||n.startsWith(`manager`)?`manager`:n.startsWith(`engineer`)||n.startsWith(`round.`)?`engineer`:``}function La(e,t=[]){let n=String(e?.active_role??``);if(!n)return null;let r=e?.roles.find(e=>e.role===n),i=``;for(let e=t.length-1;e>=0;--e){let r=t[e];if(Ia(r)!==n||String(r.kind??``)===`reasoning`)continue;let a=String(r.text??r.action_summary??``).trim();if(!(!a||a.startsWith(`{`))){i=a.split(` +`)[0].slice(0,240);break}}return{role:n,roleLabel:Fa[n]??n,label:r?.label||`Working`,detail:i}}function Ra(e){let t=e.dag.find(e=>[`running`,`in_progress`,`claimed`].includes(e.status)),n=e.dag.filter(e=>[`done`,`completed`].includes(e.status)).length,r=e.dag.length,i=`Awaiting Planner`;return e.mission.status===`idle`?i=`Ready for a new mission`:e.mission.status===`complete`&&(i=`Mission complete`),{title:Dn(t?.title||e.mission.title||i),dagProgress:r>0?`${n} / ${r} complete`:`Not planned`}}function za({view:e,liveStatus:t,artifacts:n=[],onOpenArtifact:r}){let{t:i}=q(),a=Ra(e),o=[...n].filter(e=>e.exists&&e.source!==`manager_live`).sort((e,t)=>Number(t.mtime??0)-Number(e.mtime??0)).slice(0,4),s=e.timeline.slice(-6).reverse(),c=e=>e===`done`?`text-ok`:[`running`,`in_progress`,`claimed`].includes(e)?`text-blue-sky`:[`failed`,`blocked`,`rejected`].includes(e)?`text-err`:`text-ink-faint`;return(0,K.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5 text-sm text-ink-dim scroll-thin`,children:[(0,K.jsxs)(`section`,{className:`rounded-lg border border-blue-deep/30 bg-blue-deep/10 p-4`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.14em] text-blue-sky`,children:i(`research.currentWork`)}),(0,K.jsx)(`h3`,{className:`mt-2 text-base font-semibold leading-snug text-ink`,children:a.title}),t?.detail?(0,K.jsx)(`p`,{className:`mt-2 leading-6 text-ink-dim`,children:t.detail}):null,(0,K.jsxs)(`div`,{className:`mt-3 grid grid-cols-2 gap-3 text-xs`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`span`,{className:`text-ink-faint`,children:i(`mission.stage`)}),(0,K.jsx)(`div`,{className:`mt-1 font-medium capitalize text-blue-sky`,children:e.stage.label||e.stage.id||`—`})]}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`span`,{className:`text-ink-faint`,children:i(`mission.campaign`)}),(0,K.jsx)(`div`,{className:`mt-1 font-mono text-ink`,children:On(e.mission.campaign_elapsed_seconds)})]}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`span`,{className:`text-ink-faint`,children:i(`mission.round`)}),(0,K.jsxs)(`div`,{className:`mt-1 font-mono text-ink`,children:[e.round.current||`—`,e.round.max?` / ${e.round.max}`:``]})]}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`span`,{className:`text-ink-faint`,children:i(`research.dagProgress`)}),(0,K.jsx)(`div`,{className:`mt-1 font-mono text-ink`,children:a.dagProgress})]})]})]}),(0,K.jsxs)(`section`,{className:`mt-5`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint`,children:i(`mission.researchDag`)}),(0,K.jsx)(`div`,{className:`mt-2 space-y-2`,children:e.dag.map(e=>(0,K.jsx)(`div`,{className:`rounded-md border border-line/60 bg-panel px-3 py-2.5`,children:(0,K.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,K.jsx)(`span`,{className:`mt-0.5 shrink-0 font-mono text-xs ${c(e.status)}`,children:e.status===`done`?`✓`:[`running`,`in_progress`,`claimed`].includes(e.status)?`●`:`○`}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`text-xs font-medium leading-5 text-ink`,children:e.title}),(0,K.jsx)(`div`,{className:`mt-0.5 font-mono text-[10px] ${c(e.status)}`,children:e.status})]})]})},e.id))})]}),o.length?(0,K.jsxs)(`section`,{className:`mt-5`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint`,children:i(`research.verifiedOutputs`)}),(0,K.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:o.map(e=>(0,K.jsxs)(`button`,{type:`button`,onClick:()=>r(e.path),className:`rounded border border-line/70 bg-panel px-2.5 py-1.5 font-mono text-[10px] text-blue-sky hover:border-blue/60`,children:[Na(e),` ↗`]},e.path))})]}):null,s.length?(0,K.jsxs)(`section`,{className:`mt-5`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint`,children:i(`research.recentMilestones`)}),(0,K.jsx)(`div`,{className:`mt-2 space-y-2 border-l border-line/70 pl-3`,children:s.map(e=>(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-xs font-medium text-ink`,children:e.title}),e.detail?(0,K.jsx)(`div`,{className:`mt-0.5 line-clamp-2 text-xs leading-5 text-ink-faint`,children:e.detail}):null]},e.id))})]}):null]})}function Ba({sid:e,artifacts:t,error:n=!1,onExpand:r,className:i=``,embedded:a=!1,onCollapse:s,missionView:c,activityEvents:l=[]}){let{t:u}=q(),d=(0,M.useMemo)(()=>ja(t),[t]),f=(0,M.useMemo)(()=>Ma(t),[t]),[p,m]=(0,M.useState)(null);(0,M.useEffect)(()=>m(null),[e]);let h=p??Pa(c,t),g=h===Oa,_=g?null:d.find(e=>e.path===h)??f,y=xr(e,_?.exists?_.path:null,_?.mtime??null),b=y.data,[x,S]=(0,M.useState)(null),[C,w]=(0,M.useState)(``),[T,ee]=(0,M.useState)(!1),te=(0,M.useRef)(null),[E,ne]=(0,M.useState)(``),re=(0,M.useMemo)(()=>La(c,l),[l,c]);(0,M.useEffect)(()=>{if(S(null),w(``),!e||!_||!b||![`image`,`pdf`,`audio`,`video`].includes(b.kind))return;let t=!0,n=``,r=new AbortController;return R.artifactBlob(e,_.path,!1,r.signal).then(e=>{t&&(n=URL.createObjectURL(e),S(n))},e=>t&&w(e.message)),()=>{t=!1,r.abort(),n&&URL.revokeObjectURL(n)}},[e,_?.path,b?.kind,b?.mtime]);let ie=g?u(`research.liveProgress`):d[0]?.group_title||u(`research.artifact`),ae=async()=>{if(!(!e||!_)){ee(!0),ne(``);try{let t=await R.artifactBlob(e,_.path,!0),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=_.name,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),0)}catch(e){ne(e.message)}finally{ee(!1)}}};return Qr(te,(e,t)=>{te.current&&(t||e.fromTo(te.current,{autoAlpha:0,y:6,scale:.995},{autoAlpha:1,y:0,scale:1,duration:.3,ease:`power2.out`,clearProps:`transform,opacity,visibility`}))},[g,_?.path,b?.kind]),(0,K.jsxs)(`section`,{className:`glass-panel glass-panel--side flex min-h-0 flex-col overflow-hidden ${a?``:`rounded-lg border`} ${i}`,"aria-label":u(`research.canvas`),children:[(0,K.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-3 border-b border-line/50 bg-panel px-4`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 shrink-0 items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`h-2 w-2 animate-pulse rounded-full bg-blue`}),(0,K.jsx)(`h2`,{className:`max-w-24 truncate text-sm font-semibold text-ink sm:max-w-48`,children:ie})]}),c||d.length>0?(0,K.jsxs)(`label`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`span`,{className:`sr-only`,children:u(`research.previewArtifact`)}),(0,K.jsxs)(`select`,{value:g?Oa:_?.path??``,onChange:e=>m(e.target.value),className:`h-8 w-full min-w-0 max-w-64 truncate rounded-md border border-line/50 bg-bg px-2 font-mono text-xs text-ink-dim outline-none focus:border-blue/60`,children:[c?(0,K.jsx)(`option`,{value:Oa,children:u(`research.liveProgress`)}):null,d.map(e=>(0,K.jsxs)(`option`,{value:e.path,disabled:!e.exists,children:[e.source===`manager_live`?`Checkpoint · `:``,Na(e),e.exists?``:` · pending`]},e.path))]})]}):(0,K.jsx)(`div`,{className:`flex-1`}),(0,K.jsx)(`div`,{className:`shrink-0`,children:_?(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>void ae(),disabled:T||!_.exists,title:u(`artifact.download`),"aria-label":u(`artifact.download`),className:`flex h-7 w-7 items-center justify-center rounded-md text-ink-faint hover:bg-surface hover:text-ink disabled:opacity-40`,children:(0,K.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,className:`h-4 w-4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.25`,children:(0,K.jsx)(`path`,{d:`M8 2.25v7.5M5.25 7.5 8 10.25 10.75 7.5M3 13.25h10`})})}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>r(_.path),title:u(`research.openLarge`),"aria-label":u(`research.openLarge`),className:`flex h-7 w-7 items-center justify-center rounded-md text-ink-faint hover:bg-surface hover:text-ink`,children:(0,K.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,className:`h-4 w-4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.25`,children:(0,K.jsx)(`path`,{d:`M6 3H3v3M10 3h3v3M6 13H3v-3M10 13h3v-3`})})})]}):null}),s?(0,K.jsx)(`button`,{type:`button`,onClick:s,"aria-label":u(`research.collapse`),title:u(`research.collapse`),className:`hidden h-8 w-8 shrink-0 items-center justify-center rounded-md border border-line/50 bg-bg/40 text-ink-faint hover:border-blue/50 hover:text-ink lg:flex`,children:(0,K.jsx)(o,{icon:v,className:`h-3.5 w-3.5`})}):null]}),re?(0,K.jsxs)(`div`,{className:`shrink-0 border-b border-line/50 bg-blue-deep/10 px-4 py-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[(0,K.jsx)(`span`,{className:`h-2 w-2 animate-pulse rounded-full bg-blue`}),(0,K.jsx)(`span`,{className:`font-semibold text-ink`,children:re.roleLabel}),(0,K.jsx)(`span`,{className:`text-blue-sky`,children:u(`mission.active`)}),(0,K.jsxs)(`span`,{className:`truncate text-ink-faint`,children:[`· `,re.label]})]}),re.detail?(0,K.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-ink-dim`,children:re.detail}):null]}):null,(0,K.jsxs)(`div`,{ref:te,className:`relative flex min-h-0 flex-1 flex-col bg-bg`,children:[g&&c?(0,K.jsx)(za,{view:c,liveStatus:re,artifacts:t,onOpenArtifact:r}):null,!g&&n?(0,K.jsx)(`div`,{className:`m-auto max-w-sm px-6 text-center text-sm text-warn`,children:u(`research.unavailable`)}):null,!g&&!n&&d.length===0?(0,K.jsxs)(`div`,{className:`m-auto max-w-sm px-8 text-center`,children:[(0,K.jsx)(`div`,{className:`text-3xl text-ink-faint`,children:`◇`}),(0,K.jsx)(`h3`,{className:`mt-3 text-xs text-ink-faint`,children:u(`research.noPreview`)})]}):null,!g&&!n&&d.length>0&&!_?(0,K.jsxs)(`div`,{className:`m-auto max-w-sm px-8 text-center`,children:[(0,K.jsx)(pi,{}),(0,K.jsx)(`p`,{className:`mt-3 text-xs text-ink-faint`,children:u(`research.waiting`)})]}):null,_&&!_.exists?(0,K.jsxs)(`div`,{className:`m-auto max-w-sm px-8 text-center`,children:[(0,K.jsx)(pi,{}),(0,K.jsx)(`p`,{className:`mt-3 text-xs text-ink-faint`,children:u(`research.updating`)})]}):null,_?.exists&&y.isLoading?(0,K.jsx)(`div`,{className:`m-auto`,children:(0,K.jsx)(pi,{})}):null,_?.exists&&y.isError?(0,K.jsxs)(`div`,{className:`m-auto px-6 text-center text-sm text-err`,children:[u(`artifact.unavailable`),` · `,y.error.message]}):null,b?.kind===`text`?(0,K.jsxs)(`pre`,{className:`min-h-0 flex-1 overflow-x-hidden overflow-y-auto whitespace-pre-wrap break-words p-5 font-mono text-xs leading-6 text-ink-dim scroll-thin`,children:[b.preview||`(empty file)`,b.truncated?` + +… live preview truncated · expand to inspect the complete file`:``]}):null,b?.kind===`markdown`?(0,K.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto p-5 text-sm text-ink-dim scroll-thin`,children:(0,K.jsx)(yi,{children:b.preview||`(empty file)`})}):null,b?.kind===`json`?(0,K.jsx)(Ta,{value:b.preview||``}):null,b?.kind===`table`?(0,K.jsx)(Ea,{value:b.preview||``,delimiter:b.name.endsWith(`.tsv`)?` `:`,`}):null,b?.kind===`html`&&!b.truncated?(0,K.jsx)(Sa,{html:b.preview||``,title:`Live HTML preview: ${b.name}`}):null,b?.kind===`html`&&b.truncated?(0,K.jsx)(`div`,{className:`m-auto max-w-sm px-8 text-center text-sm text-warn`,children:u(`artifact.htmlTooLarge`)}):null,b?.kind===`image`&&x?(0,K.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center overflow-hidden p-4`,children:(0,K.jsx)(`img`,{src:x,alt:b.why||b.name,className:`max-h-full max-w-full object-contain`})}):null,b?.kind===`pdf`&&x?(0,K.jsx)(`embed`,{src:`${x}#toolbar=0&navpanes=0&scrollbar=0&view=FitH`,type:`application/pdf`,"aria-label":`Live PDF preview: ${b.name}`,className:`min-h-0 flex-1 bg-white`}):null,b?.kind===`audio`&&x?(0,K.jsx)(`div`,{className:`m-auto w-full max-w-xl px-6`,children:(0,K.jsx)(`audio`,{controls:!0,preload:`metadata`,src:x,className:`w-full`})}):null,b?.kind===`video`&&x?(0,K.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center overflow-hidden bg-black p-2`,children:(0,K.jsx)(`video`,{controls:!0,playsInline:!0,preload:`metadata`,src:x,className:`max-h-full max-w-full`})}):null,b?.kind===`binary`?(0,K.jsx)(`div`,{className:`m-auto max-w-sm px-8 text-center text-sm text-ink-dim`,children:u(`research.fileUnavailable`)}):null,b&&[`image`,`pdf`,`audio`,`video`].includes(b.kind)&&!x&&!C?(0,K.jsx)(`div`,{className:`m-auto`,children:(0,K.jsx)(pi,{})}):null,C?(0,K.jsx)(`div`,{className:`m-auto px-6 text-center text-sm text-err`,children:C}):null]},g?Oa:_?.path??`empty`),g?(0,K.jsxs)(`footer`,{className:`flex h-9 items-center gap-2 border-t border-line px-4 font-mono text-xs text-ink-faint`,children:[(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:u(`research.eventSourced`)}),(0,K.jsx)(`span`,{className:`shrink-0 text-ok`,children:u(`common.live`)})]}):b?(0,K.jsxs)(`footer`,{className:`flex h-9 items-center gap-2 border-t border-line px-4 font-mono text-xs text-ink-faint`,children:[(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:b.path}),E?(0,K.jsx)(`span`,{className:`ml-auto truncate text-err`,title:E,children:u(`research.downloadFailed`)}):null,(0,K.jsxs)(`span`,{className:`shrink-0`,children:[b.kind,` · `,ni(b.size)]}),(0,K.jsx)(`span`,{className:`shrink-0 text-ok`,children:u(`common.live`)})]}):null]})}function Va({notice:e,onClose:t}){if((0,M.useEffect)(()=>{if(!e)return;let n=window.setTimeout(t,e.tone===`error`?8e3:4e3);return()=>window.clearTimeout(n)},[e,t]),!e)return null;let n=e.tone===`error`?`border-err/60 bg-err/10 text-err`:e.tone===`success`?`border-ok/60 bg-ok/10 text-ok`:`border-blue-deep/60 bg-panel text-blue-sky`;return(0,K.jsxs)(`div`,{role:e.tone===`error`?`alert`:`status`,"aria-live":e.tone===`error`?`assertive`:`polite`,className:`fixed bottom-4 left-4 right-4 z-[70] flex items-start gap-2 rounded-md border px-3 py-2.5 shadow-glow sm:left-auto sm:max-w-md ${n}`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`mt-px shrink-0`,children:e.tone===`error`?`!`:e.tone===`success`?`✓`:`i`}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 break-words text-xs leading-relaxed text-ink-dim`,children:e.message}),(0,K.jsx)(`button`,{type:`button`,"aria-label":`dismiss notification`,onClick:t,className:`shrink-0 rounded px-1 text-base leading-none opacity-70 hover:bg-white/5 hover:opacity-100`,children:`×`})]})}function Ha({open:e,busy:t,onClose:n,onCreate:r}){let{t:i}=q(),[a,o]=(0,M.useState)(``),[s,c]=(0,M.useState)(``),[l,u]=(0,M.useState)(``),d=(0,M.useRef)(null);(0,M.useEffect)(()=>{e&&(o(``),c(``),u(``))},[e]);let f=()=>{t||n()},p=async e=>{e.preventDefault(),!t&&await r(a.trim(),s.trim(),l.trim())&&n()},m=e=>{Pi(e)||e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),d.current?.requestSubmit())},h=!!s.trim();return(0,K.jsx)(ia,{open:e,onClose:f,label:i(`new.createDaemon`),width:`max-w-xl`,children:(0,K.jsxs)(`form`,{ref:d,onSubmit:e=>void p(e),children:[(0,K.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-line px-5 py-4`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`h2`,{className:`text-base font-semibold text-ink`,children:i(`landing.new`)}),(0,K.jsx)(`p`,{className:`mt-0.5 text-xs text-ink-faint`,children:i(`new.subtitle`)})]}),(0,K.jsx)(`button`,{type:`button`,"aria-label":i(`new.close`),onClick:f,disabled:t,className:`rounded px-2 py-1 text-lg leading-none text-ink-faint hover:bg-surface hover:text-ink disabled:opacity-40`,children:`×`})]}),(0,K.jsxs)(`div`,{className:`space-y-4 p-5`,children:[(0,K.jsxs)(`label`,{className:`block`,children:[(0,K.jsxs)(`span`,{className:`mb-1 block text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:[i(`new.name`),` `,(0,K.jsx)(`span`,{className:`normal-case tracking-normal`,children:i(`new.optional`)})]}),(0,K.jsx)(`input`,{"data-autofocus":!0,value:a,onChange:e=>o(e.target.value),maxLength:80,disabled:t,placeholder:i(`new.namePlaceholder`),className:`h-10 w-full rounded border border-line bg-bg/50 px-3 text-sm text-ink outline-none placeholder:text-ink-faint focus:border-blue-deep disabled:opacity-50`})]}),(0,K.jsxs)(`label`,{className:`block`,children:[(0,K.jsxs)(`span`,{className:`mb-1 block text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:[i(`new.workdir`),` `,(0,K.jsx)(`span`,{className:`normal-case tracking-normal`,children:i(`new.optional`)})]}),(0,K.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),disabled:t,placeholder:i(`newDaemon.workdirPlaceholder`),className:`h-10 w-full rounded border border-line bg-bg/50 px-3 font-mono text-xs text-ink outline-none placeholder:text-ink-faint focus:border-blue-deep disabled:opacity-50`}),(0,K.jsx)(`span`,{className:`mt-1 block text-[10px] leading-relaxed text-ink-faint`,children:i(`new.workdirHint`)})]}),(0,K.jsxs)(`label`,{className:`block`,children:[(0,K.jsxs)(`span`,{className:`mb-1 block text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:[i(`new.objective`),` `,(0,K.jsx)(`span`,{className:`normal-case tracking-normal`,children:i(`new.optional`)})]}),(0,K.jsx)(`textarea`,{value:s,onChange:e=>c(e.target.value),onKeyDown:m,maxLength:4e3,disabled:t,rows:4,placeholder:i(`new.objectivePlaceholder`),className:`w-full resize-y rounded border border-line bg-bg/50 px-3 py-2.5 text-sm leading-relaxed text-ink outline-none placeholder:text-ink-faint focus:border-blue-deep disabled:opacity-50`})]}),(0,K.jsxs)(`div`,{className:`rounded border p-3 ${h?`border-gold/40 bg-gold/5`:`border-line bg-bg/30`}`,children:[(0,K.jsx)(`div`,{className:`text-xs font-medium ${h?`text-gold`:`text-blue-sky`}`,children:i(h?`new.startsAfterCreate`:`new.idleUntilMessage`)}),(0,K.jsx)(`p`,{className:`mt-1 text-[11px] leading-relaxed text-ink-faint`,children:i(h?`new.startsHint`:`new.idleHint`)})]})]}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-line px-5 py-3`,children:[(0,K.jsx)(`span`,{className:`text-[10px] text-ink-faint`,children:i(`new.shortcut`)}),(0,K.jsxs)(`div`,{className:`flex gap-2`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:f,disabled:t,className:`rounded border border-line px-3 py-1.5 text-xs text-ink-dim hover:bg-surface disabled:opacity-40`,children:i(`common.cancel`)}),(0,K.jsx)(`button`,{type:`submit`,disabled:t,className:`rounded border border-blue-deep bg-blue-deep px-3 py-1.5 text-xs font-medium text-ink hover:bg-blue-deep/80 disabled:cursor-wait disabled:opacity-50`,children:i(t?`new.creating`:h?`new.createAndStart`:`sidebar.create`)})]})]})]})})}function Ua({open:e,sid:t,name:n,alive:r,controlAvailable:i=!0,busy:a,onClose:o,onRename:s,onStart:c,onPause:l,onDelete:u}){let{t:d}=q(),[f,p]=(0,M.useState)(n),[m,h]=(0,M.useState)(!1);(0,M.useEffect)(()=>{e&&(p(n),h(!1))},[e,n,t]);let g=async e=>{e.preventDefault(),await s(f.trim())};return(0,K.jsxs)(ia,{open:e,onClose:()=>!a&&o(),label:d(`manage.daemon`),width:`max-w-lg`,children:[(0,K.jsxs)(`div`,{className:`border-b border-line px-5 py-4`,children:[(0,K.jsx)(`h2`,{className:`text-base font-semibold text-ink`,children:d(`topbar.manageSession`)}),(0,K.jsx)(`p`,{className:`mt-0.5 font-mono text-[10px] text-ink-faint`,children:t})]}),(0,K.jsx)(`form`,{onSubmit:e=>void g(e),className:`border-b border-line p-5`,children:(0,K.jsxs)(`label`,{className:`block`,children:[(0,K.jsx)(`span`,{className:`mb-1 block text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:d(`manage.displayName`)}),(0,K.jsxs)(`div`,{className:`flex gap-2`,children:[(0,K.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),maxLength:80,disabled:a,className:`h-9 min-w-0 flex-1 rounded border border-line bg-bg/50 px-3 text-sm text-ink outline-none focus:border-blue-deep disabled:opacity-50`}),(0,K.jsx)(`button`,{type:`submit`,disabled:a||f.trim()===n,className:`rounded border border-line px-3 text-xs text-ink-dim hover:bg-surface disabled:opacity-40`,children:d(`common.save`)})]})]})}),(0,K.jsxs)(`div`,{className:`border-b border-line p-5`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:d(`manage.executor`)}),(0,K.jsxs)(`div`,{className:`mt-2 flex items-center justify-between rounded border border-line bg-bg/30 p-3`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-sm text-ink`,children:d(r?i?`manage.running`:`manage.runningExternally`:`manage.paused`)}),(0,K.jsx)(`p`,{className:`mt-0.5 text-[11px] text-ink-faint`,children:d(r?i?`manage.pauseHint`:`manage.externalHint`:`manage.resumeHint`)})]}),(0,K.jsx)(`button`,{type:`button`,disabled:a||!i,onClick:()=>void(r?l():c()),className:`rounded border px-3 py-1.5 text-xs disabled:cursor-wait disabled:opacity-50 ${r?`border-warn/50 text-warn hover:bg-warn/10`:`border-blue-deep bg-blue-deep text-white hover:bg-blue-deep/80`}`,children:d(a?`manage.working`:i?r?`common.pause`:`manage.resume`:`common.external`)})]})]}),(0,K.jsxs)(`div`,{className:`p-5`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wider text-err`,children:d(`manage.deleteSession`)}),(0,K.jsx)(`p`,{className:`mt-1 text-[11px] leading-relaxed text-ink-faint`,children:d(`manage.deleteHint`)}),m?(0,K.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-3 rounded border border-err/40 bg-err/5 p-3`,children:[(0,K.jsx)(`span`,{className:`text-xs text-ink-dim`,children:d(`manage.confirmQuestion`)}),(0,K.jsxs)(`div`,{className:`flex gap-2`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>h(!1),className:`rounded px-2 py-1 text-xs text-ink-faint hover:bg-surface`,children:d(`common.cancel`)}),(0,K.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>void u(),className:`rounded bg-err px-3 py-1 text-xs font-medium text-bg disabled:opacity-50`,children:d(`manage.confirmDelete`)})]})]}):(0,K.jsx)(`button`,{type:`button`,disabled:a||r,onClick:()=>h(!0),className:`mt-3 rounded border border-err/40 px-3 py-1.5 text-xs text-err hover:bg-err/10 disabled:cursor-not-allowed disabled:opacity-40`,children:d(`manage.delete`)})]})]})}function Wa(e,t,n){if(e.length===0)return`local`;let r=n.trim(),i=r?e.filter(e=>e.launch_cwd?.trim()===r):[];return i.length===0||t&&!i.some(e=>e.id===t)?`all`:`local`}function Ga({projects:e,activeId:t,localCwd:n,onSelect:r,onPrefetch:i,onManage:s,onOpenPanel:c,onNew:l,loading:m,creating:h=!1,error:g,onRetry:_,mobileOpen:y=!1,collapsed:b=!1,onToggleCollapse:x,themeMode:S,onCycleTheme:w,expandedWidth:T=256}){let{locale:ee,setLocale:te,t:E}=q(),[ne,re]=(0,M.useState)(`local`),ie=(0,M.useRef)(!1),[ae,D]=(0,M.useState)(``),O=b&&!y,oe=n.trim(),se=(0,M.useMemo)(()=>oe?e.filter(e=>e.launch_cwd?.trim()===oe):[],[oe,e]);(0,M.useEffect)(()=>{ie.current||m||e.length===0||(ie.current=!0,re(Wa(e,t,oe)))},[t,m,oe,e]);let ce=ne===`local`?se:e,k=ae.trim()?Xt(ce,ae):ce,le=(0,M.useMemo)(()=>{if(ne===`local`)return k.length>0?[[oe||`Local`,k]]:[];let e=new Map;return k.forEach(t=>{let n=t.launch_cwd?.trim()||E(`common.unassigned`),r=e.get(n)??[];r.push(t),e.set(n,r)}),[...e.entries()]},[oe,ne,k]),A=S===`light`?a:p,ue=S===`light`?`dark`:`light`;return(0,K.jsxs)(`aside`,{"data-state":O?`collapsed`:`expanded`,style:{"--sidebar-width":`${T}px`},className:`glass-panel glass-panel--side fixed inset-y-0 left-0 z-40 flex h-full shrink-0 flex-col border-r transition-[width,transform,visibility] duration-panel ease-panel lg:visible lg:static lg:z-auto lg:translate-x-0 ${O?`w-14`:`w-64 lg:w-[var(--sidebar-width)]`} ${y?`visible translate-x-0`:`invisible -translate-x-full`}`,children:[(0,K.jsx)(`div`,{className:`flex h-12 shrink-0 items-center border-b border-line/50 ${O?`justify-center`:`justify-between px-4`}`,children:O?(0,K.jsx)(Ci,{size:22,compact:!0}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Ci,{size:24}),(0,K.jsx)(`button`,{type:`button`,onClick:x,"aria-label":E(`sidebar.collapse`),title:`${E(`sidebar.collapse`)} · Ctrl/⌘ B`,className:`icon-control flex h-8 w-8 shrink-0 items-center justify-center`,children:(0,K.jsx)(o,{icon:C,className:`h-3.5 w-3.5`})})]})}),O?(0,K.jsx)(`div`,{className:`flex h-12 shrink-0 items-center justify-center`,children:(0,K.jsx)(`button`,{type:`button`,onClick:x,"aria-label":E(`sidebar.expand`),title:`${E(`sidebar.expand`)} · Ctrl/⌘ B`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-line/50 bg-bg/40 text-ink-faint hover:border-blue/50 hover:text-ink`,children:(0,K.jsx)(o,{icon:v,className:`h-3.5 w-3.5`})})}):null,O?null:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-1 border-b border-line/50 px-3`,children:[[`local`,`all`].map(t=>(0,K.jsxs)(`button`,{type:`button`,onClick:()=>re(t),className:`h-8 rounded-md px-3 text-xs font-medium capitalize transition-colors ${ne===t?`bg-bg text-ink`:`text-ink-faint hover:text-ink-dim`}`,children:[E(`common.${t}`),(0,K.jsx)(`span`,{className:`ml-1.5 font-mono text-ink-faint`,children:t===`local`?se.length:e.length})]},t)),(0,K.jsx)(`button`,{type:`button`,onClick:l,disabled:h,"aria-label":E(`sidebar.create`),title:E(`sidebar.create`),className:`ml-auto flex h-8 w-8 items-center justify-center rounded-md text-lg text-blue hover:bg-bg disabled:opacity-40`,children:h?`…`:`+`})]}),(0,K.jsxs)(`div`,{className:`px-3 py-2`,children:[(0,K.jsx)(`label`,{className:`sr-only`,htmlFor:`daemon-search`,children:E(`sidebar.find`)}),(0,K.jsxs)(`div`,{className:`flex items-center rounded-md border border-line/60 bg-bg/60 px-2 focus-within:border-blue/60`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`mr-1.5 text-xs text-ink-faint`,children:`/`}),(0,K.jsx)(`input`,{id:`daemon-search`,value:ae,onChange:e=>D(e.target.value),placeholder:E(`sidebar.find`),className:`h-8 min-w-0 flex-1 bg-transparent text-xs text-ink outline-none placeholder:text-ink-faint`}),ae?(0,K.jsx)(`button`,{type:`button`,"aria-label":E(`sidebar.clearSearch`),onClick:()=>D(``),className:`px-1 text-sm text-ink-faint hover:text-ink`,children:`×`}):null]})]}),(0,K.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-x-hidden overflow-y-auto px-3 pb-3 scroll-thin`,children:[m&&e.length===0?(0,K.jsx)(`div`,{className:`px-1 py-3 text-xs text-ink-faint`,children:E(`common.loading`)}):null,g?(0,K.jsx)(`button`,{type:`button`,onClick:_,className:`mb-2 w-full rounded-md bg-err/5 px-3 py-2 text-left text-xs text-err`,children:E(`sidebar.refreshFailed`)}):null,!m&&!g&&k.length===0?(0,K.jsx)(`div`,{className:`px-1 py-4 text-xs text-ink-faint`,children:E(`sidebar.noSessions`)}):null,le.map(([e,n])=>(0,K.jsxs)(`section`,{className:`mb-4 last:mb-0`,children:[(0,K.jsx)(`div`,{className:`mb-1 truncate px-1 font-mono text-xs text-ink-faint`,title:e,children:e}),n.map(e=>{let n=e.id===t;return(0,K.jsxs)(`div`,{"data-active":n?`true`:`false`,onPointerEnter:()=>{n||i?.(e.id)},className:`session-card group relative mb-1 w-full rounded-md transition-colors duration-150 ease-panel ${n?`text-ink`:`text-ink-dim hover:text-ink`}`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`absolute left-0 transition-colors ${n?`inset-y-1 w-px bg-blue`:`inset-y-2 w-px bg-transparent group-hover:bg-ink-faint/30`}`}),(0,K.jsxs)(`button`,{type:`button`,onClick:()=>r(e.id),onFocus:()=>{n||i?.(e.id)},"aria-current":n?`page`:void 0,title:`${e.label||e.id}${e.objective?` — ${e.objective}`:``}`,className:`w-full min-w-0 px-3 py-2.5 pr-10 text-left`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,K.jsx)(li,{ok:e.daemon_alive,title:e.daemon_alive?E(`sidebar.daemonAlive`):E(`sidebar.stopped`)}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium`,children:e.label||e.id})]}),(0,K.jsxs)(`div`,{className:`mt-1 flex min-w-0 items-center justify-between gap-2 pl-4 text-xs text-ink-faint`,children:[(0,K.jsx)(`span`,{className:`min-w-0 truncate`,children:e.daemon_alive?E(`sidebar.runningFor`,{uptime:J(e.uptime_seconds)}):ei(e.last_active)}),(0,K.jsx)(Pr,{settledUsd:e.spend_usd,knownUsd:e.known_cost_usd,status:e.spend_status,calls:e.usage_calls,premiumRequests:e.premium_requests,live:e.daemon_alive})]})]}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>s(e.id),"aria-label":E(`sidebar.manage`,{name:e.label||e.id}),title:E(`sidebar.manageHint`),className:`absolute right-1.5 top-1.5 flex h-8 w-8 items-center justify-center rounded-md text-ink-faint opacity-100 transition-opacity hover:bg-panel-raised hover:text-ink sm:opacity-0 sm:group-hover:opacity-100 sm:group-focus-within:opacity-100`,children:(0,K.jsx)(o,{icon:u,className:`h-4 w-4`})})]},e.id)})]},e))]}),(0,K.jsxs)(`div`,{className:`flex min-h-14 items-center justify-between border-t border-line/50 px-4 py-2`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>c(`config`),className:`icon-control flex h-8 w-8 items-center justify-center`,"aria-label":E(`sidebar.openSettings`),title:E(`common.settings`),children:(0,K.jsx)(o,{icon:d,className:`h-3.5 w-3.5`})}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>te(ee===`zh-CN`?`en`:`zh-CN`),title:E(`language.switchTo`,{language:E(ee===`zh-CN`?`language.english`:`language.chinese`)}),"aria-label":E(`language.switchTo`,{language:E(ee===`zh-CN`?`language.english`:`language.chinese`)}),className:`icon-control flex h-8 w-8 items-center justify-center`,children:(0,K.jsx)(o,{icon:f,className:`h-3.5 w-3.5`})}),(0,K.jsx)(`button`,{type:`button`,onClick:w,title:E(`sidebar.theme`,{current:S,next:ue}),"aria-label":E(`sidebar.theme`,{current:S,next:ue}),className:`icon-control flex h-8 w-8 items-center justify-center`,children:(0,K.jsx)(o,{icon:A,className:`h-3.5 w-3.5`})})]})]})]})}var Ka={in_progress:`#8fa7b8`,running:`#8fa7b8`,pending:`#7e7d75`,queued:`#7e7d75`,done:`#7fa386`,completed:`#7fa386`,blocked:`#c77b72`,failed:`#c77b72`};function qa({items:e,onDispose:t,onStop:n,onInspect:r,busy:i,readOnly:a=!1}){let{t:o}=q(),[s,c]=(0,M.useState)(!1),l=Ln(e,!1),u=Ln(e,!0),d=s?u:l;return(0,K.jsxs)(`section`,{className:`card flex flex-col ${d.length>0?`min-h-0 flex-1`:`shrink-0`}`,children:[(0,K.jsx)(fi,{title:o(`panel.backlog`),right:(0,K.jsx)(`button`,{className:`text-[10px] text-ink-faint transition-colors hover:text-ink`,onClick:()=>c(e=>!e),children:s?`active · ${l.length}`:`history · ${u.length}`})}),(0,K.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto scroll-thin`,children:[d.length===0&&(0,K.jsx)(mi,{children:s?`no completed runs yet`:`nothing queued — Argus is standing by`}),d.map(e=>{let o=Ka[e.status]??`#8a93a6`,s=e.iterate;return(0,K.jsx)(`div`,{className:`group border-b border-line/60 px-3 py-2 last:border-0`,children:(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>r?.(e.id),disabled:!r,className:`block max-w-full truncate text-left text-xs font-medium text-ink enabled:hover:text-blue-sky enabled:focus-visible:outline-none enabled:focus-visible:underline`,title:r?`view full task details`:void 0,children:e.title||e.objective}),(0,K.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1.5`,children:[(0,K.jsx)(`span`,{className:`font-mono text-[9px] text-ink-faint`,children:e.id.slice(0,8)}),(0,K.jsx)(ui,{color:o,children:e.status}),typeof e.priority==`number`&&(0,K.jsxs)(`span`,{className:`text-[10px] text-ink-faint`,children:[`p`,e.priority]}),s&&(0,K.jsx)(`span`,{className:`text-[10px] text-blue-sky`,children:`↻ iterating`})]})]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-focus-within:opacity-100 group-hover:opacity-100`,children:[!a&&s&&(0,K.jsx)(di,{variant:`ghost`,onClick:()=>n(e.id),disabled:i,title:`stop iterating`,children:`stop`}),!a&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(di,{variant:`ghost`,onClick:()=>t(e.id,`done`),disabled:i,title:`mark done`,children:`✓`}),(0,K.jsx)(di,{variant:`ghost`,onClick:()=>t(e.id,`rm`),disabled:i,title:`remove`,children:`✕`})]})]})]})},e.id)})]})]})}var Ja={win:`#7fa386`,milestone:`#c7a66a`,insight:`#8fa7b8`,decision:`#a69daf`,failure:`#c77b72`,note:`#7e7d75`};function Ya({entries:e}){let{t}=q(),n=[...e].reverse();return(0,K.jsxs)(`section`,{className:`card flex min-h-0 flex-1 flex-col`,children:[(0,K.jsx)(fi,{title:t(`panel.journal`),right:(0,K.jsx)(`span`,{className:`text-[10px] text-ink-faint`,children:e.length})}),(0,K.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto scroll-thin`,children:[e.length===0&&(0,K.jsx)(mi,{children:`no journal entries yet`}),n.map(e=>{let t=Ja[e.kind]??`#8a93a6`,n=String(e.extra?.pricing_status??``),r=e.extra&&Object.prototype.hasOwnProperty.call(e.extra,`cost_usd`)?e.extra.cost_usd:e.cost_usd,i=typeof r==`number`&&r>0?`${ti(r)}${n===`partial`||n===`unpriced`?`+`:``}`:n===`partial`||n===`unpriced`?n:``;return(0,K.jsxs)(`div`,{className:`border-b border-line/60 px-3 py-2 last:border-0`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,K.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full`,style:{background:t}}),(0,K.jsx)(`span`,{className:`text-[10px] uppercase tracking-wide`,style:{color:t},children:e.kind}),(0,K.jsx)(`span`,{className:`ml-auto text-[10px] text-ink-faint`,children:ei(e.ts)})]}),(0,K.jsx)(`div`,{className:`mt-1 text-xs font-medium text-ink`,children:e.title}),e.summary&&(0,K.jsx)(`div`,{className:`mt-0.5 text-[11px] leading-snug text-ink-dim`,children:e.summary}),(0,K.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1`,children:[(e.tags??[]).slice(0,4).map(e=>(0,K.jsx)(`span`,{className:`rounded bg-line/60 px-1 text-[9px] text-ink-faint`,children:e},e)),i?(0,K.jsx)(`span`,{className:`ml-auto text-[10px] text-ink-faint`,children:i}):null]})]},e.id)})]})]})}var Xa=[`manager`,`planner`,`engineer`,`reviewer`];function Za(e){return e==null?``:e<3?`now`:e<60?`${Math.floor(e)}s`:e<3600?`${Math.floor(e/60)}m`:`${Math.floor(e/3600)}h`}function Qa({roles:e}){let{t}=q(),n=new Map(e.map(e=>[e.role,e])),r=Xa.map(e=>n.get(e)).filter(Boolean),i=e.filter(e=>!Xa.includes(e.role)),a=[...r,...i];return(0,K.jsxs)(`section`,{className:`card`,children:[(0,K.jsx)(fi,{title:t(`panel.roles`)}),(0,K.jsx)(`div`,{children:a.map(e=>{let t=z.role[e.role]??z.info;return(0,K.jsxs)(`div`,{className:`grid grid-cols-[84px_minmax(0,1fr)_auto] items-center gap-2 border-b border-line/60 px-3 py-2 last:border-b-0`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,K.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 rounded-full`,style:{background:e.active?t:`rgb(var(--ink-faint))`}}),(0,K.jsx)(`span`,{className:`text-[11px] font-medium capitalize`,style:{color:e.active?t:z.inkDim},children:e.role})]}),(0,K.jsx)(`div`,{className:`min-w-0 truncate font-mono text-[10px] text-ink-faint`,title:e.model,children:e.model||`—`}),(0,K.jsxs)(`div`,{className:`flex items-center gap-1 text-right`,children:[(0,K.jsx)(`span`,{className:`text-[10px]`,style:{color:e.active?z.ink:z.inkFaint},children:e.active?e.status||`active`:`idle`}),e.active&&Za(e.age_s)&&(0,K.jsxs)(`span`,{className:`text-[10px] tabular-nums text-ink-faint`,children:[`· `,Za(e.age_s)]}),e.effort&&(0,K.jsxs)(`span`,{className:`text-[10px]`,style:{color:ut(e.effort)},children:[`· `,e.effort]})]})]},e.role)})})]})}function $a({open:e,snap:t,journal:n,busy:r,onClose:i,onDispose:a,onStop:o,onInspect:s}){let{t:c}=q();return(0,K.jsxs)(ia,{open:e,onClose:i,label:`Project inspector`,width:`max-w-6xl`,children:[(0,K.jsx)(aa,{title:c(`panel.project`),sub:t.session.display_name||t.session.id}),(0,K.jsxs)(`div`,{className:`h-[68vh] min-h-0 space-y-3 overflow-y-auto bg-bg p-3 scroll-thin lg:grid lg:grid-cols-[minmax(0,1.4fr)_minmax(300px,0.8fr)] lg:gap-3 lg:space-y-0 lg:overflow-hidden`,children:[(0,K.jsx)(qa,{items:t.backlog,onDispose:a,onStop:o,onInspect:s,busy:r}),(0,K.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-3`,children:[(0,K.jsx)(Qa,{roles:t.roles}),(0,K.jsx)(Ya,{entries:n})]})]})]})}var eo=e=>e?new Date(e*1e3).toLocaleString():`—`;function to({label:e,value:t}){return(0,K.jsxs)(`div`,{className:`rounded-md border border-line/70 bg-bg/40 px-3 py-2`,children:[(0,K.jsx)(`div`,{className:`text-[9px] font-semibold uppercase tracking-wider text-ink-faint`,children:e}),(0,K.jsx)(`div`,{className:`mt-0.5 text-xs text-ink-dim`,children:t})]})}function no({sid:e,itemId:t,onClose:n,onDone:r,onSkip:i,onStop:a,busy:o,readOnly:s=!1}){let{t:c}=q(),l=Cr(e,t),u=l.data,d=u?In(u):!1,f=ln(u?.outcome);return(0,K.jsxs)(ia,{open:!!t,onClose:n,label:c(`task.details`),width:`max-w-3xl`,children:[(0,K.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 border-b border-line px-4 py-3 sm:flex-nowrap sm:px-5`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`h2`,{className:`truncate text-sm font-semibold text-ink`,children:u?.title||c(`task.details`)}),u?(0,K.jsx)(ui,{children:u.status}):null]}),(0,K.jsx)(`p`,{className:`mt-0.5 font-mono text-[10px] text-ink-faint`,children:t})]}),!s&&u&&!d?(0,K.jsxs)(`div`,{className:`order-3 flex w-full shrink-0 items-center justify-end gap-1 sm:order-none sm:w-auto`,children:[u.iterate?(0,K.jsx)(di,{onClick:()=>a(u.id),disabled:o,children:c(`task.stopLoop`)}):null,(0,K.jsx)(di,{onClick:()=>r(u.id),disabled:o,children:c(`task.done`)}),(0,K.jsx)(di,{variant:`danger`,onClick:()=>i(u.id),disabled:o,children:c(`task.skip`)})]}):null,(0,K.jsx)(`button`,{type:`button`,"aria-label":c(`task.close`),onClick:n,className:`order-2 rounded-md px-2 py-1 text-lg leading-none text-ink-faint hover:bg-surface hover:text-ink sm:order-none`,children:`×`})]}),(0,K.jsxs)(`div`,{className:`max-h-[70vh] overflow-y-auto p-4 scroll-thin sm:p-5`,children:[l.isLoading?(0,K.jsx)(`div`,{className:`flex justify-center py-12`,children:(0,K.jsx)(pi,{})}):null,l.isError?(0,K.jsx)(`div`,{className:`rounded-md border border-err/40 bg-err/5 p-3 text-xs text-err`,children:l.error.message}):null,u?(0,K.jsxs)(`div`,{className:`space-y-4`,children:[u.pending_question?(0,K.jsxs)(`div`,{className:`rounded-lg border border-warn/40 bg-warn/5 p-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wider text-warn`,children:c(`task.waitingOnYou`)}),(0,K.jsx)(`p`,{className:`mt-1 whitespace-pre-wrap text-sm leading-relaxed text-ink`,children:u.pending_question})]}):null,(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:c(`task.objective`)}),(0,K.jsx)(`div`,{className:`whitespace-pre-wrap rounded-lg border border-line bg-bg/50 p-3 text-sm leading-relaxed text-ink-dim`,children:u.objective||u.original_objective||c(`task.noObjective`)})]}),(0,K.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 sm:grid-cols-4`,children:[(0,K.jsx)(to,{label:c(`task.priority`),value:`p${u.priority}`}),(0,K.jsx)(to,{label:c(`task.started`),value:eo(u.started_ts)}),(0,K.jsx)(to,{label:c(`task.finished`),value:eo(u.finished_ts)})]}),f.length?(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:c(`task.outcome`)}),(0,K.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:f.map(e=>(0,K.jsx)(ui,{children:e},e))})]}):null,u.iterate||u.iteration_cycles_done||u.iteration_cost_usd?(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:c(`task.iteration`)}),(0,K.jsxs)(`div`,{className:`grid grid-cols-3 gap-2`,children:[(0,K.jsx)(to,{label:c(`task.mode`),value:u.iterate?c(`task.autoIterate`):c(`task.singlePass`)}),(0,K.jsx)(to,{label:c(`task.cycles`),value:`${u.iteration_cycles_done??0}/${u.iteration_max_cycles??`—`}`}),(0,K.jsx)(to,{label:c(`task.cost`),value:`$${(u.iteration_cost_usd??0).toFixed(2)}`})]})]}):null,u.last_error?(0,K.jsxs)(`section`,{className:`rounded-lg border border-err/30 bg-err/5 p-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wider text-err`,children:c(`task.lastError`)}),(0,K.jsx)(`p`,{className:`mt-1 whitespace-pre-wrap font-mono text-xs leading-relaxed text-ink-dim`,children:u.last_error})]}):null,u.notes?(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint`,children:c(`task.notes`)}),(0,K.jsx)(`p`,{className:`whitespace-pre-wrap text-xs leading-relaxed text-ink-dim`,children:u.notes})]}):null,u.tags?.length||u.deps?.length?(0,K.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(u.tags??[]).map(e=>(0,K.jsxs)(ui,{children:[`#`,e]},`tag-${e}`)),(u.deps??[]).map(e=>(0,K.jsxs)(ui,{children:[c(`task.dependsOn`),` `,e]},`dep-${e}`))]}):null]}):null]})]})}function ro({onPointerDown:e,onReset:t,onNudge:n,value:r,min:i=240,max:a=600,label:o=`Resize panel`}){return(0,K.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":o,"aria-valuenow":r,"aria-valuemin":i,"aria-valuemax":a,tabIndex:0,onPointerDown:e,onDoubleClick:t,onKeyDown:e=>{e.key===`ArrowLeft`?(e.preventDefault(),n(-16)):e.key===`ArrowRight`?(e.preventDefault(),n(16)):e.key===`Home`&&(e.preventDefault(),t())},className:`group relative hidden w-2 shrink-0 cursor-col-resize items-center justify-center outline-none lg:flex`,children:(0,K.jsx)(`span`,{className:`h-full w-px bg-line/30 transition-colors duration-150 group-hover:bg-blue/70 group-focus:bg-blue/70`})})}var io=[`manager`,`planner`,`engineer`,`reviewer`];function ao(e){let t=[...e.dag],n=[],r=new Set;for(;t.length;){let i=t.findIndex(t=>t.deps.every(t=>r.has(t)||!e.dag.some(e=>e.id===t))),[a]=t.splice(i>=0?i:0,1);n.push(a),r.add(a.id)}return n}function oo(e,t=16){let n=ao(e);if(n.length<=t)return{nodes:n,hidden:[]};let r=new Set(n.slice(-t).map(e=>e.id)),i=n.find(e=>[`running`,`in_progress`,`claimed`].includes(e.status)),a=new Map(n.map(e=>[e.id,e])),o=i?[i]:[];for(;o.length;){let e=o.pop();r.has(e.id)||(r.add(e.id),e.deps.forEach(e=>{let t=a.get(e);t&&o.push(t)}))}return{nodes:n.filter(e=>r.has(e.id)),hidden:n.filter(e=>!r.has(e.id))}}function so({view:e}){let{t}=q(),n=e.achievement;return n?(0,K.jsxs)(`section`,{className:`border-b border-ok/35 bg-ok/5 px-5 py-4 animate-appear`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.16em] text-ok`,children:t(`mission.achievement`)}),(0,K.jsx)(`div`,{className:`mt-2 text-sm font-semibold text-ink`,children:n.title}),n.summary?(0,K.jsx)(`div`,{className:`mt-1 text-xs text-ink-dim`,children:n.summary}):null,(0,K.jsxs)(`div`,{className:`mt-2 text-xs`,children:[(0,K.jsxs)(`span`,{className:`text-ink-faint`,children:[t(`mission.elapsed`),` `]}),(0,K.jsx)(`span`,{className:`font-mono text-ink`,children:On(n.elapsed_seconds??0)})]}),(0,K.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-x-5 gap-y-1 text-[11px] text-ink-dim`,children:[(0,K.jsx)(`span`,{children:t(`mission.rejectedAttempts`,{count:n.rejected_attempts??0})}),(0,K.jsx)(`span`,{children:t(`mission.skillsLearned`,{count:n.skills_learned??0})}),(0,K.jsx)(`span`,{children:t(`mission.artifacts`,{count:n.artifacts??0})})]})]}):null}function co({view:e,onOpenArtifact:t,gitDiff:n}){let{t:r}=q(),i=new Map(e.roles.map(e=>[e.role,e])),a=e.dag.find(e=>[`running`,`in_progress`,`claimed`].includes(e.status)),o=oo(e),s=o.nodes,c=Dn(e.mission.objective||e.mission.title||r(`mission.waiting`)),[l,u]=(0,M.useState)(Math.max(0,e.timeline.length-1)),[d,f]=(0,M.useState)(e.active_role||`planner`),[p,m]=(0,M.useState)(a?.id||``),h=ln(e.outcome),g=hn(e.routing);(0,M.useEffect)(()=>u(Math.max(0,e.timeline.length-1)),[e.timeline.length]),(0,M.useEffect)(()=>{a?.id&&m(a.id)},[a?.id]);let _=e.timeline.slice(0,l+1).slice(-12).reverse(),v=e.dag.find(e=>e.id===p),y=e.role_work.filter(e=>e.role===d).filter(e=>!p||!e.item_id||e.item_id===p).slice(-40).reverse();return(0,K.jsxs)(`section`,{className:`min-h-0 flex-1 overflow-x-hidden overflow-y-auto bg-panel scroll-thin`,"aria-label":r(`mission.control`),children:[(0,K.jsxs)(`header`,{className:`border-b border-line/60 px-5 py-5`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint`,children:r(`mobile.mission`)}),(0,K.jsx)(`div`,{role:`heading`,"aria-level":1,className:`mt-1 line-clamp-4 max-w-4xl text-lg font-semibold leading-snug text-ink`,title:c,children:(0,K.jsx)(yi,{children:c})}),c.length>600?(0,K.jsxs)(`details`,{className:`mt-2 text-xs text-ink-faint`,children:[(0,K.jsx)(`summary`,{className:`cursor-pointer hover:text-ink`,children:r(`mission.showObjective`)}),(0,K.jsx)(`div`,{className:`mt-2 text-ink-dim`,children:(0,K.jsx)(yi,{children:c})})]}):null,(0,K.jsxs)(`div`,{className:`mt-4 grid grid-cols-2 gap-x-6 gap-y-3 text-xs sm:grid-cols-4`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-ink-faint`,children:r(`mission.stage`)}),(0,K.jsx)(`div`,{className:`mt-0.5 font-medium capitalize text-blue-sky`,children:e.stage.label||e.stage.id||`—`})]}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-ink-faint`,children:r(e.routing.open_ended?`mission.campaign`:`mission.totalElapsed`)}),(0,K.jsx)(`div`,{className:`mt-0.5 font-mono text-ink`,children:On(e.mission.campaign_elapsed_seconds)})]}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-ink-faint`,children:r(`mission.round`)}),(0,K.jsxs)(`div`,{className:`mt-0.5 font-mono text-ink`,children:[e.round.current||`—`,e.round.max?` / ${e.round.max}`:``]})]}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-ink-faint`,children:r(`mission.mode`)}),(0,K.jsx)(`div`,{className:`mt-0.5 font-mono text-ink`,children:g||`—`})]})]}),h.length?(0,K.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-x-3 gap-y-1 font-mono text-[10px] text-ink-dim`,children:h.map(e=>(0,K.jsx)(`span`,{children:e},e))}):null,e.mission.summary?(0,K.jsxs)(`div`,{className:`mt-3 rounded border border-ok/25 bg-ok/5 px-3 py-2`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.12em] text-ok`,children:r(`mission.summary`)}),(0,K.jsx)(`p`,{className:`mt-1 whitespace-pre-wrap text-xs leading-relaxed text-ink-dim`,children:e.mission.summary})]}):null,e.frontier.change?(0,K.jsxs)(`div`,{className:`mt-3 rounded border border-blue/25 bg-blue/5 px-3 py-2`,children:[(0,K.jsxs)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.12em] text-blue-sky`,children:[`Task frontier · `,e.frontier.change.replaceAll(`_`,` `)]}),e.frontier.summary?(0,K.jsx)(`p`,{className:`mt-1 text-xs text-ink-dim`,children:e.frontier.summary}):null]}):null]}),(0,K.jsx)(so,{view:e}),(0,K.jsxs)(`section`,{className:`border-b border-line/60 px-5 py-4`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint`,children:r(`mission.team`)}),(0,K.jsx)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-2 xl:grid-cols-4`,children:io.map(e=>{let t=i.get(e),n=t?.status===`active`,a=t?.status===`rejected`||t?.status===`error`,o=z.role[e]??z.inkFaint;return(0,K.jsxs)(`button`,{type:`button`,onClick:()=>f(e),className:`min-w-0 border-l-2 pl-3 text-left ${d===e?`bg-white/[0.03]`:``}`,style:{borderColor:n||t?.status===`done`?o:`rgb(var(--line))`},children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`h-2 w-2 rounded-full ${n?`animate-pulse motion-reduce:animate-none`:``}`,style:{background:a?z.error:n||t?.status===`done`?o:z.inkFaint}}),(0,K.jsx)(`span`,{className:`text-xs font-semibold capitalize`,style:{color:o},children:e})]}),(0,K.jsx)(`div`,{className:`mt-1 truncate text-xs ${a?`text-err`:`text-ink-dim`}`,children:t?.label||r(`mission.waitingShort`)})]},e)})})]}),(0,K.jsxs)(`section`,{className:`border-b border-line/60 px-5 py-4`,children:[(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,K.jsxs)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint`,children:[r(`mission.roleWork`),` · `,(0,K.jsx)(`span`,{className:`text-blue-sky`,children:d})]}),v?(0,K.jsx)(`button`,{type:`button`,onClick:()=>m(``),className:`text-[10px] text-ink-faint hover:text-ink`,children:r(`mission.filteredBy`,{task:v.title||v.id})}):(0,K.jsx)(`span`,{className:`text-[10px] text-ink-faint`,children:r(`mission.allVisible`)})]}),(0,K.jsxs)(`div`,{className:`mt-3 grid gap-2 lg:grid-cols-2`,children:[y.map(e=>(0,K.jsxs)(`article`,{className:`min-w-0 rounded border border-line/60 bg-bg/35 px-3 py-2`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,K.jsx)(`span`,{className:`truncate text-xs font-medium text-ink`,children:e.title}),(0,K.jsx)(`time`,{className:`shrink-0 font-mono text-[10px] text-ink-faint`,children:new Date(e.ts*1e3).toISOString().slice(11,19)})]}),(0,K.jsxs)(`div`,{className:`mt-1 flex gap-2 font-mono text-[10px] text-ink-faint`,children:[(0,K.jsx)(`span`,{children:e.kind}),e.status?(0,K.jsx)(`span`,{children:e.status}):null,e.round_index==null?null:(0,K.jsx)(`span`,{children:r(`mission.roundNumber`,{count:e.round_index})})]}),e.detail?(0,K.jsx)(`p`,{className:`mt-2 max-h-36 overflow-auto whitespace-pre-wrap text-[11px] leading-5 text-ink-dim scroll-thin`,children:e.detail}):null]},e.id)),y.length?null:(0,K.jsx)(`div`,{className:`col-span-full py-8 text-center text-xs text-ink-faint`,children:r(`mission.noRoleWork`,{role:d})})]})]}),(0,K.jsxs)(`div`,{className:`grid min-h-[320px] border-b border-line/60 lg:grid-cols-[minmax(0,1.15fr)_minmax(260px,0.85fr)]`,children:[(0,K.jsxs)(`section`,{className:`min-w-0 border-b border-line/60 px-5 py-4 lg:border-b-0 lg:border-r`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint`,children:r(`mission.researchDag`)}),a?(0,K.jsxs)(`span`,{className:`max-w-48 truncate text-[10px] text-blue-sky`,children:[r(`mission.active`),` · `,a.title]}):null]}),(0,K.jsxs)(`div`,{className:`mt-3 space-y-0`,children:[o.hidden.length?(0,K.jsxs)(`div`,{className:`mb-3 rounded border border-line/60 bg-bg/50 px-3 py-2 text-[10px] text-ink-faint`,children:[o.hidden.length,` earlier tasks collapsed · `,o.hidden.filter(e=>[`failed`,`blocked`].includes(e.status)).length,` failed · `,o.hidden.filter(e=>e.status===`skipped`).length,` skipped`]}):null,s.length?s.map((e,t)=>{let n=e.id===a?.id,r=[`done`,`completed`].includes(e.status),i=[`failed`,`blocked`].includes(e.status);return(0,K.jsxs)(`button`,{type:`button`,onClick:()=>m(e.id),className:`relative flex w-full min-w-0 gap-3 pb-3 text-left last:pb-0 ${p===e.id?`bg-white/[0.03]`:``}`,children:[t(0,K.jsx)(`li`,{children:e},e))})]}):null]}):null]}),(0,K.jsxs)(`section`,{className:`min-w-0 px-5 py-4`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint`,children:r(`mission.capabilities`)}),e.learned_skills.length?(0,K.jsxs)(`div`,{className:`mt-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] uppercase tracking-[0.12em] text-ok`,children:r(`mission.capabilitiesUnlocked`)}),(0,K.jsx)(`div`,{className:`mt-2 space-y-2`,children:e.learned_skills.filter(e=>e.status===`active`).slice(-8).map(e=>(0,K.jsxs)(`details`,{className:`rounded border border-ok/35 bg-ok/5 px-2 py-1.5`,children:[(0,K.jsx)(`summary`,{className:`cursor-pointer text-[10px] text-ok`,children:String(e.name||e.id)}),(0,K.jsxs)(`div`,{className:`mt-2 space-y-1 font-mono text-[9px] text-ink-faint`,children:[e.mission_title?(0,K.jsxs)(`div`,{children:[`evolved during · `,e.mission_title]}):null,e.path?(0,K.jsxs)(`div`,{className:`break-all`,children:[`path · `,e.path]}):null,(0,K.jsxs)(`div`,{children:[`version · `,e.version,` · scope · `,e.scope||`project`]})]}),e.content?(0,K.jsxs)(`pre`,{className:`mt-2 max-h-64 overflow-auto whitespace-pre-wrap border-t border-ok/20 pt-2 font-mono text-[10px] leading-5 text-ink-dim scroll-thin`,children:[e.content,e.content_truncated?` +… content truncated`:``]}):(0,K.jsx)(`div`,{className:`mt-2 text-[10px] text-ink-faint`,children:r(`mission.skillUnavailable`)})]},String(e.id)))})]}):null,e.learned_wiki_pages.some(e=>e.status!==`retired`)?(0,K.jsxs)(`div`,{className:`mt-4 border-t border-line/50 pt-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] uppercase tracking-[0.12em] text-blue-sky`,children:r(`mission.knowledgeRetained`)}),(0,K.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:e.learned_wiki_pages.filter(e=>e.status!==`retired`).slice(-6).map(e=>(0,K.jsx)(`span`,{className:`rounded border border-blue/35 bg-blue/5 px-2 py-1 text-[10px] text-blue-sky`,children:String(e.title||e.id)},String(e.id)))})]}):null,e.storage.project_skill_dir||e.storage.global_skill_dir||e.storage.wiki_paths.length||e.storage.skill_history_compressed||e.storage.wiki_retired_compressed?(0,K.jsxs)(`div`,{className:`mt-4 border-t border-line/50 pt-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] uppercase tracking-[0.12em] text-ink-faint`,children:r(`mission.selfEvolution`)}),(0,K.jsxs)(`div`,{className:`mt-2 space-y-1 font-mono text-[10px] text-ink-dim`,children:[e.storage.project_skill_dir?(0,K.jsxs)(`div`,{className:`break-all`,children:[`project skills (`,e.storage.project_skill_count,`) · `,e.storage.project_skill_dir]}):null,e.storage.global_skill_dir?(0,K.jsxs)(`div`,{className:`break-all`,children:[`global skills (`,e.storage.global_skill_count,`) · `,e.storage.global_skill_dir]}):null,e.storage.wiki_paths.map(e=>(0,K.jsxs)(`div`,{className:`break-all`,children:[`project wiki · `,e]},e)),e.storage.skill_history_compressed||e.storage.wiki_retired_compressed?(0,K.jsxs)(`div`,{children:[`cold history · skill `,e.storage.skill_history_compressed,` · wiki `,e.storage.wiki_retired_compressed,` · `,ni(e.storage.skill_history_bytes_saved+e.storage.wiki_retired_bytes_saved),` saved`]}):null]})]}):null]})]}),(0,K.jsxs)(`section`,{className:`px-5 py-4`,children:[(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint`,children:r(`mission.replay`)}),e.timeline.length>1?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`input`,{type:`range`,min:0,max:e.timeline.length-1,value:l,onChange:e=>u(Number(e.target.value)),"aria-label":r(`mission.replayTimeline`),className:`h-1 min-w-32 flex-1 accent-blue`}),(0,K.jsxs)(`span`,{className:`font-mono text-[10px] text-ink-faint`,children:[l+1,`/`,e.timeline.length]})]}):null]}),(0,K.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[_.map(e=>(0,K.jsxs)(`div`,{className:`grid grid-cols-[44px_10px_minmax(0,1fr)] gap-2 text-xs`,children:[(0,K.jsx)(`time`,{className:`font-mono text-[10px] text-ink-faint`,children:new Date(e.ts*1e3).toISOString().slice(11,16)}),(0,K.jsx)(`span`,{className:`mt-1 h-2 w-2 rounded-full ${e.tone===`error`?`bg-err`:e.tone===`success`||e.tone===`metric`||e.tone===`skill`?`bg-ok`:`bg-blue`}`}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`span`,{className:`font-medium text-ink`,children:e.title}),e.detail?(0,K.jsxs)(`span`,{className:`text-ink-dim`,children:[` · `,e.detail]}):null]})]},e.id)),e.timeline.length?null:(0,K.jsx)(`div`,{className:`py-10 text-center text-xs text-ink-faint`,children:r(`mission.waitingEvents`)})]}),e.artifacts.length?(0,K.jsx)(`div`,{className:`mt-5 flex flex-wrap gap-2 border-t border-line/50 pt-4`,children:e.artifacts.slice(-8).map(e=>{let n=String(e.path||``);return(0,K.jsx)(`button`,{type:`button`,disabled:!n||!t,onClick:()=>n&&t?.(n),className:`rounded border border-line px-2 py-1 font-mono text-[10px] text-blue-sky hover:border-blue-sky/50 disabled:text-ink-faint`,children:String(e.title||n)},String(e.id||n))})}):null,n?.available&&(n.status||n.diff)?(0,K.jsxs)(`details`,{className:`mt-5 border-t border-line/50 pt-4`,children:[(0,K.jsxs)(`summary`,{className:`cursor-pointer text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint hover:text-ink`,children:[`Git changes`,n.branch?` · ${n.branch}`:``]}),n.stat?(0,K.jsx)(`pre`,{className:`mt-3 overflow-x-auto whitespace-pre-wrap font-mono text-[10px] leading-5 text-ink-dim`,children:n.stat}):null,n.diff?(0,K.jsxs)(`pre`,{className:`mt-3 max-h-80 overflow-auto whitespace-pre font-mono text-[10px] leading-5 text-ink-dim scroll-thin`,children:[n.diff,n.truncated?` +… diff truncated`:``]}):null]}):null]})]})}var lo=e=>e instanceof Error?e.message:String(e||`Unknown error`);async function uo(e){let t=await e,n=t&&typeof t==`object`?t:{},r=String(n.command_status??``);if(Number(n.rc??0)!==0||r===`failed`||r===`rejected`)throw Error(String(n.error||`daemon command ${r||`failed`}`));return t}function fo({open:e,sid:t,snap:r,onClose:i,onChanged:a,onRestored:u}){let{t:f}=q(),[p,h]=(0,M.useState)(`task`),[g,_]=(0,M.useState)(``),[v,C]=(0,M.useState)(r.session.workdir??r.session.cwd??``),[w,ee]=(0,M.useState)(`ls`),[E,ne]=(0,M.useState)(``),[re,ie]=(0,M.useState)(``),[ae,D]=(0,M.useState)(null),[O,oe]=(0,M.useState)([]),[se,ce]=(0,M.useState)(0),[k,le]=(0,M.useState)(``),[A,ue]=(0,M.useState)(``),[de,fe]=(0,M.useState)(`work`);(0,M.useEffect)(()=>{e&&(C(r.session.workdir??r.session.cwd??``),Promise.all([R.metrics(),R.trash()]).then(([e,t])=>{D(e),oe(t.entries),ce(t.total)},e=>ne(lo(e))))},[e,r.session.cwd,r.session.workdir]);let j=async(e,t,n)=>{if(!A){ue(e),ne(``);try{let e=await t();n!==null&&ne(n||JSON.stringify(e,null,2)),a()}catch(e){ne(lo(e))}finally{ue(``)}}},pe=async()=>{let e=g.trim();if(e){if(p===`plan`){await j(`quick`,async()=>{let n=await R.previewPlan(t,e);return ne([...n.steps.map((e,t)=>`${t+1}. ${e.title}${e.detail?` — ${e.detail}`:``}`),...n.notes.map(e=>`Note: ${e}`),...n.error?[`Error: ${n.error}`]:[]].join(` +`)),n},null);return}await j(`quick`,p===`task`?()=>R.addTask(t,e):p===`nudge`?()=>R.nudge(t,e):()=>R.note(t,e),`${p} submitted.`),_(``)}},me=async e=>{await j(`restore:${e.trash_id}`,async()=>{let t=await R.restoreTrash(e.trash_id);return oe(t=>t.filter(t=>t.trash_id!==e.trash_id)),ce(e=>Math.max(0,e-1)),await u(t.sid),t},`Restored ${e.label}.`)},he=r.daemon.alive&&r.daemon.protocol_compatible===!1,ge=r.daemon.alive&&r.daemon.control_available===!1,_e=r.daemon_admission?.running_daemons??[],ve=p===`task`?b:p===`nudge`?T:p===`note`?s:S,ye=async()=>{await j(`trash-search`,async()=>{let e=await R.trash(k);return oe(e.entries),ce(e.total),e},null)};return(0,K.jsxs)(ia,{open:e,onClose:()=>!A&&i(),label:f(`operations.title`),width:`max-w-5xl`,children:[(0,K.jsx)(aa,{title:f(`operations.title`),sub:r.session.display_name||t}),(0,K.jsx)(`div`,{className:`flex gap-1 border-b border-line bg-panel px-4 py-2`,children:[[`work`,f(`operations.work`),b],[`runtime`,f(`operations.runtime`),d],[`system`,f(`operations.system`),c],[`recovery`,f(`operations.recovery`),n]].map(([e,t,n])=>(0,K.jsx)(`button`,{type:`button`,onClick:()=>{fe(e),ne(``)},title:t,"aria-label":t,className:`flex h-8 w-9 items-center justify-center rounded-md text-xs ${de===e?`bg-blue-deep text-white`:`text-ink-faint hover:bg-bg hover:text-ink`}`,children:(0,K.jsx)(o,{icon:n})},e))}),(0,K.jsxs)(`div`,{className:`grid max-h-[76vh] gap-3 overflow-y-auto bg-bg p-3 scroll-thin lg:grid-cols-2`,children:[de===`work`?(0,K.jsxs)(`section`,{className:`rounded-lg border border-line bg-panel p-4 lg:col-span-2`,children:[(0,K.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-ink-dim`,children:f(`operations.workInput`)}),(0,K.jsx)(`p`,{className:`mt-1 text-xs text-ink-faint`,children:f(`operations.workHint`)}),(0,K.jsx)(`div`,{className:`mt-3 flex gap-1`,children:[[`task`,b],[`nudge`,T],[`note`,s],[`plan`,S]].map(([e,t])=>(0,K.jsx)(`button`,{type:`button`,onClick:()=>h(e),title:e,"aria-label":e,className:`flex h-8 w-9 items-center justify-center rounded text-xs capitalize ${p===e?`bg-blue-deep text-white`:`bg-bg text-ink-dim`}`,children:(0,K.jsx)(o,{icon:t})},e))}),(0,K.jsx)(`textarea`,{value:g,onChange:e=>_(e.target.value),rows:5,placeholder:p===`plan`?f(`operations.planPlaceholder`):f(`operations.actionPlaceholder`,{action:p}),className:`mt-3 w-full resize-y rounded border border-line bg-bg p-3 text-sm text-ink outline-none focus:border-blue`}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>void pe(),disabled:!!A||!g.trim(),title:p===`plan`?f(`operations.previewPlan`):f(`operations.submitAction`,{action:p}),"aria-label":p===`plan`?f(`operations.previewPlan`):f(`operations.submitAction`,{action:p}),className:`mt-2 flex h-9 w-9 items-center justify-center rounded bg-blue-deep text-xs font-medium text-white disabled:opacity-40`,children:A===`quick`?`…`:(0,K.jsx)(o,{icon:ve})})]}):null,de===`runtime`?(0,K.jsxs)(`section`,{className:`rounded-lg border border-line bg-panel p-4 lg:col-span-2`,children:[(0,K.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-ink-dim`,children:f(`operations.runtime`)}),(0,K.jsx)(`p`,{className:`mt-1 text-xs text-ink-faint`,children:f(`operations.runtimeHint`)}),(0,K.jsx)(`label`,{className:`mt-3 block text-[10px] uppercase tracking-wide text-ink-faint`,children:f(`operations.workdir`)}),(0,K.jsxs)(`div`,{className:`mt-1 flex gap-2`,children:[(0,K.jsx)(`input`,{value:v,onChange:e=>C(e.target.value),className:`h-9 min-w-0 flex-1 rounded border border-line bg-bg px-2 font-mono text-xs text-ink outline-none focus:border-blue`}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>void j(`cwd`,()=>R.setWorkdir(t,v),f(`operations.workdirUpdated`)),disabled:!!A||!v.trim(),title:f(`operations.applyWorkdir`),"aria-label":f(`operations.applyWorkdir`),className:`flex h-9 w-9 items-center justify-center rounded border border-blue/50 text-xs text-blue disabled:opacity-40`,children:(0,K.jsx)(o,{icon:y})})]}),(0,K.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>void j(`reset`,()=>R.resetManager(t),`Manager context reset.`),disabled:!!A,title:f(`operations.resetManager`),"aria-label":f(`operations.resetManager`),className:`flex h-9 w-9 items-center justify-center rounded border border-line text-xs text-ink-dim disabled:opacity-40`,children:(0,K.jsx)(o,{icon:te})}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>void j(`upgrade`,()=>uo(R.upgradeDaemon(t,r.daemon_commands?.revision)),`Current-release daemon started after safely draining active work.`),disabled:!!A||ge,title:ge?`Externally supervised daemon cannot be restarted from this Web host`:he?`Upgrade incompatible daemon`:`Restart on current release`,"aria-label":ge?`Externally supervised daemon`:he?`Upgrade incompatible daemon`:`Restart on current release`,className:`flex h-9 w-9 items-center justify-center rounded border text-xs disabled:opacity-40 ${he?`border-err/60 bg-err/10 text-err`:`border-line text-ink-dim`}`,children:(0,K.jsx)(o,{icon:x})})]}),r.daemon.protocol_error?(0,K.jsx)(`p`,{className:`mt-2 text-xs text-err`,children:r.daemon.protocol_error}):null,_e.length?(0,K.jsxs)(`div`,{className:`mt-4`,children:[(0,K.jsx)(`div`,{className:`text-[10px] uppercase tracking-wide text-ink-faint`,children:f(`operations.replaceSlot`)}),(0,K.jsx)(`div`,{className:`mt-2 space-y-1`,children:_e.map(e=>(0,K.jsxs)(`button`,{type:`button`,disabled:!!A,onClick:()=>void j(`replace:${e.id}`,()=>uo(R.replaceDaemon(t,e.id,!!r.continuous?.enabled,r.daemon_commands?.revision)),`Parked ${e.label||e.id} and started this session.`),title:`Replace ${e.label||e.id}`,"aria-label":`Replace ${e.label||e.id}`,className:`flex w-full items-center justify-between rounded border border-line bg-bg px-2 py-1.5 text-left text-xs text-ink-dim disabled:opacity-40`,children:[(0,K.jsx)(`span`,{className:`truncate`,children:e.label||e.id}),(0,K.jsx)(o,{icon:x,className:`ml-2 text-warn`})]},e.id))})]}):null]}):null,de===`system`?(0,K.jsxs)(`section`,{className:`rounded-lg border border-line bg-panel p-4`,children:[(0,K.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-ink-dim`,children:f(`operations.skills`)}),(0,K.jsxs)(`div`,{className:`mt-3 flex gap-2`,children:[(0,K.jsx)(`input`,{value:w,onChange:e=>ee(e.target.value),className:`h-9 min-w-0 flex-1 rounded border border-line bg-bg px-2 font-mono text-xs text-ink outline-none focus:border-blue`,placeholder:`ls, stats, show NAME…`}),(0,K.jsx)(`button`,{type:`button`,disabled:!!A,onClick:()=>void j(`skills`,async()=>{let e=await R.skills(t,w);return ie(e),e},null),title:f(`operations.runSkill`),"aria-label":f(`operations.runSkill`),className:`flex h-9 w-9 items-center justify-center rounded border border-blue/50 text-xs text-blue disabled:opacity-40`,children:(0,K.jsx)(o,{icon:l})})]}),re?(0,K.jsx)(`pre`,{className:`mt-3 max-h-48 overflow-auto whitespace-pre-wrap rounded bg-bg p-3 font-mono text-xs text-ink-dim scroll-thin`,children:re}):null]}):null,de===`system`?(0,K.jsxs)(`section`,{className:`rounded-lg border border-line bg-panel p-4`,children:[(0,K.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-ink-dim`,children:f(`operations.metrics`)}),(0,K.jsxs)(`div`,{className:`mt-3 flex items-center gap-3`,children:[(0,K.jsx)(`span`,{className:`rounded px-2 py-1 text-xs font-semibold ${ae?.slo?.status===`healthy`?`bg-ok/10 text-ok`:`bg-warn/10 text-warn`}`,children:ae?.slo?.status??`loading`}),(0,K.jsxs)(`span`,{className:`text-xs text-ink-faint`,children:[`event validation failures: `,ae?.event_validation_failures??`—`]})]}),ae?(0,K.jsx)(`pre`,{className:`mt-3 max-h-48 overflow-auto whitespace-pre-wrap rounded bg-bg p-3 font-mono text-[10px] text-ink-dim scroll-thin`,children:JSON.stringify({web:ae.web,provider:ae.provider,cost_control:ae.cost_control},null,2)}):null]}):null,de===`recovery`?(0,K.jsxs)(`section`,{className:`rounded-lg border border-line bg-panel p-4 lg:col-span-2`,children:[(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,K.jsxs)(`h3`,{className:`mr-auto text-xs font-semibold uppercase tracking-wide text-ink-dim`,children:[f(`operations.trash`),` · `,se]}),(0,K.jsx)(`input`,{value:k,onChange:e=>le(e.target.value),onKeyDown:e=>{!Pi(e)&&e.key===`Enter`&&ye()},placeholder:f(`operations.searchTrash`),className:`h-8 min-w-52 rounded border border-line bg-bg px-2 text-xs text-ink outline-none focus:border-blue`}),(0,K.jsx)(`button`,{type:`button`,disabled:!!A,onClick:()=>void ye(),title:f(`operations.searchTrash`),"aria-label":f(`operations.searchTrash`),className:`flex h-8 w-8 items-center justify-center rounded border border-blue/50 text-xs text-blue disabled:opacity-40`,children:(0,K.jsx)(o,{icon:m})})]}),O.length?(0,K.jsx)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-2`,children:O.map(e=>(0,K.jsxs)(`div`,{className:`flex items-center gap-3 rounded border border-line bg-bg p-2`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`truncate text-xs text-ink`,children:e.label}),(0,K.jsx)(`div`,{className:`truncate font-mono text-[10px] text-ink-faint`,children:e.trash_path})]}),(0,K.jsx)(`button`,{type:`button`,disabled:!!A,onClick:()=>void me(e),title:`Restore ${e.label}`,"aria-label":`Restore ${e.label}`,className:`flex h-8 w-8 items-center justify-center rounded border border-blue/50 text-xs text-blue disabled:opacity-40`,children:(0,K.jsx)(o,{icon:n})})]},e.trash_id))}):(0,K.jsx)(`p`,{className:`mt-3 text-xs text-ink-faint`,children:f(`operations.trashEmpty`)}),se>O.length?(0,K.jsxs)(`p`,{className:`mt-2 text-[10px] text-ink-faint`,children:[`Showing the newest `,O.length,` matches. Narrow the search to find older sessions.`]}):null]}):null,E?(0,K.jsx)(`pre`,{className:`rounded-lg border border-line bg-panel p-3 font-mono text-xs whitespace-pre-wrap text-ink-dim lg:col-span-2`,children:E}):null]})]})}var po=[`API`,`Protocol`,`Workspace`];function mo(){let{t:e}=q(),t=(0,M.useRef)(null);return Qr(t,(e,t)=>{if(t){e.set(`[data-handshake-line], [data-handshake-node]`,{opacity:1,scale:1,clearProps:`transform`});return}e.to(`[data-handshake-mark]`,{scale:1.055,duration:.75,ease:`sine.inOut`,repeat:-1,yoyo:!0,transformOrigin:`50% 50%`}),e.timeline({repeat:-1,repeatDelay:.25}).fromTo(`[data-handshake-line]`,{scaleX:0,opacity:.25,transformOrigin:`0% 50%`},{scaleX:1,opacity:.8,duration:.9,ease:`power2.inOut`}).fromTo(`[data-handshake-node]`,{autoAlpha:.25,scale:.72},{autoAlpha:1,scale:1,duration:.28,stagger:.16,ease:`back.out(1.8)`},.12).to(`[data-handshake-node]`,{autoAlpha:.35,duration:.3,stagger:.08},`+=0.35`)}),(0,K.jsxs)(`div`,{ref:t,role:`status`,"aria-label":e(`handshake.connecting`),className:`w-full max-w-xl px-6 text-center`,children:[(0,K.jsx)(`div`,{"data-handshake-mark":!0,className:`handshake-mark glass-card mx-auto flex h-16 w-16 items-center justify-center rounded-3xl text-blue shadow-glow sm:h-20 sm:w-20`,children:(0,K.jsx)(xi,{size:48,className:`text-blue`})}),(0,K.jsxs)(`div`,{className:`relative mx-auto mt-8 h-10 max-w-sm sm:max-w-md`,children:[(0,K.jsx)(`div`,{className:`absolute left-[10%] right-[10%] top-3 h-px bg-line/80`}),(0,K.jsx)(`div`,{"data-handshake-line":!0,className:`handshake-line absolute left-[10%] right-[10%] top-3 h-px`}),(0,K.jsx)(`div`,{className:`relative flex justify-between`,children:po.map(e=>(0,K.jsxs)(`div`,{className:`flex w-20 flex-col items-center gap-2.5`,children:[(0,K.jsx)(`span`,{"data-handshake-node":!0,className:`handshake-node h-6 w-6 rounded-full border ring-4 ring-bg`,children:(0,K.jsx)(`span`,{className:`m-auto mt-[7px] block h-2 w-2 rounded-full bg-blue`})}),(0,K.jsx)(`span`,{className:`text-xs font-medium text-ink-faint`,children:e})]},e))})]}),(0,K.jsx)(`p`,{className:`mt-9 text-base font-medium text-ink-dim`,children:`Connecting to Argus`}),(0,K.jsx)(`p`,{className:`mt-1.5 text-sm text-ink-faint`,children:`Negotiating protocol and restoring your workspace…`})]})}function ho({loading:e,hasProjects:t,error:n,onRetry:r,onNew:i,onChoose:a,canCreate:o}){let{t:s}=q();return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 text-center`,children:[e?(0,K.jsx)(mo,{}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Ci,{size:32,tag:oi}),(0,K.jsx)(`p`,{className:`max-w-md text-sm leading-relaxed ${n?`text-err`:`text-ink-faint`}`,children:n||s(t?`landing.selectOrCreate`:`landing.noSessions`)})]}),!e&&(0,K.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-2`,children:[n?(0,K.jsx)(di,{onClick:r,variant:`danger`,children:s(`common.retry`)}):null,t?(0,K.jsx)(di,{onClick:a,children:s(`landing.select`)}):o?(0,K.jsx)(di,{onClick:i,variant:`primary`,children:s(`landing.new`)}):null]})]})}function go({active:e,onSelect:t,onOpenSessions:n}){let{t:r}=q(),i=[{id:`mission`,label:r(`mobile.mission`),icon:S},{id:`activity`,label:r(`mobile.activity`),icon:_},{id:`workbench`,label:r(`mobile.workbench`),icon:g},{id:`preview`,label:r(`mobile.preview`),icon:ee}];return(0,K.jsxs)(`nav`,{"aria-label":r(`mobile.views`),className:`mobile-tabbar glass-panel glass-panel--raised fixed inset-x-0 bottom-0 z-40 flex items-stretch border-t border-line/60 lg:hidden`,children:[n?(0,K.jsxs)(`button`,{type:`button`,onClick:n,"aria-label":r(`topbar.openSessions`),className:`flex min-h-[3.25rem] flex-1 flex-col items-center justify-center gap-0.5 text-ink-faint active:bg-panel-raised`,children:[(0,K.jsx)(o,{icon:h,className:`h-4 w-4`}),(0,K.jsx)(`span`,{className:`text-[10px] leading-none`,children:r(`mobile.sessions`)})]}):null,i.map(n=>{let r=n.id===e;return(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(n.id),"aria-current":r?`page`:void 0,className:`flex min-h-[3.25rem] flex-1 flex-col items-center justify-center gap-0.5 active:bg-panel-raised ${r?`text-blue`:`text-ink-faint`}`,children:[(0,K.jsx)(o,{icon:n.icon,className:`h-4 w-4`}),(0,K.jsx)(`span`,{className:`text-[10px] leading-none`,children:n.label})]},n.id)})]})}function _o(){(0,M.useEffect)(()=>{let e=window.visualViewport,t=document.documentElement;if(!e)return;let n=null,r=()=>{n!=null&&window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{let n=window.innerHeight-e.height-e.offsetTop,r=n>24?Math.round(n):0;t.style.setProperty(`--keyboard-inset`,`${r}px`)})};return r(),e.addEventListener(`resize`,r),e.addEventListener(`scroll`,r),()=>{n!=null&&window.cancelAnimationFrame(n),e.removeEventListener(`resize`,r),e.removeEventListener(`scroll`,r),t.style.removeProperty(`--keyboard-inset`)}},[])}async function vo(e,t){let n=V(e.trim());if(!n)return{kind:`not-command`};if(!n.cmd){let e=Vt(n.name);return{kind:`error`,message:e?`Unknown command ${n.name}. Did you mean ${e}?`:`Unknown command ${n.name}. Use /help for the full list.`}}if(n.cmd.id===`ask`)return{kind:`not-command`};if(Nt(n.cmd)&&!n.rest)return{kind:`error`,message:`Usage: ${n.cmd.name}${n.cmd.arg?` ${n.cmd.arg}`:``}`};try{await t[n.cmd.id](n.rest)}catch(e){return{kind:`error`,message:e instanceof Error?e.message:String(e??`Command failed`)}}return{kind:`handled`}}function yo({activeSid:e,activityEventsRef:t,notify:n,onClearEvents:r,onDispose:i,onOpenConfig:a,onOpenDoctor:o,onOpenHelp:s,onOpenIdentity:c,onOpenInspector:l,onOpenNewDaemon:u,onOpenOperations:d,onOpenSidebar:f,onReconnectEvents:p,onRenameProject:m,onRewriteDraft:h,onSelectProject:g,onSetArtifactPath:_,onSetEventFilter:v,onSetEventQuery:y,onSetTaskItemId:b,onSetWorkspaceView:x,onShowArtifacts:S,onStopIteration:C,onStopWaiting:w,refetchSnapshot:T}){return{status:async()=>l(),roles:async()=>d(),journal:async()=>l(),backlog:async()=>x(`mission`),item:async e=>{e&&b(e)},artifacts:async()=>S(),artifact:async e=>{e&&_(e)},events:async e=>{x(`activity`);let{filter:t,query:n}=Bt(e);v(t),y(n)},find:async e=>{x(`activity`),v(`all`),y(e)},run:async()=>x(`activity`),clear:async()=>{x(`activity`),v(`all`),y(``),r(t.current.length)},cancel:async()=>w(),task:async t=>{e&&(await R.addTask(e,t),T(),n(`success`,`Task queued.`))},rewrite:async e=>{let t=e.trim();if(!t){n(`info`,`Type your prompt in the composer and press Rewrite, or use /rewrite .`);return}h(t)},plan:async t=>{if(!e)return;let r=await R.previewPlan(e,t);r.error?n(`error`,r.error):n(`info`,r.steps.map(e=>e.title).join(` +`)||`Plan preview ready.`)},nudge:async t=>{e&&(await R.nudge(e,t),n(`success`,`Guidance injected.`))},abort:async t=>{e&&(await R.abortMission(e,t||`operator abort`),n(`info`,`Abort requested.`))},note:async t=>{e&&(await R.note(e,t),n(`success`,`Note appended to timeline.`))},done:async e=>{e&&i(e,`done`)},skip:async e=>{e&&i(e,`rm`)},stop:async e=>{e&&C(e)},new:async()=>u(),daemons:async()=>f(),resume:async e=>{e&&e!==`list`?g(e):f()},attach:async e=>{e&&g(e)},rename:async t=>{!e||!t||await m(t)},doctor:async()=>o(),backend:async t=>{if(!e||!t){a();return}await R.setConfig(e,`runner_backend`,t),n(`success`,`Backend set to ${t}.`)},config:async t=>{if(!e||!t){a();return}let r=t.indexOf(`=`);r>0?(await R.setConfig(e,t.slice(0,r).trim(),t.slice(r+1).trim()),n(`success`,`Config updated.`)):a()},identity:async()=>c(),reset:async()=>{e&&(await R.resetManager(e),n(`success`,`Manager context reset.`))},skills:async t=>{e&&n(`info`,(await R.skills(e,t||`ls`)).slice(0,400))},reconnect:async()=>p(),help:async()=>s(),quit:async()=>n(`info`,`Background work continues; close this browser tab when ready.`)}}function bo(e){return e.kind===`error`?(typeof e.reply==`string`?e.reply.trim():``)||`Manager could not handle this message.`:null}function xo(e,t){e.kind===`task`&&t.dispatchTask(e);let n=bo(e);n&&t.notifyError(n),t.refetchTranscript()}var So={skipFirst:0,reconnectKey:0};function Co(e,t){return t.kind===`clear`?{...e,skipFirst:Math.max(0,t.offset)}:t.kind===`reconnect`?{skipFirst:0,reconnectKey:e.reconnectKey+1}:{...e,skipFirst:0}}var wo=`local_request_id`;function To(e,t,n,r=Date.now()){return{type:`ui.operator`,agent_layer:`operator`,text:n,ts:r/1e3,event_id:`local-${e}-${t}-operator`,message_id:`local-${t}-operator`,[wo]:t}}function Eo(e,t,n,r,i,a=Date.now(),o=`auto`){let s=r.trim();if(!s)return e;let c=e.findIndex(e=>e.type===`ui.argus`&&Number(e[wo])===n),l=i.endsWith(`-argus`)?`${i.slice(0,-6)}-operator`:``,u=l?e.map(e=>e.type===`ui.operator`&&Number(e[wo])===n?{...e,message_id:l}:e):e,d=u.find(e=>e.type===`ui.operator`&&Number(e[wo])===n),f=d?Math.max(0,a-Number(d.ts??a/1e3)*1e3):0;if(c<0)return[...u,{type:`ui.argus`,agent_layer:`manager`,text:s,ts:a/1e3,event_id:`local-${t}-${n}-argus`,message_id:i||`local-${n}-argus`,fragment_mode:o,response_latency_ms:f,[wo]:n}];let p=u[c],m=[...u];return m[c]={...p,text:Dt(String(p.text??``),s,o),message_id:i||p.message_id,fragment_mode:o},m}function Do(e,t,n){let r=new Map;e.forEach(e=>{let t=String(e.type??``);if(t!==`ui.operator`&&t!==`ui.argus`)return;let n=`${t}\u0000${String(e.text??``)}`;r.set(n,(r.get(n)??0)+1)});let i=t.map(e=>({type:e.role===`operator`?`ui.operator`:`ui.argus`,agent_layer:e.role===`operator`?`operator`:`manager`,text:e.text,ts:e.ts,message_id:`transcript-${e.ts}-${e.role}`})),a=Array(i.length).fill(!0);for(let e=i.length-1;e>=0;--e){let t=i[e],n=`${String(t.type)}\u0000${String(t.text??``)}`,o=r.get(n)??0;o>0&&(a[e]=!1,r.set(n,o-1))}let o=[...i.filter((e,t)=>a[t]),...e],s=Array(o.length).fill(!0),c=new Set,l=n.filter(e=>{let t=String(e.message_id??``),n=t?o.findIndex((e,n)=>!c.has(n)&&String(e.message_id??``)===t):-1,r=Number(e.ts??0);return n<0&&(n=o.findIndex((t,n)=>{if(c.has(n)||t.type!==e.type||t.text!==e.text)return!1;let i=Number(t.ts??0);return Math.abs(i-r)<=5})),n>=0&&(c.add(n),s[n]=!1),!0});return[...o.filter((e,t)=>s[t]),...l].sort((e,t)=>Number(e.ts??0)-Number(t.ts??0))}function Oo(e,t){if(!t.length)return e;let n=new Map(t.map(e=>[e.id,e]));return e.map(e=>{let t=n.get(e.id);return t?{...e,spend_usd:t.spend_usd,known_cost_usd:t.known_cost_usd,spend_status:t.spend_status,usage_calls:t.usage_calls,premium_requests:t.premium_requests,cost_updated_at:t.updated_at}:e})}async function ko(e,t,n,r=``){let i=await e.createDaemon(``,t,r),a=n.trim();return{created:i,startCampaign:a?()=>e.setContinuous(i.sid,!0,a):null}}var Ao=e=>e instanceof Error?e.message:String(e||`Unknown error`);function jo({localCwd:e,notify:t,onFocusComposer:n,queryClient:r,refetchProjects:i,selectProject:a}){let[o,s]=(0,M.useState)(!1),c=(0,M.useRef)(!1);return{createDaemon:async(o,l,u)=>{if(c.current)return!1;c.current=!0,s(!0);try{let{created:s,startCampaign:c}=await ko(R,o,l,u),d=String(s.workdir||u||``);return r.setQueryData([`projects`],t=>({local_cwd:t?.local_cwd??e,projects:[{id:s.sid,label:o||s.sid,display_name:o,objective:``,launch_cwd:d,workdir:d,last_active:Date.now()/1e3,daemon_alive:!1,daemon_pid:null,uptime_seconds:null},...(t?.projects??[]).filter(e=>e.id!==s.sid)]})),a(s.sid),i(),window.setTimeout(n,0),t(c?`info`:`success`,c?`Session created and selected. Campaign is starting in the background.`:`Session created and selected.`),c&&c().then(()=>{r.invalidateQueries({queryKey:[`snapshot`,s.sid]}),i(),t(`success`,`Campaign started.`)}).catch(e=>{t(`error`,`Session was created, but the campaign could not start: ${Ao(e)}`)}),!0}catch(e){return t(`error`,`Could not create session: ${Ao(e)}`),!1}finally{c.current=!1,s(!1)}},creatingDaemon:o}}var Mo=e=>e instanceof Error?e.message:String(e||`Unknown error`);function No({actions:e,activeSid:t,clearProjectSelection:n,continuous:r,currentSnapshotSid:i,notify:a,refetchProjects:o,selectProject:s,setDaemonManageOpen:c}){let[l,u]=(0,M.useState)(null),d=e.startDaemon.isPending||e.stopDaemon.isPending||e.updateProject.isPending||e.deleteProject.isPending,f=(0,M.useCallback)(e=>({onSuccess:()=>a(`success`,e),onError:e=>a(`error`,Mo(e))}),[a]),p=(0,M.useCallback)(()=>e.startDaemon.mutate(void 0,f(`Daemon start requested.`)),[f,e.startDaemon]),m=(0,M.useCallback)(()=>e.stopDaemon.mutate(!0,f(`Daemon is draining and will stop safely.`)),[f,e.stopDaemon]),h=(0,M.useCallback)(async()=>{try{return await e.startDaemon.mutateAsync(),a(`success`,`Daemon resumed.`),!0}catch(e){return a(`error`,Mo(e)),!1}},[e.startDaemon,a]),g=(0,M.useCallback)(async()=>{try{return await e.stopDaemon.mutateAsync(!0),a(`success`,`Daemon paused safely.`),!0}catch(e){return a(`error`,Mo(e)),!1}},[e.stopDaemon,a]),_=(0,M.useCallback)(async n=>{if(!t)return!1;try{return await e.updateProject.mutateAsync({sid:t,name:n}),a(`success`,`Session name updated.`),!0}catch(e){return a(`error`,Mo(e)),!1}},[e.updateProject,t,a]),v=(0,M.useCallback)(async()=>{if(!t)return!1;try{let t=await e.deleteProject.mutateAsync();c(!1),n(`replace`);let r=Gt((await o()).data?.projects??[])[0];return r&&s(r.id,`replace`),a(`success`,t.workdir_preserved?`Session moved to recoverable trash. Files remain in ${t.workdir}.`:`Session moved to recoverable trash.`),!0}catch(e){return a(`error`,Mo(e)),!1}},[e.deleteProject,t,n,a,o,s,c]),y=(0,M.useCallback)(e=>{if(c(!1),e===t&&i===e){u(null),c(!0);return}u(e),s(e)},[t,i,s,c]);return(0,M.useEffect)(()=>{!l||t!==l||i!==l||(u(null),c(!0))},[t,i,l,c]),{daemonBusy:d,manageDeleteProject:v,managePauseDaemon:g,manageRenameProject:_,manageStartDaemon:h,requestDispose:(0,M.useCallback)((t,n)=>e.disposeBacklog.mutate({id:t,op:n},{onSuccess:()=>a(`success`,n===`done`?`Work marked done.`:`Work removed.`),onError:e=>a(`error`,Mo(e))}),[e.disposeBacklog,a]),requestManageSession:y,requestStartDaemon:p,requestStopDaemon:m,requestStopIteration:(0,M.useCallback)(t=>e.stopBacklog.mutate(t,{onSuccess:()=>a(`success`,`Iteration stopped.`),onError:e=>a(`error`,Mo(e))}),[e.stopBacklog,a]),toggleContinuous:(0,M.useCallback)(()=>{if(!r)return;let t=!r.enabled;e.setContinuous.mutate({enabled:t,objective:r.objective},f(t?`Continuous campaign enabled.`:`Continuous campaign stopped.`))},[f,e.setContinuous,r])}}function Po({focusComposer:e,openHelp:t,toggleKiosk:n,togglePalette:r,toggleReasoning:i,toggleSidebarCollapse:a}){(0,M.useEffect)(()=>{let o=o=>{let s=o.target,c=s?.tagName===`INPUT`||s?.tagName===`TEXTAREA`,l=o.metaKey||o.ctrlKey;l&&o.key.toLowerCase()===`k`?(o.preventDefault(),r()):l&&o.key.toLowerCase()===`t`?(o.preventDefault(),i()):l&&o.key===`.`?(o.preventDefault(),n()):l&&o.key.toLowerCase()===`b`?(o.preventDefault(),a()):l&&o.key.toLowerCase()===`j`?(o.preventDefault(),e()):!c&&o.key===`?`?(o.preventDefault(),t()):!c&&o.key===`/`&&(o.preventDefault(),e())};return window.addEventListener(`keydown`,o),()=>window.removeEventListener(`keydown`,o)},[e,t,n,r,i,a])}var Fo=e=>e instanceof Error?e.message:String(e||`Unknown error`);function Io({activeSid:e,backlog:t,notify:n,pendingQuestions:r,refetchSnapshot:i}){let[a,o]=(0,M.useState)(!1),[s,c]=(0,M.useState)(!1),l=(0,M.useRef)(``),u=(0,M.useMemo)(()=>{let e=(t??[]).map(e=>({...e,operator_decision:e.operator_decision}));return ht(r??[],e)[0]??null},[t,r]);return(0,M.useEffect)(()=>{if(!u||!e){o(!1);return}let t=`${e}:${u.id}`;l.current!==t&&(l.current=t,o(!0))},[e,u]),{answerPendingReply:async(t,r)=>{if(!(!e||!u||s)){c(!0);try{let a=u.legacy?await R.answerPending(e,u.item_id,r):await R.resolveDecision(e,u.id,t,r);if(a.resolved===!1){n(`info`,String(a.reply||`Manager needs a more specific answer.`));return}o(!1),await i(),a.daemon&&Number(a.daemon.rc??0)!==0?n(`error`,`Answer queued, but the daemon did not start: ${a.daemon.error||`operator action required`}`):n(`success`,String(a.reply||`Manager delivered your answer to the team.`))}catch(e){await i(),n(`error`,`Could not send answer: ${Fo(e)}`)}finally{c(!1)}}},pendingReply:u,pendingReplyBusy:s,pendingReplyOpen:a,setPendingReplyOpen:o}}var Lo=`argus.browser.project.v1`;function Ro(){try{return window.sessionStorage.getItem(Lo)}catch{return null}}function zo(e){try{e?window.sessionStorage.setItem(Lo,e):window.sessionStorage.removeItem(Lo)}catch{}}function Bo(e,t){let n=new URL(window.location.href);e?n.searchParams.set(`project`,e):n.searchParams.delete(`project`);let r=t===`push`?`pushState`:`replaceState`;window.history[r](window.history.state,``,n.toString())}function Vo({cancelActiveMessage:e,notify:t,projects:n,projectsError:r,projectsReady:i,queryClient:a,setArtifactPath:o,setSidebarOpen:s,setTaskItemId:c}){let l=new URLSearchParams(window.location.search),[u,d]=(0,M.useState)(l.get(`project`)||Ro()),f=(0,M.useRef)(u),p=(0,M.useRef)(!1);f.current=u;let m=(0,M.useCallback)(t=>{t!==f.current&&(e(),o(null),c(null)),f.current=t,d(t),zo(t)},[e,o,c]),h=(0,M.useCallback)((e,t=`push`)=>{let n=new URLSearchParams(window.location.search).get(`project`);m(e),n!==e&&Bo(e,t)},[m]),g=(0,M.useCallback)((e=`replace`)=>{let t=new URLSearchParams(window.location.search).get(`project`);m(null),t!=null&&Bo(null,e)},[m]),_=(0,M.useCallback)(e=>{a.prefetchQuery({queryKey:[`snapshot`,e],queryFn:({signal:t})=>R.snapshot(e,t),staleTime:3e3})},[a]);return(0,M.useEffect)(()=>{if(!i)return;let e=p.current,r=Jt(n,f.current,e);if(!e&&(p.current=!0,r.id===f.current?zo(r.id):m(r.id),new URLSearchParams(window.location.search).get(`project`)!==r.id&&Bo(r.id,`replace`),r.recovered)){let e=n.find(e=>e.id===r.id);t(`info`,e?`Project “${r.requested}” was not found. Switched to ${e.label||e.id}.`:`Project “${r.requested}” was not found. Create a daemon to continue.`)}},[m,t,n,i]),(0,M.useEffect)(()=>{let e=()=>{let e=new URLSearchParams(window.location.search).get(`project`);if(s(!1),!e){m(null);return}if(!i){m(e);return}let r=qt(n,e);if(m(r.id),r.recovered){Bo(r.id,`replace`);let e=n.find(e=>e.id===r.id);t(`info`,e?`Project “${r.requested}” was not found. Switched to ${e.label||e.id}.`:`Project “${r.requested}” was not found. Create a daemon to continue.`)}};return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[m,t,n,i,s]),{activateProject:m,activeSid:i?u&&n.some(e=>e.id===u)?u:null:r?u:null,clearProjectSelection:g,prefetchProject:_,selectProject:h,sid:u,sidRef:f}}function Ho(e,t){let n=localStorage.getItem(e);return n==null?t:n===`true`}function Uo(){let e=new URLSearchParams(window.location.search),[t,n]=(0,M.useState)(e.get(`kiosk`)===`1`),[r,i]=(0,M.useState)(()=>Ho(`argus.reasoning.visible.v1`,!1)),[a,o]=(0,M.useState)(()=>{let e=localStorage.getItem(`argus.workspace.view`);return e===`mission`||e===`workbench`?e:`activity`}),[s,c]=(0,M.useState)(`activity`),[l,u]=(0,M.useState)(()=>Ho(`argus.preview.expanded.v5`,!0)),[d,f]=(0,M.useState)(()=>{let e=Number(localStorage.getItem(`argus.sidebar.width.v2`)||256);return Number.isFinite(e)?Math.max(220,Math.min(400,e)):256}),[p,m]=(0,M.useState)(()=>{let e=Number(localStorage.getItem(`argus.preview.width.v2`)||440);return Number.isFinite(e)?Math.max(320,Math.min(600,e)):440}),[h,g]=(0,M.useState)(!1),[_,v]=(0,M.useState)(()=>Ho(`argus.sidebar.expanded.v4`,!0)),[y,b]=(0,M.useState)(()=>{let e=localStorage.getItem(`argus.theme`);return e===`light`||e===`dark`?e:null}),[x,S]=(0,M.useState)(()=>window.matchMedia(`(prefers-color-scheme: dark)`).matches),C=y??(x?`dark`:`light`),w=(0,M.useRef)(null),T=(0,M.useRef)(null);(0,M.useEffect)(()=>{localStorage.setItem(`argus.sidebar.expanded.v4`,String(_)),localStorage.setItem(`argus.preview.expanded.v5`,String(l)),localStorage.setItem(`argus.sidebar.width.v2`,String(d)),localStorage.setItem(`argus.preview.width.v2`,String(p))},[_,d,l,p]),(0,M.useEffect)(()=>{localStorage.setItem(`argus.workspace.view`,a)},[a]),(0,M.useEffect)(()=>{localStorage.setItem(`argus.reasoning.visible.v1`,String(r))},[r]),(0,M.useEffect)(()=>{let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>S(e.matches);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,M.useEffect)(()=>{document.documentElement.dataset.theme=C},[C]),(0,M.useEffect)(()=>{let e=()=>{document.documentElement.dataset.pageVisible=String(!document.hidden)};return e(),document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]);let ee=(0,M.useCallback)(()=>{let e=C===`light`?`dark`:`light`;b(e),localStorage.setItem(`argus.theme`,e)},[C]),te=(0,M.useCallback)((e,t)=>{let n=w.current;if(!n)return;t.preventDefault();let r=n.getBoundingClientRect();document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`;let i=t=>{T.current!=null&&window.cancelAnimationFrame(T.current),T.current=window.requestAnimationFrame(()=>{if(e===`left`){let e=l?p+8:56,n=Math.max(220,Math.min(400,r.width-e-360-8));f(Math.max(220,Math.min(n,t.clientX-r.left)))}else{let e=_?d+8:56,n=Math.max(320,Math.min(600,r.width-e-360-8));m(Math.max(320,Math.min(n,r.right-t.clientX)))}})},a=()=>{T.current!=null&&window.cancelAnimationFrame(T.current),T.current=null,document.body.style.cursor=``,document.body.style.userSelect=``,window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,a),window.removeEventListener(`pointercancel`,a)};window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,a,{once:!0}),window.addEventListener(`pointercancel`,a,{once:!0})},[_,d,l,p]);return(0,M.useEffect)(()=>{let e=()=>{if(window.innerWidth<1024||!w.current)return;let e=w.current.clientWidth,t=_?d:56,n=l?p:56,r=(_?8:0)+(l?8:0),i=Math.max(540,e-360-r);if(t+n<=i)return;let a=l?Math.max(320,Math.min(p,i-t)):n,o=_?Math.max(220,Math.min(d,i-a)):t;o+a>i&&l&&(a=Math.max(320,i-o)),_&&f(o),l&&m(a)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[_,d,l,p]),{cycleTheme:ee,kiosk:t,leftPanelOpen:_,leftWidth:d,mobileView:s,resizeSidebar:te,rightPanelOpen:l,rightWidth:p,setKiosk:n,setLeftPanelOpen:v,setLeftWidth:f,setMobileView:c,setRightPanelOpen:u,setRightWidth:m,setShowReasoning:i,setSidebarOpen:g,setWorkspaceView:o,shellRef:w,showReasoning:r,sidebarOpen:h,themeMode:C,workspaceView:a}}function Wo({error:e,onRetry:t}){let{t:n}=q(),r=Ye(e),i=e instanceof Je;return!r&&!i?null:(0,K.jsxs)(`div`,{role:`alert`,className:`fixed left-1/2 top-3 z-[100] flex w-[min(92vw,42rem)] -translate-x-1/2 items-start gap-3 rounded-xl border border-err/50 bg-panel/95 px-4 py-3 text-left text-sm text-ink shadow-xl backdrop-blur`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`mt-0.5 font-mono font-bold text-err`,children:`!`}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`strong`,{className:`block text-err`,children:n(r?`connection.pairingTitle`:`connection.unreachableTitle`)}),(0,K.jsx)(`span`,{className:`mt-0.5 block text-xs leading-relaxed text-ink-dim`,children:n(r?`connection.pairingDetail`:`connection.unreachableDetail`)})]}),r?null:(0,K.jsx)(`button`,{type:`button`,onClick:t,className:`shrink-0 rounded-md border border-err/40 px-2.5 py-1 text-xs text-err hover:bg-err/10`,children:n(`common.retry`)})]})}var Go=0,Ko=(0,M.lazy)(async()=>({default:(await Jr(()=>import(`./ResearchWorkbenchPanel-BaphEhte.js`),__vite__mapDeps([2,1,3,4,5,6]))).ResearchWorkbenchPanel}));function qo(){let{locale:e,t}=q(),n=se(),r=fr(),i=pr(),a=(0,M.useMemo)(()=>Gt(Oo(r.data?.projects??[],i.data?.projects??[])),[i.data?.projects,r.data?.projects]),s=r.data?.local_cwd??``,c=[r.error,i.error].find(e=>Xe(e)),[l,u]=(0,M.useState)(`none`),{cycleTheme:d,kiosk:f,leftPanelOpen:p,leftWidth:m,mobileView:h,resizeSidebar:g,rightPanelOpen:_,rightWidth:v,setKiosk:y,setLeftPanelOpen:b,setLeftWidth:x,setMobileView:S,setRightPanelOpen:w,setRightWidth:T,setShowReasoning:ee,setSidebarOpen:te,setWorkspaceView:E,shellRef:ne,showReasoning:re,sidebarOpen:ie,themeMode:ae,workspaceView:D}=Uo(),[O,oe]=(0,M.useState)(()=>D===`mission`?`mission`:`activity`),[ce,k]=(0,M.useState)(D===`workbench`);(0,M.useEffect)(()=>{if(D===`workbench`){k(!0);return}oe(D)},[D]),_o();let[le,A]=(0,M.useState)(0),[ue,de]=(0,M.useState)(``),[fe,j]=(0,M.useState)(!1),[pe,me]=(0,M.useState)(0),[he,ge]=(0,M.useState)(!1),[_e,ve]=(0,M.useState)([]),[ye,be]=(0,M.useState)(``),[xe,Se]=(0,M.useState)(!1),[Ce,we]=(0,M.useState)(0),[Te,Ee]=(0,M.useState)([]),[De,Oe]=(0,M.useState)(0),[ke,Ae]=(0,M.useState)(null),[je,Me]=(0,M.useState)(null),[Ne,Pe]=(0,M.useState)(!1),[Fe,Ie]=(0,M.useState)(!1),Le=(0,M.useRef)(null),Re=(0,M.useRef)(0),[ze,Be]=(0,M.useState)(null),[Ve,He]=(0,M.useReducer)(Co,So),[Ue,We]=(0,M.useState)(`all`),[Ge,Ke]=(0,M.useState)(``),qe=(0,M.useCallback)(()=>Be(null),[]),N=(0,M.useCallback)((e,t)=>{Be({id:++Go,tone:e,message:t})},[]),Je=(0,M.useCallback)(()=>{let e=!!Le.current;return Re.current+=1,Le.current?.controller.abort(),Le.current=null,ge(!1),be(``),Se(!1),we(0),Ee([]),Oe(0),e},[]),Ye=(0,M.useCallback)(()=>{Je()&&N(`info`,`Stopped waiting for this reply. Server-side work may still finish in the project timeline.`)},[Je,N]),{activeSid:P,clearProjectSelection:Ze,prefetchProject:Qe,selectProject:F,sidRef:$e}=Vo({cancelActiveMessage:Je,notify:N,projects:a,projectsError:r.isError,projectsReady:r.isSuccess,queryClient:n,setArtifactPath:Ae,setSidebarOpen:te,setTaskItemId:Me});(0,M.useEffect)(()=>()=>{Re.current+=1,Le.current?.controller.abort(),Le.current=null},[]);let et=(0,M.useCallback)(e=>{let t=(e||``).trim(),n=$e.current;!t||!n||fe||(j(!0),R.rewritePrompt(n,t).then(e=>{if(j(!1),e.error||!e.rewritten.trim()){N(`error`,`Rewrite failed: ${e.error||`empty rewrite`} — your prompt is unchanged`);return}de(e.rewritten),A(e=>e+1);let t=e.questions.length?` Manager asks: ${e.questions.join(` · `)}`:``;N(`success`,`Prompt rewritten — review it, then send.${t}`)},e=>{j(!1),N(`error`,`Rewrite failed: ${ii(e)} — your prompt is unchanged`)}))},[N,fe,$e]),{createDaemon:tt,creatingDaemon:nt}=jo({localCwd:s,notify:N,onFocusComposer:()=>A(e=>e+1),queryClient:n,refetchProjects:r.refetch,selectProject:F}),I=mr(P),L=I.data,rt=L?.session.id===P?P:null,it=L?.continuous,at=br(rt,!0),ot=Sr(rt,O===`mission`),{events:st,connected:ct}=jr(rt,Ve.reconnectKey),lt=(0,M.useMemo)(()=>Or(st),[st]),z=(0,M.useMemo)(()=>Ar(st),[st]);(0,M.useEffect)(()=>{!rt||!lt||n.invalidateQueries({queryKey:[`artifacts`,rt],exact:!0})},[lt,rt,n]),(0,M.useEffect)(()=>{!rt||!z||n.invalidateQueries({queryKey:[`snapshot`,rt],exact:!0})},[rt,n,z]);let ut=(0,M.useMemo)(()=>Pn(st),[st]),dt=yr(rt,O===`activity`,120),ft=hr(P,20,l===`inspector`),{answerPendingReply:pt,pendingReply:mt,pendingReplyBusy:ht,pendingReplyOpen:B,setPendingReplyOpen:gt}=Io({activeSid:P,backlog:L?.backlog,notify:N,pendingQuestions:L?.pending_questions,refetchSnapshot:I.refetch}),_t=(0,M.useMemo)(()=>Do(st,dt.data??[],_e),[st,_e,dt.data]),vt=(0,M.useMemo)(()=>L?En(L,_t,at.data??[]):null,[_t,at.data,L]),yt=(0,M.useRef)(_t);yt.current=_t,(0,M.useEffect)(()=>{We(`all`),Ke(``),ve([]),He({kind:`reset`})},[rt]);let bt=wr(P,L?.daemon_commands?.revision),{daemonBusy:xt,manageDeleteProject:St,managePauseDaemon:Ct,manageRenameProject:wt,manageStartDaemon:Tt,requestDispose:Et,requestManageSession:Dt,requestStartDaemon:Ot,requestStopDaemon:kt,requestStopIteration:At,toggleContinuous:Mt}=No({actions:bt,activeSid:P,clearProjectSelection:Ze,continuous:it,currentSnapshotSid:L?.session.id,notify:N,refetchProjects:r.refetch,selectProject:F,setDaemonManageOpen:Ie}),Nt=(0,M.useCallback)(async e=>{if(!P)return;let t=await bt.updateProject.mutateAsync({sid:P,name:e});N(`success`,`Renamed to "${t.name}".`)},[bt.updateProject,P,N]),Pt=(0,M.useMemo)(()=>yo({activeSid:P,activityEventsRef:yt,notify:N,onClearEvents:e=>He({kind:`clear`,offset:e}),onDispose:Et,onOpenConfig:()=>u(`config`),onOpenDoctor:()=>u(`doctor`),onOpenHelp:()=>u(`help`),onOpenIdentity:()=>u(`identity`),onOpenInspector:()=>u(`inspector`),onOpenNewDaemon:()=>Pe(!0),onOpenOperations:()=>u(`operations`),onOpenSidebar:()=>te(!0),onReconnectEvents:()=>He({kind:`reconnect`}),onRenameProject:Nt,onRewriteDraft:et,onSelectProject:F,onSetArtifactPath:Ae,onSetEventFilter:We,onSetEventQuery:Ke,onSetTaskItemId:Me,onSetWorkspaceView:E,onShowArtifacts:()=>w(!0),onStopIteration:At,onStopWaiting:Ye,refetchSnapshot:I.refetch}),[P,N,Nt,Et,At,F,I.refetch,Ye,E]);Po({focusComposer:()=>A(e=>e+1),openHelp:()=>u(`help`),toggleKiosk:()=>y(e=>!e),togglePalette:()=>u(e=>e===`palette`?`none`:`palette`),toggleReasoning:()=>ee(e=>!e),toggleSidebarCollapse:()=>b(e=>!e)});let Ft=async(e,n=[])=>{let r=P;if(!r||Le.current)return!1;if(!n.length){let t=await vo(e,Pt);if(t.kind===`handled`)return!0;if(t.kind===`error`)return N(`error`,t.message),!1}let i=++Re.current,a=new AbortController;Le.current={id:i,sid:r,controller:a};let o=()=>{let e=Le.current;return!!(e&&e.id===i&&e.sid===r&&$e.current===r&&!a.signal.aborted)},s=()=>{Le.current?.id===i&&(Le.current=null,ge(!1),be(``),Se(!1),we(0),Oe(0),Ee([]))};ge(!0),be(n.length?t(`chat.uploadingAttachments`):``),Se(!1),we(0),Ee([]),Oe(Date.now());let c=[];if(n.length)try{let e=await R.uploadAttachments(r,n,a.signal);if(!o())return!1;c=e.attachments.map(e=>({attachment_id:e.attachment_id}))}catch(e){return o()&&(N(`error`,t(`chat.attachmentUploadFailed`,{error:ii(e)})),s()),!1}ve(t=>[...t,To(r,i,e)]);let l=(e,t=``,n=`auto`)=>{!o()||typeof e!=`string`||!e.trim()||ve(a=>Eo(a,r,i,e,t,Date.now(),n))},u=e=>{if(!o())return;let t=e.daemon&&typeof e.daemon==`object`?e.daemon:null,n=typeof e.reply==`string`?e.reply:null;t?.admission_required?N(`error`,n||`Task queued, but all daemon slots are busy: ${String(t.error||`operator action required`)}`):t&&Number(t.rc??0)!==0?N(`error`,n||`Task queued, but executor did not start: ${String(t.error||`unknown error`)}`):n&&N(`success`,n),I.refetch?.()},d=e=>{o()&&xo(e,{dispatchTask:u,notifyError:e=>N(`error`,e),refetchTranscript:()=>{dt.refetch()}})};return(async()=>{let t=!1,n=null,i=[];try{try{await R.messageStream(r,e,{onPhase:(e,t,n)=>{o()&&(be(e),Se(n.heartbeat),we(n.quietS),i=Gn(i,{label:e,role:t,kind:n.kind,detail:n.detail,heartbeat:n.heartbeat,quietS:n.quietS}),Ee(i))},onDelta:(e,n,r)=>{o()&&(t=!0,i=Kn(i),Ee(i),be(``),Se(!1),we(0),l(e,n,r===`append`||r===`snapshot`?r:`auto`))},onDone:e=>{o()&&(l(e.reply,``,`snapshot`),d(e))},onError:e=>{o()&&(n=e)}},{signal:a.signal,attachments:c})}catch(e){o()&&(n=e)}if(!o())return;n&&N(`error`,ai(n,t))}finally{s()}})(),!0},It=(0,M.useRef)(Ft);It.current=Ft;let Lt=(0,M.useMemo)(()=>{let n=oa(jt,e=>{It.current(e)},e=>{de(e),A(e=>e+1)},e),r=[...f?[]:[{id:`new`,label:t(`palette.newDaemon`),hint:`+`,group:t(`palette.view`),run:()=>Pe(!0)}],{id:`transcript`,label:t(`palette.openTranscript`),hint:`/transcript`,group:t(`palette.view`),run:()=>u(`transcript`)},{id:`inspector`,label:t(`palette.openProject`),hint:t(`palette.projectHint`),group:t(`palette.view`),run:()=>u(`inspector`)},{id:`operations`,label:t(`palette.openOperations`),hint:t(`palette.operationsHint`),group:t(`palette.view`),run:()=>u(`operations`)},{id:`help`,label:t(`help.title`),hint:`?`,group:t(`palette.view`),run:()=>u(`help`)},{id:`reasoning`,label:t(re?`palette.hideReasoning`:`palette.showReasoning`),hint:`⌘T`,group:t(`palette.view`),run:()=>ee(e=>!e)},{id:`kiosk`,label:t(f?`palette.exitKiosk`:`palette.enterKiosk`),hint:`⌘.`,group:t(`palette.view`),run:()=>y(e=>!e)}],i=f?[]:[{id:`message`,label:t(`palette.messageArgus`),hint:`/`,group:t(`palette.action`),run:()=>A(e=>e+1)},...he?[{id:`cancel-message`,label:t(`palette.stopWaiting`),hint:`Esc`,group:t(`palette.action`),run:Ye}]:[],...it?[{id:`continuous`,label:it.enabled?t(`palette.stopContinuous`):t(`palette.startContinuous`),group:t(`palette.action`),run:Mt}]:[],...L?.daemon.control_available===!1?[]:[L?.daemon.alive?{id:`stop`,label:t(`palette.stopDaemon`),group:t(`palette.action`),run:kt}:{id:`start`,label:t(`palette.startDaemon`),group:t(`palette.action`),run:Ot}]],o=a.map(e=>({id:`p-${e.id}`,label:e.label||e.id,hint:e.daemon_alive?`● ${t(`common.live`)}`:`○`,keywords:`${e.id} ${e.display_name??``} ${e.objective} ${e.daemon_alive?`live running`:`stopped idle`}`,group:t(`palette.project`),run:()=>F(e.id)}));return[...r,...i,...n,...o]},[a,L?.daemon.alive,f,re,it?.enabled,he,Ye,e,t]);return(0,K.jsxs)(`div`,{ref:ne,className:`workbench-shell ambient-canvas flex h-screen h-[100dvh] w-screen max-w-full overflow-hidden text-ink`,children:[(0,K.jsx)(Wo,{error:c,onRetry:()=>{r.refetch(),i.refetch()}}),!f&&ie?(0,K.jsx)(`button`,{type:`button`,"aria-label":t(`common.closeSessions`),onClick:()=>te(!1),className:`fixed inset-0 z-30 bg-black/40 lg:hidden`}):null,f?null:(0,K.jsx)(Ga,{projects:a,activeId:P,localCwd:s,onSelect:e=>{F(e),te(!1)},onPrefetch:Qe,onManage:Dt,onOpenPanel:e=>u(e),onNew:()=>Pe(!0),loading:r.isLoading,creating:nt,error:r.isError?ii(r.error):void 0,onRetry:()=>void r.refetch(),mobileOpen:ie,collapsed:!p,onToggleCollapse:()=>b(e=>!e),themeMode:ae,onCycleTheme:d,expandedWidth:m}),!f&&p?(0,K.jsx)(ro,{label:t(`common.resizeSessions`),value:m,min:220,max:400,onPointerDown:e=>g(`left`,e),onReset:()=>x(256),onNudge:e=>x(t=>Math.max(220,Math.min(400,t+e)))}):null,(0,K.jsx)(`main`,{className:`flex min-w-0 flex-1 overflow-x-hidden`,children:L?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`section`,{className:`${h===`activity`?`flex`:`hidden`} glass-panel glass-panel--main h-full min-w-0 flex-1 flex-col lg:flex`,children:[(0,K.jsx)(Wr,{snap:L,streamOk:ct,onStart:Ot,onStop:kt,onManage:()=>Ie(!0),busy:xt,snapshotStale:I.isError,readOnly:f,missionView:vt}),(0,K.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center gap-1 border-b border-line/60 px-3`,children:[(0,K.jsxs)(`div`,{className:`workspace-tabs`,"data-active":D,children:[(0,K.jsx)(`span`,{className:`workspace-tab-indicator`,"aria-hidden":`true`}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>E(`mission`),className:`workspace-tab`,"data-selected":D===`mission`,children:t(`mobile.mission`)}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>E(`activity`),className:`workspace-tab`,"data-selected":D===`activity`,children:t(`mobile.activity`)}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>E(`workbench`),className:`workspace-tab`,"data-selected":D===`workbench`,children:t(`mobile.workbench`)})]}),D===`mission`?(0,K.jsx)(`span`,{className:`ml-auto hidden max-w-72 truncate text-[10px] text-ink-faint sm:block`,children:vt?.active_role?t(`mission.roleActive`,{role:vt.active_role}):t(`mission.overview`)}):(0,K.jsx)(`span`,{className:`ml-auto`}),f?null:(0,K.jsx)(`button`,{type:`button`,onClick:()=>u(`operations`),className:`rounded border border-line/60 px-2 py-1 text-[10px] text-ink-faint hover:border-blue/50 hover:text-blue`,children:t(`mission.operations`)})]}),(0,K.jsxs)(`div`,{className:`${D===`workbench`?`hidden`:`flex`} min-h-0 flex-1 flex-col`,children:[(0,K.jsx)(xa,{alert:ut}),O===`mission`&&vt?(0,K.jsx)(co,{view:vt,gitDiff:ot.data,onOpenArtifact:Ae}):(0,K.jsx)(Ni,{events:_t,connected:ct,showReasoning:re,onToggleReasoning:()=>ee(e=>!e),embedded:!0,filter:Ue,query:Ge,skipFirst:Ve.skipFirst}),f?null:(0,K.jsx)(`div`,{className:`composer-dock shrink-0 px-4 pt-3`,children:(0,K.jsxs)(`div`,{className:`mx-auto w-full max-w-full lg:max-w-[61.8vw]`,children:[(0,K.jsx)(ya,{questions:L.pending_questions??[],backlog:L.backlog,onAnswer:()=>gt(!0)}),(0,K.jsx)(ra,{value:ue,onChange:de,onSend:Ft,onCancel:Ye,disabled:!P,pending:he,focusSignal:le,embedded:!0,phase:ye,heartbeat:xe,quietS:Ce,steps:Te,startedAt:De,onRewrite:et,rewriting:fe,slashSelection:pe,onSlashSelectionChange:me},P||`no-session`)]})})]}),ce&&P?(0,K.jsx)(`div`,{className:`${D===`workbench`?`flex`:`hidden`} min-h-0 flex-1`,children:(0,K.jsx)(M.Suspense,{fallback:(0,K.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center text-xs text-ink-faint`,children:t(`common.loading`)}),children:(0,K.jsx)(Ko,{sid:P,active:D===`workbench`})})}):null]}),_?(0,K.jsx)(ro,{label:t(`common.resizePreview`),value:v,min:320,max:600,onPointerDown:e=>g(`right`,e),onReset:()=>T(440),onNudge:e=>T(t=>Math.max(320,Math.min(600,t-e)))}):null,(0,K.jsxs)(`aside`,{style:{"--preview-width":`${v}px`},className:`${h===`preview`?`flex`:`hidden`} relative min-w-0 flex-1 flex-col overflow-hidden border-l border-line/60 bg-panel transition-[width] duration-[250ms] ease-panel lg:flex lg:flex-none ${_?`lg:w-[var(--preview-width)]`:`lg:w-14`}`,children:[(0,K.jsx)(`div`,{className:`lg:hidden`,children:(0,K.jsx)(Wr,{snap:L,streamOk:ct,onStart:Ot,onStop:kt,onManage:()=>Ie(!0),busy:xt,snapshotStale:I.isError,readOnly:f,missionView:vt})}),(0,K.jsx)(Ba,{sid:rt,artifacts:at.data,error:at.isError,onExpand:Ae,className:`min-h-0 flex-1 mobile-scroll-region ${_?`lg:flex`:`lg:hidden`}`,embedded:!0,onCollapse:()=>w(!1),missionView:vt,activityEvents:_t}),_?null:(0,K.jsx)(`div`,{className:`hidden h-12 items-center justify-center border-b border-line/50 text-ink-faint lg:flex`,children:(0,K.jsx)(`button`,{type:`button`,onClick:()=>w(!0),"aria-label":t(`common.expandPreview`),title:t(`common.expandPreview`),className:`flex h-8 w-8 items-center justify-center rounded-md border border-line/50 bg-bg/40 hover:border-blue/50 hover:text-ink`,children:(0,K.jsx)(o,{icon:C,className:`h-3.5 w-3.5`})})})]})]}):(0,K.jsx)(ho,{loading:r.isLoading||!!(P&&I.isLoading),hasProjects:a.length>0,error:r.isError&&a.length===0?ii(r.error):I.isError&&!L?ii(I.error):void 0,onRetry:()=>{r.refetch(),P&&I.refetch()},onNew:()=>Pe(!0),onChoose:()=>te(!0),canCreate:!f})}),(0,K.jsx)(ca,{open:l===`palette`,onClose:()=>u(`none`),items:Lt}),(0,K.jsx)(ua,{open:l===`help`,onClose:()=>u(`none`)}),P&&(0,K.jsx)(ga,{sid:P,open:l===`doctor`,onClose:()=>u(`none`)}),P&&(0,K.jsx)(_a,{sid:P,open:l===`config`,onClose:()=>u(`none`)}),P&&(0,K.jsx)(Z,{sid:P,open:l===`identity`,onClose:()=>u(`none`)}),P&&(0,K.jsx)(va,{sid:P,open:l===`transcript`,onClose:()=>u(`none`)}),P&&L?(0,K.jsx)($a,{open:l===`inspector`,snap:L,journal:ft.data??[],busy:bt.disposeBacklog.isPending||bt.stopBacklog.isPending,onClose:()=>u(`none`),onDispose:Et,onStop:At,onInspect:Me}):null,P&&L?(0,K.jsx)(fo,{open:l===`operations`,sid:P,snap:L,onClose:()=>u(`none`),onChanged:()=>{I.refetch(),r.refetch()},onRestored:async e=>{await r.refetch(),F(e)}}):null,(0,K.jsx)(Da,{sid:P,path:ke,onClose:()=>Ae(null)}),(0,K.jsx)(no,{sid:P,itemId:je,onClose:()=>Me(null),onDone:e=>Et(e,`done`),onSkip:e=>Et(e,`rm`),onStop:At,busy:bt.disposeBacklog.isPending||bt.stopBacklog.isPending,readOnly:f}),(0,K.jsx)(Ha,{open:Ne,busy:nt,onClose:()=>Pe(!1),onCreate:tt}),(0,K.jsx)(ba,{reply:mt,open:B,busy:ht,onClose:()=>gt(!1),onSubmit:pt}),P&&L?(0,K.jsx)(Ua,{open:Fe,sid:P,name:L.session.display_name||``,alive:L.daemon.alive,controlAvailable:L.daemon.control_available!==!1,busy:xt,onClose:()=>Ie(!1),onRename:wt,onStart:Tt,onPause:Ct,onDelete:St}):null,(0,K.jsx)(Va,{notice:ze,onClose:qe}),L&&!f?(0,K.jsx)(go,{active:h===`preview`?`preview`:D,onSelect:e=>{if(e===`preview`){S(`preview`);return}S(`activity`),E(e)},onOpenSessions:()=>te(!0)}):null]})}function Jo({onDone:e}){let{t}=q(),n=(0,M.useRef)(!1),r=(0,M.useCallback)(()=>{n.current||(n.current=!0,e())},[e]);return(0,M.useEffect)(()=>{let e=window.setTimeout(r,330),t=()=>r();return window.addEventListener(`keydown`,t,{once:!0}),()=>{window.clearTimeout(e),window.removeEventListener(`keydown`,t)}},[r]),(0,K.jsxs)(`div`,{role:`status`,"aria-label":t(`splash.starting`),onClick:r,onAnimationEnd:e=>{e.currentTarget===e.target&&r()},className:`argus-web-splash`,children:[(0,K.jsx)(`div`,{className:`argus-web-splash-logo argus-web-splash-logo-full`,"aria-hidden":`true`,children:(0,K.jsx)(Ci,{size:72})}),(0,K.jsx)(`div`,{className:`argus-web-splash-logo argus-web-splash-logo-compact`,"aria-hidden":`true`,children:(0,K.jsx)(xi,{size:112})})]})}He();var Yo=new Ee({defaultOptions:{queries:{staleTime:3e3,retry:ur,refetchOnWindowFocus:!1}}});function Xo(){let[e,t]=(0,M.useState)(!0);return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(qo,{}),e?(0,K.jsx)(Jo,{onDone:()=>t(!1)}):null]})}De.createRoot(document.getElementById(`root`)).render((0,K.jsx)(M.StrictMode,{children:(0,K.jsx)(de,{client:Yo,children:(0,K.jsx)(Vr,{children:(0,K.jsx)(Xo,{})})})}));export{ot as a,Ge as i,q as n,Ze as o,We as r,Jr as t}; \ No newline at end of file diff --git a/frontend/web/dist/assets/index-DWO2YeDH.js b/frontend/web/dist/assets/index-DWO2YeDH.js deleted file mode 100644 index ca4479cdb..000000000 --- a/frontend/web/dist/assets/index-DWO2YeDH.js +++ /dev/null @@ -1,53 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ResearchWorkbenchPanel-PFfB4YNn.js","assets/query-BpxuCIcN.js","assets/markdown-B5ILJD_j.js","assets/icons-BHmFHwhB.js","assets/ResearchWorkbenchPanel-Dx5dtiSU.css"])))=>i.map(i=>d[i]); -var Lf=Object.defineProperty;var Df=(e,t,n)=>t in e?Lf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Na=(e,t,n)=>Df(e,typeof t!="symbol"?t+"":t,n);import{r as y,u as kt,a as ud,b as Lt,j as a,Q as Af,R as Mf,d as If}from"./query-BpxuCIcN.js";import{F as pe,f as Of,a as dd,b as md,c as pd,d as fd,e as hd,g as $f,h as gd,i as Ff,j as zf,k as Uf,l as _a,m as Bf,n as Sc,o as Ec,p as Cc,q as nl,r as Wf,s as Tc,t as Hf,u as qf,v as Qf,w as Kf,x as Vf}from"./icons-BHmFHwhB.js";import{M as Gf,r as Yf}from"./markdown-B5ILJD_j.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();var rl={},xd={exports:{}},ut={},yd={exports:{}},vd={};/** - * @license React - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */(function(e){function t(T,I){var D=T.length;T.push(I);e:for(;0>>1,ne=T[H];if(0>>1;Hs(He,D))As(oe,He)?(T[H]=oe,T[A]=D,H=A):(T[H]=He,T[Le]=D,H=Le);else if(As(oe,D))T[H]=oe,T[A]=D,H=A;else break e}}return I}function s(T,I){var D=T.sortIndex-I.sortIndex;return D!==0?D:T.id-I.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var l=Date,o=l.now();e.unstable_now=function(){return l.now()-o}}var c=[],u=[],m=1,f=null,p=3,k=!1,v=!1,w=!1,j=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,d=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function x(T){for(var I=n(u);I!==null;){if(I.callback===null)r(u);else if(I.startTime<=T)r(u),I.sortIndex=I.expirationTime,t(c,I);else break;I=n(u)}}function b(T){if(w=!1,x(T),!v)if(n(c)!==null)v=!0,Q(g);else{var I=n(u);I!==null&&G(b,I.startTime-T)}}function g(T,I){v=!1,w&&(w=!1,h(E),E=-1),k=!0;var D=p;try{for(x(I),f=n(c);f!==null&&(!(f.expirationTime>I)||T&&!L());){var H=f.callback;if(typeof H=="function"){f.callback=null,p=f.priorityLevel;var ne=H(f.expirationTime<=I);I=e.unstable_now(),typeof ne=="function"?f.callback=ne:f===n(c)&&r(c),x(I)}else r(c);f=n(c)}if(f!==null)var Ge=!0;else{var Le=n(u);Le!==null&&G(b,Le.startTime-I),Ge=!1}return Ge}finally{f=null,p=D,k=!1}}var S=!1,N=null,E=-1,C=5,_=-1;function L(){return!(e.unstable_now()-_T||125H?(T.sortIndex=D,t(u,T),n(c)===null&&T===n(u)&&(w?(h(E),E=-1):w=!0,G(b,D-H))):(T.sortIndex=ne,t(c,T),v||k||(v=!0,Q(g))),T},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(T){var I=p;return function(){var D=p;p=I;try{return T.apply(this,arguments)}finally{p=D}}}})(vd);yd.exports=vd;var Jf=yd.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Xf=y,ct=Jf;function R(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),sl=Object.prototype.hasOwnProperty,Zf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Pc={},Rc={};function eh(e){return sl.call(Rc,e)?!0:sl.call(Pc,e)?!1:Zf.test(e)?Rc[e]=!0:(Pc[e]=!0,!1)}function th(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function nh(e,t,n,r){if(t===null||typeof t>"u"||th(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ve(e,t,n,r,s,i,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=s,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=l}var Oe={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Oe[e]=new Ve(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Oe[t]=new Ve(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Oe[e]=new Ve(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Oe[e]=new Ve(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Oe[e]=new Ve(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Oe[e]=new Ve(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Oe[e]=new Ve(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Oe[e]=new Ve(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Oe[e]=new Ve(e,5,!1,e.toLowerCase(),null,!1,!1)});var oo=/[\-:]([a-z])/g;function co(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(oo,co);Oe[t]=new Ve(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(oo,co);Oe[t]=new Ve(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(oo,co);Oe[t]=new Ve(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Oe[e]=new Ve(e,1,!1,e.toLowerCase(),null,!1,!1)});Oe.xlinkHref=new Ve("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Oe[e]=new Ve(e,1,!1,e.toLowerCase(),null,!0,!0)});function uo(e,t,n,r){var s=Oe.hasOwnProperty(t)?Oe[t]:null;(s!==null?s.type!==0:r||!(2o||s[l]!==i[o]){var c=` -`+s[l].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=l&&0<=o);break}}}finally{Ea=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Wr(e):""}function rh(e){switch(e.tag){case 5:return Wr(e.type);case 16:return Wr("Lazy");case 13:return Wr("Suspense");case 19:return Wr("SuspenseList");case 0:case 2:case 15:return e=Ca(e.type,!1),e;case 11:return e=Ca(e.type.render,!1),e;case 1:return e=Ca(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case er:return"Fragment";case Zn:return"Portal";case il:return"Profiler";case mo:return"StrictMode";case al:return"Suspense";case ll:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case bd:return(e.displayName||"Context")+".Consumer";case wd:return(e._context.displayName||"Context")+".Provider";case po:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case fo:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case tn:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function sh(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===mo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function gn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Nd(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ih(e){var t=Nd(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var s=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(l){r=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(l){r=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Os(e){e._valueTracker||(e._valueTracker=ih(e))}function _d(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Nd(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function pi(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function cl(e,t){var n=t.checked;return ve({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Dc(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=gn(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Sd(e,t){t=t.checked,t!=null&&uo(e,"checked",t,!1)}function ul(e,t){Sd(e,t);var n=gn(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?dl(e,t.type,n):t.hasOwnProperty("defaultValue")&&dl(e,t.type,gn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ac(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function dl(e,t,n){(t!=="number"||pi(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Hr=Array.isArray;function dr(e,t,n,r){if(e=e.options,t){t={};for(var s=0;s"+t.valueOf().toString()+"",t=$s.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function ls(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ah=["Webkit","ms","Moz","O"];Object.keys(Yr).forEach(function(e){ah.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Yr[t]=Yr[e]})});function Pd(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Yr.hasOwnProperty(e)&&Yr[e]?(""+t).trim():t+"px"}function Rd(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,s=Pd(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,s):e[n]=s}}var lh=ve({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function fl(e,t){if(t){if(lh[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(R(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(R(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(R(61))}if(t.style!=null&&typeof t.style!="object")throw Error(R(62))}}function hl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var gl=null;function ho(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var xl=null,mr=null,pr=null;function Oc(e){if(e=_s(e)){if(typeof xl!="function")throw Error(R(280));var t=e.stateNode;t&&(t=Vi(t),xl(e.stateNode,e.type,t))}}function Ld(e){mr?pr?pr.push(e):pr=[e]:mr=e}function Dd(){if(mr){var e=mr,t=pr;if(pr=mr=null,Oc(e),t)for(e=0;e>>=0,e===0?32:31-(yh(e)/vh|0)|0}var Fs=64,zs=4194304;function qr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function xi(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,s=e.suspendedLanes,i=e.pingedLanes,l=n&268435455;if(l!==0){var o=l&~s;o!==0?r=qr(o):(i&=l,i!==0&&(r=qr(i)))}else l=n&~s,l!==0?r=qr(l):i!==0&&(r=qr(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&s)&&(s=r&-r,i=t&-t,s>=i||s===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function js(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-St(t),e[t]=n}function jh(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Xr),Qc=" ",Kc=!1;function Zd(e,t){switch(e){case"keyup":return Jh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function em(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var tr=!1;function Zh(e,t){switch(e){case"compositionend":return em(t);case"keypress":return t.which!==32?null:(Kc=!0,Qc);case"textInput":return e=t.data,e===Qc&&Kc?null:e;default:return null}}function eg(e,t){if(tr)return e==="compositionend"||!jo&&Zd(e,t)?(e=Jd(),ni=ko=an=null,tr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Jc(n)}}function sm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?sm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function im(){for(var e=window,t=pi();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=pi(e.document)}return t}function No(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function cg(e){var t=im(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&sm(n.ownerDocument.documentElement,n)){if(r!==null&&No(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=n.textContent.length,i=Math.min(r.start,s);r=r.end===void 0?i:Math.min(r.end,s),!e.extend&&i>r&&(s=r,r=i,i=s),s=Xc(n,i);var l=Xc(n,r);s&&l&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,nr=null,jl=null,es=null,Nl=!1;function Zc(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Nl||nr==null||nr!==pi(r)||(r=nr,"selectionStart"in r&&No(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),es&&ps(es,r)||(es=r,r=ki(jl,"onSelect"),0ir||(e.current=Pl[ir],Pl[ir]=null,ir--)}function le(e,t){ir++,Pl[ir]=e.current,e.current=t}var xn={},We=wn(xn),et=wn(!1),On=xn;function yr(e,t){var n=e.type.contextTypes;if(!n)return xn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var s={},i;for(i in n)s[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function tt(e){return e=e.childContextTypes,e!=null}function bi(){de(et),de(We)}function au(e,t,n){if(We.current!==xn)throw Error(R(168));le(We,t),le(et,n)}function fm(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var s in r)if(!(s in t))throw Error(R(108,sh(e)||"Unknown",s));return ve({},n,r)}function ji(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||xn,On=We.current,le(We,e),le(et,et.current),!0}function lu(e,t,n){var r=e.stateNode;if(!r)throw Error(R(169));n?(e=fm(e,t,On),r.__reactInternalMemoizedMergedChildContext=e,de(et),de(We),le(We,e)):de(et),le(et,n)}var Bt=null,Gi=!1,Ba=!1;function hm(e){Bt===null?Bt=[e]:Bt.push(e)}function wg(e){Gi=!0,hm(e)}function bn(){if(!Ba&&Bt!==null){Ba=!0;var e=0,t=re;try{var n=Bt;for(re=1;e>=l,s-=l,Ht=1<<32-St(t)+s|n<E?(C=N,N=null):C=N.sibling;var _=p(h,N,x[E],b);if(_===null){N===null&&(N=C);break}e&&N&&_.alternate===null&&t(h,N),d=i(_,d,E),S===null?g=_:S.sibling=_,S=_,N=C}if(E===x.length)return n(h,N),fe&&Cn(h,E),g;if(N===null){for(;EE?(C=N,N=null):C=N.sibling;var L=p(h,N,_.value,b);if(L===null){N===null&&(N=C);break}e&&N&&L.alternate===null&&t(h,N),d=i(L,d,E),S===null?g=L:S.sibling=L,S=L,N=C}if(_.done)return n(h,N),fe&&Cn(h,E),g;if(N===null){for(;!_.done;E++,_=x.next())_=f(h,_.value,b),_!==null&&(d=i(_,d,E),S===null?g=_:S.sibling=_,S=_);return fe&&Cn(h,E),g}for(N=r(h,N);!_.done;E++,_=x.next())_=k(N,h,E,_.value,b),_!==null&&(e&&_.alternate!==null&&N.delete(_.key===null?E:_.key),d=i(_,d,E),S===null?g=_:S.sibling=_,S=_);return e&&N.forEach(function($){return t(h,$)}),fe&&Cn(h,E),g}function j(h,d,x,b){if(typeof x=="object"&&x!==null&&x.type===er&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Is:e:{for(var g=x.key,S=d;S!==null;){if(S.key===g){if(g=x.type,g===er){if(S.tag===7){n(h,S.sibling),d=s(S,x.props.children),d.return=h,h=d;break e}}else if(S.elementType===g||typeof g=="object"&&g!==null&&g.$$typeof===tn&&uu(g)===S.type){n(h,S.sibling),d=s(S,x.props),d.ref=Or(h,S,x),d.return=h,h=d;break e}n(h,S);break}else t(h,S);S=S.sibling}x.type===er?(d=In(x.props.children,h.mode,b,x.key),d.return=h,h=d):(b=ui(x.type,x.key,x.props,null,h.mode,b),b.ref=Or(h,d,x),b.return=h,h=b)}return l(h);case Zn:e:{for(S=x.key;d!==null;){if(d.key===S)if(d.tag===4&&d.stateNode.containerInfo===x.containerInfo&&d.stateNode.implementation===x.implementation){n(h,d.sibling),d=s(d,x.children||[]),d.return=h,h=d;break e}else{n(h,d);break}else t(h,d);d=d.sibling}d=Ya(x,h.mode,b),d.return=h,h=d}return l(h);case tn:return S=x._init,j(h,d,S(x._payload),b)}if(Hr(x))return v(h,d,x,b);if(Lr(x))return w(h,d,x,b);Ks(h,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,d!==null&&d.tag===6?(n(h,d.sibling),d=s(d,x),d.return=h,h=d):(n(h,d),d=Ga(x,h.mode,b),d.return=h,h=d),l(h)):n(h,d)}return j}var kr=vm(!0),km=vm(!1),Si=wn(null),Ei=null,or=null,Co=null;function To(){Co=or=Ei=null}function Po(e){var t=Si.current;de(Si),e._currentValue=t}function Dl(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function hr(e,t){Ei=e,Co=or=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Ze=!0),e.firstContext=null)}function yt(e){var t=e._currentValue;if(Co!==e)if(e={context:e,memoizedValue:t,next:null},or===null){if(Ei===null)throw Error(R(308));or=e,Ei.dependencies={lanes:0,firstContext:e}}else or=or.next=e;return t}var Ln=null;function Ro(e){Ln===null?Ln=[e]:Ln.push(e)}function wm(e,t,n,r){var s=t.interleaved;return s===null?(n.next=n,Ro(t)):(n.next=s.next,s.next=n),t.interleaved=n,Yt(e,r)}function Yt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var nn=!1;function Lo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function bm(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function mn(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Z&2){var s=r.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),r.pending=t,Yt(e,n)}return s=r.interleaved,s===null?(t.next=t,Ro(r)):(t.next=s.next,s.next=t),r.interleaved=t,Yt(e,n)}function si(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,xo(e,n)}}function du(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var s=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var l={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?s=i=l:i=i.next=l,n=n.next}while(n!==null);i===null?s=i=t:i=i.next=t}else s=i=t;n={baseState:r.baseState,firstBaseUpdate:s,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ci(e,t,n,r){var s=e.updateQueue;nn=!1;var i=s.firstBaseUpdate,l=s.lastBaseUpdate,o=s.shared.pending;if(o!==null){s.shared.pending=null;var c=o,u=c.next;c.next=null,l===null?i=u:l.next=u,l=c;var m=e.alternate;m!==null&&(m=m.updateQueue,o=m.lastBaseUpdate,o!==l&&(o===null?m.firstBaseUpdate=u:o.next=u,m.lastBaseUpdate=c))}if(i!==null){var f=s.baseState;l=0,m=u=c=null,o=i;do{var p=o.lane,k=o.eventTime;if((r&p)===p){m!==null&&(m=m.next={eventTime:k,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var v=e,w=o;switch(p=t,k=n,w.tag){case 1:if(v=w.payload,typeof v=="function"){f=v.call(k,f,p);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=w.payload,p=typeof v=="function"?v.call(k,f,p):v,p==null)break e;f=ve({},f,p);break e;case 2:nn=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,p=s.effects,p===null?s.effects=[o]:p.push(o))}else k={eventTime:k,lane:p,tag:o.tag,payload:o.payload,callback:o.callback,next:null},m===null?(u=m=k,c=f):m=m.next=k,l|=p;if(o=o.next,o===null){if(o=s.shared.pending,o===null)break;p=o,o=p.next,p.next=null,s.lastBaseUpdate=p,s.shared.pending=null}}while(!0);if(m===null&&(c=f),s.baseState=c,s.firstBaseUpdate=u,s.lastBaseUpdate=m,t=s.shared.interleaved,t!==null){s=t;do l|=s.lane,s=s.next;while(s!==t)}else i===null&&(s.shared.lanes=0);zn|=l,e.lanes=l,e.memoizedState=f}}function mu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Ha.transition;Ha.transition={};try{e(!1),t()}finally{re=n,Ha.transition=r}}function Fm(){return vt().memoizedState}function _g(e,t,n){var r=fn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},zm(e))Um(t,n);else if(n=wm(e,t,n,r),n!==null){var s=Ke();Et(n,e,r,s),Bm(n,t,r)}}function Sg(e,t,n){var r=fn(e),s={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(zm(e))Um(t,s);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var l=t.lastRenderedState,o=i(l,n);if(s.hasEagerState=!0,s.eagerState=o,Ct(o,l)){var c=t.interleaved;c===null?(s.next=s,Ro(t)):(s.next=c.next,c.next=s),t.interleaved=s;return}}catch{}finally{}n=wm(e,t,s,r),n!==null&&(s=Ke(),Et(n,e,r,s),Bm(n,t,r))}}function zm(e){var t=e.alternate;return e===ye||t!==null&&t===ye}function Um(e,t){ts=Pi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Bm(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,xo(e,n)}}var Ri={readContext:yt,useCallback:ze,useContext:ze,useEffect:ze,useImperativeHandle:ze,useInsertionEffect:ze,useLayoutEffect:ze,useMemo:ze,useReducer:ze,useRef:ze,useState:ze,useDebugValue:ze,useDeferredValue:ze,useTransition:ze,useMutableSource:ze,useSyncExternalStore:ze,useId:ze,unstable_isNewReconciler:!1},Eg={readContext:yt,useCallback:function(e,t){return Mt().memoizedState=[e,t===void 0?null:t],e},useContext:yt,useEffect:fu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ai(4194308,4,Am.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ai(4194308,4,e,t)},useInsertionEffect:function(e,t){return ai(4,2,e,t)},useMemo:function(e,t){var n=Mt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Mt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=_g.bind(null,ye,e),[r.memoizedState,e]},useRef:function(e){var t=Mt();return e={current:e},t.memoizedState=e},useState:pu,useDebugValue:zo,useDeferredValue:function(e){return Mt().memoizedState=e},useTransition:function(){var e=pu(!1),t=e[0];return e=Ng.bind(null,e[1]),Mt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ye,s=Mt();if(fe){if(n===void 0)throw Error(R(407));n=n()}else{if(n=t(),Re===null)throw Error(R(349));Fn&30||Sm(r,t,n)}s.memoizedState=n;var i={value:n,getSnapshot:t};return s.queue=i,fu(Cm.bind(null,r,i,e),[e]),r.flags|=2048,ws(9,Em.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Mt(),t=Re.identifierPrefix;if(fe){var n=qt,r=Ht;n=(r&~(1<<32-St(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=vs++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),n==="select"&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[Ot]=t,e[gs]=r,Xm(e,t,!1,!1),t.stateNode=e;e:{switch(l=hl(n,r),n){case"dialog":ce("cancel",e),ce("close",e),s=r;break;case"iframe":case"object":case"embed":ce("load",e),s=r;break;case"video":case"audio":for(s=0;sjr&&(t.flags|=128,r=!0,$r(i,!1),t.lanes=4194304)}else{if(!r)if(e=Ti(l),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),$r(i,!0),i.tail===null&&i.tailMode==="hidden"&&!l.alternate&&!fe)return Ue(t),null}else 2*je()-i.renderingStartTime>jr&&n!==1073741824&&(t.flags|=128,r=!0,$r(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(n=i.last,n!==null?n.sibling=l:t.child=l,i.last=l)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=je(),t.sibling=null,n=xe.current,le(xe,r?n&1|2:n&1),t):(Ue(t),null);case 22:case 23:return Qo(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?at&1073741824&&(Ue(t),t.subtreeFlags&6&&(t.flags|=8192)):Ue(t),null;case 24:return null;case 25:return null}throw Error(R(156,t.tag))}function Mg(e,t){switch(So(t),t.tag){case 1:return tt(t.type)&&bi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return wr(),de(et),de(We),Mo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ao(t),null;case 13:if(de(xe),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(R(340));vr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return de(xe),null;case 4:return wr(),null;case 10:return Po(t.type._context),null;case 22:case 23:return Qo(),null;case 24:return null;default:return null}}var Gs=!1,Be=!1,Ig=typeof WeakSet=="function"?WeakSet:Set,z=null;function cr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ke(e,t,r)}else n.current=null}function Bl(e,t,n){try{n()}catch(r){ke(e,t,r)}}var _u=!1;function Og(e,t){if(_l=yi,e=im(),No(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var s=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var l=0,o=-1,c=-1,u=0,m=0,f=e,p=null;t:for(;;){for(var k;f!==n||s!==0&&f.nodeType!==3||(o=l+s),f!==i||r!==0&&f.nodeType!==3||(c=l+r),f.nodeType===3&&(l+=f.nodeValue.length),(k=f.firstChild)!==null;)p=f,f=k;for(;;){if(f===e)break t;if(p===n&&++u===s&&(o=l),p===i&&++m===r&&(c=l),(k=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=k}n=o===-1||c===-1?null:{start:o,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(Sl={focusedElem:e,selectionRange:n},yi=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var v=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var w=v.memoizedProps,j=v.memoizedState,h=t.stateNode,d=h.getSnapshotBeforeUpdate(t.elementType===t.type?w:bt(t.type,w),j);h.__reactInternalSnapshotBeforeUpdate=d}break;case 3:var x=t.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(R(163))}}catch(b){ke(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return v=_u,_u=!1,v}function ns(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var s=r=r.next;do{if((s.tag&e)===e){var i=s.destroy;s.destroy=void 0,i!==void 0&&Bl(t,n,i)}s=s.next}while(s!==r)}}function Xi(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Wl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function tp(e){var t=e.alternate;t!==null&&(e.alternate=null,tp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ot],delete t[gs],delete t[Tl],delete t[vg],delete t[kg])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function np(e){return e.tag===5||e.tag===3||e.tag===4}function Su(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||np(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Hl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=wi));else if(r!==4&&(e=e.child,e!==null))for(Hl(e,t,n),e=e.sibling;e!==null;)Hl(e,t,n),e=e.sibling}function ql(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(ql(e,t,n),e=e.sibling;e!==null;)ql(e,t,n),e=e.sibling}var Me=null,jt=!1;function en(e,t,n){for(n=n.child;n!==null;)rp(e,t,n),n=n.sibling}function rp(e,t,n){if($t&&typeof $t.onCommitFiberUnmount=="function")try{$t.onCommitFiberUnmount(Hi,n)}catch{}switch(n.tag){case 5:Be||cr(n,t);case 6:var r=Me,s=jt;Me=null,en(e,t,n),Me=r,jt=s,Me!==null&&(jt?(e=Me,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Me.removeChild(n.stateNode));break;case 18:Me!==null&&(jt?(e=Me,n=n.stateNode,e.nodeType===8?Ua(e.parentNode,n):e.nodeType===1&&Ua(e,n),ds(e)):Ua(Me,n.stateNode));break;case 4:r=Me,s=jt,Me=n.stateNode.containerInfo,jt=!0,en(e,t,n),Me=r,jt=s;break;case 0:case 11:case 14:case 15:if(!Be&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){s=r=r.next;do{var i=s,l=i.destroy;i=i.tag,l!==void 0&&(i&2||i&4)&&Bl(n,t,l),s=s.next}while(s!==r)}en(e,t,n);break;case 1:if(!Be&&(cr(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){ke(n,t,o)}en(e,t,n);break;case 21:en(e,t,n);break;case 22:n.mode&1?(Be=(r=Be)||n.memoizedState!==null,en(e,t,n),Be=r):en(e,t,n);break;default:en(e,t,n)}}function Eu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ig),t.forEach(function(r){var s=Qg.bind(null,e,r);n.has(r)||(n.add(r),r.then(s,s))})}}function wt(e,t){var n=t.deletions;if(n!==null)for(var r=0;rs&&(s=l),r&=~i}if(r=s,r=je()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Fg(r/1960))-r,10e?16:e,ln===null)var r=!1;else{if(e=ln,ln=null,Ai=0,Z&6)throw Error(R(331));var s=Z;for(Z|=4,z=e.current;z!==null;){var i=z,l=i.child;if(z.flags&16){var o=i.deletions;if(o!==null){for(var c=0;cje()-Ho?Mn(e,0):Wo|=n),nt(e,t)}function dp(e,t){t===0&&(e.mode&1?(t=zs,zs<<=1,!(zs&130023424)&&(zs=4194304)):t=1);var n=Ke();e=Yt(e,t),e!==null&&(js(e,t,n),nt(e,n))}function qg(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),dp(e,n)}function Qg(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,s=e.memoizedState;s!==null&&(n=s.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(R(314))}r!==null&&r.delete(t),dp(e,n)}var mp;mp=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||et.current)Ze=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ze=!1,Dg(e,t,n);Ze=!!(e.flags&131072)}else Ze=!1,fe&&t.flags&1048576&&gm(t,_i,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;li(e,t),e=t.pendingProps;var s=yr(t,We.current);hr(t,n),s=Oo(null,t,r,e,s,n);var i=$o();return t.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,tt(r)?(i=!0,ji(t)):i=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Lo(t),s.updater=Ji,t.stateNode=s,s._reactInternals=t,Ml(t,r,e,n),t=$l(null,t,r,!0,i,n)):(t.tag=0,fe&&i&&_o(t),Qe(null,t,s,n),t=t.child),t;case 16:r=t.elementType;e:{switch(li(e,t),e=t.pendingProps,s=r._init,r=s(r._payload),t.type=r,s=t.tag=Vg(r),e=bt(r,e),s){case 0:t=Ol(null,t,r,e,n);break e;case 1:t=bu(null,t,r,e,n);break e;case 11:t=ku(null,t,r,e,n);break e;case 14:t=wu(null,t,r,bt(r.type,e),n);break e}throw Error(R(306,r,""))}return t;case 0:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:bt(r,s),Ol(e,t,r,s,n);case 1:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:bt(r,s),bu(e,t,r,s,n);case 3:e:{if(Gm(t),e===null)throw Error(R(387));r=t.pendingProps,i=t.memoizedState,s=i.element,bm(e,t),Ci(t,r,null,n);var l=t.memoizedState;if(r=l.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){s=br(Error(R(423)),t),t=ju(e,t,r,n,s);break e}else if(r!==s){s=br(Error(R(424)),t),t=ju(e,t,r,n,s);break e}else for(lt=dn(t.stateNode.containerInfo.firstChild),ot=t,fe=!0,Nt=null,n=km(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(vr(),r===s){t=Jt(e,t,n);break e}Qe(e,t,r,n)}t=t.child}return t;case 5:return jm(t),e===null&&Ll(t),r=t.type,s=t.pendingProps,i=e!==null?e.memoizedProps:null,l=s.children,El(r,s)?l=null:i!==null&&El(r,i)&&(t.flags|=32),Vm(e,t),Qe(e,t,l,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Ym(e,t,n);case 4:return Do(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=kr(t,null,r,n):Qe(e,t,r,n),t.child;case 11:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:bt(r,s),ku(e,t,r,s,n);case 7:return Qe(e,t,t.pendingProps,n),t.child;case 8:return Qe(e,t,t.pendingProps.children,n),t.child;case 12:return Qe(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,s=t.pendingProps,i=t.memoizedProps,l=s.value,le(Si,r._currentValue),r._currentValue=l,i!==null)if(Ct(i.value,l)){if(i.children===s.children&&!et.current){t=Jt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){l=i.child;for(var c=o.firstContext;c!==null;){if(c.context===r){if(i.tag===1){c=Qt(-1,n&-n),c.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var m=u.pending;m===null?c.next=c:(c.next=m.next,m.next=c),u.pending=c}}i.lanes|=n,c=i.alternate,c!==null&&(c.lanes|=n),Dl(i.return,n,t),o.lanes|=n;break}c=c.next}}else if(i.tag===10)l=i.type===t.type?null:i.child;else if(i.tag===18){if(l=i.return,l===null)throw Error(R(341));l.lanes|=n,o=l.alternate,o!==null&&(o.lanes|=n),Dl(l,n,t),l=i.sibling}else l=i.child;if(l!==null)l.return=i;else for(l=i;l!==null;){if(l===t){l=null;break}if(i=l.sibling,i!==null){i.return=l.return,l=i;break}l=l.return}i=l}Qe(e,t,s.children,n),t=t.child}return t;case 9:return s=t.type,r=t.pendingProps.children,hr(t,n),s=yt(s),r=r(s),t.flags|=1,Qe(e,t,r,n),t.child;case 14:return r=t.type,s=bt(r,t.pendingProps),s=bt(r.type,s),wu(e,t,r,s,n);case 15:return Qm(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:bt(r,s),li(e,t),t.tag=1,tt(r)?(e=!0,ji(t)):e=!1,hr(t,n),Wm(t,r,s),Ml(t,r,s,n),$l(null,t,r,!0,e,n);case 19:return Jm(e,t,n);case 22:return Km(e,t,n)}throw Error(R(156,t.tag))};function pp(e,t){return zd(e,t)}function Kg(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function gt(e,t,n,r){return new Kg(e,t,n,r)}function Vo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Vg(e){if(typeof e=="function")return Vo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===po)return 11;if(e===fo)return 14}return 2}function hn(e,t){var n=e.alternate;return n===null?(n=gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ui(e,t,n,r,s,i){var l=2;if(r=e,typeof e=="function")Vo(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case er:return In(n.children,s,i,t);case mo:l=8,s|=8;break;case il:return e=gt(12,n,t,s|2),e.elementType=il,e.lanes=i,e;case al:return e=gt(13,n,t,s),e.elementType=al,e.lanes=i,e;case ll:return e=gt(19,n,t,s),e.elementType=ll,e.lanes=i,e;case jd:return ea(n,s,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case wd:l=10;break e;case bd:l=9;break e;case po:l=11;break e;case fo:l=14;break e;case tn:l=16,r=null;break e}throw Error(R(130,e==null?e:typeof e,""))}return t=gt(l,n,t,s),t.elementType=e,t.type=r,t.lanes=i,t}function In(e,t,n,r){return e=gt(7,e,r,t),e.lanes=n,e}function ea(e,t,n,r){return e=gt(22,e,r,t),e.elementType=jd,e.lanes=n,e.stateNode={isHidden:!1},e}function Ga(e,t,n){return e=gt(6,e,null,t),e.lanes=n,e}function Ya(e,t,n){return t=gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Gg(e,t,n,r,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pa(0),this.expirationTimes=Pa(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pa(0),this.identifierPrefix=r,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Go(e,t,n,r,s,i,l,o,c){return e=new Gg(e,t,n,o,c),t===1?(t=1,i===!0&&(t|=8)):t=0,i=gt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Lo(i),e}function Yg(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xp)}catch(e){console.error(e)}}xp(),xd.exports=ut;var tx=xd.exports,Mu=tx;rl.createRoot=Mu.createRoot,rl.hydrateRoot=Mu.hydrateRoot;const nx="modulepreload",rx=function(e){return"/"+e},Iu={},yp=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),o=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));s=Promise.allSettled(n.map(c=>{if(c=rx(c),c in Iu)return;Iu[c]=!0;const u=c.endsWith(".css"),m=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${m}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":nx,u||(f.as="script"),f.crossOrigin="",f.href=c,o&&f.setAttribute("nonce",o),document.head.appendChild(f),u)return new Promise((p,k)=>{f.addEventListener("load",p),f.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(l){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=l,window.dispatchEvent(o),!o.defaultPrevented)throw l}return s.then(l=>{for(const o of l||[])o.status==="rejected"&&i(o.reason);return t().catch(i)})};class sx extends Error{constructor(t,n,r,s){super(t),this.name="ApiError",this.status=n,this.method=r,this.path=s}}function ix(e){const t=e.replace(/\s+/g," ").trim();if(!t)return"";try{const n=JSON.parse(e);for(const r of["detail","error","message"]){const s=n[r];if(typeof s=="string"&&s.trim())return s.trim();if(Array.isArray(s)){const i=s.map(l=>l&&typeof l=="object"?String(l.msg??""):"").filter(Boolean);if(i.length)return i.join("; ")}}}catch{}return t.startsWith("typeof f=="string"):[],l=Ja(r==null?void 0:r.major),o=Ja(r==null?void 0:r.minor);if(!n||!r||!s)return{compatible:!1,reason:"malformed /api/meta response"};if(typeof s.source_root!="string"||Ja(s.pid)===null||typeof s.package_version!="string"||typeof s.release_id!="string")return{compatible:!1,reason:"malformed /api/meta runtime identity"};if(n.service!==ox)return{compatible:!1,reason:`unexpected service ${String(n.service||"unknown")}`};const c=e;if(r.name!==Vn.name||l!==Vn.major)return{compatible:!1,reason:`protocol ${String(r.name||"unknown")}/${String(l)} is incompatible with client ${Vn.name}/${Vn.major}`,meta:c};if(o===null||o!i.includes(f));if(u.length>0)return{compatible:!1,reason:`missing capabilities: ${u.join(", ")}`,meta:c};if(s.source_root_matches_config===!1)return{compatible:!1,reason:`backend loaded source ${String(s.source_root)} but ARGUS_SKILL_SOURCE_ROOT points to ${String(s.configured_source_root)}`,meta:c};if(s.release_id!==t.releaseId)return{compatible:!1,reason:`backend release ${String(s.release_id)} does not match client release ${t.releaseId}`,meta:c};if(t.sourceDigest){if(typeof s.runtime_source_digest!="string"||!s.runtime_source_digest)return{compatible:!1,reason:"backend process does not report the source digest required by this local checkout",meta:c};if(s.runtime_source_digest!==t.sourceDigest)return{compatible:!1,reason:`backend process source ${String(s.runtime_source_digest).slice(0,16)} does not match local source ${t.sourceDigest.slice(0,16)}`,meta:c}}return{compatible:!0,reason:"",warning:s.release_matches_source===!1?"backend source differs from its prebuilt release artifacts; pull a complete published revision and reinstall":void 0,meta:c}}function dx(e,t){const n=ux(e);if(!n.compatible||!n.meta)throw new Error(`incompatible Argus API: ${n.reason}`);return n.warning&&(t==null||t(n.warning)),n.meta}function mx(e){const t=is(e),n=is(t==null?void 0:t.daemon);if(!t||t.schema_version!==Oi)throw new Error(`incompatible snapshot schema: expected ${Oi}, got ${String((t==null?void 0:t.schema_version)??"missing")}`);if(!n)throw new Error("invalid snapshot: daemon section is missing");const s=["global_daily_cap_usd","read_status","read_error","protocol_compatible","protocol_error"].filter(o=>!Object.hasOwn(n,o));if(s.length>0)throw new Error(`invalid snapshot: daemon fields missing: ${s.join(", ")}`);const l=["spend_usd","spend_status","usage_summary","request_usage","cost_control","daemon_commands","observability","mission_view","partial","diagnostics"].filter(o=>!Object.hasOwn(t,o));if(l.length>0)throw new Error(`invalid snapshot: fields missing: ${l.join(", ")}`);if(!Array.isArray(t.diagnostics))throw new Error("invalid snapshot: diagnostics must be an array");return e}const vp="argus_web_token";let Yl=null;function px(){let e;try{e=new URLSearchParams(window.location.search)}catch{return}const t=e.get("token");if(t){Yl=t;try{localStorage.setItem(vp,t)}catch{}try{e.delete("token");const n=e.toString();window.history.replaceState(null,"",`${window.location.pathname}${n?`?${n}`:""}${window.location.hash}`)}catch{}}}const Zo=()=>{if(Yl)return Yl;try{return new URLSearchParams(window.location.search).get("token")||localStorage.getItem(vp)}catch{return null}};function vn(){const e=Zo();return e?{Authorization:`Bearer ${e}`}:{}}function lk(){return Zo()??""}const fx=8e3,di=12e3;class Jl extends Error{constructor(){super("This browser is not paired with Argus. Reopen it from Argus Desktop or use a fresh pairing link."),this.name="PairingRequiredError"}}class ia extends Error{constructor(n,r,s="could not reach the local Argus service"){super(`${n.toUpperCase()} ${r} ${s}. Make sure Argus Desktop is running, then retry.`);Na(this,"method");Na(this,"path");this.name="LocalArgusUnavailableError",this.method=n.toUpperCase(),this.path=r}}function aa(e){return e instanceof Jl?!0:!!(e&&typeof e=="object"&&Number(e.status)===401)}function hx(e){return aa(e)||e instanceof ia}async function gx(e,t){var n;try{return await fetch(e,t)}catch(r){throw(n=t.signal)!=null&&n.aborted?r:new ia(String(t.method??"GET"),e)}}async function kp(e,t,n,r){const s=new AbortController,i=t.signal??void 0;let l=!1,o=()=>{};if(i){const f=()=>s.abort(i.reason);i.aborted?f():(i.addEventListener("abort",f,{once:!0}),o=()=>i.removeEventListener("abort",f))}let c;const u=(async()=>{const f=await gx(e,{...t,signal:s.signal});return await r(f)})(),m=new Promise((f,p)=>{c=setTimeout(()=>{l=!0;const k=new Error(`request timed out after ${n}ms`);s.abort(k),p(k)},n)});try{return await Promise.race([u,m])}catch(f){if(l){const p=Math.round(n/1e3);throw new ia(String(t.method??"GET"),e,`timed out after ${p}s because the local Argus service did not respond`)}throw f}finally{c&&clearTimeout(c),o()}}async function Ae(e,t,n){const r={headers:vn(),signal:t};return kp(e,r,n??di,async s=>(await yn(s,"GET",e),await s.json()))}async function me(e,t,n){const r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",...vn()},body:t===void 0?void 0:JSON.stringify(t),signal:n});return await yn(r,"POST",e),await r.json()}async function xx(e,t,n){const r=await fetch(e,{method:"POST",headers:vn(),body:t,signal:n});return await yn(r,"POST",e),await r.json()}function zr(e){const t=e&&typeof e=="object"?e:{},n=String(t.command_status??"");if(Number(t.rc??0)!==0||n==="failed"||n==="rejected")throw new Error(String(t.error||`daemon command ${n||"failed"}`));return e}async function Ou(e,t,n){const r=await fetch(t,{method:e,headers:{"Content-Type":"application/json",...vn()},body:n===void 0?void 0:JSON.stringify(n)});return await yn(r,e,t),await r.json()}async function yx(e,t){const n=await fetch(e,{headers:vn(),signal:t});return await yn(n,"GET",e),n.blob()}const K=(e,t="")=>`/api/projects/${encodeURIComponent(e)}${t}`,Ur=()=>{var e,t;return((t=(e=globalThis.crypto)==null?void 0:e.randomUUID)==null?void 0:t.call(e))??`${Date.now()}-${Math.random()}`};let Br;function Xs(e){return!!(e&&typeof e=="object"&&"aborted"in e&&typeof e.aborted=="boolean")}function $u(e,t){return t!=null&&t.length?{text:e,attachments:t}:{text:e}}function Gn(){if(!Br){const e=(async()=>{var r;const t="/api/meta",n=await kp(t,{headers:vn()},fx,async s=>{if(s.status===404)throw new Error("incompatible Argus API: service does not expose /api/meta");return await yn(s,"GET",t),dx(await s.json(),i=>console.warn(`Argus API compatibility warning: ${i}`))});if((r=n.authentication)!=null&&r.required&&!n.authentication.authenticated)throw new Jl;return n})();Br=e,e.catch(t=>{Br===e&&!(t instanceof Jl)&&(Br=void 0)})}return Br}function Fu(e){const t=[];let n;for(;(n=e.indexOf(` - -`))>=0;){const r=e.slice(0,n);e=e.slice(n+2);for(const s of r.split(` -`)){const i=s.trim();if(i.startsWith("data:"))try{t.push(JSON.parse(i.slice(5).trim()))}catch{}}}return{frames:t,rest:e}}const B={meta:Gn,projectIndex:async()=>(await Gn(),Ae("/api/projects",void 0,di)),listProjects:async()=>(await Gn(),Ae("/api/projects",void 0,di).then(e=>e.projects)),projectCosts:async e=>(await Gn(),Ae("/api/projects/costs",e)),createDaemon:async(e,t="",n="",r)=>{const s="/api/daemons",i={objective:e,name:t,workdir:n,command_id:Ur(),expected_revision:r},l=()=>fetch(s,{method:"POST",headers:{"Content-Type":"application/json",...vn()},body:JSON.stringify(i),cache:"no-store"});let o=await l();o.status===400&&/Invalid HTTP request received/i.test(await o.clone().text())&&(o=await l()),await yn(o,"POST",s);const c=await o.json();return zr(c)},updateProject:(e,t)=>Ou("PATCH",K(e),{name:t}),deleteProject:e=>Ou("DELETE",K(e)),snapshot:async(e,t)=>{await Gn();const n=await Ae(K(e,"/snapshot?compact=true&events_limit=1"),t,di);return mx(n)},status:(e,t)=>Ae(K(e,"/status"),t),journal:(e,t=20,n)=>Ae(K(e,`/journal?n=${t}`),n).then(r=>r.journal),doctor:(e,t)=>Ae(K(e,"/doctor"),t),config:(e,t)=>Ae(K(e,"/config"),t),identity:(e,t)=>Ae(K(e,"/identity"),t).then(n=>n.identity),transcript:(e,t=30,n)=>Ae(K(e,`/transcript?n=${t}`),n).then(r=>r.turns),events:(e,t=80,n)=>Ae(K(e,`/events?limit=${t}&view=ui`),n).then(r=>r.events),backlogItem:(e,t,n)=>Ae(K(e,`/backlog/${encodeURIComponent(t)}`),n).then(r=>r.item),artifacts:(e,t)=>Ae(K(e,"/artifacts"),t).then(n=>n.artifacts),artifact:(e,t,n)=>{const r=new URLSearchParams({path:t});return Ae(K(e,`/artifact?${r}`),n)},artifactBlob:(e,t,n=!1,r)=>{const s=new URLSearchParams({path:t});return n&&s.set("download","true"),yx(K(e,`/artifact/raw?${s}`),r)},gitDiff:(e,t)=>Ae(K(e,"/git-diff"),t),metrics:e=>Ae("/api/metrics",e),trash:(e="",t=100,n=0,r)=>{const s=new URLSearchParams({query:e,limit:String(t),offset:String(n)});return Ae(`/api/trash?${s}`,r)},restoreTrash:e=>me(`/api/trash/${encodeURIComponent(e)}/restore`),addTask:(e,t)=>me(K(e,"/tasks"),{text:t}).then(n=>n.item),abortMission:(e,t)=>me(K(e,"/mission/abort"),{reason:t}),answerPending:(e,t,n)=>me(K(e,`/backlog/${encodeURIComponent(t)}/answer`),{text:n}),resolveDecision:(e,t,n,r)=>me(K(e,`/decisions/${encodeURIComponent(t)}/resolve`),{option_id:n,note:r}),uploadAttachments:async(e,t,n)=>{await Gn();const r=new FormData;return t.forEach(s=>r.append("files",s,s.name)),xx(K(e,"/attachments"),r,n)},message:(e,t,n)=>{const r=Xs(n)?n:n==null?void 0:n.signal,s=Xs(n)||n==null?void 0:n.attachments;return me(K(e,"/message"),$u(t,s),r)},messageStream:async(e,t,n,r)=>{const s=Xs(r)?r:r==null?void 0:r.signal,i=Xs(r)||r==null?void 0:r.attachments,l=await fetch(K(e,"/message/stream"),{method:"POST",headers:{"Content-Type":"application/json",...vn()},body:JSON.stringify($u(t,i)),signal:s});if(await yn(l,"POST",K(e,"/message/stream")),!l.body)throw new Error("Manager stream returned no response body");let o=!1;const c=p=>{var k,v,w,j;if(!(s!=null&&s.aborted))if(p.type==="phase"){const h=Number(p.quiet_s??0);(k=n.onPhase)==null||k.call(n,String(p.label??""),String(p.role??"manager"),{heartbeat:p.heartbeat===!0,quietS:Number.isFinite(h)?h:0,kind:String(p.kind??""),detail:String(p.detail??"")})}else p.type==="delta"?(v=n.onDelta)==null||v.call(n,String(p.text??""),String(p.message_id??""),String(p.fragment_mode??"auto")):p.type==="done"?(o=!0,(w=n.onDone)==null||w.call(n,p.result??{})):p.type==="error"&&(o=!0,(j=n.onError)==null||j.call(n,new Error(String(p.error??"stream error"))))},u=l.body.getReader(),m=new TextDecoder;let f="";for(;;){const{done:p,value:k}=await u.read();if(p)break;f+=m.decode(k,{stream:!0});const v=Fu(f);f=v.rest,v.frames.forEach(c)}if(!(s!=null&&s.aborted)&&(Fu(f+` - -`).frames.forEach(c),!o))throw new Error("Manager stream ended before a terminal event")},nudge:(e,t)=>me(K(e,"/nudge"),{text:t}),note:(e,t)=>me(K(e,"/note"),{text:t}),previewPlan:(e,t)=>me(K(e,"/plan"),{text:t}),rewritePrompt:(e,t)=>me(K(e,"/prompt/rewrite"),{text:t}),setConfig:(e,t,n)=>me(K(e,"/config/set"),{name:t,value:n}),setBudgets:(e,t)=>me(K(e,"/config/budget"),{values:t}),setIdentity:(e,t)=>me(K(e,"/identity"),{text:t}),resetManager:e=>me(K(e,"/reset")),skills:(e,t="ls")=>me(K(e,"/skills"),{args:t}).then(n=>n.text),setLaunchCwd:(e,t)=>me(K(e,"/launch-cwd"),{launch_cwd:t}),setWorkdir:(e,t)=>me(K(e,"/workdir"),{workdir:t}),disposeBacklog:(e,t,n)=>me(K(e,`/backlog/${encodeURIComponent(t)}/dispose`),{op:n}),stopBacklog:(e,t)=>me(K(e,`/backlog/${encodeURIComponent(t)}/stop`)),setContinuous:(e,t,n="")=>me(K(e,"/continuous"),{enabled:t,objective:n}),startDaemon:(e,t)=>me(K(e,"/daemon/start"),{command_id:Ur(),expected_revision:t}).then(zr),stopDaemon:(e,t=!1,n)=>me(K(e,"/daemon/stop"),{drain:t,command_id:Ur(),expected_revision:n}).then(zr),replaceDaemon:(e,t,n=!1,r)=>me(K(e,"/daemon/replace"),{victim_sid:t,resume_continuous:n,command_id:Ur(),expected_revision:r}).then(zr),upgradeDaemon:(e,t)=>me(K(e,"/daemon/upgrade"),{command_id:Ur(),expected_revision:t}).then(zr)},vx=new Set([4401,4404]);function kx(e,t,n={}){const r=window.location.protocol==="https:"?"wss:":"ws:",s=new URLSearchParams;n.replay!=null&&s.set("replay",String(n.replay)),s.set("view","ui");const i=Zo();i&&s.set("token",i);const l=`${r}//${window.location.host}${K(e,"/stream")}?${s}`;let o=null,c=!1,u;const m=()=>{c||(o=new WebSocket(l),o.onopen=()=>{var f;return(f=n.onOpen)==null?void 0:f.call(n)},o.onmessage=f=>{try{const p=JSON.parse(f.data);p&&typeof p=="object"&&t(p)}catch{}},o.onclose=f=>{var k;const p=!vx.has(f.code);(k=n.onClose)==null||k.call(n,{code:f.code,reason:f.reason,retryable:p}),!c&&p&&(u=setTimeout(m,1e3))},o.onerror=()=>o==null?void 0:o.close())};return m(),()=>{c=!0,u&&clearTimeout(u),o==null||o.close()}}const ue={accent:"rgb(var(--spectral-gold))",success:"#7fa386",error:"#c77b72",warning:"rgb(var(--spectral-gold))",info:"rgb(var(--spectral-blue))",ink:"rgb(var(--ink))",inkDim:"rgb(var(--ink-dim))",inkFaint:"rgb(var(--ink-faint))",role:{manager:"rgb(var(--role-manager))",planner:"rgb(var(--role-planner))",engineer:"rgb(var(--role-engineer))",reviewer:"rgb(var(--role-reviewer))"}};function wp(e){switch(e){case"medium":return ue.inkDim;case"high":return ue.info;case"xhigh":return ue.accent;case"max":return ue.error;default:return ue.inkFaint}}const Te=e=>String(e??"").trim(),wx=/^[a-z][a-z -]+ requires an operator-owned decision before continuing\.?$/i,bx=e=>{const t=Te(e);return wx.test(t)?"":t},zu=(e,t)=>{const n=/[\u3400-\u9fff]/.test(`${e} -${t}`);return{id:"custom",label:n?"自己输入":"Write my own answer",description:n?"直接告诉 Argus 你的决定。":"Tell Argus your decision directly.",requires_note:!0}};function bp(e,t){const n=[...e,...t],r=[],s=new Set;for(const i of n){const l=Te(i.id),o=i.operator_decision;if(o&&typeof o=="object"&&!Array.isArray(o)){const m=o,f=Te(m.id);if(!f||s.has(f)||Te(m.status)!=="pending")continue;s.add(f);const k=Te(m.options_source)==="agent"&&Array.isArray(m.options)?m.options.filter(v=>!!Te(v==null?void 0:v.id)&&!!Te(v==null?void 0:v.label)).map(v=>({...v,requires_note:!1})):[];k.push(zu(Te(m.title),Te(m.question))),r.push({id:f,item_id:Te(m.item_id)||l,revision:Number(m.revision??1),status:"pending",title:Te(m.title)||Te(i.title)||"Decision required",reason:bx(m.reason),question:Te(m.question)||Te(i.pending_question),evidence:Array.isArray(m.evidence)?m.evidence.filter(v=>Te(v==null?void 0:v.label)!=="Acceptance check"):[],options:k,options_source:k.length?"agent":"none",selected_option:"",note:""});continue}const c=Te(i.pending_question??i.question??i.text);if(!l||!c)continue;const u=`legacy-${l}`;s.has(u)||(s.add(u),r.push({id:u,item_id:l,revision:1,status:"pending",title:Te(i.title??i.objective)||"Blocked task",reason:"",question:c,evidence:[],options:[zu(Te(i.title??i.objective),c)],options_source:"none",selected_option:"",note:"",legacy:!0}))}return r}const F={PROVIDER_REQUEST_STARTED:"provider.request.started",BUDGET_RESERVATION_CREATED:"budget.reservation.created",BUDGET_RESERVATION_DENIED:"budget.reservation.denied",BUDGET_UNPRICED_BLOCKED:"budget.unpriced.blocked",LOOP_START:"loop.start",LOOP_DONE:"loop.done",ROUND_START:"round.start",ROUND_MAIN_COMPLETED:"round.main.completed",ROUND_REVIEW_STARTED:"round.review.started",ROUND_REVIEW_DEFERRED:"round.review.deferred",ROUND_REVIEW_COMPLETED:"round.review.completed",ROUND_ESCALATED:"round.escalated",ROUND_STALL:"round.stall",ROUND_REVIEWER_BACKEND_FAILURE:"round.reviewer_backend_failure",ENGINEER_PROGRESS:"engineer.progress",LIFE_MISSION_STARTED:"life.mission.started",LIFE_MISSION_COMPLETED:"life.mission.completed",LIFE_MISSION_FAILED:"life.mission.failed",LIFE_MANAGER_INTENT_STARTED:"life.manager.intent.started",LIFE_MANAGER_INTENT_COMPLETED:"life.manager.intent.completed",LIFE_MANAGER_INTENT_FAILED:"life.manager.intent.failed",LIFE_MANAGER_STAGE_DECISION:"life.manager.stage_decision",LIFE_PLANNER_START:"life.planner.start",LIFE_PLANNER_TASK_ADDED:"life.planner.task_added",LIFE_PLANNER_VERDICT:"life.planner.verdict",LIFE_PLANNER_WAITING:"life.planner.waiting",LIFE_PLANNER_STALL_ESCALATION:"life.planner.stall_escalation",LIFE_BUDGET_PAUSE:"life.budget.pause",LIFE_LIFECYCLE_BLOCK:"life.lifecycle.block",RESEARCH_ACHIEVEMENT_CERTIFIED:"research.achievement.certified",SKILL_CREATED:"skill.created",SKILL_UPDATED:"skill.updated",SKILL_TIDIED:"skill.tidied",SKILL_HISTORY_COMPRESSED:"skill.history.compressed",SKILL_EVOLUTION_COMPLETED:"skill.evolution.completed",WIKI_INITIALIZED:"wiki.initialized",WIKI_CREATED:"wiki.created",WIKI_UPDATED:"wiki.updated",WIKI_RETIRED:"wiki.retired",WIKI_PROMOTION_PROMOTED:"wiki.promotion.promoted",WIKI_PROMOTION_DEMOTED:"wiki.promotion.demoted",WIKI_RETIRED_COMPRESSED:"wiki.retired.compressed",WIKI_EVOLUTION_COMPLETED:"wiki.evolution.completed"},jx={"loop.started":F.LOOP_START,"loop.completed":F.LOOP_DONE,"round.started":F.ROUND_START,"mission.started":F.LIFE_MISSION_STARTED,"mission.completed":F.LIFE_MISSION_COMPLETED,"mission.error":F.LIFE_MISSION_FAILED};function Es(e){const t=String(e??"").trim();return jx[t]??t}function Xl(e){if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(Xl).join(",")}]`;const t=e;return`{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${Xl(t[n])}`).join(",")}}`}function Nx(e){let t=2166136261;for(let n=0;n>>0).toString(36)}function ec(e){const t=e.event_id??e.id??e.seq??e._offset,n=String(e.type??"event");if(t!=null&&t!=="")return`${n}-${String(t)}`;const r=String(e.ts??e.time??"");return`${n}-${r}-${Nx(Xl(e))}`}function jp(e){return e.type===F.ENGINEER_PROGRESS&&e.kind==="reasoning"}function Np(e){if(e.type!==F.ENGINEER_PROGRESS||!["assistant_message","agent_message","message"].includes(String(e.kind??"")))return!1;const t=String(e.agent_layer??e.actor??"");return String(e.text??"").trimStart().startsWith("{")?t==="reviewer"||t==="planner":!1}const _x=/^(?:MILESTONE_STATUS|OPERATOR_QUESTION|OPERATOR_OPTIONS)\s*=/i;function Uu(e){return String(e??"").split(/\r?\n/).filter(t=>!_x.test(t.trim())).join(` -`).trim()}function Sx(e){const t=String(e.fragment_mode??"");return t==="append"||t==="snapshot"?t:e.replace===!0?"snapshot":"auto"}function Ex(e,t){const n=Math.min(e.length,t.length);for(let r=n;r>=8;r-=1)if(e.endsWith(t.slice(0,r)))return r;return 0}function _p(e,t,n="auto"){const r=(e||"").trim(),s=(t||"").trim();if(!r)return s;if(!s)return r;if(n==="snapshot")return s;if(r.includes(s))return r;if(n==="append")return`${r} -${s}`;if(s.includes(r))return s;const i=Ex(r,s);return i?`${r}${s.slice(i)}`:`${r} -${s}`}const Cx=["all","attention","milestones","messages"],Tx=new Set([F.LIFE_MISSION_STARTED,F.LIFE_MISSION_COMPLETED,F.LIFE_MISSION_FAILED,F.LOOP_START,F.LOOP_DONE,F.LIFE_PLANNER_VERDICT,"final.report.ready","pptx.report.ready","plan.completed",F.LIFE_BUDGET_PAUSE,F.LIFE_LIFECYCLE_BLOCK]);function Px(e,t,n="all",r=""){const s=Es(e.canonical_type??e.type),i=String(e.kind??"");if(n==="attention"&&!["warn","err"].includes(String(t.tone??""))&&e.operator_alert!==!0||n==="milestones"&&!(t.rule&&!s.startsWith("ui."))&&!Tx.has(s)||n==="messages"&&t.tone!=="bright"&&!["assistant_message","agent_message","message"].includes(i)&&!["ui.operator","ui.argus"].includes(s))return!1;const l=r.trim().toLocaleLowerCase();return l?[s,i,t.role,t.label,t.text,e.title,e.objective,e.text,e.summary,e.reason,e.error,e.status,e.action_summary,e.command,e.path,Array.isArray(e.tags)?e.tags.join(" "):e.tags].some(c=>String(c??"").toLocaleLowerCase().includes(l)):!0}const Cs=[{id:"status",name:"/status",argument:"none",desc:"roles, queued work, journal, and health",group:"Everyday",kind:"panel"},{id:"roles",name:"/roles",argument:"none",desc:"per-role backend / model / effort + live activity",group:"Everyday",kind:"panel"},{id:"journal",name:"/journal",arg:"[N]",argument:"optional",desc:"recent journal entries (default 10)",group:"Everyday",kind:"panel"},{id:"backlog",name:"/backlog",arg:"[all]",argument:"optional",desc:"pending tasks (all = incl. done/skipped)",group:"Everyday",kind:"panel"},{id:"artifacts",name:"/artifacts",argument:"none",desc:"reviewer-approved result files (Enter previews)",group:"Everyday",kind:"panel"},{id:"artifact",name:"/artifact",arg:"",argument:"required",desc:"preview one approved result file",group:"Everyday",kind:"panel"},{id:"events",name:"/events",arg:"[filter] [query]",argument:"optional",desc:"search feed: all / watch / milestones / messages",group:"Everyday",kind:"panel"},{id:"find",name:"/find",arg:"",argument:"required",desc:"search the current event buffer",group:"Everyday",kind:"panel"},{id:"cancel",name:"/cancel",argument:"none",desc:"stop waiting for the current Manager reply",group:"Everyday",kind:"local"},{id:"ask",name:"/ask",arg:"",argument:"required",desc:"answer inline — no task queued, no Planner/Engineer/Reviewer",aliases:["/chat"],group:"Everyday",kind:"action"},{id:"task",name:"/task",arg:"",argument:"required",desc:"queue work directly",aliases:["/add"],group:"Task management",kind:"action"},{id:"plan",name:"/plan",arg:"",argument:"required",desc:"preview a Planner-authored execution plan",group:"Task management",kind:"action"},{id:"rewrite",name:"/rewrite",arg:"[text]",argument:"optional",desc:"let the Manager rewrite your prompt before sending",aliases:["/refine"],group:"Task management",kind:"action"},{id:"nudge",name:"/nudge",arg:"",argument:"required",desc:"inject guidance into the running mission",aliases:["/inject","/notify"],group:"Task management",kind:"action"},{id:"abort",name:"/abort",argument:"none",desc:"immediately stop the running mission",group:"Task management",kind:"action"},{id:"note",name:"/note",arg:"",argument:"required",desc:"append a manual note to the timeline",group:"Task management",kind:"action"},{id:"done",name:"/done",arg:"",argument:"required",desc:"mark a task done",group:"Task management",kind:"action"},{id:"skip",name:"/skip",arg:"",argument:"required",desc:"skip a task",aliases:["/rm"],group:"Task management",kind:"action"},{id:"stop",name:"/stop",arg:"",argument:"required",desc:"stop a task's auto-iteration",group:"Task management",kind:"action"},{id:"item",name:"/item",arg:"",argument:"required",desc:"inspect a full task contract",group:"Task management",kind:"panel"},{id:"run",name:"/run",argument:"none",desc:"return to the always-live mission feed",group:"Task management",kind:"local"},{id:"new",name:"/new",arg:"[objective]",argument:"optional",desc:"review, create, and switch to a fresh conversation",group:"Sessions & diagnostics",kind:"action"},{id:"daemons",name:"/daemons",arg:"[query]",argument:"optional",desc:"find every session + switch or create",group:"Sessions & diagnostics",kind:"panel"},{id:"resume",name:"/resume",arg:"[list|]",argument:"optional",desc:"switch to another project/session",group:"Sessions & diagnostics",kind:"action"},{id:"attach",name:"/attach",arg:"",argument:"required",desc:"follow another project (read the stream)",group:"Sessions & diagnostics",kind:"action"},{id:"rename",name:"/rename",arg:"",argument:"required",desc:"rename the current conversation",group:"Sessions & diagnostics",kind:"action"},{id:"doctor",name:"/doctor",argument:"none",desc:"diagnose 'why isn't anything running'",group:"Sessions & diagnostics",kind:"panel"},{id:"backend",name:"/backend",arg:"[codex|claude|copilot|opencode|pi|grok]",argument:"optional",desc:"view or change the shared runner backend",group:"Configuration",kind:"action"},{id:"config",name:"/config",arg:"[key=value …]",argument:"optional",desc:"view or change runtime settings",group:"Configuration",kind:"panel"},{id:"identity",name:"/identity",arg:"[set ]",argument:"optional",desc:"view or replace the operator identity card",group:"Configuration",kind:"panel"},{id:"reset",name:"/reset",argument:"none",desc:"drop the warm Manager conversation context",group:"Configuration",kind:"action"},{id:"skills",name:"/skills",arg:"[ls|promote ]",argument:"optional",desc:"inspect or promote runtime skills",group:"Configuration",kind:"action"},{id:"clear",name:"/clear",argument:"none",desc:"clear the event feed view",group:"Other",kind:"local"},{id:"reconnect",name:"/reconnect",argument:"none",desc:"reconnect the live event stream",group:"Other",kind:"local"},{id:"help",name:"/help",argument:"none",desc:"keys + full command reference",aliases:["/?","/commands"],group:"Other",kind:"local"},{id:"quit",name:"/quit",argument:"none",desc:"leave the cockpit (background work keeps running)",aliases:["/exit","/q"],group:"Other",kind:"local"}];new Map(Cs.map(e=>[e.id,e]));const $i=new Map;for(const e of Cs)for(const t of[e.name,...e.aliases??[]])$i.set(t.toLowerCase(),e);function Sp(e){return e.argument==="required"}const Rx=/^\/[A-Za-z0-9_-]+$/;function Lx(e){if(!e.startsWith("/"))return!1;const t=e.indexOf(" "),n=t===-1?e:e.slice(0,t);return Rx.test(n)}function Dx(e){return e.startsWith("/")&&!e.includes(" ")&&!e.slice(1).includes("/")}function Ep(e){if(!Dx(e))return[];const t=e.toLowerCase(),n=new Set,r=[];for(const s of Cs)[s.name,...s.aliases??[]].some(l=>l.toLowerCase().startsWith(t))&&!n.has(s.name)&&(n.add(s.name),r.push(s));return r.sort((s,i)=>Number(Bu(i,t))-Number(Bu(s,t)))}function Bu(e,t){return[e.name,...e.aliases??[]].some(n=>n.toLowerCase()===t)}function Ax(e){return e.arg?`${e.name} `:e.name}function Mx(e){const t=e.trim();if(!t)return{filter:"all",query:""};const[n,...r]=t.split(/\s+/);return n.toLowerCase()==="watch"?{filter:"attention",query:r.join(" ")}:Cx.includes(n.toLowerCase())?{filter:n.toLowerCase(),query:r.join(" ")}:{filter:"all",query:t}}function Ix(e){if(!Lx(e))return null;const t=e.indexOf(" "),n=(t===-1?e:e.slice(0,t)).toLowerCase(),r=t===-1?"":e.slice(t+1).trim(),s=$i.get(n)??null;return{cmd:s,name:s?s.name:n,rest:r}}function Ox(e){const t=e.toLowerCase();let n=null,r=0;for(const s of $i.keys()){const i=$x(t,s);i>r&&(r=i,n=$i.get(s).name)}return r>=.6?n:null}function $x(e,t){const n=Fx(e,t),r=Math.max(e.length,t.length)||1;return 1-n/r}function Fx(e,t){const n=e.length,r=t.length,s=Array.from({length:n+1},(i,l)=>[l,...Array(r).fill(0)]);for(let i=0;i<=r;i+=1)s[0][i]=i;for(let i=1;i<=n;i+=1)for(let l=1;l<=r;l+=1)s[i][l]=Math.min(s[i-1][l]+1,s[i][l-1]+1,s[i-1][l-1]+(e[i-1]===t[l-1]?0:1));return s[n][r]}function Wu(e){const t=(e.label||e.display_name||"").trim();return!!(t&&t!==e.id)}function tc(e){return[...e].sort((t,n)=>{if(t.daemon_alive!==n.daemon_alive)return t.daemon_alive?-1:1;const r=Wu(t),s=Wu(n);return r!==s?r?-1:1:(n.last_active||0)-(t.last_active||0)})}function zx(e){return tc(e)[0]}function Cp(e,t){var r;const n=(t==null?void 0:t.trim())||null;return n&&e.some(s=>s.id===n)?{id:n,requested:n,recovered:!1}:{id:((r=zx(e))==null?void 0:r.id)??null,requested:n,recovered:!!n}}function Ux(e,t,n){if(n){const r=(t==null?void 0:t.trim())||null;return{id:r,requested:r,recovered:!1}}return Cp(e,t)}function Bx(e,t){const n=t.trim().toLowerCase().split(/\s+/).filter(Boolean);if(!n.length)return!0;const r=e.daemon_alive?"live running":"stopped idle",s=[e.id,e.label,e.display_name,e.objective,r].filter(Boolean).join(" ").toLowerCase();return n.every(i=>s.includes(i))}function Wx(e,t){return e.filter(n=>Bx(n,t))}const Hx=new Set(["done","success","completed"]),qx=new Set(["research_incomplete","paused_no_breakthrough","exhausted_current_methods"]),Qx=new Set(["no_progress","max_rounds"]),Kx=new Set(["blocked","infra_blocked"]),Vx=new Set(["error","failed","supervisor_error"]),Gx={completed:{glyph:"🎉",tone:"ok",missionStatus:"complete"},incomplete:{glyph:"◌",tone:"warn",missionStatus:"incomplete"},stalled:{glyph:"⏸",tone:"warn",missionStatus:"stalled"},blocked:{glyph:"⛔",tone:"err",missionStatus:"blocked"},failed:{glyph:"💥",tone:"err",missionStatus:"failed"},ended:{glyph:"■",tone:"info",missionStatus:"ended"}},Yx={completed:"Task completed",incomplete:"Mission incomplete",stalled:"Mission stalled",blocked:"Mission blocked",failed:"Mission failed",ended:"Mission ended"};function Pn(e){return String(e??"").trim().toLowerCase()}function Jx(e){const t=Pn(e);switch(t){case"completed":case"incomplete":case"stalled":case"blocked":case"failed":case"ended":return t;default:return null}}function Zl(e){const t=Pn(e.status);return e.success===!0||Hx.has(t)?"completed":qx.has(t)?"incomplete":Qx.has(t)?"stalled":Kx.has(t)?"blocked":Vx.has(t)?"failed":"ended"}function Tp(e){const t=e.outcome;if(t&&typeof t=="object"&&!Array.isArray(t)){const n=t;return{execution_status:Pn(n.execution_status)||Zl(e),review_status:Pn(n.review_status)||"not_assessed",stage_certification:Pn(n.stage_certification)||"not_assessed",interruption_kind:Pn(n.interruption_kind)||"none",resumable:n.resumable===!0}}return{execution_status:Zl(e),review_status:"not_assessed",stage_certification:"not_assessed",interruption_kind:Pn(e.stop_kind)||"none",resumable:e.resumable===!0}}function Pp(e){return e!=null&&e.execution_status?[`execution=${e.execution_status}`,e.review_status&&e.review_status!=="not_assessed"?`review=${e.review_status}`:"",e.stage_certification&&e.stage_certification!=="not_assessed"?`stage=${e.stage_certification}`:"",e.interruption_kind&&e.interruption_kind!=="none"?`interrupt=${e.interruption_kind}`:"",e.resumable?"resumable=yes":""].filter(Boolean):[]}function eo(e){const t=Jx(e.outcome_class)??Zl(e),n=String(e.status??"").trim(),r=Gx[t],s=t==="completed"&&e.final_submission_certified===!0?"Submission certified":t==="ended"&&n?`Mission ended · ${n}`:Yx[t];return{outcomeClass:t,label:s,glyph:r.glyph,tone:r.tone,missionStatus:r.missionStatus}}const Fi=["manager","planner","engineer","reviewer"],Hu=new Set(["planner","engineer","reviewer"]),Xx=new Set(["running","in_progress","claimed"]),P=(e,t)=>String(e[t]??"").trim(),At=(e,t)=>{const n=Number(e[t]);return Number.isFinite(n)?n:null};function Rp(e){const t=[e.route?e.route.toUpperCase():"",e.vertical,e.workflow_mode?e.workflow_mode.toUpperCase():""].filter(Boolean);return e.lifetime==="standing"?t.push("STANDING · OPEN-ENDED"):e.lifetime==="bounded_increment"?t.push("BOUNDED INCREMENT"):e.lifetime==="bounded"&&e.continuous?t.push("BOUNDED · FINITE CONTINUOUS"):e.lifetime&&t.push(e.lifetime.toUpperCase()),t.join(" · ")}function Zx(e){return JSON.parse(JSON.stringify(e))}function qu(){return{schema_version:5,bootstrapped:!1,mission:{id:"",title:"",objective:"",summary:"",status:"idle",started_at:null,completed_at:null,elapsed_seconds:0,campaign_started_at:null,campaign_elapsed_seconds:0},stage:{id:"",label:""},routing:{route:"",vertical:"",workflow_mode:"",lifetime:"",continuous:!1,open_ended:!1},round:{current:0,max:0},active_role:"",roles:Fi.map(e=>({role:e,status:"waiting",label:"Waiting",updated_at:0})),role_work:[],dag:[],timeline:[],artifacts:[],learned_skills:[],learned_wiki_pages:[],storage:{project_skill_dir:"",global_skill_dir:"",project_skill_count:0,global_skill_count:0,skill_history_compressed:0,wiki_retired_compressed:0,skill_history_bytes_saved:0,wiki_retired_bytes_saved:0,wiki_paths:[]},achievement:null,review:{status:"",reason:"",rejected_attempts:0},frontier:{change:"",summary:"",updated_at:0},outcome:{},last_event_ts:0,updated_at:0}}function Wt(e,t,n,r){if(n==null||n==="")return;const s=e.findIndex(i=>i[t]===n);s>=0?e[s]={...e[s],...r}:e.push(r)}function be(e,t,n,r,s){if(!Fi.includes(t))return;n==="active"&&Hu.has(t)&&e.roles.forEach(l=>{Hu.has(l.role)&&l.role!==t&&l.status==="active"&&Object.assign(l,{status:"done",label:"Handed off",updated_at:s})});const i={role:t,status:n,label:r,updated_at:s};Wt(e.roles,"role",t,i),n==="active"?e.active_role=t:e.active_role===t&&(e.active_role="")}function Ce(e,t,n,r,s="",i="neutral"){const l=ec(t);if(e.timeline.some(c=>c.id===l))return;const o={id:l,ts:Number(t.ts??Date.now()/1e3),type:Es(t.type),role:n,title:r.slice(0,180),detail:s.slice(0,500),tone:i};["item_id","branch_id"].forEach(c=>{const u=P(t,c);u&&(o[c]=u)}),e.timeline=[...e.timeline,o].slice(-120)}function Je(e,t,n,r,s,i="",l=""){if(!Fi.includes(n))return;const o=P(t,"message_id"),c=o?`${n}:${o}`:ec(t),u=e.role_work.find(v=>v.id===c),m=u&&u.detail.length>i.length?u.detail:i,f={id:c,ts:Number(t.ts??Date.now()/1e3),role:n,kind:r,title:s.slice(0,240),detail:m.slice(0,4e3),status:l,item_id:P(t,"item_id"),mission_id:e.mission.id,mission_title:e.mission.title.slice(0,240),round_index:At(t,"round_index")},p=e.role_work.findIndex(v=>v.id===c);p>=0?e.role_work[p]=f:e.role_work.push(f);const k=new Set;Fi.forEach(v=>{e.role_work.filter(w=>w.role===v).slice(-40).forEach(w=>k.add(w.id))}),e.role_work=e.role_work.filter(v=>k.has(v.id))}function ey(e){return e==="ok"?"success":e==="err"?"error":"info"}const ty={agent_message:"Reporting progress",assistant_message:"Reporting progress",command_execution:"Running a command",reasoning:"Reasoning",tool_use:"Using a tool",tool_result:"Inspecting tool output",codex_idle:"Waiting for model output"};function ny(e,t){var s;const n=Es(t.type),r=Number(t.ts??Date.now()/1e3);if(e.last_event_ts=Math.max(e.last_event_ts,r),n===F.LIFE_MANAGER_INTENT_STARTED)e.mission.id=P(t,"item_id")||P(t,"intent_id"),e.mission.title=P(t,"objective").slice(0,240),e.mission.objective=P(t,"objective"),e.mission.status="grounding",be(e,"manager","active","Grounding project",r),Ce(e,t,"manager","Project grounding started",P(t,"objective")),Je(e,t,"manager","grounding","Grounding project",P(t,"objective"),"active");else if(n===F.LIFE_MANAGER_INTENT_COMPLETED){e.mission.id=P(t,"item_id"),e.mission.title=P(t,"objective").slice(0,240),e.mission.objective=P(t,"objective"),e.mission.status="framed",e.routing.route=P(t,"route")||e.routing.route||"team",e.routing.vertical=P(t,"vertical")||e.routing.vertical,e.routing.workflow_mode=P(t,"workflow_mode")||e.routing.workflow_mode,e.routing.lifetime=P(t,"lifetime")||e.routing.lifetime,"continuous"in t&&(e.routing.continuous=t.continuous===!0),"open_ended"in t&&(e.routing.open_ended=t.open_ended===!0);const i=P(t,"current_stage"),l=Array.isArray(t.stages)?t.stages:[];if(i)e.stage={id:i,label:i.replaceAll("_"," ")};else if(!e.stage.id&&l[0]){const o=String(l[0]);e.stage={id:o,label:o.replaceAll("_"," ")}}be(e,"manager","done","Goal framed",r),Ce(e,t,"manager","Goal framed",P(t,"reason"),"success"),Je(e,t,"manager","decision","Goal framed",P(t,"reason")||P(t,"execution_task"),"done")}else if(n===F.LIFE_MANAGER_INTENT_FAILED)e.mission.status="failed",be(e,"manager","error","Manager routing failed",r),Ce(e,t,"manager","Manager routing failed",P(t,"error")||P(t,"reason"),"error"),Je(e,t,"manager","grounding","Manager routing failed",P(t,"error")||P(t,"reason"),"error");else if(n===F.LIFE_MANAGER_STAGE_DECISION){const i=P(t,"target_stage")||P(t,"stage")||P(t,"current_stage");i&&(e.stage={id:i,label:i.replaceAll("_"," ")}),be(e,"manager","done",i?`Stage · ${i}`:"Stage reviewed",r),Ce(e,t,"manager",i?`Stage → ${i}`:"Stage reviewed",P(t,"reason")),Je(e,t,"manager","stage_decision",i?`Stage → ${i}`:"Stage reviewed",P(t,"reason"),P(t,"action"))}else if(n===F.LIFE_PLANNER_START)be(e,"planner","active","Planning next work",r),Je(e,t,"planner","planning","Planning next work",P(t,"objective"),"active");else if(n===F.LIFE_PLANNER_TASK_ADDED){const i=P(t,"item_id"),l={id:i,title:P(t,"title"),objective:P(t,"objective"),status:"pending",deps:Array.isArray(t.deps)?t.deps.map(String):[],branch_id:P(t,"branch_id")||i,parent_branch_id:P(t,"parent_branch_id")||null};Wt(e.dag,"id",i,l),be(e,"planner","done","Research branch added",r),Ce(e,t,"planner","Research branch added",l.title,"info"),Je(e,t,"planner","task",l.title||"Task added",l.objective,"pending")}else if(n===F.LIFE_PLANNER_VERDICT){const i=!!t.project_done,l=i?"Project reviewed":"Planning complete";be(e,"planner","done",l,r),Ce(e,t,"planner",l,P(t,"reason"),i?"success":"neutral"),Je(e,t,"planner","verdict",l,P(t,"reason"),i?"done":"planned")}else if(n===F.LIFE_PLANNER_WAITING){be(e,"planner","waiting","Waiting on external work",r);const i=P(t,"reason")||P(t,"waiting_reason");Ce(e,t,"planner","Planner waiting",i),Je(e,t,"planner","waiting","Planner waiting",i,"waiting")}else if(n===F.LIFE_MISSION_STARTED)e.review={status:"",reason:"",rejected_attempts:0},(s=e.mission).campaign_started_at??(s.campaign_started_at=r),e.mission={...e.mission,id:P(t,"item_id"),title:P(t,"title"),objective:P(t,"objective"),summary:"",status:"working",started_at:r,completed_at:null},be(e,"reviewer","waiting","Awaiting engineer handoff",r),be(e,"engineer","active","Starting mission",r),Ce(e,t,"engineer","Mission started",P(t,"title"),"info"),Je(e,t,"engineer","task",P(t,"title")||"Mission started",P(t,"objective"),"active");else if(n===F.ROUND_START)e.round={current:At(t,"round_index")??0,max:At(t,"round_max")??e.round.max},be(e,"engineer","active",`Running round ${e.round.current}`,r),Ce(e,t,"engineer",`Round ${e.round.current} started`);else if(n===F.ENGINEER_PROGRESS){const i=P(t,"agent_layer")||P(t,"actor")||"engineer",l=i==="main"?"engineer":i,o=P(t,"kind"),c=ty[o]??"Working";be(e,l,"active",c,r);const u=P(t,"action_summary")||P(t,"text");u&&!jp(t)&&!Np(t)&&Je(e,t,l,o||"progress",c,u,"active"),["reasoning","assistant_message","agent_message"].includes(o)||Ce(e,t,l,c,P(t,"action_summary")||P(t,"text"))}else if(n===F.ROUND_MAIN_COMPLETED)be(e,"engineer","done","Engineer handoff ready",r),Je(e,t,"engineer","handoff","Engineer handoff ready",P(t,"text")||P(t,"summary"),"done");else if(n===F.ROUND_REVIEW_STARTED)be(e,"reviewer","active","Reviewing benchmark evidence",r),Je(e,t,"reviewer","review","Review started","","active");else if(n===F.ROUND_REVIEW_DEFERRED){const i=P(t,"next_step");be(e,"engineer","active","Continuing before review",r),be(e,"reviewer","waiting","Review deferred for one round",r),Ce(e,t,"engineer","Continued before review",i,"info")}else if(n===F.ROUND_REVIEW_COMPLETED){const i=P(t,"status"),l=P(t,"reason");e.review={status:i,reason:l,rejected_attempts:e.review.rejected_attempts+(["continue","blocked"].includes(i)?1:0)};const o=P(t,"frontier_change");o&&(e.frontier={change:o,summary:P(t,"frontier_summary"),updated_at:r}),be(e,"reviewer",i==="done"?"done":"rejected",i==="done"?"Accepted evidence":"Requested another attempt",r),Ce(e,t,"reviewer",i==="done"?"Evidence accepted":"Attempt rejected",l,i==="done"?"success":"error");const c=P(t,"next_action");Je(e,t,"reviewer","verdict",i==="done"?"Evidence accepted":"Attempt rejected",c?`${l} - -Next action: ${c}`:l,i)}else if([F.SKILL_CREATED,F.SKILL_UPDATED].includes(n)){const i=P(t,"skill_id")||P(t,"name");i&&(Wt(e.learned_skills,"id",i,{id:i,name:P(t,"name"),version:At(t,"version")??1,scope:P(t,"scope"),path:P(t,"path"),status:"active",updated_at:r,mission_id:e.mission.id,mission_title:e.mission.title}),Ce(e,t,"reviewer",n===F.SKILL_CREATED?"Capability unlocked":"Capability upgraded",P(t,"name"),"skill"))}else if(n===F.SKILL_EVOLUTION_COMPLETED)e.storage.project_skill_dir=P(t,"project_skill_dir")||e.storage.project_skill_dir,e.storage.global_skill_dir=P(t,"global_skill_dir")||e.storage.global_skill_dir,e.storage.project_skill_count=At(t,"project_skill_count")??e.storage.project_skill_count,e.storage.global_skill_count=At(t,"global_skill_count")??e.storage.global_skill_count;else if(n===F.SKILL_HISTORY_COMPRESSED)e.storage.skill_history_compressed+=At(t,"count")??0,e.storage.skill_history_bytes_saved+=At(t,"bytes_saved")??0;else if(n===F.SKILL_TIDIED){const i=P(t,"name");if(i){const l=e.learned_skills.find(c=>c.name===i),o={source_path:P(t,"path"),source_placement:P(t,"placement"),source_vertical:P(t,"vertical"),updated_at:r};l?Object.assign(l,o):Wt(e.learned_skills,"id",i,{id:i,name:i,version:1,scope:"",path:"",status:"active",...o}),Ce(e,t,"manager","Capability promoted to source",i,"skill")}}else if([F.WIKI_INITIALIZED,F.WIKI_EVOLUTION_COMPLETED].includes(n)){const i=[...(Array.isArray(t.paths)?t.paths:[]).map(l=>String(l)),P(t,"path")].filter(Boolean);e.storage.wiki_paths=[...new Set([...e.storage.wiki_paths,...i])]}else if(n===F.WIKI_RETIRED_COMPRESSED)e.storage.wiki_retired_compressed+=At(t,"count")??0,e.storage.wiki_retired_bytes_saved+=At(t,"bytes_saved")??0;else if([F.WIKI_CREATED,F.WIKI_UPDATED].includes(n)){const i=P(t,"page_id");i&&(Wt(e.learned_wiki_pages,"id",i,{id:i,title:P(t,"title")||i,card_type:P(t,"card_type"),status:P(t,"status")||"scratch",path:P(t,"path"),updated_at:r}),Ce(e,t,"reviewer",n===F.WIKI_CREATED?"Knowledge captured":"Knowledge refined",P(t,"title")||i,"skill"))}else if(n===F.WIKI_RETIRED){const i=P(t,"page_id");if(i){const l=e.learned_wiki_pages.find(o=>o.id===i);l?Object.assign(l,{status:"retired",updated_at:r}):Wt(e.learned_wiki_pages,"id",i,{id:i,title:i,card_type:P(t,"card_type"),status:"retired",path:"",updated_at:r}),Ce(e,t,"reviewer","Knowledge retired",i,"error")}}else if([F.WIKI_PROMOTION_PROMOTED,F.WIKI_PROMOTION_DEMOTED].includes(n)){const i=P(t,"page_id");if(i){const l=e.learned_wiki_pages.find(c=>c.id===i);l?Object.assign(l,{status:P(t,"to_status"),updated_at:r}):Wt(e.learned_wiki_pages,"id",i,{id:i,title:i,card_type:P(t,"card_type"),status:P(t,"to_status"),path:"",updated_at:r});const o=n===F.WIKI_PROMOTION_PROMOTED;Ce(e,t,"reviewer",o?"Knowledge promoted":"Knowledge demoted",`${i} → ${P(t,"to_status")}`,o?"success":"neutral")}}else if(n===F.RESEARCH_ACHIEVEMENT_CERTIFIED)e.achievement={id:P(t,"achievement_id"),title:P(t,"title"),goal:P(t,"goal"),summary:P(t,"summary"),rejected_attempts:e.review.rejected_attempts,skills_learned:e.learned_skills.filter(i=>i.status==="active").length,artifacts:e.artifacts.length,elapsed_seconds:e.mission.elapsed_seconds,evidence:Array.isArray(t.evidence)?t.evidence.map(String):[],reviewer_certified:!0,certified_at:r};else if([F.LIFE_MISSION_COMPLETED,F.LIFE_MISSION_FAILED].includes(n)){const i=n===F.LIFE_MISSION_FAILED?eo({...t,outcome_class:"failed",status:P(t,"status")||"failed",success:!1}):eo(t);e.mission.id=P(t,"item_id")||e.mission.id,e.mission.title=P(t,"title")||e.mission.title,e.mission.objective=P(t,"objective")||e.mission.objective,e.mission.summary=P(t,"summary"),e.mission.status=i.missionStatus,e.mission.completed_at=r,e.outcome=Tp(t),be(e,"engineer",i.missionStatus==="complete"?"done":i.missionStatus,i.label,r),Ce(e,t,"engineer",i.label,P(t,"summary")||P(t,"title")||P(t,"status"),ey(i.tone)),Je(e,t,"engineer","completion",i.label,P(t,"summary")||P(t,"title")||P(t,"status"),i.missionStatus)}return e.updated_at=Date.now()/1e3,e}function ry(e,t,n){var f,p,k,v,w,j,h,d,x,b;const r=t.backlog.find(g=>Xx.has(g.status)),s=t.backlog.find(g=>g.status==="pending"),i=t.backlog.find(g=>g.id===e.mission.id),l=r??i,o=!!(r||s||(f=t.continuous)!=null&&f.enabled||(p=t.continuous)!=null&&p.done_reason||(k=t.continuous)!=null&&k.done_at||e.mission.id||!["","idle"].includes(e.mission.status));(v=t.continuous)!=null&&v.enabled&&(e.routing.route=e.routing.route||"team",e.routing.continuous=!0,e.routing.open_ended=t.continuous.open_ended===!0,e.routing.lifetime=e.routing.open_ended?"standing":e.routing.lifetime||"bounded");const c=(l==null?void 0:l.objective)||(l==null?void 0:l.title)||((w=t.continuous)!=null&&w.enabled?t.continuous.objective:"")||t.session.objective||(e.mission.id?"":s==null?void 0:s.objective)||(e.mission.id?"":s==null?void 0:s.title)||e.mission.objective;c&&(e.mission.objective=c,l?e.mission.title=(l.title||c.split(` -`)[0]).slice(0,240):e.mission.title||(e.mission.title=c.split(` -`)[0].slice(0,240))),r?(e.mission.id=r.id,e.mission.status="working",e.mission.started_at=e.mission.started_at??r.started_ts??null):i?i.status==="pending"&&(e.mission.status="queued"):(j=t.continuous)!=null&&j.done_reason||(h=t.continuous)!=null&&h.done_at?e.mission.status="complete":s||(d=t.continuous)!=null&&d.enabled?e.mission.status="queued":t.daemon.alive&&(e.mission.status="idle"),t.roles.forEach(g=>{g.active?be(e,g.role,"active",g.label||g.status||"Working",Date.now()/1e3-(g.age_s??0)):o||be(e,g.role,"waiting","Waiting",Date.now()/1e3);const S=e.roles.find(N=>N.role===g.role);S&&Object.assign(S,{backend:g.backend,model:g.model,effort:g.effort})});const u=t.roles.filter(g=>g.active);u.length?e.active_role=u[u.length-1].role:o||(e.active_role=""),t.backlog.forEach(g=>{var N;const S={id:g.id,title:g.title,objective:g.objective,status:g.status,deps:g.deps??[],branch_id:g.id,parent_branch_id:((N=g.deps)==null?void 0:N[0])??null,acceptance_check:g.acceptance_check??"",plan_hypothesis:g.plan_hypothesis??"",goal_contribution:g.goal_contribution??"",expected_regressions:g.expected_regressions??"",decision_rule:g.decision_rule??"",non_goals:g.non_goals??[]};Wt(e.dag,"id",S.id,S)});const m=(x=l==null?void 0:l.outcome)!=null&&x.execution_status?l.outcome:e.mission.id||(b=[...t.backlog].filter(g=>{var S;return(S=g.outcome)==null?void 0:S.execution_status}).sort((g,S)=>Number(g.finished_ts??0)-Number(S.finished_ts??0)).at(-1))==null?void 0:b.outcome;return!r&&m&&(e.outcome=Tp({outcome:m,status:"done",success:!0})),n.forEach(g=>{Wt(e.artifacts,"path",g.path,{id:g.path,path:g.path,title:g.name,kind:g.kind,why:g.why,exists:g.exists,source:g.source})}),o}function sy(e,t,n,r){var l;r||(t.roles.forEach(o=>{o.active||be(e,o.role,"waiting","Waiting",Date.now()/1e3)}),e.active_role="");const s=Date.now()/1e3,i=e.mission.campaign_started_at??t.session.created??e.mission.started_at;i&&(e.mission.campaign_started_at=i,e.mission.campaign_elapsed_seconds=Math.max(0,s-i)),e.mission.started_at&&e.mission.status==="working"?e.mission.elapsed_seconds=Math.max(0,s-e.mission.started_at):e.mission.started_at&&e.mission.completed_at&&(e.mission.elapsed_seconds=Math.max(0,e.mission.completed_at-e.mission.started_at)),(l=e.achievement)!=null&&l.reviewer_certified&&(e.achievement.elapsed_seconds=e.mission.elapsed_seconds,e.achievement.rejected_attempts=e.review.rejected_attempts,e.achievement.skills_learned=e.learned_skills.filter(o=>o.status==="active").length,e.achievement.artifacts=n.filter(o=>o.exists).length)}function iy(e,t=[],n=[]){var l,o,c,u;const r=e.mission_view?Zx(e.mission_view):qu();r.storage??(r.storage=qu().storage),(l=r.storage).skill_history_compressed??(l.skill_history_compressed=0),(o=r.storage).wiki_retired_compressed??(o.wiki_retired_compressed=0),(c=r.storage).skill_history_bytes_saved??(c.skill_history_bytes_saved=0),(u=r.storage).wiki_retired_bytes_saved??(u.wiki_retired_bytes_saved=0),r.learned_wiki_pages??(r.learned_wiki_pages=[]),r.role_work??(r.role_work=[]),r.outcome??(r.outcome={});const s=r.last_event_ts,i=ry(r,e,n);return t.filter(m=>m.ts==null||Number(m.ts)>s).sort((m,f)=>Number(m.ts??0)-Number(f.ts??0)).forEach(m=>ny(r,m)),sy(r,e,n,i),r}function Lp(e){return String(e||"").replace(/\\([*_`~])/g,"$1").replace(/\\\\(?=[A-Za-z])/g,"\\")}function nc(e){const t=Math.max(0,Math.floor(e)),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n?`${n}h ${r}m`:r?`${r}m`:`${t}s`}const ay={[F.LIFE_LIFECYCLE_BLOCK]:"block",[F.ROUND_REVIEWER_BACKEND_FAILURE]:"block",[F.LIFE_BUDGET_PAUSE]:"warn",[F.ROUND_STALL]:"warn",[F.ROUND_ESCALATED]:"warn",[F.LIFE_PLANNER_STALL_ESCALATION]:"warn"},ly=new Set([F.BUDGET_RESERVATION_DENIED,F.BUDGET_UNPRICED_BLOCKED]),oy=new Set([F.LIFE_MISSION_STARTED,F.ROUND_MAIN_COMPLETED,F.LIFE_MISSION_COMPLETED,F.LOOP_DONE,F.ROUND_START,"ui.operator"]),cy=new Set([F.BUDGET_RESERVATION_CREATED,F.PROVIDER_REQUEST_STARTED]);function uy(e){var r;const t=Es(e.canonical_type??e.type);if(((r=e.event_validation)==null?void 0:r.status)==="invalid")return{tone:"warn",text:`invalid event ${t||"unknown"}: ${e.event_validation.errors.join("; ")}`};if(ly.has(t))return{tone:"block",kind:"budget",text:`Budget exhausted or blocked — ${String(e.reason??e.text??t).trim()}`};const n=e.operator_alert===!0?"block":ay[t];return n?{tone:n,text:String(e.text??e.reason??t).trim()}:null}function dy(e){let t=null;for(const n of e){const r=Es(n.canonical_type??n.type),s=uy(n);s?t=s:((t==null?void 0:t.kind)==="budget"&&cy.has(r)||t&&t.kind!=="budget"&&oy.has(r))&&(t=null)}return t}const my=new Set(["done","completed","failed","skipped"]);function Dp(e){return my.has(e.status)}function Qu(e,t){return e.filter(n=>Dp(n)===t)}const py=[" ╭───────────────────────────────────────────────────────────────────────────────────╮╮"," │ ││"," │ ◉ argus-skill · Autonomous Research Lab ││"," │ ││"," ╰───────────────────────────────────────────────────────────────────────────────────╯│"," │"];Math.max(...py.map(e=>[...e].length));const fy=["turning it over","consulting a hundred eyes","reading the room","weighing it","thinking it through","cross-checking the evidence","running the numbers","sizing up the angles","following the thread","letting it settle"],Ku=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];function hy(e,t,n=20){return e.length===0?"":e[Math.floor(t/n)%e.length]}function Xa(e){return Ku[e%Ku.length]}function gy(e,t,n=!1,r=0){const s=`${hy(fy,t)}…`;if(n){const l=Math.max(0,Math.floor(Number.isFinite(r)?r:0));return`${s} · Manager alive · ${l}s quiet`}const i=e||s;return i.includes("[SESSION HANDOFF")?"Manager context refreshed · working on your message…":i.replace(/^Manager\s*·\s*/i,"").slice(0,100)}const xy=6,rc=()=>Date.now()/1e3;function Vu(e){return e.trim().replace(/[.…]+$/u,"").toLowerCase()}function yy(e,t,n=rc()){const r=(t.label??"").trim();if(!r)return e;const s=t.heartbeat===!0,i=e.slice(),l=i[i.length-1];if(l&&!l.endedTs){if(Vu(l.label)===Vu(r)||s&&l.heartbeat)return i[i.length-1]={...l,label:r,detail:t.detail||l.detail,kind:t.kind||l.kind,heartbeat:s,endedTs:0},i;i[i.length-1]={...l,endedTs:n}}return i.push({id:`${i.length}:${r}:${n}`,role:(t.role||"manager").trim()||"manager",label:r,detail:(t.detail||"").trim(),kind:(t.kind||"").trim(),startedTs:n,endedTs:0,heartbeat:s}),i}function vy(e,t=rc()){if(e.length===0)return[];const n=e.slice(),r=n[n.length-1];return r&&!r.endedTs&&(n[n.length-1]={...r,endedTs:t}),n}function ky(e,t=xy){const n=Math.max(1,t);return e.length<=n?e:e.slice(e.length-n)}function wy(e,t=rc()){const n=e.endedTs||t;return Math.max(0,n-e.startedTs)}function by(e){if(!Number.isFinite(e)||e<1)return"";if(e<60)return`${Math.floor(e)}s`;const t=Math.floor(e/60),n=Math.floor(e%60);return n?`${t}m${n}s`:`${t}m`}function jy(e,t=!1,n=!1){return(t||n)&&e.toLowerCase()==="r"}function X(e,t){const n=(e||"").replace(/```[a-z]*\n?/gi,"").replace(/\[([^\]]+)\]\([^)]+\)/g,"[$1]").trim();return n.length<=t?n:n.slice(0,t-1).trimEnd()+"…"}const Ny=e=>{var t;return((t=String(e??"").split(` -`)[0])==null?void 0:t.trim())??""},M=(e,t)=>String(e[t]??""),Yn=e=>{const t=e,n=t.round_index??t.round;return typeof n=="string"||typeof n=="number"?n:"?"},_y={manager:"Manager",planner:"Planner",engineer:"Engineer",reviewer:"Reviewer",critic:"Critic",system:"Argus"},Sy={manager:"Manager",planner:"Planner",engineer:"Engineer",reviewer:"Reviewer",critic:"Critic",system:"Argus"},Ey=e=>({bright:ue.ink,dim:ue.inkDim,accent:ue.accent,ok:ue.success,warn:ue.warning,err:ue.error,info:ue.info})[e];function Cy(e,t="en"){const n=M(e,"type"),r=(i,l)=>t==="zh-CN"?l:i,s=i=>(t==="zh-CN"?Sy:_y)[i]||i;if(n==="ui.operator"){const i=Uu(M(e,"text"));return i?{role:"operator",label:r("You","你"),glyph:"›",text:i,tone:"bright",rule:!0}:null}if(n==="ui.argus"){const i=M(e,"text");return i?{role:"manager",label:"Argus",glyph:"◆",text:i,tone:"bright",rule:!0}:null}if(n==="engineer.progress"){const i=M(e,"kind"),l=M(e,"agent_layer")||"engineer",o=Ny(e.text??e.action_summary);if(i==="reasoning"){const c=X(M(e,"text"),280);return c?{role:l,label:s(l),glyph:"∴",text:c,tone:"dim",reasoning:!0}:null}if(i==="assistant_message"||i==="agent_message"||i==="message"){if(Np(e))return null;const c=Uu(M(e,"text"));return c?{role:l,label:s(l),glyph:"▌",text:c,tone:"bright"}:null}if(i==="command_execution"){const c=M(e,"text")||M(e,"command")||M(e,"action_summary");return c?{role:l,label:s(l),glyph:"▸ $",text:c,tone:"dim"}:null}if(i==="file_change"){const c=M(e,"text")||M(e,"action_summary");return{role:l,label:s(l),glyph:"✎",text:c||r("(file change)","(文件变更)"),tone:"dim"}}if(i==="tool_use"){const c=M(e,"text")||M(e,"action_summary");return{role:l,label:s(l),glyph:"⚙",text:c||r("(tool)","(工具)"),tone:"dim"}}return o?{role:l,label:s(l),glyph:"▸",text:X(o,160),tone:"dim"}:null}if(n==="life.manager.intent.started")return{role:"manager",label:"Manager",glyph:"🧭",text:r("classifying request…","判断任务归属…"),tone:"info"};if(n==="life.manager.intent.completed")return{role:"manager",label:"Manager",glyph:"🧭",text:`→ ${Rp({route:M(e,"route")||"team",vertical:M(e,"vertical"),workflow_mode:M(e,"workflow_mode"),lifetime:M(e,"lifetime"),continuous:e.continuous===!0,open_ended:e.open_ended===!0})||M(e,"kind")||r("resolved","已确定")}`,tone:"info"};if(n==="life.manager.intent.failed")return{role:"manager",label:"Manager",glyph:"⚠",text:`${r("routing failed","分流失败")} ${X(M(e,"error"),140)}`,tone:"err"};if(n==="life.manager.stage_decision"){const i=M(e,"target_stage")||M(e,"stage")||M(e,"current_stage");return{role:"manager",label:"Manager",glyph:"🧭",text:`${M(e,"action")}${i?` → ${i}`:""} ${X(M(e,"reason"),120)}`,tone:"info"}}if(n==="life.planner.start")return{role:"planner",label:"Planner",glyph:"📋",text:`${r("planning","正在规划")} ${X(M(e,"objective"),140)}`,tone:"accent"};if(n==="life.planner.verdict")return M(e,"status")==="done"||e.project_done===!0?{role:"planner",label:"Planner",glyph:"🏁",text:r("project done","项目已完成"),tone:"ok"}:{role:"planner",label:"Planner",glyph:"📋",text:r(`queued ${M(e,"queued")||M(e,"n")||"next"} task(s)`,`已加入 ${M(e,"queued")||M(e,"n")||"下一"} 个任务`),tone:"accent"};if(n==="life.planner.task_added")return{role:"planner",label:"Planner",glyph:"+",text:`${r("added","已添加")} ${X(M(e,"title")||M(e,"objective"),140)}`,tone:"accent"};if(n==="life.planner.task_skipped")return{role:"planner",label:"Planner",glyph:"⏭",text:`${r("skipped duplicate","已跳过重复任务")} ${X(M(e,"title"),120)}`,tone:"dim"};if(n==="life.planner.error")return{role:"planner",label:"Planner",glyph:"⚠",text:`${r("planner error","Planner 错误")} ${X(M(e,"error")||M(e,"text"),140)}`,tone:"err"};if(n==="life.mission.started"||n==="mission.started")return{role:"engineer",label:"Engineer",glyph:"🚀",text:X(M(e,"title")||M(e,"objective")||M(e,"text")||r("mission started","任务已开始"),160),tone:"info",rule:!0};if(n==="round.started"||n==="round.start")return{role:"engineer",label:"Engineer",glyph:"──",text:r(`round ${Yn(e)}`,`第 ${Yn(e)} 轮`),tone:"dim",rule:!0};if(n==="life.phase.started"){const i=M(e,"label")||M(e,"phase");if(!i)return null;const l=M(e,"agent_layer")||"engineer";return{role:l,label:s(l),glyph:"🔄",text:r(`entering ${i}`,`进入 ${i}`),tone:"info"}}if(n==="round.review.started")return{role:"reviewer",label:"Reviewer",glyph:"🔄",text:r(`review round ${Yn(e)}`,`审核第 ${Yn(e)} 轮`),tone:"info"};if(n==="round.review.deferred")return{role:"engineer",label:"Engineer",glyph:"↪",text:r(`continues before review · ${X(M(e,"next_step"),160)}`,`审核前继续执行 · ${X(M(e,"next_step"),160)}`),tone:"info"};if(n==="round.main.completed")return{role:"engineer",label:"Engineer",glyph:"✅",text:r(`round ${Yn(e)} completed`,`第 ${Yn(e)} 轮已完成`),tone:"info"};if(n==="round.review.completed"){const i=M(e,"status"),l=i==="done"?"ok":i==="blocked"||i==="no_progress"?"err":"warn";return{role:"reviewer",label:"Reviewer",glyph:i==="done"?"✅":i==="blocked"||i==="no_progress"?"⛔":"↻",text:`${i||"?"} · ${X(M(e,"reason"),160)}`,tone:l}}if(n==="life.iteration.critic")return{role:"critic",label:"Critic",glyph:"👔",text:`${M(e,"decision")||""} ${X(M(e,"reason"),140)}`,tone:"info"};if(n==="life.iteration.continued")return{role:"critic",label:"Critic",glyph:"🔁",text:r("queued next iteration","已加入下一轮迭代"),tone:"dim"};if(n==="life.mission.completed"||n==="mission.completed"||n==="loop.completed"){const i=eo(e),l=X(M(e,"summary"),240);return{role:"engineer",label:"Engineer",glyph:i.glyph,text:l?`${i.label} · ${l}`:i.label,tone:i.tone,rule:!0}}if(n==="life.mission.failed"||n==="mission.error")return{role:"engineer",label:"Engineer",glyph:"❌",text:`${r("mission failed","任务失败")} ${X(M(e,"reason")||M(e,"error"),140)}`,tone:"err",rule:!0};if(n==="loop.start")return{role:"engineer",label:"Engineer",glyph:"▶",text:X(M(e,"text")||M(e,"objective"),160),tone:"info"};if(n==="loop.done")return{role:"engineer",label:"Engineer",glyph:"🏁",text:`${r("loop done","循环完成")} ${X(M(e,"text"),120)}`,tone:"dim"};if(n==="life.inbox.queued")return{role:"system",label:r("You","你"),glyph:"📥",text:`${r("nudge","追加指导")} · ${X(M(e,"text"),160)}`,tone:"accent"};if(n==="final.report.ready"||n==="pptx.report.ready")return{role:"system",label:"Argus",glyph:"📄",text:r("report ready","报告已就绪"),tone:"accent"};if(n==="plan.completed")return{role:"planner",label:"Planner",glyph:"📋",text:r("plan completed","计划已完成"),tone:"accent"};if(n==="daemon.stopping")return{role:"system",label:r("Daemon","守护进程"),glyph:"🛑",text:r("stopping","正在停止"),tone:"err"};if(n==="round.reviewer_backend_failure")return{role:"system",label:r("Notice","通知"),glyph:"!",text:r(`reviewer backend down — holding · ${X(M(e,"text"),150)}`,`Reviewer 后端不可用 — 已暂停 · ${X(M(e,"text"),150)}`),tone:"err",rule:!0};if(n==="round.stall")return{role:"system",label:r("Notice","通知"),glyph:"!",text:X(M(e,"text")||r("no forward progress","没有取得进展"),170),tone:"warn"};if(n==="round.escalated")return{role:"system",label:r("Notice","通知"),glyph:"!",text:X(M(e,"text")||r("soft round limit — escalating external blockers","达到软轮次上限 — 正在升级外部阻塞"),170),tone:"warn"};if(n==="life.planner.stall_escalation")return{role:"system",label:r("Notice","通知"),glyph:"!",text:`${r("planner stalled","Planner 停滞")} — ${X(M(e,"reason")||M(e,"text"),150)}`,tone:"warn"};if(n==="life.budget.pause")return{role:"system",label:r("Watch","监控"),glyph:"⏸",text:r(`budget cap reached — paused · ${X(M(e,"text")||M(e,"reason"),140)}`,`已达到预算上限 — 已暂停 · ${X(M(e,"text")||M(e,"reason"),140)}`),tone:"warn"};if(n==="budget.reservation.denied")return{role:"system",label:r("Budget","预算"),glyph:"$",text:`${r("budget denied","预算申请被拒绝")} — ${X(M(e,"reason")||M(e,"text"),150)}`,tone:"err",rule:!0};if(n==="budget.unpriced.blocked")return{role:"system",label:r("Budget","预算"),glyph:"$",text:`${r("budget blocked by unresolved cost","预算因成本未确定而阻塞")} — ${X(M(e,"reason")||M(e,"text"),150)}`,tone:"err",rule:!0};if(n==="life.lifecycle.block")return null;if(n==="life.daemon.idle_timeout")return{role:"system",label:r("Watch","监控"),glyph:"🟦",text:X(M(e,"text")||r("idle timeout — standing by","空闲超时 — 正在待命"),150),tone:"dim"};if(n==="round.watchdog.restart_requested")return{role:"system",label:r("Watch","监控"),glyph:"🔄",text:r(`stall caught — restarting the round · ${X(M(e,"reason"),160)}`,`检测到停滞 — 正在重启本轮 · ${X(M(e,"reason"),160)}`),tone:"warn"};if(n==="engineer.failure_nudge")return{role:"engineer",label:"Engineer",glyph:"⚠",text:`${r("repeated tool failure","工具重复失败")} — ${X(M(e,"text")||M(e,"reason"),160)}`,tone:"warn"};if(n==="mission.idle")return{role:"system",label:"Argus",glyph:"🟦",text:X(M(e,"text")||r("idle — awaiting the next mission","空闲 — 正在等待下一个任务"),160),tone:"dim"};if(e.operator_alert===!0){const i=X(M(e,"text")||M(e,"reason")||n,170);if(i)return{role:"system",label:r("Notice","通知"),glyph:"!",text:i,tone:"err",rule:!0}}return null}function An(e,t){return ec(e)}function Ty(e,t,n){e.setQueryData(["snapshot",t],r=>r&&{...r,session:{...r.session,display_name:n}}),e.setQueryData(["projects"],r=>r&&{...r,projects:r.projects.map(s=>s.id===t?{...s,display_name:n,label:n||s.objective||s.id}:s)})}const Py=15e3,Ry=5e3,Ly=8e3,Dy=1e4,Ay=1e4;function Ap(e,t){return!aa(t)&&e<1}function My(e){return aa(e)?!1:Ry}const Iy=()=>kt({queryKey:["projects"],queryFn:B.projectIndex,refetchInterval:Py}),Oy=()=>kt({queryKey:["project-costs"],queryFn:({signal:e})=>B.projectCosts(e),retry:Ap,refetchInterval:e=>My(e.state.error),refetchIntervalInBackground:!1}),$y=e=>kt({queryKey:["snapshot",e],queryFn:({signal:t})=>B.snapshot(e,t),enabled:!!e,refetchInterval:Ly}),Fy=(e,t=30,n=!0)=>kt({queryKey:["journal",e,t],queryFn:({signal:r})=>B.journal(e,t,r),enabled:!!e&&n,refetchInterval:n?8e3:!1}),zy=(e,t)=>kt({queryKey:["doctor",e],queryFn:({signal:n})=>B.doctor(e,n),enabled:!!e&&t}),Uy=(e,t)=>kt({queryKey:["config",e],queryFn:({signal:n})=>B.config(e,n),enabled:!!e&&t}),By=(e,t)=>kt({queryKey:["identity",e],queryFn:({signal:n})=>B.identity(e,n),enabled:!!e&&t}),Mp=(e,t,n=30)=>kt({queryKey:["transcript",e,n],queryFn:({signal:r})=>B.transcript(e,n,r),enabled:!!e&&t}),Wy=(e,t=!0)=>kt({queryKey:["artifacts",e],queryFn:({signal:n})=>B.artifacts(e,n),enabled:!!e&&t,refetchInterval:t?Dy:!1}),Ip=(e,t,n=null)=>kt({queryKey:["artifact",e,t,n],queryFn:({signal:r})=>B.artifact(e,t,r),enabled:!!e&&!!t}),Hy=(e,t=!0)=>kt({queryKey:["git-diff",e],queryFn:({signal:n})=>B.gitDiff(e,n),enabled:!!e&&t,refetchInterval:t?Ay:!1}),qy=(e,t)=>kt({queryKey:["backlog-item",e,t],queryFn:({signal:n})=>B.backlogItem(e,t,n),enabled:!!e&&!!t});function Qy(e,t){const n=ud(),r=i=>{n.invalidateQueries({queryKey:["snapshot",i]}),n.invalidateQueries({queryKey:["status",i]}),n.invalidateQueries({queryKey:["projects"]}),n.invalidateQueries({queryKey:["backlog-item",i]})},s=()=>r(e);return{addTask:Lt({mutationFn:i=>B.addTask(e,i),onSuccess:s}),nudge:Lt({mutationFn:i=>B.nudge(e,i)}),note:Lt({mutationFn:i=>B.note(e,i)}),startDaemon:Lt({mutationFn:()=>B.startDaemon(e,t),onSuccess:s}),stopDaemon:Lt({mutationFn:i=>B.stopDaemon(e,i,t),onSuccess:s}),updateProject:Lt({mutationFn:i=>B.updateProject(i.sid,i.name),onSuccess:i=>{Ty(n,i.sid,i.name),r(i.sid)}}),deleteProject:Lt({mutationFn:()=>B.deleteProject(e),onSuccess:async()=>{const i=e;if(i){const l=o=>o.queryKey.some(c=>c===i);await n.cancelQueries({predicate:l}),n.removeQueries({predicate:l})}await n.invalidateQueries({queryKey:["projects"]})}}),disposeBacklog:Lt({mutationFn:i=>B.disposeBacklog(e,i.id,i.op),onSuccess:s}),stopBacklog:Lt({mutationFn:i=>B.stopBacklog(e,i),onSuccess:s}),setContinuous:Lt({mutationFn:i=>B.setContinuous(e,i.enabled,i.objective??""),onSuccess:s})}}const Za=2e3;function Ky(e,t){if(t.kind==="reset")return{sid:t.sid,events:[],seen:new Set};if(t.sid!==e.sid)return e;if(t.kind==="seed"){const i=new Set,l=[];[...t.events,...e.events].forEach((c,u)=>{const m=An(c);i.has(m)||(i.add(m),l.push(c))});const o=l.slice(-Za);return{sid:e.sid,events:o,seen:new Set(o.map((c,u)=>An(c)))}}const n=An(t.ev,e.events.length);if(e.seen.has(n))return e;const r=new Set(e.seen);r.add(n);const s=[...e.events,t.ev];return s.length>Za&&s.splice(0,s.length-Za).forEach((l,o)=>r.delete(An(l))),{sid:e.sid,events:s,seen:r}}const Vy=new Set(["manager.live_view.updated","round.review.completed","life.mission.completed"]);function Gy(e){for(let t=e.length-1;t>=0;t-=1){const n=e[t],r=String(n.type??"");if(Vy.has(r)||r==="engineer.progress"&&n.kind==="file_change")return An(n)}return""}const Yy=new Set(["life.operator_question.pending","life.operator_question.answered"]);function Jy(e){for(let t=e.length-1;t>=0;t-=1){const n=e[t];if(Yy.has(String(n.type??"")))return An(n)}return""}function Xy(e,t=0){const[n,r]=y.useReducer(Ky,{sid:null,events:[],seen:new Set}),[s,i]=y.useState({sid:null,connected:!1}),l=y.useRef(e);return l.current=e,y.useEffect(()=>{if(r({kind:"reset",sid:e}),i({sid:e,connected:!1}),!e)return;let o=!1;const c=new AbortController;B.events(e,120,c.signal).then(m=>{!o&&l.current===e&&r({kind:"seed",sid:e,events:m})}).catch(()=>{});const u=kx(e,m=>{!o&&l.current===e&&r({kind:"push",sid:e,ev:m})},{replay:40,onOpen:()=>{!o&&l.current===e&&i({sid:e,connected:!0})},onClose:()=>{!o&&l.current===e&&i({sid:e,connected:!1})}});return()=>{o=!0,c.abort(),u()}},[e,t]),{events:n.sid===e?n.events:[],connected:s.sid===e&&s.connected}}function Zy(e){return!Number.isFinite(e)||e<=0?"$0.00":e>=100?`$${e.toFixed(0)}`:e>=10?`$${e.toFixed(1)}`:e>=1?`$${e.toFixed(2)}`:`$${e.toFixed(3)}`}function ev({settledUsd:e,knownUsd:t=0,status:n="empty"}){const r=typeof e=="number"&&Number.isFinite(e)?e:t,s=n==="partial"||n==="unpriced";return`${Zy(Math.max(0,r||0))}${s?"+":""}`}function Op({settledUsd:e,knownUsd:t,status:n,calls:r=0,premiumRequests:s=0,live:i=!1,compact:l=!1}){const o=ev({settledUsd:e,knownUsd:t,status:n}),c=["Cumulative settled project spend",`${r} model call${r===1?"":"s"}`,s>0?`${s.toFixed(1)} premium requests`:"",n&&n!=="empty"?`pricing: ${n}`:""].filter(Boolean).join(" · ");return a.jsxs("span",{title:c,"aria-label":`Project spend ${o}`,className:`inline-flex shrink-0 items-center rounded-full border border-gold/25 bg-gold/8 font-mono tabular-nums text-gold ${l?"h-6 gap-1 px-2 text-[10px]":"h-5 gap-1 px-1.5 text-[9px]"}`,children:[i?a.jsx("span",{"aria-hidden":"true",className:"h-1.5 w-1.5 animate-pulse rounded-full bg-gold/80"}):null,a.jsx("span",{children:o})]})}const $p="argus.locale",tv={"language.english":"English","handshake.connecting":"Connecting to Argus backend","splash.starting":"Argus starting","rail.workbench":"Workbench","rail.sessionsShortcut":"Sessions · Ctrl/⌘ P","panel.backlog":"Backlog","panel.activity":"Activity","panel.journal":"Journal","panel.roles":"Roles","panel.project":"Project","panel.liveView":"Manager live project view","stream.jumpToLatest":"Jump to latest","newDaemon.workdirPlaceholder":"Blank → ~/.argus-skill/workspaces/","operations.resetManager":"Reset Manager context","language.chinese":"中文","language.switchTo":"Switch to {language}","common.loading":"Loading…","common.retry":"Retry","common.save":"Save","common.cancel":"Cancel","common.close":"Close","common.settings":"Settings","common.ready":"Ready","common.live":"Live","common.reconnecting":"Reconnecting","common.stale":"Snapshot stale","common.degraded":"Snapshot degraded","common.external":"External","common.pause":"Pause","common.run":"Run","common.local":"Local","common.all":"All","common.unassigned":"Unassigned","common.closeSessions":"Close sessions","common.resizeSessions":"Resize sessions","common.resizePreview":"Resize preview","common.expandPreview":"Expand preview","connection.pairingTitle":"This browser is not paired with Argus","connection.pairingDetail":"Close this tab and reopen the workbench from Argus Desktop, or open a fresh pairing link.","connection.unreachableTitle":"The local Argus service is unavailable","connection.unreachableDetail":"Keep Argus Desktop running and wait for the local backend to become ready, then retry.","sidebar.collapse":"Collapse sessions","sidebar.expand":"Expand sessions","sidebar.create":"Create session","sidebar.find":"Find a session","sidebar.clearSearch":"Clear search","sidebar.refreshFailed":"Refresh failed · retry","sidebar.noSessions":"No sessions","sidebar.daemonAlive":"daemon alive","sidebar.stopped":"stopped","sidebar.runningFor":"running · {uptime}","sidebar.manage":"Manage {name}","sidebar.manageHint":"Rename, pause, or delete","sidebar.openSettings":"Open settings","sidebar.theme":"{current} theme; switch to {next}","landing.selectOrCreate":"Select a session from the sidebar, or create a new one.","landing.noSessions":"No sessions yet. Create one to begin.","landing.select":"Select session","landing.new":"New session","topbar.openSessions":"Open sessions","topbar.externallyManaged":"Externally managed","topbar.pauseDaemon":"Pause daemon","topbar.runDaemon":"Run daemon","topbar.externalDaemonHint":"Daemon is live in an external PID namespace; use its supervisor to control it.","topbar.manageSession":"Manage session","topbar.showPreview":"Show preview","topbar.showActivity":"Show activity","mobile.views":"Views","mobile.sessions":"Sessions","mobile.mission":"Mission","mobile.activity":"Activity","mobile.workbench":"Workbench","mobile.preview":"Preview","chat.yourMessage":"Your message","chat.stopWaitingHint":"Esc stop waiting","chat.messageArgus":"message Argus","chat.selectSession":"Select a session…","chat.placeholder":"Ask a question or assign work","chat.attach":"attach files","chat.attachHint":"PNG, JPEG, WebP, PDF, Markdown/text, JSON, CSV · up to {count} files, {perFile} each, {total} total","chat.attachDrop":"Drop files to attach","chat.attachRemove":"remove attachment {name}","chat.attachUnsupported":"{name} is not supported. Use PNG, JPEG, WebP, PDF, Markdown/text, JSON, or CSV.","chat.attachTooLarge":"{name} exceeds the {size} per-file limit.","chat.attachTooMany":"You can attach up to {count} files per message.","chat.attachTotalTooLarge":"Attachments exceed the {size} total limit.","chat.attachmentUploadFailed":"Attachment upload failed: {error}","chat.uploadingAttachments":"Uploading attachments","chat.rewriteHint":"Let the Manager rewrite this prompt into a brief the team can act on. Nothing is sent — the rewrite lands back in this box for you to edit.","chat.rewriteLabel":"rewrite prompt with the Manager","chat.rewriting":"rewriting","chat.rewrite":"✦ Rewrite","chat.stopWaiting":"stop waiting","chat.stopWaitingTitle":"stop waiting for this reply; server-side work may continue","chat.send":"send message","copy.message":"Copy","copy.code":"Copy code","copy.copied":"Copied","help.title":"Keyboard shortcuts","help.commands":"Commands","help.palette":"command palette","help.sessions":"toggle sessions","help.managerChat":"focus Manager chat","help.rewrite":"rewrite the current prompt before sending","help.reasoning":"toggle agent reasoning","help.kiosk":"toggle kiosk (read-only) mode","help.composer":"focus the composer","help.send":"send message","help.newline":"insert newline","help.thisHelp":"this help","help.escape":"close overlay / stop waiting in composer","palette.placeholder":"Type a command or search…","palette.noMatches":"no matching commands","palette.navigate":"↑↓ navigate","palette.run":"↵ run","palette.close":"esc close","palette.view":"View","palette.action":"Action","palette.project":"Project","palette.newDaemon":"New daemon","palette.openTranscript":"Open Transcript","palette.openProject":"Open Project","palette.projectHint":"work · memory · agents","palette.openOperations":"Open Operations","palette.operationsHint":"backend controls","palette.hideReasoning":"Hide reasoning","palette.showReasoning":"Show reasoning","palette.exitKiosk":"Exit kiosk mode","palette.enterKiosk":"Enter kiosk mode","palette.messageArgus":"Message Argus…","palette.stopWaiting":"Stop waiting for Manager reply","palette.stopContinuous":"Stop continuous campaign","palette.startContinuous":"Start continuous campaign","palette.stopDaemon":"Stop daemon","palette.startDaemon":"Start daemon","slash.suggestions":"Slash command suggestions","mission.roleActive":"{role} active","mission.overview":"mission overview","mission.operations":"Operations","role.manager":"Manager","role.planner":"Planner","role.engineer":"Engineer","role.reviewer":"Reviewer","role.critic":"Critic","role.system":"Argus","role.operator":"You","doctor.title":"Doctor","doctor.subtitle":"daemon health checks + recommended root-cause fix","doctor.recommended":"recommended fix","settings.subtitle":"effective roles, budgets, and essential controls","settings.connection":"Connection","settings.webApi":"Web + REST API","settings.eventStream":"Event stream","settings.taskDaemon":"Task daemon","settings.budgetTitle":"Budget and quota limits","settings.budgetHint":"Set 0 for an uncapped provider-call limit where supported.","settings.saveBudgets":"Save budget limits","settings.budget.global":"Host-global daily","settings.budget.codex":"Codex calls / day","settings.budget.copilot":"Copilot calls / day","settings.budget.premium":"Copilot premium / day","settings.required":"{field} is required","settings.budgetSaved":"Budget limits saved. Restart running daemons to reload their process caps.","settings.advanced":"Advanced setting","settings.namePlaceholder":"name or alias, e.g. manager_model","settings.valuePlaceholder":"value","settings.applyAdvanced":"Apply advanced setting","settings.applied":"Applied. Restart affected daemons to reload process-scoped settings.","settings.footer":"Role overrides are summarized above. Use Advanced setting for a specific override; the full registry remains available via","identity.title":"Identity","identity.subtitle":"who argus is working for on this project","identity.placeholder":"Describe who Argus is working for and durable preferences…","identity.save":"Save identity","identity.saved":"Identity saved.","transcript.title":"Transcript","transcript.subtitle":"recent operator ↔ argus turns · reply from the composer","transcript.empty":"no conversation turns yet","transcript.operator":"operator","new.createDaemon":"Create daemon","new.subtitle":"Creates an isolated timeline and Manager context.","new.close":"close create daemon","new.name":"Name","new.optional":"(optional)","new.namePlaceholder":"e.g. AAAI embodiment paper","new.workdir":"Output workdir","new.workdirHint":"Agents write code, papers, reports, and experiment outputs here. Internal memory stays under the session state directory.","new.objective":"Objective","new.objectivePlaceholder":"Leave blank to start with a conversation, or describe a campaign to start immediately.","new.startsAfterCreate":"Campaign starts after session creation","new.idleUntilMessage":"Idle until the first message","new.startsHint":"The session opens immediately; Manager handoff and executor startup continue in the background.","new.idleHint":"No executor is spawned yet. The Manager will reply or dispatch work from your first message.","new.shortcut":"Ctrl/⌘+Enter to create","new.creating":"Creating…","new.createAndStart":"Create and start","manage.daemon":"Manage daemon","manage.displayName":"Display name","manage.executor":"Executor","manage.running":"Running","manage.runningExternally":"Running externally","manage.paused":"Paused","manage.pauseHint":"Pause safely after the current operation.","manage.externalHint":"This daemon is supervised outside the Web host PID namespace.","manage.resumeHint":"Resume queued research work.","manage.working":"Working…","manage.resume":"Resume","manage.deleteSession":"Delete session","manage.deleteHint":"Deleted sessions move to projects_trash and remain recoverable. Pause the executor first.","manage.delete":"Delete…","manage.confirmQuestion":"Move this session to trash?","manage.confirmDelete":"Confirm delete","decision.operator":"Operator decision","decision.required":"Decision required","decision.whyBlocked":"Why work is blocked","decision.evidence":"Evidence","decision.notePlaceholder":"Add the guidance the Manager should apply…","decision.resumeHint":"The Manager applies your choice before work resumes.","decision.later":"Later","decision.applying":"Applying…","decision.stopCampaign":"Stop campaign","decision.useOption":"Use this option","decision.sendAnswer":"Send answer","decision.noteRequired":"Add the required details before sending this choice.","artifact.preview":"Artifact preview","artifact.title":"Artifact","artifact.approvedEvidence":"reviewer-approved evidence","artifact.downloading":"Downloading…","artifact.download":"Download","artifact.open":"Open","artifact.close":"close artifact preview","artifact.unavailable":"preview unavailable","artifact.empty":"(empty file)","artifact.truncated":"preview truncated · download to inspect the complete file","artifact.htmlTooLarge":"HTML preview is too large to render safely. Download the complete file.","artifact.pdfDisabled":"Inline PDF preview is disabled by this browser.","artifact.openPdf":"Open PDF","artifact.noPreview":"This file type has no safe inline preview.","artifact.downloadHint":"Download it to inspect with a local application.","task.details":"Task details","task.stopLoop":"stop loop","task.done":"done","task.skip":"skip","task.close":"close task details","task.waitingOnYou":"Waiting on you","task.objective":"Objective","task.noObjective":"(no objective recorded)","task.priority":"priority","task.started":"started","task.finished":"finished","task.outcome":"Outcome","task.iteration":"Iteration","task.mode":"mode","task.autoIterate":"auto-iterate","task.singlePass":"single pass","task.cycles":"cycles","task.cost":"cost","task.lastError":"Last error","task.notes":"Notes","task.dependsOn":"depends on","mission.achievement":"Argus achievement","mission.elapsed":"Elapsed","mission.rejectedAttempts":"{count} rejected attempts","mission.skillsLearned":"{count} skills learned","mission.artifacts":"{count} artifacts","mission.waiting":"Waiting for a mission","mission.control":"Mission control","mission.showObjective":"Show full objective","mission.stage":"Stage","mission.campaign":"Campaign","mission.totalElapsed":"Total elapsed","mission.round":"Round","mission.mode":"Mode","mission.summary":"Mission summary","mission.team":"AI research team","mission.waitingShort":"Waiting","mission.roleWork":"Role work","mission.filteredBy":"filtered by {task} · clear","mission.allVisible":"all visible missions","mission.roundNumber":"round {count}","mission.noRoleWork":"No persisted {role} work for this selection yet.","mission.researchDag":"Research DAG","mission.active":"active","mission.noDag":"Planner has not added DAG nodes yet.","mission.acceptance":"Acceptance","mission.nonGoals":"Non-goals","mission.capabilities":"Capabilities","mission.capabilitiesUnlocked":"Capabilities unlocked","mission.skillUnavailable":"Skill content is not available in this snapshot.","mission.knowledgeRetained":"Knowledge retained","mission.selfEvolution":"Self-evolution storage","mission.replay":"Mission replay","mission.replayTimeline":"Replay mission timeline","mission.waitingEvents":"Waiting for structured research events.","research.currentWork":"Current work","research.dagProgress":"DAG progress","research.verifiedOutputs":"Verified outputs","research.recentMilestones":"Recent milestones","research.liveProgress":"Live progress","research.artifact":"Research artifact","research.canvas":"Manager live research canvas","research.previewArtifact":"Preview artifact","research.openLarge":"Open large preview","research.collapse":"Collapse preview","research.unavailable":"Manager live view is temporarily unavailable.","research.noPreview":"No preview","research.waiting":"Waiting…","research.updating":"Updating…","research.fileUnavailable":"Preview unavailable for this file.","research.eventSourced":"event-sourced mission state","research.downloadFailed":"download failed","operations.title":"Operations","operations.work":"Work","operations.runtime":"Runtime","operations.system":"System","operations.recovery":"Recovery","operations.workInput":"Work input","operations.workHint":"Queue work, guide the active task, save a note, or preview a plan without dispatching it.","operations.planPlaceholder":"Objective to preview; preview never queues work","operations.actionPlaceholder":"{action} text","operations.previewPlan":"Preview plan","operations.submitAction":"Submit {action}","operations.runtimeHint":"Change where this session runs, reset Manager context, or safely reload the daemon.","operations.workdir":"Working directory","operations.workdirUpdated":"Working directory updated.","operations.applyWorkdir":"Apply working directory","operations.replaceSlot":"Replace a running daemon slot","operations.skills":"Skills","operations.runSkill":"Run skill command","operations.metrics":"System metrics","operations.trash":"Recoverable trash","operations.searchTrash":"Search trash","operations.trashEmpty":"Trash is empty."},nv={"language.english":"English","handshake.connecting":"正在连接 Argus 后端","splash.starting":"Argus 启动中","rail.workbench":"工作台","rail.sessionsShortcut":"会话 · Ctrl/⌘ P","panel.backlog":"待办","panel.activity":"动态","panel.journal":"日志","panel.roles":"角色","panel.project":"项目","panel.liveView":"Manager 实时项目视图","stream.jumpToLatest":"跳到最新","newDaemon.workdirPlaceholder":"留空 → ~/.argus-skill/workspaces/","operations.resetManager":"重置 Manager 上下文","language.chinese":"中文","language.switchTo":"切换到{language}","common.loading":"加载中…","common.retry":"重试","common.save":"保存","common.cancel":"取消","common.close":"关闭","common.settings":"设置","common.ready":"就绪","common.live":"实时","common.reconnecting":"正在重连","common.stale":"快照已过期","common.degraded":"快照异常","common.external":"外部","common.pause":"暂停","common.run":"运行","common.local":"本地","common.all":"全部","common.unassigned":"未分配","common.closeSessions":"关闭会话列表","common.resizeSessions":"调整会话列表宽度","common.resizePreview":"调整预览区域宽度","common.expandPreview":"展开预览","connection.pairingTitle":"此浏览器尚未与 Argus 配对","connection.pairingDetail":"请关闭此标签页,然后从 Argus Desktop 重新打开工作台,或使用新的配对链接。","connection.unreachableTitle":"Argus 本地服务当前不可达","connection.unreachableDetail":"请保持 Argus Desktop 运行,等待本地后端就绪后再重试。","sidebar.collapse":"收起会话","sidebar.expand":"展开会话","sidebar.create":"创建会话","sidebar.find":"查找会话","sidebar.clearSearch":"清除搜索","sidebar.refreshFailed":"刷新失败 · 重试","sidebar.noSessions":"暂无会话","sidebar.daemonAlive":"守护进程运行中","sidebar.stopped":"已停止","sidebar.runningFor":"运行中 · {uptime}","sidebar.manage":"管理 {name}","sidebar.manageHint":"重命名、暂停或删除","sidebar.openSettings":"打开设置","sidebar.theme":"{current}主题;切换到{next}主题","landing.selectOrCreate":"从侧边栏选择一个会话,或创建新会话。","landing.noSessions":"还没有会话。创建一个即可开始。","landing.select":"选择会话","landing.new":"新建会话","topbar.openSessions":"打开会话列表","topbar.externallyManaged":"由外部管理","topbar.pauseDaemon":"暂停守护进程","topbar.runDaemon":"运行守护进程","topbar.externalDaemonHint":"守护进程位于外部 PID 命名空间中;请使用其 supervisor 进行控制。","topbar.manageSession":"管理会话","topbar.showPreview":"显示预览","topbar.showActivity":"显示动态","mobile.views":"视图","mobile.sessions":"会话","mobile.mission":"任务","mobile.activity":"动态","mobile.workbench":"工作台","mobile.preview":"预览","chat.yourMessage":"你的消息","chat.stopWaitingHint":"按 Esc 停止等待","chat.messageArgus":"向 Argus 发送消息","chat.selectSession":"请选择会话…","chat.placeholder":"提问或安排工作","chat.attach":"添加文件","chat.attachHint":"支持 PNG、JPEG、WebP、PDF、Markdown/文本、JSON、CSV · 每条消息最多 {count} 个文件,单个 {perFile},总计 {total}","chat.attachDrop":"拖放文件以添加附件","chat.attachRemove":"移除附件 {name}","chat.attachUnsupported":"{name} 不受支持。请使用 PNG、JPEG、WebP、PDF、Markdown/文本、JSON 或 CSV。","chat.attachTooLarge":"{name} 超过单文件大小限制 {size}。","chat.attachTooMany":"每条消息最多只能附带 {count} 个文件。","chat.attachTotalTooLarge":"附件总大小超过 {size} 限制。","chat.attachmentUploadFailed":"附件上传失败:{error}","chat.uploadingAttachments":"正在上传附件","chat.rewriteHint":"让 Manager 将提示词改写为团队可执行的任务说明。不会直接发送,改写结果会回到输入框供你编辑。","chat.rewriteLabel":"使用 Manager 改写提示词","chat.rewriting":"正在改写","chat.rewrite":"✦ 改写","chat.stopWaiting":"停止等待","chat.stopWaitingTitle":"停止等待此回复;服务端工作可能仍会继续","chat.send":"发送消息","copy.message":"复制","copy.code":"复制代码","copy.copied":"已复制","help.title":"键盘快捷键","help.commands":"命令","help.palette":"打开命令面板","help.sessions":"展开或收起会话","help.managerChat":"聚焦 Manager 对话框","help.rewrite":"发送前改写当前提示词","help.reasoning":"显示或隐藏 Agent 推理","help.kiosk":"切换只读展示模式","help.composer":"聚焦输入框","help.send":"发送消息","help.newline":"插入换行","help.thisHelp":"打开此帮助","help.escape":"关闭浮层或停止等待","palette.placeholder":"输入命令或搜索…","palette.noMatches":"没有匹配的命令","palette.navigate":"↑↓ 导航","palette.run":"↵ 执行","palette.close":"Esc 关闭","palette.view":"视图","palette.action":"操作","palette.project":"项目","palette.newDaemon":"新建守护进程","palette.openTranscript":"打开对话记录","palette.openProject":"打开项目","palette.projectHint":"工作 · 记忆 · Agent","palette.openOperations":"打开运行控制","palette.operationsHint":"后端控制","palette.hideReasoning":"隐藏推理","palette.showReasoning":"显示推理","palette.exitKiosk":"退出展示模式","palette.enterKiosk":"进入展示模式","palette.messageArgus":"向 Argus 发送消息…","palette.stopWaiting":"停止等待 Manager 回复","palette.stopContinuous":"停止持续任务","palette.startContinuous":"启动持续任务","palette.stopDaemon":"停止守护进程","palette.startDaemon":"启动守护进程","slash.suggestions":"Slash 命令建议","mission.roleActive":"{role} 正在工作","mission.overview":"任务概览","mission.operations":"运行控制","role.manager":"Manager","role.planner":"Planner","role.engineer":"Engineer","role.reviewer":"Reviewer","role.critic":"Critic","role.system":"Argus","role.operator":"你","doctor.title":"诊断","doctor.subtitle":"守护进程健康检查与推荐的根因修复方案","doctor.recommended":"推荐修复","settings.subtitle":"生效中的角色、预算和关键控制项","settings.connection":"连接","settings.webApi":"Web + REST API","settings.eventStream":"事件流","settings.taskDaemon":"任务守护进程","settings.budgetTitle":"预算和配额限制","settings.budgetHint":"支持时,将调用限制设为 0 表示不设上限。","settings.saveBudgets":"保存预算限制","settings.budget.global":"主机全局每日预算","settings.budget.codex":"Codex 每日调用","settings.budget.copilot":"Copilot 每日调用","settings.budget.premium":"Copilot 每日 Premium 请求","settings.required":"必须填写{field}","settings.budgetSaved":"预算限制已保存。请重启正在运行的守护进程以重新加载进程级限制。","settings.advanced":"高级设置","settings.namePlaceholder":"名称或别名,例如 manager_model","settings.valuePlaceholder":"值","settings.applyAdvanced":"应用高级设置","settings.applied":"设置已应用。请重启受影响的守护进程以重新加载进程级设置。","settings.footer":"上方汇总了角色覆盖配置。可使用“高级设置”指定覆盖项;完整配置仍可通过以下命令查看:","identity.title":"身份","identity.subtitle":"本项目中 Argus 服务的对象","identity.placeholder":"描述 Argus 正在为谁工作,以及需要长期遵循的偏好…","identity.save":"保存身份","identity.saved":"身份已保存。","transcript.title":"对话记录","transcript.subtitle":"近期操作者 ↔ Argus 对话 · 请从输入框继续回复","transcript.empty":"暂无对话记录","transcript.operator":"操作者","new.createDaemon":"创建守护进程","new.subtitle":"创建隔离的时间线和 Manager 上下文。","new.close":"关闭创建会话窗口","new.name":"名称","new.optional":"(可选)","new.namePlaceholder":"例如:AAAI 具身智能论文","new.workdir":"输出工作目录","new.workdirHint":"Agent 会在这里写入代码、论文、报告和实验结果。内部记忆仍保存在会话状态目录中。","new.objective":"目标","new.objectivePlaceholder":"留空则从对话开始,也可以填写一个立即启动的持续任务。","new.startsAfterCreate":"创建会话后立即启动任务","new.idleUntilMessage":"收到第一条消息前保持空闲","new.startsHint":"会话会立即打开;Manager 交接和执行器启动将在后台继续。","new.idleHint":"暂时不会启动执行器。Manager 会在收到第一条消息后回复或分派工作。","new.shortcut":"按 Ctrl/⌘+Enter 创建","new.creating":"正在创建…","new.createAndStart":"创建并启动","manage.daemon":"管理守护进程","manage.displayName":"显示名称","manage.executor":"执行器","manage.running":"运行中","manage.runningExternally":"由外部运行","manage.paused":"已暂停","manage.pauseHint":"在当前操作完成后安全暂停。","manage.externalHint":"此守护进程由 Web 主机 PID 命名空间之外的 supervisor 管理。","manage.resumeHint":"继续执行队列中的研究工作。","manage.working":"处理中…","manage.resume":"继续","manage.deleteSession":"删除会话","manage.deleteHint":"删除的会话会移入 projects_trash,之后仍可恢复。请先暂停执行器。","manage.delete":"删除…","manage.confirmQuestion":"将此会话移入回收站?","manage.confirmDelete":"确认删除","decision.operator":"操作者决策","decision.required":"需要你的决策","decision.whyBlocked":"工作被阻塞的原因","decision.evidence":"证据","decision.notePlaceholder":"添加 Manager 应采用的指导…","decision.resumeHint":"Manager 会在恢复工作前应用你的选择。","decision.later":"稍后处理","decision.applying":"正在应用…","decision.stopCampaign":"停止持续任务","decision.useOption":"使用此选项","decision.sendAnswer":"发送回答","decision.noteRequired":"这个选项需要补充说明后才能提交。","artifact.preview":"产物预览","artifact.title":"产物","artifact.approvedEvidence":"Reviewer 批准的证据","artifact.downloading":"正在下载…","artifact.download":"下载","artifact.open":"打开","artifact.close":"关闭产物预览","artifact.unavailable":"无法预览","artifact.empty":"(空文件)","artifact.truncated":"预览已截断 · 请下载完整文件查看","artifact.htmlTooLarge":"HTML 文件过大,无法安全预览。请下载完整文件。","artifact.pdfDisabled":"此浏览器已禁用内嵌 PDF 预览。","artifact.openPdf":"打开 PDF","artifact.noPreview":"此文件类型无法安全地在线预览。","artifact.downloadHint":"请下载后使用本地应用查看。","task.details":"任务详情","task.stopLoop":"停止循环","task.done":"完成","task.skip":"跳过","task.close":"关闭任务详情","task.waitingOnYou":"等待你的回复","task.objective":"目标","task.noObjective":"(未记录目标)","task.priority":"优先级","task.started":"开始时间","task.finished":"完成时间","task.outcome":"结果","task.iteration":"迭代","task.mode":"模式","task.autoIterate":"自动迭代","task.singlePass":"单次执行","task.cycles":"轮次","task.cost":"成本","task.lastError":"最近错误","task.notes":"备注","task.dependsOn":"依赖","mission.achievement":"Argus 成果","mission.elapsed":"耗时","mission.rejectedAttempts":"{count} 次方案被拒绝","mission.skillsLearned":"学习了 {count} 个 Skill","mission.artifacts":"{count} 个产物","mission.waiting":"等待任务","mission.control":"任务控制","mission.showObjective":"显示完整目标","mission.stage":"阶段","mission.campaign":"持续任务","mission.totalElapsed":"总耗时","mission.round":"轮次","mission.mode":"模式","mission.summary":"本次完成","mission.team":"AI 研究团队","mission.waitingShort":"等待中","mission.roleWork":"角色工作","mission.filteredBy":"按 {task} 筛选 · 清除","mission.allVisible":"全部可见任务","mission.roundNumber":"第 {count} 轮","mission.noRoleWork":"当前筛选下还没有持久化的 {role} 工作记录。","mission.researchDag":"研究 DAG","mission.active":"进行中","mission.noDag":"Planner 尚未添加 DAG 节点。","mission.acceptance":"验收标准","mission.nonGoals":"非目标","mission.capabilities":"能力","mission.capabilitiesUnlocked":"已解锁能力","mission.skillUnavailable":"当前快照中没有此 Skill 的内容。","mission.knowledgeRetained":"已保留知识","mission.selfEvolution":"自进化存储","mission.replay":"任务回放","mission.replayTimeline":"回放任务时间线","mission.waitingEvents":"等待结构化研究事件。","research.currentWork":"当前工作","research.dagProgress":"DAG 进度","research.verifiedOutputs":"已验证输出","research.recentMilestones":"近期里程碑","research.liveProgress":"实时进度","research.artifact":"研究产物","research.canvas":"Manager 实时研究面板","research.previewArtifact":"预览产物","research.openLarge":"打开大尺寸预览","research.collapse":"收起预览","research.unavailable":"Manager 实时视图暂时不可用。","research.noPreview":"暂无预览","research.waiting":"等待中…","research.updating":"正在更新…","research.fileUnavailable":"此文件无法预览。","research.eventSourced":"基于事件的任务状态","research.downloadFailed":"下载失败","operations.title":"运行控制","operations.work":"工作","operations.runtime":"运行时","operations.system":"系统","operations.recovery":"恢复","operations.workInput":"工作输入","operations.workHint":"加入工作、指导当前任务、保存备注,或仅预览计划而不分派。","operations.planPlaceholder":"要预览的目标;预览不会加入任务队列","operations.actionPlaceholder":"输入 {action} 内容","operations.previewPlan":"预览计划","operations.submitAction":"提交 {action}","operations.runtimeHint":"更改会话运行位置、重置 Manager 上下文,或安全重载守护进程。","operations.workdir":"工作目录","operations.workdirUpdated":"工作目录已更新。","operations.applyWorkdir":"应用工作目录","operations.replaceSlot":"替换正在运行的守护进程槽位","operations.skills":"Skills","operations.runSkill":"运行 Skill 命令","operations.metrics":"系统指标","operations.trash":"可恢复的回收站","operations.searchTrash":"搜索回收站","operations.trashEmpty":"回收站为空。"};function Fp(){try{const e=localStorage.getItem($p);if(e==="en"||e==="zh-CN")return e}catch{}return navigator.language.toLowerCase().startsWith("zh")?"zh-CN":"en"}function zp(e,t={},n=Fp()){return((n==="zh-CN"?nv[e]:tv[e])??e).replace(/\{(\w+)\}/g,(s,i)=>String(t[i]??`{${i}}`))}const Up=y.createContext({locale:"en",setLocale:()=>{},t:(e,t)=>zp(e,t,"en")});function rv({children:e}){const[t,n]=y.useState(Fp),r=i=>{try{localStorage.setItem($p,i)}catch{}n(i)};y.useEffect(()=>{document.documentElement.lang=t},[t]);const s=y.useMemo(()=>({locale:t,setLocale:r,t:(i,l)=>zp(i,l,t)}),[t]);return a.jsx(Up.Provider,{value:s,children:e})}function ee(){return y.useContext(Up)}const sv=new Set(["running","in_progress","claimed"]);function iv(e){return e.find(t=>t.active)??e.find(t=>t.role==="manager")}function Gu({snap:e,streamOk:t,onStart:n,onStop:r,onManage:s,onOpenSessions:i,mobileView:l,onToggleMobileView:o,busy:c,snapshotStale:u=!1,readOnly:m=!1,missionView:f}){var N,E,C,_,L;const{t:p}=ee(),k=iv(e.roles),v=f==null?void 0:f.roles.find($=>$.role===f.active_role),w=(v==null?void 0:v.role)||(k==null?void 0:k.role)||"manager",j=v?v.status==="active":!!(k!=null&&k.active),h=e.backlog.find($=>sv.has($.status)),d=(v==null?void 0:v.label)||(h==null?void 0:h.title)||(h==null?void 0:h.objective)||e.session.objective||p("common.ready"),x=!!(e.partial||((N=e.observability)==null?void 0:N.slo.status)==="degraded"),b=e.daemon.alive&&e.daemon.control_available===!1,g=b?p("topbar.externallyManaged"):e.daemon.alive?p("topbar.pauseDaemon"):p("topbar.runDaemon"),S=x?[...(e.diagnostics??[]).map($=>`${$.section}: ${$.message}`),...((E=e.observability)==null?void 0:E.slo.violations)??[]].join(` -`)||p("common.degraded"):p(u?"common.stale":t?"common.live":"common.reconnecting");return a.jsxs("header",{className:"glass-panel glass-panel--raised flex h-12 min-w-0 shrink-0 items-center gap-2 border-b px-3 sm:gap-3 sm:px-4",children:[i?a.jsx("button",{type:"button",onClick:i,"aria-label":p("topbar.openSessions"),className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-ink-faint hover:bg-bg hover:text-ink lg:hidden",children:a.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",className:"h-4 w-4",fill:"none",stroke:"currentColor",strokeWidth:"1.25",children:a.jsx("path",{d:"M2.5 4h11M2.5 8h11M2.5 12h11"})})}):null,a.jsx("div",{className:"hidden min-w-0 max-w-28 truncate text-sm font-semibold text-ink sm:block",children:e.session.display_name||e.session.id}),a.jsx("span",{className:"hidden h-4 w-px shrink-0 bg-line/40 sm:block"}),a.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[a.jsx("span",{className:`h-2 w-2 shrink-0 rounded-full ${j?"animate-pulse":""}`,style:{background:ue.role[w]||"rgb(var(--ink-faint))"}}),a.jsx("span",{className:"hidden shrink-0 text-xs font-semibold capitalize text-ink-dim sm:inline",children:w}),a.jsx("span",{className:"truncate text-xs text-ink-faint",children:d})]}),a.jsx("span",{title:S,className:`h-2 w-2 shrink-0 rounded-full transition-shadow duration-150 ${x||u?"bg-err ring-1 ring-err/30 ring-offset-1 ring-offset-panel":t?"bg-ok ring-1 ring-ok/30 ring-offset-1 ring-offset-panel":"bg-ink-faint/50"}`}),a.jsx(Op,{settledUsd:e.spend_usd,knownUsd:(C=e.usage_summary)==null?void 0:C.known_cost_usd,status:e.spend_status,calls:(_=e.usage_summary)==null?void 0:_.call_count,premiumRequests:(L=e.usage_summary)==null?void 0:L.premium_requests,live:e.daemon.alive,compact:!0}),o?a.jsx("button",{type:"button",onClick:o,"aria-label":p(l==="activity"?"topbar.showPreview":"topbar.showActivity"),title:p(l==="activity"?"topbar.showPreview":"topbar.showActivity"),className:"icon-control flex h-8 w-8 shrink-0 items-center justify-center lg:hidden",children:a.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",className:"h-4 w-4",fill:"none",stroke:"currentColor",strokeWidth:"1.25",children:l==="activity"?a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"2",y:"2.5",width:"12",height:"11",rx:"1.5"}),a.jsx("path",{d:"M9.5 2.75v10.5"})]}):a.jsx("path",{d:"M3 4h10M3 8h10M3 12h7"})})}):null,m?null:a.jsxs(a.Fragment,{children:[a.jsxs("button",{type:"button",disabled:c||b,onClick:e.daemon.alive?r:n,"aria-label":g,title:b?p("topbar.externalDaemonHint"):g,className:"compact-control flex h-8 shrink-0 items-center gap-1 px-2 disabled:opacity-40",children:[a.jsx(pe,{icon:e.daemon.alive?Of:dd,className:"h-3 w-3"}),a.jsx("span",{className:"hidden sm:inline",children:b?p("common.external"):e.daemon.alive?p("common.pause"):p("common.run")})]}),a.jsx("button",{type:"button","aria-label":p("topbar.manageSession"),title:p("topbar.manageSession"),onClick:s,className:"icon-control flex h-8 w-8 shrink-0 items-center justify-center text-sm tracking-widest",children:"···"})]})]})}const Yu={fast:.18},Ju={magnetic:5},av={all:"(min-width: 0px)",reduceMotion:"(prefers-reduced-motion: reduce)"};function Ts(e,t,n=[]){const r=y.useRef(t);r.current=t,y.useEffect(()=>{let s=!1,i=null;return yp(()=>import("./motion-a9woYdh8.js"),[]).then(l=>{if(s||!e.current)return;const o=l.gsap;i=o.matchMedia(),i.add(av,c=>{var u;return r.current(o,!!((u=c.conditions)!=null&&u.reduceMotion))},e.current)}),()=>{s=!0,i==null||i.revert()}},n)}function lv(e,t=!0){Ts(e,(n,r)=>{const s=e.current;if(!t||r||!s||!window.matchMedia("(hover: hover) and (pointer: fine)").matches)return;const i=n.quickTo(s,"x",{duration:Yu.fast,ease:"power2.out"}),l=n.quickTo(s,"y",{duration:Yu.fast,ease:"power2.out"});let o=null;const c=()=>{o=s.getBoundingClientRect()},u=f=>{if(o||c(),!o)return;const p=((f.clientX-o.left)/o.width-.5)*Ju.magnetic*2,k=((f.clientY-o.top)/o.height-.5)*Ju.magnetic*2;i(p),l(k)},m=()=>{i(0),l(0)};return s.addEventListener("pointerenter",c),s.addEventListener("pointermove",u,{passive:!0}),s.addEventListener("pointerleave",m),window.addEventListener("resize",c),()=>{s.removeEventListener("pointerenter",c),s.removeEventListener("pointermove",u),s.removeEventListener("pointerleave",m),window.removeEventListener("resize",c)}},[t])}function sc(e){if(!e)return"—";const t=Date.now()/1e3,n=Math.max(0,t-e);return n<5?"just now":n<60?`${Math.floor(n)}s ago`:n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}function ov(e){if(e==null||e<0)return"—";const t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t?`${t}d ${n}h`:n?`${n}h ${r}m`:r?`${r}m`:`${Math.floor(e)}s`}function cv(e,t=2){return e==null||!isFinite(e)?"$0.00":`$${e.toFixed(t)}`}function It(e){if(!Number.isFinite(e)||e<=0)return"0 B";const t=["B","KB","MB","GB"],n=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1),r=e/1024**n;return`${r>=10||n===0?r.toFixed(0):r.toFixed(1)} ${t[n]}`}function to(e){const t=e.ts??e.time;let n=null;if(typeof t=="number")n=t>1e12?t:t*1e3;else if(typeof t=="string"){const i=Date.parse(t);isNaN(i)||(n=i)}if(n==null)return"";const r=new Date(n),s=i=>String(i).padStart(2,"0");return`${s(r.getHours())}:${s(r.getMinutes())}:${s(r.getSeconds())}`}function Xn(e){return e instanceof Error?e.message:String(e||"Unknown error")}function uv(e,t){const n=Xn(e);return t?`Reply interrupted after a partial response: ${n}`:`Message failed before a response was received: ${n}`}const dv="operator console",mv=["No active work.","Event stream is idle.","Ready for input."];function pv(e,t=3800){return e[Math.floor(Date.now()/t)%e.length]}function fv({ok:e,pulse:t=!1,title:n}){return a.jsx("span",{title:n,className:`inline-block h-1.5 w-1.5 rounded-full transition-shadow duration-150 ${e?"bg-ok ring-1 ring-ok/30 ring-offset-1 ring-offset-panel":"bg-ink-faint/50"}`,"data-live":e&&t?"true":void 0})}function Kr({children:e,color:t,className:n=""}){return a.jsx("span",{className:`chip text-ink-dim ${n}`,style:t?{color:t,borderColor:`${t}44`}:void 0,children:e})}function Kt({children:e,onClick:t,variant:n="ghost",disabled:r,title:s,className:i=""}){const l=y.useRef(null);lv(l,n!=="danger"&&!r);const o={ghost:"brand-button-ghost",primary:"brand-button-primary",danger:"brand-button-danger"};return a.jsx("button",{ref:l,type:"button",title:s,disabled:r,onClick:t,className:`brand-button ${o[n]} ${i}`,children:e})}function la({title:e,right:t}){return a.jsxs("div",{className:"panel-header flex min-h-11 items-center justify-between border-b px-4",children:[a.jsx("span",{className:"text-xs font-semibold uppercase tracking-[0.06em] text-ink-faint",children:e}),t]})}function _t(){return a.jsx("span",{className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-line border-t-blue"})}function oa({children:e}){return a.jsx("div",{className:"px-3 py-6 text-center text-xs text-ink-faint",children:e})}async function hv(e){var t;try{if((t=navigator.clipboard)!=null&&t.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{const n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select();const r=document.execCommand("copy");return n.remove(),r}catch{return!1}}function no({text:e,label:t,copiedLabel:n,className:r=""}){const[s,i]=y.useState(!1),l=y.useRef();y.useEffect(()=>()=>{l.current&&clearTimeout(l.current)},[]);const o=async()=>{await hv(e)&&(i(!0),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>i(!1),1600))};return a.jsxs("button",{type:"button",onClick:()=>void o(),"aria-label":s?n:t,title:s?n:t,className:`inline-flex h-7 items-center gap-1 rounded-md border border-line/60 bg-panel/85 px-2 text-[10px] text-ink-faint shadow-sm backdrop-blur transition hover:border-blue/45 hover:text-blue focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue/50 ${r}`,children:[s?a.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:a.jsx("path",{d:"m3.5 8.5 2.7 2.7 6.3-6.4"})}):a.jsxs("svg",{viewBox:"0 0 16 16","aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:[a.jsx("rect",{x:"5.2",y:"5.2",width:"7.2",height:"7.2",rx:"1.2"}),a.jsx("path",{d:"M10.8 5.2V3.8a1.2 1.2 0 0 0-1.2-1.2H3.8a1.2 1.2 0 0 0-1.2 1.2v5.8a1.2 1.2 0 0 0 1.2 1.2h1.4"})]}),a.jsx("span",{children:s?n:t})]})}function ro(e){return typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(ro).join(""):y.isValidElement(e)?ro(e.props.children):""}function gv({src:e,alt:t}){const[n,r]=y.useState(!1);return n||!e?a.jsxs("span",{className:"text-xs text-ink-faint",children:["Image unavailable",t?` · ${t}`:""]}):a.jsx("img",{src:e,alt:t||"",loading:"lazy",decoding:"async",onError:()=>r(!0),className:"my-2 h-auto max-w-full rounded-lg"})}function Nr({children:e}){const{t}=ee();return a.jsx(Gf,{remarkPlugins:[Yf],components:{h1:({children:n})=>a.jsx("h1",{className:"mb-2 mt-3 text-base font-semibold text-ink first:mt-0",children:n}),h2:({children:n})=>a.jsx("h2",{className:"mb-1.5 mt-3 text-sm font-semibold text-ink first:mt-0",children:n}),h3:({children:n})=>a.jsx("h3",{className:"mb-1 mt-2 text-sm font-medium text-ink first:mt-0",children:n}),p:({children:n})=>a.jsx("p",{className:"my-1.5 whitespace-pre-wrap break-words leading-[1.625] first:mt-0 last:mb-0",children:n}),ul:({children:n})=>a.jsx("ul",{className:"my-2 list-disc space-y-1 pl-5",children:n}),ol:({children:n})=>a.jsx("ol",{className:"my-2 list-decimal space-y-1 pl-5",children:n}),li:({children:n})=>a.jsx("li",{className:"pl-0.5",children:n}),blockquote:({children:n})=>a.jsx("blockquote",{className:"my-2 border-l border-blue/50 pl-3 text-ink-dim",children:n}),hr:()=>a.jsx("hr",{className:"my-3 border-line/60"}),a:({href:n,children:r})=>a.jsx("a",{href:n,target:"_blank",rel:"noreferrer",className:"text-blue underline decoration-blue/35 underline-offset-2 hover:decoration-blue",children:r}),code:({className:n,children:r,...s})=>{const i=!!n||String(r).includes(` -`);return a.jsx("code",{...s,className:i?`block min-w-0 whitespace-pre-wrap break-words font-mono text-xs text-ink ${n??""}`:"break-all rounded bg-bg px-1.5 py-0.5 font-mono text-xs text-ink",children:r})},pre:({children:n})=>a.jsxs("pre",{className:"group/code relative my-2 max-w-full overflow-x-hidden whitespace-pre-wrap break-words rounded-lg border border-line/50 bg-bg px-3 pb-3 pt-10",children:[a.jsx(no,{text:y.Children.toArray(n).map(ro).join(""),label:t("copy.code"),copiedLabel:t("copy.copied"),className:"absolute right-2 top-2"}),n]}),table:({children:n})=>a.jsx("table",{className:"my-2 w-full table-fixed border-collapse text-left text-xs",children:n}),th:({children:n})=>a.jsx("th",{className:"break-words border border-line/60 bg-bg px-2 py-1.5 font-semibold text-ink",children:n}),td:({children:n})=>a.jsx("td",{className:"break-words border border-line/60 px-2 py-1.5 align-top",children:n}),strong:({children:n})=>a.jsx("strong",{className:"font-semibold text-ink",children:n}),img:({src:n,alt:r})=>a.jsx(gv,{src:n,alt:r})},children:e})}function Bp(e){return`${e}-${y.useId().replaceAll(":","")}`}function ca({size:e,className:t="text-ink"}){const n=Bp("argus-rounded-mark");return a.jsxs("svg",{"data-logo":"rounded-mark",viewBox:"0 0 512 512",role:"img","aria-label":"Argus",style:{width:e,height:e},className:`shrink-0 ${t}`,children:[a.jsx("defs",{children:a.jsxs("linearGradient",{id:n,gradientUnits:"userSpaceOnUse",x1:"66",y1:"0",x2:"440",y2:"0",children:[a.jsx("stop",{offset:"0%",stopColor:"rgb(var(--spectral-blue))"}),a.jsx("stop",{offset:"100%",stopColor:"rgb(var(--spectral-gold))"})]})}),a.jsx("path",{d:"M352 112q0-30 30-30h28q30 0 30 30v320h-88v-52q-46 62-129 62Q66 442 66 266T228 88q80 0 124 56v-32ZM140 266q46-80 102-80t110 80q-54 80-110 80t-102-80Z",fill:`url(#${n})`,fillRule:"evenodd"}),a.jsx("path",{d:"M286 266A42 42 0 1 0 202 266A42 42 0 1 0 286 266ZM274 248A12 12 0 1 0 250 248A12 12 0 1 0 274 248Z",fill:`url(#${n})`,fillRule:"evenodd"})]})}function xv({size:e}){const t=Bp("argus-rounded-horizontal");return a.jsxs("svg",{"data-logo":"rounded-horizontal",viewBox:"150 40 1160 390",role:"img","aria-label":"Argus",style:{width:e*2.75,height:e},className:"shrink-0",children:[a.jsx("defs",{children:a.jsxs("linearGradient",{id:t,gradientUnits:"userSpaceOnUse",x1:"180",y1:"0",x2:"1280",y2:"0",children:[a.jsx("stop",{offset:"0%",stopColor:"rgb(var(--spectral-blue))"}),a.jsx("stop",{offset:"100%",stopColor:"rgb(var(--spectral-gold))"})]})}),a.jsxs("g",{transform:"translate(180 92) scale(.54)",children:[a.jsx("path",{d:"M352 112q0-30 30-30h28q30 0 30 30v320h-88v-52q-46 62-129 62Q66 442 66 266T228 88q80 0 124 56v-32ZM140 266q46-80 102-80t110 80q-54 80-110 80t-102-80Z",fill:`url(#${t})`,fillRule:"evenodd"}),a.jsx("path",{d:"M286 266A42 42 0 1 0 202 266A42 42 0 1 0 286 266ZM274 248A12 12 0 1 0 250 248A12 12 0 1 0 274 248Z",fill:`url(#${t})`,fillRule:"evenodd"})]}),a.jsxs("g",{fill:`url(#${t})`,children:[a.jsx("path",{d:"M383 556Q394 556 409 555Q424 554 433 552L422 412Q415 414 401.5 415.5Q388 417 378 417Q340 417 305 403.5Q270 390 248.5 360Q227 330 227 278V0H78V546H191L213 454H220Q244 496 286 526Q328 556 383 556Z",transform:"translate(444 334) scale(.36 -.36)"}),a.jsx("path",{d:"M255 556Q356 556 413 476H417L429 546H555V-1Q555-118 486-179Q417-240 282-240Q224-240 174.5-233Q125-226 78-208V-89Q179-131 291-131Q406-131 406-7V4Q406 21 407.5 39Q409 57 410 71H406Q378 28 339 9Q300-10 251-10Q154-10 99.5 64.5Q45 139 45 272Q45 406 101 481Q157 556 255 556ZM302 435Q197 435 197 270Q197 107 304 107Q361 107 388.5 139.5Q416 172 416 253V271Q416 359 389 397Q362 435 302 435Z",transform:"translate(617.52 334) scale(.36 -.36)"}),a.jsx("path",{d:"M579 546V0H465L445 70H437Q411 28 365.5 9Q320-10 269-10Q181-10 128 37.5Q75 85 75 190V546H224V227Q224 169 245 139Q266 109 312 109Q380 109 405 155.5Q430 202 430 289V546Z",transform:"translate(855.48 334) scale(.36 -.36)"}),a.jsx("path",{d:"M459 162Q459 79 400.5 34.5Q342-10 226-10Q169-10 128-2.5Q87 5 46 22V145Q90 125 141 112Q192 99 231 99Q275 99 293.5 112Q312 125 312 146Q312 160 304.5 171Q297 182 272 196Q247 210 194 232Q143 254 110 275.5Q77 297 61 327.5Q45 358 45 404Q45 480 104 518Q163 556 261 556Q312 556 358 546Q404 536 453 513L408 406Q368 423 332 434.5Q296 446 259 446Q193 446 193 410Q193 397 201.5 386.5Q210 376 234.5 364Q259 352 307 332Q354 313 388 292.5Q422 272 440.5 241.5Q459 211 459 162Z",transform:"translate(1102.08 334) scale(.36 -.36)"})]})]})}function zi({size:e=20,tag:t,compact:n=!1}){return a.jsxs("span",{className:"inline-flex select-none items-center gap-2.5",children:[n?a.jsx(ca,{size:e}):a.jsx(xv,{size:e}),t&&!n?a.jsx("span",{className:"text-xs font-medium uppercase tracking-[0.08em] text-ink-faint",children:t}):null]})}const so=["manager","planner","engineer","reviewer"],Xu=/Info: (?:Operation cancelled by user|Response was interrupted due to a server error\. Retrying\.\.\.)/gi;function yv(e){const t=new Map;return e.forEach(n=>{const r=String(n.type??"");if(r==="life.mission.completed"||r==="mission.completed"){t.clear();return}const s=String(n.call_id??"");s&&(r==="provider.request.started"?t.set(s,n):(r==="provider.request.completed"||r==="provider.request.denied")&&t.delete(s))}),Array.from(t.values()).at(-1)??null}function Wp({ev:e,r:t,first:n,last:r}){const s=ue.role[t.role]??ue.inkFaint,i=Ey(t.tone);return a.jsxs("div",{className:`group relative grid grid-cols-[16px_minmax(0,1fr)] gap-3 px-4 py-3 transition-colors hover:bg-bg/70 ${r?"animate-appear":""} ${t.reasoning?"opacity-60":""}`,style:t.rule?{marginTop:4}:void 0,children:[a.jsxs("div",{className:"relative flex justify-center",children:[n?null:a.jsx("span",{className:"absolute -top-2.5 h-4 w-px bg-line/60"}),r?null:a.jsx("span",{className:"absolute -bottom-2.5 top-2 w-px bg-line/60"}),a.jsx("span",{className:"relative z-10 mt-1.5 h-2 w-2 rounded-full border-2 border-panel",style:{backgroundColor:s,boxShadow:`0 0 0 1px ${s}55`}})]}),a.jsxs("div",{className:"min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"truncate text-xs font-semibold uppercase tracking-[0.06em]",style:{color:s},title:t.label,children:t.label}),a.jsx("span",{className:"text-xs",style:{color:i},children:t.glyph}),a.jsx("time",{className:"ml-auto font-mono text-xs tabular-nums text-ink-faint opacity-0 transition-opacity group-hover:opacity-100",children:to(e)})]}),a.jsx("div",{className:`mt-0.5 whitespace-pre-wrap break-words text-sm leading-5 ${t.reasoning?"italic":""}`,style:{color:i},children:t.text})]})]})}function Zu({ev:e,r:t}){const{t:n}=ee(),r=String(e.type)==="ui.operator",s=Number(e.response_latency_ms??0),i=!r&&s>=100?` · ${(s/1e3).toFixed(1)}s`:"",l=y.useRef(null);return Ts(l,(o,c)=>{l.current&&(c||o.fromTo(l.current,{autoAlpha:0,x:r?12:0,y:r?0:8},{autoAlpha:1,x:0,y:0,duration:.28,ease:"power2.out",clearProps:"transform,opacity,visibility"}))}),a.jsx("article",{ref:l,className:"group mx-auto w-full max-w-full px-4 py-3 sm:px-6 lg:max-w-[61.8vw]",children:r?a.jsxs("div",{className:"flex items-end justify-end gap-2",children:[a.jsx(no,{text:t.text,label:n("copy.message"),copiedLabel:n("copy.copied"),className:"opacity-60 sm:opacity-0 sm:group-hover:opacity-100"}),a.jsx("time",{className:"shrink-0 pb-1 font-mono text-[10px] tabular-nums text-ink-faint",children:to(e)}),a.jsx("div",{className:"max-w-[calc(100%_-_3rem)] rounded-[18px] bg-conversation-user px-4 py-2.5 text-[15px] leading-relaxed text-ink ring-1 ring-line/35 sm:max-w-[82%]",children:a.jsx(Nr,{children:t.text})})]}):a.jsxs("div",{className:"flex gap-3",children:[a.jsx("span",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center",children:a.jsx(ca,{size:26,className:"text-blue"})}),a.jsxs("div",{className:"relative min-w-0 flex-1 text-[15px] leading-relaxed text-ink",children:[a.jsxs("div",{className:"mb-1 flex items-center gap-2",children:[a.jsx("span",{className:"text-xs font-semibold text-blue",children:"Argus"}),a.jsx(no,{text:t.text,label:n("copy.message"),copiedLabel:n("copy.copied"),className:"ml-auto opacity-60 sm:opacity-0 sm:group-hover:opacity-100"}),a.jsxs("time",{className:"font-mono text-[10px] tabular-nums text-ink-faint",children:[to(e),i]})]}),a.jsx(Nr,{children:t.text})]})]})})}function vv({role:e,rows:t,open:n,active:r,onToggle:s}){var c;const i=ue.role[e],l=y.useRef(null),o=((c=t[t.length-1])==null?void 0:c.r.text.length)??0;return y.useEffect(()=>{if(!n)return;const u=window.requestAnimationFrame(()=>{l.current&&l.current.scrollHeight>l.current.clientHeight&&(l.current.scrollTop=l.current.scrollHeight)});return()=>window.cancelAnimationFrame(u)},[n,t.length,o]),a.jsxs("section",{className:"role-log-group border-b border-line/50","data-role":e,"data-open":n?"true":"false","data-active":r?"true":"false",children:[a.jsxs("button",{type:"button",onClick:s,"aria-expanded":n,className:"group flex h-11 w-full items-center gap-2 px-4 text-left transition-colors hover:bg-bg/60",children:[a.jsx("span",{className:`h-2 w-2 rounded-full ${r?"animate-pulse":"opacity-55"}`,style:{background:i}}),a.jsx("span",{className:"text-xs font-semibold capitalize text-ink-dim",children:e}),a.jsx("span",{className:"font-mono text-xs text-ink-faint",children:t.length}),t.length>0?a.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-ink-faint",children:t[t.length-1].r.text}):a.jsx("span",{className:"flex-1"}),a.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",className:`h-4 w-4 shrink-0 text-ink-faint transition-transform duration-panel ease-panel ${n?"rotate-90":""}`,fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:a.jsx("path",{d:"m6 3.5 4.5 4.5L6 12.5"})})]}),a.jsx("div",{className:`grid transition-[grid-template-rows] duration-panel ease-panel ${n?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:a.jsx("div",{className:"min-h-0 overflow-hidden",children:a.jsx("div",{ref:l,className:"max-h-72 overflow-x-hidden overflow-y-auto border-t border-line/40 scroll-thin",children:t.length>0?t.map(({ev:u,r:m,key:f},p)=>a.jsx(Wp,{ev:u,r:m,first:p===0,last:p===t.length-1},f)):a.jsx("div",{className:"px-4 py-3 text-xs text-ink-faint",children:"No logs"})})})})]})}function kv(e){var s;const t={manager:[],planner:[],engineer:[],reviewer:[]},n=[];e.forEach(i=>{so.includes(i.r.role)?t[i.r.role].push(i):n.push(i)});const r=((s=[...e].reverse().find(i=>so.includes(i.r.role)))==null?void 0:s.r.role)??"";return{roleRows:t,systemRows:n,lastRole:r}}function Hp({rows:e,live:t}){const{roleRows:n,systemRows:r,lastRole:s}=y.useMemo(()=>kv(e),[e]),[i,l]=y.useState(()=>new Set(t&&s?[s]:[])),o=y.useRef(!1);return y.useEffect(()=>{!t||!s||o.current||l(new Set([s]))},[s,t]),a.jsxs("div",{className:"bg-bg/25",children:[so.map(c=>a.jsx(vv,{role:c,rows:n[c],open:i.has(c),active:s===c,onToggle:()=>{o.current=!0,l(u=>{const m=new Set(u);return m.has(c)?m.delete(c):m.add(c),m})}},c)),r.length>0?a.jsxs("details",{className:"border-b border-line/50",children:[a.jsxs("summary",{className:"flex h-10 cursor-pointer list-none items-center gap-2 px-4 text-xs text-ink-faint hover:bg-bg/60",children:[a.jsx("span",{children:"System"}),a.jsx("span",{className:"font-mono",children:r.length})]}),a.jsx("div",{className:"border-t border-line/40",children:r.map(({ev:c,r:u,key:m},f)=>a.jsx(Wp,{ev:c,r:u,first:f===0,last:f===r.length-1},m))})]}):null]})}function wv({group:e,latest:t}){const n=o=>o.ev.type==="ui.argus"&&/^(info:|operation cancelled|cancelled\b)/i.test(o.r.text.trim()),r=e.rows.filter(o=>o.ev.type==="ui.argus").map(o=>{const c=o.r.text.match(Xu)??[],u=o.r.text.replace(Xu,"").trim();return{reply:u&&!n(o)?{...o,r:{...o.r,text:u}}:null,messages:n(o)&&c.length===0?[o.r.text]:c}}),s=r.flatMap(o=>o.reply?[o.reply]:[]),i=r.flatMap(o=>o.messages),l=e.rows.filter(({ev:o})=>o.type!=="ui.argus");return a.jsxs("section",{className:"border-b border-line/60",children:[a.jsx(Zu,{ev:e.operator.ev,r:e.operator.r}),s.map(o=>a.jsx(Zu,{ev:o.ev,r:o.r},o.key)),i.map((o,c)=>a.jsx("div",{className:"mx-auto w-full max-w-full px-6 py-1.5 text-center text-xs text-ink-faint lg:max-w-[61.8vw]",children:o},`${e.key}-system-${c}`)),l.length>0?a.jsx("div",{className:"mx-auto w-full max-w-full border-t border-line/40 lg:max-w-[61.8vw]",children:a.jsx(Hp,{rows:l,live:t})}):null]})}function bv({events:e,connected:t,showReasoning:n,onToggleReasoning:r,embedded:s=!1,filter:i="all",query:l="",skipFirst:o=0}){const{locale:c,t:u}=ee(),[m,f]=y.useState(!0),[p,k]=y.useState(()=>Date.now()),v=y.useRef(null),w=y.useMemo(()=>yv(e),[e]);y.useEffect(()=>{if(!w)return;k(Date.now());const N=window.setInterval(()=>k(Date.now()),1e3);return()=>window.clearInterval(N)},[w]);const j=w?Math.max(0,Math.floor((p-Number(w.ts??0)*1e3)/1e3)):0,d=y.useMemo(()=>{const N=[],E=new Map;let C=0;return(o>0?e.slice(o):e).forEach((L,$)=>{const V=Cy(L,c);if(!V)return;if(V.reasoning&&!n){C++;return}if(!Px(L,V,i,l))return;const se=L,W=String(se.message_id??""),Q=!!W&&String(se.type)==="engineer.progress"&&["assistant_message","agent_message","message"].includes(String(se.kind));if(Q&&E.has(W)){const T=E.get(W);N[T]={...N[T],ev:{...N[T].ev,...L},r:{...N[T].r,...V,text:_p(N[T].r.text,V.text,Sx(L))}};return}const G={ev:L,r:V,key:An(L)};Q&&E.set(W,N.length),N.push(G)}),{list:N,hiddenReasoning:C}},[e,n,i,l,o,c]),x=y.useMemo(()=>{const N=[],E=[];let C=null;return d.list.forEach(_=>{_.ev.type==="ui.operator"?(C={key:_.key,operator:_,rows:[]},N.push(C)):C?C.rows.push(_):E.push(_)}),{groups:N,earlier:E}},[d.list]),b=y.useMemo(()=>e.filter(jp).length,[e]),g=y.useMemo(()=>d.list.slice(-20).reduce((N,E)=>N+E.r.text.length,0),[d.list]);y.useEffect(()=>{m&&v.current&&(v.current.scrollTop=v.current.scrollHeight)},[d.list.length,g,m]),y.useEffect(()=>{const N=v.current;if(!N)return;const E=()=>f(N.scrollHeight-N.scrollTop-N.clientHeight<40);return N.addEventListener("scroll",E,{passive:!0}),()=>N.removeEventListener("scroll",E)},[]);const S=()=>{var N;f(!0),(N=v.current)==null||N.scrollTo({top:v.current.scrollHeight,behavior:"smooth"})};return a.jsxs("section",{className:`relative flex min-h-0 flex-1 flex-col overflow-hidden bg-panel ${s?"":"rounded-lg border border-line/80"}`,children:[a.jsx(la,{title:u("panel.activity"),right:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsxs("button",{onClick:r,className:`rounded px-1.5 py-0.5 text-xs transition-colors ${n?"text-blue-sky":"text-ink-faint hover:text-ink-dim"}`,title:"toggle agent reasoning (⌘T)",children:["reasoning",b?` ·${b}`:""]}),a.jsx("span",{className:`text-xs ${t?"text-ok":"text-ink-faint"}`,children:t?"● live":"○ reconnecting"})]})}),w?a.jsxs("div",{className:"flex h-9 shrink-0 items-center gap-2 border-b border-line/60 bg-blue-deep/5 px-4 text-xs text-ink-dim",children:[a.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-blue-sky"}),a.jsxs("span",{className:"truncate",children:[String(w.run_label??"provider call")," · working"]}),a.jsxs("span",{className:"ml-auto shrink-0 font-mono tabular-nums text-ink-faint",children:[j,"s"]})]}):null,a.jsx("div",{ref:v,className:"min-h-0 flex-1 overflow-x-hidden overflow-y-auto pb-6 pt-1.5 scroll-thin",children:d.list.length===0?a.jsx(oa,{children:pv(mv)}):a.jsxs(a.Fragment,{children:[x.earlier.length>0?a.jsxs("section",{className:"mx-auto w-full max-w-full border-b border-line/60 lg:max-w-[61.8vw]",children:[a.jsxs("div",{className:"flex h-10 items-center gap-2 border-b border-line/40 px-4 text-[10px] font-semibold uppercase tracking-[0.12em] text-ink-faint",children:["Autonomous activity",a.jsx("span",{className:"font-mono font-normal tracking-normal",children:x.earlier.length})]}),a.jsx(Hp,{rows:x.earlier,live:x.groups.length===0})]}):null,x.groups.map((N,E)=>a.jsx(wv,{group:N,latest:E===x.groups.length-1},N.key))]})}),!m&&a.jsx("button",{onClick:S,"aria-label":u("stream.jumpToLatest"),title:u("stream.jumpToLatest"),className:"absolute bottom-4 left-1/2 flex h-8 w-8 -translate-x-1/2 items-center justify-center rounded-full border border-line/60 bg-panel text-sm text-ink-dim shadow-glow transition-all duration-200 hover:border-ink-faint hover:text-ink",children:"↓"})]})}function Ps(e){return e.nativeEvent.isComposing||e.keyCode===229}const jv={Everyday:"常用","Task management":"任务管理","Sessions & diagnostics":"会话与诊断",Configuration:"配置",Other:"其他"},Nv={status:"查看角色、队列、日志和健康状态",roles:"查看各角色的后端、模型、推理强度和实时活动",journal:"查看近期日志(默认 10 条)",backlog:"查看待处理任务(all 包含已完成和已跳过)",artifacts:"查看 Reviewer 批准的结果文件(按 Enter 预览)",artifact:"预览一个已批准的结果文件",events:"搜索动态:all / watch / milestones / messages",find:"搜索当前事件缓冲区",cancel:"停止等待当前 Manager 回复",ask:"直接回答,不排任务、不走 Planner/Engineer/Reviewer",task:"直接加入任务队列",plan:"预览 Planner 编写的执行计划",rewrite:"让 Manager 在发送前改写提示词",nudge:"向正在运行的任务注入指导",abort:"立即终止正在运行的任务",note:"向时间线添加手动备注",done:"将任务标记为完成",skip:"跳过任务",stop:"停止任务的自动迭代",item:"查看完整任务契约",run:"返回持续更新的任务动态",new:"检查、创建并切换到新会话",daemons:"查找全部会话并切换或创建",resume:"切换到其他项目或会话",attach:"跟随其他项目并读取其动态",rename:"重命名当前会话",doctor:"诊断为什么没有任务运行",backend:"查看或更改共享 Runner 后端",config:"查看或更改运行时设置",identity:"查看或替换操作者身份卡",reset:"清除 Manager 的热会话上下文",skills:"查看或提升运行时 Skill",clear:"清空事件动态视图",reconnect:"重新连接实时事件流",help:"查看快捷键和完整命令参考",quit:"离开控制台(后台工作继续运行)"};function ic(e,t){return t==="zh-CN"?Nv[e.id]:e.desc}function qp(e,t){return t==="zh-CN"?jv[e.group]:e.group}function _v(e,t){var r;const n=new Map;for(const s of e){const i=qp(s,t),l=(r=s.aliases)!=null&&r.length?` (= ${s.aliases.join(", ")})`:"",o=`${s.name}${s.arg?` ${s.arg}`:""}${l}`;n.has(i)||n.set(i,[]),n.get(i).push({label:o,desc:ic(s,t)})}return[...n.entries()].map(([s,i])=>({group:s,rows:i}))}const Qp=8,Kp="slash-completion-listbox";function mi(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function Vp(e){return`slash-completion-option-${e}`}function Sv({query:e,selected:t,onSelect:n}){const{locale:r,t:s}=ee(),i=Ep(e);if(i.length===0)return null;const l=i.slice(0,Qp),o=mi(t,l.length);return a.jsx("div",{id:Kp,role:"listbox","aria-label":s("slash.suggestions"),className:"slash-completion-menu scroll-thin border-b border-line/40",children:l.map((c,u)=>a.jsxs("button",{id:Vp(c.id),type:"button",role:"option","aria-selected":u===o,onPointerDown:m=>{m.preventDefault(),n(u)},className:`flex w-full items-baseline gap-2 px-3 py-1.5 text-left text-sm transition-colors ${u===o?"bg-blue/10 text-ink":"text-ink-dim hover:bg-line/20"}`,children:[a.jsx("span",{className:"shrink-0 font-mono text-blue",children:c.name}),c.arg?a.jsx("span",{className:"shrink-0 font-mono text-xs text-ink-faint",children:c.arg}):null,a.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-ink-faint",children:ic(c,r)})]},c.id))})}const Ui=5,Bi=10*1024*1024,Wi=25*1024*1024,Ev=[".png",".jpg",".jpeg",".webp",".pdf",".md",".markdown",".txt",".json",".csv"].join(","),Gp={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".pdf":"application/pdf",".md":"text/markdown",".markdown":"text/markdown",".txt":"text/plain",".json":"application/json",".csv":"text/csv"};function Yp(e){const t=String(e||"").trim().toLowerCase(),n=t.lastIndexOf(".");return n>=0?t.slice(n):""}function ac(e){const t=Yp(e.name);return Gp[t]||String(e.type||"").split(";",1)[0].trim()||"application/octet-stream"}function Cv(e){return Object.hasOwn(Gp,Yp(e.name))}function Tv(e){return ac(e).startsWith("image/")}function ed(e){return[e.name,String(e.size),ac(e),String(e.lastModified??"")].join("::")}function Pv(e,t){const n=[],r=[],s=new Set(e.map(ed));let i=e.reduce((o,c)=>o+Math.max(0,c.size||0),0),l=e.length;for(const o of t){const c=ed(o);if(!s.has(c)){if(s.add(c),!Cv(o)){r.push({code:"unsupported",fileName:o.name});continue}if(l>=Ui){r.push({code:"too-many",limitCount:Ui});continue}if(o.size>Bi){r.push({code:"too-large",fileName:o.name,limitBytes:Bi});continue}if(i+o.size>Wi){r.push({code:"too-large-total",limitBytes:Wi});continue}n.push(o),i+=o.size,l+=1}}return{accepted:n,issues:r}}function io(e){return e?Array.from(e):[]}function Zs(e){return io(e==null?void 0:e.types).map(n=>String(n)).includes("Files")||ao(e).length>0}function ao(e){const t=io(e==null?void 0:e.files).filter(r=>r instanceof File);if(t.length)return t;const n=[];for(const r of io(e==null?void 0:e.items)){if(String((r==null?void 0:r.kind)||"")!=="file"||typeof(r==null?void 0:r.getAsFile)!="function")continue;const s=r.getAsFile();s instanceof File&&n.push(s)}return n}function Rv({file:e,removeLabel:t,onRemove:n}){const[r,s]=y.useState("");return y.useEffect(()=>{if(!Tv(e)||typeof URL>"u"||typeof URL.createObjectURL!="function"){s("");return}const i=URL.createObjectURL(e);return s(i),()=>URL.revokeObjectURL(i)},[e]),a.jsxs("div",{className:"flex min-w-0 items-center gap-2 rounded-2xl border border-line/50 bg-panel/80 px-2.5 py-2 text-xs shadow-[0_10px_24px_-20px_rgb(var(--spectral-blue)/0.8)]",children:[r?a.jsx("img",{src:r,alt:"",className:"h-10 w-10 shrink-0 rounded-xl border border-line/40 object-cover"}):null,a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate font-medium text-ink",title:e.name,children:e.name}),a.jsxs("div",{className:"truncate text-ink-faint",children:[It(e.size)," · ",ac(e)]})]}),a.jsx("button",{type:"button",onClick:n,"aria-label":t,title:t,className:"send-control h-8 w-8 shrink-0 rounded-full border-line/60 text-ink-faint hover:border-err/50 hover:bg-err/10 hover:text-err",children:"×"})]})}function Lv(e,t){if(!t.onRewrite||!jy(e.key,e.ctrlKey,e.metaKey))return!1;e.preventDefault();const n=t.value.trim();return n&&!t.disabled&&!t.pending&&!t.rewriting&&t.onRewrite(n),!0}function Dv({value:e,onChange:t,onSend:n,onCancel:r,disabled:s,pending:i,focusSignal:l,embedded:o=!1,phase:c="",heartbeat:u=!1,quietS:m=0,startedAt:f=0,steps:p=[],onRewrite:k,rewriting:v=!1,slashSelection:w,onSlashSelectionChange:j}){const{t:h}=ee(),d=y.useRef(null),x=y.useRef(null),[b,g]=y.useState(0),[S,N]=y.useState(!1),[E,C]=y.useState([]),[_,L]=y.useState(""),[$,V]=y.useState(0);y.useEffect(()=>{if(!i&&!v)return;g(J=>J+1);const O=setInterval(()=>g(J=>J+1),120);return()=>clearInterval(O)},[i,v]);const se=gy(c,b,u,m),W=f?Math.max(0,Math.floor((Date.now()-f)/1e3)):0,Q=ky(p),G=Date.now()/1e3;y.useEffect(()=>{var O;l&&!s&&((O=d.current)==null||O.focus())},[l,s]);const I=Ep(e).slice(0,Qp),D=I.length>0&&!S,H=D?mi(w,I.length):0,ne=D?I[H]:void 0,Ge=O=>{var ie;const J=I[O];if(!J)return;const rt=Ax(J);t(rt),J.argument==="none"&&N(!0),j(0),(ie=d.current)==null||ie.focus()},Le=async()=>{const O=e.trim();if(!O||i||s)return;await n(O,E.map(rt=>rt.file))&&(t(""),j(0),N(!1),C([]),L(""))},He=(O,J)=>h(O==="unsupported"?"chat.attachUnsupported":O==="too-large"?"chat.attachTooLarge":O==="too-many"?"chat.attachTooMany":"chat.attachTotalTooLarge",J),A=O=>{if(!O.length||s||i)return;const{accepted:J,issues:rt}=Pv(E.map(ie=>ie.file),O);J.length&&C(ie=>[...ie,...J.map(da=>{var Tt,Rs;return{id:((Rs=(Tt=globalThis.crypto)==null?void 0:Tt.randomUUID)==null?void 0:Rs.call(Tt))??`${Date.now()}-${Math.random()}`,file:da}})]),L(rt.map(ie=>ie.code==="unsupported"?He(ie.code,{name:ie.fileName}):ie.code==="too-large"?He(ie.code,{name:ie.fileName,size:It(ie.limitBytes)}):ie.code==="too-many"?He(ie.code,{count:ie.limitCount}):He(ie.code,{size:It(ie.limitBytes)})).join(" "))},oe=O=>{A(Array.from(O.target.files??[])),O.target.value=""},he=O=>{const J=ao(O.clipboardData);J.length&&(O.preventDefault(),A(J))},De=O=>{Zs(O.dataTransfer)&&(O.preventDefault(),V(J=>J+1))},Hn=O=>{Zs(O.dataTransfer)&&O.preventDefault()},Er=O=>{Zs(O.dataTransfer)&&(O.preventDefault(),V(J=>Math.max(0,J-1)))},ua=O=>{Zs(O.dataTransfer)&&(O.preventDefault(),V(0),A(ao(O.dataTransfer)))},Nn=O=>{Ps(O)||Lv(O,{value:e,disabled:s,pending:i,rewriting:v,onRewrite:k})||(D?O.key==="ArrowDown"?(O.preventDefault(),j(mi(H+1,I.length))):O.key==="ArrowUp"?(O.preventDefault(),j(mi(H-1,I.length))):O.key==="Tab"||O.key==="Enter"&&!O.shiftKey?(O.preventDefault(),Ge(H)):O.key==="Escape"&&(O.preventDefault(),N(!0)):O.key==="Escape"&&i?(O.preventDefault(),r()):O.key==="Enter"&&!O.shiftKey&&(O.preventDefault(),Le()))};return a.jsxs("div",{onDragEnter:De,onDragOver:Hn,onDragLeave:Er,onDrop:ua,className:`glass-card glass-panel--raised flex flex-col overflow-hidden rounded-2xl ${o?"shadow-[0_12px_36px_-22px_rgb(var(--spectral-violet)/0.7)] backdrop-blur-md":""} ${$>0?"ring-2 ring-manager/60 ring-offset-0":""}`,children:[i?a.jsxs("div",{className:"border-b border-line/40 px-3 py-2",children:[a.jsxs("div",{className:"flex min-w-0 items-center gap-2 text-xs",children:[a.jsx("span",{className:"font-mono text-manager",children:Xa(b)}),a.jsx("span",{className:"shrink-0 font-semibold text-manager",children:h("chat.yourMessage")}),a.jsx("span",{className:"min-w-0 flex-1 truncate text-blue",title:se,children:se}),a.jsxs("span",{className:"shrink-0 font-mono tabular-nums text-ink-faint",children:[W,"s"]})]}),Q.length?a.jsx("ol",{className:"mt-1.5 space-y-0.5",children:Q.map((O,J)=>{const rt=J===Q.length-1&&!O.endedTs,ie=by(wy(O,G));return a.jsxs("li",{className:"flex min-w-0 items-baseline gap-2 text-xs",children:[a.jsx("span",{className:`shrink-0 font-mono ${rt?"text-manager":"text-ok"}`,children:rt?Xa(b):"✓"}),a.jsx("span",{className:`min-w-0 flex-1 truncate font-mono ${rt?"text-ink":"text-ink-faint"}`,title:O.detail||O.label,children:O.label}),ie?a.jsx("span",{className:"shrink-0 font-mono tabular-nums text-ink-faint",children:ie}):null]},O.id)})}):null,a.jsx("div",{className:"mt-1 text-xs text-ink-faint",children:h("chat.stopWaitingHint")})]}):null,D?a.jsx(Sv,{query:e,selected:H,onSelect:Ge}):null,E.length||_||$>0?a.jsxs("div",{className:"border-b border-line/30 px-3 py-2",children:[$>0?a.jsx("div",{className:"mb-2 text-xs font-medium text-manager",children:h("chat.attachDrop")}):null,E.length?a.jsx("div",{className:"flex flex-wrap gap-2",children:E.map(O=>a.jsx(Rv,{file:O.file,removeLabel:h("chat.attachRemove",{name:O.file.name}),onRemove:()=>{C(J=>J.filter(rt=>rt.id!==O.id)),L("")}},O.id))}):null,a.jsx("div",{className:`mt-2 text-xs ${_?"text-err":"text-ink-faint"}`,children:_||h("chat.attachHint",{count:Ui,perFile:It(Bi),total:It(Wi)})})]}):null,a.jsxs("div",{className:"flex items-end gap-2 px-3 py-2",children:[a.jsx("span",{className:"pb-2 font-mono text-lg text-blue",title:h("chat.messageArgus"),children:"›"}),a.jsx("input",{ref:x,type:"file",multiple:!0,accept:Ev,onChange:oe,className:"hidden"}),a.jsx("button",{type:"button",onClick:()=>{var O;return(O=x.current)==null?void 0:O.click()},disabled:s||i,title:`${h("chat.attach")} · ${h("chat.attachHint",{count:Ui,perFile:It(Bi),total:It(Wi)})}`,"aria-label":h("chat.attach"),className:"send-control h-9 w-9 shrink-0 rounded-full border-line/70 bg-panel/80 text-base text-ink-faint hover:border-blue/50 hover:bg-blue/10 hover:text-blue disabled:opacity-40",children:"📎"}),a.jsx("textarea",{ref:d,value:e,onChange:O=>{t(O.target.value),j(0),N(!1)},onPaste:he,onKeyDown:Nn,"aria-keyshortcuts":"Control+R Meta+R",rows:1,disabled:s,"aria-controls":D?Kp:void 0,"aria-expanded":D,"aria-activedescendant":ne?Vp(ne.id):void 0,placeholder:h(s?"chat.selectSession":"chat.placeholder"),className:"max-h-48 min-h-[38px] min-w-0 flex-1 resize-none bg-transparent py-2 font-sans text-[15px] text-ink outline-none placeholder:text-ink-faint",style:{fieldSizing:"content"}}),k?a.jsx("button",{type:"button",onClick:()=>k(e.trim()),disabled:s||i||v||!e.trim(),title:`Ctrl/⌘+R · ${h("chat.rewriteHint")}`,"aria-label":h("chat.rewriteLabel"),"aria-keyshortcuts":"Control+R Meta+R",className:"send-control h-9 shrink-0 rounded-full border-manager/70 bg-manager/10 px-3 text-xs font-medium text-manager hover:border-manager hover:bg-manager/20 disabled:opacity-40",children:v?`${Xa(b)} ${h("chat.rewriting")}`:h("chat.rewrite")}):null,a.jsx("button",{type:"button",onClick:i?r:()=>void Le(),disabled:s||!i&&!e.trim(),title:i?h("chat.stopWaitingTitle"):void 0,"aria-label":h(i?"chat.stopWaiting":"chat.send"),className:`send-control h-9 w-9 shrink-0 rounded-full text-sm font-medium disabled:opacity-40 ${i?"border-line text-warn hover:border-warn/60 hover:bg-warn/10":"border-blue/70 bg-blue/10 text-blue hover:border-blue hover:bg-blue/20"}`,children:i?"■":"↑"})]})]})}function mt({open:e,onClose:t,children:n,label:r,width:s="max-w-2xl",align:i="center"}){const l=y.useRef(null),o=y.useRef(null),c=y.useRef(t);return c.current=t,Ts(l,(u,m)=>{if(!(!e||!l.current||!o.current)){if(m){u.set([o.current,l.current],{clearProps:"all"});return}u.timeline({defaults:{overwrite:"auto"}}).fromTo(o.current,{autoAlpha:0},{autoAlpha:1,duration:.18,ease:"power1.out"},0).fromTo(l.current,{autoAlpha:0,y:i==="top"?-10:12,scale:.985},{autoAlpha:1,y:0,scale:1,duration:.28,ease:"power3.out",clearProps:"transform,opacity,visibility"},.03)}},[e,i]),y.useEffect(()=>{if(!e)return;const u=document.activeElement instanceof HTMLElement?document.activeElement:null,m=window.requestAnimationFrame(()=>{var k,v,w;(w=((k=l.current)==null?void 0:k.querySelector("[data-autofocus]"))??((v=l.current)==null?void 0:v.querySelector('input:not([disabled]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'))??l.current)==null||w.focus()}),f=p=>{if(p.key==="Escape"){p.preventDefault(),c.current();return}if(p.key!=="Tab"||!l.current)return;const k=Array.from(l.current.querySelectorAll('input:not([disabled]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [href], [tabindex]:not([tabindex="-1"])')).filter(j=>j.getAttribute("aria-hidden")!=="true");if(k.length===0){p.preventDefault(),l.current.focus();return}const v=k[0],w=k[k.length-1];p.shiftKey&&(document.activeElement===v||!l.current.contains(document.activeElement))?(p.preventDefault(),w.focus()):!p.shiftKey&&document.activeElement===w&&(p.preventDefault(),v.focus())};return window.addEventListener("keydown",f),()=>{window.cancelAnimationFrame(m),window.removeEventListener("keydown",f),u!=null&&u.isConnected&&u.focus()}},[e]),e?a.jsxs("div",{className:`fixed inset-0 z-50 flex ${i==="top"?"items-start pt-4 sm:pt-16":"items-center"} justify-center p-4`,onMouseDown:t,children:[a.jsx("div",{ref:o,className:"absolute inset-0 bg-[rgb(4_11_24_/_0.58)] backdrop-blur-md"}),a.jsx("div",{ref:l,role:"dialog","aria-modal":"true","aria-label":r,tabIndex:-1,className:`brand-modal glass-panel glass-panel--raised relative z-10 w-full ${s} max-h-[calc(100dvh-2rem)] overflow-x-hidden overflow-y-auto rounded-xl border shadow-glow scroll-thin sm:max-h-[88dvh]`,onMouseDown:u=>u.stopPropagation(),children:n})]}):null}function jn({title:e,sub:t}){return a.jsxs("div",{className:"border-b border-line px-5 py-3",children:[a.jsx("h2",{className:"text-sm font-semibold text-ink",children:e}),t&&a.jsx("p",{className:"mt-0.5 text-xs text-ink-faint",children:t})]})}function Av(e,t,n,r="en"){return e.map(s=>({id:`command-${s.id}`,label:ic(s,r),hint:`${s.name}${s.arg?` ${s.arg}`:""}`,group:qp(s,r),keywords:[s.name,...s.aliases??[]].join(" "),run:()=>Sp(s)?n(`${s.name} `):t(s.name)}))}function Mv(e,t){const n=t.trim().toLowerCase().split(/\s+/).filter(Boolean);return n.length?e.filter(r=>{const s=`${r.label} ${r.group} ${r.hint??""} ${r.keywords??""}`.toLowerCase();return n.every(i=>s.includes(i))}):e}function Iv({open:e,onClose:t,items:n}){const{t:r}=ee(),[s,i]=y.useState(""),[l,o]=y.useState(0),c=y.useRef(null),u=y.useRef(null);y.useEffect(()=>{e&&(i(""),o(0),setTimeout(()=>{var w;return(w=c.current)==null?void 0:w.focus()},0))},[e]);const m=y.useMemo(()=>Mv(n,s),[s,n]);y.useEffect(()=>{l>=m.length&&o(Math.max(0,m.length-1))},[m.length,l]),y.useEffect(()=>{var w;(w=u.current)==null||w.scrollIntoView({block:"nearest"})},[e,s,l]);const f=w=>{w&&(t(),w.run())},p=w=>{Ps(w)||(w.key==="ArrowDown"?(w.preventDefault(),m.length&&o(j=>Math.min(m.length-1,j+1))):w.key==="ArrowUp"?(w.preventDefault(),o(j=>Math.max(0,j-1))):w.key==="Enter"&&(w.preventDefault(),f(m[l])))},k=[];for(const w of m){let j=k.find(h=>h.name===w.group);j||(j={name:w.group,items:[]},k.push(j)),j.items.push(w)}let v=-1;return a.jsxs(mt,{open:e,onClose:t,label:r("help.palette"),width:"max-w-xl",align:"top",children:[a.jsx("div",{className:"border-b border-line px-4 py-3",children:a.jsx("input",{ref:c,value:s,onChange:w=>i(w.target.value),onKeyDown:p,placeholder:r("palette.placeholder"),role:"combobox","aria-expanded":e,"aria-autocomplete":"list","aria-controls":"command-palette-results","aria-activedescendant":m[l]?`palette-${m[l].id}`:void 0,className:"w-full bg-transparent font-mono text-sm text-ink outline-none placeholder:text-ink-faint"})}),a.jsxs("div",{id:"command-palette-results",role:"listbox",className:"max-h-[52vh] overflow-y-auto scroll-thin py-1.5",children:[m.length===0&&a.jsx("div",{className:"px-4 py-6 text-center text-xs text-ink-faint",children:r("palette.noMatches")}),k.map(w=>a.jsxs("div",{className:"mb-1",children:[a.jsx("div",{className:"px-4 py-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:w.name}),w.items.map(j=>{v++;const h=v===l;return a.jsxs("button",{id:`palette-${j.id}`,ref:h?u:void 0,role:"option","aria-selected":h,onMouseEnter:()=>o(m.indexOf(j)),onClick:()=>f(j),className:`flex w-full items-center justify-between px-4 py-1.5 text-left text-sm transition-colors ${h?"bg-blue-deep/20 text-ink":"text-ink-dim hover:bg-panel/60"}`,children:[a.jsx("span",{children:j.label}),j.hint&&a.jsx("span",{className:"font-mono text-[11px] text-ink-faint",children:j.hint})]},j.id)})]},w.name))]}),a.jsxs("div",{className:"flex items-center gap-3 border-t border-line px-4 py-1.5 text-[10px] text-ink-faint",children:[a.jsx("span",{children:r("palette.navigate")}),a.jsx("span",{children:r("palette.run")}),a.jsx("span",{children:r("palette.close")})]})]})}const Ov=[{keys:"⌘K / Ctrl+K",desc:"help.palette"},{keys:"⌘B / Ctrl+B",desc:"help.sessions"},{keys:"⌘J / Ctrl+J",desc:"help.managerChat"},{keys:"⌘R / Ctrl+R",desc:"help.rewrite"},{keys:"⌘T / Ctrl+T",desc:"help.reasoning"},{keys:"⌘. / Ctrl+.",desc:"help.kiosk"},{keys:"/",desc:"help.composer"},{keys:"↵ Enter",desc:"help.send"},{keys:"Shift+Enter",desc:"help.newline"},{keys:"?",desc:"help.thisHelp"},{keys:"Esc",desc:"help.escape"}];function $v({open:e,onClose:t}){const{locale:n,t:r}=ee(),s=_v(Cs,n);return a.jsxs(mt,{open:e,onClose:t,label:r("help.title"),width:"max-w-2xl",children:[a.jsx(jn,{title:r("help.title")}),a.jsxs("div",{className:"max-h-[70dvh] overflow-y-auto scroll-thin",children:[a.jsx("div",{className:"p-4",children:Ov.map(i=>a.jsxs("div",{className:"flex items-center justify-between py-1.5",children:[a.jsx("span",{className:"text-sm text-ink-dim",children:r(i.desc)}),a.jsx("kbd",{className:"rounded border border-line bg-surface px-2 py-0.5 font-mono text-[11px] text-ink",children:i.keys})]},i.keys))}),a.jsxs("div",{className:"border-t border-line px-4 pb-4 pt-3",children:[a.jsx("p",{className:"mb-3 text-xs font-semibold uppercase tracking-wider text-ink-faint",children:r("help.commands")}),s.map(i=>a.jsxs("div",{className:"mb-4",children:[a.jsx("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:i.group}),i.rows.map(l=>a.jsxs("div",{className:"flex items-start justify-between gap-4 py-1",children:[a.jsx("code",{className:"shrink-0 font-mono text-xs text-ink",children:l.label}),a.jsx("span",{className:"text-right text-xs text-ink-dim",children:l.desc})]},l.label))]},i.group))]})]})]})}const Fv=[{name:"ARGUS_SKILL_MAX_ACTIVE_DAEMONS",group:"Limits",label:"Active daemon limit",description:"Maximum background sessions running on this host."},{name:"ARGUS_SKILL_UNPRICED_COST_POLICY",group:"Safety",label:"Unpriced calls",description:"Whether calls with unresolved pricing are blocked or allowed."},{name:"ARGUS_SKILL_SAFE_MODE",group:"Safety",label:"Safe mode",description:"Enable extra-conservative runtime guardrails."},{name:"ARGUS_SKILL_ENABLE_TELEGRAM",group:"Interface",label:"Telegram",description:"Enable the Telegram notification bridge."},{name:"ARGUS_SKILL_SHOW_REASONING",group:"Interface",label:"Show reasoning",description:"Stream role reasoning into the cockpit activity view."}];function zv(e){const t=new Map(e.map(n=>[n.name,n]));return Fv.flatMap(n=>{const r=t.get(n.name);return r?[{...r,group:n.group,label:n.label,doc:n.description}]:[]})}function td(e){const t=e.trim();if(!t)return"";if(t==="not applicable for this model")return"n/a";if(t.startsWith("capability vault"))return"vault / default";if(t.startsWith("default:"))return"default";const n=t.startsWith("persisted:"),r=n?t.slice(10):t;return r.startsWith("ARGUS_SKILL_")?`${r.slice(12).toLowerCase().replaceAll("_"," ")}${n?" · persisted":" · env"}`:t}function Uv(e,t){const n=new URL(e),r=n.protocol==="https:"?"wss:":"ws:",s=encodeURIComponent(t);return{webApi:`${n.origin}/api`,eventStream:`${r}//${n.host}/api/projects/${s}/stream`,daemon:"local process · events.jsonl · no TCP port"}}const el=[{alias:"global_daily_cap",env:"ARGUS_SKILL_GLOBAL_DAILY_CAP_USD",label:"settings.budget.global",unit:"USD"},{alias:"codex_daily_requests",env:"ARGUS_SKILL_CODEX_DAILY_CALL_CAP",label:"settings.budget.codex",unit:"calls"},{alias:"copilot_daily_requests",env:"ARGUS_SKILL_COPILOT_DAILY_CALL_CAP",label:"settings.budget.copilot",unit:"calls"},{alias:"copilot_daily_premium",env:"ARGUS_SKILL_COPILOT_DAILY_PREMIUM_CAP",label:"settings.budget.premium",unit:"requests"}];function Bv({sid:e,open:t,onClose:n}){const{t:r}=ee(),{data:s,isLoading:i}=zy(e,t);return a.jsxs(mt,{open:t,onClose:n,label:r("doctor.title"),width:"max-w-3xl",children:[a.jsx(jn,{title:r("doctor.title"),sub:r("doctor.subtitle")}),a.jsxs("div",{className:"max-h-[64vh] overflow-y-auto scroll-thin p-4",children:[i&&a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(_t,{})}),(s==null?void 0:s.recommended)&&a.jsxs("div",{className:"mb-4 rounded-lg border border-gold/40 bg-gold/5 p-3",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wide text-gold",children:r("doctor.recommended")}),a.jsx("div",{className:"mt-1 text-sm text-ink",children:s.recommended.name}),a.jsx("div",{className:"mt-0.5 text-xs text-ink-dim",children:s.recommended.detail}),s.recommended.fix&&a.jsx("pre",{className:"mt-2 whitespace-pre-wrap break-words rounded bg-bg p-2 font-mono text-xs text-blue-sky",children:s.recommended.fix})]}),a.jsx("div",{className:"space-y-1.5",children:((s==null?void 0:s.checks)??[]).map((l,o)=>a.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-line/60 px-3 py-2",children:[a.jsx("span",{className:l.ok?"text-ok":"text-err",children:l.ok?"✓":"✗"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("div",{className:"text-xs font-medium text-ink",children:l.name}),l.detail&&a.jsx("div",{className:"mt-0.5 text-[11px] text-ink-dim",children:l.detail}),!l.ok&&l.fix&&a.jsx("pre",{className:"mt-1 whitespace-pre-wrap break-words rounded bg-bg p-1.5 font-mono text-xs text-ink-dim",children:l.fix})]})]},o))}),(s==null?void 0:s.log_tail)&&a.jsxs("div",{className:"mt-4",children:[a.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-ink-faint",children:"daemon.log"}),a.jsx("pre",{className:"max-h-48 overflow-x-hidden overflow-y-auto whitespace-pre-wrap break-words rounded-lg bg-bg p-3 font-mono text-xs leading-relaxed text-ink-dim scroll-thin",children:s.log_tail})]})]})]})}function Wv({sid:e,open:t,onClose:n}){const{t:r}=ee(),{data:s,isLoading:i,refetch:l}=Uy(e,t),[o,c]=y.useState(""),[u,m]=y.useState(""),[f,p]=y.useState(!1),[k,v]=y.useState(""),[w,j]=y.useState(!1),[h,d]=y.useState(""),[x,b]=y.useState({});y.useEffect(()=>{if(!t||!s)return;const C=new Map(s.operator_knobs.map(_=>[_.name,_.value]));b(Object.fromEntries(el.map(_=>[_.alias,C.get(_.env)??""])))},[s,t]);const g=async()=>{if(!w){j(!0),d("");try{const C=Object.fromEntries(el.map(_=>{const L=String(x[_.alias]??"").trim();if(!L)throw new Error(r("settings.required",{field:r(_.label)}));return[_.alias,L]}));await B.setBudgets(e,C),await l(),d(r("settings.budgetSaved"))}catch(C){d(C instanceof Error?C.message:String(C))}finally{j(!1)}}},S=async C=>{if(C.preventDefault(),!(!o.trim()||!u.trim()||f)){p(!0),v("");try{await B.setConfig(e,o.trim(),u.trim()),await l(),v(r("settings.applied"))}catch(_){v(_ instanceof Error?_.message:String(_))}finally{p(!1)}}},N=zv((s==null?void 0:s.operator_knobs)??[]).reduce((C,_)=>{var L;return(C[L=_.group]??(C[L]=[])).push(_),C},{}),E=Uv(window.location.origin,e);return a.jsxs(mt,{open:t,onClose:n,label:r("common.settings"),width:"max-w-4xl",children:[a.jsx(jn,{title:r("common.settings"),sub:r("settings.subtitle")}),a.jsxs("div",{className:"max-h-[64vh] overflow-y-auto scroll-thin p-4",children:[i&&a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(_t,{})}),a.jsxs("section",{className:"mb-4 rounded-lg border border-line bg-surface p-3",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wide text-ink-faint",children:r("settings.connection")}),a.jsxs("div",{className:"mt-2 grid gap-2 text-[10px] sm:grid-cols-[100px_minmax(0,1fr)]",children:[a.jsx("span",{className:"text-ink-faint",children:r("settings.webApi")}),a.jsx("code",{className:"min-w-0 break-all text-ink-dim",children:E.webApi}),a.jsx("span",{className:"text-ink-faint",children:r("settings.eventStream")}),a.jsx("code",{className:"min-w-0 break-all text-ink-dim",children:E.eventStream}),a.jsx("span",{className:"text-ink-faint",children:r("settings.taskDaemon")}),a.jsx("span",{className:"text-ink-dim",children:E.daemon})]})]}),a.jsxs("section",{className:"mb-4 rounded-lg border border-gold/40 bg-gold/5 p-3",children:[a.jsxs("div",{className:"flex items-center justify-between gap-3",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wide text-gold",children:r("settings.budgetTitle")}),a.jsx("p",{className:"mt-0.5 text-[10px] text-ink-faint",children:r("settings.budgetHint")})]}),a.jsx("button",{type:"button",onClick:()=>void g(),disabled:w||i,title:r("settings.saveBudgets"),"aria-label":r("settings.saveBudgets"),className:"flex h-9 w-9 items-center justify-center rounded bg-gold text-xs font-semibold text-bg disabled:opacity-40",children:w?"…":a.jsx(pe,{icon:md})})]}),a.jsx("div",{className:"mt-3 grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:el.map(C=>a.jsxs("label",{className:"rounded border border-line/70 bg-bg/60 p-2",children:[a.jsx("span",{className:"block text-[10px] text-ink-faint",children:r(C.label)}),a.jsxs("div",{className:"mt-1 flex items-center gap-2",children:[a.jsx("input",{type:"number",min:"0",step:C.unit==="USD"?"0.1":"1",value:x[C.alias]??"",onChange:_=>b(L=>({...L,[C.alias]:_.target.value})),className:"h-8 min-w-0 flex-1 bg-transparent font-mono text-sm text-ink outline-none"}),a.jsx("span",{className:"text-[9px] text-ink-faint",children:C.unit})]})]},C.alias))}),h?a.jsx("div",{className:"mt-2 text-xs text-ink-dim",children:h}):null]}),a.jsxs("form",{onSubmit:C=>void S(C),className:"mb-4 rounded-lg border border-blue/30 bg-blue/5 p-3",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wide text-blue",children:r("settings.advanced")}),a.jsxs("div",{className:"mt-2 grid gap-2 sm:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]",children:[a.jsx("input",{value:o,onChange:C=>c(C.target.value),placeholder:r("settings.namePlaceholder"),className:"h-9 rounded border border-line bg-bg px-2 font-mono text-xs text-ink outline-none focus:border-blue"}),a.jsx("input",{value:u,onChange:C=>m(C.target.value),placeholder:r("settings.valuePlaceholder"),className:"h-9 rounded border border-line bg-bg px-2 font-mono text-xs text-ink outline-none focus:border-blue"}),a.jsx("button",{disabled:f||!o.trim()||!u.trim(),title:r("settings.applyAdvanced"),"aria-label":r("settings.applyAdvanced"),className:"flex h-9 w-9 items-center justify-center rounded bg-blue-deep text-xs font-medium text-white disabled:opacity-40",children:f?"…":a.jsx(pe,{icon:pd})})]}),k?a.jsx("div",{className:"mt-2 text-xs text-ink-dim",children:k}):null]}),a.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:((s==null?void 0:s.roles)??[]).map(C=>a.jsxs("div",{className:"rounded-lg border border-line bg-surface p-3",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsx("div",{className:"text-xs font-semibold capitalize text-ink",children:C.role}),a.jsx("span",{className:"text-[10px] text-ink-faint",children:C.backend_label})]}),a.jsx("div",{className:"mt-2 truncate font-mono text-[11px] text-ink-dim",title:C.model,children:C.model}),a.jsxs("div",{className:"mt-1 flex items-center gap-2 text-[10px] text-ink-faint",children:[a.jsx("span",{className:"truncate",title:C.model_source,children:td(C.model_source)}),C.reasoning_effort&&a.jsx("span",{className:"ml-auto shrink-0",style:{color:wp(C.reasoning_effort)},children:C.reasoning_effort})]}),C.description?a.jsx("p",{className:"mt-2 text-[10px] leading-relaxed text-ink-faint",children:C.description}):null]},C.role))}),Object.entries(N).map(([C,_])=>a.jsxs("section",{className:"mt-5",children:[a.jsx("div",{className:"mb-1.5 text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint",children:C}),a.jsx("div",{className:"overflow-hidden rounded-lg border border-line",children:_.map((L,$)=>a.jsxs("div",{className:`grid gap-1 px-3 py-2.5 sm:grid-cols-[minmax(0,1fr)_auto] ${$?"border-t border-line/60":""}`,children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("div",{className:"truncate text-xs font-medium text-ink-dim",title:L.name,children:L.label}),a.jsx("div",{className:"mt-0.5 text-[10px] leading-relaxed text-ink-faint",children:L.doc})]}),a.jsxs("div",{className:"text-left sm:text-right",children:[a.jsx("div",{className:"font-mono text-[11px] text-ink",children:L.value}),a.jsx("div",{className:"mt-0.5 text-[9px] text-ink-faint",children:td(L.source)})]})]},L.name))})]},C)),a.jsxs("p",{className:"mt-4 text-[10px] text-ink-faint",children:[r("settings.footer")," ",a.jsx("code",{children:"argus-skill --config-help"}),"."]})]})]})}function Hv({sid:e,open:t,onClose:n}){const{t:r}=ee(),{data:s,isLoading:i,refetch:l}=By(e,t),[o,c]=y.useState(""),[u,m]=y.useState(!1),[f,p]=y.useState("");y.useEffect(()=>{t&&s!=null&&c(s)},[s,t]);const k=async()=>{if(!u){m(!0),p("");try{await B.setIdentity(e,o),await l(),p(r("identity.saved"))}catch(v){p(v instanceof Error?v.message:String(v))}finally{m(!1)}}};return a.jsxs(mt,{open:t,onClose:n,label:r("identity.title"),width:"max-w-2xl",children:[a.jsx(jn,{title:r("identity.title"),sub:r("identity.subtitle")}),a.jsxs("div",{className:"max-h-[64vh] overflow-y-auto scroll-thin p-5",children:[i&&a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(_t,{})}),i?null:a.jsxs(a.Fragment,{children:[a.jsx("textarea",{value:o,onChange:v=>c(v.target.value),rows:12,className:"w-full resize-y rounded-lg border border-line bg-bg p-3 font-sans text-sm leading-relaxed text-ink outline-none focus:border-blue",placeholder:r("identity.placeholder")}),a.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[a.jsx("span",{className:"text-xs text-ink-faint",children:f}),a.jsx("button",{type:"button",onClick:()=>void k(),disabled:u||o===(s??""),title:r("identity.save"),"aria-label":r("identity.save"),className:"flex h-9 w-9 items-center justify-center rounded bg-blue-deep text-xs font-medium text-white disabled:opacity-40",children:u?"…":a.jsx(pe,{icon:md})})]})]})]})]})}function qv({sid:e,open:t,onClose:n}){const{t:r}=ee(),{data:s,isLoading:i}=Mp(e,t),l=s??[];return a.jsxs(mt,{open:t,onClose:n,label:r("transcript.title"),width:"max-w-2xl",children:[a.jsx(jn,{title:r("transcript.title"),sub:r("transcript.subtitle")}),a.jsxs("div",{className:"max-h-[64vh] overflow-y-auto scroll-thin p-4",children:[i&&a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(_t,{})}),!i&&l.length===0&&a.jsx(oa,{children:r("transcript.empty")}),l.map((o,c)=>{const u=o.role==="operator";return a.jsxs("div",{className:"grid grid-cols-[72px_minmax(0,1fr)] border-b border-line/50 py-2.5 last:border-b-0",children:[a.jsxs("div",{children:[a.jsx("div",{className:`font-mono text-[10px] font-semibold uppercase tracking-wide ${u?"text-ink-faint":"text-blue-sky"}`,children:u?r("transcript.operator"):"argus"}),a.jsx("div",{className:"mt-0.5 text-[9px] text-ink-faint",children:sc(o.ts)})]}),a.jsx("div",{className:"whitespace-pre-wrap text-sm leading-relaxed text-ink-dim",children:o.text})]},c)})]})]})}function Qv({questions:e,backlog:t,onAnswer:n}){const r=bp(e,t);if(!r.length)return null;const s=r[0];return a.jsxs("div",{className:"mb-2 flex min-h-11 items-center gap-3 rounded-md border border-gold/40 bg-gold/5 px-3 py-2",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate text-xs font-medium text-gold",children:s.title}),a.jsx("div",{className:"truncate text-xs text-ink-dim",title:s.reason||s.question,children:s.reason||s.question})]}),r.length>1?a.jsxs("span",{className:"font-mono text-xs text-ink-faint",children:["+",r.length-1]}):null,a.jsx("button",{onClick:n,className:"shrink-0 text-xs font-medium text-gold hover:text-gold-soft",children:"Decide"})]})}function Kv({reply:e,open:t,busy:n,onClose:r,onSubmit:s}){const{t:i}=ee(),l=y.useMemo(()=>{var d;return((d=e==null?void 0:e.options[0])==null?void 0:d.id)??"custom"},[e]),[o,c]=y.useState(l),[u,m]=y.useState(""),[f,p]=y.useState("");if(y.useEffect(()=>{t&&(c(l),m(""),p(""))},[l,t,e==null?void 0:e.id]),!e)return null;const k=e.options.length===0,v=e.options.find(d=>d.id===o),w=k?!!u.trim():!!(v&&(!v.requires_note||u.trim())),j=()=>{if(!n){if(!w){p(i("decision.noteRequired"));return}p(""),s(k?"custom":o,u.trim())}},h=d=>{Ps(d)||d.key==="Enter"&&(d.metaKey||d.ctrlKey)&&(d.preventDefault(),j())};return a.jsxs(mt,{open:t,onClose:n?()=>{}:r,label:i("decision.operator"),width:"max-w-2xl",children:[a.jsx(jn,{title:i("decision.required"),sub:e.title}),a.jsxs("div",{className:"space-y-4 px-5 py-4",children:[e.reason?a.jsxs("section",{className:"rounded-md border border-gold/30 bg-gold/5 p-3",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-gold",children:i("decision.whyBlocked")}),a.jsx("p",{className:"mt-1 whitespace-pre-wrap text-sm leading-relaxed text-ink",children:e.reason})]}):null,e.evidence.length?a.jsxs("section",{children:[a.jsx("div",{className:"mb-2 text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:i("decision.evidence")}),a.jsx("div",{className:"space-y-2",children:e.evidence.map((d,x)=>a.jsxs("div",{className:"rounded border border-line/70 bg-bg/40 p-2.5",children:[a.jsx("div",{className:"text-xs font-medium text-ink",children:d.label}),d.summary?a.jsx("div",{className:"mt-1 text-xs text-ink-dim",children:d.summary}):null,d.path?a.jsx("div",{className:"mt-1 break-all font-mono text-[10px] text-blue-sky",children:d.path}):null]},`${d.path}:${x}`))})]}):null,a.jsx("p",{className:"whitespace-pre-wrap text-sm leading-relaxed text-ink",children:e.question}),e.options.length?a.jsx("div",{className:"space-y-2",children:e.options.map(d=>a.jsxs("button",{type:"button",onClick:()=>{c(d.id),p("")},disabled:n,className:`w-full rounded-md border p-3 text-left ${o===d.id?"border-blue bg-blue/5":"border-line bg-bg/30"}`,children:[a.jsx("div",{className:"text-sm font-medium text-ink",children:d.label}),a.jsx("div",{className:"mt-1 text-xs leading-relaxed text-ink-dim",children:d.description})]},d.id))}):null,k||v!=null&&v.requires_note||u?a.jsx("textarea",{"data-autofocus":!0,value:u,onChange:d=>{m(d.target.value),p("")},onKeyDown:h,rows:3,disabled:n,placeholder:i("decision.notePlaceholder"),className:"w-full resize-y rounded-lg border border-line bg-bg px-3 py-2 text-sm leading-relaxed text-ink outline-none focus:border-blue disabled:opacity-60"}):null,f?a.jsx("p",{role:"alert",className:"text-xs text-err",children:f}):null,a.jsxs("div",{className:"flex items-center justify-between gap-3",children:[a.jsx("span",{className:"text-xs text-ink-faint",children:i("decision.resumeHint")}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx("button",{type:"button",onClick:r,disabled:n,className:"rounded-md px-3 py-2 text-xs text-ink-dim hover:bg-bg disabled:opacity-50",children:i("decision.later")}),a.jsx("button",{type:"button",onClick:j,disabled:n,className:"rounded-md bg-blue-deep px-3 py-2 text-xs font-medium text-white hover:bg-blue-deep/85 disabled:opacity-50",children:i(n?"decision.applying":k||o==="custom"?"decision.sendAnswer":o==="stop"?"decision.stopCampaign":"decision.useOption")})]})]})]})]})}function Vv({alert:e}){if(!e)return null;const t=e.tone==="block",n=e.kind==="budget",r=t?"border-err/50 bg-err/10 text-err":"border-warn/50 bg-warn/10 text-warn";return a.jsxs("div",{className:`mx-3 mt-3 flex items-center gap-2.5 rounded-lg border px-3.5 py-2 text-[13px] ${r}`,role:t?"alert":"status",children:[a.jsx("span",{className:"shrink-0 font-mono text-xs font-bold leading-none",children:n?"$":t?"!":"i"}),a.jsx("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-wide",children:n?"budget alarm":t?"action required":"notice"}),a.jsx("span",{className:"min-w-0 flex-1 truncate",title:e.text,children:e.text})]})}function Jp({html:e,title:t,className:n=""}){return a.jsx("iframe",{title:t,srcDoc:e,sandbox:"allow-scripts",referrerPolicy:"no-referrer",className:`min-h-0 w-full flex-1 border-0 bg-white ${n}`})}function Gv(e){const t=e.trim();if(!t)return"";try{return JSON.stringify(JSON.parse(t),null,2)}catch{try{return t.split(/\r?\n/).filter(Boolean).map(r=>JSON.parse(r)).map(r=>JSON.stringify(r,null,2)).join(` -`)}catch{return e}}}function Yv(e,t){const n=[];let r=[],s="",i=!1;for(let l=0;ll.some(o=>o.length>0))}function Xp({value:e}){return a.jsx("pre",{className:"min-h-0 flex-1 overflow-auto whitespace-pre-wrap break-words p-5 font-mono text-xs leading-6 text-ink-dim scroll-thin",children:Gv(e)||"(empty data)"})}function Zp({value:e,delimiter:t}){const n=Yv(e,t).slice(0,200),r=n[0]??[];return a.jsx("div",{className:"min-h-0 flex-1 overflow-auto p-4 scroll-thin",children:n.length?a.jsxs("table",{className:"w-full border-collapse text-left text-xs",children:[a.jsx("thead",{children:a.jsx("tr",{children:r.slice(0,40).map((s,i)=>a.jsx("th",{className:"border border-line/60 bg-surface px-2 py-1.5 font-semibold text-ink",children:s},i))})}),a.jsx("tbody",{children:n.slice(1).map((s,i)=>a.jsx("tr",{children:r.slice(0,40).map((l,o)=>a.jsx("td",{className:"border border-line/50 px-2 py-1.5 align-top text-ink-dim",children:s[o]??""},o))},i))})]}):a.jsx("div",{className:"text-sm text-ink-faint",children:"(empty table)"})})}function Jv({sid:e,path:t,onClose:n}){const{t:r}=ee(),s=Ip(e,t),i=s.data,[l,o]=y.useState(null),[c,u]=y.useState(""),[m,f]=y.useState(!1);y.useEffect(()=>{if(o(null),u(""),!e||!t||!i||!["image","pdf","audio","video"].includes(i.kind))return;let k=!0,v="";const w=new AbortController;return B.artifactBlob(e,t,!1,w.signal).then(j=>{k&&(v=URL.createObjectURL(j),o(v))},j=>k&&u(j.message)),()=>{k=!1,w.abort(),v&&URL.revokeObjectURL(v)}},[e,t,i==null?void 0:i.kind]);const p=async()=>{if(!(!e||!t||!i)){f(!0),u("");try{const k=await B.artifactBlob(e,t,!0),v=URL.createObjectURL(k),w=document.createElement("a");w.href=v,w.download=i.name,document.body.appendChild(w),w.click(),w.remove(),window.setTimeout(()=>URL.revokeObjectURL(v),0)}catch(k){u(k.message)}finally{f(!1)}}};return a.jsxs(mt,{open:!!t,onClose:n,label:r("artifact.preview"),width:"max-w-5xl",children:[a.jsxs("div",{className:"flex items-start gap-3 border-b border-line px-4 py-3 sm:px-5",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("h2",{className:"truncate font-mono text-sm font-semibold text-ink",title:(i==null?void 0:i.path)??t??"",children:(i==null?void 0:i.name)??t??r("artifact.title")}),a.jsx("p",{className:"mt-0.5 truncate text-[11px] text-ink-faint",children:i?`${i.kind} · ${It(i.size)} · ${i.mime}`:r("artifact.approvedEvidence")})]}),a.jsx("button",{type:"button",disabled:!i||m,onClick:()=>void p(),className:"rounded-md border border-blue-deep/60 bg-blue-deep/10 px-3 py-1.5 text-xs text-blue-sky transition-colors hover:bg-blue-deep/20 disabled:cursor-wait disabled:opacity-50",children:r(m?"artifact.downloading":"artifact.download")}),(i==null?void 0:i.kind)==="pdf"&&l?a.jsx("a",{href:l,target:"_blank",rel:"noreferrer",className:"rounded-md border border-line px-3 py-1.5 text-xs text-ink-dim transition-colors hover:border-ink-faint hover:bg-surface hover:text-ink",children:r("artifact.open")}):null,a.jsx("button",{type:"button","aria-label":r("artifact.close"),onClick:n,className:"rounded-md px-2 py-1 text-lg leading-none text-ink-faint hover:bg-surface hover:text-ink",children:"×"})]}),a.jsxs("div",{className:"flex min-h-64 max-h-[72vh] flex-col overflow-x-hidden overflow-y-auto bg-bg/40 p-3 scroll-thin sm:p-4",children:[s.isLoading?a.jsx("div",{className:"m-auto",children:a.jsx(_t,{})}):null,s.isError?a.jsxs("div",{className:"m-auto text-sm text-err",children:[r("artifact.unavailable")," · ",s.error.message]}):null,i!=null&&i.why?a.jsxs("div",{className:"mb-3 rounded-md border border-line bg-surface px-3 py-2 text-xs text-ink-dim",children:[a.jsx("span",{className:"mr-1 text-ink-faint",children:"Reviewer:"}),i.why]}):null,(i==null?void 0:i.kind)==="text"?a.jsxs("pre",{className:"min-h-52 overflow-x-hidden overflow-y-auto whitespace-pre-wrap break-words rounded-lg border border-line bg-bg p-4 font-mono text-xs leading-relaxed text-ink-dim scroll-thin",children:[i.preview||r("artifact.empty"),i.truncated?` - -… ${r("artifact.truncated")}`:""]}):null,(i==null?void 0:i.kind)==="markdown"?a.jsx("div",{className:"min-h-52 overflow-auto rounded-lg border border-line bg-bg p-4 text-sm text-ink-dim scroll-thin",children:a.jsx(Nr,{children:i.preview||r("artifact.empty")})}):null,(i==null?void 0:i.kind)==="json"?a.jsx(Xp,{value:i.preview||""}):null,(i==null?void 0:i.kind)==="table"?a.jsx(Zp,{value:i.preview||"",delimiter:i.name.endsWith(".tsv")?" ":","}):null,(i==null?void 0:i.kind)==="html"&&!i.truncated?a.jsx("div",{className:"flex min-h-[60vh] overflow-hidden rounded-lg border border-line",children:a.jsx(Jp,{html:i.preview||"",title:`HTML preview: ${i.name}`})}):null,(i==null?void 0:i.kind)==="html"&&i.truncated?a.jsx("div",{className:"m-auto text-sm text-warn",children:r("artifact.htmlTooLarge")}):null,(i==null?void 0:i.kind)==="image"&&l?a.jsx("div",{className:"flex min-h-64 flex-1 items-center justify-center rounded border border-line bg-bg/50",children:a.jsx("img",{src:l,alt:i.why||i.name,className:"max-h-[62vh] max-w-full object-contain"})}):null,(i==null?void 0:i.kind)==="pdf"&&l?a.jsx("object",{data:`${l}#toolbar=1&navpanes=0&view=FitH`,type:"application/pdf","aria-label":`PDF preview: ${i.name}`,className:"h-[62vh] w-full rounded-lg border border-line bg-white",children:a.jsxs("div",{className:"flex h-full min-h-64 flex-col items-center justify-center gap-2 text-center text-sm text-ink-dim",children:[a.jsx("span",{children:r("artifact.pdfDisabled")}),a.jsx("a",{href:l,target:"_blank",rel:"noreferrer",className:"text-blue underline underline-offset-2",children:r("artifact.openPdf")})]})}):null,(i==null?void 0:i.kind)==="audio"&&l?a.jsx("div",{className:"m-auto w-full max-w-xl",children:a.jsx("audio",{controls:!0,preload:"metadata",src:l,className:"w-full"})}):null,(i==null?void 0:i.kind)==="video"&&l?a.jsx("div",{className:"flex min-h-64 flex-1 items-center justify-center rounded border border-line bg-black",children:a.jsx("video",{controls:!0,playsInline:!0,preload:"metadata",src:l,className:"max-h-[62vh] max-w-full"})}):null,i&&["image","pdf","audio","video"].includes(i.kind)&&!l&&!c?a.jsx("div",{className:"m-auto",children:a.jsx(_t,{})}):null,(i==null?void 0:i.kind)==="binary"?a.jsxs("div",{className:"m-auto max-w-md text-center",children:[a.jsx("div",{className:"text-3xl text-ink-faint",children:"◇"}),a.jsx("p",{className:"mt-2 text-sm text-ink-dim",children:r("artifact.noPreview")}),a.jsx("p",{className:"mt-1 text-xs text-ink-faint",children:r("artifact.downloadHint")})]}):null,c?a.jsx("div",{className:"mt-3 text-center text-xs text-err",children:c}):null]})]})}const Vr="__argus_live_progress__";function Xv(e){return(e??[]).filter(t=>t.source==="manager_live")}function Zv(e){return Xv(e).filter(n=>n.exists)[0]??null}function ef(e){const t=e??[],n={markdown:0,pdf:1,html:2,text:3,table:4,json:5,image:6,video:7,audio:8,binary:9},r=t.filter(i=>i.exists&&i.source==="manager_live"),s=t.filter(i=>i.exists&&i.source!=="manager_live");return s.length?[...r,...[...s].sort((i,l)=>(n[i.kind]??99)-(n[l.kind]??99))]:r}function tf(e){return ef(e).find(t=>t.exists)??null}function nf(e){const t=e.path.split("/");return t[t.length-1]||e.path}function e0(e,t){var r;const n=Zv(t);return n?n.path:e?Vr:((r=tf(t))==null?void 0:r.path)??""}const t0={manager:"Manager",planner:"Planner",engineer:"Engineer",reviewer:"Reviewer"};function n0(e){const t=String(e.agent_layer??e.actor??"");if(t==="main")return"engineer";if(t)return t;const n=String(e.type??"");return n.startsWith("round.review")||n.startsWith("reviewer")?"reviewer":n.startsWith("life.planner")?"planner":n.startsWith("life.manager")||n.startsWith("manager")?"manager":n.startsWith("engineer")||n.startsWith("round.")?"engineer":""}function r0(e,t=[]){const n=String((e==null?void 0:e.active_role)??"");if(!n)return null;const r=e==null?void 0:e.roles.find(i=>i.role===n);let s="";for(let i=t.length-1;i>=0;i-=1){const l=t[i];if(n0(l)!==n||String(l.kind??"")==="reasoning")continue;const c=String(l.text??l.action_summary??"").trim();if(!(!c||c.startsWith("{"))){s=c.split(` -`)[0].slice(0,240);break}}return{role:n,roleLabel:t0[n]??n,label:(r==null?void 0:r.label)||"Working",detail:s}}function s0(e){const t=e.dag.find(i=>["running","in_progress","claimed"].includes(i.status)),n=e.dag.filter(i=>["done","completed"].includes(i.status)).length,r=e.dag.length;let s="Awaiting Planner";return e.mission.status==="idle"?s="Ready for a new mission":e.mission.status==="complete"&&(s="Mission complete"),{title:Lp((t==null?void 0:t.title)||e.mission.title||s),dagProgress:r>0?`${n} / ${r} complete`:"Not planned"}}function i0({view:e,liveStatus:t,artifacts:n=[],onOpenArtifact:r}){const{t:s}=ee(),i=s0(e),l=[...n].filter(u=>u.exists&&u.source!=="manager_live").sort((u,m)=>Number(m.mtime??0)-Number(u.mtime??0)).slice(0,4),o=e.timeline.slice(-6).reverse(),c=u=>u==="done"?"text-ok":["running","in_progress","claimed"].includes(u)?"text-blue-sky":["failed","blocked","rejected"].includes(u)?"text-err":"text-ink-faint";return a.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto p-5 text-sm text-ink-dim scroll-thin",children:[a.jsxs("section",{className:"rounded-lg border border-blue-deep/30 bg-blue-deep/10 p-4",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-blue-sky",children:s("research.currentWork")}),a.jsx("h3",{className:"mt-2 text-base font-semibold leading-snug text-ink",children:i.title}),t!=null&&t.detail?a.jsx("p",{className:"mt-2 leading-6 text-ink-dim",children:t.detail}):null,a.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-3 text-xs",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-ink-faint",children:s("mission.stage")}),a.jsx("div",{className:"mt-1 font-medium capitalize text-blue-sky",children:e.stage.label||e.stage.id||"—"})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-ink-faint",children:s("mission.campaign")}),a.jsx("div",{className:"mt-1 font-mono text-ink",children:nc(e.mission.campaign_elapsed_seconds)})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-ink-faint",children:s("mission.round")}),a.jsxs("div",{className:"mt-1 font-mono text-ink",children:[e.round.current||"—",e.round.max?` / ${e.round.max}`:""]})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-ink-faint",children:s("research.dagProgress")}),a.jsx("div",{className:"mt-1 font-mono text-ink",children:i.dagProgress})]})]})]}),a.jsxs("section",{className:"mt-5",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint",children:s("mission.researchDag")}),a.jsx("div",{className:"mt-2 space-y-2",children:e.dag.map(u=>a.jsx("div",{className:"rounded-md border border-line/60 bg-panel px-3 py-2.5",children:a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("span",{className:`mt-0.5 shrink-0 font-mono text-xs ${c(u.status)}`,children:u.status==="done"?"✓":["running","in_progress","claimed"].includes(u.status)?"●":"○"}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"text-xs font-medium leading-5 text-ink",children:u.title}),a.jsx("div",{className:`mt-0.5 font-mono text-[10px] ${c(u.status)}`,children:u.status})]})]})},u.id))})]}),l.length?a.jsxs("section",{className:"mt-5",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint",children:s("research.verifiedOutputs")}),a.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:l.map(u=>a.jsxs("button",{type:"button",onClick:()=>r(u.path),className:"rounded border border-line/70 bg-panel px-2.5 py-1.5 font-mono text-[10px] text-blue-sky hover:border-blue/60",children:[nf(u)," ↗"]},u.path))})]}):null,o.length?a.jsxs("section",{className:"mt-5",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint",children:s("research.recentMilestones")}),a.jsx("div",{className:"mt-2 space-y-2 border-l border-line/70 pl-3",children:o.map(u=>a.jsxs("div",{children:[a.jsx("div",{className:"text-xs font-medium text-ink",children:u.title}),u.detail?a.jsx("div",{className:"mt-0.5 line-clamp-2 text-xs leading-5 text-ink-faint",children:u.detail}):null]},u.id))})]}):null]})}function a0({sid:e,artifacts:t,error:n=!1,onExpand:r,className:s="",embedded:i=!1,onCollapse:l,missionView:o,activityEvents:c=[]}){var W;const{t:u}=ee(),m=y.useMemo(()=>ef(t),[t]),f=y.useMemo(()=>tf(t),[t]),[p,k]=y.useState(null);y.useEffect(()=>k(null),[e]);const v=p??e0(o,t),w=v===Vr,j=w?null:m.find(Q=>Q.path===v)??f,h=Ip(e,j!=null&&j.exists?j.path:null,(j==null?void 0:j.mtime)??null),d=h.data,[x,b]=y.useState(null),[g,S]=y.useState(""),[N,E]=y.useState(!1),C=y.useRef(null),[_,L]=y.useState(""),$=y.useMemo(()=>r0(o,c),[c,o]);y.useEffect(()=>{if(b(null),S(""),!e||!j||!d||!["image","pdf","audio","video"].includes(d.kind))return;let Q=!0,G="";const T=new AbortController;return B.artifactBlob(e,j.path,!1,T.signal).then(I=>{Q&&(G=URL.createObjectURL(I),b(G))},I=>Q&&S(I.message)),()=>{Q=!1,T.abort(),G&&URL.revokeObjectURL(G)}},[e,j==null?void 0:j.path,d==null?void 0:d.kind,d==null?void 0:d.mtime]);const V=w?u("research.liveProgress"):((W=m[0])==null?void 0:W.group_title)||u("research.artifact"),se=async()=>{if(!(!e||!j)){E(!0),L("");try{const Q=await B.artifactBlob(e,j.path,!0),G=URL.createObjectURL(Q),T=document.createElement("a");T.href=G,T.download=j.name,document.body.appendChild(T),T.click(),T.remove(),window.setTimeout(()=>URL.revokeObjectURL(G),0)}catch(Q){L(Q.message)}finally{E(!1)}}};return Ts(C,(Q,G)=>{C.current&&(G||Q.fromTo(C.current,{autoAlpha:0,y:6,scale:.995},{autoAlpha:1,y:0,scale:1,duration:.3,ease:"power2.out",clearProps:"transform,opacity,visibility"}))},[w,j==null?void 0:j.path,d==null?void 0:d.kind]),a.jsxs("section",{className:`glass-panel glass-panel--side flex min-h-0 flex-col overflow-hidden ${i?"":"rounded-lg border"} ${s}`,"aria-label":u("research.canvas"),children:[a.jsxs("header",{className:"flex h-12 shrink-0 items-center gap-3 border-b border-line/50 bg-panel px-4",children:[a.jsxs("div",{className:"flex min-w-0 shrink-0 items-center gap-2",children:[a.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-blue"}),a.jsx("h2",{className:"max-w-24 truncate text-sm font-semibold text-ink sm:max-w-48",children:V})]}),o||m.length>0?a.jsxs("label",{className:"min-w-0 flex-1",children:[a.jsx("span",{className:"sr-only",children:u("research.previewArtifact")}),a.jsxs("select",{value:w?Vr:(j==null?void 0:j.path)??"",onChange:Q=>k(Q.target.value),className:"h-8 w-full min-w-0 max-w-64 truncate rounded-md border border-line/50 bg-bg px-2 font-mono text-xs text-ink-dim outline-none focus:border-blue/60",children:[o?a.jsx("option",{value:Vr,children:u("research.liveProgress")}):null,m.map(Q=>a.jsxs("option",{value:Q.path,disabled:!Q.exists,children:[Q.source==="manager_live"?"Checkpoint · ":"",nf(Q),Q.exists?"":" · pending"]},Q.path))]})]}):a.jsx("div",{className:"flex-1"}),a.jsx("div",{className:"shrink-0",children:j?a.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[a.jsx("button",{type:"button",onClick:()=>void se(),disabled:N||!j.exists,title:u("artifact.download"),"aria-label":u("artifact.download"),className:"flex h-7 w-7 items-center justify-center rounded-md text-ink-faint hover:bg-surface hover:text-ink disabled:opacity-40",children:a.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",className:"h-4 w-4",fill:"none",stroke:"currentColor",strokeWidth:"1.25",children:a.jsx("path",{d:"M8 2.25v7.5M5.25 7.5 8 10.25 10.75 7.5M3 13.25h10"})})}),a.jsx("button",{type:"button",onClick:()=>r(j.path),title:u("research.openLarge"),"aria-label":u("research.openLarge"),className:"flex h-7 w-7 items-center justify-center rounded-md text-ink-faint hover:bg-surface hover:text-ink",children:a.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",className:"h-4 w-4",fill:"none",stroke:"currentColor",strokeWidth:"1.25",children:a.jsx("path",{d:"M6 3H3v3M10 3h3v3M6 13H3v-3M10 13h3v-3"})})})]}):null}),l?a.jsx("button",{type:"button",onClick:l,"aria-label":u("research.collapse"),title:u("research.collapse"),className:"hidden h-8 w-8 shrink-0 items-center justify-center rounded-md border border-line/50 bg-bg/40 text-ink-faint hover:border-blue/50 hover:text-ink lg:flex",children:a.jsx(pe,{icon:fd,className:"h-3.5 w-3.5"})}):null]}),$?a.jsxs("div",{className:"shrink-0 border-b border-line/50 bg-blue-deep/10 px-4 py-3",children:[a.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[a.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-blue"}),a.jsx("span",{className:"font-semibold text-ink",children:$.roleLabel}),a.jsx("span",{className:"text-blue-sky",children:u("mission.active")}),a.jsxs("span",{className:"truncate text-ink-faint",children:["· ",$.label]})]}),$.detail?a.jsx("p",{className:"mt-1 line-clamp-2 text-xs leading-5 text-ink-dim",children:$.detail}):null]}):null,a.jsxs("div",{ref:C,className:"relative flex min-h-0 flex-1 flex-col bg-bg",children:[w&&o?a.jsx(i0,{view:o,liveStatus:$,artifacts:t,onOpenArtifact:r}):null,!w&&n?a.jsx("div",{className:"m-auto max-w-sm px-6 text-center text-sm text-warn",children:u("research.unavailable")}):null,!w&&!n&&m.length===0?a.jsxs("div",{className:"m-auto max-w-sm px-8 text-center",children:[a.jsx("div",{className:"text-3xl text-ink-faint",children:"◇"}),a.jsx("h3",{className:"mt-3 text-xs text-ink-faint",children:u("research.noPreview")})]}):null,!w&&!n&&m.length>0&&!j?a.jsxs("div",{className:"m-auto max-w-sm px-8 text-center",children:[a.jsx(_t,{}),a.jsx("p",{className:"mt-3 text-xs text-ink-faint",children:u("research.waiting")})]}):null,j&&!j.exists?a.jsxs("div",{className:"m-auto max-w-sm px-8 text-center",children:[a.jsx(_t,{}),a.jsx("p",{className:"mt-3 text-xs text-ink-faint",children:u("research.updating")})]}):null,j!=null&&j.exists&&h.isLoading?a.jsx("div",{className:"m-auto",children:a.jsx(_t,{})}):null,j!=null&&j.exists&&h.isError?a.jsxs("div",{className:"m-auto px-6 text-center text-sm text-err",children:[u("artifact.unavailable")," · ",h.error.message]}):null,(d==null?void 0:d.kind)==="text"?a.jsxs("pre",{className:"min-h-0 flex-1 overflow-x-hidden overflow-y-auto whitespace-pre-wrap break-words p-5 font-mono text-xs leading-6 text-ink-dim scroll-thin",children:[d.preview||"(empty file)",d.truncated?` - -… live preview truncated · expand to inspect the complete file`:""]}):null,(d==null?void 0:d.kind)==="markdown"?a.jsx("div",{className:"min-h-0 flex-1 overflow-auto p-5 text-sm text-ink-dim scroll-thin",children:a.jsx(Nr,{children:d.preview||"(empty file)"})}):null,(d==null?void 0:d.kind)==="json"?a.jsx(Xp,{value:d.preview||""}):null,(d==null?void 0:d.kind)==="table"?a.jsx(Zp,{value:d.preview||"",delimiter:d.name.endsWith(".tsv")?" ":","}):null,(d==null?void 0:d.kind)==="html"&&!d.truncated?a.jsx(Jp,{html:d.preview||"",title:`Live HTML preview: ${d.name}`}):null,(d==null?void 0:d.kind)==="html"&&d.truncated?a.jsx("div",{className:"m-auto max-w-sm px-8 text-center text-sm text-warn",children:u("artifact.htmlTooLarge")}):null,(d==null?void 0:d.kind)==="image"&&x?a.jsx("div",{className:"flex min-h-0 flex-1 items-center justify-center overflow-hidden p-4",children:a.jsx("img",{src:x,alt:d.why||d.name,className:"max-h-full max-w-full object-contain"})}):null,(d==null?void 0:d.kind)==="pdf"&&x?a.jsx("embed",{src:`${x}#toolbar=0&navpanes=0&scrollbar=0&view=FitH`,type:"application/pdf","aria-label":`Live PDF preview: ${d.name}`,className:"min-h-0 flex-1 bg-white"}):null,(d==null?void 0:d.kind)==="audio"&&x?a.jsx("div",{className:"m-auto w-full max-w-xl px-6",children:a.jsx("audio",{controls:!0,preload:"metadata",src:x,className:"w-full"})}):null,(d==null?void 0:d.kind)==="video"&&x?a.jsx("div",{className:"flex min-h-0 flex-1 items-center justify-center overflow-hidden bg-black p-2",children:a.jsx("video",{controls:!0,playsInline:!0,preload:"metadata",src:x,className:"max-h-full max-w-full"})}):null,(d==null?void 0:d.kind)==="binary"?a.jsx("div",{className:"m-auto max-w-sm px-8 text-center text-sm text-ink-dim",children:u("research.fileUnavailable")}):null,d&&["image","pdf","audio","video"].includes(d.kind)&&!x&&!g?a.jsx("div",{className:"m-auto",children:a.jsx(_t,{})}):null,g?a.jsx("div",{className:"m-auto px-6 text-center text-sm text-err",children:g}):null]},w?Vr:(j==null?void 0:j.path)??"empty"),w?a.jsxs("footer",{className:"flex h-9 items-center gap-2 border-t border-line px-4 font-mono text-xs text-ink-faint",children:[a.jsx("span",{className:"min-w-0 flex-1 truncate",children:u("research.eventSourced")}),a.jsx("span",{className:"shrink-0 text-ok",children:u("common.live")})]}):d?a.jsxs("footer",{className:"flex h-9 items-center gap-2 border-t border-line px-4 font-mono text-xs text-ink-faint",children:[a.jsx("span",{className:"min-w-0 flex-1 truncate",children:d.path}),_?a.jsx("span",{className:"ml-auto truncate text-err",title:_,children:u("research.downloadFailed")}):null,a.jsxs("span",{className:"shrink-0",children:[d.kind," · ",It(d.size)]}),a.jsx("span",{className:"shrink-0 text-ok",children:u("common.live")})]}):null]})}function l0({notice:e,onClose:t}){if(y.useEffect(()=>{if(!e)return;const r=window.setTimeout(t,e.tone==="error"?8e3:4e3);return()=>window.clearTimeout(r)},[e,t]),!e)return null;const n=e.tone==="error"?"border-err/60 bg-err/10 text-err":e.tone==="success"?"border-ok/60 bg-ok/10 text-ok":"border-blue-deep/60 bg-panel text-blue-sky";return a.jsxs("div",{role:e.tone==="error"?"alert":"status","aria-live":e.tone==="error"?"assertive":"polite",className:`fixed bottom-4 left-4 right-4 z-[70] flex items-start gap-2 rounded-md border px-3 py-2.5 shadow-glow sm:left-auto sm:max-w-md ${n}`,children:[a.jsx("span",{"aria-hidden":"true",className:"mt-px shrink-0",children:e.tone==="error"?"!":e.tone==="success"?"✓":"i"}),a.jsx("span",{className:"min-w-0 flex-1 break-words text-xs leading-relaxed text-ink-dim",children:e.message}),a.jsx("button",{type:"button","aria-label":"dismiss notification",onClick:t,className:"shrink-0 rounded px-1 text-base leading-none opacity-70 hover:bg-white/5 hover:opacity-100",children:"×"})]})}function o0({open:e,busy:t,onClose:n,onCreate:r}){const{t:s}=ee(),[i,l]=y.useState(""),[o,c]=y.useState(""),[u,m]=y.useState(""),f=y.useRef(null);y.useEffect(()=>{e&&(l(""),c(""),m(""))},[e]);const p=()=>{t||n()},k=async j=>{j.preventDefault(),!t&&await r(i.trim(),o.trim(),u.trim())&&n()},v=j=>{var h;Ps(j)||j.key==="Enter"&&(j.metaKey||j.ctrlKey)&&(j.preventDefault(),(h=f.current)==null||h.requestSubmit())},w=!!o.trim();return a.jsx(mt,{open:e,onClose:p,label:s("new.createDaemon"),width:"max-w-xl",children:a.jsxs("form",{ref:f,onSubmit:j=>void k(j),children:[a.jsxs("div",{className:"flex items-start gap-3 border-b border-line px-5 py-4",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("h2",{className:"text-base font-semibold text-ink",children:s("landing.new")}),a.jsx("p",{className:"mt-0.5 text-xs text-ink-faint",children:s("new.subtitle")})]}),a.jsx("button",{type:"button","aria-label":s("new.close"),onClick:p,disabled:t,className:"rounded px-2 py-1 text-lg leading-none text-ink-faint hover:bg-surface hover:text-ink disabled:opacity-40",children:"×"})]}),a.jsxs("div",{className:"space-y-4 p-5",children:[a.jsxs("label",{className:"block",children:[a.jsxs("span",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:[s("new.name")," ",a.jsx("span",{className:"normal-case tracking-normal",children:s("new.optional")})]}),a.jsx("input",{"data-autofocus":!0,value:i,onChange:j=>l(j.target.value),maxLength:80,disabled:t,placeholder:s("new.namePlaceholder"),className:"h-10 w-full rounded border border-line bg-bg/50 px-3 text-sm text-ink outline-none placeholder:text-ink-faint focus:border-blue-deep disabled:opacity-50"})]}),a.jsxs("label",{className:"block",children:[a.jsxs("span",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:[s("new.workdir")," ",a.jsx("span",{className:"normal-case tracking-normal",children:s("new.optional")})]}),a.jsx("input",{value:u,onChange:j=>m(j.target.value),disabled:t,placeholder:s("newDaemon.workdirPlaceholder"),className:"h-10 w-full rounded border border-line bg-bg/50 px-3 font-mono text-xs text-ink outline-none placeholder:text-ink-faint focus:border-blue-deep disabled:opacity-50"}),a.jsx("span",{className:"mt-1 block text-[10px] leading-relaxed text-ink-faint",children:s("new.workdirHint")})]}),a.jsxs("label",{className:"block",children:[a.jsxs("span",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:[s("new.objective")," ",a.jsx("span",{className:"normal-case tracking-normal",children:s("new.optional")})]}),a.jsx("textarea",{value:o,onChange:j=>c(j.target.value),onKeyDown:v,maxLength:4e3,disabled:t,rows:4,placeholder:s("new.objectivePlaceholder"),className:"w-full resize-y rounded border border-line bg-bg/50 px-3 py-2.5 text-sm leading-relaxed text-ink outline-none placeholder:text-ink-faint focus:border-blue-deep disabled:opacity-50"})]}),a.jsxs("div",{className:`rounded border p-3 ${w?"border-gold/40 bg-gold/5":"border-line bg-bg/30"}`,children:[a.jsx("div",{className:`text-xs font-medium ${w?"text-gold":"text-blue-sky"}`,children:s(w?"new.startsAfterCreate":"new.idleUntilMessage")}),a.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-ink-faint",children:s(w?"new.startsHint":"new.idleHint")})]})]}),a.jsxs("div",{className:"flex items-center justify-between gap-3 border-t border-line px-5 py-3",children:[a.jsx("span",{className:"text-[10px] text-ink-faint",children:s("new.shortcut")}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx("button",{type:"button",onClick:p,disabled:t,className:"rounded border border-line px-3 py-1.5 text-xs text-ink-dim hover:bg-surface disabled:opacity-40",children:s("common.cancel")}),a.jsx("button",{type:"submit",disabled:t,className:"rounded border border-blue-deep bg-blue-deep px-3 py-1.5 text-xs font-medium text-ink hover:bg-blue-deep/80 disabled:cursor-wait disabled:opacity-50",children:s(t?"new.creating":w?"new.createAndStart":"sidebar.create")})]})]})]})})}function c0({open:e,sid:t,name:n,alive:r,controlAvailable:s=!0,busy:i,onClose:l,onRename:o,onStart:c,onPause:u,onDelete:m}){const{t:f}=ee(),[p,k]=y.useState(n),[v,w]=y.useState(!1);y.useEffect(()=>{e&&(k(n),w(!1))},[e,n,t]);const j=async h=>{h.preventDefault(),await o(p.trim())};return a.jsxs(mt,{open:e,onClose:()=>!i&&l(),label:f("manage.daemon"),width:"max-w-lg",children:[a.jsxs("div",{className:"border-b border-line px-5 py-4",children:[a.jsx("h2",{className:"text-base font-semibold text-ink",children:f("topbar.manageSession")}),a.jsx("p",{className:"mt-0.5 font-mono text-[10px] text-ink-faint",children:t})]}),a.jsx("form",{onSubmit:h=>void j(h),className:"border-b border-line p-5",children:a.jsxs("label",{className:"block",children:[a.jsx("span",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:f("manage.displayName")}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx("input",{value:p,onChange:h=>k(h.target.value),maxLength:80,disabled:i,className:"h-9 min-w-0 flex-1 rounded border border-line bg-bg/50 px-3 text-sm text-ink outline-none focus:border-blue-deep disabled:opacity-50"}),a.jsx("button",{type:"submit",disabled:i||p.trim()===n,className:"rounded border border-line px-3 text-xs text-ink-dim hover:bg-surface disabled:opacity-40",children:f("common.save")})]})]})}),a.jsxs("div",{className:"border-b border-line p-5",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:f("manage.executor")}),a.jsxs("div",{className:"mt-2 flex items-center justify-between rounded border border-line bg-bg/30 p-3",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-sm text-ink",children:f(r?s?"manage.running":"manage.runningExternally":"manage.paused")}),a.jsx("p",{className:"mt-0.5 text-[11px] text-ink-faint",children:f(r?s?"manage.pauseHint":"manage.externalHint":"manage.resumeHint")})]}),a.jsx("button",{type:"button",disabled:i||!s,onClick:()=>void(r?u():c()),className:`rounded border px-3 py-1.5 text-xs disabled:cursor-wait disabled:opacity-50 ${r?"border-warn/50 text-warn hover:bg-warn/10":"border-blue-deep bg-blue-deep text-white hover:bg-blue-deep/80"}`,children:f(i?"manage.working":s?r?"common.pause":"manage.resume":"common.external")})]})]}),a.jsxs("div",{className:"p-5",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-err",children:f("manage.deleteSession")}),a.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-ink-faint",children:f("manage.deleteHint")}),v?a.jsxs("div",{className:"mt-3 flex items-center justify-between gap-3 rounded border border-err/40 bg-err/5 p-3",children:[a.jsx("span",{className:"text-xs text-ink-dim",children:f("manage.confirmQuestion")}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx("button",{type:"button",onClick:()=>w(!1),className:"rounded px-2 py-1 text-xs text-ink-faint hover:bg-surface",children:f("common.cancel")}),a.jsx("button",{type:"button",disabled:i,onClick:()=>void m(),className:"rounded bg-err px-3 py-1 text-xs font-medium text-bg disabled:opacity-50",children:f("manage.confirmDelete")})]})]}):a.jsx("button",{type:"button",disabled:i||r,onClick:()=>w(!0),className:"mt-3 rounded border border-err/40 px-3 py-1.5 text-xs text-err hover:bg-err/10 disabled:cursor-not-allowed disabled:opacity-40",children:f("manage.delete")})]})]})}function u0(e,t,n){if(e.length===0)return"local";const r=n.trim(),s=r?e.filter(i=>{var l;return((l=i.launch_cwd)==null?void 0:l.trim())===r}):[];return s.length===0||t&&!s.some(i=>i.id===t)?"all":"local"}function d0({projects:e,activeId:t,localCwd:n,onSelect:r,onPrefetch:s,onManage:i,onOpenPanel:l,onNew:o,loading:c,creating:u=!1,error:m,onRetry:f,mobileOpen:p=!1,collapsed:k=!1,onToggleCollapse:v,themeMode:w,onCycleTheme:j,expandedWidth:h=256}){const{locale:d,setLocale:x,t:b}=ee(),[g,S]=y.useState("local"),N=y.useRef(!1),[E,C]=y.useState(""),_=k&&!p,L=n.trim(),$=y.useMemo(()=>L?e.filter(T=>{var I;return((I=T.launch_cwd)==null?void 0:I.trim())===L}):[],[L,e]);y.useEffect(()=>{N.current||c||e.length===0||(N.current=!0,S(u0(e,t,L)))},[t,c,L,e]);const V=g==="local"?$:e,se=E.trim()?Wx(V,E):V,W=y.useMemo(()=>{if(g==="local")return se.length>0?[[L||"Local",se]]:[];const T=new Map;return se.forEach(I=>{var ne;const D=((ne=I.launch_cwd)==null?void 0:ne.trim())||b("common.unassigned"),H=T.get(D)??[];H.push(I),T.set(D,H)}),[...T.entries()]},[L,g,se]),Q=w==="light"?zf:Uf,G=w==="light"?"dark":"light";return a.jsxs("aside",{"data-state":_?"collapsed":"expanded",style:{"--sidebar-width":`${h}px`},className:`glass-panel glass-panel--side fixed inset-y-0 left-0 z-40 flex h-full shrink-0 flex-col border-r transition-[width,transform,visibility] duration-panel ease-panel lg:visible lg:static lg:z-auto lg:translate-x-0 ${_?"w-14":"w-64 lg:w-[var(--sidebar-width)]"} ${p?"visible translate-x-0":"invisible -translate-x-full"}`,children:[a.jsx("div",{className:`flex h-12 shrink-0 items-center border-b border-line/50 ${_?"justify-center":"justify-between px-4"}`,children:_?a.jsx(zi,{size:22,compact:!0}):a.jsxs(a.Fragment,{children:[a.jsx(zi,{size:24}),a.jsx("button",{type:"button",onClick:v,"aria-label":b("sidebar.collapse"),title:`${b("sidebar.collapse")} · Ctrl/⌘ B`,className:"icon-control flex h-8 w-8 shrink-0 items-center justify-center",children:a.jsx(pe,{icon:hd,className:"h-3.5 w-3.5"})})]})}),_?a.jsx("div",{className:"flex h-12 shrink-0 items-center justify-center",children:a.jsx("button",{type:"button",onClick:v,"aria-label":b("sidebar.expand"),title:`${b("sidebar.expand")} · Ctrl/⌘ B`,className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-line/50 bg-bg/40 text-ink-faint hover:border-blue/50 hover:text-ink",children:a.jsx(pe,{icon:fd,className:"h-3.5 w-3.5"})})}):null,_?null:a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-1 border-b border-line/50 px-3",children:[["local","all"].map(T=>a.jsxs("button",{type:"button",onClick:()=>S(T),className:`h-8 rounded-md px-3 text-xs font-medium capitalize transition-colors ${g===T?"bg-bg text-ink":"text-ink-faint hover:text-ink-dim"}`,children:[b(`common.${T}`),a.jsx("span",{className:"ml-1.5 font-mono text-ink-faint",children:T==="local"?$.length:e.length})]},T)),a.jsx("button",{type:"button",onClick:o,disabled:u,"aria-label":b("sidebar.create"),title:b("sidebar.create"),className:"ml-auto flex h-8 w-8 items-center justify-center rounded-md text-lg text-blue hover:bg-bg disabled:opacity-40",children:u?"…":"+"})]}),a.jsxs("div",{className:"px-3 py-2",children:[a.jsx("label",{className:"sr-only",htmlFor:"daemon-search",children:b("sidebar.find")}),a.jsxs("div",{className:"flex items-center rounded-md border border-line/60 bg-bg/60 px-2 focus-within:border-blue/60",children:[a.jsx("span",{"aria-hidden":"true",className:"mr-1.5 text-xs text-ink-faint",children:"/"}),a.jsx("input",{id:"daemon-search",value:E,onChange:T=>C(T.target.value),placeholder:b("sidebar.find"),className:"h-8 min-w-0 flex-1 bg-transparent text-xs text-ink outline-none placeholder:text-ink-faint"}),E?a.jsx("button",{type:"button","aria-label":b("sidebar.clearSearch"),onClick:()=>C(""),className:"px-1 text-sm text-ink-faint hover:text-ink",children:"×"}):null]})]}),a.jsxs("div",{className:"min-h-0 flex-1 overflow-x-hidden overflow-y-auto px-3 pb-3 scroll-thin",children:[c&&e.length===0?a.jsx("div",{className:"px-1 py-3 text-xs text-ink-faint",children:b("common.loading")}):null,m?a.jsx("button",{type:"button",onClick:f,className:"mb-2 w-full rounded-md bg-err/5 px-3 py-2 text-left text-xs text-err",children:b("sidebar.refreshFailed")}):null,!c&&!m&&se.length===0?a.jsx("div",{className:"px-1 py-4 text-xs text-ink-faint",children:b("sidebar.noSessions")}):null,W.map(([T,I])=>a.jsxs("section",{className:"mb-4 last:mb-0",children:[a.jsx("div",{className:"mb-1 truncate px-1 font-mono text-xs text-ink-faint",title:T,children:T}),I.map(D=>{const H=D.id===t;return a.jsxs("div",{"data-active":H?"true":"false",onPointerEnter:()=>{H||s==null||s(D.id)},className:`session-card group relative mb-1 w-full rounded-md transition-colors duration-150 ease-panel ${H?"text-ink":"text-ink-dim hover:text-ink"}`,children:[a.jsx("span",{"aria-hidden":"true",className:`absolute left-0 transition-colors ${H?"inset-y-1 w-px bg-blue":"inset-y-2 w-px bg-transparent group-hover:bg-ink-faint/30"}`}),a.jsxs("button",{type:"button",onClick:()=>r(D.id),onFocus:()=>{H||s==null||s(D.id)},"aria-current":H?"page":void 0,title:`${D.label||D.id}${D.objective?` — ${D.objective}`:""}`,className:"w-full min-w-0 px-3 py-2.5 pr-10 text-left",children:[a.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[a.jsx(fv,{ok:D.daemon_alive,title:D.daemon_alive?b("sidebar.daemonAlive"):b("sidebar.stopped")}),a.jsx("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:D.label||D.id})]}),a.jsxs("div",{className:"mt-1 flex min-w-0 items-center justify-between gap-2 pl-4 text-xs text-ink-faint",children:[a.jsx("span",{className:"min-w-0 truncate",children:D.daemon_alive?b("sidebar.runningFor",{uptime:ov(D.uptime_seconds)}):sc(D.last_active)}),a.jsx(Op,{settledUsd:D.spend_usd,knownUsd:D.known_cost_usd,status:D.spend_status,calls:D.usage_calls,premiumRequests:D.premium_requests,live:D.daemon_alive})]})]}),a.jsx("button",{type:"button",onClick:()=>i(D.id),"aria-label":b("sidebar.manage",{name:D.label||D.id}),title:b("sidebar.manageHint"),className:"absolute right-1.5 top-1.5 flex h-8 w-8 items-center justify-center rounded-md text-ink-faint opacity-100 transition-opacity hover:bg-panel-raised hover:text-ink sm:opacity-0 sm:group-hover:opacity-100 sm:group-focus-within:opacity-100",children:a.jsx(pe,{icon:$f,className:"h-4 w-4"})})]},D.id)})]},T))]}),a.jsxs("div",{className:"flex min-h-14 items-center justify-between border-t border-line/50 px-4 py-2",children:[a.jsx("button",{type:"button",onClick:()=>l("config"),className:"icon-control flex h-8 w-8 items-center justify-center","aria-label":b("sidebar.openSettings"),title:b("common.settings"),children:a.jsx(pe,{icon:gd,className:"h-3.5 w-3.5"})}),a.jsx("button",{type:"button",onClick:()=>x(d==="zh-CN"?"en":"zh-CN"),title:b("language.switchTo",{language:b(d==="zh-CN"?"language.english":"language.chinese")}),"aria-label":b("language.switchTo",{language:b(d==="zh-CN"?"language.english":"language.chinese")}),className:"icon-control flex h-8 w-8 items-center justify-center",children:a.jsx(pe,{icon:Ff,className:"h-3.5 w-3.5"})}),a.jsx("button",{type:"button",onClick:j,title:b("sidebar.theme",{current:w,next:G}),"aria-label":b("sidebar.theme",{current:w,next:G}),className:"icon-control flex h-8 w-8 items-center justify-center",children:a.jsx(pe,{icon:Q,className:"h-3.5 w-3.5"})})]})]})]})}const m0={in_progress:"#8fa7b8",running:"#8fa7b8",pending:"#7e7d75",queued:"#7e7d75",done:"#7fa386",completed:"#7fa386",blocked:"#c77b72",failed:"#c77b72"};function p0({items:e,onDispose:t,onStop:n,onInspect:r,busy:s,readOnly:i=!1}){const{t:l}=ee(),[o,c]=y.useState(!1),u=Qu(e,!1),m=Qu(e,!0),f=o?m:u;return a.jsxs("section",{className:`card flex flex-col ${f.length>0?"min-h-0 flex-1":"shrink-0"}`,children:[a.jsx(la,{title:l("panel.backlog"),right:a.jsx("button",{className:"text-[10px] text-ink-faint transition-colors hover:text-ink",onClick:()=>c(p=>!p),children:o?`active · ${u.length}`:`history · ${m.length}`})}),a.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto scroll-thin",children:[f.length===0&&a.jsx(oa,{children:o?"no completed runs yet":"nothing queued — Argus is standing by"}),f.map(p=>{const k=m0[p.status]??"#8a93a6",v=p.iterate;return a.jsx("div",{className:"group border-b border-line/60 px-3 py-2 last:border-0",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("button",{type:"button",onClick:()=>r==null?void 0:r(p.id),disabled:!r,className:"block max-w-full truncate text-left text-xs font-medium text-ink enabled:hover:text-blue-sky enabled:focus-visible:outline-none enabled:focus-visible:underline",title:r?"view full task details":void 0,children:p.title||p.objective}),a.jsxs("div",{className:"mt-0.5 flex items-center gap-1.5",children:[a.jsx("span",{className:"font-mono text-[9px] text-ink-faint",children:p.id.slice(0,8)}),a.jsx(Kr,{color:k,children:p.status}),typeof p.priority=="number"&&a.jsxs("span",{className:"text-[10px] text-ink-faint",children:["p",p.priority]}),v&&a.jsx("span",{className:"text-[10px] text-blue-sky",children:"↻ iterating"})]})]}),a.jsxs("div",{className:"flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-focus-within:opacity-100 group-hover:opacity-100",children:[!i&&v&&a.jsx(Kt,{variant:"ghost",onClick:()=>n(p.id),disabled:s,title:"stop iterating",children:"stop"}),!i&&a.jsxs(a.Fragment,{children:[a.jsx(Kt,{variant:"ghost",onClick:()=>t(p.id,"done"),disabled:s,title:"mark done",children:"✓"}),a.jsx(Kt,{variant:"ghost",onClick:()=>t(p.id,"rm"),disabled:s,title:"remove",children:"✕"})]})]})]})},p.id)})]})]})}const f0={win:"#7fa386",milestone:"#c7a66a",insight:"#8fa7b8",decision:"#a69daf",failure:"#c77b72",note:"#7e7d75"};function h0({entries:e}){const{t}=ee(),n=[...e].reverse();return a.jsxs("section",{className:"card flex min-h-0 flex-1 flex-col",children:[a.jsx(la,{title:t("panel.journal"),right:a.jsx("span",{className:"text-[10px] text-ink-faint",children:e.length})}),a.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto scroll-thin",children:[e.length===0&&a.jsx(oa,{children:"no journal entries yet"}),n.map(r=>{var c;const s=f0[r.kind]??"#8a93a6",i=String(((c=r.extra)==null?void 0:c.pricing_status)??""),l=r.extra&&Object.prototype.hasOwnProperty.call(r.extra,"cost_usd")?r.extra.cost_usd:r.cost_usd,o=typeof l=="number"&&l>0?`${cv(l)}${i==="partial"||i==="unpriced"?"+":""}`:i==="partial"||i==="unpriced"?i:"";return a.jsxs("div",{className:"border-b border-line/60 px-3 py-2 last:border-0",children:[a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:"h-1.5 w-1.5 rounded-full",style:{background:s}}),a.jsx("span",{className:"text-[10px] uppercase tracking-wide",style:{color:s},children:r.kind}),a.jsx("span",{className:"ml-auto text-[10px] text-ink-faint",children:sc(r.ts)})]}),a.jsx("div",{className:"mt-1 text-xs font-medium text-ink",children:r.title}),r.summary&&a.jsx("div",{className:"mt-0.5 text-[11px] leading-snug text-ink-dim",children:r.summary}),a.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:[(r.tags??[]).slice(0,4).map(u=>a.jsx("span",{className:"rounded bg-line/60 px-1 text-[9px] text-ink-faint",children:u},u)),o?a.jsx("span",{className:"ml-auto text-[10px] text-ink-faint",children:o}):null]})]},r.id)})]})]})}const nd=["manager","planner","engineer","reviewer"];function rd(e){return e==null?"":e<3?"now":e<60?`${Math.floor(e)}s`:e<3600?`${Math.floor(e/60)}m`:`${Math.floor(e/3600)}h`}function g0({roles:e}){const{t}=ee(),n=new Map(e.map(l=>[l.role,l])),r=nd.map(l=>n.get(l)).filter(Boolean),s=e.filter(l=>!nd.includes(l.role)),i=[...r,...s];return a.jsxs("section",{className:"card",children:[a.jsx(la,{title:t("panel.roles")}),a.jsx("div",{children:i.map(l=>{const o=ue.role[l.role]??ue.info;return a.jsxs("div",{className:"grid grid-cols-[84px_minmax(0,1fr)_auto] items-center gap-2 border-b border-line/60 px-3 py-2 last:border-b-0",children:[a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:"inline-block h-1.5 w-1.5 rounded-full",style:{background:l.active?o:"rgb(var(--ink-faint))"}}),a.jsx("span",{className:"text-[11px] font-medium capitalize",style:{color:l.active?o:ue.inkDim},children:l.role})]}),a.jsx("div",{className:"min-w-0 truncate font-mono text-[10px] text-ink-faint",title:l.model,children:l.model||"—"}),a.jsxs("div",{className:"flex items-center gap-1 text-right",children:[a.jsx("span",{className:"text-[10px]",style:{color:l.active?ue.ink:ue.inkFaint},children:l.active?l.status||"active":"idle"}),l.active&&rd(l.age_s)&&a.jsxs("span",{className:"text-[10px] tabular-nums text-ink-faint",children:["· ",rd(l.age_s)]}),l.effort&&a.jsxs("span",{className:"text-[10px]",style:{color:wp(l.effort)},children:["· ",l.effort]})]})]},l.role)})})]})}function x0({open:e,snap:t,journal:n,busy:r,onClose:s,onDispose:i,onStop:l,onInspect:o}){const{t:c}=ee();return a.jsxs(mt,{open:e,onClose:s,label:"Project inspector",width:"max-w-6xl",children:[a.jsx(jn,{title:c("panel.project"),sub:t.session.display_name||t.session.id}),a.jsxs("div",{className:"h-[68vh] min-h-0 space-y-3 overflow-y-auto bg-bg p-3 scroll-thin lg:grid lg:grid-cols-[minmax(0,1.4fr)_minmax(300px,0.8fr)] lg:gap-3 lg:space-y-0 lg:overflow-hidden",children:[a.jsx(p0,{items:t.backlog,onDispose:i,onStop:l,onInspect:o,busy:r}),a.jsxs("div",{className:"flex min-h-0 flex-col gap-3",children:[a.jsx(g0,{roles:t.roles}),a.jsx(h0,{entries:n})]})]})]})}const sd=e=>e?new Date(e*1e3).toLocaleString():"—";function Jn({label:e,value:t}){return a.jsxs("div",{className:"rounded-md border border-line/70 bg-bg/40 px-3 py-2",children:[a.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-ink-faint",children:e}),a.jsx("div",{className:"mt-0.5 text-xs text-ink-dim",children:t})]})}function y0({sid:e,itemId:t,onClose:n,onDone:r,onSkip:s,onStop:i,busy:l,readOnly:o=!1}){var k,v;const{t:c}=ee(),u=qy(e,t),m=u.data,f=m?Dp(m):!1,p=Pp(m==null?void 0:m.outcome);return a.jsxs(mt,{open:!!t,onClose:n,label:c("task.details"),width:"max-w-3xl",children:[a.jsxs("div",{className:"flex flex-wrap items-start gap-3 border-b border-line px-4 py-3 sm:flex-nowrap sm:px-5",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("h2",{className:"truncate text-sm font-semibold text-ink",children:(m==null?void 0:m.title)||c("task.details")}),m?a.jsx(Kr,{children:m.status}):null]}),a.jsx("p",{className:"mt-0.5 font-mono text-[10px] text-ink-faint",children:t})]}),!o&&m&&!f?a.jsxs("div",{className:"order-3 flex w-full shrink-0 items-center justify-end gap-1 sm:order-none sm:w-auto",children:[m.iterate?a.jsx(Kt,{onClick:()=>i(m.id),disabled:l,children:c("task.stopLoop")}):null,a.jsx(Kt,{onClick:()=>r(m.id),disabled:l,children:c("task.done")}),a.jsx(Kt,{variant:"danger",onClick:()=>s(m.id),disabled:l,children:c("task.skip")})]}):null,a.jsx("button",{type:"button","aria-label":c("task.close"),onClick:n,className:"order-2 rounded-md px-2 py-1 text-lg leading-none text-ink-faint hover:bg-surface hover:text-ink sm:order-none",children:"×"})]}),a.jsxs("div",{className:"max-h-[70vh] overflow-y-auto p-4 scroll-thin sm:p-5",children:[u.isLoading?a.jsx("div",{className:"flex justify-center py-12",children:a.jsx(_t,{})}):null,u.isError?a.jsx("div",{className:"rounded-md border border-err/40 bg-err/5 p-3 text-xs text-err",children:u.error.message}):null,m?a.jsxs("div",{className:"space-y-4",children:[m.pending_question?a.jsxs("div",{className:"rounded-lg border border-warn/40 bg-warn/5 p-3",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-warn",children:c("task.waitingOnYou")}),a.jsx("p",{className:"mt-1 whitespace-pre-wrap text-sm leading-relaxed text-ink",children:m.pending_question})]}):null,a.jsxs("section",{children:[a.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:c("task.objective")}),a.jsx("div",{className:"whitespace-pre-wrap rounded-lg border border-line bg-bg/50 p-3 text-sm leading-relaxed text-ink-dim",children:m.objective||m.original_objective||c("task.noObjective")})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[a.jsx(Jn,{label:c("task.priority"),value:`p${m.priority}`}),a.jsx(Jn,{label:c("task.started"),value:sd(m.started_ts)}),a.jsx(Jn,{label:c("task.finished"),value:sd(m.finished_ts)})]}),p.length?a.jsxs("section",{children:[a.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:c("task.outcome")}),a.jsx("div",{className:"flex flex-wrap gap-1.5",children:p.map(w=>a.jsx(Kr,{children:w},w))})]}):null,m.iterate||m.iteration_cycles_done||m.iteration_cost_usd?a.jsxs("section",{children:[a.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:c("task.iteration")}),a.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[a.jsx(Jn,{label:c("task.mode"),value:m.iterate?c("task.autoIterate"):c("task.singlePass")}),a.jsx(Jn,{label:c("task.cycles"),value:`${m.iteration_cycles_done??0}/${m.iteration_max_cycles??"—"}`}),a.jsx(Jn,{label:c("task.cost"),value:`$${(m.iteration_cost_usd??0).toFixed(2)}`})]})]}):null,m.last_error?a.jsxs("section",{className:"rounded-lg border border-err/30 bg-err/5 p-3",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-err",children:c("task.lastError")}),a.jsx("p",{className:"mt-1 whitespace-pre-wrap font-mono text-xs leading-relaxed text-ink-dim",children:m.last_error})]}):null,m.notes?a.jsxs("section",{children:[a.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-ink-faint",children:c("task.notes")}),a.jsx("p",{className:"whitespace-pre-wrap text-xs leading-relaxed text-ink-dim",children:m.notes})]}):null,(k=m.tags)!=null&&k.length||(v=m.deps)!=null&&v.length?a.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[(m.tags??[]).map(w=>a.jsxs(Kr,{children:["#",w]},`tag-${w}`)),(m.deps??[]).map(w=>a.jsxs(Kr,{children:[c("task.dependsOn")," ",w]},`dep-${w}`))]}):null]}):null]})]})}function id({onPointerDown:e,onReset:t,onNudge:n,value:r,min:s=240,max:i=600,label:l="Resize panel"}){return a.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":l,"aria-valuenow":r,"aria-valuemin":s,"aria-valuemax":i,tabIndex:0,onPointerDown:e,onDoubleClick:t,onKeyDown:o=>{o.key==="ArrowLeft"?(o.preventDefault(),n(-16)):o.key==="ArrowRight"?(o.preventDefault(),n(16)):o.key==="Home"&&(o.preventDefault(),t())},className:"group relative hidden w-2 shrink-0 cursor-col-resize items-center justify-center outline-none lg:flex",children:a.jsx("span",{className:"h-full w-px bg-line/30 transition-colors duration-150 group-hover:bg-blue/70 group-focus:bg-blue/70"})})}const v0=["manager","planner","engineer","reviewer"];function k0(e){const t=[...e.dag],n=[],r=new Set;for(;t.length;){const s=t.findIndex(l=>l.deps.every(o=>r.has(o)||!e.dag.some(c=>c.id===o))),[i]=t.splice(s>=0?s:0,1);n.push(i),r.add(i.id)}return n}function w0(e,t=16){const n=k0(e);if(n.length<=t)return{nodes:n,hidden:[]};const r=new Set(n.slice(-t).map(o=>o.id)),s=n.find(o=>["running","in_progress","claimed"].includes(o.status)),i=new Map(n.map(o=>[o.id,o])),l=s?[s]:[];for(;l.length;){const o=l.pop();r.has(o.id)||(r.add(o.id),o.deps.forEach(c=>{const u=i.get(c);u&&l.push(u)}))}return{nodes:n.filter(o=>r.has(o.id)),hidden:n.filter(o=>!r.has(o.id))}}function b0({view:e}){const{t}=ee(),n=e.achievement;return n?a.jsxs("section",{className:"border-b border-ok/35 bg-ok/5 px-5 py-4 animate-appear",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-ok",children:t("mission.achievement")}),a.jsx("div",{className:"mt-2 text-sm font-semibold text-ink",children:n.title}),n.summary?a.jsx("div",{className:"mt-1 text-xs text-ink-dim",children:n.summary}):null,a.jsxs("div",{className:"mt-2 text-xs",children:[a.jsxs("span",{className:"text-ink-faint",children:[t("mission.elapsed")," "]}),a.jsx("span",{className:"font-mono text-ink",children:nc(n.elapsed_seconds??0)})]}),a.jsxs("div",{className:"mt-3 flex flex-wrap gap-x-5 gap-y-1 text-[11px] text-ink-dim",children:[a.jsx("span",{children:t("mission.rejectedAttempts",{count:n.rejected_attempts??0})}),a.jsx("span",{children:t("mission.skillsLearned",{count:n.skills_learned??0})}),a.jsx("span",{children:t("mission.artifacts",{count:n.artifacts??0})})]})]}):null}function j0({view:e,onOpenArtifact:t,gitDiff:n}){var b;const{t:r}=ee(),s=new Map(e.roles.map(g=>[g.role,g])),i=e.dag.find(g=>["running","in_progress","claimed"].includes(g.status)),l=w0(e),o=l.nodes,c=Lp(e.mission.objective||e.mission.title||r("mission.waiting")),[u,m]=y.useState(Math.max(0,e.timeline.length-1)),[f,p]=y.useState(e.active_role||"planner"),[k,v]=y.useState((i==null?void 0:i.id)||""),w=Pp(e.outcome),j=Rp(e.routing);y.useEffect(()=>m(Math.max(0,e.timeline.length-1)),[e.timeline.length]),y.useEffect(()=>{i!=null&&i.id&&v(i.id)},[i==null?void 0:i.id]);const h=e.timeline.slice(0,u+1).slice(-12).reverse(),d=e.dag.find(g=>g.id===k),x=e.role_work.filter(g=>g.role===f).filter(g=>!k||!g.item_id||g.item_id===k).slice(-40).reverse();return a.jsxs("section",{className:"min-h-0 flex-1 overflow-x-hidden overflow-y-auto bg-panel scroll-thin","aria-label":r("mission.control"),children:[a.jsxs("header",{className:"border-b border-line/60 px-5 py-5",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint",children:r("mobile.mission")}),a.jsx("div",{role:"heading","aria-level":1,className:"mt-1 line-clamp-4 max-w-4xl text-lg font-semibold leading-snug text-ink",title:c,children:a.jsx(Nr,{children:c})}),c.length>600?a.jsxs("details",{className:"mt-2 text-xs text-ink-faint",children:[a.jsx("summary",{className:"cursor-pointer hover:text-ink",children:r("mission.showObjective")}),a.jsx("div",{className:"mt-2 text-ink-dim",children:a.jsx(Nr,{children:c})})]}):null,a.jsxs("div",{className:"mt-4 grid grid-cols-2 gap-x-6 gap-y-3 text-xs sm:grid-cols-4",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-ink-faint",children:r("mission.stage")}),a.jsx("div",{className:"mt-0.5 font-medium capitalize text-blue-sky",children:e.stage.label||e.stage.id||"—"})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-ink-faint",children:r(e.routing.open_ended?"mission.campaign":"mission.totalElapsed")}),a.jsx("div",{className:"mt-0.5 font-mono text-ink",children:nc(e.mission.campaign_elapsed_seconds)})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-ink-faint",children:r("mission.round")}),a.jsxs("div",{className:"mt-0.5 font-mono text-ink",children:[e.round.current||"—",e.round.max?` / ${e.round.max}`:""]})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-ink-faint",children:r("mission.mode")}),a.jsx("div",{className:"mt-0.5 font-mono text-ink",children:j||"—"})]})]}),w.length?a.jsx("div",{className:"mt-3 flex flex-wrap gap-x-3 gap-y-1 font-mono text-[10px] text-ink-dim",children:w.map(g=>a.jsx("span",{children:g},g))}):null,e.mission.summary?a.jsxs("div",{className:"mt-3 rounded border border-ok/25 bg-ok/5 px-3 py-2",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-ok",children:r("mission.summary")}),a.jsx("p",{className:"mt-1 whitespace-pre-wrap text-xs leading-relaxed text-ink-dim",children:e.mission.summary})]}):null,e.frontier.change?a.jsxs("div",{className:"mt-3 rounded border border-blue/25 bg-blue/5 px-3 py-2",children:[a.jsxs("div",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-blue-sky",children:["Task frontier · ",e.frontier.change.replaceAll("_"," ")]}),e.frontier.summary?a.jsx("p",{className:"mt-1 text-xs text-ink-dim",children:e.frontier.summary}):null]}):null]}),a.jsx(b0,{view:e}),a.jsxs("section",{className:"border-b border-line/60 px-5 py-4",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint",children:r("mission.team")}),a.jsx("div",{className:"mt-3 grid gap-2 sm:grid-cols-2 xl:grid-cols-4",children:v0.map(g=>{const S=s.get(g),N=(S==null?void 0:S.status)==="active",E=(S==null?void 0:S.status)==="rejected"||(S==null?void 0:S.status)==="error",C=ue.role[g]??ue.inkFaint;return a.jsxs("button",{type:"button",onClick:()=>p(g),className:`min-w-0 border-l-2 pl-3 text-left ${f===g?"bg-white/[0.03]":""}`,style:{borderColor:N||(S==null?void 0:S.status)==="done"?C:"rgb(var(--line))"},children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:`h-2 w-2 rounded-full ${N?"animate-pulse motion-reduce:animate-none":""}`,style:{background:E?ue.error:N||(S==null?void 0:S.status)==="done"?C:ue.inkFaint}}),a.jsx("span",{className:"text-xs font-semibold capitalize",style:{color:C},children:g})]}),a.jsx("div",{className:`mt-1 truncate text-xs ${E?"text-err":"text-ink-dim"}`,children:(S==null?void 0:S.label)||r("mission.waitingShort")})]},g)})})]}),a.jsxs("section",{className:"border-b border-line/60 px-5 py-4",children:[a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[a.jsxs("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint",children:[r("mission.roleWork")," · ",a.jsx("span",{className:"text-blue-sky",children:f})]}),d?a.jsx("button",{type:"button",onClick:()=>v(""),className:"text-[10px] text-ink-faint hover:text-ink",children:r("mission.filteredBy",{task:d.title||d.id})}):a.jsx("span",{className:"text-[10px] text-ink-faint",children:r("mission.allVisible")})]}),a.jsxs("div",{className:"mt-3 grid gap-2 lg:grid-cols-2",children:[x.map(g=>a.jsxs("article",{className:"min-w-0 rounded border border-line/60 bg-bg/35 px-3 py-2",children:[a.jsxs("div",{className:"flex items-center justify-between gap-3",children:[a.jsx("span",{className:"truncate text-xs font-medium text-ink",children:g.title}),a.jsx("time",{className:"shrink-0 font-mono text-[10px] text-ink-faint",children:new Date(g.ts*1e3).toISOString().slice(11,19)})]}),a.jsxs("div",{className:"mt-1 flex gap-2 font-mono text-[10px] text-ink-faint",children:[a.jsx("span",{children:g.kind}),g.status?a.jsx("span",{children:g.status}):null,g.round_index!=null?a.jsx("span",{children:r("mission.roundNumber",{count:g.round_index})}):null]}),g.detail?a.jsx("p",{className:"mt-2 max-h-36 overflow-auto whitespace-pre-wrap text-[11px] leading-5 text-ink-dim scroll-thin",children:g.detail}):null]},g.id)),x.length?null:a.jsx("div",{className:"col-span-full py-8 text-center text-xs text-ink-faint",children:r("mission.noRoleWork",{role:f})})]})]}),a.jsxs("div",{className:"grid min-h-[320px] border-b border-line/60 lg:grid-cols-[minmax(0,1.15fr)_minmax(260px,0.85fr)]",children:[a.jsxs("section",{className:"min-w-0 border-b border-line/60 px-5 py-4 lg:border-b-0 lg:border-r",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint",children:r("mission.researchDag")}),i?a.jsxs("span",{className:"max-w-48 truncate text-[10px] text-blue-sky",children:[r("mission.active")," · ",i.title]}):null]}),a.jsxs("div",{className:"mt-3 space-y-0",children:[l.hidden.length?a.jsxs("div",{className:"mb-3 rounded border border-line/60 bg-bg/50 px-3 py-2 text-[10px] text-ink-faint",children:[l.hidden.length," earlier tasks collapsed · ",l.hidden.filter(g=>["failed","blocked"].includes(g.status)).length," failed · ",l.hidden.filter(g=>g.status==="skipped").length," skipped"]}):null,o.length?o.map((g,S)=>{const N=g.id===(i==null?void 0:i.id),E=["done","completed"].includes(g.status),C=["failed","blocked"].includes(g.status);return a.jsxs("button",{type:"button",onClick:()=>v(g.id),className:`relative flex w-full min-w-0 gap-3 pb-3 text-left last:pb-0 ${k===g.id?"bg-white/[0.03]":""}`,children:[Sa.jsx("li",{children:g},g))})]}):null]}):null]}),a.jsxs("section",{className:"min-w-0 px-5 py-4",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint",children:r("mission.capabilities")}),e.learned_skills.length?a.jsxs("div",{className:"mt-3",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-[0.12em] text-ok",children:r("mission.capabilitiesUnlocked")}),a.jsx("div",{className:"mt-2 space-y-2",children:e.learned_skills.filter(g=>g.status==="active").slice(-8).map(g=>a.jsxs("details",{className:"rounded border border-ok/35 bg-ok/5 px-2 py-1.5",children:[a.jsx("summary",{className:"cursor-pointer text-[10px] text-ok",children:String(g.name||g.id)}),a.jsxs("div",{className:"mt-2 space-y-1 font-mono text-[9px] text-ink-faint",children:[g.mission_title?a.jsxs("div",{children:["evolved during · ",g.mission_title]}):null,g.path?a.jsxs("div",{className:"break-all",children:["path · ",g.path]}):null,a.jsxs("div",{children:["version · ",g.version," · scope · ",g.scope||"project"]})]}),g.content?a.jsxs("pre",{className:"mt-2 max-h-64 overflow-auto whitespace-pre-wrap border-t border-ok/20 pt-2 font-mono text-[10px] leading-5 text-ink-dim scroll-thin",children:[g.content,g.content_truncated?` -… content truncated`:""]}):a.jsx("div",{className:"mt-2 text-[10px] text-ink-faint",children:r("mission.skillUnavailable")})]},String(g.id)))})]}):null,e.learned_wiki_pages.some(g=>g.status!=="retired")?a.jsxs("div",{className:"mt-4 border-t border-line/50 pt-3",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-[0.12em] text-blue-sky",children:r("mission.knowledgeRetained")}),a.jsx("div",{className:"mt-2 flex flex-wrap gap-1.5",children:e.learned_wiki_pages.filter(g=>g.status!=="retired").slice(-6).map(g=>a.jsx("span",{className:"rounded border border-blue/35 bg-blue/5 px-2 py-1 text-[10px] text-blue-sky",children:String(g.title||g.id)},String(g.id)))})]}):null,e.storage.project_skill_dir||e.storage.global_skill_dir||e.storage.wiki_paths.length||e.storage.skill_history_compressed||e.storage.wiki_retired_compressed?a.jsxs("div",{className:"mt-4 border-t border-line/50 pt-3",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-[0.12em] text-ink-faint",children:r("mission.selfEvolution")}),a.jsxs("div",{className:"mt-2 space-y-1 font-mono text-[10px] text-ink-dim",children:[e.storage.project_skill_dir?a.jsxs("div",{className:"break-all",children:["project skills (",e.storage.project_skill_count,") · ",e.storage.project_skill_dir]}):null,e.storage.global_skill_dir?a.jsxs("div",{className:"break-all",children:["global skills (",e.storage.global_skill_count,") · ",e.storage.global_skill_dir]}):null,e.storage.wiki_paths.map(g=>a.jsxs("div",{className:"break-all",children:["project wiki · ",g]},g)),e.storage.skill_history_compressed||e.storage.wiki_retired_compressed?a.jsxs("div",{children:["cold history · skill ",e.storage.skill_history_compressed," · wiki ",e.storage.wiki_retired_compressed," · ",It(e.storage.skill_history_bytes_saved+e.storage.wiki_retired_bytes_saved)," saved"]}):null]})]}):null]})]}),a.jsxs("section",{className:"px-5 py-4",children:[a.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[a.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-ink-faint",children:r("mission.replay")}),e.timeline.length>1?a.jsxs(a.Fragment,{children:[a.jsx("input",{type:"range",min:0,max:e.timeline.length-1,value:u,onChange:g=>m(Number(g.target.value)),"aria-label":r("mission.replayTimeline"),className:"h-1 min-w-32 flex-1 accent-blue"}),a.jsxs("span",{className:"font-mono text-[10px] text-ink-faint",children:[u+1,"/",e.timeline.length]})]}):null]}),a.jsxs("div",{className:"mt-3 space-y-3",children:[h.map(g=>a.jsxs("div",{className:"grid grid-cols-[44px_10px_minmax(0,1fr)] gap-2 text-xs",children:[a.jsx("time",{className:"font-mono text-[10px] text-ink-faint",children:new Date(g.ts*1e3).toISOString().slice(11,16)}),a.jsx("span",{className:`mt-1 h-2 w-2 rounded-full ${g.tone==="error"?"bg-err":g.tone==="success"||g.tone==="metric"||g.tone==="skill"?"bg-ok":"bg-blue"}`}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("span",{className:"font-medium text-ink",children:g.title}),g.detail?a.jsxs("span",{className:"text-ink-dim",children:[" · ",g.detail]}):null]})]},g.id)),e.timeline.length?null:a.jsx("div",{className:"py-10 text-center text-xs text-ink-faint",children:r("mission.waitingEvents")})]}),e.artifacts.length?a.jsx("div",{className:"mt-5 flex flex-wrap gap-2 border-t border-line/50 pt-4",children:e.artifacts.slice(-8).map(g=>{const S=String(g.path||"");return a.jsx("button",{type:"button",disabled:!S||!t,onClick:()=>S&&(t==null?void 0:t(S)),className:"rounded border border-line px-2 py-1 font-mono text-[10px] text-blue-sky hover:border-blue-sky/50 disabled:text-ink-faint",children:String(g.title||S)},String(g.id||S))})}):null,n!=null&&n.available&&(n.status||n.diff)?a.jsxs("details",{className:"mt-5 border-t border-line/50 pt-4",children:[a.jsxs("summary",{className:"cursor-pointer text-[10px] font-semibold uppercase tracking-[0.14em] text-ink-faint hover:text-ink",children:["Git changes",n.branch?` · ${n.branch}`:""]}),n.stat?a.jsx("pre",{className:"mt-3 overflow-x-auto whitespace-pre-wrap font-mono text-[10px] leading-5 text-ink-dim",children:n.stat}):null,n.diff?a.jsxs("pre",{className:"mt-3 max-h-80 overflow-auto whitespace-pre font-mono text-[10px] leading-5 text-ink-dim scroll-thin",children:[n.diff,n.truncated?` -… diff truncated`:""]}):null]}):null]})]})}const ad=e=>e instanceof Error?e.message:String(e||"Unknown error");async function ld(e){const t=await e,n=t&&typeof t=="object"?t:{},r=String(n.command_status??"");if(Number(n.rc??0)!==0||r==="failed"||r==="rejected")throw new Error(String(n.error||`daemon command ${r||"failed"}`));return t}function N0({open:e,sid:t,snap:n,onClose:r,onChanged:s,onRestored:i}){var Ge,Le,He;const{t:l}=ee(),[o,c]=y.useState("task"),[u,m]=y.useState(""),[f,p]=y.useState(n.session.workdir??n.session.cwd??""),[k,v]=y.useState("ls"),[w,j]=y.useState(""),[h,d]=y.useState(""),[x,b]=y.useState(null),[g,S]=y.useState([]),[N,E]=y.useState(0),[C,_]=y.useState(""),[L,$]=y.useState(""),[V,se]=y.useState("work");y.useEffect(()=>{e&&(p(n.session.workdir??n.session.cwd??""),Promise.all([B.metrics(),B.trash()]).then(([A,oe])=>{b(A),S(oe.entries),E(oe.total)},A=>j(ad(A))))},[e,n.session.cwd,n.session.workdir]);const W=async(A,oe,he)=>{if(!L){$(A),j("");try{const De=await oe();he!==null&&j(he||JSON.stringify(De,null,2)),s()}catch(De){j(ad(De))}finally{$("")}}},Q=async()=>{const A=u.trim();if(!A)return;if(o==="plan"){await W("quick",async()=>{const he=await B.previewPlan(t,A);return j([...he.steps.map((De,Hn)=>`${Hn+1}. ${De.title}${De.detail?` — ${De.detail}`:""}`),...he.notes.map(De=>`Note: ${De}`),...he.error?[`Error: ${he.error}`]:[]].join(` -`)),he},null);return}await W("quick",o==="task"?()=>B.addTask(t,A):o==="nudge"?()=>B.nudge(t,A):()=>B.note(t,A),`${o} submitted.`),m("")},G=async A=>{await W(`restore:${A.trash_id}`,async()=>{const oe=await B.restoreTrash(A.trash_id);return S(he=>he.filter(De=>De.trash_id!==A.trash_id)),E(he=>Math.max(0,he-1)),await i(oe.sid),oe},`Restored ${A.label}.`)},T=n.daemon.alive&&n.daemon.protocol_compatible===!1,I=n.daemon.alive&&n.daemon.control_available===!1,D=((Ge=n.daemon_admission)==null?void 0:Ge.running_daemons)??[],H=o==="task"?_a:o==="nudge"?Ec:o==="note"?Cc:nl,ne=async()=>{await W("trash-search",async()=>{const A=await B.trash(C);return S(A.entries),E(A.total),A},null)};return a.jsxs(mt,{open:e,onClose:()=>!L&&r(),label:l("operations.title"),width:"max-w-5xl",children:[a.jsx(jn,{title:l("operations.title"),sub:n.session.display_name||t}),a.jsx("div",{className:"flex gap-1 border-b border-line bg-panel px-4 py-2",children:[["work",l("operations.work"),_a],["runtime",l("operations.runtime"),gd],["system",l("operations.system"),Bf],["recovery",l("operations.recovery"),Sc]].map(([A,oe,he])=>a.jsx("button",{type:"button",onClick:()=>{se(A),j("")},title:oe,"aria-label":oe,className:`flex h-8 w-9 items-center justify-center rounded-md text-xs ${V===A?"bg-blue-deep text-white":"text-ink-faint hover:bg-bg hover:text-ink"}`,children:a.jsx(pe,{icon:he})},A))}),a.jsxs("div",{className:"grid max-h-[76vh] gap-3 overflow-y-auto bg-bg p-3 scroll-thin lg:grid-cols-2",children:[V==="work"?a.jsxs("section",{className:"rounded-lg border border-line bg-panel p-4 lg:col-span-2",children:[a.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wide text-ink-dim",children:l("operations.workInput")}),a.jsx("p",{className:"mt-1 text-xs text-ink-faint",children:l("operations.workHint")}),a.jsx("div",{className:"mt-3 flex gap-1",children:[["task",_a],["nudge",Ec],["note",Cc],["plan",nl]].map(([A,oe])=>a.jsx("button",{type:"button",onClick:()=>c(A),title:A,"aria-label":A,className:`flex h-8 w-9 items-center justify-center rounded text-xs capitalize ${o===A?"bg-blue-deep text-white":"bg-bg text-ink-dim"}`,children:a.jsx(pe,{icon:oe})},A))}),a.jsx("textarea",{value:u,onChange:A=>m(A.target.value),rows:5,placeholder:o==="plan"?l("operations.planPlaceholder"):l("operations.actionPlaceholder",{action:o}),className:"mt-3 w-full resize-y rounded border border-line bg-bg p-3 text-sm text-ink outline-none focus:border-blue"}),a.jsx("button",{type:"button",onClick:()=>void Q(),disabled:!!L||!u.trim(),title:o==="plan"?l("operations.previewPlan"):l("operations.submitAction",{action:o}),"aria-label":o==="plan"?l("operations.previewPlan"):l("operations.submitAction",{action:o}),className:"mt-2 flex h-9 w-9 items-center justify-center rounded bg-blue-deep text-xs font-medium text-white disabled:opacity-40",children:L==="quick"?"…":a.jsx(pe,{icon:H})})]}):null,V==="runtime"?a.jsxs("section",{className:"rounded-lg border border-line bg-panel p-4 lg:col-span-2",children:[a.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wide text-ink-dim",children:l("operations.runtime")}),a.jsx("p",{className:"mt-1 text-xs text-ink-faint",children:l("operations.runtimeHint")}),a.jsx("label",{className:"mt-3 block text-[10px] uppercase tracking-wide text-ink-faint",children:l("operations.workdir")}),a.jsxs("div",{className:"mt-1 flex gap-2",children:[a.jsx("input",{value:f,onChange:A=>p(A.target.value),className:"h-9 min-w-0 flex-1 rounded border border-line bg-bg px-2 font-mono text-xs text-ink outline-none focus:border-blue"}),a.jsx("button",{type:"button",onClick:()=>void W("cwd",()=>B.setWorkdir(t,f),l("operations.workdirUpdated")),disabled:!!L||!f.trim(),title:l("operations.applyWorkdir"),"aria-label":l("operations.applyWorkdir"),className:"flex h-9 w-9 items-center justify-center rounded border border-blue/50 text-xs text-blue disabled:opacity-40",children:a.jsx(pe,{icon:pd})})]}),a.jsxs("div",{className:"mt-4 flex flex-wrap gap-2",children:[a.jsx("button",{type:"button",onClick:()=>void W("reset",()=>B.resetManager(t),"Manager context reset."),disabled:!!L,title:l("operations.resetManager"),"aria-label":l("operations.resetManager"),className:"flex h-9 w-9 items-center justify-center rounded border border-line text-xs text-ink-dim disabled:opacity-40",children:a.jsx(pe,{icon:Wf})}),a.jsx("button",{type:"button",onClick:()=>void W("upgrade",()=>{var A;return ld(B.upgradeDaemon(t,(A=n.daemon_commands)==null?void 0:A.revision))},"Current-release daemon started after safely draining active work."),disabled:!!L||I,title:I?"Externally supervised daemon cannot be restarted from this Web host":T?"Upgrade incompatible daemon":"Restart on current release","aria-label":I?"Externally supervised daemon":T?"Upgrade incompatible daemon":"Restart on current release",className:`flex h-9 w-9 items-center justify-center rounded border text-xs disabled:opacity-40 ${T?"border-err/60 bg-err/10 text-err":"border-line text-ink-dim"}`,children:a.jsx(pe,{icon:Tc})})]}),n.daemon.protocol_error?a.jsx("p",{className:"mt-2 text-xs text-err",children:n.daemon.protocol_error}):null,D.length?a.jsxs("div",{className:"mt-4",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wide text-ink-faint",children:l("operations.replaceSlot")}),a.jsx("div",{className:"mt-2 space-y-1",children:D.map(A=>a.jsxs("button",{type:"button",disabled:!!L,onClick:()=>void W(`replace:${A.id}`,()=>{var oe,he;return ld(B.replaceDaemon(t,A.id,!!((oe=n.continuous)!=null&&oe.enabled),(he=n.daemon_commands)==null?void 0:he.revision))},`Parked ${A.label||A.id} and started this session.`),title:`Replace ${A.label||A.id}`,"aria-label":`Replace ${A.label||A.id}`,className:"flex w-full items-center justify-between rounded border border-line bg-bg px-2 py-1.5 text-left text-xs text-ink-dim disabled:opacity-40",children:[a.jsx("span",{className:"truncate",children:A.label||A.id}),a.jsx(pe,{icon:Tc,className:"ml-2 text-warn"})]},A.id))})]}):null]}):null,V==="system"?a.jsxs("section",{className:"rounded-lg border border-line bg-panel p-4",children:[a.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wide text-ink-dim",children:l("operations.skills")}),a.jsxs("div",{className:"mt-3 flex gap-2",children:[a.jsx("input",{value:k,onChange:A=>v(A.target.value),className:"h-9 min-w-0 flex-1 rounded border border-line bg-bg px-2 font-mono text-xs text-ink outline-none focus:border-blue",placeholder:"ls, stats, show NAME…"}),a.jsx("button",{type:"button",disabled:!!L,onClick:()=>void W("skills",async()=>{const A=await B.skills(t,k);return d(A),A},null),title:l("operations.runSkill"),"aria-label":l("operations.runSkill"),className:"flex h-9 w-9 items-center justify-center rounded border border-blue/50 text-xs text-blue disabled:opacity-40",children:a.jsx(pe,{icon:dd})})]}),h?a.jsx("pre",{className:"mt-3 max-h-48 overflow-auto whitespace-pre-wrap rounded bg-bg p-3 font-mono text-xs text-ink-dim scroll-thin",children:h}):null]}):null,V==="system"?a.jsxs("section",{className:"rounded-lg border border-line bg-panel p-4",children:[a.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wide text-ink-dim",children:l("operations.metrics")}),a.jsxs("div",{className:"mt-3 flex items-center gap-3",children:[a.jsx("span",{className:`rounded px-2 py-1 text-xs font-semibold ${((Le=x==null?void 0:x.slo)==null?void 0:Le.status)==="healthy"?"bg-ok/10 text-ok":"bg-warn/10 text-warn"}`,children:((He=x==null?void 0:x.slo)==null?void 0:He.status)??"loading"}),a.jsxs("span",{className:"text-xs text-ink-faint",children:["event validation failures: ",(x==null?void 0:x.event_validation_failures)??"—"]})]}),x?a.jsx("pre",{className:"mt-3 max-h-48 overflow-auto whitespace-pre-wrap rounded bg-bg p-3 font-mono text-[10px] text-ink-dim scroll-thin",children:JSON.stringify({web:x.web,provider:x.provider,cost_control:x.cost_control},null,2)}):null]}):null,V==="recovery"?a.jsxs("section",{className:"rounded-lg border border-line bg-panel p-4 lg:col-span-2",children:[a.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[a.jsxs("h3",{className:"mr-auto text-xs font-semibold uppercase tracking-wide text-ink-dim",children:[l("operations.trash")," · ",N]}),a.jsx("input",{value:C,onChange:A=>_(A.target.value),onKeyDown:A=>{!Ps(A)&&A.key==="Enter"&&ne()},placeholder:l("operations.searchTrash"),className:"h-8 min-w-52 rounded border border-line bg-bg px-2 text-xs text-ink outline-none focus:border-blue"}),a.jsx("button",{type:"button",disabled:!!L,onClick:()=>void ne(),title:l("operations.searchTrash"),"aria-label":l("operations.searchTrash"),className:"flex h-8 w-8 items-center justify-center rounded border border-blue/50 text-xs text-blue disabled:opacity-40",children:a.jsx(pe,{icon:Hf})})]}),g.length?a.jsx("div",{className:"mt-3 grid gap-2 sm:grid-cols-2",children:g.map(A=>a.jsxs("div",{className:"flex items-center gap-3 rounded border border-line bg-bg p-2",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate text-xs text-ink",children:A.label}),a.jsx("div",{className:"truncate font-mono text-[10px] text-ink-faint",children:A.trash_path})]}),a.jsx("button",{type:"button",disabled:!!L,onClick:()=>void G(A),title:`Restore ${A.label}`,"aria-label":`Restore ${A.label}`,className:"flex h-8 w-8 items-center justify-center rounded border border-blue/50 text-xs text-blue disabled:opacity-40",children:a.jsx(pe,{icon:Sc})})]},A.trash_id))}):a.jsx("p",{className:"mt-3 text-xs text-ink-faint",children:l("operations.trashEmpty")}),N>g.length?a.jsxs("p",{className:"mt-2 text-[10px] text-ink-faint",children:["Showing the newest ",g.length," matches. Narrow the search to find older sessions."]}):null]}):null,w?a.jsx("pre",{className:"rounded-lg border border-line bg-panel p-3 font-mono text-xs whitespace-pre-wrap text-ink-dim lg:col-span-2",children:w}):null]})]})}const _0=["API","Protocol","Workspace"];function S0(){const{t:e}=ee(),t=y.useRef(null);return Ts(t,(n,r)=>{if(r){n.set("[data-handshake-line], [data-handshake-node]",{opacity:1,scale:1,clearProps:"transform"});return}n.to("[data-handshake-mark]",{scale:1.055,duration:.75,ease:"sine.inOut",repeat:-1,yoyo:!0,transformOrigin:"50% 50%"}),n.timeline({repeat:-1,repeatDelay:.25}).fromTo("[data-handshake-line]",{scaleX:0,opacity:.25,transformOrigin:"0% 50%"},{scaleX:1,opacity:.8,duration:.9,ease:"power2.inOut"}).fromTo("[data-handshake-node]",{autoAlpha:.25,scale:.72},{autoAlpha:1,scale:1,duration:.28,stagger:.16,ease:"back.out(1.8)"},.12).to("[data-handshake-node]",{autoAlpha:.35,duration:.3,stagger:.08},"+=0.35")}),a.jsxs("div",{ref:t,role:"status","aria-label":e("handshake.connecting"),className:"w-full max-w-xl px-6 text-center",children:[a.jsx("div",{"data-handshake-mark":!0,className:"handshake-mark glass-card mx-auto flex h-16 w-16 items-center justify-center rounded-3xl text-blue shadow-glow sm:h-20 sm:w-20",children:a.jsx(ca,{size:48,className:"text-blue"})}),a.jsxs("div",{className:"relative mx-auto mt-8 h-10 max-w-sm sm:max-w-md",children:[a.jsx("div",{className:"absolute left-[10%] right-[10%] top-3 h-px bg-line/80"}),a.jsx("div",{"data-handshake-line":!0,className:"handshake-line absolute left-[10%] right-[10%] top-3 h-px"}),a.jsx("div",{className:"relative flex justify-between",children:_0.map(n=>a.jsxs("div",{className:"flex w-20 flex-col items-center gap-2.5",children:[a.jsx("span",{"data-handshake-node":!0,className:"handshake-node h-6 w-6 rounded-full border ring-4 ring-bg",children:a.jsx("span",{className:"m-auto mt-[7px] block h-2 w-2 rounded-full bg-blue"})}),a.jsx("span",{className:"text-xs font-medium text-ink-faint",children:n})]},n))})]}),a.jsx("p",{className:"mt-9 text-base font-medium text-ink-dim",children:"Connecting to Argus"}),a.jsx("p",{className:"mt-1.5 text-sm text-ink-faint",children:"Negotiating protocol and restoring your workspace…"})]})}function E0({loading:e,hasProjects:t,error:n,onRetry:r,onNew:s,onChoose:i,canCreate:l}){const{t:o}=ee();return a.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-4 text-center",children:[e?a.jsx(S0,{}):a.jsxs(a.Fragment,{children:[a.jsx(zi,{size:32,tag:dv}),a.jsx("p",{className:`max-w-md text-sm leading-relaxed ${n?"text-err":"text-ink-faint"}`,children:n||o(t?"landing.selectOrCreate":"landing.noSessions")})]}),!e&&a.jsxs("div",{className:"flex flex-wrap justify-center gap-2",children:[n?a.jsx(Kt,{onClick:r,variant:"danger",children:o("common.retry")}):null,t?a.jsx(Kt,{onClick:i,children:o("landing.select")}):l?a.jsx(Kt,{onClick:s,variant:"primary",children:o("landing.new")}):null]})]})}function C0({active:e,onSelect:t,onOpenSessions:n}){const{t:r}=ee(),s=[{id:"mission",label:r("mobile.mission"),icon:nl},{id:"activity",label:r("mobile.activity"),icon:qf},{id:"workbench",label:r("mobile.workbench"),icon:Qf},{id:"preview",label:r("mobile.preview"),icon:Kf}];return a.jsxs("nav",{"aria-label":r("mobile.views"),className:"mobile-tabbar glass-panel glass-panel--raised fixed inset-x-0 bottom-0 z-40 flex items-stretch border-t border-line/60 lg:hidden",children:[n?a.jsxs("button",{type:"button",onClick:n,"aria-label":r("topbar.openSessions"),className:"flex min-h-[3.25rem] flex-1 flex-col items-center justify-center gap-0.5 text-ink-faint active:bg-panel-raised",children:[a.jsx(pe,{icon:Vf,className:"h-4 w-4"}),a.jsx("span",{className:"text-[10px] leading-none",children:r("mobile.sessions")})]}):null,s.map(i=>{const l=i.id===e;return a.jsxs("button",{type:"button",onClick:()=>t(i.id),"aria-current":l?"page":void 0,className:`flex min-h-[3.25rem] flex-1 flex-col items-center justify-center gap-0.5 active:bg-panel-raised ${l?"text-blue":"text-ink-faint"}`,children:[a.jsx(pe,{icon:i.icon,className:"h-4 w-4"}),a.jsx("span",{className:"text-[10px] leading-none",children:i.label})]},i.id)})]})}function T0(){y.useEffect(()=>{const e=window.visualViewport,t=document.documentElement;if(!e)return;let n=null;const r=()=>{n!=null&&window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{const s=window.innerHeight-e.height-e.offsetTop,i=s>24?Math.round(s):0;t.style.setProperty("--keyboard-inset",`${i}px`)})};return r(),e.addEventListener("resize",r),e.addEventListener("scroll",r),()=>{n!=null&&window.cancelAnimationFrame(n),e.removeEventListener("resize",r),e.removeEventListener("scroll",r),t.style.removeProperty("--keyboard-inset")}},[])}async function P0(e,t){const n=Ix(e.trim());if(!n)return{kind:"not-command"};if(!n.cmd){const r=Ox(n.name);return{kind:"error",message:r?`Unknown command ${n.name}. Did you mean ${r}?`:`Unknown command ${n.name}. Use /help for the full list.`}}if(n.cmd.id==="ask")return{kind:"not-command"};if(Sp(n.cmd)&&!n.rest)return{kind:"error",message:`Usage: ${n.cmd.name}${n.cmd.arg?` ${n.cmd.arg}`:""}`};try{await t[n.cmd.id](n.rest)}catch(r){return{kind:"error",message:r instanceof Error?r.message:String(r??"Command failed")}}return{kind:"handled"}}function R0({activeSid:e,activityEventsRef:t,notify:n,onClearEvents:r,onDispose:s,onOpenConfig:i,onOpenDoctor:l,onOpenHelp:o,onOpenIdentity:c,onOpenInspector:u,onOpenNewDaemon:m,onOpenOperations:f,onOpenSidebar:p,onReconnectEvents:k,onRenameProject:v,onRewriteDraft:w,onSelectProject:j,onSetArtifactPath:h,onSetEventFilter:d,onSetEventQuery:x,onSetTaskItemId:b,onSetWorkspaceView:g,onShowArtifacts:S,onStopIteration:N,onStopWaiting:E,refetchSnapshot:C}){return{status:async()=>u(),roles:async()=>f(),journal:async()=>u(),backlog:async()=>g("mission"),item:async _=>{_&&b(_)},artifacts:async()=>S(),artifact:async _=>{_&&h(_)},events:async _=>{g("activity");const{filter:L,query:$}=Mx(_);d(L),x($)},find:async _=>{g("activity"),d("all"),x(_)},run:async()=>g("activity"),clear:async()=>{g("activity"),d("all"),x(""),r(t.current.length)},cancel:async()=>E(),task:async _=>{e&&(await B.addTask(e,_),C(),n("success","Task queued."))},rewrite:async _=>{const L=_.trim();if(!L){n("info","Type your prompt in the composer and press Rewrite, or use /rewrite .");return}w(L)},plan:async _=>{if(!e)return;const L=await B.previewPlan(e,_);L.error?n("error",L.error):n("info",L.steps.map($=>$.title).join(` -`)||"Plan preview ready.")},nudge:async _=>{e&&(await B.nudge(e,_),n("success","Guidance injected."))},abort:async _=>{e&&(await B.abortMission(e,_||"operator abort"),n("info","Abort requested."))},note:async _=>{e&&(await B.note(e,_),n("success","Note appended to timeline."))},done:async _=>{_&&s(_,"done")},skip:async _=>{_&&s(_,"rm")},stop:async _=>{_&&N(_)},new:async()=>m(),daemons:async()=>p(),resume:async _=>{_&&_!=="list"?j(_):p()},attach:async _=>{_&&j(_)},rename:async _=>{!e||!_||await v(_)},doctor:async()=>l(),backend:async _=>{if(!e||!_){i();return}await B.setConfig(e,"runner_backend",_),n("success",`Backend set to ${_}.`)},config:async _=>{if(!e||!_){i();return}const L=_.indexOf("=");L>0?(await B.setConfig(e,_.slice(0,L).trim(),_.slice(L+1).trim()),n("success","Config updated.")):i()},identity:async()=>c(),reset:async()=>{e&&(await B.resetManager(e),n("success","Manager context reset."))},skills:async _=>{if(!e)return;const L=await B.skills(e,_||"ls");n("info",L.slice(0,400))},reconnect:async()=>k(),help:async()=>o(),quit:async()=>n("info","Background work continues; close this browser tab when ready.")}}function L0(e){return e.kind!=="error"?null:(typeof e.reply=="string"?e.reply.trim():"")||"Manager could not handle this message."}function D0(e,t){e.kind==="task"&&t.dispatchTask(e);const n=L0(e);n&&t.notifyError(n),t.refetchTranscript()}const A0={skipFirst:0,reconnectKey:0};function M0(e,t){return t.kind==="clear"?{...e,skipFirst:Math.max(0,t.offset)}:t.kind==="reconnect"?{skipFirst:0,reconnectKey:e.reconnectKey+1}:{...e,skipFirst:0}}const Gr="local_request_id";function I0(e,t,n,r=Date.now()){return{type:"ui.operator",agent_layer:"operator",text:n,ts:r/1e3,event_id:`local-${e}-${t}-operator`,message_id:`local-${t}-operator`,[Gr]:t}}function O0(e,t,n,r,s,i=Date.now(),l="auto"){const o=r.trim();if(!o)return e;const c=e.findIndex(w=>w.type==="ui.argus"&&Number(w[Gr])===n),u=s.endsWith("-argus")?`${s.slice(0,-6)}-operator`:"",m=u?e.map(w=>w.type==="ui.operator"&&Number(w[Gr])===n?{...w,message_id:u}:w):e,f=m.find(w=>w.type==="ui.operator"&&Number(w[Gr])===n),p=f?Math.max(0,i-Number(f.ts??i/1e3)*1e3):0;if(c<0)return[...m,{type:"ui.argus",agent_layer:"manager",text:o,ts:i/1e3,event_id:`local-${t}-${n}-argus`,message_id:s||`local-${n}-argus`,fragment_mode:l,response_latency_ms:p,[Gr]:n}];const k=m[c],v=[...m];return v[c]={...k,text:_p(String(k.text??""),o,l),message_id:s||k.message_id,fragment_mode:l},v}function $0(e,t,n){const r=new Map;e.forEach(m=>{const f=String(m.type??"");if(f!=="ui.operator"&&f!=="ui.argus")return;const p=`${f}\0${String(m.text??"")}`;r.set(p,(r.get(p)??0)+1)});const s=t.map(m=>({type:m.role==="operator"?"ui.operator":"ui.argus",agent_layer:m.role==="operator"?"operator":"manager",text:m.text,ts:m.ts,message_id:`transcript-${m.ts}-${m.role}`})),i=new Array(s.length).fill(!0);for(let m=s.length-1;m>=0;m-=1){const f=s[m],p=`${String(f.type)}\0${String(f.text??"")}`,k=r.get(p)??0;k>0&&(i[m]=!1,r.set(p,k-1))}const l=[...s.filter((m,f)=>i[f]),...e],o=new Array(l.length).fill(!0),c=new Set,u=n.filter(m=>{const f=String(m.message_id??"");let p=f?l.findIndex((v,w)=>!c.has(w)&&String(v.message_id??"")===f):-1;const k=Number(m.ts??0);return p<0&&(p=l.findIndex((v,w)=>{if(c.has(w)||v.type!==m.type||v.text!==m.text)return!1;const j=Number(v.ts??0);return Math.abs(j-k)<=5})),p>=0&&(c.add(p),o[p]=!1),!0});return[...l.filter((m,f)=>o[f]),...u].sort((m,f)=>Number(m.ts??0)-Number(f.ts??0))}function F0(e,t){if(!t.length)return e;const n=new Map(t.map(r=>[r.id,r]));return e.map(r=>{const s=n.get(r.id);return s?{...r,spend_usd:s.spend_usd,known_cost_usd:s.known_cost_usd,spend_status:s.spend_status,usage_calls:s.usage_calls,premium_requests:s.premium_requests,cost_updated_at:s.updated_at}:r})}async function z0(e,t,n,r=""){const s=await e.createDaemon("",t,r),i=n.trim();return{created:s,startCampaign:i?()=>e.setContinuous(s.sid,!0,i):null}}const od=e=>e instanceof Error?e.message:String(e||"Unknown error");function U0({localCwd:e,notify:t,onFocusComposer:n,queryClient:r,refetchProjects:s,selectProject:i}){const[l,o]=y.useState(!1),c=y.useRef(!1);return{createDaemon:async(m,f,p)=>{if(c.current)return!1;c.current=!0,o(!0);try{const{created:k,startCampaign:v}=await z0(B,m,f,p),w=String(k.workdir||p||"");return r.setQueryData(["projects"],j=>({local_cwd:(j==null?void 0:j.local_cwd)??e,projects:[{id:k.sid,label:m||k.sid,display_name:m,objective:"",launch_cwd:w,workdir:w,last_active:Date.now()/1e3,daemon_alive:!1,daemon_pid:null,uptime_seconds:null},...((j==null?void 0:j.projects)??[]).filter(h=>h.id!==k.sid)]})),i(k.sid),s(),window.setTimeout(n,0),t(v?"info":"success",v?"Session created and selected. Campaign is starting in the background.":"Session created and selected."),v&&v().then(()=>{r.invalidateQueries({queryKey:["snapshot",k.sid]}),s(),t("success","Campaign started.")}).catch(j=>{t("error",`Session was created, but the campaign could not start: ${od(j)}`)}),!0}catch(k){return t("error",`Could not create session: ${od(k)}`),!1}finally{c.current=!1,o(!1)}},creatingDaemon:l}}const En=e=>e instanceof Error?e.message:String(e||"Unknown error");function B0({actions:e,activeSid:t,clearProjectSelection:n,continuous:r,currentSnapshotSid:s,notify:i,refetchProjects:l,selectProject:o,setDaemonManageOpen:c}){const[u,m]=y.useState(null),f=e.startDaemon.isPending||e.stopDaemon.isPending||e.updateProject.isPending||e.deleteProject.isPending,p=y.useCallback(N=>({onSuccess:()=>i("success",N),onError:E=>i("error",En(E))}),[i]),k=y.useCallback(()=>e.startDaemon.mutate(void 0,p("Daemon start requested.")),[p,e.startDaemon]),v=y.useCallback(()=>e.stopDaemon.mutate(!0,p("Daemon is draining and will stop safely.")),[p,e.stopDaemon]),w=y.useCallback(async()=>{try{return await e.startDaemon.mutateAsync(),i("success","Daemon resumed."),!0}catch(N){return i("error",En(N)),!1}},[e.startDaemon,i]),j=y.useCallback(async()=>{try{return await e.stopDaemon.mutateAsync(!0),i("success","Daemon paused safely."),!0}catch(N){return i("error",En(N)),!1}},[e.stopDaemon,i]),h=y.useCallback(async N=>{if(!t)return!1;try{return await e.updateProject.mutateAsync({sid:t,name:N}),i("success","Session name updated."),!0}catch(E){return i("error",En(E)),!1}},[e.updateProject,t,i]),d=y.useCallback(async()=>{var N;if(!t)return!1;try{const E=await e.deleteProject.mutateAsync();c(!1),n("replace");const C=await l(),_=tc(((N=C.data)==null?void 0:N.projects)??[])[0];return _&&o(_.id,"replace"),i("success",E.workdir_preserved?`Session moved to recoverable trash. Files remain in ${E.workdir}.`:"Session moved to recoverable trash."),!0}catch(E){return i("error",En(E)),!1}},[e.deleteProject,t,n,i,l,o,c]),x=y.useCallback(N=>{if(c(!1),N===t&&s===N){m(null),c(!0);return}m(N),o(N)},[t,s,o,c]);y.useEffect(()=>{!u||t!==u||s!==u||(m(null),c(!0))},[t,s,u,c]);const b=y.useCallback((N,E)=>e.disposeBacklog.mutate({id:N,op:E},{onSuccess:()=>i("success",E==="done"?"Work marked done.":"Work removed."),onError:C=>i("error",En(C))}),[e.disposeBacklog,i]),g=y.useCallback(N=>e.stopBacklog.mutate(N,{onSuccess:()=>i("success","Iteration stopped."),onError:E=>i("error",En(E))}),[e.stopBacklog,i]),S=y.useCallback(()=>{if(!r)return;const N=!r.enabled;e.setContinuous.mutate({enabled:N,objective:r.objective},p(N?"Continuous campaign enabled.":"Continuous campaign stopped."))},[p,e.setContinuous,r]);return{daemonBusy:f,manageDeleteProject:d,managePauseDaemon:j,manageRenameProject:h,manageStartDaemon:w,requestDispose:b,requestManageSession:x,requestStartDaemon:k,requestStopDaemon:v,requestStopIteration:g,toggleContinuous:S}}function W0({focusComposer:e,openHelp:t,toggleKiosk:n,togglePalette:r,toggleReasoning:s,toggleSidebarCollapse:i}){y.useEffect(()=>{const l=o=>{const c=o.target,u=(c==null?void 0:c.tagName)==="INPUT"||(c==null?void 0:c.tagName)==="TEXTAREA",m=o.metaKey||o.ctrlKey;m&&o.key.toLowerCase()==="k"?(o.preventDefault(),r()):m&&o.key.toLowerCase()==="t"?(o.preventDefault(),s()):m&&o.key==="."?(o.preventDefault(),n()):m&&o.key.toLowerCase()==="b"?(o.preventDefault(),i()):m&&o.key.toLowerCase()==="j"?(o.preventDefault(),e()):!u&&o.key==="?"?(o.preventDefault(),t()):!u&&o.key==="/"&&(o.preventDefault(),e())};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[e,t,n,r,s,i])}const H0=e=>e instanceof Error?e.message:String(e||"Unknown error");function q0({activeSid:e,backlog:t,notify:n,pendingQuestions:r,refetchSnapshot:s}){const[i,l]=y.useState(!1),[o,c]=y.useState(!1),u=y.useRef(""),m=y.useMemo(()=>{const p=(t??[]).map(k=>({...k,operator_decision:k.operator_decision}));return bp(r??[],p)[0]??null},[t,r]);return y.useEffect(()=>{if(!m||!e){l(!1);return}const p=`${e}:${m.id}`;u.current!==p&&(u.current=p,l(!0))},[e,m]),{answerPendingReply:async(p,k)=>{if(!(!e||!m||o)){c(!0);try{const v=m.legacy?await B.answerPending(e,m.item_id,k):await B.resolveDecision(e,m.id,p,k);if(v.resolved===!1){n("info",String(v.reply||"Manager needs a more specific answer."));return}l(!1),await s(),v.daemon&&Number(v.daemon.rc??0)!==0?n("error",`Answer queued, but the daemon did not start: ${v.daemon.error||"operator action required"}`):n("success",String(v.reply||"Manager delivered your answer to the team."))}catch(v){await s(),n("error",`Could not send answer: ${H0(v)}`)}finally{c(!1)}}},pendingReply:m,pendingReplyBusy:o,pendingReplyOpen:i,setPendingReplyOpen:l}}const lo="argus.browser.project.v1";function Q0(){try{return window.sessionStorage.getItem(lo)}catch{return null}}function cd(e){try{e?window.sessionStorage.setItem(lo,e):window.sessionStorage.removeItem(lo)}catch{}}function ei(e,t){const n=new URL(window.location.href);e?n.searchParams.set("project",e):n.searchParams.delete("project");const r=t==="push"?"pushState":"replaceState";window.history[r](window.history.state,"",n.toString())}function K0({cancelActiveMessage:e,notify:t,projects:n,projectsError:r,projectsReady:s,queryClient:i,setArtifactPath:l,setSidebarOpen:o,setTaskItemId:c}){const u=new URLSearchParams(window.location.search),[m,f]=y.useState(u.get("project")||Q0()),p=y.useRef(m),k=y.useRef(!1);p.current=m;const v=y.useCallback(x=>{x!==p.current&&(e(),l(null),c(null)),p.current=x,f(x),cd(x)},[e,l,c]),w=y.useCallback((x,b="push")=>{const g=new URLSearchParams(window.location.search).get("project");v(x),g!==x&&ei(x,b)},[v]),j=y.useCallback((x="replace")=>{const b=new URLSearchParams(window.location.search).get("project");v(null),b!=null&&ei(null,x)},[v]),h=y.useCallback(x=>{i.prefetchQuery({queryKey:["snapshot",x],queryFn:({signal:b})=>B.snapshot(x,b),staleTime:3e3})},[i]);y.useEffect(()=>{if(!s)return;const x=k.current,b=Ux(n,p.current,x);if(x)return;if(k.current=!0,b.id!==p.current?v(b.id):cd(b.id),new URLSearchParams(window.location.search).get("project")!==b.id&&ei(b.id,"replace"),b.recovered){const S=n.find(N=>N.id===b.id);t("info",S?`Project “${b.requested}” was not found. Switched to ${S.label||S.id}.`:`Project “${b.requested}” was not found. Create a daemon to continue.`)}},[v,t,n,s]),y.useEffect(()=>{const x=()=>{const b=new URLSearchParams(window.location.search).get("project");if(o(!1),!b){v(null);return}if(!s){v(b);return}const g=Cp(n,b);if(v(g.id),g.recovered){ei(g.id,"replace");const S=n.find(N=>N.id===g.id);t("info",S?`Project “${g.requested}” was not found. Switched to ${S.label||S.id}.`:`Project “${g.requested}” was not found. Create a daemon to continue.`)}};return window.addEventListener("popstate",x),()=>window.removeEventListener("popstate",x)},[v,t,n,s,o]);const d=s?m&&n.some(x=>x.id===m)?m:null:r?m:null;return{activateProject:v,activeSid:d,clearProjectSelection:j,prefetchProject:h,selectProject:w,sid:m,sidRef:p}}function tl(e,t){const n=localStorage.getItem(e);return n==null?t:n==="true"}function V0(){const e=new URLSearchParams(window.location.search),[t,n]=y.useState(e.get("kiosk")==="1"),[r,s]=y.useState(()=>tl("argus.reasoning.visible.v1",!1)),[i,l]=y.useState(()=>{const $=localStorage.getItem("argus.workspace.view");return $==="mission"||$==="workbench"?$:"activity"}),[o,c]=y.useState("activity"),[u,m]=y.useState(()=>tl("argus.preview.expanded.v5",!0)),[f,p]=y.useState(()=>{const $=Number(localStorage.getItem("argus.sidebar.width.v2")||256);return Number.isFinite($)?Math.max(220,Math.min(400,$)):256}),[k,v]=y.useState(()=>{const $=Number(localStorage.getItem("argus.preview.width.v2")||440);return Number.isFinite($)?Math.max(320,Math.min(600,$)):440}),[w,j]=y.useState(!1),[h,d]=y.useState(()=>tl("argus.sidebar.expanded.v4",!0)),[x,b]=y.useState(()=>{const $=localStorage.getItem("argus.theme");return $==="light"||$==="dark"?$:null}),[g,S]=y.useState(()=>window.matchMedia("(prefers-color-scheme: dark)").matches),N=x??(g?"dark":"light"),E=y.useRef(null),C=y.useRef(null);y.useEffect(()=>{localStorage.setItem("argus.sidebar.expanded.v4",String(h)),localStorage.setItem("argus.preview.expanded.v5",String(u)),localStorage.setItem("argus.sidebar.width.v2",String(f)),localStorage.setItem("argus.preview.width.v2",String(k))},[h,f,u,k]),y.useEffect(()=>{localStorage.setItem("argus.workspace.view",i)},[i]),y.useEffect(()=>{localStorage.setItem("argus.reasoning.visible.v1",String(r))},[r]),y.useEffect(()=>{const $=window.matchMedia("(prefers-color-scheme: dark)"),V=()=>S($.matches);return V(),$.addEventListener("change",V),()=>$.removeEventListener("change",V)},[]),y.useEffect(()=>{document.documentElement.dataset.theme=N},[N]),y.useEffect(()=>{const $=()=>{document.documentElement.dataset.pageVisible=String(!document.hidden)};return $(),document.addEventListener("visibilitychange",$),()=>document.removeEventListener("visibilitychange",$)},[]);const _=y.useCallback(()=>{const $=N==="light"?"dark":"light";b($),localStorage.setItem("argus.theme",$)},[N]),L=y.useCallback(($,V)=>{const se=E.current;if(!se)return;V.preventDefault();const W=se.getBoundingClientRect();document.body.style.cursor="col-resize",document.body.style.userSelect="none";const Q=T=>{C.current!=null&&window.cancelAnimationFrame(C.current),C.current=window.requestAnimationFrame(()=>{if($==="left"){const I=u?k+8:56,D=Math.max(220,Math.min(400,W.width-I-360-8));p(Math.max(220,Math.min(D,T.clientX-W.left)))}else{const I=h?f+8:56,D=Math.max(320,Math.min(600,W.width-I-360-8));v(Math.max(320,Math.min(D,W.right-T.clientX)))}})},G=()=>{C.current!=null&&window.cancelAnimationFrame(C.current),C.current=null,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("pointermove",Q),window.removeEventListener("pointerup",G),window.removeEventListener("pointercancel",G)};window.addEventListener("pointermove",Q),window.addEventListener("pointerup",G,{once:!0}),window.addEventListener("pointercancel",G,{once:!0})},[h,f,u,k]);return y.useEffect(()=>{const $=()=>{if(window.innerWidth<1024||!E.current)return;const V=E.current.clientWidth,se=h?f:56,W=u?k:56,Q=(h?8:0)+(u?8:0),G=Math.max(540,V-360-Q);if(se+W<=G)return;let T=u?Math.max(320,Math.min(k,G-se)):W;const I=h?Math.max(220,Math.min(f,G-T)):se;I+T>G&&u&&(T=Math.max(320,G-I)),h&&p(I),u&&v(T)};return $(),window.addEventListener("resize",$),()=>window.removeEventListener("resize",$)},[h,f,u,k]),{cycleTheme:_,kiosk:t,leftPanelOpen:h,leftWidth:f,mobileView:o,resizeSidebar:L,rightPanelOpen:u,rightWidth:k,setKiosk:n,setLeftPanelOpen:d,setLeftWidth:p,setMobileView:c,setRightPanelOpen:m,setRightWidth:v,setShowReasoning:s,setSidebarOpen:j,setWorkspaceView:l,shellRef:E,showReasoning:r,sidebarOpen:w,themeMode:N,workspaceView:i}}function G0({error:e,onRetry:t}){const{t:n}=ee(),r=aa(e),s=e instanceof ia;return!r&&!s?null:a.jsxs("div",{role:"alert",className:"fixed left-1/2 top-3 z-[100] flex w-[min(92vw,42rem)] -translate-x-1/2 items-start gap-3 rounded-xl border border-err/50 bg-panel/95 px-4 py-3 text-left text-sm text-ink shadow-xl backdrop-blur",children:[a.jsx("span",{"aria-hidden":"true",className:"mt-0.5 font-mono font-bold text-err",children:"!"}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("strong",{className:"block text-err",children:n(r?"connection.pairingTitle":"connection.unreachableTitle")}),a.jsx("span",{className:"mt-0.5 block text-xs leading-relaxed text-ink-dim",children:n(r?"connection.pairingDetail":"connection.unreachableDetail")})]}),r?null:a.jsx("button",{type:"button",onClick:t,className:"shrink-0 rounded-md border border-err/40 px-2.5 py-1 text-xs text-err hover:bg-err/10",children:n("common.retry")})]})}let Y0=0;const J0=y.lazy(async()=>({default:(await yp(()=>import("./ResearchWorkbenchPanel-PFfB4YNn.js"),__vite__mapDeps([0,1,2,3,4]))).ResearchWorkbenchPanel}));function X0(){var vc,kc,wc,bc;const{locale:e,t}=ee(),n=ud(),r=Iy(),s=Oy(),i=y.useMemo(()=>{var U,ge;return tc(F0(((U=r.data)==null?void 0:U.projects)??[],((ge=s.data)==null?void 0:ge.projects)??[]))},[(vc=s.data)==null?void 0:vc.projects,(kc=r.data)==null?void 0:kc.projects]),l=((wc=r.data)==null?void 0:wc.local_cwd)??"",o=[r.error,s.error].find(U=>hx(U)),[c,u]=y.useState("none"),{cycleTheme:m,kiosk:f,leftPanelOpen:p,leftWidth:k,mobileView:v,resizeSidebar:w,rightPanelOpen:j,rightWidth:h,setKiosk:d,setLeftPanelOpen:x,setLeftWidth:b,setMobileView:g,setRightPanelOpen:S,setRightWidth:N,setShowReasoning:E,setSidebarOpen:C,setWorkspaceView:_,shellRef:L,showReasoning:$,sidebarOpen:V,themeMode:se,workspaceView:W}=V0(),[Q,G]=y.useState(()=>W==="mission"?"mission":"activity"),[T,I]=y.useState(W==="workbench");y.useEffect(()=>{if(W==="workbench"){I(!0);return}G(W)},[W]),T0();const[D,H]=y.useState(0),[ne,Ge]=y.useState(""),[Le,He]=y.useState(!1),[A,oe]=y.useState(0),[he,De]=y.useState(!1),[Hn,Er]=y.useState([]),[ua,Nn]=y.useState(""),[O,J]=y.useState(!1),[rt,ie]=y.useState(0),[da,Tt]=y.useState([]),[Rs,ma]=y.useState(0),[rf,Cr]=y.useState(null),[sf,Ls]=y.useState(null),[af,Tr]=y.useState(!1),[lf,Ds]=y.useState(!1),Pt=y.useRef(null),pa=y.useRef(0),[of,lc]=y.useState(null),[oc,fa]=y.useReducer(M0,A0),[cf,cc]=y.useState("all"),[uf,uc]=y.useState(""),df=y.useCallback(()=>lc(null),[]),we=y.useCallback((U,ge)=>{lc({id:++Y0,tone:U,message:ge})},[]),ha=y.useCallback(()=>{var ge;const U=!!Pt.current;return pa.current+=1,(ge=Pt.current)==null||ge.controller.abort(),Pt.current=null,De(!1),Nn(""),J(!1),ie(0),Tt([]),ma(0),U},[]),Pr=y.useCallback(()=>{ha()&&we("info","Stopped waiting for this reply. Server-side work may still finish in the project timeline.")},[ha,we]),{activeSid:Y,clearProjectSelection:mf,prefetchProject:pf,selectProject:_n,sidRef:ga}=K0({cancelActiveMessage:ha,notify:we,projects:i,projectsError:r.isError,projectsReady:r.isSuccess,queryClient:n,setArtifactPath:Cr,setSidebarOpen:C,setTaskItemId:Ls});y.useEffect(()=>()=>{var U;pa.current+=1,(U=Pt.current)==null||U.controller.abort(),Pt.current=null},[]);const dc=y.useCallback(U=>{const ge=(U||"").trim(),st=ga.current;!ge||!st||Le||(He(!0),B.rewritePrompt(st,ge).then($e=>{if(He(!1),$e.error||!$e.rewritten.trim()){we("error",`Rewrite failed: ${$e.error||"empty rewrite"} — your prompt is unchanged`);return}Ge($e.rewritten),H(qe=>qe+1);const ae=$e.questions.length?` Manager asks: ${$e.questions.join(" · ")}`:"";we("success",`Prompt rewritten — review it, then send.${ae}`)},$e=>{He(!1),we("error",`Rewrite failed: ${Xn($e)} — your prompt is unchanged`)}))},[we,Le,ga]),{createDaemon:ff,creatingDaemon:mc}=U0({localCwd:l,notify:we,onFocusComposer:()=>H(U=>U+1),queryClient:n,refetchProjects:r.refetch,selectProject:_n}),Ye=$y(Y),q=Ye.data,pt=(q==null?void 0:q.session.id)===Y?Y:null,qn=q==null?void 0:q.continuous,As=Wy(pt,!0),hf=Hy(pt,Q==="mission"),{events:Zt,connected:xa}=Xy(pt,oc.reconnectKey),pc=y.useMemo(()=>Gy(Zt),[Zt]),fc=y.useMemo(()=>Jy(Zt),[Zt]);y.useEffect(()=>{!pt||!pc||n.invalidateQueries({queryKey:["artifacts",pt],exact:!0})},[pc,pt,n]),y.useEffect(()=>{!pt||!fc||n.invalidateQueries({queryKey:["snapshot",pt],exact:!0})},[pt,n,fc]);const gf=y.useMemo(()=>dy(Zt),[Zt]),ya=Mp(pt,Q==="activity",120),xf=Fy(Y,20,c==="inspector"),{answerPendingReply:yf,pendingReply:vf,pendingReplyBusy:kf,pendingReplyOpen:wf,setPendingReplyOpen:hc}=q0({activeSid:Y,backlog:q==null?void 0:q.backlog,notify:we,pendingQuestions:q==null?void 0:q.pending_questions,refetchSnapshot:Ye.refetch}),Qn=y.useMemo(()=>$0(Zt,ya.data??[],Hn),[Zt,Hn,ya.data]),zt=y.useMemo(()=>q?iy(q,Qn,As.data??[]):null,[Qn,As.data,q]),gc=y.useRef(Qn);gc.current=Qn,y.useEffect(()=>{cc("all"),uc(""),Er([]),fa({kind:"reset"})},[pt]);const Sn=Qy(Y,(bc=q==null?void 0:q.daemon_commands)==null?void 0:bc.revision),{daemonBusy:va,manageDeleteProject:bf,managePauseDaemon:jf,manageRenameProject:Nf,manageStartDaemon:_f,requestDispose:Rr,requestManageSession:Sf,requestStartDaemon:ka,requestStopDaemon:wa,requestStopIteration:Ms,toggleContinuous:Ef}=B0({actions:Sn,activeSid:Y,clearProjectSelection:mf,continuous:qn,currentSnapshotSid:q==null?void 0:q.session.id,notify:we,refetchProjects:r.refetch,selectProject:_n,setDaemonManageOpen:Ds}),xc=y.useCallback(async U=>{if(!Y)return;const ge=await Sn.updateProject.mutateAsync({sid:Y,name:U});we("success",`Renamed to "${ge.name}".`)},[Sn.updateProject,Y,we]),Cf=y.useMemo(()=>R0({activeSid:Y,activityEventsRef:gc,notify:we,onClearEvents:U=>fa({kind:"clear",offset:U}),onDispose:Rr,onOpenConfig:()=>u("config"),onOpenDoctor:()=>u("doctor"),onOpenHelp:()=>u("help"),onOpenIdentity:()=>u("identity"),onOpenInspector:()=>u("inspector"),onOpenNewDaemon:()=>Tr(!0),onOpenOperations:()=>u("operations"),onOpenSidebar:()=>C(!0),onReconnectEvents:()=>fa({kind:"reconnect"}),onRenameProject:xc,onRewriteDraft:dc,onSelectProject:_n,onSetArtifactPath:Cr,onSetEventFilter:cc,onSetEventQuery:uc,onSetTaskItemId:Ls,onSetWorkspaceView:_,onShowArtifacts:()=>S(!0),onStopIteration:Ms,onStopWaiting:Pr,refetchSnapshot:Ye.refetch}),[Y,we,xc,Rr,Ms,_n,Ye.refetch,Pr,_]);W0({focusComposer:()=>H(U=>U+1),openHelp:()=>u("help"),toggleKiosk:()=>d(U=>!U),togglePalette:()=>u(U=>U==="palette"?"none":"palette"),toggleReasoning:()=>E(U=>!U),toggleSidebarCollapse:()=>x(U=>!U)});const ba=async(U,ge=[])=>{const st=Y;if(!st||Pt.current)return!1;if(!ge.length){const te=await P0(U,Cf);if(te.kind==="handled")return!0;if(te.kind==="error")return we("error",te.message),!1}const $e=++pa.current,ae=new AbortController;Pt.current={id:$e,sid:st,controller:ae};const qe=()=>{const te=Pt.current;return!!(te&&te.id===$e&&te.sid===st&&ga.current===st&&!ae.signal.aborted)},jc=()=>{var te;((te=Pt.current)==null?void 0:te.id)===$e&&(Pt.current=null,De(!1),Nn(""),J(!1),ie(0),ma(0),Tt([]))};De(!0),Nn(ge.length?t("chat.uploadingAttachments"):""),J(!1),ie(0),Tt([]),ma(Date.now());let Nc=[];if(ge.length)try{const te=await B.uploadAttachments(st,ge,ae.signal);if(!qe())return!1;Nc=te.attachments.map(Ee=>({attachment_id:Ee.attachment_id}))}catch(te){return qe()&&(we("error",t("chat.attachmentUploadFailed",{error:Xn(te)})),jc()),!1}Er(te=>[...te,I0(st,$e,U)]);const _c=(te,Ee="",it="auto")=>{!qe()||typeof te!="string"||!te.trim()||Er(Fe=>O0(Fe,st,$e,te,Ee,Date.now(),it))},Pf=te=>{var Fe;if(!qe())return;const Ee=te.daemon&&typeof te.daemon=="object"?te.daemon:null,it=typeof te.reply=="string"?te.reply:null;Ee!=null&&Ee.admission_required?we("error",it||`Task queued, but all daemon slots are busy: ${String(Ee.error||"operator action required")}`):Ee&&Number(Ee.rc??0)!==0?we("error",it||`Task queued, but executor did not start: ${String(Ee.error||"unknown error")}`):it&&we("success",it),(Fe=Ye.refetch)==null||Fe.call(Ye)},Rf=te=>{qe()&&D0(te,{dispatchTask:Pf,notifyError:Ee=>we("error",Ee),refetchTranscript:()=>{ya.refetch()}})};return(async()=>{let te=!1,Ee=null,it=[];try{try{await B.messageStream(st,U,{onPhase:(Fe,ja,Rt)=>{qe()&&(Nn(Fe),J(Rt.heartbeat),ie(Rt.quietS),it=yy(it,{label:Fe,role:ja,kind:Rt.kind,detail:Rt.detail,heartbeat:Rt.heartbeat,quietS:Rt.quietS}),Tt(it))},onDelta:(Fe,ja,Rt)=>{qe()&&(te=!0,it=vy(it),Tt(it),Nn(""),J(!1),ie(0),_c(Fe,ja,Rt==="append"||Rt==="snapshot"?Rt:"auto"))},onDone:Fe=>{qe()&&(_c(Fe.reply,"","snapshot"),Rf(Fe))},onError:Fe=>{qe()&&(Ee=Fe)}},{signal:ae.signal,attachments:Nc})}catch(Fe){qe()&&(Ee=Fe)}if(!qe())return;Ee&&we("error",uv(Ee,te))}finally{jc()}})(),!0},yc=y.useRef(ba);yc.current=ba;const Tf=y.useMemo(()=>{const U=Av(Cs,ae=>{yc.current(ae)},ae=>{Ge(ae),H(qe=>qe+1)},e),ge=[...f?[]:[{id:"new",label:t("palette.newDaemon"),hint:"+",group:t("palette.view"),run:()=>Tr(!0)}],{id:"transcript",label:t("palette.openTranscript"),hint:"/transcript",group:t("palette.view"),run:()=>u("transcript")},{id:"inspector",label:t("palette.openProject"),hint:t("palette.projectHint"),group:t("palette.view"),run:()=>u("inspector")},{id:"operations",label:t("palette.openOperations"),hint:t("palette.operationsHint"),group:t("palette.view"),run:()=>u("operations")},{id:"help",label:t("help.title"),hint:"?",group:t("palette.view"),run:()=>u("help")},{id:"reasoning",label:t($?"palette.hideReasoning":"palette.showReasoning"),hint:"⌘T",group:t("palette.view"),run:()=>E(ae=>!ae)},{id:"kiosk",label:t(f?"palette.exitKiosk":"palette.enterKiosk"),hint:"⌘.",group:t("palette.view"),run:()=>d(ae=>!ae)}],st=f?[]:[{id:"message",label:t("palette.messageArgus"),hint:"/",group:t("palette.action"),run:()=>H(ae=>ae+1)},...he?[{id:"cancel-message",label:t("palette.stopWaiting"),hint:"Esc",group:t("palette.action"),run:Pr}]:[],...qn?[{id:"continuous",label:qn.enabled?t("palette.stopContinuous"):t("palette.startContinuous"),group:t("palette.action"),run:Ef}]:[],...(q==null?void 0:q.daemon.control_available)===!1?[]:[q!=null&&q.daemon.alive?{id:"stop",label:t("palette.stopDaemon"),group:t("palette.action"),run:wa}:{id:"start",label:t("palette.startDaemon"),group:t("palette.action"),run:ka}]],$e=i.map(ae=>({id:`p-${ae.id}`,label:ae.label||ae.id,hint:ae.daemon_alive?`● ${t("common.live")}`:"○",keywords:`${ae.id} ${ae.display_name??""} ${ae.objective} ${ae.daemon_alive?"live running":"stopped idle"}`,group:t("palette.project"),run:()=>_n(ae.id)}));return[...ge,...st,...U,...$e]},[i,q==null?void 0:q.daemon.alive,f,$,qn==null?void 0:qn.enabled,he,Pr,e,t]);return a.jsxs("div",{ref:L,className:"workbench-shell ambient-canvas flex h-screen h-[100dvh] w-screen max-w-full overflow-hidden text-ink",children:[a.jsx(G0,{error:o,onRetry:()=>{r.refetch(),s.refetch()}}),!f&&V?a.jsx("button",{type:"button","aria-label":t("common.closeSessions"),onClick:()=>C(!1),className:"fixed inset-0 z-30 bg-black/40 lg:hidden"}):null,f?null:a.jsx(d0,{projects:i,activeId:Y,localCwd:l,onSelect:U=>{_n(U),C(!1)},onPrefetch:pf,onManage:Sf,onOpenPanel:U=>u(U),onNew:()=>Tr(!0),loading:r.isLoading,creating:mc,error:r.isError?Xn(r.error):void 0,onRetry:()=>void r.refetch(),mobileOpen:V,collapsed:!p,onToggleCollapse:()=>x(U=>!U),themeMode:se,onCycleTheme:m,expandedWidth:k}),!f&&p?a.jsx(id,{label:t("common.resizeSessions"),value:k,min:220,max:400,onPointerDown:U=>w("left",U),onReset:()=>b(256),onNudge:U=>b(ge=>Math.max(220,Math.min(400,ge+U)))}):null,a.jsx("main",{className:"flex min-w-0 flex-1 overflow-x-hidden",children:q?a.jsxs(a.Fragment,{children:[a.jsxs("section",{className:`${v==="activity"?"flex":"hidden"} glass-panel glass-panel--main h-full min-w-0 flex-1 flex-col lg:flex`,children:[a.jsx(Gu,{snap:q,streamOk:xa,onStart:ka,onStop:wa,onManage:()=>Ds(!0),busy:va,snapshotStale:Ye.isError,readOnly:f,missionView:zt}),a.jsxs("div",{className:"flex h-10 shrink-0 items-center gap-1 border-b border-line/60 px-3",children:[a.jsxs("div",{className:"workspace-tabs","data-active":W,children:[a.jsx("span",{className:"workspace-tab-indicator","aria-hidden":"true"}),a.jsx("button",{type:"button",onClick:()=>_("mission"),className:"workspace-tab","data-selected":W==="mission",children:t("mobile.mission")}),a.jsx("button",{type:"button",onClick:()=>_("activity"),className:"workspace-tab","data-selected":W==="activity",children:t("mobile.activity")}),a.jsx("button",{type:"button",onClick:()=>_("workbench"),className:"workspace-tab","data-selected":W==="workbench",children:t("mobile.workbench")})]}),W==="mission"?a.jsx("span",{className:"ml-auto hidden max-w-72 truncate text-[10px] text-ink-faint sm:block",children:zt!=null&&zt.active_role?t("mission.roleActive",{role:zt.active_role}):t("mission.overview")}):a.jsx("span",{className:"ml-auto"}),f?null:a.jsx("button",{type:"button",onClick:()=>u("operations"),className:"rounded border border-line/60 px-2 py-1 text-[10px] text-ink-faint hover:border-blue/50 hover:text-blue",children:t("mission.operations")})]}),a.jsxs("div",{className:`${W==="workbench"?"hidden":"flex"} min-h-0 flex-1 flex-col`,children:[a.jsx(Vv,{alert:gf}),Q==="mission"&&zt?a.jsx(j0,{view:zt,gitDiff:hf.data,onOpenArtifact:Cr}):a.jsx(bv,{events:Qn,connected:xa,showReasoning:$,onToggleReasoning:()=>E(U=>!U),embedded:!0,filter:cf,query:uf,skipFirst:oc.skipFirst}),f?null:a.jsx("div",{className:"composer-dock shrink-0 px-4 pt-3",children:a.jsxs("div",{className:"mx-auto w-full max-w-full lg:max-w-[61.8vw]",children:[a.jsx(Qv,{questions:q.pending_questions??[],backlog:q.backlog,onAnswer:()=>hc(!0)}),a.jsx(Dv,{value:ne,onChange:Ge,onSend:ba,onCancel:Pr,disabled:!Y,pending:he,focusSignal:D,embedded:!0,phase:ua,heartbeat:O,quietS:rt,steps:da,startedAt:Rs,onRewrite:dc,rewriting:Le,slashSelection:A,onSlashSelectionChange:oe},Y||"no-session")]})})]}),T&&Y?a.jsx("div",{className:`${W==="workbench"?"flex":"hidden"} min-h-0 flex-1`,children:a.jsx(y.Suspense,{fallback:a.jsx("div",{className:"flex min-h-0 flex-1 items-center justify-center text-xs text-ink-faint",children:t("common.loading")}),children:a.jsx(J0,{sid:Y,active:W==="workbench"})})}):null]}),j?a.jsx(id,{label:t("common.resizePreview"),value:h,min:320,max:600,onPointerDown:U=>w("right",U),onReset:()=>N(440),onNudge:U=>N(ge=>Math.max(320,Math.min(600,ge-U)))}):null,a.jsxs("aside",{style:{"--preview-width":`${h}px`},className:`${v==="preview"?"flex":"hidden"} relative min-w-0 flex-1 flex-col overflow-hidden border-l border-line/60 bg-panel transition-[width] duration-[250ms] ease-panel lg:flex lg:flex-none ${j?"lg:w-[var(--preview-width)]":"lg:w-14"}`,children:[a.jsx("div",{className:"lg:hidden",children:a.jsx(Gu,{snap:q,streamOk:xa,onStart:ka,onStop:wa,onManage:()=>Ds(!0),busy:va,snapshotStale:Ye.isError,readOnly:f,missionView:zt})}),a.jsx(a0,{sid:pt,artifacts:As.data,error:As.isError,onExpand:Cr,className:`min-h-0 flex-1 mobile-scroll-region ${j?"lg:flex":"lg:hidden"}`,embedded:!0,onCollapse:()=>S(!1),missionView:zt,activityEvents:Qn}),j?null:a.jsx("div",{className:"hidden h-12 items-center justify-center border-b border-line/50 text-ink-faint lg:flex",children:a.jsx("button",{type:"button",onClick:()=>S(!0),"aria-label":t("common.expandPreview"),title:t("common.expandPreview"),className:"flex h-8 w-8 items-center justify-center rounded-md border border-line/50 bg-bg/40 hover:border-blue/50 hover:text-ink",children:a.jsx(pe,{icon:hd,className:"h-3.5 w-3.5"})})})]})]}):a.jsx(E0,{loading:r.isLoading||!!(Y&&Ye.isLoading),hasProjects:i.length>0,error:r.isError&&i.length===0?Xn(r.error):Ye.isError&&!q?Xn(Ye.error):void 0,onRetry:()=>{r.refetch(),Y&&Ye.refetch()},onNew:()=>Tr(!0),onChoose:()=>C(!0),canCreate:!f})}),a.jsx(Iv,{open:c==="palette",onClose:()=>u("none"),items:Tf}),a.jsx($v,{open:c==="help",onClose:()=>u("none")}),Y&&a.jsx(Bv,{sid:Y,open:c==="doctor",onClose:()=>u("none")}),Y&&a.jsx(Wv,{sid:Y,open:c==="config",onClose:()=>u("none")}),Y&&a.jsx(Hv,{sid:Y,open:c==="identity",onClose:()=>u("none")}),Y&&a.jsx(qv,{sid:Y,open:c==="transcript",onClose:()=>u("none")}),Y&&q?a.jsx(x0,{open:c==="inspector",snap:q,journal:xf.data??[],busy:Sn.disposeBacklog.isPending||Sn.stopBacklog.isPending,onClose:()=>u("none"),onDispose:Rr,onStop:Ms,onInspect:Ls}):null,Y&&q?a.jsx(N0,{open:c==="operations",sid:Y,snap:q,onClose:()=>u("none"),onChanged:()=>{Ye.refetch(),r.refetch()},onRestored:async U=>{await r.refetch(),_n(U)}}):null,a.jsx(Jv,{sid:Y,path:rf,onClose:()=>Cr(null)}),a.jsx(y0,{sid:Y,itemId:sf,onClose:()=>Ls(null),onDone:U=>Rr(U,"done"),onSkip:U=>Rr(U,"rm"),onStop:Ms,busy:Sn.disposeBacklog.isPending||Sn.stopBacklog.isPending,readOnly:f}),a.jsx(o0,{open:af,busy:mc,onClose:()=>Tr(!1),onCreate:ff}),a.jsx(Kv,{reply:vf,open:wf,busy:kf,onClose:()=>hc(!1),onSubmit:yf}),Y&&q?a.jsx(c0,{open:lf,sid:Y,name:q.session.display_name||"",alive:q.daemon.alive,controlAvailable:q.daemon.control_available!==!1,busy:va,onClose:()=>Ds(!1),onRename:Nf,onStart:_f,onPause:jf,onDelete:bf}):null,a.jsx(l0,{notice:of,onClose:df}),q&&!f?a.jsx(C0,{active:v==="preview"?"preview":W,onSelect:U=>{if(U==="preview"){g("preview");return}g("activity"),_(U)},onOpenSessions:()=>C(!0)}):null]})}const Z0=180;function ek({onDone:e}){const{t}=ee(),n=y.useRef(!1),r=y.useCallback(()=>{n.current||(n.current=!0,e())},[e]);return y.useEffect(()=>{const s=window.setTimeout(r,Z0+150),i=()=>r();return window.addEventListener("keydown",i,{once:!0}),()=>{window.clearTimeout(s),window.removeEventListener("keydown",i)}},[r]),a.jsxs("div",{role:"status","aria-label":t("splash.starting"),onClick:r,onAnimationEnd:s=>{s.currentTarget===s.target&&r()},className:"argus-web-splash",children:[a.jsx("div",{className:"argus-web-splash-logo argus-web-splash-logo-full","aria-hidden":"true",children:a.jsx(zi,{size:72})}),a.jsx("div",{className:"argus-web-splash-logo argus-web-splash-logo-compact","aria-hidden":"true",children:a.jsx(ca,{size:112})})]})}px();const tk=new Af({defaultOptions:{queries:{staleTime:3e3,retry:Ap,refetchOnWindowFocus:!1}}});function nk(){const[e,t]=y.useState(!0);return a.jsxs(a.Fragment,{children:[a.jsx(X0,{}),e?a.jsx(ek,{onDone:()=>t(!1)}):null]})}rl.createRoot(document.getElementById("root")).render(a.jsx(Mf.StrictMode,{children:a.jsx(If,{client:tk,children:a.jsx(rv,{children:a.jsx(nk,{})})})}));export{yp as _,lk as a,vn as b,Gn as c,kp as r,ee as u}; diff --git a/frontend/web/dist/assets/index-QZp9TzVB.css b/frontend/web/dist/assets/index-QZp9TzVB.css deleted file mode 100644 index 2bc07da7f..000000000 --- a/frontend/web/dist/assets/index-QZp9TzVB.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.card{border-radius:.5rem;border:1px solid rgb(var(--glass-edge) / 52%);background:rgb(var(--glass-raised) / 72%);box-shadow:inset 0 1px #ffffff5c}.chip{display:inline-flex;align-items:center;gap:.25rem;border-radius:.375rem;border-width:1px;border-color:rgb(var(--line) / .8);padding:.125rem .375rem;font-size:.75rem;line-height:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.inset-y-1{top:.25rem;bottom:.25rem}.inset-y-2{top:.5rem;bottom:.5rem}.-bottom-2\.5{bottom:-.625rem}.-left-0\.5{left:-.125rem}.-top-2\.5{top:-.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.left-\[10\%\]{left:10%}.left-\[5px\]{left:5px}.right-0\.5{right:.125rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-4{right:1rem}.right-\[10\%\]{right:10%}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-2{top:.5rem}.top-3{top:.75rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[70\]{z-index:70}.order-2{order:2}.order-3{order:3}.col-span-full{grid-column:1 / -1}.m-auto{margin:auto}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-\[7px\]{margin-top:7px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[100dvh\]{height:100dvh}.h-\[62vh\]{height:62vh}.h-\[68vh\]{height:68vh}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-36{max-height:9rem}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[52vh\]{max-height:52vh}.max-h-\[58vh\]{max-height:58vh}.max-h-\[62vh\]{max-height:62vh}.max-h-\[64vh\]{max-height:64vh}.max-h-\[70dvh\]{max-height:70dvh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[76vh\]{max-height:76vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-11{min-height:2.75rem}.min-h-14{min-height:3.5rem}.min-h-52{min-height:13rem}.min-h-64{min-height:16rem}.min-h-\[3\.25rem\]{min-height:3.25rem}.min-h-\[320px\]{min-height:320px}.min-h-\[38px\]{min-height:38px}.min-h-\[60vh\]{min-height:60vh}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[min\(92vw\,42rem\)\]{width:min(92vw,42rem)}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-3\.5{min-width:.875rem}.min-w-32{min-width:8rem}.min-w-52{min-width:13rem}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-24{max-width:6rem}.max-w-28{max-width:7rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-64{max-width:16rem}.max-w-6xl{max-width:72rem}.max-w-72{max-width:18rem}.max-w-\[calc\(100\%_-_3rem\)\]{max-width:calc(100% - 3rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-appear{animation:appear .2s cubic-bezier(.4,0,.2,1)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[16px_minmax\(0\,1fr\)\]{grid-template-columns:16px minmax(0,1fr)}.grid-cols-\[44px_10px_minmax\(0\,1fr\)\]{grid-template-columns:44px 10px minmax(0,1fr)}.grid-cols-\[72px_minmax\(0\,1fr\)\]{grid-template-columns:72px minmax(0,1fr)}.grid-cols-\[84px_minmax\(0\,1fr\)_auto\]{grid-template-columns:84px minmax(0,1fr) auto}.grid-cols-\[8px_minmax\(0\,1fr\)_auto\]{grid-template-columns:8px minmax(0,1fr) auto}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue{--tw-border-opacity: 1;border-color:rgb(var(--blue) / var(--tw-border-opacity, 1))}.border-blue-deep{--tw-border-opacity: 1;border-color:rgb(var(--blue-deep) / var(--tw-border-opacity, 1))}.border-blue-deep\/30{border-color:rgb(var(--blue-deep) / .3)}.border-blue-deep\/50{border-color:rgb(var(--blue-deep) / .5)}.border-blue-deep\/60{border-color:rgb(var(--blue-deep) / .6)}.border-blue\/25{border-color:rgb(var(--blue) / .25)}.border-blue\/30{border-color:rgb(var(--blue) / .3)}.border-blue\/35{border-color:rgb(var(--blue) / .35)}.border-blue\/50{border-color:rgb(var(--blue) / .5)}.border-blue\/70{border-color:rgb(var(--blue) / .7)}.border-err\/30{border-color:#dc7d784d}.border-err\/40{border-color:#dc7d7866}.border-err\/50{border-color:#dc7d7880}.border-err\/60{border-color:#dc7d7899}.border-gold\/25{border-color:#d1b27c40}.border-gold\/30{border-color:#d1b27c4d}.border-gold\/40{border-color:#d1b27c66}.border-line{--tw-border-opacity: 1;border-color:rgb(var(--line) / var(--tw-border-opacity, 1))}.border-line\/30{border-color:rgb(var(--line) / .3)}.border-line\/40{border-color:rgb(var(--line) / .4)}.border-line\/50{border-color:rgb(var(--line) / .5)}.border-line\/60{border-color:rgb(var(--line) / .6)}.border-line\/70{border-color:rgb(var(--line) / .7)}.border-line\/80{border-color:rgb(var(--line) / .8)}.border-manager\/70{border-color:rgb(var(--role-manager) / .7)}.border-ok\/20{border-color:#78b89233}.border-ok\/25{border-color:#78b89240}.border-ok\/35{border-color:#78b89259}.border-ok\/40{border-color:#78b89266}.border-ok\/60{border-color:#78b89299}.border-panel{--tw-border-opacity: 1;border-color:rgb(var(--panel) / var(--tw-border-opacity, 1))}.border-warn\/40{border-color:#d1ad6866}.border-warn\/50{border-color:#d1ad6880}.border-t-blue{--tw-border-opacity: 1;border-top-color:rgb(var(--blue) / var(--tw-border-opacity, 1))}.bg-\[rgb\(4_11_24_\/_0\.58\)\]{background-color:#040b1894}.bg-bg{--tw-bg-opacity: 1;background-color:rgb(var(--bg) / var(--tw-bg-opacity, 1))}.bg-bg\/25{background-color:rgb(var(--bg) / .25)}.bg-bg\/30{background-color:rgb(var(--bg) / .3)}.bg-bg\/35{background-color:rgb(var(--bg) / .35)}.bg-bg\/40{background-color:rgb(var(--bg) / .4)}.bg-bg\/50{background-color:rgb(var(--bg) / .5)}.bg-bg\/60{background-color:rgb(var(--bg) / .6)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:#0006}.bg-blue{--tw-bg-opacity: 1;background-color:rgb(var(--blue) / var(--tw-bg-opacity, 1))}.bg-blue-deep{--tw-bg-opacity: 1;background-color:rgb(var(--blue-deep) / var(--tw-bg-opacity, 1))}.bg-blue-deep\/10{background-color:rgb(var(--blue-deep) / .1)}.bg-blue-deep\/20{background-color:rgb(var(--blue-deep) / .2)}.bg-blue-deep\/5{background-color:rgb(var(--blue-deep) / .05)}.bg-blue-sky{--tw-bg-opacity: 1;background-color:rgb(var(--blue-sky) / var(--tw-bg-opacity, 1))}.bg-blue\/10{background-color:rgb(var(--blue) / .1)}.bg-blue\/5{background-color:rgb(var(--blue) / .05)}.bg-conversation-user{--tw-bg-opacity: 1;background-color:rgb(var(--conversation-user) / var(--tw-bg-opacity, 1))}.bg-engineer{--tw-bg-opacity: 1;background-color:rgb(var(--role-engineer) / var(--tw-bg-opacity, 1))}.bg-err{--tw-bg-opacity: 1;background-color:rgb(220 125 120 / var(--tw-bg-opacity, 1))}.bg-err\/10{background-color:#dc7d781a}.bg-err\/5{background-color:#dc7d780d}.bg-gold{--tw-bg-opacity: 1;background-color:rgb(209 178 124 / var(--tw-bg-opacity, 1))}.bg-gold\/5{background-color:#d1b27c0d}.bg-gold\/80{background-color:#d1b27ccc}.bg-ink-faint{--tw-bg-opacity: 1;background-color:rgb(var(--ink-faint) / var(--tw-bg-opacity, 1))}.bg-ink-faint\/35{background-color:rgb(var(--ink-faint) / .35)}.bg-ink-faint\/50{background-color:rgb(var(--ink-faint) / .5)}.bg-line{--tw-bg-opacity: 1;background-color:rgb(var(--line) / var(--tw-bg-opacity, 1))}.bg-line\/30{background-color:rgb(var(--line) / .3)}.bg-line\/40{background-color:rgb(var(--line) / .4)}.bg-line\/60{background-color:rgb(var(--line) / .6)}.bg-line\/80{background-color:rgb(var(--line) / .8)}.bg-manager\/10{background-color:rgb(var(--role-manager) / .1)}.bg-ok{--tw-bg-opacity: 1;background-color:rgb(120 184 146 / var(--tw-bg-opacity, 1))}.bg-ok\/10{background-color:#78b8921a}.bg-ok\/5{background-color:#78b8920d}.bg-panel{--tw-bg-opacity: 1;background-color:rgb(var(--panel) / var(--tw-bg-opacity, 1))}.bg-panel-raised{--tw-bg-opacity: 1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity, 1))}.bg-panel\/80{background-color:rgb(var(--panel) / .8)}.bg-panel\/85{background-color:rgb(var(--panel) / .85)}.bg-panel\/95{background-color:rgb(var(--panel) / .95)}.bg-surface{--tw-bg-opacity: 1;background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-warn\/10{background-color:#d1ad681a}.bg-warn\/5{background-color:#d1ad680d}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/\[0\.03\]{background-color:#ffffff08}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-0\.5{padding-left:.125rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-10{padding-right:2.5rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace}.font-sans{font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[1\.625\]{line-height:1.625}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-bg{--tw-text-opacity: 1;color:rgb(var(--bg) / var(--tw-text-opacity, 1))}.text-blue{--tw-text-opacity: 1;color:rgb(var(--blue) / var(--tw-text-opacity, 1))}.text-blue-sky{--tw-text-opacity: 1;color:rgb(var(--blue-sky) / var(--tw-text-opacity, 1))}.text-err{--tw-text-opacity: 1;color:rgb(220 125 120 / var(--tw-text-opacity, 1))}.text-gold{--tw-text-opacity: 1;color:rgb(209 178 124 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(var(--ink) / var(--tw-text-opacity, 1))}.text-ink-dim{--tw-text-opacity: 1;color:rgb(var(--ink-dim) / var(--tw-text-opacity, 1))}.text-ink-faint{--tw-text-opacity: 1;color:rgb(var(--ink-faint) / var(--tw-text-opacity, 1))}.text-manager{--tw-text-opacity: 1;color:rgb(var(--role-manager) / var(--tw-text-opacity, 1))}.text-ok{--tw-text-opacity: 1;color:rgb(120 184 146 / var(--tw-text-opacity, 1))}.text-warn{--tw-text-opacity: 1;color:rgb(209 173 104 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-blue\/35{text-decoration-color:rgb(var(--blue) / .35)}.underline-offset-2{text-underline-offset:2px}.accent-blue{accent-color:rgb(var(--blue) / 1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[0_10px_24px_-20px_rgb\(var\(--spectral-blue\)\/0\.8\)\]{--tw-shadow: 0 10px 24px -20px rgb(var(--spectral-blue)/.8);--tw-shadow-colored: 0 10px 24px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_36px_-22px_rgb\(var\(--spectral-violet\)\/0\.7\)\]{--tw-shadow: 0 12px 36px -22px rgb(var(--spectral-violet)/.7);--tw-shadow-colored: 0 12px 36px -22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-glow{--tw-shadow: 0 16px 44px rgba(0,0,0,.34);--tw-shadow-colored: 0 16px 44px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-bg{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--bg) / var(--tw-ring-opacity, 1))}.ring-err\/30{--tw-ring-color: rgb(220 125 120 / .3)}.ring-line\/35{--tw-ring-color: rgb(var(--line) / .35)}.ring-manager\/60{--tw-ring-color: rgb(var(--role-manager) / .6)}.ring-ok\/30{--tw-ring-color: rgb(120 184 146 / .3)}.ring-offset-0{--tw-ring-offset-width: 0px}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-panel{--tw-ring-offset-color: rgb(var(--panel) / 1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,transform\,visibility\]{transition-property:width,transform,visibility;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-\[250ms\]{transition-duration:.25s}.duration-panel{transition-duration:.22s}.ease-panel{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{color-scheme:light;--bg: 249 250 251;--surface: 255 255 255;--panel: 252 252 253;--panel-raised: 255 255 255;--line: 214 216 220;--ink: 17 24 39;--ink-dim: 107 114 128;--ink-faint: 156 163 175;--blue: 7 95 228;--blue-deep: 11 46 104;--blue-sky: 7 95 228;--role-manager: 37 99 235;--role-planner: 126 34 206;--role-engineer: 21 128 61;--role-reviewer: 161 98 7;--conversation-user: 243 244 246;--conversation-argus: 238 242 255;--spectral-blue: 7 95 228;--spectral-violet: 48 104 184;--spectral-rose: 191 135 41;--spectral-gold: 207 153 49;--glass: 255 255 255;--glass-raised: 255 255 255;--glass-edge: 179 192 214}:root[data-theme=dark]{color-scheme:dark;--bg: 13 14 18;--surface: 20 22 28;--panel: 20 22 28;--panel-raised: 26 28 35;--line: 71 82 100;--ink: 249 250 251;--ink-dim: 156 163 175;--ink-faint: 107 114 128;--blue: 110 168 255;--blue-deep: 47 94 168;--blue-sky: 155 192 255;--role-manager: 147 197 253;--role-planner: 216 180 254;--role-engineer: 134 239 172;--role-reviewer: 253 230 138;--conversation-user: 31 41 55;--conversation-argus: 30 27 75;--spectral-blue: 110 168 255;--spectral-violet: 118 176 242;--spectral-rose: 237 201 111;--spectral-gold: 237 201 111;--glass: 15 27 45;--glass-raised: 20 35 57;--glass-edge: 65 88 122;font-synthesis:none}html,body,#root{height:100%}body{margin:0;overflow:hidden;background:rgb(var(--bg) / 1);color:rgb(var(--ink) / 1);font-family:Geist Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif;font-optical-sizing:auto;font-feature-settings:"ss01" 1,"cv02" 1,"cv03" 1,"cv04" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .14s ease,color .14s ease}.workbench-shell{isolation:isolate;background:radial-gradient(circle at 8% 0%,rgb(var(--spectral-blue) / 18%),transparent 36rem),radial-gradient(circle at 52% 48%,rgb(var(--spectral-violet) / 12%),transparent 42rem),radial-gradient(circle at 92% 100%,rgb(var(--spectral-gold) / 16%),transparent 34rem),rgb(var(--bg))}:root[data-theme=dark] .workbench-shell{background:radial-gradient(circle at 8% 0%,rgb(var(--spectral-blue) / 22%),transparent 38rem),radial-gradient(circle at 52% 48%,rgb(var(--spectral-violet) / 16%),transparent 44rem),radial-gradient(circle at 92% 100%,rgb(var(--spectral-gold) / 20%),transparent 36rem),rgb(var(--bg))}.ambient-canvas{position:relative}.ambient-canvas:before{content:"";position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:-1;pointer-events:none;opacity:.55;background:radial-gradient(circle at 18% 24%,rgb(var(--spectral-blue) / 22%),transparent 26%),radial-gradient(circle at 82% 72%,rgb(var(--spectral-gold) / 18%),transparent 24%);filter:blur(32px);transform:translate3d(-2%,-1%,0) scale(1.03);animation:ambient-drift 60s ease-in-out infinite alternate;will-change:transform,opacity}@keyframes ambient-drift{to{opacity:.8;transform:translate3d(3%,2%,0) scale(1.08)}}[data-page-visible=false] .ambient-canvas:before{animation-play-state:paused}.glass-panel{border-color:rgb(var(--glass-edge) / 55%);background:linear-gradient(145deg,rgb(var(--glass) / 76%),rgb(var(--glass-raised) / 66%));box-shadow:inset 0 1px rgb(var(--spectral-blue) / 12%),inset -1px 0 rgb(var(--spectral-gold) / 6%);-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15)}.glass-panel--side,.glass-panel--main,.glass-panel--raised{border-color:transparent;background:linear-gradient(145deg,rgb(var(--glass) / 76%),rgb(var(--glass-raised) / 68%)) padding-box,linear-gradient(125deg,rgb(var(--spectral-blue) / 48%),rgb(var(--spectral-violet) / 24%) 48%,rgb(var(--spectral-gold) / 42%)) border-box;box-shadow:inset 0 1px #ffffff75,0 24px 70px -48px rgb(var(--spectral-blue) / 42%);-webkit-backdrop-filter:blur(22px) saturate(1.28);backdrop-filter:blur(22px) saturate(1.28)}.glass-panel--side{background:linear-gradient(145deg,rgb(var(--glass) / 72%),rgb(var(--glass-raised) / 64%)) padding-box,linear-gradient(125deg,rgb(var(--spectral-blue) / 45%),rgb(var(--spectral-violet) / 20%) 48%,rgb(var(--spectral-gold) / 38%)) border-box}.glass-panel--main{background:linear-gradient(145deg,rgb(var(--glass) / 92%),rgb(var(--glass-raised) / 88%)) padding-box,linear-gradient(125deg,rgb(var(--spectral-blue) / 38%),rgb(var(--spectral-violet) / 18%) 48%,rgb(var(--spectral-gold) / 34%)) border-box}.glass-panel--raised{background:linear-gradient(145deg,rgb(var(--glass-raised) / 97%),rgb(var(--glass) / 92%)) padding-box,linear-gradient(125deg,rgb(var(--spectral-blue) / 62%),rgb(var(--spectral-violet) / 34%) 48%,rgb(var(--spectral-gold) / 58%)) border-box;box-shadow:inset 0 1px #ffffff94,0 30px 90px -42px rgb(var(--spectral-violet) / 55%),0 14px 42px -34px rgb(var(--spectral-gold) / 45%)}.glass-card{border:1px solid rgb(var(--glass-edge) / 52%);background:rgb(var(--glass-raised) / 72%);box-shadow:inset 0 1px #ffffff5c}.brand-button{position:relative;z-index:0;isolation:isolate;min-height:32px;overflow:hidden;border:2px solid transparent;border-radius:9px;padding:.3rem .7rem;font-size:.75rem;font-weight:600;transition:color .18s ease,box-shadow .18s ease,filter .18s ease}.brand-button:before,.brand-button:after{content:"";position:absolute;pointer-events:none}.brand-button:before{top:-80%;right:-80%;bottom:-80%;left:-80%;z-index:-2;background:radial-gradient(circle at 18% 24%,rgb(var(--spectral-blue)) 0 8%,transparent 20%),radial-gradient(circle at 78% 20%,rgb(var(--spectral-violet)) 0 9%,transparent 22%),radial-gradient(circle at 82% 78%,rgb(var(--spectral-rose)) 0 8%,transparent 21%),radial-gradient(circle at 24% 78%,rgb(var(--spectral-gold)) 0 9%,transparent 22%),rgb(var(--spectral-violet));filter:blur(4px) saturate(1.35)}.brand-button:after{top:1px;right:1px;bottom:1px;left:1px;z-index:-1;border-radius:6px;background:rgb(var(--glass-raised) / 94%);box-shadow:inset 0 1px #ffffff85}.brand-button-primary{color:#17131f;box-shadow:0 8px 24px -16px rgb(var(--spectral-violet) / 72%),0 0 14px -9px rgb(var(--spectral-gold) / 75%)}.brand-button-primary:after{background:#fffffff0}.brand-button-ghost{color:rgb(var(--ink-dim))}.brand-button-ghost:before{opacity:.48}.brand-button-danger{color:#dc7d78}.brand-button-danger:before{background:rgb(var(--spectral-rose) / 68%);opacity:.7}.brand-button-danger:after{background:rgb(var(--glass-raised) / 96%)}.brand-button:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.42}.panel-header{border-color:rgb(var(--glass-edge) / 48%);background:linear-gradient(90deg,rgb(var(--glass) / 44%),transparent)}.brand-modal{box-shadow:inset 0 1px #ffffff6b,0 30px 90px -34px #020a22c7,0 0 0 1px rgb(var(--spectral-violet) / 10%)}.handshake-mark{color:rgb(var(--spectral-blue));box-shadow:0 20px 58px -30px rgb(var(--spectral-violet) / 75%),0 0 32px -18px rgb(var(--spectral-gold) / 72%)}.handshake-line{background:linear-gradient(90deg,rgb(var(--spectral-blue)),rgb(var(--spectral-violet)),rgb(var(--spectral-gold)))}.handshake-node{border-color:rgb(var(--spectral-violet) / 58%);background:rgb(var(--glass-raised) / 94%);box-shadow:0 0 14px -6px rgb(var(--spectral-blue) / 68%)}.icon-control,.compact-control,.send-control{border:1px solid rgb(var(--glass-edge) / 58%);border-radius:8px;background:rgb(var(--glass-raised) / 56%);color:rgb(var(--ink-faint));box-shadow:inset 0 1px #ffffff3d;transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.compact-control{font-size:.75rem}.send-control{border-color:rgb(var(--spectral-violet) / 58%);background:radial-gradient(circle at 25% 20%,rgb(var(--spectral-blue) / 20%),transparent 48%),rgb(var(--glass-raised) / 82%);color:rgb(var(--spectral-blue));box-shadow:inset 0 1px #ffffff52,0 8px 22px -14px rgb(var(--spectral-violet) / 68%)}.session-card{border:1px solid transparent;background:rgb(var(--glass-raised) / 24%)}.session-card[data-active=true]{border-color:rgb(var(--spectral-blue) / 42%);background:linear-gradient(100deg,rgb(var(--spectral-blue) / 12%),rgb(var(--spectral-gold) / 8%)),rgb(var(--glass-raised) / 70%);box-shadow:inset 2px 0 rgb(var(--spectral-blue)),inset -1px 0 rgb(var(--spectral-gold) / 55%),0 10px 26px -20px rgb(var(--spectral-blue) / 72%)}.workspace-tabs{position:relative;display:grid;width:222px;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border:1px solid rgb(var(--glass-edge) / 58%);border-radius:9px;background:rgb(var(--glass-raised) / 48%);box-shadow:inset 0 1px #ffffff47}.workspace-tab{position:relative;z-index:1;height:26px;border-radius:6px;color:rgb(var(--ink-faint));font-size:.75rem;transition:color .2s ease}.workspace-tab[data-selected=true]{color:rgb(var(--ink))}.workspace-tab-indicator{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);border:1px solid transparent;border-radius:6px;background:linear-gradient(rgb(var(--glass-raised) / 94%),rgb(var(--glass-raised) / 88%)) padding-box,linear-gradient(90deg,rgb(var(--spectral-blue) / 80%),rgb(var(--spectral-gold) / 72%)) border-box;box-shadow:0 6px 16px -12px rgb(var(--spectral-blue) / 80%),inset 0 1px #ffffff7a;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.workspace-tabs[data-active=activity] .workspace-tab-indicator{transform:translate(100%)}.workspace-tabs[data-active=workbench] .workspace-tab-indicator{transform:translate(200%)}.workbench-module-tab{display:inline-flex;min-height:30px;align-items:center;gap:.35rem;border:1px solid transparent;border-radius:.5rem;padding:.35rem .6rem;color:rgb(var(--ink-faint));font-size:.72rem;transition:border-color .16s ease,background .16s ease,color .16s ease}.workbench-module-tab:hover{border-color:rgb(var(--glass-edge) / 55%);background:rgb(var(--glass-raised) / 45%);color:rgb(var(--ink))}.workbench-module-tab[data-selected=true]{border-color:rgb(var(--spectral-blue) / 42%);background:linear-gradient(100deg,rgb(var(--spectral-blue) / 12%),rgb(var(--spectral-gold) / 8%)),rgb(var(--glass-raised) / 72%);color:rgb(var(--ink));box-shadow:inset 0 1px #ffffff57}.role-log-group{position:relative;transition:background-color .2s ease,box-shadow .2s ease}.role-log-group:before{content:"";position:absolute;inset:5px auto 5px 0;width:2px;border-radius:999px;opacity:0;background:linear-gradient(180deg,rgb(var(--spectral-blue)),rgb(var(--spectral-gold)));transition:opacity .2s ease,box-shadow .2s ease}.role-log-group[data-open=true]{background:linear-gradient(90deg,rgb(var(--spectral-blue) / 5%),transparent 38%)}.role-log-group[data-open=true]:before{opacity:1}.role-log-group[data-active=true]:before{box-shadow:0 0 14px rgb(var(--spectral-blue) / 52%)}@media (hover: hover) and (pointer: fine){.icon-control:hover,.compact-control:hover,.send-control:hover{border-color:rgb(var(--spectral-violet) / 58%);background-color:rgb(var(--glass-raised) / 88%);color:rgb(var(--ink));box-shadow:inset 0 1px #ffffff57,0 8px 22px -16px rgb(var(--spectral-blue) / 58%)}.session-card:hover{border-color:rgb(var(--spectral-blue) / 24%)}.brand-button:hover{color:rgb(var(--ink));box-shadow:0 12px 30px -16px rgb(var(--spectral-violet) / 78%),0 0 18px -9px rgb(var(--spectral-gold) / 78%)}.brand-button-primary:hover{color:#17131f}}@media (hover: none),(pointer: coarse){.brand-button:active{filter:brightness(.92)}}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--mobile-tabbar-height: calc(3.25rem + var(--safe-bottom));--keyboard-inset: 0px}.safe-inset-x{padding-left:var(--safe-left);padding-right:var(--safe-right)}.safe-inset-top{padding-top:var(--safe-top)}.safe-inset-bottom{padding-bottom:var(--safe-bottom)}@media (pointer: coarse){.icon-control,.compact-control,.workspace-tab{position:relative}.icon-control:after,.compact-control:after,.workspace-tab:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}@media (max-width: 1023px){.mobile-scroll-region{padding-bottom:calc(var(--mobile-tabbar-height) + .5rem)}}.mobile-tabbar{bottom:var(--keyboard-inset);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);transition:bottom .12s ease-out}.composer-dock{padding-bottom:calc(var(--keyboard-inset) + 1.5rem);transition:padding-bottom .12s ease-out}@media (max-width: 1023px){.composer-dock{padding-bottom:calc(var(--mobile-tabbar-height) + var(--keyboard-inset) + 1.5rem)}}@media (prefers-reduced-motion: reduce){.composer-dock,.mobile-tabbar{transition:none}}@keyframes argus-web-splash-exit{0%,25%{opacity:1}to{opacity:0}}@keyframes argus-web-splash-color{0%{background-position:0% 50%}to{background-position:180% 50%}}.argus-web-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;cursor:pointer;align-items:center;justify-content:center;overflow:hidden;background:rgb(var(--bg));animation:argus-web-splash-exit .18s ease-out forwards;will-change:opacity}.argus-web-splash-logo{max-width:100%;overflow:hidden;padding:1rem;color:transparent;background:linear-gradient(90deg,rgb(var(--spectral-blue)),rgb(var(--blue-sky)),rgb(var(--spectral-gold)),rgb(var(--spectral-blue)));background-size:180% 100%;-webkit-background-clip:text;background-clip:text;font-family:Geist Mono Variable,SFMono-Regular,Menlo,ui-monospace,monospace;font-size:clamp(6px,1.05vw,13px);font-weight:600;line-height:1.08;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:argus-web-splash-color .18s linear;will-change:background-position}.argus-web-splash-logo-full{display:none}.argus-web-splash-logo-compact{display:block}@media (min-width: 780px){.argus-web-splash-logo-full{display:block}.argus-web-splash-logo-compact{display:none}}::-moz-selection{background:#3f6f9f8c;color:rgb(var(--ink) / 1)}::selection{background:#3f6f9f8c;color:rgb(var(--ink) / 1)}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}:where(button,input,textarea):focus-visible{outline:2px solid rgb(var(--blue-sky) / 1);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scroll-smooth{scroll-behavior:auto!important}.ambient-canvas:before{animation:none!important}}.scroll-thin::-webkit-scrollbar{width:7px;height:7px}.scroll-thin{scrollbar-width:thin;scrollbar-color:rgb(var(--ink-faint) / 45%) transparent}.scroll-thin::-webkit-scrollbar-thumb{background:rgb(var(--ink-faint) / 38%);border:1px solid rgb(var(--panel) / 80%);border-radius:9999px}.scroll-thin::-webkit-scrollbar-thumb:hover{background:rgb(var(--ink-faint) / 65%)}.scroll-thin::-webkit-scrollbar-track{background:transparent;border-radius:9999px}.slash-completion-menu{max-height:min(22rem,42dvh);overflow-y:auto;overscroll-behavior:contain}.placeholder\:text-ink-faint::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--ink-faint) / var(--tw-text-opacity, 1))}.placeholder\:text-ink-faint::placeholder{--tw-text-opacity: 1;color:rgb(var(--ink-faint) / var(--tw-text-opacity, 1))}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:border-blue\/60:focus-within{border-color:rgb(var(--blue) / .6)}.hover\:border-blue:hover{--tw-border-opacity: 1;border-color:rgb(var(--blue) / var(--tw-border-opacity, 1))}.hover\:border-blue-sky\/50:hover{border-color:rgb(var(--blue-sky) / .5)}.hover\:border-blue-sky\/60:hover{border-color:rgb(var(--blue-sky) / .6)}.hover\:border-blue\/45:hover{border-color:rgb(var(--blue) / .45)}.hover\:border-blue\/50:hover{border-color:rgb(var(--blue) / .5)}.hover\:border-blue\/60:hover{border-color:rgb(var(--blue) / .6)}.hover\:border-err\/50:hover{border-color:#dc7d7880}.hover\:border-ink-faint:hover{--tw-border-opacity: 1;border-color:rgb(var(--ink-faint) / var(--tw-border-opacity, 1))}.hover\:border-manager:hover{--tw-border-opacity: 1;border-color:rgb(var(--role-manager) / var(--tw-border-opacity, 1))}.hover\:border-warn\/60:hover{border-color:#d1ad6899}.hover\:bg-bg:hover{--tw-bg-opacity: 1;background-color:rgb(var(--bg) / var(--tw-bg-opacity, 1))}.hover\:bg-bg\/60:hover{background-color:rgb(var(--bg) / .6)}.hover\:bg-bg\/70:hover{background-color:rgb(var(--bg) / .7)}.hover\:bg-blue-deep\/20:hover{background-color:rgb(var(--blue-deep) / .2)}.hover\:bg-blue-deep\/80:hover{background-color:rgb(var(--blue-deep) / .8)}.hover\:bg-blue-deep\/85:hover{background-color:rgb(var(--blue-deep) / .85)}.hover\:bg-blue\/10:hover{background-color:rgb(var(--blue) / .1)}.hover\:bg-blue\/20:hover{background-color:rgb(var(--blue) / .2)}.hover\:bg-err\/10:hover{background-color:#dc7d781a}.hover\:bg-line\/20:hover{background-color:rgb(var(--line) / .2)}.hover\:bg-manager\/20:hover{background-color:rgb(var(--role-manager) / .2)}.hover\:bg-panel:hover{--tw-bg-opacity: 1;background-color:rgb(var(--panel) / var(--tw-bg-opacity, 1))}.hover\:bg-panel-raised:hover{--tw-bg-opacity: 1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity, 1))}.hover\:bg-panel\/60:hover{background-color:rgb(var(--panel) / .6)}.hover\:bg-surface:hover{--tw-bg-opacity: 1;background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1))}.hover\:bg-warn\/10:hover{background-color:#d1ad681a}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-blue:hover{--tw-text-opacity: 1;color:rgb(var(--blue) / var(--tw-text-opacity, 1))}.hover\:text-err:hover{--tw-text-opacity: 1;color:rgb(220 125 120 / var(--tw-text-opacity, 1))}.hover\:text-gold-soft:hover{--tw-text-opacity: 1;color:rgb(224 204 164 / var(--tw-text-opacity, 1))}.hover\:text-ink:hover{--tw-text-opacity: 1;color:rgb(var(--ink) / var(--tw-text-opacity, 1))}.hover\:text-ink-dim:hover{--tw-text-opacity: 1;color:rgb(var(--ink-dim) / var(--tw-text-opacity, 1))}.hover\:decoration-blue:hover{text-decoration-color:rgb(var(--blue) / 1)}.hover\:opacity-100:hover{opacity:1}.focus\:border-blue:focus{--tw-border-opacity: 1;border-color:rgb(var(--blue) / var(--tw-border-opacity, 1))}.focus\:border-blue-deep:focus{--tw-border-opacity: 1;border-color:rgb(var(--blue-deep) / var(--tw-border-opacity, 1))}.focus\:border-blue\/60:focus{border-color:rgb(var(--blue) / .6)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-blue-sky\/50:focus-visible{--tw-ring-color: rgb(var(--blue-sky) / .5)}.focus-visible\:ring-blue\/50:focus-visible{--tw-ring-color: rgb(var(--blue) / .5)}.active\:bg-panel-raised:active{--tw-bg-opacity: 1;background-color:rgb(var(--panel-raised) / var(--tw-bg-opacity, 1))}.enabled\:hover\:text-blue-sky:hover:enabled{--tw-text-opacity: 1;color:rgb(var(--blue-sky) / var(--tw-text-opacity, 1))}.enabled\:focus-visible\:underline:focus-visible:enabled{text-decoration-line:underline}.enabled\:focus-visible\:outline-none:focus-visible:enabled{outline:2px solid transparent;outline-offset:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:text-ink-faint:disabled{--tw-text-opacity: 1;color:rgb(var(--ink-faint) / var(--tw-text-opacity, 1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:bg-blue\/70{background-color:rgb(var(--blue) / .7)}.group:hover .group-hover\:bg-ink-faint\/30{background-color:rgb(var(--ink-faint) / .3)}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:bg-blue\/70{background-color:rgb(var(--blue) / .7)}@media (prefers-reduced-motion: reduce){.motion-reduce\:animate-none{animation:none}}@media (min-width: 640px){.sm\:left-auto{left:auto}.sm\:order-none{order:0}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:h-20{height:5rem}.sm\:max-h-\[88dvh\]{max-height:88dvh}.sm\:w-20{width:5rem}.sm\:w-auto{width:auto}.sm\:max-w-48{max-width:12rem}.sm\:max-w-\[82\%\]{max-width:82%}.sm\:max-w-md{max-width:28rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[100px_minmax\(0\,1fr\)\]{grid-template-columns:100px minmax(0,1fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:gap-3{gap:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-16{padding-top:4rem}.sm\:text-right{text-align:right}.sm\:opacity-0{opacity:0}.group:focus-within .sm\:group-focus-within\:opacity-100{opacity:1}.group:hover .sm\:group-hover\:opacity-100{opacity:1}}@media (min-width: 1024px){.lg\:visible{visibility:visible}.lg\:static{position:static}.lg\:z-auto{z-index:auto}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:w-14{width:3.5rem}.lg\:w-\[var\(--preview-width\)\]{width:var(--preview-width)}.lg\:w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.lg\:max-w-\[61\.8vw\]{max-width:61.8vw}.lg\:flex-none{flex:none}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(260px\,0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(300px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.lg\:gap-3{gap:.75rem}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:overflow-hidden{overflow:hidden}.lg\:border-b-0{border-bottom-width:0px}.lg\:border-r{border-right-width:1px}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} diff --git a/frontend/web/dist/assets/markdown-B5ILJD_j.js b/frontend/web/dist/assets/markdown-B5ILJD_j.js deleted file mode 100644 index fde728117..000000000 --- a/frontend/web/dist/assets/markdown-B5ILJD_j.js +++ /dev/null @@ -1,29 +0,0 @@ -import{c as nn,g as or,j as pn}from"./query-BpxuCIcN.js";function Si(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const Ci=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ei=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ii={};function ft(e,t){return(Ii.jsx?Ei:Ci).test(e)}const Ai=/[ \t\n\f\r]/g;function Ti(e){return typeof e=="object"?e.type==="text"?ht(e.value):!1:ht(e)}function ht(e){return e.replace(Ai,"")===""}class qe{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}qe.prototype.normal={};qe.prototype.property={};qe.prototype.space=void 0;function ar(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new qe(n,r,t)}function vn(e){return e.toLowerCase()}class ee{constructor(t,n){this.attribute=n,this.property=t}}ee.prototype.attribute="";ee.prototype.booleanish=!1;ee.prototype.boolean=!1;ee.prototype.commaOrSpaceSeparated=!1;ee.prototype.commaSeparated=!1;ee.prototype.defined=!1;ee.prototype.mustUseProperty=!1;ee.prototype.number=!1;ee.prototype.overloadedBoolean=!1;ee.prototype.property="";ee.prototype.spaceSeparated=!1;ee.prototype.space=void 0;let Pi=0;const z=Te(),W=Te(),zn=Te(),S=Te(),U=Te(),Ie=Te(),te=Te();function Te(){return 2**++Pi}const Dn=Object.freeze(Object.defineProperty({__proto__:null,boolean:z,booleanish:W,commaOrSpaceSeparated:te,commaSeparated:Ie,number:S,overloadedBoolean:zn,spaceSeparated:U},Symbol.toStringTag,{value:"Module"})),mn=Object.keys(Dn);class Hn extends ee{constructor(t,n,r,i){let o=-1;if(super(t,n),pt(this,"space",i),typeof r=="number")for(;++o4&&n.slice(0,4)==="data"&&Fi.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(mt,Oi);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!mt.test(o)){let l=o.replace(Li,_i);l.charAt(0)!=="-"&&(l="-"+l),t="data"+l}}i=Hn}return new i(r,t)}function _i(e){return"-"+e.toLowerCase()}function Oi(e){return e.charAt(1).toUpperCase()}const Mi=ar([ur,vi,fr,hr,pr],"html"),Un=ar([ur,zi,fr,hr,pr],"svg");function Ni(e){return e.join(" ").trim()}var Vn={},gt=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Bi=/\n/g,ji=/^\s*/,Hi=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Ui=/^:\s*/,Vi=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,$i=/^[;\s]*/,qi=/^\s+|\s+$/g,Wi=` -`,dt="/",yt="*",Ee="",Yi="comment",Xi="declaration";function Qi(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function i(d){var x=d.match(Bi);x&&(n+=x.length);var C=d.lastIndexOf(Wi);r=~C?d.length-C:r+d.length}function o(){var d={line:n,column:r};return function(x){return x.position=new l(d),s(),x}}function l(d){this.start=d,this.end={line:n,column:r},this.source=t.source}l.prototype.content=e;function a(d){var x=new Error(t.source+":"+n+":"+r+": "+d);if(x.reason=d,x.filename=t.source,x.line=n,x.column=r,x.source=e,!t.silent)throw x}function u(d){var x=d.exec(e);if(x){var C=x[0];return i(C),e=e.slice(C.length),x}}function s(){u(ji)}function f(d){var x;for(d=d||[];x=c();)x!==!1&&d.push(x);return d}function c(){var d=o();if(!(dt!=e.charAt(0)||yt!=e.charAt(1))){for(var x=2;Ee!=e.charAt(x)&&(yt!=e.charAt(x)||dt!=e.charAt(x+1));)++x;if(x+=2,Ee===e.charAt(x-1))return a("End of comment missing");var C=e.slice(2,x-2);return r+=2,i(C),e=e.slice(x),r+=2,d({type:Yi,comment:C})}}function p(){var d=o(),x=u(Hi);if(x){if(c(),!u(Ui))return a("property missing ':'");var C=u(Vi),y=d({type:Xi,property:kt(x[0].replace(gt,Ee)),value:C?kt(C[0].replace(gt,Ee)):Ee});return u($i),y}}function h(){var d=[];f(d);for(var x;x=p();)x!==!1&&(d.push(x),f(d));return d}return s(),h()}function kt(e){return e?e.replace(qi,Ee):Ee}var Gi=Qi,Ki=nn&&nn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Vn,"__esModule",{value:!0});Vn.default=Zi;const Ji=Ki(Gi);function Zi(e,t){let n=null;if(!e||typeof e!="string")return n;const r=(0,Ji.default)(e),i=typeof t=="function";return r.forEach(o=>{if(o.type!=="declaration")return;const{property:l,value:a}=o;i?t(l,a,o):a&&(n=n||{},n[l]=a)}),n}var an={};Object.defineProperty(an,"__esModule",{value:!0});an.camelCase=void 0;var el=/^--[a-zA-Z0-9_-]+$/,nl=/-([a-z])/g,tl=/^[^-]+$/,rl=/^-(webkit|moz|ms|o|khtml)-/,il=/^-(ms)-/,ll=function(e){return!e||tl.test(e)||el.test(e)},ol=function(e,t){return t.toUpperCase()},xt=function(e,t){return"".concat(t,"-")},al=function(e,t){return t===void 0&&(t={}),ll(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(il,xt):e=e.replace(rl,xt),e.replace(nl,ol))};an.camelCase=al;var ul=nn&&nn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},sl=ul(Vn),cl=an;function Ln(e,t){var n={};return!e||typeof e!="string"||(0,sl.default)(e,function(r,i){r&&i&&(n[(0,cl.camelCase)(r,t)]=i)}),n}Ln.default=Ln;var fl=Ln;const hl=or(fl),mr=gr("end"),$n=gr("start");function gr(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function pl(e){const t=$n(e),n=mr(e);if(t&&n)return{start:t,end:n}}function je(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?bt(e.position):"start"in e||"end"in e?bt(e):"line"in e||"column"in e?Fn(e):""}function Fn(e){return wt(e&&e.line)+":"+wt(e&&e.column)}function bt(e){return Fn(e&&e.start)+"-"+Fn(e&&e.end)}function wt(e){return e&&typeof e=="number"?e:1}class K extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},l=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?i=t:!o.cause&&t&&(l=!0,i=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof r=="string"){const u=r.indexOf(":");u===-1?o.ruleId=r:(o.source=r.slice(0,u),o.ruleId=r.slice(u+1))}if(!o.place&&o.ancestors&&o.ancestors){const u=o.ancestors[o.ancestors.length-1];u&&(o.place=u.position)}const a=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=a?a.line:void 0,this.name=je(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=l&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}K.prototype.file="";K.prototype.name="";K.prototype.reason="";K.prototype.message="";K.prototype.stack="";K.prototype.column=void 0;K.prototype.line=void 0;K.prototype.ancestors=void 0;K.prototype.cause=void 0;K.prototype.fatal=void 0;K.prototype.place=void 0;K.prototype.ruleId=void 0;K.prototype.source=void 0;const qn={}.hasOwnProperty,ml=new Map,gl=/[A-Z]/g,dl=new Set(["table","tbody","thead","tfoot","tr"]),yl=new Set(["td","th"]),dr="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function kl(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=Al(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=Il(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Un:Mi,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=yr(i,e,void 0);return o&&typeof o!="string"?o:i.create(e,i.Fragment,{children:o||void 0},void 0)}function yr(e,t,n){if(t.type==="element")return xl(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return bl(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return Sl(e,t,n);if(t.type==="mdxjsEsm")return wl(e,t);if(t.type==="root")return Cl(e,t,n);if(t.type==="text")return El(e,t)}function xl(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(t);const o=xr(e,t.tagName,!1),l=Tl(e,t);let a=Yn(e,t);return dl.has(t.tagName)&&(a=a.filter(function(u){return typeof u=="string"?!Ti(u):!0})),kr(e,l,o,t),Wn(l,a),e.ancestors.pop(),e.schema=r,e.create(t,o,l,n)}function bl(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}Ve(e,t.position)}function wl(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Ve(e,t.position)}function Sl(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(t);const o=t.name===null?e.Fragment:xr(e,t.name,!0),l=Pl(e,t),a=Yn(e,t);return kr(e,l,o,t),Wn(l,a),e.ancestors.pop(),e.schema=r,e.create(t,o,l,n)}function Cl(e,t,n){const r={};return Wn(r,Yn(e,t)),e.create(t,e.Fragment,r,n)}function El(e,t){return t.value}function kr(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Wn(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Il(e,t,n){return r;function r(i,o,l,a){const s=Array.isArray(l.children)?n:t;return a?s(o,l,a):s(o,l)}}function Al(e,t){return n;function n(r,i,o,l){const a=Array.isArray(o.children),u=$n(r);return t(i,o,l,a,{columnNumber:u?u.column-1:void 0,fileName:e,lineNumber:u?u.line:void 0},void 0)}}function Tl(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&qn.call(t.properties,i)){const o=vl(e,i,t.properties[i]);if(o){const[l,a]=o;e.tableCellAlignToStyle&&l==="align"&&typeof a=="string"&&yl.has(t.tagName)?r=a:n[l]=a}}if(r){const o=n.style||(n.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function Pl(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const o=r.data.estree.body[0];o.type;const l=o.expression;l.type;const a=l.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else Ve(e,t.position);else{const i=r.name;let o;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const a=r.value.data.estree.body[0];a.type,o=e.evaluater.evaluateExpression(a.expression)}else Ve(e,t.position);else o=r.value===null?!0:r.value;n[i]=o}return n}function Yn(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:ml;for(;++ri?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)l=Array.from(r),l.unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);o0?(re(e,e.length,0,t),e):t}const Et={}.hasOwnProperty;function wr(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function se(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const J=xe(/[A-Za-z]/),G=xe(/[\dA-Za-z]/),Nl=xe(/[#-'*+\--9=?A-Z^-~]/);function tn(e){return e!==null&&(e<32||e===127)}const Rn=xe(/\d/),Bl=xe(/[\dA-Fa-f]/),jl=xe(/[!-/:-@[-`{-~]/);function v(e){return e!==null&&e<-2}function V(e){return e!==null&&(e<0||e===32)}function R(e){return e===-2||e===-1||e===32}const un=xe(new RegExp("\\p{P}|\\p{S}","u")),Ae=xe(/\s/);function xe(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Re(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&o<57344){const a=e.charCodeAt(n+1);o<56320&&a>56319&&a<57344?(l=String.fromCharCode(o,a),i=1):l="�"}else l=String.fromCharCode(o);l&&(t.push(e.slice(r,n),encodeURIComponent(l)),r=n+i+1,l=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function O(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return l;function l(u){return R(u)?(e.enter(n),a(u)):t(u)}function a(u){return R(u)&&o++l))return;const M=t.events.length;let $=M,B,k;for(;$--;)if(t.events[$][0]==="exit"&&t.events[$][1].type==="chunkFlow"){if(B){k=t.events[$][1].end;break}B=!0}for(y(r),w=M;wE;){const F=n[L];t.containerState=F[1],F[0].exit.call(t,e)}n.length=E}function A(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function ql(e,t,n){return O(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Le(e){if(e===null||V(e)||Ae(e))return 1;if(un(e))return 2}function sn(e,t,n){const r=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const c={...e[r][1].end},p={...e[n][1].start};At(c,-u),At(p,u),l={type:u>1?"strongSequence":"emphasisSequence",start:c,end:{...e[r][1].end}},a={type:u>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:p},o={type:u>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:u>1?"strong":"emphasis",start:{...l.start},end:{...a.end}},e[r][1].end={...l.start},e[n][1].start={...a.end},s=[],e[r][1].end.offset-e[r][1].start.offset&&(s=ie(s,[["enter",e[r][1],t],["exit",e[r][1],t]])),s=ie(s,[["enter",i,t],["enter",l,t],["exit",l,t],["enter",o,t]]),s=ie(s,sn(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),s=ie(s,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(f=2,s=ie(s,[["enter",e[n][1],t],["exit",e[n][1],t]])):f=0,re(e,r-1,n-r+3,s),n=r+s.length-f-2;break}}for(n=-1;++n0&&R(w)?O(e,A,"linePrefix",o+1)(w):A(w)}function A(w){return w===null||v(w)?e.check(Tt,x,L)(w):(e.enter("codeFlowValue"),E(w))}function E(w){return w===null||v(w)?(e.exit("codeFlowValue"),A(w)):(e.consume(w),E)}function L(w){return e.exit("codeFenced"),t(w)}function F(w,M,$){let B=0;return k;function k(N){return w.enter("lineEnding"),w.consume(N),w.exit("lineEnding"),T}function T(N){return w.enter("codeFencedFence"),R(N)?O(w,P,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(N):P(N)}function P(N){return N===a?(w.enter("codeFencedFenceSequence"),j(N)):$(N)}function j(N){return N===a?(B++,w.consume(N),j):B>=l?(w.exit("codeFencedFenceSequence"),R(N)?O(w,q,"whitespace")(N):q(N)):$(N)}function q(N){return N===null||v(N)?(w.exit("codeFencedFence"),M(N)):$(N)}}}function ro(e,t,n){const r=this;return i;function i(l){return l===null?n(l):(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o)}function o(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}const dn={name:"codeIndented",tokenize:lo},io={partial:!0,tokenize:oo};function lo(e,t,n){const r=this;return i;function i(s){return e.enter("codeIndented"),O(e,o,"linePrefix",5)(s)}function o(s){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?l(s):n(s)}function l(s){return s===null?u(s):v(s)?e.attempt(io,l,u)(s):(e.enter("codeFlowValue"),a(s))}function a(s){return s===null||v(s)?(e.exit("codeFlowValue"),l(s)):(e.consume(s),a)}function u(s){return e.exit("codeIndented"),t(s)}}function oo(e,t,n){const r=this;return i;function i(l){return r.parser.lazy[r.now().line]?n(l):v(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),i):O(e,o,"linePrefix",5)(l)}function o(l){const a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(l):v(l)?i(l):n(l)}}const ao={name:"codeText",previous:so,resolve:uo,tokenize:co};function uo(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Ne(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Ne(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Ne(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(l):e.interrupt(r.parser.constructs.flow,n,t)(l)}}function Tr(e,t,n,r,i,o,l,a,u){const s=u||Number.POSITIVE_INFINITY;let f=0;return c;function c(y){return y===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(y),e.exit(o),p):y===null||y===32||y===41||tn(y)?n(y):(e.enter(r),e.enter(l),e.enter(a),e.enter("chunkString",{contentType:"string"}),x(y))}function p(y){return y===62?(e.enter(o),e.consume(y),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),h(y))}function h(y){return y===62?(e.exit("chunkString"),e.exit(a),p(y)):y===null||y===60||v(y)?n(y):(e.consume(y),y===92?d:h)}function d(y){return y===60||y===62||y===92?(e.consume(y),h):h(y)}function x(y){return!f&&(y===null||y===41||V(y))?(e.exit("chunkString"),e.exit(a),e.exit(l),e.exit(r),t(y)):f999||h===null||h===91||h===93&&!u||h===94&&!a&&"_hiddenFootnoteSupport"in l.parser.constructs?n(h):h===93?(e.exit(o),e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):v(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),c(h))}function c(h){return h===null||h===91||h===93||v(h)||a++>999?(e.exit("chunkString"),f(h)):(e.consume(h),u||(u=!R(h)),h===92?p:c)}function p(h){return h===91||h===92||h===93?(e.consume(h),a++,c):c(h)}}function vr(e,t,n,r,i,o){let l;return a;function a(p){return p===34||p===39||p===40?(e.enter(r),e.enter(i),e.consume(p),e.exit(i),l=p===40?41:p,u):n(p)}function u(p){return p===l?(e.enter(i),e.consume(p),e.exit(i),e.exit(r),t):(e.enter(o),s(p))}function s(p){return p===l?(e.exit(o),u(l)):p===null?n(p):v(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),O(e,s,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===l||p===null||v(p)?(e.exit("chunkString"),s(p)):(e.consume(p),p===92?c:f)}function c(p){return p===l||p===92?(e.consume(p),f):f(p)}}function He(e,t){let n;return r;function r(i){return v(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):R(i)?O(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const xo={name:"definition",tokenize:wo},bo={partial:!0,tokenize:So};function wo(e,t,n){const r=this;let i;return o;function o(h){return e.enter("definition"),l(h)}function l(h){return Pr.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return i=se(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),u):n(h)}function u(h){return V(h)?He(e,s)(h):s(h)}function s(h){return Tr(e,f,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function f(h){return e.attempt(bo,c,c)(h)}function c(h){return R(h)?O(e,p,"whitespace")(h):p(h)}function p(h){return h===null||v(h)?(e.exit("definition"),r.parser.defined.push(i),t(h)):n(h)}}function So(e,t,n){return r;function r(a){return V(a)?He(e,i)(a):n(a)}function i(a){return vr(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return R(a)?O(e,l,"whitespace")(a):l(a)}function l(a){return a===null||v(a)?t(a):n(a)}}const Co={name:"hardBreakEscape",tokenize:Eo};function Eo(e,t,n){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return v(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}const Io={name:"headingAtx",resolve:Ao,tokenize:To};function Ao(e,t){let n=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},o={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},re(e,r,n-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function To(e,t,n){let r=0;return i;function i(f){return e.enter("atxHeading"),o(f)}function o(f){return e.enter("atxHeadingSequence"),l(f)}function l(f){return f===35&&r++<6?(e.consume(f),l):f===null||V(f)?(e.exit("atxHeadingSequence"),a(f)):n(f)}function a(f){return f===35?(e.enter("atxHeadingSequence"),u(f)):f===null||v(f)?(e.exit("atxHeading"),t(f)):R(f)?O(e,a,"whitespace")(f):(e.enter("atxHeadingText"),s(f))}function u(f){return f===35?(e.consume(f),u):(e.exit("atxHeadingSequence"),a(f))}function s(f){return f===null||f===35||V(f)?(e.exit("atxHeadingText"),a(f)):(e.consume(f),s)}}const Po=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],vt=["pre","script","style","textarea"],vo={concrete:!0,name:"htmlFlow",resolveTo:Lo,tokenize:Fo},zo={partial:!0,tokenize:_o},Do={partial:!0,tokenize:Ro};function Lo(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Fo(e,t,n){const r=this;let i,o,l,a,u;return s;function s(g){return f(g)}function f(g){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(g),c}function c(g){return g===33?(e.consume(g),p):g===47?(e.consume(g),o=!0,x):g===63?(e.consume(g),i=3,r.interrupt?t:m):J(g)?(e.consume(g),l=String.fromCharCode(g),C):n(g)}function p(g){return g===45?(e.consume(g),i=2,h):g===91?(e.consume(g),i=5,a=0,d):J(g)?(e.consume(g),i=4,r.interrupt?t:m):n(g)}function h(g){return g===45?(e.consume(g),r.interrupt?t:m):n(g)}function d(g){const ae="CDATA[";return g===ae.charCodeAt(a++)?(e.consume(g),a===ae.length?r.interrupt?t:P:d):n(g)}function x(g){return J(g)?(e.consume(g),l=String.fromCharCode(g),C):n(g)}function C(g){if(g===null||g===47||g===62||V(g)){const ae=g===47,be=l.toLowerCase();return!ae&&!o&&vt.includes(be)?(i=1,r.interrupt?t(g):P(g)):Po.includes(l.toLowerCase())?(i=6,ae?(e.consume(g),y):r.interrupt?t(g):P(g)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(g):o?A(g):E(g))}return g===45||G(g)?(e.consume(g),l+=String.fromCharCode(g),C):n(g)}function y(g){return g===62?(e.consume(g),r.interrupt?t:P):n(g)}function A(g){return R(g)?(e.consume(g),A):k(g)}function E(g){return g===47?(e.consume(g),k):g===58||g===95||J(g)?(e.consume(g),L):R(g)?(e.consume(g),E):k(g)}function L(g){return g===45||g===46||g===58||g===95||G(g)?(e.consume(g),L):F(g)}function F(g){return g===61?(e.consume(g),w):R(g)?(e.consume(g),F):E(g)}function w(g){return g===null||g===60||g===61||g===62||g===96?n(g):g===34||g===39?(e.consume(g),u=g,M):R(g)?(e.consume(g),w):$(g)}function M(g){return g===u?(e.consume(g),u=null,B):g===null||v(g)?n(g):(e.consume(g),M)}function $(g){return g===null||g===34||g===39||g===47||g===60||g===61||g===62||g===96||V(g)?F(g):(e.consume(g),$)}function B(g){return g===47||g===62||R(g)?E(g):n(g)}function k(g){return g===62?(e.consume(g),T):n(g)}function T(g){return g===null||v(g)?P(g):R(g)?(e.consume(g),T):n(g)}function P(g){return g===45&&i===2?(e.consume(g),Q):g===60&&i===1?(e.consume(g),Y):g===62&&i===4?(e.consume(g),oe):g===63&&i===3?(e.consume(g),m):g===93&&i===5?(e.consume(g),he):v(g)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(zo,pe,j)(g)):g===null||v(g)?(e.exit("htmlFlowData"),j(g)):(e.consume(g),P)}function j(g){return e.check(Do,q,pe)(g)}function q(g){return e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),N}function N(g){return g===null||v(g)?j(g):(e.enter("htmlFlowData"),P(g))}function Q(g){return g===45?(e.consume(g),m):P(g)}function Y(g){return g===47?(e.consume(g),l="",le):P(g)}function le(g){if(g===62){const ae=l.toLowerCase();return vt.includes(ae)?(e.consume(g),oe):P(g)}return J(g)&&l.length<8?(e.consume(g),l+=String.fromCharCode(g),le):P(g)}function he(g){return g===93?(e.consume(g),m):P(g)}function m(g){return g===62?(e.consume(g),oe):g===45&&i===2?(e.consume(g),m):P(g)}function oe(g){return g===null||v(g)?(e.exit("htmlFlowData"),pe(g)):(e.consume(g),oe)}function pe(g){return e.exit("htmlFlow"),t(g)}}function Ro(e,t,n){const r=this;return i;function i(l){return v(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o):n(l)}function o(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}function _o(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(We,t,n)}}const Oo={name:"htmlText",tokenize:Mo};function Mo(e,t,n){const r=this;let i,o,l;return a;function a(m){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(m),u}function u(m){return m===33?(e.consume(m),s):m===47?(e.consume(m),F):m===63?(e.consume(m),E):J(m)?(e.consume(m),$):n(m)}function s(m){return m===45?(e.consume(m),f):m===91?(e.consume(m),o=0,d):J(m)?(e.consume(m),A):n(m)}function f(m){return m===45?(e.consume(m),h):n(m)}function c(m){return m===null?n(m):m===45?(e.consume(m),p):v(m)?(l=c,Y(m)):(e.consume(m),c)}function p(m){return m===45?(e.consume(m),h):c(m)}function h(m){return m===62?Q(m):m===45?p(m):c(m)}function d(m){const oe="CDATA[";return m===oe.charCodeAt(o++)?(e.consume(m),o===oe.length?x:d):n(m)}function x(m){return m===null?n(m):m===93?(e.consume(m),C):v(m)?(l=x,Y(m)):(e.consume(m),x)}function C(m){return m===93?(e.consume(m),y):x(m)}function y(m){return m===62?Q(m):m===93?(e.consume(m),y):x(m)}function A(m){return m===null||m===62?Q(m):v(m)?(l=A,Y(m)):(e.consume(m),A)}function E(m){return m===null?n(m):m===63?(e.consume(m),L):v(m)?(l=E,Y(m)):(e.consume(m),E)}function L(m){return m===62?Q(m):E(m)}function F(m){return J(m)?(e.consume(m),w):n(m)}function w(m){return m===45||G(m)?(e.consume(m),w):M(m)}function M(m){return v(m)?(l=M,Y(m)):R(m)?(e.consume(m),M):Q(m)}function $(m){return m===45||G(m)?(e.consume(m),$):m===47||m===62||V(m)?B(m):n(m)}function B(m){return m===47?(e.consume(m),Q):m===58||m===95||J(m)?(e.consume(m),k):v(m)?(l=B,Y(m)):R(m)?(e.consume(m),B):Q(m)}function k(m){return m===45||m===46||m===58||m===95||G(m)?(e.consume(m),k):T(m)}function T(m){return m===61?(e.consume(m),P):v(m)?(l=T,Y(m)):R(m)?(e.consume(m),T):B(m)}function P(m){return m===null||m===60||m===61||m===62||m===96?n(m):m===34||m===39?(e.consume(m),i=m,j):v(m)?(l=P,Y(m)):R(m)?(e.consume(m),P):(e.consume(m),q)}function j(m){return m===i?(e.consume(m),i=void 0,N):m===null?n(m):v(m)?(l=j,Y(m)):(e.consume(m),j)}function q(m){return m===null||m===34||m===39||m===60||m===61||m===96?n(m):m===47||m===62||V(m)?B(m):(e.consume(m),q)}function N(m){return m===47||m===62||V(m)?B(m):n(m)}function Q(m){return m===62?(e.consume(m),e.exit("htmlTextData"),e.exit("htmlText"),t):n(m)}function Y(m){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),le}function le(m){return R(m)?O(e,he,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(m):he(m)}function he(m){return e.enter("htmlTextData"),l(m)}}const Gn={name:"labelEnd",resolveAll:Ho,resolveTo:Uo,tokenize:Vo},No={tokenize:$o},Bo={tokenize:qo},jo={tokenize:Wo};function Ho(e){let t=-1;const n=[];for(;++t=3&&(s===null||v(s))?(e.exit("thematicBreak"),t(s)):n(s)}function u(s){return s===i?(e.consume(s),r++,u):(e.exit("thematicBreakSequence"),R(s)?O(e,a,"whitespace")(s):a(s))}}const Z={continuation:{tokenize:ta},exit:ia,name:"list",tokenize:na},Zo={partial:!0,tokenize:la},ea={partial:!0,tokenize:ra};function na(e,t,n){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,l=0;return a;function a(h){const d=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(d==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:Rn(h)){if(r.containerState.type||(r.containerState.type=d,e.enter(d,{_container:!0})),d==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(Ze,n,s)(h):s(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),u(h)}return n(h)}function u(h){return Rn(h)&&++l<10?(e.consume(h),u):(!r.interrupt||l<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),s(h)):n(h)}function s(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check(We,r.interrupt?n:f,e.attempt(Zo,p,c))}function f(h){return r.containerState.initialBlankLine=!0,o++,p(h)}function c(h){return R(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),p):n(h)}function p(h){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(h)}}function ta(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(We,i,o);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,O(e,t,"listItemIndent",r.containerState.size+1)(a)}function o(a){return r.containerState.furtherBlankLines||!R(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(ea,t,l)(a))}function l(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,O(e,e.attempt(Z,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function ra(e,t,n){const r=this;return O(e,i,"listItemIndent",r.containerState.size+1);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?t(o):n(o)}}function ia(e){e.exit(this.containerState.type)}function la(e,t,n){const r=this;return O(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const l=r.events[r.events.length-1];return!R(o)&&l&&l[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}const zt={name:"setextUnderline",resolveTo:oa,tokenize:aa};function oa(e,t){let n=e.length,r,i,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);const l={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",l,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=l,e.push(["exit",l,t]),e}function aa(e,t,n){const r=this;let i;return o;function o(s){let f=r.events.length,c;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){c=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||c)?(e.enter("setextHeadingLine"),i=s,l(s)):n(s)}function l(s){return e.enter("setextHeadingLineSequence"),a(s)}function a(s){return s===i?(e.consume(s),a):(e.exit("setextHeadingLineSequence"),R(s)?O(e,u,"lineSuffix")(s):u(s))}function u(s){return s===null||v(s)?(e.exit("setextHeadingLine"),t(s)):n(s)}}const ua={tokenize:sa};function sa(e){const t=this,n=e.attempt(We,r,e.attempt(this.parser.constructs.flowInitial,i,O(e,e.attempt(this.parser.constructs.flow,i,e.attempt(po,i)),"linePrefix")));return n;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const ca={resolveAll:Dr()},fa=zr("string"),ha=zr("text");function zr(e){return{resolveAll:Dr(e==="text"?pa:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],o=n.attempt(i,l,a);return l;function l(f){return s(f)?o(f):a(f)}function a(f){if(f===null){n.consume(f);return}return n.enter("data"),n.consume(f),u}function u(f){return s(f)?(n.exit("data"),o(f)):(n.consume(f),u)}function s(f){if(f===null)return!0;const c=i[f];let p=-1;if(c)for(;++p-1){const a=l[0];typeof a=="string"?l[0]=a.slice(r):l.shift()}o>0&&l.push(e[i].slice(0,o))}return l}function Aa(e,t){let n=-1;const r=[];let i;for(;++n0){const ue=D.tokenStack[D.tokenStack.length-1];(ue[1]||Lt).call(D,void 0,ue[0])}for(I.position={start:ke(b.length>0?b[0][1].start:{line:1,column:1,offset:0}),end:ke(b.length>0?b[b.length-2][1].end:{line:1,column:1,offset:0})},H=-1;++H0&&(r.className=["language-"+i[0]]);let o={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o}function ja(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Ha(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Ua(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=Re(r.toLowerCase()),o=e.footnoteOrder.indexOf(r);let l,a=e.footnoteCounts.get(r);a===void 0?(a=0,e.footnoteOrder.push(r),l=e.footnoteOrder.length):l=o+1,a+=1,e.footnoteCounts.set(r,a);const u={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(a>1?"-"+a:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(l)}]};e.patch(t,u);const s={type:"element",tagName:"sup",properties:{},children:[u]};return e.patch(t,s),e.applyData(t,s)}function Va(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function $a(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Rr(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const i=e.all(t),o=i[0];o&&o.type==="text"?o.value="["+o.value:i.unshift({type:"text",value:"["});const l=i[i.length-1];return l&&l.type==="text"?l.value+=r:i.push({type:"text",value:r}),i}function qa(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Rr(e,t);const i={src:Re(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,o),e.applyData(t,o)}function Wa(e,t){const n={src:Re(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function Ya(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function Xa(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Rr(e,t);const i={href:Re(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function Qa(e,t){const n={href:Re(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Ga(e,t,n){const r=e.all(t),i=n?Ka(n):_r(t),o={},l=[];if(typeof t.checked=="boolean"){const f=r[0];let c;f&&f.type==="element"&&f.tagName==="p"?c=f:(c={type:"element",tagName:"p",properties:{},children:[]},r.unshift(c)),c.children.length>0&&c.children.unshift({type:"text",value:" "}),c.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let a=-1;for(;++a1}function Ja(e,t){const n={},r=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0){const l={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},a=$n(t.children[1]),u=mr(t.children[t.children.length-1]);a&&u&&(l.position={start:a,end:u}),i.push(l)}const o={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,o),e.applyData(t,o)}function ru(e,t,n){const r=n?n.children:void 0,o=(r?r.indexOf(t):1)===0?"th":"td",l=n&&n.type==="table"?n.align:void 0,a=l?l.length:t.children.length;let u=-1;const s=[];for(;++u0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return o.push(_t(t.slice(i),i>0,!1)),o.join("")}function _t(e,t,n){let r=0,i=e.length;if(t){let o=e.codePointAt(r);for(;o===Ft||o===Rt;)r++,o=e.codePointAt(r)}if(n){let o=e.codePointAt(i-1);for(;o===Ft||o===Rt;)i--,o=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function ou(e,t){const n={type:"text",value:lu(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function au(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const uu={blockquote:Ma,break:Na,code:Ba,delete:ja,emphasis:Ha,footnoteReference:Ua,heading:Va,html:$a,imageReference:qa,image:Wa,inlineCode:Ya,linkReference:Xa,link:Qa,listItem:Ga,list:Ja,paragraph:Za,root:eu,strong:nu,table:tu,tableCell:iu,tableRow:ru,text:ou,thematicBreak:au,toml:Qe,yaml:Qe,definition:Qe,footnoteDefinition:Qe};function Qe(){}const Or=-1,cn=0,Ue=1,rn=2,Kn=3,Jn=4,Zn=5,et=6,Mr=7,Nr=8,Br=typeof self=="object"?self:globalThis,Ot=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new Br[e](t)},su=(e,t)=>{const n=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);const[o,l]=t[i];switch(o){case cn:case Or:return n(l,i);case Ue:{const a=n([],i);for(const u of l)a.push(r(u));return a}case rn:{const a=n({},i);for(const[u,s]of l)a[r(u)]=r(s);return a}case Kn:return n(new Date(l),i);case Jn:{const{source:a,flags:u}=l;return n(new RegExp(a,u),i)}case Zn:{const a=n(new Map,i);for(const[u,s]of l)a.set(r(u),r(s));return a}case et:{const a=n(new Set,i);for(const u of l)a.add(r(u));return a}case Mr:{const{name:a,message:u}=l;return n(typeof Br[a]=="function"?Ot(a,u):new Error(u),i)}case Nr:return n(BigInt(l),i);case"BigInt":return n(Object(BigInt(l)),i);case"ArrayBuffer":return n(new Uint8Array(l).buffer,l);case"DataView":{const{buffer:a}=new Uint8Array(l);return n(new DataView(a),l)}}return n(Ot(o,l),i)};return r},Mt=e=>su(new Map,e)(0),Ce="",{toString:cu}={},{keys:fu}=Object,Be=e=>{const t=typeof e;if(t!=="object"||!e)return[cn,t];const n=cu.call(e).slice(8,-1);switch(n){case"Array":return[Ue,Ce];case"Object":return[rn,Ce];case"Date":return[Kn,Ce];case"RegExp":return[Jn,Ce];case"Map":return[Zn,Ce];case"Set":return[et,Ce];case"DataView":return[Ue,n]}return n.includes("Array")?[Ue,n]:e instanceof Error?[Mr,e.name||"Error"]:[rn,n]},Ge=([e,t])=>e===cn&&(t==="function"||t==="symbol"),hu=(e,t,n,r)=>{const i=(l,a)=>{const u=r.push(l)-1;return n.set(a,u),u},o=l=>{if(n.has(l))return n.get(l);let[a,u]=Be(l);switch(a){case cn:{let f=l;switch(u){case"bigint":a=Nr,f=l.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+u);f=null;break;case"undefined":return i([Or],l)}return i([a,f],l)}case Ue:{if(u){let p=l;return u==="DataView"?p=new Uint8Array(l.buffer):u==="ArrayBuffer"&&(p=new Uint8Array(l)),i([u,[...p]],l)}const f=[],c=i([a,f],l);for(const p of l)f.push(o(p));return c}case rn:{if(u)switch(u){case"BigInt":return i([u,l.toString()],l);case"Boolean":case"Number":case"String":return i([u,l.valueOf()],l)}if(t&&"toJSON"in l)return o(l.toJSON());const f=[],c=i([a,f],l);for(const p of fu(l))(e||!Ge(Be(l[p])))&&f.push([o(p),o(l[p])]);return c}case Kn:return i([a,isNaN(l.getTime())?Ce:l.toISOString()],l);case Jn:{const{source:f,flags:c}=l;return i([a,{source:f,flags:c}],l)}case Zn:{const f=[],c=i([a,f],l);for(const[p,h]of l)(e||!(Ge(Be(p))||Ge(Be(h))))&&f.push([o(p),o(h)]);return c}case et:{const f=[],c=i([a,f],l);for(const p of l)(e||!Ge(Be(p)))&&f.push(o(p));return c}}const{message:s}=l;return i([a,{name:u,message:s}],l)};return o},Nt=(e,{json:t,lossy:n}={})=>{const r=[];return hu(!(t||n),!!t,new Map,r)(e),r},ln=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Mt(Nt(e,t)):structuredClone(e):(e,t)=>Mt(Nt(e,t));function pu(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function mu(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function gu(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||pu,r=e.options.footnoteBackLabel||mu,i=e.options.footnoteLabel||"Footnotes",o=e.options.footnoteLabelTagName||"h2",l=e.options.footnoteLabelProperties||{className:["sr-only"]},a=[];let u=-1;for(;++u0&&d.push({type:"text",value:" "});let A=typeof n=="string"?n:n(u,h);typeof A=="string"&&(A={type:"text",value:A}),d.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+p+(h>1?"-"+h:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(u,h),className:["data-footnote-backref"]},children:Array.isArray(A)?A:[A]})}const C=f[f.length-1];if(C&&C.type==="element"&&C.tagName==="p"){const A=C.children[C.children.length-1];A&&A.type==="text"?A.value+=" ":C.children.push({type:"text",value:" "}),C.children.push(...d)}else f.push(...d);const y={type:"element",tagName:"li",properties:{id:t+"fn-"+p},children:e.wrap(f,!0)};e.patch(s,y),a.push(y)}if(a.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...ln(l),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` -`},{type:"element",tagName:"ol",properties:{},children:e.wrap(a,!0)},{type:"text",value:` -`}]}}const fn=function(e){if(e==null)return xu;if(typeof e=="function")return hn(e);if(typeof e=="object")return Array.isArray(e)?du(e):yu(e);if(typeof e=="string")return ku(e);throw new Error("Expected function, string, or object as test")};function du(e){const t=[];let n=-1;for(;++n":""))+")"})}return p;function p(){let h=jr,d,x,C;if((!t||o(u,s,f[f.length-1]||void 0))&&(h=Cu(n(u,f)),h[0]===On))return h;if("children"in u&&u.children){const y=u;if(y.children&&h[0]!==Su)for(x=(r?y.children.length:-1)+l,C=f.concat(y);x>-1&&x0&&n.push({type:"text",value:` -`}),n}function Bt(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function jt(e,t){const n=Iu(e,t),r=n.one(e,void 0),i=gu(n),o=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&o.children.push({type:"text",value:` -`},i),o}function zu(e,t){return e&&"run"in e?async function(n,r){const i=jt(n,{file:r,...t});await e.run(i,r)}:function(n,r){return jt(n,{file:r,...e||t})}}function Ht(e){if(e)throw e}var en=Object.prototype.hasOwnProperty,Ur=Object.prototype.toString,Ut=Object.defineProperty,Vt=Object.getOwnPropertyDescriptor,$t=function(t){return typeof Array.isArray=="function"?Array.isArray(t):Ur.call(t)==="[object Array]"},qt=function(t){if(!t||Ur.call(t)!=="[object Object]")return!1;var n=en.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&en.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var i;for(i in t);return typeof i>"u"||en.call(t,i)},Wt=function(t,n){Ut&&n.name==="__proto__"?Ut(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},Yt=function(t,n){if(n==="__proto__")if(en.call(t,n)){if(Vt)return Vt(t,n).value}else return;return t[n]},Du=function e(){var t,n,r,i,o,l,a=arguments[0],u=1,s=arguments.length,f=!1;for(typeof a=="boolean"&&(f=a,a=arguments[1]||{},u=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});ul.length;let u;a&&l.push(i);try{u=e.apply(this,l)}catch(s){const f=s;if(a&&n)throw f;return i(f)}a||(u&&u.then&&typeof u.then=="function"?u.then(o,i):u instanceof Error?i(u):o(u))}function i(l,...a){n||(n=!0,t(l,...a))}function o(l){i(null,l)}}const ce={basename:Ru,dirname:_u,extname:Ou,join:Mu,sep:"/"};function Ru(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Ye(e);let n=0,r=-1,i=e.length,o;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else r<0&&(o=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let l=-1,a=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else l<0&&(o=!0,l=i+1),a>-1&&(e.codePointAt(i)===t.codePointAt(a--)?a<0&&(r=i):(a=-1,r=l));return n===r?r=l:r<0&&(r=e.length),e.slice(n,r)}function _u(e){if(Ye(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function Ou(e){Ye(e);let t=e.length,n=-1,r=0,i=-1,o=0,l;for(;t--;){const a=e.codePointAt(t);if(a===47){if(l){r=t+1;break}continue}n<0&&(l=!0,n=t+1),a===46?i<0?i=t:o!==1&&(o=1):i>-1&&(o=-1)}return i<0||n<0||o===0||o===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function Mu(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function Bu(e,t){let n="",r=0,i=-1,o=0,l=-1,a,u;for(;++l<=e.length;){if(l2){if(u=n.lastIndexOf("/"),u!==n.length-1){u<0?(n="",r=0):(n=n.slice(0,u),r=n.length-1-n.lastIndexOf("/")),i=l,o=0;continue}}else if(n.length>0){n="",r=0,i=l,o=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,l):n=e.slice(i+1,l),r=l-i-1;i=l,o=0}else a===46&&o>-1?o++:o=-1}return n}function Ye(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const ju={cwd:Hu};function Hu(){return"/"}function Bn(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Uu(e){if(typeof e=="string")e=new URL(e);else if(!Bn(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return Vu(e)}function Vu(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n0){let[h,...d]=f;const x=r[p][1];Nn(x)&&Nn(h)&&(h=kn(!0,x,h)),r[p]=[s,h,...d]}}}}const Yu=new tt().freeze();function Sn(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Cn(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function En(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Qt(e){if(!Nn(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Gt(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function Ke(e){return Xu(e)?e:new Vr(e)}function Xu(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function Qu(e){return typeof e=="string"||Gu(e)}function Gu(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const Ku="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Kt=[],Jt={allowDangerousHtml:!0},Ju=/^(https?|ircs?|mailto|xmpp)$/i,Zu=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function mf(e){const t=es(e),n=ns(e);return ts(t.runSync(t.parse(n),n),e)}function es(e){const t=e.rehypePlugins||Kt,n=e.remarkPlugins||Kt,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Jt}:Jt;return Yu().use(Oa).use(n).use(zu,r).use(t)}function ns(e){const t=e.children||"",n=new Vr;return typeof t=="string"&&(n.value=t),n}function ts(e,t){const n=t.allowedElements,r=t.allowElement,i=t.components,o=t.disallowedElements,l=t.skipHtml,a=t.unwrapDisallowed,u=t.urlTransform||rs;for(const f of Zu)Object.hasOwn(t,f.from)&&(""+f.from+(f.to?"use `"+f.to+"` instead":"remove it")+Ku+f.id,void 0);return nt(e,s),kl(e,{Fragment:pn.Fragment,components:i,ignoreInvalidStyle:!0,jsx:pn.jsx,jsxs:pn.jsxs,passKeys:!0,passNode:!0});function s(f,c,p){if(f.type==="raw"&&p&&typeof c=="number")return l?p.children.splice(c,1):p.children[c]={type:"text",value:f.value},c;if(f.type==="element"){let h;for(h in gn)if(Object.hasOwn(gn,h)&&Object.hasOwn(f.properties,h)){const d=f.properties[h],x=gn[h];(x===null||x.includes(f.tagName))&&(f.properties[h]=u(String(d||""),h,f))}}if(f.type==="element"){let h=n?!n.includes(f.tagName):o?o.includes(f.tagName):!1;if(!h&&r&&typeof c=="number"&&(h=!r(f,c,p)),h&&p&&typeof c=="number")return a&&f.children?p.children.splice(c,1,...f.children):p.children.splice(c,1),c}}}function rs(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||Ju.test(e.slice(0,t))?e:""}function Zt(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function is(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function ls(e,t,n){const i=fn((n||{}).ignore||[]),o=os(t);let l=-1;for(;++l0?{type:"text",value:w}:void 0),w===!1?p.lastIndex=L+1:(d!==L&&A.push({type:"text",value:s.value.slice(d,L)}),Array.isArray(w)?A.push(...w):w&&A.push(w),d=L+E[0].length,y=!0),!p.global)break;E=p.exec(s.value)}return y?(d?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const i=Zt(e,"(");let o=Zt(e,")");for(;r!==-1&&i>o;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),o++;return[e,n]}function $r(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Ae(n)||un(n))&&(!t||n!==47)}qr.peek=vs;function ws(){this.buffer()}function Ss(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Cs(){this.buffer()}function Es(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Is(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=se(this.sliceSerialize(e)).toLowerCase(),n.label=t}function As(e){this.exit(e)}function Ts(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=se(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Ps(e){this.exit(e)}function vs(){return"["}function qr(e,t,n,r){const i=n.createTracker(r);let o=i.move("[^");const l=n.enter("footnoteReference"),a=n.enter("reference");return o+=i.move(n.safe(n.associationId(e),{after:"]",before:o})),a(),l(),o+=i.move("]"),o}function zs(){return{enter:{gfmFootnoteCallString:ws,gfmFootnoteCall:Ss,gfmFootnoteDefinitionLabelString:Cs,gfmFootnoteDefinition:Es},exit:{gfmFootnoteCallString:Is,gfmFootnoteCall:As,gfmFootnoteDefinitionLabelString:Ts,gfmFootnoteDefinition:Ps}}}function Ds(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:qr},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,i,o,l){const a=o.createTracker(l);let u=a.move("[^");const s=o.enter("footnoteDefinition"),f=o.enter("label");return u+=a.move(o.safe(o.associationId(r),{before:u,after:"]"})),f(),u+=a.move("]:"),r.children&&r.children.length>0&&(a.shift(4),u+=a.move((t?` -`:" ")+o.indentLines(o.containerFlow(r,a.current()),t?Wr:Ls))),s(),u}}function Ls(e,t,n){return t===0?e:Wr(e,t,n)}function Wr(e,t,n){return(n?"":" ")+e}const Fs=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Yr.peek=Ns;function Rs(){return{canContainEols:["delete"],enter:{strikethrough:Os},exit:{strikethrough:Ms}}}function _s(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Fs}],handlers:{delete:Yr}}}function Os(e){this.enter({type:"delete",children:[]},e)}function Ms(e){this.exit(e)}function Yr(e,t,n,r){const i=n.createTracker(r),o=n.enter("strikethrough");let l=i.move("~~");return l+=n.containerPhrasing(e,{...i.current(),before:l,after:"~"}),l+=i.move("~~"),o(),l}function Ns(){return"~"}function Bs(e){return e.length}function js(e,t){const n=t||{},r=(n.align||[]).concat(),i=n.stringLength||Bs,o=[],l=[],a=[],u=[];let s=0,f=-1;for(;++fs&&(s=e[f].length);++yu[y])&&(u[y]=E)}x.push(A)}l[f]=x,a[f]=C}let c=-1;if(typeof r=="object"&&"length"in r)for(;++cu[c]&&(u[c]=A),h[c]=A),p[c]=E}l.splice(1,0,p),a.splice(1,0,h),f=-1;const d=[];for(;++f "),o.shift(2);const l=n.indentLines(n.containerFlow(e,o.current()),Vs);return i(),l}function Vs(e,t,n){return">"+(n?"":" ")+e}function $s(e,t){return nr(e,t.inConstruct,!0)&&!nr(e,t.notInConstruct,!1)}function nr(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++rl&&(l=o):o=1,i=r+t.length,r=n.indexOf(t,i);return l}function Ws(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function Ys(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function Xs(e,t,n,r){const i=Ys(n),o=e.value||"",l=i==="`"?"GraveAccent":"Tilde";if(Ws(e,n)){const c=n.enter("codeIndented"),p=n.indentLines(o,Qs);return c(),p}const a=n.createTracker(r),u=i.repeat(Math.max(qs(o,i)+1,3)),s=n.enter("codeFenced");let f=a.move(u);if(e.lang){const c=n.enter(`codeFencedLang${l}`);f+=a.move(n.safe(e.lang,{before:f,after:" ",encode:["`"],...a.current()})),c()}if(e.lang&&e.meta){const c=n.enter(`codeFencedMeta${l}`);f+=a.move(" "),f+=a.move(n.safe(e.meta,{before:f,after:` -`,encode:["`"],...a.current()})),c()}return f+=a.move(` -`),o&&(f+=a.move(o+` -`)),f+=a.move(u),s(),f}function Qs(e,t,n){return(n?"":" ")+e}function rt(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function Gs(e,t,n,r){const i=rt(n),o=i==='"'?"Quote":"Apostrophe",l=n.enter("definition");let a=n.enter("label");const u=n.createTracker(r);let s=u.move("[");return s+=u.move(n.safe(n.associationId(e),{before:s,after:"]",...u.current()})),s+=u.move("]: "),a(),!e.url||/[\0- \u007F]/.test(e.url)?(a=n.enter("destinationLiteral"),s+=u.move("<"),s+=u.move(n.safe(e.url,{before:s,after:">",...u.current()})),s+=u.move(">")):(a=n.enter("destinationRaw"),s+=u.move(n.safe(e.url,{before:s,after:e.title?" ":` -`,...u.current()}))),a(),e.title&&(a=n.enter(`title${o}`),s+=u.move(" "+i),s+=u.move(n.safe(e.title,{before:s,after:i,...u.current()})),s+=u.move(i),a()),l(),s}function Ks(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function $e(e){return"&#x"+e.toString(16).toUpperCase()+";"}function on(e,t,n){const r=Le(e),i=Le(t);return r===void 0?i===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}Xr.peek=Js;function Xr(e,t,n,r){const i=Ks(n),o=n.enter("emphasis"),l=n.createTracker(r),a=l.move(i);let u=l.move(n.containerPhrasing(e,{after:i,before:a,...l.current()}));const s=u.charCodeAt(0),f=on(r.before.charCodeAt(r.before.length-1),s,i);f.inside&&(u=$e(s)+u.slice(1));const c=u.charCodeAt(u.length-1),p=on(r.after.charCodeAt(0),c,i);p.inside&&(u=u.slice(0,-1)+$e(c));const h=l.move(i);return o(),n.attentionEncodeSurroundingInfo={after:p.outside,before:f.outside},a+u+h}function Js(e,t,n){return n.options.emphasis||"*"}function Zs(e,t){let n=!1;return nt(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,On}),!!((!e.depth||e.depth<3)&&Xn(e)&&(t.options.setext||n))}function ec(e,t,n,r){const i=Math.max(Math.min(6,e.depth||1),1),o=n.createTracker(r);if(Zs(e,n)){const f=n.enter("headingSetext"),c=n.enter("phrasing"),p=n.containerPhrasing(e,{...o.current(),before:` -`,after:` -`});return c(),f(),p+` -`+(i===1?"=":"-").repeat(p.length-(Math.max(p.lastIndexOf("\r"),p.lastIndexOf(` -`))+1))}const l="#".repeat(i),a=n.enter("headingAtx"),u=n.enter("phrasing");o.move(l+" ");let s=n.containerPhrasing(e,{before:"# ",after:` -`,...o.current()});return/^[\t ]/.test(s)&&(s=$e(s.charCodeAt(0))+s.slice(1)),s=s?l+" "+s:l,n.options.closeAtx&&(s+=" "+l),u(),a(),s}Qr.peek=nc;function Qr(e){return e.value||""}function nc(){return"<"}Gr.peek=tc;function Gr(e,t,n,r){const i=rt(n),o=i==='"'?"Quote":"Apostrophe",l=n.enter("image");let a=n.enter("label");const u=n.createTracker(r);let s=u.move("![");return s+=u.move(n.safe(e.alt,{before:s,after:"]",...u.current()})),s+=u.move("]("),a(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(a=n.enter("destinationLiteral"),s+=u.move("<"),s+=u.move(n.safe(e.url,{before:s,after:">",...u.current()})),s+=u.move(">")):(a=n.enter("destinationRaw"),s+=u.move(n.safe(e.url,{before:s,after:e.title?" ":")",...u.current()}))),a(),e.title&&(a=n.enter(`title${o}`),s+=u.move(" "+i),s+=u.move(n.safe(e.title,{before:s,after:i,...u.current()})),s+=u.move(i),a()),s+=u.move(")"),l(),s}function tc(){return"!"}Kr.peek=rc;function Kr(e,t,n,r){const i=e.referenceType,o=n.enter("imageReference");let l=n.enter("label");const a=n.createTracker(r);let u=a.move("![");const s=n.safe(e.alt,{before:u,after:"]",...a.current()});u+=a.move(s+"]["),l();const f=n.stack;n.stack=[],l=n.enter("reference");const c=n.safe(n.associationId(e),{before:u,after:"]",...a.current()});return l(),n.stack=f,o(),i==="full"||!s||s!==c?u+=a.move(c+"]"):i==="shortcut"?u=u.slice(0,-1):u+=a.move("]"),u}function rc(){return"!"}Jr.peek=ic;function Jr(e,t,n){let r=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o\u007F]/.test(e.url))}ei.peek=lc;function ei(e,t,n,r){const i=rt(n),o=i==='"'?"Quote":"Apostrophe",l=n.createTracker(r);let a,u;if(Zr(e,n)){const f=n.stack;n.stack=[],a=n.enter("autolink");let c=l.move("<");return c+=l.move(n.containerPhrasing(e,{before:c,after:">",...l.current()})),c+=l.move(">"),a(),n.stack=f,c}a=n.enter("link"),u=n.enter("label");let s=l.move("[");return s+=l.move(n.containerPhrasing(e,{before:s,after:"](",...l.current()})),s+=l.move("]("),u(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(u=n.enter("destinationLiteral"),s+=l.move("<"),s+=l.move(n.safe(e.url,{before:s,after:">",...l.current()})),s+=l.move(">")):(u=n.enter("destinationRaw"),s+=l.move(n.safe(e.url,{before:s,after:e.title?" ":")",...l.current()}))),u(),e.title&&(u=n.enter(`title${o}`),s+=l.move(" "+i),s+=l.move(n.safe(e.title,{before:s,after:i,...l.current()})),s+=l.move(i),u()),s+=l.move(")"),a(),s}function lc(e,t,n){return Zr(e,n)?"<":"["}ni.peek=oc;function ni(e,t,n,r){const i=e.referenceType,o=n.enter("linkReference");let l=n.enter("label");const a=n.createTracker(r);let u=a.move("[");const s=n.containerPhrasing(e,{before:u,after:"]",...a.current()});u+=a.move(s+"]["),l();const f=n.stack;n.stack=[],l=n.enter("reference");const c=n.safe(n.associationId(e),{before:u,after:"]",...a.current()});return l(),n.stack=f,o(),i==="full"||!s||s!==c?u+=a.move(c+"]"):i==="shortcut"?u=u.slice(0,-1):u+=a.move("]"),u}function oc(){return"["}function it(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function ac(e){const t=it(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function uc(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function ti(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function sc(e,t,n,r){const i=n.enter("list"),o=n.bulletCurrent;let l=e.ordered?uc(n):it(n);const a=e.ordered?l==="."?")":".":ac(n);let u=t&&n.bulletLastUsed?l===n.bulletLastUsed:!1;if(!e.ordered){const f=e.children?e.children[0]:void 0;if((l==="*"||l==="-")&&f&&(!f.children||!f.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(u=!0),ti(n)===l&&f){let c=-1;for(;++c-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+o);let l=o.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(l=Math.ceil(l/4)*4);const a=n.createTracker(r);a.move(o+" ".repeat(l-o.length)),a.shift(l);const u=n.enter("listItem"),s=n.indentLines(n.containerFlow(e,a.current()),f);return u(),s;function f(c,p,h){return p?(h?"":" ".repeat(l))+c:(h?o:o+" ".repeat(l-o.length))+c}}function hc(e,t,n,r){const i=n.enter("paragraph"),o=n.enter("phrasing"),l=n.containerPhrasing(e,r);return o(),i(),l}const pc=fn(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function mc(e,t,n,r){return(e.children.some(function(l){return pc(l)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function gc(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}ri.peek=dc;function ri(e,t,n,r){const i=gc(n),o=n.enter("strong"),l=n.createTracker(r),a=l.move(i+i);let u=l.move(n.containerPhrasing(e,{after:i,before:a,...l.current()}));const s=u.charCodeAt(0),f=on(r.before.charCodeAt(r.before.length-1),s,i);f.inside&&(u=$e(s)+u.slice(1));const c=u.charCodeAt(u.length-1),p=on(r.after.charCodeAt(0),c,i);p.inside&&(u=u.slice(0,-1)+$e(c));const h=l.move(i+i);return o(),n.attentionEncodeSurroundingInfo={after:p.outside,before:f.outside},a+u+h}function dc(e,t,n){return n.options.strong||"*"}function yc(e,t,n,r){return n.safe(e.value,r)}function kc(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function xc(e,t,n){const r=(ti(n)+(n.options.ruleSpaces?" ":"")).repeat(kc(n));return n.options.ruleSpaces?r.slice(0,-1):r}const ii={blockquote:Us,break:tr,code:Xs,definition:Gs,emphasis:Xr,hardBreak:tr,heading:ec,html:Qr,image:Gr,imageReference:Kr,inlineCode:Jr,link:ei,linkReference:ni,list:sc,listItem:fc,paragraph:hc,root:mc,strong:ri,text:yc,thematicBreak:xc};function bc(){return{enter:{table:wc,tableData:rr,tableHeader:rr,tableRow:Cc},exit:{codeText:Ec,table:Sc,tableData:Pn,tableHeader:Pn,tableRow:Pn}}}function wc(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Sc(e){this.exit(e),this.data.inTable=void 0}function Cc(e){this.enter({type:"tableRow",children:[]},e)}function Pn(e){this.exit(e)}function rr(e){this.enter({type:"tableCell",children:[]},e)}function Ec(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Ic));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Ic(e,t){return t==="|"?t:e}function Ac(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,o=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` -`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:p,table:l,tableCell:u,tableRow:a}};function l(h,d,x,C){return s(f(h,x,C),h.align)}function a(h,d,x,C){const y=c(h,x,C),A=s([y]);return A.slice(0,A.indexOf(` -`))}function u(h,d,x,C){const y=x.enter("tableCell"),A=x.enter("phrasing"),E=x.containerPhrasing(h,{...C,before:o,after:o});return A(),y(),E}function s(h,d){return js(h,{align:d,alignDelimiters:r,padding:n,stringLength:i})}function f(h,d,x){const C=h.children;let y=-1;const A=[],E=d.enter("table");for(;++y0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const $c={tokenize:Jc,partial:!0};function qc(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Qc,continuation:{tokenize:Gc},exit:Kc}},text:{91:{name:"gfmFootnoteCall",tokenize:Xc},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Wc,resolveTo:Yc}}}}function Wc(e,t,n){const r=this;let i=r.events.length;const o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l;for(;i--;){const u=r.events[i][1];if(u.type==="labelImage"){l=u;break}if(u.type==="gfmFootnoteCall"||u.type==="labelLink"||u.type==="label"||u.type==="image"||u.type==="link")break}return a;function a(u){if(!l||!l._balanced)return n(u);const s=se(r.sliceSerialize({start:l.end,end:r.now()}));return s.codePointAt(0)!==94||!o.includes(s.slice(1))?n(u):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),t(u))}}function Yc(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},l={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},a=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",o,t],["enter",l,t],["exit",l,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...a),e}function Xc(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o=0,l;return a;function a(c){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),u}function u(c){return c!==94?n(c):(e.enter("gfmFootnoteCallMarker"),e.consume(c),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",s)}function s(c){if(o>999||c===93&&!l||c===null||c===91||V(c))return n(c);if(c===93){e.exit("chunkString");const p=e.exit("gfmFootnoteCallString");return i.includes(se(r.sliceSerialize(p)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(c)}return V(c)||(l=!0),o++,e.consume(c),c===92?f:s}function f(c){return c===91||c===92||c===93?(e.consume(c),o++,s):s(c)}}function Qc(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,l=0,a;return u;function u(d){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(d),e.exit("gfmFootnoteDefinitionLabelMarker"),s}function s(d){return d===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(d),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):n(d)}function f(d){if(l>999||d===93&&!a||d===null||d===91||V(d))return n(d);if(d===93){e.exit("chunkString");const x=e.exit("gfmFootnoteDefinitionLabelString");return o=se(r.sliceSerialize(x)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(d),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}return V(d)||(a=!0),l++,e.consume(d),d===92?c:f}function c(d){return d===91||d===92||d===93?(e.consume(d),l++,f):f(d)}function p(d){return d===58?(e.enter("definitionMarker"),e.consume(d),e.exit("definitionMarker"),i.includes(o)||i.push(o),O(e,h,"gfmFootnoteDefinitionWhitespace")):n(d)}function h(d){return t(d)}}function Gc(e,t,n){return e.check(We,t,e.attempt($c,t,n))}function Kc(e){e.exit("gfmFootnoteDefinition")}function Jc(e,t,n){const r=this;return O(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="gfmFootnoteDefinitionIndent"&&l[2].sliceSerialize(l[1],!0).length===4?t(o):n(o)}}function Zc(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:o,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(l,a){let u=-1;for(;++u1?u(d):(l.consume(d),c++,h);if(c<2&&!n)return u(d);const C=l.exit("strikethroughSequenceTemporary"),y=Le(d);return C._open=!y||y===2&&!!x,C._close=!x||x===2&&!!y,a(d)}}}class ef{constructor(){this.map=[]}add(t,n,r){nf(this,t,n,r)}consume(t){if(this.map.sort(function(o,l){return o[0]-l[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const o of i)t.push(o);i=r.pop()}this.map.length=0}}function nf(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){const q=r.events[T][1].type;if(q==="lineEnding"||q==="linePrefix")T--;else break}const P=T>-1?r.events[T][1].type:null,j=P==="tableHead"||P==="tableRow"?w:u;return j===w&&r.parser.lazy[r.now().line]?n(k):j(k)}function u(k){return e.enter("tableHead"),e.enter("tableRow"),s(k)}function s(k){return k===124||(l=!0,o+=1),f(k)}function f(k){return k===null?n(k):v(k)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),h):n(k):R(k)?O(e,f,"whitespace")(k):(o+=1,l&&(l=!1,i+=1),k===124?(e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),l=!0,f):(e.enter("data"),c(k)))}function c(k){return k===null||k===124||V(k)?(e.exit("data"),f(k)):(e.consume(k),k===92?p:c)}function p(k){return k===92||k===124?(e.consume(k),c):c(k)}function h(k){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(k):(e.enter("tableDelimiterRow"),l=!1,R(k)?O(e,d,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(k):d(k))}function d(k){return k===45||k===58?C(k):k===124?(l=!0,e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),x):F(k)}function x(k){return R(k)?O(e,C,"whitespace")(k):C(k)}function C(k){return k===58?(o+=1,l=!0,e.enter("tableDelimiterMarker"),e.consume(k),e.exit("tableDelimiterMarker"),y):k===45?(o+=1,y(k)):k===null||v(k)?L(k):F(k)}function y(k){return k===45?(e.enter("tableDelimiterFiller"),A(k)):F(k)}function A(k){return k===45?(e.consume(k),A):k===58?(l=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(k),e.exit("tableDelimiterMarker"),E):(e.exit("tableDelimiterFiller"),E(k))}function E(k){return R(k)?O(e,L,"whitespace")(k):L(k)}function L(k){return k===124?d(k):k===null||v(k)?!l||i!==o?F(k):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(k)):F(k)}function F(k){return n(k)}function w(k){return e.enter("tableRow"),M(k)}function M(k){return k===124?(e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),M):k===null||v(k)?(e.exit("tableRow"),t(k)):R(k)?O(e,M,"whitespace")(k):(e.enter("data"),$(k))}function $(k){return k===null||k===124||V(k)?(e.exit("data"),M(k)):(e.consume(k),k===92?B:$)}function B(k){return k===92||k===124?(e.consume(k),$):$(k)}}function of(e,t){let n=-1,r=!0,i=0,o=[0,0,0,0],l=[0,0,0,0],a=!1,u=0,s,f,c;const p=new ef;for(;++nn[2]+1){const d=n[2]+1,x=n[3]-n[2]-1;e.add(d,x,[])}}e.add(n[3]+1,0,[["exit",c,t]])}return i!==void 0&&(o.end=Object.assign({},De(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function lr(e,t,n,r,i){const o=[],l=De(t.events,n);i&&(i.end=Object.assign({},l),o.push(["exit",i,t])),r.end=Object.assign({},l),o.push(["exit",r,t]),e.add(n+1,0,o)}function De(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const af={name:"tasklistCheck",tokenize:sf};function uf(){return{text:{91:af}}}function sf(e,t,n){const r=this;return i;function i(u){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(u):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(u),e.exit("taskListCheckMarker"),o)}function o(u){return V(u)?(e.enter("taskListCheckValueUnchecked"),e.consume(u),e.exit("taskListCheckValueUnchecked"),l):u===88||u===120?(e.enter("taskListCheckValueChecked"),e.consume(u),e.exit("taskListCheckValueChecked"),l):n(u)}function l(u){return u===93?(e.enter("taskListCheckMarker"),e.consume(u),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),a):n(u)}function a(u){return v(u)?t(u):R(u)?e.check({tokenize:cf},t,n)(u):n(u)}}function cf(e,t,n){return O(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function ff(e){return wr([_c(),qc(),Zc(e),rf(),uf()])}const hf={};function gf(e){const t=this,n=e||hf,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),l=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(ff(n)),o.push(Dc()),l.push(Lc(n))}export{mf as M,gf as r}; diff --git a/frontend/web/dist/assets/markdown-BdostSiP.js b/frontend/web/dist/assets/markdown-BdostSiP.js new file mode 100644 index 000000000..a3d8f73c1 --- /dev/null +++ b/frontend/web/dist/assets/markdown-BdostSiP.js @@ -0,0 +1,29 @@ +import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{D as r,E as i}from"./icons-BgG77X6K.js";function a(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var o=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,s=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,c={};function l(e,t){return((t||c).jsx?s:o).test(e)}var u=/[ \t\n\f\r]/g;function d(e){return typeof e==`object`?e.type===`text`&&f(e.value):f(e)}function f(e){return e.replace(u,``)===``}var p=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};p.prototype.normal={},p.prototype.property={},p.prototype.space=void 0;function m(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new p(n,r,t)}function h(e){return e.toLowerCase()}var g=class{constructor(e,t){this.attribute=t,this.property=e}};g.prototype.attribute=``,g.prototype.booleanish=!1,g.prototype.boolean=!1,g.prototype.commaOrSpaceSeparated=!1,g.prototype.commaSeparated=!1,g.prototype.defined=!1,g.prototype.mustUseProperty=!1,g.prototype.number=!1,g.prototype.overloadedBoolean=!1,g.prototype.property=``,g.prototype.spaceSeparated=!1,g.prototype.space=void 0;var _=e({boolean:()=>y,booleanish:()=>b,commaOrSpaceSeparated:()=>T,commaSeparated:()=>w,number:()=>S,overloadedBoolean:()=>x,spaceSeparated:()=>C}),v=0,y=E(),b=E(),x=E(),S=E(),C=E(),w=E(),T=E();function E(){return 2**++v}var D=Object.keys(_),O=class extends g{constructor(e,t,n,r){let i=-1;if(super(e,t),k(this,`space`,r),typeof n==`number`)for(;++i4&&n.slice(0,4)===`data`&&se.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(oe,ue);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!oe.test(e)){let n=e.replace(ae,le);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=O}return new i(r,t)}function le(e){return`-`+e.toLowerCase()}function ue(e){return e.charAt(1).toUpperCase()}var de=m([ee,te,N,P,re],`html`),fe=m([ee,ne,N,P,re],`svg`);function pe(e){return e.join(` `).trim()}var me=n(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g;function u(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,u=1;function f(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(` +`);u=~n?e.length-n:u+e.length}function p(){var e={line:l,column:u};return function(t){return t.position=new m(e),_(),t}}function m(e){this.start=e,this.end={line:l,column:u},this.source=t.source}m.prototype.content=e;function h(n){var r=Error(t.source+`:`+l+`:`+u+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=u,r.source=e,!t.silent)throw r}function g(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function _(){g(i)}function v(e){var t;for(e||=[];t=y();)t!==!1&&e.push(t);return e}function y(){var t=p();if(e.charAt(0)==`/`&&e.charAt(1)==`*`){for(var n=2;e.charAt(n)!=``&&(e.charAt(n)!=`*`||e.charAt(n+1)!=`/`);)++n;if(n+=2,e.charAt(n-1)===``)return h(`End of comment missing`);var r=e.slice(2,n-2);return u+=2,f(r),e=e.slice(n),u+=2,t({type:`comment`,comment:r})}}function b(){var e=p(),t=g(a);if(t){if(y(),!g(o))return h(`property missing ':'`);var r=g(s),i=e({type:`declaration`,property:d(t[0].replace(n,``)),value:r?d(r[0].replace(n,``)):``});return g(c),i}}function x(){var e=[];v(e);for(var t;t=b();)t!==!1&&(e.push(t),v(e));return e}return _(),x()}function d(e){return e?e.replace(l,``):``}t.exports=u})),he=n((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;var n=t(me());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),ge=n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),_e=n(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(he()),r=ge();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),ve=be(`end`),ye=be(`start`);function be(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function xe(e){let t=ye(e),n=ve(e);if(t&&n)return{start:t,end:n}}function Se(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?we(e.position):`start`in e||`end`in e?we(e):`line`in e||`column`in e?Ce(e):``}function Ce(e){return Te(e&&e.line)+`:`+Te(e&&e.column)}function we(e){return Ce(e&&e.start)+`-`+Ce(e&&e.end)}function Te(e){return e&&typeof e==`number`?e:1}var F=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file=``,this.message=r,this.line=o?o.line:void 0,this.name=Se(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};F.prototype.file=``,F.prototype.name=``,F.prototype.reason=``,F.prototype.message=``,F.prototype.stack=``,F.prototype.column=void 0,F.prototype.line=void 0,F.prototype.ancestors=void 0,F.prototype.cause=void 0,F.prototype.fatal=void 0,F.prototype.place=void 0,F.prototype.ruleId=void 0,F.prototype.source=void 0;var Ee=t(_e(),1),De={}.hasOwnProperty,Oe=new Map,ke=/[A-Z]/g,Ae=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),je=new Set([`td`,`th`]);function Me(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=Ue(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=He(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?fe:de,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=Ne(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function Ne(e,t,n){if(t.type===`element`)return Pe(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return Fe(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return Le(e,t,n);if(t.type===`mdxjsEsm`)return Ie(e,t);if(t.type===`root`)return Re(e,t,n);if(t.type===`text`)return ze(e,t)}function Pe(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=fe,e.schema=i),e.ancestors.push(t);let a=Ye(e,t.tagName,!1),o=We(e,t),s=Ke(e,t);return Ae.has(t.tagName)&&(s=s.filter(function(e){return typeof e!=`string`||!d(e)})),Be(e,o,a,t),Ve(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function Fe(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}Xe(e,t.position)}function Ie(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Xe(e,t.position)}function Le(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=fe,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:Ye(e,t.name,!0),o=Ge(e,t),s=Ke(e,t);return Be(e,o,a,t),Ve(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function Re(e,t,n){let r={};return Ve(r,Ke(e,t)),e.create(t,e.Fragment,r,n)}function ze(e,t){return t.value}function Be(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Ve(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function He(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function Ue(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=ye(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function We(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&De.call(t.properties,i)){let a=qe(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&je.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function Ge(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`){if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let i=t.expression;i.type;let a=i.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else Xe(e,t.position)}else{let i=r.name,a;if(r.value&&typeof r.value==`object`){if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,a=e.evaluater.evaluateExpression(t.expression)}else Xe(e,t.position)}else a=r.value===null||r.value;n[i]=a}return n}function Ke(e,t){let n=[],r=-1,i=e.passKeys?new Map:Oe;for(;++ri?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a0?(I(e,e.length,0,t),e):t}var ct={}.hasOwnProperty;function lt(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}function R(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var z=G(/[A-Za-z]/),B=G(/[\dA-Za-z]/),pt=G(/[#-'*+\--9=?A-Z^-~]/);function mt(e){return e!==null&&(e<32||e===127)}var ht=G(/\d/),gt=G(/[\dA-Fa-f]/),_t=G(/[!-/:-@[-`{-~]/);function V(e){return e!==null&&e<-2}function H(e){return e!==null&&(e<0||e===32)}function U(e){return e===-2||e===-1||e===32}var vt=G(/\p{P}|\p{S}/u),W=G(/\s/);function G(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function yt(e){let t=[],n=-1,r=0,i=0;for(;++n55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&=(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,``),i&&=(n+=i,0)}return t.join(``)+e.slice(r)}function K(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return U(r)?(e.enter(n),s(r)):t(r)}function s(r){return U(r)&&a++o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;er;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Tt(e,t,n){return K(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function Et(e){if(e===null||H(e)||W(e))return 1;if(vt(e))return 2}function Dt(e,t,n){let r=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};jt(d,-c),jt(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=L(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=L(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=L(l,Dt(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=L(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=L(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,I(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n0&&U(t)?K(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||V(t)?e.check(Wt,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||V(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),U(t)?K(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),U(t)?K(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||V(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function qt(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var Jt={name:`codeIndented`,tokenize:Xt},Yt={partial:!0,tokenize:Zt};function Xt(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),K(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):V(t)?e.attempt(Yt,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||V(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function Zt(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):V(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):K(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):V(e)?i(e):n(e)}}var Qt={name:`codeText`,previous:en,resolve:$t,tokenize:tn};function $t(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&rn(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),rn(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),rn(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0)){if(e=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function fn(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||mt(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||V(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||H(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):V(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||V(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||=!U(t),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function mn(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):V(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),K(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||V(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function hn(e,t){let n;return r;function r(i){return V(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):U(i)?K(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var gn={name:`definition`,tokenize:vn},_n={partial:!0,tokenize:yn};function vn(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return pn.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=R(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return H(t)?hn(e,l)(t):l(t)}function l(t){return fn(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(_n,d,d)(t)}function d(t){return U(t)?K(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||V(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function yn(e,t,n){return r;function r(t){return H(t)?hn(e,i)(t):n(t)}function i(t){return mn(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return U(t)?K(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||V(e)?t(e):n(e)}}var bn={name:`hardBreakEscape`,tokenize:xn};function xn(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return V(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var Sn={name:`headingAtx`,resolve:Cn,tokenize:wn};function Cn(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},I(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function wn(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||H(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||V(n)?(e.exit(`atxHeading`),t(n)):U(n)?K(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||H(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var Tn=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),En=[`pre`,`script`,`style`,`textarea`],Dn={concrete:!0,name:`htmlFlow`,resolveTo:An,tokenize:jn},On={partial:!0,tokenize:Nn},kn={partial:!0,tokenize:Mn};function An(e){let t=e.length;for(;t--&&(e[t][0]!==`enter`||e[t][1].type!==`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function jn(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:N):z(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):z(a)?(e.consume(a),i=4,r.interrupt?t:N):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:N):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:O:m):n(i)}function h(t){return z(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||H(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&En.includes(l)?(i=1,r.interrupt?t(s):O(s)):Tn.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):O(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||B(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:O):n(i)}function v(t){return U(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||z(t)?(e.consume(t),b):U(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||B(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):U(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):U(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||V(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||H(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||U(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),D):n(t)}function D(t){return t===null||V(t)?O(t):U(t)?(e.consume(t),D):n(t)}function O(t){return t===45&&i===2?(e.consume(t),j):t===60&&i===1?(e.consume(t),M):t===62&&i===4?(e.consume(t),P):t===63&&i===3?(e.consume(t),N):t===93&&i===5?(e.consume(t),ne):V(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(On,re,k)(t)):t===null||V(t)?(e.exit(`htmlFlowData`),k(t)):(e.consume(t),O)}function k(t){return e.check(kn,A,re)(t)}function A(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),ee}function ee(t){return t===null||V(t)?k(t):(e.enter(`htmlFlowData`),O(t))}function j(t){return t===45?(e.consume(t),N):O(t)}function M(t){return t===47?(e.consume(t),o=``,te):O(t)}function te(t){if(t===62){let n=o.toLowerCase();return En.includes(n)?(e.consume(t),P):O(t)}return z(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),te):O(t)}function ne(t){return t===93?(e.consume(t),N):O(t)}function N(t){return t===62?(e.consume(t),P):t===45&&i===2?(e.consume(t),N):O(t)}function P(t){return t===null||V(t)?(e.exit(`htmlFlowData`),re(t)):(e.consume(t),P)}function re(n){return e.exit(`htmlFlow`),t(n)}}function Mn(e,t,n){let r=this;return i;function i(t){return V(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function Nn(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(Pt,t,n)}}var Pn={name:`htmlText`,tokenize:Fn};function Fn(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):z(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):z(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):V(t)?(o=d,M(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?j(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):V(t)?(o=h,M(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?j(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?j(t):V(t)?(o=v,M(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):V(t)?(o=y,M(t)):(e.consume(t),y)}function b(e){return e===62?j(e):y(e)}function x(t){return z(t)?(e.consume(t),S):n(t)}function S(t){return t===45||B(t)?(e.consume(t),S):C(t)}function C(t){return V(t)?(o=C,M(t)):U(t)?(e.consume(t),C):j(t)}function w(t){return t===45||B(t)?(e.consume(t),w):t===47||t===62||H(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),j):t===58||t===95||z(t)?(e.consume(t),E):V(t)?(o=T,M(t)):U(t)?(e.consume(t),T):j(t)}function E(t){return t===45||t===46||t===58||t===95||B(t)?(e.consume(t),E):D(t)}function D(t){return t===61?(e.consume(t),O):V(t)?(o=D,M(t)):U(t)?(e.consume(t),D):T(t)}function O(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,k):V(t)?(o=O,M(t)):U(t)?(e.consume(t),O):(e.consume(t),A)}function k(t){return t===i?(e.consume(t),i=void 0,ee):t===null?n(t):V(t)?(o=k,M(t)):(e.consume(t),k)}function A(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||H(t)?T(t):(e.consume(t),A)}function ee(e){return e===47||e===62||H(e)?T(e):n(e)}function j(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function M(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),te}function te(t){return U(t)?K(e,ne,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):ne(t)}function ne(t){return e.enter(`htmlTextData`),o(t)}}var In={name:`labelEnd`,resolveAll:Bn,resolveTo:Vn,tokenize:Hn},Ln={tokenize:Un},Rn={tokenize:Wn},zn={tokenize:Gn};function Bn(e){let t=-1,n=[];for(;++t=3&&(a===null||V(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),U(t)?K(e,s,`whitespace`)(t):s(t))}}var q={continuation:{tokenize:rr},exit:ar,name:`list`,tokenize:nr},er={partial:!0,tokenize:or},tr={partial:!0,tokenize:ir};function nr(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:ht(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(Qn,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return ht(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(Pt,r.interrupt?n:u,e.attempt(er,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return U(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function rr(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(Pt,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,K(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!U(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(tr,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,K(e,e.attempt(q,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function ir(e,t,n){let r=this;return K(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function ar(e){e.exit(this.containerState.type)}function or(e,t,n){let r=this;return K(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!U(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var sr={name:`setextUnderline`,resolveTo:cr,tokenize:lr};function cr(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function lr(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),U(t)?K(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||V(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var ur={tokenize:dr};function dr(e){let t=this,n=e.attempt(Pt,r,e.attempt(this.parser.constructs.flowInitial,i,K(e,e.attempt(this.parser.constructs.flow,i,e.attempt(sn,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var fr={resolveAll:gr()},pr=hr(`string`),mr=hr(`text`);function hr(e){return{resolveAll:gr(e===`text`?_r:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++iEr,contentInitial:()=>br,disable:()=>Dr,document:()=>yr,flow:()=>Sr,flowInitial:()=>xr,insideSpan:()=>Tr,string:()=>Cr,text:()=>wr}),yr={42:q,43:q,45:q,48:q,49:q,50:q,51:q,52:q,53:q,54:q,55:q,56:q,57:q,62:It},br={91:gn},xr={[-2]:Jt,[-1]:Jt,32:Jt},Sr={35:Sn,42:Qn,45:[sr,Qn],60:Dn,61:sr,95:Qn,96:Gt,126:Gt},Cr={38:Ht,92:Bt},wr={[-5]:Xn,[-4]:Xn,[-3]:Xn,33:Kn,38:Ht,42:Ot,60:[Mt,Pn],91:Jn,92:[bn,Bt],93:In,95:Ot,96:Qt},Tr={null:[Ot,fr]},Er={null:[42,95]},Dr={null:[]};function Or(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=L(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=Dt(a,l.events,l),l.events):[]}function f(e,t){return Ar(p(e),t)}function p(e){return kr(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function Ar(e,t){let n=-1,r=[],i;for(;++n0){let e=a.tokenStack[a.tokenStack.length-1];(e[1]||Ur).call(a,void 0,e[0])}for(r.position={start:J(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:J(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d0&&(r.className=[`language-`+i[0]]);let a={type:`element`,tagName:`code`,properties:r,children:[{type:`text`,value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:`element`,tagName:`pre`,properties:{},children:[a]},e.patch(t,a),a}function Jr(e,t){let n={type:`element`,tagName:`del`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Yr(e,t){let n={type:`element`,tagName:`em`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Xr(e,t){let n=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,r=String(t.identifier).toUpperCase(),i=yt(r.toLowerCase()),a=e.footnoteOrder.indexOf(r),o,s=e.footnoteCounts.get(r);s===void 0?(s=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(r,s);let c={type:`element`,tagName:`a`,properties:{href:`#`+n+`fn-`+i,id:n+`fnref-`+i+(s>1?`-`+s:``),dataFootnoteRef:!0,ariaDescribedBy:[`footnote-label`]},children:[{type:`text`,value:String(o)}]};e.patch(t,c);let l={type:`element`,tagName:`sup`,properties:{},children:[c]};return e.patch(t,l),e.applyData(t,l)}function Zr(e,t){let n={type:`element`,tagName:`h`+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Qr(e,t){if(e.options.allowDangerousHtml){let n={type:`raw`,value:t.value};return e.patch(t,n),e.applyData(t,n)}}function $r(e,t){let n=t.referenceType,r=`]`;if(n===`collapsed`?r+=`[]`:n===`full`&&(r+=`[`+(t.label||t.identifier)+`]`),t.type===`imageReference`)return[{type:`text`,value:`![`+t.alt+r}];let i=e.all(t),a=i[0];a&&a.type===`text`?a.value=`[`+a.value:i.unshift({type:`text`,value:`[`});let o=i[i.length-1];return o&&o.type===`text`?o.value+=r:i.push({type:`text`,value:r}),i}function ei(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return $r(e,t);let i={src:yt(r.url||``),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`img`,properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function ti(e,t){let n={src:yt(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`img`,properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function ni(e,t){let n={type:`text`,value:t.value.replace(/\r?\n|\r/g,` `)};e.patch(t,n);let r={type:`element`,tagName:`code`,properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function ri(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return $r(e,t);let i={href:yt(r.url||``)};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`a`,properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function ii(e,t){let n={href:yt(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`a`,properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function ai(e,t,n){let r=e.all(t),i=n?oi(n):si(t),a={},o=[];if(typeof t.checked==`boolean`){let e=r[0],n;e&&e.type===`element`&&e.tagName===`p`?n=e:(n={type:`element`,tagName:`p`,properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:`text`,value:` `}),n.children.unshift({type:`element`,tagName:`input`,properties:{type:`checkbox`,checked:t.checked,disabled:!0},children:[]}),a.className=[`task-list-item`]}let s=-1;for(;++s1}function ci(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start==`number`&&t.start!==1&&(n.start=t.start);++i0){let r={type:`element`,tagName:`tbody`,properties:{},children:e.wrap(n,!0)},a=ye(t.children[1]),o=ve(t.children[t.children.length-1]);a&&o&&(r.position={start:a,end:o}),i.push(r)}let a={type:`element`,tagName:`table`,properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function pi(e,t,n){let r=n?n.children:void 0,i=(r?r.indexOf(t):1)===0?`th`:`td`,a=n&&n.type===`table`?n.align:void 0,o=a?a.length:t.children.length,s=-1,c=[];for(;++s0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(vi(t.slice(i),i>0,!1)),a.join(``)}function vi(e,t,n){let r=0,i=e.length;if(t){let t=e.codePointAt(r);for(;t===hi||t===gi;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(i-1);for(;t===hi||t===gi;)i--,t=e.codePointAt(i-1)}return i>r?e.slice(r,i):``}function yi(e,t){let n={type:`text`,value:_i(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function bi(e,t){let n={type:`element`,tagName:`hr`,properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var xi={blockquote:Gr,break:Kr,code:qr,delete:Jr,emphasis:Yr,footnoteReference:Xr,heading:Zr,html:Qr,imageReference:ei,image:ti,inlineCode:ni,linkReference:ri,link:ii,listItem:ai,list:ci,paragraph:li,root:ui,strong:di,table:fi,tableCell:mi,tableRow:pi,text:yi,thematicBreak:bi,toml:Si,yaml:Si,definition:Si,footnoteDefinition:Si};function Si(){}var Ci=typeof self==`object`?self:globalThis,wi=(e,t)=>{switch(e){case`Function`:case`SharedWorker`:case`Worker`:case`eval`:case`setInterval`:case`setTimeout`:throw TypeError(`unable to deserialize `+e)}return new Ci[e](t)},Ti=(e,t)=>{let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(typeof Ci[e]==`function`?wi(e,t):Error(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(wi(a,o),i)};return r},Ei=e=>Ti(new Map,e)(0),Y=``,{toString:Di}={},{keys:Oi}=Object,ki=e=>{let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Di.call(e).slice(8,-1);switch(n){case`Array`:return[1,Y];case`Object`:return[2,Y];case`Date`:return[3,Y];case`RegExp`:return[4,Y];case`Map`:return[5,Y];case`Set`:return[6,Y];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:e instanceof Error?[7,e.name||`Error`]:[2,n]},Ai=([e,t])=>e===0&&(t===`function`||t===`symbol`),ji=(e,t,n,r)=>{let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=ki(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize `+s);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of Oi(r))(e||!Ai(ki(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,isNaN(r.getTime())?Y:r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(Ai(ki(n))||Ai(ki(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Ai(ki(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a},Mi=(e,{json:t,lossy:n}={})=>{let r=[];return ji(!(t||n),!!t,new Map,r)(e),r},Ni=typeof structuredClone==`function`?(e,t)=>t&&(`json`in t||`lossy`in t)?Ei(Mi(e,t)):structuredClone(e):(e,t)=>Ei(Mi(e,t));function Pi(e,t){let n=[{type:`text`,value:`↩`}];return t>1&&n.push({type:`element`,tagName:`sup`,properties:{},children:[{type:`text`,value:String(t)}]}),n}function Fi(e,t){return`Back to reference `+(e+1)+(t>1?`-`+t:``)}function Ii(e){let t=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,n=e.options.footnoteBackContent||Pi,r=e.options.footnoteBackLabel||Fi,i=e.options.footnoteLabel||`Footnotes`,a=e.options.footnoteLabelTagName||`h2`,o=e.options.footnoteLabelProperties||{className:[`sr-only`]},s=[],c=-1;for(;++c0&&d.push({type:`text`,value:` `});let e=typeof n==`string`?n:n(c,u);typeof e==`string`&&(e={type:`text`,value:e}),d.push({type:`element`,tagName:`a`,properties:{href:`#`+t+`fnref-`+l+(u>1?`-`+u:``),dataFootnoteBackref:``,ariaLabel:typeof r==`string`?r:r(c,u),className:[`data-footnote-backref`]},children:Array.isArray(e)?e:[e]})}let p=a[a.length-1];if(p&&p.type===`element`&&p.tagName===`p`){let e=p.children[p.children.length-1];e&&e.type===`text`?e.value+=` `:p.children.push({type:`text`,value:` `}),p.children.push(...d)}else a.push(...d);let m={type:`element`,tagName:`li`,properties:{id:t+`fn-`+l},children:e.wrap(a,!0)};e.patch(i,m),s.push(m)}if(s.length!==0)return{type:`element`,tagName:`section`,properties:{dataFootnotes:!0,className:[`footnotes`]},children:[{type:`element`,tagName:a,properties:{...Ni(o),id:`footnote-label`},children:[{type:`text`,value:i}]},{type:`text`,value:` +`},{type:`element`,tagName:`ol`,properties:{},children:e.wrap(s,!0)},{type:`text`,value:` +`}]}}var Li=(function(e){if(e==null)return Hi;if(typeof e==`function`)return Vi(e);if(typeof e==`object`)return Array.isArray(e)?Ri(e):zi(e);if(typeof e==`string`)return Bi(e);throw Error(`Expected function, string, or object as test`)});function Ri(e){let t=[],n=-1;for(;++n`:``))+`)`})}return u;function u(){let l=Gi,u,d,f;if((!t||a(e,i,c[c.length-1]||void 0))&&(l=qi(n(e,c)),l[0]===!1))return l;if(`children`in e&&e.children){let t=e;if(t.children&&l[0]!==`skip`)for(d=(r?t.children.length:-1)+o,f=c.concat(t);d>-1&&d0&&n.push({type:`text`,value:` +`}),n}function na(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function ra(e,t){let n=Zi(e,t),r=n.one(e,void 0),i=Ii(n),a=Array.isArray(r)?{type:`root`,children:r}:r||{type:`root`,children:[]};return i&&(`children`in a,a.children.push({type:`text`,value:` +`},i)),a}function ia(e,t){return e&&`run`in e?async function(n,r){let i=ra(n,{file:r,...t});await e.run(i,r)}:function(n,r){return ra(n,{file:r,...e||t})}}function aa(e){if(e)throw e}var oa=t(n(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=function(e){return typeof Array.isArray==`function`?Array.isArray(e):r.call(e)===`[object Array]`},s=function(e){if(!e||r.call(e)!==`[object Object]`)return!1;var t=n.call(e,`constructor`),i=e.constructor&&e.constructor.prototype&&n.call(e.constructor.prototype,`isPrototypeOf`);if(e.constructor&&!t&&!i)return!1;for(var a in e);return a===void 0||n.call(e,a)},c=function(e,t){i&&t.name===`__proto__`?i(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,t){if(t===`__proto__`){if(!n.call(e,t))return;if(a)return a(e,t).value}return e[t]};t.exports=function e(){var t,n,r,i,a,u,d=arguments[0],f=1,p=arguments.length,m=!1;for(typeof d==`boolean`&&(m=d,d=arguments[1]||{},f=2),(d==null||typeof d!=`object`&&typeof d!=`function`)&&(d={});ft.length,o;r&&t.push(i);try{o=e.apply(this,t)}catch(e){let t=e;if(r&&n)throw t;return i(t)}r||(o&&o.then&&typeof o.then==`function`?o.then(a,i):o instanceof Error?i(o):a(o))}function i(e,...r){n||(n=!0,t(e,...r))}function a(e){i(null,e)}}var X={basename:ua,dirname:da,extname:fa,join:pa,sep:`/`};function ua(e,t){if(t!==void 0&&typeof t!=`string`)throw TypeError(`"ext" argument must be a string`);ga(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?``:e.slice(n,r)}if(t===e)return``;let o=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else o<0&&(a=!0,o=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function da(e){if(ga(e),e.length===0)return`.`;let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||=!0;return t<0?e.codePointAt(0)===47?`/`:`.`:t===1&&e.codePointAt(0)===47?`//`:e.slice(0,t)}function fa(e){ga(e);let t=e.length,n=-1,r=0,i=-1,a=0,o;for(;t--;){let s=e.codePointAt(t);if(s===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),s===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?``:e.slice(i,n)}function pa(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+=`/`),t?`/`+n:n}function ha(e,t){let n=``,r=0,i=-1,a=0,o=-1,s,c;for(;++o<=e.length;){if(o2){if(c=n.lastIndexOf(`/`),c!==n.length-1){c<0?(n=``,r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf(`/`)),i=o,a=0;continue}}else if(n.length>0){n=``,r=0,i=o,a=0;continue}}t&&(n=n.length>0?n+`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,o):n=e.slice(i+1,o),r=o-i-1}i=o,a=0}else s===46&&a>-1?a++:a=-1}return n}function ga(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}var _a={cwd:va};function va(){return`/`}function ya(e){return!!(typeof e==`object`&&e&&`href`in e&&e.href&&`protocol`in e&&e.protocol&&e.auth===void 0)}function ba(e){if(typeof e==`string`)e=new URL(e);else if(!ya(e)){let t=TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code=`ERR_INVALID_ARG_TYPE`,t}if(e.protocol!==`file:`){let e=TypeError(`The URL must be of scheme file`);throw e.code=`ERR_INVALID_URL_SCHEME`,e}return xa(e)}function xa(e){if(e.hostname!==``){let e=TypeError(`File URL host must be "localhost" or empty on darwin`);throw e.code=`ERR_INVALID_FILE_URL_HOST`,e}let t=e.pathname,n=-1;for(;++n0){let[r,...a]=t,o=n[i][1];sa(o)&&sa(r)&&(r=(0,oa.default)(!0,o,r)),n[i]=[e,r,...a]}}}}().freeze();function ja(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `parser`")}function Ma(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `compiler`")}function Na(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Pa(e){if(!sa(e)||typeof e.type!=`string`)throw TypeError("Expected node, got `"+e+"`")}function Fa(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function Ia(e){return La(e)?e:new Ca(e)}function La(e){return!!(e&&typeof e==`object`&&`message`in e&&`messages`in e)}function Ra(e){return typeof e==`string`||za(e)}function za(e){return!!(e&&typeof e==`object`&&`byteLength`in e&&`byteOffset`in e)}var Ba=i();r();var Va=[],Ha={allowDangerousHtml:!0},Ua=/^(https?|ircs?|mailto|xmpp)$/i,Wa=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function Ga(e){let t=Ka(e),n=qa(e);return Ja(t.runSync(t.parse(n),n),e)}function Ka(e){let t=e.rehypePlugins||Va,n=e.remarkPlugins||Va,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Ha}:Ha;return Aa().use(Wr).use(n).use(ia,r).use(t)}function qa(e){let t=e.children||``,n=new Ca;return typeof t==`string`?n.value=t:``+t,n}function Ja(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||Ya;for(let e of Wa)Object.hasOwn(t,e.from)&&``+e.from+(e.to?"use `"+e.to+"` instead":`remove it`)+e.id;return Ji(e,l),Me(e,{Fragment:Ba.Fragment,components:i,ignoreInvalidStyle:!0,jsx:Ba.jsx,jsxs:Ba.jsxs,passKeys:!0,passNode:!0});function l(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in et)if(Object.hasOwn(et,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=et[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=c(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function Ya(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||Ua.test(e.slice(0,t))?e:``}function Xa(e,t){let n=String(e);if(typeof t!=`string`)throw TypeError(`Expected character`);let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function Za(e){if(typeof e!=`string`)throw TypeError(`Expected a string`);return e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`)}function Qa(e,t,n){let r=Li((n||{}).ignore||[]),i=$a(t),a=-1;for(;++a0?{type:`text`,value:a}:void 0),a===!1?r.lastIndex=n+1:(s!==n&&u.push({type:`text`,value:e.value.slice(s,n)}),Array.isArray(a)?u.push(...a):a&&u.push(a),s=n+d[0].length,l=!0),!r.global)break;d=r.exec(e.value)}return l?(s?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(`)`),i=Xa(e,`(`),a=Xa(e,`)`);for(;r!==-1&&i>a;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(`)`),a++;return[e,n]}function vo(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||W(n)||vt(n))&&(!t||n!==47)}Oo.peek=Do;function yo(){this.buffer()}function bo(e){this.enter({type:`footnoteReference`,identifier:``,label:``},e)}function xo(){this.buffer()}function So(e){this.enter({type:`footnoteDefinition`,identifier:``,label:``,children:[]},e)}function Co(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=R(this.sliceSerialize(e)).toLowerCase(),n.label=t}function wo(e){this.exit(e)}function To(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=R(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Eo(e){this.exit(e)}function Do(){return`[`}function Oo(e,t,n,r){let i=n.createTracker(r),a=i.move(`[^`),o=n.enter(`footnoteReference`),s=n.enter(`reference`);return a+=i.move(n.safe(n.associationId(e),{after:`]`,before:a})),s(),o(),a+=i.move(`]`),a}function ko(){return{enter:{gfmFootnoteCallString:yo,gfmFootnoteCall:bo,gfmFootnoteDefinitionLabelString:xo,gfmFootnoteDefinition:So},exit:{gfmFootnoteCallString:Co,gfmFootnoteCall:wo,gfmFootnoteDefinitionLabelString:To,gfmFootnoteDefinition:Eo}}}function Ao(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:Oo},unsafe:[{character:`[`,inConstruct:[`label`,`phrasing`,`reference`]}]};function n(e,n,r,i){let a=r.createTracker(i),o=a.move(`[^`),s=r.enter(`footnoteDefinition`),c=r.enter(`label`);return o+=a.move(r.safe(r.associationId(e),{before:o,after:`]`})),c(),o+=a.move(`]:`),e.children&&e.children.length>0&&(a.shift(4),o+=a.move((t?` +`:` `)+r.indentLines(r.containerFlow(e,a.current()),t?Mo:jo))),s(),o}}function jo(e,t,n){return t===0?e:Mo(e,t,n)}function Mo(e,t,n){return(n?``:` `)+e}var No=[`autolink`,`destinationLiteral`,`destinationRaw`,`reference`,`titleQuote`,`titleApostrophe`];Ro.peek=zo;function Po(){return{canContainEols:[`delete`],enter:{strikethrough:Io},exit:{strikethrough:Lo}}}function Fo(){return{unsafe:[{character:`~`,inConstruct:`phrasing`,notInConstruct:No}],handlers:{delete:Ro}}}function Io(e){this.enter({type:`delete`,children:[]},e)}function Lo(e){this.exit(e)}function Ro(e,t,n,r){let i=n.createTracker(r),a=n.enter(`strikethrough`),o=i.move(`~~`);return o+=n.containerPhrasing(e,{...i.current(),before:o,after:`~`}),o+=i.move(`~~`),a(),o}function zo(){return`~`}function Bo(e){return e.length}function Vo(e,t){let n=t||{},r=(n.align||[]).concat(),i=n.stringLength||Bo,a=[],o=[],s=[],c=[],l=0,u=-1;for(;++ul&&(l=e[u].length);++ac[a])&&(c[a]=e)}t.push(o)}o[u]=t,s[u]=r}let d=-1;if(typeof r==`object`&&`length`in r)for(;++dc[d]&&(c[d]=i),p[d]=i),f[d]=o}o.splice(1,0,f),s.splice(1,0,p),u=-1;let m=[];for(;++u `),a.shift(2);let o=n.indentLines(n.containerFlow(e,a.current()),Go);return i(),o}function Go(e,t,n){return`>`+(n?``:` `)+e}function Ko(e,t){return qo(e,t.inConstruct,!0)&&!qo(e,t.notInConstruct,!1)}function qo(e,t,n){if(typeof t==`string`&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++ro&&(o=a):a=1,i=r+t.length,r=n.indexOf(t,i);return o}function Xo(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function Zo(e){let t=e.options.fence||"`";if(t!=="`"&&t!==`~`)throw Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function Qo(e,t,n,r){let i=Zo(n),a=e.value||``,o=i==="`"?`GraveAccent`:`Tilde`;if(Xo(e,n)){let e=n.enter(`codeIndented`),t=n.indentLines(a,$o);return e(),t}let s=n.createTracker(r),c=i.repeat(Math.max(Yo(a,i)+1,3)),l=n.enter(`codeFenced`),u=s.move(c);if(e.lang){let t=n.enter(`codeFencedLang${o}`);u+=s.move(n.safe(e.lang,{before:u,after:` `,encode:["`"],...s.current()})),t()}if(e.lang&&e.meta){let t=n.enter(`codeFencedMeta${o}`);u+=s.move(` `),u+=s.move(n.safe(e.meta,{before:u,after:` +`,encode:["`"],...s.current()})),t()}return u+=s.move(` +`),a&&(u+=s.move(a+` +`)),u+=s.move(c),l(),u}function $o(e,t,n){return(n?``:` `)+e}function es(e){let t=e.options.quote||`"`;if(t!==`"`&&t!==`'`)throw Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function ts(e,t,n,r){let i=es(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.enter(`definition`),s=n.enter(`label`),c=n.createTracker(r),l=c.move(`[`);return l+=c.move(n.safe(n.associationId(e),{before:l,after:`]`,...c.current()})),l+=c.move(`]: `),s(),!e.url||/[\0- \u007F]/.test(e.url)?(s=n.enter(`destinationLiteral`),l+=c.move(`<`),l+=c.move(n.safe(e.url,{before:l,after:`>`,...c.current()})),l+=c.move(`>`)):(s=n.enter(`destinationRaw`),l+=c.move(n.safe(e.url,{before:l,after:e.title?` `:` +`,...c.current()}))),s(),e.title&&(s=n.enter(`title${a}`),l+=c.move(` `+i),l+=c.move(n.safe(e.title,{before:l,after:i,...c.current()})),l+=c.move(i),s()),o(),l}function ns(e){let t=e.options.emphasis||`*`;if(t!==`*`&&t!==`_`)throw Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function rs(e){return`&#x`+e.toString(16).toUpperCase()+`;`}function is(e,t,n){let r=Et(e),i=Et(t);return r===void 0?i===void 0?n===`_`?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}as.peek=os;function as(e,t,n,r){let i=ns(n),a=n.enter(`emphasis`),o=n.createTracker(r),s=o.move(i),c=o.move(n.containerPhrasing(e,{after:i,before:s,...o.current()})),l=c.charCodeAt(0),u=is(r.before.charCodeAt(r.before.length-1),l,i);u.inside&&(c=rs(l)+c.slice(1));let d=c.charCodeAt(c.length-1),f=is(r.after.charCodeAt(0),d,i);f.inside&&(c=c.slice(0,-1)+rs(d));let p=o.move(i);return a(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},s+c+p}function os(e,t,n){return n.options.emphasis||`*`}function ss(e,t){let n=!1;return Ji(e,function(e){if(`value`in e&&/\r?\n|\r/.test(e.value)||e.type===`break`)return n=!0,!1}),!!((!e.depth||e.depth<3)&&nt(e)&&(t.options.setext||n))}function cs(e,t,n,r){let i=Math.max(Math.min(6,e.depth||1),1),a=n.createTracker(r);if(ss(e,n)){let t=n.enter(`headingSetext`),r=n.enter(`phrasing`),o=n.containerPhrasing(e,{...a.current(),before:` +`,after:` +`});return r(),t(),o+` +`+(i===1?`=`:`-`).repeat(o.length-(Math.max(o.lastIndexOf(`\r`),o.lastIndexOf(` +`))+1))}let o=`#`.repeat(i),s=n.enter(`headingAtx`),c=n.enter(`phrasing`);a.move(o+` `);let l=n.containerPhrasing(e,{before:`# `,after:` +`,...a.current()});return/^[\t ]/.test(l)&&(l=rs(l.charCodeAt(0))+l.slice(1)),l=l?o+` `+l:o,n.options.closeAtx&&(l+=` `+o),c(),s(),l}ls.peek=us;function ls(e){return e.value||``}function us(){return`<`}ds.peek=fs;function ds(e,t,n,r){let i=es(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.enter(`image`),s=n.enter(`label`),c=n.createTracker(r),l=c.move(`![`);return l+=c.move(n.safe(e.alt,{before:l,after:`]`,...c.current()})),l+=c.move(`](`),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter(`destinationLiteral`),l+=c.move(`<`),l+=c.move(n.safe(e.url,{before:l,after:`>`,...c.current()})),l+=c.move(`>`)):(s=n.enter(`destinationRaw`),l+=c.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...c.current()}))),s(),e.title&&(s=n.enter(`title${a}`),l+=c.move(` `+i),l+=c.move(n.safe(e.title,{before:l,after:i,...c.current()})),l+=c.move(i),s()),l+=c.move(`)`),o(),l}function fs(){return`!`}ps.peek=ms;function ps(e,t,n,r){let i=e.referenceType,a=n.enter(`imageReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`![`),l=n.safe(e.alt,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=[],o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function ms(){return`!`}hs.peek=gs;function hs(e,t,n){let r=e.value||``,i="`",a=-1;for(;RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=` `+r+` `);++a\u007F]/.test(e.url))}vs.peek=ys;function vs(e,t,n,r){let i=es(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.createTracker(r),s,c;if(_s(e,n)){let t=n.stack;n.stack=[],s=n.enter(`autolink`);let r=o.move(`<`);return r+=o.move(n.containerPhrasing(e,{before:r,after:`>`,...o.current()})),r+=o.move(`>`),s(),n.stack=t,r}s=n.enter(`link`),c=n.enter(`label`);let l=o.move(`[`);return l+=o.move(n.containerPhrasing(e,{before:l,after:`](`,...o.current()})),l+=o.move(`](`),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter(`destinationLiteral`),l+=o.move(`<`),l+=o.move(n.safe(e.url,{before:l,after:`>`,...o.current()})),l+=o.move(`>`)):(c=n.enter(`destinationRaw`),l+=o.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...o.current()}))),c(),e.title&&(c=n.enter(`title${a}`),l+=o.move(` `+i),l+=o.move(n.safe(e.title,{before:l,after:i,...o.current()})),l+=o.move(i),c()),l+=o.move(`)`),s(),l}function ys(e,t,n){return _s(e,n)?`<`:`[`}bs.peek=xs;function bs(e,t,n,r){let i=e.referenceType,a=n.enter(`linkReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`[`),l=n.containerPhrasing(e,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=[],o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function xs(){return`[`}function Ss(e){let t=e.options.bullet||`*`;if(t!==`*`&&t!==`+`&&t!==`-`)throw Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function Cs(e){let t=Ss(e),n=e.options.bulletOther;if(!n)return t===`*`?`-`:`*`;if(n!==`*`&&n!==`+`&&n!==`-`)throw Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function ws(e){let t=e.options.bulletOrdered||`.`;if(t!==`.`&&t!==`)`)throw Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function Ts(e){let t=e.options.rule||`*`;if(t!==`*`&&t!==`-`&&t!==`_`)throw Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function Es(e,t,n,r){let i=n.enter(`list`),a=n.bulletCurrent,o=e.ordered?ws(n):Ss(n),s=e.ordered?o===`.`?`)`:`.`:Cs(n),c=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){let t=e.children?e.children[0]:void 0;if((o===`*`||o===`-`)&&t&&(!t.children||!t.children[0])&&n.stack[n.stack.length-1]===`list`&&n.stack[n.stack.length-2]===`listItem`&&n.stack[n.stack.length-3]===`list`&&n.stack[n.stack.length-4]===`listItem`&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(c=!0),Ts(n)===o&&t){let t=-1;for(;++t-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let o=a.length+1;(i===`tab`||i===`mixed`&&(t&&t.type===`list`&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);let s=n.createTracker(r);s.move(a+` `.repeat(o-a.length)),s.shift(o);let c=n.enter(`listItem`),l=n.indentLines(n.containerFlow(e,s.current()),u);return c(),l;function u(e,t,n){return t?(n?``:` `.repeat(o))+e:(n?a:a+` `.repeat(o-a.length))+e}}function ks(e,t,n,r){let i=n.enter(`paragraph`),a=n.enter(`phrasing`),o=n.containerPhrasing(e,r);return a(),i(),o}var As=Li([`break`,`delete`,`emphasis`,`footnote`,`footnoteReference`,`image`,`imageReference`,`inlineCode`,`inlineMath`,`link`,`linkReference`,`mdxJsxTextElement`,`mdxTextExpression`,`strong`,`text`,`textDirective`]);function js(e,t,n,r){return(e.children.some(function(e){return As(e)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function Ms(e){let t=e.options.strong||`*`;if(t!==`*`&&t!==`_`)throw Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}Ns.peek=Ps;function Ns(e,t,n,r){let i=Ms(n),a=n.enter(`strong`),o=n.createTracker(r),s=o.move(i+i),c=o.move(n.containerPhrasing(e,{after:i,before:s,...o.current()})),l=c.charCodeAt(0),u=is(r.before.charCodeAt(r.before.length-1),l,i);u.inside&&(c=rs(l)+c.slice(1));let d=c.charCodeAt(c.length-1),f=is(r.after.charCodeAt(0),d,i);f.inside&&(c=c.slice(0,-1)+rs(d));let p=o.move(i+i);return a(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},s+c+p}function Ps(e,t,n){return n.options.strong||`*`}function Fs(e,t,n,r){return n.safe(e.value,r)}function Is(e){let t=e.options.ruleRepetition||3;if(t<3)throw Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Ls(e,t,n){let r=(Ts(n)+(n.options.ruleSpaces?` `:``)).repeat(Is(n));return n.options.ruleSpaces?r.slice(0,-1):r}var Rs={blockquote:Wo,break:Jo,code:Qo,definition:ts,emphasis:as,hardBreak:Jo,heading:cs,html:ls,image:ds,imageReference:ps,inlineCode:hs,link:vs,linkReference:bs,list:Es,listItem:Os,paragraph:ks,root:js,strong:Ns,text:Fs,thematicBreak:Ls};function zs(){return{enter:{table:Bs,tableData:Ws,tableHeader:Ws,tableRow:Hs},exit:{codeText:Gs,table:Vs,tableData:Us,tableHeader:Us,tableRow:Us}}}function Bs(e){let t=e._align;this.enter({type:`table`,align:t.map(function(e){return e===`none`?null:e}),children:[]},e),this.data.inTable=!0}function Vs(e){this.exit(e),this.data.inTable=void 0}function Hs(e){this.enter({type:`tableRow`,children:[]},e)}function Us(e){this.exit(e)}function Ws(e){this.enter({type:`tableCell`,children:[]},e)}function Gs(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Ks));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Ks(e,t){return t===`|`?t:e}function qs(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?` `:`|`;return{unsafe:[{character:`\r`,inConstruct:`tableCell`},{character:` +`,inConstruct:`tableCell`},{atBreak:!0,character:`|`,after:`[ :-]`},{character:`|`,inConstruct:`tableCell`},{atBreak:!0,character:`:`,after:`-`},{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{inlineCode:f,table:o,tableCell:c,tableRow:s}};function o(e,t,n,r){return l(u(e,n,r),e.align)}function s(e,t,n,r){let i=l([d(e,n,r)]);return i.slice(0,i.indexOf(` +`))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return Vo(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var Sc={tokenize:Ac,partial:!0};function Cc(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:Dc,continuation:{tokenize:Oc},exit:kc}},text:{91:{name:`gfmFootnoteCall`,tokenize:Ec},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:wc,resolveTo:Tc}}}}function wc(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=R(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function Tc(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function Ec(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||H(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(R(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return H(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function Dc(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||H(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=R(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return H(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),K(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function Oc(e,t,n){return e.check(Pt,t,e.attempt(Sc,t,n))}function kc(e){e.exit(`gfmFootnoteDefinition`)}function Ac(e,t,n){let r=this;return K(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function jc(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=Et(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var Mc=class{constructor(){this.map=[]}add(e,t,n){Nc(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function Nc(e,t,n,r){let i=0;if(n!==0||r.length!==0){for(;i-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):V(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):U(t)?K(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||H(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,U(t)?K(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return U(t)?K(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||V(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return U(t)?K(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||V(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||V(n)?(e.exit(`tableRow`),t(n)):U(n)?K(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||H(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function Lc(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new Mc;for(;++nn[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},Bc(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function zc(e,t,n,r,i){let a=[],o=Bc(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function Bc(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var Vc={name:`tasklistCheck`,tokenize:Uc};function Hc(){return{text:{91:Vc}}}function Uc(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return H(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return V(r)?t(r):U(r)?e.check({tokenize:Wc},t,n)(r):n(r)}}function Wc(e,t,n){return K(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function Gc(e){return lt([cc(),Cc(),jc(e),Fc(),Hc()])}var Kc={};function qc(e){let t=this,n=e||Kc,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(Gc(n)),a.push($s()),o.push(ec(n))}export{Ga as n,qc as t}; \ No newline at end of file diff --git a/frontend/web/dist/assets/motion-a9woYdh8.js b/frontend/web/dist/assets/motion-a9woYdh8.js deleted file mode 100644 index 748f5d957..000000000 --- a/frontend/web/dist/assets/motion-a9woYdh8.js +++ /dev/null @@ -1,15 +0,0 @@ -function mt(u){if(u===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}function zi(u,t){u.prototype=Object.create(t.prototype),u.prototype.constructor=u,u.__proto__=t}/*! - * GSAP 3.15.0 - * https://gsap.com - * - * @license Copyright 2008-2026, GreenSock. All rights reserved. - * Subject to the terms at https://gsap.com/standard-license - * @author: Jack Doyle, jack@greensock.com -*/var nt={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},ae={duration:.5,overwrite:!1,delay:0},je,W,R,ft=1e8,M=1/ft,Ie=Math.PI*2,Dr=Ie/4,Rr=0,Fi=Math.sqrt,Ar=Math.cos,Er=Math.sin,q=function(t){return typeof t=="string"},I=function(t){return typeof t=="function"},yt=function(t){return typeof t=="number"},He=function(t){return typeof t>"u"},dt=function(t){return typeof t=="object"},K=function(t){return t!==!1},Je=function(){return typeof window<"u"},pe=function(t){return I(t)||q(t)},Li=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},Q=Array.isArray,zr=/random\([^)]+\)/g,Fr=/,\s*/g,mi=/(?:-?\.?\d|\.)+/gi,Ii=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,Yt=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,Me=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,Ni=/[+-]=-?[.\d]+/,Lr=/[^,'"\[\]\s]+/gi,Ir=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,E,_t,Ne,ti,st={},ve={},Bi,Vi=function(t){return(ve=Qt(t,st))&&J},ei=function(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")},oe=function(t,e){return!e&&console.warn(t)},Ui=function(t,e){return t&&(st[t]=e)&&ve&&(ve[t]=e)||st},ue=function(){return 0},Nr={suppressEvents:!0,isStart:!0,kill:!1},me={suppressEvents:!0,kill:!1},Br={suppressEvents:!0},ii={},bt=[],Be={},Yi,tt={},De={},gi=30,ge=[],ri="",ni=function(t){var e=t[0],i,r;if(dt(e)||I(e)||(t=[t]),!(i=(e._gsap||{}).harness)){for(r=ge.length;r--&&!ge[r].targetTest(e););i=ge[r]}for(r=t.length;r--;)t[r]&&(t[r]._gsap||(t[r]._gsap=new hr(t[r],i)))||t.splice(r,1);return t},Ft=function(t){return t._gsap||ni(ht(t))[0]._gsap},Xi=function(t,e,i){return(i=t[e])&&I(i)?t[e]():He(i)&&t.getAttribute&&t.getAttribute(e)||i},Z=function(t,e){return(t=t.split(",")).forEach(e)||t},V=function(t){return Math.round(t*1e5)/1e5||0},A=function(t){return Math.round(t*1e7)/1e7||0},qt=function(t,e){var i=e.charAt(0),r=parseFloat(e.substr(2));return t=parseFloat(t),i==="+"?t+r:i==="-"?t-r:i==="*"?t*r:t/r},Vr=function(t,e){for(var i=e.length,r=0;t.indexOf(e[r])<0&&++ra;)s=s._prev;return s?(e._next=s._next,s._next=e):(e._next=t[i],t[i]=e),e._next?e._next._prev=e:t[r]=e,e._prev=s,e.parent=e._dp=t,e},Oe=function(t,e,i,r){i===void 0&&(i="_first"),r===void 0&&(r="_last");var n=e._prev,s=e._next;n?n._next=s:t[i]===e&&(t[i]=s),s?s._prev=n:t[r]===e&&(t[r]=n),e._next=e._prev=e.parent=null},St=function(t,e){t.parent&&(!e||t.parent.autoRemoveChildren)&&t.parent.remove&&t.parent.remove(t),t._act=0},Lt=function(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var i=t;i;)i._dirty=1,i=i.parent;return t},Xr=function(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t},Ve=function(t,e,i,r){return t._startAt&&(W?t._startAt.revert(me):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,r))},qr=function u(t){return!t||t._ts&&u(t.parent)},vi=function(t){return t._repeat?$t(t._tTime,t=t.duration()+t._rDelay)*t:0},$t=function(t,e){var i=Math.floor(t=A(t/e));return t&&i===t?i-1:i},we=function(t,e){return(t-e._start)*e._ts+(e._ts>=0?0:e._dirty?e.totalDuration():e._tDur)},ke=function(t){return t._end=A(t._start+(t._tDur/Math.abs(t._ts||t._rts||M)||0))},Ce=function(t,e){var i=t._dp;return i&&i.smoothChildTiming&&t._ts&&(t._start=A(i._time-(t._ts>0?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),ke(t),i._dirty||Lt(i,t)),t},$i=function(t,e){var i;if((e._time||!e._dur&&e._initted||e._startM)&&e.render(i,!0)),Lt(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur=0&&i.totalTime(i._tTime),i=i._dp;t._zTime=-M}},lt=function(t,e,i,r){return e.parent&&St(e),e._start=A((yt(i)?i:i||t!==E?ut(t,i,e):t._time)+e._delay),e._end=A(e._start+(e.totalDuration()/Math.abs(e.timeScale())||0)),Qi(t,e,"_first","_last",t._sort?"_start":0),Ue(e)||(t._recent=e),r||$i(t,e),t._ts<0&&Ce(t,t._tTime),t},Ki=function(t,e){return(st.ScrollTrigger||ei("scrollTrigger",e))&&st.ScrollTrigger.create(e,t)},Zi=function(t,e,i,r,n){if(oi(t,e,n),!t._initted)return 1;if(!i&&t._pt&&!W&&(t._dur&&t.vars.lazy!==!1||!t._dur&&t.vars.lazy)&&Yi!==et.frame)return bt.push(t),t._lazy=[n,r],1},Wr=function u(t){var e=t.parent;return e&&e._ts&&e._initted&&!e._lock&&(e.rawTime()<0||u(e))},Ue=function(t){var e=t.data;return e==="isFromStart"||e==="isStart"},Gr=function(t,e,i,r){var n=t.ratio,s=e<0||!e&&(!t._start&&Wr(t)&&!(!t._initted&&Ue(t))||(t._ts<0||t._dp._ts<0)&&!Ue(t))?0:1,a=t._rDelay,o=0,f,h,l;if(a&&t._repeat&&(o=de(0,t._tDur,e),h=$t(o,a),t._yoyo&&h&1&&(s=1-s),h!==$t(t._tTime,a)&&(n=1-s,t.vars.repeatRefresh&&t._initted&&t.invalidate())),s!==n||W||r||t._zTime===M||!e&&t._zTime){if(!t._initted&&Zi(t,e,r,i,o))return;for(l=t._zTime,t._zTime=e||(i?M:0),i||(i=e&&!l),t.ratio=s,t._from&&(s=1-s),t._time=0,t._tTime=o,f=t._pt;f;)f.r(s,f.d),f=f._next;e<0&&Ve(t,e,i,!0),t._onUpdate&&!i&&it(t,"onUpdate"),o&&t._repeat&&!i&&t.parent&&it(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===s&&(s&&St(t,1),!i&&!W&&(it(t,s?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)},Qr=function(t,e,i){var r;if(i>e)for(r=t._first;r&&r._start<=i;){if(r.data==="isPause"&&r._start>e)return r;r=r._next}else for(r=t._last;r&&r._start>=i;){if(r.data==="isPause"&&r._start0&&!r&&Ce(t,t._tTime=t._tDur*a),t.parent&&ke(t),i||Lt(t.parent,t),t},xi=function(t){return t instanceof $?Lt(t):Kt(t,t._dur)},$r={_start:0,endTime:ue,totalDuration:ue},ut=function u(t,e,i){var r=t.labels,n=t._recent||$r,s=t.duration()>=ft?n.endTime(!1):t._dur,a,o,f;return q(e)&&(isNaN(e)||e in r)?(o=e.charAt(0),f=e.substr(-1)==="%",a=e.indexOf("="),o==="<"||o===">"?(a>=0&&(e=e.replace(/=/,"")),(o==="<"?n._start:n.endTime(n._repeat>=0))+(parseFloat(e.substr(1))||0)*(f?(a<0?n:i).totalDuration()/100:1)):a<0?(e in r||(r[e]=s),r[e]):(o=parseFloat(e.charAt(a-1)+e.substr(a+1)),f&&i&&(o=o/100*(Q(i)?i[0]:i).totalDuration()),a>1?u(t,e.substr(0,a-1),i)+o:s+o)):e==null?s:+e},ne=function(t,e,i){var r=yt(e[1]),n=(r?2:1)+(t<2?0:1),s=e[n],a,o;if(r&&(s.duration=e[1]),s.parent=i,t){for(a=s,o=i;o&&!("immediateRender"in a);)a=o.vars.defaults||{},o=K(o.vars.inherit)&&o.parent;s.immediateRender=K(a.immediateRender),t<2?s.runBackwards=1:s.startAt=e[n-1]}return new U(e[0],s,e[n+1])},Ct=function(t,e){return t||t===0?e(t):e},de=function(t,e,i){return ie?e:i},G=function(t,e){return!q(t)||!(e=Ir.exec(t))?"":e[1]},Kr=function(t,e,i){return Ct(i,function(r){return de(t,e,r)})},Ye=[].slice,ji=function(t,e){return t&&dt(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&dt(t[0]))&&!t.nodeType&&t!==_t},Zr=function(t,e,i){return i===void 0&&(i=[]),t.forEach(function(r){var n;return q(r)&&!e||ji(r,1)?(n=i).push.apply(n,ht(r)):i.push(r)})||i},ht=function(t,e,i){return R&&!e&&R.selector?R.selector(t):q(t)&&!i&&(Ne||!Zt())?Ye.call((e||ti).querySelectorAll(t),0):Q(t)?Zr(t,i):ji(t)?Ye.call(t,0):t?[t]:[]},Xe=function(t){return t=ht(t)[0]||oe("Invalid scope")||{},function(e){var i=t.current||t.nativeElement||t;return ht(e,i.querySelectorAll?i:i===t?oe("Invalid scope")||ti.createElement("div"):t)}},Hi=function(t){return t.sort(function(){return .5-Math.random()})},Ji=function(t){if(I(t))return t;var e=dt(t)?t:{each:t},i=It(e.ease),r=e.from||0,n=parseFloat(e.base)||0,s={},a=r>0&&r<1,o=isNaN(r)||a,f=e.axis,h=r,l=r;return q(r)?h=l={center:.5,edges:.5,end:1}[r]||0:!a&&o&&(h=r[0],l=r[1]),function(c,d,p){var _=(p||e).length,m=s[_],v,y,x,T,g,S,w,P,b;if(!m){if(b=e.grid==="auto"?0:(e.grid||[1,ft])[1],!b){for(w=-ft;w<(w=p[b++].getBoundingClientRect().left)&&b<_;);b<_&&b--}for(m=s[_]=[],v=o?Math.min(b,_)*h-.5:r%b,y=b===ft?0:o?_*l/b-.5:r/b|0,w=0,P=ft,S=0;S<_;S++)x=S%b-v,T=y-(S/b|0),m[S]=g=f?Math.abs(f==="y"?T:x):Fi(x*x+T*T),g>w&&(w=g),g_?_-1:f?f==="y"?_/b:b:Math.max(b,_/b))||0)*(r==="edges"?-1:1),m.b=_<0?n-_:n,m.u=G(e.amount||e.each)||0,i=i&&_<0?hn(i):i}return _=(m[c]-m.min)/m.max||0,A(m.b+(i?i(_):_)*m.v)+m.u}},qe=function(t){var e=Math.pow(10,((t+"").split(".")[1]||"").length);return function(i){var r=A(Math.round(parseFloat(i)/t)*t*e);return(r-r%1)/e+(yt(i)?0:G(i))}},tr=function(t,e){var i=Q(t),r,n;return!i&&dt(t)&&(r=i=t.radius||ft,t.values?(t=ht(t.values),(n=!yt(t[0]))&&(r*=r)):t=qe(t.increment)),Ct(e,i?I(t)?function(s){return n=t(s),Math.abs(n-s)<=r?n:s}:function(s){for(var a=parseFloat(n?s.x:s),o=parseFloat(n?s.y:0),f=ft,h=0,l=t.length,c,d;l--;)n?(c=t[l].x-a,d=t[l].y-o,c=c*c+d*d):c=Math.abs(t[l]-a),cr?n-s:s)})},fe=function(t){return t.replace(zr,function(e){var i=e.indexOf("[")+1,r=e.substring(i||7,i?e.indexOf("]"):e.length-1).split(Fr);return er(i?r:+r[0],i?0:+r[1],+r[2]||1e-5)})},rr=function(t,e,i,r,n){var s=e-t,a=r-i;return Ct(n,function(o){return i+((o-t)/s*a||0)})},rn=function u(t,e,i,r){var n=isNaN(t+e)?0:function(d){return(1-d)*t+d*e};if(!n){var s=q(t),a={},o,f,h,l,c;if(i===!0&&(r=1)&&(i=null),s)t={p:t},e={p:e};else if(Q(t)&&!Q(e)){for(h=[],l=t.length,c=l-2,f=1;f(a=Math.abs(a))&&(o=s,n=a);return o},it=function(t,e,i){var r=t.vars,n=r[e],s=R,a=t._ctx,o,f,h;if(n)return o=r[e+"Params"],f=r.callbackScope||t,i&&bt.length&&xe(),a&&(R=a),h=o?n.apply(f,o):n.call(f),R=s,h},ee=function(t){return St(t),t.scrollTrigger&&t.scrollTrigger.kill(!!W),t.progress()<1&&it(t,"onInterrupt"),t},Xt,nr=[],sr=function(t){if(t)if(t=!t.name&&t.default||t,Je()||t.headless){var e=t.name,i=I(t),r=e&&!i&&t.init?function(){this._props=[]}:t,n={init:ue,render:hi,add:ai,kill:xn,modifier:vn,rawVars:0},s={targetTest:0,get:0,getSetter:fi,aliases:{},register:0};if(Zt(),t!==r){if(tt[e])return;at(r,at(Te(t,n),s)),Qt(r.prototype,Qt(n,Te(t,s))),tt[r.prop=e]=r,t.targetTest&&(ge.push(r),ii[e]=1),e=(e==="css"?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}Ui(e,r),t.register&&t.register(J,r,j)}else nr.push(t)},C=255,ie={aqua:[0,C,C],lime:[0,C,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,C],navy:[0,0,128],white:[C,C,C],olive:[128,128,0],yellow:[C,C,0],orange:[C,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[C,0,0],pink:[C,192,203],cyan:[0,C,C],transparent:[C,C,C,0]},Re=function(t,e,i){return t+=t<0?1:t>1?-1:0,(t*6<1?e+(i-e)*t*6:t<.5?i:t*3<2?e+(i-e)*(2/3-t)*6:e)*C+.5|0},ar=function(t,e,i){var r=t?yt(t)?[t>>16,t>>8&C,t&C]:0:ie.black,n,s,a,o,f,h,l,c,d,p;if(!r){if(t.substr(-1)===","&&(t=t.substr(0,t.length-1)),ie[t])r=ie[t];else if(t.charAt(0)==="#"){if(t.length<6&&(n=t.charAt(1),s=t.charAt(2),a=t.charAt(3),t="#"+n+n+s+s+a+a+(t.length===5?t.charAt(4)+t.charAt(4):"")),t.length===9)return r=parseInt(t.substr(1,6),16),[r>>16,r>>8&C,r&C,parseInt(t.substr(7),16)/255];t=parseInt(t.substr(1),16),r=[t>>16,t>>8&C,t&C]}else if(t.substr(0,3)==="hsl"){if(r=p=t.match(mi),!e)o=+r[0]%360/360,f=+r[1]/100,h=+r[2]/100,s=h<=.5?h*(f+1):h+f-h*f,n=h*2-s,r.length>3&&(r[3]*=1),r[0]=Re(o+1/3,n,s),r[1]=Re(o,n,s),r[2]=Re(o-1/3,n,s);else if(~t.indexOf("="))return r=t.match(Ii),i&&r.length<4&&(r[3]=1),r}else r=t.match(mi)||ie.transparent;r=r.map(Number)}return e&&!p&&(n=r[0]/C,s=r[1]/C,a=r[2]/C,l=Math.max(n,s,a),c=Math.min(n,s,a),h=(l+c)/2,l===c?o=f=0:(d=l-c,f=h>.5?d/(2-l-c):d/(l+c),o=l===n?(s-a)/d+(st||v<0)&&(i+=v-e),r+=v,g=r-i,x=g-s,(x>0||y)&&(S=++l.frame,c=g-l.time*1e3,l.time=g=g/1e3,s+=x+(x>=n?4:n-x),T=1),y||(o=f(_)),T)for(d=0;d=v&&d--},_listeners:a},l}(),Zt=function(){return!he&&et.wake()},k={},sn=/^[\d.\-M][\d.\-,\s]/,an=/["']/g,on=function(t){for(var e={},i=t.substr(1,t.length-3).split(":"),r=i[0],n=1,s=i.length,a,o,f;n1&&i.config?i.config.apply(null,~t.indexOf("{")?[on(e[1])]:un(t).split(",").map(Wi)):k._CE&&sn.test(t)?k._CE("",t):i},hn=function(t){return function(e){return 1-t(1-e)}},It=function(t,e){return t&&(I(t)?t:k[t]||fn(t))||e},Bt=function(t,e,i,r){i===void 0&&(i=function(o){return 1-e(1-o)}),r===void 0&&(r=function(o){return o<.5?e(o*2)/2:1-e((1-o)*2)/2});var n={easeIn:e,easeOut:i,easeInOut:r},s;return Z(t,function(a){k[a]=st[a]=n,k[s=a.toLowerCase()]=i;for(var o in n)k[s+(o==="easeIn"?".in":o==="easeOut"?".out":".inOut")]=k[a+"."+o]=n[o]}),n},fr=function(t){return function(e){return e<.5?(1-t(1-e*2))/2:.5+t((e-.5)*2)/2}},Ae=function u(t,e,i){var r=e>=1?e:1,n=(i||(t?.3:.45))/(e<1?e:1),s=n/Ie*(Math.asin(1/r)||0),a=function(h){return h===1?1:r*Math.pow(2,-10*h)*Er((h-s)*n)+1},o=t==="out"?a:t==="in"?function(f){return 1-a(1-f)}:fr(a);return n=Ie/n,o.config=function(f,h){return u(t,f,h)},o},Ee=function u(t,e){e===void 0&&(e=1.70158);var i=function(s){return s?--s*s*((e+1)*s+e)+1:0},r=t==="out"?i:t==="in"?function(n){return 1-i(1-n)}:fr(i);return r.config=function(n){return u(t,n)},r};Z("Linear,Quad,Cubic,Quart,Quint,Strong",function(u,t){var e=t<5?t+1:t;Bt(u+",Power"+(e-1),t?function(i){return Math.pow(i,e)}:function(i){return i},function(i){return 1-Math.pow(1-i,e)},function(i){return i<.5?Math.pow(i*2,e)/2:1-Math.pow((1-i)*2,e)/2})});k.Linear.easeNone=k.none=k.Linear.easeIn;Bt("Elastic",Ae("in"),Ae("out"),Ae());(function(u,t){var e=1/t,i=2*e,r=2.5*e,n=function(a){return a0?i+(i+this._rDelay)*this._repeat:i):this.totalDuration()&&this._dur},t.totalDuration=function(i){return arguments.length?(this._dirty=0,Kt(this,this._repeat<0?i:(i-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},t.totalTime=function(i,r){if(Zt(),!arguments.length)return this._tTime;var n=this._dp;if(n&&n.smoothChildTiming&&this._ts){for(Ce(this,i),!n._dp||n.parent||$i(n,this);n&&n.parent;)n.parent._time!==n._start+(n._ts>=0?n._tTime/n._ts:(n.totalDuration()-n._tTime)/-n._ts)&&n.totalTime(n._tTime,!0),n=n.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&i0||!this._tDur&&!i)&<(this._dp,this,this._start-this._delay)}return(this._tTime!==i||!this._dur&&!r||this._initted&&Math.abs(this._zTime)===M||!this._initted&&this._dur&&i||!i&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=i),qi(this,i,r)),this},t.time=function(i,r){return arguments.length?this.totalTime(Math.min(this.totalDuration(),i+vi(this))%(this._dur+this._rDelay)||(i?this._dur:0),r):this._time},t.totalProgress=function(i,r){return arguments.length?this.totalTime(this.totalDuration()*i,r):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},t.progress=function(i,r){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-i:i)+vi(this),r):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},t.iteration=function(i,r){var n=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(i-1)*n,r):this._repeat?$t(this._tTime,n)+1:1},t.timeScale=function(i,r){if(!arguments.length)return this._rts===-M?0:this._rts;if(this._rts===i)return this;var n=this.parent&&this._ts?we(this.parent._time,this):this._tTime;return this._rts=+i||0,this._ts=this._ps||i===-M?0:this._rts,this.totalTime(de(-Math.abs(this._delay),this.totalDuration(),n),r!==!1),ke(this),Xr(this)},t.paused=function(i){return arguments.length?(this._ps!==i&&(this._ps=i,i?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Zt(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==M&&(this._tTime-=M)))),this):this._ps},t.startTime=function(i){if(arguments.length){this._start=A(i);var r=this.parent||this._dp;return r&&(r._sort||!this.parent)&<(r,this,this._start-this._delay),this}return this._start},t.endTime=function(i){return this._start+(K(i)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},t.rawTime=function(i){var r=this.parent||this._dp;return r?i&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?we(r.rawTime(i),this):this._tTime:this._tTime},t.revert=function(i){i===void 0&&(i=Br);var r=W;return W=i,si(this)&&(this.timeline&&this.timeline.revert(i),this.totalTime(-.01,i.suppressEvents)),this.data!=="nested"&&i.kill!==!1&&this.kill(),W=r,this},t.globalTime=function(i){for(var r=this,n=arguments.length?i:r.rawTime();r;)n=r._start+n/(Math.abs(r._ts)||1),r=r._dp;return!this.parent&&this._sat?this._sat.globalTime(i):n},t.repeat=function(i){return arguments.length?(this._repeat=i===1/0?-2:i,xi(this)):this._repeat===-2?1/0:this._repeat},t.repeatDelay=function(i){if(arguments.length){var r=this._time;return this._rDelay=i,xi(this),r?this.time(r):this}return this._rDelay},t.yoyo=function(i){return arguments.length?(this._yoyo=i,this):this._yoyo},t.seek=function(i,r){return this.totalTime(ut(this,i),K(r))},t.restart=function(i,r){return this.play().totalTime(i?-this._delay:0,K(r)),this._dur||(this._zTime=-M),this},t.play=function(i,r){return i!=null&&this.seek(i,r),this.reversed(!1).paused(!1)},t.reverse=function(i,r){return i!=null&&this.seek(i||this.totalDuration(),r),this.reversed(!0).paused(!1)},t.pause=function(i,r){return i!=null&&this.seek(i,r),this.paused(!0)},t.resume=function(){return this.paused(!1)},t.reversed=function(i){return arguments.length?(!!i!==this.reversed()&&this.timeScale(-this._rts||(i?-M:0)),this):this._rts<0},t.invalidate=function(){return this._initted=this._act=0,this._zTime=-M,this},t.isActive=function(){var i=this.parent||this._dp,r=this._start,n;return!!(!i||this._ts&&this._initted&&i.isActive()&&(n=i.rawTime(!0))>=r&&n1?(r?(s[i]=r,n&&(s[i+"Params"]=n),i==="onUpdate"&&(this._onUpdate=r)):delete s[i],this):s[i]},t.then=function(i){var r=this,n=r._prom;return new Promise(function(s){var a=I(i)?i:Gi,o=function(){var h=r.then;r.then=null,n&&n(),I(a)&&(a=a(r))&&(a.then||a===r)&&(r.then=h),s(a),r.then=h};r._initted&&r.totalProgress()===1&&r._ts>=0||!r._tTime&&r._ts<0?o():r._prom=o})},t.kill=function(){ee(this)},u}();at(_e.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-M,_prom:0,_ps:!1,_rts:1});var $=function(u){zi(t,u);function t(i,r){var n;return i===void 0&&(i={}),n=u.call(this,i)||this,n.labels={},n.smoothChildTiming=!!i.smoothChildTiming,n.autoRemoveChildren=!!i.autoRemoveChildren,n._sort=K(i.sortChildren),E&<(i.parent||E,mt(n),r),i.reversed&&n.reverse(),i.paused&&n.paused(!0),i.scrollTrigger&&Ki(mt(n),i.scrollTrigger),n}var e=t.prototype;return e.to=function(r,n,s){return ne(0,arguments,this),this},e.from=function(r,n,s){return ne(1,arguments,this),this},e.fromTo=function(r,n,s,a){return ne(2,arguments,this),this},e.set=function(r,n,s){return n.duration=0,n.parent=this,re(n).repeatDelay||(n.repeat=0),n.immediateRender=!!n.immediateRender,new U(r,n,ut(this,s),1),this},e.call=function(r,n,s){return lt(this,U.delayedCall(0,r,n),s)},e.staggerTo=function(r,n,s,a,o,f,h){return s.duration=n,s.stagger=s.stagger||a,s.onComplete=f,s.onCompleteParams=h,s.parent=this,new U(r,s,ut(this,o)),this},e.staggerFrom=function(r,n,s,a,o,f,h){return s.runBackwards=1,re(s).immediateRender=K(s.immediateRender),this.staggerTo(r,n,s,a,o,f,h)},e.staggerFromTo=function(r,n,s,a,o,f,h,l){return a.startAt=s,re(a).immediateRender=K(a.immediateRender),this.staggerTo(r,n,a,o,f,h,l)},e.render=function(r,n,s){var a=this._time,o=this._dirty?this.totalDuration():this._tDur,f=this._dur,h=r<=0?0:A(r),l=this._zTime<0!=r<0&&(this._initted||!f),c,d,p,_,m,v,y,x,T,g,S,w;if(this!==E&&h>o&&r>=0&&(h=o),h!==this._tTime||s||l){if(a!==this._time&&f&&(h+=this._time-a,r+=this._time-a),c=h,T=this._start,x=this._ts,v=!x,l&&(f||(a=this._zTime),(r||!n)&&(this._zTime=r)),this._repeat){if(S=this._yoyo,m=f+this._rDelay,this._repeat<-1&&r<0)return this.totalTime(m*100+r,n,s);if(c=A(h%m),h===o?(_=this._repeat,c=f):(g=A(h/m),_=~~g,_&&_===g&&(c=f,_--),c>f&&(c=f)),g=$t(this._tTime,m),!a&&this._tTime&&g!==_&&this._tTime-g*m-this._dur<=0&&(g=_),S&&_&1&&(c=f-c,w=1),_!==g&&!this._lock){var P=S&&g&1,b=P===(S&&_&1);if(_=a&&r>=0)for(d=this._first;d;){if(p=d._next,(d._act||c>=d._start)&&d._ts&&y!==d){if(d.parent!==this)return this.render(r,n,s);if(d.render(d._ts>0?(c-d._start)*d._ts:(d._dirty?d.totalDuration():d._tDur)+(c-d._start)*d._ts,n,s),c!==this._time||!this._ts&&!v){y=0,p&&(h+=this._zTime=-M);break}}d=p}else{d=this._last;for(var O=r<0?r:c;d;){if(p=d._prev,(d._act||O<=d._end)&&d._ts&&y!==d){if(d.parent!==this)return this.render(r,n,s);if(d.render(d._ts>0?(O-d._start)*d._ts:(d._dirty?d.totalDuration():d._tDur)+(O-d._start)*d._ts,n,s||W&&si(d)),c!==this._time||!this._ts&&!v){y=0,p&&(h+=this._zTime=O?-M:M);break}}d=p}}if(y&&!n&&(this.pause(),y.render(c>=a?0:-M)._zTime=c>=a?1:-1,this._ts))return this._start=T,ke(this),this.render(r,n,s);this._onUpdate&&!n&&it(this,"onUpdate",!0),(h===o&&this._tTime>=this.totalDuration()||!h&&a)&&(T===this._start||Math.abs(x)!==Math.abs(this._ts))&&(this._lock||((r||!f)&&(h===o&&this._ts>0||!h&&this._ts<0)&&St(this,1),!n&&!(r<0&&!a)&&(h||a||!o)&&(it(this,h===o&&r>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(h0)&&this._prom())))}return this},e.add=function(r,n){var s=this;if(yt(n)||(n=ut(this,n,r)),!(r instanceof _e)){if(Q(r))return r.forEach(function(a){return s.add(a,n)}),this;if(q(r))return this.addLabel(r,n);if(I(r))r=U.delayedCall(0,r);else return this}return this!==r?lt(this,r,n):this},e.getChildren=function(r,n,s,a){r===void 0&&(r=!0),n===void 0&&(n=!0),s===void 0&&(s=!0),a===void 0&&(a=-ft);for(var o=[],f=this._first;f;)f._start>=a&&(f instanceof U?n&&o.push(f):(s&&o.push(f),r&&o.push.apply(o,f.getChildren(!0,n,s)))),f=f._next;return o},e.getById=function(r){for(var n=this.getChildren(1,1,1),s=n.length;s--;)if(n[s].vars.id===r)return n[s]},e.remove=function(r){return q(r)?this.removeLabel(r):I(r)?this.killTweensOf(r):(r.parent===this&&Oe(this,r),r===this._recent&&(this._recent=this._last),Lt(this))},e.totalTime=function(r,n){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=A(et.time-(this._ts>0?r/this._ts:(this.totalDuration()-r)/-this._ts))),u.prototype.totalTime.call(this,r,n),this._forcing=0,this):this._tTime},e.addLabel=function(r,n){return this.labels[r]=ut(this,n),this},e.removeLabel=function(r){return delete this.labels[r],this},e.addPause=function(r,n,s){var a=U.delayedCall(0,n||ue,s);return a.data="isPause",this._hasPause=1,lt(this,a,ut(this,r))},e.removePause=function(r){var n=this._first;for(r=ut(this,r);n;)n._start===r&&n.data==="isPause"&&St(n),n=n._next},e.killTweensOf=function(r,n,s){for(var a=this.getTweensOf(r,s),o=a.length;o--;)xt!==a[o]&&a[o].kill(r,n);return this},e.getTweensOf=function(r,n){for(var s=[],a=ht(r),o=this._first,f=yt(n),h;o;)o instanceof U?Vr(o._targets,a)&&(f?(!xt||o._initted&&o._ts)&&o.globalTime(0)<=n&&o.globalTime(o.totalDuration())>n:!n||o.isActive())&&s.push(o):(h=o.getTweensOf(a,n)).length&&s.push.apply(s,h),o=o._next;return s},e.tweenTo=function(r,n){n=n||{};var s=this,a=ut(s,r),o=n,f=o.startAt,h=o.onStart,l=o.onStartParams,c=o.immediateRender,d,p=U.to(s,at({ease:n.ease||"none",lazy:!1,immediateRender:!1,time:a,overwrite:"auto",duration:n.duration||Math.abs((a-(f&&"time"in f?f.time:s._time))/s.timeScale())||M,onStart:function(){if(s.pause(),!d){var m=n.duration||Math.abs((a-(f&&"time"in f?f.time:s._time))/s.timeScale());p._dur!==m&&Kt(p,m,0,1).render(p._time,!0,!0),d=1}h&&h.apply(p,l||[])}},n));return c?p.render(0):p},e.tweenFromTo=function(r,n,s){return this.tweenTo(n,at({startAt:{time:ut(this,r)}},s))},e.recent=function(){return this._recent},e.nextLabel=function(r){return r===void 0&&(r=this._time),Ti(this,ut(this,r))},e.previousLabel=function(r){return r===void 0&&(r=this._time),Ti(this,ut(this,r),1)},e.currentLabel=function(r){return arguments.length?this.seek(r,!0):this.previousLabel(this._time+M)},e.shiftChildren=function(r,n,s){s===void 0&&(s=0);var a=this._first,o=this.labels,f;for(r=A(r);a;)a._start>=s&&(a._start+=r,a._end+=r),a=a._next;if(n)for(f in o)o[f]>=s&&(o[f]+=r);return Lt(this)},e.invalidate=function(r){var n=this._first;for(this._lock=0;n;)n.invalidate(r),n=n._next;return u.prototype.invalidate.call(this,r)},e.clear=function(r){r===void 0&&(r=!0);for(var n=this._first,s;n;)s=n._next,this.remove(n),n=s;return this._dp&&(this._time=this._tTime=this._pTime=0),r&&(this.labels={}),Lt(this)},e.totalDuration=function(r){var n=0,s=this,a=s._last,o=ft,f,h,l;if(arguments.length)return s.timeScale((s._repeat<0?s.duration():s.totalDuration())/(s.reversed()?-r:r));if(s._dirty){for(l=s.parent;a;)f=a._prev,a._dirty&&a.totalDuration(),h=a._start,h>o&&s._sort&&a._ts&&!s._lock?(s._lock=1,lt(s,a,h-a._delay,1)._lock=0):o=h,h<0&&a._ts&&(n-=h,(!l&&!s._dp||l&&l.smoothChildTiming)&&(s._start+=A(h/s._ts),s._time-=h,s._tTime-=h),s.shiftChildren(-h,!1,-1/0),o=0),a._end>n&&a._ts&&(n=a._end),a=f;Kt(s,s===E&&s._time>n?s._time:n,1,1),s._dirty=0}return s._tDur},t.updateRoot=function(r){if(E._ts&&(qi(E,we(r,E)),Yi=et.frame),et.frame>=gi){gi+=nt.autoSleep||120;var n=E._first;if((!n||!n._ts)&&nt.autoSleep&&et._listeners.length<2){for(;n&&!n._ts;)n=n._next;n||et.sleep()}}},t}(_e);at($.prototype,{_lock:0,_hasPause:0,_forcing:0});var _n=function(t,e,i,r,n,s,a){var o=new j(this._pt,t,e,0,1,mr,null,n),f=0,h=0,l,c,d,p,_,m,v,y;for(o.b=i,o.e=r,i+="",r+="",(v=~r.indexOf("random("))&&(r=fe(r)),s&&(y=[i,r],s(y,t,e),i=y[0],r=y[1]),c=i.match(Me)||[];l=Me.exec(r);)p=l[0],_=r.substring(f,l.index),d?d=(d+1)%5:_.substr(-5)==="rgba("&&(d=1),p!==c[h++]&&(m=parseFloat(c[h-1])||0,o._pt={_next:o._pt,p:_||h===1?_:",",s:m,c:p.charAt(1)==="="?qt(m,p)-m:parseFloat(p)-m,m:d&&d<4?Math.round:0},f=Me.lastIndex);return o.c=f")}),x.duration();else{g={};for(w in p)w==="ease"||w==="easeEach"||pn(w,p[w],g,p.easeEach);for(w in g)for(D=g[w].sort(function(Y,B){return Y.t-B.t}),F=0,T=0;To-M&&!h?o:rf&&(c=f)),v=this._yoyo&&p&1,v&&(c=f-c),m=$t(this._tTime,_),c===a&&!s&&this._initted&&p===m)return this._tTime=l,this;p!==m&&this.vars.repeatRefresh&&!v&&!this._lock&&c!==_&&this._initted&&(this._lock=s=1,this.render(A(_*p),!0).invalidate()._lock=0)}if(!this._initted){if(Zi(this,h?r:c,s,n,l))return this._tTime=0,this;if(a!==this._time&&!(s&&this.vars.repeatRefresh&&p!==m))return this;if(f!==this._dur)return this.render(r,n,s)}if(this._rEase){var T=c0||!l&&this._ts<0)&&St(this,1),!n&&!(h&&!a)&&(l||a||v)&&(it(this,l===o?"onComplete":"onReverseComplete",!0),this._prom&&!(l0)&&this._prom()))}return this},e.targets=function(){return this._targets},e.invalidate=function(r){return(!r||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(r),u.prototype.invalidate.call(this,r)},e.resetTo=function(r,n,s,a,o){he||et.wake(),this._ts||this.play();var f=Math.min(this._dur,(this._dp._time-this._start)*this._ts),h;return this._initted||oi(this,f),h=this._ease(f/this._dur),cn(this,r,n,s,a,h,f,o)?this.resetTo(r,n,s,a,1):(Ce(this,0),this.parent||Qi(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function(r,n){if(n===void 0&&(n="all"),!r&&(!n||n==="all"))return this._lazy=this._pt=0,this.parent?ee(this):this.scrollTrigger&&this.scrollTrigger.kill(!!W),this;if(this.timeline){var s=this.timeline.totalDuration();return this.timeline.killTweensOf(r,n,xt&&xt.vars.overwrite!==!0)._first||ee(this),this.parent&&s!==this.timeline.totalDuration()&&Kt(this,this._dur*this.timeline._tDur/s,0,1),this}var a=this._targets,o=r?ht(r):a,f=this._ptLookup,h=this._pt,l,c,d,p,_,m,v;if((!n||n==="all")&&Yr(a,o))return n==="all"&&(this._pt=0),ee(this);for(l=this._op=this._op||[],n!=="all"&&(q(n)&&(_={},Z(n,function(y){return _[y]=1}),n=_),n=dn(a,n)),v=a.length;v--;)if(~o.indexOf(a[v])){c=f[v],n==="all"?(l[v]=n,p=c,d={}):(d=l[v]=l[v]||{},p=n);for(_ in p)m=c&&c[_],m&&((!("kill"in m.d)||m.d.kill(_)===!0)&&Oe(this,m,"_pt"),delete c[_]),d!=="all"&&(d[_]=1)}return this._initted&&!this._pt&&h&&ee(this),this},t.to=function(r,n){return new t(r,n,arguments[2])},t.from=function(r,n){return ne(1,arguments)},t.delayedCall=function(r,n,s,a){return new t(n,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:r,onComplete:n,onReverseComplete:n,onCompleteParams:s,onReverseCompleteParams:s,callbackScope:a})},t.fromTo=function(r,n,s){return ne(2,arguments)},t.set=function(r,n){return n.duration=0,n.repeatDelay||(n.repeat=0),new t(r,n)},t.killTweensOf=function(r,n,s){return E.killTweensOf(r,n,s)},t}(_e);at(U.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});Z("staggerTo,staggerFrom,staggerFromTo",function(u){U[u]=function(){var t=new $,e=Ye.call(arguments,0);return e.splice(u==="staggerFromTo"?5:4,0,0),t[u].apply(t,e)}});var ui=function(t,e,i){return t[e]=i},dr=function(t,e,i){return t[e](i)},mn=function(t,e,i,r){return t[e](r.fp,i)},gn=function(t,e,i){return t.setAttribute(e,i)},fi=function(t,e){return I(t[e])?dr:He(t[e])&&t.setAttribute?gn:ui},pr=function(t,e){return e.set(e.t,e.p,Math.round((e.s+e.c*t)*1e6)/1e6,e)},yn=function(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},mr=function(t,e){var i=e._pt,r="";if(!t&&e.b)r=e.b;else if(t===1&&e.e)r=e.e;else{for(;i;)r=i.p+(i.m?i.m(i.s+i.c*t):Math.round((i.s+i.c*t)*1e4)/1e4)+r,i=i._next;r+=e.c}e.set(e.t,e.p,r,e)},hi=function(t,e){for(var i=e._pt;i;)i.r(t,i.d),i=i._next},vn=function(t,e,i,r){for(var n=this._pt,s;n;)s=n._next,n.p===r&&n.modifier(t,e,i),n=s},xn=function(t){for(var e=this._pt,i,r;e;)r=e._next,e.p===t&&!e.op||e.op===t?Oe(this,e,"_pt"):e.dep||(i=1),e=r;return!i},Tn=function(t,e,i,r){r.mSet(t,e,r.m.call(r.tween,i,r.mt),r)},gr=function(t){for(var e=t._pt,i,r,n,s;e;){for(i=e._next,r=n;r&&r.pr>e.pr;)r=r._next;(e._prev=r?r._prev:s)?e._prev._next=e:n=e,(e._next=r)?r._prev=e:s=e,e=i}t._pt=n},j=function(){function u(e,i,r,n,s,a,o,f,h){this.t=i,this.s=n,this.c=s,this.p=r,this.r=a||pr,this.d=o||this,this.set=f||ui,this.pr=h||0,this._next=e,e&&(e._prev=this)}var t=u.prototype;return t.modifier=function(i,r,n){this.mSet=this.mSet||this.set,this.set=Tn,this.m=i,this.mt=n,this.tween=r},u}();Z(ri+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger,easeReverse",function(u){return ii[u]=1});st.TweenMax=st.TweenLite=U;st.TimelineLite=st.TimelineMax=$;E=new $({sortChildren:!1,defaults:ae,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});nt.stringFilter=ur;var Nt=[],ye={},wn=[],bi=0,bn=0,ze=function(t){return(ye[t]||wn).map(function(e){return e()})},Ge=function(){var t=Date.now(),e=[];t-bi>2&&(ze("matchMediaInit"),Nt.forEach(function(i){var r=i.queries,n=i.conditions,s,a,o,f;for(a in r)s=_t.matchMedia(r[a]).matches,s&&(o=1),s!==n[a]&&(n[a]=s,f=1);f&&(i.revert(),o&&e.push(i))}),ze("matchMediaRevert"),e.forEach(function(i){return i.onMatch(i,function(r){return i.add(null,r)})}),bi=t,ze("matchMedia"))},yr=function(){function u(e,i){this.selector=i&&Xe(i),this.data=[],this._r=[],this.isReverted=!1,this.id=bn++,e&&this.add(e)}var t=u.prototype;return t.add=function(i,r,n){I(i)&&(n=r,r=i,i=I);var s=this,a=function(){var f=R,h=s.selector,l;return f&&f!==s&&f.data.push(s),n&&(s.selector=Xe(n)),R=s,l=r.apply(s,arguments),I(l)&&s._r.push(l),R=f,s.selector=h,s.isReverted=!1,l};return s.last=a,i===I?a(s,function(o){return s.add(null,o)}):i?s[i]=a:a},t.ignore=function(i){var r=R;R=null,i(this),R=r},t.getTweens=function(){var i=[];return this.data.forEach(function(r){return r instanceof u?i.push.apply(i,r.getTweens()):r instanceof U&&!(r.parent&&r.parent.data==="nested")&&i.push(r)}),i},t.clear=function(){this._r.length=this.data.length=0},t.kill=function(i,r){var n=this;if(i?function(){for(var a=n.getTweens(),o=n.data.length,f;o--;)f=n.data[o],f.data==="isFlip"&&(f.revert(),f.getChildren(!0,!0,!1).forEach(function(h){return a.splice(a.indexOf(h),1)}));for(a.map(function(h){return{g:h._dur||h._delay||h._sat&&!h._sat.vars.immediateRender?h.globalTime(0):-1/0,t:h}}).sort(function(h,l){return l.g-h.g||-1/0}).forEach(function(h){return h.t.revert(i)}),o=n.data.length;o--;)f=n.data[o],f instanceof $?f.data!=="nested"&&(f.scrollTrigger&&f.scrollTrigger.revert(),f.kill()):!(f instanceof U)&&f.revert&&f.revert(i);n._r.forEach(function(h){return h(i,n)}),n.isReverted=!0}():this.data.forEach(function(a){return a.kill&&a.kill()}),this.clear(),r)for(var s=Nt.length;s--;)Nt[s].id===this.id&&Nt.splice(s,1)},t.revert=function(i){this.kill(i||{})},u}(),Pn=function(){function u(e){this.contexts=[],this.scope=e,R&&R.data.push(this)}var t=u.prototype;return t.add=function(i,r,n){dt(i)||(i={matches:i});var s=new yr(0,n||this.scope),a=s.conditions={},o,f,h;R&&!s.selector&&(s.selector=R.selector),this.contexts.push(s),r=s.add("onMatch",r),s.queries=i;for(f in i)f==="all"?h=1:(o=_t.matchMedia(i[f]),o&&(Nt.indexOf(s)<0&&Nt.push(s),(a[f]=o.matches)&&(h=1),o.addListener?o.addListener(Ge):o.addEventListener("change",Ge)));return h&&r(s,function(l){return s.add(null,l)}),this},t.revert=function(i){this.kill(i||{})},t.kill=function(i){this.contexts.forEach(function(r){return r.kill(i,!0)})},u}(),be={registerPlugin:function(){for(var t=arguments.length,e=new Array(t),i=0;i1){var r=t.map(function(h){return J.quickSetter(h,e,i)}),n=r.length;return function(h){for(var l=n;l--;)r[l](h)}}t=t[0]||{};var s=tt[e],a=Ft(t),o=a.harness&&(a.harness.aliases||{})[e]||e,f=s?function(h){var l=new s;Xt._pt=0,l.init(t,i?h+i:h,Xt,0,[t]),l.render(1,l),Xt._pt&&hi(1,Xt)}:a.set(t,o);return s?f:function(h){return f(t,o,i?h+i:h,a,1)}},quickTo:function(t,e,i){var r,n=J.to(t,at((r={},r[e]="+=0.1",r.paused=!0,r.stagger=0,r),i||{})),s=function(o,f,h){return n.resetTo(e,o,f,h)};return s.tween=n,s},isTweening:function(t){return E.getTweensOf(t,!0).length>0},defaults:function(t){return t&&t.ease&&(t.ease=It(t.ease,ae.ease)),yi(ae,t||{})},config:function(t){return yi(nt,t||{})},registerEffect:function(t){var e=t.name,i=t.effect,r=t.plugins,n=t.defaults,s=t.extendTimeline;(r||"").split(",").forEach(function(a){return a&&!tt[a]&&!st[a]&&oe(e+" effect requires "+a+" plugin.")}),De[e]=function(a,o,f){return i(ht(a),at(o||{},n),f)},s&&($.prototype[e]=function(a,o,f){return this.add(De[e](a,dt(o)?o:(f=o)&&{},this),f)})},registerEase:function(t,e){k[t]=It(e)},parseEase:function(t,e){return arguments.length?It(t,e):k},getById:function(t){return E.getById(t)},exportRoot:function(t,e){t===void 0&&(t={});var i=new $(t),r,n;for(i.smoothChildTiming=K(t.smoothChildTiming),E.remove(i),i._dp=0,i._time=i._tTime=E._time,r=E._first;r;)n=r._next,(e||!(!r._dur&&r instanceof U&&r.vars.onComplete===r._targets[0]))&<(i,r,r._start-r._delay),r=n;return lt(E,i,0),i},context:function(t,e){return t?new yr(t,e):R},matchMedia:function(t){return new Pn(t)},matchMediaRefresh:function(){return Nt.forEach(function(t){var e=t.conditions,i,r;for(r in e)e[r]&&(e[r]=!1,i=1);i&&t.revert()})||Ge()},addEventListener:function(t,e){var i=ye[t]||(ye[t]=[]);~i.indexOf(e)||i.push(e)},removeEventListener:function(t,e){var i=ye[t],r=i&&i.indexOf(e);r>=0&&i.splice(r,1)},utils:{wrap:tn,wrapYoyo:en,distribute:Ji,random:er,snap:tr,normalize:Jr,getUnit:G,clamp:Kr,splitColor:ar,toArray:ht,selector:Xe,mapRange:rr,pipe:jr,unitize:Hr,interpolate:rn,shuffle:Hi},install:Vi,effects:De,ticker:et,updateRoot:$.updateRoot,plugins:tt,globalTimeline:E,core:{PropTween:j,globals:Ui,Tween:U,Timeline:$,Animation:_e,getCache:Ft,_removeLinkedListItem:Oe,reverting:function(){return W},context:function(t){return t&&R&&(R.data.push(t),t._ctx=R),R},suppressOverwrites:function(t){return je=t}}};Z("to,from,fromTo,delayedCall,set,killTweensOf",function(u){return be[u]=U[u]});et.add($.updateRoot);Xt=be.to({},{duration:0});var Sn=function(t,e){for(var i=t._pt;i&&i.p!==e&&i.op!==e&&i.fp!==e;)i=i._next;return i},On=function(t,e){var i=t._targets,r,n,s;for(r in e)for(n=i.length;n--;)s=t._ptLookup[n][r],s&&(s=s.d)&&(s._pt&&(s=Sn(s,r)),s&&s.modifier&&s.modifier(e[r],t,i[n],r))},Fe=function(t,e){return{name:t,headless:1,rawVars:1,init:function(r,n,s){s._onInit=function(a){var o,f;if(q(n)&&(o={},Z(n,function(h){return o[h]=1}),n=o),e){o={};for(f in n)o[f]=e(n[f]);n=o}On(a,n)}}}},J=be.registerPlugin({name:"attr",init:function(t,e,i,r,n){var s,a,o;this.tween=i;for(s in e)o=t.getAttribute(s)||"",a=this.add(t,"setAttribute",(o||0)+"",e[s],r,n,0,0,s),a.op=s,a.b=o,this._props.push(s)},render:function(t,e){for(var i=e._pt;i;)W?i.set(i.t,i.p,i.b,i):i.r(t,i.d),i=i._next}},{name:"endArray",headless:1,init:function(t,e){for(var i=e.length;i--;)this.add(t,i,t[i]||0,e[i],0,0,0,0,0,1)}},Fe("roundProps",qe),Fe("modifiers"),Fe("snap",tr))||be;U.version=$.version=J.version="3.15.0";Bi=1;Je()&&Zt();var jn=k.Power0,Hn=k.Power1,Jn=k.Power2,ts=k.Power3,es=k.Power4,is=k.Linear,rs=k.Quad,ns=k.Cubic,ss=k.Quart,as=k.Quint,os=k.Strong,us=k.Elastic,fs=k.Back,hs=k.SteppedEase,_s=k.Bounce,ls=k.Sine,cs=k.Expo,ds=k.Circ;/*! - * CSSPlugin 3.15.0 - * https://gsap.com - * - * Copyright 2008-2026, GreenSock. All rights reserved. - * Subject to the terms at https://gsap.com/standard-license - * @author: Jack Doyle, jack@greensock.com -*/var Pi,Tt,Wt,_i,zt,Si,li,kn=function(){return typeof window<"u"},vt={},Et=180/Math.PI,Gt=Math.PI/180,Ut=Math.atan2,Oi=1e8,ci=/([A-Z])/g,Cn=/(left|right|width|margin|padding|x)/i,Mn=/[\s,\(]\S/,ct={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},Qe=function(t,e){return e.set(e.t,e.p,Math.round((e.s+e.c*t)*1e4)/1e4+e.u,e)},Dn=function(t,e){return e.set(e.t,e.p,t===1?e.e:Math.round((e.s+e.c*t)*1e4)/1e4+e.u,e)},Rn=function(t,e){return e.set(e.t,e.p,t?Math.round((e.s+e.c*t)*1e4)/1e4+e.u:e.b,e)},An=function(t,e){return e.set(e.t,e.p,t===1?e.e:t?Math.round((e.s+e.c*t)*1e4)/1e4+e.u:e.b,e)},En=function(t,e){var i=e.s+e.c*t;e.set(e.t,e.p,~~(i+(i<0?-.5:.5))+e.u,e)},vr=function(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)},xr=function(t,e){return e.set(e.t,e.p,t!==1?e.b:e.e,e)},zn=function(t,e,i){return t.style[e]=i},Fn=function(t,e,i){return t.style.setProperty(e,i)},Ln=function(t,e,i){return t._gsap[e]=i},In=function(t,e,i){return t._gsap.scaleX=t._gsap.scaleY=i},Nn=function(t,e,i,r,n){var s=t._gsap;s.scaleX=s.scaleY=i,s.renderTransform(n,s)},Bn=function(t,e,i,r,n){var s=t._gsap;s[e]=i,s.renderTransform(n,s)},z="transform",H=z+"Origin",Vn=function u(t,e){var i=this,r=this.target,n=r.style,s=r._gsap;if(t in vt&&n){if(this.tfm=this.tfm||{},t!=="transform")t=ct[t]||t,~t.indexOf(",")?t.split(",").forEach(function(a){return i.tfm[a]=gt(r,a)}):this.tfm[t]=s.x?s[t]:gt(r,t),t===H&&(this.tfm.zOrigin=s.zOrigin);else return ct.transform.split(",").forEach(function(a){return u.call(i,a,e)});if(this.props.indexOf(z)>=0)return;s.svg&&(this.svgo=r.getAttribute("data-svg-origin"),this.props.push(H,e,"")),t=z}(n||e)&&this.props.push(t,e,n[t])},Tr=function(t){t.translate&&(t.removeProperty("translate"),t.removeProperty("scale"),t.removeProperty("rotate"))},Un=function(){var t=this.props,e=this.target,i=e.style,r=e._gsap,n,s;for(n=0;n=0?ki[s]:"")+t},Ke=function(){kn()&&window.document&&(Pi=window,Tt=Pi.document,Wt=Tt.documentElement,zt=$e("div")||{style:{}},$e("div"),z=jt(z),H=z+"Origin",zt.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",br=!!jt("perspective"),li=J.core.reverting,_i=1)},Ci=function(t){var e=t.ownerSVGElement,i=$e("svg",e&&e.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),r=t.cloneNode(!0),n;r.style.display="block",i.appendChild(r),Wt.appendChild(i);try{n=r.getBBox()}catch{}return i.removeChild(r),Wt.removeChild(i),n},Mi=function(t,e){for(var i=e.length;i--;)if(t.hasAttribute(e[i]))return t.getAttribute(e[i])},Pr=function(t){var e,i;try{e=t.getBBox()}catch{e=Ci(t),i=1}return e&&(e.width||e.height)||i||(e=Ci(t)),e&&!e.width&&!e.x&&!e.y?{x:+Mi(t,["x","cx","x1"])||0,y:+Mi(t,["y","cy","y1"])||0,width:0,height:0}:e},Sr=function(t){return!!(t.getCTM&&(!t.parentNode||t.ownerSVGElement)&&Pr(t))},Ot=function(t,e){if(e){var i=t.style,r;e in vt&&e!==H&&(e=z),i.removeProperty?(r=e.substr(0,2),(r==="ms"||e.substr(0,6)==="webkit")&&(e="-"+e),i.removeProperty(r==="--"?e:e.replace(ci,"-$1").toLowerCase())):i.removeAttribute(e)}},wt=function(t,e,i,r,n,s){var a=new j(t._pt,e,i,0,1,s?xr:vr);return t._pt=a,a.b=r,a.e=n,t._props.push(i),a},Di={deg:1,rad:1,turn:1},Yn={grid:1,flex:1},kt=function u(t,e,i,r){var n=parseFloat(i)||0,s=(i+"").trim().substr((n+"").length)||"px",a=zt.style,o=Cn.test(e),f=t.tagName.toLowerCase()==="svg",h=(f?"client":"offset")+(o?"Width":"Height"),l=100,c=r==="px",d=r==="%",p,_,m,v;if(r===s||!n||Di[r]||Di[s])return n;if(s!=="px"&&!c&&(n=u(t,e,i,"px")),v=t.getCTM&&Sr(t),(d||s==="%")&&(vt[e]||~e.indexOf("adius")))return p=v?t.getBBox()[o?"width":"height"]:t[h],V(d?n/p*l:n/100*p);if(a[o?"width":"height"]=l+(c?s:r),_=r!=="rem"&&~e.indexOf("adius")||r==="em"&&t.appendChild&&!f?t:t.parentNode,v&&(_=(t.ownerSVGElement||{}).parentNode),(!_||_===Tt||!_.appendChild)&&(_=Tt.body),m=_._gsap,m&&d&&m.width&&o&&m.time===et.time&&!m.uncache)return V(n/m.width*l);if(d&&(e==="height"||e==="width")){var y=t.style[e];t.style[e]=l+r,p=t[h],y?t.style[e]=y:Ot(t,e)}else(d||s==="%")&&!Yn[rt(_,"display")]&&(a.position=rt(t,"position")),_===t&&(a.position="static"),_.appendChild(zt),p=zt[h],_.removeChild(zt),a.position="absolute";return o&&d&&(m=Ft(_),m.time=et.time,m.width=_[h]),V(c?p*n/l:p&&n?l/p*n:0)},gt=function(t,e,i,r){var n;return _i||Ke(),e in ct&&e!=="transform"&&(e=ct[e],~e.indexOf(",")&&(e=e.split(",")[0])),vt[e]&&e!=="transform"?(n=ce(t,r),n=e!=="transformOrigin"?n[e]:n.svg?n.origin:Se(rt(t,H))+" "+n.zOrigin+"px"):(n=t.style[e],(!n||n==="auto"||r||~(n+"").indexOf("calc("))&&(n=Pe[e]&&Pe[e](t,e,i)||rt(t,e)||Xi(t,e)||(e==="opacity"?1:0))),i&&!~(n+"").trim().indexOf(" ")?kt(t,e,n,i)+i:n},Xn=function(t,e,i,r){if(!i||i==="none"){var n=jt(e,t,1),s=n&&rt(t,n,1);s&&s!==i?(e=n,i=s):e==="borderColor"&&(i=rt(t,"borderTopColor"))}var a=new j(this._pt,t.style,e,0,1,mr),o=0,f=0,h,l,c,d,p,_,m,v,y,x,T,g;if(a.b=i,a.e=r,i+="",r+="",r.substring(0,6)==="var(--"&&(r=rt(t,r.substring(4,r.indexOf(")")))),r==="auto"&&(_=t.style[e],t.style[e]=r,r=rt(t,e)||r,_?t.style[e]=_:Ot(t,e)),h=[i,r],ur(h),i=h[0],r=h[1],c=i.match(Yt)||[],g=r.match(Yt)||[],g.length){for(;l=Yt.exec(r);)m=l[0],y=r.substring(o,l.index),p?p=(p+1)%5:(y.substr(-5)==="rgba("||y.substr(-5)==="hsla(")&&(p=1),m!==(_=c[f++]||"")&&(d=parseFloat(_)||0,T=_.substr((d+"").length),m.charAt(1)==="="&&(m=qt(d,m)+T),v=parseFloat(m),x=m.substr((v+"").length),o=Yt.lastIndex-x.length,x||(x=x||nt.units[e]||T,o===r.length&&(r+=x,a.e+=x)),T!==x&&(d=kt(t,e,_,x)||0),a._pt={_next:a._pt,p:y||f===1?y:",",s:d,c:v-d,m:p&&p<4||e==="zIndex"?Math.round:0});a.c=o-1;)a=n[f],vt[a]&&(o=1,a=a==="transformOrigin"?H:z),Ot(i,a);o&&(Ot(i,z),s&&(s.svg&&i.removeAttribute("transform"),r.scale=r.rotate=r.translate="none",ce(i,1),s.uncache=1,Tr(r)))}},Pe={clearProps:function(t,e,i,r,n){if(n.data!=="isFromStart"){var s=t._pt=new j(t._pt,e,i,0,0,Wn);return s.u=r,s.pr=-10,s.tween=n,t._props.push(i),1}}},le=[1,0,0,1,0,0],Or={},kr=function(t){return t==="matrix(1, 0, 0, 1, 0, 0)"||t==="none"||!t},Ai=function(t){var e=rt(t,z);return kr(e)?le:e.substr(7).match(Ii).map(V)},di=function(t,e){var i=t._gsap||Ft(t),r=t.style,n=Ai(t),s,a,o,f;return i.svg&&t.getAttribute("transform")?(o=t.transform.baseVal.consolidate().matrix,n=[o.a,o.b,o.c,o.d,o.e,o.f],n.join(",")==="1,0,0,1,0,0"?le:n):(n===le&&!t.offsetParent&&t!==Wt&&!i.svg&&(o=r.display,r.display="block",s=t.parentNode,(!s||!t.offsetParent&&!t.getBoundingClientRect().width)&&(f=1,a=t.nextElementSibling,Wt.appendChild(t)),n=Ai(t),o?r.display=o:Ot(t,"display"),f&&(a?s.insertBefore(t,a):s?s.appendChild(t):Wt.removeChild(t))),e&&n.length>6?[n[0],n[1],n[4],n[5],n[12],n[13]]:n)},Ze=function(t,e,i,r,n,s){var a=t._gsap,o=n||di(t,!0),f=a.xOrigin||0,h=a.yOrigin||0,l=a.xOffset||0,c=a.yOffset||0,d=o[0],p=o[1],_=o[2],m=o[3],v=o[4],y=o[5],x=e.split(" "),T=parseFloat(x[0])||0,g=parseFloat(x[1])||0,S,w,P,b;i?o!==le&&(w=d*m-p*_)&&(P=T*(m/w)+g*(-_/w)+(_*y-m*v)/w,b=T*(-p/w)+g*(d/w)-(d*y-p*v)/w,T=P,g=b):(S=Pr(t),T=S.x+(~x[0].indexOf("%")?T/100*S.width:T),g=S.y+(~(x[1]||x[0]).indexOf("%")?g/100*S.height:g)),r||r!==!1&&a.smooth?(v=T-f,y=g-h,a.xOffset=l+(v*d+y*_)-v,a.yOffset=c+(v*p+y*m)-y):a.xOffset=a.yOffset=0,a.xOrigin=T,a.yOrigin=g,a.smooth=!!r,a.origin=e,a.originIsAbsolute=!!i,t.style[H]="0px 0px",s&&(wt(s,a,"xOrigin",f,T),wt(s,a,"yOrigin",h,g),wt(s,a,"xOffset",l,a.xOffset),wt(s,a,"yOffset",c,a.yOffset)),t.setAttribute("data-svg-origin",T+" "+g)},ce=function(t,e){var i=t._gsap||new hr(t);if("x"in i&&!e&&!i.uncache)return i;var r=t.style,n=i.scaleX<0,s="px",a="deg",o=getComputedStyle(t),f=rt(t,H)||"0",h,l,c,d,p,_,m,v,y,x,T,g,S,w,P,b,O,N,F,D,L,X,Y,B,ot,Vt,Ht,Jt,Mt,pi,pt,Dt;return h=l=c=_=m=v=y=x=T=0,d=p=1,i.svg=!!(t.getCTM&&Sr(t)),o.translate&&((o.translate!=="none"||o.scale!=="none"||o.rotate!=="none")&&(r[z]=(o.translate!=="none"?"translate3d("+(o.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(o.rotate!=="none"?"rotate("+o.rotate+") ":"")+(o.scale!=="none"?"scale("+o.scale.split(" ").join(",")+") ":"")+(o[z]!=="none"?o[z]:"")),r.scale=r.rotate=r.translate="none"),w=di(t,i.svg),i.svg&&(i.uncache?(ot=t.getBBox(),f=i.xOrigin-ot.x+"px "+(i.yOrigin-ot.y)+"px",B=""):B=!e&&t.getAttribute("data-svg-origin"),Ze(t,B||f,!!B||i.originIsAbsolute,i.smooth!==!1,w)),g=i.xOrigin||0,S=i.yOrigin||0,w!==le&&(N=w[0],F=w[1],D=w[2],L=w[3],h=X=w[4],l=Y=w[5],w.length===6?(d=Math.sqrt(N*N+F*F),p=Math.sqrt(L*L+D*D),_=N||F?Ut(F,N)*Et:0,y=D||L?Ut(D,L)*Et+_:0,y&&(p*=Math.abs(Math.cos(y*Gt))),i.svg&&(h-=g-(g*N+S*D),l-=S-(g*F+S*L))):(Dt=w[6],pi=w[7],Ht=w[8],Jt=w[9],Mt=w[10],pt=w[11],h=w[12],l=w[13],c=w[14],P=Ut(Dt,Mt),m=P*Et,P&&(b=Math.cos(-P),O=Math.sin(-P),B=X*b+Ht*O,ot=Y*b+Jt*O,Vt=Dt*b+Mt*O,Ht=X*-O+Ht*b,Jt=Y*-O+Jt*b,Mt=Dt*-O+Mt*b,pt=pi*-O+pt*b,X=B,Y=ot,Dt=Vt),P=Ut(-D,Mt),v=P*Et,P&&(b=Math.cos(-P),O=Math.sin(-P),B=N*b-Ht*O,ot=F*b-Jt*O,Vt=D*b-Mt*O,pt=L*O+pt*b,N=B,F=ot,D=Vt),P=Ut(F,N),_=P*Et,P&&(b=Math.cos(P),O=Math.sin(P),B=N*b+F*O,ot=X*b+Y*O,F=F*b-N*O,Y=Y*b-X*O,N=B,X=ot),m&&Math.abs(m)+Math.abs(_)>359.9&&(m=_=0,v=180-v),d=V(Math.sqrt(N*N+F*F+D*D)),p=V(Math.sqrt(Y*Y+Dt*Dt)),P=Ut(X,Y),y=Math.abs(P)>2e-4?P*Et:0,T=pt?1/(pt<0?-pt:pt):0),i.svg&&(B=t.getAttribute("transform"),i.forceCSS=t.setAttribute("transform","")||!kr(rt(t,z)),B&&t.setAttribute("transform",B))),Math.abs(y)>90&&Math.abs(y)<270&&(n?(d*=-1,y+=_<=0?180:-180,_+=_<=0?180:-180):(p*=-1,y+=y<=0?180:-180)),e=e||i.uncache,i.x=h-((i.xPercent=h&&(!e&&i.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-h)?-50:0)))?t.offsetWidth*i.xPercent/100:0)+s,i.y=l-((i.yPercent=l&&(!e&&i.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-l)?-50:0)))?t.offsetHeight*i.yPercent/100:0)+s,i.z=c+s,i.scaleX=V(d),i.scaleY=V(p),i.rotation=V(_)+a,i.rotationX=V(m)+a,i.rotationY=V(v)+a,i.skewX=y+a,i.skewY=x+a,i.transformPerspective=T+s,(i.zOrigin=parseFloat(f.split(" ")[2])||!e&&i.zOrigin||0)&&(r[H]=Se(f)),i.xOffset=i.yOffset=0,i.force3D=nt.force3D,i.renderTransform=i.svg?Qn:br?Cr:Gn,i.uncache=0,i},Se=function(t){return(t=t.split(" "))[0]+" "+t[1]},Le=function(t,e,i){var r=G(e);return V(parseFloat(e)+parseFloat(kt(t,"x",i+"px",r)))+r},Gn=function(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Cr(t,e)},Rt="0deg",te="0px",At=") ",Cr=function(t,e){var i=e||this,r=i.xPercent,n=i.yPercent,s=i.x,a=i.y,o=i.z,f=i.rotation,h=i.rotationY,l=i.rotationX,c=i.skewX,d=i.skewY,p=i.scaleX,_=i.scaleY,m=i.transformPerspective,v=i.force3D,y=i.target,x=i.zOrigin,T="",g=v==="auto"&&t&&t!==1||v===!0;if(x&&(l!==Rt||h!==Rt)){var S=parseFloat(h)*Gt,w=Math.sin(S),P=Math.cos(S),b;S=parseFloat(l)*Gt,b=Math.cos(S),s=Le(y,s,w*b*-x),a=Le(y,a,-Math.sin(S)*-x),o=Le(y,o,P*b*-x+x)}m!==te&&(T+="perspective("+m+At),(r||n)&&(T+="translate("+r+"%, "+n+"%) "),(g||s!==te||a!==te||o!==te)&&(T+=o!==te||g?"translate3d("+s+", "+a+", "+o+") ":"translate("+s+", "+a+At),f!==Rt&&(T+="rotate("+f+At),h!==Rt&&(T+="rotateY("+h+At),l!==Rt&&(T+="rotateX("+l+At),(c!==Rt||d!==Rt)&&(T+="skew("+c+", "+d+At),(p!==1||_!==1)&&(T+="scale("+p+", "+_+At),y.style[z]=T||"translate(0, 0)"},Qn=function(t,e){var i=e||this,r=i.xPercent,n=i.yPercent,s=i.x,a=i.y,o=i.rotation,f=i.skewX,h=i.skewY,l=i.scaleX,c=i.scaleY,d=i.target,p=i.xOrigin,_=i.yOrigin,m=i.xOffset,v=i.yOffset,y=i.forceCSS,x=parseFloat(s),T=parseFloat(a),g,S,w,P,b;o=parseFloat(o),f=parseFloat(f),h=parseFloat(h),h&&(h=parseFloat(h),f+=h,o+=h),o||f?(o*=Gt,f*=Gt,g=Math.cos(o)*l,S=Math.sin(o)*l,w=Math.sin(o-f)*-c,P=Math.cos(o-f)*c,f&&(h*=Gt,b=Math.tan(f-h),b=Math.sqrt(1+b*b),w*=b,P*=b,h&&(b=Math.tan(h),b=Math.sqrt(1+b*b),g*=b,S*=b)),g=V(g),S=V(S),w=V(w),P=V(P)):(g=l,P=c,S=w=0),(x&&!~(s+"").indexOf("px")||T&&!~(a+"").indexOf("px"))&&(x=kt(d,"x",s,"px"),T=kt(d,"y",a,"px")),(p||_||m||v)&&(x=V(x+p-(p*g+_*w)+m),T=V(T+_-(p*S+_*P)+v)),(r||n)&&(b=d.getBBox(),x=V(x+r/100*b.width),T=V(T+n/100*b.height)),b="matrix("+g+","+S+","+w+","+P+","+x+","+T+")",d.setAttribute("transform",b),y&&(d.style[z]=b)},$n=function(t,e,i,r,n){var s=360,a=q(n),o=parseFloat(n)*(a&&~n.indexOf("rad")?Et:1),f=o-r,h=r+f+"deg",l,c;return a&&(l=n.split("_")[1],l==="short"&&(f%=s,f!==f%(s/2)&&(f+=f<0?s:-s)),l==="cw"&&f<0?f=(f+s*Oi)%s-~~(f/s)*s:l==="ccw"&&f>0&&(f=(f-s*Oi)%s-~~(f/s)*s)),t._pt=c=new j(t._pt,e,i,r,f,Dn),c.e=h,c.u="deg",t._props.push(i),c},Ei=function(t,e){for(var i in e)t[i]=e[i];return t},Kn=function(t,e,i){var r=Ei({},i._gsap),n="perspective,force3D,transformOrigin,svgOrigin",s=i.style,a,o,f,h,l,c,d,p;r.svg?(f=i.getAttribute("transform"),i.setAttribute("transform",""),s[z]=e,a=ce(i,1),Ot(i,z),i.setAttribute("transform",f)):(f=getComputedStyle(i)[z],s[z]=e,a=ce(i,1),s[z]=f);for(o in vt)f=r[o],h=a[o],f!==h&&n.indexOf(o)<0&&(d=G(f),p=G(h),l=d!==p?kt(i,o,f,p):parseFloat(f),c=parseFloat(h),t._pt=new j(t._pt,a,o,l,c-l,Qe),t._pt.u=p||0,t._props.push(o));Ei(a,r)};Z("padding,margin,Width,Radius",function(u,t){var e="Top",i="Right",r="Bottom",n="Left",s=(t<3?[e,i,r,n]:[e+n,e+i,r+i,r+n]).map(function(a){return t<2?u+a:"border"+a+u});Pe[t>1?"border"+u:u]=function(a,o,f,h,l){var c,d;if(arguments.length<4)return c=s.map(function(p){return gt(a,p,f)}),d=c.join(" "),d.split(c[0]).length===5?c[0]:d;c=(h+"").split(" "),d={},s.forEach(function(p,_){return d[p]=c[_]=c[_]||c[(_-1)/2|0]}),a.init(o,d,l)}});var Mr={name:"css",register:Ke,targetTest:function(t){return t.style&&t.nodeType},init:function(t,e,i,r,n){var s=this._props,a=t.style,o=i.vars.startAt,f,h,l,c,d,p,_,m,v,y,x,T,g,S,w,P,b;_i||Ke(),this.styles=this.styles||wr(t),P=this.styles.props,this.tween=i;for(_ in e)if(_!=="autoRound"&&(h=e[_],!(tt[_]&&_r(_,e,i,r,t,n)))){if(d=typeof h,p=Pe[_],d==="function"&&(h=h.call(i,r,t,n),d=typeof h),d==="string"&&~h.indexOf("random(")&&(h=fe(h)),p)p(this,t,_,h,i)&&(w=1);else if(_.substr(0,2)==="--")f=(getComputedStyle(t).getPropertyValue(_)+"").trim(),h+="",Pt.lastIndex=0,Pt.test(f)||(m=G(f),v=G(h),v?m!==v&&(f=kt(t,_,f,v)+v):m&&(h+=m)),this.add(a,"setProperty",f,h,r,n,0,0,_),s.push(_),P.push(_,0,a[_]);else if(d!=="undefined"){if(o&&_ in o?(f=typeof o[_]=="function"?o[_].call(i,r,t,n):o[_],q(f)&&~f.indexOf("random(")&&(f=fe(f)),G(f+"")||f==="auto"||(f+=nt.units[_]||G(gt(t,_))||""),(f+"").charAt(1)==="="&&(f=gt(t,_))):f=gt(t,_),c=parseFloat(f),y=d==="string"&&h.charAt(1)==="="&&h.substr(0,2),y&&(h=h.substr(2)),l=parseFloat(h),_ in ct&&(_==="autoAlpha"&&(c===1&>(t,"visibility")==="hidden"&&l&&(c=0),P.push("visibility",0,a.visibility),wt(this,a,"visibility",c?"inherit":"hidden",l?"inherit":"hidden",!l)),_!=="scale"&&_!=="transform"&&(_=ct[_],~_.indexOf(",")&&(_=_.split(",")[0]))),x=_ in vt,x){if(this.styles.save(_),b=h,d==="string"&&h.substring(0,6)==="var(--"){if(h=rt(t,h.substring(4,h.indexOf(")"))),h.substring(0,5)==="calc("){var O=t.style.perspective;t.style.perspective=h,h=rt(t,"perspective"),O?t.style.perspective=O:Ot(t,"perspective")}l=parseFloat(h)}if(T||(g=t._gsap,g.renderTransform&&!e.parseTransform||ce(t,e.parseTransform),S=e.smoothOrigin!==!1&&g.smooth,T=this._pt=new j(this._pt,a,z,0,1,g.renderTransform,g,0,-1),T.dep=1),_==="scale")this._pt=new j(this._pt,g,"scaleY",g.scaleY,(y?qt(g.scaleY,y+l):l)-g.scaleY||0,Qe),this._pt.u=0,s.push("scaleY",_),_+="X";else if(_==="transformOrigin"){P.push(H,0,a[H]),h=qn(h),g.svg?Ze(t,h,0,S,0,this):(v=parseFloat(h.split(" ")[2])||0,v!==g.zOrigin&&wt(this,g,"zOrigin",g.zOrigin,v),wt(this,a,_,Se(f),Se(h)));continue}else if(_==="svgOrigin"){Ze(t,h,1,S,0,this);continue}else if(_ in Or){$n(this,g,_,c,y?qt(c,y+h):h);continue}else if(_==="smoothOrigin"){wt(this,g,"smooth",g.smooth,h);continue}else if(_==="force3D"){g[_]=h;continue}else if(_==="transform"){Kn(this,h,t);continue}}else _ in a||(_=jt(_)||_);if(x||(l||l===0)&&(c||c===0)&&!Mn.test(h)&&_ in a)m=(f+"").substr((c+"").length),l||(l=0),v=G(h)||(_ in nt.units?nt.units[_]:m),m!==v&&(c=kt(t,_,f,v)),this._pt=new j(this._pt,x?g:a,_,c,(y?qt(c,y+l):l)-c,!x&&(v==="px"||_==="zIndex")&&e.autoRound!==!1?En:Qe),this._pt.u=v||0,x&&b!==h?(this._pt.b=f,this._pt.e=b,this._pt.r=An):m!==v&&v!=="%"&&(this._pt.b=f,this._pt.r=Rn);else if(_ in a)Xn.call(this,t,_,f,y?y+h:h);else if(_ in t)this.add(t,_,f||t[_],y?y+h:h,r,n);else if(_!=="parseTransform"){ei(_,h);continue}x||(_ in a?P.push(_,0,a[_]):typeof t[_]=="function"?P.push(_,2,t[_]()):P.push(_,1,f||t[_])),s.push(_)}}w&&gr(this)},render:function(t,e){if(e.tween._time||!li())for(var i=e._pt;i;)i.r(t,i.d),i=i._next;else e.styles.revert()},get:gt,aliases:ct,getSetter:function(t,e,i){var r=ct[e];return r&&r.indexOf(",")<0&&(e=r),e in vt&&e!==H&&(t._gsap.x||gt(t,"x"))?i&&Si===i?e==="scale"?In:Ln:(Si=i||{})&&(e==="scale"?Nn:Bn):t.style&&!He(t.style[e])?zn:~e.indexOf("-")?Fn:fi(t,e)},core:{_removeProperty:Ot,_getMatrix:di}};J.utils.checkPrefix=jt;J.core.getStyleSaver=wr;(function(u,t,e,i){var r=Z(u+","+t+","+e,function(n){vt[n]=1});Z(t,function(n){nt.units[n]="deg",Or[n]=1}),ct[r[13]]=u+","+t,Z(i,function(n){var s=n.split(":");ct[s[1]]=r[s[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");Z("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(u){nt.units[u]="px"});J.registerPlugin(Mr);var Zn=J.registerPlugin(Mr)||J,ps=Zn.core.Tween;export{fs as Back,_s as Bounce,Mr as CSSPlugin,ds as Circ,ns as Cubic,us as Elastic,cs as Expo,is as Linear,jn as Power0,Hn as Power1,Jn as Power2,ts as Power3,es as Power4,rs as Quad,ss as Quart,as as Quint,ls as Sine,hs as SteppedEase,os as Strong,$ as TimelineLite,$ as TimelineMax,U as TweenLite,ps as TweenMax,Zn as default,Zn as gsap}; diff --git a/frontend/web/dist/assets/motion-sqs9Ax-g.js b/frontend/web/dist/assets/motion-sqs9Ax-g.js new file mode 100644 index 000000000..ff362aa93 --- /dev/null +++ b/frontend/web/dist/assets/motion-sqs9Ax-g.js @@ -0,0 +1 @@ +import{n as e}from"./rolldown-runtime-hePW80VL.js";function t(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var r={autoSleep:120,force3D:`auto`,nullTargetWarn:1,units:{lineHeight:``}},i={duration:.5,overwrite:!1,delay:0},a,o,s,c=1e8,l=1/c,u=Math.PI*2,d=u/4,f=0,p=Math.sqrt,m=Math.cos,h=Math.sin,g=function(e){return typeof e==`string`},_=function(e){return typeof e==`function`},v=function(e){return typeof e==`number`},y=function(e){return e===void 0},b=function(e){return typeof e==`object`},x=function(e){return e!==!1},S=function(){return typeof window<`u`},C=function(e){return _(e)||g(e)},w=typeof ArrayBuffer==`function`&&ArrayBuffer.isView||function(){},T=Array.isArray,E=/random\([^)]+\)/g,D=/,\s*/g,O=/(?:-?\.?\d|\.)+/gi,k=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,A=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,j=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,M=/[+-]=-?[.\d]+/,N=/[^,'"\[\]\s]+/gi,P=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,F,I,L,R,z={},B={},ee,te=function(e){return(B=ke(e,z))&&Z},ne=function(e,t){return console.warn(`Invalid property`,e,`set to`,t,`Missing plugin? gsap.registerPlugin()`)},re=function(e,t){return!t&&console.warn(e)},ie=function(e,t){return e&&(z[e]=t)&&B&&(B[e]=t)||z},ae=function(){return 0},oe={suppressEvents:!0,isStart:!0,kill:!1},se={suppressEvents:!0,kill:!1},ce={suppressEvents:!0},le={},ue=[],de={},fe,V={},pe={},me=30,he=[],ge=``,_e=function(e){var t=e[0],n,r;if(b(t)||_(t)||(e=[e]),!(n=(t._gsap||{}).harness)){for(r=he.length;r--&&!he[r].targetTest(t););n=he[r]}for(r=e.length;r--;)e[r]&&(e[r]._gsap||(e[r]._gsap=new tn(e[r],n)))||e.splice(r,1);return e},ve=function(e){return e._gsap||_e(dt(e))[0]._gsap},ye=function(e,t,n){return(n=e[t])&&_(n)?e[t]():y(n)&&e.getAttribute&&e.getAttribute(t)||n},H=function(e,t){return(e=e.split(`,`)).forEach(t)||e},U=function(e){return Math.round(e*1e5)/1e5||0},W=function(e){return Math.round(e*1e7)/1e7||0},be=function(e,t){var n=t.charAt(0),r=parseFloat(t.substr(2));return e=parseFloat(e),n===`+`?e+r:n===`-`?e-r:n===`*`?e*r:e/r},xe=function(e,t){for(var n=t.length,r=0;e.indexOf(t[r])<0&&++ro;)a=a._prev;return a?(t._next=a._next,a._next=t):(t._next=e[n],e[n]=t),t._next?t._next._prev=t:e[r]=t,t._prev=a,t.parent=t._dp=e,t},Fe=function(e,t,n,r){n===void 0&&(n=`_first`),r===void 0&&(r=`_last`);var i=t._prev,a=t._next;i?i._next=a:e[n]===t&&(e[n]=a),a?a._prev=i:e[r]===t&&(e[r]=i),t._next=t._prev=t.parent=null},Ie=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},Le=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var n=e;n;)n._dirty=1,n=n.parent;return e},Re=function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e},ze=function(e,t,n,r){return e._startAt&&(o?e._startAt.revert(se):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,r))},Be=function e(t){return!t||t._ts&&e(t.parent)},Ve=function(e){return e._repeat?He(e._tTime,e=e.duration()+e._rDelay)*e:0},He=function(e,t){var n=Math.floor(e=W(e/t));return e&&n===e?n-1:n},Ue=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},We=function(e){return e._end=W(e._start+(e._tDur/Math.abs(e._ts||e._rts||l)||0))},Ge=function(e,t){var n=e._dp;return n&&n.smoothChildTiming&&e._ts&&(e._start=W(n._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),We(e),n._dirty||Le(n,e)),e},Ke=function(e,t){var n;if((t._time||!t._dur&&t._initted||t._startl)&&t.render(n,!0)),Le(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur=0&&n.totalTime(n._tTime),n=n._dp;e._zTime=-l}},qe=function(e,t,n,r){return t.parent&&Ie(t),t._start=W((v(n)?n:n||e!==F?rt(e,n,t):e._time)+t._delay),t._end=W(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),Pe(e,t,`_first`,`_last`,e._sort?`_start`:0),Ze(t)||(e._recent=t),r||Ke(e,t),e._ts<0&&Ge(e,e._tTime),e},Je=function(e,t){return(z.ScrollTrigger||ne(`scrollTrigger`,t))&&z.ScrollTrigger.create(t,e)},Ye=function(e,t,n,r,i){if(un(e,t,i),!e._initted)return 1;if(!n&&e._pt&&!o&&(e._dur&&e.vars.lazy!==!1||!e._dur&&e.vars.lazy)&&fe!==Ht.frame)return ue.push(e),e._lazy=[i,r],1},Xe=function e(t){var n=t.parent;return n&&n._ts&&n._initted&&!n._lock&&(n.rawTime()<0||e(n))},Ze=function(e){var t=e.data;return t===`isFromStart`||t===`isStart`},Qe=function(e,t,n,r){var i=e.ratio,a=t<0||!t&&(!e._start&&Xe(e)&&!(!e._initted&&Ze(e))||(e._ts<0||e._dp._ts<0)&&!Ze(e))?0:1,s=e._rDelay,c=0,u,d,f;if(s&&e._repeat&&(c=ot(0,e._tDur,t),d=He(c,s),e._yoyo&&d&1&&(a=1-a),d!==He(e._tTime,s)&&(i=1-a,e.vars.repeatRefresh&&e._initted&&e.invalidate())),a!==i||o||r||e._zTime===l||!t&&e._zTime){if(!e._initted&&Ye(e,t,r,n,c))return;for(f=e._zTime,e._zTime=t||(n?l:0),n||=t&&!f,e.ratio=a,e._from&&(a=1-a),e._time=0,e._tTime=c,u=e._pt;u;)u.r(a,u.d),u=u._next;t<0&&ze(e,t,n,!0),e._onUpdate&&!n&&Ot(e,`onUpdate`),c&&e._repeat&&!n&&e.parent&&Ot(e,`onRepeat`),(t>=e._tDur||t<0)&&e.ratio===a&&(a&&Ie(e,1),!n&&!o&&(Ot(e,a?`onComplete`:`onReverseComplete`,!0),e._prom&&e._prom()))}else e._zTime||=t},$e=function(e,t,n){var r;if(n>t)for(r=e._first;r&&r._start<=n;){if(r.data===`isPause`&&r._start>t)return r;r=r._next}else for(r=e._last;r&&r._start>=n;){if(r.data===`isPause`&&r._start0&&!r&&Ge(e,e._tTime=e._tDur*o),e.parent&&We(e),n||Le(e.parent,e),e},tt=function(e){return e instanceof J?Le(e):et(e,e._dur)},nt={_start:0,endTime:ae,totalDuration:ae},rt=function e(t,n,r){var i=t.labels,a=t._recent||nt,o=t.duration()>=c?a.endTime(!1):t._dur,s,l,u;return g(n)&&(isNaN(n)||n in i)?(l=n.charAt(0),u=n.substr(-1)===`%`,s=n.indexOf(`=`),l===`<`||l===`>`?(s>=0&&(n=n.replace(/=/,``)),(l===`<`?a._start:a.endTime(a._repeat>=0))+(parseFloat(n.substr(1))||0)*(u?(s<0?a:r).totalDuration()/100:1)):s<0?(n in i||(i[n]=o),i[n]):(l=parseFloat(n.charAt(s-1)+n.substr(s+1)),u&&r&&(l=l/100*(T(r)?r[0]:r).totalDuration()),s>1?e(t,n.substr(0,s-1),r)+l:o+l)):n==null?o:+n},it=function(e,t,n){var r=v(t[1]),i=(r?2:1)+(e<2?0:1),a=t[i],o,s;if(r&&(a.duration=t[1]),a.parent=n,e){for(o=a,s=n;s&&!(`immediateRender`in o);)o=s.vars.defaults||{},s=x(s.vars.inherit)&&s.parent;a.immediateRender=x(o.immediateRender),e<2?a.runBackwards=1:a.startAt=t[i-1]}return new Y(t[0],a,t[i+1])},at=function(e,t){return e||e===0?t(e):t},ot=function(e,t,n){return nt?t:n},G=function(e,t){return!g(e)||!(t=P.exec(e))?``:t[1]},st=function(e,t,n){return at(n,function(n){return ot(e,t,n)})},ct=[].slice,lt=function(e,t){return e&&b(e)&&`length`in e&&(!t&&!e.length||e.length-1 in e&&b(e[0]))&&!e.nodeType&&e!==I},ut=function(e,t,n){return n===void 0&&(n=[]),e.forEach(function(e){var r;return g(e)&&!t||lt(e,1)?(r=n).push.apply(r,dt(e)):n.push(e)})||n},dt=function(e,t,n){return s&&!t&&s.selector?s.selector(e):g(e)&&!n&&(L||!Ut())?ct.call((t||R).querySelectorAll(e),0):T(e)?ut(e,n):lt(e)?ct.call(e,0):e?[e]:[]},ft=function(e){return e=dt(e)[0]||re(`Invalid scope`)||{},function(t){var n=e.current||e.nativeElement||e;return dt(t,n.querySelectorAll?n:n===e?re(`Invalid scope`)||R.createElement(`div`):e)}},pt=function(e){return e.sort(function(){return .5-Math.random()})},mt=function(e){if(_(e))return e;var t=b(e)?e:{each:e},n=Xt(t.ease),r=t.from||0,i=parseFloat(t.base)||0,a={},o=r>0&&r<1,s=isNaN(r)||o,l=t.axis,u=r,d=r;return g(r)?u=d={center:.5,edges:.5,end:1}[r]||0:!o&&s&&(u=r[0],d=r[1]),function(e,o,f){var m=(f||t).length,h=a[m],g,_,v,y,b,x,S,C,w;if(!h){if(w=t.grid===`auto`?0:(t.grid||[1,c])[1],!w){for(S=-c;S<(S=f[w++].getBoundingClientRect().left)&&wS&&(S=b),bm?m-1:l?l===`y`?m/w:w:Math.max(w,m/w))||0)*(r===`edges`?-1:1),h.b=m<0?i-m:i,h.u=G(t.amount||t.each)||0,n=n&&m<0?Yt(n):n}return m=(h[e]-h.min)/h.max||0,W(h.b+(n?n(m):m)*h.v)+h.u}},ht=function(e){var t=10**((e+``).split(`.`)[1]||``).length;return function(n){var r=W(Math.round(parseFloat(n)/e)*e*t);return(r-r%1)/t+(v(n)?0:G(n))}},gt=function(e,t){var n=T(e),r,i;return!n&&b(e)&&(r=n=e.radius||c,e.values?(e=dt(e.values),(i=!v(e[0]))&&(r*=r)):e=ht(e.increment)),at(t,n?_(e)?function(t){return i=e(t),Math.abs(i-t)<=r?i:t}:function(t){for(var n=parseFloat(i?t.x:t),a=parseFloat(i?t.y:0),o=c,s=0,l=e.length,u,d;l--;)i?(u=e[l].x-n,d=e[l].y-a,u=u*u+d*d):u=Math.abs(e[l]-n),ui?a-e:e)})},wt=function(e){return e.replace(E,function(e){var t=e.indexOf(`[`)+1,n=e.substring(t||7,t?e.indexOf(`]`):e.length-1).split(D);return _t(t?n:+n[0],t?0:+n[1],+n[2]||1e-5)})},Tt=function(e,t,n,r,i){var a=t-e,o=r-n;return at(i,function(t){return n+((t-e)/a*o||0)})},Et=function e(t,n,r,i){var a=isNaN(t+n)?0:function(e){return(1-e)*t+e*n};if(!a){var o=g(t),s={},c,l,u,d,f;if(r===!0&&(i=1)&&(r=null),o)t={p:t},n={p:n};else if(T(t)&&!T(n)){for(u=[],d=t.length,f=d-2,l=1;l(o=Math.abs(o))&&(s=a,i=o);return s},Ot=function(e,t,n){var r=e.vars,i=r[t],a=s,o=e._ctx,c,l,u;if(i)return c=r[t+`Params`],l=r.callbackScope||e,n&&ue.length&&Se(),o&&(s=o),u=c?i.apply(l,c):i.call(l),s=a,u},kt=function(e){return Ie(e),e.scrollTrigger&&e.scrollTrigger.kill(!!o),e.progress()<1&&Ot(e,`onInterrupt`),e},At,jt=[],Mt=function(e){if(e){if(e=!e.name&&e.default||e,S()||e.headless){var t=e.name,n=_(e),r=t&&!n&&e.init?function(){this._props=[]}:e,i={init:ae,render:Tn,add:an,kill:Dn,modifier:En,rawVars:0},a={targetTest:0,get:0,getSetter:xn,aliases:{},register:0};if(Ut(),e!==r){if(V[t])return;De(r,De(je(e,i),a)),ke(r.prototype,ke(i,je(e,a))),V[r.prop=t]=r,e.targetTest&&(he.push(r),le[t]=1),t=(t===`css`?`CSS`:t.charAt(0).toUpperCase()+t.substr(1))+`Plugin`}ie(t,r),e.register&&e.register(Z,r,X)}else jt.push(e)}},K=255,Nt={aqua:[0,K,K],lime:[0,K,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,K],navy:[0,0,128],white:[K,K,K],olive:[128,128,0],yellow:[K,K,0],orange:[K,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[K,0,0],pink:[K,192,203],cyan:[0,K,K],transparent:[K,K,K,0]},Pt=function(e,t,n){return e+=e<0?1:e>1?-1:0,(e*6<1?t+(n-t)*e*6:e<.5?n:e*3<2?t+(n-t)*(2/3-e)*6:t)*K+.5|0},Ft=function(e,t,n){var r=e?v(e)?[e>>16,e>>8&K,e&K]:0:Nt.black,i,a,o,s,c,l,u,d,f,p;if(!r){if(e.substr(-1)===`,`&&(e=e.substr(0,e.length-1)),Nt[e])r=Nt[e];else if(e.charAt(0)===`#`){if(e.length<6&&(i=e.charAt(1),a=e.charAt(2),o=e.charAt(3),e=`#`+i+i+a+a+o+o+(e.length===5?e.charAt(4)+e.charAt(4):``)),e.length===9)return r=parseInt(e.substr(1,6),16),[r>>16,r>>8&K,r&K,parseInt(e.substr(7),16)/255];e=parseInt(e.substr(1),16),r=[e>>16,e>>8&K,e&K]}else if(e.substr(0,3)===`hsl`){if(r=p=e.match(O),!t)s=r[0]%360/360,c=r[1]/100,l=r[2]/100,a=l<=.5?l*(c+1):l+c-l*c,i=l*2-a,r.length>3&&(r[3]*=1),r[0]=Pt(s+1/3,i,a),r[1]=Pt(s,i,a),r[2]=Pt(s-1/3,i,a);else if(~e.indexOf(`=`))return r=e.match(k),n&&r.length<4&&(r[3]=1),r}else r=e.match(O)||Nt.transparent;r=r.map(Number)}return t&&!p&&(i=r[0]/K,a=r[1]/K,o=r[2]/K,u=Math.max(i,a,o),d=Math.min(i,a,o),l=(u+d)/2,u===d?s=c=0:(f=u-d,c=l>.5?f/(2-u-d):f/(u+d),s=u===i?(a-o)/f+(at||h<0)&&(r+=h-n),i+=h,y=i-r,_=y-o,(_>0||g)&&(b=++d.frame,f=y-d.time*1e3,d.time=y/=1e3,o+=_+(_>=a?4:a-_),v=1),g||(c=l(u)),v)for(p=0;p=t&&p--},_listeners:s},d}(),Ut=function(){return!Vt&&Ht.wake()},q={},Wt=/^[\d.\-M][\d.\-,\s]/,Gt=/["']/g,Kt=function(e){for(var t={},n=e.substr(1,e.length-3).split(`:`),r=n[0],i=1,a=n.length,o,s,c;i1&&n.config?n.config.apply(null,~e.indexOf(`{`)?[Kt(t[1])]:qt(e).split(`,`).map(Te)):q._CE&&Wt.test(e)?q._CE(``,e):n},Yt=function(e){return function(t){return 1-e(1-t)}},Xt=function(e,t){return e&&(_(e)?e:q[e]||Jt(e))||t},Zt=function(e,t,n,r){n===void 0&&(n=function(e){return 1-t(1-e)}),r===void 0&&(r=function(e){return e<.5?t(e*2)/2:1-t((1-e)*2)/2});var i={easeIn:t,easeOut:n,easeInOut:r},a;return H(e,function(e){for(var t in q[e]=z[e]=i,q[a=e.toLowerCase()]=n,i)q[a+(t===`easeIn`?`.in`:t===`easeOut`?`.out`:`.inOut`)]=q[e+`.`+t]=i[t]}),i},Qt=function(e){return function(t){return t<.5?(1-e(1-t*2))/2:.5+e((t-.5)*2)/2}},$t=function e(t,n,r){var i=n>=1?n:1,a=(r||(t?.3:.45))/(n<1?n:1),o=a/u*(Math.asin(1/i)||0),s=function(e){return e===1?1:i*2**(-10*e)*h((e-o)*a)+1},c=t===`out`?s:t===`in`?function(e){return 1-s(1-e)}:Qt(s);return a=u/a,c.config=function(n,r){return e(t,n,r)},c},en=function e(t,n){n===void 0&&(n=1.70158);var r=function(e){return e?--e*e*((n+1)*e+n)+1:0},i=t===`out`?r:t===`in`?function(e){return 1-r(1-e)}:Qt(r);return i.config=function(n){return e(t,n)},i};H(`Linear,Quad,Cubic,Quart,Quint,Strong`,function(e,t){var n=t<5?t+1:t;Zt(e+`,Power`+(n-1),t?function(e){return e**+n}:function(e){return e},function(e){return 1-(1-e)**n},function(e){return e<.5?(e*2)**n/2:1-((1-e)*2)**n/2})}),q.Linear.easeNone=q.none=q.Linear.easeIn,Zt(`Elastic`,$t(`in`),$t(`out`),$t()),(function(e,t){var n=1/t,r=2*n,i=2.5*n,a=function(a){return a0?e+(e+this._rDelay)*this._repeat:e):this.totalDuration()&&this._dur},t.totalDuration=function(e){return arguments.length?(this._dirty=0,et(this,this._repeat<0?e:(e-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},t.totalTime=function(e,t){if(Ut(),!arguments.length)return this._tTime;var n=this._dp;if(n&&n.smoothChildTiming&&this._ts){for(Ge(this,e),!n._dp||n.parent||Ke(n,this);n&&n.parent;)n.parent._time!==n._start+(n._ts>=0?n._tTime/n._ts:(n.totalDuration()-n._tTime)/-n._ts)&&n.totalTime(n._tTime,!0),n=n.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&e0||!this._tDur&&!e)&&qe(this._dp,this,this._start-this._delay)}return(this._tTime!==e||!this._dur&&!t||this._initted&&Math.abs(this._zTime)===l||!this._initted&&this._dur&&e||!e&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=e),we(this,e,t)),this},t.time=function(e,t){return arguments.length?this.totalTime(Math.min(this.totalDuration(),e+Ve(this))%(this._dur+this._rDelay)||(e?this._dur:0),t):this._time},t.totalProgress=function(e,t){return arguments.length?this.totalTime(this.totalDuration()*e,t):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},t.progress=function(e,t){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-e:e)+Ve(this),t):this.duration()?Math.min(1,this._time/this._dur):+(this.rawTime()>0)},t.iteration=function(e,t){var n=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(e-1)*n,t):this._repeat?He(this._tTime,n)+1:1},t.timeScale=function(e,t){if(!arguments.length)return this._rts===-l?0:this._rts;if(this._rts===e)return this;var n=this.parent&&this._ts?Ue(this.parent._time,this):this._tTime;return this._rts=+e||0,this._ts=this._ps||e===-l?0:this._rts,this.totalTime(ot(-Math.abs(this._delay),this.totalDuration(),n),t!==!1),We(this),Re(this)},t.paused=function(e){return arguments.length?(this._ps!==e&&(this._ps=e,e?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Ut(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==l&&(this._tTime-=l)))),this):this._ps},t.startTime=function(e){if(arguments.length){this._start=W(e);var t=this.parent||this._dp;return t&&(t._sort||!this.parent)&&qe(t,this,this._start-this._delay),this}return this._start},t.endTime=function(e){return this._start+(x(e)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},t.rawTime=function(e){var t=this.parent||this._dp;return t?e&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ue(t.rawTime(e),this):this._tTime:this._tTime},t.revert=function(e){e===void 0&&(e=ce);var t=o;return o=e,Ce(this)&&(this.timeline&&this.timeline.revert(e),this.totalTime(-.01,e.suppressEvents)),this.data!==`nested`&&e.kill!==!1&&this.kill(),o=t,this},t.globalTime=function(e){for(var t=this,n=arguments.length?e:t.rawTime();t;)n=t._start+n/(Math.abs(t._ts)||1),t=t._dp;return!this.parent&&this._sat?this._sat.globalTime(e):n},t.repeat=function(e){return arguments.length?(this._repeat=e===1/0?-2:e,tt(this)):this._repeat===-2?1/0:this._repeat},t.repeatDelay=function(e){if(arguments.length){var t=this._time;return this._rDelay=e,tt(this),t?this.time(t):this}return this._rDelay},t.yoyo=function(e){return arguments.length?(this._yoyo=e,this):this._yoyo},t.seek=function(e,t){return this.totalTime(rt(this,e),x(t))},t.restart=function(e,t){return this.play().totalTime(e?-this._delay:0,x(t)),this._dur||(this._zTime=-l),this},t.play=function(e,t){return e!=null&&this.seek(e,t),this.reversed(!1).paused(!1)},t.reverse=function(e,t){return e!=null&&this.seek(e||this.totalDuration(),t),this.reversed(!0).paused(!1)},t.pause=function(e,t){return e!=null&&this.seek(e,t),this.paused(!0)},t.resume=function(){return this.paused(!1)},t.reversed=function(e){return arguments.length?(!!e!==this.reversed()&&this.timeScale(-this._rts||(e?-l:0)),this):this._rts<0},t.invalidate=function(){return this._initted=this._act=0,this._zTime=-l,this},t.isActive=function(){var e=this.parent||this._dp,t=this._start,n;return!!(!e||this._ts&&this._initted&&e.isActive()&&(n=e.rawTime(!0))>=t&&n1?(t?(r[e]=t,n&&(r[e+`Params`]=n),e===`onUpdate`&&(this._onUpdate=t)):delete r[e],this):r[e]},t.then=function(e){var t=this,n=t._prom;return new Promise(function(r){var i=_(e)?e:Ee,a=function(){var e=t.then;t.then=null,n&&n(),_(i)&&(i=i(t))&&(i.then||i===t)&&(t.then=e),r(i),t.then=e};t._initted&&t.totalProgress()===1&&t._ts>=0||!t._tTime&&t._ts<0?a():t._prom=a})},t.kill=function(){kt(this)},e}();De(nn.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-l,_prom:0,_ps:!1,_rts:1});var J=function(e){n(i,e);function i(n,r){var i;return n===void 0&&(n={}),i=e.call(this,n)||this,i.labels={},i.smoothChildTiming=!!n.smoothChildTiming,i.autoRemoveChildren=!!n.autoRemoveChildren,i._sort=x(n.sortChildren),F&&qe(n.parent||F,t(i),r),n.reversed&&i.reverse(),n.paused&&i.paused(!0),n.scrollTrigger&&Je(t(i),n.scrollTrigger),i}var a=i.prototype;return a.to=function(e,t,n){return it(0,arguments,this),this},a.from=function(e,t,n){return it(1,arguments,this),this},a.fromTo=function(e,t,n,r){return it(2,arguments,this),this},a.set=function(e,t,n){return t.duration=0,t.parent=this,Me(t).repeatDelay||(t.repeat=0),t.immediateRender=!!t.immediateRender,new Y(e,t,rt(this,n),1),this},a.call=function(e,t,n){return qe(this,Y.delayedCall(0,e,t),n)},a.staggerTo=function(e,t,n,r,i,a,o){return n.duration=t,n.stagger=n.stagger||r,n.onComplete=a,n.onCompleteParams=o,n.parent=this,new Y(e,n,rt(this,i)),this},a.staggerFrom=function(e,t,n,r,i,a,o){return n.runBackwards=1,Me(n).immediateRender=x(n.immediateRender),this.staggerTo(e,t,n,r,i,a,o)},a.staggerFromTo=function(e,t,n,r,i,a,o,s){return r.startAt=n,Me(r).immediateRender=x(r.immediateRender),this.staggerTo(e,t,r,i,a,o,s)},a.render=function(e,t,n){var r=this._time,i=this._dirty?this.totalDuration():this._tDur,a=this._dur,s=e<=0?0:W(e),c=this._zTime<0!=e<0&&(this._initted||!a),u,d,f,p,m,h,g,_,v,y,b,x;if(this!==F&&s>i&&e>=0&&(s=i),s!==this._tTime||n||c){if(r!==this._time&&a&&(s+=this._time-r,e+=this._time-r),u=s,v=this._start,_=this._ts,h=!_,c&&(a||(r=this._zTime),(e||!t)&&(this._zTime=e)),this._repeat){if(b=this._yoyo,m=a+this._rDelay,this._repeat<-1&&e<0)return this.totalTime(m*100+e,t,n);if(u=W(s%m),s===i?(p=this._repeat,u=a):(y=W(s/m),p=~~y,p&&p===y&&(u=a,p--),u>a&&(u=a)),y=He(this._tTime,m),!r&&this._tTime&&y!==p&&this._tTime-y*m-this._dur<=0&&(y=p),b&&p&1&&(u=a-u,x=1),p!==y&&!this._lock){var S=b&&y&1,C=S===(b&&p&1);if(p=r&&e>=0)for(d=this._first;d;){if(f=d._next,(d._act||u>=d._start)&&d._ts&&g!==d){if(d.parent!==this)return this.render(e,t,n);if(d.render(d._ts>0?(u-d._start)*d._ts:(d._dirty?d.totalDuration():d._tDur)+(u-d._start)*d._ts,t,n),u!==this._time||!this._ts&&!h){g=0,f&&(s+=this._zTime=-l);break}}d=f}else{d=this._last;for(var w=e<0?e:u;d;){if(f=d._prev,(d._act||w<=d._end)&&d._ts&&g!==d){if(d.parent!==this)return this.render(e,t,n);if(d.render(d._ts>0?(w-d._start)*d._ts:(d._dirty?d.totalDuration():d._tDur)+(w-d._start)*d._ts,t,n||o&&Ce(d)),u!==this._time||!this._ts&&!h){g=0,f&&(s+=this._zTime=w?-l:l);break}}d=f}}if(g&&!t&&(this.pause(),g.render(u>=r?0:-l)._zTime=u>=r?1:-1,this._ts))return this._start=v,We(this),this.render(e,t,n);this._onUpdate&&!t&&Ot(this,`onUpdate`,!0),(s===i&&this._tTime>=this.totalDuration()||!s&&r)&&(v===this._start||Math.abs(_)!==Math.abs(this._ts))&&(this._lock||((e||!a)&&(s===i&&this._ts>0||!s&&this._ts<0)&&Ie(this,1),!t&&!(e<0&&!r)&&(s||r||!i)&&(Ot(this,s===i&&e>=0?`onComplete`:`onReverseComplete`,!0),this._prom&&!(s0)&&this._prom())))}return this},a.add=function(e,t){var n=this;if(v(t)||(t=rt(this,t,e)),!(e instanceof nn)){if(T(e))return e.forEach(function(e){return n.add(e,t)}),this;if(g(e))return this.addLabel(e,t);if(_(e))e=Y.delayedCall(0,e);else return this}return this===e?this:qe(this,e,t)},a.getChildren=function(e,t,n,r){e===void 0&&(e=!0),t===void 0&&(t=!0),n===void 0&&(n=!0),r===void 0&&(r=-c);for(var i=[],a=this._first;a;)a._start>=r&&(a instanceof Y?t&&i.push(a):(n&&i.push(a),e&&i.push.apply(i,a.getChildren(!0,t,n)))),a=a._next;return i},a.getById=function(e){for(var t=this.getChildren(1,1,1),n=t.length;n--;)if(t[n].vars.id===e)return t[n]},a.remove=function(e){return g(e)?this.removeLabel(e):_(e)?this.killTweensOf(e):(e.parent===this&&Fe(this,e),e===this._recent&&(this._recent=this._last),Le(this))},a.totalTime=function(t,n){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=W(Ht.time-(this._ts>0?t/this._ts:(this.totalDuration()-t)/-this._ts))),e.prototype.totalTime.call(this,t,n),this._forcing=0,this):this._tTime},a.addLabel=function(e,t){return this.labels[e]=rt(this,t),this},a.removeLabel=function(e){return delete this.labels[e],this},a.addPause=function(e,t,n){var r=Y.delayedCall(0,t||ae,n);return r.data=`isPause`,this._hasPause=1,qe(this,r,rt(this,e))},a.removePause=function(e){var t=this._first;for(e=rt(this,e);t;)t._start===e&&t.data===`isPause`&&Ie(t),t=t._next},a.killTweensOf=function(e,t,n){for(var r=this.getTweensOf(e,n),i=r.length;i--;)cn!==r[i]&&r[i].kill(e,t);return this},a.getTweensOf=function(e,t){for(var n=[],r=dt(e),i=this._first,a=v(t),o;i;)i instanceof Y?xe(i._targets,r)&&(a?(!cn||i._initted&&i._ts)&&i.globalTime(0)<=t&&i.globalTime(i.totalDuration())>t:!t||i.isActive())&&n.push(i):(o=i.getTweensOf(r,t)).length&&n.push.apply(n,o),i=i._next;return n},a.tweenTo=function(e,t){t||={};var n=this,r=rt(n,e),i=t,a=i.startAt,o=i.onStart,s=i.onStartParams,c=i.immediateRender,u,d=Y.to(n,De({ease:t.ease||`none`,lazy:!1,immediateRender:!1,time:r,overwrite:`auto`,duration:t.duration||Math.abs((r-(a&&`time`in a?a.time:n._time))/n.timeScale())||l,onStart:function(){if(n.pause(),!u){var e=t.duration||Math.abs((r-(a&&`time`in a?a.time:n._time))/n.timeScale());d._dur!==e&&et(d,e,0,1).render(d._time,!0,!0),u=1}o&&o.apply(d,s||[])}},t));return c?d.render(0):d},a.tweenFromTo=function(e,t,n){return this.tweenTo(t,De({startAt:{time:rt(this,e)}},n))},a.recent=function(){return this._recent},a.nextLabel=function(e){return e===void 0&&(e=this._time),Dt(this,rt(this,e))},a.previousLabel=function(e){return e===void 0&&(e=this._time),Dt(this,rt(this,e),1)},a.currentLabel=function(e){return arguments.length?this.seek(e,!0):this.previousLabel(this._time+l)},a.shiftChildren=function(e,t,n){n===void 0&&(n=0);var r=this._first,i=this.labels,a;for(e=W(e);r;)r._start>=n&&(r._start+=e,r._end+=e),r=r._next;if(t)for(a in i)i[a]>=n&&(i[a]+=e);return Le(this)},a.invalidate=function(t){var n=this._first;for(this._lock=0;n;)n.invalidate(t),n=n._next;return e.prototype.invalidate.call(this,t)},a.clear=function(e){e===void 0&&(e=!0);for(var t=this._first,n;t;)n=t._next,this.remove(t),t=n;return this._dp&&(this._time=this._tTime=this._pTime=0),e&&(this.labels={}),Le(this)},a.totalDuration=function(e){var t=0,n=this,r=n._last,i=c,a,o,s;if(arguments.length)return n.timeScale((n._repeat<0?n.duration():n.totalDuration())/(n.reversed()?-e:e));if(n._dirty){for(s=n.parent;r;)a=r._prev,r._dirty&&r.totalDuration(),o=r._start,o>i&&n._sort&&r._ts&&!n._lock?(n._lock=1,qe(n,r,o-r._delay,1)._lock=0):i=o,o<0&&r._ts&&(t-=o,(!s&&!n._dp||s&&s.smoothChildTiming)&&(n._start+=W(o/n._ts),n._time-=o,n._tTime-=o),n.shiftChildren(-o,!1,-1/0),i=0),r._end>t&&r._ts&&(t=r._end),r=a;et(n,n===F&&n._time>t?n._time:t,1,1),n._dirty=0}return n._tDur},i.updateRoot=function(e){if(F._ts&&(we(F,Ue(e,F)),fe=Ht.frame),Ht.frame>=me){me+=r.autoSleep||120;var t=F._first;if((!t||!t._ts)&&r.autoSleep&&Ht._listeners.length<2){for(;t&&!t._ts;)t=t._next;t||Ht.sleep()}}},i}(nn);De(J.prototype,{_lock:0,_hasPause:0,_forcing:0});var rn=function(e,t,n,r,i,a,o){var s=new X(this._pt,e,t,0,1,wn,null,i),c=0,l=0,u,d,f,p,m,h,g,_;for(s.b=n,s.e=r,n+=``,r+=``,(g=~r.indexOf(`random(`))&&(r=wt(r)),a&&(_=[n,r],a(_,e,t),n=_[0],r=_[1]),d=n.match(j)||[];u=j.exec(r);)p=u[0],m=r.substring(c,u.index),f?f=(f+1)%5:m.substr(-5)===`rgba(`&&(f=1),p!==d[l++]&&(h=parseFloat(d[l-1])||0,s._pt={_next:s._pt,p:m||l===1?m:`,`,s:h,c:p.charAt(1)===`=`?be(h,p)-h:parseFloat(p)-h,m:f&&f<4?Math.round:0},c=j.lastIndex);return s.c=c`)}),D.duration();else{for(j in k={},g)j===`ease`||j===`easeEach`||pn(j,g[j],k,g.easeEach);for(j in k)for(R=k[j].sort(function(e,t){return e.t-t.t}),L=0,O=0;Oi-l&&!o?i:ea&&(c=a)),m=this._yoyo&&d&1,m&&(c=a-c),p=He(this._tTime,f),c===r&&!n&&this._initted&&d===p)return this._tTime=s,this;d!==p&&this.vars.repeatRefresh&&!m&&!this._lock&&c!==f&&this._initted&&(this._lock=n=1,this.render(W(f*d),!0).invalidate()._lock=0)}if(!this._initted){if(Ye(this,o?e:c,n,t,s))return this._tTime=0,this;if(r!==this._time&&!(n&&this.vars.repeatRefresh&&d!==p))return this;if(a!==this._dur)return this.render(e,t,n)}if(this._rEase){var _=c0||!s&&this._ts<0)&&Ie(this,1),!t&&!(o&&!r)&&(s||r||m)&&(Ot(this,s===i?`onComplete`:`onReverseComplete`,!0),this._prom&&!(s0)&&this._prom()))}return this},s.targets=function(){return this._targets},s.invalidate=function(t){return(!t||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),e.prototype.invalidate.call(this,t)},s.resetTo=function(e,t,n,r,i){Vt||Ht.wake(),this._ts||this.play();var a=Math.min(this._dur,(this._dp._time-this._start)*this._ts),o;return this._initted||un(this,a),o=this._ease(a/this._dur),dn(this,e,t,n,r,o,a,i)?this.resetTo(e,t,n,r,1):(Ge(this,0),this.parent||Pe(this._dp,this,`_first`,`_last`,this._dp._sort?`_start`:0),this.render(0))},s.kill=function(e,t){if(t===void 0&&(t=`all`),!e&&(!t||t===`all`))return this._lazy=this._pt=0,this.parent?kt(this):this.scrollTrigger&&this.scrollTrigger.kill(!!o),this;if(this.timeline){var n=this.timeline.totalDuration();return this.timeline.killTweensOf(e,t,cn&&cn.vars.overwrite!==!0)._first||kt(this),this.parent&&n!==this.timeline.totalDuration()&&et(this,this._dur*this.timeline._tDur/n,0,1),this}var r=this._targets,i=e?dt(e):r,a=this._ptLookup,s=this._pt,c,l,u,d,f,p,m;if((!t||t===`all`)&&Ne(r,i))return t===`all`&&(this._pt=0),kt(this);for(c=this._op=this._op||[],t!==`all`&&(g(t)&&(f={},H(t,function(e){return f[e]=1}),t=f),t=fn(r,t)),m=r.length;m--;)if(~i.indexOf(r[m]))for(f in l=a[m],t===`all`?(c[m]=t,d=l,u={}):(u=c[m]=c[m]||{},d=t),d)p=l&&l[f],p&&((!(`kill`in p.d)||p.d.kill(f)===!0)&&Fe(this,p,`_pt`),delete l[f]),u!==`all`&&(u[f]=1);return this._initted&&!this._pt&&s&&kt(this),this},i.to=function(e,t){return new i(e,t,arguments[2])},i.from=function(e,t){return it(1,arguments)},i.delayedCall=function(e,t,n,r){return new i(t,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:e,onComplete:t,onReverseComplete:t,onCompleteParams:n,onReverseCompleteParams:n,callbackScope:r})},i.fromTo=function(e,t,n){return it(2,arguments)},i.set=function(e,t){return t.duration=0,t.repeatDelay||(t.repeat=0),new i(e,t)},i.killTweensOf=function(e,t,n){return F.killTweensOf(e,t,n)},i}(nn);De(Y.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),H(`staggerTo,staggerFrom,staggerFromTo`,function(e){Y[e]=function(){var t=new J,n=ct.call(arguments,0);return n.splice(e===`staggerFromTo`?5:4,0,0),t[e].apply(t,n)}});var _n=function(e,t,n){return e[t]=n},vn=function(e,t,n){return e[t](n)},yn=function(e,t,n,r){return e[t](r.fp,n)},bn=function(e,t,n){return e.setAttribute(t,n)},xn=function(e,t){return _(e[t])?vn:y(e[t])&&e.setAttribute?bn:_n},Sn=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e6)/1e6,t)},Cn=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},wn=function(e,t){var n=t._pt,r=``;if(!e&&t.b)r=t.b;else if(e===1&&t.e)r=t.e;else{for(;n;)r=n.p+(n.m?n.m(n.s+n.c*e):Math.round((n.s+n.c*e)*1e4)/1e4)+r,n=n._next;r+=t.c}t.set(t.t,t.p,r,t)},Tn=function(e,t){for(var n=t._pt;n;)n.r(e,n.d),n=n._next},En=function(e,t,n,r){for(var i=this._pt,a;i;)a=i._next,i.p===r&&i.modifier(e,t,n),i=a},Dn=function(e){for(var t=this._pt,n,r;t;)r=t._next,t.p===e&&!t.op||t.op===e?Fe(this,t,`_pt`):t.dep||(n=1),t=r;return!n},On=function(e,t,n,r){r.mSet(e,t,r.m.call(r.tween,n,r.mt),r)},kn=function(e){for(var t=e._pt,n,r,i,a;t;){for(n=t._next,r=i;r&&r.pr>t.pr;)r=r._next;(t._prev=r?r._prev:a)?t._prev._next=t:i=t,(t._next=r)?r._prev=t:a=t,t=n}e._pt=i},X=function(){function e(e,t,n,r,i,a,o,s,c){this.t=t,this.s=r,this.c=i,this.p=n,this.r=a||Sn,this.d=o||this,this.set=s||_n,this.pr=c||0,this._next=e,e&&(e._prev=this)}var t=e.prototype;return t.modifier=function(e,t,n){this.mSet=this.mSet||this.set,this.set=On,this.m=e,this.mt=n,this.tween=t},e}();H(ge+`parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger,easeReverse`,function(e){return le[e]=1}),z.TweenMax=z.TweenLite=Y,z.TimelineLite=z.TimelineMax=J,F=new J({sortChildren:!1,defaults:i,autoRemoveChildren:!0,id:`root`,smoothChildTiming:!0}),r.stringFilter=Bt;var An=[],jn={},Mn=[],Nn=0,Pn=0,Fn=function(e){return(jn[e]||Mn).map(function(e){return e()})},In=function(){var e=Date.now(),t=[];e-Nn>2&&(Fn(`matchMediaInit`),An.forEach(function(e){var n=e.queries,r=e.conditions,i,a,o,s;for(a in n)i=I.matchMedia(n[a]).matches,i&&(o=1),i!==r[a]&&(r[a]=i,s=1);s&&(e.revert(),o&&t.push(e))}),Fn(`matchMediaRevert`),t.forEach(function(e){return e.onMatch(e,function(t){return e.add(null,t)})}),Nn=e,Fn(`matchMedia`))},Ln=function(){function e(e,t){this.selector=t&&ft(t),this.data=[],this._r=[],this.isReverted=!1,this.id=Pn++,e&&this.add(e)}var t=e.prototype;return t.add=function(e,t,n){_(e)&&(n=t,t=e,e=_);var r=this,i=function(){var e=s,i=r.selector,a;return e&&e!==r&&e.data.push(r),n&&(r.selector=ft(n)),s=r,a=t.apply(r,arguments),_(a)&&r._r.push(a),s=e,r.selector=i,r.isReverted=!1,a};return r.last=i,e===_?i(r,function(e){return r.add(null,e)}):e?r[e]=i:i},t.ignore=function(e){var t=s;s=null,e(this),s=t},t.getTweens=function(){var t=[];return this.data.forEach(function(n){return n instanceof e?t.push.apply(t,n.getTweens()):n instanceof Y&&!(n.parent&&n.parent.data===`nested`)&&t.push(n)}),t},t.clear=function(){this._r.length=this.data.length=0},t.kill=function(e,t){var n=this;if(e?(function(){for(var t=n.getTweens(),r=n.data.length,i;r--;)i=n.data[r],i.data===`isFlip`&&(i.revert(),i.getChildren(!0,!0,!1).forEach(function(e){return t.splice(t.indexOf(e),1)}));for(t.map(function(e){return{g:e._dur||e._delay||e._sat&&!e._sat.vars.immediateRender?e.globalTime(0):-1/0,t:e}}).sort(function(e,t){return t.g-e.g||-1/0}).forEach(function(t){return t.t.revert(e)}),r=n.data.length;r--;)i=n.data[r],i instanceof J?i.data!==`nested`&&(i.scrollTrigger&&i.scrollTrigger.revert(),i.kill()):!(i instanceof Y)&&i.revert&&i.revert(e);n._r.forEach(function(t){return t(e,n)}),n.isReverted=!0})():this.data.forEach(function(e){return e.kill&&e.kill()}),this.clear(),t)for(var r=An.length;r--;)An[r].id===this.id&&An.splice(r,1)},t.revert=function(e){this.kill(e||{})},e}(),Rn=function(){function e(e){this.contexts=[],this.scope=e,s&&s.data.push(this)}var t=e.prototype;return t.add=function(e,t,n){b(e)||(e={matches:e});var r=new Ln(0,n||this.scope),i=r.conditions={},a,o,c;for(o in s&&!r.selector&&(r.selector=s.selector),this.contexts.push(r),t=r.add(`onMatch`,t),r.queries=e,e)o===`all`?c=1:(a=I.matchMedia(e[o]),a&&(An.indexOf(r)<0&&An.push(r),(i[o]=a.matches)&&(c=1),a.addListener?a.addListener(In):a.addEventListener(`change`,In)));return c&&t(r,function(e){return r.add(null,e)}),this},t.revert=function(e){this.kill(e||{})},t.kill=function(e){this.contexts.forEach(function(t){return t.kill(e,!0)})},e}(),zn={registerPlugin:function(){[...arguments].forEach(function(e){return Mt(e)})},timeline:function(e){return new J(e)},getTweensOf:function(e,t){return F.getTweensOf(e,t)},getProperty:function(e,t,n,r){g(e)&&(e=dt(e)[0]);var i=ve(e||{}).get,a=n?Ee:Te;return n===`native`&&(n=``),e&&(t?a((V[t]&&V[t].get||i)(e,t,n,r)):function(t,n,r){return a((V[t]&&V[t].get||i)(e,t,n,r))})},quickSetter:function(e,t,n){if(e=dt(e),e.length>1){var r=e.map(function(e){return Z.quickSetter(e,t,n)}),i=r.length;return function(e){for(var t=i;t--;)r[t](e)}}e=e[0]||{};var a=V[t],o=ve(e),s=o.harness&&(o.harness.aliases||{})[t]||t,c=a?function(t){var r=new a;At._pt=0,r.init(e,n?t+n:t,At,0,[e]),r.render(1,r),At._pt&&Tn(1,At)}:o.set(e,s);return a?c:function(t){return c(e,s,n?t+n:t,o,1)}},quickTo:function(e,t,n){var r,i=Z.to(e,De((r={},r[t]=`+=0.1`,r.paused=!0,r.stagger=0,r),n||{})),a=function(e,n,r){return i.resetTo(t,e,n,r)};return a.tween=i,a},isTweening:function(e){return F.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=Xt(e.ease,i.ease)),Ae(i,e||{})},config:function(e){return Ae(r,e||{})},registerEffect:function(e){var t=e.name,n=e.effect,r=e.plugins,i=e.defaults,a=e.extendTimeline;(r||``).split(`,`).forEach(function(e){return e&&!V[e]&&!z[e]&&re(t+` effect requires `+e+` plugin.`)}),pe[t]=function(e,t,r){return n(dt(e),De(t||{},i),r)},a&&(J.prototype[t]=function(e,n,r){return this.add(pe[t](e,b(n)?n:(r=n)&&{},this),r)})},registerEase:function(e,t){q[e]=Xt(t)},parseEase:function(e,t){return arguments.length?Xt(e,t):q},getById:function(e){return F.getById(e)},exportRoot:function(e,t){e===void 0&&(e={});var n=new J(e),r,i;for(n.smoothChildTiming=x(e.smoothChildTiming),F.remove(n),n._dp=0,n._time=n._tTime=F._time,r=F._first;r;)i=r._next,(t||!(!r._dur&&r instanceof Y&&r.vars.onComplete===r._targets[0]))&&qe(n,r,r._start-r._delay),r=i;return qe(F,n,0),n},context:function(e,t){return e?new Ln(e,t):s},matchMedia:function(e){return new Rn(e)},matchMediaRefresh:function(){return An.forEach(function(e){var t=e.conditions,n,r;for(r in t)t[r]&&(t[r]=!1,n=1);n&&e.revert()})||In()},addEventListener:function(e,t){var n=jn[e]||(jn[e]=[]);~n.indexOf(t)||n.push(t)},removeEventListener:function(e,t){var n=jn[e],r=n&&n.indexOf(t);r>=0&&n.splice(r,1)},utils:{wrap:St,wrapYoyo:Ct,distribute:mt,random:_t,snap:gt,normalize:bt,getUnit:G,clamp:st,splitColor:Ft,toArray:dt,selector:ft,mapRange:Tt,pipe:vt,unitize:yt,interpolate:Et,shuffle:pt},install:te,effects:pe,ticker:Ht,updateRoot:J.updateRoot,plugins:V,globalTimeline:F,core:{PropTween:X,globals:ie,Tween:Y,Timeline:J,Animation:nn,getCache:ve,_removeLinkedListItem:Fe,reverting:function(){return o},context:function(e){return e&&s&&(s.data.push(e),e._ctx=s),s},suppressOverwrites:function(e){return a=e}}};H(`to,from,fromTo,delayedCall,set,killTweensOf`,function(e){return zn[e]=Y[e]}),Ht.add(J.updateRoot),At=zn.to({},{duration:0});var Bn=function(e,t){for(var n=e._pt;n&&n.p!==t&&n.op!==t&&n.fp!==t;)n=n._next;return n},Vn=function(e,t){var n=e._targets,r,i,a;for(r in t)for(i=n.length;i--;)a=e._ptLookup[i][r],(a&&=a.d)&&(a._pt&&(a=Bn(a,r)),a&&a.modifier&&a.modifier(t[r],e,n[i],r))},Hn=function(e,t){return{name:e,headless:1,rawVars:1,init:function(e,n,r){r._onInit=function(e){var r,i;if(g(n)&&(r={},H(n,function(e){return r[e]=1}),n=r),t){for(i in r={},n)r[i]=t(n[i]);n=r}Vn(e,n)}}}},Z=zn.registerPlugin({name:`attr`,init:function(e,t,n,r,i){var a,o,s;for(a in this.tween=n,t)s=e.getAttribute(a)||``,o=this.add(e,`setAttribute`,(s||0)+``,t[a],r,i,0,0,a),o.op=a,o.b=s,this._props.push(a)},render:function(e,t){for(var n=t._pt;n;)o?n.set(n.t,n.p,n.b,n):n.r(e,n.d),n=n._next}},{name:`endArray`,headless:1,init:function(e,t){for(var n=t.length;n--;)this.add(e,n,e[n]||0,t[n],0,0,0,0,0,1)}},Hn(`roundProps`,ht),Hn(`modifiers`),Hn(`snap`,gt))||zn;Y.version=J.version=Z.version=`3.15.0`,ee=1,S()&&Ut(),q.Power0,q.Power1,q.Power2,q.Power3,q.Power4,q.Linear,q.Quad,q.Cubic,q.Quart,q.Quint,q.Strong,q.Elastic,q.Back,q.SteppedEase,q.Bounce,q.Sine,q.Expo,q.Circ;var Un,Wn,Gn,Kn,qn,Jn,Yn,Xn=function(){return typeof window<`u`},Zn={},Qn=180/Math.PI,$n=Math.PI/180,er=Math.atan2,tr=1e8,nr=/([A-Z])/g,rr=/(left|right|width|margin|padding|x)/i,ir=/[\s,\(]\S/,ar={autoAlpha:`opacity,visibility`,scale:`scaleX,scaleY`,alpha:`opacity`},or=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},sr=function(e,t){return t.set(t.t,t.p,e===1?t.e:Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},cr=function(e,t){return t.set(t.t,t.p,e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},lr=function(e,t){return t.set(t.t,t.p,e===1?t.e:e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},ur=function(e,t){var n=t.s+t.c*e;t.set(t.t,t.p,~~(n+(n<0?-.5:.5))+t.u,t)},dr=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},fr=function(e,t){return t.set(t.t,t.p,e===1?t.e:t.b,t)},pr=function(e,t,n){return e.style[t]=n},mr=function(e,t,n){return e.style.setProperty(t,n)},hr=function(e,t,n){return e._gsap[t]=n},gr=function(e,t,n){return e._gsap.scaleX=e._gsap.scaleY=n},_r=function(e,t,n,r,i){var a=e._gsap;a.scaleX=a.scaleY=n,a.renderTransform(i,a)},vr=function(e,t,n,r,i){var a=e._gsap;a[t]=n,a.renderTransform(i,a)},Q=`transform`,$=Q+`Origin`,yr=function e(t,n){var r=this,i=this.target,a=i.style,o=i._gsap;if(t in Zn&&a){if(this.tfm=this.tfm||{},t!==`transform`)t=ar[t]||t,~t.indexOf(`,`)?t.split(`,`).forEach(function(e){return r.tfm[e]=Rr(i,e)}):this.tfm[t]=o.x?o[t]:Rr(i,t),t===$&&(this.tfm.zOrigin=o.zOrigin);else return ar.transform.split(`,`).forEach(function(t){return e.call(r,t,n)});if(this.props.indexOf(Q)>=0)return;o.svg&&(this.svgo=i.getAttribute(`data-svg-origin`),this.props.push($,n,``)),t=Q}(a||n)&&this.props.push(t,n,a[t])},br=function(e){e.translate&&(e.removeProperty(`translate`),e.removeProperty(`scale`),e.removeProperty(`rotate`))},xr=function(){var e=this.props,t=this.target,n=t.style,r=t._gsap,i,a;for(i=0;i=0?Er[i]:``)+e},Or=function(){Xn()&&window.document&&(Un=window,Wn=Un.document,Gn=Wn.documentElement,qn=wr(`div`)||{style:{}},wr(`div`),Q=Dr(Q),$=Q+`Origin`,qn.style.cssText=`border-width:0;line-height:0;position:absolute;padding:0`,Cr=!!Dr(`perspective`),Yn=Z.core.reverting,Kn=1)},kr=function(e){var t=e.ownerSVGElement,n=wr(`svg`,t&&t.getAttribute(`xmlns`)||`http://www.w3.org/2000/svg`),r=e.cloneNode(!0),i;r.style.display=`block`,n.appendChild(r),Gn.appendChild(n);try{i=r.getBBox()}catch{}return n.removeChild(r),Gn.removeChild(n),i},Ar=function(e,t){for(var n=t.length;n--;)if(e.hasAttribute(t[n]))return e.getAttribute(t[n])},jr=function(e){var t,n;try{t=e.getBBox()}catch{t=kr(e),n=1}return t&&(t.width||t.height)||n||(t=kr(e)),t&&!t.width&&!t.x&&!t.y?{x:+Ar(e,[`x`,`cx`,`x1`])||0,y:+Ar(e,[`y`,`cy`,`y1`])||0,width:0,height:0}:t},Mr=function(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&jr(e))},Nr=function(e,t){if(t){var n=e.style,r;t in Zn&&t!==$&&(t=Q),n.removeProperty?(r=t.substr(0,2),(r===`ms`||t.substr(0,6)===`webkit`)&&(t=`-`+t),n.removeProperty(r===`--`?t:t.replace(nr,`-$1`).toLowerCase())):n.removeAttribute(t)}},Pr=function(e,t,n,r,i,a){var o=new X(e._pt,t,n,0,1,a?fr:dr);return e._pt=o,o.b=r,o.e=i,e._props.push(n),o},Fr={deg:1,rad:1,turn:1},Ir={grid:1,flex:1},Lr=function e(t,n,r,i){var a=parseFloat(r)||0,o=(r+``).trim().substr((a+``).length)||`px`,s=qn.style,c=rr.test(n),l=t.tagName.toLowerCase()===`svg`,u=(l?`client`:`offset`)+(c?`Width`:`Height`),d=100,f=i===`px`,p=i===`%`,m,h,g,_;if(i===o||!a||Fr[i]||Fr[o])return a;if(o!==`px`&&!f&&(a=e(t,n,r,`px`)),_=t.getCTM&&Mr(t),(p||o===`%`)&&(Zn[n]||~n.indexOf(`adius`)))return m=_?t.getBBox()[c?`width`:`height`]:t[u],U(p?a/m*d:a/100*m);if(s[c?`width`:`height`]=d+(f?o:i),h=i!==`rem`&&~n.indexOf(`adius`)||i===`em`&&t.appendChild&&!l?t:t.parentNode,_&&(h=(t.ownerSVGElement||{}).parentNode),(!h||h===Wn||!h.appendChild)&&(h=Wn.body),g=h._gsap,g&&p&&g.width&&c&&g.time===Ht.time&&!g.uncache)return U(a/g.width*d);if(p&&(n===`height`||n===`width`)){var v=t.style[n];t.style[n]=d+i,m=t[u],v?t.style[n]=v:Nr(t,n)}else(p||o===`%`)&&!Ir[Tr(h,`display`)]&&(s.position=Tr(t,`position`)),h===t&&(s.position=`static`),h.appendChild(qn),m=qn[u],h.removeChild(qn),s.position=`absolute`;return c&&p&&(g=ve(h),g.time=Ht.time,g.width=h[u]),U(f?m*a/d:m&&a?d/m*a:0)},Rr=function(e,t,n,r){var i;return Kn||Or(),t in ar&&t!==`transform`&&(t=ar[t],~t.indexOf(`,`)&&(t=t.split(`,`)[0])),Zn[t]&&t!==`transform`?(i=Xr(e,r),i=t===`transformOrigin`?i.svg?i.origin:Zr(Tr(e,$))+` `+i.zOrigin+`px`:i[t]):(i=e.style[t],(!i||i===`auto`||r||~(i+``).indexOf(`calc(`))&&(i=Ur[t]&&Ur[t](e,t,n)||Tr(e,t)||ye(e,t)||+(t===`opacity`))),n&&!~(i+``).trim().indexOf(` `)?Lr(e,t,i,n)+n:i},zr=function(e,t,n,i){if(!n||n===`none`){var a=Dr(t,e,1),o=a&&Tr(e,a,1);o&&o!==n?(t=a,n=o):t===`borderColor`&&(n=Tr(e,`borderTopColor`))}var s=new X(this._pt,e.style,t,0,1,wn),c=0,l=0,u,d,f,p,m,h,g,_,v,y,b,x;if(s.b=n,s.e=i,n+=``,i+=``,i.substring(0,6)===`var(--`&&(i=Tr(e,i.substring(4,i.indexOf(`)`)))),i===`auto`&&(h=e.style[t],e.style[t]=i,i=Tr(e,t)||i,h?e.style[t]=h:Nr(e,t)),u=[n,i],Bt(u),n=u[0],i=u[1],f=n.match(A)||[],x=i.match(A)||[],x.length){for(;d=A.exec(i);)g=d[0],v=i.substring(c,d.index),m?m=(m+1)%5:(v.substr(-5)===`rgba(`||v.substr(-5)===`hsla(`)&&(m=1),g!==(h=f[l++]||``)&&(p=parseFloat(h)||0,b=h.substr((p+``).length),g.charAt(1)===`=`&&(g=be(p,g)+b),_=parseFloat(g),y=g.substr((_+``).length),c=A.lastIndex-y.length,y||(y=y||r.units[t]||b,c===i.length&&(i+=y,s.e+=y)),b!==y&&(p=Lr(e,t,h,y)||0),s._pt={_next:s._pt,p:v||l===1?v:`,`,s:p,c:_-p,m:m&&m<4||t===`zIndex`?Math.round:0});s.c=c-1;)o=i[c],Zn[o]&&(s=1,o=o===`transformOrigin`?$:Q),Nr(n,o);s&&(Nr(n,Q),a&&(a.svg&&n.removeAttribute(`transform`),r.scale=r.rotate=r.translate=`none`,Xr(n,1),a.uncache=1,br(r)))}},Ur={clearProps:function(e,t,n,r,i){if(i.data!==`isFromStart`){var a=e._pt=new X(e._pt,t,n,0,0,Hr);return a.u=r,a.pr=-10,a.tween=i,e._props.push(n),1}}},Wr=[1,0,0,1,0,0],Gr={},Kr=function(e){return e===`matrix(1, 0, 0, 1, 0, 0)`||e===`none`||!e},qr=function(e){var t=Tr(e,Q);return Kr(t)?Wr:t.substr(7).match(k).map(U)},Jr=function(e,t){var n=e._gsap||ve(e),r=e.style,i=qr(e),a,o,s,c;return n.svg&&e.getAttribute(`transform`)?(s=e.transform.baseVal.consolidate().matrix,i=[s.a,s.b,s.c,s.d,s.e,s.f],i.join(`,`)===`1,0,0,1,0,0`?Wr:i):(i===Wr&&!e.offsetParent&&e!==Gn&&!n.svg&&(s=r.display,r.display=`block`,a=e.parentNode,(!a||!e.offsetParent&&!e.getBoundingClientRect().width)&&(c=1,o=e.nextElementSibling,Gn.appendChild(e)),i=qr(e),s?r.display=s:Nr(e,`display`),c&&(o?a.insertBefore(e,o):a?a.appendChild(e):Gn.removeChild(e))),t&&i.length>6?[i[0],i[1],i[4],i[5],i[12],i[13]]:i)},Yr=function(e,t,n,r,i,a){var o=e._gsap,s=i||Jr(e,!0),c=o.xOrigin||0,l=o.yOrigin||0,u=o.xOffset||0,d=o.yOffset||0,f=s[0],p=s[1],m=s[2],h=s[3],g=s[4],_=s[5],v=t.split(` `),y=parseFloat(v[0])||0,b=parseFloat(v[1])||0,x,S,C,w;n?s!==Wr&&(S=f*h-p*m)&&(C=h/S*y+b*(-m/S)+(m*_-h*g)/S,w=y*(-p/S)+f/S*b-(f*_-p*g)/S,y=C,b=w):(x=jr(e),y=x.x+(~v[0].indexOf(`%`)?y/100*x.width:y),b=x.y+(~(v[1]||v[0]).indexOf(`%`)?b/100*x.height:b)),r||r!==!1&&o.smooth?(g=y-c,_=b-l,o.xOffset=u+(g*f+_*m)-g,o.yOffset=d+(g*p+_*h)-_):o.xOffset=o.yOffset=0,o.xOrigin=y,o.yOrigin=b,o.smooth=!!r,o.origin=t,o.originIsAbsolute=!!n,e.style[$]=`0px 0px`,a&&(Pr(a,o,`xOrigin`,c,y),Pr(a,o,`yOrigin`,l,b),Pr(a,o,`xOffset`,u,o.xOffset),Pr(a,o,`yOffset`,d,o.yOffset)),e.setAttribute(`data-svg-origin`,y+` `+b)},Xr=function(e,t){var n=e._gsap||new tn(e);if(`x`in n&&!t&&!n.uncache)return n;var i=e.style,a=n.scaleX<0,o=`px`,s=`deg`,c=getComputedStyle(e),l=Tr(e,$)||`0`,u=d=f=h=g=_=v=y=b=0,d,f,p=m=1,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,F,I,L,R,z,B,ee;return n.svg=!!(e.getCTM&&Mr(e)),c.translate&&((c.translate!==`none`||c.scale!==`none`||c.rotate!==`none`)&&(i[Q]=(c.translate===`none`?``:`translate3d(`+(c.translate+` 0 0`).split(` `).slice(0,3).join(`, `)+`) `)+(c.rotate===`none`?``:`rotate(`+c.rotate+`) `)+(c.scale===`none`?``:`scale(`+c.scale.split(` `).join(`,`)+`) `)+(c[Q]===`none`?``:c[Q])),i.scale=i.rotate=i.translate=`none`),C=Jr(e,n.svg),n.svg&&(n.uncache?(P=e.getBBox(),l=n.xOrigin-P.x+`px `+(n.yOrigin-P.y)+`px`,N=``):N=!t&&e.getAttribute(`data-svg-origin`),Yr(e,N||l,!!N||n.originIsAbsolute,n.smooth!==!1,C)),x=n.xOrigin||0,S=n.yOrigin||0,C!==Wr&&(D=C[0],O=C[1],k=C[2],A=C[3],u=j=C[4],d=M=C[5],C.length===6?(p=Math.sqrt(D*D+O*O),m=Math.sqrt(A*A+k*k),h=D||O?er(O,D)*Qn:0,v=k||A?er(k,A)*Qn+h:0,v&&(m*=Math.abs(Math.cos(v*$n))),n.svg&&(u-=x-(x*D+S*k),d-=S-(x*O+S*A))):(ee=C[6],z=C[7],I=C[8],L=C[9],R=C[10],B=C[11],u=C[12],d=C[13],f=C[14],w=er(ee,R),g=w*Qn,w&&(T=Math.cos(-w),E=Math.sin(-w),N=j*T+I*E,P=M*T+L*E,F=ee*T+R*E,I=j*-E+I*T,L=M*-E+L*T,R=ee*-E+R*T,B=z*-E+B*T,j=N,M=P,ee=F),w=er(-k,R),_=w*Qn,w&&(T=Math.cos(-w),E=Math.sin(-w),N=D*T-I*E,P=O*T-L*E,F=k*T-R*E,B=A*E+B*T,D=N,O=P,k=F),w=er(O,D),h=w*Qn,w&&(T=Math.cos(w),E=Math.sin(w),N=D*T+O*E,P=j*T+M*E,O=O*T-D*E,M=M*T-j*E,D=N,j=P),g&&Math.abs(g)+Math.abs(h)>359.9&&(g=h=0,_=180-_),p=U(Math.sqrt(D*D+O*O+k*k)),m=U(Math.sqrt(M*M+ee*ee)),w=er(j,M),v=Math.abs(w)>2e-4?w*Qn:0,b=B?1/(B<0?-B:B):0),n.svg&&(N=e.getAttribute(`transform`),n.forceCSS=e.setAttribute(`transform`,``)||!Kr(Tr(e,Q)),N&&e.setAttribute(`transform`,N))),Math.abs(v)>90&&Math.abs(v)<270&&(a?(p*=-1,v+=h<=0?180:-180,h+=h<=0?180:-180):(m*=-1,v+=v<=0?180:-180)),t||=n.uncache,n.x=u-((n.xPercent=u&&(!t&&n.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-u)?-50:0)))?e.offsetWidth*n.xPercent/100:0)+o,n.y=d-((n.yPercent=d&&(!t&&n.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-d)?-50:0)))?e.offsetHeight*n.yPercent/100:0)+o,n.z=f+o,n.scaleX=U(p),n.scaleY=U(m),n.rotation=U(h)+s,n.rotationX=U(g)+s,n.rotationY=U(_)+s,n.skewX=v+s,n.skewY=y+s,n.transformPerspective=b+o,(n.zOrigin=parseFloat(l.split(` `)[2])||!t&&n.zOrigin||0)&&(i[$]=Zr(l)),n.xOffset=n.yOffset=0,n.force3D=r.force3D,n.renderTransform=n.svg?ii:Cr?ri:$r,n.uncache=0,n},Zr=function(e){return(e=e.split(` `))[0]+` `+e[1]},Qr=function(e,t,n){var r=G(t);return U(parseFloat(t)+parseFloat(Lr(e,`x`,n+`px`,r)))+r},$r=function(e,t){t.z=`0px`,t.rotationY=t.rotationX=`0deg`,t.force3D=0,ri(e,t)},ei=`0deg`,ti=`0px`,ni=`) `,ri=function(e,t){var n=t||this,r=n.xPercent,i=n.yPercent,a=n.x,o=n.y,s=n.z,c=n.rotation,l=n.rotationY,u=n.rotationX,d=n.skewX,f=n.skewY,p=n.scaleX,m=n.scaleY,h=n.transformPerspective,g=n.force3D,_=n.target,v=n.zOrigin,y=``,b=g===`auto`&&e&&e!==1||g===!0;if(v&&(u!==ei||l!==ei)){var x=parseFloat(l)*$n,S=Math.sin(x),C=Math.cos(x),w;x=parseFloat(u)*$n,w=Math.cos(x),a=Qr(_,a,S*w*-v),o=Qr(_,o,-Math.sin(x)*-v),s=Qr(_,s,C*w*-v+v)}h!==ti&&(y+=`perspective(`+h+ni),(r||i)&&(y+=`translate(`+r+`%, `+i+`%) `),(b||a!==ti||o!==ti||s!==ti)&&(y+=s!==ti||b?`translate3d(`+a+`, `+o+`, `+s+`) `:`translate(`+a+`, `+o+ni),c!==ei&&(y+=`rotate(`+c+ni),l!==ei&&(y+=`rotateY(`+l+ni),u!==ei&&(y+=`rotateX(`+u+ni),(d!==ei||f!==ei)&&(y+=`skew(`+d+`, `+f+ni),(p!==1||m!==1)&&(y+=`scale(`+p+`, `+m+ni),_.style[Q]=y||`translate(0, 0)`},ii=function(e,t){var n=t||this,r=n.xPercent,i=n.yPercent,a=n.x,o=n.y,s=n.rotation,c=n.skewX,l=n.skewY,u=n.scaleX,d=n.scaleY,f=n.target,p=n.xOrigin,m=n.yOrigin,h=n.xOffset,g=n.yOffset,_=n.forceCSS,v=parseFloat(a),y=parseFloat(o),b,x,S,C,w;s=parseFloat(s),c=parseFloat(c),l=parseFloat(l),l&&(l=parseFloat(l),c+=l,s+=l),s||c?(s*=$n,c*=$n,b=Math.cos(s)*u,x=Math.sin(s)*u,S=Math.sin(s-c)*-d,C=Math.cos(s-c)*d,c&&(l*=$n,w=Math.tan(c-l),w=Math.sqrt(1+w*w),S*=w,C*=w,l&&(w=Math.tan(l),w=Math.sqrt(1+w*w),b*=w,x*=w)),b=U(b),x=U(x),S=U(S),C=U(C)):(b=u,C=d,x=S=0),(v&&!~(a+``).indexOf(`px`)||y&&!~(o+``).indexOf(`px`))&&(v=Lr(f,`x`,a,`px`),y=Lr(f,`y`,o,`px`)),(p||m||h||g)&&(v=U(v+p-(p*b+m*S)+h),y=U(y+m-(p*x+m*C)+g)),(r||i)&&(w=f.getBBox(),v=U(v+r/100*w.width),y=U(y+i/100*w.height)),w=`matrix(`+b+`,`+x+`,`+S+`,`+C+`,`+v+`,`+y+`)`,f.setAttribute(`transform`,w),_&&(f.style[Q]=w)},ai=function(e,t,n,r,i){var a=360,o=g(i),s=parseFloat(i)*(o&&~i.indexOf(`rad`)?Qn:1)-r,c=r+s+`deg`,l,u;return o&&(l=i.split(`_`)[1],l===`short`&&(s%=a,s!==s%(a/2)&&(s+=s<0?a:-a)),l===`cw`&&s<0?s=(s+a*tr)%a-~~(s/a)*a:l===`ccw`&&s>0&&(s=(s-a*tr)%a-~~(s/a)*a)),e._pt=u=new X(e._pt,t,n,r,s,sr),u.e=c,u.u=`deg`,e._props.push(n),u},oi=function(e,t){for(var n in t)e[n]=t[n];return e},si=function(e,t,n){var r=oi({},n._gsap),i=`perspective,force3D,transformOrigin,svgOrigin`,a=n.style,o,s,c,l,u,d,f,p;for(s in r.svg?(c=n.getAttribute(`transform`),n.setAttribute(`transform`,``),a[Q]=t,o=Xr(n,1),Nr(n,Q),n.setAttribute(`transform`,c)):(c=getComputedStyle(n)[Q],a[Q]=t,o=Xr(n,1),a[Q]=c),Zn)c=r[s],l=o[s],c!==l&&i.indexOf(s)<0&&(f=G(c),p=G(l),u=f===p?parseFloat(c):Lr(n,s,c,p),d=parseFloat(l),e._pt=new X(e._pt,o,s,u,d-u,or),e._pt.u=p||0,e._props.push(s));oi(o,r)};H(`padding,margin,Width,Radius`,function(e,t){var n=`Top`,r=`Right`,i=`Bottom`,a=`Left`,o=(t<3?[n,r,i,a]:[n+a,n+r,i+r,i+a]).map(function(n){return t<2?e+n:`border`+n+e});Ur[t>1?`border`+e:e]=function(e,t,n,r,i){var a,s;if(arguments.length<4)return a=o.map(function(t){return Rr(e,t,n)}),s=a.join(` `),s.split(a[0]).length===5?a[0]:s;a=(r+``).split(` `),s={},o.forEach(function(e,t){return s[e]=a[t]=a[t]||a[(t-1)/2|0]}),e.init(t,s,i)}});var ci={name:`css`,register:Or,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,n,i,a){var o=this._props,s=e.style,c=n.vars.startAt,l,u,d,f,p,m,h,_,v,y,b,x,S,C,w,T,E;for(h in Kn||Or(),this.styles=this.styles||Sr(e),T=this.styles.props,this.tween=n,t)if(h!==`autoRound`&&(u=t[h],!(V[h]&&sn(h,t,n,i,e,a)))){if(p=typeof u,m=Ur[h],p===`function`&&(u=u.call(n,i,e,a),p=typeof u),p===`string`&&~u.indexOf(`random(`)&&(u=wt(u)),m)m(this,e,h,u,n)&&(w=1);else if(h.substr(0,2)===`--`)l=(getComputedStyle(e).getPropertyValue(h)+``).trim(),u+=``,Rt.lastIndex=0,Rt.test(l)||(_=G(l),v=G(u),v?_!==v&&(l=Lr(e,h,l,v)+v):_&&(u+=_)),this.add(s,`setProperty`,l,u,i,a,0,0,h),o.push(h),T.push(h,0,s[h]);else if(p!==`undefined`){if(c&&h in c?(l=typeof c[h]==`function`?c[h].call(n,i,e,a):c[h],g(l)&&~l.indexOf(`random(`)&&(l=wt(l)),G(l+``)||l===`auto`||(l+=r.units[h]||G(Rr(e,h))||``),(l+``).charAt(1)===`=`&&(l=Rr(e,h))):l=Rr(e,h),f=parseFloat(l),y=p===`string`&&u.charAt(1)===`=`&&u.substr(0,2),y&&(u=u.substr(2)),d=parseFloat(u),h in ar&&(h===`autoAlpha`&&(f===1&&Rr(e,`visibility`)===`hidden`&&d&&(f=0),T.push(`visibility`,0,s.visibility),Pr(this,s,`visibility`,f?`inherit`:`hidden`,d?`inherit`:`hidden`,!d)),h!==`scale`&&h!==`transform`&&(h=ar[h],~h.indexOf(`,`)&&(h=h.split(`,`)[0]))),b=h in Zn,b){if(this.styles.save(h),E=u,p===`string`&&u.substring(0,6)===`var(--`){if(u=Tr(e,u.substring(4,u.indexOf(`)`))),u.substring(0,5)===`calc(`){var D=e.style.perspective;e.style.perspective=u,u=Tr(e,`perspective`),D?e.style.perspective=D:Nr(e,`perspective`)}d=parseFloat(u)}if(x||(S=e._gsap,S.renderTransform&&!t.parseTransform||Xr(e,t.parseTransform),C=t.smoothOrigin!==!1&&S.smooth,x=this._pt=new X(this._pt,s,Q,0,1,S.renderTransform,S,0,-1),x.dep=1),h===`scale`)this._pt=new X(this._pt,S,`scaleY`,S.scaleY,(y?be(S.scaleY,y+d):d)-S.scaleY||0,or),this._pt.u=0,o.push(`scaleY`,h),h+=`X`;else if(h===`transformOrigin`){T.push($,0,s[$]),u=Vr(u),S.svg?Yr(e,u,0,C,0,this):(v=parseFloat(u.split(` `)[2])||0,v!==S.zOrigin&&Pr(this,S,`zOrigin`,S.zOrigin,v),Pr(this,s,h,Zr(l),Zr(u)));continue}else if(h===`svgOrigin`){Yr(e,u,1,C,0,this);continue}else if(h in Gr){ai(this,S,h,f,y?be(f,y+u):u);continue}else if(h===`smoothOrigin`){Pr(this,S,`smooth`,S.smooth,u);continue}else if(h===`force3D`){S[h]=u;continue}else if(h===`transform`){si(this,u,e);continue}}else h in s||(h=Dr(h)||h);if(b||(d||d===0)&&(f||f===0)&&!ir.test(u)&&h in s)_=(l+``).substr((f+``).length),d||=0,v=G(u)||(h in r.units?r.units[h]:_),_!==v&&(f=Lr(e,h,l,v)),this._pt=new X(this._pt,b?S:s,h,f,(y?be(f,y+d):d)-f,!b&&(v===`px`||h===`zIndex`)&&t.autoRound!==!1?ur:or),this._pt.u=v||0,b&&E!==u?(this._pt.b=l,this._pt.e=E,this._pt.r=lr):_!==v&&v!==`%`&&(this._pt.b=l,this._pt.r=cr);else if(h in s)zr.call(this,e,h,l,y?y+u:u);else if(h in e)this.add(e,h,l||e[h],y?y+u:u,i,a);else if(h!==`parseTransform`){ne(h,u);continue}b||(h in s?T.push(h,0,s[h]):typeof e[h]==`function`?T.push(h,2,e[h]()):T.push(h,1,l||e[h])),o.push(h)}}w&&kn(this)},render:function(e,t){if(t.tween._time||!Yn())for(var n=t._pt;n;)n.r(e,n.d),n=n._next;else t.styles.revert()},get:Rr,aliases:ar,getSetter:function(e,t,n){var r=ar[t];return r&&r.indexOf(`,`)<0&&(t=r),t in Zn&&t!==$&&(e._gsap.x||Rr(e,`x`))?n&&Jn===n?t===`scale`?gr:hr:(Jn=n||{})&&(t===`scale`?_r:vr):e.style&&!y(e.style[t])?pr:~t.indexOf(`-`)?mr:xn(e,t)},core:{_removeProperty:Nr,_getMatrix:Jr}};Z.utils.checkPrefix=Dr,Z.core.getStyleSaver=Sr,(function(e,t,n,i){var a=H(e+`,`+t+`,`+n,function(e){Zn[e]=1});H(t,function(e){r.units[e]=`deg`,Gr[e]=1}),ar[a[13]]=e+`,`+t,H(i,function(e){var t=e.split(`:`);ar[t[1]]=a[t[0]]})})(`x,y,z,scale,scaleX,scaleY,xPercent,yPercent`,`rotation,rotationX,rotationY,skewX,skewY`,`transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective`,`0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY`),H(`x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective`,function(e){r.units[e]=`px`}),Z.registerPlugin(ci);var li=e({CSSPlugin:()=>ci,default:()=>ui,gsap:()=>ui}),ui=Z.registerPlugin(ci)||Z;ui.core.Tween;export{li as t}; \ No newline at end of file diff --git a/frontend/web/dist/assets/pdf-DEp6sk-T.js b/frontend/web/dist/assets/pdf-DEp6sk-T.js deleted file mode 100644 index 747a3501a..000000000 --- a/frontend/web/dist/assets/pdf-DEp6sk-T.js +++ /dev/null @@ -1,55 +0,0 @@ -var cA=Object.defineProperty;var rm=p=>{throw TypeError(p)};var dA=(p,t,e)=>t in p?cA(p,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):p[t]=e;var _=(p,t,e)=>dA(p,typeof t!="symbol"?t+"":t,e),Xf=(p,t,e)=>t.has(p)||rm("Cannot "+e);var i=(p,t,e)=>(Xf(p,t,"read from private field"),e?e.call(p):t.get(p)),g=(p,t,e)=>t.has(p)?rm("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(p):t.set(p,e),u=(p,t,e,s)=>(Xf(p,t,"write to private field"),s?s.call(p,e):t.set(p,e),e),b=(p,t,e)=>(Xf(p,t,"access private method"),e);var Et=(p,t,e,s)=>({set _(n){u(p,t,n,e)},get _(){return i(p,t,s)}});const vs=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),In=[1/0,1/0,-1/0,-1/0],Zr=new Float32Array(In),ep=[.001,0,0,.001,0,0],He="http://www.w3.org/2000/svg",ws={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},Hn={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},Vo="pdfjs_internal_id_",Zh="pdfjs_internal_editor_",V={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},X={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,INK_COLOR_AND_OPACITY:24,HIGHLIGHT_COLOR:31,HIGHLIGHT_THICKNESS:32,HIGHLIGHT_FREE:33,HIGHLIGHT_SHOW_ALL:34,DRAW_STEP:41},uA={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},Qt={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},au={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},Pt={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26,RICHMEDIA:27},Ho={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},Pf={ERRORS:0,WARNINGS:1,INFOS:5},fi={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93,rawFillPath:94},Ch={moveTo:0,lineTo:1,curveTo:2,quadraticCurveTo:3,closePath:4},fA={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let Df=Pf.WARNINGS;function pA(p){Number.isInteger(p)&&(Df=p)}function gA(){return Df}function If(p){Df>=Pf.INFOS&&console.info(`Info: ${p}`)}function W(p){Df>=Pf.WARNINGS&&console.warn(`Warning: ${p}`)}function it(p){throw new Error(p)}function Rt(p,t){p||it(t)}function mA(p){switch(p==null?void 0:p.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function Fm(p,t=null,e=null){if(!p)return null;if(e&&typeof p=="string"){if(e.addDefaultProtocol&&p.startsWith("www.")){const n=p.match(/\./g);(n==null?void 0:n.length)>=2&&(p=`http://${p}`)}if(e.tryConvertEncoding)try{p=AA(p)}catch{}}const s=t?URL.parse(p,t):URL.parse(p);return mA(s)?s:null}function Om(p,t,e=!1){const s=URL.parse(p);return s?(s.hash=t,s.href):e&&Fm(p,"http://example.com")?p.split("#",1)[0]+`${t?`#${t}`:""}`:""}function sp(p){return p.substring(p.lastIndexOf("/")+1)}function $(p,t,e,s=!1){return Object.defineProperty(p,t,{value:e,enumerable:!s,configurable:!0,writable:!1}),e}const Oo=function(){function t(e,s){this.message=e,this.name=s}return t.prototype=new Error,t.constructor=t,t}();class ip extends Oo{constructor(t,e){super(t,"PasswordException"),this.code=e}}class Yf extends Oo{constructor(t,e){super(t,"UnknownErrorException"),this.details=e}}class np extends Oo{constructor(t){super(t,"InvalidPDFException")}}class Xu extends Oo{constructor(t,e,s){super(t,"ResponseException"),this.status=e,this.missing=s}}class bA extends Oo{constructor(t){super(t,"FormatError")}}class Ur extends Oo{constructor(t){super(t,"AbortException")}}function yA(p){(typeof p!="object"||(p==null?void 0:p.length)===void 0)&&it("Invalid argument for bytesToString");const t=p.length,e=8192;if(t"u")return $(this,"isAlphaColorInputSupported",!1);const t=document.createElement("input");return t.type="color",t.setAttribute("alpha",""),t.value="#ff000080",$(this,"isAlphaColorInputSupported",t.value!=="#ff0000")}static get isBackdropFilterSupported(){return $(this,"isBackdropFilterSupported",typeof CSS<"u"&&CSS.supports("backdrop-filter","blur(1px)"))}}var Ln,ou,rp;class D{static get hexNums(){return $(this,"hexNums",Array.from(Array(256).keys(),t=>t.toString(16).padStart(2,"0")))}static makeHexColor(t,e,s){return`#${this.hexNums[t]}${this.hexNums[e]}${this.hexNums[s]}`}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static multiplyByDOMMatrix(t,e){return[t[0]*e.a+t[2]*e.b,t[1]*e.a+t[3]*e.b,t[0]*e.c+t[2]*e.d,t[1]*e.c+t[3]*e.d,t[0]*e.e+t[2]*e.f+t[4],t[1]*e.e+t[3]*e.f+t[5]]}static applyTransform(t,e,s=0){const n=t[s],r=t[s+1];t[s]=n*e[0]+r*e[2]+e[4],t[s+1]=n*e[1]+r*e[3]+e[5]}static applyTransformToBezier(t,e,s=0){const n=e[0],r=e[1],a=e[2],o=e[3],l=e[4],h=e[5];for(let c=0;c<6;c+=2){const d=t[s+c],f=t[s+c+1];t[s+c]=d*n+f*a+l,t[s+c+1]=d*r+f*o+h}}static applyInverseTransform(t,e){const s=t[0],n=t[1],r=e[0]*e[3]-e[1]*e[2];t[0]=(s*e[3]-n*e[2]+e[2]*e[5]-e[4]*e[3])/r,t[1]=(-s*e[1]+n*e[0]+e[4]*e[1]-e[5]*e[0])/r}static axialAlignedBoundingBox(t,e,s){const n=e[0],r=e[1],a=e[2],o=e[3],l=e[4],h=e[5],c=t[0],d=t[1],f=t[2],m=t[3];let y=n*c+l,A=y,v=n*f+l,w=v,S=o*d+h,E=S,x=o*m+h,C=x;if(r!==0||a!==0){const T=r*c,k=r*f,M=a*d,P=a*m;y+=M,w+=M,v+=P,A+=P,S+=T,C+=T,x+=k,E+=k}s[0]=Math.min(s[0],y,v,A,w),s[1]=Math.min(s[1],S,x,E,C),s[2]=Math.max(s[2],y,v,A,w),s[3]=Math.max(s[3],S,x,E,C)}static inverseTransform(t){const e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t,e){const s=t[0],n=t[1],r=t[2],a=t[3],o=s**2+n**2,l=s*r+n*a,h=r**2+a**2,c=(o+h)/2,d=Math.sqrt(c**2-(o*h-l**2));e[0]=Math.sqrt(c+d||1),e[1]=Math.sqrt(c-d||1)}static normalizeRect(t){const e=t.slice(0);return t[0]>t[2]&&(e[0]=t[2],e[2]=t[0]),t[1]>t[3]&&(e[1]=t[3],e[3]=t[1]),e}static intersect(t,e){const s=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),n=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));if(s>n)return null;const r=Math.max(Math.min(t[1],t[3]),Math.min(e[1],e[3])),a=Math.min(Math.max(t[1],t[3]),Math.max(e[1],e[3]));return r>a?null:[s,r,n,a]}static pointBoundingBox(t,e,s){s[0]=Math.min(s[0],t),s[1]=Math.min(s[1],e),s[2]=Math.max(s[2],t),s[3]=Math.max(s[3],e)}static rectBoundingBox(t,e,s,n,r){r[0]=Math.min(r[0],t,s),r[1]=Math.min(r[1],e,n),r[2]=Math.max(r[2],t,s),r[3]=Math.max(r[3],e,n)}static bezierBoundingBox(t,e,s,n,r,a,o,l,h){h[0]=Math.min(h[0],t,o),h[1]=Math.min(h[1],e,l),h[2]=Math.max(h[2],t,o),h[3]=Math.max(h[3],e,l),b(this,Ln,rp).call(this,t,s,r,o,e,n,a,l,3*(-t+3*(s-r)+o),6*(t-2*s+r),3*(s-t),h),b(this,Ln,rp).call(this,t,s,r,o,e,n,a,l,3*(-e+3*(n-a)+l),6*(e-2*n+a),3*(n-e),h)}}Ln=new WeakSet,ou=function(t,e,s,n,r,a,o,l,h,c){if(h<=0||h>=1)return;const d=1-h,f=h*h,m=f*h,y=d*(d*(d*t+3*h*e)+3*f*s)+m*n,A=d*(d*(d*r+3*h*a)+3*f*o)+m*l;c[0]=Math.min(c[0],y),c[1]=Math.min(c[1],A),c[2]=Math.max(c[2],y),c[3]=Math.max(c[3],A)},rp=function(t,e,s,n,r,a,o,l,h,c,d,f){if(Math.abs(h)<1e-12){Math.abs(c)>=1e-12&&b(this,Ln,ou).call(this,t,e,s,n,r,a,o,l,-d/c,f);return}const m=c**2-4*d*h;if(m<0)return;const y=Math.sqrt(m),A=2*h;b(this,Ln,ou).call(this,t,e,s,n,r,a,o,l,(-c+y)/A,f),b(this,Ln,ou).call(this,t,e,s,n,r,a,o,l,(-c-y)/A,f)},g(D,Ln);function AA(p){return decodeURIComponent(escape(p))}let Kf=null,am=null;function wA(p){return Kf||(Kf=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,am=new Map([["ſt","ſt"]])),p.replaceAll(Kf,(t,e,s)=>e?e.normalize("NFKC"):am.get(s))}function Nm(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();const p=new Uint8Array(32);return crypto.getRandomValues(p),yA(p)}function vA(p,t,e){if(!Array.isArray(e)||e.length<2)return!1;const[s,n,...r]=e;if(!p(s)&&!Number.isInteger(s)||!t(n))return!1;const a=r.length;let o=!0;switch(n.name){case"XYZ":if(a<2||a>3)return!1;break;case"Fit":case"FitB":return a===0;case"FitH":case"FitBH":case"FitV":case"FitBV":if(a>1)return!1;break;case"FitR":if(a!==4)return!1;o=!1;break;default:return!1}for(const l of r)if(!(typeof l=="number"||o&&l===null))return!1;return!0}const Wd=()=>[],Hg=()=>new Map,ap=()=>Object.create(null),SA=()=>new Set;typeof Iterator.prototype.join!="function"&&(Iterator.prototype.join=function(p){return[...this].join(p)});function Tt(p,t,e){return Math.min(Math.max(p,t),e)}class Xd{constructor({viewBox:t,userUnit:e,scale:s,rotation:n,offsetX:r=0,offsetY:a=0,dontFlip:o=!1}){this.viewBox=t,this.userUnit=e,this.scale=s,this.rotation=n,this.offsetX=r,this.offsetY=a,s*=e;const l=(t[2]+t[0])/2,h=(t[3]+t[1])/2;let c,d,f,m;switch(n%=360,n<0&&(n+=360),n){case 180:c=-1,d=0,f=0,m=1;break;case 90:c=0,d=1,f=1,m=0;break;case 270:c=0,d=-1,f=-1,m=0;break;case 0:c=1,d=0,f=0,m=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}o&&(f=-f,m=-m);let y,A,v,w;c===0?(y=Math.abs(h-t[1])*s+r,A=Math.abs(l-t[0])*s+a,v=(t[3]-t[1])*s,w=(t[2]-t[0])*s):(y=Math.abs(l-t[0])*s+r,A=Math.abs(h-t[1])*s+a,v=(t[2]-t[0])*s,w=(t[3]-t[1])*s),this.transform=[c*s,d*s,f*s,m*s,y-c*s*l-f*s*h,A-d*s*l-m*s*h],this.width=v,this.height=w}get rawDims(){const t=this.viewBox;return $(this,"rawDims",{pageWidth:t[2]-t[0],pageHeight:t[3]-t[1],pageX:t[0],pageY:t[1]})}clone({scale:t=this.scale,rotation:e=this.rotation,offsetX:s=this.offsetX,offsetY:n=this.offsetY,dontFlip:r=!1}={}){return new Xd({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:t,rotation:e,offsetX:s,offsetY:n,dontFlip:r})}convertToViewportPoint(t,e){const s=[t,e];return D.applyTransform(s,this.transform),s}convertToPdfPoint(t,e){const s=[t,e];return D.applyInverseTransform(s,this.transform),s}}class tc{static textContent(t){const e=[],s={items:e,styles:Object.create(null)};function n(r){var l;if(!r)return;let a=null;const o=r.name;if(o==="#text")a=r.value;else if(tc.shouldBuildText(o))(l=r==null?void 0:r.attributes)!=null&&l.textContent?a=r.attributes.textContent:r.value&&(a=r.value);else return;if(a!==null&&e.push({str:a}),!!r.children)for(const h of r.children)n(h)}return n(t),s}static shouldBuildText(t){return!(t==="textarea"||t==="input"||t==="option"||t==="select")}}const EA=/url\(|image-set\(/i,xA=/^on/i;var rc,op;class Ug{static get _allowedHtmlElements(){return $(this,"_allowedHtmlElements",new Set(["a","b","br","button","div","i","img","input","label","li","ol","option","p","select","span","sub","sup","textarea","ul"]))}static get _allowedSvgElements(){return $(this,"_allowedSvgElements",new Set(["ellipse","line","path","rect","svg"]))}static get _allowedRichTextElements(){return $(this,"_allowedRichTextElements",new Set(["a","b","br","div","i","li","ol","p","span","sub","sup","ul"]))}static get _allowedRichTextAttributes(){return $(this,"_allowedRichTextAttributes",new Set(["class","dir","style"]))}static get _allowedRichTextStyles(){return $(this,"_allowedRichTextStyles",new Set(["color","font","fontFamily","fontSize","fontStretch","fontStyle","fontWeight","kerningMode","letterSpacing","lineHeight","margin","marginBottom","marginLeft","marginRight","marginTop","orphans","paddingLeft","paddingRight","breakAfter","breakBefore","breakInside","tabInterval","tabStop","textAlign","textDecoration","textIndent","transform","verticalAlign","widows"]))}static setupStorage(t,e,s,n,r){const a=n.getValue(e,{value:null});switch(s.name){case"textarea":if(a.value!==null&&(t.textContent=a.value),r==="print")break;t.addEventListener("input",o=>{n.setValue(e,{value:o.target.value})});break;case"input":if(s.attributes.type==="radio"||s.attributes.type==="checkbox"){if(a.value===s.attributes.xfaOn?t.setAttribute("checked",!0):a.value===s.attributes.xfaOff&&t.removeAttribute("checked"),r==="print")break;t.addEventListener("change",o=>{n.setValue(e,{value:o.target.checked?o.target.getAttribute("xfaOn"):o.target.getAttribute("xfaOff")})})}else{if(a.value!==null&&t.setAttribute("value",a.value),r==="print")break;t.addEventListener("input",o=>{n.setValue(e,{value:o.target.value})})}break;case"select":if(a.value!==null){t.setAttribute("value",a.value);for(const o of s.children)o.attributes.value===a.value?o.attributes.selected=!0:Object.hasOwn(o.attributes,"selected")&&delete o.attributes.selected}t.addEventListener("input",o=>{const l=o.target.options,h=l.selectedIndex===-1?"":l[l.selectedIndex].value;n.setValue(e,{value:h})});break}}static setAttributes({html:t,element:e,storage:s=null,intent:n,linkService:r}){const{attributes:a}=e,o=t instanceof HTMLAnchorElement;a.type==="radio"&&(a.name=`${a.name}-${n}`);for(const[l,h]of Object.entries(a))if(h!=null&&!xA.test(l)&&!(n==="richText"&&!this._allowedRichTextAttributes.has(l)))switch(l){case"class":h.length&&t.setAttribute(l,h.join(" "));break;case"dataId":break;case"id":t.setAttribute("data-element-id",h);break;case"style":if(n==="richText"){const c=this._allowedRichTextStyles;for(const[d,f]of Object.entries(h))c.has(d)&&!EA.test(f)&&(t.style[d]=f)}else Object.assign(t.style,h);break;case"textContent":t.textContent=h;break;default:(!o||l!=="href"&&l!=="newWindow")&&t.setAttribute(l,h)}o&&(r==null||r.addLinkAttributes(t,a.href,a.newWindow)),s&&a.dataId&&this.setupStorage(t,a.dataId,e,s)}static render(t){var d,f,m;const e=t.annotationStorage,s=t.linkService,n=t.xfaHtml,r=t.intent||"display",a=b(this,rc,op).call(this,n.name,(d=n.attributes)==null?void 0:d.xmlns,r)??document.createElement("div");n.attributes&&this.setAttributes({html:a,element:n,intent:r,linkService:s});const o=r!=="richText",l=t.div;if(l.append(a),t.viewport){const y=`matrix(${t.viewport.transform.join(",")})`;l.style.transform=y}o&&l.setAttribute("class","xfaLayer xfaFont");const h=[];if(n.children.length===0){if(n.value){const y=document.createTextNode(n.value);a.append(y),o&&tc.shouldBuildText(n.name)&&h.push(y)}return{textDivs:h}}const c=[[n,-1,a]];for(;c.length>0;){const[y,A,v]=c.at(-1);if(A+1===y.children.length){c.pop();continue}const w=y.children[++c.at(-1)[1]];if(w===null)continue;const{name:S}=w;if(S==="#text"){const x=document.createTextNode(w.value);h.push(x),v.append(x);continue}const E=b(this,rc,op).call(this,S,(f=w.attributes)==null?void 0:f.xmlns,r);if(E){if(v.append(E),w.attributes&&this.setAttributes({html:E,element:w,storage:e,intent:r,linkService:s}),((m=w.children)==null?void 0:m.length)>0)c.push([w,-1,E]);else if(w.value){const x=document.createTextNode(w.value);o&&tc.shouldBuildText(S)&&h.push(x),E.append(x)}}}for(const y of l.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))y.setAttribute("readOnly",!0);return{textDivs:h}}static update(t){const e=`matrix(${t.viewport.transform.join(",")})`;t.div.style.transform=e,t.div.hidden=!1}static getPageViewport(t,{scale:e=1,rotation:s=0}){const{width:n,height:r}=t.attributes.style;return new Xd({viewBox:[0,0,parseInt(n,10),parseInt(r,10)],userUnit:1,scale:e,rotation:s})}}rc=new WeakSet,op=function(t,e,s){return s==="richText"?!e&&this._allowedRichTextElements.has(t)?document.createElement(t):null:e?e===He&&this._allowedSvgElements.has(t)?document.createElementNS(He,t):null:this._allowedHtmlElements.has(t)?document.createElement(t):null},g(Ug,rc);const qr=class qr{};_(qr,"CSS",96),_(qr,"PDF",72),_(qr,"PDF_TO_CSS_UNITS",qr.CSS/qr.PDF);let Gr=qr;async function Gg(p,t="text"){if(Kh(p,document.baseURI)){const e=await fetch(p);if(!e.ok)throw new Error(e.statusText);switch(t){case"blob":return e.blob();case"bytes":return e.bytes();case"json":return e.json()}return e.text()}return new Promise((e,s)=>{const n=new XMLHttpRequest;n.open("GET",p,!0),n.responseType=t==="bytes"?"arraybuffer":t,n.onreadystatechange=()=>{if(n.readyState===XMLHttpRequest.DONE){if(n.status===200||n.status===0){switch(t){case"bytes":e(new Uint8Array(n.response));return;case"blob":case"json":e(n.response);return}e(n.responseText);return}s(new Error(n.statusText))}},n.send(null)})}class $g extends Oo{constructor(t,e=0){super(t,"RenderingCancelledException"),this.extraDelay=e}}function Rf(p){const t=p.length;let e=0;for(;e{try{return new URL(o)}catch{}try{return new URL(decodeURIComponent(o))}catch{}try{return new URL(o,"https://foo.bar")}catch{}try{return new URL(decodeURIComponent(o),"https://foo.bar")}catch{}return null})(p);if(!s)return t;const n=o=>{try{let l=decodeURIComponent(o);return l.includes("/")&&(l=sp(l),l.length===4&&r.test(l))?o:l}catch{return o}},r=/\.pdf$/i,a=sp(s.pathname);if(r.test(a))return n(a);if(s.searchParams.size>0){const o=h=>[...h].findLast(c=>r.test(c)),l=o(s.searchParams.values())??o(s.searchParams.keys());if(l)return n(l)}if(s.hash){const l=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i.exec(s.hash);if(l)return n(l[0])}return t}var Un;class om{constructor(){g(this,Un,new Map);_(this,"times",[])}time(t){i(this,Un).has(t)&&W(`Timer is already running for ${t}`),i(this,Un).set(t,Date.now())}timeEnd(t){i(this,Un).has(t)||W(`Timer has not been started for ${t}`),this.times.push({name:t,start:i(this,Un).get(t),end:Date.now()}),i(this,Un).delete(t)}toString(){const t=Math.max(...this.times.map(e=>e.name.length));return this.times.map(e=>`${e.name.padEnd(t)} ${e.end-e.start}ms -`).join("")}}Un=new WeakMap;function Kh(p,t){const e=t?URL.parse(p,t):URL.parse(p);return/https?:/.test((e==null?void 0:e.protocol)??"")}function js(p){p.preventDefault()}function Lt(p){p.preventDefault(),p.stopPropagation()}var ac;class Yu{static toDateObject(t){if(t instanceof Date)return t;if(!t||typeof t!="string")return null;i(this,ac)||u(this,ac,new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+\\-])?(\\d{2})?'?(\\d{2})?'?"));const e=i(this,ac).exec(t);if(!e)return null;const s=parseInt(e[1],10);let n=parseInt(e[2],10);n=n>=1&&n<=12?n-1:0;let r=parseInt(e[3],10);r=r>=1&&r<=31?r:1;let a=parseInt(e[4],10);a=a>=0&&a<=23?a:0;let o=parseInt(e[5],10);o=o>=0&&o<=59?o:0;let l=parseInt(e[6],10);l=l>=0&&l<=59?l:0;const h=e[7]||"Z";let c=parseInt(e[8],10);c=c>=0&&c<=23?c:0;let d=parseInt(e[9],10)||0;return d=d>=0&&d<=59?d:0,h==="-"?(a+=c,o+=d):h==="+"&&(a-=c,o-=d),new Date(Date.UTC(s,n,r,a,o,l))}}ac=new WeakMap,g(Yu,ac);function Yd(p){if(p.startsWith("#")){const e=p.slice(1);return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16),e.length>=8?parseInt(e.slice(6,8),16)/255:1]}if(p.startsWith("rgb(")){const[e,s,n]=p.slice(4,-1).split(",").map(r=>parseInt(r,10));return[e,s,n,1]}if(p.startsWith("rgba(")){const e=p.slice(5,-1).split(",");return[parseInt(e[0],10),parseInt(e[1],10),parseInt(e[2],10),parseFloat(e[3])]}const t=p.match(/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+|none))?\)$/);return t?[Math.round(parseFloat(t[1])*255),Math.round(parseFloat(t[2])*255),Math.round(parseFloat(t[3])*255),t[4]!==void 0&&t[4]!=="none"?parseFloat(t[4]):1]:null}function Kd(p){const t=Yd(p);return t?t.slice(0,3):(W(`Not a valid color format: "${p}"`),[0,0,0])}function _A(p){const t=document.createElement("span");t.style.visibility="hidden",t.style.colorScheme="only light",document.body.append(t);for(const e of p.keys()){t.style.color=e;const s=window.getComputedStyle(t).color;p.set(e,Kd(s))}t.remove()}function St(p){const{a:t,b:e,c:s,d:n,e:r,f:a}=p.getTransform();return[t,e,s,n,r,a]}function hi(p){const{a:t,b:e,c:s,d:n,e:r,f:a}=p.getTransform().invertSelf();return[t,e,s,n,r,a]}function Do(p,t,e=!1,s=!0){if(t instanceof Xd){const{pageWidth:n,pageHeight:r}=t.rawDims,{style:a}=p,o=`round(down, var(--total-scale-factor) * ${n}px, var(--scale-round-x))`,l=`round(down, var(--total-scale-factor) * ${r}px, var(--scale-round-y))`;!e||t.rotation%180===0?(a.width=o,a.height=l):(a.width=l,a.height=o)}s&&p.setAttribute("data-main-rotation",t.rotation)}class Hi{constructor(){const{pixelRatio:t}=Hi;this.sx=t,this.sy=t}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}limitCanvas(t,e,s,n,r=-1){let a=1/0,o=1/0,l=1/0;s=Hi.capPixels(s,r),s>0&&(a=Math.sqrt(s/(t*e))),n!==-1&&(o=n/t,l=n/e);const h=Math.min(a,o,l);return this.sx>h||this.sy>h?(this.sx=h,this.sy=h,!0):!1}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(t,e){if(e>=0){const s=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+e/100));return t>0?Math.min(t,s):s}return t}}const lp=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"];class kA{static get isDarkMode(){var t;return $(this,"isDarkMode",!!((t=window==null?void 0:window.matchMedia)!=null&&t.call(window,"(prefers-color-scheme: dark)").matches))}}class MA{static get commentForegroundColor(){const t=document.createElement("span");t.classList.add("comment","sidebar");const{style:e}=t;e.width=e.height="0",e.display="none",e.color="var(--comment-fg-color)",document.body.append(t);const{color:s}=window.getComputedStyle(t);return t.remove(),$(this,"commentForegroundColor",Kd(s))}}function PA(p,t){t=Tt(t??1,0,1);const e=255*(1-t);return p.map(s=>Math.round(s*t+e))}function lm(p,t){const e=p[0]/255,s=p[1]/255,n=p[2]/255,r=Math.max(e,s,n),a=Math.min(e,s,n),o=(r+a)/2;if(r===a)t[0]=t[1]=0;else{const l=r-a;switch(t[1]=o<.5?l/(r+a):l/(2-r-a),r){case e:t[0]=((s-n)/l+(sn?(s+.05)/(n+.05):(n+.05)/(s+.05)}const dm=new Map;function DA(p,t){const e=p[0]+p[1]*256+p[2]*65536+t[0]*16777216+t[1]*4294967296+t[2]*1099511627776;let s=dm.get(e);if(s)return s;const n=new Float32Array(9),r=n.subarray(0,3),a=n.subarray(3,6);lm(p,a);const o=n.subarray(6,9);lm(t,o);const l=o[2]<.5,h=l?12:4.5;if(a[2]=l?Math.sqrt(a[2]):1-Math.sqrt(1-a[2]),cm(a,o,r)f;){const m=a[2]=(c+d)/2;l===cm(a,o,r){e.delete()},{signal:e._signal}),i(this,ks).append(s)}async addAltText(t){const e=await t.render();b(this,ve,Uo).call(this,e),i(this,ks).append(e,i(this,ve,kh)),u(this,oc,t)}addComment(t,e=null){if(i(this,zn))return;const s=t.renderForToolbar();if(!s)return;b(this,ve,Uo).call(this,s);const n=u(this,Ko,i(this,ve,kh));e?(i(this,ks).insertBefore(s,e),i(this,ks).insertBefore(n,e)):i(this,ks).append(s,n),u(this,zn,t),t.toolbar=this}addColorPicker(t){if(i(this,$n))return;u(this,$n,t);const e=t.renderButton();b(this,ve,Uo).call(this,e),i(this,ks).append(e,i(this,ve,kh))}async addEditSignatureButton(t){const e=u(this,qo,await t.renderEditButton(i(this,_s)));b(this,ve,Uo).call(this,e),i(this,ks).append(e,i(this,ve,kh))}removeButton(t){var e,s;switch(t){case"comment":(e=i(this,zn))==null||e.removeToolbarCommentButton(),u(this,zn,null),(s=i(this,Ko))==null||s.remove(),u(this,Ko,null);break}}async addButton(t,e){switch(t){case"colorPicker":e&&this.addColorPicker(e);break;case"altText":e&&await this.addAltText(e);break;case"editSignature":e&&await this.addEditSignatureButton(e);break;case"delete":this.addDeleteButton();break;case"comment":e&&this.addComment(e);break}}async addButtonBefore(t,e,s){if(!e&&t==="comment")return;const n=i(this,ks).querySelector(s);n&&t==="comment"&&this.addComment(e,n)}updateEditSignatureButton(t){i(this,qo)&&(i(this,qo).title=t)}remove(){var t;i(this,Gn).remove(),(t=i(this,$n))==null||t.destroy(),u(this,$n,null)}};Gn=new WeakMap,$n=new WeakMap,_s=new WeakMap,ks=new WeakMap,oc=new WeakMap,zn=new WeakMap,Ko=new WeakMap,qo=new WeakMap,lc=new WeakMap,nf=new WeakSet,Um=function(t){t.stopPropagation()},ve=new WeakSet,Gm=function(t){i(this,_s)._focusEventsAllowed=!1,Lt(t)},$m=function(t){i(this,_s)._focusEventsAllowed=!0,Lt(t)},Uo=function(t){const e=i(this,_s)._uiManager._signal;return!(e instanceof AbortSignal)||e.aborted?!1:(t.addEventListener("focusin",b(this,ve,Gm).bind(this),{capture:!0,signal:e}),t.addEventListener("focusout",b(this,ve,$m).bind(this),{capture:!0,signal:e}),t.addEventListener("contextmenu",js,{signal:e}),!0)},kh=function(){const t=document.createElement("div");return t.className="divider",t},g(ji,nf),g(ji,lc,null);let cp=ji;var hc,ta,Wi,Fn,zm,jm,dp;class IA{constructor(t){g(this,Fn);g(this,hc,null);g(this,ta,null);g(this,Wi);u(this,Wi,t)}show(t,e,s){const[n,r]=b(this,Fn,jm).call(this,e,s),{style:a}=i(this,ta)||u(this,ta,b(this,Fn,zm).call(this));t.append(i(this,ta)),a.insetInlineEnd=`${100*n}%`,a.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){i(this,ta).remove()}}hc=new WeakMap,ta=new WeakMap,Wi=new WeakMap,Fn=new WeakSet,zm=function(){const t=u(this,ta,document.createElement("div"));t.className="editToolbar",t.setAttribute("role","toolbar");const e=i(this,Wi)._signal;e instanceof AbortSignal&&!e.aborted&&t.addEventListener("contextmenu",js,{signal:e});const s=u(this,hc,document.createElement("div"));return s.className="buttons",t.append(s),i(this,Wi).hasCommentManager()&&b(this,Fn,dp).call(this,"commentButton","pdfjs-comment-floating-button","pdfjs-comment-floating-button-label",()=>{i(this,Wi).commentSelection("floating_button")}),b(this,Fn,dp).call(this,"highlightButton","pdfjs-highlight-floating-button1","pdfjs-highlight-floating-button-label",()=>{i(this,Wi).highlightSelection("floating_button")}),t},jm=function(t,e){let s=0,n=0;for(const r of t){const a=r.y+r.height;if(as){n=o,s=a;continue}e?o>n&&(n=o):o=1}static clearPointerType(){u(ut,ia,null)}static clearPointerIds(){u(ut,ea,NaN),u(ut,sa,null)}static clearTimeStamp(){u(ut,Qo,NaN)}};ea=new WeakMap,sa=new WeakMap,Qo=new WeakMap,ia=new WeakMap,g(ut,ea,NaN),g(ut,sa,null),g(ut,Qo,NaN),g(ut,ia,null);let xe=ut;var rf;class RA{constructor(){g(this,rf,0)}get id(){return`${Zh}${Et(this,rf)._++}`}}rf=new WeakMap;var Jo,cc,Ce,Zo,lu;const qg=class qg{constructor(){g(this,Zo);g(this,Jo,Nm());g(this,cc,0);g(this,Ce,null)}static get _isSVGFittingCanvas(){const t=`data:image/svg+xml;charset=UTF-8,`,s=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),n=new Image;n.src=t;const r=n.decode().then(()=>(s.drawImage(n,0,0,1,1,0,0,1,3),new Uint32Array(s.getImageData(0,0,1,1).data.buffer)[0]===0));return $(this,"_isSVGFittingCanvas",r)}async getFromFile(t){const{lastModified:e,name:s,size:n,type:r}=t;return b(this,Zo,lu).call(this,`${e}_${s}_${n}_${r}`,t)}async getFromUrl(t){return b(this,Zo,lu).call(this,t,t)}async getFromBlob(t,e){const s=await e;return b(this,Zo,lu).call(this,t,s)}async getFromId(t){i(this,Ce)||u(this,Ce,new Map);const e=i(this,Ce).get(t);if(!e)return null;if(e.bitmap)return e.refCounter+=1,e;if(e.file)return this.getFromFile(e.file);if(e.blobPromise){const{blobPromise:s}=e;return delete e.blobPromise,this.getFromBlob(e.id,s)}return this.getFromUrl(e.url)}getFromCanvas(t,e){i(this,Ce)||u(this,Ce,new Map);let s=i(this,Ce).get(t);if(s!=null&&s.bitmap)return s.refCounter+=1,s;const n=new OffscreenCanvas(e.width,e.height);return n.getContext("2d").drawImage(e,0,0),s={bitmap:n.transferToImageBitmap(),id:`image_${i(this,Jo)}_${Et(this,cc)._++}`,refCounter:1,isSvg:!1},i(this,Ce).set(t,s),i(this,Ce).set(s.id,s),s}getSvgUrl(t){const e=i(this,Ce).get(t);return e!=null&&e.isSvg?e.svgUrl:null}deleteId(t){var n;i(this,Ce)||u(this,Ce,new Map);const e=i(this,Ce).get(t);if(!e||(e.refCounter-=1,e.refCounter!==0))return;const{bitmap:s}=e;if(!e.url&&!e.file){const r=new OffscreenCanvas(s.width,s.height);r.getContext("bitmaprenderer").transferFromImageBitmap(s),e.blobPromise=r.convertToBlob()}(n=s.close)==null||n.call(s),e.bitmap=null}isValidId(t){return t.startsWith(`image_${i(this,Jo)}_`)}};Jo=new WeakMap,cc=new WeakMap,Ce=new WeakMap,Zo=new WeakSet,lu=async function(t,e){i(this,Ce)||u(this,Ce,new Map);let s=i(this,Ce).get(t);if(s===null)return null;if(s!=null&&s.bitmap)return s.refCounter+=1,s;try{s||(s={bitmap:null,id:`image_${i(this,Jo)}_${Et(this,cc)._++}`,refCounter:0,isSvg:!1});let n;if(typeof e=="string"?(s.url=e,n=await Gg(e,"blob")):e instanceof File?n=s.file=e:e instanceof Blob&&(n=e),n.type==="image/svg+xml"){const r=qg._isSVGFittingCanvas,a=new FileReader,o=new Image,l=new Promise((h,c)=>{o.onload=()=>{s.bitmap=o,s.isSvg=!0,h()},a.onload=async()=>{const d=s.svgUrl=a.result;o.src=await r?`${d}#svgView(preserveAspectRatio(none))`:d},o.onerror=a.onerror=c});a.readAsDataURL(n),await l}else s.bitmap=await createImageBitmap(n);s.refCounter=1}catch(n){W(n),s=null}return i(this,Ce).set(t,s),s&&i(this,Ce).set(s.id,s),s};let up=qg;var zt,jn,dc,Dt;class FA{constructor(t=128){g(this,zt,[]);g(this,jn,!1);g(this,dc);g(this,Dt,-1);u(this,dc,t)}add({cmd:t,undo:e,post:s,mustExec:n,type:r=NaN,overwriteIfSameType:a=!1,keepUndo:o=!1}){if(n&&t(),i(this,jn))return;const l={cmd:t,undo:e,post:s,type:r};if(i(this,Dt)===-1){i(this,zt).length>0&&(i(this,zt).length=0),u(this,Dt,0),i(this,zt).push(l);return}if(a&&i(this,zt)[i(this,Dt)].type===r){o&&(l.undo=i(this,zt)[i(this,Dt)].undo),i(this,zt)[i(this,Dt)]=l;return}const h=i(this,Dt)+1;h===i(this,dc)?i(this,zt).splice(0,1):(u(this,Dt,h),h=0;e--)if(i(this,zt)[e].type!==t){i(this,zt).splice(e+1,i(this,Dt)-e),u(this,Dt,e);return}i(this,zt).length=0,u(this,Dt,-1)}}destroy(){u(this,zt,null)}}zt=new WeakMap,jn=new WeakMap,dc=new WeakMap,Dt=new WeakMap;var Sh,Wm,Xm;const Ve=class Ve{constructor(t){var s;this.callbacks=new Map;const{isMac:e}=bt.platform;for(const[n,r,a={}]of t){const o=n.some(l=>l.startsWith("mac+"));for(const l of n){let h=l;if(o){const f=l.startsWith("mac+");if(e!==f)continue;f&&(h=l.slice(4))}const[c,d]=b(s=Ve,Sh,Wm).call(s,h);c!==null&&this.callbacks.getOrInsertComputed(c,Wd).push({callback:r,options:a,modifiers:d})}}}exec(t,e){var c;let s=this.callbacks.get(e.key);if(!s){if(/^[a-z]$/i.test(e.key))return;const d=b(c=Ve,Sh,Xm).call(c,e.code);if(d===null||d===e.key||(s=this.callbacks.get(d),!s))return}const n=(e.altKey?Ve.ALT:0)|(e.ctrlKey?Ve.CTRL:0)|(e.metaKey?Ve.META:0)|(e.shiftKey?Ve.SHIFT:0),r=s.find(d=>d.modifiers===n);if(!r)return;const{callback:a,options:{bubbles:o=!1,args:l=[],checker:h=null}}=r;h&&!h(t,e)||(a.bind(t,...l,e)(),o||Lt(e))}};Sh=new WeakSet,Wm=function(t){let e=null,s=0;for(let n of t.split("+")){if(n=n.trim(),!n)continue;const r=n.toUpperCase(),a=Ve[r];if(a){s|=a;continue}if(e!==null){W(`KeyboardManager: multiple keys in shortcut "${t}"`);break}e=r==="SPACE"?" ":n}return e===null&&W(`KeyboardManager: no key found in shortcut "${t}"`),[e,s]},Xm=function(t){var s;const e=/^(?:Key([A-Z])|(?:Digit|Numpad)(\d))$/.exec(t);return e?((s=e[1])==null?void 0:s.toLowerCase())??e[2]:null},g(Ve,Sh),_(Ve,"ALT",1),_(Ve,"CTRL",2),_(Ve,"META",4),_(Ve,"SHIFT",8);let Io=Ve;const af=class af{get _colors(){const t=new Map([["CanvasText",null],["Canvas",null]]);return _A(t),$(this,"_colors",t)}convert(t){const e=Kd(t);if(!window.matchMedia("(forced-colors: active)").matches)return e;for(const[s,n]of this._colors)if(n.every((r,a)=>r===e[a]))return af._colorsMapping.get(s);return e}getHexCode(t){const e=this._colors.get(t);return e?D.makeHexColor(...e):t}};_(af,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let fp=af;var tl,is,el,Nt,It,sl,il,Le,nl,Ms,se,Vn,Wn,Xn,Yn,pi,Ps,na,uc,fc,rl,pc,gi,Kn,al,qn,mi,of,Xi,ol,gc,Qn,ra,ll,Jn,mc,Kt,ft,Yi,Zn,tr,bc,hl,yc,er,bi,Ki,Ac,wc,Ds,R,hu,pp,Ym,Km,Mh,qm,Qm,Jm,gp,Zm,tb,eb,sb,De,$i,ib,nb,mp,rb,Ph,bp;const Wo=class Wo{constructor(t,e,s,n,r,a,o,l,h,c,d,f,m,y,A,v){g(this,R);g(this,tl,new AbortController);g(this,is,null);g(this,el,null);g(this,Nt,new Map);g(this,It,new Map);g(this,sl,null);g(this,il,null);g(this,Le,null);g(this,nl,null);g(this,Ms,new FA);g(this,se,null);g(this,Vn,null);g(this,Wn,null);g(this,Xn,0);g(this,Yn,new Set);g(this,pi,null);g(this,Ps,null);g(this,na,new Set);_(this,"_editorUndoBar",null);g(this,uc,!1);g(this,fc,!1);g(this,rl,!1);g(this,pc,null);g(this,gi,null);g(this,Kn,null);g(this,al,null);g(this,qn,!1);g(this,mi,null);g(this,of,new RA);g(this,Xi,!1);g(this,ol,!1);g(this,gc,!1);g(this,Qn,null);g(this,ra,null);g(this,ll,null);g(this,Jn,null);g(this,mc,null);g(this,Kt,V.NONE);g(this,ft,new Set);g(this,Yi,null);g(this,Zn,null);g(this,tr,null);g(this,bc,null);g(this,hl,null);g(this,yc,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1});g(this,er,[0,0]);g(this,bi,null);g(this,Ki,null);g(this,Ac,null);g(this,wc,null);g(this,Ds,null);const w=this._signal=i(this,tl).signal;u(this,Ki,t),u(this,Ac,e),u(this,wc,s),u(this,il,n),u(this,se,r),u(this,Zn,a),u(this,hl,l),this._eventBus=o;const S={signal:w,...qf};o.on("editingaction",this.onEditingAction.bind(this),S),o.on("pagechanging",this.onPageChanging.bind(this),S),o.on("scalechanging",this.onScaleChanging.bind(this),S),o.on("rotationchanging",this.onRotationChanging.bind(this),S),o.on("setpreference",this.onSetPreference.bind(this),S),o.on("switchannotationeditorparams",E=>this.updateParams(E.type,E.value),S),window.addEventListener("pointerdown",()=>{u(this,ol,!0)},{capture:!0,signal:w}),window.addEventListener("pointerup",()=>{u(this,ol,!1)},{capture:!0,signal:w}),window.addEventListener("beforeunload",this.endCurrentEditing.bind(this),{capture:!0,signal:w}),b(this,R,qm).call(this),b(this,R,sb).call(this),b(this,R,gp).call(this),u(this,Le,l.annotationStorage),u(this,pc,l.filterFactory),u(this,tr,h),u(this,al,c||null),u(this,uc,d),u(this,fc,f),u(this,rl,m),u(this,mc,y||null),this.viewParameters={realScale:Gr.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=A||null,this._supportsPinchToZoom=v!==!1,r==null||r.setSidebarUiManager(this)}static get _keyboardManager(){const t=Wo.prototype,e=a=>i(a,Ki).contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&a.hasSomethingToControl(),s=(a,{target:o})=>{if(o instanceof HTMLInputElement){const{type:l}=o;return l!=="text"&&l!=="number"}return!0},n=this.TRANSLATE_SMALL,r=this.TRANSLATE_BIG;return $(this,"_keyboardManager",new Io([[["ctrl+a","mac+meta+a"],t.selectAll,{checker:s}],[["ctrl+z","mac+meta+z"],t.undo,{checker:s}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],t.redo,{checker:s}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],t.delete,{checker:s}],[["Enter"],t.addNewEditorFromKeyboard,{checker:(a,{target:o})=>!(o instanceof HTMLButtonElement)&&i(a,Ki).contains(o)&&!a.isEnterHandled}],[["Space"],t.addNewEditorFromKeyboard,{checker:(a,{target:o})=>!(o instanceof HTMLButtonElement)&&i(a,Ki).contains(document.activeElement)}],[["Escape"],t.unselectAll],[["ArrowLeft"],t.translateSelectedEditors,{args:[-n,0],checker:e}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t.translateSelectedEditors,{args:[-r,0],checker:e}],[["ArrowRight"],t.translateSelectedEditors,{args:[n,0],checker:e}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t.translateSelectedEditors,{args:[r,0],checker:e}],[["ArrowUp"],t.translateSelectedEditors,{args:[0,-n],checker:e}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t.translateSelectedEditors,{args:[0,-r],checker:e}],[["ArrowDown"],t.translateSelectedEditors,{args:[0,n],checker:e}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t.translateSelectedEditors,{args:[0,r],checker:e}]]))}destroy(){var t,e,s,n,r,a,o,l,h;(t=i(this,Ds))==null||t.resolve(),u(this,Ds,null),(e=i(this,tl))==null||e.abort(),u(this,tl,null),this._signal=null;for(const c of i(this,It).values())c.destroy();i(this,It).clear(),i(this,Nt).clear(),i(this,na).clear(),(s=i(this,Jn))==null||s.clear(),u(this,is,null),i(this,ft).clear(),i(this,Ms).destroy(),(n=i(this,il))==null||n.destroy(),(r=i(this,se))==null||r.destroy(),(a=i(this,Zn))==null||a.destroy(),(o=i(this,mi))==null||o.hide(),u(this,mi,null),(l=i(this,ll))==null||l.destroy(),u(this,ll,null),u(this,el,null),i(this,gi)&&(clearTimeout(i(this,gi)),u(this,gi,null)),i(this,bi)&&(clearTimeout(i(this,bi)),u(this,bi,null)),(h=this._editorUndoBar)==null||h.destroy(),u(this,hl,null)}combinedSignal(t){return AbortSignal.any([this._signal,t.signal])}get mlManager(){return i(this,mc)}get useNewAltTextFlow(){return i(this,fc)}get useNewAltTextWhenAddingImage(){return i(this,rl)}get hcmFilter(){return $(this,"hcmFilter",i(this,tr)?i(this,pc).addHCMFilter(i(this,tr).foreground,i(this,tr).background):"none")}get direction(){return $(this,"direction",getComputedStyle(i(this,Ki)).direction)}get _highlightColors(){return $(this,"_highlightColors",i(this,al)?new Map(i(this,al).split(",").map(t=>(t=t.split("=").map(e=>e.trim()),t[1]=t[1].toUpperCase(),t))):null)}get highlightColors(){const{_highlightColors:t}=this;if(!t)return $(this,"highlightColors",null);const e=new Map,s=!!i(this,tr);for(const[n,r]of t){const a=n.endsWith("_HCM");if(s&&a){e.set(n.replace("_HCM",""),r);continue}!s&&!a&&e.set(n,r)}return $(this,"highlightColors",e)}get highlightColorNames(){return $(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,t=>t.reverse())):null)}getNonHCMColor(t){if(!this._highlightColors)return t;const e=this.highlightColorNames.get(t);return this._highlightColors.get(e)||t}getNonHCMColorName(t){return this.highlightColorNames.get(t)||t}setCurrentDrawingSession(t){t?(this.unselectAll(),this.disableUserSelect(!0)):this.disableUserSelect(!1),u(this,Wn,t)}setMainHighlightColorPicker(t){u(this,ll,t)}editAltText(t,e=!1){var s;(s=i(this,il))==null||s.editAltText(this,t,e)}hasCommentManager(){return!!i(this,se)}editComment(t,e,s,n){var r;(r=i(this,se))==null||r.showDialog(this,t,e,s,n)}selectComment(t,e){const s=i(this,It).get(t),n=s==null?void 0:s.getEditorByUID(e);n==null||n.toggleComment(!0,!0)}updateComment(t){var e;(e=i(this,se))==null||e.updateComment(t.getData())}updatePopupColor(t){var e;(e=i(this,se))==null||e.updatePopupColor(t)}removeComment(t){var e;(e=i(this,se))==null||e.removeComments([t.uid])}deleteComment(t,e){const s=()=>{t.comment=e},n=()=>{var r;(r=this._editorUndoBar)==null||r.show(s,"comment"),this.toggleComment(null),t.comment=null};this.addCommands({cmd:n,undo:s,mustExec:!0})}toggleComment(t,e,s=void 0){var n;(n=i(this,se))==null||n.toggleCommentPopup(t,e,s)}makeCommentColor(t,e){var s;return t&&((s=i(this,se))==null?void 0:s.makeCommentColor(t,e))||null}getCommentDialogElement(){var t;return((t=i(this,se))==null?void 0:t.dialogElement)||null}async waitForEditorsRendered(t){if(i(this,It).has(t-1))return;const{resolve:e,promise:s}=Promise.withResolvers(),n=r=>{r.pageNumber===t&&(this._eventBus.off("editorsrendered",n),e())};this._eventBus.on("editorsrendered",n,qf),await s}getSignature(t){var e;(e=i(this,Zn))==null||e.getSignature({uiManager:this,editor:t})}get signatureManager(){return i(this,Zn)}switchToMode(t,e){this._eventBus.on("annotationeditormodechanged",e,{once:!0,signal:this._signal,...qf}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:t})}setPreference(t,e){this._eventBus.dispatch("setpreference",{source:this,name:t,value:e})}onSetPreference({name:t,value:e}){switch(t){case"enableNewAltTextWhenAddingImage":u(this,rl,e);break}}onPageChanging({pageNumber:t}){u(this,Xn,t-1)}deletePage(t){for(const e of this.getEditors(t))e.remove();i(this,It).delete(t),i(this,Xn)===t&&u(this,Xn,0)}focusMainContainer(){i(this,Ki).focus()}findParent(t,e){for(const s of i(this,It).values()){const{x:n,y:r,width:a,height:o}=s.div.getBoundingClientRect();if(t>=n&&t<=n+a&&e>=r&&e<=r+o)return s}return null}disableUserSelect(t=!1){i(this,Ac).classList.toggle("noUserSelect",t)}addShouldRescale(t){i(this,na).add(t)}removeShouldRescale(t){i(this,na).delete(t)}onScaleChanging({scale:t}){var e;this.commitOrRemove(),this.viewParameters.realScale=t*Gr.PDF_TO_CSS_UNITS;for(const s of i(this,na))s.onScaleChanging();(e=i(this,Wn))==null||e.onScaleChanging()}onRotationChanging({pagesRotation:t}){this.commitOrRemove(),this.viewParameters.rotation=t}highlightSelection(t="",e=!1){const s=document.getSelection();if(!s||s.isCollapsed)return;const{anchorNode:n,anchorOffset:r,focusNode:a,focusOffset:o}=s,l=s.toString(),c=b(this,R,hu).call(this,s).closest(".textLayer"),d=this.getSelectionBoxes(c);if(!d)return;s.empty();const f=b(this,R,pp).call(this,c),m=i(this,Kt)===V.NONE,y=()=>{const A=f==null?void 0:f.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:t,boxes:d,anchorNode:n,anchorOffset:r,focusNode:a,focusOffset:o,text:l});m&&this.showAllEditors("highlight",!0,!0),e&&(A==null||A.editComment())};if(m){this.switchToMode(V.HIGHLIGHT,y);return}y()}commentSelection(t=""){this.highlightSelection(t,!0)}endCurrentEditing(){var t;this.commitOrRemove(),(t=this.currentLayer)==null||t.endDrawingSession(!1)}getAndRemoveDataFromAnnotationStorage(t){if(!i(this,Le))return null;const e=`${Zh}${t}`,s=i(this,Le).getRawValue(e);return s&&i(this,Le).remove(e),s}addToAnnotationStorage(t){!t.isEmpty()&&i(this,Le)&&!i(this,Le).has(t.id)&&i(this,Le).setValue(t.id,t)}a11yAlert(t,e=null){const s=i(this,wc);s&&(s.setAttribute("data-l10n-id",t),e?s.setAttribute("data-l10n-args",JSON.stringify(e)):s.removeAttribute("data-l10n-args"))}blur(){if(this.isShiftKeyDown=!1,i(this,qn)&&(u(this,qn,!1),b(this,R,Mh).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:t}=document;for(const e of i(this,ft))if(e.div.contains(t)){u(this,ra,[e,t]),e._focusEventsAllowed=!1;break}}focus(){if(!i(this,ra))return;const[t,e]=i(this,ra);u(this,ra,null),e.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:this._signal}),e.focus()}addEditListeners(){b(this,R,gp).call(this),this.setEditingState(!0)}removeEditListeners(){b(this,R,Zm).call(this),this.setEditingState(!1)}dragOver(t){for(const{type:e}of t.dataTransfer.items)for(const s of i(this,Ps))if(s.isHandlingMimeForPasting(e)){t.dataTransfer.dropEffect="copy",t.preventDefault();return}}drop(t){for(const e of t.dataTransfer.items)for(const s of i(this,Ps))if(s.isHandlingMimeForPasting(e.type)){s.paste(e,this.currentLayer),t.preventDefault();return}}copy(t){var s;if(t.preventDefault(),(s=i(this,is))==null||s.commitOrRemove(),!this.hasSelection)return;const e=[];for(const n of i(this,ft)){const r=n.serialize(!0);r&&e.push(r)}e.length!==0&&t.clipboardData.setData("application/pdfjs",JSON.stringify(e))}cut(t){this.copy(t),this.delete()}async paste(t){t.preventDefault();const{clipboardData:e}=t;for(const r of e.items)for(const a of i(this,Ps))if(a.isHandlingMimeForPasting(r.type)){a.paste(r,this.currentLayer);return}let s=e.getData("application/pdfjs");if(!s)return;try{s=JSON.parse(s)}catch(r){W(`paste: "${r.message}".`);return}if(!Array.isArray(s))return;this.unselectAll();const n=this.currentLayer;try{const r=[];for(const l of s){const h=await n.deserialize(l);if(!h)return;r.push(h)}const a=()=>{for(const l of r)b(this,R,mp).call(this,l);b(this,R,bp).call(this,r)},o=()=>{for(const l of r)l.remove()};this.addCommands({cmd:a,undo:o,mustExec:!0})}catch(r){W(`paste: "${r.message}".`)}}keydown(t){!this.isShiftKeyDown&&t.key==="Shift"&&(this.isShiftKeyDown=!0),i(this,Kt)!==V.NONE&&!this.isEditorHandlingKeyboard&&Wo._keyboardManager.exec(this,t)}keyup(t){this.isShiftKeyDown&&t.key==="Shift"&&(this.isShiftKeyDown=!1,i(this,qn)&&(u(this,qn,!1),b(this,R,Mh).call(this,"main_toolbar")))}onEditingAction({name:t}){switch(t){case"undo":case"redo":case"delete":case"selectAll":this[t]();break;case"highlightSelection":this.highlightSelection("context_menu");break;case"commentSelection":this.commentSelection("context_menu");break}}updatePageIndex(t,e){for(const n of this.getEditors(t))n.pageIndex=e;const s=i(this,sl).get(t);s&&(s.pageIndex=e,i(this,It).set(e,s),i(this,Xi)?s.enable():s.disable())}startUpdatePages(){u(this,sl,new Map(i(this,It))),i(this,It).clear()}endUpdatePages(){u(this,sl,null)}clonePage(t,e){for(const s of this.getEditors(t)){const n=s.serialize(s.mode!==V.HIGHLIGHT);n&&(n.pageIndex=e,n.id=this.getId(),n.isClone=!0,delete n.popupRef,i(this,Le).setValue(n.id,n))}}findClonesForPage(t){const e=[],{pageIndex:s}=t;for(const[n,r]of i(this,Le))r.pageIndex===s&&r.isClone&&(i(this,Le).remove(n),e.push(t.deserialize(r).then(a=>{a&&(a.isClone=!0,t.addOrRebuild(a))})));return Promise.all(e)}setEditingState(t){t?(b(this,R,Qm).call(this),b(this,R,tb).call(this),b(this,R,De).call(this,{isEditing:i(this,Kt)!==V.NONE,isEmpty:b(this,R,Ph).call(this),hasSomethingToUndo:i(this,Ms).hasSomethingToUndo(),hasSomethingToRedo:i(this,Ms).hasSomethingToRedo(),hasSelectedEditor:!1})):(b(this,R,Jm).call(this),b(this,R,eb).call(this),b(this,R,De).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(t){if(!i(this,Ps)){u(this,Ps,t);for(const e of i(this,Ps))b(this,R,$i).call(this,e.defaultPropertiesToUpdate)}}getId(){return i(this,of).id}get currentLayer(){return i(this,It).get(i(this,Xn))}getLayer(t){return i(this,It).get(t)}get currentPageIndex(){return i(this,Xn)}addLayer(t){i(this,It).set(t.pageIndex,t),i(this,Xi)?t.enable():t.disable()}removeLayer(t){i(this,It).delete(t.pageIndex)}async updateMode(t,e=null,s=!1,n=!1,r=!1,a=!1){var o,l,h,c,d,f;if(i(this,Kt)!==t&&!(i(this,Ds)&&(await i(this,Ds).promise,!i(this,Ds)))){if(u(this,Ds,Promise.withResolvers()),(o=i(this,Wn))==null||o.commitOrRemove(),i(this,Kt)===V.POPUP&&((l=i(this,se))==null||l.hideSidebar()),(h=i(this,se))==null||h.destroyPopup(),u(this,Kt,t),t===V.NONE){this.setEditingState(!1),b(this,R,nb).call(this);for(const m of i(this,Nt).values())m.hideStandaloneCommentButton();(c=this._editorUndoBar)==null||c.hide(),this.toggleComment(null),i(this,Ds).resolve();return}for(const m of i(this,Nt).values())m.addStandaloneCommentButton();t===V.SIGNATURE&&await((d=i(this,Zn))==null?void 0:d.loadSignatures()),s&&xe.clearPointerType(),this.setEditingState(!0),await b(this,R,ib).call(this),this.unselectAll();for(const m of i(this,It).values())m.updateMode(t);if(t===V.POPUP){i(this,el)||u(this,el,await i(this,hl).getAnnotationsByType(new Set(i(this,Ps).map(A=>A._editorType))));const m=new Set,y=[];for(const A of i(this,Nt).values()){const{annotationElementId:v,hasComment:w,deleted:S}=A;v&&m.add(v),w&&!S&&y.push(A.getData())}for(const A of i(this,el)){const{id:v,popupRef:w,contentsObj:S}=A;w&&(S!=null&&S.str)&&!m.has(v)&&!i(this,Yn).has(v)&&y.push(A)}(f=i(this,se))==null||f.showSidebar(y)}if(!e){n&&this.addNewEditorFromKeyboard(),i(this,Ds).resolve();return}for(const m of i(this,Nt).values())m.uid===e?(this.setSelected(m),a?m.editComment():r?m.enterInEditMode():m.focus()):m.unselect();i(this,Ds).resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(t){t.mode!==i(this,Kt)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,...t})}updateParams(t,e){if(i(this,Ps)){switch(t){case X.CREATE:this.currentLayer.addNewEditor(e);return;case X.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(i(this,bc)||u(this,bc,new Map)).set(t,e),this.showAllEditors("highlight",e);break}if(this.hasSelection)for(const s of i(this,ft))s.updateParams(t,e);else for(const s of i(this,Ps))s.updateDefaultParams(t,e)}}showAllEditors(t,e,s=!1){var r;for(const a of i(this,Nt).values())a.editorType===t&&a.show(e);(((r=i(this,bc))==null?void 0:r.get(X.HIGHLIGHT_SHOW_ALL))??!0)!==e&&b(this,R,$i).call(this,[[X.HIGHLIGHT_SHOW_ALL,e]])}enableWaiting(t=!1){if(i(this,gc)!==t){u(this,gc,t);for(const e of i(this,It).values())t?e.disableClick():e.enableClick(),e.div.classList.toggle("waiting",t)}}*getEditors(t){for(const e of i(this,Nt).values())e.pageIndex===t&&(yield e)}getEditor(t){return i(this,Nt).get(t)}addEditor(t){i(this,Nt).set(t.id,t)}removeEditor(t){var e,s;t.div.contains(document.activeElement)&&(i(this,gi)&&clearTimeout(i(this,gi)),u(this,gi,setTimeout(()=>{this.focusMainContainer(),u(this,gi,null)},0))),i(this,Nt).delete(t.id),t.annotationElementId&&((e=i(this,Jn))==null||e.delete(t.annotationElementId)),this.unselect(t),(!t.annotationElementId||!i(this,Yn).has(t.annotationElementId))&&((s=i(this,Le))==null||s.remove(t.id))}addDeletedAnnotationElement(t){i(this,Yn).add(t.annotationElementId),this.addChangedExistingAnnotation(t),t.deleted=!0}isDeletedAnnotationElement(t){return i(this,Yn).has(t)}removeDeletedAnnotationElement(t){i(this,Yn).delete(t.annotationElementId),this.removeChangedExistingAnnotation(t),t.deleted=!1}setActiveEditor(t){i(this,is)!==t&&(u(this,is,t),t&&b(this,R,$i).call(this,t.propertiesToUpdate))}updateUI(t){i(this,R,rb)===t&&b(this,R,$i).call(this,t.propertiesToUpdate)}updateUIForDefaultProperties(t){b(this,R,$i).call(this,t.defaultPropertiesToUpdate)}toggleSelected(t){if(i(this,ft).has(t)){i(this,ft).delete(t),t.unselect(),b(this,R,De).call(this,{hasSelectedEditor:this.hasSelection});return}i(this,ft).add(t),t.select(),b(this,R,$i).call(this,t.propertiesToUpdate),b(this,R,De).call(this,{hasSelectedEditor:!0})}setSelected(t){var e,s;this.updateToolbar({mode:t.mode,editId:t.uid}),(e=i(this,Wn))==null||e.commitOrRemove();for(const n of i(this,ft))n!==t&&n.unselect();(s=i(this,se))==null||s.destroyPopup(),i(this,ft).clear(),i(this,ft).add(t),t.select(),b(this,R,$i).call(this,t.propertiesToUpdate),b(this,R,De).call(this,{hasSelectedEditor:!0})}get firstSelectedEditor(){return i(this,ft).values().next().value}unselect(t){t.unselect(),i(this,ft).delete(t),b(this,R,De).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return i(this,ft).size!==0}get isEnterHandled(){return i(this,ft).size===1&&this.firstSelectedEditor.isEnterHandled}undo(){var t;i(this,Ms).undo(),b(this,R,De).call(this,{hasSomethingToUndo:i(this,Ms).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:b(this,R,Ph).call(this)}),(t=this._editorUndoBar)==null||t.hide()}redo(){i(this,Ms).redo(),b(this,R,De).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:i(this,Ms).hasSomethingToRedo(),isEmpty:b(this,R,Ph).call(this)})}addCommands(t){i(this,Ms).add(t),b(this,R,De).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:b(this,R,Ph).call(this)})}cleanUndoStack(t){i(this,Ms).cleanType(t)}delete(){var r;this.commitOrRemove();const t=(r=this.currentLayer)==null?void 0:r.endDrawingSession(!0);if(!this.hasSelection&&!t)return;const e=t?[t]:[...i(this,ft)],s=()=>{var a;(a=this._editorUndoBar)==null||a.show(n,e.length===1?e[0].editorType:e.length);for(const o of e)o.remove()},n=()=>{for(const a of e)b(this,R,mp).call(this,a)};this.addCommands({cmd:s,undo:n,mustExec:!0})}commitOrRemove(){var t;(t=i(this,is))==null||t.commitOrRemove()}hasSomethingToControl(){return i(this,is)||this.hasSelection}selectAll(){for(const t of i(this,ft))t.commit();b(this,R,bp).call(this,i(this,Nt).values())}unselectAll(){var t,e;if(!(i(this,is)&&(i(this,is).commitOrRemove(),i(this,Kt)!==V.NONE))&&!((t=i(this,Wn))!=null&&t.commitOrRemove())&&((e=i(this,se))==null||e.destroyPopup(),!!this.hasSelection)){for(const s of i(this,ft))s.unselect();i(this,ft).clear(),b(this,R,De).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(t,e,s=!1){if(s||this.commitOrRemove(),!this.hasSelection)return;i(this,er)[0]+=t,i(this,er)[1]+=e;const[n,r]=i(this,er),a=[...i(this,ft)],o=1e3;i(this,bi)&&clearTimeout(i(this,bi)),u(this,bi,setTimeout(()=>{u(this,bi,null),i(this,er)[0]=i(this,er)[1]=0,this.addCommands({cmd:()=>{for(const l of a)i(this,Nt).has(l.id)&&(l.translateInPage(n,r),l.translationDone())},undo:()=>{for(const l of a)i(this,Nt).has(l.id)&&(l.translateInPage(-n,-r),l.translationDone())},mustExec:!1})},o));for(const l of a)l.translateInPage(t,e),l.translationDone()}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),u(this,pi,new Map);for(const t of i(this,ft))i(this,pi).set(t,{savedX:t.x,savedY:t.y,savedPageIndex:t.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!i(this,pi))return!1;this.disableUserSelect(!1);const t=i(this,pi);u(this,pi,null);let e=!1;for(const[{x:n,y:r,pageIndex:a},o]of t)o.newX=n,o.newY=r,o.newPageIndex=a,e||(e=n!==o.savedX||r!==o.savedY||a!==o.savedPageIndex);if(!e)return!1;const s=(n,r,a,o)=>{if(i(this,Nt).has(n.id)){const l=i(this,It).get(o);l?n._setParentAndPosition(l,r,a):(n.pageIndex=o,n.x=r,n.y=a)}};return this.addCommands({cmd:()=>{for(const[n,{newX:r,newY:a,newPageIndex:o}]of t)s(n,r,a,o)},undo:()=>{for(const[n,{savedX:r,savedY:a,savedPageIndex:o}]of t)s(n,r,a,o)},mustExec:!0}),!0}dragSelectedEditors(t,e){if(i(this,pi))for(const s of i(this,pi).keys())s.drag(t,e)}rebuild(t){if(t.parent===null){const e=this.getLayer(t.pageIndex);e?(e.changeParent(t),e.addOrRebuild(t)):(this.addEditor(t),this.addToAnnotationStorage(t),t.rebuild())}else t.parent.addOrRebuild(t)}get isEditorHandlingKeyboard(){var t;return((t=this.getActive())==null?void 0:t.shouldGetKeyboardEvents())||i(this,ft).size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(t){return i(this,is)===t}getActive(){return i(this,is)}getMode(){return i(this,Kt)}isEditingMode(){return i(this,Kt)!==V.NONE}get imageManager(){return $(this,"imageManager",new up)}getSelectionBoxes(t){if(!t)return null;const e=document.getSelection();for(let h=0,c=e.rangeCount;h({x:(c-n)/a,y:1-(h+d-s)/r,width:f/a,height:d/r});break;case"180":o=(h,c,d,f)=>({x:1-(h+d-s)/r,y:1-(c+f-n)/a,width:d/r,height:f/a});break;case"270":o=(h,c,d,f)=>({x:1-(c+f-n)/a,y:(h-s)/r,width:f/a,height:d/r});break;default:o=(h,c,d,f)=>({x:(h-s)/r,y:(c-n)/a,width:d/r,height:f/a});break}const l=[];for(let h=0,c=e.rangeCount;h{f.type==="pointerup"&&f.button!==0||(h.abort(),l==null||l.toggleDrawing(!0),f.type==="pointerup"&&b(this,R,Mh).call(this,"main_toolbar"))};window.addEventListener("pointerup",d,{signal:c}),window.addEventListener("blur",d,{signal:c})}else l==null||l.toggleDrawing(!0),b(this,R,Mh).call(this,"main_toolbar")}},Mh=function(t=""){i(this,Kt)===V.HIGHLIGHT?this.highlightSelection(t):i(this,uc)&&b(this,R,Ym).call(this)},qm=function(){document.addEventListener("selectionchange",b(this,R,Km).bind(this),{signal:this._signal})},Qm=function(){if(i(this,Kn))return;u(this,Kn,new AbortController);const t=this.combinedSignal(i(this,Kn));window.addEventListener("focus",this.focus.bind(this),{signal:t}),window.addEventListener("blur",this.blur.bind(this),{signal:t})},Jm=function(){var t;(t=i(this,Kn))==null||t.abort(),u(this,Kn,null)},gp=function(){if(i(this,Qn))return;u(this,Qn,new AbortController);const t=this.combinedSignal(i(this,Qn));window.addEventListener("keydown",this.keydown.bind(this),{signal:t}),window.addEventListener("keyup",this.keyup.bind(this),{signal:t})},Zm=function(){var t;(t=i(this,Qn))==null||t.abort(),u(this,Qn,null)},tb=function(){if(i(this,Vn))return;u(this,Vn,new AbortController);const t=this.combinedSignal(i(this,Vn));document.addEventListener("copy",this.copy.bind(this),{signal:t}),document.addEventListener("cut",this.cut.bind(this),{signal:t}),document.addEventListener("paste",this.paste.bind(this),{signal:t})},eb=function(){var t;(t=i(this,Vn))==null||t.abort(),u(this,Vn,null)},sb=function(){const t=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:t}),document.addEventListener("drop",this.drop.bind(this),{signal:t})},De=function(t){Object.entries(t).some(([s,n])=>i(this,yc)[s]!==n)&&(this._eventBus.dispatch("editingstateschanged",{source:this,details:Object.assign(i(this,yc),t)}),i(this,Kt)===V.HIGHLIGHT&&t.hasSelectedEditor===!1&&b(this,R,$i).call(this,[[X.HIGHLIGHT_FREE,!0]]))},$i=function(t){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:t})},ib=async function(){if(!i(this,Xi)){u(this,Xi,!0);const t=[];for(const e of i(this,It).values())t.push(e.enable());await Promise.all(t);for(const e of i(this,Nt).values())e.enable()}},nb=function(){if(this.unselectAll(),i(this,Xi)){u(this,Xi,!1);for(const t of i(this,It).values())t.disable();for(const t of i(this,Nt).values())t.disable()}},mp=function(t){const e=i(this,It).get(t.pageIndex);e?e.addOrRebuild(t):(this.addEditor(t),this.addToAnnotationStorage(t))},rb=function(){let t=null;for(t of i(this,ft));return t},Ph=function(){if(i(this,Nt).size===0)return!0;if(i(this,Nt).size===1)for(const t of i(this,Nt).values())return t.isEmpty();return!1},bp=function(t){for(const e of i(this,ft))e.unselect();i(this,ft).clear();for(const e of t)e.isEmpty()||(i(this,ft).add(e),e.select());b(this,R,De).call(this,{hasSelectedEditor:this.hasSelection})},_(Wo,"TRANSLATE_SMALL",1),_(Wo,"TRANSLATE_BIG",10);let Lo=Wo;var ie,yi,Xs,cl,Ai,ns,dl,wi,Xe,qi,aa,vi,sr,oi,Dh,cu;const Ie=class Ie{constructor(t){g(this,oi);g(this,ie,null);g(this,yi,!1);g(this,Xs,null);g(this,cl,null);g(this,Ai,null);g(this,ns,null);g(this,dl,!1);g(this,wi,null);g(this,Xe,null);g(this,qi,null);g(this,aa,null);g(this,vi,!1);u(this,Xe,t),u(this,vi,t._uiManager.useNewAltTextFlow),i(Ie,sr)||u(Ie,sr,Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"}))}static initialize(t){Ie._l10n??(Ie._l10n=t)}async render(){const t=u(this,Xs,document.createElement("button"));t.className="altText",t.tabIndex="0";const e=u(this,cl,document.createElement("span"));t.append(e),i(this,vi)?(t.classList.add("new"),t.setAttribute("data-l10n-id",i(Ie,sr).missing),e.setAttribute("data-l10n-id",i(Ie,sr)["missing-label"])):(t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));const s=i(this,Xe)._uiManager._signal;t.addEventListener("contextmenu",js,{signal:s}),t.addEventListener("pointerdown",r=>r.stopPropagation(),{signal:s});const n=r=>{r.preventDefault(),i(this,Xe)._uiManager.editAltText(i(this,Xe)),i(this,vi)&&i(this,Xe)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:i(this,oi,Dh)}})};return t.addEventListener("click",n,{capture:!0,signal:s}),t.addEventListener("keydown",r=>{r.target===t&&r.key==="Enter"&&(u(this,dl,!0),n(r))},{signal:s}),await b(this,oi,cu).call(this),t}finish(){i(this,Xs)&&(i(this,Xs).focus({focusVisible:i(this,dl)}),u(this,dl,!1))}isEmpty(){return i(this,vi)?i(this,ie)===null:!i(this,ie)&&!i(this,yi)}hasData(){return i(this,vi)?i(this,ie)!==null||!!i(this,qi):this.isEmpty()}get guessedText(){return i(this,qi)}async setGuessedText(t){i(this,ie)===null&&(u(this,qi,t),u(this,aa,await Ie._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:t})),b(this,oi,cu).call(this))}toggleAltTextBadge(t=!1){var e;if(!i(this,vi)||i(this,ie)){(e=i(this,wi))==null||e.remove(),u(this,wi,null);return}if(!i(this,wi)){const s=u(this,wi,document.createElement("div"));s.className="noAltTextBadge",i(this,Xe).div.append(s)}i(this,wi).classList.toggle("hidden",!t)}serialize(t){let e=i(this,ie);return!t&&i(this,qi)===e&&(e=i(this,aa)),{altText:e,decorative:i(this,yi),guessedText:i(this,qi),textWithDisclaimer:i(this,aa)}}get data(){return{altText:i(this,ie),decorative:i(this,yi)}}set data({altText:t,decorative:e,guessedText:s,textWithDisclaimer:n,cancel:r=!1}){s&&(u(this,qi,s),u(this,aa,n)),!(i(this,ie)===t&&i(this,yi)===e)&&(r||(u(this,ie,t),u(this,yi,e)),b(this,oi,cu).call(this))}toggle(t=!1){i(this,Xs)&&(!t&&i(this,ns)&&(clearTimeout(i(this,ns)),u(this,ns,null)),i(this,Xs).disabled=!t)}shown(){i(this,Xe)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:i(this,oi,Dh)}})}destroy(){var t,e;(t=i(this,Xs))==null||t.remove(),u(this,Xs,null),u(this,cl,null),u(this,Ai,null),(e=i(this,wi))==null||e.remove(),u(this,wi,null)}};ie=new WeakMap,yi=new WeakMap,Xs=new WeakMap,cl=new WeakMap,Ai=new WeakMap,ns=new WeakMap,dl=new WeakMap,wi=new WeakMap,Xe=new WeakMap,qi=new WeakMap,aa=new WeakMap,vi=new WeakMap,sr=new WeakMap,oi=new WeakSet,Dh=function(){return i(this,ie)&&"added"||i(this,ie)===null&&this.guessedText&&"review"||"missing"},cu=async function(){var n,r,a;const t=i(this,Xs);if(!t)return;if(i(this,vi)){if(t.classList.toggle("done",!!i(this,ie)),t.setAttribute("data-l10n-id",i(Ie,sr)[i(this,oi,Dh)]),(n=i(this,cl))==null||n.setAttribute("data-l10n-id",i(Ie,sr)[`${i(this,oi,Dh)}-label`]),!i(this,ie)){(r=i(this,Ai))==null||r.remove();return}}else{if(!i(this,ie)&&!i(this,yi)){t.classList.remove("done"),(a=i(this,Ai))==null||a.remove();return}t.classList.add("done"),t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let e=i(this,Ai);if(!e){u(this,Ai,e=document.createElement("span")),e.className="tooltip",e.setAttribute("role","tooltip"),e.id=`alt-text-tooltip-${i(this,Xe).id}`;const o=100,l=i(this,Xe)._uiManager._signal;l.addEventListener("abort",()=>{clearTimeout(i(this,ns)),u(this,ns,null)},{once:!0}),t.addEventListener("mouseenter",()=>{u(this,ns,setTimeout(()=>{u(this,ns,null),i(this,Ai).classList.add("show"),i(this,Xe)._reportTelemetry({action:"alt_text_tooltip"})},o))},{signal:l}),t.addEventListener("mouseleave",()=>{var h;i(this,ns)&&(clearTimeout(i(this,ns)),u(this,ns,null)),(h=i(this,Ai))==null||h.classList.remove("show")},{signal:l})}i(this,yi)?e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(e.removeAttribute("data-l10n-id"),e.textContent=i(this,ie)),e.parentNode||t.append(e);const s=i(this,Xe).getElementForAltText();s==null||s.setAttribute("aria-describedby",e.id)},g(Ie,sr,null),_(Ie,"_l10n",null);let Ku=Ie;var ue,Is,oa,vt,vc,ir,Ls,nr,rr,la,Sc,yp;class Qd{constructor(t){g(this,Sc);g(this,ue,null);g(this,Is,null);g(this,oa,!1);g(this,vt,null);g(this,vc,null);g(this,ir,null);g(this,Ls,null);g(this,nr,null);g(this,rr,!1);g(this,la,null);u(this,vt,t)}renderForToolbar(){const t=u(this,Is,document.createElement("button"));return t.className="comment",b(this,Sc,yp).call(this,t,!1)}renderForStandalone(){const t=u(this,ue,document.createElement("button"));t.className="annotationCommentButton";const e=i(this,vt).commentButtonPosition;if(e){const{style:s}=t;s.insetInlineEnd=`calc(${100*(i(this,vt)._uiManager.direction==="ltr"?1-e[0]:e[0])}% - var(--comment-button-dim))`,s.top=`calc(${100*e[1]}% - var(--comment-button-dim))`;const n=i(this,vt).commentButtonColor;n&&(s.backgroundColor=n)}return b(this,Sc,yp).call(this,t,!0)}focusButton(){setTimeout(()=>{var t;(t=i(this,ue)??i(this,Is))==null||t.focus()},0)}onUpdatedColor(){if(!i(this,ue))return;const t=i(this,vt).commentButtonColor;t&&(i(this,ue).style.backgroundColor=t),i(this,vt)._uiManager.updatePopupColor(i(this,vt))}get commentButtonWidth(){var t;return(((t=i(this,ue))==null?void 0:t.getBoundingClientRect().width)??0)/i(this,vt).parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(i(this,la))return i(this,la);if(!i(this,ue))return null;const{x:t,y:e,height:s}=i(this,ue).getBoundingClientRect(),{x:n,y:r,width:a,height:o}=i(this,vt).parent.boundingClientRect;return[(t-n)/a,(e+s-r)/o]}set commentPopupPositionInLayer(t){u(this,la,t)}hasDefaultPopupPosition(){return i(this,la)===null}removeStandaloneCommentButton(){var t;(t=i(this,ue))==null||t.remove(),u(this,ue,null)}removeToolbarCommentButton(){var t;(t=i(this,Is))==null||t.remove(),u(this,Is,null)}setCommentButtonStates({selected:t,hasPopup:e}){i(this,ue)&&(i(this,ue).classList.toggle("selected",t),i(this,ue).ariaExpanded=e)}edit(t){const e=this.commentPopupPositionInLayer;let s,n;if(e)[s,n]=e;else{[s,n]=i(this,vt).commentButtonPosition;const{width:c,height:d,x:f,y:m}=i(this,vt);s=f+s*c,n=m+n*d}const r=i(this,vt).parent.boundingClientRect,{x:a,y:o,width:l,height:h}=r;i(this,vt)._uiManager.editComment(i(this,vt),a+s*l,o+n*h,{...t,parentDimensions:r})}finish(){i(this,Is)&&(i(this,Is).focus({focusVisible:i(this,oa)}),u(this,oa,!1))}isDeleted(){return i(this,rr)||i(this,Ls)===""}isEmpty(){return i(this,Ls)===null}hasBeenEdited(){return this.isDeleted()||i(this,Ls)!==i(this,vc)}serialize(){return this.data}get data(){return{text:i(this,Ls),richText:i(this,ir),date:i(this,nr),deleted:this.isDeleted()}}set data(t){if(t!==i(this,Ls)&&u(this,ir,null),t===null){u(this,Ls,""),u(this,rr,!0);return}u(this,Ls,t),u(this,nr,new Date),u(this,rr,!1)}restoreData({text:t,richText:e,date:s}){u(this,Ls,t),u(this,ir,e),u(this,nr,s),u(this,rr,!1)}setInitialText(t,e=null){u(this,vc,t),this.data=t,u(this,nr,null),u(this,ir,e)}shown(){}destroy(){var t,e;(t=i(this,Is))==null||t.remove(),u(this,Is,null),(e=i(this,ue))==null||e.remove(),u(this,ue,null),u(this,Ls,""),u(this,ir,null),u(this,nr,null),u(this,vt,null),u(this,oa,!1),u(this,rr,!1)}}ue=new WeakMap,Is=new WeakMap,oa=new WeakMap,vt=new WeakMap,vc=new WeakMap,ir=new WeakMap,Ls=new WeakMap,nr=new WeakMap,rr=new WeakMap,la=new WeakMap,Sc=new WeakSet,yp=function(t,e){if(!i(this,vt)._uiManager.hasCommentManager())return null;t.tabIndex="0",t.ariaHasPopup="dialog",e?(t.ariaControls="commentPopup",t.setAttribute("data-l10n-id","pdfjs-show-comment-button")):(t.ariaControlsElements=[i(this,vt)._uiManager.getCommentDialogElement()],t.setAttribute("data-l10n-id","pdfjs-editor-add-comment-button"));const s=i(this,vt)._uiManager._signal;if(!(s instanceof AbortSignal)||s.aborted)return t;t.addEventListener("contextmenu",js,{signal:s}),e&&(t.addEventListener("focusin",r=>{i(this,vt)._focusEventsAllowed=!1,Lt(r)},{capture:!0,signal:s}),t.addEventListener("focusout",r=>{i(this,vt)._focusEventsAllowed=!0,Lt(r)},{capture:!0,signal:s})),t.addEventListener("pointerdown",r=>r.stopPropagation(),{signal:s});const n=r=>{r.preventDefault(),t===i(this,Is)?this.edit():i(this,vt).toggleComment(!0)};return t.addEventListener("click",n,{capture:!0,signal:s}),t.addEventListener("keydown",r=>{r.target===t&&r.key==="Enter"&&(u(this,oa,!0),n(r))},{signal:s}),t.addEventListener("pointerenter",()=>{i(this,vt).toggleComment(!1,!0)},{signal:s}),t.addEventListener("pointerleave",()=>{i(this,vt).toggleComment(!1,!1)},{signal:s}),t};var ul,ha,Ec,xc,Cc,Tc,_c,Qi,ca,Ji,da,Zi,$r,ab,ob,lb;const Qg=class Qg{constructor({container:t,isPinchingDisabled:e=null,isPinchingStopped:s=null,onPinchStart:n=null,onPinching:r=null,onPinchEnd:a=null,signal:o}){g(this,$r);g(this,ul);g(this,ha,!1);g(this,Ec,null);g(this,xc);g(this,Cc);g(this,Tc);g(this,_c);g(this,Qi,null);g(this,ca);g(this,Ji,null);g(this,da);g(this,Zi,null);u(this,ul,t),u(this,Ec,s),u(this,xc,e),u(this,Cc,n),u(this,Tc,r),u(this,_c,a),u(this,da,new AbortController),u(this,ca,AbortSignal.any([o,i(this,da).signal])),t.addEventListener("touchstart",b(this,$r,ab).bind(this),{passive:!1,signal:i(this,ca)})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/Hi.pixelRatio}destroy(){var t,e;(t=i(this,da))==null||t.abort(),u(this,da,null),(e=i(this,Qi))==null||e.abort(),u(this,Qi,null)}};ul=new WeakMap,ha=new WeakMap,Ec=new WeakMap,xc=new WeakMap,Cc=new WeakMap,Tc=new WeakMap,_c=new WeakMap,Qi=new WeakMap,ca=new WeakMap,Ji=new WeakMap,da=new WeakMap,Zi=new WeakMap,$r=new WeakSet,ab=function(t){var n,r,a;if((n=i(this,xc))!=null&&n.call(this))return;if(t.touches.length===1){if(i(this,Qi))return;const o=u(this,Qi,new AbortController),l=AbortSignal.any([i(this,ca),o.signal]),h=i(this,ul),c={capture:!0,signal:l,passive:!1},d=f=>{var m;f.pointerType==="touch"&&((m=i(this,Qi))==null||m.abort(),u(this,Qi,null))};h.addEventListener("pointerdown",f=>{f.pointerType==="touch"&&(Lt(f),d(f))},c),h.addEventListener("pointerup",d,c),h.addEventListener("pointercancel",d,c);return}if(!i(this,Zi)){u(this,Zi,new AbortController);const o=AbortSignal.any([i(this,ca),i(this,Zi).signal]),l=i(this,ul),h={signal:o,capture:!1,passive:!1};l.addEventListener("touchmove",b(this,$r,ob).bind(this),h);const c=b(this,$r,lb).bind(this);l.addEventListener("touchend",c,h),l.addEventListener("touchcancel",c,h),h.capture=!0,l.addEventListener("pointerdown",Lt,h),l.addEventListener("pointermove",Lt,h),l.addEventListener("pointercancel",Lt,h),l.addEventListener("pointerup",Lt,h),(r=i(this,Cc))==null||r.call(this)}if(Lt(t),t.touches.length!==2||(a=i(this,Ec))!=null&&a.call(this)){u(this,Ji,null);return}let[e,s]=t.touches;e.identifier>s.identifier&&([e,s]=[s,e]),u(this,Ji,{touch0X:e.screenX,touch0Y:e.screenY,touch1X:s.screenX,touch1Y:s.screenY})},ob=function(t){var x;if(!i(this,Ji)||t.touches.length!==2)return;Lt(t);let[e,s]=t.touches;e.identifier>s.identifier&&([e,s]=[s,e]);const{screenX:n,screenY:r}=e,{screenX:a,screenY:o}=s,l=i(this,Ji),{touch0X:h,touch0Y:c,touch1X:d,touch1Y:f}=l,m=d-h,y=f-c,A=a-n,v=o-r,w=Math.hypot(A,v)||1,S=Math.hypot(m,y)||1;if(!i(this,ha)&&Math.abs(S-w)<=Qg.MIN_TOUCH_DISTANCE_TO_PINCH)return;if(l.touch0X=n,l.touch0Y=r,l.touch1X=a,l.touch1Y=o,!i(this,ha)){u(this,ha,!0);return}const E=[(n+a)/2,(r+o)/2];(x=i(this,Tc))==null||x.call(this,E,S,w)},lb=function(t){var e;t.touches.length>=2||(i(this,Zi)&&(i(this,Zi).abort(),u(this,Zi,null),(e=i(this,_c))==null||e.call(this)),i(this,Ji)&&(Lt(t),u(this,Ji,null),u(this,ha,!1)))};let qu=Qg;var ua,Ys,_t,ht,tn,fl,ar,kc,fe,fa,en,Rs,or,Mc,pa,rs,Pc,ga,sn,Si,pl,gl,Fs,ma,Dc,lf,z,Ap,Ic,wp,du,hb,cb,vp,uu,Sp,db,ub,fb,Ep,pb,xp,gb,mb,bb,Cp,Ih;const j=class j{constructor(t){g(this,z);g(this,ua,null);g(this,Ys,null);g(this,_t,null);g(this,ht,null);g(this,tn,null);g(this,fl,!1);g(this,ar,null);g(this,kc,"");g(this,fe,null);g(this,fa,null);g(this,en,null);g(this,Rs,null);g(this,or,null);g(this,Mc,"");g(this,pa,!1);g(this,rs,null);g(this,Pc,!1);g(this,ga,!1);g(this,sn,!1);g(this,Si,null);g(this,pl,0);g(this,gl,0);g(this,Fs,null);g(this,ma,null);_(this,"isSelected",!1);_(this,"_isCopy",!1);_(this,"_editToolbar",null);_(this,"_initialOptions",Object.create(null));_(this,"_initialData",null);_(this,"_isVisible",!0);_(this,"_uiManager",null);_(this,"_focusEventsAllowed",!0);g(this,Dc,!1);g(this,lf,j._zIndex++);this.parent=t.parent,this.id=t.id,this.width=this.height=null,this.pageIndex=t.parent.pageIndex,this.name=t.name,this.div=null,this._uiManager=t.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=t.isCentered,this._structTreeParentId=null,this.annotationElementId=t.annotationElementId||null,this.creationDate=t.creationDate||new Date,this.modificationDate=t.modificationDate||null,this.canAddComment=!0;const{rotation:e,rawDims:{pageWidth:s,pageHeight:n,pageX:r,pageY:a}}=this.parent.viewport;this.rotation=e,this.pageRotation=(360+e-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[s,n],this.pageTranslation=[r,a];const[o,l]=this.parentDimensions;this.x=t.x/o,this.y=t.y/l,this.isAttachedToDOM=!1,this.deleted=!1}static get _resizerKeyboardManager(){const t=j.prototype._resizeWithKeyboard,e=Lo.TRANSLATE_SMALL,s=Lo.TRANSLATE_BIG;return $(this,"_resizerKeyboardManager",new Io([[["ArrowLeft"],t,{args:[-e,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t,{args:[-s,0]}],[["ArrowRight"],t,{args:[e,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t,{args:[s,0]}],[["ArrowUp"],t,{args:[0,-e]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t,{args:[0,-s]}],[["ArrowDown"],t,{args:[0,e]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t,{args:[0,s]}],[["Escape"],j.prototype._stopResizingWithKeyboard]]))}updatePageIndex(t){this.pageIndex=t}get editorType(){return Object.getPrototypeOf(this).constructor._type}get mode(){return Object.getPrototypeOf(this).constructor._editorType}static get isDrawer(){return!1}static get _defaultLineColor(){return $(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(t){const e=new OA({id:t._uiManager.getId(),parent:t.parent,uiManager:t._uiManager});e.annotationElementId=t.annotationElementId,e.deleted=!0,e._uiManager.addToAnnotationStorage(e)}static initialize(t,e){if(j._l10n??(j._l10n=t),j._l10nAlert??(j._l10nAlert=Object.freeze({highlight:"pdfjs-editor-highlight-added-alert",freetext:"pdfjs-editor-freetext-added-alert",ink:"pdfjs-editor-ink-added-alert",stamp:"pdfjs-editor-stamp-added-alert",signature:"pdfjs-editor-signature-added-alert"})),j._l10nResizer??(j._l10nResizer=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"})),j._borderLineWidth!==-1)return;const s=getComputedStyle(document.documentElement);j._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(t,e){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(t){return!1}static paste(t,e){it("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return i(this,Dc)}set _isDraggable(t){var e;u(this,Dc,t),(e=this.div)==null||e.classList.toggle("draggable",t)}get uid(){return this.annotationElementId||this.id}get isEnterHandled(){return!0}center(){const[t,e]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*e/(t*2),this.y+=this.width*t/(e*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*e/(t*2),this.y-=this.width*t/(e*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(t){this._uiManager.addCommands(t)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=i(this,lf)}setParent(t){var e;t!==null?(this.pageIndex=t.pageIndex,this.pageDimensions=t.pageDimensions):(b(this,z,Ih).call(this),(e=i(this,Rs))==null||e.remove(),u(this,Rs,null)),this.parent=t}focusin(t){this._focusEventsAllowed&&(i(this,pa)?u(this,pa,!1):this.parent.setSelected(this))}focusout(t){var s;if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;const e=t.relatedTarget;e!=null&&e.closest(`#${this.id}`)||(t.preventDefault(),(s=this.parent)!=null&&s.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.isInEditMode()&&this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(t,e,s,n){const[r,a]=this.parentDimensions;[s,n]=this.screenToPageTranslation(s,n),this.x=(t+s)/r,this.y=(e+n)/a,this.fixAndSetPosition()}_moveAfterPaste(t,e){if(this.isClone){delete this.isClone;return}const[s,n]=this.parentDimensions;this.setAt(t*s,e*n,this.width*s,this.height*n),this._onTranslated()}translate(t,e){b(this,z,Ap).call(this,this.parentDimensions,t,e)}translateInPage(t,e){i(this,rs)||u(this,rs,[this.x,this.y,this.width,this.height]),b(this,z,Ap).call(this,this.pageDimensions,t,e),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(t,e){i(this,rs)||u(this,rs,[this.x,this.y,this.width,this.height]);const{div:s,parentDimensions:[n,r]}=this;if(this.x+=t/n,this.y+=e/r,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:d,y:f}=this.div.getBoundingClientRect();this.parent.findNewParent(this,d,f)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:a,y:o}=this;const[l,h]=this.getBaseTranslation();a+=l,o+=h;const{style:c}=s;c.left=`${(100*a).toFixed(2)}%`,c.top=`${(100*o).toFixed(2)}%`,this._onTranslating(a,o),s.scrollIntoView({block:"nearest"})}_onTranslating(t,e){}_onTranslated(t,e){}get _hasBeenMoved(){return!!i(this,rs)&&(i(this,rs)[0]!==this.x||i(this,rs)[1]!==this.y)}get _hasBeenResized(){return!!i(this,rs)&&(i(this,rs)[2]!==this.width||i(this,rs)[3]!==this.height)}getBaseTranslation(){const[t,e]=this.parentDimensions,{_borderLineWidth:s}=j,n=s/t,r=s/e;switch(this.rotation){case 90:return[-n,r];case 180:return[n,r];case 270:return[n,-r];default:return[-n,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(t=this.rotation){const{div:{style:e},pageDimensions:[s,n]}=this;let{x:r,y:a,width:o,height:l}=this;if(o*=s,l*=n,r*=s,a*=n,this._mustFixPosition)switch(t){case 0:r=Tt(r,0,s-o),a=Tt(a,0,n-l);break;case 90:r=Tt(r,0,s-l),a=Tt(a,o,n);break;case 180:r=Tt(r,o,s),a=Tt(a,l,n);break;case 270:r=Tt(r,l,s),a=Tt(a,0,n-o);break}this.x=r/=s,this.y=a/=n;const[h,c]=this.getBaseTranslation();r+=h,a+=c,e.left=`${(100*r).toFixed(2)}%`,e.top=`${(100*a).toFixed(2)}%`,this.moveInDOM()}screenToPageTranslation(t,e){var s;return b(s=j,Ic,wp).call(s,t,e,this.parentRotation)}pageTranslationToScreen(t,e){var s;return b(s=j,Ic,wp).call(s,t,e,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:t,pageDimensions:[e,s]}=this;return[e*t,s*t]}setDims(){const{div:{style:t},width:e,height:s}=this;t.width=`${(100*e).toFixed(2)}%`,t.height=`${(100*s).toFixed(2)}%`}getInitialTranslation(){return[0,0]}_onResized(){}static _round(t){return Math.round(t*1e4)/1e4}_onResizing(){}altTextFinish(){var t;(t=i(this,_t))==null||t.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||i(this,ga))return this._editToolbar;this._editToolbar=new cp(this),this.div.append(this._editToolbar.render());const{toolbarButtons:t}=this;if(t)for(const[e,s]of t)await this._editToolbar.addButton(e,s);return this.hasComment||this._editToolbar.addButton("comment",this.addCommentButton()),this._editToolbar.addButton("delete"),this._editToolbar}addCommentButtonInToolbar(){var t;(t=this._editToolbar)==null||t.addButtonBefore("comment",this.addCommentButton(),".deleteButton")}removeCommentButtonFromToolbar(){var t;(t=this._editToolbar)==null||t.removeButton("comment")}removeEditToolbar(){var t,e;(t=this._editToolbar)==null||t.remove(),this._editToolbar=null,(e=i(this,_t))==null||e.destroy()}addContainer(t){var s;const e=(s=this._editToolbar)==null?void 0:s.div;e?e.before(t):this.div.append(t)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){return i(this,_t)||(Ku.initialize(j._l10n),u(this,_t,new Ku(this)),i(this,ua)&&(i(this,_t).data=i(this,ua),u(this,ua,null))),i(this,_t)}get altTextData(){var t;return(t=i(this,_t))==null?void 0:t.data}set altTextData(t){i(this,_t)&&(i(this,_t).data=t)}get guessedAltText(){var t;return(t=i(this,_t))==null?void 0:t.guessedText}async setGuessedAltText(t){var e;await((e=i(this,_t))==null?void 0:e.setGuessedText(t))}serializeAltText(t){var e;return(e=i(this,_t))==null?void 0:e.serialize(t)}hasAltText(){return!!i(this,_t)&&!i(this,_t).isEmpty()}hasAltTextData(){var t;return((t=i(this,_t))==null?void 0:t.hasData())??!1}focusCommentButton(){var t;(t=i(this,ht))==null||t.focusButton()}addCommentButton(){return this.canAddComment?i(this,ht)||u(this,ht,new Qd(this)):null}addStandaloneCommentButton(){if(this._uiManager.hasCommentManager()){if(i(this,tn)){this._uiManager.isEditingMode()&&i(this,tn).classList.remove("hidden");return}this.hasComment&&(u(this,tn,i(this,ht).renderForStandalone()),this.div.append(i(this,tn)))}}removeStandaloneCommentButton(){i(this,ht).removeStandaloneCommentButton(),u(this,tn,null)}hideStandaloneCommentButton(){var t;(t=i(this,tn))==null||t.classList.add("hidden")}get comment(){if(!i(this,ht))return null;const{data:{richText:t,text:e,date:s,deleted:n}}=i(this,ht);return{text:e,richText:t,date:s,deleted:n,color:this.getNonHCMColor(),opacity:this.opacity??1}}set comment(t){i(this,ht)||u(this,ht,new Qd(this)),typeof t=="object"&&t!==null?i(this,ht).restoreData(t):i(this,ht).data=t,this.hasComment?(this.removeCommentButtonFromToolbar(),this.addStandaloneCommentButton(),this._uiManager.updateComment(this)):(this.addCommentButtonInToolbar(),this.removeStandaloneCommentButton(),this._uiManager.removeComment(this))}setCommentData({comment:t,popupRef:e,richText:s}){if(!e||(i(this,ht)||u(this,ht,new Qd(this)),i(this,ht).setInitialText(t,s),!this.annotationElementId))return;const n=this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId);n&&this.updateFromAnnotationLayer(n)}get hasEditedComment(){var t;return(t=i(this,ht))==null?void 0:t.hasBeenEdited()}get hasDeletedComment(){var t;return(t=i(this,ht))==null?void 0:t.isDeleted()}get hasComment(){return!!i(this,ht)&&!i(this,ht).isEmpty()&&!i(this,ht).isDeleted()}async editComment(t){i(this,ht)||u(this,ht,new Qd(this)),i(this,ht).edit(t)}toggleComment(t,e=void 0){this.hasComment&&this._uiManager.toggleComment(this,t,e)}setSelectedCommentButton(t){i(this,ht).setSelectedButton(t)}addComment(t){if(this.hasEditedComment){const[,,,n]=t.rect,[r]=this.pageDimensions,[a]=this.pageTranslation,o=a+r+1,l=n-100,h=o+180;t.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[o,l,h,n]}}}updateFromAnnotationLayer({popup:{contents:t,deleted:e}}){i(this,ht).data=e?null:t}get parentBoundingClientRect(){return this.parent.boundingClientRect}render(){var a;const t=this.div=document.createElement("div");t.setAttribute("data-editor-rotation",(360-this.rotation)%360),t.className=this.name,t.setAttribute("id",this.id),t.tabIndex=i(this,fl)?-1:0,t.setAttribute("role","application"),this.defaultL10nId&&t.setAttribute("data-l10n-id",this.defaultL10nId),this._isVisible||t.classList.add("hidden"),this.setInForeground(),b(this,z,xp).call(this);const[e,s]=this.parentDimensions;this.parentRotation%180!==0&&(t.style.maxWidth=`${(100*s/e).toFixed(2)}%`,t.style.maxHeight=`${(100*e/s).toFixed(2)}%`);const[n,r]=this.getInitialTranslation();return this.translate(n,r),Vm(this,t,["keydown","pointerdown","dblclick"]),this.isResizable&&this._uiManager._supportsPinchToZoom&&(i(this,ma)||u(this,ma,new qu({container:t,isPinchingDisabled:()=>!this.isSelected,onPinchStart:b(this,z,db).bind(this),onPinching:b(this,z,ub).bind(this),onPinchEnd:b(this,z,fb).bind(this),signal:this._uiManager._signal}))),this.addStandaloneCommentButton(),(a=this._uiManager._editorUndoBar)==null||a.hide(),t}pointerdown(t){const{isMac:e}=bt.platform;if(t.button!==0||t.ctrlKey&&e){t.preventDefault();return}if(u(this,pa,!0),this._isDraggable){b(this,z,pb).call(this,t);return}b(this,z,Ep).call(this,t)}_onStartDragging(){}_onStopDragging(){}moveInDOM(){i(this,Si)&&clearTimeout(i(this,Si)),u(this,Si,setTimeout(()=>{var t;u(this,Si,null),(t=this.parent)==null||t.moveEditorInDOM(this)},0))}_setParentAndPosition(t,e,s){t.changeParent(this),this.x=e,this.y=s,this.fixAndSetPosition(),this._onTranslated()}getRect(t,e,s=this.rotation){const n=this.parentScale,[r,a]=this.pageDimensions,[o,l]=this.pageTranslation,h=t/n,c=e/n,d=this.x*r,f=this.y*a,m=this.width*r,y=this.height*a;switch(s){case 0:return[d+h+o,a-f-c-y+l,d+h+m+o,a-f-c+l];case 90:return[d+c+o,a-f+h+l,d+c+y+o,a-f+h+m+l];case 180:return[d-h-m+o,a-f+c+l,d-h+o,a-f+c+y+l];case 270:return[d-c-y+o,a-f-h-m+l,d-c+o,a-f-h+l];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(t,e){const[s,n,r,a]=t,o=r-s,l=a-n;switch(this.rotation){case 0:return[s,e-a,o,l];case 90:return[s,e-n,l,o];case 180:return[r,e-n,o,l];case 270:return[r,e-a,l,o];default:throw new Error("Invalid rotation")}}getPDFRect(){return this.getRect(0,0)}getNonHCMColor(){return this.color&&j._colorManager.convert(this._uiManager.getNonHCMColor(this.color))}onUpdatedColor(){var t;(t=i(this,ht))==null||t.onUpdatedColor()}getData(){const{comment:{text:t,color:e,date:s,opacity:n,deleted:r,richText:a},uid:o,pageIndex:l,creationDate:h,modificationDate:c}=this;return{id:o,pageIndex:l,rect:this.getPDFRect(),richText:a,contentsObj:{str:t},creationDate:h,modificationDate:s||c,popupRef:!r,color:e,opacity:n}}onceAdded(t){}isEmpty(){return!1}enableEditMode(){return this.isInEditMode()?!1:(this.parent.setEditingState(!1),u(this,ga,!0),!0)}disableEditMode(){return this.isInEditMode()?(this.parent.setEditingState(!0),u(this,ga,!1),!0):!1}isInEditMode(){return i(this,ga)}shouldGetKeyboardEvents(){return i(this,sn)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){const{top:t,left:e,bottom:s,right:n}=this.getClientDimensions(),{innerHeight:r,innerWidth:a}=window;return e0&&t0}rebuild(){b(this,z,xp).call(this)}rotate(t){}resize(){}serializeDeleted(){var t;return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:((t=this._initialData)==null?void 0:t.popupRef)||""}}serialize(t=!1,e=null){var s;return{annotationType:this.mode,pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,structTreeParentId:this._structTreeParentId,popupRef:((s=this._initialData)==null?void 0:s.popupRef)||""}}static async deserialize(t,e,s){const n=new this.prototype.constructor({parent:e,id:s.getId(),uiManager:s,annotationElementId:t.annotationElementId,creationDate:t.creationDate,modificationDate:t.modificationDate});n.rotation=t.rotation,u(n,ua,t.accessibilityData),n._isCopy=t.isCopy||!1;const[r,a]=n.pageDimensions,[o,l,h,c]=n.getRectInCurrentCoords(t.rect,a);return n.x=o/r,n.y=l/a,n.width=h/r,n.height=c/a,n}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){var t,e,s;if((t=i(this,or))==null||t.abort(),u(this,or,null),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),this.hideCommentPopup(),i(this,Si)&&(clearTimeout(i(this,Si)),u(this,Si,null)),b(this,z,Ih).call(this),this.removeEditToolbar(),i(this,Fs)){for(const n of i(this,Fs).values())clearTimeout(n);u(this,Fs,null)}this.parent=null,(e=i(this,ma))==null||e.destroy(),u(this,ma,null),(s=i(this,Rs))==null||s.remove(),u(this,Rs,null)}get isResizable(){return!1}makeResizable(){this.isResizable&&(b(this,z,hb).call(this),i(this,fe).classList.remove("hidden"))}get toolbarPosition(){return null}get commentButtonPosition(){return this._uiManager.direction==="ltr"?[1,0]:[0,0]}get commentButtonPositionInPage(){const{commentButtonPosition:[t,e]}=this,[s,n,r,a]=this.getPDFRect();return[j._round(s+(r-s)*t),j._round(n+(a-n)*(1-e))]}get commentButtonColor(){return this._uiManager.makeCommentColor(this.getNonHCMColor(),this.opacity)}get commentPopupPosition(){return i(this,ht).commentPopupPositionInLayer}set commentPopupPosition(t){i(this,ht).commentPopupPositionInLayer=t}hasDefaultPopupPosition(){return i(this,ht).hasDefaultPopupPosition()}get commentButtonWidth(){return i(this,ht).commentButtonWidth}get elementBeforePopup(){return this.div}setCommentButtonStates(t){var e;(e=i(this,ht))==null||e.setCommentButtonStates(t)}keydown(t){if(!this.isResizable||t.target!==this.div||t.key!=="Enter")return;this._uiManager.setSelected(this),u(this,en,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const e=i(this,fe).children;if(!i(this,Ys)){u(this,Ys,Array.from(e));const a=b(this,z,gb).bind(this),o=b(this,z,mb).bind(this),l=this._uiManager._signal;for(const h of i(this,Ys)){const c=h.getAttribute("data-resizer-name");h.setAttribute("role","spinbutton"),h.addEventListener("keydown",a,{signal:l}),h.addEventListener("blur",o,{signal:l}),h.addEventListener("focus",b(this,z,bb).bind(this,c),{signal:l}),h.setAttribute("data-l10n-id",j._l10nResizer[c])}}const s=i(this,Ys)[0];let n=0;for(const a of e){if(a===s)break;n++}const r=(360-this.rotation+this.parentRotation)%360/90*(i(this,Ys).length/4);if(r!==n){if(rn)for(let o=0;o{var n,r;(n=this.div)!=null&&n.classList.contains("selectedEditor")&&((r=this._editToolbar)==null||r.show())});return}(e=this._editToolbar)==null||e.show(),(s=i(this,_t))==null||s.toggleAltTextBadge(!1)}focus(){this.div&&!this.div.contains(document.activeElement)&&setTimeout(()=>{var t;return(t=this.div)==null?void 0:t.focus({preventScroll:!0})},0)}unselect(){var t,e,s,n,r;this.isSelected&&(this.isSelected=!1,(t=i(this,fe))==null||t.classList.add("hidden"),(e=this.div)==null||e.classList.remove("selectedEditor"),(s=this.div)!=null&&s.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),(n=this._editToolbar)==null||n.hide(),(r=i(this,_t))==null||r.toggleAltTextBadge(!0),this.hideCommentPopup())}hideCommentPopup(){this.hasComment&&this._uiManager.toggleComment(null)}updateParams(t,e){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){this.canChangeContent&&(this.enableEditMode(),this.div.focus())}dblclick(t){t.target.nodeName!=="BUTTON"&&(this.enterInEditMode(),this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.uid}))}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return i(this,Pc)}set isEditing(t){u(this,Pc,t),this.parent&&(t?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(t,e=!1){if(e){i(this,Fs)||u(this,Fs,new Map);const{action:s}=t;let n=i(this,Fs).get(s);n&&clearTimeout(n),n=setTimeout(()=>{this._reportTelemetry(t),i(this,Fs).delete(s),i(this,Fs).size===0&&u(this,Fs,null)},j._telemetryTimeout),i(this,Fs).set(s,n);return}t.type||(t.type=this.editorType),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:t}})}show(t=this._isVisible){this.div.classList.toggle("hidden",!t),this._isVisible=t}enable(){this.div&&(this.div.tabIndex=0),u(this,fl,!1)}disable(){this.div&&(this.div.tabIndex=-1),u(this,fl,!0)}updateFakeAnnotationElement(t){if(!i(this,Rs)&&!this.deleted){u(this,Rs,t.addFakeAnnotation(this));return}if(this.deleted){i(this,Rs).remove(),u(this,Rs,null);return}(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)&&i(this,Rs).updateEdited({rect:this.getPDFRect(),popup:this.comment})}renderAnnotationElement(t){if(this.deleted)return t.hide(),null;let e=t.container.querySelector(".annotationContent");if(!e)e=document.createElement("div"),e.classList.add("annotationContent",this.editorType),t.container.prepend(e);else if(e.nodeName==="CANVAS"){const s=e;e=document.createElement("div"),e.classList.add("annotationContent",this.editorType),s.before(e)}return e}resetAnnotationElement(t){const{firstElementChild:e}=t.container;(e==null?void 0:e.nodeName)==="DIV"&&e.classList.contains("annotationContent")&&e.remove()}};ua=new WeakMap,Ys=new WeakMap,_t=new WeakMap,ht=new WeakMap,tn=new WeakMap,fl=new WeakMap,ar=new WeakMap,kc=new WeakMap,fe=new WeakMap,fa=new WeakMap,en=new WeakMap,Rs=new WeakMap,or=new WeakMap,Mc=new WeakMap,pa=new WeakMap,rs=new WeakMap,Pc=new WeakMap,ga=new WeakMap,sn=new WeakMap,Si=new WeakMap,pl=new WeakMap,gl=new WeakMap,Fs=new WeakMap,ma=new WeakMap,Dc=new WeakMap,lf=new WeakMap,z=new WeakSet,Ap=function([t,e],s,n){[s,n]=this.screenToPageTranslation(s,n),this.x+=s/t,this.y+=n/e,this._onTranslating(this.x,this.y),this.fixAndSetPosition()},Ic=new WeakSet,wp=function(t,e,s){switch(s){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}},du=function(t){switch(t){case 90:{const[e,s]=this.pageDimensions;return[0,-e/s,s/e,0]}case 180:return[-1,0,0,-1];case 270:{const[e,s]=this.pageDimensions;return[0,e/s,-s/e,0]}default:return[1,0,0,1]}},hb=function(){if(i(this,fe))return;u(this,fe,document.createElement("div")),i(this,fe).classList.add("resizers");const t=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],e=this._uiManager._signal;for(const s of t){const n=document.createElement("div");i(this,fe).append(n),n.classList.add("resizer",s),n.setAttribute("data-resizer-name",s),n.addEventListener("pointerdown",b(this,z,cb).bind(this,s),{signal:e}),n.addEventListener("contextmenu",js,{signal:e}),n.tabIndex=-1}this.div.prepend(i(this,fe))},cb=function(t,e){var c;e.preventDefault();const{isMac:s}=bt.platform;if(e.button!==0||e.ctrlKey&&s)return;(c=i(this,_t))==null||c.toggle(!1);const n=this._isDraggable;this._isDraggable=!1,u(this,fa,[e.screenX,e.screenY]);const r=new AbortController,a=this._uiManager.combinedSignal(r);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",b(this,z,Sp).bind(this,t),{passive:!0,capture:!0,signal:a}),window.addEventListener("touchmove",Lt,{passive:!1,signal:a}),window.addEventListener("contextmenu",js,{signal:a}),u(this,en,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const o=this.parent.div.style.cursor,l=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(e.target).cursor;const h=()=>{var d;r.abort(),this.parent.togglePointerEvents(!0),(d=i(this,_t))==null||d.toggle(!0),this._isDraggable=n,this.parent.div.style.cursor=o,this.div.style.cursor=l,b(this,z,uu).call(this)};window.addEventListener("pointerup",h,{signal:a}),window.addEventListener("blur",h,{signal:a})},vp=function(t,e,s,n){this.width=s,this.height=n,this.x=t,this.y=e,this.setDims(),this.fixAndSetPosition(),this._onResized()},uu=function(){if(!i(this,en))return;const{savedX:t,savedY:e,savedWidth:s,savedHeight:n}=i(this,en);u(this,en,null);const r=this.x,a=this.y,o=this.width,l=this.height;r===t&&a===e&&o===s&&l===n||this.addCommands({cmd:b(this,z,vp).bind(this,r,a,o,l),undo:b(this,z,vp).bind(this,t,e,s,n),mustExec:!0})},Sp=function(t,e){const[s,n]=this.parentDimensions,r=this.x,a=this.y,o=this.width,l=this.height,h=j.MIN_SIZE/s,c=j.MIN_SIZE/n,d=b(this,z,du).call(this,this.rotation),f=(F,U)=>[d[0]*F+d[2]*U,d[1]*F+d[3]*U],m=b(this,z,du).call(this,360-this.rotation),y=(F,U)=>[m[0]*F+m[2]*U,m[1]*F+m[3]*U];let A,v,w=!1,S=!1;switch(t){case"topLeft":w=!0,A=(F,U)=>[0,0],v=(F,U)=>[F,U];break;case"topMiddle":A=(F,U)=>[F/2,0],v=(F,U)=>[F/2,U];break;case"topRight":w=!0,A=(F,U)=>[F,0],v=(F,U)=>[0,U];break;case"middleRight":S=!0,A=(F,U)=>[F,U/2],v=(F,U)=>[0,U/2];break;case"bottomRight":w=!0,A=(F,U)=>[F,U],v=(F,U)=>[0,0];break;case"bottomMiddle":A=(F,U)=>[F/2,U],v=(F,U)=>[F/2,0];break;case"bottomLeft":w=!0,A=(F,U)=>[0,U],v=(F,U)=>[F,0];break;case"middleLeft":S=!0,A=(F,U)=>[0,U/2],v=(F,U)=>[F,U/2];break}const E=A(o,l),x=v(o,l);let C=f(...x);const T=j._round(r+C[0]),k=j._round(a+C[1]);let M=1,P=1,L,O;if(e.fromKeyboard)({deltaX:L,deltaY:O}=e);else{const{screenX:F,screenY:U}=e,[Gt,$t]=i(this,fa);[L,O]=this.screenToPageTranslation(F-Gt,U-$t),i(this,fa)[0]=F,i(this,fa)[1]=U}if([L,O]=y(L/s,O/n),w){const F=Math.hypot(o,l);M=P=Math.max(Math.min(Math.hypot(x[0]-E[0]-L,x[1]-E[1]-O)/F,1/o,1/l),h/o,c/l)}else S?M=Tt(Math.abs(x[0]-E[0]-L),h,1)/o:P=Tt(Math.abs(x[1]-E[1]-O),c,1)/l;const Q=j._round(o*M),J=j._round(l*P);C=f(...v(Q,J));const q=T-C[0],Ft=k-C[1];i(this,rs)||u(this,rs,[this.x,this.y,this.width,this.height]),this.width=Q,this.height=J,this.x=q,this.y=Ft,this.setDims(),this.fixAndSetPosition(),this._onResizing()},db=function(){var t;u(this,en,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height}),(t=i(this,_t))==null||t.toggle(!1),this.parent.togglePointerEvents(!1)},ub=function(t,e,s){let r=.7*(s/e)+1-.7;if(r===1)return;const a=b(this,z,du).call(this,this.rotation),o=(T,k)=>[a[0]*T+a[2]*k,a[1]*T+a[3]*k],[l,h]=this.parentDimensions,c=this.x,d=this.y,f=this.width,m=this.height,y=j.MIN_SIZE/l,A=j.MIN_SIZE/h;r=Math.max(Math.min(r,1/f,1/m),y/f,A/m);const v=j._round(f*r),w=j._round(m*r);if(v===f&&w===m)return;i(this,rs)||u(this,rs,[c,d,f,m]);const S=o(f/2,m/2),E=j._round(c+S[0]),x=j._round(d+S[1]),C=o(v/2,w/2);this.x=E-C[0],this.y=x-C[1],this.width=v,this.height=w,this.setDims(),this.fixAndSetPosition(),this._onResizing()},fb=function(){var t;(t=i(this,_t))==null||t.toggle(!0),this.parent.togglePointerEvents(!0),b(this,z,uu).call(this)},Ep=function(t){const{isMac:e}=bt.platform;t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this)},pb=function(t){const{isSelected:e}=this;this._uiManager.setUpDragSession();let s=!1;const n=new AbortController,r=this._uiManager.combinedSignal(n),a={capture:!0,passive:!1,signal:r},o=h=>{n.abort(),u(this,ar,null),u(this,pa,!1),this._uiManager.endDragSession()||b(this,z,Ep).call(this,h),s&&this._onStopDragging()};e&&(u(this,pl,t.clientX),u(this,gl,t.clientY),u(this,ar,t.pointerId),u(this,kc,t.pointerType),window.addEventListener("pointermove",h=>{s||(s=!0,this._uiManager.toggleComment(this,!0,!1),this._onStartDragging());const{clientX:c,clientY:d,pointerId:f}=h;if(f!==i(this,ar)){Lt(h);return}const[m,y]=this.screenToPageTranslation(c-i(this,pl),d-i(this,gl));u(this,pl,c),u(this,gl,d),this._uiManager.dragSelectedEditors(m,y)},a),window.addEventListener("touchmove",Lt,a),window.addEventListener("pointerdown",h=>{h.pointerType===i(this,kc)&&(i(this,ma)||h.isPrimary)&&o(h),Lt(h)},a));const l=h=>{if(!i(this,ar)||i(this,ar)===h.pointerId){o(h);return}Lt(h)};window.addEventListener("pointerup",l,{signal:r}),window.addEventListener("blur",l,{signal:r})},xp=function(){if(i(this,or)||!this.div)return;u(this,or,new AbortController);const t=this._uiManager.combinedSignal(i(this,or));this.div.addEventListener("focusin",this.focusin.bind(this),{signal:t}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:t})},gb=function(t){j._resizerKeyboardManager.exec(this,t)},mb=function(t){var e;i(this,sn)&&((e=t.relatedTarget)==null?void 0:e.parentNode)!==i(this,fe)&&b(this,z,Ih).call(this)},bb=function(t){u(this,Mc,i(this,sn)?t:"")},Cp=function(t){if(i(this,Ys))for(const e of i(this,Ys))e.tabIndex=t},Ih=function(){u(this,sn,!1),b(this,z,Cp).call(this,-1),b(this,z,uu).call(this)},g(j,Ic),_(j,"_l10n",null),_(j,"_l10nAlert",null),_(j,"_l10nResizer",null),_(j,"_borderLineWidth",-1),_(j,"_colorManager",new fp),_(j,"_zIndex",1),_(j,"_telemetryTimeout",1e3);let ot=j;class OA extends ot{constructor(t){super(t),this.annotationElementId=t.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}const um=3285377520,Cs=4294901760,ci=65535;class Tp{constructor(t){this.h1=t?t&4294967295:um,this.h2=t?t&4294967295:um}update(t){let e,s;if(typeof t=="string"){e=new Uint8Array(t.length*2),s=0;for(let A=0,v=t.length;A>>8,e[s++]=w&255)}}else if(ArrayBuffer.isView(t))e=t.slice(),s=e.byteLength;else throw new Error("Invalid data format, must be a string or TypedArray.");const n=s>>2,r=s-n*4,a=new Uint32Array(e.buffer,0,n);let o=0,l=0,h=this.h1,c=this.h2;const d=3432918353,f=461845907,m=d&ci,y=f&ci;for(let A=0;A>>17,o=o*f&Cs|o*y&ci,h^=o,h=h<<13|h>>>19,h=h*5+3864292196):(l=a[A],l=l*d&Cs|l*m&ci,l=l<<15|l>>>17,l=l*f&Cs|l*y&ci,c^=l,c=c<<13|c>>>19,c=c*5+3864292196);switch(o=0,r){case 3:o^=e[n*4+2]<<16;case 2:o^=e[n*4+1]<<8;case 1:o^=e[n*4],o=o*d&Cs|o*m&ci,o=o<<15|o>>>17,o=o*f&Cs|o*y&ci,n&1?h^=o:c^=o}this.h1=h,this.h2=c}hexdigest(){let t=this.h1,e=this.h2;return t^=e>>>1,t=t*3981806797&Cs|t*36045&ci,e=e*4283543511&Cs|((e<<16|t>>>16)*2950163797&Cs)>>>16,t^=e>>>1,t=t*444984403&Cs|t*60499&ci,e=e*3301882366&Cs|((e<<16|t>>>16)*3120437893&Cs)>>>16,t^=e>>>1,(t>>>0).toString(16).padStart(8,"0")+(e>>>0).toString(16).padStart(8,"0")}}const ec=Object.freeze({map:null,hash:"",transfer:void 0});var ba,ya,nn,pe,hf,yb;class jg{constructor(){g(this,hf);g(this,ba,!1);g(this,ya,null);g(this,nn,null);g(this,pe,new Map);_(this,"onSetModified",null);_(this,"onResetModified",null);_(this,"onAnnotationEditor",null)}getValue(t,e){const s=i(this,pe).get(t);return s===void 0?e:Object.assign(e,s)}getRawValue(t){return i(this,pe).get(t)}remove(t){var s;const e=i(this,pe).get(t);e!==void 0&&(e instanceof ot&&i(this,nn).delete(e.annotationElementId),i(this,pe).delete(t),i(this,pe).size===0&&this.resetModified(),!i(this,pe).values().some(n=>n instanceof ot)&&((s=this.onAnnotationEditor)==null||s.call(this,null)))}setValue(t,e){var r;const s=i(this,pe).get(t);let n=!1;if(s!==void 0)for(const[a,o]of Object.entries(e))s[a]!==o&&(n=!0,s[a]=o);else n=!0,i(this,pe).set(t,e);n&&b(this,hf,yb).call(this),e instanceof ot&&((i(this,nn)||u(this,nn,new Map)).set(e.annotationElementId,e),(r=this.onAnnotationEditor)==null||r.call(this,e.constructor._type))}has(t){return i(this,pe).has(t)}get size(){return i(this,pe).size}resetModified(){var t;i(this,ba)&&(u(this,ba,!1),(t=this.onResetModified)==null||t.call(this))}get print(){return new Ab(this)}get serializable(){if(i(this,pe).size===0)return ec;const t=new Map,e=new Tp,s=[],n=Object.create(null);let r=!1;for(const[a,o]of i(this,pe)){const l=o instanceof ot?o.serialize(!1,n):o;o.page&&(o.pageIndex=o.page._pageIndex,delete o.page),l&&(t.set(a,l),e.update(`${a}:${JSON.stringify(l)}`),r||(r=!!l.bitmap))}if(r)for(const a of t.values())a.bitmap&&s.push(a.bitmap);return t.size>0?{map:t,hash:e.hexdigest(),transfer:s}:ec}get editorStats(){let t=null;const e=new Map;let s=0,n=0;for(const r of i(this,pe).values()){if(!(r instanceof ot)){r.popup&&(r.popup.deleted?n+=1:s+=1);continue}r.isCommentDeleted?n+=1:r.hasEditedComment&&(s+=1);const a=r.telemetryFinalData;if(!a)continue;const{type:o}=a;e.getOrInsertComputed(o,()=>Object.getPrototypeOf(r).constructor),t||(t=Object.create(null));const l=t[o]||(t[o]=new Map);for(const[h,c]of Object.entries(a)){if(h==="type")continue;const d=l.getOrInsertComputed(h,Hg);d.set(c,(d.get(c)??0)+1)}}if((n>0||s>0)&&(t||(t=Object.create(null)),t.comments={deleted:n,edited:s}),!t)return null;for(const[r,a]of e)t[r]=a.computeTelemetryFinalData(t[r]);return t}resetModifiedIds(){u(this,ya,null)}updateEditor(t,e){var n;const s=(n=i(this,nn))==null?void 0:n.get(t);return s?(s.updateFromAnnotationLayer(e),!0):!1}getEditor(t){var e;return((e=i(this,nn))==null?void 0:e.get(t))||null}get modifiedIds(){if(i(this,ya))return i(this,ya);const t=[];if(i(this,nn))for(const s of i(this,nn).values())s.serialize()&&t.push(s.annotationElementId);let e="";if(t.length){const s=new Tp;s.update(t.join(",")),e=s.hexdigest()}return u(this,ya,{ids:new Set(t),hash:e})}[Symbol.iterator](){return i(this,pe).entries()}}ba=new WeakMap,ya=new WeakMap,nn=new WeakMap,pe=new WeakMap,hf=new WeakSet,yb=function(){var t;i(this,ba)||(u(this,ba,!0),(t=this.onSetModified)==null||t.call(this))};var Lc;class Ab extends jg{constructor(e){super();g(this,Lc,ec);const{serializable:s}=e;if(s===ec)return;const{map:n,hash:r,transfer:a}=s,o=structuredClone(n,a?{transfer:a}:null);u(this,Lc,{map:o,hash:r,transfer:[]})}get print(){it("Should not call PrintAnnotationStorage.print")}get serializable(){return i(this,Lc)}get modifiedIds(){return $(this,"modifiedIds",{ids:new Set,hash:""})}}Lc=new WeakMap;const Bo="__forcedDependency",{floor:fm,ceil:pm}=Math;function gm(p,t,e,s,n,r){p[t*4+0]=Math.min(p[t*4+0],e),p[t*4+1]=Math.min(p[t*4+1],s),p[t*4+2]=Math.max(p[t*4+2],n),p[t*4+3]=Math.max(p[t*4+3],r)}function NA(p,t,e,s,n){let r;p?(p<0&&(r=n[0],n[0]=n[2],n[2]=r),n[0]*=p,n[2]*=p,t<0&&(r=n[1],n[1]=n[3],n[3]=r),n[1]*=t,n[3]*=t):n.fill(0),n[0]+=e,n[1]+=s,n[2]+=e,n[3]+=s}const _p=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0];var ml,lr;class BA{constructor(t,e){g(this,ml);g(this,lr);u(this,ml,t),u(this,lr,e)}get length(){return i(this,ml).length}isEmpty(t){return i(this,ml)[t]===_p}minX(t){return i(this,lr)[t*4+0]/256}minY(t){return i(this,lr)[t*4+1]/256}maxX(t){return(i(this,lr)[t*4+2]+1)/256}maxY(t){return(i(this,lr)[t*4+3]+1)/256}}ml=new WeakMap,lr=new WeakMap;const mm=(p,t)=>p==null?void 0:p.getOrInsertComputed(t,()=>({dependencies:new Set,isRenderingOperation:!1}));var rn,at,Ct,Aa,wa,va,Te,Rc,kp;class HA{constructor(t,e){g(this,Rc);g(this,rn,[[1,0,0,1,0,0]]);g(this,at,[-1/0,-1/0,1/0,1/0]);g(this,Ct,new Float64Array(In));_(this,"_pendingBBoxIdx",-1);g(this,Aa);g(this,wa);g(this,va);g(this,Te);_(this,"_savesStack",[]);_(this,"_markedContentStack",[]);u(this,Aa,t.width),u(this,wa,t.height),b(this,Rc,kp).call(this,e)}growOperationsCount(t){t>=i(this,Te).length&&b(this,Rc,kp).call(this,t,i(this,Te))}get clipBox(){return i(this,at)}save(t){return u(this,at,{__proto__:i(this,at)}),this._savesStack.push(t),this}restore(t,e){const s=Object.getPrototypeOf(i(this,at));if(s===null)return this;u(this,at,s);const n=this._savesStack.pop();return n!==void 0&&(e==null||e(n,t),i(this,Te)[t]=i(this,Te)[n]),this}recordOpenMarker(t){return this._savesStack.push(t),this}getOpenMarker(){return this._savesStack.length===0?null:this._savesStack.at(-1)}recordCloseMarker(t,e){const s=this._savesStack.pop();return s!==void 0&&(e==null||e(s,t),i(this,Te)[t]=i(this,Te)[s]),this}beginMarkedContent(t){return this._markedContentStack.push(t),this}endMarkedContent(t,e){const s=this._markedContentStack.pop();return s!==void 0&&(e==null||e(s,t),i(this,Te)[t]=i(this,Te)[s]),this}pushBaseTransform(t){return i(this,rn).push(D.multiplyByDOMMatrix(i(this,rn).at(-1),t.getTransform())),this}popBaseTransform(){return i(this,rn).length>1&&i(this,rn).pop(),this}resetBBox(t){return this._pendingBBoxIdx!==t&&(this._pendingBBoxIdx=t,i(this,Ct).set(In,0)),this}recordClipBox(t,e,s,n,r,a){const o=D.multiplyByDOMMatrix(i(this,rn).at(-1),e.getTransform()),l=In.slice();D.axialAlignedBoundingBox([s,r,n,a],o,l);const h=D.intersect(i(this,at),l);return h?(i(this,at)[0]=h[0],i(this,at)[1]=h[1],i(this,at)[2]=h[2],i(this,at)[3]=h[3]):(i(this,at)[0]=i(this,at)[1]=1/0,i(this,at)[2]=i(this,at)[3]=-1/0),this}recordBBox(t,e,s,n,r,a){const o=i(this,at);if(o[0]===1/0)return this;const l=D.multiplyByDOMMatrix(i(this,rn).at(-1),e.getTransform());if(o[0]===-1/0)return D.axialAlignedBoundingBox([s,r,n,a],l,i(this,Ct)),this;const h=In.slice();return D.axialAlignedBoundingBox([s,r,n,a],l,h),i(this,Ct)[0]=Tt(h[0],o[0],i(this,Ct)[0]),i(this,Ct)[1]=Tt(h[1],o[1],i(this,Ct)[1]),i(this,Ct)[2]=Tt(h[2],i(this,Ct)[2],o[2]),i(this,Ct)[3]=Tt(h[3],i(this,Ct)[3],o[3]),this}recordFullPageBBox(t){return i(this,Ct)[0]=Math.max(0,i(this,at)[0]),i(this,Ct)[1]=Math.max(0,i(this,at)[1]),i(this,Ct)[2]=Math.min(i(this,Aa),i(this,at)[2]),i(this,Ct)[3]=Math.min(i(this,wa),i(this,at)[3]),this}recordOperation(t,e=!1,s){if(this._pendingBBoxIdx!==t)return this;const n=fm(i(this,Ct)[0]*256/i(this,Aa)),r=fm(i(this,Ct)[1]*256/i(this,wa)),a=pm(i(this,Ct)[2]*256/i(this,Aa)),o=pm(i(this,Ct)[3]*256/i(this,wa));if(gm(i(this,va),t,n,r,a,o),s)for(const l of s)for(const h of l)h!==t&&gm(i(this,va),h,n,r,a,o);return e||(this._pendingBBoxIdx=-1),this}bboxToClipBoxDropOperation(t){return this._pendingBBoxIdx===t&&(this._pendingBBoxIdx=-1,i(this,at)[0]=Math.max(i(this,at)[0],i(this,Ct)[0]),i(this,at)[1]=Math.max(i(this,at)[1],i(this,Ct)[1]),i(this,at)[2]=Math.min(i(this,at)[2],i(this,Ct)[2]),i(this,at)[3]=Math.min(i(this,at)[3],i(this,Ct)[3])),this}take(){return new BA(i(this,Te),i(this,va))}takeDebugMetadata(){throw new Error("Unreachable")}recordSimpleData(t,e){return this}recordIncrementalData(t,e){return this}resetIncrementalData(t,e){return this}recordNamedData(t,e){return this}recordSimpleDataFromNamed(t,e,s){return this}recordFutureForcedDependency(t,e){return this}inheritSimpleDataAsFutureForcedDependencies(t){return this}inheritPendingDependenciesAsFutureForcedDependencies(){return this}recordCharacterBBox(t,e,s,n=1,r=0,a=0,o){return this}getSimpleIndex(t){}recordDependencies(t,e){return this}recordNamedDependency(t,e){return this}recordShowTextOperation(t,e=!1){return this}}rn=new WeakMap,at=new WeakMap,Ct=new WeakMap,Aa=new WeakMap,wa=new WeakMap,va=new WeakMap,Te=new WeakMap,Rc=new WeakSet,kp=function(t,e){const s=new ArrayBuffer(t*4);u(this,va,new Uint8ClampedArray(s)),u(this,Te,new Uint32Array(s)),e&&e.length>0?(i(this,Te).set(e),i(this,Te).fill(_p,e.length)):i(this,Te).fill(_p)};var Ye,Ke,Sa,Ks,bl,hr,cr,pt;class UA{constructor(t,e=!1){g(this,Ye,{__proto__:null});g(this,Ke,{__proto__:null,transform:[],moveText:[],sameLineText:[],[Bo]:[]});g(this,Sa,new Map);g(this,Ks,new Set);g(this,bl,new Map);g(this,hr);g(this,cr);g(this,pt);u(this,pt,t),e&&(u(this,hr,new Map),u(this,cr,(s,n)=>{mm(i(this,hr),n).dependencies.add(s)}))}get clipBox(){return i(this,pt).clipBox}growOperationsCount(t){i(this,pt).growOperationsCount(t)}save(t){return u(this,Ye,{__proto__:i(this,Ye)}),u(this,Ke,{__proto__:i(this,Ke),transform:{__proto__:i(this,Ke).transform},moveText:{__proto__:i(this,Ke).moveText},sameLineText:{__proto__:i(this,Ke).sameLineText},[Bo]:{__proto__:i(this,Ke)[Bo]}}),i(this,pt).save(t),this}restore(t){i(this,pt).restore(t,i(this,cr));const e=Object.getPrototypeOf(i(this,Ye));return e===null?this:(u(this,Ye,e),u(this,Ke,Object.getPrototypeOf(i(this,Ke))),this)}recordOpenMarker(t){return i(this,pt).recordOpenMarker(t,i(this,cr)),this}getOpenMarker(){return i(this,pt).getOpenMarker()}recordCloseMarker(t){return i(this,pt).recordCloseMarker(t,i(this,cr)),this}beginMarkedContent(t){return i(this,pt).beginMarkedContent(t),this}endMarkedContent(t){return i(this,pt).endMarkedContent(t,i(this,cr)),this}pushBaseTransform(t){return i(this,pt).pushBaseTransform(t),this}popBaseTransform(){return i(this,pt).popBaseTransform(),this}recordSimpleData(t,e){return i(this,Ye)[t]=e,this}recordIncrementalData(t,e){return i(this,Ke)[t].push(e),this}resetIncrementalData(t,e){return i(this,Ke)[t].length=0,this}recordNamedData(t,e){return i(this,Sa).set(t,e),this}recordSimpleDataFromNamed(t,e,s){i(this,Ye)[t]=i(this,Sa).get(e)??s}recordFutureForcedDependency(t,e){return this.recordIncrementalData(Bo,e),this}inheritSimpleDataAsFutureForcedDependencies(t){for(const e of t)e in i(this,Ye)&&this.recordFutureForcedDependency(e,i(this,Ye)[e]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(const t of i(this,Ks))this.recordFutureForcedDependency(Bo,t);return this}resetBBox(t){return i(this,pt).resetBBox(t),this}recordClipBox(t,e,s,n,r,a){return i(this,pt).recordClipBox(t,e,s,n,r,a),this}recordBBox(t,e,s,n,r,a){return i(this,pt).recordBBox(t,e,s,n,r,a),this}recordCharacterBBox(t,e,s,n=1,r=0,a=0,o){const l=s.bbox;let h,c;if(l&&(h=l[2]!==l[0]&&l[3]!==l[1]&&i(this,bl).get(s),h!==!1&&(c=[0,0,0,0],D.axialAlignedBoundingBox(l,s.fontMatrix,c),(n!==1||r!==0||a!==0)&&NA(n,-n,r,a,c),h)))return this.recordBBox(t,e,c[0],c[2],c[1],c[3]);if(!o)return this.recordFullPageBBox(t);const d=o();return l&&c&&h===void 0&&(h=c[0]<=r-d.actualBoundingBoxLeft&&c[2]>=r+d.actualBoundingBoxRight&&c[1]<=a-d.actualBoundingBoxAscent&&c[3]>=a+d.actualBoundingBoxDescent,i(this,bl).set(s,h),h)?this.recordBBox(t,e,c[0],c[2],c[1],c[3]):this.recordBBox(t,e,r-d.actualBoundingBoxLeft,r+d.actualBoundingBoxRight,a-d.actualBoundingBoxAscent,a+d.actualBoundingBoxDescent)}recordFullPageBBox(t){return i(this,pt).recordFullPageBBox(t),this}getSimpleIndex(t){return i(this,Ye)[t]}recordDependencies(t,e){const s=i(this,Ks),n=i(this,Ye),r=i(this,Ke);for(const a of e)a in i(this,Ye)?s.add(n[a]):a in r&&r[a].forEach(s.add,s);return this}recordNamedDependency(t,e){return i(this,Sa).has(e)&&i(this,Ks).add(i(this,Sa).get(e)),this}recordOperation(t,e=!1){if(this.recordDependencies(t,[Bo]),i(this,hr)){const n=mm(i(this,hr),t),{dependencies:r}=n;i(this,Ks).forEach(r.add,r),i(this,pt)._savesStack.forEach(r.add,r),i(this,pt)._markedContentStack.forEach(r.add,r),r.delete(t),n.isRenderingOperation=!0}const s=!e&&t===i(this,pt)._pendingBBoxIdx;return i(this,pt).recordOperation(t,e,[i(this,Ks),i(this,pt)._savesStack,i(this,pt)._markedContentStack]),s&&i(this,Ks).clear(),this}recordShowTextOperation(t,e=!1){const s=Array.from(i(this,Ks));this.recordOperation(t,e),this.recordIncrementalData("sameLineText",t);for(const n of s)this.recordIncrementalData("sameLineText",n);return this}bboxToClipBoxDropOperation(t,e=!1){const s=!e&&t===i(this,pt)._pendingBBoxIdx;return i(this,pt).bboxToClipBoxDropOperation(t),s&&i(this,Ks).clear(),this}take(){return i(this,bl).clear(),i(this,pt).take()}takeDebugMetadata(){return i(this,hr)}}Ye=new WeakMap,Ke=new WeakMap,Sa=new WeakMap,Ks=new WeakMap,bl=new WeakMap,hr=new WeakMap,cr=new WeakMap,pt=new WeakMap;var gt,Bt,qs,yl,Al;const Jg=class Jg{constructor(t,e,s){g(this,gt);g(this,Bt);g(this,qs);g(this,yl,0);g(this,Al,0);if(t instanceof Jg&&i(t,qs)===!!s)return t;u(this,gt,t),u(this,Bt,e),u(this,qs,!!s)}get clipBox(){return i(this,gt).clipBox}growOperationsCount(){throw new Error("Unreachable")}save(t){return Et(this,Al)._++,i(this,gt).save(i(this,Bt)),this}restore(t){return i(this,Al)>0&&(i(this,gt).restore(i(this,Bt)),Et(this,Al)._--),this}recordOpenMarker(t){return Et(this,yl)._++,this}getOpenMarker(){return i(this,yl)>0?i(this,Bt):i(this,gt).getOpenMarker()}recordCloseMarker(t){return Et(this,yl)._--,this}beginMarkedContent(t){return this}endMarkedContent(t){return this}pushBaseTransform(t){return i(this,gt).pushBaseTransform(t),this}popBaseTransform(){return i(this,gt).popBaseTransform(),this}recordSimpleData(t,e){return i(this,gt).recordSimpleData(t,i(this,Bt)),this}recordIncrementalData(t,e){return i(this,gt).recordIncrementalData(t,i(this,Bt)),this}resetIncrementalData(t,e){return i(this,gt).resetIncrementalData(t,i(this,Bt)),this}recordNamedData(t,e){return this}recordSimpleDataFromNamed(t,e,s){return i(this,gt).recordSimpleDataFromNamed(t,e,i(this,Bt)),this}recordFutureForcedDependency(t,e){return i(this,gt).recordFutureForcedDependency(t,i(this,Bt)),this}inheritSimpleDataAsFutureForcedDependencies(t){return i(this,gt).inheritSimpleDataAsFutureForcedDependencies(t),this}inheritPendingDependenciesAsFutureForcedDependencies(){return i(this,gt).inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(t){return i(this,qs)||i(this,gt).resetBBox(i(this,Bt)),this}recordClipBox(t,e,s,n,r,a){return i(this,qs)||i(this,gt).recordClipBox(i(this,Bt),e,s,n,r,a),this}recordBBox(t,e,s,n,r,a){return i(this,qs)||i(this,gt).recordBBox(i(this,Bt),e,s,n,r,a),this}recordCharacterBBox(t,e,s,n,r,a,o){return i(this,qs)||i(this,gt).recordCharacterBBox(i(this,Bt),e,s,n,r,a,o),this}recordFullPageBBox(t){return i(this,qs)||i(this,gt).recordFullPageBBox(i(this,Bt)),this}getSimpleIndex(t){return i(this,gt).getSimpleIndex(t)}recordDependencies(t,e){return i(this,gt).recordDependencies(i(this,Bt),e),this}recordNamedDependency(t,e){return i(this,gt).recordNamedDependency(i(this,Bt),e),this}recordOperation(t){return i(this,gt).recordOperation(i(this,Bt),!0),this}recordShowTextOperation(t){return i(this,gt).recordShowTextOperation(i(this,Bt),!0),this}bboxToClipBoxDropOperation(t){return i(this,qs)||i(this,gt).bboxToClipBoxDropOperation(i(this,Bt),!0),this}take(){throw new Error("Unreachable")}takeDebugMetadata(){throw new Error("Unreachable")}};gt=new WeakMap,Bt=new WeakMap,qs=new WeakMap,yl=new WeakMap,Al=new WeakMap;let sc=Jg;const Ts={stroke:["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],fill:["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],imageXObject:["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],rawFillPath:["filter","fillColor","fillAlpha"],showText:["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],transform:["transform"],transformAndFill:["transform","fillColor"]};var Ea,xa,Ca,Ta,_a,Fc;const Qh=class Qh{constructor(t){g(this,Ea);g(this,xa);g(this,Ca,4);g(this,Ta,0);g(this,_a,new(i(Qh,Fc))(i(this,Ca)*6));u(this,Ea,t.width),u(this,xa,t.height)}record(t,e,s,n){if(i(this,Ta)===i(this,Ca)){u(this,Ca,i(this,Ca)*2);const o=new(i(Qh,Fc))(i(this,Ca)*6);o.set(i(this,_a)),u(this,_a,o)}const r=St(t);let a;if(n[0]!==1/0){const o=In.slice();D.axialAlignedBoundingBox([0,-s,e,0],r,o);const l=D.intersect(n,o);if(!l)return;const[h,c,d,f]=l;if(h!==o[0]||c!==o[1]||d!==o[2]||f!==o[3]){const m=Math.atan2(r[1],r[0]),y=Math.abs(Math.sin(m)),A=Math.abs(Math.cos(m));if(y<1e-6||A<1e-6||Math.abs(y-A)<1e-6)a=[h,c,h,f,d,c];else{const v=d-h,w=f-c,S=y*y,E=A*A,x=A*y,C=E-S,T=(w*E-v*x)/C,k=(w*x-v*S)/C;a=[h+k,c,h,c+T,d,f-T]}}}a||(a=[0,-s,0,0,e,-s],D.applyTransform(a,r,0),D.applyTransform(a,r,2),D.applyTransform(a,r,4)),a[0]/=i(this,Ea),a[1]/=i(this,xa),a[2]/=i(this,Ea),a[3]/=i(this,xa),a[4]/=i(this,Ea),a[5]/=i(this,xa),i(this,_a).set(a,i(this,Ta)*6),Et(this,Ta)._++}take(){return i(this,_a).subarray(0,i(this,Ta)*6)}};Ea=new WeakMap,xa=new WeakMap,Ca=new WeakMap,Ta=new WeakMap,_a=new WeakMap,Fc=new WeakMap,g(Qh,Fc,bt.isFloat16ArraySupported?Float16Array:Float32Array);let Mp=Qh;var wl,Qs,cf,wb;class GA{constructor({ownerDocument:t=globalThis.document,styleElement:e=null}){g(this,cf);g(this,wl,new Set);g(this,Qs,null);this._document=t,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(t){this.nativeFontFaces.add(t),this._document.fonts.add(t)}removeNativeFontFace(t){this.nativeFontFaces.delete(t),this._document.fonts.delete(t)}insertRule(t){const e=b(this,cf,wb).call(this);e.insertRule(t,e.cssRules.length)}clear(){for(const t of this.nativeFontFaces)this._document.fonts.delete(t);if(this.nativeFontFaces.clear(),i(this,wl).clear(),i(this,Qs)){const{adoptedStyleSheets:t}=this._document;t!=null&&t.includes(i(this,Qs))&&(this._document.adoptedStyleSheets=t.filter(e=>e!==i(this,Qs))),u(this,Qs,null)}this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:t,disableFontFace:e,_inspectFont:s}){if(!(!t||i(this,wl).has(t.loadedName))){if(Rt(!e,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:n,src:r,style:a}=t,o=new FontFace(n,r,a);this.addNativeFontFace(o);try{await o.load(),i(this,wl).add(n),s==null||s(t)}catch{W(`Cannot load system font: ${t.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(o)}return}it("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(t){if(t.attached||t.missingFile&&!t.systemFontInfo)return;if(t.attached=!0,t.systemFontInfo){await this.loadSystemFont(t);return}if(this.isFontLoadingAPISupported){const s=t.createNativeFontFace();if(s){this.addNativeFontFace(s);try{await s.loaded}catch(n){throw W(`Failed to load font '${s.family}': '${n}'.`),t.disableFontFace=!0,n}}return}const e=t.createFontFaceRule();if(e){if(this.insertRule(e),this.isSyncFontLoadingSupported)return;await new Promise(s=>{const n=this._queueLoadingCallback(s);this._prepareFontLoadEvent(t,n)})}}get isFontLoadingAPISupported(){var e;const t=!!((e=this._document)!=null&&e.fonts);return $(this,"isFontLoadingAPISupported",t)}get isSyncFontLoadingSupported(){return $(this,"isSyncFontLoadingSupported",vs||bt.platform.isFirefox)}_queueLoadingCallback(t){function e(){for(Rt(!n.done,"completeRequest() cannot be called twice."),n.done=!0;s.length>0&&s[0].done;){const r=s.shift();setTimeout(r.callback,0)}}const{loadingRequests:s}=this,n={done:!1,complete:e,callback:t};return s.push(n),n}get _loadTestFont(){const t=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return $(this,"_loadTestFont",t)}_prepareFontLoadEvent(t,e){function s(C,T){return C.charCodeAt(T)<<24|C.charCodeAt(T+1)<<16|C.charCodeAt(T+2)<<8|C.charCodeAt(T+3)&255}function n(C){return String.fromCharCode(C>>24&255,C>>16&255,C>>8&255,C&255)}function r(C,T,k,M){const P=C.substring(0,T),L=C.substring(T+k);return P+M+L}let a,o;const l=this._document.createElement("canvas");l.width=1,l.height=1;const h=l.getContext("2d");let c=0;function d(C,T){if(++c>30){W("Load test font never loaded."),T();return}if(h.font="30px "+C,h.fillText(".",0,20),h.getImageData(0,0,1,1).data[3]>0){T();return}setTimeout(d.bind(null,C,T))}const f=`lt${Date.now()}${this.loadTestFontId++}`;let m=this._loadTestFont;m=r(m,976,f.length,f);const A=16,v=1482184792;let w=s(m,A);for(a=0,o=f.length-3;a{x.remove(),e.complete()})}}wl=new WeakMap,Qs=new WeakMap,cf=new WeakSet,wb=function(){var e;if(i(this,Qs))return i(this,Qs);const t=((e=this._document.defaultView)==null?void 0:e.CSSStyleSheet)||globalThis.CSSStyleSheet;if(!this.styleElement&&t){const{adoptedStyleSheets:s}=this._document;if(s){const n=new t;return s.push(n),u(this,Qs,n)}}return this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement)),u(this,Qs,this.styleElement.sheet)};var mt;class $A{constructor(t,e=null,s,n){_(this,"compiledGlyphs",Object.create(null));g(this,mt);u(this,mt,t),this._inspectFont=e,s&&(this.charProcOperatorList=s),n&&Object.assign(this,n)}createNativeFontFace(){var e;if(!this.data||this.disableFontFace)return null;let t;if(!this.cssFontInfo)t=new FontFace(this.loadedName,this.data,{});else{const s={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(s.style=`oblique ${this.cssFontInfo.italicAngle}deg`),t=new FontFace(this.cssFontInfo.fontFamily,this.data,s)}return(e=this._inspectFont)==null||e.call(this,this),t}createFontFaceRule(){var s;if(!this.data||this.disableFontFace)return null;const t=`url(data:${this.mimetype};base64,${this.data.toBase64()});`;let e;if(!this.cssFontInfo)e=`@font-face {font-family:"${this.loadedName}";src:${t}}`;else{let n=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(n+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),e=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${n}src:${t}}`}return(s=this._inspectFont)==null||s.call(this,this,t),e}getPathGenerator(t,e){if(this.compiledGlyphs[e]!==void 0)return this.compiledGlyphs[e];const s=this.loadedName+"_path_"+e;let n;try{n=t.get(s)}catch(a){W(`getPathGenerator - ignoring character: "${a}".`)}const r=Hm(n==null?void 0:n.path);return this.fontExtraProperties||t.delete(s),this.compiledGlyphs[e]=r}get black(){return i(this,mt).black}get bold(){return i(this,mt).bold}get disableFontFace(){return i(this,mt).disableFontFace}set disableFontFace(t){$(this,"disableFontFace",!!t)}get fontExtraProperties(){return i(this,mt).fontExtraProperties}get isInvalidPDFjsFont(){return i(this,mt).isInvalidPDFjsFont}get isType3Font(){return i(this,mt).isType3Font}get italic(){return i(this,mt).italic}get missingFile(){return i(this,mt).missingFile}get remeasure(){return i(this,mt).remeasure}get vertical(){return i(this,mt).vertical}get ascent(){return i(this,mt).ascent}get defaultWidth(){return i(this,mt).defaultWidth}get descent(){return i(this,mt).descent}get bbox(){return i(this,mt).bbox}get fontMatrix(){return i(this,mt).fontMatrix}get fallbackName(){return i(this,mt).fallbackName}get loadedName(){return i(this,mt).loadedName}get mimetype(){return i(this,mt).mimetype}get name(){return i(this,mt).name}get data(){return i(this,mt).data}clearData(){i(this,mt).clearData()}get cssFontInfo(){return i(this,mt).cssFontInfo}get systemFontInfo(){return i(this,mt).systemFontInfo}get defaultVMetrics(){return i(this,mt).defaultVMetrics}}mt=new WeakMap;class vb{}_(vb,"strings",["fontFamily","fontWeight","italicAngle"]);class Sb{}_(Sb,"strings",["css","loadedName","baseFontName","src"]);const Ee=class Ee{};_(Ee,"bools",["black","bold","disableFontFace","fontExtraProperties","isInvalidPDFjsFont","isType3Font","italic","missingFile","remeasure","vertical"]),_(Ee,"numbers",["ascent","defaultWidth","descent"]),_(Ee,"strings",["fallbackName","loadedName","mimetype","name"]),_(Ee,"OFFSET_NUMBERS",Math.ceil(Ee.bools.length*2/8)),_(Ee,"OFFSET_BBOX",Ee.OFFSET_NUMBERS+Ee.numbers.length*8),_(Ee,"OFFSET_FONT_MATRIX",Ee.OFFSET_BBOX+1+2*4),_(Ee,"OFFSET_DEFAULT_VMETRICS",Ee.OFFSET_FONT_MATRIX+1+8*6),_(Ee,"OFFSET_STRINGS",Ee.OFFSET_DEFAULT_VMETRICS+1+2*3);let es=Ee;class Ue{}_(Ue,"KIND",0),_(Ue,"HAS_BBOX",1),_(Ue,"HAS_BACKGROUND",2),_(Ue,"SHADING_TYPE",3),_(Ue,"N_COORD",4),_(Ue,"N_COLOR",8),_(Ue,"N_STOP",12),_(Ue,"N_FIGURES",16);var Oc,df,vl,Sl,fu;class zA{constructor(t){g(this,Sl);g(this,Oc);g(this,df,new TextDecoder);g(this,vl);u(this,Oc,t),u(this,vl,new DataView(t))}get fontFamily(){return b(this,Sl,fu).call(this,0)}get fontWeight(){return b(this,Sl,fu).call(this,1)}get italicAngle(){return b(this,Sl,fu).call(this,2)}}Oc=new WeakMap,df=new WeakMap,vl=new WeakMap,Sl=new WeakSet,fu=function(t){Rt(t>s&3;return n===0?void 0:n===2},pu=function(t){return Rt(t0){A=In.slice();for(let v=0,w=h.length;vtypeof p=="object"&&Number.isInteger(p==null?void 0:p.num)&&p.num>=0&&Number.isInteger(p==null?void 0:p.gen)&&p.gen>=0,qA=p=>typeof p=="object"&&typeof(p==null?void 0:p.name)=="string",QA=vA.bind(null,Dp,qA);var an,ff;class JA{constructor(){g(this,an,new Map);g(this,ff,Promise.resolve())}postMessage(t,e){const s={data:structuredClone(t,e?{transfer:e}:null)};i(this,ff).then(()=>{for(const[n]of i(this,an))n.call(this,s)})}addEventListener(t,e,s=null){let n=null;if((s==null?void 0:s.signal)instanceof AbortSignal){const{signal:r}=s;if(r.aborted){W("LoopbackPort - cannot use an `aborted` signal.");return}const a=()=>this.removeEventListener(t,e);n=()=>r.removeEventListener("abort",a),r.addEventListener("abort",a)}i(this,an).set(e,n)}removeEventListener(t,e){const s=i(this,an).get(e);s==null||s(),i(this,an).delete(e)}terminate(){for(const[,t]of i(this,an))t==null||t();i(this,an).clear()}}an=new WeakMap,ff=new WeakMap;const Zd={DATA:1,ERROR:2},Yt={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function bm(){}function je(p){if(p instanceof Ur||p instanceof np||p instanceof ip||p instanceof Xu||p instanceof Yf)return p;switch(p instanceof Error||typeof p=="object"&&p!==null||it('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),p.name){case"AbortException":return new Ur(p.message);case"InvalidPDFException":return new np(p.message);case"PasswordException":return new ip(p.message,p.code);case"ResponseException":return new Xu(p.message,p.status,p.missing);case"UnknownErrorException":return new Yf(p.message,p.details)}return new Yf(p.message,p.toString())}var Cl,zs,Eb,xb,Cb,mu;class Fh{constructor(t,e,s){g(this,zs);g(this,Cl,new AbortController);this.sourceName=t,this.targetName=e,this.comObj=s,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),s.addEventListener("message",b(this,zs,Eb).bind(this),{signal:i(this,Cl).signal})}on(t,e){const s=this.actionHandler;if(s[t])throw new Error(`There is already an actionName called "${t}"`);s[t]=e}send(t,e,s){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},s)}sendWithPromise(t,e,s){const n=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[n]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:n,data:e},s)}catch(a){r.reject(a)}return r.promise}sendWithStream(t,e,s,n){const r=this.streamId++,a=this.sourceName,o=this.targetName,l=this.comObj;return new ReadableStream({start:h=>{const c=Promise.withResolvers();return this.streamControllers[r]={controller:h,startCall:c,pullCall:null,cancelCall:null,isClosed:!1},l.postMessage({sourceName:a,targetName:o,action:t,streamId:r,data:e,desiredSize:h.desiredSize},n),c.promise},pull:h=>{const c=Promise.withResolvers();return this.streamControllers[r].pullCall=c,l.postMessage({sourceName:a,targetName:o,stream:Yt.PULL,streamId:r,desiredSize:h.desiredSize}),c.promise},cancel:h=>{Rt(h instanceof Error,"cancel must have a valid reason");const c=Promise.withResolvers();return this.streamControllers[r].cancelCall=c,this.streamControllers[r].isClosed=!0,l.postMessage({sourceName:a,targetName:o,stream:Yt.CANCEL,streamId:r,reason:je(h)}),c.promise}},s)}destroy(){var t;(t=i(this,Cl))==null||t.abort(),u(this,Cl,null)}}Cl=new WeakMap,zs=new WeakSet,Eb=function({data:t}){if(t.targetName!==this.sourceName)return;if(t.stream){b(this,zs,Cb).call(this,t);return}if(t.callback){const s=t.callbackId,n=this.callbackCapabilities[s];if(!n)throw new Error(`Cannot resolve callback ${s}`);if(delete this.callbackCapabilities[s],t.callback===Zd.DATA)n.resolve(t.data);else if(t.callback===Zd.ERROR)n.reject(je(t.reason));else throw new Error("Unexpected callback case");return}const e=this.actionHandler[t.action];if(!e)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const s=this.sourceName,n=t.sourceName,r=this.comObj;Promise.try(e,t.data).then(function(a){r.postMessage({sourceName:s,targetName:n,callback:Zd.DATA,callbackId:t.callbackId,data:a})},function(a){r.postMessage({sourceName:s,targetName:n,callback:Zd.ERROR,callbackId:t.callbackId,reason:je(a)})});return}if(t.streamId){b(this,zs,xb).call(this,t);return}e(t.data)},xb=function(t){const e=t.streamId,s=this.sourceName,n=t.sourceName,r=this.comObj,a=this,o=this.actionHandler[t.action],l={enqueue(h,c=1,d){if(this.isCancelled)return;const f=this.desiredSize;this.desiredSize-=c,f>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),r.postMessage({sourceName:s,targetName:n,stream:Yt.ENQUEUE,streamId:e,chunk:h},d)},close(){this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:n,stream:Yt.CLOSE,streamId:e}),delete a.streamSinks[e])},error(h){Rt(h instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:n,stream:Yt.ERROR,streamId:e,reason:je(h)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:t.desiredSize,ready:null};l.sinkCapability.resolve(),l.ready=l.sinkCapability.promise,this.streamSinks[e]=l,Promise.try(o,t.data,l).then(function(){r.postMessage({sourceName:s,targetName:n,stream:Yt.START_COMPLETE,streamId:e,success:!0})},function(h){r.postMessage({sourceName:s,targetName:n,stream:Yt.START_COMPLETE,streamId:e,reason:je(h)})})},Cb=function(t){const e=t.streamId,s=this.sourceName,n=t.sourceName,r=this.comObj,a=this.streamControllers[e],o=this.streamSinks[e];switch(t.stream){case Yt.START_COMPLETE:t.success?a.startCall.resolve():a.startCall.reject(je(t.reason));break;case Yt.PULL_COMPLETE:t.success?a.pullCall.resolve():a.pullCall.reject(je(t.reason));break;case Yt.PULL:if(!o){r.postMessage({sourceName:s,targetName:n,stream:Yt.PULL_COMPLETE,streamId:e,success:!0});break}o.desiredSize<=0&&t.desiredSize>0&&o.sinkCapability.resolve(),o.desiredSize=t.desiredSize,Promise.try(o.onPull||bm).then(function(){r.postMessage({sourceName:s,targetName:n,stream:Yt.PULL_COMPLETE,streamId:e,success:!0})},function(h){r.postMessage({sourceName:s,targetName:n,stream:Yt.PULL_COMPLETE,streamId:e,reason:je(h)})});break;case Yt.ENQUEUE:if(Rt(a,"enqueue should have stream controller"),a.isClosed)break;a.controller.enqueue(t.chunk);break;case Yt.CLOSE:if(Rt(a,"close should have stream controller"),a.isClosed)break;a.isClosed=!0,a.controller.close(),b(this,zs,mu).call(this,a,e);break;case Yt.ERROR:Rt(a,"error should have stream controller"),a.controller.error(je(t.reason)),b(this,zs,mu).call(this,a,e);break;case Yt.CANCEL_COMPLETE:t.success?a.cancelCall.resolve():a.cancelCall.reject(je(t.reason)),b(this,zs,mu).call(this,a,e);break;case Yt.CANCEL:if(!o)break;const l=je(t.reason);Promise.try(o.onCancel||bm,l).then(function(){r.postMessage({sourceName:s,targetName:n,stream:Yt.CANCEL_COMPLETE,streamId:e,success:!0})},function(h){r.postMessage({sourceName:s,targetName:n,stream:Yt.CANCEL_COMPLETE,streamId:e,reason:je(h)})}),o.sinkCapability.reject(l),o.isCancelled=!0,delete this.streamSinks[e];break;default:throw new Error("Unexpected stream case")}},mu=async function(t,e){var s,n,r;await Promise.allSettled([(s=t.startCall)==null?void 0:s.promise,(n=t.pullCall)==null?void 0:n.promise,(r=t.cancelCall)==null?void 0:r.promise]),delete this.streamControllers[e]};var pf;class Tb{constructor({cMapUrl:t=null,standardFontDataUrl:e=null,wasmUrl:s=null}){g(this,pf,Object.freeze({cMapUrl:"CMap",standardFontDataUrl:"font",wasmUrl:"wasm"}));this.cMapUrl=t,this.standardFontDataUrl=e,this.wasmUrl=s}async fetch({kind:t,filename:e}){switch(t){case"cMapUrl":case"standardFontDataUrl":case"wasmUrl":break;default:it(`Not implemented: ${t}`)}const s=this[t];if(!s)throw new Error(`Ensure that the \`${t}\` API parameter is provided.`);const n=`${s}${e}`;return this._fetch(n,t).catch(r=>{throw new Error(`Unable to load ${i(this,pf)[t]} data at: ${n}`)})}async _fetch(t,e){it("Abstract method `_fetch` called.")}}pf=new WeakMap;class ym extends Tb{async _fetch(t,e){const s=e==="cMapUrl"&&!t.endsWith(".bcmap")?"text":"bytes",n=await Gg(t,s);return n instanceof Uint8Array?n:Lf(n)}}var Nc;class _b{constructor({enableHWA:t=!1}){g(this,Nc,!1);u(this,Nc,t)}create(t,e){if(t<=0||e<=0)throw new Error("Invalid canvas size");const s=this._createCanvas(t,e);return{canvas:s,context:s.getContext("2d",{willReadFrequently:!i(this,Nc)})}}reset({canvas:t},e,s){if(!t)throw new Error("Canvas is not specified");if(e<=0||s<=0)throw new Error("Invalid canvas size");t.width=e,t.height=s}destroy(t){const{canvas:e}=t;if(!e)throw new Error("Canvas is not specified");e.width=e.height=0,t.canvas=null,t.context=null}_createCanvas(t,e){it("Abstract method `_createCanvas` called.")}}Nc=new WeakMap;class ZA extends _b{constructor({ownerDocument:t=globalThis.document,enableHWA:e=!1}){super({enableHWA:e}),this._document=t}_createCanvas(t,e){const s=this._document.createElement("canvas");return s.width=t,s.height=e,s}}class kb{addFilter(t){return"none"}addHCMFilter(t,e){return"none"}addAlphaFilter(t){return"none"}addLuminosityFilter(t){return"none"}addKnockoutFilter(t=0){return"none"}addHighlightHCMFilter(t,e,s,n,r){return"none"}addSelectionHCMFilter(t,e){return"none"}addSelectionFilter(){return"none"}createSelectionStyle(t=null){return null}destroy(t=!1){}}var Pa,Tl,on,xi,ne,Da,dr,I,ee,Oh,di,bu,jr,Mb,Ip,Vr,Nh,Bh,Lp,Hh,Pb,Rp,Db;class t0 extends kb{constructor({docId:e,ownerDocument:s=globalThis.document}){super();g(this,I);g(this,Pa);g(this,Tl);g(this,on);g(this,xi);g(this,ne);g(this,Da);g(this,dr,0);u(this,xi,e),u(this,ne,s)}addFilter(e){if(!e)return"none";let s=i(this,I,ee).get(e);if(s)return s;const[n,r,a]=b(this,I,bu).call(this,e),o=e.length===1?n:`${n}${r}${a}`;if(s=i(this,I,ee).get(o),s)return i(this,I,ee).set(e,s),s;const l=`g_${i(this,xi)}_transfer_map_${Et(this,dr)._++}`,h=b(this,I,jr).call(this,l);i(this,I,ee).set(e,h),i(this,I,ee).set(o,h);const c=b(this,I,Vr).call(this,l);return b(this,I,Bh).call(this,n,r,a,c),h}addHCMFilter(e,s){var y;const n=`${e}-${s}`,r="base";let a=i(this,I,Oh).get(r);if((a==null?void 0:a.key)===n||(a?((y=a.filter)==null||y.remove(),a.key=n,a.url="none",a.filter=null):(a={key:n,url:"none",filter:null},i(this,I,Oh).set(r,a)),!e||!s))return a.url;const o=b(this,I,Hh).call(this,e);e=D.makeHexColor(...o);const l=b(this,I,Hh).call(this,s);if(s=D.makeHexColor(...l),b(this,I,Rp).call(this),e==="#000000"&&s==="#ffffff"||e===s)return a.url;const h=new Array(256);for(let A=0;A<=255;A++){const v=A/255;h[A]=v<=.03928?v/12.92:((v+.055)/1.055)**2.4}const c=h.join(","),d=`g_${i(this,xi)}_hcm_filter`,f=a.filter=b(this,I,Vr).call(this,d);b(this,I,Bh).call(this,c,c,c,f),b(this,I,Ip).call(this,f);const m=(A,v)=>{const w=o[A]/255,S=l[A]/255,E=new Array(v+1);for(let x=0;x<=v;x++)E[x]=w+x/v*(S-w);return E.join(",")};return b(this,I,Bh).call(this,m(0,5),m(1,5),m(2,5),f),a.url=b(this,I,jr).call(this,d),a.url}addSelectionHCMFilter(e,s){return this.addHighlightHCMFilter("selection",e,s,"HighlightText","Highlight")}addSelectionFilter(){return this.addHighlightHCMFilter("selection_default","black","white","HighlightText","Highlight")}createSelectionStyle(e=null){const s=e?this.addSelectionHCMFilter(e.foreground,e.background):this.addSelectionFilter();return s==="none"||!bt.platform.isFirefox?null:{"backdrop-filter":s,"background-color":"transparent"}}addAlphaFilter(e){let s=i(this,I,ee).get(e);if(s)return s;const[n]=b(this,I,bu).call(this,[e]),r=`alpha_${n}`;if(s=i(this,I,ee).get(r),s)return i(this,I,ee).set(e,s),s;const a=`g_${i(this,xi)}_alpha_map_${Et(this,dr)._++}`,o=b(this,I,jr).call(this,a);i(this,I,ee).set(e,o),i(this,I,ee).set(r,o);const l=b(this,I,Vr).call(this,a);return b(this,I,Lp).call(this,n,l),o}addLuminosityFilter(e){let s=i(this,I,ee).get(e||"luminosity");if(s)return s;let n,r;if(e?([n]=b(this,I,bu).call(this,[e]),r=`luminosity_${n}`):r="luminosity",s=i(this,I,ee).get(r),s)return i(this,I,ee).set(e,s),s;const a=`g_${i(this,xi)}_luminosity_map_${Et(this,dr)._++}`,o=b(this,I,jr).call(this,a);i(this,I,ee).set(e,o),i(this,I,ee).set(r,o);const l=b(this,I,Vr).call(this,a);return b(this,I,Mb).call(this,l),e&&b(this,I,Lp).call(this,n,l),o}addKnockoutFilter(e=0){const s=e>0?Math.min(1/e,1e6):1e6,n=`knockout_${s}`,r=i(this,I,ee).get(n);if(r)return r;const a=`g_${i(this,xi)}_knockout_filter_${Et(this,dr)._++}`,o=b(this,I,jr).call(this,a);i(this,I,ee).set(n,o);const l=b(this,I,Vr).call(this,a),h=i(this,ne).createElementNS(He,"feComponentTransfer");l.append(h);const c=i(this,ne).createElementNS(He,"feFuncA");return c.setAttribute("type","linear"),c.setAttribute("slope",`${s}`),c.setAttribute("intercept","0"),h.append(c),o}addHighlightHCMFilter(e,s,n,r,a){var S;const o=`${s}-${n}-${r}-${a}`;let l=i(this,I,Oh).get(e);if((l==null?void 0:l.key)===o||(l?((S=l.filter)==null||S.remove(),l.key=o,l.url="none",l.filter=null):(l={key:o,url:"none",filter:null},i(this,I,Oh).set(e,l)),!s||!n))return l.url;const[h,c]=[s,n].map(b(this,I,Hh).bind(this));let d=Math.round(.2126*h[0]+.7152*h[1]+.0722*h[2]),f=Math.round(.2126*c[0]+.7152*c[1]+.0722*c[2]),[m,y]=[r,a].map(b(this,I,Db).bind(this));f{const T=new Array(256),k=(f-d)/C,M=E/255,P=(x-E)/(255*C);let L=0;for(let O=0;O<=C;O++){const Q=Math.round(d+O*k),J=M+O*P;for(let q=L;q<=Q;q++)T[q]=J;L=Q+1}for(let O=L;O<256;O++)T[O]=T[L-1];return T.join(",")},v=`g_${i(this,xi)}_hcm_${e}_filter`,w=l.filter=b(this,I,Vr).call(this,v);return b(this,I,Ip).call(this,w),b(this,I,Bh).call(this,A(m[0],y[0],5),A(m[1],y[1],5),A(m[2],y[2],5),w),l.url=b(this,I,jr).call(this,v),l.url}destroy(e=!1){var s,n,r,a;e&&((s=i(this,Da))!=null&&s.size)||((n=i(this,on))==null||n.parentNode.parentNode.remove(),u(this,on,null),(r=i(this,Tl))==null||r.clear(),u(this,Tl,null),(a=i(this,Da))==null||a.clear(),u(this,Da,null),u(this,dr,0))}}Pa=new WeakMap,Tl=new WeakMap,on=new WeakMap,xi=new WeakMap,ne=new WeakMap,Da=new WeakMap,dr=new WeakMap,I=new WeakSet,ee=function(){return i(this,Tl)||u(this,Tl,new Map)},Oh=function(){return i(this,Da)||u(this,Da,new Map)},di=function(){if(!i(this,on)){const e=i(this,ne).createElement("div"),{style:s}=e;s.colorScheme="only light",s.visibility="hidden",s.contain="strict",s.width=s.height=0,s.position="absolute",s.top=s.left=0,s.zIndex=-1;const n=i(this,ne).createElementNS(He,"svg");n.setAttribute("width",0),n.setAttribute("height",0),u(this,on,i(this,ne).createElementNS(He,"defs")),e.append(n),n.append(i(this,on)),i(this,ne).body.append(e)}return i(this,on)},bu=function(e){if(e.length===1){const h=e[0],c=new Array(256);for(let f=0;f<256;f++)c[f]=h[f]/255;const d=c.join(",");return[d,d,d]}const[s,n,r]=e,a=new Array(256),o=new Array(256),l=new Array(256);for(let h=0;h<256;h++)a[h]=s[h]/255,o[h]=n[h]/255,l[h]=r[h]/255;return[a.join(","),o.join(","),l.join(",")]},jr=function(e){if(i(this,Pa)===void 0){u(this,Pa,"");const s=i(this,ne).URL;s!==i(this,ne).baseURI&&(Rf(s)?W('#createUrl: ignore "data:"-URL for performance reasons.'):u(this,Pa,Om(s,"")))}return`url(${i(this,Pa)}#${e})`},Mb=function(e){const s=i(this,ne).createElementNS(He,"feColorMatrix");s.setAttribute("type","matrix"),s.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),e.append(s)},Ip=function(e){const s=i(this,ne).createElementNS(He,"feColorMatrix");s.setAttribute("type","matrix"),s.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),e.append(s)},Vr=function(e){const s=i(this,ne).createElementNS(He,"filter");return s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("id",e),i(this,I,di).append(s),s},Nh=function(e,s,n){const r=i(this,ne).createElementNS(He,s);r.setAttribute("type","discrete"),r.setAttribute("tableValues",n),e.append(r)},Bh=function(e,s,n,r){const a=i(this,ne).createElementNS(He,"feComponentTransfer");r.append(a),b(this,I,Nh).call(this,a,"feFuncR",e),b(this,I,Nh).call(this,a,"feFuncG",s),b(this,I,Nh).call(this,a,"feFuncB",n)},Lp=function(e,s){const n=i(this,ne).createElementNS(He,"feComponentTransfer");s.append(n),b(this,I,Nh).call(this,n,"feFuncA",e)},Hh=function(e){return i(this,I,di).style.color="CanvasText",i(this,I,di).style.backgroundColor=e,Kd(getComputedStyle(i(this,I,di)).getPropertyValue("background-color"))},Pb=function(e){return i(this,I,di).style.color="CanvasText",i(this,I,di).style.backgroundColor=e,Yd(getComputedStyle(i(this,I,di)).getPropertyValue("background-color"))},Rp=function(){i(this,I,di).style.color="",i(this,I,di).style.backgroundColor=""},Db=function(e){const[s,n,r,a]=b(this,I,Pb).call(this,e);if(a===1)return[s,n,r];const[o,l,h]=b(this,I,Hh).call(this,"Canvas");return[Qf(s,o,a),Qf(n,l,a),Qf(r,h,a)]};function Qf(p,t,e){return Math.round(e*p+(1-e)*t)}vs&&W("Please use the `legacy` build in Node.js environments.");async function e0(p){const e=await process.getBuiltinModule("fs/promises").readFile(p);return new Uint8Array(e)}class s0 extends kb{}class i0 extends _b{_createCanvas(t,e){return process.getBuiltinModule("module").createRequire(import.meta.url)("@napi-rs/canvas").createCanvas(t,e)}}class n0 extends Tb{async _fetch(t,e){return e0(t)}}function Ib({src:p,srcPos:t=0,dest:e,width:s,height:n,nonBlackColor:r=4294967295,inverseDecode:a=!1}){const o=bt.isLittleEndian?4278190080:255,[l,h]=a?[r,o]:[o,r],c=s>>3,d=s&7,f=l^h,m=p.length;e=new Uint32Array(e.buffer);let y=0;for(let A=0;A>7&1)&f,e[y+1]=l^-(S>>6&1)&f,e[y+2]=l^-(S>>5&1)&f,e[y+3]=l^-(S>>4&1)&f,e[y+4]=l^-(S>>3&1)&f,e[y+5]=l^-(S>>2&1)&f,e[y+6]=l^-(S>>1&1)&f,e[y+7]=l^-(S&1)&f}if(d===0)continue;const v=t>7-w&1)&f}return{srcPos:t,destPos:y}}function r0({src:p,srcPos:t=0,dest:e,destPos:s=0,width:n,height:r}){let a=0;const o=n*r*3,l=o>>2,h=new Uint32Array(p.buffer,t,l),c=bt.isLittleEndian?4278190080:255;if(bt.isLittleEndian){for(;a>>24|f<<8|c,e[s+2]=f>>>16|m<<16|c,e[s+3]=m>>>8|c}for(let d=a*4,f=t+o;d>>8|c,e[s+2]=f<<16|m>>>16|c,e[s+3]=m<<8|c}for(let d=a*4,f=t+o;d u : Uniforms; - -struct VertexInput { - @location(0) position : vec2, - @location(1) color : vec4, -}; - -struct VertexOutput { - @builtin(position) position : vec4, - @location(0) color : vec3, -}; - -@vertex -fn vs_main(in : VertexInput) -> VertexOutput { - var out : VertexOutput; - let cx = (in.position.x + u.offsetX) * u.scaleX; - let cy = (in.position.y + u.offsetY) * u.scaleY; - out.position = vec4( - ((cx + u.borderSize) / u.paddedWidth) * 2.0 - 1.0, - 1.0 - ((cy + u.borderSize) / u.paddedHeight) * 2.0, - 0.0, - 1.0 - ); - out.color = in.color.rgb; - return out; -} - -@fragment -fn fs_main(in : VertexOutput) -> @location(0) vec4 { - return vec4(in.color, 1.0); -} -`;var gf,ln,Ia,_l,mf,Lb;class o0{constructor(){g(this,mf);g(this,gf,null);g(this,ln,null);g(this,Ia,null);g(this,_l,null)}init(){return i(this,gf)||u(this,gf,b(this,mf,Lb).call(this))}get isReady(){return i(this,ln)!==null}loadMeshShader(){if(!i(this,ln)||i(this,Ia))return;const t=i(this,ln).createShaderModule({code:a0});u(this,Ia,i(this,ln).createRenderPipeline({layout:"auto",vertex:{module:t,entryPoint:"vs_main",buffers:[{arrayStride:2*4,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"unorm8x4"}]}]},fragment:{module:t,entryPoint:"fs_main",targets:[{format:i(this,_l)}]},primitive:{topology:"triangle-list"}}))}draw(t,e,s,n,r,a,o,l){this.loadMeshShader();const h=i(this,ln),{offsetX:c,offsetY:d,scaleX:f,scaleY:m}=n,y=h.createBuffer({size:Math.max(t.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});t.byteLength>0&&h.queue.writeBuffer(y,0,t);const A=h.createBuffer({size:Math.max(e.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});e.byteLength>0&&h.queue.writeBuffer(A,0,e);const v=h.createBuffer({size:8*4,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});h.queue.writeBuffer(v,0,new Float32Array([c,d,f,m,a,o,l,0]));const w=h.createBindGroup({layout:i(this,Ia).getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:v}}]}),S=new OffscreenCanvas(a,o),E=S.getContext("webgpu");E.configure({device:h,format:i(this,_l),alphaMode:r?"opaque":"premultiplied"});const x=r?{r:r[0]/255,g:r[1]/255,b:r[2]/255,a:1}:{r:0,g:0,b:0,a:0},C=h.createCommandEncoder(),T=C.beginRenderPass({colorAttachments:[{view:E.getCurrentTexture().createView(),clearValue:x,loadOp:"clear",storeOp:"store"}]});return s>0&&(T.setPipeline(i(this,Ia)),T.setBindGroup(0,w),T.setVertexBuffer(0,y),T.setVertexBuffer(1,A),T.draw(s)),T.end(),h.queue.submit([C.finish()]),y.destroy(),A.destroy(),v.destroy(),S.transferToImageBitmap()}}gf=new WeakMap,ln=new WeakMap,Ia=new WeakMap,_l=new WeakMap,mf=new WeakSet,Lb=async function(){var t;if(!((t=globalThis.navigator)!=null&&t.gpu))return!1;try{const e=await navigator.gpu.requestAdapter();return e?(u(this,_l,navigator.gpu.getPreferredCanvasFormat()),u(this,ln,await e.requestDevice()),!0):!1}catch{return!1}};const Ff=new o0;function l0(){return Ff.init()}function h0(){return Ff.isReady}function c0(){Ff.loadMeshShader()}function d0(p,t,e,s,n,r,a,o){return Ff.draw(p,t,e,s,n,r,a,o)}const Ae={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function yu(p,t){if(!t)return;const e=t[2]-t[0],s=t[3]-t[1],n=new Path2D;n.rect(t[0],t[1],e,s),p.clip(n)}class Vg{constructor(){_(this,"matrix",null)}isModifyingCurrentTransform(){return!1}getPattern(){it("Abstract method `getPattern` called.")}}class u0 extends Vg{constructor(t){super(),this._type=t[1],this._bbox=t[2],this._colorStops=t[3],this._p0=t[4],this._p1=t[5],this._r0=t[6],this._r1=t[7]}isOriginBased(){return this._p0[0]===0&&this._p0[1]===0&&(!this.isRadial()||this._p1[0]===0&&this._p1[1]===0)}isRadial(){return this._type==="radial"}areConic(){if(!this.isRadial())return!1;const t=Math.hypot(this._p0[0]-this._p1[0],this._p0[1]-this._p1[1]);return t+this._r1>this._r0&&t+this._r0>this._r1}_createGradient(t,e=null){let s,n=this._p0,r=this._p1;if(e&&(n=n.slice(),r=r.slice(),D.applyTransform(n,e),D.applyTransform(r,e)),this._type==="axial")s=t.createLinearGradient(n[0],n[1],r[0],r[1]);else if(this._type==="radial"){let a=this._r0,o=this._r1;if(e){const l=new Float32Array(2);D.singularValueDecompose2dScale(e,l),a*=l[0],o*=l[0]}s=t.createRadialGradient(n[0],n[1],a,r[0],r[1],o)}for(const a of this._colorStops)s.addColorStop(a[0],a[1]);return s}_createReversedGradient(t,e=null){let s=this._p1,n=this._p0;e&&(s=s.slice(),n=n.slice(),D.applyTransform(s,e),D.applyTransform(n,e));let r=this._r1,a=this._r0;if(e){const h=new Float32Array(2);D.singularValueDecompose2dScale(e,h),r*=h[0],a*=h[0]}const o=t.createRadialGradient(s[0],s[1],r,n[0],n[1],a),l=this._colorStops.map(([h,c])=>[1-h,c]).reverse();for(const[h,c]of l)o.addColorStop(h,c);return o}getPattern(t,e,s,n){let r;if(n===Ae.STROKE||n===Ae.FILL){if(this.isOriginBased()){let f=D.transform(s,e.baseTransform);this.matrix&&(f=D.transform(f,this.matrix));const m=.001,y=Math.hypot(f[0],f[1]),A=Math.hypot(f[2],f[3]),v=(f[0]*f[2]+f[1]*f[3])/(y*A);if(Math.abs(v)l[s*2+1]&&(f=e,e=s,s=f,f=r,r=a,a=f),l[s*2+1]>l[n*2+1]&&(f=s,s=n,n=f,f=a,a=o,o=f),l[e*2+1]>l[s*2+1]&&(f=e,e=s,s=f,f=r,r=a,a=f);const m=(l[e*2]+t.offsetX)*t.scaleX,y=(l[e*2+1]+t.offsetY)*t.scaleY,A=(l[s*2]+t.offsetX)*t.scaleX,v=(l[s*2+1]+t.offsetY)*t.scaleY,w=(l[n*2]+t.offsetX)*t.scaleX,S=(l[n*2+1]+t.offsetY)*t.scaleY;if(y>=S)return;const E=h[r*4],x=h[r*4+1],C=h[r*4+2],T=h[a*4],k=h[a*4+1],M=h[a*4+2],P=h[o*4],L=h[o*4+1],O=h[o*4+2],Q=Math.round(y),J=Math.round(S);let q,Ft,F,U,Gt,$t,ts,ce;for(let Xt=Q;Xt<=J;Xt++){if(XtS?wt=1:v===S?wt=0:wt=(v-Xt)/(v-S),q=A-(A-w)*wt,Ft=T-(T-P)*wt,F=k-(k-L)*wt,U=M-(M-O)*wt}let dt;XtS?dt=1:dt=(y-Xt)/(y-S),Gt=m-(m-w)*dt,$t=E-(E-P)*dt,ts=x-(x-L)*dt,ce=C-(C-O)*dt;const li=Math.round(Math.min(q,Gt)),xh=Math.round(Math.max(q,Gt));let te=d*Xt+li*4;for(let wt=li;wt<=xh;wt++)dt=(q-wt)/(q-Gt),dt<0?dt=0:dt>1&&(dt=1),c[te++]=Ft-(Ft-$t)*dt|0,c[te++]=F-(F-ts)*dt|0,c[te++]=U-(U-ce)*dt|0,c[te++]=255}}class p0 extends Vg{constructor(t){super(),this._posData=t[2],this._colData=t[3],this._vertexCount=t[4],this._bounds=t[5],this._bbox=t[6],this._background=t[7],c0()}_createMeshCanvas(t,e,s){const o=Math.floor(this._bounds[0]),l=Math.floor(this._bounds[1]),h=Math.ceil(this._bounds[2])-o,c=Math.ceil(this._bounds[3])-l,d=Math.min(Math.ceil(Math.abs(h*t[0]*1.1)),3e3)||1,f=Math.min(Math.ceil(Math.abs(c*t[1]*1.1)),3e3)||1,m=h?h/d:1,y=c?c/f:1,A={coords:this._posData,colors:this._colData,offsetX:-o,offsetY:-l,scaleX:1/m,scaleY:1/y},v=d+2*2,w=f+2*2,S=s.create(v,w);if(h0()&&this._vertexCount>48)S.context.drawImage(d0(this._posData,this._colData,this._vertexCount,A,e,v,w,2),0,0);else{const E=S.context.createImageData(d,f);if(e){const x=E.data;for(let C=0,T=x.length;Ch+1e-6||e>c+1e-6)return null;const d=Math.floor((s-o)/h)+1,f=Math.ceil((s+t-r)/h)-1,m=Math.floor((n-l)/c)+1,y=Math.ceil((n+e-a)/c)-1;return f<=d&&y<=m?[d,m]:null}updatePatternDims(t,e){const s=D.inverseTransform(this.patternBaseMatrix),n=[t[0],t[1]],r=[t[2],t[3]];D.applyTransform(n,s),D.applyTransform(r,s),e[0]=Math.abs(r[0]-n[0]),e[1]=Math.abs(r[1]-n[1]),e[2]=Math.min(n[0],r[0]),e[3]=Math.min(n[1],r[1])}_renderTileCanvas(t,e,s,n){var f,m;const[r,a,o,l]=this.bbox,h=t.canvasFactory.create(s.size,n.size),c=h.context,d=this.canvasGraphicsFactory.createCanvasGraphics(c,e);return d.groupLevel=t.groupLevel,this.setFillAndStrokeStyleToContext(d,this.paintType,this.color),c.translate(-s.scale*r,-n.scale*a),d.transform(0,s.scale,0,0,n.scale,0,0),c.save(),(f=d.dependencyTracker)==null||f.save(),this.clipBbox(d,r,a,o,l),d.baseTransform=St(d.ctx),d.executeOperatorList(this.operatorList),d.endDrawing(),(m=d.dependencyTracker)==null||m.restore(),c.restore(),h}_getCombinedScales(){const t=new Float32Array(2);D.singularValueDecompose2dScale(this.matrix,t);const[e,s]=t;return D.singularValueDecompose2dScale(this.baseTransform,t),[e*t[0],s*t[1]]}drawPattern(t,e,s=!1,[n,r],a){const[o,l,h,c]=this.bbox,d=t.dependencyTracker;if(d&&(t.dependencyTracker=new sc(d,a)),t.save(),s?t.ctx.clip(e,"evenodd"):t.ctx.clip(e),t.ctx.setTransform(...this.patternBaseMatrix),t.ctx.translate(n*this.xstep,r*this.ystep),this.needsIsolation||t.ctx.globalAlpha!==1||t.ctx.globalCompositeOperation!=="source-over"||t.inSMaskMode){const f=h-o,m=c-l,[y,A]=this._getCombinedScales(),v=this.getSizeAndScale(f,this.ctx.canvas.width,y),w=this.getSizeAndScale(m,this.ctx.canvas.height,A),S=this._renderTileCanvas(t,a,v,w);t.ctx.drawImage(S.canvas,o,l,f,m),t.canvasFactory.destroy(S)}else this.setFillAndStrokeStyleToContext(t,this.paintType,this.color),this.clipBbox(t,o,l,h,c),t.baseTransformStack.push(t.baseTransform),t.baseTransform=St(t.ctx),t.executeOperatorList(this.operatorList),t.baseTransform=t.baseTransformStack.pop();t.restore(),d&&(t.dependencyTracker=d)}createPatternCanvas(t,e){const[s,n,r,a]=this.bbox,o=r-s,l=a-n;let{xstep:h,ystep:c}=this;h=Math.abs(h),c=Math.abs(c),If("TilingType: "+this.tilingType);const[d,f]=this._getCombinedScales();let m=o,y=l,A=!1,v=!1;Math.ceil(h*d)>=Math.ceil(o*d)?m=h:A=!0,Math.ceil(c*f)>=Math.ceil(l*f)?y=c:v=!0;const w=this.getSizeAndScale(m,this.ctx.canvas.width,d),S=this.getSizeAndScale(y,this.ctx.canvas.height,f),E=this._renderTileCanvas(t,e,w,S);if(A||v){const x=E.canvas;A&&(m=h),v&&(y=c);const C=this.getSizeAndScale(m,this.ctx.canvas.width,d),T=this.getSizeAndScale(y,this.ctx.canvas.height,f),k=C.size,M=T.size,P=t.canvasFactory.create(k,M),L=P.context,O=A?Math.floor(o/h):0,Q=v?Math.floor(l/c):0;for(let J=0;J<=O;J++)for(let q=0;q<=Q;q++)L.drawImage(x,k*J,M*q,k,M,0,0,k,M);return t.canvasFactory.destroy(E),{canvas:P.canvas,canvasEntry:P,scaleX:C.scale,scaleY:T.scale,offsetX:s,offsetY:n}}return{canvas:E.canvas,canvasEntry:E,scaleX:w.scale,scaleY:S.scale,offsetX:s,offsetY:n}}getSizeAndScale(t,e,s){const n=Math.max(bf.MAX_PATTERN_SIZE,e);let r=Math.ceil(t*s);return r>=n?r=n:s=r/t,{scale:s,size:r}}clipBbox(t,e,s,n,r){const a=n-e,o=r-s,l=new Path2D;l.rect(e,s,a,o),D.axialAlignedBoundingBox([e,s,n,r],St(t.ctx),t.current.minMax),t.ctx.clip(l),t.current.updateClipFromPath()}setFillAndStrokeStyleToContext(t,e,s){const n=t.ctx,r=t.current;switch(r.patternFill=r.patternStroke=!1,e){case Am.COLORED:const{fillStyle:a,strokeStyle:o}=this.ctx;n.fillStyle=r.fillColor=a,n.strokeStyle=r.strokeColor=o;break;case Am.UNCOLORED:n.fillStyle=n.strokeStyle=s,r.fillColor=r.strokeColor=s;break;default:throw new bA(`Unsupported paint type: ${e}`)}}isModifyingCurrentTransform(){return!1}getPattern(t,e,s,n,r){const a=n!==Ae.SHADING?D.transform(s,this.patternBaseMatrix):s,o=this.createPatternCanvas(e,r);let l=new DOMMatrix(a);l=l.translate(o.offsetX,o.offsetY),l=l.scale(1/o.scaleX,1/o.scaleY);const h=t.createPattern(o.canvas,"repeat");return e.canvasFactory.destroy(o.canvasEntry),h.setTransform(l),h}};_(bf,"MAX_PATTERN_SIZE",3e3);let qh=bf;const b0=16,y0=100,A0=15,wm=10,Ze=16,Jf=new DOMMatrix,Ss=new Float32Array(2);function vm(p,t){if(p._removeMirroring)throw new Error("Context is already forwarding operations.");const e=new Map;for(const s of["save","restore","rotate","scale","translate","transform","setTransform","resetTransform","clip","moveTo","lineTo","bezierCurveTo","quadraticCurveTo","arc","arcTo","ellipse","rect","roundRect","closePath","beginPath"]){const n=p[s];typeof n!="function"||typeof t[s]!="function"||(e.set(s,n),p[s]=function(...r){return t[s](...r),n.apply(this,r)})}p._removeMirroring=()=>{for(const[s,n]of e)p[s]=n;delete p._removeMirroring}}function tu(p,t,e,s,n,r,a,o,l,h){const[c,d,f,m,y,A]=St(p);if(d===0&&f===0){const S=a*c+y,E=Math.round(S),x=o*m+A,C=Math.round(x),T=(a+l)*c+y,k=Math.abs(Math.round(T)-E)||1,M=(o+h)*m+A,P=Math.abs(Math.round(M)-C)||1;return p.setTransform(Math.sign(c),0,0,Math.sign(m),E,C),p.drawImage(t,e,s,n,r,0,0,k,P),p.setTransform(c,d,f,m,y,A),[k,P]}if(c===0&&m===0){const S=o*f+y,E=Math.round(S),x=a*d+A,C=Math.round(x),T=(o+h)*f+y,k=Math.abs(Math.round(T)-E)||1,M=(a+l)*d+A,P=Math.abs(Math.round(M)-C)||1;return p.setTransform(0,Math.sign(d),Math.sign(f),0,E,C),p.drawImage(t,e,s,n,r,0,0,P,k),p.setTransform(c,d,f,m,y,A),[P,k]}p.drawImage(t,e,s,n,r,a,o,l,h);const v=Math.hypot(c,d),w=Math.hypot(f,m);return[v*l,w*h]}class Sm{constructor(t,e){_(this,"alphaIsShape",!1);_(this,"fontSize",0);_(this,"fontSizeScale",1);_(this,"textMatrix",null);_(this,"textMatrixScale",1);_(this,"fontMatrix",ep);_(this,"leading",0);_(this,"x",0);_(this,"y",0);_(this,"lineX",0);_(this,"lineY",0);_(this,"charSpacing",0);_(this,"wordSpacing",0);_(this,"textHScale",1);_(this,"textRenderingMode",Qt.FILL);_(this,"textRise",0);_(this,"fillColor","#000000");_(this,"strokeColor","#000000");_(this,"tilingPatternDims",null);_(this,"patternFill",!1);_(this,"patternStroke",!1);_(this,"fillAlpha",1);_(this,"strokeAlpha",1);_(this,"lineWidth",1);_(this,"activeSMask",null);_(this,"transferMaps","none");_(this,"minMax",Zr.slice());this.clipBox=new Float32Array([0,0,t,e])}clone(){var e;const t=Object.create(this);return t.clipBox=this.clipBox.slice(),t.minMax=this.minMax.slice(),t.tilingPatternDims=(e=this.tilingPatternDims)==null?void 0:e.slice(),t}getPathBoundingBox(t=Ae.FILL,e=null){const s=this.minMax.slice();if(t===Ae.STROKE){e||it("Stroke bounding box must include transform."),D.singularValueDecompose2dScale(e,Ss);const n=Ss[0]*this.lineWidth/2,r=Ss[1]*this.lineWidth/2;s[0]-=n,s[1]-=r,s[2]+=n,s[3]+=r}return s}updateClipFromPath(){const t=D.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(t||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(t){this.clipBox.set(t,0),this.minMax.set(Zr,0)}getClippedPathBoundingBox(t=Ae.FILL,e=null){return D.intersect(this.clipBox,this.getPathBoundingBox(t,e))}}function Em(p,t){const{width:e,height:s,kind:n}=t,r=s%Ze,a=(s-r)/Ze,o=r===0?a:a+1,l=p.createImageData(e,Ze);let h=0;const c=t.data,d=l.data;let f;if(n===au.GRAYSCALE_1BPP)for(f=0;fwm&&typeof s=="function",d=c?Date.now()+A0:0;let f=0;const m=this.commonObjs,y=this.objs;let A,v;for(;;){if(n!==void 0){if(l===n.nextBreakPoint)return n.breakIt(l,s),l;if(n.shouldSkip(l)){if(++l===h)return l;continue}}if(!r||r(l))if(A=o[l],v=a[l]??null,A!==fi.dependency)v===null?this[A](l):this[A](l,...v);else for(const S of v){(w=this.dependencyTracker)==null||w.recordNamedData(S,l);const E=S.startsWith("g_")?m:y;if(!E.has(S))return E.get(S,s),l}if(l++,l===h)return l;if(c&&++f>wm){if(Date.now()>d)return s(),l;f=0}}}endDrawing(){b(this,H,Fp).call(this);for(const t of this.smaskGroupCanvases)this.canvasFactory.destroy(t);this.smaskGroupCanvases.length=0,this._clearPreparedSMask(),this.tempSMask=null,this.smaskStack.length=0;for(const t of i(this,Ci))b(this,H,Au).call(this,t);i(this,Ci).length=0,u(this,La,null),u(this,Ra,null),u(this,Fa,null),u(this,Oa,null),u(this,Na,1),u(this,Ha,null),u(this,ur,0),u(this,as,0),this.cachedPatterns.clear();for(const t of this._cachedBitmapsMap.values()){for(const e of t.values())typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear(),b(this,H,Op).call(this)}_scaleImage(t,e){const s=t.width??t.displayWidth,n=t.height??t.displayHeight,r=Math.max(Math.hypot(e[0],e[1]),1),a=Math.max(Math.hypot(e[2],e[3]),1),o=[];let l=r,h=a,c=s,d=n;for(;l>2&&c>1||h>2&&d>1;){let w=c,S=d;l>2&&c>1&&(w=Math.ceil(c/2),l/=c/w),h>2&&d>1&&(S=Math.ceil(d/2),h/=d/S),o.push({newWidth:w,newHeight:S}),c=w,d=S}if(o.length===0)return{img:t,paintWidth:s,paintHeight:n,tmpCanvas:null};if(o.length===1){const{newWidth:w,newHeight:S}=o[0],E=this.canvasFactory.create(w,S);return E.context.drawImage(t,0,0,s,n,0,0,w,S),{img:E.canvas,paintWidth:w,paintHeight:S,tmpCanvas:E}}let f=this.canvasFactory.create(1,1),m=this.canvasFactory.create(1,1),y=s,A=n,v=t;for(const{newWidth:w,newHeight:S}of o)this.canvasFactory.reset(m,w,S),m.context.drawImage(v,0,0,y,A,0,0,w,S),[f,m]=[m,f],v=f.canvas,y=w,A=S;return this.canvasFactory.destroy(m),{img:f.canvas,paintWidth:y,paintHeight:A,tmpCanvas:f}}_createMaskCanvas(t,e){var O,Q;const s=this.ctx,{width:n,height:r}=e,a=this.current.fillColor,o=this.current.patternFill,l=St(s);let h,c,d,f;if((e.bitmap||e.data)&&e.count>1){const J=e.bitmap||e.data.buffer;c=JSON.stringify(o?l:[l.slice(0,4),a]),h=this._cachedBitmapsMap.getOrInsertComputed(J,Hg);const q=h.get(c);if(q&&!o){const Ft=Math.round(Math.min(l[0],l[2])+l[4]),F=Math.round(Math.min(l[1],l[3])+l[5]);return(O=this.dependencyTracker)==null||O.recordDependencies(t,Ts.transformAndFill),{canvas:q,offsetX:Ft,offsetY:F}}d=q}d||(f=this.canvasFactory.create(n,r),xm(f.context,e));let m=D.transform(l,[1/n,0,0,-1/r,0,0]);m=D.transform(m,[1,0,0,1,0,-r]);const y=Zr.slice();D.axialAlignedBoundingBox([0,0,n,r],m,y);const[A,v,w,S]=y,E=Math.round(w-A)||1,x=Math.round(S-v)||1,C=this.canvasFactory.create(E,x),T=C.context,k=A,M=v;T.translate(-k,-M),T.transform(...m);let P=null;if(!d){const J=this._scaleImage(f.canvas,hi(T));d=J.img,P=J.tmpCanvas,d!==f.canvas&&(this.canvasFactory.destroy(f),f=null),h&&o&&(h.set(c,d),P=null,f=null)}T.imageSmoothingEnabled=Cm(St(T),e.interpolate),tu(T,d,0,0,d.width,d.height,0,0,n,r),P&&this.canvasFactory.destroy(P),f&&this.canvasFactory.destroy(f),T.globalCompositeOperation="source-in";const L=D.transform(hi(T),[1,0,0,1,-k,-M]);return T.fillStyle=o?a.getPattern(s,this,L,Ae.FILL,t):a,T.fillRect(0,0,n,r),h&&!o&&h.set(c,C.canvas),(Q=this.dependencyTracker)==null||Q.recordDependencies(t,Ts.transformAndFill),{canvas:C.canvas,canvasEntry:h&&!o?null:C,offsetX:Math.round(k),offsetY:Math.round(M)}}setLineWidth(t,e){var s;(s=this.dependencyTracker)==null||s.recordSimpleData("lineWidth",t),e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(t,e){var s;(s=this.dependencyTracker)==null||s.recordSimpleData("lineCap",t),this.ctx.lineCap=w0[e]}setLineJoin(t,e){var s;(s=this.dependencyTracker)==null||s.recordSimpleData("lineJoin",t),this.ctx.lineJoin=v0[e]}setMiterLimit(t,e){var s;(s=this.dependencyTracker)==null||s.recordSimpleData("miterLimit",t),this.ctx.miterLimit=e}setDash(t,e,s){var r;(r=this.dependencyTracker)==null||r.recordSimpleData("dash",t);const n=this.ctx;n.setLineDash!==void 0&&(n.setLineDash(e),n.lineDashOffset=s)}setRenderingIntent(t,e){}setFlatness(t,e){}setGState(t,e){var s,n,r,a,o;for(const[l,h]of e)switch(l){case"LW":this.setLineWidth(t,h);break;case"LC":this.setLineCap(t,h);break;case"LJ":this.setLineJoin(t,h);break;case"ML":this.setMiterLimit(t,h);break;case"D":this.setDash(t,h[0],h[1]);break;case"RI":this.setRenderingIntent(t,h);break;case"FL":this.setFlatness(t,h);break;case"Font":this.setFont(t,h[0],h[1]);break;case"CA":(s=this.dependencyTracker)==null||s.recordSimpleData("strokeAlpha",t),this.current.strokeAlpha=h;break;case"ca":(n=this.dependencyTracker)==null||n.recordSimpleData("fillAlpha",t),this.ctx.globalAlpha=this.current.fillAlpha=h;break;case"BM":(r=this.dependencyTracker)==null||r.recordSimpleData("globalCompositeOperation",t),this.ctx.globalCompositeOperation=h;break;case"SMask":(a=this.dependencyTracker)==null||a.recordSimpleData("SMask",t),this.current.activeSMask=h?this.tempSMask:null,this.current.activeSMask&&(this.current.activeSMask.blendMode=this.ctx.globalCompositeOperation),this.tempSMask=null,this.checkSMaskState(t);break;case"TR":(o=this.dependencyTracker)==null||o.recordSimpleData("filter",t),this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(h);break}}get inSMaskMode(){return!!this.suspendedCtx}_clearPreparedSMask(){this.smaskPreparedEntry&&(this.canvasFactory.destroy(this.smaskPreparedEntry),this.smaskPreparedEntry=null),this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null}_ensurePreparedSMask(t){t!==this.smaskPreparedFor&&(this._clearPreparedSMask(),this._prepareSMaskCanvas(t))}checkSMaskState(t){const e=this.inSMaskMode;this.current.activeSMask&&!e?this.beginSMaskMode(t):!this.current.activeSMask&&e?this.endSMaskMode():this.current.activeSMask&&e&&this._ensurePreparedSMask(this.current.activeSMask)}_prepareSMaskCanvas(t){const{canvas:e,subtype:s,backdrop:n,transferMap:r}=t,a=s==="Luminosity"||s==="Alpha"&&r;if(!a&&!(s==="Luminosity"&&n)){this.smaskPreparedFor=t;return}let o;if(s==="Luminosity"&&n){const[S,E,x]=Yd(n),C=Math.round(.3*S+.59*E+.11*x);o=(r==null?void 0:r[C])??C}else o=(r==null?void 0:r[0])??0;const l=4,{width:h,height:c}=this.ctx.canvas,d=e.width*e.height,f=h*c0&&s===this.ctx;this.composeSMask(n?null:s,e,this.ctx,t),!n&&(this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore())}composeSMask(t,e,s,n){const r=n[0],a=n[1],o=n[2]-r,l=n[3]-a;if(o===0||l===0)return;const h=this.smaskPreparedEntry;if(h){let c=r,d=a,f=o,m=l;const y=this.smaskPreparedOOBAlpha,A=y!==null;if(A){c=Math.max(r,e.offsetX),d=Math.max(a,e.offsetY);const v=Math.min(r+o,e.offsetX+e.canvas.width),w=Math.min(a+l,e.offsetY+e.canvas.height);f=v-c,m=w-d}if(f>0&&m>0){const v=c-this.smaskPreparedOffsetX,w=d-this.smaskPreparedOffsetY;s.save(),s.globalAlpha=1,s.setTransform(1,0,0,1,0,0);const S=new Path2D;S.rect(c,d,f,m),s.clip(S),s.globalCompositeOperation="destination-in",s.drawImage(h.canvas,v,w,f,m,c,d,f,m),s.restore()}A&&y<255&&this._applySMaskOOBAlpha(s,r,a,o,l,c,d,c+f,d+m,y)}else this.genericComposeSMask(e,s,o,l,r,a);t&&(t.save(),t.globalAlpha=1,t.globalCompositeOperation=e.blendMode||"source-over",t.setTransform(1,0,0,1,0,0),t.drawImage(s.canvas,r,a,o,l,r,a,o,l),t.restore())}_applySMaskOOBAlpha(t,e,s,n,r,a,o,l,h,c){const d=ao.measureText(e))),(f===Qt.STROKE||f===Qt.FILL_STROKE)&&(this.dependencyTracker&&((E=this.dependencyTracker)==null||E.recordCharacterBBox(t,o,h,d,s,n,()=>o.measureText(e)).recordDependencies(t,Ts.stroke)),o.strokeText(e,s,n));m&&((this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:St(o),x:s,y:n,fontSize:d,path:v}),(x=this.dependencyTracker)==null||x.recordCharacterBBox(t,o,h,d,s,n))}get isFontSubpixelAAEnabled(){const t=this.canvasFactory.create(10,10),e=t.context;e.scale(1.5,1),e.fillText("I",0,10);const s=e.getImageData(0,0,10,10).data;this.canvasFactory.destroy(t);let n=!1;for(let r=3;r0&&s[r]<255){n=!0;break}return $(this,"isFontSubpixelAAEnabled",n)}showText(t,e){var Q,J,q,Ft;this.dependencyTracker&&(this.dependencyTracker.recordDependencies(t,Ts.showText).resetBBox(t),this.current.textRenderingMode&Qt.ADD_TO_PATH_FLAG&&this.dependencyTracker.recordFutureForcedDependency("textClip",t).inheritPendingDependenciesAsFutureForcedDependencies());const s=this.current,n=s.font;if(n.isType3Font){const F=b(this,H,ze).call(this,s.fillAlpha);this.showType3Text(t,e),(Q=this.dependencyTracker)==null||Q.recordShowTextOperation(t),b(this,H,Se).call(this,F);return}const r=s.fontSize;if(r===0){(J=this.dependencyTracker)==null||J.recordOperation(t);return}const a=b(this,H,ze).call(this,s.fillAlpha),o=this.ctx,l=s.fontSizeScale,h=s.charSpacing,c=s.wordSpacing,d=s.fontDirection,f=s.textHScale*d,m=e.length,y=n.vertical,A=y?1:-1,v=n.defaultVMetrics,w=r*s.fontMatrix[0],S=s.textRenderingMode===Qt.FILL&&!n.disableFontFace&&!s.patternFill;o.save(),s.textMatrix&&o.transform(...s.textMatrix),o.translate(s.x,s.y+s.textRise),d>0?o.scale(f,-1):o.scale(f,1);let E,x;const C=s.textRenderingMode&Qt.FILL_STROKE_MASK,T=C===Qt.FILL||C===Qt.FILL_STROKE,k=C===Qt.STROKE||C===Qt.FILL_STROKE;let M=s.lineWidth;const P=s.textMatrixScale;if(P===0||M===0?k&&(M=this.getSinglePixelWidth()):M/=P,l!==1&&(o.scale(l,l),M/=l),o.lineWidth=M,T&&s.patternFill){o.save();const F=s.fillColor.getPattern(o,this,hi(o),Ae.FILL,t);E=St(o),o.restore(),o.fillStyle=F}if(k&&s.patternStroke){o.save();const F=s.strokeColor.getPattern(o,this,hi(o),Ae.STROKE,t);x=St(o),o.restore(),o.strokeStyle=F}if(n.isInvalidPDFjsFont){const F=[];let U=0;for(const $t of e)F.push($t.unicode),U+=$t.width;const Gt=F.join("");if(o.fillText(Gt,0,0),this.dependencyTracker!==null){const $t=o.measureText(Gt);this.dependencyTracker.recordBBox(t,this.ctx,-$t.actualBoundingBoxLeft,$t.actualBoundingBoxRight,-$t.actualBoundingBoxAscent,$t.actualBoundingBoxDescent).recordShowTextOperation(t)}s.x+=U*w*f,o.restore(),this.compose(),b(this,H,Se).call(this,a);return}let L=0,O;for(O=0;O0){li=o.measureText($t);const te=li.width*1e3/r*l;if(dtli??o.measureText($t));else if(this.paintChar(t,$t,ce,Xt,E,x),ts){const te=ce+r*ts.offset.x/l,wt=Xt-r*ts.offset.y/l;this.paintChar(t,ts.fontChar,te,wt,E,x)}}const xh=y?dt*w-Gt*d:dt*w+Gt*d;L+=xh,U&&o.restore()}y?s.y-=L:s.x+=L*f,o.restore(),this.compose(),(Ft=this.dependencyTracker)==null||Ft.recordShowTextOperation(t),b(this,H,Se).call(this,a)}showType3Text(t,e){const s=this.ctx,n=this.current,r=n.font,a=n.fontSize,o=n.fontDirection,l=r.vertical?1:-1,h=n.charSpacing,c=n.wordSpacing,d=n.textHScale*o,f=n.fontMatrix||ep,m=e.length,y=n.textRenderingMode===Qt.INVISIBLE;let A,v,w,S;if(y||a===0)return;this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,s.save(),n.textMatrix&&s.transform(...n.textMatrix),s.translate(n.x,n.y+n.textRise),s.scale(d,o);const E=this.dependencyTracker;for(this.dependencyTracker=E?new sc(E,t):null,A=0;Anew Zg(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new sc(this.dependencyTracker,o,!0):null)};s=new qh(e,this.ctx,r,n)}else s=this._getPattern(t,e[1],e[2]);return s}setStrokeColorN(t,...e){var s;(s=this.dependencyTracker)==null||s.recordSimpleData("strokeColor",t),this.current.strokeColor=this.getColorN_Pattern(t,e),this.current.patternStroke=!0}setFillColorN(t,...e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("fillColor",t);const s=this.current.fillColor=this.getColorN_Pattern(t,e);this.current.patternFill=!0,this.current.tilingPatternDims=s instanceof qh?[0,0,0,0]:null}setStrokeRGBColor(t,e){var s;(s=this.dependencyTracker)==null||s.recordSimpleData("strokeColor",t),this.ctx.strokeStyle=this.current.strokeColor=e,this.current.patternStroke=!1}setStrokeTransparent(t){var e;(e=this.dependencyTracker)==null||e.recordSimpleData("strokeColor",t),this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(t,e){var s;(s=this.dependencyTracker)==null||s.recordSimpleData("fillColor",t),this.ctx.fillStyle=this.current.fillColor=e,this.current.patternFill=!1,this.current.tilingPatternDims=null}setFillTransparent(t){var e;(e=this.dependencyTracker)==null||e.recordSimpleData("fillColor",t),this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1,this.current.tilingPatternDims=null}_getPattern(t,e,s=null){const n=this.cachedPatterns.getOrInsertComputed(e,()=>m0(this.getObject(t,e)));return s&&(n.matrix=s),n}shadingFill(t,e){var o;if(!this.contentVisible)return;const s=b(this,H,ze).call(this,this.current.fillAlpha),n=this.ctx;this.save(t);const r=this._getPattern(t,e);n.fillStyle=r.getPattern(n,this,hi(n),Ae.SHADING,t);const a=hi(n);if(a){const{width:l,height:h}=n.canvas,c=Zr.slice();D.axialAlignedBoundingBox([0,0,l,h],a,c);const[d,f,m,y]=c;this.ctx.fillRect(d,f,m-d,y-f)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);(o=this.dependencyTracker)==null||o.resetBBox(t).recordFullPageBBox(t).recordDependencies(t,Ts.transform).recordDependencies(t,Ts.fill).recordOperation(t),this.compose(this.current.getClippedPathBoundingBox()),this.restore(t),b(this,H,Se).call(this,s)}beginInlineImage(){it("Should not call beginInlineImage")}beginImageData(){it("Should not call beginImageData")}paintFormXObjectBegin(t,e,s){var n;if(this.contentVisible&&(this.save(t),this.baseTransformStack.push(this.baseTransform),e&&this.transform(t,...e),this.baseTransform=St(this.ctx),s)){D.axialAlignedBoundingBox(s,this.baseTransform,this.current.minMax);const[r,a,o,l]=s,h=new Path2D;h.rect(r,a,o-r,l-a),this.ctx.clip(h),(n=this.dependencyTracker)==null||n.recordClipBox(t,this.ctx,r,o,a,l),this.endPath(t)}}paintFormXObjectEnd(t){this.contentVisible&&(this.restore(t),this.baseTransform=this.baseTransformStack.pop())}beginGroup(t,e){var x;if(!this.contentVisible)return;this.save(t);const{inSMaskMode:s}=this;s&&(this.endSMaskMode(),this.current.activeSMask=null);const n=this.ctx;if((!e.needsIsolation||!e.isolated&&!e.hasSoftMask)&&!e.knockout&&!e.isGray&&i(this,as)===0&&n.globalAlpha===1&&n.globalCompositeOperation==="source-over"&&!s){if(e.bbox){let C=new Path2D;const[T,k,M,P]=e.bbox;if(C.rect(T,k,M-T,P-k),e.matrix){const L=new Path2D;L.addPath(C,new DOMMatrix(e.matrix)),C=L}n.clip(C)}this.groupStack.push(null),i(this,Ci).push(null),this.groupLevel++;return}!e.isolated&&!e.knockout&&i(this,as)===0&&If("TODO: Fully support non-isolated non-knockout groups.");const r=St(n);e.matrix&&n.transform(...e.matrix);const a=[0,0,n.canvas.width,n.canvas.height];let o;e.bbox?(o=Zr.slice(),D.axialAlignedBoundingBox(e.bbox,St(n),o),o=D.intersect(o,a)||[0,0,0,0]):o=a;const l=Math.floor(o[0]),h=Math.floor(o[1]),c=Math.max(Math.ceil(o[2])-l,1),d=Math.max(Math.ceil(o[3])-h,1);this.current.startNewPathAndClipBox([0,0,c,d]);const f=this.canvasFactory.create(c,d);e.smask&&this.smaskGroupCanvases.push(f);const m=f.context,y=e.knockout&&!e.isolated?n:null,A=!e.isolated&&!e.knockout&&!e.smask&&e.needsIsolation&&i(this,as)>0,v=e.knockout?this.canvasFactory.create(c,d):null,w=i(this,as);e.knockout?Et(this,as)._++:u(this,as,0),m.translate(-l,-h),m.transform(...r);const S=!e.isolated&&!e.smask&&e.needsIsolation,E=S&&!s&&w===0&&!e.knockout&&!e.isGray&&e.hasSoftMask&&n.globalAlpha===1&&n.globalCompositeOperation==="source-over"&&this.current.transferMaps==="none";if(S&&(s||E)&&(m.save(),m.setTransform(1,0,0,1,0,0),m.drawImage(n.canvas,-l,-h),m.restore()),e.bbox){let C=new Path2D;const[T,k,M,P]=e.bbox;if(C.rect(T,k,M-T,P-k),e.matrix){const L=new Path2D;L.addPath(C,new DOMMatrix(e.matrix)),C=L}m.clip(C)}e.smask&&this.smaskStack.push({canvas:f.canvas,context:m,offsetX:l,offsetY:h,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null}),(!e.smask||this.dependencyTracker)&&(n.setTransform(1,0,0,1,0,0),n.translate(l,h),n.save()),zr(n,m),this.ctx=m,(x=this.dependencyTracker)==null||x.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(n),this.setGState(t,[["BM","source-over"],["ca",1],["CA",1],["TR",null]]),this.groupStack.push(n),i(this,Ci).push({backdropCtx:y,savedKnockoutLevel:w,offsetX:l,offsetY:h,hasInnerBackdrop:A,replaceBackdrop:E,knockoutMaskEntry:v,knockoutTempEntry:null,knockoutBackdropEntry:null}),this.groupLevel++}endGroup(t,e){var a;if(!this.contentVisible)return;this.groupLevel--;const s=this.ctx,n=this.groupStack.pop(),r=i(this,Ci).pop();if(r&&u(this,as,r.savedKnockoutLevel),n===null){this.restore(t);return}if(e.isGray&&b(this,H,Rb).call(this,s),this.ctx=n,this.ctx.imageSmoothingEnabled=!1,(a=this.dependencyTracker)==null||a.popBaseTransform(),e.smask)this.tempSMask=this.smaskStack.pop(),this.restore(t),this.dependencyTracker&&(this.ctx.restore(),this.inSMaskMode&&this.ctx.setTransform(this.suspendedCtx.getTransform())),b(this,H,Au).call(this,r);else{this.ctx.restore();const o=St(this.ctx);this.restore(t),this.ctx.save(),this.ctx.setTransform(...o);const l=Zr.slice();D.axialAlignedBoundingBox([0,0,s.canvas.width,s.canvas.height],o,l);const h=i(this,Ci).at(-1);if(i(this,as)>0)if(r.hasInnerBackdrop){const{width:c,height:d}=s.canvas,f=this.canvasFactory.create(c,d),m=f.context;m.drawImage(n.canvas,r.offsetX,r.offsetY,c,d,0,0,c,d),m.globalCompositeOperation="source-over",m.drawImage(s.canvas,0,0);const y=b(this,H,Np).call(this,s.canvas);m.globalCompositeOperation="destination-in",m.drawImage(y.canvas,0,0);const A=this.ctx.globalCompositeOperation,v=this.ctx.globalAlpha,w=this.ctx.filter;this.ctx.save(),this.ctx.setTransform(...o),this.ctx.globalAlpha=1,bt.isCanvasFilterSupported&&(this.ctx.filter="none"),this.ctx.globalCompositeOperation="destination-out",this.ctx.drawImage(y.canvas,0,0),this.ctx.globalCompositeOperation=A,this.ctx.globalAlpha=v,bt.isCanvasFilterSupported&&(this.ctx.filter=w??"none"),this.ctx.drawImage(f.canvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(y),this.canvasFactory.destroy(f)}else{const c=(h==null?void 0:h.backdropCtx)??null;b(this,H,Hp).call(this,this.ctx,s.canvas,{backdropCanvas:(c==null?void 0:c.canvas)??null,destTransform:o,backdropOffset:c?[h.offsetX+r.offsetX,h.offsetY+r.offsetY]:[0,0],sourceAlpha:this.ctx.globalAlpha,sourceFilter:this.ctx.filter})}else{if(r.replaceBackdrop){const c=new Path2D;c.rect(0,0,s.canvas.width,s.canvas.height),this.ctx.clip(c),this.ctx.globalCompositeOperation="copy"}this.ctx.drawImage(s.canvas,0,0)}this.ctx.restore(),this.canvasFactory.destroy({canvas:s.canvas,context:s}),b(this,H,Au).call(this,r),this.compose(l)}}beginAnnotation(t,e,s,n,r,a,o){if(b(this,H,Fp).call(this),eu(this.ctx),this.ctx.save(),this.save(t),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),s){const l=s[2]-s[0],h=s[3]-s[1];if(a&&this.annotationCanvasMap){n=n.slice(),n[4]-=s[0],n[5]-=s[1],s=s.slice(),s[0]=s[1]=0,s[2]=l,s[3]=h,D.singularValueDecompose2dScale(St(this.ctx),Ss);const{viewportScale:c}=this,d=Math.ceil(l*this.outputScaleX*c),f=Math.ceil(h*this.outputScaleY*c);this.annotationCanvas=this.canvasFactory.create(d,f);const{canvas:m,context:y}=this.annotationCanvas;if(o){const A=this.annotationCanvasMap.getOrInsertComputed(e,Wd);m.setAttribute("data-canvas-name",o);const v=A.findIndex(w=>w.getAttribute("data-canvas-name")===o);v===-1?A.push(m):A[v]=m}else this.annotationCanvasMap.set(e,m);this.annotationCanvas.savedCtx=this.ctx,this.ctx=y,this.ctx.save(),this.ctx.setTransform(Ss[0],0,0,-Ss[1],0,h*Ss[1]),eu(this.ctx)}else{eu(this.ctx),this.endPath(t);const c=new Path2D;c.rect(s[0],s[1],l,h),this.ctx.clip(c)}}this.current=new Sm(this.ctx.canvas.width,this.ctx.canvas.height),this.baseTransformStack.push(this.baseTransform),this.transform(t,...n),this.transform(t,...r),this.baseTransform=St(this.ctx)}endAnnotation(t){this.annotationCanvas&&(this.ctx.restore(),b(this,H,Op).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas),this.baseTransform=this.baseTransformStack.pop()}paintImageMaskXObject(t,e){var l;if(!this.contentVisible)return;const s=e.count;e=this.getObject(t,e.data,e),e.count=s;const n=b(this,H,ze).call(this,this.current.fillAlpha),r=this.ctx,a=this._createMaskCanvas(t,e),o=a.canvas;r.save(),r.setTransform(1,0,0,1,0,0),r.drawImage(o,a.offsetX,a.offsetY),(l=this.dependencyTracker)==null||l.resetBBox(t).recordBBox(t,this.ctx,a.offsetX,a.offsetX+o.width,a.offsetY,a.offsetY+o.height).recordOperation(t),r.restore(),a.canvasEntry&&this.canvasFactory.destroy(a.canvasEntry),this.compose(),b(this,H,Se).call(this,n)}paintImageMaskXObjectRepeat(t,e,s,n=0,r=0,a,o){var f,m,y;if(!this.contentVisible)return;e=this.getObject(t,e.data,e);const l=b(this,H,ze).call(this,this.current.fillAlpha),h=this.ctx;h.save();const c=St(h);h.transform(s,n,r,a,0,0);const d=this._createMaskCanvas(t,e);h.setTransform(1,0,0,1,d.offsetX-c[4],d.offsetY-c[5]),(f=this.dependencyTracker)==null||f.resetBBox(t);for(let A=0,v=o.length;Ad?c/d:1,o=h>d?h/d:1}}this._cachedScaleForStroking[0]=a,this._cachedScaleForStroking[1]=o}return this._cachedScaleForStroking}rescaleAndStroke(t,e){const{ctx:s,current:{lineWidth:n}}=this,[r,a]=this.getScaleForStroking();if(r===a){s.lineWidth=(n||1)*r,s.stroke(t);return}const o=s.getLineDash();e&&s.save(),s.scale(r,a),Jf.a=1/r,Jf.d=1/a;const l=new Path2D;if(l.addPath(t,Jf),o.length>0){const h=Math.max(r,a);s.setLineDash(o.map(c=>c/h)),s.lineDashOffset/=h}s.lineWidth=n||1,s.stroke(l),e&&s.restore()}isContentVisible(){for(let t=this.markedContentStack.length-1;t>=0;t--)if(!this.markedContentStack[t].visible)return!1;return!0}};as=new WeakMap,ur=new WeakMap,La=new WeakMap,Ra=new WeakMap,Fa=new WeakMap,Oa=new WeakMap,Na=new WeakMap,Ba=new WeakMap,Ha=new WeakMap,Ci=new WeakMap,H=new WeakSet,Fp=function(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(this.transparentCanvasEntry),this.transparentCanvas=null,this.transparentCanvasEntry=null)},Op=function(){if(this.pageColors){const t=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(t!=="none"){const e=this.ctx.filter;this.ctx.filter=t,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=e}}},Np=function(t,e=null,s=1){const{width:n,height:r}=t,a=e??this.canvasFactory.create(n,r),o=a.context;s=Math.round(s*255)/255;const l=s<1;l&&i(this,Ba)===void 0&&u(this,Ba,bt.isCanvasFilterSupported?new Map:"none");let h="none";if(l&&i(this,Ba)instanceof Map&&(h=i(this,Ba).getOrInsertComputed(s,()=>this.filterFactory.addKnockoutFilter(s))),!l||h!=="none")return e&&(o.save(),o.setTransform(1,0,0,1,0,0),o.clearRect(0,0,n,r),o.restore()),o.filter=h,o.drawImage(t,0,0),o.filter="none",a;const c=t.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,n,r),d=o.createImageData(n,r),f=c.data,m=d.data,y=s>0?1/s:1e6;for(let A=3,v=f.length;A0||!this.contentVisible)return!1;Et(this,ur)._++,u(this,Na,t);const e=i(this,Ci).at(-1),{canvas:s}=this.ctx,n=b(this,H,Bp).call(this,e,"knockoutTempEntry",s.width,s.height);u(this,La,n);const r=n.context;return r.save(),r.setTransform(this.ctx.getTransform()),zr(this.ctx,r),u(this,Oa,r.globalCompositeOperation),r.globalCompositeOperation="source-over",vm(r,this.ctx),u(this,Ha,e),u(this,Ra,this.ctx),u(this,Fa,this.suspendedCtx),this.ctx=r,this.inSMaskMode&&(this.suspendedCtx=r),!0},Se=function(t){var l;if(!t)return;const e=i(this,La),s=i(this,Ra),n=i(this,Fa),r=e.context;u(this,La,null),u(this,Ra,null),u(this,Fa,null),this.inSMaskMode&&this.suspendedCtx===r&&this.ctx!==r&&this.endSMaskMode(),this.inSMaskMode&&(this.suspendedCtx=n),this.ctx._removeMirroring(),this.ctx.globalCompositeOperation=i(this,Oa),u(this,Oa,null),zr(this.ctx,s),this.ctx=s;const a=i(this,Ha);u(this,Ha,null);const o=i(this,Na);u(this,Na,1);try{b(this,H,Hp).call(this,n??s,e.canvas,{backdropCanvas:((l=a==null?void 0:a.backdropCtx)==null?void 0:l.canvas)??null,backdropOffset:a!=null&&a.backdropCtx?[a.offsetX,a.offsetY]:[0,0],reuseMaskEntry:(a==null?void 0:a.knockoutMaskEntry)??null,poolMeta:a,knockoutAlpha:o})}finally{r.restore(),Et(this,ur)._--,a||this.canvasFactory.destroy(e)}},Up=function(t,e,s){const n=new Path2D;return n.addPath(t,new DOMMatrix(s).invertSelf().multiplySelf(e)),n},Rb=function(t){const{canvas:e}=t,{width:s,height:n}=e;if(bt.isCanvasFilterSupported){t.save(),t.setTransform(1,0,0,1,0,0),t.filter="grayscale(1)",t.globalAlpha=1,t.globalCompositeOperation="copy",t.drawImage(e,0,0),t.restore();return}const r=t.getImageData(0,0,s,n),{data:a}=r;for(let o=0,l=a.length;o{e._responseOrigin=Hf(h.url),Ub(h.status,a),this._reader=h.body.getReader();const c=h.headers,{contentLength:d,isRangeSupported:f}=Ob({responseHeaders:c,isHttp:!0,rangeChunkSize:r,disableRange:s});this._contentLength=d,this._isRangeSupported=f,this._filename=Nb(c),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new Ur("Streaming is disabled.")),this._headersCapability.resolve()}).catch(this._headersCapability.reject)}async read(){await this._headersCapability.promise;const{value:e,done:s}=await this._reader.read();return s?{value:e,done:s}:(this._loaded+=e.byteLength,this._callOnProgress(),{value:Gf(e),done:!1})}cancel(e){var s;(s=this._reader)==null||s.cancel(e),this._abortController.abort()}}class T0 extends Bf{constructor(e,s,n){super(e,s,n);_(this,"_abortController",new AbortController);_(this,"_readCapability",Promise.withResolvers());_(this,"_reader",null);const{url:r,withCredentials:a}=e._source,o=new Headers(e.headers);o.append("Range",`bytes=${s}-${n-1}`),Hb(r,o,a,this._abortController).then(l=>{const h=Hf(l.url);Bb(h,e._responseOrigin),Ub(l.status,r),this._reader=l.body.getReader(),this._readCapability.resolve()}).catch(this._readCapability.reject)}async read(){await this._readCapability.promise;const{value:e,done:s}=await this._reader.read();return s?{value:e,done:s}:{value:Gf(e),done:!1}}cancel(e){var s;(s=this._reader)==null||s.cancel(e),this._abortController.abort()}}function _m(p){return p instanceof Uint8Array&&p.byteLength===p.buffer.byteLength?p.buffer:new Uint8Array(p).buffer}function $f(){for(const p of this._requests)p.resolve({value:void 0,done:!0});this._requests.length=0}var yf,Gb;class _0 extends Of{constructor(e){super(e,k0,M0);g(this,yf);_(this,"_progressiveDone",!1);_(this,"_queuedChunks",[]);const{pdfDataRangeTransport:s}=e,{initialData:n,progressiveDone:r}=s;if((n==null?void 0:n.length)>0){const o=_m(n);this._queuedChunks.push(o)}this._progressiveDone=r;const a=o=>{var l;switch(o.type){case"range":case"progressiveRead":b(this,yf,Gb).call(this,o.begin,o.chunk);break;case"progressiveDone":(l=this._fullReader)==null||l.progressiveDone(),this._progressiveDone=!0;break}};s.transportReady(a)}getFullReader(){const e=super.getFullReader();return this._queuedChunks=null,e}getRangeReader(e,s){const n=super.getRangeReader(e,s);return n&&(n.onDone=()=>this._rangeReaders.delete(n),this._source.pdfDataRangeTransport.requestDataRange(e,s)),n}cancelAllRequests(e){super.cancelAllRequests(e),this._source.pdfDataRangeTransport.abort()}}yf=new WeakSet,Gb=function(e,s){const n=_m(s);if(e===void 0)this._fullReader?this._fullReader._enqueue(n):this._queuedChunks.push(n);else{const r=this._rangeReaders.keys().find(a=>a._begin===e);Rt(r,"#onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."),r._enqueue(n)}};var Uc;class k0 extends Nf{constructor(e){super(e);g(this,Uc,$f.bind(this));_(this,"_done",!1);_(this,"_queuedChunks",null);_(this,"_requests",[]);const{pdfDataRangeTransport:s,disableRange:n,disableStream:r}=e._source,{length:a,contentDispositionFilename:o}=s;this._queuedChunks=e._queuedChunks||[];for(const h of this._queuedChunks)this._loaded+=h.byteLength;this._done=e._progressiveDone,this._contentLength=a,this._isStreamingSupported=!r,this._isRangeSupported=!n,zg(o)&&(this._filename=o),this._headersCapability.resolve();const l=this._loaded;Promise.resolve().then(()=>{l>0&&this._loaded===l&&this._callOnProgress()})}_enqueue(e){this._done||(this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunks.push(e),this._loaded+=e.byteLength,this._callOnProgress())}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,i(this,Uc).call(this)}progressiveDone(){this._done||(this._done=!0),this._queuedChunks.length===0&&i(this,Uc).call(this)}}Uc=new WeakMap;var Gc;class M0 extends Bf{constructor(e,s,n){super(e,s,n);g(this,Gc,$f.bind(this));_(this,"onDone",null);_(this,"_begin",-1);_(this,"_done",!1);_(this,"_queuedChunk",null);_(this,"_requests",[]);this._begin=s}_enqueue(e){var s;this._done||(this._requests.length===0?this._queuedChunk=e:(this._requests.shift().resolve({value:e,done:!1}),i(this,Gc).call(this)),this._done=!0,(s=this.onDone)==null||s.call(this))}async read(){if(this._queuedChunk){const s=this._queuedChunk;return this._queuedChunk=null,{value:s,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){var s;this._done=!0,i(this,Gc).call(this),(s=this.onDone)==null||s.call(this)}}Gc=new WeakMap;const Zf=200,km=206;function P0(p){return typeof p!="string"?p:Lf(p).buffer}var Ti,Eh,$b,zb;class D0 extends Of{constructor(e){super(e,I0,L0);g(this,Eh);g(this,Ti,new WeakMap);_(this,"_responseOrigin",null);const{httpHeaders:s,url:n}=e;this.url=n,this.isHttp=/https?:/.test(n.protocol),this.headers=Fb(this.isHttp,s)}_request(e){const s=new XMLHttpRequest,n={validateStatus:null,onHeadersReceived:e.onHeadersReceived,onDone:e.onDone,onError:e.onError,onProgress:e.onProgress};i(this,Ti).set(s,n),s.open("GET",this.url),s.withCredentials=this._source.withCredentials;for(const[r,a]of this.headers)s.setRequestHeader(r,a);return this.isHttp&&"begin"in e&&"end"in e?(s.setRequestHeader("Range",`bytes=${e.begin}-${e.end-1}`),n.validateStatus=r=>r===km||r===Zf):n.validateStatus=r=>r===Zf,s.responseType="arraybuffer",Rt(e.onError,"Expected `onError` callback to be provided."),s.onerror=()=>e.onError(s.status),s.onreadystatechange=b(this,Eh,zb).bind(this,s),s.onprogress=b(this,Eh,$b).bind(this,s),s.send(null),s}_abortRequest(e){i(this,Ti).has(e)&&(i(this,Ti).delete(e),e.abort())}getRangeReader(e,s){const n=super.getRangeReader(e,s);return n&&(n.onClosed=()=>this._rangeReaders.delete(n)),n}}Ti=new WeakMap,Eh=new WeakSet,$b=function(e,s){var r;const n=i(this,Ti).get(e);(r=n==null?void 0:n.onProgress)==null||r.call(n,s)},zb=function(e,s){const n=i(this,Ti).get(e);if(!n||(e.readyState>=2&&n.onHeadersReceived&&(n.onHeadersReceived(),delete n.onHeadersReceived),e.readyState!==4)||!i(this,Ti).has(e))return;if(i(this,Ti).delete(e),e.status===0&&this.isHttp){n.onError(e.status);return}const r=e.status||Zf;if(!n.validateStatus(r)){n.onError(e.status);return}const a=P0(e.response);if(r===km){const o=e.getResponseHeader("Content-Range");/bytes \d+-\d+\/\d+/.test(o)?n.onDone(a):(W('Missing or invalid "Content-Range" header.'),n.onError(0))}else a?n.onDone(a):n.onError(e.status)};var $c,Ui,jb,Vb,Wb,Xb;class I0 extends Nf{constructor(e){super(e);g(this,Ui);g(this,$c,$f.bind(this));_(this,"_cachedChunks",[]);_(this,"_done",!1);_(this,"_requests",[]);_(this,"_storedError",null);this._fullRequestXhr=e._request({onHeadersReceived:b(this,Ui,jb).bind(this),onDone:b(this,Ui,Vb).bind(this),onError:b(this,Ui,Wb).bind(this),onProgress:b(this,Ui,Xb).bind(this)})}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersCapability.reject(e),i(this,$c).call(this),this._stream._abortRequest(this._fullRequestXhr),this._fullRequestXhr=null}}$c=new WeakMap,Ui=new WeakSet,jb=function(){const e=this._stream,{disableRange:s,rangeChunkSize:n}=e._source,r=this._fullRequestXhr;e._responseOrigin=Hf(r.responseURL);const a=r.getAllResponseHeaders(),o=new Headers(a?a.trimStart().replace(/[^\S ]+$/,"").split(/[\r\n]+/).map(c=>{const[d,...f]=c.split(": ");return[d,f.join(": ")]}):[]),{contentLength:l,isRangeSupported:h}=Ob({responseHeaders:o,isHttp:e.isHttp,rangeChunkSize:n,disableRange:s});this._contentLength=l,this._isRangeSupported=h,this._filename=Nb(o),this._isRangeSupported&&e._abortRequest(r),this._headersCapability.resolve()},Vb=function(e){this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._cachedChunks.push(e),this._done=!0,this._cachedChunks.length===0&&i(this,$c).call(this)},Wb=function(e){this._storedError=Uf(e,this._stream.url),this._headersCapability.reject(this._storedError);for(const s of this._requests)s.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0},Xb=function(e){var s;(s=this.onProgress)==null||s.call(this,{loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})};var zc,On,Yb,Kb,Gp;class L0 extends Bf{constructor(e,s,n){super(e,s,n);g(this,On);g(this,zc,$f.bind(this));_(this,"onClosed",null);_(this,"_done",!1);_(this,"_queuedChunk",null);_(this,"_requests",[]);_(this,"_storedError",null);this._requestXhr=e._request({begin:s,end:n,onHeadersReceived:b(this,On,Yb).bind(this),onDone:b(this,On,Kb).bind(this),onError:b(this,On,Gp).bind(this),onProgress:null})}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){const s=this._queuedChunk;return this._queuedChunk=null,{value:s,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){var s;this._done=!0,i(this,zc).call(this),this._stream._abortRequest(this._requestXhr),(s=this.onClosed)==null||s.call(this)}}zc=new WeakMap,On=new WeakSet,Yb=function(){var s;const e=Hf((s=this._requestXhr)==null?void 0:s.responseURL);try{Bb(e,this._stream._responseOrigin)}catch(n){this._storedError=n,b(this,On,Gp).call(this,0)}},Kb=function(e){var s;this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunk=e,this._done=!0,i(this,zc).call(this),(s=this.onClosed)==null||s.call(this)},Gp=function(e){this._storedError??(this._storedError=Uf(e,this._stream.url));for(const s of this._requests)s.reject(this._storedError);this._requests.length=0,this._queuedChunk=null};function qb(p,t=null){const e=process.getBuiltinModule("fs"),{Readable:s}=process.getBuiltinModule("stream"),n=e.createReadStream(p,t);return s.toWeb(n)}class R0 extends Of{constructor(t){super(t,F0,O0);const{url:e}=t;Rt(e.protocol==="file:","PDFNodeStream only supports file:// URLs.")}}class F0 extends Nf{constructor(e){super(e);_(this,"_reader",null);const{disableRange:s,disableStream:n,rangeChunkSize:r,url:a}=e._source;this._isStreamingSupported=!n,process.getBuiltinModule("fs/promises").lstat(a).then(l=>{const h=qb(a);this._reader=h.getReader();const{size:c}=l;this._contentLength=c,this._isRangeSupported=!s&&c>2*r,!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new Ur("Streaming is disabled.")),this._headersCapability.resolve()}).catch(l=>{l.code==="ENOENT"&&(l=Uf(0,a)),this._headersCapability.reject(l)})}async read(){await this._headersCapability.promise;const{value:e,done:s}=await this._reader.read();return s?{value:e,done:s}:(this._loaded+=e.byteLength,this._callOnProgress(),{value:Gf(e),done:!1})}cancel(e){var s;(s=this._reader)==null||s.cancel(e)}}class O0 extends Bf{constructor(e,s,n){super(e,s,n);_(this,"_readCapability",Promise.withResolvers());_(this,"_reader",null);const{url:r}=e._source;try{const a=qb(r,{start:s,end:n-1});this._reader=a.getReader(),this._readCapability.resolve()}catch(a){this._readCapability.reject(a)}}async read(){await this._readCapability.promise;const{value:e,done:s}=await this._reader.read();return s?{value:e,done:s}:{value:Gf(e),done:!1}}cancel(e){var s;(s=this._reader)==null||s.cancel(e)}}function N0(p){return Kh(p)?x0:vs?R0:D0}var jc,Vc;class Pn{static get workerPort(){return i(this,jc)}static set workerPort(t){if(!(typeof Worker<"u"&&t instanceof Worker)&&t!==null)throw new Error("Invalid `workerPort` type.");u(this,jc,t)}static get workerSrc(){return i(this,Vc)}static set workerSrc(t){if(typeof t!="string")throw new Error("Invalid `workerSrc` type.");u(this,Vc,t)}}jc=new WeakMap,Vc=new WeakMap,g(Pn,jc,null),g(Pn,Vc,"");var kl,Wc;class B0{constructor({parsedData:t,rawData:e}){g(this,kl);g(this,Wc);u(this,kl,t),u(this,Wc,e)}getRaw(){return i(this,Wc)}get(t){return i(this,kl).get(t)??null}[Symbol.iterator](){return i(this,kl).entries()}}kl=new WeakMap,Wc=new WeakMap;const Wr=Symbol("INTERNAL");var Xc,Yc,Ml,Ua;class H0{constructor(t,{name:e,intent:s,usage:n,rbGroups:r}){g(this,Xc,!1);g(this,Yc,!1);g(this,Ml,!1);g(this,Ua,!0);u(this,Xc,!!(t&ws.DISPLAY)),u(this,Yc,!!(t&ws.PRINT)),this.name=e,this.intent=s,this.usage=n,this.rbGroups=r}get visible(){if(i(this,Ml))return i(this,Ua);if(!i(this,Ua))return!1;const{print:t,view:e}=this.usage;return i(this,Xc)?(e==null?void 0:e.viewState)!=="OFF":i(this,Yc)?(t==null?void 0:t.printState)!=="OFF":!0}_setVisible(t,e,s=!1){t!==Wr&&it("Internal method `_setVisible` called."),u(this,Ml,s),u(this,Ua,e)}get serializable(){return{userSet:i(this,Ml),visible:i(this,Ua)}}}Xc=new WeakMap,Yc=new WeakMap,Ml=new WeakMap,Ua=new WeakMap;var fr,rt,Pl,Dl,Kc,qc,zp;const tm=class tm{constructor(t,e=ws.DISPLAY,s=null){g(this,qc);g(this,fr,null);g(this,rt,new Map);g(this,Pl,null);g(this,Dl,null);g(this,Kc);_(this,"creator",null);_(this,"name",null);if(u(this,Kc,t),this.renderingIntent=e,t!==null){this.name=t.name,this.creator=t.creator,u(this,Dl,t.order);for(const n of t.groups)i(this,rt).set(n.id,new H0(e,n));if(s){s.size!==i(this,rt).size&&it("Incorrect serialized groupState.");for(const[n,r]of s)i(this,rt).get(n)._setVisible(Wr,r.visible,r.userSet)}else{if(t.baseState==="OFF")for(const n of i(this,rt).values())n._setVisible(Wr,!1);for(const n of t.on)i(this,rt).get(n)._setVisible(Wr,!0);for(const n of t.off)i(this,rt).get(n)._setVisible(Wr,!1)}u(this,Pl,this.getHash())}}isVisible(t){if(i(this,rt).size===0)return!0;if(!t)return If("Optional content group not defined."),!0;if(t.type==="OCG")return i(this,rt).has(t.id)?i(this,rt).get(t.id).visible:(W(`Optional content group not found: ${t.id}`),!0);if(t.type==="OCMD"){if(t.expression)return b(this,qc,zp).call(this,t.expression);if(!t.policy||t.policy==="AnyOn"){for(const e of t.ids){if(!i(this,rt).has(e))return W(`Optional content group not found: ${e}`),!0;if(i(this,rt).get(e).visible)return!0}return!1}else if(t.policy==="AllOn"){for(const e of t.ids){if(!i(this,rt).has(e))return W(`Optional content group not found: ${e}`),!0;if(!i(this,rt).get(e).visible)return!1}return!0}else if(t.policy==="AnyOff"){for(const e of t.ids){if(!i(this,rt).has(e))return W(`Optional content group not found: ${e}`),!0;if(!i(this,rt).get(e).visible)return!0}return!1}else if(t.policy==="AllOff"){for(const e of t.ids){if(!i(this,rt).has(e))return W(`Optional content group not found: ${e}`),!0;if(i(this,rt).get(e).visible)return!1}return!0}return W(`Unknown optional content policy ${t.policy}.`),!0}return W(`Unknown group type ${t.type}.`),!0}setVisibility(t,e=!0,s=!0){var r;const n=i(this,rt).get(t);if(!n){W(`Optional content group not found: ${t}`);return}if(s&&e&&n.rbGroups.length)for(const a of n.rbGroups)for(const o of a)o!==t&&((r=i(this,rt).get(o))==null||r._setVisible(Wr,!1,!0));n._setVisible(Wr,!!e,!0),u(this,fr,null)}setOCGState({state:t,preserveRB:e}){let s;for(const n of t){switch(n){case"ON":case"OFF":case"Toggle":s=n;continue}const r=i(this,rt).get(n);if(r)switch(s){case"ON":this.setVisibility(n,!0,e);break;case"OFF":this.setVisibility(n,!1,e);break;case"Toggle":this.setVisibility(n,!r.visible,e);break}}u(this,fr,null)}get hasInitialVisibility(){return i(this,Pl)===null||this.getHash()===i(this,Pl)}getOrder(){return i(this,rt).size?i(this,Dl)?i(this,Dl).slice():[...i(this,rt).keys()]:null}getGroup(t){return i(this,rt).get(t)||null}getHash(){if(i(this,fr)!==null)return i(this,fr);const t=new Tp;for(const[e,s]of i(this,rt))t.update(`${e}:${s.visible}`);return u(this,fr,t.hexdigest())}[Symbol.iterator](){return i(this,rt).entries()}get serializable(){const t=new Map;for(const[e,s]of i(this,rt))t.set(e,s.serializable);return{data:i(this,Kc),renderingIntent:this.renderingIntent,groupState:t}}static fromSerializable({data:t,renderingIntent:e,groupState:s}){return new tm(t,e,s)}};fr=new WeakMap,rt=new WeakMap,Pl=new WeakMap,Dl=new WeakMap,Kc=new WeakMap,qc=new WeakSet,zp=function(t){const e=t.length;if(e<2)return!0;const s=t[0];for(let n=1;nf===m+1)&&u(this,Vt,null)}deletePages(t){b(this,Me,Uh).call(this);const e=i(this,Vt),s=b(this,Me,Gh).call(this);u(this,_i,{pageNumberToId:e.slice(),pagesNumber:i(this,ge),prevPageNumbers:i(this,Zs).slice()});const n=i(this,ge)-t.length;u(this,ge,n);const r=u(this,Vt,new Uint32Array(n));u(this,Zs,new Int32Array(n));let a=0,o=0;for(const l of t){const h=l-1;h!==a&&(r.set(e.subarray(a,h),o),o+=h-a),a=h+1}ai(this,Vt)[e-1])})}cancelCopy(){u(this,Ga,null)}pastePages(t){b(this,Me,Uh).call(this);const e=i(this,Vt),s=b(this,Me,Gh).call(this),{pageNumbers:n,pageIds:r}=i(this,Ga),a=i(this,ge)+n.length;u(this,ge,a);const o=u(this,Vt,new Uint32Array(a));u(this,Zs,new Int32Array(a)),o.set(e.subarray(0,t),0),o.set(r,t),o.set(e.subarray(t),t+n.length),b(this,Me,wu).call(this,s,null,t,n),u(this,Ga,null)}hasBeenAltered(){return i(this,Vt)!==null}getPageMappingForSaving(t=null){t??(t=b(this,Me,Gh).call(this));let e=0;for(const n of t.values())e=Math.max(e,n.length);const s=new Array(e);for(let n=0;na[0]-o[0]);for(let a=0,o=n.length;as-n);const e=new Map;for(let s=0,n=t.length;s=s&&h({...Promise.withResolvers(),data:Go});var Os;class Qb{constructor(){g(this,Os,new Map)}get(t,e=null){if(e){const n=i(this,Os).getOrInsertComputed(t,Mm);return n.promise.then(()=>e(n.data)),null}const s=i(this,Os).get(t);if(!s||s.data===Go)throw new Error(`Requesting object that isn't resolved yet ${t}.`);return s.data}has(t){const e=i(this,Os).get(t);return!!e&&e.data!==Go}delete(t){const e=i(this,Os).get(t);return!e||e.data===Go?!1:(i(this,Os).delete(t),!0)}resolve(t,e=null){const s=i(this,Os).getOrInsertComputed(t,Mm);if(s.data!==Go)throw new Error(`Object already resolved ${t}.`);s.data=e,s.resolve()}clear(){var t;for(const{data:e}of i(this,Os).values())(t=e==null?void 0:e.bitmap)==null||t.close();i(this,Os).clear()}*[Symbol.iterator](){for(const[t,{data:e}]of i(this,Os))e!==Go&&(yield[t,e])}}Os=new WeakMap;const G0=1e5,Pm=30;var Rm,pr,Re,Qc,Jc,Il,$a,hn,Zc,td,za,ed,Ll,gr,Rl,sd,Fl,ja,id,nd,Ol,Va,rd,Nl,Bl,Nn,Jb,Zb,jp,xs,vu,Vp,ty,ey;const de=class de{constructor({textContentSource:t,images:e,container:s,viewport:n}){g(this,Nn);g(this,pr,Promise.withResolvers());g(this,Re,null);g(this,Qc,!1);g(this,Jc,!!((Rm=globalThis.FontInspector)!=null&&Rm.enabled));g(this,Il,null);g(this,$a,null);g(this,hn,null);g(this,Zc,0);g(this,td,0);g(this,za,null);g(this,ed,null);g(this,Ll,0);g(this,gr,0);g(this,Rl,Object.create(null));g(this,sd,[]);g(this,Fl,null);g(this,ja,[]);g(this,id,new WeakMap);g(this,nd,null);var h;if(t instanceof ReadableStream)u(this,Fl,t);else if(typeof t=="object")u(this,Fl,new ReadableStream({start(c){c.enqueue(t),c.close()}}));else throw new Error('No "textContentSource" parameter specified.');u(this,Re,u(this,ed,s)),u(this,Il,e),u(this,gr,n.scale*Hi.pixelRatio),u(this,Ll,n.rotation),u(this,hn,{div:null,properties:null,ctx:null});const{pageWidth:r,pageHeight:a,pageX:o,pageY:l}=n.rawDims;u(this,nd,[1,0,0,-1,-o,l+a]),u(this,td,r),u(this,Zc,a),b(h=de,xs,ty).call(h),s.style.setProperty("--min-font-size",i(de,Nl)),Do(s,n),i(this,pr).promise.finally(()=>{i(de,Bl).delete(this),u(this,hn,null),u(this,Rl,null)}).catch(()=>{})}static get fontFamilyMap(){const{isWindows:t,isFirefox:e}=bt.platform;return $(this,"fontFamilyMap",new Map([["sans-serif",`${t&&e?"Calibri, ":""}sans-serif`],["monospace",`${t&&e?"Lucida Console, ":""}monospace`]]))}render(){i(this,Il)&&i(this,Re).append(i(this,Il).render());const t=()=>{i(this,za).read().then(({value:e,done:s})=>{if(s){i(this,pr).resolve();return}i(this,$a)??u(this,$a,e.lang),Object.assign(i(this,Rl),e.styles),b(this,Nn,Jb).call(this,e.items),t()},i(this,pr).reject)};return u(this,za,i(this,Fl).getReader()),i(de,Bl).add(this),t(),i(this,pr).promise}update({viewport:t,onBefore:e=null}){var r;const s=t.scale*Hi.pixelRatio,n=t.rotation;if(n!==i(this,Ll)&&(e==null||e(),u(this,Ll,n),Do(i(this,ed),{rotation:n})),s!==i(this,gr)){e==null||e(),u(this,gr,s);const a={div:null,properties:null,ctx:b(r=de,xs,vu).call(r,i(this,$a))};for(const o of i(this,ja))a.properties=i(this,id).get(o),a.div=o,b(this,Nn,jp).call(this,a)}}cancel(){var e;const t=new Ur("TextLayer task cancelled.");(e=i(this,za))==null||e.cancel(t).catch(()=>{}),u(this,za,null),i(this,pr).reject(t)}get textDivs(){return i(this,ja)}get textContentItemsStr(){return i(this,sd)}static cleanup(){if(!(i(this,Bl).size>0)){i(this,Ol).clear();for(const{canvas:t}of i(this,Va).values())t.remove();i(this,Va).clear()}}};pr=new WeakMap,Re=new WeakMap,Qc=new WeakMap,Jc=new WeakMap,Il=new WeakMap,$a=new WeakMap,hn=new WeakMap,Zc=new WeakMap,td=new WeakMap,za=new WeakMap,ed=new WeakMap,Ll=new WeakMap,gr=new WeakMap,Rl=new WeakMap,sd=new WeakMap,Fl=new WeakMap,ja=new WeakMap,id=new WeakMap,nd=new WeakMap,Ol=new WeakMap,Va=new WeakMap,rd=new WeakMap,Nl=new WeakMap,Bl=new WeakMap,Nn=new WeakSet,Jb=function(t){var n,r;if(i(this,Qc))return;(r=i(this,hn)).ctx??(r.ctx=b(n=de,xs,vu).call(n,i(this,$a)));const e=i(this,ja),s=i(this,sd);for(const a of t){if(e.length>G0){W("Ignoring additional textDivs for performance reasons."),u(this,Qc,!0);return}if(a.str===void 0){if(a.type==="beginMarkedContentProps"||a.type==="beginMarkedContent"){const o=i(this,Re);u(this,Re,document.createElement("span")),i(this,Re).classList.add("markedContent"),a.id&&i(this,Re).setAttribute("id",a.id),a.tag==="Artifact"&&(i(this,Re).ariaHidden=!0),o.append(i(this,Re))}else a.type==="endMarkedContent"&&u(this,Re,i(this,Re).parentNode);continue}s.push(a.str),b(this,Nn,Zb).call(this,a)}},Zb=function(t){var y;const e=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:t.str!=="",hasEOL:t.hasEOL,fontSize:0};i(this,ja).push(e);const n=D.transform(i(this,nd),t.transform);let r=Math.atan2(n[1],n[0]);const a=i(this,Rl)[t.fontName];a.vertical&&(r+=Math.PI/2);let o=i(this,Jc)&&a.fontSubstitution||a.fontFamily;o=de.fontFamilyMap.get(o)||o;const l=Math.hypot(n[2],n[3]),h=l*b(y=de,xs,ey).call(y,o,a,i(this,$a));let c,d;r===0?(c=n[4],d=n[5]-h):(c=n[4]+h*Math.sin(r),d=n[5]-h*Math.cos(r));const f=e.style;f.left=`${(100*c/i(this,td)).toFixed(2)}%`,f.top=`${(100*d/i(this,Zc)).toFixed(2)}%`,f.setProperty("--font-height",`${l.toFixed(2)}px`),f.fontFamily=o,s.fontSize=l,e.setAttribute("role","presentation"),e.textContent=t.str,e.dir=t.dir,i(this,Jc)&&(e.dataset.fontName=a.fontSubstitutionLoadedName||t.fontName),r!==0&&(s.angle=r*(180/Math.PI));let m=!1;if(t.str.length>1)m=!0;else if(t.str!==" "&&t.transform[0]!==t.transform[3]){const A=Math.abs(t.transform[0]),v=Math.abs(t.transform[3]);A!==v&&Math.max(A,v)/Math.min(A,v)>1.5&&(m=!0)}if(m&&(s.canvasWidth=a.vertical?t.height:t.width),i(this,id).set(e,s),i(this,hn).div=e,i(this,hn).properties=s,b(this,Nn,jp).call(this,i(this,hn)),s.hasText&&i(this,Re).append(e),s.hasEOL){const A=document.createElement("br");A.setAttribute("role","presentation"),i(this,Re).append(A)}},jp=function(t){var a;const{div:e,properties:s,ctx:n}=t,{style:r}=e;if(s.canvasWidth!==0&&s.hasText){const{fontFamily:o}=r,{canvasWidth:l,fontSize:h}=s;b(a=de,xs,Vp).call(a,n,h*i(this,gr),o);const{width:c}=n.measureText(e.textContent);c>0&&r.setProperty("--scale-x",l*i(this,gr)/c)}s.angle!==0&&r.setProperty("--rotate",`${s.angle}deg`)},xs=new WeakSet,vu=function(t=null){let e=i(this,Va).get(t||(t=""));if(!e){const s=document.createElement("canvas");s.style.cssText="position:absolute;top:0;left:0;width:0;height:0;display:none;letter-spacing:normal;word-spacing:normal",s.lang=t,document.body.append(s),e=s.getContext("2d",{alpha:!1,willReadFrequently:!0}),i(this,Va).set(t,e),i(this,rd).set(e,{size:0,family:""})}return e},Vp=function(t,e,s){const n=i(this,rd).get(t);e===n.size&&s===n.family||(t.font=`${e}px ${s}`,n.size=e,n.family=s)},ty=function(){if(i(this,Nl)!==null)return;const t=document.createElement("div");t.style.opacity=0,t.style.lineHeight=1,t.style.fontSize="1px",t.style.position="absolute",t.textContent="X",document.body.append(t),u(this,Nl,t.getBoundingClientRect().height),t.remove()},ey=function(t,e,s){const n=i(this,Ol).get(t);if(n)return n;const r=b(this,xs,vu).call(this,s);r.canvas.width=r.canvas.height=Pm,b(this,xs,Vp).call(this,r,Pm,t);const a=r.measureText(""),o=a.fontBoundingBoxAscent,l=Math.abs(a.fontBoundingBoxDescent);r.canvas.width=r.canvas.height=0;let h=.8;return o?h=o/(o+l):(bt.platform.isFirefox&&W("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering."),e.ascent?h=e.ascent:e.descent&&(h=1+e.descent)),i(this,Ol).set(t,h),h},g(de,xs),g(de,Ol,new Map),g(de,Va,new Map),g(de,rd,new WeakMap),g(de,Nl,null),g(de,Bl,new Set);let ic=de;const $0=100;function z0(p={}){const t=new Wp,{docId:e}=t,s=p.url?YA(p.url):null,n=p.data?KA(p.data):null,r=p.httpHeaders||null,a=p.withCredentials===!0,o=p.password??null,l=p.range instanceof sy?p.range:null,h=Number.isInteger(p.rangeChunkSize)&&p.rangeChunkSize>0?p.rangeChunkSize:2**16;let c=p.worker instanceof nc?p.worker:null;const d=p.verbosity,f=typeof p.docBaseUrl=="string"&&!Rf(p.docBaseUrl)?p.docBaseUrl:null,m=Jd(p.cMapUrl),y=p.cMapPacked!==!1,A=Jd(p.iccUrl),v=Jd(p.standardFontDataUrl),w=Jd(p.wasmUrl),S=p.stopAtErrors!==!0,E=Number.isInteger(p.maxImageSize)&&p.maxImageSize>-1?p.maxImageSize:-1,x=typeof p.isOffscreenCanvasSupported=="boolean"?p.isOffscreenCanvasSupported:!vs,C=typeof p.isImageDecoderSupported=="boolean"?p.isImageDecoderSupported:!vs,T=Number.isInteger(p.canvasMaxAreaInBytes)?p.canvasMaxAreaInBytes:-1,k=typeof p.disableFontFace=="boolean"?p.disableFontFace:vs,M=p.fontExtraProperties===!0,P=p.enableXfa===!0,L=p.ownerDocument||globalThis.document,O=p.disableRange===!0,Q=p.disableStream===!0,J=p.disableAutoFetch===!0,q=p.pdfBug===!0,Ft=p.CanvasFactory||(vs?i0:ZA),F=p.FilterFactory||(vs?s0:t0),U=p.BinaryDataFactory||(vs?n0:ym),Gt=p.enableHWA===!0,ts=p.enableWebGPU===!0?l0():Promise.resolve(!1),ce=p.useWasm!==!1,Xt=p.pagesMapper||new U0,dt=typeof p.useSystemFonts=="boolean"?p.useSystemFonts:!vs&&!k,li=typeof p.useWorkerFetch=="boolean"?p.useWorkerFetch:!!(U===ym&&m&&y&&v&&w&&Kh(m,document.baseURI)&&Kh(v,document.baseURI)&&Kh(w,document.baseURI)),xh=null;pA(d);const te={canvasFactory:new Ft({ownerDocument:L,enableHWA:Gt}),filterFactory:new F({docId:e,ownerDocument:L}),binaryDataFactory:li?null:new U({cMapUrl:m,standardFontDataUrl:v,wasmUrl:w})};c||(c=nc.create({verbosity:d,port:Pn.workerPort}),t._worker=c);const wt={docId:e,apiVersion:"6.2.108",data:n,password:o,disableAutoFetch:J,rangeChunkSize:h,docBaseUrl:f,enableXfa:P,evaluatorOptions:{maxImageSize:E,disableFontFace:k,ignoreErrors:S,isOffscreenCanvasSupported:x,isImageDecoderSupported:C,canvasMaxAreaInBytes:T,fontExtraProperties:M,useSystemFonts:dt,useWasm:ce,useWorkerFetch:li,cMapUrl:m,cMapPacked:y,iccUrl:A,standardFontDataUrl:v,wasmUrl:w,hasGPU:!1}},jf={ownerDocument:L,pdfBug:q,styleElement:xh,enableHWA:Gt,loadingParams:{disableAutoFetch:J,enableXfa:P}};return Promise.all([c.promise,ts]).then(function([,oA]){if(c.destroyed)throw new Error("Worker was destroyed");wt.evaluatorOptions.hasGPU=oA;const lA=c.messageHandler.sendWithPromise("GetDocRequest",wt,n?[n.buffer]:null);let Vf;if(!n)if(l)Vf=new _0({pdfDataRangeTransport:l,disableRange:O,disableStream:Q});else if(s){const Wf=N0(s);Vf=new Wf({url:s,httpHeaders:r,withCredentials:a,rangeChunkSize:h,disableRange:O,disableStream:Q})}else throw new Error("getDocument - expected either `data`, `range`, or `url` parameter.");return lA.then(Wf=>{if(c.destroyed)throw new Error("Worker was destroyed");const nm=new Fh(e,Wf,c.port),hA=new V0(nm,t,Vf,jf,te,Xt);if(t._transport=hA,t.destroyed)throw new Error("Loading aborted");nm.send("Ready",null)})}).catch(t._capability.reject).finally(t._setupCapability.resolve),t}var Af;const wf=class wf{constructor(){_(this,"_capability",Promise.withResolvers());_(this,"_setupCapability",Promise.withResolvers());_(this,"_transport",null);_(this,"_worker",null);_(this,"docId",`d${Et(wf,Af)._++}`);_(this,"destroyed",!1);_(this,"onPassword",null);_(this,"onProgress",null)}get promise(){return this._capability.promise}async destroy(){var t,e,s,n;this.destroyed=!0,this._capability.promise.catch(()=>{});try{(t=this._worker)!=null&&t.port&&(this._worker._pendingDestroy=!0),await this._setupCapability.promise,await((e=this._transport)==null?void 0:e.destroy())}catch(r){throw(s=this._worker)!=null&&s.port&&delete this._worker._pendingDestroy,r}this._transport=null,(n=this._worker)==null||n.destroy(),this._worker=null}async getData(){return this._transport.getData()}};Af=new WeakMap,g(wf,Af,0);let Wp=wf;var Hl,Wa;class sy{constructor(t,e,s=!1,n=null){g(this,Hl,Promise.withResolvers());g(this,Wa,null);this.length=t,this.initialData=e,this.progressiveDone=s,this.contentDispositionFilename=n}onDataRange(t,e){i(this,Wa).call(this,{type:"range",begin:t,chunk:e})}onDataProgressiveRead(t){i(this,Hl).promise.then(()=>{i(this,Wa).call(this,{type:"progressiveRead",chunk:t})})}onDataProgressiveDone(){i(this,Hl).promise.then(()=>{i(this,Wa).call(this,{type:"progressiveDone"})})}transportReady(t){u(this,Wa,t),i(this,Hl).resolve()}requestDataRange(t,e){it("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}Hl=new WeakMap,Wa=new WeakMap;class j0{constructor(t,e){this._pdfInfo=t,this._transport=e}get pagesMapper(){return this._transport.pagesMapper}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return $(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAttachmentContent(t){return this._transport.getAttachmentContent(t)}getAnnotationsByType(t,e){return this._transport.getAnnotationsByType(t,e)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getOptionalContentConfig(e)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}extractPages(t){return this._transport.extractPages(t)}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}getRawData(t){return this._transport.getRawData(t)}cleanup(t=!1){return this._transport.startCleanup(t||this.isPureXfa)}cachedPageNumber(t){return this._transport.cachedPageNumber(t)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}getSignatures(){return this._transport.getSignatures()}getSignatureData(t){return this._transport.getSignatureData(t)}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var cn,Xa,Ya,$h;const em=class em{constructor(t,e,s,n,r=!1){g(this,Ya);g(this,cn,!1);g(this,Xa,null);this._pageIndex=t,this._pageInfo=e,this._transport=s,this._stats=r?new om:null,this._pdfBug=r,this.commonObjs=s.commonObjs,this.objs=new Qb,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null,u(this,Xa,n),this.imageCoordinates=null}clone(t){const e=new em(t,this._pageInfo,this._transport,i(this,Xa),this._pdfBug);return e.clonedFromIndex=this.clonedFromIndex??this._pageIndex,this._transport.updatePage(e),e}get pageNumber(){return this._pageIndex+1}set pageNumber(t){this._pageIndex=t-1,this._transport.updatePage(this)}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:t,rotation:e=this.rotate,offsetX:s=0,offsetY:n=0,dontFlip:r=!1}={}){return new Xd({viewBox:this.view,userUnit:this.userUnit,scale:t,rotation:e,offsetX:s,offsetY:n,dontFlip:r})}getAnnotations({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getAnnotations(this._pageIndex,e)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return $(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var t;return((t=this._transport._htmlForXfa)==null?void 0:t.children[this._pageIndex])||null}render({canvasContext:t,canvas:e=t.canvas,viewport:s,intent:n="display",annotationMode:r=Hn.ENABLE,transform:a=null,background:o=null,optionalContentConfigPromise:l=null,annotationCanvasMap:h=null,pageColors:c=null,printAnnotationStorage:d=null,isEditing:f=!1,recordImages:m=!1,recordOperations:y=!1,operationsFilter:A=null}){var J,q,Ft;(J=this._stats)==null||J.time("Overall");const v=this._transport.getRenderingIntent(n,r,d,f),{renderingIntent:w,cacheKey:S}=v;u(this,cn,!1),l||(l=this._transport.getOptionalContentConfig(w));const E=this._intentStates.getOrInsertComputed(S,ap);E.streamReaderCancelTimeout&&(clearTimeout(E.streamReaderCancelTimeout),E.streamReaderCancelTimeout=null);const x=!!(w&ws.PRINT);E.displayReadyCapability||(E.displayReadyCapability=Promise.withResolvers(),E.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(q=this._stats)==null||q.time("Page Request"),this._pumpOperatorList(v));const C=!!(this._pdfBug&&((Ft=globalThis.StepperManager)!=null&&Ft.enabled)),T=!!e&&!this.recordedBBoxes&&(y||C),k=!!e&&!this.imageCoordinates&&m,M=F=>{var U,Gt,$t,ts;if(E.renderTasks.delete(O),T){const ce=(U=O.gfx)==null?void 0:U.dependencyTracker.take();ce&&((Gt=O.stepper)==null||Gt.setOperatorBBoxes(ce,O.gfx.dependencyTracker.takeDebugMetadata()),y&&(this.recordedBBoxes=ce))}k&&!F&&(this.imageCoordinates=($t=O.gfx)==null?void 0:$t.imagesTracker.take()),x&&u(this,cn,!0),b(this,Ya,$h).call(this),F?(O.capability.reject(F),this._abortOperatorList({intentState:E,reason:F instanceof Error?F:new Error(F)})):O.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),(ts=globalThis.Stats)!=null&&ts.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))};let P=null,L=null;(T||k)&&(L=new HA(e,E.operatorList.length)),T&&(P=new UA(L,C));const O=new Yp({callback:M,params:{canvas:e,canvasContext:t,dependencyTracker:P??L,imagesTracker:k?new Mp(e):null,viewport:s,transform:a,background:o},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:h,operatorList:E.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!x,pdfBug:this._pdfBug,pageColors:c,enableHWA:this._transport.enableHWA,operationsFilter:A});(E.renderTasks||(E.renderTasks=new Set)).add(O);const Q=O.task;return Promise.all([E.displayReadyCapability.promise,l]).then(([F,U])=>{var Gt;if(this.destroyed){M();return}if((Gt=this._stats)==null||Gt.time("Rendering"),!(U.renderingIntent&w))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");O.initializeGraphics({transparency:F,optionalContentConfig:U}),O.operatorListChanged()}).catch(M),Q}getOperatorList({intent:t="display",annotationMode:e=Hn.ENABLE,printAnnotationStorage:s=null,isEditing:n=!1}={}){var h;function r(){o.operatorList.lastChunk&&(o.opListReadCapability.resolve(o.operatorList),o.renderTasks.delete(l))}const a=this._transport.getRenderingIntent(t,e,s,n,!0),o=this._intentStates.getOrInsertComputed(a.cacheKey,ap);let l;return o.opListReadCapability||(l=Object.create(null),l.operatorListChanged=r,o.opListReadCapability=Promise.withResolvers(),(o.renderTasks||(o.renderTasks=new Set)).add(l),o.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(h=this._stats)==null||h.time("Page Request"),this._pumpOperatorList(a)),o.opListReadCapability.promise}streamTextContent({includeMarkedContent:t=!1,disableNormalization:e=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageId:i(this,Xa).getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,includeMarkedContent:t===!0,disableNormalization:e===!0},{highWaterMark:100,size(n){return n.items.length}})}async getTextContent(t={}){if(this._transport._htmlForXfa)return this.getXfa().then(n=>tc.textContent(n));const e=this.streamTextContent(t),s={items:[],styles:Object.create(null),lang:null};for await(const n of e)s.lang??(s.lang=n.lang),Object.assign(s.styles,n.styles),s.items.push(...n.items);return s}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const t=[];for(const e of this._intentStates.values())if(this._abortOperatorList({intentState:e,reason:new Error("Page was destroyed."),force:!0}),!e.opListReadCapability)for(const s of e.renderTasks)t.push(s.completed),s.cancel();return this.objs.clear(),u(this,cn,!1),Promise.all(t)}cleanup(t=!1){u(this,cn,!0);const e=b(this,Ya,$h).call(this);return t&&e&&this._stats&&(this._stats=new om),e}_startRenderPage(t,e){var n,r;const s=this._intentStates.get(e);s&&((n=this._stats)==null||n.timeEnd("Page Request"),(r=s.displayReadyCapability)==null||r.resolve(t))}_renderPageChunk(t,e){for(let s=0,n=t.length;s{l.read().then(({value:d,done:f})=>{if(f){h.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(d,h),c())},d=>{if(h.streamReader=null,!this._transport.destroyed){if(h.operatorList){h.operatorList.lastChunk=!0;for(const f of h.renderTasks)f.operatorListChanged();b(this,Ya,$h).call(this)}if(h.displayReadyCapability)h.displayReadyCapability.reject(d);else if(h.opListReadCapability)h.opListReadCapability.reject(d);else throw d}})};c()}_abortOperatorList({intentState:t,reason:e,force:s=!1}){if(t.streamReader){if(t.streamReaderCancelTimeout&&(clearTimeout(t.streamReaderCancelTimeout),t.streamReaderCancelTimeout=null),!s){if(t.renderTasks.size>0)return;if(e instanceof $g){let n=$0;e.extraDelay>0&&e.extraDelay<1e3&&(n+=e.extraDelay),t.streamReaderCancelTimeout=setTimeout(()=>{t.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:t,reason:e,force:!0})},n);return}}if(t.streamReader.cancel(new Ur(e.message)).catch(()=>{}),t.streamReader=null,!this._transport.destroyed){for(const[n,r]of this._intentStates)if(r===t){this._intentStates.delete(n);break}this.cleanup()}}}get stats(){return this._stats}};cn=new WeakMap,Xa=new WeakMap,Ya=new WeakSet,$h=function(){if(!i(this,cn)||this.destroyed)return!1;for(const{renderTasks:t,operatorList:e}of this._intentStates.values())if(t.size>0||!e.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),u(this,cn,!1),!0};let Xp=em;var mr,ti,dn,Ka,vf,qa,Qa,Ge,Su,iy,ny,zh,Ul,Eu;const Ot=class Ot{constructor({name:t=null,port:e=null,verbosity:s=gA()}={}){g(this,Ge);g(this,mr,Promise.withResolvers());g(this,ti,null);g(this,dn,null);g(this,Ka,null);if(this.name=t,this.destroyed=!1,this.verbosity=s,e){if(i(Ot,Qa).has(e))throw new Error("Cannot use more than one PDFWorker per port.");i(Ot,Qa).set(e,this),b(this,Ge,iy).call(this,e)}else b(this,Ge,ny).call(this)}get promise(){return i(this,mr).promise}get port(){return i(this,dn)}get messageHandler(){return i(this,ti)}destroy(){var t,e;this.destroyed=!0,(t=i(this,Ka))==null||t.terminate(),u(this,Ka,null),i(Ot,Qa).delete(i(this,dn)),u(this,dn,null),(e=i(this,ti))==null||e.destroy(),u(this,ti,null)}static create(t){const e=i(this,Qa).get(t==null?void 0:t.port);if(e){if(e._pendingDestroy)throw new Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return e}return new Ot(t)}static get workerSrc(){if(Pn.workerSrc)return Pn.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return $(this,"_setupFakeWorkerGlobal",(async()=>i(this,Ul,Eu)?i(this,Ul,Eu):(await import(this.workerSrc)).WorkerMessageHandler)())}};mr=new WeakMap,ti=new WeakMap,dn=new WeakMap,Ka=new WeakMap,vf=new WeakMap,qa=new WeakMap,Qa=new WeakMap,Ge=new WeakSet,Su=function(){i(this,mr).resolve(),i(this,ti).send("configure",{verbosity:this.verbosity})},iy=function(t){u(this,dn,t),u(this,ti,new Fh("main","worker",t)),i(this,ti).on("ready",()=>{}),b(this,Ge,Su).call(this)},ny=function(){if(i(Ot,qa)||i(Ot,Ul,Eu)){b(this,Ge,zh).call(this);return}let{workerSrc:t}=Ot;try{Ot._isSameOrigin(window.location,t)||(t=Ot._createCDNWrapper(new URL(t,window.location).href));const e=new Worker(t,{type:"module"}),s=new Fh("main","worker",e),n=()=>{r.abort(),s.destroy(),e.terminate(),this.destroyed?i(this,mr).reject(new Error("Worker was destroyed")):b(this,Ge,zh).call(this)},r=new AbortController;e.addEventListener("error",()=>{i(this,Ka)||n()},{signal:r.signal}),s.on("test",o=>{if(r.abort(),this.destroyed||!o){n();return}u(this,ti,s),u(this,dn,e),u(this,Ka,e),b(this,Ge,Su).call(this)}),s.on("ready",o=>{if(r.abort(),this.destroyed){n();return}try{a()}catch{b(this,Ge,zh).call(this)}});const a=()=>{const o=new Uint8Array;s.send("test",o,[o.buffer])};a();return}catch{If("The worker has been disabled.")}b(this,Ge,zh).call(this)},zh=function(){i(Ot,qa)||(W("Setting up fake worker."),u(Ot,qa,!0)),Ot._setupFakeWorkerGlobal.then(t=>{if(this.destroyed){i(this,mr).reject(new Error("Worker was destroyed"));return}const e=new JA;u(this,dn,e);const s=`fake${Et(Ot,vf)._++}`,n=new Fh(s+"_worker",s,e);t.setup(n,e),u(this,ti,new Fh(s,s+"_worker",e)),b(this,Ge,Su).call(this)}).catch(t=>{i(this,mr).reject(new Error(`Setting up fake worker failed: "${t.message}".`))})},Ul=new WeakSet,Eu=function(){var t;try{return((t=globalThis.pdfjsWorker)==null?void 0:t.WorkerMessageHandler)||null}catch{return null}},g(Ot,Ul),g(Ot,vf,0),g(Ot,qa,!1),g(Ot,Qa,new WeakMap),vs&&(u(Ot,qa,!0),Pn.workerSrc||(Pn.workerSrc="./pdf.worker.mjs")),Ot._isSameOrigin=(t,e)=>{const s=URL.parse(t);if(!(s!=null&&s.origin)||s.origin==="null")return!1;const n=new URL(e,s);return s.origin===n.origin},Ot._createCDNWrapper=t=>{const e=`await import("${t}");`;return URL.createObjectURL(new Blob([e],{type:"text/javascript"}))};let nc=Ot;var os,Ja,un,ei,Za,Gl,fn,Gs,$o,xu;class V0{constructor(t,e,s,n,r,a){g(this,Gs);_(this,"downloadInfoCapability",Promise.withResolvers());g(this,os,null);g(this,Ja,new Map);g(this,un,null);g(this,ei,new Map);g(this,Za,new Map);g(this,Gl,new Map);g(this,fn,null);this.messageHandler=t,this.loadingTask=e,u(this,un,s),this.commonObjs=new Qb,this.fontLoader=new GA({ownerDocument:n.ownerDocument,styleElement:n.styleElement}),this.enableHWA=n.enableHWA,this.loadingParams=n.loadingParams,this._params=n,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.binaryDataFactory=r.binaryDataFactory,this.pagesMapper=a,this.destroyed=!1,this.destroyCapability=null,this.setupMessageHandler()}updatePage(t){const{_pageIndex:e}=t;i(this,ei).set(e,t),i(this,Za).set(e,Promise.resolve(t))}get annotationStorage(){return $(this,"annotationStorage",new jg)}getRenderingIntent(t,e=Hn.ENABLE,s=null,n=!1,r=!1){let a=ws.DISPLAY,o=ec;switch(t){case"any":a=ws.ANY;break;case"display":break;case"print":a=ws.PRINT;break;default:W(`getRenderingIntent - invalid intent: ${t}`)}const l=a&ws.PRINT&&s instanceof Ab?s:this.annotationStorage;switch(e){case Hn.DISABLE:a+=ws.ANNOTATIONS_DISABLE;break;case Hn.ENABLE:break;case Hn.ENABLE_FORMS:a+=ws.ANNOTATIONS_FORMS;break;case Hn.ENABLE_STORAGE:a+=ws.ANNOTATIONS_STORAGE,o=l.serializable;break;default:W(`getRenderingIntent - invalid annotationMode: ${e}`)}n&&(a+=ws.IS_EDITING),r&&(a+=ws.OPLIST);const{ids:h,hash:c}=l.modifiedIds,d=[a,o.hash,c];return{renderingIntent:a,cacheKey:d.join("_"),annotationStorageSerializable:o,modifiedIds:h}}destroy(){var s;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),(s=i(this,fn))==null||s.reject(new Error("Worker was destroyed during onPassword callback"));const t=[];for(const n of i(this,ei).values())t.push(n._destroy());i(this,ei).clear(),i(this,Za).clear(),i(this,Gl).clear(),Object.hasOwn(this,"annotationStorage")&&this.annotationStorage.resetModified();const e=this.messageHandler.sendWithPromise("Terminate",null);return t.push(e),Promise.all(t).then(()=>{var n,r;this.commonObjs.clear(),this.fontLoader.clear(),i(this,Ja).clear(),this.filterFactory.destroy(),ic.cleanup(),(n=i(this,un))==null||n.cancelAllRequests(new Ur("Worker was terminated.")),(r=this.messageHandler)==null||r.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:t,loadingTask:e}=this;t.on("GetReader",(s,n)=>{Rt(i(this,un),"GetReader - no `BasePDFStream` instance available."),u(this,os,i(this,un).getFullReader()),i(this,os).onProgress=r=>b(this,Gs,xu).call(this,r),n.onPull=()=>{i(this,os).read().then(function({value:r,done:a}){if(a){n.close();return}Rt(r instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),n.enqueue(new Uint8Array(r),1,[r])}).catch(r=>{n.error(r)})},n.onCancel=r=>{i(this,os).cancel(r),n.ready.catch(a=>{if(!this.destroyed)throw a})}}),t.on("ReaderHeadersReady",async s=>{await i(this,os).headersReady;const{isStreamingSupported:n,isRangeSupported:r,contentLength:a}=i(this,os);return n&&r&&(i(this,os).onProgress=null),{isStreamingSupported:n,isRangeSupported:r,contentLength:a}}),t.on("GetRangeReader",(s,n)=>{Rt(i(this,un),"GetRangeReader - no `BasePDFStream` instance available.");const r=i(this,un).getRangeReader(s.begin,s.end);if(!r){n.close();return}n.onPull=()=>{r.read().then(function({value:a,done:o}){if(o){n.close();return}Rt(a instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),n.enqueue(new Uint8Array(a),1,[a])}).catch(a=>{n.error(a)})},n.onCancel=a=>{r.cancel(a),n.ready.catch(o=>{if(!this.destroyed)throw o})}}),t.on("GetDoc",({pdfInfo:s})=>{this.pagesMapper.pagesNumber=s.numPages,this._numPages=s.numPages,this._htmlForXfa=s.htmlForXfa,delete s.htmlForXfa,e._capability.resolve(new j0(s,this))}),t.on("DocException",s=>{e._capability.reject(je(s))}),t.on("PasswordRequest",s=>{u(this,fn,Promise.withResolvers());try{if(!e.onPassword)throw je(s);const n=r=>{r instanceof Error?i(this,fn).reject(r):i(this,fn).resolve({password:r})};e.onPassword(n,s.code)}catch(n){i(this,fn).reject(n)}return i(this,fn).promise}),t.on("DataLoaded",s=>{b(this,Gs,xu).call(this,{loaded:s.length,total:s.length}),this.downloadInfoCapability.resolve(s)}),t.on("StartRenderPage",s=>{if(this.destroyed)return;i(this,ei).get(s.pageIndex)._startRenderPage(s.transparency,s.cacheKey)}),t.on("commonobj",([s,n,r])=>{var a;if(this.destroyed||this.commonObjs.has(s))return null;switch(n){case"Font":if("error"in r){const f=r.error;W(`Error during font loading: ${f}`),this.commonObjs.resolve(s,f);break}const o=new VA(r),l=this._params.pdfBug&&((a=globalThis.FontInspector)!=null&&a.enabled)?(f,m)=>globalThis.FontInspector.fontAdded(f,m):null,h=new $A(o,l,r.charProcOperatorList,r.extra);this.fontLoader.bind(h).catch(()=>t.sendWithPromise("FontFallback",{id:s})).finally(()=>{h.fontExtraProperties||h.clearData(),this.commonObjs.resolve(s,h)});break;case"CopyLocalImage":const{imageRef:c}=r;Rt(c,"The imageRef must be defined.");for(const f of i(this,ei).values())for(const[,m]of f.objs){if((m==null?void 0:m.ref)!==c)continue;if(!m.dataLen)return null;const y=structuredClone(m);return this.commonObjs.resolve(s,y),m.dataLen}break;case"FontPath":this.commonObjs.resolve(s,new XA(r));break;case"Image":this.commonObjs.resolve(s,r);break;case"Pattern":const d=new WA(r);this.commonObjs.resolve(s,d.getIR());break;default:throw new Error(`Got unknown common object type ${n}`)}return null}),t.on("obj",([s,n,r,a])=>{var l;if(this.destroyed)return;const o=i(this,ei).get(n);if(!o.objs.has(s)){if(o._intentStates.size===0){(l=a==null?void 0:a.bitmap)==null||l.close();return}switch(r){case"Image":case"Pattern":o.objs.resolve(s,a);break;default:throw new Error(`Got unknown object type ${r}`)}}}),t.on("DocProgress",s=>{this.destroyed||b(this,Gs,xu).call(this,s)}),t.on("FetchBinaryData",async s=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.binaryDataFactory)throw new Error("`BinaryDataFactory` not initialized, see the `useWorkerFetch` parameter.");return this.binaryDataFactory.fetch(s)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var s;this.annotationStorage.size<=0&&W("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:t,transfer:e}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:t,filename:((s=i(this,os))==null?void 0:s.filename)??null},e).finally(()=>{this.annotationStorage.resetModified()})}extractPages(t){var r;const e={pageInfos:t};let s;const n=globalThis.ImageBitmap;if(typeof n=="function"){const a=Array.isArray(t)?t:[t];for(const o of a)(o==null?void 0:o.image)instanceof n&&(s||(s=[])).push(o.image)}if(this.annotationStorage.size>0){const a=this.annotationStorage.serializable;let{map:o}=a;(r=a.transfer)!=null&&r.length&&(s?s.push(...a.transfer):s=a.transfer);const l=this.pagesMapper.getMapping();if(l){const h=new Map;for(const[c,d]of o){if((d==null?void 0:d.pageIndex)!==void 0&&d.pageIndex>=0&&d.pageIndex{this.annotationStorage.resetModified()})}getPage(t){if(!Number.isInteger(t)||t<=0||t>this.pagesMapper.pagesNumber)return Promise.reject(new Error("Invalid page request."));const e=t-1,s=this.pagesMapper.getPageId(t)-1,n=i(this,Za).get(e);if(n)return n;const r=this.messageHandler.sendWithPromise("GetPage",{pageIndex:s}).then(a=>{if(this.destroyed)throw new Error("Transport destroyed");a.refStr&&i(this,Gl).set(a.refStr,s);const o=new Xp(e,a,this,this.pagesMapper,this._params.pdfBug);return i(this,ei).set(e,o),o});return i(this,Za).set(e,r),r}async getPageIndex(t){if(!Dp(t))throw new Error("Invalid pageIndex request.");const e=await this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen}),s=this.pagesMapper.getPageNumber(e+1);if(s===0)throw new Error("GetPageIndex: page has been removed.");return s-1}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:this.pagesMapper.getPageId(t+1)-1,intent:e})}getFieldObjects(){return b(this,Gs,$o).call(this,"GetFieldObjects")}getSignatures(){return b(this,Gs,$o).call(this,"GetSignatures")}getSignatureData(t){return this.messageHandler.sendWithPromise("GetSignatureData",t)}hasJSActions(){return b(this,Gs,$o).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return typeof t!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getAttachmentContent(t){return this.messageHandler.sendWithPromise("GetAttachmentContent",t)}getAnnotationsByType(t,e){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:t,pageIndexesToSkip:e})}getDocJSActions(){return b(this,Gs,$o).call(this,"GetDocJSActions")}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:this.pagesMapper.getPageId(t+1)-1})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:this.pagesMapper.getPageId(t+1)-1})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(t){return b(this,Gs,$o).call(this,"GetOptionalContentConfig").then(e=>new $p(e,t))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const t="GetMetadata";return i(this,Ja).getOrInsertComputed(t,()=>this.messageHandler.sendWithPromise(t,null).then(e=>{var s,n;return{info:e[0],metadata:e[1]?new B0(e[1]):null,contentDispositionFilename:((s=i(this,os))==null?void 0:s.filename)??null,contentLength:((n=i(this,os))==null?void 0:n.contentLength)??null,hasStructTree:e[2]}}))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}getRawData(t){return this.messageHandler.sendWithPromise("GetRawData",t)}async startCleanup(t=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const e of i(this,ei).values())if(!e.cleanup())throw new Error(`startCleanup: Page ${e.pageNumber} is currently rendering.`);this.commonObjs.clear(),t||this.fontLoader.clear(),i(this,Ja).clear(),this.filterFactory.destroy(!0),ic.cleanup()}}cachedPageNumber(t){if(!Dp(t))return null;const e=t.gen===0?`${t.num}R`:`${t.num}R${t.gen}`,s=i(this,Gl).get(e);if(s>=0){const n=this.pagesMapper.getPageNumber(s+1);if(n!==0)return n}return null}}os=new WeakMap,Ja=new WeakMap,un=new WeakMap,ei=new WeakMap,Za=new WeakMap,Gl=new WeakMap,fn=new WeakMap,Gs=new WeakSet,$o=function(t,e=null){return i(this,Ja).getOrInsertComputed(t,()=>this.messageHandler.sendWithPromise(t,e))},xu=function({loaded:t,total:e}){var s,n;(n=(s=this.loadingTask).onProgress)==null||n.call(s,{loaded:t,total:e,percent:e?Tt(Math.round(t/e*100),0,100):NaN})};class W0{constructor(t){_(this,"_internalRenderTask",null);_(this,"onContinue",null);_(this,"onError",null);this._internalRenderTask=t}get promise(){return this._internalRenderTask.capability.promise}cancel(t=0){this._internalRenderTask.cancel(null,t)}get separateAnnots(){const{separateAnnots:t}=this._internalRenderTask.operatorList;if(!t)return!1;const{annotationCanvasMap:e}=this._internalRenderTask;return t.form||t.canvas&&(e==null?void 0:e.size)>0}get imageCoordinates(){return this._internalRenderTask.imageCoordinates||null}}var br,to;const Qr=class Qr{constructor({callback:t,params:e,objs:s,commonObjs:n,annotationCanvasMap:r,operatorList:a,pageIndex:o,canvasFactory:l,filterFactory:h,useRequestAnimationFrame:c=!1,pdfBug:d=!1,pageColors:f=null,enableHWA:m=!1,operationsFilter:y=null}){g(this,br,null);this.callback=t,this.params=e,this.objs=s,this.commonObjs=n,this.annotationCanvasMap=r,this.operatorListIdx=null,this.operatorList=a,this._pageIndex=o,this.canvasFactory=l,this.filterFactory=h,this._pdfBug=d,this.pageColors=f,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=c===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new W0(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=e.canvas,this._canvasContext=e.canvas?null:e.canvasContext,this._enableHWA=m,this._dependencyTracker=e.dependencyTracker,this._imagesTracker=e.imagesTracker,this._operationsFilter=y}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:t=!1,optionalContentConfig:e}){var h,c;if(this.cancelled)return;if(this._canvas){if(i(Qr,to).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");i(Qr,to).add(this._canvas)}this._pdfBug&&((h=globalThis.StepperManager)!=null&&h.enabled)&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{viewport:s,transform:n,background:r,dependencyTracker:a,imagesTracker:o}=this.params,l=this._canvasContext||this._canvas.getContext("2d",{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new Yo(l,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:e},this.annotationCanvasMap,this.pageColors,a,o),this.gfx.beginDrawing({transform:n,viewport:s,transparency:t,background:r}),this.operatorListIdx=0,this.graphicsReady=!0,(c=this.graphicsReadyCallback)==null||c.call(this)}cancel(t=null,e=0){var s,n,r;this.running=!1,this.cancelled=!0,(s=this.gfx)==null||s.endDrawing(),i(this,br)&&(window.cancelAnimationFrame(i(this,br)),u(this,br,null)),i(Qr,to).delete(this._canvas),t||(t=new $g(`Rendering cancelled, page ${this._pageIndex+1}`,e)),this.callback(t),(r=(n=this.task).onError)==null||r.call(n,t)}operatorListChanged(){var t,e;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(t=this.gfx.dependencyTracker)==null||t.growOperationsCount(this.operatorList.fnArray.length),(e=this.stepper)==null||e.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?u(this,br,window.requestAnimationFrame(()=>{u(this,br,null),this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper,this._operationsFilter),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),i(Qr,to).delete(this._canvas),this.callback())))}};br=new WeakMap,to=new WeakMap,g(Qr,to,new WeakSet);let Yp=Qr;const X0="6.2.108",Y0="0365cbde0";var ls,eo,$l,Jt,ad,zl,pn,od,yr,si,ld,yt,Kp,qp,Qp,Xr,ry,Bn;const We=class We{constructor({editor:t=null,uiManager:e=null}){g(this,yt);g(this,ls,null);g(this,eo,null);g(this,$l);g(this,Jt,null);g(this,ad,!1);g(this,zl,!1);g(this,pn,null);g(this,od);g(this,yr,null);g(this,si,null);var s,n;t?(u(this,zl,!1),u(this,pn,t)):u(this,zl,!0),u(this,si,(t==null?void 0:t._uiManager)||e),u(this,od,i(this,si)._eventBus),u(this,$l,((s=t==null?void 0:t.color)==null?void 0:s.toUpperCase())||((n=i(this,si))==null?void 0:n.highlightColors.values().next().value)||"#FFFF98"),i(We,ld)||u(We,ld,Object.freeze({blue:"pdfjs-editor-colorpicker-blue",green:"pdfjs-editor-colorpicker-green",pink:"pdfjs-editor-colorpicker-pink",red:"pdfjs-editor-colorpicker-red",yellow:"pdfjs-editor-colorpicker-yellow"}))}static get _keyboardManager(){return $(this,"_keyboardManager",new Io([[["Escape"],We.prototype._hideDropdownFromKeyboard],[["Space"],We.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight"],We.prototype._moveToNext],[["ArrowUp","ArrowLeft"],We.prototype._moveToPrevious],[["Home"],We.prototype._moveToBeginning],[["End"],We.prototype._moveToEnd]]))}renderButton(){const t=u(this,ls,document.createElement("button"));t.className="colorPicker",t.tabIndex="0",t.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),t.ariaHasPopup="true",i(this,pn)&&(t.ariaControls=`${i(this,pn).id}_colorpicker_dropdown`);const e=i(this,si)._signal;t.addEventListener("click",b(this,yt,Xr).bind(this),{signal:e}),t.addEventListener("keydown",b(this,yt,Qp).bind(this),{signal:e});const s=u(this,eo,document.createElement("span"));return s.className="swatch",s.ariaHidden="true",s.style.backgroundColor=i(this,$l),t.append(s),t}renderMainDropdown(){const t=u(this,Jt,b(this,yt,Kp).call(this));return t.ariaOrientation="horizontal",t.ariaLabelledBy="highlightColorPickerLabel",t}_colorSelectFromKeyboard(t){if(t.target===i(this,ls)){b(this,yt,Xr).call(this,t);return}const e=t.target.getAttribute("data-color");e&&b(this,yt,qp).call(this,e,t)}_moveToNext(t){var e,s;if(!i(this,yt,Bn)){b(this,yt,Xr).call(this,t);return}if(t.target===i(this,ls)){(e=i(this,Jt).firstElementChild)==null||e.focus();return}(s=t.target.nextSibling)==null||s.focus()}_moveToPrevious(t){var e,s;if(t.target===((e=i(this,Jt))==null?void 0:e.firstElementChild)||t.target===i(this,ls)){i(this,yt,Bn)&&this._hideDropdownFromKeyboard();return}i(this,yt,Bn)||b(this,yt,Xr).call(this,t),(s=t.target.previousSibling)==null||s.focus()}_moveToBeginning(t){var e;if(!i(this,yt,Bn)){b(this,yt,Xr).call(this,t);return}(e=i(this,Jt).firstElementChild)==null||e.focus()}_moveToEnd(t){var e;if(!i(this,yt,Bn)){b(this,yt,Xr).call(this,t);return}(e=i(this,Jt).lastElementChild)==null||e.focus()}hideDropdown(){var t,e;(t=i(this,Jt))==null||t.classList.add("hidden"),i(this,ls).ariaExpanded="false",(e=i(this,yr))==null||e.abort(),u(this,yr,null)}_hideDropdownFromKeyboard(){var t;if(!i(this,zl)){if(!i(this,yt,Bn)){(t=i(this,pn))==null||t.unselect();return}this.hideDropdown(),i(this,ls).focus({preventScroll:!0,focusVisible:i(this,ad)})}}updateColor(t){if(i(this,eo)&&(i(this,eo).style.backgroundColor=t),!i(this,Jt))return;const e=i(this,si).highlightColors.values();for(const s of i(this,Jt).children)s.ariaSelected=e.next().value===t.toUpperCase()}destroy(){var t,e;(t=i(this,ls))==null||t.remove(),u(this,ls,null),u(this,eo,null),(e=i(this,Jt))==null||e.remove(),u(this,Jt,null)}};ls=new WeakMap,eo=new WeakMap,$l=new WeakMap,Jt=new WeakMap,ad=new WeakMap,zl=new WeakMap,pn=new WeakMap,od=new WeakMap,yr=new WeakMap,si=new WeakMap,ld=new WeakMap,yt=new WeakSet,Kp=function(){const t=document.createElement("div"),e=i(this,si)._signal;t.addEventListener("contextmenu",js,{signal:e}),t.className="dropdown",t.role="listbox",t.ariaMultiSelectable="false",t.ariaOrientation="vertical",t.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown"),i(this,pn)&&(t.id=`${i(this,pn).id}_colorpicker_dropdown`);for(const[s,n]of i(this,si).highlightColors){const r=document.createElement("button");r.tabIndex="0",r.role="option",r.setAttribute("data-color",n),r.title=s,r.setAttribute("data-l10n-id",i(We,ld)[s]);const a=document.createElement("span");r.append(a),a.className="swatch",a.style.backgroundColor=n,r.ariaSelected=n===i(this,$l),r.addEventListener("click",b(this,yt,qp).bind(this,n),{signal:e}),t.append(r)}return t.addEventListener("keydown",b(this,yt,Qp).bind(this),{signal:e}),t},qp=function(t,e){e.stopPropagation(),i(this,od).dispatch("switchannotationeditorparams",{source:this,type:X.HIGHLIGHT_COLOR,value:t}),this.updateColor(t)},Qp=function(t){We._keyboardManager.exec(this,t)},Xr=function(t){if(i(this,yt,Bn)){this.hideDropdown();return}if(u(this,ad,t.detail===0),i(this,yr)||(u(this,yr,new AbortController),window.addEventListener("pointerdown",b(this,yt,ry).bind(this),{signal:i(this,si).combinedSignal(i(this,yr))})),i(this,ls).ariaExpanded="true",i(this,Jt)){i(this,Jt).classList.remove("hidden");return}const e=u(this,Jt,b(this,yt,Kp).call(this));i(this,ls).append(e)},ry=function(t){var e;(e=i(this,Jt))!=null&&e.contains(t.target)||this.hideDropdown()},Bn=function(){return i(this,Jt)&&!i(this,Jt).classList.contains("hidden")},g(We,ld,null);let Qu=We;var hs,jl,so,gn,hd;const Jr=class Jr{constructor(t){g(this,hs,null);g(this,jl,!1);g(this,so,null);g(this,gn,null);u(this,so,t),u(this,gn,t._uiManager),i(Jr,hd)||u(Jr,hd,Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"}))}renderButton(){if(i(this,hs))return i(this,hs);const{editorType:t,colorType:e,colorAndOpacityType:s,opacityType:n,color:r,opacity:a}=i(this,so),o=u(this,jl,bt.isAlphaColorInputSupported&&n!==void 0),l=u(this,hs,document.createElement("input"));if(l.type="color",o){l.setAttribute("alpha","");const h=D.hexNums[Math.round((a??1)*255)];l.value=(r||"#000000")+h}else l.value=r||"#000000";return l.className="basicColorPicker",l.tabIndex=0,l.setAttribute("data-l10n-id",i(Jr,hd)[t]),l.addEventListener("input",()=>{if(o){const h=Yd(l.value);if(!h)return;const[c,d,f,m]=h,y=D.makeHexColor(c,d,f);s!==void 0?i(this,gn).updateParams(s,{color:y,opacity:m}):(i(this,gn).updateParams(e,y),i(this,gn).updateParams(n,m))}else i(this,gn).updateParams(e,l.value)},{signal:i(this,gn)._signal}),l}update(t){if(i(this,hs))if(i(this,jl)){const e=D.hexNums[Math.round(i(this,so).opacity*255)];i(this,hs).value=t+e}else i(this,hs).value=t}updateOpacity(t){if(!i(this,hs)||!i(this,jl))return;const e=D.hexNums[Math.round(t*255)];i(this,hs).value=i(this,so).color+e}destroy(){var t;(t=i(this,hs))==null||t.remove(),u(this,hs,null)}hideDropdown(){}};hs=new WeakMap,jl=new WeakMap,so=new WeakMap,gn=new WeakMap,hd=new WeakMap,g(Jr,hd,null);let Ju=Jr;function Dm(p){return Math.floor(Tt(p,0,1)*255).toString(16).padStart(2,"0")}function Th(p){return Tt(p,0,1)*255}class Im{static CMYK_G([t,e,s,n]){return["G",1-Math.min(1,.3*t+.59*s+.11*e+n)]}static G_CMYK([t]){return["CMYK",0,0,0,1-t]}static G_RGB([t]){return["RGB",t,t,t]}static G_rgb([t]){return t=Th(t),[t,t,t]}static G_HTML([t]){const e=Dm(t);return`#${e}${e}${e}`}static RGB_G([t,e,s]){return["G",.3*t+.59*e+.11*s]}static RGB_rgb(t){return t.map(Th)}static RGB_HTML(t){return`#${t.map(Dm).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([t,e,s,n]){return["RGB",1-Math.min(1,t+n),1-Math.min(1,s+n),1-Math.min(1,e+n)]}static CMYK_rgb([t,e,s,n]){return[Th(1-Math.min(1,t+n)),Th(1-Math.min(1,s+n)),Th(1-Math.min(1,e+n))]}static CMYK_HTML(t){const e=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(e)}static RGB_CMYK([t,e,s]){const n=1-t,r=1-e,a=1-s,o=Math.min(n,r,a);return["CMYK",n,r,a,o]}}class K0{create(t,e,s=!1){if(t<=0||e<=0)throw new Error("Invalid SVG dimensions");const n=this._createSVG("svg:svg");return n.setAttribute("version","1.1"),s||(n.setAttribute("width",`${t}px`),n.setAttribute("height",`${e}px`)),n.setAttribute("preserveAspectRatio","none"),n.setAttribute("viewBox",`0 0 ${t} ${e}`),n}createElement(t){if(typeof t!="string")throw new Error("Invalid SVG element type");return this._createSVG(t)}_createSVG(t){it("Abstract method `_createSVG` called.")}}class Zu extends K0{_createSVG(t){return document.createElementNS(He,t)}}const q0=9,Ro=new WeakSet,Q0=new Date().getTimezoneOffset()*60*1e3;class tp{static create(t){switch(t.data.annotationType){case Pt.LINK:return new Wg(t);case Pt.TEXT:return new Z0(t);case Pt.WIDGET:switch(t.data.fieldType){case"Tx":return new tw(t);case"Btn":return t.data.radioButton?new iw(t):t.data.checkBox?new sw(t):new nw(t);case"Ch":return new rw(t);case"Sig":return new ew(t)}return new No(t);case Pt.POPUP:return new Zp(t);case Pt.FREETEXT:return new uy(t);case Pt.LINE:return new ow(t);case Pt.SQUARE:return new lw(t);case Pt.CIRCLE:return new hw(t);case Pt.POLYLINE:return new fy(t);case Pt.CARET:return new dw(t);case Pt.INK:return new Xg(t);case Pt.POLYGON:return new cw(t);case Pt.HIGHLIGHT:return new py(t);case Pt.UNDERLINE:return new uw(t);case Pt.SQUIGGLY:return new fw(t);case Pt.STRIKEOUT:return new pw(t);case Pt.STAMP:return new gy(t);case Pt.FILEATTACHMENT:return new gw(t);case Pt.RICHMEDIA:case Pt.SCREEN:case Pt.SOUND:return new my(t);default:return new Mt(t)}}}var io,Vl,Ns,cd,Jp;const sm=class sm{constructor(t,{isRenderable:e=!1,ignoreBorder:s=!1,createQuadrilaterals:n=!1}={}){g(this,cd);g(this,io,null);g(this,Vl,!1);g(this,Ns,null);this.isRenderable=e,this.data=t.data,this.layer=t.layer,this.linkService=t.linkService,this.downloadManager=t.downloadManager,this.imageResourcesPath=t.imageResourcesPath,this.renderForms=t.renderForms,this.svgFactory=t.svgFactory,this.annotationStorage=t.annotationStorage,this.enableComment=t.enableComment,this.enableScripting=t.enableScripting,this.hasJSActions=t.hasJSActions,this._fieldObjects=t.fieldObjects,this.parent=t.parent,this.hasOwnCommentButton=!1,e&&(this.contentElement=this.container=this._createContainer(s)),n&&this._createQuadrilaterals()}static _hasPopupData({contentsObj:t,richText:e}){return!!(t!=null&&t.str||e!=null&&e.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return sm._hasPopupData(this.data)||this.enableComment&&!!this.commentText}get commentData(){var s;const{data:t}=this,e=(s=this.annotationStorage)==null?void 0:s.getEditor(t.id);return e?e.getData():t}get hasCommentButton(){return this.enableComment&&this.hasPopupElement}get commentButtonPosition(){var o;const t=(o=this.annotationStorage)==null?void 0:o.getEditor(this.data.id);if(t)return t.commentButtonPositionInPage;const{quadPoints:e,inkLists:s,rect:n}=this.data;let r=-1/0,a=-1/0;if((e==null?void 0:e.length)>=8){for(let l=0;la?(a=e[l+1],r=e[l+2]):e[l+1]===a&&(r=Math.max(r,e[l+2]));return[r,a]}if((s==null?void 0:s.length)>=1){for(const l of s)for(let h=0,c=l.length;ha?(a=l[h+1],r=l[h]):l[h+1]===a&&(r=Math.max(r,l[h]));if(r!==1/0)return[r,a]}return n?[n[2],n[3]]:null}_normalizePoint(t){const{page:{view:e},viewport:{rawDims:{pageWidth:s,pageHeight:n,pageX:r,pageY:a}}}=this.parent;return t[1]=e[3]-t[1]+e[1],t[0]=100*(t[0]-r)/s,t[1]=100*(t[1]-a)/n,t}get commentText(){var e,s,n;const{data:t}=this;return((s=(e=this.annotationStorage.getRawValue(`${Zh}${t.id}`))==null?void 0:e.popup)==null?void 0:s.contents)||((n=t.contentsObj)==null?void 0:n.str)||""}set commentText(t){const{data:e}=this,s={deleted:!t,contents:t||""};this.annotationStorage.updateEditor(e.id,{popup:s})||this.annotationStorage.setValue(`${Zh}${e.id}`,{id:e.id,annotationType:e.annotationType,page:this.parent.page,popup:s,popupRef:e.popupRef,modificationDate:new Date}),t||this.removePopup()}removePopup(){var t,e;(e=((t=i(this,Ns))==null?void 0:t.popup)||this.popup)==null||e.remove(),u(this,Ns,this.popup=null)}updateEdited(t){var r;if(!this.container)return;t.rect&&(i(this,io)||u(this,io,{rect:this.data.rect.slice(0)}));const{rect:e,popup:s}=t;e&&b(this,cd,Jp).call(this,e);let n=((r=i(this,Ns))==null?void 0:r.popup)||this.popup;!n&&(s!=null&&s.text)&&(this._createPopup(s),n=i(this,Ns).popup),n&&(n.updateEdited(t),s!=null&&s.deleted&&(n.remove(),u(this,Ns,null),this.popup=null))}resetEdited(){var t;i(this,io)&&(b(this,cd,Jp).call(this,i(this,io).rect),(t=i(this,Ns))==null||t.popup.resetEdited(),u(this,io,null))}_createContainer(t){const{data:e,parent:{page:s,viewport:n}}=this,r=document.createElement("section");r.setAttribute("data-annotation-id",e.id),!(this instanceof No)&&!(this instanceof Wg)&&!(this instanceof my)&&(r.tabIndex=0);const{style:a}=r;if(a.zIndex=this.parent.zIndex,this.parent.zIndex+=2,e.alternativeText&&(r.title=e.alternativeText),e.noRotate&&r.classList.add("norotate"),!e.rect||this instanceof Zp){const{rotation:A}=e;return!e.hasOwnCanvas&&A!==0&&this.setRotation(A,r),r}const{width:o,height:l}=this;if(!t&&e.borderStyle.width>0){a.borderWidth=`${e.borderStyle.width}px`;const A=e.borderStyle.horizontalCornerRadius,v=e.borderStyle.verticalCornerRadius;if(A>0||v>0){const S=`calc(${A}px * var(--total-scale-factor)) / calc(${v}px * var(--total-scale-factor))`;a.borderRadius=S}switch(e.borderStyle.style){case Ho.SOLID:a.borderStyle="solid";break;case Ho.DASHED:a.borderStyle="dashed";break;case Ho.BEVELED:W("Unimplemented border style: beveled");break;case Ho.INSET:W("Unimplemented border style: inset");break;case Ho.UNDERLINE:a.borderBottomStyle="solid";break}const w=e.borderColor||null;w?(u(this,Vl,!0),a.borderColor=D.makeHexColor(...w)):a.borderWidth=0}const h=D.normalizeRect([e.rect[0],s.view[3]-e.rect[1]+s.view[1],e.rect[2],s.view[3]-e.rect[3]+s.view[1]]),{pageWidth:c,pageHeight:d,pageX:f,pageY:m}=n.rawDims;a.left=`${100*(h[0]-f)/c}%`,a.top=`${100*(h[1]-m)/d}%`;const{rotation:y}=e;return e.hasOwnCanvas||y===0?(a.width=`${100*o/c}%`,a.height=`${100*l/d}%`):this.setRotation(y,r),r}setRotation(t,e=this.container){if(!this.data.rect)return;const{pageWidth:s,pageHeight:n}=this.parent.viewport.rawDims;let{width:r,height:a}=this;t%180!==0&&([r,a]=[a,r]),e.style.width=`${100*r/s}%`,e.style.height=`${100*a/n}%`,e.setAttribute("data-main-rotation",(360-t)%360)}get _commonActions(){const t=(e,s,n)=>{const r=n.detail[e],a=r[0],o=r.slice(1);n.target.style[s]=Im[`${a}_HTML`](o),this.annotationStorage.setValue(this.data.id,{[s]:Im[`${a}_rgb`](o)})};return $(this,"_commonActions",{display:e=>{const{display:s}=e.detail,n=s%2===1;this.container.style.visibility=n?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:n,noPrint:s===1||s===2})},print:e=>{this.annotationStorage.setValue(this.data.id,{noPrint:!e.detail.print})},hidden:e=>{const{hidden:s}=e.detail;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:s,noView:s})},focus:e=>{setTimeout(()=>e.target.focus({preventScroll:!1}),0)},userName:e=>{e.target.title=e.detail.userName},readonly:e=>{e.target.disabled=e.detail.readonly},required:e=>{this._setRequired(e.target,e.detail.required)},bgColor:e=>{t("bgColor","backgroundColor",e)},fillColor:e=>{t("fillColor","backgroundColor",e)},fgColor:e=>{t("fgColor","color",e)},textColor:e=>{t("textColor","color",e)},borderColor:e=>{t("borderColor","borderColor",e)},strokeColor:e=>{t("strokeColor","borderColor",e)},rotation:e=>{const s=e.detail.rotation;this.setRotation(s),this.annotationStorage.setValue(this.data.id,{rotation:s})}})}_dispatchEventFromSandbox(t,e){const s=this._commonActions;for(const n of Object.keys(e.detail)){const r=t[n]||s[n];r==null||r(e)}}_setDefaultPropertiesFromJS(t){if(!this.enableScripting)return;const e=this.annotationStorage.getRawValue(this.data.id);if(!e)return;const s=this._commonActions;for(const[n,r]of Object.entries(e)){const a=s[n];if(a){const o={detail:{[n]:r},target:t};a(o),delete e[n]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:t}=this.data;if(!t)return;const[e,s,n,r]=this.data.rect.map(A=>Math.fround(A));if(t.length===8){const[A,v,w,S]=t.subarray(2,6);if(n===A&&r===v&&e===w&&s===S)return}const{style:a}=this.container;let o;if(i(this,Vl)){const{borderColor:A,borderWidth:v}=a;a.borderWidth=0,o=["url('data:image/svg+xml;utf8,",``,``],this.container.classList.add("hasBorder")}const l=n-e,h=r-s,{svgFactory:c}=this,d=c.createElement("svg");d.classList.add("quadrilateralsContainer"),d.setAttribute("width",0),d.setAttribute("height",0),d.role="none";const f=c.createElement("defs");d.append(f);const m=c.createElement("clipPath"),y=`clippath_${this.data.id}`;m.setAttribute("id",y),m.setAttribute("clipPathUnits","objectBoundingBox"),f.append(m);for(let A=2,v=t.length;A`)}i(this,Vl)&&(o.push("')"),a.backgroundImage=o.join("")),this.container.append(d),this.container.style.clipPath=`url(#${y})`}_createPopup(t=null){const{data:e}=this;let s,n;t?(s={str:t.text},n=t.date):(s=e.contentsObj,n=e.modificationDate),u(this,Ns,new Zp({data:{color:e.color,titleObj:e.titleObj,modificationDate:n,contentsObj:s,richText:e.richText,parentRect:e.rect,borderStyle:0,id:`popup_${e.id}`,rotation:e.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]}))}get hasPopupElement(){return!!(i(this,Ns)||this.popup||this.data.popupRef)}get extraPopupElement(){return i(this,Ns)}render(){it("Abstract method `AnnotationElement.render` called")}_getElementsByName(t,e=null){const s=[];if(this._fieldObjects){const n=this._fieldObjects[t]||[];for(const{page:r,id:a,exportValues:o}of n){if(r===-1||a===e)continue;const l=typeof o=="string"?o:null,h=document.querySelector(`[data-element-id="${a}"]`);if(h&&!Ro.has(h)){W(`_getElementsByName - element not allowed: ${a}`);continue}s.push({id:a,exportValue:l,domElement:h})}return s}for(const n of document.getElementsByName(t)){const{exportValue:r}=n,a=n.getAttribute("data-element-id");a!==e&&Ro.has(n)&&s.push({id:a,exportValue:r,domElement:n})}return s}show(){var t;this.container&&(this.container.hidden=!1),(t=this.popup)==null||t.maybeShow()}hide(){var t;this.container&&(this.container.hidden=!0),(t=this.popup)==null||t.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const t=this.getElementsToTriggerPopup();if(Array.isArray(t))for(const e of t)e.classList.add("highlightArea");else t.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:t,data:{id:e}}=this;this.container.addEventListener("dblclick",()=>{var s;(s=this.linkService.eventBus)==null||s.dispatch("switchannotationeditormode",{source:this,mode:t,editId:e,mustEnterInEditMode:!0})})}updateOC(t){if(!this.data.oc||!t)return;t.isVisible(this.data.oc)?this.show():this.hide()}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}_setBackgroundColor(t){const e=this.data.backgroundColor||null;t.style.backgroundColor=e===null?"transparent":D.makeHexColor(...e)}};io=new WeakMap,Vl=new WeakMap,Ns=new WeakMap,cd=new WeakSet,Jp=function(t){const{container:{style:e},data:{rect:s,rotation:n},parent:{viewport:{rawDims:{pageWidth:r,pageHeight:a,pageX:o,pageY:l}}}}=this;s==null||s.splice(0,4,...t),e.left=`${100*(t[0]-o)/r}%`,e.top=`${100*(a-t[3]+l)/a}%`,n===0?(e.width=`${100*(t[2]-t[0])/r}%`,e.height=`${100*(t[3]-t[1])/a}%`):this.setRotation(n)};let Mt=sm;class J0 extends Mt{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0}),this.editor=t.editor}render(){return this.container.className="editorAnnotation",this.container}createOrUpdatePopup(){const{editor:t}=this;t.hasComment&&this._createPopup(t.comment)}get hasCommentButton(){return this.enableComment&&this.editor.hasComment}get commentButtonPosition(){return this.editor.commentButtonPositionInPage}get commentText(){return this.editor.comment.text}set commentText(t){this.editor.comment=t,t||this.removePopup()}get commentData(){return this.editor.getData()}remove(){this.parent.removeAnnotation(this.data.id),this.container.remove(),this.container=null,this.removePopup()}}var Es,Yr,ay,oy;class Wg extends Mt{constructor(e,s=null){super(e,{isRenderable:!0,ignoreBorder:!!(s!=null&&s.ignoreBorder),createQuadrilaterals:!0});g(this,Es);this.isTooltipOnly=e.data.isTooltipOnly}render(){const{data:e,linkService:s}=this,n=document.createElement("a");n.setAttribute("data-element-id",e.id);let r=!1;return e.url?(s.addLinkAttributes(n,e.url,e.newWindow),r=!0):e.action?(this._bindNamedAction(n,e.action,e.overlaidText),r=!0):e.attachment?(b(this,Es,ay).call(this,n,e.attachmentId,e.attachment,e.overlaidText,e.attachmentDest),r=!0):e.setOCGState?(b(this,Es,oy).call(this,n,e.setOCGState,e.overlaidText),r=!0):e.dest?(this._bindLink(n,e.dest,e.overlaidText),r=!0):(e.actions&&(e.actions.Action||e.actions["Mouse Up"]||e.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(n,e),r=!0),e.resetForm?(this._bindResetFormAction(n,e.resetForm),r=!0):this.isTooltipOnly&&!r&&(this._bindLink(n,""),r=!0)),this.container.classList.add("linkAnnotation"),r&&(this.contentElement=n,this.container.append(n)),this.container}_bindLink(e,s,n=""){e.href=this.linkService.getDestinationHash(s),e.onclick=()=>(s&&this.linkService.goToDestination(s),!1),(s||s==="")&&b(this,Es,Yr).call(this),n&&(e.title=n)}_bindNamedAction(e,s,n=""){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeNamedAction(s),!1),n&&(e.title=n),b(this,Es,Yr).call(this)}_bindJSAction(e,s){e.href=this.linkService.getAnchorUrl("");const n=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const r of Object.keys(s.actions)){const a=n.get(r);a&&(e[a]=()=>{var o;return(o=this.linkService.eventBus)==null||o.dispatch("dispatcheventinsandbox",{source:this,detail:{id:s.id,name:r}}),!1})}s.overlaidText&&(e.title=s.overlaidText),e.onclick||(e.onclick=()=>!1),b(this,Es,Yr).call(this)}_bindResetFormAction(e,s){const n=e.onclick;if(n||(e.href=this.linkService.getAnchorUrl("")),b(this,Es,Yr).call(this),!this._fieldObjects){W('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),n||(e.onclick=()=>!1);return}e.onclick=()=>{var d;n==null||n();const{fields:r,refs:a,include:o}=s,l=[];if(r.length!==0||a.length!==0){const f=new Set(a);for(const m of r){const y=this._fieldObjects[m]||[];for(const{id:A}of y)f.add(A)}for(const m of Object.values(this._fieldObjects))for(const y of m)f.has(y.id)===o&&l.push(y)}else for(const f of Object.values(this._fieldObjects))l.push(...f);const h=this.annotationStorage,c=[];for(const f of l){const{id:m}=f;switch(c.push(m),f.type){case"text":{const A=f.defaultValue||"";h.setValue(m,{value:A});break}case"checkbox":case"radiobutton":{const A=f.defaultValue===f.exportValues;h.setValue(m,{value:A});break}case"combobox":case"listbox":{const A=f.defaultValue||"";h.setValue(m,{value:A});break}default:continue}const y=document.querySelector(`[data-element-id="${m}"]`);if(y){if(!Ro.has(y)){W(`_bindResetFormAction - element not allowed: ${m}`);continue}}else continue;y.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((d=this.linkService.eventBus)==null||d.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:c,name:"ResetForm"}})),!1}}}Es=new WeakSet,Yr=function(){this.container.setAttribute("data-internal-link","")},ay=function(e,s,n,r="",a=null){e.href=this.linkService.getAnchorUrl(""),n.description?e.title=n.description:r&&(e.title=r);const o=async()=>{var h;const l=await this.linkService.getAttachmentContent(s);l&&((h=this.downloadManager)==null||h.openOrDownloadData(l,n.filename,a))};e.onclick=()=>(o(),!1),b(this,Es,Yr).call(this)},oy=function(e,s,n=""){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeSetOCGState(s),!1),n&&(e.title=n),b(this,Es,Yr).call(this)};class Z0 extends Mt{constructor(t){super(t,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const t=document.createElement("img");return t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",t.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),t.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.append(t),this.container}}class No extends Mt{render(){return this.container}_getKeyModifier(t){return bt.platform.isMac?t.metaKey:t.ctrlKey}_setEventListener(t,e,s,n,r){s.includes("mouse")?t.addEventListener(s,a=>{var o;(o=this.linkService.eventBus)==null||o.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:n,value:r(a),shift:a.shiftKey,modifier:this._getKeyModifier(a)}})}):t.addEventListener(s,a=>{var o;if(s==="blur"){if(!e.focused||!a.relatedTarget)return;e.focused=!1}else if(s==="focus"){if(e.focused)return;e.focused=!0}r&&((o=this.linkService.eventBus)==null||o.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:n,value:r(a)}}))})}_setEventListeners(t,e,s,n){var r,a,o;for(const[l,h]of s)(h==="Action"||(r=this.data.actions)!=null&&r[h])&&((h==="Focus"||h==="Blur")&&(e||(e={focused:!1})),this._setEventListener(t,e,l,h,n),h==="Focus"&&!((a=this.data.actions)!=null&&a.Blur)?this._setEventListener(t,e,"blur","Blur",null):h==="Blur"&&!((o=this.data.actions)!=null&&o.Focus)&&this._setEventListener(t,e,"focus","Focus",null))}_setTextStyle(t){const e=["left","center","right"],{fontColor:s}=this.data.defaultAppearanceData,n=this.data.defaultAppearanceData.fontSize||q0,r=t.style;let a;const o=2,l=h=>Math.round(10*h)/10;if(this.data.multiLine){const h=Math.abs(this.data.rect[3]-this.data.rect[1]-o),c=Math.round(h/(1.35*n))||1,d=h/c;a=Math.min(n,l(d/1.35))}else{const h=Math.abs(this.data.rect[3]-this.data.rect[1]-o);a=Math.min(n,l(h/1.35))}r.fontSize=`calc(${a}px * var(--total-scale-factor))`,r.color=D.makeHexColor(...s),this.data.textAlignment!==null&&!this.data.comb&&(r.textAlign=e[this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required"),t.setAttribute("aria-required",e)}}class tw extends No{constructor(t){const e=t.renderForms||t.data.hasOwnCanvas||!t.data.hasAppearance&&!!t.data.fieldValue;super(t,{isRenderable:e})}setPropertyOnSiblings(t,e,s,n){const r=this.annotationStorage;for(const a of this._getElementsByName(t.name,t.id))a.domElement&&(a.domElement[e]=s),r.setValue(a.id,{[n]:s})}render(){var n,r;const t=this.annotationStorage,e=this.data.id;this.container.classList.add("textWidgetAnnotation");let s=null;if(this.renderForms){const a=t.getValue(e,{value:this.data.fieldValue});let o=a.value||"";const l=t.getValue(e,{charLimit:this.data.maxLen}).charLimit;l&&o.length>l&&(o=o.slice(0,l));let h=a.formattedValue||((n=this.data.textContent)==null?void 0:n.join(` -`))||null;h&&this.data.comb&&(h=h.replaceAll(/\s+/g,""));const c={userValue:o,formattedValue:h,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(s=document.createElement("textarea"),s.textContent=h??o,this.data.doNotScroll&&(s.style.overflowY="hidden")):(s=document.createElement("input"),s.type=this.data.password?"password":"text",s.setAttribute("value",h??o),this.data.doNotScroll&&(s.style.overflowX="hidden")),this.data.hasOwnCanvas&&(this.container.classList.add("hasOwnCanvas"),t.has(e)&&this.container.classList.add("sandboxModified")),Ro.add(s),this.contentElement=s,s.setAttribute("data-element-id",e),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=0;const{datetimeFormat:d,datetimeType:f,timeStep:m}=this.data,y=!!f&&this.enableScripting;d&&(s.title=d),this._setRequired(s,this.data.required),l&&(s.maxLength=l),s.addEventListener("input",v=>{t.setValue(e,{value:v.target.value}),this.setPropertyOnSiblings(s,"value",v.target.value,"value"),c.formattedValue=null}),s.addEventListener("resetform",v=>{const w=this.data.defaultFieldValue??"";s.value=c.userValue=w,c.formattedValue=null});let A=v=>{const{formattedValue:w}=c;w!=null&&(v.target.value=w),v.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){s.addEventListener("focus",w=>{var E;if(c.focused)return;const{target:S}=w;if(y&&(S.type=f,m&&(S.step=m)),c.userValue){const x=c.userValue;if(y)if(f==="time"){const C=new Date(x),T=[C.getHours(),C.getMinutes(),C.getSeconds()];S.value=T.map(k=>k.toString().padStart(2,"0")).join(":")}else S.value=new Date(x-Q0).toISOString().split(f==="date"?"T":".",1)[0];else S.value=x}c.lastCommittedValue=S.value,c.commitKey=1,(E=this.data.actions)!=null&&E.Focus||(c.focused=!0)}),s.addEventListener("updatefromsandbox",w=>{this.container.classList.add("sandboxModified");const S={value(E){c.userValue=E.detail.value??"",y||t.setValue(e,{value:c.userValue.toString()}),E.target.value=c.userValue},formattedValue(E){const{formattedValue:x}=E.detail;c.formattedValue=x,x!=null&&E.target!==document.activeElement&&(E.target.value=x);const C={formattedValue:x};y&&(C.value=x),t.setValue(e,C)},selRange(E){E.target.setSelectionRange(...E.detail.selRange)},charLimit:E=>{var k;const{charLimit:x}=E.detail,{target:C}=E;if(x===0){C.removeAttribute("maxLength");return}C.setAttribute("maxLength",x);let T=c.userValue;!T||T.length<=x||(T=T.slice(0,x),C.value=c.userValue=T,t.setValue(e,{value:T}),(k=this.linkService.eventBus)==null||k.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:T,willCommit:!0,commitKey:1,selStart:C.selectionStart,selEnd:C.selectionEnd}}))}};this._dispatchEventFromSandbox(S,w)}),s.addEventListener("keydown",w=>{var x;c.commitKey=1;let S=-1;if(w.key==="Escape"?S=0:w.key==="Enter"&&!this.data.multiLine?S=2:w.key==="Tab"&&(c.commitKey=3),S===-1)return;const{value:E}=w.target;c.lastCommittedValue!==E&&(c.lastCommittedValue=E,c.userValue=E,(x=this.linkService.eventBus)==null||x.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:E,willCommit:!0,commitKey:S,selStart:w.target.selectionStart,selEnd:w.target.selectionEnd}}))});const v=A;A=null,s.addEventListener("blur",w=>{var x,C;if(!c.focused||!w.relatedTarget)return;(x=this.data.actions)!=null&&x.Blur||(c.focused=!1);const{target:S}=w;let{value:E}=S;if(y){if(E&&f==="time"){const T=E.split(":").map(k=>parseInt(k,10));E=new Date(2e3,0,1,T[0],T[1],T[2]||0).valueOf(),S.step=""}else E.includes("T")||(E=`${E}T00:00`),E=new Date(E).valueOf();S.type="text"}c.userValue=E,c.lastCommittedValue!==E&&((C=this.linkService.eventBus)==null||C.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:E,willCommit:!0,commitKey:c.commitKey,selStart:w.target.selectionStart,selEnd:w.target.selectionEnd}})),v(w)}),(r=this.data.actions)!=null&&r.Keystroke&&s.addEventListener("beforeinput",w=>{var P;c.lastCommittedValue=null;const{data:S,target:E}=w,{value:x,selectionStart:C,selectionEnd:T}=E;let k=C,M=T;switch(w.inputType){case"deleteWordBackward":{const L=x.substring(0,C).match(/\w*\W*$/);L&&(k-=L[0].length);break}case"deleteWordForward":{const L=x.substring(C).match(/^\W*\w*/);L&&(M+=L[0].length);break}case"deleteContentBackward":C===T&&(k-=1);break;case"deleteContentForward":C===T&&(M+=1);break}w.preventDefault(),(P=this.linkService.eventBus)==null||P.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:x,change:S||"",willCommit:!1,selStart:k,selEnd:M}})}),this._setEventListeners(s,c,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],w=>w.target.value)}if(A&&s.addEventListener("blur",A),this.data.comb){const w=(this.data.rect[2]-this.data.rect[0])/l;s.classList.add("comb"),s.style.setProperty("--comb-width",`calc(${w}px * var(--total-scale-factor))`);const S=this.data.textAlignment;if(S===1||S===2){const E=()=>{const x=l-s.value.length;s.style.setProperty("--comb-offset",`${S===1?x>>1:x}`)};E();for(const x of["input","blur","resetform","updatefromsandbox"])s.addEventListener(x,E)}}}else s=document.createElement("div"),s.textContent=this.data.fieldValue,s.style.verticalAlign="middle",s.style.display="table-cell",this.data.hasOwnCanvas&&(s.hidden=!0);return this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class ew extends No{constructor(t){super(t,{isRenderable:!!t.data.hasOwnCanvas})}}class sw extends No{constructor(t){super(t,{isRenderable:t.renderForms})}render(){const t=this.annotationStorage,e=this.data,s=e.id;let n=t.getValue(s,{value:e.exportValue===e.fieldValue}).value;typeof n=="string"&&(n=n!=="Off",t.setValue(s,{value:n})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const r=document.createElement("input");return Ro.add(r),r.setAttribute("data-element-id",s),r.disabled=e.readOnly,this._setRequired(r,this.data.required),r.type="checkbox",r.name=e.fieldName,n&&r.setAttribute("checked",!0),r.setAttribute("exportValue",e.exportValue),r.tabIndex=0,r.addEventListener("change",a=>{const{name:o,checked:l}=a.target;for(const h of this._getElementsByName(o,s)){const c=l&&h.exportValue===e.exportValue;h.domElement&&(h.domElement.checked=c),t.setValue(h.id,{value:c})}t.setValue(s,{value:l})}),r.addEventListener("resetform",a=>{const o=e.defaultFieldValue||"Off";a.target.checked=o===e.exportValue}),this.enableScripting&&this.hasJSActions&&(r.addEventListener("updatefromsandbox",a=>{const o={value(l){l.target.checked=l.detail.value!=="Off",t.setValue(s,{value:l.target.checked})}};this._dispatchEventFromSandbox(o,a)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class iw extends No{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const t=this.annotationStorage,e=this.data,s=e.id;let n=t.getValue(s,{value:e.buttonValue!==null&&e.fieldValue===e.buttonValue}).value;if(typeof n=="string"&&(n=n!==e.buttonValue,t.setValue(s,{value:n})),n)for(const a of this._getElementsByName(e.fieldName,s))t.setValue(a.id,{value:!1});const r=document.createElement("input");if(Ro.add(r),r.setAttribute("data-element-id",s),r.disabled=e.readOnly,this._setRequired(r,this.data.required),r.type="radio",r.name=e.fieldName,n&&r.setAttribute("checked",!0),r.tabIndex=0,r.addEventListener("change",a=>{const{name:o,checked:l}=a.target;for(const h of this._getElementsByName(o,s))t.setValue(h.id,{value:!1});t.setValue(s,{value:l})}),r.addEventListener("resetform",a=>{const o=e.defaultFieldValue;a.target.checked=o!=null&&o===e.buttonValue}),this.enableScripting&&this.hasJSActions){const a=e.buttonValue;r.addEventListener("updatefromsandbox",o=>{const l={value:h=>{const c=a===h.detail.value;for(const d of this._getElementsByName(h.target.name)){const f=c&&d.id===s;d.domElement&&(d.domElement.checked=f),t.setValue(d.id,{value:f})}}};this._dispatchEventFromSandbox(l,o)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],o=>o.target.checked)}return this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class nw extends Wg{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){const t=super.render();t.classList.add("buttonWidgetAnnotation","pushButton");const e=t.lastChild;return this.enableScripting&&this.hasJSActions&&e&&(this._setDefaultPropertiesFromJS(e),e.addEventListener("updatefromsandbox",s=>{this._dispatchEventFromSandbox({},s)})),t}}class rw extends No{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const t=this.annotationStorage,e=this.data.id,s=t.getValue(e,{value:this.data.fieldValue}),n=document.createElement("select");Ro.add(n),n.setAttribute("data-element-id",e),n.disabled=this.data.readOnly,this._setRequired(n,this.data.required),n.name=this.data.fieldName,n.tabIndex=0;let r=this.data.combo&&this.data.options.length>0;this.data.combo||(n.size=this.data.options.length,this.data.multiSelect&&(n.multiple=!0)),n.addEventListener("resetform",d=>{const f=this.data.defaultFieldValue;for(const m of n.options)m.selected=m.value===f});const a=(d,f)=>{const m=f.replaceAll(" "," ");d.textContent=m,m!==f&&d.setAttribute("display-value",f)};for(const d of this.data.options){const f=document.createElement("option");a(f,d.displayValue),f.value=d.exportValue,s.value.includes(d.exportValue)&&(f.setAttribute("selected",!0),r=!1),n.append(f)}let o=null;if(r){const d=document.createElement("option");d.value=" ",d.setAttribute("hidden",!0),d.setAttribute("selected",!0),n.prepend(d),o=()=>{d.remove(),n.removeEventListener("input",o),o=null},n.addEventListener("input",o)}const l=d=>{const f=d?"value":"textContent",{options:m,multiple:y}=n;return y?Array.prototype.filter.call(m,A=>A.selected).map(A=>A[f]):m.selectedIndex===-1?null:m[m.selectedIndex][f]};let h=l(!1);const c=d=>{const f=d.target.options;return Array.prototype.map.call(f,m=>({displayValue:m.getAttribute("display-value")||m.textContent,exportValue:m.value}))};return this.enableScripting&&this.hasJSActions?(n.addEventListener("updatefromsandbox",d=>{const f={value(m){o==null||o();const y=m.detail.value,A=new Set(Array.isArray(y)?y:[y]);for(const v of n.options)v.selected=A.has(v.value);t.setValue(e,{value:l(!0)}),h=l(!1)},multipleSelection(m){n.multiple=!0},remove(m){const y=n.options,A=m.detail.remove;y[A].selected=!1,n.remove(A),y.length>0&&Array.prototype.findIndex.call(y,w=>w.selected)===-1&&(y[0].selected=!0),t.setValue(e,{value:l(!0),items:c(m)}),h=l(!1)},clear(m){for(;n.length!==0;)n.remove(0);t.setValue(e,{value:null,items:[]}),h=l(!1)},insert(m){const{index:y,displayValue:A,exportValue:v}=m.detail.insert,w=n.children[y],S=document.createElement("option");a(S,A),S.value=v,w?w.before(S):n.append(S),t.setValue(e,{value:l(!0),items:c(m)}),h=l(!1)},items(m){const{items:y}=m.detail;for(;n.length!==0;)n.remove(0);for(const A of y){const{displayValue:v,exportValue:w}=A,S=document.createElement("option");a(S,v),S.value=w,n.append(S)}n.options.length>0&&(n.options[0].selected=!0),t.setValue(e,{value:l(!0),items:c(m)}),h=l(!1)},indices(m){const y=new Set(m.detail.indices);for(const A of m.target.options)A.selected=y.has(A.index);t.setValue(e,{value:l(!0)}),h=l(!1)},editable(m){m.target.disabled=!m.detail.editable}};this._dispatchEventFromSandbox(f,d)}),n.addEventListener("input",d=>{var y;const f=l(!0),m=l(!1);t.setValue(e,{value:f}),d.preventDefault(),(y=this.linkService.eventBus)==null||y.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:h,change:m,changeEx:f,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(n,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],d=>d.target.value)):n.addEventListener("input",function(d){t.setValue(e,{value:l(!0)})}),this.data.combo&&this._setTextStyle(n),this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}}var dd,tg;class Zp extends Mt{constructor(e){const{data:s,elements:n,parent:r}=e,a=!!r._commentManager;super(e,{isRenderable:!a&&Mt._hasPopupData(s)});g(this,dd);if(this.elements=n,a&&Mt._hasPopupData(s)){const o=this.popup=b(this,dd,tg).call(this);for(const l of n)l.popup=o}else this.popup=null}render(){const{container:e}=this;e.classList.add("popupAnnotation"),e.role="comment";const s=this.popup=b(this,dd,tg).call(this),n=[];for(const r of this.elements)r.popup=s,r.container.ariaHasPopup="dialog",n.push(r.data.id),r.addHighlightArea();return this.container.setAttribute("aria-controls",n.map(r=>`${Vo}${r}`).join(",")),this.container}}dd=new WeakSet,tg=function(){return new aw({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate||this.data.creationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open,commentManager:this.parent._commentManager})};var cs,Ar,Sf,Ef,Wl,Xl,Ht,ki,wr,no,Yl,Kl,Mi,ds,mn,bn,Ut,yn,vr,ud,An,ql,ro,Sr,re,Er,K,Cu,eg,sg,ig,Tu,ng,ly,hy,cy,dy,_u,ku,rg;class aw{constructor({container:t,color:e,elements:s,titleObj:n,modificationDate:r,contentsObj:a,richText:o,parent:l,rect:h,parentRect:c,open:d,commentManager:f=null}){g(this,K);g(this,cs,null);g(this,Ar,b(this,K,cy).bind(this));g(this,Sf,b(this,K,rg).bind(this));g(this,Ef,b(this,K,ku).bind(this));g(this,Wl,b(this,K,_u).bind(this));g(this,Xl,null);g(this,Ht,null);g(this,ki,null);g(this,wr,null);g(this,no,null);g(this,Yl,null);g(this,Kl,null);g(this,Mi,!1);g(this,ds,null);g(this,mn,null);g(this,bn,null);g(this,Ut,null);g(this,yn,null);g(this,vr,null);g(this,ud,null);g(this,An,null);g(this,ql,null);g(this,ro,null);g(this,Sr,!1);g(this,re,null);g(this,Er,null);u(this,Ht,t),u(this,ql,n),u(this,ki,a),u(this,An,o),u(this,Yl,l),u(this,Xl,e),u(this,ud,h),u(this,Kl,c),u(this,no,s),u(this,cs,f),u(this,re,s[0]),u(this,wr,Yu.toDateObject(r)),this.trigger=s.flatMap(m=>m.getElementsToTriggerPopup()),f||(b(this,K,Cu).call(this),i(this,Ht).hidden=!0,d&&b(this,K,_u).call(this))}renderCommentButton(){if(i(this,Ut)){i(this,Ut).parentNode||i(this,re).container.after(i(this,Ut));return}if(i(this,yn)||b(this,K,eg).call(this),!i(this,yn))return;const{signal:t}=u(this,mn,new AbortController),e=i(this,re).hasOwnCommentButton,s=()=>{i(this,cs).toggleCommentPopup(this,!0,void 0,!e)},n=()=>{i(this,cs).toggleCommentPopup(this,!1,!0,!e)},r=()=>{i(this,cs).toggleCommentPopup(this,!1,!1)};if(e){u(this,Ut,i(this,re).container);for(const a of this.trigger)a.ariaHasPopup="dialog",a.ariaControls="commentPopup",a.addEventListener("keydown",i(this,Ar),{signal:t}),a.addEventListener("click",s,{signal:t}),a.addEventListener("pointerenter",n,{signal:t}),a.addEventListener("pointerleave",r,{signal:t}),a.classList.add("popupTriggerArea")}else{const a=u(this,Ut,document.createElement("button"));a.className="annotationCommentButton";const o=i(this,re).container;a.style.zIndex=parseInt(o.style.zIndex,10)+1,a.tabIndex=0,a.ariaHasPopup="dialog",a.ariaControls="commentPopup",a.setAttribute("data-l10n-id","pdfjs-show-comment-button"),b(this,K,ig).call(this),b(this,K,sg).call(this),a.addEventListener("keydown",i(this,Ar),{signal:t}),a.addEventListener("click",s,{signal:t}),a.addEventListener("pointerenter",n,{signal:t}),a.addEventListener("pointerleave",r,{signal:t}),o.after(a)}}get commentButtonColor(){const{color:t,opacity:e}=i(this,re).commentData;return t?i(this,Yl)._commentManager.makeCommentColor(t,e):null}focusCommentButton(){setTimeout(()=>{var t;(t=i(this,Ut))==null||t.focus()},0)}getData(){const{richText:t,color:e,opacity:s,creationDate:n,modificationDate:r}=i(this,re).commentData;return{contentsObj:{str:this.comment},richText:t,color:e,opacity:s,creationDate:n,modificationDate:r}}get elementBeforePopup(){return i(this,Ut)}get comment(){return i(this,Er)||u(this,Er,i(this,re).commentText),i(this,Er)}set comment(t){t!==this.comment&&(i(this,re).commentText=u(this,Er,t))}focus(){var t;(t=i(this,re).container)==null||t.focus()}get parentBoundingClientRect(){return i(this,re).layer.getBoundingClientRect()}setCommentButtonStates({selected:t,hasPopup:e}){i(this,Ut)&&(i(this,Ut).classList.toggle("selected",t),i(this,Ut).ariaExpanded=e)}setSelectedCommentButton(t){i(this,Ut).classList.toggle("selected",t)}get commentPopupPosition(){if(i(this,vr))return i(this,vr);const{x:t,y:e,height:s}=i(this,Ut).getBoundingClientRect(),{x:n,y:r,width:a,height:o}=i(this,re).layer.getBoundingClientRect();return[(t-n)/a,(e+s-r)/o]}set commentPopupPosition(t){u(this,vr,t)}hasDefaultPopupPosition(){return i(this,vr)===null}get commentButtonPosition(){return i(this,yn)}get commentButtonWidth(){return i(this,Ut).getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(t){const[e,s]=i(this,vr)||this.commentButtonPosition.map(h=>h/100),n=this.parentBoundingClientRect,{x:r,y:a,width:o,height:l}=n;i(this,cs).showDialog(null,this,r+e*o,a+s*l,{...t,parentDimensions:n})}render(){var s,n;if(i(this,ds))return;const t=u(this,ds,document.createElement("div"));if(t.className="popup",i(this,Xl)){const r=t.style.outlineColor=D.makeHexColor(...i(this,Xl));t.style.backgroundColor=`color-mix(in srgb, ${r} 30%, white)`}const e=document.createElement("span");if(e.className="header",(s=i(this,ql))!=null&&s.str){const r=document.createElement("span");r.className="title",e.append(r),{dir:r.dir,str:r.textContent}=i(this,ql)}if(t.append(e),i(this,wr)){const r=document.createElement("time");r.className="popupDate",r.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),r.setAttribute("data-l10n-args",JSON.stringify({dateObj:i(this,wr).valueOf()})),r.dateTime=i(this,wr).toISOString(),e.append(r)}Bm({html:i(this,K,Tu)||i(this,ki).str,dir:(n=i(this,ki))==null?void 0:n.dir,className:"popupContent"},t),i(this,Ht).append(t)}updateEdited({rect:t,popup:e,deleted:s}){var n;if(i(this,cs)){s?(this.remove(),u(this,Er,null)):e&&(e.deleted?this.remove():(b(this,K,ig).call(this),u(this,Er,e.text))),t&&(u(this,yn,null),b(this,K,eg).call(this),b(this,K,sg).call(this));return}if(s||e!=null&&e.deleted){this.remove();return}b(this,K,Cu).call(this),i(this,ro)||u(this,ro,{contentsObj:i(this,ki),richText:i(this,An)}),t&&u(this,bn,null),e&&e.text&&(u(this,An,b(this,K,hy).call(this,e.text)),u(this,wr,Yu.toDateObject(e.date)),u(this,ki,null)),(n=i(this,ds))==null||n.remove(),u(this,ds,null)}resetEdited(){var t;i(this,ro)&&({contentsObj:Et(this,ki)._,richText:Et(this,An)._}=i(this,ro),u(this,ro,null),(t=i(this,ds))==null||t.remove(),u(this,ds,null),u(this,bn,null))}remove(){var t,e,s;if((t=i(this,mn))==null||t.abort(),u(this,mn,null),(e=i(this,ds))==null||e.remove(),u(this,ds,null),u(this,Sr,!1),u(this,Mi,!1),(s=i(this,Ut))==null||s.remove(),u(this,Ut,null),this.trigger)for(const n of this.trigger)n.classList.remove("popupTriggerArea")}forceHide(){u(this,Sr,this.isVisible),i(this,Sr)&&(i(this,Ht).hidden=!0)}maybeShow(){i(this,cs)||(b(this,K,Cu).call(this),i(this,Sr)&&(i(this,ds)||b(this,K,ku).call(this),u(this,Sr,!1),i(this,Ht).hidden=!1))}get isVisible(){return i(this,cs)?!1:i(this,Ht).hidden===!1}}cs=new WeakMap,Ar=new WeakMap,Sf=new WeakMap,Ef=new WeakMap,Wl=new WeakMap,Xl=new WeakMap,Ht=new WeakMap,ki=new WeakMap,wr=new WeakMap,no=new WeakMap,Yl=new WeakMap,Kl=new WeakMap,Mi=new WeakMap,ds=new WeakMap,mn=new WeakMap,bn=new WeakMap,Ut=new WeakMap,yn=new WeakMap,vr=new WeakMap,ud=new WeakMap,An=new WeakMap,ql=new WeakMap,ro=new WeakMap,Sr=new WeakMap,re=new WeakMap,Er=new WeakMap,K=new WeakSet,Cu=function(){var e;if(i(this,mn))return;u(this,mn,new AbortController);const{signal:t}=i(this,mn);for(const s of this.trigger)s.addEventListener("click",i(this,Wl),{signal:t}),s.addEventListener("pointerenter",i(this,Ef),{signal:t}),s.addEventListener("pointerleave",i(this,Sf),{signal:t}),s.classList.add("popupTriggerArea");for(const s of i(this,no))(e=s.container)==null||e.addEventListener("keydown",i(this,Ar),{signal:t})},eg=function(){const t=i(this,no).find(e=>e.hasCommentButton);t&&u(this,yn,t._normalizePoint(t.commentButtonPosition))},sg=function(){if(i(this,re).extraPopupElement&&!i(this,re).editor)return;i(this,Ut)||this.renderCommentButton();const[t,e]=i(this,yn),{style:s}=i(this,Ut);s.left=`calc(${t}%)`,s.top=`calc(${e}% - var(--comment-button-dim))`},ig=function(){i(this,re).extraPopupElement||(i(this,Ut)||this.renderCommentButton(),i(this,Ut).style.backgroundColor=this.commentButtonColor||"")},Tu=function(){const t=i(this,An),e=i(this,ki);return t!=null&&t.str&&(!(e!=null&&e.str)||e.str===t.str)&&i(this,An).html||null},ng=function(){var t,e,s;return((s=(e=(t=i(this,K,Tu))==null?void 0:t.attributes)==null?void 0:e.style)==null?void 0:s.fontSize)||0},ly=function(){var t,e,s;return((s=(e=(t=i(this,K,Tu))==null?void 0:t.attributes)==null?void 0:e.style)==null?void 0:s.color)||null},hy=function(t){const e=[],s={str:t,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:e}]}},n={style:{color:i(this,K,ly),fontSize:i(this,K,ng)?`calc(${i(this,K,ng)}px * var(--total-scale-factor))`:""}};for(const r of t.split(` -`))e.push({name:"span",value:r,attributes:n});return s},cy=function(t){t.altKey||t.shiftKey||t.ctrlKey||t.metaKey||(t.key==="Enter"||t.key==="Escape"&&i(this,Mi))&&b(this,K,_u).call(this)},dy=function(){if(i(this,bn)!==null)return;const{page:{view:t},viewport:{rawDims:{pageWidth:e,pageHeight:s,pageX:n,pageY:r}}}=i(this,Yl);let a=!!i(this,Kl),o=a?i(this,Kl):i(this,ud);for(const y of i(this,no))if(!o||D.intersect(y.data.rect,o)!==null){o=y.data.rect,a=!0;break}const l=D.normalizeRect([o[0],t[3]-o[1]+t[1],o[2],t[3]-o[3]+t[1]]),c=a?o[2]-o[0]+5:0,d=l[0]+c,f=l[1];u(this,bn,[100*(d-n)/e,100*(f-r)/s]);const{style:m}=i(this,Ht);m.left=`${i(this,bn)[0]}%`,m.top=`${i(this,bn)[1]}%`},_u=function(){if(i(this,cs)){i(this,cs).toggleCommentPopup(this,!1);return}u(this,Mi,!i(this,Mi)),i(this,Mi)?(b(this,K,ku).call(this),i(this,Ht).addEventListener("click",i(this,Wl)),i(this,Ht).addEventListener("keydown",i(this,Ar))):(b(this,K,rg).call(this),i(this,Ht).removeEventListener("click",i(this,Wl)),i(this,Ht).removeEventListener("keydown",i(this,Ar)))},ku=function(){i(this,ds)||this.render(),this.isVisible?i(this,Mi)&&i(this,Ht).classList.add("focused"):(b(this,K,dy).call(this),i(this,Ht).hidden=!1,i(this,Ht).style.zIndex=parseInt(i(this,Ht).style.zIndex,10)+1e3)},rg=function(){i(this,Ht).classList.remove("focused"),!(i(this,Mi)||!this.isVisible)&&(i(this,Ht).hidden=!0,i(this,Ht).style.zIndex=parseInt(i(this,Ht).style.zIndex,10)-1e3)};class uy extends Mt{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0}),this.textContent=t.data.textContent,this.textPosition=t.data.textPosition,this.annotationEditorType=V.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){const t=this.contentElement=document.createElement("div");t.classList.add("annotationTextContent"),t.setAttribute("role","comment");for(const e of this.textContent){const s=document.createElement("span");s.textContent=e,t.append(s)}this.container.append(t)}return!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this._editOnDoubleClick(),this.container}}var fd;class ow extends Mt{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});g(this,fd,null)}render(){this.container.classList.add("lineAnnotation");const{data:e,width:s,height:n}=this,r=this.svgFactory.create(s,n,!0),a=u(this,fd,this.svgFactory.createElement("svg:line"));return a.setAttribute("x1",e.rect[2]-e.lineCoordinates[0]),a.setAttribute("y1",e.rect[3]-e.lineCoordinates[1]),a.setAttribute("x2",e.rect[2]-e.lineCoordinates[2]),a.setAttribute("y2",e.rect[3]-e.lineCoordinates[3]),a.setAttribute("stroke-width",e.borderStyle.width||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),r.append(a),this.container.append(r),!e.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return i(this,fd)}addHighlightArea(){this.container.classList.add("highlightArea")}}fd=new WeakMap;var pd;class lw extends Mt{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});g(this,pd,null)}render(){this.container.classList.add("squareAnnotation");const{data:e,width:s,height:n}=this,r=this.svgFactory.create(s,n,!0),a=e.borderStyle.width,o=u(this,pd,this.svgFactory.createElement("svg:rect"));return o.setAttribute("x",a/2),o.setAttribute("y",a/2),o.setAttribute("width",s-a),o.setAttribute("height",n-a),o.setAttribute("stroke-width",a||1),o.setAttribute("stroke","transparent"),o.setAttribute("fill","transparent"),r.append(o),this.container.append(r),!e.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return i(this,pd)}addHighlightArea(){this.container.classList.add("highlightArea")}}pd=new WeakMap;var gd;class hw extends Mt{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});g(this,gd,null)}render(){this.container.classList.add("circleAnnotation");const{data:e,width:s,height:n}=this,r=this.svgFactory.create(s,n,!0),a=e.borderStyle.width,o=u(this,gd,this.svgFactory.createElement("svg:ellipse"));return o.setAttribute("cx",s/2),o.setAttribute("cy",n/2),o.setAttribute("rx",s/2-a/2),o.setAttribute("ry",n/2-a/2),o.setAttribute("stroke-width",a||1),o.setAttribute("stroke","transparent"),o.setAttribute("fill","transparent"),r.append(o),this.container.append(r),!e.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return i(this,gd)}addHighlightArea(){this.container.classList.add("highlightArea")}}gd=new WeakMap;var md;class fy extends Mt{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});g(this,md,null);this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const{data:{rect:e,vertices:s,borderStyle:n,popupRef:r},width:a,height:o}=this;if(!s)return this.container;const l=this.svgFactory.create(a,o,!0);let h=[];for(let d=0,f=s.length;d=0&&a.setAttribute("stroke-width",s||1),n)for(let o=0,l=i(this,ao).length;o{a.key==="Enter"&&(r?a.metaKey:a.ctrlKey)&&b(this,wd,og).call(this)}),!s.popupRef&&this.hasPopupData?(this.hasOwnCommentButton=!0,this._createPopup()):n.classList.add("popupTriggerArea"),e.append(n),e}getElementsToTriggerPopup(){return i(this,Ad)}addHighlightArea(){this.container.classList.add("highlightArea")}}Ad=new WeakMap,wd=new WeakSet,og=async function(){var a;const{fileId:e,filename:s,content:n}=this,r=await this.linkService.getAttachmentContent(e)||n;r&&((a=this.downloadManager)==null||a.openOrDownloadData(r,s))};var Ql,oo,wn,Fo,by,lg;class my extends Mt{constructor(e){super(e,{isRenderable:!!e.data.richMedia});g(this,Fo);g(this,Ql,new AbortController);g(this,oo,null);g(this,wn,null)}render(){this.container.classList.add("mediaAnnotation");const{filename:e}=this.data.richMedia,s=document.createElement("button");return s.className="mediaPlayButton",s.type="button",s.title=s.ariaLabel=e,s.addEventListener("click",()=>b(this,Fo,by).call(this,s),{signal:i(this,Ql).signal}),this.container.append(s),this.container}destroy(){i(this,Ql).abort(),i(this,wn)&&(i(this,wn).pause(),i(this,wn).removeAttribute("src"),i(this,wn).load(),u(this,wn,null)),b(this,Fo,lg).call(this)}}Ql=new WeakMap,oo=new WeakMap,wn=new WeakMap,Fo=new WeakSet,by=async function(e){const{fileId:s,filename:n,contentType:r}=this.data.richMedia;e.disabled=!0;let a;try{a=await this.linkService.getAttachmentContent(s)}catch{return}finally{e.disabled=!1}if(!a||!e.isConnected)return;const{signal:o}=i(this,Ql),l=URL.createObjectURL(new Blob([a],{type:r}));u(this,oo,l);const h=r.startsWith("audio/"),c=document.createElement(h?"audio":"video");if(u(this,wn,c),c.className="mediaContent",this._setBackgroundColor(c),c.src=l,c.title=n,c.controls=!0,c.autoplay=!0,c.tabIndex=0,h){let d=!1,f=!1;const m=()=>{c.controls=d||f};this.container.addEventListener("pointerenter",()=>{d=!0,m()},{signal:o}),this.container.addEventListener("pointerleave",()=>{d=!1,m()},{signal:o}),this.container.addEventListener("focusin",()=>{f=!0,m()},{signal:o}),this.container.addEventListener("focusout",()=>{f=!1,m()},{signal:o})}c.addEventListener("emptied",()=>b(this,Fo,lg).call(this,l),{once:!0,signal:o}),e.replaceWith(c),c.play().catch(()=>{})},lg=function(e=i(this,oo)){e&&e===i(this,oo)&&(URL.revokeObjectURL(e),u(this,oo,null))};var xr,lo,Jl,vn,vd,ho,_e,Sd,Bi,Mu,Pu;const im=class im{constructor({div:t,accessibilityManager:e,annotationCanvasMap:s,annotationEditorUIManager:n,page:r,viewport:a,structTreeLayer:o,commentManager:l,linkService:h,annotationStorage:c}){g(this,Bi);g(this,xr,null);g(this,lo,null);g(this,Jl,null);g(this,vn,new Map);g(this,vd,null);g(this,ho,null);g(this,_e,[]);g(this,Sd,!1);_(this,"zIndex",0);this.div=t,u(this,xr,e),u(this,lo,s),u(this,vd,o||null),u(this,ho,h||null),u(this,Jl,c||new jg),this.page=r,this.viewport=a,this._annotationEditorUIManager=n,this._commentManager=l||null}hasEditableAnnotations(){return i(this,vn).size>0}async render(t){var l;const{annotations:e,optionalContentConfig:s}=t,n=this.div;Do(n,this.viewport);const r=new Map,a=[],o={data:null,layer:n,linkService:i(this,ho),downloadManager:t.downloadManager,imageResourcesPath:t.imageResourcesPath||"",renderForms:t.renderForms!==!1,svgFactory:new Zu,annotationStorage:i(this,Jl),enableComment:t.enableComment===!0,enableScripting:t.enableScripting===!0,hasJSActions:t.hasJSActions,fieldObjects:t.fieldObjects,parent:this,elements:null};for(const h of e){if(h.noHTML)continue;const c=h.annotationType===Pt.POPUP;if(c){const m=r.get(h.id);if(!m)continue;if(!this._commentManager){a.push(h);continue}o.elements=m}else if(h.rect[2]===h.rect[0]||h.rect[3]===h.rect[1])continue;o.data=h;const d=tp.create(o);if(!d.isRenderable)continue;c||(i(this,_e).push(d),h.popupRef&&r.getOrInsertComputed(h.popupRef,Wd).push(d));const f=d.render();h.hidden&&(f.style.visibility="hidden"),d.updateOC(s),d._isEditable&&(i(this,vn).set(d.data.id,d),(l=this._annotationEditorUIManager)==null||l.renderAnnotationElement(d))}await b(this,Bi,Mu).call(this);for(const h of a){const c=o.elements=r.get(h.id);o.data=h;const d=tp.create(o);if(!d.isRenderable)continue;const f=d.render();d.contentElement.id=`${Vo}${h.id}`,h.hidden&&(f.style.visibility="hidden"),c.at(-1).container.after(f)}b(this,Bi,Pu).call(this)}async addLinkAnnotations(t){const e={data:null,layer:this.div,linkService:i(this,ho),svgFactory:new Zu,parent:this};for(const s of t){s.borderStyle||(s.borderStyle=im._defaultBorderStyle),e.data=s;const n=tp.create(e);n.isRenderable&&(n.render(),n.contentElement.id=`${Vo}${s.id}`,i(this,_e).push(n))}await b(this,Bi,Mu).call(this)}update({viewport:t,optionalContentConfig:e}){const s=this.div;this.viewport=t,Do(s,{rotation:t.rotation});for(const n of i(this,_e))n.updateOC(e);b(this,Bi,Pu).call(this),s.hidden=!1}destroy(){var t,e;for(const s of i(this,_e))(t=s.destroy)==null||t.call(s),(e=i(this,xr))==null||e.removePointerInTextLayer(s.contentElement);i(this,_e).length=0,i(this,vn).clear(),this.div.replaceChildren()}refreshCanvases(){b(this,Bi,Pu).call(this)}getEditableAnnotations(){return i(this,vn).values()}getEditableAnnotation(t){return i(this,vn).get(t)}addFakeAnnotation(t){const{div:e}=this,{id:s,rotation:n}=t,r=new J0({data:{id:s,rect:t.getPDFRect(),rotation:n},editor:t,layer:e,parent:this,enableComment:!!this._commentManager,linkService:i(this,ho),annotationStorage:i(this,Jl)});return r.render(),r.contentElement.id=`${Vo}${s}`,r.createOrUpdatePopup(),i(this,_e).push(r),r}removeAnnotation(t){var n;const e=i(this,_e).findIndex(r=>r.data.id===t);if(e<0)return;const[s]=i(this,_e).splice(e,1);(n=i(this,xr))==null||n.removePointerInTextLayer(s.contentElement)}updateFakeAnnotations(t){if(t.length!==0){for(const e of t)e.updateFakeAnnotationElement(this);b(this,Bi,Mu).call(this)}}togglePointerEvents(t=!1){this.div.classList.toggle("disabled",!t)}static get _defaultBorderStyle(){return $(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:Ho.SOLID,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}};xr=new WeakMap,lo=new WeakMap,Jl=new WeakMap,vn=new WeakMap,vd=new WeakMap,ho=new WeakMap,_e=new WeakMap,Sd=new WeakMap,Bi=new WeakSet,Mu=async function(){var s,n,r;if(i(this,_e).length===0)return;this.div.replaceChildren();const t=[];if(!i(this,Sd)){u(this,Sd,!0);for(const{contentElement:a,data:{id:o}}of i(this,_e)){const l=a.id=`${Vo}${o}`;t.push((s=i(this,vd))==null?void 0:s.getAriaAttributes(l).then(h=>{if(h)for(const[c,d]of h)a.setAttribute(c,d)}))}}i(this,_e).sort(({data:{rect:[a,o,l,h]}},{data:{rect:[c,d,f,m]}})=>{if(a===l&&o===h)return 1;if(c===f&&d===m)return-1;const y=h,A=o,v=(o+h)/2,w=m,S=d,E=(d+m)/2;if(v>=w&&E<=A)return-1;if(E>=y&&v<=S)return 1;const x=(a+l)/2,C=(c+f)/2;return x-C});const e=document.createDocumentFragment();for(const a of i(this,_e))e.append(a.container),this._commentManager?(r=((n=a.extraPopupElement)==null?void 0:n.popup)||a.popup)==null||r.renderCommentButton():a.extraPopupElement&&e.append(a.extraPopupElement.render());if(this.div.append(e),await Promise.all(t),i(this,xr))for(const a of i(this,_e))i(this,xr).addPointerInTextLayer(a.contentElement,!1)},Pu=function(){var e;if(!i(this,lo))return;const t=this.div;for(const[s,n]of i(this,lo)){const r=t.querySelector(`[data-annotation-id="${s}"]`);if(!r)continue;if(Array.isArray(n))for(const c of n)c.className="annotationContent",c.ariaHidden=!0;else n.className="annotationContent",n.ariaHidden=!0;const a=[];for(const c of r.children)c.nodeName==="CANVAS"&&a.push(c);for(const c of a)c.remove();const o=Array.isArray(n)?n[0]:n,{firstChild:l}=r;if(l?l.classList.contains("annotationContent")?l.after(o):l.before(o):r.append(o),Array.isArray(n)){let c=o;for(let d=1,f=n.length;da.isEmpty(),n=Lo.TRANSLATE_SMALL,r=Lo.TRANSLATE_BIG;return $(this,"_keyboardManager",new Io([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],e.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter"],e.commitOrRemove],[["Escape"],e.commitOrRemove],[["ArrowLeft"],e._translateEmpty,{args:[-n,0],checker:s}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e._translateEmpty,{args:[-r,0],checker:s}],[["ArrowRight"],e._translateEmpty,{args:[n,0],checker:s}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e._translateEmpty,{args:[r,0],checker:s}],[["ArrowUp"],e._translateEmpty,{args:[0,-n],checker:s}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e._translateEmpty,{args:[0,-r],checker:s}],[["ArrowDown"],e._translateEmpty,{args:[0,n],checker:s}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e._translateEmpty,{args:[0,r],checker:s}]]))}static initialize(e,s){ot.initialize(e,s);const n=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(n.getPropertyValue("--freetext-padding"))}static updateDefaultParams(e,s){switch(e){case X.FREETEXT_SIZE:xt._defaultFontSize=s;break;case X.FREETEXT_COLOR:xt._defaultColor=s;break}}updateParams(e,s){switch(e){case X.FREETEXT_SIZE:b(this,qt,yy).call(this,s);break;case X.FREETEXT_COLOR:b(this,qt,Ay).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[X.FREETEXT_SIZE,xt._defaultFontSize],[X.FREETEXT_COLOR,xt._defaultColor||ot._defaultLineColor]]}get propertiesToUpdate(){return[[X.FREETEXT_SIZE,i(this,fs)],[X.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||(this._colorPicker=new Ju(this)),[["colorPicker",this._colorPicker]]}get colorType(){return X.FREETEXT_COLOR}onUpdatedColor(){var e;this.editorDiv.style.color=this.color,(e=this._colorPicker)==null||e.update(this.color),super.onUpdatedColor()}_translateEmpty(e,s){this._uiManager.translateSelectedEditors(e,s,!0)}getInitialTranslation(){const e=this.parentScale;return[-xt._internalPadding*e,-(xt._internalPadding+i(this,fs))*e]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),u(this,co,new AbortController);const e=this._uiManager.combinedSignal(i(this,co));return this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:e}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:e}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:e}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:e}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:e}),!0}disableEditMode(){var e;return super.disableEditMode()?(this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",i(this,Ed)),this._isDraggable=!0,(e=i(this,co))==null||e.abort(),u(this,co,null),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"),!0):!1}focusin(e){this._focusEventsAllowed&&(super.focusin(e),e.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(e){var s;this.width||(this.enableEditMode(),e&&this.editorDiv.focus(),(s=this._initialOptions)!=null&&s.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const e=i(this,us),s=u(this,us,b(this,qt,wy).call(this).trimEnd());if(e===s)return;const n=r=>{if(u(this,us,r),!r){this.remove();return}b(this,qt,Lu).call(this),this._uiManager.rebuild(this),b(this,qt,Du).call(this)};this.addCommands({cmd:()=>{n(s)},undo:()=>{n(e)},mustExec:!1}),b(this,qt,Du).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(e){e.target===this.div&&e.key==="Enter"&&(this.enterInEditMode(),e.preventDefault())}editorDivKeydown(e){xt._keyboardManager.exec(this,e)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}get canChangeContent(){return!0}render(){if(this.div)return this.div;let e,s;(this._isCopy||this.annotationElementId)&&(e=this.x,s=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",i(this,Ed)),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;const{style:n}=this.editorDiv;if(n.fontSize=`calc(${i(this,fs)}px * var(--total-scale-factor))`,n.color=this.color,this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),this._isCopy||this.annotationElementId){const[r,a]=this.parentDimensions;if(this.annotationElementId){const{position:o}=this._initialData;let[l,h]=this.getInitialTranslation();[l,h]=this.pageTranslationToScreen(l,h);const[c,d]=this.pageDimensions,[f,m]=this.pageTranslation;let y,A;switch(this.rotation){case 0:y=e+(o[0]-f)/c,A=s+this.height-(o[1]-m)/d;break;case 90:y=e+(o[0]-f)/c,A=s-(o[1]-m)/d,[l,h]=[h,-l];break;case 180:y=e-this.width+(o[0]-f)/c,A=s-(o[1]-m)/d,[l,h]=[-l,-h];break;case 270:y=e+(o[0]-f-this.height*d)/c,A=s+(o[1]-m-this.width*c)/d,[l,h]=[-h,l];break}this.setAt(y*r,A*a,l,h)}else this._moveAfterPaste(e,s);b(this,qt,Lu).call(this),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}editorDivPaste(e){var y,A,v;const s=e.clipboardData||window.clipboardData,{types:n}=s;if(n.length===1&&n[0]==="text/plain")return;e.preventDefault();const r=b(y=xt,Rn,dg).call(y,s.getData("text")||"").replaceAll(su,` -`);if(!r)return;const a=window.getSelection();if(!a.rangeCount)return;this.editorDiv.normalize(),a.deleteFromDocument();const o=a.getRangeAt(0);if(!r.includes(` -`)){o.insertNode(document.createTextNode(r)),this.editorDiv.normalize(),a.collapseToStart();return}const{startContainer:l,startOffset:h}=o,c=[],d=[];if(l.nodeType===Node.TEXT_NODE){const w=l.parentElement;if(d.push(l.nodeValue.slice(h).replaceAll(su,"")),w!==this.editorDiv){let S=c;for(const E of this.editorDiv.childNodes){if(E===w){S=d;continue}S.push(b(A=xt,Rn,Iu).call(A,E))}}c.push(l.nodeValue.slice(0,h).replaceAll(su,""))}else if(l===this.editorDiv){let w=c,S=0;for(const E of this.editorDiv.childNodes)S++===h&&(w=d),w.push(b(v=xt,Rn,Iu).call(v,E))}u(this,us,`${c.join(` -`)}${r}${d.join(` -`)}`),b(this,qt,Lu).call(this);const f=new Range;let m=Math.sumPrecise(c.map(w=>w.length));for(const{firstChild:w}of this.editorDiv.childNodes)if(w.nodeType===Node.TEXT_NODE){const S=w.nodeValue.length;if(m<=S){f.setStart(w,m),f.setEnd(w,m);break}m-=S}a.removeAllRanges(),a.addRange(f)}get contentDiv(){return this.editorDiv}getPDFRect(){const e=xt._internalPadding*this.parentScale;return this.getRect(e,e)}static async deserialize(e,s,n){var o;let r=null;if(e instanceof uy){const{data:{defaultAppearanceData:{fontSize:l,fontColor:h},rect:c,rotation:d,id:f,popupRef:m,richText:y,contentsObj:A,creationDate:v,modificationDate:w},textContent:S,textPosition:E,parent:{page:{pageNumber:x}}}=e;if(!(S!=null&&S.length))return null;r=e={annotationType:V.FREETEXT,color:Array.from(h),fontSize:l,value:S.join(` -`),position:E,pageIndex:x-1,rect:c.slice(0),rotation:d,annotationElementId:f,id:f,deleted:!1,popupRef:m,comment:(A==null?void 0:A.str)||null,richText:y,creationDate:v,modificationDate:w}}const a=await super.deserialize(e,s,n);return u(a,fs,e.fontSize),a.color=D.makeHexColor(...e.color),u(a,us,b(o=xt,Rn,dg).call(o,e.value)),a._initialData=r,e.comment&&a.setCommentData(e),a}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const s=ot._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),n=Object.assign(super.serialize(e),{color:s,fontSize:i(this,fs),value:b(this,qt,vy).call(this)});return this.addComment(n),e?(n.isCopy=!0,n):this.annotationElementId&&!b(this,qt,Sy).call(this,n)?null:(n.id=this.annotationElementId,n)}renderAnnotationElement(e){const s=super.renderAnnotationElement(e);if(!s)return null;const{style:n}=s;n.fontSize=`calc(${i(this,fs)}px * var(--total-scale-factor))`,n.color=this.color,s.replaceChildren();for(const r of i(this,us).split(` -`)){const a=document.createElement("div");a.append(r?document.createTextNode(r):document.createElement("br")),s.append(a)}return e.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:i(this,us)}}),s}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}};us=new WeakMap,Ed=new WeakMap,co=new WeakMap,fs=new WeakMap,qt=new WeakSet,yy=function(e){const s=r=>{this.editorDiv.style.fontSize=`calc(${r}px * var(--total-scale-factor))`,this.translate(0,-(r-i(this,fs))*this.parentScale),u(this,fs,r),b(this,qt,Du).call(this)},n=i(this,fs);this.addCommands({cmd:s.bind(this,e),undo:s.bind(this,n),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:X.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},Ay=function(e){const s=r=>{this.color=r,this.onUpdatedColor()},n=this.color;this.addCommands({cmd:s.bind(this,e),undo:s.bind(this,n),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:X.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},wy=function(){var n;const e=[];this.editorDiv.normalize();let s=null;for(const r of this.editorDiv.childNodes)(s==null?void 0:s.nodeType)===Node.TEXT_NODE&&r.nodeName==="BR"||(e.push(b(n=xt,Rn,Iu).call(n,r)),s=r);return e.join(` -`)},Du=function(){const[e,s]=this.parentDimensions;let n;if(this.isAttachedToDOM)n=this.div.getBoundingClientRect();else{const{currentLayer:r,div:a}=this,o=a.style.display,l=a.classList.contains("hidden");a.classList.remove("hidden"),a.style.display="hidden",r.div.append(this.div),n=a.getBoundingClientRect(),a.remove(),a.style.display=o,a.classList.toggle("hidden",l)}this.rotation%180===this.parentRotation%180?(this.width=n.width/e,this.height=n.height/s):(this.width=n.height/e,this.height=n.width/s),this.fixAndSetPosition()},Rn=new WeakSet,Iu=function(e){return(e.nodeType===Node.TEXT_NODE?e.nodeValue:e.innerText).replaceAll(su,"")},Lu=function(){if(this.editorDiv.replaceChildren(),!!i(this,us))for(const e of i(this,us).split(` -`)){const s=document.createElement("div");s.append(e?document.createTextNode(e):document.createElement("br")),this.editorDiv.append(s)}},vy=function(){return i(this,us).replaceAll(" "," ")},dg=function(e){return e.replaceAll(" "," ")},Sy=function(e){const{value:s,fontSize:n,color:r,pageIndex:a}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||e.value!==s||e.fontSize!==n||e.color.some((o,l)=>o!==r[l])||e.pageIndex!==a},g(xt,Rn),_(xt,"_freeTextDefaultContent",""),_(xt,"_internalPadding",0),_(xt,"_defaultColor",null),_(xt,"_defaultFontSize",10),_(xt,"_type","freetext"),_(xt,"_editorType",V.FREETEXT);let cg=xt;class N{toSVGPath(){it("Abstract method `toSVGPath` must be implemented.")}get box(){it("Abstract getter `box` must be implemented.")}serialize(t,e){it("Abstract method `serialize` must be implemented.")}static _rescale(t,e,s,n,r,a){a||(a=new Float32Array(t.length));for(let o=0,l=t.length;o=6;n-=6)isNaN(e[n])?s.push(`L${e[n+4]} ${e[n+5]}`):s.push(`C${e[n]} ${e[n+1]} ${e[n+2]} ${e[n+3]} ${e[n+4]} ${e[n+5]}`);return b(this,Zt,xy).call(this,s),s.join(" ")}newFreeDrawOutline(t,e,s,n,r,a){return new My(t,e,s,n,r,a)}getOutlines(){var d;const t=i(this,Pi),e=i(this,ii),s=i(this,Z),[n,r,a,o]=i(this,ps),l=new Float32Array((((d=i(this,Cr))==null?void 0:d.length)??0)+2);for(let f=0,m=l.length-2;f=6;f-=6)for(let m=0;m<6;m+=2){if(isNaN(e[f+m])){h[c]=h[c+1]=NaN,c+=2;continue}h[c]=e[f+m],h[c+1]=e[f+m+1],c+=2}return b(this,Zt,_y).call(this,h,c),this.newFreeDrawOutline(h,l,i(this,ps),i(this,eh),i(this,Zl),i(this,th))}};ps=new WeakMap,ii=new WeakMap,Zl=new WeakMap,th=new WeakMap,Pi=new WeakMap,Z=new WeakMap,uo=new WeakMap,fo=new WeakMap,xd=new WeakMap,Cd=new WeakMap,eh=new WeakMap,sh=new WeakMap,Cr=new WeakMap,Td=new WeakMap,xf=new WeakMap,Cf=new WeakMap,Zt=new WeakSet,jh=function(){const t=i(this,Z).subarray(4,6),e=i(this,Z).subarray(16,18),[s,n,r,a]=i(this,ps);return[(i(this,uo)+(t[0]-e[0])/2-s)/r,(i(this,fo)+(t[1]-e[1])/2-n)/a,(i(this,uo)+(e[0]-t[0])/2-s)/r,(i(this,fo)+(e[1]-t[1])/2-n)/a]},Ey=function(){const[t,e,s,n]=i(this,ps),[r,a,o,l]=b(this,Zt,jh).call(this);return`M${(i(this,Z)[2]-t)/s} ${(i(this,Z)[3]-e)/n} L${(i(this,Z)[4]-t)/s} ${(i(this,Z)[5]-e)/n} L${r} ${a} L${o} ${l} L${(i(this,Z)[16]-t)/s} ${(i(this,Z)[17]-e)/n} L${(i(this,Z)[14]-t)/s} ${(i(this,Z)[15]-e)/n} Z`},xy=function(t){const e=i(this,ii);t.push(`L${e[4]} ${e[5]} Z`)},Cy=function(t){const[e,s,n,r]=i(this,ps),a=i(this,Z).subarray(4,6),o=i(this,Z).subarray(16,18),[l,h,c,d]=b(this,Zt,jh).call(this);t.push(`L${(a[0]-e)/n} ${(a[1]-s)/r} L${l} ${h} L${c} ${d} L${(o[0]-e)/n} ${(o[1]-s)/r}`)},Ty=function(t){const e=i(this,Z),[s,n,r,a]=i(this,ps),[o,l,h,c]=b(this,Zt,jh).call(this),d=new Float32Array(36);return d.set([NaN,NaN,NaN,NaN,(e[2]-s)/r,(e[3]-n)/a,NaN,NaN,NaN,NaN,(e[4]-s)/r,(e[5]-n)/a,NaN,NaN,NaN,NaN,o,l,NaN,NaN,NaN,NaN,h,c,NaN,NaN,NaN,NaN,(e[16]-s)/r,(e[17]-n)/a,NaN,NaN,NaN,NaN,(e[14]-s)/r,(e[15]-n)/a],0),this.newFreeDrawOutline(d,t,i(this,ps),i(this,eh),i(this,Zl),i(this,th))},_y=function(t,e){const s=i(this,ii);return t.set([NaN,NaN,NaN,NaN,s[4],s[5]],e),e+=6},ky=function(t,e){const s=i(this,Z).subarray(4,6),n=i(this,Z).subarray(16,18),[r,a,o,l]=i(this,ps),[h,c,d,f]=b(this,Zt,jh).call(this);return t.set([NaN,NaN,NaN,NaN,(s[0]-r)/o,(s[1]-a)/l,NaN,NaN,NaN,NaN,h,c,NaN,NaN,NaN,NaN,d,f,NaN,NaN,NaN,NaN,(n[0]-r)/o,(n[1]-a)/l],e),e+=24},g(Vi,Td,8),g(Vi,xf,2),g(Vi,Cf,i(Vi,Td)+i(Vi,xf));let tf=Vi;var ih,po,Sn,_d,gs,kd,Wt,Tf,Py;class My extends N{constructor(e,s,n,r,a,o){super();g(this,Tf);g(this,ih);g(this,po,new Float32Array(4));g(this,Sn);g(this,_d);g(this,gs);g(this,kd);g(this,Wt);u(this,Wt,e),u(this,gs,s),u(this,ih,n),u(this,kd,r),u(this,Sn,a),u(this,_d,o),this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],b(this,Tf,Py).call(this,o);const[l,h,c,d]=i(this,po);for(let f=0,m=e.length;fw?(o=v,l=w):l===w&&(o=d(o,v)),cf[1]?(o=f[0],l=f[1]):l===f[1]&&(o=d(o,f[0])),ce[0]-s[0]||e[1]-s[1]||e[2]-s[2]);const t=[];for(const e of i(this,Tr))e[3]?(t.push(...b(this,$e,fg).call(this,e)),b(this,$e,Iy).call(this,e)):(b(this,$e,Ly).call(this,e),t.push(...b(this,$e,fg).call(this,e)));return b(this,$e,Dy).call(this,t)}}Md=new WeakMap,Pd=new WeakMap,Dd=new WeakMap,Tr=new WeakMap,ni=new WeakMap,$e=new WeakSet,Dy=function(t){const e=[],s=new Set;for(const a of t){const[o,l,h]=a;e.push([o,l,a],[o,h,a])}e.sort((a,o)=>a[1]-o[1]||a[0]-o[0]);for(let a=0,o=e.length;a0;){const a=s.values().next().value;let[o,l,h,c,d]=a;s.delete(a);let f=o,m=l;for(r=[o,h],n.push(r);;){let y;if(s.has(c))y=c;else if(s.has(d))y=d;else break;s.delete(y),[o,l,h,c,d]=y,f!==o&&(r.push(f,m,o,m===l?l:h),f=o),m=m===l?h:l}r.push(f,m)}return new mw(n,i(this,Md),i(this,Pd),i(this,Dd))},Ru=function(t){const e=i(this,ni);let s=0,n=e.length-1;for(;s<=n;){const r=s+n>>1,a=e[r][0];if(a===t)return r;a=0;n--){const[r,a]=i(this,ni)[n];if(r!==t)break;if(r===t&&a===e){i(this,ni).splice(n,1);return}}},fg=function(t){const[e,s,n]=t,r=[[e,s,n]],a=b(this,$e,Ru).call(this,n);for(let o=0;o=l){if(m>h)r[c][1]=h;else{if(d===1)return[];r.splice(c,1),c--,d--}continue}r[c][2]=l,m>h&&r.push([e,h,m])}}}return r};var Id,nh;class mw extends N{constructor(e,s,n,r){super();g(this,Id);g(this,nh);u(this,nh,e),u(this,Id,s),this.firstPoint=n,this.lastPoint=r}toSVGPath(){const e=[];for(const s of i(this,nh)){let[n,r]=s;e.push(`M${n} ${r}`);for(let a=2;a-1?(u(this,me,!0),b(this,Y,Fu).call(this,e),b(this,Y,Kr).call(this)):i(this,En)&&(u(this,rh,e.anchorNode),u(this,Ld,e.anchorOffset),u(this,Fd,e.focusNode),u(this,Od,e.focusOffset),b(this,Y,gg).call(this),b(this,Y,Kr).call(this),this.rotate(this.rotation)),this.annotationElementId||this._uiManager.a11yAlert(ot._l10nAlert.highlight)}static get _keyboardManager(){const e=nt.prototype;return $(this,"_keyboardManager",new Io([[["ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown"],e._moveCaret,{args:[3]}]]))}get telemetryInitialData(){return{action:"added",type:i(this,me)?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:i(this,Bs),methodOfCreation:i(this,Nd)}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}static initialize(e,s){var n;ot.initialize(e,s),nt._defaultColor||(nt._defaultColor=((n=s.highlightColors)==null?void 0:n.values().next().value)||"#fff066")}static updateDefaultParams(e,s){switch(e){case X.HIGHLIGHT_COLOR:nt._defaultColor=s;break;case X.HIGHLIGHT_THICKNESS:nt._defaultThickness=s;break}}translateInPage(e,s){}get toolbarPosition(){return i(this,oh)}get commentButtonPosition(){return i(this,ah)}updateParams(e,s){switch(e){case X.HIGHLIGHT_COLOR:b(this,Y,Ry).call(this,s);break;case X.HIGHLIGHT_THICKNESS:b(this,Y,Fy).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[X.HIGHLIGHT_COLOR,nt._defaultColor],[X.HIGHLIGHT_THICKNESS,nt._defaultThickness]]}get propertiesToUpdate(){return[[X.HIGHLIGHT_COLOR,this.color||nt._defaultColor],[X.HIGHLIGHT_THICKNESS,i(this,Bs)||nt._defaultThickness],[X.HIGHLIGHT_FREE,i(this,me)]]}onUpdatedColor(){var e,s;(e=this.parent)==null||e.drawLayer.updateProperties(i(this,bs),{root:{fill:this.color,"fill-opacity":this.opacity}}),(s=i(this,Rd))==null||s.updateColor(this.color),super.onUpdatedColor()}get toolbarButtons(){return this._uiManager.highlightColors?[["colorPicker",u(this,Rd,new Qu({editor:this}))]]:super.toolbarButtons}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(b(this,Y,Nu).call(this))}getBaseTranslation(){return[0,0]}getRect(e,s){return super.getRect(e,s,b(this,Y,Nu).call(this))}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),e&&this.div.focus()}remove(){b(this,Y,mg).call(this),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(b(this,Y,Kr).call(this),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){var n;let s=!1;this.parent&&!e?b(this,Y,mg).call(this):e&&(b(this,Y,Kr).call(this,e),s=!this.parent&&((n=this.div)==null?void 0:n.classList.contains("selectedEditor"))),super.setParent(e),this.show(this._isVisible),s&&this.select()}rotate(e){var r,a,o;const{drawLayer:s}=this.parent;let n;i(this,me)?(e=(e-this.rotation+360)%360,n=b(r=nt,$s,zo).call(r,i(this,ms).box,e)):n=b(a=nt,$s,zo).call(a,[this.x,this.y,this.width,this.height],e),s.updateProperties(i(this,bs),{bbox:n,root:{"data-main-rotation":e}}),s.updateProperties(i(this,ke),{bbox:b(o=nt,$s,zo).call(o,i(this,qe).box,e),root:{"data-main-rotation":e}})}render(){if(this.div)return this.div;const e=super.render();i(this,lh)&&(e.setAttribute("aria-label",i(this,lh)),e.setAttribute("role","mark")),i(this,me)?e.classList.add("free"):this.div.addEventListener("keydown",b(this,Y,Ny).bind(this),{signal:this._uiManager._signal});const s=u(this,mo,document.createElement("div"));return e.append(s),s.setAttribute("aria-hidden","true"),s.className="internal",s.style.clipPath=i(this,go),this.setDims(),Vm(this,i(this,mo),["pointerover","pointerleave"]),this.enableEditing(),e}pointerover(){var e;this.isSelected||(e=this.parent)==null||e.drawLayer.updateProperties(i(this,ke),{rootClass:{hovered:!0}})}pointerleave(){var e;this.isSelected||(e=this.parent)==null||e.drawLayer.updateProperties(i(this,ke),{rootClass:{hovered:!1}})}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:b(this,Y,Ou).call(this,!0);break;case 1:case 3:b(this,Y,Ou).call(this,!1);break}}select(){var e;super.select(),i(this,ke)&&((e=this.parent)==null||e.drawLayer.updateProperties(i(this,ke),{rootClass:{hovered:!1,selected:!0}}))}unselect(){var e;super.unselect(),i(this,ke)&&((e=this.parent)==null||e.drawLayer.updateProperties(i(this,ke),{rootClass:{selected:!1}}),i(this,me)||b(this,Y,Ou).call(this,!1))}get _mustFixPosition(){return!i(this,me)}show(e=this._isVisible){super.show(e),this.parent&&(this.parent.drawLayer.updateProperties(i(this,bs),{rootClass:{hidden:!e}}),this.parent.drawLayer.updateProperties(i(this,ke),{rootClass:{hidden:!e}}))}static startHighlighting(e,s,{target:n,x:r,y:a}){const{x:o,y:l,width:h,height:c}=n.getBoundingClientRect(),d=new AbortController,f=e.combinedSignal(d),m=y=>{d.abort(),b(this,$s,Gy).call(this,e,y)};window.addEventListener("blur",m,{signal:f}),window.addEventListener("pointerup",m,{signal:f}),window.addEventListener("pointerdown",Lt,{capture:!0,passive:!1,signal:f}),window.addEventListener("contextmenu",js,{signal:f}),n.addEventListener("pointermove",b(this,$s,Uy).bind(this,e),{signal:f}),this._freeHighlight=new pg({x:r,y:a},[o,l,h,c],e.scale,this._defaultThickness/2,s,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:this._defaultColor,"fill-opacity":this._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:this._freeHighlight.toSVGPath()}},!0,!0)}static async deserialize(e,s,n){var v,w,S,E;let r=null;if(e instanceof py){const{data:{quadPoints:x,rect:C,rotation:T,id:k,color:M,opacity:P,popupRef:L,richText:O,contentsObj:Q,creationDate:J,modificationDate:q},parent:{page:{pageNumber:Ft}}}=e;r=e={annotationType:V.HIGHLIGHT,color:Array.from(M),opacity:P,quadPoints:x,boxes:null,pageIndex:Ft-1,rect:C.slice(0),rotation:T,annotationElementId:k,id:k,deleted:!1,popupRef:L,richText:O,comment:(Q==null?void 0:Q.str)||null,creationDate:J,modificationDate:q}}else if(e instanceof Xg){const{data:{inkLists:x,rect:C,rotation:T,id:k,color:M,borderStyle:{rawWidth:P},popupRef:L,richText:O,contentsObj:Q,creationDate:J,modificationDate:q},parent:{page:{pageNumber:Ft}}}=e;r=e={annotationType:V.HIGHLIGHT,color:Array.from(M),thickness:P,inkLists:x,boxes:null,pageIndex:Ft-1,rect:C.slice(0),rotation:T,annotationElementId:k,id:k,deleted:!1,popupRef:L,richText:O,comment:(Q==null?void 0:Q.str)||null,creationDate:J,modificationDate:q}}const{color:a,quadPoints:o,inkLists:l,outlines:h,opacity:c}=e,d=await super.deserialize(e,s,n);d.color=D.makeHexColor(...a),d.opacity=c||1,l&&u(d,Bs,e.thickness),d._initialData=r,e.comment&&d.setCommentData(e);const[f,m]=d.pageDimensions,[y,A]=d.pageTranslation;if(o){const x=u(d,En,[]);for(let C=0;C=0)u(this,bs,s),u(this,go,n),this.parent.drawLayer.finalizeDraw(s,{bbox:e.box,path:{d:e.toSVGPath()}}),u(this,ke,this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:i(this,qe).box,path:{d:i(this,qe).toSVGPath()}},!0));else if(this.parent){const y=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(i(this,bs),{bbox:b(f=nt,$s,zo).call(f,i(this,ms).box,(y-this.rotation+360)%360),path:{d:e.toSVGPath()}}),this.parent.drawLayer.updateProperties(i(this,ke),{bbox:b(m=nt,$s,zo).call(m,i(this,qe).box,y),path:{d:i(this,qe).toSVGPath()}})}const[a,o,l,h]=e.box;switch(this.rotation){case 0:this.x=a,this.y=o,this.width=l,this.height=h;break;case 90:{const[y,A]=this.parentDimensions;this.x=o,this.y=1-a,this.width=l*A/y,this.height=h*y/A;break}case 180:this.x=1-a,this.y=1-o,this.width=l,this.height=h;break;case 270:{const[y,A]=this.parentDimensions;this.x=1-o,this.y=a,this.width=l*A/y,this.height=h*y/A;break}}const{firstPoint:c}=e;u(this,ah,[(c[0]-a)/l,(c[1]-o)/h]);const{lastPoint:d}=i(this,qe);u(this,oh,[(d[0]-a)/l,(d[1]-o)/h])},Ry=function(e){const s=(a,o)=>{this.color=a,this.opacity=o,this.onUpdatedColor()},n=this.color,r=this.opacity;this.addCommands({cmd:s.bind(this,e,nt._defaultOpacity),undo:s.bind(this,n,r),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:X.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(e)},!0)},Fy=function(e){const s=i(this,Bs),n=r=>{u(this,Bs,r),b(this,Y,Oy).call(this,r)};this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:X.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:e},!0)},Oy=function(e){i(this,me)&&(b(this,Y,Fu).call(this,{highlightOutlines:i(this,ms).getNewOutline(e/2)}),this.fixAndSetPosition(),this.setDims())},mg=function(){i(this,bs)===null||!this.parent||(this.parent.drawLayer.remove(i(this,bs)),u(this,bs,null),this.parent.drawLayer.remove(i(this,ke)),u(this,ke,null))},Kr=function(e=this.parent){i(this,bs)===null&&({id:Et(this,bs)._,clipPathId:Et(this,go)._}=e.drawLayer.draw({bbox:i(this,ms).box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":this.opacity},rootClass:{highlight:!0,free:i(this,me)},path:{d:i(this,ms).toSVGPath()}},!1,!0),u(this,ke,e.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:i(this,me)},bbox:i(this,qe).box,path:{d:i(this,qe).toSVGPath()}},i(this,me))),i(this,mo)&&(i(this,mo).style.clipPath=i(this,go)))},$s=new WeakSet,zo=function([e,s,n,r],a){switch(a){case 90:return[1-s-r,e,r,n];case 180:return[1-e-n,1-s-r,n,r];case 270:return[s,1-e-n,r,n]}return[e,s,n,r]},Ny=function(e){nt._keyboardManager.exec(this,e)},Ou=function(e){if(!i(this,rh))return;const s=window.getSelection();e?s.setPosition(i(this,rh),i(this,Ld)):s.setPosition(i(this,Fd),i(this,Od))},Nu=function(){return i(this,me)?this.rotation:0},By=function(){if(i(this,me))return null;const[e,s]=this.pageDimensions,[n,r]=this.pageTranslation,a=i(this,En),o=new Float32Array(a.length*8);let l=0;for(const{x:h,y:c,width:d,height:f}of a){const m=h*e+n,y=(1-c)*s+r;o[l]=o[l+4]=m,o[l+1]=o[l+3]=y,o[l+2]=o[l+6]=m+d*e,o[l+5]=o[l+7]=y-f*s,l+=8}return o},Hy=function(e){return i(this,ms).serialize(e,b(this,Y,Nu).call(this))},Uy=function(e,s){this._freeHighlight.add(s)&&e.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})},Gy=function(e,s){this._freeHighlight.isEmpty()?e.drawLayer.remove(this._freeHighlightId):e.createAndAddNewEditor(s,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""},$y=function(e){const{color:s}=this._initialData;return this.hasEditedComment||e.color.some((n,r)=>n!==s[r])},g(nt,$s),_(nt,"_defaultColor",null),_(nt,"_defaultOpacity",1),_(nt,"_defaultThickness",12),_(nt,"_type","highlight"),_(nt,"_editorType",V.HIGHLIGHT),_(nt,"_freeHighlightId",-1),_(nt,"_freeHighlight",null),_(nt,"_freeHighlightClipId","");let ef=nt;var bo;class zy{constructor(){g(this,bo,Object.create(null))}updateProperty(t,e){this[t]=e,this.updateSVGProperty(t,e)}updateProperties(t){if(t)for(const[e,s]of Object.entries(t))e.startsWith("_")||this.updateProperty(e,s)}updateSVGProperty(t,e){i(this,bo)[t]=e}toSVGProperties(){const t=i(this,bo);return u(this,bo,Object.create(null)),{root:t}}reset(){u(this,bo,Object.create(null))}updateAll(t=this){this.updateProperties(t)}clone(){it("Not implemented")}}bo=new WeakMap;var Fe,hh,ae,yo,Ao,et,bg,yg,Ag,Vh,jy,Bu,Wh,jo;const tt=class tt extends ot{constructor(e){super(e);g(this,et);g(this,Fe,null);g(this,hh);_(this,"_colorPicker",null);_(this,"_drawId",null);u(this,hh,e.mustBeCommitted||!1),this._addOutlines(e)}onUpdatedColor(){var e;(e=this._colorPicker)==null||e.update(this.color),super.onUpdatedColor()}onUpdatedOpacity(){var e,s;(s=(e=this._colorPicker)==null?void 0:e.updateOpacity)==null||s.call(e,this.opacity)}_addOutlines(e){e.drawOutlines&&(b(this,et,bg).call(this,e),b(this,et,Vh).call(this))}static _mergeSVGProperties(e,s){const n=new Set(Object.keys(e));for(const[r,a]of Object.entries(s))n.has(r)?Object.assign(e[r],a):e[r]=a;return e}static getDefaultDrawingOptions(e){it("Not implemented")}static get typesMap(){it("Not implemented")}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(e,s){const n=this.typesMap.get(e);n&&this._defaultDrawingOptions.updateProperty(n,s),this._currentParent&&(i(tt,ae).updateProperty(n,s),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}updateParams(e,s){const n=this.constructor.typesMap.get(e);n&&this._updateProperty(e,n,s)}static get defaultPropertiesToUpdate(){const e=[],s=this._defaultDrawingOptions;for(const[n,r]of this.typesMap)e.push([n,s[r]]);return e}get propertiesToUpdate(){const e=[],{_drawingOptions:s}=this;for(const[n,r]of this.constructor.typesMap)e.push([n,s[r]]);return e}_updateProperty(e,s,n){const r=this._drawingOptions,a=r[s],o=l=>{var c;r.updateProperty(s,l);const h=i(this,Fe).updateProperty(s,l);h&&b(this,et,Wh).call(this,h),(c=this.parent)==null||c.drawLayer.updateProperties(this._drawId,r.toSVGProperties()),e===this.colorType?this.onUpdatedColor():e===this.opacityType&&this.onUpdatedOpacity()};this.addCommands({cmd:o.bind(this,n),undo:o.bind(this,a),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:e,overwriteIfSameType:!0,keepUndo:!0})}_updateColorAndOpacity(e,s){const n=this.constructor.typesMap.get(this.colorType),r=this.constructor.typesMap.get(this.opacityType),a=this._drawingOptions,o=a[n],l=a[r],h=(c,d)=>{var f;a.updateProperty(n,c),a.updateProperty(r,d),i(this,Fe).updateProperty(n,c),i(this,Fe).updateProperty(r,d),(f=this.parent)==null||f.drawLayer.updateProperties(this._drawId,a.toSVGProperties()),this.onUpdatedColor(),this.onUpdatedOpacity()};this.addCommands({cmd:h.bind(this,e,s),undo:h.bind(this,o,l),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:X.INK_COLOR_AND_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,tt._mergeSVGProperties(i(this,Fe).getPathResizingSVGProperties(b(this,et,Bu).call(this)),{bbox:b(this,et,jo).call(this)}))}_onResized(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,tt._mergeSVGProperties(i(this,Fe).getPathResizedSVGProperties(b(this,et,Bu).call(this)),{bbox:b(this,et,jo).call(this)}))}_onTranslating(e,s){var n;(n=this.parent)==null||n.drawLayer.updateProperties(this._drawId,{bbox:b(this,et,jo).call(this)})}_onTranslated(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,tt._mergeSVGProperties(i(this,Fe).getPathTranslatedSVGProperties(b(this,et,Bu).call(this),this.parentDimensions),{bbox:b(this,et,jo).call(this)}))}_onStartDragging(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}commit(){super.commit(),this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),this._isDraggable=!0,i(this,hh)&&(u(this,hh,!1),this.commit(),this.parent.setSelected(this),e&&this.isOnScreen&&this.div.focus())}remove(){b(this,et,Ag).call(this),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(b(this,et,Vh).call(this),b(this,et,Wh).call(this,i(this,Fe).box),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){var n;let s=!1;this.parent&&!e?(this._uiManager.removeShouldRescale(this),b(this,et,Ag).call(this)):e&&(this._uiManager.addShouldRescale(this),b(this,et,Vh).call(this,e),s=!this.parent&&((n=this.div)==null?void 0:n.classList.contains("selectedEditor"))),super.setParent(e),s&&this.select()}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,tt._mergeSVGProperties({bbox:b(this,et,jo).call(this)},i(this,Fe).updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&b(this,et,Wh).call(this,i(this,Fe).updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let e,s;this._isCopy&&(e=this.x,s=this.y);const n=super.render();n.classList.add("draw");const r=document.createElement("div");return n.append(r),r.setAttribute("aria-hidden","true"),r.className="internal",this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy&&this._moveAfterPaste(e,s),n}static createDrawerInstance(e,s,n,r,a){it("Not implemented")}static startDrawing(e,s,n,r){var v;const{target:a,offsetX:o,offsetY:l,pointerId:h,pointerType:c}=r;if(xe.isInitializedAndDifferentPointerType(c))return;const{viewport:{rotation:d}}=e,{width:f,height:m}=a.getBoundingClientRect(),y=u(tt,yo,new AbortController),A=e.combinedSignal(y);if(xe.setPointer(c,h),window.addEventListener("pointerup",w=>{xe.isSamePointerIdOrRemove(w.pointerId)&&this._endDraw(w)},{signal:A}),window.addEventListener("pointercancel",w=>{xe.isSamePointerIdOrRemove(w.pointerId)&&this._currentParent.endDrawingSession()},{signal:A}),window.addEventListener("pointerdown",w=>{xe.isSamePointerType(w.pointerType)&&(xe.initializeAndAddPointerId(w.pointerId),i(tt,ae).isCancellable()&&(i(tt,ae).removeLastElement(),i(tt,ae).isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:A}),window.addEventListener("contextmenu",js,{signal:A}),a.addEventListener("pointermove",this._drawMove.bind(this),{signal:A}),a.addEventListener("touchmove",w=>{xe.isSameTimeStamp(w.timeStamp)&&Lt(w)},{signal:A}),e.toggleDrawing(),(v=s._editorUndoBar)==null||v.hide(),i(tt,ae)){e.drawLayer.updateProperties(this._currentDrawId,i(tt,ae).startNew(o,l,f,m,d));return}s.updateUIForDefaultProperties(this),u(tt,ae,this.createDrawerInstance(o,l,f,m,d)),u(tt,Ao,this.getDefaultDrawingOptions()),this._currentParent=e,{id:this._currentDrawId}=e.drawLayer.draw(this._mergeSVGProperties(i(tt,Ao).toSVGProperties(),i(tt,ae).defaultSVGProperties),!0,!1)}static _drawMove(e){if(xe.isSameTimeStamp(e.timeStamp),!i(tt,ae))return;const{offsetX:s,offsetY:n,pointerId:r}=e;if(xe.isSamePointerId(r)){if(xe.isUsingMultiplePointers()){this._endDraw(e);return}this._currentParent.drawLayer.updateProperties(this._currentDrawId,i(tt,ae).add(s,n)),xe.setTimeStamp(e.timeStamp),Lt(e)}}static _cleanup(e){e&&(this._currentDrawId=-1,this._currentParent=null,u(tt,ae,null),u(tt,Ao,null),xe.clearTimeStamp()),i(tt,yo)&&(i(tt,yo).abort(),u(tt,yo,null),xe.clearPointerIds())}static _endDraw(e){const s=this._currentParent;if(s){if(s.toggleDrawing(!0),this._cleanup(!1),(e==null?void 0:e.target)===s.div&&s.drawLayer.updateProperties(this._currentDrawId,i(tt,ae).end(e.offsetX,e.offsetY)),this.supportMultipleDrawings){const n=i(tt,ae),r=this._currentDrawId,a=n.getLastElement();s.addCommands({cmd:()=>{s.drawLayer.updateProperties(r,n.setLastElement(a))},undo:()=>{s.drawLayer.updateProperties(r,n.removeLastElement())},mustExec:!1,type:X.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(e){const s=this._currentParent;if(!s)return null;if(s.toggleDrawing(!0),s.cleanUndoStack(X.DRAW_STEP),!i(tt,ae).isEmpty()){const{pageDimensions:[n,r],scale:a}=s,o=s.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:i(tt,ae).getOutlines(n*a,r*a,a,this._INNER_MARGIN),drawingOptions:i(tt,Ao),mustBeCommitted:!e});return this._cleanup(!0),o}return s.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(e){}static deserializeDraw(e,s,n,r,a,o){it("Not implemented")}static async deserialize(e,s,n){var d,f;const{rawDims:{pageWidth:r,pageHeight:a,pageX:o,pageY:l}}=s.viewport,h=this.deserializeDraw(o,l,r,a,this._INNER_MARGIN,e),c=await super.deserialize(e,s,n);return c.createDrawingOptions(e),b(d=c,et,bg).call(d,{drawOutlines:h}),b(f=c,et,Vh).call(f),c.onScaleChanging(),c.rotate(),c}serializeDraw(e){const[s,n]=this.pageTranslation,[r,a]=this.pageDimensions;return i(this,Fe).serialize([s,n,r,a],e)}renderAnnotationElement(e){return e.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}};Fe=new WeakMap,hh=new WeakMap,ae=new WeakMap,yo=new WeakMap,Ao=new WeakMap,et=new WeakSet,bg=function({drawOutlines:e,drawId:s,drawingOptions:n}){u(this,Fe,e),this._drawingOptions||(this._drawingOptions=n),this.annotationElementId||this._uiManager.a11yAlert(ot._l10nAlert[this.editorType]),s>=0?(this._drawId=s,this.parent.drawLayer.finalizeDraw(s,e.defaultProperties)):this._drawId=b(this,et,yg).call(this,e,this.parent),b(this,et,Wh).call(this,e.box)},yg=function(e,s){const{id:n}=s.drawLayer.draw(tt._mergeSVGProperties(this._drawingOptions.toSVGProperties(),e.defaultSVGProperties),!1,!1);return n},Ag=function(){this._drawId===null||!this.parent||(this.parent.drawLayer.remove(this._drawId),this._drawId=null,this._drawingOptions.reset())},Vh=function(e=this.parent){if(!(this._drawId!==null&&this.parent===e)){if(this._drawId!==null){this.parent.drawLayer.updateParent(this._drawId,e.drawLayer);return}this._drawingOptions.updateAll(),this._drawId=b(this,et,yg).call(this,i(this,Fe),e)}},jy=function([e,s,n,r]){const{parentDimensions:[a,o],rotation:l}=this;switch(l){case 90:return[s,1-e,n*(o/a),r*(a/o)];case 180:return[1-e,1-s,n,r];case 270:return[1-s,e,n*(o/a),r*(a/o)];default:return[e,s,n,r]}},Bu=function(){const{x:e,y:s,width:n,height:r,parentDimensions:[a,o],rotation:l}=this;switch(l){case 90:return[1-s,e,n*(a/o),r*(o/a)];case 180:return[1-e,1-s,n,r];case 270:return[s,1-e,n*(a/o),r*(o/a)];default:return[e,s,n,r]}},Wh=function(e){[this.x,this.y,this.width,this.height]=b(this,et,jy).call(this,e),this.div&&(this.fixAndSetPosition(),this.setDims()),this._onResized()},jo=function(){const{x:e,y:s,width:n,height:r,rotation:a,parentRotation:o,parentDimensions:[l,h]}=this;switch((a*4+o)/90){case 1:return[1-s-r,e,r,n];case 2:return[1-e-n,1-s-r,n,r];case 3:return[s,1-e-n,r,n];case 4:return[e,s-n*(l/h),r*(h/l),n*(l/h)];case 5:return[1-s,e,n*(l/h),r*(h/l)];case 6:return[1-e-r*(h/l),1-s,r*(h/l),n*(l/h)];case 7:return[s-n*(l/h),1-e-r*(h/l),n*(l/h),r*(h/l)];case 8:return[e-n,s-r,n,r];case 9:return[1-s,e-n,r,n];case 10:return[1-e,1-s,n,r];case 11:return[s-r,1-e,r,n];case 12:return[e-r*(h/l),s,r*(h/l),n*(l/h)];case 13:return[1-s-n*(l/h),e-r*(h/l),n*(l/h),r*(h/l)];case 14:return[1-e,1-s-n*(l/h),r*(h/l),n*(l/h)];case 15:return[s,1-e,n*(l/h),r*(h/l)];default:return[e,s,n,r]}},_(tt,"_currentDrawId",-1),_(tt,"_currentParent",null),g(tt,ae,null),g(tt,yo,null),g(tt,Ao,null),_(tt,"_INNER_MARGIN",3);let sf=tt;var Di,oe,be,wo,ch,Oe,ye,Hs,vo,So,Eo,dh,Hu;class yw{constructor(t,e,s,n,r,a){g(this,dh);g(this,Di,new Float64Array(6));g(this,oe);g(this,be);g(this,wo);g(this,ch);g(this,Oe);g(this,ye,"");g(this,Hs,0);g(this,vo,new qd);g(this,So);g(this,Eo);u(this,So,s),u(this,Eo,n),u(this,wo,r),u(this,ch,a),[t,e]=b(this,dh,Hu).call(this,t,e);const o=u(this,oe,[NaN,NaN,NaN,NaN,t,e]);u(this,Oe,[t,e]),u(this,be,[{line:o,points:i(this,Oe)}]),i(this,Di).set(o,0)}updateProperty(t,e){t==="stroke-width"&&u(this,ch,e)}isEmpty(){var t;return!((t=i(this,be))!=null&&t.length)}isCancellable(){return i(this,Oe).length<=10}add(t,e){[t,e]=b(this,dh,Hu).call(this,t,e);const[s,n,r,a]=i(this,Di).subarray(2,6),o=t-r,l=e-a;return Math.hypot(i(this,So)*o,i(this,Eo)*l)<=2?null:(i(this,Oe).push(t,e),isNaN(s)?(i(this,Di).set([r,a,t,e],2),i(this,oe).push(NaN,NaN,NaN,NaN,t,e),{path:{d:this.toSVGPath()}}):(isNaN(i(this,Di)[0])&&i(this,oe).splice(6,6),i(this,Di).set([s,n,r,a,t,e],0),i(this,oe).push(...N.createBezierPoints(s,n,r,a,t,e)),{path:{d:this.toSVGPath()}}))}end(t,e){const s=this.add(t,e);return s||(i(this,Oe).length===2?{path:{d:this.toSVGPath()}}:null)}startNew(t,e,s,n,r){u(this,So,s),u(this,Eo,n),u(this,wo,r),[t,e]=b(this,dh,Hu).call(this,t,e);const a=u(this,oe,[NaN,NaN,NaN,NaN,t,e]);u(this,Oe,[t,e]);const o=i(this,be).at(-1);return o&&(o.line=new Float32Array(o.line),o.points=new Float32Array(o.points)),i(this,be).push({line:a,points:i(this,Oe)}),i(this,Di).set(a,0),u(this,Hs,0),this.toSVGPath(),null}getLastElement(){return i(this,be).at(-1)}setLastElement(t){return i(this,be)?(i(this,be).push(t),u(this,oe,t.line),u(this,Oe,t.points),u(this,Hs,0),{path:{d:this.toSVGPath()}}):i(this,vo).setLastElement(t)}removeLastElement(){if(!i(this,be))return i(this,vo).removeLastElement();i(this,be).pop(),u(this,ye,"");for(let t=0,e=i(this,be).length;tx??NaN),f,m,y,A),points:v(l[S].map(x=>x??NaN),f,m,y,A)});const w=new this.prototype.constructor;return w.build(d,n,r,1,h,c,a),w}get box(){return i(this,Ne)}updateProperty(e,s){return e==="stroke-width"?b(this,we,Xy).call(this,s):null}updateParentDimensions([e,s],n){const[r,a]=b(this,we,zi).call(this);u(this,Ii,e),u(this,Li,s),u(this,uh,n);const[o,l]=b(this,we,zi).call(this),h=o-r,c=l-a,d=i(this,Ne);return d[0]-=h,d[1]-=c,d[2]+=2*h,d[3]+=2*c,d}updateRotation(e){return u(this,Bd,e),{path:{transform:this.rotationTransform}}}get viewBox(){return i(this,Ne).map(N.svgRound).join(" ")}get defaultProperties(){const[e,s]=i(this,Ne);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${N.svgRound(e)} ${N.svgRound(s)}`}}}get rotationTransform(){const[,,e,s]=i(this,Ne);let n=0,r=0,a=0,o=0,l=0,h=0;switch(i(this,Bd)){case 90:r=s/e,a=-e/s,l=e;break;case 180:n=-1,o=-1,l=e,h=s;break;case 270:r=-s/e,a=e/s,h=s;break;default:return""}return`matrix(${n} ${r} ${a} ${o} ${N.svgRound(l)} ${N.svgRound(h)})`}getPathResizingSVGProperties([e,s,n,r]){const[a,o]=b(this,we,zi).call(this),[l,h,c,d]=i(this,Ne);if(Math.abs(c-a)<=N.PRECISION||Math.abs(d-o)<=N.PRECISION){const v=e+n/2-(l+c/2),w=s+r/2-(h+d/2);return{path:{"transform-origin":`${N.svgRound(e)} ${N.svgRound(s)}`,transform:`${this.rotationTransform} translate(${v} ${w})`}}}const f=(n-2*a)/(c-2*a),m=(r-2*o)/(d-2*o),y=c/n,A=d/r;return{path:{"transform-origin":`${N.svgRound(l)} ${N.svgRound(h)}`,transform:`${this.rotationTransform} scale(${y} ${A}) translate(${N.svgRound(a)} ${N.svgRound(o)}) scale(${f} ${m}) translate(${N.svgRound(-a)} ${N.svgRound(-o)})`}}}getPathResizedSVGProperties([e,s,n,r]){const[a,o]=b(this,we,zi).call(this),l=i(this,Ne),[h,c,d,f]=l;if(l[0]=e,l[1]=s,l[2]=n,l[3]=r,Math.abs(d-a)<=N.PRECISION||Math.abs(f-o)<=N.PRECISION){const w=e+n/2-(h+d/2),S=s+r/2-(c+f/2);for(const{line:E,points:x}of i(this,ys))N._translate(E,w,S,E),N._translate(x,w,S,x);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${N.svgRound(e)} ${N.svgRound(s)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}const m=(n-2*a)/(d-2*a),y=(r-2*o)/(f-2*o),A=-m*(h+a)+e+a,v=-y*(c+o)+s+o;if(m!==1||y!==1||A!==0||v!==0)for(const{line:w,points:S}of i(this,ys))N._rescale(w,A,v,m,y,w),N._rescale(S,A,v,m,y,S);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${N.svgRound(e)} ${N.svgRound(s)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([e,s],n){const[r,a]=n,o=i(this,Ne),l=e-o[0],h=s-o[1];if(i(this,Ii)===r&&i(this,Li)===a)for(const{line:c,points:d}of i(this,ys))N._translate(c,l,h,c),N._translate(d,l,h,d);else{const c=i(this,Ii)/r,d=i(this,Li)/a;u(this,Ii,r),u(this,Li,a);for(const{line:f,points:m}of i(this,ys))N._rescale(f,l,h,c,d,f),N._rescale(m,l,h,c,d,m);o[2]*=c,o[3]*=d}return o[0]=e,o[1]=s,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${N.svgRound(e)} ${N.svgRound(s)}`}}}get defaultSVGProperties(){const e=i(this,Ne);return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${N.svgRound(e[0])} ${N.svgRound(e[1])}`,transform:this.rotationTransform||null},bbox:e}}}Ne=new WeakMap,Bd=new WeakMap,Hd=new WeakMap,ys=new WeakMap,Ii=new WeakMap,Li=new WeakMap,uh=new WeakMap,fh=new WeakMap,xo=new WeakMap,we=new WeakSet,zi=function(e=i(this,xo)){const s=i(this,Hd)+e/2*i(this,uh);return i(this,fh)%180===0?[s/i(this,Ii),s/i(this,Li)]:[s/i(this,Li),s/i(this,Ii)]},Vy=function(){const[e,s,n,r]=i(this,Ne),[a,o]=b(this,we,zi).call(this,0);return[e+a,s+o,n-2*a,r-2*o]},Wy=function(){const e=u(this,Ne,Zr.slice());for(const{line:r}of i(this,ys)){if(r.length<=12){for(let l=4,h=r.length;lo!==s[l])||e.thickness!==n||e.opacity!==r||e.pageIndex!==a},_(Xo,"_type","ink"),_(Xo,"_editorType",V.INK),_(Xo,"_defaultDrawingOptions",null);let wg=Xo;class vg extends qd{toSVGPath(){let t=super.toSVGPath();return t.endsWith("Z")||(t+="Z"),t}}const iu=8,_h=3;var Co,lt,Sg,ri,Ky,qy,Eg,Uu,Qy,Jy,Zy,xg,Cg,tA;class Dn{static extractContoursFromText(t,{fontFamily:e,fontStyle:s,fontWeight:n},r,a,o,l){let h=new OffscreenCanvas(1,1),c=h.getContext("2d",{alpha:!1});const d=200,f=c.font=`${s} ${n} ${d}px ${e}`,{actualBoundingBoxLeft:m,actualBoundingBoxRight:y,actualBoundingBoxAscent:A,actualBoundingBoxDescent:v,fontBoundingBoxAscent:w,fontBoundingBoxDescent:S,width:E}=c.measureText(t),x=1.5,C=Math.ceil(Math.max(Math.abs(m)+Math.abs(y)||0,E)*x),T=Math.ceil(Math.max(Math.abs(A)+Math.abs(v)||d,Math.abs(w)+Math.abs(S)||d)*x);h=new OffscreenCanvas(C,T),c=h.getContext("2d",{alpha:!0,willReadFrequently:!0}),c.font=f,c.filter="grayscale(1)",c.fillStyle="white",c.fillRect(0,0,C,T),c.fillStyle="black",c.fillText(t,C*(x-1)/2,T*(3-x)/2);const k=b(this,lt,xg).call(this,c.getImageData(0,0,C,T).data),M=b(this,lt,Zy).call(this,k),P=b(this,lt,Cg).call(this,M),L=b(this,lt,Eg).call(this,k,C,T,P);return this.processDrawnLines({lines:{curves:L,width:C,height:T},pageWidth:r,pageHeight:a,rotation:o,innerMargin:l,mustSmooth:!0,areContours:!0})}static process(t,e,s,n,r){const[a,o,l]=b(this,lt,tA).call(this,t),[h,c]=b(this,lt,Jy).call(this,a,o,l,Math.hypot(o,l)*i(this,Co).sigmaSFactor,i(this,Co).sigmaR,i(this,Co).kernelSize),d=b(this,lt,Cg).call(this,c),f=b(this,lt,Eg).call(this,h,o,l,d);return this.processDrawnLines({lines:{curves:f,width:o,height:l},pageWidth:e,pageHeight:s,rotation:n,innerMargin:r,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:t,pageWidth:e,pageHeight:s,rotation:n,innerMargin:r,mustSmooth:a,areContours:o}){n%180!==0&&([e,s]=[s,e]);const{curves:l,width:h,height:c}=t,d=t.thickness??0,f=[],m=Math.min(e/h,s/c),y=m/e,A=m/s,v=[];for(const{points:S}of l){const E=a?b(this,lt,Qy).call(this,S):S;if(!E)continue;v.push(E);const x=E.length,C=new Float32Array(x),T=new Float32Array(3*(x===2?2:x-2));if(f.push({line:T,points:C}),x===2){C[0]=E[0]*y,C[1]=E[1]*A,T.set([NaN,NaN,NaN,NaN,C[0],C[1]],0);continue}let[k,M,P,L]=E;k*=y,M*=A,P*=y,L*=A,C.set([k,M,P,L],0),T.set([NaN,NaN,NaN,NaN,k,M],0);for(let O=4;O=-128&&o<=127?h=Int8Array:a>=-32768&&o<=32767?h=Int16Array:h=Int32Array;const c=t.length,d=iu+_h*c,f=new Uint32Array(d);let m=0;f[m++]=d*Uint32Array.BYTES_PER_ELEMENT+(l-2*c)*h.BYTES_PER_ELEMENT,f[m++]=0,f[m++]=n,f[m++]=r,f[m++]=e?0:1,f[m++]=Math.max(0,Math.floor(s??0)),f[m++]=c,f[m++]=h.BYTES_PER_ELEMENT;for(const S of t)f[m++]=S.length-2,f[m++]=S[0],f[m++]=S[1];const y=new CompressionStream("deflate-raw"),A=y.writable.getWriter();await A.ready,A.write(f);const v=h.prototype.constructor;for(const S of t){const E=new v(S.length-2);for(let x=2,C=S.length;x{await r.ready,await r.close()}).catch(()=>{});let a=null,o=0;for await(const E of s)a||(a=new Uint8Array(new Uint32Array(E.buffer,0,4)[0])),a.set(E,o),o+=E.length;const l=new Uint32Array(a.buffer,0,a.length>>2),h=l[1];if(h!==0)throw new Error(`Invalid version: ${h}`);const c=l[2],d=l[3],f=l[4]===0,m=l[5],y=l[6],A=l[7],v=[],w=(iu+_h*y)*Uint32Array.BYTES_PER_ELEMENT;let S;switch(A){case Int8Array.BYTES_PER_ELEMENT:S=new Int8Array(a.buffer,w);break;case Int16Array.BYTES_PER_ELEMENT:S=new Int16Array(a.buffer,w);break;case Int32Array.BYTES_PER_ELEMENT:S=new Int32Array(a.buffer,w);break}o=0;for(let E=0;E0?0:4:s===1?n+6:2-n},ri=new WeakMap,Ky=function(t,e,s,n,r,a,o){const l=b(this,lt,Sg).call(this,s,n,r,a);for(let h=0;h<8;h++){const c=(-h+l-o+16)%8,d=i(this,ri)[2*c],f=i(this,ri)[2*c+1];if(t[(s+d)*e+(n+f)]!==0)return c}return-1},qy=function(t,e,s,n,r,a,o){const l=b(this,lt,Sg).call(this,s,n,r,a);for(let h=0;h<8;h++){const c=(h+l+o+16)%8,d=i(this,ri)[2*c],f=i(this,ri)[2*c+1];if(t[(s+d)*e+(n+f)]!==0)return c}return-1},Eg=function(t,e,s,n){const r=t.length,a=new Int32Array(r);for(let c=0;c=1&&a[f+1]===0)o+=1,A+=1,m>1&&(l=m);else{m!==1&&(l=Math.abs(m));continue}const v=[d,c],w=A===d+1,S={isHole:w,points:v,id:o,parent:0};h.push(S);let E;for(const O of h)if(O.id===l){E=O;break}E?E.isHole?S.parent=w?E.parent:l:S.parent=w?l:E.parent:S.parent=w?l:0;const x=b(this,lt,Ky).call(this,a,e,c,d,y,A,0);if(x===-1){a[f]=-o,a[f]!==1&&(l=Math.abs(a[f]));continue}let C=i(this,ri)[2*x],T=i(this,ri)[2*x+1];const k=c+C,M=d+T;y=k,A=M;let P=c,L=d;for(;;){const O=b(this,lt,qy).call(this,a,e,P,L,y,A,1);C=i(this,ri)[2*O],T=i(this,ri)[2*O+1];const Q=P+C,J=L+T;v.push(J,Q);const q=P*e+L;if(a[q+1]===0?a[q]=-o:a[q]===1&&(a[q]=o),Q===c&&J===d&&P===k&&L===M){a[f]!==1&&(l=Math.abs(a[f]));break}else y=P,A=L,P=Q,L=J}}}return h},Uu=function(t,e,s,n){if(s-e<=4){for(let k=e;kC&&(T=k,C=M)}C>(h*x)**2?(b(this,lt,Uu).call(this,t,e,T+2,n),b(this,lt,Uu).call(this,t,T,s,n)):n.push(r,a)},Qy=function(t){const e=[],s=t.length;return b(this,lt,Uu).call(this,t,0,s,e),e.push(t[s-2],t[s-1]),e.length<=4?null:e},Jy=function(t,e,s,n,r,a){const o=new Float32Array(a**2),l=-2*n**2,h=a>>1;for(let A=0;A=s))for(let M=0;M=e)continue;const L=t[k*e+P],O=o[T*a+M]*c[Math.abs(L-S)];E+=L*O,x+=O}}const C=m[w]=Math.round(E/x);y[C]++}return[m,y]},Zy=function(t){const e=new Uint32Array(256);for(const s of t)e[s]++;return e},xg=function(t){const e=t.length,s=new Uint8ClampedArray(e>>2);let n=-1/0,r=1/0;for(let o=0,l=s.length;ol!==0);let a=r,o=r;for(e=r;e<256;e++){const l=t[e];l>s&&(e-a>n&&(n=e-a,o=e-1),s=l,a=e)}for(e=o-1;e>=0&&!(t[e]>t[e+1]);e--);return e},tA=function(t){const e=t,{width:s,height:n}=t,{maxDim:r}=i(this,Co);let a=s,o=n;if(s>r||n>r){let f=s,m=n,y=Math.log2(Math.max(s,n)/r);const A=Math.floor(y);y=y===A?A-1:A;for(let w=0;w{s==null||s.updateEditSignatureButton(e)}))}getSignaturePreview(){const{newCurves:e,areContours:s,thickness:n,width:r,height:a}=i(this,kr),o=Math.max(r,a),l=Dn.processDrawnLines({lines:{curves:e.map(h=>({points:h})),thickness:n,width:r,height:a},pageWidth:o,pageHeight:o,rotation:0,innerMargin:0,mustSmooth:!1,areContours:s});return{areContours:s,outline:l.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(e,s,n,r){const{x:a,y:o}=this,{outline:l}=u(this,kr,e);u(this,_r,l instanceof vg),this.description=n;let h;i(this,_r)?h=ss.getDefaultDrawingOptions():(h=ss._defaultDrawnSignatureOptions.clone(),h.updateProperties({"stroke-width":l.thickness})),this._addOutlines({drawOutlines:l,drawingOptions:h});const[,c]=this.pageDimensions;let d=s/c;d=d>=1?.5:d,this.width*=d/this.height,this.width>=1&&(d*=.9/this.width,this.width=.9),this.height=d,this.setDims(),this.x=a,this.y=o,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(r),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!r,hasDescription:!!n}}),this.div.hidden=!1}getFromImage(e){const{rawDims:{pageWidth:s,pageHeight:n},rotation:r}=this.parent.viewport;return Dn.process(e,s,n,r,ss._INNER_MARGIN)}getFromText(e,s){const{rawDims:{pageWidth:n,pageHeight:r},rotation:a}=this.parent.viewport;return Dn.extractContoursFromText(e,s,n,r,a,ss._INNER_MARGIN)}getDrawnSignature(e){const{rawDims:{pageWidth:s,pageHeight:n},rotation:r}=this.parent.viewport;return Dn.processDrawnLines({lines:e,pageWidth:s,pageHeight:n,rotation:r,innerMargin:ss._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:e,thickness:s}){e?this._drawingOptions=ss.getDefaultDrawingOptions():(this._drawingOptions=ss._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":s}))}serialize(e=!1){if(this.isEmpty())return null;const{lines:s,points:n}=this.serializeDraw(e),{_drawingOptions:{"stroke-width":r}}=this,a=Object.assign(super.serialize(e),{isSignature:!0,areContours:i(this,_r),color:[0,0,0],thickness:i(this,_r)?0:r});return this.addComment(a),e?(a.paths={lines:s,points:n},a.uuid=i(this,To),a.isCopy=!0):a.lines=s,i(this,Ri)&&(a.accessibilityData={type:"Figure",alt:i(this,Ri)}),a}static deserializeDraw(e,s,n,r,a,o){return o.areContours?vg.deserialize(e,s,n,r,a,o):qd.deserialize(e,s,n,r,a,o)}static async deserialize(e,s,n){var a;const r=await super.deserialize(e,s,n);return u(r,_r,e.areContours),r.description=((a=e.accessibilityData)==null?void 0:a.alt)||"",u(r,To,e.uuid),r}};_r=new WeakMap,Ri=new WeakMap,kr=new WeakMap,To=new WeakMap,_(ss,"_type","signature"),_(ss,"_editorType",V.SIGNATURE),_(ss,"_defaultDrawingOptions",null);let Tg=ss;var kt,le,Mr,xn,Pr,ph,Cn,_o,Fi,As,gh,st,Xh,Yh,Gu,$u,zu,kg,ju,eA;class _g extends ot{constructor(e){super({...e,name:"stampEditor"});g(this,st);g(this,kt,null);g(this,le,null);g(this,Mr,null);g(this,xn,null);g(this,Pr,null);g(this,ph,"");g(this,Cn,null);g(this,_o,!1);g(this,Fi,null);g(this,As,!1);g(this,gh,!1);u(this,xn,e.bitmapUrl),u(this,Pr,e.bitmapFile),this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(e,s){ot.initialize(e,s)}static isHandlingMimeForPasting(e){return lp.includes(e)}static paste(e,s){s.pasteEditor({mode:V.STAMP},{bitmapFile:e.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){var e;return{type:"stamp",hasAltText:!!((e=this.altTextData)!=null&&e.altText)}}static computeTelemetryFinalData(e){const s=e.get("hasAltText");return{hasAltText:s.get(!0)??0,hasNoAltText:s.get(!1)??0}}async mlGuessAltText(e=null,s=!0){if(this.hasAltTextData())return null;const{mlManager:n}=this._uiManager;if(!n)throw new Error("No ML.");if(!await n.isEnabledFor("altText"))throw new Error("ML isn't enabled for alt text.");const{data:r,width:a,height:o}=e||this.copyCanvas(null,null,!0).imageData,l=await n.guess({name:"altText",request:{data:r,width:a,height:o,channels:r.length/(a*o)}});if(!l)throw new Error("No response from the AI service.");if(l.error)throw new Error("Error from the AI service.");if(l.cancel)return null;if(!l.output)throw new Error("No valid response from the AI service.");const h=l.output;return await this.setGuessedAltText(h),s&&!this.hasAltTextData()&&(this.altTextData={alt:h,decorative:!1}),h}remove(){var e;i(this,le)&&(u(this,kt,null),this._uiManager.imageManager.deleteId(i(this,le)),(e=i(this,Cn))==null||e.remove(),u(this,Cn,null),i(this,Fi)&&(clearTimeout(i(this,Fi)),u(this,Fi,null))),super.remove()}rebuild(){if(!this.parent){i(this,le)&&b(this,st,Gu).call(this);return}super.rebuild(),this.div!==null&&(i(this,le)&&i(this,Cn)===null&&b(this,st,Gu).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(e){this._isDraggable=!0,e&&this.div.focus()}isEmpty(){return!(i(this,Mr)||i(this,kt)||i(this,xn)||i(this,Pr)||i(this,le)||i(this,_o))}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){if(this.div)return this.div;let e,s;return this._isCopy&&(e=this.x,s=this.y),super.render(),this.div.hidden=!0,this.createAltText(),i(this,_o)||(i(this,kt)?b(this,st,$u).call(this):b(this,st,Gu).call(this)),this._isCopy&&this._moveAfterPaste(e,s),this._uiManager.addShouldRescale(this),this.div}setCanvas(e,s){const{id:n,bitmap:r}=this._uiManager.imageManager.getFromCanvas(e,s);s.remove(),n&&this._uiManager.imageManager.isValidId(n)&&(u(this,le,n),r&&u(this,kt,r),u(this,_o,!1),b(this,st,$u).call(this))}_onResized(){this.onScaleChanging()}onScaleChanging(){if(!this.parent)return;i(this,Fi)!==null&&clearTimeout(i(this,Fi)),u(this,Fi,setTimeout(()=>{u(this,Fi,null),b(this,st,kg).call(this)},200))}copyCanvas(e,s,n=!1){e||(e=224);const{width:r,height:a}=i(this,kt),o=new Hi;let l=i(this,kt),h=r,c=a,d=null;if(s){if(r>s||a>s){const k=Math.min(s/r,s/a);h=Math.floor(r*k),c=Math.floor(a*k)}d=document.createElement("canvas");const m=d.width=Math.ceil(h*o.sx),y=d.height=Math.ceil(c*o.sy);i(this,As)||(l=b(this,st,zu).call(this,m,y));const A=d.getContext("2d");A.filter=this._uiManager.hcmFilter;let v="white",w="#cfcfd8";this._uiManager.hcmFilter!=="none"?w="black":kA.isDarkMode&&(v="#8f8f9d",w="#42414d");const S=15,E=S*o.sx,x=S*o.sy,C=new OffscreenCanvas(E*2,x*2),T=C.getContext("2d");T.fillStyle=v,T.fillRect(0,0,E*2,x*2),T.fillStyle=w,T.fillRect(0,0,E,x),T.fillRect(E,x,E,x),A.fillStyle=A.createPattern(C,"repeat"),A.fillRect(0,0,m,y),A.drawImage(l,0,0,l.width,l.height,0,0,m,y)}let f=null;if(n){let m,y;if(o.symmetric&&l.widthe||a>e){const w=Math.min(e/r,e/a);m=Math.floor(r*w),y=Math.floor(a*w),i(this,As)||(l=b(this,st,zu).call(this,m,y))}const v=new OffscreenCanvas(m,y).getContext("2d",{willReadFrequently:!0});v.drawImage(l,0,0,l.width,l.height,0,0,m,y),f={width:m,height:y,data:v.getImageData(0,0,m,y).data}}return{canvas:d,width:h,height:c,imageData:f}}static async deserialize(e,s,n){var v;let r=null,a=!1;if(e instanceof gy){const{data:{rect:w,rotation:S,id:E,structParent:x,popupRef:C,richText:T,contentsObj:k,creationDate:M,modificationDate:P},container:L,parent:{page:{pageNumber:O}},canvas:Q}=e;let J,q;Q?(delete e.canvas,{id:J,bitmap:q}=n.imageManager.getFromCanvas(L.id,Q),Q.remove()):(a=!0,e._hasNoCanvas=!0);const Ft=((v=await s._structTree.getAriaAttributes(`${Vo}${E}`))==null?void 0:v.get("aria-label"))||"";r=e={annotationType:V.STAMP,bitmapId:J,bitmap:q,pageIndex:O-1,rect:w.slice(0),rotation:S,annotationElementId:E,id:E,deleted:!1,accessibilityData:{decorative:!1,altText:Ft},isSvg:!1,structParent:x,popupRef:C,richText:T,comment:(k==null?void 0:k.str)||null,creationDate:M,modificationDate:P}}const o=await super.deserialize(e,s,n),{rect:l,bitmap:h,bitmapUrl:c,bitmapId:d,isSvg:f,accessibilityData:m}=e;a?(n.addMissingCanvas(e.id,o),u(o,_o,!0)):d&&n.imageManager.isValidId(d)?(u(o,le,d),h&&u(o,kt,h)):u(o,xn,c),u(o,As,f);const[y,A]=o.pageDimensions;return o.width=(l[2]-l[0])/y,o.height=(l[3]-l[1])/A,m&&(o.altTextData=m),o._initialData=r,e.comment&&o.setCommentData(e),u(o,gh,!!r),o}serialize(e=!1,s=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const n=Object.assign(super.serialize(e),{bitmapId:i(this,le),isSvg:i(this,As)});if(this.addComment(n),e)return n.bitmapUrl=b(this,st,ju).call(this,!0),n.accessibilityData=this.serializeAltText(!0),n.isCopy=!0,n;const{decorative:r,altText:a}=this.serializeAltText(!1);if(!r&&a&&(n.accessibilityData={type:"Figure",alt:a}),this.annotationElementId){const l=b(this,st,eA).call(this,n);return l.isSame?null:(l.isSameAltText?delete n.accessibilityData:n.accessibilityData.structParent=this._initialData.structParent??-1,n.id=this.annotationElementId,delete n.bitmapId,n)}if(s===null)return n;s.stamps||(s.stamps=new Map);const o=i(this,As)?(n.rect[2]-n.rect[0])*(n.rect[3]-n.rect[1]):null;if(!s.stamps.has(i(this,le)))s.stamps.set(i(this,le),{area:o,serialized:n}),n.bitmap=b(this,st,ju).call(this,!1);else if(i(this,As)){const l=s.stamps.get(i(this,le));o>l.area&&(l.area=o,l.serialized.bitmap.close(),l.serialized.bitmap=b(this,st,ju).call(this,!1))}return n}renderAnnotationElement(e){return this.deleted?(e.hide(),null):(e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null)}}kt=new WeakMap,le=new WeakMap,Mr=new WeakMap,xn=new WeakMap,Pr=new WeakMap,ph=new WeakMap,Cn=new WeakMap,_o=new WeakMap,Fi=new WeakMap,As=new WeakMap,gh=new WeakMap,st=new WeakSet,Xh=function(e,s=!1){if(!e){this.remove();return}u(this,kt,e.bitmap),s||(u(this,le,e.id),u(this,As,e.isSvg)),e.file&&u(this,ph,e.file.name),b(this,st,$u).call(this)},Yh=function(){if(u(this,Mr,null),this._uiManager.enableWaiting(!1),!!i(this,Cn)){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&i(this,kt)){this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&i(this,kt)){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}},Gu=function(){if(i(this,le)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(i(this,le)).then(n=>b(this,st,Xh).call(this,n,!0)).finally(()=>b(this,st,Yh).call(this));return}if(i(this,xn)){const n=i(this,xn);u(this,xn,null),this._uiManager.enableWaiting(!0),u(this,Mr,this._uiManager.imageManager.getFromUrl(n).then(r=>b(this,st,Xh).call(this,r)).finally(()=>b(this,st,Yh).call(this)));return}if(i(this,Pr)){const n=i(this,Pr);u(this,Pr,null),this._uiManager.enableWaiting(!0),u(this,Mr,this._uiManager.imageManager.getFromFile(n).then(r=>b(this,st,Xh).call(this,r)).finally(()=>b(this,st,Yh).call(this)));return}const e=document.createElement("input");e.type="file",e.accept=lp.join(",");const s=this._uiManager._signal;u(this,Mr,new Promise(n=>{e.addEventListener("change",async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const r=await this._uiManager.imageManager.getFromFile(e.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),b(this,st,Xh).call(this,r)}n()},{signal:s}),e.addEventListener("cancel",()=>{this.remove(),n()},{signal:s})}).finally(()=>b(this,st,Yh).call(this))),e.click()},$u=function(){var h;const{div:e}=this;let{width:s,height:n}=i(this,kt);const[r,a]=this.pageDimensions,o=.75;if(this.width)s=this.width*r,n=this.height*a;else if(s>o*r||n>o*a){const c=Math.min(o*r/s,o*a/n);s*=c,n*=c}this._uiManager.enableWaiting(!1);const l=u(this,Cn,document.createElement("canvas"));l.setAttribute("role","img"),this.addContainer(l),this.width=s/r,this.height=n/a,this.setDims(),(h=this._initialOptions)!=null&&h.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(e.hidden=!1),b(this,st,kg).call(this),i(this,gh)||(this.parent.addUndoableEditor(this),u(this,gh,!0)),this._reportTelemetry({action:"inserted_image"}),i(this,ph)&&this.div.setAttribute("aria-description",i(this,ph)),this.annotationElementId||this._uiManager.a11yAlert(ot._l10nAlert.stamp)},zu=function(e,s){const{width:n,height:r}=i(this,kt);let a=n,o=r,l=i(this,kt);for(;a>2*e||o>2*s;){const h=a,c=o;a>2*e&&(a=Math.ceil(a/2)),o>2*s&&(o=Math.ceil(o/2));const d=new OffscreenCanvas(a,o);d.getContext("2d").drawImage(l,0,0,h,c,0,0,a,o),l=d.transferToImageBitmap()}return l},kg=function(){const[e,s]=this.parentDimensions,{width:n,height:r}=this,a=new Hi,o=Math.ceil(n*e*a.sx),l=Math.ceil(r*s*a.sy),h=i(this,Cn);if(!h||h.width===o&&h.height===l)return;h.width=o,h.height=l;const c=i(this,As)?i(this,kt):b(this,st,zu).call(this,o,l),d=h.getContext("2d");d.filter=this._uiManager.hcmFilter,d.drawImage(c,0,0,c.width,c.height,0,0,o,l)},ju=function(e){if(e){if(i(this,As)){const r=this._uiManager.imageManager.getSvgUrl(i(this,le));if(r)return r}const s=document.createElement("canvas");return{width:s.width,height:s.height}=i(this,kt),s.getContext("2d").drawImage(i(this,kt),0,0),s.toDataURL()}if(i(this,As)){const[s,n]=this.pageDimensions,r=Math.round(this.width*s*Gr.PDF_TO_CSS_UNITS),a=Math.round(this.height*n*Gr.PDF_TO_CSS_UNITS),o=new OffscreenCanvas(r,a);return o.getContext("2d").drawImage(i(this,kt),0,0,i(this,kt).width,i(this,kt).height,0,0,r,a),o.transferToImageBitmap()}return structuredClone(i(this,kt))},eA=function(e){var o;const{pageIndex:s,accessibilityData:{altText:n}}=this._initialData,r=e.pageIndex===s,a=(((o=e.accessibilityData)==null?void 0:o.alt)||"")===n;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&r&&a,isSameAltText:a}},_(_g,"_type","stamp"),_(_g,"_editorType",V.STAMP);var ko,mh,Dr,Ir,Tn,Qe,Lr,bh,yh,ai,_n,he,kn,Rr,Ah,B,Fr,At,Pg,sA,ui,Dg,Ig,Vu;const Ws=class Ws{constructor({uiManager:t,pageIndex:e,div:s,structTreeLayer:n,accessibilityManager:r,annotationLayer:a,drawLayer:o,textLayer:l,viewport:h,l10n:c}){g(this,At);g(this,ko);g(this,mh,!1);g(this,Dr,null);g(this,Ir,null);g(this,Tn,null);g(this,Qe,new Map);g(this,Lr,!1);g(this,bh,!1);g(this,yh,!1);g(this,ai,null);g(this,_n,null);g(this,he,null);g(this,kn,null);g(this,Rr,null);g(this,Ah,-1);g(this,B);const d=[...i(Ws,Fr).values()];if(!Ws._initialized){Ws._initialized=!0;for(const f of d)f.initialize(c,t)}t.registerEditorTypes(d),u(this,B,t),this.pageIndex=e,this.div=s,u(this,ko,r),u(this,Dr,a),this.viewport=h,u(this,he,l),this.drawLayer=o,this._structTree=n,i(this,B).addLayer(this)}get isEmpty(){return i(this,Qe).size===0}get isInvisible(){return this.isEmpty&&i(this,B).getMode()===V.NONE}updateToolbar(t){i(this,B).updateToolbar(t)}updateMode(t=i(this,B).getMode()){switch(b(this,At,Vu).call(this),t){case V.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case V.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case V.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:e}=this.div;if(e.toggle("nonEditing",!1),t===V.POPUP)e.toggle("commentEditing",!0);else{e.toggle("commentEditing",!1);for(const s of i(Ws,Fr).values())e.toggle(`${s._type}Editing`,t===s._editorType)}this.div.hidden=!1}hasTextLayer(t){var e;return t===((e=i(this,he))==null?void 0:e.div)}setEditingState(t){i(this,B).setEditingState(t)}addCommands(t){i(this,B).addCommands(t)}cleanUndoStack(t){i(this,B).cleanUndoStack(t)}toggleDrawing(t=!1){this.div.classList.toggle("drawing",!t)}togglePointerEvents(t=!1){this.div.classList.toggle("disabled",!t)}toggleAnnotationLayerPointerEvents(t=!1){var e;(e=i(this,Dr))==null||e.togglePointerEvents(t)}async enable(){var s;u(this,yh,!0),this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),(s=i(this,Rr))==null||s.abort(),u(this,Rr,null);const t=new Set;for(const n of i(this,At,Pg))n.enableEditing(),n.show(!0),n.annotationElementId&&(i(this,B).removeChangedExistingAnnotation(n),t.add(n.annotationElementId));const e=i(this,Dr);if(e)for(const n of e.getEditableAnnotations()){if(n.hide(),i(this,B).isDeletedAnnotationElement(n.data.id)||t.has(n.data.id))continue;const r=await this.deserialize(n);r&&(this.addOrRebuild(r),r.enableEditing())}u(this,yh,!1),i(this,B)._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){var n;if(u(this,bh,!0),this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),i(this,he)&&!i(this,Rr)){u(this,Rr,new AbortController);const r=i(this,B).combinedSignal(i(this,Rr));i(this,he).div.addEventListener("pointerdown",a=>{const{clientX:l,clientY:h,timeStamp:c}=a,d=i(this,Ah);if(c-d>500){u(this,Ah,c);return}u(this,Ah,-1);const{classList:f}=this.div;f.toggle("getElements",!0);const m=document.elementsFromPoint(l,h);if(f.toggle("getElements",!1),!this.div.contains(m[0]))return;let y;const A=new RegExp(`^${Zh}[0-9]+$`);for(const w of m)if(A.test(w.id)){y=w.id;break}if(!y)return;const v=i(this,Qe).get(y);(v==null?void 0:v.annotationElementId)===null&&(Lt(a),v.dblclick(a))},{signal:r,capture:!0})}const t=i(this,Dr),e=[];if(t){const r=new Map,a=new Map;for(const o of i(this,At,Pg)){if(o.disableEditing(),!o.annotationElementId){e.push(o);continue}if(o.serialize()!==null){r.set(o.annotationElementId,o);continue}else a.set(o.annotationElementId,o);(n=this.getEditableAnnotation(o.annotationElementId))==null||n.show(),o.remove()}for(const o of t.getEditableAnnotations()){const{id:l}=o.data;if(i(this,B).isDeletedAnnotationElement(l)){o.updateEdited({deleted:!0});continue}let h=a.get(l);if(h){h.resetAnnotationElement(o),h.show(!1),o.show();continue}h=r.get(l),h&&(i(this,B).addChangedExistingAnnotation(h),h.renderAnnotationElement(o)&&h.show(!1)),o.show()}}b(this,At,Vu).call(this),this.isEmpty&&(this.div.hidden=!0);const{classList:s}=this.div;for(const r of i(Ws,Fr).values())s.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),t==null||t.updateFakeAnnotations(e),u(this,bh,!1)}getEditableAnnotation(t){var e;return((e=i(this,Dr))==null?void 0:e.getEditableAnnotation(t))||null}setActiveEditor(t){i(this,B).getActive()!==t&&i(this,B).setActiveEditor(t)}enableTextSelection(){var t;if(this.div.tabIndex=-1,(t=i(this,he))!=null&&t.div&&!i(this,kn)){u(this,kn,new AbortController);const e=i(this,B).combinedSignal(i(this,kn));i(this,he).div.addEventListener("pointerdown",b(this,At,sA).bind(this),{signal:e}),i(this,he).div.classList.add("highlighting")}}disableTextSelection(){var t;this.div.tabIndex=0,(t=i(this,he))!=null&&t.div&&i(this,kn)&&(i(this,kn).abort(),u(this,kn,null),i(this,he).div.classList.remove("highlighting"))}enableClick(){if(i(this,Ir))return;u(this,Ir,new AbortController);const t=i(this,B).combinedSignal(i(this,Ir));this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:t});const e=this.pointerup.bind(this);this.div.addEventListener("pointerup",e,{signal:t}),this.div.addEventListener("pointercancel",e,{signal:t})}disableClick(){var t;(t=i(this,Ir))==null||t.abort(),u(this,Ir,null)}attach(t){i(this,Qe).set(t.id,t);const{annotationElementId:e}=t;e&&i(this,B).isDeletedAnnotationElement(e)&&i(this,B).removeDeletedAnnotationElement(t)}detach(t){var e;i(this,Qe).delete(t.id),(e=i(this,ko))==null||e.removePointerInTextLayer(t.contentDiv),!i(this,bh)&&t.annotationElementId&&i(this,B).addDeletedAnnotationElement(t)}remove(t){this.detach(t),i(this,B).removeEditor(t),t.div.remove(),t.isAttachedToDOM=!1}changeParent(t){var e;t.parent!==this&&(t.parent&&t.annotationElementId&&(i(this,B).addDeletedAnnotationElement(t),ot.deleteAnnotationElement(t),t.annotationElementId=null),this.attach(t),(e=t.parent)==null||e.detach(t),t.setParent(this),t.div&&t.isAttachedToDOM&&(t.div.remove(),this.div.append(t.div)))}add(t){if(!(t.parent===this&&t.isAttachedToDOM)){if(this.changeParent(t),i(this,B).addEditor(t),this.attach(t),!t.isAttachedToDOM){const e=t.render();this.div.append(e),t.isAttachedToDOM=!0}t.fixAndSetPosition(),t.onceAdded(!i(this,yh)),i(this,B).addToAnnotationStorage(t),t._reportTelemetry(t.telemetryInitialData)}}moveEditorInDOM(t){var s;if(!t.isAttachedToDOM)return;const{activeElement:e}=document;t.div.contains(e)&&!i(this,Tn)&&(t._focusEventsAllowed=!1,u(this,Tn,setTimeout(()=>{u(this,Tn,null),t.div.contains(document.activeElement)?t._focusEventsAllowed=!0:(t.div.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:i(this,B)._signal}),e.focus())},0))),t._structTreeParentId=(s=i(this,ko))==null?void 0:s.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addOrRebuild(t){t.needsToBeRebuilt()?(t.parent||(t.parent=this),t.rebuild(),t.show()):this.add(t)}addUndoableEditor(t){const e=()=>t._uiManager.rebuild(t),s=()=>{t.remove()};this.addCommands({cmd:e,undo:s,mustExec:!1})}getEditorByUID(t){for(const e of i(this,Qe).values())if(e.uid===t)return e;return null}combinedSignal(t){return i(this,B).combinedSignal(t)}canCreateNewEmptyEditor(){var t;return(t=i(this,At,ui))==null?void 0:t.canCreateNewEmptyEditor()}async pasteEditor(t,e){this.updateToolbar(t),await i(this,B).updateMode(t.mode);const{offsetX:s,offsetY:n}=b(this,At,Ig).call(this),r=i(this,B).getId(),a=b(this,At,Dg).call(this,{parent:this,id:r,x:s,y:n,uiManager:i(this,B),isCentered:!0,...e});a&&this.add(a)}async deserialize(t){var e;return await((e=i(Ws,Fr).get(t.annotationType??t.annotationEditorType))==null?void 0:e.deserialize(t,this,i(this,B)))||null}createAndAddNewEditor(t,e,s={}){const n=i(this,B).getId(),r=b(this,At,Dg).call(this,{parent:this,id:n,x:t.offsetX,y:t.offsetY,uiManager:i(this,B),isCentered:e,...s});return r&&this.add(r),r}get boundingClientRect(){return this.div.getBoundingClientRect()}addNewEditor(t={}){this.createAndAddNewEditor(b(this,At,Ig).call(this),!0,t)}setSelected(t){i(this,B).setSelected(t)}toggleSelected(t){i(this,B).toggleSelected(t)}unselect(t){i(this,B).unselect(t)}pointerup(t){var n;const{isMac:e}=bt.platform;if(t.button!==0||t.ctrlKey&&e||t.target!==this.div||!i(this,Lr)||(u(this,Lr,!1),(n=i(this,At,ui))!=null&&n.isDrawer&&i(this,At,ui).supportMultipleDrawings))return;if(!i(this,mh)){u(this,mh,!0);return}const s=i(this,B).getMode();if(s===V.STAMP||s===V.POPUP||s===V.SIGNATURE){i(this,B).unselectAll();return}this.createAndAddNewEditor(t,!1)}pointerdown(t){var n;if(i(this,B).getMode()===V.HIGHLIGHT&&this.enableTextSelection(),i(this,Lr)){u(this,Lr,!1);return}const{isMac:e}=bt.platform;if(t.button!==0||t.ctrlKey&&e||t.target!==this.div)return;if(u(this,Lr,!0),(n=i(this,At,ui))!=null&&n.isDrawer){this.startDrawingSession(t);return}const s=i(this,B).getActive();u(this,mh,!s||s.isEmpty())}startDrawingSession(t){if(this.div.focus({preventScroll:!0}),i(this,ai)){i(this,At,ui).startDrawing(this,i(this,B),!1,t);return}i(this,B).setCurrentDrawingSession(this),u(this,ai,new AbortController);const e=i(this,B).combinedSignal(i(this,ai));this.div.addEventListener("blur",({relatedTarget:s})=>{s&&!this.div.contains(s)&&(u(this,_n,null),this.commitOrRemove())},{signal:e}),i(this,At,ui).startDrawing(this,i(this,B),!1,t)}pause(t){if(t){const{activeElement:e}=document;this.div.contains(e)&&u(this,_n,e);return}i(this,_n)&&setTimeout(()=>{var e;(e=i(this,_n))==null||e.focus(),u(this,_n,null)},0)}endDrawingSession(t=!1){return i(this,ai)?(i(this,B).setCurrentDrawingSession(null),i(this,ai).abort(),u(this,ai,null),u(this,_n,null),i(this,At,ui).endDrawing(t)):null}findNewParent(t,e,s){const n=i(this,B).findParent(e,s);return n===null||n===this?!1:(n.changeParent(t),!0)}commitOrRemove(){return i(this,ai)?(this.endDrawingSession(),!0):!1}onScaleChanging(){i(this,ai)&&i(this,At,ui).onScaleChangingWhenDrawing(this)}destroy(){var t,e;this.commitOrRemove(),((t=i(this,B).getActive())==null?void 0:t.parent)===this&&(i(this,B).commitOrRemove(),i(this,B).setActiveEditor(null)),i(this,Tn)&&(clearTimeout(i(this,Tn)),u(this,Tn,null));for(const s of i(this,Qe).values())(e=i(this,ko))==null||e.removePointerInTextLayer(s.contentDiv),s.setParent(null),s.isAttachedToDOM=!1,s.div.remove();this.div=null,i(this,Qe).clear(),i(this,B).removeLayer(this)}async render({viewport:t}){this.viewport=t,Do(this.div,t);for(const e of i(this,B).getEditors(this.pageIndex))this.add(e),e.rebuild();await i(this,B).findClonesForPage(this),this.div.hidden=this.isEmpty,this.updateMode()}update({viewport:t}){i(this,B).commitOrRemove(),b(this,At,Vu).call(this);const e=this.viewport.rotation,s=t.rotation;if(this.viewport=t,Do(this.div,{rotation:s}),e!==s)for(const n of i(this,Qe).values())n.rotate(s)}get pageDimensions(){const{pageWidth:t,pageHeight:e}=this.viewport.rawDims;return[t,e]}get scale(){return i(this,B).viewParameters.realScale}};ko=new WeakMap,mh=new WeakMap,Dr=new WeakMap,Ir=new WeakMap,Tn=new WeakMap,Qe=new WeakMap,Lr=new WeakMap,bh=new WeakMap,yh=new WeakMap,ai=new WeakMap,_n=new WeakMap,he=new WeakMap,kn=new WeakMap,Rr=new WeakMap,Ah=new WeakMap,B=new WeakMap,Fr=new WeakMap,At=new WeakSet,Pg=function(){return i(this,Qe).size!==0?i(this,Qe).values():i(this,B).getEditors(this.pageIndex)},sA=function(t){i(this,B).unselectAll();const{target:e}=t;if(e===i(this,he).div||(e.getAttribute("role")==="img"||e.classList.contains("endOfContent")||e.classList.contains("textLayerImages")||e.classList.contains("textLayerImagePlaceholder"))&&i(this,he).div.contains(e)){const{isMac:s}=bt.platform;if(t.button!==0||t.ctrlKey&&s)return;i(this,B).showAllEditors("highlight",!0,!0),i(this,he).div.classList.add("free"),this.toggleDrawing(),ef.startHighlighting(this,i(this,B).direction==="ltr",{target:i(this,he).div,x:t.x,y:t.y}),i(this,he).div.addEventListener("pointerup",()=>{i(this,he).div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:i(this,B)._signal}),t.preventDefault()}},ui=function(){return i(Ws,Fr).get(i(this,B).getMode())},Dg=function(t){const e=i(this,At,ui);return e?new e.prototype.constructor(t):null},Ig=function(){const{x:t,y:e,width:s,height:n}=this.boundingClientRect,r=Math.max(0,t),a=Math.max(0,e),o=Math.min(window.innerWidth,t+s),l=Math.min(window.innerHeight,e+n),h=(r+o)/2-t,c=(a+l)/2-e,[d,f]=this.viewport.rotation%180===0?[h,c]:[c,h];return{offsetX:d,offsetY:f}},Vu=function(){for(const t of i(this,Qe).values())t.isEmpty()&&t.remove()},_(Ws,"_initialized",!1),g(Ws,Fr,new Map([cg,wg,_g,ef,Tg].map(t=>[t._editorType,t])));let Mg=Ws;function Aw(p,t){return p===t?0:p.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function nu(p){var t;return p?p.nodeType===Node.ELEMENT_NODE?p.closest(".textLayer"):((t=p.parentElement)==null?void 0:t.closest(".textLayer"))||null:null}function ww(p,t,e,s){if(p===e)return t<=s;const n=p.compareDocumentPosition(e);return n&Node.DOCUMENT_POSITION_FOLLOWING?!0:n&Node.DOCUMENT_POSITION_PRECEDING?!1:null}function Lm(p,t,e){if(p.nodeType!==Node.ELEMENT_NODE||!p.classList.contains("textLayer")||t!==p.childNodes.length)return{container:p,offset:t};let s=p.lastChild;return(s==null?void 0:s.nodeType)===Node.ELEMENT_NODE&&s.classList.contains("endOfContent")&&(s=s.previousSibling),!s||!e.contains(s)?null:s.nodeType===Node.TEXT_NODE?{container:s,offset:s.textContent.length}:{container:s,offset:s.childNodes.length}}var Je,Be,Us,Ud,Gd,Mo,Po,$d,kf,Or,Nr,Br,Hr,Mn,Pe,Rg,Fg,iA,Wu,nA,Gi,Og,rA,Ng;const G=class G{constructor({filterFactory:t=null,pageColors:e=null,pageIndex:s,textLayer:n=null}){g(this,Gi);g(this,Je,null);g(this,Be,new Map);g(this,Us,null);g(this,Ud,null);g(this,Gd,null);g(this,Mo,null);g(this,Po,new Map);if(this.pageIndex=s,u(this,Ud,t),u(this,Gd,e),n){const r=i(G,Mn).get(n);if(r!=null&&r.selectionDiv&&(r.selectionDiv.remove(),i(G,Nr).delete(r.selectionDiv)),i(G,Mn).set(n,{drawLayer:this}),i(G,Hr).add(n),u(this,Us,n),u(this,Mo,new MutationObserver(a=>{var o,l,h;if(!(!i(this,Je)||!((o=i(this,Us))!=null&&o.isConnected)||!b(l=G,Pe,Fg).call(l))){for(const{addedNodes:c}of a)for(const d of c)if(d.nodeType===Node.ELEMENT_NODE&&d.classList.contains("endOfContent")){b(h=G,Pe,Wu).call(h);return}}})),i(this,Mo).observe(n,{childList:!0}),i(G,Or)===null){u(G,Or,new AbortController);const{signal:a}=i(G,Or);document.addEventListener("selectionchange",b(G,Pe,Wu).bind(G),{signal:a}),document.addEventListener("pointerdown",()=>{u(G,Br,!0)},{signal:a}),document.addEventListener("pointerup",()=>{u(G,Br,!1)},{signal:a}),window.addEventListener("blur",()=>{u(G,Br,!1)},{signal:a})}}}setParent(t){var e,s,n;if(!i(this,Je)){u(this,Je,t),(e=i(this,Us))!=null&&e.isConnected&&b(s=G,Pe,Fg).call(s)&&b(n=G,Pe,Wu).call(n);return}if(i(this,Je)!==t){if(i(this,Be).size>0)for(const r of i(this,Be).values())r.remove(),t.append(r);u(this,Je,t)}}static get _svgFactory(){return $(this,"_svgFactory",new Zu)}draw(t,e=!1,s=!1){const n=Et(G,$d)._++,r=b(this,Gi,Og).call(this),a=G._svgFactory.createElement("defs");r.append(a);const o=G._svgFactory.createElement("path");a.append(o);const l=`path_${n}`;o.setAttribute("id",l),o.setAttribute("vector-effect","non-scaling-stroke"),e&&i(this,Po).set(n,o);const h=s?b(this,Gi,rA).call(this,a,l):null,c=G._svgFactory.createElement("use");return r.append(c),c.setAttribute("href",`#${l}`),this.updateProperties(r,t),i(this,Be).set(n,r),{id:n,clipPathId:`url(#${h})`}}drawOutline(t,e){const s=Et(G,$d)._++,n=b(this,Gi,Og).call(this),r=G._svgFactory.createElement("defs");n.append(r);const a=G._svgFactory.createElement("path");r.append(a);const o=`path_${s}`;a.setAttribute("id",o),a.setAttribute("vector-effect","non-scaling-stroke");let l;if(e){const d=G._svgFactory.createElement("mask");r.append(d),l=`mask_${s}`,d.setAttribute("id",l),d.setAttribute("maskUnits","objectBoundingBox");const f=G._svgFactory.createElement("rect");d.append(f),f.setAttribute("width","1"),f.setAttribute("height","1"),f.setAttribute("fill","white");const m=G._svgFactory.createElement("use");d.append(m),m.setAttribute("href",`#${o}`),m.setAttribute("stroke","none"),m.setAttribute("fill","black"),m.setAttribute("fill-rule","nonzero"),m.classList.add("mask")}const h=G._svgFactory.createElement("use");n.append(h),h.setAttribute("href",`#${o}`),l&&h.setAttribute("mask",`url(#${l})`);const c=h.cloneNode();return n.append(c),h.classList.add("mainOutline"),c.classList.add("secondaryOutline"),this.updateProperties(n,t),i(this,Be).set(s,n),s}finalizeDraw(t,e){i(this,Po).delete(t),this.updateProperties(t,e)}updateProperties(t,e){var l;if(!e)return;const{root:s,bbox:n,rootClass:r,path:a}=e,o=typeof t=="number"?i(this,Be).get(t):t;if(o){if(s&&b(this,Gi,Ng).call(this,o,s),n&&b(l=G,Pe,nA).call(l,o,n),r){const{classList:h}=o;for(const[c,d]of Object.entries(r))h.toggle(c,d)}if(a){const c=o.firstElementChild.firstElementChild;b(this,Gi,Ng).call(this,c,a)}}}updateParent(t,e){if(e===this)return;const s=i(this,Be).get(t);s&&(i(e,Je).append(s),i(this,Be).delete(t),i(e,Be).set(t,s))}remove(t){i(this,Po).delete(t),i(this,Je)!==null&&(i(this,Be).get(t).remove(),i(this,Be).delete(t))}destroy(){var t,e,s;u(this,Je,null);for(const n of i(this,Be).values())n.remove();if(i(this,Be).clear(),i(this,Po).clear(),(t=i(this,Mo))==null||t.disconnect(),u(this,Mo,null),i(this,Us)){const n=i(G,Mn).get(i(this,Us));(n==null?void 0:n.drawLayer)===this&&(b(e=G,Pe,Rg).call(e,i(this,Us)),i(G,Mn).delete(i(this,Us)),i(G,Hr).delete(i(this,Us)),i(G,Hr).size===0&&((s=i(G,Or))==null||s.abort(),u(G,Or,null),u(G,Br,!1))),u(this,Us,null)}}};Je=new WeakMap,Be=new WeakMap,Us=new WeakMap,Ud=new WeakMap,Gd=new WeakMap,Mo=new WeakMap,Po=new WeakMap,$d=new WeakMap,kf=new WeakMap,Or=new WeakMap,Nr=new WeakMap,Br=new WeakMap,Hr=new WeakMap,Mn=new WeakMap,Pe=new WeakSet,Rg=function(t){const e=i(this,Mn).get(t);e!=null&&e.selectionDiv&&(e.selectionDiv.remove(),i(this,Nr).delete(e.selectionDiv),e.selectionDiv=null,e.path=null)},Fg=function(){const t=document.getSelection();return!!t&&!t.isCollapsed},iA=function(){return i(this,Hr).keys().filter(t=>t.isConnected).toArray().sort(Aw)},Wu=function(){var a;const t=document.getSelection();if(!t||t.isCollapsed){for(const o of i(this,Nr))o.remove();i(this,Nr).clear();return}const e=new WeakMap,s=b(this,Pe,iA).call(this),n=[];for(let o=0,l=t.rangeCount;oh.intersectsNode(x));if(S.length===0)continue;let E=!1;if(y||(y=S[0],c=y,d=0,E=!0),A||(A=S.at(-1),f=A,m=A.childNodes.length,E=!0),f.nodeType===Node.ELEMENT_NODE){if(f.classList.contains("endOfContent")){const x=f.previousSibling;if(!x)continue;f=x,m=x.nodeType===Node.TEXT_NODE?x.textContent.length:x.childNodes.length}else if(f.classList.contains("textLayer")&&f.childNodes.length===m){const x=Lm(f,m,A);if(!x)continue;f=x.container,m=x.offset}}if(c.nodeType===Node.ELEMENT_NODE){const x=Lm(c,d,y);if(!x)continue;c=x.container,d=x.offset}if(y===A&&!E&&S.includes(y)){n.push([h,y]);continue}for(const x of S){const C=x.firstChild;if(!C)continue;const T=document.createRange();if(x===y?T.setStart(c,d):T.setStartBefore(C),x===A)T.setEnd(f,m);else{const k=x.lastChild;if(!k)continue;if(k.nodeType===Node.ELEMENT_NODE&&k.classList.contains("endOfContent")){const M=k.previousSibling;if(!M)continue;T.setEndAfter(M)}else T.setEndAfter(k)}T.collapsed||n.push([T,x])}}const r=new Set(n.map(o=>o[1]));for(const o of i(this,Hr))r.has(o)||b(this,Pe,Rg).call(this,o);for(const[o,l]of n){const h=i(G,Mn).get(l);if(!h)continue;let c=e.get(l);if(!c){const A=l.getBoundingClientRect();c=(v,w,S,E)=>({x:(v-A.x)/A.width,y:(w-A.y)/A.height,width:S/A.width,height:E/A.height}),e.set(l,c)}const d=[];for(let{x:A,y:v,width:w,height:S}of o.getClientRects())w===0||S===0||({x:A,y:v,width:w,height:S}=c(A,v,w,S),!(w===1&&S===1)&&d.push(`M${A} ${v} h${w} v${S} h-${w} Z`));if(d.length===0)continue;const f=h.drawLayer;let m=h.selectionDiv,y=h.path;if(!m){const A=`clip_selection_${Et(G,kf)._++}`;m=document.createElement("div"),m.className="selection",m.style.clipPath=`url(#${A})`;const v=(a=i(f,Ud))==null?void 0:a.createSelectionStyle(i(f,Gd));if(v)for(const[E,x]of Object.entries(v))m.style.setProperty(E,x);const w=G._svgFactory.create(1,1,!0);w.setAttribute("aria-hidden","true"),w.setAttribute("width","100%"),w.setAttribute("height","100%");const S=G._svgFactory.createElement("clipPath");S.setAttribute("id",A),S.setAttribute("clipPathUnits","objectBoundingBox"),y=G._svgFactory.createElement("path"),S.append(y),w.append(S),m.append(w),h.path=y,h.selectionDiv=m}!m.parentNode&&i(f,Je)&&(i(f,Je).append(m),i(this,Nr).add(m)),y.setAttribute("d",d.join(" "))}},nA=function(t,[e,s,n,r]){const{style:a}=t;a.top=`${100*s}%`,a.left=`${100*e}%`,a.width=`${100*n}%`,a.height=`${100*r}%`},Gi=new WeakSet,Og=function(){const t=G._svgFactory.create(1,1,!0);return i(this,Je).append(t),t.setAttribute("aria-hidden","true"),t},rA=function(t,e){const s=G._svgFactory.createElement("clipPath");t.append(s);const n=`clip_${e}`;s.setAttribute("id",n),s.setAttribute("clipPathUnits","objectBoundingBox");const r=G._svgFactory.createElement("use");return s.append(r),r.setAttribute("href",`#${e}`),r.classList.add("clip"),n},Ng=function(t,e){for(const[s,n]of Object.entries(e))n===null?t.removeAttribute(s):t.setAttribute(s,n)},g(G,Pe),g(G,$d,0),g(G,kf,0),g(G,Or,null),g(G,Nr,new Set),g(G,Br,!1),g(G,Hr,new Set),g(G,Mn,new WeakMap);let Lg=G;function ru(p){return`${(p*100).toFixed(2)}%`}var wh,zd,jd,vh,Oi,Ni,Vd,Mf,aA;const Jh=class Jh{constructor(t,e,s,n){g(this,Mf);g(this,wh,[]);g(this,zd,new Map);g(this,jd,null);g(this,vh,0);g(this,Oi,0);g(this,Ni,0);u(this,vh,t),u(this,wh,e),u(this,Oi,s.rawDims.pageWidth),u(this,Ni,s.rawDims.pageHeight),u(this,jd,n)}render(){const t=document.createElement("div");t.className="textLayerImages";for(let e=0;e{var w;if(!(e.target instanceof HTMLCanvasElement))return;const s=e.target,n=i(this,zd).get(s);if(!n)return;const r=(w=i(Jh,Vd))==null?void 0:w.deref();if(r===s)return;r&&(r.width=0,r.height=0),u(Jh,Vd,new WeakRef(s));const{inverseTransform:a,x1:o,y1:l,width:h,height:c}=n,d=i(this,jd).call(this),f=Math.ceil(o*d.width),m=Math.ceil(l*d.height),y=Math.floor((o+h/i(this,Oi))*d.width),A=Math.floor((l+c/i(this,Ni))*d.height);s.width=y-f,s.height=A-m;const v=s.getContext("2d");v.setTransform(...a),v.translate(-f,-m),v.drawImage(d,0,0)}),t}};wh=new WeakMap,zd=new WeakMap,jd=new WeakMap,vh=new WeakMap,Oi=new WeakMap,Ni=new WeakMap,Vd=new WeakMap,Mf=new WeakSet,aA=function([t,e,s,n,r,a]){const o=Math.hypot((r-t)*i(this,Oi),(a-e)*i(this,Ni)),l=Math.hypot((s-t)*i(this,Oi),(n-e)*i(this,Ni));if(o=_.INFOS&&console.info(`Info: ${e}`)}function T(e){x>=_.WARNINGS&&console.warn(`Warning: ${e}`)}function E(e){throw Error(e)}function D(e,t){e||E(t)}function O(e){switch(e?.protocol){case`http:`:case`https:`:case`ftp:`:case`mailto:`:case`tel:`:return!0;default:return!1}}function k(e,t=null,n=null){if(!e)return null;if(n&&typeof e==`string`&&(n.addDefaultProtocol&&e.startsWith(`www.`)&&e.match(/\./g)?.length>=2&&(e=`http://${e}`),n.tryConvertEncoding))try{e=se(e)}catch{}let r=t?URL.parse(e,t):URL.parse(e);return O(r)?r:null}function A(e,t,n=!1){let r=URL.parse(e);return r?(r.hash=t,r.href):n&&k(e,`http://example.com`)?e.split(`#`,1)[0]+`${t?`#${t}`:``}`:``}function j(e){return e.substring(e.lastIndexOf(`/`)+1)}function M(e,t,n,r=!1){return Object.defineProperty(e,t,{value:n,enumerable:!r,configurable:!0,writable:!1}),n}var N=function(){function e(e,t){this.message=e,this.name=t}return e.prototype=Error(),e.constructor=e,e}(),ee=class extends N{constructor(e,t){super(e,`PasswordException`),this.code=t}},te=class extends N{constructor(e,t){super(e,`UnknownErrorException`),this.details=t}},ne=class extends N{constructor(e){super(e,`InvalidPDFException`)}},re=class extends N{constructor(e,t,n){super(e,`ResponseException`),this.status=t,this.missing=n}},ie=class extends N{constructor(e){super(e,`FormatError`)}},P=class extends N{constructor(e){super(e,`AbortException`)}};function ae(e){(typeof e!=`object`||e?.length===void 0)&&E(`Invalid argument for bytesToString`);let t=e.length,n=8192;if(t`u`)return M(this,`isAlphaColorInputSupported`,!1);let e=document.createElement(`input`);return e.type=`color`,e.setAttribute(`alpha`,``),e.value=`#ff000080`,M(this,`isAlphaColorInputSupported`,e.value!==`#ff0000`)}static get isBackdropFilterSupported(){return M(this,`isBackdropFilterSupported`,typeof CSS<`u`&&CSS.supports(`backdrop-filter`,`blur(1px)`))}},I=class{static get hexNums(){return M(this,`hexNums`,Array.from(Array(256).keys(),e=>e.toString(16).padStart(2,`0`)))}static makeHexColor(e,t,n){return`#${this.hexNums[e]}${this.hexNums[t]}${this.hexNums[n]}`}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static multiplyByDOMMatrix(e,t){return[e[0]*t.a+e[2]*t.b,e[1]*t.a+e[3]*t.b,e[0]*t.c+e[2]*t.d,e[1]*t.c+e[3]*t.d,e[0]*t.e+e[2]*t.f+e[4],e[1]*t.e+e[3]*t.f+e[5]]}static applyTransform(e,t,n=0){let r=e[n],i=e[n+1];e[n]=r*t[0]+i*t[2]+t[4],e[n+1]=r*t[1]+i*t[3]+t[5]}static applyTransformToBezier(e,t,n=0){let r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5];for(let t=0;t<6;t+=2){let l=e[n+t],u=e[n+t+1];e[n+t]=l*r+u*a+s,e[n+t+1]=l*i+u*o+c}}static applyInverseTransform(e,t){let n=e[0],r=e[1],i=t[0]*t[3]-t[1]*t[2];e[0]=(n*t[3]-r*t[2]+t[2]*t[5]-t[4]*t[3])/i,e[1]=(-n*t[1]+r*t[0]+t[4]*t[1]-t[5]*t[0])/i}static axialAlignedBoundingBox(e,t,n){let r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=e[0],u=e[1],d=e[2],f=e[3],p=r*l+s,m=p,h=r*d+s,g=h,_=o*u+c,v=_,y=o*f+c,b=y;if(i!==0||a!==0){let e=i*l,t=i*d,n=a*u,r=a*f;p+=n,g+=n,h+=r,m+=r,_+=e,b+=e,y+=t,v+=t}n[0]=Math.min(n[0],p,h,m,g),n[1]=Math.min(n[1],_,y,v,b),n[2]=Math.max(n[2],p,h,m,g),n[3]=Math.max(n[3],_,y,v,b)}static inverseTransform(e){let t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e,t){let n=e[0],r=e[1],i=e[2],a=e[3],o=n**2+r**2,s=n*i+r*a,c=i**2+a**2,l=(o+c)/2,u=Math.sqrt(l**2-(o*c-s**2));t[0]=Math.sqrt(l+u||1),t[1]=Math.sqrt(l-u||1)}static normalizeRect(e){let t=e.slice(0);return e[0]>e[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t}static intersect(e,t){let n=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),r=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(n>r)return null;let i=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),a=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return i>a?null:[n,i,r,a]}static pointBoundingBox(e,t,n){n[0]=Math.min(n[0],e),n[1]=Math.min(n[1],t),n[2]=Math.max(n[2],e),n[3]=Math.max(n[3],t)}static rectBoundingBox(e,t,n,r,i){i[0]=Math.min(i[0],e,n),i[1]=Math.min(i[1],t,r),i[2]=Math.max(i[2],e,n),i[3]=Math.max(i[3],t,r)}static#e(e,t,n,r,i,a,o,s,c,l){if(c<=0||c>=1)return;let u=1-c,d=c*c,f=d*c,p=u*(u*(u*e+3*c*t)+3*d*n)+f*r,m=u*(u*(u*i+3*c*a)+3*d*o)+f*s;l[0]=Math.min(l[0],p),l[1]=Math.min(l[1],m),l[2]=Math.max(l[2],p),l[3]=Math.max(l[3],m)}static#t(e,t,n,r,i,a,o,s,c,l,u,d){if(Math.abs(c)<1e-12){Math.abs(l)>=1e-12&&this.#e(e,t,n,r,i,a,o,s,-u/l,d);return}let f=l**2-4*u*c;if(f<0)return;let p=Math.sqrt(f),m=2*c;this.#e(e,t,n,r,i,a,o,s,(-l+p)/m,d),this.#e(e,t,n,r,i,a,o,s,(-l-p)/m,d)}static bezierBoundingBox(e,t,n,r,i,a,o,s,c){c[0]=Math.min(c[0],e,o),c[1]=Math.min(c[1],t,s),c[2]=Math.max(c[2],e,o),c[3]=Math.max(c[3],t,s),this.#t(e,n,i,o,t,r,a,s,3*(-e+3*(n-i)+o),6*(e-2*n+i),3*(n-e),c),this.#t(e,n,i,o,t,r,a,s,3*(-t+3*(r-a)+s),6*(t-2*r+a),3*(r-t),c)}};function se(e){return decodeURIComponent(escape(e))}var ce=null,le=null;function ue(e){return ce||(ce=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,le=new Map([[`ſt`,`ſt`]])),e.replaceAll(ce,(e,t,n)=>t?t.normalize(`NFKC`):le.get(n))}function de(){if(typeof crypto.randomUUID==`function`)return crypto.randomUUID();let e=new Uint8Array(32);return crypto.getRandomValues(e),ae(e)}function fe(e,t,n){if(!Array.isArray(n)||n.length<2)return!1;let[r,i,...a]=n;if(!e(r)&&!Number.isInteger(r)||!t(i))return!1;let o=a.length,s=!0;switch(i.name){case`XYZ`:if(o<2||o>3)return!1;break;case`Fit`:case`FitB`:return o===0;case`FitH`:case`FitBH`:case`FitV`:case`FitBV`:if(o>1)return!1;break;case`FitR`:if(o!==4)return!1;s=!1;break;default:return!1}for(let e of a)if(!(typeof e==`number`||s&&e===null))return!1;return!0}var pe=()=>[],me=()=>new Map,he=()=>Object.create(null),ge=()=>new Set;typeof Iterator.prototype.join!=`function`&&(Iterator.prototype.join=function(e){return[...this].join(e)});function L(e,t,n){return Math.min(Math.max(e,t),n)}var _e=class e{constructor({viewBox:e,userUnit:t,scale:n,rotation:r,offsetX:i=0,offsetY:a=0,dontFlip:o=!1}){this.viewBox=e,this.userUnit=t,this.scale=n,this.rotation=r,this.offsetX=i,this.offsetY=a,n*=t;let s=(e[2]+e[0])/2,c=(e[3]+e[1])/2,l,u,d,f;switch(r%=360,r<0&&(r+=360),r){case 180:l=-1,u=0,d=0,f=1;break;case 90:l=0,u=1,d=1,f=0;break;case 270:l=0,u=-1,d=-1,f=0;break;case 0:l=1,u=0,d=0,f=-1;break;default:throw Error(`PageViewport: Invalid rotation, must be a multiple of 90 degrees.`)}o&&(d=-d,f=-f);let p,m,h,g;l===0?(p=Math.abs(c-e[1])*n+i,m=Math.abs(s-e[0])*n+a,h=(e[3]-e[1])*n,g=(e[2]-e[0])*n):(p=Math.abs(s-e[0])*n+i,m=Math.abs(c-e[1])*n+a,h=(e[2]-e[0])*n,g=(e[3]-e[1])*n),this.transform=[l*n,u*n,d*n,f*n,p-l*n*s-d*n*c,m-u*n*s-f*n*c],this.width=h,this.height=g}get rawDims(){let e=this.viewBox;return M(this,`rawDims`,{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:t=this.scale,rotation:n=this.rotation,offsetX:r=this.offsetX,offsetY:i=this.offsetY,dontFlip:a=!1}={}){return new e({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:t,rotation:n,offsetX:r,offsetY:i,dontFlip:a})}convertToViewportPoint(e,t){let n=[e,t];return I.applyTransform(n,this.transform),n}convertToPdfPoint(e,t){let n=[e,t];return I.applyInverseTransform(n,this.transform),n}},ve=class e{static textContent(t){let n=[],r={items:n,styles:Object.create(null)};function i(t){if(!t)return;let r=null,a=t.name;if(a===`#text`)r=t.value;else if(e.shouldBuildText(a))t?.attributes?.textContent?r=t.attributes.textContent:t.value&&(r=t.value);else return;if(r!==null&&n.push({str:r}),t.children)for(let e of t.children)i(e)}return i(t),r}static shouldBuildText(e){return e!==`textarea`&&e!==`input`&&e!==`option`&&e!==`select`}},ye=/url\(|image-set\(/i,be=/^on/i,xe=class{static get _allowedHtmlElements(){return M(this,`_allowedHtmlElements`,new Set([`a`,`b`,`br`,`button`,`div`,`i`,`img`,`input`,`label`,`li`,`ol`,`option`,`p`,`select`,`span`,`sub`,`sup`,`textarea`,`ul`]))}static get _allowedSvgElements(){return M(this,`_allowedSvgElements`,new Set([`ellipse`,`line`,`path`,`rect`,`svg`]))}static get _allowedRichTextElements(){return M(this,`_allowedRichTextElements`,new Set([`a`,`b`,`br`,`div`,`i`,`li`,`ol`,`p`,`span`,`sub`,`sup`,`ul`]))}static get _allowedRichTextAttributes(){return M(this,`_allowedRichTextAttributes`,new Set([`class`,`dir`,`style`]))}static get _allowedRichTextStyles(){return M(this,`_allowedRichTextStyles`,new Set(`color.font.fontFamily.fontSize.fontStretch.fontStyle.fontWeight.kerningMode.letterSpacing.lineHeight.margin.marginBottom.marginLeft.marginRight.marginTop.orphans.paddingLeft.paddingRight.breakAfter.breakBefore.breakInside.tabInterval.tabStop.textAlign.textDecoration.textIndent.transform.verticalAlign.widows`.split(`.`)))}static setupStorage(e,t,n,r,i){let a=r.getValue(t,{value:null});switch(n.name){case`textarea`:if(a.value!==null&&(e.textContent=a.value),i===`print`)break;e.addEventListener(`input`,e=>{r.setValue(t,{value:e.target.value})});break;case`input`:if(n.attributes.type===`radio`||n.attributes.type===`checkbox`){if(a.value===n.attributes.xfaOn?e.setAttribute(`checked`,!0):a.value===n.attributes.xfaOff&&e.removeAttribute(`checked`),i===`print`)break;e.addEventListener(`change`,e=>{r.setValue(t,{value:e.target.checked?e.target.getAttribute(`xfaOn`):e.target.getAttribute(`xfaOff`)})})}else{if(a.value!==null&&e.setAttribute(`value`,a.value),i===`print`)break;e.addEventListener(`input`,e=>{r.setValue(t,{value:e.target.value})})}break;case`select`:if(a.value!==null){e.setAttribute(`value`,a.value);for(let e of n.children)e.attributes.value===a.value?e.attributes.selected=!0:Object.hasOwn(e.attributes,`selected`)&&delete e.attributes.selected}e.addEventListener(`input`,e=>{let n=e.target.options,i=n.selectedIndex===-1?``:n[n.selectedIndex].value;r.setValue(t,{value:i})})}}static setAttributes({html:e,element:t,storage:n=null,intent:r,linkService:i}){let{attributes:a}=t,o=e instanceof HTMLAnchorElement;a.type===`radio`&&(a.name=`${a.name}-${r}`);for(let[t,n]of Object.entries(a))if(n!=null&&!be.test(t)&&!(r===`richText`&&!this._allowedRichTextAttributes.has(t)))switch(t){case`class`:n.length&&e.setAttribute(t,n.join(` `));break;case`dataId`:break;case`id`:e.setAttribute(`data-element-id`,n);break;case`style`:if(r===`richText`){let t=this._allowedRichTextStyles;for(let[r,i]of Object.entries(n))t.has(r)&&!ye.test(i)&&(e.style[r]=i)}else Object.assign(e.style,n);break;case`textContent`:e.textContent=n;break;default:(!o||t!==`href`&&t!==`newWindow`)&&e.setAttribute(t,n)}o&&i?.addLinkAttributes(e,a.href,a.newWindow),n&&a.dataId&&this.setupStorage(e,a.dataId,t,n)}static#e(e,t,n){return n===`richText`?!t&&this._allowedRichTextElements.has(e)?document.createElement(e):null:t?t===a&&this._allowedSvgElements.has(e)?document.createElementNS(a,e):null:this._allowedHtmlElements.has(e)?document.createElement(e):null}static render(e){let t=e.annotationStorage,n=e.linkService,r=e.xfaHtml,i=e.intent||`display`,a=this.#e(r.name,r.attributes?.xmlns,i)??document.createElement(`div`);r.attributes&&this.setAttributes({html:a,element:r,intent:i,linkService:n});let o=i!==`richText`,s=e.div;if(s.append(a),e.viewport){let t=`matrix(${e.viewport.transform.join(`,`)})`;s.style.transform=t}o&&s.setAttribute(`class`,`xfaLayer xfaFont`);let c=[];if(r.children.length===0){if(r.value){let e=document.createTextNode(r.value);a.append(e),o&&ve.shouldBuildText(r.name)&&c.push(e)}return{textDivs:c}}let l=[[r,-1,a]];for(;l.length>0;){let[e,r,a]=l.at(-1);if(r+1===e.children.length){l.pop();continue}let s=e.children[++l.at(-1)[1]];if(s===null)continue;let{name:u}=s;if(u===`#text`){let e=document.createTextNode(s.value);c.push(e),a.append(e);continue}let d=this.#e(u,s.attributes?.xmlns,i);if(d){if(a.append(d),s.attributes&&this.setAttributes({html:d,element:s,storage:t,intent:i,linkService:n}),s.children?.length>0)l.push([s,-1,d]);else if(s.value){let e=document.createTextNode(s.value);o&&ve.shouldBuildText(u)&&c.push(e),d.append(e)}}}for(let e of s.querySelectorAll(`.xfaNonInteractive input, .xfaNonInteractive textarea`))e.setAttribute(`readOnly`,!0);return{textDivs:c}}static update(e){let t=`matrix(${e.viewport.transform.join(`,`)})`;e.div.style.transform=t,e.div.hidden=!1}static getPageViewport(e,{scale:t=1,rotation:n=0}){let{width:r,height:i}=e.attributes.style;return new _e({viewBox:[0,0,parseInt(r,10),parseInt(i,10)],userUnit:1,scale:t,rotation:n})}},Se=class{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF};async function Ce(e,t=`text`){if(Ae(e,document.baseURI)){let n=await fetch(e);if(!n.ok)throw Error(n.statusText);switch(t){case`blob`:return n.blob();case`bytes`:return n.bytes();case`json`:return n.json()}return n.text()}return new Promise((n,r)=>{let i=new XMLHttpRequest;i.open(`GET`,e,!0),i.responseType=t===`bytes`?`arraybuffer`:t,i.onreadystatechange=()=>{if(i.readyState===XMLHttpRequest.DONE){if(i.status===200||i.status===0){switch(t){case`bytes`:n(new Uint8Array(i.response));return;case`blob`:case`json`:n(i.response);return}n(i.responseText);return}r(Error(i.statusText))}},i.send(null)})}var we=class extends N{constructor(e,t=0){super(e,`RenderingCancelledException`),this.extraDelay=t}};function Te(e){let t=e.length,n=0;for(;n{try{return new URL(e)}catch{}try{return new URL(decodeURIComponent(e))}catch{}try{return new URL(e,`https://foo.bar`)}catch{}try{return new URL(decodeURIComponent(e),`https://foo.bar`)}catch{}return null})(e);if(!n)return t;let r=e=>{try{let t=decodeURIComponent(e);return t.includes(`/`)&&(t=j(t),t.length===4&&i.test(t))?e:t}catch{return e}},i=/\.pdf$/i,a=j(n.pathname);if(i.test(a))return r(a);if(n.searchParams.size>0){let e=e=>[...e].findLast(e=>i.test(e)),t=e(n.searchParams.values())??e(n.searchParams.keys());if(t)return r(t)}if(n.hash){let e=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i.exec(n.hash);if(e)return r(e[0])}return t}var ke=class{#e=new Map;times=[];time(e){this.#e.has(e)&&T(`Timer is already running for ${e}`),this.#e.set(e,Date.now())}timeEnd(e){this.#e.has(e)||T(`Timer has not been started for ${e}`),this.times.push({name:e,start:this.#e.get(e),end:Date.now()}),this.#e.delete(e)}toString(){let e=Math.max(...this.times.map(e=>e.name.length));return this.times.map(t=>`${t.name.padEnd(e)} ${t.end-t.start}ms\n`).join(``)}};function Ae(e,t){let n=t?URL.parse(e,t):URL.parse(e);return/https?:/.test(n?.protocol??``)}function R(e){e.preventDefault()}function z(e){e.preventDefault(),e.stopPropagation()}var je=class{static#e;static toDateObject(e){if(e instanceof Date)return e;if(!e||typeof e!=`string`)return null;this.#e||=RegExp(`^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+\\-])?(\\d{2})?'?(\\d{2})?'?`);let t=this.#e.exec(e);if(!t)return null;let n=parseInt(t[1],10),r=parseInt(t[2],10);r=r>=1&&r<=12?r-1:0;let i=parseInt(t[3],10);i=i>=1&&i<=31?i:1;let a=parseInt(t[4],10);a=a>=0&&a<=23?a:0;let o=parseInt(t[5],10);o=o>=0&&o<=59?o:0;let s=parseInt(t[6],10);s=s>=0&&s<=59?s:0;let c=t[7]||`Z`,l=parseInt(t[8],10);l=l>=0&&l<=23?l:0;let u=parseInt(t[9],10)||0;return u=u>=0&&u<=59?u:0,c===`-`?(a+=l,o+=u):c===`+`&&(a-=l,o-=u),new Date(Date.UTC(n,r,i,a,o,s))}};function Me(e){if(e.startsWith(`#`)){let t=e.slice(1);return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16),t.length>=8?parseInt(t.slice(6,8),16)/255:1]}if(e.startsWith(`rgb(`)){let[t,n,r]=e.slice(4,-1).split(`,`).map(e=>parseInt(e,10));return[t,n,r,1]}if(e.startsWith(`rgba(`)){let t=e.slice(5,-1).split(`,`);return[parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10),parseFloat(t[3])]}let t=e.match(/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+|none))?\)$/);return t?[Math.round(parseFloat(t[1])*255),Math.round(parseFloat(t[2])*255),Math.round(parseFloat(t[3])*255),t[4]!==void 0&&t[4]!==`none`?parseFloat(t[4]):1]:null}function Ne(e){let t=Me(e);return t?t.slice(0,3):(T(`Not a valid color format: "${e}"`),[0,0,0])}function Pe(e){let t=document.createElement(`span`);t.style.visibility=`hidden`,t.style.colorScheme=`only light`,document.body.append(t);for(let n of e.keys()){t.style.color=n;let r=window.getComputedStyle(t).color;e.set(n,Ne(r))}t.remove()}function B(e){let{a:t,b:n,c:r,d:i,e:a,f:o}=e.getTransform();return[t,n,r,i,a,o]}function V(e){let{a:t,b:n,c:r,d:i,e:a,f:o}=e.getTransform().invertSelf();return[t,n,r,i,a,o]}function Fe(e,t,n=!1,r=!0){if(t instanceof _e){let{pageWidth:r,pageHeight:i}=t.rawDims,{style:a}=e,o=`round(down, var(--total-scale-factor) * ${r}px, var(--scale-round-x))`,s=`round(down, var(--total-scale-factor) * ${i}px, var(--scale-round-y))`;!n||t.rotation%180==0?(a.width=o,a.height=s):(a.width=s,a.height=o)}r&&e.setAttribute(`data-main-rotation`,t.rotation)}var Ie=class e{constructor(){let{pixelRatio:t}=e;this.sx=t,this.sy=t}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}limitCanvas(t,n,r,i,a=-1){let o=1/0,s=1/0,c=1/0;r=e.capPixels(r,a),r>0&&(o=Math.sqrt(r/(t*n))),i!==-1&&(s=i/t,c=i/n);let l=Math.min(o,s,c);return this.sx>l||this.sy>l?(this.sx=l,this.sy=l,!0):!1}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(e,t){if(t>=0){let n=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+t/100));return e>0?Math.min(e,n):n}return e}},Le=[`image/apng`,`image/avif`,`image/bmp`,`image/gif`,`image/jpeg`,`image/png`,`image/svg+xml`,`image/webp`,`image/x-icon`],Re=class{static get isDarkMode(){return M(this,`isDarkMode`,!!window?.matchMedia?.(`(prefers-color-scheme: dark)`).matches)}},ze=class{static get commentForegroundColor(){let e=document.createElement(`span`);e.classList.add(`comment`,`sidebar`);let{style:t}=e;t.width=t.height=`0`,t.display=`none`,t.color=`var(--comment-fg-color)`,document.body.append(e);let{color:n}=window.getComputedStyle(e);return e.remove(),M(this,`commentForegroundColor`,Ne(n))}};function Be(e,t){t=L(t??1,0,1);let n=255*(1-t);return e.map(e=>Math.round(e*t+n))}function Ve(e,t){let n=e[0]/255,r=e[1]/255,i=e[2]/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=(a+o)/2;if(a===o)t[0]=t[1]=0;else{let e=a-o;switch(t[1]=s<.5?e/(a+o):e/(2-a-o),a){case n:t[0]=((r-i)/e+(ri?(r+.05)/(i+.05):(i+.05)/(r+.05)}var Ge=new Map;function Ke(e,t){let n=e[0]+e[1]*256+e[2]*65536+t[0]*16777216+t[1]*4294967296+t[2]*1099511627776,r=Ge.get(n);if(r)return r;let i=new Float32Array(9),a=i.subarray(0,3),o=i.subarray(3,6);Ve(e,o);let s=i.subarray(6,9);Ve(t,s);let c=s[2]<.5,l=c?12:4.5;if(o[2]=c?Math.sqrt(o[2]):1-Math.sqrt(1-o[2]),We(o,s,a).005;){let n=o[2]=(e+t)/2;c===We(o,s,a){n.delete()},{signal:n._signal}),this.#r.append(r)}get#p(){let e=document.createElement(`div`);return e.className=`divider`,e}async addAltText(e){let t=await e.render();this.#f(t),this.#r.append(t,this.#p),this.#i=e}addComment(e,t=null){if(this.#a)return;let n=e.renderForToolbar();if(!n)return;this.#f(n);let r=this.#o=this.#p;t?(this.#r.insertBefore(n,t),this.#r.insertBefore(r,t)):this.#r.append(n,r),this.#a=e,e.toolbar=this}addColorPicker(e){if(this.#t)return;this.#t=e;let t=e.renderButton();this.#f(t),this.#r.append(t,this.#p)}async addEditSignatureButton(e){let t=this.#s=await e.renderEditButton(this.#n);this.#f(t),this.#r.append(t,this.#p)}removeButton(e){e===`comment`&&(this.#a?.removeToolbarCommentButton(),this.#a=null,this.#o?.remove(),this.#o=null)}async addButton(e,t){switch(e){case`colorPicker`:t&&this.addColorPicker(t);break;case`altText`:t&&await this.addAltText(t);break;case`editSignature`:t&&await this.addEditSignatureButton(t);break;case`delete`:this.addDeleteButton();break;case`comment`:t&&this.addComment(t)}}async addButtonBefore(e,t,n){if(!t&&e===`comment`)return;let r=this.#r.querySelector(n);r&&e===`comment`&&this.addComment(t,r)}updateEditSignatureButton(e){this.#s&&(this.#s.title=e)}remove(){this.#e.remove(),this.#t?.destroy(),this.#t=null}},Xe=class{#e=null;#t=null;#n;constructor(e){this.#n=e}#r(){let e=this.#t=document.createElement(`div`);e.className=`editToolbar`,e.setAttribute(`role`,`toolbar`);let t=this.#n._signal;t instanceof AbortSignal&&!t.aborted&&e.addEventListener(`contextmenu`,R,{signal:t});let n=this.#e=document.createElement(`div`);return n.className=`buttons`,e.append(n),this.#n.hasCommentManager()&&this.#a(`commentButton`,`pdfjs-comment-floating-button`,`pdfjs-comment-floating-button-label`,()=>{this.#n.commentSelection(`floating_button`)}),this.#a(`highlightButton`,`pdfjs-highlight-floating-button1`,`pdfjs-highlight-floating-button-label`,()=>{this.#n.highlightSelection(`floating_button`)}),e}#i(e,t){let n=0,r=0;for(let i of e){let e=i.y+i.height;if(en){r=a,n=e;continue}t?a>r&&(r=a):a=1}static clearPointerType(){e.#r=null}static clearPointerIds(){e.#e=NaN,e.#t=null}static clearTimeStamp(){e.#n=NaN}},$e=class{#e=0;get id(){return`${l}${this.#e++}`}},et=class e{#e=de();#t=0;#n=null;static get _isSVGFittingCanvas(){let e=`data:image/svg+xml;charset=UTF-8,`,t=new OffscreenCanvas(1,3).getContext(`2d`,{willReadFrequently:!0}),n=new Image;n.src=e;let r=n.decode().then(()=>(t.drawImage(n,0,0,1,1,0,0,1,3),new Uint32Array(t.getImageData(0,0,1,1).data.buffer)[0]===0));return M(this,`_isSVGFittingCanvas`,r)}async#r(t,n){this.#n||=new Map;let r=this.#n.get(t);if(r===null)return null;if(r?.bitmap)return r.refCounter+=1,r;try{r||={bitmap:null,id:`image_${this.#e}_${this.#t++}`,refCounter:0,isSvg:!1};let t;if(typeof n==`string`?(r.url=n,t=await Ce(n,`blob`)):n instanceof File?t=r.file=n:n instanceof Blob&&(t=n),t.type===`image/svg+xml`){let n=e._isSVGFittingCanvas,i=new FileReader,a=new Image,o=new Promise((e,t)=>{a.onload=()=>{r.bitmap=a,r.isSvg=!0,e()},i.onload=async()=>{let e=r.svgUrl=i.result;a.src=await n?`${e}#svgView(preserveAspectRatio(none))`:e},a.onerror=i.onerror=t});i.readAsDataURL(t),await o}else r.bitmap=await createImageBitmap(t);r.refCounter=1}catch(e){T(e),r=null}return this.#n.set(t,r),r&&this.#n.set(r.id,r),r}async getFromFile(e){let{lastModified:t,name:n,size:r,type:i}=e;return this.#r(`${t}_${n}_${r}_${i}`,e)}async getFromUrl(e){return this.#r(e,e)}async getFromBlob(e,t){let n=await t;return this.#r(e,n)}async getFromId(e){this.#n||=new Map;let t=this.#n.get(e);if(!t)return null;if(t.bitmap)return t.refCounter+=1,t;if(t.file)return this.getFromFile(t.file);if(t.blobPromise){let{blobPromise:e}=t;return delete t.blobPromise,this.getFromBlob(t.id,e)}return this.getFromUrl(t.url)}getFromCanvas(e,t){this.#n||=new Map;let n=this.#n.get(e);if(n?.bitmap)return n.refCounter+=1,n;let r=new OffscreenCanvas(t.width,t.height);return r.getContext(`2d`).drawImage(t,0,0),n={bitmap:r.transferToImageBitmap(),id:`image_${this.#e}_${this.#t++}`,refCounter:1,isSvg:!1},this.#n.set(e,n),this.#n.set(n.id,n),n}getSvgUrl(e){let t=this.#n.get(e);return t?.isSvg?t.svgUrl:null}deleteId(e){this.#n||=new Map;let t=this.#n.get(e);if(!t||(--t.refCounter,t.refCounter!==0))return;let{bitmap:n}=t;if(!t.url&&!t.file){let e=new OffscreenCanvas(n.width,n.height);e.getContext(`bitmaprenderer`).transferFromImageBitmap(n),t.blobPromise=e.convertToBlob()}n.close?.(),t.bitmap=null}isValidId(e){return e.startsWith(`image_${this.#e}_`)}},tt=class{#e=[];#t=!1;#n;#r=-1;constructor(e=128){this.#n=e}add({cmd:e,undo:t,post:n,mustExec:r,type:i=NaN,overwriteIfSameType:a=!1,keepUndo:o=!1}){if(r&&e(),this.#t)return;let s={cmd:e,undo:t,post:n,type:i};if(this.#r===-1){this.#e.length>0&&(this.#e.length=0),this.#r=0,this.#e.push(s);return}if(a&&this.#e[this.#r].type===i){o&&(s.undo=this.#e[this.#r].undo),this.#e[this.#r]=s;return}let c=this.#r+1;c===this.#n?this.#e.splice(0,1):(this.#r=c,c=0;t--)if(this.#e[t].type!==e){this.#e.splice(t+1,this.#r-t),this.#r=t;return}this.#e.length=0,this.#r=-1}}destroy(){this.#e=null}},nt=class e{static ALT=1;static CTRL=2;static META=4;static SHIFT=8;constructor(t){this.callbacks=new Map;let{isMac:n}=F.platform;for(let[r,i,a={}]of t){let t=r.some(e=>e.startsWith(`mac+`));for(let o of r){let r=o;if(t){let e=o.startsWith(`mac+`);if(n!==e)continue;e&&(r=o.slice(4))}let[s,c]=e.#e(r);s!==null&&this.callbacks.getOrInsertComputed(s,pe).push({callback:i,options:a,modifiers:c})}}}static#e(t){let n=null,r=0;for(let i of t.split(`+`)){if(i=i.trim(),!i)continue;let a=i.toUpperCase(),o=e[a];if(o){r|=o;continue}if(n!==null){T(`KeyboardManager: multiple keys in shortcut "${t}"`);break}n=a===`SPACE`?` `:i}return n===null&&T(`KeyboardManager: no key found in shortcut "${t}"`),[n,r]}static#t(e){let t=/^(?:Key([A-Z])|(?:Digit|Numpad)(\d))$/.exec(e);return t?t[1]?.toLowerCase()??t[2]:null}exec(t,n){let r=this.callbacks.get(n.key);if(!r){if(/^[a-z]$/i.test(n.key))return;let t=e.#t(n.code);if(t===null||t===n.key||(r=this.callbacks.get(t),!r))return}let i=(n.altKey?e.ALT:0)|(n.ctrlKey?e.CTRL:0)|(n.metaKey?e.META:0)|(n.shiftKey?e.SHIFT:0),a=r.find(e=>e.modifiers===i);if(!a)return;let{callback:o,options:{bubbles:s=!1,args:c=[],checker:l=null}}=a;l&&!l(t,n)||(o.bind(t,...c,n)(),s||z(n))}},rt=class e{static _colorsMapping=new Map([[`CanvasText`,[0,0,0]],[`Canvas`,[255,255,255]]]);get _colors(){let e=new Map([[`CanvasText`,null],[`Canvas`,null]]);return Pe(e),M(this,`_colors`,e)}convert(t){let n=Ne(t);if(!window.matchMedia(`(forced-colors: active)`).matches)return n;for(let[t,r]of this._colors)if(r.every((e,t)=>e===n[t]))return e._colorsMapping.get(t);return n}getHexCode(e){let t=this._colors.get(e);return t?I.makeHexColor(...t):e}},it=class e{#e=new AbortController;#t=null;#n=null;#r=new Map;#i=new Map;#a=null;#o=null;#s=null;#c=null;#l=new tt;#u=null;#d=null;#f=null;#p=0;#m=new Set;#h=null;#g=null;#_=new Set;_editorUndoBar=null;#v=!1;#y=!1;#b=!1;#x=null;#S=null;#C=null;#w=null;#T=!1;#E=null;#D=new $e;#O=!1;#k=!1;#A=!1;#j=null;#M=null;#N=null;#P=null;#F=null;#I=u.NONE;#L=new Set;#R=null;#z=null;#B=null;#V=null;#H=null;#U={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#W=[0,0];#G=null;#K=null;#q=null;#J=null;#Y=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){let t=e.prototype,n=e=>e.#K.contains(document.activeElement)&&document.activeElement.tagName!==`BUTTON`&&e.hasSomethingToControl(),r=(e,{target:t})=>{if(t instanceof HTMLInputElement){let{type:e}=t;return e!==`text`&&e!==`number`}return!0},i=this.TRANSLATE_SMALL,a=this.TRANSLATE_BIG;return M(this,`_keyboardManager`,new nt([[[`ctrl+a`,`mac+meta+a`],t.selectAll,{checker:r}],[[`ctrl+z`,`mac+meta+z`],t.undo,{checker:r}],[[`ctrl+y`,`ctrl+shift+z`,`mac+meta+shift+z`,`ctrl+shift+Z`,`mac+meta+shift+Z`],t.redo,{checker:r}],[[`Backspace`,`alt+Backspace`,`ctrl+Backspace`,`shift+Backspace`,`mac+Backspace`,`mac+alt+Backspace`,`mac+ctrl+Backspace`,`Delete`,`ctrl+Delete`,`shift+Delete`,`mac+Delete`],t.delete,{checker:r}],[[`Enter`],t.addNewEditorFromKeyboard,{checker:(e,{target:t})=>!(t instanceof HTMLButtonElement)&&e.#K.contains(t)&&!e.isEnterHandled}],[[`Space`],t.addNewEditorFromKeyboard,{checker:(e,{target:t})=>!(t instanceof HTMLButtonElement)&&e.#K.contains(document.activeElement)}],[[`Escape`],t.unselectAll],[[`ArrowLeft`],t.translateSelectedEditors,{args:[-i,0],checker:n}],[[`ctrl+ArrowLeft`,`mac+shift+ArrowLeft`],t.translateSelectedEditors,{args:[-a,0],checker:n}],[[`ArrowRight`],t.translateSelectedEditors,{args:[i,0],checker:n}],[[`ctrl+ArrowRight`,`mac+shift+ArrowRight`],t.translateSelectedEditors,{args:[a,0],checker:n}],[[`ArrowUp`],t.translateSelectedEditors,{args:[0,-i],checker:n}],[[`ctrl+ArrowUp`,`mac+shift+ArrowUp`],t.translateSelectedEditors,{args:[0,-a],checker:n}],[[`ArrowDown`],t.translateSelectedEditors,{args:[0,i],checker:n}],[[`ctrl+ArrowDown`,`mac+shift+ArrowDown`],t.translateSelectedEditors,{args:[0,a],checker:n}]]))}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=this._signal=this.#e.signal;this.#K=e,this.#q=t,this.#J=n,this.#o=r,this.#u=i,this.#z=a,this.#H=s,this._eventBus=o;let _={signal:g,...Ze};o.on(`editingaction`,this.onEditingAction.bind(this),_),o.on(`pagechanging`,this.onPageChanging.bind(this),_),o.on(`scalechanging`,this.onScaleChanging.bind(this),_),o.on(`rotationchanging`,this.onRotationChanging.bind(this),_),o.on(`setpreference`,this.onSetPreference.bind(this),_),o.on(`switchannotationeditorparams`,e=>this.updateParams(e.type,e.value),_),window.addEventListener(`pointerdown`,()=>{this.#k=!0},{capture:!0,signal:g}),window.addEventListener(`pointerup`,()=>{this.#k=!1},{capture:!0,signal:g}),window.addEventListener(`beforeunload`,this.endCurrentEditing.bind(this),{capture:!0,signal:g}),this.#te(),this.#ce(),this.#ie(),this.#s=s.annotationStorage,this.#x=s.filterFactory,this.#B=c,this.#w=l||null,this.#v=u,this.#y=d,this.#b=f,this.#F=p||null,this.viewParameters={realScale:Se.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=m||null,this._supportsPinchToZoom=h!==!1,i?.setSidebarUiManager(this)}destroy(){this.#Y?.resolve(),this.#Y=null,this.#e?.abort(),this.#e=null,this._signal=null;for(let e of this.#i.values())e.destroy();this.#i.clear(),this.#r.clear(),this.#_.clear(),this.#P?.clear(),this.#t=null,this.#L.clear(),this.#l.destroy(),this.#o?.destroy(),this.#u?.destroy(),this.#z?.destroy(),this.#E?.hide(),this.#E=null,this.#N?.destroy(),this.#N=null,this.#n=null,this.#S&&=(clearTimeout(this.#S),null),this.#G&&=(clearTimeout(this.#G),null),this._editorUndoBar?.destroy(),this.#H=null}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return this.#F}get useNewAltTextFlow(){return this.#y}get useNewAltTextWhenAddingImage(){return this.#b}get hcmFilter(){return M(this,`hcmFilter`,this.#B?this.#x.addHCMFilter(this.#B.foreground,this.#B.background):`none`)}get direction(){return M(this,`direction`,getComputedStyle(this.#K).direction)}get _highlightColors(){return M(this,`_highlightColors`,this.#w?new Map(this.#w.split(`,`).map(e=>(e=e.split(`=`).map(e=>e.trim()),e[1]=e[1].toUpperCase(),e))):null)}get highlightColors(){let{_highlightColors:e}=this;if(!e)return M(this,`highlightColors`,null);let t=new Map,n=!!this.#B;for(let[r,i]of e){let e=r.endsWith(`_HCM`);if(n&&e){t.set(r.replace(`_HCM`,``),i);continue}!n&&!e&&t.set(r,i)}return M(this,`highlightColors`,t)}get highlightColorNames(){return M(this,`highlightColorNames`,this.highlightColors?new Map(Array.from(this.highlightColors,e=>e.reverse())):null)}getNonHCMColor(e){if(!this._highlightColors)return e;let t=this.highlightColorNames.get(e);return this._highlightColors.get(t)||e}getNonHCMColorName(e){return this.highlightColorNames.get(e)||e}setCurrentDrawingSession(e){e?(this.unselectAll(),this.disableUserSelect(!0)):this.disableUserSelect(!1),this.#f=e}setMainHighlightColorPicker(e){this.#N=e}editAltText(e,t=!1){this.#o?.editAltText(this,e,t)}hasCommentManager(){return!!this.#u}editComment(e,t,n,r){this.#u?.showDialog(this,e,t,n,r)}selectComment(e,t){(this.#i.get(e)?.getEditorByUID(t))?.toggleComment(!0,!0)}updateComment(e){this.#u?.updateComment(e.getData())}updatePopupColor(e){this.#u?.updatePopupColor(e)}removeComment(e){this.#u?.removeComments([e.uid])}deleteComment(e,t){let n=()=>{e.comment=t};this.addCommands({cmd:()=>{this._editorUndoBar?.show(n,`comment`),this.toggleComment(null),e.comment=null},undo:n,mustExec:!0})}toggleComment(e,t,n=void 0){this.#u?.toggleCommentPopup(e,t,n)}makeCommentColor(e,t){return e&&this.#u?.makeCommentColor(e,t)||null}getCommentDialogElement(){return this.#u?.dialogElement||null}async waitForEditorsRendered(e){if(this.#i.has(e-1))return;let{resolve:t,promise:n}=Promise.withResolvers(),r=n=>{n.pageNumber===e&&(this._eventBus.off(`editorsrendered`,r),t())};this._eventBus.on(`editorsrendered`,r,Ze),await n}getSignature(e){this.#z?.getSignature({uiManager:this,editor:e})}get signatureManager(){return this.#z}switchToMode(e,t){this._eventBus.on(`annotationeditormodechanged`,t,{once:!0,signal:this._signal,...Ze}),this._eventBus.dispatch(`showannotationeditorui`,{source:this,mode:e})}setPreference(e,t){this._eventBus.dispatch(`setpreference`,{source:this,name:e,value:t})}onSetPreference({name:e,value:t}){e===`enableNewAltTextWhenAddingImage`&&(this.#b=t)}onPageChanging({pageNumber:e}){this.#p=e-1}deletePage(e){for(let t of this.getEditors(e))t.remove();this.#i.delete(e),this.#p===e&&(this.#p=0)}focusMainContainer(){this.#K.focus()}findParent(e,t){for(let n of this.#i.values()){let{x:r,y:i,width:a,height:o}=n.div.getBoundingClientRect();if(e>=r&&e<=r+a&&t>=i&&t<=i+o)return n}return null}disableUserSelect(e=!1){this.#q.classList.toggle(`noUserSelect`,e)}addShouldRescale(e){this.#_.add(e)}removeShouldRescale(e){this.#_.delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*Se.PDF_TO_CSS_UNITS;for(let e of this.#_)e.onScaleChanging();this.#f?.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}#X({anchorNode:e}){return e.nodeType===Node.TEXT_NODE?e.parentElement:e}#Z(e){let{currentLayer:t}=this;if(t.hasTextLayer(e))return t;for(let t of this.#i.values())if(t.hasTextLayer(e))return t;return null}highlightSelection(e=``,t=!1){let n=document.getSelection();if(!n||n.isCollapsed)return;let{anchorNode:r,anchorOffset:i,focusNode:a,focusOffset:o}=n,s=n.toString(),c=this.#X(n).closest(`.textLayer`),l=this.getSelectionBoxes(c);if(!l)return;n.empty();let d=this.#Z(c),f=this.#I===u.NONE,p=()=>{let n=d?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:l,anchorNode:r,anchorOffset:i,focusNode:a,focusOffset:o,text:s});f&&this.showAllEditors(`highlight`,!0,!0),t&&n?.editComment()};if(f){this.switchToMode(u.HIGHLIGHT,p);return}p()}commentSelection(e=``){this.highlightSelection(e,!0)}endCurrentEditing(){this.commitOrRemove(),this.currentLayer?.endDrawingSession(!1)}#Q(){let e=document.getSelection();if(!e||e.isCollapsed)return;let t=this.#X(e).closest(`.textLayer`),n=this.getSelectionBoxes(t);n&&(this.#E||=new Xe(this),this.#E.show(t,n,this.direction===`ltr`))}getAndRemoveDataFromAnnotationStorage(e){if(!this.#s)return null;let t=`${l}${e}`,n=this.#s.getRawValue(t);return n&&this.#s.remove(t),n}addToAnnotationStorage(e){!e.isEmpty()&&this.#s&&!this.#s.has(e.id)&&this.#s.setValue(e.id,e)}a11yAlert(e,t=null){let n=this.#J;n&&(n.setAttribute(`data-l10n-id`,e),t?n.setAttribute(`data-l10n-args`,JSON.stringify(t)):n.removeAttribute(`data-l10n-args`))}#$(){let e=document.getSelection();if(!e||e.isCollapsed){this.#R&&(this.#E?.hide(),this.#R=null,this.#le({hasSelectedText:!1}));return}let{anchorNode:t}=e;if(t===this.#R)return;let n=this.#X(e).closest(`.textLayer`);if(!n){this.#R&&(this.#E?.hide(),this.#R=null,this.#le({hasSelectedText:!1}));return}if(this.#E?.hide(),this.#R=t,this.#le({hasSelectedText:!0}),(this.#I===u.HIGHLIGHT||this.#I===u.NONE)&&(this.#I===u.HIGHLIGHT&&this.showAllEditors(`highlight`,!0,!0),this.#T=this.isShiftKeyDown,!this.isShiftKeyDown)){let e=this.#I===u.HIGHLIGHT?this.#Z(n):null;if(e?.toggleDrawing(),this.#k){let t=new AbortController,n=this.combinedSignal(t),r=n=>{(n.type!==`pointerup`||n.button===0)&&(t.abort(),e?.toggleDrawing(!0),n.type===`pointerup`&&this.#ee(`main_toolbar`))};window.addEventListener(`pointerup`,r,{signal:n}),window.addEventListener(`blur`,r,{signal:n})}else e?.toggleDrawing(!0),this.#ee(`main_toolbar`)}}#ee(e=``){this.#I===u.HIGHLIGHT?this.highlightSelection(e):this.#v&&this.#Q()}#te(){document.addEventListener(`selectionchange`,this.#$.bind(this),{signal:this._signal})}#ne(){if(this.#C)return;this.#C=new AbortController;let e=this.combinedSignal(this.#C);window.addEventListener(`focus`,this.focus.bind(this),{signal:e}),window.addEventListener(`blur`,this.blur.bind(this),{signal:e})}#re(){this.#C?.abort(),this.#C=null}blur(){if(this.isShiftKeyDown=!1,this.#T&&(this.#T=!1,this.#ee(`main_toolbar`)),!this.hasSelection)return;let{activeElement:e}=document;for(let t of this.#L)if(t.div.contains(e)){this.#M=[t,e],t._focusEventsAllowed=!1;break}}focus(){if(!this.#M)return;let[e,t]=this.#M;this.#M=null,t.addEventListener(`focusin`,()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),t.focus()}#ie(){if(this.#j)return;this.#j=new AbortController;let e=this.combinedSignal(this.#j);window.addEventListener(`keydown`,this.keydown.bind(this),{signal:e}),window.addEventListener(`keyup`,this.keyup.bind(this),{signal:e})}#ae(){this.#j?.abort(),this.#j=null}#oe(){if(this.#d)return;this.#d=new AbortController;let e=this.combinedSignal(this.#d);document.addEventListener(`copy`,this.copy.bind(this),{signal:e}),document.addEventListener(`cut`,this.cut.bind(this),{signal:e}),document.addEventListener(`paste`,this.paste.bind(this),{signal:e})}#se(){this.#d?.abort(),this.#d=null}#ce(){let e=this._signal;document.addEventListener(`dragover`,this.dragOver.bind(this),{signal:e}),document.addEventListener(`drop`,this.drop.bind(this),{signal:e})}addEditListeners(){this.#ie(),this.setEditingState(!0)}removeEditListeners(){this.#ae(),this.setEditingState(!1)}dragOver(e){for(let{type:t}of e.dataTransfer.items)for(let n of this.#g)if(n.isHandlingMimeForPasting(t)){e.dataTransfer.dropEffect=`copy`,e.preventDefault();return}}drop(e){for(let t of e.dataTransfer.items)for(let n of this.#g)if(n.isHandlingMimeForPasting(t.type)){n.paste(t,this.currentLayer),e.preventDefault();return}}copy(e){if(e.preventDefault(),this.#t?.commitOrRemove(),!this.hasSelection)return;let t=[];for(let e of this.#L){let n=e.serialize(!0);n&&t.push(n)}t.length!==0&&e.clipboardData.setData(`application/pdfjs`,JSON.stringify(t))}cut(e){this.copy(e),this.delete()}async paste(e){e.preventDefault();let{clipboardData:t}=e;for(let e of t.items)for(let t of this.#g)if(t.isHandlingMimeForPasting(e.type)){t.paste(e,this.currentLayer);return}let n=t.getData(`application/pdfjs`);if(!n)return;try{n=JSON.parse(n)}catch(e){T(`paste: "${e.message}".`);return}if(!Array.isArray(n))return;this.unselectAll();let r=this.currentLayer;try{let e=[];for(let t of n){let n=await r.deserialize(t);if(!n)return;e.push(n)}this.addCommands({cmd:()=>{for(let t of e)this.#pe(t);this.#ge(e)},undo:()=>{for(let t of e)t.remove()},mustExec:!0})}catch(e){T(`paste: "${e.message}".`)}}keydown(t){!this.isShiftKeyDown&&t.key===`Shift`&&(this.isShiftKeyDown=!0),this.#I!==u.NONE&&!this.isEditorHandlingKeyboard&&e._keyboardManager.exec(this,t)}keyup(e){this.isShiftKeyDown&&e.key===`Shift`&&(this.isShiftKeyDown=!1,this.#T&&(this.#T=!1,this.#ee(`main_toolbar`)))}onEditingAction({name:e}){switch(e){case`undo`:case`redo`:case`delete`:case`selectAll`:this[e]();break;case`highlightSelection`:this.highlightSelection(`context_menu`);break;case`commentSelection`:this.commentSelection(`context_menu`)}}updatePageIndex(e,t){for(let n of this.getEditors(e))n.pageIndex=t;let n=this.#a.get(e);n&&(n.pageIndex=t,this.#i.set(t,n),this.#O?n.enable():n.disable())}startUpdatePages(){this.#a=new Map(this.#i),this.#i.clear()}endUpdatePages(){this.#a=null}clonePage(e,t){for(let n of this.getEditors(e)){let e=n.serialize(n.mode!==u.HIGHLIGHT);e&&(e.pageIndex=t,e.id=this.getId(),e.isClone=!0,delete e.popupRef,this.#s.setValue(e.id,e))}}findClonesForPage(e){let t=[],{pageIndex:n}=e;for(let[r,i]of this.#s)i.pageIndex===n&&i.isClone&&(this.#s.remove(r),t.push(e.deserialize(i).then(t=>{t&&(t.isClone=!0,e.addOrRebuild(t))})));return Promise.all(t)}#le(e){Object.entries(e).some(([e,t])=>this.#U[e]!==t)&&(this._eventBus.dispatch(`editingstateschanged`,{source:this,details:Object.assign(this.#U,e)}),this.#I===u.HIGHLIGHT&&e.hasSelectedEditor===!1&&this.#ue([[d.HIGHLIGHT_FREE,!0]]))}#ue(e){this._eventBus.dispatch(`annotationeditorparamschanged`,{source:this,details:e})}setEditingState(e){e?(this.#ne(),this.#oe(),this.#le({isEditing:this.#I!==u.NONE,isEmpty:this.#he(),hasSomethingToUndo:this.#l.hasSomethingToUndo(),hasSomethingToRedo:this.#l.hasSomethingToRedo(),hasSelectedEditor:!1})):(this.#re(),this.#se(),this.#le({isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e){if(!this.#g){this.#g=e;for(let e of this.#g)this.#ue(e.defaultPropertiesToUpdate)}}getId(){return this.#D.id}get currentLayer(){return this.#i.get(this.#p)}getLayer(e){return this.#i.get(e)}get currentPageIndex(){return this.#p}addLayer(e){this.#i.set(e.pageIndex,e),this.#O?e.enable():e.disable()}removeLayer(e){this.#i.delete(e.pageIndex)}async updateMode(e,t=null,n=!1,r=!1,i=!1,a=!1){if(this.#I!==e&&!(this.#Y&&(await this.#Y.promise,!this.#Y))){if(this.#Y=Promise.withResolvers(),this.#f?.commitOrRemove(),this.#I===u.POPUP&&this.#u?.hideSidebar(),this.#u?.destroyPopup(),this.#I=e,e===u.NONE){this.setEditingState(!1),this.#fe();for(let e of this.#r.values())e.hideStandaloneCommentButton();this._editorUndoBar?.hide(),this.toggleComment(null),this.#Y.resolve();return}for(let e of this.#r.values())e.addStandaloneCommentButton();e===u.SIGNATURE&&await this.#z?.loadSignatures(),n&&H.clearPointerType(),this.setEditingState(!0),await this.#de(),this.unselectAll();for(let t of this.#i.values())t.updateMode(e);if(e===u.POPUP){this.#n||=await this.#H.getAnnotationsByType(new Set(this.#g.map(e=>e._editorType)));let e=new Set,t=[];for(let n of this.#r.values()){let{annotationElementId:r,hasComment:i,deleted:a}=n;r&&e.add(r),i&&!a&&t.push(n.getData())}for(let n of this.#n){let{id:r,popupRef:i,contentsObj:a}=n;i&&a?.str&&!e.has(r)&&!this.#m.has(r)&&t.push(n)}this.#u?.showSidebar(t)}if(!t){r&&this.addNewEditorFromKeyboard(),this.#Y.resolve();return}for(let e of this.#r.values())e.uid===t?(this.setSelected(e),a?e.editComment():i?e.enterInEditMode():e.focus()):e.unselect();this.#Y.resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e){e.mode!==this.#I&&this._eventBus.dispatch(`switchannotationeditormode`,{source:this,...e})}updateParams(e,t){if(this.#g){switch(e){case d.CREATE:this.currentLayer.addNewEditor(t);return;case d.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch(`reporttelemetry`,{source:this,details:{type:`editing`,data:{type:`highlight`,action:`toggle_visibility`}}}),(this.#V||=new Map).set(e,t),this.showAllEditors(`highlight`,t)}if(this.hasSelection)for(let n of this.#L)n.updateParams(e,t);else for(let n of this.#g)n.updateDefaultParams(e,t)}}showAllEditors(e,t,n=!1){for(let n of this.#r.values())n.editorType===e&&n.show(t);(this.#V?.get(d.HIGHLIGHT_SHOW_ALL)??!0)!==t&&this.#ue([[d.HIGHLIGHT_SHOW_ALL,t]])}enableWaiting(e=!1){if(this.#A!==e){this.#A=e;for(let t of this.#i.values())e?t.disableClick():t.enableClick(),t.div.classList.toggle(`waiting`,e)}}async#de(){if(!this.#O){this.#O=!0;let e=[];for(let t of this.#i.values())e.push(t.enable());await Promise.all(e);for(let e of this.#r.values())e.enable()}}#fe(){if(this.unselectAll(),this.#O){this.#O=!1;for(let e of this.#i.values())e.disable();for(let e of this.#r.values())e.disable()}}*getEditors(e){for(let t of this.#r.values())t.pageIndex===e&&(yield t)}getEditor(e){return this.#r.get(e)}addEditor(e){this.#r.set(e.id,e)}removeEditor(e){e.div.contains(document.activeElement)&&(this.#S&&clearTimeout(this.#S),this.#S=setTimeout(()=>{this.focusMainContainer(),this.#S=null},0)),this.#r.delete(e.id),e.annotationElementId&&this.#P?.delete(e.annotationElementId),this.unselect(e),(!e.annotationElementId||!this.#m.has(e.annotationElementId))&&this.#s?.remove(e.id)}addDeletedAnnotationElement(e){this.#m.add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return this.#m.has(e)}removeDeletedAnnotationElement(e){this.#m.delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}#pe(e){let t=this.#i.get(e.pageIndex);t?t.addOrRebuild(e):(this.addEditor(e),this.addToAnnotationStorage(e))}setActiveEditor(e){this.#t!==e&&(this.#t=e,e&&this.#ue(e.propertiesToUpdate))}get#me(){let e=null;for(e of this.#L);return e}updateUI(e){this.#me===e&&this.#ue(e.propertiesToUpdate)}updateUIForDefaultProperties(e){this.#ue(e.defaultPropertiesToUpdate)}toggleSelected(e){if(this.#L.has(e)){this.#L.delete(e),e.unselect(),this.#le({hasSelectedEditor:this.hasSelection});return}this.#L.add(e),e.select(),this.#ue(e.propertiesToUpdate),this.#le({hasSelectedEditor:!0})}setSelected(e){this.updateToolbar({mode:e.mode,editId:e.uid}),this.#f?.commitOrRemove();for(let t of this.#L)t!==e&&t.unselect();this.#u?.destroyPopup(),this.#L.clear(),this.#L.add(e),e.select(),this.#ue(e.propertiesToUpdate),this.#le({hasSelectedEditor:!0})}get firstSelectedEditor(){return this.#L.values().next().value}unselect(e){e.unselect(),this.#L.delete(e),this.#le({hasSelectedEditor:this.hasSelection})}get hasSelection(){return this.#L.size!==0}get isEnterHandled(){return this.#L.size===1&&this.firstSelectedEditor.isEnterHandled}undo(){this.#l.undo(),this.#le({hasSomethingToUndo:this.#l.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#he()}),this._editorUndoBar?.hide()}redo(){this.#l.redo(),this.#le({hasSomethingToUndo:!0,hasSomethingToRedo:this.#l.hasSomethingToRedo(),isEmpty:this.#he()})}addCommands(e){this.#l.add(e),this.#le({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#he()})}cleanUndoStack(e){this.#l.cleanType(e)}#he(){if(this.#r.size===0)return!0;if(this.#r.size===1)for(let e of this.#r.values())return e.isEmpty();return!1}delete(){this.commitOrRemove();let e=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!e)return;let t=e?[e]:[...this.#L],n=()=>{this._editorUndoBar?.show(r,t.length===1?t[0].editorType:t.length);for(let e of t)e.remove()},r=()=>{for(let e of t)this.#pe(e)};this.addCommands({cmd:n,undo:r,mustExec:!0})}commitOrRemove(){this.#t?.commitOrRemove()}hasSomethingToControl(){return this.#t||this.hasSelection}#ge(e){for(let e of this.#L)e.unselect();this.#L.clear();for(let t of e)t.isEmpty()||(this.#L.add(t),t.select());this.#le({hasSelectedEditor:this.hasSelection})}selectAll(){for(let e of this.#L)e.commit();this.#ge(this.#r.values())}unselectAll(){if(!(this.#t&&(this.#t.commitOrRemove(),this.#I!==u.NONE))&&!this.#f?.commitOrRemove()&&(this.#u?.destroyPopup(),this.hasSelection)){for(let e of this.#L)e.unselect();this.#L.clear(),this.#le({hasSelectedEditor:!1})}}translateSelectedEditors(e,t,n=!1){if(n||this.commitOrRemove(),!this.hasSelection)return;this.#W[0]+=e,this.#W[1]+=t;let[r,i]=this.#W,a=[...this.#L];this.#G&&clearTimeout(this.#G),this.#G=setTimeout(()=>{this.#G=null,this.#W[0]=this.#W[1]=0,this.addCommands({cmd:()=>{for(let e of a)this.#r.has(e.id)&&(e.translateInPage(r,i),e.translationDone())},undo:()=>{for(let e of a)this.#r.has(e.id)&&(e.translateInPage(-r,-i),e.translationDone())},mustExec:!1})},1e3);for(let n of a)n.translateInPage(e,t),n.translationDone()}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),this.#h=new Map;for(let e of this.#L)this.#h.set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!this.#h)return!1;this.disableUserSelect(!1);let e=this.#h;this.#h=null;let t=!1;for(let[{x:n,y:r,pageIndex:i},a]of e)a.newX=n,a.newY=r,a.newPageIndex=i,t||=n!==a.savedX||r!==a.savedY||i!==a.savedPageIndex;if(!t)return!1;let n=(e,t,n,r)=>{if(this.#r.has(e.id)){let i=this.#i.get(r);i?e._setParentAndPosition(i,t,n):(e.pageIndex=r,e.x=t,e.y=n)}};return this.addCommands({cmd:()=>{for(let[t,{newX:r,newY:i,newPageIndex:a}]of e)n(t,r,i,a)},undo:()=>{for(let[t,{savedX:r,savedY:i,savedPageIndex:a}]of e)n(t,r,i,a)},mustExec:!0}),!0}dragSelectedEditors(e,t){if(this.#h)for(let n of this.#h.keys())n.drag(e,t)}rebuild(e){if(e.parent===null){let t=this.getLayer(e.pageIndex);t?(t.changeParent(e),t.addOrRebuild(e)):(this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild())}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||this.#L.size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return this.#t===e}getActive(){return this.#t}getMode(){return this.#I}isEditingMode(){return this.#I!==u.NONE}get imageManager(){return M(this,`imageManager`,new et)}getSelectionBoxes(e){if(!e)return null;let t=document.getSelection();for(let n=0,r=t.rangeCount;n({x:(t-r)/a,y:1-(e+o-n)/i,width:s/a,height:o/i});break;case`180`:o=(e,t,o,s)=>({x:1-(e+o-n)/i,y:1-(t+s-r)/a,width:o/i,height:s/a});break;case`270`:o=(e,t,o,s)=>({x:1-(t+s-r)/a,y:(e-n)/i,width:s/a,height:o/i});break;default:o=(e,t,o,s)=>({x:(e-n)/i,y:(t-r)/a,width:o/i,height:s/a})}let s=[];for(let e=0,n=t.rangeCount;ee.stopPropagation(),{signal:r});let i=e=>{e.preventDefault(),this.#c._uiManager.editAltText(this.#c),this.#d&&this.#c._reportTelemetry({action:`pdfjs.image.alt_text.image_status_label_clicked`,data:{label:this.#p}})};return t.addEventListener(`click`,i,{capture:!0,signal:r}),t.addEventListener(`keydown`,e=>{e.target===t&&e.key===`Enter`&&(this.#o=!0,i(e))},{signal:r}),await this.#m(),t}get#p(){return this.#e&&`added`||this.#e===null&&this.guessedText&&`review`||`missing`}finish(){this.#n&&(this.#n.focus({focusVisible:this.#o}),this.#o=!1)}isEmpty(){return this.#d?this.#e===null:!this.#e&&!this.#t}hasData(){return this.#d?this.#e!==null||!!this.#l:this.isEmpty()}get guessedText(){return this.#l}async setGuessedText(t){this.#e===null&&(this.#l=t,this.#u=await e._l10n.get(`pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer`,{generatedAltText:t}),this.#m())}toggleAltTextBadge(e=!1){if(!this.#d||this.#e){this.#s?.remove(),this.#s=null;return}if(!this.#s){let e=this.#s=document.createElement(`div`);e.className=`noAltTextBadge`,this.#c.div.append(e)}this.#s.classList.toggle(`hidden`,!e)}serialize(e){let t=this.#e;return!e&&this.#l===t&&(t=this.#u),{altText:t,decorative:this.#t,guessedText:this.#l,textWithDisclaimer:this.#u}}get data(){return{altText:this.#e,decorative:this.#t}}set data({altText:e,decorative:t,guessedText:n,textWithDisclaimer:r,cancel:i=!1}){n&&(this.#l=n,this.#u=r),(this.#e!==e||this.#t!==t)&&(i||(this.#e=e,this.#t=t),this.#m())}toggle(e=!1){this.#n&&(!e&&this.#a&&(clearTimeout(this.#a),this.#a=null),this.#n.disabled=!e)}shown(){this.#c._reportTelemetry({action:`pdfjs.image.alt_text.image_status_label_displayed`,data:{label:this.#p}})}destroy(){this.#n?.remove(),this.#n=null,this.#r=null,this.#i=null,this.#s?.remove(),this.#s=null}async#m(){let t=this.#n;if(!t)return;if(this.#d){if(t.classList.toggle(`done`,!!this.#e),t.setAttribute(`data-l10n-id`,e.#f[this.#p]),this.#r?.setAttribute(`data-l10n-id`,e.#f[`${this.#p}-label`]),!this.#e){this.#i?.remove();return}}else{if(!this.#e&&!this.#t){t.classList.remove(`done`),this.#i?.remove();return}t.classList.add(`done`),t.setAttribute(`data-l10n-id`,`pdfjs-editor-alt-text-edit-button`)}let n=this.#i;if(!n){this.#i=n=document.createElement(`span`),n.className=`tooltip`,n.setAttribute(`role`,`tooltip`),n.id=`alt-text-tooltip-${this.#c.id}`;let e=this.#c._uiManager._signal;e.addEventListener(`abort`,()=>{clearTimeout(this.#a),this.#a=null},{once:!0}),t.addEventListener(`mouseenter`,()=>{this.#a=setTimeout(()=>{this.#a=null,this.#i.classList.add(`show`),this.#c._reportTelemetry({action:`alt_text_tooltip`})},100)},{signal:e}),t.addEventListener(`mouseleave`,()=>{this.#a&&=(clearTimeout(this.#a),null),this.#i?.classList.remove(`show`)},{signal:e})}this.#t?n.setAttribute(`data-l10n-id`,`pdfjs-editor-alt-text-decorative-tooltip`):(n.removeAttribute(`data-l10n-id`),n.textContent=this.#e),n.parentNode||t.append(n),this.#c.getElementForAltText()?.setAttribute(`aria-describedby`,n.id)}},ot=class{#e=null;#t=null;#n=!1;#r=null;#i=null;#a=null;#o=null;#s=null;#c=!1;#l=null;constructor(e){this.#r=e}renderForToolbar(){let e=this.#t=document.createElement(`button`);return e.className=`comment`,this.#u(e,!1)}renderForStandalone(){let e=this.#e=document.createElement(`button`);e.className=`annotationCommentButton`;let t=this.#r.commentButtonPosition;if(t){let{style:n}=e;n.insetInlineEnd=`calc(${100*(this.#r._uiManager.direction===`ltr`?1-t[0]:t[0])}% - var(--comment-button-dim))`,n.top=`calc(${100*t[1]}% - var(--comment-button-dim))`;let r=this.#r.commentButtonColor;r&&(n.backgroundColor=r)}return this.#u(e,!0)}focusButton(){setTimeout(()=>{(this.#e??this.#t)?.focus()},0)}onUpdatedColor(){if(!this.#e)return;let e=this.#r.commentButtonColor;e&&(this.#e.style.backgroundColor=e),this.#r._uiManager.updatePopupColor(this.#r)}get commentButtonWidth(){return(this.#e?.getBoundingClientRect().width??0)/this.#r.parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(this.#l)return this.#l;if(!this.#e)return null;let{x:e,y:t,height:n}=this.#e.getBoundingClientRect(),{x:r,y:i,width:a,height:o}=this.#r.parent.boundingClientRect;return[(e-r)/a,(t+n-i)/o]}set commentPopupPositionInLayer(e){this.#l=e}hasDefaultPopupPosition(){return this.#l===null}removeStandaloneCommentButton(){this.#e?.remove(),this.#e=null}removeToolbarCommentButton(){this.#t?.remove(),this.#t=null}setCommentButtonStates({selected:e,hasPopup:t}){this.#e&&(this.#e.classList.toggle(`selected`,e),this.#e.ariaExpanded=t)}#u(e,t){if(!this.#r._uiManager.hasCommentManager())return null;e.tabIndex=`0`,e.ariaHasPopup=`dialog`,t?(e.ariaControls=`commentPopup`,e.setAttribute(`data-l10n-id`,`pdfjs-show-comment-button`)):(e.ariaControlsElements=[this.#r._uiManager.getCommentDialogElement()],e.setAttribute(`data-l10n-id`,`pdfjs-editor-add-comment-button`));let n=this.#r._uiManager._signal;if(!(n instanceof AbortSignal)||n.aborted)return e;e.addEventListener(`contextmenu`,R,{signal:n}),t&&(e.addEventListener(`focusin`,e=>{this.#r._focusEventsAllowed=!1,z(e)},{capture:!0,signal:n}),e.addEventListener(`focusout`,e=>{this.#r._focusEventsAllowed=!0,z(e)},{capture:!0,signal:n})),e.addEventListener(`pointerdown`,e=>e.stopPropagation(),{signal:n});let r=t=>{t.preventDefault(),e===this.#t?this.edit():this.#r.toggleComment(!0)};return e.addEventListener(`click`,r,{capture:!0,signal:n}),e.addEventListener(`keydown`,t=>{t.target===e&&t.key===`Enter`&&(this.#n=!0,r(t))},{signal:n}),e.addEventListener(`pointerenter`,()=>{this.#r.toggleComment(!1,!0)},{signal:n}),e.addEventListener(`pointerleave`,()=>{this.#r.toggleComment(!1,!1)},{signal:n}),e}edit(e){let t=this.commentPopupPositionInLayer,n,r;if(t)[n,r]=t;else{[n,r]=this.#r.commentButtonPosition;let{width:e,height:t,x:i,y:a}=this.#r;n=i+n*e,r=a+r*t}let i=this.#r.parent.boundingClientRect,{x:a,y:o,width:s,height:c}=i;this.#r._uiManager.editComment(this.#r,a+n*s,o+r*c,{...e,parentDimensions:i})}finish(){this.#t&&(this.#t.focus({focusVisible:this.#n}),this.#n=!1)}isDeleted(){return this.#c||this.#o===``}isEmpty(){return this.#o===null}hasBeenEdited(){return this.isDeleted()||this.#o!==this.#i}serialize(){return this.data}get data(){return{text:this.#o,richText:this.#a,date:this.#s,deleted:this.isDeleted()}}set data(e){if(e!==this.#o&&(this.#a=null),e===null){this.#o=``,this.#c=!0;return}this.#o=e,this.#s=new Date,this.#c=!1}restoreData({text:e,richText:t,date:n}){this.#o=e,this.#a=t,this.#s=n,this.#c=!1}setInitialText(e,t=null){this.#i=e,this.data=e,this.#s=null,this.#a=t}shown(){}destroy(){this.#t?.remove(),this.#t=null,this.#e?.remove(),this.#e=null,this.#o=``,this.#a=null,this.#s=null,this.#r=null,this.#n=!1,this.#c=!1}},st=class e{#e;#t=!1;#n=null;#r;#i;#a;#o;#s=null;#c;#l=null;#u;#d=null;constructor({container:e,isPinchingDisabled:t=null,isPinchingStopped:n=null,onPinchStart:r=null,onPinching:i=null,onPinchEnd:a=null,signal:o}){this.#e=e,this.#n=n,this.#r=t,this.#i=r,this.#a=i,this.#o=a,this.#u=new AbortController,this.#c=AbortSignal.any([o,this.#u.signal]),e.addEventListener(`touchstart`,this.#f.bind(this),{passive:!1,signal:this.#c})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/Ie.pixelRatio}#f(e){if(this.#r?.())return;if(e.touches.length===1){if(this.#s)return;let e=this.#s=new AbortController,t=AbortSignal.any([this.#c,e.signal]),n=this.#e,r={capture:!0,signal:t,passive:!1},i=e=>{e.pointerType===`touch`&&(this.#s?.abort(),this.#s=null)};n.addEventListener(`pointerdown`,e=>{e.pointerType===`touch`&&(z(e),i(e))},r),n.addEventListener(`pointerup`,i,r),n.addEventListener(`pointercancel`,i,r);return}if(!this.#d){this.#d=new AbortController;let e=AbortSignal.any([this.#c,this.#d.signal]),t=this.#e,n={signal:e,capture:!1,passive:!1};t.addEventListener(`touchmove`,this.#p.bind(this),n);let r=this.#m.bind(this);t.addEventListener(`touchend`,r,n),t.addEventListener(`touchcancel`,r,n),n.capture=!0,t.addEventListener(`pointerdown`,z,n),t.addEventListener(`pointermove`,z,n),t.addEventListener(`pointercancel`,z,n),t.addEventListener(`pointerup`,z,n),this.#i?.()}if(z(e),e.touches.length!==2||this.#n?.()){this.#l=null;return}let[t,n]=e.touches;t.identifier>n.identifier&&([t,n]=[n,t]),this.#l={touch0X:t.screenX,touch0Y:t.screenY,touch1X:n.screenX,touch1Y:n.screenY}}#p(t){if(!this.#l||t.touches.length!==2)return;z(t);let[n,r]=t.touches;n.identifier>r.identifier&&([n,r]=[r,n]);let{screenX:i,screenY:a}=n,{screenX:o,screenY:s}=r,c=this.#l,{touch0X:l,touch0Y:u,touch1X:d,touch1Y:f}=c,p=d-l,m=f-u,h=o-i,g=s-a,_=Math.hypot(h,g)||1,v=Math.hypot(p,m)||1;if(!this.#t&&Math.abs(v-_)<=e.MIN_TOUCH_DISTANCE_TO_PINCH)return;if(c.touch0X=i,c.touch0Y=a,c.touch1X=o,c.touch1Y=s,!this.#t){this.#t=!0;return}let y=[(i+o)/2,(a+s)/2];this.#a?.(y,v,_)}#m(e){e.touches.length>=2||(this.#d&&(this.#d.abort(),this.#d=null,this.#o?.()),this.#l&&(z(e),this.#l=null,this.#t=!1))}destroy(){this.#u?.abort(),this.#u=null,this.#s?.abort(),this.#s=null}},U=class e{#e=null;#t=null;#n=null;#r=null;#i=null;#a=!1;#o=null;#s=``;#c=null;#l=null;#u=null;#d=null;#f=null;#p=``;#m=!1;#h=null;#g=!1;#_=!1;#v=!1;#y=null;#b=0;#x=0;#S=null;#C=null;isSelected=!1;_isCopy=!1;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nAlert=null;static _l10nResizer=null;#w=!1;#T=e._zIndex++;static _borderLineWidth=-1;static _colorManager=new rt;static _zIndex=1;static _telemetryTimeout=1e3;static get _resizerKeyboardManager(){let t=e.prototype._resizeWithKeyboard,n=it.TRANSLATE_SMALL,r=it.TRANSLATE_BIG;return M(this,`_resizerKeyboardManager`,new nt([[[`ArrowLeft`],t,{args:[-n,0]}],[[`ctrl+ArrowLeft`,`mac+shift+ArrowLeft`],t,{args:[-r,0]}],[[`ArrowRight`],t,{args:[n,0]}],[[`ctrl+ArrowRight`,`mac+shift+ArrowRight`],t,{args:[r,0]}],[[`ArrowUp`],t,{args:[0,-n]}],[[`ctrl+ArrowUp`,`mac+shift+ArrowUp`],t,{args:[0,-r]}],[[`ArrowDown`],t,{args:[0,n]}],[[`ctrl+ArrowDown`,`mac+shift+ArrowDown`],t,{args:[0,r]}],[[`Escape`],e.prototype._stopResizingWithKeyboard]]))}constructor(e){this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null,this.annotationElementId=e.annotationElementId||null,this.creationDate=e.creationDate||new Date,this.modificationDate=e.modificationDate||null,this.canAddComment=!0;let{rotation:t,rawDims:{pageWidth:n,pageHeight:r,pageX:i,pageY:a}}=this.parent.viewport;this.rotation=t,this.pageRotation=(360+t-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[n,r],this.pageTranslation=[i,a];let[o,s]=this.parentDimensions;this.x=e.x/o,this.y=e.y/s,this.isAttachedToDOM=!1,this.deleted=!1}updatePageIndex(e){this.pageIndex=e}get editorType(){return Object.getPrototypeOf(this).constructor._type}get mode(){return Object.getPrototypeOf(this).constructor._editorType}static get isDrawer(){return!1}static get _defaultLineColor(){return M(this,`_defaultLineColor`,this._colorManager.getHexCode(`CanvasText`))}static deleteAnnotationElement(e){let t=new ct({id:e._uiManager.getId(),parent:e.parent,uiManager:e._uiManager});t.annotationElementId=e.annotationElementId,t.deleted=!0,t._uiManager.addToAnnotationStorage(t)}static initialize(t,n){if(e._l10n??=t,e._l10nAlert??=Object.freeze({highlight:`pdfjs-editor-highlight-added-alert`,freetext:`pdfjs-editor-freetext-added-alert`,ink:`pdfjs-editor-ink-added-alert`,stamp:`pdfjs-editor-stamp-added-alert`,signature:`pdfjs-editor-signature-added-alert`}),e._l10nResizer??=Object.freeze({topLeft:`pdfjs-editor-resizer-top-left`,topMiddle:`pdfjs-editor-resizer-top-middle`,topRight:`pdfjs-editor-resizer-top-right`,middleRight:`pdfjs-editor-resizer-middle-right`,bottomRight:`pdfjs-editor-resizer-bottom-right`,bottomMiddle:`pdfjs-editor-resizer-bottom-middle`,bottomLeft:`pdfjs-editor-resizer-bottom-left`,middleLeft:`pdfjs-editor-resizer-middle-left`}),e._borderLineWidth!==-1)return;let r=getComputedStyle(document.documentElement);e._borderLineWidth=parseFloat(r.getPropertyValue(`--outline-width`))||0}static updateDefaultParams(e,t){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,t){E(`Not implemented`)}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#w}set _isDraggable(e){this.#w=e,this.div?.classList.toggle(`draggable`,e)}get uid(){return this.annotationElementId||this.id}get isEnterHandled(){return!0}center(){let[e,t]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*t/(e*2),this.y+=this.width*e/(t*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*t/(e*2),this.y-=this.width*e/(t*2);break;default:this.x-=this.width/2,this.y-=this.height/2}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#T}setParent(e){e===null?(this.#W(),this.#d?.remove(),this.#d=null):(this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions),this.parent=e}focusin(e){this._focusEventsAllowed&&(this.#m?this.#m=!1:this.parent.setSelected(this))}focusout(e){this._focusEventsAllowed&&this.isAttachedToDOM&&(e.relatedTarget?.closest(`#${this.id}`)||(e.preventDefault(),this.parent?.isMultipleSelection||this.commitOrRemove()))}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.isInEditMode()&&this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,t,n,r){let[i,a]=this.parentDimensions;[n,r]=this.screenToPageTranslation(n,r),this.x=(e+n)/i,this.y=(t+r)/a,this.fixAndSetPosition()}_moveAfterPaste(e,t){if(this.isClone){delete this.isClone;return}let[n,r]=this.parentDimensions;this.setAt(e*n,t*r,this.width*n,this.height*r),this._onTranslated()}#E([e,t],n,r){[n,r]=this.screenToPageTranslation(n,r),this.x+=n/e,this.y+=r/t,this._onTranslating(this.x,this.y),this.fixAndSetPosition()}translate(e,t){this.#E(this.parentDimensions,e,t)}translateInPage(e,t){this.#h||=[this.x,this.y,this.width,this.height],this.#E(this.pageDimensions,e,t),this.div.scrollIntoView({block:`nearest`})}translationDone(){this._onTranslated(this.x,this.y)}drag(e,t){this.#h||=[this.x,this.y,this.width,this.height];let{div:n,parentDimensions:[r,i]}=this;if(this.x+=e/r,this.y+=t/i,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){let{x:e,y:t}=this.div.getBoundingClientRect();this.parent.findNewParent(this,e,t)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:a,y:o}=this,[s,c]=this.getBaseTranslation();a+=s,o+=c;let{style:l}=n;l.left=`${(100*a).toFixed(2)}%`,l.top=`${(100*o).toFixed(2)}%`,this._onTranslating(a,o),n.scrollIntoView({block:`nearest`})}_onTranslating(e,t){}_onTranslated(e,t){}get _hasBeenMoved(){return!!this.#h&&(this.#h[0]!==this.x||this.#h[1]!==this.y)}get _hasBeenResized(){return!!this.#h&&(this.#h[2]!==this.width||this.#h[3]!==this.height)}getBaseTranslation(){let[t,n]=this.parentDimensions,{_borderLineWidth:r}=e,i=r/t,a=r/n;switch(this.rotation){case 90:return[-i,a];case 180:return[i,a];case 270:return[i,-a];default:return[-i,-a]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){let{div:{style:t},pageDimensions:[n,r]}=this,{x:i,y:a,width:o,height:s}=this;if(o*=n,s*=r,i*=n,a*=r,this._mustFixPosition)switch(e){case 0:i=L(i,0,n-o),a=L(a,0,r-s);break;case 90:i=L(i,0,n-s),a=L(a,o,r);break;case 180:i=L(i,o,n),a=L(a,s,r);break;case 270:i=L(i,s,n),a=L(a,0,r-o)}this.x=i/=n,this.y=a/=r;let[c,l]=this.getBaseTranslation();i+=c,a+=l,t.left=`${(100*i).toFixed(2)}%`,t.top=`${(100*a).toFixed(2)}%`,this.moveInDOM()}static#D(e,t,n){switch(n){case 90:return[t,-e];case 180:return[-e,-t];case 270:return[-t,e];default:return[e,t]}}screenToPageTranslation(t,n){return e.#D(t,n,this.parentRotation)}pageTranslationToScreen(t,n){return e.#D(t,n,360-this.parentRotation)}#O(e){switch(e){case 90:{let[e,t]=this.pageDimensions;return[0,-e/t,t/e,0]}case 180:return[-1,0,0,-1];case 270:{let[e,t]=this.pageDimensions;return[0,e/t,-t/e,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){let{parentScale:e,pageDimensions:[t,n]}=this;return[t*e,n*e]}setDims(){let{div:{style:e},width:t,height:n}=this;e.width=`${(100*t).toFixed(2)}%`,e.height=`${(100*n).toFixed(2)}%`}getInitialTranslation(){return[0,0]}#k(){if(this.#c)return;this.#c=document.createElement(`div`),this.#c.classList.add(`resizers`);let e=this._willKeepAspectRatio?[`topLeft`,`topRight`,`bottomRight`,`bottomLeft`]:[`topLeft`,`topMiddle`,`topRight`,`middleRight`,`bottomRight`,`bottomMiddle`,`bottomLeft`,`middleLeft`],t=this._uiManager._signal;for(let n of e){let e=document.createElement(`div`);this.#c.append(e),e.classList.add(`resizer`,n),e.setAttribute(`data-resizer-name`,n),e.addEventListener(`pointerdown`,this.#A.bind(this,n),{signal:t}),e.addEventListener(`contextmenu`,R,{signal:t}),e.tabIndex=-1}this.div.prepend(this.#c)}#A(e,t){t.preventDefault();let{isMac:n}=F.platform;if(t.button!==0||t.ctrlKey&&n)return;this.#n?.toggle(!1);let r=this._isDraggable;this._isDraggable=!1,this.#l=[t.screenX,t.screenY];let i=new AbortController,a=this._uiManager.combinedSignal(i);this.parent.togglePointerEvents(!1),window.addEventListener(`pointermove`,this.#N.bind(this,e),{passive:!0,capture:!0,signal:a}),window.addEventListener(`touchmove`,z,{passive:!1,signal:a}),window.addEventListener(`contextmenu`,R,{signal:a}),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let o=this.parent.div.style.cursor,s=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(t.target).cursor;let c=()=>{i.abort(),this.parent.togglePointerEvents(!0),this.#n?.toggle(!0),this._isDraggable=r,this.parent.div.style.cursor=o,this.div.style.cursor=s,this.#M()};window.addEventListener(`pointerup`,c,{signal:a}),window.addEventListener(`blur`,c,{signal:a})}#j(e,t,n,r){this.width=n,this.height=r,this.x=e,this.y=t,this.setDims(),this.fixAndSetPosition(),this._onResized()}_onResized(){}#M(){if(!this.#u)return;let{savedX:e,savedY:t,savedWidth:n,savedHeight:r}=this.#u;this.#u=null;let i=this.x,a=this.y,o=this.width,s=this.height;(i!==e||a!==t||o!==n||s!==r)&&this.addCommands({cmd:this.#j.bind(this,i,a,o,s),undo:this.#j.bind(this,e,t,n,r),mustExec:!0})}static _round(e){return Math.round(e*1e4)/1e4}#N(t,n){let[r,i]=this.parentDimensions,a=this.x,o=this.y,s=this.width,c=this.height,l=e.MIN_SIZE/r,u=e.MIN_SIZE/i,d=this.#O(this.rotation),f=(e,t)=>[d[0]*e+d[2]*t,d[1]*e+d[3]*t],p=this.#O(360-this.rotation),m=(e,t)=>[p[0]*e+p[2]*t,p[1]*e+p[3]*t],h,g,_=!1,v=!1;switch(t){case`topLeft`:_=!0,h=(e,t)=>[0,0],g=(e,t)=>[e,t];break;case`topMiddle`:h=(e,t)=>[e/2,0],g=(e,t)=>[e/2,t];break;case`topRight`:_=!0,h=(e,t)=>[e,0],g=(e,t)=>[0,t];break;case`middleRight`:v=!0,h=(e,t)=>[e,t/2],g=(e,t)=>[0,t/2];break;case`bottomRight`:_=!0,h=(e,t)=>[e,t],g=(e,t)=>[0,0];break;case`bottomMiddle`:h=(e,t)=>[e/2,t],g=(e,t)=>[e/2,0];break;case`bottomLeft`:_=!0,h=(e,t)=>[0,t],g=(e,t)=>[e,0];break;case`middleLeft`:v=!0,h=(e,t)=>[0,t/2],g=(e,t)=>[e,t/2]}let y=h(s,c),b=g(s,c),x=f(...b),S=e._round(a+x[0]),C=e._round(o+x[1]),w=1,T=1,E,D;if(n.fromKeyboard)({deltaX:E,deltaY:D}=n);else{let{screenX:e,screenY:t}=n,[r,i]=this.#l;[E,D]=this.screenToPageTranslation(e-r,t-i),this.#l[0]=e,this.#l[1]=t}if([E,D]=m(E/r,D/i),_){let e=Math.hypot(s,c);w=T=Math.max(Math.min(Math.hypot(b[0]-y[0]-E,b[1]-y[1]-D)/e,1/s,1/c),l/s,u/c)}else v?w=L(Math.abs(b[0]-y[0]-E),l,1)/s:T=L(Math.abs(b[1]-y[1]-D),u,1)/c;let O=e._round(s*w),k=e._round(c*T);x=f(...g(O,k));let A=S-x[0],j=C-x[1];this.#h||=[this.x,this.y,this.width,this.height],this.width=O,this.height=k,this.x=A,this.y=j,this.setDims(),this.fixAndSetPosition(),this._onResizing()}_onResizing(){}altTextFinish(){this.#n?.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||this.#_)return this._editToolbar;this._editToolbar=new Ye(this),this.div.append(this._editToolbar.render());let{toolbarButtons:e}=this;if(e)for(let[t,n]of e)await this._editToolbar.addButton(t,n);return this.hasComment||this._editToolbar.addButton(`comment`,this.addCommentButton()),this._editToolbar.addButton(`delete`),this._editToolbar}addCommentButtonInToolbar(){this._editToolbar?.addButtonBefore(`comment`,this.addCommentButton(),`.deleteButton`)}removeCommentButtonFromToolbar(){this._editToolbar?.removeButton(`comment`)}removeEditToolbar(){this._editToolbar?.remove(),this._editToolbar=null,this.#n?.destroy()}addContainer(e){let t=this._editToolbar?.div;t?t.before(e):this.div.append(e)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){return this.#n||(at.initialize(e._l10n),this.#n=new at(this),this.#e&&=(this.#n.data=this.#e,null)),this.#n}get altTextData(){return this.#n?.data}set altTextData(e){this.#n&&(this.#n.data=e)}get guessedAltText(){return this.#n?.guessedText}async setGuessedAltText(e){await this.#n?.setGuessedText(e)}serializeAltText(e){return this.#n?.serialize(e)}hasAltText(){return!!this.#n&&!this.#n.isEmpty()}hasAltTextData(){return this.#n?.hasData()??!1}focusCommentButton(){this.#r?.focusButton()}addCommentButton(){return this.canAddComment?this.#r||=new ot(this):null}addStandaloneCommentButton(){if(this._uiManager.hasCommentManager()){if(this.#i){this._uiManager.isEditingMode()&&this.#i.classList.remove(`hidden`);return}this.hasComment&&(this.#i=this.#r.renderForStandalone(),this.div.append(this.#i))}}removeStandaloneCommentButton(){this.#r.removeStandaloneCommentButton(),this.#i=null}hideStandaloneCommentButton(){this.#i?.classList.add(`hidden`)}get comment(){if(!this.#r)return null;let{data:{richText:e,text:t,date:n,deleted:r}}=this.#r;return{text:t,richText:e,date:n,deleted:r,color:this.getNonHCMColor(),opacity:this.opacity??1}}set comment(e){this.#r||=new ot(this),typeof e==`object`&&e?this.#r.restoreData(e):this.#r.data=e,this.hasComment?(this.removeCommentButtonFromToolbar(),this.addStandaloneCommentButton(),this._uiManager.updateComment(this)):(this.addCommentButtonInToolbar(),this.removeStandaloneCommentButton(),this._uiManager.removeComment(this))}setCommentData({comment:e,popupRef:t,richText:n}){if(!t||(this.#r||=new ot(this),this.#r.setInitialText(e,n),!this.annotationElementId))return;let r=this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId);r&&this.updateFromAnnotationLayer(r)}get hasEditedComment(){return this.#r?.hasBeenEdited()}get hasDeletedComment(){return this.#r?.isDeleted()}get hasComment(){return!!this.#r&&!this.#r.isEmpty()&&!this.#r.isDeleted()}async editComment(e){this.#r||=new ot(this),this.#r.edit(e)}toggleComment(e,t=void 0){this.hasComment&&this._uiManager.toggleComment(this,e,t)}setSelectedCommentButton(e){this.#r.setSelectedButton(e)}addComment(e){if(this.hasEditedComment){let[,,,t]=e.rect,[n]=this.pageDimensions,[r]=this.pageTranslation,i=r+n+1,a=t-100,o=i+180;e.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[i,a,o,t]}}}updateFromAnnotationLayer({popup:{contents:e,deleted:t}}){this.#r.data=t?null:e}get parentBoundingClientRect(){return this.parent.boundingClientRect}render(){let e=this.div=document.createElement(`div`);e.setAttribute(`data-editor-rotation`,(360-this.rotation)%360),e.className=this.name,e.setAttribute(`id`,this.id),e.tabIndex=this.#a?-1:0,e.setAttribute(`role`,`application`),this.defaultL10nId&&e.setAttribute(`data-l10n-id`,this.defaultL10nId),this._isVisible||e.classList.add(`hidden`),this.setInForeground(),this.#z();let[t,n]=this.parentDimensions;this.parentRotation%180!=0&&(e.style.maxWidth=`${(100*n/t).toFixed(2)}%`,e.style.maxHeight=`${(100*t/n).toFixed(2)}%`);let[r,i]=this.getInitialTranslation();return this.translate(r,i),Qe(this,e,[`keydown`,`pointerdown`,`dblclick`]),this.isResizable&&this._uiManager._supportsPinchToZoom&&(this.#C||=new st({container:e,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#P.bind(this),onPinching:this.#F.bind(this),onPinchEnd:this.#I.bind(this),signal:this._uiManager._signal})),this.addStandaloneCommentButton(),this._uiManager._editorUndoBar?.hide(),e}#P(){this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height},this.#n?.toggle(!1),this.parent.togglePointerEvents(!1)}#F(t,n,r){let i=.7,a=r/n*i+1-i;if(a===1)return;let o=this.#O(this.rotation),s=(e,t)=>[o[0]*e+o[2]*t,o[1]*e+o[3]*t],[c,l]=this.parentDimensions,u=this.x,d=this.y,f=this.width,p=this.height,m=e.MIN_SIZE/c,h=e.MIN_SIZE/l;a=Math.max(Math.min(a,1/f,1/p),m/f,h/p);let g=e._round(f*a),_=e._round(p*a);if(g===f&&_===p)return;this.#h||=[u,d,f,p];let v=s(f/2,p/2),y=e._round(u+v[0]),b=e._round(d+v[1]),x=s(g/2,_/2);this.x=y-x[0],this.y=b-x[1],this.width=g,this.height=_,this.setDims(),this.fixAndSetPosition(),this._onResizing()}#I(){this.#n?.toggle(!0),this.parent.togglePointerEvents(!0),this.#M()}pointerdown(e){let{isMac:t}=F.platform;if(e.button!==0||e.ctrlKey&&t){e.preventDefault();return}if(this.#m=!0,this._isDraggable){this.#R(e);return}this.#L(e)}#L(e){let{isMac:t}=F.platform;e.ctrlKey&&!t||e.shiftKey||e.metaKey&&t?this.parent.toggleSelected(this):this.parent.setSelected(this)}#R(e){let{isSelected:t}=this;this._uiManager.setUpDragSession();let n=!1,r=new AbortController,i=this._uiManager.combinedSignal(r),a={capture:!0,passive:!1,signal:i},o=e=>{r.abort(),this.#o=null,this.#m=!1,this._uiManager.endDragSession()||this.#L(e),n&&this._onStopDragging()};t&&(this.#b=e.clientX,this.#x=e.clientY,this.#o=e.pointerId,this.#s=e.pointerType,window.addEventListener(`pointermove`,e=>{n||(n=!0,this._uiManager.toggleComment(this,!0,!1),this._onStartDragging());let{clientX:t,clientY:r,pointerId:i}=e;if(i!==this.#o){z(e);return}let[a,o]=this.screenToPageTranslation(t-this.#b,r-this.#x);this.#b=t,this.#x=r,this._uiManager.dragSelectedEditors(a,o)},a),window.addEventListener(`touchmove`,z,a),window.addEventListener(`pointerdown`,e=>{e.pointerType===this.#s&&(this.#C||e.isPrimary)&&o(e),z(e)},a));let s=e=>{if(!this.#o||this.#o===e.pointerId){o(e);return}z(e)};window.addEventListener(`pointerup`,s,{signal:i}),window.addEventListener(`blur`,s,{signal:i})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){this.#y&&clearTimeout(this.#y),this.#y=setTimeout(()=>{this.#y=null,this.parent?.moveEditorInDOM(this)},0)}_setParentAndPosition(e,t,n){e.changeParent(this),this.x=t,this.y=n,this.fixAndSetPosition(),this._onTranslated()}getRect(e,t,n=this.rotation){let r=this.parentScale,[i,a]=this.pageDimensions,[o,s]=this.pageTranslation,c=e/r,l=t/r,u=this.x*i,d=this.y*a,f=this.width*i,p=this.height*a;switch(n){case 0:return[u+c+o,a-d-l-p+s,u+c+f+o,a-d-l+s];case 90:return[u+l+o,a-d+c+s,u+l+p+o,a-d+c+f+s];case 180:return[u-c-f+o,a-d+l+s,u-c+o,a-d+l+p+s];case 270:return[u-l-p+o,a-d-c-f+s,u-l+o,a-d-c+s];default:throw Error(`Invalid rotation`)}}getRectInCurrentCoords(e,t){let[n,r,i,a]=e,o=i-n,s=a-r;switch(this.rotation){case 0:return[n,t-a,o,s];case 90:return[n,t-r,s,o];case 180:return[i,t-r,o,s];case 270:return[i,t-a,s,o];default:throw Error(`Invalid rotation`)}}getPDFRect(){return this.getRect(0,0)}getNonHCMColor(){return this.color&&e._colorManager.convert(this._uiManager.getNonHCMColor(this.color))}onUpdatedColor(){this.#r?.onUpdatedColor()}getData(){let{comment:{text:e,color:t,date:n,opacity:r,deleted:i,richText:a},uid:o,pageIndex:s,creationDate:c,modificationDate:l}=this;return{id:o,pageIndex:s,rect:this.getPDFRect(),richText:a,contentsObj:{str:e},creationDate:c,modificationDate:n||l,popupRef:!i,color:t,opacity:r}}onceAdded(e){}isEmpty(){return!1}enableEditMode(){return!this.isInEditMode()&&(this.parent.setEditingState(!1),this.#_=!0,!0)}disableEditMode(){return this.isInEditMode()?(this.parent.setEditingState(!0),this.#_=!1,!0):!1}isInEditMode(){return this.#_}shouldGetKeyboardEvents(){return this.#v}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){let{top:e,left:t,bottom:n,right:r}=this.getClientDimensions(),{innerHeight:i,innerWidth:a}=window;return t0&&e0}#z(){if(this.#f||!this.div)return;this.#f=new AbortController;let e=this._uiManager.combinedSignal(this.#f);this.div.addEventListener(`focusin`,this.focusin.bind(this),{signal:e}),this.div.addEventListener(`focusout`,this.focusout.bind(this),{signal:e})}rebuild(){this.#z()}rotate(e){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||``}}serialize(e=!1,t=null){return{annotationType:this.mode,pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,structTreeParentId:this._structTreeParentId,popupRef:this._initialData?.popupRef||``}}static async deserialize(e,t,n){let r=new this.prototype.constructor({parent:t,id:n.getId(),uiManager:n,annotationElementId:e.annotationElementId,creationDate:e.creationDate,modificationDate:e.modificationDate});r.rotation=e.rotation,r.#e=e.accessibilityData,r._isCopy=e.isCopy||!1;let[i,a]=r.pageDimensions,[o,s,c,l]=r.getRectInCurrentCoords(e.rect,a);return r.x=o/i,r.y=s/a,r.width=c/i,r.height=l/a,r}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){if(this.#f?.abort(),this.#f=null,this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),this.hideCommentPopup(),this.#y&&=(clearTimeout(this.#y),null),this.#W(),this.removeEditToolbar(),this.#S){for(let e of this.#S.values())clearTimeout(e);this.#S=null}this.parent=null,this.#C?.destroy(),this.#C=null,this.#d?.remove(),this.#d=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(this.#k(),this.#c.classList.remove(`hidden`))}get toolbarPosition(){return null}get commentButtonPosition(){return this._uiManager.direction===`ltr`?[1,0]:[0,0]}get commentButtonPositionInPage(){let{commentButtonPosition:[t,n]}=this,[r,i,a,o]=this.getPDFRect();return[e._round(r+(a-r)*t),e._round(i+(o-i)*(1-n))]}get commentButtonColor(){return this._uiManager.makeCommentColor(this.getNonHCMColor(),this.opacity)}get commentPopupPosition(){return this.#r.commentPopupPositionInLayer}set commentPopupPosition(e){this.#r.commentPopupPositionInLayer=e}hasDefaultPopupPosition(){return this.#r.hasDefaultPopupPosition()}get commentButtonWidth(){return this.#r.commentButtonWidth}get elementBeforePopup(){return this.div}setCommentButtonStates(e){this.#r?.setCommentButtonStates(e)}keydown(t){if(!this.isResizable||t.target!==this.div||t.key!==`Enter`)return;this._uiManager.setSelected(this),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let n=this.#c.children;if(!this.#t){this.#t=Array.from(n);let t=this.#B.bind(this),r=this.#V.bind(this),i=this._uiManager._signal;for(let n of this.#t){let a=n.getAttribute(`data-resizer-name`);n.setAttribute(`role`,`spinbutton`),n.addEventListener(`keydown`,t,{signal:i}),n.addEventListener(`blur`,r,{signal:i}),n.addEventListener(`focus`,this.#H.bind(this,a),{signal:i}),n.setAttribute(`data-l10n-id`,e._l10nResizer[a])}}let r=this.#t[0],i=0;for(let e of n){if(e===r)break;i++}let a=(360-this.rotation+this.parentRotation)%360/90*(this.#t.length/4);if(a!==i){if(ai)for(let e=0;e{this.div?.classList.contains(`selectedEditor`)&&this._editToolbar?.show()});return}this._editToolbar?.show(),this.#n?.toggleAltTextBadge(!1)}focus(){this.div&&!this.div.contains(document.activeElement)&&setTimeout(()=>this.div?.focus({preventScroll:!0}),0)}unselect(){this.isSelected&&(this.isSelected=!1,this.#c?.classList.add(`hidden`),this.div?.classList.remove(`selectedEditor`),this.div?.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),this._editToolbar?.hide(),this.#n?.toggleAltTextBadge(!0),this.hideCommentPopup())}hideCommentPopup(){this.hasComment&&this._uiManager.toggleComment(null)}updateParams(e,t){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){this.canChangeContent&&(this.enableEditMode(),this.div.focus())}dblclick(e){e.target.nodeName!==`BUTTON`&&(this.enterInEditMode(),this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.uid}))}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return this.#g}set isEditing(e){this.#g=e,this.parent&&(e?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:`added`}}get telemetryFinalData(){return null}_reportTelemetry(t,n=!1){if(n){this.#S||=new Map;let{action:n}=t,r=this.#S.get(n);r&&clearTimeout(r),r=setTimeout(()=>{this._reportTelemetry(t),this.#S.delete(n),this.#S.size===0&&(this.#S=null)},e._telemetryTimeout),this.#S.set(n,r);return}t.type||=this.editorType,this._uiManager._eventBus.dispatch(`reporttelemetry`,{source:this,details:{type:`editing`,data:t}})}show(e=this._isVisible){this.div.classList.toggle(`hidden`,!e),this._isVisible=e}enable(){this.div&&(this.div.tabIndex=0),this.#a=!1}disable(){this.div&&(this.div.tabIndex=-1),this.#a=!0}updateFakeAnnotationElement(e){if(!this.#d&&!this.deleted){this.#d=e.addFakeAnnotation(this);return}if(this.deleted){this.#d.remove(),this.#d=null;return}(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)&&this.#d.updateEdited({rect:this.getPDFRect(),popup:this.comment})}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let t=e.container.querySelector(`.annotationContent`);if(!t)t=document.createElement(`div`),t.classList.add(`annotationContent`,this.editorType),e.container.prepend(t);else if(t.nodeName===`CANVAS`){let e=t;t=document.createElement(`div`),t.classList.add(`annotationContent`,this.editorType),e.before(t)}return t}resetAnnotationElement(e){let{firstElementChild:t}=e.container;t?.nodeName===`DIV`&&t.classList.contains(`annotationContent`)&&t.remove()}},ct=class extends U{constructor(e){super(e),this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}},lt=3285377520,W=4294901760,ut=65535,dt=class{constructor(e){this.h1=e?e&4294967295:lt,this.h2=e?e&4294967295:lt}update(e){let t,n;if(typeof e==`string`){t=new Uint8Array(e.length*2),n=0;for(let r=0,i=e.length;r>>8,t[n++]=i&255)}}else if(ArrayBuffer.isView(e))t=e.slice(),n=t.byteLength;else throw Error(`Invalid data format, must be a string or TypedArray.`);let r=n>>2,i=n-r*4,a=new Uint32Array(t.buffer,0,r),o=0,s=0,c=this.h1,l=this.h2,u=3432918353,d=461845907,f=11601,p=13715;for(let e=0;e>>17,o=o*d&W|o*p&ut,c^=o,c=c<<13|c>>>19,c=c*5+3864292196):(s=a[e],s=s*u&W|s*f&ut,s=s<<15|s>>>17,s=s*d&W|s*p&ut,l^=s,l=l<<13|l>>>19,l=l*5+3864292196);switch(o=0,i){case 3:o^=t[r*4+2]<<16;case 2:o^=t[r*4+1]<<8;case 1:o^=t[r*4],o=o*u&W|o*f&ut,o=o<<15|o>>>17,o=o*d&W|o*p&ut,r&1?c^=o:l^=o}this.h1=c,this.h2=l}hexdigest(){let e=this.h1,t=this.h2;return e^=t>>>1,e=e*3981806797&W|e*36045&ut,t=t*4283543511&W|((t<<16|e>>>16)*2950163797&W)>>>16,e^=t>>>1,e=e*444984403&W|e*60499&ut,t=t*3301882366&W|((t<<16|e>>>16)*3120437893&W)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,`0`)+(t>>>0).toString(16).padStart(8,`0`)}},ft=Object.freeze({map:null,hash:``,transfer:void 0}),pt=class{#e=!1;#t=null;#n=null;#r=new Map;onSetModified=null;onResetModified=null;onAnnotationEditor=null;getValue(e,t){let n=this.#r.get(e);return n===void 0?t:Object.assign(t,n)}getRawValue(e){return this.#r.get(e)}remove(e){let t=this.#r.get(e);t!==void 0&&(t instanceof U&&this.#n.delete(t.annotationElementId),this.#r.delete(e),this.#r.size===0&&this.resetModified(),!this.#r.values().some(e=>e instanceof U)&&this.onAnnotationEditor?.(null))}setValue(e,t){let n=this.#r.get(e),r=!1;if(n!==void 0)for(let[e,i]of Object.entries(t))n[e]!==i&&(r=!0,n[e]=i);else r=!0,this.#r.set(e,t);r&&this.#i(),t instanceof U&&((this.#n||=new Map).set(t.annotationElementId,t),this.onAnnotationEditor?.(t.constructor._type))}has(e){return this.#r.has(e)}get size(){return this.#r.size}#i(){this.#e||(this.#e=!0,this.onSetModified?.())}resetModified(){this.#e&&(this.#e=!1,this.onResetModified?.())}get print(){return new mt(this)}get serializable(){if(this.#r.size===0)return ft;let e=new Map,t=new dt,n=[],r=Object.create(null),i=!1;for(let[n,a]of this.#r){let o=a instanceof U?a.serialize(!1,r):a;a.page&&(a.pageIndex=a.page._pageIndex,delete a.page),o&&(e.set(n,o),t.update(`${n}:${JSON.stringify(o)}`),i||=!!o.bitmap)}if(i)for(let t of e.values())t.bitmap&&n.push(t.bitmap);return e.size>0?{map:e,hash:t.hexdigest(),transfer:n}:ft}get editorStats(){let e=null,t=new Map,n=0,r=0;for(let i of this.#r.values()){if(!(i instanceof U)){i.popup&&(i.popup.deleted?r+=1:n+=1);continue}i.isCommentDeleted?r+=1:i.hasEditedComment&&(n+=1);let a=i.telemetryFinalData;if(!a)continue;let{type:o}=a;t.getOrInsertComputed(o,()=>Object.getPrototypeOf(i).constructor),e||=Object.create(null);let s=e[o]||=new Map;for(let[e,t]of Object.entries(a)){if(e===`type`)continue;let n=s.getOrInsertComputed(e,me);n.set(t,(n.get(t)??0)+1)}}if((r>0||n>0)&&(e||=Object.create(null),e.comments={deleted:r,edited:n}),!e)return null;for(let[n,r]of t)e[n]=r.computeTelemetryFinalData(e[n]);return e}resetModifiedIds(){this.#t=null}updateEditor(e,t){let n=this.#n?.get(e);return n?(n.updateFromAnnotationLayer(t),!0):!1}getEditor(e){return this.#n?.get(e)||null}get modifiedIds(){if(this.#t)return this.#t;let e=[];if(this.#n)for(let t of this.#n.values())t.serialize()&&e.push(t.annotationElementId);let t=``;if(e.length){let n=new dt;n.update(e.join(`,`)),t=n.hexdigest()}return this.#t={ids:new Set(e),hash:t}}[Symbol.iterator](){return this.#r.entries()}},mt=class extends pt{#e=ft;constructor(e){super();let{serializable:t}=e;if(t===ft)return;let{map:n,hash:r,transfer:i}=t,a=structuredClone(n,i?{transfer:i}:null);this.#e={map:a,hash:r,transfer:[]}}get print(){E(`Should not call PrintAnnotationStorage.print`)}get serializable(){return this.#e}get modifiedIds(){return M(this,`modifiedIds`,{ids:new Set,hash:``})}},ht=`__forcedDependency`,{floor:gt,ceil:_t}=Math;function vt(e,t,n,r,i,a){e[t*4+0]=Math.min(e[t*4+0],n),e[t*4+1]=Math.min(e[t*4+1],r),e[t*4+2]=Math.max(e[t*4+2],i),e[t*4+3]=Math.max(e[t*4+3],a)}function yt(e,t,n,r,i){let a;e?(e<0&&(a=i[0],i[0]=i[2],i[2]=a),i[0]*=e,i[2]*=e,t<0&&(a=i[1],i[1]=i[3],i[3]=a),i[1]*=t,i[3]*=t):i.fill(0),i[0]+=n,i[1]+=r,i[2]+=n,i[3]+=r}var bt=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0],xt=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t}get length(){return this.#e.length}isEmpty(e){return this.#e[e]===bt}minX(e){return this.#t[e*4+0]/256}minY(e){return this.#t[e*4+1]/256}maxX(e){return(this.#t[e*4+2]+1)/256}maxY(e){return(this.#t[e*4+3]+1)/256}},St=(e,t)=>e?.getOrInsertComputed(t,()=>({dependencies:new Set,isRenderingOperation:!1})),Ct=class{#e=[[1,0,0,1,0,0]];#t=[-1/0,-1/0,1/0,1/0];#n=new Float64Array(n);_pendingBBoxIdx=-1;#r;#i;#a;#o;_savesStack=[];_markedContentStack=[];constructor(e,t){this.#r=e.width,this.#i=e.height,this.#s(t)}growOperationsCount(e){e>=this.#o.length&&this.#s(e,this.#o)}#s(e,t){let n=new ArrayBuffer(e*4);this.#a=new Uint8ClampedArray(n),this.#o=new Uint32Array(n),t&&t.length>0?(this.#o.set(t),this.#o.fill(bt,t.length)):this.#o.fill(bt)}get clipBox(){return this.#t}save(e){return this.#t={__proto__:this.#t},this._savesStack.push(e),this}restore(e,t){let n=Object.getPrototypeOf(this.#t);if(n===null)return this;this.#t=n;let r=this._savesStack.pop();return r!==void 0&&(t?.(r,e),this.#o[e]=this.#o[r]),this}recordOpenMarker(e){return this._savesStack.push(e),this}getOpenMarker(){return this._savesStack.length===0?null:this._savesStack.at(-1)}recordCloseMarker(e,t){let n=this._savesStack.pop();return n!==void 0&&(t?.(n,e),this.#o[e]=this.#o[n]),this}beginMarkedContent(e){return this._markedContentStack.push(e),this}endMarkedContent(e,t){let n=this._markedContentStack.pop();return n!==void 0&&(t?.(n,e),this.#o[e]=this.#o[n]),this}pushBaseTransform(e){return this.#e.push(I.multiplyByDOMMatrix(this.#e.at(-1),e.getTransform())),this}popBaseTransform(){return this.#e.length>1&&this.#e.pop(),this}resetBBox(e){return this._pendingBBoxIdx!==e&&(this._pendingBBoxIdx=e,this.#n.set(n,0)),this}recordClipBox(e,t,r,i,a,o){let s=I.multiplyByDOMMatrix(this.#e.at(-1),t.getTransform()),c=n.slice();I.axialAlignedBoundingBox([r,a,i,o],s,c);let l=I.intersect(this.#t,c);return l?(this.#t[0]=l[0],this.#t[1]=l[1],this.#t[2]=l[2],this.#t[3]=l[3]):(this.#t[0]=this.#t[1]=1/0,this.#t[2]=this.#t[3]=-1/0),this}recordBBox(e,t,r,i,a,o){let s=this.#t;if(s[0]===1/0)return this;let c=I.multiplyByDOMMatrix(this.#e.at(-1),t.getTransform());if(s[0]===-1/0)return I.axialAlignedBoundingBox([r,a,i,o],c,this.#n),this;let l=n.slice();return I.axialAlignedBoundingBox([r,a,i,o],c,l),this.#n[0]=L(l[0],s[0],this.#n[0]),this.#n[1]=L(l[1],s[1],this.#n[1]),this.#n[2]=L(l[2],this.#n[2],s[2]),this.#n[3]=L(l[3],this.#n[3],s[3]),this}recordFullPageBBox(e){return this.#n[0]=Math.max(0,this.#t[0]),this.#n[1]=Math.max(0,this.#t[1]),this.#n[2]=Math.min(this.#r,this.#t[2]),this.#n[3]=Math.min(this.#i,this.#t[3]),this}recordOperation(e,t=!1,n){if(this._pendingBBoxIdx!==e)return this;let r=gt(this.#n[0]*256/this.#r),i=gt(this.#n[1]*256/this.#i),a=_t(this.#n[2]*256/this.#r),o=_t(this.#n[3]*256/this.#i);if(vt(this.#a,e,r,i,a,o),n)for(let t of n)for(let n of t)n!==e&&vt(this.#a,n,r,i,a,o);return t||(this._pendingBBoxIdx=-1),this}bboxToClipBoxDropOperation(e){return this._pendingBBoxIdx===e&&(this._pendingBBoxIdx=-1,this.#t[0]=Math.max(this.#t[0],this.#n[0]),this.#t[1]=Math.max(this.#t[1],this.#n[1]),this.#t[2]=Math.min(this.#t[2],this.#n[2]),this.#t[3]=Math.min(this.#t[3],this.#n[3])),this}take(){return new xt(this.#o,this.#a)}takeDebugMetadata(){throw Error(`Unreachable`)}recordSimpleData(e,t){return this}recordIncrementalData(e,t){return this}resetIncrementalData(e,t){return this}recordNamedData(e,t){return this}recordSimpleDataFromNamed(e,t,n){return this}recordFutureForcedDependency(e,t){return this}inheritSimpleDataAsFutureForcedDependencies(e){return this}inheritPendingDependenciesAsFutureForcedDependencies(){return this}recordCharacterBBox(e,t,n,r=1,i=0,a=0,o){return this}getSimpleIndex(e){}recordDependencies(e,t){return this}recordNamedDependency(e,t){return this}recordShowTextOperation(e,t=!1){return this}},wt=class{#e={__proto__:null};#t={__proto__:null,transform:[],moveText:[],sameLineText:[],[ht]:[]};#n=new Map;#r=new Set;#i=new Map;#a;#o;#s;constructor(e,t=!1){this.#s=e,t&&(this.#a=new Map,this.#o=(e,t)=>{St(this.#a,t).dependencies.add(e)})}get clipBox(){return this.#s.clipBox}growOperationsCount(e){this.#s.growOperationsCount(e)}save(e){return this.#e={__proto__:this.#e},this.#t={__proto__:this.#t,transform:{__proto__:this.#t.transform},moveText:{__proto__:this.#t.moveText},sameLineText:{__proto__:this.#t.sameLineText},[ht]:{__proto__:this.#t[ht]}},this.#s.save(e),this}restore(e){this.#s.restore(e,this.#o);let t=Object.getPrototypeOf(this.#e);return t===null?this:(this.#e=t,this.#t=Object.getPrototypeOf(this.#t),this)}recordOpenMarker(e){return this.#s.recordOpenMarker(e,this.#o),this}getOpenMarker(){return this.#s.getOpenMarker()}recordCloseMarker(e){return this.#s.recordCloseMarker(e,this.#o),this}beginMarkedContent(e){return this.#s.beginMarkedContent(e),this}endMarkedContent(e){return this.#s.endMarkedContent(e,this.#o),this}pushBaseTransform(e){return this.#s.pushBaseTransform(e),this}popBaseTransform(){return this.#s.popBaseTransform(),this}recordSimpleData(e,t){return this.#e[e]=t,this}recordIncrementalData(e,t){return this.#t[e].push(t),this}resetIncrementalData(e,t){return this.#t[e].length=0,this}recordNamedData(e,t){return this.#n.set(e,t),this}recordSimpleDataFromNamed(e,t,n){this.#e[e]=this.#n.get(t)??n}recordFutureForcedDependency(e,t){return this.recordIncrementalData(ht,t),this}inheritSimpleDataAsFutureForcedDependencies(e){for(let t of e)t in this.#e&&this.recordFutureForcedDependency(t,this.#e[t]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(let e of this.#r)this.recordFutureForcedDependency(ht,e);return this}resetBBox(e){return this.#s.resetBBox(e),this}recordClipBox(e,t,n,r,i,a){return this.#s.recordClipBox(e,t,n,r,i,a),this}recordBBox(e,t,n,r,i,a){return this.#s.recordBBox(e,t,n,r,i,a),this}recordCharacterBBox(e,t,n,r=1,i=0,a=0,o){let s=n.bbox,c,l;if(s&&(c=s[2]!==s[0]&&s[3]!==s[1]&&this.#i.get(n),c!==!1&&(l=[0,0,0,0],I.axialAlignedBoundingBox(s,n.fontMatrix,l),(r!==1||i!==0||a!==0)&&yt(r,-r,i,a,l),c)))return this.recordBBox(e,t,l[0],l[2],l[1],l[3]);if(!o)return this.recordFullPageBBox(e);let u=o();return s&&l&&c===void 0&&(c=l[0]<=i-u.actualBoundingBoxLeft&&l[2]>=i+u.actualBoundingBoxRight&&l[1]<=a-u.actualBoundingBoxAscent&&l[3]>=a+u.actualBoundingBoxDescent,this.#i.set(n,c),c)?this.recordBBox(e,t,l[0],l[2],l[1],l[3]):this.recordBBox(e,t,i-u.actualBoundingBoxLeft,i+u.actualBoundingBoxRight,a-u.actualBoundingBoxAscent,a+u.actualBoundingBoxDescent)}recordFullPageBBox(e){return this.#s.recordFullPageBBox(e),this}getSimpleIndex(e){return this.#e[e]}recordDependencies(e,t){let n=this.#r,r=this.#e,i=this.#t;for(let e of t)e in this.#e?n.add(r[e]):e in i&&i[e].forEach(n.add,n);return this}recordNamedDependency(e,t){return this.#n.has(t)&&this.#r.add(this.#n.get(t)),this}recordOperation(e,t=!1){if(this.recordDependencies(e,[ht]),this.#a){let t=St(this.#a,e),{dependencies:n}=t;this.#r.forEach(n.add,n),this.#s._savesStack.forEach(n.add,n),this.#s._markedContentStack.forEach(n.add,n),n.delete(e),t.isRenderingOperation=!0}let n=!t&&e===this.#s._pendingBBoxIdx;return this.#s.recordOperation(e,t,[this.#r,this.#s._savesStack,this.#s._markedContentStack]),n&&this.#r.clear(),this}recordShowTextOperation(e,t=!1){let n=Array.from(this.#r);this.recordOperation(e,t),this.recordIncrementalData(`sameLineText`,e);for(let e of n)this.recordIncrementalData(`sameLineText`,e);return this}bboxToClipBoxDropOperation(e,t=!1){let n=!t&&e===this.#s._pendingBBoxIdx;return this.#s.bboxToClipBoxDropOperation(e),n&&this.#r.clear(),this}take(){return this.#i.clear(),this.#s.take()}takeDebugMetadata(){return this.#a}},Tt=class e{#e;#t;#n;#r=0;#i=0;constructor(t,n,r){if(t instanceof e&&t.#n===!!r)return t;this.#e=t,this.#t=n,this.#n=!!r}get clipBox(){return this.#e.clipBox}growOperationsCount(){throw Error(`Unreachable`)}save(e){return this.#i++,this.#e.save(this.#t),this}restore(e){return this.#i>0&&(this.#e.restore(this.#t),this.#i--),this}recordOpenMarker(e){return this.#r++,this}getOpenMarker(){return this.#r>0?this.#t:this.#e.getOpenMarker()}recordCloseMarker(e){return this.#r--,this}beginMarkedContent(e){return this}endMarkedContent(e){return this}pushBaseTransform(e){return this.#e.pushBaseTransform(e),this}popBaseTransform(){return this.#e.popBaseTransform(),this}recordSimpleData(e,t){return this.#e.recordSimpleData(e,this.#t),this}recordIncrementalData(e,t){return this.#e.recordIncrementalData(e,this.#t),this}resetIncrementalData(e,t){return this.#e.resetIncrementalData(e,this.#t),this}recordNamedData(e,t){return this}recordSimpleDataFromNamed(e,t,n){return this.#e.recordSimpleDataFromNamed(e,t,this.#t),this}recordFutureForcedDependency(e,t){return this.#e.recordFutureForcedDependency(e,this.#t),this}inheritSimpleDataAsFutureForcedDependencies(e){return this.#e.inheritSimpleDataAsFutureForcedDependencies(e),this}inheritPendingDependenciesAsFutureForcedDependencies(){return this.#e.inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(e){return this.#n||this.#e.resetBBox(this.#t),this}recordClipBox(e,t,n,r,i,a){return this.#n||this.#e.recordClipBox(this.#t,t,n,r,i,a),this}recordBBox(e,t,n,r,i,a){return this.#n||this.#e.recordBBox(this.#t,t,n,r,i,a),this}recordCharacterBBox(e,t,n,r,i,a,o){return this.#n||this.#e.recordCharacterBBox(this.#t,t,n,r,i,a,o),this}recordFullPageBBox(e){return this.#n||this.#e.recordFullPageBBox(this.#t),this}getSimpleIndex(e){return this.#e.getSimpleIndex(e)}recordDependencies(e,t){return this.#e.recordDependencies(this.#t,t),this}recordNamedDependency(e,t){return this.#e.recordNamedDependency(this.#t,t),this}recordOperation(e){return this.#e.recordOperation(this.#t,!0),this}recordShowTextOperation(e){return this.#e.recordShowTextOperation(this.#t,!0),this}bboxToClipBoxDropOperation(e){return this.#n||this.#e.bboxToClipBoxDropOperation(this.#t,!0),this}take(){throw Error(`Unreachable`)}takeDebugMetadata(){throw Error(`Unreachable`)}},G={stroke:[`path`,`transform`,`filter`,`strokeColor`,`strokeAlpha`,`lineWidth`,`lineCap`,`lineJoin`,`miterLimit`,`dash`],fill:[`path`,`transform`,`filter`,`fillColor`,`fillAlpha`,`globalCompositeOperation`,`SMask`],imageXObject:[`transform`,`SMask`,`filter`,`fillAlpha`,`strokeAlpha`,`globalCompositeOperation`],rawFillPath:[`filter`,`fillColor`,`fillAlpha`],showText:[`transform`,`leading`,`charSpacing`,`wordSpacing`,`hScale`,`textRise`,`moveText`,`textMatrix`,`font`,`fontObj`,`filter`,`fillColor`,`textRenderingMode`,`SMask`,`fillAlpha`,`strokeAlpha`,`globalCompositeOperation`,`sameLineText`],transform:[`transform`],transformAndFill:[`transform`,`fillColor`]},Et=class e{#e;#t;#n=4;#r=0;#i=new e.#a(this.#n*6);static#a=F.isFloat16ArraySupported?Float16Array:Float32Array;constructor(e){this.#e=e.width,this.#t=e.height}record(t,r,i,a){if(this.#r===this.#n){this.#n*=2;let t=new e.#a(this.#n*6);t.set(this.#i),this.#i=t}let o=B(t),s;if(a[0]!==1/0){let e=n.slice();I.axialAlignedBoundingBox([0,-i,r,0],o,e);let t=I.intersect(a,e);if(!t)return;let[c,l,u,d]=t;if(c!==e[0]||l!==e[1]||u!==e[2]||d!==e[3]){let e=Math.atan2(o[1],o[0]),t=Math.abs(Math.sin(e)),n=Math.abs(Math.cos(e));if(t<1e-6||n<1e-6||Math.abs(t-n)<1e-6)s=[c,l,c,d,u,l];else{let e=u-c,r=d-l,i=t*t,a=n*n,o=n*t,f=a-i,p=(r*a-e*o)/f;s=[c+(r*o-e*i)/f,l,c,l+p,u,d-p]}}}s||(s=[0,-i,0,0,r,-i],I.applyTransform(s,o,0),I.applyTransform(s,o,2),I.applyTransform(s,o,4)),s[0]/=this.#e,s[1]/=this.#t,s[2]/=this.#e,s[3]/=this.#t,s[4]/=this.#e,s[5]/=this.#t,this.#i.set(s,this.#r*6),this.#r++}take(){return this.#i.subarray(0,this.#r*6)}},Dt=class{#e=new Set;#t=null;constructor({ownerDocument:e=globalThis.document,styleElement:t=null}){this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){let t=this.#n();t.insertRule(e,t.cssRules.length)}#n(){if(this.#t)return this.#t;let e=this._document.defaultView?.CSSStyleSheet||globalThis.CSSStyleSheet;if(!this.styleElement&&e){let{adoptedStyleSheets:t}=this._document;if(t){let n=new e;return t.push(n),this.#t=n}}return this.styleElement||(this.styleElement=this._document.createElement(`style`),this._document.documentElement.getElementsByTagName(`head`)[0].append(this.styleElement)),this.#t=this.styleElement.sheet}clear(){for(let e of this.nativeFontFaces)this._document.fonts.delete(e);if(this.nativeFontFaces.clear(),this.#e.clear(),this.#t){let{adoptedStyleSheets:e}=this._document;e?.includes(this.#t)&&(this._document.adoptedStyleSheets=e.filter(e=>e!==this.#t)),this.#t=null}this.styleElement&&=(this.styleElement.remove(),null)}async loadSystemFont({systemFontInfo:e,disableFontFace:t,_inspectFont:n}){if(!(!e||this.#e.has(e.loadedName))){if(D(!t,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){let{loadedName:t,src:r,style:i}=e,a=new FontFace(t,r,i);this.addNativeFontFace(a);try{await a.load(),this.#e.add(t),n?.(e)}catch{T(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(a)}return}E(`Not implemented: loadSystemFont without the Font Loading API.`)}}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo){await this.loadSystemFont(e);return}if(this.isFontLoadingAPISupported){let t=e.createNativeFontFace();if(t){this.addNativeFontFace(t);try{await t.loaded}catch(n){throw T(`Failed to load font '${t.family}': '${n}'.`),e.disableFontFace=!0,n}}return}let t=e.createFontFaceRule();if(t){if(this.insertRule(t),this.isSyncFontLoadingSupported)return;await new Promise(t=>{let n=this._queueLoadingCallback(t);this._prepareFontLoadEvent(e,n)})}}get isFontLoadingAPISupported(){let e=!!this._document?.fonts;return M(this,`isFontLoadingAPISupported`,e)}get isSyncFontLoadingSupported(){return M(this,`isSyncFontLoadingSupported`,t||F.platform.isFirefox)}_queueLoadingCallback(e){function t(){for(D(!r.done,`completeRequest() cannot be called twice.`),r.done=!0;n.length>0&&n[0].done;){let e=n.shift();setTimeout(e.callback,0)}}let{loadingRequests:n}=this,r={done:!1,complete:t,callback:e};return n.push(r),r}get _loadTestFont(){let e=atob(`T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==`);return M(this,`_loadTestFont`,e)}_prepareFontLoadEvent(e,t){function n(e,t){return e.charCodeAt(t)<<24|e.charCodeAt(t+1)<<16|e.charCodeAt(t+2)<<8|e.charCodeAt(t+3)&255}function r(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,e&255)}function i(e,t,n,r){let i=e.substring(0,t),a=e.substring(t+n);return i+r+a}let a,o,s=this._document.createElement(`canvas`);s.width=1,s.height=1;let c=s.getContext(`2d`),l=0;function u(e,t){if(++l>30){T(`Load test font never loaded.`),t();return}if(c.font=`30px `+e,c.fillText(`.`,0,20),c.getImageData(0,0,1,1).data[3]>0){t();return}setTimeout(u.bind(null,e,t))}let d=`lt${Date.now()}${this.loadTestFontId++}`,f=this._loadTestFont;f=i(f,976,d.length,d);let p=1482184792,m=n(f,16);for(a=0,o=d.length-3;a{g.remove(),t.complete()})}},Ot=class{compiledGlyphs=Object.create(null);#e;constructor(e,t=null,n,r){this.#e=e,this._inspectFont=t,n&&(this.charProcOperatorList=n),r&&Object.assign(this,r)}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let e;if(!this.cssFontInfo)e=new FontFace(this.loadedName,this.data,{});else{let t={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(t.style=`oblique ${this.cssFontInfo.italicAngle}deg`),e=new FontFace(this.cssFontInfo.fontFamily,this.data,t)}return this._inspectFont?.(this),e}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;let e=`url(data:${this.mimetype};base64,${this.data.toBase64()});`,t;if(!this.cssFontInfo)t=`@font-face {font-family:"${this.loadedName}";src:${e}}`;else{let n=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(n+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),t=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${n}src:${e}}`}return this._inspectFont?.(this,e),t}getPathGenerator(e,t){if(this.compiledGlyphs[t]!==void 0)return this.compiledGlyphs[t];let n=this.loadedName+`_path_`+t,r;try{r=e.get(n)}catch(e){T(`getPathGenerator - ignoring character: "${e}".`)}let i=Je(r?.path);return this.fontExtraProperties||e.delete(n),this.compiledGlyphs[t]=i}get black(){return this.#e.black}get bold(){return this.#e.bold}get disableFontFace(){return this.#e.disableFontFace}set disableFontFace(e){M(this,`disableFontFace`,!!e)}get fontExtraProperties(){return this.#e.fontExtraProperties}get isInvalidPDFjsFont(){return this.#e.isInvalidPDFjsFont}get isType3Font(){return this.#e.isType3Font}get italic(){return this.#e.italic}get missingFile(){return this.#e.missingFile}get remeasure(){return this.#e.remeasure}get vertical(){return this.#e.vertical}get ascent(){return this.#e.ascent}get defaultWidth(){return this.#e.defaultWidth}get descent(){return this.#e.descent}get bbox(){return this.#e.bbox}get fontMatrix(){return this.#e.fontMatrix}get fallbackName(){return this.#e.fallbackName}get loadedName(){return this.#e.loadedName}get mimetype(){return this.#e.mimetype}get name(){return this.#e.name}get data(){return this.#e.data}clearData(){this.#e.clearData()}get cssFontInfo(){return this.#e.cssFontInfo}get systemFontInfo(){return this.#e.systemFontInfo}get defaultVMetrics(){return this.#e.defaultVMetrics}},kt=class{static strings=[`fontFamily`,`fontWeight`,`italicAngle`]},At=class{static strings=[`css`,`loadedName`,`baseFontName`,`src`]},K=class{static bools=[`black`,`bold`,`disableFontFace`,`fontExtraProperties`,`isInvalidPDFjsFont`,`isType3Font`,`italic`,`missingFile`,`remeasure`,`vertical`];static numbers=[`ascent`,`defaultWidth`,`descent`];static strings=[`fallbackName`,`loadedName`,`mimetype`,`name`];static OFFSET_NUMBERS=Math.ceil(this.bools.length*2/8);static OFFSET_BBOX=this.OFFSET_NUMBERS+this.numbers.length*8;static OFFSET_FONT_MATRIX=this.OFFSET_BBOX+1+8;static OFFSET_DEFAULT_VMETRICS=this.OFFSET_FONT_MATRIX+1+48;static OFFSET_STRINGS=this.OFFSET_DEFAULT_VMETRICS+1+6},jt=class{static KIND=0;static HAS_BBOX=1;static HAS_BACKGROUND=2;static SHADING_TYPE=3;static N_COORD=4;static N_COLOR=8;static N_STOP=12;static N_FIGURES=16},Mt=class{#e;#t=new TextDecoder;#n;constructor(e){this.#e=e,this.#n=new DataView(e)}#r(e){D(e>n&3;return r===0?void 0:r===2}get black(){return this.#r(0)}get bold(){return this.#r(1)}get disableFontFace(){return this.#r(2)}get fontExtraProperties(){return this.#r(3)}get isInvalidPDFjsFont(){return this.#r(4)}get isType3Font(){return this.#r(5)}get italic(){return this.#r(6)}get missingFile(){return this.#r(7)}get remeasure(){return this.#r(8)}get vertical(){return this.#r(9)}#i(e){return D(e0){t=n.slice();for(let e=0,n=l.length;etypeof e==`object`&&Number.isInteger(e?.num)&&e.num>=0&&Number.isInteger(e?.gen)&&e.gen>=0,Vt=fe.bind(null,Bt,e=>typeof e==`object`&&typeof e?.name==`string`),Ht=class{#e=new Map;#t=Promise.resolve();postMessage(e,t){let n={data:structuredClone(e,t?{transfer:t}:null)};this.#t.then(()=>{for(let[e]of this.#e)e.call(this,n)})}addEventListener(e,t,n=null){let r=null;if(n?.signal instanceof AbortSignal){let{signal:i}=n;if(i.aborted){T("LoopbackPort - cannot use an `aborted` signal.");return}let a=()=>this.removeEventListener(e,t);r=()=>i.removeEventListener(`abort`,a),i.addEventListener(`abort`,a)}this.#e.set(t,r)}removeEventListener(e,t){this.#e.get(t)?.(),this.#e.delete(t)}terminate(){for(let[,e]of this.#e)e?.();this.#e.clear()}},Ut={DATA:1,ERROR:2},q={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function Wt(){}function J(e){if(e instanceof P||e instanceof ne||e instanceof ee||e instanceof re||e instanceof te)return e;switch(e instanceof Error||typeof e==`object`&&e||E(`wrapReason: Expected "reason" to be a (possibly cloned) Error.`),e.name){case`AbortException`:return new P(e.message);case`InvalidPDFException`:return new ne(e.message);case`PasswordException`:return new ee(e.message,e.code);case`ResponseException`:return new re(e.message,e.status,e.missing);case`UnknownErrorException`:return new te(e.message,e.details)}return new te(e.message,e.toString())}var Gt=class{#e=new AbortController;constructor(e,t,n){this.sourceName=e,this.targetName=t,this.comObj=n,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),n.addEventListener(`message`,this.#t.bind(this),{signal:this.#e.signal})}#t({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){this.#r(e);return}if(e.callback){let t=e.callbackId,n=this.callbackCapabilities[t];if(!n)throw Error(`Cannot resolve callback ${t}`);if(delete this.callbackCapabilities[t],e.callback===Ut.DATA)n.resolve(e.data);else if(e.callback===Ut.ERROR)n.reject(J(e.reason));else throw Error(`Unexpected callback case`);return}let t=this.actionHandler[e.action];if(!t)throw Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){let n=this.sourceName,r=e.sourceName,i=this.comObj;Promise.try(t,e.data).then(function(t){i.postMessage({sourceName:n,targetName:r,callback:Ut.DATA,callbackId:e.callbackId,data:t})},function(t){i.postMessage({sourceName:n,targetName:r,callback:Ut.ERROR,callbackId:e.callbackId,reason:J(t)})});return}if(e.streamId){this.#n(e);return}t(e.data)}on(e,t){let n=this.actionHandler;if(n[e])throw Error(`There is already an actionName called "${e}"`);n[e]=t}send(e,t,n){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},n)}sendWithPromise(e,t,n){let r=this.callbackId++,i=Promise.withResolvers();this.callbackCapabilities[r]=i;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:r,data:t},n)}catch(e){i.reject(e)}return i.promise}sendWithStream(e,t,n,r){let i=this.streamId++,a=this.sourceName,o=this.targetName,s=this.comObj;return new ReadableStream({start:n=>{let c=Promise.withResolvers();return this.streamControllers[i]={controller:n,startCall:c,pullCall:null,cancelCall:null,isClosed:!1},s.postMessage({sourceName:a,targetName:o,action:e,streamId:i,data:t,desiredSize:n.desiredSize},r),c.promise},pull:e=>{let t=Promise.withResolvers();return this.streamControllers[i].pullCall=t,s.postMessage({sourceName:a,targetName:o,stream:q.PULL,streamId:i,desiredSize:e.desiredSize}),t.promise},cancel:e=>{D(e instanceof Error,`cancel must have a valid reason`);let t=Promise.withResolvers();return this.streamControllers[i].cancelCall=t,this.streamControllers[i].isClosed=!0,s.postMessage({sourceName:a,targetName:o,stream:q.CANCEL,streamId:i,reason:J(e)}),t.promise}},n)}#n(e){let t=e.streamId,n=this.sourceName,r=e.sourceName,i=this.comObj,a=this,o=this.actionHandler[e.action],s={enqueue(e,a=1,o){if(this.isCancelled)return;let s=this.desiredSize;this.desiredSize-=a,s>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),i.postMessage({sourceName:n,targetName:r,stream:q.ENQUEUE,streamId:t,chunk:e},o)},close(){this.isCancelled||(this.isCancelled=!0,i.postMessage({sourceName:n,targetName:r,stream:q.CLOSE,streamId:t}),delete a.streamSinks[t])},error(e){D(e instanceof Error,`error must have a valid reason`),!this.isCancelled&&(this.isCancelled=!0,i.postMessage({sourceName:n,targetName:r,stream:q.ERROR,streamId:t,reason:J(e)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};s.sinkCapability.resolve(),s.ready=s.sinkCapability.promise,this.streamSinks[t]=s,Promise.try(o,e.data,s).then(function(){i.postMessage({sourceName:n,targetName:r,stream:q.START_COMPLETE,streamId:t,success:!0})},function(e){i.postMessage({sourceName:n,targetName:r,stream:q.START_COMPLETE,streamId:t,reason:J(e)})})}#r(e){let t=e.streamId,n=this.sourceName,r=e.sourceName,i=this.comObj,a=this.streamControllers[t],o=this.streamSinks[t];switch(e.stream){case q.START_COMPLETE:e.success?a.startCall.resolve():a.startCall.reject(J(e.reason));break;case q.PULL_COMPLETE:e.success?a.pullCall.resolve():a.pullCall.reject(J(e.reason));break;case q.PULL:if(!o){i.postMessage({sourceName:n,targetName:r,stream:q.PULL_COMPLETE,streamId:t,success:!0});break}o.desiredSize<=0&&e.desiredSize>0&&o.sinkCapability.resolve(),o.desiredSize=e.desiredSize,Promise.try(o.onPull||Wt).then(function(){i.postMessage({sourceName:n,targetName:r,stream:q.PULL_COMPLETE,streamId:t,success:!0})},function(e){i.postMessage({sourceName:n,targetName:r,stream:q.PULL_COMPLETE,streamId:t,reason:J(e)})});break;case q.ENQUEUE:if(D(a,`enqueue should have stream controller`),a.isClosed)break;a.controller.enqueue(e.chunk);break;case q.CLOSE:if(D(a,`close should have stream controller`),a.isClosed)break;a.isClosed=!0,a.controller.close(),this.#i(a,t);break;case q.ERROR:D(a,`error should have stream controller`),a.controller.error(J(e.reason)),this.#i(a,t);break;case q.CANCEL_COMPLETE:e.success?a.cancelCall.resolve():a.cancelCall.reject(J(e.reason)),this.#i(a,t);break;case q.CANCEL:if(!o)break;let s=J(e.reason);Promise.try(o.onCancel||Wt,s).then(function(){i.postMessage({sourceName:n,targetName:r,stream:q.CANCEL_COMPLETE,streamId:t,success:!0})},function(e){i.postMessage({sourceName:n,targetName:r,stream:q.CANCEL_COMPLETE,streamId:t,reason:J(e)})}),o.sinkCapability.reject(s),o.isCancelled=!0,delete this.streamSinks[t];break;default:throw Error(`Unexpected stream case`)}}async#i(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]),delete this.streamControllers[t]}destroy(){this.#e?.abort(),this.#e=null}},Kt=class{#e=Object.freeze({cMapUrl:`CMap`,standardFontDataUrl:`font`,wasmUrl:`wasm`});constructor({cMapUrl:e=null,standardFontDataUrl:t=null,wasmUrl:n=null}){this.cMapUrl=e,this.standardFontDataUrl=t,this.wasmUrl=n}async fetch({kind:e,filename:t}){switch(e){case`cMapUrl`:case`standardFontDataUrl`:case`wasmUrl`:break;default:E(`Not implemented: ${e}`)}let n=this[e];if(!n)throw Error(`Ensure that the \`${e}\` API parameter is provided.`);let r=`${n}${t}`;return this._fetch(r,e).catch(t=>{throw Error(`Unable to load ${this.#e[e]} data at: ${r}`)})}async _fetch(e,t){E("Abstract method `_fetch` called.")}},qt=class extends Kt{async _fetch(e,t){let n=await Ce(e,t===`cMapUrl`&&!e.endsWith(`.bcmap`)?`text`:`bytes`);return n instanceof Uint8Array?n:oe(n)}},Jt=class{#e=!1;constructor({enableHWA:e=!1}){this.#e=e}create(e,t){if(e<=0||t<=0)throw Error(`Invalid canvas size`);let n=this._createCanvas(e,t);return{canvas:n,context:n.getContext(`2d`,{willReadFrequently:!this.#e})}}reset({canvas:e},t,n){if(!e)throw Error(`Canvas is not specified`);if(t<=0||n<=0)throw Error(`Invalid canvas size`);e.width=t,e.height=n}destroy(e){let{canvas:t}=e;if(!t)throw Error(`Canvas is not specified`);t.width=t.height=0,e.canvas=null,e.context=null}_createCanvas(e,t){E("Abstract method `_createCanvas` called.")}},Yt=class extends Jt{constructor({ownerDocument:e=globalThis.document,enableHWA:t=!1}){super({enableHWA:t}),this._document=e}_createCanvas(e,t){let n=this._document.createElement(`canvas`);return n.width=e,n.height=t,n}},Xt=class{addFilter(e){return`none`}addHCMFilter(e,t){return`none`}addAlphaFilter(e){return`none`}addLuminosityFilter(e){return`none`}addKnockoutFilter(e=0){return`none`}addHighlightHCMFilter(e,t,n,r,i){return`none`}addSelectionHCMFilter(e,t){return`none`}addSelectionFilter(){return`none`}createSelectionStyle(e=null){return null}destroy(e=!1){}},Zt=class extends Xt{#e;#t;#n;#r;#i;#a;#o=0;constructor({docId:e,ownerDocument:t=globalThis.document}){super(),this.#r=e,this.#i=t}get#s(){return this.#t||=new Map}get#c(){return this.#a||=new Map}get#l(){if(!this.#n){let e=this.#i.createElement(`div`),{style:t}=e;t.colorScheme=`only light`,t.visibility=`hidden`,t.contain=`strict`,t.width=t.height=0,t.position=`absolute`,t.top=t.left=0,t.zIndex=-1;let n=this.#i.createElementNS(a,`svg`);n.setAttribute(`width`,0),n.setAttribute(`height`,0),this.#n=this.#i.createElementNS(a,`defs`),e.append(n),n.append(this.#n),this.#i.body.append(e)}return this.#n}#u(e){if(e.length===1){let t=e[0],n=Array(256);for(let e=0;e<256;e++)n[e]=t[e]/255;let r=n.join(`,`);return[r,r,r]}let[t,n,r]=e,i=Array(256),a=Array(256),o=Array(256);for(let e=0;e<256;e++)i[e]=t[e]/255,a[e]=n[e]/255,o[e]=r[e]/255;return[i.join(`,`),a.join(`,`),o.join(`,`)]}#d(e){if(this.#e===void 0){this.#e=``;let e=this.#i.URL;e!==this.#i.baseURI&&(Te(e)?T(`#createUrl: ignore "data:"-URL for performance reasons.`):this.#e=A(e,``))}return`url(${this.#e}#${e})`}addFilter(e){if(!e)return`none`;let t=this.#s.get(e);if(t)return t;let[n,r,i]=this.#u(e),a=e.length===1?n:`${n}${r}${i}`;if(t=this.#s.get(a),t)return this.#s.set(e,t),t;let o=`g_${this.#r}_transfer_map_${this.#o++}`,s=this.#d(o);this.#s.set(e,s),this.#s.set(a,s);let c=this.#m(o);return this.#g(n,r,i,c),s}addHCMFilter(e,t){let n=`${e}-${t}`,r=`base`,i=this.#c.get(r);if(i?.key===n||(i?(i.filter?.remove(),i.key=n,i.url=`none`,i.filter=null):(i={key:n,url:`none`,filter:null},this.#c.set(r,i)),!e||!t))return i.url;let a=this.#v(e);e=I.makeHexColor(...a);let o=this.#v(t);if(t=I.makeHexColor(...o),this.#b(),e===`#000000`&&t===`#ffffff`||e===t)return i.url;let s=Array(256);for(let e=0;e<=255;e++){let t=e/255;s[e]=t<=.03928?t/12.92:((t+.055)/1.055)**2.4}let c=s.join(`,`),l=`g_${this.#r}_hcm_filter`,u=i.filter=this.#m(l);this.#g(c,c,c,u),this.#p(u);let d=(e,t)=>{let n=a[e]/255,r=o[e]/255,i=Array(t+1);for(let e=0;e<=t;e++)i[e]=n+e/t*(r-n);return i.join(`,`)};return this.#g(d(0,5),d(1,5),d(2,5),u),i.url=this.#d(l),i.url}addSelectionHCMFilter(e,t){return this.addHighlightHCMFilter(`selection`,e,t,`HighlightText`,`Highlight`)}addSelectionFilter(){return this.addHighlightHCMFilter(`selection_default`,`black`,`white`,`HighlightText`,`Highlight`)}createSelectionStyle(e=null){let t=e?this.addSelectionHCMFilter(e.foreground,e.background):this.addSelectionFilter();return t===`none`||!F.platform.isFirefox?null:{"backdrop-filter":t,"background-color":`transparent`}}addAlphaFilter(e){let t=this.#s.get(e);if(t)return t;let[n]=this.#u([e]),r=`alpha_${n}`;if(t=this.#s.get(r),t)return this.#s.set(e,t),t;let i=`g_${this.#r}_alpha_map_${this.#o++}`,a=this.#d(i);this.#s.set(e,a),this.#s.set(r,a);let o=this.#m(i);return this.#_(n,o),a}addLuminosityFilter(e){let t=this.#s.get(e||`luminosity`);if(t)return t;let n,r;if(e?([n]=this.#u([e]),r=`luminosity_${n}`):r=`luminosity`,t=this.#s.get(r),t)return this.#s.set(e,t),t;let i=`g_${this.#r}_luminosity_map_${this.#o++}`,a=this.#d(i);this.#s.set(e,a),this.#s.set(r,a);let o=this.#m(i);return this.#f(o),e&&this.#_(n,o),a}addKnockoutFilter(e=0){let t=e>0?Math.min(1/e,1e6):1e6,n=`knockout_${t}`,r=this.#s.get(n);if(r)return r;let i=`g_${this.#r}_knockout_filter_${this.#o++}`,o=this.#d(i);this.#s.set(n,o);let s=this.#m(i),c=this.#i.createElementNS(a,`feComponentTransfer`);s.append(c);let l=this.#i.createElementNS(a,`feFuncA`);return l.setAttribute(`type`,`linear`),l.setAttribute(`slope`,`${t}`),l.setAttribute(`intercept`,`0`),c.append(l),o}addHighlightHCMFilter(e,t,n,r,i){let a=`${t}-${n}-${r}-${i}`,o=this.#c.get(e);if(o?.key===a||(o?(o.filter?.remove(),o.key=a,o.url=`none`,o.filter=null):(o={key:a,url:`none`,filter:null},this.#c.set(e,o)),!t||!n))return o.url;let[s,c]=[t,n].map(this.#v.bind(this)),l=Math.round(.2126*s[0]+.7152*s[1]+.0722*s[2]),u=Math.round(.2126*c[0]+.7152*c[1]+.0722*c[2]),[d,f]=[r,i].map(this.#x.bind(this));u{let r=Array(256),i=(u-l)/n,a=e/255,o=(t-e)/(255*n),s=0;for(let e=0;e<=n;e++){let t=Math.round(l+e*i),n=a+e*o;for(let e=s;e<=t;e++)r[e]=n;s=t+1}for(let e=s;e<256;e++)r[e]=r[s-1];return r.join(`,`)},m=`g_${this.#r}_hcm_${e}_filter`,h=o.filter=this.#m(m);return this.#p(h),this.#g(p(d[0],f[0],5),p(d[1],f[1],5),p(d[2],f[2],5),h),o.url=this.#d(m),o.url}destroy(e=!1){e&&this.#a?.size||(this.#n?.parentNode.parentNode.remove(),this.#n=null,this.#t?.clear(),this.#t=null,this.#a?.clear(),this.#a=null,this.#o=0)}#f(e){let t=this.#i.createElementNS(a,`feColorMatrix`);t.setAttribute(`type`,`matrix`),t.setAttribute(`values`,`0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0`),e.append(t)}#p(e){let t=this.#i.createElementNS(a,`feColorMatrix`);t.setAttribute(`type`,`matrix`),t.setAttribute(`values`,`0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0`),e.append(t)}#m(e){let t=this.#i.createElementNS(a,`filter`);return t.setAttribute(`color-interpolation-filters`,`sRGB`),t.setAttribute(`id`,e),this.#l.append(t),t}#h(e,t,n){let r=this.#i.createElementNS(a,t);r.setAttribute(`type`,`discrete`),r.setAttribute(`tableValues`,n),e.append(r)}#g(e,t,n,r){let i=this.#i.createElementNS(a,`feComponentTransfer`);r.append(i),this.#h(i,`feFuncR`,e),this.#h(i,`feFuncG`,t),this.#h(i,`feFuncB`,n)}#_(e,t){let n=this.#i.createElementNS(a,`feComponentTransfer`);t.append(n),this.#h(n,`feFuncA`,e)}#v(e){return this.#l.style.color=`CanvasText`,this.#l.style.backgroundColor=e,Ne(getComputedStyle(this.#l).getPropertyValue(`background-color`))}#y(e){return this.#l.style.color=`CanvasText`,this.#l.style.backgroundColor=e,Me(getComputedStyle(this.#l).getPropertyValue(`background-color`))}#b(){this.#l.style.color=``,this.#l.style.backgroundColor=``}#x(e){let[t,n,r,i]=this.#y(e);if(i===1)return[t,n,r];let[a,o,s]=this.#v(`Canvas`);return[Qt(t,a,i),Qt(n,o,i),Qt(r,s,i)]}};function Qt(e,t,n){return Math.round(n*e+(1-n)*t)}t&&T("Please use the `legacy` build in Node.js environments.");async function $t(e){let t=await process.getBuiltinModule(`fs/promises`).readFile(e);return new Uint8Array(t)}var en=class extends Xt{},tn=class extends Jt{_createCanvas(e,t){return process.getBuiltinModule(`module`).createRequire(import.meta.url)(`@napi-rs/canvas`).createCanvas(e,t)}},nn=class extends Kt{async _fetch(e,t){return $t(e)}};function rn({src:e,srcPos:t=0,dest:n,width:r,height:i,nonBlackColor:a=4294967295,inverseDecode:o=!1}){let s=F.isLittleEndian?4278190080:255,[c,l]=o?[a,s]:[s,a],u=r>>3,d=r&7,f=c^l,p=e.length;n=new Uint32Array(n.buffer);let m=0;for(let r=0;r>7&1)&f,n[m+1]=c^-(r>>6&1)&f,n[m+2]=c^-(r>>5&1)&f,n[m+3]=c^-(r>>4&1)&f,n[m+4]=c^-(r>>3&1)&f,n[m+5]=c^-(r>>2&1)&f,n[m+6]=c^-(r>>1&1)&f,n[m+7]=c^-(r&1)&f}if(d===0)continue;let r=t>7-e&1)&f}return{srcPos:t,destPos:m}}function an({src:e,srcPos:t=0,dest:n,destPos:r=0,width:i,height:a}){let o=0,s=i*a*3,c=s>>2,l=new Uint32Array(e.buffer,t,c),u=F.isLittleEndian?4278190080:255;if(F.isLittleEndian){for(;o>>24|t<<8|u,n[r+2]=t>>>16|i<<16|u,n[r+3]=i>>>8|u}for(let i=o*4,a=t+s;i>>8|u,n[r+2]=t<<16|i>>>16|u,n[r+3]=i<<8|u}for(let i=o*4,a=t+s;i u : Uniforms; + +struct VertexInput { + @location(0) position : vec2, + @location(1) color : vec4, +}; + +struct VertexOutput { + @builtin(position) position : vec4, + @location(0) color : vec3, +}; + +@vertex +fn vs_main(in : VertexInput) -> VertexOutput { + var out : VertexOutput; + let cx = (in.position.x + u.offsetX) * u.scaleX; + let cy = (in.position.y + u.offsetY) * u.scaleY; + out.position = vec4( + ((cx + u.borderSize) / u.paddedWidth) * 2.0 - 1.0, + 1.0 - ((cy + u.borderSize) / u.paddedHeight) * 2.0, + 0.0, + 1.0 + ); + out.color = in.color.rgb; + return out; +} + +@fragment +fn fs_main(in : VertexOutput) -> @location(0) vec4 { + return vec4(in.color, 1.0); +} +`,sn=new class{#e=null;#t=null;#n=null;#r=null;async#i(){if(!globalThis.navigator?.gpu)return!1;try{let e=await navigator.gpu.requestAdapter();return e?(this.#r=navigator.gpu.getPreferredCanvasFormat(),this.#t=await e.requestDevice(),!0):!1}catch{return!1}}init(){return this.#e||=this.#i()}get isReady(){return this.#t!==null}loadMeshShader(){if(!this.#t||this.#n)return;let e=this.#t.createShaderModule({code:on});this.#n=this.#t.createRenderPipeline({layout:`auto`,vertex:{module:e,entryPoint:`vs_main`,buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:`float32x2`}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:`unorm8x4`}]}]},fragment:{module:e,entryPoint:`fs_main`,targets:[{format:this.#r}]},primitive:{topology:`triangle-list`}})}draw(e,t,n,r,i,a,o,s){this.loadMeshShader();let c=this.#t,{offsetX:l,offsetY:u,scaleX:d,scaleY:f}=r,p=c.createBuffer({size:Math.max(e.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});e.byteLength>0&&c.queue.writeBuffer(p,0,e);let m=c.createBuffer({size:Math.max(t.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});t.byteLength>0&&c.queue.writeBuffer(m,0,t);let h=c.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});c.queue.writeBuffer(h,0,new Float32Array([l,u,d,f,a,o,s,0]));let g=c.createBindGroup({layout:this.#n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:h}}]}),_=new OffscreenCanvas(a,o),v=_.getContext(`webgpu`);v.configure({device:c,format:this.#r,alphaMode:i?`opaque`:`premultiplied`});let y=i?{r:i[0]/255,g:i[1]/255,b:i[2]/255,a:1}:{r:0,g:0,b:0,a:0},b=c.createCommandEncoder(),x=b.beginRenderPass({colorAttachments:[{view:v.getCurrentTexture().createView(),clearValue:y,loadOp:`clear`,storeOp:`store`}]});return n>0&&(x.setPipeline(this.#n),x.setBindGroup(0,g),x.setVertexBuffer(0,p),x.setVertexBuffer(1,m),x.draw(n)),x.end(),c.queue.submit([b.finish()]),p.destroy(),m.destroy(),h.destroy(),_.transferToImageBitmap()}};function cn(){return sn.init()}function ln(){return sn.isReady}function un(){sn.loadMeshShader()}function dn(e,t,n,r,i,a,o,s){return sn.draw(e,t,n,r,i,a,o,s)}var Y={FILL:`Fill`,STROKE:`Stroke`,SHADING:`Shading`};function fn(e,t){if(!t)return;let n=t[2]-t[0],r=t[3]-t[1],i=new Path2D;i.rect(t[0],t[1],n,r),e.clip(i)}var pn=class{matrix=null;isModifyingCurrentTransform(){return!1}getPattern(){E("Abstract method `getPattern` called.")}},mn=class extends pn{constructor(e){super(),this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7]}isOriginBased(){return this._p0[0]===0&&this._p0[1]===0&&(!this.isRadial()||this._p1[0]===0&&this._p1[1]===0)}isRadial(){return this._type===`radial`}areConic(){if(!this.isRadial())return!1;let e=Math.hypot(this._p0[0]-this._p1[0],this._p0[1]-this._p1[1]);return e+this._r1>this._r0&&e+this._r0>this._r1}_createGradient(e,t=null){let n,r=this._p0,i=this._p1;if(t&&(r=r.slice(),i=i.slice(),I.applyTransform(r,t),I.applyTransform(i,t)),this._type===`axial`)n=e.createLinearGradient(r[0],r[1],i[0],i[1]);else if(this._type===`radial`){let a=this._r0,o=this._r1;if(t){let e=new Float32Array(2);I.singularValueDecompose2dScale(t,e),a*=e[0],o*=e[0]}n=e.createRadialGradient(r[0],r[1],a,i[0],i[1],o)}for(let e of this._colorStops)n.addColorStop(e[0],e[1]);return n}_createReversedGradient(e,t=null){let n=this._p1,r=this._p0;t&&(n=n.slice(),r=r.slice(),I.applyTransform(n,t),I.applyTransform(r,t));let i=this._r1,a=this._r0;if(t){let e=new Float32Array(2);I.singularValueDecompose2dScale(t,e),i*=e[0],a*=e[0]}let o=e.createRadialGradient(n[0],n[1],i,r[0],r[1],a),s=this._colorStops.map(([e,t])=>[1-e,t]).reverse();for(let[e,t]of s)o.addColorStop(e,t);return o}getPattern(e,t,n,r){let i;if(r===Y.STROKE||r===Y.FILL){if(this.isOriginBased()){let r=I.transform(n,t.baseTransform);this.matrix&&(r=I.transform(r,this.matrix));let i=.001,a=Math.hypot(r[0],r[1]),o=Math.hypot(r[2],r[3]),s=(r[0]*r[2]+r[1]*r[3])/(a*o);if(Math.abs(s)c[r*2+1]&&(f=n,n=r,r=f,f=a,a=o,o=f),c[r*2+1]>c[i*2+1]&&(f=r,r=i,i=f,f=o,o=s,s=f),c[n*2+1]>c[r*2+1]&&(f=n,n=r,r=f,f=a,a=o,o=f);let p=(c[n*2]+t.offsetX)*t.scaleX,m=(c[n*2+1]+t.offsetY)*t.scaleY,h=(c[r*2]+t.offsetX)*t.scaleX,g=(c[r*2+1]+t.offsetY)*t.scaleY,_=(c[i*2]+t.offsetX)*t.scaleX,v=(c[i*2+1]+t.offsetY)*t.scaleY;if(m>=v)return;let y=l[a*4],b=l[a*4+1],x=l[a*4+2],S=l[o*4],C=l[o*4+1],w=l[o*4+2],T=l[s*4],E=l[s*4+1],D=l[s*4+2],O=Math.round(m),k=Math.round(v),A,j,M,N,ee,te,ne,re;for(let e=O;e<=k;e++){if(ev?1:g===v?0:(g-e)/(g-v),A=h-(h-_)*t,j=S-(S-T)*t,M=C-(C-E)*t,N=w-(w-D)*t}let t;t=ev?1:(m-e)/(m-v),ee=p-(p-_)*t,te=y-(y-T)*t,ne=b-(b-E)*t,re=x-(x-D)*t;let n=Math.round(Math.min(A,ee)),r=Math.round(Math.max(A,ee)),i=d*e+n*4;for(let e=n;e<=r;e++)t=(A-e)/(A-ee),t<0?t=0:t>1&&(t=1),u[i++]=j-(j-te)*t|0,u[i++]=M-(M-ne)*t|0,u[i++]=N-(N-re)*t|0,u[i++]=255}}var gn=class extends pn{constructor(e){super(),this._posData=e[2],this._colData=e[3],this._vertexCount=e[4],this._bounds=e[5],this._bbox=e[6],this._background=e[7],un()}_createMeshCanvas(e,t,n){let r=1.1,i=3e3,a=Math.floor(this._bounds[0]),o=Math.floor(this._bounds[1]),s=Math.ceil(this._bounds[2])-a,c=Math.ceil(this._bounds[3])-o,l=Math.min(Math.ceil(Math.abs(s*e[0]*r)),i)||1,u=Math.min(Math.ceil(Math.abs(c*e[1]*r)),i)||1,d=s?s/l:1,f=c?c/u:1,p={coords:this._posData,colors:this._colData,offsetX:-a,offsetY:-o,scaleX:1/d,scaleY:1/f},m=l+4,h=u+4,g=n.create(m,h);if(ln()&&this._vertexCount>48)g.context.drawImage(dn(this._posData,this._colData,this._vertexCount,p,t,m,h,2),0,0);else{let e=g.context.createImageData(l,u);if(t){let n=e.data;for(let e=0,r=n.length;ec+1e-6||t>l+1e-6)return null;let u=Math.floor((n-o)/c)+1,d=Math.ceil((n+e-i)/c)-1,f=Math.floor((r-s)/l)+1,p=Math.ceil((r+t-a)/l)-1;return d<=u&&p<=f?[u,f]:null}updatePatternDims(e,t){let n=I.inverseTransform(this.patternBaseMatrix),r=[e[0],e[1]],i=[e[2],e[3]];I.applyTransform(r,n),I.applyTransform(i,n),t[0]=Math.abs(i[0]-r[0]),t[1]=Math.abs(i[1]-r[1]),t[2]=Math.min(r[0],i[0]),t[3]=Math.min(r[1],i[1])}_renderTileCanvas(e,t,n,r){let[i,a,o,s]=this.bbox,c=e.canvasFactory.create(n.size,r.size),l=c.context,u=this.canvasGraphicsFactory.createCanvasGraphics(l,t);return u.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(u,this.paintType,this.color),l.translate(-n.scale*i,-r.scale*a),u.transform(0,n.scale,0,0,r.scale,0,0),l.save(),u.dependencyTracker?.save(),this.clipBbox(u,i,a,o,s),u.baseTransform=B(u.ctx),u.executeOperatorList(this.operatorList),u.endDrawing(),u.dependencyTracker?.restore(),l.restore(),c}_getCombinedScales(){let e=new Float32Array(2);I.singularValueDecompose2dScale(this.matrix,e);let[t,n]=e;return I.singularValueDecompose2dScale(this.baseTransform,e),[t*e[0],n*e[1]]}drawPattern(e,t,n=!1,[r,i],a){let[o,s,c,l]=this.bbox,u=e.dependencyTracker;if(u&&(e.dependencyTracker=new Tt(u,a)),e.save(),n?e.ctx.clip(t,`evenodd`):e.ctx.clip(t),e.ctx.setTransform(...this.patternBaseMatrix),e.ctx.translate(r*this.xstep,i*this.ystep),this.needsIsolation||e.ctx.globalAlpha!==1||e.ctx.globalCompositeOperation!==`source-over`||e.inSMaskMode){let t=c-o,n=l-s,[r,i]=this._getCombinedScales(),u=this.getSizeAndScale(t,this.ctx.canvas.width,r),d=this.getSizeAndScale(n,this.ctx.canvas.height,i),f=this._renderTileCanvas(e,a,u,d);e.ctx.drawImage(f.canvas,o,s,t,n),e.canvasFactory.destroy(f)}else this.setFillAndStrokeStyleToContext(e,this.paintType,this.color),this.clipBbox(e,o,s,c,l),e.baseTransformStack.push(e.baseTransform),e.baseTransform=B(e.ctx),e.executeOperatorList(this.operatorList),e.baseTransform=e.baseTransformStack.pop();e.restore(),u&&(e.dependencyTracker=u)}createPatternCanvas(e,t){let[n,r,i,a]=this.bbox,o=i-n,s=a-r,{xstep:c,ystep:l}=this;c=Math.abs(c),l=Math.abs(l),w(`TilingType: `+this.tilingType);let[u,d]=this._getCombinedScales(),f=o,p=s,m=!1,h=!1;Math.ceil(c*u)>=Math.ceil(o*u)?f=c:m=!0,Math.ceil(l*d)>=Math.ceil(s*d)?p=l:h=!0;let g=this.getSizeAndScale(f,this.ctx.canvas.width,u),_=this.getSizeAndScale(p,this.ctx.canvas.height,d),v=this._renderTileCanvas(e,t,g,_);if(m||h){let t=v.canvas;m&&(f=c),h&&(p=l);let i=this.getSizeAndScale(f,this.ctx.canvas.width,u),a=this.getSizeAndScale(p,this.ctx.canvas.height,d),g=i.size,_=a.size,y=e.canvasFactory.create(g,_),b=y.context,x=m?Math.floor(o/c):0,S=h?Math.floor(s/l):0;for(let e=0;e<=x;e++)for(let n=0;n<=S;n++)b.drawImage(t,g*e,_*n,g,_,0,0,g,_);return e.canvasFactory.destroy(v),{canvas:y.canvas,canvasEntry:y,scaleX:i.scale,scaleY:a.scale,offsetX:n,offsetY:r}}return{canvas:v.canvas,canvasEntry:v,scaleX:g.scale,scaleY:_.scale,offsetX:n,offsetY:r}}getSizeAndScale(t,n,r){let i=Math.max(e.MAX_PATTERN_SIZE,n),a=Math.ceil(t*r);return a>=i?a=i:r=a/t,{scale:r,size:a}}clipBbox(e,t,n,r,i){let a=r-t,o=i-n,s=new Path2D;s.rect(t,n,a,o),I.axialAlignedBoundingBox([t,n,r,i],B(e.ctx),e.current.minMax),e.ctx.clip(s),e.current.updateClipFromPath()}setFillAndStrokeStyleToContext(e,t,n){let r=e.ctx,i=e.current;switch(i.patternFill=i.patternStroke=!1,t){case yn.COLORED:let{fillStyle:e,strokeStyle:a}=this.ctx;r.fillStyle=i.fillColor=e,r.strokeStyle=i.strokeColor=a;break;case yn.UNCOLORED:r.fillStyle=r.strokeStyle=n,i.fillColor=i.strokeColor=n;break;default:throw new ie(`Unsupported paint type: ${t}`)}}isModifyingCurrentTransform(){return!1}getPattern(e,t,n,r,i){let a=r===Y.SHADING?n:I.transform(n,this.patternBaseMatrix),o=this.createPatternCanvas(t,i),s=new DOMMatrix(a);s=s.translate(o.offsetX,o.offsetY),s=s.scale(1/o.scaleX,1/o.scaleY);let c=e.createPattern(o.canvas,`repeat`);return t.canvasFactory.destroy(o.canvasEntry),c.setTransform(s),c}},xn=16,Sn=100,Cn=15,wn=10,X=16,Tn=new DOMMatrix,Z=new Float32Array(2);function En(e,t){if(e._removeMirroring)throw Error(`Context is already forwarding operations.`);let n=new Map;for(let r of[`save`,`restore`,`rotate`,`scale`,`translate`,`transform`,`setTransform`,`resetTransform`,`clip`,`moveTo`,`lineTo`,`bezierCurveTo`,`quadraticCurveTo`,`arc`,`arcTo`,`ellipse`,`rect`,`roundRect`,`closePath`,`beginPath`]){let i=e[r];typeof i==`function`&&typeof t[r]==`function`&&(n.set(r,i),e[r]=function(...e){return t[r](...e),i.apply(this,e)})}e._removeMirroring=()=>{for(let[t,r]of n)e[t]=r;delete e._removeMirroring}}function Dn(e,t,n,r,i,a,o,s,c,l){let[u,d,f,p,m,h]=B(e);if(d===0&&f===0){let g=o*u+m,_=Math.round(g),v=s*p+h,y=Math.round(v),b=(o+c)*u+m,x=Math.abs(Math.round(b)-_)||1,S=(s+l)*p+h,C=Math.abs(Math.round(S)-y)||1;return e.setTransform(Math.sign(u),0,0,Math.sign(p),_,y),e.drawImage(t,n,r,i,a,0,0,x,C),e.setTransform(u,d,f,p,m,h),[x,C]}if(u===0&&p===0){let g=s*f+m,_=Math.round(g),v=o*d+h,y=Math.round(v),b=(s+l)*f+m,x=Math.abs(Math.round(b)-_)||1,S=(o+c)*d+h,C=Math.abs(Math.round(S)-y)||1;return e.setTransform(0,Math.sign(d),Math.sign(f),0,_,y),e.drawImage(t,n,r,i,a,0,0,C,x),e.setTransform(u,d,f,p,m,h),[C,x]}e.drawImage(t,n,r,i,a,o,s,c,l);let g=Math.hypot(u,d),_=Math.hypot(f,p);return[g*c,_*l]}var On=class{alphaIsShape=!1;fontSize=0;fontSizeScale=1;textMatrix=null;textMatrixScale=1;fontMatrix=i;leading=0;x=0;y=0;lineX=0;lineY=0;charSpacing=0;wordSpacing=0;textHScale=1;textRenderingMode=p.FILL;textRise=0;fillColor=`#000000`;strokeColor=`#000000`;tilingPatternDims=null;patternFill=!1;patternStroke=!1;fillAlpha=1;strokeAlpha=1;lineWidth=1;activeSMask=null;transferMaps=`none`;minMax=r.slice();constructor(e,t){this.clipBox=new Float32Array([0,0,e,t])}clone(){let e=Object.create(this);return e.clipBox=this.clipBox.slice(),e.minMax=this.minMax.slice(),e.tilingPatternDims=this.tilingPatternDims?.slice(),e}getPathBoundingBox(e=Y.FILL,t=null){let n=this.minMax.slice();if(e===Y.STROKE){t||E(`Stroke bounding box must include transform.`),I.singularValueDecompose2dScale(t,Z);let e=Z[0]*this.lineWidth/2,r=Z[1]*this.lineWidth/2;n[0]-=e,n[1]-=r,n[2]+=e,n[3]+=r}return n}updateClipFromPath(){let e=I.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(e){this.clipBox.set(e,0),this.minMax.set(r,0)}getClippedPathBoundingBox(e=Y.FILL,t=null){return I.intersect(this.clipBox,this.getPathBoundingBox(e,t))}};function kn(e,t){let{width:n,height:r,kind:i}=t,a=r%X,o=(r-a)/X,s=a===0?o:o+1,c=e.createImageData(n,X),l=0,u=t.data,d=c.data,f;if(i===m.GRAYSCALE_1BPP)for(f=0;fwn&&typeof n==`function`,u=l?Date.now()+Cn:0,d=0,f=this.commonObjs,p=this.objs,m,h;for(;;){if(r!==void 0){if(s===r.nextBreakPoint)return r.breakIt(s,n),s;if(r.shouldSkip(s)){if(++s===c)return s;continue}}if(!i||i(s)){if(m=o[s],h=a[s]??null,m!==v.dependency)h===null?this[m](s):this[m](s,...h);else for(let e of h){this.dependencyTracker?.recordNamedData(e,s);let t=e.startsWith(`g_`)?f:p;if(!t.has(e))return t.get(e,n),s}}if(s++,s===c)return s;if(l&&++d>wn){if(Date.now()>u)return n(),s;d=0}}}#u(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(this.transparentCanvasEntry),this.transparentCanvas=null,this.transparentCanvasEntry=null)}endDrawing(){this.#u();for(let e of this.smaskGroupCanvases)this.canvasFactory.destroy(e);this.smaskGroupCanvases.length=0,this._clearPreparedSMask(),this.tempSMask=null,this.smaskStack.length=0;for(let e of this.#l)this.#y(e);this.#l.length=0,this.#n=null,this.#r=null,this.#i=null,this.#a=null,this.#o=1,this.#c=null,this.#t=0,this.#e=0,this.cachedPatterns.clear();for(let e of this._cachedBitmapsMap.values()){for(let t of e.values())typeof HTMLCanvasElement<`u`&&t instanceof HTMLCanvasElement&&(t.width=t.height=0);e.clear()}this._cachedBitmapsMap.clear(),this.#d()}#d(){if(this.pageColors){let e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(e!==`none`){let t=this.ctx.filter;this.ctx.filter=e,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=t}}}_scaleImage(e,t){let n=e.width??e.displayWidth,r=e.height??e.displayHeight,i=Math.max(Math.hypot(t[0],t[1]),1),a=Math.max(Math.hypot(t[2],t[3]),1),o=[],s=i,c=a,l=n,u=r;for(;s>2&&l>1||c>2&&u>1;){let e=l,t=u;s>2&&l>1&&(e=Math.ceil(l/2),s/=l/e),c>2&&u>1&&(t=Math.ceil(u/2),c/=u/t),o.push({newWidth:e,newHeight:t}),l=e,u=t}if(o.length===0)return{img:e,paintWidth:n,paintHeight:r,tmpCanvas:null};if(o.length===1){let{newWidth:t,newHeight:i}=o[0],a=this.canvasFactory.create(t,i);return a.context.drawImage(e,0,0,n,r,0,0,t,i),{img:a.canvas,paintWidth:t,paintHeight:i,tmpCanvas:a}}let d=this.canvasFactory.create(1,1),f=this.canvasFactory.create(1,1),p=n,m=r,h=e;for(let{newWidth:e,newHeight:t}of o)this.canvasFactory.reset(f,e,t),f.context.drawImage(h,0,0,p,m,0,0,e,t),[d,f]=[f,d],h=d.canvas,p=e,m=t;return this.canvasFactory.destroy(f),{img:d.canvas,paintWidth:p,paintHeight:m,tmpCanvas:d}}_createMaskCanvas(e,t){let n=this.ctx,{width:i,height:a}=t,o=this.current.fillColor,s=this.current.patternFill,c=B(n),l,u,d,f;if((t.bitmap||t.data)&&t.count>1){let n=t.bitmap||t.data.buffer;u=JSON.stringify(s?c:[c.slice(0,4),o]),l=this._cachedBitmapsMap.getOrInsertComputed(n,me);let r=l.get(u);if(r&&!s){let t=Math.round(Math.min(c[0],c[2])+c[4]),n=Math.round(Math.min(c[1],c[3])+c[5]);return this.dependencyTracker?.recordDependencies(e,G.transformAndFill),{canvas:r,offsetX:t,offsetY:n}}d=r}d||(f=this.canvasFactory.create(i,a),An(f.context,t));let p=I.transform(c,[1/i,0,0,-1/a,0,0]);p=I.transform(p,[1,0,0,1,0,-a]);let m=r.slice();I.axialAlignedBoundingBox([0,0,i,a],p,m);let[h,g,_,v]=m,y=Math.round(_-h)||1,b=Math.round(v-g)||1,x=this.canvasFactory.create(y,b),S=x.context,C=h,w=g;S.translate(-C,-w),S.transform(...p);let T=null;if(!d){let e=this._scaleImage(f.canvas,V(S));d=e.img,T=e.tmpCanvas,d!==f.canvas&&(this.canvasFactory.destroy(f),f=null),l&&s&&(l.set(u,d),T=null,f=null)}S.imageSmoothingEnabled=Nn(B(S),t.interpolate),Dn(S,d,0,0,d.width,d.height,0,0,i,a),T&&this.canvasFactory.destroy(T),f&&this.canvasFactory.destroy(f),S.globalCompositeOperation=`source-in`;let E=I.transform(V(S),[1,0,0,1,-C,-w]);return S.fillStyle=s?o.getPattern(n,this,E,Y.FILL,e):o,S.fillRect(0,0,i,a),l&&!s&&l.set(u,x.canvas),this.dependencyTracker?.recordDependencies(e,G.transformAndFill),{canvas:x.canvas,canvasEntry:l&&!s?null:x,offsetX:Math.round(C),offsetY:Math.round(w)}}setLineWidth(e,t){this.dependencyTracker?.recordSimpleData(`lineWidth`,e),t!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=t,this.ctx.lineWidth=t}setLineCap(e,t){this.dependencyTracker?.recordSimpleData(`lineCap`,e),this.ctx.lineCap=Pn[t]}setLineJoin(e,t){this.dependencyTracker?.recordSimpleData(`lineJoin`,e),this.ctx.lineJoin=Fn[t]}setMiterLimit(e,t){this.dependencyTracker?.recordSimpleData(`miterLimit`,e),this.ctx.miterLimit=t}setDash(e,t,n){this.dependencyTracker?.recordSimpleData(`dash`,e);let r=this.ctx;r.setLineDash!==void 0&&(r.setLineDash(t),r.lineDashOffset=n)}setRenderingIntent(e,t){}setFlatness(e,t){}setGState(e,t){for(let[n,r]of t)switch(n){case`LW`:this.setLineWidth(e,r);break;case`LC`:this.setLineCap(e,r);break;case`LJ`:this.setLineJoin(e,r);break;case`ML`:this.setMiterLimit(e,r);break;case`D`:this.setDash(e,r[0],r[1]);break;case`RI`:this.setRenderingIntent(e,r);break;case`FL`:this.setFlatness(e,r);break;case`Font`:this.setFont(e,r[0],r[1]);break;case`CA`:this.dependencyTracker?.recordSimpleData(`strokeAlpha`,e),this.current.strokeAlpha=r;break;case`ca`:this.dependencyTracker?.recordSimpleData(`fillAlpha`,e),this.ctx.globalAlpha=this.current.fillAlpha=r;break;case`BM`:this.dependencyTracker?.recordSimpleData(`globalCompositeOperation`,e),this.ctx.globalCompositeOperation=r;break;case`SMask`:this.dependencyTracker?.recordSimpleData(`SMask`,e),this.current.activeSMask=r?this.tempSMask:null,this.current.activeSMask&&(this.current.activeSMask.blendMode=this.ctx.globalCompositeOperation),this.tempSMask=null,this.checkSMaskState(e);break;case`TR`:this.dependencyTracker?.recordSimpleData(`filter`,e),this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(r)}}get inSMaskMode(){return!!this.suspendedCtx}_clearPreparedSMask(){this.smaskPreparedEntry&&=(this.canvasFactory.destroy(this.smaskPreparedEntry),null),this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null}_ensurePreparedSMask(e){e!==this.smaskPreparedFor&&(this._clearPreparedSMask(),this._prepareSMaskCanvas(e))}checkSMaskState(e){let t=this.inSMaskMode;this.current.activeSMask&&!t?this.beginSMaskMode(e):!this.current.activeSMask&&t?this.endSMaskMode():this.current.activeSMask&&t&&this._ensurePreparedSMask(this.current.activeSMask)}_prepareSMaskCanvas(e){let{canvas:t,subtype:n,backdrop:r,transferMap:i}=e,a=n===`Luminosity`||n===`Alpha`&&i;if(!a&&!(n===`Luminosity`&&r)){this.smaskPreparedFor=e;return}let o;if(n===`Luminosity`&&r){let[e,t,n]=Me(r),a=Math.round(.3*e+.59*t+.11*n);o=i?.[a]??a}else o=i?.[0]??0;let{width:s,height:c}=this.ctx.canvas,l=t.width*t.height,u=s*c<4*l,d=a?{url:n===`Alpha`?this.filterFactory.addAlphaFilter(i):this.filterFactory.addLuminosityFilter(i),subtype:n,transferMap:i}:null,f=n===`Luminosity`?r:null,p,m,h;u?(p=this._bakeSMaskCanvas(t,e.offsetX,e.offsetY,s,c,f,d),m=0,h=0):(p=this._bakeSMaskCanvas(t,0,0,t.width,t.height,f,d),m=e.offsetX,h=e.offsetY),this.smaskPreparedEntry=p,this.smaskPreparedFor=e,this.smaskPreparedOffsetX=m,this.smaskPreparedOffsetY=h,this.smaskPreparedOOBAlpha=!u&&o!==0?o:null}_bakeSMaskCanvas(e,t,n,r,i,a,o){!a&&!o&&E(`_bakeSMaskCanvas with neither backdrop nor filter`);let s=this.canvasFactory.create(r,i),c=s.context;if(c.drawImage(e,t,n),a&&(c.globalCompositeOperation=`destination-atop`,c.fillStyle=a,c.fillRect(0,0,r,i)),!o)return s;let l=this.canvasFactory.create(r,i),u=l.context;u.filter=o.url;let d=F.isCanvasFilterSupported&&u.filter!==`none`&&u.filter!==``;if(u.drawImage(s.canvas,0,0),F.isCanvasFilterSupported&&(u.filter=`none`),!d){let e=u.getImageData(0,0,r,i),{data:t}=e,{transferMap:n}=o;if(o.subtype===`Luminosity`)for(let e=0,r=t.length;ethis.filterFactory.addKnockoutFilter(n))),!s||c!==`none`)return t&&(o.save(),o.setTransform(1,0,0,1,0,0),o.clearRect(0,0,r,i),o.restore()),o.filter=c,o.drawImage(e,0,0),o.filter=`none`,a;let l=e.getContext(`2d`,{willReadFrequently:!0}).getImageData(0,0,r,i),u=o.createImageData(r,i),d=l.data,f=u.data,p=n>0?1/n:1e6;for(let e=3,t=d.length;e0||!this.contentVisible)return!1;this.#t++,this.#o=e;let t=this.#l.at(-1),{canvas:n}=this.ctx,r=this.#p(t,`knockoutTempEntry`,n.width,n.height);this.#n=r;let i=r.context;return i.save(),i.setTransform(this.ctx.getTransform()),jn(this.ctx,i),this.#a=i.globalCompositeOperation,i.globalCompositeOperation=`source-over`,En(i,this.ctx),this.#c=t,this.#r=this.ctx,this.#i=this.suspendedCtx,this.ctx=i,this.inSMaskMode&&(this.suspendedCtx=i),!0}#g(e){if(!e)return;let t=this.#n,n=this.#r,r=this.#i,i=t.context;this.#n=null,this.#r=null,this.#i=null,this.inSMaskMode&&this.suspendedCtx===i&&this.ctx!==i&&this.endSMaskMode(),this.inSMaskMode&&(this.suspendedCtx=r),this.ctx._removeMirroring(),this.ctx.globalCompositeOperation=this.#a,this.#a=null,jn(this.ctx,n),this.ctx=n;let a=this.#c;this.#c=null;let o=this.#o;this.#o=1;try{this.#m(r??n,t.canvas,{backdropCanvas:a?.backdropCtx?.canvas??null,backdropOffset:a?.backdropCtx?[a.offsetX,a.offsetY]:[0,0],reuseMaskEntry:a?.knockoutMaskEntry??null,poolMeta:a,knockoutAlpha:o})}finally{i.restore(),this.#t--,a||this.canvasFactory.destroy(t)}}compose(e){if(!this.current.activeSMask)return;e=e?[Math.floor(e[0]),Math.floor(e[1]),Math.ceil(e[2]),Math.ceil(e[3])]:[0,0,this.ctx.canvas.width,this.ctx.canvas.height];let t=this.current.activeSMask,n=this.suspendedCtx,r=this.#t>0&&n===this.ctx;this.composeSMask(r?null:n,t,this.ctx,e),!r&&(this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore())}composeSMask(e,t,n,r){let i=r[0],a=r[1],o=r[2]-i,s=r[3]-a;if(o===0||s===0)return;let c=this.smaskPreparedEntry;if(c){let e=i,r=a,l=o,u=s,d=this.smaskPreparedOOBAlpha,f=d!==null;if(f){e=Math.max(i,t.offsetX),r=Math.max(a,t.offsetY);let n=Math.min(i+o,t.offsetX+t.canvas.width),c=Math.min(a+s,t.offsetY+t.canvas.height);l=n-e,u=c-r}if(l>0&&u>0){let t=e-this.smaskPreparedOffsetX,i=r-this.smaskPreparedOffsetY;n.save(),n.globalAlpha=1,n.setTransform(1,0,0,1,0,0);let a=new Path2D;a.rect(e,r,l,u),n.clip(a),n.globalCompositeOperation=`destination-in`,n.drawImage(c.canvas,t,i,l,u,e,r,l,u),n.restore()}f&&d<255&&this._applySMaskOOBAlpha(n,i,a,o,s,e,r,e+l,r+u,d)}else this.genericComposeSMask(t,n,o,s,i,a);e&&(e.save(),e.globalAlpha=1,e.globalCompositeOperation=t.blendMode||`source-over`,e.setTransform(1,0,0,1,0,0),e.drawImage(n.canvas,i,a,o,s,i,a,o,s),e.restore())}_applySMaskOOBAlpha(e,t,n,r,i,a,o,s,c,l){let u=ao.measureText(t))),(d===p.STROKE||d===p.FILL_STROKE)&&(this.dependencyTracker&&this.dependencyTracker?.recordCharacterBBox(e,o,c,u,n,r,()=>o.measureText(t)).recordDependencies(e,G.stroke),o.strokeText(t,n,r));f&&((this.pendingTextPaths||=[]).push({transform:B(o),x:n,y:r,fontSize:u,path:g}),this.dependencyTracker?.recordCharacterBBox(e,o,c,u,n,r))}get isFontSubpixelAAEnabled(){let e=this.canvasFactory.create(10,10),t=e.context;t.scale(1.5,1),t.fillText(`I`,0,10);let n=t.getImageData(0,0,10,10).data;this.canvasFactory.destroy(e);let r=!1;for(let e=3;e0&&n[e]<255){r=!0;break}return M(this,`isFontSubpixelAAEnabled`,r)}showText(e,t){this.dependencyTracker&&(this.dependencyTracker.recordDependencies(e,G.showText).resetBBox(e),this.current.textRenderingMode&p.ADD_TO_PATH_FLAG&&this.dependencyTracker.recordFutureForcedDependency(`textClip`,e).inheritPendingDependenciesAsFutureForcedDependencies());let n=this.current,r=n.font;if(r.isType3Font){let r=this.#h(n.fillAlpha);this.showType3Text(e,t),this.dependencyTracker?.recordShowTextOperation(e),this.#g(r);return}let i=n.fontSize;if(i===0){this.dependencyTracker?.recordOperation(e);return}let a=this.#h(n.fillAlpha),o=this.ctx,s=n.fontSizeScale,c=n.charSpacing,l=n.wordSpacing,u=n.fontDirection,d=n.textHScale*u,f=t.length,m=r.vertical,h=m?1:-1,g=r.defaultVMetrics,_=i*n.fontMatrix[0],v=n.textRenderingMode===p.FILL&&!r.disableFontFace&&!n.patternFill;o.save(),n.textMatrix&&o.transform(...n.textMatrix),o.translate(n.x,n.y+n.textRise),u>0?o.scale(d,-1):o.scale(d,1);let y,b,x=n.textRenderingMode&p.FILL_STROKE_MASK,S=x===p.FILL||x===p.FILL_STROKE,C=x===p.STROKE||x===p.FILL_STROKE,w=n.lineWidth,T=n.textMatrixScale;if(T===0||w===0?C&&(w=this.getSinglePixelWidth()):w/=T,s!==1&&(o.scale(s,s),w/=s),o.lineWidth=w,S&&n.patternFill){o.save();let t=n.fillColor.getPattern(o,this,V(o),Y.FILL,e);y=B(o),o.restore(),o.fillStyle=t}if(C&&n.patternStroke){o.save();let t=n.strokeColor.getPattern(o,this,V(o),Y.STROKE,e);b=B(o),o.restore(),o.strokeStyle=t}if(r.isInvalidPDFjsFont){let r=[],i=0;for(let e of t)r.push(e.unicode),i+=e.width;let s=r.join(``);if(o.fillText(s,0,0),this.dependencyTracker!==null){let t=o.measureText(s);this.dependencyTracker.recordBBox(e,this.ctx,-t.actualBoundingBoxLeft,t.actualBoundingBoxRight,-t.actualBoundingBoxAscent,t.actualBoundingBoxDescent).recordShowTextOperation(e)}n.x+=i*_*d,o.restore(),this.compose(),this.#g(a);return}let E=0,D;for(D=0;D0){w=o.measureText(f);let e=w.width*1e3/i*s;if(Cw??o.measureText(f));else if(this.paintChar(e,f,x,S,y,b),p){let t=x+i*p.offset.x/s,n=S-i*p.offset.y/s;this.paintChar(e,p.fontChar,t,n,y,b)}}let T=m?C*_-d*u:C*_+d*u;E+=T,a&&o.restore()}m?n.y-=E:n.x+=E*d,o.restore(),this.compose(),this.dependencyTracker?.recordShowTextOperation(e),this.#g(a)}showType3Text(e,t){let n=this.ctx,r=this.current,a=r.font,o=r.fontSize,s=r.fontDirection,c=a.vertical?1:-1,l=r.charSpacing,u=r.wordSpacing,d=r.textHScale*s,f=r.fontMatrix||i,m=t.length,h=r.textRenderingMode===p.INVISIBLE,g,_,y,b;if(h||o===0)return;this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,n.save(),r.textMatrix&&n.transform(...r.textMatrix),n.translate(r.x,r.y+r.textRise),n.scale(d,s);let x=this.dependencyTracker;for(this.dependencyTracker=x?new Tt(x,e):null,g=0;gnew e(t,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new Tt(this.dependencyTracker,n,!0):null)},t)}else r=this._getPattern(t,n[1],n[2]);return r}setStrokeColorN(e,...t){this.dependencyTracker?.recordSimpleData(`strokeColor`,e),this.current.strokeColor=this.getColorN_Pattern(e,t),this.current.patternStroke=!0}setFillColorN(e,...t){this.dependencyTracker?.recordSimpleData(`fillColor`,e);let n=this.current.fillColor=this.getColorN_Pattern(e,t);this.current.patternFill=!0,this.current.tilingPatternDims=n instanceof bn?[0,0,0,0]:null}setStrokeRGBColor(e,t){this.dependencyTracker?.recordSimpleData(`strokeColor`,e),this.ctx.strokeStyle=this.current.strokeColor=t,this.current.patternStroke=!1}setStrokeTransparent(e){this.dependencyTracker?.recordSimpleData(`strokeColor`,e),this.ctx.strokeStyle=this.current.strokeColor=`transparent`,this.current.patternStroke=!1}setFillRGBColor(e,t){this.dependencyTracker?.recordSimpleData(`fillColor`,e),this.ctx.fillStyle=this.current.fillColor=t,this.current.patternFill=!1,this.current.tilingPatternDims=null}setFillTransparent(e){this.dependencyTracker?.recordSimpleData(`fillColor`,e),this.ctx.fillStyle=this.current.fillColor=`transparent`,this.current.patternFill=!1,this.current.tilingPatternDims=null}_getPattern(e,t,n=null){let r=this.cachedPatterns.getOrInsertComputed(t,()=>vn(this.getObject(e,t)));return n&&(r.matrix=n),r}shadingFill(e,t){if(!this.contentVisible)return;let n=this.#h(this.current.fillAlpha),i=this.ctx;this.save(e),i.fillStyle=this._getPattern(e,t).getPattern(i,this,V(i),Y.SHADING,e);let a=V(i);if(a){let{width:e,height:t}=i.canvas,n=r.slice();I.axialAlignedBoundingBox([0,0,e,t],a,n);let[o,s,c,l]=n;this.ctx.fillRect(o,s,c-o,l-s)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.dependencyTracker?.resetBBox(e).recordFullPageBBox(e).recordDependencies(e,G.transform).recordDependencies(e,G.fill).recordOperation(e),this.compose(this.current.getClippedPathBoundingBox()),this.restore(e),this.#g(n)}beginInlineImage(){E(`Should not call beginInlineImage`)}beginImageData(){E(`Should not call beginImageData`)}paintFormXObjectBegin(e,t,n){if(this.contentVisible&&(this.save(e),this.baseTransformStack.push(this.baseTransform),t&&this.transform(e,...t),this.baseTransform=B(this.ctx),n)){I.axialAlignedBoundingBox(n,this.baseTransform,this.current.minMax);let[t,r,i,a]=n,o=new Path2D;o.rect(t,r,i-t,a-r),this.ctx.clip(o),this.dependencyTracker?.recordClipBox(e,this.ctx,t,i,r,a),this.endPath(e)}}paintFormXObjectEnd(e){this.contentVisible&&(this.restore(e),this.baseTransform=this.baseTransformStack.pop())}beginGroup(e,t){if(!this.contentVisible)return;this.save(e);let{inSMaskMode:n}=this;n&&(this.endSMaskMode(),this.current.activeSMask=null);let i=this.ctx;if((!t.needsIsolation||!t.isolated&&!t.hasSoftMask)&&!t.knockout&&!t.isGray&&this.#e===0&&i.globalAlpha===1&&i.globalCompositeOperation===`source-over`&&!n){if(t.bbox){let e=new Path2D,[n,r,a,o]=t.bbox;if(e.rect(n,r,a-n,o-r),t.matrix){let n=new Path2D;n.addPath(e,new DOMMatrix(t.matrix)),e=n}i.clip(e)}this.groupStack.push(null),this.#l.push(null),this.groupLevel++;return}!t.isolated&&!t.knockout&&this.#e===0&&w(`TODO: Fully support non-isolated non-knockout groups.`);let a=B(i);t.matrix&&i.transform(...t.matrix);let o=[0,0,i.canvas.width,i.canvas.height],s;t.bbox?(s=r.slice(),I.axialAlignedBoundingBox(t.bbox,B(i),s),s=I.intersect(s,o)||[0,0,0,0]):s=o;let c=Math.floor(s[0]),l=Math.floor(s[1]),u=Math.max(Math.ceil(s[2])-c,1),d=Math.max(Math.ceil(s[3])-l,1);this.current.startNewPathAndClipBox([0,0,u,d]);let f=this.canvasFactory.create(u,d);t.smask&&this.smaskGroupCanvases.push(f);let p=f.context,m=t.knockout&&!t.isolated?i:null,h=!t.isolated&&!t.knockout&&!t.smask&&t.needsIsolation&&this.#e>0,g=t.knockout?this.canvasFactory.create(u,d):null,_=this.#e;t.knockout?this.#e++:this.#e=0,p.translate(-c,-l),p.transform(...a);let v=!t.isolated&&!t.smask&&t.needsIsolation,y=v&&!n&&_===0&&!t.knockout&&!t.isGray&&t.hasSoftMask&&i.globalAlpha===1&&i.globalCompositeOperation===`source-over`&&this.current.transferMaps===`none`;if(v&&(n||y)&&(p.save(),p.setTransform(1,0,0,1,0,0),p.drawImage(i.canvas,-c,-l),p.restore()),t.bbox){let e=new Path2D,[n,r,i,a]=t.bbox;if(e.rect(n,r,i-n,a-r),t.matrix){let n=new Path2D;n.addPath(e,new DOMMatrix(t.matrix)),e=n}p.clip(e)}t.smask&&this.smaskStack.push({canvas:f.canvas,context:p,offsetX:c,offsetY:l,subtype:t.smask.subtype,backdrop:t.smask.backdrop,transferMap:t.smask.transferMap||null}),(!t.smask||this.dependencyTracker)&&(i.setTransform(1,0,0,1,0,0),i.translate(c,l),i.save()),jn(i,p),this.ctx=p,this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies([`fillAlpha`,`strokeAlpha`,`globalCompositeOperation`]).pushBaseTransform(i),this.setGState(e,[[`BM`,`source-over`],[`ca`,1],[`CA`,1],[`TR`,null]]),this.groupStack.push(i),this.#l.push({backdropCtx:m,savedKnockoutLevel:_,offsetX:c,offsetY:l,hasInnerBackdrop:h,replaceBackdrop:y,knockoutMaskEntry:g,knockoutTempEntry:null,knockoutBackdropEntry:null}),this.groupLevel++}endGroup(e,t){if(!this.contentVisible)return;this.groupLevel--;let n=this.ctx,i=this.groupStack.pop(),a=this.#l.pop();if(a&&(this.#e=a.savedKnockoutLevel),i===null){this.restore(e);return}if(t.isGray&&this.#v(n),this.ctx=i,this.ctx.imageSmoothingEnabled=!1,this.dependencyTracker?.popBaseTransform(),t.smask)this.tempSMask=this.smaskStack.pop(),this.restore(e),this.dependencyTracker&&(this.ctx.restore(),this.inSMaskMode&&this.ctx.setTransform(this.suspendedCtx.getTransform())),this.#y(a);else{this.ctx.restore();let t=B(this.ctx);this.restore(e),this.ctx.save(),this.ctx.setTransform(...t);let o=r.slice();I.axialAlignedBoundingBox([0,0,n.canvas.width,n.canvas.height],t,o);let s=this.#l.at(-1);if(this.#e>0){if(a.hasInnerBackdrop){let{width:e,height:r}=n.canvas,o=this.canvasFactory.create(e,r),s=o.context;s.drawImage(i.canvas,a.offsetX,a.offsetY,e,r,0,0,e,r),s.globalCompositeOperation=`source-over`,s.drawImage(n.canvas,0,0);let c=this.#f(n.canvas);s.globalCompositeOperation=`destination-in`,s.drawImage(c.canvas,0,0);let l=this.ctx.globalCompositeOperation,u=this.ctx.globalAlpha,d=this.ctx.filter;this.ctx.save(),this.ctx.setTransform(...t),this.ctx.globalAlpha=1,F.isCanvasFilterSupported&&(this.ctx.filter=`none`),this.ctx.globalCompositeOperation=`destination-out`,this.ctx.drawImage(c.canvas,0,0),this.ctx.globalCompositeOperation=l,this.ctx.globalAlpha=u,F.isCanvasFilterSupported&&(this.ctx.filter=d??`none`),this.ctx.drawImage(o.canvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(c),this.canvasFactory.destroy(o)}else{let e=s?.backdropCtx??null;this.#m(this.ctx,n.canvas,{backdropCanvas:e?.canvas??null,destTransform:t,backdropOffset:e?[s.offsetX+a.offsetX,s.offsetY+a.offsetY]:[0,0],sourceAlpha:this.ctx.globalAlpha,sourceFilter:this.ctx.filter})}}else{if(a.replaceBackdrop){let e=new Path2D;e.rect(0,0,n.canvas.width,n.canvas.height),this.ctx.clip(e),this.ctx.globalCompositeOperation=`copy`}this.ctx.drawImage(n.canvas,0,0)}this.ctx.restore(),this.canvasFactory.destroy({canvas:n.canvas,context:n}),this.#y(a),this.compose(o)}}#v(e){let{canvas:t}=e,{width:n,height:r}=t;if(F.isCanvasFilterSupported){e.save(),e.setTransform(1,0,0,1,0,0),e.filter=`grayscale(1)`,e.globalAlpha=1,e.globalCompositeOperation=`copy`,e.drawImage(t,0,0),e.restore();return}let i=e.getImageData(0,0,n,r),{data:a}=i;for(let e=0,t=a.length;ee.getAttribute(`data-canvas-name`)===o);n===-1?e.push(l):e[n]=l}else this.annotationCanvasMap.set(t,l);this.annotationCanvas.savedCtx=this.ctx,this.ctx=u,this.ctx.save(),this.ctx.setTransform(Z[0],0,0,-Z[1],0,s*Z[1]),Mn(this.ctx)}else{Mn(this.ctx),this.endPath(e);let t=new Path2D;t.rect(n[0],n[1],i,s),this.ctx.clip(t)}}this.current=new On(this.ctx.canvas.width,this.ctx.canvas.height),this.baseTransformStack.push(this.baseTransform),this.transform(e,...r),this.transform(e,...i),this.baseTransform=B(this.ctx)}endAnnotation(e){this.annotationCanvas&&(this.ctx.restore(),this.#d(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas),this.baseTransform=this.baseTransformStack.pop()}paintImageMaskXObject(e,t){if(!this.contentVisible)return;let n=t.count;t=this.getObject(e,t.data,t),t.count=n;let r=this.#h(this.current.fillAlpha),i=this.ctx,a=this._createMaskCanvas(e,t),o=a.canvas;i.save(),i.setTransform(1,0,0,1,0,0),i.drawImage(o,a.offsetX,a.offsetY),this.dependencyTracker?.resetBBox(e).recordBBox(e,this.ctx,a.offsetX,a.offsetX+o.width,a.offsetY,a.offsetY+o.height).recordOperation(e),i.restore(),a.canvasEntry&&this.canvasFactory.destroy(a.canvasEntry),this.compose(),this.#g(r)}paintImageMaskXObjectRepeat(e,t,n,r=0,i=0,a,o){if(!this.contentVisible)return;t=this.getObject(e,t.data,t);let s=this.#h(this.current.fillAlpha),c=this.ctx;c.save();let l=B(c);c.transform(n,r,i,a,0,0);let u=this._createMaskCanvas(e,t);c.setTransform(1,0,0,1,u.offsetX-l[4],u.offsetY-l[5]),this.dependencyTracker?.resetBBox(e);for(let t=0,s=o.length;tt?l/t:1,o=c>t?c/t:1}}this._cachedScaleForStroking[0]=a,this._cachedScaleForStroking[1]=o}return this._cachedScaleForStroking}rescaleAndStroke(e,t){let{ctx:n,current:{lineWidth:r}}=this,[i,a]=this.getScaleForStroking();if(i===a){n.lineWidth=(r||1)*i,n.stroke(e);return}let o=n.getLineDash();t&&n.save(),n.scale(i,a),Tn.a=1/i,Tn.d=1/a;let s=new Path2D;if(s.addPath(e,Tn),o.length>0){let e=Math.max(i,a);n.setLineDash(o.map(t=>t/e)),n.lineDashOffset/=e}n.lineWidth=r||1,n.stroke(s),t&&n.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}};for(let e in v)Rn.prototype[e]!==void 0&&(Rn.prototype[v[e]]=Rn.prototype[e]);var zn=class{#e=null;#t=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(e,t,n){this._source=e,this.#e=t,this.#t=n}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){return D(!this._fullReader,`BasePDFStream.getFullReader can only be called once.`),this._fullReader=new this.#e(this)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;let n=new this.#t(this,e,t);return this._rangeReaders.add(n),n}cancelAllRequests(e){this._fullReader?.cancel(e);for(let t of new Set(this._rangeReaders))t.cancel(e)}},Bn=class{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(e){this._stream=e}_callOnProgress(){this.onProgress?.({loaded:this._loaded,total:this._contentLength})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){E("Abstract method `read` called")}cancel(e){E("Abstract method `cancel` called")}},Vn=class{_stream=null;constructor(e,t,n){this._stream=e}async read(){E("Abstract method `read` called")}cancel(e){E("Abstract method `cancel` called")}};function Hn(e){let t=!0,n=r(`filename\\*`,`i`).exec(e);if(n){n=n[1];let e=s(n);return e=unescape(e),e=c(e),e=l(e),a(e)}if(n=o(e),n)return a(l(n));if(n=r(`filename`,`i`).exec(e),n){n=n[1];let e=s(n);return e=l(e),a(e)}function r(e,t){return RegExp(`(?:^|;)\\s*`+e+`\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)`,t)}function i(e,n){if(e){if(!/^[\x00-\xFF]+$/.test(n))return n;try{let r=new TextDecoder(e,{fatal:!0}),i=oe(n);n=r.decode(i),t=!1}catch{}}return n}function a(e){return t&&/[\x80-\xff]/.test(e)&&(e=i(`utf-8`,e),t&&(e=i(`iso-8859-1`,e))),e}function o(e){let t=[],n,i=r(`filename\\*((?!0\\d)\\d+)(\\*?)`,`ig`);for(;(n=i.exec(e))!==null;){let[,e,r,i]=n;if(e=parseInt(e,10),e in t){if(e===0)break;continue}t[e]=[r,i]}let a=[];for(let e=0;e{e._responseOrigin=Wn(n.url),Xn(n.status,i),this._reader=n.body.getReader();let a=n.headers,{contentLength:o,isRangeSupported:s}=Gn({responseHeaders:a,isHttp:!0,rangeChunkSize:r,disableRange:t});this._contentLength=o,this._isRangeSupported=s,this._filename=Kn(a),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new P(`Streaming is disabled.`)),this._headersCapability.resolve()}).catch(this._headersCapability.reject)}async read(){await this._headersCapability.promise;let{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,this._callOnProgress(),{value:Zn(e),done:!1})}cancel(e){this._reader?.cancel(e),this._abortController.abort()}},er=class extends Vn{_abortController=new AbortController;_readCapability=Promise.withResolvers();_reader=null;constructor(e,t,n){super(e,t,n);let{url:r,withCredentials:i}=e._source,a=new Headers(e.headers);a.append(`Range`,`bytes=${t}-${n-1}`),Yn(r,a,i,this._abortController).then(t=>{Jn(Wn(t.url),e._responseOrigin),Xn(t.status,r),this._reader=t.body.getReader(),this._readCapability.resolve()}).catch(this._readCapability.reject)}async read(){await this._readCapability.promise;let{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:{value:Zn(e),done:!1}}cancel(e){this._reader?.cancel(e),this._abortController.abort()}};function tr(e){return e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function nr(){for(let e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}var rr=class extends zn{_progressiveDone=!1;_queuedChunks=[];constructor(e){super(e,ir,ar);let{pdfDataRangeTransport:t}=e,{initialData:n,progressiveDone:r}=t;if(n?.length>0){let e=tr(n);this._queuedChunks.push(e)}this._progressiveDone=r,t.transportReady(e=>{switch(e.type){case`range`:case`progressiveRead`:this.#e(e.begin,e.chunk);break;case`progressiveDone`:this._fullReader?.progressiveDone(),this._progressiveDone=!0}})}#e(e,t){let n=tr(t);if(e===void 0)this._fullReader?this._fullReader._enqueue(n):this._queuedChunks.push(n);else{let t=this._rangeReaders.keys().find(t=>t._begin===e);D(t,"#onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."),t._enqueue(n)}}getFullReader(){let e=super.getFullReader();return this._queuedChunks=null,e}getRangeReader(e,t){let n=super.getRangeReader(e,t);return n&&(n.onDone=()=>this._rangeReaders.delete(n),this._source.pdfDataRangeTransport.requestDataRange(e,t)),n}cancelAllRequests(e){super.cancelAllRequests(e),this._source.pdfDataRangeTransport.abort()}},ir=class extends Bn{#e=nr.bind(this);_done=!1;_queuedChunks=null;_requests=[];constructor(e){super(e);let{pdfDataRangeTransport:t,disableRange:n,disableStream:r}=e._source,{length:i,contentDispositionFilename:a}=t;this._queuedChunks=e._queuedChunks||[];for(let e of this._queuedChunks)this._loaded+=e.byteLength;this._done=e._progressiveDone,this._contentLength=i,this._isStreamingSupported=!r,this._isRangeSupported=!n,Ee(a)&&(this._filename=a),this._headersCapability.resolve();let o=this._loaded;Promise.resolve().then(()=>{o>0&&this._loaded===o&&this._callOnProgress()})}_enqueue(e){this._done||(this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunks.push(e),this._loaded+=e.byteLength,this._callOnProgress())}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e()}progressiveDone(){this._done||=!0,this._queuedChunks.length===0&&this.#e()}},ar=class extends Vn{#e=nr.bind(this);onDone=null;_begin=-1;_done=!1;_queuedChunk=null;_requests=[];constructor(e,t,n){super(e,t,n),this._begin=t}_enqueue(e){this._done||(this._requests.length===0?this._queuedChunk=e:(this._requests.shift().resolve({value:e,done:!1}),this.#e()),this._done=!0,this.onDone?.())}async read(){if(this._queuedChunk){let e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e(),this.onDone?.()}},or=200,sr=206;function cr(e){return typeof e==`string`?oe(e).buffer:e}var lr=class extends zn{#e=new WeakMap;_responseOrigin=null;constructor(e){super(e,ur,dr);let{httpHeaders:t,url:n}=e;this.url=n,this.isHttp=/https?:/.test(n.protocol),this.headers=Un(this.isHttp,t)}_request(e){let t=new XMLHttpRequest,n={validateStatus:null,onHeadersReceived:e.onHeadersReceived,onDone:e.onDone,onError:e.onError,onProgress:e.onProgress};this.#e.set(t,n),t.open(`GET`,this.url),t.withCredentials=this._source.withCredentials;for(let[e,n]of this.headers)t.setRequestHeader(e,n);return this.isHttp&&`begin`in e&&`end`in e?(t.setRequestHeader(`Range`,`bytes=${e.begin}-${e.end-1}`),n.validateStatus=e=>e===sr||e===or):n.validateStatus=e=>e===or,t.responseType=`arraybuffer`,D(e.onError,"Expected `onError` callback to be provided."),t.onerror=()=>e.onError(t.status),t.onreadystatechange=this.#n.bind(this,t),t.onprogress=this.#t.bind(this,t),t.send(null),t}#t(e,t){this.#e.get(e)?.onProgress?.(t)}#n(e,t){let n=this.#e.get(e);if(!n||(e.readyState>=2&&n.onHeadersReceived&&(n.onHeadersReceived(),delete n.onHeadersReceived),e.readyState!==4)||!this.#e.has(e))return;if(this.#e.delete(e),e.status===0&&this.isHttp){n.onError(e.status);return}let r=e.status||or;if(!n.validateStatus(r)){n.onError(e.status);return}let i=cr(e.response);if(r===sr){let t=e.getResponseHeader(`Content-Range`);/bytes \d+-\d+\/\d+/.test(t)?n.onDone(i):(T(`Missing or invalid "Content-Range" header.`),n.onError(0))}else i?n.onDone(i):n.onError(e.status)}_abortRequest(e){this.#e.has(e)&&(this.#e.delete(e),e.abort())}getRangeReader(e,t){let n=super.getRangeReader(e,t);return n&&(n.onClosed=()=>this._rangeReaders.delete(n)),n}},ur=class extends Bn{#e=nr.bind(this);_cachedChunks=[];_done=!1;_requests=[];_storedError=null;constructor(e){super(e),this._fullRequestXhr=e._request({onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#r.bind(this),onProgress:this.#i.bind(this)})}#t(){let e=this._stream,{disableRange:t,rangeChunkSize:n}=e._source,r=this._fullRequestXhr;e._responseOrigin=Wn(r.responseURL);let i=r.getAllResponseHeaders(),a=new Headers(i?i.trimStart().replace(/[^\S ]+$/,``).split(/[\r\n]+/).map(e=>{let[t,...n]=e.split(`: `);return[t,n.join(`: `)]}):[]),{contentLength:o,isRangeSupported:s}=Gn({responseHeaders:a,isHttp:e.isHttp,rangeChunkSize:n,disableRange:t});this._contentLength=o,this._isRangeSupported=s,this._filename=Kn(a),this._isRangeSupported&&e._abortRequest(r),this._headersCapability.resolve()}#n(e){this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._cachedChunks.push(e),this._done=!0,this._cachedChunks.length===0&&this.#e()}#r(e){this._storedError=qn(e,this._stream.url),this._headersCapability.reject(this._storedError);for(let e of this._requests)e.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}#i(e){this.onProgress?.({loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersCapability.reject(e),this.#e(),this._stream._abortRequest(this._fullRequestXhr),this._fullRequestXhr=null}},dr=class extends Vn{#e=nr.bind(this);onClosed=null;_done=!1;_queuedChunk=null;_requests=[];_storedError=null;constructor(e,t,n){super(e,t,n),this._requestXhr=e._request({begin:t,end:n,onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#r.bind(this),onProgress:null})}#t(){let e=Wn(this._requestXhr?.responseURL);try{Jn(e,this._stream._responseOrigin)}catch(e){this._storedError=e,this.#r(0)}}#n(e){this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunk=e,this._done=!0,this.#e(),this.onClosed?.()}#r(e){this._storedError??=qn(e,this._stream.url);for(let e of this._requests)e.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){let e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e(),this._stream._abortRequest(this._requestXhr),this.onClosed?.()}};function fr(e,t=null){let n=process.getBuiltinModule(`fs`),{Readable:r}=process.getBuiltinModule(`stream`),i=n.createReadStream(e,t);return r.toWeb(i)}var pr=class extends zn{constructor(e){super(e,mr,hr);let{url:t}=e;D(t.protocol===`file:`,`PDFNodeStream only supports file:// URLs.`)}},mr=class extends Bn{_reader=null;constructor(e){super(e);let{disableRange:t,disableStream:n,rangeChunkSize:r,url:i}=e._source;this._isStreamingSupported=!n,process.getBuiltinModule(`fs/promises`).lstat(i).then(e=>{let n=fr(i);this._reader=n.getReader();let{size:a}=e;this._contentLength=a,this._isRangeSupported=!t&&a>2*r,!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new P(`Streaming is disabled.`)),this._headersCapability.resolve()}).catch(e=>{e.code===`ENOENT`&&(e=qn(0,i)),this._headersCapability.reject(e)})}async read(){await this._headersCapability.promise;let{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,this._callOnProgress(),{value:Zn(e),done:!1})}cancel(e){this._reader?.cancel(e)}},hr=class extends Vn{_readCapability=Promise.withResolvers();_reader=null;constructor(e,t,n){super(e,t,n);let{url:r}=e._source;try{let e=fr(r,{start:t,end:n-1});this._reader=e.getReader(),this._readCapability.resolve()}catch(e){this._readCapability.reject(e)}}async read(){await this._readCapability.promise;let{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:{value:Zn(e),done:!1}}cancel(e){this._reader?.cancel(e)}};function gr(e){return Ae(e)?Qn:t?pr:lr}var _r=class{static#e=null;static#t=``;static get workerPort(){return this.#e}static set workerPort(e){if(!(typeof Worker<`u`&&e instanceof Worker)&&e!==null)throw Error("Invalid `workerPort` type.");this.#e=e}static get workerSrc(){return this.#t}static set workerSrc(e){if(typeof e!=`string`)throw Error("Invalid `workerSrc` type.");this.#t=e}},vr=class{#e;#t;constructor({parsedData:e,rawData:t}){this.#e=e,this.#t=t}getRaw(){return this.#t}get(e){return this.#e.get(e)??null}[Symbol.iterator](){return this.#e.entries()}},yr=Symbol(`INTERNAL`),br=class{#e=!1;#t=!1;#n=!1;#r=!0;constructor(e,{name:t,intent:n,usage:r,rbGroups:i}){this.#e=!!(e&o.DISPLAY),this.#t=!!(e&o.PRINT),this.name=t,this.intent=n,this.usage=r,this.rbGroups=i}get visible(){if(this.#n)return this.#r;if(!this.#r)return!1;let{print:e,view:t}=this.usage;return this.#e?t?.viewState!==`OFF`:!this.#t||e?.printState!==`OFF`}_setVisible(e,t,n=!1){e!==yr&&E("Internal method `_setVisible` called."),this.#n=n,this.#r=t}get serializable(){return{userSet:this.#n,visible:this.#r}}},xr=class e{#e=null;#t=new Map;#n=null;#r=null;#i;creator=null;name=null;constructor(e,t=o.DISPLAY,n=null){if(this.#i=e,this.renderingIntent=t,e!==null){this.name=e.name,this.creator=e.creator,this.#r=e.order;for(let n of e.groups)this.#t.set(n.id,new br(t,n));if(n){n.size!==this.#t.size&&E(`Incorrect serialized groupState.`);for(let[e,t]of n)this.#t.get(e)._setVisible(yr,t.visible,t.userSet)}else{if(e.baseState===`OFF`)for(let e of this.#t.values())e._setVisible(yr,!1);for(let t of e.on)this.#t.get(t)._setVisible(yr,!0);for(let t of e.off)this.#t.get(t)._setVisible(yr,!1)}this.#n=this.getHash()}}#a(e){let t=e.length;if(t<2)return!0;let n=e[0];for(let r=1;re===t+1)&&(this.#e=null)}deletePages(e){this.#a();let t=this.#e,n=this.#o();this.#i={pageNumberToId:t.slice(),pagesNumber:this.#n,prevPageNumbers:this.#t.slice()};let r=this.#n-e.length;this.#n=r;let i=this.#e=new Uint32Array(r);this.#t=new Int32Array(r);let a=0,o=0;for(let n of e){let e=n-1;e!==a&&(i.set(t.subarray(a,e),o),o+=e-a),a=e+1}athis.#e[e-1])}}cancelCopy(){this.#r=null}pastePages(e){this.#a();let t=this.#e,n=this.#o(),{pageNumbers:r,pageIds:i}=this.#r,a=this.#n+r.length;this.#n=a;let o=this.#e=new Uint32Array(a);this.#t=new Int32Array(a),o.set(t.subarray(0,e),0),o.set(i,e),o.set(t.subarray(e),e+r.length),this.#s(n,null,e,r),this.#r=null}#s(e,t=null,n=-1,r=null){let i=this.#t,a=this.#e,o=n+(r?.length??0),s=new Map;for(let c=0,l=this.#n;c=n&&ce[0]-t[0]);for(let n=0,r=e.length;ne-t);let t=new Map;for(let n=0,r=e.length;n({...Promise.withResolvers(),data:Cr}),Tr=class{#e=new Map;get(e,t=null){if(t){let n=this.#e.getOrInsertComputed(e,wr);return n.promise.then(()=>t(n.data)),null}let n=this.#e.get(e);if(!n||n.data===Cr)throw Error(`Requesting object that isn't resolved yet ${e}.`);return n.data}has(e){let t=this.#e.get(e);return!!t&&t.data!==Cr}delete(e){let t=this.#e.get(e);return!t||t.data===Cr?!1:(this.#e.delete(e),!0)}resolve(e,t=null){let n=this.#e.getOrInsertComputed(e,wr);if(n.data!==Cr)throw Error(`Object already resolved ${e}.`);n.data=t,n.resolve()}clear(){for(let{data:e}of this.#e.values())e?.bitmap?.close();this.#e.clear()}*[Symbol.iterator](){for(let[e,{data:t}]of this.#e)t!==Cr&&(yield[e,t])}},Er=1e5,Dr=30,Or=class e{#e=Promise.withResolvers();#t=null;#n=!1;#r=!!globalThis.FontInspector?.enabled;#i=null;#a=null;#o=null;#s=0;#c=0;#l=null;#u=null;#d=0;#f=0;#p=Object.create(null);#m=[];#h=null;#g=[];#_=new WeakMap;#v=null;static#y=new Map;static#b=new Map;static#x=new WeakMap;static#S=null;static#C=new Set;constructor({textContentSource:t,images:n,container:r,viewport:i}){if(t instanceof ReadableStream)this.#h=t;else if(typeof t==`object`)this.#h=new ReadableStream({start(e){e.enqueue(t),e.close()}});else throw Error(`No "textContentSource" parameter specified.`);this.#t=this.#u=r,this.#i=n,this.#f=i.scale*Ie.pixelRatio,this.#d=i.rotation,this.#o={div:null,properties:null,ctx:null};let{pageWidth:a,pageHeight:o,pageX:s,pageY:c}=i.rawDims;this.#v=[1,0,0,-1,-s,c+o],this.#c=a,this.#s=o,e.#k(),r.style.setProperty(`--min-font-size`,e.#S),Fe(r,i),this.#e.promise.finally(()=>{e.#C.delete(this),this.#o=null,this.#p=null}).catch(()=>{})}static get fontFamilyMap(){let{isWindows:e,isFirefox:t}=F.platform;return M(this,`fontFamilyMap`,new Map([[`sans-serif`,`${e&&t?`Calibri, `:``}sans-serif`],[`monospace`,`${e&&t?`Lucida Console, `:``}monospace`]]))}render(){this.#i&&this.#t.append(this.#i.render());let t=()=>{this.#l.read().then(({value:e,done:n})=>{if(n){this.#e.resolve();return}this.#a??=e.lang,Object.assign(this.#p,e.styles),this.#w(e.items),t()},this.#e.reject)};return this.#l=this.#h.getReader(),e.#C.add(this),t(),this.#e.promise}update({viewport:t,onBefore:n=null}){let r=t.scale*Ie.pixelRatio,i=t.rotation;if(i!==this.#d&&(n?.(),this.#d=i,Fe(this.#u,{rotation:i})),r!==this.#f){n?.(),this.#f=r;let t={div:null,properties:null,ctx:e.#D(this.#a)};for(let e of this.#g)t.properties=this.#_.get(e),t.div=e,this.#E(t)}}cancel(){let e=new P(`TextLayer task cancelled.`);this.#l?.cancel(e).catch(()=>{}),this.#l=null,this.#e.reject(e)}get textDivs(){return this.#g}get textContentItemsStr(){return this.#m}#w(t){if(this.#n)return;this.#o.ctx??=e.#D(this.#a);let n=this.#g,r=this.#m;for(let e of t){if(n.length>Er){T(`Ignoring additional textDivs for performance reasons.`),this.#n=!0;return}if(e.str===void 0){if(e.type===`beginMarkedContentProps`||e.type===`beginMarkedContent`){let t=this.#t;this.#t=document.createElement(`span`),this.#t.classList.add(`markedContent`),e.id&&this.#t.setAttribute(`id`,e.id),e.tag===`Artifact`&&(this.#t.ariaHidden=!0),t.append(this.#t)}else e.type===`endMarkedContent`&&(this.#t=this.#t.parentNode);continue}r.push(e.str),this.#T(e)}}#T(t){let n=document.createElement(`span`),r={angle:0,canvasWidth:0,hasText:t.str!==``,hasEOL:t.hasEOL,fontSize:0};this.#g.push(n);let i=I.transform(this.#v,t.transform),a=Math.atan2(i[1],i[0]),o=this.#p[t.fontName];o.vertical&&(a+=Math.PI/2);let s=this.#r&&o.fontSubstitution||o.fontFamily;s=e.fontFamilyMap.get(s)||s;let c=Math.hypot(i[2],i[3]),l=c*e.#A(s,o,this.#a),u,d;a===0?(u=i[4],d=i[5]-l):(u=i[4]+l*Math.sin(a),d=i[5]-l*Math.cos(a));let f=n.style;f.left=`${(100*u/this.#c).toFixed(2)}%`,f.top=`${(100*d/this.#s).toFixed(2)}%`,f.setProperty(`--font-height`,`${c.toFixed(2)}px`),f.fontFamily=s,r.fontSize=c,n.setAttribute(`role`,`presentation`),n.textContent=t.str,n.dir=t.dir,this.#r&&(n.dataset.fontName=o.fontSubstitutionLoadedName||t.fontName),a!==0&&(r.angle=180/Math.PI*a);let p=!1;if(t.str.length>1)p=!0;else if(t.str!==` `&&t.transform[0]!==t.transform[3]){let e=Math.abs(t.transform[0]),n=Math.abs(t.transform[3]);e!==n&&Math.max(e,n)/Math.min(e,n)>1.5&&(p=!0)}if(p&&(r.canvasWidth=o.vertical?t.height:t.width),this.#_.set(n,r),this.#o.div=n,this.#o.properties=r,this.#E(this.#o),r.hasText&&this.#t.append(n),r.hasEOL){let e=document.createElement(`br`);e.setAttribute(`role`,`presentation`),this.#t.append(e)}}#E(t){let{div:n,properties:r,ctx:i}=t,{style:a}=n;if(r.canvasWidth!==0&&r.hasText){let{fontFamily:t}=a,{canvasWidth:o,fontSize:s}=r;e.#O(i,s*this.#f,t);let{width:c}=i.measureText(n.textContent);c>0&&a.setProperty(`--scale-x`,o*this.#f/c)}r.angle!==0&&a.setProperty(`--rotate`,`${r.angle}deg`)}static cleanup(){if(!(this.#C.size>0)){this.#y.clear();for(let{canvas:e}of this.#b.values())e.remove();this.#b.clear()}}static#D(e=null){let t=this.#b.get(e||=``);if(!t){let n=document.createElement(`canvas`);n.style.cssText=`position:absolute;top:0;left:0;width:0;height:0;display:none;letter-spacing:normal;word-spacing:normal`,n.lang=e,document.body.append(n),t=n.getContext(`2d`,{alpha:!1,willReadFrequently:!0}),this.#b.set(e,t),this.#x.set(t,{size:0,family:``})}return t}static#O(e,t,n){let r=this.#x.get(e);(t!==r.size||n!==r.family)&&(e.font=`${t}px ${n}`,r.size=t,r.family=n)}static#k(){if(this.#S!==null)return;let e=document.createElement(`div`);e.style.opacity=0,e.style.lineHeight=1,e.style.fontSize=`1px`,e.style.position=`absolute`,e.textContent=`X`,document.body.append(e),this.#S=e.getBoundingClientRect().height,e.remove()}static#A(e,t,n){let r=this.#y.get(e);if(r)return r;let i=this.#D(n);i.canvas.width=i.canvas.height=Dr,this.#O(i,Dr,e);let a=i.measureText(``),o=a.fontBoundingBoxAscent,s=Math.abs(a.fontBoundingBoxDescent);i.canvas.width=i.canvas.height=0;let c=.8;return o?c=o/(o+s):(F.platform.isFirefox&&T("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering."),t.ascent?c=t.ascent:t.descent&&(c=1+t.descent)),this.#y.set(e,c),c}},kr=100;function Ar(e={}){let n=new jr,{docId:r}=n,i=e.url?Lt(e.url):null,a=e.data?Rt(e.data):null,o=e.httpHeaders||null,s=e.withCredentials===!0,c=e.password??null,l=e.range instanceof Mr?e.range:null,u=Number.isInteger(e.rangeChunkSize)&&e.rangeChunkSize>0?e.rangeChunkSize:2**16,d=e.worker instanceof Fr?e.worker:null,f=e.verbosity,p=typeof e.docBaseUrl==`string`&&!Te(e.docBaseUrl)?e.docBaseUrl:null,m=zt(e.cMapUrl),h=e.cMapPacked!==!1,g=zt(e.iccUrl),_=zt(e.standardFontDataUrl),v=zt(e.wasmUrl),y=e.stopAtErrors!==!0,b=Number.isInteger(e.maxImageSize)&&e.maxImageSize>-1?e.maxImageSize:-1,x=typeof e.isOffscreenCanvasSupported==`boolean`?e.isOffscreenCanvasSupported:!t,C=typeof e.isImageDecoderSupported==`boolean`?e.isImageDecoderSupported:!t,w=Number.isInteger(e.canvasMaxAreaInBytes)?e.canvasMaxAreaInBytes:-1,T=typeof e.disableFontFace==`boolean`?e.disableFontFace:t,E=e.fontExtraProperties===!0,D=e.enableXfa===!0,O=e.ownerDocument||globalThis.document,k=e.disableRange===!0,A=e.disableStream===!0,j=e.disableAutoFetch===!0,M=e.pdfBug===!0,N=e.CanvasFactory||(t?tn:Yt),ee=e.FilterFactory||(t?en:Zt),te=e.BinaryDataFactory||(t?nn:qt),ne=e.enableHWA===!0,re=e.enableWebGPU===!0?cn():Promise.resolve(!1),ie=e.useWasm!==!1,P=e.pagesMapper||new Sr,ae=typeof e.useSystemFonts==`boolean`?e.useSystemFonts:!t&&!T,oe=typeof e.useWorkerFetch==`boolean`?e.useWorkerFetch:!!(te===qt&&m&&h&&_&&v&&Ae(m,document.baseURI)&&Ae(_,document.baseURI)&&Ae(v,document.baseURI));S(f);let F={canvasFactory:new N({ownerDocument:O,enableHWA:ne}),filterFactory:new ee({docId:r,ownerDocument:O}),binaryDataFactory:oe?null:new te({cMapUrl:m,standardFontDataUrl:_,wasmUrl:v})};d||(d=Fr.create({verbosity:f,port:_r.workerPort}),n._worker=d);let I={docId:r,apiVersion:`6.2.108`,data:a,password:c,disableAutoFetch:j,rangeChunkSize:u,docBaseUrl:p,enableXfa:D,evaluatorOptions:{maxImageSize:b,disableFontFace:T,ignoreErrors:y,isOffscreenCanvasSupported:x,isImageDecoderSupported:C,canvasMaxAreaInBytes:w,fontExtraProperties:E,useSystemFonts:ae,useWasm:ie,useWorkerFetch:oe,cMapUrl:m,cMapPacked:h,iccUrl:g,standardFontDataUrl:_,wasmUrl:v,hasGPU:!1}},se={ownerDocument:O,pdfBug:M,styleElement:null,enableHWA:ne,loadingParams:{disableAutoFetch:j,enableXfa:D}};return Promise.all([d.promise,re]).then(function([,e]){if(d.destroyed)throw Error(`Worker was destroyed`);I.evaluatorOptions.hasGPU=e;let t=d.messageHandler.sendWithPromise(`GetDocRequest`,I,a?[a.buffer]:null),c;if(!a){if(l)c=new rr({pdfDataRangeTransport:l,disableRange:k,disableStream:A});else if(i)c=new(gr(i))({url:i,httpHeaders:o,withCredentials:s,rangeChunkSize:u,disableRange:k,disableStream:A});else throw Error("getDocument - expected either `data`, `range`, or `url` parameter.")}return t.then(e=>{if(d.destroyed)throw Error(`Worker was destroyed`);let t=new Gt(r,e,d.port),i=new Ir(t,n,c,se,F,P);if(n._transport=i,n.destroyed)throw Error(`Loading aborted`);t.send(`Ready`,null)})}).catch(n._capability.reject).finally(n._setupCapability.resolve),n}var jr=class e{static#e=0;_capability=Promise.withResolvers();_setupCapability=Promise.withResolvers();_transport=null;_worker=null;docId=`d${e.#e++}`;destroyed=!1;onPassword=null;onProgress=null;get promise(){return this._capability.promise}async destroy(){this.destroyed=!0,this._capability.promise.catch(()=>{});try{this._worker?.port&&(this._worker._pendingDestroy=!0),await this._setupCapability.promise,await this._transport?.destroy()}catch(e){throw this._worker?.port&&delete this._worker._pendingDestroy,e}this._transport=null,this._worker?.destroy(),this._worker=null}async getData(){return this._transport.getData()}},Mr=class{#e=Promise.withResolvers();#t=null;constructor(e,t,n=!1,r=null){this.length=e,this.initialData=t,this.progressiveDone=n,this.contentDispositionFilename=r}onDataRange(e,t){this.#t({type:`range`,begin:e,chunk:t})}onDataProgressiveRead(e){this.#e.promise.then(()=>{this.#t({type:`progressiveRead`,chunk:e})})}onDataProgressiveDone(){this.#e.promise.then(()=>{this.#t({type:`progressiveDone`})})}transportReady(e){this.#t=e,this.#e.resolve()}requestDataRange(e,t){E(`Abstract method PDFDataRangeTransport.requestDataRange`)}abort(){}},Nr=class{constructor(e,t){this._pdfInfo=e,this._transport=t}get pagesMapper(){return this._transport.pagesMapper}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return M(this,`isPureXfa`,!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAttachmentContent(e){return this._transport.getAttachmentContent(e)}getAnnotationsByType(e,t){return this._transport.getAnnotationsByType(e,t)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e=`display`}={}){let{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(t)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}extractPages(e){return this._transport.extractPages(e)}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}getRawData(e){return this._transport.getRawData(e)}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}getSignatures(){return this._transport.getSignatures()}getSignatureData(e){return this._transport.getSignatureData(e)}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}},Pr=class e{#e=!1;#t=null;constructor(e,t,n,r,i=!1){this._pageIndex=e,this._pageInfo=t,this._transport=n,this._stats=i?new ke:null,this._pdfBug=i,this.commonObjs=n.commonObjs,this.objs=new Tr,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null,this.#t=r,this.imageCoordinates=null}clone(t){let n=new e(t,this._pageInfo,this._transport,this.#t,this._pdfBug);return n.clonedFromIndex=this.clonedFromIndex??this._pageIndex,this._transport.updatePage(n),n}get pageNumber(){return this._pageIndex+1}set pageNumber(e){this._pageIndex=e-1,this._transport.updatePage(this)}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:t=this.rotate,offsetX:n=0,offsetY:r=0,dontFlip:i=!1}={}){return new _e({viewBox:this.view,userUnit:this.userUnit,scale:e,rotation:t,offsetX:n,offsetY:r,dontFlip:i})}getAnnotations({intent:e=`display`}={}){let{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,t)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return M(this,`isPureXfa`,!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:e,canvas:t=e.canvas,viewport:n,intent:r=`display`,annotationMode:i=s.ENABLE,transform:a=null,background:c=null,optionalContentConfigPromise:l=null,annotationCanvasMap:u=null,pageColors:d=null,printAnnotationStorage:f=null,isEditing:p=!1,recordImages:m=!1,recordOperations:h=!1,operationsFilter:g=null}){this._stats?.time(`Overall`);let _=this._transport.getRenderingIntent(r,i,f,p),{renderingIntent:v,cacheKey:y}=_;this.#e=!1,l||=this._transport.getOptionalContentConfig(v);let b=this._intentStates.getOrInsertComputed(y,he);b.streamReaderCancelTimeout&&=(clearTimeout(b.streamReaderCancelTimeout),null);let x=!!(v&o.PRINT);b.displayReadyCapability||(b.displayReadyCapability=Promise.withResolvers(),b.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time(`Page Request`),this._pumpOperatorList(_));let S=!!(this._pdfBug&&globalThis.StepperManager?.enabled),C=!!t&&!this.recordedBBoxes&&(h||S),w=!!t&&!this.imageCoordinates&&m,T=e=>{if(b.renderTasks.delete(O),C){let e=O.gfx?.dependencyTracker.take();e&&(O.stepper?.setOperatorBBoxes(e,O.gfx.dependencyTracker.takeDebugMetadata()),h&&(this.recordedBBoxes=e))}w&&!e&&(this.imageCoordinates=O.gfx?.imagesTracker.take()),x&&(this.#e=!0),this.#n(),e?(O.capability.reject(e),this._abortOperatorList({intentState:b,reason:e instanceof Error?e:Error(e)})):O.capability.resolve(),this._stats&&(this._stats.timeEnd(`Rendering`),this._stats.timeEnd(`Overall`),globalThis.Stats?.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},E=null,D=null;(C||w)&&(D=new Ct(t,b.operatorList.length)),C&&(E=new wt(D,S));let O=new Rr({callback:T,params:{canvas:t,canvasContext:e,dependencyTracker:E??D,imagesTracker:w?new Et(t):null,viewport:n,transform:a,background:c},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:u,operatorList:b.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!x,pdfBug:this._pdfBug,pageColors:d,enableHWA:this._transport.enableHWA,operationsFilter:g});(b.renderTasks||=new Set).add(O);let k=O.task;return Promise.all([b.displayReadyCapability.promise,l]).then(([e,t])=>{if(this.destroyed){T();return}if(this._stats?.time(`Rendering`),!(t.renderingIntent&v))throw Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");O.initializeGraphics({transparency:e,optionalContentConfig:t}),O.operatorListChanged()}).catch(T),k}getOperatorList({intent:e=`display`,annotationMode:t=s.ENABLE,printAnnotationStorage:n=null,isEditing:r=!1}={}){function i(){o.operatorList.lastChunk&&(o.opListReadCapability.resolve(o.operatorList),o.renderTasks.delete(c))}let a=this._transport.getRenderingIntent(e,t,n,r,!0),o=this._intentStates.getOrInsertComputed(a.cacheKey,he),c;return o.opListReadCapability||(c=Object.create(null),c.operatorListChanged=i,o.opListReadCapability=Promise.withResolvers(),(o.renderTasks||=new Set).add(c),o.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time(`Page Request`),this._pumpOperatorList(a)),o.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:t=!1}={}){return this._transport.messageHandler.sendWithStream(`GetTextContent`,{pageId:this.#t.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,includeMarkedContent:e===!0,disableNormalization:t===!0},{highWaterMark:100,size(e){return e.items.length}})}async getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then(e=>ve.textContent(e));let t=this.streamTextContent(e),n={items:[],styles:Object.create(null),lang:null};for await(let e of t)n.lang??=e.lang,Object.assign(n.styles,e.styles),n.items.push(...e.items);return n}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;let e=[];for(let t of this._intentStates.values())if(this._abortOperatorList({intentState:t,reason:Error(`Page was destroyed.`),force:!0}),!t.opListReadCapability)for(let n of t.renderTasks)e.push(n.completed),n.cancel();return this.objs.clear(),this.#e=!1,Promise.all(e)}cleanup(e=!1){this.#e=!0;let t=this.#n();return e&&t&&(this._stats&&=new ke),t}#n(){if(!this.#e||this.destroyed)return!1;for(let{renderTasks:e,operatorList:t}of this._intentStates.values())if(e.size>0||!t.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#e=!1,!0}_startRenderPage(e,t){let n=this._intentStates.get(t);n&&(this._stats?.timeEnd(`Page Request`),n.displayReadyCapability?.resolve(e))}_renderPageChunk(e,t){for(let n=0,r=e.length;n{o.read().then(({value:e,done:t})=>{if(t){s.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(e,s),c())},e=>{if(s.streamReader=null,!this._transport.destroyed){if(s.operatorList){s.operatorList.lastChunk=!0;for(let e of s.renderTasks)e.operatorListChanged();this.#n()}if(s.displayReadyCapability)s.displayReadyCapability.reject(e);else if(s.opListReadCapability)s.opListReadCapability.reject(e);else throw e}})};c()}_abortOperatorList({intentState:e,reason:t,force:n=!1}){if(e.streamReader){if(e.streamReaderCancelTimeout&&=(clearTimeout(e.streamReaderCancelTimeout),null),!n){if(e.renderTasks.size>0)return;if(t instanceof we){let n=kr;t.extraDelay>0&&t.extraDelay<1e3&&(n+=t.extraDelay),e.streamReaderCancelTimeout=setTimeout(()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:t,force:!0})},n);return}}if(e.streamReader.cancel(new P(t.message)).catch(()=>{}),e.streamReader=null,!this._transport.destroyed){for(let[t,n]of this._intentStates)if(n===e){this._intentStates.delete(t);break}this.cleanup()}}}get stats(){return this._stats}},Fr=class n{#e=Promise.withResolvers();#t=null;#n=null;#r=null;static#i=0;static#a=!1;static#o=new WeakMap;static{t&&(this.#a=!0,_r.workerSrc||=`./pdf.worker.mjs`),this._isSameOrigin=(e,t)=>{let n=URL.parse(e);if(!n?.origin||n.origin===`null`)return!1;let r=new URL(t,n);return n.origin===r.origin},this._createCDNWrapper=e=>{let t=`await import("${e}");`;return URL.createObjectURL(new Blob([t],{type:`text/javascript`}))}}constructor({name:e=null,port:t=null,verbosity:r=C()}={}){if(this.name=e,this.destroyed=!1,this.verbosity=r,t){if(n.#o.has(t))throw Error(`Cannot use more than one PDFWorker per port.`);n.#o.set(t,this),this.#c(t)}else this.#l()}get promise(){return this.#e.promise}#s(){this.#e.resolve(),this.#t.send(`configure`,{verbosity:this.verbosity})}get port(){return this.#n}get messageHandler(){return this.#t}#c(e){this.#n=e,this.#t=new Gt(`main`,`worker`,e),this.#t.on(`ready`,()=>{}),this.#s()}#l(){if(n.#a||n.#d){this.#u();return}let{workerSrc:e}=n;try{n._isSameOrigin(window.location,e)||(e=n._createCDNWrapper(new URL(e,window.location).href));let t=new Worker(e,{type:`module`}),r=new Gt(`main`,`worker`,t),i=()=>{a.abort(),r.destroy(),t.terminate(),this.destroyed?this.#e.reject(Error(`Worker was destroyed`)):this.#u()},a=new AbortController;t.addEventListener(`error`,()=>{this.#r||i()},{signal:a.signal}),r.on(`test`,e=>{if(a.abort(),this.destroyed||!e){i();return}this.#t=r,this.#n=t,this.#r=t,this.#s()}),r.on(`ready`,e=>{if(a.abort(),this.destroyed){i();return}try{o()}catch{this.#u()}});let o=()=>{let e=new Uint8Array;r.send(`test`,e,[e.buffer])};o();return}catch{w(`The worker has been disabled.`)}this.#u()}#u(){n.#a||=(T(`Setting up fake worker.`),!0),n._setupFakeWorkerGlobal.then(e=>{if(this.destroyed){this.#e.reject(Error(`Worker was destroyed`));return}let t=new Ht;this.#n=t;let r=`fake${n.#i++}`,i=new Gt(r+`_worker`,r,t);e.setup(i,t),this.#t=new Gt(r,r+`_worker`,t),this.#s()}).catch(e=>{this.#e.reject(Error(`Setting up fake worker failed: "${e.message}".`))})}destroy(){this.destroyed=!0,this.#r?.terminate(),this.#r=null,n.#o.delete(this.#n),this.#n=null,this.#t?.destroy(),this.#t=null}static create(e){let t=this.#o.get(e?.port);if(t){if(t._pendingDestroy)throw Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return t}return new n(e)}static get workerSrc(){if(_r.workerSrc)return _r.workerSrc;throw Error(`No "GlobalWorkerOptions.workerSrc" specified.`)}static get#d(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return M(this,`_setupFakeWorkerGlobal`,(async()=>this.#d?this.#d:(await e(()=>import(this.workerSrc),[])).WorkerMessageHandler)())}},Ir=class{downloadInfoCapability=Promise.withResolvers();#e=null;#t=new Map;#n=null;#r=new Map;#i=new Map;#a=new Map;#o=null;constructor(e,t,n,r,i,a){this.messageHandler=e,this.loadingTask=t,this.#n=n,this.commonObjs=new Tr,this.fontLoader=new Dt({ownerDocument:r.ownerDocument,styleElement:r.styleElement}),this.enableHWA=r.enableHWA,this.loadingParams=r.loadingParams,this._params=r,this.canvasFactory=i.canvasFactory,this.filterFactory=i.filterFactory,this.binaryDataFactory=i.binaryDataFactory,this.pagesMapper=a,this.destroyed=!1,this.destroyCapability=null,this.setupMessageHandler()}updatePage(e){let{_pageIndex:t}=e;this.#r.set(t,e),this.#i.set(t,Promise.resolve(e))}#s(e,t=null){return this.#t.getOrInsertComputed(e,()=>this.messageHandler.sendWithPromise(e,t))}#c({loaded:e,total:t}){this.loadingTask.onProgress?.({loaded:e,total:t,percent:t?L(Math.round(e/t*100),0,100):NaN})}get annotationStorage(){return M(this,`annotationStorage`,new pt)}getRenderingIntent(e,t=s.ENABLE,n=null,r=!1,i=!1){let a=o.DISPLAY,c=ft;switch(e){case`any`:a=o.ANY;break;case`display`:break;case`print`:a=o.PRINT;break;default:T(`getRenderingIntent - invalid intent: ${e}`)}let l=a&o.PRINT&&n instanceof mt?n:this.annotationStorage;switch(t){case s.DISABLE:a+=o.ANNOTATIONS_DISABLE;break;case s.ENABLE:break;case s.ENABLE_FORMS:a+=o.ANNOTATIONS_FORMS;break;case s.ENABLE_STORAGE:a+=o.ANNOTATIONS_STORAGE,c=l.serializable;break;default:T(`getRenderingIntent - invalid annotationMode: ${t}`)}r&&(a+=o.IS_EDITING),i&&(a+=o.OPLIST);let{ids:u,hash:d}=l.modifiedIds,f=[a,c.hash,d];return{renderingIntent:a,cacheKey:f.join(`_`),annotationStorageSerializable:c,modifiedIds:u}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#o?.reject(Error(`Worker was destroyed during onPassword callback`));let e=[];for(let t of this.#r.values())e.push(t._destroy());this.#r.clear(),this.#i.clear(),this.#a.clear(),Object.hasOwn(this,`annotationStorage`)&&this.annotationStorage.resetModified();let t=this.messageHandler.sendWithPromise(`Terminate`,null);return e.push(t),Promise.all(e).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#t.clear(),this.filterFactory.destroy(),Or.cleanup(),this.#n?.cancelAllRequests(new P(`Worker was terminated.`)),this.messageHandler?.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){let{messageHandler:e,loadingTask:t}=this;e.on(`GetReader`,(e,t)=>{D(this.#n,"GetReader - no `BasePDFStream` instance available."),this.#e=this.#n.getFullReader(),this.#e.onProgress=e=>this.#c(e),t.onPull=()=>{this.#e.read().then(function({value:e,done:n}){if(n){t.close();return}D(e instanceof ArrayBuffer,`GetReader - expected an ArrayBuffer.`),t.enqueue(new Uint8Array(e),1,[e])}).catch(e=>{t.error(e)})},t.onCancel=e=>{this.#e.cancel(e),t.ready.catch(e=>{if(!this.destroyed)throw e})}}),e.on(`ReaderHeadersReady`,async e=>{await this.#e.headersReady;let{isStreamingSupported:t,isRangeSupported:n,contentLength:r}=this.#e;return t&&n&&(this.#e.onProgress=null),{isStreamingSupported:t,isRangeSupported:n,contentLength:r}}),e.on(`GetRangeReader`,(e,t)=>{D(this.#n,"GetRangeReader - no `BasePDFStream` instance available.");let n=this.#n.getRangeReader(e.begin,e.end);if(!n){t.close();return}t.onPull=()=>{n.read().then(function({value:e,done:n}){if(n){t.close();return}D(e instanceof ArrayBuffer,`GetRangeReader - expected an ArrayBuffer.`),t.enqueue(new Uint8Array(e),1,[e])}).catch(e=>{t.error(e)})},t.onCancel=e=>{n.cancel(e),t.ready.catch(e=>{if(!this.destroyed)throw e})}}),e.on(`GetDoc`,({pdfInfo:e})=>{this.pagesMapper.pagesNumber=e.numPages,this._numPages=e.numPages,this._htmlForXfa=e.htmlForXfa,delete e.htmlForXfa,t._capability.resolve(new Nr(e,this))}),e.on(`DocException`,e=>{t._capability.reject(J(e))}),e.on(`PasswordRequest`,e=>{this.#o=Promise.withResolvers();try{if(!t.onPassword)throw J(e);t.onPassword(e=>{e instanceof Error?this.#o.reject(e):this.#o.resolve({password:e})},e.code)}catch(e){this.#o.reject(e)}return this.#o.promise}),e.on(`DataLoaded`,e=>{this.#c({loaded:e.length,total:e.length}),this.downloadInfoCapability.resolve(e)}),e.on(`StartRenderPage`,e=>{this.destroyed||this.#r.get(e.pageIndex)._startRenderPage(e.transparency,e.cacheKey)}),e.on(`commonobj`,([t,n,r])=>{if(this.destroyed||this.commonObjs.has(t))return null;switch(n){case`Font`:if(`error`in r){let e=r.error;T(`Error during font loading: ${e}`),this.commonObjs.resolve(t,e);break}let i=new Ot(new Pt(r),this._params.pdfBug&&globalThis.FontInspector?.enabled?(e,t)=>globalThis.FontInspector.fontAdded(e,t):null,r.charProcOperatorList,r.extra);this.fontLoader.bind(i).catch(()=>e.sendWithPromise(`FontFallback`,{id:t})).finally(()=>{i.fontExtraProperties||i.clearData(),this.commonObjs.resolve(t,i)});break;case`CopyLocalImage`:let{imageRef:a}=r;D(a,`The imageRef must be defined.`);for(let e of this.#r.values())for(let[,n]of e.objs){if(n?.ref!==a)continue;if(!n.dataLen)return null;let e=structuredClone(n);return this.commonObjs.resolve(t,e),n.dataLen}break;case`FontPath`:this.commonObjs.resolve(t,new It(r));break;case`Image`:this.commonObjs.resolve(t,r);break;case`Pattern`:let o=new Ft(r);this.commonObjs.resolve(t,o.getIR());break;default:throw Error(`Got unknown common object type ${n}`)}return null}),e.on(`obj`,([e,t,n,r])=>{if(this.destroyed)return;let i=this.#r.get(t);if(!i.objs.has(e)){if(i._intentStates.size===0){r?.bitmap?.close();return}switch(n){case`Image`:case`Pattern`:i.objs.resolve(e,r);break;default:throw Error(`Got unknown object type ${n}`)}}}),e.on(`DocProgress`,e=>{this.destroyed||this.#c(e)}),e.on(`FetchBinaryData`,async e=>{if(this.destroyed)throw Error(`Worker was destroyed.`);if(!this.binaryDataFactory)throw Error("`BinaryDataFactory` not initialized, see the `useWorkerFetch` parameter.");return this.binaryDataFactory.fetch(e)})}getData(){return this.messageHandler.sendWithPromise(`GetData`,null)}saveDocument(){this.annotationStorage.size<=0&&T("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");let{map:e,transfer:t}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise(`SaveDocument`,{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e,filename:this.#e?.filename??null},t).finally(()=>{this.annotationStorage.resetModified()})}extractPages(e){let t={pageInfos:e},n,r=globalThis.ImageBitmap;if(typeof r==`function`){let t=Array.isArray(e)?e:[e];for(let e of t)e?.image instanceof r&&(n||=[]).push(e.image)}if(this.annotationStorage.size>0){let e=this.annotationStorage.serializable,{map:r}=e;e.transfer?.length&&(n?n.push(...e.transfer):n=e.transfer);let i=this.pagesMapper.getMapping();if(i){let e=new Map;for(let[t,n]of r){if(n?.pageIndex!==void 0&&n.pageIndex>=0&&n.pageIndex{this.annotationStorage.resetModified()})}getPage(e){if(!Number.isInteger(e)||e<=0||e>this.pagesMapper.pagesNumber)return Promise.reject(Error(`Invalid page request.`));let t=e-1,n=this.pagesMapper.getPageId(e)-1,r=this.#i.get(t);if(r)return r;let i=this.messageHandler.sendWithPromise(`GetPage`,{pageIndex:n}).then(e=>{if(this.destroyed)throw Error(`Transport destroyed`);e.refStr&&this.#a.set(e.refStr,n);let r=new Pr(t,e,this,this.pagesMapper,this._params.pdfBug);return this.#r.set(t,r),r});return this.#i.set(t,i),i}async getPageIndex(e){if(!Bt(e))throw Error(`Invalid pageIndex request.`);let t=await this.messageHandler.sendWithPromise(`GetPageIndex`,{num:e.num,gen:e.gen}),n=this.pagesMapper.getPageNumber(t+1);if(n===0)throw Error(`GetPageIndex: page has been removed.`);return n-1}getAnnotations(e,t){return this.messageHandler.sendWithPromise(`GetAnnotations`,{pageIndex:this.pagesMapper.getPageId(e+1)-1,intent:t})}getFieldObjects(){return this.#s(`GetFieldObjects`)}getSignatures(){return this.#s(`GetSignatures`)}getSignatureData(e){return this.messageHandler.sendWithPromise(`GetSignatureData`,e)}hasJSActions(){return this.#s(`HasJSActions`)}getCalculationOrderIds(){return this.messageHandler.sendWithPromise(`GetCalculationOrderIds`,null)}getDestinations(){return this.messageHandler.sendWithPromise(`GetDestinations`,null)}getDestination(e){return typeof e==`string`?this.messageHandler.sendWithPromise(`GetDestination`,{id:e}):Promise.reject(Error(`Invalid destination request.`))}getPageLabels(){return this.messageHandler.sendWithPromise(`GetPageLabels`,null)}getPageLayout(){return this.messageHandler.sendWithPromise(`GetPageLayout`,null)}getPageMode(){return this.messageHandler.sendWithPromise(`GetPageMode`,null)}getViewerPreferences(){return this.messageHandler.sendWithPromise(`GetViewerPreferences`,null)}getOpenAction(){return this.messageHandler.sendWithPromise(`GetOpenAction`,null)}getAttachments(){return this.messageHandler.sendWithPromise(`GetAttachments`,null)}getAttachmentContent(e){return this.messageHandler.sendWithPromise(`GetAttachmentContent`,e)}getAnnotationsByType(e,t){return this.messageHandler.sendWithPromise(`GetAnnotationsByType`,{types:e,pageIndexesToSkip:t})}getDocJSActions(){return this.#s(`GetDocJSActions`)}getPageJSActions(e){return this.messageHandler.sendWithPromise(`GetPageJSActions`,{pageIndex:this.pagesMapper.getPageId(e+1)-1})}getStructTree(e){return this.messageHandler.sendWithPromise(`GetStructTree`,{pageIndex:this.pagesMapper.getPageId(e+1)-1})}getOutline(){return this.messageHandler.sendWithPromise(`GetOutline`,null)}getOptionalContentConfig(e){return this.#s(`GetOptionalContentConfig`).then(t=>new xr(t,e))}getPermissions(){return this.messageHandler.sendWithPromise(`GetPermissions`,null)}getMetadata(){let e=`GetMetadata`;return this.#t.getOrInsertComputed(e,()=>this.messageHandler.sendWithPromise(e,null).then(e=>({info:e[0],metadata:e[1]?new vr(e[1]):null,contentDispositionFilename:this.#e?.filename??null,contentLength:this.#e?.contentLength??null,hasStructTree:e[2]})))}getMarkInfo(){return this.messageHandler.sendWithPromise(`GetMarkInfo`,null)}getRawData(e){return this.messageHandler.sendWithPromise(`GetRawData`,e)}async startCleanup(e=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise(`Cleanup`,null);for(let e of this.#r.values())if(!e.cleanup())throw Error(`startCleanup: Page ${e.pageNumber} is currently rendering.`);this.commonObjs.clear(),e||this.fontLoader.clear(),this.#t.clear(),this.filterFactory.destroy(!0),Or.cleanup()}}cachedPageNumber(e){if(!Bt(e))return null;let t=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`,n=this.#a.get(t);if(n>=0){let e=this.pagesMapper.getPageNumber(n+1);if(e!==0)return e}return null}},Lr=class{_internalRenderTask=null;onContinue=null;onError=null;constructor(e){this._internalRenderTask=e}get promise(){return this._internalRenderTask.capability.promise}cancel(e=0){this._internalRenderTask.cancel(null,e)}get separateAnnots(){let{separateAnnots:e}=this._internalRenderTask.operatorList;if(!e)return!1;let{annotationCanvasMap:t}=this._internalRenderTask;return e.form||e.canvas&&t?.size>0}get imageCoordinates(){return this._internalRenderTask.imageCoordinates||null}},Rr=class e{#e=null;static#t=new WeakSet;constructor({callback:e,params:t,objs:n,commonObjs:r,annotationCanvasMap:i,operatorList:a,pageIndex:o,canvasFactory:s,filterFactory:c,useRequestAnimationFrame:l=!1,pdfBug:u=!1,pageColors:d=null,enableHWA:f=!1,operationsFilter:p=null}){this.callback=e,this.params=t,this.objs=n,this.commonObjs=r,this.annotationCanvasMap=i,this.operatorListIdx=null,this.operatorList=a,this._pageIndex=o,this.canvasFactory=s,this.filterFactory=c,this._pdfBug=u,this.pageColors=d,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=l===!0&&typeof window<`u`,this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new Lr(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=t.canvas,this._canvasContext=t.canvas?null:t.canvasContext,this._enableHWA=f,this._dependencyTracker=t.dependencyTracker,this._imagesTracker=t.imagesTracker,this._operationsFilter=p}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:t=!1,optionalContentConfig:n}){if(this.cancelled)return;if(this._canvas){if(e.#t.has(this._canvas))throw Error(`Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.`);e.#t.add(this._canvas)}this._pdfBug&&globalThis.StepperManager?.enabled&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());let{viewport:r,transform:i,background:a,dependencyTracker:o,imagesTracker:s}=this.params,c=this._canvasContext||this._canvas.getContext(`2d`,{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new Rn(c,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:n},this.annotationCanvasMap,this.pageColors,o,s),this.gfx.beginDrawing({transform:i,viewport:r,transparency:t,background:a}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(t=null,n=0){this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),this.#e&&=(window.cancelAnimationFrame(this.#e),null),e.#t.delete(this._canvas),t||=new we(`Rendering cancelled, page ${this._pageIndex+1}`,n),this.callback(t),this.task.onError?.(t)}operatorListChanged(){if(!this.graphicsReady){this.graphicsReadyCallback||=this._continueBound;return}this.gfx.dependencyTracker?.growOperationsCount(this.operatorList.fnArray.length),this.stepper?.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?this.#e=window.requestAnimationFrame(()=>{this.#e=null,this._nextBound().catch(this._cancelBound)}):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper,this._operationsFilter),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),e.#t.delete(this._canvas),this.callback())))}},zr=`6.2.108`,Br=`0365cbde0`,Vr=class e{#e=null;#t=null;#n;#r=null;#i=!1;#a=!1;#o=null;#s;#c=null;#l=null;static#u=null;static get _keyboardManager(){return M(this,`_keyboardManager`,new nt([[[`Escape`],e.prototype._hideDropdownFromKeyboard],[[`Space`],e.prototype._colorSelectFromKeyboard],[[`ArrowDown`,`ArrowRight`],e.prototype._moveToNext],[[`ArrowUp`,`ArrowLeft`],e.prototype._moveToPrevious],[[`Home`],e.prototype._moveToBeginning],[[`End`],e.prototype._moveToEnd]]))}constructor({editor:t=null,uiManager:n=null}){t?(this.#a=!1,this.#o=t):this.#a=!0,this.#l=t?._uiManager||n,this.#s=this.#l._eventBus,this.#n=t?.color?.toUpperCase()||this.#l?.highlightColors.values().next().value||`#FFFF98`,e.#u||=Object.freeze({blue:`pdfjs-editor-colorpicker-blue`,green:`pdfjs-editor-colorpicker-green`,pink:`pdfjs-editor-colorpicker-pink`,red:`pdfjs-editor-colorpicker-red`,yellow:`pdfjs-editor-colorpicker-yellow`})}renderButton(){let e=this.#e=document.createElement(`button`);e.className=`colorPicker`,e.tabIndex=`0`,e.setAttribute(`data-l10n-id`,`pdfjs-editor-colorpicker-button`),e.ariaHasPopup=`true`,this.#o&&(e.ariaControls=`${this.#o.id}_colorpicker_dropdown`);let t=this.#l._signal;e.addEventListener(`click`,this.#m.bind(this),{signal:t}),e.addEventListener(`keydown`,this.#p.bind(this),{signal:t});let n=this.#t=document.createElement(`span`);return n.className=`swatch`,n.ariaHidden=`true`,n.style.backgroundColor=this.#n,e.append(n),e}renderMainDropdown(){let e=this.#r=this.#d();return e.ariaOrientation=`horizontal`,e.ariaLabelledBy=`highlightColorPickerLabel`,e}#d(){let t=document.createElement(`div`),n=this.#l._signal;t.addEventListener(`contextmenu`,R,{signal:n}),t.className=`dropdown`,t.role=`listbox`,t.ariaMultiSelectable=`false`,t.ariaOrientation=`vertical`,t.setAttribute(`data-l10n-id`,`pdfjs-editor-colorpicker-dropdown`),this.#o&&(t.id=`${this.#o.id}_colorpicker_dropdown`);for(let[r,i]of this.#l.highlightColors){let a=document.createElement(`button`);a.tabIndex=`0`,a.role=`option`,a.setAttribute(`data-color`,i),a.title=r,a.setAttribute(`data-l10n-id`,e.#u[r]);let o=document.createElement(`span`);a.append(o),o.className=`swatch`,o.style.backgroundColor=i,a.ariaSelected=i===this.#n,a.addEventListener(`click`,this.#f.bind(this,i),{signal:n}),t.append(a)}return t.addEventListener(`keydown`,this.#p.bind(this),{signal:n}),t}#f(e,t){t.stopPropagation(),this.#s.dispatch(`switchannotationeditorparams`,{source:this,type:d.HIGHLIGHT_COLOR,value:e}),this.updateColor(e)}_colorSelectFromKeyboard(e){if(e.target===this.#e){this.#m(e);return}let t=e.target.getAttribute(`data-color`);t&&this.#f(t,e)}_moveToNext(e){if(!this.#g){this.#m(e);return}if(e.target===this.#e){this.#r.firstElementChild?.focus();return}e.target.nextSibling?.focus()}_moveToPrevious(e){if(e.target===this.#r?.firstElementChild||e.target===this.#e){this.#g&&this._hideDropdownFromKeyboard();return}this.#g||this.#m(e),e.target.previousSibling?.focus()}_moveToBeginning(e){if(!this.#g){this.#m(e);return}this.#r.firstElementChild?.focus()}_moveToEnd(e){if(!this.#g){this.#m(e);return}this.#r.lastElementChild?.focus()}#p(t){e._keyboardManager.exec(this,t)}#m(e){if(this.#g){this.hideDropdown();return}if(this.#i=e.detail===0,this.#c||(this.#c=new AbortController,window.addEventListener(`pointerdown`,this.#h.bind(this),{signal:this.#l.combinedSignal(this.#c)})),this.#e.ariaExpanded=`true`,this.#r){this.#r.classList.remove(`hidden`);return}let t=this.#r=this.#d();this.#e.append(t)}#h(e){this.#r?.contains(e.target)||this.hideDropdown()}hideDropdown(){this.#r?.classList.add(`hidden`),this.#e.ariaExpanded=`false`,this.#c?.abort(),this.#c=null}get#g(){return this.#r&&!this.#r.classList.contains(`hidden`)}_hideDropdownFromKeyboard(){if(!this.#a){if(!this.#g){this.#o?.unselect();return}this.hideDropdown(),this.#e.focus({preventScroll:!0,focusVisible:this.#i})}}updateColor(e){if(this.#t&&(this.#t.style.backgroundColor=e),!this.#r)return;let t=this.#l.highlightColors.values();for(let n of this.#r.children)n.ariaSelected=t.next().value===e.toUpperCase()}destroy(){this.#e?.remove(),this.#e=null,this.#t=null,this.#r?.remove(),this.#r=null}},Hr=class e{#e=null;#t=!1;#n=null;#r=null;static#i=null;constructor(t){this.#n=t,this.#r=t._uiManager,e.#i||=Object.freeze({freetext:`pdfjs-editor-color-picker-free-text-input`,ink:`pdfjs-editor-color-picker-ink-input`})}renderButton(){if(this.#e)return this.#e;let{editorType:t,colorType:n,colorAndOpacityType:r,opacityType:i,color:a,opacity:o}=this.#n,s=this.#t=F.isAlphaColorInputSupported&&i!==void 0,c=this.#e=document.createElement(`input`);if(c.type=`color`,s){c.setAttribute(`alpha`,``);let e=I.hexNums[Math.round((o??1)*255)];c.value=(a||`#000000`)+e}else c.value=a||`#000000`;return c.className=`basicColorPicker`,c.tabIndex=0,c.setAttribute(`data-l10n-id`,e.#i[t]),c.addEventListener(`input`,()=>{if(s){let e=Me(c.value);if(!e)return;let[t,a,o,s]=e,l=I.makeHexColor(t,a,o);r===void 0?(this.#r.updateParams(n,l),this.#r.updateParams(i,s)):this.#r.updateParams(r,{color:l,opacity:s})}else this.#r.updateParams(n,c.value)},{signal:this.#r._signal}),c}update(e){if(this.#e){if(this.#t){let t=I.hexNums[Math.round(this.#n.opacity*255)];this.#e.value=e+t}else this.#e.value=e}}updateOpacity(e){if(!this.#e||!this.#t)return;let t=I.hexNums[Math.round(e*255)];this.#e.value=this.#n.color+t}destroy(){this.#e?.remove(),this.#e=null}hideDropdown(){}};function Ur(e){return Math.floor(L(e,0,1)*255).toString(16).padStart(2,`0`)}function Wr(e){return L(e,0,1)*255}var Gr=class{static CMYK_G([e,t,n,r]){return[`G`,1-Math.min(1,.3*e+.59*n+.11*t+r)]}static G_CMYK([e]){return[`CMYK`,0,0,0,1-e]}static G_RGB([e]){return[`RGB`,e,e,e]}static G_rgb([e]){return e=Wr(e),[e,e,e]}static G_HTML([e]){let t=Ur(e);return`#${t}${t}${t}`}static RGB_G([e,t,n]){return[`G`,.3*e+.59*t+.11*n]}static RGB_rgb(e){return e.map(Wr)}static RGB_HTML(e){return`#${e.map(Ur).join(``)}`}static T_HTML(){return`#00000000`}static T_rgb(){return[null]}static CMYK_RGB([e,t,n,r]){return[`RGB`,1-Math.min(1,e+r),1-Math.min(1,n+r),1-Math.min(1,t+r)]}static CMYK_rgb([e,t,n,r]){return[Wr(1-Math.min(1,e+r)),Wr(1-Math.min(1,n+r)),Wr(1-Math.min(1,t+r))]}static CMYK_HTML(e){let t=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(t)}static RGB_CMYK([e,t,n]){let r=1-e,i=1-t,a=1-n;return[`CMYK`,r,i,a,Math.min(r,i,a)]}},Kr=class{create(e,t,n=!1){if(e<=0||t<=0)throw Error(`Invalid SVG dimensions`);let r=this._createSVG(`svg:svg`);return r.setAttribute(`version`,`1.1`),n||(r.setAttribute(`width`,`${e}px`),r.setAttribute(`height`,`${t}px`)),r.setAttribute(`preserveAspectRatio`,`none`),r.setAttribute(`viewBox`,`0 0 ${e} ${t}`),r}createElement(e){if(typeof e!=`string`)throw Error(`Invalid SVG element type`);return this._createSVG(e)}_createSVG(e){E("Abstract method `_createSVG` called.")}},qr=class extends Kr{_createSVG(e){return document.createElementNS(a,e)}},Jr=9,Yr=new WeakSet,Xr=new Date().getTimezoneOffset()*60*1e3,Zr=class{static create(e){switch(e.data.annotationType){case h.LINK:return new $r(e);case h.TEXT:return new ei(e);case h.WIDGET:switch(e.data.fieldType){case`Tx`:return new ni(e);case`Btn`:return e.data.radioButton?new ai(e):e.data.checkBox?new ii(e):new oi(e);case`Ch`:return new si(e);case`Sig`:return new ri(e)}return new ti(e);case h.POPUP:return new ci(e);case h.FREETEXT:return new ui(e);case h.LINE:return new di(e);case h.SQUARE:return new fi(e);case h.CIRCLE:return new pi(e);case h.POLYLINE:return new mi(e);case h.CARET:return new gi(e);case h.INK:return new _i(e);case h.POLYGON:return new hi(e);case h.HIGHLIGHT:return new vi(e);case h.UNDERLINE:return new yi(e);case h.SQUIGGLY:return new bi(e);case h.STRIKEOUT:return new xi(e);case h.STAMP:return new Si(e);case h.FILEATTACHMENT:return new Ci(e);case h.RICHMEDIA:case h.SCREEN:case h.SOUND:return new wi(e);default:return new Q(e)}}},Q=class e{#e=null;#t=!1;#n=null;constructor(e,{isRenderable:t=!1,ignoreBorder:n=!1,createQuadrilaterals:r=!1}={}){this.isRenderable=t,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableComment=e.enableComment,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,this.hasOwnCommentButton=!1,t&&(this.contentElement=this.container=this._createContainer(n)),r&&this._createQuadrilaterals()}static _hasPopupData({contentsObj:e,richText:t}){return!!(e?.str||t?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return e._hasPopupData(this.data)||this.enableComment&&!!this.commentText}get commentData(){let{data:e}=this,t=this.annotationStorage?.getEditor(e.id);return t?t.getData():e}get hasCommentButton(){return this.enableComment&&this.hasPopupElement}get commentButtonPosition(){let e=this.annotationStorage?.getEditor(this.data.id);if(e)return e.commentButtonPositionInPage;let{quadPoints:t,inkLists:n,rect:r}=this.data,i=-1/0,a=-1/0;if(t?.length>=8){for(let e=0;ea?(a=t[e+1],i=t[e+2]):t[e+1]===a&&(i=Math.max(i,t[e+2]));return[i,a]}if(n?.length>=1){for(let e of n)for(let t=0,n=e.length;ta?(a=e[t+1],i=e[t]):e[t+1]===a&&(i=Math.max(i,e[t]));if(i!==1/0)return[i,a]}return r?[r[2],r[3]]:null}_normalizePoint(e){let{page:{view:t},viewport:{rawDims:{pageWidth:n,pageHeight:r,pageX:i,pageY:a}}}=this.parent;return e[1]=t[3]-e[1]+t[1],e[0]=100*(e[0]-i)/n,e[1]=100*(e[1]-a)/r,e}get commentText(){let{data:e}=this;return this.annotationStorage.getRawValue(`${l}${e.id}`)?.popup?.contents||e.contentsObj?.str||``}set commentText(e){let{data:t}=this,n={deleted:!e,contents:e||``};this.annotationStorage.updateEditor(t.id,{popup:n})||this.annotationStorage.setValue(`${l}${t.id}`,{id:t.id,annotationType:t.annotationType,page:this.parent.page,popup:n,popupRef:t.popupRef,modificationDate:new Date}),e||this.removePopup()}removePopup(){(this.#n?.popup||this.popup)?.remove(),this.#n=this.popup=null}updateEdited(e){if(!this.container)return;e.rect&&(this.#e||={rect:this.data.rect.slice(0)});let{rect:t,popup:n}=e;t&&this.#r(t);let r=this.#n?.popup||this.popup;!r&&n?.text&&(this._createPopup(n),r=this.#n.popup),r&&(r.updateEdited(e),n?.deleted&&(r.remove(),this.#n=null,this.popup=null))}resetEdited(){this.#e&&=(this.#r(this.#e.rect),this.#n?.popup.resetEdited(),null)}#r(e){let{container:{style:t},data:{rect:n,rotation:r},parent:{viewport:{rawDims:{pageWidth:i,pageHeight:a,pageX:o,pageY:s}}}}=this;n?.splice(0,4,...e),t.left=`${100*(e[0]-o)/i}%`,t.top=`${100*(a-e[3]+s)/a}%`,r===0?(t.width=`${100*(e[2]-e[0])/i}%`,t.height=`${100*(e[3]-e[1])/a}%`):this.setRotation(r)}_createContainer(e){let{data:t,parent:{page:n,viewport:r}}=this,i=document.createElement(`section`);i.setAttribute(`data-annotation-id`,t.id),!(this instanceof ti)&&!(this instanceof $r)&&!(this instanceof wi)&&(i.tabIndex=0);let{style:a}=i;if(a.zIndex=this.parent.zIndex,this.parent.zIndex+=2,t.alternativeText&&(i.title=t.alternativeText),t.noRotate&&i.classList.add(`norotate`),!t.rect||this instanceof ci){let{rotation:e}=t;return!t.hasOwnCanvas&&e!==0&&this.setRotation(e,i),i}let{width:o,height:s}=this;if(!e&&t.borderStyle.width>0){a.borderWidth=`${t.borderStyle.width}px`;let e=t.borderStyle.horizontalCornerRadius,n=t.borderStyle.verticalCornerRadius;switch((e>0||n>0)&&(a.borderRadius=`calc(${e}px * var(--total-scale-factor)) / calc(${n}px * var(--total-scale-factor))`),t.borderStyle.style){case g.SOLID:a.borderStyle=`solid`;break;case g.DASHED:a.borderStyle=`dashed`;break;case g.BEVELED:T(`Unimplemented border style: beveled`);break;case g.INSET:T(`Unimplemented border style: inset`);break;case g.UNDERLINE:a.borderBottomStyle=`solid`}let r=t.borderColor||null;r?(this.#t=!0,a.borderColor=I.makeHexColor(...r)):a.borderWidth=0}let c=I.normalizeRect([t.rect[0],n.view[3]-t.rect[1]+n.view[1],t.rect[2],n.view[3]-t.rect[3]+n.view[1]]),{pageWidth:l,pageHeight:u,pageX:d,pageY:f}=r.rawDims;a.left=`${100*(c[0]-d)/l}%`,a.top=`${100*(c[1]-f)/u}%`;let{rotation:p}=t;return t.hasOwnCanvas||p===0?(a.width=`${100*o/l}%`,a.height=`${100*s/u}%`):this.setRotation(p,i),i}setRotation(e,t=this.container){if(!this.data.rect)return;let{pageWidth:n,pageHeight:r}=this.parent.viewport.rawDims,{width:i,height:a}=this;e%180!=0&&([i,a]=[a,i]),t.style.width=`${100*i/n}%`,t.style.height=`${100*a/r}%`,t.setAttribute(`data-main-rotation`,(360-e)%360)}get _commonActions(){let e=(e,t,n)=>{let r=n.detail[e],i=r[0],a=r.slice(1);n.target.style[t]=Gr[`${i}_HTML`](a),this.annotationStorage.setValue(this.data.id,{[t]:Gr[`${i}_rgb`](a)})};return M(this,`_commonActions`,{display:e=>{let{display:t}=e.detail,n=t%2==1;this.container.style.visibility=n?`hidden`:`visible`,this.annotationStorage.setValue(this.data.id,{noView:n,noPrint:t===1||t===2})},print:e=>{this.annotationStorage.setValue(this.data.id,{noPrint:!e.detail.print})},hidden:e=>{let{hidden:t}=e.detail;this.container.style.visibility=t?`hidden`:`visible`,this.annotationStorage.setValue(this.data.id,{noPrint:t,noView:t})},focus:e=>{setTimeout(()=>e.target.focus({preventScroll:!1}),0)},userName:e=>{e.target.title=e.detail.userName},readonly:e=>{e.target.disabled=e.detail.readonly},required:e=>{this._setRequired(e.target,e.detail.required)},bgColor:t=>{e(`bgColor`,`backgroundColor`,t)},fillColor:t=>{e(`fillColor`,`backgroundColor`,t)},fgColor:t=>{e(`fgColor`,`color`,t)},textColor:t=>{e(`textColor`,`color`,t)},borderColor:t=>{e(`borderColor`,`borderColor`,t)},strokeColor:t=>{e(`strokeColor`,`borderColor`,t)},rotation:e=>{let t=e.detail.rotation;this.setRotation(t),this.annotationStorage.setValue(this.data.id,{rotation:t})}})}_dispatchEventFromSandbox(e,t){let n=this._commonActions;for(let r of Object.keys(t.detail))(e[r]||n[r])?.(t)}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;let t=this.annotationStorage.getRawValue(this.data.id);if(!t)return;let n=this._commonActions;for(let[r,i]of Object.entries(t)){let a=n[r];a&&(a({detail:{[r]:i},target:e}),delete t[r])}}_createQuadrilaterals(){if(!this.container)return;let{quadPoints:e}=this.data;if(!e)return;let[t,n,r,i]=this.data.rect.map(e=>Math.fround(e));if(e.length===8){let[a,o,s,c]=e.subarray(2,6);if(r===a&&i===o&&t===s&&n===c)return}let{style:o}=this.container,s;if(this.#t){let{borderColor:e,borderWidth:t}=o;o.borderWidth=0,s=[`url('data:image/svg+xml;utf8,`,``,``],this.container.classList.add(`hasBorder`)}let c=r-t,l=i-n,{svgFactory:u}=this,d=u.createElement(`svg`);d.classList.add(`quadrilateralsContainer`),d.setAttribute(`width`,0),d.setAttribute(`height`,0),d.role=`none`;let f=u.createElement(`defs`);d.append(f);let p=u.createElement(`clipPath`),m=`clippath_${this.data.id}`;p.setAttribute(`id`,m),p.setAttribute(`clipPathUnits`,`objectBoundingBox`),f.append(p);for(let n=2,r=e.length;n`)}this.#t&&(s.push(`')`),o.backgroundImage=s.join(``)),this.container.append(d),this.container.style.clipPath=`url(#${m})`}_createPopup(e=null){let{data:t}=this,n,r;e?(n={str:e.text},r=e.date):(n=t.contentsObj,r=t.modificationDate),this.#n=new ci({data:{color:t.color,titleObj:t.titleObj,modificationDate:r,contentsObj:n,richText:t.richText,parentRect:t.rect,borderStyle:0,id:`popup_${t.id}`,rotation:t.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]})}get hasPopupElement(){return!!(this.#n||this.popup||this.data.popupRef)}get extraPopupElement(){return this.#n}render(){E("Abstract method `AnnotationElement.render` called")}_getElementsByName(e,t=null){let n=[];if(this._fieldObjects){let r=this._fieldObjects[e]||[];for(let{page:e,id:i,exportValues:a}of r){if(e===-1||i===t)continue;let r=typeof a==`string`?a:null,o=document.querySelector(`[data-element-id="${i}"]`);if(o&&!Yr.has(o)){T(`_getElementsByName - element not allowed: ${i}`);continue}n.push({id:i,exportValue:r,domElement:o})}return n}for(let r of document.getElementsByName(e)){let{exportValue:e}=r,i=r.getAttribute(`data-element-id`);i!==t&&Yr.has(r)&&n.push({id:i,exportValue:e,domElement:r})}return n}show(){this.container&&(this.container.hidden=!1),this.popup?.maybeShow()}hide(){this.container&&(this.container.hidden=!0),this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){let e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(let t of e)t.classList.add(`highlightArea`);else e.classList.add(`highlightArea`)}_editOnDoubleClick(){if(!this._isEditable)return;let{annotationEditorType:e,data:{id:t}}=this;this.container.addEventListener(`dblclick`,()=>{this.linkService.eventBus?.dispatch(`switchannotationeditormode`,{source:this,mode:e,editId:t,mustEnterInEditMode:!0})})}updateOC(e){!this.data.oc||!e||(e.isVisible(this.data.oc)?this.show():this.hide())}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}_setBackgroundColor(e){let t=this.data.backgroundColor||null;e.style.backgroundColor=t===null?`transparent`:I.makeHexColor(...t)}},Qr=class extends Q{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0}),this.editor=e.editor}render(){return this.container.className=`editorAnnotation`,this.container}createOrUpdatePopup(){let{editor:e}=this;e.hasComment&&this._createPopup(e.comment)}get hasCommentButton(){return this.enableComment&&this.editor.hasComment}get commentButtonPosition(){return this.editor.commentButtonPositionInPage}get commentText(){return this.editor.comment.text}set commentText(e){this.editor.comment=e,e||this.removePopup()}get commentData(){return this.editor.getData()}remove(){this.parent.removeAnnotation(this.data.id),this.container.remove(),this.container=null,this.removePopup()}},$r=class extends Q{constructor(e,t=null){super(e,{isRenderable:!0,ignoreBorder:!!t?.ignoreBorder,createQuadrilaterals:!0}),this.isTooltipOnly=e.data.isTooltipOnly}render(){let{data:e,linkService:t}=this,n=document.createElement(`a`);n.setAttribute(`data-element-id`,e.id);let r=!1;return e.url?(t.addLinkAttributes(n,e.url,e.newWindow),r=!0):e.action?(this._bindNamedAction(n,e.action,e.overlaidText),r=!0):e.attachment?(this.#t(n,e.attachmentId,e.attachment,e.overlaidText,e.attachmentDest),r=!0):e.setOCGState?(this.#n(n,e.setOCGState,e.overlaidText),r=!0):e.dest?(this._bindLink(n,e.dest,e.overlaidText),r=!0):(e.actions&&(e.actions.Action||e.actions[`Mouse Up`]||e.actions[`Mouse Down`])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(n,e),r=!0),e.resetForm?(this._bindResetFormAction(n,e.resetForm),r=!0):this.isTooltipOnly&&!r&&(this._bindLink(n,``),r=!0)),this.container.classList.add(`linkAnnotation`),r&&(this.contentElement=n,this.container.append(n)),this.container}#e(){this.container.setAttribute(`data-internal-link`,``)}_bindLink(e,t,n=``){e.href=this.linkService.getDestinationHash(t),e.onclick=()=>(t&&this.linkService.goToDestination(t),!1),(t||t===``)&&this.#e(),n&&(e.title=n)}_bindNamedAction(e,t,n=``){e.href=this.linkService.getAnchorUrl(``),e.onclick=()=>(this.linkService.executeNamedAction(t),!1),n&&(e.title=n),this.#e()}#t(e,t,n,r=``,i=null){e.href=this.linkService.getAnchorUrl(``),n.description?e.title=n.description:r&&(e.title=r);let a=async()=>{let e=await this.linkService.getAttachmentContent(t);e&&this.downloadManager?.openOrDownloadData(e,n.filename,i)};e.onclick=()=>(a(),!1),this.#e()}#n(e,t,n=``){e.href=this.linkService.getAnchorUrl(``),e.onclick=()=>(this.linkService.executeSetOCGState(t),!1),n&&(e.title=n),this.#e()}_bindJSAction(e,t){e.href=this.linkService.getAnchorUrl(``);let n=new Map([[`Action`,`onclick`],[`Mouse Up`,`onmouseup`],[`Mouse Down`,`onmousedown`]]);for(let r of Object.keys(t.actions)){let i=n.get(r);i&&(e[i]=()=>(this.linkService.eventBus?.dispatch(`dispatcheventinsandbox`,{source:this,detail:{id:t.id,name:r}}),!1))}t.overlaidText&&(e.title=t.overlaidText),e.onclick||=()=>!1,this.#e()}_bindResetFormAction(e,t){let n=e.onclick;if(n||(e.href=this.linkService.getAnchorUrl(``)),this.#e(),!this._fieldObjects){T('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),n||(e.onclick=()=>!1);return}e.onclick=()=>{n?.();let{fields:e,refs:r,include:i}=t,a=[];if(e.length!==0||r.length!==0){let t=new Set(r);for(let n of e){let e=this._fieldObjects[n]||[];for(let{id:n}of e)t.add(n)}for(let e of Object.values(this._fieldObjects))for(let n of e)t.has(n.id)===i&&a.push(n)}else for(let e of Object.values(this._fieldObjects))a.push(...e);let o=this.annotationStorage,s=[];for(let e of a){let{id:t}=e;switch(s.push(t),e.type){case`text`:{let n=e.defaultValue||``;o.setValue(t,{value:n});break}case`checkbox`:case`radiobutton`:{let n=e.defaultValue===e.exportValues;o.setValue(t,{value:n});break}case`combobox`:case`listbox`:{let n=e.defaultValue||``;o.setValue(t,{value:n});break}default:continue}let n=document.querySelector(`[data-element-id="${t}"]`);if(n){if(!Yr.has(n)){T(`_bindResetFormAction - element not allowed: ${t}`);continue}n.dispatchEvent(new Event(`resetform`))}}return this.enableScripting&&this.linkService.eventBus?.dispatch(`dispatcheventinsandbox`,{source:this,detail:{id:`app`,ids:s,name:`ResetForm`}}),!1}}},ei=class extends Q{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add(`textAnnotation`);let e=document.createElement(`img`);return e.src=this.imageResourcesPath+`annotation-`+this.data.name.toLowerCase()+`.svg`,e.setAttribute(`data-l10n-id`,`pdfjs-text-annotation-type`),e.setAttribute(`data-l10n-args`,JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.append(e),this.container}},ti=class extends Q{render(){return this.container}_getKeyModifier(e){return F.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,t,n,r,i){n.includes(`mouse`)?e.addEventListener(n,e=>{this.linkService.eventBus?.dispatch(`dispatcheventinsandbox`,{source:this,detail:{id:this.data.id,name:r,value:i(e),shift:e.shiftKey,modifier:this._getKeyModifier(e)}})}):e.addEventListener(n,e=>{if(n===`blur`){if(!t.focused||!e.relatedTarget)return;t.focused=!1}else if(n===`focus`){if(t.focused)return;t.focused=!0}i&&this.linkService.eventBus?.dispatch(`dispatcheventinsandbox`,{source:this,detail:{id:this.data.id,name:r,value:i(e)}})})}_setEventListeners(e,t,n,r){for(let[i,a]of n)(a===`Action`||this.data.actions?.[a])&&((a===`Focus`||a===`Blur`)&&(t||={focused:!1}),this._setEventListener(e,t,i,a,r),a===`Focus`&&!this.data.actions?.Blur?this._setEventListener(e,t,`blur`,`Blur`,null):a===`Blur`&&!this.data.actions?.Focus&&this._setEventListener(e,t,`focus`,`Focus`,null))}_setTextStyle(e){let t=[`left`,`center`,`right`],{fontColor:n}=this.data.defaultAppearanceData,r=this.data.defaultAppearanceData.fontSize||Jr,i=e.style,a,o=e=>Math.round(10*e)/10;if(this.data.multiLine){let e=Math.abs(this.data.rect[3]-this.data.rect[1]-2),t=e/(Math.round(e/(1.35*r))||1);a=Math.min(r,o(t/1.35))}else{let e=Math.abs(this.data.rect[3]-this.data.rect[1]-2);a=Math.min(r,o(e/1.35))}i.fontSize=`calc(${a}px * var(--total-scale-factor))`,i.color=I.makeHexColor(...n),this.data.textAlignment!==null&&!this.data.comb&&(i.textAlign=t[this.data.textAlignment])}_setRequired(e,t){t?e.setAttribute(`required`,!0):e.removeAttribute(`required`),e.setAttribute(`aria-required`,t)}},ni=class extends ti{constructor(e){let t=e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue;super(e,{isRenderable:t})}setPropertyOnSiblings(e,t,n,r){let i=this.annotationStorage;for(let a of this._getElementsByName(e.name,e.id))a.domElement&&(a.domElement[t]=n),i.setValue(a.id,{[r]:n})}render(){let e=this.annotationStorage,t=this.data.id;this.container.classList.add(`textWidgetAnnotation`);let n=null;if(this.renderForms){let r=e.getValue(t,{value:this.data.fieldValue}),i=r.value||``,a=e.getValue(t,{charLimit:this.data.maxLen}).charLimit;a&&i.length>a&&(i=i.slice(0,a));let o=r.formattedValue||this.data.textContent?.join(` +`)||null;o&&this.data.comb&&(o=o.replaceAll(/\s+/g,``));let s={userValue:i,formattedValue:o,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(n=document.createElement(`textarea`),n.textContent=o??i,this.data.doNotScroll&&(n.style.overflowY=`hidden`)):(n=document.createElement(`input`),n.type=this.data.password?`password`:`text`,n.setAttribute(`value`,o??i),this.data.doNotScroll&&(n.style.overflowX=`hidden`)),this.data.hasOwnCanvas&&(this.container.classList.add(`hasOwnCanvas`),e.has(t)&&this.container.classList.add(`sandboxModified`)),Yr.add(n),this.contentElement=n,n.setAttribute(`data-element-id`,t),n.disabled=this.data.readOnly,n.name=this.data.fieldName,n.tabIndex=0;let{datetimeFormat:c,datetimeType:l,timeStep:u}=this.data,d=!!l&&this.enableScripting;c&&(n.title=c),this._setRequired(n,this.data.required),a&&(n.maxLength=a),n.addEventListener(`input`,r=>{e.setValue(t,{value:r.target.value}),this.setPropertyOnSiblings(n,`value`,r.target.value,`value`),s.formattedValue=null}),n.addEventListener(`resetform`,e=>{let t=this.data.defaultFieldValue??``;n.value=s.userValue=t,s.formattedValue=null});let f=e=>{let{formattedValue:t}=s;t!=null&&(e.target.value=t),e.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){n.addEventListener(`focus`,e=>{if(s.focused)return;let{target:t}=e;if(d&&(t.type=l,u&&(t.step=u)),s.userValue){let e=s.userValue;if(d){if(l===`time`){let n=new Date(e);t.value=[n.getHours(),n.getMinutes(),n.getSeconds()].map(e=>e.toString().padStart(2,`0`)).join(`:`)}else t.value=new Date(e-Xr).toISOString().split(l===`date`?`T`:`.`,1)[0]}else t.value=e}s.lastCommittedValue=t.value,s.commitKey=1,this.data.actions?.Focus||(s.focused=!0)}),n.addEventListener(`updatefromsandbox`,n=>{this.container.classList.add(`sandboxModified`),this._dispatchEventFromSandbox({value(n){s.userValue=n.detail.value??``,d||e.setValue(t,{value:s.userValue.toString()}),n.target.value=s.userValue},formattedValue(n){let{formattedValue:r}=n.detail;s.formattedValue=r,r!=null&&n.target!==document.activeElement&&(n.target.value=r);let i={formattedValue:r};d&&(i.value=r),e.setValue(t,i)},selRange(e){e.target.setSelectionRange(...e.detail.selRange)},charLimit:n=>{let{charLimit:r}=n.detail,{target:i}=n;if(r===0){i.removeAttribute(`maxLength`);return}i.setAttribute(`maxLength`,r);let a=s.userValue;!a||a.length<=r||(a=a.slice(0,r),i.value=s.userValue=a,e.setValue(t,{value:a}),this.linkService.eventBus?.dispatch(`dispatcheventinsandbox`,{source:this,detail:{id:t,name:`Keystroke`,value:a,willCommit:!0,commitKey:1,selStart:i.selectionStart,selEnd:i.selectionEnd}}))}},n)}),n.addEventListener(`keydown`,e=>{s.commitKey=1;let n=-1;if(e.key===`Escape`?n=0:e.key===`Enter`&&!this.data.multiLine?n=2:e.key===`Tab`&&(s.commitKey=3),n===-1)return;let{value:r}=e.target;s.lastCommittedValue!==r&&(s.lastCommittedValue=r,s.userValue=r,this.linkService.eventBus?.dispatch(`dispatcheventinsandbox`,{source:this,detail:{id:t,name:`Keystroke`,value:r,willCommit:!0,commitKey:n,selStart:e.target.selectionStart,selEnd:e.target.selectionEnd}}))});let r=f;f=null,n.addEventListener(`blur`,e=>{if(!s.focused||!e.relatedTarget)return;this.data.actions?.Blur||(s.focused=!1);let{target:n}=e,{value:i}=n;if(d){if(i&&l===`time`){let e=i.split(`:`).map(e=>parseInt(e,10));i=new Date(2e3,0,1,e[0],e[1],e[2]||0).valueOf(),n.step=``}else i.includes(`T`)||(i=`${i}T00:00`),i=new Date(i).valueOf();n.type=`text`}s.userValue=i,s.lastCommittedValue!==i&&this.linkService.eventBus?.dispatch(`dispatcheventinsandbox`,{source:this,detail:{id:t,name:`Keystroke`,value:i,willCommit:!0,commitKey:s.commitKey,selStart:e.target.selectionStart,selEnd:e.target.selectionEnd}}),r(e)}),this.data.actions?.Keystroke&&n.addEventListener(`beforeinput`,e=>{s.lastCommittedValue=null;let{data:n,target:r}=e,{value:i,selectionStart:a,selectionEnd:o}=r,c=a,l=o;switch(e.inputType){case`deleteWordBackward`:{let e=i.substring(0,a).match(/\w*\W*$/);e&&(c-=e[0].length);break}case`deleteWordForward`:{let e=i.substring(a).match(/^\W*\w*/);e&&(l+=e[0].length);break}case`deleteContentBackward`:a===o&&--c;break;case`deleteContentForward`:a===o&&(l+=1)}e.preventDefault(),this.linkService.eventBus?.dispatch(`dispatcheventinsandbox`,{source:this,detail:{id:t,name:`Keystroke`,value:i,change:n||``,willCommit:!1,selStart:c,selEnd:l}})}),this._setEventListeners(n,s,[[`focus`,`Focus`],[`blur`,`Blur`],[`mousedown`,`Mouse Down`],[`mouseenter`,`Mouse Enter`],[`mouseleave`,`Mouse Exit`],[`mouseup`,`Mouse Up`]],e=>e.target.value)}if(f&&n.addEventListener(`blur`,f),this.data.comb){let e=(this.data.rect[2]-this.data.rect[0])/a;n.classList.add(`comb`),n.style.setProperty(`--comb-width`,`calc(${e}px * var(--total-scale-factor))`);let t=this.data.textAlignment;if(t===1||t===2){let e=()=>{let e=a-n.value.length;n.style.setProperty(`--comb-offset`,`${t===1?e>>1:e}`)};e();for(let t of[`input`,`blur`,`resetform`,`updatefromsandbox`])n.addEventListener(t,e)}}}else n=document.createElement(`div`),n.textContent=this.data.fieldValue,n.style.verticalAlign=`middle`,n.style.display=`table-cell`,this.data.hasOwnCanvas&&(n.hidden=!0);return this._setTextStyle(n),this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}},ri=class extends ti{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}},ii=class extends ti{constructor(e){super(e,{isRenderable:e.renderForms})}render(){let e=this.annotationStorage,t=this.data,n=t.id,r=e.getValue(n,{value:t.exportValue===t.fieldValue}).value;typeof r==`string`&&(r=r!==`Off`,e.setValue(n,{value:r})),this.container.classList.add(`buttonWidgetAnnotation`,`checkBox`);let i=document.createElement(`input`);return Yr.add(i),i.setAttribute(`data-element-id`,n),i.disabled=t.readOnly,this._setRequired(i,this.data.required),i.type=`checkbox`,i.name=t.fieldName,r&&i.setAttribute(`checked`,!0),i.setAttribute(`exportValue`,t.exportValue),i.tabIndex=0,i.addEventListener(`change`,r=>{let{name:i,checked:a}=r.target;for(let r of this._getElementsByName(i,n)){let n=a&&r.exportValue===t.exportValue;r.domElement&&(r.domElement.checked=n),e.setValue(r.id,{value:n})}e.setValue(n,{value:a})}),i.addEventListener(`resetform`,e=>{let n=t.defaultFieldValue||`Off`;e.target.checked=n===t.exportValue}),this.enableScripting&&this.hasJSActions&&(i.addEventListener(`updatefromsandbox`,t=>{this._dispatchEventFromSandbox({value(t){t.target.checked=t.detail.value!==`Off`,e.setValue(n,{value:t.target.checked})}},t)}),this._setEventListeners(i,null,[[`change`,`Validate`],[`change`,`Action`],[`focus`,`Focus`],[`blur`,`Blur`],[`mousedown`,`Mouse Down`],[`mouseenter`,`Mouse Enter`],[`mouseleave`,`Mouse Exit`],[`mouseup`,`Mouse Up`]],e=>e.target.checked)),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}},ai=class extends ti{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add(`buttonWidgetAnnotation`,`radioButton`);let e=this.annotationStorage,t=this.data,n=t.id,r=e.getValue(n,{value:t.buttonValue!==null&&t.fieldValue===t.buttonValue}).value;if(typeof r==`string`&&(r=r!==t.buttonValue,e.setValue(n,{value:r})),r)for(let r of this._getElementsByName(t.fieldName,n))e.setValue(r.id,{value:!1});let i=document.createElement(`input`);if(Yr.add(i),i.setAttribute(`data-element-id`,n),i.disabled=t.readOnly,this._setRequired(i,this.data.required),i.type=`radio`,i.name=t.fieldName,r&&i.setAttribute(`checked`,!0),i.tabIndex=0,i.addEventListener(`change`,t=>{let{name:r,checked:i}=t.target;for(let t of this._getElementsByName(r,n))e.setValue(t.id,{value:!1});e.setValue(n,{value:i})}),i.addEventListener(`resetform`,e=>{let n=t.defaultFieldValue;e.target.checked=n!=null&&n===t.buttonValue}),this.enableScripting&&this.hasJSActions){let r=t.buttonValue;i.addEventListener(`updatefromsandbox`,t=>{this._dispatchEventFromSandbox({value:t=>{let i=r===t.detail.value;for(let r of this._getElementsByName(t.target.name)){let t=i&&r.id===n;r.domElement&&(r.domElement.checked=t),e.setValue(r.id,{value:t})}}},t)}),this._setEventListeners(i,null,[[`change`,`Validate`],[`change`,`Action`],[`focus`,`Focus`],[`blur`,`Blur`],[`mousedown`,`Mouse Down`],[`mouseenter`,`Mouse Enter`],[`mouseleave`,`Mouse Exit`],[`mouseup`,`Mouse Up`]],e=>e.target.checked)}return this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}},oi=class extends $r{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){let e=super.render();e.classList.add(`buttonWidgetAnnotation`,`pushButton`);let t=e.lastChild;return this.enableScripting&&this.hasJSActions&&t&&(this._setDefaultPropertiesFromJS(t),t.addEventListener(`updatefromsandbox`,e=>{this._dispatchEventFromSandbox({},e)})),e}},si=class extends ti{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add(`choiceWidgetAnnotation`);let e=this.annotationStorage,t=this.data.id,n=e.getValue(t,{value:this.data.fieldValue}),r=document.createElement(`select`);Yr.add(r),r.setAttribute(`data-element-id`,t),r.disabled=this.data.readOnly,this._setRequired(r,this.data.required),r.name=this.data.fieldName,r.tabIndex=0;let i=this.data.combo&&this.data.options.length>0;this.data.combo||(r.size=this.data.options.length,this.data.multiSelect&&(r.multiple=!0)),r.addEventListener(`resetform`,e=>{let t=this.data.defaultFieldValue;for(let e of r.options)e.selected=e.value===t});let a=(e,t)=>{let n=t.replaceAll(` `,`\xA0`);e.textContent=n,n!==t&&e.setAttribute(`display-value`,t)};for(let e of this.data.options){let t=document.createElement(`option`);a(t,e.displayValue),t.value=e.exportValue,n.value.includes(e.exportValue)&&(t.setAttribute(`selected`,!0),i=!1),r.append(t)}let o=null;if(i){let e=document.createElement(`option`);e.value=` `,e.setAttribute(`hidden`,!0),e.setAttribute(`selected`,!0),r.prepend(e),o=()=>{e.remove(),r.removeEventListener(`input`,o),o=null},r.addEventListener(`input`,o)}let s=e=>{let t=e?`value`:`textContent`,{options:n,multiple:i}=r;return i?Array.prototype.filter.call(n,e=>e.selected).map(e=>e[t]):n.selectedIndex===-1?null:n[n.selectedIndex][t]},c=s(!1),l=e=>{let t=e.target.options;return Array.prototype.map.call(t,e=>({displayValue:e.getAttribute(`display-value`)||e.textContent,exportValue:e.value}))};return this.enableScripting&&this.hasJSActions?(r.addEventListener(`updatefromsandbox`,n=>{this._dispatchEventFromSandbox({value(n){o?.();let i=n.detail.value,a=new Set(Array.isArray(i)?i:[i]);for(let e of r.options)e.selected=a.has(e.value);e.setValue(t,{value:s(!0)}),c=s(!1)},multipleSelection(e){r.multiple=!0},remove(n){let i=r.options,a=n.detail.remove;i[a].selected=!1,r.remove(a),i.length>0&&Array.prototype.findIndex.call(i,e=>e.selected)===-1&&(i[0].selected=!0),e.setValue(t,{value:s(!0),items:l(n)}),c=s(!1)},clear(n){for(;r.length!==0;)r.remove(0);e.setValue(t,{value:null,items:[]}),c=s(!1)},insert(n){let{index:i,displayValue:o,exportValue:u}=n.detail.insert,d=r.children[i],f=document.createElement(`option`);a(f,o),f.value=u,d?d.before(f):r.append(f),e.setValue(t,{value:s(!0),items:l(n)}),c=s(!1)},items(n){let{items:i}=n.detail;for(;r.length!==0;)r.remove(0);for(let e of i){let{displayValue:t,exportValue:n}=e,i=document.createElement(`option`);a(i,t),i.value=n,r.append(i)}r.options.length>0&&(r.options[0].selected=!0),e.setValue(t,{value:s(!0),items:l(n)}),c=s(!1)},indices(n){let r=new Set(n.detail.indices);for(let e of n.target.options)e.selected=r.has(e.index);e.setValue(t,{value:s(!0)}),c=s(!1)},editable(e){e.target.disabled=!e.detail.editable}},n)}),r.addEventListener(`input`,n=>{let r=s(!0),i=s(!1);e.setValue(t,{value:r}),n.preventDefault(),this.linkService.eventBus?.dispatch(`dispatcheventinsandbox`,{source:this,detail:{id:t,name:`Keystroke`,value:c,change:i,changeEx:r,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(r,null,[[`focus`,`Focus`],[`blur`,`Blur`],[`mousedown`,`Mouse Down`],[`mouseenter`,`Mouse Enter`],[`mouseleave`,`Mouse Exit`],[`mouseup`,`Mouse Up`],[`input`,`Action`],[`input`,`Validate`]],e=>e.target.value)):r.addEventListener(`input`,function(n){e.setValue(t,{value:s(!0)})}),this.data.combo&&this._setTextStyle(r),this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}},ci=class extends Q{constructor(e){let{data:t,elements:n,parent:r}=e,i=!!r._commentManager;if(super(e,{isRenderable:!i&&Q._hasPopupData(t)}),this.elements=n,i&&Q._hasPopupData(t)){let e=this.popup=this.#e();for(let t of n)t.popup=e}else this.popup=null}#e(){return new li({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate||this.data.creationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open,commentManager:this.parent._commentManager})}render(){let{container:e}=this;e.classList.add(`popupAnnotation`),e.role=`comment`;let t=this.popup=this.#e(),n=[];for(let e of this.elements)e.popup=t,e.container.ariaHasPopup=`dialog`,n.push(e.data.id),e.addHighlightArea();return this.container.setAttribute(`aria-controls`,n.map(e=>`${c}${e}`).join(`,`)),this.container}},li=class{#e=null;#t=this.#P.bind(this);#n=this.#R.bind(this);#r=this.#L.bind(this);#i=this.#I.bind(this);#a=null;#o=null;#s=null;#c=null;#l=null;#u=null;#d=null;#f=!1;#p=null;#m=null;#h=null;#g=null;#_=null;#v=null;#y=null;#b=null;#x=null;#S=null;#C=!1;#w=null;#T=null;constructor({container:e,color:t,elements:n,titleObj:r,modificationDate:i,contentsObj:a,richText:o,parent:s,rect:c,parentRect:l,open:u,commentManager:d=null}){this.#o=e,this.#x=r,this.#s=a,this.#b=o,this.#u=s,this.#a=t,this.#y=c,this.#d=l,this.#l=n,this.#e=d,this.#w=n[0],this.#c=je.toDateObject(i),this.trigger=n.flatMap(e=>e.getElementsToTriggerPopup()),d||(this.#E(),this.#o.hidden=!0,u&&this.#I())}#E(){if(this.#m)return;this.#m=new AbortController;let{signal:e}=this.#m;for(let t of this.trigger)t.addEventListener(`click`,this.#i,{signal:e}),t.addEventListener(`pointerenter`,this.#r,{signal:e}),t.addEventListener(`pointerleave`,this.#n,{signal:e}),t.classList.add(`popupTriggerArea`);for(let t of this.#l)t.container?.addEventListener(`keydown`,this.#t,{signal:e})}#D(){let e=this.#l.find(e=>e.hasCommentButton);e&&(this.#_=e._normalizePoint(e.commentButtonPosition))}renderCommentButton(){if(this.#g){this.#g.parentNode||this.#w.container.after(this.#g);return}if(this.#_||this.#D(),!this.#_)return;let{signal:e}=this.#m=new AbortController,t=this.#w.hasOwnCommentButton,n=()=>{this.#e.toggleCommentPopup(this,!0,void 0,!t)},r=()=>{this.#e.toggleCommentPopup(this,!1,!0,!t)},i=()=>{this.#e.toggleCommentPopup(this,!1,!1)};if(t){this.#g=this.#w.container;for(let t of this.trigger)t.ariaHasPopup=`dialog`,t.ariaControls=`commentPopup`,t.addEventListener(`keydown`,this.#t,{signal:e}),t.addEventListener(`click`,n,{signal:e}),t.addEventListener(`pointerenter`,r,{signal:e}),t.addEventListener(`pointerleave`,i,{signal:e}),t.classList.add(`popupTriggerArea`)}else{let t=this.#g=document.createElement(`button`);t.className=`annotationCommentButton`;let a=this.#w.container;t.style.zIndex=parseInt(a.style.zIndex,10)+1,t.tabIndex=0,t.ariaHasPopup=`dialog`,t.ariaControls=`commentPopup`,t.setAttribute(`data-l10n-id`,`pdfjs-show-comment-button`),this.#k(),this.#O(),t.addEventListener(`keydown`,this.#t,{signal:e}),t.addEventListener(`click`,n,{signal:e}),t.addEventListener(`pointerenter`,r,{signal:e}),t.addEventListener(`pointerleave`,i,{signal:e}),a.after(t)}}#O(){if(this.#w.extraPopupElement&&!this.#w.editor)return;this.#g||this.renderCommentButton();let[e,t]=this.#_,{style:n}=this.#g;n.left=`calc(${e}%)`,n.top=`calc(${t}% - var(--comment-button-dim))`}#k(){this.#w.extraPopupElement||(this.#g||this.renderCommentButton(),this.#g.style.backgroundColor=this.commentButtonColor||``)}get commentButtonColor(){let{color:e,opacity:t}=this.#w.commentData;return e?this.#u._commentManager.makeCommentColor(e,t):null}focusCommentButton(){setTimeout(()=>{this.#g?.focus()},0)}getData(){let{richText:e,color:t,opacity:n,creationDate:r,modificationDate:i}=this.#w.commentData;return{contentsObj:{str:this.comment},richText:e,color:t,opacity:n,creationDate:r,modificationDate:i}}get elementBeforePopup(){return this.#g}get comment(){return this.#T||=this.#w.commentText,this.#T}set comment(e){e!==this.comment&&(this.#w.commentText=this.#T=e)}focus(){this.#w.container?.focus()}get parentBoundingClientRect(){return this.#w.layer.getBoundingClientRect()}setCommentButtonStates({selected:e,hasPopup:t}){this.#g&&(this.#g.classList.toggle(`selected`,e),this.#g.ariaExpanded=t)}setSelectedCommentButton(e){this.#g.classList.toggle(`selected`,e)}get commentPopupPosition(){if(this.#v)return this.#v;let{x:e,y:t,height:n}=this.#g.getBoundingClientRect(),{x:r,y:i,width:a,height:o}=this.#w.layer.getBoundingClientRect();return[(e-r)/a,(t+n-i)/o]}set commentPopupPosition(e){this.#v=e}hasDefaultPopupPosition(){return this.#v===null}get commentButtonPosition(){return this.#_}get commentButtonWidth(){return this.#g.getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(e){let[t,n]=this.#v||this.commentButtonPosition.map(e=>e/100),r=this.parentBoundingClientRect,{x:i,y:a,width:o,height:s}=r;this.#e.showDialog(null,this,i+t*o,a+n*s,{...e,parentDimensions:r})}render(){if(this.#p)return;let e=this.#p=document.createElement(`div`);if(e.className=`popup`,this.#a){let t=e.style.outlineColor=I.makeHexColor(...this.#a);e.style.backgroundColor=`color-mix(in srgb, ${t} 30%, white)`}let t=document.createElement(`span`);if(t.className=`header`,this.#x?.str){let e=document.createElement(`span`);e.className=`title`,t.append(e),{dir:e.dir,str:e.textContent}=this.#x}if(e.append(t),this.#c){let e=document.createElement(`time`);e.className=`popupDate`,e.setAttribute(`data-l10n-id`,`pdfjs-annotation-date-time-string`),e.setAttribute(`data-l10n-args`,JSON.stringify({dateObj:this.#c.valueOf()})),e.dateTime=this.#c.toISOString(),t.append(e)}qe({html:this.#A||this.#s.str,dir:this.#s?.dir,className:`popupContent`},e),this.#o.append(e)}get#A(){let e=this.#b,t=this.#s;return e?.str&&(!t?.str||t.str===e.str)&&this.#b.html||null}get#j(){return this.#A?.attributes?.style?.fontSize||0}get#M(){return this.#A?.attributes?.style?.color||null}#N(e){let t=[],n={str:e,html:{name:`div`,attributes:{dir:`auto`},children:[{name:`p`,children:t}]}},r={style:{color:this.#M,fontSize:this.#j?`calc(${this.#j}px * var(--total-scale-factor))`:``}};for(let n of e.split(` +`))t.push({name:`span`,value:n,attributes:r});return n}#P(e){e.altKey||e.shiftKey||e.ctrlKey||e.metaKey||(e.key===`Enter`||e.key===`Escape`&&this.#f)&&this.#I()}updateEdited({rect:e,popup:t,deleted:n}){if(this.#e){n?(this.remove(),this.#T=null):t&&(t.deleted?this.remove():(this.#k(),this.#T=t.text)),e&&(this.#_=null,this.#D(),this.#O());return}if(n||t?.deleted){this.remove();return}this.#E(),this.#S||={contentsObj:this.#s,richText:this.#b},e&&(this.#h=null),t&&t.text&&(this.#b=this.#N(t.text),this.#c=je.toDateObject(t.date),this.#s=null),this.#p?.remove(),this.#p=null}resetEdited(){this.#S&&({contentsObj:this.#s,richText:this.#b}=this.#S,this.#S=null,this.#p?.remove(),this.#p=null,this.#h=null)}remove(){if(this.#m?.abort(),this.#m=null,this.#p?.remove(),this.#p=null,this.#C=!1,this.#f=!1,this.#g?.remove(),this.#g=null,this.trigger)for(let e of this.trigger)e.classList.remove(`popupTriggerArea`)}#F(){if(this.#h!==null)return;let{page:{view:e},viewport:{rawDims:{pageWidth:t,pageHeight:n,pageX:r,pageY:i}}}=this.#u,a=!!this.#d,o=a?this.#d:this.#y;for(let e of this.#l)if(!o||I.intersect(e.data.rect,o)!==null){o=e.data.rect,a=!0;break}let s=I.normalizeRect([o[0],e[3]-o[1]+e[1],o[2],e[3]-o[3]+e[1]]),c=a?o[2]-o[0]+5:0,l=s[0]+c,u=s[1];this.#h=[100*(l-r)/t,100*(u-i)/n];let{style:d}=this.#o;d.left=`${this.#h[0]}%`,d.top=`${this.#h[1]}%`}#I(){if(this.#e){this.#e.toggleCommentPopup(this,!1);return}this.#f=!this.#f,this.#f?(this.#L(),this.#o.addEventListener(`click`,this.#i),this.#o.addEventListener(`keydown`,this.#t)):(this.#R(),this.#o.removeEventListener(`click`,this.#i),this.#o.removeEventListener(`keydown`,this.#t))}#L(){this.#p||this.render(),this.isVisible?this.#f&&this.#o.classList.add(`focused`):(this.#F(),this.#o.hidden=!1,this.#o.style.zIndex=parseInt(this.#o.style.zIndex,10)+1e3)}#R(){this.#o.classList.remove(`focused`),!(this.#f||!this.isVisible)&&(this.#o.hidden=!0,this.#o.style.zIndex=parseInt(this.#o.style.zIndex,10)-1e3)}forceHide(){this.#C=this.isVisible,this.#C&&(this.#o.hidden=!0)}maybeShow(){this.#e||(this.#E(),this.#C&&(this.#p||this.#L(),this.#C=!1,this.#o.hidden=!1))}get isVisible(){return!this.#e&&this.#o.hidden===!1}},ui=class extends Q{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0}),this.textContent=e.data.textContent,this.textPosition=e.data.textPosition,this.annotationEditorType=u.FREETEXT}render(){if(this.container.classList.add(`freeTextAnnotation`),this.textContent){let e=this.contentElement=document.createElement(`div`);e.classList.add(`annotationTextContent`),e.setAttribute(`role`,`comment`);for(let t of this.textContent){let n=document.createElement(`span`);n.textContent=t,e.append(n)}this.container.append(e)}return!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this._editOnDoubleClick(),this.container}},di=class extends Q{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add(`lineAnnotation`);let{data:e,width:t,height:n}=this,r=this.svgFactory.create(t,n,!0),i=this.#e=this.svgFactory.createElement(`svg:line`);return i.setAttribute(`x1`,e.rect[2]-e.lineCoordinates[0]),i.setAttribute(`y1`,e.rect[3]-e.lineCoordinates[1]),i.setAttribute(`x2`,e.rect[2]-e.lineCoordinates[2]),i.setAttribute(`y2`,e.rect[3]-e.lineCoordinates[3]),i.setAttribute(`stroke-width`,e.borderStyle.width||1),i.setAttribute(`stroke`,`transparent`),i.setAttribute(`fill`,`transparent`),r.append(i),this.container.append(r),!e.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add(`highlightArea`)}},fi=class extends Q{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add(`squareAnnotation`);let{data:e,width:t,height:n}=this,r=this.svgFactory.create(t,n,!0),i=e.borderStyle.width,a=this.#e=this.svgFactory.createElement(`svg:rect`);return a.setAttribute(`x`,i/2),a.setAttribute(`y`,i/2),a.setAttribute(`width`,t-i),a.setAttribute(`height`,n-i),a.setAttribute(`stroke-width`,i||1),a.setAttribute(`stroke`,`transparent`),a.setAttribute(`fill`,`transparent`),r.append(a),this.container.append(r),!e.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add(`highlightArea`)}},pi=class extends Q{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add(`circleAnnotation`);let{data:e,width:t,height:n}=this,r=this.svgFactory.create(t,n,!0),i=e.borderStyle.width,a=this.#e=this.svgFactory.createElement(`svg:ellipse`);return a.setAttribute(`cx`,t/2),a.setAttribute(`cy`,n/2),a.setAttribute(`rx`,t/2-i/2),a.setAttribute(`ry`,n/2-i/2),a.setAttribute(`stroke-width`,i||1),a.setAttribute(`stroke`,`transparent`),a.setAttribute(`fill`,`transparent`),r.append(a),this.container.append(r),!e.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add(`highlightArea`)}},mi=class extends Q{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName=`polylineAnnotation`,this.svgElementName=`svg:polyline`}render(){this.container.classList.add(this.containerClassName);let{data:{rect:e,vertices:t,borderStyle:n,popupRef:r},width:i,height:a}=this;if(!t)return this.container;let o=this.svgFactory.create(i,a,!0),s=[];for(let n=0,r=t.length;n=0&&i.setAttribute(`stroke-width`,t||1),n)for(let e=0,t=this.#t.length;e{e.key===`Enter`&&(r?e.metaKey:e.ctrlKey)&&this.#t()}),!t.popupRef&&this.hasPopupData?(this.hasOwnCommentButton=!0,this._createPopup()):n.classList.add(`popupTriggerArea`),e.append(n),e}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add(`highlightArea`)}async#t(){let{fileId:e,filename:t,content:n}=this,r=await this.linkService.getAttachmentContent(e)||n;r&&this.downloadManager?.openOrDownloadData(r,t)}},wi=class extends Q{#e=new AbortController;#t=null;#n=null;constructor(e){super(e,{isRenderable:!!e.data.richMedia})}render(){this.container.classList.add(`mediaAnnotation`);let{filename:e}=this.data.richMedia,t=document.createElement(`button`);return t.className=`mediaPlayButton`,t.type=`button`,t.title=t.ariaLabel=e,t.addEventListener(`click`,()=>this.#r(t),{signal:this.#e.signal}),this.container.append(t),this.container}async#r(e){let{fileId:t,filename:n,contentType:r}=this.data.richMedia;e.disabled=!0;let i;try{i=await this.linkService.getAttachmentContent(t)}catch{return}finally{e.disabled=!1}if(!i||!e.isConnected)return;let{signal:a}=this.#e,o=URL.createObjectURL(new Blob([i],{type:r}));this.#t=o;let s=r.startsWith(`audio/`),c=document.createElement(s?`audio`:`video`);if(this.#n=c,c.className=`mediaContent`,this._setBackgroundColor(c),c.src=o,c.title=n,c.controls=!0,c.autoplay=!0,c.tabIndex=0,s){let e=!1,t=!1,n=()=>{c.controls=e||t};this.container.addEventListener(`pointerenter`,()=>{e=!0,n()},{signal:a}),this.container.addEventListener(`pointerleave`,()=>{e=!1,n()},{signal:a}),this.container.addEventListener(`focusin`,()=>{t=!0,n()},{signal:a}),this.container.addEventListener(`focusout`,()=>{t=!1,n()},{signal:a})}c.addEventListener(`emptied`,()=>this.#i(o),{once:!0,signal:a}),e.replaceWith(c),c.play().catch(()=>{})}#i(e=this.#t){e&&e===this.#t&&(URL.revokeObjectURL(e),this.#t=null)}destroy(){this.#e.abort(),this.#n&&=(this.#n.pause(),this.#n.removeAttribute(`src`),this.#n.load(),null),this.#i()}},Ti=class e{#e=null;#t=null;#n=null;#r=new Map;#i=null;#a=null;#o=[];#s=!1;zIndex=0;constructor({div:e,accessibilityManager:t,annotationCanvasMap:n,annotationEditorUIManager:r,page:i,viewport:a,structTreeLayer:o,commentManager:s,linkService:c,annotationStorage:l}){this.div=e,this.#e=t,this.#t=n,this.#i=o||null,this.#a=c||null,this.#n=l||new pt,this.page=i,this.viewport=a,this._annotationEditorUIManager=r,this._commentManager=s||null}hasEditableAnnotations(){return this.#r.size>0}async render(e){let{annotations:t,optionalContentConfig:n}=e,r=this.div;Fe(r,this.viewport);let i=new Map,a=[],o={data:null,layer:r,linkService:this.#a,downloadManager:e.downloadManager,imageResourcesPath:e.imageResourcesPath||``,renderForms:e.renderForms!==!1,svgFactory:new qr,annotationStorage:this.#n,enableComment:e.enableComment===!0,enableScripting:e.enableScripting===!0,hasJSActions:e.hasJSActions,fieldObjects:e.fieldObjects,parent:this,elements:null};for(let e of t){if(e.noHTML)continue;let t=e.annotationType===h.POPUP;if(t){let t=i.get(e.id);if(!t)continue;if(!this._commentManager){a.push(e);continue}o.elements=t}else if(e.rect[2]===e.rect[0]||e.rect[3]===e.rect[1])continue;o.data=e;let r=Zr.create(o);if(!r.isRenderable)continue;t||(this.#o.push(r),e.popupRef&&i.getOrInsertComputed(e.popupRef,pe).push(r));let s=r.render();e.hidden&&(s.style.visibility=`hidden`),r.updateOC(n),r._isEditable&&(this.#r.set(r.data.id,r),this._annotationEditorUIManager?.renderAnnotationElement(r))}await this.#c();for(let e of a){let t=o.elements=i.get(e.id);o.data=e;let n=Zr.create(o);if(!n.isRenderable)continue;let r=n.render();n.contentElement.id=`${c}${e.id}`,e.hidden&&(r.style.visibility=`hidden`),t.at(-1).container.after(r)}this.#l()}async#c(){if(this.#o.length===0)return;this.div.replaceChildren();let e=[];if(!this.#s){this.#s=!0;for(let{contentElement:t,data:{id:n}}of this.#o){let r=t.id=`${c}${n}`;e.push(this.#i?.getAriaAttributes(r).then(e=>{if(e)for(let[n,r]of e)t.setAttribute(n,r)}))}}this.#o.sort(({data:{rect:[e,t,n,r]}},{data:{rect:[i,a,o,s]}})=>{if(e===n&&t===r)return 1;if(i===o&&a===s)return-1;let c=r,l=t,u=(t+r)/2,d=s,f=a,p=(a+s)/2;return u>=d&&p<=l?-1:p>=c&&u<=f?1:(e+n)/2-(i+o)/2});let t=document.createDocumentFragment();for(let e of this.#o)t.append(e.container),this._commentManager?(e.extraPopupElement?.popup||e.popup)?.renderCommentButton():e.extraPopupElement&&t.append(e.extraPopupElement.render());if(this.div.append(t),await Promise.all(e),this.#e)for(let e of this.#o)this.#e.addPointerInTextLayer(e.contentElement,!1)}async addLinkAnnotations(t){let n={data:null,layer:this.div,linkService:this.#a,svgFactory:new qr,parent:this};for(let r of t){r.borderStyle||=e._defaultBorderStyle,n.data=r;let t=Zr.create(n);t.isRenderable&&(t.render(),t.contentElement.id=`${c}${r.id}`,this.#o.push(t))}await this.#c()}update({viewport:e,optionalContentConfig:t}){let n=this.div;this.viewport=e,Fe(n,{rotation:e.rotation});for(let e of this.#o)e.updateOC(t);this.#l(),n.hidden=!1}destroy(){for(let e of this.#o)e.destroy?.(),this.#e?.removePointerInTextLayer(e.contentElement);this.#o.length=0,this.#r.clear(),this.div.replaceChildren()}#l(){if(!this.#t)return;let e=this.div;for(let[t,n]of this.#t){let r=e.querySelector(`[data-annotation-id="${t}"]`);if(!r)continue;if(Array.isArray(n))for(let e of n)e.className=`annotationContent`,e.ariaHidden=!0;else n.className=`annotationContent`,n.ariaHidden=!0;let i=[];for(let e of r.children)e.nodeName===`CANVAS`&&i.push(e);for(let e of i)e.remove();let a=Array.isArray(n)?n[0]:n,{firstChild:o}=r;if(o?o.classList.contains(`annotationContent`)?o.after(a):o.before(a):r.append(a),Array.isArray(n)){let e=a;for(let t=1,r=n.length;tt.data.id===e);if(t<0)return;let[n]=this.#o.splice(t,1);this.#e?.removePointerInTextLayer(n.contentElement)}updateFakeAnnotations(e){if(e.length!==0){for(let t of e)t.updateFakeAnnotationElement(this);this.#c()}}togglePointerEvents(e=!1){this.div.classList.toggle(`disabled`,!e)}static get _defaultBorderStyle(){return M(this,`_defaultBorderStyle`,Object.freeze({width:1,rawWidth:1,style:g.SOLID,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}},Ei=/\r\n?|\n/g,Di=class e extends U{#e=``;#t=`${this.id}-editor`;#n=null;#r;_colorPicker=null;static _freeTextDefaultContent=``;static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){let t=e.prototype,n=e=>e.isEmpty(),r=it.TRANSLATE_SMALL,i=it.TRANSLATE_BIG;return M(this,`_keyboardManager`,new nt([[[`ctrl+s`,`mac+meta+s`,`ctrl+p`,`mac+meta+p`],t.commitOrRemove,{bubbles:!0}],[[`ctrl+Enter`,`mac+meta+Enter`],t.commitOrRemove],[[`Escape`],t.commitOrRemove],[[`ArrowLeft`],t._translateEmpty,{args:[-r,0],checker:n}],[[`ctrl+ArrowLeft`,`mac+shift+ArrowLeft`],t._translateEmpty,{args:[-i,0],checker:n}],[[`ArrowRight`],t._translateEmpty,{args:[r,0],checker:n}],[[`ctrl+ArrowRight`,`mac+shift+ArrowRight`],t._translateEmpty,{args:[i,0],checker:n}],[[`ArrowUp`],t._translateEmpty,{args:[0,-r],checker:n}],[[`ctrl+ArrowUp`,`mac+shift+ArrowUp`],t._translateEmpty,{args:[0,-i],checker:n}],[[`ArrowDown`],t._translateEmpty,{args:[0,r],checker:n}],[[`ctrl+ArrowDown`,`mac+shift+ArrowDown`],t._translateEmpty,{args:[0,i],checker:n}]]))}static _type=`freetext`;static _editorType=u.FREETEXT;constructor(t){super({...t,name:`freeTextEditor`}),this.color=t.color||e._defaultColor||U._defaultLineColor,this.#r=t.fontSize||e._defaultFontSize,this.annotationElementId||this._uiManager.a11yAlert(U._l10nAlert.freetext),this.canAddComment=!1}static initialize(e,t){U.initialize(e,t);let n=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(n.getPropertyValue(`--freetext-padding`))}static updateDefaultParams(t,n){switch(t){case d.FREETEXT_SIZE:e._defaultFontSize=n;break;case d.FREETEXT_COLOR:e._defaultColor=n}}updateParams(e,t){switch(e){case d.FREETEXT_SIZE:this.#i(t);break;case d.FREETEXT_COLOR:this.#a(t)}}static get defaultPropertiesToUpdate(){return[[d.FREETEXT_SIZE,e._defaultFontSize],[d.FREETEXT_COLOR,e._defaultColor||U._defaultLineColor]]}get propertiesToUpdate(){return[[d.FREETEXT_SIZE,this.#r],[d.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||=new Hr(this),[[`colorPicker`,this._colorPicker]]}get colorType(){return d.FREETEXT_COLOR}#i(e){let t=e=>{this.editorDiv.style.fontSize=`calc(${e}px * var(--total-scale-factor))`,this.translate(0,-(e-this.#r)*this.parentScale),this.#r=e,this.#s()},n=this.#r;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,n),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:d.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}onUpdatedColor(){this.editorDiv.style.color=this.color,this._colorPicker?.update(this.color),super.onUpdatedColor()}#a(e){let t=e=>{this.color=e,this.onUpdatedColor()},n=this.color;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,n),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:d.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(e,t){this._uiManager.translateSelectedEditors(e,t,!0)}getInitialTranslation(){let t=this.parentScale;return[-e._internalPadding*t,-(e._internalPadding+this.#r)*t]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove(`enabled`),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute(`aria-activedescendant`),this.#n=new AbortController;let e=this._uiManager.combinedSignal(this.#n);return this.editorDiv.addEventListener(`keydown`,this.editorDivKeydown.bind(this),{signal:e}),this.editorDiv.addEventListener(`focus`,this.editorDivFocus.bind(this),{signal:e}),this.editorDiv.addEventListener(`blur`,this.editorDivBlur.bind(this),{signal:e}),this.editorDiv.addEventListener(`input`,this.editorDivInput.bind(this),{signal:e}),this.editorDiv.addEventListener(`paste`,this.editorDivPaste.bind(this),{signal:e}),!0}disableEditMode(){return super.disableEditMode()?(this.overlayDiv.classList.add(`enabled`),this.editorDiv.contentEditable=!1,this.div.setAttribute(`aria-activedescendant`,this.#t),this._isDraggable=!0,this.#n?.abort(),this.#n=null,this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add(`freetextEditing`),!0):!1}focusin(e){this._focusEventsAllowed&&(super.focusin(e),e.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(e){this.width||(this.enableEditMode(),e&&this.editorDiv.focus(),this._initialOptions?.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===``}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add(`freetextEditing`)),super.remove()}#o(){let t=[];this.editorDiv.normalize();let n=null;for(let r of this.editorDiv.childNodes)(n?.nodeType!==Node.TEXT_NODE||r.nodeName!==`BR`)&&(t.push(e.#c(r)),n=r);return t.join(` +`)}#s(){let[e,t]=this.parentDimensions,n;if(this.isAttachedToDOM)n=this.div.getBoundingClientRect();else{let{currentLayer:e,div:t}=this,r=t.style.display,i=t.classList.contains(`hidden`);t.classList.remove(`hidden`),t.style.display=`hidden`,e.div.append(this.div),n=t.getBoundingClientRect(),t.remove(),t.style.display=r,t.classList.toggle(`hidden`,i)}this.rotation%180==this.parentRotation%180?(this.width=n.width/e,this.height=n.height/t):(this.width=n.height/e,this.height=n.width/t),this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();let e=this.#e,t=this.#e=this.#o().trimEnd();if(e===t)return;let n=e=>{if(this.#e=e,!e){this.remove();return}this.#l(),this._uiManager.rebuild(this),this.#s()};this.addCommands({cmd:()=>{n(t)},undo:()=>{n(e)},mustExec:!1}),this.#s()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(e){e.target===this.div&&e.key===`Enter`&&(this.enterInEditMode(),e.preventDefault())}editorDivKeydown(t){e._keyboardManager.exec(this,t)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle(`freetextEditing`,this.isEmpty())}disableEditing(){this.editorDiv.setAttribute(`role`,`comment`),this.editorDiv.removeAttribute(`aria-multiline`)}enableEditing(){this.editorDiv.setAttribute(`role`,`textbox`),this.editorDiv.setAttribute(`aria-multiline`,!0)}get canChangeContent(){return!0}render(){if(this.div)return this.div;let e,t;(this._isCopy||this.annotationElementId)&&(e=this.x,t=this.y),super.render(),this.editorDiv=document.createElement(`div`),this.editorDiv.className=`internal`,this.editorDiv.setAttribute(`id`,this.#t),this.editorDiv.setAttribute(`data-l10n-id`,`pdfjs-free-text2`),this.editorDiv.setAttribute(`data-l10n-attrs`,`default-content`),this.enableEditing(),this.editorDiv.contentEditable=!0;let{style:n}=this.editorDiv;if(n.fontSize=`calc(${this.#r}px * var(--total-scale-factor))`,n.color=this.color,this.div.append(this.editorDiv),this.overlayDiv=document.createElement(`div`),this.overlayDiv.classList.add(`overlay`,`enabled`),this.div.append(this.overlayDiv),this._isCopy||this.annotationElementId){let[n,r]=this.parentDimensions;if(this.annotationElementId){let{position:i}=this._initialData,[a,o]=this.getInitialTranslation();[a,o]=this.pageTranslationToScreen(a,o);let[s,c]=this.pageDimensions,[l,u]=this.pageTranslation,d,f;switch(this.rotation){case 0:d=e+(i[0]-l)/s,f=t+this.height-(i[1]-u)/c;break;case 90:d=e+(i[0]-l)/s,f=t-(i[1]-u)/c,[a,o]=[o,-a];break;case 180:d=e-this.width+(i[0]-l)/s,f=t-(i[1]-u)/c,[a,o]=[-a,-o];break;case 270:d=e+(i[0]-l-this.height*c)/s,f=t+(i[1]-u-this.width*s)/c,[a,o]=[-o,a]}this.setAt(d*n,f*r,a,o)}else this._moveAfterPaste(e,t);this.#l(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static#c(e){return(e.nodeType===Node.TEXT_NODE?e.nodeValue:e.innerText).replaceAll(Ei,``)}editorDivPaste(t){let n=t.clipboardData||window.clipboardData,{types:r}=n;if(r.length===1&&r[0]===`text/plain`)return;t.preventDefault();let i=e.#d(n.getData(`text`)||``).replaceAll(Ei,` +`);if(!i)return;let a=window.getSelection();if(!a.rangeCount)return;this.editorDiv.normalize(),a.deleteFromDocument();let o=a.getRangeAt(0);if(!i.includes(` +`)){o.insertNode(document.createTextNode(i)),this.editorDiv.normalize(),a.collapseToStart();return}let{startContainer:s,startOffset:c}=o,l=[],u=[];if(s.nodeType===Node.TEXT_NODE){let t=s.parentElement;if(u.push(s.nodeValue.slice(c).replaceAll(Ei,``)),t!==this.editorDiv){let n=l;for(let r of this.editorDiv.childNodes){if(r===t){n=u;continue}n.push(e.#c(r))}}l.push(s.nodeValue.slice(0,c).replaceAll(Ei,``))}else if(s===this.editorDiv){let t=l,n=0;for(let r of this.editorDiv.childNodes)n++===c&&(t=u),t.push(e.#c(r))}this.#e=`${l.join(` +`)}${i}${u.join(` +`)}`,this.#l();let d=new Range,f=Math.sumPrecise(l.map(e=>e.length));for(let{firstChild:e}of this.editorDiv.childNodes)if(e.nodeType===Node.TEXT_NODE){let t=e.nodeValue.length;if(f<=t){d.setStart(e,f),d.setEnd(e,f);break}f-=t}a.removeAllRanges(),a.addRange(d)}#l(){if(this.editorDiv.replaceChildren(),this.#e)for(let e of this.#e.split(` +`)){let t=document.createElement(`div`);t.append(e?document.createTextNode(e):document.createElement(`br`)),this.editorDiv.append(t)}}#u(){return this.#e.replaceAll(`\xA0`,` `)}static#d(e){return e.replaceAll(` `,`\xA0`)}get contentDiv(){return this.editorDiv}getPDFRect(){let t=e._internalPadding*this.parentScale;return this.getRect(t,t)}static async deserialize(t,n,r){let i=null;if(t instanceof ui){let{data:{defaultAppearanceData:{fontSize:e,fontColor:n},rect:r,rotation:a,id:o,popupRef:s,richText:c,contentsObj:l,creationDate:d,modificationDate:f},textContent:p,textPosition:m,parent:{page:{pageNumber:h}}}=t;if(!p?.length)return null;i=t={annotationType:u.FREETEXT,color:Array.from(n),fontSize:e,value:p.join(` +`),position:m,pageIndex:h-1,rect:r.slice(0),rotation:a,annotationElementId:o,id:o,deleted:!1,popupRef:s,comment:l?.str||null,richText:c,creationDate:d,modificationDate:f}}let a=await super.deserialize(t,n,r);return a.#r=t.fontSize,a.color=I.makeHexColor(...t.color),a.#e=e.#d(t.value),a._initialData=i,t.comment&&a.setCommentData(t),a}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let t=U._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),n=Object.assign(super.serialize(e),{color:t,fontSize:this.#r,value:this.#u()});return this.addComment(n),e?(n.isCopy=!0,n):this.annotationElementId&&!this.#f(n)?null:(n.id=this.annotationElementId,n)}#f(e){let{value:t,fontSize:n,color:r,pageIndex:i}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||e.value!==t||e.fontSize!==n||e.color.some((e,t)=>e!==r[t])||e.pageIndex!==i}renderAnnotationElement(e){let t=super.renderAnnotationElement(e);if(!t)return null;let{style:n}=t;n.fontSize=`calc(${this.#r}px * var(--total-scale-factor))`,n.color=this.color,t.replaceChildren();for(let e of this.#e.split(` +`)){let n=document.createElement(`div`);n.append(e?document.createTextNode(e):document.createElement(`br`)),t.append(n)}return e.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#e}}),t}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}},$=class{static PRECISION=1e-4;toSVGPath(){E("Abstract method `toSVGPath` must be implemented.")}get box(){E("Abstract getter `box` must be implemented.")}serialize(e,t){E("Abstract method `serialize` must be implemented.")}static _rescale(e,t,n,r,i,a){a||=new Float32Array(e.length);for(let o=0,s=e.length;o=6;e-=6)isNaN(t[e])?n.push(`L${t[e+4]} ${t[e+5]}`):n.push(`C${t[e]} ${t[e+1]} ${t[e+2]} ${t[e+3]} ${t[e+4]} ${t[e+5]}`);return this.#v(n),n.join(` `)}#_(){let[e,t,n,r]=this.#e,[i,a,o,s]=this.#g();return`M${(this.#a[2]-e)/n} ${(this.#a[3]-t)/r} L${(this.#a[4]-e)/n} ${(this.#a[5]-t)/r} L${i} ${a} L${o} ${s} L${(this.#a[16]-e)/n} ${(this.#a[17]-t)/r} L${(this.#a[14]-e)/n} ${(this.#a[15]-t)/r} Z`}#v(e){let t=this.#t;e.push(`L${t[4]} ${t[5]} Z`)}#y(e){let[t,n,r,i]=this.#e,a=this.#a.subarray(4,6),o=this.#a.subarray(16,18),[s,c,l,u]=this.#g();e.push(`L${(a[0]-t)/r} ${(a[1]-n)/i} L${s} ${c} L${l} ${u} L${(o[0]-t)/r} ${(o[1]-n)/i}`)}newFreeDrawOutline(e,t,n,r,i,a){return new ki(e,t,n,r,i,a)}getOutlines(){let e=this.#i,t=this.#t,n=this.#a,[r,i,a,o]=this.#e,s=new Float32Array((this.#f?.length??0)+2);for(let e=0,t=s.length-2;e=6;e-=6)for(let n=0;n<6;n+=2){if(isNaN(t[e+n])){c[l]=c[l+1]=NaN,l+=2;continue}c[l]=t[e+n],c[l+1]=t[e+n+1],l+=2}return this.#x(c,l),this.newFreeDrawOutline(c,s,this.#e,this.#u,this.#n,this.#r)}#b(e){let t=this.#a,[n,r,i,a]=this.#e,[o,s,c,l]=this.#g(),u=new Float32Array(36);return u.set([NaN,NaN,NaN,NaN,(t[2]-n)/i,(t[3]-r)/a,NaN,NaN,NaN,NaN,(t[4]-n)/i,(t[5]-r)/a,NaN,NaN,NaN,NaN,o,s,NaN,NaN,NaN,NaN,c,l,NaN,NaN,NaN,NaN,(t[16]-n)/i,(t[17]-r)/a,NaN,NaN,NaN,NaN,(t[14]-n)/i,(t[15]-r)/a],0),this.newFreeDrawOutline(u,e,this.#e,this.#u,this.#n,this.#r)}#x(e,t){let n=this.#t;return e.set([NaN,NaN,NaN,NaN,n[4],n[5]],t),t+=6}#S(e,t){let n=this.#a.subarray(4,6),r=this.#a.subarray(16,18),[i,a,o,s]=this.#e,[c,l,u,d]=this.#g();return e.set([NaN,NaN,NaN,NaN,(n[0]-i)/o,(n[1]-a)/s,NaN,NaN,NaN,NaN,c,l,NaN,NaN,NaN,NaN,u,d,NaN,NaN,NaN,NaN,(r[0]-i)/o,(r[1]-a)/s],t),t+=24}},ki=class extends ${#e;#t=new Float32Array(4);#n;#r;#i;#a;#o;constructor(e,t,n,r,i,a){super(),this.#o=e,this.#i=t,this.#e=n,this.#a=r,this.#n=i,this.#r=a,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#s(a);let[o,s,c,l]=this.#t;for(let t=0,n=e.length;tp?(o=f,s=p):s===p&&(o=u(o,f)),ld[1]?(o=d[0],s=d[1]):s===d[1]&&(o=u(o,d[0])),le[0]-t[0]||e[1]-t[1]||e[2]-t[2]);let e=[];for(let t of this.#r)t[3]?(e.push(...this.#l(t)),this.#s(t)):(this.#c(t),e.push(...this.#l(t)));return this.#a(e)}#a(e){let t=[],n=new Set;for(let n of e){let[e,r,i]=n;t.push([e,r,n],[e,i,n])}t.sort((e,t)=>e[1]-t[1]||e[0]-t[0]);for(let e=0,r=t.length;e0;){let e=n.values().next().value,[t,a,o,s,c]=e;n.delete(e);let l=t,u=a;for(i=[t,o],r.push(i);;){let e;if(n.has(s))e=s;else if(n.has(c))e=c;else break;n.delete(e),[t,a,o,s,c]=e,l!==t&&(i.push(l,u,t,u===a?a:o),l=t),u=u===a?o:a}i.push(l,u)}return new ji(r,this.#e,this.#t,this.#n)}#o(e){let t=this.#i,n=0,r=t.length-1;for(;n<=r;){let i=n+r>>1,a=t[i][0];if(a===e)return i;a=0;r--){let[n,i]=this.#i[r];if(n!==e)break;if(n===e&&i===t){this.#i.splice(r,1);return}}}#l(e){let[t,n,r]=e,i=[[t,n,r]],a=this.#o(r);for(let e=0;e=n){if(s>r)i[e][1]=r;else{if(a===1)return[];i.splice(e,1),e--,a--}continue}i[e][2]=n,s>r&&i.push([t,r,s])}}}return i}},ji=class extends ${#e;#t;constructor(e,t,n,r){super(),this.#t=e,this.#e=t,this.firstPoint=n,this.lastPoint=r}toSVGPath(){let e=[];for(let t of this.#t){let[n,r]=t;e.push(`M${n} ${r}`);for(let i=2;i-1?(this.#d=!0,this.#y(t),this.#w()):this.#n&&(this.#e=t.anchorNode,this.#t=t.anchorOffset,this.#o=t.focusNode,this.#s=t.focusOffset,this.#v(),this.#w(),this.rotate(this.rotation)),this.annotationElementId||this._uiManager.a11yAlert(U._l10nAlert.highlight)}get telemetryInitialData(){return{action:`added`,type:this.#d?`free_highlight`:`highlight`,color:this._uiManager.getNonHCMColorName(this.color),thickness:this.#g,methodOfCreation:this.#_}}get telemetryFinalData(){return{type:`highlight`,color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get(`color`).size}}#v(){let e=new Ai(this.#n,.001);this.#l=e.getOutlines(),[this.x,this.y,this.width,this.height]=this.#l.box;let t=new Ai(this.#n,.0025,.001,this._uiManager.direction===`ltr`);this.#a=t.getOutlines();let{firstPoint:n}=this.#l;this.#f=[(n[0]-this.x)/this.width,(n[1]-this.y)/this.height];let{lastPoint:r}=this.#a;this.#p=[(r[0]-this.x)/this.width,(r[1]-this.y)/this.height]}#y({highlightOutlines:t,highlightId:n,clipPathId:r}){if(this.#l=t,this.#a=t.getNewOutline(this.#g/2+1.5,.0025),n>=0)this.#u=n,this.#r=r,this.parent.drawLayer.finalizeDraw(n,{bbox:t.box,path:{d:t.toSVGPath()}}),this.#m=this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:this.#a.box,path:{d:this.#a.toSVGPath()}},!0);else if(this.parent){let n=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(this.#u,{bbox:e.#T(this.#l.box,(n-this.rotation+360)%360),path:{d:t.toSVGPath()}}),this.parent.drawLayer.updateProperties(this.#m,{bbox:e.#T(this.#a.box,n),path:{d:this.#a.toSVGPath()}})}let[i,a,o,s]=t.box;switch(this.rotation){case 0:this.x=i,this.y=a,this.width=o,this.height=s;break;case 90:{let[e,t]=this.parentDimensions;this.x=a,this.y=1-i,this.width=o*t/e,this.height=s*e/t;break}case 180:this.x=1-i,this.y=1-a,this.width=o,this.height=s;break;case 270:{let[e,t]=this.parentDimensions;this.x=1-a,this.y=i,this.width=o*t/e,this.height=s*e/t;break}}let{firstPoint:c}=t;this.#f=[(c[0]-i)/o,(c[1]-a)/s];let{lastPoint:l}=this.#a;this.#p=[(l[0]-i)/o,(l[1]-a)/s]}static initialize(t,n){U.initialize(t,n),e._defaultColor||=n.highlightColors?.values().next().value||`#fff066`}static updateDefaultParams(t,n){switch(t){case d.HIGHLIGHT_COLOR:e._defaultColor=n;break;case d.HIGHLIGHT_THICKNESS:e._defaultThickness=n}}translateInPage(e,t){}get toolbarPosition(){return this.#p}get commentButtonPosition(){return this.#f}updateParams(e,t){switch(e){case d.HIGHLIGHT_COLOR:this.#b(t);break;case d.HIGHLIGHT_THICKNESS:this.#x(t)}}static get defaultPropertiesToUpdate(){return[[d.HIGHLIGHT_COLOR,e._defaultColor],[d.HIGHLIGHT_THICKNESS,e._defaultThickness]]}get propertiesToUpdate(){return[[d.HIGHLIGHT_COLOR,this.color||e._defaultColor],[d.HIGHLIGHT_THICKNESS,this.#g||e._defaultThickness],[d.HIGHLIGHT_FREE,this.#d]]}onUpdatedColor(){this.parent?.drawLayer.updateProperties(this.#u,{root:{fill:this.color,"fill-opacity":this.opacity}}),this.#i?.updateColor(this.color),super.onUpdatedColor()}#b(t){let n=(e,t)=>{this.color=e,this.opacity=t,this.onUpdatedColor()},r=this.color,i=this.opacity;this.addCommands({cmd:n.bind(this,t,e._defaultOpacity),undo:n.bind(this,r,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:d.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:`color_changed`,color:this._uiManager.getNonHCMColorName(t)},!0)}#x(e){let t=this.#g,n=e=>{this.#g=e,this.#S(e)};this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,t),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:d.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:`thickness_changed`,thickness:e},!0)}get toolbarButtons(){return this._uiManager.highlightColors?[[`colorPicker`,this.#i=new Vr({editor:this})]]:super.toolbarButtons}disableEditing(){super.disableEditing(),this.div.classList.toggle(`disabled`,!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle(`disabled`,!1)}fixAndSetPosition(){return super.fixAndSetPosition(this.#O())}getBaseTranslation(){return[0,0]}getRect(e,t){return super.getRect(e,t,this.#O())}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),e&&this.div.focus()}remove(){this.#C(),this._reportTelemetry({action:`deleted`}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.#w(),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){let t=!1;this.parent&&!e?this.#C():e&&(this.#w(e),t=!this.parent&&this.div?.classList.contains(`selectedEditor`)),super.setParent(e),this.show(this._isVisible),t&&this.select()}#S(e){this.#d&&(this.#y({highlightOutlines:this.#l.getNewOutline(e/2)}),this.fixAndSetPosition(),this.setDims())}#C(){this.#u===null||!this.parent||(this.parent.drawLayer.remove(this.#u),this.#u=null,this.parent.drawLayer.remove(this.#m),this.#m=null)}#w(e=this.parent){this.#u===null&&({id:this.#u,clipPathId:this.#r}=e.drawLayer.draw({bbox:this.#l.box,root:{viewBox:`0 0 1 1`,fill:this.color,"fill-opacity":this.opacity},rootClass:{highlight:!0,free:this.#d},path:{d:this.#l.toSVGPath()}},!1,!0),this.#m=e.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:this.#d},bbox:this.#a.box,path:{d:this.#a.toSVGPath()}},this.#d),this.#c&&(this.#c.style.clipPath=this.#r))}static#T([e,t,n,r],i){switch(i){case 90:return[1-t-r,e,r,n];case 180:return[1-e-n,1-t-r,n,r];case 270:return[t,1-e-n,r,n]}return[e,t,n,r]}rotate(t){let{drawLayer:n}=this.parent,r;this.#d?(t=(t-this.rotation+360)%360,r=e.#T(this.#l.box,t)):r=e.#T([this.x,this.y,this.width,this.height],t),n.updateProperties(this.#u,{bbox:r,root:{"data-main-rotation":t}}),n.updateProperties(this.#m,{bbox:e.#T(this.#a.box,t),root:{"data-main-rotation":t}})}render(){if(this.div)return this.div;let e=super.render();this.#h&&(e.setAttribute(`aria-label`,this.#h),e.setAttribute(`role`,`mark`)),this.#d?e.classList.add(`free`):this.div.addEventListener(`keydown`,this.#E.bind(this),{signal:this._uiManager._signal});let t=this.#c=document.createElement(`div`);return e.append(t),t.setAttribute(`aria-hidden`,`true`),t.className=`internal`,t.style.clipPath=this.#r,this.setDims(),Qe(this,this.#c,[`pointerover`,`pointerleave`]),this.enableEditing(),e}pointerover(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#m,{rootClass:{hovered:!0}})}pointerleave(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#m,{rootClass:{hovered:!1}})}#E(t){e._keyboardManager.exec(this,t)}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:this.#D(!0);break;case 1:case 3:this.#D(!1)}}#D(e){if(!this.#e)return;let t=window.getSelection();e?t.setPosition(this.#e,this.#t):t.setPosition(this.#o,this.#s)}select(){super.select(),this.#m&&this.parent?.drawLayer.updateProperties(this.#m,{rootClass:{hovered:!1,selected:!0}})}unselect(){super.unselect(),this.#m&&(this.parent?.drawLayer.updateProperties(this.#m,{rootClass:{selected:!1}}),this.#d||this.#D(!1))}get _mustFixPosition(){return!this.#d}show(e=this._isVisible){super.show(e),this.parent&&(this.parent.drawLayer.updateProperties(this.#u,{rootClass:{hidden:!e}}),this.parent.drawLayer.updateProperties(this.#m,{rootClass:{hidden:!e}}))}#O(){return this.#d?this.rotation:0}#k(){if(this.#d)return null;let[e,t]=this.pageDimensions,[n,r]=this.pageTranslation,i=this.#n,a=new Float32Array(i.length*8),o=0;for(let{x:s,y:c,width:l,height:u}of i){let i=s*e+n,d=(1-c)*t+r;a[o]=a[o+4]=i,a[o+1]=a[o+3]=d,a[o+2]=a[o+6]=i+l*e,a[o+5]=a[o+7]=d-u*t,o+=8}return a}#A(e){return this.#l.serialize(e,this.#O())}static startHighlighting(e,t,{target:n,x:r,y:i}){let{x:a,y:o,width:s,height:c}=n.getBoundingClientRect(),l=new AbortController,u=e.combinedSignal(l),d=t=>{l.abort(),this.#M(e,t)};window.addEventListener(`blur`,d,{signal:u}),window.addEventListener(`pointerup`,d,{signal:u}),window.addEventListener(`pointerdown`,z,{capture:!0,passive:!1,signal:u}),window.addEventListener(`contextmenu`,R,{signal:u}),n.addEventListener(`pointermove`,this.#j.bind(this,e),{signal:u}),this._freeHighlight=new Mi({x:r,y:i},[a,o,s,c],e.scale,this._defaultThickness/2,t,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:`0 0 1 1`,fill:this._defaultColor,"fill-opacity":this._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:this._freeHighlight.toSVGPath()}},!0,!0)}static#j(e,t){this._freeHighlight.add(t)&&e.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})}static#M(e,t){this._freeHighlight.isEmpty()?e.drawLayer.remove(this._freeHighlightId):e.createAndAddNewEditor(t,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:`main_toolbar`}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=``}static async deserialize(e,t,n){let r=null;if(e instanceof vi){let{data:{quadPoints:t,rect:n,rotation:i,id:a,color:o,opacity:s,popupRef:c,richText:l,contentsObj:d,creationDate:f,modificationDate:p},parent:{page:{pageNumber:m}}}=e;r=e={annotationType:u.HIGHLIGHT,color:Array.from(o),opacity:s,quadPoints:t,boxes:null,pageIndex:m-1,rect:n.slice(0),rotation:i,annotationElementId:a,id:a,deleted:!1,popupRef:c,richText:l,comment:d?.str||null,creationDate:f,modificationDate:p}}else if(e instanceof _i){let{data:{inkLists:t,rect:n,rotation:i,id:a,color:o,borderStyle:{rawWidth:s},popupRef:c,richText:l,contentsObj:d,creationDate:f,modificationDate:p},parent:{page:{pageNumber:m}}}=e;r=e={annotationType:u.HIGHLIGHT,color:Array.from(o),thickness:s,inkLists:t,boxes:null,pageIndex:m-1,rect:n.slice(0),rotation:i,annotationElementId:a,id:a,deleted:!1,popupRef:c,richText:l,comment:d?.str||null,creationDate:f,modificationDate:p}}let{color:i,quadPoints:a,inkLists:o,outlines:s,opacity:c}=e,l=await super.deserialize(e,t,n);l.color=I.makeHexColor(...i),l.opacity=c||1,o&&(l.#g=e.thickness),l._initialData=r,e.comment&&l.setCommentData(e);let[d,f]=l.pageDimensions,[p,m]=l.pageTranslation;if(a){let e=l.#n=[];for(let t=0;te!==t[n])}renderAnnotationElement(e){return this.deleted?(e.hide(),null):(e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null)}static canCreateNewEmptyEditor(){return!1}},Fi=class{#e=Object.create(null);updateProperty(e,t){this[e]=t,this.updateSVGProperty(e,t)}updateProperties(e){if(e)for(let[t,n]of Object.entries(e))t.startsWith(`_`)||this.updateProperty(t,n)}updateSVGProperty(e,t){this.#e[e]=t}toSVGProperties(){let e=this.#e;return this.#e=Object.create(null),{root:e}}reset(){this.#e=Object.create(null)}updateAll(e=this){this.updateProperties(e)}clone(){E(`Not implemented`)}},Ii=class e extends U{#e=null;#t;_colorPicker=null;_drawId=null;static _currentDrawId=-1;static _currentParent=null;static#n=null;static#r=null;static#i=null;static _INNER_MARGIN=3;constructor(e){super(e),this.#t=e.mustBeCommitted||!1,this._addOutlines(e)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}onUpdatedOpacity(){this._colorPicker?.updateOpacity?.(this.opacity)}_addOutlines(e){e.drawOutlines&&(this.#a(e),this.#c())}#a({drawOutlines:e,drawId:t,drawingOptions:n}){this.#e=e,this._drawingOptions||=n,this.annotationElementId||this._uiManager.a11yAlert(U._l10nAlert[this.editorType]),t>=0?(this._drawId=t,this.parent.drawLayer.finalizeDraw(t,e.defaultProperties)):this._drawId=this.#o(e,this.parent),this.#d(e.box)}#o(t,n){let{id:r}=n.drawLayer.draw(e._mergeSVGProperties(this._drawingOptions.toSVGProperties(),t.defaultSVGProperties),!1,!1);return r}static _mergeSVGProperties(e,t){let n=new Set(Object.keys(e));for(let[r,i]of Object.entries(t))n.has(r)?Object.assign(e[r],i):e[r]=i;return e}static getDefaultDrawingOptions(e){E(`Not implemented`)}static get typesMap(){E(`Not implemented`)}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(t,n){let r=this.typesMap.get(t);r&&this._defaultDrawingOptions.updateProperty(r,n),this._currentParent&&(e.#n.updateProperty(r,n),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}updateParams(e,t){let n=this.constructor.typesMap.get(e);n&&this._updateProperty(e,n,t)}static get defaultPropertiesToUpdate(){let e=[],t=this._defaultDrawingOptions;for(let[n,r]of this.typesMap)e.push([n,t[r]]);return e}get propertiesToUpdate(){let e=[],{_drawingOptions:t}=this;for(let[n,r]of this.constructor.typesMap)e.push([n,t[r]]);return e}_updateProperty(e,t,n){let r=this._drawingOptions,i=r[t],a=n=>{r.updateProperty(t,n);let i=this.#e.updateProperty(t,n);i&&this.#d(i),this.parent?.drawLayer.updateProperties(this._drawId,r.toSVGProperties()),e===this.colorType?this.onUpdatedColor():e===this.opacityType&&this.onUpdatedOpacity()};this.addCommands({cmd:a.bind(this,n),undo:a.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:e,overwriteIfSameType:!0,keepUndo:!0})}_updateColorAndOpacity(e,t){let n=this.constructor.typesMap.get(this.colorType),r=this.constructor.typesMap.get(this.opacityType),i=this._drawingOptions,a=i[n],o=i[r],s=(e,t)=>{i.updateProperty(n,e),i.updateProperty(r,t),this.#e.updateProperty(n,e),this.#e.updateProperty(r,t),this.parent?.drawLayer.updateProperties(this._drawId,i.toSVGProperties()),this.onUpdatedColor(),this.onUpdatedOpacity()};this.addCommands({cmd:s.bind(this,e,t),undo:s.bind(this,a,o),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:d.INK_COLOR_AND_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,e._mergeSVGProperties(this.#e.getPathResizingSVGProperties(this.#u()),{bbox:this.#f()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,e._mergeSVGProperties(this.#e.getPathResizedSVGProperties(this.#u()),{bbox:this.#f()}))}_onTranslating(e,t){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#f()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,e._mergeSVGProperties(this.#e.getPathTranslatedSVGProperties(this.#u(),this.parentDimensions),{bbox:this.#f()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}commit(){super.commit(),this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle(`disabled`,!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle(`disabled`,!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),this._isDraggable=!0,this.#t&&(this.#t=!1,this.commit(),this.parent.setSelected(this),e&&this.isOnScreen&&this.div.focus())}remove(){this.#s(),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.#c(),this.#d(this.#e.box),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){let t=!1;this.parent&&!e?(this._uiManager.removeShouldRescale(this),this.#s()):e&&(this._uiManager.addShouldRescale(this),this.#c(e),t=!this.parent&&this.div?.classList.contains(`selectedEditor`)),super.setParent(e),t&&this.select()}#s(){this._drawId===null||!this.parent||(this.parent.drawLayer.remove(this._drawId),this._drawId=null,this._drawingOptions.reset())}#c(e=this.parent){if(this._drawId===null||this.parent!==e){if(this._drawId!==null){this.parent.drawLayer.updateParent(this._drawId,e.drawLayer);return}this._drawingOptions.updateAll(),this._drawId=this.#o(this.#e,e)}}#l([e,t,n,r]){let{parentDimensions:[i,a],rotation:o}=this;switch(o){case 90:return[t,1-e,a/i*n,i/a*r];case 180:return[1-e,1-t,n,r];case 270:return[1-t,e,a/i*n,i/a*r];default:return[e,t,n,r]}}#u(){let{x:e,y:t,width:n,height:r,parentDimensions:[i,a],rotation:o}=this;switch(o){case 90:return[1-t,e,i/a*n,a/i*r];case 180:return[1-e,1-t,n,r];case 270:return[t,1-e,i/a*n,a/i*r];default:return[e,t,n,r]}}#d(e){[this.x,this.y,this.width,this.height]=this.#l(e),this.div&&(this.fixAndSetPosition(),this.setDims()),this._onResized()}#f(){let{x:e,y:t,width:n,height:r,rotation:i,parentRotation:a,parentDimensions:[o,s]}=this;switch((i*4+a)/90){case 1:return[1-t-r,e,r,n];case 2:return[1-e-n,1-t-r,n,r];case 3:return[t,1-e-n,r,n];case 4:return[e,t-o/s*n,s/o*r,o/s*n];case 5:return[1-t,e,o/s*n,s/o*r];case 6:return[1-e-s/o*r,1-t,s/o*r,o/s*n];case 7:return[t-o/s*n,1-e-s/o*r,o/s*n,s/o*r];case 8:return[e-n,t-r,n,r];case 9:return[1-t,e-n,r,n];case 10:return[1-e,1-t,n,r];case 11:return[t-r,1-e,r,n];case 12:return[e-s/o*r,t,s/o*r,o/s*n];case 13:return[1-t-o/s*n,e-s/o*r,o/s*n,s/o*r];case 14:return[1-e,1-t-o/s*n,s/o*r,o/s*n];case 15:return[t,1-e,o/s*n,s/o*r];default:return[e,t,n,r]}}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,e._mergeSVGProperties({bbox:this.#f()},this.#e.updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&this.#d(this.#e.updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let e,t;this._isCopy&&(e=this.x,t=this.y);let n=super.render();n.classList.add(`draw`);let r=document.createElement(`div`);return n.append(r),r.setAttribute(`aria-hidden`,`true`),r.className=`internal`,this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy&&this._moveAfterPaste(e,t),n}static createDrawerInstance(e,t,n,r,i){E(`Not implemented`)}static startDrawing(t,n,r,i){let{target:a,offsetX:o,offsetY:s,pointerId:c,pointerType:l}=i;if(H.isInitializedAndDifferentPointerType(l))return;let{viewport:{rotation:u}}=t,{width:d,height:f}=a.getBoundingClientRect(),p=e.#r=new AbortController,m=t.combinedSignal(p);if(H.setPointer(l,c),window.addEventListener(`pointerup`,e=>{H.isSamePointerIdOrRemove(e.pointerId)&&this._endDraw(e)},{signal:m}),window.addEventListener(`pointercancel`,e=>{H.isSamePointerIdOrRemove(e.pointerId)&&this._currentParent.endDrawingSession()},{signal:m}),window.addEventListener(`pointerdown`,t=>{H.isSamePointerType(t.pointerType)&&(H.initializeAndAddPointerId(t.pointerId),e.#n.isCancellable()&&(e.#n.removeLastElement(),e.#n.isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:m}),window.addEventListener(`contextmenu`,R,{signal:m}),a.addEventListener(`pointermove`,this._drawMove.bind(this),{signal:m}),a.addEventListener(`touchmove`,e=>{H.isSameTimeStamp(e.timeStamp)&&z(e)},{signal:m}),t.toggleDrawing(),n._editorUndoBar?.hide(),e.#n){t.drawLayer.updateProperties(this._currentDrawId,e.#n.startNew(o,s,d,f,u));return}n.updateUIForDefaultProperties(this),e.#n=this.createDrawerInstance(o,s,d,f,u),e.#i=this.getDefaultDrawingOptions(),this._currentParent=t,{id:this._currentDrawId}=t.drawLayer.draw(this._mergeSVGProperties(e.#i.toSVGProperties(),e.#n.defaultSVGProperties),!0,!1)}static _drawMove(t){if(H.isSameTimeStamp(t.timeStamp),!e.#n)return;let{offsetX:n,offsetY:r,pointerId:i}=t;if(H.isSamePointerId(i)){if(H.isUsingMultiplePointers()){this._endDraw(t);return}this._currentParent.drawLayer.updateProperties(this._currentDrawId,e.#n.add(n,r)),H.setTimeStamp(t.timeStamp),z(t)}}static _cleanup(t){t&&(this._currentDrawId=-1,this._currentParent=null,e.#n=null,e.#i=null,H.clearTimeStamp()),e.#r&&(e.#r.abort(),e.#r=null,H.clearPointerIds())}static _endDraw(t){let n=this._currentParent;if(n){if(n.toggleDrawing(!0),this._cleanup(!1),t?.target===n.div&&n.drawLayer.updateProperties(this._currentDrawId,e.#n.end(t.offsetX,t.offsetY)),this.supportMultipleDrawings){let t=e.#n,r=this._currentDrawId,i=t.getLastElement();n.addCommands({cmd:()=>{n.drawLayer.updateProperties(r,t.setLastElement(i))},undo:()=>{n.drawLayer.updateProperties(r,t.removeLastElement())},mustExec:!1,type:d.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(t){let n=this._currentParent;if(!n)return null;if(n.toggleDrawing(!0),n.cleanUndoStack(d.DRAW_STEP),!e.#n.isEmpty()){let{pageDimensions:[r,i],scale:a}=n,o=n.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:e.#n.getOutlines(r*a,i*a,a,this._INNER_MARGIN),drawingOptions:e.#i,mustBeCommitted:!t});return this._cleanup(!0),o}return n.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(e){}static deserializeDraw(e,t,n,r,i,a){E(`Not implemented`)}static async deserialize(e,t,n){let{rawDims:{pageWidth:r,pageHeight:i,pageX:a,pageY:o}}=t.viewport,s=this.deserializeDraw(a,o,r,i,this._INNER_MARGIN,e),c=await super.deserialize(e,t,n);return c.createDrawingOptions(e),c.#a({drawOutlines:s}),c.#c(),c.onScaleChanging(),c.rotate(),c}serializeDraw(e){let[t,n]=this.pageTranslation,[r,i]=this.pageDimensions;return this.#e.serialize([t,n,r,i],e)}renderAnnotationElement(e){return e.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}},Li=class{#e=new Float64Array(6);#t;#n;#r;#i;#a;#o=``;#s=0;#c=new Ri;#l;#u;constructor(e,t,n,r,i,a){this.#l=n,this.#u=r,this.#r=i,this.#i=a,[e,t]=this.#d(e,t);let o=this.#t=[NaN,NaN,NaN,NaN,e,t];this.#a=[e,t],this.#n=[{line:o,points:this.#a}],this.#e.set(o,0)}updateProperty(e,t){e===`stroke-width`&&(this.#i=t)}#d(e,t){return $._normalizePoint(e,t,this.#l,this.#u,this.#r)}isEmpty(){return!this.#n?.length}isCancellable(){return this.#a.length<=10}add(e,t){[e,t]=this.#d(e,t);let[n,r,i,a]=this.#e.subarray(2,6),o=e-i,s=t-a;return Math.hypot(this.#l*o,this.#u*s)<=2?null:(this.#a.push(e,t),isNaN(n)?(this.#e.set([i,a,e,t],2),this.#t.push(NaN,NaN,NaN,NaN,e,t),{path:{d:this.toSVGPath()}}):(isNaN(this.#e[0])&&this.#t.splice(6,6),this.#e.set([n,r,i,a,e,t],0),this.#t.push(...$.createBezierPoints(n,r,i,a,e,t)),{path:{d:this.toSVGPath()}}))}end(e,t){return this.add(e,t)||(this.#a.length===2?{path:{d:this.toSVGPath()}}:null)}startNew(e,t,n,r,i){this.#l=n,this.#u=r,this.#r=i,[e,t]=this.#d(e,t);let a=this.#t=[NaN,NaN,NaN,NaN,e,t];this.#a=[e,t];let o=this.#n.at(-1);return o&&(o.line=new Float32Array(o.line),o.points=new Float32Array(o.points)),this.#n.push({line:a,points:this.#a}),this.#e.set(a,0),this.#s=0,this.toSVGPath(),null}getLastElement(){return this.#n.at(-1)}setLastElement(e){return this.#n?(this.#n.push(e),this.#t=e.line,this.#a=e.points,this.#s=0,{path:{d:this.toSVGPath()}}):this.#c.setLastElement(e)}removeLastElement(){if(!this.#n)return this.#c.removeLastElement();this.#n.pop(),this.#o=``;for(let e=0,t=this.#n.length;ee??NaN),u,d,f,p),points:m(o[e].map(e=>e??NaN),u,d,f,p)});let h=new this.prototype.constructor;return h.build(l,n,r,1,s,c,i),h}#l(e=this.#c){let t=this.#n+e/2*this.#o;return this.#s%180==0?[t/this.#i,t/this.#a]:[t/this.#a,t/this.#i]}#u(){let[e,t,n,r]=this.#e,[i,a]=this.#l(0);return[e+i,t+a,n-2*i,r-2*a]}#d(){let e=this.#e=r.slice();for(let{line:t}of this.#r){if(t.length<=12){for(let n=4,r=t.length;ne!==t[n])||e.thickness!==n||e.opacity!==r||e.pageIndex!==i}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let{points:t,rect:n}=this.serializeDraw(!1);return e.updateEdited({rect:n,thickness:this._drawingOptions[`stroke-width`],points:t,popup:this.comment}),null}},Vi=class extends Ri{toSVGPath(){let e=super.toSVGPath();return e.endsWith(`Z`)||(e+=`Z`),e}},Hi=8,Ui=3,Wi=class{static#e={maxDim:512,sigmaSFactor:.02,sigmaR:25,kernelSize:16};static#t(e,t,n,r){return n-=e,r-=t,n===0?r>0?0:4:n===1?r+6:2-r}static#n=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static#r(e,t,n,r,i,a,o){let s=this.#t(n,r,i,a);for(let i=0;i<8;i++){let a=(-i+s-o+16)%8,c=this.#n[2*a],l=this.#n[2*a+1];if(e[(n+c)*t+(r+l)]!==0)return a}return-1}static#i(e,t,n,r,i,a,o){let s=this.#t(n,r,i,a);for(let i=0;i<8;i++){let a=(i+s+o+16)%8,c=this.#n[2*a],l=this.#n[2*a+1];if(e[(n+c)*t+(r+l)]!==0)return a}return-1}static#a(e,t,n,r){let i=e.length,a=new Int32Array(i);for(let t=0;t=1&&a[r+1]===0)o+=1,u+=1,i>1&&(s=i);else{i!==1&&(s=Math.abs(i));continue}let d=[n,e],f=u===n+1,p={isHole:f,points:d,id:o,parent:0};c.push(p);let m;for(let e of c)if(e.id===s){m=e;break}p.parent=m?m.isHole?f?m.parent:s:f?s:m.parent:f?s:0;let h=this.#r(a,t,e,n,l,u,0);if(h===-1){a[r]=-o,a[r]!==1&&(s=Math.abs(a[r]));continue}let g=this.#n[2*h],_=this.#n[2*h+1],v=e+g,y=n+_;l=v,u=y;let b=e,x=n;for(;;){let i=this.#i(a,t,b,x,l,u,1);g=this.#n[2*i],_=this.#n[2*i+1];let c=b+g,f=x+_;d.push(f,c);let p=b*t+x;if(a[p+1]===0?a[p]=-o:a[p]===1&&(a[p]=o),c===e&&f===n&&b===v&&x===y){a[r]!==1&&(s=Math.abs(a[r]));break}l=b,u=x,b=c,x=f}}}return c}static#o(e,t,n,r){if(n-t<=4){for(let i=t;ib&&(x=r,b=t)}b>(c*y)**2?(this.#o(e,t,x+2,r),this.#o(e,x,n,r)):r.push(i,a)}static#s(e){let t=[],n=e.length;return this.#o(e,0,n,t),t.push(e[n-2],e[n-1]),t.length<=4?null:t}static#c(e,t,n,r,i,a){let o=new Float32Array(a**2),s=-2*r**2,c=a>>1;for(let e=0;e=n))for(let n=0;n=t)continue;let p=e[f*t+r],h=o[s*a+n]*l[Math.abs(p-u)];d+=p*h,m+=h}}let h=f[s]=Math.round(d/m);p[h]++}return[f,p]}static#l(e){let t=new Uint32Array(256);for(let n of e)t[n]++;return t}static#u(e){let t=e.length,n=new Uint8ClampedArray(t>>2),r=-1/0,i=1/0;for(let t=0,a=n.length;te!==0),a=i,o=i;for(t=i;t<256;t++){let i=e[t];i>n&&(t-a>r&&(r=t-a,o=t-1),n=i,a=t)}for(t=o-1;t>=0&&!(e[t]>e[t+1]);t--);return t}static#f(e){let t=e,{width:n,height:r}=e,{maxDim:i}=this.#e,a=n,o=r;if(n>i||r>i){let s=n,c=r,l=Math.log2(Math.max(n,r)/i),u=Math.floor(l);l=l===u?u-1:u;for(let n=0;n=-128&&o<=127?Int8Array:a>=-32768&&o<=32767?Int16Array:Int32Array;let l=e.length,u=Hi+Ui*l,d=new Uint32Array(u),f=0;d[f++]=u*Uint32Array.BYTES_PER_ELEMENT+(s-2*l)*c.BYTES_PER_ELEMENT,d[f++]=0,d[f++]=r,d[f++]=i,d[f++]=+!t,d[f++]=Math.max(0,Math.floor(n??0)),d[f++]=l,d[f++]=c.BYTES_PER_ELEMENT;for(let t of e)d[f++]=t.length-2,d[f++]=t[0],d[f++]=t[1];let p=new CompressionStream(`deflate-raw`),m=p.writable.getWriter();await m.ready,m.write(d);let h=c.prototype.constructor;for(let t of e){let e=new h(t.length-2);for(let n=2,r=t.length;n{await i.ready,await i.close()}).catch(()=>{});let a=null,o=0;for await(let e of n)a||=new Uint8Array(new Uint32Array(e.buffer,0,4)[0]),a.set(e,o),o+=e.length;let s=new Uint32Array(a.buffer,0,a.length>>2),c=s[1];if(c!==0)throw Error(`Invalid version: ${c}`);let l=s[2],u=s[3],d=s[4]===0,f=s[5],p=s[6],m=s[7],h=[],g=(Hi+Ui*p)*Uint32Array.BYTES_PER_ELEMENT,_;switch(m){case Int8Array.BYTES_PER_ELEMENT:_=new Int8Array(a.buffer,g);break;case Int16Array.BYTES_PER_ELEMENT:_=new Int16Array(a.buffer,g);break;case Int32Array.BYTES_PER_ELEMENT:_=new Int32Array(a.buffer,g)}o=0;for(let e=0;e{t?.updateEditSignatureButton(e)}))}getSignaturePreview(){let{newCurves:e,areContours:t,thickness:n,width:r,height:i}=this.#n,a=Math.max(r,i);return{areContours:t,outline:Wi.processDrawnLines({lines:{curves:e.map(e=>({points:e})),thickness:n,width:r,height:i},pageWidth:a,pageHeight:a,rotation:0,innerMargin:0,mustSmooth:!1,areContours:t}).outline}}get toolbarButtons(){return this._uiManager.signatureManager?[[`editSignature`,this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(t,n,r,i){let{x:a,y:o}=this,{outline:s}=this.#n=t;this.#e=s instanceof Vi,this.description=r;let c;this.#e?c=e.getDefaultDrawingOptions():(c=e._defaultDrawnSignatureOptions.clone(),c.updateProperties({"stroke-width":s.thickness})),this._addOutlines({drawOutlines:s,drawingOptions:c});let[,l]=this.pageDimensions,u=n/l;u=u>=1?.5:u,this.width*=u/this.height,this.width>=1&&(u*=.9/this.width,this.width=.9),this.height=u,this.setDims(),this.x=a,this.y=o,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(i),this._reportTelemetry({action:`pdfjs.signature.inserted`,data:{hasBeenSaved:!!i,hasDescription:!!r}}),this.div.hidden=!1}getFromImage(t){let{rawDims:{pageWidth:n,pageHeight:r},rotation:i}=this.parent.viewport;return Wi.process(t,n,r,i,e._INNER_MARGIN)}getFromText(t,n){let{rawDims:{pageWidth:r,pageHeight:i},rotation:a}=this.parent.viewport;return Wi.extractContoursFromText(t,n,r,i,a,e._INNER_MARGIN)}getDrawnSignature(t){let{rawDims:{pageWidth:n,pageHeight:r},rotation:i}=this.parent.viewport;return Wi.processDrawnLines({lines:t,pageWidth:n,pageHeight:r,rotation:i,innerMargin:e._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:t,thickness:n}){t?this._drawingOptions=e.getDefaultDrawingOptions():(this._drawingOptions=e._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":n}))}serialize(e=!1){if(this.isEmpty())return null;let{lines:t,points:n}=this.serializeDraw(e),{_drawingOptions:{"stroke-width":r}}=this,i=Object.assign(super.serialize(e),{isSignature:!0,areContours:this.#e,color:[0,0,0],thickness:this.#e?0:r});return this.addComment(i),e?(i.paths={lines:t,points:n},i.uuid=this.#r,i.isCopy=!0):i.lines=t,this.#t&&(i.accessibilityData={type:`Figure`,alt:this.#t}),i}static deserializeDraw(e,t,n,r,i,a){return a.areContours?Vi.deserialize(e,t,n,r,i,a):Ri.deserialize(e,t,n,r,i,a)}static async deserialize(e,t,n){let r=await super.deserialize(e,t,n);return r.#e=e.areContours,r.description=e.accessibilityData?.alt||``,r.#r=e.uuid,r}},Ji=class extends U{#e=null;#t=null;#n=null;#r=null;#i=null;#a=``;#o=null;#s=!1;#c=null;#l=!1;#u=!1;static _type=`stamp`;static _editorType=u.STAMP;constructor(e){super({...e,name:`stampEditor`}),this.#r=e.bitmapUrl,this.#i=e.bitmapFile,this.defaultL10nId=`pdfjs-editor-stamp-editor`}static initialize(e,t){U.initialize(e,t)}static isHandlingMimeForPasting(e){return Le.includes(e)}static paste(e,t){t.pasteEditor({mode:u.STAMP},{bitmapFile:e.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){return{type:`stamp`,hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(e){let t=e.get(`hasAltText`);return{hasAltText:t.get(!0)??0,hasNoAltText:t.get(!1)??0}}#d(e,t=!1){if(!e){this.remove();return}this.#e=e.bitmap,t||(this.#t=e.id,this.#l=e.isSvg),e.file&&(this.#a=e.file.name),this.#m()}#f(){if(this.#n=null,this._uiManager.enableWaiting(!1),this.#o){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this._reportTelemetry({action:`pdfjs.image.image_added`,data:{alt_text_modal:!1,alt_text_type:`empty`}});try{this.mlGuessAltText()}catch{}}this.div.focus()}}async mlGuessAltText(e=null,t=!0){if(this.hasAltTextData())return null;let{mlManager:n}=this._uiManager;if(!n)throw Error(`No ML.`);if(!await n.isEnabledFor(`altText`))throw Error(`ML isn't enabled for alt text.`);let{data:r,width:i,height:a}=e||this.copyCanvas(null,null,!0).imageData,o=await n.guess({name:`altText`,request:{data:r,width:i,height:a,channels:r.length/(i*a)}});if(!o)throw Error(`No response from the AI service.`);if(o.error)throw Error(`Error from the AI service.`);if(o.cancel)return null;if(!o.output)throw Error(`No valid response from the AI service.`);let s=o.output;return await this.setGuessedAltText(s),t&&!this.hasAltTextData()&&(this.altTextData={alt:s,decorative:!1}),s}#p(){if(this.#t){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#t).then(e=>this.#d(e,!0)).finally(()=>this.#f());return}if(this.#r){let e=this.#r;this.#r=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromUrl(e).then(e=>this.#d(e)).finally(()=>this.#f());return}if(this.#i){let e=this.#i;this.#i=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromFile(e).then(e=>this.#d(e)).finally(()=>this.#f());return}let e=document.createElement(`input`);e.type=`file`,e.accept=Le.join(`,`);let t=this._uiManager._signal;this.#n=new Promise(n=>{e.addEventListener(`change`,async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);let t=await this._uiManager.imageManager.getFromFile(e.files[0]);this._reportTelemetry({action:`pdfjs.image.image_selected`,data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#d(t)}n()},{signal:t}),e.addEventListener(`cancel`,()=>{this.remove(),n()},{signal:t})}).finally(()=>this.#f()),e.click()}remove(){this.#t&&(this.#e=null,this._uiManager.imageManager.deleteId(this.#t),this.#o?.remove(),this.#o=null,this.#c&&=(clearTimeout(this.#c),null)),super.remove()}rebuild(){if(!this.parent){this.#t&&this.#p();return}super.rebuild(),this.div!==null&&(this.#t&&this.#o===null&&this.#p(),this.isAttachedToDOM||this.parent.add(this))}onceAdded(e){this._isDraggable=!0,e&&this.div.focus()}isEmpty(){return!(this.#n||this.#e||this.#r||this.#i||this.#t||this.#s)}get toolbarButtons(){return[[`altText`,this.createAltText()]]}get isResizable(){return!0}render(){if(this.div)return this.div;let e,t;return this._isCopy&&(e=this.x,t=this.y),super.render(),this.div.hidden=!0,this.createAltText(),this.#s||(this.#e?this.#m():this.#p()),this._isCopy&&this._moveAfterPaste(e,t),this._uiManager.addShouldRescale(this),this.div}setCanvas(e,t){let{id:n,bitmap:r}=this._uiManager.imageManager.getFromCanvas(e,t);t.remove(),n&&this._uiManager.imageManager.isValidId(n)&&(this.#t=n,r&&(this.#e=r),this.#s=!1,this.#m())}_onResized(){this.onScaleChanging()}onScaleChanging(){this.parent&&(this.#c!==null&&clearTimeout(this.#c),this.#c=setTimeout(()=>{this.#c=null,this.#g()},200))}#m(){let{div:e}=this,{width:t,height:n}=this.#e,[r,i]=this.pageDimensions,a=.75;if(this.width)t=this.width*r,n=this.height*i;else if(t>a*r||n>a*i){let e=Math.min(a*r/t,a*i/n);t*=e,n*=e}this._uiManager.enableWaiting(!1);let o=this.#o=document.createElement(`canvas`);o.setAttribute(`role`,`img`),this.addContainer(o),this.width=t/r,this.height=n/i,this.setDims(),this._initialOptions?.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(e.hidden=!1),this.#g(),this.#u||=(this.parent.addUndoableEditor(this),!0),this._reportTelemetry({action:`inserted_image`}),this.#a&&this.div.setAttribute(`aria-description`,this.#a),this.annotationElementId||this._uiManager.a11yAlert(U._l10nAlert.stamp)}copyCanvas(e,t,n=!1){e||=224;let{width:r,height:i}=this.#e,a=new Ie,o=this.#e,s=r,c=i,l=null;if(t){if(r>t||i>t){let e=Math.min(t/r,t/i);s=Math.floor(r*e),c=Math.floor(i*e)}l=document.createElement(`canvas`);let e=l.width=Math.ceil(s*a.sx),n=l.height=Math.ceil(c*a.sy);this.#l||(o=this.#h(e,n));let u=l.getContext(`2d`);u.filter=this._uiManager.hcmFilter;let d=`white`,f=`#cfcfd8`;this._uiManager.hcmFilter===`none`?Re.isDarkMode&&(d=`#8f8f9d`,f=`#42414d`):f=`black`;let p=15*a.sx,m=15*a.sy,h=new OffscreenCanvas(p*2,m*2),g=h.getContext(`2d`);g.fillStyle=d,g.fillRect(0,0,p*2,m*2),g.fillStyle=f,g.fillRect(0,0,p,m),g.fillRect(p,m,p,m),u.fillStyle=u.createPattern(h,`repeat`),u.fillRect(0,0,e,n),u.drawImage(o,0,0,o.width,o.height,0,0,e,n)}let u=null;if(n){let t,n;if(a.symmetric&&o.widthe||i>e){let a=Math.min(e/r,e/i);t=Math.floor(r*a),n=Math.floor(i*a),this.#l||(o=this.#h(t,n))}let s=new OffscreenCanvas(t,n).getContext(`2d`,{willReadFrequently:!0});s.drawImage(o,0,0,o.width,o.height,0,0,t,n),u={width:t,height:n,data:s.getImageData(0,0,t,n).data}}return{canvas:l,width:s,height:c,imageData:u}}#h(e,t){let{width:n,height:r}=this.#e,i=n,a=r,o=this.#e;for(;i>2*e||a>2*t;){let n=i,r=a;i>2*e&&(i=Math.ceil(i/2)),a>2*t&&(a=Math.ceil(a/2));let s=new OffscreenCanvas(i,a);s.getContext(`2d`).drawImage(o,0,0,n,r,0,0,i,a),o=s.transferToImageBitmap()}return o}#g(){let[e,t]=this.parentDimensions,{width:n,height:r}=this,i=new Ie,a=Math.ceil(n*e*i.sx),o=Math.ceil(r*t*i.sy),s=this.#o;if(!s||s.width===a&&s.height===o)return;s.width=a,s.height=o;let c=this.#l?this.#e:this.#h(a,o),l=s.getContext(`2d`);l.filter=this._uiManager.hcmFilter,l.drawImage(c,0,0,c.width,c.height,0,0,a,o)}#_(e){if(e){if(this.#l){let e=this._uiManager.imageManager.getSvgUrl(this.#t);if(e)return e}let e=document.createElement(`canvas`);return{width:e.width,height:e.height}=this.#e,e.getContext(`2d`).drawImage(this.#e,0,0),e.toDataURL()}if(this.#l){let[e,t]=this.pageDimensions,n=Math.round(this.width*e*Se.PDF_TO_CSS_UNITS),r=Math.round(this.height*t*Se.PDF_TO_CSS_UNITS),i=new OffscreenCanvas(n,r);return i.getContext(`2d`).drawImage(this.#e,0,0,this.#e.width,this.#e.height,0,0,n,r),i.transferToImageBitmap()}return structuredClone(this.#e)}static async deserialize(e,t,n){let r=null,i=!1;if(e instanceof Si){let{data:{rect:a,rotation:o,id:s,structParent:l,popupRef:d,richText:f,contentsObj:p,creationDate:m,modificationDate:h},container:g,parent:{page:{pageNumber:_}},canvas:v}=e,y,b;v?(delete e.canvas,{id:y,bitmap:b}=n.imageManager.getFromCanvas(g.id,v),v.remove()):(i=!0,e._hasNoCanvas=!0);let x=(await t._structTree.getAriaAttributes(`${c}${s}`))?.get(`aria-label`)||``;r=e={annotationType:u.STAMP,bitmapId:y,bitmap:b,pageIndex:_-1,rect:a.slice(0),rotation:o,annotationElementId:s,id:s,deleted:!1,accessibilityData:{decorative:!1,altText:x},isSvg:!1,structParent:l,popupRef:d,richText:f,comment:p?.str||null,creationDate:m,modificationDate:h}}let a=await super.deserialize(e,t,n),{rect:o,bitmap:s,bitmapUrl:l,bitmapId:d,isSvg:f,accessibilityData:p}=e;i?(n.addMissingCanvas(e.id,a),a.#s=!0):d&&n.imageManager.isValidId(d)?(a.#t=d,s&&(a.#e=s)):a.#r=l,a.#l=f;let[m,h]=a.pageDimensions;return a.width=(o[2]-o[0])/m,a.height=(o[3]-o[1])/h,p&&(a.altTextData=p),a._initialData=r,e.comment&&a.setCommentData(e),a.#u=!!r,a}serialize(e=!1,t=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let n=Object.assign(super.serialize(e),{bitmapId:this.#t,isSvg:this.#l});if(this.addComment(n),e)return n.bitmapUrl=this.#_(!0),n.accessibilityData=this.serializeAltText(!0),n.isCopy=!0,n;let{decorative:r,altText:i}=this.serializeAltText(!1);if(!r&&i&&(n.accessibilityData={type:`Figure`,alt:i}),this.annotationElementId){let e=this.#v(n);return e.isSame?null:(e.isSameAltText?delete n.accessibilityData:n.accessibilityData.structParent=this._initialData.structParent??-1,n.id=this.annotationElementId,delete n.bitmapId,n)}if(t===null)return n;t.stamps||=new Map;let a=this.#l?(n.rect[2]-n.rect[0])*(n.rect[3]-n.rect[1]):null;if(!t.stamps.has(this.#t))t.stamps.set(this.#t,{area:a,serialized:n}),n.bitmap=this.#_(!1);else if(this.#l){let e=t.stamps.get(this.#t);a>e.area&&(e.area=a,e.serialized.bitmap.close(),e.serialized.bitmap=this.#_(!1))}return n}#v(e){let{pageIndex:t,accessibilityData:{altText:n}}=this._initialData,r=e.pageIndex===t,i=(e.accessibilityData?.alt||``)===n;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&r&&i,isSameAltText:i}}renderAnnotationElement(e){return this.deleted?(e.hide(),null):(e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null)}},Yi=class e{#e;#t=!1;#n=null;#r=null;#i=null;#a=new Map;#o=!1;#s=!1;#c=!1;#l=null;#u=null;#d=null;#f=null;#p=null;#m=-1;#h;static _initialized=!1;static#g=new Map([Di,Bi,Ji,Pi,qi].map(e=>[e._editorType,e]));constructor({uiManager:t,pageIndex:n,div:r,structTreeLayer:i,accessibilityManager:a,annotationLayer:o,drawLayer:s,textLayer:c,viewport:l,l10n:u}){let d=[...e.#g.values()];if(!e._initialized){e._initialized=!0;for(let e of d)e.initialize(u,t)}t.registerEditorTypes(d),this.#h=t,this.pageIndex=n,this.div=r,this.#e=a,this.#n=o,this.viewport=l,this.#d=c,this.drawLayer=s,this._structTree=i,this.#h.addLayer(this)}get isEmpty(){return this.#a.size===0}get isInvisible(){return this.isEmpty&&this.#h.getMode()===u.NONE}updateToolbar(e){this.#h.updateToolbar(e)}updateMode(t=this.#h.getMode()){switch(this.#S(),t){case u.NONE:this.div.classList.toggle(`nonEditing`,!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case u.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case u.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:n}=this.div;if(n.toggle(`nonEditing`,!1),t===u.POPUP)n.toggle(`commentEditing`,!0);else{n.toggle(`commentEditing`,!1);for(let r of e.#g.values())n.toggle(`${r._type}Editing`,t===r._editorType)}this.div.hidden=!1}hasTextLayer(e){return e===this.#d?.div}setEditingState(e){this.#h.setEditingState(e)}addCommands(e){this.#h.addCommands(e)}cleanUndoStack(e){this.#h.cleanUndoStack(e)}toggleDrawing(e=!1){this.div.classList.toggle(`drawing`,!e)}togglePointerEvents(e=!1){this.div.classList.toggle(`disabled`,!e)}toggleAnnotationLayerPointerEvents(e=!1){this.#n?.togglePointerEvents(e)}get#_(){return this.#a.size===0?this.#h.getEditors(this.pageIndex):this.#a.values()}async enable(){this.#c=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle(`nonEditing`,!1),this.#p?.abort(),this.#p=null;let e=new Set;for(let t of this.#_)t.enableEditing(),t.show(!0),t.annotationElementId&&(this.#h.removeChangedExistingAnnotation(t),e.add(t.annotationElementId));let t=this.#n;if(t)for(let n of t.getEditableAnnotations()){if(n.hide(),this.#h.isDeletedAnnotationElement(n.data.id)||e.has(n.data.id))continue;let t=await this.deserialize(n);t&&(this.addOrRebuild(t),t.enableEditing())}this.#c=!1,this.#h._eventBus.dispatch(`editorsrendered`,{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#s=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle(`nonEditing`,!0),this.#d&&!this.#p){this.#p=new AbortController;let e=this.#h.combinedSignal(this.#p);this.#d.div.addEventListener(`pointerdown`,e=>{let{clientX:t,clientY:n,timeStamp:r}=e;if(r-this.#m>500){this.#m=r;return}this.#m=-1;let{classList:i}=this.div;i.toggle(`getElements`,!0);let a=document.elementsFromPoint(t,n);if(i.toggle(`getElements`,!1),!this.div.contains(a[0]))return;let o,s=RegExp(`^${l}[0-9]+$`);for(let e of a)if(s.test(e.id)){o=e.id;break}if(!o)return;let c=this.#a.get(o);c?.annotationElementId===null&&(z(e),c.dblclick(e))},{signal:e,capture:!0})}let t=this.#n,n=[];if(t){let e=new Map,r=new Map;for(let t of this.#_){if(t.disableEditing(),!t.annotationElementId){n.push(t);continue}if(t.serialize()!==null){e.set(t.annotationElementId,t);continue}r.set(t.annotationElementId,t),this.getEditableAnnotation(t.annotationElementId)?.show(),t.remove()}for(let n of t.getEditableAnnotations()){let{id:t}=n.data;if(this.#h.isDeletedAnnotationElement(t)){n.updateEdited({deleted:!0});continue}let i=r.get(t);if(i){i.resetAnnotationElement(n),i.show(!1),n.show();continue}i=e.get(t),i&&(this.#h.addChangedExistingAnnotation(i),i.renderAnnotationElement(n)&&i.show(!1)),n.show()}}this.#S(),this.isEmpty&&(this.div.hidden=!0);let{classList:r}=this.div;for(let t of e.#g.values())r.remove(`${t._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),t?.updateFakeAnnotations(n),this.#s=!1}getEditableAnnotation(e){return this.#n?.getEditableAnnotation(e)||null}setActiveEditor(e){this.#h.getActive()!==e&&this.#h.setActiveEditor(e)}enableTextSelection(){if(this.div.tabIndex=-1,this.#d?.div&&!this.#f){this.#f=new AbortController;let e=this.#h.combinedSignal(this.#f);this.#d.div.addEventListener(`pointerdown`,this.#v.bind(this),{signal:e}),this.#d.div.classList.add(`highlighting`)}}disableTextSelection(){this.div.tabIndex=0,this.#d?.div&&this.#f&&(this.#f.abort(),this.#f=null,this.#d.div.classList.remove(`highlighting`))}#v(e){this.#h.unselectAll();let{target:t}=e;if(t===this.#d.div||(t.getAttribute(`role`)===`img`||t.classList.contains(`endOfContent`)||t.classList.contains(`textLayerImages`)||t.classList.contains(`textLayerImagePlaceholder`))&&this.#d.div.contains(t)){let{isMac:t}=F.platform;if(e.button!==0||e.ctrlKey&&t)return;this.#h.showAllEditors(`highlight`,!0,!0),this.#d.div.classList.add(`free`),this.toggleDrawing(),Pi.startHighlighting(this,this.#h.direction===`ltr`,{target:this.#d.div,x:e.x,y:e.y}),this.#d.div.addEventListener(`pointerup`,()=>{this.#d.div.classList.remove(`free`),this.toggleDrawing(!0)},{once:!0,signal:this.#h._signal}),e.preventDefault()}}enableClick(){if(this.#r)return;this.#r=new AbortController;let e=this.#h.combinedSignal(this.#r);this.div.addEventListener(`pointerdown`,this.pointerdown.bind(this),{signal:e});let t=this.pointerup.bind(this);this.div.addEventListener(`pointerup`,t,{signal:e}),this.div.addEventListener(`pointercancel`,t,{signal:e})}disableClick(){this.#r?.abort(),this.#r=null}attach(e){this.#a.set(e.id,e);let{annotationElementId:t}=e;t&&this.#h.isDeletedAnnotationElement(t)&&this.#h.removeDeletedAnnotationElement(e)}detach(e){this.#a.delete(e.id),this.#e?.removePointerInTextLayer(e.contentDiv),!this.#s&&e.annotationElementId&&this.#h.addDeletedAnnotationElement(e)}remove(e){this.detach(e),this.#h.removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1}changeParent(e){e.parent!==this&&(e.parent&&e.annotationElementId&&(this.#h.addDeletedAnnotationElement(e),U.deleteAnnotationElement(e),e.annotationElementId=null),this.attach(e),e.parent?.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM&&(e.div.remove(),this.div.append(e.div)))}add(e){if(!(e.parent===this&&e.isAttachedToDOM)){if(this.changeParent(e),this.#h.addEditor(e),this.attach(e),!e.isAttachedToDOM){let t=e.render();this.div.append(t),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(!this.#c),this.#h.addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}}moveEditorInDOM(e){if(!e.isAttachedToDOM)return;let{activeElement:t}=document;e.div.contains(t)&&!this.#i&&(e._focusEventsAllowed=!1,this.#i=setTimeout(()=>{this.#i=null,e.div.contains(document.activeElement)?e._focusEventsAllowed=!0:(e.div.addEventListener(`focusin`,()=>{e._focusEventsAllowed=!0},{once:!0,signal:this.#h._signal}),t.focus())},0)),e._structTreeParentId=this.#e?.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){e.needsToBeRebuilt()?(e.parent||=this,e.rebuild(),e.show()):this.add(e)}addUndoableEditor(e){this.addCommands({cmd:()=>e._uiManager.rebuild(e),undo:()=>{e.remove()},mustExec:!1})}getEditorByUID(e){for(let t of this.#a.values())if(t.uid===e)return t;return null}get#y(){return e.#g.get(this.#h.getMode())}combinedSignal(e){return this.#h.combinedSignal(e)}#b(e){let t=this.#y;return t?new t.prototype.constructor(e):null}canCreateNewEmptyEditor(){return this.#y?.canCreateNewEmptyEditor()}async pasteEditor(e,t){this.updateToolbar(e),await this.#h.updateMode(e.mode);let{offsetX:n,offsetY:r}=this.#x(),i=this.#h.getId(),a=this.#b({parent:this,id:i,x:n,y:r,uiManager:this.#h,isCentered:!0,...t});a&&this.add(a)}async deserialize(t){return await e.#g.get(t.annotationType??t.annotationEditorType)?.deserialize(t,this,this.#h)||null}createAndAddNewEditor(e,t,n={}){let r=this.#h.getId(),i=this.#b({parent:this,id:r,x:e.offsetX,y:e.offsetY,uiManager:this.#h,isCentered:t,...n});return i&&this.add(i),i}get boundingClientRect(){return this.div.getBoundingClientRect()}#x(){let{x:e,y:t,width:n,height:r}=this.boundingClientRect,i=Math.max(0,e),a=Math.max(0,t),o=Math.min(window.innerWidth,e+n),s=Math.min(window.innerHeight,t+r),c=(i+o)/2-e,l=(a+s)/2-t,[u,d]=this.viewport.rotation%180==0?[c,l]:[l,c];return{offsetX:u,offsetY:d}}addNewEditor(e={}){this.createAndAddNewEditor(this.#x(),!0,e)}setSelected(e){this.#h.setSelected(e)}toggleSelected(e){this.#h.toggleSelected(e)}unselect(e){this.#h.unselect(e)}pointerup(e){let{isMac:t}=F.platform;if(e.button!==0||e.ctrlKey&&t||e.target!==this.div||!this.#o||(this.#o=!1,this.#y?.isDrawer&&this.#y.supportMultipleDrawings))return;if(!this.#t){this.#t=!0;return}let n=this.#h.getMode();if(n===u.STAMP||n===u.POPUP||n===u.SIGNATURE){this.#h.unselectAll();return}this.createAndAddNewEditor(e,!1)}pointerdown(e){if(this.#h.getMode()===u.HIGHLIGHT&&this.enableTextSelection(),this.#o){this.#o=!1;return}let{isMac:t}=F.platform;if(e.button!==0||e.ctrlKey&&t||e.target!==this.div)return;if(this.#o=!0,this.#y?.isDrawer){this.startDrawingSession(e);return}let n=this.#h.getActive();this.#t=!n||n.isEmpty()}startDrawingSession(e){if(this.div.focus({preventScroll:!0}),this.#l){this.#y.startDrawing(this,this.#h,!1,e);return}this.#h.setCurrentDrawingSession(this),this.#l=new AbortController;let t=this.#h.combinedSignal(this.#l);this.div.addEventListener(`blur`,({relatedTarget:e})=>{e&&!this.div.contains(e)&&(this.#u=null,this.commitOrRemove())},{signal:t}),this.#y.startDrawing(this,this.#h,!1,e)}pause(e){if(e){let{activeElement:e}=document;this.div.contains(e)&&(this.#u=e);return}this.#u&&setTimeout(()=>{this.#u?.focus(),this.#u=null},0)}endDrawingSession(e=!1){return this.#l?(this.#h.setCurrentDrawingSession(null),this.#l.abort(),this.#l=null,this.#u=null,this.#y.endDrawing(e)):null}findNewParent(e,t,n){let r=this.#h.findParent(t,n);return r===null||r===this?!1:(r.changeParent(e),!0)}commitOrRemove(){return this.#l?(this.endDrawingSession(),!0):!1}onScaleChanging(){this.#l&&this.#y.onScaleChangingWhenDrawing(this)}destroy(){this.commitOrRemove(),this.#h.getActive()?.parent===this&&(this.#h.commitOrRemove(),this.#h.setActiveEditor(null)),this.#i&&=(clearTimeout(this.#i),null);for(let e of this.#a.values())this.#e?.removePointerInTextLayer(e.contentDiv),e.setParent(null),e.isAttachedToDOM=!1,e.div.remove();this.div=null,this.#a.clear(),this.#h.removeLayer(this)}#S(){for(let e of this.#a.values())e.isEmpty()&&e.remove()}async render({viewport:e}){this.viewport=e,Fe(this.div,e);for(let e of this.#h.getEditors(this.pageIndex))this.add(e),e.rebuild();await this.#h.findClonesForPage(this),this.div.hidden=this.isEmpty,this.updateMode()}update({viewport:e}){this.#h.commitOrRemove(),this.#S();let t=this.viewport.rotation,n=e.rotation;if(this.viewport=e,Fe(this.div,{rotation:n}),t!==n)for(let e of this.#a.values())e.rotate(n)}get pageDimensions(){let{pageWidth:e,pageHeight:t}=this.viewport.rawDims;return[e,t]}get scale(){return this.#h.viewParameters.realScale}};function Xi(e,t){return e===t?0:e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function Zi(e){return e?e.nodeType===Node.ELEMENT_NODE?e.closest(`.textLayer`):e.parentElement?.closest(`.textLayer`)||null:null}function Qi(e,t,n,r){if(e===n)return t<=r;let i=e.compareDocumentPosition(n);return i&Node.DOCUMENT_POSITION_FOLLOWING?!0:i&Node.DOCUMENT_POSITION_PRECEDING?!1:null}function $i(e,t,n){if(e.nodeType!==Node.ELEMENT_NODE||!e.classList.contains(`textLayer`)||t!==e.childNodes.length)return{container:e,offset:t};let r=e.lastChild;return r?.nodeType===Node.ELEMENT_NODE&&r.classList.contains(`endOfContent`)&&(r=r.previousSibling),!r||!n.contains(r)?null:r.nodeType===Node.TEXT_NODE?{container:r,offset:r.textContent.length}:{container:r,offset:r.childNodes.length}}var ea=class e{#e=null;#t=new Map;#n=null;#r=null;#i=null;#a=null;#o=new Map;static#s=0;static#c=0;static#l=null;static#u=new Set;static#d=!1;static#f=new Set;static#p=new WeakMap;constructor({filterFactory:t=null,pageColors:n=null,pageIndex:r,textLayer:i=null}){if(this.pageIndex=r,this.#r=t,this.#i=n,i){let t=e.#p.get(i);if(t?.selectionDiv&&(t.selectionDiv.remove(),e.#u.delete(t.selectionDiv)),e.#p.set(i,{drawLayer:this}),e.#f.add(i),this.#n=i,this.#a=new MutationObserver(t=>{if(!(!this.#e||!this.#n?.isConnected||!e.#h())){for(let{addedNodes:n}of t)for(let t of n)if(t.nodeType===Node.ELEMENT_NODE&&t.classList.contains(`endOfContent`)){e.#_();return}}}),this.#a.observe(i,{childList:!0}),e.#l===null){e.#l=new AbortController;let{signal:t}=e.#l;document.addEventListener(`selectionchange`,e.#_.bind(e),{signal:t}),document.addEventListener(`pointerdown`,()=>{e.#d=!0},{signal:t}),document.addEventListener(`pointerup`,()=>{e.#d=!1},{signal:t}),window.addEventListener(`blur`,()=>{e.#d=!1},{signal:t})}}}setParent(t){if(!this.#e){this.#e=t,this.#n?.isConnected&&e.#h()&&e.#_();return}if(this.#e!==t){if(this.#t.size>0)for(let e of this.#t.values())e.remove(),t.append(e);this.#e=t}}static#m(e){let t=this.#p.get(e);t?.selectionDiv&&(t.selectionDiv.remove(),this.#u.delete(t.selectionDiv),t.selectionDiv=null,t.path=null)}static#h(){let e=document.getSelection();return!!e&&!e.isCollapsed}static#g(){return this.#f.keys().filter(e=>e.isConnected).toArray().sort(Xi)}static#_(){let t=document.getSelection();if(!t||t.isCollapsed){for(let e of this.#u)e.remove();this.#u.clear();return}let n=new WeakMap,r=this.#g(),i=[];for(let e=0,n=t.rangeCount;en.intersectsNode(e));if(p.length===0)continue;let m=!1;if(l||(l=p[0],a=l,o=0,m=!0),u||(u=p.at(-1),s=u,c=u.childNodes.length,m=!0),s.nodeType===Node.ELEMENT_NODE){if(s.classList.contains(`endOfContent`)){let e=s.previousSibling;if(!e)continue;s=e,c=e.nodeType===Node.TEXT_NODE?e.textContent.length:e.childNodes.length}else if(s.classList.contains(`textLayer`)&&s.childNodes.length===c){let e=$i(s,c,u);if(!e)continue;s=e.container,c=e.offset}}if(a.nodeType===Node.ELEMENT_NODE){let e=$i(a,o,l);if(!e)continue;a=e.container,o=e.offset}if(l===u&&!m&&p.includes(l)){i.push([n,l]);continue}for(let e of p){let t=e.firstChild;if(!t)continue;let n=document.createRange();if(e===l?n.setStart(a,o):n.setStartBefore(t),e===u)n.setEnd(s,c);else{let t=e.lastChild;if(!t)continue;if(t.nodeType===Node.ELEMENT_NODE&&t.classList.contains(`endOfContent`)){let e=t.previousSibling;if(!e)continue;n.setEndAfter(e)}else n.setEndAfter(t)}n.collapsed||i.push([n,e])}}let a=new Set(i.map(e=>e[1]));for(let e of this.#f)a.has(e)||this.#m(e);for(let[t,r]of i){let i=e.#p.get(r);if(!i)continue;let a=n.get(r);if(!a){let e=r.getBoundingClientRect();a=(t,n,r,i)=>({x:(t-e.x)/e.width,y:(n-e.y)/e.height,width:r/e.width,height:i/e.height}),n.set(r,a)}let o=[];for(let{x:e,y:n,width:r,height:i}of t.getClientRects())r!==0&&i!==0&&({x:e,y:n,width:r,height:i}=a(e,n,r,i),(r!==1||i!==1)&&o.push(`M${e} ${n} h${r} v${i} h-${r} Z`));if(o.length===0)continue;let s=i.drawLayer,c=i.selectionDiv,l=i.path;if(!c){let t=`clip_selection_${e.#c++}`;c=document.createElement(`div`),c.className=`selection`,c.style.clipPath=`url(#${t})`;let n=s.#r?.createSelectionStyle(s.#i);if(n)for(let[e,t]of Object.entries(n))c.style.setProperty(e,t);let r=e._svgFactory.create(1,1,!0);r.setAttribute(`aria-hidden`,`true`),r.setAttribute(`width`,`100%`),r.setAttribute(`height`,`100%`);let a=e._svgFactory.createElement(`clipPath`);a.setAttribute(`id`,t),a.setAttribute(`clipPathUnits`,`objectBoundingBox`),l=e._svgFactory.createElement(`path`),a.append(l),r.append(a),c.append(r),i.path=l,i.selectionDiv=c}!c.parentNode&&s.#e&&(s.#e.append(c),this.#u.add(c)),l.setAttribute(`d`,o.join(` `))}}static get _svgFactory(){return M(this,`_svgFactory`,new qr)}static#v(e,[t,n,r,i]){let{style:a}=e;a.top=`${100*n}%`,a.left=`${100*t}%`,a.width=`${100*r}%`,a.height=`${100*i}%`}#y(){let t=e._svgFactory.create(1,1,!0);return this.#e.append(t),t.setAttribute(`aria-hidden`,`true`),t}#b(t,n){let r=e._svgFactory.createElement(`clipPath`);t.append(r);let i=`clip_${n}`;r.setAttribute(`id`,i),r.setAttribute(`clipPathUnits`,`objectBoundingBox`);let a=e._svgFactory.createElement(`use`);return r.append(a),a.setAttribute(`href`,`#${n}`),a.classList.add(`clip`),i}#x(e,t){for(let[n,r]of Object.entries(t))r===null?e.removeAttribute(n):e.setAttribute(n,r)}draw(t,n=!1,r=!1){let i=e.#s++,a=this.#y(),o=e._svgFactory.createElement(`defs`);a.append(o);let s=e._svgFactory.createElement(`path`);o.append(s);let c=`path_${i}`;s.setAttribute(`id`,c),s.setAttribute(`vector-effect`,`non-scaling-stroke`),n&&this.#o.set(i,s);let l=r?this.#b(o,c):null,u=e._svgFactory.createElement(`use`);return a.append(u),u.setAttribute(`href`,`#${c}`),this.updateProperties(a,t),this.#t.set(i,a),{id:i,clipPathId:`url(#${l})`}}drawOutline(t,n){let r=e.#s++,i=this.#y(),a=e._svgFactory.createElement(`defs`);i.append(a);let o=e._svgFactory.createElement(`path`);a.append(o);let s=`path_${r}`;o.setAttribute(`id`,s),o.setAttribute(`vector-effect`,`non-scaling-stroke`);let c;if(n){let t=e._svgFactory.createElement(`mask`);a.append(t),c=`mask_${r}`,t.setAttribute(`id`,c),t.setAttribute(`maskUnits`,`objectBoundingBox`);let n=e._svgFactory.createElement(`rect`);t.append(n),n.setAttribute(`width`,`1`),n.setAttribute(`height`,`1`),n.setAttribute(`fill`,`white`);let i=e._svgFactory.createElement(`use`);t.append(i),i.setAttribute(`href`,`#${s}`),i.setAttribute(`stroke`,`none`),i.setAttribute(`fill`,`black`),i.setAttribute(`fill-rule`,`nonzero`),i.classList.add(`mask`)}let l=e._svgFactory.createElement(`use`);i.append(l),l.setAttribute(`href`,`#${s}`),c&&l.setAttribute(`mask`,`url(#${c})`);let u=l.cloneNode();return i.append(u),l.classList.add(`mainOutline`),u.classList.add(`secondaryOutline`),this.updateProperties(i,t),this.#t.set(r,i),r}finalizeDraw(e,t){this.#o.delete(e),this.updateProperties(e,t)}updateProperties(t,n){if(!n)return;let{root:r,bbox:i,rootClass:a,path:o}=n,s=typeof t==`number`?this.#t.get(t):t;if(s){if(r&&this.#x(s,r),i&&e.#v(s,i),a){let{classList:e}=s;for(let[t,n]of Object.entries(a))e.toggle(t,n)}if(o){let e=s.firstElementChild.firstElementChild;this.#x(e,o)}}}updateParent(e,t){if(t===this)return;let n=this.#t.get(e);n&&(t.#e.append(n),this.#t.delete(e),t.#t.set(e,n))}remove(e){this.#o.delete(e),this.#e!==null&&(this.#t.get(e).remove(),this.#t.delete(e))}destroy(){this.#e=null;for(let e of this.#t.values())e.remove();this.#t.clear(),this.#o.clear(),this.#a?.disconnect(),this.#a=null,this.#n&&=(e.#p.get(this.#n)?.drawLayer===this&&(e.#m(this.#n),e.#p.delete(this.#n),e.#f.delete(this.#n),e.#f.size===0&&(e.#l?.abort(),e.#l=null,e.#d=!1)),null)}};function ta(e){return`${(e*100).toFixed(2)}%`}var na=class e{#e=[];#t=new Map;#n=null;#r=0;#i=0;#a=0;static#o=null;constructor(e,t,n,r){this.#r=e,this.#e=t,this.#i=n.rawDims.pageWidth,this.#a=n.rawDims.pageHeight,this.#n=r}render(){let t=document.createElement(`div`);t.className=`textLayerImages`;for(let e=0;e{if(!(t.target instanceof HTMLCanvasElement))return;let n=t.target,r=this.#t.get(n);if(!r)return;let i=e.#o?.deref();if(i===n)return;i&&(i.width=0,i.height=0),e.#o=new WeakRef(n);let{inverseTransform:a,x1:o,y1:s,width:c,height:l}=r,u=this.#n(),d=Math.ceil(o*u.width),f=Math.ceil(s*u.height),p=Math.floor((o+c/this.#i)*u.width),m=Math.floor((s+l/this.#a)*u.height);n.width=p-d,n.height=m-f;let h=n.getContext(`2d`);h.setTransform(...a),h.translate(-d,-f),h.drawImage(u,0,0)}),t}#s([e,t,n,r,i,a]){let o=Math.hypot((i-e)*this.#i,(a-t)*this.#a),s=Math.hypot((n-e)*this.#i,(r-t)*this.#a);if(o{throw TypeError(e)};var ue=(e,t,s)=>t.has(e)||je("Cannot "+s);var i=(e,t,s)=>(ue(e,t,"read from private field"),s?s.call(e):t.get(e)),l=(e,t,s)=>t.has(e)?je("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),c=(e,t,s,r)=>(ue(e,t,"write to private field"),r?r.call(e,s):t.set(e,s),s),y=(e,t,s)=>(ue(e,t,"access private method"),s);var Zt=(e,t,s,r)=>({set _(n){c(e,t,n,s)},get _(){return i(e,t,r)}});var Ar=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Is(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var as={exports:{}},oe={},os={exports:{}},m={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Wt=Symbol.for("react.element"),Ts=Symbol.for("react.portal"),xs=Symbol.for("react.fragment"),Qs=Symbol.for("react.strict_mode"),Ds=Symbol.for("react.profiler"),js=Symbol.for("react.provider"),As=Symbol.for("react.context"),ks=Symbol.for("react.forward_ref"),Us=Symbol.for("react.suspense"),qs=Symbol.for("react.memo"),Ls=Symbol.for("react.lazy"),Ae=Symbol.iterator;function Ks(e){return e===null||typeof e!="object"?null:(e=Ae&&e[Ae]||e["@@iterator"],typeof e=="function"?e:null)}var us={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},cs=Object.assign,hs={};function qt(e,t,s){this.props=e,this.context=t,this.refs=hs,this.updater=s||us}qt.prototype.isReactComponent={};qt.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};qt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ls(){}ls.prototype=qt.prototype;function Pe(e,t,s){this.props=e,this.context=t,this.refs=hs,this.updater=s||us}var Ee=Pe.prototype=new ls;Ee.constructor=Pe;cs(Ee,qt.prototype);Ee.isPureReactComponent=!0;var ke=Array.isArray,fs=Object.prototype.hasOwnProperty,Fe={current:null},ds={key:!0,ref:!0,__self:!0,__source:!0};function ps(e,t,s){var r,n={},a=null,u=null;if(t!=null)for(r in t.ref!==void 0&&(u=t.ref),t.key!==void 0&&(a=""+t.key),t)fs.call(t,r)&&!ds.hasOwnProperty(r)&&(n[r]=t[r]);var o=arguments.length-2;if(o===1)n.children=s;else if(1{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},vt,nt,Et,We,Zs=(We=class extends Lt{constructor(){super();l(this,vt);l(this,nt);l(this,Et);c(this,Et,t=>{if(typeof window<"u"&&window.addEventListener){const s=()=>t();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){i(this,nt)||this.setEventListener(i(this,Et))}onUnsubscribe(){var t;this.hasListeners()||((t=i(this,nt))==null||t.call(this),c(this,nt,void 0))}setEventListener(t){var s;c(this,Et,t),(s=i(this,nt))==null||s.call(this),c(this,nt,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){i(this,vt)!==t&&(c(this,vt,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(s=>{s(t)})}isFocused(){var t;return typeof i(this,vt)=="boolean"?i(this,vt):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},vt=new WeakMap,nt=new WeakMap,Et=new WeakMap,We),Me=new Zs,tr={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},at,Re,Je,er=(Je=class{constructor(){l(this,at,tr);l(this,Re,!1)}setTimeoutProvider(e){c(this,at,e)}setTimeout(e,t){return i(this,at).setTimeout(e,t)}clearTimeout(e){i(this,at).clearTimeout(e)}setInterval(e,t){return i(this,at).setInterval(e,t)}clearInterval(e){i(this,at).clearInterval(e)}},at=new WeakMap,Re=new WeakMap,Je),yt=new er;function sr(e){setTimeout(e,0)}var rr=typeof window>"u"||"Deno"in globalThis;function U(){}function ir(e,t){return typeof e=="function"?e(t):e}function he(e){return typeof e=="number"&&e>=0&&e!==1/0}function ms(e,t){return Math.max(e+(t||0)-Date.now(),0)}function pt(e,t){return typeof e=="function"?e(t):e}function H(e,t){return typeof e=="function"?e(t):e}function qe(e,t){const{type:s="all",exact:r,fetchStatus:n,predicate:a,queryKey:u,stale:o}=e;if(u){if(r){if(t.queryHash!==Ie(u,t.options))return!1}else if(!$t(t.queryKey,u))return!1}if(s!=="all"){const h=t.isActive();if(s==="active"&&!h||s==="inactive"&&h)return!1}return!(typeof o=="boolean"&&t.isStale()!==o||n&&n!==t.state.fetchStatus||a&&!a(t))}function Le(e,t){const{exact:s,status:r,predicate:n,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(s){if(Pt(t.options.mutationKey)!==Pt(a))return!1}else if(!$t(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||n&&!n(t))}function Ie(e,t){return((t==null?void 0:t.queryKeyHashFn)||Pt)(e)}function Pt(e){return JSON.stringify(e,(t,s)=>le(s)?Object.keys(s).sort().reduce((r,n)=>(r[n]=s[n],r),{}):s)}function $t(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(s=>$t(e[s],t[s])):!1}var nr=Object.prototype.hasOwnProperty;function bs(e,t,s=0){if(e===t)return e;if(s>500)return t;const r=Ke(e)&&Ke(t);if(!r&&!(le(e)&&le(t)))return t;const a=(r?e:Object.keys(e)).length,u=r?t:Object.keys(t),o=u.length,h=r?new Array(o):{};let b=0;for(let v=0;v{yt.setTimeout(t,e)})}function fe(e,t,s){return typeof s.structuralSharing=="function"?s.structuralSharing(e,t):s.structuralSharing!==!1?bs(e,t):t}function or(e,t,s=0){const r=[...e,t];return s&&r.length>s?r.slice(1):r}function ur(e,t,s=0){const r=[t,...e];return s&&r.length>s?r.slice(0,-1):r}var Te=Symbol();function gs(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Te?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function xe(e,t){return typeof e=="function"?e(...t):!!e}function cr(e,t,s){let r=!1,n;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(n??(n=t()),r||(r=!0,n.aborted?s():n.addEventListener("abort",s,{once:!0})),n)}),e}var Nt=(()=>{let e=()=>rr;return{isServer(){return e()},setIsServer(t){e=t}}})();function de(){let e,t;const s=new Promise((n,a)=>{e=n,t=a});s.status="pending",s.catch(()=>{});function r(n){Object.assign(s,n),delete s.resolve,delete s.reject}return s.resolve=n=>{r({status:"fulfilled",value:n}),e(n)},s.reject=n=>{r({status:"rejected",reason:n}),t(n)},s}var hr=sr;function lr(){let e=[],t=0,s=o=>{o()},r=o=>{o()},n=hr;const a=o=>{t?e.push(o):n(()=>{s(o)})},u=()=>{const o=e;e=[],o.length&&n(()=>{r(()=>{o.forEach(h=>{s(h)})})})};return{batch:o=>{let h;t++;try{h=o()}finally{t--,t||u()}return h},batchCalls:o=>(...h)=>{a(()=>{o(...h)})},schedule:a,setNotifyFunction:o=>{s=o},setBatchNotifyFunction:o=>{r=o},setScheduler:o=>{n=o}}}var I=lr(),Ft,ot,_t,Ye,fr=(Ye=class extends Lt{constructor(){super();l(this,Ft,!0);l(this,ot);l(this,_t);c(this,_t,t=>{if(typeof window<"u"&&window.addEventListener){const s=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",r)}}})}onSubscribe(){i(this,ot)||this.setEventListener(i(this,_t))}onUnsubscribe(){var t;this.hasListeners()||((t=i(this,ot))==null||t.call(this),c(this,ot,void 0))}setEventListener(t){var s;c(this,_t,t),(s=i(this,ot))==null||s.call(this),c(this,ot,t(this.setOnline.bind(this)))}setOnline(t){i(this,Ft)!==t&&(c(this,Ft,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return i(this,Ft)}},Ft=new WeakMap,ot=new WeakMap,_t=new WeakMap,Ye),ae=new fr;function dr(e){return Math.min(1e3*2**e,3e4)}function Ss(e){return(e??"online")==="online"?ae.isOnline():!0}var pe=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function ws(e){let t=!1,s=0,r;const n=de(),a=()=>n.status!=="pending",u=S=>{var O;if(!a()){const R=new pe(S);w(R),(O=e.onCancel)==null||O.call(e,R)}},o=()=>{t=!0},h=()=>{t=!1},b=()=>Me.isFocused()&&(e.networkMode==="always"||ae.isOnline())&&e.canRun(),v=()=>Ss(e.networkMode)&&e.canRun(),d=S=>{a()||(r==null||r(),n.resolve(S))},w=S=>{a()||(r==null||r(),n.reject(S))},p=()=>new Promise(S=>{var O;r=R=>{(a()||b())&&S(R)},(O=e.onPause)==null||O.call(e)}).then(()=>{var S;r=void 0,a()||(S=e.onContinue)==null||S.call(e)}),_=()=>{if(a())return;let S;const O=s===0?e.initialPromise:void 0;try{S=O??e.fn()}catch(R){S=Promise.reject(R)}Promise.resolve(S).then(d).catch(R=>{var L;if(a())return;const M=e.retry??(Nt.isServer()?0:3),E=e.retryDelay??dr,f=typeof E=="function"?E(s,R):E,x=M===!0||typeof M=="number"&&sb()?void 0:p()).then(()=>{t?w(R):_()})})};return{promise:n,status:()=>n.status,cancel:u,continue:()=>(r==null||r(),n),cancelRetry:o,continueRetry:h,canStart:v,start:()=>(v()?_():p().then(_),n)}}var mt,Xe,Cs=(Xe=class{constructor(){l(this,mt)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),he(this.gcTime)&&c(this,mt,yt.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Nt.isServer()?1/0:5*60*1e3))}clearGcTimeout(){i(this,mt)!==void 0&&(yt.clearTimeout(i(this,mt)),c(this,mt,void 0))}},mt=new WeakMap,Xe);function pr(e){return{onFetch:(t,s)=>{var v,d,w,p,_;const r=t.options,n=(w=(d=(v=t.fetchOptions)==null?void 0:v.meta)==null?void 0:d.fetchMore)==null?void 0:w.direction,a=((p=t.state.data)==null?void 0:p.pages)||[],u=((_=t.state.data)==null?void 0:_.pageParams)||[];let o={pages:[],pageParams:[]},h=0;const b=async()=>{let S=!1;const O=E=>{cr(E,()=>t.signal,()=>S=!0)},R=gs(t.options,t.fetchOptions),M=async(E,f,x)=>{if(S)return Promise.reject(t.signal.reason);if(f==null&&E.pages.length)return Promise.resolve(E);const st=(()=>{const rt={client:t.client,queryKey:t.queryKey,pageParam:f,direction:x?"backward":"forward",meta:t.options.meta};return O(rt),rt})(),P=await R(st),{maxPages:Q}=t.options,A=x?ur:or;return{pages:A(E.pages,P,Q),pageParams:A(E.pageParams,f,Q)}};if(n&&a.length){const E=n==="backward",f=E?yr:Ne,x={pages:a,pageParams:u},L=f(r,x);o=await M(x,L,E)}else{const E=e??a.length;do{const f=h===0?u[0]??r.initialPageParam:Ne(r,o);if(h>0&&f==null)break;o=await M(o,f),h++}while(h{var S,O;return(O=(S=t.options).persister)==null?void 0:O.call(S,b,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},s)}:t.fetchFn=b}}}function Ne(e,{pages:t,pageParams:s}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,s[r],s):void 0}function yr(e,{pages:t,pageParams:s}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,s[0],s):void 0}var Mt,bt,It,B,gt,D,Ht,St,N,Os,J,Ze,vr=(Ze=class extends Cs{constructor(t){super();l(this,N);l(this,Mt);l(this,bt);l(this,It);l(this,B);l(this,gt);l(this,D);l(this,Ht);l(this,St);c(this,St,!1),c(this,Ht,t.defaultOptions),this.setOptions(t.options),this.observers=[],c(this,gt,t.client),c(this,B,i(this,gt).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,c(this,bt,Be(this.options)),this.state=t.state??i(this,bt),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return i(this,Mt)}get promise(){var t;return(t=i(this,D))==null?void 0:t.promise}setOptions(t){if(this.options={...i(this,Ht),...t},t!=null&&t._type&&c(this,Mt,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const s=Be(this.options);s.data!==void 0&&(this.setState(He(s.data,s.dataUpdatedAt)),c(this,bt,s))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&i(this,B).remove(this)}setData(t,s){const r=fe(this.state.data,t,this.options);return y(this,N,J).call(this,{data:r,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),r}setState(t){y(this,N,J).call(this,{type:"setState",state:t})}cancel(t){var r,n;const s=(r=i(this,D))==null?void 0:r.promise;return(n=i(this,D))==null||n.cancel(t),s?s.then(U).catch(U):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return i(this,bt)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>H(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Te||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>pt(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!ms(this.state.dataUpdatedAt,t)}onFocus(){var s;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(s=i(this,D))==null||s.continue()}onOnline(){var s;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(s=i(this,D))==null||s.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),i(this,B).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(s=>s!==t),this.observers.length||(i(this,D)&&(i(this,St)||y(this,N,Os).call(this)?i(this,D).cancel({revert:!0}):i(this,D).cancelRetry()),this.scheduleGc()),i(this,B).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||y(this,N,J).call(this,{type:"invalidate"})}async fetch(t,s){var b,v,d,w,p,_,S,O,R,M,E;if(this.state.fetchStatus!=="idle"&&((b=i(this,D))==null?void 0:b.status())!=="rejected"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(i(this,D))return i(this,D).continueRetry(),i(this,D).promise}if(t&&this.setOptions(t),!this.options.queryFn){const f=this.observers.find(x=>x.options.queryFn);f&&this.setOptions(f.options)}const r=new AbortController,n=f=>{Object.defineProperty(f,"signal",{enumerable:!0,get:()=>(c(this,St,!0),r.signal)})},a=()=>{const f=gs(this.options,s),L=(()=>{const st={client:i(this,gt),queryKey:this.queryKey,meta:this.meta};return n(st),st})();return c(this,St,!1),this.options.persister?this.options.persister(f,L,this):f(L)},o=(()=>{const f={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:i(this,gt),state:this.state,fetchFn:a};return n(f),f})(),h=i(this,Mt)==="infinite"?pr(this.options.pages):this.options.behavior;h==null||h.onFetch(o,this),c(this,It,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((v=o.fetchOptions)==null?void 0:v.meta))&&y(this,N,J).call(this,{type:"fetch",meta:(d=o.fetchOptions)==null?void 0:d.meta}),c(this,D,ws({initialPromise:s==null?void 0:s.initialPromise,fn:o.fetchFn,onCancel:f=>{f instanceof pe&&f.revert&&this.setState({...i(this,It),fetchStatus:"idle"}),r.abort()},onFail:(f,x)=>{y(this,N,J).call(this,{type:"failed",failureCount:f,error:x})},onPause:()=>{y(this,N,J).call(this,{type:"pause"})},onContinue:()=>{y(this,N,J).call(this,{type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}));try{const f=await i(this,D).start();if(f===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(f),(p=(w=i(this,B).config).onSuccess)==null||p.call(w,f,this),(S=(_=i(this,B).config).onSettled)==null||S.call(_,f,this.state.error,this),f}catch(f){if(f instanceof pe){if(f.silent)return i(this,D).promise;if(f.revert){if(this.state.data===void 0)throw f;return this.state.data}}throw y(this,N,J).call(this,{type:"error",error:f}),(R=(O=i(this,B).config).onError)==null||R.call(O,f,this),(E=(M=i(this,B).config).onSettled)==null||E.call(M,this.state.data,f,this),f}finally{this.scheduleGc()}}},Mt=new WeakMap,bt=new WeakMap,It=new WeakMap,B=new WeakMap,gt=new WeakMap,D=new WeakMap,Ht=new WeakMap,St=new WeakMap,N=new WeakSet,Os=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},J=function(t){const s=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Rs(r.data,this.options),fetchMeta:t.meta??null};case"success":const n={...r,...He(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return c(this,It,t.manual?n:void 0),n;case"error":const a=t.error;return{...r,error:a,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:a,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=s(this.state),I.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),i(this,B).notify({query:this,type:"updated",action:t})})},Ze);function Rs(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ss(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function He(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Be(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,s=t!==void 0,r=s?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:s?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var K,g,Bt,k,wt,Tt,Y,ut,Gt,xt,Qt,Ct,Ot,ct,Dt,C,Kt,ye,ve,me,be,ge,Se,we,Ps,ts,mr=(ts=class extends Lt{constructor(t,s){super();l(this,C);l(this,K);l(this,g);l(this,Bt);l(this,k);l(this,wt);l(this,Tt);l(this,Y);l(this,ut);l(this,Gt);l(this,xt);l(this,Qt);l(this,Ct);l(this,Ot);l(this,ct);l(this,Dt,new Set);this.options=s,c(this,K,t),c(this,ut,null),c(this,Y,de()),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(i(this,g).addObserver(this),Ge(i(this,g),this.options)?y(this,C,Kt).call(this):this.updateResult(),y(this,C,be).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ce(i(this,g),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ce(i(this,g),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,y(this,C,ge).call(this),y(this,C,Se).call(this),i(this,g).removeObserver(this)}setOptions(t){const s=this.options,r=i(this,g);if(this.options=i(this,K).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof H(this.options.enabled,i(this,g))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");y(this,C,we).call(this),i(this,g).setOptions(this.options),s._defaulted&&!ne(this.options,s)&&i(this,K).getQueryCache().notify({type:"observerOptionsUpdated",query:i(this,g),observer:this});const n=this.hasListeners();n&&Ve(i(this,g),r,this.options,s)&&y(this,C,Kt).call(this),this.updateResult(),n&&(i(this,g)!==r||H(this.options.enabled,i(this,g))!==H(s.enabled,i(this,g))||pt(this.options.staleTime,i(this,g))!==pt(s.staleTime,i(this,g)))&&y(this,C,ye).call(this);const a=y(this,C,ve).call(this);n&&(i(this,g)!==r||H(this.options.enabled,i(this,g))!==H(s.enabled,i(this,g))||a!==i(this,ct))&&y(this,C,me).call(this,a)}getOptimisticResult(t){const s=i(this,K).getQueryCache().build(i(this,K),t),r=this.createResult(s,t);return gr(this,r)&&(c(this,k,r),c(this,Tt,this.options),c(this,wt,i(this,g).state)),r}getCurrentResult(){return i(this,k)}trackResult(t,s){return new Proxy(t,{get:(r,n)=>(this.trackProp(n),s==null||s(n),n==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&i(this,Y).status==="pending"&&i(this,Y).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,n))})}trackProp(t){i(this,Dt).add(t)}getCurrentQuery(){return i(this,g)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const s=i(this,K).defaultQueryOptions(t),r=i(this,K).getQueryCache().build(i(this,K),s);return r.fetch().then(()=>this.createResult(r,s))}fetch(t){return y(this,C,Kt).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),i(this,k)))}createResult(t,s){var Q;const r=i(this,g),n=this.options,a=i(this,k),u=i(this,wt),o=i(this,Tt),b=t!==r?t.state:i(this,Bt),{state:v}=t;let d={...v},w=!1,p;if(s._optimisticResults){const A=this.hasListeners(),rt=!A&&Ge(t,s),Jt=A&&Ve(t,r,s,n);(rt||Jt)&&(d={...d,...Rs(v.data,t.options)}),s._optimisticResults==="isRestoring"&&(d.fetchStatus="idle")}let{error:_,errorUpdatedAt:S,status:O}=d;p=d.data;let R=!1;if(s.placeholderData!==void 0&&p===void 0&&O==="pending"){let A;a!=null&&a.isPlaceholderData&&s.placeholderData===(o==null?void 0:o.placeholderData)?(A=a.data,R=!0):A=typeof s.placeholderData=="function"?s.placeholderData((Q=i(this,Qt))==null?void 0:Q.state.data,i(this,Qt)):s.placeholderData,A!==void 0&&(O="success",p=fe(a==null?void 0:a.data,A,s),w=!0)}if(s.select&&p!==void 0&&!R)if(a&&p===(u==null?void 0:u.data)&&s.select===i(this,Gt))p=i(this,xt);else try{c(this,Gt,s.select),p=s.select(p),p=fe(a==null?void 0:a.data,p,s),c(this,xt,p),c(this,ut,null)}catch(A){c(this,ut,A)}i(this,ut)&&(_=i(this,ut),p=i(this,xt),S=Date.now(),O="error");const M=d.fetchStatus==="fetching",E=O==="pending",f=O==="error",x=E&&M,L=p!==void 0,P={status:O,fetchStatus:d.fetchStatus,isPending:E,isSuccess:O==="success",isError:f,isInitialLoading:x,isLoading:x,data:p,dataUpdatedAt:d.dataUpdatedAt,error:_,errorUpdatedAt:S,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:d.dataUpdateCount>b.dataUpdateCount||d.errorUpdateCount>b.errorUpdateCount,isFetching:M,isRefetching:M&&!E,isLoadingError:f&&!L,isPaused:d.fetchStatus==="paused",isPlaceholderData:w,isRefetchError:f&&L,isStale:Qe(t,s),refetch:this.refetch,promise:i(this,Y),isEnabled:H(s.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const A=P.data!==void 0,rt=P.status==="error"&&!A,Jt=Xt=>{rt?Xt.reject(P.error):A&&Xt.resolve(P.data)},De=()=>{const Xt=c(this,Y,P.promise=de());Jt(Xt)},Yt=i(this,Y);switch(Yt.status){case"pending":t.queryHash===r.queryHash&&Jt(Yt);break;case"fulfilled":(rt||P.data!==Yt.value)&&De();break;case"rejected":(!rt||P.error!==Yt.reason)&&De();break}}return P}updateResult(){const t=i(this,k),s=this.createResult(i(this,g),this.options);if(c(this,wt,i(this,g).state),c(this,Tt,this.options),i(this,wt).data!==void 0&&c(this,Qt,i(this,g)),ne(s,t))return;c(this,k,s);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:n}=this.options,a=typeof n=="function"?n():n;if(a==="all"||!a&&!i(this,Dt).size)return!0;const u=new Set(a??i(this,Dt));return this.options.throwOnError&&u.add("error"),Object.keys(i(this,k)).some(o=>{const h=o;return i(this,k)[h]!==t[h]&&u.has(h)})};y(this,C,Ps).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&y(this,C,be).call(this)}},K=new WeakMap,g=new WeakMap,Bt=new WeakMap,k=new WeakMap,wt=new WeakMap,Tt=new WeakMap,Y=new WeakMap,ut=new WeakMap,Gt=new WeakMap,xt=new WeakMap,Qt=new WeakMap,Ct=new WeakMap,Ot=new WeakMap,ct=new WeakMap,Dt=new WeakMap,C=new WeakSet,Kt=function(t){y(this,C,we).call(this);let s=i(this,g).fetch(this.options,t);return t!=null&&t.throwOnError||(s=s.catch(U)),s},ye=function(){y(this,C,ge).call(this);const t=pt(this.options.staleTime,i(this,g));if(Nt.isServer()||i(this,k).isStale||!he(t))return;const r=ms(i(this,k).dataUpdatedAt,t)+1;c(this,Ct,yt.setTimeout(()=>{i(this,k).isStale||this.updateResult()},r))},ve=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(i(this,g)):this.options.refetchInterval)??!1},me=function(t){y(this,C,Se).call(this),c(this,ct,t),!(Nt.isServer()||H(this.options.enabled,i(this,g))===!1||!he(i(this,ct))||i(this,ct)===0)&&c(this,Ot,yt.setInterval(()=>{(this.options.refetchIntervalInBackground||Me.isFocused())&&y(this,C,Kt).call(this)},i(this,ct)))},be=function(){y(this,C,ye).call(this),y(this,C,me).call(this,y(this,C,ve).call(this))},ge=function(){i(this,Ct)!==void 0&&(yt.clearTimeout(i(this,Ct)),c(this,Ct,void 0))},Se=function(){i(this,Ot)!==void 0&&(yt.clearInterval(i(this,Ot)),c(this,Ot,void 0))},we=function(){const t=i(this,K).getQueryCache().build(i(this,K),this.options);if(t===i(this,g))return;const s=i(this,g);c(this,g,t),c(this,Bt,t.state),this.hasListeners()&&(s==null||s.removeObserver(this),t.addObserver(this))},Ps=function(t){I.batch(()=>{t.listeners&&this.listeners.forEach(s=>{s(i(this,k))}),i(this,K).getQueryCache().notify({query:i(this,g),type:"observerResultsUpdated"})})},ts);function br(e,t){return H(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&H(t.retryOnMount,e)===!1)}function Ge(e,t){return br(e,t)||e.state.data!==void 0&&Ce(e,t,t.refetchOnMount)}function Ce(e,t,s){if(H(t.enabled,e)!==!1&&pt(t.staleTime,e)!=="static"){const r=typeof s=="function"?s(e):s;return r==="always"||r!==!1&&Qe(e,t)}return!1}function Ve(e,t,s,r){return(e!==t||H(r.enabled,e)===!1)&&(!s.suspense||e.state.status!=="error")&&Qe(e,s)}function Qe(e,t){return H(t.enabled,e)!==!1&&e.isStaleByTime(pt(t.staleTime,e))}function gr(e,t){return!ne(e.getCurrentResult(),t)}var Vt,V,j,Rt,z,it,es,Sr=(es=class extends Cs{constructor(t){super();l(this,z);l(this,Vt);l(this,V);l(this,j);l(this,Rt);c(this,Vt,t.client),this.mutationId=t.mutationId,c(this,j,t.mutationCache),c(this,V,[]),this.state=t.state||Es(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){i(this,V).includes(t)||(i(this,V).push(t),this.clearGcTimeout(),i(this,j).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){c(this,V,i(this,V).filter(s=>s!==t)),this.scheduleGc(),i(this,j).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){i(this,V).length||(this.state.status==="pending"?this.scheduleGc():i(this,j).remove(this))}continue(){var t;return((t=i(this,Rt))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var u,o,h,b,v,d,w,p,_,S,O,R,M,E,f,x,L,st;const s=()=>{y(this,z,it).call(this,{type:"continue"})},r={client:i(this,Vt),meta:this.options.meta,mutationKey:this.options.mutationKey};c(this,Rt,ws({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(P,Q)=>{y(this,z,it).call(this,{type:"failed",failureCount:P,error:Q})},onPause:()=>{y(this,z,it).call(this,{type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>i(this,j).canRun(this)}));const n=this.state.status==="pending",a=!i(this,Rt).canStart();try{if(n)s();else{y(this,z,it).call(this,{type:"pending",variables:t,isPaused:a}),i(this,j).config.onMutate&&await i(this,j).config.onMutate(t,this,r);const Q=await((o=(u=this.options).onMutate)==null?void 0:o.call(u,t,r));Q!==this.state.context&&y(this,z,it).call(this,{type:"pending",context:Q,variables:t,isPaused:a})}const P=await i(this,Rt).start();return await((b=(h=i(this,j).config).onSuccess)==null?void 0:b.call(h,P,t,this.state.context,this,r)),await((d=(v=this.options).onSuccess)==null?void 0:d.call(v,P,t,this.state.context,r)),await((p=(w=i(this,j).config).onSettled)==null?void 0:p.call(w,P,null,this.state.variables,this.state.context,this,r)),await((S=(_=this.options).onSettled)==null?void 0:S.call(_,P,null,t,this.state.context,r)),y(this,z,it).call(this,{type:"success",data:P}),P}catch(P){try{await((R=(O=i(this,j).config).onError)==null?void 0:R.call(O,P,t,this.state.context,this,r))}catch(Q){Promise.reject(Q)}try{await((E=(M=this.options).onError)==null?void 0:E.call(M,P,t,this.state.context,r))}catch(Q){Promise.reject(Q)}try{await((x=(f=i(this,j).config).onSettled)==null?void 0:x.call(f,void 0,P,this.state.variables,this.state.context,this,r))}catch(Q){Promise.reject(Q)}try{await((st=(L=this.options).onSettled)==null?void 0:st.call(L,void 0,P,t,this.state.context,r))}catch(Q){Promise.reject(Q)}throw y(this,z,it).call(this,{type:"error",error:P}),P}finally{i(this,j).runNext(this)}}},Vt=new WeakMap,V=new WeakMap,j=new WeakMap,Rt=new WeakMap,z=new WeakSet,it=function(t){const s=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=s(this.state),I.batch(()=>{i(this,V).forEach(r=>{r.onMutationUpdate(t)}),i(this,j).notify({mutation:this,type:"updated",action:t})})},es);function Es(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var X,G,zt,ss,wr=(ss=class extends Lt{constructor(t={}){super();l(this,X);l(this,G);l(this,zt);this.config=t,c(this,X,new Set),c(this,G,new Map),c(this,zt,0)}build(t,s,r){const n=new Sr({client:t,mutationCache:this,mutationId:++Zt(this,zt)._,options:t.defaultMutationOptions(s),state:r});return this.add(n),n}add(t){i(this,X).add(t);const s=ee(t);if(typeof s=="string"){const r=i(this,G).get(s);r?r.push(t):i(this,G).set(s,[t])}this.notify({type:"added",mutation:t})}remove(t){if(i(this,X).delete(t)){const s=ee(t);if(typeof s=="string"){const r=i(this,G).get(s);if(r)if(r.length>1){const n=r.indexOf(t);n!==-1&&r.splice(n,1)}else r[0]===t&&i(this,G).delete(s)}}this.notify({type:"removed",mutation:t})}canRun(t){const s=ee(t);if(typeof s=="string"){const r=i(this,G).get(s),n=r==null?void 0:r.find(a=>a.state.status==="pending");return!n||n===t}else return!0}runNext(t){var r;const s=ee(t);if(typeof s=="string"){const n=(r=i(this,G).get(s))==null?void 0:r.find(a=>a!==t&&a.state.isPaused);return(n==null?void 0:n.continue())??Promise.resolve()}else return Promise.resolve()}clear(){I.batch(()=>{i(this,X).forEach(t=>{this.notify({type:"removed",mutation:t})}),i(this,X).clear(),i(this,G).clear()})}getAll(){return Array.from(i(this,X))}find(t){const s={exact:!0,...t};return this.getAll().find(r=>Le(s,r))}findAll(t={}){return this.getAll().filter(s=>Le(t,s))}notify(t){I.batch(()=>{this.listeners.forEach(s=>{s(t)})})}resumePausedMutations(){const t=this.getAll().filter(s=>s.state.isPaused);return I.batch(()=>Promise.all(t.map(s=>s.continue().catch(U))))}},X=new WeakMap,G=new WeakMap,zt=new WeakMap,ss);function ee(e){var t;return(t=e.options.scope)==null?void 0:t.id}var Z,ht,$,tt,et,ie,Oe,rs,Cr=(rs=class extends Lt{constructor(t,s){super();l(this,et);l(this,Z);l(this,ht);l(this,$);l(this,tt);c(this,Z,t),this.setOptions(s),this.bindMethods(),y(this,et,ie).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){var r;const s=this.options;this.options=i(this,Z).defaultMutationOptions(t),ne(this.options,s)||i(this,Z).getMutationCache().notify({type:"observerOptionsUpdated",mutation:i(this,$),observer:this}),s!=null&&s.mutationKey&&this.options.mutationKey&&Pt(s.mutationKey)!==Pt(this.options.mutationKey)?this.reset():((r=i(this,$))==null?void 0:r.state.status)==="pending"&&i(this,$).setOptions(this.options)}onUnsubscribe(){var t;this.hasListeners()||(t=i(this,$))==null||t.removeObserver(this)}onMutationUpdate(t){y(this,et,ie).call(this),y(this,et,Oe).call(this,t)}getCurrentResult(){return i(this,ht)}reset(){var t;(t=i(this,$))==null||t.removeObserver(this),c(this,$,void 0),y(this,et,ie).call(this),y(this,et,Oe).call(this)}mutate(t,s){var r;return c(this,tt,s),(r=i(this,$))==null||r.removeObserver(this),c(this,$,i(this,Z).getMutationCache().build(i(this,Z),this.options)),i(this,$).addObserver(this),i(this,$).execute(t)}},Z=new WeakMap,ht=new WeakMap,$=new WeakMap,tt=new WeakMap,et=new WeakSet,ie=function(){var s;const t=((s=i(this,$))==null?void 0:s.state)??Es();c(this,ht,{...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset})},Oe=function(t){I.batch(()=>{var s,r,n,a,u,o,h,b;if(i(this,tt)&&this.hasListeners()){const v=i(this,ht).variables,d=i(this,ht).context,w={client:i(this,Z),meta:this.options.meta,mutationKey:this.options.mutationKey};if((t==null?void 0:t.type)==="success"){try{(r=(s=i(this,tt)).onSuccess)==null||r.call(s,t.data,v,d,w)}catch(p){Promise.reject(p)}try{(a=(n=i(this,tt)).onSettled)==null||a.call(n,t.data,null,v,d,w)}catch(p){Promise.reject(p)}}else if((t==null?void 0:t.type)==="error"){try{(o=(u=i(this,tt)).onError)==null||o.call(u,t.error,v,d,w)}catch(p){Promise.reject(p)}try{(b=(h=i(this,tt)).onSettled)==null||b.call(h,void 0,t.error,v,d,w)}catch(p){Promise.reject(p)}}}this.listeners.forEach(v=>{v(i(this,ht))})})},rs),W,is,Or=(is=class extends Lt{constructor(t={}){super();l(this,W);this.config=t,c(this,W,new Map)}build(t,s,r){const n=s.queryKey,a=s.queryHash??Ie(n,s);let u=this.get(a);return u||(u=new vr({client:t,queryKey:n,queryHash:a,options:t.defaultQueryOptions(s),state:r,defaultOptions:t.getQueryDefaults(n)}),this.add(u)),u}add(t){i(this,W).has(t.queryHash)||(i(this,W).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const s=i(this,W).get(t.queryHash);s&&(t.destroy(),s===t&&i(this,W).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){I.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return i(this,W).get(t)}getAll(){return[...i(this,W).values()]}find(t){const s={exact:!0,...t};return this.getAll().find(r=>qe(s,r))}findAll(t={}){const s=this.getAll();return Object.keys(t).length>0?s.filter(r=>qe(t,r)):s}notify(t){I.batch(()=>{this.listeners.forEach(s=>{s(t)})})}onFocus(){I.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){I.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},W=new WeakMap,is),F,lt,ft,jt,At,dt,kt,Ut,ns,Ur=(ns=class{constructor(e={}){l(this,F);l(this,lt);l(this,ft);l(this,jt);l(this,At);l(this,dt);l(this,kt);l(this,Ut);c(this,F,e.queryCache||new Or),c(this,lt,e.mutationCache||new wr),c(this,ft,e.defaultOptions||{}),c(this,jt,new Map),c(this,At,new Map),c(this,dt,0)}mount(){Zt(this,dt)._++,i(this,dt)===1&&(c(this,kt,Me.subscribe(async e=>{e&&(await this.resumePausedMutations(),i(this,F).onFocus())})),c(this,Ut,ae.subscribe(async e=>{e&&(await this.resumePausedMutations(),i(this,F).onOnline())})))}unmount(){var e,t;Zt(this,dt)._--,i(this,dt)===0&&((e=i(this,kt))==null||e.call(this),c(this,kt,void 0),(t=i(this,Ut))==null||t.call(this),c(this,Ut,void 0))}isFetching(e){return i(this,F).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return i(this,lt).findAll({...e,status:"pending"}).length}getQueryData(e){var s;const t=this.defaultQueryOptions({queryKey:e});return(s=i(this,F).get(t.queryHash))==null?void 0:s.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),s=i(this,F).build(this,t),r=s.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&s.isStaleByTime(pt(t.staleTime,s))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return i(this,F).findAll(e).map(({queryKey:t,state:s})=>{const r=s.data;return[t,r]})}setQueryData(e,t,s){const r=this.defaultQueryOptions({queryKey:e}),n=i(this,F).get(r.queryHash),a=n==null?void 0:n.state.data,u=ir(t,a);if(u!==void 0)return i(this,F).build(this,r).setData(u,{...s,manual:!0})}setQueriesData(e,t,s){return I.batch(()=>i(this,F).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,s)]))}getQueryState(e){var s;const t=this.defaultQueryOptions({queryKey:e});return(s=i(this,F).get(t.queryHash))==null?void 0:s.state}removeQueries(e){const t=i(this,F);I.batch(()=>{t.findAll(e).forEach(s=>{t.remove(s)})})}resetQueries(e,t){const s=i(this,F);return I.batch(()=>(s.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const s={revert:!0,...t},r=I.batch(()=>i(this,F).findAll(e).map(n=>n.cancel(s)));return Promise.all(r).then(U).catch(U)}invalidateQueries(e,t={}){return I.batch(()=>(i(this,F).findAll(e).forEach(s=>{s.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const s={...t,cancelRefetch:t.cancelRefetch??!0},r=I.batch(()=>i(this,F).findAll(e).filter(n=>!n.isDisabled()&&!n.isStatic()).map(n=>{let a=n.fetch(void 0,s);return s.throwOnError||(a=a.catch(U)),n.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(r).then(U)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const s=i(this,F).build(this,t);return s.isStaleByTime(pt(t.staleTime,s))?s.fetch(t):Promise.resolve(s.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(U).catch(U)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(U).catch(U)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return ae.isOnline()?i(this,lt).resumePausedMutations():Promise.resolve()}getQueryCache(){return i(this,F)}getMutationCache(){return i(this,lt)}getDefaultOptions(){return i(this,ft)}setDefaultOptions(e){c(this,ft,e)}setQueryDefaults(e,t){i(this,jt).set(Pt(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...i(this,jt).values()],s={};return t.forEach(r=>{$t(e,r.queryKey)&&Object.assign(s,r.defaultOptions)}),s}setMutationDefaults(e,t){i(this,At).set(Pt(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...i(this,At).values()],s={};return t.forEach(r=>{$t(e,r.mutationKey)&&Object.assign(s,r.defaultOptions)}),s}defaultQueryOptions(e){if(e._defaulted)return e;const t={...i(this,ft).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Ie(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Te&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...i(this,ft).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){i(this,F).clear(),i(this,lt).clear()}},F=new WeakMap,lt=new WeakMap,ft=new WeakMap,jt=new WeakMap,At=new WeakMap,dt=new WeakMap,kt=new WeakMap,Ut=new WeakMap,ns),Fs=T.createContext(void 0),_s=e=>{const t=T.useContext(Fs);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},qr=({client:e,children:t})=>(T.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),Xs.jsx(Fs.Provider,{value:e,children:t})),Ms=T.createContext(!1),Rr=()=>T.useContext(Ms);Ms.Provider;function Pr(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Er=T.createContext(Pr()),Fr=()=>T.useContext(Er),_r=(e,t,s)=>{const r=s!=null&&s.state.error&&typeof e.throwOnError=="function"?xe(e.throwOnError,[s.state.error,s]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Mr=e=>{T.useEffect(()=>{e.clearReset()},[e])},Ir=({result:e,errorResetBoundary:t,throwOnError:s,query:r,suspense:n})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(n&&e.data===void 0||xe(s,[e.error,r])),Tr=e=>{if(e.suspense){const s=n=>n==="static"?n:Math.max(n??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...n)=>s(r(...n)):s(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},xr=(e,t)=>e.isLoading&&e.isFetching&&!t,Qr=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,ze=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function Dr(e,t,s){var p,_,S,O;const r=Rr(),n=Fr(),a=_s(),u=a.defaultQueryOptions(e);(_=(p=a.getDefaultOptions().queries)==null?void 0:p._experimental_beforeQuery)==null||_.call(p,u);const o=a.getQueryCache().get(u.queryHash),h=e.subscribed!==!1;u._optimisticResults=r?"isRestoring":h?"optimistic":void 0,Tr(u),_r(u,n,o),Mr(n);const b=!a.getQueryCache().get(u.queryHash),[v]=T.useState(()=>new t(a,u)),d=v.getOptimisticResult(u),w=!r&&h;if(T.useSyncExternalStore(T.useCallback(R=>{const M=w?v.subscribe(I.batchCalls(R)):U;return v.updateResult(),M},[v,w]),()=>v.getCurrentResult(),()=>v.getCurrentResult()),T.useEffect(()=>{v.setOptions(u)},[u,v]),Qr(u,d))throw ze(u,v,n);if(Ir({result:d,errorResetBoundary:n,throwOnError:u.throwOnError,query:o,suspense:u.suspense}))throw d.error;if((O=(S=a.getDefaultOptions().queries)==null?void 0:S._experimental_afterQuery)==null||O.call(S,u,d),u.experimental_prefetchInRender&&!Nt.isServer()&&xr(d,r)){const R=b?ze(u,v,n):o==null?void 0:o.promise;R==null||R.catch(U).finally(()=>{v.updateResult()})}return u.notifyOnChangeProps?d:v.trackResult(d)}function Lr(e,t){return Dr(e,mr)}function Kr(e,t){const s=_s(),[r]=T.useState(()=>new Cr(s,e));T.useEffect(()=>{r.setOptions(e)},[r,e]);const n=T.useSyncExternalStore(T.useCallback(u=>r.subscribe(I.batchCalls(u)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=T.useCallback((u,o)=>{r.mutate(u,o).catch(U)},[r]);if(n.error&&xe(r.options.throwOnError,[n.error]))throw n.error;return{...n,mutate:a,mutateAsync:n.mutate}}export{Ur as Q,kr as R,_s as a,Kr as b,Ar as c,qr as d,Is as g,Xs as j,T as r,Lr as u}; diff --git a/frontend/web/dist/assets/query-DOc9YWJi.js b/frontend/web/dist/assets/query-DOc9YWJi.js new file mode 100644 index 000000000..ffdfbb72d --- /dev/null +++ b/frontend/web/dist/assets/query-DOc9YWJi.js @@ -0,0 +1 @@ +import{r as e}from"./rolldown-runtime-hePW80VL.js";import{D as t,E as n}from"./icons-BgG77X6K.js";var r=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},i=new class extends r{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},a={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},o=new class{#e=a;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function s(e){setTimeout(e,0)}var c=typeof window>`u`||`Deno`in globalThis;function l(){}function u(e,t){return typeof e==`function`?e(t):e}function d(e){return typeof e==`number`&&e>=0&&e!==1/0}function f(e,t){return Math.max(e+(t||0)-Date.now(),0)}function p(e,t){return typeof e==`function`?e(t):e}function m(e,t){return typeof e==`function`?e(t):e}function h(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==_(o,t.options))return!1}else if(!y(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function g(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(v(t.options.mutationKey)!==v(a))return!1}else if(!y(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function _(e,t){return(t?.queryKeyHashFn||v)(e)}function v(e){return JSON.stringify(e,(e,t)=>w(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function y(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){for(let n=0;n500)return t;let r=C(e)&&C(t);if(!r&&!(w(e)&&w(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{o.setTimeout(t,e)})}function E(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:x(e,t)}function te(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function ne(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var D=Symbol();function O(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===D?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function k(e,t){return typeof e==`function`?e(...t):!!e}function re(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var A=(()=>{let e=()=>c;return{isServer(){return e()},setIsServer(t){e=t}}})();function j(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var ie=s;function ae(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=ie,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var M=ae(),N=new class extends r{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function oe(e){return Math.min(1e3*2**e,3e4)}function P(e){return(e??`online`)!==`online`||N.isOnline()}var F=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function I(e){let t=!1,n=0,r,a=j(),o=()=>a.status!==`pending`,s=t=>{if(!o()){let n=new F(t);p(n),e.onCancel?.(n)}},c=()=>{t=!0},l=()=>{t=!1},u=()=>i.isFocused()&&(e.networkMode===`always`||N.isOnline())&&e.canRun(),d=()=>P(e.networkMode)&&e.canRun(),f=e=>{o()||(r?.(),a.resolve(e))},p=e=>{o()||(r?.(),a.reject(e))},m=()=>new Promise(t=>{r=e=>{(o()||u())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,o()||e.onContinue?.()}),h=()=>{if(o())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(f).catch(r=>{if(o())return;let i=e.retry??(A.isServer()?0:3),a=e.retryDelay??oe,s=typeof a==`function`?a(n,r):a,c=i===!0||typeof i==`number`&&nu()?void 0:m()).then(()=>{t?p(r):h()})})};return{promise:a,status:()=>a.status,cancel:s,continue:()=>(r?.(),a),cancelRetry:c,continueRetry:l,canStart:d,start:()=>(d()?h():m().then(h),a)}}var L=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),d(this.gcTime)&&(this.#e=o.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(A.isServer()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(o.clearTimeout(this.#e),this.#e=void 0)}};function se(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{re(e,()=>t.signal,()=>n=!0)},u=O(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?ne:te;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?ce:R,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:R(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function R(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function ce(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var le=class extends L{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=V(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=V(this.options);e.data!==void 0&&(this.setState(B(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=E(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(l).catch(l):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>m(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===D||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>p(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!f(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=O(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?se(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=I({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof F&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof F){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...z(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...B(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),M.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function z(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:P(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function B(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function V(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var ue=class extends r{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=j(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),U(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return W(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return W(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof m(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!S(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&G(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||m(this.options.enabled,this.#t)!==m(t.enabled,this.#t)||p(this.options.staleTime,this.#t)!==p(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||m(this.options.enabled,this.#t)!==m(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return de(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(l)),t}#g(){this.#b();let e=p(this.options.staleTime,this.#t);if(A.isServer()||this.#r.isStale||!d(e))return;let t=f(this.#r.dataUpdatedAt,e)+1;this.#d=o.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(A.isServer()||m(this.options.enabled,this.#t)===!1||!d(this.#p)||this.#p===0)&&(this.#f=o.setInterval(()=>{(this.options.refetchIntervalInBackground||i.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(o.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(o.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&U(e,t),o=i&&G(e,n,t,r);(a||o)&&(l={...l,...z(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:h}=l;d=l.data;let g=!1;if(t.placeholderData!==void 0&&d===void 0&&h===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,g=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(h=`success`,d=E(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!g){if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=E(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),h=`error`);let _=l.fetchStatus===`fetching`,v=h===`pending`,y=h===`error`,b=v&&_,x=d!==void 0,S={status:h,fetchStatus:l.fetchStatus,isPending:v,isSuccess:h===`success`,isError:y,isInitialLoading:b,isLoading:b,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:_,isRefetching:_&&!v,isLoadingError:y&&!x,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:y&&x,isStale:K(e,t),refetch:this.refetch,promise:this.#o,isEnabled:m(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=S.data!==void 0,r=S.status===`error`&&!t,i=e=>{r?e.reject(S.error):t&&e.resolve(S.data)},a=()=>{let e=this.#o=S.promise=j();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||S.data!==o.value)&&a();break;case`rejected`:(!r||S.error!==o.reason)&&a()}}return S}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!S(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){M.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function H(e,t){return m(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||m(t.retryOnMount,e)!==!1)}function U(e,t){return H(e,t)||e.state.data!==void 0&&W(e,t,t.refetchOnMount)}function W(e,t,n){if(m(t.enabled,e)!==!1&&p(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&K(e,t)}return!1}function G(e,t,n,r){return(e!==t||m(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&K(e,n)}function K(e,t){return m(t.enabled,e)!==!1&&e.isStaleByTime(p(t.staleTime,e))}function de(e,t){return!S(e.getCurrentResult(),t)}var fe=class extends L{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||q(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=I({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),M.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function q(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var pe=class extends r{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),S(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&v(t.mutationKey)!==v(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??q();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){M.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},J=e(t(),1),me=n(),Y=J.createContext(void 0),X=e=>{let t=J.useContext(Y);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},he=({client:e,children:t})=>(J.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,me.jsx)(Y.Provider,{value:e,children:t})),Z=J.createContext(!1),ge=()=>J.useContext(Z);Z.Provider;function _e(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var ve=J.createContext(_e()),ye=()=>J.useContext(ve),be=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?k(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},xe=e=>{J.useEffect(()=>{e.clearReset()},[e])},Q=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||k(n,[e.error,r])),Se=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Ce=(e,t)=>e.isLoading&&e.isFetching&&!t,we=(e,t)=>e?.suspense&&t.isPending,$=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Te(e,t,n){let r=ge(),i=ye(),a=X(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,Se(o),be(o,i,s),xe(i);let u=!a.getQueryCache().get(o.queryHash),[d]=J.useState(()=>new t(a,o)),f=d.getOptimisticResult(o),p=!r&&c;if(J.useSyncExternalStore(J.useCallback(e=>{let t=p?d.subscribe(M.batchCalls(e)):l;return d.updateResult(),t},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),J.useEffect(()=>{d.setOptions(o)},[o,d]),we(o,f))throw $(o,d,i);if(Q({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw f.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,f),o.experimental_prefetchInRender&&!A.isServer()&&Ce(f,r)&&(u?$(o,d,i):s?.promise)?.catch(l).finally(()=>{d.updateResult()}),o.notifyOnChangeProps?f:d.trackResult(f)}function Ee(e,t){return Te(e,ue,t)}function De(e,t){let n=X(t),[r]=J.useState(()=>new pe(n,e));J.useEffect(()=>{r.setOptions(e)},[r,e]);let i=J.useSyncExternalStore(J.useCallback(e=>r.subscribe(M.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=J.useCallback((e,t)=>{r.mutate(e,t).catch(l)},[r]);if(i.error&&k(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}export{D as _,fe as a,M as c,_ as d,g as f,p as g,y as h,X as i,u as l,l as m,Ee as n,le as o,h as p,he as r,N as s,De as t,v as u,i as v,r as y}; \ No newline at end of file diff --git a/frontend/web/dist/assets/rolldown-runtime-hePW80VL.js b/frontend/web/dist/assets/rolldown-runtime-hePW80VL.js new file mode 100644 index 000000000..19803821a --- /dev/null +++ b/frontend/web/dist/assets/rolldown-runtime-hePW80VL.js @@ -0,0 +1 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));export{s as n,l as r,o as t}; \ No newline at end of file diff --git a/frontend/web/dist/index.html b/frontend/web/dist/index.html index 9c59b6a68..57ac1bf5f 100644 --- a/frontend/web/dist/index.html +++ b/frontend/web/dist/index.html @@ -26,11 +26,12 @@ document.documentElement.dataset.theme = dark ? 'dark' : 'light'; })(); - - - - - + + + + + +
diff --git a/frontend/web/package-lock.json b/frontend/web/package-lock.json index f00e09678..d3891e907 100644 --- a/frontend/web/package-lock.json +++ b/frontend/web/package-lock.json @@ -23,759 +23,86 @@ "remark-gfm": "^4.0.1" }, "devDependencies": { - "@types/node": "^22", + "@types/node": "^22.20.1", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.1", - "@vitejs/plugin-react": "^4.3.2", + "@vitejs/plugin-react": "^6.0.5", "autoprefixer": "^10.4.20", - "postcss": "^8.4.47", - "tailwindcss": "^3.4.14", - "typescript": "^5.6.3", - "vite": "^5.4.9", - "vitest": "^2.1.8" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", - "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.29.7", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", - "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", - "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.7", - "@babel/generator": "^7.29.7", - "@babel/helper-compilation-targets": "^7.29.7", - "@babel/helper-module-transforms": "^7.29.7", - "@babel/helpers": "^7.29.7", - "@babel/parser": "^7.29.7", - "@babel/template": "^7.29.7", - "@babel/traverse": "^7.29.7", - "@babel/types": "^7.29.7", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", - "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.7", - "@babel/types": "^7.29.7", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", - "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.29.7", - "@babel/helper-validator-option": "^7.29.7", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", - "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", - "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", - "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.29.7", - "@babel/helper-validator-identifier": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", - "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", - "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", - "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", - "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", - "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", - "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.7" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", - "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", - "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", - "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.7", - "@babel/parser": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", - "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.7", - "@babel/generator": "^7.29.7", - "@babel/helper-globals": "^7.29.7", - "@babel/parser": "^7.29.7", - "@babel/template": "^7.29.7", - "@babel/types": "^7.29.7", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", - "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.29.7", - "@babel/helper-validator-identifier": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "postcss": "^8.5.26", + "tailwindcss": "^3.4.14", + "typescript": "^5.6.3", + "vite": "^8.2.1", + "vitest": "^4.1.10" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@fontsource-variable/geist": { - "version": "5.2.9", - "resolved": "https://registry.npmjs.org/@fontsource-variable/geist/-/geist-5.2.9.tgz", - "integrity": "sha512-TP+QSBG3wxKGPE33CbMy/L0Nu3qvJ6Fy81Yc4LnQ95xH+i+cfEp8fyU8/kfV14YwszxIFPhnoMTbjL71waVpyQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource-variable/geist/-/geist-5.3.0.tgz", + "integrity": "sha512-j0m+vLQuG5XAYoHtGCVu0spvlGreR3EzpECUVzkFmI1mTVnAO38l/NEPDCFgZ177JxzYJCLSmTQibIiYPilGrA==", "license": "OFL-1.1", "funding": { "url": "https://github.com/sponsors/ayuhito" } }, "node_modules/@fontsource-variable/geist-mono": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/@fontsource-variable/geist-mono/-/geist-mono-5.2.8.tgz", - "integrity": "sha512-KI5bj+hkkRiHttYHmccotUZ80ZuZyai+RwI1d7UId0clkx/jXxlo8qYK8j54WzmpBjtMoEMPyllV7faDcj+6RA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource-variable/geist-mono/-/geist-mono-5.3.0.tgz", + "integrity": "sha512-vBbuwDEo9AkrqADMXOrlAR3DFcJi4/JxeuU43FoiQERnNwsfXNnvxvReZG02cQKmyk4DZkZdBZX3oTDvy2zBAw==", "license": "OFL-1.1", "funding": { "url": "https://github.com/sponsors/ayuhito" } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-7.3.0.tgz", - "integrity": "sha512-X/vND0Y1l9fVJ9O79UgtZnXSpz4aNF3bXlDxiJAEAm6kgeSftp9wjjBPgqzazJV8YlmxfRoeXNfSCJ48sf/Hhw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-7.3.1.tgz", + "integrity": "sha512-k0C0sdHmZtAo6dRDtd1Z/qcpyHbL0CKsjV8seMY/21xGhY5Wsv0XRmiI/xEEH4y2c9b1+jvgNs/3EqhV27yUEA==", "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-7.3.0.tgz", - "integrity": "sha512-MFbTNLDWkLJwbozDvHOZ7hwyDjQcBMBattlcOQ6ZmV5YD9bBrqdl1rNtmVjQ/lzqveXXX3sMz2Ew6fAgXoxmkw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-7.3.1.tgz", + "integrity": "sha512-BoxVN3PKnMbgStHhjoaky/oWdxHomDqmBVA24IA3KEmssFGeI7u9YT/BJceOjIum/t6TpPa/vcMKaVYQeIQ/3Q==", "license": "MIT", "dependencies": { - "@fortawesome/fontawesome-common-types": "7.3.0" + "@fortawesome/fontawesome-common-types": "7.3.1" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-7.3.0.tgz", - "integrity": "sha512-YxI/CuwWeI3nPIoYU//vkDS+3ige/67DPZ6XwMATpYEFESzO9L8zfJOKllGRgIlpT/uebrZCcvAzp3peD7GmTw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-7.3.1.tgz", + "integrity": "sha512-v0BLa0eqg7ubvVWeNSHVBs8fWH/GJicERZoJaxJ3FE/lj67VSqzoMg9pzfZVOfLMX10y0pGwQAuxoRVVH2patg==", "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "7.3.0" + "@fortawesome/fontawesome-common-types": "7.3.1" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/react-fontawesome": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-3.4.0.tgz", - "integrity": "sha512-EgY5CXzzm6WGnUB40j9qNajYmoJHC8TUV/rvpcmHUoPZmQyRlh8WuRaxaerjMq61NZAz0vS+MOoJaPbZWRDibw==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-3.5.0.tgz", + "integrity": "sha512-63mlRr6fiBbJ0wjr1Cf6dsDGtP2lNvk9lnatKgxs/fIkhslsZT291hIUzJkuUkI9yr69ZvWnWfgb2qXm4QyVaA==", "license": "MIT", "engines": { "node": ">=20" @@ -796,17 +123,6 @@ "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -836,9 +152,9 @@ } }, "node_modules/@napi-rs/canvas": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-1.0.5.tgz", - "integrity": "sha512-GaPlicMtnvgPr5SowFRprkEJicDSrV3qCq17U4jiF5u0kNORZo3IbdN2Bk4SfcZJAMYFHbMVJ81O3w21CYxazg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-1.0.6.tgz", + "integrity": "sha512-Ud4d0jLr9vSaakvfOTIjgP3hoY8kMIYgHC4mtE4L0bP3St9lf6TyCVsInvFIOEofzcUeMfDydHDy8Fs2WuWz+A==", "license": "MIT", "optional": true, "workspaces": [ @@ -852,23 +168,23 @@ "url": "https://github.com/sponsors/Brooooooklyn" }, "optionalDependencies": { - "@napi-rs/canvas-android-arm64": "1.0.5", - "@napi-rs/canvas-darwin-arm64": "1.0.5", - "@napi-rs/canvas-darwin-x64": "1.0.5", - "@napi-rs/canvas-linux-arm-gnueabihf": "1.0.5", - "@napi-rs/canvas-linux-arm64-gnu": "1.0.5", - "@napi-rs/canvas-linux-arm64-musl": "1.0.5", - "@napi-rs/canvas-linux-riscv64-gnu": "1.0.5", - "@napi-rs/canvas-linux-x64-gnu": "1.0.5", - "@napi-rs/canvas-linux-x64-musl": "1.0.5", - "@napi-rs/canvas-win32-arm64-msvc": "1.0.5", - "@napi-rs/canvas-win32-x64-msvc": "1.0.5" + "@napi-rs/canvas-android-arm64": "1.0.6", + "@napi-rs/canvas-darwin-arm64": "1.0.6", + "@napi-rs/canvas-darwin-x64": "1.0.6", + "@napi-rs/canvas-linux-arm-gnueabihf": "1.0.6", + "@napi-rs/canvas-linux-arm64-gnu": "1.0.6", + "@napi-rs/canvas-linux-arm64-musl": "1.0.6", + "@napi-rs/canvas-linux-riscv64-gnu": "1.0.6", + "@napi-rs/canvas-linux-x64-gnu": "1.0.6", + "@napi-rs/canvas-linux-x64-musl": "1.0.6", + "@napi-rs/canvas-win32-arm64-msvc": "1.0.6", + "@napi-rs/canvas-win32-x64-msvc": "1.0.6" } }, "node_modules/@napi-rs/canvas-android-arm64": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-1.0.5.tgz", - "integrity": "sha512-ZzDlpKQocwFfCwhMh17UWre6Qt5yZN3kNIJoUpGfRZqwDDZ164IKOsPOHsRd3d8Tuj5KM6bDjGuPmZxuPuG3NQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-1.0.6.tgz", + "integrity": "sha512-CZUmZEyN/cmSN1OhRJ44vBE6xyb5ekBbsIF8dqNgizbnAiHSFNi8eAA4oyyIAe5KzJ72K16OKC2lAynZLhv32Q==", "cpu": [ "arm64" ], @@ -886,9 +202,9 @@ } }, "node_modules/@napi-rs/canvas-darwin-arm64": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-1.0.5.tgz", - "integrity": "sha512-Hr8v6CA/TBe+OJOePdV3sXWxzQHQKfQsTKPbc8wG7iPqVeAx6MMdzKGXlYID6SVvpfwV/zqkvGcdImYWSlhrZg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-1.0.6.tgz", + "integrity": "sha512-FGJsIngRfS9LDaX4t/lFthqn2Km6b61ONzjJFC6+yuabL1NgaK7x0fwrj8276OQFkjCvSpJZ7+CeZWgcy03F2w==", "cpu": [ "arm64" ], @@ -906,9 +222,9 @@ } }, "node_modules/@napi-rs/canvas-darwin-x64": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-1.0.5.tgz", - "integrity": "sha512-9BXlLHBXpYnK4jSae1MdFdyPq09Xi1I3PeCNpvRzqgmUUBhgJS7aC1z7SZEP8JUXDHtbfIrolCS3sFuT9IGP2A==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-1.0.6.tgz", + "integrity": "sha512-wLDrtfX9V4bu6O55/WwGvPVCjfunL2bEm59lzIFk9ZQOt7oJrPzdx/ytZiQr6bMZ9XOFwvXujszYtpoCK7yUbg==", "cpu": [ "x64" ], @@ -926,9 +242,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-1.0.5.tgz", - "integrity": "sha512-zEW4fgvtYsOJ/N56Us4TQPfaFrUf0shGr9CgGSj3GACc+NHfUM3ci0YF9xFTjwJWGDmaEhYPL6KqCfFCxwm/qg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-1.0.6.tgz", + "integrity": "sha512-8TllEP/9UPDVxrBN/tnbGBsxxwG8Eo2tgyW8wDy+Gi9rm9si2I6MsDv9MlfI3a7JOuzkBcurHYDHZxwLgzAIdA==", "cpu": [ "arm" ], @@ -946,12 +262,15 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-gnu": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-1.0.5.tgz", - "integrity": "sha512-HFprwLspelJxCEtZvdMcz95Mwvfs63GzFVedLFmC/wslHnaOXhjXxgYxPCM/VdM4Jhx3CV4Lk0vVmh6hJv2etQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-1.0.6.tgz", + "integrity": "sha512-YF15AKoGrgU7aoA03CR+cATCRPQcVt6L14Lb/a9hqK7pT7/DhIkqh4qyl+a2GLfqx++yIIJfBuZ3sHM3zlXM1Q==", "cpu": [ "arm64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -966,12 +285,15 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-musl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-1.0.5.tgz", - "integrity": "sha512-FNMGFAx8DvtDwlLfWyBJ+oQjgPXoIAqCnNTJYqtJCFRwwzK3AyAe5B1Ll3NZ6hcOzqw7HylZsq4nQxVyPCQX1Q==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-1.0.6.tgz", + "integrity": "sha512-zXeVWNFpj720HZln0bfAs+1/nP3Wy6Z5hUw60UJu+cvgips5jZtuX2+EjDHFk98q3BY35GaE1TQLwE9S244vPA==", "cpu": [ "arm64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -986,12 +308,15 @@ } }, "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-1.0.5.tgz", - "integrity": "sha512-2vd5v8Lui+37Hh/spITKIvTT384ip4dnUc5XBn0E+sMNS4b7au7IswyT5YDG2udPTjSh/eLUs3sGuB5YHooFOA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-1.0.6.tgz", + "integrity": "sha512-kvy1Ypq4ODEI2WRNGvs588qTMcWCjlEIuZRyW8JXpiBnMUirgxQukIDFVDQEcrLlHP5cqZ9cvvfOkBJ7koOktA==", "cpu": [ "riscv64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1006,12 +331,15 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-gnu": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-1.0.5.tgz", - "integrity": "sha512-iQIPy+Uey0expZTOszLri5n8rY7x4WUpMaY82mcXNIgbil30iHvc01OsiizhZC1KQHTK90RFMFWSpwFU+ON3aA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-1.0.6.tgz", + "integrity": "sha512-czHnfLgSCl48iluS6bNrytGYhsbSTUuIvMucAwO0mPEj1uhkHk6SUiRI0xoqv0PSFzpGFfSnQvFpm7vV+tDO+A==", "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1026,12 +354,15 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-musl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-1.0.5.tgz", - "integrity": "sha512-Npthji25t7FUqIAKsoEkFS0qY5CYVkHjvI3tuZjDTG92wX8g4dst+Lfb4hhubdqPazlDcIwalPzInsFCtf3FFg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-1.0.6.tgz", + "integrity": "sha512-afsg6GyfUx8qZzjsywjimXUEWcSWETY5F80hmMb2FWVSXkRbor8IpftY2gXnasq+Y42Xug/76qTHwqvti7HRTw==", "cpu": [ "x64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1046,9 +377,9 @@ } }, "node_modules/@napi-rs/canvas-win32-arm64-msvc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-1.0.5.tgz", - "integrity": "sha512-bi+JsdCdbfVJDoAQybTYmkLKwh1xpYpptg5j/BNr2BB56u4/R26jrVvtjqff+CxYMXV6Kz1/jeDVhZCuj6bDng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-1.0.6.tgz", + "integrity": "sha512-byzha357piy0wgK6IZOQtU4plpt94f6CxHFS7LhJpWYrDWWT/AitQNxRMfCNNaQHZXUB3BwNhQSfH2RpiZ0WaQ==", "cpu": [ "arm64" ], @@ -1066,9 +397,9 @@ } }, "node_modules/@napi-rs/canvas-win32-x64-msvc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-1.0.5.tgz", - "integrity": "sha512-KQQwG9/sBmcGxqaLFIQf+k2OefREGoyEaIBmRuTM8bUuFKOEE9Xk5pel90hE6pmBwk/vo4RB0OdX+FxobJGMFw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-1.0.6.tgz", + "integrity": "sha512-gWLOgKGZz3hZhzg49q2PJIURwy2pCWh1zvNFXmLO1yineOPhEpoL3EV6/VIjOiKa1l2P6ieP12Eo385u1MLLVQ==", "cpu": [ "x64" ], @@ -1123,31 +454,20 @@ "node": ">= 8" } }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", - "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz", - "integrity": "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==", - "cpu": [ - "arm" - ], + "node_modules/@oxc-project/types": { + "version": "0.144.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.144.0.tgz", + "integrity": "sha512-nuhZIOLuI6TFQ32I/WnUx+SCPY7SdSKwgnFHydAuoS1+Z4BRcaP+RRJmGzl9lw+0OFF7UmaESf7KQRXaNLHypg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "funding": { + "url": "https://github.com/sponsors/Boshen" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz", - "integrity": "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.4.tgz", + "integrity": "sha512-jHC2cnyKz5xU2fhECtFl8OZ83cYNt13GZQD+0uMJ/X3o+ijmd56okHhTUwxVSHPx1IRVIJEZ1/1pPzeLCU6XKA==", "cpu": [ "arm64" ], @@ -1156,12 +476,15 @@ "optional": true, "os": [ "android" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz", - "integrity": "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-Dc5mPD8F5F/FS8i01syd7FTF6yB2fVthH/TRkjwJkzUK6EpoxHtqvZQP5Zwq80/5z19TWYHIg1KOHboCgVx/aQ==", "cpu": [ "arm64" ], @@ -1170,12 +493,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz", - "integrity": "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.4.tgz", + "integrity": "sha512-fpDm4oBo6SqLvWUYCmFhdde3U9KH2fRNNMeAnAPAIwxRL345xutL0EtEUcuoxsoazdJGv/MuDBQHlCDrtbvqOg==", "cpu": [ "x64" ], @@ -1184,26 +510,15 @@ "optional": true, "os": [ "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz", - "integrity": "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz", - "integrity": "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.4.tgz", + "integrity": "sha512-rSJoreDE/HoIzoaib6MTp5jQtCTdMHKIvItAKT/ImS6Y6Ww76oUaeMyp4Vc/fAgd/ehji068IxetHXAnqUwN9A==", "cpu": [ "x64" ], @@ -1212,26 +527,15 @@ "optional": true, "os": [ "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz", - "integrity": "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==", - "cpu": [ - "arm" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz", - "integrity": "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.4.tgz", + "integrity": "sha512-/jm8OGHgn7oGaJu3i/qZI9spUGcJ+y/lk43ttQ/iO1tOd9NissG6o97bighBCiL+BKRngmcDuR6ikfwYdJmVuQ==", "cpu": [ "arm" ], @@ -1240,180 +544,135 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz", - "integrity": "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz", - "integrity": "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.4.tgz", + "integrity": "sha512-tIP06BeD9EqvECBrPZ+sqdPlYrT+aYaAiu1wYziVx5elRK/ftm33JxVDy2bXGbr6J0CrtirCkR87/X5a2euEng==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz", - "integrity": "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz", - "integrity": "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz", - "integrity": "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==", - "cpu": [ - "ppc64" + "libc": [ + "glibc" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz", - "integrity": "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==", - "cpu": [ - "ppc64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz", - "integrity": "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.4.tgz", + "integrity": "sha512-Ql1Q0EQqVThvn9VAVlwNzsUvbSFtCMGjLpRRi4pk5i7NZZ4n5ISiLMjHYtus4VQ2PvkSw24zyaCVsiS+sXPj1w==", "cpu": [ - "riscv64" + "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz", - "integrity": "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.4.tgz", + "integrity": "sha512-GjbjXD4XXfN19D0LZNbmiCBUoDiRACsYHr0yaIbbn8aFsXjHZifcYqu/W5Er5X2X990WjHXFrxarn5chzItorQ==", "cpu": [ - "riscv64" + "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz", - "integrity": "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.4.tgz", + "integrity": "sha512-p5WR0NOwaRmJ/B1b6IjEFLLivwEsf3PrdBIhRbhTCQisbo2SvHHpG4ELB/+FgQNnB88LTOF86upmJmbvZdQ2lw==", "cpu": [ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz", - "integrity": "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.4.tgz", + "integrity": "sha512-4/GyVjmhR+Tc6HLJvwc1sOhPqAZtySiSMesOZyX6JQ5XBxoTDEMKQzvo07NIK6nTon/SivlZqvhzvuVBNQhObQ==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz", - "integrity": "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.4.tgz", + "integrity": "sha512-l9eeLsCNvPpmSXUej0etw/J1eqV0Jj1D5G/xG6YTijmE6dkv6E2QezgWbTfQk63v952DPqrjOCoiqxq7Bw0YUQ==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz", - "integrity": "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==", - "cpu": [ - "x64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz", - "integrity": "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.4.tgz", + "integrity": "sha512-e0F355MSTMm3+UOqtV3L24gFUp2N5m1f8L/7d56deik6va+AXdrt9F8LbzGpeWGWRbZEDq4m8NVnJDeBtf9DZg==", "cpu": [ "arm64" ], @@ -1422,12 +681,15 @@ "optional": true, "os": [ "openharmony" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz", - "integrity": "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.4.tgz", + "integrity": "sha512-AWLi0uBRYh6QlE7OKhiz+phZC0qwtij2QZmhmOdsLdFn64m7oMpooE9ICE3lhm9xMb4SpDo2WbHcxX1iFLFtqw==", "cpu": [ "arm64" ], @@ -1436,26 +698,15 @@ "optional": true, "os": [ "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz", - "integrity": "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==", - "cpu": [ - "ia32" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz", - "integrity": "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.4.tgz", + "integrity": "sha512-UwSDJOg3dqCAejWdxclJjCsh3Qq4vLYMDxmyHqo1btz3stK2VqgwNd3mm5tuIwzSlGIQ/1H9Hr+Zn09mrezNqQ==", "cpu": [ "x64" ], @@ -1464,26 +715,29 @@ "optional": true, "os": [ "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz", - "integrity": "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==", - "cpu": [ - "x64" ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" }, "node_modules/@tanstack/query-core": { - "version": "5.101.2", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.101.2.tgz", - "integrity": "sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw==", + "version": "5.101.4", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.101.4.tgz", + "integrity": "sha512-gNwcvOJcRbLWPOLG/2OBm+zM+Yv+MKsXKEOWC57USuZDEsI71hEErQsiEGx5wX9rzWWkfwM0fVSPoiIFSsxfiw==", "license": "MIT", "funding": { "type": "github", @@ -1491,12 +745,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.101.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.101.2.tgz", - "integrity": "sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg==", + "version": "5.101.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.101.4.tgz", + "integrity": "sha512-yRg2pfOCxIs4ZJW3XYYHU/WgtD04FHSnfHlpRT7h7pR77hwkdRG4wxbKe4aq6P0RvXUTBSQpQeadS1SUYUe+KA==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.101.2" + "@tanstack/query-core": "5.101.4" }, "funding": { "type": "github", @@ -1506,49 +760,15 @@ "react": "^18 || ^19" } }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" } }, "node_modules/@types/debug": { @@ -1560,6 +780,13 @@ "@types/ms": "*" } }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", @@ -1648,59 +875,66 @@ "license": "ISC" }, "node_modules/@vitejs/plugin-react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", - "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.5.tgz", + "integrity": "sha512-BOVzne/NL162sMdResB25mUv+vWMF5NoAjNf09TeGlE7ZpszZWSD3winycicLJw72yeVsoCn/2kOhEuCvEShMA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.27", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" + "@rolldown/pluginutils": "^1.0.1" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } } }, "node_modules/@vitest/expect": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz", - "integrity": "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz", + "integrity": "sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.9", - "@vitest/utils": "2.1.9", - "chai": "^5.1.2", - "tinyrainbow": "^1.2.0" + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.10", + "@vitest/utils": "4.1.10", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/mocker": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz", - "integrity": "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.10.tgz", + "integrity": "sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.9", + "@vitest/spy": "4.1.10", "estree-walker": "^3.0.3", - "magic-string": "^0.30.12" + "magic-string": "^0.30.21" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^5.0.0" + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "msw": { @@ -1712,70 +946,68 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz", - "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.10.tgz", + "integrity": "sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^1.2.0" + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz", - "integrity": "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.10.tgz", + "integrity": "sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "2.1.9", - "pathe": "^1.1.2" + "@vitest/utils": "4.1.10", + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz", - "integrity": "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.10.tgz", + "integrity": "sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.9", - "magic-string": "^0.30.12", - "pathe": "^1.1.2" + "@vitest/pretty-format": "4.1.10", + "@vitest/utils": "4.1.10", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz", - "integrity": "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.10.tgz", + "integrity": "sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==", "dev": true, "license": "MIT", - "dependencies": { - "tinyspy": "^3.0.2" - }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/utils": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz", - "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.10.tgz", + "integrity": "sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.9", - "loupe": "^3.1.2", - "tinyrainbow": "^1.2.0" + "@vitest/pretty-format": "4.1.10", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" @@ -1820,9 +1052,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.2.tgz", - "integrity": "sha512-rD5t5DwOjJdmSORcTq64j8MawTC+tbQ+HHqjR4NDumamy/ambn1UJrlKL+KdwujWxMkFjPM3pPHOEA9tl4767Q==", + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.4.tgz", + "integrity": "sha512-MaU0U/za7N3r6brxD4YB/l4NSrFzLPlANv6wEuQVaIPlD3L4W9rFcQPbL/EilY9BHhHvhfcz3gInDLrEtWT4EA==", "dev": true, "funding": [ { @@ -1840,8 +1072,8 @@ ], "license": "MIT", "dependencies": { - "browserslist": "^4.28.4", - "caniuse-lite": "^1.0.30001799", + "browserslist": "^4.28.6", + "caniuse-lite": "^1.0.30001806", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" @@ -1867,9 +1099,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.42", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.42.tgz", - "integrity": "sha512-c/jurFrDLyui7o1J86yLkRu4LMsTYcBohveus7/I2Hzdn9KIP2bdJPTue/lR1KH46enoPbD77GKeSYNdyPoD3Q==", + "version": "2.11.14", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.14.tgz", + "integrity": "sha512-JyJ954WzuIR8/FFzX0o5krdSTrBAkcCSRfWSleRsIHSWV+cZe2FI1PKggVkFke1hBldRs+LRxUczzE9iPmgZww==", "dev": true, "license": "Apache-2.0", "bin": { @@ -1906,9 +1138,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.5.tgz", - "integrity": "sha512-Cu2E6QejHWzuDMTkuwgpABFgDfZrXLQq5V13YOACZx4mFAG4IwGTbTfHPMr4WtxlHoXSM8FIuRwYYCz5XiabaQ==", + "version": "4.28.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz", + "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==", "dev": true, "funding": [ { @@ -1926,11 +1158,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.10.42", - "caniuse-lite": "^1.0.30001800", - "electron-to-chromium": "^1.5.387", - "node-releases": "^2.0.50", - "update-browserslist-db": "^1.2.3" + "baseline-browser-mapping": "^2.11.12", + "caniuse-lite": "^1.0.30001809", + "electron-to-chromium": "^1.5.402", + "node-releases": "^2.0.53", + "update-browserslist-db": "^1.3.0" }, "bin": { "browserslist": "cli.js" @@ -1939,16 +1171,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", @@ -1960,9 +1182,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001803", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001803.tgz", - "integrity": "sha512-g/uHREV2ZpK9qMalCsWaxmA6ol+DX8GYhuf3T40RKoP+oL7vhRJh8LNt73PCjpnR6l14FzfPrB5Yux4PKm2meg==", + "version": "1.0.30001809", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001809.tgz", + "integrity": "sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==", "dev": true, "funding": [ { @@ -1991,18 +1213,11 @@ } }, "node_modules/chai": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", "dev": true, "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, "engines": { "node": ">=18" } @@ -2047,16 +1262,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/check-error": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", - "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -2171,16 +1376,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -2190,6 +1385,16 @@ "node": ">=6" } }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/devlop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", @@ -2218,9 +1423,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.389", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.389.tgz", - "integrity": "sha512-cEto7aeOqBfU1D+c5py5pE+ooscKE75JifxLBdFUZsqAxRS6y7kebtxAZvICszSl05gPjYHDTjY+lXpyGvpJbg==", + "version": "1.5.406", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.406.tgz", + "integrity": "sha512-hWH5ORBi3d0IipnMh7BN5GDTaAmrSSSWmznwt2zltdiRNEWoEQyTwF0FFSBxzHO7hLSRT6loQu3IQGV0wg/Tvg==", "dev": true, "license": "ISC" }, @@ -2235,51 +1440,12 @@ } }, "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", + "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", "dev": true, "license": "MIT" }, - "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -2430,16 +1596,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2591,101 +1747,348 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/lightningcss": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", + "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.33.0", + "lightningcss-darwin-arm64": "1.33.0", + "lightningcss-darwin-x64": "1.33.0", + "lightningcss-freebsd-x64": "1.33.0", + "lightningcss-linux-arm-gnueabihf": "1.33.0", + "lightningcss-linux-arm64-gnu": "1.33.0", + "lightningcss-linux-arm64-musl": "1.33.0", + "lightningcss-linux-x64-gnu": "1.33.0", + "lightningcss-linux-x64-musl": "1.33.0", + "lightningcss-win32-arm64-msvc": "1.33.0", + "lightningcss-win32-x64-msvc": "1.33.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz", + "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz", + "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz", + "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz", + "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz", + "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz", + "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz", + "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.12.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", + "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12" + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz", + "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz", + "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz", + "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/lilconfig": { @@ -2730,23 +2133,6 @@ "loose-envify": "cli.js" } }, - "node_modules/loupe": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, "node_modules/lucide-react": { "version": "0.468.0", "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.468.0.tgz", @@ -3652,9 +3038,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.15", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", - "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", "dev": true, "funding": [ { @@ -3671,9 +3057,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.50", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.50.tgz", - "integrity": "sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==", + "version": "2.0.53", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.53.tgz", + "integrity": "sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==", "dev": true, "license": "MIT", "engines": { @@ -3710,6 +3096,20 @@ "node": ">= 6" } }, + "node_modules/obug": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.4.tgz", + "integrity": "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/parse-entities": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", @@ -3743,22 +3143,12 @@ "license": "MIT" }, "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, "license": "MIT" }, - "node_modules/pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, "node_modules/pdfjs-dist": { "version": "6.2.108", "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-6.2.108.tgz", @@ -3812,9 +3202,9 @@ } }, "node_modules/postcss": { - "version": "8.5.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", - "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", + "version": "8.5.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", + "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", "dev": true, "funding": [ { @@ -3832,7 +3222,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.12", + "nanoid": "^3.3.17", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -4057,16 +3447,6 @@ "react": ">=18" } }, - "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -4189,49 +3569,37 @@ "node": ">=0.10.0" } }, - "node_modules/rollup": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz", - "integrity": "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==", + "node_modules/rolldown": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.4.tgz", + "integrity": "sha512-rSr7irW0K7QRWzjdJXqZowkcRdDtjRduh43rBltnVKd0VFq839l1lJoDvGJb6gl7+4rTTCrPWu+YfujUL8Ug7w==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.9" + "@oxc-project/types": "=0.144.0", + "@rolldown/pluginutils": "^1.0.0" }, "bin": { - "rollup": "dist/bin/rollup" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.62.2", - "@rollup/rollup-android-arm64": "4.62.2", - "@rollup/rollup-darwin-arm64": "4.62.2", - "@rollup/rollup-darwin-x64": "4.62.2", - "@rollup/rollup-freebsd-arm64": "4.62.2", - "@rollup/rollup-freebsd-x64": "4.62.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.62.2", - "@rollup/rollup-linux-arm-musleabihf": "4.62.2", - "@rollup/rollup-linux-arm64-gnu": "4.62.2", - "@rollup/rollup-linux-arm64-musl": "4.62.2", - "@rollup/rollup-linux-loong64-gnu": "4.62.2", - "@rollup/rollup-linux-loong64-musl": "4.62.2", - "@rollup/rollup-linux-ppc64-gnu": "4.62.2", - "@rollup/rollup-linux-ppc64-musl": "4.62.2", - "@rollup/rollup-linux-riscv64-gnu": "4.62.2", - "@rollup/rollup-linux-riscv64-musl": "4.62.2", - "@rollup/rollup-linux-s390x-gnu": "4.62.2", - "@rollup/rollup-linux-x64-gnu": "4.62.2", - "@rollup/rollup-linux-x64-musl": "4.62.2", - "@rollup/rollup-openbsd-x64": "4.62.2", - "@rollup/rollup-openharmony-arm64": "4.62.2", - "@rollup/rollup-win32-arm64-msvc": "4.62.2", - "@rollup/rollup-win32-ia32-msvc": "4.62.2", - "@rollup/rollup-win32-x64-gnu": "4.62.2", - "@rollup/rollup-win32-x64-msvc": "4.62.2", - "fsevents": "~2.3.2" + "@rolldown/binding-android-arm64": "1.2.4", + "@rolldown/binding-darwin-arm64": "1.2.4", + "@rolldown/binding-darwin-x64": "1.2.4", + "@rolldown/binding-freebsd-x64": "1.2.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.4", + "@rolldown/binding-linux-arm64-gnu": "1.2.4", + "@rolldown/binding-linux-arm64-musl": "1.2.4", + "@rolldown/binding-linux-ppc64-gnu": "1.2.4", + "@rolldown/binding-linux-s390x-gnu": "1.2.4", + "@rolldown/binding-linux-x64-gnu": "1.2.4", + "@rolldown/binding-linux-x64-musl": "1.2.4", + "@rolldown/binding-openharmony-arm64": "1.2.4", + "@rolldown/binding-win32-arm64-msvc": "1.2.4", + "@rolldown/binding-win32-x64-msvc": "1.2.4" } }, "node_modules/run-parallel": { @@ -4267,16 +3635,6 @@ "loose-envify": "^1.1.0" } }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/siginfo": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", @@ -4312,9 +3670,9 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.2.0.tgz", + "integrity": "sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==", "dev": true, "license": "MIT" }, @@ -4455,11 +3813,14 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.0.tgz", + "integrity": "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/tinyglobby": { "version": "0.2.17", @@ -4509,30 +3870,10 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/tinypool": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, "node_modules/tinyrainbow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", - "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.1.tgz", + "integrity": "sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==", "dev": true, "license": "MIT", "engines": { @@ -4688,9 +4029,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.1.tgz", + "integrity": "sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==", "dev": true, "funding": [ { @@ -4754,21 +4095,23 @@ } }, "node_modules/vite": { - "version": "5.4.21", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", - "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.2.1.tgz", + "integrity": "sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "lightningcss": "^1.33.0", + "picomatch": "^4.0.5", + "postcss": "^8.5.25", + "rolldown": "~1.2.1", + "tinyglobby": "^0.2.17" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -4777,23 +4120,33 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.4.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, - "less": { + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { "optional": true }, - "lightningcss": { + "jiti": { + "optional": true + }, + "less": { "optional": true }, "sass": { @@ -4810,85 +4163,102 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, - "node_modules/vite-node": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz", - "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==", + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", "dev": true, "license": "MIT", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.7", - "es-module-lexer": "^1.5.4", - "pathe": "^1.1.2", - "vite": "^5.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/vitest": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz", - "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "2.1.9", - "@vitest/mocker": "2.1.9", - "@vitest/pretty-format": "^2.1.9", - "@vitest/runner": "2.1.9", - "@vitest/snapshot": "2.1.9", - "@vitest/spy": "2.1.9", - "@vitest/utils": "2.1.9", - "chai": "^5.1.2", - "debug": "^4.3.7", - "expect-type": "^1.1.0", - "magic-string": "^0.30.12", - "pathe": "^1.1.2", - "std-env": "^3.8.0", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.10.tgz", + "integrity": "sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.10", + "@vitest/mocker": "4.1.10", + "@vitest/pretty-format": "4.1.10", + "@vitest/runner": "4.1.10", + "@vitest/snapshot": "4.1.10", + "@vitest/spy": "4.1.10", + "@vitest/utils": "4.1.10", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", "tinybench": "^2.9.0", - "tinyexec": "^0.3.1", - "tinypool": "^1.0.1", - "tinyrainbow": "^1.2.0", - "vite": "^5.0.0", - "vite-node": "2.1.9", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "why-is-node-running": "^2.3.0" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.1.9", - "@vitest/ui": "2.1.9", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.10", + "@vitest/browser-preview": "4.1.10", + "@vitest/browser-webdriverio": "4.1.10", + "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-v8": "4.1.10", + "@vitest/ui": "4.1.10", "happy-dom": "*", - "jsdom": "*" + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@edge-runtime/vm": { "optional": true }, + "@opentelemetry/api": { + "optional": true + }, "@types/node": { "optional": true }, - "@vitest/browser": { + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { "optional": true }, "@vitest/ui": { @@ -4899,9 +4269,25 @@ }, "jsdom": { "optional": true + }, + "vite": { + "optional": false } } }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/why-is-node-running": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", @@ -4919,13 +4305,6 @@ "node": ">=8" } }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/frontend/web/package.json b/frontend/web/package.json index 1fdd3fb16..2421040fe 100644 --- a/frontend/web/package.json +++ b/frontend/web/package.json @@ -27,15 +27,15 @@ "remark-gfm": "^4.0.1" }, "devDependencies": { - "@types/node": "^22", + "@types/node": "^22.20.1", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.1", - "@vitejs/plugin-react": "^4.3.2", + "@vitejs/plugin-react": "^6.0.5", "autoprefixer": "^10.4.20", - "postcss": "^8.4.47", + "postcss": "^8.5.26", "tailwindcss": "^3.4.14", "typescript": "^5.6.3", - "vite": "^5.4.9", - "vitest": "^2.1.8" + "vite": "^8.2.1", + "vitest": "^4.1.10" } } diff --git a/frontend/web/tsconfig.json b/frontend/web/tsconfig.json index 917ef56e9..334a95be6 100644 --- a/frontend/web/tsconfig.json +++ b/frontend/web/tsconfig.json @@ -14,7 +14,7 @@ "skipLibCheck": true, "isolatedModules": true, "resolveJsonModule": true, - "types": ["vite/client"], + "types": ["vite/client", "node"], "noEmit": true }, "include": ["src", "../core/src"] diff --git a/tests/apps/test_cli_parser.py b/tests/apps/test_cli_parser.py index 4bf2ec5e1..875dfacf6 100644 --- a/tests/apps/test_cli_parser.py +++ b/tests/apps/test_cli_parser.py @@ -259,8 +259,15 @@ def test_parser_no_daemon_default_false(): assert args.no_daemon is False -def test_parser_accepts_documented_web_port_alias(): - args = build_parser().parse_args(["--web", "--port", "8800"]) +def test_parser_accepts_documented_web_host_and_port_aliases(): + args = build_parser().parse_args([ + "--web", + "--host", + "0.0.0.0", + "--port", + "8800", + ]) + assert args.web_host == "0.0.0.0" assert args.web_port == 8800 @@ -279,11 +286,14 @@ def fake_serve(**kwargs): assert main([ "--web", "--no-open", + "--host", + "127.0.0.1", "--port", "8800", "--life-dir", str(tmp_path), ]) == 0 + assert captured["host"] == "127.0.0.1" assert captured["port"] == 8800 assert captured["global_root"] == tmp_path diff --git a/tests/apps/test_tui_launcher.py b/tests/apps/test_tui_launcher.py index a2656d777..301a6c2a7 100644 --- a/tests/apps/test_tui_launcher.py +++ b/tests/apps/test_tui_launcher.py @@ -170,6 +170,26 @@ def test_public_admin_flags_stay_on_python_admin_path(monkeypatch) -> None: ] +def test_documented_web_aliases_before_action_stay_on_python_admin_path( + monkeypatch, +) -> None: + seen = [] + monkeypatch.setattr( + tui_launcher, + "_run_python_admin", + lambda argv: seen.append(argv) or 7, + ) + monkeypatch.setattr( + tui_launcher, + "_bundle_path", + lambda: (_ for _ in ()).throw(AssertionError("TUI must not launch")), + ) + argv = ["--host", "127.0.0.1", "--port", "8801", "--web"] + + assert tui_launcher.main(argv) == 7 + assert seen == [argv] + + def test_admin_subcommands_stay_on_python_admin_path(monkeypatch) -> None: seen = [] monkeypatch.setattr( diff --git a/tests/daemon/test_health.py b/tests/daemon/test_health.py index 7f0172fa0..7701ce0e2 100644 --- a/tests/daemon/test_health.py +++ b/tests/daemon/test_health.py @@ -3,9 +3,37 @@ import time from pathlib import Path +from argus_skill.daemon import health as daemon_health from argus_skill.daemon.health import DaemonHealthTracker, read_daemon_health +def test_atomic_health_write_retries_transient_windows_permission_error( + tmp_path: Path, + monkeypatch, +) -> None: + path = tmp_path / "daemon.health.json" + real_replace = daemon_health.os.replace + attempts = 0 + sleeps: list[float] = [] + + def flaky_replace(source, destination): + nonlocal attempts + attempts += 1 + if attempts == 1: + raise PermissionError(13, "simulated Windows sharing conflict", destination) + return real_replace(source, destination) + + monkeypatch.setattr(daemon_health, "_running_on_windows", lambda: True, raising=False) + monkeypatch.setattr(daemon_health.os, "replace", flaky_replace) + monkeypatch.setattr(daemon_health.time, "sleep", sleeps.append) + + daemon_health._atomic_write(path, {"schema_version": 1, "phase": "idle"}) + + assert attempts == 2 + assert sleeps and sleeps[0] > 0 + assert path.exists() + + def test_active_daemon_without_progress_is_reported_stalled( tmp_path: Path, monkeypatch, diff --git a/tests/daemon/test_windows_terminal_process.py b/tests/daemon/test_windows_terminal_process.py index feb4fd878..f23616d2e 100644 --- a/tests/daemon/test_windows_terminal_process.py +++ b/tests/daemon/test_windows_terminal_process.py @@ -1,6 +1,9 @@ +import os from pathlib import Path from types import SimpleNamespace +import pytest + from argus_skill.daemon import process @@ -98,6 +101,135 @@ def fake_popen(command, **kwargs): assert released == [7] +def test_windows_background_worker_accepts_venv_launcher_descendant( + monkeypatch, + tmp_path: Path, +) -> None: + """A Windows venv launcher PID differs from the Python runtime PID.""" + config = _config(tmp_path) + config.project_workdir.mkdir() + config.life_dir.mkdir(parents=True) + pid_path = config.life_dir / "daemon.pid" + status_path = config.life_dir / "daemon.status.json" + pid_path.write_text("84", encoding="utf-8") + status_path.write_text("{}", encoding="utf-8") + clock = [0.0] + reaped: list[int] = [] + + class FakeProcess: + pid = 42 + returncode = None + + def poll(self): + return None + + monkeypatch.setattr(process.subprocess, "Popen", lambda *args, **kwargs: FakeProcess()) + monkeypatch.setattr( + process, + "read_daemon_status", + lambda _path: SimpleNamespace( + alive=True, + pid=84, + status_read_error="", + ), + ) + monkeypatch.setattr( + process, + "_descendant_pids", + lambda launcher_pid: (84,) if launcher_pid == 42 else (), + raising=False, + ) + monkeypatch.setattr(process.time, "monotonic", lambda: clock[0]) + monkeypatch.setattr( + process.time, + "sleep", + lambda seconds: clock.__setitem__(0, clock[0] + seconds), + ) + monkeypatch.setattr(process, "_WINDOWS_DAEMON_PUBLISH_TIMEOUT_SECONDS", 1.0) + monkeypatch.setattr( + process, + "_reap_failed_windows_spawn", + lambda child: reaped.append(child.pid), + ) + + rc = process._spawn_windows_background_process( + config, + pid_path=pid_path, + status_path=status_path, + log_path=config.life_dir / "daemons" / "boot-test.log", + spawn_lock_fd=7, + release_spawn_lock=lambda _fd: None, + quiet=True, + ) + + assert rc == 0 + assert reaped == [] + + +@pytest.mark.integration +@pytest.mark.skipif(os.name != "nt", reason="native Windows process tree") +def test_native_windows_worker_accepts_descendant_runtime( + monkeypatch, + tmp_path: Path, +) -> None: + config = _config(tmp_path) + config.project_workdir.mkdir() + config.life_dir.mkdir(parents=True) + pid_path = config.life_dir / "daemon.pid" + status_path = config.life_dir / "daemon.status.json" + worker_script = ( + "import json, os, time\n" + "from datetime import datetime, timezone\n" + "from pathlib import Path\n" + "from argus_skill.core.daemon_lock import acquire_global_daemon_lock\n" + f"life = Path({str(config.life_dir)!r})\n" + "lock = acquire_global_daemon_lock(pid_path=life / 'daemon.pid')\n" + "started = datetime.now(timezone.utc).isoformat()\n" + "(life / 'daemon.status.json').write_text(json.dumps({" + "'pid': os.getpid(), 'started_at_iso': started}), encoding='utf-8')\n" + "time.sleep(60)\n" + ) + launcher_script = ( + "import subprocess, sys\n" + f"child = subprocess.Popen([sys.executable, '-c', {worker_script!r}])\n" + "raise SystemExit(child.wait())\n" + ) + real_popen = process.subprocess.Popen + spawned = [] + + def capture_popen(*args, **kwargs): + child = real_popen(*args, **kwargs) + spawned.append(child) + return child + + monkeypatch.setattr(process.subprocess, "Popen", capture_popen) + monkeypatch.setattr( + process, + "_windows_daemon_command", + lambda _config: [process.sys.executable, "-c", launcher_script], + ) + + try: + rc = process._spawn_windows_background_process( + config, + pid_path=pid_path, + status_path=status_path, + log_path=config.life_dir / "daemons" / "boot-native.log", + spawn_lock_fd=7, + release_spawn_lock=lambda _fd: None, + quiet=True, + ) + + status = process.read_daemon_status(config.life_dir) + assert rc == 0 + assert status.alive and status.pid is not None + assert status.pid != spawned[0].pid + assert status.pid in process._descendant_pids(spawned[0].pid) + finally: + if spawned: + process._reap_failed_windows_spawn(spawned[0]) + + def test_windows_background_worker_preserves_early_exit_code( monkeypatch, tmp_path: Path, @@ -130,6 +262,36 @@ def poll(self): assert released == [7] +def test_windows_background_worker_rejects_clean_exit_without_status( + monkeypatch, + tmp_path: Path, +) -> None: + config = _config(tmp_path) + config.project_workdir.mkdir() + config.life_dir.mkdir(parents=True) + + class FakeProcess: + pid = 42 + returncode = 0 + + def poll(self): + return self.returncode + + monkeypatch.setattr(process.subprocess, "Popen", lambda *args, **kwargs: FakeProcess()) + + rc = process._spawn_windows_background_process( + config, + pid_path=config.life_dir / "daemon.pid", + status_path=config.life_dir / "daemon.status.json", + log_path=config.life_dir / "daemons" / "boot-test.log", + spawn_lock_fd=7, + release_spawn_lock=lambda _fd: None, + quiet=True, + ) + + assert rc == 2 + + def test_windows_background_worker_rejects_foreign_status_and_reaps_spawn( monkeypatch, tmp_path: Path,