@theowlops/boombot 0.0.0-stage → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -3
- package/dist/LICENSE +21 -0
- package/dist/bin/boombot.js +16 -0
- package/dist/cli/api-key.js +123 -0
- package/dist/cli/bin-bun.js +17 -0
- package/dist/cli/bin.js +34 -0
- package/dist/cli/cli/cli-error.js +61 -0
- package/dist/cli/cli/dispatch.js +138 -0
- package/dist/cli/cli/help.js +83 -0
- package/dist/cli/cli/parser.js +89 -0
- package/dist/cli/cli/registry.js +185 -0
- package/dist/cli/cli/spec.js +41 -0
- package/dist/cli/cli/suggest.js +125 -0
- package/dist/cli/cli/version.js +30 -0
- package/dist/cli/cli/vocabulary.js +87 -0
- package/dist/cli/commands/doctor.js +365 -0
- package/dist/cli/commands/gateway.js +290 -0
- package/dist/cli/commands/migrate.js +270 -0
- package/dist/cli/commands/plugin.js +97 -0
- package/dist/cli/commands/setup.js +244 -0
- package/dist/cli/config-file.js +133 -0
- package/dist/cli/master-key.js +78 -0
- package/dist/cli/open-browser.js +59 -0
- package/dist/cli/web-assets.js +58 -0
- package/dist/gateway/auth.js +46 -0
- package/dist/gateway/config-format.js +202 -0
- package/dist/gateway/config.js +427 -0
- package/dist/gateway/context.js +1 -0
- package/dist/gateway/env-file.js +129 -0
- package/dist/gateway/events.js +172 -0
- package/dist/gateway/guard/tagging.js +505 -0
- package/dist/gateway/handlers/index.js +66 -0
- package/dist/gateway/handlers/memory.js +54 -0
- package/dist/gateway/handlers/providers.js +73 -0
- package/dist/gateway/handlers/registry.js +39 -0
- package/dist/gateway/handlers/sessions.js +188 -0
- package/dist/gateway/handlers/system.js +12 -0
- package/dist/gateway/handlers/tasks.js +191 -0
- package/dist/gateway/handlers/turn.js +100 -0
- package/dist/gateway/index.js +126 -0
- package/dist/gateway/main.js +23 -0
- package/dist/gateway/server.js +354 -0
- package/dist/gateway/services/context-limits.js +75 -0
- package/dist/gateway/services/history-normalizer.js +42 -0
- package/dist/gateway/services/image-pipeline.js +56 -0
- package/dist/gateway/services/key-roulette-client.js +43 -0
- package/dist/gateway/services/llm-client.js +593 -0
- package/dist/gateway/services/llm-decoder.js +200 -0
- package/dist/gateway/services/local-fallback.js +135 -0
- package/dist/gateway/services/memory.js +511 -0
- package/dist/gateway/services/persistent-memory.js +196 -0
- package/dist/gateway/services/providers.js +44 -0
- package/dist/gateway/services/tasks.js +237 -0
- package/dist/gateway/services/verification.js +124 -0
- package/dist/gateway/services/vision-payload.js +48 -0
- package/dist/gateway/services.js +257 -0
- package/dist/gateway/session-snapshot.js +19 -0
- package/dist/gateway/sessions.js +701 -0
- package/dist/gateway/static.js +239 -0
- package/dist/gateway/turns/clarify-tool.js +57 -0
- package/dist/gateway/turns/cronjob-tool.js +96 -0
- package/dist/gateway/turns/deferred-tools.js +154 -0
- package/dist/gateway/turns/execute-code-tool.js +84 -0
- package/dist/gateway/turns/file-tool-defs.js +178 -0
- package/dist/gateway/turns/file-tool-ops.js +178 -0
- package/dist/gateway/turns/file-tool-scan.js +182 -0
- package/dist/gateway/turns/file-tool.js +302 -0
- package/dist/gateway/turns/index.js +416 -0
- package/dist/gateway/turns/jev-middleware.js +91 -0
- package/dist/gateway/turns/local-reply.js +156 -0
- package/dist/gateway/turns/mcp-client.js +643 -0
- package/dist/gateway/turns/memory-tool.js +171 -0
- package/dist/gateway/turns/middleware.js +96 -0
- package/dist/gateway/turns/python-core.js +397 -0
- package/dist/gateway/turns/routing/index.js +3 -0
- package/dist/gateway/turns/routing/intent-classifier.js +60 -0
- package/dist/gateway/turns/routing/planner-adapter.js +91 -0
- package/dist/gateway/turns/routing/types.js +1 -0
- package/dist/gateway/turns/runtime-deps.js +228 -0
- package/dist/gateway/turns/self-config-tool.js +277 -0
- package/dist/gateway/turns/service-types.js +11 -0
- package/dist/gateway/turns/service.js +820 -0
- package/dist/gateway/turns/session-adapter.js +158 -0
- package/dist/gateway/turns/session-tool.js +49 -0
- package/dist/gateway/turns/shell-tool.js +190 -0
- package/dist/gateway/turns/skill-tool.js +239 -0
- package/dist/gateway/turns/spillover.js +201 -0
- package/dist/gateway/turns/subagent-tool.js +140 -0
- package/dist/gateway/turns/system-prompt.js +121 -0
- package/dist/gateway/turns/tool-schema.js +90 -0
- package/dist/gateway/turns/turn-utils.js +58 -0
- package/dist/gateway/turns/vision-tool.js +120 -0
- package/dist/gateway/types.js +1 -0
- package/dist/native/win32-x64/boombot-native-host.exe +0 -0
- package/dist/node_modules/@boombot/channels/handlers.d.ts +9 -0
- package/dist/node_modules/@boombot/channels/handlers.js +109 -0
- package/dist/node_modules/@boombot/channels/index.d.ts +12 -0
- package/dist/node_modules/@boombot/channels/index.js +12 -0
- package/dist/node_modules/@boombot/channels/package.json +9 -0
- package/dist/node_modules/@boombot/channels/service.d.ts +62 -0
- package/dist/node_modules/@boombot/channels/service.js +608 -0
- package/dist/node_modules/@boombot/channels/tool.d.ts +10 -0
- package/dist/node_modules/@boombot/channels/tool.js +46 -0
- package/dist/node_modules/@boombot/channels/transports/common/dedup.d.ts +17 -0
- package/dist/node_modules/@boombot/channels/transports/common/dedup.js +42 -0
- package/dist/node_modules/@boombot/channels/transports/common/handoff.d.ts +19 -0
- package/dist/node_modules/@boombot/channels/transports/common/handoff.js +32 -0
- package/dist/node_modules/@boombot/channels/transports/common/index.d.ts +3 -0
- package/dist/node_modules/@boombot/channels/transports/common/index.js +3 -0
- package/dist/node_modules/@boombot/channels/transports/common/types.d.ts +99 -0
- package/dist/node_modules/@boombot/channels/transports/common/types.js +54 -0
- package/dist/node_modules/@boombot/channels/transports/common.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/common.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/dedup/index.d.ts +1 -0
- package/dist/node_modules/@boombot/channels/transports/dedup/index.js +1 -0
- package/dist/node_modules/@boombot/channels/transports/dedup.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/dedup.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/discord/index.d.ts +1 -0
- package/dist/node_modules/@boombot/channels/transports/discord/index.js +1 -0
- package/dist/node_modules/@boombot/channels/transports/discord/transport.d.ts +36 -0
- package/dist/node_modules/@boombot/channels/transports/discord/transport.js +199 -0
- package/dist/node_modules/@boombot/channels/transports/discord.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/discord.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/handoff.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/handoff.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/messenger/index.d.ts +1 -0
- package/dist/node_modules/@boombot/channels/transports/messenger/index.js +1 -0
- package/dist/node_modules/@boombot/channels/transports/messenger/transport.d.ts +34 -0
- package/dist/node_modules/@boombot/channels/transports/messenger/transport.js +180 -0
- package/dist/node_modules/@boombot/channels/transports/messenger.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/messenger.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/slack/index.d.ts +1 -0
- package/dist/node_modules/@boombot/channels/transports/slack/index.js +1 -0
- package/dist/node_modules/@boombot/channels/transports/slack/transport.d.ts +35 -0
- package/dist/node_modules/@boombot/channels/transports/slack/transport.js +183 -0
- package/dist/node_modules/@boombot/channels/transports/slack.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/slack.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/streamer/index.d.ts +1 -0
- package/dist/node_modules/@boombot/channels/transports/streamer/index.js +1 -0
- package/dist/node_modules/@boombot/channels/transports/streamer/streamer.d.ts +31 -0
- package/dist/node_modules/@boombot/channels/transports/streamer/streamer.js +141 -0
- package/dist/node_modules/@boombot/channels/transports/streamer.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/streamer.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/telegram/index.d.ts +1 -0
- package/dist/node_modules/@boombot/channels/transports/telegram/index.js +1 -0
- package/dist/node_modules/@boombot/channels/transports/telegram/transport.d.ts +75 -0
- package/dist/node_modules/@boombot/channels/transports/telegram/transport.js +395 -0
- package/dist/node_modules/@boombot/channels/transports/telegram.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/telegram.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/tiktok/index.d.ts +1 -0
- package/dist/node_modules/@boombot/channels/transports/tiktok/index.js +1 -0
- package/dist/node_modules/@boombot/channels/transports/tiktok/transport.d.ts +27 -0
- package/dist/node_modules/@boombot/channels/transports/tiktok/transport.js +97 -0
- package/dist/node_modules/@boombot/channels/transports/tiktok.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/tiktok.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/whatsapp/index.d.ts +1 -0
- package/dist/node_modules/@boombot/channels/transports/whatsapp/index.js +1 -0
- package/dist/node_modules/@boombot/channels/transports/whatsapp/transport.d.ts +38 -0
- package/dist/node_modules/@boombot/channels/transports/whatsapp/transport.js +189 -0
- package/dist/node_modules/@boombot/channels/transports/whatsapp.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/whatsapp.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/zalo/index.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/zalo/index.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/zalo/oa.d.ts +28 -0
- package/dist/node_modules/@boombot/channels/transports/zalo/oa.js +94 -0
- package/dist/node_modules/@boombot/channels/transports/zalo/personal.d.ts +106 -0
- package/dist/node_modules/@boombot/channels/transports/zalo/personal.js +171 -0
- package/dist/node_modules/@boombot/channels/transports/zalo-personal.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/zalo-personal.js +2 -0
- package/dist/node_modules/@boombot/channels/transports/zalo.d.ts +2 -0
- package/dist/node_modules/@boombot/channels/transports/zalo.js +2 -0
- package/dist/node_modules/@boombot/core/agent-core/index.d.ts +12 -0
- package/dist/node_modules/@boombot/core/agent-core/index.js +12 -0
- package/dist/node_modules/@boombot/core/agent-core/middleware.d.ts +60 -0
- package/dist/node_modules/@boombot/core/agent-core/middleware.js +152 -0
- package/dist/node_modules/@boombot/core/agent-core/routing.d.ts +128 -0
- package/dist/node_modules/@boombot/core/agent-core/routing.js +437 -0
- package/dist/node_modules/@boombot/core/agent-core/runtime-deps.d.ts +88 -0
- package/dist/node_modules/@boombot/core/agent-core/runtime-deps.js +8 -0
- package/dist/node_modules/@boombot/core/agent-core/tool-errors.d.ts +44 -0
- package/dist/node_modules/@boombot/core/agent-core/tool-errors.js +60 -0
- package/dist/node_modules/@boombot/core/agent-core/turn-loop.d.ts +21 -0
- package/dist/node_modules/@boombot/core/agent-core/turn-loop.js +561 -0
- package/dist/node_modules/@boombot/core/agent-core/types.d.ts +189 -0
- package/dist/node_modules/@boombot/core/agent-core/types.js +7 -0
- package/dist/node_modules/@boombot/core/compaction/compactor.d.ts +19 -0
- package/dist/node_modules/@boombot/core/compaction/compactor.js +127 -0
- package/dist/node_modules/@boombot/core/compaction/estimator.d.ts +10 -0
- package/dist/node_modules/@boombot/core/compaction/estimator.js +48 -0
- package/dist/node_modules/@boombot/core/compaction/index.d.ts +3 -0
- package/dist/node_modules/@boombot/core/compaction/index.js +3 -0
- package/dist/node_modules/@boombot/core/compaction/types.d.ts +31 -0
- package/dist/node_modules/@boombot/core/compaction/types.js +7 -0
- package/dist/node_modules/@boombot/core/index.d.ts +9 -0
- package/dist/node_modules/@boombot/core/index.js +9 -0
- package/dist/node_modules/@boombot/core/jev/index.d.ts +2 -0
- package/dist/node_modules/@boombot/core/jev/index.js +2 -0
- package/dist/node_modules/@boombot/core/jev/jev.d.ts +30 -0
- package/dist/node_modules/@boombot/core/jev/jev.js +164 -0
- package/dist/node_modules/@boombot/core/jev/types.d.ts +22 -0
- package/dist/node_modules/@boombot/core/jev/types.js +1 -0
- package/dist/node_modules/@boombot/core/memory/consolidation/budget.d.ts +63 -0
- package/dist/node_modules/@boombot/core/memory/consolidation/budget.js +94 -0
- package/dist/node_modules/@boombot/core/memory/consolidation/consolidator.d.ts +152 -0
- package/dist/node_modules/@boombot/core/memory/consolidation/consolidator.js +318 -0
- package/dist/node_modules/@boombot/core/memory/consolidation/index.d.ts +12 -0
- package/dist/node_modules/@boombot/core/memory/consolidation/index.js +12 -0
- package/dist/node_modules/@boombot/core/memory/curation.d.ts +86 -0
- package/dist/node_modules/@boombot/core/memory/curation.js +120 -0
- package/dist/node_modules/@boombot/core/memory/errors.d.ts +12 -0
- package/dist/node_modules/@boombot/core/memory/errors.js +20 -0
- package/dist/node_modules/@boombot/core/memory/hybrid-search.d.ts +29 -0
- package/dist/node_modules/@boombot/core/memory/hybrid-search.js +52 -0
- package/dist/node_modules/@boombot/core/memory/index.d.ts +23 -0
- package/dist/node_modules/@boombot/core/memory/index.js +23 -0
- package/dist/node_modules/@boombot/core/memory/indexer.d.ts +47 -0
- package/dist/node_modules/@boombot/core/memory/indexer.js +138 -0
- package/dist/node_modules/@boombot/core/memory/lifecycle.d.ts +12 -0
- package/dist/node_modules/@boombot/core/memory/lifecycle.js +66 -0
- package/dist/node_modules/@boombot/core/memory/provider.d.ts +84 -0
- package/dist/node_modules/@boombot/core/memory/provider.js +117 -0
- package/dist/node_modules/@boombot/core/memory/recall.d.ts +7 -0
- package/dist/node_modules/@boombot/core/memory/recall.js +111 -0
- package/dist/node_modules/@boombot/core/memory/scope-resolver.d.ts +27 -0
- package/dist/node_modules/@boombot/core/memory/scope-resolver.js +60 -0
- package/dist/node_modules/@boombot/core/memory/search.d.ts +37 -0
- package/dist/node_modules/@boombot/core/memory/search.js +158 -0
- package/dist/node_modules/@boombot/core/memory/store.d.ts +60 -0
- package/dist/node_modules/@boombot/core/memory/store.js +289 -0
- package/dist/node_modules/@boombot/core/memory/types.d.ts +121 -0
- package/dist/node_modules/@boombot/core/memory/types.js +21 -0
- package/dist/node_modules/@boombot/core/memory/vector-index.d.ts +34 -0
- package/dist/node_modules/@boombot/core/memory/vector-index.js +65 -0
- package/dist/node_modules/@boombot/core/package.json +9 -0
- package/dist/node_modules/@boombot/core/reflection/classifier.d.ts +13 -0
- package/dist/node_modules/@boombot/core/reflection/classifier.js +77 -0
- package/dist/node_modules/@boombot/core/reflection/index.d.ts +2 -0
- package/dist/node_modules/@boombot/core/reflection/index.js +2 -0
- package/dist/node_modules/@boombot/core/reflection/types.d.ts +13 -0
- package/dist/node_modules/@boombot/core/reflection/types.js +4 -0
- package/dist/node_modules/@boombot/core/research/config.d.ts +89 -0
- package/dist/node_modules/@boombot/core/research/config.js +206 -0
- package/dist/node_modules/@boombot/core/research/crawl.d.ts +36 -0
- package/dist/node_modules/@boombot/core/research/crawl.js +179 -0
- package/dist/node_modules/@boombot/core/research/factory.d.ts +26 -0
- package/dist/node_modules/@boombot/core/research/factory.js +46 -0
- package/dist/node_modules/@boombot/core/research/http.d.ts +87 -0
- package/dist/node_modules/@boombot/core/research/http.js +250 -0
- package/dist/node_modules/@boombot/core/research/index.d.ts +17 -0
- package/dist/node_modules/@boombot/core/research/index.js +10 -0
- package/dist/node_modules/@boombot/core/research/orchestrator.d.ts +113 -0
- package/dist/node_modules/@boombot/core/research/orchestrator.js +252 -0
- package/dist/node_modules/@boombot/core/research/parse/docx.d.ts +24 -0
- package/dist/node_modules/@boombot/core/research/parse/docx.js +183 -0
- package/dist/node_modules/@boombot/core/research/parse/guards.d.ts +89 -0
- package/dist/node_modules/@boombot/core/research/parse/guards.js +171 -0
- package/dist/node_modules/@boombot/core/research/parse/index.d.ts +68 -0
- package/dist/node_modules/@boombot/core/research/parse/index.js +219 -0
- package/dist/node_modules/@boombot/core/research/parse/pdf.d.ts +38 -0
- package/dist/node_modules/@boombot/core/research/parse/pdf.js +567 -0
- package/dist/node_modules/@boombot/core/research/providers/arxiv.d.ts +9 -0
- package/dist/node_modules/@boombot/core/research/providers/arxiv.js +72 -0
- package/dist/node_modules/@boombot/core/research/providers/brave.d.ts +11 -0
- package/dist/node_modules/@boombot/core/research/providers/brave.js +36 -0
- package/dist/node_modules/@boombot/core/research/providers/duckduckgo.d.ts +9 -0
- package/dist/node_modules/@boombot/core/research/providers/duckduckgo.js +78 -0
- package/dist/node_modules/@boombot/core/research/providers/exa.d.ts +11 -0
- package/dist/node_modules/@boombot/core/research/providers/exa.js +34 -0
- package/dist/node_modules/@boombot/core/research/providers/firecrawl.d.ts +16 -0
- package/dist/node_modules/@boombot/core/research/providers/firecrawl.js +47 -0
- package/dist/node_modules/@boombot/core/research/providers/index.d.ts +17 -0
- package/dist/node_modules/@boombot/core/research/providers/index.js +11 -0
- package/dist/node_modules/@boombot/core/research/providers/jina.d.ts +13 -0
- package/dist/node_modules/@boombot/core/research/providers/jina.js +114 -0
- package/dist/node_modules/@boombot/core/research/providers/openalex.d.ts +14 -0
- package/dist/node_modules/@boombot/core/research/providers/openalex.js +66 -0
- package/dist/node_modules/@boombot/core/research/providers/semantic-scholar.d.ts +9 -0
- package/dist/node_modules/@boombot/core/research/providers/semantic-scholar.js +56 -0
- package/dist/node_modules/@boombot/core/research/providers/tavily.d.ts +11 -0
- package/dist/node_modules/@boombot/core/research/providers/tavily.js +35 -0
- package/dist/node_modules/@boombot/core/research/providers/wikipedia.d.ts +12 -0
- package/dist/node_modules/@boombot/core/research/providers/wikipedia.js +47 -0
- package/dist/node_modules/@boombot/core/research/tools.d.ts +27 -0
- package/dist/node_modules/@boombot/core/research/tools.js +251 -0
- package/dist/node_modules/@boombot/core/research/types.d.ts +133 -0
- package/dist/node_modules/@boombot/core/research/types.js +8 -0
- package/dist/node_modules/@boombot/core/research/wiring.d.ts +25 -0
- package/dist/node_modules/@boombot/core/research/wiring.js +51 -0
- package/dist/node_modules/@boombot/core/scheduler/cron.d.ts +34 -0
- package/dist/node_modules/@boombot/core/scheduler/cron.js +147 -0
- package/dist/node_modules/@boombot/core/scheduler/evaluator.d.ts +42 -0
- package/dist/node_modules/@boombot/core/scheduler/evaluator.js +148 -0
- package/dist/node_modules/@boombot/core/scheduler/index.d.ts +15 -0
- package/dist/node_modules/@boombot/core/scheduler/index.js +15 -0
- package/dist/node_modules/@boombot/core/scheduler/registry.d.ts +81 -0
- package/dist/node_modules/@boombot/core/scheduler/registry.js +263 -0
- package/dist/node_modules/@boombot/core/scheduler/runner.d.ts +59 -0
- package/dist/node_modules/@boombot/core/scheduler/runner.js +257 -0
- package/dist/node_modules/@boombot/core/scheduler/store.d.ts +150 -0
- package/dist/node_modules/@boombot/core/scheduler/store.js +526 -0
- package/dist/node_modules/@boombot/core/scheduler/timezone.d.ts +35 -0
- package/dist/node_modules/@boombot/core/scheduler/timezone.js +96 -0
- package/dist/node_modules/@boombot/core/scheduler/types.d.ts +157 -0
- package/dist/node_modules/@boombot/core/scheduler/types.js +89 -0
- package/dist/node_modules/@boombot/core/task-runner/index.d.ts +7 -0
- package/dist/node_modules/@boombot/core/task-runner/index.js +5 -0
- package/dist/node_modules/@boombot/core/task-runner/planner.d.ts +37 -0
- package/dist/node_modules/@boombot/core/task-runner/planner.js +154 -0
- package/dist/node_modules/@boombot/core/task-runner/runner.d.ts +8 -0
- package/dist/node_modules/@boombot/core/task-runner/runner.js +564 -0
- package/dist/node_modules/@boombot/core/task-runner/store.d.ts +28 -0
- package/dist/node_modules/@boombot/core/task-runner/store.js +126 -0
- package/dist/node_modules/@boombot/core/task-runner/types.d.ts +138 -0
- package/dist/node_modules/@boombot/core/task-runner/types.js +11 -0
- package/dist/node_modules/@boombot/core/workflow/dag.d.ts +16 -0
- package/dist/node_modules/@boombot/core/workflow/dag.js +109 -0
- package/dist/node_modules/@boombot/core/workflow/engine.d.ts +34 -0
- package/dist/node_modules/@boombot/core/workflow/engine.js +304 -0
- package/dist/node_modules/@boombot/core/workflow/index.d.ts +3 -0
- package/dist/node_modules/@boombot/core/workflow/index.js +3 -0
- package/dist/node_modules/@boombot/core/workflow/types.d.ts +98 -0
- package/dist/node_modules/@boombot/core/workflow/types.js +21 -0
- package/dist/node_modules/@boombot/cronjobs/handlers.d.ts +11 -0
- package/dist/node_modules/@boombot/cronjobs/handlers.js +174 -0
- package/dist/node_modules/@boombot/cronjobs/index.d.ts +2 -0
- package/dist/node_modules/@boombot/cronjobs/index.js +2 -0
- package/dist/node_modules/@boombot/cronjobs/package.json +9 -0
- package/dist/node_modules/@boombot/cronjobs/service.d.ts +53 -0
- package/dist/node_modules/@boombot/cronjobs/service.js +200 -0
- package/dist/node_modules/@boombot/plugins/index.d.ts +2 -0
- package/dist/node_modules/@boombot/plugins/index.js +2 -0
- package/dist/node_modules/@boombot/plugins/installer.d.ts +45 -0
- package/dist/node_modules/@boombot/plugins/installer.js +487 -0
- package/dist/node_modules/@boombot/plugins/manager.d.ts +23 -0
- package/dist/node_modules/@boombot/plugins/manager.js +243 -0
- package/dist/node_modules/@boombot/plugins/package.json +9 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/commands-channels.d.ts +125 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/commands-channels.js +76 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/commands-plugins.d.ts +220 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/commands-plugins.js +60 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/commands-scheduler.d.ts +33 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/commands-scheduler.js +25 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/commands.d.ts +4349 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/commands.js +563 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/envelope.d.ts +32 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/envelope.js +61 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/errors.d.ts +13 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/errors.js +16 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/events.d.ts +567 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/events.js +395 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/index.d.ts +20 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/index.js +13 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/types.d.ts +91 -0
- package/dist/node_modules/@boombot/protocol/gateway-protocol/types.js +7 -0
- package/dist/node_modules/@boombot/protocol/index.d.ts +4 -0
- package/dist/node_modules/@boombot/protocol/index.js +3 -0
- package/dist/node_modules/@boombot/protocol/package.json +9 -0
- package/dist/node_modules/@boombot/protocol/plugin-sdk/channel.d.ts +41 -0
- package/dist/node_modules/@boombot/protocol/plugin-sdk/channel.js +17 -0
- package/dist/node_modules/@boombot/protocol/plugin-sdk/index.d.ts +10 -0
- package/dist/node_modules/@boombot/protocol/plugin-sdk/index.js +10 -0
- package/dist/node_modules/@boombot/protocol/plugin-sdk/manifest.d.ts +58 -0
- package/dist/node_modules/@boombot/protocol/plugin-sdk/manifest.js +116 -0
- package/dist/node_modules/@boombot/protocol/plugin-sdk/plugin.d.ts +25 -0
- package/dist/node_modules/@boombot/protocol/plugin-sdk/plugin.js +1 -0
- package/dist/node_modules/@boombot/protocol/providers/cipher.d.ts +7 -0
- package/dist/node_modules/@boombot/protocol/providers/cipher.js +52 -0
- package/dist/node_modules/@boombot/protocol/providers/index.d.ts +19 -0
- package/dist/node_modules/@boombot/protocol/providers/index.js +19 -0
- package/dist/node_modules/@boombot/protocol/providers/key-roulette.d.ts +79 -0
- package/dist/node_modules/@boombot/protocol/providers/key-roulette.js +81 -0
- package/dist/node_modules/@boombot/protocol/providers/probe.d.ts +29 -0
- package/dist/node_modules/@boombot/protocol/providers/probe.js +96 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/anthropic.d.ts +11 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/anthropic.js +11 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/custom.d.ts +22 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/custom.js +222 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/deepseek.d.ts +7 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/deepseek.js +9 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/google.d.ts +10 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/google.js +10 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/index.d.ts +31 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/index.js +56 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/local.d.ts +10 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/local.js +11 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/mistral.d.ts +7 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/mistral.js +9 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/openai-compatible.d.ts +10 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/openai-compatible.js +10 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/openai.d.ts +7 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/openai.js +11 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/types.d.ts +58 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/types.js +1 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/xai.d.ts +7 -0
- package/dist/node_modules/@boombot/protocol/providers/profiles/xai.js +10 -0
- package/dist/node_modules/@boombot/protocol/providers/request-profile.d.ts +102 -0
- package/dist/node_modules/@boombot/protocol/providers/request-profile.js +118 -0
- package/dist/node_modules/@boombot/protocol/providers/service.d.ts +2 -0
- package/dist/node_modules/@boombot/protocol/providers/service.js +418 -0
- package/dist/node_modules/@boombot/protocol/providers/types.d.ts +141 -0
- package/dist/node_modules/@boombot/protocol/providers/types.js +16 -0
- package/dist/node_modules/@boombot/sandbox/fs-path.d.ts +13 -0
- package/dist/node_modules/@boombot/sandbox/fs-path.js +79 -0
- package/dist/node_modules/@boombot/sandbox/index.d.ts +13 -0
- package/dist/node_modules/@boombot/sandbox/index.js +13 -0
- package/dist/node_modules/@boombot/sandbox/native.d.ts +39 -0
- package/dist/node_modules/@boombot/sandbox/native.js +224 -0
- package/dist/node_modules/@boombot/sandbox/package.json +9 -0
- package/dist/node_modules/@boombot/sandbox/sandbox.d.ts +92 -0
- package/dist/node_modules/@boombot/sandbox/sandbox.js +229 -0
- package/dist/node_modules/@boombot/security/harness-guard/boundary.d.ts +22 -0
- package/dist/node_modules/@boombot/security/harness-guard/boundary.js +105 -0
- package/dist/node_modules/@boombot/security/harness-guard/gates.d.ts +90 -0
- package/dist/node_modules/@boombot/security/harness-guard/gates.js +791 -0
- package/dist/node_modules/@boombot/security/harness-guard/index.d.ts +23 -0
- package/dist/node_modules/@boombot/security/harness-guard/index.js +23 -0
- package/dist/node_modules/@boombot/security/harness-guard/policy.d.ts +20 -0
- package/dist/node_modules/@boombot/security/harness-guard/policy.js +70 -0
- package/dist/node_modules/@boombot/security/harness-guard/sanitizer.d.ts +53 -0
- package/dist/node_modules/@boombot/security/harness-guard/sanitizer.js +145 -0
- package/dist/node_modules/@boombot/security/harness-guard/types.d.ts +71 -0
- package/dist/node_modules/@boombot/security/harness-guard/types.js +10 -0
- package/dist/node_modules/@boombot/security/harness-guard/verifier.d.ts +59 -0
- package/dist/node_modules/@boombot/security/harness-guard/verifier.js +169 -0
- package/dist/node_modules/@boombot/security/index.d.ts +5 -0
- package/dist/node_modules/@boombot/security/index.js +9 -0
- package/dist/node_modules/@boombot/security/package.json +9 -0
- package/dist/node_modules/@boombot/security/policy/approval.d.ts +117 -0
- package/dist/node_modules/@boombot/security/policy/approval.js +223 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/claim-extractor.d.ts +10 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/claim-extractor.js +124 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/evidence-ledger.d.ts +25 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/evidence-ledger.js +70 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/gate.d.ts +38 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/gate.js +61 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/grounding-check.d.ts +12 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/grounding-check.js +234 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/index.d.ts +17 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/index.js +13 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/policy.d.ts +15 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/policy.js +39 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/types.d.ts +46 -0
- package/dist/node_modules/@boombot/security/reasoning-guard/types.js +7 -0
- package/dist/node_modules/@boombot/security/security/approval.d.ts +63 -0
- package/dist/node_modules/@boombot/security/security/approval.js +140 -0
- package/dist/node_modules/@boombot/security/security/audit.d.ts +39 -0
- package/dist/node_modules/@boombot/security/security/audit.js +70 -0
- package/dist/node_modules/@boombot/security/security/index.d.ts +12 -0
- package/dist/node_modules/@boombot/security/security/index.js +12 -0
- package/dist/node_modules/@boombot/security/security/trust.d.ts +79 -0
- package/dist/node_modules/@boombot/security/security/trust.js +87 -0
- package/dist/package.json +5 -0
- package/dist/proto/agent_core.proto +56 -0
- package/dist/python/agent-core-python/pyproject.toml +40 -0
- package/dist/python/agent-core-python/src/boombot_agent/__init__.py +5 -0
- package/dist/python/agent-core-python/src/boombot_agent/generated/__init__.py +0 -0
- package/dist/python/agent-core-python/src/boombot_agent/generated/agent_core_pb2.py +54 -0
- package/dist/python/agent-core-python/src/boombot_agent/generated/agent_core_pb2_grpc.py +140 -0
- package/dist/python/agent-core-python/src/boombot_agent/rpc.py +265 -0
- package/dist/python/agent-core-python/src/boombot_agent/turn.py +577 -0
- package/dist/python/agent-core-python/src/boombot_ml/__init__.py +12 -0
- package/dist/python/agent-core-python/src/boombot_ml/embeddings.py +58 -0
- package/dist/python/agent-core-python/src/boombot_ml/training.py +156 -0
- package/dist/python/agent-core-python/uv.lock +2856 -0
- package/dist/web/assets/ChatView-BZrSD-64.js +262 -0
- package/dist/web/assets/ChatView-Cahbjez6.css +1 -0
- package/dist/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/web/assets/MemoryView-BJbXqqs7.css +1 -0
- package/dist/web/assets/MemoryView-BfMq_6CD.js +1 -0
- package/dist/web/assets/SchedulesView-B22QmPR-.js +1 -0
- package/dist/web/assets/SchedulesView-C6XK7A8a.css +1 -0
- package/dist/web/assets/SessionsView-C1dqdhxI.css +1 -0
- package/dist/web/assets/SessionsView-DS0-aH2a.js +1 -0
- package/dist/web/assets/TasksView-Dtasg4hd.css +1 -0
- package/dist/web/assets/TasksView-ey0FLsW8.js +2 -0
- package/dist/web/assets/Textarea-DN3Zybl1.js +1 -0
- package/dist/web/assets/Tooltip-Bn2cqFPz.css +1 -0
- package/dist/web/assets/Tooltip-MzV2Gqnc.js +1 -0
- package/dist/web/assets/browser-Bnt73-Ub.js +8 -0
- package/dist/web/assets/index-BL8bi7Yt.css +1 -0
- package/dist/web/assets/index-CuPR73Tn.js +73 -0
- package/dist/web/favicon.svg +4 -0
- package/dist/web/index.html +26 -0
- package/dist/web/logo.jpg +0 -0
- package/dist/web/logo.png +0 -0
- package/package.json +51 -4
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatView-BZrSD-64.js","assets/Textarea-DN3Zybl1.js","assets/ChatView-Cahbjez6.css","assets/SessionsView-DS0-aH2a.js","assets/SessionsView-C1dqdhxI.css","assets/SchedulesView-B22QmPR-.js","assets/Tooltip-MzV2Gqnc.js","assets/Tooltip-Bn2cqFPz.css","assets/SchedulesView-C6XK7A8a.css","assets/TasksView-ey0FLsW8.js","assets/TasksView-Dtasg4hd.css","assets/MemoryView-BfMq_6CD.js","assets/MemoryView-BJbXqqs7.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
var mp=Object.defineProperty;var gp=(a,i,c)=>i in a?mp(a,i,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[i]=c;var td=(a,i,c)=>gp(a,typeof i!="symbol"?i+"":i,c);function vp(a,i){for(var c=0;c<i.length;c++){const d=i[c];if(typeof d!="string"&&!Array.isArray(d)){for(const h in d)if(h!=="default"&&!(h in a)){const m=Object.getOwnPropertyDescriptor(d,h);m&&Object.defineProperty(a,h,m.get?m:{enumerable:!0,get:()=>d[h]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))d(h);new MutationObserver(h=>{for(const m of h)if(m.type==="childList")for(const f of m.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&d(f)}).observe(document,{childList:!0,subtree:!0});function c(h){const m={};return h.integrity&&(m.integrity=h.integrity),h.referrerPolicy&&(m.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?m.credentials="include":h.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function d(h){if(h.ep)return;h.ep=!0;const m=c(h);fetch(h.href,m)}})();function yp(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var Ki={exports:{}},xo={},Hi={exports:{}},ye={};/**
|
|
3
|
+
* @license React
|
|
4
|
+
* react.production.min.js
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the MIT license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
|
+
*/var nd;function wp(){if(nd)return ye;nd=1;var a=Symbol.for("react.element"),i=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),m=Symbol.for("react.provider"),f=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),k=Symbol.for("react.suspense"),N=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),j=Symbol.iterator;function A(S){return S===null||typeof S!="object"?null:(S=j&&S[j]||S["@@iterator"],typeof S=="function"?S:null)}var H={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,C={};function M(S,D,P){this.props=S,this.context=D,this.refs=C,this.updater=P||H}M.prototype.isReactComponent={},M.prototype.setState=function(S,D){if(typeof S!="object"&&typeof S!="function"&&S!=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,S,D,"setState")},M.prototype.forceUpdate=function(S){this.updater.enqueueForceUpdate(this,S,"forceUpdate")};function R(){}R.prototype=M.prototype;function L(S,D,P){this.props=S,this.context=D,this.refs=C,this.updater=P||H}var I=L.prototype=new R;I.constructor=L,_(I,M.prototype),I.isPureReactComponent=!0;var B=Array.isArray,ue=Object.prototype.hasOwnProperty,q={current:null},pe={key:!0,ref:!0,__self:!0,__source:!0};function re(S,D,P){var U,X={},he=null,Ce=null;if(D!=null)for(U in D.ref!==void 0&&(Ce=D.ref),D.key!==void 0&&(he=""+D.key),D)ue.call(D,U)&&!pe.hasOwnProperty(U)&&(X[U]=D[U]);var ge=arguments.length-2;if(ge===1)X.children=P;else if(1<ge){for(var be=Array(ge),Ve=0;Ve<ge;Ve++)be[Ve]=arguments[Ve+2];X.children=be}if(S&&S.defaultProps)for(U in ge=S.defaultProps,ge)X[U]===void 0&&(X[U]=ge[U]);return{$$typeof:a,type:S,key:he,ref:Ce,props:X,_owner:q.current}}function te(S,D){return{$$typeof:a,type:S.type,key:D,ref:S.ref,props:S.props,_owner:S._owner}}function oe(S){return typeof S=="object"&&S!==null&&S.$$typeof===a}function xe(S){var D={"=":"=0",":":"=2"};return"$"+S.replace(/[=:]/g,function(P){return D[P]})}var Z=/\/+/g;function W(S,D){return typeof S=="object"&&S!==null&&S.key!=null?xe(""+S.key):D.toString(36)}function me(S,D,P,U,X){var he=typeof S;(he==="undefined"||he==="boolean")&&(S=null);var Ce=!1;if(S===null)Ce=!0;else switch(he){case"string":case"number":Ce=!0;break;case"object":switch(S.$$typeof){case a:case i:Ce=!0}}if(Ce)return Ce=S,X=X(Ce),S=U===""?"."+W(Ce,0):U,B(X)?(P="",S!=null&&(P=S.replace(Z,"$&/")+"/"),me(X,D,P,"",function(Ve){return Ve})):X!=null&&(oe(X)&&(X=te(X,P+(!X.key||Ce&&Ce.key===X.key?"":(""+X.key).replace(Z,"$&/")+"/")+S)),D.push(X)),1;if(Ce=0,U=U===""?".":U+":",B(S))for(var ge=0;ge<S.length;ge++){he=S[ge];var be=U+W(he,ge);Ce+=me(he,D,P,be,X)}else if(be=A(S),typeof be=="function")for(S=be.call(S),ge=0;!(he=S.next()).done;)he=he.value,be=U+W(he,ge++),Ce+=me(he,D,P,be,X);else if(he==="object")throw D=String(S),Error("Objects are not valid as a React child (found: "+(D==="[object Object]"?"object with keys {"+Object.keys(S).join(", ")+"}":D)+"). If you meant to render a collection of children, use an array instead.");return Ce}function Ne(S,D,P){if(S==null)return S;var U=[],X=0;return me(S,U,"","",function(he){return D.call(P,he,X++)}),U}function je(S){if(S._status===-1){var D=S._result;D=D(),D.then(function(P){(S._status===0||S._status===-1)&&(S._status=1,S._result=P)},function(P){(S._status===0||S._status===-1)&&(S._status=2,S._result=P)}),S._status===-1&&(S._status=0,S._result=D)}if(S._status===1)return S._result.default;throw S._result}var _e={current:null},$={transition:null},ae={ReactCurrentDispatcher:_e,ReactCurrentBatchConfig:$,ReactCurrentOwner:q};function V(){throw Error("act(...) is not supported in production builds of React.")}return ye.Children={map:Ne,forEach:function(S,D,P){Ne(S,function(){D.apply(this,arguments)},P)},count:function(S){var D=0;return Ne(S,function(){D++}),D},toArray:function(S){return Ne(S,function(D){return D})||[]},only:function(S){if(!oe(S))throw Error("React.Children.only expected to receive a single React element child.");return S}},ye.Component=M,ye.Fragment=c,ye.Profiler=h,ye.PureComponent=L,ye.StrictMode=d,ye.Suspense=k,ye.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ae,ye.act=V,ye.cloneElement=function(S,D,P){if(S==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+S+".");var U=_({},S.props),X=S.key,he=S.ref,Ce=S._owner;if(D!=null){if(D.ref!==void 0&&(he=D.ref,Ce=q.current),D.key!==void 0&&(X=""+D.key),S.type&&S.type.defaultProps)var ge=S.type.defaultProps;for(be in D)ue.call(D,be)&&!pe.hasOwnProperty(be)&&(U[be]=D[be]===void 0&&ge!==void 0?ge[be]:D[be])}var be=arguments.length-2;if(be===1)U.children=P;else if(1<be){ge=Array(be);for(var Ve=0;Ve<be;Ve++)ge[Ve]=arguments[Ve+2];U.children=ge}return{$$typeof:a,type:S.type,key:X,ref:he,props:U,_owner:Ce}},ye.createContext=function(S){return S={$$typeof:f,_currentValue:S,_currentValue2:S,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},S.Provider={$$typeof:m,_context:S},S.Consumer=S},ye.createElement=re,ye.createFactory=function(S){var D=re.bind(null,S);return D.type=S,D},ye.createRef=function(){return{current:null}},ye.forwardRef=function(S){return{$$typeof:y,render:S}},ye.isValidElement=oe,ye.lazy=function(S){return{$$typeof:x,_payload:{_status:-1,_result:S},_init:je}},ye.memo=function(S,D){return{$$typeof:N,type:S,compare:D===void 0?null:D}},ye.startTransition=function(S){var D=$.transition;$.transition={};try{S()}finally{$.transition=D}},ye.unstable_act=V,ye.useCallback=function(S,D){return _e.current.useCallback(S,D)},ye.useContext=function(S){return _e.current.useContext(S)},ye.useDebugValue=function(){},ye.useDeferredValue=function(S){return _e.current.useDeferredValue(S)},ye.useEffect=function(S,D){return _e.current.useEffect(S,D)},ye.useId=function(){return _e.current.useId()},ye.useImperativeHandle=function(S,D,P){return _e.current.useImperativeHandle(S,D,P)},ye.useInsertionEffect=function(S,D){return _e.current.useInsertionEffect(S,D)},ye.useLayoutEffect=function(S,D){return _e.current.useLayoutEffect(S,D)},ye.useMemo=function(S,D){return _e.current.useMemo(S,D)},ye.useReducer=function(S,D,P){return _e.current.useReducer(S,D,P)},ye.useRef=function(S){return _e.current.useRef(S)},ye.useState=function(S){return _e.current.useState(S)},ye.useSyncExternalStore=function(S,D,P){return _e.current.useSyncExternalStore(S,D,P)},ye.useTransition=function(){return _e.current.useTransition()},ye.version="18.3.1",ye}var rd;function sl(){return rd||(rd=1,Hi.exports=wp()),Hi.exports}/**
|
|
11
|
+
* @license React
|
|
12
|
+
* react-jsx-runtime.production.min.js
|
|
13
|
+
*
|
|
14
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the MIT license found in the
|
|
17
|
+
* LICENSE file in the root directory of this source tree.
|
|
18
|
+
*/var od;function kp(){if(od)return xo;od=1;var a=sl(),i=Symbol.for("react.element"),c=Symbol.for("react.fragment"),d=Object.prototype.hasOwnProperty,h=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,m={key:!0,ref:!0,__self:!0,__source:!0};function f(y,k,N){var x,j={},A=null,H=null;N!==void 0&&(A=""+N),k.key!==void 0&&(A=""+k.key),k.ref!==void 0&&(H=k.ref);for(x in k)d.call(k,x)&&!m.hasOwnProperty(x)&&(j[x]=k[x]);if(y&&y.defaultProps)for(x in k=y.defaultProps,k)j[x]===void 0&&(j[x]=k[x]);return{$$typeof:i,type:y,key:A,ref:H,props:j,_owner:h.current}}return xo.Fragment=c,xo.jsx=f,xo.jsxs=f,xo}var ad;function xp(){return ad||(ad=1,Ki.exports=kp()),Ki.exports}var o=xp(),p=sl();const _p=yp(p),Cp=vp({__proto__:null,default:_p},[p]);var Ba={},Ui={exports:{}},pt={},$i={exports:{}},Vi={};/**
|
|
19
|
+
* @license React
|
|
20
|
+
* scheduler.production.min.js
|
|
21
|
+
*
|
|
22
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the MIT license found in the
|
|
25
|
+
* LICENSE file in the root directory of this source tree.
|
|
26
|
+
*/var sd;function Sp(){return sd||(sd=1,(function(a){function i($,ae){var V=$.length;$.push(ae);e:for(;0<V;){var S=V-1>>>1,D=$[S];if(0<h(D,ae))$[S]=ae,$[V]=D,V=S;else break e}}function c($){return $.length===0?null:$[0]}function d($){if($.length===0)return null;var ae=$[0],V=$.pop();if(V!==ae){$[0]=V;e:for(var S=0,D=$.length,P=D>>>1;S<P;){var U=2*(S+1)-1,X=$[U],he=U+1,Ce=$[he];if(0>h(X,V))he<D&&0>h(Ce,X)?($[S]=Ce,$[he]=V,S=he):($[S]=X,$[U]=V,S=U);else if(he<D&&0>h(Ce,V))$[S]=Ce,$[he]=V,S=he;else break e}}return ae}function h($,ae){var V=$.sortIndex-ae.sortIndex;return V!==0?V:$.id-ae.id}if(typeof performance=="object"&&typeof performance.now=="function"){var m=performance;a.unstable_now=function(){return m.now()}}else{var f=Date,y=f.now();a.unstable_now=function(){return f.now()-y}}var k=[],N=[],x=1,j=null,A=3,H=!1,_=!1,C=!1,M=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I($){for(var ae=c(N);ae!==null;){if(ae.callback===null)d(N);else if(ae.startTime<=$)d(N),ae.sortIndex=ae.expirationTime,i(k,ae);else break;ae=c(N)}}function B($){if(C=!1,I($),!_)if(c(k)!==null)_=!0,je(ue);else{var ae=c(N);ae!==null&&_e(B,ae.startTime-$)}}function ue($,ae){_=!1,C&&(C=!1,R(re),re=-1),H=!0;var V=A;try{for(I(ae),j=c(k);j!==null&&(!(j.expirationTime>ae)||$&&!xe());){var S=j.callback;if(typeof S=="function"){j.callback=null,A=j.priorityLevel;var D=S(j.expirationTime<=ae);ae=a.unstable_now(),typeof D=="function"?j.callback=D:j===c(k)&&d(k),I(ae)}else d(k);j=c(k)}if(j!==null)var P=!0;else{var U=c(N);U!==null&&_e(B,U.startTime-ae),P=!1}return P}finally{j=null,A=V,H=!1}}var q=!1,pe=null,re=-1,te=5,oe=-1;function xe(){return!(a.unstable_now()-oe<te)}function Z(){if(pe!==null){var $=a.unstable_now();oe=$;var ae=!0;try{ae=pe(!0,$)}finally{ae?W():(q=!1,pe=null)}}else q=!1}var W;if(typeof L=="function")W=function(){L(Z)};else if(typeof MessageChannel<"u"){var me=new MessageChannel,Ne=me.port2;me.port1.onmessage=Z,W=function(){Ne.postMessage(null)}}else W=function(){M(Z,0)};function je($){pe=$,q||(q=!0,W())}function _e($,ae){re=M(function(){$(a.unstable_now())},ae)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function($){$.callback=null},a.unstable_continueExecution=function(){_||H||(_=!0,je(ue))},a.unstable_forceFrameRate=function($){0>$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):te=0<$?Math.floor(1e3/$):5},a.unstable_getCurrentPriorityLevel=function(){return A},a.unstable_getFirstCallbackNode=function(){return c(k)},a.unstable_next=function($){switch(A){case 1:case 2:case 3:var ae=3;break;default:ae=A}var V=A;A=ae;try{return $()}finally{A=V}},a.unstable_pauseExecution=function(){},a.unstable_requestPaint=function(){},a.unstable_runWithPriority=function($,ae){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var V=A;A=$;try{return ae()}finally{A=V}},a.unstable_scheduleCallback=function($,ae,V){var S=a.unstable_now();switch(typeof V=="object"&&V!==null?(V=V.delay,V=typeof V=="number"&&0<V?S+V:S):V=S,$){case 1:var D=-1;break;case 2:D=250;break;case 5:D=1073741823;break;case 4:D=1e4;break;default:D=5e3}return D=V+D,$={id:x++,callback:ae,priorityLevel:$,startTime:V,expirationTime:D,sortIndex:-1},V>S?($.sortIndex=V,i(N,$),c(k)===null&&$===c(N)&&(C?(R(re),re=-1):C=!0,_e(B,V-S))):($.sortIndex=D,i(k,$),_||H||(_=!0,je(ue))),$},a.unstable_shouldYield=xe,a.unstable_wrapCallback=function($){var ae=A;return function(){var V=A;A=ae;try{return $.apply(this,arguments)}finally{A=V}}}})(Vi)),Vi}var id;function jp(){return id||(id=1,$i.exports=Sp()),$i.exports}/**
|
|
27
|
+
* @license React
|
|
28
|
+
* react-dom.production.min.js
|
|
29
|
+
*
|
|
30
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
31
|
+
*
|
|
32
|
+
* This source code is licensed under the MIT license found in the
|
|
33
|
+
* LICENSE file in the root directory of this source tree.
|
|
34
|
+
*/var ld;function Tp(){if(ld)return pt;ld=1;var a=sl(),i=jp();function c(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var d=new Set,h={};function m(e,t){f(e,t),f(e+"Capture",t)}function f(e,t){for(h[e]=t,e=0;e<t.length;e++)d.add(t[e])}var y=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),k=Object.prototype.hasOwnProperty,N=/^[: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]*$/,x={},j={};function A(e){return k.call(j,e)?!0:k.call(x,e)?!1:N.test(e)?j[e]=!0:(x[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?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function _(e,t,n,r){if(t===null||typeof t>"u"||H(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 C(e,t,n,r,s,l,u){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=l,this.removeEmptyString=u}var M={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){M[e]=new C(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];M[t]=new C(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){M[e]=new C(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){M[e]=new C(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){M[e]=new C(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){M[e]=new C(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){M[e]=new C(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){M[e]=new C(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){M[e]=new C(e,5,!1,e.toLowerCase(),null,!1,!1)});var R=/[\-:]([a-z])/g;function L(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(R,L);M[t]=new C(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(R,L);M[t]=new C(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(R,L);M[t]=new C(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){M[e]=new C(e,1,!1,e.toLowerCase(),null,!1,!1)}),M.xlinkHref=new C("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){M[e]=new C(e,1,!1,e.toLowerCase(),null,!0,!0)});function I(e,t,n,r){var s=M.hasOwnProperty(t)?M[t]:null;(s!==null?s.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(_(t,n,s,r)&&(n=null),r||s===null?A(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):s.mustUseProperty?e[s.propertyName]=n===null?s.type===3?!1:"":n:(t=s.attributeName,r=s.attributeNamespace,n===null?e.removeAttribute(t):(s=s.type,n=s===3||s===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var B=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ue=Symbol.for("react.element"),q=Symbol.for("react.portal"),pe=Symbol.for("react.fragment"),re=Symbol.for("react.strict_mode"),te=Symbol.for("react.profiler"),oe=Symbol.for("react.provider"),xe=Symbol.for("react.context"),Z=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),me=Symbol.for("react.suspense_list"),Ne=Symbol.for("react.memo"),je=Symbol.for("react.lazy"),_e=Symbol.for("react.offscreen"),$=Symbol.iterator;function ae(e){return e===null||typeof e!="object"?null:(e=$&&e[$]||e["@@iterator"],typeof e=="function"?e:null)}var V=Object.assign,S;function D(e){if(S===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);S=t&&t[1]||""}return`
|
|
35
|
+
`+S+e}var P=!1;function U(e,t){if(!e||P)return"";P=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(b){var r=b}Reflect.construct(e,[],t)}else{try{t.call()}catch(b){r=b}e.call(t.prototype)}else{try{throw Error()}catch(b){r=b}e()}}catch(b){if(b&&r&&typeof b.stack=="string"){for(var s=b.stack.split(`
|
|
36
|
+
`),l=r.stack.split(`
|
|
37
|
+
`),u=s.length-1,g=l.length-1;1<=u&&0<=g&&s[u]!==l[g];)g--;for(;1<=u&&0<=g;u--,g--)if(s[u]!==l[g]){if(u!==1||g!==1)do if(u--,g--,0>g||s[u]!==l[g]){var v=`
|
|
38
|
+
`+s[u].replace(" at new "," at ");return e.displayName&&v.includes("<anonymous>")&&(v=v.replace("<anonymous>",e.displayName)),v}while(1<=u&&0<=g);break}}}finally{P=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?D(e):""}function X(e){switch(e.tag){case 5:return D(e.type);case 16:return D("Lazy");case 13:return D("Suspense");case 19:return D("SuspenseList");case 0:case 2:case 15:return e=U(e.type,!1),e;case 11:return e=U(e.type.render,!1),e;case 1:return e=U(e.type,!0),e;default:return""}}function he(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 pe:return"Fragment";case q:return"Portal";case te:return"Profiler";case re:return"StrictMode";case W:return"Suspense";case me:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case xe:return(e.displayName||"Context")+".Consumer";case oe:return(e._context.displayName||"Context")+".Provider";case Z:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ne:return t=e.displayName||null,t!==null?t:he(e.type)||"Memo";case je:t=e._payload,e=e._init;try{return he(e(t))}catch{}}return null}function Ce(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 he(t);case 8:return t===re?"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 ge(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function be(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Ve(e){var t=be(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,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(u){r=""+u,l.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Rn(e){e._valueTracker||(e._valueTracker=Ve(e))}function Pr(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=be(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ze(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 Kt(e,t){var n=t.checked;return V({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Zn(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=ge(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 Ro(e,t){t=t.checked,t!=null&&I(e,"checked",t,!1)}function Ar(e,t){Ro(e,t);var n=ge(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")?er(e,t.type,n):t.hasOwnProperty("defaultValue")&&er(e,t.type,ge(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Jn(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 er(e,t,n){(t!=="number"||Ze(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Pn=Array.isArray;function Qt(e,t,n,r){if(e=e.options,t){t={};for(var s=0;s<n.length;s++)t["$"+n[s]]=!0;for(n=0;n<e.length;n++)s=t.hasOwnProperty("$"+e[n].value),e[n].selected!==s&&(e[n].selected=s),s&&r&&(e[n].defaultSelected=!0)}else{for(n=""+ge(n),t=null,s=0;s<e.length;s++){if(e[s].value===n){e[s].selected=!0,r&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Ir(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(c(91));return V({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ne(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(c(92));if(Pn(n)){if(1<n.length)throw Error(c(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:ge(n)}}function Se(e,t){var n=ge(t.value),r=ge(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Me(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Ct(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function vt(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Ct(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var at,ml=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,s){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,s)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(at=at||document.createElement("div"),at.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=at.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Dr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Or={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},yh=["Webkit","ms","Moz","O"];Object.keys(Or).forEach(function(e){yh.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Or[t]=Or[e]})});function gl(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Or.hasOwnProperty(e)&&Or[e]?(""+t).trim():t+"px"}function vl(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,s=gl(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,s):e[n]=s}}var wh=V({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 Ja(e,t){if(t){if(wh[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(c(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(c(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(c(61))}if(t.style!=null&&typeof t.style!="object")throw Error(c(62))}}function es(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 ts=null;function ns(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var rs=null,tr=null,nr=null;function yl(e){if(e=ao(e)){if(typeof rs!="function")throw Error(c(280));var t=e.stateNode;t&&(t=ta(t),rs(e.stateNode,e.type,t))}}function wl(e){tr?nr?nr.push(e):nr=[e]:tr=e}function kl(){if(tr){var e=tr,t=nr;if(nr=tr=null,yl(e),t)for(e=0;e<t.length;e++)yl(t[e])}}function xl(e,t){return e(t)}function _l(){}var os=!1;function Cl(e,t,n){if(os)return e(t,n);os=!0;try{return xl(e,t,n)}finally{os=!1,(tr!==null||nr!==null)&&(_l(),kl())}}function Fr(e,t){var n=e.stateNode;if(n===null)return null;var r=ta(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(c(231,t,typeof n));return n}var as=!1;if(y)try{var zr={};Object.defineProperty(zr,"passive",{get:function(){as=!0}}),window.addEventListener("test",zr,zr),window.removeEventListener("test",zr,zr)}catch{as=!1}function kh(e,t,n,r,s,l,u,g,v){var b=Array.prototype.slice.call(arguments,3);try{t.apply(n,b)}catch(F){this.onError(F)}}var Br=!1,Po=null,Ao=!1,ss=null,xh={onError:function(e){Br=!0,Po=e}};function _h(e,t,n,r,s,l,u,g,v){Br=!1,Po=null,kh.apply(xh,arguments)}function Ch(e,t,n,r,s,l,u,g,v){if(_h.apply(this,arguments),Br){if(Br){var b=Po;Br=!1,Po=null}else throw Error(c(198));Ao||(Ao=!0,ss=b)}}function An(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Sl(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function jl(e){if(An(e)!==e)throw Error(c(188))}function Sh(e){var t=e.alternate;if(!t){if(t=An(e),t===null)throw Error(c(188));return t!==e?null:e}for(var n=e,r=t;;){var s=n.return;if(s===null)break;var l=s.alternate;if(l===null){if(r=s.return,r!==null){n=r;continue}break}if(s.child===l.child){for(l=s.child;l;){if(l===n)return jl(s),e;if(l===r)return jl(s),t;l=l.sibling}throw Error(c(188))}if(n.return!==r.return)n=s,r=l;else{for(var u=!1,g=s.child;g;){if(g===n){u=!0,n=s,r=l;break}if(g===r){u=!0,r=s,n=l;break}g=g.sibling}if(!u){for(g=l.child;g;){if(g===n){u=!0,n=l,r=s;break}if(g===r){u=!0,r=l,n=s;break}g=g.sibling}if(!u)throw Error(c(189))}}if(n.alternate!==r)throw Error(c(190))}if(n.tag!==3)throw Error(c(188));return n.stateNode.current===n?e:t}function Tl(e){return e=Sh(e),e!==null?El(e):null}function El(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=El(e);if(t!==null)return t;e=e.sibling}return null}var Nl=i.unstable_scheduleCallback,bl=i.unstable_cancelCallback,jh=i.unstable_shouldYield,Th=i.unstable_requestPaint,Ke=i.unstable_now,Eh=i.unstable_getCurrentPriorityLevel,is=i.unstable_ImmediatePriority,Ll=i.unstable_UserBlockingPriority,Io=i.unstable_NormalPriority,Nh=i.unstable_LowPriority,Ml=i.unstable_IdlePriority,Do=null,Ht=null;function bh(e){if(Ht&&typeof Ht.onCommitFiberRoot=="function")try{Ht.onCommitFiberRoot(Do,e,void 0,(e.current.flags&128)===128)}catch{}}var Pt=Math.clz32?Math.clz32:Rh,Lh=Math.log,Mh=Math.LN2;function Rh(e){return e>>>=0,e===0?32:31-(Lh(e)/Mh|0)|0}var Oo=64,Fo=4194304;function Kr(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 zo(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,s=e.suspendedLanes,l=e.pingedLanes,u=n&268435455;if(u!==0){var g=u&~s;g!==0?r=Kr(g):(l&=u,l!==0&&(r=Kr(l)))}else u=n&~s,u!==0?r=Kr(u):l!==0&&(r=Kr(l));if(r===0)return 0;if(t!==0&&t!==r&&(t&s)===0&&(s=r&-r,l=t&-t,s>=l||s===16&&(l&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-Pt(t),s=1<<n,r|=e[n],t&=~s;return r}function Ph(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,s=e.expirationTimes,l=e.pendingLanes;0<l;){var u=31-Pt(l),g=1<<u,v=s[u];v===-1?((g&n)===0||(g&r)!==0)&&(s[u]=Ph(g,t)):v<=t&&(e.expiredLanes|=g),l&=~g}}function ls(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Rl(){var e=Oo;return Oo<<=1,(Oo&4194240)===0&&(Oo=64),e}function cs(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Hr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Pt(t),e[t]=n}function Ih(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<n;){var s=31-Pt(n),l=1<<s;t[s]=0,r[s]=-1,e[s]=-1,n&=~l}}function us(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Pt(n),s=1<<r;s&t|e[r]&t&&(e[r]|=t),n&=~s}}var Le=0;function Pl(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var Al,ds,Il,Dl,Ol,hs=!1,Bo=[],ln=null,cn=null,un=null,Ur=new Map,$r=new Map,dn=[],Dh="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Fl(e,t){switch(e){case"focusin":case"focusout":ln=null;break;case"dragenter":case"dragleave":cn=null;break;case"mouseover":case"mouseout":un=null;break;case"pointerover":case"pointerout":Ur.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":$r.delete(t.pointerId)}}function Vr(e,t,n,r,s,l){return e===null||e.nativeEvent!==l?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:l,targetContainers:[s]},t!==null&&(t=ao(t),t!==null&&ds(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function Oh(e,t,n,r,s){switch(t){case"focusin":return ln=Vr(ln,e,t,n,r,s),!0;case"dragenter":return cn=Vr(cn,e,t,n,r,s),!0;case"mouseover":return un=Vr(un,e,t,n,r,s),!0;case"pointerover":var l=s.pointerId;return Ur.set(l,Vr(Ur.get(l)||null,e,t,n,r,s)),!0;case"gotpointercapture":return l=s.pointerId,$r.set(l,Vr($r.get(l)||null,e,t,n,r,s)),!0}return!1}function zl(e){var t=In(e.target);if(t!==null){var n=An(t);if(n!==null){if(t=n.tag,t===13){if(t=Sl(n),t!==null){e.blockedOn=t,Ol(e.priority,function(){Il(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ko(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=ps(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);ts=r,n.target.dispatchEvent(r),ts=null}else return t=ao(n),t!==null&&ds(t),e.blockedOn=n,!1;t.shift()}return!0}function Bl(e,t,n){Ko(e)&&n.delete(t)}function Fh(){hs=!1,ln!==null&&Ko(ln)&&(ln=null),cn!==null&&Ko(cn)&&(cn=null),un!==null&&Ko(un)&&(un=null),Ur.forEach(Bl),$r.forEach(Bl)}function Wr(e,t){e.blockedOn===t&&(e.blockedOn=null,hs||(hs=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Fh)))}function Gr(e){function t(s){return Wr(s,e)}if(0<Bo.length){Wr(Bo[0],e);for(var n=1;n<Bo.length;n++){var r=Bo[n];r.blockedOn===e&&(r.blockedOn=null)}}for(ln!==null&&Wr(ln,e),cn!==null&&Wr(cn,e),un!==null&&Wr(un,e),Ur.forEach(t),$r.forEach(t),n=0;n<dn.length;n++)r=dn[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<dn.length&&(n=dn[0],n.blockedOn===null);)zl(n),n.blockedOn===null&&dn.shift()}var rr=B.ReactCurrentBatchConfig,Ho=!0;function zh(e,t,n,r){var s=Le,l=rr.transition;rr.transition=null;try{Le=1,fs(e,t,n,r)}finally{Le=s,rr.transition=l}}function Bh(e,t,n,r){var s=Le,l=rr.transition;rr.transition=null;try{Le=4,fs(e,t,n,r)}finally{Le=s,rr.transition=l}}function fs(e,t,n,r){if(Ho){var s=ps(e,t,n,r);if(s===null)Ms(e,t,r,Uo,n),Fl(e,r);else if(Oh(s,e,t,n,r))r.stopPropagation();else if(Fl(e,r),t&4&&-1<Dh.indexOf(e)){for(;s!==null;){var l=ao(s);if(l!==null&&Al(l),l=ps(e,t,n,r),l===null&&Ms(e,t,r,Uo,n),l===s)break;s=l}s!==null&&r.stopPropagation()}else Ms(e,t,r,null,n)}}var Uo=null;function ps(e,t,n,r){if(Uo=null,e=ns(r),e=In(e),e!==null)if(t=An(e),t===null)e=null;else if(n=t.tag,n===13){if(e=Sl(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Uo=e,null}function Kl(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Eh()){case is:return 1;case Ll:return 4;case Io:case Nh:return 16;case Ml:return 536870912;default:return 16}default:return 16}}var hn=null,ms=null,$o=null;function Hl(){if($o)return $o;var e,t=ms,n=t.length,r,s="value"in hn?hn.value:hn.textContent,l=s.length;for(e=0;e<n&&t[e]===s[e];e++);var u=n-e;for(r=1;r<=u&&t[n-r]===s[l-r];r++);return $o=s.slice(e,1<r?1-r:void 0)}function Vo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Wo(){return!0}function Ul(){return!1}function yt(e){function t(n,r,s,l,u){this._reactName=n,this._targetInst=s,this.type=r,this.nativeEvent=l,this.target=u,this.currentTarget=null;for(var g in e)e.hasOwnProperty(g)&&(n=e[g],this[g]=n?n(l):l[g]);return this.isDefaultPrevented=(l.defaultPrevented!=null?l.defaultPrevented:l.returnValue===!1)?Wo:Ul,this.isPropagationStopped=Ul,this}return V(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Wo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Wo)},persist:function(){},isPersistent:Wo}),t}var or={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},gs=yt(or),qr=V({},or,{view:0,detail:0}),Kh=yt(qr),vs,ys,Qr,Go=V({},qr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ks,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Qr&&(Qr&&e.type==="mousemove"?(vs=e.screenX-Qr.screenX,ys=e.screenY-Qr.screenY):ys=vs=0,Qr=e),vs)},movementY:function(e){return"movementY"in e?e.movementY:ys}}),$l=yt(Go),Hh=V({},Go,{dataTransfer:0}),Uh=yt(Hh),$h=V({},qr,{relatedTarget:0}),ws=yt($h),Vh=V({},or,{animationName:0,elapsedTime:0,pseudoElement:0}),Wh=yt(Vh),Gh=V({},or,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),qh=yt(Gh),Qh=V({},or,{data:0}),Vl=yt(Qh),Xh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Yh={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Zh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Jh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Zh[e])?!!t[e]:!1}function ks(){return Jh}var ef=V({},qr,{key:function(e){if(e.key){var t=Xh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Vo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Yh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ks,charCode:function(e){return e.type==="keypress"?Vo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Vo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),tf=yt(ef),nf=V({},Go,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Wl=yt(nf),rf=V({},qr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ks}),of=yt(rf),af=V({},or,{propertyName:0,elapsedTime:0,pseudoElement:0}),sf=yt(af),lf=V({},Go,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),cf=yt(lf),uf=[9,13,27,32],xs=y&&"CompositionEvent"in window,Xr=null;y&&"documentMode"in document&&(Xr=document.documentMode);var df=y&&"TextEvent"in window&&!Xr,Gl=y&&(!xs||Xr&&8<Xr&&11>=Xr),ql=" ",Ql=!1;function Xl(e,t){switch(e){case"keyup":return uf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Yl(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ar=!1;function hf(e,t){switch(e){case"compositionend":return Yl(t);case"keypress":return t.which!==32?null:(Ql=!0,ql);case"textInput":return e=t.data,e===ql&&Ql?null:e;default:return null}}function ff(e,t){if(ar)return e==="compositionend"||!xs&&Xl(e,t)?(e=Hl(),$o=ms=hn=null,ar=!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.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Gl&&t.locale!=="ko"?null:t.data;default:return null}}var pf={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Zl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!pf[e.type]:t==="textarea"}function Jl(e,t,n,r){wl(r),t=Zo(t,"onChange"),0<t.length&&(n=new gs("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Yr=null,Zr=null;function mf(e){vc(e,0)}function qo(e){var t=ur(e);if(Pr(t))return e}function gf(e,t){if(e==="change")return t}var ec=!1;if(y){var _s;if(y){var Cs="oninput"in document;if(!Cs){var tc=document.createElement("div");tc.setAttribute("oninput","return;"),Cs=typeof tc.oninput=="function"}_s=Cs}else _s=!1;ec=_s&&(!document.documentMode||9<document.documentMode)}function nc(){Yr&&(Yr.detachEvent("onpropertychange",rc),Zr=Yr=null)}function rc(e){if(e.propertyName==="value"&&qo(Zr)){var t=[];Jl(t,Zr,e,ns(e)),Cl(mf,t)}}function vf(e,t,n){e==="focusin"?(nc(),Yr=t,Zr=n,Yr.attachEvent("onpropertychange",rc)):e==="focusout"&&nc()}function yf(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return qo(Zr)}function wf(e,t){if(e==="click")return qo(t)}function kf(e,t){if(e==="input"||e==="change")return qo(t)}function xf(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var At=typeof Object.is=="function"?Object.is:xf;function Jr(e,t){if(At(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var s=n[r];if(!k.call(t,s)||!At(e[s],t[s]))return!1}return!0}function oc(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ac(e,t){var n=oc(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=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=oc(n)}}function sc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?sc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ic(){for(var e=window,t=Ze();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ze(e.document)}return t}function Ss(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 _f(e){var t=ic(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&sc(n.ownerDocument.documentElement,n)){if(r!==null&&Ss(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,l=Math.min(r.start,s);r=r.end===void 0?l:Math.min(r.end,s),!e.extend&&l>r&&(s=r,r=l,l=s),s=ac(n,l);var u=ac(n,r);s&&u&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(u.node,u.offset)):(t.setEnd(u.node,u.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<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Cf=y&&"documentMode"in document&&11>=document.documentMode,sr=null,js=null,eo=null,Ts=!1;function lc(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ts||sr==null||sr!==Ze(r)||(r=sr,"selectionStart"in r&&Ss(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}),eo&&Jr(eo,r)||(eo=r,r=Zo(js,"onSelect"),0<r.length&&(t=new gs("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=sr)))}function Qo(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ir={animationend:Qo("Animation","AnimationEnd"),animationiteration:Qo("Animation","AnimationIteration"),animationstart:Qo("Animation","AnimationStart"),transitionend:Qo("Transition","TransitionEnd")},Es={},cc={};y&&(cc=document.createElement("div").style,"AnimationEvent"in window||(delete ir.animationend.animation,delete ir.animationiteration.animation,delete ir.animationstart.animation),"TransitionEvent"in window||delete ir.transitionend.transition);function Xo(e){if(Es[e])return Es[e];if(!ir[e])return e;var t=ir[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in cc)return Es[e]=t[n];return e}var uc=Xo("animationend"),dc=Xo("animationiteration"),hc=Xo("animationstart"),fc=Xo("transitionend"),pc=new Map,mc="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function fn(e,t){pc.set(e,t),m(t,[e])}for(var Ns=0;Ns<mc.length;Ns++){var bs=mc[Ns],Sf=bs.toLowerCase(),jf=bs[0].toUpperCase()+bs.slice(1);fn(Sf,"on"+jf)}fn(uc,"onAnimationEnd"),fn(dc,"onAnimationIteration"),fn(hc,"onAnimationStart"),fn("dblclick","onDoubleClick"),fn("focusin","onFocus"),fn("focusout","onBlur"),fn(fc,"onTransitionEnd"),f("onMouseEnter",["mouseout","mouseover"]),f("onMouseLeave",["mouseout","mouseover"]),f("onPointerEnter",["pointerout","pointerover"]),f("onPointerLeave",["pointerout","pointerover"]),m("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),m("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),m("onBeforeInput",["compositionend","keypress","textInput","paste"]),m("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),m("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),m("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var to="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Tf=new Set("cancel close invalid load scroll toggle".split(" ").concat(to));function gc(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,Ch(r,t,void 0,e),e.currentTarget=null}function vc(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],s=r.event;r=r.listeners;e:{var l=void 0;if(t)for(var u=r.length-1;0<=u;u--){var g=r[u],v=g.instance,b=g.currentTarget;if(g=g.listener,v!==l&&s.isPropagationStopped())break e;gc(s,g,b),l=v}else for(u=0;u<r.length;u++){if(g=r[u],v=g.instance,b=g.currentTarget,g=g.listener,v!==l&&s.isPropagationStopped())break e;gc(s,g,b),l=v}}}if(Ao)throw e=ss,Ao=!1,ss=null,e}function Pe(e,t){var n=t[Os];n===void 0&&(n=t[Os]=new Set);var r=e+"__bubble";n.has(r)||(yc(t,e,2,!1),n.add(r))}function Ls(e,t,n){var r=0;t&&(r|=4),yc(n,e,r,t)}var Yo="_reactListening"+Math.random().toString(36).slice(2);function no(e){if(!e[Yo]){e[Yo]=!0,d.forEach(function(n){n!=="selectionchange"&&(Tf.has(n)||Ls(n,!1,e),Ls(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Yo]||(t[Yo]=!0,Ls("selectionchange",!1,t))}}function yc(e,t,n,r){switch(Kl(t)){case 1:var s=zh;break;case 4:s=Bh;break;default:s=fs}n=s.bind(null,t,n,e),s=void 0,!as||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),r?s!==void 0?e.addEventListener(t,n,{capture:!0,passive:s}):e.addEventListener(t,n,!0):s!==void 0?e.addEventListener(t,n,{passive:s}):e.addEventListener(t,n,!1)}function Ms(e,t,n,r,s){var l=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var u=r.tag;if(u===3||u===4){var g=r.stateNode.containerInfo;if(g===s||g.nodeType===8&&g.parentNode===s)break;if(u===4)for(u=r.return;u!==null;){var v=u.tag;if((v===3||v===4)&&(v=u.stateNode.containerInfo,v===s||v.nodeType===8&&v.parentNode===s))return;u=u.return}for(;g!==null;){if(u=In(g),u===null)return;if(v=u.tag,v===5||v===6){r=l=u;continue e}g=g.parentNode}}r=r.return}Cl(function(){var b=l,F=ns(n),z=[];e:{var O=pc.get(e);if(O!==void 0){var G=gs,Y=e;switch(e){case"keypress":if(Vo(n)===0)break e;case"keydown":case"keyup":G=tf;break;case"focusin":Y="focus",G=ws;break;case"focusout":Y="blur",G=ws;break;case"beforeblur":case"afterblur":G=ws;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":G=$l;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":G=Uh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":G=of;break;case uc:case dc:case hc:G=Wh;break;case fc:G=sf;break;case"scroll":G=Kh;break;case"wheel":G=cf;break;case"copy":case"cut":case"paste":G=qh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":G=Wl}var J=(t&4)!==0,He=!J&&e==="scroll",T=J?O!==null?O+"Capture":null:O;J=[];for(var w=b,E;w!==null;){E=w;var K=E.stateNode;if(E.tag===5&&K!==null&&(E=K,T!==null&&(K=Fr(w,T),K!=null&&J.push(ro(w,K,E)))),He)break;w=w.return}0<J.length&&(O=new G(O,Y,null,n,F),z.push({event:O,listeners:J}))}}if((t&7)===0){e:{if(O=e==="mouseover"||e==="pointerover",G=e==="mouseout"||e==="pointerout",O&&n!==ts&&(Y=n.relatedTarget||n.fromElement)&&(In(Y)||Y[Xt]))break e;if((G||O)&&(O=F.window===F?F:(O=F.ownerDocument)?O.defaultView||O.parentWindow:window,G?(Y=n.relatedTarget||n.toElement,G=b,Y=Y?In(Y):null,Y!==null&&(He=An(Y),Y!==He||Y.tag!==5&&Y.tag!==6)&&(Y=null)):(G=null,Y=b),G!==Y)){if(J=$l,K="onMouseLeave",T="onMouseEnter",w="mouse",(e==="pointerout"||e==="pointerover")&&(J=Wl,K="onPointerLeave",T="onPointerEnter",w="pointer"),He=G==null?O:ur(G),E=Y==null?O:ur(Y),O=new J(K,w+"leave",G,n,F),O.target=He,O.relatedTarget=E,K=null,In(F)===b&&(J=new J(T,w+"enter",Y,n,F),J.target=E,J.relatedTarget=He,K=J),He=K,G&&Y)t:{for(J=G,T=Y,w=0,E=J;E;E=lr(E))w++;for(E=0,K=T;K;K=lr(K))E++;for(;0<w-E;)J=lr(J),w--;for(;0<E-w;)T=lr(T),E--;for(;w--;){if(J===T||T!==null&&J===T.alternate)break t;J=lr(J),T=lr(T)}J=null}else J=null;G!==null&&wc(z,O,G,J,!1),Y!==null&&He!==null&&wc(z,He,Y,J,!0)}}e:{if(O=b?ur(b):window,G=O.nodeName&&O.nodeName.toLowerCase(),G==="select"||G==="input"&&O.type==="file")var ee=gf;else if(Zl(O))if(ec)ee=kf;else{ee=yf;var ie=vf}else(G=O.nodeName)&&G.toLowerCase()==="input"&&(O.type==="checkbox"||O.type==="radio")&&(ee=wf);if(ee&&(ee=ee(e,b))){Jl(z,ee,n,F);break e}ie&&ie(e,O,b),e==="focusout"&&(ie=O._wrapperState)&&ie.controlled&&O.type==="number"&&er(O,"number",O.value)}switch(ie=b?ur(b):window,e){case"focusin":(Zl(ie)||ie.contentEditable==="true")&&(sr=ie,js=b,eo=null);break;case"focusout":eo=js=sr=null;break;case"mousedown":Ts=!0;break;case"contextmenu":case"mouseup":case"dragend":Ts=!1,lc(z,n,F);break;case"selectionchange":if(Cf)break;case"keydown":case"keyup":lc(z,n,F)}var le;if(xs)e:{switch(e){case"compositionstart":var de="onCompositionStart";break e;case"compositionend":de="onCompositionEnd";break e;case"compositionupdate":de="onCompositionUpdate";break e}de=void 0}else ar?Xl(e,n)&&(de="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(de="onCompositionStart");de&&(Gl&&n.locale!=="ko"&&(ar||de!=="onCompositionStart"?de==="onCompositionEnd"&&ar&&(le=Hl()):(hn=F,ms="value"in hn?hn.value:hn.textContent,ar=!0)),ie=Zo(b,de),0<ie.length&&(de=new Vl(de,e,null,n,F),z.push({event:de,listeners:ie}),le?de.data=le:(le=Yl(n),le!==null&&(de.data=le)))),(le=df?hf(e,n):ff(e,n))&&(b=Zo(b,"onBeforeInput"),0<b.length&&(F=new Vl("onBeforeInput","beforeinput",null,n,F),z.push({event:F,listeners:b}),F.data=le))}vc(z,t)})}function ro(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Zo(e,t){for(var n=t+"Capture",r=[];e!==null;){var s=e,l=s.stateNode;s.tag===5&&l!==null&&(s=l,l=Fr(e,n),l!=null&&r.unshift(ro(e,l,s)),l=Fr(e,t),l!=null&&r.push(ro(e,l,s))),e=e.return}return r}function lr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function wc(e,t,n,r,s){for(var l=t._reactName,u=[];n!==null&&n!==r;){var g=n,v=g.alternate,b=g.stateNode;if(v!==null&&v===r)break;g.tag===5&&b!==null&&(g=b,s?(v=Fr(n,l),v!=null&&u.unshift(ro(n,v,g))):s||(v=Fr(n,l),v!=null&&u.push(ro(n,v,g)))),n=n.return}u.length!==0&&e.push({event:t,listeners:u})}var Ef=/\r\n?/g,Nf=/\u0000|\uFFFD/g;function kc(e){return(typeof e=="string"?e:""+e).replace(Ef,`
|
|
39
|
+
`).replace(Nf,"")}function Jo(e,t,n){if(t=kc(t),kc(e)!==t&&n)throw Error(c(425))}function ea(){}var Rs=null,Ps=null;function As(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Is=typeof setTimeout=="function"?setTimeout:void 0,bf=typeof clearTimeout=="function"?clearTimeout:void 0,xc=typeof Promise=="function"?Promise:void 0,Lf=typeof queueMicrotask=="function"?queueMicrotask:typeof xc<"u"?function(e){return xc.resolve(null).then(e).catch(Mf)}:Is;function Mf(e){setTimeout(function(){throw e})}function Ds(e,t){var n=t,r=0;do{var s=n.nextSibling;if(e.removeChild(n),s&&s.nodeType===8)if(n=s.data,n==="/$"){if(r===0){e.removeChild(s),Gr(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=s}while(n);Gr(t)}function pn(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function _c(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var cr=Math.random().toString(36).slice(2),Ut="__reactFiber$"+cr,oo="__reactProps$"+cr,Xt="__reactContainer$"+cr,Os="__reactEvents$"+cr,Rf="__reactListeners$"+cr,Pf="__reactHandles$"+cr;function In(e){var t=e[Ut];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Xt]||n[Ut]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=_c(e);e!==null;){if(n=e[Ut])return n;e=_c(e)}return t}e=n,n=e.parentNode}return null}function ao(e){return e=e[Ut]||e[Xt],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function ur(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(c(33))}function ta(e){return e[oo]||null}var Fs=[],dr=-1;function mn(e){return{current:e}}function Ae(e){0>dr||(e.current=Fs[dr],Fs[dr]=null,dr--)}function Re(e,t){dr++,Fs[dr]=e.current,e.current=t}var gn={},tt=mn(gn),ct=mn(!1),Dn=gn;function hr(e,t){var n=e.type.contextTypes;if(!n)return gn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var s={},l;for(l in n)s[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function ut(e){return e=e.childContextTypes,e!=null}function na(){Ae(ct),Ae(tt)}function Cc(e,t,n){if(tt.current!==gn)throw Error(c(168));Re(tt,t),Re(ct,n)}function Sc(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(c(108,Ce(e)||"Unknown",s));return V({},n,r)}function ra(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||gn,Dn=tt.current,Re(tt,e),Re(ct,ct.current),!0}function jc(e,t,n){var r=e.stateNode;if(!r)throw Error(c(169));n?(e=Sc(e,t,Dn),r.__reactInternalMemoizedMergedChildContext=e,Ae(ct),Ae(tt),Re(tt,e)):Ae(ct),Re(ct,n)}var Yt=null,oa=!1,zs=!1;function Tc(e){Yt===null?Yt=[e]:Yt.push(e)}function Af(e){oa=!0,Tc(e)}function vn(){if(!zs&&Yt!==null){zs=!0;var e=0,t=Le;try{var n=Yt;for(Le=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Yt=null,oa=!1}catch(s){throw Yt!==null&&(Yt=Yt.slice(e+1)),Nl(is,vn),s}finally{Le=t,zs=!1}}return null}var fr=[],pr=0,aa=null,sa=0,St=[],jt=0,On=null,Zt=1,Jt="";function Fn(e,t){fr[pr++]=sa,fr[pr++]=aa,aa=e,sa=t}function Ec(e,t,n){St[jt++]=Zt,St[jt++]=Jt,St[jt++]=On,On=e;var r=Zt;e=Jt;var s=32-Pt(r)-1;r&=~(1<<s),n+=1;var l=32-Pt(t)+s;if(30<l){var u=s-s%5;l=(r&(1<<u)-1).toString(32),r>>=u,s-=u,Zt=1<<32-Pt(t)+s|n<<s|r,Jt=l+e}else Zt=1<<l|n<<s|r,Jt=e}function Bs(e){e.return!==null&&(Fn(e,1),Ec(e,1,0))}function Ks(e){for(;e===aa;)aa=fr[--pr],fr[pr]=null,sa=fr[--pr],fr[pr]=null;for(;e===On;)On=St[--jt],St[jt]=null,Jt=St[--jt],St[jt]=null,Zt=St[--jt],St[jt]=null}var wt=null,kt=null,Ie=!1,It=null;function Nc(e,t){var n=bt(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function bc(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,wt=e,kt=pn(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,wt=e,kt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=On!==null?{id:Zt,overflow:Jt}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=bt(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,wt=e,kt=null,!0):!1;default:return!1}}function Hs(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Us(e){if(Ie){var t=kt;if(t){var n=t;if(!bc(e,t)){if(Hs(e))throw Error(c(418));t=pn(n.nextSibling);var r=wt;t&&bc(e,t)?Nc(r,n):(e.flags=e.flags&-4097|2,Ie=!1,wt=e)}}else{if(Hs(e))throw Error(c(418));e.flags=e.flags&-4097|2,Ie=!1,wt=e}}}function Lc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;wt=e}function ia(e){if(e!==wt)return!1;if(!Ie)return Lc(e),Ie=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!As(e.type,e.memoizedProps)),t&&(t=kt)){if(Hs(e))throw Mc(),Error(c(418));for(;t;)Nc(e,t),t=pn(t.nextSibling)}if(Lc(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){kt=pn(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}kt=null}}else kt=wt?pn(e.stateNode.nextSibling):null;return!0}function Mc(){for(var e=kt;e;)e=pn(e.nextSibling)}function mr(){kt=wt=null,Ie=!1}function $s(e){It===null?It=[e]:It.push(e)}var If=B.ReactCurrentBatchConfig;function so(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(c(309));var r=n.stateNode}if(!r)throw Error(c(147,e));var s=r,l=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===l?t.ref:(t=function(u){var g=s.refs;u===null?delete g[l]:g[l]=u},t._stringRef=l,t)}if(typeof e!="string")throw Error(c(284));if(!n._owner)throw Error(c(290,e))}return e}function la(e,t){throw e=Object.prototype.toString.call(t),Error(c(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Rc(e){var t=e._init;return t(e._payload)}function Pc(e){function t(T,w){if(e){var E=T.deletions;E===null?(T.deletions=[w],T.flags|=16):E.push(w)}}function n(T,w){if(!e)return null;for(;w!==null;)t(T,w),w=w.sibling;return null}function r(T,w){for(T=new Map;w!==null;)w.key!==null?T.set(w.key,w):T.set(w.index,w),w=w.sibling;return T}function s(T,w){return T=jn(T,w),T.index=0,T.sibling=null,T}function l(T,w,E){return T.index=E,e?(E=T.alternate,E!==null?(E=E.index,E<w?(T.flags|=2,w):E):(T.flags|=2,w)):(T.flags|=1048576,w)}function u(T){return e&&T.alternate===null&&(T.flags|=2),T}function g(T,w,E,K){return w===null||w.tag!==6?(w=Ii(E,T.mode,K),w.return=T,w):(w=s(w,E),w.return=T,w)}function v(T,w,E,K){var ee=E.type;return ee===pe?F(T,w,E.props.children,K,E.key):w!==null&&(w.elementType===ee||typeof ee=="object"&&ee!==null&&ee.$$typeof===je&&Rc(ee)===w.type)?(K=s(w,E.props),K.ref=so(T,w,E),K.return=T,K):(K=Ra(E.type,E.key,E.props,null,T.mode,K),K.ref=so(T,w,E),K.return=T,K)}function b(T,w,E,K){return w===null||w.tag!==4||w.stateNode.containerInfo!==E.containerInfo||w.stateNode.implementation!==E.implementation?(w=Di(E,T.mode,K),w.return=T,w):(w=s(w,E.children||[]),w.return=T,w)}function F(T,w,E,K,ee){return w===null||w.tag!==7?(w=Wn(E,T.mode,K,ee),w.return=T,w):(w=s(w,E),w.return=T,w)}function z(T,w,E){if(typeof w=="string"&&w!==""||typeof w=="number")return w=Ii(""+w,T.mode,E),w.return=T,w;if(typeof w=="object"&&w!==null){switch(w.$$typeof){case ue:return E=Ra(w.type,w.key,w.props,null,T.mode,E),E.ref=so(T,null,w),E.return=T,E;case q:return w=Di(w,T.mode,E),w.return=T,w;case je:var K=w._init;return z(T,K(w._payload),E)}if(Pn(w)||ae(w))return w=Wn(w,T.mode,E,null),w.return=T,w;la(T,w)}return null}function O(T,w,E,K){var ee=w!==null?w.key:null;if(typeof E=="string"&&E!==""||typeof E=="number")return ee!==null?null:g(T,w,""+E,K);if(typeof E=="object"&&E!==null){switch(E.$$typeof){case ue:return E.key===ee?v(T,w,E,K):null;case q:return E.key===ee?b(T,w,E,K):null;case je:return ee=E._init,O(T,w,ee(E._payload),K)}if(Pn(E)||ae(E))return ee!==null?null:F(T,w,E,K,null);la(T,E)}return null}function G(T,w,E,K,ee){if(typeof K=="string"&&K!==""||typeof K=="number")return T=T.get(E)||null,g(w,T,""+K,ee);if(typeof K=="object"&&K!==null){switch(K.$$typeof){case ue:return T=T.get(K.key===null?E:K.key)||null,v(w,T,K,ee);case q:return T=T.get(K.key===null?E:K.key)||null,b(w,T,K,ee);case je:var ie=K._init;return G(T,w,E,ie(K._payload),ee)}if(Pn(K)||ae(K))return T=T.get(E)||null,F(w,T,K,ee,null);la(w,K)}return null}function Y(T,w,E,K){for(var ee=null,ie=null,le=w,de=w=0,Ye=null;le!==null&&de<E.length;de++){le.index>de?(Ye=le,le=null):Ye=le.sibling;var Ee=O(T,le,E[de],K);if(Ee===null){le===null&&(le=Ye);break}e&&le&&Ee.alternate===null&&t(T,le),w=l(Ee,w,de),ie===null?ee=Ee:ie.sibling=Ee,ie=Ee,le=Ye}if(de===E.length)return n(T,le),Ie&&Fn(T,de),ee;if(le===null){for(;de<E.length;de++)le=z(T,E[de],K),le!==null&&(w=l(le,w,de),ie===null?ee=le:ie.sibling=le,ie=le);return Ie&&Fn(T,de),ee}for(le=r(T,le);de<E.length;de++)Ye=G(le,T,de,E[de],K),Ye!==null&&(e&&Ye.alternate!==null&&le.delete(Ye.key===null?de:Ye.key),w=l(Ye,w,de),ie===null?ee=Ye:ie.sibling=Ye,ie=Ye);return e&&le.forEach(function(Tn){return t(T,Tn)}),Ie&&Fn(T,de),ee}function J(T,w,E,K){var ee=ae(E);if(typeof ee!="function")throw Error(c(150));if(E=ee.call(E),E==null)throw Error(c(151));for(var ie=ee=null,le=w,de=w=0,Ye=null,Ee=E.next();le!==null&&!Ee.done;de++,Ee=E.next()){le.index>de?(Ye=le,le=null):Ye=le.sibling;var Tn=O(T,le,Ee.value,K);if(Tn===null){le===null&&(le=Ye);break}e&&le&&Tn.alternate===null&&t(T,le),w=l(Tn,w,de),ie===null?ee=Tn:ie.sibling=Tn,ie=Tn,le=Ye}if(Ee.done)return n(T,le),Ie&&Fn(T,de),ee;if(le===null){for(;!Ee.done;de++,Ee=E.next())Ee=z(T,Ee.value,K),Ee!==null&&(w=l(Ee,w,de),ie===null?ee=Ee:ie.sibling=Ee,ie=Ee);return Ie&&Fn(T,de),ee}for(le=r(T,le);!Ee.done;de++,Ee=E.next())Ee=G(le,T,de,Ee.value,K),Ee!==null&&(e&&Ee.alternate!==null&&le.delete(Ee.key===null?de:Ee.key),w=l(Ee,w,de),ie===null?ee=Ee:ie.sibling=Ee,ie=Ee);return e&&le.forEach(function(pp){return t(T,pp)}),Ie&&Fn(T,de),ee}function He(T,w,E,K){if(typeof E=="object"&&E!==null&&E.type===pe&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case ue:e:{for(var ee=E.key,ie=w;ie!==null;){if(ie.key===ee){if(ee=E.type,ee===pe){if(ie.tag===7){n(T,ie.sibling),w=s(ie,E.props.children),w.return=T,T=w;break e}}else if(ie.elementType===ee||typeof ee=="object"&&ee!==null&&ee.$$typeof===je&&Rc(ee)===ie.type){n(T,ie.sibling),w=s(ie,E.props),w.ref=so(T,ie,E),w.return=T,T=w;break e}n(T,ie);break}else t(T,ie);ie=ie.sibling}E.type===pe?(w=Wn(E.props.children,T.mode,K,E.key),w.return=T,T=w):(K=Ra(E.type,E.key,E.props,null,T.mode,K),K.ref=so(T,w,E),K.return=T,T=K)}return u(T);case q:e:{for(ie=E.key;w!==null;){if(w.key===ie)if(w.tag===4&&w.stateNode.containerInfo===E.containerInfo&&w.stateNode.implementation===E.implementation){n(T,w.sibling),w=s(w,E.children||[]),w.return=T,T=w;break e}else{n(T,w);break}else t(T,w);w=w.sibling}w=Di(E,T.mode,K),w.return=T,T=w}return u(T);case je:return ie=E._init,He(T,w,ie(E._payload),K)}if(Pn(E))return Y(T,w,E,K);if(ae(E))return J(T,w,E,K);la(T,E)}return typeof E=="string"&&E!==""||typeof E=="number"?(E=""+E,w!==null&&w.tag===6?(n(T,w.sibling),w=s(w,E),w.return=T,T=w):(n(T,w),w=Ii(E,T.mode,K),w.return=T,T=w),u(T)):n(T,w)}return He}var gr=Pc(!0),Ac=Pc(!1),ca=mn(null),ua=null,vr=null,Vs=null;function Ws(){Vs=vr=ua=null}function Gs(e){var t=ca.current;Ae(ca),e._currentValue=t}function qs(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 yr(e,t){ua=e,Vs=vr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(dt=!0),e.firstContext=null)}function Tt(e){var t=e._currentValue;if(Vs!==e)if(e={context:e,memoizedValue:t,next:null},vr===null){if(ua===null)throw Error(c(308));vr=e,ua.dependencies={lanes:0,firstContext:e}}else vr=vr.next=e;return t}var zn=null;function Qs(e){zn===null?zn=[e]:zn.push(e)}function Ic(e,t,n,r){var s=t.interleaved;return s===null?(n.next=n,Qs(t)):(n.next=s.next,s.next=n),t.interleaved=n,en(e,r)}function en(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 yn=!1;function Xs(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Dc(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 tn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function wn(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(Te&2)!==0){var s=r.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),r.pending=t,en(e,n)}return s=r.interleaved,s===null?(t.next=t,Qs(r)):(t.next=s.next,s.next=t),r.interleaved=t,en(e,n)}function da(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,us(e,n)}}function Oc(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var s=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var u={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?s=l=u:l=l.next=u,n=n.next}while(n!==null);l===null?s=l=t:l=l.next=t}else s=l=t;n={baseState:r.baseState,firstBaseUpdate:s,lastBaseUpdate:l,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 ha(e,t,n,r){var s=e.updateQueue;yn=!1;var l=s.firstBaseUpdate,u=s.lastBaseUpdate,g=s.shared.pending;if(g!==null){s.shared.pending=null;var v=g,b=v.next;v.next=null,u===null?l=b:u.next=b,u=v;var F=e.alternate;F!==null&&(F=F.updateQueue,g=F.lastBaseUpdate,g!==u&&(g===null?F.firstBaseUpdate=b:g.next=b,F.lastBaseUpdate=v))}if(l!==null){var z=s.baseState;u=0,F=b=v=null,g=l;do{var O=g.lane,G=g.eventTime;if((r&O)===O){F!==null&&(F=F.next={eventTime:G,lane:0,tag:g.tag,payload:g.payload,callback:g.callback,next:null});e:{var Y=e,J=g;switch(O=t,G=n,J.tag){case 1:if(Y=J.payload,typeof Y=="function"){z=Y.call(G,z,O);break e}z=Y;break e;case 3:Y.flags=Y.flags&-65537|128;case 0:if(Y=J.payload,O=typeof Y=="function"?Y.call(G,z,O):Y,O==null)break e;z=V({},z,O);break e;case 2:yn=!0}}g.callback!==null&&g.lane!==0&&(e.flags|=64,O=s.effects,O===null?s.effects=[g]:O.push(g))}else G={eventTime:G,lane:O,tag:g.tag,payload:g.payload,callback:g.callback,next:null},F===null?(b=F=G,v=z):F=F.next=G,u|=O;if(g=g.next,g===null){if(g=s.shared.pending,g===null)break;O=g,g=O.next,O.next=null,s.lastBaseUpdate=O,s.shared.pending=null}}while(!0);if(F===null&&(v=z),s.baseState=v,s.firstBaseUpdate=b,s.lastBaseUpdate=F,t=s.shared.interleaved,t!==null){s=t;do u|=s.lane,s=s.next;while(s!==t)}else l===null&&(s.shared.lanes=0);Hn|=u,e.lanes=u,e.memoizedState=z}}function Fc(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],s=r.callback;if(s!==null){if(r.callback=null,r=n,typeof s!="function")throw Error(c(191,s));s.call(r)}}}var io={},$t=mn(io),lo=mn(io),co=mn(io);function Bn(e){if(e===io)throw Error(c(174));return e}function Ys(e,t){switch(Re(co,t),Re(lo,e),Re($t,io),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:vt(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=vt(t,e)}Ae($t),Re($t,t)}function wr(){Ae($t),Ae(lo),Ae(co)}function zc(e){Bn(co.current);var t=Bn($t.current),n=vt(t,e.type);t!==n&&(Re(lo,e),Re($t,n))}function Zs(e){lo.current===e&&(Ae($t),Ae(lo))}var De=mn(0);function fa(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Js=[];function ei(){for(var e=0;e<Js.length;e++)Js[e]._workInProgressVersionPrimary=null;Js.length=0}var pa=B.ReactCurrentDispatcher,ti=B.ReactCurrentBatchConfig,Kn=0,Oe=null,We=null,Qe=null,ma=!1,uo=!1,ho=0,Df=0;function nt(){throw Error(c(321))}function ni(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!At(e[n],t[n]))return!1;return!0}function ri(e,t,n,r,s,l){if(Kn=l,Oe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,pa.current=e===null||e.memoizedState===null?Bf:Kf,e=n(r,s),uo){l=0;do{if(uo=!1,ho=0,25<=l)throw Error(c(301));l+=1,Qe=We=null,t.updateQueue=null,pa.current=Hf,e=n(r,s)}while(uo)}if(pa.current=ya,t=We!==null&&We.next!==null,Kn=0,Qe=We=Oe=null,ma=!1,t)throw Error(c(300));return e}function oi(){var e=ho!==0;return ho=0,e}function Vt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Qe===null?Oe.memoizedState=Qe=e:Qe=Qe.next=e,Qe}function Et(){if(We===null){var e=Oe.alternate;e=e!==null?e.memoizedState:null}else e=We.next;var t=Qe===null?Oe.memoizedState:Qe.next;if(t!==null)Qe=t,We=e;else{if(e===null)throw Error(c(310));We=e,e={memoizedState:We.memoizedState,baseState:We.baseState,baseQueue:We.baseQueue,queue:We.queue,next:null},Qe===null?Oe.memoizedState=Qe=e:Qe=Qe.next=e}return Qe}function fo(e,t){return typeof t=="function"?t(e):t}function ai(e){var t=Et(),n=t.queue;if(n===null)throw Error(c(311));n.lastRenderedReducer=e;var r=We,s=r.baseQueue,l=n.pending;if(l!==null){if(s!==null){var u=s.next;s.next=l.next,l.next=u}r.baseQueue=s=l,n.pending=null}if(s!==null){l=s.next,r=r.baseState;var g=u=null,v=null,b=l;do{var F=b.lane;if((Kn&F)===F)v!==null&&(v=v.next={lane:0,action:b.action,hasEagerState:b.hasEagerState,eagerState:b.eagerState,next:null}),r=b.hasEagerState?b.eagerState:e(r,b.action);else{var z={lane:F,action:b.action,hasEagerState:b.hasEagerState,eagerState:b.eagerState,next:null};v===null?(g=v=z,u=r):v=v.next=z,Oe.lanes|=F,Hn|=F}b=b.next}while(b!==null&&b!==l);v===null?u=r:v.next=g,At(r,t.memoizedState)||(dt=!0),t.memoizedState=r,t.baseState=u,t.baseQueue=v,n.lastRenderedState=r}if(e=n.interleaved,e!==null){s=e;do l=s.lane,Oe.lanes|=l,Hn|=l,s=s.next;while(s!==e)}else s===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function si(e){var t=Et(),n=t.queue;if(n===null)throw Error(c(311));n.lastRenderedReducer=e;var r=n.dispatch,s=n.pending,l=t.memoizedState;if(s!==null){n.pending=null;var u=s=s.next;do l=e(l,u.action),u=u.next;while(u!==s);At(l,t.memoizedState)||(dt=!0),t.memoizedState=l,t.baseQueue===null&&(t.baseState=l),n.lastRenderedState=l}return[l,r]}function Bc(){}function Kc(e,t){var n=Oe,r=Et(),s=t(),l=!At(r.memoizedState,s);if(l&&(r.memoizedState=s,dt=!0),r=r.queue,ii($c.bind(null,n,r,e),[e]),r.getSnapshot!==t||l||Qe!==null&&Qe.memoizedState.tag&1){if(n.flags|=2048,po(9,Uc.bind(null,n,r,s,t),void 0,null),Xe===null)throw Error(c(349));(Kn&30)!==0||Hc(n,t,s)}return s}function Hc(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Oe.updateQueue,t===null?(t={lastEffect:null,stores:null},Oe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Uc(e,t,n,r){t.value=n,t.getSnapshot=r,Vc(t)&&Wc(e)}function $c(e,t,n){return n(function(){Vc(t)&&Wc(e)})}function Vc(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!At(e,n)}catch{return!0}}function Wc(e){var t=en(e,1);t!==null&&zt(t,e,1,-1)}function Gc(e){var t=Vt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:fo,lastRenderedState:e},t.queue=e,e=e.dispatch=zf.bind(null,Oe,e),[t.memoizedState,e]}function po(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Oe.updateQueue,t===null?(t={lastEffect:null,stores:null},Oe.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function qc(){return Et().memoizedState}function ga(e,t,n,r){var s=Vt();Oe.flags|=e,s.memoizedState=po(1|t,n,void 0,r===void 0?null:r)}function va(e,t,n,r){var s=Et();r=r===void 0?null:r;var l=void 0;if(We!==null){var u=We.memoizedState;if(l=u.destroy,r!==null&&ni(r,u.deps)){s.memoizedState=po(t,n,l,r);return}}Oe.flags|=e,s.memoizedState=po(1|t,n,l,r)}function Qc(e,t){return ga(8390656,8,e,t)}function ii(e,t){return va(2048,8,e,t)}function Xc(e,t){return va(4,2,e,t)}function Yc(e,t){return va(4,4,e,t)}function Zc(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Jc(e,t,n){return n=n!=null?n.concat([e]):null,va(4,4,Zc.bind(null,t,e),n)}function li(){}function eu(e,t){var n=Et();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ni(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function tu(e,t){var n=Et();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ni(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function nu(e,t,n){return(Kn&21)===0?(e.baseState&&(e.baseState=!1,dt=!0),e.memoizedState=n):(At(n,t)||(n=Rl(),Oe.lanes|=n,Hn|=n,e.baseState=!0),t)}function Of(e,t){var n=Le;Le=n!==0&&4>n?n:4,e(!0);var r=ti.transition;ti.transition={};try{e(!1),t()}finally{Le=n,ti.transition=r}}function ru(){return Et().memoizedState}function Ff(e,t,n){var r=Cn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},ou(e))au(t,n);else if(n=Ic(e,t,n,r),n!==null){var s=it();zt(n,e,r,s),su(n,t,r)}}function zf(e,t,n){var r=Cn(e),s={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(ou(e))au(t,s);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var u=t.lastRenderedState,g=l(u,n);if(s.hasEagerState=!0,s.eagerState=g,At(g,u)){var v=t.interleaved;v===null?(s.next=s,Qs(t)):(s.next=v.next,v.next=s),t.interleaved=s;return}}catch{}finally{}n=Ic(e,t,s,r),n!==null&&(s=it(),zt(n,e,r,s),su(n,t,r))}}function ou(e){var t=e.alternate;return e===Oe||t!==null&&t===Oe}function au(e,t){uo=ma=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function su(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,us(e,n)}}var ya={readContext:Tt,useCallback:nt,useContext:nt,useEffect:nt,useImperativeHandle:nt,useInsertionEffect:nt,useLayoutEffect:nt,useMemo:nt,useReducer:nt,useRef:nt,useState:nt,useDebugValue:nt,useDeferredValue:nt,useTransition:nt,useMutableSource:nt,useSyncExternalStore:nt,useId:nt,unstable_isNewReconciler:!1},Bf={readContext:Tt,useCallback:function(e,t){return Vt().memoizedState=[e,t===void 0?null:t],e},useContext:Tt,useEffect:Qc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ga(4194308,4,Zc.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ga(4194308,4,e,t)},useInsertionEffect:function(e,t){return ga(4,2,e,t)},useMemo:function(e,t){var n=Vt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Vt();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=Ff.bind(null,Oe,e),[r.memoizedState,e]},useRef:function(e){var t=Vt();return e={current:e},t.memoizedState=e},useState:Gc,useDebugValue:li,useDeferredValue:function(e){return Vt().memoizedState=e},useTransition:function(){var e=Gc(!1),t=e[0];return e=Of.bind(null,e[1]),Vt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Oe,s=Vt();if(Ie){if(n===void 0)throw Error(c(407));n=n()}else{if(n=t(),Xe===null)throw Error(c(349));(Kn&30)!==0||Hc(r,t,n)}s.memoizedState=n;var l={value:n,getSnapshot:t};return s.queue=l,Qc($c.bind(null,r,l,e),[e]),r.flags|=2048,po(9,Uc.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=Vt(),t=Xe.identifierPrefix;if(Ie){var n=Jt,r=Zt;n=(r&~(1<<32-Pt(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=ho++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=Df++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Kf={readContext:Tt,useCallback:eu,useContext:Tt,useEffect:ii,useImperativeHandle:Jc,useInsertionEffect:Xc,useLayoutEffect:Yc,useMemo:tu,useReducer:ai,useRef:qc,useState:function(){return ai(fo)},useDebugValue:li,useDeferredValue:function(e){var t=Et();return nu(t,We.memoizedState,e)},useTransition:function(){var e=ai(fo)[0],t=Et().memoizedState;return[e,t]},useMutableSource:Bc,useSyncExternalStore:Kc,useId:ru,unstable_isNewReconciler:!1},Hf={readContext:Tt,useCallback:eu,useContext:Tt,useEffect:ii,useImperativeHandle:Jc,useInsertionEffect:Xc,useLayoutEffect:Yc,useMemo:tu,useReducer:si,useRef:qc,useState:function(){return si(fo)},useDebugValue:li,useDeferredValue:function(e){var t=Et();return We===null?t.memoizedState=e:nu(t,We.memoizedState,e)},useTransition:function(){var e=si(fo)[0],t=Et().memoizedState;return[e,t]},useMutableSource:Bc,useSyncExternalStore:Kc,useId:ru,unstable_isNewReconciler:!1};function Dt(e,t){if(e&&e.defaultProps){t=V({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function ci(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:V({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var wa={isMounted:function(e){return(e=e._reactInternals)?An(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=it(),s=Cn(e),l=tn(r,s);l.payload=t,n!=null&&(l.callback=n),t=wn(e,l,s),t!==null&&(zt(t,e,s,r),da(t,e,s))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=it(),s=Cn(e),l=tn(r,s);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=wn(e,l,s),t!==null&&(zt(t,e,s,r),da(t,e,s))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=it(),r=Cn(e),s=tn(n,r);s.tag=2,t!=null&&(s.callback=t),t=wn(e,s,r),t!==null&&(zt(t,e,r,n),da(t,e,r))}};function iu(e,t,n,r,s,l,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,l,u):t.prototype&&t.prototype.isPureReactComponent?!Jr(n,r)||!Jr(s,l):!0}function lu(e,t,n){var r=!1,s=gn,l=t.contextType;return typeof l=="object"&&l!==null?l=Tt(l):(s=ut(t)?Dn:tt.current,r=t.contextTypes,l=(r=r!=null)?hr(e,s):gn),t=new t(n,l),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=wa,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=s,e.__reactInternalMemoizedMaskedChildContext=l),t}function cu(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&wa.enqueueReplaceState(t,t.state,null)}function ui(e,t,n,r){var s=e.stateNode;s.props=n,s.state=e.memoizedState,s.refs={},Xs(e);var l=t.contextType;typeof l=="object"&&l!==null?s.context=Tt(l):(l=ut(t)?Dn:tt.current,s.context=hr(e,l)),s.state=e.memoizedState,l=t.getDerivedStateFromProps,typeof l=="function"&&(ci(e,t,l,n),s.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof s.getSnapshotBeforeUpdate=="function"||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(t=s.state,typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount(),t!==s.state&&wa.enqueueReplaceState(s,s.state,null),ha(e,n,s,r),s.state=e.memoizedState),typeof s.componentDidMount=="function"&&(e.flags|=4194308)}function kr(e,t){try{var n="",r=t;do n+=X(r),r=r.return;while(r);var s=n}catch(l){s=`
|
|
40
|
+
Error generating stack: `+l.message+`
|
|
41
|
+
`+l.stack}return{value:e,source:t,stack:s,digest:null}}function di(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function hi(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Uf=typeof WeakMap=="function"?WeakMap:Map;function uu(e,t,n){n=tn(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ta||(Ta=!0,Ei=r),hi(e,t)},n}function du(e,t,n){n=tn(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var s=t.value;n.payload=function(){return r(s)},n.callback=function(){hi(e,t)}}var l=e.stateNode;return l!==null&&typeof l.componentDidCatch=="function"&&(n.callback=function(){hi(e,t),typeof r!="function"&&(xn===null?xn=new Set([this]):xn.add(this));var u=t.stack;this.componentDidCatch(t.value,{componentStack:u!==null?u:""})}),n}function hu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Uf;var s=new Set;r.set(t,s)}else s=r.get(t),s===void 0&&(s=new Set,r.set(t,s));s.has(n)||(s.add(n),e=rp.bind(null,e,t,n),t.then(e,e))}function fu(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function pu(e,t,n,r,s){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=tn(-1,1),t.tag=2,wn(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=s,e)}var $f=B.ReactCurrentOwner,dt=!1;function st(e,t,n,r){t.child=e===null?Ac(t,null,n,r):gr(t,e.child,n,r)}function mu(e,t,n,r,s){n=n.render;var l=t.ref;return yr(t,s),r=ri(e,t,n,r,l,s),n=oi(),e!==null&&!dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,nn(e,t,s)):(Ie&&n&&Bs(t),t.flags|=1,st(e,t,r,s),t.child)}function gu(e,t,n,r,s){if(e===null){var l=n.type;return typeof l=="function"&&!Ai(l)&&l.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=l,vu(e,t,l,r,s)):(e=Ra(n.type,null,r,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(l=e.child,(e.lanes&s)===0){var u=l.memoizedProps;if(n=n.compare,n=n!==null?n:Jr,n(u,r)&&e.ref===t.ref)return nn(e,t,s)}return t.flags|=1,e=jn(l,r),e.ref=t.ref,e.return=t,t.child=e}function vu(e,t,n,r,s){if(e!==null){var l=e.memoizedProps;if(Jr(l,r)&&e.ref===t.ref)if(dt=!1,t.pendingProps=r=l,(e.lanes&s)!==0)(e.flags&131072)!==0&&(dt=!0);else return t.lanes=e.lanes,nn(e,t,s)}return fi(e,t,n,r,s)}function yu(e,t,n){var r=t.pendingProps,s=r.children,l=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Re(_r,xt),xt|=n;else{if((n&1073741824)===0)return e=l!==null?l.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Re(_r,xt),xt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=l!==null?l.baseLanes:n,Re(_r,xt),xt|=r}else l!==null?(r=l.baseLanes|n,t.memoizedState=null):r=n,Re(_r,xt),xt|=r;return st(e,t,s,n),t.child}function wu(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function fi(e,t,n,r,s){var l=ut(n)?Dn:tt.current;return l=hr(t,l),yr(t,s),n=ri(e,t,n,r,l,s),r=oi(),e!==null&&!dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,nn(e,t,s)):(Ie&&r&&Bs(t),t.flags|=1,st(e,t,n,s),t.child)}function ku(e,t,n,r,s){if(ut(n)){var l=!0;ra(t)}else l=!1;if(yr(t,s),t.stateNode===null)xa(e,t),lu(t,n,r),ui(t,n,r,s),r=!0;else if(e===null){var u=t.stateNode,g=t.memoizedProps;u.props=g;var v=u.context,b=n.contextType;typeof b=="object"&&b!==null?b=Tt(b):(b=ut(n)?Dn:tt.current,b=hr(t,b));var F=n.getDerivedStateFromProps,z=typeof F=="function"||typeof u.getSnapshotBeforeUpdate=="function";z||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(g!==r||v!==b)&&cu(t,u,r,b),yn=!1;var O=t.memoizedState;u.state=O,ha(t,r,u,s),v=t.memoizedState,g!==r||O!==v||ct.current||yn?(typeof F=="function"&&(ci(t,n,F,r),v=t.memoizedState),(g=yn||iu(t,n,g,r,O,v,b))?(z||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount()),typeof u.componentDidMount=="function"&&(t.flags|=4194308)):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=v),u.props=r,u.state=v,u.context=b,r=g):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{u=t.stateNode,Dc(e,t),g=t.memoizedProps,b=t.type===t.elementType?g:Dt(t.type,g),u.props=b,z=t.pendingProps,O=u.context,v=n.contextType,typeof v=="object"&&v!==null?v=Tt(v):(v=ut(n)?Dn:tt.current,v=hr(t,v));var G=n.getDerivedStateFromProps;(F=typeof G=="function"||typeof u.getSnapshotBeforeUpdate=="function")||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(g!==z||O!==v)&&cu(t,u,r,v),yn=!1,O=t.memoizedState,u.state=O,ha(t,r,u,s);var Y=t.memoizedState;g!==z||O!==Y||ct.current||yn?(typeof G=="function"&&(ci(t,n,G,r),Y=t.memoizedState),(b=yn||iu(t,n,b,r,O,Y,v)||!1)?(F||typeof u.UNSAFE_componentWillUpdate!="function"&&typeof u.componentWillUpdate!="function"||(typeof u.componentWillUpdate=="function"&&u.componentWillUpdate(r,Y,v),typeof u.UNSAFE_componentWillUpdate=="function"&&u.UNSAFE_componentWillUpdate(r,Y,v)),typeof u.componentDidUpdate=="function"&&(t.flags|=4),typeof u.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof u.componentDidUpdate!="function"||g===e.memoizedProps&&O===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||g===e.memoizedProps&&O===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=Y),u.props=r,u.state=Y,u.context=v,r=b):(typeof u.componentDidUpdate!="function"||g===e.memoizedProps&&O===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||g===e.memoizedProps&&O===e.memoizedState||(t.flags|=1024),r=!1)}return pi(e,t,n,r,l,s)}function pi(e,t,n,r,s,l){wu(e,t);var u=(t.flags&128)!==0;if(!r&&!u)return s&&jc(t,n,!1),nn(e,t,l);r=t.stateNode,$f.current=t;var g=u&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&u?(t.child=gr(t,e.child,null,l),t.child=gr(t,null,g,l)):st(e,t,g,l),t.memoizedState=r.state,s&&jc(t,n,!0),t.child}function xu(e){var t=e.stateNode;t.pendingContext?Cc(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Cc(e,t.context,!1),Ys(e,t.containerInfo)}function _u(e,t,n,r,s){return mr(),$s(s),t.flags|=256,st(e,t,n,r),t.child}var mi={dehydrated:null,treeContext:null,retryLane:0};function gi(e){return{baseLanes:e,cachePool:null,transitions:null}}function Cu(e,t,n){var r=t.pendingProps,s=De.current,l=!1,u=(t.flags&128)!==0,g;if((g=u)||(g=e!==null&&e.memoizedState===null?!1:(s&2)!==0),g?(l=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(s|=1),Re(De,s&1),e===null)return Us(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(u=r.children,e=r.fallback,l?(r=t.mode,l=t.child,u={mode:"hidden",children:u},(r&1)===0&&l!==null?(l.childLanes=0,l.pendingProps=u):l=Pa(u,r,0,null),e=Wn(e,r,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=gi(n),t.memoizedState=mi,e):vi(t,u));if(s=e.memoizedState,s!==null&&(g=s.dehydrated,g!==null))return Vf(e,t,u,r,g,s,n);if(l){l=r.fallback,u=t.mode,s=e.child,g=s.sibling;var v={mode:"hidden",children:r.children};return(u&1)===0&&t.child!==s?(r=t.child,r.childLanes=0,r.pendingProps=v,t.deletions=null):(r=jn(s,v),r.subtreeFlags=s.subtreeFlags&14680064),g!==null?l=jn(g,l):(l=Wn(l,u,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,r=l,l=t.child,u=e.child.memoizedState,u=u===null?gi(n):{baseLanes:u.baseLanes|n,cachePool:null,transitions:u.transitions},l.memoizedState=u,l.childLanes=e.childLanes&~n,t.memoizedState=mi,r}return l=e.child,e=l.sibling,r=jn(l,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function vi(e,t){return t=Pa({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function ka(e,t,n,r){return r!==null&&$s(r),gr(t,e.child,null,n),e=vi(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Vf(e,t,n,r,s,l,u){if(n)return t.flags&256?(t.flags&=-257,r=di(Error(c(422))),ka(e,t,u,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(l=r.fallback,s=t.mode,r=Pa({mode:"visible",children:r.children},s,0,null),l=Wn(l,s,u,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,(t.mode&1)!==0&&gr(t,e.child,null,u),t.child.memoizedState=gi(u),t.memoizedState=mi,l);if((t.mode&1)===0)return ka(e,t,u,null);if(s.data==="$!"){if(r=s.nextSibling&&s.nextSibling.dataset,r)var g=r.dgst;return r=g,l=Error(c(419)),r=di(l,r,void 0),ka(e,t,u,r)}if(g=(u&e.childLanes)!==0,dt||g){if(r=Xe,r!==null){switch(u&-u){case 4:s=2;break;case 16:s=8;break;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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:s=32;break;case 536870912:s=268435456;break;default:s=0}s=(s&(r.suspendedLanes|u))!==0?0:s,s!==0&&s!==l.retryLane&&(l.retryLane=s,en(e,s),zt(r,e,s,-1))}return Pi(),r=di(Error(c(421))),ka(e,t,u,r)}return s.data==="$?"?(t.flags|=128,t.child=e.child,t=op.bind(null,e),s._reactRetry=t,null):(e=l.treeContext,kt=pn(s.nextSibling),wt=t,Ie=!0,It=null,e!==null&&(St[jt++]=Zt,St[jt++]=Jt,St[jt++]=On,Zt=e.id,Jt=e.overflow,On=t),t=vi(t,r.children),t.flags|=4096,t)}function Su(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),qs(e.return,t,n)}function yi(e,t,n,r,s){var l=e.memoizedState;l===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:s}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=r,l.tail=n,l.tailMode=s)}function ju(e,t,n){var r=t.pendingProps,s=r.revealOrder,l=r.tail;if(st(e,t,r.children,n),r=De.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Su(e,n,t);else if(e.tag===19)Su(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Re(De,r),(t.mode&1)===0)t.memoizedState=null;else switch(s){case"forwards":for(n=t.child,s=null;n!==null;)e=n.alternate,e!==null&&fa(e)===null&&(s=n),n=n.sibling;n=s,n===null?(s=t.child,t.child=null):(s=n.sibling,n.sibling=null),yi(t,!1,s,n,l);break;case"backwards":for(n=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&fa(e)===null){t.child=s;break}e=s.sibling,s.sibling=n,n=s,s=e}yi(t,!0,n,null,l);break;case"together":yi(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function xa(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function nn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Hn|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(c(153));if(t.child!==null){for(e=t.child,n=jn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=jn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Wf(e,t,n){switch(t.tag){case 3:xu(t),mr();break;case 5:zc(t);break;case 1:ut(t.type)&&ra(t);break;case 4:Ys(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,s=t.memoizedProps.value;Re(ca,r._currentValue),r._currentValue=s;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Re(De,De.current&1),t.flags|=128,null):(n&t.child.childLanes)!==0?Cu(e,t,n):(Re(De,De.current&1),e=nn(e,t,n),e!==null?e.sibling:null);Re(De,De.current&1);break;case 19:if(r=(n&t.childLanes)!==0,(e.flags&128)!==0){if(r)return ju(e,t,n);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),Re(De,De.current),r)break;return null;case 22:case 23:return t.lanes=0,yu(e,t,n)}return nn(e,t,n)}var Tu,wi,Eu,Nu;Tu=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},wi=function(){},Eu=function(e,t,n,r){var s=e.memoizedProps;if(s!==r){e=t.stateNode,Bn($t.current);var l=null;switch(n){case"input":s=Kt(e,s),r=Kt(e,r),l=[];break;case"select":s=V({},s,{value:void 0}),r=V({},r,{value:void 0}),l=[];break;case"textarea":s=Ir(e,s),r=Ir(e,r),l=[];break;default:typeof s.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=ea)}Ja(n,r);var u;n=null;for(b in s)if(!r.hasOwnProperty(b)&&s.hasOwnProperty(b)&&s[b]!=null)if(b==="style"){var g=s[b];for(u in g)g.hasOwnProperty(u)&&(n||(n={}),n[u]="")}else b!=="dangerouslySetInnerHTML"&&b!=="children"&&b!=="suppressContentEditableWarning"&&b!=="suppressHydrationWarning"&&b!=="autoFocus"&&(h.hasOwnProperty(b)?l||(l=[]):(l=l||[]).push(b,null));for(b in r){var v=r[b];if(g=s!=null?s[b]:void 0,r.hasOwnProperty(b)&&v!==g&&(v!=null||g!=null))if(b==="style")if(g){for(u in g)!g.hasOwnProperty(u)||v&&v.hasOwnProperty(u)||(n||(n={}),n[u]="");for(u in v)v.hasOwnProperty(u)&&g[u]!==v[u]&&(n||(n={}),n[u]=v[u])}else n||(l||(l=[]),l.push(b,n)),n=v;else b==="dangerouslySetInnerHTML"?(v=v?v.__html:void 0,g=g?g.__html:void 0,v!=null&&g!==v&&(l=l||[]).push(b,v)):b==="children"?typeof v!="string"&&typeof v!="number"||(l=l||[]).push(b,""+v):b!=="suppressContentEditableWarning"&&b!=="suppressHydrationWarning"&&(h.hasOwnProperty(b)?(v!=null&&b==="onScroll"&&Pe("scroll",e),l||g===v||(l=[])):(l=l||[]).push(b,v))}n&&(l=l||[]).push("style",n);var b=l;(t.updateQueue=b)&&(t.flags|=4)}},Nu=function(e,t,n,r){n!==r&&(t.flags|=4)};function mo(e,t){if(!Ie)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function rt(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var s=e.child;s!==null;)n|=s.lanes|s.childLanes,r|=s.subtreeFlags&14680064,r|=s.flags&14680064,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)n|=s.lanes|s.childLanes,r|=s.subtreeFlags,r|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Gf(e,t,n){var r=t.pendingProps;switch(Ks(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return rt(t),null;case 1:return ut(t.type)&&na(),rt(t),null;case 3:return r=t.stateNode,wr(),Ae(ct),Ae(tt),ei(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(ia(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,It!==null&&(Li(It),It=null))),wi(e,t),rt(t),null;case 5:Zs(t);var s=Bn(co.current);if(n=t.type,e!==null&&t.stateNode!=null)Eu(e,t,n,r,s),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(c(166));return rt(t),null}if(e=Bn($t.current),ia(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[Ut]=t,r[oo]=l,e=(t.mode&1)!==0,n){case"dialog":Pe("cancel",r),Pe("close",r);break;case"iframe":case"object":case"embed":Pe("load",r);break;case"video":case"audio":for(s=0;s<to.length;s++)Pe(to[s],r);break;case"source":Pe("error",r);break;case"img":case"image":case"link":Pe("error",r),Pe("load",r);break;case"details":Pe("toggle",r);break;case"input":Zn(r,l),Pe("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!l.multiple},Pe("invalid",r);break;case"textarea":ne(r,l),Pe("invalid",r)}Ja(n,l),s=null;for(var u in l)if(l.hasOwnProperty(u)){var g=l[u];u==="children"?typeof g=="string"?r.textContent!==g&&(l.suppressHydrationWarning!==!0&&Jo(r.textContent,g,e),s=["children",g]):typeof g=="number"&&r.textContent!==""+g&&(l.suppressHydrationWarning!==!0&&Jo(r.textContent,g,e),s=["children",""+g]):h.hasOwnProperty(u)&&g!=null&&u==="onScroll"&&Pe("scroll",r)}switch(n){case"input":Rn(r),Jn(r,l,!0);break;case"textarea":Rn(r),Me(r);break;case"select":case"option":break;default:typeof l.onClick=="function"&&(r.onclick=ea)}r=s,t.updateQueue=r,r!==null&&(t.flags|=4)}else{u=s.nodeType===9?s:s.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Ct(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=u.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),n==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[Ut]=t,e[oo]=r,Tu(e,t,!1,!1),t.stateNode=e;e:{switch(u=es(n,r),n){case"dialog":Pe("cancel",e),Pe("close",e),s=r;break;case"iframe":case"object":case"embed":Pe("load",e),s=r;break;case"video":case"audio":for(s=0;s<to.length;s++)Pe(to[s],e);s=r;break;case"source":Pe("error",e),s=r;break;case"img":case"image":case"link":Pe("error",e),Pe("load",e),s=r;break;case"details":Pe("toggle",e),s=r;break;case"input":Zn(e,r),s=Kt(e,r),Pe("invalid",e);break;case"option":s=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},s=V({},r,{value:void 0}),Pe("invalid",e);break;case"textarea":ne(e,r),s=Ir(e,r),Pe("invalid",e);break;default:s=r}Ja(n,s),g=s;for(l in g)if(g.hasOwnProperty(l)){var v=g[l];l==="style"?vl(e,v):l==="dangerouslySetInnerHTML"?(v=v?v.__html:void 0,v!=null&&ml(e,v)):l==="children"?typeof v=="string"?(n!=="textarea"||v!=="")&&Dr(e,v):typeof v=="number"&&Dr(e,""+v):l!=="suppressContentEditableWarning"&&l!=="suppressHydrationWarning"&&l!=="autoFocus"&&(h.hasOwnProperty(l)?v!=null&&l==="onScroll"&&Pe("scroll",e):v!=null&&I(e,l,v,u))}switch(n){case"input":Rn(e),Jn(e,r,!1);break;case"textarea":Rn(e),Me(e);break;case"option":r.value!=null&&e.setAttribute("value",""+ge(r.value));break;case"select":e.multiple=!!r.multiple,l=r.value,l!=null?Qt(e,!!r.multiple,l,!1):r.defaultValue!=null&&Qt(e,!!r.multiple,r.defaultValue,!0);break;default:typeof s.onClick=="function"&&(e.onclick=ea)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return rt(t),null;case 6:if(e&&t.stateNode!=null)Nu(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(c(166));if(n=Bn(co.current),Bn($t.current),ia(t)){if(r=t.stateNode,n=t.memoizedProps,r[Ut]=t,(l=r.nodeValue!==n)&&(e=wt,e!==null))switch(e.tag){case 3:Jo(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Jo(r.nodeValue,n,(e.mode&1)!==0)}l&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[Ut]=t,t.stateNode=r}return rt(t),null;case 13:if(Ae(De),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Ie&&kt!==null&&(t.mode&1)!==0&&(t.flags&128)===0)Mc(),mr(),t.flags|=98560,l=!1;else if(l=ia(t),r!==null&&r.dehydrated!==null){if(e===null){if(!l)throw Error(c(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(c(317));l[Ut]=t}else mr(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;rt(t),l=!1}else It!==null&&(Li(It),It=null),l=!0;if(!l)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(De.current&1)!==0?Ge===0&&(Ge=3):Pi())),t.updateQueue!==null&&(t.flags|=4),rt(t),null);case 4:return wr(),wi(e,t),e===null&&no(t.stateNode.containerInfo),rt(t),null;case 10:return Gs(t.type._context),rt(t),null;case 17:return ut(t.type)&&na(),rt(t),null;case 19:if(Ae(De),l=t.memoizedState,l===null)return rt(t),null;if(r=(t.flags&128)!==0,u=l.rendering,u===null)if(r)mo(l,!1);else{if(Ge!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=fa(e),u!==null){for(t.flags|=128,mo(l,!1),r=u.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)l=n,e=r,l.flags&=14680066,u=l.alternate,u===null?(l.childLanes=0,l.lanes=e,l.child=null,l.subtreeFlags=0,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=u.childLanes,l.lanes=u.lanes,l.child=u.child,l.subtreeFlags=0,l.deletions=null,l.memoizedProps=u.memoizedProps,l.memoizedState=u.memoizedState,l.updateQueue=u.updateQueue,l.type=u.type,e=u.dependencies,l.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Re(De,De.current&1|2),t.child}e=e.sibling}l.tail!==null&&Ke()>Cr&&(t.flags|=128,r=!0,mo(l,!1),t.lanes=4194304)}else{if(!r)if(e=fa(u),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),mo(l,!0),l.tail===null&&l.tailMode==="hidden"&&!u.alternate&&!Ie)return rt(t),null}else 2*Ke()-l.renderingStartTime>Cr&&n!==1073741824&&(t.flags|=128,r=!0,mo(l,!1),t.lanes=4194304);l.isBackwards?(u.sibling=t.child,t.child=u):(n=l.last,n!==null?n.sibling=u:t.child=u,l.last=u)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Ke(),t.sibling=null,n=De.current,Re(De,r?n&1|2:n&1),t):(rt(t),null);case 22:case 23:return Ri(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(xt&1073741824)!==0&&(rt(t),t.subtreeFlags&6&&(t.flags|=8192)):rt(t),null;case 24:return null;case 25:return null}throw Error(c(156,t.tag))}function qf(e,t){switch(Ks(t),t.tag){case 1:return ut(t.type)&&na(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return wr(),Ae(ct),Ae(tt),ei(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Zs(t),null;case 13:if(Ae(De),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(c(340));mr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ae(De),null;case 4:return wr(),null;case 10:return Gs(t.type._context),null;case 22:case 23:return Ri(),null;case 24:return null;default:return null}}var _a=!1,ot=!1,Qf=typeof WeakSet=="function"?WeakSet:Set,Q=null;function xr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ze(e,t,r)}else n.current=null}function ki(e,t,n){try{n()}catch(r){ze(e,t,r)}}var bu=!1;function Xf(e,t){if(Rs=Ho,e=ic(),Ss(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,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch{n=null;break e}var u=0,g=-1,v=-1,b=0,F=0,z=e,O=null;t:for(;;){for(var G;z!==n||s!==0&&z.nodeType!==3||(g=u+s),z!==l||r!==0&&z.nodeType!==3||(v=u+r),z.nodeType===3&&(u+=z.nodeValue.length),(G=z.firstChild)!==null;)O=z,z=G;for(;;){if(z===e)break t;if(O===n&&++b===s&&(g=u),O===l&&++F===r&&(v=u),(G=z.nextSibling)!==null)break;z=O,O=z.parentNode}z=G}n=g===-1||v===-1?null:{start:g,end:v}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ps={focusedElem:e,selectionRange:n},Ho=!1,Q=t;Q!==null;)if(t=Q,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Q=e;else for(;Q!==null;){t=Q;try{var Y=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(Y!==null){var J=Y.memoizedProps,He=Y.memoizedState,T=t.stateNode,w=T.getSnapshotBeforeUpdate(t.elementType===t.type?J:Dt(t.type,J),He);T.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var E=t.stateNode.containerInfo;E.nodeType===1?E.textContent="":E.nodeType===9&&E.documentElement&&E.removeChild(E.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(c(163))}}catch(K){ze(t,t.return,K)}if(e=t.sibling,e!==null){e.return=t.return,Q=e;break}Q=t.return}return Y=bu,bu=!1,Y}function go(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 l=s.destroy;s.destroy=void 0,l!==void 0&&ki(t,n,l)}s=s.next}while(s!==r)}}function Ca(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 xi(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 Lu(e){var t=e.alternate;t!==null&&(e.alternate=null,Lu(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ut],delete t[oo],delete t[Os],delete t[Rf],delete t[Pf])),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 Mu(e){return e.tag===5||e.tag===3||e.tag===4}function Ru(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Mu(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 _i(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=ea));else if(r!==4&&(e=e.child,e!==null))for(_i(e,t,n),e=e.sibling;e!==null;)_i(e,t,n),e=e.sibling}function Ci(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(Ci(e,t,n),e=e.sibling;e!==null;)Ci(e,t,n),e=e.sibling}var Je=null,Ot=!1;function kn(e,t,n){for(n=n.child;n!==null;)Pu(e,t,n),n=n.sibling}function Pu(e,t,n){if(Ht&&typeof Ht.onCommitFiberUnmount=="function")try{Ht.onCommitFiberUnmount(Do,n)}catch{}switch(n.tag){case 5:ot||xr(n,t);case 6:var r=Je,s=Ot;Je=null,kn(e,t,n),Je=r,Ot=s,Je!==null&&(Ot?(e=Je,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Je.removeChild(n.stateNode));break;case 18:Je!==null&&(Ot?(e=Je,n=n.stateNode,e.nodeType===8?Ds(e.parentNode,n):e.nodeType===1&&Ds(e,n),Gr(e)):Ds(Je,n.stateNode));break;case 4:r=Je,s=Ot,Je=n.stateNode.containerInfo,Ot=!0,kn(e,t,n),Je=r,Ot=s;break;case 0:case 11:case 14:case 15:if(!ot&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){s=r=r.next;do{var l=s,u=l.destroy;l=l.tag,u!==void 0&&((l&2)!==0||(l&4)!==0)&&ki(n,t,u),s=s.next}while(s!==r)}kn(e,t,n);break;case 1:if(!ot&&(xr(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(g){ze(n,t,g)}kn(e,t,n);break;case 21:kn(e,t,n);break;case 22:n.mode&1?(ot=(r=ot)||n.memoizedState!==null,kn(e,t,n),ot=r):kn(e,t,n);break;default:kn(e,t,n)}}function Au(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Qf),t.forEach(function(r){var s=ap.bind(null,e,r);n.has(r)||(n.add(r),r.then(s,s))})}}function Ft(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var s=n[r];try{var l=e,u=t,g=u;e:for(;g!==null;){switch(g.tag){case 5:Je=g.stateNode,Ot=!1;break e;case 3:Je=g.stateNode.containerInfo,Ot=!0;break e;case 4:Je=g.stateNode.containerInfo,Ot=!0;break e}g=g.return}if(Je===null)throw Error(c(160));Pu(l,u,s),Je=null,Ot=!1;var v=s.alternate;v!==null&&(v.return=null),s.return=null}catch(b){ze(s,t,b)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Iu(t,e),t=t.sibling}function Iu(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ft(t,e),Wt(e),r&4){try{go(3,e,e.return),Ca(3,e)}catch(J){ze(e,e.return,J)}try{go(5,e,e.return)}catch(J){ze(e,e.return,J)}}break;case 1:Ft(t,e),Wt(e),r&512&&n!==null&&xr(n,n.return);break;case 5:if(Ft(t,e),Wt(e),r&512&&n!==null&&xr(n,n.return),e.flags&32){var s=e.stateNode;try{Dr(s,"")}catch(J){ze(e,e.return,J)}}if(r&4&&(s=e.stateNode,s!=null)){var l=e.memoizedProps,u=n!==null?n.memoizedProps:l,g=e.type,v=e.updateQueue;if(e.updateQueue=null,v!==null)try{g==="input"&&l.type==="radio"&&l.name!=null&&Ro(s,l),es(g,u);var b=es(g,l);for(u=0;u<v.length;u+=2){var F=v[u],z=v[u+1];F==="style"?vl(s,z):F==="dangerouslySetInnerHTML"?ml(s,z):F==="children"?Dr(s,z):I(s,F,z,b)}switch(g){case"input":Ar(s,l);break;case"textarea":Se(s,l);break;case"select":var O=s._wrapperState.wasMultiple;s._wrapperState.wasMultiple=!!l.multiple;var G=l.value;G!=null?Qt(s,!!l.multiple,G,!1):O!==!!l.multiple&&(l.defaultValue!=null?Qt(s,!!l.multiple,l.defaultValue,!0):Qt(s,!!l.multiple,l.multiple?[]:"",!1))}s[oo]=l}catch(J){ze(e,e.return,J)}}break;case 6:if(Ft(t,e),Wt(e),r&4){if(e.stateNode===null)throw Error(c(162));s=e.stateNode,l=e.memoizedProps;try{s.nodeValue=l}catch(J){ze(e,e.return,J)}}break;case 3:if(Ft(t,e),Wt(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Gr(t.containerInfo)}catch(J){ze(e,e.return,J)}break;case 4:Ft(t,e),Wt(e);break;case 13:Ft(t,e),Wt(e),s=e.child,s.flags&8192&&(l=s.memoizedState!==null,s.stateNode.isHidden=l,!l||s.alternate!==null&&s.alternate.memoizedState!==null||(Ti=Ke())),r&4&&Au(e);break;case 22:if(F=n!==null&&n.memoizedState!==null,e.mode&1?(ot=(b=ot)||F,Ft(t,e),ot=b):Ft(t,e),Wt(e),r&8192){if(b=e.memoizedState!==null,(e.stateNode.isHidden=b)&&!F&&(e.mode&1)!==0)for(Q=e,F=e.child;F!==null;){for(z=Q=F;Q!==null;){switch(O=Q,G=O.child,O.tag){case 0:case 11:case 14:case 15:go(4,O,O.return);break;case 1:xr(O,O.return);var Y=O.stateNode;if(typeof Y.componentWillUnmount=="function"){r=O,n=O.return;try{t=r,Y.props=t.memoizedProps,Y.state=t.memoizedState,Y.componentWillUnmount()}catch(J){ze(r,n,J)}}break;case 5:xr(O,O.return);break;case 22:if(O.memoizedState!==null){Fu(z);continue}}G!==null?(G.return=O,Q=G):Fu(z)}F=F.sibling}e:for(F=null,z=e;;){if(z.tag===5){if(F===null){F=z;try{s=z.stateNode,b?(l=s.style,typeof l.setProperty=="function"?l.setProperty("display","none","important"):l.display="none"):(g=z.stateNode,v=z.memoizedProps.style,u=v!=null&&v.hasOwnProperty("display")?v.display:null,g.style.display=gl("display",u))}catch(J){ze(e,e.return,J)}}}else if(z.tag===6){if(F===null)try{z.stateNode.nodeValue=b?"":z.memoizedProps}catch(J){ze(e,e.return,J)}}else if((z.tag!==22&&z.tag!==23||z.memoizedState===null||z===e)&&z.child!==null){z.child.return=z,z=z.child;continue}if(z===e)break e;for(;z.sibling===null;){if(z.return===null||z.return===e)break e;F===z&&(F=null),z=z.return}F===z&&(F=null),z.sibling.return=z.return,z=z.sibling}}break;case 19:Ft(t,e),Wt(e),r&4&&Au(e);break;case 21:break;default:Ft(t,e),Wt(e)}}function Wt(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(Mu(n)){var r=n;break e}n=n.return}throw Error(c(160))}switch(r.tag){case 5:var s=r.stateNode;r.flags&32&&(Dr(s,""),r.flags&=-33);var l=Ru(e);Ci(e,l,s);break;case 3:case 4:var u=r.stateNode.containerInfo,g=Ru(e);_i(e,g,u);break;default:throw Error(c(161))}}catch(v){ze(e,e.return,v)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Yf(e,t,n){Q=e,Du(e)}function Du(e,t,n){for(var r=(e.mode&1)!==0;Q!==null;){var s=Q,l=s.child;if(s.tag===22&&r){var u=s.memoizedState!==null||_a;if(!u){var g=s.alternate,v=g!==null&&g.memoizedState!==null||ot;g=_a;var b=ot;if(_a=u,(ot=v)&&!b)for(Q=s;Q!==null;)u=Q,v=u.child,u.tag===22&&u.memoizedState!==null?zu(s):v!==null?(v.return=u,Q=v):zu(s);for(;l!==null;)Q=l,Du(l),l=l.sibling;Q=s,_a=g,ot=b}Ou(e)}else(s.subtreeFlags&8772)!==0&&l!==null?(l.return=s,Q=l):Ou(e)}}function Ou(e){for(;Q!==null;){var t=Q;if((t.flags&8772)!==0){var n=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:ot||Ca(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!ot)if(n===null)r.componentDidMount();else{var s=t.elementType===t.type?n.memoizedProps:Dt(t.type,n.memoizedProps);r.componentDidUpdate(s,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var l=t.updateQueue;l!==null&&Fc(t,l,r);break;case 3:var u=t.updateQueue;if(u!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Fc(t,u,n)}break;case 5:var g=t.stateNode;if(n===null&&t.flags&4){n=g;var v=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":v.autoFocus&&n.focus();break;case"img":v.src&&(n.src=v.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var b=t.alternate;if(b!==null){var F=b.memoizedState;if(F!==null){var z=F.dehydrated;z!==null&&Gr(z)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(c(163))}ot||t.flags&512&&xi(t)}catch(O){ze(t,t.return,O)}}if(t===e){Q=null;break}if(n=t.sibling,n!==null){n.return=t.return,Q=n;break}Q=t.return}}function Fu(e){for(;Q!==null;){var t=Q;if(t===e){Q=null;break}var n=t.sibling;if(n!==null){n.return=t.return,Q=n;break}Q=t.return}}function zu(e){for(;Q!==null;){var t=Q;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Ca(4,t)}catch(v){ze(t,n,v)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var s=t.return;try{r.componentDidMount()}catch(v){ze(t,s,v)}}var l=t.return;try{xi(t)}catch(v){ze(t,l,v)}break;case 5:var u=t.return;try{xi(t)}catch(v){ze(t,u,v)}}}catch(v){ze(t,t.return,v)}if(t===e){Q=null;break}var g=t.sibling;if(g!==null){g.return=t.return,Q=g;break}Q=t.return}}var Zf=Math.ceil,Sa=B.ReactCurrentDispatcher,Si=B.ReactCurrentOwner,Nt=B.ReactCurrentBatchConfig,Te=0,Xe=null,$e=null,et=0,xt=0,_r=mn(0),Ge=0,vo=null,Hn=0,ja=0,ji=0,yo=null,ht=null,Ti=0,Cr=1/0,rn=null,Ta=!1,Ei=null,xn=null,Ea=!1,_n=null,Na=0,wo=0,Ni=null,ba=-1,La=0;function it(){return(Te&6)!==0?Ke():ba!==-1?ba:ba=Ke()}function Cn(e){return(e.mode&1)===0?1:(Te&2)!==0&&et!==0?et&-et:If.transition!==null?(La===0&&(La=Rl()),La):(e=Le,e!==0||(e=window.event,e=e===void 0?16:Kl(e.type)),e)}function zt(e,t,n,r){if(50<wo)throw wo=0,Ni=null,Error(c(185));Hr(e,n,r),((Te&2)===0||e!==Xe)&&(e===Xe&&((Te&2)===0&&(ja|=n),Ge===4&&Sn(e,et)),ft(e,r),n===1&&Te===0&&(t.mode&1)===0&&(Cr=Ke()+500,oa&&vn()))}function ft(e,t){var n=e.callbackNode;Ah(e,t);var r=zo(e,e===Xe?et:0);if(r===0)n!==null&&bl(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&bl(n),t===1)e.tag===0?Af(Ku.bind(null,e)):Tc(Ku.bind(null,e)),Lf(function(){(Te&6)===0&&vn()}),n=null;else{switch(Pl(r)){case 1:n=is;break;case 4:n=Ll;break;case 16:n=Io;break;case 536870912:n=Ml;break;default:n=Io}n=Qu(n,Bu.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Bu(e,t){if(ba=-1,La=0,(Te&6)!==0)throw Error(c(327));var n=e.callbackNode;if(Sr()&&e.callbackNode!==n)return null;var r=zo(e,e===Xe?et:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=Ma(e,r);else{t=r;var s=Te;Te|=2;var l=Uu();(Xe!==e||et!==t)&&(rn=null,Cr=Ke()+500,$n(e,t));do try{tp();break}catch(g){Hu(e,g)}while(!0);Ws(),Sa.current=l,Te=s,$e!==null?t=0:(Xe=null,et=0,t=Ge)}if(t!==0){if(t===2&&(s=ls(e),s!==0&&(r=s,t=bi(e,s))),t===1)throw n=vo,$n(e,0),Sn(e,r),ft(e,Ke()),n;if(t===6)Sn(e,r);else{if(s=e.current.alternate,(r&30)===0&&!Jf(s)&&(t=Ma(e,r),t===2&&(l=ls(e),l!==0&&(r=l,t=bi(e,l))),t===1))throw n=vo,$n(e,0),Sn(e,r),ft(e,Ke()),n;switch(e.finishedWork=s,e.finishedLanes=r,t){case 0:case 1:throw Error(c(345));case 2:Vn(e,ht,rn);break;case 3:if(Sn(e,r),(r&130023424)===r&&(t=Ti+500-Ke(),10<t)){if(zo(e,0)!==0)break;if(s=e.suspendedLanes,(s&r)!==r){it(),e.pingedLanes|=e.suspendedLanes&s;break}e.timeoutHandle=Is(Vn.bind(null,e,ht,rn),t);break}Vn(e,ht,rn);break;case 4:if(Sn(e,r),(r&4194240)===r)break;for(t=e.eventTimes,s=-1;0<r;){var u=31-Pt(r);l=1<<u,u=t[u],u>s&&(s=u),r&=~l}if(r=s,r=Ke()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Zf(r/1960))-r,10<r){e.timeoutHandle=Is(Vn.bind(null,e,ht,rn),r);break}Vn(e,ht,rn);break;case 5:Vn(e,ht,rn);break;default:throw Error(c(329))}}}return ft(e,Ke()),e.callbackNode===n?Bu.bind(null,e):null}function bi(e,t){var n=yo;return e.current.memoizedState.isDehydrated&&($n(e,t).flags|=256),e=Ma(e,t),e!==2&&(t=ht,ht=n,t!==null&&Li(t)),e}function Li(e){ht===null?ht=e:ht.push.apply(ht,e)}function Jf(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var s=n[r],l=s.getSnapshot;s=s.value;try{if(!At(l(),s))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Sn(e,t){for(t&=~ji,t&=~ja,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Pt(t),r=1<<n;e[n]=-1,t&=~r}}function Ku(e){if((Te&6)!==0)throw Error(c(327));Sr();var t=zo(e,0);if((t&1)===0)return ft(e,Ke()),null;var n=Ma(e,t);if(e.tag!==0&&n===2){var r=ls(e);r!==0&&(t=r,n=bi(e,r))}if(n===1)throw n=vo,$n(e,0),Sn(e,t),ft(e,Ke()),n;if(n===6)throw Error(c(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Vn(e,ht,rn),ft(e,Ke()),null}function Mi(e,t){var n=Te;Te|=1;try{return e(t)}finally{Te=n,Te===0&&(Cr=Ke()+500,oa&&vn())}}function Un(e){_n!==null&&_n.tag===0&&(Te&6)===0&&Sr();var t=Te;Te|=1;var n=Nt.transition,r=Le;try{if(Nt.transition=null,Le=1,e)return e()}finally{Le=r,Nt.transition=n,Te=t,(Te&6)===0&&vn()}}function Ri(){xt=_r.current,Ae(_r)}function $n(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,bf(n)),$e!==null)for(n=$e.return;n!==null;){var r=n;switch(Ks(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&na();break;case 3:wr(),Ae(ct),Ae(tt),ei();break;case 5:Zs(r);break;case 4:wr();break;case 13:Ae(De);break;case 19:Ae(De);break;case 10:Gs(r.type._context);break;case 22:case 23:Ri()}n=n.return}if(Xe=e,$e=e=jn(e.current,null),et=xt=t,Ge=0,vo=null,ji=ja=Hn=0,ht=yo=null,zn!==null){for(t=0;t<zn.length;t++)if(n=zn[t],r=n.interleaved,r!==null){n.interleaved=null;var s=r.next,l=n.pending;if(l!==null){var u=l.next;l.next=s,r.next=u}n.pending=r}zn=null}return e}function Hu(e,t){do{var n=$e;try{if(Ws(),pa.current=ya,ma){for(var r=Oe.memoizedState;r!==null;){var s=r.queue;s!==null&&(s.pending=null),r=r.next}ma=!1}if(Kn=0,Qe=We=Oe=null,uo=!1,ho=0,Si.current=null,n===null||n.return===null){Ge=1,vo=t,$e=null;break}e:{var l=e,u=n.return,g=n,v=t;if(t=et,g.flags|=32768,v!==null&&typeof v=="object"&&typeof v.then=="function"){var b=v,F=g,z=F.tag;if((F.mode&1)===0&&(z===0||z===11||z===15)){var O=F.alternate;O?(F.updateQueue=O.updateQueue,F.memoizedState=O.memoizedState,F.lanes=O.lanes):(F.updateQueue=null,F.memoizedState=null)}var G=fu(u);if(G!==null){G.flags&=-257,pu(G,u,g,l,t),G.mode&1&&hu(l,b,t),t=G,v=b;var Y=t.updateQueue;if(Y===null){var J=new Set;J.add(v),t.updateQueue=J}else Y.add(v);break e}else{if((t&1)===0){hu(l,b,t),Pi();break e}v=Error(c(426))}}else if(Ie&&g.mode&1){var He=fu(u);if(He!==null){(He.flags&65536)===0&&(He.flags|=256),pu(He,u,g,l,t),$s(kr(v,g));break e}}l=v=kr(v,g),Ge!==4&&(Ge=2),yo===null?yo=[l]:yo.push(l),l=u;do{switch(l.tag){case 3:l.flags|=65536,t&=-t,l.lanes|=t;var T=uu(l,v,t);Oc(l,T);break e;case 1:g=v;var w=l.type,E=l.stateNode;if((l.flags&128)===0&&(typeof w.getDerivedStateFromError=="function"||E!==null&&typeof E.componentDidCatch=="function"&&(xn===null||!xn.has(E)))){l.flags|=65536,t&=-t,l.lanes|=t;var K=du(l,g,t);Oc(l,K);break e}}l=l.return}while(l!==null)}Vu(n)}catch(ee){t=ee,$e===n&&n!==null&&($e=n=n.return);continue}break}while(!0)}function Uu(){var e=Sa.current;return Sa.current=ya,e===null?ya:e}function Pi(){(Ge===0||Ge===3||Ge===2)&&(Ge=4),Xe===null||(Hn&268435455)===0&&(ja&268435455)===0||Sn(Xe,et)}function Ma(e,t){var n=Te;Te|=2;var r=Uu();(Xe!==e||et!==t)&&(rn=null,$n(e,t));do try{ep();break}catch(s){Hu(e,s)}while(!0);if(Ws(),Te=n,Sa.current=r,$e!==null)throw Error(c(261));return Xe=null,et=0,Ge}function ep(){for(;$e!==null;)$u($e)}function tp(){for(;$e!==null&&!jh();)$u($e)}function $u(e){var t=qu(e.alternate,e,xt);e.memoizedProps=e.pendingProps,t===null?Vu(e):$e=t,Si.current=null}function Vu(e){var t=e;do{var n=t.alternate;if(e=t.return,(t.flags&32768)===0){if(n=Gf(n,t,xt),n!==null){$e=n;return}}else{if(n=qf(n,t),n!==null){n.flags&=32767,$e=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ge=6,$e=null;return}}if(t=t.sibling,t!==null){$e=t;return}$e=t=e}while(t!==null);Ge===0&&(Ge=5)}function Vn(e,t,n){var r=Le,s=Nt.transition;try{Nt.transition=null,Le=1,np(e,t,n,r)}finally{Nt.transition=s,Le=r}return null}function np(e,t,n,r){do Sr();while(_n!==null);if((Te&6)!==0)throw Error(c(327));n=e.finishedWork;var s=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(c(177));e.callbackNode=null,e.callbackPriority=0;var l=n.lanes|n.childLanes;if(Ih(e,l),e===Xe&&($e=Xe=null,et=0),(n.subtreeFlags&2064)===0&&(n.flags&2064)===0||Ea||(Ea=!0,Qu(Io,function(){return Sr(),null})),l=(n.flags&15990)!==0,(n.subtreeFlags&15990)!==0||l){l=Nt.transition,Nt.transition=null;var u=Le;Le=1;var g=Te;Te|=4,Si.current=null,Xf(e,n),Iu(n,e),_f(Ps),Ho=!!Rs,Ps=Rs=null,e.current=n,Yf(n),Th(),Te=g,Le=u,Nt.transition=l}else e.current=n;if(Ea&&(Ea=!1,_n=e,Na=s),l=e.pendingLanes,l===0&&(xn=null),bh(n.stateNode),ft(e,Ke()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)s=t[n],r(s.value,{componentStack:s.stack,digest:s.digest});if(Ta)throw Ta=!1,e=Ei,Ei=null,e;return(Na&1)!==0&&e.tag!==0&&Sr(),l=e.pendingLanes,(l&1)!==0?e===Ni?wo++:(wo=0,Ni=e):wo=0,vn(),null}function Sr(){if(_n!==null){var e=Pl(Na),t=Nt.transition,n=Le;try{if(Nt.transition=null,Le=16>e?16:e,_n===null)var r=!1;else{if(e=_n,_n=null,Na=0,(Te&6)!==0)throw Error(c(331));var s=Te;for(Te|=4,Q=e.current;Q!==null;){var l=Q,u=l.child;if((Q.flags&16)!==0){var g=l.deletions;if(g!==null){for(var v=0;v<g.length;v++){var b=g[v];for(Q=b;Q!==null;){var F=Q;switch(F.tag){case 0:case 11:case 15:go(8,F,l)}var z=F.child;if(z!==null)z.return=F,Q=z;else for(;Q!==null;){F=Q;var O=F.sibling,G=F.return;if(Lu(F),F===b){Q=null;break}if(O!==null){O.return=G,Q=O;break}Q=G}}}var Y=l.alternate;if(Y!==null){var J=Y.child;if(J!==null){Y.child=null;do{var He=J.sibling;J.sibling=null,J=He}while(J!==null)}}Q=l}}if((l.subtreeFlags&2064)!==0&&u!==null)u.return=l,Q=u;else e:for(;Q!==null;){if(l=Q,(l.flags&2048)!==0)switch(l.tag){case 0:case 11:case 15:go(9,l,l.return)}var T=l.sibling;if(T!==null){T.return=l.return,Q=T;break e}Q=l.return}}var w=e.current;for(Q=w;Q!==null;){u=Q;var E=u.child;if((u.subtreeFlags&2064)!==0&&E!==null)E.return=u,Q=E;else e:for(u=w;Q!==null;){if(g=Q,(g.flags&2048)!==0)try{switch(g.tag){case 0:case 11:case 15:Ca(9,g)}}catch(ee){ze(g,g.return,ee)}if(g===u){Q=null;break e}var K=g.sibling;if(K!==null){K.return=g.return,Q=K;break e}Q=g.return}}if(Te=s,vn(),Ht&&typeof Ht.onPostCommitFiberRoot=="function")try{Ht.onPostCommitFiberRoot(Do,e)}catch{}r=!0}return r}finally{Le=n,Nt.transition=t}}return!1}function Wu(e,t,n){t=kr(n,t),t=uu(e,t,1),e=wn(e,t,1),t=it(),e!==null&&(Hr(e,1,t),ft(e,t))}function ze(e,t,n){if(e.tag===3)Wu(e,e,n);else for(;t!==null;){if(t.tag===3){Wu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(xn===null||!xn.has(r))){e=kr(n,e),e=du(t,e,1),t=wn(t,e,1),e=it(),t!==null&&(Hr(t,1,e),ft(t,e));break}}t=t.return}}function rp(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=it(),e.pingedLanes|=e.suspendedLanes&n,Xe===e&&(et&n)===n&&(Ge===4||Ge===3&&(et&130023424)===et&&500>Ke()-Ti?$n(e,0):ji|=n),ft(e,t)}function Gu(e,t){t===0&&((e.mode&1)===0?t=1:(t=Fo,Fo<<=1,(Fo&130023424)===0&&(Fo=4194304)));var n=it();e=en(e,t),e!==null&&(Hr(e,t,n),ft(e,n))}function op(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Gu(e,n)}function ap(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(c(314))}r!==null&&r.delete(t),Gu(e,n)}var qu;qu=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ct.current)dt=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return dt=!1,Wf(e,t,n);dt=(e.flags&131072)!==0}else dt=!1,Ie&&(t.flags&1048576)!==0&&Ec(t,sa,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;xa(e,t),e=t.pendingProps;var s=hr(t,tt.current);yr(t,n),s=ri(null,t,r,e,s,n);var l=oi();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,ut(r)?(l=!0,ra(t)):l=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Xs(t),s.updater=wa,t.stateNode=s,s._reactInternals=t,ui(t,r,e,n),t=pi(null,t,r,!0,l,n)):(t.tag=0,Ie&&l&&Bs(t),st(null,t,s,n),t=t.child),t;case 16:r=t.elementType;e:{switch(xa(e,t),e=t.pendingProps,s=r._init,r=s(r._payload),t.type=r,s=t.tag=ip(r),e=Dt(r,e),s){case 0:t=fi(null,t,r,e,n);break e;case 1:t=ku(null,t,r,e,n);break e;case 11:t=mu(null,t,r,e,n);break e;case 14:t=gu(null,t,r,Dt(r.type,e),n);break e}throw Error(c(306,r,""))}return t;case 0:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:Dt(r,s),fi(e,t,r,s,n);case 1:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:Dt(r,s),ku(e,t,r,s,n);case 3:e:{if(xu(t),e===null)throw Error(c(387));r=t.pendingProps,l=t.memoizedState,s=l.element,Dc(e,t),ha(t,r,null,n);var u=t.memoizedState;if(r=u.element,l.isDehydrated)if(l={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){s=kr(Error(c(423)),t),t=_u(e,t,r,n,s);break e}else if(r!==s){s=kr(Error(c(424)),t),t=_u(e,t,r,n,s);break e}else for(kt=pn(t.stateNode.containerInfo.firstChild),wt=t,Ie=!0,It=null,n=Ac(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(mr(),r===s){t=nn(e,t,n);break e}st(e,t,r,n)}t=t.child}return t;case 5:return zc(t),e===null&&Us(t),r=t.type,s=t.pendingProps,l=e!==null?e.memoizedProps:null,u=s.children,As(r,s)?u=null:l!==null&&As(r,l)&&(t.flags|=32),wu(e,t),st(e,t,u,n),t.child;case 6:return e===null&&Us(t),null;case 13:return Cu(e,t,n);case 4:return Ys(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=gr(t,null,r,n):st(e,t,r,n),t.child;case 11:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:Dt(r,s),mu(e,t,r,s,n);case 7:return st(e,t,t.pendingProps,n),t.child;case 8:return st(e,t,t.pendingProps.children,n),t.child;case 12:return st(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,s=t.pendingProps,l=t.memoizedProps,u=s.value,Re(ca,r._currentValue),r._currentValue=u,l!==null)if(At(l.value,u)){if(l.children===s.children&&!ct.current){t=nn(e,t,n);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var g=l.dependencies;if(g!==null){u=l.child;for(var v=g.firstContext;v!==null;){if(v.context===r){if(l.tag===1){v=tn(-1,n&-n),v.tag=2;var b=l.updateQueue;if(b!==null){b=b.shared;var F=b.pending;F===null?v.next=v:(v.next=F.next,F.next=v),b.pending=v}}l.lanes|=n,v=l.alternate,v!==null&&(v.lanes|=n),qs(l.return,n,t),g.lanes|=n;break}v=v.next}}else if(l.tag===10)u=l.type===t.type?null:l.child;else if(l.tag===18){if(u=l.return,u===null)throw Error(c(341));u.lanes|=n,g=u.alternate,g!==null&&(g.lanes|=n),qs(u,n,t),u=l.sibling}else u=l.child;if(u!==null)u.return=l;else for(u=l;u!==null;){if(u===t){u=null;break}if(l=u.sibling,l!==null){l.return=u.return,u=l;break}u=u.return}l=u}st(e,t,s.children,n),t=t.child}return t;case 9:return s=t.type,r=t.pendingProps.children,yr(t,n),s=Tt(s),r=r(s),t.flags|=1,st(e,t,r,n),t.child;case 14:return r=t.type,s=Dt(r,t.pendingProps),s=Dt(r.type,s),gu(e,t,r,s,n);case 15:return vu(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:Dt(r,s),xa(e,t),t.tag=1,ut(r)?(e=!0,ra(t)):e=!1,yr(t,n),lu(t,r,s),ui(t,r,s,n),pi(null,t,r,!0,e,n);case 19:return ju(e,t,n);case 22:return yu(e,t,n)}throw Error(c(156,t.tag))};function Qu(e,t){return Nl(e,t)}function sp(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 bt(e,t,n,r){return new sp(e,t,n,r)}function Ai(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ip(e){if(typeof e=="function")return Ai(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Z)return 11;if(e===Ne)return 14}return 2}function jn(e,t){var n=e.alternate;return n===null?(n=bt(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 Ra(e,t,n,r,s,l){var u=2;if(r=e,typeof e=="function")Ai(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case pe:return Wn(n.children,s,l,t);case re:u=8,s|=8;break;case te:return e=bt(12,n,t,s|2),e.elementType=te,e.lanes=l,e;case W:return e=bt(13,n,t,s),e.elementType=W,e.lanes=l,e;case me:return e=bt(19,n,t,s),e.elementType=me,e.lanes=l,e;case _e:return Pa(n,s,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case oe:u=10;break e;case xe:u=9;break e;case Z:u=11;break e;case Ne:u=14;break e;case je:u=16,r=null;break e}throw Error(c(130,e==null?e:typeof e,""))}return t=bt(u,n,t,s),t.elementType=e,t.type=r,t.lanes=l,t}function Wn(e,t,n,r){return e=bt(7,e,r,t),e.lanes=n,e}function Pa(e,t,n,r){return e=bt(22,e,r,t),e.elementType=_e,e.lanes=n,e.stateNode={isHidden:!1},e}function Ii(e,t,n){return e=bt(6,e,null,t),e.lanes=n,e}function Di(e,t,n){return t=bt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function lp(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=cs(0),this.expirationTimes=cs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=cs(0),this.identifierPrefix=r,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Oi(e,t,n,r,s,l,u,g,v){return e=new lp(e,t,n,g,v),t===1?(t=1,l===!0&&(t|=8)):t=0,l=bt(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Xs(l),e}function cp(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:q,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function Xu(e){if(!e)return gn;e=e._reactInternals;e:{if(An(e)!==e||e.tag!==1)throw Error(c(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ut(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(c(171))}if(e.tag===1){var n=e.type;if(ut(n))return Sc(e,n,t)}return t}function Yu(e,t,n,r,s,l,u,g,v){return e=Oi(n,r,!0,e,s,l,u,g,v),e.context=Xu(null),n=e.current,r=it(),s=Cn(n),l=tn(r,s),l.callback=t??null,wn(n,l,s),e.current.lanes=s,Hr(e,s,r),ft(e,r),e}function Aa(e,t,n,r){var s=t.current,l=it(),u=Cn(s);return n=Xu(n),t.context===null?t.context=n:t.pendingContext=n,t=tn(l,u),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=wn(s,t,u),e!==null&&(zt(e,s,u,l),da(e,s,u)),u}function Ia(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Zu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Fi(e,t){Zu(e,t),(e=e.alternate)&&Zu(e,t)}function up(){return null}var Ju=typeof reportError=="function"?reportError:function(e){console.error(e)};function zi(e){this._internalRoot=e}Da.prototype.render=zi.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(c(409));Aa(e,t,null,null)},Da.prototype.unmount=zi.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Un(function(){Aa(null,e,null,null)}),t[Xt]=null}};function Da(e){this._internalRoot=e}Da.prototype.unstable_scheduleHydration=function(e){if(e){var t=Dl();e={blockedOn:null,target:e,priority:t};for(var n=0;n<dn.length&&t!==0&&t<dn[n].priority;n++);dn.splice(n,0,e),n===0&&zl(e)}};function Bi(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Oa(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function ed(){}function dp(e,t,n,r,s){if(s){if(typeof r=="function"){var l=r;r=function(){var b=Ia(u);l.call(b)}}var u=Yu(t,r,e,0,null,!1,!1,"",ed);return e._reactRootContainer=u,e[Xt]=u.current,no(e.nodeType===8?e.parentNode:e),Un(),u}for(;s=e.lastChild;)e.removeChild(s);if(typeof r=="function"){var g=r;r=function(){var b=Ia(v);g.call(b)}}var v=Oi(e,0,!1,null,null,!1,!1,"",ed);return e._reactRootContainer=v,e[Xt]=v.current,no(e.nodeType===8?e.parentNode:e),Un(function(){Aa(t,v,n,r)}),v}function Fa(e,t,n,r,s){var l=n._reactRootContainer;if(l){var u=l;if(typeof s=="function"){var g=s;s=function(){var v=Ia(u);g.call(v)}}Aa(t,u,e,s)}else u=dp(n,t,e,s,r);return Ia(u)}Al=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Kr(t.pendingLanes);n!==0&&(us(t,n|1),ft(t,Ke()),(Te&6)===0&&(Cr=Ke()+500,vn()))}break;case 13:Un(function(){var r=en(e,1);if(r!==null){var s=it();zt(r,e,1,s)}}),Fi(e,1)}},ds=function(e){if(e.tag===13){var t=en(e,134217728);if(t!==null){var n=it();zt(t,e,134217728,n)}Fi(e,134217728)}},Il=function(e){if(e.tag===13){var t=Cn(e),n=en(e,t);if(n!==null){var r=it();zt(n,e,t,r)}Fi(e,t)}},Dl=function(){return Le},Ol=function(e,t){var n=Le;try{return Le=e,t()}finally{Le=n}},rs=function(e,t,n){switch(t){case"input":if(Ar(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var s=ta(r);if(!s)throw Error(c(90));Pr(r),Ar(r,s)}}}break;case"textarea":Se(e,n);break;case"select":t=n.value,t!=null&&Qt(e,!!n.multiple,t,!1)}},xl=Mi,_l=Un;var hp={usingClientEntryPoint:!1,Events:[ao,ur,ta,wl,kl,Mi]},ko={findFiberByHostInstance:In,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},fp={bundleType:ko.bundleType,version:ko.version,rendererPackageName:ko.rendererPackageName,rendererConfig:ko.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:B.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Tl(e),e===null?null:e.stateNode},findFiberByHostInstance:ko.findFiberByHostInstance||up,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var za=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!za.isDisabled&&za.supportsFiber)try{Do=za.inject(fp),Ht=za}catch{}}return pt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=hp,pt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Bi(t))throw Error(c(200));return cp(e,t,null,n)},pt.createRoot=function(e,t){if(!Bi(e))throw Error(c(299));var n=!1,r="",s=Ju;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(s=t.onRecoverableError)),t=Oi(e,1,!1,null,null,n,!1,r,s),e[Xt]=t.current,no(e.nodeType===8?e.parentNode:e),new zi(t)},pt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(c(188)):(e=Object.keys(e).join(","),Error(c(268,e)));return e=Tl(t),e=e===null?null:e.stateNode,e},pt.flushSync=function(e){return Un(e)},pt.hydrate=function(e,t,n){if(!Oa(t))throw Error(c(200));return Fa(null,e,t,!0,n)},pt.hydrateRoot=function(e,t,n){if(!Bi(e))throw Error(c(405));var r=n!=null&&n.hydratedSources||null,s=!1,l="",u=Ju;if(n!=null&&(n.unstable_strictMode===!0&&(s=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onRecoverableError!==void 0&&(u=n.onRecoverableError)),t=Yu(t,null,e,1,n??null,s,!1,l,u),e[Xt]=t.current,no(e),r)for(e=0;e<r.length;e++)n=r[e],s=n._getVersion,s=s(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,s]:t.mutableSourceEagerHydrationData.push(n,s);return new Da(t)},pt.render=function(e,t,n){if(!Oa(t))throw Error(c(200));return Fa(null,e,t,!1,n)},pt.unmountComponentAtNode=function(e){if(!Oa(e))throw Error(c(40));return e._reactRootContainer?(Un(function(){Fa(null,null,e,!1,function(){e._reactRootContainer=null,e[Xt]=null})}),!0):!1},pt.unstable_batchedUpdates=Mi,pt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Oa(n))throw Error(c(200));if(e==null||e._reactInternals===void 0)throw Error(c(38));return Fa(e,t,n,!1,r)},pt.version="18.3.1-next-f1338f8080-20240426",pt}var cd;function Fd(){if(cd)return Ui.exports;cd=1;function a(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(i){console.error(i)}}return a(),Ui.exports=Tp(),Ui.exports}var ud;function Ep(){if(ud)return Ba;ud=1;var a=Fd();return Ba.createRoot=a.createRoot,Ba.hydrateRoot=a.hydrateRoot,Ba}var Np=Ep();class Gt extends Error{constructor(c,d){super(d);td(this,"code");this.name="GatewayError",this.code=c}}function il(a){return(a??"").trim().replace(/\/+$/,"")}function bp(a){return`${il(a)}/v1/commands`}function Lp(a,i){return`${il(a)}/v1/turns/${encodeURIComponent(i)}/events`}function zd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`req-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Mp(a,i){return{protocolVersion:1,requestId:zd(),type:a,payload:i}}function _o(a){return typeof a=="object"&&a!==null&&!Array.isArray(a)}function Rp(a,i="UNKNOWN_ERROR"){return a instanceof Gt?a:a instanceof Error?new Gt(i,a.message):new Gt(i,String(a))}function Pp(a={}){const i=il(a.baseUrl),c=(a.apiKey??"").trim(),d=a.fetchImpl??fetch.bind(globalThis),h=bp(i);function m(_){const C={"Content-Type":"application/json",..._};return c!==""&&(C.Authorization=`Bearer ${c}`),C}async function f(_,C){let M;try{M=await d(h,{method:"POST",headers:m(),body:JSON.stringify(Mp(_,C))})}catch(L){throw new Gt("NETWORK_ERROR",L instanceof Error?`Không kết nối được gateway: ${L.message}`:"Không kết nối được gateway")}if(!M.ok){let L="HTTP_ERROR",I=`Gateway trả HTTP ${M.status}`;try{const B=await M.text();if(B)try{const ue=JSON.parse(B);if(_o(ue)){const q=ue.error;_o(q)?(typeof q.code=="string"&&(L=q.code),typeof q.message=="string"&&(I=q.message)):typeof ue.message=="string"?I=ue.message:I=`${I}: ${B.slice(0,200)}`}else I=`${I}: ${B.slice(0,200)}`}catch{I=`${I}: ${B.slice(0,200)}`}}catch{}throw new Gt(L,I)}let R;try{R=await M.json()}catch{throw new Gt("BAD_RESPONSE","Gateway trả về JSON không hợp lệ")}if(!_o(R)||R.protocolVersion!==1||!("payload"in R))throw new Gt("BAD_RESPONSE","Gateway trả về envelope không hợp lệ");return R.payload}function y(_){const C=_.trim();if(!C.startsWith("data:"))return null;const M=C.slice(5).trim();if(M===""||M==="[DONE]")return null;try{const R=JSON.parse(M);return!_o(R)||typeof R.type!="string"||!_o(R.payload)?null:R}catch{return null}}async function*k(_,C){const R=(await f("agent.turn.submit",{sessionId:_,message:C})).turnId;let L;try{L=await d(Lp(i,R),{headers:m({Accept:"text/event-stream"})})}catch(q){throw new Gt("NETWORK_ERROR",q instanceof Error?`Không kết nối được gateway: ${q.message}`:"Không kết nối được gateway")}if(!L.ok||!L.body)throw new Gt("HTTP_ERROR",`Gateway trả HTTP ${L.status} khi mở stream`);const I=L.body.getReader(),B=new TextDecoder;let ue="";try{for(;;){const{done:q,value:pe}=await I.read();if(q)break;ue+=B.decode(pe,{stream:!0});const re=ue.split(`
|
|
42
|
+
`);ue=re.pop()??"";for(const te of re){const oe=y(te);if(oe&&(yield oe,oe.type==="agent.turn.done"||oe.type==="agent.turn.error"))return}}}finally{I.releaseLock()}}async function N(){try{const _=await f("gateway.health",{});return{ok:_.ok,version:_.version,wireVersion:_.wireVersion}}catch(_){const C=Rp(_,"NETWORK_ERROR");return{ok:!1,error:C.message,code:C.code}}}const x={telegram:[{key:"botToken",label:"Bot token",type:"password",required:!0,hint:"Token từ @BotFather"}],whatsapp:[{key:"phoneNumber",label:"Số điện thoại",type:"text",required:!0,hint:"Định dạng E.164, ví dụ +84901234567"}],discord:[{key:"botToken",label:"Bot token",type:"password",required:!0},{key:"guildId",label:"Guild ID",type:"text",required:!1}],slack:[{key:"botToken",label:"Bot token (xoxb-...)",type:"password",required:!0},{key:"appToken",label:"App token (xapp-...)",type:"password",required:!0}],zalo:[{key:"appId",label:"App ID",type:"text",required:!0},{key:"appSecret",label:"App secret",type:"password",required:!0}]},j={telegram:"Telegram",whatsapp:"WhatsApp",discord:"Discord",slack:"Slack",zalo:"Zalo",messenger:"Messenger",tiktok:"TikTok"};function A(_,C,M,R){const L=C;return{id:_,kind:C,name:R||j[L]||C,status:M,configured:M==="connected",configSchema:x[L]??[]}}return{baseUrl:i,health:N,chatSubmit:k,chatCancel:_=>f("agent.turn.cancel",{turnId:_}).then(()=>{}),turnApprove:async(_,C,M)=>({resumed:(await f("turn.approve",{runId:_,approved:C,editedArgs:M})).resumed}),sessionsList:async()=>(await f("session.list",{})).sessions,sessionsGet:async _=>f("session.get",{sessionId:_}),sessionsCreate:async _=>(await f("session.create",{title:_})).session,sessionsRename:async(_,C)=>(await f("session.rename",{sessionId:_,title:C})).session,sessionsBranch:async(_,C)=>(await f("session.branch",C===void 0?{sessionId:_}:{sessionId:_,title:C})).session,sessionsUndo:async _=>(await f("session.undo",{sessionId:_})).removedCount,sessionsDelete:_=>f("session.delete",{sessionId:_}).then(()=>{}),providersList:async()=>(await f("provider.list",{})).providers,providersSave:async _=>{const C=_.id??`prov-${zd()}`;return(await f("provider.save",{provider:{id:C,name:_.name,kind:_.kind,baseUrl:_.baseUrl,model:_.model,apiKey:_.apiKey}})).provider},providersTest:async _=>{const C=await f("provider.test",{id:_}),M={ok:C.ok,latencyMs:C.latencyMs??0};return C.detail&&(M.error=C.detail),M},providersActivate:_=>f("provider.activate",{id:_}).then(()=>{}),providersDeactivate:async _=>{const M=(await f("provider.list",{})).providers.find(R=>R.id===_);if(!M)throw new Gt("PROVIDER_NOT_FOUND","Không tìm thấy provider");await f("provider.save",{provider:{id:M.id,name:M.name,kind:M.kind,baseUrl:M.baseUrl,active:!1}})},providersDelete:_=>f("provider.delete",{id:_}).then(()=>{}),schedulesList:async()=>(await f("schedule.list",{})).schedules,schedulesCreate:async _=>(await f("schedule.create",{name:_.name,cron:_.cron,prompt:_.prompt,enabled:_.enabled})).schedule,schedulesUpdate:async(_,C)=>(await f("schedule.update",{id:_,...C})).schedule,schedulesToggle:async(_,C)=>(await f("schedule.toggle",{id:_,enabled:C})).schedule,schedulesDelete:_=>f("schedule.delete",{id:_}).then(()=>{}),schedulesRunNow:async _=>({turnId:(await f("schedule.run-now",{id:_})).turnId}),memorySearch:async _=>(await f("memory.search",{query:_})).results,memoryNote:async(_,C)=>{const{id:M}=await f("memory.note",{text:_,meta:C});return{id:M}},tasksList:async()=>(await f("task.list",{})).tasks,tasksGet:async _=>(await f("task.get",{id:_})).task,tasksCreate:async _=>(await f("task.create",{title:_.title,steps:_.steps})).task,tasksPause:async _=>(await f("task.pause",{id:_})).task,tasksResume:async(_,C)=>(await f("task.resume",C?{id:_,...C}:{id:_})).task,tasksCancel:_=>f("task.cancel",{id:_}).then(()=>{}),tasksRedirect:async(_,C)=>(await f("task.redirect",{id:_,message:C})).task,tasksRetry:async(_,C)=>(await f("task.retry",C!==void 0?{id:_,fromStep:C}:{id:_})).task,channelsList:async()=>(await f("channel.list",{})).channels.map(C=>A(C.id,C.kind,C.status,C.displayName)),channelsConnect:_=>f("channel.connect",_),channelsPair:async _=>({code:(await f("channel.pair",{channel:_})).code}),channelsUnpair:(_,C)=>f("channel.unpair",{channel:_,target:C}).then(()=>{})}}const Ka="boombot.gatewayUrl",Er="boombot.gatewayApiKey";async function Ap(a,i){return Pp({baseUrl:a,apiKey:i})}function Co(a){try{return localStorage.getItem(a)??""}catch{return""}}function Ha(a,i){try{i===""?localStorage.removeItem(a):localStorage.setItem(a,i)}catch{}}const Bd=p.createContext(null);function Mn(){const a=p.useContext(Bd);if(!a)throw new Error("useGateway phải dùng trong <GatewayProvider>");return a}const Ip=3e3;function Dp({children:a,retryMs:i=Ip}){const[c,d]=p.useState(null),[h,m]=p.useState(!1),[f,y]=p.useState(!1),[k,N]=p.useState(null),[x,j]=p.useState(null),[A,H]=p.useState(""),[_,C]=p.useState(!1),M=p.useRef(0),R=p.useRef(null),L=p.useRef(!1),I=p.useCallback(async(re,te)=>{const oe=M.current+1;M.current=oe,L.current=!0,y(!0),N(null),j(null);try{const xe=await Ap(re,te);if(M.current!==oe)return!1;d(xe),H(xe.baseUrl);const Z=await xe.health();return M.current!==oe?!1:(m(Z.ok),N(Z.ok?null:Z.error??"Không kết nối được gateway"),j(Z.ok?null:Z.code??"UNKNOWN_ERROR"),R.current=Z.ok?null:Z.code??"UNKNOWN_ERROR",Z.ok)}finally{M.current===oe&&(y(!1),L.current=!1)}},[]);p.useEffect(()=>{if(h){R.current=null;return}const re=Co(Ka),te=Co(Er);if(re===""&&te===""||R.current==="UNAUTHORIZED")return;const oe=window.setInterval(()=>{L.current||R.current!=="UNAUTHORIZED"&&I(re,te)},i);return()=>window.clearInterval(oe)},[h,I,i]),p.useEffect(()=>{const re=Co(Ka),te=Co(Er);(re!==""||te!=="")&&(C(te!==""),I(re,te))},[I]);const B=p.useCallback(async(re,te)=>{const oe=re.trim(),xe=te.trim(),Z=xe===""?Co(Er):xe;return Ha(Ka,oe),Ha(Er,Z),C(Z!==""),I(oe,Z)},[I]),ue=(c==null?void 0:c.__DEV_FAKE__)===!0,q=p.useCallback(()=>{M.current+=1,Ha(Ka,""),Ha(Er,""),d(null),m(!1),y(!1),N(null),j(null),H(""),C(!1),R.current=null},[]),pe=p.useMemo(()=>({client:c,connected:h,connecting:f,error:k,errorCode:x,baseUrl:A,apiKeySaved:_,usingFake:ue,saveCredentials:B,clearCredentials:q}),[c,h,f,k,x,A,_,ue,B,q]);return o.jsx(Bd.Provider,{value:pe,children:a})}const Op=/^#k=(.+)$/;function Fp(a=window.location){var d;const i=(d=Op.exec(a.hash))==null?void 0:d[1];if(i===void 0||i==="")return!1;let c;try{c=decodeURIComponent(i)}catch{return Wi(a),!1}if(c==="")return!1;try{localStorage.setItem(Er,c)}catch{return Wi(a),!1}return Wi(a),!0}function Wi(a){try{window.history.replaceState(null,"",`${a.pathname}${a.search}`)}catch{}}const zp={shell:{brandAria:"BoomBot — home",skipToContent:"Skip to content",navAria:"Main navigation",groupSystem:"System",navChat:"Chat",newChat:"New chat",recentChats:"Recent chats",navSessions:"Sessions",navSchedules:"Schedules",navTasks:"Tasks",navMemory:"Memory",navProviders:"Providers",navChannels:"Channels",navSettings:"Settings",navOnboarding:"Get started",systemTitle:"Settings",systemGeneral:"General",systemAria:"System settings",systemSearch:"Search",systemClose:"Close settings",groupSettings:"Settings",groupCustomize:"Customize",groupGettingStarted:"Get started",systemResults:"Results",systemNoResults:"Nothing matches.",paletteOpenMac:"Open command palette (⌘K)",paletteOpenOther:"Open command palette (Ctrl+K)",paletteLabel:"Search commands…",breadcrumbRoot:"BoomBot",connChecking:"Connecting",connOk:"Connected",connLost:"Disconnected",connAuthFailed:"Invalid API key",connNone:"Not connected",drawerAria:"All destinations",drawerTitle:"Navigation",drawerClose:"Close menu",more:"More",langAria:"Language",themeAria:"Appearance",themeDark:"Dark",themeLight:"Light",themeSystem:"System",collapseAria:"Collapse navigation",expandAria:"Expand navigation"},chat:{sectionAria:"Chat",newTitle:"New chat",fallbackTitle:"Chat",newSubtitle:"New chat session",newAria:"New chat",listAria:"Conversation history",emptyTitle:"Start a conversation",greetingMorning:"Good morning",greetingAfternoon:"Good afternoon",greetingEvening:"Good evening",emptyMessage:"Ask BoomBot anything — the answer will appear here.",suggestion1:"Summarize system status",suggestion2:"Check active providers",suggestion3:"Which schedules are coming up?",roleUser:"You",tokenUsage:"{n} tokens",disconnectedBanner:"Lost connection to the gateway. Check your connection settings.",connNotConfigured:"Not connected to a gateway yet. Enter the URL and API key to start.",connUnauthorized:"The API key is invalid or not configured. Enter one in Settings → Connection.",connOpenSettings:"Open settings",loadError:"Could not load session details.",sendError:"Could not send the message.",emptyOutput:"(No content received)",turnError:"Something went wrong while processing this turn.",retry:"Retry",undo:"Undo last turn",undoError:"Could not undo the last turn.",cancelledNote:"Stopped midway — this is the content received before stopping.",usingTool:"Using tool",toolProgress:"Tool progress",progressHelp:{off:"Hide progress; tools still run and approval prompts remain visible.",new:"Show only the first call of each tool type per turn.",all:"Show every tool call and its status.",verbose:"Show every call, status, duration and ID; never raw arguments or output."},progressStatus:{running:"In progress",waiting:"Awaiting approval",ok:"Completed",error:"Failed or rejected",interrupted:"No confirmed result"},progressMode:{off:"Off",new:"New tools",all:"All calls",verbose:"Verbose"},progressTools:{researchSearch:"Searching the web",researchExtract:"Reading a source",researchDeep:"Researching deeply",researchAcademic:"Searching research papers",researchCrawl:"Exploring a website",fileRead:"Reading a file",fileGlob:"Finding files",fileGrep:"Searching code",fileWrite:"Writing a file",fileEdit:"Editing a file",memorySearch:"Checking memory",memoryNote:"Saving a memory",sessionSearch:"Searching earlier chats",shellExec:"Running a command",subagentRun:"Delegating a task",channelSend:"Sending a message",skillList:"Checking skills",skillRead:"Reading a skill",skillSave:"Saving a skill",other:"Using a tool"},thinkingAria:"Thinking",verifiedLabel:"Verified",verifiedTip:"Verified against {n} pieces of evidence",unverifiedLabel:"{n} unverified",unverifiedTip:"{n} claims could not be grounded",composerPlaceholder:"Message BoomBot… (Enter to send, Shift+Enter for a new line)",composerAria:"Compose a message",hintStreaming:"Answering…",hintIdle:"Enter sends · Shift+Enter adds a line",stop:"Stop",stopAria:"Stop generating the answer",send:"Send",sendAria:"Send message",approvalTitle:"Approval required for {tool}",approvalReason:"{reason}",approvalApprove:"Approve",approvalReject:"Reject",approvalSending:"Sending…",approvalStale:"This approval is no longer pending."},sessions:{sectionAria:"Chat sessions",title:"Chat sessions",subtitle:"Manage your conversations with BoomBot",newChat:"New chat",newChatEmptyCta:"Create a chat session",loadingAria:"Loading chat sessions",emptyTitle:"No chat sessions yet",emptyMessage:"Create a new chat to start talking with BoomBot.",loadError:"Could not load the session list.",createError:"Could not create a new chat session.",deleteError:"Could not delete the chat session.",renameError:"Could not rename the chat session.",branchError:"Could not branch the chat session.",reload:"Reload",openAria:"Open chat session: {title}",renameAria:'Rename session "{title}"',branchAria:'Branch session "{title}"',deleteAria:'Delete session "{title}"',inputAria:"Session name",saveName:"Save name",cancelRename:"Cancel rename",messagesCount:"{n} messages",justNow:"Just now",minutesAgo:"{n} min ago",hoursAgo:"{n} h ago",yesterday:"Yesterday",daysAgo:"{n} days ago",modalTitle:"Delete chat session?",modalBody:'Delete "{title}"? This action cannot be undone.',cancel:"Cancel",deleteBtn:"Delete session"},providers:{title:"Providers",subtitle:"Connect and manage model providers over the real API",subtitleDisconnected:"Manage model providers",add:"Add provider",addEmptyCta:"Add provider",reload:"Reload",loadingAria:"Loading providers",emptyTitle:"No providers yet",emptyMessage:"Add the first provider so the gateway can call a model.",loadError:"Could not load the provider list",loadErrorTitle:"Could not load providers",notConnectedTitle:"Not connected to the gateway",notConnectedMessage:"Check the gateway connection settings to manage providers.",gotoOnboarding:"Go to onboarding",retry:"Retry",badgeActive:"Active",badgeHasKey:"Key saved",badgeNoKey:"No key",metaModel:"Model: {model}",metaMore:"+{n}",metaNoModel:"No model configured",testBtn:"Test",testOkBadge:"Connection OK",testFailBadge:"Connection failed",testOkToast:"Connection OK — {ms}ms",testFailToast:"Test failed",testFailReason:"unknown cause",unknownError:"Unknown error",deactivate:"Deactivate",activate:"Activate",deactivatedToast:'Deactivated "{name}"',activatedToast:'"{name}" is now in use',toggleFailToast:"Could not change status",editAria:"Edit provider {name}",deleteAria:"Delete provider {name}",modalAddTitle:"Add provider",modalEditTitle:"Edit provider",formName:"Name",formNamePh:"e.g. Primary OpenAI",formKind:"Provider kind",formBaseUrl:"Base URL",formBaseUrlHint:"Leave empty to use the provider default endpoint",formBaseUrlRequiredHint:"Required because this provider kind has no default endpoint",formApiKey:"API key",formApiKeyEditHint:"Leave empty to keep the saved key — it is never shown again",formApiKeyNewHint:"The key is sent once and stored encrypted on the server",formKeySavedPh:"•••••••• saved",formKeyPh:"sk-...",showKeyAria:"Show API key",hideKeyAria:"Hide API key",formModel:"Default model",formModelPh:"e.g. gpt-4o-mini",cancel:"Cancel",saveChanges:"Save changes",deleteTitle:"Delete provider",deleteWarn:'You are about to delete provider "{name}". This cannot be undone. To confirm, type the provider name exactly:',deleteInputLabel:"Provider name",deleteForever:"Delete permanently",deletedToast:'Deleted "{name}"',deleteFailToast:"Could not delete the provider",savedToast:"Provider updated",addedToast:"Provider added",saveFailToast:"Could not save the provider",nameRequired:"Provider name is required",urlProtocol:"URL must start with http:// or https://",urlInvalid:"Invalid URL",urlRequired:"Base URL is required for this provider kind",keyRequired:"API key is required for this provider",modelRequired:"Default model is required",kindOpenai:"OpenAI",kindAnthropic:"Anthropic",kindGoogle:"Google (Gemini)",kindMistral:"Mistral",kindXai:"xAI",kindDeepseek:"DeepSeek",kindOpenaiCompatible:"OpenAI-compatible",kindLocal:"Local (self-hosted)"},schedules:{title:"Schedules",subtitle:"Automate work on a cron schedule",create:"Create schedule",loadingAria:"Loading schedules",emptyTitle:"No schedules yet",emptyMessage:"Create the first schedule so the agent runs work automatically.",loadError:"Could not load the schedule list",notConnectedTitle:"Not connected to the gateway",notConnectedMessage:"Check the gateway connection settings to manage schedules.",gotoOnboarding:"Go to onboarding",atMostOnceBadge:"at-most-once",atMostOnceTip:"The scheduler guarantees at-most-once execution — each job runs exactly once per interval, even if the gateway restarts.",retry:"Retry",notLoadableTitle:"Could not load schedules",fieldMinute:"minute",fieldHour:"hour",fieldDay:"day of month",fieldMonth:"month",fieldDow:"day of week",cronNeedsFive:"Cron needs exactly 5 fields: minute hour day month weekday (e.g. */15 * * * *)",fieldInvalid:"Invalid {field} field",fieldRange:"The {field} field must be between {lo} and {hi}",dow0:"Sunday",dow1:"Monday",dow2:"Tuesday",dow3:"Wednesday",dow4:"Thursday",dow5:"Friday",dow6:"Saturday",everyMinute:"every minute",everyNMinutes:"every {n} minutes",everyNHours:"every {n} hours",hourlyAtMinute:"hourly at minute {m}",dailyAt:"daily at {time}",weeklyAt:"weekly on {day} at {time}",monthlyAt:"monthly on day {dom} at {time}",noSchedule:"No schedule",unknown:"Unknown",due:"due now",inSeconds:"in a few seconds",inMinutes:"in {n} minutes",inHours:"in {n} hours",inDays:"in {n} days",nextRun:"Next run: {time}",badgeOn:"Enabled",badgeOff:"Disabled",editAria:"Edit schedule {name}",deleteAria:"Delete schedule {name}",modalAddTitle:"Create schedule",modalEditTitle:"Edit schedule",modalDeleteTitle:"Delete schedule",modalDeleteBody:'You are about to delete schedule "{name}" ({cron}). This cannot be undone.',formName:"Name",formNamePh:"e.g. Morning news digest",formCron:"Cron expression",formCronHint:"5 fields: minute hour day month weekday — e.g. */15 * * * * (every 15 minutes), 0 8 * * * (daily at 8am)",formPrompt:"Task prompt",formPromptHint:"The agent will run exactly this prompt each time the schedule fires",formPromptPh:"e.g. Summarize the latest tech news of the day...",formEnableNow:"Enable right after creating",cancel:"Cancel",saveChanges:"Save changes",nameRequired:"Schedule name is required",cronRequired:"Cron expression is required",promptRequired:"Task prompt is required",updatedToast:"Schedule updated",createdToast:"Schedule created",saveFailToast:"Could not save the schedule",enabledToast:'Enabled "{name}"',disabledToast:'Disabled "{name}"',toggleFailToast:"Could not change status",deletedToast:'Deleted schedule "{name}"',deleteFailToast:"Could not delete the schedule",runNow:"Run now",runNowAria:'Run "{name}" immediately',runNowToast:'Started "{name}" — creating an agent turn',runNowFailToast:"Could not run the schedule"},tasks:{title:"Tasks",subtitle:"Track and control multi-step tasks running in the background",create:"New task",loadingAria:"Loading tasks",emptyTitle:"No tasks yet",emptyMessage:"Create your first task: a list of agent steps that run in order, in the background.",loadError:"Could not load the task list",notLoadableTitle:"Could not load the task list",notConnectedTitle:"Not connected to the gateway",notConnectedMessage:"Check the gateway connection settings to manage background tasks.",gotoOnboarding:"Go to onboarding",retry:"Retry",refreshAria:"Refresh the task list",status_queued:"Queued",status_running:"Running",status_paused:"Paused",status_awaiting_approval:"Awaiting approval",status_completed:"Completed",status_failed:"Failed",status_cancelled:"Cancelled",status_interrupted:"Interrupted",stepProgress:"{done}/{total} steps done",step_pending:"Pending",step_running:"Running",step_done:"Done",step_failed:"Failed",step_skipped:"Skipped",attempts:"{n} attempts",approvalInfo:'Waiting for your approval of "{tool}" — {reason}',approve:"Approve",deny:"Deny",pauseAria:'Pause task "{title}"',resumeAria:'Resume task "{title}"',cancelAria:'Cancel task "{title}"',retryAria:'Retry task "{title}"',redirectAria:'Steer task "{title}"',expandAria:'Show steps of task "{title}"',collapseAria:'Hide steps of task "{title}"',pausedToast:"Task paused",resumedToast:"Task resumed",cancelledToast:"Task cancelled",retriedToast:"Task retried",approvedToast:"Approved — the task continues",deniedToast:"Approval denied",redirectedToast:"Steering sent to the task",actionFailToast:"Task action failed",createdToast:"Task created",createFailToast:"Could not create the task",titleRequired:"Task title is required",stepsRequired:"At least one step is required (one prompt per line)",createModalTitle:"Create background task",formTitle:"Title",formTitlePh:"e.g. Write the weekly report",formSteps:"Steps",formStepsHint:"One prompt per line — the agent runs them in order, top to bottom.",formStepsPh:`Collect this week's metrics
|
|
43
|
+
Summarize into a report
|
|
44
|
+
Save to memory`,cancel:"Cancel",redirectModalTitle:"Steer task",redirectHint:'This text is injected as extra context before the next step of "{title}" starts.',redirectMessage:"Extra context",redirectMessagePh:"e.g. Prefer internal sources, skip the finance section…",redirectSend:"Send"},memory:{title:"Memory",subtitle:"Search the agent’s long-term memory",subtitleFts:"Search the agent’s long-term memory (full-text search)",notConnectedTitle:"Not connected to the gateway",notConnectedMessage:"Check the gateway connection settings to search memory.",gotoOnboarding:"Go to onboarding",noteLabel:"New note",notePlaceholder:"What should BoomBot remember?",noteSave:"Save to memory",noteSaving:"Saving…",noteSaved:"Saved to memory",noteFailed:"Could not save note",searchLabel:"Search memory",searchPlaceholder:"Type to search memory...",searchAria:"Search memory",searchingAria:"Searching",idleTitle:"Search memory",idleMessage:"Type a keyword to see what the agent remembers — preferences, project context, or notes you left.",errorTitle:"Search failed",retry:"Retry",searchFailDefault:"Search failed",searchFailToast:"Memory search failed",noneFor:'Nothing found for "{q}"',foundFor:'Found {n} results for "{q}"',noResultsTitle:"No results",noResultsMessage:"Try another keyword — the agent only remembers what was stored. Chat with the agent to fill its memory.",startChat:"Start chatting",scoreAria:"Match score {n}%"},channels:{title:"Channels",subtitle:"Connect Telegram, WhatsApp, Discord, Slack",subtitlePair:"Pair a bot with a conversation using a one-time code",reload:"Reload",notConnectedTitle:"Not connected to the gateway",notConnectedMessage:"Finish onboarding to manage chat channels.",gotoOnboarding:"Go to onboarding",loadingAria:"Loading channels",loadError:"Could not load the channel list.",loadErrorTitle:"Could not load channels",blurbTelegram:"Pair with a one-time code; the bot allowlists the chat.",blurbWhatsapp:"Connect a phone number through the gateway.",blurbDiscord:"Connect a Discord bot to your server.",blurbSlack:"Connect a Slack workspace via bot + app token.",blurbZalo:"Connect a Zalo Official Account through official OAuth.",blurbGeneric:"Messaging channel.",statusConnected:"Connected",statusPending:"Waiting for pairing",statusError:"Connection error",statusConfigured:"Configured",statusNotConfigured:"Not configured",unpairBtn:"Unpair",pairBtn:"Pair device",connectBtn:"Connect",serverConfigBtn:"Configure on server",connectModalTitle:"Connect {name}",connectFail:"Connection failed.",telegramConnectHelp:"Create a bot with @BotFather, then paste its bot token. BoomBot verifies it with getMe and stores it encrypted.",openBotFather:"Open @BotFather",botTokenLabel:"Bot token",zaloConnectHelp:"Enter the Zalo application linked to your OA. Register the callback URL in Zalo Developers first.",zaloCallbackLabel:"Callback URL:",zaloModeLabel:"Zalo account type",zaloModeOa:"Official Account",zaloModePersonal:"Personal (QR)",zaloPersonalWarning:"Personal login uses the unofficial Zalo Web protocol. Zalo may restrict the account or revoke the session.",zaloPersonalQrBtn:"Create login QR",zaloAppIdLabel:"Zalo App ID",zaloAppSecretLabel:"Zalo App Secret",connectWebBtn:"Connect on web",showQrBtn:"Show QR",qrAlt:"Zalo OA authorization QR code",personalQrAlt:"Zalo personal login QR code",oauthWaiting:"Waiting for Zalo authorization… checking every 3 seconds.",openZaloAuth:"Open Zalo authorization",connectedToast:"Connected {name}",pairModalTitle:"Pair {name}",pairModalGeneric:"Pair channel",close:"Close",creatingCode:"Creating pairing code…",pairCreateError:"Could not create a pairing code.",retry:"Retry",codeAria:"Pairing code {code}",copyAria:"Copy pairing code",copiedToast:"Pairing code copied",copyFailToast:"Copy failed — copy it manually",step1:"Open {name} and find the bot configured on the gateway.",step2Before:"Send the code",step2After:"to the bot",step2Em:"from the conversation",step2Tail:"you want to connect.",step3:"The gateway allowlists that chat — status updates below automatically.",expiredMessage:"No pairing seen after ~5 minutes — the code may have expired.",newCode:"Create a new code",waiting:"Waiting for pairing… checking every 3 seconds",successMessage:"Paired — {name} is connected.",done:"Done",pairedToast:"Paired {name}",unpairModalTitle:"Unpair {name}",unpairModalGeneric:"Unpair",unpairBody:'The chat will be removed from the allowlist of "{name}" and will no longer receive gateway commands. You can pair again at any time.',unpairInputLabel:"Chat ID to unpair",unpairInputHint:"The conversation ID to remove from the allowlist (required by the gateway).",unpairInputPh:"e.g. 123456789",unpairRequired:"Enter the chat ID to unpair.",unpairFailDefault:"Unpairing failed.",unpairedToast:"Unpaired {name}",cancelBtn:"Cancel"},settings:{title:"Settings",subtitle:"Connection, security and display preferences",sectionConn:"Gateway",sectionConnHint:"The BoomBot gateway this web UI talks to.",sectionChannels:"Channels",sectionChannelsHint:"Pair a bot with a conversation using a one-time code.",badgeChecking:"Checking…",badgeConnected:"Connected",badgeNotConnected:"Not connected",urlLabel:"Gateway URL",urlHint:"Empty = same-origin (same host as the web UI).",save:"Save",test:"Test connection",savedToast:"Gateway URL saved",saveFailToast:"Could not save the gateway URL",testOkToast:"Gateway connection successful",testFailDefault:"Test failed",unreachable:"Could not reach the gateway.",sectionKey:"API key",sectionKeyHint:"The key is sent to the gateway with every request — it is never displayed again after saving.",savedKeyAria:"Saved API key (hidden)",savedBadge:"Saved",reenter:"Re-enter",delete:"Delete",newKeyLabel:"New API key",newKeyPlaceholder:"Enter the gateway API key",newKeyHint:"Pasting is allowed. Password managers work normally.",showKeyAria:"Show API key",hideKeyAria:"Hide API key",saveKey:"Save key",cancel:"Cancel",keyRequired:"Enter the API key before saving.",saveKeyFail:"Could not save the API key.",keySavedToast:"API key saved",credsDeletedToast:"Credentials deleted",credsDeleteFailToast:"Could not delete credentials",sectionUi:"Appearance",sectionUiHint:"Display preferences of the web UI.",themeLabel:"Theme",themeHint:"Dark, light, or follow the operating system.",themeDark:"Dark",themeLight:"Light",themeSystem:"System",densityLabel:"Display density",densityHint:"Tighten spacing in lists and tables.",densityComfortable:"Comfortable",densityCompact:"Compact",densityAria:"Display density",sectionGuard:"Reasoning guard",sectionGuardHint:"Checks whether the agent’s claims are grounded in tool output.",guardModeLabel:"Guard mode",guardAria:"Reasoning guard mode",guardStrict:"Strict",guardWarn:"Warn",guardOff:"Off",guardStrictDesc:"Stop the turn when an ungrounded claim is detected in the answer.",guardWarnDesc:"Only attach a warning to the verification report, do not stop the turn.",guardOffDesc:"Disable grounding checks entirely.",guardSavedToast:"Reasoning guard mode saved",guardFootnoteBefore:"The backend runs in",guardFootnoteAfter:" mode by default. This option is currently stored locally in the browser and applies once the gateway supports overriding it via the API.",sectionDanger:"Danger zone",sectionDangerHint:"These actions cannot be undone.",dangerTitle:"Delete credentials",dangerHint:"Removes the saved gateway URL and API key from this browser. You will need to re-enter them in onboarding.",modalTitle:"Delete credentials?",modalBody:"The saved gateway URL and API key will be removed from this browser. You will have to enter them again to keep using BoomBot.",modalCancel:"Cancel",modalDelete:"Delete all",navAppearance:"Appearance",navChat:"Chat",navVoice:"Language & voice",navNotifications:"Notifications",navSecurity:"Security",navConnection:"Connection",appearanceSubtitle:"Theme, density and motion.",chatSubtitle:"Chat font and transcript width.",voiceSubtitle:"Interface language, voice and speed.",notificationsSubtitle:"When BoomBot should tell you.",securitySubtitle:"Guards, shell tool and credentials.",connectionSubtitle:"Gateway and API key.",unknownSectionTitle:"No such settings section",unknownSectionBody:"That URL does not match any settings section. Pick one from the sidebar, or go back to Appearance.",statusSoon:"Coming soon",statusServer:"Server config",serverEnvLabel:"Environment variable",serverConfigLabel:"Config key",serverFileLabel:"Config file",serverAllowedLabel:"Allowed values",serverDefaultLabel:"Default",serverCopy:"Copy snippet",serverCopiedToast:"Config snippet copied",serverCopyFail:"Copy failed — select the snippet and copy it manually.",serverRestartNote:"The gateway reads this once at boot: restart it after editing. The web UI has no command to change it remotely.",motionLabel:"Motion",motionHint:"Reduce animation even when the OS does not ask for it.",motionSystem:"Follow system",motionReduced:"Reduced",sectionChat:"Conversation",sectionChatHint:"How chat content is displayed.",chatFontLabel:"Font",chatFontHint:"Applies to message text inside the chat pane.",fontSans:"Sans",fontSystem:"System",fontMono:"Mono",transcriptWidthLabel:"Transcript width",transcriptWidthHint:"Caps the message column width on large screens.",widthNarrow:"Narrow",widthMedium:"Medium",widthWide:"Wide",sectionVoice:"Language & voice",sectionVoiceHint:"The interface language works today; voice playback does not exist in BoomBot yet.",languageLabel:"Interface language",languageHint:"Changes the language of the web UI.",langVi:"Tiếng Việt",langEn:"English",voiceLangLabel:"Voice",voiceLangHint:"Pick the voice used for read-aloud.",voiceStyleLabel:"Style",voiceStyleHint:"Natural, formal or casual delivery.",voiceStyleNatural:"Natural",voiceStyleFormal:"Formal",voiceStyleCasual:"Casual",voiceSpeedLabel:"Speed",voiceSpeedHint:"Read-aloud speed.",voiceSpeedSlow:"Slow",voiceSpeedNormal:"Normal",voiceSpeedFast:"Fast",sectionNotifications:"Notifications",sectionNotificationsHint:"Nudge you when something needs attention.",notifyTurnDoneLabel:"When an agent finishes",notifyTurnDoneHint:"Notify when a turn ends, even while you are on another tab.",notifyErrorsLabel:"On errors",notifyErrorsHint:"Notify when a turn fails or a guard blocks it.",notificationsFootnote:"The gateway pushes no events outside the open tab (only the SSE /v1/events stream that tab already holds), so these switches cannot be turned on yet.",guardRowHint:"How the gateway treats answers with claims no tool output backs.",harnessGuardLabel:"Harness guard",harnessGuardRowHint:"How strictly the agent harness is checked.",shellLabel:"Allow shell tool",shellRowHint:"Enables running commands on the gateway host. Off by default (fail-closed)."},onboarding:{title:"Set up BoomBot",subtitle:"Three steps to get started",stepperAria:"Setup progress",stepWelcome:"Welcome",stepConnect:"Connect gateway",stepDone:"Done",welcomeHeading:"Welcome to BoomBot",welcomeLead:"BoomBot is the control center for your AI agents — chat, scheduled runs and multi-channel connections, all through a single gateway.",existingNote:"Existing configuration detected — you can skip ahead and enter the app.",start:"Get started",skipToApp:"Enter the app",connectHeading:"Connect the gateway",connectLead:"Enter the gateway address and API key. The web UI verifies the connection before continuing.",urlLabel:"Gateway URL",urlHint:"Empty = same-origin (same host as the web UI).",keyLabelExisting:"New API key (empty = keep the saved key)",keyLabel:"API key",keyPlaceholder:"Enter the API key",keyHint:"Pasting is allowed. The key is sent only to the gateway and never shown again.",showKeyAria:"Show API key",hideKeyAria:"Hide API key",test:"Test connection",connectedOk:"Connected",unreachable:"Could not connect.",testFailDefault:"Test failed",keyRequired:"Enter the gateway API key.",back:"Back",next:"Continue",testFirstHint:'Press "Test connection" and wait for a successful result before continuing.',doneHeading:"Setup complete",summaryUrl:"Gateway URL",summaryKey:"API key",summaryKeySaved:"•••••••••• saved",summaryVersion:"Version",sameOrigin:"(same-origin)",enterApp:"Enter the app",testOkToast:"Gateway connection successful"},palette:{ariaLabel:"Command palette",resultsLabel:"Command results",placeholder:"Type a command or search…",emptyTitle:"No matching commands",footerNav:"navigate",footerChoose:"select",footerClose:"close",failedToast:"Command failed",actions:{newChat:{title:"New chat",subtitle:"Start a fresh conversation"},goChat:{title:"Open Chat",subtitle:"Back to the conversation screen"},goSessions:{title:"Open Sessions",subtitle:"List of chat sessions"},goProviders:{title:"Open Providers",subtitle:"Manage LLM providers"},goSchedules:{title:"Open Schedules",subtitle:"Manage scheduled runs"},goTasks:{title:"Open Tasks",subtitle:"Manage background multi-step tasks"},goMemory:{title:"Open Memory",subtitle:"Search and manage memory"},goChannels:{title:"Open Channels",subtitle:"Manage messaging channels"},goSettings:{title:"Open Settings",subtitle:"Gateway and app configuration"},goOnboarding:{title:"Open Onboarding",subtitle:"Get started with BoomBot"},channelPair:{title:"Pair a new channel",subtitle:"Get an BOOM-###### code to link a channel"},scheduleNow:{title:"Run a schedule now",subtitle:"Open Schedules to run one immediately"},reconnect:{title:"Reconnect gateway",subtitle:"Re-save the current URL and check the connection"},openShortcuts:{title:"View shortcuts",subtitle:"Keyboard shortcut cheatsheet"},sessionDelete:{title:"Delete current session",subtitle:"Delete the open chat session (cannot be undone)"}},toast:{reconnectOk:"Gateway reconnected",reconnectFail:"Could not reach the gateway",noOpenSession:"No session is open",notConnected:"Not connected to the gateway",sessionDeleted:"Session deleted",sessionDeleteFail:"Failed to delete the session"}},shortcuts:{title:"Keyboard shortcuts",note:"Shortcuts are disabled while you are typing in a text field.",groupNav:"Navigation (press g then a key)",groupActions:"Actions",goChat:"Chat screen",goSessions:"Sessions",goProviders:"Providers",goSchedules:"Schedules",goTasks:"Tasks",goMemory:"Memory",goChannels:"Channels",goSettings:"Settings",goOnboarding:"Onboarding",newChat:"New chat",focusComposer:"Jump to the composer",listNext:"Next item in the list",listPrev:"Previous item in the list",openCheatsheet:"Open this cheatsheet",closeOverlay:"Close panel/modal (handled by the overlay)"},modelSwitcher:{label:"Model",loading:"Loading models…",switched:"Model switched",switchFailed:"Failed to switch model"}},Bp={shell:{brandAria:"BoomBot — trang chủ",skipToContent:"Bỏ qua tới nội dung",navAria:"Điều hướng chính",groupSystem:"Hệ thống",navChat:"Trò chuyện",newChat:"Chat mới",recentChats:"Phiên gần đây",navSessions:"Phiên",navSchedules:"Lịch chạy",navTasks:"Task nền",navMemory:"Bộ nhớ",navProviders:"Providers",navChannels:"Kênh chat",navSettings:"Cài đặt",navOnboarding:"Bắt đầu",systemTitle:"Cài đặt",systemGeneral:"Chung",systemAria:"Cài đặt hệ thống",systemSearch:"Tìm kiếm",systemClose:"Đóng cài đặt",groupSettings:"Cài đặt",groupCustomize:"Tùy biến",groupGettingStarted:"Bắt đầu",systemResults:"Kết quả",systemNoResults:"Không có mục nào khớp.",paletteOpenMac:"Mở command palette (⌘K)",paletteOpenOther:"Mở command palette (Ctrl+K)",paletteLabel:"Tìm lệnh…",breadcrumbRoot:"BoomBot",connChecking:"Đang kết nối",connOk:"Đã kết nối",connLost:"Mất kết nối",connAuthFailed:"Sai API key",connNone:"Chưa kết nối",drawerAria:"Tất cả mục",drawerTitle:"Điều hướng",drawerClose:"Đóng menu",more:"Thêm",langAria:"Ngôn ngữ",themeAria:"Giao diện",themeDark:"Tối",themeLight:"Sáng",themeSystem:"Hệ thống",collapseAria:"Thu gọn thanh điều hướng",expandAria:"Mở rộng thanh điều hướng"},chat:{sectionAria:"Trò chuyện",newTitle:"Đoạn chat mới",fallbackTitle:"Đoạn chat",newSubtitle:"Phiên chat mới",newAria:"Đoạn chat mới",listAria:"Lịch sử trò chuyện",emptyTitle:"Bắt đầu trò chuyện",greetingMorning:"Chào buổi sáng",greetingAfternoon:"Chào buổi chiều",greetingEvening:"Chào buổi tối",emptyMessage:"Hỏi BoomBot bất cứ điều gì — câu trả lời sẽ xuất hiện tại đây.",suggestion1:"Tóm tắt trạng thái hệ thống",suggestion2:"Kiểm tra providers đang dùng",suggestion3:"Lịch chạy nào sắp tới?",roleUser:"Bạn",tokenUsage:"{n} token",disconnectedBanner:"Mất kết nối tới gateway. Kiểm tra lại cấu hình kết nối.",connNotConfigured:"Chưa cấu hình kết nối tới gateway. Nhập URL và API key để bắt đầu.",connUnauthorized:"API key không hợp lệ hoặc chưa được cấu hình. Nhập lại key trong Cài đặt → Kết nối.",connOpenSettings:"Mở Cài đặt",loadError:"Không tải được thông tin phiên chat.",sendError:"Không gửi được tin nhắn.",emptyOutput:"(Không nhận được nội dung)",turnError:"Đã xảy ra lỗi khi xử lý lượt trò chuyện.",retry:"Thử lại",undo:"Hoàn tác lượt cuối",undoError:"Không thể hoàn tác lượt cuối.",cancelledNote:"Đã dừng giữa chừng — đây là nội dung nhận được tới lúc dừng.",usingTool:"Đang dùng công cụ",toolProgress:"Tiến trình công cụ",progressHelp:{off:"Ẩn tiến trình; tool vẫn chạy và yêu cầu phê duyệt vẫn hiển thị.",new:"Chỉ hiện lần gọi đầu tiên của mỗi loại tool trong một lượt.",all:"Hiện mọi lần gọi tool và trạng thái.",verbose:"Hiện mọi lần gọi, trạng thái, thời gian và ID; không hiện tham số hay kết quả thô."},progressStatus:{running:"Đang xử lý",waiting:"Chờ duyệt",ok:"Hoàn tất",error:"Lỗi hoặc bị từ chối",interrupted:"Chưa có kết quả xác nhận"},progressMode:{off:"Tắt",new:"Tool mới",all:"Mọi lần gọi",verbose:"Chi tiết"},progressTools:{researchSearch:"Tìm kiếm trên web",researchExtract:"Đọc nguồn",researchDeep:"Nghiên cứu chuyên sâu",researchAcademic:"Tìm bài nghiên cứu",researchCrawl:"Khám phá website",fileRead:"Đọc tệp",fileGlob:"Tìm tệp",fileGrep:"Tìm trong mã nguồn",fileWrite:"Ghi tệp",fileEdit:"Chỉnh sửa tệp",memorySearch:"Kiểm tra bộ nhớ",memoryNote:"Ghi nhớ",sessionSearch:"Tìm trong trò chuyện cũ",shellExec:"Chạy lệnh",subagentRun:"Giao việc",channelSend:"Gửi tin nhắn",skillList:"Kiểm tra kỹ năng",skillRead:"Đọc kỹ năng",skillSave:"Lưu kỹ năng",other:"Dùng công cụ"},thinkingAria:"Đang suy nghĩ",verifiedLabel:"Đã kiểm chứng",verifiedTip:"Đã kiểm chứng qua {n} bằng chứng",unverifiedLabel:"{n} chưa kiểm chứng",unverifiedTip:"Có {n} nhận định chưa được kiểm chứng",composerPlaceholder:"Nhắn cho BoomBot… (Enter để gửi, Shift+Enter xuống dòng)",composerAria:"Soạn tin nhắn",hintStreaming:"Đang trả lời…",hintIdle:"Enter gửi · Shift+Enter xuống dòng",stop:"Dừng",stopAria:"Dừng tạo câu trả lời",send:"Gửi",sendAria:"Gửi tin nhắn",approvalTitle:"Cần phê duyệt công cụ {tool}",approvalReason:"{reason}",approvalApprove:"Phê duyệt",approvalReject:"Từ chối",approvalSending:"Đang gửi…",approvalStale:"Yêu cầu phê duyệt này không còn chờ xử lý."},sessions:{sectionAria:"Phiên chat",title:"Phiên chat",subtitle:"Quản lý các cuộc trò chuyện với BoomBot",newChat:"Đoạn chat mới",newChatEmptyCta:"Tạo phiên chat mới",loadingAria:"Đang tải phiên chat",emptyTitle:"Chưa có phiên chat",emptyMessage:"Tạo đoạn chat mới để bắt đầu trò chuyện với BoomBot.",loadError:"Không tải được danh sách phiên chat.",createError:"Không tạo được phiên chat mới.",deleteError:"Không xoá được phiên chat.",renameError:"Không đổi được tên phiên chat.",branchError:"Không thể tạo nhánh phiên chat.",reload:"Tải lại",openAria:"Mở phiên chat: {title}",renameAria:'Đổi tên phiên "{title}"',branchAria:'Tạo nhánh phiên "{title}"',deleteAria:'Xoá phiên "{title}"',inputAria:"Tên phiên chat",saveName:"Lưu tên",cancelRename:"Huỷ đổi tên",messagesCount:"{n} tin nhắn",justNow:"Vừa xong",minutesAgo:"{n} phút trước",hoursAgo:"{n} giờ trước",yesterday:"Hôm qua",daysAgo:"{n} ngày trước",modalTitle:"Xoá phiên chat?",modalBody:'Bạn có chắc muốn xoá "{title}"? Hành động này không thể hoàn tác.',cancel:"Huỷ",deleteBtn:"Xoá phiên"},providers:{title:"Providers",subtitle:"Kết nối và quản lý các nhà cung cấp mô hình qua API thật",subtitleDisconnected:"Quản lý nhà cung cấp mô hình",add:"Thêm provider",addEmptyCta:"Thêm provider",reload:"Tải lại",loadingAria:"Đang tải providers",emptyTitle:"Chưa có provider nào",emptyMessage:"Thêm provider đầu tiên để gateway có thể gọi mô hình.",loadError:"Không tải được danh sách providers",loadErrorTitle:"Không tải được danh sách providers",notConnectedTitle:"Chưa kết nối gateway",notConnectedMessage:"Hãy kiểm tra cấu hình kết nối gateway để quản lý providers.",gotoOnboarding:"Đi tới onboarding",retry:"Thử lại",badgeActive:"Đang dùng",badgeHasKey:"Đã lưu key",badgeNoKey:"Chưa có key",metaModel:"Model: {model}",metaMore:"+{n}",metaNoModel:"Chưa cấu hình model",testBtn:"Kiểm tra",testOkBadge:"Kết nối OK",testFailBadge:"Lỗi kết nối",testOkToast:"Kết nối OK — {ms}ms",testFailToast:"Kiểm tra thất bại",testFailReason:"không rõ nguyên nhân",unknownError:"Lỗi không xác định",deactivate:"Tắt",activate:"Kích hoạt",deactivatedToast:'Đã tắt "{name}"',activatedToast:'"{name}" đang được dùng',toggleFailToast:"Đổi trạng thái thất bại",editAria:"Sửa provider {name}",deleteAria:"Xoá provider {name}",modalAddTitle:"Thêm provider",modalEditTitle:"Sửa provider",formName:"Tên",formNamePh:"VD: OpenAI chính",formKind:"Loại provider",formBaseUrl:"Base URL",formBaseUrlHint:"Để trống để dùng endpoint mặc định của provider",formBaseUrlRequiredHint:"Bắt buộc vì loại provider này không có endpoint mặc định",formApiKey:"API key",formApiKeyEditHint:"Để trống để giữ key đã lưu — key không bao giờ hiển thị lại",formApiKeyNewHint:"Key chỉ được gửi một lần và lưu mã hoá phía server",formKeySavedPh:"•••••••• đã lưu",formKeyPh:"sk-...",showKeyAria:"Hiện API key",hideKeyAria:"Ẩn API key",formModel:"Model mặc định",formModelPh:"VD: gpt-4o-mini",cancel:"Huỷ",saveChanges:"Lưu thay đổi",deleteTitle:"Xoá provider",deleteWarn:'Bạn sắp xoá provider "{name}". Hành động này không thể hoàn tác. Để xác nhận, hãy nhập đúng tên provider:',deleteInputLabel:"Tên provider",deleteForever:"Xoá vĩnh viễn",deletedToast:'Đã xoá "{name}"',deleteFailToast:"Xoá provider thất bại",savedToast:"Đã cập nhật provider",addedToast:"Đã thêm provider mới",saveFailToast:"Lưu provider thất bại",nameRequired:"Tên provider là bắt buộc",urlProtocol:"URL phải bắt đầu bằng http:// hoặc https://",urlInvalid:"URL không hợp lệ",urlRequired:"Base URL là bắt buộc cho loại provider này",keyRequired:"API key là bắt buộc cho provider này",modelRequired:"Model mặc định là bắt buộc",kindOpenai:"OpenAI",kindAnthropic:"Anthropic",kindGoogle:"Google (Gemini)",kindMistral:"Mistral",kindXai:"xAI",kindDeepseek:"DeepSeek",kindOpenaiCompatible:"OpenAI-compatible",kindLocal:"Local (tự host)"},schedules:{title:"Lịch chạy",subtitle:"Tự động hoá công việc theo lịch cron",create:"Tạo lịch chạy",loadingAria:"Đang tải lịch chạy",emptyTitle:"Chưa có lịch chạy nào",emptyMessage:"Tạo lịch chạy đầu tiên để agent tự động thực hiện công việc định kỳ.",loadError:"Không tải được danh sách lịch chạy",notConnectedTitle:"Chưa kết nối gateway",notConnectedMessage:"Hãy kiểm tra cấu hình kết nối gateway để quản lý lịch chạy.",gotoOnboarding:"Đi tới onboarding",atMostOnceBadge:"at-most-once",atMostOnceTip:"Scheduler đảm bảo mỗi lịch chạy không thực thi trùng lặp — một job chỉ chạy đúng một lần trong mỗi khoảng thời gian, kể cả khi gateway khởi động lại.",retry:"Thử lại",notLoadableTitle:"Không tải được lịch chạy",fieldMinute:"phút",fieldHour:"giờ",fieldDay:"ngày",fieldMonth:"tháng",fieldDow:"thứ",cronNeedsFive:"Cron cần đúng 5 trường: phút giờ ngày tháng thứ (VD: */15 * * * *)",fieldInvalid:"Trường {field} không hợp lệ",fieldRange:"Trường {field} phải trong khoảng {lo}–{hi}",dow0:"Chủ nhật",dow1:"thứ 2",dow2:"thứ 3",dow3:"thứ 4",dow4:"thứ 5",dow5:"thứ 6",dow6:"thứ 7",everyMinute:"mỗi phút",everyNMinutes:"mỗi {n} phút",everyNHours:"mỗi {n} giờ",hourlyAtMinute:"hàng giờ lúc phút {m}",dailyAt:"hằng ngày lúc {time}",weeklyAt:"hàng tuần {day} lúc {time}",monthlyAt:"hằng tháng ngày {dom} lúc {time}",noSchedule:"Chưa có lịch",unknown:"Không xác định",due:"đã đến hạn",inSeconds:"trong vài giây nữa",inMinutes:"trong {n} phút nữa",inHours:"trong {n} giờ nữa",inDays:"trong {n} ngày nữa",nextRun:"Chạy tiếp theo: {time}",badgeOn:"Đang bật",badgeOff:"Đang tắt",editAria:"Sửa lịch chạy {name}",deleteAria:"Xoá lịch chạy {name}",modalAddTitle:"Tạo lịch chạy",modalEditTitle:"Sửa lịch chạy",modalDeleteTitle:"Xoá lịch chạy",modalDeleteBody:'Bạn sắp xoá lịch chạy "{name}" ({cron}). Hành động này không thể hoàn tác.',formName:"Tên",formNamePh:"VD: Tóm tắt tin tức mỗi sáng",formCron:"Biểu thức cron",formCronHint:"5 trường: phút giờ ngày tháng thứ — VD: */15 * * * * (mỗi 15 phút), 0 8 * * * (8h sáng hằng ngày)",formPrompt:"Nội dung công việc",formPromptHint:"Agent sẽ thực hiện đúng yêu cầu này mỗi khi lịch kích hoạt",formPromptPh:"VD: Tổng hợp tin công nghệ mới nhất trong ngày...",formEnableNow:"Bật ngay sau khi tạo",cancel:"Huỷ",saveChanges:"Lưu thay đổi",nameRequired:"Tên lịch chạy là bắt buộc",cronRequired:"Biểu thức cron là bắt buộc",promptRequired:"Nội dung công việc là bắt buộc",updatedToast:"Đã cập nhật lịch chạy",createdToast:"Đã tạo lịch chạy mới",saveFailToast:"Lưu lịch chạy thất bại",enabledToast:'Đã bật "{name}"',disabledToast:'Đã tắt "{name}"',toggleFailToast:"Đổi trạng thái thất bại",deletedToast:'Đã xoá lịch "{name}"',deleteFailToast:"Xoá lịch chạy thất bại",runNow:"Chạy ngay",runNowAria:'Chạy ngay lịch "{name}"',runNowToast:'Đã chạy "{name}" — đang tạo phiên agent',runNowFailToast:"Chạy lịch thất bại"},tasks:{title:"Task nền",subtitle:"Theo dõi và điều khiển các task nhiều bước chạy nền",create:"Tạo task",loadingAria:"Đang tải task",emptyTitle:"Chưa có task nào",emptyMessage:"Tạo task đầu tiên: một danh sách các bước agent chạy tuần tự trong nền.",loadError:"Không tải được danh sách task",notLoadableTitle:"Không tải được danh sách task",notConnectedTitle:"Chưa kết nối gateway",notConnectedMessage:"Hãy kiểm tra cấu hình kết nối gateway để quản lý task nền.",gotoOnboarding:"Đi tới onboarding",retry:"Thử lại",refreshAria:"Làm mới danh sách task",status_queued:"Đang chờ",status_running:"Đang chạy",status_paused:"Đã tạm dừng",status_awaiting_approval:"Chờ phê duyệt",status_completed:"Hoàn tất",status_failed:"Thất bại",status_cancelled:"Đã huỷ",status_interrupted:"Bị gián đoạn",stepProgress:"{done}/{total} bước hoàn tất",step_pending:"Chờ",step_running:"Đang chạy",step_done:"Xong",step_failed:"Lỗi",step_skipped:"Bỏ qua",attempts:"thử {n} lần",approvalInfo:'Đang chờ bạn phê duyệt lệnh "{tool}" — {reason}',approve:"Phê duyệt",deny:"Từ chối",pauseAria:'Tạm dừng task "{title}"',resumeAria:'Tiếp tục task "{title}"',cancelAria:'Huỷ task "{title}"',retryAria:'Chạy lại task "{title}"',redirectAria:'Định hướng task "{title}"',expandAria:'Xem các bước của task "{title}"',collapseAria:'Ẩn các bước của task "{title}"',pausedToast:"Đã tạm dừng task",resumedToast:"Đã tiếp tục task",cancelledToast:"Đã huỷ task",retriedToast:"Đã chạy lại task",approvedToast:"Đã phê duyệt — task tiếp tục chạy",deniedToast:"Đã từ chối phê duyệt",redirectedToast:"Đã gửi định hướng cho task",actionFailToast:"Thao tác task thất bại",createdToast:"Đã tạo task mới",createFailToast:"Tạo task thất bại",titleRequired:"Tiêu đề task là bắt buộc",stepsRequired:"Cần ít nhất một bước (một dòng một prompt)",createModalTitle:"Tạo task nền",formTitle:"Tiêu đề",formTitlePh:"VD: Viết báo cáo tuần",formSteps:"Các bước",formStepsHint:"Mỗi dòng là một prompt — agent chạy tuần tự từ trên xuống.",formStepsPh:`Thu thập số liệu tuần này
|
|
45
|
+
Tóm tắt thành báo cáo
|
|
46
|
+
Lưu vào bộ nhớ`,cancel:"Huỷ",redirectModalTitle:"Định hướng task",redirectHint:'Nội dung này sẽ được chèn làm ngữ cảnh bổ sung trước khi step kế tiếp của "{title}" bắt đầu.',redirectMessage:"Ngữ cảnh bổ sung",redirectMessagePh:"VD: Ưu tiên nguồn nội bộ, bỏ qua mục tài chính…",redirectSend:"Gửi"},memory:{title:"Bộ nhớ",subtitle:"Tìm kiếm trong trí nhớ dài hạn của agent",subtitleFts:"Tìm kiếm trong trí nhớ dài hạn của agent (full-text search)",notConnectedTitle:"Chưa kết nối gateway",notConnectedMessage:"Hãy kiểm tra cấu hình kết nối gateway để tìm kiếm bộ nhớ.",gotoOnboarding:"Đi tới onboarding",noteLabel:"Ghi chú mới",notePlaceholder:"Điều BoomBot cần nhớ...",noteSave:"Lưu vào bộ nhớ",noteSaving:"Đang lưu…",noteSaved:"Đã lưu vào bộ nhớ",noteFailed:"Không lưu được ghi chú",searchLabel:"Tìm kiếm bộ nhớ",searchPlaceholder:"Gõ để tìm trong trí nhớ...",searchAria:"Tìm kiếm trong bộ nhớ",searchingAria:"Đang tìm kiếm",idleTitle:"Tìm trong trí nhớ",idleMessage:"Nhập từ khoá vào ô tìm kiếm để xem những gì agent còn nhớ — ví dụ sở thích, ngữ cảnh dự án, hay ghi chú bạn từng dặn.",errorTitle:"Tìm kiếm thất bại",retry:"Thử lại",searchFailDefault:"Tìm kiếm thất bại",searchFailToast:"Tìm kiếm trong bộ nhớ thất bại",noneFor:'Không tìm thấy gì cho "{q}"',foundFor:'Tìm thấy {n} kết quả cho "{q}"',noResultsTitle:"Chưa có kết quả",noResultsMessage:"Thử từ khoá khác — agent chỉ nhớ những gì đã được ghi lại. Trò chuyện với agent để bộ nhớ đầy lên.",startChat:"Bắt đầu trò chuyện",scoreAria:"Độ phù hợp {n}%"},channels:{title:"Kênh chat",subtitle:"Kết nối Telegram, WhatsApp, Discord, Slack",subtitlePair:"Pair bot với cuộc trò chuyện qua mã một lần",reload:"Tải lại",notConnectedTitle:"Chưa kết nối gateway",notConnectedMessage:"Hoàn tất onboarding để quản lý các kênh chat.",gotoOnboarding:"Đi tới onboarding",loadingAria:"Đang tải danh sách kênh",loadError:"Không tải được danh sách kênh.",loadErrorTitle:"Không tải được danh sách kênh",blurbTelegram:"Pair qua mã một lần, bot thêm chat vào allowlist.",blurbWhatsapp:"Kết nối số điện thoại qua gateway.",blurbDiscord:"Kết nối bot Discord vào server của bạn.",blurbSlack:"Kết nối workspace Slack qua bot + app token.",blurbZalo:"Kết nối Zalo Official Account bằng OAuth chính thức.",blurbGeneric:"Kênh chat nhắn tin.",statusConnected:"Đã kết nối",statusPending:"Đang chờ pairing",statusError:"Lỗi kết nối",statusConfigured:"Đã cấu hình",statusNotConfigured:"Chưa cấu hình",unpairBtn:"Gỡ pairing",pairBtn:"Pair thiết bị",connectBtn:"Kết nối",serverConfigBtn:"Cấu hình trên máy chủ",connectModalTitle:"Kết nối {name}",connectFail:"Kết nối thất bại.",telegramConnectHelp:"Tạo bot bằng @BotFather, sau đó dán bot token. Token được kiểm tra bằng getMe và mã hóa khi lưu.",openBotFather:"Mở @BotFather",botTokenLabel:"Bot token",zaloConnectHelp:"Nhập thông tin ứng dụng Zalo đã liên kết với OA. Callback URL phải được đăng ký trong Zalo Developers.",zaloCallbackLabel:"Callback URL:",zaloModeLabel:"Kiểu tài khoản Zalo",zaloModeOa:"Official Account",zaloModePersonal:"Cá nhân (QR)",zaloPersonalWarning:"Đăng nhập tài khoản cá nhân dùng giao thức Zalo Web không chính thức. Có thể bị Zalo giới hạn hoặc đăng xuất phiên.",zaloPersonalQrBtn:"Tạo QR đăng nhập",zaloAppIdLabel:"Zalo App ID",zaloAppSecretLabel:"Zalo App Secret",connectWebBtn:"Kết nối trên web",showQrBtn:"Hiện QR",qrAlt:"Mã QR cấp quyền Zalo OA",personalQrAlt:"Mã QR đăng nhập Zalo",oauthWaiting:"Đang chờ Zalo cấp quyền… tự kiểm tra mỗi 3 giây.",openZaloAuth:"Mở trang cấp quyền Zalo",connectedToast:"Đã kết nối {name}",pairModalTitle:"Pair {name}",pairModalGeneric:"Pair kênh",close:"Đóng",creatingCode:"Đang tạo mã pairing…",pairCreateError:"Tạo mã pairing thất bại.",retry:"Thử lại",codeAria:"Mã pairing {code}",copyAria:"Sao chép mã pairing",copiedToast:"Đã sao chép mã pairing",copyFailToast:"Không sao chép được — hãy copy thủ công",step1:"Mở {name} và tìm bot đã cấu hình trên gateway.",step2Before:"Gửi mã",step2After:"cho bot",step2Em:"từ cuộc trò chuyện",step2Tail:"bạn muốn kết nối.",step3:"Gateway thêm chat đó vào allowlist — trạng thái tự cập nhật bên dưới.",expiredMessage:"Chưa thấy pairing sau ~5 phút — mã có thể đã hết hạn.",newCode:"Tạo mã mới",waiting:"Đang chờ pairing… tự kiểm tra mỗi 3 giây",successMessage:"Pairing thành công — {name} đã kết nối.",done:"Xong",pairedToast:"Đã pair {name}",unpairModalTitle:"Gỡ pairing {name}",unpairModalGeneric:"Gỡ pairing",unpairBody:'Chat sẽ bị xóa khỏi allowlist của "{name}" và không nhận lệnh từ gateway nữa. Hành động này có thể pair lại bất cứ lúc nào.',unpairInputLabel:"Chat ID cần gỡ",unpairInputHint:"ID cuộc trò chuyện muốn xóa khỏi allowlist (gateway yêu cầu).",unpairInputPh:"vd: 123456789",unpairRequired:"Nhập chat ID cần gỡ khỏi allowlist.",unpairFailDefault:"Gỡ pairing thất bại.",unpairedToast:"Đã gỡ pairing {name}",cancelBtn:"Hủy"},settings:{title:"Cài đặt",subtitle:"Kết nối, bảo mật và tùy chọn hiển thị",sectionConn:"Gateway",sectionConnHint:"Gateway BoomBot mà web UI đang nói chuyện cùng.",sectionChannels:"Kênh chat",sectionChannelsHint:"Pair bot với cuộc trò chuyện qua mã một lần.",badgeChecking:"Đang kiểm tra…",badgeConnected:"Đã kết nối",badgeNotConnected:"Chưa kết nối",urlLabel:"Gateway URL",urlHint:"Để trống = same-origin (cùng host với web UI).",save:"Lưu",test:"Kiểm tra kết nối",savedToast:"Đã lưu gateway URL",saveFailToast:"Lưu gateway URL thất bại",testOkToast:"Kết nối gateway thành công",testFailDefault:"Kiểm tra thất bại",unreachable:"Không kết nối được tới gateway.",sectionKey:"API key",sectionKeyHint:"Key chỉ được gửi tới gateway qua mỗi request — không bao giờ hiển thị lại sau khi lưu.",savedKeyAria:"API key đã lưu (ẩn)",savedBadge:"Đã lưu",reenter:"Nhập lại",delete:"Xóa",newKeyLabel:"API key mới",newKeyPlaceholder:"Nhập API key của gateway",newKeyHint:"Cho phép dán (paste). Trình quản lý mật khẩu hoạt động bình thường.",showKeyAria:"Hiện API key",hideKeyAria:"Ẩn API key",saveKey:"Lưu key",cancel:"Hủy",keyRequired:"Nhập API key trước khi lưu.",saveKeyFail:"Lưu API key thất bại.",keySavedToast:"Đã lưu API key",credsDeletedToast:"Đã xóa credentials",credsDeleteFailToast:"Xóa credentials thất bại",sectionUi:"Giao diện",sectionUiHint:"Tùy chọn hiển thị của web UI.",themeLabel:"Chủ đề",themeHint:"Tối, sáng hoặc theo hệ điều hành.",themeDark:"Tối",themeLight:"Sáng",themeSystem:"Hệ thống",densityLabel:"Mật độ hiển thị",densityHint:"Gọn lại khoảng cách trong danh sách và bảng.",densityComfortable:"Thoải mái",densityCompact:"Gọn",densityAria:"Mật độ hiển thị",sectionGuard:"Reasoning guard",sectionGuardHint:"Kiểm tra claim trong câu trả lời của agent có căn cứ từ tool output hay không.",guardModeLabel:"Chế độ kiểm tra",guardAria:"Chế độ reasoning guard",guardStrict:"Strict",guardWarn:"Warn",guardOff:"Off",guardStrictDesc:"Chặn turn khi phát hiện claim không có căn cứ trong câu trả lời.",guardWarnDesc:"Chỉ gắn cảnh báo vào verification report, không chặn turn.",guardOffDesc:"Tắt kiểm tra grounding hoàn toàn.",guardSavedToast:"Đã lưu chế độ reasoning guard",guardFootnoteBefore:"Backend mặc định chạy ở chế độ",guardFootnoteAfter:". Tùy chọn này hiện lưu cục bộ trên trình duyệt và sẽ được áp dụng khi gateway hỗ trợ override qua API.",sectionDanger:"Vùng nguy hiểm",sectionDangerHint:"Các thao tác không thể hoàn tác.",dangerTitle:"Xóa credentials",dangerHint:"Xóa gateway URL và API key đã lưu khỏi trình duyệt này. Bạn sẽ cần nhập lại ở onboarding.",modalTitle:"Xóa credentials?",modalBody:"Gateway URL và API key đã lưu sẽ bị xóa khỏi trình duyệt này. Bạn sẽ phải nhập lại để tiếp tục dùng BoomBot.",modalCancel:"Hủy",modalDelete:"Xóa hết",navAppearance:"Giao diện",navChat:"Chat",navVoice:"Ngôn ngữ & giọng nói",navNotifications:"Thông báo",navSecurity:"Bảo mật",navConnection:"Kết nối",appearanceSubtitle:"Chủ đề, mật độ hiển thị và chuyển động.",chatSubtitle:"Phông chữ và bề rộng vùng hội thoại.",voiceSubtitle:"Ngôn ngữ giao diện, giọng đọc và tốc độ.",notificationsSubtitle:"Khi nào BoomBot báo cho bạn.",securitySubtitle:"Guard, shell tool và credentials.",connectionSubtitle:"Gateway và API key.",unknownSectionTitle:"Không có mục cài đặt này",unknownSectionBody:"Đường dẫn không khớp mục nào trong cài đặt. Chọn một mục ở cột bên trái, hoặc quay lại Giao diện.",statusSoon:"Sắp có",statusServer:"Cấu hình máy chủ",serverEnvLabel:"Biến môi trường",serverConfigLabel:"Khoá trong config",serverFileLabel:"Tệp cấu hình",serverAllowedLabel:"Giá trị hợp lệ",serverDefaultLabel:"Mặc định",serverCopy:"Sao chép snippet",serverCopiedToast:"Đã sao chép snippet config",serverCopyFail:"Không sao chép được — hãy chọn và copy thủ công.",serverRestartNote:"Gateway chỉ đọc giá trị này lúc khởi động: sửa xong phải khởi động lại gateway. Web UI không có lệnh nào để đổi từ xa.",motionLabel:"Chuyển động",motionHint:"Giảm hiệu ứng động ngay cả khi hệ điều hành không bật.",motionSystem:"Theo hệ thống",motionReduced:"Giảm",sectionChat:"Hội thoại",sectionChatHint:"Cách hiển thị nội dung trò chuyện.",chatFontLabel:"Phông chữ",chatFontHint:"Áp dụng cho nội dung tin nhắn trong khung chat.",fontSans:"Sans",fontSystem:"Hệ thống",fontMono:"Mono",transcriptWidthLabel:"Bề rộng hội thoại",transcriptWidthHint:"Giới hạn bề rộng cột tin nhắn trên màn hình lớn.",widthNarrow:"Hẹp",widthMedium:"Vừa",widthWide:"Rộng",sectionVoice:"Ngôn ngữ & giọng nói",sectionVoiceHint:"Ngôn ngữ giao diện đã dùng được; phần giọng đọc chưa có trong BoomBot.",languageLabel:"Ngôn ngữ giao diện",languageHint:"Đổi ngôn ngữ của web UI.",langVi:"Tiếng Việt",langEn:"English",voiceLangLabel:"Giọng đọc",voiceLangHint:"Chọn giọng cho phần đọc thành tiếng.",voiceStyleLabel:"Phong cách",voiceStyleHint:"Giọng đọc tự nhiên, trang trọng hay thân mật.",voiceStyleNatural:"Tự nhiên",voiceStyleFormal:"Trang trọng",voiceStyleCasual:"Thân mật",voiceSpeedLabel:"Tốc độ",voiceSpeedHint:"Tốc độ đọc thành tiếng.",voiceSpeedSlow:"Chậm",voiceSpeedNormal:"Thường",voiceSpeedFast:"Nhanh",sectionNotifications:"Thông báo",sectionNotificationsHint:"Nhắc bạn khi có việc đáng chú ý.",notifyTurnDoneLabel:"Khi agent trả lời xong",notifyTurnDoneHint:"Báo khi một lượt chạy kết thúc, kể cả lúc bạn đang ở tab khác.",notifyErrorsLabel:"Khi có lỗi",notifyErrorsHint:"Báo khi một lượt chạy thất bại hoặc bị guard chặn.",notificationsFootnote:"Gateway không đẩy sự kiện ra ngoài tab đang mở (chỉ có SSE /v1/events mà chính tab đó giữ), nên các công tắc này chưa bật được.",guardRowHint:"Cách gateway xử lý câu trả lời có claim không được tool output chống đỡ.",harnessGuardLabel:"Harness guard",harnessGuardRowHint:"Mức kiểm tra harness chạy agent.",shellLabel:"Cho phép shell tool",shellRowHint:"Mở tool chạy lệnh trên máy chủ gateway. Mặc định tắt (fail-closed)."},onboarding:{title:"Thiết lập BoomBot",subtitle:"Ba bước để bắt đầu",stepperAria:"Tiến trình thiết lập",stepWelcome:"Chào mừng",stepConnect:"Kết nối gateway",stepDone:"Hoàn tất",welcomeHeading:"Chào mừng đến với BoomBot",welcomeLead:"BoomBot là trung tâm điều phối các AI agent của bạn — trò chuyện, lập lịch tự động và kết nối đa kênh, tất cả qua một gateway duy nhất.",existingNote:"Đã phát hiện cấu hình hiện có — bạn có thể bỏ qua và vào app ngay.",start:"Bắt đầu",skipToApp:"Vào app luôn",connectHeading:"Kết nối gateway",connectLead:"Nhập địa chỉ gateway và API key. Web UI sẽ kiểm tra kết nối trước khi tiếp tục.",urlLabel:"Gateway URL",urlHint:"Để trống = same-origin (cùng host với web UI).",keyLabelExisting:"API key mới (để trống = giữ key cũ)",keyLabel:"API key",keyPlaceholder:"Nhập API key",keyHint:"Cho phép dán. Key chỉ gửi tới gateway, không hiển thị lại.",showKeyAria:"Hiện API key",hideKeyAria:"Ẩn API key",test:"Kiểm tra kết nối",connectedOk:"Đã kết nối",unreachable:"Không kết nối được.",testFailDefault:"Kiểm tra thất bại",keyRequired:"Nhập API key của gateway.",back:"Quay lại",next:"Tiếp tục",testFirstHint:'Nhấn "Kiểm tra kết nối" và đợi kết quả thành công trước khi tiếp tục.',doneHeading:"Thiết lập hoàn tất",summaryUrl:"Gateway URL",summaryKey:"API key",summaryKeySaved:"•••••••••• đã lưu",summaryVersion:"Phiên bản",sameOrigin:"(same-origin)",enterApp:"Vào app",testOkToast:"Kết nối gateway thành công"},palette:{ariaLabel:"Bảng lệnh",resultsLabel:"Kết quả lệnh",placeholder:"Gõ lệnh hoặc tìm kiếm…",emptyTitle:"Không tìm thấy lệnh nào",footerNav:"điều hướng",footerChoose:"chọn",footerClose:"đóng",failedToast:"Lệnh thất bại",actions:{newChat:{title:"Chat mới",subtitle:"Bắt đầu phiên trò chuyện mới"},goChat:{title:"Mở Chat",subtitle:"Về màn hình trò chuyện"},goSessions:{title:"Mở Phiên",subtitle:"Danh sách phiên chat"},goProviders:{title:"Mở Providers",subtitle:"Quản lý LLM providers"},goSchedules:{title:"Mở Lịch chạy",subtitle:"Quản lý lịch chạy tự động"},goTasks:{title:"Mở Task nền",subtitle:"Quản lý task nền nhiều bước"},goMemory:{title:"Mở Bộ nhớ",subtitle:"Tìm kiếm và quản lý bộ nhớ"},goChannels:{title:"Mở Kênh chat",subtitle:"Quản lý kênh messaging"},goSettings:{title:"Mở Cài đặt",subtitle:"Cấu hình gateway và app"},goOnboarding:{title:"Mở Hướng dẫn bắt đầu",subtitle:"Các bước làm quen BoomBot"},channelPair:{title:"Pair kênh chat mới",subtitle:"Lấy mã BOOM-###### để kết nối kênh"},scheduleNow:{title:"Chạy lịch ngay",subtitle:"Mở Lịch chạy để run-now một schedule"},reconnect:{title:"Kết nối lại gateway",subtitle:"Lưu lại URL hiện tại và kiểm tra kết nối"},openShortcuts:{title:"Xem phím tắt",subtitle:"Bảng tra cứu phím tắt"},sessionDelete:{title:"Xoá phiên hiện tại",subtitle:"Xoá phiên chat đang mở (không thể hoàn tác)"}},toast:{reconnectOk:"Đã kết nối lại gateway",reconnectFail:"Không kết nối được gateway",noOpenSession:"Không có phiên nào đang mở",notConnected:"Chưa kết nối gateway",sessionDeleted:"Đã xoá phiên",sessionDeleteFail:"Xoá phiên thất bại"}},shortcuts:{title:"Phím tắt",note:"Phím tắt không hoạt động khi đang gõ trong ô nhập liệu.",groupNav:"Điều hướng (nhấn g rồi phím)",groupActions:"Thao tác",goChat:"Trang Chat",goSessions:"Phiên chat",goProviders:"Providers",goSchedules:"Lịch chạy",goTasks:"Task nền",goMemory:"Memory",goChannels:"Kênh (Channels)",goSettings:"Cài đặt",goOnboarding:"Onboarding",newChat:"Đoạn chat mới",focusComposer:"Nhảy tới ô soạn tin",listNext:"Mục tiếp theo trong danh sách",listPrev:"Mục trước trong danh sách",openCheatsheet:"Mở bảng phím tắt này",closeOverlay:"Đóng bảng/modal (do overlay tự xử lý)"},modelSwitcher:{label:"Mô hình",loading:"Đang tải mô hình…",switched:"Đã đổi mô hình",switchFailed:"Đổi mô hình thất bại"}},Kd={vi:Bp,en:zp},Hd="boombot.lang";function Kp(){try{const a=localStorage.getItem(Hd);if(a==="vi"||a==="en")return a}catch{}return"vi"}function dd(a,i){let c=a;for(const d of i.split(".")){if(typeof c!="object"||c===null)return;c=c[d]}return c}const Ud=p.createContext(null);function Be(){const a=p.useContext(Ud);if(!a)throw new Error("useI18n phải dùng trong <I18nProvider>");return a}function Hp(a,i,c){const d=dd(a,i)??dd(Kd.vi,i),h=typeof d=="string"?d:i;return c===void 0?h:h.replace(/\{(\w+)\}/g,(m,f)=>f in c?String(c[f]):m)}function Up({children:a}){const[i,c]=p.useState(Kp),d=p.useCallback(m=>{c(m);try{localStorage.setItem(Hd,m)}catch{}},[]);p.useEffect(()=>{document.documentElement.lang=i},[i]);const h=p.useMemo(()=>({lang:i,locale:i==="vi"?"vi-VN":"en-US",setLang:d,t:(m,f)=>Hp(Kd[i],m,f)}),[i,d]);return o.jsx(Ud.Provider,{value:h,children:a})}const $p="modulepreload",Vp=function(a){return"/"+a},hd={},Lr=function(i,c,d){let h=Promise.resolve();if(c&&c.length>0){let f=function(N){return Promise.all(N.map(x=>Promise.resolve(x).then(j=>({status:"fulfilled",value:j}),j=>({status:"rejected",reason:j}))))};document.getElementsByTagName("link");const y=document.querySelector("meta[property=csp-nonce]"),k=(y==null?void 0:y.nonce)||(y==null?void 0:y.getAttribute("nonce"));h=f(c.map(N=>{if(N=Vp(N),N in hd)return;hd[N]=!0;const x=N.endsWith(".css"),j=x?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${N}"]${j}`))return;const A=document.createElement("link");if(A.rel=x?"stylesheet":$p,x||(A.as="script"),A.crossOrigin="",A.href=N,k&&A.setAttribute("nonce",k),document.head.appendChild(A),x)return new Promise((H,_)=>{A.addEventListener("load",H),A.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${N}`)))})}))}function m(f){const y=new Event("vite:preloadError",{cancelable:!0});if(y.payload=f,window.dispatchEvent(y),!y.defaultPrevented)throw f}return h.then(f=>{for(const y of f||[])y.status==="rejected"&&m(y.reason);return i().catch(m)})};var ll=Fd();/**
|
|
47
|
+
* @remix-run/router v1.23.4
|
|
48
|
+
*
|
|
49
|
+
* Copyright (c) Remix Software Inc.
|
|
50
|
+
*
|
|
51
|
+
* This source code is licensed under the MIT license found in the
|
|
52
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
53
|
+
*
|
|
54
|
+
* @license MIT
|
|
55
|
+
*/function No(){return No=Object.assign?Object.assign.bind():function(a){for(var i=1;i<arguments.length;i++){var c=arguments[i];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},No.apply(null,arguments)}var bn;(function(a){a.Pop="POP",a.Push="PUSH",a.Replace="REPLACE"})(bn||(bn={}));const fd="popstate";function Wp(a){a===void 0&&(a={});function i(d,h){let{pathname:m,search:f,hash:y}=d.location;return Zi("",{pathname:m,search:f,hash:y},h.state&&h.state.usr||null,h.state&&h.state.key||"default")}function c(d,h){return typeof h=="string"?h:qa(h)}return qp(i,c,null,a)}function Fe(a,i){if(a===!1||a===null||typeof a>"u")throw new Error(i)}function $d(a,i){if(!a){typeof console<"u"&&console.warn(i);try{throw new Error(i)}catch{}}}function Gp(){return Math.random().toString(36).substr(2,8)}function pd(a,i){return{usr:a.state,key:a.key,idx:i}}function Zi(a,i,c,d){return c===void 0&&(c=null),No({pathname:typeof a=="string"?a:a.pathname,search:"",hash:""},typeof i=="string"?Mr(i):i,{state:c,key:i&&i.key||d||Gp()})}function qa(a){let{pathname:i="/",search:c="",hash:d=""}=a;return c&&c!=="?"&&(i+=c.charAt(0)==="?"?c:"?"+c),d&&d!=="#"&&(i+=d.charAt(0)==="#"?d:"#"+d),i}function Mr(a){let i={};if(a){let c=a.indexOf("#");c>=0&&(i.hash=a.substr(c),a=a.substr(0,c));let d=a.indexOf("?");d>=0&&(i.search=a.substr(d),a=a.substr(0,d)),a&&(i.pathname=a)}return i}function qp(a,i,c,d){d===void 0&&(d={});let{window:h=document.defaultView,v5Compat:m=!1}=d,f=h.history,y=bn.Pop,k=null,N=x();N==null&&(N=0,f.replaceState(No({},f.state,{idx:N}),""));function x(){return(f.state||{idx:null}).idx}function j(){y=bn.Pop;let M=x(),R=M==null?null:M-N;N=M,k&&k({action:y,location:C.location,delta:R})}function A(M,R){y=bn.Push;let L=Zi(C.location,M,R);N=x()+1;let I=pd(L,N),B=C.createHref(L);try{f.pushState(I,"",B)}catch(ue){if(ue instanceof DOMException&&ue.name==="DataCloneError")throw ue;h.location.assign(B)}m&&k&&k({action:y,location:C.location,delta:1})}function H(M,R){y=bn.Replace;let L=Zi(C.location,M,R);N=x();let I=pd(L,N),B=C.createHref(L);f.replaceState(I,"",B),m&&k&&k({action:y,location:C.location,delta:0})}function _(M){let R=h.location.origin!=="null"?h.location.origin:h.location.href,L=typeof M=="string"?M:qa(M);return L=L.replace(/ $/,"%20"),Fe(R,"No window.location.(origin|href) available to create URL for href: "+L),new URL(L,R)}let C={get action(){return y},get location(){return a(h,f)},listen(M){if(k)throw new Error("A history only accepts one active listener");return h.addEventListener(fd,j),k=M,()=>{h.removeEventListener(fd,j),k=null}},createHref(M){return i(h,M)},createURL:_,encodeLocation(M){let R=_(M);return{pathname:R.pathname,search:R.search,hash:R.hash}},push:A,replace:H,go(M){return f.go(M)}};return C}var md;(function(a){a.data="data",a.deferred="deferred",a.redirect="redirect",a.error="error"})(md||(md={}));function Qp(a,i,c){return c===void 0&&(c="/"),Xp(a,i,c)}function Xp(a,i,c,d){let h=typeof i=="string"?Mr(i):i,m=br(h.pathname||"/",c);if(m==null)return null;let f=Vd(a);Yp(f);let y=null,k=lm(m);for(let N=0;y==null&&N<f.length;++N)y=sm(f[N],k);return y}function Vd(a,i,c,d){i===void 0&&(i=[]),c===void 0&&(c=[]),d===void 0&&(d="");let h=(m,f,y)=>{let k={relativePath:y===void 0?m.path||"":y,caseSensitive:m.caseSensitive===!0,childrenIndex:f,route:m};k.relativePath.startsWith("/")&&(Fe(k.relativePath.startsWith(d),'Absolute route path "'+k.relativePath+'" nested under path '+('"'+d+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),k.relativePath=k.relativePath.slice(d.length));let N=Ln([d,k.relativePath]),x=c.concat(k);m.children&&m.children.length>0&&(Fe(m.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+N+'".')),Vd(m.children,i,x,N)),!(m.path==null&&!m.index)&&i.push({path:N,score:om(N,m.index),routesMeta:x})};return a.forEach((m,f)=>{var y;if(m.path===""||!((y=m.path)!=null&&y.includes("?")))h(m,f);else for(let k of Wd(m.path))h(m,f,k)}),i}function Wd(a){let i=a.split("/");if(i.length===0)return[];let[c,...d]=i,h=c.endsWith("?"),m=c.replace(/\?$/,"");if(d.length===0)return h?[m,""]:[m];let f=Wd(d.join("/")),y=[];return y.push(...f.map(k=>k===""?m:[m,k].join("/"))),h&&y.push(...f),y.map(k=>a.startsWith("/")&&k===""?"/":k)}function Yp(a){a.sort((i,c)=>i.score!==c.score?c.score-i.score:am(i.routesMeta.map(d=>d.childrenIndex),c.routesMeta.map(d=>d.childrenIndex)))}const Zp=/^:[\w-]+$/,Jp=3,em=2,tm=1,nm=10,rm=-2,gd=a=>a==="*";function om(a,i){let c=a.split("/"),d=c.length;return c.some(gd)&&(d+=rm),i&&(d+=em),c.filter(h=>!gd(h)).reduce((h,m)=>h+(Zp.test(m)?Jp:m===""?tm:nm),d)}function am(a,i){return a.length===i.length&&a.slice(0,-1).every((d,h)=>d===i[h])?a[a.length-1]-i[i.length-1]:0}function sm(a,i,c){let{routesMeta:d}=a,h={},m="/",f=[];for(let y=0;y<d.length;++y){let k=d[y],N=y===d.length-1,x=m==="/"?i:i.slice(m.length)||"/",j=Ji({path:k.relativePath,caseSensitive:k.caseSensitive,end:N},x),A=k.route;if(!j)return null;Object.assign(h,j.params),f.push({params:h,pathname:Ln([m,j.pathname]),pathnameBase:dm(Ln([m,j.pathnameBase])),route:A}),j.pathnameBase!=="/"&&(m=Ln([m,j.pathnameBase]))}return f}function Ji(a,i){typeof a=="string"&&(a={path:a,caseSensitive:!1,end:!0});let[c,d]=im(a.path,a.caseSensitive,a.end),h=i.match(c);if(!h)return null;let m=h[0],f=m.replace(/(.)\/+$/,"$1"),y=h.slice(1);return{params:d.reduce((N,x,j)=>{let{paramName:A,isOptional:H}=x;if(A==="*"){let C=y[j]||"";f=m.slice(0,m.length-C.length).replace(/(.)\/+$/,"$1")}const _=y[j];return H&&!_?N[A]=void 0:N[A]=(_||"").replace(/%2F/g,"/"),N},{}),pathname:m,pathnameBase:f,pattern:a}}function im(a,i,c){i===void 0&&(i=!1),c===void 0&&(c=!0),$d(a==="*"||!a.endsWith("*")||a.endsWith("/*"),'Route path "'+a+'" will be treated as if it were '+('"'+a.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+a.replace(/\*$/,"/*")+'".'));let d=[],h="^"+a.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(f,y,k)=>(d.push({paramName:y,isOptional:k!=null}),k?"/?([^\\/]+)?":"/([^\\/]+)"));return a.endsWith("*")?(d.push({paramName:"*"}),h+=a==="*"||a==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):c?h+="\\/*$":a!==""&&a!=="/"&&(h+="(?:(?=\\/|$))"),[new RegExp(h,i?void 0:"i"),d]}function lm(a){try{return a.split("/").map(i=>decodeURIComponent(i).replace(/\//g,"%2F")).join("/")}catch(i){return $d(!1,'The URL path "'+a+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+i+").")),a}}function br(a,i){if(i==="/")return a;if(!a.toLowerCase().startsWith(i.toLowerCase()))return null;let c=i.endsWith("/")?i.length-1:i.length,d=a.charAt(c);return d&&d!=="/"?null:a.slice(c)||"/"}function cm(a,i){i===void 0&&(i="/");let{pathname:c,search:d="",hash:h=""}=typeof a=="string"?Mr(a):a,m;return c?(c=Gd(c),c.startsWith("/")?m=vd(c.substring(1),"/"):m=vd(c,i)):m=i,{pathname:m,search:hm(d),hash:fm(h)}}function vd(a,i){let c=i.replace(/\/+$/,"").split("/");return a.split("/").forEach(h=>{h===".."?c.length>1&&c.pop():h!=="."&&c.push(h)}),c.length>1?c.join("/"):"/"}function Gi(a,i,c,d){return"Cannot include a '"+a+"' character in a manually specified "+("`to."+i+"` field ["+JSON.stringify(d)+"]. Please separate it out to the ")+("`to."+c+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function um(a){return a.filter((i,c)=>c===0||i.route.path&&i.route.path.length>0)}function cl(a,i){let c=um(a);return i?c.map((d,h)=>h===c.length-1?d.pathname:d.pathnameBase):c.map(d=>d.pathnameBase)}function ul(a,i,c,d){d===void 0&&(d=!1);let h;typeof a=="string"?h=Mr(a):(h=No({},a),Fe(!h.pathname||!h.pathname.includes("?"),Gi("?","pathname","search",h)),Fe(!h.pathname||!h.pathname.includes("#"),Gi("#","pathname","hash",h)),Fe(!h.search||!h.search.includes("#"),Gi("#","search","hash",h)));let m=a===""||h.pathname==="",f=m?"/":h.pathname,y;if(f==null)y=c;else{let j=i.length-1;if(!d&&f.startsWith("..")){let A=f.split("/");for(;A[0]==="..";)A.shift(),j-=1;h.pathname=A.join("/")}y=j>=0?i[j]:"/"}let k=cm(h,y),N=f&&f!=="/"&&f.endsWith("/"),x=(m||f===".")&&c.endsWith("/");return!k.pathname.endsWith("/")&&(N||x)&&(k.pathname+="/"),k}const Gd=a=>a.replace(/\/\/+/g,"/"),Ln=a=>Gd(a.join("/")),dm=a=>a.replace(/\/+$/,"").replace(/^\/*/,"/"),hm=a=>!a||a==="?"?"":a.startsWith("?")?a:"?"+a,fm=a=>!a||a==="#"?"":a.startsWith("#")?a:"#"+a;function pm(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.internal=="boolean"&&"data"in a}const qd=["post","put","patch","delete"];new Set(qd);const mm=["get",...qd];new Set(mm);/**
|
|
56
|
+
* React Router v6.30.6
|
|
57
|
+
*
|
|
58
|
+
* Copyright (c) Remix Software Inc.
|
|
59
|
+
*
|
|
60
|
+
* This source code is licensed under the MIT license found in the
|
|
61
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
62
|
+
*
|
|
63
|
+
* @license MIT
|
|
64
|
+
*/function bo(){return bo=Object.assign?Object.assign.bind():function(a){for(var i=1;i<arguments.length;i++){var c=arguments[i];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},bo.apply(null,arguments)}const Xa=p.createContext(null),Qd=p.createContext(null),an=p.createContext(null),Ya=p.createContext(null),qt=p.createContext({outlet:null,matches:[],isDataRoute:!1}),Xd=p.createContext(null);function gm(a,i){let{relative:c}=i===void 0?{}:i;Rr()||Fe(!1);let{basename:d,navigator:h}=p.useContext(an),{hash:m,pathname:f,search:y}=Za(a,{relative:c}),k=f;return d!=="/"&&(k=f==="/"?d:Ln([d,f])),h.createHref({pathname:k,search:y,hash:m})}function Rr(){return p.useContext(Ya)!=null}function Rt(){return Rr()||Fe(!1),p.useContext(Ya).location}function Yd(a){p.useContext(an).static||p.useLayoutEffect(a)}function sn(){let{isDataRoute:a}=p.useContext(qt);return a?Rm():vm()}function vm(){Rr()||Fe(!1);let a=p.useContext(Xa),{basename:i,future:c,navigator:d}=p.useContext(an),{matches:h}=p.useContext(qt),{pathname:m}=Rt(),f=JSON.stringify(cl(h,c.v7_relativeSplatPath)),y=p.useRef(!1);return Yd(()=>{y.current=!0}),p.useCallback(function(N,x){if(x===void 0&&(x={}),!y.current)return;if(typeof N=="number"){d.go(N);return}let j=ul(N,JSON.parse(f),m,x.relative==="path");a==null&&i!=="/"&&(j.pathname=j.pathname==="/"?i:Ln([i,j.pathname])),(x.replace?d.replace:d.push)(j,x.state,x)},[i,d,f,m,a])}const ym=p.createContext(null);function wm(a){let i=p.useContext(qt).outlet;return i&&p.createElement(ym.Provider,{value:a},i)}function km(){let{matches:a}=p.useContext(qt),i=a[a.length-1];return i?i.params:{}}function Za(a,i){let{relative:c}=i===void 0?{}:i,{future:d}=p.useContext(an),{matches:h}=p.useContext(qt),{pathname:m}=Rt(),f=JSON.stringify(cl(h,d.v7_relativeSplatPath));return p.useMemo(()=>ul(a,JSON.parse(f),m,c==="path"),[a,f,m,c])}function xm(a,i){return _m(a,i)}function _m(a,i,c,d){Rr()||Fe(!1);let{navigator:h}=p.useContext(an),{matches:m}=p.useContext(qt),f=m[m.length-1],y=f?f.params:{};f&&f.pathname;let k=f?f.pathnameBase:"/";f&&f.route;let N=Rt(),x;if(i){var j;let M=typeof i=="string"?Mr(i):i;k==="/"||(j=M.pathname)!=null&&j.startsWith(k)||Fe(!1),x=M}else x=N;let A=x.pathname||"/",H=A;if(k!=="/"){let M=k.replace(/^\//,"").split("/");H="/"+A.replace(/^\//,"").split("/").slice(M.length).join("/")}let _=Qp(a,{pathname:H}),C=Em(_&&_.map(M=>Object.assign({},M,{params:Object.assign({},y,M.params),pathname:Ln([k,h.encodeLocation?h.encodeLocation(M.pathname).pathname:M.pathname]),pathnameBase:M.pathnameBase==="/"?k:Ln([k,h.encodeLocation?h.encodeLocation(M.pathnameBase).pathname:M.pathnameBase])})),m,c,d);return i&&C?p.createElement(Ya.Provider,{value:{location:bo({pathname:"/",search:"",hash:"",state:null,key:"default"},x),navigationType:bn.Pop}},C):C}function Cm(){let a=Mm(),i=pm(a)?a.status+" "+a.statusText:a instanceof Error?a.message:JSON.stringify(a),c=a instanceof Error?a.stack:null,h={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},i),c?p.createElement("pre",{style:h},c):null,null)}const Sm=p.createElement(Cm,null);class jm extends p.Component{constructor(i){super(i),this.state={location:i.location,revalidation:i.revalidation,error:i.error}}static getDerivedStateFromError(i){return{error:i}}static getDerivedStateFromProps(i,c){return c.location!==i.location||c.revalidation!=="idle"&&i.revalidation==="idle"?{error:i.error,location:i.location,revalidation:i.revalidation}:{error:i.error!==void 0?i.error:c.error,location:c.location,revalidation:i.revalidation||c.revalidation}}componentDidCatch(i,c){console.error("React Router caught the following error during render",i,c)}render(){return this.state.error!==void 0?p.createElement(qt.Provider,{value:this.props.routeContext},p.createElement(Xd.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Tm(a){let{routeContext:i,match:c,children:d}=a,h=p.useContext(Xa);return h&&h.static&&h.staticContext&&(c.route.errorElement||c.route.ErrorBoundary)&&(h.staticContext._deepestRenderedBoundaryId=c.route.id),p.createElement(qt.Provider,{value:i},d)}function Em(a,i,c,d){var h;if(i===void 0&&(i=[]),c===void 0&&(c=null),d===void 0&&(d=null),a==null){var m;if(!c)return null;if(c.errors)a=c.matches;else if((m=d)!=null&&m.v7_partialHydration&&i.length===0&&!c.initialized&&c.matches.length>0)a=c.matches;else return null}let f=a,y=(h=c)==null?void 0:h.errors;if(y!=null){let x=f.findIndex(j=>j.route.id&&(y==null?void 0:y[j.route.id])!==void 0);x>=0||Fe(!1),f=f.slice(0,Math.min(f.length,x+1))}let k=!1,N=-1;if(c&&d&&d.v7_partialHydration)for(let x=0;x<f.length;x++){let j=f[x];if((j.route.HydrateFallback||j.route.hydrateFallbackElement)&&(N=x),j.route.id){let{loaderData:A,errors:H}=c,_=j.route.loader&&A[j.route.id]===void 0&&(!H||H[j.route.id]===void 0);if(j.route.lazy||_){k=!0,N>=0?f=f.slice(0,N+1):f=[f[0]];break}}}return f.reduceRight((x,j,A)=>{let H,_=!1,C=null,M=null;c&&(H=y&&j.route.id?y[j.route.id]:void 0,C=j.route.errorElement||Sm,k&&(N<0&&A===0?(Pm("route-fallback"),_=!0,M=null):N===A&&(_=!0,M=j.route.hydrateFallbackElement||null)));let R=i.concat(f.slice(0,A+1)),L=()=>{let I;return H?I=C:_?I=M:j.route.Component?I=p.createElement(j.route.Component,null):j.route.element?I=j.route.element:I=x,p.createElement(Tm,{match:j,routeContext:{outlet:x,matches:R,isDataRoute:c!=null},children:I})};return c&&(j.route.ErrorBoundary||j.route.errorElement||A===0)?p.createElement(jm,{location:c.location,revalidation:c.revalidation,component:C,error:H,children:L(),routeContext:{outlet:null,matches:R,isDataRoute:!0}}):L()},null)}var Zd=(function(a){return a.UseBlocker="useBlocker",a.UseRevalidator="useRevalidator",a.UseNavigateStable="useNavigate",a})(Zd||{}),Jd=(function(a){return a.UseBlocker="useBlocker",a.UseLoaderData="useLoaderData",a.UseActionData="useActionData",a.UseRouteError="useRouteError",a.UseNavigation="useNavigation",a.UseRouteLoaderData="useRouteLoaderData",a.UseMatches="useMatches",a.UseRevalidator="useRevalidator",a.UseNavigateStable="useNavigate",a.UseRouteId="useRouteId",a})(Jd||{});function Nm(a){let i=p.useContext(Xa);return i||Fe(!1),i}function bm(a){let i=p.useContext(Qd);return i||Fe(!1),i}function Lm(a){let i=p.useContext(qt);return i||Fe(!1),i}function eh(a){let i=Lm(),c=i.matches[i.matches.length-1];return c.route.id||Fe(!1),c.route.id}function Mm(){var a;let i=p.useContext(Xd),c=bm(),d=eh();return i!==void 0?i:(a=c.errors)==null?void 0:a[d]}function Rm(){let{router:a}=Nm(Zd.UseNavigateStable),i=eh(Jd.UseNavigateStable),c=p.useRef(!1);return Yd(()=>{c.current=!0}),p.useCallback(function(h,m){m===void 0&&(m={}),c.current&&(typeof h=="number"?a.navigate(h):a.navigate(h,bo({fromRouteId:i},m)))},[a,i])}const yd={};function Pm(a,i,c){yd[a]||(yd[a]=!0)}function Am(a,i){a==null||a.v7_startTransition,a==null||a.v7_relativeSplatPath}function Ua(a){let{to:i,replace:c,state:d,relative:h}=a;Rr()||Fe(!1);let{future:m,static:f}=p.useContext(an),{matches:y}=p.useContext(qt),{pathname:k}=Rt(),N=sn(),x=ul(i,cl(y,m.v7_relativeSplatPath),k,h==="path"),j=JSON.stringify(x);return p.useEffect(()=>N(JSON.parse(j),{replace:c,state:d,relative:h}),[N,j,h,c,d]),null}function wd(a){return wm(a.context)}function mt(a){Fe(!1)}function Im(a){let{basename:i="/",children:c=null,location:d,navigationType:h=bn.Pop,navigator:m,static:f=!1,future:y}=a;Rr()&&Fe(!1);let k=i.replace(/^\/*/,"/"),N=p.useMemo(()=>({basename:k,navigator:m,static:f,future:bo({v7_relativeSplatPath:!1},y)}),[k,y,m,f]);typeof d=="string"&&(d=Mr(d));let{pathname:x="/",search:j="",hash:A="",state:H=null,key:_="default"}=d,C=p.useMemo(()=>{let M=br(x,k);return M==null?null:{location:{pathname:M,search:j,hash:A,state:H,key:_},navigationType:h}},[k,x,j,A,H,_,h]);return C==null?null:p.createElement(an.Provider,{value:N},p.createElement(Ya.Provider,{children:c,value:C}))}function Dm(a){let{children:i,location:c}=a;return xm(el(i),c)}new Promise(()=>{});function el(a,i){i===void 0&&(i=[]);let c=[];return p.Children.forEach(a,(d,h)=>{if(!p.isValidElement(d))return;let m=[...i,h];if(d.type===p.Fragment){c.push.apply(c,el(d.props.children,m));return}d.type!==mt&&Fe(!1),!d.props.index||!d.props.children||Fe(!1);let f={id:d.props.id||m.join("-"),caseSensitive:d.props.caseSensitive,element:d.props.element,Component:d.props.Component,index:d.props.index,path:d.props.path,loader:d.props.loader,action:d.props.action,errorElement:d.props.errorElement,ErrorBoundary:d.props.ErrorBoundary,hasErrorBoundary:d.props.ErrorBoundary!=null||d.props.errorElement!=null,shouldRevalidate:d.props.shouldRevalidate,handle:d.props.handle,lazy:d.props.lazy};d.props.children&&(f.children=el(d.props.children,m)),c.push(f)}),c}/**
|
|
65
|
+
* React Router DOM v6.30.6
|
|
66
|
+
*
|
|
67
|
+
* Copyright (c) Remix Software Inc.
|
|
68
|
+
*
|
|
69
|
+
* This source code is licensed under the MIT license found in the
|
|
70
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
71
|
+
*
|
|
72
|
+
* @license MIT
|
|
73
|
+
*/function Qa(){return Qa=Object.assign?Object.assign.bind():function(a){for(var i=1;i<arguments.length;i++){var c=arguments[i];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},Qa.apply(null,arguments)}function th(a,i){if(a==null)return{};var c={};for(var d in a)if({}.hasOwnProperty.call(a,d)){if(i.indexOf(d)!==-1)continue;c[d]=a[d]}return c}function Om(a){return!!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)}function Fm(a,i){return a.button===0&&(!i||i==="_self")&&!Om(a)}const zm=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Bm=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],Km="6";try{window.__reactRouterVersion=Km}catch{}const Hm=p.createContext({isTransitioning:!1}),Um="startTransition",kd=Cp[Um];function $m(a){let{basename:i,children:c,future:d,window:h}=a,m=p.useRef();m.current==null&&(m.current=Wp({window:h,v5Compat:!0}));let f=m.current,[y,k]=p.useState({action:f.action,location:f.location}),{v7_startTransition:N}=d||{},x=p.useCallback(j=>{N&&kd?kd(()=>k(j)):k(j)},[k,N]);return p.useLayoutEffect(()=>f.listen(x),[f,x]),p.useEffect(()=>Am(d),[d]),p.createElement(Im,{basename:i,children:c,location:y.location,navigationType:y.action,navigator:f,future:d})}const Vm=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Wm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,dl=p.forwardRef(function(i,c){let{onClick:d,relative:h,reloadDocument:m,replace:f,state:y,target:k,to:N,preventScrollReset:x,viewTransition:j}=i,A=th(i,zm),{basename:H}=p.useContext(an),_,C=!1;if(typeof N=="string"&&Wm.test(N)&&(_=N,Vm))try{let I=new URL(window.location.href),B=N.startsWith("//")?new URL(I.protocol+N):new URL(N),ue=br(B.pathname,H);B.origin===I.origin&&ue!=null?N=ue+B.search+B.hash:C=!0}catch{}let M=gm(N,{relative:h}),R=qm(N,{replace:f,state:y,target:k,preventScrollReset:x,relative:h,viewTransition:j});function L(I){d&&d(I),I.defaultPrevented||R(I)}return p.createElement("a",Qa({},A,{href:_||M,onClick:C||m?d:L,ref:c,target:k}))}),Mo=p.forwardRef(function(i,c){let{"aria-current":d="page",caseSensitive:h=!1,className:m="",end:f=!1,style:y,to:k,viewTransition:N,children:x}=i,j=th(i,Bm),A=Za(k,{relative:j.relative}),H=Rt(),_=p.useContext(Qd),{navigator:C,basename:M}=p.useContext(an),R=_!=null&&Qm(A)&&N===!0,L=C.encodeLocation?C.encodeLocation(A).pathname:A.pathname,I=H.pathname,B=_&&_.navigation&&_.navigation.location?_.navigation.location.pathname:null;h||(I=I.toLowerCase(),B=B?B.toLowerCase():null,L=L.toLowerCase()),B&&M&&(B=br(B,M)||B);const ue=L!=="/"&&L.endsWith("/")?L.length-1:L.length;let q=I===L||!f&&I.startsWith(L)&&I.charAt(ue)==="/",pe=B!=null&&(B===L||!f&&B.startsWith(L)&&B.charAt(L.length)==="/"),re={isActive:q,isPending:pe,isTransitioning:R},te=q?d:void 0,oe;typeof m=="function"?oe=m(re):oe=[m,q?"active":null,pe?"pending":null,R?"transitioning":null].filter(Boolean).join(" ");let xe=typeof y=="function"?y(re):y;return p.createElement(dl,Qa({},j,{"aria-current":te,className:oe,ref:c,style:xe,to:k,viewTransition:N}),typeof x=="function"?x(re):x)});var tl;(function(a){a.UseScrollRestoration="useScrollRestoration",a.UseSubmit="useSubmit",a.UseSubmitFetcher="useSubmitFetcher",a.UseFetcher="useFetcher",a.useViewTransitionState="useViewTransitionState"})(tl||(tl={}));var xd;(function(a){a.UseFetcher="useFetcher",a.UseFetchers="useFetchers",a.UseScrollRestoration="useScrollRestoration"})(xd||(xd={}));function Gm(a){let i=p.useContext(Xa);return i||Fe(!1),i}function qm(a,i){let{target:c,replace:d,state:h,preventScrollReset:m,relative:f,viewTransition:y}=i===void 0?{}:i,k=sn(),N=Rt(),x=Za(a,{relative:f});return p.useCallback(j=>{if(Fm(j,c)){j.preventDefault();let A=d!==void 0?d:qa(N)===qa(x);k(a,{replace:A,state:h,preventScrollReset:m,relative:f,viewTransition:y})}},[N,k,x,d,h,c,a,m,f,y])}function Qm(a,i){i===void 0&&(i={});let c=p.useContext(Hm);c==null&&Fe(!1);let{basename:d}=Gm(tl.useViewTransitionState),h=Za(a,{relative:i.relative});if(!c.isTransitioning)return!1;let m=br(c.currentLocation.pathname,d)||c.currentLocation.pathname,f=br(c.nextLocation.pathname,d)||c.nextLocation.pathname;return Ji(h.pathname,f)!=null||Ji(h.pathname,m)!=null}const Xm="_badge_1l5mk_1",_d={badge:Xm,"tone-accent":"_tone-accent_1l5mk_16","tone-muted":"_tone-muted_1l5mk_21","tone-danger":"_tone-danger_1l5mk_26","tone-warn":"_tone-warn_1l5mk_31","tone-info":"_tone-info_1l5mk_36","tone-success":"_tone-success_1l5mk_41"};function gt({tone:a="muted",children:i,className:c}){return o.jsx("span",{className:[_d.badge,_d[`tone-${a}`],c??""].join(" ").trim(),children:i})}const Ym={chat:o.jsx("path",{d:"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"}),sessions:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M3 3v5h5"}),o.jsx("path",{d:"M3.05 13A9 9 0 1 0 6 5.3L3 8"}),o.jsx("path",{d:"M12 7v5l4 2"})]}),cpu:o.jsxs(o.Fragment,{children:[o.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),o.jsx("rect",{x:"9",y:"9",width:"6",height:"6"}),o.jsx("path",{d:"M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2"})]}),calendar:o.jsxs(o.Fragment,{children:[o.jsx("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2"}),o.jsx("path",{d:"M16 2v4M8 2v4M3 10h18"})]}),database:o.jsxs(o.Fragment,{children:[o.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),o.jsx("path",{d:"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"}),o.jsx("path",{d:"M3 12c0 1.66 4 3 9 3s9-1.34 9-3"})]}),radio:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"12",cy:"12",r:"2"}),o.jsx("path",{d:"M4.93 19.07a10 10 0 0 1 0-14.14"}),o.jsx("path",{d:"M7.76 16.24a6 6 0 0 1 0-8.49"}),o.jsx("path",{d:"M16.24 7.76a6 6 0 0 1 0 8.49"}),o.jsx("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14"})]}),gear:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"12",cy:"12",r:"3"}),o.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"})]}),plus:o.jsx("path",{d:"M5 12h14M12 5v14"}),x:o.jsx("path",{d:"M18 6 6 18M6 6l12 12"}),check:o.jsx("path",{d:"M20 6 9 17l-5-5"}),warn:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),o.jsx("path",{d:"M12 9v4M12 17h.01"})]}),search:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"11",cy:"11",r:"8"}),o.jsx("path",{d:"M21 21l-4.3-4.3"})]}),send:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M22 2 11 13"}),o.jsx("path",{d:"M22 2l-7 20-4-9-9-4 20-7z"})]}),dots:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"5",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"19",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"})]}),"chevron-down":o.jsx("path",{d:"M6 9l6 6 6-6"}),"chevron-right":o.jsx("path",{d:"M9 18l6-6-6-6"}),"chevron-left":o.jsx("path",{d:"M15 18l-6-6 6-6"}),bolt:o.jsx("path",{d:"M13 2 3 14h9l-1 8 10-12h-9l1-8z"}),shield:o.jsx("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:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"7.5",cy:"15.5",r:"4.5"}),o.jsx("path",{d:"M10.8 12.2 20 3"}),o.jsx("path",{d:"M16 7l3 3M13.5 9.5l2 2"})]}),link:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),o.jsx("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]}),unlink:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M18.84 12.25l1.72-1.71a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),o.jsx("path",{d:"M5.17 11.75l-1.72 1.71a5 5 0 0 0 7.07 7.07l1.71-1.71"}),o.jsx("path",{d:"M8 8l8 8"})]}),play:o.jsx("path",{d:"M6 4l14 8-14 8V4z"}),pause:o.jsxs(o.Fragment,{children:[o.jsx("rect",{x:"6",y:"4",width:"4",height:"16",rx:"1"}),o.jsx("rect",{x:"14",y:"4",width:"4",height:"16",rx:"1"})]}),trash:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M3 6h18"}),o.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),o.jsx("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),o.jsx("path",{d:"M10 11v6M14 11v6"})]}),edit:o.jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5z"}),refresh:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"}),o.jsx("path",{d:"M21 3v5h-5"})]}),wifi:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M12 20h.01"}),o.jsx("path",{d:"M2 8.82a15 15 0 0 1 20 0"}),o.jsx("path",{d:"M5 12.86a10 10 0 0 1 14 0"}),o.jsx("path",{d:"M8.5 16.43a5 5 0 0 1 7 0"})]}),"wifi-off":o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M2 2l20 20"}),o.jsx("path",{d:"M8.5 16.43a5 5 0 0 1 7 0"}),o.jsx("path",{d:"M5 12.86a10 10 0 0 1 5.17-2.69"}),o.jsx("path",{d:"M2 8.82a15 15 0 0 1 4.17-2.65"}),o.jsx("path",{d:"M12 20h.01"})]}),info:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"12",cy:"12",r:"10"}),o.jsx("path",{d:"M12 16v-4M12 8h.01"})]}),copy:o.jsxs(o.Fragment,{children:[o.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),o.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),eye:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7z"}),o.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),"eye-off":o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),o.jsx("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),o.jsx("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),o.jsx("path",{d:"M2 2l20 20"})]}),"arrow-left":o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M19 12H5"}),o.jsx("path",{d:"M12 19l-7-7 7-7"})]}),menu:o.jsx("path",{d:"M4 6h16M4 12h16M4 18h16"}),clock:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"12",cy:"12",r:"10"}),o.jsx("path",{d:"M12 6v6l4 2"})]}),stop:o.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"}),providers:o.jsxs(o.Fragment,{children:[o.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),o.jsx("rect",{x:"9",y:"9",width:"6",height:"6"}),o.jsx("path",{d:"M9 1v3M15 1v3M9 20v3M15 20v3M1 9h3M1 15h3M20 9h3M20 15h3"})]}),schedules:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"12",cy:"12",r:"10"}),o.jsx("polyline",{points:"12 6 12 12 16 14"})]}),memory:o.jsxs(o.Fragment,{children:[o.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),o.jsx("path",{d:"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"}),o.jsx("path",{d:"M3 12c0 1.66 4 3 9 3s9-1.34 9-3"})]}),channels:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"12",cy:"12",r:"2"}),o.jsx("path",{d:"M4.93 19.07a10 10 0 0 1 0-14.14"}),o.jsx("path",{d:"M7.76 16.24a6 6 0 0 1 0-8.49"}),o.jsx("path",{d:"M16.24 7.76a6 6 0 0 1 0 8.49"}),o.jsx("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14"})]}),settings:o.jsxs(o.Fragment,{children:[o.jsx("line",{x1:"4",y1:"21",x2:"4",y2:"14"}),o.jsx("line",{x1:"4",y1:"10",x2:"4",y2:"3"}),o.jsx("line",{x1:"12",y1:"21",x2:"12",y2:"12"}),o.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"3"}),o.jsx("line",{x1:"20",y1:"21",x2:"20",y2:"16"}),o.jsx("line",{x1:"20",y1:"12",x2:"20",y2:"3"}),o.jsx("line",{x1:"1",y1:"14",x2:"7",y2:"14"}),o.jsx("line",{x1:"9",y1:"8",x2:"15",y2:"8"}),o.jsx("line",{x1:"17",y1:"16",x2:"23",y2:"16"})]}),sun:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"12",cy:"12",r:"4"}),o.jsx("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41"})]}),moon:o.jsx("path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"}),monitor:o.jsxs(o.Fragment,{children:[o.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),o.jsx("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),o.jsx("line",{x1:"12",y1:"17",x2:"12",y2:"21"})]}),bell:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M18 8a6 6 0 1 0-12 0c0 7-3 9-3 9h18s-3-2-3-9"}),o.jsx("path",{d:"M13.7 21a2 2 0 0 1-3.4 0"})]}),volume:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M11 5 6 9H2v6h4l5 4V5z"}),o.jsx("path",{d:"M15.5 8.5a5 5 0 0 1 0 7"}),o.jsx("path",{d:"M18.5 5.5a9 9 0 0 1 0 13"})]}),palette:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.93 0 1.65-.75 1.65-1.69 0-.44-.18-.84-.44-1.13-.29-.29-.44-.65-.44-1.12a1.64 1.64 0 0 1 1.67-1.67h2c3.05 0 5.56-2.5 5.56-5.55C21.97 6.01 17.46 2 12 2z"}),o.jsx("circle",{cx:"13.5",cy:"6.5",r:".75",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"17.5",cy:"10.5",r:".75",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"8.5",cy:"7.5",r:".75",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"6.5",cy:"12.5",r:".75",fill:"currentColor",stroke:"none"})]}),plug:o.jsxs(o.Fragment,{children:[o.jsx("path",{d:"M12 22v-5"}),o.jsx("path",{d:"M9 8V2"}),o.jsx("path",{d:"M15 8V2"}),o.jsx("path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8z"})]}),globe:o.jsxs(o.Fragment,{children:[o.jsx("circle",{cx:"12",cy:"12",r:"10"}),o.jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"}),o.jsx("path",{d:"M2 12h20"})]})};function ve({name:a,size:i=20,className:c}){return o.jsx("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",className:c,children:Ym[a]})}const nl={telegram:{color:"#26A5E4",d:"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"},whatsapp:{color:"#25D366",d:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"},discord:{color:"#5865F2",d:"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"},slack:{color:"#E01E5A",d:"M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"},zalo:{color:"#0068FF",d:"M12.49 10.2722v-.4496h1.3467v6.3218h-.7704a.576.576 0 01-.5763-.5729l-.0006.0005a3.273 3.273 0 01-1.9372.6321c-1.8138 0-3.2844-1.4697-3.2844-3.2823 0-1.8125 1.4706-3.2822 3.2844-3.2822a3.273 3.273 0 011.9372.6321l.0006.0005zM6.9188 7.7896v.205c0 .3823-.051.6944-.2995 1.0605l-.03.0343c-.0542.0615-.1815.206-.2421.2843L2.024 14.8h4.8948v.7682a.5764.5764 0 01-.5767.5761H0v-.3622c0-.4436.1102-.6414.2495-.8476L4.8582 9.23H.1922V7.7896h6.7266zm8.5513 8.3548a.4805.4805 0 01-.4803-.4798v-7.875h1.4416v8.3548H15.47zM20.6934 9.6C22.52 9.6 24 11.0807 24 12.9044c0 1.8252-1.4801 3.306-3.3066 3.306-1.8264 0-3.3066-1.4808-3.3066-3.306 0-1.8237 1.4802-3.3044 3.3066-3.3044zm-10.1412 5.253c1.0675 0 1.9324-.8645 1.9324-1.9312 0-1.065-.865-1.9295-1.9324-1.9295s-1.9324.8644-1.9324 1.9295c0 1.0667.865 1.9312 1.9324 1.9312zm10.1412-.0033c1.0737 0 1.945-.8707 1.945-1.9453 0-1.073-.8713-1.9436-1.945-1.9436-1.0753 0-1.945.8706-1.945 1.9436 0 1.0746.8697 1.9453 1.945 1.9453z"},messenger:{color:"#0084FF",d:"M12 0C5.24 0 0 4.952 0 11.64c0 3.499 1.434 6.521 3.769 8.61a.96.96 0 0 1 .323.683l.065 2.135a.96.96 0 0 0 1.347.85l2.381-1.053a.96.96 0 0 1 .641-.046A13 13 0 0 0 12 23.28c6.76 0 12-4.952 12-11.64S18.76 0 12 0m6.806 7.44c.522-.03.971.567.63 1.094l-4.178 6.457a.707.707 0 0 1-.977.208l-3.87-2.504a.44.44 0 0 0-.49.007l-4.363 3.01c-.637.438-1.415-.317-.995-.966l4.179-6.457a.706.706 0 0 1 .977-.21l3.87 2.505c.15.097.344.094.491-.007l4.362-3.008a.7.7 0 0 1 .364-.13"},tiktok:{color:"#000000",d:"M12.525.02c1.31-.02 2.61-.01 3.91-.04.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 2.26-.9 4.51-2.43 6.13-1.66 1.72-3.96 2.75-6.38 2.91-2.45.16-4.98-.3-7.05-1.55-2.07-1.25-3.57-3.23-4.21-5.54-.64-2.32-.47-4.85.5-7.01.97-2.15 2.65-3.89 4.74-4.91 2.1-.99 4.54-1.29 6.8-.82.16.03.32.07.48.11v4.13c-1.3-.23-2.65-.21-3.92.1-1.28.31-2.45.96-3.34 1.9-1.07 1.11-1.62 2.66-1.54 4.2.07 1.54.76 2.98 1.94 3.98 1.17 1 2.7 1.48 4.25 1.34 1.55-.14 2.98-.86 3.98-2.01 1.01-1.15 1.49-2.73 1.35-4.29V.02z"},feishu:{color:"#3370FF",d:"M23.16 6.55l-9.04-5.26c-.66-.39-1.48-.39-2.14 0l-9.04 5.26C2.28 6.94 1.8 7.77 1.8 8.54v10.51c0 .77.48 1.6 1.14 1.99l9.04 5.26c.66.39 1.48.39 2.14 0l9.04-5.26c.66-.39 1.14-1.22 1.14-1.99V8.54c0-.77-.48-1.6-1.14-1.99zM7.22 12.35l3.22-3.15c.57-.55 1.51-.55 2.08 0l4.25 4.14-4.25 4.15a1.47 1.47 0 0 1-2.08 0l-3.22-3.14V12.35z"},wechat:{color:"#07C160",d:"M17.16 9.61c-3.55 0-6.42 2.37-6.42 5.3 0 2.93 2.87 5.3 6.42 5.3 1.34 0 2.58-.35 3.61-.95.73.49 1.76.99 1.89 1.03.11.04.14-.07.1-.14l-.62-1.46c.92-1.04 1.44-2.36 1.44-3.78 0-2.93-2.87-5.3-6.42-5.3zm-1.64 3.03c.36 0 .66.3.66.66 0 .36-.3.66-.66.66-.36 0-.66-.3-.66-.66 0-.36.3-.66.66-.66zm3.28 0c.36 0 .66.3.66.66 0 .36-.3.66-.66.66-.36 0-.66-.3-.66-.66 0-.36.3-.66.66-.66zm-10.45 4.6l-.88 2.06c-.06.1-.02.26.15.2.19-.05 1.66-.75 2.75-1.48 1.5.85 3.25 1.35 5.14 1.35.34 0 .68-.02 1.01-.06-1.13-2.61-3.66-4.48-6.68-4.48-3.95 0-7.15 2.68-7.15 6.01 0 1.94.94 3.7 2.45 4.96.11.08.15.2.11.3l-.71 1.68c-.06.1.02.25.14.2.18-.06 1.63-.73 2.69-1.44 1.5.83 3.19 1.32 5 1.32 5.09 0 9.22-3.48 9.22-7.78 0-.41-.04-.81-.11-1.2-.55.07-1.1.11-1.67.11-4.7 0-8.52-3.13-8.52-6.99 0-.44.05-.88.14-1.3-.96-.13-1.95-.19-2.97-.19-5.09 0-9.22 3.48-9.22 7.78 0 2.27 1.13 4.31 2.92 5.76zM7.18 10.98c.45 0 .82.37.82.82 0 .45-.37.82-.82.82-.45 0-.82-.37-.82-.82 0-.45.37-.82.82-.82zm5.75 0c.45 0 .82.37.82.82 0 .45-.37.82-.82.82-.45 0-.82-.37-.82-.82 0-.45.37-.82.82-.82z"}};function Zm(a){return a in nl}function Jm({kind:a,size:i=24}){return Zm(a)?o.jsx("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:nl[a].color,"aria-hidden":"true",focusable:"false",children:o.jsx("path",{d:nl[a].d})}):o.jsx(ve,{name:"channels",size:i})}const eg="_button_1p4is_1",tg="_label_1p4is_39",$a={button:eg,label:tg,"size-sm":"_size-sm_1p4is_46","size-md":"_size-md_1p4is_52","size-lg":"_size-lg_1p4is_58","variant-primary":"_variant-primary_1p4is_65","variant-secondary":"_variant-secondary_1p4is_78","variant-ghost":"_variant-ghost_1p4is_90","variant-danger":"_variant-danger_1p4is_101"},ng="_spinner_qbves_1",rg={spinner:ng};function Ga({size:a=16,label:i="Đang tải",className:c}){return o.jsx("span",{role:"status","aria-label":i,className:[rg.spinner,c??""].join(" ").trim(),style:{width:a,height:a}})}function fe({variant:a="primary",size:i="md",disabled:c=!1,loading:d=!1,type:h="button",children:m,className:f,...y}){const k=c||d;return o.jsxs("button",{type:h,disabled:k,"aria-disabled":k,"aria-busy":d||void 0,className:[$a.button,$a[`variant-${a}`],$a[`size-${i}`],f??""].join(" ").trim(),...y,children:[d&&o.jsx(Ga,{size:i==="sm"?14:16,label:"Đang xử lý"}),o.jsx("span",{className:$a.label,children:m})]})}const og="_card_e8wlu_1",ag="_hoverable_e8wlu_14",Cd={card:og,hoverable:ag};function sg({children:a,className:i,style:c,hoverable:d=!1,onClick:h}){return o.jsx("div",{className:[Cd.card,d?Cd.hoverable:"",i??""].join(" ").trim(),style:c,onClick:h,role:h?"button":void 0,tabIndex:h?0:void 0,onKeyDown:h?m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),h())}:void 0,children:a})}const ig="_empty_17213_2",lg="_iconWrap_17213_17",cg="_mascot_17213_29",ug="_title_17213_33",dg="_message_17213_40",hg="_action_17213_48",jr={empty:ig,iconWrap:lg,mascot:cg,title:ug,message:dg,action:hg},Sd="(prefers-reduced-motion: reduce)";function fg(){const[a,i]=p.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(Sd).matches:!1);return p.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const c=window.matchMedia(Sd),d=h=>i(h.matches);return c.addEventListener("change",d),()=>c.removeEventListener("change",d)},[]),a}const nh=p.createContext("system");function pg({value:a,children:i}){return o.jsx(nh.Provider,{value:a,children:i})}function mg(){const a=fg();return p.useContext(nh)==="reduced"||a}const gg="_mascot_1sof1_9",vg={mascot:gg},Va=(a,i,c)=>a+(i-a)*c;function yg({active:a,gazeMode:i,followCursor:c,svgRef:d,motionRef:h,eyesRef:m,gazeRef:f}){p.useEffect(()=>{if(!a){h.current&&(h.current.style.transform=""),m.current&&(m.current.style.transform=""),f.current&&(f.current.style.transform="");return}let y=!1,k=0;const N=performance.now();let x=0,j=0,A=0,H=0,_=0,C=0,M=0,R=0;const L=re=>{if(i!=="full"||!c)return;const te=d.current;if(!te)return;const oe=te.getBoundingClientRect();if(oe.width===0)return;const xe=(re.clientX-(oe.left+oe.width/2))/oe.width,Z=(re.clientY-(oe.top+oe.height/2))/oe.height;_=Math.max(-8,Math.min(8,xe*16)),C=Math.max(-6,Math.min(6,Z*12))};window.addEventListener("mousemove",L);let I=0;const B=()=>{I=window.setTimeout(()=>{if(y||i!=="full"){B();return}const re=(Math.random()-.5)*7,te=(Math.random()-.5)*5,oe=performance.now(),xe=260,Z=W=>{if(y)return;const me=Math.min(1,(W-oe)/xe),Ne=me<.35?me/.35:1-(me-.35)/.65,je=Math.sin(Ne*Math.PI*.5);M=re*je,R=te*je,me<1?requestAnimationFrame(Z):(M=0,R=0,B())};requestAnimationFrame(Z)},1800+Math.random()*2600)};B();let ue=0;const q=()=>{ue=window.setTimeout(()=>{if(y){q();return}const re=m.current,te=performance.now(),oe=190,xe=Z=>{if(y)return;const W=Math.min(1,(Z-te)/oe),me=W<.4,Ne=me?W/.4:(W-.4)/.6,je=Math.sin(Ne*Math.PI*.5),_e=me?1-je*.93:.07+je*.93;re&&(re.style.transform=`scaleY(${_e.toFixed(3)})`),W<1?requestAnimationFrame(xe):(re&&(re.style.transform=""),q())};requestAnimationFrame(xe)},2200+Math.random()*2800)};q();const pe=re=>{if(y)return;const te=(re-N)/1e3,oe=Math.sin(te*1.35)*4.5+Math.sin(te*.52+1.3)*2,xe=Math.sin(te*.42+.6)*1.6;x=Va(x,oe,.055),j=Va(j,xe,.055),h.current&&(h.current.style.transform=`translateY(${x.toFixed(2)}px) rotate(${j.toFixed(2)}deg)`);const Z=i==="full",W=Z?_+M:0,me=Z?C+R:0;A=Va(A,W,.16),H=Va(H,me,.16),f.current&&(f.current.style.transform=`translate(${A.toFixed(2)}px, ${H.toFixed(2)}px)`),k=requestAnimationFrame(pe)};return k=requestAnimationFrame(pe),()=>{y=!0,cancelAnimationFrame(k),window.clearTimeout(I),window.clearTimeout(ue),window.removeEventListener("mousemove",L)}},[a,i,c,d,h,m,f])}const wg={idle:"Linh vật cú BoomBot",thinking:"BoomBot đang suy nghĩ",working:"BoomBot đang làm việc",happy:"Xong rồi!"};function kg({state:a="idle",size:i=64,className:c="",label:d,followCursor:h=!0}){const m=p.useRef(null),f=p.useRef(null),y=p.useRef(null),k=p.useRef(null),N=mg();return yg({active:(a==="idle"||a==="thinking")&&!N,gazeMode:a==="idle"?"full":"off",followCursor:h,svgRef:m,motionRef:f,eyesRef:y,gazeRef:k}),o.jsx("span",{className:[vg.mascot,c].filter(Boolean).join(" "),"data-state":a,style:{width:i,height:i,display:"inline-flex",alignItems:"center",justifyContent:"center"},children:o.jsx("img",{src:"/logo.png",alt:d??wg[a],style:{width:"100%",height:"100%",objectFit:"contain",borderRadius:i>48?"16px":"8px",boxShadow:"0 0 20px rgba(129, 140, 248, 0.35)"}})})}function Nr({icon:a,title:i,message:c,action:d,mascot:h}){return o.jsxs("div",{className:jr.empty,children:[h?o.jsx(kg,{state:h,size:88,className:jr.mascot}):o.jsx("span",{className:jr.iconWrap,"aria-hidden":"true",children:o.jsx(ve,{name:a,size:28})}),o.jsx("h3",{className:jr.title,children:i}),c&&o.jsx("p",{className:jr.message,children:c}),d&&o.jsx("div",{className:jr.action,children:d})]})}const xg="_field_py9ew_1",_g="_label_py9ew_8",Cg="_required_py9ew_14",Sg="_hint_py9ew_18",jg="_error_py9ew_25",Tg="_control_py9ew_33",qn={field:xg,label:_g,required:Cg,hint:Sg,error:jg,control:Tg};function rh({id:a,label:i,error:c,hint:d,required:h=!1,children:m}){const f=`${a}-error`,y=`${a}-hint`;return o.jsxs("div",{className:qn.field,children:[i&&o.jsxs("label",{htmlFor:a,className:qn.label,children:[i,h&&o.jsx("span",{className:qn.required,"aria-hidden":"true",children:" *"})]}),m,d&&!c&&o.jsx("p",{id:y,className:qn.hint,children:d}),c&&o.jsx("p",{id:f,className:qn.error,role:"alert",children:c})]})}function oh(a,i,c){if(i)return`${a}-error`;if(c)return`${a}-hint`}const Eg="_iconButton_1lyp5_1",qi={iconButton:Eg,"size-sm":"_size-sm_1lyp5_39","variant-secondary":"_variant-secondary_1lyp5_43"};function Xn({icon:a,size:i="md",variant:c="ghost",className:d,type:h="button",...m}){return o.jsx("button",{type:h,className:[qi.iconButton,qi[`size-${i}`],qi[`variant-${c}`],d??""].join(" ").trim(),...m,children:o.jsx(ve,{name:a,size:i==="sm"?18:20})})}const Ng="_group_hiaao_5",bg="_key_hiaao_12",jd={group:Ng,key:bg};function ah({keys:a}){return o.jsx("span",{className:jd.group,"aria-label":a.join(" + "),children:a.map((i,c)=>o.jsx(p.Fragment,{children:o.jsx("kbd",{className:jd.key,children:i})},`${c}-${i}`))})}function _t({label:a,error:i,hint:c,id:d,required:h,...m}){const f=p.useId(),y=d??`input-${f}`;return o.jsx(rh,{id:y,label:a,error:i,hint:c,required:h,children:o.jsx("input",{id:y,className:qn.control,"aria-invalid":i?!0:void 0,"aria-describedby":oh(y,i,c),required:h,...m})})}const Lg="_overlay_eag6u_1",Mg="_closing_eag6u_16",Rg="_panel_eag6u_21",Pg="_header_eag6u_41",Ag="_title_eag6u_51",Ig="_body_eag6u_59",Dg="_footer_eag6u_64",En={overlay:Lg,closing:Mg,panel:Rg,header:Pg,title:Ag,body:Ig,footer:Dg},Og=150;function Td(a){const i=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");return Array.from(a.querySelectorAll(i)).filter(c=>c.offsetParent!==null||c===document.activeElement)}function Qn({open:a,onClose:i,title:c,children:d,footer:h,describedBy:m}){const[f,y]=p.useState(a),[k,N]=p.useState(!1),x=p.useRef(null),j=p.useRef(i);j.current=i;const A=p.useId(),H=p.useRef(null);p.useEffect(()=>{if(a){H.current=document.activeElement,y(!0),N(!1);return}if(!f)return;N(!0);const C=window.setTimeout(()=>{var M,R;y(!1),N(!1),(R=(M=H.current)==null?void 0:M.focus)==null||R.call(M)},Og);return()=>window.clearTimeout(C)},[a,f]);const _=p.useCallback(()=>{j.current()},[]);return p.useEffect(()=>{if(!f||k)return;const C=x.current;if(!C)return;(Td(C)[0]??C).focus();const R=I=>{if(I.key==="Escape"){I.stopPropagation(),_();return}if(I.key!=="Tab")return;const B=Td(C);if(B.length===0){I.preventDefault();return}const ue=B[0],q=B[B.length-1];I.shiftKey&&document.activeElement===ue?(I.preventDefault(),q.focus()):!I.shiftKey&&document.activeElement===q&&(I.preventDefault(),ue.focus())};document.addEventListener("keydown",R,!0);const L=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",R,!0),document.body.style.overflow=L}},[f,k,_]),f?ll.createPortal(o.jsx("div",{className:[En.overlay,k?En.closing:""].join(" ").trim(),onMouseDown:C=>{C.target===C.currentTarget&&_()},children:o.jsxs("div",{ref:x,role:"dialog","aria-modal":"true","aria-labelledby":A,"aria-describedby":m,tabIndex:-1,className:[En.panel,k?En.closing:""].join(" ").trim(),children:[o.jsxs("div",{className:En.header,children:[o.jsx("h2",{id:A,className:En.title,children:c}),o.jsx(Xn,{icon:"x","aria-label":"Đóng",onClick:_})]}),o.jsx("div",{className:En.body,children:d}),h&&o.jsx("div",{className:En.footer,children:h})]})}),document.body):null}const Fg="_header_37mfg_1",zg="_text_37mfg_11",Bg="_title_37mfg_15",Kg="_subtitle_37mfg_23",Hg="_actions_37mfg_31",So={header:Fg,text:zg,title:Bg,subtitle:Kg,actions:Hg};function Ug({title:a,subtitle:i,actions:c}){return o.jsxs("header",{className:So.header,children:[o.jsxs("div",{className:So.text,children:[o.jsx("h1",{className:So.title,children:a}),i&&o.jsx("p",{className:So.subtitle,children:i})]}),c&&o.jsx("div",{className:So.actions,children:c})]})}const $g="_group_zc09i_1",Vg="_option_zc09i_10",Wg="_selected_zc09i_41",Qi={group:$g,option:Vg,selected:Wg};function Bt({options:a,value:i,onChange:c,ariaLabel:d,iconOnly:h=!1,disabled:m=!1}){return o.jsx("div",{role:"group","aria-label":d,className:Qi.group,"data-icon-only":h||void 0,children:a.map(f=>{const y=f.value===i;return o.jsxs("button",{type:"button",disabled:m,"aria-pressed":y,"aria-label":h?f.label:void 0,title:h?f.label:void 0,onClick:()=>c(f.value),className:[Qi.option,y?Qi.selected:""].join(" ").trim(),children:[f.icon!==void 0&&o.jsx(ve,{name:f.icon,size:16}),!h&&o.jsx("span",{children:f.label})]},f.value)})})}function Gg({label:a,error:i,hint:c,id:d,required:h,children:m,...f}){const y=p.useId(),k=d??`select-${y}`;return o.jsx(rh,{id:k,label:a,error:i,hint:c,required:h,children:o.jsx("select",{id:k,className:qn.control,"aria-invalid":i?!0:void 0,"aria-describedby":oh(k,i,c),required:h,...f,children:m})})}const qg="_skeleton_1st85_1",Qg="_auroraShimmer_1st85_1",Ed={skeleton:qg,"variant-text":"_variant-text_1st85_9","variant-rect":"_variant-rect_1st85_15","variant-circle":"_variant-circle_1st85_21",auroraShimmer:Qg};function Eo({variant:a="rect",width:i,height:c,className:d}){return o.jsx("span",{"aria-hidden":"true",className:[Ed.skeleton,Ed[`variant-${a}`],d??""].join(" ").trim(),style:{width:i,height:c}})}const Xg="_wrapper_1fgop_1",Yg="_on_1fgop_32",Zg="_knob_1fgop_38",Jg="_label_1fgop_63",Tr={wrapper:Xg,switch:"_switch_1fgop_10",on:Yg,knob:Zg,label:Jg};function Nd({checked:a,onChange:i,label:c,ariaLabel:d,disabled:h=!1,id:m}){const f=o.jsx("button",{id:m,type:"button",role:"switch","aria-checked":a,"aria-label":d,disabled:h,onClick:()=>i(!a),className:[Tr.switch,a?Tr.on:""].join(" ").trim(),children:o.jsx("span",{className:Tr.knob,"aria-hidden":"true"})});return c===void 0?o.jsx("span",{className:Tr.wrapper,children:f}):o.jsxs("label",{className:Tr.wrapper,htmlFor:m,children:[f,o.jsx("span",{className:Tr.label,children:c})]})}const e1="_region_1h4m9_1",t1="_toast_1h4m9_13",n1="_leaving_1h4m9_33",r1="_icon_1h4m9_38",o1="_text_1h4m9_60",a1="_title_1h4m9_64",s1="_message_1h4m9_71",Nn={region:e1,toast:t1,"toast-in":"_toast-in_1h4m9_1",leaving:n1,icon:r1,"tone-info":"_tone-info_1h4m9_44","tone-success":"_tone-success_1h4m9_48","tone-warn":"_tone-warn_1h4m9_52","tone-error":"_tone-error_1h4m9_56",text:o1,title:a1,message:s1},i1=4e3,l1=200,c1={info:"info",success:"check",warn:"warn",error:"x"},sh=p.createContext(null);function Yn(){const a=p.useContext(sh);return a||{push:()=>{}}}function u1({toast:a,onDone:i}){return p.useEffect(()=>{const c=window.setTimeout(()=>i(a.id),i1);return()=>window.clearTimeout(c)},[a.id,i]),o.jsxs("div",{role:"status",className:[Nn.toast,Nn[`tone-${a.tone}`],a.leaving?Nn.leaving:""].join(" ").trim(),children:[o.jsx("span",{className:Nn.icon,"aria-hidden":"true",children:o.jsx(ve,{name:c1[a.tone],size:18})}),o.jsxs("div",{className:Nn.text,children:[o.jsx("p",{className:Nn.title,children:a.title}),a.message&&o.jsx("p",{className:Nn.message,children:a.message})]})]})}function d1({children:a}){const[i,c]=p.useState([]),d=p.useRef(0),h=p.useCallback(k=>{c(N=>N.filter(x=>x.id!==k))},[]),m=p.useCallback(k=>{c(N=>N.map(x=>x.id===k?{...x,leaving:!0}:x)),window.setTimeout(()=>h(k),l1)},[h]),f=p.useCallback(k=>{d.current+=1;const N=d.current;c(x=>[...x.slice(-3),{...k,id:N,leaving:!1}])},[]),y=p.useMemo(()=>({push:f}),[f]);return o.jsxs(sh.Provider,{value:y,children:[a,ll.createPortal(o.jsx("div",{className:Nn.region,"aria-live":"polite","aria-atomic":"false",children:i.map(k=>o.jsx(u1,{toast:k,onDone:m},k.id))}),document.body)]})}const h1={openai:{color:"#000000",darkColor:"#ffffff",d:"M22.28 10.95a10.87 10.87 0 00-.77-3.92 1.34 1.34 0 00-1.63-.79l-.26.06c-1.12.3-2.14.77-3.02 1.39l.1-1.39a10.8 10.8 0 00-2-6.52 1.34 1.34 0 00-1.74-.46l-2.07 1a10.88 10.88 0 00-4.32 4.43c-.47-.28-.97-.53-1.49-.74l-.24-.1a1.34 1.34 0 00-1.77.62 10.87 10.87 0 00-1.07 3.92 10.88 10.88 0 002.83 8.35 1.34 1.34 0 001.62.79l.26-.07c1.12-.3 2.13-.76 3.01-1.38l-.1 1.38a10.8 10.8 0 002.01 6.53 1.34 1.34 0 001.75.46l2.06-1a10.88 10.88 0 004.33-4.43c.47.28.97.53 1.5.74l.23.1a1.34 1.34 0 001.77-.62 10.88 10.88 0 001.07-3.93 10.88 10.88 0 00-2.84-8.35zm-5.71-3.66a8.88 8.88 0 011.66 2.05l-4.7 2.7-3.15-5.46a8.88 8.88 0 016.19.71zm-9.3 1.83a8.88 8.88 0 014.28-1l-1.57 5.24h-6.3a8.88 8.88 0 013.59-4.24zm-4.14 8.7a8.88 8.88 0 01-.15-2.61l4.72-2.73 3.14 5.46a8.88 8.88 0 01-7.71-.12zm2.84 5.76a8.88 8.88 0 01-1.66-2.05l4.72-2.73 3.14 5.45a8.88 8.88 0 01-6.2-.67zm9.3-1.82a8.88 8.88 0 01-4.28 1l1.56-5.24h6.3a8.88 8.88 0 01-3.58 4.24zm4.14-8.7a8.88 8.88 0 01.16 2.6l-4.72 2.73-3.14-5.45a8.88 8.88 0 017.7-.88zm-6.19 1.43h-4.3l2.15-3.73 2.15 3.73zm-4.63 2.68l2.15 3.72-4.3 0 2.15-3.72z"},anthropic:{color:"#D97706",darkColor:"#F59E0B",d:"M17.3041 3.541h-3.6718l6.696 16.918H24Zm-10.6082 0L0 20.459h3.7442l1.3693-3.5527h7.0052l1.3693 3.5528h3.7442L10.5363 3.5409Zm-.3712 10.2232 2.2914-5.9456 2.2914 5.9456Z"},google:{color:"#4285F4",d:"M23.64 12.20c0-.82-.07-1.62-.21-2.39H12v4.51h6.53c-.28 1.46-1.09 2.69-2.32 3.52v2.93h3.76c2.20-2.03 3.47-5.02 3.47-8.57zM12 24c3.27 0 6.01-1.09 8.01-2.94l-3.76-2.93c-1.08.73-2.47 1.16-4.25 1.16-3.27 0-6.04-2.21-7.03-5.18H1.14v3.02C3.14 21.08 7.21 24 12 24zM4.97 14.11c-.25-.75-.39-1.54-.39-2.36s.14-1.61.39-2.36V6.37H1.14C.42 7.82 0 9.47 0 11.25s.42 3.43 1.14 4.88l3.83-2.02zM12 4.79c1.78 0 3.37.61 4.63 1.81l3.47-3.47C18.01 1.09 15.27 0 12 0 7.21 0 3.14 2.92 1.14 6.37l3.83 3.02C5.96 7 8.73 4.79 12 4.79z"},xai:{color:"#000000",darkColor:"#ffffff",d:"M13.79 10.96l7.85-8.82h-1.86l-6.81 7.65-5.44-7.65H.54l8.22 11.57-8.24 9.25h1.86l7.19-8.08 5.76 8.08h6.98l-8.52-11.99zM15.42 20.4l-1.3-1.85L2.83 2.87H5.7l9.9 14.07 1.3 1.85 11.69 16.59h-2.87L15.42 20.4z"},deepseek:{color:"#0066FF",d:"M23.748 4.651c-.254-.124-.364.113-.512.233-.051.04-.094.09-.137.137-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.155-.708-.311-.955-.65-.172-.24-.219-.509-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434 1.202-.422 1.84.027 1.436.633 2.58 1.838 3.393.137.094.172.187.129.323-.082.28-.18.553-.266.833-.055.179-.137.218-.328.14a5.5 5.5 0 0 1-1.737-1.179c-.857-.828-1.631-1.743-2.597-2.46a12 12 0 0 0-.689-.47c-.985-.957.13-1.743.387-1.836.27-.098.094-.433-.778-.428-.872.003-1.67.295-2.687.685a3 3 0 0 1-.465.136 9.6 9.6 0 0 0-2.883-.101c-1.885.21-3.39 1.1-4.497 2.622C.082 8.776-.231 10.854.152 13.02c.403 2.284 1.568 4.175 3.36 5.653 1.857 1.533 3.997 2.284 6.438 2.14 1.482-.085 3.132-.284 4.994-1.86.47.234.962.328 1.78.398.629.058 1.235-.031 1.705-.129.735-.155.684-.836.418-.961-2.155-1.004-1.682-.595-2.112-.926 1.095-1.295 2.768-3.598 3.284-6.733.05-.346.115-.834.108-1.114-.004-.171.035-.238.23-.257a4.2 4.2 0 0 0 1.545-.475c1.397-.763 1.96-2.016 2.093-3.517.02-.23-.004-.467-.247-.588M11.58 18.168c-2.088-1.642-3.101-2.183-3.52-2.16-.39.024-.32.472-.234.763.09.288.207.487.371.74.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.168-1.361-.801-2.5-1.86-3.301-3.306-.775-1.393-1.225-2.888-1.299-4.482-.02-.385.094-.522.477-.592a4.7 4.7 0 0 1 1.53-.038c2.131.311 3.946 1.264 5.467 2.774.868.86 1.525 1.887 2.202 2.89.72 1.066 1.494 2.082 2.48 2.915.348.291.626.513.892.677-.802.09-2.14.109-3.055-.615zm1.001-6.44a.306.306 0 0 1 .415-.287.3.3 0 0 1 .113.074.3.3 0 0 1 .086.214c0 .17-.136.307-.308.307a.303.303 0 0 1-.306-.307m3.11 1.596c-.2.081-.4.151-.591.16a1.25 1.25 0 0 1-.798-.254c-.274-.23-.47-.358-.551-.758a1.7 1.7 0 0 1 .015-.588c.07-.327-.007-.537-.238-.727-.188-.156-.426-.199-.689-.199a.6.6 0 0 1-.254-.078.253.253 0 0 1-.114-.358 1 1 0 0 1 .192-.21c.356-.202.767-.136 1.146.016.352.144.618.408 1.001.782.392.451.462.576.685.915.176.264.336.536.446.848.066.194-.02.353-.25.45"},mistral:{color:"#FF7000",d:"M17.143 3.429v3.428h-3.429v3.429h-3.428V6.857H6.857V3.43H3.43v13.714H0v3.428h10.286v-3.428H6.857v-3.429h3.429v3.429h3.429v-3.429h3.428v3.429h-3.428v3.428H24v-3.428h-3.43V3.429z"},ollama:{color:"#10B981",darkColor:"#34D399",d:"M16.361 10.26a.894.894 0 0 0-.558.47l-.072.148.001.207c0 .193.004.217.059.353.076.193.152.312.291.448.24.238.51.3.872.205a.86.86 0 0 0 .517-.436.752.752 0 0 0 .08-.498c-.064-.453-.33-.782-.724-.897a1.06 1.06 0 0 0-.466 0zm-9.203.005c-.305.096-.533.32-.65.639a1.187 1.187 0 0 0-.06.52c.057.309.31.59.598.667.362.095.632.033.872-.205.14-.136.215-.255.291-.448.055-.136.059-.16.059-.353l.001-.207-.072-.148a.894.894 0 0 0-.565-.472 1.02 1.02 0 0 0-.474.007Zm4.184 2c-.131.071-.223.25-.195.383.031.143.157.288.353.407.105.063.112.072.117.136.004.038-.01.146-.029.243-.02.094-.036.194-.036.222.002.074.07.195.143.253.064.052.076.054.255.059.164.005.198.001.264-.03.169-.082.212-.234.15-.525-.052-.243-.042-.28.087-.355.137-.08.281-.219.324-.314a.365.365 0 0 0-.175-.48.394.394 0 0 0-.181-.033c-.126 0-.207.03-.355.124l-.085.053-.053-.032c-.219-.13-.259-.145-.391-.143a.396.396 0 0 0-.193.032z"},meta:{color:"#0081FB",d:"M6.915 4.03c-1.968 0-3.683 1.28-4.871 3.113C.704 9.208 0 11.883 0 14.449c0 .706.07 1.369.21 1.973a6.624 6.624 0 0 0 .265.86 5.297 5.297 0 0 0 .371.761c.696 1.159 1.818 1.927 3.593 1.927 1.497 0 2.633-.671 3.965-2.444.76-1.012 1.144-1.626 2.663-4.32l.756-1.339.186-.325c.061.1.121.196.183.3l2.152 3.595c.724 1.21 1.665 2.556 2.47 3.314 1.046.987 1.992 1.22 3.06 1.22 1.075 0 1.876-.355 2.455-.843a3.743 3.743 0 0 0 .81-.973c.542-.939.861-2.127.861-3.745 0-2.72-.681-5.357-2.084-7.45-1.282-1.912-2.957-2.93-4.716-2.93-1.047 0-2.088.467-3.053 1.308-.652.57-1.257 1.29-1.82 2.05-.69-.875-1.335-1.547-1.958-2.056-1.182-.966-2.315-1.303-3.454-1.303zm10.16 2.053c1.147 0 2.188.758 2.992 1.999 1.132 1.748 1.647 4.195 1.647 6.4 0 1.548-.368 2.9-1.839 2.9-.58 0-1.027-.23-1.664-1.004-.496-.601-1.343-1.878-2.832-4.358l-.617-1.028a44.908 44.908 0 0 0-1.255-1.98c.07-.109.141-.224.211-.327 1.12-1.667 2.118-2.602 3.358-2.602zm-10.201.553c1.265 0 2.058.791 2.675 1.446.307.327.737.871 1.234 1.579l-1.02 1.566c-.757 1.163-1.882 3.017-2.837 4.338-1.191 1.649-1.81 1.817-2.486 1.817-.524 0-1.038-.237-1.383-.794-.263-.426-.464-1.13-.464-2.046 0-2.221.63-4.535 1.66-6.088.454-.687.964-1.226 1.533-1.533a2.264 2.264 0 0 1 1.088-.285z"},qwen:{color:"#615CED",d:"M23.919 14.545 20.817 9.17l1.47-2.544a.56.56 0 0 0 0-.566l-1.633-2.83a.57.57 0 0 0-.49-.283h-6.207L12.487.402a.57.57 0 0 0-.49-.284H8.732a.56.56 0 0 0-.49.284L5.139 5.775h-2.94a.56.56 0 0 0-.49.284L.077 8.887a.56.56 0 0 0 0 .567L3.18 14.83l-1.47 2.545a.56.56 0 0 0 0 .566l1.634 2.83a.57.57 0 0 0 .49.283h6.205l1.47 2.545a.57.57 0 0 0 .49.284h3.266a.57.57 0 0 0 .49-.284l3.104-5.375h2.94a.57.57 0 0 0 .49-.283l1.634-2.828a.55.55 0 0 0-.004-.568M8.733.686l1.634 2.828-1.634 2.828H21.8L20.164 9.17H7.425L5.63 6.06Zm1.306 19.801-6.205-.002 1.634-2.83h3.265L2.201 6.344h3.267q3.182 5.517 6.367 11.032zm10.124-5.66L18.53 12l-6.532 11.315-1.634-2.83c2.129-3.673 4.25-7.351 6.373-11.028h3.592l3.102 5.374z"},"openai-compatible":{color:"#818CF8",d:"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm1 14.93V18a1 1 0 0 1-2 0v-1.07A7 7 0 0 1 5.07 11H6a1 1 0 0 1 0-2h-.93A7 7 0 0 1 11 3.07V4a1 1 0 0 1 2 0v-.93A7 7 0 0 1 18.93 9H18a1 1 0 0 1 0 2h.93A7 7 0 0 1 13 16.93zM12 7a5 5 0 1 0 5 5 5 5 0 0 0-5-5z"},local:{color:"#10B981",d:"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-1 14H5c-.55 0-1-.45-1-1V7c0-.55.45-1 1-1h14c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1zm-7-8h4v2h-4v-2zm-5 0h3v2H7v-2zm0 4h9v2H7v-2z"}};function f1({kind:a,size:i=24}){const c=document.documentElement.getAttribute("data-theme")!=="light",d=(a||"").toLowerCase().trim(),h=h1[d];if(!h)return o.jsx(ve,{name:"cpu",size:i});let m=h.color;return c&&h.darkColor&&(m=h.darkColor),o.jsx("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:m,"aria-hidden":"true",focusable:"false",style:h.scale?{transform:`scale(${h.scale})`}:void 0,children:o.jsx("path",{d:h.d})})}function p1(a,i){const c=a.toLowerCase(),d=i.toLowerCase();if(c.length===0)return 0;let h=0,m=0,f=-2,y=-1;for(let k=0;k<c.length;k++){const N=c.charAt(k),x=d.indexOf(N,m);if(x===-1)return-1/0;y===-1&&(y=x);let j=10;x===0?j+=20:m1(d,x)&&(j+=10),x===f+1&&(j+=12),j-=Math.max(0,x-m-1),h+=j,f=x,m=x+1}return y===0&&c.length===d.length&&(h+=30),h}function m1(a,i){const c=a[i-1];return c===" "||c==="-"||c==="_"||c==="/"||c==="."||c===":"||c==="("||c==="["}function g1(a,i){const c=i.trim();if(c==="")return a.slice();const d=a.map((h,m)=>{const f=[h.title,h.subtitle??"",h.keywords??""],y=Math.max(...f.map(k=>p1(c,k)));return{action:h,score:y,index:m}}).filter(h=>h.score>-1/0);return d.sort((h,m)=>m.score-h.score||h.index-m.index),d.map(h=>h.action)}function on(a,i,c,d,h,m,f){return{id:a,title:i,subtitle:h,hint:f,icon:d,keywords:m,run:y=>y.navigate(c)}}function v1(a){const i=c=>({title:a(`palette.actions.${c}.title`),subtitle:a(`palette.actions.${c}.subtitle`)});return[{id:"new-chat",...i("newChat"),icon:"plus",keywords:"new chat mới phiên mới",run:c=>c.navigate("/")},on("go-chat",a("palette.actions.goChat.title"),"/","chat",a("palette.actions.goChat.subtitle"),"chat trò chuyện open"),on("go-sessions",a("palette.actions.goSessions.title"),"/sessions","sessions",a("palette.actions.goSessions.subtitle"),"sessions phiên history lịch sử"),on("go-providers",a("palette.actions.goProviders.title"),"/settings/connection","cpu",a("palette.actions.goProviders.subtitle"),"providers model llm openai anthropic ket noi connection"),on("go-schedules",a("palette.actions.goSchedules.title"),"/schedules","calendar",a("palette.actions.goSchedules.subtitle"),"schedules lịch chạy cron schedule"),on("go-tasks",a("palette.actions.goTasks.title"),"/tasks","clock",a("palette.actions.goTasks.subtitle"),"tasks task nền background runner"),on("go-memory",a("palette.actions.goMemory.title"),"/memory","database",a("palette.actions.goMemory.subtitle"),"memory bộ nhớ nhớ recall"),on("go-channels",a("palette.actions.goChannels.title"),"/settings/connection","radio",a("palette.actions.goChannels.subtitle"),"channels kênh chat telegram zalo discord slack pair"),on("go-settings",a("palette.actions.goSettings.title"),"/settings","gear",a("palette.actions.goSettings.subtitle"),"settings cài đặt cấu hình config"),on("go-onboarding",a("palette.actions.goOnboarding.title"),"/welcome","bolt",a("palette.actions.goOnboarding.subtitle"),"onboarding welcome bắt đầu hướng dẫn start"),{id:"channel-pair",...i("channelPair"),icon:"link",keywords:"pair kênh channel kết nối telegram zalo",run:c=>c.navigate("/settings/connection")},{id:"schedule-now",...i("scheduleNow"),icon:"play",keywords:"schedule run now chạy ngay lịch",run:c=>c.navigate("/schedules")},{id:"reconnect-gateway",...i("reconnect"),icon:"refresh",keywords:"reconnect kết nối lại gateway retry",run:async c=>{const d=await c.saveCredentials(c.baseUrl,"");c.toast(d?{tone:"success",title:a("palette.toast.reconnectOk")}:{tone:"error",title:a("palette.toast.reconnectFail")})}},{id:"open-shortcuts",...i("openShortcuts"),hint:"?",icon:"key",keywords:"shortcuts phím tắt keyboard cheatsheet help",run:c=>c.openShortcuts()},{id:"session-delete",...i("sessionDelete"),icon:"trash",keywords:"delete xoá phiên session remove",run:async c=>{const d=c.pathname.match(/^\/chat\/([^/?#]+)/),h=d==null?void 0:d[1];if(!d||!h){c.toast({tone:"warn",title:a("palette.toast.noOpenSession")});return}const m=decodeURIComponent(h);if(!c.client){c.toast({tone:"warn",title:a("palette.toast.notConnected")});return}try{await c.client.sessionsDelete(m),c.toast({tone:"success",title:a("palette.toast.sessionDeleted")}),c.navigate("/")}catch(f){c.toast({tone:"error",title:a("palette.toast.sessionDeleteFail"),message:f instanceof Error?f.message:void 0})}}}]}const y1="_overlay_1inx0_3",w1="_panel_1inx0_19",k1="_searchRow_1inx0_31",x1="_searchInput_1inx0_40",_1="_list_1inx0_57",C1="_row_1inx0_65",S1="_rowIcon_1inx0_84",j1="_active_1inx0_91",T1="_rowText_1inx0_100",E1="_rowTitle_1inx0_108",N1="_rowSubtitle_1inx0_115",b1="_empty_1inx0_123",L1="_keycap_1inx0_131",M1="_footer_1inx0_150",R1="_footerHint_1inx0_160",Ue={overlay:y1,panel:w1,searchRow:k1,searchInput:x1,list:_1,row:C1,rowIcon:S1,active:j1,rowText:T1,rowTitle:E1,rowSubtitle:N1,empty:b1,keycap:L1,footer:M1,footerHint:R1};function P1({actions:a,initialQuery:i="",onClose:c,onRun:d}){const{t:h}=Be(),[m,f]=p.useState(i),[y,k]=p.useState(0),N=p.useRef(null),x=p.useRef(null),j=p.useRef(null),A=p.useId(),H=p.useMemo(()=>g1(a,m),[a,m]);p.useEffect(()=>{k(0)},[m]);const _=H[Math.min(y,Math.max(0,H.length-1))];p.useEffect(()=>{var L;return j.current=document.activeElement,(L=N.current)==null||L.focus(),()=>{const I=j.current;I instanceof HTMLElement&&I.focus({preventScroll:!0})}},[]),p.useEffect(()=>{var I;if(!_)return;const L=(I=x.current)==null?void 0:I.querySelector(`[data-palette-index="${Math.min(y,H.length-1)}"]`);L&&typeof L.scrollIntoView=="function"&&L.scrollIntoView({block:"nearest"})},[y,_,H.length]);const C=()=>{_&&d(_)},M=L=>{L.key==="ArrowDown"?(L.preventDefault(),k(I=>H.length===0?0:(I+1)%H.length)):L.key==="ArrowUp"?(L.preventDefault(),k(I=>H.length===0?0:(I-1+H.length)%H.length)):L.key==="Enter"?(L.preventDefault(),C()):L.key==="Escape"&&(L.preventDefault(),c())},R=_?`${A}-option-${_.id}`:void 0;return o.jsx("div",{className:Ue.overlay,onClick:c,children:o.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":h("palette.ariaLabel"),className:Ue.panel,onClick:L=>L.stopPropagation(),onKeyDown:M,children:[o.jsxs("div",{className:Ue.searchRow,children:[o.jsx(ve,{name:"search",size:18}),o.jsx("input",{ref:N,type:"text",role:"combobox","aria-expanded":"true","aria-controls":A,"aria-activedescendant":R,"aria-autocomplete":"list",className:Ue.searchInput,placeholder:h("palette.placeholder"),value:m,onChange:L=>f(L.target.value)}),m&&o.jsx("span",{className:Ue.keycap,"aria-hidden":"true",children:"esc"})]}),o.jsx("ul",{ref:x,id:A,role:"listbox","aria-label":h("palette.resultsLabel"),className:Ue.list,children:H.map((L,I)=>{const B=L.id===(_==null?void 0:_.id);return o.jsx("li",{role:"option",id:`${A}-option-${L.id}`,"aria-selected":B,children:o.jsxs("button",{type:"button","data-palette-index":I,className:[Ue.row,B?Ue.active:""].join(" ").trim(),onMouseEnter:()=>k(I),onClick:()=>d(L),children:[o.jsx("span",{className:Ue.rowIcon,"aria-hidden":"true",children:o.jsx(ve,{name:L.icon,size:18})}),o.jsxs("span",{className:Ue.rowText,children:[o.jsx("span",{className:Ue.rowTitle,children:L.title}),L.subtitle&&o.jsx("span",{className:Ue.rowSubtitle,children:L.subtitle})]}),L.hint&&o.jsx("span",{className:Ue.keycap,"aria-hidden":"true",children:L.hint})]})},L.id)})}),H.length===0&&o.jsx("div",{className:Ue.empty,children:h("palette.emptyTitle")}),o.jsxs("div",{className:Ue.footer,"aria-hidden":"true",children:[o.jsxs("span",{className:Ue.footerHint,children:[o.jsx("span",{className:Ue.keycap,children:"↑↓"})," ",h("palette.footerNav")]}),o.jsxs("span",{className:Ue.footerHint,children:[o.jsx("span",{className:Ue.keycap,children:"↵"})," ",h("palette.footerChoose")]}),o.jsxs("span",{className:Ue.footerHint,children:[o.jsx("span",{className:Ue.keycap,children:"esc"})," ",h("palette.footerClose")]})]})]})})}const A1="_groups_1gomu_1",I1="_groupTitle_1gomu_13",D1="_list_1gomu_27",O1="_row_1gomu_43",F1="_description_1gomu_69",z1="_note_1gomu_79",Gn={groups:A1,groupTitle:I1,list:D1,row:O1,description:F1,note:z1},B1=[{titleKey:"shortcuts.groupNav",items:[{keys:["g","c"],descKey:"shortcuts.goChat"},{keys:["g","s"],descKey:"shortcuts.goSessions"},{keys:["g","p"],descKey:"shortcuts.goProviders"},{keys:["g","d"],descKey:"shortcuts.goSchedules"},{keys:["g","t"],descKey:"shortcuts.goTasks"},{keys:["g","m"],descKey:"shortcuts.goMemory"},{keys:["g","h"],descKey:"shortcuts.goChannels"},{keys:["g","e"],descKey:"shortcuts.goSettings"},{keys:["g","o"],descKey:"shortcuts.goOnboarding"}]},{titleKey:"shortcuts.groupActions",items:[{keys:["n"],descKey:"shortcuts.newChat"},{keys:["/"],descKey:"shortcuts.focusComposer"},{keys:["j"],descKey:"shortcuts.listNext"},{keys:["k"],descKey:"shortcuts.listPrev"},{keys:["?"],descKey:"shortcuts.openCheatsheet"},{keys:["Esc"],descKey:"shortcuts.closeOverlay"}]}],K1={c:"/",s:"/sessions",p:"/settings/connection",d:"/schedules",t:"/tasks",m:"/memory",e:"/settings",o:"/welcome"},H1=800;function U1(a){return a instanceof HTMLElement?a instanceof HTMLInputElement||a instanceof HTMLTextAreaElement||a.tagName==="SELECT"?!0:a.isContentEditable:!1}function $1(){const a=document.querySelector("[data-chat-input]");a==null||a.focus()}function bd(a){const i=document.activeElement,c=(i instanceof HTMLElement?i.closest("[data-nav-list]"):null)??document.querySelector("[data-nav-list]");if(!(c instanceof HTMLElement))return;const d=Array.from(c.querySelectorAll("[data-nav-item]"));if(d.length===0)return;const h=i instanceof HTMLElement?d.indexOf(i):-1,m=h===-1?a===1?0:d.length-1:(h+a+d.length)%d.length,f=d[m];f==null||f.focus()}function V1({navigate:a,onCheatsheet:i}){const[c,d]=p.useState(!1),h=p.useRef(null),m=p.useRef(a),f=p.useRef(i);m.current=a,f.current=i;const y=p.useCallback(()=>{h.current!==null&&(window.clearTimeout(h.current),h.current=null),d(!1)},[]);return p.useEffect(()=>{const k={current:!1},N=()=>{k.current=!0,d(!0),h.current=window.setTimeout(()=>{k.current=!1,h.current=null,d(!1)},H1)},x=j=>{if(j.metaKey||j.ctrlKey||j.altKey||U1(document.activeElement)||document.querySelector('[role="dialog"]'))return;const A=j.key;if(k.current){const H=A.toLowerCase(),_=K1[H];if(H==="g"){y(),N(),j.preventDefault();return}y(),_!==void 0&&(m.current(_),j.preventDefault());return}if(A==="?"){j.preventDefault(),f.current();return}if(A==="g"||A==="G"){N(),j.preventDefault();return}if(A==="n"||A==="N"){m.current("/"),j.preventDefault();return}if(A==="/"){$1(),j.preventDefault();return}if(A==="j"||A==="J"){bd(1);return}if(A==="k"||A==="K"){bd(-1);return}};return document.addEventListener("keydown",x),()=>{document.removeEventListener("keydown",x),h.current!==null&&(window.clearTimeout(h.current),h.current=null)}},[y]),{awaitingChord:c}}function W1({open:a,onClose:i}){const{t:c}=Be();return o.jsxs(Qn,{open:a,onClose:i,title:c("shortcuts.title"),children:[o.jsx("div",{className:Gn.groups,children:B1.map(d=>o.jsxs("section",{className:Gn.group,children:[o.jsx("h3",{className:Gn.groupTitle,children:c(d.titleKey)}),o.jsx("ul",{className:Gn.list,children:d.items.map(h=>o.jsxs("li",{className:Gn.row,children:[o.jsx("span",{className:Gn.description,children:c(h.descKey)}),o.jsx(ah,{keys:h.keys})]},h.descKey))})]},d.titleKey))}),o.jsx("p",{className:Gn.note,children:c("shortcuts.note")})]})}const G1="_pendingHint_y36pa_9",q1="_pendingText_y36pa_43",Ld={pendingHint:G1,pendingText:q1},rl="boombot:open-shortcuts";function Q1(){const a=sn(),[i,c]=p.useState(!1),d=p.useCallback(()=>c(!0),[]),h=p.useCallback(()=>c(!1),[]),{awaitingChord:m}=V1({navigate:a,onCheatsheet:d});return p.useEffect(()=>{const f=()=>c(!0);return window.addEventListener(rl,f),()=>window.removeEventListener(rl,f)},[]),o.jsxs(o.Fragment,{children:[m&&o.jsxs("div",{className:Ld.pendingHint,role:"status","aria-live":"polite",children:[o.jsx(ah,{keys:["g"]}),o.jsx("span",{className:Ld.pendingText,children:"đang chờ phím…"})]}),o.jsx(W1,{open:i,onClose:h})]})}const X1=p.createContext(null);function Y1({children:a}){const[i,c]=p.useState(!1),[d,h]=p.useState(""),m=sn(),{pathname:f}=Rt(),{t:y}=Be(),{client:k,baseUrl:N,saveCredentials:x}=Mn(),{push:j}=Yn(),A=p.useCallback((L="")=>{h(L),c(!0)},[]),H=p.useCallback(()=>c(!1),[]),_=p.useCallback(()=>{window.dispatchEvent(new CustomEvent(rl))},[]);p.useEffect(()=>{const L=I=>{if((I.metaKey||I.ctrlKey)&&I.key.toLowerCase()==="k"){I.preventDefault(),c(B=>!B);return}I.key==="Escape"&&i&&H()};return document.addEventListener("keydown",L),()=>document.removeEventListener("keydown",L)},[i,H]);const C=p.useMemo(()=>{const L=v1(y);return/^\/chat\/[^/?#]+/.test(f)?L:L.filter(B=>B.id!=="session-delete")},[y,f]),M=p.useCallback(L=>{const I={navigate:m,client:k,openShortcuts:_,toast:j,pathname:f,saveCredentials:x,baseUrl:N};H(),Promise.resolve().then(()=>L.run(I)).catch(B=>{j({tone:"error",title:y("palette.failedToast"),message:B instanceof Error?B.message:void 0})})},[m,k,_,j,f,x,N,H,y]),R=p.useMemo(()=>({openPalette:A,openShortcuts:_}),[A,_]);return o.jsxs(X1.Provider,{value:R,children:[a,i&&o.jsx(P1,{actions:C,initialQuery:d,onClose:H,onRun:M})]})}function Md(a){return new Promise(i=>setTimeout(i,a))}async function ih(a,i,c=15e3){const d=a();await i();const h=Date.now();let m=a();for(;m===d&&Date.now()-h<2e3;)await Md(100),m=a();const f=m??d;if(!f)throw new Error("Không khởi tạo được gateway client");return await Promise.race([f.health(),Md(c).then(()=>{throw new Error("Hết thời gian chờ phản hồi từ gateway")})])}function ol(a){const i=a.trim();if(i==="")return null;try{const c=new URL(i);return c.protocol!=="http:"&&c.protocol!=="https:"?"URL phải bắt đầu bằng http:// hoặc https://":null}catch{return"URL không hợp lệ — ví dụ: http://localhost:8787"}}const Z1="_page_1838v_7",J1="_stepper_1838v_26",ev="_step_1838v_26",tv="_dot_1838v_43",nv="_stepLabel_1838v_63",rv="_current_1838v_68",ov="_done_1838v_79",av="_progress_1838v_89",sv="_progressBar_1838v_96",iv="_stepBody_1838v_108",lv="_slideFwd_1838v_146",cv="_slideBack_1838v_150",uv="_owlMark_1838v_154",dv="_heading_1838v_161",hv="_lead_1838v_177",fv="_note_1838v_185",pv="_actions_1838v_202",mv="_form_1838v_217",gv="_keyRow_1838v_226",vv="_keyGrow_1838v_232",yv="_testRow_1838v_237",wv="_healthLine_1838v_244",kv="_mono_1838v_251",xv="_okIcon_1838v_257",_v="_errIcon_1838v_262",Cv="_errText_1838v_267",Sv="_hintCenter_1838v_271",jv="_successCheck_1838v_279",Tv="_summary_1838v_290",ke={page:Z1,stepper:J1,step:ev,dot:tv,stepLabel:nv,current:rv,done:ov,progress:av,progressBar:sv,stepBody:iv,slideFwd:lv,slideBack:cv,owlMark:uv,heading:dv,lead:hv,note:fv,actions:pv,form:mv,keyRow:gv,keyGrow:vv,testRow:yv,healthLine:wv,mono:kv,okIcon:xv,errIcon:_v,errText:Cv,hintCenter:Sv,successCheck:jv,summary:Tv};function Ev(){return o.jsxs("svg",{viewBox:"0 0 48 48",className:ke.owlMark,fill:"none",stroke:"currentColor",strokeWidth:2.4,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("circle",{cx:"24",cy:"24",r:"17"}),o.jsx("circle",{cx:"17.5",cy:"21",r:"4.2"}),o.jsx("circle",{cx:"30.5",cy:"21",r:"4.2"}),o.jsx("circle",{cx:"17.5",cy:"21",r:"1.2",fill:"currentColor"}),o.jsx("circle",{cx:"30.5",cy:"21",r:"1.2",fill:"currentColor"}),o.jsx("path",{d:"M21 30.5 24 28l3 2.5"})]})}function Nv(){const a=sn(),{t:i}=Be(),c=Mn(),d=Yn(),h=p.useRef(c.client);h.current=c.client;const m=[i("onboarding.stepWelcome"),i("onboarding.stepConnect"),i("onboarding.stepDone")],[f,y]=p.useState(0),[k,N]=p.useState(1),[x,j]=p.useState(c.baseUrl),[A,H]=p.useState(""),[_,C]=p.useState(!1),[M,R]=p.useState(null),[L,I]=p.useState(null),[B,ue]=p.useState(!1),[q,pe]=p.useState(null),re=p.useRef(null),te=W=>{N(W>f?1:-1),y(W)};p.useEffect(()=>{var W;(W=re.current)==null||W.focus()},[f]);const oe=W=>(q==null?void 0:q.ok)===!0,xe=async W=>{W.preventDefault();const me=ol(x);R(me);const je=!c.apiKeySaved&&A.trim()===""?i("onboarding.keyRequired"):null;if(I(je),!(me||je)){ue(!0),pe(null);try{const _e=await ih(()=>h.current,()=>c.saveCredentials(x.trim(),A.trim()));pe(_e),_e.ok&&d.push({tone:"success",title:i("onboarding.testOkToast")})}catch(_e){pe({ok:!1,error:_e instanceof Error?_e.message:i("onboarding.testFailDefault")})}finally{ue(!1)}}},Z=k===1?ke.slideFwd:ke.slideBack;return o.jsxs("div",{className:ke.page,children:[o.jsx(Ug,{title:i("onboarding.title"),subtitle:i("onboarding.subtitle")}),o.jsx("ol",{className:ke.stepper,"aria-label":i("onboarding.stepperAria"),children:m.map((W,me)=>{const Ne=me<f,je=me===f;return o.jsxs("li",{className:`${ke.step} ${Ne?ke.done:""} ${je?ke.current:""}`,"aria-current":je?"step":void 0,children:[o.jsx("span",{className:ke.dot,"aria-hidden":"true",children:Ne?o.jsx(ve,{name:"check",size:14}):o.jsx("span",{children:me+1})}),o.jsx("span",{className:ke.stepLabel,children:W})]},W)})}),o.jsx("div",{className:ke.progress,"aria-hidden":"true",children:o.jsx("div",{className:ke.progressBar,style:{transform:`scaleX(${(f+1)/m.length})`}})}),o.jsxs("div",{className:`${ke.stepBody} ${Z}`,children:[f===0&&o.jsxs("section",{"aria-labelledby":"ob-welcome",children:[o.jsx(Ev,{}),o.jsx("h2",{id:"ob-welcome",ref:re,tabIndex:-1,className:ke.heading,children:i("onboarding.welcomeHeading")}),o.jsx("p",{className:ke.lead,children:i("onboarding.welcomeLead")}),c.apiKeySaved&&o.jsxs("p",{className:ke.note,children:[o.jsx(ve,{name:"info",size:14}),i("onboarding.existingNote")]}),o.jsxs("div",{className:ke.actions,children:[o.jsxs(fe,{variant:"primary",onClick:()=>te(1),size:"lg",children:[i("onboarding.start"),o.jsx(ve,{name:"chevron-right",size:18})]}),c.apiKeySaved&&o.jsx(fe,{variant:"ghost",onClick:()=>a("/"),children:i("onboarding.skipToApp")})]})]}),f===1&&o.jsxs("section",{"aria-labelledby":"ob-connect",children:[o.jsx("h2",{id:"ob-connect",ref:re,tabIndex:-1,className:ke.heading,children:i("onboarding.connectHeading")}),o.jsx("p",{className:ke.lead,children:i("onboarding.connectLead")}),o.jsxs("form",{onSubmit:W=>void xe(W),noValidate:!0,className:ke.form,children:[o.jsx(_t,{label:i("onboarding.urlLabel"),value:x,onChange:W=>{j(W.target.value),M&&R(null),q&&pe(null)},onBlur:()=>R(ol(x)),error:M??void 0,hint:i("onboarding.urlHint"),placeholder:"http://localhost:8787",inputMode:"url",autoComplete:"url"}),o.jsxs("div",{className:ke.keyRow,children:[o.jsx("div",{className:ke.keyGrow,children:o.jsx(_t,{label:c.apiKeySaved?i("onboarding.keyLabelExisting"):i("onboarding.keyLabel"),type:_?"text":"password",value:A,onChange:W=>{H(W.target.value),L&&I(null),q&&pe(null)},error:L??void 0,hint:i("onboarding.keyHint"),placeholder:i("onboarding.keyPlaceholder"),autoComplete:"off"})}),o.jsx(Xn,{icon:_?"eye-off":"eye","aria-label":i(_?"onboarding.hideKeyAria":"onboarding.showKeyAria"),onClick:()=>C(W=>!W)})]}),o.jsxs("div",{className:ke.testRow,children:[o.jsx(fe,{type:"submit",variant:"secondary",loading:B,children:i("onboarding.test")}),q&&o.jsx("span",{className:ke.healthLine,role:"status",children:q.ok?o.jsxs(o.Fragment,{children:[o.jsx(ve,{name:"check",size:16,className:ke.okIcon}),o.jsxs("code",{className:ke.mono,children:[i("onboarding.connectedOk"),q.version?` · v${q.version}`:"",typeof q.wireVersion=="number"?` · wire v${q.wireVersion}`:""]})]}):o.jsxs(o.Fragment,{children:[o.jsx(ve,{name:"warn",size:16,className:ke.errIcon}),o.jsx("span",{className:ke.errText,children:q.error??i("onboarding.unreachable")})]})})]})]}),o.jsxs("div",{className:ke.actions,children:[o.jsxs(fe,{variant:"ghost",onClick:()=>te(0),children:[o.jsx(ve,{name:"arrow-left",size:18}),i("onboarding.back")]}),o.jsxs(fe,{variant:"primary",onClick:()=>te(2),disabled:!oe(),children:[i("onboarding.next"),o.jsx(ve,{name:"chevron-right",size:18})]})]}),!oe()&&o.jsx("p",{className:ke.hintCenter,children:i("onboarding.testFirstHint")})]}),f===2&&o.jsxs("section",{"aria-labelledby":"ob-done",children:[o.jsx("span",{className:ke.successCheck,"aria-hidden":"true",children:o.jsx(ve,{name:"check",size:26})}),o.jsx("h2",{id:"ob-done",ref:re,tabIndex:-1,className:ke.heading,children:i("onboarding.doneHeading")}),o.jsxs("dl",{className:ke.summary,children:[o.jsxs("div",{children:[o.jsx("dt",{children:i("onboarding.summaryUrl")}),o.jsx("dd",{className:ke.mono,children:x.trim()===""?i("onboarding.sameOrigin"):x.trim()})]}),o.jsxs("div",{children:[o.jsx("dt",{children:i("onboarding.summaryKey")}),o.jsx("dd",{className:ke.mono,children:i("onboarding.summaryKeySaved")})]}),(q==null?void 0:q.version)&&o.jsxs("div",{children:[o.jsx("dt",{children:i("onboarding.summaryVersion")}),o.jsxs("dd",{className:ke.mono,children:["v",q.version,typeof q.wireVersion=="number"&&` · wire v${q.wireVersion}`]})]})]}),o.jsxs("div",{className:ke.actions,children:[o.jsxs(fe,{variant:"ghost",onClick:()=>te(1),children:[o.jsx(ve,{name:"arrow-left",size:18}),i("onboarding.back")]}),o.jsxs(fe,{variant:"primary",size:"lg",onClick:()=>a("/"),children:[i("onboarding.enterApp"),o.jsx(ve,{name:"chevron-right",size:18})]})]})]})]},f)]})}const lh="boombot.theme",ch="(prefers-color-scheme: dark)";function bv(){try{const a=localStorage.getItem(lh);if(a==="dark"||a==="light"||a==="system")return a}catch{}return"dark"}function Lv(){return typeof window<"u"&&window.matchMedia(ch).matches}const uh=p.createContext(null);function Mv(){const a=p.useContext(uh);if(!a)throw new Error("useTheme phải dùng trong <ThemeProvider>");return a}function Rv({children:a}){const[i,c]=p.useState(bv),[d,h]=p.useState(Lv);p.useEffect(()=>{const k=window.matchMedia(ch),N=x=>{h(x.matches)};return k.addEventListener("change",N),()=>k.removeEventListener("change",N)},[]);const m=i==="system"?d?"dark":"light":i;p.useEffect(()=>{document.documentElement.dataset.theme=m},[m]);const f=p.useCallback(k=>{c(k);try{localStorage.setItem(lh,k)}catch{}},[]),y=p.useMemo(()=>({mode:i,setMode:f,resolved:m}),[i,f,m]);return o.jsx(uh.Provider,{value:y,children:a})}function Pv(a,i){try{return localStorage.getItem(a)??i}catch{return i}}function Av(a,i){try{localStorage.setItem(a,i)}catch{}}const jo={density:"boombot.uiDensity",motion:"boombot.motion",chatFont:"boombot.chatFont",transcriptWidth:"boombot.transcriptWidth"},To={density:"comfortable",motion:"system",chatFont:"sans",transcriptWidth:"medium"},Iv=["comfortable","compact"],Dv=["sans","system","mono"],Ov=["narrow","medium","wide"],Fv=["system","reduced"];function Wa(a,i,c){const d=Pv(a,c);return i.includes(d)?d:c}function zv(){return{density:Wa(jo.density,Iv,To.density),motion:Wa(jo.motion,Fv,To.motion),chatFont:Wa(jo.chatFont,Dv,To.chatFont),transcriptWidth:Wa(jo.transcriptWidth,Ov,To.transcriptWidth)}}const Bv={...To,set:()=>{}},dh=p.createContext(Bv);function hh(){return p.useContext(dh)}function Kv({children:a}){const[i,c]=p.useState(zv),d=p.useCallback((m,f)=>{Av(jo[m],String(f)),c(y=>({...y,[m]:f}))},[]);p.useEffect(()=>{document.documentElement.dataset.uiDensity=i.density},[i.density]),p.useEffect(()=>{document.documentElement.dataset.chatFont=i.chatFont},[i.chatFont]),p.useEffect(()=>{document.documentElement.dataset.transcriptWidth=i.transcriptWidth},[i.transcriptWidth]),p.useEffect(()=>{const m=document.documentElement;i.motion==="reduced"?m.dataset.motion="reduced":delete m.dataset.motion},[i.motion]);const h=p.useMemo(()=>({...i,set:d}),[i,d]);return o.jsx(dh.Provider,{value:h,children:o.jsx(pg,{value:i.motion,children:a})})}const Hv="_page_granl_10",Uv="_card_granl_38",$v="_sectionHead_granl_61",Vv="_sectionIcon_granl_67",Wv="_sectionTitle_granl_79",Gv="_sectionHint_granl_86",qv="_paneHeader_granl_95",Qv="_paneTitle_granl_99",Xv="_paneSubtitle_granl_106",Yv="_statusRow_granl_115",Zv="_connError_granl_122",Jv="_fieldGrow_granl_133",e0="_keyFieldRow_granl_138",t0="_urlRow_granl_152",n0="_urlHint_granl_164",r0="_actions_granl_171",o0="_savedKeyRow_granl_182",a0="_maskedKey_granl_198",s0="_prefRow_granl_206",i0="_prefText_granl_220",l0="_prefLabel_granl_227",c0="_prefHint_granl_233",u0="_settingRow_granl_243",d0="_settingMain_granl_267",h0="_settingLabel_granl_274",f0="_settingHint_granl_288",p0="_settingControl_granl_294",m0="_serverGrid_granl_304",g0="_serverKey_granl_315",v0="_serverValue_granl_320",y0="_serverSnippet_granl_328",w0="_testResult_granl_349",k0="_mono_granl_358",x0="_testError_granl_364",_0="_footnote_granl_372",C0="_modalText_granl_394",ce={page:Hv,card:Uv,sectionHead:$v,sectionIcon:Vv,sectionTitle:Wv,sectionHint:Gv,paneHeader:qv,paneTitle:Qv,paneSubtitle:Xv,statusRow:Yv,connError:Zv,fieldGrow:Jv,keyFieldRow:e0,urlRow:t0,urlHint:n0,actions:r0,savedKeyRow:o0,maskedKey:a0,prefRow:s0,prefText:i0,prefLabel:l0,prefHint:c0,settingRow:u0,settingMain:d0,settingLabel:h0,settingHint:f0,settingControl:p0,serverGrid:m0,serverKey:g0,serverValue:v0,serverSnippet:y0,testResult:w0,mono:k0,testError:x0,footnote:_0,modalText:C0},S0="~/.boombot/config.json";function Lt({label:a,hint:i,children:c,status:d="real"}){const{t:h}=Be();return o.jsxs("div",{className:ce.settingRow,"data-status":d,children:[o.jsxs("div",{className:ce.settingMain,children:[o.jsxs("span",{className:ce.settingLabel,children:[a,d==="soon"&&o.jsx(gt,{tone:"muted",children:h("settings.statusSoon")})]}),i!==void 0&&o.jsx("span",{className:ce.settingHint,children:i})]}),c!==void 0&&o.jsx("div",{className:ce.settingControl,children:c})]})}function Xi({label:a,hint:i,envKey:c,configPath:d,allowed:h,defaultValue:m,snippet:f}){const{t:y}=Be(),k=Yn(),N=()=>{const x=typeof navigator>"u"?void 0:navigator.clipboard;if(typeof(x==null?void 0:x.writeText)!="function"){k.push({tone:"warn",title:y("settings.serverCopyFail")});return}x.writeText(f).then(()=>k.push({tone:"success",title:y("settings.serverCopiedToast")}),()=>k.push({tone:"warn",title:y("settings.serverCopyFail")}))};return o.jsxs("div",{className:ce.settingRow,"data-status":"server",children:[o.jsxs("div",{className:ce.settingMain,children:[o.jsxs("span",{className:ce.settingLabel,children:[a,o.jsx(gt,{tone:"info",children:y("settings.statusServer")})]}),i!==void 0&&o.jsx("span",{className:ce.settingHint,children:i})]}),o.jsxs("div",{className:ce.serverGrid,children:[o.jsx("span",{className:ce.serverKey,children:y("settings.serverEnvLabel")}),o.jsx("code",{className:ce.serverValue,children:c}),d!==void 0&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:ce.serverKey,children:y("settings.serverConfigLabel")}),o.jsx("code",{className:ce.serverValue,children:d})]}),o.jsx("span",{className:ce.serverKey,children:y("settings.serverFileLabel")}),o.jsx("code",{className:ce.serverValue,children:S0}),h!==void 0&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:ce.serverKey,children:y("settings.serverAllowedLabel")}),o.jsx("code",{className:ce.serverValue,children:h.join(" | ")})]}),o.jsx("span",{className:ce.serverKey,children:y("settings.serverDefaultLabel")}),o.jsx("code",{className:ce.serverValue,children:m})]}),o.jsxs("div",{className:ce.serverSnippet,children:[o.jsx("code",{children:f}),o.jsx(Xn,{icon:"copy","aria-label":`${y("settings.serverCopy")}: ${a}`,onClick:N})]}),o.jsxs("p",{className:ce.footnote,children:[o.jsx(ve,{name:"info",size:14}),y("settings.serverRestartNote")]})]})}function Mt({icon:a,title:i,hint:c,children:d}){const h=i!==void 0||c!==void 0;return o.jsxs("section",{className:ce.card,children:[h&&o.jsxs("div",{className:ce.sectionHead,children:[a!==void 0&&o.jsx("span",{className:ce.sectionIcon,children:o.jsx(ve,{name:a,size:18})}),o.jsxs("div",{children:[i!==void 0&&o.jsx("h2",{className:ce.sectionTitle,children:i}),c!==void 0&&o.jsx("p",{className:ce.sectionHint,children:c})]})]}),d]})}function j0(){const{t:a}=Be(),{mode:i,setMode:c}=Mv(),{density:d,motion:h,chatFont:m,set:f}=hh(),y=[{value:"dark",label:a("settings.themeDark"),icon:"moon"},{value:"light",label:a("settings.themeLight"),icon:"sun"},{value:"system",label:a("settings.themeSystem"),icon:"monitor"}],k=[{value:"comfortable",label:a("settings.densityComfortable")},{value:"compact",label:a("settings.densityCompact")}],N=[{value:"system",label:a("settings.motionSystem")},{value:"reduced",label:a("settings.motionReduced")}],x=[{value:"sans",label:a("settings.fontSans")},{value:"system",label:a("settings.fontSystem")},{value:"mono",label:a("settings.fontMono")}];return o.jsx("div",{children:o.jsxs(Mt,{children:[o.jsx(Lt,{label:a("settings.themeLabel"),hint:a("settings.themeHint"),children:o.jsx(Bt,{ariaLabel:a("settings.themeLabel"),iconOnly:!0,options:y,value:i,onChange:c})}),o.jsx(Lt,{label:a("settings.densityLabel"),hint:a("settings.densityHint"),children:o.jsx(Bt,{ariaLabel:a("settings.densityAria"),options:k,value:d,onChange:j=>f("density",j)})}),o.jsx(Lt,{label:a("settings.fontLabel"),hint:a("settings.fontHint"),children:o.jsx(Bt,{ariaLabel:a("settings.fontLabel"),options:x,value:m,onChange:j=>f("chatFont",j)})}),o.jsx(Lt,{label:a("settings.motionLabel"),hint:a("settings.motionHint"),children:o.jsx(Bt,{ariaLabel:a("settings.motionLabel"),options:N,value:h,onChange:j=>f("motion",j)})})]})})}function T0(){const{t:a}=Be(),{chatFont:i,transcriptWidth:c,set:d}=hh(),h=[{value:"sans",label:a("settings.fontSans")},{value:"system",label:a("settings.fontSystem")},{value:"mono",label:a("settings.fontMono")}],m=[{value:"narrow",label:a("settings.widthNarrow")},{value:"medium",label:a("settings.widthMedium")},{value:"wide",label:a("settings.widthWide")}];return o.jsx("div",{children:o.jsxs(Mt,{icon:"chat",title:a("settings.sectionChat"),hint:a("settings.sectionChatHint"),children:[o.jsx(Lt,{label:a("settings.chatFontLabel"),hint:a("settings.chatFontHint"),children:o.jsx(Bt,{ariaLabel:a("settings.chatFontLabel"),options:h,value:i,onChange:f=>d("chatFont",f)})}),o.jsx(Lt,{label:a("settings.transcriptWidthLabel"),hint:a("settings.transcriptWidthHint"),children:o.jsx(Bt,{ariaLabel:a("settings.transcriptWidthLabel"),options:m,value:c,onChange:f=>d("transcriptWidth",f)})})]})})}const E0="_enterStagger_s1e1t_23",N0="_sectionActions_s1e1t_29",b0="_grid_s1e1t_36",L0="_card_s1e1t_42",M0="_cardHead_s1e1t_49",R0="_brandMark_s1e1t_56",P0="_cardTitle_s1e1t_68",A0="_kind_s1e1t_81",I0="_blurb_s1e1t_87",D0="_cardActions_s1e1t_95",O0="_skeletonCard_s1e1t_105",F0="_centerRow_s1e1t_112",z0="_inlineError_s1e1t_127",B0="_pairBody_s1e1t_142",K0="_codeRow_s1e1t_148",H0="_pairCode_s1e1t_159",U0="_steps_s1e1t_168",$0="_stepNum_s1e1t_183",V0="_pollStatus_s1e1t_211",W0="_linkButton_s1e1t_231",G0="_successCheck_s1e1t_246",q0="_connectForm_s1e1t_259",Q0="_oauthWaiting_s1e1t_260",X0="_callbackUrl_s1e1t_273",Y0="_connectWarning_s1e1t_277",Z0="_connectActions_s1e1t_286",J0="_connectError_s1e1t_292",ey="_qrCode_s1e1t_301",ty="_unpairBody_s1e1t_311",ny="_brandContainer_s1e1t_351",ry="_brandGlow_s1e1t_377",oy="_cardConnected_s1e1t_393",we={enterStagger:E0,sectionActions:N0,grid:b0,card:L0,cardHead:M0,brandMark:R0,cardTitle:P0,kind:A0,blurb:I0,cardActions:D0,skeletonCard:O0,centerRow:F0,inlineError:z0,pairBody:B0,codeRow:K0,pairCode:H0,steps:U0,stepNum:$0,pollStatus:V0,linkButton:W0,successCheck:G0,connectForm:q0,oauthWaiting:Q0,callbackUrl:X0,connectWarning:Y0,connectActions:Z0,connectError:J0,qrCode:ey,unpairBody:ty,brandContainer:ny,brandGlow:ry,cardConnected:oy},ay={telegram:"channels.blurbTelegram",whatsapp:"channels.blurbWhatsapp",discord:"channels.blurbDiscord",slack:"channels.blurbSlack",zalo:"channels.blurbZalo"},Rd=["telegram","zalo","whatsapp","discord","slack","messenger","tiktok"];function sy(a,i){switch(a.status){case"connected":return{tone:"accent",label:i("channels.statusConnected")};case"pending":return{tone:"warn",label:i("channels.statusPending")};case"error":return{tone:"danger",label:i("channels.statusError")};default:return{tone:"muted",label:a.configured?i("channels.statusConfigured"):i("channels.statusNotConfigured")}}}const Pd=3e3,iy=100;function ly(){const a=sn(),{t:i}=Be(),{client:c}=Mn(),d=Yn(),[h,m]=p.useState(null),[f,y]=p.useState(!0),[k,N]=p.useState(null),[x,j]=p.useState(null),[A,H]=p.useState(!1),[_,C]=p.useState(null),[M,R]=p.useState(!1),[L,I]=p.useState(0),[B,ue]=p.useState(null),[q,pe]=p.useState(""),[re,te]=p.useState(null),[oe,xe]=p.useState(!1),[Z,W]=p.useState(null),[me,Ne]=p.useState(""),[je,_e]=p.useState(""),[$,ae]=p.useState(""),[V,S]=p.useState("oa"),[D,P]=p.useState(!1),[U,X]=p.useState(null),[he,Ce]=p.useState(null),[ge,be]=p.useState(null),[Ve,Rn]=p.useState(!1),Pr=p.useRef(null);Pr.current=x;const Ze=p.useCallback(async()=>{if(!c){y(!1);return}y(!0),N(null);try{const Se=[...await c.channelsList()].sort((Me,Ct)=>{const vt=Rd.indexOf(Me.kind),at=Rd.indexOf(Ct.kind);return(vt===-1?99:vt)-(at===-1?99:at)});m(Se)}catch(ne){N(ne instanceof Error?ne.message:i("channels.loadError"))}finally{y(!1)}},[c,i]);p.useEffect(()=>{Ze()},[Ze]);const Kt=p.useCallback(async ne=>{if(c){C(null),R(!1),I(0),H(!0);try{const{code:Se}=await c.channelsPair(ne.kind);j({channel:ne,code:Se,startedAt:Date.now(),done:!1})}catch(Se){C(Se instanceof Error?Se.message:i("channels.pairCreateError"))}finally{H(!1)}}},[c,i]),Zn=p.useCallback(()=>{j(null),C(null),R(!1),H(!1)},[]);p.useEffect(()=>{if(!x||x.done)return;const ne=window.setInterval(()=>{I(Math.floor((Date.now()-x.startedAt)/1e3))},1e3);return()=>window.clearInterval(ne)},[x]),p.useEffect(()=>{if(!x||x.done||!c)return;let ne=0,Se=!1;const Me=window.setInterval(async()=>{ne+=1;try{const Ct=await c.channelsList();if(Se)return;const vt=Ct.find(at=>at.id===x.channel.id);vt&&vt.status==="connected"?(window.clearInterval(Me),j(at=>at&&{...at,done:!0}),d.push({tone:"success",title:i("channels.pairedToast",{name:x.channel.name})}),Ze()):ne>=iy&&(window.clearInterval(Me),Se||R(!0))}catch{}},Pd);return()=>{Se=!0,window.clearInterval(Me)}},[x,c,Ze,d,i]);const Ro=p.useCallback(async()=>{var Se;const ne=(Se=Pr.current)==null?void 0:Se.code;if(ne)try{await navigator.clipboard.writeText(ne),d.push({tone:"success",title:i("channels.copiedToast")})}catch{const Me=document.createElement("textarea");Me.value=ne,document.body.appendChild(Me),Me.select();try{document.execCommand("copy"),d.push({tone:"success",title:i("channels.copiedToast")})}catch{d.push({tone:"error",title:i("channels.copyFailToast")})}document.body.removeChild(Me)}},[d,i]),Ar=p.useCallback(ne=>{W(ne),Ne(""),_e(""),ae(""),S("oa"),X(null),Ce(null),be(null),Rn(!1)},[]),Jn=p.useCallback(()=>{D||(W(null),Ce(null),be(null),X(null))},[D]),er=p.useCallback(async(ne="web")=>{if(!c||!Z)return;X(null),P(!0);let Se=null;Z.kind==="zalo"&&V==="oa"&&ne==="web"&&(Se=window.open("about:blank","boombot-zalo-oauth","popup,width=520,height=720"));try{const Me=Z.kind==="telegram"?await c.channelsConnect({channel:"telegram",botToken:me.trim()}):await c.channelsConnect(V==="personal"?{channel:"zalo",mode:"personal"}:{channel:"zalo",mode:"oa",appId:je.trim()||void 0,appSecret:$.trim()||void 0,redirectUri:new URL("/v1/channels/zalo/oauth/callback",c.baseUrl||window.location.origin).toString()});if(Me.status==="connected"){W(null),await Ze(),Z.kind==="telegram"&&await Kt(Z);return}if(Me.status==="qr_required"){Se==null||Se.close(),be(Me.qrDataUrl);return}if(Ce(Me.authorizationUrl),ne==="web"&&Se)Se.location.href=Me.authorizationUrl;else if(ne==="qr"){const{default:Ct}=await Lr(async()=>{const{default:vt}=await import("./browser-Bnt73-Ub.js").then(at=>at.b);return{default:vt}},[]);be(await Ct.toDataURL(Me.authorizationUrl,{width:240,margin:1}))}}catch(Me){Se==null||Se.close(),X(Me instanceof Error?Me.message:i("channels.connectFail"))}finally{P(!1)}},[me,c,Z,Ze,Kt,i,je,$,V]);p.useEffect(()=>{if(!he&&!ge||!Z||!c||Ve)return;const ne=window.setInterval(async()=>{try{const Se=(await c.channelsList()).find(Me=>Me.kind===Z.kind);if((Se==null?void 0:Se.status)!=="connected")return;window.clearInterval(ne),Rn(!0),d.push({tone:"success",title:i("channels.connectedToast",{name:Z.name})}),Ze(),Z.kind==="zalo"&&V==="personal"&&(W(null),Kt(Z))}catch{}},Pd);return()=>window.clearInterval(ne)},[he,c,Ve,Z,Ze,Kt,ge,i,d,V]);const Pn=p.useCallback(ne=>{ue(ne),pe(""),te(null)},[]),Qt=p.useCallback(()=>{oe||(ue(null),pe(""),te(null))},[oe]),Ir=p.useCallback(async()=>{if(!B||!c)return;const ne=q.trim();if(ne===""){te(i("channels.unpairRequired"));return}xe(!0),te(null);try{await c.channelsUnpair(B.kind,ne),d.push({tone:"success",title:i("channels.unpairedToast",{name:B.name})}),ue(null),pe(""),Ze()}catch(Se){te(Se instanceof Error?Se.message:i("channels.unpairFailDefault"))}finally{xe(!1)}},[c,B,q,d,Ze,i]);return c?o.jsxs(Mt,{icon:"channels",title:i("settings.sectionChannels"),hint:i("settings.sectionChannelsHint"),children:[o.jsx("div",{className:we.sectionActions,children:o.jsx(fe,{variant:"secondary",onClick:()=>void Ze(),disabled:f,children:i("channels.reload")})}),f&&o.jsx("div",{className:we.grid,"aria-busy":"true","aria-label":i("channels.loadingAria"),children:[0,1,2,3].map(ne=>o.jsx(Eo,{variant:"rect",className:we.skeletonCard},ne))}),k&&!f&&o.jsx(Nr,{icon:"warn",title:i("channels.loadErrorTitle"),message:k,action:o.jsx(fe,{variant:"secondary",onClick:()=>void Ze(),children:i("channels.reload")})}),h&&!f&&!k&&o.jsx("div",{className:we.grid,children:h.map((ne,Se)=>{const Me=sy(ne,i),Ct=ne.status==="connected",vt=ne.status==="pending";return o.jsxs(sg,{className:`${we.card} ${we.enterStagger} ${Ct?we.cardConnected:""}`,style:{"--i":Math.min(Se,7)},children:[o.jsxs("div",{className:we.cardHead,children:[o.jsxs("div",{className:we.brandContainer,children:[o.jsx("div",{className:we.brandGlow,style:{backgroundColor:`var(--brand-${ne.kind}, var(--color-accent))`}}),o.jsx("span",{className:we.brandMark,children:o.jsx(Jm,{kind:ne.kind,size:28})})]}),o.jsxs("div",{className:we.cardTitle,children:[o.jsx("h2",{children:ne.name}),o.jsx("span",{className:we.kind,children:ne.kind})]}),o.jsxs(gt,{tone:Me.tone,children:[o.jsx("span",{className:vt?"status-dot status-dot--pulse":"status-dot","aria-hidden":"true"}),Me.label]})]}),o.jsx("p",{className:we.blurb,children:i(ay[ne.kind]??"channels.blurbGeneric")}),o.jsx("div",{className:we.cardActions,children:Ct&&ne.kind==="telegram"?o.jsx(fe,{variant:"secondary",onClick:()=>Pn(ne),children:i("channels.unpairBtn")}):Ct?null:ne.kind==="telegram"||ne.kind==="zalo"?o.jsx(fe,{variant:"primary",onClick:()=>Ar(ne),children:i("channels.connectBtn")}):o.jsx(fe,{variant:"secondary",disabled:!0,children:i("channels.serverConfigBtn")})})]},ne.id)})}),o.jsxs(Qn,{open:Z!==null,onClose:Jn,title:Z?i("channels.connectModalTitle",{name:Z.name}):i("channels.connectBtn"),footer:o.jsx(fe,{variant:"ghost",onClick:Jn,disabled:D,children:i("channels.close")}),children:[Z&&!he&&!ge&&!Ve&&o.jsxs("form",{className:we.connectForm,onSubmit:ne=>{ne.preventDefault(),er("web")},children:[Z.kind==="telegram"?o.jsxs(o.Fragment,{children:[o.jsx("p",{children:i("channels.telegramConnectHelp")}),o.jsx("a",{href:"https://t.me/BotFather",target:"_blank",rel:"noreferrer",children:i("channels.openBotFather")}),o.jsx(_t,{label:i("channels.botTokenLabel"),type:"password",value:me,onChange:ne=>Ne(ne.target.value),autoComplete:"off",required:!0}),o.jsx(fe,{type:"submit",variant:"primary",loading:D,disabled:me.trim()==="",children:i("channels.connectBtn")})]}):o.jsxs(o.Fragment,{children:[o.jsx(Bt,{ariaLabel:i("channels.zaloModeLabel"),value:V,onChange:S,options:[{value:"oa",label:i("channels.zaloModeOa")},{value:"personal",label:i("channels.zaloModePersonal")}]}),V==="oa"?o.jsxs(o.Fragment,{children:[o.jsx("p",{children:i("channels.zaloConnectHelp")}),o.jsxs("p",{children:[i("channels.zaloCallbackLabel")," ",o.jsx("code",{className:we.callbackUrl,children:new URL("/v1/channels/zalo/oauth/callback",c.baseUrl||window.location.origin).toString()})]}),o.jsx(_t,{label:i("channels.zaloAppIdLabel"),value:je,onChange:ne=>_e(ne.target.value),autoComplete:"off"}),o.jsx(_t,{label:i("channels.zaloAppSecretLabel"),type:"password",value:$,onChange:ne=>ae(ne.target.value),autoComplete:"off"}),o.jsxs("div",{className:we.connectActions,children:[o.jsx(fe,{type:"submit",variant:"primary",loading:D,children:i("channels.connectWebBtn")}),o.jsx(fe,{variant:"secondary",onClick:()=>void er("qr"),disabled:D,children:i("channels.showQrBtn")})]})]}):o.jsxs(o.Fragment,{children:[o.jsx("p",{className:we.connectWarning,children:i("channels.zaloPersonalWarning")}),o.jsx(fe,{type:"submit",variant:"primary",loading:D,children:i("channels.zaloPersonalQrBtn")})]})]}),U&&o.jsx("p",{className:we.connectError,role:"alert",children:U})]}),Z&&(he||ge)&&!Ve&&o.jsxs("div",{className:we.oauthWaiting,role:"status","aria-live":"polite",children:[ge&&o.jsx("img",{className:we.qrCode,src:ge,alt:i(V==="personal"?"channels.personalQrAlt":"channels.qrAlt")}),o.jsx(Ga,{}),o.jsx("p",{children:i("channels.oauthWaiting")}),he&&o.jsx("a",{href:he,target:"_blank",rel:"noreferrer",children:i("channels.openZaloAuth")})]}),Z&&Ve&&o.jsxs("div",{className:we.centerRow,role:"status",children:[o.jsx("span",{className:we.successCheck,children:o.jsx(ve,{name:"check",size:22})}),o.jsx("p",{children:i("channels.connectedToast",{name:Z.name})}),o.jsx(fe,{variant:"primary",onClick:Jn,children:i("channels.done")})]})]}),o.jsxs(Qn,{open:x!==null,onClose:Zn,title:x?i("channels.pairModalTitle",{name:x.channel.name}):i("channels.pairModalGeneric"),footer:x&&!x.done?o.jsx(fe,{variant:"ghost",onClick:Zn,children:i("channels.close")}):void 0,children:[A&&o.jsxs("div",{className:we.centerRow,role:"status",children:[o.jsx(Ga,{}),o.jsx("p",{children:i("channels.creatingCode")})]}),_&&!A&&o.jsxs("div",{className:we.inlineError,role:"alert",children:[o.jsx(ve,{name:"warn",size:18}),o.jsx("p",{children:_}),x&&o.jsx(fe,{variant:"secondary",onClick:()=>void Kt(x.channel),children:i("channels.retry")})]}),x&&!A&&!_&&!x.done&&o.jsxs("div",{className:we.pairBody,children:[o.jsxs("div",{className:we.codeRow,children:[o.jsx("code",{className:we.pairCode,"aria-label":i("channels.codeAria",{code:x.code}),children:x.code}),o.jsx(Xn,{icon:"copy","aria-label":i("channels.copyAria"),onClick:()=>void Ro()})]}),o.jsxs("ol",{className:we.steps,children:[o.jsxs("li",{children:[o.jsx("span",{className:we.stepNum,children:"1"}),o.jsx("p",{children:i("channels.step1",{name:x.channel.name})})]}),o.jsxs("li",{children:[o.jsx("span",{className:we.stepNum,children:"2"}),o.jsxs("p",{children:[i("channels.step2Before")," ",o.jsx("code",{children:x.code})," ",i("channels.step2After")," ",o.jsx("em",{children:i("channels.step2Em")})," ",i("channels.step2Tail")]})]}),o.jsxs("li",{children:[o.jsx("span",{className:we.stepNum,children:"3"}),o.jsx("p",{children:i("channels.step3")})]})]}),o.jsx("div",{className:we.pollStatus,role:"status","aria-live":"polite",children:M?o.jsxs(o.Fragment,{children:[o.jsx(ve,{name:"warn",size:18}),o.jsxs("p",{children:[i("channels.expiredMessage")," ",o.jsx("button",{type:"button",className:we.linkButton,onClick:()=>void Kt(x.channel),children:i("channels.newCode")})]})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ga,{}),o.jsxs("p",{children:[i("channels.waiting"),L>0&&` (${L}s)`]})]})})]}),x&&x.done&&o.jsxs("div",{className:we.centerRow,role:"status",children:[o.jsx("span",{className:we.successCheck,children:o.jsx(ve,{name:"check",size:22})}),o.jsx("p",{children:i("channels.successMessage",{name:x.channel.name})}),o.jsx(fe,{variant:"primary",onClick:Zn,children:i("channels.done")})]})]}),o.jsx(Qn,{open:B!==null,onClose:Qt,title:B?i("channels.unpairModalTitle",{name:B.name}):i("channels.unpairModalGeneric"),footer:o.jsxs(o.Fragment,{children:[o.jsx(fe,{variant:"ghost",onClick:Qt,disabled:oe,children:i("channels.cancelBtn")}),o.jsx(fe,{variant:"danger",onClick:()=>void Ir(),loading:oe,children:i("channels.unpairBtn")})]}),children:B&&o.jsxs("div",{className:we.unpairBody,children:[o.jsx("p",{children:i("channels.unpairBody",{name:B.name})}),o.jsx(_t,{label:i("channels.unpairInputLabel"),value:q,onChange:ne=>{pe(ne.target.value),re&&te(null)},error:re??void 0,hint:i("channels.unpairInputHint"),placeholder:i("channels.unpairInputPh"),inputMode:"numeric",autoComplete:"off"})]})})]}):o.jsx(Mt,{icon:"channels",title:i("settings.sectionChannels"),hint:i("settings.sectionChannelsHint"),children:o.jsx(Nr,{icon:"wifi-off",title:i("channels.notConnectedTitle"),message:i("channels.notConnectedMessage"),action:o.jsx(fe,{variant:"primary",onClick:()=>a("/welcome"),children:i("channels.gotoOnboarding")})})})}const cy="_bar_1h70m_10",uy="_list_1h70m_18",dy="_row_1h70m_23",hy="_info_1h70m_38",fy="_titleRow_1h70m_46",py="_title_1h70m_46",my="_meta_1h70m_61",gy="_mono_1h70m_69",vy="_errorText_1h70m_75",yy="_testResult_1h70m_81",wy="_rowActions_1h70m_89",ky="_skeletons_1h70m_97",xy="_form_1h70m_105",_y="_passwordWrap_1h70m_111",Cy="_passwordToggle_1h70m_115",Sy="_formActions_1h70m_137",jy="_deleteWarn_1h70m_143",Ty="_rowActive_1h70m_198",Ey="_providerLogoBox_1h70m_206",qe={bar:cy,list:uy,row:dy,info:hy,titleRow:fy,title:py,meta:my,mono:gy,errorText:vy,testResult:yy,rowActions:wy,skeletons:ky,form:xy,passwordWrap:_y,passwordToggle:Cy,formActions:Sy,deleteWarn:jy,rowActive:Ty,providerLogoBox:Ey},Yi={openai:"providers.kindOpenai",anthropic:"providers.kindAnthropic",google:"providers.kindGoogle",mistral:"providers.kindMistral",xai:"providers.kindXai",deepseek:"providers.kindDeepseek","openai-compatible":"providers.kindOpenaiCompatible",local:"providers.kindLocal"},Ad={name:"",kind:"openai",baseUrl:"",apiKey:"",model:""};function Ny(){const a=sn(),{t:i}=Be(),{client:c,connected:d}=Mn(),h=Yn(),[m,f]=p.useState([]),[y,k]=p.useState(!0),[N,x]=p.useState(null),[j,A]=p.useState({}),[H,_]=p.useState(!1),[C,M]=p.useState(null),[R,L]=p.useState(Ad),[I,B]=p.useState({}),[ue,q]=p.useState(!1),[pe,re]=p.useState(!1),[te,oe]=p.useState(null),[xe,Z]=p.useState(""),[W,me]=p.useState(!1),Ne=p.useCallback(async()=>{if(c){k(!0),x(null);try{f(await c.providersList())}catch(P){x(P instanceof Error?P.message:i("providers.loadError"))}finally{k(!1)}}},[c,i]);p.useEffect(()=>{Ne()},[Ne]);const je=()=>{M(null),L(Ad),B({}),re(!1),_(!0)},_e=P=>{var U;M(P),L({name:P.name,kind:P.kind,baseUrl:P.baseUrl??"",apiKey:"",model:P.model??((U=P.models)==null?void 0:U[0])??""}),B({}),re(!1),_(!0)},$=p.useCallback(()=>{const P={};R.name.trim()||(P.name=i("providers.nameRequired"));const U=R.baseUrl.trim();if(!U&&(R.kind==="openai-compatible"||R.kind==="local"))P.baseUrl=i("providers.urlRequired");else if(U)try{const X=new URL(U);X.protocol!=="http:"&&X.protocol!=="https:"&&(P.baseUrl=i("providers.urlProtocol"))}catch{P.baseUrl=i("providers.urlInvalid")}return R.kind!=="local"&&!R.apiKey&&!(C!=null&&C.hasKey)&&(P.apiKey=i("providers.keyRequired")),R.model.trim()||(P.model=i("providers.modelRequired")),P},[C,R,i]),ae=async P=>{P.preventDefault();const U=$();if(B(U),!(Object.keys(U).length>0)&&c){q(!0);try{const X={id:C==null?void 0:C.id,name:R.name.trim(),kind:R.kind,baseUrl:R.baseUrl.trim()||void 0,model:R.model.trim()||void 0,apiKey:R.apiKey||void 0};await c.providersSave(X),await Ne(),_(!1),h.push({tone:"success",title:i(C?"providers.savedToast":"providers.addedToast")})}catch(X){h.push({tone:"error",title:i("providers.saveFailToast"),message:X instanceof Error?X.message:void 0})}finally{q(!1)}}},V=async P=>{var U;if(!(!c||((U=j[P.id])==null?void 0:U.status)==="pending")){A(X=>({...X,[P.id]:{status:"pending"}}));try{const X=await c.providersTest(P.id);A(he=>({...he,[P.id]:{status:"done",result:X}})),X.ok?h.push({tone:"success",title:i("providers.testOkToast",{ms:X.latencyMs})}):h.push({tone:"error",title:i("providers.testFailToast"),message:X.error??i("providers.testFailReason")})}catch(X){const he={ok:!1,latencyMs:0,error:X instanceof Error?X.message:i("providers.unknownError")};A(Ce=>({...Ce,[P.id]:{status:"done",result:he}})),h.push({tone:"error",title:i("providers.testFailToast")})}}},S=async P=>{if(c)try{P.active?(await c.providersDeactivate(P.id),f(U=>U.map(X=>X.id===P.id?{...X,active:!1}:X)),h.push({tone:"success",title:i("providers.deactivatedToast",{name:P.name})})):(await c.providersActivate(P.id),f(U=>U.map(X=>({...X,active:X.id===P.id}))),h.push({tone:"success",title:i("providers.activatedToast",{name:P.name})}))}catch(U){h.push({tone:"error",title:i("providers.toggleFailToast"),message:U instanceof Error?U.message:void 0})}},D=async()=>{if(!(!c||!te)){me(!0);try{await c.providersDelete(te.id),f(P=>P.filter(U=>U.id!==te.id)),oe(null),Z(""),h.push({tone:"success",title:i("providers.deletedToast",{name:te.name})})}catch(P){h.push({tone:"error",title:i("providers.deleteFailToast"),message:P instanceof Error?P.message:void 0})}finally{me(!1)}}};return d?o.jsxs(Mt,{icon:"cpu",title:i("providers.title"),hint:i("providers.subtitle"),children:[o.jsxs("div",{className:qe.bar,children:[o.jsx(fe,{variant:"secondary",size:"sm",onClick:()=>void Ne(),disabled:y,children:i("providers.reload")}),o.jsx(fe,{variant:"primary",size:"sm",onClick:je,children:i("providers.add")})]}),y&&o.jsx("div",{className:qe.skeletons,"aria-busy":"true","aria-label":i("providers.loadingAria"),children:[0,1].map(P=>o.jsx(Eo,{variant:"rect",height:44},P))}),!y&&N&&o.jsx(Nr,{icon:"warn",title:i("providers.loadErrorTitle"),message:N,action:o.jsx(fe,{variant:"secondary",onClick:()=>void Ne(),children:i("providers.retry")})}),!y&&!N&&m.length===0&&o.jsx(Nr,{icon:"cpu",title:i("providers.emptyTitle"),message:i("providers.emptyMessage"),action:o.jsx(fe,{variant:"primary",onClick:je,children:i("providers.addEmptyCta")})}),!y&&!N&&m.length>0&&o.jsx("div",{className:qe.list,children:m.map(P=>{var X,he,Ce,ge;const U=j[P.id];return o.jsxs("article",{className:`${qe.row} ${P.active?qe.rowActive:""}`,children:[o.jsx("div",{className:qe.providerLogoBox,children:o.jsx(f1,{kind:P.kind,size:26})}),o.jsxs("div",{className:qe.info,children:[o.jsxs("div",{className:qe.titleRow,children:[o.jsx("h3",{className:qe.title,children:P.name}),P.active&&o.jsx(gt,{tone:"accent",children:i("providers.badgeActive")}),o.jsx(gt,{tone:"muted",children:i(Yi[P.kind])}),P.hasKey?o.jsx(gt,{tone:"info",children:i("providers.badgeHasKey")}):o.jsx(gt,{tone:"warn",children:i("providers.badgeNoKey")})]}),o.jsxs("p",{className:qe.meta,children:[P.model!==void 0||(X=P.models)!=null&&X.length?o.jsxs(o.Fragment,{children:[i("providers.metaModel",{model:P.model??((he=P.models)==null?void 0:he[0])??""}),P.model===void 0&&(((Ce=P.models)==null?void 0:Ce.length)??0)>1?` ${i("providers.metaMore",{n:(((ge=P.models)==null?void 0:ge.length)??1)-1})}`:""]}):i("providers.metaNoModel"),P.baseUrl?` · ${P.baseUrl}`:""]}),(U==null?void 0:U.status)==="done"&&o.jsxs("div",{className:qe.testResult,role:"status",children:[o.jsx(gt,{tone:U.result.ok?"accent":"danger",children:U.result.ok?i("providers.testOkBadge"):i("providers.testFailBadge")}),o.jsxs("span",{className:qe.mono,children:[U.result.latencyMs,"ms"]}),!U.result.ok&&U.result.error&&o.jsx("span",{className:qe.errorText,children:U.result.error})]})]}),o.jsxs("div",{className:qe.rowActions,children:[o.jsx(fe,{variant:"secondary",size:"sm",onClick:()=>void V(P),loading:(U==null?void 0:U.status)==="pending",disabled:(U==null?void 0:U.status)==="pending",children:i("providers.testBtn")}),o.jsx(fe,{variant:"secondary",size:"sm",onClick:()=>void S(P),children:P.active?i("providers.deactivate"):i("providers.activate")}),o.jsx(Xn,{icon:"edit","aria-label":i("providers.editAria",{name:P.name}),onClick:()=>_e(P)}),o.jsx(Xn,{icon:"trash","aria-label":i("providers.deleteAria",{name:P.name}),onClick:()=>{oe(P),Z("")}})]})]},P.id)})}),o.jsx(Qn,{open:H,onClose:()=>_(!1),title:i(C?"providers.modalEditTitle":"providers.modalAddTitle"),children:o.jsxs("form",{className:qe.form,onSubmit:P=>void ae(P),noValidate:!0,children:[o.jsx(_t,{label:i("providers.formName"),value:R.name,onChange:P=>L(U=>({...U,name:P.target.value})),error:I.name,placeholder:i("providers.formNamePh"),required:!0,autoComplete:"off"}),o.jsx(Gg,{label:i("providers.formKind"),value:R.kind,onChange:P=>L(U=>({...U,kind:P.target.value})),children:Object.keys(Yi).map(P=>o.jsx("option",{value:P,children:i(Yi[P])},P))}),o.jsx(_t,{label:i("providers.formBaseUrl"),value:R.baseUrl,onChange:P=>L(U=>({...U,baseUrl:P.target.value})),error:I.baseUrl,hint:i(R.kind==="openai-compatible"||R.kind==="local"?"providers.formBaseUrlRequiredHint":"providers.formBaseUrlHint"),placeholder:"https://api.openai.com/v1",inputMode:"url",autoComplete:"off"}),o.jsxs("div",{className:qe.passwordWrap,children:[o.jsx(_t,{label:i("providers.formApiKey"),type:pe?"text":"password",value:R.apiKey,onChange:P=>L(U=>({...U,apiKey:P.target.value})),error:I.apiKey,hint:i(C?"providers.formApiKeyEditHint":"providers.formApiKeyNewHint"),placeholder:C&&C.hasKey?i("providers.formKeySavedPh"):i("providers.formKeyPh"),autoComplete:"new-password",required:R.kind!=="local"&&!(C!=null&&C.hasKey)}),o.jsx("button",{type:"button",className:qe.passwordToggle,onClick:()=>re(P=>!P),"aria-label":i(pe?"providers.hideKeyAria":"providers.showKeyAria"),children:o.jsx(ve,{name:pe?"x":"key",size:18})})]}),o.jsx(_t,{label:i("providers.formModel"),value:R.model,onChange:P=>L(U=>({...U,model:P.target.value})),error:I.model,placeholder:i("providers.formModelPh"),autoComplete:"off",required:!0}),o.jsxs("div",{className:qe.formActions,children:[o.jsx(fe,{variant:"ghost",type:"button",onClick:()=>_(!1),children:i("providers.cancel")}),o.jsx(fe,{variant:"primary",type:"submit",loading:ue,disabled:ue,children:i(C?"providers.saveChanges":"providers.add")})]})]})}),o.jsx(Qn,{open:!!te,onClose:()=>oe(null),title:i("providers.deleteTitle"),footer:o.jsxs(o.Fragment,{children:[o.jsx(fe,{variant:"ghost",onClick:()=>oe(null),children:i("providers.cancel")}),o.jsx(fe,{variant:"danger",onClick:()=>void D(),loading:W,disabled:W||te!=null&&xe.trim()!==te.name,children:i("providers.deleteForever")})]}),children:te&&o.jsxs(o.Fragment,{children:[o.jsx("p",{className:qe.deleteWarn,children:i("providers.deleteWarn",{name:te.name})}),o.jsx(_t,{label:i("providers.deleteInputLabel"),value:xe,onChange:P=>Z(P.target.value),placeholder:te.name,autoComplete:"off"})]})})]}):o.jsx(Mt,{icon:"cpu",title:i("providers.title"),hint:i("providers.subtitleDisconnected"),children:o.jsx(Nr,{icon:"warn",title:i("providers.notConnectedTitle"),message:i("providers.notConnectedMessage"),action:o.jsx(fe,{variant:"primary",onClick:()=>a("/welcome"),children:i("providers.gotoOnboarding")})})})}function by(){const{t:a}=Be(),i=Mn(),c=Yn(),d=p.useRef(i.client);d.current=i.client;const[h,m]=p.useState(i.baseUrl),[f,y]=p.useState(null),[k,N]=p.useState(!1),[x,j]=p.useState(null),[A,H]=p.useState(!1),[_,C]=p.useState(""),[M,R]=p.useState(null),[L,I]=p.useState(!1),[B,ue]=p.useState(!1),[q,pe]=p.useState(!1),re=()=>{const W=ol(h);return y(W),W===null},te=async W=>{if(W.preventDefault(),!!re()){H(!0);try{await i.saveCredentials(h.trim(),""),c.push({tone:"success",title:a("settings.savedToast")})}catch(me){c.push({tone:"error",title:a("settings.saveFailToast"),message:me instanceof Error?me.message:void 0})}finally{H(!1)}}},oe=async()=>{if(re()){N(!0),j(null);try{const W=await ih(()=>d.current,()=>i.saveCredentials(h.trim(),""));j(W),W.ok&&c.push({tone:"success",title:a("settings.testOkToast")})}catch(W){j({ok:!1,error:W instanceof Error?W.message:a("settings.testFailDefault")})}finally{N(!1)}}},xe=async W=>{W.preventDefault();const me=_.trim();if(me===""){R(a("settings.keyRequired"));return}ue(!0);try{await i.saveCredentials(i.baseUrl,me),C(""),I(!1),pe(!1),c.push({tone:"success",title:a("settings.keySavedToast")})}catch(Ne){R(Ne instanceof Error?Ne.message:a("settings.saveKeyFail"))}finally{ue(!1)}},Z=i.connecting?o.jsx(gt,{tone:"muted",children:a("settings.badgeChecking")}):i.connected?o.jsx(gt,{tone:"accent",children:a("settings.badgeConnected")}):o.jsx(gt,{tone:"warn",children:a("settings.badgeNotConnected")});return o.jsxs("div",{children:[o.jsxs(Mt,{icon:"wifi",title:a("settings.sectionConn"),hint:a("settings.sectionConnHint"),children:[o.jsxs("div",{className:ce.statusRow,children:[Z,i.error&&!i.connecting&&o.jsx("span",{className:ce.connError,role:"alert",children:i.error})]}),o.jsxs("form",{onSubmit:W=>void te(W),noValidate:!0,children:[o.jsxs("div",{className:ce.urlRow,children:[o.jsx("div",{className:ce.fieldGrow,children:o.jsx(_t,{label:a("settings.urlLabel"),value:h,onChange:W=>{m(W.target.value),f&&y(null),x&&j(null)},onBlur:re,error:f??void 0,placeholder:"http://localhost:8787",inputMode:"url",autoComplete:"url"})}),o.jsx(fe,{type:"submit",variant:"primary",size:"sm",loading:A,disabled:k,children:a("settings.save")}),o.jsx(fe,{variant:"secondary",size:"sm",onClick:()=>void oe(),loading:k,disabled:A,children:a("settings.test")})]}),o.jsx("p",{className:ce.urlHint,children:a("settings.urlHint")})]}),x&&o.jsx("div",{className:ce.testResult,role:"status",children:x.ok?o.jsxs(o.Fragment,{children:[o.jsx(gt,{tone:"accent",children:"OK"}),o.jsxs("code",{className:ce.mono,children:[x.version?`v${x.version}`:"gateway",typeof x.wireVersion=="number"&&` · wire v${x.wireVersion}`]})]}):o.jsxs("span",{className:ce.testError,role:"alert",children:[o.jsx(ve,{name:"warn",size:16}),x.error??a("settings.unreachable")]})})]}),o.jsx(Mt,{icon:"key",title:a("settings.sectionKey"),hint:a("settings.sectionKeyHint"),children:i.apiKeySaved&&!q?o.jsxs("div",{className:ce.savedKeyRow,children:[o.jsx("code",{className:ce.maskedKey,"aria-label":a("settings.savedKeyAria"),children:"••••••••••"}),o.jsx(gt,{tone:"accent",children:a("settings.savedBadge")}),o.jsx("div",{className:ce.actions,children:o.jsx(fe,{variant:"secondary",onClick:()=>pe(!0),children:a("settings.reenter")})})]}):o.jsxs("form",{onSubmit:W=>void xe(W),noValidate:!0,children:[o.jsxs("div",{className:ce.keyFieldRow,children:[o.jsx("div",{className:ce.fieldGrow,children:o.jsx(_t,{label:a("settings.newKeyLabel"),type:L?"text":"password",value:_,onChange:W=>{C(W.target.value),M&&R(null)},error:M??void 0,hint:a("settings.newKeyHint"),placeholder:a("settings.newKeyPlaceholder"),autoComplete:"off"})}),o.jsx(Xn,{icon:L?"eye-off":"eye","aria-label":a(L?"settings.hideKeyAria":"settings.showKeyAria"),onClick:()=>I(W=>!W)})]}),o.jsxs("div",{className:ce.actions,children:[o.jsx(fe,{type:"submit",variant:"primary",loading:B,children:a("settings.saveKey")}),i.apiKeySaved&&o.jsx(fe,{variant:"ghost",onClick:()=>{pe(!1),C(""),R(null)},children:a("settings.cancel")})]})]})}),o.jsx(Ny,{}),o.jsx(ly,{})]})}function Ly(){const{t:a}=Be();return o.jsx("div",{children:o.jsxs(Mt,{children:[o.jsx(Lt,{status:"soon",label:a("settings.notifyTurnDoneLabel"),hint:a("settings.notifyTurnDoneHint"),children:o.jsx(Nd,{checked:!1,onChange:()=>{},ariaLabel:a("settings.notifyTurnDoneLabel"),disabled:!0})}),o.jsx(Lt,{status:"soon",label:a("settings.notifyErrorsLabel"),hint:a("settings.notifyErrorsHint"),children:o.jsx(Nd,{checked:!1,onChange:()=>{},ariaLabel:a("settings.notifyErrorsLabel"),disabled:!0})}),o.jsxs("p",{className:ce.footnote,children:[o.jsx(ve,{name:"info",size:14}),a("settings.notificationsFootnote")]})]})})}const Id=["strict","warn","off"];function My(){const{t:a}=Be(),i=Mn(),c=Yn(),[d,h]=p.useState(!1),[m,f]=p.useState(!1),y=async()=>{f(!0);try{await i.clearCredentials(),c.push({tone:"success",title:a("settings.credsDeletedToast")})}catch(k){c.push({tone:"error",title:a("settings.credsDeleteFailToast"),message:k instanceof Error?k.message:void 0})}finally{f(!1),h(!1)}};return o.jsxs("div",{children:[o.jsxs(Mt,{icon:"shield",title:a("settings.sectionGuard"),hint:a("settings.sectionGuardHint"),children:[o.jsx(Xi,{label:a("settings.guardModeLabel"),hint:a("settings.guardRowHint"),envKey:"BOOMBOT_REASONING_GUARD_MODE",configPath:"reasoningGuard.mode",allowed:Id,defaultValue:"warn",snippet:'{ "reasoningGuard": { "mode": "warn" } }'}),o.jsx(Xi,{label:a("settings.harnessGuardLabel"),hint:a("settings.harnessGuardRowHint"),envKey:"BOOMBOT_GUARD_MODE",configPath:"harnessGuard.mode",allowed:Id,defaultValue:"warn",snippet:'{ "harnessGuard": { "mode": "warn" } }'}),o.jsx(Xi,{label:a("settings.shellLabel"),hint:a("settings.shellRowHint"),envKey:"BOOMBOT_SHELL_ENABLED",configPath:"shell.enabled",allowed:["1","true"],defaultValue:"tắt (fail-closed)",snippet:'{ "shell": { "enabled": true } }'})]}),o.jsx(Mt,{icon:"warn",title:a("settings.sectionDanger"),hint:a("settings.sectionDangerHint"),children:o.jsxs("div",{className:ce.prefRow,children:[o.jsxs("div",{className:ce.prefText,children:[o.jsx("span",{className:ce.prefLabel,children:a("settings.dangerTitle")}),o.jsx("span",{className:ce.prefHint,children:a("settings.dangerHint")})]}),o.jsx(fe,{variant:"danger",onClick:()=>h(!0),children:a("settings.dangerTitle")})]})}),o.jsx(Qn,{open:d,onClose:()=>h(!1),title:a("settings.modalTitle"),footer:o.jsxs(o.Fragment,{children:[o.jsx(fe,{variant:"ghost",onClick:()=>h(!1),disabled:m,children:a("settings.modalCancel")}),o.jsx(fe,{variant:"danger",onClick:()=>void y(),loading:m,children:a("settings.modalDelete")})]}),children:o.jsx("p",{className:ce.modalText,children:a("settings.modalBody")})})]})}function Ry(){const{t:a,lang:i,setLang:c}=Be(),d=[{value:"vi",label:a("settings.langVi")},{value:"en",label:a("settings.langEn")}],h=[{value:"vi",label:a("settings.langVi")},{value:"en",label:a("settings.langEn")}],m=[{value:"natural",label:a("settings.voiceStyleNatural")},{value:"formal",label:a("settings.voiceStyleFormal")},{value:"casual",label:a("settings.voiceStyleCasual")}],f=[{value:"slow",label:a("settings.voiceSpeedSlow")},{value:"normal",label:a("settings.voiceSpeedNormal")},{value:"fast",label:a("settings.voiceSpeedFast")}];return o.jsx("div",{children:o.jsxs(Mt,{hint:a("settings.sectionVoiceHint"),children:[o.jsx(Lt,{label:a("settings.languageLabel"),hint:a("settings.languageHint"),children:o.jsx(Bt,{ariaLabel:a("settings.languageLabel"),options:d,value:i,onChange:y=>c(y)})}),o.jsx(Lt,{status:"soon",label:a("settings.voiceLangLabel"),hint:a("settings.voiceLangHint"),children:o.jsx(Bt,{ariaLabel:a("settings.voiceLangLabel"),options:h,value:"vi",onChange:()=>{},disabled:!0})}),o.jsx(Lt,{status:"soon",label:a("settings.voiceStyleLabel"),hint:a("settings.voiceStyleHint"),children:o.jsx(Bt,{ariaLabel:a("settings.voiceStyleLabel"),options:m,value:"natural",onChange:()=>{},disabled:!0})}),o.jsx(Lt,{status:"soon",label:a("settings.voiceSpeedLabel"),hint:a("settings.voiceSpeedHint"),children:o.jsx(Bt,{ariaLabel:a("settings.voiceSpeedLabel"),options:f,value:"normal",onChange:()=>{},disabled:!0})})]})})}const Py="appearance",hl=[{id:"appearance",labelKey:"settings.navAppearance",subtitleKey:"settings.appearanceSubtitle",icon:"palette"},{id:"chat",labelKey:"settings.navChat",subtitleKey:"settings.chatSubtitle",icon:"chat"},{id:"voice",labelKey:"settings.navVoice",subtitleKey:"settings.voiceSubtitle",icon:"volume"},{id:"notifications",labelKey:"settings.navNotifications",subtitleKey:"settings.notificationsSubtitle",icon:"bell"},{id:"security",labelKey:"settings.navSecurity",subtitleKey:"settings.securitySubtitle",icon:"shield"},{id:"connection",labelKey:"settings.navConnection",subtitleKey:"settings.connectionSubtitle",icon:"plug"}];function fl(a){return`/settings/${a}`}function Ay(a){return hl.find(i=>i.id===a)}function Dd(a){return a.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").replace(/đ/gi,"d").toLocaleLowerCase().trim()}const Iy=[{section:"appearance",keywords:"giao dien theme chu de sang toi he thong dark light system mat do density appearance"},{section:"chat",keywords:"tro chuyen chat phong chu font be rong khung transcript width chuyen dong motion giam chuyen dong"},{section:"voice",keywords:"giong noi voice ngon ngu language toc do speed phong cach style am thanh"},{section:"notifications",keywords:"thong bao notifications nhac nho nhan tin xong turn done"},{section:"security",keywords:"bao mat security api key reasoning guard harness guard shell vung nguy hiem xoa credentials"},{section:"connection",keywords:"ket noi connection gateway url api key provider providers nha cung cap model llm openai anthropic kiem tra health phien ban version"}];function Dy(a,i){const c=Dd(a);return c===""?[]:hl.filter(d=>{if(Dd(`${i(d)} ${d.id}`).includes(c))return!0;const m=Iy.find(f=>f.section===d.id);return m!==void 0&&m.keywords.includes(c)})}const Oy={appearance:j0,chat:T0,voice:Ry,notifications:Ly,security:My,connection:by};function Fy(){const{t:a}=Be(),i=sn(),{section:c}=km(),d=Ay(c);if(!d)return o.jsx("div",{className:ce.page,children:o.jsx(Nr,{icon:"gear",title:a("settings.unknownSectionTitle"),message:a("settings.unknownSectionBody"),action:o.jsx(fe,{variant:"primary",onClick:()=>i(fl(Py),{replace:!0}),children:a("settings.navAppearance")})})});const h=Oy[d.id];return o.jsxs("div",{className:ce.page,children:[o.jsxs("header",{className:ce.paneHeader,children:[o.jsx("h1",{className:ce.paneTitle,children:a(d.labelKey)}),o.jsx("p",{className:ce.paneSubtitle,children:a(d.subtitleKey)})]}),o.jsx(h,{})]})}const zy="_macTrafficLights_5c42g_5",By="_trafficDot_5c42g_21",Ky="_trafficClose_5c42g_49",Hy="_trafficMin_5c42g_51",Uy="_trafficMax_5c42g_53",$y="_collapsed_5c42g_57",Vy="_shell_5c42g_69",Wy="_sidebar_5c42g_85",Gy="_brandRow_5c42g_131",qy="_brand_5c42g_131",Qy="_brandMark_5c42g_177",Xy="_brandName_5c42g_217",Yy="_collapseToggle_5c42g_231",Zy="_newChatBtn_5c42g_323",Jy="_newChatBtnCollapsed_5c42g_407",e2="_recentBlock_5c42g_481",t2="_recentLabel_5c42g_495",n2="_recentList_5c42g_515",r2="_recentItemWrap_5c42g_537",o2="_recentDeleteBtn_5c42g_561",a2="_recentItem_5c42g_537",s2="_recentActive_5c42g_695",i2="_recentDot_5c42g_705",l2="_recentTitle_5c42g_723",c2="_nav_5c42g_737",u2="_navGroup_5c42g_755",d2="_navGroupLabel_5c42g_773",h2="_navLink_5c42g_795",f2="_active_5c42g_873",p2="_mainWrap_5c42g_1223",m2="_topbar_5c42g_1239",g2="_breadcrumb_5c42g_1275",v2="_crumbLink_5c42g_1297",y2="_crumbCurrent_5c42g_1313",w2="_main_5c42g_1223",k2="_content_5c42g_1351",x2="_narrow_5c42g_1365",_2="_bottomNav_5c42g_1393",C2="_drawerRoot_5c42g_1401",S2="_bottomLink_5c42g_1473",j2="_bottomLabel_5c42g_1565",T2="_scrim_5c42g_1589",E2="_drawer_5c42g_1401",N2="_drawerHeader_5c42g_1633",b2="_drawerTitle_5c42g_1647",L2="_drawerClose_5c42g_1657",M2="_drawerList_5c42g_1693",se={macTrafficLights:zy,trafficDot:By,trafficClose:Ky,trafficMin:Hy,trafficMax:Uy,collapsed:$y,shell:Vy,sidebar:Wy,brandRow:Gy,brand:qy,brandMark:Qy,brandName:Xy,collapseToggle:Yy,newChatBtn:Zy,newChatBtnCollapsed:Jy,recentBlock:e2,recentLabel:t2,recentList:n2,recentItemWrap:r2,recentDeleteBtn:o2,recentItem:a2,recentActive:s2,recentDot:i2,recentTitle:l2,nav:c2,navGroup:u2,navGroupLabel:d2,navLink:h2,active:f2,mainWrap:p2,topbar:m2,breadcrumb:g2,crumbLink:v2,crumbCurrent:y2,main:w2,content:k2,narrow:x2,bottomNav:_2,drawerRoot:C2,bottomLink:S2,bottomLabel:j2,scrim:T2,drawer:E2,drawerHeader:N2,drawerTitle:b2,drawerClose:L2,drawerList:M2},R2="_fallback_15157_1",P2={fallback:R2};function al(){return o.jsxs("div",{className:P2.fallback,"aria-label":"Đang tải trang",children:[o.jsx(Eo,{variant:"rect",height:48}),o.jsx(Eo,{variant:"rect",height:120}),o.jsx(Eo,{variant:"rect",height:120})]})}const A2="_overlay_1q444_1",I2="_dialog_1q444_14",D2="_sidebar_1q444_55",O2="_search_1q444_62",F2="_sectionLabel_1q444_93",z2="_group_1q444_100",B2="_navList_1q444_108",K2="_navItem_1q444_117",H2="_active_1q444_139",U2="_content_1q444_151",$2="_close_1q444_158",lt={overlay:A2,dialog:I2,sidebar:D2,search:O2,sectionLabel:F2,group:z2,navList:B2,navItem:K2,active:H2,content:U2,close:$2},fh=[{id:"settings",labelKey:"shell.groupSettings",items:hl.map(a=>({path:fl(a.id),labelKey:a.labelKey,icon:a.icon}))},{id:"start",labelKey:"shell.groupGettingStarted",items:[{path:"/welcome",labelKey:"shell.navOnboarding",icon:"bolt"}]}],ph=fh.flatMap(a=>a.items),V2=[...ph.map(a=>a.path),"/settings","/channels","/providers"];function Lo(a){return V2.some(i=>a===i||a.startsWith(`${i}/`))}function W2({children:a,onClose:i}){const{t:c}=Be(),d=p.useRef(null),h=p.useRef(null),[m,f]=p.useState(""),y=p.useRef(i);p.useEffect(()=>{y.current=i},[i]);const k=m.trim(),N=p.useMemo(()=>{if(k==="")return null;const j=k.toLocaleLowerCase(),A=ph.filter(C=>c(C.labelKey).toLocaleLowerCase().includes(j)),H=Dy(k,C=>c(C.labelKey)).map(C=>({path:fl(C.id),labelKey:C.labelKey,icon:C.icon})),_=new Set;return[...H,...A].filter(C=>_.has(C.path)?!1:(_.add(C.path),!0))},[k,c]);p.useEffect(()=>{var _;const j=document.activeElement,A=document.body.style.overflow;document.body.style.overflow="hidden",(_=h.current)==null||_.focus();const H=C=>{const M=d.current;if(!M)return;if(C.key==="Escape"){C.preventDefault(),y.current();return}if(C.key!=="Tab")return;const R=Array.from(M.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')),L=R[0],I=R.at(-1);if(!(!L||!I)){if(!M.contains(document.activeElement)){C.preventDefault(),L.focus();return}C.shiftKey&&document.activeElement===L?(C.preventDefault(),I.focus()):!C.shiftKey&&document.activeElement===I&&(C.preventDefault(),L.focus())}};return document.addEventListener("keydown",H),()=>{document.removeEventListener("keydown",H),document.body.style.overflow=A,j==null||j.focus()}},[]);const x=j=>o.jsx("li",{children:o.jsxs(Mo,{to:j.path,className:({isActive:A})=>[lt.navItem,A?lt.active:""].join(" ").trim(),children:[o.jsx(ve,{name:j.icon,size:19}),o.jsx("span",{children:c(j.labelKey)})]})},j.path);return ll.createPortal(o.jsx("div",{className:lt.overlay,onMouseDown:j=>{j.target===j.currentTarget&&i()},children:o.jsxs("div",{ref:d,className:lt.dialog,role:"dialog","aria-modal":"true","aria-label":c("shell.systemAria"),children:[o.jsxs("div",{className:lt.sidebar,children:[o.jsxs("label",{className:lt.search,children:[o.jsx(ve,{name:"search",size:18}),o.jsx("input",{ref:h,type:"search","aria-label":c("shell.systemSearch"),value:m,onChange:j=>f(j.target.value),placeholder:c("shell.systemSearch")})]}),o.jsx("nav",{"aria-label":c("shell.systemAria"),className:lt.modalNav,children:N?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:lt.sectionLabel,children:c("shell.systemResults")}),N.length===0?o.jsx("p",{className:lt.sectionLabel,role:"status",children:c("shell.systemNoResults")}):o.jsx("ul",{className:lt.navList,children:N.map(x)})]}):fh.map(j=>o.jsxs("div",{className:lt.group,children:[o.jsx("p",{className:lt.sectionLabel,children:c(j.labelKey)}),o.jsx("ul",{className:lt.navList,children:j.items.map(x)})]},j.id))})]}),o.jsx("section",{className:lt.content,children:a}),o.jsx("button",{type:"button",className:lt.close,onClick:i,"aria-label":c("shell.systemClose"),children:o.jsx(ve,{name:"x",size:20})})]})}),document.body)}const mh=[{labelKey:"",items:[{path:"/",labelKey:"shell.navChat",icon:"chat"},{path:"/sessions",labelKey:"shell.navSessions",icon:"sessions"},{path:"/schedules",labelKey:"shell.navSchedules",icon:"calendar"},{path:"/tasks",labelKey:"shell.navTasks",icon:"clock"},{path:"/memory",labelKey:"shell.navMemory",icon:"database"}]},{labelKey:"shell.groupSystem",items:[{path:"/settings",labelKey:"shell.navSettings",icon:"gear"}]}],pl=mh.flatMap(a=>a.items),G2=["/","/sessions","/schedules","/settings"],gh="boombot.sidebar";function q2(){try{return localStorage.getItem(gh)==="collapsed"}catch{return!1}}function Q2(){const{t:a}=Be(),{connected:i,connecting:c,client:d,errorCode:h}=Mn(),m=c?"warn":i?"success":d?"danger":"muted",f=m==="warn"||m==="danger",k=a(c?"shell.connChecking":i?"shell.connOk":!i&&!c&&h==="UNAUTHORIZED"?"shell.connAuthFailed":d?"shell.connLost":"shell.connNone");return o.jsxs(gt,{tone:m,children:[o.jsx("span",{className:f?"status-dot status-dot--pulse":"status-dot","aria-hidden":"true"}),k]})}function X2(){const{t:a}=Be(),{pathname:i}=Rt(),c=pl.find(d=>d.path==="/"?i==="/":i.startsWith(d.path));return o.jsx("nav",{"aria-label":a("shell.navAria"),className:se.breadcrumb,children:o.jsxs("ol",{children:[o.jsx("li",{children:o.jsx(dl,{to:"/",className:se.crumbLink,children:a("shell.breadcrumbRoot")})}),c&&c.path!=="/"&&o.jsxs("li",{"aria-current":"page",className:se.crumbCurrent,children:[o.jsx(ve,{name:"chevron-right",size:14}),o.jsx("span",{children:a(c.labelKey)})]})]})})}function Y2({collapsed:a}){const{t:i}=Be(),{pathname:c}=Rt();return o.jsx("nav",{"aria-label":i("shell.navAria"),className:se.nav,children:mh.map((d,h)=>o.jsxs("div",{className:se.navGroup,children:[d.labelKey!==""&&!a&&o.jsx("p",{className:se.navGroupLabel,id:`nav-group-${h}`,children:i(d.labelKey)}),o.jsx("ul",{"aria-labelledby":d.labelKey!==""&&!a?`nav-group-${h}`:void 0,children:d.items.map(m=>{const f=i(m.labelKey);return o.jsx("li",{children:o.jsxs(Mo,{to:m.path,end:m.path==="/",title:a?f:void 0,className:({isActive:y})=>[se.navLink,y||m.path==="/settings"&&Lo(c)?se.active:""].join(" ").trim(),children:[o.jsx(ve,{name:m.icon,size:18}),!a&&o.jsx("span",{children:f})]})},m.path)})})]},d.labelKey||`group-${h}`))})}function Z2({open:a,onClose:i}){const{t:c}=Be(),{pathname:d}=Rt(),h=p.useRef(null);return p.useEffect(()=>{var f;if(!a)return;(f=h.current)==null||f.focus();const m=y=>{y.key==="Escape"&&i()};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[a,i]),a?o.jsxs("div",{className:se.drawerRoot,children:[o.jsx("div",{className:se.scrim,onClick:i,"aria-hidden":"true"}),o.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":c("shell.drawerAria"),className:se.drawer,children:[o.jsxs("div",{className:se.drawerHeader,children:[o.jsx("span",{className:se.drawerTitle,children:c("shell.drawerTitle")}),o.jsx("button",{ref:h,type:"button",onClick:i,"aria-label":c("shell.drawerClose"),className:se.drawerClose,children:o.jsx(ve,{name:"x",size:20})})]}),o.jsx("ul",{className:se.drawerList,children:pl.map(m=>o.jsx("li",{children:o.jsxs(Mo,{to:m.path,end:m.path==="/",onClick:i,className:({isActive:f})=>[se.navLink,f||m.path==="/settings"&&Lo(d)?se.active:""].join(" ").trim(),children:[o.jsx(ve,{name:m.icon,size:20}),o.jsx("span",{children:c(m.labelKey)})]})},m.path))})]})]}):null}function J2(){const{t:a}=Be(),{pathname:i}=Rt(),[c,d]=p.useState(!1),h=pl.filter(m=>G2.includes(m.path));return o.jsxs(o.Fragment,{children:[o.jsxs("nav",{"aria-label":a("shell.navAria"),className:se.bottomNav,children:[h.map(m=>o.jsxs(Mo,{to:m.path,end:m.path==="/",className:({isActive:f})=>[se.bottomLink,f||m.path==="/settings"&&Lo(i)?se.active:""].join(" ").trim(),children:[o.jsx(ve,{name:m.icon,size:22}),o.jsx("span",{className:se.bottomLabel,children:a(m.labelKey)})]},m.path)),o.jsxs("button",{type:"button",className:se.bottomLink,"aria-expanded":c,"aria-haspopup":"dialog",onClick:()=>d(!0),children:[o.jsx(ve,{name:"dots",size:22}),o.jsx("span",{className:se.bottomLabel,children:a("shell.more")})]})]}),o.jsx(Z2,{open:c,onClose:()=>d(!1)})]})}function ew(){const{t:a}=Be(),{pathname:i}=Rt(),c=sn(),{client:d,connected:h}=Mn(),m=p.useRef(null),f=p.useRef(null),y=p.useRef("/"),k=i==="/"||i.startsWith("/chat"),N=Lo(i),[x,j]=p.useState(q2),[A,H]=p.useState([]);p.useEffect(()=>{N||(y.current=i)},[i,N]),p.useEffect(()=>{const R=f.current;R&&(R.inert=N)},[N]);const _=p.useCallback(()=>{const R=y.current;c(Lo(R)?"/":R,{replace:!0})},[c]);p.useEffect(()=>{if(!h||!d){H([]);return}let R=!0;const L=()=>{d.sessionsList().then(B=>{R&&H(B.slice(0,8))}).catch(()=>{R&&H([])})};L();const I=window.setInterval(L,3e4);return()=>{R=!1,window.clearInterval(I)}},[d,h,i]);const C=async(R,L)=>{if(R.preventDefault(),R.stopPropagation(),!!d)try{await d.sessionsDelete(L),H(I=>I.filter(B=>B.id!==L)),i===`/chat/${L}`&&c("/chat/new")}catch(I){console.error("Failed to delete session:",I)}},M=p.useCallback(()=>{j(R=>{const L=!R;try{localStorage.setItem(gh,L?"collapsed":"expanded")}catch{}return L})},[]);return p.useEffect(()=>{var R;(R=m.current)==null||R.focus({preventScroll:!0})},[i]),o.jsxs("div",{ref:f,className:[se.shell,x?se.collapsed:""].join(" ").trim(),"aria-hidden":N||void 0,children:[o.jsx("a",{href:"#main-content",className:"skip-link",children:a("shell.skipToContent")}),o.jsxs("aside",{className:se.sidebar,children:[o.jsxs("div",{className:se.macTrafficLights,"aria-hidden":"true",children:[o.jsx("span",{className:`${se.trafficDot} ${se.trafficClose}`}),o.jsx("span",{className:`${se.trafficDot} ${se.trafficMin}`}),o.jsx("span",{className:`${se.trafficDot} ${se.trafficMax}`})]}),o.jsxs("div",{className:se.brandRow,children:[o.jsxs(dl,{to:"/",className:se.brand,"aria-label":a("shell.brandAria"),children:[o.jsx("span",{className:se.brandMark,"aria-hidden":"true",children:o.jsx("img",{src:"/logo.png",alt:"BoomBot",style:{width:"100%",height:"100%",objectFit:"cover",borderRadius:"6px"}})}),!x&&o.jsx("span",{className:se.brandName,children:"BoomBot"})]}),o.jsx("button",{type:"button",className:se.collapseToggle,onClick:M,"aria-label":a(x?"shell.expandAria":"shell.collapseAria"),"aria-pressed":x,children:o.jsx(ve,{name:x?"chevron-right":"chevron-left",size:16})})]}),o.jsxs("button",{type:"button",className:x?se.newChatBtnCollapsed:se.newChatBtn,onClick:()=>c("/chat/new"),title:x?a("shell.newChat"):void 0,children:[o.jsx(ve,{name:"plus",size:16}),!x&&o.jsx("span",{children:a("shell.newChat")})]}),o.jsx(Y2,{collapsed:x}),!x&&A.length>0&&o.jsxs("div",{className:se.recentBlock,children:[o.jsx("p",{className:se.recentLabel,id:"recent-chats-label",children:a("shell.recentChats")}),o.jsx("ul",{className:se.recentList,"aria-labelledby":"recent-chats-label",children:A.map(R=>o.jsxs("li",{className:se.recentItemWrap,children:[o.jsxs(Mo,{to:`/chat/${R.id}`,title:R.title,className:({isActive:L})=>[se.recentItem,L?se.recentActive:""].join(" ").trim(),children:[o.jsx("span",{className:se.recentDot,"aria-hidden":"true"}),o.jsx("span",{className:se.recentTitle,children:R.title||a("chat.fallbackTitle")})]}),o.jsx("button",{type:"button",className:se.recentDeleteBtn,onClick:L=>C(L,R.id),title:"Delete chat","aria-label":"Delete chat",children:o.jsx(ve,{name:"trash",size:13})})]},R.id))})]})]}),o.jsxs("div",{className:se.mainWrap,children:[o.jsxs("header",{className:se.topbar,children:[o.jsx(X2,{}),o.jsx(Q2,{})]}),o.jsx("main",{id:"main-content",ref:m,tabIndex:-1,className:[se.main,k?se.narrow:""].join(" ").trim(),children:o.jsx("div",{className:se.content,children:!N&&o.jsx(p.Suspense,{fallback:o.jsx(al,{}),children:o.jsx(wd,{})})})})]}),o.jsx(J2,{}),N&&o.jsx(W2,{onClose:_,children:o.jsx(p.Suspense,{fallback:o.jsx(al,{}),children:o.jsx(wd,{})})})]})}const Od=p.lazy(()=>Lr(()=>import("./ChatView-BZrSD-64.js"),__vite__mapDeps([0,1,2]))),tw=p.lazy(()=>Lr(()=>import("./SessionsView-DS0-aH2a.js"),__vite__mapDeps([3,4]))),nw=p.lazy(()=>Lr(()=>import("./SchedulesView-B22QmPR-.js"),__vite__mapDeps([5,1,6,7,8]))),rw=p.lazy(()=>Lr(()=>import("./TasksView-ey0FLsW8.js"),__vite__mapDeps([9,1,6,7,10]))),ow=p.lazy(()=>Lr(()=>import("./MemoryView-BfMq_6CD.js"),__vite__mapDeps([11,1,12])));function aw(){return o.jsx($m,{children:o.jsx(Dp,{children:o.jsxs(d1,{children:[o.jsx(Q1,{}),o.jsx(Y1,{children:o.jsx(p.Suspense,{fallback:o.jsx(al,{}),children:o.jsx(Dm,{children:o.jsxs(mt,{element:o.jsx(ew,{}),children:[o.jsx(mt,{path:"/",element:o.jsx(Od,{})}),o.jsx(mt,{path:"/chat/:id",element:o.jsx(Od,{})}),o.jsx(mt,{path:"/sessions",element:o.jsx(tw,{})}),o.jsx(mt,{path:"/providers",element:o.jsx(Ua,{to:"/settings/connection",replace:!0})}),o.jsx(mt,{path:"/schedules",element:o.jsx(nw,{})}),o.jsx(mt,{path:"/tasks",element:o.jsx(rw,{})}),o.jsx(mt,{path:"/memory",element:o.jsx(ow,{})}),o.jsx(mt,{path:"/channels",element:o.jsx(Ua,{to:"/settings/connection",replace:!0})}),o.jsx(mt,{path:"/settings",element:o.jsx(Ua,{to:"/settings/appearance",replace:!0})}),o.jsx(mt,{path:"/settings/:section",element:o.jsx(Fy,{})}),o.jsx(mt,{path:"/welcome",element:o.jsx(Nv,{})}),o.jsx(mt,{path:"*",element:o.jsx(Ua,{to:"/",replace:!0})})]})})})})]})})})}const vh=document.getElementById("root");if(!vh)throw new Error("Không tìm thấy phần tử #root");Fp();Np.createRoot(vh).render(o.jsx(p.StrictMode,{children:o.jsx(Kv,{children:o.jsx(Rv,{children:o.jsx(Up,{children:o.jsx(aw,{})})})})}));export{fe as B,Nr as E,rh as F,ve as I,Qn as M,kg as O,Ug as P,Ga as S,Mn as a,Yn as b,Eo as c,km as d,sn as e,mg as f,Pv as g,Gg as h,_t as i,o as j,Xn as k,gt as l,Nd as m,qn as n,oh as o,yp as p,p as r,fl as s,Be as u,Av as w};
|