From 2e1dcf1c4851fbc8722296aba731806b88bd5f2d Mon Sep 17 00:00:00 2001 From: "Jakub A. W" Date: Sat, 25 Jul 2026 20:12:56 +0200 Subject: [PATCH 1/4] feat(budgets): scope budgets to request labels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Budgets could only limit a `user_path` subtree, so an operator running several applications through one path had no way to cap their spend separately without minting a key per application (issue #319). A budget now carries a scope and a subject, mirroring the shape rate limit rules already use: - `user_path` — a path and its descendants, unchanged - `label` — every request carrying that label, matched verbatim Labels come from the tagging headers and from the managed key that authenticated the request, so a request carrying several labels is charged against every matching label budget. Label budgets are declared under `budgets.labels:` in config.yaml or through the dashboard and admin API; they have no env-var form, because labels are matched verbatim and are not env-name safe (the same rationale model rate limit rules already use). Enforcement no longer runs one SUM query per matching budget. `Store.SumSpend` takes every matching window and answers them in one scan — conditional aggregation on SQL, one `$group` on MongoDB. Timed against a 50k-row usage table: parity at one matching budget (~30ms), 96ms -> 35ms at five, 443ms -> 70ms at twenty-five. The budgets table is rekeyed to (scope, subject, period_seconds), so both SQL backends rebuild it in one transaction and MongoDB rewrites its documents in place. The rebuild also absorbs the two columns older releases added with ALTER TABLE, which removes the separate migration list. Also folds three near-identical evaluation loops in the budget service into one match/evaluate pair, moves the SQL-only path helpers out of the shared store file, and corrects the admin API examples in the budgets docs, which showed URL path parameters those endpoints never had. Part of #319 — this covers the budgeting integration the issue asked for. Label filtering and grouping in the audit log remain open. Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 1 + cmd/gomodel/docs/docs.go | 33 ++ config/budget.go | 75 +++-- config/config.example.yaml | 7 + config/config_test.go | 2 +- docs/features/budgets.mdx | 92 +++++- docs/features/labelling.mdx | 2 + docs/openapi.json | 33 ++ .../static/dist/assets/index-BSE-2hNO.js | 64 ---- .../static/dist/assets/index-C5b8F5Yi.js | 64 ++++ .../admin/dashboard/static/dist/index.html | 2 +- internal/admin/handler_budgets.go | 72 ++++- internal/admin/handler_budgets_test.go | 136 ++++++-- internal/budget/factory.go | 54 ++-- internal/budget/service.go | 212 ++++++------- internal/budget/service_test.go | 291 +++++++++++++----- internal/budget/store.go | 83 +++-- internal/budget/store_mongodb.go | 232 +++++++++----- internal/budget/store_mongodb_test.go | 91 ++++-- internal/budget/store_sql.go | 238 +++++++++----- internal/budget/store_sql_migrate.go | 97 ++++++ internal/budget/store_sql_test.go | 215 +++++++++++-- internal/budget/types.go | 94 +++++- internal/budget/types_test.go | 2 +- internal/server/budget_support.go | 18 +- internal/server/budget_support_test.go | 13 +- internal/server/mcp_service_test.go | 5 +- internal/server/usage_status_handler.go | 21 +- internal/server/usage_status_handler_test.go | 18 +- tests/e2e/budget_test.go | 4 +- tests/e2e/upgrade-compat.sh | 7 +- tests/integration/dbassert/budget.go | 10 +- .../src/pages/budgets/BudgetEditor.svelte | 35 ++- .../src/pages/budgets/BudgetList.svelte | 19 +- .../src/pages/budgets/BudgetsPage.svelte | 2 +- .../src/pages/budgets/budgets-helpers.js | 105 ++++++- .../src/pages/budgets/budgets.svelte.js | 25 +- web/dashboard/tests/budgets.test.js | 138 +++++++-- 38 files changed, 1942 insertions(+), 670 deletions(-) delete mode 100644 internal/admin/dashboard/static/dist/assets/index-BSE-2hNO.js create mode 100644 internal/admin/dashboard/static/dist/assets/index-C5b8F5Yi.js create mode 100644 internal/budget/store_sql_migrate.go diff --git a/CLAUDE.md b/CLAUDE.md index 601595881..fa140ef51 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -122,6 +122,7 @@ Full reference: `.env.template` and `config/config.yaml` - **Tagging:** Every request can be labelled from configured HTTP headers. Rules are managed in the dashboard (Settings → "Tagging based on headers", persisted to the `tagging_settings` store) or declared as infrastructure-as-code under `tagging.headers:` in `config.yaml` / numbered env vars `TAGGING_HEADER_1=X-My-Tags` with optional `TAGGING_HEADER_1_PREFIX` (trimmed from each extracted label only), `TAGGING_HEADER_1_DONOTPASS` (default false: headers are forwarded as-is; true strips the header before provider forwarding on passthrough/realtime routes — translated routes never forward client headers), and `TAGGING_HEADER_1_DELIMITER` (default `,`; one header value can carry several labels). An env entry replaces the whole YAML entry with the same header name (unset companion vars reset fields to defaults rather than inheriting YAML values); declarative entries override admin-store rows and are read-only in the dashboard. Credential-bearing headers (`Authorization`, `Cookie`, API-key headers, …) are rejected as tagging sources. Managed API keys can also carry labels (`labels` on `POST /admin/auth-keys`, replaceable later via `PUT /admin/auth-keys/{id}/labels` where `[]` clears, or API Keys → Create API Key / Edit Labels in the dashboard); every request authenticated with the key gets them, merged and de-duplicated with header-extracted labels. Labels are recorded on usage entries (`labels`) and audit log entries (`data.labels`). The dashboard usage page shows a by-label breakdown (`GET /admin/usage/labels`) and label chips with a label filter on the request log (`label` query param on `GET /admin/usage/log`). - **Audit logging:** `LOGGING_ENABLED` (true), `LOGGING_LOG_BODIES` (true), `LOGGING_LOG_AUDIO_BODIES` (false: refines `LOGGING_LOG_BODIES` for audio endpoints — base64 audio for both `/v1/audio/speech` output and `/v1/audio/transcriptions` upload (≤8 MB each, else `too_large`) + dashboard playback, plus transcription upload metadata; no effect unless `LOGGING_LOG_BODIES` is on, in which case audio-off records a placeholder), `LOGGING_LOG_HEADERS` (true), `LOGGING_RETENTION_DAYS` (30) - **Usage tracking:** `USAGE_ENABLED` (true), `ENFORCE_RETURNING_USAGE_DATA` (true), `USAGE_RETENTION_DAYS` (90). Callers can read their own status without admin access via `GET /v1/usage`: usage summary over a date window (`start_date`/`end_date`/`days`, default last 30 days UTC) plus budget and rate-limit statuses, all scoped to the caller's effective user path (managed key binding, else the user-path header). +- **Budgets:** `BUDGETS_ENABLED` (true; no-op until budgets exist, and force-disabled with a warning when `USAGE_ENABLED=false` since spend is read from usage cost records). Every budget has a scope: `user_path` (subtree — a budget on `/team` covers `/team/app` but not `/team-alpha`) or `label` (matches a request label verbatim, no case folding; labels come from tagging headers and managed-key labels, and a request carrying several labels is charged against every matching label budget). Limits are an `amount` per period (`hourly`/`daily`/`weekly`/`monthly`, or a custom `period_seconds` — named periods reset on the calendar anchors configured under Settings → Budget Resets, only custom seconds are fixed windows). A breach returns 429 (`code: budget_exceeded`) with `Retry-After`; a budget with no recorded usage never blocks, and response cache hits return before enforcement. Managed in the dashboard (Budgets page: scope selector) / `/admin/budgets` (GET/PUT/DELETE + `POST .../reset-one`, `POST .../reset`; requests take `scope`+`subject`, with `user_path` as shorthand for user-path budgets), or as infrastructure-as-code under `budgets.{user_paths,labels}:` in `config.yaml` / `SET_BUDGET_` env vars (`period=amount` compact syntax or a JSON limit array; `__` separates path segments). Label budgets are YAML/admin-only — labels are matched verbatim and are not env-name safe. Config-sourced budgets are read-only in the dashboard and manual edits win over config seeds. Enforcement evaluates every matching budget in ONE batched store query (`Store.SumSpend`), so a wide match set costs one scan rather than one per budget. - **Rate limits:** `RATE_LIMITS_ENABLED` (true; no-op until rules exist). Every rule has a scope: `user_path` (consumer control; subtree with ONE shared counter per rule — per-key limits = give each key its own path), `provider` (caps one configured provider instance across all consumers/models), or `model` (subject `openai/gpt-4o` pins one provider's model, bare `gpt-4o` covers it on any provider; matching case-insensitive). Limits: `max_requests`/`max_tokens` per period (`minute`/`hour`/`day`/custom `period_seconds`, sliding window) plus `concurrent` (period_seconds 0: `max_requests` = max in-flight; realtime sessions hold a slot for the session, batch submissions don't — and batch skips provider/model rules since batch files can mix models). Enforcement covers every model endpoint; user-path breaches return 429 (`code: rate_limit_exceeded`) with `Retry-After`, successes carry `x-ratelimit-{limit,remaining,reset}-{requests,tokens}` from the most-constrained matching rule; cache hits bypass. Saturated providers/models are instead routed around: virtual-model load balancing prefers targets with capacity (falling back to the first declared target when all are saturated, so the client gets an honest 429 rather than an unavailable-model error; saturation never affects catalog membership or /v1/models listing), a saturated primary route with configured failover rules skips the primary provider and is served by the sweep (which also skips saturated candidates), and only requests with no viable alternative get 429. Token windows are charged to the provider/model that actually executed (from the usage entry), so accounting stays correct under aliasing/failover. Managed in the dashboard (Rate Limits page: scope selector) / `/admin/rate-limits` (GET/PUT/DELETE + `POST .../reset-one`, `POST .../reset`; requests take `scope`+`subject`, with `user_path` as shorthand for user-path rules), or as infrastructure-as-code under `rate_limits.{user_paths,providers,models}:` in `config.yaml` / `SET_RATE_LIMIT_` env vars (`rpm/tpm/rph/tph/rpd/tpd/concurrent=N` compact syntax or a JSON rule array; `__` separates path segments) and `SET_PROVIDER_RATE_LIMIT_` (same syntax; suffix underscores become hyphens; model rules are YAML/admin-only). Env replaces the whole YAML entry for the same subject; config-sourced rules are read-only in the dashboard and manual edits win over config seeds, like budgets. Token limits are post-accounted from usage entries, so they require `USAGE_ENABLED=true` (startup warns otherwise) and one request can overshoot a token window. Counters are in-memory per instance (N replicas ≈ N× limit) and reset on restart — budgets remain the durable cross-instance control. - **Dashboard live logs:** - `DASHBOARD_LIVE_LOGS_ENABLED` (true): keep enabled for low-latency dashboard previews; set false only when live streams are not needed or memory/socket usage must be minimized. With `LOGGING_LOG_BODIES` also enabled, in-flight streamed responses render chunk-by-chunk in the request log and Interactions drawer (throttled `audit.stream` events, published only while a dashboard is connected; partial bodies are never buffered server-side). diff --git a/cmd/gomodel/docs/docs.go b/cmd/gomodel/docs/docs.go index d43c99597..e32fea5be 100644 --- a/cmd/gomodel/docs/docs.go +++ b/cmd/gomodel/docs/docs.go @@ -6621,6 +6621,9 @@ const docTemplate = `{ "LOGGING_RETENTION_DAYS": { "type": "string" }, + "MCP_ENABLED": { + "type": "string" + }, "RATE_LIMITS_ENABLED": { "type": "string" }, @@ -6798,12 +6801,18 @@ const docTemplate = `{ "remaining": { "type": "number" }, + "scope": { + "type": "string" + }, "source": { "type": "string" }, "spent": { "type": "number" }, + "subject": { + "type": "string" + }, "updated_at": { "type": "string" }, @@ -6821,6 +6830,12 @@ const docTemplate = `{ "budget_key": { "$ref": "#/definitions/admin.budgetKeyRequest" }, + "scope": { + "type": "string" + }, + "subject": { + "type": "string" + }, "user_path": { "type": "string" } @@ -7179,6 +7194,12 @@ const docTemplate = `{ "period_seconds": { "type": "integer" }, + "scope": { + "type": "string" + }, + "subject": { + "type": "string" + }, "user_path": { "type": "string" } @@ -7304,6 +7325,12 @@ const docTemplate = `{ "budget_key": { "$ref": "#/definitions/admin.budgetKeyRequest" }, + "scope": { + "type": "string" + }, + "subject": { + "type": "string" + }, "user_path": { "type": "string" } @@ -10148,9 +10175,15 @@ const docTemplate = `{ "resets_in_seconds": { "type": "integer" }, + "scope": { + "type": "string" + }, "spent": { "type": "number" }, + "subject": { + "type": "string" + }, "usage_ratio": { "description": "UsageRatio is spent/amount, deliberately unclamped: values above 1\nmean the budget is blown through.", "type": "number" diff --git a/config/budget.go b/config/budget.go index b8bd01e4b..7800d2403 100644 --- a/config/budget.go +++ b/config/budget.go @@ -21,6 +21,14 @@ type BudgetsConfig struct { // UserPaths declares budget limits by tracked user path. UserPaths []BudgetUserPathConfig `yaml:"user_paths"` + + // Labels declares budget limits by request label. A request carrying + // several labels is charged against every matching label budget. + // + // Labels have no env-var form: they are matched verbatim and may contain + // characters and casing that env var names cannot express. Declare them + // here or through the admin API. + Labels []BudgetLabelConfig `yaml:"labels"` } // BudgetUserPathConfig declares one or more budget limits for a user path. @@ -29,6 +37,12 @@ type BudgetUserPathConfig struct { Limits []BudgetLimitConfig `yaml:"limits"` } +// BudgetLabelConfig declares one or more budget limits for a request label. +type BudgetLabelConfig struct { + Label string `yaml:"label"` + Limits []BudgetLimitConfig `yaml:"limits"` +} + // BudgetLimitConfig declares one spend limit for a reset period. // The json tags support the JSON-array form of SET_BUDGET_* env values. type BudgetLimitConfig struct { @@ -133,36 +147,57 @@ func validateBudgetConfig(cfg *BudgetsConfig) error { } seen := make(map[string]struct{}) for pathIdx, entry := range cfg.UserPaths { + field := fmt.Sprintf("budgets.user_paths[%d]", pathIdx) if strings.TrimSpace(entry.Path) == "" { - return fmt.Errorf("budgets.user_paths[%d].path is required", pathIdx) + return fmt.Errorf("%s.path is required", field) } normalizedPath, err := core.NormalizeUserPath(entry.Path) if err != nil { - return fmt.Errorf("budgets.user_paths[%d].path is invalid: %w", pathIdx, err) + return fmt.Errorf("%s.path is invalid: %w", field, err) } if normalizedPath == "" { - return fmt.Errorf("budgets.user_paths[%d].path is required", pathIdx) + return fmt.Errorf("%s.path is required", field) } cfg.UserPaths[pathIdx].Path = normalizedPath - for limitIdx, limit := range entry.Limits { - if math.IsNaN(limit.Amount) || math.IsInf(limit.Amount, 0) || limit.Amount <= 0 { - return fmt.Errorf("budgets.user_paths[%d].limits[%d].amount must be a finite number greater than 0", pathIdx, limitIdx) - } - seconds := limit.PeriodSeconds - if limit.PeriodSeconds <= 0 { - parsed, ok := budgetPeriodSeconds(limit.Period) - if !ok { - return fmt.Errorf("budgets.user_paths[%d].limits[%d].period must be one of hourly, daily, weekly, monthly or period_seconds must be set", pathIdx, limitIdx) - } - seconds = parsed - cfg.UserPaths[pathIdx].Limits[limitIdx].PeriodSeconds = seconds - } - key := normalizedPath + ":" + strconv.FormatInt(seconds, 10) - if _, ok := seen[key]; ok { - return fmt.Errorf("duplicate budget for path %s period %d", normalizedPath, seconds) + if err := validateBudgetLimits(cfg.UserPaths[pathIdx].Limits, field, "user_path", normalizedPath, seen); err != nil { + return err + } + } + for labelIdx, entry := range cfg.Labels { + field := fmt.Sprintf("budgets.labels[%d]", labelIdx) + label := strings.TrimSpace(entry.Label) + if label == "" { + return fmt.Errorf("%s.label is required", field) + } + cfg.Labels[labelIdx].Label = label + if err := validateBudgetLimits(cfg.Labels[labelIdx].Limits, field, "label", label, seen); err != nil { + return err + } + } + return nil +} + +// validateBudgetLimits validates and canonicalizes the limits of one budget +// subject in place, rejecting a period declared twice for the same subject. +func validateBudgetLimits(limits []BudgetLimitConfig, field, scope, subject string, seen map[string]struct{}) error { + for limitIdx, limit := range limits { + if math.IsNaN(limit.Amount) || math.IsInf(limit.Amount, 0) || limit.Amount <= 0 { + return fmt.Errorf("%s.limits[%d].amount must be a finite number greater than 0", field, limitIdx) + } + seconds := limit.PeriodSeconds + if seconds <= 0 { + parsed, ok := budgetPeriodSeconds(limit.Period) + if !ok { + return fmt.Errorf("%s.limits[%d].period must be one of hourly, daily, weekly, monthly or period_seconds must be set", field, limitIdx) } - seen[key] = struct{}{} + seconds = parsed + limits[limitIdx].PeriodSeconds = seconds + } + key := scope + "\x00" + subject + "\x00" + strconv.FormatInt(seconds, 10) + if _, ok := seen[key]; ok { + return fmt.Errorf("duplicate budget for %s %s period %d", scope, subject, seconds) } + seen[key] = struct{}{} } return nil } diff --git a/config/config.example.yaml b/config/config.example.yaml index 779e07887..400f1e58d 100644 --- a/config/config.example.yaml +++ b/config/config.example.yaml @@ -172,6 +172,13 @@ budgets: amount: 10.00 - period: "weekly" amount: 50.00 + labels: + # Request labels are matched verbatim, so they have no env-var form: + # declare label budgets here or in the dashboard. + - label: "Mobile-App-iOS" + limits: + - period: "monthly" + amount: 500.00 rate_limits: enabled: true # env: RATE_LIMITS_ENABLED; with no configured rules this has no effect diff --git a/config/config_test.go b/config/config_test.go index 25a6975a9..f9d243823 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -460,7 +460,7 @@ budgets: if err == nil { t.Fatal("Load() error = nil, want duplicate budget error") } - if !strings.Contains(err.Error(), "duplicate budget for path /team/alpha period 86400") { + if !strings.Contains(err.Error(), "duplicate budget for user_path /team/alpha period 86400") { t.Fatalf("Load() error = %v, want duplicate budget validation", err) } }) diff --git a/docs/features/budgets.mdx b/docs/features/budgets.mdx index 6e036dd53..1eb998464 100644 --- a/docs/features/budgets.mdx +++ b/docs/features/budgets.mdx @@ -1,21 +1,29 @@ --- title: "Budgets" -description: "Set spend limits per user path and enforce them through workflow budget controls." +description: "Set spend limits per user path or request label and enforce them through workflow budget controls." icon: "wallet" -keywords: ["budgets", "spend limits", "cost controls", "user path"] +keywords: ["budgets", "spend limits", "cost controls", "user path", "labels"] --- ## Overview -Budgets let you set spend limits for a `user_path` subtree. GoModel evaluates -them from tracked usage cost records and blocks matching requests when a limit -has already been spent. +Budgets let you set spend limits for a `user_path` subtree or a request +[label](/features/labelling). GoModel evaluates them from tracked usage cost +records and blocks matching requests when a limit has already been spent. + +Every budget has a **scope** that names what it limits: + +| Scope | Subject | Matches | +| ----------- | -------------------------- | ---------------------------------------------------- | +| `user_path` | A user path (`/team/alpha`) | That path and every path below it | +| `label` | A label (`Mobile-App-iOS`) | Every request carrying that label | Use budgets when you want limits such as: - `/team/alpha` can spend `$10` per day - `/team/alpha` can spend `$50` per week - `/` has a global monthly limit +- everything labelled `Mobile-App-iOS` can spend `$500` per month Budget enforcement runs only when budgets are globally enabled and the active @@ -56,11 +64,12 @@ Budgets -> Create Budget className="rounded-lg" /> -Set the **user path**, **period**, and **amount** in the form. Each row on the -Budgets page then shows spend as a percentage of the limit, the amount spent -versus the cap, and the remaining balance for the current period. -Dashboard-created budgets are marked as `manual`. Budgets loaded from YAML or -environment variables are marked as `config`. +Set the **scope**, **subject** (a user path or a label), **period**, and +**amount** in the form. Each row on the Budgets page then shows spend as a +percentage of the limit, the amount spent versus the cap, and the remaining +balance for the current period. Label budgets carry a `label` chip next to the +period. Dashboard-created budgets are marked as `manual`. Budgets loaded from +YAML or environment variables are marked as `config`. You can also seed budgets from YAML: @@ -78,6 +87,11 @@ budgets: limits: - period: "monthly" amount: 500.00 + labels: + - label: "Mobile-App-iOS" + limits: + - period: "monthly" + amount: 500.00 ``` Or use environment variables: @@ -97,6 +111,13 @@ The suffix after `SET_BUDGET_` becomes a user path. Use double underscores There is no escape for a literal double underscore inside a path segment. Use YAML or the dashboard for paths that need a `__` segment value. + + Label budgets have no environment-variable form. Labels are matched verbatim, + including their casing, and may contain characters that environment variable + names cannot express. Declare them under `budgets.labels` in YAML or create + them in the dashboard or admin API. + + Supported standard periods are: | Period | Seconds | @@ -136,8 +157,22 @@ Sibling paths do not match: - request path `/team-alpha` - result: budget does not apply -If multiple budgets match a request, GoModel checks all matching limits. The -request is rejected if any matching limit is exhausted. +Label budgets match a label exactly, with no subtree or case folding: + +- budget label `Mobile-App-iOS` +- request labels `["Mobile-App-iOS", "prod"]` +- result: budget applies + +- budget label `Mobile-App-iOS` +- request labels `["mobile-app-ios"]` +- result: budget does not apply + +Labels come from the tagging rules and from labels attached to the managed API +key that authenticated the request; see [Labelling](/features/labelling). A +request carrying several labels is charged against every matching label budget. + +If multiple budgets match a request, GoModel checks all matching limits in one +lookup. The request is rejected if any matching limit is exhausted. ## Workflow enforcement @@ -195,22 +230,47 @@ curl -H "Authorization: Bearer $GOMODEL_MASTER_KEY" \ http://localhost:8080/admin/budgets ``` -Create or update a budget: +Create or update a budget. A budget is identified by its `scope`, `subject`, +and period; `user_path` is accepted as a shorthand spelling of the subject for +user-path budgets: ```bash -curl -X PUT http://localhost:8080/admin/budgets/%2Fteam%2Falpha/daily \ +curl -X PUT http://localhost:8080/admin/budgets \ -H "Authorization: Bearer $GOMODEL_MASTER_KEY" \ -H "Content-Type: application/json" \ -d '{ + "scope": "user_path", + "subject": "/team/alpha", + "budget_key": { "period": "daily" }, "amount": 10.00 }' ``` +The same call for a label budget: + +```bash +curl -X PUT http://localhost:8080/admin/budgets \ + -H "Authorization: Bearer $GOMODEL_MASTER_KEY" \ + -H "Content-Type: application/json" \ + -d '{ + "scope": "label", + "subject": "Mobile-App-iOS", + "budget_key": { "period": "monthly" }, + "amount": 500.00 + }' +``` + Delete a budget: ```bash -curl -X DELETE http://localhost:8080/admin/budgets/%2Fteam%2Falpha/daily \ - -H "Authorization: Bearer $GOMODEL_MASTER_KEY" +curl -X DELETE http://localhost:8080/admin/budgets \ + -H "Authorization: Bearer $GOMODEL_MASTER_KEY" \ + -H "Content-Type: application/json" \ + -d '{ + "scope": "label", + "subject": "Mobile-App-iOS", + "budget_key": { "period": "monthly" } + }' ``` See [Admin Endpoints](/advanced/admin-endpoints) for the endpoint list. diff --git a/docs/features/labelling.mdx b/docs/features/labelling.mdx index d3ec40e8a..1fba33026 100644 --- a/docs/features/labelling.mdx +++ b/docs/features/labelling.mdx @@ -123,6 +123,8 @@ routes; translated routes never forward client headers anyway. - **Audit logs** — recorded under `data.labels` on each entry (audit logging is enabled by default). - **API keys page** — each key's labels are listed alongside its user path. +- **Budgets** — a budget can be scoped to a label, capping the spend of every + request carrying it. See [Budgets](/features/budgets). ## Defaults diff --git a/docs/openapi.json b/docs/openapi.json index ce129f55b..d1fa0e7b9 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -9714,6 +9714,9 @@ "LOGGING_RETENTION_DAYS": { "type": "string" }, + "MCP_ENABLED": { + "type": "string" + }, "RATE_LIMITS_ENABLED": { "type": "string" }, @@ -9903,12 +9906,18 @@ "remaining": { "type": "number" }, + "scope": { + "type": "string" + }, "source": { "type": "string" }, "spent": { "type": "number" }, + "subject": { + "type": "string" + }, "updated_at": { "type": "string" }, @@ -9926,6 +9935,12 @@ "budget_key": { "$ref": "#/components/schemas/admin.budgetKeyRequest" }, + "scope": { + "type": "string" + }, + "subject": { + "type": "string" + }, "user_path": { "type": "string" } @@ -10293,6 +10308,12 @@ "period_seconds": { "type": "integer" }, + "scope": { + "type": "string" + }, + "subject": { + "type": "string" + }, "user_path": { "type": "string" } @@ -10418,6 +10439,12 @@ "budget_key": { "$ref": "#/components/schemas/admin.budgetKeyRequest" }, + "scope": { + "type": "string" + }, + "subject": { + "type": "string" + }, "user_path": { "type": "string" } @@ -13311,9 +13338,15 @@ "resets_in_seconds": { "type": "integer" }, + "scope": { + "type": "string" + }, "spent": { "type": "number" }, + "subject": { + "type": "string" + }, "usage_ratio": { "description": "UsageRatio is spent/amount, deliberately unclamped: values above 1\nmean the budget is blown through.", "type": "number" diff --git a/internal/admin/dashboard/static/dist/assets/index-BSE-2hNO.js b/internal/admin/dashboard/static/dist/assets/index-BSE-2hNO.js deleted file mode 100644 index 3e101c361..000000000 --- a/internal/admin/dashboard/static/dist/assets/index-BSE-2hNO.js +++ /dev/null @@ -1,64 +0,0 @@ -var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var n=Array.isArray,r=Array.prototype.indexOf,i=Array.prototype.includes,a=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,l=Object.prototype,u=Array.prototype,d=Object.getPrototypeOf,f=Object.isExtensible;function p(e){return typeof e==`function`}var m=()=>{};function h(e){for(var t=0;t{e=n,t=r}),resolve:e,reject:t}}function _(e,t,n=!1){return e===void 0?n?t():t:e}function v(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var y=1<<24,b=1024,x=2048,S=4096,C=8192,w=16384,T=32768,ee=1<<25,te=65536,ne=1<<19,re=1<<20,ie=1<<25,ae=65536,oe=1<<21,se=1<<22,ce=1<<23,le=Symbol(`$state`),ue=Symbol(`legacy props`),de=Symbol(``),fe=Symbol(`attributes`),pe=Symbol(`class`),me=Symbol(`style`),he=Symbol(`text`),ge=Symbol(`form reset`),_e=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ve=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function ye(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function be(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function xe(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Se(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Ce(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function we(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Te(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Ee(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function De(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Oe(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function ke(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Ae={},je=Symbol(`uninitialized`),Me=`http://www.w3.org/1999/xhtml`,Ne=`http://www.w3.org/2000/svg`,Pe=`http://www.w3.org/1998/Math/MathML`;function Fe(){console.warn(`https://svelte.dev/e/derived_inert`)}function Ie(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Le(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Re(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var ze=!1;function Be(e){ze=e}var Ve;function He(e){if(e===null)throw Ie(),Ae;return Ve=e}function Ue(){return He(Sn(Ve))}function E(e){if(ze){if(Sn(Ve)!==null)throw Ie(),Ae;Ve=e}}function We(e=1){if(ze){for(var t=e,n=Ve;t--;)n=Sn(n);Ve=n}}function Ge(e=!0){for(var t=0,n=Ve;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=Sn(n);e&&n.remove(),n=i}}function Ke(e){if(!e||e.nodeType!==8)throw Ie(),Ae;return e.data}function qe(e){return e===this.v}function Je(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Ye(e){return!Je(e,this.v)}var Xe=null;function Ze(e){Xe=e}function D(e,t=!1,n){Xe={p:Xe,i:!1,c:null,e:null,s:e,x:null,r:sr,l:null}}function O(e){var t=Xe,n=t.e;if(n!==null){t.e=null;for(var r of n)Pn(r)}return e!==void 0&&(t.x=e),t.i=!0,Xe=t.p,e??{}}function Qe(){return!0}var $e=[];function et(){var e=$e;$e=[],h(e)}function tt(e){if($e.length===0&&!Bt){var t=$e;queueMicrotask(()=>{t===$e&&et()})}$e.push(e)}function nt(){for(;$e.length>0;)et()}function rt(e){var t=sr;if(t===null)return ir.f|=ce,e;if(!(t.f&32768)&&!(t.f&4))throw e;it(e,t)}function it(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var at=~(x|S|b);function ot(e,t){e.f=e.f&at|t}function st(e){e.f&512||e.deps===null?ot(e,b):ot(e,S)}function ct(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ae,ct(t.deps))}function lt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),ct(e.deps),ot(e,b)}var ut=!1;function dt(e){var t=ut;try{return ut=!1,[e(),ut]}finally{ut=t}}function ft(e,t){if(t){let t=document.body;e.autofocus=!0,tt(()=>{document.activeElement===t&&e.focus()})}}function pt(e){ze&&xn(e)!==null&&wn(e)}var mt=!1;function ht(){mt||(mt=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[ge]?.()})},{capture:!0}))}function gt(e){var t=ir,n=sr;or(null),cr(null);try{return e()}finally{or(t),cr(n)}}function _t(e,t,n,r=n){e.addEventListener(t,()=>gt(n));let i=e[ge];i?e[ge]=()=>{i(),r(!0)}:e[ge]=()=>r(!0),ht()}function vt(e){let t=0,n=on(0),r;return()=>{jn()&&(F(n),zn(()=>(t===0&&(r=kr(()=>e(()=>un(n)))),t+=1,()=>{tt(()=>{--t,t===0&&(r?.(),r=void 0,un(n))})})))}}var yt=te|ne;function bt(e,t,n,r){new xt(e,t,n,r)}var xt=class{parent;is_pending=!1;transform_error;#e;#t=ze?Ve:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=vt(()=>(this.#m=on(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=sr;t.b=this,t.f|=128,n(e)},this.parent=sr.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Bn(()=>{if(ze){let e=this.#t;Ue();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},yt),ze&&(this.#e=Ve)}#g(){try{this.#a=Hn(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=Hn(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Hn(()=>e(this.#e)),tt(()=>{var e=this.#c=document.createDocumentFragment(),t=bn();e.append(t),this.#a=this.#x(()=>Hn(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Yn(this.#o,()=>{this.#o=null}),this.#b(It))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Hn(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();$n(this.#a,e);let t=this.#n.pending;this.#o=Hn(()=>t(this.#e))}else this.#b(It)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){lt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=sr,n=ir,r=Xe;cr(this.#i),or(this.#i),Ze(this.#i.ctx);try{return Kt.ensure(),e()}catch(e){return rt(e),null}finally{cr(t),or(n),Ze(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Yn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,tt(()=>{this.#d=!1,this.#m&&cn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),F(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;It?.is_fork?(this.#a&&It.skip_effect(this.#a),this.#o&&It.skip_effect(this.#o),this.#s&&It.skip_effect(this.#s),It.oncommit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Kn(this.#a),null),this.#o&&=(Kn(this.#o),null),this.#s&&=(Kn(this.#s),null),ze&&(He(this.#t),We(),He(Ge()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){Re();return}r=!0,i&&ke(),this.#s!==null&&Yn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){it(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return Hn(()=>{var t=sr;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return it(e,this.#i.parent),null}}))};tt(()=>{var t;try{t=this.transform_error(e)}catch(e){it(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>it(e,this.#i&&this.#i.parent)):o(t)})}};function St(e,t,n,r){let i=Qe()?Et:kt;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=sr,c=Ct(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){it(e,s)}wt()}}var d=Tt();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>Ot(e))).then(u).catch(e=>it(e,s)).finally(d)}l?l.then(()=>{c(),f(),wt()}):f()}function Ct(){var e=sr,t=ir,n=Xe,r=It;return function(i=!0){cr(e),or(t),Ze(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function wt(e=!0){cr(null),or(null),Ze(null),e&&It?.deactivate()}function Tt(){var e=sr,t=e.b,n=It,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}function Et(e){var t=2|x;return sr!==null&&(sr.f|=ne),{ctx:Xe,deps:null,effects:null,equals:qe,f:t,fn:e,reactions:null,rv:0,v:je,wv:0,parent:sr,ac:null}}var Dt=Symbol(`obsolete`);function Ot(e,t,n){let r=sr;r===null&&ye();var i=void 0,a=on(je),o=!ir,s=new Set;return Rn(()=>{var t=sr,n=g();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==_e&&n.reject(e)}).finally(wt)}catch(e){n.reject(e),wt()}var c=It;if(o){if(t.f&32768)var l=Tt();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(Dt);else for(let e of s.values())e.reject(Dt);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==Dt&&(c.activate(),t?(a.f|=ce,cn(a,t)):(a.f&8388608&&(a.f^=ce),cn(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),Mn(()=>{for(let e of s)e.reject(Dt)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function k(e){let t=Et(e);return ur(t),t}function kt(e){let t=Et(e);return t.equals=Ye,t}function At(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n{t.ac.abort(_e),t.ac=null}),t.fn!==null&&(t.teardown=m),wr(t,0),Wn(t))}function Pt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Tr(t)}var Ft=null,It=null,Lt=null,Rt=null,zt=null,Bt=!1,Vt=!1,Ht=null,Ut=null,Wt=0,Gt=1,Kt=class e{id=Gt++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){Ft===null?Ft=this:(Ft.#n=this,this.#t=Ft),Ft=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)ot(r,x),t(r);for(r of n.m)ot(r,S),t(r)}this.#p.add(e)}#g(){this.#e=!0,Wt++>1e3&&(this.#x(),Jt());for(let e of this.#u)this.#d.delete(e),ot(e,x),this.schedule(e);for(let e of this.#d)ot(e,S),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=Ht=[],r=[],i=Ut=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw tn(e),this.#h()||this.discard(),t}if(It=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(Ht=null,Ut=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)en(e,t);i.length>0&&It.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),Lt=this,Xt(r),Xt(n),Lt=null,this.#s?.resolve();var s=It;if(this.#a===0&&(this.#c.length===0||s!==null)&&this.#x(),this.#c.length>0)if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this;s!==null&&s.#g()}#_(e,t,n){e.f^=b;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=b:i&4?t.push(r):br(r)&&(i&16&&this.#d.add(r),Tr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#y(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),ot(i,x),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#x(),It=this,this.#g()}#b(e){for(var t=0;t{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=g()).promise}static ensure(){if(It===null){let t=It=new e;!Vt&&!Bt&&tt(()=>{t.#e||t.flush()})}return It}apply(){Rt=null}schedule(e){if(zt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(Ht!==null&&t===sr&&(ir===null||!(ir.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=b}}this.#c.push(t)}#x(){if(this.linked){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?Ft=e:t.#t=e,this.linked=!1}}};function qt(e){var t=Bt;Bt=!0;try{var n;for(e&&(It!==null&&!It.is_fork&&It.flush(),n=e());;){if(nt(),It===null)return n;It.flush()}}finally{Bt=t}}function Jt(){try{we()}catch(e){it(e,zt)}}var Yt=null;function Xt(e){var t=e.length;if(t!==0){for(var n=0;n0)){rn.clear();for(let e of Yt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Yt.has(n)&&(Yt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Tr(n)}}Yt.clear()}}Yt=null}}function Zt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Zt(i,t,n,r):e&4194320&&!(e&2048)&&Qt(i,t,r)&&(ot(i,x),$t(i))}}function Qt(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(i.call(t,r))return!0;if(r.f&2&&Qt(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function $t(e){It.schedule(e)}function en(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),ot(e,b);for(var n=e.first;n!==null;)en(n,t),n=n.next}}function tn(e){ot(e,b);for(var t=e.first;t!==null;)tn(t),t=t.next}var nn=new Set,rn=new Map,an=!1;function on(e,t){return{f:0,v:e,reactions:null,equals:qe,rv:0,wv:0}}function A(e,t){let n=on(e,t);return ur(n),n}function sn(e,t=!1,n=!0){let r=on(e);return t||(r.equals=Ye),r}function j(e,t,n=!1){return ir!==null&&(!ar||ir.f&131072)&&Qe()&&ir.f&4325394&&(lr===null||!lr.has(e))&&Oe(),cn(e,n?fn(t):t,Ut)}function cn(e,t,n=null){if(!e.equals(t)){rn.set(e,nr?t:e.v);var r=Kt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&jt(t),Rt===null&&st(t)}e.wv=yr(),dn(e,x,n),Qe()&&sr!==null&&sr.f&1024&&!(sr.f&96)&&(pr===null?mr([e]):pr.push(e)),!r.is_fork&&nn.size>0&&!an&&ln()}return t}function ln(){an=!1;for(let e of nn){e.f&1024&&ot(e,S);let t;try{t=br(e)}catch{t=!0}t&&Tr(e)}nn.clear()}function un(e){j(e,e.v+1)}function dn(e,t,n){var r=e.reactions;if(r!==null)for(var i=Qe(),a=r.length,o=0;o{if(_r===c)return e();var t=ir,n=_r;or(null),vr(c);var r=e();return or(t),vr(n),r};return i&&r.set(`length`,A(e.length,o)),new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Ee();var i=r.get(t);return i===void 0?f(()=>{var e=A(n.value,o);return r.set(t,e),e}):j(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>A(je,o));r.set(t,e),un(a)}}else j(n,je),un(a);return!0},get(t,n,i){if(n===le)return e;var a=r.get(n),c=n in t;if(a===void 0&&(!c||s(t,n)?.writable)&&(a=f(()=>A(fn(c?t[n]:je),o)),r.set(n,a)),a!==void 0){var l=F(a);return l===je?void 0:l}return Reflect.get(t,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=F(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==je)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===le)return!0;var n=r.get(t),i=n!==void 0&&n.v!==je||Reflect.has(e,t);return(n!==void 0||sr!==null&&(!i||s(e,t)?.writable))&&(n===void 0&&(n=f(()=>A(i?fn(e[t]):je,o)),r.set(t,n)),F(n)===je)?!1:i},set(e,t,n,c){var l=r.get(t),u=t in e;if(i&&t===`length`)for(var d=n;dA(je,o)),r.set(d+``,p)):j(p,je)}if(l===void 0)(!u||s(e,t)?.writable)&&(l=f(()=>A(void 0,o)),j(l,fn(n)),r.set(t,l));else{u=l.v!==je;var m=f(()=>fn(n));j(l,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(c,n),!u){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&j(g,_+1)}un(a)}return!0},ownKeys(e){F(a);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==je});for(var[n,i]of r)i.v!==je&&!(n in e)&&t.push(n);return t},setPrototypeOf(){De()}})}function pn(e){try{if(typeof e==`object`&&e&&le in e)return e[le]}catch{}return e}function mn(e,t){return Object.is(pn(e),pn(t))}var hn,gn,_n,vn;function yn(){if(hn===void 0){hn=window,gn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;_n=s(t,`firstChild`).get,vn=s(t,`nextSibling`).get,f(e)&&(e[pe]=void 0,e[fe]=null,e[me]=void 0,e.__e=void 0),f(n)&&(n[he]=void 0)}}function bn(e=``){return document.createTextNode(e)}function xn(e){return _n.call(e)}function Sn(e){return vn.call(e)}function M(e,t){if(!ze)return xn(e);var n=xn(Ve);if(n===null)n=Ve.appendChild(bn());else if(t&&n.nodeType!==3){var r=bn();return n?.before(r),He(r),r}return t&&Dn(n),He(n),n}function Cn(e,t=!1){if(!ze){var n=xn(e);return n instanceof Comment&&n.data===``?Sn(n):n}if(t){if(Ve?.nodeType!==3){var r=bn();return Ve?.before(r),He(r),r}Dn(Ve)}return Ve}function N(e,t=1,n=!1){let r=ze?Ve:e;for(var i;t--;)i=r,r=Sn(r);if(!ze)return r;if(n){if(r?.nodeType!==3){var a=bn();return r===null?i?.after(a):r.before(a),He(a),a}Dn(r)}return He(r),r}function wn(e){e.textContent=``}function Tn(){return!1}function En(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function Dn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function On(e){sr===null&&(ir===null&&Ce(e),Se()),nr&&xe(e)}function kn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function An(e,t){var n=sr;n!==null&&n.f&8192&&(e|=C);var r={ctx:Xe,deps:null,nodes:null,f:e|x|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};It?.register_created_effect(r);var i=r;if(e&4)Ht===null?Kt.ensure().schedule(r):Ht.push(r);else if(t!==null){try{Tr(r)}catch(e){throw Kn(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=te))}if(i!==null&&(i.parent=n,n!==null&&kn(i,n),ir!==null&&ir.f&2&&!(e&64))){var a=ir;(a.effects??=[]).push(i)}return r}function jn(){return ir!==null&&!ar}function Mn(e){let t=An(8,null);return ot(t,b),t.teardown=e,t}function Nn(e){On(`$effect`);var t=sr.f;if(!ir&&t&32&&Xe!==null&&!Xe.i){var n=Xe;(n.e??=[]).push(e)}else return Pn(e)}function Pn(e){return An(4|re,e)}function Fn(e){Kt.ensure();let t=An(64|ne,e);return()=>{Kn(t)}}function In(e){Kt.ensure();let t=An(64|ne,e);return(e={})=>new Promise(n=>{e.outro?Yn(t,()=>{Kn(t),n(void 0)}):(Kn(t),n(void 0))})}function Ln(e){return An(4,e)}function Rn(e){return An(se|ne,e)}function zn(e,t=0){return An(8|t,e)}function P(e,t=[],n=[],r=[]){St(r,t,n,t=>{An(8,()=>{e(...t.map(F))})})}function Bn(e,t=0){return An(16|t,e)}function Vn(e,t=0){return An(y|t,e)}function Hn(e){return An(32|ne,e)}function Un(e){var t=e.teardown;if(t!==null){let e=nr,n=ir;rr(!0),or(null);try{t.call(null)}finally{rr(e),or(n)}}}function Wn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&>(()=>{e.abort(_e)});var r=n.next;n.f&64?n.parent=null:Kn(n,t),n=r}}function Gn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Kn(t),t=n}}function Kn(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(qn(e.nodes.start,e.nodes.end),n=!0),e.f|=ee,Wn(e,t&&!n),wr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Un(e),e.f^=ee,e.f|=w;var i=e.parent;i!==null&&i.first!==null&&Jn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function qn(e,t){for(;e!==null;){var n=e===t?null:Sn(e);e.remove(),e=n}}function Jn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Yn(e,t,n=!0){var r=[];Xn(e,r,!0);var i=()=>{n&&Kn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Xn(e,t,n){if(!(e.f&8192)){e.f^=C;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Xn(i,t,o?n:!1)}i=a}}}function Zn(e){Qn(e,!0)}function Qn(e,t){if(e.f&8192){e.f^=C,e.f&1024||(ot(e,x),Kt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;Qn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function $n(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Sn(n);t.append(n),n=i}}var er=null,tr=!1,nr=!1;function rr(e){nr=e}var ir=null,ar=!1;function or(e){ir=e}var sr=null;function cr(e){sr=e}var lr=null;function ur(e){ir!==null&&(lr??=new Set).add(e)}var dr=null,fr=0,pr=null;function mr(e){pr=e}var hr=1,gr=0,_r=gr;function vr(e){_r=e}function yr(){return++hr}function br(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ae),t&4096){for(var n=e.deps,r=n.length,i=0;ie.wv)return!0}t&512&&Rt===null&&ot(e,b)}return!1}function xr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(lr!==null&&lr.has(e)))for(var i=0;i{e.ac.abort(_e)}),e.ac=null);try{e.f|=oe;var u=e.fn,d=u();e.f|=T;var f=e.deps,p=It?.is_fork;if(dr!==null){var m;if(p||wr(e,fr),f!==null&&fr>0)for(f.length=fr+dr.length,m=0;m{s.ac.abort(_e),s.ac=null,ot(s,x)}),Nt(s),wr(s,0)}}function wr(e,t){var n=e.deps;if(n!==null)for(var r=t;rn?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?tt(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Hr(e,t,n,r,i){var a={capture:r,passive:i},o=Vr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Mn(()=>{t.removeEventListener(e,o,a)})}function I(e,t,n){(t[Rr]??={})[e]=n}function Ur(e){for(var t=0;t{throw e});throw p}}finally{e[Rr]=t,delete e.currentTarget,or(d),cr(f)}}}var Kr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function qr(e){return Kr?.createHTML(e)??e}function Jr(e){var t=En(`template`);return t.innerHTML=qr(e.replaceAll(``,``)),t.content}function Yr(e,t){var n=sr;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function L(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(``);return()=>{if(ze)return Yr(Ve,null),Ve;i===void 0&&(i=Jr(a?e:``+e),n||(i=xn(i)));var t=r||gn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=xn(t),s=t.lastChild;Yr(o,s)}else Yr(t,t);return t}}function Xr(e,t,n=`svg`){var r=!e.startsWith(``),i=(t&1)!=0,a=`<${n}>${r?e:``+e}`,o;return()=>{if(ze)return Yr(Ve,null),Ve;if(!o){var e=xn(Jr(a));if(i)for(o=document.createDocumentFragment();xn(e);)o.appendChild(xn(e));else o=xn(e)}var t=o.cloneNode(!0);if(i){var n=xn(t),r=t.lastChild;Yr(n,r)}else Yr(t,t);return t}}function Zr(e,t){return Xr(e,t,`svg`)}function Qr(e=``){if(!ze){var t=bn(e+``);return Yr(t,t),t}var n=Ve;return n.nodeType===3?Dn(n):(n.before(n=bn()),He(n)),Yr(n,n),n}function $r(){if(ze)return Yr(Ve,null),Ve;var e=document.createDocumentFragment(),t=document.createComment(``),n=bn();return e.append(t,n),Yr(t,n),e}function R(e,t){if(ze){var n=sr;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=Ve),Ue();return}e!==null&&e.before(t)}var ei=!0;function z(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[he]??=e.nodeValue)&&(e[he]=n,e.nodeValue=`${n}`)}function ti(e,t){return ri(e,t)}var ni=new Map;function ri(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0,transformError:c}){yn();var l=void 0,u=In(()=>{var u=n??t.appendChild(bn());bt(u,{pending:()=>{}},t=>{D({});var n=Xe;if(o&&(n.c=o),i&&(r.$$events=i),ze&&Yr(t,null),ei=s,l=e(t,r)||{},ei=!0,ze&&(sr.nodes.end=Ve,Ve===null||Ve.nodeType!==8||Ve.data!==`]`))throw Ie(),Ae;O()},c);var d=new Set,f=e=>{for(var n=0;n{for(var e of d)for(let n of[t,document]){var r=ni.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Gr),r.delete(e),r.size===0&&ni.delete(n)):r.set(e,i)}Br.delete(f),u!==n&&u.parentNode?.removeChild(u)}});return ii.set(l,u),l}var ii=new WeakMap,ai=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Zn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(Zn(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(Kn(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();$n(r,t),t.append(bn()),this.#n.set(e,{effect:r,fragment:t})}else Kn(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Yn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(Kn(n.effect),this.#n.delete(e))};ensure(e,t){var n=It,r=Tn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=bn();i.append(a),this.#n.set(e,{effect:Hn(()=>t(a)),fragment:i})}else this.#t.set(e,Hn(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else ze&&(this.anchor=Ve),this.#a(n)}};function B(e,t,n=!1){var r;ze&&(r=Ve,Ue());var i=new ai(e),a=n?te:0;function o(e,t){if(ze){var n=Ke(r);if(e!==parseInt(n.substring(1))){var a=Ge();He(a),i.anchor=a,Be(!1),i.ensure(e,t),Be(!0);return}}i.ensure(e,t)}Bn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function oi(e,t){return t}function si(e,t,n){for(var r=[],i=t.length,o,s=t.length,c=0;c{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;ci(e,a(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else--s},!1)}if(s===0){var l=r.length===0&&n!==null;if(l){var u=n,d=u.parentNode;wn(d),d.append(u),e.items.clear()}ci(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function ci(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i{var e=r();return n(e)?e:e==null?[]:a(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,di(v,p,c,t,i),d!==null&&(p.length===0?d.f&33554432?(d.f^=ie,pi(d,null,c)):Zn(d):Yn(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:Bn(()=>{p=F(f);var e=p.length;let n=!1;ze&&Ke(c)===`[!`!=(e===0)&&(c=Ge(),He(c),Be(!1),n=!0);for(var a=new Set,u=It,v=Tn(),y=0;ys(c)):(d=Hn(()=>s(li??=bn())),d.f|=ie)),e>a.size&&be(``,``,``),ze&&e>0&&He(Ge()),!h)if(m.set(u,a),v){for(let[e,t]of l)a.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);n&&Be(!0),F(f)}),flags:t,items:l,pending:m,outrogroups:null,fallback:d};h=!1,ze&&(c=Ve)}function ui(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function di(e,t,n,r,i){var o=(r&8)!=0,s=t.length,c=e.items,l=ui(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v0){var ee=r&4&&s===0?n:null;if(o){for(v=0;v{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function fi(e,t,n,r,i,a,o,s){var c=o&1?o&16?on(n):sn(n,!1,!1):null,l=o&2?on(i):null;return{v:c,i:l,e:Hn(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function pi(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=Sn(r);if(a.before(r),r===i)return;r=o}}function mi(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function hi(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;ze&&(o=He(xn(c)))}P(()=>{var e=sr;if(s===(s=t()??``)){ze&&Ue();return}if(n&&!ze){e.nodes=null,c.innerHTML=s,s!==``&&Yr(xn(c),c.lastChild);return}if(e.nodes!==null&&(qn(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(ze){for(var a=Ve.data,l=Ue(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=Sn(l);if(l===null)throw Ie(),Ae;Yr(Ve,u),o=He(l);return}var d=En(r?`svg`:i?`math`:`template`,r?Ne:i?Pe:void 0);d.innerHTML=s;var f=r||i?d:d.content;if(Yr(xn(f),f.lastChild),r||i)for(;xn(f);)o.before(xn(f));else o.before(f)}})}function gi(e,t,...n){var r=new ai(e);Bn(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},te)}function _i(e,t,n){var r;ze&&(r=Ve,Ue());var i=new ai(e);Bn(()=>{var e=t()??null;if(ze&&Ke(r)===`[`!=(e!==null)){var a=Ge();He(a),i.anchor=a,Be(!1),i.ensure(e,e&&(t=>n(t,e))),Be(!0);return}i.ensure(e,e&&(t=>n(t,e)))},te)}var vi=()=>performance.now(),yi={tick:e=>requestAnimationFrame(e),now:()=>vi(),tasks:new Set};function bi(){let e=yi.now();yi.tasks.forEach(t=>{t.c(e)||(yi.tasks.delete(t),t.f())}),yi.tasks.size!==0&&yi.tick(bi)}function xi(e){let t;return yi.tasks.size===0&&yi.tick(bi),{promise:new Promise(n=>{yi.tasks.add(t={c:e,f:n})}),abort(){yi.tasks.delete(t)}}}function Si(e,t){gt(()=>{e.dispatchEvent(new CustomEvent(t))})}function Ci(e){if(e===`float`)return`cssFloat`;if(e===`offset`)return`cssOffset`;if(e.startsWith(`--`))return e;let t=e.split(`-`);return t.length===1?t[0]:t[0]+t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function wi(e){let t={},n=e.split(`;`);for(let e of n){let[n,r]=e.split(`:`);if(!n||r===void 0)break;let i=Ci(n.trim());t[i]=r.trim()}return t}var Ti=e=>e;function Ei(e,t,n,r){var i=(e&1)!=0,a=(e&2)!=0,o=i&&a,s=(e&4)!=0,c=o?`both`:i?`in`:`out`,l,u=t.inert,d=t.style.overflow,f,p;function m(){return gt(()=>l??=n()(t,r?.()??{},{direction:c}))}var h={is_global:s,in(){if(t.inert=u,!i){p?.abort(),p?.reset?.();return}a||f?.abort(),f=Di(t,m(),p,1,()=>{Si(t,`introstart`)},()=>{Si(t,`introend`),f?.abort(),f=l=void 0,t.style.overflow=d})},out(e){if(!a){e?.(),l=void 0;return}t.inert=!0,p=Di(t,m(),f,0,()=>{Si(t,`outrostart`)},()=>{Si(t,`outroend`),e?.()})},stop:()=>{f?.abort(),p?.abort()}},g=sr;if((g.nodes.t??=[]).push(h),i&&ei){var _=s;if(!_){for(var v=g.parent;v&&v.f&65536;)for(;(v=v.parent)&&!(v.f&16););_=!v||(v.f&32768)!=0}_&&Ln(()=>{kr(()=>h.in())})}}function Di(e,t,n,r,i,a){var o=r===1;if(p(t)){var s,c=!1;return tt(()=>{c||(s=Di(e,t({direction:o?`in`:`out`}),n,r,i,a))}),{abort:()=>{c=!0,s?.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return i(),a(),{abort:m,deactivate:m,reset:m,t:()=>r};let{delay:l=0,css:u,tick:d,easing:f=Ti}=t;var h=[];if(o&&n===void 0&&(d&&d(0,1),u)){var g=wi(u(0,1));h.push(g,g)}var _=()=>1-r,v=e.animate(h,{duration:l,fill:`forwards`});return v.onfinish=()=>{v.cancel(),i();var o=n?.t()??1-r;n?.abort();var s=r-o,c=t.duration*Math.abs(s),l=[];if(c>0){var p=!1;if(u)for(var m=Math.ceil(c/(1e3/60)),h=0;h<=m;h+=1){var g=o+s*f(h/m),y=wi(u(g,1-g));l.push(y),p||=y.overflow===`hidden`}p&&(e.style.overflow=`hidden`),_=()=>{var e=v.currentTime;return o+s*f(e/c)},d&&xi(()=>{if(v.playState!==`running`)return!1;var e=_();return d(e,1-e),!0})}v=e.animate(l,{duration:c,fill:`forwards`}),v.onfinish=()=>{_=()=>r,d?.(r,1-r),a()}},{abort:()=>{v&&(v.cancel(),v.effect=null,v.onfinish=m)},deactivate:()=>{a=m},reset:()=>{r===0&&d?.(1,0)},t:()=>_()}}function Oi(e,t){var n=void 0,r;Vn(()=>{n!==(n=t())&&(r&&=(Kn(r),null),n&&(r=Hn(()=>{Ln(()=>n(e))})))})}function ki(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t=0;){var s=o+a;(o===0||Mi.includes(r[o-1]))&&(s===r.length||Mi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Pi(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Fi(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Ii(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Fi)),i&&c.push(...Object.keys(i).map(Fi));var l=0,u=-1;let t=e.length;for(var d=0;d{zi(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),Mn(()=>{t.disconnect()})}function Vi(e,t,n=t){var r=new WeakSet,i=!0;_t(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),Hi);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&Hi(o)}n(a),e.__value=a,It!==null&&r.add(It)}),Ln(()=>{var a=t();if(e===document.activeElement){var o=It;if(r.has(o))return}if(zi(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Hi(s),n(a))}e.__value=a,i=!1}),Bi(e)}function Hi(e){return`__value`in e?e.__value:e.value}var Ui=Symbol(`class`),Wi=Symbol(`style`),Gi=Symbol(`is custom element`),Ki=Symbol(`is html`),qi=ve?`link`:`LINK`,Ji=ve?`input`:`INPUT`,Yi=ve?`option`:`OPTION`,Xi=ve?`select`:`SELECT`,Zi=ve?`progress`:`PROGRESS`;function U(e){if(ze){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;W(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;W(e,`checked`,null),e.checked=r}}};e[ge]=n,tt(n),ht()}}function Qi(e,t){var n=ra(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Zi)||(e.value=t??``)}function $i(e,t){var n=ra(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function ea(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function W(e,t,n,r){var i=ra(e);ze&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===qi)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[de]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&aa(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function ta(e,t,n,r,i=!1,a=!1){if(ze&&i&&e.nodeName===Ji){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||U(o)}var s=ra(e),c=s[Gi],l=!s[Ki];let u=ze&&c;u&&Be(!1);var d=t||{},f=e.nodeName===Yi;for(var p in t)p in n||(n[p]=null);n.class?n.class=ji(n.class):(r||n[Ui])&&(n.class=null),n[Wi]&&(n.style??=null);var m=aa(e);if(e.nodeName===Ji&&`type`in n&&(`value`in n||`__value`in n)){var h=n.type;(h!==d.type||h===void 0&&e.hasAttribute(`type`))&&(d.type=h,W(e,`type`,h,a))}for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){H(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[Ui],n[Ui]),d[i]=o,d[Ui]=n[Ui];continue}if(i===`style`){Ri(e,o,t?.[Wi],n[Wi]),d[i]=o,d[Wi]=n[Wi];continue}var g=d[i];if(!(o===g&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var _=i[0]+i[1];if(_!==`$$`)if(_===`on`){let t={},n=`$$`+i,r=i.slice(2);var v=Mr(r);if(Ar(r)&&(r=r.slice(0,-7),t.capture=!0),!v&&g){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(v)I(r,e,o),Ur([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=Vr(r,e,a,t)}}else if(i===`style`)W(e,i,o);else if(i===`autofocus`)ft(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)ea(e,o);else{var y=i;l||(y=Fr(y));var b=y===`defaultValue`||y===`defaultChecked`;if(o==null&&!c&&!b)if(s[i]=null,y===`value`||y===`checked`){let n=e,r=t===void 0;if(y===`value`){let e=n.defaultValue;n.removeAttribute(y),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(y),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else b||m.includes(y)&&(c||typeof o!=`string`)?(e[y]=o,y in s&&(s[y]=je)):typeof o!=`function`&&W(e,y,o,a)}}}return u&&Be(!0),d}function na(e,t,n=[],r=[],i=[],a,o=!1,s=!1){St(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===Xi,l=!1;if(Vn(()=>{var u=t(...n.map(F)),d=ta(e,r,u,a,o,s);l&&c&&`value`in u&&zi(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||Kn(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&Kn(i[t]),i[t]=Hn(()=>Oi(e,()=>f))),d[t]=f}r=d}),c){var u=e;Ln(()=>{zi(u,r.value,!0),Bi(u)})}l=!0})}function ra(e){return e[fe]??={[Gi]:e.nodeName.includes(`-`),[Ki]:e.namespaceURI===Me}}var ia=new Map;function aa(e){var t=e.getAttribute(`is`)||e.nodeName,n=ia.get(t);if(n)return n;ia.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=c(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=d(i)}return n}function oa(e,t,n=t){var r=new WeakSet;_t(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=ca(e)?la(a):a,n(a),It!==null&&r.add(It),await Er(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(ze&&e.defaultValue!==e.value||kr(t)==null&&e.value)&&(n(ca(e)?la(e.value):e.value),It!==null&&r.add(It)),zn(()=>{var n=t();if(e===document.activeElement){var i=It;if(r.has(i))return}ca(e)&&n===la(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function sa(e,t,n=t){_t(e,`change`,t=>{n(t?e.defaultChecked:e.checked)}),(ze&&e.defaultChecked!==e.checked||kr(t)==null)&&n(e.checked),zn(()=>{e.checked=!!t()})}function ca(e){var t=e.type;return t===`number`||t===`range`}function la(e){return e===``?null:+e}function ua(e,t){return e===t||e?.[le]===t}function da(e={},t,n,r){var i=Xe.r,a=sr;return Ln(()=>{var o,s;return zn(()=>{o=s,s=r?.()||[],kr(()=>{ua(n(...s),e)||(t(e,...s),o&&ua(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&ua(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var fa={get(e,t){if(!e.exclude.has(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.has(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return!e.exclude.has(t)&&t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.has(t))}};function pa(e,t,n){return new Proxy({props:e,exclude:t},fa)}function ma(e,t,n,r){var i=!0,a=(n&8)!=0,o=(n&16)!=0,c=r,l=!0,u=void 0,d=()=>o&&i?(u??=Et(r),F(u)):(l&&(l=!1,c=o?kr(r):r),c);let f;if(a){var p=le in e||ue in e;f=s(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;a?[m,h]=dt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Te(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?Et:kt)(()=>(v=!1,g()));a&&F(y);var b=sr;return(function(e,t){if(arguments.length>0){let n=t?F(y):i&&a?fn(e):e;return j(y,n),v=!0,c!==void 0&&(c=n),e}return nr&&v||b.f&16384?y.v:F(y)})}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var ha=[[`path`,{d:`m14 12 4 4 4-4`}],[`path`,{d:`M18 16V7`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],ga=[[`path`,{d:`m14 11 4-4 4 4`}],[`path`,{d:`M18 16V7`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],_a=[[`circle`,{cx:`16`,cy:`4`,r:`1`}],[`path`,{d:`m18 19 1-7-6 1`}],[`path`,{d:`m5 8 3-3 5.5 3-2.36 3.5`}],[`path`,{d:`M4.24 14.5a5 5 0 0 0 6.88 6`}],[`path`,{d:`M13.76 17.5a5 5 0 0 0-6.88-6`}]],va=[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`}]],ya=[[`path`,{d:`m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16`}],[`path`,{d:`M15.697 14h5.606`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],ba=[[`path`,{d:`M10 13H6`}],[`path`,{d:`M10 15v-4a2 2 0 0 0-4 0v4`}],[`path`,{d:`M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],xa=[[`path`,{d:`M18 17.5a2.5 2.5 0 1 1-4 2.03V12`}],[`path`,{d:`M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 8h12`}],[`path`,{d:`M6.6 15.572A2 2 0 1 0 10 17v-5`}]],Sa=[[`path`,{d:`M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1`}],[`path`,{d:`m12 15 5 6H7Z`}]],Ca=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`M9 13h6`}]],wa=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`m9 13 2 2 4-4`}]],Ta=[[`path`,{d:`M6.87 6.87a8 8 0 1 0 11.26 11.26`}],[`path`,{d:`M19.9 14.25a8 8 0 0 0-9.15-9.15`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.26 18.67 4 21`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4 4 2 6`}]],Ea=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}]],Da=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M12 9v4l2 2`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}]],Oa=[[`path`,{d:`M11 21c0-2.5 2-2.5 2-5`}],[`path`,{d:`M16 21c0-2.5 2-2.5 2-5`}],[`path`,{d:`m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8`}],[`path`,{d:`M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 21c0-2.5 2-2.5 2-5`}]],ka=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`polyline`,{points:`11 3 11 11 14 8 17 11 17 3`}]],Aa=[[`path`,{d:`M2 12h20`}],[`path`,{d:`M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4`}],[`path`,{d:`M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4`}],[`path`,{d:`M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1`}]],ja=[[`path`,{d:`M12 2v20`}],[`path`,{d:`M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4`}],[`path`,{d:`M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4`}],[`path`,{d:`M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1`}],[`path`,{d:`M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1`}]],Ma=[[`rect`,{width:`6`,height:`16`,x:`4`,y:`2`,rx:`2`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`9`,rx:`2`}],[`path`,{d:`M22 22H2`}]],Na=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M17 22v-5`}],[`path`,{d:`M17 7V2`}],[`path`,{d:`M7 22v-3`}],[`path`,{d:`M7 5V2`}]],Pa=[[`rect`,{width:`16`,height:`6`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`9`,height:`6`,x:`9`,y:`14`,rx:`2`}],[`path`,{d:`M22 22V2`}]],Fa=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M10 2v20`}],[`path`,{d:`M20 2v20`}]],Ia=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M4 2v20`}],[`path`,{d:`M14 2v20`}]],La=[[`rect`,{width:`6`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`7`,rx:`2`}],[`path`,{d:`M12 2v20`}]],Ra=[[`rect`,{width:`6`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`12`,y:`7`,rx:`2`}],[`path`,{d:`M22 2v20`}]],za=[[`rect`,{width:`6`,height:`14`,x:`6`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`7`,rx:`2`}],[`path`,{d:`M2 2v20`}]],Ba=[[`rect`,{width:`6`,height:`10`,x:`9`,y:`7`,rx:`2`}],[`path`,{d:`M4 22V2`}],[`path`,{d:`M20 22V2`}]],Va=[[`rect`,{width:`6`,height:`16`,x:`4`,y:`6`,rx:`2`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`6`,rx:`2`}],[`path`,{d:`M22 2H2`}]],Ha=[[`rect`,{width:`6`,height:`14`,x:`3`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`15`,y:`7`,rx:`2`}],[`path`,{d:`M3 2v20`}],[`path`,{d:`M21 2v20`}]],Ua=[[`rect`,{width:`9`,height:`6`,x:`6`,y:`14`,rx:`2`}],[`rect`,{width:`16`,height:`6`,x:`6`,y:`4`,rx:`2`}],[`path`,{d:`M2 2v20`}]],Wa=[[`path`,{d:`M22 17h-3`}],[`path`,{d:`M22 7h-5`}],[`path`,{d:`M5 17H2`}],[`path`,{d:`M7 7H2`}],[`rect`,{x:`5`,y:`14`,width:`14`,height:`6`,rx:`2`}],[`rect`,{x:`7`,y:`4`,width:`10`,height:`6`,rx:`2`}]],Ga=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`14`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`4`,rx:`2`}],[`path`,{d:`M2 20h20`}],[`path`,{d:`M2 10h20`}]],Ka=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`14`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`4`,rx:`2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M2 4h20`}]],qa=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`16`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`2`,rx:`2`}],[`path`,{d:`M2 12h20`}]],Ja=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`12`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`2`,rx:`2`}],[`path`,{d:`M2 22h20`}]],Ya=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`16`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`6`,rx:`2`}],[`path`,{d:`M2 2h20`}]],Xa=[[`rect`,{width:`10`,height:`6`,x:`7`,y:`9`,rx:`2`}],[`path`,{d:`M22 20H2`}],[`path`,{d:`M22 4H2`}]],Za=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`15`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`3`,rx:`2`}],[`path`,{d:`M2 21h20`}],[`path`,{d:`M2 3h20`}]],Qa=[[`path`,{d:`M10 10H6`}],[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14`}],[`path`,{d:`M8 8v4`}],[`path`,{d:`M9 18h6`}],[`circle`,{cx:`17`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],$a=[[`path`,{d:`M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5`}],[`path`,{d:`M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5`}]],eee=[[`path`,{d:`M16 12h3`}],[`path`,{d:`M17.5 12a8 8 0 0 1-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13`}]],tee=[[`path`,{d:`M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8`}],[`path`,{d:`M10 5H8a2 2 0 0 0 0 4h.68`}],[`path`,{d:`M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8`}],[`path`,{d:`M14 5h2a2 2 0 0 1 0 4h-.68`}],[`path`,{d:`M18 22H6`}],[`path`,{d:`M9 2h6`}]],nee=[[`path`,{d:`M12 6v16`}],[`path`,{d:`m19 13 2-1a9 9 0 0 1-18 0l2 1`}],[`path`,{d:`M9 11h6`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}]],ree=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2`}],[`path`,{d:`M7.5 8 10 9`}],[`path`,{d:`m14 9 2.5-1`}],[`path`,{d:`M9 10h.01`}],[`path`,{d:`M15 10h.01`}]],iee=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 15h8`}],[`path`,{d:`M8 9h2`}],[`path`,{d:`M14 9h2`}]],aee=[[`path`,{d:`M2 12 7 2`}],[`path`,{d:`m7 12 5-10`}],[`path`,{d:`m12 12 5-10`}],[`path`,{d:`m17 12 5-10`}],[`path`,{d:`M4.5 7h15`}],[`path`,{d:`M12 16v6`}]],oee=[[`path`,{d:`M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4`}],[`path`,{d:`M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z`}],[`path`,{d:`M9 12v5`}],[`path`,{d:`M15 12v5`}],[`path`,{d:`M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1`}]],eo=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m14.31 8 5.74 9.94`}],[`path`,{d:`M9.69 8h11.48`}],[`path`,{d:`m7.38 12 5.74-9.94`}],[`path`,{d:`M9.69 16 3.95 6.06`}],[`path`,{d:`M14.31 16H2.83`}],[`path`,{d:`m16.62 12-5.74 9.94`}]],to=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M10 8h.01`}],[`path`,{d:`M14 8h.01`}]],no=[[`path`,{d:`M12 6.528V3a1 1 0 0 1 1-1h0`}],[`path`,{d:`M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21`}]],ro=[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}],[`path`,{d:`M10 4v4`}],[`path`,{d:`M2 8h20`}],[`path`,{d:`M6 4v4`}]],io=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`}],[`path`,{d:`m9 15 3-3 3 3`}],[`path`,{d:`M12 12v9`}]],ao=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}],[`path`,{d:`m9.5 17 5-5`}],[`path`,{d:`m9.5 12 5 5`}]],oo=[[`path`,{d:`M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3`}],[`path`,{d:`M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],so=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}],[`path`,{d:`M10 12h4`}]],co=[[`path`,{d:`M14 8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-6.939 6.939a1.207 1.207 0 0 1-1.708 0l-6.94-6.94a.707.707 0 0 1 .5-1.206H8a1 1 0 0 0 1-1V9a1 1 0 0 1 1-1z`}],[`path`,{d:`M9 4h6`}]],lo=[[`path`,{d:`M9 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-7.086 7.086a1 1 0 0 1-1.414 0l-7.086-7.086a.707.707 0 0 1 .5-1.207H8a1 1 0 0 0 1-1z`}]],uo=[[`path`,{d:`M13 9a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707l6.94 6.94a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z`}],[`path`,{d:`M20 9v6`}]],fo=[[`path`,{d:`M10.793 19.793a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707z`}]],po=[[`path`,{d:`M11 9a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707l-6.94 6.94a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H9a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`}],[`path`,{d:`M4 9v6`}]],mo=[[`path`,{d:`M13.207 19.793a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707z`}]],ho=[[`path`,{d:`M14 16a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-6.939-6.939a1.207 1.207 0 0 0-1.708 0l-6.94 6.94a.707.707 0 0 0 .5 1.206H8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1z`}],[`path`,{d:`M9 20h6`}]],go=[[`path`,{d:`M9 19a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-6a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-7.086-7.086a1 1 0 0 0-1.414 0l-7.086 7.086a.707.707 0 0 0 .5 1.207H8a1 1 0 0 1 1 1z`}]],_o=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`rect`,{x:`15`,y:`4`,width:`4`,height:`6`,ry:`2`}],[`path`,{d:`M17 20v-6h-2`}],[`path`,{d:`M15 20h4`}]],vo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M17 10V4h-2`}],[`path`,{d:`M15 10h4`}],[`rect`,{x:`15`,y:`14`,width:`4`,height:`6`,ry:`2`}]],yo=[[`path`,{d:`M19 3H5`}],[`path`,{d:`M12 21V7`}],[`path`,{d:`m6 15 6 6 6-6`}]],bo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M20 8h-5`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`}],[`path`,{d:`M15 14h5l-5 6h5`}]],xo=[[`path`,{d:`M17 7 7 17`}],[`path`,{d:`M17 17H7V7`}]],So=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h4`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h10`}]],Co=[[`path`,{d:`m7 7 10 10`}],[`path`,{d:`M17 7v10H7`}]],wo=[[`path`,{d:`M12 17V3`}],[`path`,{d:`m6 11 6 6 6-6`}],[`path`,{d:`M19 21H5`}]],To=[[`path`,{d:`M12 2v14`}],[`path`,{d:`m19 9-7 7-7-7`}],[`circle`,{cx:`12`,cy:`21`,r:`1`}]],Eo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`m21 8-4-4-4 4`}],[`path`,{d:`M17 4v16`}]],Do=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h10`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h4`}]],Oo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M15 4h5l-5 6h5`}],[`path`,{d:`M15 20v-3.5a2.5 2.5 0 0 1 5 0V20`}],[`path`,{d:`M20 18h-5`}]],ko=[[`path`,{d:`m9 6-6 6 6 6`}],[`path`,{d:`M3 12h14`}],[`path`,{d:`M21 19V5`}]],Ao=[[`path`,{d:`M12 5v14`}],[`path`,{d:`m19 12-7 7-7-7`}]],jo=[[`path`,{d:`M8 3 4 7l4 4`}],[`path`,{d:`M4 7h16`}],[`path`,{d:`m16 21 4-4-4-4`}],[`path`,{d:`M20 17H4`}]],Mo=[[`path`,{d:`M3 19V5`}],[`path`,{d:`m13 6-6 6 6 6`}],[`path`,{d:`M7 12h14`}]],No=[[`path`,{d:`m12 19-7-7 7-7`}],[`path`,{d:`M19 12H5`}]],Po=[[`path`,{d:`M3 5v14`}],[`path`,{d:`M21 12H7`}],[`path`,{d:`m15 18 6-6-6-6`}]],Fo=[[`path`,{d:`m16 3 4 4-4 4`}],[`path`,{d:`M20 7H4`}],[`path`,{d:`m8 21-4-4 4-4`}],[`path`,{d:`M4 17h16`}]],Io=[[`path`,{d:`M17 12H3`}],[`path`,{d:`m11 18 6-6-6-6`}],[`path`,{d:`M21 5v14`}]],Lo=[[`path`,{d:`M5 12h14`}],[`path`,{d:`m12 5 7 7-7 7`}]],Ro=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`rect`,{x:`15`,y:`4`,width:`4`,height:`6`,ry:`2`}],[`path`,{d:`M17 20v-6h-2`}],[`path`,{d:`M15 20h4`}]],zo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M17 10V4h-2`}],[`path`,{d:`M15 10h4`}],[`rect`,{x:`15`,y:`14`,width:`4`,height:`6`,ry:`2`}]],Bo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M20 8h-5`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`}],[`path`,{d:`M15 14h5l-5 6h5`}]],Vo=[[`path`,{d:`m21 16-4 4-4-4`}],[`path`,{d:`M17 20V4`}],[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}]],Ho=[[`path`,{d:`m5 9 7-7 7 7`}],[`path`,{d:`M12 16V2`}],[`circle`,{cx:`12`,cy:`21`,r:`1`}]],Uo=[[`path`,{d:`m18 9-6-6-6 6`}],[`path`,{d:`M12 3v14`}],[`path`,{d:`M5 21h14`}]],Wo=[[`path`,{d:`M7 17V7h10`}],[`path`,{d:`M17 17 7 7`}]],Go=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h4`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h10`}]],Ko=[[`path`,{d:`M7 7h10v10`}],[`path`,{d:`M7 17 17 7`}]],qo=[[`path`,{d:`M5 3h14`}],[`path`,{d:`m18 13-6-6-6 6`}],[`path`,{d:`M12 7v14`}]],Jo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h4`}]],Yo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M15 4h5l-5 6h5`}],[`path`,{d:`M15 20v-3.5a2.5 2.5 0 0 1 5 0V20`}],[`path`,{d:`M20 18h-5`}]],Xo=[[`path`,{d:`m5 12 7-7 7 7`}],[`path`,{d:`M12 19V5`}]],Zo=[[`path`,{d:`M12 6v12`}],[`path`,{d:`M17.196 9 6.804 15`}],[`path`,{d:`m6.804 9 10.392 6`}]],Qo=[[`path`,{d:`m4 6 3-3 3 3`}],[`path`,{d:`M7 17V3`}],[`path`,{d:`m14 6 3-3 3 3`}],[`path`,{d:`M17 17V3`}],[`path`,{d:`M4 21h16`}]],$o=[[`path`,{d:`M12.983 21.186a1 1 0 0 1-1.966 0 10 10 0 0 0-8.203-8.203 1 1 0 0 1 0-1.966 10 10 0 0 0 8.203-8.203 1 1 0 0 1 1.966 0 10 10 0 0 0 8.203 8.203 1 1 0 0 1 0 1.966 10 10 0 0 0-8.203 8.203`}]],es=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`}]],ts=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z`}],[`path`,{d:`M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z`}]],ns=[[`path`,{d:`M2 10v3`}],[`path`,{d:`M6 6v11`}],[`path`,{d:`M10 3v18`}],[`path`,{d:`M14 8v7`}],[`path`,{d:`M18 5v13`}],[`path`,{d:`M22 10v3`}]],rs=[[`path`,{d:`m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526`}],[`circle`,{cx:`12`,cy:`8`,r:`6`}]],is=[[`path`,{d:`m14 12-8.381 8.38a1 1 0 0 1-3.001-3L11 9`}],[`path`,{d:`M15 15.5a.5.5 0 0 0 .5.5A6.5 6.5 0 0 0 22 9.5a.5.5 0 0 0-.5-.5h-1.672a2 2 0 0 1-1.414-.586l-5.062-5.062a1.205 1.205 0 0 0-1.704 0L9.352 5.648a1.205 1.205 0 0 0 0 1.704l5.062 5.062A2 2 0 0 1 15 13.828z`}]],as=[[`path`,{d:`M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2`}]],os=[[`path`,{d:`M13.5 10.5 15 9`}],[`path`,{d:`M4 4v15a1 1 0 0 0 1 1h15`}],[`path`,{d:`M4.293 19.707 6 18`}],[`path`,{d:`m9 15 1.5-1.5`}]],ss=[[`path`,{d:`M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}],[`path`,{d:`M8 10h8`}],[`path`,{d:`M8 18h8`}],[`path`,{d:`M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6`}],[`path`,{d:`M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2`}]],cs=[[`path`,{d:`M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5`}],[`path`,{d:`M15 12h.01`}],[`path`,{d:`M19.38 6.813A9 9 0 0 1 20.8 10.2a2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1`}],[`path`,{d:`M9 12h.01`}]],ls=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]],us=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M15.4 10a4 4 0 1 0 0 4`}]],ds=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m9 12 2 2 4-4`}]],fs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`}],[`path`,{d:`M12 18V6`}]],ps=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M7 12h5`}],[`path`,{d:`M15 9.4a4 4 0 1 0 0 5.2`}]],ms=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M8 8h8`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m13 17-5-1h1a4 4 0 0 0 0-8`}]],hs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`8`,y2:`8`}]],gs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m9 8 3 3v7`}],[`path`,{d:`m12 11 3-3`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M9 16h6`}]],_s=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],vs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],ys=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`16`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],bs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M8 12h4`}],[`path`,{d:`M10 16V9.5a2.5 2.5 0 0 1 5 0`}],[`path`,{d:`M8 16h7`}]],xs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`line`,{x1:`12`,x2:`12.01`,y1:`17`,y2:`17`}]],Ss=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M9 16h5`}],[`path`,{d:`M9 12h5a2 2 0 1 0 0-4h-3v9`}]],Cs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M11 17V8h4`}],[`path`,{d:`M11 12h3`}],[`path`,{d:`M9 16h4`}]],ws=[[`path`,{d:`M11 7v10a5 5 0 0 0 5-5`}],[`path`,{d:`m15 8-6 3`}],[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76`}]],Ts=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`15`,x2:`9`,y1:`9`,y2:`15`}],[`line`,{x1:`9`,x2:`15`,y1:`9`,y2:`15`}]],Es=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}]],Ds=[[`path`,{d:`M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2`}],[`path`,{d:`M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10`}],[`rect`,{width:`13`,height:`8`,x:`8`,y:`6`,rx:`1`}],[`circle`,{cx:`18`,cy:`20`,r:`2`}],[`circle`,{cx:`9`,cy:`20`,r:`2`}]],Os=[[`path`,{d:`M12 16v1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v1`}],[`path`,{d:`M12 6a2 2 0 0 1 2 2`}],[`path`,{d:`M18 8c0 4-3.5 8-6 8s-6-4-6-8a6 6 0 0 1 12 0`}]],ks=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M4.929 4.929 19.07 19.071`}]],As=[[`path`,{d:`M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5`}],[`path`,{d:`M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z`}]],js=[[`path`,{d:`M10 10.01h.01`}],[`path`,{d:`M10 14.01h.01`}],[`path`,{d:`M14 10.01h.01`}],[`path`,{d:`M14 14.01h.01`}],[`path`,{d:`M18 6v12`}],[`path`,{d:`M6 6v12`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`}]],Ms=[[`path`,{d:`M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`m16 19 3 3 3-3`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Ns=[[`path`,{d:`M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M19 22v-6`}],[`path`,{d:`m22 19-3-3-3 3`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Ps=[[`path`,{d:`M11.748 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4.875`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Fs=[[`path`,{d:`M13 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`m17 17 5 5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`m22 17-5 5`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Is=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M6 12h.01M18 12h.01`}]],Ls=[[`path`,{d:`M3 5v14`}],[`path`,{d:`M8 5v14`}],[`path`,{d:`M12 5v14`}],[`path`,{d:`M17 5v14`}],[`path`,{d:`M21 5v14`}]],Rs=[[`path`,{d:`M10 3a41 41 0 0 0 0 18`}],[`path`,{d:`M14 3a41 41 0 0 1 0 18`}],[`path`,{d:`M17 3a2 2 0 0 1 1.68.92 15.25 15.25 0 0 1 0 16.16A2 2 0 0 1 17 21H7a2 2 0 0 1-1.68-.92 15.25 15.25 0 0 1 0-16.16A2 2 0 0 1 7 3z`}],[`path`,{d:`M3.84 17h16.32`}],[`path`,{d:`M3.84 7h16.32`}]],zs=[[`path`,{d:`M4 20h16`}],[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}]],Bs=[[`path`,{d:`M10 4 8 6`}],[`path`,{d:`M17 19v2`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`M7 19v2`}],[`path`,{d:`M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`}]],Vs=[[`path`,{d:`m11 7-3 5h4l-3 5`}],[`path`,{d:`M14.856 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.935`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M5.14 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.936`}]],Hs=[[`path`,{d:`M10 10v4`}],[`path`,{d:`M14 10v4`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 10v4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Us=[[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 14v-4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Ws=[[`path`,{d:`M10 14v-4`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 14v-4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Gs=[[`path`,{d:`M10 9v6`}],[`path`,{d:`M12.543 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.605`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M7 12h6`}],[`path`,{d:`M7.606 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.606`}]],Ks=[[`path`,{d:`M10 17h.01`}],[`path`,{d:`M10 7v6`}],[`path`,{d:`M14 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2`}]],qs=[[`path`,{d:`M 22 14 L 22 10`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Js=[[`path`,{d:`M4.5 3h15`}],[`path`,{d:`M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3`}],[`path`,{d:`M6 14h12`}]],Ys=[[`path`,{d:`M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1`}],[`path`,{d:`M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66`}],[`path`,{d:`M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],Xs=[[`path`,{d:`M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z`}],[`path`,{d:`M5.341 10.62a4 4 0 1 0 5.279-5.28`}]],Zs=[[`path`,{d:`M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8`}],[`path`,{d:`M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4`}],[`path`,{d:`M12 4v6`}],[`path`,{d:`M2 18h20`}]],Qs=[[`path`,{d:`M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8`}],[`path`,{d:`M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4`}],[`path`,{d:`M3 18h18`}]],$s=[[`path`,{d:`M2 4v16`}],[`path`,{d:`M2 8h18a2 2 0 0 1 2 2v10`}],[`path`,{d:`M2 17h20`}],[`path`,{d:`M6 8v9`}]],ec=[[`path`,{d:`M11.771 6.109a2.5 2.5 0 0 1 3.12 3.12`}],[`path`,{d:`M17.852 12.185a6.5 6.5 0 0 0-9.035-9.04`}],[`path`,{d:`M18.013 18.013C15.029 20.349 10.831 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5`}],[`path`,{d:`m18.5 6 2.19 4.5a6.48 6.48 0 0 1-.139 4.393`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6.355 6.37a7 7 0 0 0-.075.23c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c3.356 0 6.993-1.267 9.85-3.151`}]],tc=[[`path`,{d:`M16.4 13.7A6.5 6.5 0 1 0 6.28 6.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3`}],[`path`,{d:`m18.5 6 2.19 4.5a6.48 6.48 0 0 1-2.29 7.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5`}],[`circle`,{cx:`12.5`,cy:`8.5`,r:`2.5`}]],nc=[[`path`,{d:`M13 13v5`}],[`path`,{d:`M17 11.47V8`}],[`path`,{d:`M17 11h1a3 3 0 0 1 2.745 4.211`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268`}],[`path`,{d:`M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12`}],[`path`,{d:`M9 14.6V18`}]],rc=[[`path`,{d:`M17 11h1a3 3 0 0 1 0 6h-1`}],[`path`,{d:`M9 12v6`}],[`path`,{d:`M13 12v6`}],[`path`,{d:`M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z`}],[`path`,{d:`M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`}]],ic=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M11.68 2.009A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673c-.824-.85-1.678-1.731-2.21-3.348`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],ac=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`m15 8 2 2 4-4`}],[`path`,{d:`M16.8607 4.4824A6 6 0 0 0 6 8C6 12.499 4.589 13.956 3.262 15.326`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17H20A1 1 0 0 0 20.74 15.327C20.209 14.779 19.665 14.218 19.203 13.454`}]],oc=[[`path`,{d:`M18.518 17.347A7 7 0 0 1 14 19`}],[`path`,{d:`M18.8 4A11 11 0 0 1 20 9`}],[`path`,{d:`M9 9h.01`}],[`circle`,{cx:`20`,cy:`16`,r:`2`}],[`circle`,{cx:`9`,cy:`9`,r:`7`}],[`rect`,{x:`4`,y:`16`,width:`10`,height:`6`,rx:`2`}]],sc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M15 8h6`}],[`path`,{d:`M16.243 3.757A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673A9.4 9.4 0 0 1 18.667 12`}]],cc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`}]],lc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M15 8h6`}],[`path`,{d:`M18 5v6`}],[`path`,{d:`M20.002 14.464a9 9 0 0 0 .738.863A1 1 0 0 1 20 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 8.75-5.332`}]],uc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`}]],dc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`}]],fc=[[`rect`,{width:`13`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`m22 15-3-3 3-3`}],[`rect`,{width:`13`,height:`7`,x:`3`,y:`14`,rx:`1`}]],pc=[[`rect`,{width:`13`,height:`7`,x:`8`,y:`3`,rx:`1`}],[`path`,{d:`m2 9 3 3-3 3`}],[`rect`,{width:`13`,height:`7`,x:`8`,y:`14`,rx:`1`}]],mc=[[`rect`,{width:`7`,height:`13`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`m9 22 3-3 3 3`}],[`rect`,{width:`7`,height:`13`,x:`14`,y:`3`,rx:`1`}]],hc=[[`rect`,{width:`7`,height:`13`,x:`3`,y:`8`,rx:`1`}],[`path`,{d:`m15 2-3 3-3-3`}],[`rect`,{width:`7`,height:`13`,x:`14`,y:`8`,rx:`1`}]],gc=[[`path`,{d:`M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1`}],[`path`,{d:`M15 14a5 5 0 0 0-7.584 2`}],[`path`,{d:`M9.964 6.825C8.019 7.977 9.5 13 8 15`}]],_c=[[`circle`,{cx:`18.5`,cy:`17.5`,r:`3.5`}],[`circle`,{cx:`5.5`,cy:`17.5`,r:`3.5`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`path`,{d:`M12 17.5V14l-3-3 4-3 2 3h2`}]],vc=[[`rect`,{x:`14`,y:`14`,width:`4`,height:`6`,rx:`2`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`6`,rx:`2`}],[`path`,{d:`M6 20h4`}],[`path`,{d:`M14 10h4`}],[`path`,{d:`M6 14h2v6`}],[`path`,{d:`M14 4h2v6`}]],yc=[[`circle`,{cx:`12`,cy:`11.9`,r:`2`}],[`path`,{d:`M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6`}],[`path`,{d:`m8.9 10.1 1.4.8`}],[`path`,{d:`M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5`}],[`path`,{d:`m15.1 10.1-1.4.8`}],[`path`,{d:`M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2`}],[`path`,{d:`M12 13.9v1.6`}],[`path`,{d:`M13.5 5.4c-1-.2-2-.2-3 0`}],[`path`,{d:`M17 16.4c.7-.7 1.2-1.6 1.5-2.5`}],[`path`,{d:`M5.5 13.9c.3.9.8 1.8 1.5 2.5`}]],bc=[[`path`,{d:`M10 10h4`}],[`path`,{d:`M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3`}],[`path`,{d:`M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z`}],[`path`,{d:`M 22 16 L 2 16`}],[`path`,{d:`M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z`}],[`path`,{d:`M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3`}]],xc=[[`path`,{d:`M16 7h.01`}],[`path`,{d:`M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20`}],[`path`,{d:`m20 7 2 .5-2 .5`}],[`path`,{d:`M10 18v3`}],[`path`,{d:`M14 17.75V21`}],[`path`,{d:`M7 18a6 6 0 0 0 3.84-10.61`}]],Sc=[[`path`,{d:`M12 18v4`}],[`path`,{d:`m17 18 1.956-11.468`}],[`path`,{d:`m3 8 7.82-5.615a2 2 0 0 1 2.36 0L21 8`}],[`path`,{d:`M4 18h16`}],[`path`,{d:`M7 18 5.044 6.532`}],[`circle`,{cx:`12`,cy:`10`,r:`2`}]],Cc=[[`path`,{d:`M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727`}]],wc=[[`circle`,{cx:`9`,cy:`9`,r:`7`}],[`circle`,{cx:`15`,cy:`15`,r:`7`}]],Tc=[[`path`,{d:`M3 3h18`}],[`path`,{d:`M20 7H8`}],[`path`,{d:`M20 11H8`}],[`path`,{d:`M10 19h10`}],[`path`,{d:`M8 15h12`}],[`path`,{d:`M4 3v14`}],[`circle`,{cx:`4`,cy:`19`,r:`2`}]],Ec=[[`path`,{d:`M8 14a2 2 0 0 0-1.963 1.615l-1.018 5.193A1 1 0 0 0 6 22h12a1 1 0 0 0 .981-1.192l-1.018-5.193A2 2 0 0 0 16 14z`}],[`path`,{d:`m17 2-1 12`}],[`path`,{d:`M8.006 14 7 2`}],[`path`,{d:`M7.565 8.787A5 5 0 0 0 12 8a5 5 0 0 1 4.56-.75`}],[`path`,{d:`M19 2H5a2 2 0 0 0-2 2v5a2 2 0 0 0 .688 1.5`}],[`path`,{d:`M12 18h.01`}]],Dc=[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`}]],Oc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`12`}],[`line`,{x1:`3`,x2:`6`,y1:`12`,y2:`12`}]],kc=[[`path`,{d:`m17 17-5 5V12l-5 5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M14.5 9.5 17 7l-5-5v4.5`}]],Ac=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}],[`path`,{d:`M20.83 14.83a4 4 0 0 0 0-5.66`}],[`path`,{d:`M18 12h.01`}]],jc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}]],Mc=[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`}]],Nc=[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],Pc=[[`circle`,{cx:`11`,cy:`13`,r:`9`}],[`path`,{d:`M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95`}],[`path`,{d:`m22 2-1.5 1.5`}]],Fc=[[`path`,{d:`M14 4.5a1 1 0 0 1 5 0 .5.5 0 0 0 .5.5 1 1 0 0 1 0 5c-.81 0-1.8-.7-2.5 0l-1.958 1.957a.15.15 0 0 1-.252-.072l-.493-2.07a.15.15 0 0 0-.111-.112l-2.072-.494a.15.15 0 0 1-.072-.252L14 7c.7-.7 0-1.69 0-2.5`}],[`path`,{d:`m16 20-1-2`}],[`path`,{d:`m20 16-2-1`}],[`path`,{d:`m4 8 2 1`}],[`path`,{d:`m8 4 1 2`}],[`path`,{d:`M9.698 14.19a.15.15 0 0 0 .112.112l2.074.489a.15.15 0 0 1 .072.252L10 17c-.7.7 0 1.69 0 2.5a1 1 0 0 1-5 0 .495.495 0 0 0-.5-.5 1 1 0 0 1 0-5c.81 0 1.8.7 2.5 0l1.956-1.957a.15.15 0 0 1 .252.072z`}]],Ic=[[`path`,{d:`M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z`}]],Lc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m8 13 4-7 4 7`}],[`path`,{d:`M9.1 11h5.7`}]],Rc=[[`path`,{d:`M12 13h.01`}],[`path`,{d:`M12 6v3`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],zc=[[`path`,{d:`M12 6v7`}],[`path`,{d:`M16 8v3`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 8v3`}]],Bc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 9.5 2 2 4-4`}]],Vc=[[`path`,{d:`M5 7a2 2 0 0 0-2 2v11`}],[`path`,{d:`M5.803 18H5a2 2 0 0 0 0 4h9.5a.5.5 0 0 0 .5-.5V21`}],[`path`,{d:`M9 15V4a2 2 0 0 1 2-2h9.5a.5.5 0 0 1 .5.5v14a.5.5 0 0 1-.5.5H11a2 2 0 0 1 0-4h10`}]],Hc=[[`path`,{d:`M12 17h1.5`}],[`path`,{d:`M12 22h1.5`}],[`path`,{d:`M12 2h1.5`}],[`path`,{d:`M17.5 22H19a1 1 0 0 0 1-1`}],[`path`,{d:`M17.5 2H19a1 1 0 0 1 1 1v1.5`}],[`path`,{d:`M20 14v3h-2.5`}],[`path`,{d:`M20 8.5V10`}],[`path`,{d:`M4 10V8.5`}],[`path`,{d:`M4 19.5V14`}],[`path`,{d:`M4 4.5A2.5 2.5 0 0 1 6.5 2H8`}],[`path`,{d:`M8 22H6.5a1 1 0 0 1 0-5H8`}]],Uc=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 10 3 3 3-3`}]],Wc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 12v-2a4 4 0 0 1 8 0v2`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`12`,r:`1`}]],Gc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8.62 9.8A2.25 2.25 0 1 1 12 6.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}]],Kc=[[`path`,{d:`m20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`10`,cy:`8`,r:`2`}]],qc=[[`path`,{d:`M13 2H6.5A2.5 2.5 0 0 0 4 4.5v15`}],[`path`,{d:`M17 2v6`}],[`path`,{d:`M17 4h2`}],[`path`,{d:`M20 15.2V21a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`17`,cy:`10`,r:`2`}]],Jc=[[`path`,{d:`M18 6V4a2 2 0 1 0-4 0v2`}],[`path`,{d:`M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10`}],[`rect`,{x:`12`,y:`6`,width:`8`,height:`5`,rx:`1`}]],Yc=[[`path`,{d:`M10 2v8l3-3 3 3V2`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],Xc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M9 10h6`}]],Zc=[[`path`,{d:`M12 5v16`}],[`path`,{d:`m16 12 2 2 4-4`}],[`path`,{d:`M22 6V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2h4.001A2 2 0 0022 17v-1.344`}]],Qc=[[`path`,{d:`M12 5v16`}],[`path`,{d:`M16 13h2`}],[`path`,{d:`M16 9h2`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`}],[`path`,{d:`M6 13h2`}],[`path`,{d:`M6 9h2`}]],$c=[[`path`,{d:`M12 5v16`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`}]],el=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M9 10h6`}]],tl=[[`path`,{d:`M11 22H5.5a1 1 0 0 1 0-5h4.501`}],[`path`,{d:`m21 22-1.879-1.878`}],[`path`,{d:`M3 19.5v-15A2.5 2.5 0 0 1 5.5 2H18a1 1 0 0 1 1 1v8`}],[`circle`,{cx:`17`,cy:`18`,r:`3`}]],nl=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 11h8`}],[`path`,{d:`M8 7h6`}]],rl=[[`path`,{d:`M10 13h4`}],[`path`,{d:`M12 6v7`}],[`path`,{d:`M16 8V6H8v2`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],il=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2`}],[`path`,{d:`m9 10 3-3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],al=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 10 3-3 3 3`}]],ol=[[`path`,{d:`M15 13a3 3 0 1 0-6 0`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}]],sl=[[`path`,{d:`m14.5 7-5 5`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9.5 7 5 5`}]],cl=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],ll=[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}],[`path`,{d:`m9 10 2 2 4-4`}]],ul=[[`path`,{d:`M15 10H9`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],dl=[[`path`,{d:`M19 19v1a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.656 3H17a2 2 0 0 1 2 2v8.344`}]],fl=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M15 10H9`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],pl=[[`path`,{d:`m14.5 7.5-5 5`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}],[`path`,{d:`m9.5 7.5 5 5`}]],ml=[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],hl=[[`path`,{d:`M12 6V2H8`}],[`path`,{d:`M15 11v2`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`M20 16a2 2 0 0 1-2 2H8.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 4 20.286V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z`}],[`path`,{d:`M9 11v2`}]],gl=[[`path`,{d:`M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4`}],[`path`,{d:`M8 8v1`}],[`path`,{d:`M12 8v1`}],[`path`,{d:`M16 8v1`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`9`,rx:`2`}],[`circle`,{cx:`8`,cy:`15`,r:`2`}],[`circle`,{cx:`16`,cy:`15`,r:`2`}]],_l=[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M22 22 2 2`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`}],[`path`,{d:`M9 13v2`}],[`path`,{d:`M9.67 4H12v2.33`}]],vl=[[`path`,{d:`M12 8V4H8`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M15 13v2`}],[`path`,{d:`M9 13v2`}]],yl=[[`path`,{d:`M10 3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a6 6 0 0 0 1.2 3.6l.6.8A6 6 0 0 1 17 13v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8a6 6 0 0 1 1.2-3.6l.6-.8A6 6 0 0 0 10 5z`}],[`path`,{d:`M17 13h-4a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h4`}]],bl=[[`path`,{d:`M17 3h4v4`}],[`path`,{d:`M18.575 11.082a13 13 0 0 1 1.048 9.027 1.17 1.17 0 0 1-1.914.597L14 17`}],[`path`,{d:`M7 10 3.29 6.29a1.17 1.17 0 0 1 .6-1.91 13 13 0 0 1 9.03 1.05`}],[`path`,{d:`M7 14a1.7 1.7 0 0 0-1.207.5l-2.646 2.646A.5.5 0 0 0 3.5 18H5a1 1 0 0 1 1 1v1.5a.5.5 0 0 0 .854.354L9.5 18.207A1.7 1.7 0 0 0 10 17v-2a1 1 0 0 0-1-1z`}],[`path`,{d:`M9.707 14.293 21 3`}]],xl=[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`}],[`path`,{d:`M12 22V12`}]],Sl=[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`}],[`path`,{d:`m7 16.5-4.74-2.85`}],[`path`,{d:`m7 16.5 5-3`}],[`path`,{d:`M7 16.5v5.17`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`}],[`path`,{d:`m17 16.5-5-3`}],[`path`,{d:`m17 16.5 4.74-2.85`}],[`path`,{d:`M17 16.5v5.17`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`}],[`path`,{d:`M12 8 7.26 5.15`}],[`path`,{d:`m12 8 4.74-2.85`}],[`path`,{d:`M12 13.5V8`}]],Cl=[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`}]],wl=[[`path`,{d:`M16 3h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M8 21H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3`}]],Tl=[[`path`,{d:`M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z`}],[`path`,{d:`M9 13a4.5 4.5 0 0 0 3-4`}],[`path`,{d:`M6.003 5.125A3 3 0 0 0 6.401 6.5`}],[`path`,{d:`M3.477 10.896a4 4 0 0 1 .585-.396`}],[`path`,{d:`M6 18a4 4 0 0 1-1.967-.516`}],[`path`,{d:`M12 13h4`}],[`path`,{d:`M12 18h6a2 2 0 0 1 2 2v1`}],[`path`,{d:`M12 8h8`}],[`path`,{d:`M16 8V5a2 2 0 0 1 2-2`}],[`circle`,{cx:`16`,cy:`13`,r:`.5`}],[`circle`,{cx:`18`,cy:`3`,r:`.5`}],[`circle`,{cx:`20`,cy:`21`,r:`.5`}],[`circle`,{cx:`20`,cy:`8`,r:`.5`}]],El=[[`path`,{d:`m10.852 14.772-.383.923`}],[`path`,{d:`m10.852 9.228-.383-.923`}],[`path`,{d:`m13.148 14.772.382.924`}],[`path`,{d:`m13.531 8.305-.383.923`}],[`path`,{d:`m14.772 10.852.923-.383`}],[`path`,{d:`m14.772 13.148.923.383`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 0 0-5.63-1.446 3 3 0 0 0-.368 1.571 4 4 0 0 0-2.525 5.771`}],[`path`,{d:`M17.998 5.125a4 4 0 0 1 2.525 5.771`}],[`path`,{d:`M19.505 10.294a4 4 0 0 1-1.5 7.706`}],[`path`,{d:`M4.032 17.483A4 4 0 0 0 11.464 20c.18-.311.892-.311 1.072 0a4 4 0 0 0 7.432-2.516`}],[`path`,{d:`M4.5 10.291A4 4 0 0 0 6 18`}],[`path`,{d:`M6.002 5.125a3 3 0 0 0 .4 1.375`}],[`path`,{d:`m9.228 10.852-.923-.383`}],[`path`,{d:`m9.228 13.148-.923.383`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],Dl=[[`path`,{d:`M12 18V5`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`}]],Ol=[[`path`,{d:`M12 9v1.258`}],[`path`,{d:`M16 3v5.46`}],[`path`,{d:`M21 9.118V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5.75`}],[`path`,{d:`M22 17.5c0 2.499-1.75 3.749-3.83 4.474a.5.5 0 0 1-.335-.005c-2.085-.72-3.835-1.97-3.835-4.47V14a.5.5 0 0 1 .5-.499c1 0 2.25-.6 3.12-1.36a.6.6 0 0 1 .76-.001c.875.765 2.12 1.36 3.12 1.36a.5.5 0 0 1 .5.5z`}],[`path`,{d:`M3 15h7`}],[`path`,{d:`M3 9h12.142`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],kl=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 9v6`}],[`path`,{d:`M16 15v6`}],[`path`,{d:`M16 3v6`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],Al=[[`path`,{d:`M16 3v2.107`}],[`path`,{d:`M17 9c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 22 17a5 5 0 0 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C13 11.5 16 9 17 9`}],[`path`,{d:`M21 8.274V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.938`}],[`path`,{d:`M3 15h5.253`}],[`path`,{d:`M3 9h8.228`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],jl=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M22 13a18.15 18.15 0 0 1-20 0`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Ml=[[`path`,{d:`M10 20v2`}],[`path`,{d:`M14 20v2`}],[`path`,{d:`M18 20v2`}],[`path`,{d:`M21 20H3`}],[`path`,{d:`M6 20v2`}],[`path`,{d:`M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12`}],[`rect`,{x:`4`,y:`6`,width:`16`,height:`10`,rx:`2`}]],Nl=[[`path`,{d:`M12 11v4`}],[`path`,{d:`M14 13h-4`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M18 6v14`}],[`path`,{d:`M6 6v14`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Pl=[[`path`,{d:`M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Fl=[[`path`,{d:`M10 13a3 3 0 0 1-2.121-5.121`}],[`path`,{d:`M15.606 14.204c-3.5 1.5-5.899 4.503-8.899 7.503A1 1 0 0 1 6 22c-2 0-4-2-4-4a1 1 0 0 1 .293-.707c1.911-1.911 3.823-3.578 5.347-5.441`}],[`path`,{d:`M16.573 14.737A4 4 0 0 1 14 11`}],[`path`,{d:`M7.14 10.907a4 4 0 1 1 2.756-7.43A4 4 0 0 1 16.7 4.48a2 2 0 0 1 2.82 2.82 4 4 0 0 1 1.002 6.805A4 4 0 1 1 13 16`}]],Il=[[`path`,{d:`m16 22-1-4`}],[`path`,{d:`M19 14a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2h-3a1 1 0 0 1-1-1V4a2 2 0 0 0-4 0v5a1 1 0 0 1-1 1H6a2 2 0 0 0-2 2v1a1 1 0 0 0 1 1`}],[`path`,{d:`M19 14H5l-1.973 6.767A1 1 0 0 0 4 22h16a1 1 0 0 0 .973-1.233z`}],[`path`,{d:`m8 22 1-4`}]],Ll=[[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`2`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2`}],[`path`,{d:`M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2`}]],Rl=[[`path`,{d:`m11 10 3 3`}],[`path`,{d:`M6.5 21A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z`}],[`path`,{d:`M9.969 17.031 21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031`}]],zl=[[`path`,{d:`M7.001 15.085A1.5 1.5 0 0 1 9 16.5`}],[`circle`,{cx:`18.5`,cy:`8.5`,r:`3.5`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`5.5`}],[`circle`,{cx:`7.5`,cy:`4.5`,r:`2.5`}]],Bl=[[`path`,{d:`M12 20v-8`}],[`path`,{d:`M12.656 7H14a4 4 0 0 1 4 4v1.344`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M17.123 17.123A6 6 0 0 1 6 14v-3a4 4 0 0 1 1.72-3.287`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M22 13h-3.344`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9.712 4.06A3 3 0 0 1 15 6v1.13`}]],Vl=[[`path`,{d:`M10 19.655A6 6 0 0 1 6 14v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 3.97`}],[`path`,{d:`M14 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`}]],Hl=[[`path`,{d:`M12 20v-9`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M22 13h-4`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`}]],Ul=[[`path`,{d:`M10 12h4`}],[`path`,{d:`M10 8h4`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`}]],Wl=[[`path`,{d:`M12 10h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M12 6h.01`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M16 14h.01`}],[`path`,{d:`M16 6h.01`}],[`path`,{d:`M8 10h.01`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M8 6h.01`}],[`path`,{d:`M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],Gl=[[`path`,{d:`M4 6 2 7`}],[`path`,{d:`M10 6h4`}],[`path`,{d:`m22 7-2-1`}],[`rect`,{width:`16`,height:`16`,x:`4`,y:`3`,rx:`2`}],[`path`,{d:`M4 11h16`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M16 15h.01`}],[`path`,{d:`M6 19v2`}],[`path`,{d:`M18 21v-2`}]],Kl=[[`path`,{d:`M8 6v6`}],[`path`,{d:`M15 6v6`}],[`path`,{d:`M2 12h19.6`}],[`path`,{d:`M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}],[`path`,{d:`M9 18h5`}],[`circle`,{cx:`16`,cy:`18`,r:`2`}]],ql=[[`path`,{d:`M10 3h.01`}],[`path`,{d:`M14 2h.01`}],[`path`,{d:`m2 9 20-5`}],[`path`,{d:`M12 12V6.5`}],[`rect`,{width:`16`,height:`10`,x:`4`,y:`12`,rx:`3`}],[`path`,{d:`M9 12v5`}],[`path`,{d:`M15 12v5`}],[`path`,{d:`M4 17h16`}]],Jl=[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`}],[`path`,{d:`M17 21v-2`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`}],[`path`,{d:`M21 21v-2`}],[`path`,{d:`M3 5V3`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`}],[`path`,{d:`M7 5V3`}]],Yl=[[`path`,{d:`M16 13H3`}],[`path`,{d:`M16 17H3`}],[`path`,{d:`m7.2 7.9-3.388 2.5A2 2 0 0 0 3 12.01V20a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-8.654c0-2-2.44-6.026-6.44-8.026a1 1 0 0 0-1.082.057L10.4 5.6`}],[`circle`,{cx:`9`,cy:`7`,r:`2`}]],Xl=[[`path`,{d:`M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8`}],[`path`,{d:`M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1`}],[`path`,{d:`M2 21h20`}],[`path`,{d:`M7 8v3`}],[`path`,{d:`M12 8v3`}],[`path`,{d:`M17 8v3`}],[`path`,{d:`M7 4h.01`}],[`path`,{d:`M12 4h.01`}],[`path`,{d:`M17 4h.01`}]],Zl=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`6`,y2:`6`}],[`line`,{x1:`16`,x2:`16`,y1:`14`,y2:`18`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M12 10h.01`}],[`path`,{d:`M8 10h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M8 18h.01`}]],Ql=[[`path`,{d:`M11 14h1v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],$l=[[`path`,{d:`m14 18 4 4 4-4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M18 14v8`}],[`path`,{d:`M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],eu=[[`path`,{d:`m14 18 4-4 4 4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M18 22v-8`}],[`path`,{d:`M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],tu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m9 16 2 2 4-4`}]],nu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m16 20 2 2 4-4`}]],ru=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`}],[`path`,{d:`M3 10h5`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}]],iu=[[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m15.228 19.148-.923.383`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`m16.47 14.305.382.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`path`,{d:`M21 10.592V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],au=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M16 14h.01`}],[`path`,{d:`M8 18h.01`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M16 18h.01`}]],ou=[[`path`,{d:`M3 20a2 2 0 0 0 2 2h10a2.4 2.4 0 0 0 1.706-.706l3.588-3.588A2.4 2.4 0 0 0 21 16V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z`}],[`path`,{d:`M15 22v-5a1 1 0 0 1 1-1h5`}],[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}]],su=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M10 16h4`}]],cu=[[`path`,{d:`M12.127 22H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v5.125`}],[`path`,{d:`M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],lu=[[`path`,{d:`M16 19h6`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],uu=[[`path`,{d:`M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18`}],[`path`,{d:`M21 15.5V6a2 2 0 0 0-2-2H9.5`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h7`}],[`path`,{d:`M21 10h-5.5`}],[`path`,{d:`m2 2 20 20`}]],du=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M10 16h4`}],[`path`,{d:`M12 14v4`}]],fu=[[`path`,{d:`M16 19h6`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],pu=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`path`,{d:`M17 14h-6`}],[`path`,{d:`M13 18H7`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 18h.01`}]],mu=[[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25`}],[`path`,{d:`m22 22-1.875-1.875`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],hu=[[`path`,{d:`M11 10v4h4`}],[`path`,{d:`m11 14 1.535-1.605a5 5 0 0 1 8 1.5`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`m21 18-1.535 1.605a5 5 0 0 1-8-1.5`}],[`path`,{d:`M21 22v-4h-4`}],[`path`,{d:`M21 8.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4.3`}],[`path`,{d:`M3 10h4`}],[`path`,{d:`M8 2v4`}]],gu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m17 22 5-5`}],[`path`,{d:`m17 17 5 5`}]],_u=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m14 14-4 4`}],[`path`,{d:`m10 14 4 4`}]],vu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}]],yu=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M15.726 21.01A2 2 0 0 1 14 22H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2`}],[`path`,{d:`M18 2v2`}],[`path`,{d:`M2 13h2`}],[`path`,{d:`M8 8h14`}],[`rect`,{x:`8`,y:`3`,width:`14`,height:`14`,rx:`2`}]],bu=[[`path`,{d:`M14.564 14.558a3 3 0 1 1-4.122-4.121`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 .819-.175`}],[`path`,{d:`M9.695 4.024A2 2 0 0 1 10.004 4h3.993a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v7.344`}]],xu=[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`}],[`circle`,{cx:`12`,cy:`13`,r:`3`}]],Su=[[`path`,{d:`m10.8 5 2.111 4.223`}],[`path`,{d:`M17.75 7 15 2.1`}],[`path`,{d:`m4.874 14.647 2.12 4.24`}],[`path`,{d:`M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2z`}],[`path`,{d:`m7.906 9.712 2.005 4.411`}]],Cu=[[`path`,{d:`M10 7v10.9`}],[`path`,{d:`M14 6.1V17`}],[`path`,{d:`M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4`}],[`path`,{d:`M16.536 7.465a5 5 0 0 0-7.072 0l-2 2a5 5 0 0 0 0 7.07 5 5 0 0 0 7.072 0l2-2a5 5 0 0 0 0-7.07`}],[`path`,{d:`M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4`}]],wu=[[`path`,{d:`M10 10v7.9`}],[`path`,{d:`M11.802 6.145a5 5 0 0 1 6.053 6.053`}],[`path`,{d:`M14 6.1v2.243`}],[`path`,{d:`m15.5 15.571-.964.964a5 5 0 0 1-7.071 0 5 5 0 0 1 0-7.07l.964-.965`}],[`path`,{d:`M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4`}]],Tu=[[`path`,{d:`M12 22v-4`}],[`path`,{d:`M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6`}]],Eu=[[`path`,{d:`M12 22v-4c1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5`}],[`path`,{d:`M13.988 8.327C13.902 6.054 13.365 3.82 12 2a9.3 9.3 0 0 0-1.445 2.9`}],[`path`,{d:`M17.375 11.725C18.882 10.53 21 7.841 21 6c-2.324 0-5.08 1.296-6.662 2.684`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21.024 15.378A15 15 0 0 0 22 15c-.426-1.279-2.67-2.557-4.25-2.907`}],[`path`,{d:`M6.995 6.992C5.714 6.4 4.29 6 3 6c0 2 2.5 5 4 6-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3`}]],Du=[[`path`,{d:`M10.5 5H19a2 2 0 0 1 2 2v8.5`}],[`path`,{d:`M17 11h-.5`}],[`path`,{d:`M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7 11h4`}],[`path`,{d:`M7 15h2.5`}]],Ou=[[`rect`,{width:`18`,height:`14`,x:`3`,y:`5`,rx:`2`,ry:`2`}],[`path`,{d:`M7 15h4M15 15h2M7 11h2M13 11h4`}]],ku=[[`path`,{d:`m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 14h.01`}],[`rect`,{width:`18`,height:`8`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],Au=[[`path`,{d:`M10 2h4`}],[`path`,{d:`m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 14h.01`}],[`rect`,{width:`18`,height:`8`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],ju=[[`path`,{d:`M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2`}],[`circle`,{cx:`7`,cy:`17`,r:`2`}],[`path`,{d:`M9 17h6`}],[`circle`,{cx:`17`,cy:`17`,r:`2`}]],Mu=[[`path`,{d:`M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2`}],[`path`,{d:`M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2`}],[`path`,{d:`M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9`}],[`circle`,{cx:`8`,cy:`19`,r:`2`}]],Nu=[[`path`,{d:`M12 14v4`}],[`path`,{d:`M14.172 2a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 20 7.828V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z`}],[`path`,{d:`M8 14h8`}],[`rect`,{x:`8`,y:`10`,width:`8`,height:`8`,rx:`1`}]],Pu=[[`path`,{d:`M15 16a1 1 0 0 0-7-7q-4 4-5.987 12.385a.5.5 0 0 0 .602.602Q11 20 15 16l-3-3`}],[`path`,{d:`M15 9q4 4 7 0-3-4-7 0 4-4 0-7-4 3 0 7`}],[`path`,{d:`m8 15-2.58-2.58`}]],Fu=[[`path`,{d:`M10 9v7`}],[`path`,{d:`M14 6v10`}],[`circle`,{cx:`17.5`,cy:`12.5`,r:`3.5`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`3.5`}]],Iu=[[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M22 9v7`}],[`path`,{d:`M3.304 13h6.392`}],[`circle`,{cx:`18.5`,cy:`12.5`,r:`3.5`}]],Lu=[[`path`,{d:`M15 11h4.5a1 1 0 0 1 0 5h-4a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h3a1 1 0 0 1 0 5`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],Ru=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`circle`,{cx:`8`,cy:`10`,r:`2`}],[`path`,{d:`M8 12h8`}],[`circle`,{cx:`16`,cy:`10`,r:`2`}],[`path`,{d:`m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3`}]],zu=[[`path`,{d:`M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6`}],[`path`,{d:`M2 12a9 9 0 0 1 8 8`}],[`path`,{d:`M2 16a5 5 0 0 1 4 4`}],[`line`,{x1:`2`,x2:`2.01`,y1:`20`,y2:`20`}]],Bu=[[`path`,{d:`M10 5V3`}],[`path`,{d:`M14 5V3`}],[`path`,{d:`M15 21v-3a3 3 0 0 0-6 0v3`}],[`path`,{d:`M18 3v8`}],[`path`,{d:`M18 5H6`}],[`path`,{d:`M22 11H2`}],[`path`,{d:`M22 9v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9`}],[`path`,{d:`M6 3v8`}]],Vu=[[`path`,{d:`M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z`}],[`path`,{d:`M8 14v.5`}],[`path`,{d:`M16 14v.5`}],[`path`,{d:`M11.25 16.25h1.5L12 17l-.75-.75Z`}]],Hu=[[`path`,{d:`m12.309 6.652 4.797 2.401a1 1 0 0 1 .447 1.341l-.501 1.001.605.605h2.725a1 1 0 0 1 .894 1.447l-.724 1.448`}],[`path`,{d:`m15.166 15.166-.719 1.439a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.9 2.9 0 0 1 .873-1.037`}],[`path`,{d:`M2 19h3.76a2 2 0 0 0 1.8-1.1l1.441-2.902`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M2 21v-4`}],[`path`,{d:`M7 9h.01`}]],Uu=[[`path`,{d:`M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97`}],[`path`,{d:`M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z`}],[`path`,{d:`M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15`}],[`path`,{d:`M2 21v-4`}],[`path`,{d:`M7 9h.01`}]],Wu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z`}]],Gu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`7`,y:`13`,width:`9`,height:`4`,rx:`1`}],[`rect`,{x:`7`,y:`5`,width:`12`,height:`4`,rx:`1`}]],Ku=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11h8`}],[`path`,{d:`M7 16h12`}],[`path`,{d:`M7 6h3`}]],qu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11h8`}],[`path`,{d:`M7 16h3`}],[`path`,{d:`M7 6h12`}]],Ju=[[`path`,{d:`M11 13v4`}],[`path`,{d:`M15 5v4`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`7`,y:`13`,width:`9`,height:`4`,rx:`1`}],[`rect`,{x:`7`,y:`5`,width:`12`,height:`4`,rx:`1`}]],Yu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 16h8`}],[`path`,{d:`M7 11h12`}],[`path`,{d:`M7 6h3`}]],Xu=[[`path`,{d:`M9 5v4`}],[`rect`,{width:`4`,height:`6`,x:`7`,y:`9`,rx:`1`}],[`path`,{d:`M9 15v2`}],[`path`,{d:`M17 3v2`}],[`rect`,{width:`4`,height:`8`,x:`15`,y:`5`,rx:`1`}],[`path`,{d:`M17 13v3`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}]],Zu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`}]],Qu=[[`path`,{d:`M13 17V9`}],[`path`,{d:`M18 17v-3`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 17V5`}]],$u=[[`path`,{d:`M13 17V9`}],[`path`,{d:`M18 17V5`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 17v-3`}]],ed=[[`path`,{d:`M11 13H7`}],[`path`,{d:`M19 9h-4`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`}]],td=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M18 17V9`}],[`path`,{d:`M13 17V5`}],[`path`,{d:`M8 17v-3`}]],nd=[[`path`,{d:`M10 6h8`}],[`path`,{d:`M12 16h6`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 11h7`}]],rd=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`m19 9-5 5-4-4-3 3`}]],id=[[`path`,{d:`M5 21V3`}],[`path`,{d:`M12 21V9`}],[`path`,{d:`M19 21v-6`}]],ad=[[`path`,{d:`M5 21v-6`}],[`path`,{d:`M12 21V9`}],[`path`,{d:`M19 21V3`}]],od=[[`path`,{d:`M5 21v-6`}],[`path`,{d:`M12 21V3`}],[`path`,{d:`M19 21V9`}]],sd=[[`path`,{d:`m13.11 7.664 1.78 2.672`}],[`path`,{d:`m14.162 12.788-3.324 1.424`}],[`path`,{d:`m20 4-6.06 1.515`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`circle`,{cx:`12`,cy:`6`,r:`2`}],[`circle`,{cx:`16`,cy:`12`,r:`2`}],[`circle`,{cx:`9`,cy:`15`,r:`2`}]],cd=[[`path`,{d:`M12 16v5`}],[`path`,{d:`M16 14.639V21`}],[`path`,{d:`M20 10.656V21`}],[`path`,{d:`m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15`}],[`path`,{d:`M4 18.463V21`}],[`path`,{d:`M8 14.656V21`}]],ld=[[`path`,{d:`M6 5h12`}],[`path`,{d:`M4 12h10`}],[`path`,{d:`M12 19h8`}]],ud=[[`path`,{d:`M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z`}],[`path`,{d:`M21.21 15.89A10 10 0 1 1 8 2.83`}]],dd=[[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`18.5`,cy:`5.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`11.5`,cy:`11.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}]],fd=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7`}]],pd=[[`path`,{d:`M18 6 7 17l-5-5`}],[`path`,{d:`m22 10-7.5 7.5L13 16`}]],md=[[`path`,{d:`M20 4L9 15`}],[`path`,{d:`M21 19L3 19`}],[`path`,{d:`M9 15L4 10`}]],hd=[[`path`,{d:`M20 6 9 17l-5-5`}]],gd=[[`path`,{d:`M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z`}],[`path`,{d:`M6 17h12`}]],_d=[[`path`,{d:`M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z`}],[`path`,{d:`M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z`}],[`path`,{d:`M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12`}],[`path`,{d:`M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z`}]],vd=[[`path`,{d:`M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z`}],[`path`,{d:`m6.7 18-1-1C4.35 15.682 3 14.09 3 12a5 5 0 0 1 4.95-5c1.584 0 2.7.455 4.05 1.818C13.35 7.455 14.466 7 16.05 7A5 5 0 0 1 21 12c0 2.082-1.359 3.673-2.7 5l-1 1`}],[`path`,{d:`M10 4h4`}],[`path`,{d:`M12 2v6.818`}]],yd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M15 18c1.5-.615 3-2.461 3-4.923C18 8.769 14.5 4.462 12 2 9.5 4.462 6 8.77 6 13.077 6 15.539 7.5 17.385 9 18`}],[`path`,{d:`m16 7-2.5 2.5`}],[`path`,{d:`M9 2h6`}]],bd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M16.5 18c1-2 2.5-5 2.5-9a7 7 0 0 0-7-7H6.635a1 1 0 0 0-.768 1.64L7 5l-2.32 5.802a2 2 0 0 0 .95 2.526l2.87 1.456`}],[`path`,{d:`m15 5 1.425-1.425`}],[`path`,{d:`m17 8 1.53-1.53`}],[`path`,{d:`M9.713 12.185 7 18`}]],xd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`m14.5 10 1.5 8`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`m8 18 1.5-8`}],[`circle`,{cx:`12`,cy:`6`,r:`4`}]],Sd=[[`path`,{d:`M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z`}],[`path`,{d:`m12.474 5.943 1.567 5.34a1 1 0 0 0 1.75.328l2.616-3.402`}],[`path`,{d:`m20 9-3 9`}],[`path`,{d:`m5.594 8.209 2.615 3.403a1 1 0 0 0 1.75-.329l1.567-5.34`}],[`path`,{d:`M7 18 4 9`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}],[`circle`,{cx:`20`,cy:`7`,r:`2`}],[`circle`,{cx:`4`,cy:`7`,r:`2`}]],Cd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`m17 18-1-9`}],[`path`,{d:`M6 2v5a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2`}],[`path`,{d:`M6 4h12`}],[`path`,{d:`m7 18 1-9`}]],wd=[[`path`,{d:`m6 9 6 6 6-6`}]],Td=[[`path`,{d:`m7 18 6-6-6-6`}],[`path`,{d:`M17 6v12`}]],Ed=[[`path`,{d:`m17 18-6-6 6-6`}],[`path`,{d:`M7 6v12`}]],Dd=[[`path`,{d:`m15 18-6-6 6-6`}]],Od=[[`path`,{d:`m9 18 6-6-6-6`}]],kd=[[`path`,{d:`m18 15-6-6-6 6`}]],Ad=[[`path`,{d:`m7 6 5 5 5-5`}],[`path`,{d:`m7 13 5 5 5-5`}]],jd=[[`path`,{d:`m7 20 5-5 5 5`}],[`path`,{d:`m7 4 5 5 5-5`}]],Md=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`m17 7 5 5-5 5`}],[`path`,{d:`m7 7-5 5 5 5`}],[`path`,{d:`M8 12h.01`}]],Nd=[[`path`,{d:`m9 7-5 5 5 5`}],[`path`,{d:`m15 7 5 5-5 5`}]],Pd=[[`path`,{d:`m11 17-5-5 5-5`}],[`path`,{d:`m18 17-5-5 5-5`}]],Fd=[[`path`,{d:`m20 17-5-5 5-5`}],[`path`,{d:`m4 17 5-5-5-5`}]],Id=[[`path`,{d:`m6 17 5-5-5-5`}],[`path`,{d:`m13 17 5-5-5-5`}]],Ld=[[`path`,{d:`m7 15 5 5 5-5`}],[`path`,{d:`m7 9 5-5 5 5`}]],Rd=[[`path`,{d:`m17 11-5-5-5 5`}],[`path`,{d:`m17 18-5-5-5 5`}]],zd=[[`path`,{d:`M10 9h4`}],[`path`,{d:`M12 7v5`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`m18 9 3.52 2.147a1 1 0 0 1 .48.854V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-6.999a1 1 0 0 1 .48-.854L6 9`}],[`path`,{d:`M6 21V7a1 1 0 0 1 .376-.782l5-3.999a1 1 0 0 1 1.249.001l5 4A1 1 0 0 1 18 7v14`}]],Bd=[[`path`,{d:`M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13`}],[`path`,{d:`M18 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866`}],[`path`,{d:`M22 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M7 12v4`}]],Vd=[[`path`,{d:`M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14`}],[`path`,{d:`M18 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`}],[`path`,{d:`M22 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M7 12v4`}]],Hd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]],Ud=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]],Wd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m12 8-4 4 4 4`}],[`path`,{d:`M16 12H8`}]],Gd=[[`path`,{d:`M2 12a10 10 0 1 1 10 10`}],[`path`,{d:`m2 22 10-10`}],[`path`,{d:`M8 22H2v-6`}]],Kd=[[`path`,{d:`M12 22a10 10 0 1 1 10-10`}],[`path`,{d:`M22 22 12 12`}],[`path`,{d:`M22 16v6h-6`}]],qd=[[`path`,{d:`M2 8V2h6`}],[`path`,{d:`m2 2 10 10`}],[`path`,{d:`M12 2A10 10 0 1 1 2 12`}]],Jd=[[`path`,{d:`M22 12A10 10 0 1 1 12 2`}],[`path`,{d:`M22 2 12 12`}],[`path`,{d:`M16 2h6v6`}]],Yd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m12 16 4-4-4-4`}],[`path`,{d:`M8 12h8`}]],Xd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}]],Zd=[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`}],[`path`,{d:`m9 11 3 3L22 4`}]],Qd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m9 12 2 2 4-4`}]],$d=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16 10-4 4-4-4`}]],ef=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m14 16-4-4 4-4`}]],tf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m10 8 4 4-4 4`}]],nf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m8 14 4-4 4 4`}]],rf=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`}]],af=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`16`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`8`}]],of=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`}],[`path`,{d:`M12 18V6`}]],sf=[[`path`,{d:`M10.1 2.18a9.93 9.93 0 0 1 3.8 0`}],[`path`,{d:`M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7`}],[`path`,{d:`M21.82 10.1a9.93 9.93 0 0 1 0 3.8`}],[`path`,{d:`M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69`}],[`path`,{d:`M13.9 21.82a9.94 9.94 0 0 1-3.8 0`}],[`path`,{d:`M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7`}],[`path`,{d:`M2.18 13.9a9.93 9.93 0 0 1 0-3.8`}],[`path`,{d:`M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],cf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],lf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M17 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M7 12h.01`}]],uf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M7 14h10`}]],df=[[`path`,{d:`M15 9.4a4 4 0 1 0 0 5.2`}],[`path`,{d:`M7 12h5`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],ff=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],pf=[[`path`,{d:`M15.6 2.7a10 10 0 1 0 5.7 5.7`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M13.4 10.6 19 5`}]],mf=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`M16 12H8`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],hf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 12h8`}]],gf=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`}]],_f=[[`path`,{d:`M12.656 7H13a3 3 0 0 1 2.984 3.307`}],[`path`,{d:`M13 13H9`}],[`path`,{d:`M19.071 19.071A1 1 0 0 1 4.93 4.93`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.357 2.687a10 10 0 0 1 12.956 12.956`}],[`path`,{d:`M9 17V9`}]],vf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9 17V7h4a3 3 0 0 1 0 6H9`}]],yf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]],bf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],xf=[[`circle`,{cx:`12`,cy:`19`,r:`2`}],[`circle`,{cx:`12`,cy:`5`,r:`2`}],[`circle`,{cx:`16`,cy:`12`,r:`2`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}],[`circle`,{cx:`4`,cy:`19`,r:`2`}],[`circle`,{cx:`8`,cy:`12`,r:`2`}]],Sf=[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Cf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],wf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M10 16V9.5a1 1 0 0 1 5 0`}],[`path`,{d:`M8 12h4`}],[`path`,{d:`M8 16h7`}]],Tf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`}]],Ef=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],Df=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`}]],Of=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M22 2 2 22`}]],kf=[[`circle`,{cx:`12`,cy:`12`,r:`6`}]],Af=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M11.051 7.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.867l-1.156-1.152a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}]],jf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`}]],Mf=[[`path`,{d:`M17.925 20.056a6 6 0 0 0-11.851.001`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Nf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662`}]],Pf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],Ff=[[`circle`,{cx:`12`,cy:`12`,r:`10`}]],If=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M11 9h4a2 2 0 0 0 2-2V3`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`M7 21v-4a2 2 0 0 1 2-2h4`}],[`circle`,{cx:`15`,cy:`15`,r:`2`}]],Lf=[[`path`,{d:`M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z`}],[`path`,{d:`M19.65 15.66A8 8 0 0 1 8.35 4.34`}],[`path`,{d:`m14 10-5.5 5.5`}],[`path`,{d:`M14 17.85V10H6.15`}]],Rf=[[`path`,{d:`m12.296 3.464 3.02 3.956`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}],[`path`,{d:`m6.18 5.276 3.1 3.899`}]],zf=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v.832`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Bf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`m9 14 2 2 4-4`}]],Vf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v4`}],[`path`,{d:`M21 14H11`}],[`path`,{d:`m15 10-4 4 4 4`}]],Hf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M12 11h4`}],[`path`,{d:`M12 16h4`}],[`path`,{d:`M8 11h.01`}],[`path`,{d:`M8 16h.01`}]],Uf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 14h6`}]],Wf=[[`path`,{d:`M11 14h10`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`}],[`path`,{d:`m17 18 4-4-4-4`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Gf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5`}],[`path`,{d:`M16 4h2a2 2 0 0 1 1.73 1`}],[`path`,{d:`M8 18h1`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],Kf=[[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21.34 15.664a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`path`,{d:`M8 22H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],qf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 14h6`}],[`path`,{d:`M12 17v-6`}]],Jf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 12v-1h6v1`}],[`path`,{d:`M11 17h2`}],[`path`,{d:`M12 11v6`}]],Yf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`m15 11-6 6`}],[`path`,{d:`m9 11 6 6`}]],Xf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}]],Zf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l2-4`}]],Qf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-4-2`}]],$f=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-2-4`}]],ep=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6`}]],tp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4-2`}]],np=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6h4`}]],rp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4 2`}]],ip=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l2 4`}]],ap=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v10`}]],op=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-2 4`}]],sp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6H8`}]],cp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-4 2`}]],lp=[[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M20 12v5`}],[`path`,{d:`M20 21h.01`}],[`path`,{d:`M21.25 8.2A10 10 0 1 0 16 21.16`}]],up=[[`path`,{d:`M12 6v6l2 1`}],[`path`,{d:`M12.337 21.994a10 10 0 1 1 9.588-8.767`}],[`path`,{d:`m14 18 4 4 4-4`}],[`path`,{d:`M18 14v8`}]],dp=[[`path`,{d:`M12 6v6l1.5.8`}],[`path`,{d:`M12.338 21.994a10 10 0 1 1 9.587-8.767`}],[`path`,{d:`M14 18h8`}],[`path`,{d:`m18 22-4-4 4-4`}]],fp=[[`path`,{d:`M12 6v6l2 1`}],[`path`,{d:`M13.5 21.885A10 10 0 1 1 22 12`}],[`path`,{d:`M14 18h8`}],[`path`,{d:`m18 22 4-4-4-4`}]],pp=[[`path`,{d:`M12 6v6l1.56.78`}],[`path`,{d:`M13.227 21.925a10 10 0 1 1 8.767-9.588`}],[`path`,{d:`m14 18 4-4 4 4`}],[`path`,{d:`M18 22v-8`}]],mp=[[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M22 12a10 10 0 1 0-11 9.95`}],[`path`,{d:`m22 16-5.5 5.5L14 19`}]],hp=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],gp=[[`path`,{d:`M12 6v6l3.644 1.822`}],[`path`,{d:`M16 19h6`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21.92 13.267a10 10 0 1 0-8.653 8.653`}]],_p=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4 2`}]],vp=[[`path`,{d:`M10 9.17a3 3 0 1 0 0 5.66`}],[`path`,{d:`M17 9.17a3 3 0 1 0 0 5.66`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],yp=[[`path`,{d:`M12 12v4`}],[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.128 16.949A7 7 0 1 1 15.71 8h1.79a1 1 0 0 1 0 9h-1.642`}]],bp=[[`path`,{d:`m17 15-5.5 5.5L9 18`}],[`path`,{d:`M5.516 16.07A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 3.501 7.327`}]],xp=[[`path`,{d:`M21 15.251A4.5 4.5 0 0 0 17.5 8h-1.79A7 7 0 1 0 3 13.607`}],[`path`,{d:`M7 11v4h4`}],[`path`,{d:`M8 19a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5 4.82 4.82 0 0 0-3.41 1.41L7 15`}]],Sp=[[`path`,{d:`m10.852 19.772-.383.924`}],[`path`,{d:`m13.148 14.228.383-.923`}],[`path`,{d:`M13.148 19.772a3 3 0 1 0-2.296-5.544l-.383-.923`}],[`path`,{d:`m13.53 20.696-.382-.924a3 3 0 1 1-2.296-5.544`}],[`path`,{d:`m14.772 15.852.923-.383`}],[`path`,{d:`m14.772 18.148.923.383`}],[`path`,{d:`M4.2 15.1a7 7 0 1 1 9.93-9.858A7 7 0 0 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2`}],[`path`,{d:`m9.228 15.852-.923-.383`}],[`path`,{d:`m9.228 18.148-.923.383`}]],Cp=[[`path`,{d:`M12 13v8l-4-4`}],[`path`,{d:`m12 21 4-4`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`}]],wp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 17H7`}],[`path`,{d:`M17 21H9`}]],Tp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M8 19v1`}],[`path`,{d:`M8 14v1`}],[`path`,{d:`M16 19v1`}],[`path`,{d:`M16 14v1`}],[`path`,{d:`M12 21v1`}],[`path`,{d:`M12 16v1`}]],Ep=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 14v2`}],[`path`,{d:`M8 14v2`}],[`path`,{d:`M16 20h.01`}],[`path`,{d:`M8 20h.01`}],[`path`,{d:`M12 16v2`}],[`path`,{d:`M12 22h.01`}]],Dp=[[`path`,{d:`M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973`}],[`path`,{d:`m13 12-3 5h4l-3 5`}]],Op=[[`path`,{d:`M11 20v2`}],[`path`,{d:`M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36`}],[`path`,{d:`M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24`}],[`path`,{d:`M7 19v2`}]],kp=[[`path`,{d:`M13 16a3 3 0 0 1 0 6H7a5 5 0 1 1 4.9-6z`}],[`path`,{d:`M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36`}]],Ap=[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`}],[`path`,{d:`m2 2 20 20`}]],jp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`m9.2 22 3-7`}],[`path`,{d:`m9 13-3 7`}],[`path`,{d:`m17 13-3 7`}]],Mp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 14v6`}],[`path`,{d:`M8 14v6`}],[`path`,{d:`M12 16v6`}]],Np=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M8 19h.01`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M12 21h.01`}],[`path`,{d:`M16 15h.01`}],[`path`,{d:`M16 19h.01`}]],Pp=[[`path`,{d:`M12 2v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}],[`path`,{d:`M15.947 12.65a4 4 0 0 0-5.925-4.128`}],[`path`,{d:`M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24`}],[`path`,{d:`M11 20v2`}],[`path`,{d:`M7 19v2`}]],Fp=[[`path`,{d:`M12 2v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}],[`path`,{d:`M15.947 12.65a4 4 0 0 0-5.925-4.128`}],[`path`,{d:`M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z`}]],Ip=[[`path`,{d:`m17 18-1.535 1.605a5 5 0 0 1-8-1.5`}],[`path`,{d:`M17 22v-4h-4`}],[`path`,{d:`M20.996 15.251A4.5 4.5 0 0 0 17.495 8h-1.79a7 7 0 1 0-12.709 5.607`}],[`path`,{d:`M7 10v4h4`}],[`path`,{d:`m7 14 1.535-1.605a5 5 0 0 1 8 1.5`}]],Lp=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`m8 17 4-4 4 4`}]],Rp=[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`}]],zp=[[`path`,{d:`M17.5 12a1 1 0 1 1 0 9H9.006a7 7 0 1 1 6.702-9z`}],[`path`,{d:`M21.832 9A3 3 0 0 0 19 7h-2.207a5.5 5.5 0 0 0-10.72.61`}]],Bp=[[`path`,{d:`M16.17 7.83 2 22`}],[`path`,{d:`M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12`}],[`path`,{d:`m7.83 7.83 8.34 8.34`}]],Vp=[[`path`,{d:`M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z`}],[`path`,{d:`M12 17.66L12 22`}]],Hp=[[`path`,{d:`m18 16 4-4-4-4`}],[`path`,{d:`m6 8-4 4 4 4`}],[`path`,{d:`m14.5 4-5 16`}]],Up=[[`path`,{d:`m16 18 6-6-6-6`}],[`path`,{d:`m8 6-6 6 6 6`}]],Wp=[[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1`}],[`path`,{d:`M6 2v2`}]],Gp=[[`path`,{d:`M11 10.27 7 3.34`}],[`path`,{d:`m11 13.73-4 6.93`}],[`path`,{d:`M12 22v-2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M14 12h8`}],[`path`,{d:`m17 20.66-1-1.73`}],[`path`,{d:`m17 3.34-1 1.73`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`m20.66 17-1.73-1`}],[`path`,{d:`m20.66 7-1.73 1`}],[`path`,{d:`m3.34 17 1.73-1`}],[`path`,{d:`m3.34 7 1.73 1`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`8`}]],Kp=[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`}],[`path`,{d:`M15 6h1v4`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`}],[`circle`,{cx:`16`,cy:`8`,r:`6`}]],qp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 3v18`}]],Jp=[[`path`,{d:`M10.6 21H5a2 2 0 01-2-2V5a2 2 0 012-2h14a2 2 0 012 2v5.6`}],[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`M15 3v7.6`}],[`path`,{d:`m15.229 16.852-.924-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.773 16.852.922-.383`}],[`path`,{d:`m20.773 19.148.922.383`}],[`path`,{d:`M9 3v18`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],Yp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],Xp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7.5 3v18`}],[`path`,{d:`M12 3v18`}],[`path`,{d:`M16.5 3v18`}]],Zp=[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`}]],Qp=[[`path`,{d:`M14 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M19 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`m7 15 3 3`}],[`path`,{d:`m7 21 3-3H5a2 2 0 0 1-2-2v-2`}],[`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1`}],[`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1`}]],$p=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`}]],em=[[`path`,{d:`M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`}]],tm=[[`rect`,{width:`14`,height:`8`,x:`5`,y:`2`,rx:`2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h2`}],[`path`,{d:`M12 18h6`}]],nm=[[`path`,{d:`M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z`}],[`path`,{d:`M20 16a8 8 0 1 0-16 0`}],[`path`,{d:`M12 4v4`}],[`path`,{d:`M10 4h4`}]],rm=[[`path`,{d:`m20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98`}],[`ellipse`,{cx:`12`,cy:`19`,rx:`9`,ry:`3`}]],im=[[`path`,{d:`M16 2v2`}],[`path`,{d:`M17.915 22a6 6 0 0 0-12 0`}],[`path`,{d:`M8 2v2`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],am=[[`rect`,{x:`2`,y:`6`,width:`20`,height:`8`,rx:`1`}],[`path`,{d:`M17 14v7`}],[`path`,{d:`M7 14v7`}],[`path`,{d:`M17 3v3`}],[`path`,{d:`M7 3v3`}],[`path`,{d:`M10 14 2.3 6.3`}],[`path`,{d:`m14 6 7.7 7.7`}],[`path`,{d:`m8 6 8 8`}]],om=[[`path`,{d:`M16 2v2`}],[`path`,{d:`M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`}],[`path`,{d:`M8 2v2`}],[`circle`,{cx:`12`,cy:`11`,r:`3`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],sm=[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`}],[`path`,{d:`M10 21.9V14L2.1 9.1`}],[`path`,{d:`m10 14 11.9-6.9`}],[`path`,{d:`M14 19.8v-8.1`}],[`path`,{d:`M18 17.5V9.4`}]],cm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 18a6 6 0 0 0 0-12v12z`}]],lm=[[`path`,{d:`M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5`}],[`path`,{d:`M8.5 8.5v.01`}],[`path`,{d:`M16 15.5v.01`}],[`path`,{d:`M12 12v.01`}],[`path`,{d:`M11 17v.01`}],[`path`,{d:`M7 14v.01`}]],um=[[`path`,{d:`M2 12h20`}],[`path`,{d:`M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`m4 8 16-4`}],[`path`,{d:`m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8`}]],dm=[[`path`,{d:`m12 15 2 2 4-4`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],fm=[[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],pm=[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],mm=[[`line`,{x1:`12`,x2:`18`,y1:`18`,y2:`12`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],hm=[[`line`,{x1:`12`,x2:`18`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`18`,y2:`12`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],gm=[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],_m=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.17 14.83a4 4 0 1 0 0-5.66`}]],vm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M14.83 14.83a4 4 0 1 1 0-5.66`}]],ym=[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`}],[`path`,{d:`m9 10-5 5 5 5`}]],bm=[[`path`,{d:`m15 10 5 5-5 5`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`}]],xm=[[`path`,{d:`M14 9 9 4 4 9`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`}]],Sm=[[`path`,{d:`m14 15-5 5-5-5`}],[`path`,{d:`M20 4h-7a4 4 0 0 0-4 4v12`}]],Cm=[[`path`,{d:`m10 15 5 5 5-5`}],[`path`,{d:`M4 4h7a4 4 0 0 1 4 4v12`}]],wm=[[`path`,{d:`m10 9 5-5 5 5`}],[`path`,{d:`M4 20h7a4 4 0 0 0 4-4V4`}]],Tm=[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`}],[`path`,{d:`M9 14 4 9l5-5`}]],Em=[[`path`,{d:`m15 14 5-5-5-5`}],[`path`,{d:`M4 20v-7a4 4 0 0 1 4-4h12`}]],Dm=[[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M17 20v2`}],[`path`,{d:`M17 2v2`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M2 17h2`}],[`path`,{d:`M2 7h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`M20 17h2`}],[`path`,{d:`M20 7h2`}],[`path`,{d:`M7 20v2`}],[`path`,{d:`M7 2v2`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`}]],Om=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1`}],[`path`,{d:`M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1`}]],km=[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`}]],Am=[[`path`,{d:`M10.2 18H4.774a1.5 1.5 0 0 1-1.352-.97 11 11 0 0 1 .132-6.487`}],[`path`,{d:`M18 10.2V4.774a1.5 1.5 0 0 0-.97-1.352 11 11 0 0 0-6.486.132`}],[`path`,{d:`M18 5a4 3 0 0 1 4 3 2 2 0 0 1-2 2 10 10 0 0 0-5.139 1.42`}],[`path`,{d:`M5 18a3 4 0 0 0 3 4 2 2 0 0 0 2-2 10 10 0 0 1 1.42-5.14`}],[`path`,{d:`M8.709 2.554a10 10 0 0 0-6.155 6.155 1.5 1.5 0 0 0 .676 1.626l9.807 5.42a2 2 0 0 0 2.718-2.718l-5.42-9.807a1.5 1.5 0 0 0-1.626-.676`}]],jm=[[`path`,{d:`M6 2v14a2 2 0 0 0 2 2h14`}],[`path`,{d:`M18 22V8a2 2 0 0 0-2-2H2`}]],Mm=[[`path`,{d:`M4 9a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h4a1 1 0 0 1 1 1v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a1 1 0 0 1 1-1h4a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-4a1 1 0 0 1-1-1V4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4a1 1 0 0 1-1 1z`}]],Nm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`22`,x2:`18`,y1:`12`,y2:`12`}],[`line`,{x1:`6`,x2:`2`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`6`,y2:`2`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`18`}]],Pm=[[`path`,{d:`M10 22v-8`}],[`path`,{d:`M2.336 8.89 10 14l11.715-7.029`}],[`path`,{d:`M22 14a2 2 0 0 1-.971 1.715l-10 6a2 2 0 0 1-2.138-.05l-6-4A2 2 0 0 1 2 16v-6a2 2 0 0 1 .971-1.715l10-6a2 2 0 0 1 2.138.05l6 4A2 2 0 0 1 22 8z`}]],Fm=[[`path`,{d:`m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8`}],[`path`,{d:`M5 8h14`}],[`path`,{d:`M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0`}],[`path`,{d:`m12 8 1-6h2`}]],Im=[[`path`,{d:`M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z`}],[`path`,{d:`M5 21h14`}]],Lm=[[`circle`,{cx:`12`,cy:`12`,r:`8`}],[`line`,{x1:`3`,x2:`6`,y1:`3`,y2:`6`}],[`line`,{x1:`21`,x2:`18`,y1:`3`,y2:`6`}],[`line`,{x1:`3`,x2:`6`,y1:`21`,y2:`18`}],[`line`,{x1:`21`,x2:`18`,y1:`21`,y2:`18`}]],Rm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5v14a9 3 0 0 0 18 0V5`}]],zm=[[`path`,{d:`M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`path`,{d:`M2 6h4`}],[`path`,{d:`M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z`}]],Bm=[[`path`,{d:`m16 19 3 3 3-3`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`M3 12A9 3 0 0 0 15.182 14.806`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Vm=[[`path`,{d:`M19 22v-6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`m22 19-3-3-3 3`}],[`path`,{d:`M3 12A9 3 0 0 0 14.457 14.886`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Hm=[[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M21 13.127V5`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Um=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 12a9 3 0 0 0 5 2.69`}],[`path`,{d:`M21 9.3V5`}],[`path`,{d:`M3 5v14a9 3 0 0 0 6.47 2.88`}],[`path`,{d:`M12 12v4h4`}],[`path`,{d:`M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16`}]],Wm=[[`path`,{d:`M21 15V5`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Gm=[[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M3 12A9 3 0 0 0 15.1824 14.8061`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Km=[[`path`,{d:`M21 11.693V5`}],[`path`,{d:`m22 22-1.875-1.875`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],qm=[[`path`,{d:`m17 17 5 5`}],[`path`,{d:`M19.323 13.744A9 3 0 0 0 21 12`}],[`path`,{d:`M21 13.127V5`}],[`path`,{d:`m22 17-5 5`}],[`path`,{d:`M3 12A9 3 0 0 0 13.563 14.954`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13 21.981`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Jm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`}],[`path`,{d:`M21 5V8`}],[`path`,{d:`M21 12L18 17H22L19 22`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`}]],Ym=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}]],Xm=[[`path`,{d:`M10 18h10`}],[`path`,{d:`m17 21 3-3-3-3`}],[`path`,{d:`M3 11h.01`}],[`rect`,{x:`15`,y:`3`,width:`5`,height:`8`,rx:`2.5`}],[`rect`,{x:`6`,y:`3`,width:`5`,height:`8`,rx:`2.5`}]],Zm=[[`path`,{d:`m13 21-3-3 3-3`}],[`path`,{d:`M20 18H10`}],[`path`,{d:`M3 11h.01`}],[`rect`,{x:`6`,y:`3`,width:`5`,height:`8`,rx:`2.5`}]],Qm=[[`path`,{d:`M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z`}],[`path`,{d:`m12 9 6 6`}],[`path`,{d:`m18 9-6 6`}]],$m=[[`path`,{d:`M10.162 3.167A10 10 0 0 0 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4-.006 10 10 0 0 0-8.161-9.826`}],[`path`,{d:`M20.804 14.869a9 9 0 0 1-17.608 0`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}]],eh=[[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`5`,r:`2`}],[`path`,{d:`M6.48 3.66a10 10 0 0 1 13.86 13.86`}],[`path`,{d:`m6.41 6.41 11.18 11.18`}],[`path`,{d:`M3.66 6.48a10 10 0 0 0 13.86 13.86`}]],th=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`}],[`path`,{d:`M8 12h8`}]],nh=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z`}],[`path`,{d:`M9.2 9.2h.01`}],[`path`,{d:`m14.5 9.5-5 5`}],[`path`,{d:`M14.7 14.8h.01`}]],rh=[[`path`,{d:`M12 8v8`}],[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`}],[`path`,{d:`M8 12h8`}]],ih=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z`}]],ah=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M12 12h.01`}]],oh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M15 9h.01`}],[`path`,{d:`M9 15h.01`}]],sh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M8 16h.01`}]],ch=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 16h.01`}],[`path`,{d:`M16 16h.01`}]],lh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 16h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M12 12h.01`}]],uh=[[`rect`,{width:`12`,height:`12`,x:`2`,y:`10`,rx:`2`,ry:`2`}],[`path`,{d:`m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 14h.01`}],[`path`,{d:`M15 6h.01`}],[`path`,{d:`M18 9h.01`}]],dh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M8 16h.01`}]],fh=[[`path`,{d:`M12 3v14`}],[`path`,{d:`M5 10h14`}],[`path`,{d:`M5 21h14`}]],ph=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 12h.01`}]],mh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M6 12c0-1.7.7-3.2 1.8-4.2`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M18 12c0 1.7-.7 3.2-1.8 4.2`}]],hh=[[`circle`,{cx:`12`,cy:`6`,r:`1`}],[`line`,{x1:`5`,x2:`19`,y1:`12`,y2:`12`}],[`circle`,{cx:`12`,cy:`18`,r:`1`}]],gh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`5`}],[`path`,{d:`M12 12h.01`}]],_h=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],vh=[[`path`,{d:`M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8`}],[`path`,{d:`m17 6-2.891-2.891`}],[`path`,{d:`M2 15c3.333-3 6.667-3 10-3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`m20 9 .891.891`}],[`path`,{d:`M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1`}],[`path`,{d:`M3.109 14.109 4 15`}],[`path`,{d:`m6.5 12.5 1 1`}],[`path`,{d:`m7 18 2.891 2.891`}],[`path`,{d:`M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16`}]],yh=[[`path`,{d:`m10 16 1.5 1.5`}],[`path`,{d:`m14 8-1.5-1.5`}],[`path`,{d:`M15 2c-1.798 1.998-2.518 3.995-2.807 5.993`}],[`path`,{d:`m16.5 10.5 1 1`}],[`path`,{d:`m17 6-2.891-2.891`}],[`path`,{d:`M2 15c6.667-6 13.333 0 20-6`}],[`path`,{d:`m20 9 .891.891`}],[`path`,{d:`M3.109 14.109 4 15`}],[`path`,{d:`m6.5 12.5 1 1`}],[`path`,{d:`m7 18 2.891 2.891`}],[`path`,{d:`M9 22c1.798-1.998 2.518-3.995 2.807-5.993`}]],bh=[[`path`,{d:`M2 8h20`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 16h12`}]],xh=[[`path`,{d:`M11.25 16.25h1.5L12 17z`}],[`path`,{d:`M16 14v.5`}],[`path`,{d:`M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309`}],[`path`,{d:`M8 14v.5`}],[`path`,{d:`M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5`}]],Sh=[[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`22`}],[`path`,{d:`M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6`}]],Ch=[[`path`,{d:`M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],wh=[[`path`,{d:`M10 12h.01`}],[`path`,{d:`M18 9V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M2 20h8`}],[`path`,{d:`M20 17v-2a2 2 0 1 0-4 0v2`}],[`rect`,{x:`14`,y:`17`,width:`8`,height:`5`,rx:`1`}]],Th=[[`path`,{d:`M10 12h.01`}],[`path`,{d:`M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M2 20h20`}]],Eh=[[`path`,{d:`M11 20H2`}],[`path`,{d:`M11 4.562v16.157a1 1 0 0 0 1.242.97L19 20V5.562a2 2 0 0 0-1.515-1.94l-4-1A2 2 0 0 0 11 4.561z`}],[`path`,{d:`M11 4H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M14 12h.01`}],[`path`,{d:`M22 20h-3`}]],Dh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}]],Oh=[[`path`,{d:`M12 15V3`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}],[`path`,{d:`m7 10 5 5 5-5`}]],kh=[[`path`,{d:`M10 11h.01`}],[`path`,{d:`M14 6h.01`}],[`path`,{d:`M18 6h.01`}],[`path`,{d:`M6.5 13.1h.01`}],[`path`,{d:`M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3`}],[`path`,{d:`M17.4 9.9c-.8.8-2 .8-2.8 0`}],[`path`,{d:`M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7`}],[`path`,{d:`M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4`}]],Ah=[[`path`,{d:`M10 18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a3 3 0 0 1-3-3 1 1 0 0 1 1-1z`}],[`path`,{d:`M13 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1l-.81 3.242a1 1 0 0 1-.97.758H8`}],[`path`,{d:`M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M18 6h4`}],[`path`,{d:`m5 10-2 8`}],[`path`,{d:`m7 18 2-8`}]],jh=[[`path`,{d:`m12.99 6.74 1.93 3.44`}],[`path`,{d:`M19.136 12a10 10 0 0 1-14.271 0`}],[`path`,{d:`m21 21-2.16-3.84`}],[`path`,{d:`m3 21 8.02-14.26`}],[`circle`,{cx:`12`,cy:`5`,r:`2`}]],Mh=[[`path`,{d:`M10 10 7 7`}],[`path`,{d:`m10 14-3 3`}],[`path`,{d:`m14 10 3-3`}],[`path`,{d:`m14 14 3 3`}],[`path`,{d:`M14.205 4.139a4 4 0 1 1 5.439 5.863`}],[`path`,{d:`M19.637 14a4 4 0 1 1-5.432 5.868`}],[`path`,{d:`M4.367 10a4 4 0 1 1 5.438-5.862`}],[`path`,{d:`M9.795 19.862a4 4 0 1 1-5.429-5.873`}],[`rect`,{x:`10`,y:`8`,width:`4`,height:`8`,rx:`1`}]],Nh=[[`path`,{d:`M18.715 13.186C18.29 11.858 17.384 10.607 16 9.5c-2-1.6-3.5-4-4-6.5a10.7 10.7 0 0 1-.884 2.586`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.795 8.797A11 11 0 0 1 8 9.5C6 11.1 5 13 5 15a7 7 0 0 0 13.222 3.208`}]],Ph=[[`path`,{d:`M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z`}]],Fh=[[`path`,{d:`M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z`}],[`path`,{d:`M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97`}]],Ih=[[`path`,{d:`m2 2 8 8`}],[`path`,{d:`m22 2-8 8`}],[`ellipse`,{cx:`12`,cy:`9`,rx:`10`,ry:`5`}],[`path`,{d:`M7 13.4v7.9`}],[`path`,{d:`M12 14v8`}],[`path`,{d:`M17 13.4v7.9`}],[`path`,{d:`M2 9v8a10 5 0 0 0 20 0V9`}]],Lh=[[`path`,{d:`M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23`}],[`path`,{d:`m8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59`}]],Rh=[[`path`,{d:`M17.596 12.768a2 2 0 1 0 2.829-2.829l-1.768-1.767a2 2 0 0 0 2.828-2.829l-2.828-2.828a2 2 0 0 0-2.829 2.828l-1.767-1.768a2 2 0 1 0-2.829 2.829z`}],[`path`,{d:`m2.5 21.5 1.4-1.4`}],[`path`,{d:`m20.1 3.9 1.4-1.4`}],[`path`,{d:`M5.343 21.485a2 2 0 1 0 2.829-2.828l1.767 1.768a2 2 0 1 0 2.829-2.829l-6.364-6.364a2 2 0 1 0-2.829 2.829l1.768 1.767a2 2 0 0 0-2.828 2.829z`}],[`path`,{d:`m9.6 14.4 4.8-4.8`}]],zh=[[`path`,{d:`M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46`}],[`path`,{d:`M6 8.5c0-.75.13-1.47.36-2.14`}],[`path`,{d:`M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76`}],[`path`,{d:`M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],Bh=[[`path`,{d:`M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0`}],[`path`,{d:`M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4`}]],Vh=[[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`}],[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`}],[`path`,{d:`M12 2a10 10 0 1 0 9.54 13`}],[`path`,{d:`M20 6V4a2 2 0 1 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`14`,y:`6`,rx:`1`}]],Hh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 2a7 7 0 1 0 10 10`}]],Uh=[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Wh=[[`circle`,{cx:`11.5`,cy:`12.5`,r:`3.5`}],[`path`,{d:`M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z`}]],Gh=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 14.347V14c0-6-4-12-8-12-1.078 0-2.157.436-3.157 1.19`}],[`path`,{d:`M6.206 6.21C4.871 8.4 4 11.2 4 14a8 8 0 0 0 14.568 4.568`}]],Kh=[[`path`,{d:`M12 2C8 2 4 8 4 14a8 8 0 0 0 16 0c0-6-4-12-8-12`}]],qh=[[`ellipse`,{cx:`12`,cy:`12`,rx:`10`,ry:`6`}]],Jh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}]],Yh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`19`,cy:`12`,r:`1`}],[`circle`,{cx:`5`,cy:`12`,r:`1`}]],Xh=[[`path`,{d:`M5 15a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0`}],[`path`,{d:`M5 9a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0`}]],Zh=[[`line`,{x1:`5`,x2:`19`,y1:`9`,y2:`9`}],[`line`,{x1:`5`,x2:`19`,y1:`15`,y2:`15`}],[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`}]],Qh=[[`line`,{x1:`5`,x2:`19`,y1:`9`,y2:`9`}],[`line`,{x1:`5`,x2:`19`,y1:`15`,y2:`15`}]],$h=[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`}],[`path`,{d:`m5.082 11.09 8.828 8.828`}]],eg=[[`path`,{d:`M10 8v1`}],[`path`,{d:`M14 8v1`}],[`path`,{d:`M18 8v1`}],[`path`,{d:`M19 17a2 2 0 00-1.765 1.059l-.47.882A2 2 0 0115 20H9a2 2 0 01-1.765-1.059l-.47-.882A2 2 0 005 17H4a2 2 0 01-2-2V6a2 2 0 012-2h16a2 2 0 012 2v9a2 2 0 01-2 2z`}],[`path`,{d:`M6 8v1`}]],tg=[[`path`,{d:`M4 10h12`}],[`path`,{d:`M4 14h9`}],[`path`,{d:`M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2`}]],ng=[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`}],[`path`,{d:`M2 21h13`}],[`path`,{d:`M3 7h11`}],[`path`,{d:`m9 11-2 3h3l-2 3`}]],rg=[[`path`,{d:`m15 15 6 6`}],[`path`,{d:`m15 9 6-6`}],[`path`,{d:`M21 16v5h-5`}],[`path`,{d:`M21 8V3h-5`}],[`path`,{d:`M3 16v5h5`}],[`path`,{d:`m3 21 6-6`}],[`path`,{d:`M3 8V3h5`}],[`path`,{d:`M9 9 3 3`}]],ig=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M10 14 21 3`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`}]],ag=[[`path`,{d:`m15 18-.722-3.25`}],[`path`,{d:`M2 8a10.645 10.645 0 0 0 20 0`}],[`path`,{d:`m20 15-1.726-2.05`}],[`path`,{d:`m4 15 1.726-2.05`}],[`path`,{d:`m9 18 .722-3.25`}]],og=[[`path`,{d:`M13.054 18.946a11 11 0 0 1-2.11 0`}],[`path`,{d:`M13.054 5.054a11 11 0 0 0-2.11-.001`}],[`path`,{d:`M17.072 6.274a11 11 0 0 1 1.753 1.173`}],[`path`,{d:`M18.825 16.552a11 11 0 0 1-1.753 1.174`}],[`path`,{d:`M2.514 13.303a11 11 0 0 1-.452-.954 1 1 0 0 1 0-.697 11 11 0 0 1 .45-.955`}],[`path`,{d:`M21.485 10.697a11 11 0 0 1 .453.955 1 1 0 0 1 0 .697 11 11 0 0 1-.453.954`}],[`path`,{d:`M5.173 7.448a11 11 0 0 1 1.753-1.174`}],[`path`,{d:`M6.926 17.726a11 11 0 0 1-1.753-1.174`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],sg=[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`}],[`path`,{d:`m2 2 20 20`}]],cg=[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],lg=[[`path`,{d:`M12 16h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z`}],[`path`,{d:`M8 16h.01`}]],ug=[[`path`,{d:`M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z`}],[`path`,{d:`M12 12v.01`}]],dg=[[`path`,{d:`M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z`}],[`path`,{d:`M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z`}]],fg=[[`path`,{d:`M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}],[`path`,{d:`M6 8h4`}],[`path`,{d:`M6 18h4`}],[`path`,{d:`m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}],[`path`,{d:`M14 8h4`}],[`path`,{d:`M14 18h4`}],[`path`,{d:`m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}]],pg=[[`path`,{d:`M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z`}],[`path`,{d:`M16 8 2 22`}],[`path`,{d:`M17.5 15H9`}]],mg=[[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m6.8 15-3.5 2`}],[`path`,{d:`m20.7 7-3.5 2`}],[`path`,{d:`M6.8 9 3.3 7`}],[`path`,{d:`m20.7 17-3.5-2`}],[`path`,{d:`m9 22 3-8 3 8`}],[`path`,{d:`M8 22h8`}],[`path`,{d:`M18 18.7a9 9 0 1 0-12 0`}]],hg=[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 12v-1`}],[`path`,{d:`M8 18v-2`}],[`path`,{d:`M8 7V6`}],[`circle`,{cx:`8`,cy:`20`,r:`2`}]],gg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m8 18 4-4`}],[`path`,{d:`M8 10v8h8`}]],_g=[[`path`,{d:`M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.3`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m7.69 16.479 1.29 4.88a.5.5 0 0 1-.698.591l-1.843-.849a1 1 0 0 0-.879.001l-1.846.85a.5.5 0 0 1-.692-.593l1.29-4.88`}],[`circle`,{cx:`6`,cy:`14`,r:`3`}]],vg=[[`path`,{d:`M14 2v5a1 1 0 001 1h5`}],[`path`,{d:`M14.692 22H18a2 2 0 002-2V8a2.4 2.4 0 00-.706-1.706l-3.588-3.588A2.4 2.4 0 0014 2H6a2 2 0 00-2 2v3.804`}],[`path`,{d:`M2.264 13.752 7 16.5l4.737-2.748`}],[`path`,{d:`M2.995 13.014A2 2 0 002 14.744v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0012 18.26v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z`}],[`path`,{d:`M7 16.5V22`}]],yg=[[`path`,{d:`M14 22h4a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M5 14a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1 1 1 0 0 1 1 1v2a1 1 0 0 0 1 1`}],[`path`,{d:`M9 22a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1`}]],bg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`}]],xg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 18v-2`}],[`path`,{d:`M12 18v-4`}],[`path`,{d:`M16 18v-6`}]],Sg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 18v-1`}],[`path`,{d:`M12 18v-6`}],[`path`,{d:`M16 18v-3`}]],Cg=[[`path`,{d:`M15.941 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.512`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M4.017 11.512a6 6 0 1 0 8.466 8.475`}],[`path`,{d:`M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z`}]],wg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m16 13-3.5 3.5-2-2L8 17`}]],Tg=[[`path`,{d:`M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m14 20 2 2 4-4`}]],Eg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m9 15 2 2 4-4`}]],Dg=[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m5 16-3 3 3 3`}],[`path`,{d:`m9 22 3-3-3-3`}]],Og=[[`path`,{d:`M16 22h2a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v2.85`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 14v2.2l1.6 1`}],[`circle`,{cx:`8`,cy:`16`,r:`6`}]],kg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 12.5 8 15l2 2.5`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`}]],Ag=[[`path`,{d:`M15 8a1 1 0 0 1-1-1V2a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8z`}],[`path`,{d:`M20 8v12a2 2 0 0 1-2 2h-4.182`}],[`path`,{d:`m3.305 19.53.923-.382`}],[`path`,{d:`M4 10.592V4a2 2 0 0 1 2-2h8`}],[`path`,{d:`m4.228 16.852-.924-.383`}],[`path`,{d:`m5.852 15.228-.383-.923`}],[`path`,{d:`m5.852 20.772-.383.924`}],[`path`,{d:`m8.148 15.228.383-.923`}],[`path`,{d:`m8.53 21.696-.382-.924`}],[`path`,{d:`m9.773 16.852.922-.383`}],[`path`,{d:`m9.773 19.148.922.383`}],[`circle`,{cx:`7`,cy:`18`,r:`3`}]],jg=[[`path`,{d:`M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 16h2v6`}],[`path`,{d:`M10 22h4`}],[`rect`,{x:`2`,y:`16`,width:`4`,height:`6`,rx:`2`}]],Mg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M9 10h6`}],[`path`,{d:`M12 13V7`}],[`path`,{d:`M9 17h6`}]],Ng=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 18v-6`}],[`path`,{d:`m9 15 3 3 3-3`}]],Pg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]],Fg=[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`}]],Ig=[[`path`,{d:`M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M3.62 18.8A2.25 2.25 0 1 1 7 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a1 1 0 0 1-1.507 0z`}]],Lg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`circle`,{cx:`10`,cy:`12`,r:`2`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`}]],Rg=[[`path`,{d:`M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M2 15h10`}],[`path`,{d:`m9 18 3-3-3-3`}]],zg=[[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M4 12v6`}],[`path`,{d:`M4 14h2`}],[`path`,{d:`M9.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]],Bg=[[`path`,{d:`M4 9.8V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 17v-2a2 2 0 0 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`3`,y:`17`,rx:`1`}]],Vg=[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M14 18h6`}]],Hg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 15h6`}]],Ug=[[`path`,{d:`M11.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v10.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 20v-7l3 1.474`}],[`circle`,{cx:`6`,cy:`20`,r:`2`}]],Wg=[[`path`,{d:`M4.226 20.925A2 2 0 0 0 6 22h12a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.127`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m5 11-3 3`}],[`path`,{d:`m5 17-3-3h10`}]],Gg=[[`path`,{d:`M14.364 13.634a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506l4.013-4.009a1 1 0 0 0-3.004-3.004z`}],[`path`,{d:`M14.487 7.858A1 1 0 0 1 14 7V2`}],[`path`,{d:`M20 19.645V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l2.516 2.516`}],[`path`,{d:`M8 18h1`}]],Kg=[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`}]],qg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`}]],Jg=[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M14 19h6`}],[`path`,{d:`M17 16v6`}]],Yg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 15h6`}],[`path`,{d:`M12 18v-6`}]],Xg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`}]],Zg=[[`path`,{d:`M20 10V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M16 14a2 2 0 0 0-2 2`}],[`path`,{d:`M16 22a2 2 0 0 1-2-2`}],[`path`,{d:`M20 14a2 2 0 0 1 2 2`}],[`path`,{d:`M20 22a2 2 0 0 0 2-2`}]],Qg=[[`path`,{d:`M11.1 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.589 3.588A2.4 2.4 0 0 1 20 8v3.25`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m21 22-2.88-2.88`}],[`circle`,{cx:`16`,cy:`17`,r:`3`}]],$g=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`circle`,{cx:`11.5`,cy:`14.5`,r:`2.5`}],[`path`,{d:`M13.3 16.3 15 18`}]],e_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M10 11v2`}],[`path`,{d:`M8 17h8`}],[`path`,{d:`M14 16v2`}]],t_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M11.5 13.5a2.5 2.5 0 0 1 0 3`}],[`path`,{d:`M15 12a5 5 0 0 1 0 6`}]],n_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 13h2`}],[`path`,{d:`M14 13h2`}],[`path`,{d:`M8 17h2`}],[`path`,{d:`M14 17h2`}]],r_=[[`path`,{d:`M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m10 18 3-3-3-3`}]],i_=[[`path`,{d:`M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1`}],[`path`,{d:`M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1`}],[`path`,{d:`M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z`}]],a_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m8 16 2-2-2-2`}],[`path`,{d:`M12 18h4`}]],o_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 9H8`}],[`path`,{d:`M16 13H8`}],[`path`,{d:`M16 17H8`}]],s_=[[`path`,{d:`M12 22h6a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M3 16v-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5V16`}],[`path`,{d:`M6 22h2`}],[`path`,{d:`M7 14v8`}]],c_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M11 18h2`}],[`path`,{d:`M12 12v6`}],[`path`,{d:`M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5`}]],l_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 12v6`}],[`path`,{d:`m15 15-3-3-3 3`}]],u_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M16 22a4 4 0 0 0-8 0`}],[`circle`,{cx:`12`,cy:`15`,r:`3`}]],d_=[[`path`,{d:`M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m10 17.843 3.033-1.755a.64.64 0 0 1 .967.56v4.704a.65.65 0 0 1-.967.56L10 20.157`}],[`rect`,{width:`7`,height:`6`,x:`3`,y:`16`,rx:`1`}]],f_=[[`path`,{d:`M4 11.55V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-1.95`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 15a5 5 0 0 1 0 6`}],[`path`,{d:`M8 14.502a.5.5 0 0 0-.826-.381l-1.893 1.631a1 1 0 0 1-.651.243H3.5a.5.5 0 0 0-.5.501v3.006a.5.5 0 0 0 .5.501h1.129a1 1 0 0 1 .652.243l1.893 1.633a.5.5 0 0 0 .826-.38z`}]],p_=[[`path`,{d:`M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m15 17 5 5`}],[`path`,{d:`m20 17-5 5`}]],m_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m14.5 12.5-5 5`}],[`path`,{d:`m9.5 12.5 5 5`}]],h_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}]],g_=[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`}]],__=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 3v18`}],[`path`,{d:`M3 7.5h4`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M3 16.5h4`}],[`path`,{d:`M17 3v18`}],[`path`,{d:`M17 7.5h4`}],[`path`,{d:`M17 16.5h4`}]],v_=[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`}],[`path`,{d:`M2 16h.01`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`}]],y_=[[`path`,{d:`M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5`}],[`path`,{d:`M9 18h8`}],[`path`,{d:`M18 3h-3`}],[`path`,{d:`M11 3a6 6 0 0 0-6 6v11`}],[`path`,{d:`M5 13h4`}],[`path`,{d:`M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z`}]],b_=[[`path`,{d:`M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058`}],[`path`,{d:`M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618`}],[`path`,{d:`m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20`}]],x_=[[`path`,{d:`M2 16s9-15 20-4C11 23 2 8 2 8`}]],S_=[[`path`,{d:`M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z`}],[`path`,{d:`M18 12v.5`}],[`path`,{d:`M16 17.93a9.77 9.77 0 0 1 0-11.86`}],[`path`,{d:`M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33`}],[`path`,{d:`M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4`}],[`path`,{d:`m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98`}]],C_=[[`path`,{d:`m17.586 11.414-5.93 5.93a1 1 0 0 1-8-8l3.137-3.137a.707.707 0 0 1 1.207.5V10`}],[`path`,{d:`M20.414 8.586 22 7`}],[`circle`,{cx:`19`,cy:`10`,r:`2`}]],w_=[[`path`,{d:`M4 11h1`}],[`path`,{d:`M8 15a2 2 0 0 1-4 0V3a1 1 0 0 1 1-1h.5C14 2 20 9 20 18v4`}],[`circle`,{cx:`18`,cy:`18`,r:`2`}]],T_=[[`path`,{d:`M16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4 22V4`}],[`path`,{d:`M7.656 2H8c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10.347`}]],E_=[[`path`,{d:`M18 22V2.8a.8.8 0 0 0-1.17-.71L5.45 7.78a.8.8 0 0 0 0 1.44L18 15.5`}]],D_=[[`path`,{d:`M6 22V2.8a.8.8 0 0 1 1.17-.71l11.38 5.69a.8.8 0 0 1 0 1.44L6 15.5`}]],O_=[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`}]],k_=[[`path`,{d:`M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z`}],[`path`,{d:`m5 22 14-4`}],[`path`,{d:`m5 18 14 4`}]],A_=[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`}]],j_=[[`path`,{d:`M11.652 6H18`}],[`path`,{d:`M12 13v1`}],[`path`,{d:`M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V6`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7.649 2H17a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8a4 4 0 0 0-.55 1.007`}]],M_=[[`path`,{d:`M12 13v1`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8A4 4 0 0 0 16 12v8a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 6h12`}]],N_=[[`path`,{d:`M10 2v2.343`}],[`path`,{d:`M14 2v6.343`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20a2 2 0 0 1-2 2H6a2 2 0 0 1-1.755-2.96l5.227-9.563`}],[`path`,{d:`M6.453 15H15`}],[`path`,{d:`M8.5 2h7`}]],P_=[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`}],[`path`,{d:`M6.453 15h11.094`}],[`path`,{d:`M8.5 2h7`}]],F_=[[`path`,{d:`M10 2v6.292a7 7 0 1 0 4 0V2`}],[`path`,{d:`M5 15h14`}],[`path`,{d:`M8.5 2h7`}]],I_=[[`path`,{d:`m3 7 5 5-5 5V7`}],[`path`,{d:`m21 7-5 5 5 5V7`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 2v2`}]],L_=[[`path`,{d:`m17 3-5 5-5-5h10`}],[`path`,{d:`m17 21-5-5-5 5h10`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],R_=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5`}],[`path`,{d:`M12 7.5V9`}],[`path`,{d:`M7.5 12H9`}],[`path`,{d:`M16.5 12H15`}],[`path`,{d:`M12 16.5V15`}],[`path`,{d:`m8 8 1.88 1.88`}],[`path`,{d:`M14.12 9.88 16 8`}],[`path`,{d:`m8 16 1.88-1.88`}],[`path`,{d:`M14.12 14.12 16 16`}]],z_=[[`path`,{d:`M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}],[`path`,{d:`M12 10v12`}],[`path`,{d:`M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z`}],[`path`,{d:`M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z`}]],B_=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}]],V_=[[`path`,{d:`M2 12h6`}],[`path`,{d:`M22 12h-6`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m19 9-3 3 3 3`}],[`path`,{d:`m5 15 3-3-3-3`}]],H_=[[`path`,{d:`M12 22v-6`}],[`path`,{d:`M12 8V2`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}],[`path`,{d:`m15 19-3-3-3 3`}],[`path`,{d:`m15 5-3 3-3-3`}]],U_=[[`circle`,{cx:`15`,cy:`19`,r:`2`}],[`path`,{d:`M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1`}],[`path`,{d:`M15 11v-1`}],[`path`,{d:`M15 17v-2`}]],W_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`m9 13 2 2 4-4`}]],G_=[[`path`,{d:`M12 6v8l3-3 3 3V6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z`}]],K_=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}]],q_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M2 10h20`}]],J_=[[`path`,{d:`M10 10.5 8 13l2 2.5`}],[`path`,{d:`m14 10.5 2 2.5-2 2.5`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z`}]],Y_=[[`path`,{d:`M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3`}],[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],X_=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`circle`,{cx:`12`,cy:`13`,r:`1`}]],Z_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`m15 13-3 3-3-3`}]],Q_=[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`}],[`circle`,{cx:`13`,cy:`12`,r:`2`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}]],$_=[[`circle`,{cx:`12`,cy:`13`,r:`2`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M14 13h3`}],[`path`,{d:`M7 13h3`}]],ev=[[`path`,{d:`M10.638 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.417`}],[`path`,{d:`M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}]],tv=[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M2 13h10`}],[`path`,{d:`m9 16 3-3-3-3`}]],nv=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M12 10v2`}],[`path`,{d:`M16 10v6`}]],rv=[[`path`,{d:`M13 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.36`}],[`path`,{d:`M19 12v6`}],[`path`,{d:`M19 14h2`}],[`circle`,{cx:`19`,cy:`20`,r:`2`}]],iv=[[`rect`,{width:`8`,height:`5`,x:`14`,y:`17`,rx:`1`}],[`path`,{d:`M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5`}],[`path`,{d:`M20 17v-2a2 2 0 1 0-4 0v2`}]],av=[[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],ov=[[`path`,{d:`m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2`}],[`circle`,{cx:`14`,cy:`15`,r:`1`}]],sv=[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`}]],cv=[[`path`,{d:`M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5`}],[`path`,{d:`M2 13h10`}],[`path`,{d:`m5 10-3 3 3 3`}]],lv=[[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],uv=[[`path`,{d:`M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5`}],[`path`,{d:`M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],dv=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`circle`,{cx:`12`,cy:`13`,r:`2`}],[`path`,{d:`M12 15v5`}]],fv=[[`circle`,{cx:`11.5`,cy:`12.5`,r:`2.5`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M13.3 14.3 15 16`}]],pv=[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`}],[`path`,{d:`m21 21-1.9-1.9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}]],mv=[[`path`,{d:`M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`}],[`path`,{d:`m8 16 3-3-3-3`}]],hv=[[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5`}],[`path`,{d:`M12 10v4h4`}],[`path`,{d:`m12 14 1.535-1.605a5 5 0 0 1 8 1.5`}],[`path`,{d:`M22 22v-4h-4`}],[`path`,{d:`m22 18-1.535 1.605a5 5 0 0 1-8-1.5`}]],gv=[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`}]],_v=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`m9 13 3-3 3 3`}]],vv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`m9.5 10.5 5 5`}],[`path`,{d:`m14.5 10.5-5 5`}]],yv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],bv=[[`path`,{d:`M20 5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h2.5a1.5 1.5 0 0 1 1.2.6l.6.8a1.5 1.5 0 0 0 1.2.6z`}],[`path`,{d:`M3 8.268a2 2 0 0 0-1 1.738V19a2 2 0 0 0 2 2h11a2 2 0 0 0 1.732-1`}]],xv=[[`path`,{d:`M12 12H5a2 2 0 0 0-2 2v5`}],[`path`,{d:`M15 19h7`}],[`path`,{d:`M16 19V2`}],[`path`,{d:`M6 12V7a2 2 0 0 1 2-2h2.172a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 16 10.828`}],[`path`,{d:`M7 19h4`}],[`circle`,{cx:`13`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],Sv=[[`path`,{d:`M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z`}],[`path`,{d:`M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z`}],[`path`,{d:`M16 17h4`}],[`path`,{d:`M4 13h4`}]],Cv=[[`path`,{d:`M4 14h6`}],[`path`,{d:`M4 2h10`}],[`rect`,{x:`4`,y:`18`,width:`16`,height:`4`,rx:`1`}],[`rect`,{x:`4`,y:`6`,width:`16`,height:`4`,rx:`1`}]],wv=[[`path`,{d:`m15 17 5-5-5-5`}],[`path`,{d:`M4 18v-2a4 4 0 0 1 4-4h12`}]],Tv=[[`line`,{x1:`22`,x2:`2`,y1:`6`,y2:`6`}],[`line`,{x1:`22`,x2:`2`,y1:`18`,y2:`18`}],[`line`,{x1:`6`,x2:`6`,y1:`2`,y2:`22`}],[`line`,{x1:`18`,x2:`18`,y1:`2`,y2:`22`}]],Ev=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],Dv=[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`}],[`path`,{d:`M2 21h13`}],[`path`,{d:`M3 9h11`}]],Ov=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`rect`,{width:`10`,height:`8`,x:`7`,y:`8`,rx:`1`}]],kv=[[`path`,{d:`M13.354 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l1.218-1.348`}],[`path`,{d:`M16 6h6`}],[`path`,{d:`M19 3v6`}]],Av=[[`path`,{d:`M12.531 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l.427-.473`}],[`path`,{d:`m16.5 3.5 5 5`}],[`path`,{d:`m21.5 3.5-5 5`}]],jv=[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`}]],Mv=[[`path`,{d:`M2 7v10`}],[`path`,{d:`M6 5v14`}],[`rect`,{width:`12`,height:`18`,x:`10`,y:`3`,rx:`2`}]],Nv=[[`path`,{d:`M2 3v18`}],[`rect`,{width:`12`,height:`18`,x:`6`,y:`3`,rx:`2`}],[`path`,{d:`M22 3v18`}]],Pv=[[`rect`,{width:`18`,height:`14`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M4 21h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M19 21h1`}]],Fv=[[`path`,{d:`M3 2h18`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`6`,rx:`2`}],[`path`,{d:`M3 22h18`}]],Iv=[[`path`,{d:`M7 2h10`}],[`path`,{d:`M5 6h14`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`}]],Lv=[[`line`,{x1:`6`,x2:`10`,y1:`11`,y2:`11`}],[`line`,{x1:`8`,x2:`8`,y1:`9`,y2:`13`}],[`line`,{x1:`15`,x2:`15.01`,y1:`12`,y2:`12`}],[`line`,{x1:`18`,x2:`18.01`,y1:`10`,y2:`10`}],[`path`,{d:`M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z`}]],Rv=[[`path`,{d:`M11.146 15.854a1.207 1.207 0 0 1 1.708 0l1.56 1.56A2 2 0 0 1 15 18.828V21a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2.172a2 2 0 0 1 .586-1.414z`}],[`path`,{d:`M18.828 15a2 2 0 0 1-1.414-.586l-1.56-1.56a1.207 1.207 0 0 1 0-1.708l1.56-1.56A2 2 0 0 1 18.828 9H21a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1z`}],[`path`,{d:`M6.586 14.414A2 2 0 0 1 5.172 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h2.172a2 2 0 0 1 1.414.586l1.56 1.56a1.207 1.207 0 0 1 0 1.708z`}],[`path`,{d:`M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2.172a2 2 0 0 1-.586 1.414l-1.56 1.56a1.207 1.207 0 0 1-1.708 0l-1.56-1.56A2 2 0 0 1 9 5.172z`}]],zv=[[`line`,{x1:`6`,x2:`10`,y1:`12`,y2:`12`}],[`line`,{x1:`8`,x2:`8`,y1:`10`,y2:`14`}],[`line`,{x1:`15`,x2:`15.01`,y1:`13`,y2:`13`}],[`line`,{x1:`18`,x2:`18.01`,y1:`11`,y2:`11`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],Bv=[[`path`,{d:`m12 14 4-4`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`}]],Vv=[[`path`,{d:`m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381`}],[`path`,{d:`m16 16 6-6`}],[`path`,{d:`m21.5 10.5-8-8`}],[`path`,{d:`m8 8 6-6`}],[`path`,{d:`m8.5 7.5 8 8`}]],Hv=[[`path`,{d:`M10.5 3 8 9l4 13 4-13-2.5-6`}],[`path`,{d:`M17 3a2 2 0 0 1 1.6.8l3 4a2 2 0 0 1 .013 2.382l-7.99 10.986a2 2 0 0 1-3.247 0l-7.99-10.986A2 2 0 0 1 2.4 7.8l2.998-3.997A2 2 0 0 1 7 3z`}],[`path`,{d:`M2 9h20`}]],Uv=[[`path`,{d:`M9 10h.01`}],[`path`,{d:`M15 10h.01`}],[`path`,{d:`M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z`}]],Wv=[[`path`,{d:`M11.5 21a7.5 7.5 0 1 1 7.35-9`}],[`path`,{d:`M13 12V3`}],[`path`,{d:`M4 21h16`}],[`path`,{d:`M9 12V3`}]],Gv=[[`path`,{d:`M12 7v14`}],[`path`,{d:`M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5`}],[`rect`,{x:`3`,y:`7`,width:`18`,height:`4`,rx:`1`}]],Kv=[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`path`,{d:`M21 18h-6`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]],qv=[[`path`,{d:`M6 3v12`}],[`path`,{d:`M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`}],[`path`,{d:`M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`}],[`path`,{d:`M15 6a9 9 0 0 0-9 9`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}]],Jv=[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]],Yv=[[`path`,{d:`M12 3v6`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M12 15v6`}]],Xv=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`}],[`path`,{d:`m15 9-3-3 3-3`}],[`circle`,{cx:`19`,cy:`18`,r:`3`}],[`path`,{d:`M12 18H7a2 2 0 0 1-2-2V9`}],[`path`,{d:`m9 15 3 3-3 3`}]],Zv=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`}]],Qv=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`}]],$v=[[`circle`,{cx:`12`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`}],[`path`,{d:`M12 12v3`}]],ey=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v6`}],[`circle`,{cx:`5`,cy:`18`,r:`3`}],[`path`,{d:`M12 3v18`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}],[`path`,{d:`M16 15.7A9 9 0 0 0 19 9`}]],ty=[[`path`,{d:`M12 6h4a2 2 0 0 1 2 2v7`}],[`path`,{d:`M6 12v9`}],[`path`,{d:`M9 3 3 9`}],[`path`,{d:`M9 9 3 3`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],ny=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`}]],ry=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v12`}],[`circle`,{cx:`19`,cy:`18`,r:`3`}],[`path`,{d:`m15 9-3-3 3-3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`}]],iy=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 9v12`}],[`path`,{d:`m21 3-6 6`}],[`path`,{d:`m21 9-6-6`}],[`path`,{d:`M18 11.5V15`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],see=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v12`}],[`path`,{d:`m15 9-3-3 3-3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v3`}],[`path`,{d:`M19 15v6`}],[`path`,{d:`M22 18h-6`}]],cee=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 9v12`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v3`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}]],lee=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M18 6V5`}],[`path`,{d:`M18 11v-1`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`}]],uee=[[`path`,{d:`M5.116 4.104A1 1 0 0 1 6.11 3h11.78a1 1 0 0 1 .994 1.105L17.19 20.21A2 2 0 0 1 15.2 22H8.8a2 2 0 0 1-2-1.79z`}],[`path`,{d:`M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0`}]],dee=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`}]],fee=[[`circle`,{cx:`6`,cy:`15`,r:`4`}],[`circle`,{cx:`18`,cy:`15`,r:`4`}],[`path`,{d:`M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2`}],[`path`,{d:`M2.5 13 5 7c.7-1.3 1.4-2 3-2`}],[`path`,{d:`M21.5 13 19 7c-.7-1.3-1.5-2-3-2`}]],pee=[[`path`,{d:`m15 6 2 2 4-4`}],[`path`,{d:`M2 12h20A10 10 0 1 1 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 4-10`}]],mee=[[`path`,{d:`M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13`}],[`path`,{d:`M2 12h8.5`}],[`path`,{d:`M20 6V4a2 2 0 1 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`14`,y:`6`,rx:`1`}]],hee=[[`path`,{d:`M10.114 4.462A14.5 14.5 0 0 1 12 2a10 10 0 0 1 9.313 13.643`}],[`path`,{d:`M15.557 15.556A14.5 14.5 0 0 1 12 22 10 10 0 0 1 4.929 4.929`}],[`path`,{d:`M15.892 10.234A14.5 14.5 0 0 0 12 2a10 10 0 0 0-3.643.687`}],[`path`,{d:`M17.656 12H22`}],[`path`,{d:`M19.071 19.071A10 10 0 0 1 12 22 14.5 14.5 0 0 1 8.44 8.45`}],[`path`,{d:`M2 12h10`}],[`path`,{d:`m2 2 20 20`}]],gee=[[`path`,{d:`m16 3 5 5`}],[`path`,{d:`M2 12h20A10 10 0 1 1 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 4-10`}],[`path`,{d:`m21 3-5 5`}]],_ee=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`}],[`path`,{d:`M2 12h20`}]],vee=[[`path`,{d:`M12 13V2l8 4-8 4`}],[`path`,{d:`M20.561 10.222a9 9 0 1 1-12.55-5.29`}],[`path`,{d:`M8.002 9.997a5 5 0 1 0 8.9 2.02`}]],yee=[[`path`,{d:`M2 17h18a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H2`}],[`path`,{d:`M2 21V3`}],[`path`,{d:`M7 17v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3`}],[`circle`,{cx:`16`,cy:`11`,r:`2`}],[`circle`,{cx:`8`,cy:`11`,r:`2`}]],bee=[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`}],[`path`,{d:`M22 10v6`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`}]],xee=[[`path`,{d:`M22 5V2l-5.89 5.89`}],[`circle`,{cx:`16.6`,cy:`15.89`,r:`3`}],[`circle`,{cx:`8.11`,cy:`7.4`,r:`3`}],[`circle`,{cx:`12.35`,cy:`11.65`,r:`3`}],[`circle`,{cx:`13.91`,cy:`5.85`,r:`3`}],[`circle`,{cx:`18.15`,cy:`10.09`,r:`3`}],[`circle`,{cx:`6.56`,cy:`13.2`,r:`3`}],[`circle`,{cx:`10.8`,cy:`17.44`,r:`3`}],[`circle`,{cx:`5`,cy:`19`,r:`3`}]],ay=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`m16 19 2 2 4-4`}]],oy=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`M16 19h6`}],[`path`,{d:`M19 22v-6`}]],sy=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`m16 16 5 5`}],[`path`,{d:`m16 21 5-5`}]],cy=[[`path`,{d:`M12 3v18`}],[`path`,{d:`M3 12h18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],See=[[`path`,{d:`M15 3v18`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M9 3v18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],ly=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],Cee=[[`circle`,{cx:`12`,cy:`9`,r:`1`}],[`circle`,{cx:`19`,cy:`9`,r:`1`}],[`circle`,{cx:`5`,cy:`9`,r:`1`}],[`circle`,{cx:`12`,cy:`15`,r:`1`}],[`circle`,{cx:`19`,cy:`15`,r:`1`}],[`circle`,{cx:`5`,cy:`15`,r:`1`}]],wee=[[`circle`,{cx:`9`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`5`,r:`1`}],[`circle`,{cx:`9`,cy:`19`,r:`1`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`circle`,{cx:`15`,cy:`19`,r:`1`}]],Tee=[[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`19`,cy:`5`,r:`1`}],[`circle`,{cx:`5`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`19`,cy:`12`,r:`1`}],[`circle`,{cx:`5`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}],[`circle`,{cx:`19`,cy:`19`,r:`1`}],[`circle`,{cx:`5`,cy:`19`,r:`1`}]],Eee=[[`path`,{d:`M3 7V5c0-1.1.9-2 2-2h2`}],[`path`,{d:`M17 3h2c1.1 0 2 .9 2 2v2`}],[`path`,{d:`M21 17v2c0 1.1-.9 2-2 2h-2`}],[`path`,{d:`M7 21H5c-1.1 0-2-.9-2-2v-2`}],[`rect`,{width:`7`,height:`5`,x:`7`,y:`7`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`10`,y:`12`,rx:`1`}]],Dee=[[`path`,{d:`m11.9 12.1 4.514-4.514`}],[`path`,{d:`M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z`}],[`path`,{d:`m6 16 2 2`}],[`path`,{d:`M8.23 9.85A3 3 0 0 1 11 8a5 5 0 0 1 5 5 3 3 0 0 1-1.85 2.77l-.92.38A2 2 0 0 0 12 18a4 4 0 0 1-4 4 6 6 0 0 1-6-6 4 4 0 0 1 4-4 2 2 0 0 0 1.85-1.23z`}]],Oee=[[`path`,{d:`M12 16H4a2 2 0 1 1 0-4h16a2 2 0 1 1 0 4h-4.25`}],[`path`,{d:`M5 12a2 2 0 0 1-2-2 9 7 0 0 1 18 0 2 2 0 0 1-2 2`}],[`path`,{d:`M5 16a2 2 0 0 0-2 2 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 2 2 0 0 0-2-2q0 0 0 0`}],[`path`,{d:`m6.67 12 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2`}]],kee=[[`path`,{d:`M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856`}],[`path`,{d:`M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288`}],[`path`,{d:`M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025`}],[`path`,{d:`m8.5 16.5-1-1`}]],Aee=[[`path`,{d:`m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9`}],[`path`,{d:`m18 15 4-4`}],[`path`,{d:`m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5`}]],jee=[[`path`,{d:`M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17`}],[`path`,{d:`m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 16 6 6`}],[`circle`,{cx:`16`,cy:`9`,r:`2.9`}],[`circle`,{cx:`6`,cy:`5`,r:`3`}]],Mee=[[`path`,{d:`M12.035 17.012a3 3 0 0 0-3-3l-.311-.002a.72.72 0 0 1-.505-1.229l1.195-1.195A2 2 0 0 1 10.828 11H12a2 2 0 0 0 0-4H9.243a3 3 0 0 0-2.122.879l-2.707 2.707A4.83 4.83 0 0 0 3 14a8 8 0 0 0 8 8h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v2a2 2 0 1 0 4 0`}],[`path`,{d:`M13.888 9.662A2 2 0 0 0 17 8V5A2 2 0 1 0 13 5`}],[`path`,{d:`M9 5A2 2 0 1 0 5 5V10`}],[`path`,{d:`M9 7V4A2 2 0 1 1 13 4V7.268`}]],Nee=[[`path`,{d:`M11 14h2a2 2 0 0 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16`}],[`path`,{d:`m14.45 13.39 5.05-4.694C20.196 8 21 6.85 21 5.75a2.75 2.75 0 0 0-4.797-1.837.276.276 0 0 1-.406 0A2.75 2.75 0 0 0 11 5.75c0 1.2.802 2.248 1.5 2.946L16 11.95`}],[`path`,{d:`m2 15 6 6`}],[`path`,{d:`m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a1 1 0 0 0-2.75-2.91`}]],uy=[[`path`,{d:`M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4`}],[`path`,{d:`M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5`}],[`path`,{d:`M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0`}]],dy=[[`path`,{d:`M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14`}],[`path`,{d:`m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 13 6 6`}]],Pee=[[`path`,{d:`M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4`}],[`path`,{d:`M14 11V9a2 2 0 1 0-4 0v2`}],[`path`,{d:`M10 10.5V5a2 2 0 1 0-4 0v9`}],[`path`,{d:`m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5`}]],Fee=[[`path`,{d:`M12 3V2`}],[`path`,{d:`m15.4 17.4 3.2-2.8a2 2 0 1 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2l-1.302-1.464A1 1 0 0 0 6.151 19H5`}],[`path`,{d:`M2 14h12a2 2 0 0 1 0 4h-2`}],[`path`,{d:`M4 10h16`}],[`path`,{d:`M5 10a7 7 0 0 1 14 0`}],[`path`,{d:`M5 14v6a1 1 0 0 1-1 1H2`}]],Iee=[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]],Lee=[[`path`,{d:`M2.048 18.566A2 2 0 0 0 4 21h16a2 2 0 0 0 1.952-2.434l-2-9A2 2 0 0 0 18 8H6a2 2 0 0 0-1.952 1.566z`}],[`path`,{d:`M8 11V6a4 4 0 0 1 8 0v5`}]],Ree=[[`path`,{d:`m11 17 2 2a1 1 0 1 0 3-3`}],[`path`,{d:`m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4`}],[`path`,{d:`m21 3 1 11h-2`}],[`path`,{d:`M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3`}],[`path`,{d:`M3 4h8`}]],zee=[[`path`,{d:`M12 2v8`}],[`path`,{d:`m16 6-4 4-4-4`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 18h.01`}]],Bee=[[`path`,{d:`M10 16h.01`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`}],[`path`,{d:`M21.946 12.013H2.054`}],[`path`,{d:`M6 16h.01`}]],Vee=[[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M12 2v8`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 18h.01`}]],Hee=[[`path`,{d:`M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5`}],[`path`,{d:`M14 6a6 6 0 0 1 6 6v3`}],[`path`,{d:`M4 15v-3a6 6 0 0 1 6-6`}],[`rect`,{x:`2`,y:`15`,width:`20`,height:`4`,rx:`1`}]],Uee=[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`}]],Wee=[[`path`,{d:`M14 18a2 2 0 0 0-4 0`}],[`path`,{d:`m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11`}],[`path`,{d:`M2 11h20`}],[`circle`,{cx:`17`,cy:`18`,r:`3`}],[`circle`,{cx:`7`,cy:`18`,r:`3`}]],Gee=[[`path`,{d:`m5.2 6.2 1.4 1.4`}],[`path`,{d:`M2 13h2`}],[`path`,{d:`M20 13h2`}],[`path`,{d:`m17.4 7.6 1.4-1.4`}],[`path`,{d:`M22 17H2`}],[`path`,{d:`M22 21H2`}],[`path`,{d:`M16 13a4 4 0 0 0-8 0`}],[`path`,{d:`M12 5V2.5`}]],Kee=[[`path`,{d:`M10 12H6`}],[`path`,{d:`M10 15V9`}],[`path`,{d:`M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z`}],[`path`,{d:`M6 15V9`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],qee=[[`path`,{d:`M22 9a1 1 0 00-1-1H3a1 1 0 00-1 1v4a1 1 0 001 1h.5a2 2 0 011.6.8l.3.4A2 2 0 007 16h10a2 2 0 001.6-.8l.3-.4a2 2 0 011.6-.8h.5a1 1 0 001-1z`}],[`path`,{d:`M8 12h8`}]],Jee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`m17 12 3-2v8`}]],Yee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1`}]],Xee=[[`path`,{d:`M12 18V6`}],[`path`,{d:`M17 10v3a1 1 0 0 0 1 1h3`}],[`path`,{d:`M21 10v8`}],[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}]],Zee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2`}],[`path`,{d:`M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2`}]],Qee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M17 13v-3h4`}],[`path`,{d:`M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17`}]],$ee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`circle`,{cx:`19`,cy:`16`,r:`2`}],[`path`,{d:`M20 10c-2 2-3 3.5-3 6`}]],ete=[[`path`,{d:`M6 12h12`}],[`path`,{d:`M6 20V4`}],[`path`,{d:`M18 20V4`}]],tte=[[`path`,{d:`M21 14h-1.343`}],[`path`,{d:`M9.128 3.47A9 9 0 0 1 21 12v3.343`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3`}],[`path`,{d:`M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364`}]],nte=[[`path`,{d:`M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3`}]],rte=[[`path`,{d:`M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z`}],[`path`,{d:`M21 16v2a4 4 0 0 1-4 4h-5`}]],ite=[[`path`,{d:`M12.409 5.824c-.702.792-1.15 1.496-1.415 2.166l2.153 2.156a.5.5 0 0 1 0 .707l-2.293 2.293a.5.5 0 0 0 0 .707L12 15`}],[`path`,{d:`M13.508 20.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.677.6.6 0 0 0 .818.001A5.5 5.5 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5z`}]],ate=[[`path`,{d:`M19.414 14.414C21 12.828 22 11.5 22 9.5a5.5 5.5 0 0 0-9.591-3.676.6.6 0 0 1-.818.001A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.535 5.362a2 2 0 0 0 2.879.052 2.12 2.12 0 0 0-.004-3 2.124 2.124 0 1 0 3-3 2.124 2.124 0 0 0 3.004 0 2 2 0 0 0 0-2.828l-1.881-1.882a2.41 2.41 0 0 0-3.409 0l-1.71 1.71a2 2 0 0 1-2.828 0 2 2 0 0 1 0-2.828l2.823-2.762`}]],ote=[[`path`,{d:`m14.876 18.99-1.368 1.323a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.244 1.572`}],[`path`,{d:`M15 15h6`}]],ste=[[`path`,{d:`M10.5 4.893a5.5 5.5 0 0 1 1.091.931.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 1.872-1.002 3.356-2.187 4.655`}],[`path`,{d:`m16.967 16.967-3.459 3.346a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 2.747-4.761`}],[`path`,{d:`m2 2 20 20`}]],cte=[[`path`,{d:`m14.479 19.374-.971.939a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.219 1.49`}],[`path`,{d:`M15 15h6`}],[`path`,{d:`M18 12v6`}]],fy=[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`}],[`path`,{d:`M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27`}]],py=[[`path`,{d:`m15.5 12.5 5 5`}],[`path`,{d:`m20.5 12.5-5 5`}],[`path`,{d:`M21.955 8.774a5.5 5.5 0 0 0-9.546-2.95.6.6 0 0 1-.818 0A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.508 5.332a2 2 0 0 0 2.57.352`}]],my=[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`}]],hy=[[`path`,{d:`M11 8c2-3-2-3 0-6`}],[`path`,{d:`M15.5 8c2-3-2-3 0-6`}],[`path`,{d:`M6 10h.01`}],[`path`,{d:`M6 14h.01`}],[`path`,{d:`M10 16v-4`}],[`path`,{d:`M14 16v-4`}],[`path`,{d:`M18 16v-4`}],[`path`,{d:`M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3`}],[`path`,{d:`M5 20v2`}],[`path`,{d:`M19 20v2`}]],gy=[[`path`,{d:`M11 17v4`}],[`path`,{d:`M14 3v8a2 2 0 0 0 2 2h5.865`}],[`path`,{d:`M17 17v4`}],[`path`,{d:`M18 17a4 4 0 0 0 4-4 8 6 0 0 0-8-6 6 5 0 0 0-6 5v3a2 2 0 0 0 2 2z`}],[`path`,{d:`M2 10v5`}],[`path`,{d:`M6 3h16`}],[`path`,{d:`M7 21h14`}],[`path`,{d:`M8 13H2`}]],_y=[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}]],vy=[[`path`,{d:`m9 11-6 6v3h9l3-3`}],[`path`,{d:`m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4`}]],yy=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M12 7v5l4 2`}]],by=[[`path`,{d:`M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18`}],[`path`,{d:`M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88`}],[`path`,{d:`M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36`}],[`path`,{d:`M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87`}],[`path`,{d:`M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08`}],[`path`,{d:`M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57`}],[`path`,{d:`M4.93 4.93 3 3a.7.7 0 0 1 0-1`}],[`path`,{d:`M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15`}]],xy=[[`path`,{d:`M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27`}],[`path`,{d:`M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28`}],[`path`,{d:`M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26`}],[`path`,{d:`M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25`}],[`path`,{d:`M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75`}],[`path`,{d:`M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24`}],[`path`,{d:`M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28`}],[`path`,{d:`M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05`}],[`path`,{d:`m2 2 20 20`}]],Sy=[[`path`,{d:`M12 7v4`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M14 9h-4`}],[`path`,{d:`M18 11h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2`}],[`path`,{d:`M18 21V5a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16`}]],Cy=[[`path`,{d:`M10 22v-6.57`}],[`path`,{d:`M12 11h.01`}],[`path`,{d:`M12 7h.01`}],[`path`,{d:`M14 15.43V22`}],[`path`,{d:`M15 16a5 5 0 0 0-6 0`}],[`path`,{d:`M16 11h.01`}],[`path`,{d:`M16 7h.01`}],[`path`,{d:`M8 11h.01`}],[`path`,{d:`M8 7h.01`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],wy=[[`path`,{d:`M8.62 13.8A2.25 2.25 0 1 1 12 10.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}]],Ty=[[`path`,{d:`M5 22h14`}],[`path`,{d:`M5 2h14`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`}]],Ey=[[`path`,{d:`M12.35 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .71-1.53l7-6a2 2 0 0 1 2.58 0l7 6A2 2 0 0 1 21 10v2.35`}],[`path`,{d:`M14.8 12.4A1 1 0 0 0 14 12h-4a1 1 0 0 0-1 1v8`}],[`path`,{d:`M15 18h6`}],[`path`,{d:`M18 15v6`}]],Dy=[[`path`,{d:`M10 12V8.964`}],[`path`,{d:`M14 12V8.964`}],[`path`,{d:`M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z`}],[`path`,{d:`M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2`}]],Oy=[[`path`,{d:`M9.5 13.866a4 4 0 0 1 5 .01`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}],[`path`,{d:`M7 10.754a8 8 0 0 1 10 0`}]],ky=[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}]],Ay=[[`path`,{d:`M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0`}],[`path`,{d:`M12.14 11a3.5 3.5 0 1 1 6.71 0`}],[`path`,{d:`M15.5 6.5a3.5 3.5 0 1 0-7 0`}]],jy=[[`path`,{d:`m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11`}],[`path`,{d:`M17 7A5 5 0 0 0 7 7`}],[`path`,{d:`M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4`}]],My=[[`path`,{d:`M13.5 8h-3`}],[`path`,{d:`m15 2-1 2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3`}],[`path`,{d:`M16.899 22A5 5 0 0 0 7.1 22`}],[`path`,{d:`m9 2 3 6`}],[`circle`,{cx:`12`,cy:`15`,r:`3`}]],Ny=[[`path`,{d:`M16 10h2`}],[`path`,{d:`M16 14h2`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`}],[`circle`,{cx:`9`,cy:`11`,r:`2`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],Py=[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`}],[`path`,{d:`m14 19 3 3v-5.5`}],[`path`,{d:`m17 22 3-3`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Fy=[[`path`,{d:`M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`}],[`line`,{x1:`16`,x2:`22`,y1:`5`,y2:`5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}]],Iy=[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`}]],Ly=[[`path`,{d:`M15 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}],[`path`,{d:`M21 12.17V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`m6 21 5-5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Ry=[[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 2v6`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],zy=[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`}],[`path`,{d:`m14 19.5 3-3 3 3`}],[`path`,{d:`M17 22v-5.5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],By=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}]],Vy=[[`path`,{d:`m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16`}],[`path`,{d:`M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2`}],[`circle`,{cx:`13`,cy:`7`,r:`1`,fill:`currentColor`}],[`rect`,{x:`8`,y:`2`,width:`14`,height:`14`,rx:`2`}]],Hy=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M17 21h2a2 2 0 0 0 2-2`}],[`path`,{d:`M21 12v3`}],[`path`,{d:`m21 3-5 5`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2`}],[`path`,{d:`m5 21 4.144-4.144a1.21 1.21 0 0 1 1.712 0L13 19`}],[`path`,{d:`M9 3h3`}],[`rect`,{x:`3`,y:`11`,width:`10`,height:`10`,rx:`1`}]],Uy=[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`}]],Wy=[[`path`,{d:`M12 3v12`}],[`path`,{d:`m8 11 4 4 4-4`}],[`path`,{d:`M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4`}]],Gy=[[`path`,{d:`M6 3h12`}],[`path`,{d:`M6 8h12`}],[`path`,{d:`m6 13 8.5 8`}],[`path`,{d:`M6 13h3`}],[`path`,{d:`M9 13c6.667 0 6.667-10 0-10`}]],Ky=[[`path`,{d:`M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8`}]],qy=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]],Jy=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7h.01`}],[`path`,{d:`M17 7h.01`}],[`path`,{d:`M7 17h.01`}],[`path`,{d:`M17 17h.01`}]],Yy=[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`}]],Xy=[[`path`,{d:`m16 14 4 4-4 4`}],[`path`,{d:`M20 10a8 8 0 1 0-8 8h8`}]],Zy=[[`path`,{d:`M4 10a8 8 0 1 1 8 8H4`}],[`path`,{d:`m8 22-4-4 4-4`}]],Qy=[[`path`,{d:`M12 9.5V21m0-11.5L6 3m6 6.5L18 3`}],[`path`,{d:`M6 15h12`}],[`path`,{d:`M6 11h12`}]],$y=[[`path`,{d:`M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z`}],[`path`,{d:`M6 15v-2`}],[`path`,{d:`M12 15V9`}],[`circle`,{cx:`12`,cy:`6`,r:`3`}]],eb=[[`path`,{d:`M18 17a1 1 0 0 0-1 1v1a2 2 0 1 0 2-2z`}],[`path`,{d:`M20.97 3.61a.45.45 0 0 0-.58-.58C10.2 6.6 6.6 10.2 3.03 20.39a.45.45 0 0 0 .58.58C13.8 17.4 17.4 13.8 20.97 3.61`}],[`path`,{d:`m6.707 6.707 10.586 10.586`}],[`path`,{d:`M7 5a2 2 0 1 0-2 2h1a1 1 0 0 0 1-1z`}]],tb=[[`path`,{d:`M5 3v14`}],[`path`,{d:`M12 3v8`}],[`path`,{d:`M19 3v18`}]],nb=[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],rb=[[`path`,{d:`M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z`}],[`path`,{d:`m14 7 3 3`}],[`path`,{d:`m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814`}]],ib=[[`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`}],[`path`,{d:`m21 2-9.6 9.6`}],[`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`}]],ab=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 8h4`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`M6 12v4`}],[`path`,{d:`M10 12v4`}],[`path`,{d:`M14 12v4`}],[`path`,{d:`M18 12v4`}]],ob=[[`path`,{d:`M10 8h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M7 16h10`}],[`path`,{d:`M8 12h.01`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}]],sb=[[`path`,{d:`M 20 4 A2 2 0 0 1 22 6`}],[`path`,{d:`M 22 6 L 22 16.41`}],[`path`,{d:`M 7 16 L 16 16`}],[`path`,{d:`M 9.69 4 L 20 4`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M8 12h.01`}]],cb=[[`path`,{d:`M12 2v5`}],[`path`,{d:`M14.829 15.998a3 3 0 1 1-5.658 0`}],[`path`,{d:`M20.92 14.606A1 1 0 0 1 20 16H4a1 1 0 0 1-.92-1.394l3-7A1 1 0 0 1 7 7h10a1 1 0 0 1 .92.606z`}]],lb=[[`path`,{d:`M10.293 2.293a1 1 0 0 1 1.414 0l2.5 2.5 5.994 1.227a1 1 0 0 1 .506 1.687l-7 7a1 1 0 0 1-1.687-.506l-1.227-5.994-2.5-2.5a1 1 0 0 1 0-1.414z`}],[`path`,{d:`m14.207 4.793-3.414 3.414`}],[`path`,{d:`M3 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z`}],[`path`,{d:`m9.086 6.5-4.793 4.793a1 1 0 0 0-.18 1.17L7 18`}]],ub=[[`path`,{d:`M12 10v12`}],[`path`,{d:`M17.929 7.629A1 1 0 0 1 17 9H7a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 9 2h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M9 22h6`}]],db=[[`path`,{d:`M19.929 18.629A1 1 0 0 1 19 20H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 13h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M6 3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z`}],[`path`,{d:`M8 6h4a2 2 0 0 1 2 2v5`}]],fb=[[`path`,{d:`M19.929 9.629A1 1 0 0 1 19 11H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 4h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M6 15a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`}],[`path`,{d:`M8 18h4a2 2 0 0 0 2-2v-5`}]],pb=[[`path`,{d:`M12 12v6`}],[`path`,{d:`M4.077 10.615A1 1 0 0 0 5 12h14a1 1 0 0 0 .923-1.385l-3.077-7.384A2 2 0 0 0 15 2H9a2 2 0 0 0-1.846 1.23Z`}],[`path`,{d:`M8 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1z`}]],mb=[[`path`,{d:`m12 8 6-3-6-3v10`}],[`path`,{d:`m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12`}],[`path`,{d:`m6.49 12.85 11.02 6.3`}],[`path`,{d:`M17.51 12.85 6.5 19.15`}]],hb=[[`path`,{d:`M10 18v-7`}],[`path`,{d:`M11.119 2.205a2 2 0 0 1 1.762 0l7.84 3.846A.5.5 0 0 1 20.5 7h-17a.5.5 0 0 1-.22-.949z`}],[`path`,{d:`M14 18v-7`}],[`path`,{d:`M18 18v-7`}],[`path`,{d:`M3 22h18`}],[`path`,{d:`M6 18v-7`}]],gb=[[`path`,{d:`m5 8 6 6`}],[`path`,{d:`m4 14 6-6 2-3`}],[`path`,{d:`M2 5h12`}],[`path`,{d:`M7 2h1`}],[`path`,{d:`m22 22-5-10-5 10`}],[`path`,{d:`M14 18h6`}]],_b=[[`path`,{d:`M2 20h20`}],[`path`,{d:`m9 10 2 2 4-4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`12`,rx:`2`}]],vb=[[`rect`,{width:`18`,height:`12`,x:`3`,y:`4`,rx:`2`,ry:`2`}],[`line`,{x1:`2`,x2:`22`,y1:`20`,y2:`20`}]],yb=[[`path`,{d:`M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z`}],[`path`,{d:`M20.054 15.987H3.946`}]],bb=[[`path`,{d:`M7 22a5 5 0 0 1-2-4`}],[`path`,{d:`M7 16.93c.96.43 1.96.74 2.99.91`}],[`path`,{d:`M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2`}],[`path`,{d:`M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z`}],[`path`,{d:`M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z`}]],xb=[[`path`,{d:`M3.704 14.467a10 8 0 1 1 3.115 2.375`}],[`path`,{d:`M7 22a5 5 0 0 1-2-3.994`}],[`circle`,{cx:`5`,cy:`16`,r:`2`}]],Sb=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],Cb=[[`path`,{d:`M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z`}],[`path`,{d:`m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845`}]],wb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.832z`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M2.003 11.995a1 1 0 0 0 .597.915l8.58 3.91a2 2 0 0 0 .83.18`}],[`path`,{d:`M2.003 16.995a1 1 0 0 0 .597.915l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l2.11-.96`}],[`path`,{d:`M22.018 12.004a1 1 0 0 1-.598.916l-.177.08`}]],Tb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`}]],Eb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M19 14v6`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 .825.178`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l2.116-.962`}]],Db=[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`}]],Ob=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}]],kb=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`path`,{d:`M14 4h7`}],[`path`,{d:`M14 9h7`}],[`path`,{d:`M14 15h7`}],[`path`,{d:`M14 20h7`}]],Ab=[[`rect`,{width:`7`,height:`18`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}]],jb=[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}]],Mb=[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`}]],Nb=[[`path`,{d:`M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z`}],[`path`,{d:`M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12`}]],Pb=[[`path`,{d:`M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22`}],[`path`,{d:`M2 22 17 7`}]],Fb=[[`path`,{d:`M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3`}],[`path`,{d:`M18 6V3a1 1 0 0 0-1-1h-3`}],[`rect`,{width:`8`,height:`12`,x:`8`,y:`10`,rx:`1`}]],Ib=[[`path`,{d:`M7 2a1 1 0 0 0-.8 1.6 14 14 0 0 1 0 16.8A1 1 0 0 0 7 22h10a1 1 0 0 0 .8-1.6 14 14 0 0 1 0-16.8A1 1 0 0 0 17 2z`}]],Lb=[[`path`,{d:`M13.433 2a1 1 0 0 1 .824.448 18 18 0 0 1 0 19.104 1 1 0 0 1-.824.448h-2.866a1 1 0 0 1-.824-.448 18 18 0 0 1 0-19.104A1 1 0 0 1 10.567 2z`}]],Rb=[[`rect`,{width:`8`,height:`18`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`M7 3v18`}],[`path`,{d:`M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z`}]],zb=[[`path`,{d:`m16 6 4 14`}],[`path`,{d:`M12 6v14`}],[`path`,{d:`M8 8v12`}],[`path`,{d:`M4 4v16`}]],Bb=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m4.93 4.93 4.24 4.24`}],[`path`,{d:`m14.83 9.17 4.24-4.24`}],[`path`,{d:`m14.83 14.83 4.24 4.24`}],[`path`,{d:`m9.17 14.83-4.24 4.24`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],Vb=[[`path`,{d:`M14 12h2v8`}],[`path`,{d:`M14 20h4`}],[`path`,{d:`M6 12h4`}],[`path`,{d:`M6 20h4`}],[`path`,{d:`M8 20V8a4 4 0 0 1 7.464-2`}]],Hb=[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`}],[`path`,{d:`M9 18h6`}],[`path`,{d:`M10 22h4`}]],Ub=[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`}],[`path`,{d:`M9 18h6`}],[`path`,{d:`M10 22h4`}]],Wb=[[`path`,{d:`M7 3.5c5-2 7 2.5 3 4C1.5 10 2 15 5 16c5 2 9-10 14-7s.5 13.5-4 12c-5-2.5.5-11 6-2`}]],Gb=[[`path`,{d:`M 3 12 L 15 12`}],[`circle`,{cx:`18`,cy:`12`,r:`3`}]],Kb=[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],qb=[[`path`,{d:`M11 5h2`}],[`path`,{d:`M15 12h6`}],[`path`,{d:`M19 5h2`}],[`path`,{d:`M3 12h6`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`M3 5h2`}]],Jb=[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],Yb=[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`}]],Xb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M11 19H3`}],[`path`,{d:`m15 18 2 2 4-4`}]],Zb=[[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`m3 17 2 2 4-4`}],[`path`,{d:`m3 7 2 2 4-4`}]],Qb=[[`path`,{d:`M3 5h8`}],[`path`,{d:`M3 12h8`}],[`path`,{d:`M3 19h8`}],[`path`,{d:`m15 5 3 3 3-3`}],[`path`,{d:`m15 19 3-3 3 3`}]],$b=[[`path`,{d:`M3 5h8`}],[`path`,{d:`M3 12h8`}],[`path`,{d:`M3 19h8`}],[`path`,{d:`m15 8 3-3 3 3`}],[`path`,{d:`m15 16 3 3 3-3`}]],ex=[[`path`,{d:`M10 5h11`}],[`path`,{d:`M10 12h11`}],[`path`,{d:`M10 19h11`}],[`path`,{d:`m3 10 3-3-3-3`}],[`path`,{d:`m3 20 3-3-3-3`}]],tx=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M9 19H3`}],[`path`,{d:`m16 16-3 3 3 3`}],[`path`,{d:`M21 5v12a2 2 0 0 1-2 2h-6`}]],nx=[[`path`,{d:`M12 5H2`}],[`path`,{d:`M6 12h12`}],[`path`,{d:`M9 19h6`}],[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 8V2`}]],rx=[[`path`,{d:`M21 5H11`}],[`path`,{d:`M21 12H11`}],[`path`,{d:`M21 19H11`}],[`path`,{d:`m7 8-4 4 4 4`}]],ix=[[`path`,{d:`M2 5h20`}],[`path`,{d:`M6 12h12`}],[`path`,{d:`M9 19h6`}]],ax=[[`path`,{d:`M21 5H11`}],[`path`,{d:`M21 12H11`}],[`path`,{d:`M21 19H11`}],[`path`,{d:`m3 8 4 4-4 4`}]],ox=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M21 12h-6`}]],sx=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M11 19H3`}],[`path`,{d:`M21 16V5`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],cx=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M18 9v6`}],[`path`,{d:`M21 12h-6`}]],lx=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M7 12H3`}],[`path`,{d:`M7 19H3`}],[`path`,{d:`M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14`}],[`path`,{d:`M11 10v4h4`}]],ux=[[`path`,{d:`M11 5h10`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 19h10`}],[`path`,{d:`M4 4h1v5`}],[`path`,{d:`M4 9h2`}],[`path`,{d:`M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02`}]],dx=[[`path`,{d:`M3 19h18`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M9 5H3`}]],fx=[[`path`,{d:`M15 12H3`}],[`path`,{d:`M3 5h18`}],[`path`,{d:`M9 19H3`}]],px=[[`path`,{d:`M3 5h6`}],[`path`,{d:`M3 12h13`}],[`path`,{d:`M3 19h13`}],[`path`,{d:`m16 8-3-3 3-3`}],[`path`,{d:`M21 19V7a2 2 0 0 0-2-2h-6`}]],mx=[[`path`,{d:`M8 5h13`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`M3 10a2 2 0 0 0 2 2h3`}],[`path`,{d:`M3 5v12a2 2 0 0 0 2 2h3`}]],hx=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M10 12H3`}],[`path`,{d:`M10 19H3`}],[`path`,{d:`M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}]],gx=[[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`m3 17 2 2 4-4`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`}]],_x=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`m15.5 9.5 5 5`}],[`path`,{d:`m20.5 9.5-5 5`}]],vx=[[`path`,{d:`M3 5h.01`}],[`path`,{d:`M3 12h.01`}],[`path`,{d:`M3 19h.01`}],[`path`,{d:`M8 5h13`}],[`path`,{d:`M8 12h13`}],[`path`,{d:`M8 19h13`}]],yx=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]],bx=[[`path`,{d:`M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0`}],[`path`,{d:`M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6`}],[`path`,{d:`M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],xx=[[`path`,{d:`M12 2v4`}],[`path`,{d:`m16.2 7.8 2.9-2.9`}],[`path`,{d:`M18 12h4`}],[`path`,{d:`m16.2 16.2 2.9 2.9`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`m4.9 19.1 2.9-2.9`}],[`path`,{d:`M2 12h4`}],[`path`,{d:`m4.9 4.9 2.9 2.9`}]],Sx=[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],Cx=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M12 2v3`}],[`path`,{d:`M18.89 13.24a7 7 0 0 0-8.13-8.13`}],[`path`,{d:`M19 12h3`}],[`path`,{d:`M2 12h3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7.05 7.05a7 7 0 0 0 9.9 9.9`}]],wx=[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}]],Tx=[[`circle`,{cx:`12`,cy:`16`,r:`1`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M7 10V7a5 5 0 0 1 9.33-2.5`}]],Ex=[[`circle`,{cx:`12`,cy:`16`,r:`1`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`}]],Dx=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 9.9-1`}]],Ox=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`}]],kx=[[`path`,{d:`m10 17 5-5-5-5`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`}]],Ax=[[`path`,{d:`m16 17 5-5-5-5`}],[`path`,{d:`M21 12H9`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}]],jx=[[`path`,{d:`M3 5h1`}],[`path`,{d:`M3 12h1`}],[`path`,{d:`M3 19h1`}],[`path`,{d:`M8 5h1`}],[`path`,{d:`M8 12h1`}],[`path`,{d:`M8 19h1`}],[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}]],Mx=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0`}]],Nx=[[`path`,{d:`M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2`}],[`path`,{d:`M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14`}],[`path`,{d:`M10 20h4`}],[`circle`,{cx:`16`,cy:`20`,r:`2`}],[`circle`,{cx:`8`,cy:`20`,r:`2`}]],Px=[[`path`,{d:`m12 15 4 4`}],[`path`,{d:`M2.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.029-6.029a1 1 0 1 1 3 3l-6.029 6.029a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.365-6.367A1 1 0 0 0 8.716 4.282z`}],[`path`,{d:`m5 8 4 4`}]],Fx=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`m16 19 2 2 4-4`}]],Ix=[[`path`,{d:`M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M16 19h6`}]],Lx=[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`}]],Rx=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M16 19h6`}]],zx=[[`path`,{d:`M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2`}],[`path`,{d:`M20 22v.01`}]],Bx=[[`path`,{d:`M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`path`,{d:`m22 22-1.5-1.5`}]],Vx=[[`path`,{d:`M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M20 14v4`}],[`path`,{d:`M20 22v.01`}]],Hx=[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}]],Ux=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`m17 17 4 4`}],[`path`,{d:`m21 17-4 4`}]],Wx=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z`}],[`polyline`,{points:`15,9 18,9 18,11`}],[`path`,{d:`M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2`}],[`line`,{x1:`6`,x2:`7`,y1:`10`,y2:`10`}]],Gx=[[`path`,{d:`M17 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 1-1.732`}],[`path`,{d:`m22 5.5-6.419 4.179a2 2 0 0 1-2.162 0L7 5.5`}],[`rect`,{x:`7`,y:`3`,width:`15`,height:`12`,rx:`2`}]],Kx=[[`path`,{d:`m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V14`}],[`path`,{d:`M15 5.764V14`}],[`path`,{d:`M21 18h-6`}],[`path`,{d:`M9 3.236v15`}]],qx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`m9 10 2 2 4-4`}]],Jx=[[`path`,{d:`M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`m16 18 2 2 4-4`}]],Yx=[[`path`,{d:`M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z`}],[`path`,{d:`M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2`}],[`path`,{d:`M18 22v-3`}],[`circle`,{cx:`10`,cy:`10`,r:`3`}]],Xx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`M9 10h6`}]],Zx=[[`path`,{d:`M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M16 18h6`}]],Qx=[[`path`,{d:`M12.75 7.09a3 3 0 0 1 2.16 2.16`}],[`path`,{d:`M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533`}],[`path`,{d:`M9.13 9.13a3 3 0 0 0 3.74 3.74`}]],$x=[[`path`,{d:`M17.97 9.304A8 8 0 0 0 2 10c0 4.69 4.887 9.562 7.022 11.468`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`10`,r:`3`}]],eS=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`M12 7v6`}],[`path`,{d:`M9 10h6`}]],tS=[[`path`,{d:`M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M16 18h6`}],[`path`,{d:`M19 15v6`}]],nS=[[`path`,{d:`M 12.248 21.969 a 1 1 0 0 1 -0.849 -0.17 C 9.539 20.193 4 14.993 4 10 a 8 8 0 0 1 16 0 C 20 10.42 19.961 10.841 19.888 11.262`}],[`path`,{d:`m22 22-1.88-1.88`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],rS=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`m14.5 7.5-5 5`}],[`path`,{d:`m9.5 7.5 5 5`}]],iS=[[`path`,{d:`M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`m21.5 15.5-5 5`}],[`path`,{d:`m21.5 20.5-5-5`}]],aS=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}]],oS=[[`path`,{d:`M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}],[`path`,{d:`M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712`}]],sS=[[`path`,{d:`m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V12`}],[`path`,{d:`M15 5.764V12`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}],[`path`,{d:`M9 3.236v15`}]],cS=[[`path`,{d:`m14 6 4 4`}],[`path`,{d:`M17 3h4v4`}],[`path`,{d:`m21 3-7.75 7.75`}],[`circle`,{cx:`9`,cy:`15`,r:`6`}]],lS=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`m21 3-6.75 6.75`}],[`circle`,{cx:`10`,cy:`14`,r:`6`}]],uS=[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`}],[`path`,{d:`M15 5.764v15`}],[`path`,{d:`M9 3.236v15`}]],dS=[[`path`,{d:`M12 12 4.207 4.207A.707.707 0 0 1 4.707 3h14.586a.707.707 0 0 1 .5 1.207z`}],[`path`,{d:`M12 12v10`}],[`path`,{d:`M7 22h10`}]],fS=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`m21 3-7 7`}],[`path`,{d:`m3 21 7-7`}],[`path`,{d:`M9 21H3v-6`}]],pS=[[`path`,{d:`M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15`}],[`path`,{d:`M11 12 5.12 2.2`}],[`path`,{d:`m13 12 5.88-9.8`}],[`path`,{d:`M8 7h8`}],[`circle`,{cx:`12`,cy:`17`,r:`5`}],[`path`,{d:`M12 18v-2h-.5`}]],mS=[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`}]],hS=[[`path`,{d:`M11.636 6A13 13 0 0 0 19.4 3.2 1 1 0 0 1 21 4v11.344`}],[`path`,{d:`M14.378 14.357A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14`}],[`path`,{d:`M8 8v6`}]],gS=[[`path`,{d:`M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z`}],[`path`,{d:`M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14`}],[`path`,{d:`M8 6v8`}]],_S=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`8`,x2:`16`,y1:`15`,y2:`15`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],vS=[[`path`,{d:`M12 12v-2`}],[`path`,{d:`M12 18v-2`}],[`path`,{d:`M16 12v-2`}],[`path`,{d:`M16 18v-2`}],[`path`,{d:`M2 11h1.5`}],[`path`,{d:`M20 18v-2`}],[`path`,{d:`M20.5 11H22`}],[`path`,{d:`M4 18v-2`}],[`path`,{d:`M8 12v-2`}],[`path`,{d:`M8 18v-2`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`10`,rx:`2`}]],yS=[[`path`,{d:`M4 5h16`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 19h16`}]],bS=[[`path`,{d:`m8 6 4-4 4 4`}],[`path`,{d:`M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22`}],[`path`,{d:`m20 22-5-5`}]],xS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m9 12 2 2 4-4`}]],SS=[[`path`,{d:`m10 9-3 3 3 3`}],[`path`,{d:`m14 15 3-3-3-3`}],[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}]],CS=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.72a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.28 17.61a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`m6.163 21.117-2.906.85a1 1 0 0 1-1.236-1.169l.965-2.98`}]],wS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 5.004 2.224 3 3 0 0 1-.832 2.083l-3.447 3.62a1 1 0 0 1-1.45-.001z`}]],TS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}]],ES=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4.93 4.929a10 10 0 0 0-1.938 11.412 2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 0 0 11.302-1.989`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`}]],DS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],OS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],kS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m10 15-3-3 3-3`}],[`path`,{d:`M7 12h8a2 2 0 0 1 2 2v1`}]],AS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M12 16h.01`}]],jS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],MS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}]],NS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m9 11 2 2 4-4`}]],PS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m10 8-3 3 3 3`}],[`path`,{d:`m14 14 3-3-3-3`}]],FS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M10 15h4`}],[`path`,{d:`M10 9h4`}],[`path`,{d:`M12 7v4`}]],IS=[[`path`,{d:`M14 3h2`}],[`path`,{d:`M16 19h-2`}],[`path`,{d:`M2 12v-2`}],[`path`,{d:`M2 16v5.286a.71.71 0 0 0 1.212.502l1.149-1.149`}],[`path`,{d:`M20 19a2 2 0 0 0 2-2v-1`}],[`path`,{d:`M22 10v2`}],[`path`,{d:`M22 6V5a2 2 0 0 0-2-2`}],[`path`,{d:`M4 3a2 2 0 0 0-2 2v1`}],[`path`,{d:`M8 19h2`}],[`path`,{d:`M8 3h2`}]],LS=[[`path`,{d:`M12.7 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4.7`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}]],RS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M7.5 9.5c0 .687.265 1.383.697 1.844l3.009 3.264a1.14 1.14 0 0 0 .407.314 1 1 0 0 0 .783-.004 1.14 1.14 0 0 0 .398-.31l3.008-3.264A2.77 2.77 0 0 0 16.5 9.5 2.5 2.5 0 0 0 12 8a2.5 2.5 0 0 0-4.5 1.5`}]],zS=[[`path`,{d:`M22 8.5V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H10`}],[`path`,{d:`M20 15v-2a2 2 0 0 0-4 0v2`}],[`rect`,{x:`14`,y:`15`,width:`8`,height:`5`,rx:`1`}]],BS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 11h.01`}],[`path`,{d:`M16 11h.01`}],[`path`,{d:`M8 11h.01`}]],VS=[[`path`,{d:`M19 19H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 1.184-1.826`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.656 3H20a2 2 0 0 1 2 2v11.344`}]],HS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 8v6`}],[`path`,{d:`M9 11h6`}]],US=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m10 8-3 3 3 3`}],[`path`,{d:`M17 14v-1a2 2 0 0 0-2-2H7`}]],WS=[[`path`,{d:`M14 14a2 2 0 0 0 2-2V8h-2`}],[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M8 14a2 2 0 0 0 2-2V8H8`}]],GS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M7 11h10`}],[`path`,{d:`M7 15h6`}],[`path`,{d:`M7 7h8`}]],KS=[[`path`,{d:`M12 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4`}],[`path`,{d:`M16 3h6v6`}],[`path`,{d:`m16 9 6-6`}]],qS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 15h.01`}],[`path`,{d:`M12 7v4`}]],JS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m14.5 8.5-5 5`}],[`path`,{d:`m9.5 8.5 5 5`}]],YS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}]],XS=[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`}]],ZS=[[`path`,{d:`M12 11.4V9.1`}],[`path`,{d:`m12 17 6.59-6.59`}],[`path`,{d:`m15.05 5.7-.218-.691a3 3 0 0 0-5.663 0L4.418 19.695A1 1 0 0 0 5.37 21h13.253a1 1 0 0 0 .951-1.31L18.45 16.2`}],[`circle`,{cx:`20`,cy:`9`,r:`2`}]],QS=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M15 9.34V5a3 3 0 0 0-5.68-1.33`}],[`path`,{d:`M16.95 16.95A7 7 0 0 1 5 12v-2`}],[`path`,{d:`M18.89 13.23A7 7 0 0 0 19 12v-2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M9 9v3a3 3 0 0 0 5.12 2.12`}]],$S=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`}]],eC=[[`path`,{d:`m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12`}],[`path`,{d:`M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5`}],[`circle`,{cx:`16`,cy:`7`,r:`5`}]],tC=[[`path`,{d:`M10 12h4`}],[`path`,{d:`M10 17h4`}],[`path`,{d:`M10 7h4`}],[`path`,{d:`M18 12h2`}],[`path`,{d:`M18 18h2`}],[`path`,{d:`M18 6h2`}],[`path`,{d:`M4 12h2`}],[`path`,{d:`M4 18h2`}],[`path`,{d:`M4 6h2`}],[`rect`,{x:`6`,y:`2`,width:`12`,height:`20`,rx:`2`}]],nC=[[`path`,{d:`M6 18h8`}],[`path`,{d:`M3 22h18`}],[`path`,{d:`M14 22a7 7 0 1 0 0-14h-1`}],[`path`,{d:`M9 14h2`}],[`path`,{d:`M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z`}],[`path`,{d:`M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}]],rC=[[`rect`,{width:`20`,height:`15`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`8`,height:`7`,x:`6`,y:`8`,rx:`1`}],[`path`,{d:`M18 8v7`}],[`path`,{d:`M6 19v2`}],[`path`,{d:`M18 19v2`}]],iC=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M12 3v3`}],[`path`,{d:`M18.172 6a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z`}]],aC=[[`path`,{d:`M8 2h8`}],[`path`,{d:`M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],oC=[[`path`,{d:`M8 2h8`}],[`path`,{d:`M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2`}],[`path`,{d:`M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0`}]],sC=[[`path`,{d:`m14 10 7-7`}],[`path`,{d:`M20 10h-6V4`}],[`path`,{d:`m3 21 7-7`}],[`path`,{d:`M4 14h6v6`}]],cC=[[`path`,{d:`M8 3v3a2 2 0 0 1-2 2H3`}],[`path`,{d:`M21 8h-3a2 2 0 0 1-2-2V3`}],[`path`,{d:`M3 16h3a2 2 0 0 1 2 2v3`}],[`path`,{d:`M16 21v-3a2 2 0 0 1 2-2h3`}]],lC=[[`path`,{d:`M5 12h14`}]],uC=[[`path`,{d:`M11 6 8 9`}],[`path`,{d:`m16 7-8 8`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],dC=[[`path`,{d:`M10 6.6 8.6 8`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`M15 7.5 9.5 13`}],[`path`,{d:`M7 22h10`}],[`circle`,{cx:`12`,cy:`10`,r:`8`}]],fC=[[`path`,{d:`m9 10 2 2 4-4`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],pC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`m14.305 7.53.923-.382`}],[`path`,{d:`m15.228 4.852-.923-.383`}],[`path`,{d:`m16.852 3.228-.383-.924`}],[`path`,{d:`m16.852 8.772-.383.923`}],[`path`,{d:`m19.148 3.228.383-.924`}],[`path`,{d:`m19.53 9.696-.382-.924`}],[`path`,{d:`m20.772 4.852.924-.383`}],[`path`,{d:`m20.772 7.148.924.383`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`}],[`path`,{d:`M8 21h8`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}]],mC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M22 12.307V15a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8.693`}],[`path`,{d:`M8 21h8`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}]],hC=[[`path`,{d:`M11 13a3 3 0 1 1 2.83-4H14a2 2 0 0 1 0 4z`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],gC=[[`path`,{d:`M12 13V7`}],[`path`,{d:`m15 10-3 3-3-3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],_C=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M17 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 1.184-1.826`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M8.656 3H20a2 2 0 0 1 2 2v10a2 2 0 0 1-.293 1.042`}]],vC=[[`path`,{d:`M10 13V7`}],[`path`,{d:`M14 13V7`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],yC=[[`path`,{d:`M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],bC=[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`}],[`path`,{d:`M10 19v-3.96 3.15`}],[`path`,{d:`M7 19h5`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`}]],xC=[[`path`,{d:`M5.5 20H8`}],[`path`,{d:`M17 9h.01`}],[`rect`,{width:`10`,height:`16`,x:`12`,y:`4`,rx:`2`}],[`path`,{d:`M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4`}],[`circle`,{cx:`17`,cy:`15`,r:`1`}]],SC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}],[`rect`,{x:`9`,y:`7`,width:`6`,height:`6`,rx:`1`}]],CC=[[`path`,{d:`m9 10 3-3 3 3`}],[`path`,{d:`M12 13V7`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],wC=[[`path`,{d:`m14.5 12.5-5-5`}],[`path`,{d:`m9.5 12.5 5-5`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],TC=[[`path`,{d:`M18 5h4`}],[`path`,{d:`M20 3v4`}],[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]],EC=[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`}]],DC=[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]],OC=[[`path`,{d:`m18 14-1-3`}],[`path`,{d:`m3 9 6 2a2 2 0 0 1 2-2h2a2 2 0 0 1 1.99 1.81`}],[`path`,{d:`M8 17h3a1 1 0 0 0 1-1 6 6 0 0 1 6-6 1 1 0 0 0 1-1v-.75A5 5 0 0 0 17 5`}],[`circle`,{cx:`19`,cy:`17`,r:`3`}],[`circle`,{cx:`5`,cy:`17`,r:`3`}]],kC=[[`path`,{d:`m8 3 4 8 5-5 5 15H2L8 3z`}],[`path`,{d:`M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19`}]],AC=[[`path`,{d:`m8 3 4 8 5-5 5 15H2L8 3z`}]],jC=[[`path`,{d:`M12 7.318V10`}],[`path`,{d:`M5 10v5a7 7 0 0 0 14 0V9c0-3.527-2.608-6.515-6-7`}],[`circle`,{cx:`7`,cy:`4`,r:`2`}]],MC=[[`path`,{d:`M12 6v.343`}],[`path`,{d:`M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218`}],[`path`,{d:`M19 13.343V9A7 7 0 0 0 8.56 2.902`}],[`path`,{d:`M22 22 2 2`}]],NC=[[`path`,{d:`m15.55 8.45 5.138 2.087a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063L8.45 15.551`}],[`path`,{d:`M22 2 2 22`}],[`path`,{d:`m6.816 11.528-2.779-6.84a.495.495 0 0 1 .651-.651l6.84 2.779`}]],PC=[[`path`,{d:`M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}],[`path`,{d:`m11.8 11.8 8.4 8.4`}]],FC=[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`}]],IC=[[`path`,{d:`M12.586 12.586 19 19`}],[`path`,{d:`M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z`}]],LC=[[`path`,{d:`M14 4.1 12 6`}],[`path`,{d:`m5.1 8-2.9-.8`}],[`path`,{d:`m6 12-1.9 2`}],[`path`,{d:`M7.2 2.2 8 5.1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`}]],RC=[[`path`,{d:`M12 7.318V10`}],[`path`,{d:`M19 10v5a7 7 0 0 1-14 0V9c0-3.527 2.608-6.515 6-7`}],[`circle`,{cx:`17`,cy:`4`,r:`2`}]],zC=[[`rect`,{x:`5`,y:`2`,width:`14`,height:`20`,rx:`7`}],[`path`,{d:`M12 6v4`}]],BC=[[`path`,{d:`M5 3v16h16`}],[`path`,{d:`m5 19 6-6`}],[`path`,{d:`m2 6 3-3 3 3`}],[`path`,{d:`m18 16 3 3-3 3`}]],VC=[[`path`,{d:`M19 13v6h-6`}],[`path`,{d:`M5 11V5h6`}],[`path`,{d:`m5 5 14 14`}]],HC=[[`path`,{d:`M11 19H5v-6`}],[`path`,{d:`M13 5h6v6`}],[`path`,{d:`M19 5 5 19`}]],UC=[[`path`,{d:`M11 19H5V13`}],[`path`,{d:`M19 5L5 19`}]],WC=[[`path`,{d:`M19 13V19H13`}],[`path`,{d:`M5 5L19 19`}]],GC=[[`path`,{d:`M8 18L12 22L16 18`}],[`path`,{d:`M12 2V22`}]],KC=[[`path`,{d:`m18 8 4 4-4 4`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m6 8-4 4 4 4`}]],qC=[[`path`,{d:`M6 8L2 12L6 16`}],[`path`,{d:`M2 12H22`}]],JC=[[`path`,{d:`M18 8L22 12L18 16`}],[`path`,{d:`M2 12H22`}]],YC=[[`path`,{d:`M5 11V5H11`}],[`path`,{d:`M5 5L19 19`}]],XC=[[`path`,{d:`M13 5H19V11`}],[`path`,{d:`M19 5L5 19`}]],ZC=[[`path`,{d:`M8 6L12 2L16 6`}],[`path`,{d:`M12 2V22`}]],QC=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m8 18 4 4 4-4`}],[`path`,{d:`m8 6 4-4 4 4`}]],$C=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m19 9 3 3-3 3`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m5 9-3 3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],ew=[[`circle`,{cx:`8`,cy:`18`,r:`4`}],[`path`,{d:`M12 18V2l7 4`}]],tw=[[`circle`,{cx:`12`,cy:`18`,r:`4`}],[`path`,{d:`M16 18V2`}]],nw=[[`path`,{d:`M9 18V5l12-2v13`}],[`path`,{d:`m9 9 12-2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],rw=[[`path`,{d:`M9 18V5l12-2v13`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],iw=[[`path`,{d:`M9.31 9.31 5 21l7-4 7 4-1.17-3.17`}],[`path`,{d:`M14.53 8.88 12 2l-1.17 3.17`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],aw=[[`polygon`,{points:`12 2 19 21 12 17 5 21 12 2`}]],ow=[[`path`,{d:`M8.43 8.43 3 11l8 2 2 8 2.57-5.43`}],[`path`,{d:`M17.39 11.73 22 2l-9.73 4.61`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],sw=[[`polygon`,{points:`3 11 22 2 13 21 11 13 3 11`}]],cw=[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`}],[`path`,{d:`M12 12V8`}]],lw=[[`path`,{d:`M15 18h-5`}],[`path`,{d:`M18 14h-8`}],[`path`,{d:`M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2`}],[`rect`,{width:`8`,height:`4`,x:`10`,y:`6`,rx:`1`}]],uw=[[`path`,{d:`M6 8.32a7.43 7.43 0 0 1 0 7.36`}],[`path`,{d:`M9.46 6.21a11.76 11.76 0 0 1 0 11.58`}],[`path`,{d:`M12.91 4.1a15.91 15.91 0 0 1 .01 15.8`}],[`path`,{d:`M16.37 2a20.16 20.16 0 0 1 0 20`}]],dw=[[`path`,{d:`M12 2v10`}],[`path`,{d:`m8.5 4 7 4`}],[`path`,{d:`m8.5 8 7-4`}],[`circle`,{cx:`12`,cy:`17`,r:`5`}]],fw=[[`path`,{d:`M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4`}],[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`path`,{d:`M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],pw=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M15 2v20`}],[`path`,{d:`M15 7h5`}],[`path`,{d:`M15 12h5`}],[`path`,{d:`M15 17h5`}]],mw=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M9.5 8h5`}],[`path`,{d:`M9.5 12H16`}],[`path`,{d:`M9.5 16H14`}]],hw=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M16 2v20`}]],gw=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M20 12v2`}],[`path`,{d:`M20 18v2a2 2 0 0 1-2 2h-1`}],[`path`,{d:`M13 22h-2`}],[`path`,{d:`M7 22H6a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M4 14v-2`}],[`path`,{d:`M4 8V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M8 10h6`}],[`path`,{d:`M8 14h8`}],[`path`,{d:`M8 18h5`}]],_w=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`16`,height:`18`,x:`4`,y:`4`,rx:`2`}],[`path`,{d:`M8 10h6`}],[`path`,{d:`M8 14h8`}],[`path`,{d:`M8 18h5`}]],vw=[[`path`,{d:`M12 4V2`}],[`path`,{d:`M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939`}],[`path`,{d:`M19 10v3.343`}],[`path`,{d:`M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],yw=[[`path`,{d:`M12 4V2`}],[`path`,{d:`M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4`}],[`path`,{d:`M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z`}]],bw=[[`path`,{d:`M12 16h.01`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z`}]],xw=[[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}],[`path`,{d:`M8 12h8`}]],Sw=[[`path`,{d:`M10 15V9`}],[`path`,{d:`M14 15V9`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}]],Cw=[[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}],[`path`,{d:`m9 9 6 6`}]],ww=[[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}]],Tw=[[`path`,{d:`M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21`}]],Ew=[[`path`,{d:`M14 3h7`}],[`path`,{d:`M3 3h5.28a1 1 0 0 1 .948.684l5.544 16.632a1 1 0 0 0 .949.684H21`}]],Dw=[[`path`,{d:`M20.341 6.484A10 10 0 0 1 10.266 21.85`}],[`path`,{d:`M3.659 17.516A10 10 0 0 1 13.74 2.152`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],Ow=[[`path`,{d:`M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025`}],[`path`,{d:`m12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009`}],[`path`,{d:`m12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027`}]],kw=[[`path`,{d:`M12 3v6`}],[`path`,{d:`M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z`}],[`path`,{d:`M3.054 9.013h17.893`}]],Aw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`m16 17 2 2 4-4`}],[`path`,{d:`M21 11.127V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.32-.753`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],jw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M21 13V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],Mw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M19 14v6`}],[`path`,{d:`M21 10.535V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],Nw=[[`path`,{d:`M12 22v-9`}],[`path`,{d:`M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z`}],[`path`,{d:`M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13`}],[`path`,{d:`M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z`}]],Pw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M20.27 18.27 22 20`}],[`path`,{d:`M21 10.498V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.98-.559`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}],[`circle`,{cx:`18.5`,cy:`16.5`,r:`2.5`}]],Fw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`m16.5 14.5 5 5`}],[`path`,{d:`m16.5 19.5 5-5`}],[`path`,{d:`M21 10.5V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.13-.074`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],Iw=[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`}],[`path`,{d:`M12 22V12`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`}],[`path`,{d:`m7.5 4.27 9 5.15`}]],Lw=[[`path`,{d:`M11 7 6 2`}],[`path`,{d:`M18.992 12H2.041`}],[`path`,{d:`M21.145 18.38A3.34 3.34 0 0 1 20 16.5a3.3 3.3 0 0 1-1.145 1.88c-.575.46-.855 1.02-.855 1.595A2 2 0 0 0 20 22a2 2 0 0 0 2-2.025c0-.58-.285-1.13-.855-1.595`}],[`path`,{d:`m8.5 4.5 2.148-2.148a1.205 1.205 0 0 1 1.704 0l7.296 7.296a1.205 1.205 0 0 1 0 1.704l-7.592 7.592a3.615 3.615 0 0 1-5.112 0l-3.888-3.888a3.615 3.615 0 0 1 0-5.112L5.67 7.33`}]],Rw=[[`rect`,{width:`16`,height:`6`,x:`2`,y:`2`,rx:`2`}],[`path`,{d:`M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`}],[`rect`,{width:`4`,height:`6`,x:`8`,y:`16`,rx:`1`}]],zw=[[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v4`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1`}]],Bw=[[`path`,{d:`m14.622 17.897-10.68-2.913`}],[`path`,{d:`M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z`}],[`path`,{d:`M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15`}]],Vw=[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],Hw=[[`path`,{d:`M11.25 17.25h1.5L12 18z`}],[`path`,{d:`m15 12 2 2`}],[`path`,{d:`M18 6.5a.5.5 0 0 0-.5-.5`}],[`path`,{d:`M20.69 9.67a4.5 4.5 0 1 0-7.04-5.5 8.35 8.35 0 0 0-3.3 0 4.5 4.5 0 1 0-7.04 5.5C2.49 11.2 2 12.88 2 14.5 2 19.47 6.48 22 12 22s10-2.53 10-7.5c0-1.62-.48-3.3-1.3-4.83`}],[`path`,{d:`M6 6.5a.495.495 0 0 1 .5-.5`}],[`path`,{d:`m9 12-2 2`}]],Uw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`m15 8-3 3-3-3`}]],Ww=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M14 15h1`}],[`path`,{d:`M19 15h2`}],[`path`,{d:`M3 15h2`}],[`path`,{d:`M9 15h1`}]],Gw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`m9 10 3-3 3 3`}]],Kw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}]],qw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`m16 15-3-3 3-3`}]],Jw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 14v1`}],[`path`,{d:`M9 19v2`}],[`path`,{d:`M9 3v2`}],[`path`,{d:`M9 9v1`}]],Yw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`m14 9 3 3-3 3`}]],Xw=[[`path`,{d:`M15 10V9`}],[`path`,{d:`M15 15v-1`}],[`path`,{d:`M15 21v-2`}],[`path`,{d:`M15 5V3`}],[`path`,{d:`M9 10V9`}],[`path`,{d:`M9 15v-1`}],[`path`,{d:`M9 21v-2`}],[`path`,{d:`M9 5V3`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],Zw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}]],Qw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}],[`path`,{d:`m8 9 3 3-3 3`}]],$w=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 14v1`}],[`path`,{d:`M15 19v2`}],[`path`,{d:`M15 3v2`}],[`path`,{d:`M15 9v1`}]],eT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}],[`path`,{d:`m10 15-3-3 3-3`}]],tT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]],nT=[[`path`,{d:`M14 15h1`}],[`path`,{d:`M14 9h1`}],[`path`,{d:`M19 15h2`}],[`path`,{d:`M19 9h2`}],[`path`,{d:`M3 15h2`}],[`path`,{d:`M3 9h2`}],[`path`,{d:`M9 15h1`}],[`path`,{d:`M9 9h1`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],rT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`m9 16 3-3 3 3`}]],iT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`m15 14-3 3-3-3`}]],aT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M14 9h1`}],[`path`,{d:`M19 9h2`}],[`path`,{d:`M3 9h2`}],[`path`,{d:`M9 9h1`}]],oT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}]],sT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M9 15h12`}]],cT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h12`}],[`path`,{d:`M15 3v18`}]],lT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M9 21V9`}]],uT=[[`path`,{d:`M5.364 3.848C4 6 3 9.652 3 12.652V19a2 2 0 002 2h14a2 2 0 002-2v-5c0-2.334-1.816-4.668-2.622-7.002`}],[`path`,{d:`M7 3h11.379a2 2 0 011.789 1.106l.723 1.447A1 1 0 0119.997 7h-8.525a2 2 0 01-1.789-1.106L8.79 4.105a2 2 0 10-3.579 1.789l2.261 4.522A5 5 0 018 12.652V21`}]],dT=[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`}]],fT=[[`path`,{d:`M12.5 11.134 18.196 21`}],[`path`,{d:`M20.425 5.299a10 10 0 0 0-16.941 9.78c.183.563.843.774 1.355.478L20.16 6.711c.512-.296.66-.973.264-1.413`}],[`path`,{d:`M21 21H3`}]],pT=[[`path`,{d:`M8 21s-4-3-4-9 4-9 4-9`}],[`path`,{d:`M16 3s4 3 4 9-4 9-4 9`}]],mT=[[`path`,{d:`M11 15h2`}],[`path`,{d:`M12 12v3`}],[`path`,{d:`M12 19v3`}],[`path`,{d:`M15.282 19a1 1 0 0 0 .948-.68l2.37-6.988a7 7 0 1 0-13.2 0l2.37 6.988a1 1 0 0 0 .948.68z`}],[`path`,{d:`M9 9a3 3 0 1 1 6 0`}]],hT=[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`}]],gT=[[`path`,{d:`M5.8 11.3 2 22l10.7-3.79`}],[`path`,{d:`M4 3h.01`}],[`path`,{d:`M22 8h.01`}],[`path`,{d:`M15 2h.01`}],[`path`,{d:`M22 20h.01`}],[`path`,{d:`m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10`}],[`path`,{d:`m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17`}],[`path`,{d:`m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7`}],[`path`,{d:`M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z`}]],_T=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`}],[`path`,{d:`M15 14h.01`}],[`path`,{d:`M9 6h6`}],[`path`,{d:`M9 10h6`}]],vT=[[`circle`,{cx:`11`,cy:`4`,r:`2`}],[`circle`,{cx:`18`,cy:`8`,r:`2`}],[`circle`,{cx:`20`,cy:`16`,r:`2`}],[`path`,{d:`M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z`}]],yT=[[`path`,{d:`M13 21h8`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],bT=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m2 2 20 20`}]],xT=[[`path`,{d:`M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z`}],[`path`,{d:`m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18`}],[`path`,{d:`m2.3 2.3 7.286 7.286`}],[`circle`,{cx:`11`,cy:`11`,r:`2`}]],ST=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],CT=[[`path`,{d:`M13 21h8`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],wT=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`m2 2 20 20`}]],TT=[[`path`,{d:`M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13`}],[`path`,{d:`m8 6 2-2`}],[`path`,{d:`m18 16 2-2`}],[`path`,{d:`m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]],ET=[[`path`,{d:`M10 3H8`}],[`path`,{d:`m15.007 5.008 3.987 3.986`}],[`path`,{d:`M20 15v4`}],[`path`,{d:`M21.174 6.813a2.82 2.82 0 0 0-3.986-3.987L3.842 16.175a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`M22 17h-4`}],[`path`,{d:`M4 5v4`}],[`path`,{d:`M6 7H2`}],[`path`,{d:`M9 2v2`}]],DT=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]],OT=[[`path`,{d:`M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z`}]],kT=[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`}]],AT=[[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`path`,{d:`m9 20 3-6 3 6`}],[`path`,{d:`m6 8 6 2 6-2`}],[`path`,{d:`M12 10v4`}]],jT=[[`path`,{d:`M12 2v20`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}]],MT=[[`path`,{d:`M20 11H4`}],[`path`,{d:`M20 7H4`}],[`path`,{d:`M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7`}]],NT=[[`path`,{d:`M13 2a9 9 0 0 1 9 9`}],[`path`,{d:`M13 6a5 5 0 0 1 5 5`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],PT=[[`path`,{d:`M14 6h8`}],[`path`,{d:`m18 2 4 4-4 4`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],FT=[[`path`,{d:`M16 2v6h6`}],[`path`,{d:`m22 2-6 6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],IT=[[`path`,{d:`m16 2 6 6`}],[`path`,{d:`m22 2-6 6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],LT=[[`path`,{d:`M10.1 13.9a14 14 0 0 0 3.732 2.668 1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2 18 18 0 0 1-12.728-5.272`}],[`path`,{d:`M22 2 2 22`}],[`path`,{d:`M4.76 13.582A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 .244.473`}]],RT=[[`path`,{d:`m16 8 6-6`}],[`path`,{d:`M22 8V2h-6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],zT=[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],BT=[[`line`,{x1:`9`,x2:`9`,y1:`4`,y2:`20`}],[`path`,{d:`M4 7c0-1.7 1.3-3 3-3h13`}],[`path`,{d:`M18 20c-1.7 0-3-1.3-3-3V4`}]],VT=[[`path`,{d:`M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M6 14v4`}],[`path`,{d:`M10 14v4`}],[`path`,{d:`M14 14v4`}],[`path`,{d:`M18 14v4`}]],HT=[[`path`,{d:`m14 13-8.381 8.38a1 1 0 0 1-3.001-3L11 9.999`}],[`path`,{d:`M15.973 4.027A13 13 0 0 0 5.902 2.373c-1.398.342-1.092 2.158.277 2.601a19.9 19.9 0 0 1 5.822 3.024`}],[`path`,{d:`M16.001 11.999a19.9 19.9 0 0 1 3.024 5.824c.444 1.369 2.26 1.676 2.603.278A13 13 0 0 0 20 8.069`}],[`path`,{d:`M18.352 3.352a1.205 1.205 0 0 0-1.704 0l-5.296 5.296a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l5.296-5.296a1.205 1.205 0 0 0 0-1.704z`}]],UT=[[`path`,{d:`M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4`}],[`rect`,{width:`10`,height:`7`,x:`12`,y:`13`,rx:`2`}]],WT=[[`path`,{d:`M2 10h6V4`}],[`path`,{d:`m2 4 6 6`}],[`path`,{d:`M21 10V7a2 2 0 0 0-2-2h-7`}],[`path`,{d:`M3 14v2a2 2 0 0 0 2 2h3`}],[`rect`,{x:`12`,y:`14`,width:`10`,height:`7`,rx:`1`}]],GT=[[`path`,{d:`M11 17h3v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a3.16 3.16 0 0 0 2-2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1a5 5 0 0 0-2-4V3a4 4 0 0 0-3.2 1.6l-.3.4H11a6 6 0 0 0-6 6v1a5 5 0 0 0 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M2 8v1a2 2 0 0 0 2 2h1`}]],KT=[[`path`,{d:`M14 3v11`}],[`path`,{d:`M14 9h-3a3 3 0 0 1 0-6h9`}],[`path`,{d:`M18 3v11`}],[`path`,{d:`M22 18H2l4-4`}],[`path`,{d:`m6 22-4-4`}]],qT=[[`path`,{d:`M10 3v11`}],[`path`,{d:`M10 9H7a1 1 0 0 1 0-6h8`}],[`path`,{d:`M14 3v11`}],[`path`,{d:`m18 14 4 4H2`}],[`path`,{d:`m22 18-4 4`}]],JT=[[`path`,{d:`M13 4v16`}],[`path`,{d:`M17 4v16`}],[`path`,{d:`M19 4H9.5a4.5 4.5 0 0 0 0 9H13`}]],YT=[[`path`,{d:`M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4`}],[`path`,{d:`M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7`}],[`rect`,{width:`16`,height:`5`,x:`4`,y:`2`,rx:`1`}]],XT=[[`path`,{d:`m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z`}],[`path`,{d:`m8.5 8.5 7 7`}]],ZT=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`}]],QT=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`}]],$T=[[`path`,{d:`m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12`}],[`path`,{d:`m18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3z`}],[`path`,{d:`m2 22 .414-.414`}]],eE=[[`path`,{d:`m12 14-1 1`}],[`path`,{d:`m13.75 18.25-1.25 1.42`}],[`path`,{d:`M17.775 5.654a15.68 15.68 0 0 0-12.121 12.12`}],[`path`,{d:`M18.8 9.3a1 1 0 0 0 2.1 7.7`}],[`path`,{d:`M21.964 20.732a1 1 0 0 1-1.232 1.232l-18-5a1 1 0 0 1-.695-1.232A19.68 19.68 0 0 1 15.732 2.037a1 1 0 0 1 1.232.695z`}]],tE=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z`}]],nE=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z`}]],rE=[[`path`,{d:`M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z`}]],iE=[[`path`,{d:`m10.215 4.56 9.79 5.71a2 2 0 0 1 .003 3.458l-.393.23`}],[`path`,{d:`m16.042 16.042-8.034 4.686A2 2 0 0 1 5 19V5`}],[`path`,{d:`m2 2 20 20`}]],aE=[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`}]],oE=[[`path`,{d:`M9 2v6`}],[`path`,{d:`M15 2v6`}],[`path`,{d:`M12 17v5`}],[`path`,{d:`M5 8h14`}],[`path`,{d:`M6 11V8h12v3a6 6 0 1 1-12 0Z`}]],sE=[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`}],[`path`,{d:`m2 22 3-3`}],[`path`,{d:`M7.5 13.5 10 11`}],[`path`,{d:`M10.5 16.5 13 14`}],[`path`,{d:`m18 3-4 4h6l-4 4`}]],cE=[[`path`,{d:`M12 22v-5`}],[`path`,{d:`M15 8V2`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`}],[`path`,{d:`M9 8V2`}]],lE=[[`path`,{d:`M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2`}],[`path`,{d:`M18 6h.01`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z`}],[`path`,{d:`M18 11.66V22a4 4 0 0 0 4-4V6`}]],uE=[[`path`,{d:`M5 12h14`}],[`path`,{d:`M12 5v14`}]],dE=[[`path`,{d:`M13 17a1 1 0 1 0-2 0l.5 4.5a0.5 0.5 0 0 0 1 0z`,fill:`currentColor`}],[`path`,{d:`M16.85 18.58a9 9 0 1 0-9.7 0`}],[`path`,{d:`M8 14a5 5 0 1 1 8 0`}],[`circle`,{cx:`12`,cy:`11`,r:`1`,fill:`currentColor`}]],fE=[[`path`,{d:`M12 6V2h-1`}],[`path`,{d:`M9 15a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1`}],[`path`,{d:`M9 21V11a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v10`}]],pE=[[`path`,{d:`M10 4.5V4a2 2 0 0 0-2.41-1.957`}],[`path`,{d:`M13.9 8.4a2 2 0 0 0-1.26-1.295`}],[`path`,{d:`M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158`}],[`path`,{d:`m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343`}],[`path`,{d:`M6 6v8`}],[`path`,{d:`m2 2 20 20`}]],mE=[[`path`,{d:`M22 14a8 8 0 0 1-8 8`}],[`path`,{d:`M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1`}],[`path`,{d:`M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]],hE=[[`path`,{d:`M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4`}],[`path`,{d:`M10 22 9 8`}],[`path`,{d:`m14 22 1-14`}],[`path`,{d:`M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z`}]],gE=[[`path`,{d:`M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z`}],[`path`,{d:`m22 22-5.5-5.5`}]],_E=[[`path`,{d:`M18 7c0-5.333-8-5.333-8 0`}],[`path`,{d:`M10 7v14`}],[`path`,{d:`M6 21h12`}],[`path`,{d:`M6 13h10`}]],vE=[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m2 2 20 20`}]],yE=[[`path`,{d:`M12 2v10`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`}]],bE=[[`path`,{d:`M2 3h20`}],[`path`,{d:`M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3`}],[`path`,{d:`m7 21 5-5 5 5`}]],xE=[[`path`,{d:`M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}]],SE=[[`path`,{d:`M12.531 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h6.377`}],[`path`,{d:`m16.5 16.5 5 5`}],[`path`,{d:`m16.5 21.5 5-5`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.5`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}]],CE=[[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}],[`rect`,{x:`6`,y:`14`,width:`12`,height:`8`,rx:`1`}]],wE=[[`path`,{d:`M5 7 3 5`}],[`path`,{d:`M9 6V3`}],[`path`,{d:`m13 7 2-2`}],[`circle`,{cx:`9`,cy:`13`,r:`3`}],[`path`,{d:`M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17`}],[`path`,{d:`M16 16h2`}]],TE=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M12 9v11`}],[`path`,{d:`M2 9h13a2 2 0 0 1 2 2v9`}]],EE=[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`}]],DE=[[`path`,{d:`M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z`}],[`path`,{d:`M12 2v20`}]],OE=[[`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`}],[`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`}],[`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 21v.01`}],[`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`}],[`path`,{d:`M3 12h.01`}],[`path`,{d:`M12 3h.01`}],[`path`,{d:`M12 16v.01`}],[`path`,{d:`M16 12h1`}],[`path`,{d:`M21 12v.01`}],[`path`,{d:`M12 21v-1`}]],kE=[[`path`,{d:`M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`}]],AE=[[`path`,{d:`M19.07 4.93A10 10 0 0 0 6.99 3.34`}],[`path`,{d:`M4 6h.01`}],[`path`,{d:`M2.29 9.62A10 10 0 1 0 21.31 8.35`}],[`path`,{d:`M16.24 7.76A6 6 0 1 0 8.23 16.67`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M17.99 11.66A6 6 0 0 1 15.77 16.67`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`m13.41 10.59 5.66-5.66`}]],jE=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M14 15.4641a4 4 0 0 1-4 0L7.52786 19.74597 A 1 1 0 0 0 7.99303 21.16211 10 10 0 0 0 16.00697 21.16211 1 1 0 0 0 16.47214 19.74597z`}],[`path`,{d:`M16 12a4 4 0 0 0-2-3.464l2.472-4.282a1 1 0 0 1 1.46-.305 10 10 0 0 1 4.006 6.94A1 1 0 0 1 21 12z`}],[`path`,{d:`M8 12a4 4 0 0 1 2-3.464L7.528 4.254a1 1 0 0 0-1.46-.305 10 10 0 0 0-4.006 6.94A1 1 0 0 0 3 12z`}]],ME=[[`path`,{d:`M13 16a3 3 0 0 1 2.24 5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3`}],[`path`,{d:`M20 8.54V4a2 2 0 1 0-4 0v3`}],[`path`,{d:`M7.612 12.524a3 3 0 1 0-1.6 4.3`}]],NE=[[`path`,{d:`M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21`}]],PE=[[`path`,{d:`M13.414 13.414a2 2 0 1 1-2.828-2.828`}],[`path`,{d:`M16.247 7.761a6 6 0 0 1 1.744 4.572`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 2.234 10.72`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`}]],FE=[[`path`,{d:`M5 16v2`}],[`path`,{d:`M19 16v2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`8`,rx:`2`}],[`path`,{d:`M18 12h.01`}]],IE=[[`path`,{d:`M4.9 16.1C1 12.2 1 5.8 4.9 1.9`}],[`path`,{d:`M7.8 4.7a6.14 6.14 0 0 0-.8 7.5`}],[`circle`,{cx:`12`,cy:`9`,r:`2`}],[`path`,{d:`M16.2 4.8c2 2 2.26 5.11.8 7.47`}],[`path`,{d:`M19.1 1.9a9.96 9.96 0 0 1 0 14.1`}],[`path`,{d:`M9.5 18h5`}],[`path`,{d:`m8 22 4-11 4 11`}]],LE=[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],RE=[[`path`,{d:`M20.34 17.52a10 10 0 1 0-2.82 2.82`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`path`,{d:`m13.41 13.41 4.18 4.18`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],zE=[[`path`,{d:`M22 17a10 10 0 0 0-20 0`}],[`path`,{d:`M6 17a6 6 0 0 1 12 0`}],[`path`,{d:`M10 17a2 2 0 0 1 4 0`}]],BE=[[`path`,{d:`M13 22H4a2 2 0 0 1 0-4h12`}],[`path`,{d:`M13.236 18a3 3 0 0 0-2.2-5`}],[`path`,{d:`M16 9h.01`}],[`path`,{d:`M16.82 3.94a3 3 0 1 1 3.237 4.868l1.815 2.587a1.5 1.5 0 0 1-1.5 2.1l-2.872-.453a3 3 0 0 0-3.5 3`}],[`path`,{d:`M17 4.988a3 3 0 1 0-5.2 2.052A7 7 0 0 0 4 14.015 4 4 0 0 0 8 18`}]],VE=[[`rect`,{width:`12`,height:`20`,x:`6`,y:`2`,rx:`2`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],HE=[[`path`,{d:`M12 7v10`}],[`path`,{d:`M14.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],UE=[[`path`,{d:`M15.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 12h5`}]],WE=[[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 11h8`}],[`path`,{d:`M8 7h8`}],[`path`,{d:`M9 7a4 4 0 0 1 0 8H8l3 2`}]],GE=[[`path`,{d:`m12 10 3-3`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M9 11h6`}],[`path`,{d:`M9 15h6`}],[`path`,{d:`m9 7 3 3v7`}]],KE=[[`path`,{d:`M10 17V9.5a1 1 0 0 1 5 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 13h5`}],[`path`,{d:`M8 17h7`}]],qE=[[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 11h5a2 2 0 0 0 0-4h-3v10`}],[`path`,{d:`M8 15h5`}]],JE=[[`path`,{d:`M10 11h4`}],[`path`,{d:`M10 17V7h5`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 15h5`}]],YE=[[`path`,{d:`M13 16H8`}],[`path`,{d:`M14 8H8`}],[`path`,{d:`M16 12H8`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],XE=[[`path`,{d:`M10 7v10a5 5 0 0 0 5-5`}],[`path`,{d:`m14 8-6 3`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],ZE=[[`path`,{d:`M14 4v16H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1z`}],[`circle`,{cx:`14`,cy:`12`,r:`8`}]],QE=[[`path`,{d:`M12 17V7`}],[`path`,{d:`M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],$E=[[`path`,{d:`M20 6a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4a2 2 0 0 1-1.6-.8l-1.6-2.13a1 1 0 0 0-1.6 0L9.6 17.2A2 2 0 0 1 8 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z`}]],eD=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M17 12h.01`}],[`path`,{d:`M7 12h.01`}]],tD=[[`rect`,{width:`12`,height:`20`,x:`6`,y:`2`,rx:`2`}]],nD=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],rD=[[`path`,{d:`M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5`}],[`path`,{d:`M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12`}],[`path`,{d:`m14 16-3 3 3 3`}],[`path`,{d:`M8.293 13.596 7.196 9.5 3.1 10.598`}],[`path`,{d:`m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843`}],[`path`,{d:`m13.378 9.633 4.096 1.098 1.097-4.096`}]],iD=[[`path`,{d:`m15 14 5-5-5-5`}],[`path`,{d:`M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13`}]],aD=[[`circle`,{cx:`12`,cy:`17`,r:`1`}],[`path`,{d:`M21 7v6h-6`}],[`path`,{d:`M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7`}]],oD=[[`path`,{d:`M21 7v6h-6`}],[`path`,{d:`M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7`}]],sD=[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`}],[`path`,{d:`M16 16h5v5`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],cD=[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`}],[`path`,{d:`M16 16h5v5`}]],lD=[[`path`,{d:`M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47`}],[`path`,{d:`M8 16H3v5`}],[`path`,{d:`M3 12C3 9.51 4 7.26 5.64 5.64`}],[`path`,{d:`m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64`}],[`path`,{d:`M21 12c0 1-.16 1.97-.47 2.87`}],[`path`,{d:`M21 3v5h-5`}],[`path`,{d:`M22 22 2 2`}]],uD=[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}],[`path`,{d:`M8 16H3v5`}]],dD=[[`path`,{d:`M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z`}],[`path`,{d:`M5 10h14`}],[`path`,{d:`M15 7v6`}]],fD=[[`path`,{d:`M17 3v10`}],[`path`,{d:`m12.67 5.5 8.66 5`}],[`path`,{d:`m12.67 10.5 8.66-5`}],[`path`,{d:`M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z`}]],pD=[[`path`,{d:`M4 7V4h16v3`}],[`path`,{d:`M5 20h6`}],[`path`,{d:`M13 4 8 20`}],[`path`,{d:`m15 15 5 5`}],[`path`,{d:`m20 15-5 5`}]],mD=[[`path`,{d:`m2 9 3-3 3 3`}],[`path`,{d:`M13 18H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`m22 15-3 3-3-3`}],[`path`,{d:`M11 6h6a2 2 0 0 1 2 2v10`}]],hD=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}],[`path`,{d:`M11 10h1v4`}]],gD=[[`path`,{d:`M11.656 6H21l-4-4`}],[`path`,{d:`M17.898 17.898A4 4 0 0 1 17 18H3l4-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 13v1a4 4 0 0 1-.171 1.159`}],[`path`,{d:`m21 6-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 3.102-3.898`}],[`path`,{d:`m7 22-4-4`}]],_D=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}]],vD=[[`path`,{d:`M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M14 4a1 1 0 0 1 1-1`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`}],[`path`,{d:`M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`}],[`path`,{d:`m3 7 3 3 3-3`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}]],yD=[[`path`,{d:`M14 4a1 1 0 0 1 1-1`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`}],[`path`,{d:`m3 7 3 3 3-3`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}]],bD=[[`path`,{d:`m12 17-5-5 5-5`}],[`path`,{d:`M22 18v-2a4 4 0 0 0-4-4H7`}],[`path`,{d:`m7 17-5-5 5-5`}]],xD=[[`path`,{d:`M20 18v-2a4 4 0 0 0-4-4H4`}],[`path`,{d:`m9 17-5-5 5-5`}]],SD=[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`}]],CD=[[`path`,{d:`M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22`}],[`path`,{d:`m12 18 2.57-3.5`}],[`path`,{d:`M6.243 9.016a7 7 0 0 1 11.507-.009`}],[`path`,{d:`M9.35 14.53 12 11.22`}],[`path`,{d:`M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z`}]],wD=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M12 5V3`}],[`path`,{d:`M12 9v3`}],[`path`,{d:`M2.077 18.449A2 2 0 0 0 4 21h16a2 2 0 0 0 1.924-2.55l-4-14A2 2 0 0 0 16 3H8a2 2 0 0 0-1.924 1.45z`}]],TD=[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`}]],ED=[[`path`,{d:`m15 13 3.708 7.416`}],[`path`,{d:`M3 19a15 15 0 0 0 18 0`}],[`path`,{d:`m3 2 3.21 9.633A2 2 0 0 0 8.109 13H18`}],[`path`,{d:`m9 13-3.708 7.416`}]],DD=[[`path`,{d:`M6 19V5`}],[`path`,{d:`M10 19V6.8`}],[`path`,{d:`M14 19v-7.8`}],[`path`,{d:`M18 5v4`}],[`path`,{d:`M18 19v-6`}],[`path`,{d:`M22 19V9`}],[`path`,{d:`M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65`}]],OD=[[`path`,{d:`M17 10h-1a4 4 0 1 1 4-4v.534`}],[`path`,{d:`M17 6h1a4 4 0 0 1 1.42 7.74l-2.29.87a6 6 0 0 1-5.339-10.68l2.069-1.31`}],[`path`,{d:`M4.5 17c2.8-.5 4.4 0 5.5.8s1.8 2.2 2.3 3.7c-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2`}],[`path`,{d:`M9.77 12C4 15 2 22 2 22`}],[`circle`,{cx:`17`,cy:`8`,r:`2`}]],kD=[[`path`,{d:`m15.194 13.707 3.814 1.86-1.86 3.814`}],[`path`,{d:`M16.47214 7.52786 A 5 10 0 1 0 13 21.79796`}],[`path`,{d:`M21.79796 11 A 10 5 0 1 0 19 15.57071`}]],AD=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M12 9h2`}],[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.74 9.74 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`circle`,{cx:`12`,cy:`15`,r:`2`}]],jD=[[`path`,{d:`M20 9V7a2 2 0 0 0-2-2h-6`}],[`path`,{d:`m15 2-3 3 3 3`}],[`path`,{d:`M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2`}]],MD=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}]],ND=[[`path`,{d:`M12 5H6a2 2 0 0 0-2 2v3`}],[`path`,{d:`m9 8 3-3-3-3`}],[`path`,{d:`M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`}]],PD=[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}]],FD=[[`circle`,{cx:`6`,cy:`19`,r:`3`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],ID=[[`circle`,{cx:`6`,cy:`19`,r:`3`}],[`path`,{d:`M9 19h8.5c.4 0 .9-.1 1.3-.2`}],[`path`,{d:`M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 15.3a3.5 3.5 0 0 0-3.3-3.3`}],[`path`,{d:`M15 5h-4.3`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],LD=[[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6.01 18H6`}],[`path`,{d:`M10.01 18H10`}],[`path`,{d:`M15 10v4`}],[`path`,{d:`M17.84 7.17a4 4 0 0 0-5.66 0`}],[`path`,{d:`M20.66 4.34a8 8 0 0 0-11.31 0`}]],RD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 12h18`}]],zD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 9H3`}],[`path`,{d:`M21 15H3`}]],BD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 7.5H3`}],[`path`,{d:`M21 12H3`}],[`path`,{d:`M21 16.5H3`}]],VD=[[`path`,{d:`M4 11a9 9 0 0 1 9 9`}],[`path`,{d:`M4 4a16 16 0 0 1 16 16`}],[`circle`,{cx:`5`,cy:`19`,r:`1`}]],HD=[[`path`,{d:`M10 15v-3`}],[`path`,{d:`M14 15v-3`}],[`path`,{d:`M18 15v-3`}],[`path`,{d:`M2 8V4`}],[`path`,{d:`M22 6H2`}],[`path`,{d:`M22 8V4`}],[`path`,{d:`M6 15v-3`}],[`rect`,{x:`2`,y:`12`,width:`20`,height:`8`,rx:`2`}]],UD=[[`path`,{d:`M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z`}],[`path`,{d:`m14.5 12.5 2-2`}],[`path`,{d:`m11.5 9.5 2-2`}],[`path`,{d:`m8.5 6.5 2-2`}],[`path`,{d:`m17.5 15.5 2-2`}]],WD=[[`path`,{d:`M6 11h8a4 4 0 0 0 0-8H9v18`}],[`path`,{d:`M6 15h8`}]],GD=[[`path`,{d:`M10 2v15`}],[`path`,{d:`M7 22a4 4 0 0 1-4-4 1 1 0 0 1 1-1h16a1 1 0 0 1 1 1 4 4 0 0 1-4 4z`}],[`path`,{d:`M9.159 2.46a1 1 0 0 1 1.521-.193l9.977 8.98A1 1 0 0 1 20 13H4a1 1 0 0 1-.824-1.567z`}]],KD=[[`path`,{d:`M7 21h10`}],[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`}],[`path`,{d:`M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1`}],[`path`,{d:`m13 12 4-4`}],[`path`,{d:`M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2`}]],qD=[[`path`,{d:`m2.37 11.223 8.372-6.777a2 2 0 0 1 2.516 0l8.371 6.777`}],[`path`,{d:`M21 15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5.25`}],[`path`,{d:`M3 15a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h9`}],[`path`,{d:`m6.67 15 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2`}],[`rect`,{width:`20`,height:`4`,x:`2`,y:`11`,rx:`1`}]],JD=[[`path`,{d:`M4 10a7.31 7.31 0 0 0 10 10Z`}],[`path`,{d:`m9 15 3-3`}],[`path`,{d:`M17 13a6 6 0 0 0-6-6`}],[`path`,{d:`M21 13A10 10 0 0 0 11 3`}]],YD=[[`path`,{d:`m13.5 6.5-3.148-3.148a1.205 1.205 0 0 0-1.704 0L6.352 5.648a1.205 1.205 0 0 0 0 1.704L9.5 10.5`}],[`path`,{d:`M16.5 7.5 19 5`}],[`path`,{d:`m17.5 10.5 3.148 3.148a1.205 1.205 0 0 1 0 1.704l-2.296 2.296a1.205 1.205 0 0 1-1.704 0L13.5 14.5`}],[`path`,{d:`M9 21a6 6 0 0 0-6-6`}],[`path`,{d:`M9.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l4.296-4.296a1.205 1.205 0 0 0 0-1.704l-2.296-2.296a1.205 1.205 0 0 0-1.704 0z`}]],XD=[[`path`,{d:`m20 19.5-5.5 1.2`}],[`path`,{d:`M14.5 4v11.22a1 1 0 0 0 1.242.97L20 15.2`}],[`path`,{d:`m2.978 19.351 5.549-1.363A2 2 0 0 0 10 16V2`}],[`path`,{d:`M20 10 4 13.5`}]],ZD=[[`path`,{d:`M10 2v3a1 1 0 0 0 1 1h5`}],[`path`,{d:`M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6`}],[`path`,{d:`M18 22H4a2 2 0 0 1-2-2V6`}],[`path`,{d:`M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z`}]],QD=[[`path`,{d:`M12.5 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4v4.35`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M17 15.13V14a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],$D=[[`path`,{d:`M13 13H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M14 8h1`}],[`path`,{d:`M17 21v-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41`}],[`path`,{d:`M29.5 11.5s5 5 4 5`}],[`path`,{d:`M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15`}]],eO=[[`path`,{d:`M13.33 13H8a1 1 0 00-1 1v7`}],[`path`,{d:`M14.363 17.634a2 2 0 00-.506.854l-.837 2.87a.5.5 0 00.62.62l2.87-.837a2 2 0 00.854-.506l4.013-4.009a1 1 0 10-3.004-3.004z`}],[`path`,{d:`M7 3v4a1 1 0 001 1h7`}],[`path`,{d:`M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h10.2a2 2 0 011.4.6l3.8 3.8a2 2 0 01.6 1.4v.3`}]],tO=[[`path`,{d:`M12.5 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V12`}],[`path`,{d:`M16 13H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M19 22v-6`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],nO=[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],rO=[[`path`,{d:`M5 7v11a1 1 0 0 0 1 1h11`}],[`path`,{d:`M5.293 18.707 11 13`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`5`,r:`2`}]],iO=[[`path`,{d:`M12 3v18`}],[`path`,{d:`m19 8 3 8a5 5 0 0 1-6 0zV7`}],[`path`,{d:`M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1`}],[`path`,{d:`m5 8 3 8a5 5 0 0 1-6 0zV7`}],[`path`,{d:`M7 21h10`}]],aO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M8 7v10`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M17 7v10`}]],oO=[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}],[`path`,{d:`M14 15H9v-5`}],[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M21 3 9 15`}]],sO=[[`path`,{d:`M12 12v5.5`}],[`path`,{d:`M17 3h2a2 2 0 012 2v2`}],[`path`,{d:`M21 17v2a2 2 0 01-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 012-2h2`}],[`path`,{d:`M7 21H5a2 2 0 01-2-2v-2`}],[`path`,{d:`M7.264 9.252 12 12l4.737-2.748`}],[`path`,{d:`M7.995 8.514A2 2 0 007 10.244v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0017 13.76v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z`}]],cO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0`}]],lO=[[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 4.172 4.306l-3.447 3.62a1 1 0 0 1-1.449 0z`}]],uO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 9h.01`}]],dO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7 12h10`}]],fO=[[`path`,{d:`M17 12v4a1 1 0 0 1-1 1h-4`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M17 8V7`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M7 17h.01`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`rect`,{x:`7`,y:`7`,width:`5`,height:`5`,rx:`1`}]],pO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`m16 16-1.9-1.9`}]],mO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7 8h8`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h6`}]],hO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}]],gO=[[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M18 4.933V21`}],[`path`,{d:`m4 6 7.106-3.79a2 2 0 0 1 1.788 0L20 6`}],[`path`,{d:`m6 11-3.52 2.147a1 1 0 0 0-.48.854V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a1 1 0 0 0-.48-.853L18 11`}],[`path`,{d:`M6 4.933V21`}],[`circle`,{cx:`12`,cy:`9`,r:`2`}]],_O=[[`path`,{d:`M5.42 9.42 8 12`}],[`circle`,{cx:`4`,cy:`8`,r:`2`}],[`path`,{d:`m14 6-8.58 8.58`}],[`circle`,{cx:`4`,cy:`16`,r:`2`}],[`path`,{d:`M10.8 14.8 14 18`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],vO=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M8.12 8.12 12 12`}],[`path`,{d:`M20 4 8.12 15.88`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`path`,{d:`M14.8 14.8 20 20`}]],yO=[[`path`,{d:`M21 4h-3.5l2 11.05`}],[`path`,{d:`M6.95 17h5.142c.523 0 .95-.406 1.063-.916a6.5 6.5 0 0 1 5.345-5.009`}],[`circle`,{cx:`19.5`,cy:`17.5`,r:`2.5`}],[`circle`,{cx:`4.5`,cy:`17.5`,r:`2.5`}]],bO=[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`m22 3-5 5`}],[`path`,{d:`m17 3 5 5`}]],xO=[[`path`,{d:`M15 12h-5`}],[`path`,{d:`M15 8h-5`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`}]],SO=[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`m17 8 5-5`}],[`path`,{d:`M17 3h5v5`}]],CO=[[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`}]],wO=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M11 7v4`}],[`path`,{d:`M11 15h.01`}]],TO=[[`path`,{d:`m8 11 2 2 4-4`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],EO=[[`path`,{d:`m13 13.5 2-2.5-2-2.5`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M9 8.5 7 11l2 2.5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}]],DO=[[`path`,{d:`m13.5 8.5-5 5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],OO=[[`path`,{d:`m13.5 8.5-5 5`}],[`path`,{d:`m8.5 8.5 5 5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],kO=[[`path`,{d:`m21 21-4.34-4.34`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}]],AO=[[`path`,{d:`M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0`}],[`path`,{d:`M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0`}]],jO=[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`}],[`path`,{d:`M6 12h16`}]],MO=[[`rect`,{x:`14`,y:`14`,width:`8`,height:`8`,rx:`2`}],[`rect`,{x:`2`,y:`2`,width:`8`,height:`8`,rx:`2`}],[`path`,{d:`M7 14v1a2 2 0 0 0 2 2h1`}],[`path`,{d:`M14 7h1a2 2 0 0 1 2 2v1`}]],NO=[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`}],[`path`,{d:`m21.854 2.147-10.94 10.939`}]],PO=[[`path`,{d:`m16 16-4 4-4-4`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`m8 8 4-4 4 4`}]],FO=[[`path`,{d:`M12 3v18`}],[`path`,{d:`m16 16 4-4-4-4`}],[`path`,{d:`m8 8-4 4 4 4`}]],IO=[[`path`,{d:`m10.852 14.772-.383.923`}],[`path`,{d:`M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923`}],[`path`,{d:`m13.148 9.228.383-.923`}],[`path`,{d:`m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544`}],[`path`,{d:`m14.772 10.852.923-.383`}],[`path`,{d:`m14.772 13.148.923.383`}],[`path`,{d:`M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5`}],[`path`,{d:`M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M6 6h.01`}],[`path`,{d:`m9.228 10.852-.923-.383`}],[`path`,{d:`m9.228 13.148-.923.383`}]],LO=[[`path`,{d:`M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2`}],[`path`,{d:`M6 6h.01`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`m13 6-4 6h6l-4 6`}]],RO=[[`path`,{d:`M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5`}],[`path`,{d:`M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z`}],[`path`,{d:`M22 17v-1a2 2 0 0 0-2-2h-1`}],[`path`,{d:`M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`m2 2 20 20`}]],zO=[[`path`,{d:`M12.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2`}],[`path`,{d:`M16 12h6`}],[`path`,{d:`M19 9v6`}],[`path`,{d:`M22 18v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h8.5`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M6 6h.01`}]],BO=[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`}]],VO=[[`path`,{d:`M14 17H5`}],[`path`,{d:`M19 7h-9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`circle`,{cx:`7`,cy:`7`,r:`3`}]],HO=[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],UO=[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`}]],WO=[[`circle`,{cx:`18`,cy:`5`,r:`3`}],[`circle`,{cx:`6`,cy:`12`,r:`3`}],[`circle`,{cx:`18`,cy:`19`,r:`3`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`}]],GO=[[`path`,{d:`M12 2v13`}],[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}]],KO=[[`path`,{d:`M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44`}]],qO=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`line`,{x1:`3`,x2:`21`,y1:`9`,y2:`9`}],[`line`,{x1:`3`,x2:`21`,y1:`15`,y2:`15`}],[`line`,{x1:`9`,x2:`9`,y1:`9`,y2:`21`}],[`line`,{x1:`15`,x2:`15`,y1:`9`,y2:`21`}]],JO=[[`path`,{d:`M12 12V9a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}],[`path`,{d:`M16 20v-3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3`}],[`path`,{d:`M20 22V2`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 20h16`}],[`path`,{d:`M4 2v20`}],[`path`,{d:`M4 4h16`}]],YO=[[`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`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M12 16h.01`}]],XO=[[`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`}],[`path`,{d:`m4.243 5.21 14.39 12.472`}]],ZO=[[`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`}],[`path`,{d:`m9 12 2 2 4-4`}]],QO=[[`path`,{d:`M11 22c-3.806-1.45-7-3.966-7-9V6a1 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 1v4`}],[`path`,{d:`M14.923 16.547 14 16.164`}],[`path`,{d:`m14.923 18.843-.923.383`}],[`path`,{d:`M16.547 14.923 16.164 14`}],[`path`,{d:`m16.547 20.467-.383.924`}],[`path`,{d:`m18.843 14.923.383-.923`}],[`path`,{d:`m19.225 21.391-.382-.924`}],[`path`,{d:`m20.467 16.547.923-.383`}],[`path`,{d:`m20.467 18.843.923.383`}],[`circle`,{cx:`17.695`,cy:`17.695`,r:`3`}]],$O=[[`path`,{d:`m10.929 14.467-.383.924`}],[`path`,{d:`M10.929 8.923 10.546 8`}],[`path`,{d:`M13.225 8.923 13.608 8`}],[`path`,{d:`m13.607 15.391-.382-.924`}],[`path`,{d:`m14.849 10.547.923-.383`}],[`path`,{d:`m14.849 12.843.923.383`}],[`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`}],[`path`,{d:`m9.305 10.547-.923-.383`}],[`path`,{d:`m9.305 12.843-.923.383`}],[`circle`,{cx:`12.077`,cy:`11.695`,r:`3`}]],ek=[[`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`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}]],tk=[[`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`}],[`path`,{d:`M12 22V2`}]],nk=[[`path`,{d:`M12 13v3`}],[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 01-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 011-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 011.52 0C14.51 3.81 17 5 19 5a1 1 0 011 1z`}],[`circle`,{cx:`12`,cy:`11`,r:`2`}]],rk=[[`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`}],[`path`,{d:`M9 12h6`}]],ik=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`}]],ak=[[`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`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M12 9v6`}]],ok=[[`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`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],sk=[[`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`}],[`path`,{d:`M6.376 18.91a6 6 0 0 1 11.249.003`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}]],ck=[[`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`}],[`path`,{d:`m14.5 9.5-5 5`}],[`path`,{d:`m9.5 9.5 5 5`}]],lk=[[`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`}]],uk=[[`circle`,{cx:`12`,cy:`12`,r:`8`}],[`path`,{d:`M12 2v7.5`}],[`path`,{d:`m19 5-5.23 5.23`}],[`path`,{d:`M22 12h-7.5`}],[`path`,{d:`m19 19-5.23-5.23`}],[`path`,{d:`M12 14.5V22`}],[`path`,{d:`M10.23 13.77 5 19`}],[`path`,{d:`M9.5 12H2`}],[`path`,{d:`M10.23 10.23 5 5`}],[`circle`,{cx:`12`,cy:`12`,r:`2.5`}]],dk=[[`path`,{d:`M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z`}]],fk=[[`path`,{d:`M12 10.189V14`}],[`path`,{d:`M12 2v3`}],[`path`,{d:`M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6`}],[`path`,{d:`M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}]],pk=[[`path`,{d:`M16 10a4 4 0 0 1-8 0`}],[`path`,{d:`M3.103 6.034h17.794`}],[`path`,{d:`M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z`}]],mk=[[`path`,{d:`m15 11-1 9`}],[`path`,{d:`m19 11-4-7`}],[`path`,{d:`M2 11h20`}],[`path`,{d:`m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4`}],[`path`,{d:`M4.5 15.5h15`}],[`path`,{d:`m5 11 4-7`}],[`path`,{d:`m9 11 1 9`}]],hk=[[`circle`,{cx:`8`,cy:`21`,r:`1`}],[`circle`,{cx:`19`,cy:`21`,r:`1`}],[`path`,{d:`M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12`}]],gk=[[`path`,{d:`M21.56 4.56a1.5 1.5 0 0 1 0 2.122l-.47.47a3 3 0 0 1-4.212-.03 3 3 0 0 1 0-4.243l.44-.44a1.5 1.5 0 0 1 2.121 0z`}],[`path`,{d:`M3 22a1 1 0 0 1-1-1v-3.586a1 1 0 0 1 .293-.707l3.355-3.355a1.205 1.205 0 0 1 1.704 0l3.296 3.296a1.205 1.205 0 0 1 0 1.704l-3.355 3.355a1 1 0 0 1-.707.293z`}],[`path`,{d:`m9 15 7.879-7.878`}]],_k=[[`path`,{d:`m4 4 2.5 2.5`}],[`path`,{d:`M13.5 6.5a4.95 4.95 0 0 0-7 7`}],[`path`,{d:`M15 5 5 15`}],[`path`,{d:`M14 17v.01`}],[`path`,{d:`M10 16v.01`}],[`path`,{d:`M13 13v.01`}],[`path`,{d:`M16 10v.01`}],[`path`,{d:`M11 20v.01`}],[`path`,{d:`M17 14v.01`}],[`path`,{d:`M20 11v.01`}]],vk=[[`path`,{d:`M4 13V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 22v-5`}],[`path`,{d:`M14 19v-2`}],[`path`,{d:`M18 20v-3`}],[`path`,{d:`M2 13h20`}],[`path`,{d:`M6 20v-3`}]],yk=[[`path`,{d:`m15 15 6 6m-6-6v4.8m0-4.8h4.8`}],[`path`,{d:`M9 19.8V15m0 0H4.2M9 15l-6 6`}],[`path`,{d:`M15 4.2V9m0 0h4.8M15 9l6-6`}],[`path`,{d:`M9 4.2V9m0 0H4.2M9 9 3 3`}]],bk=[[`path`,{d:`M11 12h.01`}],[`path`,{d:`M13 22c.5-.5 1.12-1 2.5-1-1.38 0-2-.5-2.5-1`}],[`path`,{d:`M14 2a3.28 3.28 0 0 1-3.227 1.798l-6.17-.561A2.387 2.387 0 1 0 4.387 8H15.5a1 1 0 0 1 0 13 1 1 0 0 0 0-5H12a7 7 0 0 1-7-7V8`}],[`path`,{d:`M14 8a8.5 8.5 0 0 1 0 8`}],[`path`,{d:`M16 16c2 0 4.5-4 4-6`}]],xk=[[`path`,{d:`M12 22v-5.172a2 2 0 0 0-.586-1.414L9.5 13.5`}],[`path`,{d:`M14.5 14.5 12 17`}],[`path`,{d:`M17 8.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0z`}]],Sk=[[`path`,{d:`m18 14 4 4-4 4`}],[`path`,{d:`m18 2 4 4-4 4`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`}]],Ck=[[`path`,{d:`M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2`}]],wk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}],[`path`,{d:`M17 20V8`}]],Tk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}]],Ek=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}]],Dk=[[`path`,{d:`M2 20h.01`}]],Ok=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}],[`path`,{d:`M17 20V8`}],[`path`,{d:`M22 4v16`}]],kk=[[`path`,{d:`m21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284`}],[`path`,{d:`M3 21h18`}]],Ak=[[`path`,{d:`M10 9H4L2 7l2-2h6`}],[`path`,{d:`M14 5h6l2 2-2 2h-6`}],[`path`,{d:`M10 22V4a2 2 0 1 1 4 0v18`}],[`path`,{d:`M8 22h8`}]],jk=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M12 3v3`}],[`path`,{d:`M2.354 10.354a1.207 1.207 0 0 1 0-1.708l2.06-2.06A2 2 0 0 1 5.828 6h12.344a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H5.828a2 2 0 0 1-1.414-.586z`}]],Mk=[[`path`,{d:`M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z`}],[`path`,{d:`M3 20V4`}]],Nk=[[`path`,{d:`M7 18v-6a5 5 0 1 1 10 0v6`}],[`path`,{d:`M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z`}],[`path`,{d:`M21 12h1`}],[`path`,{d:`M18.5 4.5 18 5`}],[`path`,{d:`M2 12h1`}],[`path`,{d:`M12 2v1`}],[`path`,{d:`m4.929 4.929.707.707`}],[`path`,{d:`M12 12v6`}]],Pk=[[`path`,{d:`M21 4v16`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`}]],Fk=[[`path`,{d:`m12.5 17-.5-1-.5 1h1z`}],[`path`,{d:`M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`12`,r:`1`}]],Ik=[[`path`,{d:`M22 2 2 22`}]],Lk=[[`path`,{d:`M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14`}]],Rk=[[`path`,{d:`M10 5H3`}],[`path`,{d:`M12 19H3`}],[`path`,{d:`M14 3v4`}],[`path`,{d:`M16 17v4`}],[`path`,{d:`M21 12h-9`}],[`path`,{d:`M21 19h-5`}],[`path`,{d:`M21 5h-7`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M8 12H3`}]],zk=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`}],[`path`,{d:`M12.667 8 10 12h4l-2.667 4`}]],Bk=[[`path`,{d:`M10 8h4`}],[`path`,{d:`M12 21v-9`}],[`path`,{d:`M12 8V3`}],[`path`,{d:`M17 16h4`}],[`path`,{d:`M19 12V3`}],[`path`,{d:`M19 21v-5`}],[`path`,{d:`M3 14h4`}],[`path`,{d:`M5 10V3`}],[`path`,{d:`M5 21v-7`}]],Vk=[[`rect`,{width:`7`,height:`12`,x:`2`,y:`6`,rx:`1`}],[`path`,{d:`M13 8.32a7.43 7.43 0 0 1 0 7.36`}],[`path`,{d:`M16.46 6.21a11.76 11.76 0 0 1 0 11.58`}],[`path`,{d:`M19.91 4.1a15.91 15.91 0 0 1 .01 15.8`}]],Hk=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`}],[`path`,{d:`M12 18h.01`}]],Uk=[[`path`,{d:`M22 11v1a10 10 0 1 1-9-10`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}],[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 2v6`}]],Wk=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],Gk=[[`path`,{d:`M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0`}],[`circle`,{cx:`10`,cy:`13`,r:`8`}],[`path`,{d:`M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6`}],[`path`,{d:`M18 3 19.1 5.2`}],[`path`,{d:`M22 3 20.9 5.2`}]],Kk=[[`path`,{d:`m10 20-1.25-2.5L6 18`}],[`path`,{d:`M10 4 8.75 6.5 6 6`}],[`path`,{d:`m14 20 1.25-2.5L18 18`}],[`path`,{d:`m14 4 1.25 2.5L18 6`}],[`path`,{d:`m17 21-3-6h-4`}],[`path`,{d:`m17 3-3 6 1.5 3`}],[`path`,{d:`M2 12h6.5L10 9`}],[`path`,{d:`m20 10-1.5 2 1.5 2`}],[`path`,{d:`M22 12h-6.5L14 15`}],[`path`,{d:`m4 10 1.5 2L4 14`}],[`path`,{d:`m7 21 3-6-1.5-3`}],[`path`,{d:`m7 3 3 6h4`}]],qk=[[`path`,{d:`M10.5 2v4`}],[`path`,{d:`M14 2H7a2 2 0 0 0-2 2`}],[`path`,{d:`M19.29 14.76A6.67 6.67 0 0 1 17 11a6.6 6.6 0 0 1-2.29 3.76c-1.15.92-1.71 2.04-1.71 3.19 0 2.22 1.8 4.05 4 4.05s4-1.83 4-4.05c0-1.16-.57-2.26-1.71-3.19`}],[`path`,{d:`M9.607 21H6a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h7V7a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}]],Jk=[[`path`,{d:`M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3`}],[`path`,{d:`M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z`}],[`path`,{d:`M4 18v2`}],[`path`,{d:`M20 18v2`}],[`path`,{d:`M12 4v9`}]],Yk=[[`path`,{d:`M11 2h2`}],[`path`,{d:`m14.28 14-4.56 8`}],[`path`,{d:`m21 22-1.558-4H4.558`}],[`path`,{d:`M3 10v2`}],[`path`,{d:`M6.245 15.04A2 2 0 0 1 8 14h12a1 1 0 0 1 .864 1.505l-3.11 5.457A2 2 0 0 1 16 22H4a1 1 0 0 1-.863-1.506z`}],[`path`,{d:`M7 2a4 4 0 0 1-4 4`}],[`path`,{d:`m8.66 7.66 1.41 1.41`}]],Xk=[[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`}],[`path`,{d:`M7 21h10`}],[`path`,{d:`M19.5 12 22 6`}],[`path`,{d:`M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62`}],[`path`,{d:`M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62`}],[`path`,{d:`M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62`}]],Zk=[[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`}]],Qk=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}]],$k=[[`path`,{d:`M12 18v4`}],[`path`,{d:`M2 14.499a5.5 5.5 0 0 0 9.591 3.675.6.6 0 0 1 .818.001A5.5 5.5 0 0 0 22 14.5c0-2.29-1.5-4-3-5.5l-5.492-5.312a2 2 0 0 0-3-.02L5 8.999c-1.5 1.5-3 3.2-3 5.5`}]],eA=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}],[`path`,{d:`M20 2v4`}],[`path`,{d:`M22 4h-4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]],tA=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M12 6h.01`}],[`circle`,{cx:`12`,cy:`14`,r:`4`}],[`path`,{d:`M12 14h.01`}]],nA=[[`path`,{d:`M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20`}],[`path`,{d:`M19.8 17.8a7.5 7.5 0 0 0 .003-10.603`}],[`path`,{d:`M17 15a3.5 3.5 0 0 0-.025-4.975`}]],rA=[[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1`}]],iA=[[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m16 20 2 2 4-4`}]],aA=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M5 17A12 12 0 0 1 17 5`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],oA=[[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}],[`path`,{d:`M5 17A12 12 0 0 1 17 5`}]],sA=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M8 3H3v5`}],[`path`,{d:`M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3`}],[`path`,{d:`m15 9 6-6`}]],cA=[[`path`,{d:`m15 10.42 4.8-5.07`}],[`path`,{d:`M19 18h3`}],[`path`,{d:`M9.5 22 21.414 9.415A2 2 0 0 0 21.2 6.4l-5.61-4.208A1 1 0 0 0 14 3v2a2 2 0 0 1-1.394 1.906L8.677 8.053A1 1 0 0 0 8 9c-.155 6.393-2.082 9-4 9a2 2 0 0 0 0 4h14`}]],lA=[[`path`,{d:`M17 13.44 4.442 17.082A2 2 0 0 0 4.982 21H19a2 2 0 0 0 .558-3.921l-1.115-.32A2 2 0 0 1 17 14.837V7.66`}],[`path`,{d:`m7 10.56 12.558-3.642A2 2 0 0 0 19.018 3H5a2 2 0 0 0-.558 3.921l1.115.32A2 2 0 0 1 7 9.163v7.178`}]],uA=[[`path`,{d:`M15.295 19.562 16 22`}],[`path`,{d:`m17 16 3.758 2.098`}],[`path`,{d:`m19 12.5 3.026-.598`}],[`path`,{d:`M7.61 6.3a3 3 0 0 0-3.92 1.3l-1.38 2.79a3 3 0 0 0 1.3 3.91l6.89 3.597a1 1 0 0 0 1.342-.447l3.106-6.211a1 1 0 0 0-.447-1.341z`}],[`path`,{d:`M8 9V2`}]],dA=[[`path`,{d:`M3 3h.01`}],[`path`,{d:`M7 5h.01`}],[`path`,{d:`M11 7h.01`}],[`path`,{d:`M3 7h.01`}],[`path`,{d:`M7 9h.01`}],[`path`,{d:`M3 11h.01`}],[`rect`,{width:`4`,height:`4`,x:`15`,y:`5`}],[`path`,{d:`m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2`}],[`path`,{d:`m13 14 8-2`}],[`path`,{d:`m13 19 8-2`}]],fA=[[`path`,{d:`M14 9.536V7a4 4 0 0 1 4-4h1.5a.5.5 0 0 1 .5.5V5a4 4 0 0 1-4 4 4 4 0 0 0-4 4c0 2 1 3 1 5a5 5 0 0 1-1 3`}],[`path`,{d:`M4 9a5 5 0 0 1 8 4 5 5 0 0 1-8-4`}],[`path`,{d:`M5 21h14`}]],pA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M17 12h-2l-2 5-2-10-2 5H7`}]],mA=[[`path`,{d:`M15 15H9l6-6`}],[`path`,{d:`M9 15V9`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],hA=[[`path`,{d:`M15 15 9 9`}],[`path`,{d:`M9 15h6V9`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],gA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]],_A=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m12 8-4 4 4 4`}],[`path`,{d:`M16 12H8`}]],vA=[[`path`,{d:`M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6`}],[`path`,{d:`m3 21 9-9`}],[`path`,{d:`M9 21H3v-6`}]],yA=[[`path`,{d:`M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`m21 21-9-9`}],[`path`,{d:`M21 15v6h-6`}]],bA=[[`path`,{d:`M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6`}],[`path`,{d:`m3 3 9 9`}],[`path`,{d:`M3 9V3h6`}]],xA=[[`path`,{d:`M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6`}],[`path`,{d:`m21 3-9 9`}],[`path`,{d:`M15 3h6v6`}]],SA=[[`path`,{d:`m10 16 4-4-4-4`}],[`path`,{d:`M3 12h11`}],[`path`,{d:`M3 8V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`}]],CA=[[`path`,{d:`M10 12h11`}],[`path`,{d:`m17 16 4-4-4-4`}],[`path`,{d:`M21 6.344V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-1.344`}]],wA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m12 16 4-4-4-4`}]],TA=[[`path`,{d:`M15 15 9 9`}],[`path`,{d:`M9 15V9h6`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],EA=[[`path`,{d:`M15 15V9H9`}],[`path`,{d:`m9 15 6-6`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],DA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}]],OA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8.5 14 7-4`}],[`path`,{d:`m8.5 10 7 4`}]],kA=[[`line`,{x1:`5`,y1:`3`,x2:`19`,y2:`3`}],[`line`,{x1:`3`,y1:`5`,x2:`3`,y2:`19`}],[`line`,{x1:`21`,y1:`5`,x2:`21`,y2:`19`}],[`line`,{x1:`9`,y1:`21`,x2:`10`,y2:`21`}],[`line`,{x1:`14`,y1:`21`,x2:`15`,y2:`21`}],[`path`,{d:`M 3 5 A2 2 0 0 1 5 3`}],[`path`,{d:`M 19 3 A2 2 0 0 1 21 5`}],[`path`,{d:`M 5 21 A2 2 0 0 1 3 19`}],[`path`,{d:`M 21 19 A2 2 0 0 1 19 21`}],[`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`9.56066`,x2:`12`,y2:`12`}],[`line`,{x1:`17`,y1:`17`,x2:`14.82`,y2:`14.82`}],[`circle`,{cx:`8.5`,cy:`15.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`14.43934`,x2:`17`,y2:`7`}]],AA=[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3`}],[`path`,{d:`M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 2v2`}]],jA=[[`path`,{d:`M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],MA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 8h7`}],[`path`,{d:`M8 12h6`}],[`path`,{d:`M11 16h5`}]],NA=[[`path`,{d:`M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344`}],[`path`,{d:`m9 11 3 3L22 4`}]],PA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m9 12 2 2 4-4`}]],FA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m16 10-4 4-4-4`}]],IA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m14 16-4-4 4-4`}]],LA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m10 8 4 4-4 4`}]],RA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m8 14 4-4 4 4`}]],zA=[[`path`,{d:`m10 9-3 3 3 3`}],[`path`,{d:`m14 15 3-3-3-3`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],BA=[[`path`,{d:`M10 9.5 8 12l2 2.5`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`m14 9.5 2 2.5-2 2.5`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2`}],[`path`,{d:`M9 21h1`}]],VA=[[`path`,{d:`M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 21h1`}]],HA=[[`path`,{d:`M8 7v7`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M16 7v9`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 9v1`}]],UA=[[`path`,{d:`M14 21h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h6`}],[`path`,{d:`M7 8h8`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M9 3h1`}]],WA=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M9 21h2`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M21 9v2`}],[`path`,{d:`M3 14v1`}]],GA=[[`path`,{d:`M14 21h1`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 21h1`}]],KA=[[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M21 14v1`}]],qA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`16`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`8`}]],JA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],YA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M7 14h10`}]],XA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3`}],[`path`,{d:`M9 11.2h5.7`}]],ZA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 7v7`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M16 7v9`}]],QA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7v10`}],[`path`,{d:`M11 7v10`}],[`path`,{d:`m15 7 2 10`}]],$A=[[`path`,{d:`M8 16V8.5a.5.5 0 0 1 .9-.3l2.7 3.599a.5.5 0 0 0 .8 0l2.7-3.6a.5.5 0 0 1 .9.3V16`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],ej=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 8h10`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h10`}]],tj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}]],nj=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}]],rj=[[`path`,{d:`M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41`}],[`path`,{d:`M3 8.7V19a2 2 0 0 0 2 2h10.3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M13 13a3 3 0 1 0 0-6H9v2`}],[`path`,{d:`M9 17v-2.3`}]],ij=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 17V7h4a3 3 0 0 1 0 6H9`}]],aj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]],oj=[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`}]],sj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7h10`}],[`path`,{d:`M10 7v10`}],[`path`,{d:`M16 17a2 2 0 0 1-2-2V7`}]],cj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],lj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 12H9.5a2.5 2.5 0 0 1 0-5H17`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M16 7v10`}]],uj=[[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}],[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`}]],dj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],fj=[[`path`,{d:`M12 7v4`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],pj=[[`path`,{d:`M7 12h2l2 5 2-10h4`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],mj=[[`path`,{d:`M21 11a8 8 0 0 0-8-8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}]],hj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`9.56066`,x2:`12`,y2:`12`}],[`line`,{x1:`17`,y1:`17`,x2:`14.82`,y2:`14.82`}],[`circle`,{cx:`8.5`,cy:`15.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`14.43934`,x2:`17`,y2:`7`}]],gj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M16 8.9V7H8l4 5-4 5h8v-1.9`}]],_j=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`}]],vj=[[`path`,{d:`M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3`}],[`path`,{d:`M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3`}],[`line`,{x1:`12`,x2:`12`,y1:`4`,y2:`20`}]],yj=[[`path`,{d:`M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3`}],[`path`,{d:`M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3`}],[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`}]],bj=[[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`}]],xj=[[`path`,{d:`M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2`}],[`path`,{d:`M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2`}],[`rect`,{width:`8`,height:`8`,x:`14`,y:`14`,rx:`2`}]],Sj=[[`path`,{d:`M11.035 7.69a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],Cj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`}]],wj=[[`path`,{d:`m7 11 2-2-2-2`}],[`path`,{d:`M11 13h4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}]],Tj=[[`path`,{d:`M18 21a6 6 0 0 0-12 0`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],Ej=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`}]],Dj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],Oj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],kj=[[`path`,{d:`M16 12v2a2 2 0 0 1-2 2H9a1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2h0`}],[`path`,{d:`M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 1-1 1h-5a2 2 0 0 0-2 2v2`}]],Aj=[[`path`,{d:`M10 22a2 2 0 0 1-2-2`}],[`path`,{d:`M14 2a2 2 0 0 1 2 2`}],[`path`,{d:`M16 22h-2`}],[`path`,{d:`M2 10V8`}],[`path`,{d:`M2 4a2 2 0 0 1 2-2`}],[`path`,{d:`M20 8a2 2 0 0 1 2 2`}],[`path`,{d:`M22 14v2`}],[`path`,{d:`M22 20a2 2 0 0 1-2 2`}],[`path`,{d:`M4 16a2 2 0 0 1-2-2`}],[`path`,{d:`M8 10a2 2 0 0 1 2-2h5a1 1 0 0 1 1 1v5a2 2 0 0 1-2 2H9a1 1 0 0 1-1-1z`}],[`path`,{d:`M8 2h2`}]],jj=[[`path`,{d:`M10 22a2 2 0 0 1-2-2`}],[`path`,{d:`M16 22h-2`}],[`path`,{d:`M16 4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h3a1 1 0 0 0 1-1v-5a2 2 0 0 1 2-2h5a1 1 0 0 0 1-1z`}],[`path`,{d:`M20 8a2 2 0 0 1 2 2`}],[`path`,{d:`M22 14v2`}],[`path`,{d:`M22 20a2 2 0 0 1-2 2`}]],Mj=[[`path`,{d:`M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 0 1 1h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-3a1 1 0 0 0-1-1z`}]],Nj=[[`path`,{d:`M13.77 3.043a34 34 0 0 0-3.54 0`}],[`path`,{d:`M13.771 20.956a33 33 0 0 1-3.541.001`}],[`path`,{d:`M20.18 17.74c-.51 1.15-1.29 1.93-2.439 2.44`}],[`path`,{d:`M20.18 6.259c-.51-1.148-1.291-1.929-2.44-2.438`}],[`path`,{d:`M20.957 10.23a33 33 0 0 1 0 3.54`}],[`path`,{d:`M3.043 10.23a34 34 0 0 0 .001 3.541`}],[`path`,{d:`M6.26 20.179c-1.15-.508-1.93-1.29-2.44-2.438`}],[`path`,{d:`M6.26 3.82c-1.149.51-1.93 1.291-2.44 2.44`}]],Pj=[[`path`,{d:`M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9`}]],Fj=[[`path`,{d:`M15.236 22a3 3 0 0 0-2.2-5`}],[`path`,{d:`M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4`}],[`path`,{d:`M18 13h.01`}],[`path`,{d:`M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10`}]],Ij=[[`path`,{d:`M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-6 0c0 2 1 2 1 3.5V13`}],[`path`,{d:`M20 15.5a2.5 2.5 0 0 0-2.5-2.5h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1z`}],[`path`,{d:`M5 22h14`}]],Lj=[[`path`,{d:`m19.06 12.501 2.78-2.707a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428.027-.014`}],[`path`,{d:`m15 18 2 2 4-4`}]],Rj=[[`path`,{d:`M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2`}]],zj=[[`path`,{d:`M15 18h6`}],[`path`,{d:`M17.688 14a2.1 2.1 0 0 1 .416-.568l3.736-3.638a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428.027-.014`}]],Bj=[[`path`,{d:`m10.344 4.688 1.181-2.393a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.237 3.152`}],[`path`,{d:`m17.945 17.945.43 2.505a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a8 8 0 0 0 .4-.099`}],[`path`,{d:`m2 2 20 20`}]],Vj=[[`path`,{d:`M11.013 18.582 6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904L20 11.5`}],[`path`,{d:`M15 18h6`}],[`path`,{d:`M18 15v6`}]],Hj=[[`path`,{d:`m15.5 15.5 5 5`}],[`path`,{d:`m20.063 11.525 1.777-1.731a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428a2.1 2.1 0 0 1 .987-.243 2 2 0 0 1 .132.004`}],[`path`,{d:`m20.5 15.5-5 5`}]],Uj=[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`}]],Wj=[[`path`,{d:`M13.971 4.285A2 2 0 0 1 17 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z`}],[`path`,{d:`M21 20V4`}]],Gj=[[`path`,{d:`M10.029 4.285A2 2 0 0 0 7 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`}],[`path`,{d:`M3 4v16`}]],Kj=[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 13h.01`}],[`path`,{d:`M16 13h.01`}],[`path`,{d:`M10 16s.8 1 2 1c1.3 0 2-1 2-1`}]],qj=[[`path`,{d:`M11 2v2`}],[`path`,{d:`M5 2v2`}],[`path`,{d:`M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1`}],[`path`,{d:`M8 15a6 6 0 0 0 12 0v-3`}],[`circle`,{cx:`20`,cy:`10`,r:`2`}]],Jj=[[`path`,{d:`m15 19 2 2 4-4`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M21 13V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6.5`}]],Yj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M21 14V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.35`}],[`path`,{d:`M21 18h-6`}]],Xj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M3.586 3.586A2 2 0 0 0 3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.414-.586`}],[`path`,{d:`M8.656 3H15a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 21 9v6.344`}]],Zj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m16 16 5 5`}],[`path`,{d:`M21 12V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7`}],[`path`,{d:`m21 16-5 5`}]],Qj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 12.356V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.355`}],[`path`,{d:`M21 18h-6`}]],$j=[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}]],eM=[[`path`,{d:`M10 8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 16 14v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2z`}],[`path`,{d:`M10 8v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 4a2 2 0 0 1 2-2h6a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 22 8v6a2 2 0 0 1-2 2`}],[`path`,{d:`M16 2v5a1 1 0 0 0 1 1h5`}]],tM=[[`path`,{d:`M11.264 2.205A4 4 0 0 0 6.42 4.211l-4 8a4 4 0 0 0 1.359 5.117l6 4a4 4 0 0 0 4.438 0l6-4a4 4 0 0 0 1.576-4.592l-2-6a4 4 0 0 0-2.53-2.53z`}],[`path`,{d:`M11.99 22 14 12l7.822 3.184`}],[`path`,{d:`M14 12 8.47 2.302`}]],nM=[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`}]],rM=[[`rect`,{width:`20`,height:`6`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`20`,height:`6`,x:`2`,y:`14`,rx:`2`}]],iM=[[`rect`,{width:`6`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`rect`,{width:`6`,height:`20`,x:`14`,y:`2`,rx:`2`}]],aM=[[`path`,{d:`M16 4H9a3 3 0 0 0-2.83 4`}],[`path`,{d:`M14 12a4 4 0 0 1 0 8H6`}],[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`}]],oM=[[`path`,{d:`m4 5 8 8`}],[`path`,{d:`m12 5-8 8`}],[`path`,{d:`M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07`}]],sM=[[`path`,{d:`M15 4H7`}],[`path`,{d:`m18 16 3 3-3 3`}],[`path`,{d:`M3 4v13a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 14h7`}],[`path`,{d:`M7 9h12`}]],cM=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 4h.01`}],[`path`,{d:`M20 12h.01`}],[`path`,{d:`M12 20h.01`}],[`path`,{d:`M4 12h.01`}],[`path`,{d:`M17.657 6.343h.01`}],[`path`,{d:`M17.657 17.657h.01`}],[`path`,{d:`M6.343 17.657h.01`}],[`path`,{d:`M6.343 6.343h.01`}]],lM=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 3v1`}],[`path`,{d:`M12 20v1`}],[`path`,{d:`M3 12h1`}],[`path`,{d:`M20 12h1`}],[`path`,{d:`m18.364 5.636-.707.707`}],[`path`,{d:`m6.343 17.657-.707.707`}],[`path`,{d:`m5.636 5.636.707.707`}],[`path`,{d:`m17.657 17.657.707.707`}]],uM=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715`}],[`path`,{d:`M16 12a4 4 0 0 0-4-4`}],[`path`,{d:`m19 5-1.256 1.256`}],[`path`,{d:`M20 12h2`}]],dM=[[`path`,{d:`M10 21v-1`}],[`path`,{d:`M10 4V3`}],[`path`,{d:`M10 9a3 3 0 0 0 0 6`}],[`path`,{d:`m14 20 1.25-2.5L18 18`}],[`path`,{d:`m14 4 1.25 2.5L18 6`}],[`path`,{d:`m17 21-3-6 1.5-3H22`}],[`path`,{d:`m17 3-3 6 1.5 3`}],[`path`,{d:`M2 12h1`}],[`path`,{d:`m20 10-1.5 2 1.5 2`}],[`path`,{d:`m3.64 18.36.7-.7`}],[`path`,{d:`m4.34 6.34-.7-.7`}]],fM=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`m17.66 17.66 1.41 1.41`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m6.34 17.66-1.41 1.41`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}]],pM=[[`path`,{d:`M12 2v8`}],[`path`,{d:`m4.93 10.93 1.41 1.41`}],[`path`,{d:`M2 18h2`}],[`path`,{d:`M20 18h2`}],[`path`,{d:`m19.07 10.93-1.41 1.41`}],[`path`,{d:`M22 22H2`}],[`path`,{d:`m8 6 4-4 4 4`}],[`path`,{d:`M16 18a4 4 0 0 0-8 0`}]],mM=[[`path`,{d:`M12 10V2`}],[`path`,{d:`m4.93 10.93 1.41 1.41`}],[`path`,{d:`M2 18h2`}],[`path`,{d:`M20 18h2`}],[`path`,{d:`m19.07 10.93-1.41 1.41`}],[`path`,{d:`M22 22H2`}],[`path`,{d:`m16 6-4 4-4-4`}],[`path`,{d:`M16 18a4 4 0 0 0-8 0`}]],hM=[[`path`,{d:`M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z`}],[`path`,{d:`M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7`}],[`path`,{d:`M 7 17h.01`}],[`path`,{d:`m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8`}]],gM=[[`path`,{d:`m4 19 8-8`}],[`path`,{d:`m12 19-8-8`}],[`path`,{d:`M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06`}]],_M=[[`path`,{d:`M10 21V3h8`}],[`path`,{d:`M6 16h9`}],[`path`,{d:`M10 9.5h7`}]],vM=[[`path`,{d:`M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5`}],[`path`,{d:`M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`m18 22-3-3 3-3`}],[`path`,{d:`m6 2 3 3-3 3`}]],yM=[[`path`,{d:`m11 19-6-6`}],[`path`,{d:`m5 21-2-2`}],[`path`,{d:`m8 16-4 4`}],[`path`,{d:`M9.5 17.5 21 6V3h-3L6.5 14.5`}]],bM=[[`path`,{d:`m18 2 4 4`}],[`path`,{d:`m17 7 3-3`}],[`path`,{d:`M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5`}],[`path`,{d:`m9 11 4 4`}],[`path`,{d:`m5 19-3 3`}],[`path`,{d:`m14 4 6 6`}]],xM=[[`polyline`,{points:`14.5 17.5 3 6 3 3 6 3 17.5 14.5`}],[`line`,{x1:`13`,x2:`19`,y1:`19`,y2:`13`}],[`line`,{x1:`16`,x2:`20`,y1:`16`,y2:`20`}],[`line`,{x1:`19`,x2:`21`,y1:`21`,y2:`19`}],[`polyline`,{points:`14.5 6.5 18 3 21 3 21 6 17.5 9.5`}],[`line`,{x1:`5`,x2:`9`,y1:`14`,y2:`18`}],[`line`,{x1:`7`,x2:`4`,y1:`17`,y2:`20`}],[`line`,{x1:`3`,x2:`5`,y1:`19`,y2:`21`}]],SM=[[`path`,{d:`M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18`}]],CM=[[`path`,{d:`M12 21v-6`}],[`path`,{d:`M12 9V3`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],wM=[[`path`,{d:`M12 15V9`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],TM=[[`path`,{d:`M14 14v2`}],[`path`,{d:`M14 20v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`M14 8v2`}],[`path`,{d:`M2 15h8`}],[`path`,{d:`M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2`}],[`path`,{d:`M2 9h8`}],[`path`,{d:`M22 15h-4`}],[`path`,{d:`M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`}],[`path`,{d:`M22 9h-4`}],[`path`,{d:`M5 3v18`}]],EM=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M21 5h.01`}],[`path`,{d:`M21 12h.01`}],[`path`,{d:`M21 19h.01`}]],DM=[[`path`,{d:`M15 3v18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 9H3`}],[`path`,{d:`M21 15H3`}]],OM=[[`path`,{d:`M14 10h2`}],[`path`,{d:`M15 22v-8`}],[`path`,{d:`M15 2v4`}],[`path`,{d:`M2 10h2`}],[`path`,{d:`M20 10h2`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6`}],[`path`,{d:`M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2`}],[`path`,{d:`M8 10h2`}],[`path`,{d:`M9 22v-8`}],[`path`,{d:`M9 2v4`}]],kM=[[`path`,{d:`M12 3v18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}]],AM=[[`rect`,{width:`10`,height:`14`,x:`3`,y:`8`,rx:`2`}],[`path`,{d:`M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4`}],[`path`,{d:`M8 18h.01`}]],jM=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,ry:`2`}],[`line`,{x1:`12`,x2:`12.01`,y1:`18`,y2:`18`}]],MM=[[`circle`,{cx:`7`,cy:`7`,r:`5`}],[`circle`,{cx:`17`,cy:`17`,r:`5`}],[`path`,{d:`M12 17h10`}],[`path`,{d:`m3.46 10.54 7.08-7.08`}]],NM=[[`path`,{d:`M16 13h6`}],[`path`,{d:`m16.5 6.5-3.914-3.914A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l1.79-1.79`}],[`path`,{d:`M19 10v6`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],PM=[[`path`,{d:`m16.5 6.5-3.914-3.914A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.43 2.43 0 0 0 3.42 0l1.79-1.79`}],[`path`,{d:`m16.5 10.5 5 5`}],[`path`,{d:`m21.5 10.5-5 5`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],FM=[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],IM=[[`path`,{d:`M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193`}],[`circle`,{cx:`10.5`,cy:`6.5`,r:`.5`,fill:`currentColor`}]],LM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}]],RM=[[`path`,{d:`M4 4v16`}]],zM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}]],BM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}],[`path`,{d:`M19 4v16`}]],VM=[[`circle`,{cx:`17`,cy:`4`,r:`2`}],[`path`,{d:`M15.59 5.41 5.41 15.59`}],[`circle`,{cx:`4`,cy:`17`,r:`2`}],[`path`,{d:`M12 22s-4-9-1.5-11.5S22 12 22 12`}]],HM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}],[`path`,{d:`M19 4v16`}],[`path`,{d:`M22 6 2 18`}]],UM=[[`path`,{d:`m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44`}],[`path`,{d:`m13.56 11.747 4.332-.924`}],[`path`,{d:`m16 21-3.105-6.21`}],[`path`,{d:`M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z`}],[`path`,{d:`m6.158 8.633 1.114 4.456`}],[`path`,{d:`m8 21 3.105-6.21`}],[`circle`,{cx:`12`,cy:`13`,r:`2`}]],WM=[[`circle`,{cx:`4`,cy:`4`,r:`2`}],[`path`,{d:`m14 5 3-3 3 3`}],[`path`,{d:`m14 10 3-3 3 3`}],[`path`,{d:`M17 14V2`}],[`path`,{d:`M17 14H7l-5 8h20Z`}],[`path`,{d:`M8 14v8`}],[`path`,{d:`m9 14 5 8`}]],GM=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],KM=[[`path`,{d:`M3.5 21 14 3`}],[`path`,{d:`M20.5 21 10 3`}],[`path`,{d:`M15.5 21 12 15l-3.5 6`}],[`path`,{d:`M2 21h20`}]],qM=[[`path`,{d:`M12 19h8`}],[`path`,{d:`m4 17 6-6-6-6`}]],JM=[[`path`,{d:`M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3`}],[`path`,{d:`m16 2 6 6`}],[`path`,{d:`M12 16H4`}]],YM=[[`path`,{d:`M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2`}],[`path`,{d:`M8.5 2h7`}],[`path`,{d:`M14.5 16h-5`}]],XM=[[`path`,{d:`M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2`}],[`path`,{d:`M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2`}],[`path`,{d:`M3 2h7`}],[`path`,{d:`M14 2h7`}],[`path`,{d:`M9 16H4`}],[`path`,{d:`M20 16h-5`}]],ZM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M17 12H7`}],[`path`,{d:`M19 19H5`}]],QM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M21 12H9`}],[`path`,{d:`M21 19H7`}]],$M=[[`path`,{d:`M3 5h18`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M3 19h18`}]],eN=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M17 19H3`}]],tN=[[`path`,{d:`M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6`}],[`path`,{d:`M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7`}],[`path`,{d:`M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1`}],[`path`,{d:`M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1`}],[`path`,{d:`M9 6v12`}]],nN=[[`path`,{d:`M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1`}],[`path`,{d:`M7 22h1a4 4 0 0 0 4-4`}],[`path`,{d:`M7 2h1a4 4 0 0 1 4 4`}]],rN=[[`path`,{d:`M15 5h6`}],[`path`,{d:`M15 12h6`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`m3 12 3.553-7.724a.5.5 0 0 1 .894 0L11 12`}],[`path`,{d:`M3.92 10h6.16`}]],iN=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M10 12H3`}],[`path`,{d:`M10 19H3`}],[`circle`,{cx:`17`,cy:`15`,r:`3`}],[`path`,{d:`m21 19-1.9-1.9`}]],aN=[[`path`,{d:`M17 5H3`}],[`path`,{d:`M21 12H8`}],[`path`,{d:`M21 19H8`}],[`path`,{d:`M3 12v7`}]],oN=[[`path`,{d:`m16 16-3 3 3 3`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`}],[`path`,{d:`M3 19h6`}],[`path`,{d:`M3 5h18`}]],sN=[[`path`,{d:`M2 10s3-3 3-8`}],[`path`,{d:`M22 10s-3-3-3-8`}],[`path`,{d:`M10 2c0 4.4-3.6 8-8 8`}],[`path`,{d:`M14 2c0 4.4 3.6 8 8 8`}],[`path`,{d:`M2 10s2 2 2 5`}],[`path`,{d:`M22 10s-2 2-2 5`}],[`path`,{d:`M8 15h8`}],[`path`,{d:`M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1`}],[`path`,{d:`M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1`}]],cN=[[`path`,{d:`m10 20-1.25-2.5L6 18`}],[`path`,{d:`M10 4 8.75 6.5 6 6`}],[`path`,{d:`M10.585 15H10`}],[`path`,{d:`M2 12h6.5L10 9`}],[`path`,{d:`M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z`}],[`path`,{d:`m4 10 1.5 2L4 14`}],[`path`,{d:`m7 21 3-6-1.5-3`}],[`path`,{d:`m7 3 3 6h2`}]],lN=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8a4 4 0 0 0-1.645 7.647`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`m6.34 17.66-1.41 1.41`}]],uN=[[`path`,{d:`M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z`}]],dN=[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`}],[`path`,{d:`M17 14V2`}]],fN=[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`}],[`path`,{d:`M7 10v12`}]],pN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9 12 2 2 4-4`}]],mN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 12h6`}]],hN=[[`path`,{d:`M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M15 15h.01`}]],gN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M12 9v6`}]],_N=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9.5 14.5 5-5`}]],vN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9.5 14.5 5-5`}],[`path`,{d:`m9.5 9.5 5 5`}]],yN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M13 5v2`}],[`path`,{d:`M13 17v2`}],[`path`,{d:`M13 11v2`}]],bN=[[`path`,{d:`M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12`}],[`path`,{d:`m12 13.5 3.794.506`}],[`path`,{d:`m3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8`}],[`path`,{d:`M6 10V8`}],[`path`,{d:`M6 14v1`}],[`path`,{d:`M6 19v2`}],[`rect`,{x:`2`,y:`8`,width:`20`,height:`13`,rx:`2`}]],xN=[[`path`,{d:`m3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8`}],[`path`,{d:`M6 10V8`}],[`path`,{d:`M6 14v1`}],[`path`,{d:`M6 19v2`}],[`rect`,{x:`2`,y:`8`,width:`20`,height:`13`,rx:`2`}]],SN=[[`path`,{d:`M4 12h.01`}],[`path`,{d:`M4 16h.01`}],[`path`,{d:`M4 20h.01`}],[`path`,{d:`M4 4h.01`}],[`path`,{d:`M4 8h.01`}],[`path`,{d:`M9.414 13.414a2 2 0 0 0 1.414.586H19a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 12z`}],[`path`,{d:`M9.414 21.414a2 2 0 0 0 1.414.586H19a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 20z`}],[`path`,{d:`M9.414 5.414A2 2 0 0 0 10.828 6H19a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 4z`}]],CN=[[`path`,{d:`M10 2h4`}],[`path`,{d:`M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7`}],[`path`,{d:`M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M12 12v-2`}]],wN=[[`path`,{d:`M10 2h4`}],[`path`,{d:`M12 14v-4`}],[`path`,{d:`M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6`}],[`path`,{d:`M9 17H4v5`}]],TN=[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`}],[`circle`,{cx:`12`,cy:`14`,r:`8`}]],EN=[[`circle`,{cx:`9`,cy:`12`,r:`3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`}]],DN=[[`circle`,{cx:`15`,cy:`12`,r:`3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`}]],ON=[[`path`,{d:`M7 12h13a1 1 0 0 1 1 1 5 5 0 0 1-5 5h-.598a.5.5 0 0 0-.424.765l1.544 2.47a.5.5 0 0 1-.424.765H5.402a.5.5 0 0 1-.424-.765L7 18`}],[`path`,{d:`M8 18a5 5 0 0 1-5-5V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8`}]],kN=[[`path`,{d:`M10 15h4`}],[`path`,{d:`m14.817 10.995-.971-1.45 1.034-1.232a2 2 0 0 0-2.025-3.238l-1.82.364L9.91 3.885a2 2 0 0 0-3.625.748L6.141 6.55l-1.725.426a2 2 0 0 0-.19 3.756l.657.27`}],[`path`,{d:`m18.822 10.995 2.26-5.38a1 1 0 0 0-.557-1.318L16.954 2.9a1 1 0 0 0-1.281.533l-.924 2.122`}],[`path`,{d:`M4 12.006A1 1 0 0 1 4.994 11H19a1 1 0 0 1 1 1v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}]],AN=[[`path`,{d:`M16 12v4`}],[`path`,{d:`M16 6a2 2 0 0 1 1.414.586l4 4A2 2 0 0 1 22 12v7a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 .586-1.414l4-4A2 2 0 0 1 8 6z`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M8 12v4`}]],jN=[[`ellipse`,{cx:`12`,cy:`11`,rx:`3`,ry:`2`}],[`ellipse`,{cx:`12`,cy:`12.5`,rx:`10`,ry:`8.5`}]],MN=[[`path`,{d:`M21 4H3`}],[`path`,{d:`M18 8H6`}],[`path`,{d:`M19 12H9`}],[`path`,{d:`M16 16h-6`}],[`path`,{d:`M11 20H9`}]],NN=[[`path`,{d:`M12 20v-6`}],[`path`,{d:`M19.656 14H22`}],[`path`,{d:`M2 14h12`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2`}],[`path`,{d:`M9.656 4H20a2 2 0 0 1 2 2v10.344`}]],PN=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M12 20v-6`}]],FN=[[`path`,{d:`M22 7h-2`}],[`path`,{d:`M6.5 3h11A2.5 2.5 0 0 1 20 5.5V20a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1V5.5a1 1 0 0 0-5 0V17a1 1 0 0 0 1 1h4`}],[`path`,{d:`M9 7H2`}]],IN=[[`path`,{d:`M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z`}],[`path`,{d:`M8 13v9`}],[`path`,{d:`M16 22v-9`}],[`path`,{d:`m9 6 1 7`}],[`path`,{d:`m15 6-1 7`}],[`path`,{d:`M12 6V2`}],[`path`,{d:`M13 2h-2`}]],LN=[[`rect`,{width:`18`,height:`12`,x:`3`,y:`8`,rx:`1`}],[`path`,{d:`M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3`}],[`path`,{d:`M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3`}]],RN=[[`path`,{d:`m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20`}],[`path`,{d:`M16 18h-5`}],[`path`,{d:`M18 5a1 1 0 0 0-1 1v5.573`}],[`path`,{d:`M3 4h8.129a1 1 0 0 1 .99.863L13 11.246`}],[`path`,{d:`M4 11V4`}],[`path`,{d:`M7 15h.01`}],[`path`,{d:`M8 10.1V4`}],[`circle`,{cx:`18`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`15`,r:`5`}]],zN=[[`path`,{d:`M16.05 10.966a5 2.5 0 0 1-8.1 0`}],[`path`,{d:`m16.923 14.049 4.48 2.04a1 1 0 0 1 .001 1.831l-8.574 3.9a2 2 0 0 1-1.66 0l-8.574-3.91a1 1 0 0 1 0-1.83l4.484-2.04`}],[`path`,{d:`M16.949 14.14a5 2.5 0 1 1-9.9 0L10.063 3.5a2 2 0 0 1 3.874 0z`}],[`path`,{d:`M9.194 6.57a5 2.5 0 0 0 5.61 0`}]],BN=[[`path`,{d:`M2 22V12a10 10 0 1 1 20 0v10`}],[`path`,{d:`M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8`}],[`path`,{d:`M10 15h.01`}],[`path`,{d:`M14 15h.01`}],[`path`,{d:`M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z`}],[`path`,{d:`m9 19-2 3`}],[`path`,{d:`m15 19 2 3`}]],VN=[[`path`,{d:`M8 3.1V7a4 4 0 0 0 8 0V3.1`}],[`path`,{d:`m9 15-1-1`}],[`path`,{d:`m15 15 1-1`}],[`path`,{d:`M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z`}],[`path`,{d:`m8 19-2 3`}],[`path`,{d:`m16 19 2 3`}]],HN=[[`path`,{d:`M2 17 17 2`}],[`path`,{d:`m2 14 8 8`}],[`path`,{d:`m5 11 8 8`}],[`path`,{d:`m8 8 8 8`}],[`path`,{d:`m11 5 8 8`}],[`path`,{d:`m14 2 8 8`}],[`path`,{d:`M7 22 22 7`}]],UN=[[`rect`,{width:`16`,height:`16`,x:`4`,y:`3`,rx:`2`}],[`path`,{d:`M4 11h16`}],[`path`,{d:`M12 3v8`}],[`path`,{d:`m8 19-2 3`}],[`path`,{d:`m18 22-2-3`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M16 15h.01`}]],WN=[[`path`,{d:`M12 16v6`}],[`path`,{d:`M14 20h-4`}],[`path`,{d:`M18 2h4v4`}],[`path`,{d:`m2 2 7.17 7.17`}],[`path`,{d:`M2 5.355V2h3.357`}],[`path`,{d:`m22 2-7.17 7.17`}],[`path`,{d:`M8 5 5 8`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],GN=[[`path`,{d:`M10 11v6`}],[`path`,{d:`M14 11v6`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]],KN=[[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]],qN=[[`path`,{d:`M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z`}],[`path`,{d:`M12 19v3`}]],JN=[[`path`,{d:`M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4`}],[`path`,{d:`M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3`}],[`path`,{d:`M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35`}],[`path`,{d:`M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14`}]],YN=[[`path`,{d:`m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z`}],[`path`,{d:`M12 22v-3`}]],XN=[[`path`,{d:`M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z`}],[`path`,{d:`M7 16v6`}],[`path`,{d:`M13 19v3`}],[`path`,{d:`M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5`}]],ZN=[[`path`,{d:`M16 17h6v-6`}],[`path`,{d:`m22 17-8.5-8.5-5 5L2 7`}]],QN=[[`path`,{d:`M14.828 14.828 21 21`}],[`path`,{d:`M21 16v5h-5`}],[`path`,{d:`m21 3-9 9-4-4-6 6`}],[`path`,{d:`M21 8V3h-5`}]],$N=[[`path`,{d:`M16 7h6v6`}],[`path`,{d:`m22 7-8.5 8.5-5-5L2 17`}]],eP=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]],tP=[[`path`,{d:`M10.17 4.193a2 2 0 0 1 3.666.013`}],[`path`,{d:`M14 21h2`}],[`path`,{d:`m15.874 7.743 1 1.732`}],[`path`,{d:`m18.849 12.952 1 1.732`}],[`path`,{d:`M21.824 18.18a2 2 0 0 1-1.835 2.824`}],[`path`,{d:`M4.024 21a2 2 0 0 1-1.839-2.839`}],[`path`,{d:`m5.136 12.952-1 1.732`}],[`path`,{d:`M8 21h2`}],[`path`,{d:`m8.102 7.743-1 1.732`}]],nP=[[`path`,{d:`M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z`}]],rP=[[`path`,{d:`M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z`}]],iP=[[`path`,{d:`M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978`}],[`path`,{d:`M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978`}],[`path`,{d:`M18 9h1.5a1 1 0 0 0 0-5H18`}],[`path`,{d:`M4 22h16`}],[`path`,{d:`M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z`}],[`path`,{d:`M6 9H4.5a1 1 0 0 1 0-5H6`}]],aP=[[`path`,{d:`M14 19V7a2 2 0 0 0-2-2H9`}],[`path`,{d:`M15 19H9`}],[`path`,{d:`M19 19h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62L18.3 9.38a1 1 0 0 0-.78-.38H14`}],[`path`,{d:`M2 13v5a1 1 0 0 0 1 1h2`}],[`path`,{d:`M4 3 2.15 5.15a.495.495 0 0 0 .35.86h2.15a.47.47 0 0 1 .35.86L3 9.02`}],[`circle`,{cx:`17`,cy:`19`,r:`2`}],[`circle`,{cx:`7`,cy:`19`,r:`2`}]],oP=[[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`}],[`path`,{d:`M15 18H9`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14`}],[`circle`,{cx:`17`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],sP=[[`path`,{d:`M15 4 5 9`}],[`path`,{d:`m15 8.5-10 5`}],[`path`,{d:`M18 12a9 9 0 0 1-9 9V3`}]],cP=[[`path`,{d:`m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z`}],[`path`,{d:`M4.82 7.9 8 10`}],[`path`,{d:`M15.18 7.9 12 10`}],[`path`,{d:`M16.93 10H20a2 2 0 0 1 0 4H2`}]],lP=[[`path`,{d:`M10 12.01h.01`}],[`path`,{d:`M18 8v4a8 8 0 0 1-1.07 4`}],[`circle`,{cx:`10`,cy:`12`,r:`4`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}]],uP=[[`path`,{d:`M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z`}],[`path`,{d:`M7 21h10`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}]],dP=[[`path`,{d:`M7 21h10`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}]],fP=[[`path`,{d:`m17 2-5 5-5-5`}],[`rect`,{width:`20`,height:`15`,x:`2`,y:`7`,rx:`2`}]],pP=[[`path`,{d:`M12 4v16`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`}],[`path`,{d:`M9 20h6`}]],mP=[[`path`,{d:`M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z`}]],hP=[[`path`,{d:`M12 13v7a2 2 0 0 0 4 0`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M18.656 13h2.336a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-12.07-7.51`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5.961 5.957a10.28 10.28 0 0 0-3.922 5.769A1 1 0 0 0 3 13h10`}]],gP=[[`path`,{d:`M12 13v7a2 2 0 0 0 4 0`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M20.992 13a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-19.923 0A1 1 0 0 0 3 13z`}]],_P=[[`path`,{d:`M6 4v6a6 6 0 0 0 12 0V4`}],[`line`,{x1:`4`,x2:`20`,y1:`20`,y2:`20`}]],vP=[[`path`,{d:`M9 14 4 9l5-5`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`}]],yP=[[`path`,{d:`M21 17a9 9 0 0 0-15-6.7L3 13`}],[`path`,{d:`M3 7v6h6`}],[`circle`,{cx:`12`,cy:`17`,r:`1`}]],bP=[[`path`,{d:`M3 7v6h6`}],[`path`,{d:`M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13`}]],xP=[[`path`,{d:`M16 12h6`}],[`path`,{d:`M8 12H2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m19 15 3-3-3-3`}],[`path`,{d:`m5 9-3 3 3 3`}]],SP=[[`path`,{d:`M12 22v-6`}],[`path`,{d:`M12 8V2`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m15 5-3-3-3 3`}]],CP=[[`rect`,{x:`11`,y:`14`,width:`10`,height:`7`,rx:`2`}],[`rect`,{x:`3`,y:`3`,width:`10`,height:`7`,rx:`2`}]],wP=[[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M18 16h.01`}],[`path`,{d:`M22 7a1 1 0 0 0-1-1h-2a2 2 0 0 1-1.143-.359L13.143 2.36a2 2 0 0 0-2.286-.001L6.143 5.64A2 2 0 0 1 5 6H3a1 1 0 0 0-1 1v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2z`}],[`path`,{d:`M6 12h.01`}],[`path`,{d:`M6 16h.01`}],[`circle`,{cx:`12`,cy:`10`,r:`2`}]],TP=[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`}]],EP=[[`path`,{d:`M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2`}]],DP=[[`path`,{d:`m19 5 3-3`}],[`path`,{d:`m2 22 3-3`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`}],[`path`,{d:`M7.5 13.5 10 11`}],[`path`,{d:`M10.5 16.5 13 14`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`}]],OP=[[`path`,{d:`M12 3v12`}],[`path`,{d:`m17 8-5-5-5 5`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}]],kP=[[`circle`,{cx:`10`,cy:`7`,r:`1`}],[`circle`,{cx:`4`,cy:`20`,r:`1`}],[`path`,{d:`M4.7 19.3 19 5`}],[`path`,{d:`m21 3-3 1 2 2Z`}],[`path`,{d:`M9.26 7.68 5 12l2 5`}],[`path`,{d:`m10 14 5 2 3.5-3.5`}],[`path`,{d:`m18 12 1-1 1 1-1 1Z`}]],AP=[[`path`,{d:`m16 11 2 2 4-4`}],[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],jP=[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`}],[`path`,{d:`m14.305 16.53.923-.382`}],[`path`,{d:`m15.228 13.852-.923-.383`}],[`path`,{d:`m16.852 12.228-.383-.923`}],[`path`,{d:`m16.852 17.772-.383.924`}],[`path`,{d:`m19.148 12.228.383-.923`}],[`path`,{d:`m19.53 18.696-.382-.924`}],[`path`,{d:`m20.772 13.852.924-.383`}],[`path`,{d:`m20.772 16.148.924.383`}],[`circle`,{cx:`18`,cy:`15`,r:`3`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],MP=[[`path`,{d:`M19 16v-2a2 2 0 0 0-4 0v2`}],[`path`,{d:`M9.5 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`rect`,{x:`13`,y:`16`,width:`8`,height:`5`,rx:`.899`}]],NP=[[`path`,{d:`M20 11v6`}],[`path`,{d:`M20 13h2`}],[`path`,{d:`M3 21v-2a4 4 0 0 1 4-4h6a4 4 0 0 1 2.072.578`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}]],PP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`}]],FP=[[`path`,{d:`M11.5 15H7a4 4 0 0 0-4 4v2`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}]],IP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`}]],LP=[[`path`,{d:`m19 16-3 3`}],[`path`,{d:`M2 21a8 8 0 0 1 12.664-6.5`}],[`path`,{d:`M22 19h-6l3 3`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}]],RP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`m16 19 2 2 4-4`}]],zP=[[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],BP=[[`path`,{d:`M19 11v6`}],[`path`,{d:`M19 13h2`}],[`path`,{d:`M2 21a8 8 0 0 1 12.868-6.349`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}]],VP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M22 19h-6`}]],HP=[[`path`,{d:`M2 21a8 8 0 0 1 10.821-7.487`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}]],UP=[[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`path`,{d:`m22 22-1.9-1.9`}]],WP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M22 19h-6`}]],GP=[[`path`,{d:`M2 21a8 8 0 0 1 11.873-7`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`m17 17 5 5`}],[`path`,{d:`m22 17-5 5`}]],KP=[[`circle`,{cx:`12`,cy:`8`,r:`5`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`}]],qP=[[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`path`,{d:`M10.3 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`path`,{d:`m21 21-1.9-1.9`}]],JP=[[`path`,{d:`M16.051 12.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}],[`path`,{d:`M8 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}]],YP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`17`,x2:`22`,y1:`8`,y2:`13`}],[`line`,{x1:`22`,x2:`17`,y1:`8`,y2:`13`}]],XP=[[`path`,{d:`M18 21a8 8 0 0 0-16 0`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`}]],ZP=[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`12`,cy:`7`,r:`4`}]],QP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],$P=[[`path`,{d:`m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8`}],[`path`,{d:`M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7`}],[`path`,{d:`m2.1 21.8 6.4-6.3`}],[`path`,{d:`m19 5-7 7`}]],eF=[[`path`,{d:`M12 2v20`}],[`path`,{d:`M2 5h20`}],[`path`,{d:`M3 3v2`}],[`path`,{d:`M7 3v2`}],[`path`,{d:`M17 3v2`}],[`path`,{d:`M21 3v2`}],[`path`,{d:`m19 5-7 7-7-7`}]],tF=[[`path`,{d:`M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2`}],[`path`,{d:`M7 2v20`}],[`path`,{d:`M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7`}]],nF=[[`path`,{d:`M13 6v5a1 1 0 0 0 1 1h6.102a1 1 0 0 1 .712.298l.898.91a1 1 0 0 1 .288.702V17a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M5 18H3a1 1 0 0 1-1-1V8a2 2 0 0 1 2-2h12c1.1 0 2.1.8 2.4 1.8l1.176 4.2`}],[`path`,{d:`M9 18h5`}],[`circle`,{cx:`16`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],rF=[[`path`,{d:`M8 21s-4-3-4-9 4-9 4-9`}],[`path`,{d:`M16 3s4 3 4 9-4 9-4 9`}],[`line`,{x1:`15`,x2:`9`,y1:`9`,y2:`15`}],[`line`,{x1:`9`,x2:`15`,y1:`9`,y2:`15`}]],iF=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m7.9 7.9 2.7 2.7`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m13.4 10.6 2.7-2.7`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m7.9 16.1 2.7-2.7`}],[`circle`,{cx:`16.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m13.4 13.4 2.7 2.7`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],aF=[[`path`,{d:`M19.5 7a24 24 0 0 1 0 10`}],[`path`,{d:`M4.5 7a24 24 0 0 0 0 10`}],[`path`,{d:`M7 19.5a24 24 0 0 0 10 0`}],[`path`,{d:`M7 4.5a24 24 0 0 1 10 0`}],[`rect`,{x:`17`,y:`17`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`17`,y:`2`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`2`,y:`17`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`2`,y:`2`,width:`5`,height:`5`,rx:`1`}]],oF=[[`path`,{d:`M16 8q6 0 6-6-6 0-6 6`}],[`path`,{d:`M17.41 3.59a10 10 0 1 0 3 3`}],[`path`,{d:`M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14`}]],sF=[[`path`,{d:`M18 11c-1.5 0-2.5.5-3 2`}],[`path`,{d:`M4 6a2 2 0 0 0-2 2v4a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3a8 8 0 0 0-5 2 8 8 0 0 0-5-2z`}],[`path`,{d:`M6 11c1.5 0 2.5.5 3 2`}]],cF=[[`path`,{d:`M10 20h4`}],[`path`,{d:`M12 16v6`}],[`path`,{d:`M17 2h4v4`}],[`path`,{d:`m21 2-5.46 5.46`}],[`circle`,{cx:`12`,cy:`11`,r:`5`}]],lF=[[`path`,{d:`M12 15v7`}],[`path`,{d:`M9 19h6`}],[`circle`,{cx:`12`,cy:`9`,r:`6`}]],uF=[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`}],[`path`,{d:`M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2`}],[`path`,{d:`M16 10.34V6c0-.55-.45-1-1-1h-4.34`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],dF=[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`}],[`rect`,{width:`8`,height:`14`,x:`8`,y:`5`,rx:`1`}]],fF=[[`path`,{d:`M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196`}],[`path`,{d:`M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2`}],[`path`,{d:`m2 2 20 20`}]],pF=[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`}]],mF=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M2 8h20`}],[`circle`,{cx:`8`,cy:`14`,r:`2`}],[`path`,{d:`M8 12h8`}],[`circle`,{cx:`16`,cy:`14`,r:`2`}]],hF=[[`path`,{d:`M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0`}]],gF=[[`circle`,{cx:`6`,cy:`12`,r:`4`}],[`circle`,{cx:`18`,cy:`12`,r:`4`}],[`line`,{x1:`6`,x2:`18`,y1:`16`,y2:`16`}]],_F=[[`path`,{d:`M11 7a16 16 20 0 1 10.98 4.362`}],[`path`,{d:`M12 12a13 13 0 0 1-8.66 5`}],[`path`,{d:`M16.83 13.634a16 16 0 0 1-9.267 7.328`}],[`path`,{d:`M20.66 17A13 13 0 0 0 12 12a13 13 0 0 1 0-10`}],[`path`,{d:`M8.17 15.366a16 16 0 0 1-1.713-11.69`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],vF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}]],yF=[[`path`,{d:`M16 9a5 5 0 0 1 .95 2.293`}],[`path`,{d:`M19.364 5.636a9 9 0 0 1 1.889 9.96`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11`}],[`path`,{d:`M9.828 4.172A.686.686 0 0 1 11 4.657v.686`}]],bF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`}]],xF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`}]],SF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}]],CF=[[`path`,{d:`m9 12 2 2 4-4`}],[`path`,{d:`M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z`}],[`path`,{d:`M22 19H2`}]],wF=[[`path`,{d:`M3 11h3.75a2 2 0 0 1 1.6.8l.45.6a4 4 0 0 0 6.4 0l.45-.6a2 2 0 0 1 1.6-.8H21`}],[`path`,{d:`M3 7h18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],TF=[[`path`,{d:`M17 14h.01`}],[`path`,{d:`M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14`}]],EF=[[`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`}],[`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`}]],DF=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15`}],[`circle`,{cx:`8`,cy:`9`,r:`2`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],OF=[[`path`,{d:`M18 21V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v11`}],[`path`,{d:`M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 1.132-1.803l7.95-3.974a2 2 0 0 1 1.837 0l7.948 3.974A2 2 0 0 1 22 8z`}],[`path`,{d:`M6 13h12`}],[`path`,{d:`M6 17h12`}]],kF=[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`}],[`path`,{d:`m14 7 3 3`}],[`path`,{d:`M5 6v4`}],[`path`,{d:`M19 14v4`}],[`path`,{d:`M10 2v2`}],[`path`,{d:`M7 8H3`}],[`path`,{d:`M21 16h-4`}],[`path`,{d:`M11 3H9`}]],AF=[[`path`,{d:`M15 4V2`}],[`path`,{d:`M15 16v-2`}],[`path`,{d:`M8 9h2`}],[`path`,{d:`M20 9h2`}],[`path`,{d:`M17.8 11.8 19 13`}],[`path`,{d:`M15 9h.01`}],[`path`,{d:`M17.8 6.2 19 5`}],[`path`,{d:`m3 21 9-9`}],[`path`,{d:`M12.2 6.2 11 5`}]],jF=[[`path`,{d:`M3 6h3`}],[`path`,{d:`M17 6h.01`}],[`rect`,{width:`18`,height:`20`,x:`3`,y:`2`,rx:`2`}],[`circle`,{cx:`12`,cy:`13`,r:`5`}],[`path`,{d:`M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5`}]],MF=[[`path`,{d:`M12 10v2.2l1.6 1`}],[`path`,{d:`m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05`}],[`path`,{d:`m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}]],NF=[[`path`,{d:`M12 10L12 2`}],[`path`,{d:`M16 6L12 10L8 6`}],[`path`,{d:`M2 15C2.6 15.5 3.2 16 4.5 16C7 16 7 14 9.5 14C12.1 14 11.9 16 14.5 16C17 16 17 14 19.5 14C20.8 14 21.4 14.5 22 15`}],[`path`,{d:`M2 21C2.6 21.5 3.2 22 4.5 22C7 22 7 20 9.5 20C12.1 20 11.9 22 14.5 22C17 22 17 20 19.5 20C20.8 20 21.4 20.5 22 21`}]],PF=[[`path`,{d:`M12 2v8`}],[`path`,{d:`M2 15c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`m8 6 4-4 4 4`}]],FF=[[`path`,{d:`M2 12q2.5 2 5 0t5 0 5 0 5 0`}],[`path`,{d:`M2 19q2.5 2 5 0t5 0 5 0 5 0`}],[`path`,{d:`M2 5q2.5 2 5 0t5 0 5 0 5 0`}]],IF=[[`path`,{d:`M19 5a2 2 0 0 0-2 2v11`}],[`path`,{d:`M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M7 13h10`}],[`path`,{d:`M7 9h10`}],[`path`,{d:`M9 5a2 2 0 0 0-2 2v11`}]],LF=[[`path`,{d:`M12 2q2 2.5 0 5t0 5 0 5 0 5`}],[`path`,{d:`M19 2q2 2.5 0 5t0 5 0 5 0 5`}],[`path`,{d:`M5 2q2 2.5 0 5t0 5 0 5 0 5`}]],RF=[[`path`,{d:`m10.586 5.414-5.172 5.172`}],[`path`,{d:`m18.586 13.414-5.172 5.172`}],[`path`,{d:`M6 12h12`}],[`circle`,{cx:`12`,cy:`20`,r:`2`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}],[`circle`,{cx:`20`,cy:`12`,r:`2`}],[`circle`,{cx:`4`,cy:`12`,r:`2`}]],zF=[[`path`,{d:`M12 22v-4`}],[`path`,{d:`M12.754 7.096a3 3 0 0 1 2.15 2.15`}],[`path`,{d:`M12.863 12.873a3 3 0 0 1-3.736-3.735`}],[`path`,{d:`M16.566 16.57A8 8 0 0 1 5.43 5.433`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7 22h10`}],[`path`,{d:`M8.478 2.817a8 8 0 0 1 10.705 10.705`}]],BF=[[`circle`,{cx:`12`,cy:`10`,r:`8`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 22h10`}],[`path`,{d:`M12 22v-4`}]],VF=[[`path`,{d:`M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15`}],[`path`,{d:`M9 3.4a4 4 0 0 1 6.52.66`}],[`path`,{d:`m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05`}],[`path`,{d:`M20.3 20.3a4 4 0 0 1-2.3.7`}],[`path`,{d:`M18.6 13a4 4 0 0 1 3.357 3.414`}],[`path`,{d:`m12 6 .6 1`}],[`path`,{d:`m2 2 20 20`}]],HF=[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`}]],UF=[[`path`,{d:`M6.5 8a2 2 0 0 0-1.906 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8z`}],[`path`,{d:`M7.999 15a2.5 2.5 0 0 1 4 0 2.5 2.5 0 0 0 4 0`}],[`circle`,{cx:`12`,cy:`5`,r:`3`}]],WF=[[`circle`,{cx:`12`,cy:`5`,r:`3`}],[`path`,{d:`M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z`}]],GF=[[`path`,{d:`M2 22 16 8`}],[`path`,{d:`M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z`}],[`path`,{d:`M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}]],KF=[[`path`,{d:`m2 22 10-10`}],[`path`,{d:`m16 8-1.17 1.17`}],[`path`,{d:`M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97`}],[`path`,{d:`M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62`}],[`path`,{d:`M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z`}],[`path`,{d:`M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98`}],[`path`,{d:`M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],qF=[[`circle`,{cx:`7`,cy:`12`,r:`3`}],[`path`,{d:`M10 9v6`}],[`circle`,{cx:`17`,cy:`12`,r:`3`}],[`path`,{d:`M14 7v8`}],[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`}]],JF=[[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`M2 7.82a15 15 0 0 1 20 0`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`path`,{d:`M5 11.858a10 10 0 0 1 11.5-1.785`}],[`path`,{d:`M8.5 15.429a5 5 0 0 1 2.413-1.31`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],YF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],XF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],ZF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`}],[`path`,{d:`m2 2 20 20`}]],QF=[[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 10.5-2.222`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 3-1.406`}]],$F=[[`path`,{d:`M11.965 10.105v4L13.5 12.5a5 5 0 0 1 8 1.5`}],[`path`,{d:`M11.965 14.105h4`}],[`path`,{d:`M17.965 18.105h4L20.43 19.71a5 5 0 0 1-8-1.5`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M21.965 22.105v-4`}],[`path`,{d:`M5 12.86a10 10 0 0 1 3-2.032`}],[`path`,{d:`M8.5 16.429h.01`}]],eI=[[`path`,{d:`M12 20h.01`}]],tI=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],nI=[[`path`,{d:`M10 2v8`}],[`path`,{d:`M12.8 21.6A2 2 0 1 0 14 18H2`}],[`path`,{d:`M17.5 10a2.5 2.5 0 1 1 2 4H2`}],[`path`,{d:`m6 6 4 4 4-4`}]],rI=[[`path`,{d:`M12.8 19.6A2 2 0 1 0 14 16H2`}],[`path`,{d:`M17.5 8a2.5 2.5 0 1 1 2 4H2`}],[`path`,{d:`M9.8 4.4A2 2 0 1 1 11 8H2`}]],iI=[[`path`,{d:`M8 22h8`}],[`path`,{d:`M7 10h3m7 0h-1.343`}],[`path`,{d:`M12 15v7`}],[`path`,{d:`M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],aI=[[`path`,{d:`M8 22h8`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M12 15v7`}],[`path`,{d:`M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z`}]],oI=[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`}]],sI=[[`path`,{d:`m19 12-1.5 3`}],[`path`,{d:`M19.63 18.81 22 20`}],[`path`,{d:`M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z`}]],cI=[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`}]],lI=[[`path`,{d:`M10.747 5.093a6 6 0 0 1 6.841-2.882c.438.12.54.662.219.984L14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-2.882 6.842`}],[`path`,{d:`m13.5 13.5-7.88 7.88a1 1 0 0 1-2.999-3l7.88-7.88`}],[`path`,{d:`m2 2 20 20`}]],uI=[[`path`,{d:`M18 4H6`}],[`path`,{d:`M18 8 6 20`}],[`path`,{d:`m6 8 12 12`}]],dI=[[`path`,{d:`M18 6 6 18`}],[`path`,{d:`m6 6 12 12`}]],fI=[[`path`,{d:`M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317`}],[`path`,{d:`M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773`}],[`path`,{d:`M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643`}],[`path`,{d:`m2 2 20 20`}]],pI=[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`}]],mI=[[`path`,{d:`m2 10 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.096-.001l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 10`}],[`path`,{d:`m2 18.002 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.097 0l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 18.002`}]],hI=[[`path`,{d:`M12 7.5a4.5 4.5 0 1 1 5 4.5`}],[`path`,{d:`M7 12a4.5 4.5 0 1 1 5-4.5V21`}]],gI=[[`path`,{d:`M21 14.5A9 6.5 0 0 1 5.5 19`}],[`path`,{d:`M3 9.5A9 6.5 0 0 1 18.5 5`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`3.5`}],[`circle`,{cx:`6.5`,cy:`9.5`,r:`3.5`}]],_I=[[`path`,{d:`M16 4.525v14.948`}],[`path`,{d:`M20 3A17 17 0 0 1 4 3`}],[`path`,{d:`M4 21a17 17 0 0 1 16 0`}],[`path`,{d:`M8 4.525v14.948`}]],vI=[[`path`,{d:`M11 21a3 3 0 0 0 3-3V6.5a1 1 0 0 0-7 0`}],[`path`,{d:`M7 19V6a3 3 0 0 0-3-3h0`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}]],yI=[[`path`,{d:`M3 16h6.857c.162-.012.19-.323.038-.38a6 6 0 1 1 4.212 0c-.153.057-.125.368.038.38H21`}],[`path`,{d:`M3 20h18`}]],bI=[[`path`,{d:`M10 16c0-4-3-4.5-3-8a5 5 0 0 1 10 0c0 3.466-3 6.196-3 10a3 3 0 0 0 6 0`}],[`circle`,{cx:`7`,cy:`16`,r:`3`}]],xI=[[`path`,{d:`M3 10A6.06 6.06 0 0 1 12 10 A6.06 6.06 0 0 0 21 10`}],[`path`,{d:`M6 3v12a6 6 0 0 0 12 0V3`}]],SI=[[`path`,{d:`M19 21a15 15 0 0 1 0-18`}],[`path`,{d:`M20 12H4`}],[`path`,{d:`M5 3a15 15 0 0 1 0 18`}]],CI=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M21 3 3 21`}],[`path`,{d:`m9 9 6 6`}]],wI=[[`circle`,{cx:`12`,cy:`15`,r:`6`}],[`path`,{d:`M18 3A6 6 0 0 1 6 3`}]],TI=[[`path`,{d:`M10 19V5.5a1 1 0 0 1 5 0V17a2 2 0 0 0 2 2h5l-3-3`}],[`path`,{d:`m22 19-3 3`}],[`path`,{d:`M5 19V5.5a1 1 0 0 1 5 0`}],[`path`,{d:`M5 5.5A2.5 2.5 0 0 0 2.5 3`}]],EI=[[`path`,{d:`M11 5.5a1 1 0 0 1 5 0V16a5 5 0 0 0 5 5`}],[`path`,{d:`M16 11.5a1 1 0 0 1 5 0V16a5 5 0 0 1-5 5`}],[`path`,{d:`M6 19V6a3 3 0 0 0-3-3h0`}],[`path`,{d:`M6 5.5a1 1 0 0 1 5 0V19`}]],DI=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`}]],OI=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`}]],kI=t({AArrowDown:()=>ha,AArrowUp:()=>ga,ALargeSmall:()=>ya,Accessibility:()=>_a,Activity:()=>va,ActivitySquare:()=>pA,Ad:()=>ba,AirVent:()=>xa,Airplay:()=>Sa,AlarmCheck:()=>wa,AlarmClock:()=>Da,AlarmClockCheck:()=>wa,AlarmClockMinus:()=>Ca,AlarmClockOff:()=>Ta,AlarmClockPlus:()=>Ea,AlarmMinus:()=>Ca,AlarmPlus:()=>Ea,AlarmSmoke:()=>Oa,Album:()=>ka,AlertCircle:()=>Hd,AlertOctagon:()=>bw,AlertTriangle:()=>eP,AlignCenter:()=>ZM,AlignCenterHorizontal:()=>Aa,AlignCenterVertical:()=>ja,AlignEndHorizontal:()=>Ma,AlignEndVertical:()=>Pa,AlignHorizontalDistributeCenter:()=>Na,AlignHorizontalDistributeEnd:()=>Fa,AlignHorizontalDistributeStart:()=>Ia,AlignHorizontalJustifyCenter:()=>La,AlignHorizontalJustifyEnd:()=>Ra,AlignHorizontalJustifyStart:()=>za,AlignHorizontalSpaceAround:()=>Ba,AlignHorizontalSpaceBetween:()=>Ha,AlignJustify:()=>$M,AlignLeft:()=>eN,AlignRight:()=>QM,AlignStartHorizontal:()=>Va,AlignStartVertical:()=>Ua,AlignVerticalDistributeCenter:()=>Wa,AlignVerticalDistributeEnd:()=>Ga,AlignVerticalDistributeStart:()=>Ka,AlignVerticalJustifyCenter:()=>qa,AlignVerticalJustifyEnd:()=>Ja,AlignVerticalJustifyStart:()=>Ya,AlignVerticalSpaceAround:()=>Xa,AlignVerticalSpaceBetween:()=>Za,Ambulance:()=>Qa,Ampersand:()=>eee,Ampersands:()=>$a,Amphora:()=>tee,Anchor:()=>nee,Angry:()=>ree,Annoyed:()=>iee,Antenna:()=>aee,Anvil:()=>oee,Aperture:()=>eo,AppWindow:()=>ro,AppWindowMac:()=>to,Apple:()=>no,Archive:()=>so,ArchiveRestore:()=>io,ArchiveX:()=>ao,AreaChart:()=>Wu,Armchair:()=>oo,ArrowBigDown:()=>lo,ArrowBigDownDash:()=>co,ArrowBigLeft:()=>fo,ArrowBigLeftDash:()=>uo,ArrowBigRight:()=>mo,ArrowBigRightDash:()=>po,ArrowBigUp:()=>go,ArrowBigUpDash:()=>ho,ArrowDown:()=>Ao,ArrowDown01:()=>_o,ArrowDown10:()=>vo,ArrowDownAZ:()=>bo,ArrowDownAz:()=>bo,ArrowDownCircle:()=>Ud,ArrowDownFromLine:()=>yo,ArrowDownLeft:()=>xo,ArrowDownLeftFromCircle:()=>Gd,ArrowDownLeftFromSquare:()=>vA,ArrowDownLeftSquare:()=>mA,ArrowDownNarrowWide:()=>So,ArrowDownRight:()=>Co,ArrowDownRightFromCircle:()=>Kd,ArrowDownRightFromSquare:()=>yA,ArrowDownRightSquare:()=>hA,ArrowDownSquare:()=>gA,ArrowDownToDot:()=>To,ArrowDownToLine:()=>wo,ArrowDownUp:()=>Eo,ArrowDownWideNarrow:()=>Do,ArrowDownZA:()=>Oo,ArrowDownZa:()=>Oo,ArrowLeft:()=>No,ArrowLeftCircle:()=>Wd,ArrowLeftFromLine:()=>ko,ArrowLeftRight:()=>jo,ArrowLeftSquare:()=>_A,ArrowLeftToLine:()=>Mo,ArrowRight:()=>Lo,ArrowRightCircle:()=>Yd,ArrowRightFromLine:()=>Po,ArrowRightLeft:()=>Fo,ArrowRightSquare:()=>wA,ArrowRightToLine:()=>Io,ArrowUp:()=>Xo,ArrowUp01:()=>Ro,ArrowUp10:()=>zo,ArrowUpAZ:()=>Bo,ArrowUpAz:()=>Bo,ArrowUpCircle:()=>Xd,ArrowUpDown:()=>Vo,ArrowUpFromDot:()=>Ho,ArrowUpFromLine:()=>Uo,ArrowUpLeft:()=>Wo,ArrowUpLeftFromCircle:()=>qd,ArrowUpLeftFromSquare:()=>bA,ArrowUpLeftSquare:()=>TA,ArrowUpNarrowWide:()=>Go,ArrowUpRight:()=>Ko,ArrowUpRightFromCircle:()=>Jd,ArrowUpRightFromSquare:()=>xA,ArrowUpRightSquare:()=>EA,ArrowUpSquare:()=>DA,ArrowUpToLine:()=>qo,ArrowUpWideNarrow:()=>Jo,ArrowUpZA:()=>Yo,ArrowUpZa:()=>Yo,ArrowsUpFromLine:()=>Qo,Asterisk:()=>Zo,AsteriskSquare:()=>OA,Astroid:()=>$o,AtSign:()=>es,Atom:()=>ts,AudioLines:()=>ns,AudioWaveform:()=>as,Award:()=>rs,Axe:()=>is,Axis3D:()=>os,Axis3d:()=>os,Baby:()=>cs,Backpack:()=>ss,Badge:()=>Es,BadgeAlert:()=>ls,BadgeCent:()=>us,BadgeCheck:()=>ds,BadgeDollarSign:()=>fs,BadgeEuro:()=>ps,BadgeHelp:()=>xs,BadgeIndianRupee:()=>ms,BadgeInfo:()=>hs,BadgeJapaneseYen:()=>gs,BadgeMinus:()=>_s,BadgePercent:()=>vs,BadgePlus:()=>ys,BadgePoundSterling:()=>bs,BadgeQuestionMark:()=>xs,BadgeRussianRuble:()=>Ss,BadgeSwissFranc:()=>Cs,BadgeTurkishLira:()=>ws,BadgeX:()=>Ts,BaggageClaim:()=>Ds,Balloon:()=>Os,Ban:()=>ks,Banana:()=>As,Bandage:()=>js,Banknote:()=>Is,BanknoteArrowDown:()=>Ms,BanknoteArrowUp:()=>Ns,BanknoteCheck:()=>Ps,BanknoteX:()=>Fs,BarChart:()=>ad,BarChart2:()=>od,BarChart3:()=>td,BarChart4:()=>$u,BarChartBig:()=>Zu,BarChartHorizontal:()=>Yu,BarChartHorizontalBig:()=>Gu,Barcode:()=>Ls,Barrel:()=>Rs,Baseline:()=>zs,Bath:()=>Bs,Battery:()=>qs,BatteryCharging:()=>Vs,BatteryFull:()=>Hs,BatteryLow:()=>Us,BatteryMedium:()=>Ws,BatteryPlus:()=>Gs,BatteryWarning:()=>Ks,Beaker:()=>Js,Bean:()=>Xs,BeanOff:()=>Ys,Bed:()=>$s,BedDouble:()=>Zs,BedSingle:()=>Qs,Beef:()=>tc,BeefOff:()=>ec,Beer:()=>rc,BeerOff:()=>nc,Bell:()=>dc,BellCheck:()=>ac,BellDot:()=>ic,BellElectric:()=>oc,BellMinus:()=>sc,BellOff:()=>cc,BellPlus:()=>lc,BellRing:()=>uc,BetweenHorizonalEnd:()=>fc,BetweenHorizonalStart:()=>pc,BetweenHorizontalEnd:()=>fc,BetweenHorizontalStart:()=>pc,BetweenVerticalEnd:()=>mc,BetweenVerticalStart:()=>hc,BicepsFlexed:()=>gc,Bike:()=>_c,Binary:()=>vc,Binoculars:()=>bc,Biohazard:()=>yc,Bird:()=>xc,Birdhouse:()=>Sc,Bitcoin:()=>Cc,Blend:()=>wc,Blender:()=>Ec,Blinds:()=>Tc,Blocks:()=>Dc,Bluetooth:()=>jc,BluetoothConnected:()=>Oc,BluetoothOff:()=>kc,BluetoothSearching:()=>Ac,Bold:()=>Mc,Bolt:()=>Nc,Bomb:()=>Pc,Bone:()=>Ic,BoneFracture:()=>Fc,Book:()=>cl,BookA:()=>Lc,BookAlert:()=>Rc,BookAudio:()=>zc,BookCheck:()=>Bc,BookCopy:()=>Vc,BookDashed:()=>Hc,BookDown:()=>Uc,BookHeadphones:()=>Wc,BookHeart:()=>Gc,BookImage:()=>Kc,BookKey:()=>qc,BookLock:()=>Jc,BookMarked:()=>Yc,BookMinus:()=>Xc,BookOpen:()=>$c,BookOpenCheck:()=>Zc,BookOpenText:()=>Qc,BookPlus:()=>el,BookSearch:()=>tl,BookTemplate:()=>Hc,BookText:()=>nl,BookType:()=>rl,BookUp:()=>al,BookUp2:()=>il,BookUser:()=>ol,BookX:()=>sl,Bookmark:()=>ml,BookmarkCheck:()=>ll,BookmarkMinus:()=>ul,BookmarkOff:()=>dl,BookmarkPlus:()=>fl,BookmarkX:()=>pl,BoomBox:()=>gl,Bot:()=>vl,BotMessageSquare:()=>hl,BotOff:()=>_l,BottleWine:()=>yl,BowArrow:()=>bl,Box:()=>xl,BoxSelect:()=>KA,Boxes:()=>Sl,Braces:()=>Cl,Brackets:()=>wl,Brain:()=>Dl,BrainCircuit:()=>Tl,BrainCog:()=>El,BrickWall:()=>kl,BrickWallFire:()=>Al,BrickWallShield:()=>Ol,Briefcase:()=>Pl,BriefcaseBusiness:()=>jl,BriefcaseConveyorBelt:()=>Ml,BriefcaseMedical:()=>Nl,BringToFront:()=>Ll,Broccoli:()=>Fl,Brush:()=>Rl,BrushCleaning:()=>Il,Bubbles:()=>zl,Bug:()=>Hl,BugOff:()=>Bl,BugPlay:()=>Vl,Building:()=>Wl,Building2:()=>Ul,Bus:()=>Kl,BusFront:()=>Gl,Cable:()=>Jl,CableCar:()=>ql,Cake:()=>Xl,CakeSlice:()=>Yl,Calculator:()=>Zl,Calendar:()=>vu,Calendar1:()=>Ql,CalendarArrowDown:()=>$l,CalendarArrowUp:()=>eu,CalendarCheck:()=>tu,CalendarCheck2:()=>nu,CalendarClock:()=>ru,CalendarCog:()=>iu,CalendarDays:()=>au,CalendarFold:()=>ou,CalendarHeart:()=>cu,CalendarMinus:()=>lu,CalendarMinus2:()=>su,CalendarOff:()=>uu,CalendarPlus:()=>fu,CalendarPlus2:()=>du,CalendarRange:()=>pu,CalendarSearch:()=>mu,CalendarSync:()=>hu,CalendarX:()=>_u,CalendarX2:()=>gu,Calendars:()=>yu,Camera:()=>xu,CameraOff:()=>bu,CandlestickChart:()=>Xu,Candy:()=>Cu,CandyCane:()=>Su,CandyOff:()=>wu,Cannabis:()=>Tu,CannabisOff:()=>Eu,Captions:()=>Ou,CaptionsOff:()=>Du,Car:()=>ju,CarFront:()=>ku,CarTaxiFront:()=>Au,Caravan:()=>Mu,CardSim:()=>Nu,Carrot:()=>Pu,CaseLower:()=>Fu,CaseSensitive:()=>Iu,CaseUpper:()=>Lu,CassetteTape:()=>Ru,Cast:()=>zu,Castle:()=>Bu,Cat:()=>Vu,Cctv:()=>Uu,CctvOff:()=>Hu,ChartArea:()=>Wu,ChartBar:()=>Yu,ChartBarBig:()=>Gu,ChartBarDecreasing:()=>qu,ChartBarIncreasing:()=>Ku,ChartBarStacked:()=>Ju,ChartCandlestick:()=>Xu,ChartColumn:()=>td,ChartColumnBig:()=>Zu,ChartColumnDecreasing:()=>Qu,ChartColumnIncreasing:()=>$u,ChartColumnStacked:()=>ed,ChartGantt:()=>nd,ChartLine:()=>rd,ChartNetwork:()=>sd,ChartNoAxesColumn:()=>od,ChartNoAxesColumnDecreasing:()=>id,ChartNoAxesColumnIncreasing:()=>ad,ChartNoAxesCombined:()=>cd,ChartNoAxesGantt:()=>ld,ChartPie:()=>ud,ChartScatter:()=>dd,ChartSpline:()=>fd,Check:()=>hd,CheckCheck:()=>pd,CheckCircle:()=>Zd,CheckCircle2:()=>Qd,CheckLine:()=>md,CheckSquare:()=>NA,CheckSquare2:()=>PA,ChefHat:()=>gd,Cherry:()=>_d,ChessBishop:()=>yd,ChessKing:()=>vd,ChessKnight:()=>bd,ChessPawn:()=>xd,ChessQueen:()=>Sd,ChessRook:()=>Cd,ChevronDown:()=>wd,ChevronDownCircle:()=>$d,ChevronDownSquare:()=>FA,ChevronFirst:()=>Ed,ChevronLast:()=>Td,ChevronLeft:()=>Dd,ChevronLeftCircle:()=>ef,ChevronLeftSquare:()=>IA,ChevronRight:()=>Od,ChevronRightCircle:()=>tf,ChevronRightSquare:()=>LA,ChevronUp:()=>kd,ChevronUpCircle:()=>nf,ChevronUpSquare:()=>RA,ChevronsDown:()=>Ad,ChevronsDownUp:()=>jd,ChevronsLeft:()=>Pd,ChevronsLeftRight:()=>Nd,ChevronsLeftRightEllipsis:()=>Md,ChevronsRight:()=>Id,ChevronsRightLeft:()=>Fd,ChevronsUp:()=>Rd,ChevronsUpDown:()=>Ld,Church:()=>zd,Cigarette:()=>Vd,CigaretteOff:()=>Bd,Circle:()=>Ff,CircleAlert:()=>Hd,CircleArrowDown:()=>Ud,CircleArrowLeft:()=>Wd,CircleArrowOutDownLeft:()=>Gd,CircleArrowOutDownRight:()=>Kd,CircleArrowOutUpLeft:()=>qd,CircleArrowOutUpRight:()=>Jd,CircleArrowRight:()=>Yd,CircleArrowUp:()=>Xd,CircleCheck:()=>Qd,CircleCheckBig:()=>Zd,CircleChevronDown:()=>$d,CircleChevronLeft:()=>ef,CircleChevronRight:()=>tf,CircleChevronUp:()=>nf,CircleDashed:()=>rf,CircleDivide:()=>af,CircleDollarSign:()=>of,CircleDot:()=>cf,CircleDotDashed:()=>sf,CircleEllipsis:()=>lf,CircleEqual:()=>uf,CircleEuro:()=>df,CircleFadingArrowUp:()=>ff,CircleFadingPlus:()=>mf,CircleGauge:()=>pf,CircleHelp:()=>Ef,CircleMinus:()=>hf,CircleOff:()=>gf,CircleParking:()=>vf,CircleParkingOff:()=>_f,CirclePause:()=>yf,CirclePercent:()=>bf,CirclePile:()=>xf,CirclePlay:()=>Sf,CirclePlus:()=>Cf,CirclePoundSterling:()=>wf,CirclePower:()=>Tf,CircleQuestionMark:()=>Ef,CircleSlash:()=>Df,CircleSlash2:()=>Of,CircleSlashed:()=>Of,CircleSmall:()=>kf,CircleStar:()=>Af,CircleStop:()=>jf,CircleUser:()=>Nf,CircleUserRound:()=>Mf,CircleX:()=>Pf,CircuitBoard:()=>If,Citrus:()=>Lf,Clapperboard:()=>Rf,Clipboard:()=>Xf,ClipboardCheck:()=>Bf,ClipboardClock:()=>zf,ClipboardCopy:()=>Vf,ClipboardEdit:()=>Kf,ClipboardList:()=>Hf,ClipboardMinus:()=>Uf,ClipboardPaste:()=>Wf,ClipboardPen:()=>Kf,ClipboardPenLine:()=>Gf,ClipboardPlus:()=>qf,ClipboardSignature:()=>Gf,ClipboardType:()=>Jf,ClipboardX:()=>Yf,Clock:()=>_p,Clock1:()=>Zf,Clock10:()=>Qf,Clock11:()=>$f,Clock12:()=>ep,Clock2:()=>tp,Clock3:()=>np,Clock4:()=>rp,Clock5:()=>ip,Clock6:()=>ap,Clock7:()=>op,Clock8:()=>cp,Clock9:()=>sp,ClockAlert:()=>lp,ClockArrowDown:()=>up,ClockArrowLeft:()=>dp,ClockArrowRight:()=>fp,ClockArrowUp:()=>pp,ClockCheck:()=>mp,ClockFading:()=>hp,ClockPlus:()=>gp,ClosedCaption:()=>vp,Cloud:()=>Rp,CloudAlert:()=>yp,CloudBackup:()=>xp,CloudCheck:()=>bp,CloudCog:()=>Sp,CloudDownload:()=>Cp,CloudDrizzle:()=>Tp,CloudFog:()=>wp,CloudHail:()=>Ep,CloudLightning:()=>Dp,CloudMoon:()=>kp,CloudMoonRain:()=>Op,CloudOff:()=>Ap,CloudRain:()=>Mp,CloudRainWind:()=>jp,CloudSnow:()=>Np,CloudSun:()=>Fp,CloudSunRain:()=>Pp,CloudSync:()=>Ip,CloudUpload:()=>Lp,Cloudy:()=>zp,Clover:()=>Bp,Club:()=>Vp,Code:()=>Up,Code2:()=>Hp,CodeSquare:()=>zA,CodeXml:()=>Hp,Coffee:()=>Wp,Cog:()=>Gp,Coins:()=>Kp,Columns:()=>qp,Columns2:()=>qp,Columns3:()=>Yp,Columns3Cog:()=>Jp,Columns4:()=>Xp,ColumnsSettings:()=>Jp,Combine:()=>Qp,Command:()=>Zp,Compass:()=>$p,Component:()=>em,Computer:()=>tm,ConciergeBell:()=>nm,Cone:()=>rm,Construction:()=>am,Contact:()=>om,Contact2:()=>im,ContactRound:()=>im,Container:()=>sm,Contrast:()=>cm,Cookie:()=>lm,CookingPot:()=>um,Copy:()=>gm,CopyCheck:()=>dm,CopyMinus:()=>fm,CopyPlus:()=>pm,CopySlash:()=>mm,CopyX:()=>hm,Copyleft:()=>_m,Copyright:()=>vm,CornerDownLeft:()=>ym,CornerDownRight:()=>bm,CornerLeftDown:()=>Sm,CornerLeftUp:()=>xm,CornerRightDown:()=>Cm,CornerRightUp:()=>wm,CornerUpLeft:()=>Tm,CornerUpRight:()=>Em,Cpu:()=>Dm,CreativeCommons:()=>Om,CreditCard:()=>km,Croissant:()=>Am,Crop:()=>jm,Cross:()=>Mm,Crosshair:()=>Nm,Crown:()=>Im,Cuboid:()=>Pm,CupSoda:()=>Fm,CurlyBraces:()=>Cl,Currency:()=>Lm,Cylinder:()=>Rm,Dam:()=>zm,Database:()=>Ym,DatabaseArrowDown:()=>Bm,DatabaseArrowUp:()=>Vm,DatabaseBackup:()=>Um,DatabaseCheck:()=>Hm,DatabaseMinus:()=>Wm,DatabasePlus:()=>Gm,DatabaseSearch:()=>Km,DatabaseX:()=>qm,DatabaseZap:()=>Jm,DecimalsArrowLeft:()=>Zm,DecimalsArrowRight:()=>Xm,Delete:()=>Qm,Dessert:()=>$m,Diameter:()=>eh,Diamond:()=>ih,DiamondMinus:()=>th,DiamondPercent:()=>nh,DiamondPlus:()=>rh,Dice1:()=>ah,Dice2:()=>oh,Dice3:()=>sh,Dice4:()=>ch,Dice5:()=>lh,Dice6:()=>dh,Dices:()=>uh,Diff:()=>fh,Disc:()=>_h,Disc2:()=>ph,Disc3:()=>mh,DiscAlbum:()=>gh,Divide:()=>hh,DivideCircle:()=>af,DivideSquare:()=>qA,Dna:()=>yh,DnaOff:()=>vh,Dock:()=>bh,Dog:()=>xh,DollarSign:()=>Sh,Donut:()=>Ch,DoorClosed:()=>Th,DoorClosedLocked:()=>wh,DoorOpen:()=>Eh,Dot:()=>Dh,DotSquare:()=>JA,Download:()=>Oh,DownloadCloud:()=>Cp,DraftingCompass:()=>jh,Drama:()=>kh,Drill:()=>Ah,Drone:()=>Mh,Droplet:()=>Ph,DropletOff:()=>Nh,Droplets:()=>Fh,Drum:()=>Ih,Drumstick:()=>Lh,Dumbbell:()=>Rh,Ear:()=>Bh,EarOff:()=>zh,Earth:()=>Uh,EarthLock:()=>Vh,Eclipse:()=>Hh,Edit:()=>oj,Edit2:()=>ST,Edit3:()=>yT,Egg:()=>Kh,EggFried:()=>Wh,EggOff:()=>Gh,Ellipse:()=>qh,Ellipsis:()=>Yh,EllipsisVertical:()=>Jh,Equal:()=>Qh,EqualApproximately:()=>Xh,EqualNot:()=>Zh,EqualSquare:()=>YA,Eraser:()=>$h,EthernetPort:()=>eg,Euro:()=>tg,EvCharger:()=>ng,Expand:()=>rg,ExternalLink:()=>ig,Eye:()=>cg,EyeClosed:()=>ag,EyeDashed:()=>og,EyeOff:()=>sg,Factory:()=>lg,Fan:()=>ug,FastForward:()=>dg,Feather:()=>pg,Fence:()=>fg,FerrisWheel:()=>mg,File:()=>h_,FileArchive:()=>hg,FileAudio:()=>Fg,FileAudio2:()=>Fg,FileAxis3D:()=>gg,FileAxis3d:()=>gg,FileBadge:()=>_g,FileBadge2:()=>_g,FileBarChart:()=>xg,FileBarChart2:()=>Sg,FileBox:()=>vg,FileBraces:()=>bg,FileBracesCorner:()=>yg,FileChartColumn:()=>Sg,FileChartColumnIncreasing:()=>xg,FileChartLine:()=>wg,FileChartPie:()=>Cg,FileCheck:()=>Eg,FileCheck2:()=>Tg,FileCheckCorner:()=>Tg,FileClock:()=>Og,FileCode:()=>kg,FileCode2:()=>Dg,FileCodeCorner:()=>Dg,FileCog:()=>Ag,FileCog2:()=>Ag,FileDiff:()=>Mg,FileDigit:()=>jg,FileDown:()=>Ng,FileEdit:()=>Kg,FileExclamationPoint:()=>Pg,FileHeadphone:()=>Fg,FileHeart:()=>Ig,FileImage:()=>Lg,FileInput:()=>Rg,FileJson:()=>bg,FileJson2:()=>yg,FileKey:()=>zg,FileKey2:()=>zg,FileLineChart:()=>wg,FileLock:()=>Bg,FileLock2:()=>Bg,FileMinus:()=>Hg,FileMinus2:()=>Vg,FileMinusCorner:()=>Vg,FileMusic:()=>Ug,FileOutput:()=>Wg,FilePen:()=>Kg,FilePenLine:()=>Gg,FilePieChart:()=>Cg,FilePlay:()=>qg,FilePlus:()=>Yg,FilePlus2:()=>Jg,FilePlusCorner:()=>Jg,FileQuestion:()=>Xg,FileQuestionMark:()=>Xg,FileScan:()=>Zg,FileSearch:()=>$g,FileSearch2:()=>Qg,FileSearchCorner:()=>Qg,FileSignal:()=>t_,FileSignature:()=>Gg,FileSliders:()=>e_,FileSpreadsheet:()=>n_,FileStack:()=>i_,FileSymlink:()=>r_,FileTerminal:()=>a_,FileText:()=>o_,FileType:()=>c_,FileType2:()=>s_,FileTypeCorner:()=>s_,FileUp:()=>l_,FileUser:()=>u_,FileVideo:()=>qg,FileVideo2:()=>d_,FileVideoCamera:()=>d_,FileVolume:()=>f_,FileVolume2:()=>t_,FileWarning:()=>Pg,FileX:()=>m_,FileX2:()=>p_,FileXCorner:()=>p_,Files:()=>g_,Film:()=>__,Filter:()=>jv,FilterX:()=>Av,Fingerprint:()=>v_,FingerprintPattern:()=>v_,FireExtinguisher:()=>y_,Fish:()=>S_,FishOff:()=>b_,FishSymbol:()=>x_,FishingHook:()=>C_,FishingRod:()=>w_,Flag:()=>O_,FlagOff:()=>T_,FlagTriangleLeft:()=>E_,FlagTriangleRight:()=>D_,Flame:()=>A_,FlameKindling:()=>k_,Flashlight:()=>M_,FlashlightOff:()=>j_,FlaskConical:()=>P_,FlaskConicalOff:()=>N_,FlaskRound:()=>F_,FlipHorizontal:()=>AA,FlipHorizontal2:()=>I_,FlipVertical:()=>jA,FlipVertical2:()=>L_,Flower:()=>R_,Flower2:()=>z_,Focus:()=>B_,FoldHorizontal:()=>V_,FoldVertical:()=>H_,Folder:()=>yv,FolderArchive:()=>U_,FolderBookmark:()=>G_,FolderCheck:()=>W_,FolderClock:()=>K_,FolderClosed:()=>q_,FolderCode:()=>J_,FolderCog:()=>Y_,FolderCog2:()=>Y_,FolderDot:()=>X_,FolderDown:()=>Z_,FolderEdit:()=>uv,FolderGit:()=>$_,FolderGit2:()=>Q_,FolderHeart:()=>ev,FolderInput:()=>tv,FolderKanban:()=>nv,FolderKey:()=>rv,FolderLock:()=>iv,FolderMinus:()=>av,FolderOpen:()=>sv,FolderOpenDot:()=>ov,FolderOutput:()=>cv,FolderPen:()=>uv,FolderPlus:()=>lv,FolderRoot:()=>dv,FolderSearch:()=>pv,FolderSearch2:()=>fv,FolderSymlink:()=>mv,FolderSync:()=>hv,FolderTree:()=>gv,FolderUp:()=>_v,FolderX:()=>vv,Folders:()=>bv,Footprints:()=>Sv,ForkKnife:()=>tF,ForkKnifeCrossed:()=>$P,Forklift:()=>xv,Form:()=>Cv,FormInput:()=>eD,Forward:()=>wv,Frame:()=>Tv,Frown:()=>Ev,Fuel:()=>Dv,Fullscreen:()=>Ov,FunctionSquare:()=>XA,Funnel:()=>jv,FunnelPlus:()=>kv,FunnelX:()=>Av,GalleryHorizontal:()=>Nv,GalleryHorizontalEnd:()=>Mv,GalleryThumbnails:()=>Pv,GalleryVertical:()=>Fv,GalleryVerticalEnd:()=>Iv,Gamepad:()=>zv,Gamepad2:()=>Lv,GamepadDirectional:()=>Rv,GanttChart:()=>ld,GanttChartSquare:()=>MA,Gauge:()=>Bv,GaugeCircle:()=>pf,Gavel:()=>Vv,Gem:()=>Hv,GeorgianLari:()=>Wv,Ghost:()=>Uv,Gift:()=>Gv,GitBranch:()=>Jv,GitBranchMinus:()=>Kv,GitBranchPlus:()=>qv,GitCommit:()=>Zv,GitCommitHorizontal:()=>Zv,GitCommitVertical:()=>Yv,GitCompare:()=>Qv,GitCompareArrows:()=>Xv,GitFork:()=>$v,GitGraph:()=>ey,GitMerge:()=>ny,GitMergeConflict:()=>ty,GitPullRequest:()=>dee,GitPullRequestArrow:()=>ry,GitPullRequestClosed:()=>iy,GitPullRequestCreate:()=>cee,GitPullRequestCreateArrow:()=>see,GitPullRequestDraft:()=>lee,GlassWater:()=>uee,Glasses:()=>fee,Globe:()=>_ee,Globe2:()=>Uh,GlobeCheck:()=>pee,GlobeLock:()=>mee,GlobeOff:()=>hee,GlobeX:()=>gee,Goal:()=>vee,Gpu:()=>yee,Grab:()=>uy,GraduationCap:()=>bee,Grape:()=>xee,Grid:()=>ly,Grid2X2:()=>cy,Grid2X2Check:()=>ay,Grid2X2Plus:()=>oy,Grid2X2X:()=>sy,Grid2x2:()=>cy,Grid2x2Check:()=>ay,Grid2x2Plus:()=>oy,Grid2x2X:()=>sy,Grid3X3:()=>ly,Grid3x2:()=>See,Grid3x3:()=>ly,Grip:()=>Tee,GripHorizontal:()=>Cee,GripVertical:()=>wee,Group:()=>Eee,Guitar:()=>Dee,Ham:()=>kee,Hamburger:()=>Oee,Hammer:()=>Aee,Hand:()=>Iee,HandCoins:()=>jee,HandFist:()=>Mee,HandGrab:()=>uy,HandHeart:()=>Nee,HandHelping:()=>dy,HandMetal:()=>Pee,HandPlatter:()=>Fee,Handbag:()=>Lee,Handshake:()=>Ree,HardDrive:()=>Bee,HardDriveDownload:()=>zee,HardDriveUpload:()=>Vee,HardHat:()=>Hee,Hash:()=>Uee,HatGlasses:()=>Wee,Haze:()=>Gee,Hd:()=>Kee,HdmiPort:()=>qee,Heading:()=>ete,Heading1:()=>Jee,Heading2:()=>Yee,Heading3:()=>Zee,Heading4:()=>Xee,Heading5:()=>Qee,Heading6:()=>$ee,HeadphoneOff:()=>tte,Headphones:()=>nte,Headset:()=>rte,Heart:()=>my,HeartCrack:()=>ite,HeartHandshake:()=>ate,HeartMinus:()=>ote,HeartOff:()=>ste,HeartPlus:()=>cte,HeartPulse:()=>fy,HeartX:()=>py,Heater:()=>hy,Helicopter:()=>gy,HelpCircle:()=>Ef,HelpingHand:()=>dy,Hexagon:()=>_y,Highlighter:()=>vy,History:()=>yy,Home:()=>ky,Hop:()=>by,HopOff:()=>xy,Hospital:()=>Sy,Hotel:()=>Cy,Hourglass:()=>Ty,House:()=>ky,HouseHeart:()=>wy,HousePlug:()=>Dy,HousePlus:()=>Ey,HouseWifi:()=>Oy,IceCream:()=>jy,IceCream2:()=>Ay,IceCreamBowl:()=>Ay,IceCreamCone:()=>jy,IdCard:()=>Ny,IdCardLanyard:()=>My,Image:()=>By,ImageDown:()=>Py,ImageMinus:()=>Fy,ImageOff:()=>Iy,ImagePlay:()=>Ly,ImagePlus:()=>Ry,ImageUp:()=>zy,ImageUpscale:()=>Hy,Images:()=>Vy,Import:()=>Wy,Inbox:()=>Uy,Indent:()=>ax,IndentDecrease:()=>rx,IndentIncrease:()=>ax,IndianRupee:()=>Gy,Infinity:()=>Ky,Info:()=>qy,Inspect:()=>nj,InspectionPanel:()=>Jy,Italic:()=>Yy,IterationCcw:()=>Xy,IterationCw:()=>Zy,JapaneseYen:()=>Qy,Joystick:()=>$y,Kanban:()=>tb,KanbanSquare:()=>ZA,KanbanSquareDashed:()=>HA,Kayak:()=>eb,Key:()=>ib,KeyRound:()=>nb,KeySquare:()=>rb,Keyboard:()=>ob,KeyboardMusic:()=>ab,KeyboardOff:()=>sb,Lamp:()=>pb,LampCeiling:()=>cb,LampDesk:()=>lb,LampFloor:()=>ub,LampWallDown:()=>db,LampWallUp:()=>fb,LandPlot:()=>mb,Landmark:()=>hb,Languages:()=>gb,Laptop:()=>yb,Laptop2:()=>vb,LaptopMinimal:()=>vb,LaptopMinimalCheck:()=>_b,Lasso:()=>xb,LassoSelect:()=>bb,Laugh:()=>Sb,Layers:()=>Tb,Layers2:()=>Cb,Layers3:()=>Tb,LayersMinus:()=>wb,LayersPlus:()=>Eb,Layout:()=>lT,LayoutDashboard:()=>Db,LayoutGrid:()=>Ob,LayoutList:()=>kb,LayoutPanelLeft:()=>Ab,LayoutPanelTop:()=>jb,LayoutTemplate:()=>Mb,Leaf:()=>Nb,LeafyGreen:()=>Pb,Lectern:()=>Fb,LensConcave:()=>Ib,LensConvex:()=>Lb,LetterText:()=>rN,Library:()=>zb,LibraryBig:()=>Rb,LibrarySquare:()=>QA,LifeBuoy:()=>Bb,Ligature:()=>Vb,Lightbulb:()=>Ub,LightbulbOff:()=>Hb,LineChart:()=>rd,LineDotRightHorizontal:()=>Gb,LineSquiggle:()=>Wb,LineStyle:()=>qb,Link:()=>Yb,Link2:()=>Jb,Link2Off:()=>Kb,List:()=>vx,ListCheck:()=>Xb,ListChecks:()=>Zb,ListChevronsDownUp:()=>Qb,ListChevronsUpDown:()=>$b,ListCollapse:()=>ex,ListEnd:()=>tx,ListFilter:()=>ix,ListFilterPlus:()=>nx,ListIndentDecrease:()=>rx,ListIndentIncrease:()=>ax,ListMinus:()=>ox,ListMusic:()=>sx,ListOrdered:()=>ux,ListPlus:()=>cx,ListRestart:()=>lx,ListSortAscending:()=>dx,ListSortDescending:()=>fx,ListStart:()=>px,ListTodo:()=>gx,ListTree:()=>mx,ListVideo:()=>hx,ListX:()=>_x,Loader:()=>xx,Loader2:()=>yx,LoaderCircle:()=>yx,LoaderPinwheel:()=>bx,Locate:()=>wx,LocateFixed:()=>Sx,LocateOff:()=>Cx,LocationEdit:()=>$x,Lock:()=>Ox,LockKeyhole:()=>Ex,LockKeyholeOpen:()=>Tx,LockOpen:()=>Dx,LogIn:()=>kx,LogOut:()=>Ax,Logs:()=>jx,Lollipop:()=>Mx,Luggage:()=>Nx,MSquare:()=>$A,Magnet:()=>Px,Mail:()=>Hx,MailCheck:()=>Fx,MailMinus:()=>Ix,MailOpen:()=>Lx,MailPlus:()=>Rx,MailQuestion:()=>zx,MailQuestionMark:()=>zx,MailSearch:()=>Bx,MailWarning:()=>Vx,MailX:()=>Ux,Mailbox:()=>Wx,Mails:()=>Gx,Map:()=>uS,MapMinus:()=>Kx,MapPin:()=>aS,MapPinCheck:()=>Jx,MapPinCheckInside:()=>qx,MapPinHouse:()=>Yx,MapPinMinus:()=>Zx,MapPinMinusInside:()=>Xx,MapPinOff:()=>Qx,MapPinPen:()=>$x,MapPinPlus:()=>tS,MapPinPlusInside:()=>eS,MapPinSearch:()=>nS,MapPinX:()=>iS,MapPinXInside:()=>rS,MapPinned:()=>oS,MapPlus:()=>sS,Mars:()=>lS,MarsStroke:()=>cS,Martini:()=>dS,Maximize:()=>mS,Maximize2:()=>fS,Medal:()=>pS,Megaphone:()=>gS,MegaphoneOff:()=>hS,Meh:()=>_S,MemoryStick:()=>vS,Menu:()=>yS,MenuSquare:()=>ej,Merge:()=>bS,MessageCircle:()=>MS,MessageCircleCheck:()=>xS,MessageCircleCode:()=>SS,MessageCircleDashed:()=>CS,MessageCircleHeart:()=>wS,MessageCircleMore:()=>TS,MessageCircleOff:()=>ES,MessageCirclePlus:()=>DS,MessageCircleQuestion:()=>OS,MessageCircleQuestionMark:()=>OS,MessageCircleReply:()=>kS,MessageCircleWarning:()=>AS,MessageCircleX:()=>jS,MessageSquare:()=>YS,MessageSquareCheck:()=>NS,MessageSquareCode:()=>PS,MessageSquareDashed:()=>IS,MessageSquareDiff:()=>FS,MessageSquareDot:()=>LS,MessageSquareHeart:()=>RS,MessageSquareLock:()=>zS,MessageSquareMore:()=>BS,MessageSquareOff:()=>VS,MessageSquarePlus:()=>HS,MessageSquareQuote:()=>WS,MessageSquareReply:()=>US,MessageSquareShare:()=>KS,MessageSquareText:()=>GS,MessageSquareWarning:()=>qS,MessageSquareX:()=>JS,MessagesSquare:()=>XS,Metronome:()=>ZS,Mic:()=>$S,Mic2:()=>eC,MicOff:()=>QS,MicVocal:()=>eC,Microchip:()=>tC,Microscope:()=>nC,Microwave:()=>rC,Milestone:()=>iC,Milk:()=>oC,MilkOff:()=>aC,Minimize:()=>cC,Minimize2:()=>sC,Minus:()=>lC,MinusCircle:()=>hf,MinusSquare:()=>tj,MirrorRectangular:()=>uC,MirrorRound:()=>dC,Monitor:()=>EC,MonitorCheck:()=>fC,MonitorCloud:()=>hC,MonitorCog:()=>pC,MonitorDot:()=>mC,MonitorDown:()=>gC,MonitorOff:()=>_C,MonitorPause:()=>vC,MonitorPlay:()=>yC,MonitorSmartphone:()=>bC,MonitorSpeaker:()=>xC,MonitorStop:()=>SC,MonitorUp:()=>CC,MonitorX:()=>wC,Moon:()=>DC,MoonStar:()=>TC,MoreHorizontal:()=>Yh,MoreVertical:()=>Jh,Motorbike:()=>OC,Mountain:()=>AC,MountainSnow:()=>kC,Mouse:()=>zC,MouseLeft:()=>jC,MouseOff:()=>MC,MousePointer:()=>IC,MousePointer2:()=>FC,MousePointer2Off:()=>NC,MousePointerBan:()=>PC,MousePointerClick:()=>LC,MousePointerSquareDashed:()=>WA,MouseRight:()=>RC,Move:()=>$C,Move3D:()=>BC,Move3d:()=>BC,MoveDiagonal:()=>HC,MoveDiagonal2:()=>VC,MoveDown:()=>GC,MoveDownLeft:()=>UC,MoveDownRight:()=>WC,MoveHorizontal:()=>KC,MoveLeft:()=>qC,MoveRight:()=>JC,MoveUp:()=>ZC,MoveUpLeft:()=>YC,MoveUpRight:()=>XC,MoveVertical:()=>QC,Music:()=>rw,Music2:()=>ew,Music3:()=>tw,Music4:()=>nw,Navigation:()=>sw,Navigation2:()=>aw,Navigation2Off:()=>iw,NavigationOff:()=>ow,Network:()=>cw,Newspaper:()=>lw,Nfc:()=>uw,NonBinary:()=>dw,Notebook:()=>hw,NotebookPen:()=>fw,NotebookTabs:()=>pw,NotebookText:()=>mw,NotepadText:()=>_w,NotepadTextDashed:()=>gw,Nut:()=>yw,NutOff:()=>vw,Octagon:()=>ww,OctagonAlert:()=>bw,OctagonMinus:()=>xw,OctagonPause:()=>Sw,OctagonX:()=>Cw,Omega:()=>Tw,Option:()=>Ew,Orbit:()=>Dw,Origami:()=>Ow,Outdent:()=>rx,Package:()=>Iw,Package2:()=>kw,PackageCheck:()=>Aw,PackageMinus:()=>jw,PackageOpen:()=>Nw,PackagePlus:()=>Mw,PackageSearch:()=>Pw,PackageX:()=>Fw,PaintBucket:()=>Lw,PaintRoller:()=>Rw,Paintbrush:()=>Bw,Paintbrush2:()=>zw,PaintbrushVertical:()=>zw,Palette:()=>Vw,Palmtree:()=>JN,Panda:()=>Hw,PanelBottom:()=>Kw,PanelBottomClose:()=>Uw,PanelBottomDashed:()=>Ww,PanelBottomInactive:()=>Ww,PanelBottomOpen:()=>Gw,PanelLeft:()=>Zw,PanelLeftClose:()=>qw,PanelLeftDashed:()=>Jw,PanelLeftInactive:()=>Jw,PanelLeftOpen:()=>Yw,PanelLeftRightDashed:()=>Xw,PanelRight:()=>tT,PanelRightClose:()=>Qw,PanelRightDashed:()=>$w,PanelRightInactive:()=>$w,PanelRightOpen:()=>eT,PanelTop:()=>oT,PanelTopBottomDashed:()=>nT,PanelTopClose:()=>rT,PanelTopDashed:()=>aT,PanelTopInactive:()=>aT,PanelTopOpen:()=>iT,PanelsLeftBottom:()=>sT,PanelsLeftRight:()=>Yp,PanelsRightBottom:()=>cT,PanelsTopBottom:()=>zD,PanelsTopLeft:()=>lT,PaperBag:()=>uT,Paperclip:()=>dT,Parasol:()=>fT,Parentheses:()=>pT,ParkingCircle:()=>vf,ParkingCircleOff:()=>_f,ParkingMeter:()=>mT,ParkingSquare:()=>ij,ParkingSquareOff:()=>rj,PartyPopper:()=>gT,Pause:()=>hT,PauseCircle:()=>yf,PauseOctagon:()=>Sw,PawPrint:()=>vT,PcCase:()=>_T,Pen:()=>ST,PenBox:()=>oj,PenLine:()=>yT,PenOff:()=>bT,PenSquare:()=>oj,PenTool:()=>xT,Pencil:()=>DT,PencilLine:()=>CT,PencilOff:()=>wT,PencilRuler:()=>TT,PencilSparkles:()=>ET,Pentagon:()=>OT,Percent:()=>kT,PercentCircle:()=>bf,PercentDiamond:()=>nh,PercentSquare:()=>cj,PersonStanding:()=>AT,Phi:()=>jT,PhilippinePeso:()=>MT,Phone:()=>zT,PhoneCall:()=>NT,PhoneForwarded:()=>PT,PhoneIncoming:()=>FT,PhoneMissed:()=>IT,PhoneOff:()=>LT,PhoneOutgoing:()=>RT,Pi:()=>BT,PiSquare:()=>sj,Piano:()=>VT,Pickaxe:()=>HT,PictureInPicture:()=>WT,PictureInPicture2:()=>UT,PieChart:()=>ud,PiggyBank:()=>GT,Pilcrow:()=>JT,PilcrowLeft:()=>KT,PilcrowRight:()=>qT,PilcrowSquare:()=>lj,Pill:()=>XT,PillBottle:()=>YT,Pin:()=>QT,PinOff:()=>ZT,Pipette:()=>$T,Pizza:()=>eE,Plane:()=>rE,PlaneLanding:()=>tE,PlaneTakeoff:()=>nE,Play:()=>aE,PlayCircle:()=>Sf,PlayOff:()=>iE,PlaySquare:()=>uj,Plug:()=>cE,Plug2:()=>oE,PlugZap:()=>sE,PlugZap2:()=>sE,Plus:()=>uE,PlusCircle:()=>Cf,PlusSquare:()=>dj,PocketKnife:()=>lE,Podcast:()=>dE,Podium:()=>fE,Pointer:()=>mE,PointerOff:()=>pE,Popcorn:()=>hE,Popsicle:()=>gE,PoundSterling:()=>_E,Power:()=>yE,PowerCircle:()=>Tf,PowerOff:()=>vE,PowerSquare:()=>fj,Presentation:()=>bE,Printer:()=>CE,PrinterCheck:()=>xE,PrinterX:()=>SE,Projector:()=>wE,Proportions:()=>TE,Puzzle:()=>EE,Pyramid:()=>DE,QrCode:()=>OE,Quote:()=>kE,Rabbit:()=>ME,Radar:()=>AE,Radiation:()=>jE,Radical:()=>NE,Radio:()=>LE,RadioOff:()=>PE,RadioReceiver:()=>FE,RadioTower:()=>IE,Radius:()=>RE,Rainbow:()=>zE,Rat:()=>BE,Ratio:()=>VE,Receipt:()=>QE,ReceiptCent:()=>HE,ReceiptEuro:()=>UE,ReceiptIndianRupee:()=>WE,ReceiptJapaneseYen:()=>GE,ReceiptPoundSterling:()=>KE,ReceiptRussianRuble:()=>qE,ReceiptSwissFranc:()=>JE,ReceiptText:()=>YE,ReceiptTurkishLira:()=>XE,RectangleCircle:()=>ZE,RectangleEllipsis:()=>eD,RectangleGoggles:()=>$E,RectangleHorizontal:()=>nD,RectangleVertical:()=>tD,Recycle:()=>rD,Redo:()=>oD,Redo2:()=>iD,RedoDot:()=>aD,RefreshCcw:()=>cD,RefreshCcwDot:()=>sD,RefreshCw:()=>uD,RefreshCwOff:()=>lD,Refrigerator:()=>dD,Regex:()=>fD,RemoveFormatting:()=>pD,Repeat:()=>_D,Repeat1:()=>hD,Repeat2:()=>mD,RepeatOff:()=>gD,Replace:()=>yD,ReplaceAll:()=>vD,Reply:()=>xD,ReplyAll:()=>bD,Rewind:()=>SD,Ribbon:()=>CD,Road:()=>wD,Rocket:()=>TD,RockingChair:()=>ED,RollerCoaster:()=>DD,Rose:()=>OD,Rotate3D:()=>kD,Rotate3d:()=>kD,RotateCcw:()=>MD,RotateCcwKey:()=>AD,RotateCcwSquare:()=>jD,RotateCw:()=>PD,RotateCwSquare:()=>ND,Route:()=>FD,RouteOff:()=>ID,Router:()=>LD,Rows:()=>RD,Rows2:()=>RD,Rows3:()=>zD,Rows4:()=>BD,Rss:()=>VD,Ruler:()=>UD,RulerDimensionLine:()=>HD,RussianRuble:()=>WD,Sailboat:()=>GD,Salad:()=>KD,Sandwich:()=>qD,Satellite:()=>YD,SatelliteDish:()=>JD,SaudiRiyal:()=>XD,Save:()=>nO,SaveAll:()=>ZD,SaveCheck:()=>QD,SaveOff:()=>$D,SavePen:()=>eO,SavePlus:()=>tO,Scale:()=>iO,Scale3D:()=>rO,Scale3d:()=>rO,Scaling:()=>oO,Scan:()=>hO,ScanBarcode:()=>aO,ScanBox:()=>sO,ScanEye:()=>cO,ScanFace:()=>uO,ScanHeart:()=>lO,ScanLine:()=>dO,ScanQrCode:()=>fO,ScanSearch:()=>pO,ScanText:()=>mO,ScatterChart:()=>dd,School:()=>gO,School2:()=>wP,Scissors:()=>vO,ScissorsLineDashed:()=>_O,ScissorsSquare:()=>hj,ScissorsSquareDashedBottom:()=>kA,Scooter:()=>yO,ScreenShare:()=>SO,ScreenShareOff:()=>bO,Scroll:()=>CO,ScrollText:()=>xO,Search:()=>kO,SearchAlert:()=>wO,SearchCheck:()=>TO,SearchCode:()=>EO,SearchSlash:()=>DO,SearchX:()=>OO,Section:()=>AO,Send:()=>NO,SendHorizonal:()=>jO,SendHorizontal:()=>jO,SendToBack:()=>MO,SeparatorHorizontal:()=>PO,SeparatorVertical:()=>FO,Server:()=>BO,ServerCog:()=>IO,ServerCrash:()=>LO,ServerOff:()=>RO,ServerPlus:()=>zO,Settings:()=>HO,Settings2:()=>VO,Shapes:()=>UO,Share:()=>GO,Share2:()=>WO,Sheet:()=>qO,Shell:()=>KO,ShelvingUnit:()=>JO,Shield:()=>lk,ShieldAlert:()=>YO,ShieldBan:()=>XO,ShieldCheck:()=>ZO,ShieldClose:()=>ck,ShieldCog:()=>$O,ShieldCogCorner:()=>QO,ShieldEllipsis:()=>ek,ShieldHalf:()=>tk,ShieldKeyhole:()=>nk,ShieldMinus:()=>rk,ShieldOff:()=>ik,ShieldPlus:()=>ak,ShieldQuestion:()=>ok,ShieldQuestionMark:()=>ok,ShieldUser:()=>sk,ShieldX:()=>ck,Ship:()=>fk,ShipWheel:()=>uk,Shirt:()=>dk,ShoppingBag:()=>pk,ShoppingBasket:()=>mk,ShoppingCart:()=>hk,Shovel:()=>gk,ShowerHead:()=>_k,Shredder:()=>vk,Shrimp:()=>bk,Shrink:()=>yk,Shrub:()=>xk,Shuffle:()=>Sk,Sidebar:()=>Zw,SidebarClose:()=>qw,SidebarOpen:()=>Yw,Sigma:()=>Ck,SigmaSquare:()=>gj,Signal:()=>Ok,SignalHigh:()=>wk,SignalLow:()=>Tk,SignalMedium:()=>Ek,SignalZero:()=>Dk,Signature:()=>kk,Signpost:()=>jk,SignpostBig:()=>Ak,Siren:()=>Nk,SkipBack:()=>Mk,SkipForward:()=>Pk,Skull:()=>Fk,Slash:()=>Ik,SlashSquare:()=>_j,Slice:()=>Lk,Sliders:()=>Bk,SlidersHorizontal:()=>Rk,SlidersVertical:()=>Bk,Smartphone:()=>Hk,SmartphoneCharging:()=>zk,SmartphoneNfc:()=>Vk,Smile:()=>Wk,SmilePlus:()=>Uk,Snail:()=>Gk,Snowflake:()=>Kk,SoapDispenserDroplet:()=>qk,Sofa:()=>Jk,SolarPanel:()=>Yk,SortAsc:()=>Go,SortDesc:()=>Do,Soup:()=>Xk,Space:()=>Zk,Spade:()=>$k,Sparkle:()=>Qk,Sparkles:()=>eA,Speaker:()=>tA,Speech:()=>nA,SpellCheck:()=>iA,SpellCheck2:()=>rA,Spline:()=>oA,SplinePointer:()=>aA,Split:()=>sA,SplitSquareHorizontal:()=>vj,SplitSquareVertical:()=>yj,Spool:()=>lA,SportShoe:()=>cA,Spotlight:()=>uA,SprayCan:()=>dA,Sprout:()=>fA,Square:()=>Oj,SquareActivity:()=>pA,SquareArrowDown:()=>gA,SquareArrowDownLeft:()=>mA,SquareArrowDownRight:()=>hA,SquareArrowLeft:()=>_A,SquareArrowOutDownLeft:()=>vA,SquareArrowOutDownRight:()=>yA,SquareArrowOutUpLeft:()=>bA,SquareArrowOutUpRight:()=>xA,SquareArrowRight:()=>wA,SquareArrowRightEnter:()=>SA,SquareArrowRightExit:()=>CA,SquareArrowUp:()=>DA,SquareArrowUpLeft:()=>TA,SquareArrowUpRight:()=>EA,SquareAsterisk:()=>OA,SquareBottomDashedScissors:()=>kA,SquareCenterlineDashedHorizontal:()=>AA,SquareCenterlineDashedVertical:()=>jA,SquareChartGantt:()=>MA,SquareCheck:()=>PA,SquareCheckBig:()=>NA,SquareChevronDown:()=>FA,SquareChevronLeft:()=>IA,SquareChevronRight:()=>LA,SquareChevronUp:()=>RA,SquareCode:()=>zA,SquareDashed:()=>KA,SquareDashedBottom:()=>VA,SquareDashedBottomCode:()=>BA,SquareDashedKanban:()=>HA,SquareDashedMousePointer:()=>WA,SquareDashedText:()=>UA,SquareDashedTopSolid:()=>GA,SquareDivide:()=>qA,SquareDot:()=>JA,SquareEqual:()=>YA,SquareFunction:()=>XA,SquareGanttChart:()=>MA,SquareKanban:()=>ZA,SquareLibrary:()=>QA,SquareM:()=>$A,SquareMenu:()=>ej,SquareMinus:()=>tj,SquareMousePointer:()=>nj,SquareParking:()=>ij,SquareParkingOff:()=>rj,SquarePause:()=>aj,SquarePen:()=>oj,SquarePercent:()=>cj,SquarePi:()=>sj,SquarePilcrow:()=>lj,SquarePlay:()=>uj,SquarePlus:()=>dj,SquarePower:()=>fj,SquareRadical:()=>pj,SquareRoundCorner:()=>mj,SquareScissors:()=>hj,SquareSigma:()=>gj,SquareSlash:()=>_j,SquareSplitHorizontal:()=>vj,SquareSplitVertical:()=>yj,SquareSquare:()=>bj,SquareStack:()=>xj,SquareStar:()=>Sj,SquareStop:()=>Cj,SquareTerminal:()=>wj,SquareUser:()=>Ej,SquareUserRound:()=>Tj,SquareX:()=>Dj,SquaresExclude:()=>kj,SquaresIntersect:()=>Aj,SquaresSubtract:()=>jj,SquaresUnite:()=>Mj,Squircle:()=>Pj,SquircleDashed:()=>Nj,Squirrel:()=>Fj,Stamp:()=>Ij,Star:()=>Uj,StarCheck:()=>Lj,StarHalf:()=>Rj,StarMinus:()=>zj,StarOff:()=>Bj,StarPlus:()=>Vj,StarX:()=>Hj,Stars:()=>eA,StepBack:()=>Wj,StepForward:()=>Gj,Stethoscope:()=>qj,Sticker:()=>Kj,StickyNote:()=>$j,StickyNoteCheck:()=>Jj,StickyNoteMinus:()=>Yj,StickyNoteOff:()=>Xj,StickyNotePlus:()=>Qj,StickyNoteX:()=>Zj,StickyNotes:()=>eM,Stone:()=>tM,StopCircle:()=>jf,Store:()=>nM,StretchHorizontal:()=>rM,StretchVertical:()=>iM,Strikethrough:()=>aM,Subscript:()=>oM,Subtitles:()=>Ou,Summary:()=>sM,Sun:()=>fM,SunDim:()=>cM,SunMedium:()=>lM,SunMoon:()=>uM,SunSnow:()=>dM,Sunrise:()=>pM,Sunset:()=>mM,Superscript:()=>gM,SwatchBook:()=>hM,SwissFranc:()=>_M,SwitchCamera:()=>vM,Sword:()=>yM,Swords:()=>xM,Syringe:()=>bM,Table:()=>kM,Table2:()=>SM,TableCellsMerge:()=>CM,TableCellsSplit:()=>wM,TableColumnsSplit:()=>TM,TableConfig:()=>Jp,TableOfContents:()=>EM,TableProperties:()=>DM,TableRowsSplit:()=>OM,Tablet:()=>jM,TabletSmartphone:()=>AM,Tablets:()=>MM,Tag:()=>FM,TagPlus:()=>NM,TagX:()=>PM,Tags:()=>IM,Tally1:()=>RM,Tally2:()=>LM,Tally3:()=>zM,Tally4:()=>BM,Tally5:()=>HM,Tangent:()=>VM,Target:()=>GM,Telescope:()=>UM,Tent:()=>KM,TentTree:()=>WM,Terminal:()=>qM,TerminalSquare:()=>wj,TestTube:()=>YM,TestTube2:()=>JM,TestTubeDiagonal:()=>JM,TestTubes:()=>XM,Text:()=>eN,TextAlignCenter:()=>ZM,TextAlignEnd:()=>QM,TextAlignJustify:()=>$M,TextAlignStart:()=>eN,TextCursor:()=>nN,TextCursorInput:()=>tN,TextInitial:()=>rN,TextQuote:()=>aN,TextSearch:()=>iN,TextSelect:()=>UA,TextSelection:()=>UA,TextWrap:()=>oN,Theater:()=>sN,Thermometer:()=>uN,ThermometerSnowflake:()=>cN,ThermometerSun:()=>lN,ThumbsDown:()=>dN,ThumbsUp:()=>fN,Ticket:()=>yN,TicketCheck:()=>pN,TicketMinus:()=>mN,TicketPercent:()=>hN,TicketPlus:()=>gN,TicketSlash:()=>_N,TicketX:()=>vN,Tickets:()=>xN,TicketsPlane:()=>bN,Timeline:()=>SN,Timer:()=>TN,TimerOff:()=>CN,TimerReset:()=>wN,ToggleLeft:()=>EN,ToggleRight:()=>DN,Toilet:()=>ON,ToolCase:()=>kN,Toolbox:()=>AN,Tornado:()=>MN,Torus:()=>jN,Touchpad:()=>PN,TouchpadOff:()=>NN,TowelRack:()=>FN,TowerControl:()=>IN,ToyBrick:()=>LN,Tractor:()=>RN,TrafficCone:()=>zN,Train:()=>UN,TrainFront:()=>VN,TrainFrontTunnel:()=>BN,TrainTrack:()=>HN,TramFront:()=>UN,Transgender:()=>WN,Trash:()=>KN,Trash2:()=>GN,TreeDeciduous:()=>qN,TreePalm:()=>JN,TreePine:()=>YN,Trees:()=>XN,TrendingDown:()=>ZN,TrendingUp:()=>$N,TrendingUpDown:()=>QN,Triangle:()=>rP,TriangleAlert:()=>eP,TriangleDashed:()=>tP,TriangleRight:()=>nP,Trophy:()=>iP,Truck:()=>oP,TruckElectric:()=>aP,TurkishLira:()=>sP,Turntable:()=>lP,Turtle:()=>cP,Tv:()=>fP,Tv2:()=>dP,TvMinimal:()=>dP,TvMinimalPlay:()=>uP,Type:()=>pP,TypeOutline:()=>mP,Umbrella:()=>gP,UmbrellaOff:()=>hP,Underline:()=>_P,Undo:()=>bP,Undo2:()=>vP,UndoDot:()=>yP,UnfoldHorizontal:()=>xP,UnfoldVertical:()=>SP,Ungroup:()=>CP,University:()=>wP,Unlink:()=>TP,Unlink2:()=>EP,Unlock:()=>Dx,UnlockKeyhole:()=>Tx,Unplug:()=>DP,Upload:()=>OP,UploadCloud:()=>Lp,Usb:()=>kP,User:()=>ZP,User2:()=>KP,UserCheck:()=>AP,UserCheck2:()=>RP,UserCircle:()=>Nf,UserCircle2:()=>Mf,UserCog:()=>jP,UserCog2:()=>zP,UserKey:()=>NP,UserLock:()=>MP,UserMinus:()=>PP,UserMinus2:()=>VP,UserPen:()=>FP,UserPlus:()=>IP,UserPlus2:()=>WP,UserRound:()=>KP,UserRoundArrowLeft:()=>LP,UserRoundCheck:()=>RP,UserRoundCog:()=>zP,UserRoundKey:()=>BP,UserRoundMinus:()=>VP,UserRoundPen:()=>HP,UserRoundPlus:()=>WP,UserRoundSearch:()=>UP,UserRoundX:()=>GP,UserSearch:()=>qP,UserSquare:()=>Ej,UserSquare2:()=>Tj,UserStar:()=>JP,UserX:()=>YP,UserX2:()=>GP,Users:()=>QP,Users2:()=>XP,UsersRound:()=>XP,Utensils:()=>tF,UtensilsCrossed:()=>$P,UtilityPole:()=>eF,Van:()=>nF,Variable:()=>rF,Vault:()=>iF,VectorSquare:()=>aF,Vegan:()=>oF,VenetianMask:()=>sF,Venus:()=>lF,VenusAndMars:()=>cF,Verified:()=>ds,Vibrate:()=>dF,VibrateOff:()=>uF,Video:()=>pF,VideoOff:()=>fF,Videotape:()=>mF,View:()=>hF,Voicemail:()=>gF,Volleyball:()=>_F,Volume:()=>SF,Volume1:()=>vF,Volume2:()=>bF,VolumeOff:()=>yF,VolumeX:()=>xF,Vote:()=>CF,Wallet:()=>EF,Wallet2:()=>TF,WalletCards:()=>wF,WalletMinimal:()=>TF,Wallpaper:()=>DF,Wand:()=>AF,Wand2:()=>kF,WandSparkles:()=>kF,Warehouse:()=>OF,WashingMachine:()=>jF,Watch:()=>MF,Waves:()=>FF,WavesArrowDown:()=>NF,WavesArrowUp:()=>PF,WavesHorizontal:()=>FF,WavesLadder:()=>IF,WavesVertical:()=>LF,Waypoints:()=>RF,Webcam:()=>BF,WebcamOff:()=>zF,Webhook:()=>HF,WebhookOff:()=>VF,Weight:()=>WF,WeightTilde:()=>UF,Wheat:()=>GF,WheatOff:()=>KF,WholeWord:()=>qF,Wifi:()=>tI,WifiCog:()=>JF,WifiHigh:()=>YF,WifiLow:()=>XF,WifiOff:()=>ZF,WifiPen:()=>QF,WifiSync:()=>$F,WifiZero:()=>eI,Wind:()=>rI,WindArrowDown:()=>nI,Wine:()=>aI,WineOff:()=>iI,Workflow:()=>oI,Worm:()=>sI,WrapText:()=>oN,Wrench:()=>cI,WrenchOff:()=>lI,X:()=>dI,XCircle:()=>Pf,XLineTop:()=>uI,XOctagon:()=>Cw,XSquare:()=>Dj,Zap:()=>pI,ZapOff:()=>fI,ZodiacAquarius:()=>mI,ZodiacAries:()=>hI,ZodiacCancer:()=>gI,ZodiacCapricorn:()=>vI,ZodiacGemini:()=>_I,ZodiacLeo:()=>bI,ZodiacLibra:()=>yI,ZodiacOphiuchus:()=>xI,ZodiacPisces:()=>SI,ZodiacSagittarius:()=>CI,ZodiacScorpio:()=>TI,ZodiacTaurus:()=>wI,ZodiacVirgo:()=>EI,ZoomIn:()=>DI,ZoomOut:()=>OI}),AI=new Set([`$$slots`,`$$events`,`$$legacy`,`name`,`class`]),jI=Zr(``);function G(e,t){D(t,!0);let n=ma(t,`name`,3,``),r=ma(t,`class`,3,``),i=pa(t,AI);function a(e){return String(e||``).split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function o(e){return Object.entries(e).map(([e,t])=>`${e}="${String(t)}"`).join(` `)}function s([e,t,n]){let r=Array.isArray(n)?n.map(s).join(``):``;return`<${e} ${o(t||{})}>${r}`}let c=k(()=>{let e=kI[a(n())];return e?e.map(s).join(``):``});var l=jI();na(l,()=>({xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:r(),"aria-hidden":`true`,focusable:`false`,...i})),hi(l,()=>F(c),!0),E(l),R(e,l),O()}function MI(){try{return typeof localStorage>`u`?null:localStorage}catch{return null}}function NI(e,t=null){let n=MI();if(!n)return t;try{return n.getItem(e)??t}catch{return t}}function PI(e,t){let n=MI();if(n)try{n.setItem(e,String(t))}catch{}}var FI=new class{#e=A(`system`);get theme(){return F(this.#e)}set theme(e){j(this.#e,e,!0)}#t=A(0);get tick(){return F(this.#t)}set tick(e){j(this.#t,e,!0)}init(){this.theme=NI(`gomodel_theme`,`system`),this.apply(),window.matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,()=>{this.theme===`system`&&this.tick++})}set(e){this.theme=e,PI(`gomodel_theme`,e),this.apply(),this.tick++}toggle(){let e=[`light`,`system`,`dark`];this.set(e[(e.indexOf(this.theme)+1)%e.length])}apply(){let e=document.documentElement;this.theme===`system`?e.removeAttribute(`data-theme`):e.setAttribute(`data-theme`,this.theme)}},II=new class{#e=A(!1);get collapsed(){return F(this.#e)}set collapsed(e){j(this.#e,e,!0)}init(){this.collapsed=NI(`gomodel_sidebar_collapsed`)===`true`}toggle(){this.collapsed=!this.collapsed,PI(`gomodel_sidebar_collapsed`,this.collapsed)}},LI=new class{#e=A(fn([]));get stack(){return F(this.#e)}set stack(e){j(this.#e,e,!0)}#t=1;opened(){let e=this.#t++;return this.stack=[...this.stack,e],e}closed(e){this.stack=this.stack.filter(t=>t!==e)}isTop(e){return this.stack.length>0&&this.stack[this.stack.length-1]===e}get openCount(){return this.stack.length}get anyOpen(){return this.stack.length>0}},RI=L(``),zI=L(`
`,1);function BI(e,t){D(t,!0);let n=ma(t,`compact`,3,!1),r=[{value:`light`,icon:`sun`,label:`Light theme`},{value:`system`,icon:`monitor`,label:`System theme`},{value:`dark`,icon:`moon`,label:`Dark theme`}],i=k(()=>r.find(e=>e.value===FI.theme)||r[1]),a=k(()=>`Change theme (currently `+F(i).label+`)`);var o=zI(),s=Cn(o);let c;V(s,21,()=>r,e=>e.value,(e,t)=>{var n=RI();let r;G(M(n),{get name(){return F(t).icon},class:`theme-icon`}),E(n),P(()=>{r=H(n,1,`theme-btn svelte-1keql7b`,null,r,{active:FI.theme===F(t).value}),W(n,`aria-pressed`,FI.theme===F(t).value),W(n,`title`,F(t).label),W(n,`aria-label`,F(t).label)}),I(`click`,n,()=>FI.set(F(t).value)),R(e,n)}),E(s);var l=N(s,2);let u;G(M(l),{get name(){return F(i).icon},class:`theme-icon`}),E(l),P(()=>{c=H(s,1,`theme-toggle svelte-1keql7b`,null,c,{"is-compact":n()}),u=H(l,1,`theme-toggle-mobile svelte-1keql7b`,null,u,{"is-compact":n()}),W(l,`title`,F(a)),W(l,`aria-label`,F(a))}),I(`click`,l,()=>FI.toggle()),R(e,o),O()}Ur([`click`]);function VI(){return typeof window>`u`?`/`:window.GOMODEL_BASE_PATH||`/`}function HI(e){let t=VI();return!e||e.charAt(0)!==`/`||e.indexOf(`//`)===0||t===`/`||e===t||e.indexOf(t+`/`)===0?e:t+e}function UI(e){let t=VI();return t===`/`||!e?e:e===t?`/`:e.indexOf(t+`/`)===0?e.slice(t.length)||`/`:e}function WI(){return typeof window>`u`?``:window.GOMODEL_VERSION||``}function GI(){return typeof window>`u`?!1:window.GOMODEL_DEMO_MODE===!0}var KI=[`overview`,`usage`,`budgets`,`rate-limits`,`models`,`workflows`,`audit-logs`,`guardrails`,`mcp-servers`,`providers-config`,`auth-keys`,`settings`];function qI(e){return e.startsWith(`/admin/static/`)?`/`+e.slice(14).replace(/^\/+/,``):e}function JI(e){let t=qI(UI(e)).replace(/\/$/,``).replace(`/admin/dashboard`,``).replace(/^\//,``).split(`/`),n=t[0];n===`audit`&&(n=`audit-logs`);let r=t[1]||null;return n===`settings`&&r===`guardrails`?{page:`guardrails`,sub:null}:(n=KI.includes(n)?n:`overview`,{page:n,sub:r})}var YI=new class{#e=A(`overview`);get page(){return F(this.#e)}set page(e){j(this.#e,e,!0)}#t=A(null);get sub(){return F(this.#t)}set sub(e){j(this.#t,e,!0)}init(){let{page:e,sub:t}=JI(window.location.pathname);this.page=e,this.sub=t,window.addEventListener(`popstate`,()=>{let{page:e,sub:t}=JI(window.location.pathname);this.page=e,this.sub=t})}navigate(e,t=null){let n=t?`/`+t:``;history.pushState(null,``,HI(`/admin/dashboard/`+e+n)),this.page=e,this.sub=t}},XI=`gomodel_api_key`;function ZI(e){let t=String(e||``).trim();if(/^Bearer\s*$/i.test(t))return``;let n=t.match(/^Bearer\s+(.+)$/i);return n?n[1].trim():t}var K=new class{#e=A(``);get apiKey(){return F(this.#e)}set apiKey(e){j(this.#e,e,!0)}#t=A(!1);get needsAuth(){return F(this.#t)}set needsAuth(e){j(this.#t,e,!0)}#n=A(!1);get authError(){return F(this.#n)}set authError(e){j(this.#n,e,!0)}#r=A(``);get authErrorMessage(){return F(this.#r)}set authErrorMessage(e){j(this.#r,e,!0)}#i=A(!1);get dialogOpen(){return F(this.#i)}set dialogOpen(e){j(this.#i,e,!0)}#a=A(0);get generation(){return F(this.#a)}set generation(e){j(this.#a,e,!0)}#o=A(0);get refreshTick(){return F(this.#o)}set refreshTick(e){j(this.#o,e,!0)}init(){try{this.apiKey=ZI(localStorage.getItem(XI)||``)}catch{this.apiKey=``}}hasApiKey(){return ZI(this.apiKey)!==``}save(){this.apiKey=ZI(this.apiKey);try{localStorage.setItem(XI,this.apiKey)}catch{}}openDialog(){this.dialogOpen=!0}closeDialog(){this.dialogOpen=!1}submit(){let e=ZI(this.apiKey);return e?(this.apiKey=e,this.save(),this.generation++,this.authError=!1,this.authErrorMessage=``,this.needsAuth=!1,this.closeDialog(),this.refresh(),!0):(this.apiKey=``,this.authError=!0,this.authErrorMessage=``,this.needsAuth=!0,this.openDialog(),!1)}refresh(){this.refreshTick++}handleUnauthorized(e,t=``){return typeof e==`number`&&e{r[e.type]=e.value}),r.year+`-`+r.month+`-`+r.day}formatTimestampInTimeZone(e,t){if(e==null)return`-`;let n=new Date(e);if(Number.isNaN(n.getTime()))return`-`;let r=rL(`en-CA`,{timeZone:iL(t)?t:QI,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}).formatToParts(n),i={};return r.forEach(e=>{i[e.type]=e.value}),i.year+`-`+i.month+`-`+i.day+` `+i.hour+`:`+i.minute+`:`+i.second}formatTimestamp(e){return this.formatTimestampInTimeZone(e,this.effectiveTimezone())}currentDateKey(e){return this.dateKeyInTimeZone(e||new Date,this.effectiveTimezone())}dateKeyToDate(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);return t?new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]))):null}dateToDateKey(e){return!(e instanceof Date)||Number.isNaN(e.getTime())?``:e.getUTCFullYear()+`-`+nL(e.getUTCMonth()+1)+`-`+nL(e.getUTCDate())}addDaysToDateKey(e,t){let n=this.dateKeyToDate(e);return n?(n.setUTCDate(n.getUTCDate()+t),this.dateToDateKey(n)):``}todayDate(){return this.dateKeyToDate(this.currentDateKey())}startOfMonthDate(e){let t=e instanceof Date?e:this.todayDate();return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1))}timeZoneOffsetLabel(e,t){let n=iL(e)?e:QI;try{let e=rL(`en-US`,{timeZone:n,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`,timeZoneName:`longOffset`}).formatToParts(t||new Date).find(e=>e.type===`timeZoneName`);if(!e||!e.value)return`UTC+00:00`;let r=e.value.replace(`GMT`,`UTC`);return r===`UTC`?`UTC+00:00`:r}catch{return`UTC+00:00`}}timeZoneOffsetMinutes(e,t){let n=/^UTC([+-])(\d{2}):(\d{2})$/.exec(this.timeZoneOffsetLabel(e,t));if(!n)return 0;let r=Number(n[2])*60+Number(n[3]);return n[1]===`-`?-r:r}timeZoneOptionLabel(e,t){return e+` (`+this.timeZoneOffsetLabel(e,t)+`)`}detectedTimeZoneLabel(){return this.timeZoneOptionLabel(this.detectedTimezone)}effectiveTimeZoneLabel(){return this.timeZoneOptionLabel(this.effectiveTimezone())}ensureOptions(){if(this.optionsLoaded)return;let e=new Date,t=[];try{typeof Intl.supportedValuesOf==`function`&&(t=Intl.supportedValuesOf(`timeZone`))}catch{t=[]}[QI,this.detectedTimezone,this.override].forEach(e=>{e&&t.indexOf(e)===-1&&iL(e)&&t.push(e)}),t=t.filter(e=>iL(e)),t.sort((t,n)=>{let r=this.timeZoneOffsetMinutes(t,e)-this.timeZoneOffsetMinutes(n,e);return r===0?t.localeCompare(n):r}),this.options=t.map(t=>({value:t,label:this.timeZoneOptionLabel(t,e)})),this.optionsLoaded=!0}saveOverride(){let e=MI();if(e)if(this.override&&iL(this.override))try{e.setItem($I,this.override)}catch{}else{try{e.removeItem($I)}catch{}this.override=``}this.optionsLoaded=!1,this.ensureOptions()}clearOverride(){let e=MI();if(e)try{e.removeItem($I)}catch{}this.override=``}calendarTimeZoneText(){let e=this.override?`manual override`:`auto-detected`;return`Activity grouped by `+this.effectiveTimeZoneLabel()+` (`+e+`)`}};function cL(e,t){let n=e&&typeof e==`object`&&e.error&&e.error.message;return(typeof n==`string`?n.trim():``)||t}function lL(e,t){let n=e&&e.data;if(n&&typeof n==`object`){let e=[n.message,n.error,n.error&&typeof n.error==`object`?n.error.message:null];for(let t of e)if(typeof t==`string`&&t.trim())return t.trim()}return t}function uL(){let e={"Content-Type":`application/json`},t=ZI(K.apiKey);return t&&(e.Authorization=`Bearer `+t),e[`X-GoModel-Timezone`]=sL.effectiveTimezone(),e}function dL(e,t={}){return fetch(HI(e),{...t,headers:{...uL(),...t.headers||{}}})}async function fL(e,t,{label:n=e,parse:r=!0}={}){let i=K.generation,a=await dL(e,t);if(a.status===401)return K.handleUnauthorized(i),{ok:!1,stale:i{this.#n=null}),this.#n}async ensureLoaded(){if(this.#n){await this.#n;return}this.loaded||await this.fetch()}async#r(){let e=typeof AbortController==`function`?new AbortController:null,t=e?setTimeout(()=>e.abort(),1e4):null;try{let t=await pL(`/admin/runtime/config`,{label:`dashboard config`,signal:e?e.signal:void 0});if(t.stale)return;if(!t.ok){this.config={},this.loaded=!1;return}let n=t.data,r={};for(let e of gL)n&&typeof n==`object`&&!Array.isArray(n)&&n[e]!==void 0&&n[e]!==null&&(r[e]=String(n[e]).trim());this.config=r,this.loaded=!0}catch(e){console.error(`Failed to fetch dashboard config:`,e),this.config={},this.loaded=!1}finally{t!==null&&clearTimeout(t)}}},vL=L(` `),yL=L(`
`),bL=L(` `,1);function xL(e,t){D(t,!0);let n=k(()=>[{page:`overview`,label:`Overview`,icon:`layout-dashboard`},{page:`providers-config`,label:`Providers`,icon:`server-cog`},{page:`models`,label:`Models`,icon:`box`},{page:`audit-logs`,label:`Audit Logs`,icon:`history`},{page:`usage`,label:`Usage`,icon:`chart-column`},{page:`budgets`,label:`Budgets`,icon:`wallet`,visible:_L.budgetsVisible()},{page:`rate-limits`,label:`Rate Limits`,icon:`gauge`,visible:_L.rateLimitsVisible()},{page:`auth-keys`,label:`API Keys`,icon:`key-round`},{page:`workflows`,label:`Workflows`,icon:`workflow`},{page:`guardrails`,label:`Guardrails (experimental)`,icon:`shield-check`,visible:_L.guardrailsVisible()},{page:`mcp-servers`,label:`MCP Servers`,icon:`plug`,visible:_L.mcpVisible()},{page:`settings`,label:`Settings`,icon:`settings`}].filter(e=>e.visible!==!1));var r=bL(),i=Cn(r);let a;var o=N(M(i),2);V(o,21,()=>F(n),e=>e.page,(e,t)=>{var n=vL();let r;var i=M(n);G(i,{get name(){return F(t).icon},class:`nav-icon`});var a=N(i,2),o=M(a,!0);E(a),E(n),P(e=>{W(n,`href`,e),r=H(n,1,`nav-item svelte-1nwtzae`,null,r,{active:YI.page===F(t).page}),W(n,`title`,F(t).label),z(o,F(t).label)},[()=>HI(`/admin/dashboard/`+F(t).page)]),I(`click`,n,e=>{e.preventDefault(),YI.navigate(F(t).page)}),R(e,n)}),E(o);var s=N(o,2),c=M(s);BI(c,{get compact(){return II.collapsed}});var l=N(c,2),u=e=>{var t=yL(),n=M(t),r=M(n);G(r,{name:`lock-keyhole`,class:`api-key-open-icon`});var i=N(r,2),a=M(i,!0);E(i),E(n),E(t),P(()=>{W(n,`aria-label`,K.needsAuth?`Enter API key`:`Change API key`),z(a,K.needsAuth?`Enter API key`:`Change API key`)}),I(`click`,n,()=>K.openDialog()),R(e,t)},d=k(()=>K.needsAuth||K.hasApiKey());B(l,e=>{F(d)&&e(u)}),E(s),E(i);var f=N(i,2);let p;P(()=>{a=H(i,1,`sidebar svelte-1nwtzae`,null,a,{"sidebar-collapsed":II.collapsed}),p=H(f,1,`sidebar-toggle svelte-1nwtzae`,null,p,{collapsed:II.collapsed}),W(f,`title`,II.collapsed?`Expand sidebar`:`Collapse sidebar`),W(f,`aria-label`,II.collapsed?`Expand sidebar`:`Collapse sidebar`),W(f,`aria-expanded`,!II.collapsed)}),I(`click`,f,()=>II.toggle()),R(e,r),O()}Ur([`click`]);var SL=L(``);function CL(e,t){D(t,!0);let n=ma(t,`label`,3,`Close`),r=ma(t,`class`,3,``),i=ma(t,`iconClass`,3,`table-icon-svg`),a=ma(t,`disabled`,3,!1),o=ma(t,`el`,15,null);var s=SL();G(M(s),{name:`x`,get class(){return i()}}),E(s),da(s,e=>o(e),()=>o()),P(()=>{H(s,1,`dialog-close-btn ${r()??``}`,`svelte-11l1bb5`),W(s,`aria-label`,n()),s.disabled=a()}),I(`click`,s,function(...e){t.onclick?.apply(this,e)}),R(e,s),O()}Ur([`click`]);var wL=L(`
`,1);function TL(e,t){D(t,!0);let n=ma(t,`open`,3,!1),r=ma(t,`variant`,3,`editor`),i=ma(t,`closeOnBackdrop`,3,!0),a=k(()=>r()===`auth`?`auth-dialog-backdrop`:`editor-modal-backdrop`),o=k(()=>r()===`auth`?`auth-dialog-shell`:`editor-modal-shell`),s=A(null);Nn(()=>{if(!n())return;let e=kr(()=>LI.opened());Er().then(()=>{let e=F(s)&&F(s).querySelector(`[data-modal-autofocus]`);e&&typeof e.focus==`function`&&e.focus()});let r=n=>{n.key===`Escape`&&LI.isTop(e)&&t.onclose?.()};return window.addEventListener(`keydown`,r),()=>{LI.closed(e),window.removeEventListener(`keydown`,r)}});function c(e){i()&&e.target===F(s)&&t.onclose?.()}var l=$r(),u=Cn(l),d=e=>{var n=wL(),r=Cn(n),i=N(r,2);gi(M(i),()=>t.children??m),E(i),da(i,e=>j(s,e),()=>F(s)),P(()=>{H(r,1,ji(F(a)),`svelte-17e0w4c`),H(i,1,ji(F(o)),`svelte-17e0w4c`)}),I(`click`,i,c),R(e,n)};B(u,e=>{n()&&e(d)}),R(e,l),O()}Ur([`click`]);var EL=L(``),DL=L(``);function OL(e,t){D(t,!0),TL(e,{get open(){return K.dialogOpen},variant:`auth`,onclose:()=>K.closeDialog(),children:(e,t)=>{var n=DL(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a),E(i),CL(N(i,2),{label:`Close authentication dialog`,onclick:()=>K.closeDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var s=N(r,2),c=M(s),l=M(c);G(l,{name:`lock-keyhole`,class:`auth-dialog-input-icon`});var u=N(l,2);U(u),E(c);var d=N(c,2),f=e=>{var t=EL(),n=M(t,!0);E(t),P(()=>z(n,K.authErrorMessage||`Enter a valid API key to continue.`)),R(e,t)};B(d,e=>{K.authError&&e(f)});var p=N(d,4),m=M(p),h=M(m);G(h,{name:`check`,class:`auth-dialog-submit-icon`});var g=N(h,2),_=M(g,!0);E(g),E(m),E(p),E(s),E(n),P(()=>{z(o,K.needsAuth?`Dashboard locked`:`Change API key`),z(_,K.needsAuth?`Unlock dashboard`:`Save API key`)}),Hr(`submit`,s,e=>{e.preventDefault(),K.submit()}),oa(u,()=>K.apiKey,e=>K.apiKey=e),R(e,n)},$$slots:{default:!0}}),O()}function kL(){return{open:!1,title:``,titleId:`typedConfirmationDialogTitle`,inputId:`typed-confirmation-input`,message:``,requiredText:``,value:``,confirmLabel:`Confirm`,icon:`triangle-alert`,dialogClass:``,loading:!1,onConfirm:null,onClose:null}}var AL=new class{#e=A(fn(kL()));get state(){return F(this.#e)}set state(e){j(this.#e,e,!0)}#t=A(``);get error(){return F(this.#t)}set error(e){j(this.#t,e,!0)}open(e){this.error=``,this.state={...kL(),open:!0,...e||{}}}close(){let e=this.state;typeof e.onClose==`function`&&e.onClose(),this.state=kL(),this.error=``}ready(){return String(this.state.value||``).trim().toLowerCase()===String(this.state.requiredText||``).trim().toLowerCase()}inputLabel(){return`Type `+String(this.state.requiredText||``).trim()+` to confirm`}async submit(){if(!this.ready()){this.error=this.inputLabel()+`.`;return}if(typeof this.state.onConfirm==`function`){this.state.loading=!0;try{await this.state.onConfirm()}finally{this.state.loading=!1}}}},jL=L(`

`),ML=L(``),NL=L(`

`);function PL(e,t){D(t,!0);let n=k(()=>AL.state);TL(e,{get open(){return F(n).open},variant:`auth`,onclose:()=>AL.close(),children:(e,t)=>{var r=NL(),i=M(r),a=M(i),o=M(a,!0);E(a),CL(N(a,2),{label:`Close confirmation dialog`,onclick:()=>AL.close(),class:`auth-dialog-close`,iconClass:``}),E(i);var s=N(i,2),c=M(s),l=e=>{var t=jL(),r=M(t,!0);E(t),P(()=>z(r,F(n).message)),R(e,t)};B(c,e=>{F(n).message&&e(l)});var u=N(c,2),d=M(u),f=M(d,!0);E(d);var p=N(d,2);U(p),E(u);var m=N(u,2),h=e=>{var t=ML(),n=M(t,!0);E(t),P(()=>z(n,AL.error)),R(e,t)};B(m,e=>{AL.error&&e(h)});var g=N(m,2),_=M(g),v=N(_,2),y=M(v);G(y,{get name(){return F(n).icon},class:`form-action-icon`});var b=N(y,2),x=M(b,!0);E(b),E(v),E(g),E(s),E(r),P((e,t)=>{H(r,1,`auth-dialog ${F(n).dialogClass??``}`),W(r,`aria-labelledby`,F(n).titleId),W(a,`id`,F(n).titleId),z(o,F(n).title),W(d,`for`,F(n).inputId),z(f,e),W(p,`id`,F(n).inputId),v.disabled=t,z(x,F(n).confirmLabel)},[()=>AL.inputLabel(),()=>F(n).loading||!AL.ready()]),Hr(`submit`,s,e=>{e.preventDefault(),AL.submit()}),oa(p,()=>AL.state.value,e=>AL.state.value=e),I(`click`,_,()=>AL.close()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var FL=e=>e;function IL(e){let t=e-1;return t*t*t+1}function LL(e){let t=typeof e==`string`&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return t?[parseFloat(t[1]),t[2]||`px`]:[e,`px`]}function RL(e,{delay:t=0,duration:n=400,easing:r=FL}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function zL(e,{delay:t=0,duration:n=400,easing:r=IL,x:i=0,y:a=0,opacity:o=0}={}){let s=getComputedStyle(e),c=+s.opacity,l=s.transform===`none`?``:s.transform,u=c*(1-o),[d,f]=LL(i),[p,m]=LL(a);return{delay:t,duration:n,easing:r,css:(e,t)=>` - transform: ${l} translate(${(1-e)*d}${f}, ${(1-e)*p}${m}); - opacity: ${c-u*t}`}}function BL(e){return--e*e*(2.70158*e+1.70158)+1}var VL=5e3,HL=8e3,q=new class{#e=A(fn([]));get toasts(){return F(this.#e)}set toasts(e){j(this.#e,e,!0)}#t=0;#n=new Map;success(e){this.#r(`success`,e,VL)}error(e){this.#r(`error`,e,HL)}dismiss(e){let t=this.#n.get(e);t&&(clearTimeout(t),this.#n.delete(e)),this.toasts=this.toasts.filter(t=>t.id!==e)}#r(e,t,n){let r=String(t||``).trim();if(!r)return;let i=this.toasts.find(t=>t.kind===e&&t.text===r);i&&this.dismiss(i.id);let a=++this.#t;this.toasts=[...this.toasts,{id:a,kind:e,text:r}],this.#n.set(a,setTimeout(()=>this.dismiss(a),n))}},UL=L(`
`),WL=L(`
`);function GL(e,t){D(t,!0);var n=WL();V(n,21,()=>q.toasts,e=>e.id,(e,t)=>{var n=UL();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2);E(n),P(()=>{r=H(n,1,`flash-toast svelte-1i257xg`,null,r,{"flash-toast-success":F(t).kind===`success`,"flash-toast-error":F(t).kind===`error`}),W(n,`role`,F(t).kind===`error`?`alert`:`status`),W(n,`aria-live`,F(t).kind===`error`?`assertive`:`polite`),z(a,F(t).text)}),I(`click`,o,()=>q.dismiss(F(t).id)),Ei(1,n,()=>zL,()=>({y:-24,duration:360,easing:BL})),Ei(2,n,()=>RL,()=>({duration:150})),R(e,n)}),E(n),R(e,n),O()}Ur([`click`]);var KL=L(``);function qL(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{R(e,KL())},a=k(()=>GI());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}var JL=new class{#e=A(fn([]));get models(){return F(this.#e)}set models(e){j(this.#e,e,!0)}#t=A(fn([]));get categories(){return F(this.#t)}set categories(e){j(this.#t,e,!0)}#n=A(`all`);get activeCategory(){return F(this.#n)}set activeCategory(e){j(this.#n,e,!0)}#r=A(``);get filter(){return F(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(!0);get loading(){return F(this.#i)}set loading(e){j(this.#i,e,!0)}#a=null;async fetchModels(){this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=`/admin/models`;this.activeCategory&&this.activeCategory!==`all`&&(t+=`?category=`+encodeURIComponent(this.activeCategory));let n=await pL(t,{label:`models`,signal:e.signal});if(n.stale||e.signal.aborted)return;this.models=n.ok&&Array.isArray(n.data)?n.data:[]}catch(e){if(hL(e))return;console.error(`Failed to fetch models:`,e),this.models=[]}finally{this.#a===e&&(this.#a=null,this.loading=!1)}}async fetchCategories(){try{let e=await pL(`/admin/models/categories`,{label:`categories`});if(e.stale)return;this.categories=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch categories:`,e),this.categories=[]}}selectCategory(e){this.activeCategory=e,this.filter=``,this.fetchModels()}categoryCount(e){let t=this.categories.find(t=>t.category===e);return t?t.count:0}get filteredModels(){if(!this.filter)return this.models;let e=this.filter.toLowerCase();return this.models.filter(t=>(t.model?.id??``).toLowerCase().includes(e)||(t.provider_name??``).toLowerCase().includes(e)||(t.provider_type??``).toLowerCase().includes(e)||(t.selector??``).toLowerCase().includes(e)||(t.model?.owned_by??``).toLowerCase().includes(e)||(t.model?.metadata?.modes??[]).join(`,`).toLowerCase().includes(e)||(t.model?.metadata?.categories??[]).join(`,`).toLowerCase().includes(e))}},YL=L(``);function XL(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=YL(),n=N(M(t),2);E(t),I(`click`,n,()=>K.openDialog()),R(e,t)};B(r,e=>{K.authError&&e(i)}),R(e,n),O()}Ur([`click`]);function ZL(e){return String(e||``).split(`,`).map(e=>e.trim()).filter(e=>e)}function QL(e){return e==null||e===void 0?`-`:e.toLocaleString()}function $L(e){if(e==null)return`---`;let t=Number(e);return Number.isFinite(t)?t>0&&t<1e-4?`<$0.0001`:`$`+t.toFixed(4).replace(/(\.\d{2}\d*?)0+$/,`$1`):`---`}function eR(e){return e==null||e===void 0?`—`:`$`+e.toFixed(2)}function tR(e){return e==null||e===void 0?`—`:e<.01?`$`+e.toFixed(6):`$`+e.toFixed(4)}function nR(e){if(e==null||e===``)return`-`;let t=Number(e);if(!Number.isFinite(t))return`-`;let n=Math.abs(t),r=[{threshold:1e9,suffix:`B`},{threshold:1e6,suffix:`M`},{threshold:1e3,suffix:`K`}];for(let e=0;e=i.threshold){let n=t/i.threshold;return Math.abs(Number(n.toFixed(1)))>=1e3&&e>0&&(i=r[e-1],n=t/i.threshold),n.toFixed(1).replace(/\.0$/,``)+i.suffix}}return String(t)}function rR(e,t){let n=t==null||t===``?NaN:Number(t),r=Number.isFinite(n)?QL(n):`-`;return String(e||`Tokens`)+`: `+r}function iR(e){return e?typeof e==`string`?e:e.getUTCFullYear()+`-`+String(e.getUTCMonth()+1).padStart(2,`0`)+`-`+String(e.getUTCDate()).padStart(2,`0`):``}function aR(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.getUTCFullYear()+`-`+String(t.getUTCMonth()+1).padStart(2,`0`)+`-`+String(t.getUTCDate()).padStart(2,`0`)}function oR(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.getUTCFullYear()+`-`+String(t.getUTCMonth()+1).padStart(2,`0`)+`-`+String(t.getUTCDate()).padStart(2,`0`)+` `+String(t.getUTCHours()).padStart(2,`0`)+`:`+String(t.getUTCMinutes()).padStart(2,`0`)+`:`+String(t.getUTCSeconds()).padStart(2,`0`)+` UTC`}function sR(e){return String(e&&e.provider||``).trim()}function cR(e){return String(e&&e.provider_name||``).trim()||sR(e)}function lR(e,t){let n=String(t||``).trim();if(!n)return`-`;let r=cR(e);return!r||n===r||n.startsWith(r+`/`)?n:r+`/`+n}function uR(e){return lR(e,e&&e.model)}function dR(e){return lR(e,e&&e.resolved_model)}function fR(e){let t=String(e&&(e.requested_model||e.model)||``).trim();if(!e)return t;let n=String(e.data&&e.data.failover&&e.data.failover.target_model||``).trim();if(n&&n!==t)return t+` ⮕ `+n;if(e.alias_used&&e.resolved_model){let n=dR(e);if(n&&n!==`-`&&n!==t)return t+` ⮕ `+n}return t}var pR=new class{#e=A(`30`);get days(){return F(this.#e)}set days(e){j(this.#e,e,!0)}#t=A(`30`);get selectedPreset(){return F(this.#t)}set selectedPreset(e){j(this.#t,e,!0)}#n=A(null);get customStartDate(){return F(this.#n)}set customStartDate(e){j(this.#n,e,!0)}#r=A(null);get customEndDate(){return F(this.#r)}set customEndDate(e){j(this.#r,e,!0)}#i=A(`daily`);get interval(){return F(this.#i)}set interval(e){j(this.#i,e,!0)}queryStr(){return this.customStartDate&&this.customEndDate?`start_date=`+iR(this.customStartDate)+`&end_date=`+iR(this.customEndDate):`days=`+this.days}selectPreset(e){this.selectedPreset=e,this.customStartDate=null,this.customEndDate=null,this.days=e}dateRangeLabel(){return this.selectedPreset?`Last `+this.selectedPreset+` days`:this.customStartDate&&this.customEndDate?this.formatDateShort(this.customStartDate)+` – `+this.formatDateShort(this.customEndDate):this.customStartDate?this.formatDateShort(this.customStartDate)+` – ...`:`Last 30 days`}formatDateShort(e){return[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getUTCMonth()]+` `+e.getUTCDate()+`, `+e.getUTCFullYear()}rangeStart(){return this.customStartDate?this.customStartDate:this.selectedPreset?sL.dateKeyToDate(sL.addDaysToDateKey(sL.currentDateKey(),-(parseInt(this.selectedPreset,10)-1))):null}rangeEnd(){return this.customEndDate?this.customEndDate:this.customStartDate||this.selectedPreset?sL.todayDate():null}chartTitle(){return({daily:`Daily`,weekly:`Weekly`,monthly:`Monthly`,yearly:`Yearly`}[this.interval]||`Daily`)+` Token Usage`}};function mR(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null}}function hR(){return{summary:{total_hits:0,exact_hits:0,semantic_hits:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,total_saved_cost:null},daily:[]}}var gR=new class{#e=A(fn(mR()));get summary(){return F(this.#e)}set summary(e){j(this.#e,e,!0)}#t=A(fn([]));get daily(){return F(this.#t)}set daily(e){j(this.#t,e,!0)}#n=A(fn(hR()));get cacheOverview(){return F(this.#n)}set cacheOverview(e){j(this.#n,e,!0)}#r=A(!1);get loading(){return F(this.#r)}set loading(e){j(this.#r,e,!0)}#i=null;#a=null;cacheAnalyticsEnabled(){return _L.cacheVisible()}async fetchUsage(){this.#i&&this.#i.abort();let e=new AbortController;this.#i=e,this.loading=!0;try{let t=pR.queryStr()+`&interval=`+pR.interval,[n,r]=await Promise.all([pL(`/admin/usage/summary?`+t,{label:`usage summary`,signal:e.signal}),pL(`/admin/usage/daily?`+t,{label:`usage daily`,signal:e.signal})]);if(n.stale||r.stale||e.signal.aborted)return;if(!n.ok||!r.ok){this.summary=mR(),this.daily=[],this.cacheOverview=hR();return}this.summary=n.data||mR(),this.daily=Array.isArray(r.data)?r.data:[]}catch(e){if(hL(e))return;console.error(`Failed to fetch usage:`,e),this.summary=mR(),this.daily=[]}finally{this.#i===e&&(this.#i=null,this.loading=!1)}}async fetchCacheOverview(e=``){if(await _L.ensureLoaded(),!this.cacheAnalyticsEnabled()){this.cacheOverview=hR();return}this.#a&&this.#a.abort();let t=new AbortController;this.#a=t;try{let n=await pL(`/admin/cache/overview?`+(pR.queryStr()+`&interval=`+pR.interval+e),{label:`cache overview`,signal:t.signal});if(n.stale||t.signal.aborted)return;if(!n.ok){this.cacheOverview=hR();return}let r=n.data&&typeof n.data==`object`?n.data:hR();r.summary||=hR().summary,Array.isArray(r.daily)||(r.daily=[]),this.cacheOverview=r}catch(e){if(hL(e))return;console.error(`Failed to fetch cache overview:`,e),this.cacheOverview=hR()}finally{this.#a===t&&(this.#a=null)}}},_R=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`];function vR(e,t){let n=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+t,1));return _R[n.getUTCMonth()]+` `+n.getUTCFullYear()}function yR(e,t,n){let r=e.getUTCFullYear(),i=e.getUTCMonth()+t,a=new Date(Date.UTC(r,i,1)),o=new Date(Date.UTC(r,i+1,0)),s=(a.getUTCDay()+6)%7,c=[],l=new Date(Date.UTC(r,i,0));for(let e=s-1;e>=0;e--){let t=l.getUTCDate()-e,a=new Date(Date.UTC(r,i-1,t));c.push({day:t,date:a,current:!1,key:`p-`+n(a)})}for(let e=1;e<=o.getUTCDate();e++){let t=new Date(Date.UTC(r,i,e));c.push({day:e,date:t,current:!0,key:`c-`+n(t)})}let u=42-c.length;for(let e=1;e<=u;e++){let t=new Date(Date.UTC(r,i+1,e));c.push({day:e,date:t,current:!1,key:`n-`+n(t)})}return c}function bR(e,t,n){let r=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+t,1));return n&&r.getTime()>n.getTime()?e:r}function xR(e,t){return e.getUTCFullYear()===t.getUTCFullYear()&&e.getUTCMonth()===t.getUTCMonth()}var SR=L(``),CR=L(``),wR=L(``),TR=L(`
MoTuWeThFrSaSu
`);function ER(e,t){D(t,!0);let n=ma(t,`offset`,3,0),r=k(()=>yR(t.calendarMonth,n(),e=>sL.dateToDateKey(e))),i=k(()=>xR(t.calendarMonth,sL.todayDate())),a=e=>sL.dateToDateKey(e.date),o=e=>a(e)>sL.currentDateKey(),s=e=>e.current&&a(e)===sL.currentDateKey();function c(e,t){let n=t===`start`?pR.rangeStart():pR.rangeEnd();return e.current&&!!n&&a(e)===sL.dateToDateKey(n)}function l(e){let t=pR.rangeStart(),n=pR.rangeEnd();return!e.current||!t||!n?!1:a(e)>=sL.dateToDateKey(t)&&a(e)<=sL.dateToDateKey(n)}var u=TR(),d=M(u),f=M(d);let p;var m=N(f,2),h=M(m,!0);E(m);var g=N(m,2),_=e=>{R(e,SR())},v=e=>{var n=CR();P(()=>n.disabled=F(i)),I(`click`,n,function(...e){t.onnext?.apply(this,e)}),R(e,n)};B(g,e=>{n()===-1?e(_):e(v,-1)}),E(d);var y=N(d,4);V(y,21,()=>F(r),e=>e.key,(e,n)=>{var r=wR();let i;var a=M(r,!0);E(r),P((e,t)=>{i=H(r,1,`dp-day svelte-g7ga4u`,null,i,e),r.disabled=t,z(a,F(n).day)},[()=>({"other-month":!F(n).current,today:s(F(n)),"range-start":c(F(n),`start`),"range-end":c(F(n),`end`),"in-range":l(F(n)),disabled:o(F(n))}),()=>o(F(n))||!F(n).current]),I(`click`,r,()=>t.onselect?.(F(n))),R(e,r)}),E(y),E(u),P(e=>{p=H(f,1,`dp-nav-btn svelte-g7ga4u`,null,p,{"dp-nav-prev-mobile":n()!==-1}),z(h,e)},[()=>vR(t.calendarMonth,n())]),I(`click`,f,function(...e){t.onprev?.apply(this,e)}),R(e,u),O()}Ur([`click`]);var DR=L(``),OR=L(`
`),kR=Zr(``),AR=Zr(``),jR=L(`
`),MR=L(`
`);function NR(e,t){D(t,!0);let n=[`3`,`7`,`14`,`30`,`90`],r=A(!1),i=A(`start`),a=A(fn(new Date)),o=A(fn({show:!1,x:0,y:0})),s=A(null);function c(){j(r,!F(r)),F(r)&&(j(a,sL.startOfMonthDate(pR.customEndDate||sL.todayDate()),!0),j(i,`start`))}function l(){j(r,!1),j(o,{show:!1,x:0,y:0},!0)}Nn(()=>{if(!F(r))return;let e=e=>{F(s)&&!F(s).contains(e.target)&&l()},t=e=>{e.key===`Escape`&&l()};return document.addEventListener(`click`,e,!0),window.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e,!0),window.removeEventListener(`keydown`,t)}});function u(e){pR.selectPreset(e),j(i,`start`),t.onchange?.(),l()}let d=()=>j(a,bR(F(a),-1),!0),f=()=>j(a,bR(F(a),1,sL.startOfMonthDate(sL.todayDate())),!0);function p(e){let n=new Date(e.date);if(pR.selectedPreset=null,F(i)===`start`){pR.customStartDate=n,pR.customEndDate&&pR.customEndDate{var t=OR(),r=M(t);V(r,20,()=>n,e=>e,(e,t)=>{var n=DR();let r;var i=M(n);E(n),P(()=>{r=H(n,1,`preset-btn svelte-ax7ma4`,null,r,{active:pR.selectedPreset===t}),z(i,`Last ${t??``} days`)}),I(`click`,n,()=>u(t)),R(e,n)}),E(r);var i=N(r,2);V(i,20,()=>[-1,0],e=>e,(e,t)=>{ER(e,{get calendarMonth(){return F(a)},get offset(){return t},onprev:d,onnext:f,onselect:p})}),E(i),E(t),I(`mousemove`,i,e=>j(o,{show:!0,x:e.clientX,y:e.clientY},!0)),Hr(`mouseleave`,i,()=>j(o,{show:!1,x:0,y:0},!0)),R(e,t)};B(b,e=>{F(r)&&e(x)});var S=N(b,2),C=e=>{var t=jR(),n=M(t),r=e=>{R(e,kR())},a=e=>{R(e,AR())};B(n,e=>{F(i)===`start`?e(r):e(a,-1)});var s=N(n,2),c=M(s,!0);E(s),E(t),P(()=>{Ri(t,`left:${F(o).x??``}px;top:${F(o).y??``}px`),z(c,F(i)===`end`?`Select end date`:`Select start date`)}),R(e,t)};B(S,e=>{F(o).show&&e(C)}),E(m),da(m,e=>j(s,e),()=>F(s)),P(e=>{z(_,e),y=H(v,0,`date-picker-chevron svelte-ax7ma4`,null,y,{open:F(r)})},[()=>pR.dateRangeLabel()]),I(`click`,h,c),R(e,m),O()}Ur([`click`,`mousemove`]);function PR(e){return e+.5|0}var FR=(e,t,n)=>Math.max(Math.min(e,n),t);function IR(e){return FR(PR(e*2.55),0,255)}function LR(e){return FR(PR(e*255),0,255)}function RR(e){return FR(PR(e/2.55)/100,0,1)}function zR(e){return FR(PR(e*100),0,100)}var BR={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},VR=[...`0123456789ABCDEF`],HR=e=>VR[e&15],UR=e=>VR[(e&240)>>4]+VR[e&15],WR=e=>(e&240)>>4==(e&15),GR=e=>WR(e.r)&&WR(e.g)&&WR(e.b)&&WR(e.a);function KR(e){var t=e.length,n;return e[0]===`#`&&(t===4||t===5?n={r:255&BR[e[1]]*17,g:255&BR[e[2]]*17,b:255&BR[e[3]]*17,a:t===5?BR[e[4]]*17:255}:(t===7||t===9)&&(n={r:BR[e[1]]<<4|BR[e[2]],g:BR[e[3]]<<4|BR[e[4]],b:BR[e[5]]<<4|BR[e[6]],a:t===9?BR[e[7]]<<4|BR[e[8]]:255})),n}var qR=(e,t)=>e<255?t(e):``;function JR(e){var t=GR(e)?HR:UR;return e?`#`+t(e.r)+t(e.g)+t(e.b)+qR(e.a,t):void 0}var YR=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function XR(e,t,n){let r=t*Math.min(n,1-n),i=(t,i=(t+e/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function ZR(e,t,n){let r=(r,i=(r+e/60)%6)=>n-n*t*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function QR(e,t,n){let r=XR(e,1,.5),i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)r[i]*=1-t-n,r[i]+=t;return r}function $R(e,t,n,r,i){return e===i?(t-n)/r+(t.5?l/(2-i-a):l/(i+a),s=$R(t,n,r,l,i),s=s*60+.5),[s|0,c||0,o]}function tz(e,t,n,r){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,r)).map(LR)}function nz(e,t,n){return tz(XR,e,t,n)}function rz(e,t,n){return tz(QR,e,t,n)}function iz(e,t,n){return tz(ZR,e,t,n)}function az(e){return(e%360+360)%360}function oz(e){let t=YR.exec(e),n=255,r;if(!t)return;t[5]!==r&&(n=t[6]?IR(+t[5]):LR(+t[5]));let i=az(+t[2]),a=t[3]/100,o=t[4]/100;return r=t[1]===`hwb`?rz(i,a,o):t[1]===`hsv`?iz(i,a,o):nz(i,a,o),{r:r[0],g:r[1],b:r[2],a:n}}function sz(e,t){var n=ez(e);n[0]=az(n[0]+t),n=nz(n),e.r=n[0],e.g=n[1],e.b=n[2]}function cz(e){if(!e)return;let t=ez(e),n=t[0],r=zR(t[1]),i=zR(t[2]);return e.a<255?`hsla(${n}, ${r}%, ${i}%, ${RR(e.a)})`:`hsl(${n}, ${r}%, ${i}%)`}var lz={x:`dark`,Z:`light`,Y:`re`,X:`blu`,W:`gr`,V:`medium`,U:`slate`,A:`ee`,T:`ol`,S:`or`,B:`ra`,C:`lateg`,D:`ights`,R:`in`,Q:`turquois`,E:`hi`,P:`ro`,O:`al`,N:`le`,M:`de`,L:`yello`,F:`en`,K:`ch`,G:`arks`,H:`ea`,I:`ightg`,J:`wh`},uz={OiceXe:`f0f8ff`,antiquewEte:`faebd7`,aqua:`ffff`,aquamarRe:`7fffd4`,azuY:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`0`,blanKedOmond:`ffebcd`,Xe:`ff`,XeviTet:`8a2be2`,bPwn:`a52a2a`,burlywood:`deb887`,caMtXe:`5f9ea0`,KartYuse:`7fff00`,KocTate:`d2691e`,cSO:`ff7f50`,cSnflowerXe:`6495ed`,cSnsilk:`fff8dc`,crimson:`dc143c`,cyan:`ffff`,xXe:`8b`,xcyan:`8b8b`,xgTMnPd:`b8860b`,xWay:`a9a9a9`,xgYF:`6400`,xgYy:`a9a9a9`,xkhaki:`bdb76b`,xmagFta:`8b008b`,xTivegYF:`556b2f`,xSange:`ff8c00`,xScEd:`9932cc`,xYd:`8b0000`,xsOmon:`e9967a`,xsHgYF:`8fbc8f`,xUXe:`483d8b`,xUWay:`2f4f4f`,xUgYy:`2f4f4f`,xQe:`ced1`,xviTet:`9400d3`,dAppRk:`ff1493`,dApskyXe:`bfff`,dimWay:`696969`,dimgYy:`696969`,dodgerXe:`1e90ff`,fiYbrick:`b22222`,flSOwEte:`fffaf0`,foYstWAn:`228b22`,fuKsia:`ff00ff`,gaRsbSo:`dcdcdc`,ghostwEte:`f8f8ff`,gTd:`ffd700`,gTMnPd:`daa520`,Way:`808080`,gYF:`8000`,gYFLw:`adff2f`,gYy:`808080`,honeyMw:`f0fff0`,hotpRk:`ff69b4`,RdianYd:`cd5c5c`,Rdigo:`4b0082`,ivSy:`fffff0`,khaki:`f0e68c`,lavFMr:`e6e6fa`,lavFMrXsh:`fff0f5`,lawngYF:`7cfc00`,NmoncEffon:`fffacd`,ZXe:`add8e6`,ZcSO:`f08080`,Zcyan:`e0ffff`,ZgTMnPdLw:`fafad2`,ZWay:`d3d3d3`,ZgYF:`90ee90`,ZgYy:`d3d3d3`,ZpRk:`ffb6c1`,ZsOmon:`ffa07a`,ZsHgYF:`20b2aa`,ZskyXe:`87cefa`,ZUWay:`778899`,ZUgYy:`778899`,ZstAlXe:`b0c4de`,ZLw:`ffffe0`,lime:`ff00`,limegYF:`32cd32`,lRF:`faf0e6`,magFta:`ff00ff`,maPon:`800000`,VaquamarRe:`66cdaa`,VXe:`cd`,VScEd:`ba55d3`,VpurpN:`9370db`,VsHgYF:`3cb371`,VUXe:`7b68ee`,VsprRggYF:`fa9a`,VQe:`48d1cc`,VviTetYd:`c71585`,midnightXe:`191970`,mRtcYam:`f5fffa`,mistyPse:`ffe4e1`,moccasR:`ffe4b5`,navajowEte:`ffdead`,navy:`80`,Tdlace:`fdf5e6`,Tive:`808000`,TivedBb:`6b8e23`,Sange:`ffa500`,SangeYd:`ff4500`,ScEd:`da70d6`,pOegTMnPd:`eee8aa`,pOegYF:`98fb98`,pOeQe:`afeeee`,pOeviTetYd:`db7093`,papayawEp:`ffefd5`,pHKpuff:`ffdab9`,peru:`cd853f`,pRk:`ffc0cb`,plum:`dda0dd`,powMrXe:`b0e0e6`,purpN:`800080`,YbeccapurpN:`663399`,Yd:`ff0000`,Psybrown:`bc8f8f`,PyOXe:`4169e1`,saddNbPwn:`8b4513`,sOmon:`fa8072`,sandybPwn:`f4a460`,sHgYF:`2e8b57`,sHshell:`fff5ee`,siFna:`a0522d`,silver:`c0c0c0`,skyXe:`87ceeb`,UXe:`6a5acd`,UWay:`708090`,UgYy:`708090`,snow:`fffafa`,sprRggYF:`ff7f`,stAlXe:`4682b4`,tan:`d2b48c`,teO:`8080`,tEstN:`d8bfd8`,tomato:`ff6347`,Qe:`40e0d0`,viTet:`ee82ee`,JHt:`f5deb3`,wEte:`ffffff`,wEtesmoke:`f5f5f5`,Lw:`ffff00`,LwgYF:`9acd32`};function dz(){let e={},t=Object.keys(uz),n=Object.keys(lz),r,i,a,o,s;for(r=0;r>16&255,a>>8&255,a&255]}return e}var fz;function pz(e){fz||(fz=dz(),fz.transparent=[0,0,0,0]);let t=fz[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var mz=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function hz(e){let t=mz.exec(e),n=255,r,i,a;if(t){if(t[7]!==r){let e=+t[7];n=t[8]?IR(e):FR(e*255,0,255)}return r=+t[1],i=+t[3],a=+t[5],r=255&(t[2]?IR(r):FR(r,0,255)),i=255&(t[4]?IR(i):FR(i,0,255)),a=255&(t[6]?IR(a):FR(a,0,255)),{r,g:i,b:a,a:n}}}function gz(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${RR(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}var _z=e=>e<=.0031308?e*12.92:e**(1/2.4)*1.055-.055,vz=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function yz(e,t,n){let r=vz(RR(e.r)),i=vz(RR(e.g)),a=vz(RR(e.b));return{r:LR(_z(r+n*(vz(RR(t.r))-r))),g:LR(_z(i+n*(vz(RR(t.g))-i))),b:LR(_z(a+n*(vz(RR(t.b))-a))),a:e.a+n*(t.a-e.a)}}function bz(e,t,n){if(e){let r=ez(e);r[t]=Math.max(0,Math.min(r[t]+r[t]*n,t===0?360:1)),r=nz(r),e.r=r[0],e.g=r[1],e.b=r[2]}}function xz(e,t){return e&&Object.assign(t||{},e)}function Sz(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=LR(e[3]))):(t=xz(e,{r:0,g:0,b:0,a:1}),t.a=LR(t.a)),t}function Cz(e){return e.charAt(0)===`r`?hz(e):oz(e)}var wz=class e{constructor(t){if(t instanceof e)return t;let n=typeof t,r;n===`object`?r=Sz(t):n===`string`&&(r=KR(t)||pz(t)||Cz(t)),this._rgb=r,this._valid=!!r}get valid(){return this._valid}get rgb(){var e=xz(this._rgb);return e&&(e.a=RR(e.a)),e}set rgb(e){this._rgb=Sz(e)}rgbString(){return this._valid?gz(this._rgb):void 0}hexString(){return this._valid?JR(this._rgb):void 0}hslString(){return this._valid?cz(this._rgb):void 0}mix(e,t){if(e){let n=this.rgb,r=e.rgb,i,a=t===i?.5:t,o=2*a-1,s=n.a-r.a,c=((o*s===-1?o:(o+s)/(1+o*s))+1)/2;i=1-c,n.r=255&c*n.r+i*r.r+.5,n.g=255&c*n.g+i*r.g+.5,n.b=255&c*n.b+i*r.b+.5,n.a=a*n.a+(1-a)*r.a,this.rgb=n}return this}interpolate(e,t){return e&&(this._rgb=yz(this._rgb,e._rgb,t)),this}clone(){return new e(this.rgb)}alpha(e){return this._rgb.a=LR(e),this}clearer(e){let t=this._rgb;return t.a*=1-e,this}greyscale(){let e=this._rgb;return e.r=e.g=e.b=PR(e.r*.3+e.g*.59+e.b*.11),this}opaquer(e){let t=this._rgb;return t.a*=1+e,this}negate(){let e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return bz(this._rgb,2,e),this}darken(e){return bz(this._rgb,2,-e),this}saturate(e){return bz(this._rgb,1,e),this}desaturate(e){return bz(this._rgb,1,-e),this}rotate(e){return sz(this._rgb,e),this}};function Tz(){}var Ez=(()=>{let e=0;return()=>e++})();function Dz(e){return e==null}function Oz(e){if(Array.isArray&&Array.isArray(e))return!0;let t=Object.prototype.toString.call(e);return t.slice(0,7)===`[object`&&t.slice(-6)===`Array]`}function kz(e){return e!==null&&Object.prototype.toString.call(e)===`[object Object]`}function Az(e){return(typeof e==`number`||e instanceof Number)&&isFinite(+e)}function jz(e,t){return Az(e)?e:t}function Mz(e,t){return e===void 0?t:e}var Nz=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100:+e/t,Pz=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100*t:+e;function Fz(e,t,n){if(e&&typeof e.call==`function`)return e.apply(n,t)}function Iz(e,t,n,r){let i,a,o;if(Oz(e))if(a=e.length,r)for(i=a-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function Gz(e){let t=e.split(`.`),n=[],r=``;for(let e of t)r+=e,r.endsWith(`\\`)?r=r.slice(0,-1)+`.`:(n.push(r),r=``);return n}function Kz(e){let t=Gz(e);return e=>{for(let n of t){if(n===``)break;e&&=e[n]}return e}}function qz(e,t){return(Wz[t]||(Wz[t]=Kz(t)))(e)}function Jz(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Yz=e=>e!==void 0,Xz=e=>typeof e==`function`,Zz=(e,t)=>{if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0};function Qz(e){return e.type===`mouseup`||e.type===`click`||e.type===`contextmenu`}var $z=Math.PI,eB=2*$z,tB=eB+$z,nB=1/0,rB=$z/180,iB=$z/2,aB=$z/4,oB=$z*2/3,sB=Math.log10,cB=Math.sign;function lB(e,t,n){return Math.abs(e-t)e-t).pop(),t}function fB(e){return typeof e==`symbol`||typeof e==`object`&&!!e&&!(Symbol.toPrimitive in e||`toString`in e||`valueOf`in e)}function pB(e){return!fB(e)&&!isNaN(parseFloat(e))&&isFinite(e)}function mB(e,t){let n=Math.round(e);return n-t<=e&&n+t>=e}function hB(e,t,n){let r,i,a;for(r=0,i=e.length;rc&&l=Math.min(t,n)-r&&e<=Math.max(t,n)+r}function DB(e,t,n){n||=(n=>e[n]1;)a=i+r>>1,n(a)?i=a:r=a;return{lo:i,hi:r}}var OB=(e,t,n,r)=>DB(e,n,r?r=>{let i=e[r][t];return ie[r][t]DB(e,n,r=>e[r][t]>=n);function AB(e,t,n){let r=0,i=e.length;for(;rr&&e[i-1]>n;)i--;return r>0||i{let n=`_onData`+Jz(t),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...t){let i=r.apply(this,t);return e._chartjs.listeners.forEach(e=>{typeof e[n]==`function`&&e[n](...t)}),i}})})}function NB(e,t){let n=e._chartjs;if(!n)return;let r=n.listeners,i=r.indexOf(t);i!==-1&&r.splice(i,1),!(r.length>0)&&(jB.forEach(t=>{delete e[t]}),delete e._chartjs)}function PB(e){let t=new Set(e);return t.size===e.length?e:Array.from(t)}var FB=function(){return typeof window>`u`?function(e){return e()}:window.requestAnimationFrame}();function IB(e,t){let n=[],r=!1;return function(...i){n=i,r||(r=!0,FB.call(window,()=>{r=!1,e.apply(t,n)}))}}function LB(e,t){let n;return function(...r){return t?(clearTimeout(n),n=setTimeout(e,t,r)):e.apply(this,r),t}}var RB=e=>e===`start`?`left`:e===`end`?`right`:`center`,zB=(e,t,n)=>e===`start`?t:e===`end`?n:(t+n)/2,BB=(e,t,n,r)=>e===(r?`left`:`right`)?n:e===`center`?(t+n)/2:t;function VB(e,t,n){let r=t.length,i=0,a=r;if(e._sorted){let{iScale:o,vScale:s,_parsed:c}=e,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null,u=o.axis,{min:d,max:f,minDefined:p,maxDefined:m}=o.getUserBounds();if(p){if(i=Math.min(OB(c,u,d).lo,n?r:OB(t,u,o.getPixelForValue(d)).lo),l){let e=c.slice(0,i+1).reverse().findIndex(e=>!Dz(e[s.axis]));i-=Math.max(0,e)}i=wB(i,0,r-1)}if(m){let e=Math.max(OB(c,o.axis,f,!0).hi+1,n?0:OB(t,u,o.getPixelForValue(f),!0).hi+1);if(l){let t=c.slice(e-1).findIndex(e=>!Dz(e[s.axis]));e+=Math.max(0,t)}a=wB(e,i,r)-i}else a=r-i}return{start:i,count:a}}function HB(e){let{xScale:t,yScale:n,_scaleRanges:r}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!r)return e._scaleRanges=i,!0;let a=r.xmin!==t.min||r.xmax!==t.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),a}var UB=e=>e===0||e===1,WB=(e,t,n)=>-(2**(10*--e)*Math.sin((e-t)*eB/n)),GB=(e,t,n)=>2**(-10*e)*Math.sin((e-t)*eB/n)+1,KB={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-(--e*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>--e*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*iB)+1,easeOutSine:e=>Math.sin(e*iB),easeInOutSine:e=>-.5*(Math.cos($z*e)-1),easeInExpo:e=>e===0?0:2**(10*(e-1)),easeOutExpo:e=>e===1?1:-(2**(-10*e))+1,easeInOutExpo:e=>UB(e)?e:e<.5?.5*2**(10*(e*2-1)):.5*(-(2**(-10*(e*2-1)))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1- --e*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>UB(e)?e:WB(e,.075,.3),easeOutElastic:e=>UB(e)?e:GB(e,.075,.3),easeInOutElastic(e){let t=.1125,n=.45;return UB(e)?e:e<.5?.5*WB(e*2,t,n):.5+.5*GB(e*2-1,t,n)},easeInBack(e){return e*e*(2.70158*e-1.70158)},easeOutBack(e){return--e*e*(2.70158*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-KB.easeOutBounce(1-e),easeOutBounce(e){let t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},easeInOutBounce:e=>e<.5?KB.easeInBounce(e*2)*.5:KB.easeOutBounce(e*2-1)*.5+.5};function qB(e){if(e&&typeof e==`object`){let t=e.toString();return t===`[object CanvasPattern]`||t===`[object CanvasGradient]`}return!1}function JB(e){return qB(e)?e:new wz(e)}function YB(e){return qB(e)?e:new wz(e).saturate(.5).darken(.1).hexString()}var XB=[`x`,`y`,`borderWidth`,`radius`,`tension`],ZB=[`color`,`borderColor`,`backgroundColor`];function QB(e){e.set(`animation`,{delay:void 0,duration:1e3,easing:`easeOutQuart`,fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe(`animation`,{_fallback:!1,_indexable:!1,_scriptable:e=>e!==`onProgress`&&e!==`onComplete`&&e!==`fn`}),e.set(`animations`,{colors:{type:`color`,properties:ZB},numbers:{type:`number`,properties:XB}}),e.describe(`animations`,{_fallback:`animation`}),e.set(`transitions`,{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:`transparent`},visible:{type:`boolean`,duration:0}}},hide:{animations:{colors:{to:`transparent`},visible:{type:`boolean`,easing:`linear`,fn:e=>e|0}}}})}function $B(e){e.set(`layout`,{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var eV=new Map;function tV(e,t){t||={};let n=e+JSON.stringify(t),r=eV.get(n);return r||(r=new Intl.NumberFormat(e,t),eV.set(n,r)),r}function nV(e,t,n){return tV(t,n).format(e)}var rV={values(e){return Oz(e)?e:``+e},numeric(e,t,n){if(e===0)return`0`;let r=this.chart.options.locale,i,a=e;if(n.length>1){let t=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(t<1e-4||t>0x38d7ea4c68000)&&(i=`scientific`),a=iV(e,n)}let o=sB(Math.abs(a)),s=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),c={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(c,this.options.ticks.format),nV(e,r,c)},logarithmic(e,t,n){if(e===0)return`0`;let r=n[t].significand||e/10**Math.floor(sB(e));return[1,2,3,5,10,15].includes(r)||t>.8*n.length?rV.numeric.call(this,e,t,n):``}};function iV(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var aV={formatters:rV};function oV(e){e.set(`scale`,{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:`ticks`,clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:``,padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:``,padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:aV.formatters.values,minor:{},major:{},align:`center`,crossAlign:`near`,showLabelBackdrop:!1,backdropColor:`rgba(255, 255, 255, 0.75)`,backdropPadding:2}}),e.route(`scale.ticks`,`color`,``,`color`),e.route(`scale.grid`,`color`,``,`borderColor`),e.route(`scale.border`,`color`,``,`borderColor`),e.route(`scale.title`,`color`,``,`color`),e.describe(`scale`,{_fallback:!1,_scriptable:e=>!e.startsWith(`before`)&&!e.startsWith(`after`)&&e!==`callback`&&e!==`parser`,_indexable:e=>e!==`borderDash`&&e!==`tickBorderDash`&&e!==`dash`}),e.describe(`scales`,{_fallback:`scale`}),e.describe(`scale.ticks`,{_scriptable:e=>e!==`backdropPadding`&&e!==`callback`,_indexable:e=>e!==`backdropPadding`})}var sV=Object.create(null),cV=Object.create(null);function lV(e,t){if(!t)return e;let n=t.split(`.`);for(let t=0,r=n.length;te.chart.platform.getDevicePixelRatio(),this.elements={},this.events=[`mousemove`,`mouseout`,`click`,`touchstart`,`touchmove`],this.font={family:`'Helvetica Neue', 'Helvetica', 'Arial', sans-serif`,size:12,style:`normal`,lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>YB(t.backgroundColor),this.hoverBorderColor=(e,t)=>YB(t.borderColor),this.hoverColor=(e,t)=>YB(t.color),this.indexAxis=`x`,this.interaction={mode:`nearest`,intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return uV(this,e,t)}get(e){return lV(this,e)}describe(e,t){return uV(cV,e,t)}override(e,t){return uV(sV,e,t)}route(e,t,n,r){let i=lV(this,e),a=lV(this,n),o=`_`+t;Object.defineProperties(i,{[o]:{value:i[t],writable:!0},[t]:{enumerable:!0,get(){let e=this[o],t=a[r];return kz(e)?Object.assign({},t,e):Mz(e,t)},set(e){this[o]=e}}})}apply(e){e.forEach(e=>e(this))}}({_scriptable:e=>!e.startsWith(`on`),_indexable:e=>e!==`events`,hover:{_fallback:`interaction`},interaction:{_scriptable:!1,_indexable:!1}},[QB,$B,oV]);function fV(e){return!e||Dz(e.size)||Dz(e.family)?null:(e.style?e.style+` `:``)+(e.weight?e.weight+` `:``)+e.size+`px `+e.family}function pV(e,t,n,r,i){let a=t[i];return a||(a=t[i]=e.measureText(i).width,n.push(i)),a>r&&(r=a),r}function mV(e,t,n,r){r||={};let i=r.data=r.data||{},a=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},a=r.garbageCollect=[],r.font=t),e.save(),e.font=t;let o=0,s=n.length,c,l,u,d,f;for(c=0;cn.length){for(c=0;c0&&e.stroke()}}function yV(e,t,n){return n||=.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&a.strokeColor!==``,c,l;for(e.save(),e.font=i.string,wV(e,a),c=0;c+e||0;function NV(e,t){let n={},r=kz(t),i=r?Object.keys(t):t,a=kz(e)?r?n=>Mz(e[n],e[t[n]]):t=>e[t]:()=>e;for(let e of i)n[e]=MV(a(e));return n}function PV(e){return NV(e,{top:`y`,right:`x`,bottom:`y`,left:`x`})}function FV(e){return NV(e,[`topLeft`,`topRight`,`bottomLeft`,`bottomRight`])}function IV(e){let t=PV(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function LV(e,t){e||={},t||=dV.font;let n=Mz(e.size,t.size);typeof n==`string`&&(n=parseInt(n,10));let r=Mz(e.style,t.style);r&&!(``+r).match(AV)&&(console.warn(`Invalid font style specified: "`+r+`"`),r=void 0);let i={family:Mz(e.family,t.family),lineHeight:jV(Mz(e.lineHeight,t.lineHeight),n),size:n,style:r,weight:Mz(e.weight,t.weight),string:``};return i.string=fV(i),i}function RV(e,t,n,r){let i=!0,a,o,s;for(a=0,o=e.length;an&&e===0?0:e+t;return{min:o(r,-Math.abs(a)),max:o(i,a)}}function BV(e,t){return Object.assign(Object.create(e),t)}function VV(e,t=[``],n,r,i=()=>e[0]){let a=n||e;return r===void 0&&(r=rH(`_fallback`,e)),new Proxy({[Symbol.toStringTag]:`Object`,_cacheable:!0,_scopes:e,_rootScopes:a,_fallback:r,_getTarget:i,override:n=>VV([n,...e],t,a,r)},{deleteProperty(t,n){return delete t[n],delete t._keys,delete e[0][n],!0},get(n,r){return KV(n,r,()=>nH(r,t,e,n))},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e._scopes[0],t)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(e,t){return iH(e).includes(t)},ownKeys(e){return iH(e)},set(e,t,n){let r=e._storage||=i();return e[t]=r[t]=n,delete e._keys,!0}})}function HV(e,t,n,r){let i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:UV(e,r),setContext:t=>HV(e,t,n,r),override:i=>HV(e.override(i),t,n,r)};return new Proxy(i,{deleteProperty(t,n){return delete t[n],delete e[n],!0},get(e,t,n){return KV(e,t,()=>qV(e,t,n))},getOwnPropertyDescriptor(t,n){return t._descriptors.allKeys?Reflect.has(e,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,n)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(t,n){return Reflect.has(e,n)},ownKeys(){return Reflect.ownKeys(e)},set(t,n,r){return e[n]=r,delete t[n],!0}})}function UV(e,t={scriptable:!0,indexable:!0}){let{_scriptable:n=t.scriptable,_indexable:r=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:r,isScriptable:Xz(n)?n:()=>n,isIndexable:Xz(r)?r:()=>r}}var WV=(e,t)=>e?e+Jz(t):t,GV=(e,t)=>kz(t)&&e!==`adapters`&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function KV(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t===`constructor`)return e[t];let r=n();return e[t]=r,r}function qV(e,t,n){let{_proxy:r,_context:i,_subProxy:a,_descriptors:o}=e,s=r[t];return Xz(s)&&o.isScriptable(t)&&(s=JV(t,s,e,n)),Oz(s)&&s.length&&(s=YV(t,s,e,o.isIndexable)),GV(t,s)&&(s=HV(s,i,a&&a[t],o)),s}function JV(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_stack:s}=n;if(s.has(e))throw Error(`Recursion detected: `+Array.from(s).join(`->`)+`->`+e);s.add(e);let c=t(a,o||r);return s.delete(e),GV(e,c)&&(c=$V(i._scopes,i,e,c)),c}function YV(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_descriptors:s}=n;if(a.index!==void 0&&r(e))return t[a.index%t.length];if(kz(t[0])){let n=t,r=i._scopes.filter(e=>e!==n);t=[];for(let c of n){let n=$V(r,i,e,c);t.push(HV(n,a,o&&o[e],s))}}return t}function XV(e,t,n){return Xz(e)?e(t,n):e}var ZV=(e,t)=>e===!0?t:typeof e==`string`?qz(t,e):void 0;function QV(e,t,n,r,i){for(let a of t){let t=ZV(n,a);if(t){e.add(t);let a=XV(t._fallback,n,i);if(a!==void 0&&a!==n&&a!==r)return a}else if(t===!1&&r!==void 0&&n!==r)return null}return!1}function $V(e,t,n,r){let i=t._rootScopes,a=XV(t._fallback,n,r),o=[...e,...i],s=new Set;s.add(r);let c=eH(s,o,n,a||n,r);return c===null||a!==void 0&&a!==n&&(c=eH(s,o,a,c,r),c===null)?!1:VV(Array.from(s),[``],i,a,()=>tH(t,n,r))}function eH(e,t,n,r,i){for(;n;)n=QV(e,t,n,r,i);return n}function tH(e,t,n){let r=e._getTarget();t in r||(r[t]={});let i=r[t];return Oz(i)&&kz(n)?n:i||{}}function nH(e,t,n,r){let i;for(let a of t)if(i=rH(WV(a,e),n),i!==void 0)return GV(e,i)?$V(n,r,e,i):i}function rH(e,t){for(let n of t){if(!n)continue;let t=n[e];if(t!==void 0)return t}}function iH(e){let t=e._keys;return t||=e._keys=aH(e._scopes),t}function aH(e){let t=new Set;for(let n of e)for(let e of Object.keys(n).filter(e=>!e.startsWith(`_`)))t.add(e);return Array.from(t)}function oH(e,t,n,r){let{iScale:i}=e,{key:a=`r`}=this._parsing,o=Array(r),s,c,l,u;for(s=0,c=r;ste===`x`?`y`:`x`;function uH(e,t,n,r){let i=e.skip?t:e,a=t,o=n.skip?t:n,s=bB(a,i),c=bB(o,a),l=s/(s+c),u=c/(s+c);l=isNaN(l)?0:l,u=isNaN(u)?0:u;let d=r*l,f=r*u;return{previous:{x:a.x-d*(o.x-i.x),y:a.y-d*(o.y-i.y)},next:{x:a.x+f*(o.x-i.x),y:a.y+f*(o.y-i.y)}}}function dH(e,t,n){let r=e.length,i,a,o,s,c,l=cH(e,0);for(let u=0;u!e.skip)),t.cubicInterpolationMode===`monotone`)pH(e,i);else{let n=r?e[e.length-1]:e[0];for(a=0,o=e.length;ae.ownerDocument.defaultView.getComputedStyle(e,null);function xH(e,t){return bH(e).getPropertyValue(t)}var SH=[`top`,`right`,`bottom`,`left`];function CH(e,t,n){let r={};n=n?`-`+n:``;for(let i=0;i<4;i++){let a=SH[i];r[a]=parseFloat(e[t+`-`+a+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}var wH=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function TH(e,t){let n=e.touches,r=n&&n.length?n[0]:e,{offsetX:i,offsetY:a}=r,o=!1,s,c;if(wH(i,a,e.target))s=i,c=a;else{let e=t.getBoundingClientRect();s=r.clientX-e.left,c=r.clientY-e.top,o=!0}return{x:s,y:c,box:o}}function EH(e,t){if(`native`in e)return e;let{canvas:n,currentDevicePixelRatio:r}=t,i=bH(n),a=i.boxSizing===`border-box`,o=CH(i,`padding`),s=CH(i,`border`,`width`),{x:c,y:l,box:u}=TH(e,n),d=o.left+(u&&s.left),f=o.top+(u&&s.top),{width:p,height:m}=t;return a&&(p-=o.width+s.width,m-=o.height+s.height),{x:Math.round((c-d)/p*n.width/r),y:Math.round((l-f)/m*n.height/r)}}function DH(e,t,n){let r,i;if(t===void 0||n===void 0){let a=e&&vH(e);if(!a)t=e.clientWidth,n=e.clientHeight;else{let e=a.getBoundingClientRect(),o=bH(a),s=CH(o,`border`,`width`),c=CH(o,`padding`);t=e.width-c.width-s.width,n=e.height-c.height-s.height,r=yH(o.maxWidth,a,`clientWidth`),i=yH(o.maxHeight,a,`clientHeight`)}}return{width:t,height:n,maxWidth:r||nB,maxHeight:i||nB}}var OH=e=>Math.round(e*10)/10;function kH(e,t,n,r){let i=bH(e),a=CH(i,`margin`),o=yH(i.maxWidth,e,`clientWidth`)||nB,s=yH(i.maxHeight,e,`clientHeight`)||nB,c=DH(e,t,n),{width:l,height:u}=c;if(i.boxSizing===`content-box`){let e=CH(i,`border`,`width`),t=CH(i,`padding`);l-=t.width+e.width,u-=t.height+e.height}return l=Math.max(0,l-a.width),u=Math.max(0,r?l/r:u-a.height),l=OH(Math.min(l,o,c.maxWidth)),u=OH(Math.min(u,s,c.maxHeight)),l&&!u&&(u=OH(l/2)),(t!==void 0||n!==void 0)&&r&&c.height&&u>c.height&&(u=c.height,l=OH(Math.floor(u*r))),{width:l,height:u}}function AH(e,t,n){let r=t||1,i=OH(e.height*r),a=OH(e.width*r);e.height=OH(e.height),e.width=OH(e.width);let o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==r||o.height!==i||o.width!==a?(e.currentDevicePixelRatio=r,o.height=i,o.width=a,e.ctx.setTransform(r,0,0,r,0,0),!0):!1}var jH=function(){let e=!1;try{let t={get passive(){return e=!0,!1}};_H()&&(window.addEventListener(`test`,null,t),window.removeEventListener(`test`,null,t))}catch{}return e}();function MH(e,t){let n=xH(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function NH(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function PH(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:r===`middle`?n<.5?e.y:t.y:r===`after`?n<1?e.y:t.y:n>0?t.y:e.y}}function FH(e,t,n,r){let i={x:e.cp2x,y:e.cp2y},a={x:t.cp1x,y:t.cp1y},o=NH(e,i,n),s=NH(i,a,n),c=NH(a,t,n);return NH(NH(o,s,n),NH(s,c,n),n)}var IH=function(e,t){return{x(n){return e+e+t-n},setWidth(e){t=e},textAlign(e){return e===`center`?e:e===`right`?`left`:`right`},xPlus(e,t){return e-t},leftForLtr(e,t){return e-t}}},LH=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function RH(e,t,n){return e?IH(t,n):LH()}function zH(e,t){let n,r;(t===`ltr`||t===`rtl`)&&(n=e.canvas.style,r=[n.getPropertyValue(`direction`),n.getPropertyPriority(`direction`)],n.setProperty(`direction`,t,`important`),e.prevTextDirection=r)}function BH(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty(`direction`,t[0],t[1]))}function VH(e){return e===`angle`?{between:CB,compare:xB,normalize:SB}:{between:EB,compare:(e,t)=>e-t,normalize:e=>e}}function HH({start:e,end:t,count:n,loop:r,style:i}){return{start:e%n,end:t%n,loop:r&&(t-e+1)%n===0,style:i}}function UH(e,t,n){let{property:r,start:i,end:a}=n,{between:o,normalize:s}=VH(r),c=t.length,{start:l,end:u,loop:d}=e,f,p;if(d){for(l+=c,u+=c,f=0,p=c;fc(i,y,_)&&s(i,y)!==0,x=()=>s(a,_)===0||c(a,y,_),S=()=>h||b(),C=()=>!h||x();for(let e=u,n=u;e<=d;++e)v=t[e%o],!v.skip&&(_=l(v[r]),_!==y&&(h=c(_,i,a),g===null&&S()&&(g=s(_,i)===0?e:n),g!==null&&C()&&(m.push(HH({start:g,end:e,loop:f,count:o,style:p})),g=null),n=e,y=_));return g!==null&&m.push(HH({start:g,end:d,loop:f,count:o,style:p})),m}function GH(e,t){let n=[],r=e.segments;for(let i=0;ii&&e[a%t].skip;)a--;return a%=t,{start:i,end:a}}function qH(e,t,n,r){let i=e.length,a=[],o=t,s=e[t],c;for(c=t+1;c<=n;++c){let n=e[c%i];n.skip||n.stop?s.skip||(r=!1,a.push({start:t%i,end:(c-1)%i,loop:r}),t=o=n.stop?c:null):(o=c,s.skip&&(t=c)),s=n}return o!==null&&a.push({start:t%i,end:o%i,loop:r}),a}function JH(e,t){let n=e.points,r=e.options.spanGaps,i=n.length;if(!i)return[];let a=!!e._loop,{start:o,end:s}=KH(n,i,a,r);return r===!0?YH(e,[{start:o,end:s,loop:a}],n,t):YH(e,qH(n,o,sr({chart:e,initial:t.initial,numSteps:a,currentStep:Math.min(n-t.start,a)}))}_refresh(){this._request||=(this._running=!0,FB.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((n,r)=>{if(!n.running||!n.items.length)return;let i=n.items,a=i.length-1,o=!1,s;for(;a>=0;--a)s=i[a],s._active?(s._total>n.duration&&(n.duration=s._total),s.tick(e),o=!0):(i[a]=i[i.length-1],i.pop());o&&(r.draw(),this._notify(r,n,e,`progress`)),i.length||(n.running=!1,this._notify(r,n,e,`complete`),n.initial=!1),t+=i.length}),this._lastDate=e,t===0&&(this._running=!1)}_getAnims(e){let t=this._charts,n=t.get(e);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,n)),n}listen(e,t,n){this._getAnims(e).listeners[t].push(n)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){let t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((e,t)=>Math.max(e,t._duration),0),this._refresh())}running(e){if(!this._running)return!1;let t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){let t=this._charts.get(e);if(!t||!t.items.length)return;let n=t.items,r=n.length-1;for(;r>=0;--r)n[r].cancel();t.items=[],this._notify(e,t,Date.now(),`complete`)}remove(e){return this._charts.delete(e)}},rU=`transparent`,iU={boolean(e,t,n){return n>.5?t:e},color(e,t,n){let r=JB(e||rU),i=r.valid&&JB(t||rU);return i&&i.valid?i.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}},aU=class{constructor(e,t,n,r){let i=t[n];r=RV([e.to,r,i,e.from]);let a=RV([e.from,i,r]);this._active=!0,this._fn=e.fn||iU[e.type||typeof a],this._easing=KB[e.easing]||KB.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=n,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,n){if(this._active){this._notify(!1);let r=this._target[this._prop],i=n-this._start,a=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(a,e.duration)),this._total+=i,this._loop=!!e.loop,this._to=RV([e.to,t,r,e.from]),this._from=RV([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){let t=e-this._start,n=this._duration,r=this._prop,i=this._from,a=this._loop,o=this._to,s;if(this._active=i!==o&&(a||t1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[r]=this._fn(i,o,s)}wait(){let e=this._promises||=[];return new Promise((t,n)=>{e.push({res:t,rej:n})})}_notify(e){let t=e?`res`:`rej`,n=this._promises||[];for(let e=0;e{let i=e[r];if(!kz(i))return;let a={};for(let e of t)a[e]=i[e];(Oz(i.properties)&&i.properties||[r]).forEach(e=>{(e===r||!n.has(e))&&n.set(e,a)})})}_animateOptions(e,t){let n=t.options,r=cU(e,n);if(!r)return[];let i=this._createAnimations(r,n);return n.$shared&&sU(e.options.$animations,n).then(()=>{e.options=n},()=>{}),i}_createAnimations(e,t){let n=this._properties,r=[],i=e.$animations||={},a=Object.keys(t),o=Date.now(),s;for(s=a.length-1;s>=0;--s){let c=a[s];if(c.charAt(0)===`$`)continue;if(c===`options`){r.push(...this._animateOptions(e,t));continue}let l=t[c],u=i[c],d=n.get(c);if(u)if(d&&u.active()){u.update(d,l,o);continue}else u.cancel();if(!d||!d.duration){e[c]=l;continue}i[c]=u=new aU(d,e,c,l),r.push(u)}return r}update(e,t){if(this._properties.size===0){Object.assign(e,t);return}let n=this._createAnimations(e,t);if(n.length)return nU.add(this._chart,n),!0}};function sU(e,t){let n=[],r=Object.keys(t);for(let t=0;t0||!n&&t<0)return i.index}return null}function bU(e,t){let{chart:n,_cachedMeta:r}=e,i=n._stacks||={},{iScale:a,vScale:o,index:s}=r,c=a.axis,l=o.axis,u=gU(a,o,r),d=t.length,f;for(let e=0;en[e].axis===t).shift()}function SU(e,t){return BV(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:`default`,type:`dataset`})}function CU(e,t,n){return BV(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:`default`,type:`data`})}function wU(e,t){let n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t||=e._parsed;for(let e of t){let t=e._stacks;if(!t||t[r]===void 0||t[r][n]===void 0)return;delete t[r][n],t[r]._visualValues!==void 0&&t[r]._visualValues[n]!==void 0&&delete t[r]._visualValues[n]}}}var TU=e=>e===`reset`||e===`none`,EU=(e,t)=>t?e:Object.assign({},e),DU=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:fU(n,!0),values:null},OU=class{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=hU(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled(`filler`)&&console.warn(`Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options`)}updateIndex(e){this.index!==e&&wU(this._cachedMeta),this.index=e}linkScales(){let e=this.chart,t=this._cachedMeta,n=this.getDataset(),r=(e,t,n,r)=>e===`x`?t:e===`r`?r:n,i=t.xAxisID=Mz(n.xAxisID,xU(e,`x`)),a=t.yAxisID=Mz(n.yAxisID,xU(e,`y`)),o=t.rAxisID=Mz(n.rAxisID,xU(e,`r`)),s=t.indexAxis,c=t.iAxisID=r(s,i,a,o),l=t.vAxisID=r(s,a,i,o);t.xScale=this.getScaleForId(i),t.yScale=this.getScaleForId(a),t.rScale=this.getScaleForId(o),t.iScale=this.getScaleForId(c),t.vScale=this.getScaleForId(l)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){let t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update(`reset`)}_destroy(){let e=this._cachedMeta;this._data&&NB(this._data,this),e._stacked&&wU(e)}_dataCheck(){let e=this.getDataset(),t=e.data||=[],n=this._data;if(kz(t)){let e=this._cachedMeta;this._data=mU(t,e)}else if(n!==t){if(n){NB(n,this);let e=this._cachedMeta;wU(e),e._parsed=[]}t&&Object.isExtensible(t)&&MB(t,this),this._syncList=[],this._data=t}}addElements(){let e=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(e.dataset=new this.datasetElementType)}buildOrUpdateElements(e){let t=this._cachedMeta,n=this.getDataset(),r=!1;this._dataCheck();let i=t._stacked;t._stacked=hU(t.vScale,t),t.stack!==n.stack&&(r=!0,wU(t),t.stack=n.stack),this._resyncElements(e),(r||i!==t._stacked)&&(bU(this,t._parsed),t._stacked=hU(t.vScale,t))}configure(){let e=this.chart.config,t=e.datasetScopeKeys(this._type),n=e.getOptionScopes(this.getDataset(),t,!0);this.options=e.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(e,t){let{_cachedMeta:n,_data:r}=this,{iScale:i,_stacked:a}=n,o=i.axis,s=e===0&&t===r.length||n._sorted,c=e>0&&n._parsed[e-1],l,u,d;if(this._parsing===!1)n._parsed=r,n._sorted=!0,d=r;else{d=Oz(r[e])?this.parseArrayData(n,r,e,t):kz(r[e])?this.parseObjectData(n,r,e,t):this.parsePrimitiveData(n,r,e,t);let i=()=>u[o]===null||c&&u[o]t||u=0;--d)if(!p()){this.updateRangeFromParsed(c,e,f,s);break}}return c}getAllParsedValues(e){let t=this._cachedMeta._parsed,n=[],r,i,a;for(r=0,i=t.length;r=0&&ethis.getContext(n,r,t),u);return p.$shared&&(p.$shared=s,i[a]=Object.freeze(EU(p,s))),p}_resolveAnimations(e,t,n){let r=this.chart,i=this._cachedDataOpts,a=`animation-${t}`,o=i[a];if(o)return o;let s;if(r.options.animation!==!1){let r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,t),a=r.getOptionScopes(this.getDataset(),i);s=r.createResolver(a,this.getContext(e,n,t))}let c=new oU(r,s&&s.animations);return s&&s._cacheable&&(i[a]=Object.freeze(c)),c}getSharedOptions(e){if(e.$shared)return this._sharedOptions||=Object.assign({},e)}includeOptions(e,t){return!t||TU(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){let n=this.resolveDataElementOptions(e,t),r=this._sharedOptions,i=this.getSharedOptions(n),a=this.includeOptions(t,i)||i!==r;return this.updateSharedOptions(i,t,n),{sharedOptions:i,includeOptions:a}}updateElement(e,t,n,r){TU(r)?Object.assign(e,n):this._resolveAnimations(t,r).update(e,n)}updateSharedOptions(e,t,n){e&&!TU(t)&&this._resolveAnimations(void 0,t).update(e,n)}_setStyle(e,t,n,r){e.active=r;let i=this.getStyle(t,r);this._resolveAnimations(t,n,r).update(e,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(e,t,n){this._setStyle(e,n,`active`,!1)}setHoverStyle(e,t,n){this._setStyle(e,n,`active`,!0)}_removeDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!1)}_setDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!0)}_resyncElements(e){let t=this._data,n=this._cachedMeta.data;for(let[e,t,n]of this._syncList)this[e](t,n);this._syncList=[];let r=n.length,i=t.length,a=Math.min(i,r);a&&this.parse(0,a),i>r?this._insertElements(r,i-r,e):i{for(e.length+=t,o=e.length-1;o>=a;o--)e[o]=e[o-t]};for(s(i),o=e;oe-t))}return e._cache.$bar}function AU(e){let t=e.iScale,n=kU(t,e.type),r=t._length,i,a,o,s,c=()=>{o===32767||o===-32768||(Yz(s)&&(r=Math.min(r,Math.abs(o-s)||r)),s=o)};for(i=0,a=n.length;i0?i[e-1]:null,s=eMath.abs(s)&&(c=s,l=o),t[n.axis]=l,t._custom={barStart:c,barEnd:l,start:i,end:a,min:o,max:s}}function PU(e,t,n,r){return Oz(e)?NU(e,t,n,r):t[n.axis]=n.parse(e,r),t}function FU(e,t,n,r){let i=e.iScale,a=e.vScale,o=i.getLabels(),s=i===a,c=[],l,u,d,f;for(l=n,u=n+r;l=n?1:-1):cB(e)}function RU(e){let t,n,r,i,a;return e.horizontal?(t=e.base>e.x,n=`left`,r=`right`):(t=e.basee.controller.options.grouped),i=n.options.stacked,a=[],o=this._cachedMeta.controller.getParsed(t),s=o&&o[n.axis],c=e=>{let t=e._parsed.find(e=>e[n.axis]===s),r=t&&t[e.vScale.axis];if(Dz(r)||isNaN(r))return!0};for(let n of r)if(!(t!==void 0&&c(n))&&((i===!1||a.indexOf(n.stack)===-1||i===void 0&&n.stack===void 0)&&a.push(n.stack),n.index===e))break;return a.length||a.push(void 0),a}_getStackCount(e){return this._getStacks(void 0,e).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let e=this.chart.scales,t=this.chart.options.indexAxis;return Object.keys(e).filter(n=>e[n].axis===t).shift()}_getAxis(){let e={},t=this.getFirstScaleIdForIndexAxis();for(let n of this.chart.data.datasets)e[Mz(this.chart.options.indexAxis===`x`?n.xAxisID:n.yAxisID,t)]=!0;return Object.keys(e)}_getStackIndex(e,t,n){let r=this._getStacks(e,n),i=t===void 0?-1:r.indexOf(t);return i===-1?r.length-1:i}_getRuler(){let e=this.options,t=this._cachedMeta,n=t.iScale,r=[],i,a;for(i=0,a=t.data.length;i=0;--n)t=Math.max(t,e[n].size(this.resolveDataElementOptions(n))/2);return t>0&&t}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart.data.labels||[],{xScale:r,yScale:i}=t,a=this.getParsed(e),o=r.getLabelForValue(a.x),s=i.getLabelForValue(a.y),c=a._custom;return{label:n[e]||``,value:`(`+o+`, `+s+(c?`, `+c:``)+`)`}}update(e){let t=this._cachedMeta.data;this.updateElements(t,0,t.length,e)}updateElements(e,t,n,r){let i=r===`reset`,{iScale:a,vScale:o}=this._cachedMeta,{sharedOptions:s,includeOptions:c}=this._getSharedOptions(t,r),l=a.axis,u=o.axis;for(let d=t;dCB(e,s,c,!0)?1:Math.max(t,t*n,r,r*n),m=(e,t,r)=>CB(e,s,c,!0)?-1:Math.min(t,t*n,r,r*n),h=p(0,l,d),g=p(iB,u,f),_=m($z,l,d),v=m($z+iB,u,f);r=(h-_)/2,i=(g-v)/2,a=-(h+_)/2,o=-(g+v)/2}return{ratioX:r,ratioY:i,offsetX:a,offsetY:o}}var qU=class extends OU{static id=`doughnut`;static defaults={datasetElementType:!1,dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:`number`,properties:[`circumference`,`endAngle`,`innerRadius`,`outerRadius`,`startAngle`,`x`,`y`,`offset`,`borderWidth`,`spacing`]}},cutout:`50%`,rotation:0,circumference:360,radius:`100%`,spacing:0,indexAxis:`r`};static descriptors={_scriptable:e=>e!==`spacing`,_indexable:e=>e!==`spacing`&&!e.startsWith(`borderDash`)&&!e.startsWith(`hoverBorderDash`)};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data,{labels:{pointStyle:n,textAlign:r,color:i,useBorderRadius:a,borderRadius:o}}=e.legend.options;return t.labels.length&&t.datasets.length?t.labels.map((t,s)=>{let c=e.getDatasetMeta(0).controller.getStyle(s);return{text:t,fillStyle:c.backgroundColor,fontColor:i,hidden:!e.getDataVisibility(s),lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,textAlign:r,pointStyle:n,borderRadius:a&&(o||c.borderRadius),index:s}}):[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}}};constructor(e,t){super(e,t),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,t){let n=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=n;else{let i=e=>+n[e];if(kz(n[e])){let{key:e=`value`}=this._parsing;i=t=>+qz(n[t],e)}let a,o;for(a=e,o=e+t;a0&&!isNaN(e)?Math.abs(e)/t*eB:0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=nV(t._parsed[e],n.options.locale);return{label:r[e]||``,value:i}}getMaxBorderWidth(e){let t=0,n=this.chart,r,i,a,o,s;if(!e){for(r=0,i=n.data.datasets.length;r0&&this.getParsed(t-1);for(let n=0;n=_){v.skip=!0;continue}let b=this.getParsed(n),x=Dz(b[f]),S=v[d]=a.getPixelForValue(b[d],n),C=v[f]=i||x?o.getBasePixel():o.getPixelForValue(s?this.applyStack(o,b,s):b[f],n);v.skip=isNaN(S)||isNaN(C)||x,v.stop=n>0&&Math.abs(b[d]-y[d])>h,m&&(v.parsed=b,v.raw=c.data[n]),u&&(v.options=l||this.resolveDataElementOptions(n,p.active?`active`:r)),g||this.updateElement(p,n,v,r),y=b}}getMaxOverflow(){let e=this._cachedMeta,t=e.dataset,n=t.options&&t.options.borderWidth||0,r=e.data||[];if(!r.length)return n;let i=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,a)/2}draw(){let e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}},YU=class extends OU{static id=`polarArea`;static defaults={dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:`number`,properties:[`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`]}},indexAxis:`r`,startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:n,color:r}}=e.legend.options;return t.labels.map((t,i)=>{let a=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,fontColor:r,lineWidth:a.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}})}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}},scales:{r:{type:`radialLinear`,angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(e,t){super(e,t),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=nV(t._parsed[e].r,n.options.locale);return{label:r[e]||``,value:i}}parseObjectData(e,t,n,r){return oH.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta.data;this._updateRadius(),this.updateElements(t,0,t.length,e)}getMinMax(){let e=this._cachedMeta,t={min:1/0,max:-1/0};return e.data.forEach((e,n)=>{let r=this.getParsed(n).r;!isNaN(r)&&this.chart.getDataVisibility(n)&&(rt.max&&(t.max=r))}),t}_updateRadius(){let e=this.chart,t=e.chartArea,n=e.options,r=Math.min(t.right-t.left,t.bottom-t.top),i=Math.max(r/2,0),a=(i-Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=i-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(e,t,n,r){let i=r===`reset`,a=this.chart,o=a.options.animation,s=this._cachedMeta.rScale,c=s.xCenter,l=s.yCenter,u=s.getIndexAngle(0)-.5*$z,d=u,f,p=360/this.countVisibleElements();for(f=0;f{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&t++}),t}_computeAngle(e,t,n){return this.chart.getDataVisibility(e)?gB(this.resolveDataElementOptions(e,t).angle||n):0}},XU=Object.freeze({__proto__:null,BarController:WU,BubbleController:GU,DoughnutController:qU,LineController:JU,PieController:class extends qU{static id=`pie`;static defaults={cutout:0,rotation:0,circumference:360,radius:`100%`}},PolarAreaController:YU,RadarController:class extends OU{static id=`radar`;static defaults={datasetElementType:`line`,dataElementType:`point`,indexAxis:`r`,showLine:!0,elements:{line:{fill:`start`}}};static overrides={aspectRatio:1,scales:{r:{type:`radialLinear`}}};getLabelAndValue(e){let t=this._cachedMeta.vScale,n=this.getParsed(e);return{label:t.getLabels()[e],value:``+t.getLabelForValue(n[t.axis])}}parseObjectData(e,t,n,r){return oH.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta,n=t.dataset,r=t.data||[],i=t.iScale.getLabels();if(n.points=r,e!==`resize`){let t=this.resolveDatasetElementOptions(e);this.options.showLine||(t.borderWidth=0);let a={_loop:!0,_fullLoop:i.length===r.length,options:t};this.updateElement(n,void 0,a,e)}this.updateElements(r,0,r.length,e)}updateElements(e,t,n,r){let i=this._cachedMeta.rScale,a=r===`reset`;for(let o=t;o0&&this.getParsed(t-1);for(let l=t;l0&&Math.abs(n[f]-v[f])>g,h&&(m.parsed=n,m.raw=c.data[l]),d&&(m.options=u||this.resolveDataElementOptions(l,t.active?`active`:r)),_||this.updateElement(t,l,m,r),v=n}this.updateSharedOptions(u,r,l)}getMaxOverflow(){let e=this._cachedMeta,t=e.data||[];if(!this.options.showLine){let e=0;for(let n=t.length-1;n>=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}let n=e.dataset,r=n.options&&n.options.borderWidth||0;if(!t.length)return r;let i=t[0].size(this.resolveDataElementOptions(0)),a=t[t.length-1].size(this.resolveDataElementOptions(t.length-1));return Math.max(r,i,a)/2}}});function ZU(){throw Error(`This method is not implemented: Check that a complete date adapter is provided.`)}var QU={_date:class e{static override(t){Object.assign(e.prototype,t)}options;constructor(e){this.options=e||{}}init(){}formats(){return ZU()}parse(){return ZU()}format(){return ZU()}add(){return ZU()}diff(){return ZU()}startOf(){return ZU()}endOf(){return ZU()}}};function $U(e,t,n,r){let{controller:i,data:a,_sorted:o}=e,s=i._cachedMeta.iScale,c=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(s&&t===s.axis&&t!==`r`&&o&&a.length){let o=s._reversePixels?kB:OB;if(!r){let r=o(a,t,n);if(c){let{vScale:t}=i._cachedMeta,{_parsed:n}=e,a=n.slice(0,r.lo+1).reverse().findIndex(e=>!Dz(e[t.axis]));r.lo-=Math.max(0,a);let o=n.slice(r.hi).findIndex(e=>!Dz(e[t.axis]));r.hi+=Math.max(0,o)}return r}else if(i._sharedOptions){let e=a[0],r=typeof e.getRange==`function`&&e.getRange(t);if(r){let e=o(a,t,n-r),i=o(a,t,n+r);return{lo:e.lo,hi:i.hi}}}}return{lo:0,hi:a.length-1}}function eW(e,t,n,r,i){let a=e.getSortedVisibleDatasetMetas(),o=n[t];for(let e=0,n=a.length;e{e[o]&&e[o](t[n],i)&&(a.push({element:e,datasetIndex:r,index:c}),s||=e.inRange(t.x,t.y,i))}),r&&!s?[]:a}var sW={evaluateInteractionItems:eW,modes:{index(e,t,n,r){let i=EH(t,e),a=n.axis||`x`,o=n.includeInvisible||!1,s=n.intersect?nW(e,i,a,r,o):aW(e,i,a,!1,r,o),c=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach(e=>{let t=s[0].index,n=e.data[t];n&&!n.skip&&c.push({element:n,datasetIndex:e.index,index:t})}),c):[]},dataset(e,t,n,r){let i=EH(t,e),a=n.axis||`xy`,o=n.includeInvisible||!1,s=n.intersect?nW(e,i,a,r,o):aW(e,i,a,!1,r,o);if(s.length>0){let t=s[0].datasetIndex,n=e.getDatasetMeta(t).data;s=[];for(let e=0;ee.pos===t)}function uW(e,t){return e.filter(e=>cW.indexOf(e.pos)===-1&&e.box.axis===t)}function dW(e,t){return e.sort((e,n)=>{let r=t?n:e,i=t?e:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight})}function fW(e){let t=[],n,r,i,a,o,s;for(n=0,r=(e||[]).length;ne.box.fullSize),!0),r=dW(lW(t,`left`),!0),i=dW(lW(t,`right`)),a=dW(lW(t,`top`),!0),o=dW(lW(t,`bottom`)),s=uW(t,`x`),c=uW(t,`y`);return{fullSize:n,leftAndTop:r.concat(a),rightAndBottom:i.concat(c).concat(o).concat(s),chartArea:lW(t,`chartArea`),vertical:r.concat(i).concat(c),horizontal:a.concat(o).concat(s)}}function gW(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function _W(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function vW(e,t,n,r){let{pos:i,box:a}=n,o=e.maxPadding;if(!kz(i)){n.size&&(e[i]-=n.size);let t=r[n.stack]||{size:0,count:1};t.size=Math.max(t.size,n.horizontal?a.height:a.width),n.size=t.size/t.count,e[i]+=n.size}a.getPadding&&_W(o,a.getPadding());let s=Math.max(0,t.outerWidth-gW(o,e,`left`,`right`)),c=Math.max(0,t.outerHeight-gW(o,e,`top`,`bottom`)),l=s!==e.w,u=c!==e.h;return e.w=s,e.h=c,n.horizontal?{same:l,other:u}:{same:u,other:l}}function yW(e){let t=e.maxPadding;function n(n){let r=Math.max(t[n]-e[n],0);return e[n]+=r,r}e.y+=n(`top`),e.x+=n(`left`),n(`right`),n(`bottom`)}function bW(e,t){let n=t.maxPadding;function r(e){let r={left:0,top:0,right:0,bottom:0};return e.forEach(e=>{r[e]=Math.max(t[e],n[e])}),r}return r(e?[`left`,`right`]:[`top`,`bottom`])}function xW(e,t,n,r){let i=[],a,o,s,c,l,u;for(a=0,o=e.length,l=0;a{typeof e.beforeLayout==`function`&&e.beforeLayout()});let u=c.reduce((e,t)=>t.box.options&&t.box.options.display===!1?e:e+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:a,availableHeight:o,vBoxMaxWidth:a/2/u,hBoxMaxHeight:o/2}),f=Object.assign({},i);_W(f,IV(r));let p=Object.assign({maxPadding:f,w:a,h:o,x:i.left,y:i.top},i),m=mW(c.concat(l),d);xW(s.fullSize,p,d,m),xW(c,p,d,m),xW(l,p,d,m)&&xW(c,p,d,m),yW(p),CW(s.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,CW(s.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},Iz(s.chartArea,t=>{let n=t.box;Object.assign(n,e.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}},TW=class{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,n){}removeEventListener(e,t,n){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,n,r){return t=Math.max(0,t||e.width),n||=e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):n)}}isAttached(e){return!0}updateConfig(e){}},EW=class extends TW{acquireContext(e){return e&&e.getContext&&e.getContext(`2d`)||null}updateConfig(e){e.options.animation=!1}},DW=`$chartjs`,OW={touchstart:`mousedown`,touchmove:`mousemove`,touchend:`mouseup`,pointerenter:`mouseenter`,pointerdown:`mousedown`,pointermove:`mousemove`,pointerup:`mouseup`,pointerleave:`mouseout`,pointerout:`mouseout`},kW=e=>e===null||e===``;function AW(e,t){let n=e.style,r=e.getAttribute(`height`),i=e.getAttribute(`width`);if(e[DW]={initial:{height:r,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||`block`,n.boxSizing=n.boxSizing||`border-box`,kW(i)){let t=MH(e,`width`);t!==void 0&&(e.width=t)}if(kW(r))if(e.style.height===``)e.height=e.width/(t||2);else{let t=MH(e,`height`);t!==void 0&&(e.height=t)}return e}var jW=jH?{passive:!0}:!1;function MW(e,t,n){e&&e.addEventListener(t,n,jW)}function NW(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,jW)}function PW(e,t){let n=OW[e.type]||e.type,{x:r,y:i}=EH(e,t);return{type:n,chart:t,native:e,x:r===void 0?null:r,y:i===void 0?null:i}}function FW(e,t){for(let n of e)if(n===t||n.contains(t))return!0}function IW(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=FW(n.addedNodes,r),t&&=!FW(n.removedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function LW(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=FW(n.removedNodes,r),t&&=!FW(n.addedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}var RW=new Map,zW=0;function BW(){let e=window.devicePixelRatio;e!==zW&&(zW=e,RW.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function VW(e,t){RW.size||window.addEventListener(`resize`,BW),RW.set(e,t)}function HW(e){RW.delete(e),RW.size||window.removeEventListener(`resize`,BW)}function UW(e,t,n){let r=e.canvas,i=r&&vH(r);if(!i)return;let a=IB((e,t)=>{let r=i.clientWidth;n(e,t),r{let t=e[0],n=t.contentRect.width,r=t.contentRect.height;n===0&&r===0||a(n,r)});return o.observe(i),VW(e,a),o}function WW(e,t,n){n&&n.disconnect(),t===`resize`&&HW(e)}function GW(e,t,n){let r=e.canvas,i=IB(t=>{e.ctx!==null&&n(PW(t,e))},e);return MW(r,t,i),i}var KW=class extends TW{acquireContext(e,t){let n=e&&e.getContext&&e.getContext(`2d`);return n&&n.canvas===e?(AW(e,t),n):null}releaseContext(e){let t=e.canvas;if(!t[DW])return!1;let n=t[DW].initial;[`height`,`width`].forEach(e=>{let r=n[e];Dz(r)?t.removeAttribute(e):t.setAttribute(e,r)});let r=n.style||{};return Object.keys(r).forEach(e=>{t.style[e]=r[e]}),t.width=t.width,delete t[DW],!0}addEventListener(e,t,n){this.removeEventListener(e,t);let r=e.$proxies||={};r[t]=({attach:IW,detach:LW,resize:UW}[t]||GW)(e,t,n)}removeEventListener(e,t){let n=e.$proxies||={},r=n[t];r&&(({attach:WW,detach:WW,resize:WW}[t]||NW)(e,t,r),n[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,n,r){return kH(e,t,n,r)}isAttached(e){let t=e&&vH(e);return!!(t&&t.isConnected)}};function qW(e){return!_H()||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas?EW:KW}var JW=class{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(e){let{x:t,y:n}=this.getProps([`x`,`y`],e);return{x:t,y:n}}hasValue(){return pB(this.x)&&pB(this.y)}getProps(e,t){let n=this.$animations;if(!t||!n)return this;let r={};return e.forEach(e=>{r[e]=n[e]&&n[e].active()?n[e]._to:this[e]}),r}};function YW(e,t){let n=e.options.ticks,r=XW(e),i=Math.min(n.maxTicksLimit||r,r),a=n.major.enabled?QW(t):[],o=a.length,s=a[0],c=a[o-1],l=[];if(o>i)return $W(t,l,a,o/i),l;let u=ZW(a,t,i);if(o>0){let e,n,r=o>1?Math.round((c-s)/(o-1)):null;for(eG(t,l,u,Dz(r)?0:s-r,s),e=0,n=o-1;ei)return t}return Math.max(i,1)}function QW(e){let t=[],n,r;for(n=0,r=e.length;ne===`left`?`right`:e===`right`?`left`:e,rG=(e,t,n)=>t===`top`||t===`left`?e[t]+n:e[t]-n,iG=(e,t)=>Math.min(t||e,e);function aG(e,t){let n=[],r=e.length/t,i=e.length,a=0;for(;ao+s)))return c}function sG(e,t){Iz(e,e=>{let n=e.gc,r=n.length/2,i;if(r>t){for(i=0;in?n:t,n=r&&t>n?t:n,{min:jz(t,jz(n,t)),max:jz(n,jz(t,n))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(e=this.chart.chartArea){return this._labelItems||=this._computeLabelItems(e)}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Fz(this.options.beforeUpdate,[this])}update(e,t,n){let{beginAtZero:r,grace:i,ticks:a}=this.options,o=a.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||=(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=zV(this,i,r),!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let s=o=i||n<=1||!this.isHorizontal()){this.labelRotation=r;return}let l=this._getLabelSizes(),u=l.widest.width,d=l.highest.height,f=wB(this.chart.width-u,0,this.maxWidth);o=e.offset?this.maxWidth/n:f/(n-1),u+6>o&&(o=f/(n-(e.offset?.5:1)),s=this.maxHeight-cG(e.grid)-t.padding-lG(e.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),a=_B(Math.min(Math.asin(wB((l.highest.height+6)/o,-1,1)),Math.asin(wB(s/c,-1,1))-Math.asin(wB(d/c,-1,1)))),a=Math.max(r,Math.min(i,a))),this.labelRotation=a}afterCalculateLabelRotation(){Fz(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Fz(this.options.beforeFit,[this])}fit(){let e={width:0,height:0},{chart:t,options:{ticks:n,title:r,grid:i}}=this,a=this._isVisible(),o=this.isHorizontal();if(a){let a=lG(r,t.options.font);if(o?(e.width=this.maxWidth,e.height=cG(i)+a):(e.height=this.maxHeight,e.width=cG(i)+a),n.display&&this.ticks.length){let{first:t,last:r,widest:i,highest:a}=this._getLabelSizes(),s=n.padding*2,c=gB(this.labelRotation),l=Math.cos(c),u=Math.sin(c);if(o){let t=n.mirror?0:u*i.width+l*a.height;e.height=Math.min(this.maxHeight,e.height+t+s)}else{let t=n.mirror?0:l*i.width+u*a.height;e.width=Math.min(this.maxWidth,e.width+t+s)}this._calculatePadding(t,r,u,l)}}this._handleMargins(),o?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,n,r){let{ticks:{align:i,padding:a},position:o}=this.options,s=this.labelRotation!==0,c=o!==`top`&&this.axis===`x`;if(this.isHorizontal()){let o=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1),u=0,d=0;s?c?(u=r*e.width,d=n*t.height):(u=n*e.height,d=r*t.width):i===`start`?d=t.width:i===`end`?u=e.width:i!==`inner`&&(u=e.width/2,d=t.width/2),this.paddingLeft=Math.max((u-o+a)*this.width/(this.width-o),0),this.paddingRight=Math.max((d-l+a)*this.width/(this.width-l),0)}else{let n=t.height/2,r=e.height/2;i===`start`?(n=0,r=e.height):i===`end`&&(n=t.height,r=0),this.paddingTop=n+a,this.paddingBottom=r+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Fz(this.options.afterFit,[this])}isHorizontal(){let{axis:e,position:t}=this.options;return t===`top`||t===`bottom`||e===`x`}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){this.beforeTickToLabelConversion(),this.generateTickLabels(e);let t,n;for(t=0,n=e.length;t({width:a[e]||0,height:o[e]||0});return{first:C(0),last:C(t-1),widest:C(x),highest:C(S),widths:a,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){let t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);let t=this._startPixel+e*this._length;return TB(this._alignToPixels?hV(this.chart,t,0):t)}getDecimalForPixel(e){let t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){let t=this.ticks||[];if(e>=0&&eo*r?o/n:s/r:s*r0:!!e}_computeGridLineItems(e){let t=this.axis,n=this.chart,r=this.options,{grid:i,position:a,border:o}=r,s=i.offset,c=this.isHorizontal(),l=this.ticks.length+ +!!s,u=cG(i),d=[],f=o.setContext(this.getContext()),p=f.display?f.width:0,m=p/2,h=function(e){return hV(n,e,p)},g,_,v,y,b,x,S,C,w,T,ee,te;if(a===`top`)g=h(this.bottom),x=this.bottom-u,C=g-m,T=h(e.top)+m,te=e.bottom;else if(a===`bottom`)g=h(this.top),T=e.top,te=h(e.bottom)-m,x=g+m,C=this.top+u;else if(a===`left`)g=h(this.right),b=this.right-u,S=g-m,w=h(e.left)+m,ee=e.right;else if(a===`right`)g=h(this.left),w=e.left,ee=h(e.right)-m,b=g+m,S=this.left+u;else if(t===`x`){if(a===`center`)g=h((e.top+e.bottom)/2+.5);else if(kz(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}T=e.top,te=e.bottom,x=g+m,C=x+u}else if(t===`y`){if(a===`center`)g=h((e.left+e.right)/2);else if(kz(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}b=g-m,S=b-u,w=e.left,ee=e.right}let ne=Mz(r.ticks.maxTicksLimit,l),re=Math.max(1,Math.ceil(l/ne));for(_=0;_0&&(a-=r/2);break}f={left:a,top:i,width:r+t.width,height:n+t.height,color:e.backdropColor}}h.push({label:y,font:w,textOffset:te,options:{rotation:m,color:n,strokeColor:s,strokeWidth:l,textAlign:d,textBaseline:ne,translation:[b,x],backdrop:f}})}return h}_getXAxisLabelAlignment(){let{position:e,ticks:t}=this.options;if(-gB(this.labelRotation))return e===`top`?`left`:`right`;let n=`center`;return t.align===`start`?n=`left`:t.align===`end`?n=`right`:t.align===`inner`&&(n=`inner`),n}_getYAxisLabelAlignment(e){let{position:t,ticks:{crossAlign:n,mirror:r,padding:i}}=this.options,a=this._getLabelSizes(),o=e+i,s=a.widest.width,c,l;return t===`left`?r?(l=this.right+i,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l+=s)):(l=this.right-o,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l=this.left)):t===`right`?r?(l=this.left+i,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l-=s)):(l=this.left+o,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l=this.right)):c=`right`,{textAlign:c,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;let e=this.chart,t=this.options.position;if(t===`left`||t===`right`)return{top:0,left:this.left,bottom:e.height,right:this.right};if(t===`top`||t===`bottom`)return{top:this.top,left:0,bottom:this.bottom,right:e.width}}drawBackground(){let{ctx:e,options:{backgroundColor:t},left:n,top:r,width:i,height:a}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(n,r,i,a),e.restore())}getLineWidthForValue(e){let t=this.options.grid;if(!this._isVisible()||!t.display)return 0;let n=this.ticks.findIndex(t=>t.value===e);return n>=0?t.setContext(this.getContext(n)).lineWidth:0}drawGrid(e){let t=this.options.grid,n=this.ctx,r=this._gridLineItems||=this._computeGridLineItems(e),i,a,o=(e,t,r)=>{!r.width||!r.color||(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(t.x,t.y),n.stroke(),n.restore())};if(t.display)for(i=0,a=r.length;i{this.draw(e)}}]:[{z:r,draw:e=>{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:e=>{this.drawLabels(e)}}]}getMatchingVisibleMetas(e){let t=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+`AxisID`,r=[],i,a;for(i=0,a=t.length;i{let r=n.split(`.`),i=r.pop(),a=[e].concat(r).join(`.`),o=t[n].split(`.`),s=o.pop(),c=o.join(`.`);dV.route(a,i,c,s)})}function vG(e){return`id`in e&&`defaults`in e}var yG=new class{constructor(){this.controllers=new hG(OU,`datasets`,!0),this.elements=new hG(JW,`elements`),this.plugins=new hG(Object,`plugins`),this.scales=new hG(mG,`scales`),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each(`register`,e)}remove(...e){this._each(`unregister`,e)}addControllers(...e){this._each(`register`,e,this.controllers)}addElements(...e){this._each(`register`,e,this.elements)}addPlugins(...e){this._each(`register`,e,this.plugins)}addScales(...e){this._each(`register`,e,this.scales)}getController(e){return this._get(e,this.controllers,`controller`)}getElement(e){return this._get(e,this.elements,`element`)}getPlugin(e){return this._get(e,this.plugins,`plugin`)}getScale(e){return this._get(e,this.scales,`scale`)}removeControllers(...e){this._each(`unregister`,e,this.controllers)}removeElements(...e){this._each(`unregister`,e,this.elements)}removePlugins(...e){this._each(`unregister`,e,this.plugins)}removeScales(...e){this._each(`unregister`,e,this.scales)}_each(e,t,n){[...t].forEach(t=>{let r=n||this._getRegistryForType(t);n||r.isForType(t)||r===this.plugins&&t.id?this._exec(e,r,t):Iz(t,t=>{let r=n||this._getRegistryForType(t);this._exec(e,r,t)})})}_exec(e,t,n){let r=Jz(e);Fz(n[`before`+r],[],n),t[e](n),Fz(n[`after`+r],[],n)}_getRegistryForType(e){for(let t=0;te.filter(e=>!t.some(t=>e.plugin.id===t.plugin.id));this._notify(r(t,n),e,`stop`),this._notify(r(n,t),e,`start`)}};function xG(e){let t={},n=[],r=Object.keys(yG.plugins.items);for(let e=0;e1&&OG(e[0].toLowerCase());if(t)return t}throw Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function jG(e,t,n){if(n[t+`AxisID`]===e)return{axis:t}}function MG(e,t){if(t.data&&t.data.datasets){let n=t.data.datasets.filter(t=>t.xAxisID===e||t.yAxisID===e);if(n.length)return jG(e,`x`,n[0])||jG(e,`y`,n[0])}return{}}function NG(e,t){let n=sV[e.type]||{scales:{}},r=t.scales||{},i=TG(e.type,t),a=Object.create(null);return Object.keys(r).forEach(t=>{let o=r[t];if(!kz(o))return console.error(`Invalid scale configuration for scale: ${t}`);if(o._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);let s=AG(t,o,MG(t,e),dV.scales[o.type]),c=DG(s,i),l=n.scales||{};a[t]=Hz(Object.create(null),[{axis:s},o,l[s],l[c]])}),e.data.datasets.forEach(n=>{let i=n.type||e.type,o=n.indexAxis||TG(i,t),s=(sV[i]||{}).scales||{};Object.keys(s).forEach(e=>{let t=EG(e,o),i=n[t+`AxisID`]||t;a[i]=a[i]||Object.create(null),Hz(a[i],[{axis:t},r[i],s[e]])})}),Object.keys(a).forEach(e=>{let t=a[e];Hz(t,[dV.scales[t.type],dV.scale])}),a}function PG(e){let t=e.options||={};t.plugins=Mz(t.plugins,{}),t.scales=NG(e,t)}function FG(e){return e||={},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function IG(e){return e||={},e.data=FG(e.data),PG(e),e}var LG=new Map,RG=new Set;function zG(e,t){let n=LG.get(e);return n||(n=t(),LG.set(e,n),RG.add(n)),n}var BG=(e,t,n)=>{let r=qz(t,n);r!==void 0&&e.add(r)},VG=class{constructor(e){this._config=IG(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=FG(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){let e=this._config;this.clearCache(),PG(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return zG(e,()=>[[`datasets.${e}`,``]])}datasetAnimationScopeKeys(e,t){return zG(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,``]])}datasetElementScopeKeys(e,t){return zG(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,``]])}pluginScopeKeys(e){let t=e.id,n=this.type;return zG(`${n}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){let n=this._scopeCache,r=n.get(e);return(!r||t)&&(r=new Map,n.set(e,r)),r}getOptionScopes(e,t,n){let{options:r,type:i}=this,a=this._cachedScopes(e,n),o=a.get(t);if(o)return o;let s=new Set;t.forEach(t=>{e&&(s.add(e),t.forEach(t=>BG(s,e,t))),t.forEach(e=>BG(s,r,e)),t.forEach(e=>BG(s,sV[i]||{},e)),t.forEach(e=>BG(s,dV,e)),t.forEach(e=>BG(s,cV,e))});let c=Array.from(s);return c.length===0&&c.push(Object.create(null)),RG.has(t)&&a.set(t,c),c}chartOptionScopes(){let{options:e,type:t}=this;return[e,sV[t]||{},dV.datasets[t]||{},{type:t},dV,cV]}resolveNamedOptions(e,t,n,r=[``]){let i={$shared:!0},{resolver:a,subPrefixes:o}=HG(this._resolverCache,e,r),s=a;if(WG(a,t)){i.$shared=!1,n=Xz(n)?n():n;let t=this.createResolver(e,n,o);s=HV(a,n,t)}for(let e of t)i[e]=s[e];return i}createResolver(e,t,n=[``],r){let{resolver:i}=HG(this._resolverCache,e,n);return kz(t)?HV(i,t,void 0,r):i}};function HG(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));let i=n.join(),a=r.get(i);return a||(a={resolver:VV(t,n),subPrefixes:n.filter(e=>!e.toLowerCase().includes(`hover`))},r.set(i,a)),a}var UG=e=>kz(e)&&Object.getOwnPropertyNames(e).some(t=>Xz(e[t]));function WG(e,t){let{isScriptable:n,isIndexable:r}=UV(e);for(let i of t){let t=n(i),a=r(i),o=(a||t)&&e[i];if(t&&(Xz(o)||UG(o))||a&&Oz(o))return!0}return!1}var GG=`4.5.1`,KG=[`top`,`bottom`,`left`,`right`,`chartArea`];function qG(e,t){return e===`top`||e===`bottom`||KG.indexOf(e)===-1&&t===`x`}function JG(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function YG(e){let t=e.chart,n=t.options.animation;t.notifyPlugins(`afterRender`),Fz(n&&n.onComplete,[e],t)}function XG(e){let t=e.chart,n=t.options.animation;Fz(n&&n.onProgress,[e],t)}function ZG(e){return _H()&&typeof e==`string`?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}var QG={},$G=e=>{let t=ZG(e);return Object.values(QG).filter(e=>e.canvas===t).pop()};function eK(e,t,n){let r=Object.keys(e);for(let i of r){let r=+i;if(r>=t){let a=e[i];delete e[i],(n>0||r>t)&&(e[r+n]=a)}}}function tK(e,t,n,r){return!n||e.type===`mouseout`?null:r?t:e}var nK=class{static defaults=dV;static instances=QG;static overrides=sV;static registry=yG;static version=GG;static getChart=$G;static register(...e){yG.add(...e),rK()}static unregister(...e){yG.remove(...e),rK()}constructor(e,t){let n=this.config=new VG(t),r=ZG(e),i=$G(r);if(i)throw Error(`Canvas is already in use. Chart with ID '`+i.id+`' must be destroyed before the canvas with ID '`+i.canvas.id+`' can be reused.`);let a=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||(qW(r))),this.platform.updateConfig(n);let o=this.platform.acquireContext(r,a.aspectRatio),s=o&&o.canvas,c=s&&s.height,l=s&&s.width;if(this.id=Ez(),this.ctx=o,this.canvas=s,this.width=l,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new bG,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=LB(e=>this.update(e),a.resizeDelay||0),this._dataChanges=[],QG[this.id]=this,!o||!s){console.error(`Failed to create chart: can't acquire context from the given item`);return}nU.listen(this,`complete`,YG),nU.listen(this,`progress`,XG),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:r,_aspectRatio:i}=this;return Dz(e)?t&&i?i:r?n/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return yG}_initialize(){return this.notifyPlugins(`beforeInit`),this.options.responsive?this.resize():AH(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins(`afterInit`),this}clear(){return gV(this.canvas,this.ctx),this}stop(){return nU.stop(this),this}resize(e,t){nU.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){let n=this.options,r=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,e,t,i),o=n.devicePixelRatio||this.platform.getDevicePixelRatio(),s=this.width?`resize`:`attach`;this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,AH(this,o,!0)&&(this.notifyPlugins(`resize`,{size:a}),Fz(n.onResize,[this,a],this),this.attached&&this._doResize(s)&&this.render())}ensureScalesHaveIDs(){Iz(this.options.scales||{},(e,t)=>{e.id=t})}buildOrUpdateScales(){let e=this.options,t=e.scales,n=this.scales,r=Object.keys(n).reduce((e,t)=>(e[t]=!1,e),{}),i=[];t&&(i=i.concat(Object.keys(t).map(e=>{let n=t[e],r=AG(e,n),i=r===`r`,a=r===`x`;return{options:n,dposition:i?`chartArea`:a?`bottom`:`left`,dtype:i?`radialLinear`:a?`category`:`linear`}}))),Iz(i,t=>{let i=t.options,a=i.id,o=AG(a,i),s=Mz(i.type,t.dtype);(i.position===void 0||qG(i.position,o)!==qG(t.dposition))&&(i.position=t.dposition),r[a]=!0;let c=null;a in n&&n[a].type===s?c=n[a]:(c=new(yG.getScale(s))({id:a,type:s,ctx:this.ctx,chart:this}),n[c.id]=c),c.init(i,e)}),Iz(r,(e,t)=>{e||delete n[t]}),Iz(n,e=>{wW.configure(this,e,e.options),wW.addBox(this,e)})}_updateMetasets(){let e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort((e,t)=>e.index-t.index),n>t){for(let e=t;et.length&&delete this._stacks,e.forEach((e,n)=>{t.filter(t=>t===e._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let e=[],t=this.data.datasets,n,r;for(this._removeUnreferencedMetasets(),n=0,r=t.length;n{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins(`reset`)}update(e){let t=this.config;t.update();let n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins(`beforeUpdate`,{mode:e,cancelable:!0})===!1)return;let i=this.buildOrUpdateControllers();this.notifyPlugins(`beforeElementsUpdate`);let a=0;for(let e=0,t=this.data.datasets.length;e{e.reset()}),this._updateDatasets(e),this.notifyPlugins(`afterUpdate`,{mode:e}),this._layers.sort(JG(`z`,`_idx`));let{_active:o,_lastEvent:s}=this;s?this._eventHandler(s,!0):o.length&&this._updateHoverStyles(o,o,!0),this.render()}_updateScales(){Iz(this.scales,e=>{wW.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let e=this.options;(!Zz(new Set(Object.keys(this._listeners)),new Set(e.events))||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(let{method:n,start:r,count:i}of t)eK(e,r,n===`_removeElements`?-i:i)}_getUniformDataChanges(){let e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];let t=this.data.datasets.length,n=t=>new Set(e.filter(e=>e[0]===t).map((e,t)=>t+`,`+e.splice(1).join(`,`))),r=n(0);for(let e=1;ee.split(`,`)).map(e=>({method:e[1],start:+e[2],count:+e[3]}))}_updateLayout(e){if(this.notifyPlugins(`beforeLayout`,{cancelable:!0})===!1)return;wW.update(this,this.width,this.height,e);let t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],Iz(this.boxes,e=>{n&&e.position===`chartArea`||(e.configure&&e.configure(),this._layers.push(...e._layers()))},this),this._layers.forEach((e,t)=>{e._idx=t}),this.notifyPlugins(`afterLayout`)}_updateDatasets(e){if(this.notifyPlugins(`beforeDatasetsUpdate`,{mode:e,cancelable:!0})!==!1){for(let e=0,t=this.data.datasets.length;e=0;--t)this._drawDataset(e[t]);this.notifyPlugins(`afterDatasetsDraw`)}_drawDataset(e){let t=this.ctx,n={meta:e,index:e.index,cancelable:!0},r=tU(this,e);this.notifyPlugins(`beforeDatasetDraw`,n)!==!1&&(r&&bV(t,r),e.controller.draw(),r&&xV(t),n.cancelable=!1,this.notifyPlugins(`afterDatasetDraw`,n))}isPointInArea(e){return yV(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,r){let i=sW.modes[t];return typeof i==`function`?i(this,e,n,r):[]}getDatasetMeta(e){let t=this.data.datasets[e],n=this._metasets,r=n.filter(e=>e&&e._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||=BV(null,{chart:this,type:`chart`})}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){let t=this.data.datasets[e];if(!t)return!1;let n=this.getDatasetMeta(e);return typeof n.hidden==`boolean`?!n.hidden:!t.hidden}setDatasetVisibility(e,t){let n=this.getDatasetMeta(e);n.hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){let r=n?`show`:`hide`,i=this.getDatasetMeta(e),a=i.controller._resolveAnimations(void 0,r);Yz(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),a.update(i,{visible:n}),this.update(t=>t.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){let t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),nU.remove(this),e=0,t=this.data.datasets.length;e{t.addEventListener(this,n,r),e[n]=r},r=(e,t,n)=>{e.offsetX=t,e.offsetY=n,this._eventHandler(e)};Iz(this.options.events,e=>n(e,r))}bindResponsiveEvents(){this._responsiveListeners||={};let e=this._responsiveListeners,t=this.platform,n=(n,r)=>{t.addEventListener(this,n,r),e[n]=r},r=(n,r)=>{e[n]&&(t.removeEventListener(this,n,r),delete e[n])},i=(e,t)=>{this.canvas&&this.resize(e,t)},a,o=()=>{r(`attach`,o),this.attached=!0,this.resize(),n(`resize`,i),n(`detach`,a)};a=()=>{this.attached=!1,r(`resize`,i),this._stop(),this._resize(0,0),n(`attach`,o)},t.isAttached(this.canvas)?o():a()}unbindEvents(){Iz(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},Iz(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){let r=n?`set`:`remove`,i,a,o,s;for(t===`dataset`&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller[`_`+r+`DatasetHoverStyle`]()),o=0,s=e.length;o{let n=this.getDatasetMeta(e);if(!n)throw Error(`No dataset found at index `+e);return{datasetIndex:e,element:n.data[t],index:t}});Lz(n,t)||(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return this._plugins._cache.filter(t=>t.plugin.id===e).length===1}_updateHoverStyles(e,t,n){let r=this.options.hover,i=(e,t)=>e.filter(e=>!t.some(t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)),a=i(t,e),o=n?e:i(e,t);a.length&&this.updateHoverStyle(a,r.mode,!1),o.length&&r.mode&&this.updateHoverStyle(o,r.mode,!0)}_eventHandler(e,t){let n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},r=t=>(t.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins(`beforeEvent`,n,r)===!1)return;let i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins(`afterEvent`,n,r),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){let{_active:r=[],options:i}=this,a=t,o=this._getActiveElements(e,r,n,a),s=Qz(e),c=tK(e,this._lastEvent,n,s);n&&(this._lastEvent=null,Fz(i.onHover,[e,o,this],this),s&&Fz(i.onClick,[e,o,this],this));let l=!Lz(o,r);return(l||t)&&(this._active=o,this._updateHoverStyles(o,r,t)),this._lastEvent=c,l}_getActiveElements(e,t,n,r){if(e.type===`mouseout`)return[];if(!n)return t;let i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,r)}};function rK(){return Iz(nK.instances,e=>e._plugins.invalidate())}function iK(e,t,n){let{startAngle:r,x:i,y:a,outerRadius:o,innerRadius:s,options:c}=t,{borderWidth:l,borderJoinStyle:u}=c,d=Math.min(l/o,SB(r-n));if(e.beginPath(),e.arc(i,a,o-l/2,r+d/2,n-d/2),s>0){let t=Math.min(l/s,SB(r-n));e.arc(i,a,s+l/2,n-t/2,r+t/2,!0)}else{let t=Math.min(l/2,o*SB(r-n));if(u===`round`)e.arc(i,a,t,n-$z/2,r+$z/2,!0);else if(u===`bevel`){let o=2*t*t,s=-o*Math.cos(n+$z/2)+i,c=-o*Math.sin(n+$z/2)+a,l=o*Math.cos(r+$z/2)+i,u=o*Math.sin(r+$z/2)+a;e.lineTo(s,c),e.lineTo(l,u)}}e.closePath(),e.moveTo(0,0),e.rect(0,0,e.canvas.width,e.canvas.height),e.clip(`evenodd`)}function aK(e,t,n){let{startAngle:r,pixelMargin:i,x:a,y:o,outerRadius:s,innerRadius:c}=t,l=i/s;e.beginPath(),e.arc(a,o,s,r-l,n+l),c>i?(l=i/c,e.arc(a,o,c,n+l,r-l,!0)):e.arc(a,o,i,n+iB,r-iB),e.closePath(),e.clip()}function oK(e){return NV(e,[`outerStart`,`outerEnd`,`innerStart`,`innerEnd`])}function sK(e,t,n,r){let i=oK(e.options.borderRadius),a=(n-t)/2,o=Math.min(a,r*t/2),s=e=>{let t=(n-Math.min(a,e))*r/2;return wB(e,0,Math.min(a,t))};return{outerStart:s(i.outerStart),outerEnd:s(i.outerEnd),innerStart:wB(i.innerStart,0,o),innerEnd:wB(i.innerEnd,0,o)}}function cK(e,t,n,r){return{x:n+e*Math.cos(t),y:r+e*Math.sin(t)}}function lK(e,t,n,r,i,a){let{x:o,y:s,startAngle:c,pixelMargin:l,innerRadius:u}=t,d=Math.max(t.outerRadius+r+n-l,0),f=u>0?u+r+n+l:0,p=0,m=i-c;if(r){let e=((u>0?u-r:0)+(d>0?d-r:0))/2;p=(m-(e===0?m:m*e/(e+r)))/2}let h=(m-Math.max(.001,m*d-n/$z)/d)/2,g=c+h+p,_=i-h-p,{outerStart:v,outerEnd:y,innerStart:b,innerEnd:x}=sK(t,f,d,_-g),S=d-v,C=d-y,w=g+v/S,T=_-y/C,ee=f+b,te=f+x,ne=g+b/ee,re=_-x/te;if(e.beginPath(),a){let t=(w+T)/2;if(e.arc(o,s,d,w,t),e.arc(o,s,d,t,T),y>0){let t=cK(C,T,o,s);e.arc(t.x,t.y,y,T,_+iB)}let n=cK(te,_,o,s);if(e.lineTo(n.x,n.y),x>0){let t=cK(te,re,o,s);e.arc(t.x,t.y,x,_+iB,re+Math.PI)}let r=(_-x/f+(g+b/f))/2;if(e.arc(o,s,f,_-x/f,r,!0),e.arc(o,s,f,r,g+b/f,!0),b>0){let t=cK(ee,ne,o,s);e.arc(t.x,t.y,b,ne+Math.PI,g-iB)}let i=cK(S,g,o,s);if(e.lineTo(i.x,i.y),v>0){let t=cK(S,w,o,s);e.arc(t.x,t.y,v,g-iB,w)}}else{e.moveTo(o,s);let t=Math.cos(w)*d+o,n=Math.sin(w)*d+s;e.lineTo(t,n);let r=Math.cos(T)*d+o,i=Math.sin(T)*d+s;e.lineTo(r,i)}e.closePath()}function uK(e,t,n,r,i){let{fullCircles:a,startAngle:o,circumference:s}=t,c=t.endAngle;if(a){lK(e,t,n,r,c,i);for(let t=0;t=$z&&p===0&&u!==`miter`&&iK(e,t,h),a||(lK(e,t,n,r,h,i),e.stroke())}var fK=class extends JW{static id=`arc`;static defaults={borderAlign:`center`,borderColor:`#fff`,borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:`backgroundColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,n){let{angle:r,distance:i}=yB(this.getProps([`x`,`y`],n),{x:e,y:t}),{startAngle:a,endAngle:o,innerRadius:s,outerRadius:c,circumference:l}=this.getProps([`startAngle`,`endAngle`,`innerRadius`,`outerRadius`,`circumference`],n),u=(this.options.spacing+this.options.borderWidth)/2,d=Mz(l,o-a),f=CB(r,a,o)&&a!==o,p=d>=eB||f,m=EB(i,s+u,c+u);return p&&m}getCenterPoint(e){let{x:t,y:n,startAngle:r,endAngle:i,innerRadius:a,outerRadius:o}=this.getProps([`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`],e),{offset:s,spacing:c}=this.options,l=(r+i)/2,u=(a+o+c+s)/2;return{x:t+Math.cos(l)*u,y:n+Math.sin(l)*u}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:t,circumference:n}=this,r=(t.offset||0)/4,i=(t.spacing||0)/2,a=t.circular;if(this.pixelMargin=t.borderAlign===`inner`?.33:0,this.fullCircles=n>eB?Math.floor(n/eB):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let o=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(o)*r,Math.sin(o)*r);let s=r*(1-Math.sin(Math.min($z,n||0)));e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,uK(e,this,s,i,a),dK(e,this,s,i,a),e.restore()}};function pK(e,t,n=t){e.lineCap=Mz(n.borderCapStyle,t.borderCapStyle),e.setLineDash(Mz(n.borderDash,t.borderDash)),e.lineDashOffset=Mz(n.borderDashOffset,t.borderDashOffset),e.lineJoin=Mz(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=Mz(n.borderWidth,t.borderWidth),e.strokeStyle=Mz(n.borderColor,t.borderColor)}function mK(e,t,n){e.lineTo(n.x,n.y)}function hK(e){return e.stepped?SV:e.tension||e.cubicInterpolationMode===`monotone`?CV:mK}function gK(e,t,n={}){let r=e.length,{start:i=0,end:a=r-1}=n,{start:o,end:s}=t,c=Math.max(i,o),l=Math.min(a,s),u=is&&a>s;return{count:r,start:c,loop:t.loop,ilen:l(o+(l?s-e:e))%a,y=()=>{h!==g&&(e.lineTo(u,g),e.lineTo(u,h),e.lineTo(u,_))};for(c&&(p=i[v(0)],e.moveTo(p.x,p.y)),f=0;f<=s;++f){if(p=i[v(f)],p.skip)continue;let t=p.x,n=p.y,r=t|0;r===m?(ng&&(g=n),u=(d*u+t)/++d):(y(),e.lineTo(t,n),m=r,d=0,h=g=n),_=n}y()}function yK(e){let t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!==`monotone`&&!t.stepped&&!n?vK:_K}function bK(e){return e.stepped?PH:e.tension||e.cubicInterpolationMode===`monotone`?FH:NH}function xK(e,t,n,r){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,r)&&i.closePath()),pK(e,t.options),e.stroke(i)}function SK(e,t,n,r){let{segments:i,options:a}=t,o=yK(t);for(let s of i)pK(e,a,s.style),e.beginPath(),o(e,t,s,{start:n,end:n+r-1})&&e.closePath(),e.stroke()}var CK=typeof Path2D==`function`;function wK(e,t,n,r){CK&&!t.options.segment?xK(e,t,n,r):SK(e,t,n,r)}var TK=class extends JW{static id=`line`;static defaults={borderCapStyle:`butt`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:`default`,fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:`backgroundColor`,borderColor:`borderColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`&&e!==`fill`};constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,t){let n=this.options;if((n.tension||n.cubicInterpolationMode===`monotone`)&&!n.stepped&&!this._pointsUpdated){let r=n.spanGaps?this._loop:this._fullLoop;gH(this._points,n,e,r,t),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||=JH(this,this.options.segment)}first(){let e=this.segments,t=this.points;return e.length&&t[e[0].start]}last(){let e=this.segments,t=this.points,n=e.length;return n&&t[e[n-1].end]}interpolate(e,t){let n=this.options,r=e[t],i=this.points,a=GH(this,{property:t,start:r,end:r});if(!a.length)return;let o=[],s=bK(n),c,l;for(c=0,l=a.length;ce.replace(`rgb(`,`rgba(`).replace(`)`,`, 0.5)`));function BK(e){return RK[e%RK.length]}function VK(e){return zK[e%zK.length]}function HK(e,t){return e.borderColor=BK(t),e.backgroundColor=VK(t),++t}function UK(e,t){return e.backgroundColor=e.data.map(()=>BK(t++)),t}function WK(e,t){return e.backgroundColor=e.data.map(()=>VK(t++)),t}function GK(e){let t=0;return(n,r)=>{let i=e.getDatasetMeta(r).controller;i instanceof qU?t=UK(n,t):i instanceof YU?t=WK(n,t):i&&(t=HK(n,t))}}function KK(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}function qK(e){return e&&(e.borderColor||e.backgroundColor)}function JK(){return dV.borderColor!==`rgba(0,0,0,0.1)`||dV.backgroundColor!==`rgba(0,0,0,0.1)`}var YK={id:`colors`,defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;let{data:{datasets:r},options:i}=e.config,{elements:a}=i,o=KK(r)||qK(i)||a&&KK(a)||JK();if(!n.forceOverride&&o)return;let s=GK(e);r.forEach(s)}};function XK(e,t,n,r,i){let a=i.samples||r;if(a>=n)return e.slice(t,t+n);let o=[],s=(n-2)/(a-2),c=0,l=t+n-1,u=t,d,f,p,m,h;for(o[c++]=e[u],d=0;dp&&(p=m,f=e[a],h=a);o[c++]=f,u=h}return o[c++]=e[l],o}function ZK(e,t,n,r){let i=0,a=0,o,s,c,l,u,d,f,p,m,h,g=[],_=t+n-1,v=e[t].x,y=e[_].x-v;for(o=t;oh&&(h=l,f=o),i=(a*i+s.x)/++a;else{let n=o-1;if(!Dz(d)&&!Dz(f)){let t=Math.min(d,f),r=Math.max(d,f);t!==p&&t!==n&&g.push({...e[t],x:i}),r!==p&&r!==n&&g.push({...e[r],x:i})}o>0&&n!==p&&g.push(e[n]),g.push(s),u=t,a=0,m=h=l,d=f=p=o}}return g}function QK(e){if(e._decimated){let t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function $K(e){e.data.datasets.forEach(e=>{QK(e)})}function eq(e,t){let n=t.length,r=0,i,{iScale:a}=e,{min:o,max:s,minDefined:c,maxDefined:l}=a.getUserBounds();return c&&(r=wB(OB(t,a.axis,o).lo,0,n-1)),i=l?wB(OB(t,a.axis,s).hi+1,r,n)-r:n-r,{start:r,count:i}}var tq={id:`decimation`,defaults:{algorithm:`min-max`,enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){$K(e);return}let r=e.width;e.data.datasets.forEach((t,i)=>{let{_data:a,indexAxis:o}=t,s=e.getDatasetMeta(i),c=a||t.data;if(RV([o,e.options.indexAxis])===`y`||!s.controller.supportsDecimation)return;let l=e.scales[s.xAxisID];if(l.type!==`linear`&&l.type!==`time`||e.options.parsing)return;let{start:u,count:d}=eq(s,c);if(d<=(n.threshold||4*r)){QK(t);return}Dz(a)&&(t._data=c,delete t.data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}}));let f;switch(n.algorithm){case`lttb`:f=XK(c,u,d,r,n);break;case`min-max`:f=ZK(c,u,d,r);break;default:throw Error(`Unsupported decimation algorithm '${n.algorithm}'`)}t._decimated=f})},destroy(e){$K(e)}};function nq(e,t,n){let r=e.segments,i=e.points,a=t.points,o=[];for(let e of r){let{start:r,end:s}=e;s=aq(r,s,i);let c=rq(n,i[r],i[s],e.loop);if(!t.segments){o.push({source:e,target:c,start:i[r],end:i[s]});continue}let l=GH(t,c);for(let t of l){let r=rq(n,a[t.start],a[t.end],t.loop),s=WH(e,i,r);for(let e of s)o.push({source:e,target:t,start:{[n]:oq(c,r,`start`,Math.max)},end:{[n]:oq(c,r,`end`,Math.min)}})}}return o}function rq(e,t,n,r){if(r)return;let i=t[e],a=n[e];return e===`angle`&&(i=SB(i),a=SB(a)),{property:e,start:i,end:a}}function iq(e,t){let{x:n=null,y:r=null}=e||{},i=t.points,a=[];return t.segments.forEach(({start:e,end:t})=>{t=aq(e,t,i);let o=i[e],s=i[t];r===null?n!==null&&(a.push({x:n,y:o.y}),a.push({x:n,y:s.y})):(a.push({x:o.x,y:r}),a.push({x:s.x,y:r}))}),a}function aq(e,t,n){for(;t>e;t--){let e=n[t];if(!isNaN(e.x)&&!isNaN(e.y))break}return t}function oq(e,t,n,r){return e&&t?r(e[n],t[n]):e?e[n]:t?t[n]:0}function sq(e,t){let n=[],r=!1;return Oz(e)?(r=!0,n=e):n=iq(e,t),n.length?new TK({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function cq(e){return e&&e.fill!==!1}function lq(e,t,n){let r=e[t].fill,i=[t],a;if(!n)return r;for(;r!==!1&&i.indexOf(r)===-1;){if(!Az(r))return r;if(a=e[r],!a)return!1;if(a.visible)return r;i.push(r),r=a.fill}return!1}function uq(e,t,n){let r=mq(e);if(kz(r))return!isNaN(r.value)&&r;let i=parseFloat(r);return Az(i)&&Math.floor(i)===i?dq(r[0],t,i,n):[`origin`,`start`,`end`,`stack`,`shape`].indexOf(r)>=0&&r}function dq(e,t,n,r){return(e===`-`||e===`+`)&&(n=t+n),n===t||n<0||n>=r?!1:n}function fq(e,t){let n=null;return e===`start`?n=t.bottom:e===`end`?n=t.top:kz(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function pq(e,t,n){let r;return r=e===`start`?n:e===`end`?t.options.reverse?t.min:t.max:kz(e)?e.value:t.getBaseValue(),r}function mq(e){let t=e.options,n=t.fill,r=Mz(n&&n.target,n);return r===void 0&&(r=!!t.backgroundColor),r===!1||r===null?!1:r===!0?`origin`:r}function hq(e){let{scale:t,index:n,line:r}=e,i=[],a=r.segments,o=r.points,s=gq(t,n);s.push(sq({x:null,y:t.bottom},r));for(let e=0;e=0;--t){let n=i[t].$filler;n&&(n.line.updateControlPoints(a,n.axis),r&&n.fill&&Tq(e.ctx,n,a))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!==`beforeDatasetsDraw`)return;let r=e.getSortedVisibleDatasetMetas();for(let t=r.length-1;t>=0;--t){let n=r[t].$filler;cq(n)&&Tq(e.ctx,n,e.chartArea)}},beforeDatasetDraw(e,t,n){let r=t.meta.$filler;!cq(r)||n.drawTime!==`beforeDatasetDraw`||Tq(e.ctx,r,e.chartArea)},defaults:{propagate:!0,drawTime:`beforeDatasetDraw`}},Nq=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},Pq=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index,Fq=class extends JW{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,n){this.maxWidth=e,this.maxHeight=t,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let e=this.options.labels||{},t=Fz(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(t=>e.filter(t,this.chart.data))),e.sort&&(t=t.sort((t,n)=>e.sort(t,n,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){let{options:e,ctx:t}=this;if(!e.display){this.width=this.height=0;return}let n=e.labels,r=LV(n.font),i=r.size,a=this._computeTitleHeight(),{boxWidth:o,itemHeight:s}=Nq(n,i),c,l;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,l=this._fitRows(a,i,o,s)+10):(l=this.maxHeight,c=this._fitCols(a,r,o,s)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(l,e.maxHeight||this.maxHeight)}_fitRows(e,t,n,r){let{ctx:i,maxWidth:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.lineWidths=[0],l=r+o,u=e;i.textAlign=`left`,i.textBaseline=`middle`;let d=-1,f=-l;return this.legendItems.forEach((e,p)=>{let m=n+t/2+i.measureText(e.text).width;(p===0||c[c.length-1]+m+2*o>a)&&(u+=l,c[c.length-(p>0?0:1)]=0,f+=l,d++),s[p]={left:0,top:f,row:d,width:m,height:r},c[c.length-1]+=m+o}),u}_fitCols(e,t,n,r){let{ctx:i,maxHeight:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.columnSizes=[],l=a-e,u=o,d=0,f=0,p=0,m=0;return this.legendItems.forEach((e,a)=>{let{itemWidth:h,itemHeight:g}=Iq(n,t,i,e,r);a>0&&f+g+2*o>l&&(u+=d+o,c.push({width:d,height:f}),p+=d+o,m++,d=f=0),s[a]={left:p,top:f,col:m,width:h,height:g},d=Math.max(d,h),f+=g+o}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:n,labels:{padding:r},rtl:i}}=this,a=RH(i,this.left,this.width);if(this.isHorizontal()){let i=0,o=zB(n,this.left+r,this.right-this.lineWidths[i]);for(let s of t)i!==s.row&&(i=s.row,o=zB(n,this.left+r,this.right-this.lineWidths[i])),s.top+=this.top+e+r,s.left=a.leftForLtr(a.x(o),s.width),o+=s.width+r}else{let i=0,o=zB(n,this.top+e+r,this.bottom-this.columnSizes[i].height);for(let s of t)s.col!==i&&(i=s.col,o=zB(n,this.top+e+r,this.bottom-this.columnSizes[i].height)),s.top=o,s.left+=this.left+r,s.left=a.leftForLtr(a.x(s.left),s.width),o+=s.height+r}}isHorizontal(){return this.options.position===`top`||this.options.position===`bottom`}draw(){if(this.options.display){let e=this.ctx;bV(e,this),this._draw(),xV(e)}}_draw(){let{options:e,columnSizes:t,lineWidths:n,ctx:r}=this,{align:i,labels:a}=e,o=dV.color,s=RH(e.rtl,this.left,this.width),c=LV(a.font),{padding:l}=a,u=c.size,d=u/2,f;this.drawTitle(),r.textAlign=s.textAlign(`left`),r.textBaseline=`middle`,r.lineWidth=.5,r.font=c.string;let{boxWidth:p,boxHeight:m,itemHeight:h}=Nq(a,u),g=function(e,t,n){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;r.save();let i=Mz(n.lineWidth,1);if(r.fillStyle=Mz(n.fillStyle,o),r.lineCap=Mz(n.lineCap,`butt`),r.lineDashOffset=Mz(n.lineDashOffset,0),r.lineJoin=Mz(n.lineJoin,`miter`),r.lineWidth=i,r.strokeStyle=Mz(n.strokeStyle,o),r.setLineDash(Mz(n.lineDash,[])),a.usePointStyle){let o={radius:m*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},c=s.xPlus(e,p/2),l=t+d;vV(r,o,c,l,a.pointStyleWidth&&p)}else{let a=t+Math.max((u-m)/2,0),o=s.leftForLtr(e,p),c=FV(n.borderRadius);r.beginPath(),Object.values(c).some(e=>e!==0)?OV(r,{x:o,y:a,w:p,h:m,radius:c}):r.rect(o,a,p,m),r.fill(),i!==0&&r.stroke()}r.restore()},_=function(e,t,n){DV(r,n.text,e,t+h/2,c,{strikethrough:n.hidden,textAlign:s.textAlign(n.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();f=v?{x:zB(i,this.left+l,this.right-n[0]),y:this.top+l+y,line:0}:{x:this.left+l,y:zB(i,this.top+y+l,this.bottom-t[0].height),line:0},zH(this.ctx,e.textDirection);let b=h+l;this.legendItems.forEach((o,u)=>{r.strokeStyle=o.fontColor,r.fillStyle=o.fontColor;let m=r.measureText(o.text).width,h=s.textAlign(o.textAlign||=a.textAlign),x=p+d+m,S=f.x,C=f.y;s.setWidth(this.width),v?u>0&&S+x+l>this.right&&(C=f.y+=b,f.line++,S=f.x=zB(i,this.left+l,this.right-n[f.line])):u>0&&C+b>this.bottom&&(S=f.x=S+t[f.line].width+l,f.line++,C=f.y=zB(i,this.top+y+l,this.bottom-t[f.line].height));let w=s.x(S);if(g(w,C,o),S=BB(h,S+p+d,v?S+x:this.right,e.rtl),_(s.x(S),C,o),v)f.x+=x+l;else if(typeof o.text!=`string`){let e=c.lineHeight;f.y+=zq(o,e)+l}else f.y+=b}),BH(this.ctx,e.textDirection)}drawTitle(){let e=this.options,t=e.title,n=LV(t.font),r=IV(t.padding);if(!t.display)return;let i=RH(e.rtl,this.left,this.width),a=this.ctx,o=t.position,s=n.size/2,c=r.top+s,l,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),l=this.top+c,u=zB(e.align,u,this.right-d);else{let t=this.columnSizes.reduce((e,t)=>Math.max(e,t.height),0);l=c+zB(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}let f=zB(o,u,u+d);a.textAlign=i.textAlign(RB(o)),a.textBaseline=`middle`,a.strokeStyle=t.color,a.fillStyle=t.color,a.font=n.string,DV(a,t.text,f,l,n)}_computeTitleHeight(){let e=this.options.title,t=LV(e.font),n=IV(e.padding);return e.display?t.lineHeight+n.height:0}_getLegendItemAt(e,t){let n,r,i;if(EB(e,this.left,this.right)&&EB(t,this.top,this.bottom)){for(i=this.legendHitBoxes,n=0;ne.length>t.length?e:t)),t+n.size/2+r.measureText(i).width}function Rq(e,t,n){let r=e;return typeof t.text!=`string`&&(r=zq(t,n)),r}function zq(e,t){return t*(e.text?e.text.length:0)}function Bq(e,t){return!!((e===`mousemove`||e===`mouseout`)&&(t.onHover||t.onLeave)||t.onClick&&(e===`click`||e===`mouseup`))}var lte={id:`legend`,_element:Fq,start(e,t,n){let r=e.legend=new Fq({ctx:e.ctx,options:n,chart:e});wW.configure(e,r,n),wW.addBox(e,r)},stop(e){wW.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){let r=e.legend;wW.configure(e,r,n),r.options=n},afterUpdate(e){let t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:`top`,align:`center`,fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){let r=t.datasetIndex,i=n.chart;i.isDatasetVisible(r)?(i.hide(r),t.hidden=!0):(i.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){let t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:i,color:a,useBorderRadius:o,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map(e=>{let c=e.controller.getStyle(n?0:void 0),l=IV(c.borderWidth);return{text:t[e.index].label,fillStyle:c.backgroundColor,fontColor:a,hidden:!e.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:c.borderColor,pointStyle:r||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:o&&(s||c.borderRadius),datasetIndex:e.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:`center`,text:``}},descriptors:{_scriptable:e=>!e.startsWith(`on`),labels:{_scriptable:e=>![`generateLabels`,`filter`,`sort`].includes(e)}}},Vq=class extends JW{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){let n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=e,this.height=this.bottom=t;let r=Oz(n.text)?n.text.length:1;this._padding=IV(n.padding);let i=r*LV(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){let e=this.options.position;return e===`top`||e===`bottom`}_drawArgs(e){let{top:t,left:n,bottom:r,right:i,options:a}=this,o=a.align,s=0,c,l,u;return this.isHorizontal()?(l=zB(o,n,i),u=t+e,c=i-n):(a.position===`left`?(l=n+e,u=zB(o,r,t),s=$z*-.5):(l=i-e,u=zB(o,t,r),s=$z*.5),c=r-t),{titleX:l,titleY:u,maxWidth:c,rotation:s}}draw(){let e=this.ctx,t=this.options;if(!t.display)return;let n=LV(t.font),r=n.lineHeight/2+this._padding.top,{titleX:i,titleY:a,maxWidth:o,rotation:s}=this._drawArgs(r);DV(e,t.text,0,0,n,{color:t.color,maxWidth:o,rotation:s,textAlign:RB(t.align),textBaseline:`middle`,translation:[i,a]})}};function Hq(e,t){let n=new Vq({ctx:e.ctx,options:t,chart:e});wW.configure(e,n,t),wW.addBox(e,n),e.titleBlock=n}var Uq={id:`title`,_element:Vq,start(e,t,n){Hq(e,n)},stop(e){let t=e.titleBlock;wW.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){let r=e.titleBlock;wW.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`bold`},fullSize:!0,padding:10,position:`top`,text:``,weight:2e3},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Wq=new WeakMap,Gq={id:`subtitle`,start(e,t,n){let r=new Vq({ctx:e.ctx,options:n,chart:e});wW.configure(e,r,n),wW.addBox(e,r),Wq.set(e,r)},stop(e){wW.removeBox(e,Wq.get(e)),Wq.delete(e)},beforeUpdate(e,t,n){let r=Wq.get(e);wW.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`normal`},fullSize:!0,padding:0,position:`top`,text:``,weight:1500},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Kq={average(e){if(!e.length)return!1;let t,n,r=new Set,i=0,a=0;for(t=0,n=e.length;te+t)/r.size,y:i/a}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,i=1/0,a,o,s;for(a=0,o=e.length;a-1?e.split(` -`):e}function Yq(e,t){let{element:n,datasetIndex:r,index:i}=t,a=e.getDatasetMeta(r).controller,{label:o,value:s}=a.getLabelAndValue(i);return{chart:e,label:o,parsed:a.getParsed(i),raw:e.data.datasets[r].data[i],formattedValue:s,dataset:a.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Xq(e,t){let n=e.chart.ctx,{body:r,footer:i,title:a}=e,{boxWidth:o,boxHeight:s}=t,c=LV(t.bodyFont),l=LV(t.titleFont),u=LV(t.footerFont),d=a.length,f=i.length,p=r.length,m=IV(t.padding),h=m.height,g=0,_=r.reduce((e,t)=>e+t.before.length+t.lines.length+t.after.length,0);if(_+=e.beforeBody.length+e.afterBody.length,d&&(h+=d*l.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),_){let e=t.displayColors?Math.max(s,c.lineHeight):c.lineHeight;h+=p*e+(_-p)*c.lineHeight+(_-1)*t.bodySpacing}f&&(h+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let v=0,y=function(e){g=Math.max(g,n.measureText(e).width+v)};return n.save(),n.font=l.string,Iz(e.title,y),n.font=c.string,Iz(e.beforeBody.concat(e.afterBody),y),v=t.displayColors?o+2+t.boxPadding:0,Iz(r,e=>{Iz(e.before,y),Iz(e.lines,y),Iz(e.after,y)}),v=0,n.font=u.string,Iz(e.footer,y),n.restore(),g+=m.width,{width:g,height:h}}function Zq(e,t){let{y:n,height:r}=t;return ne.height-r/2?`bottom`:`center`}function Qq(e,t,n,r){let{x:i,width:a}=r,o=n.caretSize+n.caretPadding;if(e===`left`&&i+a+o>t.width||e===`right`&&i-a-o<0)return!0}function $q(e,t,n,r){let{x:i,width:a}=n,{width:o,chartArea:{left:s,right:c}}=e,l=`center`;return r===`center`?l=i<=(s+c)/2?`left`:`right`:i<=a/2?l=`left`:i>=o-a/2&&(l=`right`),Qq(l,e,t,n)&&(l=`center`),l}function eJ(e,t,n){let r=n.yAlign||t.yAlign||Zq(e,n);return{xAlign:n.xAlign||t.xAlign||$q(e,t,n,r),yAlign:r}}function tJ(e,t){let{x:n,width:r}=e;return t===`right`?n-=r:t===`center`&&(n-=r/2),n}function nJ(e,t,n){let{y:r,height:i}=e;return t===`top`?r+=n:t===`bottom`?r-=i+n:r-=i/2,r}function rJ(e,t,n,r){let{caretSize:i,caretPadding:a,cornerRadius:o}=e,{xAlign:s,yAlign:c}=n,l=i+a,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=FV(o),m=tJ(t,s),h=nJ(t,c,l);return c===`center`?s===`left`?m+=l:s===`right`&&(m-=l):s===`left`?m-=Math.max(u,f)+i:s===`right`&&(m+=Math.max(d,p)+i),{x:wB(m,0,r.width-t.width),y:wB(h,0,r.height-t.height)}}function iJ(e,t,n){let r=IV(n.padding);return t===`center`?e.x+e.width/2:t===`right`?e.x+e.width-r.right:e.x+r.left}function aJ(e){return qq([],Jq(e))}function oJ(e,t,n){return BV(e,{tooltip:t,tooltipItems:n,type:`tooltip`})}function sJ(e,t){let n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}var cJ={beforeTitle:Tz,title(e){if(e.length>0){let t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode===`dataset`)return t.dataset.label||``;if(t.label)return t.label;if(r>0&&t.dataIndex{let t={before:[],lines:[],after:[]},i=sJ(n,e);qq(t.before,Jq(lJ(i,`beforeLabel`,this,e))),qq(t.lines,lJ(i,`label`,this,e)),qq(t.after,Jq(lJ(i,`afterLabel`,this,e))),r.push(t)}),r}getAfterBody(e,t){return aJ(lJ(t.callbacks,`afterBody`,this,e))}getFooter(e,t){let{callbacks:n}=t,r=lJ(n,`beforeFooter`,this,e),i=lJ(n,`footer`,this,e),a=lJ(n,`afterFooter`,this,e),o=[];return o=qq(o,Jq(r)),o=qq(o,Jq(i)),o=qq(o,Jq(a)),o}_createItems(e){let t=this._active,n=this.chart.data,r=[],i=[],a=[],o=[],s,c;for(s=0,c=t.length;se.filter(t,r,i,n))),e.itemSort&&(o=o.sort((t,r)=>e.itemSort(t,r,n))),Iz(o,t=>{let n=sJ(e.callbacks,t);r.push(lJ(n,`labelColor`,this,t)),i.push(lJ(n,`labelPointStyle`,this,t)),a.push(lJ(n,`labelTextColor`,this,t))}),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=a,this.dataPoints=o,o}update(e,t){let n=this.options.setContext(this.getContext()),r=this._active,i,a=[];if(!r.length)this.opacity!==0&&(i={opacity:0});else{let e=Kq[n.position].call(this,r,this._eventPosition);a=this._createItems(n),this.title=this.getTitle(a,n),this.beforeBody=this.getBeforeBody(a,n),this.body=this.getBody(a,n),this.afterBody=this.getAfterBody(a,n),this.footer=this.getFooter(a,n);let t=this._size=Xq(this,n),o=Object.assign({},e,t),s=eJ(this.chart,n,o),c=rJ(n,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:c.x,y:c.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}this._tooltipItems=a,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,n,r){let i=this.getCaretPosition(e,n,r);t.lineTo(i.x1,i.y1),t.lineTo(i.x2,i.y2),t.lineTo(i.x3,i.y3)}getCaretPosition(e,t,n){let{xAlign:r,yAlign:i}=this,{caretSize:a,cornerRadius:o}=n,{topLeft:s,topRight:c,bottomLeft:l,bottomRight:u}=FV(o),{x:d,y:f}=e,{width:p,height:m}=t,h,g,_,v,y,b;return i===`center`?(y=f+m/2,r===`left`?(h=d,g=h-a,v=y+a,b=y-a):(h=d+p,g=h+a,v=y-a,b=y+a),_=h):(g=r===`left`?d+Math.max(s,l)+a:r===`right`?d+p-Math.max(c,u)-a:this.caretX,i===`top`?(v=f,y=v-a,h=g-a,_=g+a):(v=f+m,y=v+a,h=g+a,_=g-a),b=v),{x1:h,x2:g,x3:_,y1:v,y2:y,y3:b}}drawTitle(e,t,n){let r=this.title,i=r.length,a,o,s;if(i){let c=RH(n.rtl,this.x,this.width);for(e.x=iJ(this,n.titleAlign,n),t.textAlign=c.textAlign(n.titleAlign),t.textBaseline=`middle`,a=LV(n.titleFont),o=n.titleSpacing,t.fillStyle=n.titleColor,t.font=a.string,s=0;se!==0)?(e.beginPath(),e.fillStyle=i.multiKeyBackground,OV(e,{x:t,y:p,w:c,h:s,radius:o}),e.fill(),e.stroke(),e.fillStyle=a.backgroundColor,e.beginPath(),OV(e,{x:n,y:p+1,w:c-2,h:s-2,radius:o}),e.fill()):(e.fillStyle=i.multiKeyBackground,e.fillRect(t,p,c,s),e.strokeRect(t,p,c,s),e.fillStyle=a.backgroundColor,e.fillRect(n,p+1,c-2,s-2))}e.fillStyle=this.labelTextColors[n]}drawBody(e,t,n){let{body:r}=this,{bodySpacing:i,bodyAlign:a,displayColors:o,boxHeight:s,boxWidth:c,boxPadding:l}=n,u=LV(n.bodyFont),d=u.lineHeight,f=0,p=RH(n.rtl,this.x,this.width),m=function(n){t.fillText(n,p.x(e.x+f),e.y+d/2),e.y+=d+i},h=p.textAlign(a),g,_,v,y,b,x,S;for(t.textAlign=a,t.textBaseline=`middle`,t.font=u.string,e.x=iJ(this,h,n),t.fillStyle=n.bodyColor,Iz(this.beforeBody,m),f=o&&h!==`right`?a===`center`?c/2+l:c+2+l:0,y=0,x=r.length;y0&&t.stroke()}_updateAnimationTarget(e){let t=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){let n=Kq[e.position].call(this,this._active,this._eventPosition);if(!n)return;let a=this._size=Xq(this,e),o=Object.assign({},n,this._size),s=eJ(t,e,o),c=rJ(e,o,s,t);(r._to!==c.x||i._to!==c.y)&&(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=a.width,this.height=a.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(e){let t=this.options.setContext(this.getContext()),n=this.opacity;if(!n)return;this._updateAnimationTarget(t);let r={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;let a=IV(t.padding),o=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&o&&(e.save(),e.globalAlpha=n,this.drawBackground(i,e,r,t),zH(e,t.textDirection),i.y+=a.top,this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),BH(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){let n=this._active,r=e.map(({datasetIndex:e,index:t})=>{let n=this.chart.getDatasetMeta(e);if(!n)throw Error(`Cannot find a dataset at index `+e);return{datasetIndex:e,element:n.data[t],index:t}}),i=!Lz(n,r),a=this._positionChanged(r,t);(i||a)&&(this._active=r,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t,n=!0){if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let r=this.options,i=this._active||[],a=this._getActiveElements(e,i,t,n),o=this._positionChanged(a,e),s=t||!Lz(a,i)||o;return s&&(this._active=a,(r.enabled||r.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),s}_getActiveElements(e,t,n,r){let i=this.options;if(e.type===`mouseout`)return[];if(!r)return t.filter(e=>this.chart.data.datasets[e.datasetIndex]&&this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)!==void 0);let a=this.chart.getElementsAtEventForMode(e,i.mode,i,n);return i.reverse&&a.reverse(),a}_positionChanged(e,t){let{caretX:n,caretY:r,options:i}=this,a=Kq[i.position].call(this,e,t);return a!==!1&&(n!==a.x||r!==a.y)}},dJ=Object.freeze({__proto__:null,Colors:YK,Decimation:tq,Filler:Mq,Legend:lte,SubTitle:Gq,Title:Uq,Tooltip:{id:`tooltip`,_element:uJ,positioners:Kq,afterInit(e,t,n){n&&(e.tooltip=new uJ({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){let t=e.tooltip;if(t&&t._willRender()){let n={tooltip:t};if(e.notifyPlugins(`beforeTooltipDraw`,{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins(`afterTooltipDraw`,n)}},afterEvent(e,t){if(e.tooltip){let n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:`average`,backgroundColor:`rgba(0,0,0,0.8)`,titleColor:`#fff`,titleFont:{weight:`bold`},titleSpacing:2,titleMarginBottom:6,titleAlign:`left`,bodyColor:`#fff`,bodySpacing:2,bodyFont:{},bodyAlign:`left`,footerColor:`#fff`,footerSpacing:2,footerMarginTop:6,footerFont:{weight:`bold`},footerAlign:`left`,padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:`#fff`,displayColors:!0,boxPadding:0,borderColor:`rgba(0,0,0,0)`,borderWidth:0,animation:{duration:400,easing:`easeOutQuart`},animations:{numbers:{type:`number`,properties:[`x`,`y`,`width`,`height`,`caretX`,`caretY`]},opacity:{easing:`linear`,duration:200}},callbacks:cJ},defaultRoutes:{bodyFont:`font`,footerFont:`font`,titleFont:`font`},descriptors:{_scriptable:e=>e!==`filter`&&e!==`itemSort`&&e!==`external`,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:`animation`}},additionalOptionScopes:[`interaction`]}}),fJ=(e,t,n,r)=>(typeof t==`string`?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function pJ(e,t,n,r){let i=e.indexOf(t);return i===-1?fJ(e,t,n,r):i===e.lastIndexOf(t)?i:n}var mJ=(e,t)=>e===null?null:wB(Math.round(e),0,t);function hJ(e){let t=this.getLabels();return e>=0&&et.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}};function _J(e,t){let n=[],{bounds:r,step:i,min:a,max:o,precision:s,count:c,maxTicks:l,maxDigits:u,includeBounds:d}=e,f=i||1,p=l-1,{min:m,max:h}=t,g=!Dz(a),_=!Dz(o),v=!Dz(c),y=(h-m)/(u+1),b=uB((h-m)/p/f)*f,x,S,C,w;if(b<1e-14&&!g&&!_)return[{value:m},{value:h}];w=Math.ceil(h/b)-Math.floor(m/b),w>p&&(b=uB(w*b/p/f)*f),Dz(s)||(x=10**s,b=Math.ceil(b*x)/x),r===`ticks`?(S=Math.floor(m/b)*b,C=Math.ceil(h/b)*b):(S=m,C=h),g&&_&&i&&mB((o-a)/i,b/1e3)?(w=Math.round(Math.min((o-a)/b,l)),b=(o-a)/w,S=a,C=o):v?(S=g?a:S,C=_?o:C,w=c-1,b=(C-S)/w):(w=(C-S)/b,w=lB(w,Math.round(w),b/1e3)?Math.round(w):Math.ceil(w));let T=Math.max(vB(b),vB(S));x=10**(Dz(s)?T:s),S=Math.round(S*x)/x,C=Math.round(C*x)/x;let ee=0;for(g&&(d&&S!==a?(n.push({value:a}),So)break;n.push({value:e})}return _&&d&&C!==o?n.length&&lB(n[n.length-1].value,o,vJ(o,y,e))?n[n.length-1].value=o:n.push({value:o}):(!_||C===o)&&n.push({value:C}),n}function vJ(e,t,{horizontal:n,minRotation:r}){let i=gB(r),a=(n?Math.sin(i):Math.cos(i))||.001,o=.75*t*(``+e).length;return Math.min(t/a,o)}var yJ=class extends mG{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return Dz(e)||(typeof e==`number`||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){let{beginAtZero:e}=this.options,{minDefined:t,maxDefined:n}=this.getUserBounds(),{min:r,max:i}=this,a=e=>r=t?r:e,o=e=>i=n?i:e;if(e){let e=cB(r),t=cB(i);e<0&&t<0?o(0):e>0&&t>0&&a(0)}if(r===i){let t=i===0?1:Math.abs(i*.05);o(i+t),e||a(r-t)}this.min=r,this.max=i}getTickLimit(){let{maxTicksLimit:e,stepSize:t}=this.options.ticks,n;return t?(n=Math.ceil(this.max/t)-Math.floor(this.min/t)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${t} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e||=11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return 1/0}buildTicks(){let e=this.options,t=e.ticks,n=this.getTickLimit();n=Math.max(2,n);let r=_J({maxTicks:n,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:t.includeBounds!==!1},this._range||this);return e.bounds===`ticks`&&hB(r,this,`value`),e.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let e=this.ticks,t=this.min,n=this.max;if(super.configure(),this.options.offset&&e.length){let r=(n-t)/Math.max(e.length-1,1)/2;t-=r,n+=r}this._startValue=t,this._endValue=n,this._valueRange=n-t}getLabelForValue(e){return nV(e,this.chart.options.locale,this.options.ticks.format)}},bJ=class extends yJ{static id=`linear`;static defaults={ticks:{callback:aV.formatters.numeric}};determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=Az(e)?e:0,this.max=Az(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){let e=this.isHorizontal(),t=e?this.width:this.height,n=gB(this.options.ticks.minRotation),r=(e?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,i.lineHeight/r))}getPixelForValue(e){return e===null?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}},xJ=e=>Math.floor(sB(e)),SJ=(e,t)=>10**(xJ(e)+t);function CJ(e){return e/10**xJ(e)==1}function wJ(e,t,n){let r=10**n,i=Math.floor(e/r);return Math.ceil(t/r)-i}function TJ(e,t){let n=xJ(t-e);for(;wJ(e,t,n)>10;)n++;for(;wJ(e,t,n)<10;)n--;return Math.min(n,xJ(e))}function EJ(e,{min:t,max:n}){t=jz(e.min,t);let r=[],i=xJ(t),a=TJ(t,n),o=a<0?10**Math.abs(a):1,s=10**a,c=i>a?10**i:0,l=Math.round((t-c)*o)/o,u=Math.floor((t-c)/s/10)*s*10,d=Math.floor((l-u)/10**a),f=jz(e.min,Math.round((c+u+d*10**a)*o)/o);for(;f=10?d=d<15?15:20:d++,d>=20&&(a++,d=2,o=a>=0?1:o),f=Math.round((c+u+d*10**a)*o)/o;let p=jz(e.max,f);return r.push({value:p,major:CJ(p),significand:d}),r}var DJ=class extends mG{static id=`logarithmic`;static defaults={ticks:{callback:aV.formatters.logarithmic,major:{enabled:!0}}};constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){let n=yJ.prototype.parse.apply(this,[e,t]);if(n===0){this._zero=!0;return}return Az(n)&&n>0?n:null}determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=Az(e)?Math.max(0,e):null,this.max=Az(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Az(this._userMin)&&(this.min=e===SJ(this.min,0)?SJ(this.min,-1):SJ(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:e,maxDefined:t}=this.getUserBounds(),n=this.min,r=this.max,i=t=>n=e?n:t,a=e=>r=t?r:e;n===r&&(n<=0?(i(1),a(10)):(i(SJ(n,-1)),a(SJ(r,1)))),n<=0&&i(SJ(r,-1)),r<=0&&a(SJ(n,1)),this.min=n,this.max=r}buildTicks(){let e=this.options,t=EJ({min:this._userMin,max:this._userMax},this);return e.bounds===`ticks`&&hB(t,this,`value`),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return e===void 0?`0`:nV(e,this.chart.options.locale,this.options.ticks.format)}configure(){let e=this.min;super.configure(),this._startValue=sB(e),this._valueRange=sB(this.max)-sB(e)}getPixelForValue(e){return(e===void 0||e===0)&&(e=this.min),e===null||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(sB(e)-this._startValue)/this._valueRange)}getValueForPixel(e){let t=this.getDecimalForPixel(e);return 10**(this._startValue+t*this._valueRange)}};function OJ(e){let t=e.ticks;if(t.display&&e.display){let e=IV(t.backdropPadding);return Mz(t.font&&t.font.size,dV.font.size)+e.height}return 0}function kJ(e,t,n){return n=Oz(n)?n:[n],{w:mV(e,t.string,n),h:n.length*t.lineHeight}}function AJ(e,t,n,r,i){return e===r||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function jJ(e){let t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],i=[],a=e._pointLabels.length,o=e.options.pointLabels,s=o.centerPointLabels?$z/a:0;for(let c=0;ct.r&&(s=(r.end-t.r)/a,e.r=Math.max(e.r,t.r+s)),i.startt.b&&(c=(i.end-t.b)/o,e.b=Math.max(e.b,t.b+c))}function NJ(e,t,n){let r=e.drawingArea,{extra:i,additionalAngle:a,padding:o,size:s}=n,c=e.getPointPosition(t,r+i+o,a),l=Math.round(_B(SB(c.angle+iB))),u=RJ(c.y,s.h,l),d=IJ(l),f=LJ(c.x,s.w,d);return{visible:!0,x:c.x,y:u,textAlign:d,left:f,top:u,right:f+s.w,bottom:u+s.h}}function PJ(e,t){if(!t)return!0;let{left:n,top:r,right:i,bottom:a}=e;return!(yV({x:n,y:r},t)||yV({x:n,y:a},t)||yV({x:i,y:r},t)||yV({x:i,y:a},t))}function FJ(e,t,n){let r=[],i=e._pointLabels.length,a=e.options,{centerPointLabels:o,display:s}=a.pointLabels,c={extra:OJ(a)/2,additionalAngle:o?$z/i:0},l;for(let a=0;a270||n<90)&&(e-=t),e}function zJ(e,t,n){let{left:r,top:i,right:a,bottom:o}=n,{backdropColor:s}=t;if(!Dz(s)){let n=FV(t.borderRadius),c=IV(t.backdropPadding);e.fillStyle=s;let l=r-c.left,u=i-c.top,d=a-r+c.width,f=o-i+c.height;Object.values(n).some(e=>e!==0)?(e.beginPath(),OV(e,{x:l,y:u,w:d,h:f,radius:n}),e.fill()):e.fillRect(l,u,d,f)}}function BJ(e,t){let{ctx:n,options:{pointLabels:r}}=e;for(let i=t-1;i>=0;i--){let t=e._pointLabelItems[i];if(!t.visible)continue;let a=r.setContext(e.getPointLabelContext(i));zJ(n,a,t);let o=LV(a.font),{x:s,y:c,textAlign:l}=t;DV(n,e._pointLabels[i],s,c+o.lineHeight/2,o,{color:a.color,textAlign:l,textBaseline:`middle`})}}function VJ(e,t,n,r){let{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,eB);else{let n=e.getPointPosition(0,t);i.moveTo(n.x,n.y);for(let a=1;a{let n=Fz(this.options.pointLabels.callback,[e,t],this);return n||n===0?n:``}).filter((e,t)=>this.chart.getDataVisibility(t))}fit(){let e=this.options;e.display&&e.pointLabels.display?jJ(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,n,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,n,r))}getIndexAngle(e){let t=eB/(this._pointLabels.length||1),n=this.options.startAngle||0;return SB(e*t+gB(n))}getDistanceFromCenterForValue(e){if(Dz(e))return NaN;let t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(Dz(e))return NaN;let t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){let t=this._pointLabels||[];if(e>=0&&e{if(t!==0||t===0&&this.min<0){s=this.getDistanceFromCenterForValue(e.value);let n=this.getContext(t),o=r.setContext(n),c=i.setContext(n);HJ(this,o,s,a,c)}}),n.display){for(e.save(),o=a-1;o>=0;o--){let r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:a}=r;!a||!i||(e.lineWidth=a,e.strokeStyle=i,e.setLineDash(r.borderDash),e.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),c=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(c.x,c.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){let e=this.ctx,t=this.options,n=t.ticks;if(!n.display)return;let r=this.getIndexAngle(0),i,a;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign=`center`,e.textBaseline=`middle`,this.ticks.forEach((r,o)=>{if(o===0&&this.min>=0&&!t.reverse)return;let s=n.setContext(this.getContext(o)),c=LV(s.font);if(i=this.getDistanceFromCenterForValue(this.ticks[o].value),s.showLabelBackdrop){e.font=c.string,a=e.measureText(r.label).width,e.fillStyle=s.backdropColor;let t=IV(s.backdropPadding);e.fillRect(-a/2-t.left,-i-c.size/2-t.top,a+t.width,c.size+t.height)}DV(e,r.label,0,-i,c,{color:s.color,strokeColor:s.textStrokeColor,strokeWidth:s.textStrokeWidth})}),e.restore()}drawTitle(){}},GJ={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},KJ=Object.keys(GJ);function qJ(e,t){return e-t}function JJ(e,t){if(Dz(t))return null;let n=e._adapter,{parser:r,round:i,isoWeekday:a}=e._parseOpts,o=t;return typeof r==`function`&&(o=r(o)),Az(o)||(o=typeof r==`string`?n.parse(o,r):n.parse(o)),o===null?null:(i&&(o=i===`week`&&(pB(a)||a===!0)?n.startOf(o,`isoWeek`,a):n.startOf(o,i)),+o)}function YJ(e,t,n,r){let i=KJ.length;for(let a=KJ.indexOf(e);a=KJ.indexOf(n);a--){let n=KJ[a];if(GJ[n].common&&e._adapter.diff(i,r,n)>=t-1)return n}return KJ[n?KJ.indexOf(n):0]}function ZJ(e){for(let t=KJ.indexOf(e)+1,n=KJ.length;t=t?n[r]:n[i];e[a]=!0}}function $J(e,t,n,r){let i=e._adapter,a=+i.startOf(t[0].value,r),o=t[t.length-1].value,s,c;for(s=a;s<=o;s=+i.add(s,1,r))c=n[s],c>=0&&(t[c].major=!0);return t}function eY(e,t,n){let r=[],i={},a=t.length,o,s;for(o=0;o+e.value))}initOffsets(e=[]){let t=0,n=0,r,i;this.options.offset&&e.length&&(r=this.getDecimalForValue(e[0]),t=e.length===1?1-r:(this.getDecimalForValue(e[1])-r)/2,i=this.getDecimalForValue(e[e.length-1]),n=e.length===1?i:(i-this.getDecimalForValue(e[e.length-2]))/2);let a=e.length<3?.5:.25;t=wB(t,0,a),n=wB(n,0,a),this._offsets={start:t,end:n,factor:1/(t+1+n)}}_generate(){let e=this._adapter,t=this.min,n=this.max,r=this.options,i=r.time,a=i.unit||YJ(i.minUnit,t,n,this._getLabelCapacity(t)),o=Mz(r.ticks.stepSize,1),s=a===`week`&&i.isoWeekday,c=pB(s)||s===!0,l={},u=t,d,f;if(c&&(u=+e.startOf(u,`isoWeek`,s)),u=+e.startOf(u,c?`day`:a),e.diff(n,t,a)>1e5*o)throw Error(t+` and `+n+` are too far apart with stepSize of `+o+` `+a);let p=r.ticks.source===`data`&&this.getDataTimestamps();for(d=u,f=0;d+e)}getLabelForValue(e){let t=this._adapter,n=this.options.time;return n.tooltipFormat?t.format(e,n.tooltipFormat):t.format(e,n.displayFormats.datetime)}format(e,t){let n=this.options.time.displayFormats,r=this._unit,i=t||n[r];return this._adapter.format(e,i)}_tickFormatFunction(e,t,n,r){let i=this.options,a=i.ticks.callback;if(a)return Fz(a,[e,t,n],this);let o=i.time.displayFormats,s=this._unit,c=this._majorUnit,l=s&&o[s],u=c&&o[c],d=n[t],f=c&&u&&d&&d.major;return this._adapter.format(e,r||(f?u:l))}generateTickLabels(e){let t,n,r;for(t=0,n=e.length;t0?o:1}getDataTimestamps(){let e=this._cache.data||[],t,n;if(e.length)return e;let r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t=e[r].pos&&t<=e[i].pos&&({lo:r,hi:i}=OB(e,`pos`,t)),{pos:a,time:s}=e[r],{pos:o,time:c}=e[i]):(t>=e[r].time&&t<=e[i].time&&({lo:r,hi:i}=OB(e,`time`,t)),{time:a,pos:s}=e[r],{time:o,pos:c}=e[i]);let l=o-a;return l?s+(c-s)*(t-a)/l:s}var rY=class extends tY{static id=`timeseries`;static defaults=tY.defaults;constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=nY(t,this.min),this._tableRange=nY(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){let{min:t,max:n}=this,r=[],i=[],a,o,s,c,l;for(a=0,o=e.length;a=t&&c<=n&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:n,pos:1}];for(a=0,o=r.length;ae-t)}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;let t=this.getDataTimestamps(),n=this.getLabelTimestamps();return e=t.length&&n.length?this.normalize(t.concat(n)):t.length?t:n,e=this._cache.all=e,e}getDecimalForValue(e){return(nY(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){let t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return nY(this._table,n*this._tableRange+this._minPos,!0)}},iY=[XU,LK,dJ,Object.freeze({__proto__:null,CategoryScale:gJ,LinearScale:bJ,LogarithmicScale:DJ,RadialLinearScale:WJ,TimeScale:tY,TimeSeriesScale:rY})];nK.register(...iY);var aY=nK,oY=L(``);function sY(e,t){D(t,!0);let n=ma(t,`class`,3,``),r=ma(t,`ariaLabel`,3,``),i=A(null),a=null;Nn(()=>{if(FI.tick,!F(i)||typeof t.build!=`function`)return;let e=t.build();if(!e){a&&=(a.destroy(),null);return}return a&&=(a.destroy(),null),a=new aY(F(i).getContext(`2d`),e),()=>{a&&=(a.destroy(),null)}});var o=oY();da(o,e=>j(i,e),()=>F(i)),P(()=>{H(o,1,ji(n())),W(o,`aria-label`,r())}),R(e,o),O()}var cY=L(``),lY=L(`
`);function uY(e,t){D(t,!0);let n=ma(t,`options`,19,()=>[]),r=ma(t,`ariaLabel`,3,``),i=ma(t,`class`,3,``);var a=lY();V(a,21,n,e=>e.value,(e,n)=>{var r=cY();let i;var a=M(r,!0);E(r),P(()=>{i=H(r,1,`segmented-btn svelte-92fh5i`,null,i,{active:t.value===F(n).value}),W(r,`aria-pressed`,t.value===F(n).value),z(a,F(n).label)}),I(`click`,r,()=>t.onchange?.(F(n).value)),R(e,r)}),E(a),P(()=>{H(a,1,`segmented-control ${i()??``}`,`svelte-92fh5i`),W(a,`aria-label`,r())}),R(e,a),O()}Ur([`click`]);function dY(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}function fY(){return{grid:dY(`--chart-grid`),text:dY(`--chart-text`),dayMarker:dY(`--chart-day-marker`),tooltipBg:dY(`--chart-tooltip-bg`),tooltipBorder:dY(`--chart-tooltip-border`),tooltipText:dY(`--chart-tooltip-text`)}}function pY(){return{size:11,family:`'SF Mono', Menlo, Consolas, monospace`}}function mY(e,t){return{backgroundColor:e.tooltipBg,borderColor:e.tooltipBorder,borderWidth:1,titleColor:e.tooltipText,bodyColor:e.tooltipText,callbacks:t}}function hY(e){if(typeof document>`u`||!document.body)return e;let t=document.createElement(`span`);t.style.display=`none`,t.style.color=e,document.body.appendChild(t);let n=getComputedStyle(t).color;return document.body.removeChild(t),n||e}var gY=[`#c2845a`,`#7a9e7e`,`#d4a574`,`#b8a98e`,`#8b9e6b`,`#7d8a97`,`#c47a5a`,`#6b8e6b`,`#a09486`,`#9b7ea4`,`#c49a6c`];function _Y(){return[...gY]}function vY(e){let t=5381,n=String(e||``);for(let e=0;enR(e)}}var xY={seconds:{apiName:`second`,windowLabel:`Last 60 seconds`,refreshMs:2e3},minutes:{apiName:`minute`,windowLabel:`Last 60 minutes`,refreshMs:5e3},hours:{apiName:`hour`,windowLabel:`Last 24 hours`,refreshMs:2e4},days:{apiName:`day`,windowLabel:`Last 30 days`,refreshMs:6e4}},SY=[{value:`seconds`,label:`Seconds`},{value:`minutes`,label:`Minutes`},{value:`hours`,label:`Hours`},{value:`days`,label:`Days`}];function CY(){return{input:0,output:0,prompt:0,local:0}}function wY(e){return String(e).padStart(2,`0`)}function TY(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:0}function EY(e,t){if(!Number.isFinite(t))return``;let n=new Date(t);switch(e){case`seconds`:return wY(n.getHours())+`:`+wY(n.getMinutes())+`:`+wY(n.getSeconds());case`minutes`:return wY(n.getHours())+`:`+wY(n.getMinutes());case`hours`:return wY(n.getHours())+`:00`;default:return wY(n.getMonth()+1)+`-`+wY(n.getDate())}}function DY(e,t){let n=[],r=[],i={input:[],output:[],prompt:[],local:[]},a=CY();for(let o of e||[]){let e=Date.parse(o&&o.start),s=TY(o&&o.input_tokens),c=TY(o&&o.output_tokens),l=TY(o&&o.prompt_cached_tokens),u=TY(o&&o.locally_cached_tokens);n.push(EY(t,e)),r.push(Number.isFinite(e)?e:null),i.input.push(s),i.output.push(c),i.prompt.push(l),i.local.push(u),a.input+=s,a.output+=c,a.prompt+=l,a.local+=u}return{labels:n,stamps:r,cols:i,totals:a}}function OY(e){let t=e||CY();return t.input+t.output+t.prompt+t.local>0}function kY(e,t){return nR(Math.max(0,Math.round(e&&e[t]||0)))}function AY(e){return(xY[e]||xY.minutes).windowLabel}function jY(e,t){return`Live token throughput, `+AY(t).toLowerCase()+`. Input `+kY(e,`input`)+`, output `+kY(e,`output`)+`, prompt cached `+kY(e,`prompt`)+`, locally cached `+kY(e,`local`)+` tokens.`}function MY(e,t,n,r){let i=e=>nR(Math.max(0,Math.round(e))),a=n.stamps,o=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderWidth:0,borderRadius:0,categoryPercentage:1,barPercentage:1,stack:`tokens`});return{type:`bar`,plugins:[{id:`liveTokensDayMarks`,afterDatasetsDraw:t=>{if(r===`days`)return;let n=t.getDatasetMeta(0),i=t.chartArea;if(!n||!n.data||!i)return;let o=t.ctx;o.save(),o.font=`10px 'SF Mono', Menlo, Consolas, monospace`;let s=null;for(let t=0;t{if(!e.length)return``;let t=a[e[0].dataIndex];if(!t)return e[0].label;let n=new Date(t);return r===`days`?n.toLocaleDateString():n.toLocaleString()},label:e=>e.dataset.label+`: `+i(e.parsed.y),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+i(t)}})}}}}var NY=900,PY=6,FY=new class{#e=A(`minutes`);get granularity(){return F(this.#e)}set granularity(e){j(this.#e,e,!0)}#t=A(fn([]));get buckets(){return F(this.#t)}set buckets(e){j(this.#t,e,!0)}#n=A(!1);get active(){return F(this.#n)}set active(e){j(this.#n,e,!0)}#r=null;#i=null;#a=null;#o=0;#s=null;#c=!1;start(){this.stop(),this.active=!0,this.fetch(),this.#l(),this.#u()}stop(){this.active=!1,this.#r&&=(clearInterval(this.#r),null),this.#i&&=(clearTimeout(this.#i),null),this.#a&&=(clearTimeout(this.#a),null),this.#o=0,this.#s&&=(this.#s.abort(),null),this.buckets=[]}setGranularity(e){!xY[e]||e===this.granularity||(this.granularity=e,this.buckets=[],this.#l(),this.fetch())}#l(){this.#r&&=(clearInterval(this.#r),null);let e=xY[this.granularity]||xY.minutes;this.#r=setInterval(()=>{this.active&&this.fetch()},e.refreshMs)}noteUsageEvent(e){!this.active||e!==`usage.flushed`||(this.#i||=setTimeout(()=>{this.#i=null,this.fetch()},NY))}async fetch(){if(!this.active||this.#c)return;this.#c=!0;let e=this.granularity;try{let t=await pL(`/admin/usage/throughput?granularity=`+(xY[e]||xY.minutes).apiName,{label:`token throughput`});if(t.stale||!t.ok||this.granularity!==e)return;this.buckets=t.data&&Array.isArray(t.data.buckets)?t.data.buckets:[]}catch(e){if(hL(e))return;console.error(`Failed to fetch token throughput:`,e)}finally{this.#c=!1,this.active&&this.granularity!==e&&this.fetch()}}async#u(){await _L.ensureLoaded(),this.active&&_L.liveLogsVisible()&&(typeof ReadableStream>`u`||(this.#s&&this.#s.abort(),this.#s=new AbortController,this.#d(this.#s)))}async#d(e){try{let t=await dL(`/admin/live/logs?types=usage`,{signal:e.signal});if(!t.ok||!t.body||typeof t.body.getReader!=`function`){this.#m();return}this.#o=0,await this.#f(t.body.getReader()),this.#m()}catch(e){if(hL(e))return;console.error(`Live usage stream failed:`,e),this.#m()}}async#f(e){let t=new TextDecoder,n=``;for(;;){let r=await e.read();if(r.done)break;n+=t.decode(r.value,{stream:!0});let i;for(;i=n.match(/\r?\n\r?\n/);){let e=i.index,t=n.slice(0,e);n=n.slice(e+i[0].length),this.#p(t)}}n+=t.decode(),n.trim()&&this.#p(n)}#p(e){let t=String(e||``).split(/\r?\n/),n=[];for(let e of t)e.indexOf(`data:`)===0&&n.push(e.slice(5).trimStart());if(n.length===0)return;let r;try{r=JSON.parse(n.join(` -`))}catch{return}if(!r||typeof r!=`object`)return;let i=String(r.type||``).trim();i.indexOf(`usage.`)===0&&this.noteUsageEvent(i)}#m(){if(!this.active||this.#a)return;let e=Math.min(this.#o+1,PY);this.#o=e;let t=Math.min(3e4,500*2**(e-1));this.#a=setTimeout(()=>{this.#a=null,this.#u()},t)}},IY=L(`
`),LY=L(`
Waiting for live requests…
`),RY=L(`

Live Token Throughput

`);function zY(e,t){D(t,!0);let n=k(()=>DY(FY.buckets,FY.granularity)),r=k(()=>F(n).totals);function i(){return{input:hY(`var(--token-input)`),output:hY(`var(--token-output)`),prompt:hY(`var(--token-prompt)`),local:hY(`var(--token-local)`)}}let a=[{metric:`input`,label:`Input Tokens`,colorVar:`--token-input`},{metric:`output`,label:`Output Tokens`,colorVar:`--token-output`},{metric:`prompt`,label:`Prompt (Input) Cached`,colorVar:`--token-prompt`},{metric:`local`,label:`Locally Cached`,colorVar:`--token-local`}];var o=RY(),s=M(o),c=M(s),l=N(M(c),2),u=M(l);let d;var f=N(u,2),p=M(f,!0);E(f),E(l),E(c),uY(N(c,2),{ariaLabel:`Live token throughput granularity`,get options(){return SY},get value(){return FY.granularity},onchange:e=>FY.setGranularity(e)}),E(s);var m=N(s,2);V(m,21,()=>a,e=>e.metric,(e,t)=>{var n=IY(),i=M(n),a=N(i,2),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(n),P(e=>{Ri(i,`background: var(${F(t).colorVar??``})`),z(o,F(t).label),z(c,e)},[()=>kY(F(r),F(t).metric)]),R(e,n)}),E(m);var h=N(m,2),g=M(h);{let e=k(()=>jY(F(r),FY.granularity));sY(g,{get ariaLabel(){return F(e)},build:()=>MY(fY(),i(),F(n),FY.granularity)})}var _=N(g,2),v=e=>{R(e,LY())},y=k(()=>!OY(F(r)));B(_,e=>{F(y)&&e(v)}),E(h),E(o),P(e=>{d=H(u,1,`live-dot`,null,d,{"is-streaming":FY.active}),z(p,e)},[()=>AY(FY.granularity)]),R(e,o),O()}function BY(e){let t=e||{};if(t.total_tokens!==null&&t.total_tokens!==void 0){let e=Number(t.total_tokens);if(Number.isFinite(e))return e}let n=Number(t.total_input_tokens||0),r=Number(t.total_output_tokens||0);return(Number.isFinite(n)?n:0)+(Number.isFinite(r)?r:0)}function VY(e,t){if(!t)return 0;let n=e&&e.summary?e.summary:{},r=Number(n.total_hits||0);return Number.isFinite(r)&&r>0?r:0}function HY(e,t,n){let r=Number(e&&e.total_requests||0);return(Number.isFinite(r)?r:0)+VY(t,n)}function UY(e,t,n){let r=VY(t,n);return r<=0?``:QL(HY(e,t,n)-r)+` to providers + `+QL(r)+` from cache`}function WY(e){let t=e&&e.summary?e.summary:{},n=Number(t.total_input_tokens||0),r=Number(t.total_output_tokens||0);return(Number.isFinite(n)?n:0)+(Number.isFinite(r)?r:0)}function GY(e,t,n){let r=e=>{let t=Number(e||0);return Number.isFinite(t)&&t>0?t:0},i=e||{},a=r(i.uncached_input_tokens),o=r(i.cached_input_tokens),s=r(i.cache_write_input_tokens),c=t&&t.summary?t.summary:{},l=n?r(c.total_input_tokens):0;return[{key:`uncached`,label:`Regular`,tokens:a+s,colorVar:`--cache-meter-uncached`,note:s>0?`Includes `+QL(s)+` cache-write tokens`:``},{key:`prompt`,label:`Prompt cached`,tokens:o,colorVar:`--cache-meter-prompt`,note:`Provider prompt-cache reads`},{key:`local`,label:`Locally cached`,tokens:l,colorVar:`--cache-meter-local`,note:`Served from GoModel response cache`}]}function KY(e,t,n){return GY(e,t,n).reduce((e,t)=>e+t.tokens,0)}function qY(e,t,n){return KY(e,t,n)>0}function JY(e,t,n){let r=GY(e,t,n),i=r.reduce((e,t)=>e+t.tokens,0);if(i<=0)return r.map(e=>Object.assign({},e,{pct:0}));let a=r.map(e=>{let t=e.tokens/i*100,n=Math.floor(t);return Object.assign({},e,{pct:n,remainder:t-n})}),o=100-a.reduce((e,t)=>e+t.pct,0);return a.map((e,t)=>({index:t,remainder:e.remainder,tokens:e.tokens})).filter(e=>e.tokens>0).sort((e,t)=>t.remainder-e.remainder).forEach(e=>{o>0&&(a[e.index].pct+=1,--o)}),a}function YY(e,t,n){return JY(e,t,n).filter(e=>e.tokens>0)}function XY(e){let t=[e.label+`: `+QL(e.tokens)+` input tokens (`+e.pct+`%)`];return e.note&&t.push(e.note),t.join(` -`)}function ZY(e){let t=(e||[]).map(e=>e.label+` `+e.pct+`%`);return`Cache breakdown of input tokens — `+(t.length?t.join(`, `):`no data`)}function QY(e){return e.getUTCFullYear()+`-`+String(e.getUTCMonth()+1).padStart(2,`0`)+`-`+String(e.getUTCDate()).padStart(2,`0`)}function $Y(e,t,n,r){if(t!==`daily`||!n||!r)return e;let i={};(e||[]).forEach(e=>{i[e.date]=e});let a=[];for(let e=new Date(n);e<=r;e.setUTCDate(e.getUTCDate()+1)){let t=QY(e);a.push(i[t]||{date:t,input_tokens:0,output_tokens:0,total_tokens:0,requests:0,input_cost:null,output_cost:null,total_cost:null})}return a}function eX(e,t){let n=e=>Number(e)||0,r=e.map(e=>e.date),i=e.map(e=>n(e.uncached_input_tokens)+n(e.cache_write_input_tokens)+n(e.cached_input_tokens)>0?n(e.uncached_input_tokens)+n(e.cache_write_input_tokens):n(e.input_tokens)),a=e.map(e=>n(e.output_tokens)),o=e.map(e=>n(e.cached_input_tokens)),s={};return(t||[]).forEach(e=>{s[e.date]=e}),{labels:r,inputPaid:i,output:a,prompt:o,local:r.map(e=>{let t=s[e];return t?n(t.input_tokens)+n(t.output_tokens):0})}}function tX(e){let t=e||{},n=Math.max(0,Number(t.uncached_input_tokens)||0),r=Math.max(0,Number(t.cached_input_tokens)||0),i=Math.max(0,Number(t.cache_write_input_tokens)||0),a=n+r+i;return a>0?r/a*100:0}function nX(e){let t=e||{};return(Number(t.uncached_input_tokens)||0)+(Number(t.cached_input_tokens)||0)+(Number(t.cache_write_input_tokens)||0)>0}function rX(e){return nX(e)?Math.round(tX(e))+`%`:`—`}function iX(e,t,n={}){let r=!!n.cacheEnabled,i=n.resolve||(e=>e),a=(e,t)=>i(`color-mix(in srgb, `+e+` `+t+`%, transparent)`),o=(e,t,n,r)=>Object.assign({label:e,data:t,borderColor:n,backgroundColor:n,fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4},r||{}),s=[o(`Input Tokens`,t.inputPaid,i(`var(--token-input)`),{fill:`origin`}),o(`Output Tokens`,t.output,i(`var(--token-output)`),{fill:`-1`}),o(`Prompt (Input) Cached`,t.prompt,i(`var(--token-prompt)`),{fill:`-1`,borderDash:[6,4]})];return r&&s.push(o(`Locally Cached`,t.local,a(`var(--info)`,35),{fill:`-1`,borderDash:[2,3]})),{type:`line`,data:{labels:t.labels,datasets:s},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:mY(e,{label:e=>e.dataset.label+`: `+e.parsed.y.toLocaleString(),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+t.toLocaleString()}})},scales:{x:{stacked:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:pY(),maxRotation:0,autoSkip:!0,maxTicksLimit:10}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:bY(e)}}}}}function aX(e,t,n){let r=Math.max(0,Math.min(100,e));return{type:`doughnut`,data:{datasets:[{data:[r,100-r],backgroundColor:[t,n],borderWidth:0,spacing:0}]},options:{rotation:-90,circumference:180,cutout:`84%`,responsive:!0,maintainAspectRatio:!1,animation:{duration:0},layout:{padding:1},events:[],plugins:{legend:{display:!1},tooltip:{enabled:!1}}}}}var oX=`gomodel_provider_status_details_expanded`,sX=`gomodel_provider_card_expanded_overrides`,cX=3e3,lX=`https://gomodel.enterpilot.io/docs/providers/`,uX={anthropic:`anthropic`,azure:`azure`,bailian:`bailian`,bedrock:`bedrock`,"bedrock-mantle":`bedrock-mantle`,cohere:`cohere`,deepseek:`deepseek`,gemini:`gemini`,opencode_go:`opencode-go`,oracle:`oracle`,vertex:`vertex`,vllm:`vllm`,xiaomi:`xiaomi`};function dX(){return{summary:{total:0,healthy:0,degraded:0,unhealthy:0,overall_status:`degraded`},providers:[]}}function fX(e){let t={detailsExpanded:!1,cardOverrides:{}};try{if(e){let n=e.getItem(oX);n===`true`||n===`false`?t.detailsExpanded=n===`true`:e.setItem(oX,`false`);let r=JSON.parse(e.getItem(sX)||`{}`);r&&typeof r==`object`&&!Array.isArray(r)&&(t.cardOverrides=r)}}catch{}return t}function pX(e,t){if(e)try{e.setItem(oX,t?`true`:`false`)}catch{}}function mX(e,t){if(e)try{e.setItem(sX,JSON.stringify(t))}catch{}}function hX(e,t,n){let r=n&&n.name?String(n.name):``;return r&&Object.prototype.hasOwnProperty.call(e,r)?e[r]===!0:t}function gX(e){return`is-`+(String(e&&e.overall_status||`degraded`).trim()||`degraded`)}function _X(e){return`is-`+(String(e||`degraded`).trim()||`degraded`)}function vX(e){let t=e||{};return String(t.healthy||0)+`/`+String(t.total||0)}function yX(e){let t=e||{},n=Number(t.total||0),r=Number(t.healthy||0);return n>0&&rString(e&&e.status_label||``).trim().toLowerCase()===`starting`)}function SX(e){if(!e||!e.runtime)return``;let t=e.runtime.last_model_fetch_at||``,n=e.runtime.last_availability_check_at||``;return t?n&&Date.parse(n)>Date.parse(t)?n:t:n}function CX(e,t){let n=SX(e);if(!n||typeof t!=`function`)return`-`;let r=t(n);if(!r||r===`-`)return`-`;let i=String(r).split(` `);return i.length>1?i.slice(1).join(` `):r}function wX(e,t){let n=SX(e);return n?typeof t==`function`?t(n):String(n):``}function TX(e){if(!e)return``;let t=String(e.name||``).trim(),n=String(e.type||e.config&&e.config.type||``).trim();return!n||n===t?``:n}function EX(e){let t=String(e&&(e.type||e.config&&e.config.type)||``).trim().toLowerCase(),n=t?uX[t]:``;return n?lX+n+`?utm_source=gomodel_dashboard`:``}function DX(e){let t=e&&e.config&&e.config.resilience?e.config.resilience.retry:null;return t?String(t.max_retries)+` retries, `+t.initial_backoff+` initial, `+t.max_backoff+` max, factor `+t.backoff_factor+`, jitter `+t.jitter_factor:`-`}function OX(e){let t=e&&e.config&&e.config.resilience?e.config.resilience.circuit_breaker:null;return t?String(t.failure_threshold)+` fail, `+String(t.success_threshold)+` success, `+t.timeout+` timeout`:`-`}function kX(e){let t=e&&e.config&&Array.isArray(e.config.models)?e.config.models.filter(Boolean):[];return t.length===0?`Automatic`:t.join(`, `)}function AX(e){if(!e)return``;let t=[];return e.status_reason&&t.push(String(e.status_reason)),e.last_error&&t.push(`Last error: `+String(e.last_error)),t.join(` - -`)}function jX(e){let t=e&&e.request_health;return t&&typeof t==`object`?t:null}function MX(e){let t=jX(e);return t?String(t.circuit_state||``).trim():``}function NX(e){let t=MX(e);return t?t.charAt(0).toUpperCase()+t.slice(1):``}function PX(e){let t=MX(e);return t===`open`?`is-unhealthy`:t===`half-open`?`is-degraded`:`is-healthy`}function FX(e){let t=jX(e);if(!t)return``;let n=Number(t.requests||0),r=Number(t.errors||0),i=Math.round(Number(t.window_seconds||0)/60),a=i>0?`last `+i+` min`:`recent`;return String(n)+` request`+(n===1?``:`s`)+` · `+String(r)+` error`+(r===1?``:`s`)+` (`+a+`)`}function IX(e){let t=jX(e);return t&&Array.isArray(t.models)?t.models:[]}function LX(e){return e?String(Number(e.errors||0))+`/`+String(Number(e.requests||0))+` failed`:``}function RX(e){let t=e&&e.last_error;return!t||!t.message?``:(t.status_code?`HTTP `+String(t.status_code)+`: `:``)+t.message}function zX(){return{name:``,slug:``,url:``,transport:`http`,description:``,enabled:!0,headers:[],allowed_tools:``,disallowed_tools:``,user_paths:``,tool_timeout_seconds:``}}function BX(){return{server:``,status:``,instructions:``,tools:[],prompts:[],resources:[],templates:[]}}function VX(e){return String(e&&(e.slug||e.name)||``).trim()}function HX(e){return String(e&&e.status||``).trim()||`connecting`}function UX(e){switch(HX(e)){case`connected`:return`status-success`;case`degraded`:return String(e&&e.last_error||``).trim()?`status-error`:`status-warning`;case`connecting`:return`status-neutral`;default:return`status-unknown`}}function WX(e,t){let n=HX(e),r=String(e&&e.last_error||``).trim();return r&&n!==`connected`?r:n===`connected`&&e&&e.connected_at?`Connected since `+(typeof t==`function`?t:String)(e.connected_at):``}function GX(e){return String(e&&e.transport||``)===`stdio`?`local command`:String(e&&e.url||``).trim()||`—`}function KX(e){let t=Number(e&&e.prompt_count||0),n=Number(e&&e.resource_count||0);return t+` prompts · `+n+` resources`}function qX(e){let t=String(e||``).normalize(`NFKD`).toLowerCase(),n=t.replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64).replace(/-+$/g,``);if(n)return n;let r=2166136261;for(let e of t)r=Math.imul((r^e.codePointAt(0))>>>0,16777619)>>>0;return`mcp-`+r.toString(16).padStart(8,`0`)}function JX(e){return String(e||``).split(` -`).map(e=>e.trim()).filter(e=>e)}function YX(e){return!e||typeof e!=`object`||Array.isArray(e)?[]:Object.keys(e).sort().map(t=>({name:t,value:String(e[t]||``)}))}function XX(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=String(e&&e.name||``).trim();n&&(t[n]=String(e&&e.value||``))}),t}function ZX(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.slug,e.url,e.transport,e.description,e.status].some(e=>String(e||``).toLowerCase().includes(r)))}function QX(e){return{name:String(e.name||``).trim(),slug:VX(e),url:String(e.url||``).trim(),transport:e.transport===`sse`?`sse`:`http`,description:String(e.description||``).trim(),enabled:e.enabled!==!1,headers:YX(e.headers),allowed_tools:(Array.isArray(e.allowed_tools)?e.allowed_tools:[]).join(`, `),disallowed_tools:(Array.isArray(e.disallowed_tools)?e.disallowed_tools:[]).join(`, `),user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` -`),tool_timeout_seconds:e.tool_timeout_seconds?String(e.tool_timeout_seconds):``}}function $X(e,t,n){let r=String(e.name||``).trim(),i=String(e.slug||qX(r)).trim().toLowerCase(),a=String(e.url||``).trim(),o=e.transport===`sse`?`sse`:`http`;if(!r)return{error:`Name is required.`};if(!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(i))return{error:`Slug must use 1–64 lowercase ASCII letters, numbers, hyphens, or underscores.`};if(t===`create`&&(n||[]).some(e=>VX(e)===i))return{error:`Slug "`+i+`" is already in use.`};if(!a)return{error:`URL is required.`};let s,c=String(e.tool_timeout_seconds||``).trim();if(c!==``){let e=Number(c);if(!Number.isSafeInteger(e)||e<0)return{error:`Tool timeout must be a non-negative whole number of seconds.`};s=e}return{payload:{name:r,slug:i,url:a,transport:o,headers:XX(e.headers),description:String(e.description||``).trim(),enabled:!!e.enabled,allowed_tools:ZL(e.allowed_tools),disallowed_tools:ZL(e.disallowed_tools),user_paths:JX(e.user_paths),tool_timeout_seconds:s}}}function eZ(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=e=>(Array.isArray(e)?e:[]).filter(e=>e&&typeof e==`object`);return{server:String(n.server||e||``).trim(),status:String(n.status||``).trim(),instructions:String(n.instructions||``).trim(),tools:r(n.tools),prompts:r(n.prompts),resources:r(n.resources),templates:r(n.templates)}}function tZ(e,t){return String(e&&e.server||``)+`_`+String(t||``)}function nZ(e){let t=e||BX(),n=(e,t)=>{let n=String(e||``).trim(),r=String(t||``).trim();return n&&r?n+` — `+r:r||n},r=e=>n=>({key:e+`:`+String(n.name||``),name:String(n.name||``),aggregated:tZ(t,n.name),description:String(n.description||``).trim()});return[{key:`tools`,title:`Tools`,items:(t.tools||[]).map(r(`tool`))},{key:`prompts`,title:`Prompts`,items:(t.prompts||[]).map(r(`prompt`))},{key:`resources`,title:`Resources`,items:(t.resources||[]).map(e=>({key:`resource:`+String(e.uri||``),name:String(e.uri||``),aggregated:``,description:n(e.name,e.description)}))},{key:`templates`,title:`Resource templates`,items:(t.templates||[]).map(e=>({key:`template:`+String(e.uri_template||``),name:String(e.uri_template||``),aggregated:``,description:n(e.name,e.description)}))}].filter(e=>e.items.length>0)}function rZ(e){return nZ(e).length===0}function iZ(e){return(e||[]).length}function aZ(e){return(e||[]).filter(e=>HX(e)===`connected`).length}function oZ(e){return(e||[]).filter(e=>e&&e.enabled!==!1&&HX(e)===`degraded`).length}function sZ(e,t){return!!e&&iZ(t)>0}function cZ(e){return String(aZ(e))+`/`+String(iZ(e))}function lZ(e){return oZ(e)>0?`is-degraded`:`is-healthy`}function uZ(e){let t=oZ(e);if(t>0)return String(t)+` server`+(t===1?``:`s`)+` need`+(t===1?`s`:``)+` attention`;let n=iZ(e),r=aZ(e);return n>0&&r===n?`All MCP servers connected`:String(r)+` of `+String(n)+` server`+(n===1?``:`s`)+` connected`}function dZ(){return{interval:`day`,buckets:[],summary:{requests:0},provider_latency:[]}}function fZ(e){let t=e&&typeof e==`object`?e:{};return{interval:t.interval===`hour`?`hour`:`day`,buckets:Array.isArray(t.buckets)?t.buckets:[],summary:t.summary&&typeof t.summary==`object`?t.summary:{requests:0},provider_latency:Array.isArray(t.provider_latency)?t.provider_latency:[]}}function pZ(e){return Number(e&&e.summary&&e.summary.requests||0)>0}function mZ(e){return(e&&Array.isArray(e.provider_latency)?e.provider_latency:[]).length>0}function hZ(e){let t=e&&e.summary?e.summary.success_rate:null;return t==null?`—`:(Math.round(Number(t)*1e3)/10).toFixed(1)+`%`}function gZ(e,t){return Number(e&&e.summary&&e.summary[t]||0)}function _Z(e){let t=Number(e);return Number.isFinite(t)?t>=6e4?(t/6e4).toFixed(1)+` min`:t>=1e3?(t/1e3).toFixed(2)+` s`:Math.round(t)+` ms`:`-`}function vZ(e){let t=e&&e.summary?e.summary.avg_duration_ms:null;return t==null?`—`:_Z(Number(t))}function yZ(e,t){try{let n={};return new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,hourCycle:`h23`}).formatToParts(e).forEach(e=>{n[e.type]=e.value}),{year:n.year,month:n.month,day:n.day,hour:Number(n.hour)}}catch{return{year:String(e.getFullYear()),month:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getMonth()],day:String(e.getDate()),hour:e.getHours()}}}function bZ(e,t,n){let r=new Date(e.start);if(Number.isNaN(r.getTime()))return String(e.start||``);let i=yZ(r,n),a=i.month+` `+i.day;return t!==`hour`||i.hour===0?a:String(i.hour).padStart(2,`0`)+`:00`}function xZ(e,t,n,r){let i=new Date(e.start);if(Number.isNaN(i.getTime()))return String(e.start||``);if(t===`hour`)return r(e.start);let a=yZ(i,n);return a.month+` `+a.day+`, `+a.year}function SZ(e){return{ok:e(`var(--success)`),clientError:e(`var(--warning)`),serverError:e(`var(--danger)`),other:e(`color-mix(in srgb, var(--text-muted) 55%, transparent)`)}}function CZ(e,t,n={}){let r=n.interval===`hour`?`hour`:`day`,i=n.zone,a=n.resolve||(e=>e),o=n.formatTimestamp||(e=>String(e)),s=t.map(e=>bZ(e,r,i)),c=SZ(a),l=a(`var(--bg-surface)`),u=e=>Number(e)||0,d=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:l,borderWidth:1,borderSkipped:!1,borderRadius:2,maxBarThickness:28}),f=[d(`2xx`,t.map(e=>u(e.status_2xx)),c.ok),d(`4xx`,t.map(e=>u(e.status_4xx)),c.clientError),d(`5xx`,t.map(e=>u(e.status_5xx)),c.serverError)];return t.some(e=>u(e.status_other)>0)&&f.push(d(`Other`,t.map(e=>u(e.status_other)),c.other)),{type:`bar`,data:{labels:s,datasets:f},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:mY(e,{title:e=>e.length?xZ(t[e[0].dataIndex],r,i,o):``,label:e=>e.dataset.label+`: `+e.parsed.y.toLocaleString(),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+t.toLocaleString()}})},scales:{x:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:pY(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:pY(),precision:0,callback:e=>nR(e)}}}}}}function wZ(e=_Y()){let t={};return function(n){return n in t||(t[n]=e[Object.keys(t).length%e.length]),t[n]}}function TZ(e,t,n,r={}){let i=r.interval===`hour`?`hour`:`day`,a=r.zone,o=r.formatTimestamp||(e=>String(e)),s=r.providerColor||wZ();return{type:`line`,data:{labels:t.map(e=>bZ(e,i,a)),datasets:n.map(e=>({label:e.provider,data:(e.avg_duration_ms||[]).map(e=>e==null?null:Number(e)),borderColor:s(e.provider),backgroundColor:s(e.provider),fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4,spanGaps:i===`hour`&&2}))},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:mY(e,{title:e=>e.length?xZ(t[e[0].dataIndex],i,a,o):``,label:e=>{let t=(n[e.datasetIndex]&&n[e.datasetIndex].requests||[])[e.dataIndex],r=Number(t)||0;return e.dataset.label+`: `+_Z(e.parsed.y)+(r>0?` (`+r.toLocaleString()+` req)`:``)}})},scales:{x:{grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:pY(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:pY(),callback:e=>_Z(e)}}}}}}var EZ=class{#e=A(fn(dX()));get status(){return F(this.#e)}set status(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}#n=A(!1);get loadedOnce(){return F(this.#n)}set loadedOnce(e){j(this.#n,e,!0)}#r=A(!1);get detailsExpanded(){return F(this.#r)}set detailsExpanded(e){j(this.#r,e,!0)}#i=A(fn({}));get cardOverrides(){return F(this.#i)}set cardOverrides(e){j(this.#i,e,!0)}#a=null;#o=null;#s=!1;initPreferences(){if(this.#s)return;this.#s=!0;let e=fX(MI());this.detailsExpanded=e.detailsExpanded,this.cardOverrides=e.cardOverrides}cardExpanded(e){return hX(this.cardOverrides,this.detailsExpanded,e)}toggleCard(e){let t=e&&e.name?String(e.name):``;if(!t)return;let n={...this.cardOverrides};n[t]=!this.cardExpanded(e),this.cardOverrides=n,mX(MI(),this.cardOverrides)}toggleDetails(){this.detailsExpanded=!this.detailsExpanded,this.cardOverrides={},pX(MI(),this.detailsExpanded),mX(MI(),this.cardOverrides)}detailsToggleLabel(){return this.detailsExpanded?`Show Details`:`Hide Details`}async fetch(){this.initPreferences(),this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=await pL(`/admin/providers/status`,{label:`provider status`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.status=dX(),this.#l();return}let n=t.data&&typeof t.data==`object`?t.data:dX();n.summary||=dX().summary,Array.isArray(n.providers)||(n.providers=[]),this.status=n,this.#c()}catch(e){if(hL(e))return;console.error(`Failed to fetch provider status:`,e),this.status=dX(),this.#l()}finally{this.#a===e&&(this.#a=null,this.loading=!1,this.loadedOnce=!0)}}#c(){this.#l(),xX(this.status.providers)&&(this.#o=setTimeout(()=>{this.#o=null,this.fetch()},cX))}#l(){this.#o&&=(clearTimeout(this.#o),null)}stopPolling(){this.#l()}},DZ=class{#e=A(fn(dZ()));get stats(){return F(this.#e)}set stats(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}#n=0;async fetch(){let e=++this.#n;this.loading=!0;try{let t=await pL(`/admin/audit/stats?`+pR.queryStr(),{label:`audit stats`});if(t.stale||e!==this.#n)return;if(!t.ok){this.stats=dZ();return}this.stats=fZ(t.data)}catch(t){if(console.error(`Failed to fetch audit stats:`,t),e!==this.#n)return;this.stats=dZ()}finally{e===this.#n&&(this.loading=!1)}}},OZ=class{#e=A(fn([]));get servers(){return F(this.#e)}set servers(e){j(this.#e,e,!0)}#t=A(!1);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}async fetch(){if(await _L.ensureLoaded(),!_L.mcpVisible()){this.available=!1,this.servers=[];return}this.loading=!0;try{let e=await pL(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[];return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[]}finally{this.loading=!1}}},kZ=class{#e=A(fn([]));get data(){return F(this.#e)}set data(e){j(this.#e,e,!0)}#t=A(`tokens`);get mode(){return F(this.#t)}set mode(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=null;async fetch(){this.#r&&this.#r.abort();let e=new AbortController;this.#r=e,this.loading=!0;try{let t=await pL(`/admin/usage/daily?days=365&interval=daily`,{label:`calendar`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.data=[];return}this.data=Array.isArray(t.data)?t.data:[]}catch(e){if(hL(e))return;console.error(`Failed to fetch calendar data:`,e),this.data=[]}finally{this.#r===e&&(this.#r=null,this.loading=!1)}}},AZ=new EZ,jZ=new DZ,MZ=new OZ,NZ=new kZ,PZ=L(`
Cache Hits
`),FZ=L(`
Local Cache
i + o =
`),IZ=L(``),LZ=L(` `),RZ=L(`
Provider Status
`),zZ=L(`
MCP Servers
`),BZ=L(`
Tokens
i + o =
Total Requests
Estimated Cost
Prompt Cache Rate
`);function VZ(e,t){D(t,!0);let n=k(()=>gR.summary),r=k(()=>gR.cacheOverview),i=k(()=>gR.cacheAnalyticsEnabled()),a=k(()=>AZ.status.summary);function o(){let e=document.getElementById(`provider-status-section`);e&&(e.scrollIntoView({behavior:`smooth`,block:`start`}),e.focus({preventScroll:!0}))}var s=BZ(),c=M(s),l=N(M(c),2),u=M(l),d=M(u),f=M(d,!0);E(d),We(),E(u);var p=N(u,4),m=M(p),h=M(m,!0);E(m),We(),E(p);var g=N(p,4),_=M(g,!0);E(g),E(l),E(c);var v=N(c,2),y=N(M(v),2),b=M(y,!0);E(y),E(v);var x=N(v,2),S=e=>{var t=PZ(),n=N(M(t),2),i=M(n,!0);E(n),E(t),P(e=>z(i,e),[()=>QL(F(r).summary.total_hits)]),R(e,t)};B(x,e=>{F(i)&&e(S)});var C=N(x,2),w=N(M(C),2),T=M(w,!0);E(w),E(C);var ee=N(C,2),te=e=>{var t=FZ(),n=N(M(t),2),i=M(n),a=M(i),o=M(a,!0);E(a),We(),E(i);var s=N(i,4),c=M(s),l=M(c,!0);E(c),We(),E(s);var u=N(s,4),d=M(u,!0);E(u),E(n),E(t),P((e,t,n,r,a,c)=>{W(i,`title`,e),z(o,t),W(s,`title`,n),z(l,r),W(u,`title`,a),z(d,c)},[()=>rR(`Input tokens`,F(r).summary.total_input_tokens),()=>nR(F(r).summary.total_input_tokens),()=>rR(`Output tokens`,F(r).summary.total_output_tokens),()=>nR(F(r).summary.total_output_tokens),()=>rR(`Total tokens`,WY(F(r))),()=>nR(WY(F(r)))]),R(e,t)};B(ee,e=>{F(i)&&e(te)});var ne=N(ee,2),re=N(M(ne),2),ie=M(re);sY(ie,{build:()=>aX(tX(F(n)),hY(`var(--token-prompt)`),hY(`var(--bg-surface-hover)`))});var ae=N(ie,2),oe=M(ae,!0);E(ae),E(re),E(ne);var se=N(ne,2),ce=e=>{var t=RZ(),n=N(M(t),2),r=M(n,!0);E(n);var i=N(n,2),s=e=>{var t=IZ(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>bX(F(a))]),I(`click`,t,o),R(e,t)},c=k(()=>yX(F(a))),l=e=>{var t=LZ(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>bX(F(a))]),R(e,t)};B(i,e=>{F(c)?e(s):e(l,-1)}),E(t),P((e,n)=>{H(t,1,`card provider-status-flag provider-status-overview-card ${e??``}`,`svelte-6tr9cf`),z(r,n)},[()=>gX(F(a)),()=>vX(F(a))]),R(e,t)};B(se,e=>{F(a).total>0&&e(ce)});var le=N(se,2),ue=e=>{var t=zZ(),n=N(M(t),2),r=M(n,!0);E(n);var i=N(n,2),a=M(i,!0);E(i),E(t),P((e,n,i)=>{H(t,1,`card provider-status-flag mcp-servers-flag ${e??``}`,`svelte-6tr9cf`),z(r,n),z(a,i)},[()=>lZ(MZ.servers),()=>cZ(MZ.servers),()=>uZ(MZ.servers)]),I(`click`,i,()=>YI.navigate(`mcp-servers`)),R(e,t)},de=k(()=>sZ(MZ.available,MZ.servers));B(le,e=>{F(de)&&e(ue)}),E(s),P((e,t,n,r,i,a,o,s,c,l,d)=>{W(u,`title`,e),z(f,t),W(p,`title`,n),z(h,r),W(g,`title`,i),z(_,a),W(y,`title`,o),z(b,s),z(T,c),W(re,`aria-label`,l),z(oe,d)},[()=>rR(`Input tokens`,F(n).total_input_tokens),()=>nR(F(n).total_input_tokens),()=>rR(`Output tokens`,F(n).total_output_tokens),()=>nR(F(n).total_output_tokens),()=>rR(`Total tokens`,BY(F(n))),()=>nR(BY(F(n))),()=>UY(F(n),F(r),F(i)),()=>QL(HY(F(n),F(r),F(i))),()=>$L(F(n).total_cost),()=>`Prompt cache rate `+rX(F(n)),()=>rX(F(n))]),R(e,s),O()}Ur([`click`]);var HZ=L(` `),UZ=L(`
`),WZ=L(`No usage in the selected period yet`),GZ=L(`
`),KZ=L(`

Tokens

Share of input tokens over the selected period
`);function qZ(e,t){D(t,!0);let n=k(()=>gR.cacheAnalyticsEnabled()),r=k(()=>JY(gR.summary,gR.cacheOverview,F(n))),i=k(()=>YY(gR.summary,gR.cacheOverview,F(n))),a=k(()=>qY(gR.summary,gR.cacheOverview,F(n)));var o=KZ(),s=N(M(o),2);let c;var l=M(s);V(l,17,()=>F(i),e=>e.key,(e,t)=>{var n=UZ(),r=M(n),i=e=>{var n=HZ(),r=M(n);E(n),P(()=>z(r,`${F(t).pct??``}%`)),R(e,n)};B(r,e=>{F(t).pct>=8&&e(i)}),E(n),P(e=>{Ri(n,`width: ${F(t).pct??``}%; background: var(${F(t).colorVar??``})`),W(n,`title`,e)},[()=>XY(F(t))]),R(e,n)});var u=N(l,2),d=e=>{R(e,WZ())};B(u,e=>{F(a)||e(d)}),E(s);var f=N(s,2);V(f,21,()=>F(r),e=>e.key,(e,t)=>{var n=GZ(),r=M(n),i=N(r,2),a=M(i,!0);E(i);var o=N(i,2),s=M(o);E(o);var c=N(o,2),l=M(c,!0);E(c),E(n),P((e,i)=>{W(n,`title`,e),Ri(r,`background: var(${F(t).colorVar??``})`),z(a,F(t).label),z(s,`${F(t).pct??``}%`),z(l,i)},[()=>XY(F(t)),()=>QL(F(t).tokens)]),R(e,n)}),E(f),E(o),P(e=>{c=H(s,1,`cache-meter-bar svelte-1yzecxj`,null,c,{"is-empty":!F(a)}),W(s,`aria-label`,e)},[()=>ZY(F(i))]),R(e,o),O()}var JZ=L(``);function YZ(e,t){let n=ma(t,`size`,3,16),r=ma(t,`label`,3,`Loading`),i=ma(t,`class`,3,``);var a=JZ();P(()=>{H(a,1,`spinner ${i()??``}`,`svelte-b54l9o`),Ri(a,`--spinner-size: ${n()??``}px`),W(a,`aria-label`,r())}),R(e,a)}var XZ=Zr(` `),ZZ=Zr(``);function QZ(e,t){let n=ma(t,`label`,3,`No data`);var r=ZZ(),i=N(M(r),9),a=e=>{var t=XZ(),r=M(t,!0);E(t),P(()=>z(r,n())),R(e,t)};B(i,e=>{n()&&e(a)}),E(r),P(()=>{W(r,`role`,n()?`img`:void 0),W(r,`aria-label`,n()||void 0),W(r,`aria-hidden`,n()?void 0:`true`)}),R(e,r)}var $Z=L(`
`),eQ=L(`

`);function tQ(e,t){D(t,!0);let n=[`daily`,`weekly`,`monthly`,`yearly`];function r(e){pR.interval=e,t.onintervalchange?.()}function i(){let e=gR.daily;if(e.length===0)return null;let t=pR.rangeStart(),n=pR.rangeEnd(),r=eX($Y(e,pR.interval,t,n),$Y(Array.isArray(gR.cacheOverview.daily)?gR.cacheOverview.daily:[],pR.interval,t,n));return iX(fY(),r,{cacheEnabled:gR.cacheAnalyticsEnabled(),resolve:hY})}var a=eQ(),o=M(a),s=M(o),c=M(s,!0);E(s);var l=N(s,2);{let e=k(()=>n.map(e=>({value:e,label:e.charAt(0).toUpperCase()+e.slice(1)})));uY(l,{ariaLabel:`Usage chart interval`,get options(){return F(e)},get value(){return pR.interval},onchange:r})}E(o);var u=N(o,2),d=M(u);sY(d,{build:i});var f=N(d,2),p=e=>{var t=$Z();YZ(M(t),{size:24,label:`Loading usage`}),E(t),R(e,t)},m=e=>{var t=$Z();QZ(M(t),{}),E(t),R(e,t)};B(f,e=>{gR.daily.length===0&&gR.loading?e(p):gR.daily.length===0&&!K.authError&&e(m,1)}),E(u),E(a),P(e=>z(c,e),[()=>pR.chartTitle()]),R(e,a),O()}var nQ=10,rQ=.7;function iQ(e){return String(e).padStart(2,`0`)}function aQ(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);return t?new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]))):null}function oQ(e){return!e||typeof e.getTime!=`function`||Number.isNaN(e.getTime())?``:e.getUTCFullYear()+`-`+iQ(e.getUTCMonth()+1)+`-`+iQ(e.getUTCDate())}function sQ(e,t){let n=aQ(e);return n?(n.setUTCDate(n.getUTCDate()+t),oQ(n)):``}function cQ(e,t){if(e<=0||t<=0)return 0;let n=(e/t)**+rQ,r=Math.ceil(n*nQ);return r<1?1:r>nQ?nQ:r}function lQ(){let e=[];for(let t=0;t<=nQ;t++)e.push(t);return e}function uQ(e,t,n){let r={};(e||[]).forEach(e=>{r[e.date]=e});let i=aQ(sQ(n,-364)),a=i.getUTCDay();i.setUTCDate(i.getUTCDate()-a);let o=[];for(let e=new Date(i);oQ(e)<=n;e.setUTCDate(e.getUTCDate()+1)){let n=oQ(e),i=r[n],a=0;i&&(a=t===`costs`?i.total_cost==null?0:i.total_cost:i.total_tokens||0),o.push({dateStr:n,value:a,level:0,empty:!1})}let s=0;for(let e=0;es&&(s=o[e].value);for(let e=0;e0){for(;l.length<7;)l.push({dateStr:``,value:0,level:0,empty:!0});c.push(l)}return c}function dQ(e){let t=aQ(sQ(e,-364)),n=t.getUTCDay();t.setUTCDate(t.getUTCDate()-n);let r=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],i=[],a={},o=0;for(let n=new Date(t);oQ(n)<=e;n.setUTCDate(n.getUTCDate()+7),o++){let t=null;if(o===0)t=new Date(n);else for(let r=0;r<7;r++){let i=new Date(n);if(i.setUTCDate(n.getUTCDate()+r),oQ(i)>e)break;if(i.getUTCDate()===1){t=i;break}}if(!t)continue;let s=t.getUTCFullYear()+`-`+t.getUTCMonth();a[s]||(i.push({label:r[t.getUTCMonth()],col:o,key:s}),a[s]=!0)}for(let e=0;e `),hQ=L(`
`),gQ=L(`
`),_Q=L(`
`),vQ=L(`
`),yQ=L(`

Activity

Mon Wed Fri
`,1);function bQ(e,t){D(t,!0);let n=A(fn({show:!1,x:0,y:0,text:``})),r=k(()=>sL.currentDateKey()),i=k(()=>uQ(NZ.data,NZ.mode,F(r))),a=k(()=>dQ(F(r)));function o(e,t){t.empty||j(n,{show:!0,x:e.clientX,y:e.clientY,text:pQ(t,NZ.mode)},!0)}function s(){j(n,{show:!1,x:0,y:0,text:``},!0)}var c=yQ(),l=Cn(c),u=M(l),d=N(M(u),2),f=e=>{YZ(e,{size:14,label:`Loading activity`})};B(d,e=>{NZ.loading&&NZ.data.length===0&&e(f)}),uY(N(d,2),{ariaLabel:`Activity calendar mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return NZ.mode},onchange:e=>NZ.mode=e}),E(u);var p=N(u,2),m=N(M(p),2),h=M(m);V(h,21,()=>F(a),e=>e.key,(e,t)=>{var n=mQ(),r=M(n,!0);E(n),P(()=>{Ri(n,`grid-column: ${F(t).col+1} / span ${F(t).span??``}`),z(r,F(t).label)}),R(e,n)}),E(h);var g=N(h,2);V(g,21,()=>F(i),oi,(e,t,n)=>{var r=gQ();V(r,23,()=>F(t),(e,t)=>n+`-`+t,(e,t)=>{var n=hQ();P(()=>H(n,1,`contribution-calendar-cell ${F(t).empty?`empty`:`level-`+F(t).level}`,`svelte-3hfxuq`)),Hr(`mouseenter`,n,e=>o(e,F(t))),Hr(`mouseleave`,n,s),R(e,n)}),E(r),R(e,r)}),E(g),E(m),E(p);var _=N(p,2),v=M(_),y=M(v),b=M(y,!0);E(y),E(v);var x=N(v,2);V(N(M(x),2),16,lQ,e=>e,(e,t)=>{var n=_Q();P(()=>H(n,1,`contribution-calendar-cell level-${t??``}`,`svelte-3hfxuq`)),R(e,n)}),We(2),E(x),E(_),E(l);var S=N(l,2),C=e=>{var t=vQ(),r=M(t,!0);E(t),P(()=>{Ri(t,`left: ${F(n).x??``}px; top: ${F(n).y-40}px`),z(r,F(n).text)}),R(e,t)};B(S,e=>{F(n).show&&e(C)}),P(e=>z(b,e),[()=>fQ(NZ.data,NZ.mode)]),R(e,c),O()}var xQ=L(``),SQ=L(`

`),CQ=L(`
`);function wQ(e,t){D(t,!0);let n=ma(t,`label`,3,`help`),r=ma(t,`text`,3,``),i=ma(t,`open`,15,!1),a=ma(t,`external`,3,!1),o=k(()=>!!r()||!!t.help||a());var s=CQ(),c=M(s),l=M(c);gi(l,()=>t.title??m);var u=N(l,2),d=e=>{var r=xQ();let a;P(()=>{a=H(r,1,`inline-help-toggle svelte-y40or3`,null,a,{"is-open":i()}),W(r,`aria-label`,(i()?`Hide `:`Show `)+n()),W(r,`aria-expanded`,i()),W(r,`aria-controls`,t.copyId)}),I(`click`,r,()=>i(!i())),R(e,r)};B(u,e=>{F(o)&&e(d)}),gi(N(u,2),()=>t.extra??m),E(c);var f=N(c,2),p=e=>{var n=SQ(),i=M(n),a=e=>{var n=$r();gi(Cn(n),()=>t.help),R(e,n)},o=e=>{var t=Qr();P(()=>z(t,r())),R(e,t)};B(i,e=>{t.help?e(a):e(o,-1)}),E(n),P(()=>W(n,`id`,t.copyId)),R(e,n)};B(f,e=>{i()&&F(o)&&!a()&&e(p)}),E(s),R(e,s),O()}Ur([`click`]);var TQ=L(`

Provider Latency

`),EQ=L(`
Avg
`),DQ=L(`

Requests by Status

Success 2xx 4xx 5xx
`,1);function OQ(e,t){D(t,!0);let n=wZ(),r=k(()=>jZ.stats);function i(){return{interval:F(r).interval,zone:sL.effectiveTimezone(),resolve:hY,formatTimestamp:e=>sL.formatTimestamp(e)}}var a=$r(),o=Cn(a),s=e=>{var t=DQ(),a=Cn(t),o=M(a),s=N(M(o),2),c=M(s),l=N(M(c),2),u=M(l,!0);E(l),E(c);var d=N(c,2),f=N(M(d),4),p=M(f,!0);E(f),E(d);var m=N(d,2),h=N(M(m),4),g=M(h,!0);E(h),E(m);var _=N(m,2),v=N(M(_),4),y=M(v,!0);E(v),E(_),E(s),E(o);var b=N(o,2);sY(M(b),{build:()=>CZ(fY(),F(r).buckets,i())}),E(b),E(a);var x=N(a,2),S=e=>{var t=EQ(),a=M(t),o=M(a);wQ(o,{copyId:`audit-latency-help-copy`,label:`provider latency help`,text:`Average duration of successful requests as measured at the gateway, per provider. Local cache hits and failed requests are excluded; streamed responses count until the stream completes.`,title:e=>{R(e,TQ())},$$slots:{title:!0}});var s=N(o,2),c=M(s),l=N(M(c),2),u=M(l,!0);E(l),E(c),E(s),E(a);var d=N(a,2);sY(M(d),{build:()=>TZ(fY(),F(r).buckets,F(r).provider_latency,{...i(),providerColor:n})}),E(d),E(t),P(e=>z(u,e),[()=>vZ(F(r))]),R(e,t)},C=k(()=>mZ(F(r)));B(x,e=>{F(C)&&e(S)}),P((e,t,n,r)=>{z(u,e),z(p,t),z(g,n),z(y,r)},[()=>hZ(F(r)),()=>QL(gZ(F(r),`status_2xx`)),()=>QL(gZ(F(r),`status_4xx`)),()=>QL(gZ(F(r),`status_5xx`))]),R(e,t)},c=k(()=>pZ(F(r)));B(o,e=>{F(c)&&e(s)}),R(e,a),O()}var kQ=(e,t=m,n=m,r)=>{let i=kt(()=>_(r?.(),!1));var a=MQ(),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=e=>{var t=AQ(),r=M(t,!0);E(t),P(()=>z(r,n())),R(e,t)},u=e=>{var t=jQ(),r=M(t,!0);E(t),P(()=>z(r,n())),R(e,t)};B(c,e=>{F(i)?e(l):e(u,-1)}),E(a),P(()=>z(s,t())),R(e,a)},AQ=L(` `),jQ=L(` `),MQ=L(`
`),NQ=L(` `),PQ=L(``),FQ=L(`

`),IQ=L(`
Breaker State
`),LQ=L(`
`),RQ=L(`
Models (Recent Traffic)
`),zQ=L(`
`),BQ=L(`

Models Available
Last Checked

`);function VQ(e,t){D(t,!0);let n=k(()=>AZ.cardExpanded(t.provider)),r=e=>sL.formatTimestamp(e),i=k(()=>[[`Base URL`,t.provider.config?.base_url],[`API Version`,t.provider.config?.api_version]].filter(([,e])=>!!e));var a=BQ(),o=M(a),s=M(o),c=M(s),l=M(c),u=M(l,!0);E(l);var d=N(l,2),f=e=>{var n=NQ(),r=M(n);E(n),P(e=>z(r,`(${e??``})`),[()=>TX(t.provider)]),R(e,n)},p=k(()=>TX(t.provider));B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var n=PQ();P((e,t,r)=>{W(n,`href`,e),W(n,`aria-label`,t),W(n,`title`,r)},[()=>EX(t.provider),()=>`View `+(TX(t.provider)||t.provider.name)+` provider docs`,()=>`View `+(TX(t.provider)||t.provider.name)+` provider docs`]),R(e,n)},g=k(()=>EX(t.provider));B(m,e=>{F(g)&&e(h)}),E(c),E(s);var _=N(s,2),y=M(_,!0);E(_),E(o);var b=N(o,2),x=M(b),S=N(M(x),2),C=M(S,!0);E(S),E(x);var w=N(x,2),T=N(M(w),2),ee=M(T,!0);E(T),E(w),E(b);var te=N(b,2);let ne;var re=M(te),ie=M(re),ae=M(ie,!0);E(ie);var oe=N(ie,2),se=e=>{var n=FQ(),r=M(n,!0);E(n),P(()=>z(r,t.provider.last_error)),R(e,n)};B(oe,e=>{t.provider.last_error&&e(se)});var ce=N(oe,2),le=e=>{var n=zQ(),r=M(n);{let e=k(()=>FX(t.provider));kQ(r,()=>`Recent Requests`,()=>F(e))}var i=N(r,2),a=e=>{var n=IQ(),r=N(M(n),2),i=M(r),a=M(i,!0);E(i),E(r),E(n),P((e,t)=>{H(i,1,`provider-status-health-state ${e??``}`,`svelte-nopjmh`),z(a,t)},[()=>PX(t.provider),()=>NX(t.provider)]),R(e,n)},o=k(()=>MX(t.provider));B(i,e=>{F(o)&&e(a)});var s=N(i,2),c=e=>{var n=RQ(),r=N(M(n),2);V(r,21,()=>IX(t.provider),e=>e.model,(e,t)=>{var n=LQ();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(n),P((e,i)=>{r=H(n,1,`provider-status-health-model svelte-nopjmh`,null,r,{"is-flagged":F(t).flagged}),W(n,`title`,e),z(a,F(t).model),z(s,i)},[()=>RX(F(t)),()=>LX(F(t))]),R(e,n)}),E(r),E(n),R(e,n)},l=k(()=>IX(t.provider).length>0);B(s,e=>{F(l)&&e(c)}),E(n),R(e,n)},ue=k(()=>jX(t.provider));B(ce,e=>{F(ue)&&e(le)});var de=N(ce,2),fe=M(de);V(fe,17,()=>F(i),([e,t])=>e,(e,t)=>{var n=k(()=>v(F(t),2));kQ(e,()=>F(n)[0],()=>F(n)[1],()=>!0)});var pe=N(fe,2);{let e=k(()=>kX(t.provider));kQ(pe,()=>`Configured Models`,()=>F(e))}var me=N(pe,2);{let e=k(()=>DX(t.provider));kQ(me,()=>`Retry`,()=>F(e))}var he=N(me,2);{let e=k(()=>OX(t.provider));kQ(he,()=>`Circuit Breaker`,()=>F(e))}E(de),E(re),E(te);var ge=N(te,2);let _e;G(M(ge),{name:`chevron-down`,class:`provider-status-card-toggle-icon`}),E(ge),E(a),P((e,r,i,a,o)=>{z(u,t.provider.name),H(_,1,`provider-status-pill ${e??``}`,`svelte-nopjmh`),W(_,`title`,r),z(y,t.provider.status_label),z(C,i),W(T,`title`,a),z(ee,o),ne=H(te,1,`provider-status-details svelte-nopjmh`,null,ne,{"is-expanded":F(n),"is-collapsed":!F(n)}),W(te,`aria-hidden`,!F(n)),z(ae,t.provider.status_reason),_e=H(ge,1,`provider-status-card-toggle svelte-nopjmh`,null,_e,{"is-expanded":F(n)}),W(ge,`aria-expanded`,F(n)),W(ge,`aria-label`,(F(n)?`Collapse `:`Expand `)+t.provider.name+` details`),W(ge,`title`,F(n)?`Collapse details`:`Expand details`)},[()=>_X(t.provider.status),()=>AX(t.provider),()=>QL(t.provider.runtime?.discovered_model_count),()=>wX(t.provider,r),()=>CX(t.provider,r)]),I(`click`,ge,()=>AZ.toggleCard(t.provider)),R(e,a),O()}Ur([`click`]);var HQ=L(`

Providers Overview

`),UQ=L(`
`);function WQ(e,t){D(t,!0);let n=k(()=>AZ.status.providers);var r=$r(),i=Cn(r),a=e=>{var t=HQ(),r=M(t),i=N(M(r),2),a=M(i),o=M(a,!0);E(a);var s=N(a,2);let c;E(i),E(r);var l=N(r,2);V(l,21,()=>F(n),e=>e.name,(e,t)=>{VQ(e,{get provider(){return F(t)}})}),E(l),E(t),P((e,t)=>{W(i,`aria-checked`,AZ.detailsExpanded),W(i,`title`,e),z(o,t),c=H(s,1,`provider-status-toggle-track svelte-1kx3uw4`,null,c,{"is-active":AZ.detailsExpanded})},[()=>AZ.detailsToggleLabel(),()=>AZ.detailsToggleLabel()]),I(`click`,i,()=>AZ.toggleDetails()),R(e,t)},o=e=>{var t=UQ();YZ(M(t),{size:18,label:`Loading provider status`}),E(t),R(e,t)};B(i,e=>{F(n).length>0?e(a):AZ.loading&&!AZ.loadedOnce&&e(o,1)}),R(e,r),O()}Ur([`click`]);var GQ=L(`
`);function KQ(e,t){D(t,!0);function n(){gR.fetchUsage(),gR.fetchCacheOverview(``),jZ.fetch(),AZ.fetch(),MZ.fetch(),NZ.fetch()}function r(){gR.fetchUsage(),gR.fetchCacheOverview(``),jZ.fetch()}function i(){r(),NZ.fetch()}Nn(()=>{if(K.refreshTick,YI.page===`overview`)return kr(()=>{n(),FY.start()}),()=>{FY.stop(),AZ.stopPolling()}});var a=GQ(),o=M(a);zY(o,{});var s=N(o,4);NR(M(s),{onchange:i}),E(s);var c=N(s,2);XL(c,{});var l=N(c,2);VZ(l,{});var u=N(l,2);qZ(u,{});var d=N(u,2);tQ(d,{onintervalchange:r});var f=N(d,2);bQ(f,{});var p=N(f,2);OQ(p,{}),WQ(N(p,2),{}),E(a),R(e,a),O()}var qQ=`/admin/live/logs?types=audit,usage`;function JQ(e){let t=qQ,n=Number(e||0);return Number.isFinite(n)&&n>0&&(t+=`&cursor=`+encodeURIComponent(String(n))),t}function YQ(){return{async consumeLiveLogsBody(e){let t=new TextDecoder,n=``;for(;;){let r=await e.read();if(r.done)break;n+=t.decode(r.value,{stream:!0});let i;for(;i=n.match(/\r?\n\r?\n/);){let e=i.index,t=n.slice(0,e);n=n.slice(e+i[0].length),this.handleLiveLogsFrame(t)}}n+=t.decode(),n.trim()&&this.handleLiveLogsFrame(n)},handleLiveLogsFrame(e){let t=String(e||``).split(/\r?\n/),n=[];for(let e of t)e.indexOf(`data:`)===0&&n.push(e.slice(5).trimStart());if(n.length===0)return;let r;try{r=JSON.parse(n.join(` -`))}catch{return}this.applyLiveLogEvent(r)},applyLiveLogEvent(e){if(!e||typeof e!=`object`)return;let t=Number(e.seq||0);Number.isFinite(t)&&t>this.liveLogsLastSeq&&(this.liveLogsLastSeq=t);let n=String(e.type||``).trim();if(n!==`heartbeat`){if(n===`reset`){this.reloadLiveLogSources();return}if(n===`audit.removed`){this.removeLiveAuditEntry(e.data);return}if(n.indexOf(`audit.`)===0){this.mergeLiveAuditEntry(e.data||{},n);return}n.indexOf(`usage.`)===0&&(this.mergeLiveUsageEntry(e.data||{},n),typeof this.noteLiveTokenUsage==`function`&&this.noteLiveTokenUsage(n))}},reloadLiveLogSources(){typeof this.fetchUsage==`function`&&this.fetchUsage(),this.page===`audit-logs`&&typeof this.fetchAuditLog==`function`&&this.fetchAuditLog(!0)},auditLiveInsertAllowed(){return this.auditLog&&this.auditLog.offset===0&&!this.auditSearch&&!this.auditMethod&&!this.auditStatusCode&&!this.auditStream&&!this.customStartDate&&!this.customEndDate},usageLiveInsertAllowed(){return this.usageLog&&this.usageLog.offset===0&&!this.usageLogSearch&&!this.usageFilterModel&&!this.usageFilterProvider&&!this.usageFilterLabel&&!this.usageFilterUserPath},mergeLiveAuditEntry(e,t){if(!e||typeof e!=`object`)return;let n=String(e.id||e.request_id||``).trim();if(!n)return;let r=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],i=r.findIndex(t=>String(t.id||``).trim()===n||e.request_id&&String(t.request_id||``).trim()===String(e.request_id).trim()),a=i>=0&&r[i]||{};if(t===`audit.detail`){let t={...e,_detail_loaded:!0,_response_partial:!1};if(i>=0){let e=this.mergeLiveAuditPatch(a,t);return r.splice(i,1,e),this.auditLog.entries=[...r],this.notifyLiveConversation(e),e}return this.auditLiveInsertAllowed()?(this.auditLog.entries=[this.mergeLiveAuditUsagePatch(t),...r].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1,this.auditLog.entries[0]):void 0}let o=this.liveAuditStateAfter(a._live_state,t),s=this.liveAuditEventFlushed(a._live_state)||this.liveAuditEventFlushed(o),c={...e,_live:!0,_live_state:o,_audit_flushed:s};if(s?c._live_pending=!1:c._live_pending=!0,t===`audit.stream`?c._response_partial=!0:this.liveAuditStateSettled(t)&&(c._response_partial=!1),i>=0){let e=this.mergeLiveAuditPatch(a,c);return r.splice(i,1,e),this.auditLog.entries=[...r],this.fetchExpandedAuditDetailIfReady(e),this.notifyLiveConversation(e),e}if(!this.auditLiveInsertAllowed())return;this.auditLog.entries=[this.mergeLiveAuditUsagePatch(c),...r].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1;let l=this.auditLog.entries[0];return this.fetchExpandedAuditDetailIfReady(l),this.notifyLiveConversation(l),l},mergeLiveAuditPatch(e,t){let n={...e,...t};return t.data===void 0&&e.data!==void 0?n.data=e.data:e.data&&t.data&&typeof e.data==`object`&&typeof t.data==`object`&&!Array.isArray(e.data)&&!Array.isArray(t.data)&&(n.data={...e.data,...t.data}),this.mergeLiveAuditUsagePatch(n)},mergeLiveAuditUsagePatch(e){let t=this.liveUsageEntryForAudit(e);if(!t)return e;let n=this.auditEntryWithLiveUsage(e,t);return this.removeSkippedLiveUsage(t),n},liveUsageEntryForAudit(e){let t=String(e&&e.request_id||``).trim();return t&&((this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[]).find(e=>String(e&&e.request_id||``).trim()===t)||this.skippedLiveUsageByRequestId&&this.skippedLiveUsageByRequestId[t])||null},notifyLiveConversation(e){e&&typeof this.refreshLiveConversation==`function`&&this.refreshLiveConversation(e)},fetchExpandedAuditDetailIfReady(e){!e||!this.isAuditEntryExpanded||!this.isAuditEntryExpanded(e)||String(e._live_state||``).trim()!==`audit.flushed`&&!e._audit_flushed||typeof this.fetchAuditEntryDetail==`function`&&this.fetchAuditEntryDetail(e)},liveAuditStateRank(e){switch(String(e||``).trim()){case`audit.started`:return 10;case`audit.updated`:case`audit.stream`:return 20;case`audit.completed`:return 30;case`audit.failed`:case`audit.flushed`:case`audit.detail`:return 40;default:return 0}},liveAuditStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveAuditStateRank(n)>this.liveAuditStateRank(r)?n:r},liveAuditStateSettled(e){return this.liveAuditStateRank(e)>=this.liveAuditStateRank(`audit.completed`)},liveAuditEventFlushed(e){let t=String(e||``).trim();return t===`audit.failed`||t===`audit.flushed`||t===`audit.detail`},removeLiveAuditEntry(e){if(!e||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim();if(!t&&!n)return;let r=this.auditLog.entries.filter(e=>!(t&&String(e.id||``).trim()===t||n&&String(e.request_id||``).trim()===n)),i=this.auditLog.entries.length-r.length;i>0&&(this.auditLog.entries=r,this.auditLog.total=Math.max(0,Number(this.auditLog.total||0)-i))},mergeLiveUsageEntry(e,t){if(!e||typeof e!=`object`)return;e={...e,_live_state:t||e._live_state||`usage.completed`};let n=String(e.id||``).trim();if(!n)return;let r=this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[],i=r.findIndex(e=>String(e.id||``).trim()===n);if(i>=0){let t=r[i]||{},n=this.mergeLiveUsagePatch(t,e);if(this.applyLiveUsageToAudit(n),this.liveUsageShouldSkip(n)){r.splice(i,1),this.usageLog.entries=[...r],this.usageLog.total=Math.max(0,Number(this.usageLog.total||0)-1),this.storeSkippedLiveUsage(n);return}r.splice(i,1,n),this.usageLog.entries=[...r],this.removeSkippedLiveUsage(n);return}let a=this.mergeLiveUsagePatch(this.liveUsageSeedForEntry(e),e);if(this.applyLiveUsageToAudit(a),this.liveUsageShouldSkip(a)){this.storeSkippedLiveUsage(a);return}this.removeSkippedLiveUsage(a),this.usageLog.entries=[a,...r].slice(0,this.usageLog.limit||50),this.usageLog.total=Number(this.usageLog.total||0)+1},mergeLiveUsagePatch(e,t){e=e&&typeof e==`object`?e:{};let n=this.liveUsageStateAfter(e._live_state,t&&t._live_state),r=this.liveUsageEventFlushed(e)||this.liveUsageEventFlushed({...t,_live_state:n});return{...e,...t,_live:!0,_live_state:n||`usage.completed`,_live_pending:!r,_usage_flushed:r}},liveUsageShouldSkip(e){return!!(this.usageLogHideCached&&this.liveUsageEntryCached(e))||!this.usageLiveInsertAllowed()},liveUsageSeedForEntry(e){return this.skippedLiveUsageForEntry(e)||this.auditLiveUsageForEntry(e)},skippedLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();return t&&this.skippedLiveUsageByRequestId?this.skippedLiveUsageByRequestId[t]:null},auditLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return null;let n=this.auditLog.entries.find(e=>String(e&&e.request_id||``).trim()===t),r=n&&n.usage&&typeof n.usage==`object`&&!Array.isArray(n.usage)?n.usage:null;return r?{id:e&&e.id,request_id:t,entries:r.entries,input_tokens:r.input_tokens,uncached_input_tokens:r.uncached_input_tokens,cached_input_tokens:r.cached_input_tokens,cache_write_input_tokens:r.cache_write_input_tokens,output_tokens:r.output_tokens,total_tokens:r.total_tokens,cached_input_ratio:r.cached_input_ratio,estimated_cached_characters:r.estimated_cached_characters,_live_state:n._usage_live_state,_live_pending:n._usage_live_pending,_usage_flushed:n._usage_flushed}:null},storeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&((!this.skippedLiveUsageByRequestId||typeof this.skippedLiveUsageByRequestId!=`object`||Array.isArray(this.skippedLiveUsageByRequestId))&&(this.skippedLiveUsageByRequestId={}),this.skippedLiveUsageByRequestId[t]=e)},removeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&this.skippedLiveUsageByRequestId&&delete this.skippedLiveUsageByRequestId[t]},liveUsageEntryCached(e){let t=String(e&&e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`||!!(e&&e.cache_hit)},liveUsageEventFlushed(e){let t=String(e&&e._live_state||``).trim();return!!(e&&e._usage_flushed)||t===`usage.failed`||t===`usage.flushed`},liveUsageStateRank(e){switch(String(e||``).trim()){case`usage.completed`:return 10;case`usage.failed`:case`usage.flushed`:return 20;default:return 0}},liveUsageStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveUsageStateRank(n)>this.liveUsageStateRank(r)?n:r},applyLiveUsageToAudit(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let n=this.auditLog.entries.findIndex(e=>String(e.request_id||``).trim()===t);if(n<0)return;let r=this.auditLog.entries[n];this.auditLog.entries.splice(n,1,this.auditEntryWithLiveUsage(r,e)),this.auditLog.entries=[...this.auditLog.entries]},auditEntryWithLiveUsage(e,t){let n=this.liveUsageStateAfter(e._usage_live_state,t._live_state||`usage.completed`),r=this.liveUsageEventFlushed({_live_state:n,_usage_flushed:e._usage_flushed||t._usage_flushed});return{...e,usage:this.liveUsageSummary(t,e.usage),_usage_live_state:n||`usage.completed`,_usage_live_pending:!r,_usage_flushed:r}},liveUsageSummary(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=this.liveNumber(e.input_tokens,this.liveNumber(n.input_tokens,0)),i=this.liveNumber(e.output_tokens,this.liveNumber(n.output_tokens,0)),a=this.liveNumber(e.uncached_input_tokens,this.liveNumber(n.uncached_input_tokens,0)),o=this.liveNumber(e.cached_input_tokens,this.liveNumber(n.cached_input_tokens,0)),s=this.liveNumber(e.cache_write_input_tokens,this.liveNumber(n.cache_write_input_tokens,0));r>0&&a+o+s===0&&(a=r);let c=a+o+s||r,l=c+i||this.liveNumber(e.total_tokens,this.liveNumber(n.total_tokens,0)),u=this.liveNumber(e.cached_input_ratio,this.liveNumber(n.cached_input_ratio,c>0?o/c:0));return{entries:Math.max(1,this.liveNumber(e.entries,this.liveNumber(n.entries,1))),input_tokens:c,uncached_input_tokens:a,cached_input_tokens:o,cache_write_input_tokens:s,output_tokens:i,total_tokens:l,cached_input_ratio:u,estimated_cached_characters:this.liveNumber(e.estimated_cached_characters,this.liveNumber(n.estimated_cached_characters,o*4))}},liveNumber(e,t){let n=Number(e);return Number.isFinite(n)?n:t},auditEntryShouldFetchDetail(e){return!e||e._detail_loading||e._detail_loaded||this.auditEntryLiveDetailPending(e)?!1:this.auditEntryNeedsPersistedLiveDetail(e)?!0:!this.auditEntryHasDetailData(e)},auditEntryLiveDetailPending(e){if(!e||!e._live)return!1;let t=String(e._live_state||``).trim();return t===`audit.failed`||!e._audit_flushed&&t!==`audit.flushed`&&t!==`audit.detail`},auditEntryNeedsPersistedLiveDetail(e){return!!(e&&e._live&&!e._detail_loaded)},auditEntryHasDetailData(e){let t=e&&e.data;return!t||typeof t!=`object`?!1:t.request_headers!==void 0||t.response_headers!==void 0||t.request_body!==void 0||t.response_body!==void 0||t.request_body_too_big_to_handle!==void 0||t.response_body_too_big_to_handle!==void 0||t.user_agent!==void 0||t.api_key_hash!==void 0||t.temperature!==void 0||t.max_tokens!==void 0||t.error_message!==void 0||t.error_code!==void 0},clearAuditDetailLoading(e){if(!e)return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim(),r=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],i=r.find(e=>t&&String(e.id||``).trim()===t?!0:!!(n&&String(e.request_id||``).trim()===n)),a=i||e;a._detail_loading=!1,i&&(this.auditLog.entries=[...r])}}}var XQ=class{#e=A(fn({entries:[],total:0,limit:25,offset:0}));get auditLog(){return F(this.#e)}set auditLog(e){j(this.#e,e,!0)}#t=A(fn({entries:[],total:0,limit:50,offset:0}));get usageLog(){return F(this.#t)}set usageLog(e){j(this.#t,e,!0)}#n=A(``);get auditSearch(){return F(this.#n)}set auditSearch(e){j(this.#n,e,!0)}#r=A(``);get auditMethod(){return F(this.#r)}set auditMethod(e){j(this.#r,e,!0)}#i=A(``);get auditStatusCode(){return F(this.#i)}set auditStatusCode(e){j(this.#i,e,!0)}#a=A(``);get auditStream(){return F(this.#a)}set auditStream(e){j(this.#a,e,!0)}#o=A(``);get usageLogSearch(){return F(this.#o)}set usageLogSearch(e){j(this.#o,e,!0)}#s=A(``);get usageFilterModel(){return F(this.#s)}set usageFilterModel(e){j(this.#s,e,!0)}#c=A(``);get usageFilterProvider(){return F(this.#c)}set usageFilterProvider(e){j(this.#c,e,!0)}#l=A(``);get usageFilterLabel(){return F(this.#l)}set usageFilterLabel(e){j(this.#l,e,!0)}#u=A(``);get usageFilterUserPath(){return F(this.#u)}set usageFilterUserPath(e){j(this.#u,e,!0)}#d=A(!1);get usageLogHideCached(){return F(this.#d)}set usageLogHideCached(e){j(this.#d,e,!0)}liveLogsLastSeq=0;liveLogsReconnectAttempts=0;liveLogsReconnectTimer=null;liveLogsController=null;skippedLiveUsageByRequestId=null;fetchUsage=null;fetchAuditLog=null;isAuditEntryExpanded=null;refreshLiveConversation=null;noteLiveTokenUsage=null;get page(){return YI.page}get customStartDate(){return pR.customStartDate}get customEndDate(){return pR.customEndDate}liveLogsEnabled(){return _L.liveLogsVisible()}async startLiveLogs(){typeof fetch!=`function`||typeof ReadableStream>`u`||(await _L.ensureLoaded(),this.liveLogsEnabled()&&(this.stopLiveLogs(),this.liveLogsController=typeof AbortController==`function`?new AbortController:null,this.readLiveLogsStream(this.liveLogsController)))}stopLiveLogs(){this.liveLogsReconnectTimer&&=(clearTimeout(this.liveLogsReconnectTimer),null),this.liveLogsController&&typeof this.liveLogsController.abort==`function`&&this.liveLogsController.abort(),this.liveLogsController=null}ensureLiveLogs(){this.liveLogsController||this.liveLogsReconnectTimer||this.startLiveLogs()}async readLiveLogsStream(e){let t={};e&&(t.signal=e.signal);let n=JQ(this.liveLogsLastSeq),r=K.generation;try{let e=await dL(n,t);if(e.status===401){if(K.handleUnauthorized(r),r{this.liveLogsReconnectTimer=null,this.startLiveLogs()},t)}async fetchAuditEntryDetail(e){if(!this.auditEntryShouldFetchDetail(e))return;let t=String(e.id||``).trim();if(!t)return;e._detail_loading=!0;let n=e;try{let e=await pL(`/admin/audit/detail?log_id=`+encodeURIComponent(t),{label:`audit detail`});if(e.stale||!e.ok)return;n=this.mergeLiveAuditEntry(e.data,`audit.detail`)||n}catch(e){console.error(`Failed to fetch audit detail:`,e)}finally{this.clearAuditDetailLoading(n)}}};Object.assign(XQ.prototype,YQ());var ZQ=new XQ,QQ=null;Fn(()=>{Nn(()=>{let e=K.refreshTick;if(QQ===null){QQ=e;return}e!==QQ&&(QQ=e,kr(()=>{ZQ.stopLiveLogs(),ZQ.startLiveLogs()}))})});function $Q(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,uncached_input_tokens:0,cached_input_tokens:0,cache_write_input_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null,rewrite_tokens_saved:0,rewrite_cost_saved:null}}function e$(){return{entries:[],total:0,limit:50,offset:0}}function t$(e,t){let n=[[`model`,e&&e.model],[`provider`,e&&e.provider],[`label`,e&&e.label],[`user_path`,e&&e.user_path]],r=``;for(let[e,i]of n)!i||e===t||(r+=`&`+e+`=`+encodeURIComponent(i));return r}function n$({limit:e,offset:t,hideCached:n,search:r}){let i=`&limit=`+e+`&offset=`+t;return i+=`&cache_mode=`+(n?`uncached`:`all`),r&&(i+=`&search=`+encodeURIComponent(r)),i}function r$(e,t){let n=new Set(e||[]);return t&&n.add(t),[...n].sort()}function i$(e,t){let n=Number(t&&t.total_requests||0)-Number(e&&e.total_requests||0);return Number.isFinite(n)&&n>0?n:0}function a$(e,t,n){let r=n?e:t,i=Number(r&&r.total_requests||0);return Number.isFinite(i)?i:0}function o$(e,t,n){let r=i$(e,t);return r<=0?``:n?QL(r)+` cached requests hidden`:QL(Number(e&&e.total_requests||0))+` to providers + `+QL(r)+` from cache`}function s$(e){let t=e||{};return t.total_input_cost===null||t.total_input_cost===void 0?``:$L(t.total_input_cost)+` input + `+$L(t.total_output_cost)+` output`}function c$(e){let t=Number(e&&e.rewrite_tokens_saved||0);return Number.isFinite(t)&&t>0?t:0}function l$(e){return c$(e)>0}function u$(e){let t=e||{};return t.rewrite_cost_saved===void 0?null:t.rewrite_cost_saved}function d$(e){let t=c$(e);return t<=0?``:QL(t)+` prompt tokens removed by request rewriters before reaching providers`}function f$(e){return String(e&&e.cost_source||``).trim()}function p$(e){let t=f$(e);return t===`openrouter_credits`||t===`xai_cost_in_usd_ticks`}function m$(e){switch(f$(e)){case`openrouter_credits`:return`Costs from OpenRouter USD-based credits.`;case`xai_cost_in_usd_ticks`:return`Costs from xAI usage.cost_in_usd_ticks.`;default:return``}}function h$(e){return String(e&&e.cache_type||``).trim().toLowerCase()}function g$(e){let t=h$(e);return t===`exact`||t===`semantic`}function _$(e){let t=h$(e);return t===`exact`?`Exact`:t===`semantic`?`Semantic`:`-`}function v$(e,t){let n=t?String(t):``;return g$(e)?n?`Saved by cache — not charged -`+n:`Saved by cache — not charged`:n}function y$(e){let t=Number(e&&e.cached_input_ratio);return!Number.isFinite(t)||t<=0?0:Math.min(1,t)}function b$(e){return Number(e&&e.cached_input_tokens||0)>0}function x$(e){return b$(e)?(y$(e)*100).toFixed(1)+`%`:``}function S$(e){if(!b$(e))return``;let t=Number(e.cached_input_tokens||0),n=Number(e.uncached_input_tokens||0),r=Number(e.cache_write_input_tokens||0),i=t+n+r,a=[QL(t)+` cached / `+QL(i)+` input tokens`];return r>0&&a.push(QL(r)+` cache write`),a.join(` -`)}function C$(e){let t=[];if(m$(e)&&(t.push(m$(e)),t.push(``)),t.push(`Input: `+$L(e.input_cost)),t.push(`Output: `+$L(e.output_cost)),e.raw_data){t.push(``);for(let[n,r]of Object.entries(e.raw_data)){let e=n.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),i=r&&typeof r==`object`?JSON.stringify(r):QL(r);t.push(e+`: `+i)}}return t.join(` -`)}function w$(e){return Array.isArray(e&&e.labels)?e.labels:[]}function T$(e,t,n){return(e||[]).length>0||t?!0:(n||[]).some(e=>w$(e).length>0)}function E$(e){return e&&typeof e.total_tokens==`number`?e.total_tokens:(e&&e.input_tokens||0)+(e&&e.output_tokens||0)}function D$(e,t){return t?e.total_cost||0:E$(e)}function O$(e,t){return[...e||[]].sort((e,n)=>t?(n.total_cost||0)-(e.total_cost||0):D$(n,t)-D$(e,t))}function k$(e){let t=Array.isArray(e)?e:[];if(t.length===0)return!1;if(t.length!==1)return!0;let n=String(t[0]&&t[0].user_path||``).trim();return n!==``&&n!==`/`}function A$(e){return(e||`chart`)===`chart`||e===`stacked`}function j$(e,t,n){let r=O$(e,n),i=e=>Number(e)||0,a=e=>n?Math.min(i(e.cached_input_cost),i(e.input_cost)):i(e.cached_input_tokens),o=e=>n?i(e.input_cost)-a(e):i(e.uncached_input_tokens)+i(e.cached_input_tokens)+i(e.cache_write_input_tokens)>0?i(e.uncached_input_tokens)+i(e.cache_write_input_tokens):i(e.input_tokens),s=e=>i(n?e.output_cost:e.output_tokens),c=e=>n?0:i(e.local_cached_input_tokens),l=e=>n?0:i(e.local_cached_output_tokens),u=r.slice(0,10),d=r.slice(10),f=u.map(t),p=u.map(o),m=u.map(s),h=u.map(a),g=u.map(c),_=u.map(l);if(d.length>0){f.push(`Other`);let e=e=>d.reduce((t,n)=>t+e(n),0);p.push(e(o)),m.push(e(s)),h.push(e(a)),g.push(e(c)),_.push(e(l))}return{labels:f,inputs:p,outputs:m,prompts:h,localIns:g,localOuts:_}}function M$(e){return Math.max(200,e*32+72)}var N$=new class{#e=A(`tokens`);get usageMode(){return F(this.#e)}set usageMode(e){j(this.#e,e,!0)}get usageFilterModel(){return ZQ.usageFilterModel}set usageFilterModel(e){ZQ.usageFilterModel=e}get usageFilterProvider(){return ZQ.usageFilterProvider}set usageFilterProvider(e){ZQ.usageFilterProvider=e}get usageFilterLabel(){return ZQ.usageFilterLabel}set usageFilterLabel(e){ZQ.usageFilterLabel=e}get usageFilterUserPath(){return ZQ.usageFilterUserPath}set usageFilterUserPath(e){ZQ.usageFilterUserPath=e}#t=A(fn({models:[],providers:[],labels:[]}));get usageFacetOptions(){return F(this.#t)}set usageFacetOptions(e){j(this.#t,e,!0)}#n=A(fn($Q()));get usageSummary(){return F(this.#n)}set usageSummary(e){j(this.#n,e,!0)}#r=A(fn($Q()));get usageSummaryAll(){return F(this.#r)}set usageSummaryAll(e){j(this.#r,e,!0)}#i=A(fn([]));get modelUsage(){return F(this.#i)}set modelUsage(e){j(this.#i,e,!0)}#a=A(fn([]));get userPathUsage(){return F(this.#a)}set userPathUsage(e){j(this.#a,e,!0)}#o=A(fn([]));get labelUsage(){return F(this.#o)}set labelUsage(e){j(this.#o,e,!0)}get usageLog(){return ZQ.usageLog}set usageLog(e){ZQ.usageLog=e}get usageLogSearch(){return ZQ.usageLogSearch}set usageLogSearch(e){ZQ.usageLogSearch=e}get usageLogHideCached(){return ZQ.usageLogHideCached}set usageLogHideCached(e){ZQ.usageLogHideCached=e}#s=A(`chart`);get modelUsageView(){return F(this.#s)}set modelUsageView(e){j(this.#s,e,!0)}#c=A(`chart`);get userPathUsageView(){return F(this.#c)}set userPathUsageView(e){j(this.#c,e,!0)}#l=A(`chart`);get labelUsageView(){return F(this.#l)}set labelUsageView(e){j(this.#l,e,!0)}#u=A(!1);get summaryLoading(){return F(this.#u)}set summaryLoading(e){j(this.#u,e,!0)}#d=A(!1);get modelUsageLoading(){return F(this.#d)}set modelUsageLoading(e){j(this.#d,e,!0)}#f=A(!1);get userPathUsageLoading(){return F(this.#f)}set userPathUsageLoading(e){j(this.#f,e,!0)}#p=A(!1);get labelUsageLoading(){return F(this.#p)}set labelUsageLoading(e){j(this.#p,e,!0)}#m=A(!1);get usageLogLoading(){return F(this.#m)}set usageLogLoading(e){j(this.#m,e,!0)}#h={};#g(e){this.#h[e]&&this.#h[e].abort();let t=new AbortController;return this.#h[e]=t,t}#_(e,t){this.#h[e]===t&&(this.#h[e]=null)}filterQueryStr(e){return t$({model:this.usageFilterModel,provider:this.usageFilterProvider,label:this.usageFilterLabel,user_path:this.usageFilterUserPath},e)}onUsageFilterChanged(){this.fetchUsagePage()}toggleUsageLabelFilter(e){this.usageFilterLabel=this.usageFilterLabel===e?``:e,this.onUsageFilterChanged()}usageLabelChipTitle(e){return this.usageFilterLabel===e?`Clear label filter`:`Filter usage by "`+e+`"`}toggleUsageMode(e){this.usageMode=e,YI.navigate(`usage`,e===`costs`?`costs`:null)}toggleUsageChartView(e,t){e===`model`&&(this.modelUsageView=t),e===`userPath`&&(this.userPathUsageView=t),e===`label`&&(this.labelUsageView=t)}usageFilterModelOptions(){return r$(this.usageFacetOptions.models,this.usageFilterModel)}usageFilterProviderOptions(){return r$(this.usageFacetOptions.providers,this.usageFilterProvider)}usageFilterLabelOptions(){return r$(this.usageFacetOptions.labels,this.usageFilterLabel)}async fetchUsagePage(){await _L.ensureLoaded();let e=[this.fetchUsagePageSummary(),this.fetchUsageFacetOptions(),this.fetchModelUsage(),this.fetchUserPathUsage(),this.fetchLabelUsage(),this.fetchUsageLog(!0)];gR.cacheAnalyticsEnabled()&&e.push(gR.fetchCacheOverview(this.filterQueryStr())),await Promise.all(e)}async fetchUsagePageSummary(){let e=this.#g(`summary`);this.summaryLoading=!0;try{let t=pR.queryStr()+this.filterQueryStr(),[n,r]=await Promise.all([pL(`/admin/usage/summary?`+t+`&cache_mode=uncached`,{label:`usage page summary`,signal:e.signal}),pL(`/admin/usage/summary?`+t+`&cache_mode=all`,{label:`usage page summary (all)`,signal:e.signal})]);if(n.stale||r.stale||e.signal.aborted)return;if(!n.ok||!r.ok){this.usageSummary=$Q(),this.usageSummaryAll=$Q();return}this.usageSummary=n.data&&typeof n.data==`object`?n.data:$Q(),this.usageSummaryAll=r.data&&typeof r.data==`object`?r.data:$Q()}catch(e){if(hL(e))return;console.error(`Failed to fetch usage page summary:`,e),this.usageSummary=$Q(),this.usageSummaryAll=$Q()}finally{this.#_(`summary`,e),this.#h.summary===null&&(this.summaryLoading=!1)}}async fetchUsageFacetOptions(){let e=this.#g(`facets`);try{let t=async(t,n)=>{let r=await pL(t+`?`+pR.queryStr()+this.filterQueryStr(n),{label:`usage facet options`,signal:e.signal});return r.stale?null:r.ok&&Array.isArray(r.data)?r.data:[]},n=t(`/admin/usage/models`,`model`),r=!this.usageFilterModel&&!this.usageFilterProvider,[i,a,o]=await Promise.all([n,r?n:t(`/admin/usage/models`,`provider`),t(`/admin/usage/labels`,`label`)]);if(e.signal.aborted||i===null||a===null||o===null)return;this.usageFacetOptions={models:i.map(e=>e&&e.model).filter(Boolean),providers:a.map(e=>cR(e)).filter(Boolean),labels:o.map(e=>e&&e.label).filter(Boolean)}}catch(e){if(hL(e))return;console.error(`Failed to fetch usage facet options:`,e),this.usageFacetOptions={models:[],providers:[],labels:[]}}finally{this.#_(`facets`,e)}}async#v(e,t,n,r,i){let a=this.#g(e);i(!0);try{let e=await pL(t+`?`+pR.queryStr()+this.filterQueryStr(),{label:n,signal:a.signal});if(e.stale||a.signal.aborted)return;if(!e.ok){r([]);return}r(Array.isArray(e.data)?e.data:[])}catch(e){if(hL(e))return;console.error(`Failed to fetch `+n+`:`,e),r([])}finally{this.#_(e,a),this.#h[e]===null&&i(!1)}}fetchModelUsage(){return this.#v(`modelUsage`,`/admin/usage/models`,`usage models`,e=>this.modelUsage=e,e=>this.modelUsageLoading=e)}fetchUserPathUsage(){return this.#v(`userPathUsage`,`/admin/usage/user-paths`,`usage user paths`,e=>this.userPathUsage=e,e=>this.userPathUsageLoading=e)}fetchLabelUsage(){return this.#v(`labelUsage`,`/admin/usage/labels`,`usage labels`,e=>this.labelUsage=e,e=>this.labelUsageLoading=e)}async fetchUsageLog(e){let t=this.#g(`usageLog`);this.usageLogLoading=!0;try{e&&(this.usageLog.offset=0);let n=pR.queryStr()+this.filterQueryStr();n+=n$({limit:this.usageLog.limit,offset:this.usageLog.offset,hideCached:this.usageLogHideCached,search:this.usageLogSearch});let r=await pL(`/admin/usage/log?`+n,{label:`usage log`,signal:t.signal});if(r.stale||t.signal.aborted)return;if(!r.ok){this.usageLog=e$();return}let i=r.data&&typeof r.data==`object`?r.data:e$();i.entries||=[],this.usageLog=i}catch(e){if(hL(e))return;console.error(`Failed to fetch usage log:`,e),this.usageLog=e$()}finally{this.#_(`usageLog`,t),this.#h.usageLog===null&&(this.usageLogLoading=!1)}}usageLogNextPage(){this.usageLog.offset+this.usageLog.limit0&&(this.usageLog.offset=Math.max(0,this.usageLog.offset-this.usageLog.limit),this.fetchUsageLog(!1))}};ZQ.fetchUsage=()=>{YI.page===`usage`&&N$.fetchUsagePage()};var P$=L(`
`);function F$(e,t){D(t,!0);let n=ma(t,`value`,15,``),r=ma(t,`placeholder`,3,``),i=ma(t,`label`,3,``),a=ma(t,`id`,3,void 0),o=ma(t,`oninput`,3,void 0),s=ma(t,`class`,3,``);var c=P$(),l=M(c);G(l,{name:`search`,class:`filter-input-icon`});var u=N(l,2);U(u),E(c),P(()=>{H(c,1,`filter-input-wrap ${s()??``}`,`svelte-30xz1k`),W(u,`id`,a()),W(u,`placeholder`,r()),W(u,`aria-label`,i())}),I(`input`,u,function(...e){o()?.apply(this,e)}),oa(u,n),R(e,c),O()}Ur([`input`]);function I$(e,t=300){let n=null,r=(...r)=>{clearTimeout(n),n=setTimeout(()=>{n=null,e(...r)},t)};return r.cancel=()=>{clearTimeout(n),n=null},r}var L$=L(``),R$=L(``),z$=L(`
`);function B$(e,t){D(t,!0);let n=I$(()=>N$.onUsageFilterChanged());Nn(()=>n.cancel);var r=z$(),i=M(r),a=M(i);a.value=a.__value=``,V(N(a),16,()=>N$.usageFilterModelOptions(),e=>e,(e,t)=>{var n=L$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(i);var o=N(i,2),s=M(o);s.value=s.__value=``,V(N(s),16,()=>N$.usageFilterProviderOptions(),e=>e,(e,t)=>{var n=L$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(o);var c=N(o,2),l=e=>{var t=R$(),n=M(t);n.value=n.__value=``,V(N(n),16,()=>N$.usageFilterLabelOptions(),e=>e,(e,t)=>{var n=L$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(t),I(`change`,t,()=>N$.onUsageFilterChanged()),Vi(t,()=>N$.usageFilterLabel,e=>N$.usageFilterLabel=e),R(e,t)},u=k(()=>N$.usageFilterLabelOptions().length>0);B(c,e=>{F(u)&&e(l)}),F$(N(c,2),{class:`usage-page-filters-user-path`,placeholder:`User path /team/alpha`,label:`Filter by user path`,get oninput(){return n},get value(){return N$.usageFilterUserPath},set value(e){N$.usageFilterUserPath=e}}),E(r),I(`change`,i,()=>N$.onUsageFilterChanged()),Vi(i,()=>N$.usageFilterModel,e=>N$.usageFilterModel=e),I(`change`,o,()=>N$.onUsageFilterChanged()),Vi(o,()=>N$.usageFilterProvider,e=>N$.usageFilterProvider=e),R(e,r),O()}Ur([`change`]);var V$=L(`
Cache Saved
Cache Hits
`,1);function H$(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=V$(),n=Cn(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var a=N(n,2),o=N(M(a),2),s=M(o,!0);E(o),E(a),P((e,t)=>{z(i,e),z(s,t)},[()=>$L(gR.cacheOverview.summary.total_saved_cost),()=>QL(gR.cacheOverview.summary.total_hits)]),R(e,t)},a=k(()=>gR.cacheAnalyticsEnabled());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}var U$=L(`
Rewrite Saved
Tokens Saved
`,1),W$=L(`
Total Requests
Estimated Cost
`);function G$(e,t){D(t,!0);let n=k(()=>l$(N$.usageSummary));var r=W$(),i=M(r),a=N(M(i),2),o=M(a),s=e=>{YZ(e,{size:18,label:`Loading usage summary`})},c=e=>{var t=Qr();P(e=>z(t,e),[()=>QL(a$(N$.usageSummary,N$.usageSummaryAll,N$.usageLogHideCached))]),R(e,t)};B(o,e=>{N$.summaryLoading?e(s):e(c,-1)}),E(a),E(i);var l=N(i,2),u=N(M(l),2),d=M(u),f=e=>{YZ(e,{size:18,label:`Loading usage summary`})},p=e=>{var t=Qr();P(e=>z(t,e),[()=>$L(N$.usageSummary.total_cost)]),R(e,t)};B(d,e=>{N$.summaryLoading?e(f):e(p,-1)}),E(u),E(l);var m=N(l,2),h=e=>{var t=U$(),n=Cn(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var a=N(n,2),o=N(M(a),2),s=M(o,!0);E(o),E(a),P((e,t,n,a)=>{W(r,`title`,e),z(i,t),W(o,`title`,n),z(s,a)},[()=>d$(N$.usageSummary),()=>$L(u$(N$.usageSummary)),()=>d$(N$.usageSummary),()=>QL(c$(N$.usageSummary))]),R(e,t)};B(m,e=>{F(n)&&e(h)}),H$(N(m,2),{}),E(r),P((e,t)=>{W(a,`title`,e),W(u,`title`,t)},[()=>o$(N$.usageSummary,N$.usageSummaryAll,N$.usageLogHideCached),()=>s$(N$.usageSummary)]),R(e,r),O()}function K$(e,t,n,r){let{stacked:i=!1,costs:a=!1,resolve:o=e=>e}=r||{},s=e=>a?`$`+Math.abs(e).toFixed(2):nR(Math.abs(e)),c=e=>a?`$`+Math.abs(e).toFixed(4):Math.abs(e).toLocaleString(),l=e=>e.map(e=>i?Math.abs(e):-Math.abs(e)),u=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:`transparent`,borderWidth:0,borderRadius:4,maxBarThickness:22}),d=e=>(e||[]).some(e=>Math.abs(e)>0),f=[u(a?`Input Cost`:`Input Tokens`,l(n.inputs),o(`var(--token-input)`)),u(a?`Output Cost`:`Output Tokens`,n.outputs,o(`var(--token-output)`))];return d(n.prompts)&&f.push(u(a?`Prompt Cached Cost`:`Prompt Cached`,l(n.prompts),o(`var(--token-prompt)`))),!a&&d(n.localIns)&&f.push(u(`Locally Cached (Input)`,l(n.localIns),o(`var(--token-local)`))),!a&&d(n.localOuts)&&f.push(u(`Locally Cached (Output)`,n.localOuts,o(`var(--token-local)`))),{type:`bar`,data:{labels:t,datasets:f},options:{indexAxis:`y`,responsive:!0,maintainAspectRatio:!1,animation:{duration:0},layout:{padding:{top:8}},scales:{x:{stacked:!0,beginAtZero:!0,grid:i?{color:e.grid}:{color:t=>t.tick&&t.tick.value===0?e.text:e.grid},border:{display:!1},ticks:{color:e.text,font:pY(),callback:e=>s(e)}},y:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:pY(),autoSkip:!1}}},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:mY(e,{label:e=>e.dataset.label+`: `+c(e.parsed.x),footer:e=>{let t=0;return e.forEach(e=>{t+=Math.abs(Number(e.parsed.x))||0}),`Total: `+c(t)}})}}}}var q$=L(`
`),J$=L(`

`),Y$=L(`

`,1),X$=L(`
`),Z$=L(`Model Provider`,1),Q$=L(`User Path`),$$=L(`Label Requests`,1),e1=L(` `,1),t1=L(` `),n1=L(` `,1),r1=L(` `),i1=L(`
Input TokensOutput TokensPrompt CachedLocal CachedTotal TokensInput CostOutput CostTotal Cost
`),a1=L(`
`),o1=L(`
`);function s1(e,t){D(t,!0);let n=e=>{var n=q$(),r=M(n);let a;var o=N(r,2);let s;var l=N(o,2);let u;E(n),P(()=>{W(n,`aria-label`,F(i).group),a=H(r,1,`chart-view-btn svelte-1kee4g8`,null,a,{active:F(c)===`chart`}),W(r,`aria-pressed`,F(c)===`chart`),W(r,`aria-label`,`Show ${F(i).noun??``} chart`),s=H(o,1,`chart-view-btn svelte-1kee4g8`,null,s,{active:F(c)===`stacked`}),W(o,`aria-pressed`,F(c)===`stacked`),W(o,`aria-label`,`Show ${F(i).noun??``} stacked chart`),u=H(l,1,`chart-view-btn svelte-1kee4g8`,null,u,{active:F(c)===`table`}),W(l,`aria-pressed`,F(c)===`table`),W(l,`aria-label`,`Show ${F(i).noun??``} table`)}),I(`click`,r,()=>N$.toggleUsageChartView(t.kind,`chart`)),I(`click`,o,()=>N$.toggleUsageChartView(t.kind,`stacked`)),I(`click`,l,()=>N$.toggleUsageChartView(t.kind,`table`)),R(e,n)},r={model:{group:`Model usage view`,noun:`model usage`,tokensTitle:`Token Usage by Model`,costsTitle:`Cost by Model`},userPath:{group:`User path usage view`,noun:`user path usage`,tokensTitle:`Usage by User Path`,costsTitle:`Cost by User Path`},label:{group:`Label usage view`,noun:`label usage`,tokensTitle:`Usage by Label`,costsTitle:`Cost by Label`}},i=k(()=>r[t.kind]),a=k(()=>t.kind===`model`?e=>uR(e):t.kind===`userPath`?e=>e.user_path||`/`:e=>e.label);function o(e){return t.kind===`model`?(e.provider_name||e.provider||`-`)+`/`+e.model:t.kind===`userPath`?e.user_path||`/`:e.label}let s=k(()=>t.kind===`model`?N$.modelUsage:t.kind===`userPath`?N$.userPathUsage:N$.labelUsage),c=k(()=>t.kind===`model`?N$.modelUsageView:t.kind===`userPath`?N$.userPathUsageView:N$.labelUsageView),l=k(()=>t.kind===`model`?N$.modelUsageLoading:t.kind===`userPath`?N$.userPathUsageLoading:N$.labelUsageLoading),u=k(()=>N$.usageMode===`costs`),d=k(()=>t.kind===`userPath`?k$(F(s)):F(s).length>0),f=k(()=>F(u)?F(i).costsTitle:F(i).tokensTitle),p=k(()=>j$(F(s),F(a),F(u))),m=k(()=>O$(F(s),F(u)));function h(){return A$(F(c))?K$(fY(),F(p).labels,F(p),{stacked:F(c)===`stacked`,costs:F(u),resolve:hY}):null}var g=$r(),_=Cn(g),v=e=>{var r=a1(),a=M(r),s=M(a),u=e=>{wQ(e,{copyId:`label-usage-help-copy`,label:`label usage help`,text:`One request can have multiple labels. Such a request counts once under each of its labels, so label rows can overlap and add up to more than the period totals.`,title:e=>{var t=J$(),n=M(t,!0);E(t),P(()=>z(n,F(f))),R(e,t)},extra:e=>{var t=$r(),n=Cn(t),r=e=>{YZ(e,{size:14,get label(){return`Loading ${F(i).noun??``}`}})};B(n,e=>{F(l)&&e(r)}),R(e,t)},$$slots:{title:!0,extra:!0}})},d=e=>{var t=Y$(),n=Cn(t),r=M(n,!0);E(n);var a=N(n,2),o=e=>{YZ(e,{size:14,get label(){return`Loading ${F(i).noun??``}`}})};B(a,e=>{F(l)&&e(o)}),P(()=>z(r,F(f))),R(e,t)};B(s,e=>{t.kind===`label`?e(u):e(d,-1)});var g=N(s,2);n(g),E(a);var _=N(a,2),v=e=>{var t=X$();let n;sY(M(t),{build:h}),E(t),P(e=>n=Ri(t,``,n,e),[()=>({height:`${M$(F(p).labels.length)??``}px`})]),R(e,t)},y=k(()=>A$(F(c))),b=e=>{var n=i1(),r=M(n),i=M(r),a=M(i),s=M(a),c=e=>{var t=Z$();We(2),R(e,t)},l=e=>{R(e,Q$())},u=e=>{var t=$$();We(2),R(e,t)};B(s,e=>{t.kind===`model`?e(c):t.kind===`userPath`?e(l,1):e(u,-1)}),We(8),E(a),E(i);var d=N(i);V(d,21,()=>F(m),e=>o(e),(e,n)=>{var r=r1(),i=M(r),a=e=>{var t=e1(),r=Cn(t),i=M(r,!0);E(r);var a=N(r,2),o=M(a),s=M(o,!0);E(o),E(a),P(e=>{z(i,F(n).model||`-`),z(s,e)},[()=>cR(F(n))||`-`]),R(e,t)},o=e=>{var t=t1(),r=M(t,!0);E(t),P(()=>z(r,F(n).user_path||`/`)),R(e,t)},s=e=>{var t=n1(),r=Cn(t),i=M(r);let a;var o=M(i,!0);E(i),E(r);var s=N(r,2),c=M(s,!0);E(s),P((e,t,r)=>{a=H(i,1,`usage-label-chip`,null,a,{active:N$.usageFilterLabel===F(n).label}),Ri(i,`--label-color: ${e??``}`),W(i,`title`,t),z(o,F(n).label),z(c,r)},[()=>vY(F(n).label),()=>N$.usageLabelChipTitle(F(n).label),()=>QL(F(n).requests)]),I(`click`,i,()=>N$.toggleUsageLabelFilter(F(n).label)),R(e,t)};B(i,e=>{t.kind===`model`?e(a):t.kind===`userPath`?e(o,1):e(s,-1)});var c=N(i),l=M(c,!0);E(c);var u=N(c),d=M(u,!0);E(u);var f=N(u),p=M(f,!0);E(f);var m=N(f),h=M(m,!0);E(m);var g=N(m),_=M(g,!0);E(g);var v=N(g),y=M(v,!0);E(v);var b=N(v),x=M(b,!0);E(b);var S=N(b),C=M(S,!0);E(S),E(r),P((e,t,n,r,i,a,o,s,c,u,g)=>{z(l,e),z(d,t),W(f,`title`,n),z(p,r),W(m,`title`,`${i??``} input + ${a??``} output`),z(h,o),z(_,s),z(y,c),z(x,u),z(C,g)},[()=>QL(F(n).input_tokens),()=>QL(F(n).output_tokens),()=>F(n).cached_input_cost==null?``:`~`+$L(F(n).cached_input_cost)+` at current cached-input pricing`,()=>QL(F(n).cached_input_tokens||0),()=>QL(F(n).local_cached_input_tokens||0),()=>QL(F(n).local_cached_output_tokens||0),()=>QL((F(n).local_cached_input_tokens||0)+(F(n).local_cached_output_tokens||0)),()=>QL(E$(F(n))),()=>$L(F(n).input_cost),()=>$L(F(n).output_cost),()=>$L(F(n).total_cost)]),R(e,r)}),E(d),E(r),E(n),R(e,n)};B(_,e=>{F(y)?e(v):e(b,-1)}),E(r),R(e,r)},y=e=>{var t=o1();YZ(M(t),{size:20,get label(){return`Loading ${F(i).noun??``}`}}),E(t),R(e,t)};B(_,e=>{F(d)?e(v):F(l)&&e(y,1)}),R(e,g),O()}Ur([`click`]);var c1=L(``);function l1(e,t){D(t,!0);let n=ma(t,`total`,3,0),r=ma(t,`offset`,3,0),i=ma(t,`limit`,3,25);var a=$r(),o=Cn(a),s=e=>{var a=c1(),o=M(a),s=M(o);E(o);var c=N(o,2),l=M(c),u=N(l,2);E(c),E(a),P(e=>{z(s,`Showing ${r()+1}-${e??``} of ${n()??``}`),l.disabled=r()===0,u.disabled=r()+i()>=n()},[()=>Math.min(r()+i(),n())]),I(`click`,l,()=>t.onprev?.()),I(`click`,u,()=>t.onnext?.()),R(e,a)};B(o,e=>{n()>0&&e(s)}),R(e,a),O()}Ur([`click`]);var u1=(e,t=m)=>{var n=$r(),r=Cn(n),i=e=>{var n=f1();V(n,20,()=>w$(t()),e=>e,(e,t)=>{var n=d1();let r;var i=M(n,!0);E(n),P((e,a)=>{r=H(n,1,`usage-label-chip`,null,r,{active:N$.usageFilterLabel===t}),Ri(n,`--label-color: ${e??``}`),W(n,`title`,a),z(i,t)},[()=>vY(t),()=>N$.usageLabelChipTitle(t)]),I(`click`,n,()=>N$.toggleUsageLabelFilter(t)),R(e,n)}),E(n),R(e,n)},a=k(()=>w$(t()).length>0),o=e=>{R(e,p1())};B(r,e=>{F(a)?e(i):e(o,-1)}),R(e,n)},d1=L(``),f1=L(`
`),p1=L(`-`),m1=L(`Labels`),h1=L(`Cost`),g1=L(``),_1=L(` `),v1=L(``),y1=L(` `),b1=L(` `),x1=L(`
TimestampProviderModelUser PathCacheProvider Cache
`),S1=L(`
`),C1=L(`
`),w1=L(`

Request Log

`);function T1(e,t){D(t,!0);let n=k(()=>N$.usageMode===`costs`),r=k(()=>T$(N$.labelUsage,N$.usageFilterLabel,N$.usageLog.entries)),i=I$(()=>N$.fetchUsageLog(!0));Nn(()=>i.cancel);var a=w1(),o=N(M(a),2),s=M(o);F$(M(s),{placeholder:`Search by request ID, model, provider...`,label:`Search by request ID, model, provider`,get oninput(){return i},get value(){return N$.usageLogSearch},set value(e){N$.usageLogSearch=e}}),E(s);var c=N(s,2),l=M(c),u=M(l);U(u),We(2),E(l),E(c),E(o);var d=N(o,2),f=e=>{var t=x1(),i=M(t),a=M(i),o=M(a),s=N(M(o),4),c=e=>{R(e,m1())};B(s,e=>{F(r)&&e(c)});var l=N(s,3),u=M(l,!0);E(l);var d=N(l),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=e=>{R(e,h1())};B(h,e=>{F(n)||e(g)}),E(o),E(a);var _=N(a);V(_,21,()=>N$.usageLog.entries,e=>e.id,(e,t)=>{var i=b1();let a;var o=M(i),s=M(o,!0);E(o);var c=N(o),l=M(c),u=M(l,!0);E(l),E(c);var d=N(c),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=e=>{var n=g1();u1(M(n),()=>F(t)),E(n),R(e,n)};B(h,e=>{F(r)&&e(g)});var _=N(h),v=M(_,!0);E(_);var y=N(_),b=M(y),x=e=>{var n=_1(),r=M(n,!0);E(n),P(e=>z(r,e),[()=>x$(F(t))]),R(e,n)},S=k(()=>b$(F(t))),C=e=>{R(e,p1())};B(b,e=>{F(S)?e(x):e(C,-1)}),E(y);var w=N(y),T=M(w,!0);E(w);var ee=N(w),te=M(ee,!0);E(ee);var ne=N(ee),re=M(ne),ie=M(re,!0);E(re);var ae=N(re,2),oe=e=>{{let n=k(()=>m$(F(t)));G(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return F(n)}})}},se=k(()=>F(n)&&p$(F(t)));B(ae,e=>{F(se)&&e(oe)});var ce=N(ae,2),le=e=>{G(e,{name:`database-zap`,class:`cache-savings-icon`})},ue=k(()=>F(n)&&g$(F(t)));B(ce,e=>{F(ue)&&e(le)});var de=N(ce,2),fe=e=>{var n=v1();P(()=>W(n,`title`,F(t).costs_calculation_caveat)),R(e,n)};B(de,e=>{F(n)&&F(t).costs_calculation_caveat&&e(fe)}),E(ne);var pe=N(ne),me=e=>{var n=y1(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{{let n=k(()=>m$(F(t)));G(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return F(n)}})}},s=k(()=>p$(F(t)));B(a,e=>{F(s)&&e(o)});var c=N(a,2),l=e=>{G(e,{name:`database-zap`,class:`cache-savings-icon`})},u=k(()=>g$(F(t)));B(c,e=>{F(u)&&e(l)});var d=N(c,2),f=e=>{var n=v1();P(()=>W(n,`title`,F(t).costs_calculation_caveat)),R(e,n)};B(d,e=>{F(t).costs_calculation_caveat&&e(f)}),E(n),P((e,t)=>{W(n,`title`,e),z(i,t)},[()=>v$(F(t),C$(F(t))),()=>$L(F(t).total_cost)]),R(e,n)};B(pe,e=>{F(n)||e(me)}),E(i),P((e,n,r,c,l,d,p,h,g,_,b,x,S)=>{a=H(i,1,`svelte-hg4ill`,null,a,e),W(o,`title`,n),z(s,r),z(u,c),z(f,F(t).model),z(m,F(t).user_path||`-`),z(v,l),W(y,`title`,d),W(w,`title`,p),z(T,h),W(ee,`title`,g),z(te,_),W(ne,`title`,b),W(re,`title`,x),z(ie,S)},[()=>({"usage-log-row-cached":g$(F(t))}),()=>oR(F(t).timestamp),()=>sL.formatTimestamp(F(t).timestamp),()=>cR(F(t))||`-`,()=>_$(F(t)),()=>S$(F(t)),()=>F(n)?QL(F(t).input_tokens)+` tokens`:``,()=>F(n)?$L(F(t).input_cost):QL(F(t).input_tokens),()=>F(n)?QL(F(t).output_tokens)+` tokens`:``,()=>F(n)?$L(F(t).output_cost):QL(F(t).output_tokens),()=>F(n)?v$(F(t),``):``,()=>F(n)?v$(F(t),QL(F(t).total_tokens)+` tokens -`+C$(F(t))):``,()=>F(n)?$L(F(t).total_cost):QL(F(t).total_tokens)]),R(e,i)}),E(_),E(i),E(t),P(()=>{z(u,F(n)?`Input Cost`:`Input`),z(f,F(n)?`Output Cost`:`Output`),z(m,F(n)?`Total Cost`:`Total`)}),R(e,t)},p=e=>{var t=S1();YZ(M(t),{size:20,label:`Loading request log`}),E(t),R(e,t)},m=e=>{var t=C1();QZ(M(t),{}),E(t),R(e,t)};B(d,e=>{N$.usageLog.entries.length>0?e(f):N$.usageLogLoading?e(p,1):e(m,-1)}),l1(N(d,2),{get total(){return N$.usageLog.total},get offset(){return N$.usageLog.offset},get limit(){return N$.usageLog.limit},onprev:()=>N$.usageLogPrevPage(),onnext:()=>N$.usageLogNextPage()}),E(a),I(`change`,u,()=>N$.fetchUsageLog(!0)),sa(u,()=>N$.usageLogHideCached,e=>N$.usageLogHideCached=e),R(e,a),O()}Ur([`click`,`change`]);var E1=L(`
`);function D1(e,t){D(t,!0);let n=`usage`;Nn(()=>{K.refreshTick,YI.page===n&&(N$.fetchUsagePage(),ZQ.ensureLiveLogs())}),Nn(()=>{YI.page===n&&(N$.usageMode=YI.sub===`costs`?`costs`:`tokens`)});var r=E1(),i=N(M(r),2),a=M(i);uY(a,{ariaLabel:`Usage mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return N$.usageMode},onchange:e=>N$.toggleUsageMode(e)}),NR(N(a,2),{onchange:()=>N$.fetchUsagePage()}),E(i);var o=N(i,2);B$(o,{});var s=N(o,2);G$(s,{});var c=N(s,2),l=M(c);s1(l,{kind:`model`});var u=N(l,2);s1(u,{kind:`userPath`}),s1(N(u,2),{kind:`label`}),E(c),T1(N(c,2),{}),E(r),R(e,r),O()}var O1=L(`
`);function k1(e,t){let n=ma(t,`label`,3,`Loading...`),r=ma(t,`class`,3,``);var i=O1(),a=N(M(i),2),o=M(a,!0);E(a),E(i),P(()=>{H(i,1,`loading-state ${r()??``}`,`svelte-hzxv1d`),z(o,n())}),R(e,i)}var A1=L(``);function j1(e,t){let n=ma(t,`label`,3,``),r=ma(t,`class`,3,``),i=ma(t,`disabled`,3,!1);var a=A1();gi(M(a),()=>t.children??m),E(a),P(()=>{H(a,1,`table-action-btn ${r()??``}`),W(a,`aria-label`,n()),W(a,`title`,n()),a.disabled=i()}),I(`click`,a,function(...e){t.onclick?.apply(this,e)}),R(e,a)}Ur([`click`]);function M1(){return{user_path:`/`,period:`daily`,period_seconds:86400,amount:``,source:`manual`}}function N1(){return[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`},{value:`custom`,label:`Custom seconds`}]}function P1(e){switch(String(e||``).trim().toLowerCase()){case`hourly`:return 3600;case`daily`:return 86400;case`weekly`:return 604800;case`monthly`:return 2592e3;default:return 0}}function F1(e){switch(Number(e||0)){case 3600:return`hourly`;case 86400:return`daily`;case 604800:return`weekly`;case 2592e3:return`monthly`;default:return`custom`}}function I1(e){return String(e&&e.user_path||``)+`:`+String(e&&e.period_seconds||``)}function L1(e,t){if(!t||!Array.isArray(e))return null;let n=I1(t);return e.find(e=>I1(e)===n)||null}function R1(e){let t=String(e||``).trim();if(!t)return`User path is required.`;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function z1(e){if(R1(e))return``;let t=String(e||``).trim(),n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function B1(e){return`/`+String(e||``).trimStart().replace(/^\/+/,``)}function V1(e){return Array.isArray(e)?e:e&&Array.isArray(e.budgets)?e.budgets:[]}function H1(e){let t=Number(e&&e.period_seconds||0);return[e&&e.user_path,i0(e),F1(t),t?String(t)+`s`:``,t?String(t)+` seconds`:``].join(` `).toLowerCase()}function U1(e,t){let n=Array.isArray(e)?e.slice():[],r=String(t||`user_path`);return n.sort((e,t)=>{let n=String(e&&e.user_path||``).localeCompare(String(t&&t.user_path||``)),i=Number(t&&t.period_seconds||0)-Number(e&&e.period_seconds||0);return r===`period`?i||n:n||i}),n}function W1(e,t,n){let r=Array.isArray(e)?e:[],i=String(t||``).trim().toLowerCase();return U1(i?r.filter(e=>H1(e).includes(i)):r.slice(),n)}function G1(e){let t=e||{},n=R1(t.user_path);if(n)return{payload:null,error:n};let r=Number(t.amount);if(!Number.isFinite(r)||r<=0)return{payload:null,error:`Amount must be greater than 0.`};let i=String(t.period||``).trim(),a=P1(i);return i===`custom`&&(a=Number(t.period_seconds)),!Number.isFinite(a)||a<=0?{payload:null,error:`Period seconds must be greater than 0.`}:{payload:{user_path:z1(t.user_path),period_seconds:Math.trunc(a),amount:r,source:String(t.source||`manual`).trim()||`manual`},error:``}}function K1(e){return{user_path:e.user_path,budget_key:{period_seconds:e.period_seconds},amount:e.amount}}function q1(e){return{user_path:e.user_path,budget_key:{period_seconds:e.period_seconds}}}function J1(e){return{user_path:e.user_path,period_seconds:e.period_seconds}}function Y1(e){return $L(e)}function X1(e,t){let n=e||{},r=t||{};return`A budget for "`+(String(n.user_path||r.user_path||``)+` `+i0({period_seconds:n.period_seconds||r.period_seconds,period_label:r.period_label}))+`" already exists. Saving will override the current `+Y1(r.amount)+` limit with `+Y1(n.amount)+`.`}function Z1(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:t}function Q1(e,t){let n=Z1(e);return Math.round((t?Math.min(n,1):n)*1e3)/10}function $1(e){return Z1(e&&e.usage_ratio)}function e0(e){return Q1($1(e),!0)}function t0(e){return Q1(e&&e.period_ratio,!0)}function n0(e){return Q1($1(e),!1).toFixed(1).replace(/\.0$/,``)+`%`}function r0(e){return t0(e).toFixed(1).replace(/\.0$/,``)+`%`}function i0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`Hourly`;case 86400:return`Daily`;case 604800:return`Weekly`;case 2592e3:return`Monthly`;default:{let n=String(e&&e.period_label||``).trim();return n?`Custom `+n:`Custom `+String(t||``)+`s`}}}function a0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`budget-period-label-hourly`;case 86400:return`budget-period-label-daily`;case 604800:return`budget-period-label-weekly`;case 2592e3:return`budget-period-label-monthly`;default:return`budget-period-label-custom`}}function o0(e){return a0(e).replace(`budget-period-label-`,`budget-bar-fill-period-`)}function s0(e){return a0(e).replace(`budget-period-label-`,`budget-bar-track-period-`)}function c0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`clock`;case 86400:return`sun`;case 604800:return`calendar-days`;case 2592e3:return`calendar`;default:return`settings-2`}}function l0(e){let t=Math.max(0,Math.trunc(Number(e||0)));return t+` `+(t===1?`second`:`seconds`)}function u0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`1 hour`;case 86400:return`1 day`;case 604800:return`1 week`;case 2592e3:return`1 month`;default:return l0(t)}}function d0(e){return String(e&&e.source||``).trim()||`manual`}function f0(e){let t=d0(e).toLowerCase();return t===`manual`?`Created from the dashboard.`:t===`config`?`Loaded from configuration.`:`Budget source: `+t}function p0(e){let t=Number(e&&e.remaining);return Number.isFinite(t)?t<0?$L(Math.abs(t))+` over`:$L(t)+` remaining`:``}var J=new class{#e=A(fn([]));get budgets(){return F(this.#e)}set budgets(e){j(this.#e,e,!0)}#t=A(!0);get budgetsAvailable(){return F(this.#t)}set budgetsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get filter(){return F(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(`user_path`);get sortBy(){return F(this.#i)}set sortBy(e){j(this.#i,e,!0)}#a=A(``);get error(){return F(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(!1);get formOpen(){return F(this.#o)}set formOpen(e){j(this.#o,e,!0)}#s=A(!1);get formSubmitting(){return F(this.#s)}set formSubmitting(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get editing(){return F(this.#l)}set editing(e){j(this.#l,e,!0)}#u=A(fn(M1()));get form(){return F(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(!1);get overrideDialogOpen(){return F(this.#d)}set overrideDialogOpen(e){j(this.#d,e,!0)}#f=A(null);get overridePendingPayload(){return F(this.#f)}set overridePendingPayload(e){j(this.#f,e,!0)}#p=A(null);get overrideExistingBudget(){return F(this.#p)}set overrideExistingBudget(e){j(this.#p,e,!0)}#m=A(``);get resettingKey(){return F(this.#m)}set resettingKey(e){j(this.#m,e,!0)}#h=A(``);get deletingKey(){return F(this.#h)}set deletingKey(e){j(this.#h,e,!0)}#g=A(!1);get resetAllLoading(){return F(this.#g)}set resetAllLoading(e){j(this.#g,e,!0)}#_=null;managementEnabled(){return _L.budgetsVisible()}filteredBudgets(){return W1(this.budgets,this.filter,this.sortBy)}async fetchBudgetsPage(){if(await _L.ensureLoaded(),!this.managementEnabled()){this.budgets=[],this.budgetsAvailable=!1,this.error=``;return}return this.#_||=this.fetchBudgets().finally(()=>{this.#_=null}),this.#_}async fetchBudgets(){this.loading=!0,this.error=``;try{let e=await pL(`/admin/budgets`,{label:`budgets`});if(e.status===503){this.budgetsAvailable=!1,this.budgets=[];return}if(e.stale)return;if(this.budgetsAvailable=!0,!e.ok){this.error=`Unable to load budgets.`;return}this.budgets=V1(e.data)}catch(e){console.error(`Failed to fetch budgets:`,e),this.budgets=[],this.error=`Unable to load budgets.`}finally{this.loading=!1}}openForm(e){if(this.editing=!!e,this.formError=``,e){let t=Number(e.period_seconds||0);this.form={user_path:String(e.user_path||``),period:F1(t),period_seconds:t,amount:String(e.amount||``),source:String(e.source||`manual`)}}else this.form=M1();this.formOpen=!0}syncPeriodSeconds(){let e=P1(String(this.form.period||``).trim());e>0&&(this.form.period_seconds=e)}setFormUserPath(e){this.form.user_path=B1(e)}closeForm(){this.closeOverrideDialog(),this.formOpen=!1,this.formSubmitting=!1,this.formError=``,this.editing=!1,this.form=M1()}async submitForm(){if(this.formSubmitting)return;let{payload:e,error:t}=G1(this.form);if(!e){this.formError=t;return}if(!this.editing){let t=L1(this.budgets,e);if(t){this.openOverrideDialog(t,e);return}}await this.saveBudgetPayload(e)}async saveBudgetPayload(e){if(!(this.formSubmitting||!e)){this.formSubmitting=!0,this.formError=``;try{let t=await mL(`/admin/budgets`,`PUT`,K1(e),{label:`budget`});if(t.status===503){this.budgetsAvailable=!1,this.formError=`Budget management is unavailable.`;return}if(t.stale)return;if(!t.ok){this.formError=lL(t,`Unable to save budget.`);return}this.closeForm(),q.success(`Budget saved.`),this.fetchBudgets()}catch(e){console.error(`Failed to save budget:`,e),this.formError=`Unable to save budget.`}finally{this.formSubmitting=!1}}}openOverrideDialog(e,t){this.overrideExistingBudget=e||null,this.overridePendingPayload=t||null,this.overrideDialogOpen=!0}closeOverrideDialog(){this.overrideDialogOpen=!1,this.overridePendingPayload=null,this.overrideExistingBudget=null}async confirmOverride(){if(!this.overridePendingPayload){this.closeOverrideDialog();return}let e=this.overridePendingPayload;this.closeOverrideDialog(),await this.saveBudgetPayload(e)}async resetBudget(e){if(!e)return;let t=I1(e);if(this.resettingKey===t)return;let n=String(e.user_path||``)+` `+i0(e);if(confirm(`Reset budget "`+n+`"?`)){this.resettingKey=t;try{let t=await mL(`/admin/budgets/reset-one`,`POST`,J1(e),{label:`budget reset`});if(t.status===503){this.budgetsAvailable=!1,q.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){q.error(lL(t,`Unable to reset budget.`));return}q.success(`Budget reset.`),this.fetchBudgets()}catch(e){console.error(`Failed to reset budget:`,e),q.error(`Unable to reset budget.`)}finally{this.resettingKey=``}}}async deleteBudget(e){if(!e)return;let t=I1(e);if(this.deletingKey===t)return;let n=String(e.user_path||``)+` `+i0(e);if(confirm(`Delete budget "`+n+`"? This cannot be undone.`)){this.deletingKey=t;try{let t=await mL(`/admin/budgets`,`DELETE`,q1(e),{label:`budget delete`});if(t.status===503){this.budgetsAvailable=!1,q.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){q.error(lL(t,`Unable to delete budget.`));return}this.budgets=V1(t.data),q.success(`Budget deleted.`)}catch(e){console.error(`Failed to delete budget:`,e),q.error(`Unable to delete budget.`)}finally{this.deletingKey=``}}}openResetDialog(){AL.open({title:`Reset Budgets`,titleId:`budgetResetDialogTitle`,inputId:`budget-reset-confirmation`,requiredText:`reset`,confirmLabel:`Reset All Budgets`,icon:`rotate-ccw`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.resetAllBudgets()})}async resetAllBudgets(){if(!this.resetAllLoading){this.resetAllLoading=!0;try{let e=await mL(`/admin/budgets/reset`,`POST`,{confirmation:`reset`},{label:`budget reset`});if(e.stale)return;if(!e.ok){AL.error=`Unable to reset budgets.`;return}AL.close(),q.success(`Budgets reset.`),YI.page===`budgets`&&this.fetchBudgets()}catch(e){console.error(`Failed to reset budgets:`,e),AL.error=`Unable to reset budgets.`}finally{this.resetAllLoading=!1}}}},m0=L(` Edit`,1),h0=L(` `,1),g0=L(`
Usage
Period
`),_0=L(`
`);function v0(e,t){D(t,!0);let n=ma(t,`budgets`,19,()=>[]);function r(e){if(!e)return``;let t=sL.formatTimestamp(e);return!t||t===`-`?``:t+` `+sL.effectiveTimeZoneLabel()}var i=_0();V(i,21,n,e=>I1(e),(e,t)=>{var n=g0(),i=M(n),a=M(i),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=M(c),u=M(l);{let e=k(()=>c0(F(t)));G(u,{get name(){return F(e)},class:`budget-period-icon`})}var d=N(u,2),f=M(d,!0);E(d),E(l),E(c);var p=N(c,2),m=M(p),h=M(m),g=M(h,!0);E(h),E(m);var _=N(m,2),v=M(_);j1(v,{label:`Edit budget`,class:`budget-action-btn`,onclick:()=>J.openForm(F(t)),children:(e,t)=>{var n=m0();G(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}});var y=N(v,2);{let e=k(()=>J.resettingKey===I1(F(t))?`Resetting budget`:`Reset budget`),n=k(()=>J.resettingKey===I1(F(t)));j1(y,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>J.resetBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=h0(),i=Cn(r);G(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.resettingKey===I1(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var b=N(y,2);{let e=k(()=>J.deletingKey===I1(F(t))?`Deleting budget`:`Delete budget`),n=k(()=>J.deletingKey===I1(F(t)));j1(b,{get label(){return F(e)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>J.deleteBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=h0(),i=Cn(r);G(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.deletingKey===I1(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}E(_),E(p),E(a);var x=N(a,2),S=M(x),C=M(S),w=N(M(C),2),T=M(w,!0);E(w),E(C);var ee=N(C,2),te=M(ee);let ne;var re=N(te,2),ie=M(re),ae=M(ie,!0);E(ie);var oe=N(ie,2),se=M(oe,!0);E(oe),E(re);var ce=N(re,2),le=M(ce),ue=M(le,!0);E(le);var de=N(le,2),fe=M(de,!0);E(de),E(ce),E(ee),E(S);var pe=N(S,2),me=M(pe),he=N(M(me),2),ge=M(he,!0);E(he),E(me);var _e=N(me,2),ve=M(_e),ye=N(ve,2),be=M(ye),xe=M(be,!0);E(be);var Se=N(be,2),Ce=M(Se,!0);E(Se);var we=N(Se,2),Te=M(we,!0);E(we),E(ye);var Ee=N(ye,2),De=M(Ee),Oe=M(De,!0);E(De);var ke=N(De,2),Ae=M(ke,!0);E(ke);var je=N(ke,2),Me=M(je,!0);E(je),E(Ee),E(_e),E(pe),E(x),E(i),E(n),P((e,n,r,i,a,c,u,d,p,m,_,v,y,b,x,S,C,w,re,ie,oe,ce,le,de,pe,me)=>{W(o,`title`,`User Path: `+F(t).user_path),z(s,F(t).user_path),H(l,1,`budget-period-label ${e??``}`,`svelte-1jm56wo`),z(f,n),W(h,`title`,r),z(g,i),z(T,a),W(ee,`aria-valuenow`,c),W(ee,`aria-label`,u),Ri(ee,`--budget-progress: ${d??``}%`),ne=H(te,1,`budget-bar-fill budget-bar-fill-usage`,null,ne,p),z(ae,m),z(se,_),z(ue,v),z(fe,y),z(ge,b),H(_e,1,`budget-bar-track ${x??``}`,`svelte-1jm56wo`),W(_e,`aria-valuenow`,S),Ri(_e,`--budget-progress: ${C??``}%`),H(ve,1,`budget-bar-fill budget-bar-fill-period ${w??``}`,`svelte-1jm56wo`),W(be,`title`,re),z(xe,ie),z(Ce,oe),W(we,`title`,ce),z(Te,le),z(Oe,de),z(Ae,pe),z(Me,me)},[()=>a0(F(t)),()=>i0(F(t)),()=>f0(F(t)),()=>d0(F(t)),()=>n0(F(t)),()=>e0(F(t)),()=>`Budget usage: `+$L(F(t).spent)+` of `+$L(F(t).amount)+`, `+p0(F(t)),()=>e0(F(t)),()=>({"budget-bar-fill-danger":$1(F(t))>=1}),()=>$L(F(t).spent)+` of `+$L(F(t).amount),()=>p0(F(t)),()=>$L(F(t).spent)+` of `+$L(F(t).amount),()=>p0(F(t)),()=>r0(F(t)),()=>s0(F(t)),()=>t0(F(t)),()=>t0(F(t)),()=>o0(F(t)),()=>r(F(t).period_start),()=>sL.formatTimestamp(F(t).period_start),()=>u0(F(t)),()=>r(F(t).period_end),()=>sL.formatTimestamp(F(t).period_end),()=>sL.formatTimestamp(F(t).period_start),()=>u0(F(t)),()=>sL.formatTimestamp(F(t).period_end)]),R(e,n)}),E(i),R(e,i),O()}var y0=L(``),b0=L(`
`),x0=L(`

Editing a budget updates its limit only. Use Reset to start a new - budget period.

`),S0=L(``),C0=L(``),w0=L(``),T0=L(` `,1);function E0(e,t){D(t,!0);function n(){!J.overrideDialogOpen&&!K.dialogOpen&&J.closeForm()}function r(e){J.setFormUserPath(e.target.value),e.target.value=J.form.user_path}var i=T0(),a=Cn(i);TL(a,{get open(){return J.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=C0(),i=M(n),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s),E(o),CL(N(o,2),{label:`Close budget editor`,onclick:()=>J.closeForm(),iconClass:``}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);U(d),E(u);var f=N(u,2),p=N(M(f),2);V(p,21,N1,e=>e.value,(e,t)=>{var n=y0(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(p),E(f);var m=N(f,2),h=e=>{var t=b0(),n=N(M(t),2);U(n),E(t),P(()=>n.disabled=J.editing),oa(n,()=>J.form.period_seconds,e=>J.form.period_seconds=e),R(e,t)};B(m,e=>{J.form.period===`custom`&&e(h)});var g=N(m,2),_=N(M(g),2);U(_),E(g),E(l);var v=N(l,2),y=e=>{R(e,x0())};B(v,e=>{J.editing&&e(y)});var b=N(v,2),x=e=>{var t=S0(),n=M(t,!0);E(t),P(()=>z(n,J.formError)),R(e,t)};B(b,e=>{J.formError&&e(x)});var S=N(b,2),C=M(S),w=N(C,2),T=M(w);G(T,{name:`save`,class:`form-action-icon`});var ee=N(T,2),te=M(ee,!0);E(ee),E(w),E(S),E(i),E(n),P(()=>{z(c,J.editing?`Edit Budget`:`Create Budget`),Qi(d,J.form.user_path),d.disabled=J.editing,W(d,`data-modal-autofocus`,!J.editing||void 0),p.disabled=J.editing,W(_,`data-modal-autofocus`,J.editing||void 0),w.disabled=J.formSubmitting,z(te,J.formSubmitting?`Saving...`:`Save Budget`)}),Hr(`submit`,i,e=>{e.preventDefault(),J.submitForm()}),I(`input`,d,r),I(`change`,p,()=>J.syncPeriodSeconds()),Vi(p,()=>J.form.period,e=>J.form.period=e),oa(_,()=>J.form.amount,e=>J.form.amount=e),I(`click`,C,()=>J.closeForm()),R(e,n)},$$slots:{default:!0}}),TL(N(a,2),{get open(){return J.overrideDialogOpen},variant:`auth`,onclose:()=>J.closeOverrideDialog(),children:(e,t)=>{var n=w0(),r=M(n);CL(N(M(r),2),{label:`Close budget override dialog`,onclick:()=>J.closeOverrideDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=N(c,2),u=M(l);G(u,{name:`save`,class:`form-action-icon`});var d=N(u,2),f=M(d,!0);E(d),E(l),E(s),E(i),E(n),P(e=>{z(o,e),l.disabled=J.formSubmitting,z(f,J.formSubmitting?`Saving...`:`Override Budget`)},[()=>X1(J.overridePendingPayload,J.overrideExistingBudget)]),Hr(`submit`,i,e=>{e.preventDefault(),J.confirmOverride()}),I(`click`,c,()=>J.closeOverrideDialog()),R(e,n)},$$slots:{default:!0}}),R(e,i),O()}Ur([`input`,`change`,`click`]);var D0=L(`

Budgets

`),O0=L(``),k0=L(`
Budget management is unavailable.
`),A0=L(``),j0=L(`
`),M0=L(`

No budgets configured yet.

`),N0=L(`

No budgets match your filter.

`),P0=L(`
`);function F0(e,t){D(t,!0),Nn(()=>{K.refreshTick,YI.page===`budgets`&&J.fetchBudgetsPage()});let n=k(()=>J.filteredBudgets());var r=P0(),i=M(r),a=M(i);wQ(M(a),{copyId:`budgets-help-copy`,label:`budgets help`,title:e=>{R(e,D0())},help:e=>{We(),R(e,Qr(`Budgets are evaluated from tracked usage cost records for each user - path subtree. Enforcement runs only when Budget is enabled for the - active workflow.`))},$$slots:{title:!0,help:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=O0();G(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=J.formSubmitting),I(`click`,t,()=>J.openForm()),R(e,t)},l=k(()=>J.managementEnabled()&&J.budgetsAvailable&&!K.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);XL(u,{});var d=N(u,2),f=e=>{R(e,k0())},p=k(()=>(!J.managementEnabled()||!J.budgetsAvailable)&&!K.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=A0(),n=M(t,!0);E(t),P(()=>z(n,J.error)),R(e,t)};B(m,e=>{J.error&&!K.authError&&e(h)});var g=N(m,2),_=e=>{k1(e,{label:`Loading budgets...`})};B(g,e=>{J.loading&&!K.authError&&e(_)});var v=N(g,2),y=e=>{var t=j0(),n=M(t);F$(M(n),{id:`budget-filter`,placeholder:`Filter by user path or period...`,label:`Filter budgets by user path or period`,get value(){return J.filter},set value(e){J.filter=e}}),E(n);var r=N(n,2),i=N(M(r),2),a=M(i);a.value=a.__value=`user_path`;var o=N(a);o.value=o.__value=`period`,E(i),E(r),E(t),Vi(i,()=>J.sortBy,e=>J.sortBy=e),R(e,t)};B(v,e=>{(J.budgets.length>0||J.filter)&&J.budgetsAvailable&&!K.authError&&!J.formOpen&&e(y)});var b=N(v,2);E0(b,{});var x=N(b,2),S=e=>{v0(e,{get budgets(){return F(n)}})};B(x,e=>{F(n).length>0&&J.budgetsAvailable&&!K.authError&&e(S)});var C=N(x,2),w=e=>{R(e,M0())},T=k(()=>J.budgets.length===0&&!J.filter&&!J.loading&&!K.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,N0())},ne=k(()=>J.budgets.length>0&&F(n).length===0&&J.filter&&!J.loading&&!K.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function I0(){return{scope:`user_path`,subject:`/`,period:`minute`,period_seconds:60,max_requests:``,max_tokens:``,source:`manual`}}function L0(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},provider:{label:`Provider`,chip:`provider`,fieldLabel:`Provider Name`,placeholder:`openai`},model:{label:`Model`,chip:`model`,fieldLabel:`Model`,placeholder:`openai/gpt-4o`}};return t[e]||t.user_path}function R0(){return[`user_path`,`provider`,`model`].map(e=>({value:e,label:L0(e).label}))}function z0(e){return String(e&&e.scope||``).trim()||`user_path`}function B0(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function V0(e){return L0(z0(e)).chip}function H0(e){return L0(String(e&&e.scope||``)).fieldLabel}function U0(e){return L0(String(e&&e.scope||``)).placeholder}function W0(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function G0(){return[{value:`minute`,label:`Per minute`},{value:`hour`,label:`Per hour`},{value:`day`,label:`Per day`},{value:`concurrent`,label:`Concurrent (in-flight)`},{value:`custom`,label:`Custom seconds`}]}function K0(e){switch(String(e||``).trim().toLowerCase()){case`minute`:return 60;case`hour`:return 3600;case`day`:return 86400;case`concurrent`:return 0;default:return-1}}function q0(e){switch(Number(e||0)){case 60:return`minute`;case 3600:return`hour`;case 86400:return`day`;case 0:return`concurrent`;default:return`custom`}}function J0(e){let t=String(e&&e.period||``).trim(),n=K0(t);n>=0&&(e.period_seconds=n),t===`concurrent`&&(e.max_tokens=``)}function Y0(e){return z0(e)+`:`+B0(e)+`:`+String(e&&e.period_seconds||`0`)}function X0(e){return Number(e&&e.period_seconds||0)===0}function Z0(e){return String(e&&e.period_label||``).trim()||q0(Number(e&&e.period_seconds||0))}function Q0(e){return String(e&&e.source||``)===`config`?`config`:`manual`}function $0(e){return String(e&&e.source||``)===`config`}function e2(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString():`0`}function t2(e,t){let n=Number(e),r=Number(t);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return 0;let i=Math.round(n/r*100);return Math.min(Math.max(i,0),100)}function n2(e,t){let n=String(t||``).trim().toLowerCase(),r=Array.isArray(e)?e.slice():[],i={user_path:0,provider:1,model:2};return r.sort((e,t)=>{let n=(i[z0(e)]||0)-(i[z0(t)]||0);if(n!==0)return n;let r=B0(e).localeCompare(B0(t));return r===0?Number(e.period_seconds||0)-Number(t.period_seconds||0):r}),n?r.filter(e=>{let t=B0(e).toLowerCase(),r=V0(e).toLowerCase(),i=Z0(e).toLowerCase();return t.includes(n)||r.includes(n)||i.includes(n)}):r}function r2(e){return!e||!Array.isArray(e.rate_limits)?[]:e.rate_limits}function i2(e,t,n){let r=String(t||``).trim();return r=e===`provider`||e===`model`?r.toLowerCase():`/`+r.split(`/`).map(e=>e.trim()).filter(Boolean).join(`/`),e+`:`+r+`:`+Number(n||0)}function a2(e,t){return e?i2(t.scope,t.subject,t.limit_key.period_seconds)!==i2(e.scope,e.subject,e.period_seconds):!1}function o2(e){let t=e||{},n=String(t.scope||`user_path`),r=String(t.subject||``).trim();if(n!==`user_path`&&!r)return{error:H0(t)+` is required.`};let i=String(t.period||``)===`concurrent`,a=t.period_seconds;if(a===``||a==null)return{error:`Period seconds is required.`};let o=Number(a);if(!Number.isInteger(o)||o<0||o===0&&!i)return{error:`Period seconds must be a positive integer (0 only for the concurrent period).`};let s=String(t.max_requests===void 0||t.max_requests===null?``:t.max_requests).trim(),c=String(t.max_tokens===void 0||t.max_tokens===null?``:t.max_tokens).trim();if(!s&&!c)return{error:`Set max requests, max tokens, or both.`};if(i&&c)return{error:`Token limits are not valid for the concurrent period.`};let l={scope:n,subject:r||`/`,limit_key:{period_seconds:o}};if(s){let e=Number(s);if(!Number.isInteger(e)||e<=0)return{error:`Max requests must be a positive integer.`};l.max_requests=e}if(c){let e=Number(c);if(!Number.isInteger(e)||e<=0)return{error:`Max tokens must be a positive integer.`};l.max_tokens=e}return{payload:l}}function s2(e,t,n){if(z0(e)!==`model`)return!1;let r=String(B0(e)).toLowerCase(),i=String(n||``).trim().toLowerCase();if(!i)return!1;if(r===i)return!0;let a=String(t||``).trim().toLowerCase();return a?r===a+`/`+i||i.startsWith(a+`/`)&&r===i.slice(a.length+1):!1}function c2(e,t){return z0(e)===`provider`&&String(B0(e)).toLowerCase()===String(t||``).trim().toLowerCase()}function l2(e){let t=e||{},n=String(t.model||``),r=String(t.provider||``);return!r||n.toLowerCase().startsWith(r+`/`)?n:r+`/`+n}function u2(e,t){let n=e||{},r=Array.isArray(t)?t:[],i=[];return n.kind===`model`&&i.push({key:`model`,title:`Model limits`,scope:`model`,subject:l2(n),hint:``,items:r.filter(e=>s2(e,n.provider,n.model))}),i.push({key:`provider`,title:`Provider limits (`+n.provider+`)`,scope:`provider`,subject:n.provider,hint:n.kind===`model`?`Shared by every model routed to this provider.`:``,items:r.filter(e=>c2(e,n.provider))}),i.push({key:`global`,title:`Global limits`,scope:`user_path`,subject:`/`,hint:`Root user-path rules throttle all traffic. Narrower user-path rules also apply, per consumer.`,items:r.filter(e=>z0(e)===`user_path`&&B0(e)===`/`)}),i}function d2(e){return X0(e)?t2(e.in_flight,e.max_requests):Math.max(t2(e.requests_used,e.max_requests),t2(e.tokens_used,e.max_tokens))}function f2(e){return`--rate-limit-pressure: `+d2(e)+`%`}function p2(e){let t=d2(e);return t>=100?`rate-limit-pressure-row rate-limit-pressure-full`:t>=75?`rate-limit-pressure-row rate-limit-pressure-high`:`rate-limit-pressure-row`}function m2(e){return(Array.isArray(e)?e:[]).some(e=>z0(e)===`user_path`&&B0(e)===`/`)}function h2(e,t,n){let r=Array.isArray(e)?e:[];return r.some(e=>s2(e,t,n))?`table-action-btn-active`:r.some(e=>c2(e,t))||m2(r)?`rate-limit-gauge-inherited`:``}function g2(e,t){let n=Array.isArray(e)?e:[];return n.some(e=>c2(e,t))?`table-action-btn-active`:m2(n)?`rate-limit-gauge-inherited`:``}function _2(e,t){let n=`Rate limits for `+e;return t===`table-action-btn-active`?n+` (direct limits configured)`:t?n+` (inherited limits apply)`:n}function v2(e){if(X0(e))return e2(e.in_flight)+` of `+e2(e.max_requests)+` in flight`;let t=[];return e.max_requests!==null&&e.max_requests!==void 0&&t.push(e2(e.requests_used)+`/`+e2(e.max_requests)+` req`),e.max_tokens!==null&&e.max_tokens!==void 0&&t.push(e2(e.tokens_used)+`/`+e2(e.max_tokens)+` tok`),t.join(` · `)}var Y=new class{#e=A(fn([]));get rateLimits(){return F(this.#e)}set rateLimits(e){j(this.#e,e,!0)}#t=A(!0);get rateLimitsAvailable(){return F(this.#t)}set rateLimitsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get rateLimitsLoading(){return F(this.#n)}set rateLimitsLoading(e){j(this.#n,e,!0)}rateLimitFetchPromise=null;#r=A(``);get rateLimitFilter(){return F(this.#r)}set rateLimitFilter(e){j(this.#r,e,!0)}#i=A(``);get rateLimitError(){return F(this.#i)}set rateLimitError(e){j(this.#i,e,!0)}#a=A(!1);get rateLimitFormOpen(){return F(this.#a)}set rateLimitFormOpen(e){j(this.#a,e,!0)}#o=A(!1);get rateLimitFormSubmitting(){return F(this.#o)}set rateLimitFormSubmitting(e){j(this.#o,e,!0)}#s=A(``);get rateLimitFormError(){return F(this.#s)}set rateLimitFormError(e){j(this.#s,e,!0)}#c=A(!1);get rateLimitEditing(){return F(this.#c)}set rateLimitEditing(e){j(this.#c,e,!0)}rateLimitEditingOriginal=null;rateLimitFormReturnToInspector=!1;#l=A(``);get rateLimitResettingKey(){return F(this.#l)}set rateLimitResettingKey(e){j(this.#l,e,!0)}#u=A(``);get rateLimitDeletingKey(){return F(this.#u)}set rateLimitDeletingKey(e){j(this.#u,e,!0)}#d=A(!1);get rateLimitInspectorOpen(){return F(this.#d)}set rateLimitInspectorOpen(e){j(this.#d,e,!0)}#f=A(fn({kind:``,provider:``,model:``,title:``}));get rateLimitInspector(){return F(this.#f)}set rateLimitInspector(e){j(this.#f,e,!0)}#p=A(fn(I0()));get rateLimitForm(){return F(this.#p)}set rateLimitForm(e){j(this.#p,e,!0)}rateLimitsEnabled(){return _L.rateLimitsVisible()}defaultRateLimitForm(){return I0()}rateLimitScopeMeta(e){return L0(e)}rateLimitScopeOptions(){return R0()}rateLimitScope(e){return z0(e)}rateLimitSubject(e){return B0(e)}rateLimitScopeLabel(e){return V0(e)}rateLimitSubjectFieldLabel(){return H0(this.rateLimitForm)}rateLimitSubjectPlaceholder(){return U0(this.rateLimitForm)}syncRateLimitScope(){W0(this.rateLimitForm)}rateLimitPeriodOptions(){return G0()}rateLimitPeriodSeconds(e){return K0(e)}rateLimitPeriodFromSeconds(e){return q0(e)}syncRateLimitPeriodSeconds(){J0(this.rateLimitForm)}rateLimitKey(e){return Y0(e)}rateLimitIsConcurrent(e){return X0(e)}rateLimitPeriodLabel(e){return Z0(e)}rateLimitSourceLabel(e){return Q0(e)}rateLimitIsReadOnly(e){return $0(e)}formatRateLimitNumber(e){return e2(e)}rateLimitUsagePercent(e,t){return t2(e,t)}filteredRateLimits(){return n2(this.rateLimits,this.rateLimitFilter)}normalizeRateLimitListPayload(e){return r2(e)}async fetchRateLimitsPage(){if(await _L.ensureLoaded(),!this.rateLimitsEnabled()){this.rateLimits=[],this.rateLimitsAvailable=!1,this.rateLimitError=``;return}return this.rateLimitFetchPromise||=this.fetchRateLimits().finally(()=>{this.rateLimitFetchPromise=null}),this.rateLimitFetchPromise}async fetchRateLimits(){this.rateLimitsLoading=!0,this.rateLimitError=``;try{let e=await pL(`/admin/rate-limits`,{label:`rate limits`});if(e.status===503){this.rateLimitsAvailable=!1,this.rateLimits=[];return}if(e.stale)return;if(this.rateLimitsAvailable=!0,!e.ok){this.rateLimitError=`Unable to load rate limits.`;return}this.rateLimits=r2(e.data)}catch(e){console.error(`Failed to fetch rate limits:`,e),this.rateLimits=[],this.rateLimitError=`Unable to load rate limits.`}finally{this.rateLimitsLoading=!1}}openRateLimitForm(e){if(this.rateLimitEditing=!!e,this.rateLimitFormError=``,e){let t=Number(e.period_seconds||0);this.rateLimitEditingOriginal={scope:z0(e),subject:B0(e),period_seconds:t},this.rateLimitForm={scope:z0(e),subject:B0(e),period:q0(t),period_seconds:t,max_requests:e.max_requests===null||e.max_requests===void 0?``:String(e.max_requests),max_tokens:e.max_tokens===null||e.max_tokens===void 0?``:String(e.max_tokens),source:String(e.source||`manual`)}}else this.rateLimitEditingOriginal=null,this.rateLimitForm=I0();this.rateLimitFormOpen=!0}closeRateLimitForm(){this.rateLimitFormOpen=!1,this.rateLimitFormSubmitting=!1,this.rateLimitFormError=``,this.rateLimitEditing=!1,this.rateLimitEditingOriginal=null,this.rateLimitForm=I0(),this.rateLimitFormReturnToInspector&&(this.rateLimitFormReturnToInspector=!1,this.rateLimitInspectorOpen=!0)}rateLimitNormalizedIdentity(e,t,n){return i2(e,t,n)}rateLimitIdentityMoved(e){return a2(this.rateLimitEditingOriginal,e)}setRateLimitFormSubject(e){this.rateLimitForm.subject=String(e||``)}rateLimitFormPayload(){return o2(this.rateLimitForm)}async submitRateLimitForm(){if(this.rateLimitFormSubmitting)return;let{payload:e,error:t}=this.rateLimitFormPayload();if(t){this.rateLimitFormError=t;return}let n=this.rateLimitIdentityMoved(e),r=this.rateLimitEditingOriginal;this.rateLimitFormSubmitting=!0,this.rateLimitFormError=``;try{let t=await mL(`/admin/rate-limits`,`PUT`,e,{label:`rate limit save`});if(t.stale)return;if(!t.ok){this.rateLimitFormError=lL(t,`Unable to save rate limit.`);return}if(this.rateLimits=r2(t.data),n&&!await this.deleteMovedRateLimitOriginal(r))return;this.closeRateLimitForm(),q.success(n?`Rate limit moved; live counters restarted.`:`Rate limit saved.`)}catch(e){console.error(`Failed to save rate limit:`,e),this.rateLimitFormError=`Unable to save rate limit.`}finally{this.rateLimitFormSubmitting=!1}}async deleteMovedRateLimitOriginal(e){try{let t=await mL(`/admin/rate-limits`,`DELETE`,{scope:e.scope,subject:e.subject,limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit move`});return t.ok?(this.rateLimits=r2(t.data),!0):(this.rateLimitFormError=lL(t,`The new rule was saved, but the previous one could not be removed. Delete it manually.`),!1)}catch(e){return console.error(`Failed to remove the moved rate limit:`,e),this.rateLimitFormError=`The new rule was saved, but the previous one could not be removed. Delete it manually.`,!1}}async deleteRateLimit(e){let t=Y0(e);if(this.rateLimitDeletingKey!==t){this.rateLimitDeletingKey=t;try{let t=await mL(`/admin/rate-limits`,`DELETE`,{scope:z0(e),subject:B0(e),limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit delete`});if(t.stale)return;if(!t.ok){q.error(lL(t,`Unable to delete rate limit.`));return}this.rateLimits=r2(t.data),q.success(`Rate limit deleted.`)}catch(e){console.error(`Failed to delete rate limit:`,e),q.error(`Unable to delete rate limit.`)}finally{this.rateLimitDeletingKey=``}}}async resetRateLimit(e){let t=Y0(e);if(this.rateLimitResettingKey!==t){this.rateLimitResettingKey=t;try{let t=await mL(`/admin/rate-limits/reset-one`,`POST`,{scope:z0(e),subject:B0(e),period_seconds:Number(e.period_seconds||0)},{label:`rate limit reset`});if(t.stale)return;if(!t.ok){q.error(lL(t,`Unable to reset rate limit.`));return}this.rateLimits=r2(t.data),q.success(`Rate limit counters reset.`)}catch(e){console.error(`Failed to reset rate limit:`,e),q.error(`Unable to reset rate limit.`)}finally{this.rateLimitResettingKey=``}}}rateLimitInspectorModelID(e){return String(e&&e.model&&e.model.id||``).trim()}openRateLimitInspectorForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`model`,provider:n,model:t,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}openRateLimitInspectorForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`provider`,provider:t,model:``,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}showRateLimitInspector(){this.rateLimitInspectorOpen=!0,this.fetchRateLimitsPage()}closeRateLimitInspector(){this.rateLimitInspectorOpen=!1}rateLimitRuleMatchesModel(e,t,n){return s2(e,t,n)}rateLimitRuleMatchesProvider(e,t){return c2(e,t)}rateLimitInspectorQualifiedModel(){return l2(this.rateLimitInspector)}rateLimitInspectorSections(){return u2(this.rateLimitInspector,this.rateLimits)}rateLimitPressurePercent(e){return d2(e)}rateLimitPressureStyle(e){return f2(e)}rateLimitPressureClass(e){return p2(e)}rateLimitGaugeCache={rules:null,states:{}};rateLimitGaugeMemo(e,t){this.rateLimitGaugeCache.rules!==this.rateLimits&&(this.rateLimitGaugeCache={rules:this.rateLimits,states:{}});let n=this.rateLimitGaugeCache.states;return e in n||(n[e]=t()),n[e]}rateLimitGaugeClassForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase(),r=this.rateLimits;return this.rateLimitGaugeMemo(`model:`+n+`/`+t,()=>h2(r,n,t))}rateLimitGaugeClassForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase(),n=this.rateLimits;return this.rateLimitGaugeMemo(`provider:`+t,()=>g2(n,t))}hasGlobalRateLimits(){let e=this.rateLimits;return this.rateLimitGaugeMemo(`global`,()=>m2(e))}rateLimitGaugeTitle(e,t){return _2(e,t)}rateLimitInspectorSummary(e){return v2(e)}openRateLimitFormFromInspector(e,t,n){this.rateLimitInspectorOpen=!1,this.rateLimitFormReturnToInspector=!0,this.openRateLimitForm(n||void 0),n||(this.rateLimitForm.scope=e,this.rateLimitForm.subject=t)}},y2=L(``),b2=L(`
`),x2=L(`
`),S2=L(`

Scope, subject, and period identify the rule: changing any of them - moves the rule to a new key and restarts its live counters.

`),C2=L(``),w2=L(``);function T2(e,t){D(t,!0);function n(){K.dialogOpen||Y.closeRateLimitForm()}TL(e,{get open(){return Y.rateLimitFormOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=w2(),r=M(n),i=M(r),a=M(i),o=M(a),s=M(o,!0);E(o),E(a),CL(N(a,2),{label:`Close rate limit editor`,onclick:()=>Y.closeRateLimitForm()}),E(i);var c=N(i,2),l=M(c),u=N(M(l),2);V(u,21,()=>Y.rateLimitScopeOptions(),e=>e.value,(e,t)=>{var n=y2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(u),E(l);var d=N(l,2),f=M(d),p=M(f,!0);E(f);var m=N(f,2);U(m),E(d);var h=N(d,2),g=N(M(h),2);V(g,21,()=>Y.rateLimitPeriodOptions(),e=>e.value,(e,t)=>{var n=y2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(g),E(h);var _=N(h,2),v=e=>{var t=b2(),n=N(M(t),2);U(n),E(t),oa(n,()=>Y.rateLimitForm.period_seconds,e=>Y.rateLimitForm.period_seconds=e),R(e,t)};B(_,e=>{Y.rateLimitForm.period===`custom`&&e(v)});var y=N(_,2),b=M(y),x=M(b,!0);E(b);var S=N(b,2);U(S),E(y);var C=N(y,2),w=e=>{var t=x2(),n=N(M(t),2);U(n),E(t),oa(n,()=>Y.rateLimitForm.max_tokens,e=>Y.rateLimitForm.max_tokens=e),R(e,t)};B(C,e=>{Y.rateLimitForm.period!==`concurrent`&&e(w)}),E(c);var T=N(c,4),ee=e=>{R(e,S2())};B(T,e=>{Y.rateLimitEditing&&e(ee)});var te=N(T,2),ne=e=>{var t=C2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitFormError)),R(e,t)};B(te,e=>{Y.rateLimitFormError&&e(ne)});var re=N(te,2),ie=M(re),ae=N(ie,2),oe=M(ae);G(oe,{name:`save`,class:`form-action-icon`});var se=N(oe,2),ce=M(se,!0);E(se),E(ae),E(re),E(r),E(n),P((e,t)=>{z(s,Y.rateLimitEditing?`Edit Rate Limit`:`Create Rate Limit`),z(p,e),W(m,`placeholder`,t),W(m,`data-modal-autofocus`,!Y.rateLimitEditing||void 0),Qi(m,Y.rateLimitForm.subject),z(x,Y.rateLimitForm.period===`concurrent`?`Max In-Flight Requests`:`Max Requests`),W(S,`data-modal-autofocus`,Y.rateLimitEditing?!0:void 0),ae.disabled=Y.rateLimitFormSubmitting,z(ce,Y.rateLimitFormSubmitting?`Saving...`:`Save Rate Limit`)},[()=>Y.rateLimitSubjectFieldLabel(),()=>Y.rateLimitSubjectPlaceholder()]),Hr(`submit`,r,e=>{e.preventDefault(),Y.submitRateLimitForm()}),I(`change`,u,()=>Y.syncRateLimitScope()),Vi(u,()=>Y.rateLimitForm.scope,e=>Y.rateLimitForm.scope=e),I(`input`,m,e=>Y.setRateLimitFormSubject(e.currentTarget.value)),I(`change`,g,()=>Y.syncRateLimitPeriodSeconds()),Vi(g,()=>Y.rateLimitForm.period,e=>Y.rateLimitForm.period=e),oa(S,()=>Y.rateLimitForm.max_requests,e=>Y.rateLimitForm.max_requests=e),I(`click`,ie,()=>Y.closeRateLimitForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`change`,`input`,`click`]);var E2=L(` `),D2=L(` Edit`,1),O2=L(` `,1),k2=L(`
In-flight
`),A2=L(`
Requests
`),j2=L(`
Tokens
`),M2=L(`
`),N2=L(`
`);function P2(e,t){D(t,!0);var n=N2();V(n,21,()=>t.rules,e=>Y.rateLimitKey(e),(e,t)=>{var n=M2(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=e=>{var n=E2(),r=M(n);{let e=k(()=>Y.rateLimitScope(F(t))===`provider`?`server`:`box`);G(r,{get name(){return F(e)},class:`budget-period-icon`})}var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t)=>{W(n,`title`,e),z(a,t)},[()=>`Rule scope: `+Y.rateLimitScopeLabel(F(t)),()=>Y.rateLimitScopeLabel(F(t))]),R(e,n)},u=k(()=>Y.rateLimitScope(F(t))!==`user_path`);B(c,e=>{F(u)&&e(l)});var d=N(c,2),f=M(d);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);G(f,{get name(){return F(e)},class:`budget-period-icon`})}var p=N(f,2),m=M(p,!0);E(p),E(d),E(s);var h=N(s,2),g=M(h),_=M(g),v=M(_,!0);E(_),E(g);var y=N(g,2),b=M(y),x=e=>{j1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitForm(F(t)),children:(e,t)=>{var n=D2();G(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},S=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(b,e=>{F(S)&&e(x)});var C=N(b,2);{let e=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting counters`:`Reset counters`),n=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t)));j1(C,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>Y.resetRateLimit(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=O2(),i=Cn(r);G(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var w=N(C,2),T=e=>{{let n=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting rate limit`:`Delete rate limit`),r=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t)));j1(e,{get label(){return F(n)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>Y.deleteRateLimit(F(t)),get disabled(){return F(r)},children:(e,n)=>{var r=O2(),i=Cn(r);G(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}},ee=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(w,e=>{F(ee)&&e(T)}),E(y),E(h),E(i);var te=N(i,2),ne=M(te),re=e=>{var n=k2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u),E(l),E(o),E(n),P((e,t,n,r,i,l)=>{z(a,e),W(o,`aria-valuenow`,t),W(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l)},[()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests),()=>`In-flight requests: `+Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` in flight`]),R(e,n)},ie=k(()=>Y.rateLimitIsConcurrent(F(t)));B(ne,e=>{F(ie)&&e(re)});var ae=N(ne,2),oe=e=>{var n=A2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),W(o,`aria-valuenow`,t),W(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests),()=>`Requests used: `+Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` requests`,()=>Y.formatRateLimitNumber(F(t).requests_remaining)+` left`]),R(e,n)},se=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_requests);B(ae,e=>{F(se)&&e(oe)});var ce=N(ae,2),le=e=>{var n=j2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),W(o,`aria-valuenow`,t),W(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens),()=>`Tokens used: `+Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)>=100}),()=>Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens)+` tokens`,()=>Y.formatRateLimitNumber(F(t).tokens_remaining)+` left`]),R(e,n)},ue=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_tokens);B(ce,e=>{F(ue)&&e(le)}),E(te),E(r),E(n),P((e,t,n,r,i)=>{W(a,`title`,e),z(o,t),z(m,n),W(_,`title`,r),z(v,i)},[()=>Y.rateLimitScopeLabel(F(t))+`: `+Y.rateLimitSubject(F(t)),()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n),O()}var F2=L(`

Rate Limits

`),I2=L(``),L2=L(`
Rate limit management is unavailable.
`),R2=L(``),z2=L(`
`),B2=L(`

No rate limits configured yet.

`),V2=L(`

No rate limits match your filter.

`),H2=L(`
`);function U2(e,t){D(t,!0),Nn(()=>{K.refreshTick,YI.page===`rate-limits`&&Y.fetchRateLimitsPage()});let n=k(()=>Y.filteredRateLimits());var r=H2(),i=M(r),a=M(i);wQ(M(a),{copyId:`rate-limits-help-copy`,label:`rate limits help`,text:`Rate limits cap requests, tokens, and in-flight concurrency for a user path subtree, a provider, or a model. Consumer (user path) breaches return 429 with Retry-After and x-ratelimit-* headers; saturated providers and models are skipped by load balancing and failover while capacity exists elsewhere. Counters are per gateway instance and reset on restart; token limits need usage tracking.`,title:e=>{R(e,F2())},$$slots:{title:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=I2();G(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Y.rateLimitFormSubmitting),I(`click`,t,()=>Y.openRateLimitForm()),R(e,t)},l=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitsAvailable&&!K.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);XL(u,{});var d=N(u,2),f=e=>{R(e,L2())},p=k(()=>(!Y.rateLimitsEnabled()||!Y.rateLimitsAvailable)&&!K.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=R2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitError)),R(e,t)};B(m,e=>{Y.rateLimitError&&!K.authError&&e(h)});var g=N(m,2),_=e=>{k1(e,{label:`Loading rate limits...`})};B(g,e=>{Y.rateLimitsLoading&&!K.authError&&e(_)});var v=N(g,2),y=e=>{var t=z2(),n=M(t);F$(M(n),{id:`rate-limit-filter`,placeholder:`Filter by subject, scope, or period...`,label:`Filter rate limits by subject, scope, or period`,get value(){return Y.rateLimitFilter},set value(e){Y.rateLimitFilter=e}}),E(n),E(t),R(e,t)};B(v,e=>{(Y.rateLimits.length>0||Y.rateLimitFilter)&&Y.rateLimitsAvailable&&!K.authError&&!Y.rateLimitFormOpen&&e(y)});var b=N(v,2);T2(b,{});var x=N(b,2),S=e=>{P2(e,{get rules(){return F(n)}})};B(x,e=>{F(n).length>0&&Y.rateLimitsAvailable&&!K.authError&&e(S)});var C=N(x,2),w=e=>{R(e,B2())},T=k(()=>Y.rateLimits.length===0&&!Y.rateLimitFilter&&!Y.rateLimitsLoading&&!K.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,V2())},ne=k(()=>Y.rateLimits.length>0&&F(n).length===0&&Y.rateLimitFilter&&!Y.rateLimitsLoading&&!K.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function W2(e){return String(e||``).trim().toLowerCase()}function G2(e){if(!e)return``;let t=String(e.selector||``).trim();if(t)return t;if(!e.model||!e.model.id)return``;let n=String(e.model.id||``).trim(),r=String(e.provider_name||``).trim();if(r)return r+`/`+n;let i=String(e.provider_type||``).trim();return!i||n.includes(`/`)?n:i+`/`+n}function K2(e,t,n,r){let i=new Set,a=String(e||``).trim().toLowerCase(),o=String(t||``).trim().toLowerCase(),s=String(n||``).trim().toLowerCase(),c=String(r||``).trim().toLowerCase();if(c&&i.add(c),!a)return i;i.add(a),s&&i.add(s+`/`+a),o&&!a.includes(`/`)&&i.add(o+`/`+a);let l=a.split(`/`);return l.length===2&&l[1]&&i.add(l[1]),i}function q2(e){return K2(e&&e.model?e.model.id:``,e?e.provider_type:``,e?e.provider_name:``,e?e.selector:``)}function J2(e){let t=new Set,n=String(e.resolved_model||``).trim().toLowerCase(),r=String(e.target_model||``).trim().toLowerCase(),i=String(e.target_provider||``).trim().toLowerCase();if(n){t.add(n);let e=n.split(`/`);e.length===2&&e[1]&&t.add(e[1])}if(r){t.add(r);let e=r.split(`/`);e.length===2&&e[1]&&t.add(e[1])}return r&&i&&t.add(i+`/`+r),t}function Y2(e){if(!e)return``;let t=String(e.provider||``).trim(),n=String(e.model||``).trim();return!t||!n||n===t||n.startsWith(t+`/`)?n:t+`/`+n}function X2(e){if(e===``||e==null)return null;let t=Number(e);return!Number.isFinite(t)||t<=0?null:t}function Z2(e,t){let n={model:e},r=X2(t);return r!==null&&(n.weight=r),n}function Q2(e){let t=Array.isArray(e)?e:[],n=[];for(let e of t){let t=String(e&&e.model||``).trim();t&&n.push(Z2(t,e&&e.weight))}return n}function $2(e){switch(String(e||``).toLowerCase()){case`cost`:return`lowest cost`;case`round_robin`:case``:return`round robin`;default:return e}}function e4(e){let t=Array.isArray(e.targets)?e.targets:[],n=t.length>0?t[0]:{},r=t.map(e=>{let t={provider:e.provider||``,model:e.model||``};return e.weight&&(t.weight=e.weight),t});return{name:e.source,target_provider:n.provider||``,target_model:n.model||``,targets:r,strategy:e.strategy||``,description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,valid:!!e.valid,resolved_model:e.resolved_model||``,provider_type:e.provider_type||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[]}}function t4(e){let t=Array.isArray(e)?e:[],n=[],r=[];for(let e of t)!e||typeof e!=`object`||(e.kind===`redirect`?n.push(e4(e)):e.kind===`policy`&&r.push({selector:e.source,provider_name:e.provider_name||``,model:e.model||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[],description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,scope_kind:e.scope_kind||``}));return{aliases:n,policies:r}}function n4(e){if(!e)return`—`;let t=Array.isArray(e.targets)?e.targets:[];return t.length>1?t.length+` targets · `+$2(e.strategy):e.resolved_model?e.resolved_model:e.target_provider?e.target_provider+`/`+e.target_model:e.target_model||`—`}function r4(e){return e?e.enabled===!1?`is-disabled`:e.valid?`is-valid`:`is-invalid`:`is-invalid`}function i4(e){return e?e.enabled===!1?`Disabled`:e.valid?`Active`:`Invalid`:`Invalid`}function a4(e){return Array.isArray(e)&&e.length>0&&e.indexOf(`/`)===-1}function o4(e,t){return!t||!e?``:e.effective_enabled===!1?`is-disabled`:a4(e.user_paths)?`is-restricted`:`is-enabled`}function s4(e){if(!e)return``;let t=[];e.effective_enabled===!1&&t.push(e.default_enabled===!1?`Disabled by default`:`Disabled`);let n=Array.isArray(e.user_paths)?e.user_paths:[];return n.length>0&&t.push(`Allowed for `+n.join(`, `)),t.join(` · `)}function c4({models:e,aliases:t,virtualModelsAvailable:n,activeCategory:r}){let i=Array.isArray(e)?e:[],a=Array.isArray(t)?t:[],o=new Map;if(n)for(let e of a){let t=W2(e&&e.name);!t||e.enabled===!1||!e.valid||o.set(t,e)}let s=new Map,c=i.map(e=>{let t=G2(e),n=null;for(let t of q2(e))s.has(t)||s.set(t,e),!n&&o.has(t)&&(n=o.get(t));let r=e&&e.access?e.access:null;return{key:`model:`+t,display_name:t,secondary_name:``,provider_name:e.provider_name||``,provider_type:e.provider_type||``,model:e.model,selector:e.selector||``,is_alias:!1,alias:null,access:r,masking_alias:n,has_virtual_model:!!(n||r&&r.override),alias_state_class:``,alias_state_text:``}});if(!n)return c;for(let e of a){let t=s.get(W2(e&&e.name));if(e&&e.enabled!==!1&&e.valid&&t)continue;let n=null;for(let t of J2(e))if(n=s.get(t)||null,n)break;!n&&r&&r!==`all`||c.push({key:`alias:`+e.name,display_name:e.name,secondary_name:n4(e),provider_name:n&&n.provider_name||``,provider_type:n?n.provider_type||e.provider_type||``:e.provider_type||``,model:n?n.model:{id:e.name,object:`model`},selector:``,is_alias:!0,alias:e,access:null,masking_alias:null,source_model_exists:!!t,has_virtual_model:!0,alias_state_class:r4(e),alias_state_text:i4(e)})}return c.sort((e,t)=>e.is_alias===t.is_alias?String(e.display_name||``).localeCompare(String(t.display_name||``)):e.is_alias?-1:1)}function l4(e,t){if(!t)return e;let n=String(t).toLowerCase();return e.filter(e=>[e.display_name,e.secondary_name,e.provider_name,e.provider_type,e.model&&e.model.owned_by,e.alias&&e.alias.description,e.alias&&e.alias_state_text,e.model&&e.model.metadata&&e.model.metadata.modes?e.model.metadata.modes.join(`,`):``,e.model&&e.model.metadata&&e.model.metadata.categories?e.model.metadata.categories.join(`,`):``].some(e=>String(e||``).toLowerCase().includes(n)))}function u4(e,t){return String(e||``).trim()||String(t||``).trim()||`Unassigned`}function d4(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return!r||r===n?``:r}function f4(e){let t=String(e||``).trim();return t?t+`/`:``}function p4(e){let t=Array.isArray(e)?e:[],n=t.filter(e=>e&&!e.is_alias).length,r=t.filter(e=>e&&e.is_alias).length,i=[];return n>0&&i.push(n+(n===1?` model`:` models`)),r>0&&i.push(r+(r===1?` alias`:` aliases`)),i.join(` · `)}function m4(e,t,n){let r=String(t||``).trim(),i=String(n||``).trim();for(let t of Array.isArray(e)?e:[]){let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim();if(!(r&&e!==r)&&!(!r&&i&&n!==i)&&t&&t.access)return t.access.default_enabled!==!1}return!0}function h4(e){for(let t of Array.isArray(e)?e:[])if(t&&t.access)return t.access.default_enabled!==!1;return!0}function g4(e,t){let n=String(t||``).trim();if(!n)return null;for(let t of Array.isArray(e)?e:[])if(String(t&&t.selector||``).trim()===n)return t;return null}function _4(e,t,n,r){let i=f4(t),a=r&&r.get(`/`)||null,o=i&&r&&r.get(i)||null,s=m4(e,t,n),c=o||a,l=c&&Array.isArray(c.user_paths)?Array.from(new Set(c.user_paths)).sort():[];return{selector:i,default_enabled:s,effective_enabled:c?c.enabled!==!1:s,user_paths:l,override:o}}function v4(e,t,n){if(!Array.isArray(e)||e.length===0)return[];let r=new Map;for(let e of Array.isArray(n)?n:[]){let t=String(e&&e.selector||``).trim();t&&r.set(t,e)}let i=[],a=new Map;for(let t of e){if(t&&t.is_alias){i.push(t);continue}let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim(),r=`provider-group:`+(e||n||`unassigned`);a.has(r)||a.set(r,{key:r,provider_name:e,provider_type:n,display_name:u4(e,n),type_label:d4(e,n),rows:[]});let o=a.get(r);!o.provider_name&&e&&(o.provider_name=e),!o.provider_type&&n&&(o.provider_type=n),o.display_name=u4(o.provider_name,o.provider_type),o.type_label=d4(o.provider_name,o.provider_type),o.rows.push(t)}let o=Array.from(a.values()).map(e=>{let n=_4(t,e.provider_name,e.provider_type,r);return{...e,access:n,access_summary:s4(n),item_count_label:p4(e.rows)}}).sort((e,t)=>String(e.display_name||``).localeCompare(String(t.display_name||``)));return i.length>0&&o.unshift({key:`virtual-model-group`,is_virtual_models:!0,provider_name:``,provider_type:``,display_name:`Virtual models`,type_label:``,rows:i,access:{selector:``},access_summary:``,item_count_label:p4(i)}),o}function y4(e,t){let n=g4(t,`/`),r=h4(e),i=n&&Array.isArray(n.user_paths)?n.user_paths:[];return{key:`scope-global`,is_alias:!1,display_name:`all providers and models`,access:{selector:`/`,default_enabled:r,effective_enabled:n?n.enabled!==!1:r,user_paths:i,override:n}}}function b4(e){return e?String(e.access&&e.access.selector||``).trim()||String(e.override_selector||``).trim()||G2(e):``}function x4(e){if(!e)return``;let t=[];return e.is_alias?t.push(`alias-row`,r4(e.alias)):e.has_virtual_model&&t.push(`alias-row`,`is-valid`),!e.is_alias&&e.masking_alias&&t.push(`masked-model-row`),!e.is_alias&&e.access&&e.access.effective_enabled===!1&&t.push(`model-access-disabled-row`),t.join(` `)}function S4(e){return!!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)}function C4(e){return!!(e&&!e.is_alias&&e.masking_alias&&e.masking_alias.name&&!e.masking_alias.managed)}function w4(e){return e&&e.is_alias&&e.alias&&e.alias.name?`alias-row-`+String(e.alias.name).replace(/[^a-zA-Z0-9_-]+/g,`-`):``}function T4(e){return e?e.is_alias?!!(e.alias&&e.alias.managed):!!(e.access&&e.access.override&&e.access.override.managed||e.masking_alias&&e.masking_alias.managed):!1}function E4(e){return!!(e&&e.override)}function D4(e){return e?`table-action-btn-active`:``}function O4(e,t){let n=`Edit `+String(e||`model access`);return t?n+` (virtual model exists)`:n}function k4(){return{source:``,target_model:``,target_weight:1,targets:[],strategy:`round_robin`,user_paths:``,description:``,enabled:!0}}function A4(e){return String(e&&e.target_model||``).trim()!==``}function j4(e){return String(e&&e.target_model||``).trim()?!0:Q2(e&&e.targets).length>0}function M4(e){return!!e&&Array.isArray(e.targets)&&e.targets.length>0}function N4(e){return M4(e)&&String(e&&e.strategy||``).toLowerCase()!==`cost`}function P4(e){let t=Array.isArray(e.targets)?e.targets:[];if(t.length>0){let n=t.shift();e.target_model=n.model||``,e.target_weight=n.weight||1;return}e.target_model=``,e.target_weight=1}function F4(e){let t=Array.isArray(e&&e.targets)?e.targets:[];return t.length>0?{primaryModel:Y2(t[0]),primaryWeight:t[0].weight||1,extraTargets:t.slice(1).map(e=>({model:Y2(e),weight:e.weight||1}))}:{primaryModel:e&&e.target_provider?e.target_provider+`/`+e.target_model:e&&e.target_model||``,primaryWeight:1,extraTargets:[]}}function I4(e){return String(e||``).split(/\r?\n|,/).map(e=>String(e||``).trim()).filter(Boolean)}function L4(e,t,n){let r=String(e&&e.source||``).trim(),i=String(e&&e.target_model||``).trim(),a=Q2(e&&e.targets),o=j4(e),s=String(t||``).trim(),c=n===`edit`&&!!s&&r!==s,l={source:r,user_paths:I4(e&&e.user_paths),description:String(e&&e.description||``).trim(),enabled:!!(e&&e.enabled)};if(c&&(l.old_source=s),o){let t=[];if(i&&t.push(Z2(i,e.target_weight)),t.push(...a),t.length>1){let n=e.strategy||`round_robin`;l.targets=n===`cost`?t.map(e=>({model:e.model})):t,l.strategy=n}else l.target_model=t[0].model}return{payload:l,source:r,isRedirect:o,isRename:c}}function R4(e){let t={source:e.name,description:String(e.description||``).trim(),user_paths:Array.isArray(e.user_paths)?e.user_paths:[],enabled:e.enabled===!1},n=Array.isArray(e.targets)?e.targets:[];return n.length>1?(t.strategy=e.strategy||`round_robin`,t.targets=t.strategy===`cost`?n.map(e=>({model:Y2(e)})):n.map(e=>Z2(Y2(e),e.weight))):n.length===1?t.target_model=Y2(n[0]):t.target_model=e.target_provider?e.target_provider+`/`+e.target_model:e.target_model,t}function z4(e,t,n){let r=n||{},i=r.effective_enabled===!1,a=t&&Array.isArray(t.user_paths)?t.user_paths:[],o=`PUT`,s;return i===!1?s={source:e,enabled:!1,user_paths:a}:t&&a.length===0&&r.default_enabled!==!1?(o=`DELETE`,s={source:e}):s={source:e,enabled:!0,user_paths:a},{method:o,payload:s,desired:i}}function B4(e,t,n){let r=Math.max(1,Number(t||75)),i=Math.min(n,e+r);return{limit:i,rendering:ic4({models:JL.models,aliases:this.aliases,virtualModelsAvailable:this.virtualModelsAvailable,activeCategory:JL.activeCategory}));get displayModels(){return F(this.#T)}set displayModels(e){j(this.#T,e)}#E=k(()=>v4(this.displayModels,JL.models,this.modelOverrideViews));get displayModelGroups(){return F(this.#E)}set displayModelGroups(e){j(this.#E,e)}#D=k(()=>l4(this.displayModels,JL.filter));get filteredDisplayModels(){return F(this.#D)}set filteredDisplayModels(e){j(this.#D,e)}#O=k(()=>{let e=this.filteredDisplayModels,t=Math.max(0,Math.min(Number(this.modelRenderLimit||0),e.length));return!JL.filter&&t>=this.displayModels.length?this.displayModelGroups:v4(e.slice(0,t),JL.models,this.modelOverrideViews)});get filteredDisplayModelGroups(){return F(this.#O)}set filteredDisplayModelGroups(e){j(this.#O,e)}#k=k(()=>y4(JL.models,this.modelOverrideViews));get globalScopeRow(){return F(this.#k)}set globalScopeRow(e){j(this.#k,e)}modelsBusy(){return!!(JL.loading||this.modelsRendering)}modelLoadingText(){if(JL.loading)return this.displayModels.length>0?`Refreshing models...`:`Loading models...`;let e=this.filteredDisplayModels.length;return`Rendering models... `+Math.min(Number(this.modelRenderLimit||0),e)+` / `+e}restartModelRendering(e){let t=++this.#a,n=V4(this.modelRenderBatchSize,e);this.modelRenderLimit=n.limit,this.modelsRendering=n.rendering,n.rendering&&this.#A(t)}stopModelRendering(){this.#a++,this.modelsRendering=!1}#A(e){let t=()=>{if(e!==this.#a)return;let t=B4(this.modelRenderLimit,this.modelRenderBatchSize,this.filteredDisplayModels.length);this.modelRenderLimit=t.limit,this.modelsRendering=t.rendering,t.rendering&&this.#A(e)};typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>setTimeout(t,0)):setTimeout(t,0)}async fetchVirtualModels(){this.aliasLoading=!0,this.aliasError=``;try{let e=await pL(`/admin/virtual-models`,{label:`virtual models`});if(e.status===503){this.virtualModelsAvailable=!1,this.aliases=[],this.modelOverrideViews=[];return}if(e.stale)return;if(this.virtualModelsAvailable=!0,!e.ok){this.aliases=[],this.modelOverrideViews=[];return}let{aliases:t,policies:n}=t4(e.data);this.aliases=t,this.modelOverrideViews=n}catch(e){console.error(`Failed to fetch virtual models:`,e),this.aliases=[],this.modelOverrideViews=[],this.aliasError=`Unable to load virtual models.`}finally{this.aliasLoading=!1}}qualifiedModelName(e){return G2(e)}findModelOverrideView(e){return g4(this.modelOverrideViews,e)}hasGlobalModelOverride(){return!!this.findModelOverrideView(`/`)}findExistingAliasByName(e){let t=W2(e);if(!t)return null;for(let e of this.aliases)if(W2(e&&e.name)===t)return e;return null}findConcreteModelByName(e){let t=W2(e);if(!t)return null;for(let e of JL.models)if(q2(e).has(t))return e;return null}rowToggleEnabled(e){return e?e.is_alias?e.alias&&e.alias.enabled!==!1:!!(e.access&&e.access.effective_enabled!==!1):!1}rowToggleLabel(e){return this.rowTogglingKey&&this.rowTogglingKey===e.key?`Updating...`:this.rowToggleRestricted(e)?`Restricted`:this.rowToggleEnabled(e)?`Enabled`:`Disabled`}rowToggleRestricted(e){return!!e&&!e.is_alias&&o4(e.access,this.virtualModelsAvailable)===`is-restricted`}rowToggleAriaLabel(e){if(!e)return``;let t=this.rowToggleEnabled(e)?`Disable `:`Enable `,n;return n=e.is_alias?`alias `+String(e.alias&&e.alias.name||``):String(e.display_name||e.access&&e.access.selector||`model`),t+n.trim()}async toggleRowEnabled(e){if(this.virtualModelsAvailable&&!(!e||this.rowTogglingKey===e.key)){if(T4(e)){q.success(`This virtual model is managed by configuration and is read-only.`);return}if(e.is_alias){await this.toggleAliasRow(e);return}await this.toggleModelRow(e)}}async toggleAliasRow(e){let t=e.alias;if(!t||!t.name)return;this.rowTogglingKey=e.key;let n=R4(t);try{let e=await mL(`/admin/virtual-models`,`PUT`,n,{label:`alias state`});if(e.status===503){this.virtualModelsAvailable=!1,q.error(`Virtual models feature is unavailable.`);return}if(e.stale)return;if(!e.ok){q.error(e.status===401?`Authentication required.`:lL(e,`Failed to update alias state.`));return}q.success(n.enabled?`Alias enabled.`:`Alias disabled.`),this.fetchVirtualModels()}catch(e){console.error(`Failed to toggle alias state:`,e),q.error(`Failed to update alias state.`)}finally{this.rowTogglingKey=``}}async toggleModelRow(e){let t=b4(e);if(!t)return;let{method:n,payload:r,desired:i}=z4(t,this.findModelOverrideView(t),e.access||{});this.rowTogglingKey=e.key;try{let e=await mL(`/admin/virtual-models`,n,r,{label:`model access`});if(e.status===503){this.virtualModelsAvailable=!1,q.error(`Virtual models feature is unavailable.`);return}if(!(n===`DELETE`&&e.status===404)){if(e.stale)return;if(!e.ok){q.error(e.status===401?`Authentication required.`:lL(e,`Failed to update model access.`));return}}q.success(i?`Model enabled.`:`Model disabled.`),Promise.all([JL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to toggle model access:`,e),q.error(`Failed to update model access.`)}finally{this.rowTogglingKey=``}}async removeAliasRow(e){if(!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)||this.rowDeletingKey)return;let t=String(e.alias.name||``).trim();t&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the virtual model alias "`+t+`"?`,method:`DELETE`,payload:{source:t},operation:`virtual model`,failureMessage:`Failed to remove virtual model.`,notice:`Virtual model removed.`,ignoreNotFound:!0})}async removeRedirectRow(e){let t=e&&e.masking_alias;if(!(e&&!e.is_alias&&t&&t.name&&!t.managed)||this.rowDeletingKey)return;let n=String(t.name||``).trim();n&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the redirect for "`+n+`"? Other virtual model settings will be preserved.`,method:`PUT`,payload:{source:n,user_paths:Array.isArray(t.user_paths)?t.user_paths:[],description:String(t.description||``).trim(),enabled:t.enabled!==!1},operation:`virtual model redirect`,failureMessage:`Failed to remove redirect.`,notice:`Redirect removed. Other virtual model settings were preserved.`})}async mutateVirtualModelRow(e){if(!this.rowDeletingKey&&window.confirm(e.confirmMessage)){this.rowDeletingKey=e.rowKey;try{let t=await mL(`/admin/virtual-models`,e.method,e.payload,{label:e.operation});if(t.status===503){this.virtualModelsAvailable=!1,q.error(`Virtual models feature is unavailable.`);return}if(!(e.ignoreNotFound&&t.status===404)){if(t.stale)return;if(!t.ok){q.error(t.status===401?`Authentication required.`:lL(t,e.failureMessage));return}}this.virtualModelsAvailable=!0,q.success(e.notice),Promise.all([JL.fetchModels(),this.fetchVirtualModels()])}catch(t){console.error(e.failureMessage,t),q.error(e.failureMessage)}finally{this.rowDeletingKey=``}}}addVmTarget(){Array.isArray(this.vmForm.targets)||(this.vmForm.targets=[]),this.vmForm.targets.push({model:``,weight:1})}removeVmTarget(e){Array.isArray(this.vmForm.targets)&&this.vmForm.targets.splice(e,1)}removePrimaryTarget(){P4(this.vmForm)}vmFormHasPrimaryTarget(){return A4(this.vmForm)}vmFormShowStrategy(){return M4(this.vmForm)}vmFormShowWeights(){return N4(this.vmForm)}vmFormToggleRestricted(){return!!(this.vmForm&&this.vmForm.enabled)&&a4(I4(this.vmForm.user_paths))}vmFormToggleLabel(){return!this.vmForm||!this.vmForm.enabled?`Disabled`:this.vmFormToggleRestricted()?`Restricted`:`Enabled`}resetVirtualModelForm(){this.vmFormError=``,this.vmFormHelpOpen=!1,this.vmFormUserPathsHelpOpen=!1,this.vmSubmitting=!1,this.vmDeleting=!1,this.vmFormHasExisting=!1,this.vmFormDefaultEnabled=!0,this.vmFormEffectiveEnabled=!0,this.vmFormDisplayName=``,this.vmFormSourceLocked=!1,this.vmFormOriginalSource=``,this.vmFormManaged=!1,this.vmForm=k4()}closeVirtualModelForm(){this.vmFormOpen=!1,this.resetVirtualModelForm()}openVirtualModelCreate(e){this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`create`,this.vmFormSourceLocked=!1,this.vmFormDisplayName=`New virtual model`,e&&e.model&&e.model.id&&(this.vmForm.target_model=G2(e))}openVirtualModelEditAlias(e){if(!e)return;this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!1,this.vmFormHasExisting=!0,this.vmFormManaged=!!e.managed,this.vmFormOriginalSource=e.name||``,this.vmFormDisplayName=e.name||``,this.vmFormDefaultEnabled=h4(JL.models),this.vmFormEffectiveEnabled=e.enabled!==!1;let{primaryModel:t,primaryWeight:n,extraTargets:r}=F4(e);this.vmForm={source:e.name||``,target_model:t,target_weight:n,targets:r,strategy:e.strategy||`round_robin`,user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` -`),description:e.description||``,enabled:e.enabled!==!1}}openVirtualModelEditModel(e){if(!e||e.is_alias)return;let t=e.access||{},n=t.override||null,r=n&&Array.isArray(n.user_paths)?n.user_paths:Array.isArray(t.user_paths)?t.user_paths:[],i=b4(e);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!n,this.vmFormOriginalSource=i;let a=n?n.enabled!==!1:t.effective_enabled!==!1;this.vmFormDefaultEnabled=t.default_enabled!==!1,this.vmFormEffectiveEnabled=a,this.vmFormManaged=!!(n&&n.managed),this.vmFormDisplayName=e.access_display_name||e.display_name||i||``,this.vmForm={source:i,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:r.join(` -`),description:n&&n.description?n.description:``,enabled:a}}openGlobalModelOverrideEdit(){let e=this.findModelOverrideView(`/`),t=e&&Array.isArray(e.user_paths)?e.user_paths:[],n=h4(JL.models);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!e,this.vmFormOriginalSource=`/`,this.vmFormDefaultEnabled=n,this.vmFormEffectiveEnabled=e?e.enabled!==!1:n,this.vmFormManaged=!!(e&&e.managed),this.vmFormDisplayName=`All providers and models`,this.vmForm={source:`/`,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:t.join(` -`),description:e&&e.description?e.description:``,enabled:e?e.enabled!==!1:n}}openProviderOverrideEdit(e){!e||!e.access||!e.access.selector||this.openVirtualModelEditModel({display_name:e.display_name,access_display_name:`All models in `+e.display_name,provider_name:e.provider_name,provider_type:e.provider_type,access:e.access,override_selector:e.access.selector,is_alias:!1})}async submitVirtualModelForm(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be edited here.`;return}let{payload:e,source:t,isRedirect:n,isRename:r}=L4(this.vmForm,this.vmFormOriginalSource,this.vmFormMode);if(!t){this.vmFormError=`Source is required.`;return}if(this.vmFormError=``,this.vmFormMode!==`edit`){let e=this.findExistingAliasByName(t),r=e?null:this.findModelOverrideView(t);if(e||r){let n=e?`A virtual model named "`+e.name+`" already exists. Saving will update that virtual model. Continue?`:`An access policy for "`+t+`" already exists. Saving will update that virtual model. Continue?`;if(!window.confirm(n)){this.vmFormError=`Choose a different source or edit the existing virtual model.`;return}}else if(n){let e=this.findConcreteModelByName(t);if(e){let t=G2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Creating this alias will mask that model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}else if(r){let e=(this.aliases||[]).find(e=>e&&e.name===t)||null,r=e?null:this.findModelOverrideView(t);if(e||r){this.vmFormError=`A virtual model for "`+t+`" already exists. Choose a different source.`;return}if(n){let e=this.findConcreteModelByName(t);if(e){let t=G2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Renaming to that name will mask the model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}this.vmSubmitting=!0;try{let t=await mL(`/admin/virtual-models`,`PUT`,e,{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:lL(t,`Failed to save virtual model.`);return}let r=!n&&t.status===204;this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),q.success(n?`Alias saved.`:r?`Model access reset to inherited/default.`:`Model access saved.`),Promise.all([JL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to save virtual model:`,e),this.vmFormError=`Failed to save virtual model.`}finally{this.vmSubmitting=!1}}async deleteVirtualModel(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be removed here.`;return}let e=String(this.vmForm.source||this.vmFormOriginalSource||``).trim();if(!(!e||!this.vmFormHasExisting)&&window.confirm(`Remove the virtual model for "`+e+`"? This reverts to inherited/default behavior.`)){this.vmDeleting=!0,this.vmFormError=``;try{let t=await mL(`/admin/virtual-models`,`DELETE`,{source:e},{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:lL(t,`Failed to remove virtual model.`);return}}this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),q.success(`Virtual model removed.`),Promise.all([JL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to delete virtual model:`,e),this.vmFormError=`Failed to remove virtual model.`}finally{this.vmDeleting=!1}}}},U4=[{value:`input_per_mtok`,label:`Input $/MTok`,group:`Tokens`},{value:`output_per_mtok`,label:`Output $/MTok`,group:`Tokens`},{value:`cached_input_per_mtok`,label:`Cached input $/MTok`,group:`Tokens`},{value:`cache_write_per_mtok`,label:`Cache write $/MTok`,group:`Tokens`},{value:`reasoning_output_per_mtok`,label:`Reasoning output $/MTok`,group:`Tokens`},{value:`batch_input_per_mtok`,label:`Batch input $/MTok`,group:`Batch`},{value:`batch_output_per_mtok`,label:`Batch output $/MTok`,group:`Batch`},{value:`audio_input_per_mtok`,label:`Audio input $/MTok`,group:`Audio`},{value:`audio_output_per_mtok`,label:`Audio output $/MTok`,group:`Audio`},{value:`per_image`,label:`$/Image`,group:`Image`},{value:`input_per_image`,label:`Input $/Image`,group:`Image`},{value:`per_second_input`,label:`Input $/Second`,group:`Audio/Video`},{value:`per_second_output`,label:`Output $/Second`,group:`Video`},{value:`per_character_input`,label:`$/Character`,group:`Audio`},{value:`per_page`,label:`$/Page`,group:`Utility`},{value:`per_request`,label:`$/Request`,group:`Utility`}];function W4(e){let t=U4.find(t=>t.value===e);return t?t.label:String(e||``).replace(/_/g,` `)}function G4(e){return e&&typeof e==`object`?JSON.parse(JSON.stringify(e)):{}}function K4(e,t){let n=G4(e),r=t&&t.pricing?t.pricing:t;if(!r||typeof r!=`object`)return n;for(let e of U4)r[e.value]!==null&&r[e.value]!==void 0&&(n[e.value]=Number(r[e.value]));return Array.isArray(r.tiers)&&r.tiers.length>0&&(n.tiers=G4(r.tiers)),n}function q4(e){switch(String(e||``).trim()){case`config_yaml`:return`config.yaml`;case`model_registry`:return`Model registry`;default:return e?String(e):`Unknown`}}function J4(e){let t=e&&e.pricing?e.pricing:{},n=e&&e.pricing_sources&&typeof e.pricing_sources==`object`?e.pricing_sources:{},r={};for(let e of U4)t[e.value]!==null&&t[e.value]!==void 0&&(r[e.value]=q4(n[e.value]||`model_registry`));return r}function Y4(e){let t=String(e&&e.selector||``).trim();return t?`Dashboard/API override (`+t+`)`:`Dashboard/API override`}function X4(e){let t=String(e||``).trim();return t?t+`/`:``}function Z4(e){return String(e&&e.model&&e.model.id||``).trim()}function Q4(e){let t=String(e&&e.provider_name||``).trim(),n=Z4(e);return t&&n?t+`/`+n:n}function $4(e){return Z4(e)}function e3(e){let t=new Map;for(let n of Array.isArray(e)?e:[]){let e=String(n&&n.selector||``).trim();e&&t.set(e,n)}return t}function t3(e,t){let n=String(t||``).trim();return n&&e3(e).get(n)||null}function n3(e,t,n){let r=e3(e),i=Q4(t),a=$4(t),o=X4(t&&t.provider_name),s=String(n||``).trim();for(let e of[i,a,o,`/`]){if(!e||e===s)continue;let t=r.get(e);if(t)return t}return null}function r3(e,t,n){let r=e&&e.model&&e.model.metadata?e.model.metadata:null,i=G4(r&&r.pricing),a=J4(r),o=n3(t,e,n),s=o&&o.pricing?o.pricing:null;if(s){let e=Y4(o);for(let t of U4)s[t.value]!==null&&s[t.value]!==void 0&&(i[t.value]=Number(s[t.value]),a[t.value]=e);Array.isArray(s.tiers)&&s.tiers.length>0&&(i.tiers=G4(s.tiers),a.tiers=e)}return{pricing:i,sources:a}}function i3(e,t){let n=e&&e.pricing?e.pricing:{},r=[];for(let e of U4)n[e.value]!==null&&n[e.value]!==void 0&&r.push({id:t(),field:e.value,value:String(n[e.value])});return r}function a3(e,t){let n=new Set;for(let r of Array.isArray(e)?e:[]){if(t&&r.id===t)continue;let e=String(r.field||``).trim();e&&n.add(e)}return n}function o3(e,t){let n=a3(e,t&&t.id);return U4.filter(e=>e.value===(t&&t.field)||!n.has(e.value))}function s3(e,t){let n={},r=new Set;for(let t of Array.isArray(e)?e:[]){let e=String(t.field||``).trim();if(!e)return{error:`Choose a price type for every row.`};if(r.has(e))return{error:`Each price type can only be used once.`};r.add(e);let i=String(t.value||``).trim();if(i===``)return{error:`Enter a value for `+W4(e)+`.`};let a=Number(i);if(!Number.isFinite(a)||a<0)return{error:`Pricing values must be numbers greater than or equal to 0.`};n[e]=a}let i=Array.isArray(t)?t:[];return i.length>0&&(n.tiers=G4(i)),Object.keys(n).length===0?{error:`Add at least one pricing field before saving.`}:{pricing:n}}function c3(e,t,n){let r=e||{},i=t||{},a=n||{},o=K4(r,a);return U4.map(e=>{let t=a[e.value]!==null&&a[e.value]!==void 0,n=r[e.value]!==null&&r[e.value]!==void 0;return{field:e.value,label:e.label,value:o[e.value],source:t?`Form/API value`:n?i[e.value]||`Model registry`:`Unset`}}).filter(e=>e.source!==`Unset`||e.value!==void 0)}var l3=new class{#e=A(!0);get modelPricingOverridesAvailable(){return F(this.#e)}set modelPricingOverridesAvailable(e){j(this.#e,e,!0)}#t=A(fn([]));get modelPricingOverrideViews(){return F(this.#t)}set modelPricingOverrideViews(e){j(this.#t,e,!0)}#n=A(``);get modelPricingOverrideError(){return F(this.#n)}set modelPricingOverrideError(e){j(this.#n,e,!0)}#r=A(!1);get modelPricingOverrideFormOpen(){return F(this.#r)}set modelPricingOverrideFormOpen(e){j(this.#r,e,!0)}#i=A(!1);get modelPricingOverrideSubmitting(){return F(this.#i)}set modelPricingOverrideSubmitting(e){j(this.#i,e,!0)}#a=A(!1);get modelPricingOverrideFormHasExistingOverride(){return F(this.#a)}set modelPricingOverrideFormHasExistingOverride(e){j(this.#a,e,!0)}#o=A(``);get modelPricingOverrideFormDisplayName(){return F(this.#o)}set modelPricingOverrideFormDisplayName(e){j(this.#o,e,!0)}#s=A(``);get modelPricingOverrideFormScope(){return F(this.#s)}set modelPricingOverrideFormScope(e){j(this.#s,e,!0)}#c=A(fn([]));get modelPricingOverrideFormScopeOptions(){return F(this.#c)}set modelPricingOverrideFormScopeOptions(e){j(this.#c,e,!0)}#l=A(null);get modelPricingOverrideFormRow(){return F(this.#l)}set modelPricingOverrideFormRow(e){j(this.#l,e,!0)}#u=A(null);get modelPricingOverrideFormBasePricing(){return F(this.#u)}set modelPricingOverrideFormBasePricing(e){j(this.#u,e,!0)}#d=A(null);get modelPricingOverrideFormBasePricingSources(){return F(this.#d)}set modelPricingOverrideFormBasePricingSources(e){j(this.#d,e,!0)}#f=A(fn([]));get modelPricingOverrideFormPreservedTiers(){return F(this.#f)}set modelPricingOverrideFormPreservedTiers(e){j(this.#f,e,!0)}#p=A(fn([]));get modelPricingOverrideRows(){return F(this.#p)}set modelPricingOverrideRows(e){j(this.#p,e,!0)}#m=A(fn({selector:``}));get modelPricingOverrideForm(){return F(this.#m)}set modelPricingOverrideForm(e){j(this.#m,e,!0)}_modelPricingOverrideRowID=0;pricingFieldOptions(){return U4}pricingFieldLabel(e){return W4(e)}async fetchModelPricingOverrides(){this.modelPricingOverrideError=``;try{let e=await pL(`/admin/model-pricing-overrides`,{label:`model pricing overrides`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideViews=[];return}if(e.stale)return;if(this.modelPricingOverridesAvailable=!0,!e.ok){this.modelPricingOverrideViews=[];return}this.modelPricingOverrideViews=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch model pricing overrides:`,e),this.modelPricingOverrideViews=[],this.modelPricingOverrideError=`Unable to load model pricing overrides.`}}findModelPricingOverrideView(e){return t3(this.modelPricingOverrideViews,e)}hasGlobalPricingOverride(){return!!this.findModelPricingOverrideView(`/`)}hasProviderPricingOverride(e){return!!this.findModelPricingOverrideView(X4(e&&e.provider_name))}hasModelPricingOverride(e){return!!this.findModelPricingOverrideView(Q4(e))}modelPricingButtonClass(e){return e?`table-action-btn-active`:``}modelPricingButtonLabel(e,t){let n=`Edit `+String(e||`model pricing`);return t?n+` (override exists)`:n}modelRowPricing(e){return r3(e,this.modelPricingOverrideViews).pricing}openGlobalPricingOverrideEdit(){this.openModelPricingOverrideForm({displayName:`All providers and models`,selector:`/`,scope:`global`,scopeOptions:[{value:`global`,label:`All providers and models`,selector:`/`}],row:null})}openProviderPricingOverrideEdit(e){let t=X4(e&&e.provider_name);t&&this.openModelPricingOverrideForm({displayName:`All models in `+(e.display_name||e.provider_name||t),selector:t,scope:`provider`,scopeOptions:[{value:`provider`,label:`Provider`,selector:t}],row:null})}openModelPricingOverrideEdit(e){if(!e||e.is_alias)return;let t=Q4(e),n=$4(e),r=[{value:`exact`,label:`This provider and model`,selector:t}];n&&n!==t&&r.push({value:`model`,label:`This model across providers`,selector:n}),this.openModelPricingOverrideForm({displayName:e.display_name||t,selector:t,scope:`exact`,scopeOptions:r,row:e})}openModelPricingOverrideForm(e){let t=e||{};this.modelPricingOverrideFormOpen=!0,this.modelPricingOverrideError=``,this.modelPricingOverrideFormDisplayName=t.displayName||t.selector||`Pricing`,this.modelPricingOverrideFormScope=t.scope||``,this.modelPricingOverrideFormScopeOptions=Array.isArray(t.scopeOptions)?t.scopeOptions:[],this.modelPricingOverrideFormRow=t.row||null,this.modelPricingOverrideForm={selector:t.selector||``},this.loadModelPricingOverrideFormSelector(t.selector||``)}loadModelPricingOverrideFormSelector(e){e=String(e||``).trim();let t=this.findModelPricingOverrideView(e);this.modelPricingOverrideFormHasExistingOverride=!!t,this.modelPricingOverrideRows=i3(t,()=>this.nextModelPricingOverrideRowID()),this.modelPricingOverrideFormPreservedTiers=t&&t.pricing&&Array.isArray(t.pricing.tiers)?G4(t.pricing.tiers):[],this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow();let n=this.modelPricingOverrideFormRow,r=n?r3(n,this.modelPricingOverrideViews,e):{pricing:{},sources:{}};this.modelPricingOverrideFormBasePricing=r.pricing,this.modelPricingOverrideFormBasePricingSources=r.sources}setModelPricingOverrideScope(e){this.modelPricingOverrideFormScope=e;let t=this.modelPricingOverrideFormScopeOptions.find(t=>t.value===e);t&&(this.modelPricingOverrideForm.selector=t.selector,this.loadModelPricingOverrideFormSelector(t.selector))}nextModelPricingOverrideRowID(){return this._modelPricingOverrideRowID=(this._modelPricingOverrideRowID||0)+1,`pricing-row-`+this._modelPricingOverrideRowID}availablePricingFieldOptions(e){return o3(this.modelPricingOverrideRows,e)}addModelPricingOverrideRow(){let e=a3(this.modelPricingOverrideRows),t=U4.find(t=>!e.has(t.value))||U4[0];t&&this.modelPricingOverrideRows.push({id:this.nextModelPricingOverrideRowID(),field:t.value,value:``})}removeModelPricingOverrideRow(e){this.modelPricingOverrideRows=this.modelPricingOverrideRows.filter(t=>t.id!==e.id),this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow()}modelPricingOverridePayload(){return s3(this.modelPricingOverrideRows,this.modelPricingOverrideFormPreservedTiers)}modelPricingOverrideDraftPricing(){let e=this.modelPricingOverridePayload();return e&&e.pricing?e.pricing:{}}modelPricingEffectivePreviewRows(){return c3(this.modelPricingOverrideFormBasePricing,this.modelPricingOverrideFormBasePricingSources,this.modelPricingOverrideDraftPricing())}closeModelPricingOverrideForm(){this.modelPricingOverrideFormOpen=!1,this.modelPricingOverrideSubmitting=!1,this.modelPricingOverrideError=``,this.modelPricingOverrideFormHasExistingOverride=!1,this.modelPricingOverrideFormDisplayName=``,this.modelPricingOverrideFormScope=``,this.modelPricingOverrideFormScopeOptions=[],this.modelPricingOverrideFormRow=null,this.modelPricingOverrideFormBasePricing=null,this.modelPricingOverrideFormBasePricingSources=null,this.modelPricingOverrideFormPreservedTiers=[],this.modelPricingOverrideRows=[],this.modelPricingOverrideForm={selector:``}}async submitModelPricingOverrideForm(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!e){this.modelPricingOverrideError=`Model pricing selector is required.`;return}let t=this.modelPricingOverridePayload();if(t.error){this.modelPricingOverrideError=t.error;return}let n={selector:e,...t};this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let e=await mL(`/admin/model-pricing-overrides`,`PUT`,n,{label:`model pricing override`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(e.stale)return;if(!e.ok){this.modelPricingOverrideError=e.status===401?`Authentication required.`:lL(e,`Failed to save model pricing.`);return}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),q.success(`Model pricing saved.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to save model pricing override:`,e),this.modelPricingOverrideError=`Failed to save model pricing.`}finally{this.modelPricingOverrideSubmitting=!1}}async deleteModelPricingOverride(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!(!e||!this.modelPricingOverrideFormHasExistingOverride)&&window.confirm(`Remove the model pricing override for "`+e+`"?`)){this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let t=await mL(`/admin/model-pricing-overrides`,`DELETE`,{selector:e},{label:`model pricing override`});if(t.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.modelPricingOverrideError=t.status===401?`Authentication required.`:lL(t,`Failed to remove model pricing override.`);return}}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),q.success(`Model pricing override removed.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to delete model pricing override:`,e),this.modelPricingOverrideError=`Failed to remove model pricing override.`}finally{this.modelPricingOverrideSubmitting=!1}}}},u3=L(``);function d3(e,t){D(t,!0);var n=u3();let r;var i=N(M(n),2),a=M(i,!0);E(i),E(n),P((e,i,o)=>{r=H(n,1,`alias-toggle`,null,r,e),n.disabled=H4.rowTogglingKey===t.row.key||!H4.virtualModelsAvailable,W(n,`aria-label`,i),z(a,o)},[()=>({enabled:H4.rowToggleEnabled(t.row),restricted:H4.rowToggleRestricted(t.row)}),()=>H4.rowToggleAriaLabel(t.row),()=>H4.rowToggleLabel(t.row)]),I(`click`,n,()=>H4.toggleRowEnabled(t.row)),R(e,n),O()}Ur([`click`]);var f3=L(`
`);function p3(e,t){D(t,!0);var n=f3(),r=M(n),i=e=>{d3(e,{get row(){return H4.globalScopeRow}})};B(r,e=>{H4.virtualModelsAvailable&&e(i)});var a=N(r,2),o=e=>{{let t=k(()=>l3.modelPricingButtonLabel(`global model pricing`,l3.hasGlobalPricingOverride())),n=k(()=>l3.modelPricingButtonClass(l3.hasGlobalPricingOverride()));j1(e,{get label(){return F(t)},get class(){return`table-icon-btn ${F(n)??``}`},onclick:()=>l3.openGlobalPricingOverrideEdit(),children:(e,t)=>{G(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(a,e=>{l3.modelPricingOverridesAvailable&&e(o)});var s=N(a,2),c=e=>{{let t=k(()=>O4(`global model access`,H4.hasGlobalModelOverride())),n=k(()=>D4(H4.hasGlobalModelOverride()));j1(e,{get label(){return F(t)},get class(){return`table-icon-btn ${F(n)??``}`},onclick:()=>H4.openGlobalModelOverrideEdit(),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(s,e=>{H4.virtualModelsAvailable&&e(c)}),E(n),R(e,n),O()}function m3(e){return String(e&&(e.primary_model||e.source)||``).trim()}function h3(e){return Array.isArray(e&&e.fallback_models)?e.fallback_models:Array.isArray(e&&e.targets)?e.targets:[]}function g3(e){return Array.isArray(e)?e.map(e=>({...e,source:m3(e),targets:h3(e)})):[]}function _3(e){let t=h3(e);return t.length===0?`-`:t.join(`, `)}function v3(e){return e&&e.enabled===!1?`Off`:e&&e.managed?`Config`:`On`}function y3(e,t){let n=String(t||``).trim();return n&&(Array.isArray(e)?e:[]).find(e=>m3(e)===n)||null}function b3(e,t){if(!t||t.is_alias)return!1;let n=y3(e,G2(t));return!!(n&&n.enabled!==!1&&h3(n).length>0)}function x3(e,t){return b3(e,t)?`table-action-btn-failover-active`:``}function S3(e,t){let n=`Edit failover for `+(t&&t.display_name?t.display_name:`model`);return b3(e,t)?n+` (active)`:n}function C3(e){let t=[e&&e.target_model];return(Array.isArray(e&&e.targets)?e.targets:[]).forEach(e=>t.push(e&&e.model)),t.map(e=>String(e||``).trim()).filter(Boolean)}function w3(e){let t=Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(Boolean):[];return{target_model:t[0]||``,targets:t.slice(1).map(e=>({model:e}))}}function T3(e){return{primary_model:String(e&&e.source||``).trim(),fallback_models:C3(e),enabled:!(e&&e.enabled===!1)}}function E3(e){return m3(e)}function D3(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=E3(e);n&&(t[n]=!0)}),t}function O3(e,t){let n=E3(t);return!!(n&&e&&e[n])}function k3(e,t){return(Array.isArray(e)?e:[]).filter(e=>O3(t,e))}function A3(e,t){let n=Array.isArray(e)?e:[];return n.length>0&&k3(n,t).length===n.length}function j3(e){return[m3(e),h3(e).join(` `)].join(` `).toLowerCase()}function M3(e,t){let n=Array.isArray(e)?e:[],r=String(t||``).trim().toLowerCase();return r?n.filter(e=>j3(e).includes(r)):n}function N3(e){return{primary_model:m3(e),fallback_models:h3(e).map(e=>String(e||``).trim()).filter(Boolean),enabled:!!(e&&e.enabled!==!1)}}function P3(){return{source:``,target_model:``,targets:[],enabled:!0}}var X=new class{#e=A(!0);get failoverAvailable(){return F(this.#e)}set failoverAvailable(e){j(this.#e,e,!0)}#t=A(fn([]));get failoverRules(){return F(this.#t)}set failoverRules(e){j(this.#t,e,!0)}#n=A(!1);get failoverLoading(){return F(this.#n)}set failoverLoading(e){j(this.#n,e,!0)}#r=A(!1);get failoverSaving(){return F(this.#r)}set failoverSaving(e){j(this.#r,e,!0)}#i=A(!1);get failoverGenerating(){return F(this.#i)}set failoverGenerating(e){j(this.#i,e,!0)}#a=A(``);get failoverError(){return F(this.#a)}set failoverError(e){j(this.#a,e,!0)}#o=A(fn([]));get failoverGeneratedRules(){return F(this.#o)}set failoverGeneratedRules(e){j(this.#o,e,!0)}#s=A(!1);get failoverDraftsOpen(){return F(this.#s)}set failoverDraftsOpen(e){j(this.#s,e,!0)}#c=A(fn({}));get failoverDraftSelections(){return F(this.#c)}set failoverDraftSelections(e){j(this.#c,e,!0)}#l=A(``);get failoverDraftFilter(){return F(this.#l)}set failoverDraftFilter(e){j(this.#l,e,!0)}#u=A(!1);get failoverDraftSaving(){return F(this.#u)}set failoverDraftSaving(e){j(this.#u,e,!0)}#d=A(!1);get failoverFormOpen(){return F(this.#d)}set failoverFormOpen(e){j(this.#d,e,!0)}#f=A(`create`);get failoverFormMode(){return F(this.#f)}set failoverFormMode(e){j(this.#f,e,!0)}#p=A(!1);get failoverFormManaged(){return F(this.#p)}set failoverFormManaged(e){j(this.#p,e,!0)}#m=A(fn(P3()));get failoverForm(){return F(this.#m)}set failoverForm(e){j(this.#m,e,!0)}failoverEnabled(){return _L.booleanFlag(`FAILOVER_ENABLED`,!0)}async fetchFailoverRules(){if(!this.failoverEnabled()){this.failoverAvailable=!1,this.failoverRules=[],this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,this.failoverError=``,this.failoverLoading=!1;return}this.failoverLoading=!0,this.failoverError=``;try{let e=await pL(`/admin/failover`,{label:`failover mappings`});if(e.status===503){this.failoverAvailable=!1,this.failoverRules=[];return}if(e.stale)return;if(this.failoverAvailable=!0,!e.ok){this.failoverRules=[];return}this.failoverRules=g3(e.data)}catch(e){console.error(`Failed to fetch failover mappings:`,e),this.failoverRules=[],this.failoverError=`Unable to load failover mappings.`}finally{this.failoverLoading=!1}}resetFailoverForm(){this.failoverFormMode=`create`,this.failoverFormManaged=!1,this.failoverForm=P3()}openFailoverCreate(){this.resetFailoverForm(),this.failoverFormOpen=!0,this.focusFailoverEditor()}openFailoverEdit(e){if(!e)return;this.resetFailoverForm(),this.failoverFormMode=`edit`,this.failoverFormOpen=!0,this.failoverFormManaged=!!e.managed;let t=this.failoverPrimaryModel(e),n=this.failoverTargets(e);this.failoverForm={source:t,target_model:n[0]||``,targets:n.slice(1).map(e=>({model:e})),enabled:e.enabled!==!1},this.focusFailoverEditor()}openFailoverForModel(e){if(!e||e.is_alias)return;let t=this.qualifiedModelName(e),n=this.failoverRules.find(e=>this.failoverPrimaryModel(e)===t);if(n){this.openFailoverEdit(n);return}this.resetFailoverForm(),this.failoverFormMode=`create`,this.failoverFormOpen=!0,this.failoverForm.source=t,this.focusFailoverEditor()}closeFailoverForm(){this.failoverFormOpen=!1}closeFailoverDraftsModal(){this.failoverDraftSaving||(this.failoverDraftsOpen=!1)}failoverFormTargets(){return C3(this.failoverForm)}setFailoverFormTargets(e){let t=w3(e);this.failoverForm.target_model=t.target_model,this.failoverForm.targets=t.targets}addFailoverTarget(){Array.isArray(this.failoverForm.targets)||(this.failoverForm.targets=[]),this.failoverForm.targets.push({model:``}),this.focusFailoverEditor()}removeFailoverTarget(e){if(!Array.isArray(this.failoverForm.targets)){this.failoverForm.targets=[];return}this.failoverForm.targets.splice(e,1)}removePrimaryFailoverTarget(){let e=Array.isArray(this.failoverForm.targets)?this.failoverForm.targets:[];if(e.length>0){let t=e.shift();this.failoverForm.target_model=t&&t.model?t.model:``,this.failoverForm.targets=e;return}this.failoverForm.target_model=``}failoverRulePayload(){return T3(this.failoverForm)}async submitFailoverForm(){if(this.failoverSaving||this.failoverGenerating||this.failoverFormManaged)return;let e=this.failoverRulePayload();if(!e.primary_model){this.failoverError=`Primary model is required.`;return}if(e.enabled&&e.fallback_models.length===0){this.failoverError=`Add at least one failover target.`;return}this.failoverSaving=!0,this.failoverError=``;try{let t=await mL(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to save failover mapping.`;return}q.success(`Failover mapping saved.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to save failover mapping:`,e),this.failoverError=`Failed to save failover mapping.`}finally{this.failoverSaving=!1}}async deleteFailoverRule(e){let t=String(e&&this.failoverPrimaryModel(e)||this.failoverForm.source||``).trim();if(!(!t||this.failoverSaving||this.failoverGenerating)&&confirm(`Remove failover mapping for "`+t+`"?`)){this.failoverSaving=!0,this.failoverError=``;try{let e=await mL(`/admin/failover`,`DELETE`,{primary_model:t},{label:`failover mapping`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mapping.`;return}q.success(`Failover mapping removed.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to remove failover mapping:`,e),this.failoverError=`Failed to remove failover mapping.`}finally{this.failoverSaving=!1}}}async generateFailoverForForm(){if(this.failoverGenerating||this.failoverSaving||this.failoverFormManaged)return;let e=String(this.failoverForm.source||``).trim();if(!e){this.failoverError=`Primary model is required.`;return}this.failoverGenerating=!0,this.failoverError=``;try{let t=await mL(`/admin/failover/generate`,`POST`,{primary_model:e},{label:`failover generation`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to generate failover mapping.`;return}let n=g3(t.data),r=n.find(t=>this.failoverPrimaryModel(t)===e)||n[0]||null,i=this.failoverTargets(r);if(i.length===0){this.failoverError=`No failover suggestions were generated for this model.`;return}this.setFailoverFormTargets(i),q.success(`Generated `+i.length+` fallback model`+(i.length===1?`.`:`s.`)),this.focusFailoverEditor()}catch(e){console.error(`Failed to generate failover mapping:`,e),this.failoverError=`Failed to generate failover mapping.`}finally{this.failoverGenerating=!1}}openFailoverResetDialog(){AL.open({title:`Remove failover models`,titleId:`failoverResetDialogTitle`,inputId:`failover-reset-confirmation`,message:`Remove every dashboard-managed failover mapping. Configuration-managed mappings remain active.`,requiredText:`remove`,confirmLabel:`Remove Failover`,icon:`trash-2`,dialogClass:`budget-reset-dialog`,onConfirm:async()=>{await this.resetFailoverRules(),this.failoverError&&(AL.error=this.failoverError)}})}async resetFailoverRules(){if(!this.failoverSaving){this.failoverSaving=!0,this.failoverError=``;try{let e=await mL(`/admin/failover/reset`,`POST`,void 0,{label:`failover removal`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mappings.`;return}this.failoverRules=g3(e.data),this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,q.success(`Dashboard-managed failover mappings removed.`),AL.close()}catch(e){console.error(`Failed to remove failover mappings:`,e),this.failoverError=`Failed to remove failover mappings.`}finally{this.failoverSaving=!1}}}async generateFailoverRules(){if(!(this.failoverGenerating||this.failoverDraftSaving)){this.failoverGenerating=!0,this.failoverError=``,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!0;try{let e=await mL(`/admin/failover/generate`,`POST`,void 0,{label:`failover generation`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to generate failover mappings.`;return}this.failoverGeneratedRules=g3(e.data),this.selectAllFailoverDrafts(this.failoverGeneratedRules)}catch(e){console.error(`Failed to generate failover mappings:`,e),this.failoverError=`Failed to generate failover mappings.`}finally{this.failoverGenerating=!1}}}failoverDraftKey(e){return E3(e)}selectAllFailoverDrafts(e){this.failoverDraftSelections=D3(e)}failoverDraftSelected(e){return O3(this.failoverDraftSelections,e)}setFailoverDraftSelected(e,t){let n=this.failoverDraftKey(e);n&&(this.failoverDraftSelections={...this.failoverDraftSelections,[n]:!!t})}selectedFailoverDrafts(){return k3(this.failoverGeneratedRules,this.failoverDraftSelections)}selectedFailoverDraftCount(){return this.selectedFailoverDrafts().length}failoverDraftCountLabel(){return this.selectedFailoverDraftCount()+` / `+this.failoverGeneratedRules.length+` selected`}allFailoverDraftsSelected(){return A3(this.failoverGeneratedRules,this.failoverDraftSelections)}toggleAllFailoverDrafts(){if(!(this.failoverDraftSaving||this.failoverGenerating||this.failoverGeneratedRules.length===0)){if(this.allFailoverDraftsSelected()){this.failoverDraftSelections={};return}this.selectAllFailoverDrafts(this.failoverGeneratedRules)}}failoverDraftSearchText(e){return j3(e)}filteredFailoverDrafts(){return M3(this.failoverGeneratedRules,this.failoverDraftFilter)}failoverDraftPayload(e){return N3(e)}async saveSelectedFailoverDrafts(){if(this.failoverDraftSaving||this.failoverGenerating)return;let e=this.selectedFailoverDrafts();if(e.length===0){this.failoverError=`Select at least one failover draft.`;return}this.failoverDraftSaving=!0,this.failoverError=``;try{for(let t of e){let e=this.failoverDraftPayload(t);if(!e.primary_model||e.fallback_models.length===0){this.failoverError=`Generated failover draft is missing model data.`;return}let n=await mL(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(n.stale)return;if(!n.ok){this.failoverError=`Failed to save failover mapping.`;return}}q.success(`Saved `+e.length+` failover mapping`+(e.length===1?`.`:`s.`)),this.failoverDraftsOpen=!1,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.fetchFailoverRules()}catch(e){console.error(`Failed to save generated failover mappings:`,e),this.failoverError=`Failed to save failover mappings.`}finally{this.failoverDraftSaving=!1}}focusFailoverEditor(){setTimeout(()=>{let e=document.querySelector(`[data-failover-editor]`),t=e&&e.querySelector?e.querySelector(`[data-modal-autofocus], input:not([disabled]), textarea:not([disabled]), button:not([disabled])`):null;t&&typeof t.focus==`function`&&t.focus({preventScroll:!0})},0)}failoverTargetLabel(e){return _3(e)}failoverPrimaryModel(e){return m3(e)}failoverTargets(e){return h3(e)}findFailoverMapping(e){return y3(this.failoverRules,e)}hasActiveFailoverMapping(e){return b3(this.failoverRules,e)}failoverButtonClass(e){return x3(this.failoverRules,e)}failoverButtonLabel(e){return S3(this.failoverRules,e)}normalizeFailoverRules(e){return g3(e)}failoverRuleStatus(e){return v3(e)}qualifiedModelName(e){return G2(e)}},F3=L(``),I3=L(``),L3=L(`Config`),R3=L(`
Targets
`),z3=L(``),B3=L(`
Redirects to
`),V3=L(` `),H3=L(`
`),U3=L(`
`),W3=L(`
`);function G3(e,t){D(t,!0);let n=k(()=>l3.modelRowPricing(t.row));var r=W3(),i=M(r),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s);var l=N(s,2),u=e=>{R(e,F3())};B(l,e=>{t.row.is_alias&&e(u)});var d=N(l,2),f=e=>{R(e,I3())};B(d,e=>{!t.row.is_alias&&t.row.masking_alias&&e(f)});var p=N(d,2),m=e=>{R(e,L3())},h=k(()=>T4(t.row));B(p,e=>{F(h)&&e(m)}),E(o);var g=N(o,2),_=e=>{var n=R3(),r=N(M(n)),i=M(r,!0);E(r),E(n),P(()=>z(i,t.row.secondary_name)),R(e,n)};B(g,e=>{t.row.is_alias&&e(_)});var v=N(g,2),y=e=>{var n=B3(),r=N(M(n)),i=M(r,!0);E(r);var a=N(r,2),o=e=>{var n=z3();P(e=>{W(n,`aria-label`,H4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),W(n,`title`,H4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),n.disabled=e},[()=>!!H4.rowDeletingKey]),I(`click`,n,()=>H4.removeRedirectRow(t.row)),R(e,n)},s=k(()=>H4.virtualModelsAvailable&&C4(t.row));B(a,e=>{F(s)&&e(o)}),E(n),P(e=>z(i,e),[()=>n4(t.row.masking_alias)]),R(e,n)};B(v,e=>{!t.row.is_alias&&t.row.masking_alias&&e(y)}),E(a),E(i);var b=N(i);V(b,17,()=>t.columns,oi,(e,r)=>{var i=V3(),a=M(i,!0);E(i),P(e=>{H(i,1,ji(F(r).class),`svelte-1iynym`),z(a,e)},[()=>F(r).value(t.row,F(n))]),R(e,i)});var x=N(b),S=M(x),C=e=>{var n=H3(),r=M(n);d3(r,{get row(){return t.row}});var i=N(r,2),a=e=>{{let n=k(()=>H4.rowDeletingKey===t.row.key?`Removing alias `+t.row.alias.name:`Remove alias `+t.row.alias.name),r=k(()=>!!H4.rowDeletingKey);j1(e,{get label(){return F(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>H4.removeAliasRow(t.row),get disabled(){return F(r)},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})}},o=k(()=>H4.virtualModelsAvailable&&S4(t.row));B(i,e=>{F(o)&&e(a)});var s=N(i,2),c=e=>{{let n=k(()=>`Edit alias `+t.row.alias.name);j1(e,{get label(){return F(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>H4.openVirtualModelEditAlias(t.row.alias),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(s,e=>{H4.virtualModelsAvailable&&e(c)}),E(n),R(e,n)},w=e=>{var n=U3(),r=M(n);d3(r,{get row(){return t.row}});var i=N(r,2),a=e=>{{let n=k(()=>l3.modelPricingButtonLabel(`model pricing for `+t.row.display_name,l3.hasModelPricingOverride(t.row))),r=k(()=>l3.modelPricingButtonClass(l3.hasModelPricingOverride(t.row)));j1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>l3.openModelPricingOverrideEdit(t.row),children:(e,t)=>{G(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(i,e=>{l3.modelPricingOverridesAvailable&&e(a)});var o=N(i,2),s=e=>{{let n=k(()=>X.failoverButtonLabel(t.row)),r=k(()=>X.failoverButtonClass(t.row));j1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>X.openFailoverForModel(t.row),children:(e,t)=>{G(e,{name:`shuffle`,class:`table-icon-svg`})},$$slots:{default:!0}})}},c=k(()=>X.failoverAvailable&&X.failoverEnabled());B(o,e=>{F(c)&&e(s)});var l=N(o,2),u=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(t.row.display_name,Y.rateLimitGaugeClassForModel(t.row))),r=k(()=>Y.rateLimitGaugeClassForModel(t.row));j1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>Y.openRateLimitInspectorForModel(t.row),children:(e,t)=>{G(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},d=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitInspectorModelID(t.row));B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=e=>{{let n=k(()=>`Edit redirect for `+t.row.display_name);j1(e,{get label(){return F(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>H4.openVirtualModelEditAlias(t.row.masking_alias),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(f,e=>{H4.virtualModelsAvailable&&t.row.masking_alias&&t.row.masking_alias.name&&e(p)});var m=N(f,2),h=e=>{{let n=k(()=>O4(`model access for `+t.row.display_name,E4(t.row.access))),r=k(()=>D4(E4(t.row.access)));j1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>H4.openVirtualModelEditModel(t.row),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(m,e=>{H4.virtualModelsAvailable&&!t.row.masking_alias&&e(h)}),E(n),R(e,n)};B(S,e=>{t.row.is_alias?e(C):e(w,-1)}),E(x),E(r),P((e,n)=>{W(r,`id`,e),H(r,1,n,`svelte-1iynym`),z(c,t.row.display_name)},[()=>w4(t.row)||void 0,()=>ji(x4(t.row))]),R(e,r),O()}Ur([`click`]);var K3={headerLines:[`Modes`],value:e=>(e.model?.metadata?.modes??[]).join(`, `)||`-`};function q3(e,t){return{headerLines:e,class:`col-price`,value:t}}var J3=q3([`Input / Output ($/MTok)`],(e,t)=>eR(t?.input_per_mtok)+` / `+eR(t?.output_per_mtok)),Y3={all:[K3,J3],text_generation:[K3,J3,q3([`Cached $/MTok`],(e,t)=>eR(t?.cached_input_per_mtok))],embedding:[q3([`Input`,`$/MTok`],(e,t)=>eR(t?.input_per_mtok))],image:[q3([`$/Image`],(e,t)=>tR(t?.per_image))],audio:[q3([`$/Second`],(e,t)=>tR(t?.per_second_input)),q3([`$/Character`],(e,t)=>tR(t?.per_character_input))],video:[q3([`$/Second (In)`],(e,t)=>tR(t?.per_second_input)),q3([`$/Second (Out)`],(e,t)=>tR(t?.per_second_output))],utility:[q3([`$/Page`],(e,t)=>tR(t?.per_page)),q3([`$/Request`],(e,t)=>tR(t?.per_request))]};function X3(e){return Y3[e]||Y3.all}function Z3(e){return X3(e).length+2}var Q3=L(`
`),$3=L(` `,1),e6=L(``),t6=L(` `),n6=L(` `),r6=L(`
`),i6=L(`
`),a6=L(`
Model
`);function o6(e,t){D(t,!0);let n=k(()=>JL.activeCategory||`all`),r=k(()=>X3(F(n))),i=k(()=>Z3(F(n)));var a=a6(),o=M(a),s=M(o),c=M(s),l=N(M(c));V(l,17,()=>F(r),oi,(e,t)=>{var n=e6();V(n,21,()=>F(t).headerLines,oi,(e,t,n)=>{var r=$3(),i=Cn(r),a=e=>{R(e,Q3())};B(i,e=>{n>0&&e(a)});var o=N(i,1,!0);P(()=>z(o,F(t))),R(e,r)}),E(n),P(()=>H(n,1,ji(F(t).class),`svelte-1911hy6`)),R(e,n)});var u=N(l);p3(M(u),{}),E(u),E(c),E(s),V(N(s),17,()=>H4.filteredDisplayModelGroups,e=>e.key,(e,t)=>{var n=i6(),a=M(n),o=M(a),s=M(o),c=M(s),l=M(c),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=e=>{var n=t6(),r=M(n,!0);E(n),P(()=>z(r,`(`+F(t).type_label+`)`)),R(e,n)};B(f,e=>{F(t).type_label&&e(p)});var m=N(f,2),h=e=>{var n=n6(),r=M(n,!0);E(n),P(()=>z(r,F(t).item_count_label)),R(e,n)};B(m,e=>{F(t).item_count_label&&e(h)}),E(l);var g=N(l,2),_=e=>{var n=r6(),r=M(n,!0);E(n),P(()=>z(r,F(t).access_summary)),R(e,n)};B(g,e=>{F(t).access_summary&&e(_)}),E(c);var v=N(c,2),y=M(v),b=e=>{d3(e,{get row(){return F(t)}})};B(y,e=>{F(t).access.selector&&e(b)});var x=N(y,2),S=e=>{{let n=k(()=>l3.modelPricingButtonLabel(`provider pricing for `+F(t).display_name,l3.hasProviderPricingOverride(F(t)))),r=k(()=>l3.modelPricingButtonClass(l3.hasProviderPricingOverride(F(t))));j1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>l3.openProviderPricingOverrideEdit(F(t)),children:(e,t)=>{G(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(x,e=>{l3.modelPricingOverridesAvailable&&F(t).provider_name&&e(S)});var C=N(x,2),w=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(`provider `+F(t).display_name,Y.rateLimitGaugeClassForProvider(F(t)))),r=k(()=>Y.rateLimitGaugeClassForProvider(F(t)));j1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>Y.openRateLimitInspectorForProvider(F(t)),children:(e,t)=>{G(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},T=k(()=>Y.rateLimitsEnabled()&&F(t).provider_name);B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{{let n=k(()=>O4(`provider access for `+F(t).display_name,E4(F(t).access))),r=k(()=>D4(E4(F(t).access)));j1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>H4.openProviderOverrideEdit(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(ee,e=>{H4.virtualModelsAvailable&&F(t).access.selector&&e(te)}),E(v),E(s),E(o),E(a),V(N(a),17,()=>F(t).rows,e=>e.key,(e,t)=>{G3(e,{get row(){return F(t)},get columns(){return F(r)}})}),E(n),P(()=>{W(o,`colspan`,F(i)),z(d,F(t).display_name)}),R(e,n)}),E(o),E(a),R(e,a),O()}var s6=L(``),c6=L(`
`);function l6(e,t){D(t,!0);let n=ma(t,`model`,15,``),r=ma(t,`weight`,15),i=ma(t,`id`,3,void 0),a=ma(t,`placeholder`,3,`openai/gpt-4o`),o=ma(t,`showRemove`,3,!0);var s=c6(),c=M(s);U(c);var l=N(c,2),u=e=>{var t=s6();U(t),P(()=>t.disabled=H4.vmFormManaged),oa(t,r),R(e,t)},d=k(()=>H4.vmFormShowWeights());B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=e=>{j1(e,{label:`Remove target`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,get onclick(){return t.onremove},get disabled(){return H4.vmFormManaged},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};B(f,e=>{o()&&e(p)}),E(s),P(()=>{W(c,`id`,i()),W(c,`placeholder`,a()),c.disabled=H4.vmFormManaged}),oa(c,n),R(e,s),O()}var u6=L(`

`),d6=L(`Add one target to make this a redirect/alias, or two or more to load - balance across them, then pick a strategy: round_robin rotates across targets - (weight biases the share) and cost always routes to the cheapest available - target. Leave Targets empty to make it only an access policy on the Source selector. The selector uses / for all providers and - models, for one provider, or for one model. user_paths is - matched against the effective request user_path: the managed API key user_path when present, otherwise the configured user path request header.`,1),f6=L(`

This virtual model is defined in configuration (config.yaml / VIRTUAL_MODELS) and is read-only here. Edit your configuration to change it.

`),p6=L(``),m6=L(`
`),h6=L(``),g6=L(`Use / to allow every user path. Use a team path to restrict to that - subtree, or an unused path to make the selector unavailable.`,1),_6=L(` `),v6=L(``),y6=L(``),b6=L(``),x6=L(``);function S6(e,t){D(t,!0);let n=H4;TL(e,{get open(){return n.vmFormOpen},onclose:()=>n.closeVirtualModelForm(),children:(e,t)=>{var r=x6(),i=M(r),a=M(i),o=M(a);wQ(o,{copyId:`virtual-model-help-copy`,label:`virtual model help`,get open(){return n.vmFormHelpOpen},set open(e){n.vmFormHelpOpen=e},title:e=>{var t=u6(),r=M(t,!0);E(t),P(()=>z(r,n.vmFormDisplayName||n.vmForm.source||`Virtual model`)),R(e,t)},help:e=>{We();var t=d6(),n=N(Cn(t),13);n.textContent=`{provider_name}/`;var r=N(n,2);r.textContent=`{provider_name}/{model}`,We(7),R(e,t)},$$slots:{title:!0,help:!0}}),CL(N(o,2),{label:`Close virtual model editor`,onclick:()=>n.closeVirtualModelForm()}),E(a);var s=N(a,2),c=e=>{R(e,f6())};B(s,e=>{n.vmFormManaged&&e(c)});var l=N(s,2),u=N(M(l),2);U(u),E(l);var d=N(l,2);V(d,21,()=>JL.models,e=>G2(e),(e,t)=>{var n=p6(),r=M(n,!0);E(n);var i={};P((e,t)=>{z(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>G2(F(t)),()=>G2(F(t))]),R(e,n)}),E(d);var f=N(d,2),p=N(M(f),2);{let e=k(()=>n.vmFormHasPrimaryTarget());l6(p,{id:`virtual-model-target`,get showRemove(){return F(e)},onremove:()=>n.removePrimaryTarget(),get model(){return n.vmForm.target_model},set model(e){n.vmForm.target_model=e},get weight(){return n.vmForm.target_weight},set weight(e){n.vmForm.target_weight=e}})}var m=N(p,2);V(m,17,()=>n.vmForm.targets,oi,(e,t,r)=>{l6(e,{placeholder:`groq/llama`,onremove:()=>n.removeVmTarget(r),get model(){return F(t).model},set model(e){F(t).model=e},get weight(){return F(t).weight},set weight(e){F(t).weight=e}})});var h=N(m,2),g=M(h);G(M(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h),E(f);var _=N(f,2),v=e=>{var t=m6(),r=N(M(t),2),i=M(r);i.value=i.__value=`round_robin`;var a=N(i);a.value=a.__value=`cost`,E(r),E(t),P(()=>r.disabled=n.vmFormManaged),Vi(r,()=>n.vmForm.strategy,e=>n.vmForm.strategy=e),R(e,t)},y=k(()=>n.vmFormShowStrategy());B(_,e=>{F(y)&&e(v)});var b=N(_,2),x=M(b);wQ(x,{copyId:`virtual-model-user-paths-help`,label:`user paths help`,get open(){return n.vmFormUserPathsHelpOpen},set open(e){n.vmFormUserPathsHelpOpen=e},title:e=>{R(e,h6())},help:e=>{We();var t=g6();We(2),R(e,t)},$$slots:{title:!0,help:!0}});var S=N(x,2);pt(S),W(S,`placeholder`,`/ -/team/alpha -/non-existing`),E(b);var C=N(b,2),w=N(M(C),2);pt(w),E(C);var T=N(C,2),ee=M(T),te=e=>{var t=_6(),r=M(t,!0);E(t),P(()=>z(r,`Default enabled: `+(n.vmFormDefaultEnabled?`yes`:`no`)+` · Effective now: `+(n.vmFormEffectiveEnabled?`yes`:`no`))),R(e,t)};B(ee,e=>{n.vmFormMode===`edit`&&e(te)});var ne=N(ee,2),re=M(ne);let ie;var ae=N(M(re),2),oe=M(ae,!0);E(ae),E(re),E(ne),E(T);var se=N(T,2),ce=e=>{var t=v6(),r=M(t,!0);E(t),P(()=>z(r,n.vmFormError)),R(e,t)};B(se,e=>{n.vmFormError&&e(ce)});var le=N(se,2),ue=M(le),de=N(ue,2),fe=e=>{var t=y6();P(()=>t.disabled=n.vmDeleting||n.vmSubmitting),I(`click`,t,()=>n.deleteVirtualModel()),R(e,t)};B(de,e=>{n.vmFormHasExisting&&!n.vmFormManaged&&e(fe)});var pe=N(de,2),me=e=>{var t=b6(),r=M(t),i=e=>{G(e,{name:`plus`,class:`form-action-icon`})},a=e=>{G(e,{name:`save`,class:`form-action-icon`})};B(r,e=>{n.vmFormMode===`edit`?e(a,-1):e(i)});var o=N(r,2),s=M(o,!0);E(o),E(t),P(()=>{t.disabled=n.vmSubmitting||n.vmDeleting,z(s,n.vmSubmitting?`Saving...`:n.vmFormMode===`edit`?`Save`:`Create`)}),R(e,t)};B(pe,e=>{n.vmFormManaged||e(me)}),E(le),E(i),E(r),P((e,t)=>{u.disabled=n.vmFormSourceLocked||n.vmFormManaged,g.disabled=n.vmFormManaged,S.disabled=n.vmFormManaged,w.disabled=n.vmFormManaged,ie=H(re,1,`alias-toggle`,null,ie,e),W(re,`aria-label`,(n.vmForm.enabled?`Disable`:`Enable`)+` virtual model`),re.disabled=n.vmFormManaged,z(oe,t)},[()=>({enabled:n.vmForm.enabled,restricted:n.vmFormToggleRestricted()}),()=>n.vmFormToggleLabel()]),Hr(`submit`,i,e=>{e.preventDefault(),n.submitVirtualModelForm()}),oa(u,()=>n.vmForm.source,e=>n.vmForm.source=e),I(`click`,g,()=>n.addVmTarget()),oa(S,()=>n.vmForm.user_paths,e=>n.vmForm.user_paths=e),oa(w,()=>n.vmForm.description,e=>n.vmForm.description=e),I(`click`,re,()=>{n.vmFormManaged||(n.vmForm.enabled=!n.vmForm.enabled)}),I(`click`,ue,()=>n.closeVirtualModelForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var C6=L(``),w6=L(`
`),T6=L(`
`),E6=L(`
Tiered pricing exists for this override and will be preserved. Tier editing can be added - without a database migration.
`),D6=L(`
No pricing fields set.
`),O6=L(`
`),k6=L(``),A6=L(``),j6=L(``);function M6(e,t){D(t,!0);let n=l3;TL(e,{get open(){return n.modelPricingOverrideFormOpen},onclose:()=>n.closeModelPricingOverrideForm(),children:(e,t)=>{var r=j6(),i=M(r),a=M(i),o=M(a),s=N(M(o),2),c=M(s,!0);E(s),E(o),CL(N(o,2),{label:`Close model pricing editor`,onclick:()=>n.closeModelPricingOverrideForm()}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);U(d),E(u);var f=N(u,2),p=e=>{var t=w6(),r=N(M(t),2);V(r,21,()=>n.modelPricingOverrideFormScopeOptions,e=>e.value,(e,t)=>{var n=C6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(r),E(t),I(`change`,r,()=>n.setModelPricingOverrideScope(n.modelPricingOverrideFormScope)),Vi(r,()=>n.modelPricingOverrideFormScope,e=>n.modelPricingOverrideFormScope=e),R(e,t)};B(f,e=>{n.modelPricingOverrideFormScopeOptions.length>1&&e(p)}),E(l);var m=N(l,4);V(m,21,()=>n.modelPricingOverrideRows,e=>e.id,(e,t,r)=>{var i=T6(),a=M(i),o=M(a),s=N(o,2);V(s,21,()=>n.availablePricingFieldOptions(F(t)),e=>e.value,(e,t)=>{var n=C6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).group+` - `+F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(s),E(a);var c=N(a,2),l=M(c),u=N(l,2);U(u),E(c);var d=N(c,2);{let e=k(()=>`Remove `+n.pricingFieldLabel(F(t).field));j1(d,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn pricing-override-remove-row`,onclick:()=>n.removeModelPricingOverrideRow(F(t)),children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(i),P(()=>{W(o,`for`,`pricing-type-`+F(t).id),W(s,`id`,`pricing-type-`+F(t).id),W(l,`for`,`pricing-value-`+F(t).id),W(u,`id`,`pricing-value-`+F(t).id)}),Vi(s,()=>F(t).field,e=>F(t).field=e),oa(u,()=>F(t).value,e=>F(t).value=e),R(e,i)}),E(m);var h=N(m,2),g=M(h);G(M(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h);var _=N(h,2),v=e=>{R(e,E6())};B(_,e=>{n.modelPricingOverrideFormPreservedTiers.length>0&&e(v)});var y=N(_,2),b=N(M(y),2),x=e=>{R(e,D6())},S=k(()=>n.modelPricingEffectivePreviewRows().length===0);B(b,e=>{F(S)&&e(x)}),V(N(b,2),17,()=>n.modelPricingEffectivePreviewRows(),e=>e.field,(e,t)=>{var n=O6(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(n),P(e=>{z(i,F(t).label),z(o,e),z(c,F(t).source)},[()=>F(t).value===null||F(t).value===void 0?`-`:tR(Number(F(t).value))]),R(e,n)}),E(y);var C=N(y,2),w=e=>{var t=k6(),r=M(t,!0);E(t),P(()=>z(r,n.modelPricingOverrideError)),R(e,t)};B(C,e=>{n.modelPricingOverrideError&&e(w)});var T=N(C,2),ee=M(T),te=N(ee,2),ne=e=>{var t=A6();P(()=>t.disabled=n.modelPricingOverrideSubmitting),I(`click`,t,()=>n.deleteModelPricingOverride()),R(e,t)};B(te,e=>{n.modelPricingOverrideFormHasExistingOverride&&e(ne)});var re=N(te,2),ie=M(re);G(ie,{name:`save`,class:`form-action-icon`});var ae=N(ie,2),oe=M(ae,!0);E(ae),E(re),E(T),E(i),E(r),P(()=>{z(c,n.modelPricingOverrideFormDisplayName||n.modelPricingOverrideForm.selector||`Pricing`),re.disabled=n.modelPricingOverrideSubmitting,z(oe,n.modelPricingOverrideSubmitting?`Saving...`:`Save Pricing`)}),Hr(`submit`,i,e=>{e.preventDefault(),n.submitModelPricingOverrideForm()}),oa(d,()=>n.modelPricingOverrideForm.selector,e=>n.modelPricingOverrideForm.selector=e),I(`click`,g,()=>n.addModelPricingOverrideRow()),I(`click`,ee,()=>n.closeModelPricingOverrideForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var N6=L(`

This failover mapping is defined in configuration and is read-only here.

`),P6=L(``),F6=L(`
`),I6=L(``),L6=L(``),R6=L(``),z6=L(``);function B6(e,t){D(t,!0),TL(e,{get open(){return X.failoverFormOpen},variant:`editor`,onclose:()=>X.closeFailoverForm(),children:(e,t)=>{var n=z6(),r=M(n),i=M(r),a=M(i),o=N(M(a),2),s=M(o,!0);E(o),E(a),CL(N(a,2),{label:`Close failover editor`,onclick:()=>X.closeFailoverForm()}),E(i);var c=N(i,2),l=e=>{R(e,N6())};B(c,e=>{X.failoverFormManaged&&e(l)});var u=N(c,2);V(u,21,()=>JL.models,oi,(e,t)=>{var n=P6(),r=M(n,!0);E(n);var i={};P((e,t)=>{z(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>G2(F(t)),()=>G2(F(t))]),R(e,n)}),E(u);var d=N(u,2),f=N(M(d),2),p=M(f),m=M(p);U(m);var h=N(m,2),g=e=>{j1(e,{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removePrimaryFailoverTarget(),get disabled(){return X.failoverFormManaged},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};B(h,e=>{X.failoverForm.target_model&&e(g)}),E(p),V(N(p,2),17,()=>X.failoverForm.targets,oi,(e,t,n)=>{var r=F6(),i=M(r);U(i),j1(N(i,2),{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removeFailoverTarget(n),get disabled(){return X.failoverFormManaged},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),P(()=>i.disabled=X.failoverFormManaged),oa(i,()=>F(t).model,e=>F(t).model=e),R(e,r)}),E(f);var _=N(f,2),v=M(_);G(M(v),{name:`plus`,class:`form-action-icon`}),We(2),E(v);var y=N(v,2),b=M(y);G(b,{name:`wand-sparkles`,class:`form-action-icon`});var x=N(b,2),S=M(x,!0);E(x),E(y),E(_),E(d);var C=N(d,2),w=M(C),T=M(w);let ee;var te=N(M(T),2),ne=M(te,!0);E(te),E(T),E(w),E(C);var re=N(C,2),ie=e=>{var t=I6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(re,e=>{X.failoverError&&e(ie)});var ae=N(re,2),oe=M(ae),se=N(oe,2),ce=e=>{var t=L6();P(()=>t.disabled=X.failoverSaving||X.failoverGenerating),I(`click`,t,()=>X.deleteFailoverRule()),R(e,t)};B(se,e=>{X.failoverFormMode===`edit`&&!X.failoverFormManaged&&e(ce)});var le=N(se,2),ue=e=>{var t=R6(),n=M(t);G(n,{name:`save`,class:`form-action-icon`});var r=N(n,2),i=M(r,!0);E(r),E(t),P(()=>{t.disabled=X.failoverSaving||X.failoverGenerating,z(i,X.failoverSaving?`Saving...`:`Save`)}),R(e,t)};B(le,e=>{X.failoverFormManaged||e(ue)}),E(ae),E(r),E(n),P(e=>{z(s,X.failoverForm.source||`Failover`),m.disabled=X.failoverFormManaged,v.disabled=X.failoverFormManaged||X.failoverGenerating||X.failoverSaving,y.disabled=e,z(S,X.failoverGenerating?`Generating...`:`Generate automatically`),ee=H(T,1,`alias-toggle`,null,ee,{enabled:X.failoverForm.enabled}),T.disabled=X.failoverFormManaged,W(T,`aria-label`,(X.failoverForm.enabled?`Disable`:`Enable`)+` failover mapping`),z(ne,X.failoverForm.enabled?`Enabled`:`Disabled`)},[()=>X.failoverFormManaged||X.failoverGenerating||X.failoverSaving||!X.failoverEnabled()]),Hr(`submit`,r,e=>{e.preventDefault(),X.submitFailoverForm()}),oa(m,()=>X.failoverForm.target_model,e=>X.failoverForm.target_model=e),I(`click`,v,()=>X.addFailoverTarget()),I(`click`,y,()=>X.generateFailoverForForm()),I(`click`,T,()=>{X.failoverFormManaged||(X.failoverForm.enabled=!X.failoverForm.enabled)}),I(`click`,oe,()=>X.closeFailoverForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var V6=L(` `),H6=L(`
`),U6=L(``),W6=L(`
`),G6=L(`

No failover suggestions were generated.

`),K6=L(`

No failover drafts match the filter.

`),q6=L(``),J6=L(``);function Y6(e,t){D(t,!0),TL(e,{get open(){return X.failoverDraftsOpen},variant:`editor`,onclose:()=>X.closeFailoverDraftsModal(),children:(e,t)=>{var n=J6(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=V6(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>X.failoverDraftCountLabel()]),R(e,t)};B(a,e=>{X.failoverGeneratedRules.length>0&&e(o)}),CL(N(a,2),{label:`Close failover drafts`,onclick:()=>X.closeFailoverDraftsModal(),get disabled(){return X.failoverDraftSaving}}),E(i),E(r);var s=N(r,2),c=e=>{k1(e,{label:`Generating failover drafts...`,class:`failover-drafts-loading`})};B(s,e=>{X.failoverGenerating&&e(c)});var l=N(s,2),u=e=>{var t=H6(),n=M(t);F$(n,{placeholder:`Filter failover drafts...`,label:`Filter failover drafts`,get value(){return X.failoverDraftFilter},set value(e){X.failoverDraftFilter=e}});var r=N(n,2),i=M(r);G(i,{name:`check`,class:`form-action-icon`});var a=N(i,2),o=M(a,!0);E(a),E(r),E(t),P(e=>{r.disabled=X.failoverDraftSaving,z(o,e)},[()=>X.allFailoverDraftsSelected()?`Deselect all`:`Select all`]),I(`click`,r,()=>X.toggleAllFailoverDrafts()),R(e,t)};B(l,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&e(u)});var d=N(l,2),f=e=>{var t=W6();V(t,21,()=>X.filteredFailoverDrafts(),e=>`failover-draft:`+X.failoverPrimaryModel(e),(e,t)=>{var n=U6(),r=M(n);U(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(i),E(n),P((e,t,n,i)=>{$i(r,e),r.disabled=X.failoverDraftSaving,W(r,`aria-label`,t),z(o,n),z(c,i)},[()=>X.failoverDraftSelected(F(t)),()=>`Select failover draft for `+X.failoverPrimaryModel(F(t)),()=>X.failoverPrimaryModel(F(t)),()=>X.failoverTargetLabel(F(t))]),I(`change`,r,e=>X.setFailoverDraftSelected(F(t),e.currentTarget.checked)),R(e,n)}),E(t),R(e,t)},p=k(()=>!X.failoverGenerating&&X.filteredFailoverDrafts().length>0);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{R(e,G6())};B(m,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length===0&&!X.failoverError&&e(h)});var g=N(m,2),_=e=>{R(e,K6())},v=k(()=>!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&X.filteredFailoverDrafts().length===0);B(g,e=>{F(v)&&e(_)});var y=N(g,2),b=e=>{var t=q6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(y,e=>{X.failoverError&&e(b)});var x=N(y,2),S=M(x),C=N(S,2),w=M(C);G(w,{name:`save`,class:`form-action-icon`});var T=N(w,2),ee=M(T,!0);E(T),E(C),E(x),E(n),P(e=>{S.disabled=X.failoverDraftSaving,C.disabled=e,z(ee,X.failoverDraftSaving?`Saving...`:`Save selected`)},[()=>X.failoverGenerating||X.failoverDraftSaving||X.selectedFailoverDraftCount()===0]),I(`click`,S,()=>X.closeFailoverDraftsModal()),I(`click`,C,()=>X.saveSelectedFailoverDrafts()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`,`change`]);var X6=L(`
Rate limit management is unavailable.
`),Z6=L(` Add`,1),Q6=L(`

`),$6=L(`

No rules.

`),e8=L(` Edit`,1),t8=L(`
`),n8=L(`
`),r8=L(`

`),i8=L(``),a8=L(``);function o8(e,t){D(t,!0);function n(){K.dialogOpen||Y.closeRateLimitInspector()}TL(e,{get open(){return Y.rateLimitInspectorOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=a8(),r=M(n),i=M(r),a=N(M(i),2),o=M(a),s=M(o,!0);E(o),E(a),E(i),CL(N(i,2),{label:`Close rate limits inspector`,onclick:()=>Y.closeRateLimitInspector()}),E(r);var c=N(r,2),l=e=>{k1(e,{label:`Loading rate limits...`})},u=e=>{R(e,X6())},d=e=>{var t=$r();V(Cn(t),17,()=>Y.rateLimitInspectorSections(),e=>e.key,(e,t)=>{var n=r8(),r=M(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2);{let e=k(()=>`Add `+F(t).title.toLowerCase());j1(o,{get label(){return F(e)},class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(F(t).scope,F(t).subject),children:(e,t)=>{var n=Z6();G(Cn(n),{name:`plus`,class:`table-icon-svg`}),We(2),R(e,n)},$$slots:{default:!0}})}E(r);var s=N(r,2),c=e=>{var n=Q6(),r=M(n,!0);E(n),P(()=>z(r,F(t).hint)),R(e,n)};B(s,e=>{F(t).hint&&e(c)});var l=N(s,2),u=e=>{R(e,$6())},d=e=>{var n=n8();V(n,21,()=>F(t).items,e=>Y.rateLimitKey(e),(e,t)=>{var n=t8(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=M(c);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);G(l,{get name(){return F(e)},class:`budget-period-icon`})}var u=N(l,2),d=M(u,!0);E(u),E(c),E(s);var f=N(s,2),p=M(f),m=M(p),h=M(m,!0);E(m);var g=N(m,2),_=M(g,!0);E(g),E(p);var v=N(p,2),y=M(v),b=e=>{j1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(null,null,F(t)),children:(e,t)=>{var n=e8();G(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},x=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(y,e=>{F(x)&&e(b)}),E(v),E(f),E(i),E(r),E(n),P((e,t,r,i,a,s,c,l)=>{H(n,1,`budget-row ${e??``}`),Ri(n,t),W(n,`title`,r),z(o,i),z(d,a),z(h,s),W(g,`title`,c),z(_,l)},[()=>Y.rateLimitPressureClass(F(t)),()=>Y.rateLimitPressureStyle(F(t)),()=>Y.rateLimitPressurePercent(F(t))+`% of the most constrained cap used`,()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitInspectorSummary(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n)};B(l,e=>{F(t).items.length===0?e(u):e(d,-1)}),E(n),P(()=>z(a,F(t).title)),R(e,n)}),R(e,t)};B(c,e=>{Y.rateLimitsLoading?e(l):Y.rateLimitsAvailable?e(d,-1):e(u,1)});var f=N(c,2),p=M(f),m=N(p,2),h=e=>{var t=i8();I(`click`,t,()=>{Y.closeRateLimitInspector(),YI.navigate(`rate-limits`)}),R(e,t)},g=k(()=>Y.rateLimitsEnabled());B(m,e=>{F(g)&&e(h)}),E(f),E(n),P(()=>z(s,Y.rateLimitInspector.title)),I(`click`,p,()=>Y.closeRateLimitInspector()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var s8=L(`
models
`),c8=L(`
Virtual models feature is unavailable.
`),l8=L(`
`),u8=L(``),d8=L(`
`),f8=L(``),p8=L(`
`),m8=L(`

No models registered.

`),h8=L(`

No models in this category.

`),g8=L(`

No models match your filter.

`),_8=L(`
`);function v8(e,t){D(t,!0),Nn(()=>{K.refreshTick,YI.page===`models`&&(H4.fetchVirtualModels(),l3.fetchModelPricingOverrides(),X.fetchFailoverRules(),Y.fetchRateLimitsPage())}),Nn(()=>{let e=H4.filteredDisplayModels.length;return kr(()=>H4.restartModelRendering(e)),()=>H4.stopModelRendering()});let n=k(()=>K.needsAuth);var r=_8(),i=M(r),a=N(M(i),2),o=e=>{var t=s8(),n=M(t),r=M(n,!0);E(n),We(),E(t),P(()=>z(r,JL.filter?H4.filteredDisplayModels.length+` / `+H4.displayModels.length:H4.displayModels.length)),R(e,t)};B(a,e=>{H4.displayModels.length>0&&e(o)}),E(i);var s=N(i,2);XL(s,{});var c=N(s,2),l=e=>{R(e,c8())};B(c,e=>{!H4.virtualModelsAvailable&&!F(n)&&e(l)});var u=N(c,2),d=e=>{var t=l8(),n=M(t,!0);E(t),P(()=>z(n,H4.aliasError)),R(e,t)};B(u,e=>{H4.aliasError&&!F(n)&&e(d)});var f=N(u,2),p=e=>{var t=l8(),n=M(t,!0);E(t),P(()=>z(n,l3.modelPricingOverrideError)),R(e,t)};B(f,e=>{l3.modelPricingOverrideError&&!F(n)&&!l3.modelPricingOverrideFormOpen&&e(p)});var m=N(f,2),h=e=>{var t=d8();V(t,21,()=>JL.categories,e=>e.category,(e,t)=>{var n=u8();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(n),P(()=>{r=H(n,1,`category-tab svelte-scpjps`,null,r,{active:JL.activeCategory===F(t).category}),z(a,F(t).display_name),z(s,F(t).count)}),I(`click`,n,()=>JL.selectCategory(F(t).category)),R(e,n)}),E(t),R(e,t)};B(m,e=>{JL.categories.length>0&&e(h)});var g=N(m,2),_=e=>{var t=p8(),n=M(t);F$(M(n),{placeholder:`Filter by provider, provider/model, alias, or owner...`,label:`Filter models by provider, provider/model, alias, or owner`,get value(){return JL.filter},set value(e){JL.filter=e}}),E(n);var r=N(n,2),i=M(r),a=e=>{var t=f8();G(M(t),{name:`plus`,class:`alias-create-icon`}),We(2),E(t),I(`click`,t,()=>H4.openVirtualModelCreate()),R(e,t)};B(i,e=>{H4.virtualModelsAvailable&&e(a)}),E(r),E(t),R(e,t)};B(g,e=>{(H4.displayModels.length>0||JL.filter||H4.virtualModelsAvailable)&&e(_)});var v=N(g,2),y=e=>{{let t=k(()=>H4.modelLoadingText());k1(e,{get label(){return F(t)},class:`models-loading-state`})}},b=k(()=>H4.modelsBusy()&&!F(n));B(v,e=>{F(b)&&e(y)});var x=N(v,2);S6(x,{});var S=N(x,2);M6(S,{});var C=N(S,2),w=e=>{o6(e,{})};B(C,e=>{(H4.displayModels.length>0||JL.filter)&&e(w)});var T=N(C,2),ee=e=>{R(e,m8())};B(T,e=>{H4.displayModels.length===0&&!JL.loading&&!F(n)&&!JL.filter&&(JL.activeCategory===`all`||!JL.activeCategory)&&e(ee)});var te=N(T,2),ne=e=>{R(e,h8())};B(te,e=>{H4.displayModels.length===0&&!JL.loading&&!F(n)&&!JL.filter&&JL.activeCategory&&JL.activeCategory!==`all`&&e(ne)});var re=N(te,2),ie=e=>{R(e,g8())};B(re,e=>{H4.displayModels.length>0&&H4.filteredDisplayModels.length===0&&JL.filter&&e(ie)});var ae=N(re,2);o8(ae,{});var oe=N(ae,2);T2(oe,{});var se=N(oe,2);B6(se,{}),Y6(N(se,2),{}),E(r),R(e,r),O()}Ur([`click`]);var y8=`draft-workflow-preview`;function b8(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function x8(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function S8(e){return{ref:``,step:Number.isFinite(e)?e:10}}function C8(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function w8(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function T8(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function E8(e){return{cache:!!w8(e,`cache`,!1),audit:!!w8(e,`audit`,!1),usage:!!w8(e,`usage`,!1),budget:w8(e,`budget`,!0)!==!1,guardrails:!!w8(e,`guardrails`,!1),failover:w8(e,`failover`,!0)!==!1}}function D8(e,t){let n=E8(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function O8(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...D8((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:E8(n).failover}}function k8(e,t){return O8(e,t).failover?`On`:`Off`}function A8(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:C8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function j8(e,t){return O8(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function M8(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function N8(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function P8(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=N8(e);t&&n.add(t)}),[...n].sort()}function F8(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&N8(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function I8(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?`Provider Name + Model`:t===`provider_model_path`?`Provider Name + Model + Path`:t===`provider_path`?`Provider Name + Path`:t===`path`?`Path`:t===`provider`?`Provider Name`:`Global`}function L8(e){return String(e&&e.scope_display||`global`).trim()||`global`}function R8(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=L8(e);return n===`global`?`All models`:n}function z8(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function B8(e){if(z8(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function V8(e){let t=e||b8(),n=String(t.scope_provider||``).trim(),r=B8(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function H8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=B8(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function U8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=B8(e&&e.scope_user_path),i=H8({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function W8(e,t){let n=t||x8(),r=M8(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=B8(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===B8(n.scope_user_path)}function G8(e,t,n){let r=V8(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>W8(e,r))||null}function K8(e){return String(e&&e.scope_type||``).trim()!==`global`}function q8(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function J8(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,M8(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function Y8(e,t){let n=e||b8(),r=V8(n),i=E8(n.features||{}),a=D8(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?A8(n):[];return{id:y8,scope_type:H8(r),scope_display:U8(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function X8({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||b8(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=B8(a.scope_user_path),l=E8(a.features||{}),u=D8(l,t),d=G8(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=T8(f,`failover`),m=p?w8(f,`failover`,!0)!==!1:null,h=i||x8(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&B8(h.scope_user_path)===B8(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:C8(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function Z8(e,{models:t=[],hydratedScope:n=null}={}){let r=n||x8(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!P8(t,r).includes(o)&&o!==i)return`Choose a registered provider name.`;if(s&&!o)return`Model selection requires a provider name.`;if(s){let e=F8(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return`Choose a registered model for the selected provider name.`}let c=z8(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return`Each guardrail step needs a guardrail ref.`;if(!Number.isInteger(e.step)||e.step<0)return`Each guardrail step must use a non-negative integer step number.`;if(d.has(e.ref))return`Each guardrail ref may appear only once in a workflow.`;d.add(e.ref)}return``}var Q8=new class{#e=A(fn([]));get workflows(){return F(this.#e)}set workflows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get submitting(){return F(this.#o)}set submitting(e){j(this.#o,e,!0)}#s=A(``);get deactivatingID(){return F(this.#s)}set deactivatingID(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get formHydrated(){return F(this.#l)}set formHydrated(e){j(this.#l,e,!0)}#u=A(fn(x8()));get hydratedScope(){return F(this.#u)}set hydratedScope(e){j(this.#u,e,!0)}#d=A(fn([]));get guardrailRefs(){return F(this.#d)}set guardrailRefs(e){j(this.#d,e,!0)}#f=A(fn(b8()));get form(){return F(this.#f)}set form(e){j(this.#f,e,!0)}#p=null;failoverVisible(){return _L.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:_L.cacheVisible(),audit:_L.auditVisible(),usage:_L.usageVisible(),budget:_L.budgetsVisible(),guardrails:_L.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return J8(this.workflows,this.filter)}providerOptions(){return P8(JL.models,this.hydratedScope)}modelOptions(e){return F8(JL.models,e,this.hydratedScope)}activeScopeMatch(){return G8(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?`Save`:`Create`}submittingLabel(){return this.submitMode()===`save`?`Saving...`:`Creating...`}preview(){return Y8(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=x8(),this.form=b8();return}this.formHydrated=!0,this.hydratedScope={scope_provider:M8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?E8(e.workflow_payload.features):O8(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:C8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):A8(e);this.form={scope_provider:M8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=x8(),this.form=b8()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(S8(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return X8({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4);try{let t=await pL(`/admin/workflows`,{label:`workflows`,signal:e.signal});if(t.stale)return;if(t.status===503){this.available=!1,this.workflows=[];return}if(this.available=!0,!t.ok){this.workflows=[];return}this.workflows=Array.isArray(t.data)?t.data:[]}catch(t){if(hL(t)&&this.#p!==e)return;console.error(`Failed to fetch workflows:`,t),this.workflows=[],this.error=hL(t)?`Loading workflows timed out.`:`Unable to load workflows.`}finally{clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1)}}async fetchGuardrailRefs(){try{let e=await pL(`/admin/workflows/guardrails`,{label:`workflow guardrails`});if(e.stale)return;this.guardrailRefs=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch workflow guardrails:`,e),this.guardrailRefs=[]}}async fetchPage(){await Promise.all([_L.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=Z8(e,{models:JL.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await mL(`/admin/workflows`,`POST`,e,{label:`create workflow`});if(t.stale||t.status===401)return;if(!t.ok){this.formError=lL(t,`Unable to create workflow.`),console.error(`Failed to create workflow:`,t.status,this.formError);return}q.success(`Workflow created and activated.`),this.closeForm(),this.fetchPage()}catch(e){console.error(`Failed to create workflow:`,e),this.formError=`Unable to create workflow.`}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!K8(e))return;let n=R8(e);if(confirm(`Deactivate workflow "`+n+`"? Requests will fall back to the next active workflow for this scope.`)){this.deactivatingID=t;try{let e=await mL(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`});if(e.stale||e.status===401)return;if(!e.ok){let t=lL(e,`Unable to deactivate workflow.`);console.error(`Failed to deactivate workflow:`,e.status,t),q.error(t);return}q.success(`Workflow deactivated.`),this.fetchPage()}catch(e){console.error(`Failed to deactivate workflow:`,e),q.error(`Unable to deactivate workflow.`)}finally{this.deactivatingID=``}}}};function $8(e){let t=String(e??``),n=typeof navigator<`u`?navigator.clipboard:null;if(n&&typeof n.writeText==`function`)return n.writeText(t);let r=typeof document<`u`?document:null;if(!r||!r.body||typeof r.execCommand!=`function`)return Promise.reject(Error(`Clipboard API unavailable`));let i=r.createElement(`textarea`);i.value=t,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.top=`0`,i.style.left=`0`,i.style.opacity=`0`;try{if(r.body.appendChild(i),i.focus(),i.select(),i.setSelectionRange(0,i.value.length),!r.execCommand(`copy`))throw Error(`execCommand copy returned false`)}finally{i.parentNode&&i.parentNode.removeChild(i)}return Promise.resolve()}function e5({resetDelayMs:e=2e3,logPrefix:t}={}){let n=fn({copied:!1,error:!1}),r=null;function i(){r!==null&&clearTimeout(r),r=null}function a(){i(),r=setTimeout(()=>{n.copied=!1,n.error=!1,r=null},e)}return{get copied(){return n.copied},get error(){return n.error},reset(){i(),n.copied=!1,n.error=!1},async copy(e,r){if(!(e==null||e===``)){i(),n.copied=!1,n.error=!1;try{await $8(typeof r==`function`?r(e):String(e)),n.copied=!0,n.error=!1}catch(e){console.error(t||`Failed to copy text:`,e),n.copied=!1,n.error=!0}a()}}}}var t5=L(``);function n5(e,t){D(t,!0);let n=ma(t,`workflowID`,3,``),r=e5({logPrefix:`Failed to copy workflow ID:`});Nn(()=>{n(),r.reset()});let i=k(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=k(()=>n()?F(i)+` `+n():F(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=t5();let c;var l=N(M(s),4),u=M(l,!0);E(l);var d=N(l,2);G(M(d),{name:`copy`}),E(d),E(s),P(()=>{c=H(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),W(s,`title`,F(i)),W(s,`aria-label`,F(a)),z(u,n())}),I(`click`,s,o),R(e,s),O()}Ur([`click`]);var r5=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=kt(()=>_((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=s5(),l=M(c),u=e=>{var t=i5();let r;G(M(t),{get name(){return n()}}),E(t),P(()=>r=H(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":F(i)===`workflow-node-endpoint`})),R(e,t)};B(l,e=>{n()&&e(u)});var d=N(l,2),f=M(d,!0);E(d);var p=N(d,2),m=e=>{var t=a5(),n=M(t,!0);E(t),P(()=>z(n,s())),R(e,t)};B(p,e=>{s()&&e(m)});var h=N(p,2),g=e=>{var t=o5(),n=M(t,!0);E(t),P(()=>z(n,o())),R(e,t)};B(h,e=>{o()&&e(g)}),E(c),P(()=>{H(c,1,`workflow-node ${F(i)??``} ${(a()||``)??``}`,`svelte-nbptrg`),z(f,r())}),R(e,c)},i5=L(`
`),a5=L(` `),o5=L(` `),s5=L(`
`),c5=L(`
`,1),l5=L(`
`,1),u5=L(`
`),d5=L(`
Async
`),f5=L(`
`);function p5(e,t){D(t,!0);let n=ma(t,`chart`,19,()=>({}));var r=f5();let i;var a=M(r),o=e=>{n5(e,{get workflowID(){return n().workflowID}})};B(a,e=>{n().workflowID&&e(o)});var s=N(a,2),c=M(s);r5(c,()=>({icon:`user`,label:`Client`,variant:`workflow-node-endpoint`}));var l=N(c,4);r5(l,()=>({icon:`database`,label:`Auth`,state:n().authNodeClass,sub:n().authNodeSublabel}));var u=N(l,2),d=e=>{var t=c5(),r=Cn(t);r5(N(r,2),()=>({icon:`database`,label:`Cache`,state:n().cacheNodeClass,badge:n().cacheStatusLabel})),P(()=>H(r,1,`workflow-conn ${(n().cacheConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(u,e=>{n().showCache&&e(d)});var f=N(u,2),p=e=>{var t=l5();r5(N(Cn(t),2),()=>({icon:`wallet`,label:`Budget`,state:n().budgetNodeClass,badge:n().budgetStatusLabel})),R(e,t)};B(f,e=>{n().showBudget&&e(p)});var m=N(f,2),h=e=>{var t=l5();r5(N(Cn(t),2),()=>({icon:`shield`,label:`Guardrails`,sub:n().guardrailLabel})),R(e,t)};B(m,e=>{n().showGuardrails&&e(h)});var g=N(m,2),_=N(g,2);r5(_,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var v=N(_,2),y=e=>{var t=c5(),r=Cn(t);r5(N(r,2),()=>({icon:`maximize-2`,label:`Failover`,state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel})),P(()=>H(r,1,`workflow-conn ${(n().failoverConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(v,e=>{n().showFailover&&e(y)});var b=N(v,2);r5(N(b,2),()=>({icon:`circle-check-big`,label:`Response`,variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel})),E(s);var x=N(s,2),S=e=>{var t=d5(),r=M(t),i=M(r),a=e=>{r5(e,()=>({icon:`chart-column-increasing`,label:`Usage`,variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}))};B(i,e=>{n().showUsage&&e(a)});var o=N(i,2),s=e=>{R(e,u5())};B(o,e=>{n().showUsage&&n().showAudit&&e(s)});var c=N(o,2),l=e=>{r5(e,()=>({icon:`file-text`,label:`Audit Log`,variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}))};B(c,e=>{n().showAudit&&e(l)}),E(r),We(4),E(t),R(e,t)};B(x,e=>{n().showAsync&&e(S)}),E(r),P(()=>{i=H(r,1,`workflow-pipeline svelte-nbptrg`,null,i,{"workflow-pipeline-has-meta":n().workflowID}),H(g,1,`workflow-conn ${(n().aiConnClass||``)??``}`,`svelte-nbptrg`),H(b,1,`workflow-conn ${(n().responseConnClass||``)??``}`,`svelte-nbptrg`)}),R(e,r),O()}function m5(e){let t=A8(e).length;return t===0?``:t===1?`1 step`:t+` steps`}function h5(e,t){return t&&t.provider?t.provider:M8(e&&e.scope)||`AI`}function g5(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function _5(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function v5(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:E8(t)}function y5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function b5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return b5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=b5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:b5(e.error,t+1)):``}function x5(e){let t=e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{};return String(t.error_code||t.errorCode||``).trim()||b5(t.response_body)}function S5(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function C5(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=y5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=S5(n);if(i)return i;let a=M8(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function w5(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=y5(e),o=C5(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=String(e.error_type||``).trim().toLowerCase()===`authentication_error`,l=String(e.auth_method||``).trim().toLowerCase()||null,u=x5(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function T5(e){return!!(e&&e.cacheHit)}function E5(e){return!!(e&&e.failoverTarget)}function D5(e){return!!(e&&e.budgetExceeded)}function O5(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function k5(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function A5(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?`Hit (Semantic)`:`Hit (Exact)`}function j5(e,t,n,r){return e?D5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function M5(e){return D5(e)?`Exceeded`:null}function N5(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function P5(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function F5(e){return e&&e.failoverTarget?`Redirected`:null}function I5(e){return e&&e.failoverTarget?e.failoverTarget:null}function L5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function R5(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function z5(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function B5(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function V5(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function H5(e){return!e||!e.authMethod?null:e.authMethod}function U5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function W5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function G5(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function K5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function q5(e,t){return!e||!e._live||W5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function J5(e,t,n){return!e||!e._live?``:K5(e)?`usage`:q5(e,t)?`audit`:W5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function Y5(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?E8(i.features):O8(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||D5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||E5(t),m=_5(e,i.entry),h=J5(i.entry,t,a),g=K5(i.entry),_=q5(i.entry,t),v=W5(i.entry,s),y=G5(i.entry,s);return{showBudget:c,budgetNodeClass:j5(c,t,s,h===`budget`),budgetStatusLabel:M5(t),showGuardrails:l,guardrailLabel:l?m5(e):``,showCache:!!i.forceCache||!!a.cache||T5(t),cacheNodeClass:O5(t,h===`cache`),cacheConnClass:k5(t),cacheStatusLabel:A5(t),showFailover:p,failoverNodeClass:p?N5(t):``,failoverConnClass:p?P5(t):``,failoverStatusLabel:p?F5(t):null,failoverTargetLabel:p?I5(t):null,aiLabel:h5(e,t),aiSublabel:g5(e,t),aiConnClass:L5(t),aiNodeClass:R5(t,h===`ai`),responseConnClass:L5(t),responseNodeClass:z5(t,h===`response`),responseNodeSublabel:B5(t),authNodeClass:V5(t,h===`auth`),authNodeSublabel:H5(t),usageNodeClass:U5(u,y,g),auditNodeClass:U5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function X5(e,t){return Y5(e,null,{forceCache:!1},t)}function Z5(e,t,n){return Y5(t,w5(e,t),{entry:e,features:v5(e)||(t?O8(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var Q5=L(`

`),$5=L(`

`),e7=L(`
`),t7=L(`
`),n7=L(`

No guardrails configured for this workflow.

`),r7=L(`

Guardrails

`),i7=L(``),a7=L(`

`);function o7(e,t){D(t,!0);let n=ma(t,`preview`,3,!1),r=k(()=>Q8.featureCaps()),i=k(()=>R8(t.workflow)),a=k(()=>j8(t.workflow,F(r))),o=k(()=>X5(t.workflow,F(r))),s=k(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=a7();let l;var u=M(c),d=M(u),f=M(d),p=M(f,!0);E(f);var m=N(f,2),h=M(m,!0);E(m),E(d);var g=N(d,2),_=M(g),v=M(_,!0);E(_),E(g),E(u);var y=N(u,2),b=e=>{var n=Q5(),r=M(n,!0);E(n),P(()=>z(r,t.workflow.description)),R(e,n)};B(y,e=>{t.workflow.description&&e(b)});var x=N(y,2),S=e=>{var n=$5(),i=M(n);E(n),P(e=>z(i,`Failover: ${e??``}`),[()=>k8(t.workflow,F(r))]),R(e,n)},C=k(()=>Q8.failoverVisible());B(x,e=>{F(C)&&e(S)});var w=N(x,2);p5(w,{get chart(){return F(o)}});var T=N(w,2),ee=e=>{var t=r7(),n=M(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var o=N(n,2),c=e=>{var t=t7();V(t,23,()=>F(a),(e,t)=>F(s)+t,(e,t)=>{var n=e7(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a);E(a),E(n),P(()=>{z(i,F(t).ref),z(o,`step ${F(t).step??``}`)}),R(e,n)}),E(t),R(e,t)},l=e=>{R(e,n7())};B(o,e=>{F(a).length>0?e(c):e(l,-1)}),E(t),P(()=>z(i,F(a).length?F(a).length+` steps`:`None`)),R(e,t)},te=k(()=>_L.guardrailsVisible());B(T,e=>{F(te)&&e(ee)});var ne=N(T,2),re=e=>{var n=i7(),r=M(n),a=M(r),o=M(a,!0);E(a);var s=N(a,2);{let e=k(()=>`Edit workflow `+F(i));j1(s,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Q8.openCreate(t.workflow),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(r);var c=N(r,2),l=M(c),u=M(l);E(l);var d=N(l,2),f=M(d);E(d);var p=N(d,2),m=M(p);E(p),E(c),E(n),P((e,n,r,s)=>{a.disabled=e,W(a,`aria-label`,`Deactivate workflow `+F(i)),W(a,`title`,n),z(o,Q8.deactivatingID===t.workflow.id?`Deactivating...`:`Deactivate`),z(u,`version: v${t.workflow.version??``}`),z(f,`created: ${r??``}`),z(m,`hash: ${s??``}`)},[()=>Q8.deactivatingID===t.workflow.id||!K8(t.workflow),()=>K8(t.workflow)?`Deactivate active workflow`:`The global workflow cannot be deactivated.`,()=>sL.formatTimestamp(t.workflow.created_at),()=>q8(t.workflow.workflow_hash)]),I(`click`,a,()=>Q8.deactivate(t.workflow)),R(e,n)};B(ne,e=>{n()||e(re)}),E(c),P((e,t)=>{l=H(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),z(p,e),z(h,F(i)),z(v,t)},[()=>I8(t.workflow),()=>L8(t.workflow)]),R(e,c),O()}Ur([`click`]);var s7=L(`

`),c7=L(``),l7=L(``),u7=L(`
`),d7=L(``),f7=L(``),p7=L(``),m7=L(``),h7=L(``),g7=L(``),_7=L(`
No named guardrails are currently registered on this deployment. You can still draft a workflow, but guardrail-backed creation may be rejected.
`),v7=L(`
`),y7=L(`
`),b7=L(`

No guardrail steps configured yet.

`),x7=L(`

Guardrail Steps

Guardrails in the same numeric step run together. Later steps wait for earlier ones to finish.

`),S7=L(``);function C7(e,t){D(t,!0);function n(){K.dialogOpen||Q8.closeForm()}function r(e){e.preventDefault(),Q8.submitForm()}TL(e,{get open(){return Q8.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var i=S7(),a=M(i),o=M(a),s=M(o);wQ(M(s),{copyId:`workflow-help-copy`,label:`workflow help`,text:`Create immutable version. Submitting activates it for the selected scope.`,title:e=>{var t=s7(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>Q8.submitMode()===`save`?`Edit Workflow`:`Create Workflow`]),R(e,t)},$$slots:{title:!0}}),E(s),CL(N(s,2),{label:`Close workflow editor`,onclick:n}),E(o);var c=N(o,2),l=e=>{var t=c7(),n=M(t,!0);E(t),P(()=>z(n,Q8.formError)),R(e,t)};B(c,e=>{Q8.formError&&e(l)});var u=N(c,2),d=M(u),f=N(M(d),2),p=M(f);p.value=p.__value=``,V(N(p),16,()=>Q8.providerOptions(),e=>e,(e,t)=>{var n=l7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(f),E(d);var m=N(d,2),h=e=>{var t=u7(),n=N(M(t),2),r=M(n);r.value=r.__value=``,V(N(r),17,()=>Q8.modelOptions(Q8.form.scope_provider),e=>Q8.form.scope_provider+`-`+e,(e,t)=>{var n=l7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t)),i!==(i=F(t))&&(n.value=(n.__value=F(t))??``)}),R(e,n)}),E(n),E(t),Vi(n,()=>Q8.form.scope_model,e=>Q8.form.scope_model=e),R(e,t)};B(m,e=>{Q8.form.scope_provider&&e(h)});var g=N(m,2),_=N(M(g),2);U(_),E(g);var v=N(g,2),y=N(M(v),2);U(y),E(v),E(u);var b=N(u,8),x=N(M(b),2);pt(x),E(b);var S=N(b,2),C=M(S),w=e=>{var t=d7(),n=M(t);U(n),We(2),E(t),sa(n,()=>Q8.form.features.cache,e=>Q8.form.features.cache=e),R(e,t)},T=k(()=>_L.cacheVisible());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{var t=f7(),n=M(t);U(n),We(2),E(t),sa(n,()=>Q8.form.features.audit,e=>Q8.form.features.audit=e),R(e,t)},ne=k(()=>_L.auditVisible());B(ee,e=>{F(ne)&&e(te)});var re=N(ee,2),ie=e=>{var t=p7(),n=M(t);U(n),We(2),E(t),sa(n,()=>Q8.form.features.usage,e=>Q8.form.features.usage=e),R(e,t)},ae=k(()=>_L.usageVisible());B(re,e=>{F(ae)&&e(ie)});var oe=N(re,2),se=e=>{var t=m7(),n=M(t);U(n),We(2),E(t),sa(n,()=>Q8.form.features.budget,e=>Q8.form.features.budget=e),R(e,t)},ce=k(()=>_L.budgetsVisible());B(oe,e=>{F(ce)&&e(se)});var le=N(oe,2),ue=e=>{var t=h7(),n=M(t);U(n),We(2),E(t),sa(n,()=>Q8.form.features.guardrails,e=>Q8.form.features.guardrails=e),R(e,t)},de=k(()=>_L.guardrailsVisible());B(le,e=>{F(de)&&e(ue)});var fe=N(le,2),pe=e=>{var t=g7(),n=M(t);U(n),We(2),E(t),sa(n,()=>Q8.form.features.failover,e=>Q8.form.features.failover=e),R(e,t)},me=k(()=>Q8.failoverVisible());B(fe,e=>{F(me)&&e(pe)}),E(S);var he=N(S,2),ge=N(M(he),2);{let e=k(()=>Q8.preview());o7(ge,{get workflow(){return F(e)},preview:!0})}E(he);var _e=N(he,2),ve=e=>{var t=x7(),n=M(t),r=N(M(n),2);E(n);var i=N(n,2),a=e=>{var t=_7(),n=N(M(t),2);E(t),I(`click`,n,()=>YI.navigate(`guardrails`)),R(e,t)};B(i,e=>{Q8.guardrailRefs.length===0&&e(a)});var o=N(i,2),s=e=>{var t=y7();V(t,21,()=>Q8.form.guardrails,oi,(e,t,n)=>{var r=v7(),i=M(r),a=M(i);W(a,`for`,`workflow-guardrail-ref-`+n);var o=N(a,2);U(o),W(o,`id`,`workflow-guardrail-ref-`+n),W(o,`aria-label`,`Guardrail reference `+(n+1)),E(i);var s=N(i,2),c=M(s);W(c,`for`,`workflow-guardrail-step-`+n);var l=N(c,2);U(l),W(l,`id`,`workflow-guardrail-step-`+n),W(l,`aria-label`,`Guardrail step `+(n+1)),E(s);var u=N(s,2);E(r),oa(o,()=>F(t).ref,e=>F(t).ref=e),oa(l,()=>F(t).step,e=>F(t).step=e),I(`click`,u,()=>Q8.removeGuardrailStep(n)),R(e,r)}),E(t),R(e,t)},c=e=>{R(e,b7())};B(o,e=>{Q8.form.guardrails.length>0?e(s):e(c,-1)}),E(t),I(`click`,r,()=>Q8.addGuardrailStep()),R(e,t)},ye=k(()=>Q8.form.features.guardrails&&_L.guardrailsVisible());B(_e,e=>{F(ye)&&e(ve)});var be=N(_e,2),xe=M(be),Se=N(xe,2),Ce=M(Se),we=e=>{G(e,{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`})},Te=k(()=>Q8.submitMode()===`create`),Ee=e=>{G(e,{name:`save`,class:`form-action-icon`,"aria-hidden":`true`})};B(Ce,e=>{F(Te)?e(we):e(Ee,-1)});var De=N(Ce,2),Oe=M(De,!0);E(De),E(Se),E(be),E(a),E(i),P(e=>{Se.disabled=Q8.submitting,z(Oe,e)},[()=>Q8.submitting?Q8.submittingLabel():Q8.submitLabel()]),Hr(`submit`,a,r),I(`change`,f,e=>Q8.setProvider(e.currentTarget.value)),Vi(f,()=>Q8.form.scope_provider,e=>Q8.form.scope_provider=e),oa(_,()=>Q8.form.name,e=>Q8.form.name=e),oa(y,()=>Q8.form.scope_user_path,e=>Q8.form.scope_user_path=e),oa(x,()=>Q8.form.description,e=>Q8.form.description=e),I(`click`,xe,n),R(e,i)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var w7=L(`

Loading workflows...

`),T7=L(`
`),E7=L(`

No active workflows found.

`),D7=L(`

No workflows match your filter.

`),O7=L(`
`);function k7(e,t){D(t,!0);var n=O7(),r=M(n),i=e=>{var t=w7();YZ(M(t),{size:16,label:`Loading workflows`}),We(),E(t),R(e,t)};B(r,e=>{Q8.loading&&!K.authError&&e(i)});var a=N(r,2),o=e=>{var t=T7();V(t,21,()=>Q8.filteredWorkflows,e=>e.id,(e,t)=>{o7(e,{get workflow(){return F(t)}})}),E(t),R(e,t)};B(a,e=>{Q8.filteredWorkflows.length>0&&e(o)});var s=N(a,2),c=e=>{R(e,E7())};B(s,e=>{Q8.workflows.length===0&&!Q8.loading&&!K.authError&&Q8.available&&e(c)});var l=N(s,2),u=e=>{R(e,D7())};B(l,e=>{Q8.workflows.length>0&&Q8.filteredWorkflows.length===0&&!Q8.loading&&e(u)}),E(n),R(e,n),O()}var A7=L(``),j7=L(`
Workflows feature is unavailable.
`),M7=L(`
`),N7=L(`
`),P7=L(``),F7=L(`
`);function I7(e,t){D(t,!0),Nn(()=>{K.refreshTick,Q8.fetchPage()});var n=F7(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=A7();G(M(t),{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`}),We(2),E(t),I(`click`,t,()=>Q8.openCreate()),R(e,t)};B(a,e=>{Q8.available&&e(o)}),E(i),E(r);var s=N(r,2),c=e=>{R(e,j7())};B(s,e=>{!Q8.available&&!K.authError&&e(c)});var l=N(s,2),u=e=>{var t=M7(),n=M(t,!0);E(t),P(()=>z(n,Q8.error)),R(e,t)};B(l,e=>{Q8.error&&!K.authError&&e(u)});var d=N(l,2),f=e=>{var t=N7(),n=M(t);F$(M(n),{placeholder:`Filter by scope, name, hash, or guardrail...`,label:`Filter workflows by scope, name, hash, or guardrail`,get value(){return Q8.filter},set value(e){Q8.filter=e}}),E(n);var r=N(n,2),i=M(r),a=M(i,!0);E(i),E(r),E(t),P(()=>z(a,Q8.filteredWorkflows.length+` active scopes`)),R(e,t)};B(d,e=>{Q8.available&&e(f)});var p=N(d,2);C7(p,{});var m=N(p,2);k7(m,{});var h=N(m,2);V(h,20,()=>Q8.guardrailRefs,e=>e,(e,t)=>{var n=P7(),r={};P(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(h),E(n),R(e,n),O()}Ur([`click`]);var L7=new class{#e=A(fn({}));get workflowVersionsByID(){return F(this.#e)}set workflowVersionsByID(e){j(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:_L.cacheVisible(),audit:_L.auditVisible(),usage:_L.usageVisible(),budget:_L.budgetsVisible(),guardrails:_L.guardrailsVisible(),failover:_L.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await pL(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}};function R7(e){try{return JSON.parse(e)}catch{return null}}function z7(e,t){let n=String(e||``).trim();if(!n)return``;if(t>6)return n;let r=R7(n);return r==null?n:V7(r,t+1)||n}function B7(e){return e==null?``:typeof e==`string`?z7(e,0):V7(e,0)}function V7(e,t){if(e==null||t>6)return``;if(typeof e==`string`){let n=R7(e.trim());return n==null?``:V7(n,t+1)}if(Array.isArray(e)){for(let n=0;n=400||U7(t&&t.response_body)}function G7(e){let t=e&&e.data?e.data:null;return t?B7(t.error_message)||(W7(e,t)?V7(t.response_body,0):``):``}function K7(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function q7(e){let t=K7(e);return t===null?``:t===0?`Audit logs are retained indefinitely.`:t===1?`Audit logs are retained for 1 day.`:`Audit logs are retained for `+t+` days.`}function ute(e){let t=K7(e);return t===null?``:t===0?`Audit logs are retained `:`Audit logs are retained for `}function dte(e){let t=K7(e);return t===null?``:t===0?`indefinitely`:t===1?`1 day`:t+` days`}function fte({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o}){let s=e;return s+=`&limit=`+t+`&offset=`+n,r&&(s+=`&search=`+encodeURIComponent(r)),i&&(s+=`&method=`+encodeURIComponent(i)),a&&(s+=`&status_code=`+encodeURIComponent(a)),o&&(s+=`&stream=`+encodeURIComponent(o)),s}function J7(e){return String(e&&e.id||``).trim()}function Y7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function pte(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function mte(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function hte(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&mte(t)}function gte(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!hte(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>pte(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>Y7(e))),s=[];return a.forEach(e=>{let t=Y7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function _te(e,t){let n=J7(t),r=e||{};return!n||r[n]?r:{...r,[n]:!0}}function vte(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>J7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function yte(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function X7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function Z7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function Q7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function $7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function e9(e){let t=$7(e);return t.length>1||t.some(e=>!(e&&e.success))}function bte(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function t9(e){return String(e&&e.kind||``).trim()||`attempt`}function xte(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function Ste(e){return String(e&&e.model||``).trim()||`-`}function n9(e){let t=$7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function Cte(e){return n9(e).length>0}function wte(e){return $7(e).length+`×`}function r9(e){let t=$7(e),n=t.filter(e=>!(e&&e.success)).length,r=t.length===1?`attempt`:`attempts`,i=t.length+` provider `+r;return n>0?i+` · `+n+` failed`:i}function Tte(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=t9(e);n&&n!==`attempt`&&t.push(n),t.push(bte(e));let r=xte(e);r&&r!==`-`&&t.push(r);let i=Ste(e);return i&&i!==`-`&&t.push(i),t.push(e.success?`succeeded`:`failed`),t.join(` · `)}function Ete(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function Dte(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||`Provider attempt failed`}function Ote(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function kte(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function Ate(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=Ete(e,t),a=Ote(e,t),o=Dte(t),s=i!=null&&i!==``,c=t9(t),l=$7(e).length<=1;return{title:`Response`,direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:kte(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:`No response was captured for this attempt.`,showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function i9(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function jte(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function Mte(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=i9(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:`Rewritten`,direction:`request`,seq:i?0:Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:jte(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:`What changed`,showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:`Rewritten body not captured (body logging disabled or body too large).`}}function a9(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function Nte(e){let t=a9(e);return Number(t&&t.cached_input_tokens||0)>0}function Pte(e){let t=a9(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function Fte(e){let t=a9(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?QL(r)+` cached`:Pte(e).toFixed(1)+`% cached`}function Ite(e){return Nte(e)?Fte(e):``}function Lte(e,t){let n=a9(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function o9(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Rte(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&Z7(e);return{title:`Request`,direction:`request`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:Ite(e),promptCacheHighlight:Lte(e,t),showEmpty:r&&!i,emptyMessage:`Request details were not captured.`,showPending:i,pendingMessage:`Waiting for request data…`,showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:`Request body was too large to capture.`}}function zte(e){let t=e&&e.data?e.data:null,n=G7(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&Z7(e);return{title:`Response`,direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&Z7(e),showEmpty:r&&!i,emptyMessage:`Response details were not captured.`,showPending:i,pendingMessage:`Response in progress…`,showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function s9(e,t){let n=[{id:`request`,pane:Rte(e,t)}];return i9(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:Mte(e,t)})}),e9(e)?$7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:Ate(e,t)})}):n.push({id:`response`,pane:zte(e)}),n}function Bte(e){if(!e9(e))return`response`;let t=$7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function Vte(e,t){return e&&s9(t).some(t=>t.id===e)?e:Bte(t)}function Hte(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}function c9(){return{entries:[],total:0,limit:25,offset:0}}var l9=new class{#e=A(fn({}));get auditExpandedEntries(){return F(this.#e)}set auditExpandedEntries(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}auditFetchToken=0;get auditLog(){return ZQ.auditLog}set auditLog(e){ZQ.auditLog=e}get auditSearch(){return ZQ.auditSearch}set auditSearch(e){ZQ.auditSearch=e}get auditMethod(){return ZQ.auditMethod}set auditMethod(e){ZQ.auditMethod=e}get auditStatusCode(){return ZQ.auditStatusCode}set auditStatusCode(e){ZQ.auditStatusCode=e}get auditStream(){return ZQ.auditStream}set auditStream(e){ZQ.auditStream=e}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,customStartDate:pR.customStartDate,customEndDate:pR.customEndDate}}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=await pL(`/admin/audit/log?`+fte({dateQuery:pR.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream}),{label:`audit log`});if(n.stale||t!==this.auditFetchToken)return;if(!n.ok){this.auditLog=c9();return}let r=gte(n.data,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(r.entries)||(r.entries=[]),this.auditLog=r,this.auditExpandedEntries=vte(this.auditExpandedEntries,r.entries);try{await L7.prefetchAuditWorkflows(this.auditLog.entries)}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=c9()}finally{t===this.auditFetchToken&&(this.loading=!1)}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=J7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}markAuditEntryExpanded(e){this.auditExpandedEntries=_te(this.auditExpandedEntries,e)}};ZQ.fetchAuditLog=e=>l9.fetchAuditLog(e),ZQ.isAuditEntryExpanded=e=>l9.isAuditEntryExpanded(e);var Ute=L(`
`);function Wte(e,t){D(t,!0);let n=I$(()=>l9.fetchAuditLog(!0));Nn(()=>n.cancel);var r=Ute(),i=M(r);F$(M(i),{id:`audit-filter-search`,placeholder:`Search by request ID, model, provider, path, user path, or error...`,label:`Search by request ID, model, provider, path, user path, or error`,get oninput(){return n},get value(){return l9.auditSearch},set value(e){l9.auditSearch=e}}),E(i);var a=N(i,2),o=M(a),s=M(o);s.value=s.__value=``;var c=N(s);c.value=c.__value=`GET`;var l=N(c);l.value=l.__value=`POST`;var u=N(l);u.value=u.__value=`PUT`;var d=N(u);d.value=d.__value=`PATCH`;var f=N(d);f.value=f.__value=`DELETE`,E(o);var p=N(o,2),m=M(p);m.value=m.__value=``;var h=N(m);h.value=h.__value=`200`;var g=N(h);g.value=g.__value=`201`;var _=N(g);_.value=_.__value=`400`;var v=N(_);v.value=v.__value=`401`;var y=N(v);y.value=y.__value=`403`;var b=N(y);b.value=b.__value=`404`;var x=N(b);x.value=x.__value=`429`;var S=N(x);S.value=S.__value=`500`;var C=N(S);C.value=C.__value=`502`;var w=N(C);w.value=w.__value=`503`;var T=N(w);T.value=T.__value=`504`,E(p);var ee=N(p,2),te=M(ee);te.value=te.__value=``;var ne=N(te);ne.value=ne.__value=`true`;var re=N(ne);re.value=re.__value=`false`,E(ee);var ie=N(ee,2);G(M(ie),{name:`x`,class:`table-icon-svg`}),We(2),E(ie),E(a),E(r),I(`change`,o,()=>l9.fetchAuditLog(!0)),Vi(o,()=>l9.auditMethod,e=>l9.auditMethod=e),I(`change`,p,()=>l9.fetchAuditLog(!0)),Vi(p,()=>l9.auditStatusCode,e=>l9.auditStatusCode=e),I(`change`,ee,()=>l9.fetchAuditLog(!0)),Vi(ee,()=>l9.auditStream,e=>l9.auditStream=e),I(`click`,ie,()=>l9.clearAuditFilters()),R(e,r),O()}Ur([`change`,`click`]);var Gte=L(` `),Kte=L(``);function qte(e,t){D(t,!0);let n=k(()=>[{key:`provider`,text:cR(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+dR(t.entry),mono:!0},{key:`failover`,text:Q7(t.entry)&&`failover: `+Q7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=Kte(),i=N(M(r),2);V(i,21,()=>F(n),e=>e.key,(e,t)=>{var n=Gte();let r;var i=M(n,!0);E(n),P(()=>{r=H(n,1,`provider-badge ${(F(t).class||``)??``}`,`svelte-hyopt0`,r,{mono:F(t).mono}),z(i,F(t).text)}),R(e,n)}),E(i),E(r),R(e,r),O()}var Jte=new Set([`instructions`,`messages`,`input`,`previous_response_id`,`choices`,`output`]);function u9(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:``).filter(Boolean).join(` -`).trim();if(typeof e==`object`){if(typeof e.text==`string`)return e.text.trim();try{return JSON.stringify(e,null,2)}catch{return``}}return String(e).trim()}function d9(e){if(e==null)return[];if(typeof e==`string`)return e?[e]:[];if(Array.isArray(e))return e.flatMap(e=>typeof e==`string`?e?[e]:[]:!e||typeof e!=`object`?[]:typeof e.text==`string`?e.text?[e.text]:[]:typeof e.output_text==`string`&&e.output_text?[e.output_text]:[]);if(typeof e==`object`)return typeof e.text==`string`&&e.text?[e.text]:[];let t=String(e);return t?[t]:[]}function Yte(e){if(e==null)return[];if(typeof e==`string`){let t=e.trim();return t?[{role:`user`,text:t}]:[]}if(!Array.isArray(e)){let t=u9(e);return t?[{role:`user`,text:t}]:[]}return e.map(e=>{if(!e||typeof e!=`object`)return null;let t=String(e.role||`user`).toLowerCase(),n=u9(e.content);return n?{role:t,text:n}:null}).filter(Boolean)}function Xte(e){return!e||typeof e!=`object`?``:Array.isArray(e.content)?e.content.map(e=>e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` -`).trim():u9(e.content)}function Zte(e){if(!e||typeof e!=`object`)return[];let t=[];return t.push(...d9(e.instructions)),Array.isArray(e.messages)&&e.messages.forEach(e=>{!e||typeof e!=`object`||t.push(...d9(e.content))}),typeof e.input==`string`?t.push(e.input):Array.isArray(e.input)?e.input.forEach(e=>{!e||typeof e!=`object`||(t.push(...d9(e.content)),typeof e.text==`string`&&t.push(e.text))}):e.input&&typeof e.input==`object`&&(t.push(...d9(e.input.content)),typeof e.input.text==`string`&&t.push(e.input.text)),t.map(e=>String(e||``)).filter(e=>e.length>0)}function f9(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function p9(e,t){let n=String(e||``).trim();if(!n)return``;if(t>=4)return n;let r=f9(n);return!r||typeof r!=`object`?n:m9(r,t+1)||u9(r)||n}function m9(e,t=0){let n=new Set,r=[e];for(;r.length>0;){let e=r.shift();if(!e||typeof e!=`object`||n.has(e))continue;if(n.add(e),Array.isArray(e)){for(let t=0;t!e||typeof e!=`object`?!1:e.type===`message`||e.role===`assistant`||e.role===`user`||e.role===`system`?!0:Array.isArray(e.content)?e.content.some(e=>!e||typeof e!=`object`?!1:typeof e.text==`string`||e.type===`output_text`||e.type===`input_text`):!1):!1}function ene(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/embeddings`||t===`/v1/embeddings/`||t.startsWith(`/v1/embeddings?`)||t.startsWith(`/v1/embeddings/`)}function tne(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/chat/completions`||t===`/v1/chat/completions/`||t.startsWith(`/v1/chat/completions?`)||t.startsWith(`/v1/chat/completions/`)||t===`/v1/responses`||t===`/v1/responses/`||t.startsWith(`/v1/responses?`)||t.startsWith(`/v1/responses/`)}function nne(e){let t=e&&e.data?e.data.request_body:null,n=e&&e.data?e.data.response_body:null,r=t&&(Array.isArray(t.messages)||t.input!==void 0||typeof t.instructions==`string`||typeof t.previous_response_id==`string`),i=n&&(Array.isArray(n.choices)||$te(n.output));return!!(r||i)}function rne(e){return!e||ene(e.path)?!1:tne(e.path)||nne(e)}function h9(e){let t=0,n=!1,r=!1,i=String(e||``);for(let e=0;e0&&a+1`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function one(e){return!!(e&&typeof e==`object`&&e.__audio__===!0)}function sne(e){let t=Number(e||0);if(!Number.isFinite(t)||t<=0)return`0 B`;let n=[`B`,`KB`,`MB`,`GB`],r=0,i=t;for(;i>=1024&&r`
`+g9(t)+``+g9(lne(e[t]))+`
`);return t.length?``:``}function dne(e){let t=cne(e.content_type),n=g9(t+` · `+sne(e.bytes)),r=une(e.meta);if(e.stored&&e.encoding===`base64`&&e.data){let i=String(e.data).replace(/[^A-Za-z0-9+/=]/g,``);return`
`+n+`
`+r+`
`}let i=e.too_large?`Audio too large to store.`:`Audio not logged. Set LOGGING_LOG_AUDIO_BODIES=true to capture playable audio.`;return`
`+n+`
`+g9(i)+`
`+r+`
`}function _9(e){try{return JSON.stringify(String(e)).slice(1,-1)}catch{return``}}function fne(e){if(!e||typeof e!=`object`)return null;let t=Number(e.characters||0);if(!Number.isFinite(t)||t<=0)return null;let n=Array.isArray(e.segments)?e.segments.map(e=>String(e||``)).filter(Boolean):[];return n.length===0?null:{remaining:Math.floor(t),segments:n,segmentIndex:0}}function v9(e,t){if(!t||t.remaining<=0||t.segmentIndex>=t.segments.length)return g9(e);let n=``,r=0,i=0;for(;t.remaining>0&&t.segmentIndex`+g9(l)+``,r=s+l.length,i=s+o.length,t.remaining-=c,c>=a.length){t.segmentIndex++;continue}break}return n?n+g9(e.slice(r)):g9(e)}function pne(e,t,n){let r=n&&typeof n.formatJSON==`function`?n.formatJSON:e=>String(e),i=n&&typeof n.canShowConversation==`function`?n.canShowConversation:()=>!1,a=fne(n&&n.promptCacheHighlight),o=r(t);if(!o||o===`Not captured`)return g9(o);if(!i(e))return o.split(` -`).map(e=>v9(e,a)).join(` -`);let s=o.split(` -`),c=[],l=0;for(;lv9(e,a)).join(` -`);c.push(``+o+``),l=r+1;continue}c.push(v9(e,a)),l++}return c.join(` -`)}function mne(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function hne(e){let t=String(e||``).toLowerCase();return t===`system`||t===`developer`?{role:`system`,label:`System Prompt`,className:`role-system`}:t===`assistant`?{role:`assistant`,label:`Agent`,className:`role-assistant`}:t===`error`?{role:`error`,label:`Error`,className:`role-error`}:t===`function_call`?{role:`function_call`,label:`Function Call`,className:`role-function-call`}:t===`function_result`?{role:`function_result`,label:`Function Result`,className:`role-function-result`}:{role:`user`,label:`User`,className:`role-user`}}function y9(e,t,n,r,i,a,o,s){let c=hne(e);return{uid:r+`-`+a,entryID:r,timestamp:n,text:t,role:c.role,roleLabel:c.label,roleClass:c.className,isAnchor:i,toolCalls:Array.isArray(o)&&o.length>0?o:null,functionName:s||``}}function b9(e){return Array.isArray(e)?e.map(e=>{if(!e)return null;let t=e.function||e;return{name:t.name||e.name||``,arguments:t.arguments||e.arguments||``}}).filter(Boolean):[]}function gne(e,t,n){if(t&&Array.isArray(t.messages)&&t.messages.forEach(t=>{!t||!Array.isArray(t.tool_calls)||t.tool_calls.forEach(t=>{if(!t)return;let n=t.id||``,r=(t.function||t).name||t.name||``;n&&r&&(e[n]=r)})}),t&&Array.isArray(t.input)&&t.input.forEach(t=>{if(!t||typeof t!=`object`||t.type!==`function_call`)return;let n=t.id||t.call_id||``,r=t.name||``;n&&r&&(e[n]=r)}),n&&Array.isArray(n.choices)){let t=n.choices[0];t&&t.message&&Array.isArray(t.message.tool_calls)&&t.message.tool_calls.forEach(t=>{if(!t)return;let n=t.id||``,r=(t.function||t).name||t.name||``;n&&r&&(e[n]=r)})}n&&Array.isArray(n.output)&&n.output.forEach(t=>{if(!t||t.type!==`function_call`)return;let n=t.id||t.call_id||``,r=t.name||``;n&&r&&(e[n]=r)})}function _ne(e,t){if(!Array.isArray(e)||e.length===0)return[];let n=[...e].sort((e,t)=>new Date(e.timestamp)-new Date(t.timestamp)),r={};n.forEach(e=>{let t=e.data&&e.data.request_body?e.data.request_body:null,n=e.data&&e.data.response_body?e.data.response_body:null;gne(r,t,n)});let i=[],a=0;return n.forEach(e=>{let n=e.id===t,o=e.timestamp,s=e.data&&e.data.request_body?e.data.request_body:null,c=e.data&&e.data.response_body?e.data.response_body:null;if(s&&typeof s.instructions==`string`&&s.instructions.trim()&&i.push(y9(`system`,s.instructions,o,e.id,n,++a)),s&&Array.isArray(s.messages)&&s.messages.forEach(t=>{if(!t)return;let s=(t.role||`user`).toLowerCase();if(s===`tool`){let s=u9(t.content),c=t.name||r[t.tool_call_id]||``;s&&i.push(y9(`function_result`,s,o,e.id,n,++a,[],c));return}if(s===`assistant`){let r=u9(t.content),c=b9(t.tool_calls);(r||c.length>0)&&i.push(y9(s,r,o,e.id,n,++a,c));return}let c=u9(t.content);c&&i.push(y9(s,c,o,e.id,n,++a))}),s&&s.input!==void 0&&(Array.isArray(s.input)?s.input.forEach(t=>{if(!(!t||typeof t!=`object`)){if(t.type===`function_call_output`){let s=typeof t.output==`string`?t.output:u9(t.output);s&&i.push(y9(`function_result`,s,o,e.id,n,++a,[],r[t.call_id]||``))}else if(t.type===`function_call`)i.push(y9(`function_call`,``,o,e.id,n,++a,[{name:t.name||``,arguments:t.arguments||``}]));else if(t.role){let r=String(t.role).toLowerCase(),s=u9(t.content);s&&i.push(y9(r,s,o,e.id,n,++a))}}}):Yte(s.input).forEach(t=>{t.text&&i.push(y9(t.role,t.text,o,e.id,n,++a))})),c&&Array.isArray(c.choices)){let t=c.choices[0];if(t&&t.message){let r=(t.message.role||`assistant`).toLowerCase(),s=u9(t.message.content),c=b9(t.message.tool_calls);(s||c.length>0)&&i.push(y9(r,s,o,e.id,n,++a,c))}}c&&Array.isArray(c.output)&&c.output.forEach(t=>{if(!t)return;if(t.type===`function_call`){i.push(y9(`function_call`,``,o,e.id,n,++a,[{name:t.name||``,arguments:t.arguments||``}]));return}let r=(t.role||`assistant`).toLowerCase(),s=Xte(t);s&&i.push(y9(r,s,o,e.id,n,++a))});let l=Qte(e);l&&i.push(y9(`error`,l,o,e.id,n,++a))}),i}function vne(e){return e.role===`function_call`?(e.toolCalls||[]).map(function(e){let t=e.arguments||``;try{t=JSON.stringify(JSON.parse(t),null,2)}catch{}return e.name+`(`+t+`)`}).join(` - -`):e.text||``}var x9=new class{#e=A(!1);get conversationOpen(){return F(this.#e)}set conversationOpen(e){j(this.#e,e,!0)}#t=A(!1);get conversationLoading(){return F(this.#t)}set conversationLoading(e){j(this.#t,e,!0)}#n=A(``);get conversationError(){return F(this.#n)}set conversationError(e){j(this.#n,e,!0)}#r=A(``);get conversationAnchorID(){return F(this.#r)}set conversationAnchorID(e){j(this.#r,e,!0)}#i=A(fn([]));get conversationEntries(){return F(this.#i)}set conversationEntries(e){j(this.#i,e,!0)}#a=A(fn([]));get conversationMessages(){return F(this.#a)}set conversationMessages(e){j(this.#a,e,!0)}#o=A(``);get conversationLiveEntryId(){return F(this.#o)}set conversationLiveEntryId(e){j(this.#o,e,!0)}conversationRequestToken=0;conversationReturnFocusEl=null;bodyPointerStart=null;conversationDialogEl=null;conversationCloseBtnEl=null;canShowConversation(e){return rne(e)}startBodyInteraction(e){this.bodyPointerStart={x:e.clientX,y:e.clientY}}_isBodyDrag(e){if(!this.bodyPointerStart)return!1;let t=Math.abs(e.clientX-this.bodyPointerStart.x),n=Math.abs(e.clientY-this.bodyPointerStart.y);return t>4||n>4}_hasActiveSelection(){let e=window.getSelection?window.getSelection():null;return!e||e.isCollapsed?!1:String(e.toString()||``).trim().length>0}handleBodyConversationClick(e,t){let n=this._isBodyDrag(e);if(this.bodyPointerStart=null,n||this._hasActiveSelection()||!this.canShowConversation(t))return;let r=e.target&&e.target.closest?e.target.closest(`[data-conversation-trigger="1"]`):null;r&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,null,!1,r))}handleErrorConversationClick(e,t){let n=this._isBodyDrag(e);this.bodyPointerStart=null,!n&&(this._hasActiveSelection()||this.canShowConversation(t)&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,null,!1,e.currentTarget)))}formatJSON(e){return mne(e)}renderBodyWithConversationHighlights(e,t,n){return pne(e,t,{formatJSON:e=>this.formatJSON(e),canShowConversation:e=>this.canShowConversation(e),promptCacheHighlight:n&&n.promptCacheHighlight})}async openConversation(e,t,n,r){if(!e||!e.id||!this.canShowConversation(e))return;n&&t&&!t.open&&(t.open=!0);let i=document.activeElement instanceof HTMLElement?document.activeElement:null;r instanceof HTMLElement?this.conversationReturnFocusEl=r:i&&i!==document.body&&(this.conversationReturnFocusEl=i);let a=++this.conversationRequestToken;if(this.conversationOpen=!0,this.conversationError=``,this.conversationAnchorID=e.id,this.conversationEntries=[],this.conversationMessages=[],document.body.classList.add(`conversation-drawer-open`),requestAnimationFrame(()=>this._focusConversationDrawer()),this._conversationEntryLivePending(e)){this.conversationLiveEntryId=String(e.id).trim(),this.conversationLoading=!1,this.applyLiveConversationEntry(e);return}this.conversationLiveEntryId=``,this.conversationLoading=!0,await this.fetchConversation(e.id,a)}_conversationEntryLivePending(e){return typeof ZQ.auditEntryLiveDetailPending==`function`&&ZQ.auditEntryLiveDetailPending(e)}applyLiveConversationEntry(e){this.conversationEntries=[e],this.conversationMessages=this.buildConversationMessages([e],e.id)}refreshLiveConversation(e){if(!this.conversationOpen||!this.conversationLiveEntryId||!e||String(e.id||``).trim()!==this.conversationLiveEntryId)return;let t=String(e._live_state||``).trim();if(t===`audit.flushed`||t===`audit.detail`){this.conversationLiveEntryId=``;let t=++this.conversationRequestToken;this.fetchConversation(e.id,t);return}this.applyLiveConversationEntry(e)}conversationLiveWaiting(){if(!this.conversationOpen||!this.conversationLiveEntryId)return!1;let e=(this.conversationEntries||[])[0];return!e||typeof ZQ.liveAuditStateSettled!=`function`||!ZQ.liveAuditStateSettled(e._live_state)}conversationLiveStatusText(){return(this.conversationMessages||[]).length>0?`Model is responding…`:`Waiting for request data…`}closeConversation(){this.conversationOpen=!1,this.conversationRequestToken++,this.conversationLiveEntryId=``,document.body.classList.remove(`conversation-drawer-open`);let e=this.conversationReturnFocusEl;this.conversationReturnFocusEl=null,e&&typeof e.focus==`function`&&document.contains(e)&&requestAnimationFrame(()=>e.focus())}_focusConversationDrawer(){if(!this.conversationOpen)return;let e=this.conversationCloseBtnEl;if(e&&typeof e.focus==`function`){e.focus();return}let t=this.conversationDialogEl;t&&typeof t.focus==`function`&&t.focus()}async fetchConversation(e,t){try{let n=await pL(`/admin/audit/conversation?`+(`log_id=`+encodeURIComponent(e)+`&limit=120`),{label:`audit conversation`});if(t!==this.conversationRequestToken||n.stale)return;if(!n.ok){this.conversationError=`Unable to load interactions.`,this.conversationEntries=[],this.conversationMessages=[];return}let r=n.data||{};this.conversationAnchorID=r.anchor_id||e,this.conversationEntries=Array.isArray(r.entries)?r.entries:[],this.conversationMessages=this.buildConversationMessages(this.conversationEntries,this.conversationAnchorID)}catch(e){if(t!==this.conversationRequestToken)return;console.error(`Failed to fetch audit conversation:`,e),this.conversationError=`Failed to load interactions.`,this.conversationEntries=[],this.conversationMessages=[]}finally{t===this.conversationRequestToken&&(this.conversationLoading=!1)}}buildConversationMessages(e,t){return _ne(e,t)}functionExpandedContent(e){return vne(e)}};ZQ.refreshLiveConversation=e=>x9.refreshLiveConversation(e);var yne=L(` `),bne=L(``),xne=L(` `),Sne=L(``),Cne=L(`
`);function wne(e,t){D(t,!0);function n(e){e.stopPropagation(),e.preventDefault(),x9.openConversation(t.entry,e.currentTarget.closest(`details`),!0,e.currentTarget)}var r=Cne();let i;var a=M(r),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=M(c,!0);E(c);var u=N(c,2),d=e=>{var n=yne(),r=M(n,!0);E(n),P(e=>z(r,e),[()=>fR(t.entry)]),R(e,n)};B(u,e=>{(t.entry.requested_model||t.entry.model)&&e(d)});var f=N(u,2),p=M(f,!0);E(f),E(a);var m=N(a,2),h=M(m),g=e=>{var n=xne(),r=M(n);V(r,21,()=>n9(t.entry),e=>t.entry.id+`-pip-`+e.seq,(e,t)=>{var n=bne();let r;P(e=>{r=H(n,1,`audit-attempt-pip svelte-17mysgz`,null,r,{"audit-attempt-success":!!(F(t)&&F(t).success),"audit-attempt-error":!(F(t)&&F(t).success)}),W(n,`title`,e)},[()=>Tte(F(t))]),R(e,n)}),E(r);var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t,r)=>{W(n,`title`,e),W(n,`aria-label`,t),z(a,r)},[()=>r9(t.entry),()=>r9(t.entry),()=>wte(t.entry)]),R(e,n)},_=k(()=>Cte(t.entry));B(h,e=>{F(_)&&e(g)});var v=N(h,2),y=M(v,!0);E(v);var b=N(v,2),x=M(b,!0);E(b);var S=N(b,2),C=e=>{var t=Sne();I(`click`,t,n),R(e,t)},w=k(()=>x9.canShowConversation(t.entry));B(S,e=>{F(w)&&e(C)}),E(m),E(r),P((e,n,a,c,u)=>{i=H(r,1,`audit-entry-summary svelte-17mysgz`,null,i,e),H(o,1,`audit-status-badge ${n??``}`,`svelte-17mysgz`),z(s,t.entry.status_code||`-`),z(l,t.entry.method||`-`),z(p,t.entry.path||`-`),W(v,`title`,a),z(y,c),z(x,u)},[()=>({"audit-entry-summary-live-in-progress":Z7(t.entry)}),()=>X7(t.entry.status_code),()=>oR(t.entry.timestamp),()=>sL.formatTimestamp(t.entry.timestamp),()=>yte(t.entry.duration_ns)]),R(e,r),O()}Ur([`click`]);var Tne=L(``);function S9(e,t){D(t,!0);let n=ma(t,`label`,3,`Copy`),r=ma(t,`copiedLabel`,3,`Copied`),i=ma(t,`errorLabel`,3,``),a=ma(t,`class`,3,`btn`),o=k(()=>t.state.error&&i()?i():t.state.copied?r():n());var s=Tne();let c;var l=M(s),u=e=>{G(e,{name:`circle-check`,width:`14`,height:`14`,"stroke-width":`2.5`})},d=e=>{G(e,{name:`copy`,width:`14`,height:`14`})};B(l,e=>{t.state.copied?e(u):e(d,-1)});var f=N(l,2),p=M(f,!0);E(f),E(s),P(()=>{c=H(s,1,`copy-feedback-btn ${a()??``}`,null,c,{"copy-feedback-btn-copied":t.state.copied}),z(p,F(o))}),I(`click`,s,e=>{e.preventDefault(),t.onclick?.(e)}),R(e,s),O()}Ur([`click`]);var Ene=L(`
Error Message
 
`),Dne=L(`
 
`),One=L(` `),kne=L(` streaming`),Ane=L(`
Body
`),jne=L(`

`),Mne=L(`

`),Nne=L(`

`),Pne=L(`
`);function Fne(e,t){D(t,!0);let n=e5({logPrefix:`Failed to copy audit payload:`}),r=e5({logPrefix:`Failed to copy audit payload:`}),i=k(()=>t.pane&&t.pane.showHeaders?o9(t.pane.headers):``),a=k(()=>!t.pane||!t.pane.showBody?``:one(t.pane.body)?dne(t.pane.body):x9.renderBodyWithConversationHighlights(t.pane.entry,t.pane.body,{promptCacheHighlight:t.pane.promptCacheHighlight})),o=k(()=>!!(t.pane&&x9.canShowConversation(t.pane.entry)));function s(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),x9.handleErrorConversationClick(e,t.pane.entry))}var c=Pne();let l;var u=M(c),d=e=>{var n=Ene(),r=N(M(n),2);let i;var a=M(r,!0);E(r),E(n),P(()=>{i=H(r,1,`audit-json audit-pane-error-message svelte-1h5puht`,null,i,{"audit-pane-clickable-preview":F(o)}),W(r,`role`,F(o)?`button`:null),W(r,`tabindex`,F(o)?0:null),z(a,t.pane.errorMessage)}),I(`mousedown`,r,e=>x9.startBodyInteraction(e)),I(`keydown`,r,s),I(`click`,r,e=>x9.handleErrorConversationClick(e,t.pane.entry)),R(e,n)};B(u,e=>{t.pane.showErrorMessage&&e(d)});var f=N(u,2),p=e=>{var n=Dne(),a=M(n),o=M(a),s=M(o,!0);E(o),S9(N(o,2),{get state(){return r},label:`Copy Headers`,errorLabel:`Copy failed`,class:`audit-copy-btn`,onclick:()=>r.copy(t.pane.copyHeaders,o9)}),E(a);var c=N(a,2),l=M(c,!0);E(c),E(n),P(()=>{z(s,t.pane.headersTitle||`Headers`),z(l,F(i))}),R(e,n)};B(f,e=>{t.pane.showHeaders&&e(p)});var m=N(f,2),h=e=>{var r=Ane(),i=M(r),o=M(i),s=N(M(o),2),c=e=>{var n=One(),r=M(n,!0);E(n),P(()=>z(r,t.pane.bodyCacheRatioLabel)),R(e,n)};B(s,e=>{t.pane.bodyCacheRatioLabel&&e(c)});var l=N(s,2),u=e=>{R(e,kne())};B(l,e=>{t.pane.streaming&&e(u)}),E(o),S9(N(o,2),{get state(){return n},label:`Copy Body`,errorLabel:`Copy failed`,class:`audit-copy-btn`,onclick:()=>n.copy(t.pane.copyBody,o9)}),E(i);var d=N(i,2);hi(d,()=>F(a),!0),E(d),E(r),I(`mousedown`,d,e=>x9.startBodyInteraction(e)),I(`click`,d,e=>x9.handleBodyConversationClick(e,t.pane.entry)),R(e,r)};B(m,e=>{t.pane.showBody&&e(h)});var g=N(m,2),_=e=>{var n=jne(),r=M(n,!0);E(n),P(()=>z(r,t.pane.emptyMessage)),R(e,n)};B(g,e=>{t.pane.showEmpty&&e(_)});var v=N(g,2),y=e=>{var n=Mne(),r=N(M(n),2),i=M(r,!0);E(r),E(n),P(()=>z(i,t.pane.pendingMessage)),R(e,n)};B(v,e=>{t.pane.showPending&&e(y)});var b=N(v,2),x=e=>{var n=Nne(),r=M(n,!0);E(n),P(()=>z(r,t.pane.tooLargeMessage)),R(e,n)};B(b,e=>{t.pane.showTooLarge&&e(x)}),E(c),P(()=>l=H(c,1,`audit-pane svelte-1h5puht`,null,l,{"audit-pane-split":t.pane&&t.pane.layout===`split`,"audit-pane-split-single":t.pane&&t.pane.layout===`split`&&!(t.pane.showHeaders&&t.pane.showBody)})),R(e,c),O()}Ur([`mousedown`,`keydown`,`click`]);var Ine=L(` `),C9=L(` `),Lne=L(` `),Rne=L(``),zne=L(`
`),Bne=L(`
`);function Vne(e,t){D(t,!0);let n=ma(t,`panes`,19,()=>[]),r=A(null),i=k(()=>Vte(F(r),t.entry)),a=e=>`audit-tab-`+t.entry.id+`-`+e,o=e=>`audit-tabpanel-`+t.entry.id+`-`+e;function s(e,t){let i=n().map(e=>e.id),a=Hte(e.key,i,t);a!=null&&(e.preventDefault(),((e.currentTarget?.closest?.(`.audit-pane-tablist`))?.querySelectorAll(`.audit-pane-tab`)[i.indexOf(a)])?.focus?.(),j(r,a,!0))}var c=Bne(),l=M(c);V(l,21,n,e=>e.id,(e,t)=>{var n=Rne();let c;var l=M(n),u=M(l),d=e=>{G(e,{name:`arrow-right`})},f=e=>{G(e,{name:`arrow-left`})};B(u,e=>{F(t).pane.direction===`request`?e(d):F(t).pane.direction===`response`&&e(f,1)}),E(l);var p=N(l,2),m=M(p,!0);E(p);var h=N(p,2),g=e=>{var n=Ine(),r=M(n);E(n),P(()=>z(r,`#${F(t).pane.seq??``}`)),R(e,n)};B(h,e=>{F(t).pane.seq&&e(g)});var _=N(h,2),v=e=>{var n=C9(),r=M(n,!0);E(n),P(()=>{H(n,1,`provider-badge audit-pane-kind audit-pane-kind-${(F(t).pane.kind||``)??``}`,`svelte-1bc5vi5`),z(r,F(t).pane.kind)}),R(e,n)};B(_,e=>{F(t).pane.kind&&e(v)});var y=N(_,2),b=e=>{var n=Lne(),r=M(n,!0);E(n),P(()=>z(r,F(t).pane.savingsLabel)),R(e,n)};B(y,e=>{F(t).pane.savingsLabel&&e(b)});var x=N(y,2),S=e=>{var n=C9(),r=M(n,!0);E(n),P(e=>{H(n,1,`audit-status-badge ${e??``}`,`svelte-1bc5vi5`),z(r,F(t).pane.statusCode)},[()=>X7(F(t).pane.statusCode)]),R(e,n)};B(x,e=>{F(t).pane.statusCode&&e(S)}),E(n),P((e,r)=>{c=H(n,1,`audit-pane-tab svelte-1bc5vi5`,null,c,{"audit-pane-tab-active":F(i)===F(t).id}),W(n,`aria-selected`,F(i)===F(t).id),W(n,`id`,e),W(n,`aria-controls`,r),W(n,`tabindex`,F(i)===F(t).id?0:-1),H(l,1,`audit-pane-icon audit-pane-icon-${(F(t).pane.direction||``)??``}`,`svelte-1bc5vi5`),z(m,F(t).pane.title)},[()=>a(F(t).id),()=>o(F(t).id)]),I(`keydown`,n,e=>s(e,F(t).id)),I(`click`,n,()=>j(r,F(t).id,!0)),R(e,n)}),E(l),V(N(l,2),17,n,e=>e.id,(e,t)=>{var n=zne();let r;Fne(M(n),{get pane(){return F(t).pane}}),E(n),P((e,a)=>{W(n,`id`,e),W(n,`aria-labelledby`,a),r=Ri(n,``,r,{display:F(i)===F(t).id?null:`none`})},[()=>o(F(t).id),()=>a(F(t).id)]),R(e,n)}),E(c),R(e,c),O()}Ur([`keydown`,`click`]);var Hne=L(`
`),Une=L(`
`);function Wne(e,t){D(t,!0);let n=k(()=>l9.isAuditEntryExpanded(t.entry)),r=k(()=>F(n)?s9(t.entry,Zte):[]),i=k(()=>F(n)?Z5(t.entry,L7.auditEntryWorkflow(t.entry),L7.workflowFeatureCaps()):null);function a(e){let n=e&&e.currentTarget;!n||!n.open||(l9.markAuditEntryExpanded(t.entry),typeof ZQ.fetchAuditEntryDetail==`function`&&ZQ.fetchAuditEntryDetail(t.entry))}var o=Une(),s=M(o);wne(s,{get entry(){return t.entry}});var c=N(s,2),l=e=>{var n=Hne(),a=M(n),o=e=>{p5(e,{get chart(){return F(i)}})};B(a,e=>{F(i)&&e(o)});var s=N(a,2);Vne(s,{get entry(){return t.entry},get panes(){return F(r)}}),qte(N(s,2),{get entry(){return t.entry}}),E(n),R(e,n)};B(c,e=>{F(n)&&e(l)}),E(o),Hr(`toggle`,o,a),R(e,o),O()}var Gne=L(``),Kne=L(`
`),qne=L(`

Loading interactions...

`),Jne=L(`

No interaction data available for this entry.

`),Yne=L(`
 
`),Xne=L(`
 
`),Zne=L(`
`),Qne=L(`
`),$ne=L(`
`,1),ere=L(`
`),tre=L(`
`),nre=L(`
`),rre=L(``),ire=L(`

Interactions

`,1);function are(e,t){D(t,!0);let n=x9;Nn(()=>{if(!n.conversationOpen)return;let e=kr(()=>LI.opened()),t=e=>{e.key===`Escape`&&LI.openCount<=1&&n.closeConversation()};return window.addEventListener(`keydown`,t),()=>{LI.closed(e),window.removeEventListener(`keydown`,t)}});function r(e){return[e.role===`function_call`||e.role===`function_result`?`chat-function-note`:`chat-message`,e.roleClass,e.isAnchor?`is-anchor`:``].filter(Boolean).join(` `)}function i(e){return e.role===`function_call`?(e.toolCalls||[]).map(e=>e.name+`()`).join(`, `):(e.functionName?e.functionName+`: `:``)+e.text}var a=ire(),o=Cn(a),s=e=>{var t=Gne();I(`click`,t,()=>n.closeConversation()),R(e,t)};B(o,e=>{n.conversationOpen&&e(s)});var c=N(o,2);let l;var u=M(c);CL(N(M(u),2),{label:`Close interactions`,onclick:()=>n.closeConversation(),get el(){return n.conversationCloseBtnEl},set el(e){n.conversationCloseBtnEl=e}}),E(u);var d=N(u,2),f=M(d),p=e=>{var t=Kne(),r=M(t,!0);E(t),P(()=>z(r,n.conversationError)),R(e,t)};B(f,e=>{n.conversationError&&e(p)});var m=N(f,2),h=e=>{R(e,qne())};B(m,e=>{n.conversationLoading&&e(h)});var g=N(m,2),_=e=>{R(e,Jne())},v=k(()=>!n.conversationLoading&&!n.conversationError&&n.conversationMessages.length===0&&!n.conversationLiveWaiting());B(g,e=>{F(v)&&e(_)});var y=N(g,2),b=e=>{var t=tre();V(t,21,()=>n.conversationMessages,e=>e.uid,(e,t)=>{var a=ere(),o=M(a),s=e=>{var r=Yne(),a=M(r),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=M(c,!0);E(c),E(a);var u=N(a,2),d=M(u,!0);E(u),E(r),P((e,n)=>{z(s,F(t).roleLabel),z(l,e),z(d,n)},[()=>i(F(t)),()=>n.functionExpandedContent(F(t))]),R(e,r)},c=e=>{var n=$ne(),r=Cn(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(r);var c=N(r,2),l=e=>{var n=Xne(),r=M(n,!0);E(n),P(()=>z(r,F(t).text)),R(e,n)};B(c,e=>{F(t).text&&e(l)});var u=N(c,2),d=e=>{var n=Qne();V(n,23,()=>F(t).toolCalls,(e,t)=>e.name+`-`+t,(e,t)=>{var n=Zne(),r=M(n),i=M(r,!0);E(r),E(n),P(()=>z(i,F(t).name+`()`)),R(e,n)}),E(n),R(e,n)};B(u,e=>{F(t).toolCalls&&e(d)}),P(e=>{z(a,F(t).roleLabel),z(s,e)},[()=>sL.formatTimestamp(F(t).timestamp)]),R(e,n)};B(o,e=>{F(t).role===`function_call`||F(t).role===`function_result`?e(s):e(c,-1)}),E(a),P(e=>H(a,1,e,`svelte-ssrzja`),[()=>ji(r(F(t)))]),R(e,a)}),E(t),R(e,t)};B(y,e=>{n.conversationMessages.length>0&&e(b)});var x=N(y,2),S=e=>{var t=nre(),r=N(M(t),2),i=M(r,!0);E(r),E(t),P(e=>z(i,e),[()=>n.conversationLiveStatusText()]),R(e,t)},C=k(()=>n.conversationLiveWaiting());B(x,e=>{F(C)&&e(S)}),E(d);var w=N(d,2),T=e=>{var t=rre(),r=M(t),i=M(r,!0);E(r),E(t),P(()=>z(i,`Opened from log: `+n.conversationAnchorID)),R(e,t)};B(w,e=>{n.conversationAnchorID&&e(T)}),E(c),da(c,e=>n.conversationDialogEl=e,()=>n?.conversationDialogEl),P(()=>{l=H(c,1,`conversation-drawer`,null,l,{open:n.conversationOpen}),W(c,`aria-hidden`,!n.conversationOpen)}),R(e,a),O()}Ur([`click`]);var w9=L(`

.

`),ore=L(`
Audit logging is off. Live entries are temporary and disappear after - refresh. Set LOGGING_ENABLED=true to persist them.
`),sre=L(`

`),cre=L(`
`),lre=L(`
`),ure=L(`
`),dre=L(`
`);function fre(e,t){D(t,!0);let n=k(()=>_L.config&&_L.config.LOGGING_RETENTION_DAYS);Nn(()=>{if(K.refreshTick,YI.page===`audit-logs`)return kr(()=>r())});function r(){let e=!1;return(async()=>{try{await _L.ensureLoaded()}finally{await l9.fetchAuditLog(!0),!e&&_L.liveLogsVisible()&&ZQ.ensureLiveLogs()}})(),()=>{e=!0,ZQ.stopLiveLogs()}}var i=dre(),a=M(i),o=M(a),s=N(M(o),2),c=e=>{wQ(e,{copyId:`audit-retention-help-copy`,label:`retention help`,text:`If you want to change the retention period, set LOGGING_RETENTION_DAYS (env var) or logging.retention_days (config.yaml) and restart the gateway. Default is 30 days; 0 keeps audit logs forever.`,title:e=>{var t=w9(),r=M(t,!0),i=N(r),a=M(i,!0);E(i),We(),E(t),P((e,t)=>{z(r,e),z(a,t)},[()=>ute(F(n)),()=>dte(F(n))]),R(e,t)},$$slots:{title:!0}})},l=k(()=>q7(F(n)));B(s,e=>{F(l)&&e(c)}),E(o),E(a);var u=N(a,2);NR(M(u),{onchange:()=>l9.fetchAuditLog(!0)}),E(u);var d=N(u,2);XL(d,{});var f=N(d,2),p=e=>{R(e,ore())},m=k(()=>_L.loaded&&!_L.auditVisible()&&!K.needsAuth);B(f,e=>{F(m)&&e(p)});var h=N(f,2),g=M(h);Wte(g,{});var _=N(g,2),v=e=>{var t=sre(),n=M(t);E(t),P(e=>z(n,`Showing ${l9.auditLog.offset+1}-${e??``} of ${l9.auditLog.total??``} logs`),[()=>Math.min(l9.auditLog.offset+l9.auditLog.limit,l9.auditLog.total)]),R(e,t)};B(_,e=>{l9.auditLog.total>0&&e(v)});var y=N(_,2),b=e=>{var t=cre();YZ(M(t),{size:18,label:`Loading audit logs`}),E(t),R(e,t)},x=e=>{var t=lre();V(t,21,()=>l9.auditLog.entries,e=>e.id,(e,t)=>{Wne(e,{get entry(){return F(t)}})}),E(t),R(e,t)};B(y,e=>{l9.loading&&l9.auditLog.entries.length===0?e(b):l9.auditLog.entries.length>0&&e(x,1)});var S=N(y,2),C=e=>{var t=ure();QZ(M(t),{}),E(t),R(e,t)};B(S,e=>{l9.auditLog.entries.length===0&&!l9.loading&&!K.needsAuth&&e(C)}),l1(N(S,2),{get total(){return l9.auditLog.total},get offset(){return l9.auditLog.offset},get limit(){return l9.auditLog.limit},onprev:()=>l9.auditLogPrevPage(),onnext:()=>l9.auditLogNextPage()}),E(h),are(N(h,2),{}),E(i),R(e,i),O()}function T9(e){try{let t=JSON.parse(JSON.stringify(e||{}));return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}catch{return{}}}function E9(e){return Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(e=>e):e==null?[]:String(e).split(`,`).map(e=>e.trim()).filter(e=>e)}function D9(e,t){let n=String(t||``).trim();return(e||[]).find(e=>String(e&&e.type||``).trim()===n)||null}function O9(e){return Array.isArray(e)&&e.length>0&&String(e[0].type||``).trim()||`system_prompt`}function k9(e,t){let n=String(t||``).trim();return n&&D9(e,n)?n:O9(e)}function A9(e,t){let n=D9(e,t);return!n||!n.defaults?{}:T9(n.defaults)}function j9(e,t,n){return{...A9(e,n),...T9(t)}}function M9(e,t){let n=k9(e,t);return{name:``,type:n,description:``,user_path:``,config:A9(e,n)}}function pre(e,t){if(!t)return e||[];let n=String(t).toLowerCase();return(e||[]).filter(e=>[e.name,e.type,e.user_path,e.description,e.summary].some(e=>String(e||``).toLowerCase().includes(n)))}function mre(e,t){let n=D9(e,t);return n&&n.label?n.label:t||`Unknown`}function hre(e,t){let n=D9(e,t);return Array.isArray(n&&n.fields)?n.fields:[]}function N9(e,t){if(!t||!e)return t&&t.input===`checkboxes`?[]:``;let n=e[t.key];return n==null?t.input===`checkboxes`?[]:``:t.input===`checkboxes`?E9(n):n}function P9(e,t,n){if(!t)return e;let r=T9(e);if(t.input===`number`){let e=String(n||``).trim();if(e===``)delete r[t.key];else{let n=Number(e);r[t.key]=Number.isFinite(n)?n:e}}else t.input===`checkboxes`?r[t.key]=E9(n):r[t.key]=n;return r}function gre(e,t,n){return N9(e,t).includes(String(n||``).trim())}function _re(e,t,n,r){let i=E9(N9(e,t)),a=String(n||``).trim();return a?P9(e,t,r?Array.from(new Set([...i,a])):i.filter(e=>e!==a)):e}function vre(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),description:String(e&&e.description||``).trim()||void 0,user_path:String(e&&e.user_path||``).trim()||void 0,config:T9(e&&e.config)}}var F9=new class{#e=A(fn([]));get guardrails(){return F(this.#e)}set guardrails(e){j(this.#e,e,!0)}#t=A(fn([]));get types(){return F(this.#t)}set types(e){j(this.#t,e,!0)}#n=A(!0);get available(){return F(this.#n)}set available(e){j(this.#n,e,!0)}#r=A(!1);get loading(){return F(this.#r)}set loading(e){j(this.#r,e,!0)}#i=A(!1);get typesLoading(){return F(this.#i)}set typesLoading(e){j(this.#i,e,!0)}#a=A(``);get error(){return F(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(``);get filter(){return F(this.#o)}set filter(e){j(this.#o,e,!0)}#s=A(!1);get formOpen(){return F(this.#s)}set formOpen(e){j(this.#s,e,!0)}#c=A(!1);get formSubmitting(){return F(this.#c)}set formSubmitting(e){j(this.#c,e,!0)}#l=A(``);get deletingName(){return F(this.#l)}set deletingName(e){j(this.#l,e,!0)}#u=A(`create`);get formMode(){return F(this.#u)}set formMode(e){j(this.#u,e,!0)}#d=A(``);get formOriginalName(){return F(this.#d)}set formOriginalName(e){j(this.#d,e,!0)}#f=A(fn({name:``,type:``,description:``,user_path:``,config:{}}));get form(){return F(this.#f)}set form(e){j(this.#f,e,!0)}get filtered(){return pre(this.guardrails,this.filter)}typeLabel(e){return mre(this.types,e)}typeFields(e){return hre(this.types,e)}fieldValue(e){return N9(this.form&&this.form.config,e)}setFieldValue(e,t){this.form={...this.form,config:P9(this.form.config,e,t)}}arrayFieldSelected(e,t){return gre(this.form&&this.form.config,e,t)}toggleArrayFieldValue(e,t,n){this.form={...this.form,config:_re(this.form.config,e,t,n)}}openCreate(){this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=M9(this.types,O9(this.types)),this.formOpen=!0}openEdit(e){let t=k9(this.types,e&&e.type);this.formMode=`edit`,this.formOriginalName=String(e&&e.name||``).trim(),this.error=``,this.form={name:this.formOriginalName,type:t,description:String(e&&e.description||``).trim(),user_path:String(e&&e.user_path||``).trim(),config:j9(this.types,e&&e.config,t)},this.formOpen=!0}closeForm(){this.formOpen=!1,this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=M9(this.types,O9(this.types))}changeType(e){let t=k9(this.types,e);this.form={...this.form,type:t,config:A9(this.types,t)}}async fetchTypes(){this.typesLoading=!0;try{let e=await pL(`/admin/guardrails/types`,{label:`guardrail types`});if(e.status===503){this.available=!1,this.types=[];return}if(e.stale)return;if(this.available=!0,!e.ok){this.types=[];return}this.types=Array.isArray(e.data)?e.data:[];let t=k9(this.types,this.form.type);this.form={...this.form,type:t,config:j9(this.types,this.form.config,t)}}catch(e){console.error(`Failed to fetch guardrail types:`,e),this.types=[],this.error=`Unable to load guardrail types.`}finally{this.typesLoading=!1}}async fetchGuardrails(){this.loading=!0,this.error=``;try{let e=await pL(`/admin/guardrails`,{label:`guardrails`});if(e.status===503){this.available=!1,this.guardrails=[];return}if(e.stale)return;if(this.available=!0,!e.ok){this.guardrails=[];return}this.guardrails=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch guardrails:`,e),this.guardrails=[],this.error=`Unable to load guardrails.`}finally{this.loading=!1}}async fetchPage(){await Promise.all([this.fetchTypes(),this.fetchGuardrails()])}async submitForm(){let e=String(this.form.name||``).trim(),t=String(this.form.type||``).trim();if(!e){this.error=`Name is required.`;return}if(!t){this.error=`Type is required.`;return}this.error=``,this.formSubmitting=!0;let n=vre(this.form);try{let t=await mL(`/admin/guardrails`,`PUT`,n,{label:`save guardrail`});if(t.status===503){this.available=!1,this.error=`Guardrails feature is unavailable.`;return}if(t.stale)return;if(!t.ok){if(t.status===401){this.error=`Authentication required.`;return}this.error=cL(t.data,`Failed to save guardrail.`),console.error(`Failed to save guardrail:`,t.status,this.error);return}q.success(`Guardrail "`+e+`" saved.`),this.closeForm(),this.fetchGuardrails()}catch(e){console.error(`Failed to save guardrail:`,e),this.error=`Failed to save guardrail.`}finally{this.formSubmitting=!1}}async deleteGuardrail(e){let t=String(e&&e.name||``).trim();if(!(!t||this.deletingName)&&window.confirm(`Delete guardrail "`+t+`"? Workflows that still reference it must be updated first.`)){this.deletingName=t;try{let e=await mL(`/admin/guardrails`,`DELETE`,{name:t},{label:`delete guardrail`});if(e.status===503){this.available=!1,q.error(`Guardrails feature is unavailable.`);return}if(e.stale)return;if(!e.ok){if(e.status===401){q.error(`Authentication required.`);return}let t=cL(e.data,`Failed to delete guardrail.`);console.error(`Failed to delete guardrail:`,e.status,t),q.error(t);return}q.success(`Guardrail "`+t+`" deleted.`),this.formOpen&&this.formOriginalName===t&&this.closeForm(),this.fetchGuardrails()}catch(e){console.error(`Failed to delete guardrail:`,e),q.error(`Failed to delete guardrail.`)}finally{this.deletingName=``}}}},yre=L(`
`),bre=L(`

Loading guardrails...

`),xre=L(`
`),Sre=L(`
`),Cre=L(`
NameTypeUser PathSummaryActions
`),wre=L(`

No guardrails defined yet.

`),Tre=L(`

Instances

Each instance has a reusable name, a type, an optional user path for - future UI visibility scoping, and a JSON-backed config payload for - that type.

`);function Ere(e,t){D(t,!0);var n=Tre(),r=M(n),i=N(M(r),2);G(M(i),{name:`plus`,class:`form-action-icon`}),We(2),E(i),E(r);var a=N(r,2),o=e=>{var t=yre(),n=M(t);F$(M(n),{id:`guardrail-filter`,placeholder:`Filter by name, type, user path, summary...`,label:`Guardrail filter`,get value(){return F9.filter},set value(e){F9.filter=e}}),E(n),E(t),R(e,t)};B(a,e=>{F9.available&&e(o)});var s=N(a,2),c=e=>{var t=bre();YZ(M(t),{size:16,label:`Loading guardrails`}),We(),E(t),R(e,t)};B(s,e=>{F9.loading&&F9.filtered.length===0&&e(c)});var l=N(s,2),u=e=>{var t=Cre(),n=M(t),r=N(M(n));V(r,21,()=>F9.filtered,e=>e.name,(e,t)=>{var n=Sre(),r=M(n),i=M(r,!0);E(r);var a=N(r),o=M(a),s=M(o,!0);E(o),E(a);var c=N(a),l=M(c,!0);E(c);var u=N(c),d=M(u),f=M(d,!0);E(d);var p=N(d,2),m=e=>{var n=xre(),r=M(n,!0);E(n),P(()=>z(r,F(t).description)),R(e,n)};B(p,e=>{F(t).description&&e(m)}),E(u);var h=N(u),g=M(h),_=M(g);{let e=k(()=>`Edit guardrail `+F(t).name);j1(_,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>F9.openEdit(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var v=N(_,2);{let e=k(()=>(F9.deletingName===F(t).name?`Deleting guardrail `:`Delete guardrail `)+F(t).name),n=k(()=>F9.deletingName===F(t).name);j1(v,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>F9.deleteGuardrail(F(t)),get disabled(){return F(n)},children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(g),E(h),E(n),P(e=>{z(i,F(t).name),z(s,e),z(l,F(t).user_path||`—`),z(f,F(t).summary||F(t).description||`No summary yet.`)},[()=>F9.typeLabel(F(t).type)]),R(e,n)}),E(r),E(n),E(t),R(e,t)};B(l,e=>{F9.filtered.length>0&&e(u)});var d=N(l,2),f=e=>{R(e,wre())};B(d,e=>{F9.filtered.length===0&&!F9.loading&&F9.available&&!F9.error&&!K.authError&&e(f)}),E(n),P(()=>i.disabled=F9.typesLoading||F9.formSubmitting||!F9.available),I(`click`,i,()=>F9.openCreate()),R(e,n),O()}Ur([`click`]);var Dre=L(``),I9=L(``),Ore=L(``),kre=L(``),Are=L(``),jre=L(``),Mre=L(``),Nre=L(`
`),Pre=L(``),Fre=L(` `),Ire=L(`
`),Lre=L(``);function Rre(e,t){D(t,!0);let n=k(()=>F9.formMode===`edit`);function r(){K.dialogOpen||F9.closeForm()}TL(e,{get open(){return F9.formOpen},variant:`editor`,onclose:r,children:(e,t)=>{var r=Lre(),i=M(r),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s),We(2),E(o),CL(N(o,2),{label:`Close guardrail editor`,onclick:()=>F9.closeForm()}),E(a);var l=N(a,2),u=e=>{var t=Dre(),n=M(t,!0);E(t),P(()=>z(n,F9.error)),R(e,t)};B(l,e=>{F9.error&&e(u)});var d=N(l,2),f=M(d),p=N(M(f),2);U(p),E(f);var m=N(f,2),h=N(M(m),2);V(h,21,()=>F9.types,e=>e.type,(e,t)=>{var n=I9(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).type)&&(n.value=(n.__value=F(t).type)??``)}),R(e,n)}),E(h);var g;Bi(h),E(m);var _=N(m,2),v=N(M(_),2);U(v),E(_);var y=N(_,2),b=M(y);wQ(b,{copyId:`guardrail-user-path-help-copy`,label:`guardrail user path help`,text:`Only used for auxiliary rewrite (llm_based_altering) guardrails; ignored for other guardrail types.`,title:e=>{R(e,Ore())},$$slots:{title:!0}});var x=N(b,2);U(x),E(y),V(N(y,2),17,()=>F9.typeFields(F9.form.type),e=>e.key,(e,t)=>{var n=$r(),r=Cn(n),i=e=>{var n=Nre(),r=M(n);{let e=e=>{var n=kre(),r=M(n,!0);E(n),P(()=>{W(n,`for`,`guardrail-field-`+F(t).key),z(r,F(t).label)}),R(e,n)},n=k(()=>`guardrail-field-help-`+F(t).key),i=k(()=>F(t).label+` help`),a=k(()=>F(t).help||``);wQ(r,{get copyId(){return F(n)},get label(){return F(i)},get text(){return F(a)},title:e,$$slots:{title:!0}})}var i=N(r,2),a=e=>{var n=Are();V(n,21,()=>F(t).options||[],e=>e.value,(e,t)=>{var n=I9(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(n);var r;Bi(n),P(e=>{W(n,`id`,`guardrail-field-`+F(t).key),W(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0),r!==(r=e)&&(n.value=(n.__value=e)??``,zi(n,e))},[()=>F9.fieldValue(F(t))]),I(`change`,n,e=>F9.setFieldValue(F(t),e.currentTarget.value)),R(e,n)},o=e=>{var n=jre();pt(n),P(e=>{W(n,`id`,`guardrail-field-`+F(t).key),W(n,`placeholder`,F(t).placeholder||``),Qi(n,e),W(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0)},[()=>F9.fieldValue(F(t))]),I(`input`,n,e=>F9.setFieldValue(F(t),e.currentTarget.value)),R(e,n)},s=e=>{var n=Mre();U(n),P(e=>{W(n,`id`,`guardrail-field-`+F(t).key),W(n,`type`,F(t).input||`text`),W(n,`placeholder`,F(t).placeholder||``),Qi(n,e),W(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0)},[()=>F9.fieldValue(F(t))]),I(`input`,n,e=>F9.setFieldValue(F(t),e.currentTarget.value)),R(e,n)};B(i,e=>{F(t).input===`select`?e(a):F(t).input===`textarea`?e(o,1):e(s,-1)}),E(n),R(e,n)},a=e=>{var n=Ire(),r=M(n),i=M(r,!0);E(r);var a=N(r,2);V(a,21,()=>F(t).options||[],e=>F(t).key+`-`+e.value,(e,n)=>{var r=Pre(),i=M(r);U(i);var a=N(i,2),o=M(a,!0);E(a),E(r),P(e=>{$i(i,e),z(o,F(n).label)},[()=>F9.arrayFieldSelected(F(t),F(n).value)]),I(`change`,i,e=>F9.toggleArrayFieldValue(F(t),F(n).value,e.currentTarget.checked)),R(e,r)}),E(a);var o=N(a,2),s=e=>{var n=Fre(),r=M(n,!0);E(n),P(()=>{W(n,`id`,`guardrail-field-help-`+F(t).key),z(r,F(t).help)}),R(e,n)};B(o,e=>{F(t).help&&e(s)}),E(n),P(()=>{W(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0),z(i,F(t).label)}),R(e,n)};B(r,e=>{F(t).input===`checkboxes`?e(a,-1):e(i)}),R(e,n)}),E(d);var S=N(d,2),C=M(S),w=N(C,2);G(M(w),{name:`save`,class:`form-action-icon`}),We(2),E(w),E(S),E(i),E(r),P(()=>{z(c,F(n)?`Edit Guardrail`:`Create Guardrail`),p.disabled=F(n),W(p,`data-modal-autofocus`,!F(n)||void 0),h.disabled=F(n),g!==(g=F9.form.type)&&(h.value=(h.__value=F9.form.type)??``,zi(h,F9.form.type)),W(v,`data-modal-autofocus`,F(n)?!0:void 0),w.disabled=F9.formSubmitting}),Hr(`submit`,i,e=>{e.preventDefault(),F9.submitForm()}),oa(p,()=>F9.form.name,e=>F9.form.name=e),I(`change`,h,e=>F9.changeType(e.currentTarget.value)),oa(v,()=>F9.form.description,e=>F9.form.description=e),oa(x,()=>F9.form.user_path,e=>F9.form.user_path=e),I(`click`,C,()=>F9.closeForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`change`,`input`,`click`]);var zre=L(`

Guardrails

`),Bre=L(`
Runtime guardrail execution is currently off because GUARDRAILS_ENABLED is disabled. You can still manage - definitions here.
`),Vre=L(`
Guardrails feature is unavailable.
`),Hre=L(`
`),Ure=L(`

Reusable Policy Objects

Guardrail Library

Store guardrails in the database, keep them hot in memory, and attach - them to workflows by reference.

Instances
Types
`);function Wre(e,t){D(t,!0),Nn(()=>{K.refreshTick,YI.page===`guardrails`&&(_L.ensureLoaded(),F9.fetchPage())});var n=Ure(),r=M(n),i=M(r);wQ(M(i),{copyId:`guardrails-help-copy`,label:`guardrails help`,text:`Reusable policy objects stored in the database and kept hot in memory for workflow execution.`,title:e=>{R(e,zre())},$$slots:{title:!0}}),E(i),E(r);var a=N(r,2),o=N(M(a),2),s=M(o),c=N(M(s),2),l=M(c,!0);E(c),E(s);var u=N(s,2),d=N(M(u),2),f=M(d,!0);E(d),E(u),E(o),E(a);var p=N(a,2);XL(p,{});var m=N(p,2),h=e=>{R(e,Bre())},g=k(()=>!_L.guardrailsVisible());B(m,e=>{F(g)&&e(h)});var _=N(m,2),v=e=>{R(e,Vre())};B(_,e=>{!K.authError&&!F9.available&&e(v)});var y=N(_,2),b=e=>{var t=Hre(),n=M(t,!0);E(t),P(()=>z(n,F9.error)),R(e,t)};B(y,e=>{!K.authError&&F9.error&&!F9.formOpen&&e(b)});var x=N(y,2);Rre(x,{}),Ere(N(x,2),{}),E(n),P((e,t)=>{z(l,e),z(f,t)},[()=>QL(F9.guardrails.length),()=>QL(F9.types.length)]),R(e,n),O()}var Z=new class{#e=A(fn([]));get servers(){return F(this.#e)}set servers(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get formSubmitting(){return F(this.#o)}set formSubmitting(e){j(this.#o,e,!0)}#s=A(`create`);get formMode(){return F(this.#s)}set formMode(e){j(this.#s,e,!0)}#c=A(!1);get slugEdited(){return F(this.#c)}set slugEdited(e){j(this.#c,e,!0)}#l=A(!1);get advancedOpen(){return F(this.#l)}set advancedOpen(e){j(this.#l,e,!0)}#u=A(fn(zX()));get form(){return F(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(``);get deletingName(){return F(this.#d)}set deletingName(e){j(this.#d,e,!0)}#f=A(``);get reconnectingName(){return F(this.#f)}set reconnectingName(e){j(this.#f,e,!0)}#p=A(!1);get catalogOpen(){return F(this.#p)}set catalogOpen(e){j(this.#p,e,!0)}#m=A(!1);get catalogLoading(){return F(this.#m)}set catalogLoading(e){j(this.#m,e,!0)}#h=A(``);get catalogError(){return F(this.#h)}set catalogError(e){j(this.#h,e,!0)}#g=A(fn(BX()));get catalog(){return F(this.#g)}set catalog(e){j(this.#g,e,!0)}#_=k(()=>ZX(this.servers,this.filter));get filtered(){return F(this.#_)}set filtered(e){j(this.#_,e)}async fetchServers(){if(await _L.ensureLoaded(),!_L.mcpVisible()){this.available=!1,this.servers=[],this.error=``,this.loading=!1;return}this.loading=!0,this.error=``;try{let e=await pL(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[],e.status!==401&&(this.error=cL(e.data,`Failed to load MCP servers.`));return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[],this.error=`Unable to load MCP servers.`}finally{this.loading=!1}}openCreate(){this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=zX(),this.formOpen=!0}openEdit(e){!e||e.managed||(this.formMode=`edit`,this.slugEdited=!0,this.advancedOpen=!1,this.error=``,this.form=QX(e),this.formOpen=!0)}closeForm(){this.formOpen=!1,this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=zX()}syncSlugFromName(){this.formMode===`create`&&!this.slugEdited&&(this.form.slug=qX(this.form.name))}markSlugEdited(){this.formMode===`create`&&(this.slugEdited=!0)}addHeader(){this.form.headers.push({name:``,value:``})}removeHeader(e){this.form.headers.splice(e,1)}async submitForm(){let e=$X(this.form,this.formMode,this.servers);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await mL(`/admin/mcp-servers`,`PUT`,e.payload,{label:`save mcp server`});if(t.stale)return;if(t.status===503){this.available=!1,this.error=`MCP server management is unavailable.`;return}if(!t.ok){this.error=t.status===401?`Authentication required.`:cL(t.data,`Failed to save MCP server.`);return}q.success(`MCP server "`+e.payload.name+`" saved.`),this.closeForm(),this.fetchServers()}catch(e){console.error(`Failed to save MCP server:`,e),this.error=`Failed to save MCP server.`}finally{this.formSubmitting=!1}}async deleteServer(e){let t=String(e&&e.name||``).trim(),n=VX(e);if(!(!n||this.deletingName||e&&e.managed)&&confirm(`Delete MCP server "`+t+`"? Clients lose access to its tools immediately.`)){this.deletingName=n;try{let e=await mL(`/admin/mcp-servers/`+encodeURIComponent(n),`DELETE`,void 0,{label:`delete mcp server`});if(e.stale)return;if(e.status===503){this.available=!1,q.error(`MCP server management is unavailable.`);return}if(!e.ok){q.error(e.status===401?`Authentication required.`:cL(e.data,`Failed to delete MCP server.`));return}q.success(`MCP server "`+t+`" deleted.`),this.formOpen&&this.form.slug===n&&this.closeForm(),this.fetchServers()}catch(e){console.error(`Failed to delete MCP server:`,e),q.error(`Failed to delete MCP server.`)}finally{this.deletingName=``}}}async reconnectServer(e){let t=String(e&&e.name||``).trim(),n=VX(e);if(!(!n||this.reconnectingName)){this.reconnectingName=n;try{let e=await mL(`/admin/mcp-servers/`+encodeURIComponent(n)+`/reconnect`,`POST`,void 0,{label:`reconnect mcp server`});if(e.stale)return;if(e.status===503){this.available=!1,q.error(`MCP server management is unavailable.`);return}if(!e.ok){q.error(e.status===401?`Authentication required.`:cL(e.data,`Failed to reconnect MCP server.`));return}let r=e.data,i=HX(r);i===`connected`?q.success(`MCP server "`+t+`" reconnected.`):i===`disabled`?q.success(`MCP server "`+t+`" is disabled; no connection was attempted.`):q.error(`Reconnect attempted, but MCP server "`+t+`" is still `+i+`.`),r&&r.name?this.servers=(this.servers||[]).map(e=>VX(e)===VX(r)?r:e):this.fetchServers()}catch(e){console.error(`Failed to reconnect MCP server:`,e),q.error(`Failed to reconnect MCP server.`)}finally{this.reconnectingName=``}}}async openCatalog(e){let t=String(e&&e.name||``).trim(),n=VX(e);if(n){this.catalogOpen=!0,this.catalogLoading=!0,this.catalogError=``,this.catalog={...BX(),server:n,status:HX(e)};try{let e=await pL(`/admin/mcp-servers/`+encodeURIComponent(n)+`/catalog`,{label:`mcp server catalog`});if(e.stale)return;if(e.status===503){this.available=!1,this.catalogError=`MCP server management is unavailable.`;return}if(e.status===404){this.catalogError=`MCP server "`+t+`" was not found.`;return}if(!e.ok){this.catalogError=e.status===401?`Authentication required.`:cL(e.data,`Failed to load MCP server catalog.`);return}this.catalog=eZ(n,e.data)}catch(e){console.error(`Failed to load MCP server catalog:`,e),this.catalogError=`Failed to load MCP server catalog.`}finally{this.catalogLoading=!1}}}closeCatalog(){this.catalogOpen=!1,this.catalogLoading=!1,this.catalogError=``,this.catalog=BX()}},Gre=L(``),Kre=L(`

`),qre=L(`
`),Jre=L(`

`),Yre=L(`
  • `),Xre=L(`

      `),Zre=L(`

      No tools listed — the server may still be connecting or degraded.

      `),Qre=L(` `,1),$re=L(``);function eie(e,t){D(t,!0);let n=k(()=>nZ(Z.catalog));TL(e,{get open(){return Z.catalogOpen},variant:`editor`,onclose:()=>Z.closeCatalog(),children:(e,t)=>{var r=$re(),i=M(r),a=M(i),o=N(M(a),2),s=M(o),c=M(s,!0);E(s);var l=N(s,2),u=M(l,!0);E(l),E(o),E(a),CL(N(a,2),{label:`Close MCP server catalog`,onclick:()=>Z.closeCatalog()}),E(i);var d=N(i,2),f=e=>{k1(e,{label:`Loading catalog...`})},p=e=>{var t=Gre(),n=M(t,!0);E(t),P(()=>z(n,Z.catalogError)),R(e,t)},m=e=>{var t=Qre(),r=Cn(t),i=e=>{var t=Kre(),n=M(t,!0);E(t),P(()=>z(n,Z.catalog.instructions)),R(e,t)};B(r,e=>{Z.catalog.instructions&&e(i)});var a=N(r,2);V(a,17,()=>F(n),e=>e.key,(e,t)=>{var n=Xre(),r=M(n),i=M(r,!0);E(r);var a=N(r,2);V(a,21,()=>F(t).items,e=>e.key,(e,t)=>{var n=Yre(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{var n=qre(),r=M(n,!0);E(n),P(()=>{W(n,`title`,`Exposed on the aggregated /mcp endpoint as `+F(t).aggregated),z(r,F(t).aggregated)}),R(e,n)};B(a,e=>{F(t).aggregated&&e(o)});var s=N(a,2),c=e=>{var n=Jre(),r=M(n,!0);E(n),P(()=>z(r,F(t).description)),R(e,n)};B(s,e=>{F(t).description&&e(c)}),E(n),P(()=>{W(r,`title`,F(t).aggregated||F(t).name),z(i,F(t).name)}),R(e,n)}),E(a),E(n),P(()=>z(i,F(t).title)),R(e,n)});var o=N(a,2),s=e=>{R(e,Zre())},c=k(()=>rZ(Z.catalog));B(o,e=>{F(c)&&e(s)}),R(e,t)};B(d,e=>{Z.catalogLoading?e(f):Z.catalogError?e(p,1):e(m,-1)});var h=N(d,2),g=M(h);E(h),E(r),P((e,t)=>{z(c,Z.catalog.server),H(l,1,`audit-status-badge ${e??``}`,`svelte-1xqrzco`),z(u,t)},[()=>UX(Z.catalog),()=>HX(Z.catalog)]),I(`click`,g,()=>Z.closeCatalog()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var tie=L(``),nie=L(`Derived from the name. You may edit it before saving.`),rie=L(`Immutable because it is used in URLs, scope headers, and aggregated tool names.`),iie=L(`
      `),aie=L(``);function oie(e,t){D(t,!0),TL(e,{get open(){return Z.formOpen},variant:`editor`,onclose:()=>Z.closeForm(),children:(e,t)=>{var n=aie(),r=M(n),i=M(r),a=M(i),o=M(a),s=M(o,!0);E(o),We(2),E(a),CL(N(a,2),{label:`Close MCP server editor`,onclick:()=>Z.closeForm()}),E(i);var c=N(i,2),l=e=>{var t=tie(),n=M(t,!0);E(t),P(()=>z(n,Z.error)),R(e,t)};B(c,e=>{Z.error&&e(l)});var u=N(c,2),d=N(M(u),2);U(d),We(2),E(u);var f=N(u,2),p=N(M(f),2);U(p);var m=N(p,2),h=e=>{R(e,nie())},g=e=>{R(e,rie())};B(m,e=>{Z.formMode===`create`?e(h):e(g,-1)}),E(f);var _=N(f,2),v=N(M(_),2),y=M(v);y.value=y.__value=`http`;var b=N(y);b.value=b.__value=`sse`,E(v),We(2),E(_);var x=N(_,2),S=N(M(x),2);U(S),E(x);var C=N(x,2),w=N(M(C),2);V(w,21,()=>Z.form.headers,oi,(e,t,n)=>{var r=iie(),i=M(r);U(i);var a=N(i,2);U(a),j1(N(a,2),{label:`Remove header`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>Z.removeHeader(n),children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),oa(i,()=>F(t).name,e=>F(t).name=e),oa(a,()=>F(t).value,e=>F(t).value=e),R(e,r)}),E(w);var T=N(w,2),ee=M(T);G(M(ee),{name:`plus`,class:`form-action-icon`}),We(2),E(ee),E(T),We(2),E(C);var te=N(C,2),ne=M(te),re=M(ne);let ie;var ae=N(M(re),2),oe=M(ae,!0);E(ae),E(re),E(ne),E(te);var se=N(te,2),ce=N(M(se),2),le=M(ce),ue=N(M(le),2);U(ue),E(le);var de=N(le,2),fe=N(M(de),2);U(fe),E(de);var pe=N(de,2),me=N(M(pe),2);U(me),E(pe);var he=N(pe,2),ge=N(M(he),2);pt(ge),W(ge,`placeholder`,`/ -/team/alpha`),E(he);var _e=N(he,2),ve=N(M(_e),2);U(ve),E(_e),E(ce),E(se);var ye=N(se,2),be=M(ye),xe=N(be,2),Se=M(xe);G(Se,{name:`save`,class:`form-action-icon`});var Ce=N(Se,2),we=M(Ce,!0);E(Ce),E(xe),E(ye),E(r),E(n),P(()=>{z(s,Z.formMode===`edit`?`Edit MCP Server`:`Add MCP Server`),p.disabled=Z.formMode===`edit`,ie=H(re,1,`alias-toggle`,null,ie,{enabled:Z.form.enabled}),W(re,`aria-label`,(Z.form.enabled?`Disable`:`Enable`)+` MCP server`),z(oe,Z.form.enabled?`Enabled`:`Disabled`),se.open=Z.advancedOpen,xe.disabled=Z.formSubmitting,z(we,Z.formSubmitting?`Saving...`:`Save`)}),Hr(`submit`,r,e=>{e.preventDefault(),Z.submitForm()}),I(`input`,d,()=>Z.syncSlugFromName()),oa(d,()=>Z.form.name,e=>Z.form.name=e),I(`input`,p,()=>Z.markSlugEdited()),oa(p,()=>Z.form.slug,e=>Z.form.slug=e),Vi(v,()=>Z.form.transport,e=>Z.form.transport=e),oa(S,()=>Z.form.url,e=>Z.form.url=e),I(`click`,ee,()=>Z.addHeader()),I(`click`,re,()=>Z.form.enabled=!Z.form.enabled),Hr(`toggle`,se,e=>Z.advancedOpen=e.currentTarget.open),oa(ue,()=>Z.form.description,e=>Z.form.description=e),oa(fe,()=>Z.form.allowed_tools,e=>Z.form.allowed_tools=e),oa(me,()=>Z.form.disallowed_tools,e=>Z.form.disallowed_tools=e),oa(ge,()=>Z.form.user_paths,e=>Z.form.user_paths=e),oa(ve,()=>Z.form.tool_timeout_seconds,e=>Z.form.tool_timeout_seconds=e),I(`click`,be,()=>Z.closeForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`input`,`click`]);var sie=L(`Config`),cie=L(`
      `),lie=L(`
      `),uie=L(`
      NameTransportEndpointStatusToolsEnabledActions
      `);function die(e,t){D(t,!0);function n(e){return WX(e,e=>sL.formatTimestamp(e))}var r=uie(),i=M(r),a=N(M(i));V(a,21,()=>Z.filtered,e=>VX(e),(e,t)=>{var r=lie(),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=e=>{R(e,sie())};B(s,e=>{F(t).managed&&e(c)});var l=N(s,2),u=M(l,!0);E(l),E(i);var d=N(i),f=M(d),p=M(f,!0);E(f),E(d);var m=N(d),h=M(m,!0);E(m);var g=N(m),_=M(g),v=M(_,!0);E(_);var y=N(_,2),b=e=>{var n=cie(),r=M(n,!0);E(n),P(()=>z(r,F(t).last_error)),R(e,n)},x=k(()=>HX(F(t))===`degraded`&&F(t).last_error);B(y,e=>{F(x)&&e(b)}),E(g);var S=N(g),C=M(S),w=M(C,!0);E(C);var T=N(C,2),ee=M(T,!0);E(T),E(S);var te=N(S),ne=M(te),re=M(ne,!0);E(ne),E(te);var ie=N(te),ae=M(ie),oe=M(ae),se=e=>{{let n=k(()=>`Edit MCP server `+F(t).name);j1(e,{get label(){return F(n)},class:`table-icon-btn`,onclick:()=>Z.openEdit(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(oe,e=>{F(t).managed||e(se)});var ce=N(oe,2);{let e=k(()=>`Inspect catalog of MCP server `+F(t).name);j1(ce,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Z.openCatalog(F(t)),children:(e,t)=>{G(e,{name:`list`,class:`form-action-icon`})},$$slots:{default:!0}})}var le=N(ce,2);{let e=k(()=>(Z.reconnectingName===VX(F(t))?`Reconnecting MCP server `:`Reconnect MCP server `)+F(t).name),n=k(()=>Z.reconnectingName===VX(F(t)));j1(le,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Z.reconnectServer(F(t)),get disabled(){return F(n)},children:(e,t)=>{G(e,{name:`refresh-cw`,class:`form-action-icon`})},$$slots:{default:!0}})}var ue=N(le,2),de=e=>{{let n=k(()=>(Z.deletingName===VX(F(t))?`Deleting MCP server `:`Delete MCP server `)+F(t).name),r=k(()=>Z.deletingName===VX(F(t)));j1(e,{get label(){return F(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>Z.deleteServer(F(t)),get disabled(){return F(r)},children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(ue,e=>{F(t).managed||e(de)}),E(ae),E(ie),E(r),P((e,n,r,i,a,s,c,l)=>{z(o,F(t).name),z(u,e),z(p,F(t).transport||`http`),W(m,`title`,n),z(h,r),H(_,1,`audit-status-badge ${i??``}`,`svelte-ah8nrt`),W(_,`title`,a),z(v,s),z(w,c),z(ee,l),H(ne,1,`auth-key-status-badge ${F(t).enabled?`auth-key-status-active`:`auth-key-status-inactive`}`),z(re,F(t).enabled?`Enabled`:`Disabled`)},[()=>VX(F(t)),()=>GX(F(t)),()=>GX(F(t)),()=>UX(F(t)),()=>n(F(t)),()=>HX(F(t)),()=>QL(F(t).tool_count||0),()=>KX(F(t))]),R(e,r)}),E(a),E(i),E(r),R(e,r),O()}var fie=L(`

      MCP Servers

      `),pie=L(``),mie=L(`
      MCP server management is unavailable.
      `),hie=L(``),gie=L(`
      `),_ie=L(`

      No MCP servers yet. Add one here, or declare servers in config.yaml under mcp.servers.

      `),vie=L(`

      No MCP servers match your filter.

      `),yie=L(`
      `);function bie(e,t){D(t,!0),Nn(()=>{K.refreshTick,YI.page===`mcp-servers`&&Z.fetchServers()});var n=yie(),r=M(n),i=M(r);wQ(M(i),{copyId:`mcp-servers-help-copy`,label:`MCP servers help`,text:`Upstream Model Context Protocol servers whose tools, prompts, and resources the gateway exposes to clients. Servers added here connect over HTTP or SSE; stdio servers and rows marked Config are declared in config.yaml under mcp.servers and are read-only in the dashboard. Saved header values are masked in API and dashboard responses.`,title:e=>{R(e,fie())},$$slots:{title:!0}}),E(i);var a=N(i,2),o=M(a),s=e=>{var t=pie();G(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Z.formSubmitting),I(`click`,t,()=>Z.openCreate()),R(e,t)};B(o,e=>{Z.available&&!K.authError&&e(s)}),E(a),E(r);var c=N(r,2),l=e=>{R(e,mie())};B(c,e=>{!Z.available&&!K.authError&&e(l)});var u=N(c,2),d=e=>{var t=hie(),n=M(t,!0);E(t),P(()=>z(n,Z.error)),R(e,t)};B(u,e=>{Z.error&&!K.authError&&!Z.formOpen&&e(d)});var f=N(u,2),p=e=>{k1(e,{label:`Loading MCP servers...`})};B(f,e=>{Z.loading&&!K.authError&&e(p)});var m=N(f,2),h=e=>{var t=gie(),n=M(t);F$(M(n),{id:`mcp-server-filter`,placeholder:`Filter by name, slug, URL, transport, or status...`,label:`Filter MCP servers by name, slug, URL, transport, or status`,get value(){return Z.filter},set value(e){Z.filter=e}}),E(n),E(t),R(e,t)};B(m,e=>{(Z.servers.length>0||Z.filter)&&Z.available&&!K.authError&&e(h)});var g=N(m,2);oie(g,{});var _=N(g,2);eie(_,{});var v=N(_,2),y=e=>{die(e,{})};B(v,e=>{Z.filtered.length>0&&Z.available&&!K.authError&&e(y)});var b=N(v,2),x=e=>{R(e,_ie())};B(b,e=>{Z.servers.length===0&&!Z.filter&&!Z.loading&&!K.authError&&!Z.error&&Z.available&&e(x)});var S=N(b,2),C=e=>{R(e,vie())};B(S,e=>{Z.servers.length>0&&Z.filtered.length===0&&Z.filter&&!Z.loading&&!K.authError&&Z.available&&e(C)}),E(n),R(e,n),O()}Ur([`click`]);function L9(){return{name:``,type:``,api_keys:[],base_url:``,api_version:``,backend:``,auth_type:``,api_mode:``,vertex_project:``,vertex_location:``,service_account_file:``,service_account_json:``,service_account_json_base64:``,gcp_scope:``,models:``,enabled:!0}}function xie(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.type,e.base_url].some(e=>String(e||``).toLowerCase().includes(r)))}function Sie(e,t){let n=Array.isArray(e)?e.slice():[],r=String(t||``).trim();return r&&!n.includes(r)&&n.push(r),n}function Cie(e){let t=Array.isArray(e&&e.api_keys)?e.api_keys.length:0;return t>0?t+` key`+(t===1?``:`s`):String(e&&e.service_account_json||``).trim()||String(e&&e.service_account_json_base64||``).trim()||String(e&&e.service_account_file||``).trim()?`service account`:String(e&&e.vertex_project||``).trim()?`ADC`:`keyless`}function wie(e){let t=Array.isArray(e&&e.models)?e.models:[];return t.length===0?`auto-discovered`:t.length+` model`+(t.length===1?``:`s`)}function Tie(e){return(Array.isArray(e)?e:[]).map(e=>({value:String(e||``)}))}function R9(e){return(Array.isArray(e)?e:[]).map(e=>String(e&&e.value||``))}function Eie(e,t){let n=String(t||``).trim();if(!n)return``;let r=new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.name||``).trim()));if(!r.has(n))return n;let i=1;for(;r.has(n+`-`+i);)i+=1;return n+`-`+i}function Die(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),api_keys:Tie(e&&e.api_keys),base_url:String(e&&e.base_url||``),api_version:String(e&&e.api_version||``),backend:String(e&&e.backend||``),auth_type:String(e&&e.auth_type||``),api_mode:String(e&&e.api_mode||``),vertex_project:String(e&&e.vertex_project||``),vertex_location:String(e&&e.vertex_location||``),service_account_file:String(e&&e.service_account_file||``),service_account_json:String(e&&e.service_account_json||``),service_account_json_base64:String(e&&e.service_account_json_base64||``),gcp_scope:String(e&&e.gcp_scope||``),models:(Array.isArray(e&&e.models)?e.models:[]).join(`, `),enabled:!e||e.enabled!==!1}}function Oie(e,t,n){let r=String(e&&e.name||``).trim(),i=String(e&&e.type||``).trim();return r?i?t===`create`&&(Array.isArray(n)?n:[]).some(e=>String(e&&e.name||``).trim()===r)?`Provider "`+r+`" already exists.`:R9(e&&e.api_keys).some(e=>!e.trim())?`API key rows cannot be empty. Remove the row instead of leaving it blank.`:``:`Type is required.`:`Name is required.`}function kie(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),api_keys:R9(e&&e.api_keys),base_url:String(e&&e.base_url||``).trim(),api_version:String(e&&e.api_version||``).trim(),backend:String(e&&e.backend||``).trim(),auth_type:String(e&&e.auth_type||``).trim(),api_mode:String(e&&e.api_mode||``).trim(),vertex_project:String(e&&e.vertex_project||``).trim(),vertex_location:String(e&&e.vertex_location||``).trim(),service_account_file:String(e&&e.service_account_file||``).trim(),service_account_json:e&&e.service_account_json||``,service_account_json_base64:String(e&&e.service_account_json_base64||``).trim(),gcp_scope:String(e&&e.gcp_scope||``).trim(),models:ZL(e&&e.models),enabled:!!(e&&e.enabled)}}var Q=new class{#e=A(fn([]));get rows(){return F(this.#e)}set rows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get formSubmitting(){return F(this.#o)}set formSubmitting(e){j(this.#o,e,!0)}#s=A(`create`);get formMode(){return F(this.#s)}set formMode(e){j(this.#s,e,!0)}#c=A(!1);get advancedOpen(){return F(this.#c)}set advancedOpen(e){j(this.#c,e,!0)}#l=A(fn(L9()));get form(){return F(this.#l)}set form(e){j(this.#l,e,!0)}#u=A(``);get deletingName(){return F(this.#u)}set deletingName(e){j(this.#u,e,!0)}#d=A(!1);get deleteSubmitting(){return F(this.#d)}set deleteSubmitting(e){j(this.#d,e,!0)}#f=A(fn([]));get types(){return F(this.#f)}set types(e){j(this.#f,e,!0)}#p=A(!1);get typesLoaded(){return F(this.#p)}set typesLoaded(e){j(this.#p,e,!0)}#m=null;get filteredRows(){return xie(this.rows,this.filter)}async fetchTypes(){try{let e=await pL(`/admin/provider-credentials/types`,{label:`provider credential types`});if(e.stale||e.status===503||e.status===404||!e.ok)return;this.types=Array.isArray(e.data)?e.data:[],this.typesLoaded=!0}catch(e){console.error(`Failed to fetch provider credential types:`,e)}}async fetchPage(){this.#m&&this.#m.abort();let e=new AbortController;this.#m=e,this.loading=!0,this.error=``;try{let t=await pL(`/admin/provider-credentials`,{label:`provider credentials`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(t.status===503||t.status===404){this.available=!1,this.rows=[];return}if(this.available=!0,!t.ok){this.rows=[],t.status!==401&&(this.error=cL(t.data,`Failed to load provider credentials.`));return}this.rows=Array.isArray(t.data)?t.data:[],this.typesLoaded||await this.fetchTypes()}catch(e){if(hL(e))return;console.error(`Failed to fetch provider credentials:`,e),this.rows=[],this.error=`Unable to load provider credentials.`}finally{this.#m===e&&(this.#m=null,this.loading=!1)}}openCreate(){this.formMode=`create`,this.advancedOpen=!1,this.error=``,this.form=L9(),this.formOpen=!0,this.typesLoaded||this.fetchTypes()}openEdit(e){!e||e.managed||(this.formMode=`edit`,this.advancedOpen=!1,this.error=``,this.form=Die(e),this.formOpen=!0,this.typesLoaded||this.fetchTypes())}closeForm(){this.formOpen=!1,this.formMode=`create`,this.advancedOpen=!1,this.error=``,this.form=L9()}addApiKeyRow(){this.form.api_keys.push({value:``})}removeApiKeyRow(e){this.form.api_keys.splice(e,1)}#h(){JL.fetchModels(),JL.fetchCategories()}async submitForm(){let e=Oie(this.form,this.formMode,this.rows);if(e){this.error=e;return}let t=kie(this.form);this.error=``,this.formSubmitting=!0;try{let e=await mL(`/admin/provider-credentials`,`PUT`,t,{label:`save provider credential`});if(e.stale)return;if(e.status===503){this.available=!1,this.error=`Provider credential management is unavailable.`;return}if(!e.ok){if(e.status===401){this.error=`Authentication required.`;return}this.error=cL(e.data,`Failed to save provider credential.`);return}q.success(`Provider "`+t.name+`" saved.`),this.closeForm(),this.#h(),this.fetchPage()}catch(e){console.error(`Failed to save provider credential:`,e),this.error=`Failed to save provider credential.`}finally{this.formSubmitting=!1}}async performDelete(e){this.deleteSubmitting=!0,this.deletingName=e;try{let t=await mL(`/admin/provider-credentials/`+encodeURIComponent(e),`DELETE`,void 0,{label:`delete provider credential`});if(t.stale)return;if(t.status===503){this.available=!1,AL.error=`Provider credential management is unavailable.`;return}if(!t.ok){AL.error=t.status===401?`Authentication required.`:cL(t.data,`Failed to delete provider credential.`);return}q.success(`Provider "`+e+`" deleted.`),AL.close(),this.formOpen&&this.form.name===e&&this.closeForm(),this.#h(),this.fetchPage()}catch(e){console.error(`Failed to delete provider credential:`,e),AL.error=`Failed to delete provider credential.`}finally{this.deleteSubmitting=!1,this.deletingName=``}}requestDelete(e){let t=String(e||``).trim();if(!t||this.deleteSubmitting)return;let n=(this.rows||[]).find(e=>String(e&&e.name||``).trim()===t);n&&n.managed||AL.open({title:`Delete Provider`,titleId:`providerCredentialDeleteDialogTitle`,inputId:`provider-credential-delete-confirmation`,message:`Type "`+t+`" to permanently delete this provider credential. Requests routed to it will fail until it is reconfigured.`,requiredText:t,confirmLabel:`Delete Provider`,icon:`trash-2`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.performDelete(t)})}},Aie=L(`Config`),jie=L(` `,1),Mie=L(`
      `),Nie=L(`
      NameTypeBase URLAuthModelsEnabledUpdatedActions
      `);function Pie(e,t){D(t,!0);var n=Nie(),r=M(n),i=N(M(r));V(i,21,()=>Q.filteredRows,e=>e.name,(e,t)=>{var n=Mie(),r=M(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2),s=e=>{R(e,Aie())};B(o,e=>{F(t).managed&&e(s)}),E(r);var c=N(r),l=M(c),u=M(l,!0);E(l),E(c);var d=N(c),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=M(h,!0);E(h);var _=N(h),v=M(_);let y;var b=M(v,!0);E(v),E(_);var x=N(_),S=M(x,!0);E(x);var C=N(x),w=M(C),T=M(w),ee=e=>{var n=jie(),r=Cn(n);{let e=k(()=>`Edit provider `+F(t).name);j1(r,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Q.openEdit(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var i=N(r,2);{let e=k(()=>(Q.deletingName===F(t).name?`Deleting provider `:`Delete provider `)+F(t).name),n=k(()=>Q.deletingName===F(t).name);j1(i,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>Q.requestDelete(F(t).name),get disabled(){return F(n)},children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}R(e,n)};B(T,e=>{F(t).managed||e(ee)}),E(w),E(C),E(n),P((e,n,r)=>{z(a,F(t).name),z(u,F(t).type),W(d,`title`,F(t).base_url||``),z(f,F(t).base_url||`—`),z(m,e),z(g,n),y=H(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":F(t).enabled,"auth-key-status-inactive":!F(t).enabled}),z(b,F(t).enabled?`Enabled`:`Disabled`),z(S,r)},[()=>Cie(F(t)),()=>wie(F(t)),()=>sL.formatTimestamp(F(t).updated_at)]),R(e,n)}),E(i),E(r),E(n),R(e,n),O()}var Fie=L(``),Iie=L(``),Lie=L(`Suggested from the selected type; used to route requests to this provider instance and editable before saving.`),Rie=L(`Immutable once created.`),zie=L(`
      `),Bie=L(``);function Vie(e,t){D(t,!0);let n=k(()=>Sie(Q.types,Q.form.type));function r(){Q.formMode===`create`&&(Q.form.name=Eie(Q.rows,Q.form.type))}TL(e,{get open(){return Q.formOpen},variant:`editor`,onclose:()=>Q.closeForm(),children:(e,t)=>{var i=Bie(),a=M(i),o=M(a),s=M(o),c=M(s),l=M(c,!0);E(c),We(2),E(s),CL(N(s,2),{label:`Close provider editor`,onclick:()=>Q.closeForm()}),E(o);var u=N(o,2),d=e=>{var t=Fie(),n=M(t,!0);E(t),P(()=>z(n,Q.error)),R(e,t)};B(u,e=>{Q.error&&e(d)});var f=N(u,2),p=N(M(f),2),m=M(p);m.value=m.__value=``,V(N(m),16,()=>F(n),e=>e,(e,t)=>{var n=Iie(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(p),We(2),E(f);var h=N(f,2),g=N(M(h),2);U(g);var _=N(g,2),v=e=>{R(e,Lie())},y=e=>{R(e,Rie())};B(_,e=>{Q.formMode===`create`?e(v):e(y,-1)}),E(h);var b=N(h,2),x=N(M(b),2);V(x,21,()=>Q.form.api_keys,oi,(e,t,n)=>{var r=zie(),i=M(r);U(i),W(i,`id`,`provider-credential-api-key-`+n),j1(N(i,2),{label:`Remove API key`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>Q.removeApiKeyRow(n),children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),oa(i,()=>F(t).value,e=>F(t).value=e),R(e,r)}),E(x);var S=N(x,2),C=M(S);G(M(C),{name:`plus`,class:`form-action-icon`}),We(2),E(C),E(S),We(2),E(b);var w=N(b,2),T=M(w),ee=M(T);let te;var ne=N(M(ee),2),re=M(ne,!0);E(ne),E(ee),E(T),E(w);var ie=N(w,2),ae=N(M(ie),2),oe=M(ae),se=N(M(oe),2);U(se),E(oe);var ce=N(oe,2),le=N(M(ce),2);U(le),We(2),E(ce);var ue=N(ce,2),de=N(M(ue),2);U(de),E(ue);var fe=N(ue,2),pe=N(M(fe),2);U(pe),E(fe);var me=N(fe,2),he=N(M(me),2);U(he),E(me);var ge=N(me,2),_e=N(M(ge),2);U(_e),E(ge);var ve=N(ge,2),ye=N(M(ve),2);U(ye),E(ve);var be=N(ve,2),xe=N(M(be),2);U(xe),E(be);var Se=N(be,2),Ce=N(M(Se),2);U(Ce),E(Se);var we=N(Se,2),Te=N(M(we),2);pt(Te),We(2),E(we);var Ee=N(we,2),De=N(M(Ee),2);U(De),We(2),E(Ee);var Oe=N(Ee,2),ke=N(M(Oe),2);U(ke),E(Oe),E(ae),E(ie);var Ae=N(ie,2),je=M(Ae),Me=N(je,2),Ne=M(Me);G(Ne,{name:`save`,class:`form-action-icon`});var Pe=N(Ne,2),Fe=M(Pe,!0);E(Pe),E(Me),E(Ae),E(a),E(i),P(()=>{z(l,Q.formMode===`edit`?`Edit Provider`:`Add Provider`),p.disabled=Q.formMode===`edit`,g.disabled=Q.formMode===`edit`,te=H(ee,1,`alias-toggle`,null,te,{enabled:Q.form.enabled}),W(ee,`aria-label`,(Q.form.enabled?`Disable`:`Enable`)+` provider`),z(re,Q.form.enabled?`Enabled`:`Disabled`),ie.open=Q.advancedOpen,Me.disabled=Q.formSubmitting,z(Fe,Q.formSubmitting?`Saving...`:`Save`)}),Hr(`submit`,a,e=>{e.preventDefault(),Q.submitForm()}),I(`change`,p,r),Vi(p,()=>Q.form.type,e=>Q.form.type=e),oa(g,()=>Q.form.name,e=>Q.form.name=e),I(`click`,C,()=>Q.addApiKeyRow()),I(`click`,ee,()=>Q.form.enabled=!Q.form.enabled),Hr(`toggle`,ie,e=>Q.advancedOpen=e.currentTarget.open),oa(se,()=>Q.form.base_url,e=>Q.form.base_url=e),oa(le,()=>Q.form.models,e=>Q.form.models=e),oa(de,()=>Q.form.api_version,e=>Q.form.api_version=e),oa(pe,()=>Q.form.backend,e=>Q.form.backend=e),oa(he,()=>Q.form.auth_type,e=>Q.form.auth_type=e),oa(_e,()=>Q.form.api_mode,e=>Q.form.api_mode=e),oa(ye,()=>Q.form.vertex_project,e=>Q.form.vertex_project=e),oa(xe,()=>Q.form.vertex_location,e=>Q.form.vertex_location=e),oa(Ce,()=>Q.form.service_account_file,e=>Q.form.service_account_file=e),oa(Te,()=>Q.form.service_account_json,e=>Q.form.service_account_json=e),oa(De,()=>Q.form.service_account_json_base64,e=>Q.form.service_account_json_base64=e),oa(ke,()=>Q.form.gcp_scope,e=>Q.form.gcp_scope=e),I(`click`,je,()=>Q.closeForm()),R(e,i)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var Hie=L(`

      Providers

      `),Uie=L(``),Wie=L(`
      Provider credential management is unavailable.
      `),Gie=L(``),Kie=L(`
      `),qie=L(`

      No dashboard-managed providers yet. Add one here, or declare providers in config.yaml / environment variables.

      `),Jie=L(`

      No providers match your filter.

      `),Yie=L(`
      `);function Xie(e,t){D(t,!0),Nn(()=>{K.refreshTick,YI.page===`providers-config`&&Q.fetchPage()});var n=Yie(),r=M(n),i=M(r);wQ(M(i),{copyId:`providers-config-help-copy`,label:`model providers help`,title:e=>{R(e,Hie())},help:e=>{We(),R(e,Qr(`Configure LLM provider credentials here instead of setting API keys as - environment variables. Providers declared in config.yaml or env vars - are read-only (Config badge) and cannot be edited or deleted from the - dashboard. Keys are masked after saving.`))},$$slots:{title:!0,help:!0}}),E(i);var a=N(i,2),o=M(a),s=e=>{var t=Uie();G(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Q.formSubmitting),I(`click`,t,()=>Q.openCreate()),R(e,t)};B(o,e=>{Q.available&&!K.needsAuth&&e(s)}),E(a),E(r);var c=N(r,2),l=e=>{R(e,Wie())};B(c,e=>{!Q.available&&!K.needsAuth&&e(l)});var u=N(c,2),d=e=>{var t=Gie(),n=M(t,!0);E(t),P(()=>z(n,Q.error)),R(e,t)};B(u,e=>{Q.error&&!K.needsAuth&&!Q.formOpen&&e(d)});var f=N(u,2),p=e=>{k1(e,{label:`Loading providers...`})};B(f,e=>{Q.loading&&!K.needsAuth&&e(p)});var m=N(f,2),h=e=>{var t=Kie(),n=M(t);F$(M(n),{id:`provider-credential-filter`,placeholder:`Filter by name, type, or base URL...`,label:`Filter providers by name, type, or base URL`,get value(){return Q.filter},set value(e){Q.filter=e}}),E(n),E(t),R(e,t)};B(m,e=>{(Q.rows.length>0||Q.filter)&&Q.available&&!K.needsAuth&&e(h)});var g=N(m,2);Vie(g,{});var _=N(g,2),v=e=>{Pie(e,{})};B(_,e=>{Q.filteredRows.length>0&&Q.available&&!K.needsAuth&&e(v)});var y=N(_,2),b=e=>{R(e,qie())};B(y,e=>{Q.rows.length===0&&!Q.filter&&!Q.loading&&!K.needsAuth&&!Q.error&&Q.available&&e(b)});var x=N(y,2),S=e=>{R(e,Jie())};B(x,e=>{Q.rows.length>0&&Q.filteredRows.length===0&&Q.filter&&!Q.loading&&!K.needsAuth&&Q.available&&e(S)}),E(n),R(e,n),O()}Ur([`click`]);function z9(){return{name:``,description:``,user_path:``,labels:``,dashboard_access:!1,expires_at:``}}function B9(e){let t=[];for(let n of String(e||``).split(`,`)){let e=n.trim();e&&!t.includes(e)&&t.push(e)}return t}function V9(e){let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t;for(let e of n.split(`/`)){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function Zie(e){if(V9(e))return``;let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t,r=[];for(let e of n.split(`/`)){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function Qie(e){let t=e||{},n=String(t.name||``).trim();if(!n)return{error:`Name is required.`};let r=V9(t.user_path);if(r)return{error:r};let i=Zie(t.user_path),a=B9(t.labels),o={name:n,description:String(t.description||``).trim()||void 0,user_path:i||void 0,labels:a.length?a:void 0,dashboard_access:t.dashboard_access?!0:void 0};return t.expires_at&&(o.expires_at=t.expires_at+`T23:59:59Z`),{payload:o}}function H9(e,t=Date.now()){let n=e&&e.expires_at;if(!n)return!1;let r=Date.parse(n);return Number.isFinite(r)&&r<=t}function U9(e){return e?!!e.deactivated_at||e.enabled===!1:!1}function W9(e,t=Date.now()){return!e||e.active===!1||U9(e)?!1:!H9(e,t)}function $ie(e){return[e.name,e.description,e.user_path,e.redacted_value,...e.labels||[]].filter(Boolean).join(` `).toLowerCase()}function eae(e,t={}){let{query:n=``,showInactive:r=!1,now:i=Date.now()}=t,a=String(n||``).trim().toLowerCase();return(Array.isArray(e)?e:[]).filter(e=>!r&&!W9(e,i)?!1:!a||$ie(e).includes(a))}function G9(e,t){return U9(e)?2:+!W9(e,t)}function K9(e){let t=e&&e.expires_at;if(!t)return 1/0;let n=Date.parse(t);return Number.isFinite(n)?n:1/0}function q9(e){let t=Date.parse(e&&e.deactivated_at||``);return Number.isFinite(t)?t:-1/0}function tae(e,t=Date.now()){return(Array.isArray(e)?e.slice():[]).sort((e,n)=>{let r=G9(e,t),i=G9(n,t);if(r!==i)return r-i;let[a,o]=r===2?[q9(e),q9(n)]:[K9(e),K9(n)];return a===o?String(e.name||``).localeCompare(String(n.name||``)):a>o?-1:1})}function nae(e,t=Date.now()){return(Array.isArray(e)?e:[]).reduce((e,n)=>e+ +!W9(n,t),0)}function J9(){return{open:!1,id:``,name:``,value:``,submitting:!1,error:``}}var $=new class{#e=A(fn([]));get keys(){return F(this.#e)}set keys(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get showInactive(){return F(this.#a)}set showInactive(e){j(this.#a,e,!0)}#o=k(()=>tae(eae(this.keys,{query:this.filter,showInactive:this.showInactive})));get visibleKeys(){return F(this.#o)}set visibleKeys(e){j(this.#o,e)}#s=k(()=>nae(this.keys));get inactiveCount(){return F(this.#s)}set inactiveCount(e){j(this.#s,e)}#c=A(!1);get formOpen(){return F(this.#c)}set formOpen(e){j(this.#c,e,!0)}#l=A(!1);get formSubmitting(){return F(this.#l)}set formSubmitting(e){j(this.#l,e,!0)}#u=A(``);get issuedValue(){return F(this.#u)}set issuedValue(e){j(this.#u,e,!0)}#d=A(``);get deactivatingID(){return F(this.#d)}set deactivatingID(e){j(this.#d,e,!0)}#f=A(``);get dashboardAccessID(){return F(this.#f)}set dashboardAccessID(e){j(this.#f,e,!0)}#p=A(fn(z9()));get form(){return F(this.#p)}set form(e){j(this.#p,e,!0)}#m=A(fn(J9()));get labelsEditor(){return F(this.#m)}set labelsEditor(e){j(this.#m,e,!0)}copyState=e5({logPrefix:`Failed to copy auth key:`});async fetchKeys(){this.loading=!0,this.error=``;try{let e=await pL(`/admin/auth-keys`,{label:`auth keys`});if(e.status===503){this.available=!1,this.keys=[];return}if(e.stale)return;if(this.available=!0,!e.ok){e.status!==401&&(this.error=cL(e.data,`Unable to load API keys.`));return}this.keys=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch auth keys:`,e),this.keys=[],this.error=`Unable to load API keys.`}finally{this.loading=!1}}openForm(){this.formSubmitting||this.formOpen||(this.formOpen=!0,this.error=``,this.issuedValue||(this.copyState.reset(),this.form=z9()))}closeForm(){this.formOpen&&(this.formOpen=!1,this.error=``,this.copyState.reset(),!this.formSubmitting&&!this.issuedValue&&(this.form=z9()))}copyIssuedValue(){return this.copyState.copy(this.issuedValue)}dismissIssuedKey(){this.issuedValue=``,this.copyState.reset(),this.form=z9()}async submitForm(){let e=Qie(this.form);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await mL(`/admin/auth-keys`,`POST`,e.payload,{label:`create API key`});if(t.status===503){this.available=!1,this.error=`Auth keys feature is unavailable.`;return}if(t.stale)return;if(!t.ok){if(t.status===401){this.error=`Authentication required.`;return}this.error=cL(t.data,`Failed to create API key.`),console.error(`Failed to create API key:`,t.status,this.error);return}let n=t.data||{};this.issuedValue=n.value||``,this.formOpen=!0,this.copyState.reset(),this.form=z9(),this.fetchKeys()}catch(e){console.error(`Failed to issue auth key:`,e),this.error=`Failed to create API key.`}finally{this.formSubmitting=!1}}openLabelsEditor(e){!e||this.labelsEditor.submitting||(this.labelsEditor={open:!0,id:e.id,name:e.name||``,value:(e.labels||[]).join(`, `),submitting:!1,error:``})}closeLabelsEditor(){!this.labelsEditor.open||this.labelsEditor.submitting||(this.labelsEditor=J9())}async submitLabelsEditor(){let e=this.labelsEditor;if(!e.open||e.submitting||!e.id)return;e.submitting=!0,e.error=``;let t={labels:B9(e.value)};try{let n=await mL(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/labels`,`PUT`,t,{label:`update API key labels`});if(n.status===503){this.available=!1,e.error=`Auth keys feature is unavailable.`;return}if(n.stale)return;if(!n.ok){if(n.status===401){e.error=`Authentication required.`;return}e.error=cL(n.data,`Failed to update labels.`),console.error(`Failed to update auth key labels:`,n.status,e.error);return}q.success(`Labels updated for key "`+e.name+`".`),e.submitting=!1,this.closeLabelsEditor(),this.fetchKeys()}catch(t){console.error(`Failed to update auth key labels:`,t),e.error=`Failed to update labels.`}finally{e.submitting=!1}}async toggleDashboardAccess(e){if(!e||!e.active||this.dashboardAccessID)return;let t=!e.dashboard_access;this.dashboardAccessID=e.id;try{let n=await mL(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/dashboard-access`,`PUT`,{dashboard_access:t},{label:`update API key dashboard access`});if(n.status===503){this.available=!1,q.error(`Auth keys feature is unavailable.`);return}if(n.stale)return;if(!n.ok){if(n.status===401){q.error(`Authentication required.`);return}let e=cL(n.data,`Failed to update dashboard access.`);console.error(`Failed to update auth key dashboard access:`,n.status,e),q.error(e);return}q.success(`Dashboard access `+(t?`granted to`:`revoked for`)+` key "`+e.name+`".`),this.fetchKeys()}catch(e){console.error(`Failed to update auth key dashboard access:`,e),q.error(`Failed to update dashboard access.`)}finally{this.dashboardAccessID=``}}async deactivateKey(e){if(!(!e||!e.active)&&window.confirm(`Deactivate key "`+e.name+`"? This cannot be undone.`)){this.deactivatingID=e.id;try{let t=await mL(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/deactivate`,`POST`,void 0,{label:`deactivate API key`});if(t.status===503){this.available=!1,q.error(`Auth keys feature is unavailable.`);return}if(t.stale)return;if(!t.ok){if(t.status===401){q.error(`Authentication required.`);return}let e=cL(t.data,`Failed to deactivate key.`);console.error(`Failed to deactivate auth key:`,t.status,e),q.error(e);return}q.success(`Key "`+e.name+`" deactivated.`),this.fetchKeys()}catch(e){console.error(`Failed to deactivate auth key:`,e),q.error(`Failed to deactivate key.`)}finally{this.deactivatingID=``}}}},rae=L(``),iae=L(`

      Store this key securely — it won’t be shown again.

      `),aae=L(``),oae=L(``),sae=L(``),cae=L(``),lae=L(``),uae=L(`
      `),dae=L(``);function fae(e,t){D(t,!0);function n(){K.dialogOpen||$.closeForm()}function r(e){e.preventDefault(),$.submitForm()}TL(e,{get open(){return $.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=dae(),i=M(n),a=M(i);CL(N(M(a),2),{label:`Close`,onclick:()=>$.closeForm()}),E(a);var o=N(a,2),s=e=>{var t=iae(),n=N(M(t),2),r=M(n),i=M(r,!0);E(r),S9(N(r,2),{get state(){return $.copyState},onclick:()=>$.copyIssuedValue()}),E(n);var a=N(n,2),o=e=>{R(e,rae())};B(a,e=>{$.copyState.error&&e(o)});var s=N(a,2),c=M(s);E(s),E(t),P(()=>z(i,$.issuedValue)),I(`click`,c,()=>$.dismissIssuedKey()),R(e,t)},c=e=>{var t=uae(),n=M(t),r=M(n),i=N(M(r),2);U(i),E(r);var a=N(r,2),o=N(M(a),2);U(o),E(a),E(n);var s=N(n,2),c=M(s);wQ(c,{copyId:`auth-key-user-path-help-copy`,label:`API key user path help`,title:e=>{R(e,aae())},help:e=>{We(),R(e,Qr(`When set, this key overrides the configured user path request - header for audit logging and downstream request context.`))},$$slots:{title:!0,help:!0}});var l=N(c,2);U(l),E(s);var u=N(s,2),d=M(u);wQ(d,{copyId:`auth-key-labels-help-copy`,label:`API key labels help`,title:e=>{R(e,oae())},help:e=>{We(),R(e,Qr(`Every request authenticated with this key gets these labels, in - addition to any labels from tagging headers. Labels show up in - usage analytics, the request log, and audit logs.`))},$$slots:{title:!0,help:!0}});var f=N(d,2);U(f),E(u);var p=N(u,2),m=M(p);wQ(m,{copyId:`auth-key-dashboard-access-help-copy`,label:`API key dashboard access help`,title:e=>{R(e,sae())},help:e=>{We(),R(e,Qr(`When off, this key is denied the dashboard and every /admin API - endpoint. Model endpoints and GET /v1/usage stay available to - the key. The master key always has dashboard access.`))},$$slots:{title:!0,help:!0}});var h=N(m,2),g=M(h);U(g),We(2),E(h),E(p);var _=N(p,2),v=N(M(_),2);pt(v),E(_);var y=N(_,2),b=e=>{var t=cae(),n=M(t,!0);E(t),P(()=>z(n,$.error)),R(e,t)};B(y,e=>{$.error&&e(b)});var x=N(y,2),S=M(x),C=M(S),w=e=>{var t=lae();G(M(t),{name:`plus`,class:`table-icon-svg`}),E(t),R(e,t)};B(C,e=>{$.formSubmitting||e(w)});var T=N(C,2),ee=M(T,!0);E(T),E(S),E(x),E(t),P(()=>{S.disabled=$.formSubmitting,z(ee,$.formSubmitting?`Creating...`:`Create API Key`)}),oa(i,()=>$.form.name,e=>$.form.name=e),oa(o,()=>$.form.expires_at,e=>$.form.expires_at=e),oa(l,()=>$.form.user_path,e=>$.form.user_path=e),oa(f,()=>$.form.labels,e=>$.form.labels=e),sa(g,()=>$.form.dashboard_access,e=>$.form.dashboard_access=e),oa(v,()=>$.form.description,e=>$.form.description=e),R(e,t)};B(o,e=>{$.issuedValue?e(s):e(c,-1)}),E(i),E(n),Hr(`submit`,i,r),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var pae=L(``),mae=L(``);function hae(e,t){D(t,!0);function n(e){e.preventDefault(),$.submitLabelsEditor()}TL(e,{get open(){return $.labelsEditor.open},variant:`editor`,onclose:()=>$.closeLabelsEditor(),children:(e,t)=>{var r=mae(),i=M(r),a=M(i),o=M(a),s=N(M(o),2),c=M(s,!0);E(s),E(o),CL(N(o,2),{label:`Close`,onclick:()=>$.closeLabelsEditor()}),E(a);var l=N(a,2),u=N(M(l),2);U(u),We(2),E(l);var d=N(l,2),f=e=>{var t=pae(),n=M(t,!0);E(t),P(()=>z(n,$.labelsEditor.error)),R(e,t)};B(d,e=>{$.labelsEditor.error&&e(f)});var p=N(d,2),m=M(p),h=M(m,!0);E(m),E(p),E(i),E(r),P(()=>{z(c,$.labelsEditor.name),m.disabled=$.labelsEditor.submitting,z(h,$.labelsEditor.submitting?`Saving...`:`Save Labels`)}),Hr(`submit`,i,n),oa(u,()=>$.labelsEditor.value,e=>$.labelsEditor.value=e),R(e,r)},$$slots:{default:!0}}),O()}var gae=L(` `),_ae=L(`
      `),vae=L(``),yae=L(`Expired`),bae=L(` `),xae=L(` `,1),Sae=L(`Deactivated`),Cae=L(`
      `),wae=L(`
      NameDescriptionUser PathLabelsTokenDashboard Access ExpiresCreated
      `);function Tae(e,t){D(t,!0);var n=wae(),r=M(n),i=M(r),a=M(i),o=N(M(a),5),s=M(o);G(N(M(s)),{name:`info`,width:`13`,height:`13`}),E(s),E(o),We(3),E(a),E(i);var c=N(i);V(c,21,()=>$.visibleKeys,e=>e.id,(e,t)=>{var n=Cae();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i),s=M(o,!0);E(o);var c=N(o),l=M(c,!0);E(c);var u=N(c),d=M(u),f=e=>{var n=_ae();V(n,20,()=>F(t).labels||[],e=>e,(e,t)=>{var n=gae(),r=M(n,!0);E(n),P(e=>{Ri(n,e),z(r,t)},[()=>yY(t)]),R(e,n)}),E(n),R(e,n)},p=e=>{R(e,vae())};B(d,e=>{(F(t).labels||[]).length>0?e(f):e(p,-1)}),E(u);var m=N(u),h=M(m),g=M(h,!0);E(h),E(m);var _=N(m),v=M(_);let y;var b=M(v,!0);E(v),E(_);var x=N(_),S=M(x),C=e=>{var n=bae(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{R(e,yae())},s=k(()=>H9(F(t)));B(a,e=>{F(s)&&e(o)}),E(n),P(e=>z(i,e),[()=>aR(F(t).expires_at)]),R(e,n)},w=e=>{R(e,Qr(`—`))};B(S,e=>{F(t).expires_at?e(C):e(w,-1)}),E(x);var T=N(x),ee=M(T,!0);E(T);var te=N(T),ne=M(te),re=M(ne),ie=e=>{var n=xae(),r=Cn(n);{let e=k(()=>(F(t).dashboard_access?`Revoke dashboard access for API key `:`Grant dashboard access to API key `)+F(t).name),n=k(()=>!!$.dashboardAccessID);j1(r,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>$.toggleDashboardAccess(F(t)),get disabled(){return F(n)},children:(e,n)=>{{let n=k(()=>F(t).dashboard_access?`shield-off`:`shield-check`);G(e,{get name(){return F(n)},class:`table-icon-svg`})}},$$slots:{default:!0}})}var i=N(r,2);{let e=k(()=>`Edit labels for API key `+F(t).name);j1(i,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>$.openLabelsEditor(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var a=N(i,2);{let e=k(()=>($.deactivatingID===F(t).id?`Deactivating API key `:`Deactivate API key `)+F(t).name),n=k(()=>$.deactivatingID===F(t).id);j1(a,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>$.deactivateKey(F(t)),get disabled(){return F(n)},children:(e,t)=>{G(e,{name:`power`,class:`table-icon-svg`})},$$slots:{default:!0}})}R(e,n)},ae=e=>{var n=Sae();P(e=>W(n,`title`,e),[()=>F(t).deactivated_at?`Deactivated on `+oR(F(t).deactivated_at):`Deactivated`]),R(e,n)},oe=k(()=>U9(F(t)));B(re,e=>{F(t).active?e(ie):F(oe)&&e(ae,1)}),E(ne),E(te),E(n),P((e,i,o)=>{r=H(n,1,`svelte-nf0ldb`,null,r,e),z(a,F(t).name),z(s,F(t).description||`—`),z(l,F(t).user_path||`—`),z(g,F(t).redacted_value),y=H(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":F(t).dashboard_access,"auth-key-status-inactive":!F(t).dashboard_access}),z(b,F(t).dashboard_access?`Allowed`:`Denied`),W(x,`title`,i),z(ee,o)},[()=>({"auth-key-row-deactivated":U9(F(t))}),()=>F(t).expires_at?oR(F(t).expires_at):``,()=>sL.formatTimestamp(F(t).created_at)]),R(e,n)}),E(c),E(r),E(n),R(e,n),O()}var Eae=L(``),Dae=L(`
      API key management is unavailable.
      `),Oae=L(``),kae=L(`

      Managed API keys authenticate requests to the gateway. Deactivation is - permanent — create a new key if access needs to be restored.

      `),Aae=L(`
      `),jae=L(`
      `),Mae=L(`

      `),Nae=L(`

      No API keys yet. Issue a key to get started.

      `),Pae=L(`
      `);function Fae(e,t){D(t,!0),Nn(()=>{K.refreshTick,YI.page===`auth-keys`&&$.fetchKeys()});var n=Pae(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=Eae();G(M(t),{name:`plus`,class:`table-icon-svg`}),We(2),E(t),P(()=>t.disabled=$.formSubmitting),I(`click`,t,()=>{$.formSubmitting||$.openForm()}),R(e,t)};B(a,e=>{$.available&&!K.authError&&e(o)}),E(i),E(r);var s=N(r,2),c=e=>{R(e,Dae())};B(s,e=>{!$.available&&!K.authError&&e(c)});var l=N(s,2),u=e=>{var t=Oae(),n=M(t,!0);E(t),P(()=>z(n,$.error)),R(e,t)};B(l,e=>{$.error&&!K.authError&&!$.formOpen&&e(u)});var d=N(l,2),f=e=>{R(e,kae())};B(d,e=>{$.available&&!K.authError&&e(f)});var p=N(d,2);fae(p,{});var m=N(p,2);hae(m,{});var h=N(m,2),g=e=>{var t=Aae();YZ(M(t),{size:18,label:`Loading API keys`}),E(t),R(e,t)};B(h,e=>{$.loading&&$.keys.length===0&&e(g)});var _=N(h,2),v=e=>{var t=jae(),n=M(t);F$(M(n),{placeholder:`Filter by name, description, user path, label, or token...`,label:`Filter API keys by name, description, user path, label, or token`,get value(){return $.filter},set value(e){$.filter=e}}),E(n);var r=N(n,2),i=M(r),a=M(i);U(a);var o=N(a,2),s=N(M(o)),c=e=>{var t=Qr();P(()=>z(t,`(${$.inactiveCount??``})`)),R(e,t)};B(s,e=>{$.inactiveCount>0&&e(c)}),E(o),E(i),E(r),E(t),sa(a,()=>$.showInactive,e=>$.showInactive=e),R(e,t)};B(_,e=>{$.keys.length>0&&$.available&&e(v)});var y=N(_,2),b=e=>{Tae(e,{})};B(y,e=>{$.visibleKeys.length>0&&$.available&&e(b)});var x=N(y,2),S=e=>{var t=Mae(),n=M(t);E(t),P(()=>z(n,`No API keys match the current filter.${$.inactiveCount>0&&!$.showInactive?` `+$.inactiveCount+` inactive `+($.inactiveCount===1?`key is`:`keys are`)+` hidden.`:``}`)),R(e,t)};B(x,e=>{$.keys.length>0&&$.visibleKeys.length===0&&$.available&&e(S)});var C=N(x,2),w=e=>{R(e,Nae())};B(C,e=>{$.keys.length===0&&!$.loading&&!K.authError&&!$.error&&$.available&&e(w)}),E(n),R(e,n),O()}Ur([`click`]);var Iae=L(`

      Timezone

      `),Lae=L(``),Rae=L(``),zae=L(`
      `,1);function Bae(e,t){D(t,!0);function n(){sL.saveOverride(),K.refresh()}function r(){sL.clearOverride(),K.refresh()}var i=zae(),a=Cn(i);wQ(M(a),{copyId:`timezone-help-copy`,label:`timezone help`,text:`Day-based analytics, charts, and date filters use your effective timezone. Usage and audit logs keep UTC in the hover title while rendering row timestamps in your effective timezone.`,title:e=>{R(e,Iae())},$$slots:{title:!0}}),E(a);var o=N(a,2),s=M(o),c=N(M(s),2),l=M(c),u=M(l);E(l),l.value=l.__value=``,V(N(l),17,()=>sL.options,e=>e.value,(e,t)=>{var n=Lae(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(c),E(s),E(o);var d=N(o,2),f=M(d),p=e=>{var t=Rae();I(`click`,t,r),R(e,t)};B(f,e=>{sL.override&&e(p)}),E(d),P(e=>z(u,`Automatic (${e??``})`),[()=>sL.detectedTimeZoneLabel()]),Hr(`focus`,c,()=>sL.ensureOptions()),I(`change`,c,n),Vi(c,()=>sL.override,e=>sL.override=e),R(e,i),O()}Ur([`change`,`click`]);var Vae=L(``),Hae=L(`

      Failover

      `,1);function Uae(e,t){D(t,!0);let n=k(()=>X.failoverSaving||X.failoverGenerating||X.failoverDraftSaving||!X.failoverAvailable||!X.failoverEnabled());var r=Hae(),i=Cn(r),a=N(M(i),2),o=M(a),s=M(o);G(s,{name:`wand-sparkles`,class:`form-action-icon`});var c=N(s,2),l=M(c,!0);E(c),E(o);var u=N(o,2);G(M(u),{name:`trash-2`,class:`form-action-icon`}),We(2),E(u),E(a),E(i);var d=N(i,2),f=M(d),p=e=>{var t=Vae(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(f,e=>{X.failoverError&&e(p)}),E(d),Y6(N(d,2),{}),P(()=>{o.disabled=F(n),z(l,X.failoverGenerating?`Generating...`:`Generate failover models automatically`),u.disabled=F(n)}),I(`click`,o,()=>X.generateFailoverRules()),I(`click`,u,()=>X.openFailoverResetDialog()),R(e,r),O()}Ur([`click`]);function Wae(){return{daily_reset_hour:0,daily_reset_minute:0,weekly_reset_weekday:1,weekly_reset_hour:0,weekly_reset_minute:0,monthly_reset_day:1,monthly_reset_hour:0,monthly_reset_minute:0}}function Y9(e,t){let n=t||{},r=(e,t)=>{if(e===``)return t;let n=Number(e);return Number.isFinite(n)&&Number.isInteger(n)?Math.trunc(n):t},i=(e,t)=>r(n[e],t),a=(t,n)=>e?r(e[t],n):n;return{daily_reset_hour:a(`daily_reset_hour`,i(`daily_reset_hour`,0)),daily_reset_minute:a(`daily_reset_minute`,i(`daily_reset_minute`,0)),weekly_reset_weekday:a(`weekly_reset_weekday`,i(`weekly_reset_weekday`,1)),weekly_reset_hour:a(`weekly_reset_hour`,i(`weekly_reset_hour`,0)),weekly_reset_minute:a(`weekly_reset_minute`,i(`weekly_reset_minute`,0)),monthly_reset_day:a(`monthly_reset_day`,i(`monthly_reset_day`,1)),monthly_reset_hour:a(`monthly_reset_hour`,i(`monthly_reset_hour`,0)),monthly_reset_minute:a(`monthly_reset_minute`,i(`monthly_reset_minute`,0))}}function Gae(){return[{value:0,label:`Sunday`},{value:1,label:`Monday`},{value:2,label:`Tuesday`},{value:3,label:`Wednesday`},{value:4,label:`Thursday`},{value:5,label:`Friday`},{value:6,label:`Saturday`}]}var Kae=L(`

      Budget Resets

      `),qae=L(``),Jae=L(`

      If the selected day does not exist in a month, the reset runs on - the last day of that month.

      `),Yae=L(``),Xae=L(``),Zae=L(`
      Monthly
      Weekly
      Daily
      `,1);function Qae(e,t){D(t,!0);let n=A(fn(Wae())),r=A(!1),i=A(!1),a=A(``),o=A(!1),s=k(()=>_L.budgetsVisible());async function c(){if(await _L.ensureLoaded(),!_L.budgetsVisible()){j(a,``);return}j(r,!0),j(a,``);try{let e=await pL(`/admin/budgets/settings`,{label:`budget settings`});if(e.stale)return;if(!e.ok){j(a,`Unable to load budget settings.`);return}j(n,Y9(e.data,F(n)),!0)}catch(e){console.error(`Failed to fetch budget settings:`,e),j(a,`Unable to load budget settings.`)}finally{j(r,!1)}}async function l(){if(!F(i)){j(i,!0);try{let e=await mL(`/admin/budgets/settings`,`PUT`,Y9(F(n),F(n)),{label:`budget settings`});if(e.stale)return;if(!e.ok){q.error(`Unable to save budget settings.`);return}j(n,Y9(e.data,F(n)),!0),j(a,``),q.success(`Budget settings saved.`)}catch(e){console.error(`Failed to save budget settings:`,e),q.error(`Unable to save budget settings.`)}finally{j(i,!1)}}}Nn(()=>{K.refreshTick,c()});var u=$r(),d=Cn(u),f=e=>{var t=Zae(),s=Cn(t),c=M(s);wQ(c,{copyId:`budget-settings-help-copy`,label:`budget help`,text:`Budget reset anchors are stored in the database and evaluated in UTC. Hourly budgets reset at the top of each hour.`,title:e=>{R(e,Kae())},$$slots:{title:!0}});var u=N(c,2),d=M(u),f=N(M(d),2),p=M(f);wQ(p,{copyId:`budget-monthly-day-help-copy`,label:`day of month help`,external:!0,get open(){return F(o)},set open(e){j(o,e,!0)},title:e=>{R(e,qae())},$$slots:{title:!0}});var m=N(p,2);U(m),E(f);var h=N(f,2),g=N(M(h),2);U(g),E(h);var _=N(h,2),v=N(M(_),2);U(v),E(_);var y=N(_,2),b=M(y),x=e=>{R(e,Jae())};B(b,e=>{F(o)&&e(x)}),E(y),E(d);var S=N(d,2),C=N(M(S),2),w=N(M(C),2);V(w,21,Gae,e=>e.value,(e,t)=>{var n=Yae(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(w),E(C);var T=N(C,2),ee=N(M(T),2);U(ee),E(T);var te=N(T,2),ne=N(M(te),2);U(ne),E(te),We(2),E(S);var re=N(S,2),ie=N(M(re),4),ae=N(M(ie),2);U(ae),E(ie);var oe=N(ie,2),se=N(M(oe),2);U(se),E(oe),We(2),E(re),E(u);var ce=N(u,2),le=M(ce);G(M(le),{name:`save`,class:`form-action-icon`}),We(2),E(le);var ue=N(le,2),de=e=>{YZ(e,{size:16,label:`Loading budget settings`})};B(ue,e=>{F(r)&&e(de)}),E(ce),E(s);var fe=N(s,2),pe=M(fe),me=e=>{var t=Xae(),n=M(t,!0);E(t),P(()=>z(n,F(a))),R(e,t)};B(pe,e=>{F(a)&&e(me)}),E(fe),P(()=>{le.disabled=F(i)||F(r),W(le,`aria-busy`,F(i)?`true`:`false`)}),oa(m,()=>F(n).monthly_reset_day,e=>F(n).monthly_reset_day=e),oa(g,()=>F(n).monthly_reset_hour,e=>F(n).monthly_reset_hour=e),oa(v,()=>F(n).monthly_reset_minute,e=>F(n).monthly_reset_minute=e),Vi(w,()=>F(n).weekly_reset_weekday,e=>F(n).weekly_reset_weekday=e),oa(ee,()=>F(n).weekly_reset_hour,e=>F(n).weekly_reset_hour=e),oa(ne,()=>F(n).weekly_reset_minute,e=>F(n).weekly_reset_minute=e),oa(ae,()=>F(n).daily_reset_hour,e=>F(n).daily_reset_hour=e),oa(se,()=>F(n).daily_reset_minute,e=>F(n).daily_reset_minute=e),I(`click`,le,l),R(e,t)};B(d,e=>{F(s)&&e(f)}),R(e,u),O()}Ur([`click`]);var $ae=L(`

      Reset All Budgets

      Start new budget periods for every configured budget without changing - the limits.

      `);function eoe(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=$ae(),n=N(M(t),2),r=M(n);G(M(r),{name:`rotate-ccw`,class:`form-action-icon`}),We(2),E(r),E(n),E(t),P(()=>r.disabled=J.resetAllLoading),I(`click`,r,()=>J.openResetDialog()),R(e,t)},a=k(()=>_L.budgetsVisible());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}Ur([`click`]);function toe(){return{header:``,prefix:``,do_not_pass:!1,delimiter:``,managed:!1}}function X9(e){return(e&&Array.isArray(e.headers)?e.headers:[]).map(e=>({header:typeof e.header==`string`?e.header:``,prefix:typeof e.prefix==`string`?e.prefix:``,do_not_pass:e.do_not_pass===!0,delimiter:typeof e.delimiter==`string`&&e.delimiter!==`,`?e.delimiter:``,managed:e.managed===!0}))}function noe(e){return{headers:(Array.isArray(e)?e:[]).filter(e=>!e.managed&&e.header.trim()!==``).map(e=>({header:e.header.trim(),prefix:e.prefix,do_not_pass:e.do_not_pass,delimiter:e.delimiter}))}}function roe(e){return e&&e.error&&e.error.message?e.error.message:``}var ioe=L(`

      Tagging based on headers

      `),aoe=L(`config`),ooe=L(``),soe=L(`
      `),coe=L(`

      No tagging headers configured. Requests are not labelled.

      `),loe=L(``),uoe=L(`
      `,1);function doe(e,t){D(t,!0);let n=A(fn([])),r=A(!0),i=A(!1),a=A(!1),o=A(``);function s(){F(n).push(toe())}function c(e){let t=F(n)[e];!t||t.managed||F(n).splice(e,1)}async function l(){j(i,!0),j(o,``);try{let e=await pL(`/admin/tagging/settings`,{label:`tagging settings`});if(e.stale)return;if(!e.ok){j(o,`Unable to load tagging settings.`);return}j(n,X9(e.data),!0),j(r,e.data&&e.data.editable!==!1,!0)}catch(e){console.error(`Failed to fetch tagging settings:`,e),j(o,`Unable to load tagging settings.`)}finally{j(i,!1)}}async function u(){if(!(F(a)||!F(r))){j(a,!0);try{let e=await mL(`/admin/tagging/settings`,`PUT`,noe(F(n)),{label:`tagging settings`});if(e.stale)return;if(!e.ok){q.error(e.status!==401&&roe(e.data)||`Unable to save tagging settings.`);return}j(n,X9(e.data),!0),j(r,e.data&&e.data.editable!==!1,!0),j(o,``),q.success(`Tagging settings saved.`)}catch(e){console.error(`Failed to save tagging settings:`,e),q.error(`Unable to save tagging settings.`)}finally{j(a,!1)}}}Nn(()=>{K.refreshTick,l()});var d=uoe(),f=Cn(d),p=M(f);wQ(p,{copyId:`tagging-settings-help-copy`,label:`tagging help`,text:`Each request is labelled from the listed headers; labels land in usage tracking and audit logs. A header value can carry several labels split by the delimiter (default: comma). The prefix is trimmed from each label only — the header itself is forwarded unchanged unless 'Do not pass' is checked. Rows marked CONFIG come from config.yaml or TAGGING_HEADER_* env vars and are read-only here.`,title:e=>{R(e,ioe())},$$slots:{title:!0}});var m=N(p,2),h=M(m);V(h,17,()=>F(n),oi,(e,t,n)=>{var i=soe(),a=M(i),o=M(a);W(o,`for`,`tagging-header-`+n);var s=N(o,2);U(s),W(s,`id`,`tagging-header-`+n),E(a);var l=N(a,2),u=M(l);W(u,`for`,`tagging-prefix-`+n);var d=N(u,2);U(d),W(d,`id`,`tagging-prefix-`+n),E(l);var f=N(l,2),p=M(f);W(p,`for`,`tagging-delimiter-`+n);var m=N(p,2);U(m),W(m,`id`,`tagging-delimiter-`+n),E(f);var h=N(f,2),g=M(h);U(g),We(2),E(h);var _=N(h,2),v=M(_),y=e=>{R(e,aoe())},b=e=>{var i=ooe();P(()=>{i.disabled=!F(r),W(i,`aria-label`,`Remove tagging header `+(F(t).header||n+1))}),I(`click`,i,()=>c(n)),R(e,i)};B(v,e=>{F(t).managed?e(y):e(b,-1)}),E(_),E(i),P(()=>{s.disabled=F(t).managed||!F(r),d.disabled=F(t).managed||!F(r),m.disabled=F(t).managed||!F(r),g.disabled=F(t).managed||!F(r)}),oa(s,()=>F(t).header,e=>F(t).header=e),oa(d,()=>F(t).prefix,e=>F(t).prefix=e),oa(m,()=>F(t).delimiter,e=>F(t).delimiter=e),sa(g,()=>F(t).do_not_pass,e=>F(t).do_not_pass=e),R(e,i)});var g=N(h,2),_=e=>{YZ(e,{size:16,label:`Loading tagging settings`})};B(g,e=>{F(i)&&e(_)});var v=N(g,2),y=e=>{R(e,coe())};B(v,e=>{!F(i)&&F(n).length===0&&e(y)}),E(m);var b=N(m,2),x=M(b);G(M(x),{name:`plus`,class:`form-action-icon`}),We(2),E(x);var S=N(x,2);G(M(S),{name:`save`,class:`form-action-icon`}),We(2),E(S),E(b),E(f);var C=N(f,2),w=M(C),T=e=>{var t=loe(),n=M(t,!0);E(t),P(()=>z(n,F(o))),R(e,t)};B(w,e=>{F(o)&&e(T)}),E(C),P(()=>{x.disabled=!F(r)||F(a)||F(i),S.disabled=!F(r)||F(a)||F(i),W(S,`aria-busy`,F(a)?`true`:`false`)}),I(`click`,x,s),I(`click`,S,u),R(e,d),O()}Ur([`click`]);function foe(e){let t=e||{};if(t.selectedPreset)return{days:parseInt(t.selectedPreset,10)||30};let n=t.customStartDate?iR(t.customStartDate):``,r=t.customEndDate||t.today||null;return{start_date:n,end_date:r?iR(r):``}}function poe(e,t,n,r){return{...foe(e),user_path:String(t||``).trim(),selector:String(n||``).trim(),confirmation:r}}function moe(e){let t=Number(e&&e.matched||0),n=Number(e&&e.recalculated||0),r=Number(e&&e.without_pricing||0),i=`Pricing recalculated for `+n+` of `+t+` usage record`+(t===1?``:`s`)+`.`;return r>0&&(i+=` `+r+` usage record`+(r===1?` still lacks`:`s still lack`)+` pricing metadata.`),i}var hoe=L(`

      Usage Pricing Recalculation

      `),goe=L(`
      `);function _oe(e,t){D(t,!0);let n=A(``),r=A(``),i=A(!1),a=k(()=>_L.booleanFlag(`USAGE_PRICING_RECALCULATION_ENABLED`,!1));function o(){if(!F(a)){q.error(`Usage pricing recalculation is unavailable.`);return}F(i)||AL.open({title:`Recalculate Pricing`,titleId:`pricingRecalculateDialogTitle`,inputId:`pricing-recalculate-confirmation`,requiredText:`recalculate`,confirmLabel:`Recalculate Pricing`,icon:`calculator`,dialogClass:`pricing-recalculate-dialog`,message:`Stored usage cost fields matching the selected filters will be overwritten.`,onConfirm:()=>s()})}async function s(){if(!F(a)){q.error(`Usage pricing recalculation is unavailable.`);return}if(!F(i)){j(i,!0);try{let e=await mL(`/admin/usage/recalculate-pricing`,`POST`,poe({selectedPreset:pR.selectedPreset,customStartDate:pR.customStartDate,customEndDate:pR.customEndDate,today:sL.todayDate()},F(n),F(r),`recalculate`),{label:`pricing recalculation`});if(e.stale)return;if(!e.ok){AL.error=`Unable to recalculate pricing.`;return}AL.close(),q.success(moe(e.data)),gR.fetchUsage()}catch(e){console.error(`Failed to recalculate pricing:`,e),AL.error=`Unable to recalculate pricing.`}finally{j(i,!1)}}}var c=$r(),l=Cn(c),u=e=>{var t=goe(),s=M(t);wQ(s,{copyId:`pricing-recalculate-help-copy`,label:`pricing recalculation help`,text:`Recalculate stored usage costs from the current model pricing metadata. Filters are applied to the selected date range, user path subtree, and provider/model selector or alias.`,title:e=>{R(e,hoe())},$$slots:{title:!0}});var c=N(s,2),l=M(c),u=N(M(l),2);NR(M(u),{}),E(u),E(l);var d=N(l,2),f=N(M(d),2);U(f),E(d);var p=N(d,2),m=N(M(p),2);U(m),E(p),E(c);var h=N(c,2),g=M(h);G(M(g),{name:`calculator`,class:`form-action-icon`}),We(2),E(g),E(h),E(t),P(()=>{g.disabled=F(i)||!F(a),W(g,`aria-busy`,F(i)?`true`:`false`)}),oa(f,()=>F(n),e=>j(n,e)),oa(m,()=>F(r),e=>j(r,e)),I(`click`,g,o),R(e,t)};B(l,e=>{F(a)&&e(u)}),R(e,c),O()}Ur([`click`]);function Z9(e){return String(e&&e.status||`ok`).toLowerCase()}function Q9(e){if(!e||typeof e!=`object`)return`Runtime refresh completed.`;let t=Number(e.model_count||0),n=Number(e.provider_count||0),r=Z9(e);return(r===`ok`?`Runtime refreshed.`:r===`partial`?`Runtime refresh completed with warnings.`:`Runtime refresh failed.`)+` `+t+` model`+(t===1?``:`s`)+` across `+n+` provider`+(n===1?``:`s`)+`.`}function voe(e){return!!e&&Z9(e)===`ok`}function $9(e){let t=e&&e.steps;return Array.isArray(t)?t:[]}function yoe(e){let t=String(e&&e.name||``).replace(/_/g,` `),n=String(e&&e.status||``).trim(),r=String(e&&(e.error||e.message)||``).trim();return t?r?t+`: `+n+` - `+r:t+`: `+n:r||n||``}var boe=L(`

      Runtime Refresh

      `),xoe=L(`
    • `),Soe=L(`
        `),Coe=L(`
        `,1);function woe(e,t){D(t,!0);let n=A(!1),r=A(null);async function i(){if(!F(n)){j(n,!0),j(r,null);try{let e=await mL(`/admin/runtime/refresh`,`POST`,void 0,{label:`runtime refresh`});if(e.stale)return;if(!e.ok){q.error(`Runtime refresh failed.`);return}j(r,e.data&&typeof e.data==`object`?e.data:null,!0),voe(F(r))?q.success(Q9(F(r))):q.error(Q9(F(r))),K.refresh()}catch(e){console.error(`Failed to refresh runtime:`,e),q.error(`Runtime refresh failed.`)}finally{j(n,!1)}}}var a=Coe(),o=Cn(a),s=M(o);wQ(s,{copyId:`runtime-refresh-help-copy`,label:`runtime refresh help`,text:`Pull the latest model metadata, provider inventory, API keys, aliases, model access rules, guardrails, and workflows.`,title:e=>{R(e,boe())},$$slots:{title:!0}});var c=N(s,2),l=M(c);let u;G(M(l),{name:`refresh-cw`,class:`settings-refresh-icon`}),We(2),E(l),E(c),E(o);var d=N(o,2),f=M(d),p=e=>{var t=Soe();V(t,21,()=>$9(F(r)),e=>e.name,(e,t)=>{var n=xoe(),r=M(n,!0);E(n),P(e=>{H(n,1,`runtime-refresh-step is-`+F(t).status,`svelte-yeq2mp`),z(r,e)},[()=>yoe(F(t))]),R(e,n)}),E(t),R(e,t)},m=k(()=>$9(F(r)).length>0);B(f,e=>{F(m)&&e(p)}),E(d),P(()=>{u=H(l,1,`btn btn-primary btn-with-icon settings-refresh-btn`,null,u,{"is-refreshing":F(n)}),l.disabled=F(n),W(l,`aria-busy`,F(n)?`true`:`false`)}),I(`click`,l,i),R(e,a),O()}Ur([`click`]);var Toe=L(`
        `);function Eoe(e,t){D(t,!0),Nn(()=>{K.refreshTick,YI.page===`settings`&&(sL.ensureOptions(),_L.ensureLoaded())});var n=Toe(),r=N(M(n),2),i=M(r);Bae(i,{});var a=N(i,2);Uae(a,{});var o=N(a,2);Qae(o,{});var s=N(o,2);eoe(s,{});var c=N(s,2);doe(c,{});var l=N(c,2);_oe(l,{}),woe(N(l,2),{}),E(r);var u=N(r,2),d=M(u,!0);E(u),E(n),P(e=>z(d,e),[()=>WI()]),R(e,n),O()}var Doe=L(`
        `);function Ooe(e,t){D(t,!0);let n={overview:KQ,usage:D1,budgets:F0,"rate-limits":U2,models:v8,workflows:I7,"audit-logs":fre,guardrails:Wre,"mcp-servers":bie,"providers-config":Xie,"auth-keys":Fae,settings:Eoe};sL.init(),K.init(),FI.init(),II.init(),YI.init(),Nn(()=>{K.refreshTick,_L.fetch(),JL.fetchModels(),JL.fetchCategories()}),Nn(()=>{document.body.classList.toggle(`dashboard-modal-open`,LI.anyOpen)});let r=k(()=>n[YI.page]||KQ);var i=Doe(),a=M(i);xL(a,{});var o=N(a,2),s=M(o);qL(s,{}),_i(N(s,2),()=>F(r),(e,t)=>{t(e,{})}),E(o);var c=N(o,2);OL(c,{});var l=N(c,2);PL(l,{}),GL(N(l,2),{}),E(i),R(e,i),O()}ti(Ooe,{target:document.getElementById(`app`)}); \ No newline at end of file diff --git a/internal/admin/dashboard/static/dist/assets/index-C5b8F5Yi.js b/internal/admin/dashboard/static/dist/assets/index-C5b8F5Yi.js new file mode 100644 index 000000000..f1585b62e --- /dev/null +++ b/internal/admin/dashboard/static/dist/assets/index-C5b8F5Yi.js @@ -0,0 +1,64 @@ +var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var n=Array.isArray,r=Array.prototype.indexOf,i=Array.prototype.includes,a=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,l=Object.prototype,u=Array.prototype,d=Object.getPrototypeOf,f=Object.isExtensible;function p(e){return typeof e==`function`}var m=()=>{};function h(e){for(var t=0;t{e=n,t=r}),resolve:e,reject:t}}function _(e,t,n=!1){return e===void 0?n?t():t:e}function v(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var y=1<<24,b=1024,x=2048,S=4096,C=8192,w=16384,T=32768,ee=1<<25,te=65536,ne=1<<19,re=1<<20,ie=1<<25,ae=65536,oe=1<<21,se=1<<22,ce=1<<23,le=Symbol(`$state`),ue=Symbol(`legacy props`),de=Symbol(``),fe=Symbol(`attributes`),pe=Symbol(`class`),me=Symbol(`style`),he=Symbol(`text`),ge=Symbol(`form reset`),_e=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ve=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function ye(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function be(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function xe(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Se(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Ce(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function we(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Te(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Ee(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function De(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Oe(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function ke(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Ae={},je=Symbol(`uninitialized`),Me=`http://www.w3.org/1999/xhtml`,Ne=`http://www.w3.org/2000/svg`,Pe=`http://www.w3.org/1998/Math/MathML`;function Fe(){console.warn(`https://svelte.dev/e/derived_inert`)}function Ie(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Le(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Re(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var ze=!1;function Be(e){ze=e}var Ve;function He(e){if(e===null)throw Ie(),Ae;return Ve=e}function Ue(){return He(Sn(Ve))}function E(e){if(ze){if(Sn(Ve)!==null)throw Ie(),Ae;Ve=e}}function We(e=1){if(ze){for(var t=e,n=Ve;t--;)n=Sn(n);Ve=n}}function Ge(e=!0){for(var t=0,n=Ve;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=Sn(n);e&&n.remove(),n=i}}function Ke(e){if(!e||e.nodeType!==8)throw Ie(),Ae;return e.data}function qe(e){return e===this.v}function Je(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Ye(e){return!Je(e,this.v)}var Xe=null;function Ze(e){Xe=e}function D(e,t=!1,n){Xe={p:Xe,i:!1,c:null,e:null,s:e,x:null,r:sr,l:null}}function O(e){var t=Xe,n=t.e;if(n!==null){t.e=null;for(var r of n)Pn(r)}return e!==void 0&&(t.x=e),t.i=!0,Xe=t.p,e??{}}function Qe(){return!0}var $e=[];function et(){var e=$e;$e=[],h(e)}function tt(e){if($e.length===0&&!Bt){var t=$e;queueMicrotask(()=>{t===$e&&et()})}$e.push(e)}function nt(){for(;$e.length>0;)et()}function rt(e){var t=sr;if(t===null)return ir.f|=ce,e;if(!(t.f&32768)&&!(t.f&4))throw e;it(e,t)}function it(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var at=~(x|S|b);function ot(e,t){e.f=e.f&at|t}function st(e){e.f&512||e.deps===null?ot(e,b):ot(e,S)}function ct(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ae,ct(t.deps))}function lt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),ct(e.deps),ot(e,b)}var ut=!1;function dt(e){var t=ut;try{return ut=!1,[e(),ut]}finally{ut=t}}function ft(e,t){if(t){let t=document.body;e.autofocus=!0,tt(()=>{document.activeElement===t&&e.focus()})}}function pt(e){ze&&xn(e)!==null&&wn(e)}var mt=!1;function ht(){mt||(mt=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[ge]?.()})},{capture:!0}))}function gt(e){var t=ir,n=sr;or(null),cr(null);try{return e()}finally{or(t),cr(n)}}function _t(e,t,n,r=n){e.addEventListener(t,()=>gt(n));let i=e[ge];i?e[ge]=()=>{i(),r(!0)}:e[ge]=()=>r(!0),ht()}function vt(e){let t=0,n=on(0),r;return()=>{jn()&&(F(n),zn(()=>(t===0&&(r=kr(()=>e(()=>un(n)))),t+=1,()=>{tt(()=>{--t,t===0&&(r?.(),r=void 0,un(n))})})))}}var yt=te|ne;function bt(e,t,n,r){new xt(e,t,n,r)}var xt=class{parent;is_pending=!1;transform_error;#e;#t=ze?Ve:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=vt(()=>(this.#m=on(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=sr;t.b=this,t.f|=128,n(e)},this.parent=sr.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Bn(()=>{if(ze){let e=this.#t;Ue();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},yt),ze&&(this.#e=Ve)}#g(){try{this.#a=Hn(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=Hn(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Hn(()=>e(this.#e)),tt(()=>{var e=this.#c=document.createDocumentFragment(),t=bn();e.append(t),this.#a=this.#x(()=>Hn(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Yn(this.#o,()=>{this.#o=null}),this.#b(It))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Hn(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();$n(this.#a,e);let t=this.#n.pending;this.#o=Hn(()=>t(this.#e))}else this.#b(It)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){lt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=sr,n=ir,r=Xe;cr(this.#i),or(this.#i),Ze(this.#i.ctx);try{return Kt.ensure(),e()}catch(e){return rt(e),null}finally{cr(t),or(n),Ze(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Yn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,tt(()=>{this.#d=!1,this.#m&&cn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),F(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;It?.is_fork?(this.#a&&It.skip_effect(this.#a),this.#o&&It.skip_effect(this.#o),this.#s&&It.skip_effect(this.#s),It.oncommit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Kn(this.#a),null),this.#o&&=(Kn(this.#o),null),this.#s&&=(Kn(this.#s),null),ze&&(He(this.#t),We(),He(Ge()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){Re();return}r=!0,i&&ke(),this.#s!==null&&Yn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){it(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return Hn(()=>{var t=sr;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return it(e,this.#i.parent),null}}))};tt(()=>{var t;try{t=this.transform_error(e)}catch(e){it(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>it(e,this.#i&&this.#i.parent)):o(t)})}};function St(e,t,n,r){let i=Qe()?Et:kt;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=sr,c=Ct(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){it(e,s)}wt()}}var d=Tt();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>Ot(e))).then(u).catch(e=>it(e,s)).finally(d)}l?l.then(()=>{c(),f(),wt()}):f()}function Ct(){var e=sr,t=ir,n=Xe,r=It;return function(i=!0){cr(e),or(t),Ze(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function wt(e=!0){cr(null),or(null),Ze(null),e&&It?.deactivate()}function Tt(){var e=sr,t=e.b,n=It,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}function Et(e){var t=2|x;return sr!==null&&(sr.f|=ne),{ctx:Xe,deps:null,effects:null,equals:qe,f:t,fn:e,reactions:null,rv:0,v:je,wv:0,parent:sr,ac:null}}var Dt=Symbol(`obsolete`);function Ot(e,t,n){let r=sr;r===null&&ye();var i=void 0,a=on(je),o=!ir,s=new Set;return Rn(()=>{var t=sr,n=g();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==_e&&n.reject(e)}).finally(wt)}catch(e){n.reject(e),wt()}var c=It;if(o){if(t.f&32768)var l=Tt();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(Dt);else for(let e of s.values())e.reject(Dt);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==Dt&&(c.activate(),t?(a.f|=ce,cn(a,t)):(a.f&8388608&&(a.f^=ce),cn(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),Mn(()=>{for(let e of s)e.reject(Dt)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function k(e){let t=Et(e);return ur(t),t}function kt(e){let t=Et(e);return t.equals=Ye,t}function At(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n{t.ac.abort(_e),t.ac=null}),t.fn!==null&&(t.teardown=m),wr(t,0),Wn(t))}function Pt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Tr(t)}var Ft=null,It=null,Lt=null,Rt=null,zt=null,Bt=!1,Vt=!1,Ht=null,Ut=null,Wt=0,Gt=1,Kt=class e{id=Gt++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){Ft===null?Ft=this:(Ft.#n=this,this.#t=Ft),Ft=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)ot(r,x),t(r);for(r of n.m)ot(r,S),t(r)}this.#p.add(e)}#g(){this.#e=!0,Wt++>1e3&&(this.#x(),Jt());for(let e of this.#u)this.#d.delete(e),ot(e,x),this.schedule(e);for(let e of this.#d)ot(e,S),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=Ht=[],r=[],i=Ut=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw tn(e),this.#h()||this.discard(),t}if(It=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(Ht=null,Ut=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)en(e,t);i.length>0&&It.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),Lt=this,Xt(r),Xt(n),Lt=null,this.#s?.resolve();var s=It;if(this.#a===0&&(this.#c.length===0||s!==null)&&this.#x(),this.#c.length>0)if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this;s!==null&&s.#g()}#_(e,t,n){e.f^=b;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=b:i&4?t.push(r):br(r)&&(i&16&&this.#d.add(r),Tr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#y(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),ot(i,x),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#x(),It=this,this.#g()}#b(e){for(var t=0;t{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=g()).promise}static ensure(){if(It===null){let t=It=new e;!Vt&&!Bt&&tt(()=>{t.#e||t.flush()})}return It}apply(){Rt=null}schedule(e){if(zt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(Ht!==null&&t===sr&&(ir===null||!(ir.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=b}}this.#c.push(t)}#x(){if(this.linked){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?Ft=e:t.#t=e,this.linked=!1}}};function qt(e){var t=Bt;Bt=!0;try{var n;for(e&&(It!==null&&!It.is_fork&&It.flush(),n=e());;){if(nt(),It===null)return n;It.flush()}}finally{Bt=t}}function Jt(){try{we()}catch(e){it(e,zt)}}var Yt=null;function Xt(e){var t=e.length;if(t!==0){for(var n=0;n0)){rn.clear();for(let e of Yt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Yt.has(n)&&(Yt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Tr(n)}}Yt.clear()}}Yt=null}}function Zt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Zt(i,t,n,r):e&4194320&&!(e&2048)&&Qt(i,t,r)&&(ot(i,x),$t(i))}}function Qt(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(i.call(t,r))return!0;if(r.f&2&&Qt(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function $t(e){It.schedule(e)}function en(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),ot(e,b);for(var n=e.first;n!==null;)en(n,t),n=n.next}}function tn(e){ot(e,b);for(var t=e.first;t!==null;)tn(t),t=t.next}var nn=new Set,rn=new Map,an=!1;function on(e,t){return{f:0,v:e,reactions:null,equals:qe,rv:0,wv:0}}function A(e,t){let n=on(e,t);return ur(n),n}function sn(e,t=!1,n=!0){let r=on(e);return t||(r.equals=Ye),r}function j(e,t,n=!1){return ir!==null&&(!ar||ir.f&131072)&&Qe()&&ir.f&4325394&&(lr===null||!lr.has(e))&&Oe(),cn(e,n?fn(t):t,Ut)}function cn(e,t,n=null){if(!e.equals(t)){rn.set(e,nr?t:e.v);var r=Kt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&jt(t),Rt===null&&st(t)}e.wv=yr(),dn(e,x,n),Qe()&&sr!==null&&sr.f&1024&&!(sr.f&96)&&(pr===null?mr([e]):pr.push(e)),!r.is_fork&&nn.size>0&&!an&&ln()}return t}function ln(){an=!1;for(let e of nn){e.f&1024&&ot(e,S);let t;try{t=br(e)}catch{t=!0}t&&Tr(e)}nn.clear()}function un(e){j(e,e.v+1)}function dn(e,t,n){var r=e.reactions;if(r!==null)for(var i=Qe(),a=r.length,o=0;o{if(_r===c)return e();var t=ir,n=_r;or(null),vr(c);var r=e();return or(t),vr(n),r};return i&&r.set(`length`,A(e.length,o)),new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Ee();var i=r.get(t);return i===void 0?f(()=>{var e=A(n.value,o);return r.set(t,e),e}):j(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>A(je,o));r.set(t,e),un(a)}}else j(n,je),un(a);return!0},get(t,n,i){if(n===le)return e;var a=r.get(n),c=n in t;if(a===void 0&&(!c||s(t,n)?.writable)&&(a=f(()=>A(fn(c?t[n]:je),o)),r.set(n,a)),a!==void 0){var l=F(a);return l===je?void 0:l}return Reflect.get(t,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=F(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==je)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===le)return!0;var n=r.get(t),i=n!==void 0&&n.v!==je||Reflect.has(e,t);return(n!==void 0||sr!==null&&(!i||s(e,t)?.writable))&&(n===void 0&&(n=f(()=>A(i?fn(e[t]):je,o)),r.set(t,n)),F(n)===je)?!1:i},set(e,t,n,c){var l=r.get(t),u=t in e;if(i&&t===`length`)for(var d=n;dA(je,o)),r.set(d+``,p)):j(p,je)}if(l===void 0)(!u||s(e,t)?.writable)&&(l=f(()=>A(void 0,o)),j(l,fn(n)),r.set(t,l));else{u=l.v!==je;var m=f(()=>fn(n));j(l,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(c,n),!u){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&j(g,_+1)}un(a)}return!0},ownKeys(e){F(a);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==je});for(var[n,i]of r)i.v!==je&&!(n in e)&&t.push(n);return t},setPrototypeOf(){De()}})}function pn(e){try{if(typeof e==`object`&&e&&le in e)return e[le]}catch{}return e}function mn(e,t){return Object.is(pn(e),pn(t))}var hn,gn,_n,vn;function yn(){if(hn===void 0){hn=window,gn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;_n=s(t,`firstChild`).get,vn=s(t,`nextSibling`).get,f(e)&&(e[pe]=void 0,e[fe]=null,e[me]=void 0,e.__e=void 0),f(n)&&(n[he]=void 0)}}function bn(e=``){return document.createTextNode(e)}function xn(e){return _n.call(e)}function Sn(e){return vn.call(e)}function M(e,t){if(!ze)return xn(e);var n=xn(Ve);if(n===null)n=Ve.appendChild(bn());else if(t&&n.nodeType!==3){var r=bn();return n?.before(r),He(r),r}return t&&Dn(n),He(n),n}function Cn(e,t=!1){if(!ze){var n=xn(e);return n instanceof Comment&&n.data===``?Sn(n):n}if(t){if(Ve?.nodeType!==3){var r=bn();return Ve?.before(r),He(r),r}Dn(Ve)}return Ve}function N(e,t=1,n=!1){let r=ze?Ve:e;for(var i;t--;)i=r,r=Sn(r);if(!ze)return r;if(n){if(r?.nodeType!==3){var a=bn();return r===null?i?.after(a):r.before(a),He(a),a}Dn(r)}return He(r),r}function wn(e){e.textContent=``}function Tn(){return!1}function En(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function Dn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function On(e){sr===null&&(ir===null&&Ce(e),Se()),nr&&xe(e)}function kn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function An(e,t){var n=sr;n!==null&&n.f&8192&&(e|=C);var r={ctx:Xe,deps:null,nodes:null,f:e|x|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};It?.register_created_effect(r);var i=r;if(e&4)Ht===null?Kt.ensure().schedule(r):Ht.push(r);else if(t!==null){try{Tr(r)}catch(e){throw Kn(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=te))}if(i!==null&&(i.parent=n,n!==null&&kn(i,n),ir!==null&&ir.f&2&&!(e&64))){var a=ir;(a.effects??=[]).push(i)}return r}function jn(){return ir!==null&&!ar}function Mn(e){let t=An(8,null);return ot(t,b),t.teardown=e,t}function Nn(e){On(`$effect`);var t=sr.f;if(!ir&&t&32&&Xe!==null&&!Xe.i){var n=Xe;(n.e??=[]).push(e)}else return Pn(e)}function Pn(e){return An(4|re,e)}function Fn(e){Kt.ensure();let t=An(64|ne,e);return()=>{Kn(t)}}function In(e){Kt.ensure();let t=An(64|ne,e);return(e={})=>new Promise(n=>{e.outro?Yn(t,()=>{Kn(t),n(void 0)}):(Kn(t),n(void 0))})}function Ln(e){return An(4,e)}function Rn(e){return An(se|ne,e)}function zn(e,t=0){return An(8|t,e)}function P(e,t=[],n=[],r=[]){St(r,t,n,t=>{An(8,()=>{e(...t.map(F))})})}function Bn(e,t=0){return An(16|t,e)}function Vn(e,t=0){return An(y|t,e)}function Hn(e){return An(32|ne,e)}function Un(e){var t=e.teardown;if(t!==null){let e=nr,n=ir;rr(!0),or(null);try{t.call(null)}finally{rr(e),or(n)}}}function Wn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&>(()=>{e.abort(_e)});var r=n.next;n.f&64?n.parent=null:Kn(n,t),n=r}}function Gn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Kn(t),t=n}}function Kn(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(qn(e.nodes.start,e.nodes.end),n=!0),e.f|=ee,Wn(e,t&&!n),wr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Un(e),e.f^=ee,e.f|=w;var i=e.parent;i!==null&&i.first!==null&&Jn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function qn(e,t){for(;e!==null;){var n=e===t?null:Sn(e);e.remove(),e=n}}function Jn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Yn(e,t,n=!0){var r=[];Xn(e,r,!0);var i=()=>{n&&Kn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Xn(e,t,n){if(!(e.f&8192)){e.f^=C;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Xn(i,t,o?n:!1)}i=a}}}function Zn(e){Qn(e,!0)}function Qn(e,t){if(e.f&8192){e.f^=C,e.f&1024||(ot(e,x),Kt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;Qn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function $n(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Sn(n);t.append(n),n=i}}var er=null,tr=!1,nr=!1;function rr(e){nr=e}var ir=null,ar=!1;function or(e){ir=e}var sr=null;function cr(e){sr=e}var lr=null;function ur(e){ir!==null&&(lr??=new Set).add(e)}var dr=null,fr=0,pr=null;function mr(e){pr=e}var hr=1,gr=0,_r=gr;function vr(e){_r=e}function yr(){return++hr}function br(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ae),t&4096){for(var n=e.deps,r=n.length,i=0;ie.wv)return!0}t&512&&Rt===null&&ot(e,b)}return!1}function xr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(lr!==null&&lr.has(e)))for(var i=0;i{e.ac.abort(_e)}),e.ac=null);try{e.f|=oe;var u=e.fn,d=u();e.f|=T;var f=e.deps,p=It?.is_fork;if(dr!==null){var m;if(p||wr(e,fr),f!==null&&fr>0)for(f.length=fr+dr.length,m=0;m{s.ac.abort(_e),s.ac=null,ot(s,x)}),Nt(s),wr(s,0)}}function wr(e,t){var n=e.deps;if(n!==null)for(var r=t;rn?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?tt(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Hr(e,t,n,r,i){var a={capture:r,passive:i},o=Vr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Mn(()=>{t.removeEventListener(e,o,a)})}function I(e,t,n){(t[Rr]??={})[e]=n}function Ur(e){for(var t=0;t{throw e});throw p}}finally{e[Rr]=t,delete e.currentTarget,or(d),cr(f)}}}var Kr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function qr(e){return Kr?.createHTML(e)??e}function Jr(e){var t=En(`template`);return t.innerHTML=qr(e.replaceAll(``,``)),t.content}function Yr(e,t){var n=sr;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function L(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(``);return()=>{if(ze)return Yr(Ve,null),Ve;i===void 0&&(i=Jr(a?e:``+e),n||(i=xn(i)));var t=r||gn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=xn(t),s=t.lastChild;Yr(o,s)}else Yr(t,t);return t}}function Xr(e,t,n=`svg`){var r=!e.startsWith(``),i=(t&1)!=0,a=`<${n}>${r?e:``+e}`,o;return()=>{if(ze)return Yr(Ve,null),Ve;if(!o){var e=xn(Jr(a));if(i)for(o=document.createDocumentFragment();xn(e);)o.appendChild(xn(e));else o=xn(e)}var t=o.cloneNode(!0);if(i){var n=xn(t),r=t.lastChild;Yr(n,r)}else Yr(t,t);return t}}function Zr(e,t){return Xr(e,t,`svg`)}function Qr(e=``){if(!ze){var t=bn(e+``);return Yr(t,t),t}var n=Ve;return n.nodeType===3?Dn(n):(n.before(n=bn()),He(n)),Yr(n,n),n}function $r(){if(ze)return Yr(Ve,null),Ve;var e=document.createDocumentFragment(),t=document.createComment(``),n=bn();return e.append(t,n),Yr(t,n),e}function R(e,t){if(ze){var n=sr;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=Ve),Ue();return}e!==null&&e.before(t)}var ei=!0;function z(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[he]??=e.nodeValue)&&(e[he]=n,e.nodeValue=`${n}`)}function ti(e,t){return ri(e,t)}var ni=new Map;function ri(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0,transformError:c}){yn();var l=void 0,u=In(()=>{var u=n??t.appendChild(bn());bt(u,{pending:()=>{}},t=>{D({});var n=Xe;if(o&&(n.c=o),i&&(r.$$events=i),ze&&Yr(t,null),ei=s,l=e(t,r)||{},ei=!0,ze&&(sr.nodes.end=Ve,Ve===null||Ve.nodeType!==8||Ve.data!==`]`))throw Ie(),Ae;O()},c);var d=new Set,f=e=>{for(var n=0;n{for(var e of d)for(let n of[t,document]){var r=ni.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Gr),r.delete(e),r.size===0&&ni.delete(n)):r.set(e,i)}Br.delete(f),u!==n&&u.parentNode?.removeChild(u)}});return ii.set(l,u),l}var ii=new WeakMap,ai=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Zn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(Zn(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(Kn(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();$n(r,t),t.append(bn()),this.#n.set(e,{effect:r,fragment:t})}else Kn(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Yn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(Kn(n.effect),this.#n.delete(e))};ensure(e,t){var n=It,r=Tn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=bn();i.append(a),this.#n.set(e,{effect:Hn(()=>t(a)),fragment:i})}else this.#t.set(e,Hn(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else ze&&(this.anchor=Ve),this.#a(n)}};function B(e,t,n=!1){var r;ze&&(r=Ve,Ue());var i=new ai(e),a=n?te:0;function o(e,t){if(ze){var n=Ke(r);if(e!==parseInt(n.substring(1))){var a=Ge();He(a),i.anchor=a,Be(!1),i.ensure(e,t),Be(!0);return}}i.ensure(e,t)}Bn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function oi(e,t){return t}function si(e,t,n){for(var r=[],i=t.length,o,s=t.length,c=0;c{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;ci(e,a(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else--s},!1)}if(s===0){var l=r.length===0&&n!==null;if(l){var u=n,d=u.parentNode;wn(d),d.append(u),e.items.clear()}ci(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function ci(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i{var e=r();return n(e)?e:e==null?[]:a(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,di(v,p,c,t,i),d!==null&&(p.length===0?d.f&33554432?(d.f^=ie,pi(d,null,c)):Zn(d):Yn(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:Bn(()=>{p=F(f);var e=p.length;let n=!1;ze&&Ke(c)===`[!`!=(e===0)&&(c=Ge(),He(c),Be(!1),n=!0);for(var a=new Set,u=It,v=Tn(),y=0;ys(c)):(d=Hn(()=>s(li??=bn())),d.f|=ie)),e>a.size&&be(``,``,``),ze&&e>0&&He(Ge()),!h)if(m.set(u,a),v){for(let[e,t]of l)a.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);n&&Be(!0),F(f)}),flags:t,items:l,pending:m,outrogroups:null,fallback:d};h=!1,ze&&(c=Ve)}function ui(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function di(e,t,n,r,i){var o=(r&8)!=0,s=t.length,c=e.items,l=ui(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v0){var ee=r&4&&s===0?n:null;if(o){for(v=0;v{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function fi(e,t,n,r,i,a,o,s){var c=o&1?o&16?on(n):sn(n,!1,!1):null,l=o&2?on(i):null;return{v:c,i:l,e:Hn(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function pi(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=Sn(r);if(a.before(r),r===i)return;r=o}}function mi(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function hi(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;ze&&(o=He(xn(c)))}P(()=>{var e=sr;if(s===(s=t()??``)){ze&&Ue();return}if(n&&!ze){e.nodes=null,c.innerHTML=s,s!==``&&Yr(xn(c),c.lastChild);return}if(e.nodes!==null&&(qn(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(ze){for(var a=Ve.data,l=Ue(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=Sn(l);if(l===null)throw Ie(),Ae;Yr(Ve,u),o=He(l);return}var d=En(r?`svg`:i?`math`:`template`,r?Ne:i?Pe:void 0);d.innerHTML=s;var f=r||i?d:d.content;if(Yr(xn(f),f.lastChild),r||i)for(;xn(f);)o.before(xn(f));else o.before(f)}})}function gi(e,t,...n){var r=new ai(e);Bn(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},te)}function _i(e,t,n){var r;ze&&(r=Ve,Ue());var i=new ai(e);Bn(()=>{var e=t()??null;if(ze&&Ke(r)===`[`!=(e!==null)){var a=Ge();He(a),i.anchor=a,Be(!1),i.ensure(e,e&&(t=>n(t,e))),Be(!0);return}i.ensure(e,e&&(t=>n(t,e)))},te)}var vi=()=>performance.now(),yi={tick:e=>requestAnimationFrame(e),now:()=>vi(),tasks:new Set};function bi(){let e=yi.now();yi.tasks.forEach(t=>{t.c(e)||(yi.tasks.delete(t),t.f())}),yi.tasks.size!==0&&yi.tick(bi)}function xi(e){let t;return yi.tasks.size===0&&yi.tick(bi),{promise:new Promise(n=>{yi.tasks.add(t={c:e,f:n})}),abort(){yi.tasks.delete(t)}}}function Si(e,t){gt(()=>{e.dispatchEvent(new CustomEvent(t))})}function Ci(e){if(e===`float`)return`cssFloat`;if(e===`offset`)return`cssOffset`;if(e.startsWith(`--`))return e;let t=e.split(`-`);return t.length===1?t[0]:t[0]+t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function wi(e){let t={},n=e.split(`;`);for(let e of n){let[n,r]=e.split(`:`);if(!n||r===void 0)break;let i=Ci(n.trim());t[i]=r.trim()}return t}var Ti=e=>e;function Ei(e,t,n,r){var i=(e&1)!=0,a=(e&2)!=0,o=i&&a,s=(e&4)!=0,c=o?`both`:i?`in`:`out`,l,u=t.inert,d=t.style.overflow,f,p;function m(){return gt(()=>l??=n()(t,r?.()??{},{direction:c}))}var h={is_global:s,in(){if(t.inert=u,!i){p?.abort(),p?.reset?.();return}a||f?.abort(),f=Di(t,m(),p,1,()=>{Si(t,`introstart`)},()=>{Si(t,`introend`),f?.abort(),f=l=void 0,t.style.overflow=d})},out(e){if(!a){e?.(),l=void 0;return}t.inert=!0,p=Di(t,m(),f,0,()=>{Si(t,`outrostart`)},()=>{Si(t,`outroend`),e?.()})},stop:()=>{f?.abort(),p?.abort()}},g=sr;if((g.nodes.t??=[]).push(h),i&&ei){var _=s;if(!_){for(var v=g.parent;v&&v.f&65536;)for(;(v=v.parent)&&!(v.f&16););_=!v||(v.f&32768)!=0}_&&Ln(()=>{kr(()=>h.in())})}}function Di(e,t,n,r,i,a){var o=r===1;if(p(t)){var s,c=!1;return tt(()=>{c||(s=Di(e,t({direction:o?`in`:`out`}),n,r,i,a))}),{abort:()=>{c=!0,s?.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return i(),a(),{abort:m,deactivate:m,reset:m,t:()=>r};let{delay:l=0,css:u,tick:d,easing:f=Ti}=t;var h=[];if(o&&n===void 0&&(d&&d(0,1),u)){var g=wi(u(0,1));h.push(g,g)}var _=()=>1-r,v=e.animate(h,{duration:l,fill:`forwards`});return v.onfinish=()=>{v.cancel(),i();var o=n?.t()??1-r;n?.abort();var s=r-o,c=t.duration*Math.abs(s),l=[];if(c>0){var p=!1;if(u)for(var m=Math.ceil(c/(1e3/60)),h=0;h<=m;h+=1){var g=o+s*f(h/m),y=wi(u(g,1-g));l.push(y),p||=y.overflow===`hidden`}p&&(e.style.overflow=`hidden`),_=()=>{var e=v.currentTime;return o+s*f(e/c)},d&&xi(()=>{if(v.playState!==`running`)return!1;var e=_();return d(e,1-e),!0})}v=e.animate(l,{duration:c,fill:`forwards`}),v.onfinish=()=>{_=()=>r,d?.(r,1-r),a()}},{abort:()=>{v&&(v.cancel(),v.effect=null,v.onfinish=m)},deactivate:()=>{a=m},reset:()=>{r===0&&d?.(1,0)},t:()=>_()}}function Oi(e,t){var n=void 0,r;Vn(()=>{n!==(n=t())&&(r&&=(Kn(r),null),n&&(r=Hn(()=>{Ln(()=>n(e))})))})}function ki(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t=0;){var s=o+a;(o===0||Mi.includes(r[o-1]))&&(s===r.length||Mi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Pi(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Fi(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Ii(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Fi)),i&&c.push(...Object.keys(i).map(Fi));var l=0,u=-1;let t=e.length;for(var d=0;d{zi(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),Mn(()=>{t.disconnect()})}function Vi(e,t,n=t){var r=new WeakSet,i=!0;_t(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),Hi);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&Hi(o)}n(a),e.__value=a,It!==null&&r.add(It)}),Ln(()=>{var a=t();if(e===document.activeElement){var o=It;if(r.has(o))return}if(zi(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Hi(s),n(a))}e.__value=a,i=!1}),Bi(e)}function Hi(e){return`__value`in e?e.__value:e.value}var Ui=Symbol(`class`),Wi=Symbol(`style`),Gi=Symbol(`is custom element`),Ki=Symbol(`is html`),qi=ve?`link`:`LINK`,Ji=ve?`input`:`INPUT`,Yi=ve?`option`:`OPTION`,Xi=ve?`select`:`SELECT`,Zi=ve?`progress`:`PROGRESS`;function U(e){if(ze){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;W(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;W(e,`checked`,null),e.checked=r}}};e[ge]=n,tt(n),ht()}}function Qi(e,t){var n=ra(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Zi)||(e.value=t??``)}function $i(e,t){var n=ra(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function ea(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function W(e,t,n,r){var i=ra(e);ze&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===qi)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[de]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&aa(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function ta(e,t,n,r,i=!1,a=!1){if(ze&&i&&e.nodeName===Ji){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||U(o)}var s=ra(e),c=s[Gi],l=!s[Ki];let u=ze&&c;u&&Be(!1);var d=t||{},f=e.nodeName===Yi;for(var p in t)p in n||(n[p]=null);n.class?n.class=ji(n.class):(r||n[Ui])&&(n.class=null),n[Wi]&&(n.style??=null);var m=aa(e);if(e.nodeName===Ji&&`type`in n&&(`value`in n||`__value`in n)){var h=n.type;(h!==d.type||h===void 0&&e.hasAttribute(`type`))&&(d.type=h,W(e,`type`,h,a))}for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){H(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[Ui],n[Ui]),d[i]=o,d[Ui]=n[Ui];continue}if(i===`style`){Ri(e,o,t?.[Wi],n[Wi]),d[i]=o,d[Wi]=n[Wi];continue}var g=d[i];if(!(o===g&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var _=i[0]+i[1];if(_!==`$$`)if(_===`on`){let t={},n=`$$`+i,r=i.slice(2);var v=Mr(r);if(Ar(r)&&(r=r.slice(0,-7),t.capture=!0),!v&&g){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(v)I(r,e,o),Ur([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=Vr(r,e,a,t)}}else if(i===`style`)W(e,i,o);else if(i===`autofocus`)ft(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)ea(e,o);else{var y=i;l||(y=Fr(y));var b=y===`defaultValue`||y===`defaultChecked`;if(o==null&&!c&&!b)if(s[i]=null,y===`value`||y===`checked`){let n=e,r=t===void 0;if(y===`value`){let e=n.defaultValue;n.removeAttribute(y),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(y),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else b||m.includes(y)&&(c||typeof o!=`string`)?(e[y]=o,y in s&&(s[y]=je)):typeof o!=`function`&&W(e,y,o,a)}}}return u&&Be(!0),d}function na(e,t,n=[],r=[],i=[],a,o=!1,s=!1){St(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===Xi,l=!1;if(Vn(()=>{var u=t(...n.map(F)),d=ta(e,r,u,a,o,s);l&&c&&`value`in u&&zi(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||Kn(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&Kn(i[t]),i[t]=Hn(()=>Oi(e,()=>f))),d[t]=f}r=d}),c){var u=e;Ln(()=>{zi(u,r.value,!0),Bi(u)})}l=!0})}function ra(e){return e[fe]??={[Gi]:e.nodeName.includes(`-`),[Ki]:e.namespaceURI===Me}}var ia=new Map;function aa(e){var t=e.getAttribute(`is`)||e.nodeName,n=ia.get(t);if(n)return n;ia.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=c(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=d(i)}return n}function oa(e,t,n=t){var r=new WeakSet;_t(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=ca(e)?la(a):a,n(a),It!==null&&r.add(It),await Er(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(ze&&e.defaultValue!==e.value||kr(t)==null&&e.value)&&(n(ca(e)?la(e.value):e.value),It!==null&&r.add(It)),zn(()=>{var n=t();if(e===document.activeElement){var i=It;if(r.has(i))return}ca(e)&&n===la(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function sa(e,t,n=t){_t(e,`change`,t=>{n(t?e.defaultChecked:e.checked)}),(ze&&e.defaultChecked!==e.checked||kr(t)==null)&&n(e.checked),zn(()=>{e.checked=!!t()})}function ca(e){var t=e.type;return t===`number`||t===`range`}function la(e){return e===``?null:+e}function ua(e,t){return e===t||e?.[le]===t}function da(e={},t,n,r){var i=Xe.r,a=sr;return Ln(()=>{var o,s;return zn(()=>{o=s,s=r?.()||[],kr(()=>{ua(n(...s),e)||(t(e,...s),o&&ua(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&ua(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var fa={get(e,t){if(!e.exclude.has(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.has(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return!e.exclude.has(t)&&t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.has(t))}};function pa(e,t,n){return new Proxy({props:e,exclude:t},fa)}function ma(e,t,n,r){var i=!0,a=(n&8)!=0,o=(n&16)!=0,c=r,l=!0,u=void 0,d=()=>o&&i?(u??=Et(r),F(u)):(l&&(l=!1,c=o?kr(r):r),c);let f;if(a){var p=le in e||ue in e;f=s(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;a?[m,h]=dt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Te(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?Et:kt)(()=>(v=!1,g()));a&&F(y);var b=sr;return(function(e,t){if(arguments.length>0){let n=t?F(y):i&&a?fn(e):e;return j(y,n),v=!0,c!==void 0&&(c=n),e}return nr&&v||b.f&16384?y.v:F(y)})}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var ha=[[`path`,{d:`m14 12 4 4 4-4`}],[`path`,{d:`M18 16V7`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],ga=[[`path`,{d:`m14 11 4-4 4 4`}],[`path`,{d:`M18 16V7`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],_a=[[`circle`,{cx:`16`,cy:`4`,r:`1`}],[`path`,{d:`m18 19 1-7-6 1`}],[`path`,{d:`m5 8 3-3 5.5 3-2.36 3.5`}],[`path`,{d:`M4.24 14.5a5 5 0 0 0 6.88 6`}],[`path`,{d:`M13.76 17.5a5 5 0 0 0-6.88-6`}]],va=[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`}]],ya=[[`path`,{d:`m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16`}],[`path`,{d:`M15.697 14h5.606`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],ba=[[`path`,{d:`M10 13H6`}],[`path`,{d:`M10 15v-4a2 2 0 0 0-4 0v4`}],[`path`,{d:`M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],xa=[[`path`,{d:`M18 17.5a2.5 2.5 0 1 1-4 2.03V12`}],[`path`,{d:`M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 8h12`}],[`path`,{d:`M6.6 15.572A2 2 0 1 0 10 17v-5`}]],Sa=[[`path`,{d:`M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1`}],[`path`,{d:`m12 15 5 6H7Z`}]],Ca=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`M9 13h6`}]],wa=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`m9 13 2 2 4-4`}]],Ta=[[`path`,{d:`M6.87 6.87a8 8 0 1 0 11.26 11.26`}],[`path`,{d:`M19.9 14.25a8 8 0 0 0-9.15-9.15`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.26 18.67 4 21`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4 4 2 6`}]],Ea=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}]],Da=[[`circle`,{cx:`12`,cy:`13`,r:`8`}],[`path`,{d:`M12 9v4l2 2`}],[`path`,{d:`M5 3 2 6`}],[`path`,{d:`m22 6-3-3`}],[`path`,{d:`M6.38 18.7 4 21`}],[`path`,{d:`M17.64 18.67 20 21`}]],Oa=[[`path`,{d:`M11 21c0-2.5 2-2.5 2-5`}],[`path`,{d:`M16 21c0-2.5 2-2.5 2-5`}],[`path`,{d:`m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8`}],[`path`,{d:`M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 21c0-2.5 2-2.5 2-5`}]],ka=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`polyline`,{points:`11 3 11 11 14 8 17 11 17 3`}]],Aa=[[`path`,{d:`M2 12h20`}],[`path`,{d:`M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4`}],[`path`,{d:`M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4`}],[`path`,{d:`M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1`}]],ja=[[`path`,{d:`M12 2v20`}],[`path`,{d:`M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4`}],[`path`,{d:`M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4`}],[`path`,{d:`M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1`}],[`path`,{d:`M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1`}]],Ma=[[`rect`,{width:`6`,height:`16`,x:`4`,y:`2`,rx:`2`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`9`,rx:`2`}],[`path`,{d:`M22 22H2`}]],Na=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M17 22v-5`}],[`path`,{d:`M17 7V2`}],[`path`,{d:`M7 22v-3`}],[`path`,{d:`M7 5V2`}]],Pa=[[`rect`,{width:`16`,height:`6`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`9`,height:`6`,x:`9`,y:`14`,rx:`2`}],[`path`,{d:`M22 22V2`}]],Fa=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M10 2v20`}],[`path`,{d:`M20 2v20`}]],Ia=[[`rect`,{width:`6`,height:`14`,x:`4`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`14`,y:`7`,rx:`2`}],[`path`,{d:`M4 2v20`}],[`path`,{d:`M14 2v20`}]],La=[[`rect`,{width:`6`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`7`,rx:`2`}],[`path`,{d:`M12 2v20`}]],Ra=[[`rect`,{width:`6`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`12`,y:`7`,rx:`2`}],[`path`,{d:`M22 2v20`}]],za=[[`rect`,{width:`6`,height:`14`,x:`6`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`7`,rx:`2`}],[`path`,{d:`M2 2v20`}]],Ba=[[`rect`,{width:`6`,height:`10`,x:`9`,y:`7`,rx:`2`}],[`path`,{d:`M4 22V2`}],[`path`,{d:`M20 22V2`}]],Va=[[`rect`,{width:`6`,height:`16`,x:`4`,y:`6`,rx:`2`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`6`,rx:`2`}],[`path`,{d:`M22 2H2`}]],Ha=[[`rect`,{width:`6`,height:`14`,x:`3`,y:`5`,rx:`2`}],[`rect`,{width:`6`,height:`10`,x:`15`,y:`7`,rx:`2`}],[`path`,{d:`M3 2v20`}],[`path`,{d:`M21 2v20`}]],Ua=[[`rect`,{width:`9`,height:`6`,x:`6`,y:`14`,rx:`2`}],[`rect`,{width:`16`,height:`6`,x:`6`,y:`4`,rx:`2`}],[`path`,{d:`M2 2v20`}]],Wa=[[`path`,{d:`M22 17h-3`}],[`path`,{d:`M22 7h-5`}],[`path`,{d:`M5 17H2`}],[`path`,{d:`M7 7H2`}],[`rect`,{x:`5`,y:`14`,width:`14`,height:`6`,rx:`2`}],[`rect`,{x:`7`,y:`4`,width:`10`,height:`6`,rx:`2`}]],Ga=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`14`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`4`,rx:`2`}],[`path`,{d:`M2 20h20`}],[`path`,{d:`M2 10h20`}]],Ka=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`14`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`4`,rx:`2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M2 4h20`}]],qa=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`16`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`2`,rx:`2`}],[`path`,{d:`M2 12h20`}]],Ja=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`12`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`2`,rx:`2`}],[`path`,{d:`M2 22h20`}]],Ya=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`16`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`6`,rx:`2`}],[`path`,{d:`M2 2h20`}]],Xa=[[`rect`,{width:`10`,height:`6`,x:`7`,y:`9`,rx:`2`}],[`path`,{d:`M22 20H2`}],[`path`,{d:`M22 4H2`}]],Za=[[`rect`,{width:`14`,height:`6`,x:`5`,y:`15`,rx:`2`}],[`rect`,{width:`10`,height:`6`,x:`7`,y:`3`,rx:`2`}],[`path`,{d:`M2 21h20`}],[`path`,{d:`M2 3h20`}]],Qa=[[`path`,{d:`M10 10H6`}],[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14`}],[`path`,{d:`M8 8v4`}],[`path`,{d:`M9 18h6`}],[`circle`,{cx:`17`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],$a=[[`path`,{d:`M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5`}],[`path`,{d:`M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5`}]],eee=[[`path`,{d:`M16 12h3`}],[`path`,{d:`M17.5 12a8 8 0 0 1-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13`}]],tee=[[`path`,{d:`M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8`}],[`path`,{d:`M10 5H8a2 2 0 0 0 0 4h.68`}],[`path`,{d:`M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8`}],[`path`,{d:`M14 5h2a2 2 0 0 1 0 4h-.68`}],[`path`,{d:`M18 22H6`}],[`path`,{d:`M9 2h6`}]],nee=[[`path`,{d:`M12 6v16`}],[`path`,{d:`m19 13 2-1a9 9 0 0 1-18 0l2 1`}],[`path`,{d:`M9 11h6`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}]],ree=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2`}],[`path`,{d:`M7.5 8 10 9`}],[`path`,{d:`m14 9 2.5-1`}],[`path`,{d:`M9 10h.01`}],[`path`,{d:`M15 10h.01`}]],iee=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 15h8`}],[`path`,{d:`M8 9h2`}],[`path`,{d:`M14 9h2`}]],aee=[[`path`,{d:`M2 12 7 2`}],[`path`,{d:`m7 12 5-10`}],[`path`,{d:`m12 12 5-10`}],[`path`,{d:`m17 12 5-10`}],[`path`,{d:`M4.5 7h15`}],[`path`,{d:`M12 16v6`}]],oee=[[`path`,{d:`M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4`}],[`path`,{d:`M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z`}],[`path`,{d:`M9 12v5`}],[`path`,{d:`M15 12v5`}],[`path`,{d:`M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1`}]],eo=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m14.31 8 5.74 9.94`}],[`path`,{d:`M9.69 8h11.48`}],[`path`,{d:`m7.38 12 5.74-9.94`}],[`path`,{d:`M9.69 16 3.95 6.06`}],[`path`,{d:`M14.31 16H2.83`}],[`path`,{d:`m16.62 12-5.74 9.94`}]],to=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M10 8h.01`}],[`path`,{d:`M14 8h.01`}]],no=[[`path`,{d:`M12 6.528V3a1 1 0 0 1 1-1h0`}],[`path`,{d:`M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21`}]],ro=[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}],[`path`,{d:`M10 4v4`}],[`path`,{d:`M2 8h20`}],[`path`,{d:`M6 4v4`}]],io=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`}],[`path`,{d:`m9 15 3-3 3 3`}],[`path`,{d:`M12 12v9`}]],ao=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}],[`path`,{d:`m9.5 17 5-5`}],[`path`,{d:`m9.5 12 5 5`}]],oo=[[`path`,{d:`M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3`}],[`path`,{d:`M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],so=[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}],[`path`,{d:`M10 12h4`}]],co=[[`path`,{d:`M14 8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-6.939 6.939a1.207 1.207 0 0 1-1.708 0l-6.94-6.94a.707.707 0 0 1 .5-1.206H8a1 1 0 0 0 1-1V9a1 1 0 0 1 1-1z`}],[`path`,{d:`M9 4h6`}]],lo=[[`path`,{d:`M9 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-7.086 7.086a1 1 0 0 1-1.414 0l-7.086-7.086a.707.707 0 0 1 .5-1.207H8a1 1 0 0 0 1-1z`}]],uo=[[`path`,{d:`M13 9a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707l6.94 6.94a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z`}],[`path`,{d:`M20 9v6`}]],fo=[[`path`,{d:`M10.793 19.793a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707z`}]],po=[[`path`,{d:`M11 9a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707l-6.94 6.94a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H9a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`}],[`path`,{d:`M4 9v6`}]],mo=[[`path`,{d:`M13.207 19.793a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707z`}]],ho=[[`path`,{d:`M14 16a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-6.939-6.939a1.207 1.207 0 0 0-1.708 0l-6.94 6.94a.707.707 0 0 0 .5 1.206H8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1z`}],[`path`,{d:`M9 20h6`}]],go=[[`path`,{d:`M9 19a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-6a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-7.086-7.086a1 1 0 0 0-1.414 0l-7.086 7.086a.707.707 0 0 0 .5 1.207H8a1 1 0 0 1 1 1z`}]],_o=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`rect`,{x:`15`,y:`4`,width:`4`,height:`6`,ry:`2`}],[`path`,{d:`M17 20v-6h-2`}],[`path`,{d:`M15 20h4`}]],vo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M17 10V4h-2`}],[`path`,{d:`M15 10h4`}],[`rect`,{x:`15`,y:`14`,width:`4`,height:`6`,ry:`2`}]],yo=[[`path`,{d:`M19 3H5`}],[`path`,{d:`M12 21V7`}],[`path`,{d:`m6 15 6 6 6-6`}]],bo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M20 8h-5`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`}],[`path`,{d:`M15 14h5l-5 6h5`}]],xo=[[`path`,{d:`M17 7 7 17`}],[`path`,{d:`M17 17H7V7`}]],So=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h4`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h10`}]],Co=[[`path`,{d:`m7 7 10 10`}],[`path`,{d:`M17 7v10H7`}]],wo=[[`path`,{d:`M12 17V3`}],[`path`,{d:`m6 11 6 6 6-6`}],[`path`,{d:`M19 21H5`}]],To=[[`path`,{d:`M12 2v14`}],[`path`,{d:`m19 9-7 7-7-7`}],[`circle`,{cx:`12`,cy:`21`,r:`1`}]],Eo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`m21 8-4-4-4 4`}],[`path`,{d:`M17 4v16`}]],Do=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h10`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h4`}]],Oo=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M15 4h5l-5 6h5`}],[`path`,{d:`M15 20v-3.5a2.5 2.5 0 0 1 5 0V20`}],[`path`,{d:`M20 18h-5`}]],ko=[[`path`,{d:`m9 6-6 6 6 6`}],[`path`,{d:`M3 12h14`}],[`path`,{d:`M21 19V5`}]],Ao=[[`path`,{d:`M12 5v14`}],[`path`,{d:`m19 12-7 7-7-7`}]],jo=[[`path`,{d:`M8 3 4 7l4 4`}],[`path`,{d:`M4 7h16`}],[`path`,{d:`m16 21 4-4-4-4`}],[`path`,{d:`M20 17H4`}]],Mo=[[`path`,{d:`M3 19V5`}],[`path`,{d:`m13 6-6 6 6 6`}],[`path`,{d:`M7 12h14`}]],No=[[`path`,{d:`m12 19-7-7 7-7`}],[`path`,{d:`M19 12H5`}]],Po=[[`path`,{d:`M3 5v14`}],[`path`,{d:`M21 12H7`}],[`path`,{d:`m15 18 6-6-6-6`}]],Fo=[[`path`,{d:`m16 3 4 4-4 4`}],[`path`,{d:`M20 7H4`}],[`path`,{d:`m8 21-4-4 4-4`}],[`path`,{d:`M4 17h16`}]],Io=[[`path`,{d:`M17 12H3`}],[`path`,{d:`m11 18 6-6-6-6`}],[`path`,{d:`M21 5v14`}]],Lo=[[`path`,{d:`M5 12h14`}],[`path`,{d:`m12 5 7 7-7 7`}]],Ro=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`rect`,{x:`15`,y:`4`,width:`4`,height:`6`,ry:`2`}],[`path`,{d:`M17 20v-6h-2`}],[`path`,{d:`M15 20h4`}]],zo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M17 10V4h-2`}],[`path`,{d:`M15 10h4`}],[`rect`,{x:`15`,y:`14`,width:`4`,height:`6`,ry:`2`}]],Bo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M20 8h-5`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`}],[`path`,{d:`M15 14h5l-5 6h5`}]],Vo=[[`path`,{d:`m21 16-4 4-4-4`}],[`path`,{d:`M17 20V4`}],[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}]],Ho=[[`path`,{d:`m5 9 7-7 7 7`}],[`path`,{d:`M12 16V2`}],[`circle`,{cx:`12`,cy:`21`,r:`1`}]],Uo=[[`path`,{d:`m18 9-6-6-6 6`}],[`path`,{d:`M12 3v14`}],[`path`,{d:`M5 21h14`}]],Wo=[[`path`,{d:`M7 17V7h10`}],[`path`,{d:`M17 17 7 7`}]],Go=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h4`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h10`}]],Ko=[[`path`,{d:`M7 7h10v10`}],[`path`,{d:`M7 17 17 7`}]],qo=[[`path`,{d:`M5 3h14`}],[`path`,{d:`m18 13-6-6-6 6`}],[`path`,{d:`M12 7v14`}]],Jo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h4`}]],Yo=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M15 4h5l-5 6h5`}],[`path`,{d:`M15 20v-3.5a2.5 2.5 0 0 1 5 0V20`}],[`path`,{d:`M20 18h-5`}]],Xo=[[`path`,{d:`m5 12 7-7 7 7`}],[`path`,{d:`M12 19V5`}]],Zo=[[`path`,{d:`M12 6v12`}],[`path`,{d:`M17.196 9 6.804 15`}],[`path`,{d:`m6.804 9 10.392 6`}]],Qo=[[`path`,{d:`m4 6 3-3 3 3`}],[`path`,{d:`M7 17V3`}],[`path`,{d:`m14 6 3-3 3 3`}],[`path`,{d:`M17 17V3`}],[`path`,{d:`M4 21h16`}]],$o=[[`path`,{d:`M12.983 21.186a1 1 0 0 1-1.966 0 10 10 0 0 0-8.203-8.203 1 1 0 0 1 0-1.966 10 10 0 0 0 8.203-8.203 1 1 0 0 1 1.966 0 10 10 0 0 0 8.203 8.203 1 1 0 0 1 0 1.966 10 10 0 0 0-8.203 8.203`}]],es=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`}]],ts=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z`}],[`path`,{d:`M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z`}]],ns=[[`path`,{d:`M2 10v3`}],[`path`,{d:`M6 6v11`}],[`path`,{d:`M10 3v18`}],[`path`,{d:`M14 8v7`}],[`path`,{d:`M18 5v13`}],[`path`,{d:`M22 10v3`}]],rs=[[`path`,{d:`m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526`}],[`circle`,{cx:`12`,cy:`8`,r:`6`}]],is=[[`path`,{d:`m14 12-8.381 8.38a1 1 0 0 1-3.001-3L11 9`}],[`path`,{d:`M15 15.5a.5.5 0 0 0 .5.5A6.5 6.5 0 0 0 22 9.5a.5.5 0 0 0-.5-.5h-1.672a2 2 0 0 1-1.414-.586l-5.062-5.062a1.205 1.205 0 0 0-1.704 0L9.352 5.648a1.205 1.205 0 0 0 0 1.704l5.062 5.062A2 2 0 0 1 15 13.828z`}]],as=[[`path`,{d:`M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2`}]],os=[[`path`,{d:`M13.5 10.5 15 9`}],[`path`,{d:`M4 4v15a1 1 0 0 0 1 1h15`}],[`path`,{d:`M4.293 19.707 6 18`}],[`path`,{d:`m9 15 1.5-1.5`}]],ss=[[`path`,{d:`M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}],[`path`,{d:`M8 10h8`}],[`path`,{d:`M8 18h8`}],[`path`,{d:`M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6`}],[`path`,{d:`M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2`}]],cs=[[`path`,{d:`M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5`}],[`path`,{d:`M15 12h.01`}],[`path`,{d:`M19.38 6.813A9 9 0 0 1 20.8 10.2a2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1`}],[`path`,{d:`M9 12h.01`}]],ls=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]],us=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M15.4 10a4 4 0 1 0 0 4`}]],ds=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m9 12 2 2 4-4`}]],fs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`}],[`path`,{d:`M12 18V6`}]],ps=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M7 12h5`}],[`path`,{d:`M15 9.4a4 4 0 1 0 0 5.2`}]],ms=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M8 8h8`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m13 17-5-1h1a4 4 0 0 0 0-8`}]],hs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`8`,y2:`8`}]],gs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m9 8 3 3v7`}],[`path`,{d:`m12 11 3-3`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M9 16h6`}]],_s=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],vs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],ys=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`16`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],bs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M8 12h4`}],[`path`,{d:`M10 16V9.5a2.5 2.5 0 0 1 5 0`}],[`path`,{d:`M8 16h7`}]],xs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`line`,{x1:`12`,x2:`12.01`,y1:`17`,y2:`17`}]],Ss=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M9 16h5`}],[`path`,{d:`M9 12h5a2 2 0 1 0 0-4h-3v9`}]],Cs=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`path`,{d:`M11 17V8h4`}],[`path`,{d:`M11 12h3`}],[`path`,{d:`M9 16h4`}]],ws=[[`path`,{d:`M11 7v10a5 5 0 0 0 5-5`}],[`path`,{d:`m15 8-6 3`}],[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76`}]],Ts=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}],[`line`,{x1:`15`,x2:`9`,y1:`9`,y2:`15`}],[`line`,{x1:`9`,x2:`15`,y1:`9`,y2:`15`}]],Es=[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`}]],Ds=[[`path`,{d:`M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2`}],[`path`,{d:`M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10`}],[`rect`,{width:`13`,height:`8`,x:`8`,y:`6`,rx:`1`}],[`circle`,{cx:`18`,cy:`20`,r:`2`}],[`circle`,{cx:`9`,cy:`20`,r:`2`}]],Os=[[`path`,{d:`M12 16v1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v1`}],[`path`,{d:`M12 6a2 2 0 0 1 2 2`}],[`path`,{d:`M18 8c0 4-3.5 8-6 8s-6-4-6-8a6 6 0 0 1 12 0`}]],ks=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M4.929 4.929 19.07 19.071`}]],As=[[`path`,{d:`M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5`}],[`path`,{d:`M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z`}]],js=[[`path`,{d:`M10 10.01h.01`}],[`path`,{d:`M10 14.01h.01`}],[`path`,{d:`M14 10.01h.01`}],[`path`,{d:`M14 14.01h.01`}],[`path`,{d:`M18 6v12`}],[`path`,{d:`M6 6v12`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`}]],Ms=[[`path`,{d:`M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`m16 19 3 3 3-3`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Ns=[[`path`,{d:`M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M19 22v-6`}],[`path`,{d:`m22 19-3-3-3 3`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Ps=[[`path`,{d:`M11.748 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4.875`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Fs=[[`path`,{d:`M13 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5`}],[`path`,{d:`m17 17 5 5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`m22 17-5 5`}],[`path`,{d:`M6 12h.01`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],Is=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M6 12h.01M18 12h.01`}]],Ls=[[`path`,{d:`M3 5v14`}],[`path`,{d:`M8 5v14`}],[`path`,{d:`M12 5v14`}],[`path`,{d:`M17 5v14`}],[`path`,{d:`M21 5v14`}]],Rs=[[`path`,{d:`M10 3a41 41 0 0 0 0 18`}],[`path`,{d:`M14 3a41 41 0 0 1 0 18`}],[`path`,{d:`M17 3a2 2 0 0 1 1.68.92 15.25 15.25 0 0 1 0 16.16A2 2 0 0 1 17 21H7a2 2 0 0 1-1.68-.92 15.25 15.25 0 0 1 0-16.16A2 2 0 0 1 7 3z`}],[`path`,{d:`M3.84 17h16.32`}],[`path`,{d:`M3.84 7h16.32`}]],zs=[[`path`,{d:`M4 20h16`}],[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}]],Bs=[[`path`,{d:`M10 4 8 6`}],[`path`,{d:`M17 19v2`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`M7 19v2`}],[`path`,{d:`M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`}]],Vs=[[`path`,{d:`m11 7-3 5h4l-3 5`}],[`path`,{d:`M14.856 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.935`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M5.14 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.936`}]],Hs=[[`path`,{d:`M10 10v4`}],[`path`,{d:`M14 10v4`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 10v4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Us=[[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 14v-4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Ws=[[`path`,{d:`M10 14v-4`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 14v-4`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Gs=[[`path`,{d:`M10 9v6`}],[`path`,{d:`M12.543 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.605`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M7 12h6`}],[`path`,{d:`M7.606 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.606`}]],Ks=[[`path`,{d:`M10 17h.01`}],[`path`,{d:`M10 7v6`}],[`path`,{d:`M14 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M22 14v-4`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2`}]],qs=[[`path`,{d:`M 22 14 L 22 10`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`}]],Js=[[`path`,{d:`M4.5 3h15`}],[`path`,{d:`M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3`}],[`path`,{d:`M6 14h12`}]],Ys=[[`path`,{d:`M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1`}],[`path`,{d:`M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66`}],[`path`,{d:`M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],Xs=[[`path`,{d:`M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z`}],[`path`,{d:`M5.341 10.62a4 4 0 1 0 5.279-5.28`}]],Zs=[[`path`,{d:`M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8`}],[`path`,{d:`M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4`}],[`path`,{d:`M12 4v6`}],[`path`,{d:`M2 18h20`}]],Qs=[[`path`,{d:`M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8`}],[`path`,{d:`M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4`}],[`path`,{d:`M3 18h18`}]],$s=[[`path`,{d:`M2 4v16`}],[`path`,{d:`M2 8h18a2 2 0 0 1 2 2v10`}],[`path`,{d:`M2 17h20`}],[`path`,{d:`M6 8v9`}]],ec=[[`path`,{d:`M11.771 6.109a2.5 2.5 0 0 1 3.12 3.12`}],[`path`,{d:`M17.852 12.185a6.5 6.5 0 0 0-9.035-9.04`}],[`path`,{d:`M18.013 18.013C15.029 20.349 10.831 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5`}],[`path`,{d:`m18.5 6 2.19 4.5a6.48 6.48 0 0 1-.139 4.393`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6.355 6.37a7 7 0 0 0-.075.23c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c3.356 0 6.993-1.267 9.85-3.151`}]],tc=[[`path`,{d:`M16.4 13.7A6.5 6.5 0 1 0 6.28 6.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3`}],[`path`,{d:`m18.5 6 2.19 4.5a6.48 6.48 0 0 1-2.29 7.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5`}],[`circle`,{cx:`12.5`,cy:`8.5`,r:`2.5`}]],nc=[[`path`,{d:`M13 13v5`}],[`path`,{d:`M17 11.47V8`}],[`path`,{d:`M17 11h1a3 3 0 0 1 2.745 4.211`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268`}],[`path`,{d:`M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12`}],[`path`,{d:`M9 14.6V18`}]],rc=[[`path`,{d:`M17 11h1a3 3 0 0 1 0 6h-1`}],[`path`,{d:`M9 12v6`}],[`path`,{d:`M13 12v6`}],[`path`,{d:`M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z`}],[`path`,{d:`M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`}]],ic=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M11.68 2.009A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673c-.824-.85-1.678-1.731-2.21-3.348`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],ac=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`m15 8 2 2 4-4`}],[`path`,{d:`M16.8607 4.4824A6 6 0 0 0 6 8C6 12.499 4.589 13.956 3.262 15.326`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17H20A1 1 0 0 0 20.74 15.327C20.209 14.779 19.665 14.218 19.203 13.454`}]],oc=[[`path`,{d:`M18.518 17.347A7 7 0 0 1 14 19`}],[`path`,{d:`M18.8 4A11 11 0 0 1 20 9`}],[`path`,{d:`M9 9h.01`}],[`circle`,{cx:`20`,cy:`16`,r:`2`}],[`circle`,{cx:`9`,cy:`9`,r:`7`}],[`rect`,{x:`4`,y:`16`,width:`10`,height:`6`,rx:`2`}]],sc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M15 8h6`}],[`path`,{d:`M16.243 3.757A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673A9.4 9.4 0 0 1 18.667 12`}]],cc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`}]],lc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M15 8h6`}],[`path`,{d:`M18 5v6`}],[`path`,{d:`M20.002 14.464a9 9 0 0 0 .738.863A1 1 0 0 1 20 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 8.75-5.332`}]],uc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`}]],dc=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`}]],fc=[[`rect`,{width:`13`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`m22 15-3-3 3-3`}],[`rect`,{width:`13`,height:`7`,x:`3`,y:`14`,rx:`1`}]],pc=[[`rect`,{width:`13`,height:`7`,x:`8`,y:`3`,rx:`1`}],[`path`,{d:`m2 9 3 3-3 3`}],[`rect`,{width:`13`,height:`7`,x:`8`,y:`14`,rx:`1`}]],mc=[[`rect`,{width:`7`,height:`13`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`m9 22 3-3 3 3`}],[`rect`,{width:`7`,height:`13`,x:`14`,y:`3`,rx:`1`}]],hc=[[`rect`,{width:`7`,height:`13`,x:`3`,y:`8`,rx:`1`}],[`path`,{d:`m15 2-3 3-3-3`}],[`rect`,{width:`7`,height:`13`,x:`14`,y:`8`,rx:`1`}]],gc=[[`path`,{d:`M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1`}],[`path`,{d:`M15 14a5 5 0 0 0-7.584 2`}],[`path`,{d:`M9.964 6.825C8.019 7.977 9.5 13 8 15`}]],_c=[[`circle`,{cx:`18.5`,cy:`17.5`,r:`3.5`}],[`circle`,{cx:`5.5`,cy:`17.5`,r:`3.5`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`path`,{d:`M12 17.5V14l-3-3 4-3 2 3h2`}]],vc=[[`rect`,{x:`14`,y:`14`,width:`4`,height:`6`,rx:`2`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`6`,rx:`2`}],[`path`,{d:`M6 20h4`}],[`path`,{d:`M14 10h4`}],[`path`,{d:`M6 14h2v6`}],[`path`,{d:`M14 4h2v6`}]],yc=[[`circle`,{cx:`12`,cy:`11.9`,r:`2`}],[`path`,{d:`M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6`}],[`path`,{d:`m8.9 10.1 1.4.8`}],[`path`,{d:`M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5`}],[`path`,{d:`m15.1 10.1-1.4.8`}],[`path`,{d:`M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2`}],[`path`,{d:`M12 13.9v1.6`}],[`path`,{d:`M13.5 5.4c-1-.2-2-.2-3 0`}],[`path`,{d:`M17 16.4c.7-.7 1.2-1.6 1.5-2.5`}],[`path`,{d:`M5.5 13.9c.3.9.8 1.8 1.5 2.5`}]],bc=[[`path`,{d:`M10 10h4`}],[`path`,{d:`M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3`}],[`path`,{d:`M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z`}],[`path`,{d:`M 22 16 L 2 16`}],[`path`,{d:`M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z`}],[`path`,{d:`M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3`}]],xc=[[`path`,{d:`M16 7h.01`}],[`path`,{d:`M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20`}],[`path`,{d:`m20 7 2 .5-2 .5`}],[`path`,{d:`M10 18v3`}],[`path`,{d:`M14 17.75V21`}],[`path`,{d:`M7 18a6 6 0 0 0 3.84-10.61`}]],Sc=[[`path`,{d:`M12 18v4`}],[`path`,{d:`m17 18 1.956-11.468`}],[`path`,{d:`m3 8 7.82-5.615a2 2 0 0 1 2.36 0L21 8`}],[`path`,{d:`M4 18h16`}],[`path`,{d:`M7 18 5.044 6.532`}],[`circle`,{cx:`12`,cy:`10`,r:`2`}]],Cc=[[`path`,{d:`M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727`}]],wc=[[`circle`,{cx:`9`,cy:`9`,r:`7`}],[`circle`,{cx:`15`,cy:`15`,r:`7`}]],Tc=[[`path`,{d:`M3 3h18`}],[`path`,{d:`M20 7H8`}],[`path`,{d:`M20 11H8`}],[`path`,{d:`M10 19h10`}],[`path`,{d:`M8 15h12`}],[`path`,{d:`M4 3v14`}],[`circle`,{cx:`4`,cy:`19`,r:`2`}]],Ec=[[`path`,{d:`M8 14a2 2 0 0 0-1.963 1.615l-1.018 5.193A1 1 0 0 0 6 22h12a1 1 0 0 0 .981-1.192l-1.018-5.193A2 2 0 0 0 16 14z`}],[`path`,{d:`m17 2-1 12`}],[`path`,{d:`M8.006 14 7 2`}],[`path`,{d:`M7.565 8.787A5 5 0 0 0 12 8a5 5 0 0 1 4.56-.75`}],[`path`,{d:`M19 2H5a2 2 0 0 0-2 2v5a2 2 0 0 0 .688 1.5`}],[`path`,{d:`M12 18h.01`}]],Dc=[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`}]],Oc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`12`}],[`line`,{x1:`3`,x2:`6`,y1:`12`,y2:`12`}]],kc=[[`path`,{d:`m17 17-5 5V12l-5 5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M14.5 9.5 17 7l-5-5v4.5`}]],Ac=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}],[`path`,{d:`M20.83 14.83a4 4 0 0 0 0-5.66`}],[`path`,{d:`M18 12h.01`}]],jc=[[`path`,{d:`m7 7 10 10-5 5V2l5 5L7 17`}]],Mc=[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`}]],Nc=[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],Pc=[[`circle`,{cx:`11`,cy:`13`,r:`9`}],[`path`,{d:`M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95`}],[`path`,{d:`m22 2-1.5 1.5`}]],Fc=[[`path`,{d:`M14 4.5a1 1 0 0 1 5 0 .5.5 0 0 0 .5.5 1 1 0 0 1 0 5c-.81 0-1.8-.7-2.5 0l-1.958 1.957a.15.15 0 0 1-.252-.072l-.493-2.07a.15.15 0 0 0-.111-.112l-2.072-.494a.15.15 0 0 1-.072-.252L14 7c.7-.7 0-1.69 0-2.5`}],[`path`,{d:`m16 20-1-2`}],[`path`,{d:`m20 16-2-1`}],[`path`,{d:`m4 8 2 1`}],[`path`,{d:`m8 4 1 2`}],[`path`,{d:`M9.698 14.19a.15.15 0 0 0 .112.112l2.074.489a.15.15 0 0 1 .072.252L10 17c-.7.7 0 1.69 0 2.5a1 1 0 0 1-5 0 .495.495 0 0 0-.5-.5 1 1 0 0 1 0-5c.81 0 1.8.7 2.5 0l1.956-1.957a.15.15 0 0 1 .252.072z`}]],Ic=[[`path`,{d:`M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z`}]],Lc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m8 13 4-7 4 7`}],[`path`,{d:`M9.1 11h5.7`}]],Rc=[[`path`,{d:`M12 13h.01`}],[`path`,{d:`M12 6v3`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],zc=[[`path`,{d:`M12 6v7`}],[`path`,{d:`M16 8v3`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 8v3`}]],Bc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 9.5 2 2 4-4`}]],Vc=[[`path`,{d:`M5 7a2 2 0 0 0-2 2v11`}],[`path`,{d:`M5.803 18H5a2 2 0 0 0 0 4h9.5a.5.5 0 0 0 .5-.5V21`}],[`path`,{d:`M9 15V4a2 2 0 0 1 2-2h9.5a.5.5 0 0 1 .5.5v14a.5.5 0 0 1-.5.5H11a2 2 0 0 1 0-4h10`}]],Hc=[[`path`,{d:`M12 17h1.5`}],[`path`,{d:`M12 22h1.5`}],[`path`,{d:`M12 2h1.5`}],[`path`,{d:`M17.5 22H19a1 1 0 0 0 1-1`}],[`path`,{d:`M17.5 2H19a1 1 0 0 1 1 1v1.5`}],[`path`,{d:`M20 14v3h-2.5`}],[`path`,{d:`M20 8.5V10`}],[`path`,{d:`M4 10V8.5`}],[`path`,{d:`M4 19.5V14`}],[`path`,{d:`M4 4.5A2.5 2.5 0 0 1 6.5 2H8`}],[`path`,{d:`M8 22H6.5a1 1 0 0 1 0-5H8`}]],Uc=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 10 3 3 3-3`}]],Wc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 12v-2a4 4 0 0 1 8 0v2`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`12`,r:`1`}]],Gc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8.62 9.8A2.25 2.25 0 1 1 12 6.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}]],Kc=[[`path`,{d:`m20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`10`,cy:`8`,r:`2`}]],qc=[[`path`,{d:`M13 2H6.5A2.5 2.5 0 0 0 4 4.5v15`}],[`path`,{d:`M17 2v6`}],[`path`,{d:`M17 4h2`}],[`path`,{d:`M20 15.2V21a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`17`,cy:`10`,r:`2`}]],Jc=[[`path`,{d:`M18 6V4a2 2 0 1 0-4 0v2`}],[`path`,{d:`M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10`}],[`rect`,{x:`12`,y:`6`,width:`8`,height:`5`,rx:`1`}]],Yc=[[`path`,{d:`M10 2v8l3-3 3 3V2`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],Xc=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M9 10h6`}]],Zc=[[`path`,{d:`M12 5v16`}],[`path`,{d:`m16 12 2 2 4-4`}],[`path`,{d:`M22 6V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2h4.001A2 2 0 0022 17v-1.344`}]],Qc=[[`path`,{d:`M12 5v16`}],[`path`,{d:`M16 13h2`}],[`path`,{d:`M16 9h2`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`}],[`path`,{d:`M6 13h2`}],[`path`,{d:`M6 9h2`}]],$c=[[`path`,{d:`M12 5v16`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`}]],el=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M9 10h6`}]],tl=[[`path`,{d:`M11 22H5.5a1 1 0 0 1 0-5h4.501`}],[`path`,{d:`m21 22-1.879-1.878`}],[`path`,{d:`M3 19.5v-15A2.5 2.5 0 0 1 5.5 2H18a1 1 0 0 1 1 1v8`}],[`circle`,{cx:`17`,cy:`18`,r:`3`}]],nl=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M8 11h8`}],[`path`,{d:`M8 7h6`}]],rl=[[`path`,{d:`M10 13h4`}],[`path`,{d:`M12 6v7`}],[`path`,{d:`M16 8V6H8v2`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],il=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2`}],[`path`,{d:`m9 10 3-3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],al=[[`path`,{d:`M12 13V7`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9 10 3-3 3 3`}]],ol=[[`path`,{d:`M15 13a3 3 0 1 0-6 0`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}]],sl=[[`path`,{d:`m14.5 7-5 5`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}],[`path`,{d:`m9.5 7 5 5`}]],cl=[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`}]],ll=[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}],[`path`,{d:`m9 10 2 2 4-4`}]],ul=[[`path`,{d:`M15 10H9`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],dl=[[`path`,{d:`M19 19v1a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.656 3H17a2 2 0 0 1 2 2v8.344`}]],fl=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M15 10H9`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],pl=[[`path`,{d:`m14.5 7.5-5 5`}],[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}],[`path`,{d:`m9.5 7.5 5 5`}]],ml=[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`}]],hl=[[`path`,{d:`M12 6V2H8`}],[`path`,{d:`M15 11v2`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`M20 16a2 2 0 0 1-2 2H8.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 4 20.286V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z`}],[`path`,{d:`M9 11v2`}]],gl=[[`path`,{d:`M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4`}],[`path`,{d:`M8 8v1`}],[`path`,{d:`M12 8v1`}],[`path`,{d:`M16 8v1`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`9`,rx:`2`}],[`circle`,{cx:`8`,cy:`15`,r:`2`}],[`circle`,{cx:`16`,cy:`15`,r:`2`}]],_l=[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M22 22 2 2`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`}],[`path`,{d:`M9 13v2`}],[`path`,{d:`M9.67 4H12v2.33`}]],vl=[[`path`,{d:`M12 8V4H8`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M15 13v2`}],[`path`,{d:`M9 13v2`}]],yl=[[`path`,{d:`M10 3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a6 6 0 0 0 1.2 3.6l.6.8A6 6 0 0 1 17 13v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8a6 6 0 0 1 1.2-3.6l.6-.8A6 6 0 0 0 10 5z`}],[`path`,{d:`M17 13h-4a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h4`}]],bl=[[`path`,{d:`M17 3h4v4`}],[`path`,{d:`M18.575 11.082a13 13 0 0 1 1.048 9.027 1.17 1.17 0 0 1-1.914.597L14 17`}],[`path`,{d:`M7 10 3.29 6.29a1.17 1.17 0 0 1 .6-1.91 13 13 0 0 1 9.03 1.05`}],[`path`,{d:`M7 14a1.7 1.7 0 0 0-1.207.5l-2.646 2.646A.5.5 0 0 0 3.5 18H5a1 1 0 0 1 1 1v1.5a.5.5 0 0 0 .854.354L9.5 18.207A1.7 1.7 0 0 0 10 17v-2a1 1 0 0 0-1-1z`}],[`path`,{d:`M9.707 14.293 21 3`}]],xl=[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`}],[`path`,{d:`M12 22V12`}]],Sl=[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`}],[`path`,{d:`m7 16.5-4.74-2.85`}],[`path`,{d:`m7 16.5 5-3`}],[`path`,{d:`M7 16.5v5.17`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`}],[`path`,{d:`m17 16.5-5-3`}],[`path`,{d:`m17 16.5 4.74-2.85`}],[`path`,{d:`M17 16.5v5.17`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`}],[`path`,{d:`M12 8 7.26 5.15`}],[`path`,{d:`m12 8 4.74-2.85`}],[`path`,{d:`M12 13.5V8`}]],Cl=[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`}]],wl=[[`path`,{d:`M16 3h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M8 21H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3`}]],Tl=[[`path`,{d:`M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z`}],[`path`,{d:`M9 13a4.5 4.5 0 0 0 3-4`}],[`path`,{d:`M6.003 5.125A3 3 0 0 0 6.401 6.5`}],[`path`,{d:`M3.477 10.896a4 4 0 0 1 .585-.396`}],[`path`,{d:`M6 18a4 4 0 0 1-1.967-.516`}],[`path`,{d:`M12 13h4`}],[`path`,{d:`M12 18h6a2 2 0 0 1 2 2v1`}],[`path`,{d:`M12 8h8`}],[`path`,{d:`M16 8V5a2 2 0 0 1 2-2`}],[`circle`,{cx:`16`,cy:`13`,r:`.5`}],[`circle`,{cx:`18`,cy:`3`,r:`.5`}],[`circle`,{cx:`20`,cy:`21`,r:`.5`}],[`circle`,{cx:`20`,cy:`8`,r:`.5`}]],El=[[`path`,{d:`m10.852 14.772-.383.923`}],[`path`,{d:`m10.852 9.228-.383-.923`}],[`path`,{d:`m13.148 14.772.382.924`}],[`path`,{d:`m13.531 8.305-.383.923`}],[`path`,{d:`m14.772 10.852.923-.383`}],[`path`,{d:`m14.772 13.148.923.383`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 0 0-5.63-1.446 3 3 0 0 0-.368 1.571 4 4 0 0 0-2.525 5.771`}],[`path`,{d:`M17.998 5.125a4 4 0 0 1 2.525 5.771`}],[`path`,{d:`M19.505 10.294a4 4 0 0 1-1.5 7.706`}],[`path`,{d:`M4.032 17.483A4 4 0 0 0 11.464 20c.18-.311.892-.311 1.072 0a4 4 0 0 0 7.432-2.516`}],[`path`,{d:`M4.5 10.291A4 4 0 0 0 6 18`}],[`path`,{d:`M6.002 5.125a3 3 0 0 0 .4 1.375`}],[`path`,{d:`m9.228 10.852-.923-.383`}],[`path`,{d:`m9.228 13.148-.923.383`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],Dl=[[`path`,{d:`M12 18V5`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`}]],Ol=[[`path`,{d:`M12 9v1.258`}],[`path`,{d:`M16 3v5.46`}],[`path`,{d:`M21 9.118V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5.75`}],[`path`,{d:`M22 17.5c0 2.499-1.75 3.749-3.83 4.474a.5.5 0 0 1-.335-.005c-2.085-.72-3.835-1.97-3.835-4.47V14a.5.5 0 0 1 .5-.499c1 0 2.25-.6 3.12-1.36a.6.6 0 0 1 .76-.001c.875.765 2.12 1.36 3.12 1.36a.5.5 0 0 1 .5.5z`}],[`path`,{d:`M3 15h7`}],[`path`,{d:`M3 9h12.142`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],kl=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 9v6`}],[`path`,{d:`M16 15v6`}],[`path`,{d:`M16 3v6`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],Al=[[`path`,{d:`M16 3v2.107`}],[`path`,{d:`M17 9c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 22 17a5 5 0 0 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C13 11.5 16 9 17 9`}],[`path`,{d:`M21 8.274V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.938`}],[`path`,{d:`M3 15h5.253`}],[`path`,{d:`M3 9h8.228`}],[`path`,{d:`M8 15v6`}],[`path`,{d:`M8 3v6`}]],jl=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M22 13a18.15 18.15 0 0 1-20 0`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Ml=[[`path`,{d:`M10 20v2`}],[`path`,{d:`M14 20v2`}],[`path`,{d:`M18 20v2`}],[`path`,{d:`M21 20H3`}],[`path`,{d:`M6 20v2`}],[`path`,{d:`M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12`}],[`rect`,{x:`4`,y:`6`,width:`16`,height:`10`,rx:`2`}]],Nl=[[`path`,{d:`M12 11v4`}],[`path`,{d:`M14 13h-4`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M18 6v14`}],[`path`,{d:`M6 6v14`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Pl=[[`path`,{d:`M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`}]],Fl=[[`path`,{d:`M10 13a3 3 0 0 1-2.121-5.121`}],[`path`,{d:`M15.606 14.204c-3.5 1.5-5.899 4.503-8.899 7.503A1 1 0 0 1 6 22c-2 0-4-2-4-4a1 1 0 0 1 .293-.707c1.911-1.911 3.823-3.578 5.347-5.441`}],[`path`,{d:`M16.573 14.737A4 4 0 0 1 14 11`}],[`path`,{d:`M7.14 10.907a4 4 0 1 1 2.756-7.43A4 4 0 0 1 16.7 4.48a2 2 0 0 1 2.82 2.82 4 4 0 0 1 1.002 6.805A4 4 0 1 1 13 16`}]],Il=[[`path`,{d:`m16 22-1-4`}],[`path`,{d:`M19 14a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2h-3a1 1 0 0 1-1-1V4a2 2 0 0 0-4 0v5a1 1 0 0 1-1 1H6a2 2 0 0 0-2 2v1a1 1 0 0 0 1 1`}],[`path`,{d:`M19 14H5l-1.973 6.767A1 1 0 0 0 4 22h16a1 1 0 0 0 .973-1.233z`}],[`path`,{d:`m8 22 1-4`}]],Ll=[[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`2`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2`}],[`path`,{d:`M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2`}]],Rl=[[`path`,{d:`m11 10 3 3`}],[`path`,{d:`M6.5 21A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z`}],[`path`,{d:`M9.969 17.031 21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031`}]],zl=[[`path`,{d:`M7.001 15.085A1.5 1.5 0 0 1 9 16.5`}],[`circle`,{cx:`18.5`,cy:`8.5`,r:`3.5`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`5.5`}],[`circle`,{cx:`7.5`,cy:`4.5`,r:`2.5`}]],Bl=[[`path`,{d:`M12 20v-8`}],[`path`,{d:`M12.656 7H14a4 4 0 0 1 4 4v1.344`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M17.123 17.123A6 6 0 0 1 6 14v-3a4 4 0 0 1 1.72-3.287`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M22 13h-3.344`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9.712 4.06A3 3 0 0 1 15 6v1.13`}]],Vl=[[`path`,{d:`M10 19.655A6 6 0 0 1 6 14v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 3.97`}],[`path`,{d:`M14 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`}]],Hl=[[`path`,{d:`M12 20v-9`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`}],[`path`,{d:`M14.12 3.88 16 2`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`}],[`path`,{d:`M22 13h-4`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`}],[`path`,{d:`M6 13H2`}],[`path`,{d:`m8 2 1.88 1.88`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`}]],Ul=[[`path`,{d:`M10 12h4`}],[`path`,{d:`M10 8h4`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`}]],Wl=[[`path`,{d:`M12 10h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M12 6h.01`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M16 14h.01`}],[`path`,{d:`M16 6h.01`}],[`path`,{d:`M8 10h.01`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M8 6h.01`}],[`path`,{d:`M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],Gl=[[`path`,{d:`M4 6 2 7`}],[`path`,{d:`M10 6h4`}],[`path`,{d:`m22 7-2-1`}],[`rect`,{width:`16`,height:`16`,x:`4`,y:`3`,rx:`2`}],[`path`,{d:`M4 11h16`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M16 15h.01`}],[`path`,{d:`M6 19v2`}],[`path`,{d:`M18 21v-2`}]],Kl=[[`path`,{d:`M8 6v6`}],[`path`,{d:`M15 6v6`}],[`path`,{d:`M2 12h19.6`}],[`path`,{d:`M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}],[`path`,{d:`M9 18h5`}],[`circle`,{cx:`16`,cy:`18`,r:`2`}]],ql=[[`path`,{d:`M10 3h.01`}],[`path`,{d:`M14 2h.01`}],[`path`,{d:`m2 9 20-5`}],[`path`,{d:`M12 12V6.5`}],[`rect`,{width:`16`,height:`10`,x:`4`,y:`12`,rx:`3`}],[`path`,{d:`M9 12v5`}],[`path`,{d:`M15 12v5`}],[`path`,{d:`M4 17h16`}]],Jl=[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`}],[`path`,{d:`M17 21v-2`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`}],[`path`,{d:`M21 21v-2`}],[`path`,{d:`M3 5V3`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`}],[`path`,{d:`M7 5V3`}]],Yl=[[`path`,{d:`M16 13H3`}],[`path`,{d:`M16 17H3`}],[`path`,{d:`m7.2 7.9-3.388 2.5A2 2 0 0 0 3 12.01V20a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-8.654c0-2-2.44-6.026-6.44-8.026a1 1 0 0 0-1.082.057L10.4 5.6`}],[`circle`,{cx:`9`,cy:`7`,r:`2`}]],Xl=[[`path`,{d:`M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8`}],[`path`,{d:`M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1`}],[`path`,{d:`M2 21h20`}],[`path`,{d:`M7 8v3`}],[`path`,{d:`M12 8v3`}],[`path`,{d:`M17 8v3`}],[`path`,{d:`M7 4h.01`}],[`path`,{d:`M12 4h.01`}],[`path`,{d:`M17 4h.01`}]],Zl=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`6`,y2:`6`}],[`line`,{x1:`16`,x2:`16`,y1:`14`,y2:`18`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M12 10h.01`}],[`path`,{d:`M8 10h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M8 18h.01`}]],Ql=[[`path`,{d:`M11 14h1v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],$l=[[`path`,{d:`m14 18 4 4 4-4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M18 14v8`}],[`path`,{d:`M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],eu=[[`path`,{d:`m14 18 4-4 4 4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M18 22v-8`}],[`path`,{d:`M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],tu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m9 16 2 2 4-4`}]],nu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m16 20 2 2 4-4`}]],ru=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`}],[`path`,{d:`M3 10h5`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}]],iu=[[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m15.228 19.148-.923.383`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`m16.47 14.305.382.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`path`,{d:`M21 10.592V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],au=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 14h.01`}],[`path`,{d:`M12 14h.01`}],[`path`,{d:`M16 14h.01`}],[`path`,{d:`M8 18h.01`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M16 18h.01`}]],ou=[[`path`,{d:`M3 20a2 2 0 0 0 2 2h10a2.4 2.4 0 0 0 1.706-.706l3.588-3.588A2.4 2.4 0 0 0 21 16V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z`}],[`path`,{d:`M15 22v-5a1 1 0 0 1 1-1h5`}],[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}]],su=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M10 16h4`}]],cu=[[`path`,{d:`M12.127 22H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v5.125`}],[`path`,{d:`M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],lu=[[`path`,{d:`M16 19h6`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],uu=[[`path`,{d:`M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18`}],[`path`,{d:`M21 15.5V6a2 2 0 0 0-2-2H9.5`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h7`}],[`path`,{d:`M21 10h-5.5`}],[`path`,{d:`m2 2 20 20`}]],du=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M10 16h4`}],[`path`,{d:`M12 14v4`}]],fu=[[`path`,{d:`M16 19h6`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}]],pu=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`path`,{d:`M17 14h-6`}],[`path`,{d:`M13 18H7`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 18h.01`}]],mu=[[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25`}],[`path`,{d:`m22 22-1.875-1.875`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`M8 2v4`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],hu=[[`path`,{d:`M11 10v4h4`}],[`path`,{d:`m11 14 1.535-1.605a5 5 0 0 1 8 1.5`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`m21 18-1.535 1.605a5 5 0 0 1-8-1.5`}],[`path`,{d:`M21 22v-4h-4`}],[`path`,{d:`M21 8.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4.3`}],[`path`,{d:`M3 10h4`}],[`path`,{d:`M8 2v4`}]],gu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m17 22 5-5`}],[`path`,{d:`m17 17 5 5`}]],_u=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}],[`path`,{d:`m14 14-4 4`}],[`path`,{d:`m10 14 4 4`}]],vu=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}],[`path`,{d:`M3 10h18`}]],yu=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M15.726 21.01A2 2 0 0 1 14 22H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2`}],[`path`,{d:`M18 2v2`}],[`path`,{d:`M2 13h2`}],[`path`,{d:`M8 8h14`}],[`rect`,{x:`8`,y:`3`,width:`14`,height:`14`,rx:`2`}]],bu=[[`path`,{d:`M14.564 14.558a3 3 0 1 1-4.122-4.121`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 .819-.175`}],[`path`,{d:`M9.695 4.024A2 2 0 0 1 10.004 4h3.993a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v7.344`}]],xu=[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`}],[`circle`,{cx:`12`,cy:`13`,r:`3`}]],Su=[[`path`,{d:`m10.8 5 2.111 4.223`}],[`path`,{d:`M17.75 7 15 2.1`}],[`path`,{d:`m4.874 14.647 2.12 4.24`}],[`path`,{d:`M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2z`}],[`path`,{d:`m7.906 9.712 2.005 4.411`}]],Cu=[[`path`,{d:`M10 7v10.9`}],[`path`,{d:`M14 6.1V17`}],[`path`,{d:`M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4`}],[`path`,{d:`M16.536 7.465a5 5 0 0 0-7.072 0l-2 2a5 5 0 0 0 0 7.07 5 5 0 0 0 7.072 0l2-2a5 5 0 0 0 0-7.07`}],[`path`,{d:`M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4`}]],wu=[[`path`,{d:`M10 10v7.9`}],[`path`,{d:`M11.802 6.145a5 5 0 0 1 6.053 6.053`}],[`path`,{d:`M14 6.1v2.243`}],[`path`,{d:`m15.5 15.571-.964.964a5 5 0 0 1-7.071 0 5 5 0 0 1 0-7.07l.964-.965`}],[`path`,{d:`M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4`}]],Tu=[[`path`,{d:`M12 22v-4`}],[`path`,{d:`M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6`}]],Eu=[[`path`,{d:`M12 22v-4c1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5`}],[`path`,{d:`M13.988 8.327C13.902 6.054 13.365 3.82 12 2a9.3 9.3 0 0 0-1.445 2.9`}],[`path`,{d:`M17.375 11.725C18.882 10.53 21 7.841 21 6c-2.324 0-5.08 1.296-6.662 2.684`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21.024 15.378A15 15 0 0 0 22 15c-.426-1.279-2.67-2.557-4.25-2.907`}],[`path`,{d:`M6.995 6.992C5.714 6.4 4.29 6 3 6c0 2 2.5 5 4 6-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3`}]],Du=[[`path`,{d:`M10.5 5H19a2 2 0 0 1 2 2v8.5`}],[`path`,{d:`M17 11h-.5`}],[`path`,{d:`M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7 11h4`}],[`path`,{d:`M7 15h2.5`}]],Ou=[[`rect`,{width:`18`,height:`14`,x:`3`,y:`5`,rx:`2`,ry:`2`}],[`path`,{d:`M7 15h4M15 15h2M7 11h2M13 11h4`}]],ku=[[`path`,{d:`m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 14h.01`}],[`rect`,{width:`18`,height:`8`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],Au=[[`path`,{d:`M10 2h4`}],[`path`,{d:`m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8`}],[`path`,{d:`M7 14h.01`}],[`path`,{d:`M17 14h.01`}],[`rect`,{width:`18`,height:`8`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]],ju=[[`path`,{d:`M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2`}],[`circle`,{cx:`7`,cy:`17`,r:`2`}],[`path`,{d:`M9 17h6`}],[`circle`,{cx:`17`,cy:`17`,r:`2`}]],Mu=[[`path`,{d:`M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2`}],[`path`,{d:`M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2`}],[`path`,{d:`M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9`}],[`circle`,{cx:`8`,cy:`19`,r:`2`}]],Nu=[[`path`,{d:`M12 14v4`}],[`path`,{d:`M14.172 2a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 20 7.828V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z`}],[`path`,{d:`M8 14h8`}],[`rect`,{x:`8`,y:`10`,width:`8`,height:`8`,rx:`1`}]],Pu=[[`path`,{d:`M15 16a1 1 0 0 0-7-7q-4 4-5.987 12.385a.5.5 0 0 0 .602.602Q11 20 15 16l-3-3`}],[`path`,{d:`M15 9q4 4 7 0-3-4-7 0 4-4 0-7-4 3 0 7`}],[`path`,{d:`m8 15-2.58-2.58`}]],Fu=[[`path`,{d:`M10 9v7`}],[`path`,{d:`M14 6v10`}],[`circle`,{cx:`17.5`,cy:`12.5`,r:`3.5`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`3.5`}]],Iu=[[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M22 9v7`}],[`path`,{d:`M3.304 13h6.392`}],[`circle`,{cx:`18.5`,cy:`12.5`,r:`3.5`}]],Lu=[[`path`,{d:`M15 11h4.5a1 1 0 0 1 0 5h-4a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h3a1 1 0 0 1 0 5`}],[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`}],[`path`,{d:`M3.304 13h6.392`}]],Ru=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`circle`,{cx:`8`,cy:`10`,r:`2`}],[`path`,{d:`M8 12h8`}],[`circle`,{cx:`16`,cy:`10`,r:`2`}],[`path`,{d:`m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3`}]],zu=[[`path`,{d:`M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6`}],[`path`,{d:`M2 12a9 9 0 0 1 8 8`}],[`path`,{d:`M2 16a5 5 0 0 1 4 4`}],[`line`,{x1:`2`,x2:`2.01`,y1:`20`,y2:`20`}]],Bu=[[`path`,{d:`M10 5V3`}],[`path`,{d:`M14 5V3`}],[`path`,{d:`M15 21v-3a3 3 0 0 0-6 0v3`}],[`path`,{d:`M18 3v8`}],[`path`,{d:`M18 5H6`}],[`path`,{d:`M22 11H2`}],[`path`,{d:`M22 9v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9`}],[`path`,{d:`M6 3v8`}]],Vu=[[`path`,{d:`M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z`}],[`path`,{d:`M8 14v.5`}],[`path`,{d:`M16 14v.5`}],[`path`,{d:`M11.25 16.25h1.5L12 17l-.75-.75Z`}]],Hu=[[`path`,{d:`m12.309 6.652 4.797 2.401a1 1 0 0 1 .447 1.341l-.501 1.001.605.605h2.725a1 1 0 0 1 .894 1.447l-.724 1.448`}],[`path`,{d:`m15.166 15.166-.719 1.439a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.9 2.9 0 0 1 .873-1.037`}],[`path`,{d:`M2 19h3.76a2 2 0 0 0 1.8-1.1l1.441-2.902`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M2 21v-4`}],[`path`,{d:`M7 9h.01`}]],Uu=[[`path`,{d:`M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97`}],[`path`,{d:`M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z`}],[`path`,{d:`M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15`}],[`path`,{d:`M2 21v-4`}],[`path`,{d:`M7 9h.01`}]],Wu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z`}]],Gu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`7`,y:`13`,width:`9`,height:`4`,rx:`1`}],[`rect`,{x:`7`,y:`5`,width:`12`,height:`4`,rx:`1`}]],Ku=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11h8`}],[`path`,{d:`M7 16h12`}],[`path`,{d:`M7 6h3`}]],qu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 11h8`}],[`path`,{d:`M7 16h3`}],[`path`,{d:`M7 6h12`}]],Ju=[[`path`,{d:`M11 13v4`}],[`path`,{d:`M15 5v4`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`7`,y:`13`,width:`9`,height:`4`,rx:`1`}],[`rect`,{x:`7`,y:`5`,width:`12`,height:`4`,rx:`1`}]],Yu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 16h8`}],[`path`,{d:`M7 11h12`}],[`path`,{d:`M7 6h3`}]],Xu=[[`path`,{d:`M9 5v4`}],[`rect`,{width:`4`,height:`6`,x:`7`,y:`9`,rx:`1`}],[`path`,{d:`M9 15v2`}],[`path`,{d:`M17 3v2`}],[`rect`,{width:`4`,height:`8`,x:`15`,y:`5`,rx:`1`}],[`path`,{d:`M17 13v3`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}]],Zu=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`}]],Qu=[[`path`,{d:`M13 17V9`}],[`path`,{d:`M18 17v-3`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 17V5`}]],$u=[[`path`,{d:`M13 17V9`}],[`path`,{d:`M18 17V5`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 17v-3`}]],ed=[[`path`,{d:`M11 13H7`}],[`path`,{d:`M19 9h-4`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`}]],td=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M18 17V9`}],[`path`,{d:`M13 17V5`}],[`path`,{d:`M8 17v-3`}]],nd=[[`path`,{d:`M10 6h8`}],[`path`,{d:`M12 16h6`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M8 11h7`}]],rd=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`m19 9-5 5-4-4-3 3`}]],id=[[`path`,{d:`M5 21V3`}],[`path`,{d:`M12 21V9`}],[`path`,{d:`M19 21v-6`}]],ad=[[`path`,{d:`M5 21v-6`}],[`path`,{d:`M12 21V9`}],[`path`,{d:`M19 21V3`}]],od=[[`path`,{d:`M5 21v-6`}],[`path`,{d:`M12 21V3`}],[`path`,{d:`M19 21V9`}]],sd=[[`path`,{d:`m13.11 7.664 1.78 2.672`}],[`path`,{d:`m14.162 12.788-3.324 1.424`}],[`path`,{d:`m20 4-6.06 1.515`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`circle`,{cx:`12`,cy:`6`,r:`2`}],[`circle`,{cx:`16`,cy:`12`,r:`2`}],[`circle`,{cx:`9`,cy:`15`,r:`2`}]],cd=[[`path`,{d:`M12 16v5`}],[`path`,{d:`M16 14.639V21`}],[`path`,{d:`M20 10.656V21`}],[`path`,{d:`m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15`}],[`path`,{d:`M4 18.463V21`}],[`path`,{d:`M8 14.656V21`}]],ld=[[`path`,{d:`M6 5h12`}],[`path`,{d:`M4 12h10`}],[`path`,{d:`M12 19h8`}]],ud=[[`path`,{d:`M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z`}],[`path`,{d:`M21.21 15.89A10 10 0 1 1 8 2.83`}]],dd=[[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`18.5`,cy:`5.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`11.5`,cy:`11.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}]],fd=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7`}]],pd=[[`path`,{d:`M18 6 7 17l-5-5`}],[`path`,{d:`m22 10-7.5 7.5L13 16`}]],md=[[`path`,{d:`M20 4L9 15`}],[`path`,{d:`M21 19L3 19`}],[`path`,{d:`M9 15L4 10`}]],hd=[[`path`,{d:`M20 6 9 17l-5-5`}]],gd=[[`path`,{d:`M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z`}],[`path`,{d:`M6 17h12`}]],_d=[[`path`,{d:`M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z`}],[`path`,{d:`M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z`}],[`path`,{d:`M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12`}],[`path`,{d:`M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z`}]],vd=[[`path`,{d:`M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z`}],[`path`,{d:`m6.7 18-1-1C4.35 15.682 3 14.09 3 12a5 5 0 0 1 4.95-5c1.584 0 2.7.455 4.05 1.818C13.35 7.455 14.466 7 16.05 7A5 5 0 0 1 21 12c0 2.082-1.359 3.673-2.7 5l-1 1`}],[`path`,{d:`M10 4h4`}],[`path`,{d:`M12 2v6.818`}]],yd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M15 18c1.5-.615 3-2.461 3-4.923C18 8.769 14.5 4.462 12 2 9.5 4.462 6 8.77 6 13.077 6 15.539 7.5 17.385 9 18`}],[`path`,{d:`m16 7-2.5 2.5`}],[`path`,{d:`M9 2h6`}]],bd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M16.5 18c1-2 2.5-5 2.5-9a7 7 0 0 0-7-7H6.635a1 1 0 0 0-.768 1.64L7 5l-2.32 5.802a2 2 0 0 0 .95 2.526l2.87 1.456`}],[`path`,{d:`m15 5 1.425-1.425`}],[`path`,{d:`m17 8 1.53-1.53`}],[`path`,{d:`M9.713 12.185 7 18`}]],xd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`m14.5 10 1.5 8`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`m8 18 1.5-8`}],[`circle`,{cx:`12`,cy:`6`,r:`4`}]],Sd=[[`path`,{d:`M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z`}],[`path`,{d:`m12.474 5.943 1.567 5.34a1 1 0 0 0 1.75.328l2.616-3.402`}],[`path`,{d:`m20 9-3 9`}],[`path`,{d:`m5.594 8.209 2.615 3.403a1 1 0 0 0 1.75-.329l1.567-5.34`}],[`path`,{d:`M7 18 4 9`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}],[`circle`,{cx:`20`,cy:`7`,r:`2`}],[`circle`,{cx:`4`,cy:`7`,r:`2`}]],Cd=[[`path`,{d:`M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z`}],[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`m17 18-1-9`}],[`path`,{d:`M6 2v5a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2`}],[`path`,{d:`M6 4h12`}],[`path`,{d:`m7 18 1-9`}]],wd=[[`path`,{d:`m6 9 6 6 6-6`}]],Td=[[`path`,{d:`m7 18 6-6-6-6`}],[`path`,{d:`M17 6v12`}]],Ed=[[`path`,{d:`m17 18-6-6 6-6`}],[`path`,{d:`M7 6v12`}]],Dd=[[`path`,{d:`m15 18-6-6 6-6`}]],Od=[[`path`,{d:`m9 18 6-6-6-6`}]],kd=[[`path`,{d:`m18 15-6-6-6 6`}]],Ad=[[`path`,{d:`m7 6 5 5 5-5`}],[`path`,{d:`m7 13 5 5 5-5`}]],jd=[[`path`,{d:`m7 20 5-5 5 5`}],[`path`,{d:`m7 4 5 5 5-5`}]],Md=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`m17 7 5 5-5 5`}],[`path`,{d:`m7 7-5 5 5 5`}],[`path`,{d:`M8 12h.01`}]],Nd=[[`path`,{d:`m9 7-5 5 5 5`}],[`path`,{d:`m15 7 5 5-5 5`}]],Pd=[[`path`,{d:`m11 17-5-5 5-5`}],[`path`,{d:`m18 17-5-5 5-5`}]],Fd=[[`path`,{d:`m20 17-5-5 5-5`}],[`path`,{d:`m4 17 5-5-5-5`}]],Id=[[`path`,{d:`m6 17 5-5-5-5`}],[`path`,{d:`m13 17 5-5-5-5`}]],Ld=[[`path`,{d:`m7 15 5 5 5-5`}],[`path`,{d:`m7 9 5-5 5 5`}]],Rd=[[`path`,{d:`m17 11-5-5-5 5`}],[`path`,{d:`m17 18-5-5-5 5`}]],zd=[[`path`,{d:`M10 9h4`}],[`path`,{d:`M12 7v5`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`m18 9 3.52 2.147a1 1 0 0 1 .48.854V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-6.999a1 1 0 0 1 .48-.854L6 9`}],[`path`,{d:`M6 21V7a1 1 0 0 1 .376-.782l5-3.999a1 1 0 0 1 1.249.001l5 4A1 1 0 0 1 18 7v14`}]],Bd=[[`path`,{d:`M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13`}],[`path`,{d:`M18 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866`}],[`path`,{d:`M22 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M7 12v4`}]],Vd=[[`path`,{d:`M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14`}],[`path`,{d:`M18 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`}],[`path`,{d:`M22 8c0-2.5-2-2.5-2-5`}],[`path`,{d:`M7 12v4`}]],Hd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]],Ud=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]],Wd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m12 8-4 4 4 4`}],[`path`,{d:`M16 12H8`}]],Gd=[[`path`,{d:`M2 12a10 10 0 1 1 10 10`}],[`path`,{d:`m2 22 10-10`}],[`path`,{d:`M8 22H2v-6`}]],Kd=[[`path`,{d:`M12 22a10 10 0 1 1 10-10`}],[`path`,{d:`M22 22 12 12`}],[`path`,{d:`M22 16v6h-6`}]],qd=[[`path`,{d:`M2 8V2h6`}],[`path`,{d:`m2 2 10 10`}],[`path`,{d:`M12 2A10 10 0 1 1 2 12`}]],Jd=[[`path`,{d:`M22 12A10 10 0 1 1 12 2`}],[`path`,{d:`M22 2 12 12`}],[`path`,{d:`M16 2h6v6`}]],Yd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m12 16 4-4-4-4`}],[`path`,{d:`M8 12h8`}]],Xd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}]],Zd=[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`}],[`path`,{d:`m9 11 3 3L22 4`}]],Qd=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m9 12 2 2 4-4`}]],$d=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16 10-4 4-4-4`}]],ef=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m14 16-4-4 4-4`}]],tf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m10 8 4 4-4 4`}]],nf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m8 14 4-4 4 4`}]],rf=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`}]],af=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`16`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`8`}]],of=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`}],[`path`,{d:`M12 18V6`}]],sf=[[`path`,{d:`M10.1 2.18a9.93 9.93 0 0 1 3.8 0`}],[`path`,{d:`M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7`}],[`path`,{d:`M21.82 10.1a9.93 9.93 0 0 1 0 3.8`}],[`path`,{d:`M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69`}],[`path`,{d:`M13.9 21.82a9.94 9.94 0 0 1-3.8 0`}],[`path`,{d:`M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7`}],[`path`,{d:`M2.18 13.9a9.93 9.93 0 0 1 0-3.8`}],[`path`,{d:`M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],cf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],lf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M17 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M7 12h.01`}]],uf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M7 14h10`}]],df=[[`path`,{d:`M15 9.4a4 4 0 1 0 0 5.2`}],[`path`,{d:`M7 12h5`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],ff=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],pf=[[`path`,{d:`M15.6 2.7a10 10 0 1 0 5.7 5.7`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M13.4 10.6 19 5`}]],mf=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`M16 12H8`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],hf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 12h8`}]],gf=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`}]],_f=[[`path`,{d:`M12.656 7H13a3 3 0 0 1 2.984 3.307`}],[`path`,{d:`M13 13H9`}],[`path`,{d:`M19.071 19.071A1 1 0 0 1 4.93 4.93`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.357 2.687a10 10 0 0 1 12.956 12.956`}],[`path`,{d:`M9 17V9`}]],vf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9 17V7h4a3 3 0 0 1 0 6H9`}]],yf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]],bf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],xf=[[`circle`,{cx:`12`,cy:`19`,r:`2`}],[`circle`,{cx:`12`,cy:`5`,r:`2`}],[`circle`,{cx:`16`,cy:`12`,r:`2`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}],[`circle`,{cx:`4`,cy:`19`,r:`2`}],[`circle`,{cx:`8`,cy:`12`,r:`2`}]],Sf=[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Cf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],wf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M10 16V9.5a1 1 0 0 1 5 0`}],[`path`,{d:`M8 12h4`}],[`path`,{d:`M8 16h7`}]],Tf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`}]],Ef=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],Df=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`}]],Of=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M22 2 2 22`}]],kf=[[`circle`,{cx:`12`,cy:`12`,r:`6`}]],Af=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M11.051 7.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.867l-1.156-1.152a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}]],jf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`}]],Mf=[[`path`,{d:`M17.925 20.056a6 6 0 0 0-11.851.001`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Nf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662`}]],Pf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],Ff=[[`circle`,{cx:`12`,cy:`12`,r:`10`}]],If=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M11 9h4a2 2 0 0 0 2-2V3`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`M7 21v-4a2 2 0 0 1 2-2h4`}],[`circle`,{cx:`15`,cy:`15`,r:`2`}]],Lf=[[`path`,{d:`M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z`}],[`path`,{d:`M19.65 15.66A8 8 0 0 1 8.35 4.34`}],[`path`,{d:`m14 10-5.5 5.5`}],[`path`,{d:`M14 17.85V10H6.15`}]],Rf=[[`path`,{d:`m12.296 3.464 3.02 3.956`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}],[`path`,{d:`m6.18 5.276 3.1 3.899`}]],zf=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v.832`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Bf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`m9 14 2 2 4-4`}]],Vf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v4`}],[`path`,{d:`M21 14H11`}],[`path`,{d:`m15 10-4 4 4 4`}]],Hf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M12 11h4`}],[`path`,{d:`M12 16h4`}],[`path`,{d:`M8 11h.01`}],[`path`,{d:`M8 16h.01`}]],Uf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 14h6`}]],Wf=[[`path`,{d:`M11 14h10`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`}],[`path`,{d:`m17 18 4-4-4-4`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],Gf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5`}],[`path`,{d:`M16 4h2a2 2 0 0 1 1.73 1`}],[`path`,{d:`M8 18h1`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],Kf=[[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21.34 15.664a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`path`,{d:`M8 22H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}]],qf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 14h6`}],[`path`,{d:`M12 17v-6`}]],Jf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M9 12v-1h6v1`}],[`path`,{d:`M11 17h2`}],[`path`,{d:`M12 11v6`}]],Yf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`m15 11-6 6`}],[`path`,{d:`m9 11 6 6`}]],Xf=[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}]],Zf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l2-4`}]],Qf=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-4-2`}]],$f=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-2-4`}]],ep=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6`}]],tp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4-2`}]],np=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6h4`}]],rp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4 2`}]],ip=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l2 4`}]],ap=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v10`}]],op=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-2 4`}]],sp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6H8`}]],cp=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l-4 2`}]],lp=[[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M20 12v5`}],[`path`,{d:`M20 21h.01`}],[`path`,{d:`M21.25 8.2A10 10 0 1 0 16 21.16`}]],up=[[`path`,{d:`M12 6v6l2 1`}],[`path`,{d:`M12.337 21.994a10 10 0 1 1 9.588-8.767`}],[`path`,{d:`m14 18 4 4 4-4`}],[`path`,{d:`M18 14v8`}]],dp=[[`path`,{d:`M12 6v6l1.5.8`}],[`path`,{d:`M12.338 21.994a10 10 0 1 1 9.587-8.767`}],[`path`,{d:`M14 18h8`}],[`path`,{d:`m18 22-4-4 4-4`}]],fp=[[`path`,{d:`M12 6v6l2 1`}],[`path`,{d:`M13.5 21.885A10 10 0 1 1 22 12`}],[`path`,{d:`M14 18h8`}],[`path`,{d:`m18 22 4-4-4-4`}]],pp=[[`path`,{d:`M12 6v6l1.56.78`}],[`path`,{d:`M13.227 21.925a10 10 0 1 1 8.767-9.588`}],[`path`,{d:`m14 18 4-4 4 4`}],[`path`,{d:`M18 22v-8`}]],mp=[[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M22 12a10 10 0 1 0-11 9.95`}],[`path`,{d:`m22 16-5.5 5.5L14 19`}]],hp=[[`path`,{d:`M12 2a10 10 0 0 1 7.38 16.75`}],[`path`,{d:`M12 6v6l4 2`}],[`path`,{d:`M2.5 8.875a10 10 0 0 0-.5 3`}],[`path`,{d:`M2.83 16a10 10 0 0 0 2.43 3.4`}],[`path`,{d:`M4.636 5.235a10 10 0 0 1 .891-.857`}],[`path`,{d:`M8.644 21.42a10 10 0 0 0 7.631-.38`}]],gp=[[`path`,{d:`M12 6v6l3.644 1.822`}],[`path`,{d:`M16 19h6`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21.92 13.267a10 10 0 1 0-8.653 8.653`}]],_p=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 6v6l4 2`}]],vp=[[`path`,{d:`M10 9.17a3 3 0 1 0 0 5.66`}],[`path`,{d:`M17 9.17a3 3 0 1 0 0 5.66`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],yp=[[`path`,{d:`M12 12v4`}],[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.128 16.949A7 7 0 1 1 15.71 8h1.79a1 1 0 0 1 0 9h-1.642`}]],bp=[[`path`,{d:`m17 15-5.5 5.5L9 18`}],[`path`,{d:`M5.516 16.07A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 3.501 7.327`}]],xp=[[`path`,{d:`M21 15.251A4.5 4.5 0 0 0 17.5 8h-1.79A7 7 0 1 0 3 13.607`}],[`path`,{d:`M7 11v4h4`}],[`path`,{d:`M8 19a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5 4.82 4.82 0 0 0-3.41 1.41L7 15`}]],Sp=[[`path`,{d:`m10.852 19.772-.383.924`}],[`path`,{d:`m13.148 14.228.383-.923`}],[`path`,{d:`M13.148 19.772a3 3 0 1 0-2.296-5.544l-.383-.923`}],[`path`,{d:`m13.53 20.696-.382-.924a3 3 0 1 1-2.296-5.544`}],[`path`,{d:`m14.772 15.852.923-.383`}],[`path`,{d:`m14.772 18.148.923.383`}],[`path`,{d:`M4.2 15.1a7 7 0 1 1 9.93-9.858A7 7 0 0 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2`}],[`path`,{d:`m9.228 15.852-.923-.383`}],[`path`,{d:`m9.228 18.148-.923.383`}]],Cp=[[`path`,{d:`M12 13v8l-4-4`}],[`path`,{d:`m12 21 4-4`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`}]],wp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 17H7`}],[`path`,{d:`M17 21H9`}]],Tp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M8 19v1`}],[`path`,{d:`M8 14v1`}],[`path`,{d:`M16 19v1`}],[`path`,{d:`M16 14v1`}],[`path`,{d:`M12 21v1`}],[`path`,{d:`M12 16v1`}]],Ep=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 14v2`}],[`path`,{d:`M8 14v2`}],[`path`,{d:`M16 20h.01`}],[`path`,{d:`M8 20h.01`}],[`path`,{d:`M12 16v2`}],[`path`,{d:`M12 22h.01`}]],Dp=[[`path`,{d:`M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973`}],[`path`,{d:`m13 12-3 5h4l-3 5`}]],Op=[[`path`,{d:`M11 20v2`}],[`path`,{d:`M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36`}],[`path`,{d:`M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24`}],[`path`,{d:`M7 19v2`}]],kp=[[`path`,{d:`M13 16a3 3 0 0 1 0 6H7a5 5 0 1 1 4.9-6z`}],[`path`,{d:`M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36`}]],Ap=[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`}],[`path`,{d:`m2 2 20 20`}]],jp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`m9.2 22 3-7`}],[`path`,{d:`m9 13-3 7`}],[`path`,{d:`m17 13-3 7`}]],Mp=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M16 14v6`}],[`path`,{d:`M8 14v6`}],[`path`,{d:`M12 16v6`}]],Np=[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M8 19h.01`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M12 21h.01`}],[`path`,{d:`M16 15h.01`}],[`path`,{d:`M16 19h.01`}]],Pp=[[`path`,{d:`M12 2v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}],[`path`,{d:`M15.947 12.65a4 4 0 0 0-5.925-4.128`}],[`path`,{d:`M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24`}],[`path`,{d:`M11 20v2`}],[`path`,{d:`M7 19v2`}]],Fp=[[`path`,{d:`M12 2v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}],[`path`,{d:`M15.947 12.65a4 4 0 0 0-5.925-4.128`}],[`path`,{d:`M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z`}]],Ip=[[`path`,{d:`m17 18-1.535 1.605a5 5 0 0 1-8-1.5`}],[`path`,{d:`M17 22v-4h-4`}],[`path`,{d:`M20.996 15.251A4.5 4.5 0 0 0 17.495 8h-1.79a7 7 0 1 0-12.709 5.607`}],[`path`,{d:`M7 10v4h4`}],[`path`,{d:`m7 14 1.535-1.605a5 5 0 0 1 8 1.5`}]],Lp=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`m8 17 4-4 4 4`}]],Rp=[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`}]],zp=[[`path`,{d:`M17.5 12a1 1 0 1 1 0 9H9.006a7 7 0 1 1 6.702-9z`}],[`path`,{d:`M21.832 9A3 3 0 0 0 19 7h-2.207a5.5 5.5 0 0 0-10.72.61`}]],Bp=[[`path`,{d:`M16.17 7.83 2 22`}],[`path`,{d:`M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12`}],[`path`,{d:`m7.83 7.83 8.34 8.34`}]],Vp=[[`path`,{d:`M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z`}],[`path`,{d:`M12 17.66L12 22`}]],Hp=[[`path`,{d:`m18 16 4-4-4-4`}],[`path`,{d:`m6 8-4 4 4 4`}],[`path`,{d:`m14.5 4-5 16`}]],Up=[[`path`,{d:`m16 18 6-6-6-6`}],[`path`,{d:`m8 6-6 6 6 6`}]],Wp=[[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1`}],[`path`,{d:`M6 2v2`}]],Gp=[[`path`,{d:`M11 10.27 7 3.34`}],[`path`,{d:`m11 13.73-4 6.93`}],[`path`,{d:`M12 22v-2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M14 12h8`}],[`path`,{d:`m17 20.66-1-1.73`}],[`path`,{d:`m17 3.34-1 1.73`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`m20.66 17-1.73-1`}],[`path`,{d:`m20.66 7-1.73 1`}],[`path`,{d:`m3.34 17 1.73-1`}],[`path`,{d:`m3.34 7 1.73 1`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`8`}]],Kp=[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`}],[`path`,{d:`M15 6h1v4`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`}],[`circle`,{cx:`16`,cy:`8`,r:`6`}]],qp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 3v18`}]],Jp=[[`path`,{d:`M10.6 21H5a2 2 0 01-2-2V5a2 2 0 012-2h14a2 2 0 012 2v5.6`}],[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`M15 3v7.6`}],[`path`,{d:`m15.229 16.852-.924-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.773 16.852.922-.383`}],[`path`,{d:`m20.773 19.148.922.383`}],[`path`,{d:`M9 3v18`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],Yp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],Xp=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7.5 3v18`}],[`path`,{d:`M12 3v18`}],[`path`,{d:`M16.5 3v18`}]],Zp=[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`}]],Qp=[[`path`,{d:`M14 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M19 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`m7 15 3 3`}],[`path`,{d:`m7 21 3-3H5a2 2 0 0 1-2-2v-2`}],[`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1`}],[`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1`}]],$p=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`}]],em=[[`path`,{d:`M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z`}],[`path`,{d:`M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`}]],tm=[[`rect`,{width:`14`,height:`8`,x:`5`,y:`2`,rx:`2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h2`}],[`path`,{d:`M12 18h6`}]],see=[[`path`,{d:`M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z`}],[`path`,{d:`M20 16a8 8 0 1 0-16 0`}],[`path`,{d:`M12 4v4`}],[`path`,{d:`M10 4h4`}]],nm=[[`path`,{d:`m20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98`}],[`ellipse`,{cx:`12`,cy:`19`,rx:`9`,ry:`3`}]],rm=[[`path`,{d:`M16 2v2`}],[`path`,{d:`M17.915 22a6 6 0 0 0-12 0`}],[`path`,{d:`M8 2v2`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],im=[[`rect`,{x:`2`,y:`6`,width:`20`,height:`8`,rx:`1`}],[`path`,{d:`M17 14v7`}],[`path`,{d:`M7 14v7`}],[`path`,{d:`M17 3v3`}],[`path`,{d:`M7 3v3`}],[`path`,{d:`M10 14 2.3 6.3`}],[`path`,{d:`m14 6 7.7 7.7`}],[`path`,{d:`m8 6 8 8`}]],am=[[`path`,{d:`M16 2v2`}],[`path`,{d:`M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`}],[`path`,{d:`M8 2v2`}],[`circle`,{cx:`12`,cy:`11`,r:`3`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`}]],om=[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`}],[`path`,{d:`M10 21.9V14L2.1 9.1`}],[`path`,{d:`m10 14 11.9-6.9`}],[`path`,{d:`M14 19.8v-8.1`}],[`path`,{d:`M18 17.5V9.4`}]],sm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 18a6 6 0 0 0 0-12v12z`}]],cm=[[`path`,{d:`M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5`}],[`path`,{d:`M8.5 8.5v.01`}],[`path`,{d:`M16 15.5v.01`}],[`path`,{d:`M12 12v.01`}],[`path`,{d:`M11 17v.01`}],[`path`,{d:`M7 14v.01`}]],lm=[[`path`,{d:`M2 12h20`}],[`path`,{d:`M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`m4 8 16-4`}],[`path`,{d:`m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8`}]],um=[[`path`,{d:`m12 15 2 2 4-4`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],dm=[[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],fm=[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],pm=[[`line`,{x1:`12`,x2:`18`,y1:`18`,y2:`12`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],mm=[[`line`,{x1:`12`,x2:`18`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`18`,y2:`12`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],hm=[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]],gm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.17 14.83a4 4 0 1 0 0-5.66`}]],_m=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M14.83 14.83a4 4 0 1 1 0-5.66`}]],vm=[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`}],[`path`,{d:`m9 10-5 5 5 5`}]],ym=[[`path`,{d:`m15 10 5 5-5 5`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`}]],bm=[[`path`,{d:`M14 9 9 4 4 9`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`}]],xm=[[`path`,{d:`m14 15-5 5-5-5`}],[`path`,{d:`M20 4h-7a4 4 0 0 0-4 4v12`}]],Sm=[[`path`,{d:`m10 15 5 5 5-5`}],[`path`,{d:`M4 4h7a4 4 0 0 1 4 4v12`}]],Cm=[[`path`,{d:`m10 9 5-5 5 5`}],[`path`,{d:`M4 20h7a4 4 0 0 0 4-4V4`}]],wm=[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`}],[`path`,{d:`M9 14 4 9l5-5`}]],Tm=[[`path`,{d:`m15 14 5-5-5-5`}],[`path`,{d:`M4 20v-7a4 4 0 0 1 4-4h12`}]],Em=[[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M17 20v2`}],[`path`,{d:`M17 2v2`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M2 17h2`}],[`path`,{d:`M2 7h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`M20 17h2`}],[`path`,{d:`M20 7h2`}],[`path`,{d:`M7 20v2`}],[`path`,{d:`M7 2v2`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`}]],Dm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1`}],[`path`,{d:`M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1`}]],Om=[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`}]],km=[[`path`,{d:`M10.2 18H4.774a1.5 1.5 0 0 1-1.352-.97 11 11 0 0 1 .132-6.487`}],[`path`,{d:`M18 10.2V4.774a1.5 1.5 0 0 0-.97-1.352 11 11 0 0 0-6.486.132`}],[`path`,{d:`M18 5a4 3 0 0 1 4 3 2 2 0 0 1-2 2 10 10 0 0 0-5.139 1.42`}],[`path`,{d:`M5 18a3 4 0 0 0 3 4 2 2 0 0 0 2-2 10 10 0 0 1 1.42-5.14`}],[`path`,{d:`M8.709 2.554a10 10 0 0 0-6.155 6.155 1.5 1.5 0 0 0 .676 1.626l9.807 5.42a2 2 0 0 0 2.718-2.718l-5.42-9.807a1.5 1.5 0 0 0-1.626-.676`}]],Am=[[`path`,{d:`M6 2v14a2 2 0 0 0 2 2h14`}],[`path`,{d:`M18 22V8a2 2 0 0 0-2-2H2`}]],jm=[[`path`,{d:`M4 9a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h4a1 1 0 0 1 1 1v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a1 1 0 0 1 1-1h4a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-4a1 1 0 0 1-1-1V4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4a1 1 0 0 1-1 1z`}]],Mm=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`22`,x2:`18`,y1:`12`,y2:`12`}],[`line`,{x1:`6`,x2:`2`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`6`,y2:`2`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`18`}]],Nm=[[`path`,{d:`M10 22v-8`}],[`path`,{d:`M2.336 8.89 10 14l11.715-7.029`}],[`path`,{d:`M22 14a2 2 0 0 1-.971 1.715l-10 6a2 2 0 0 1-2.138-.05l-6-4A2 2 0 0 1 2 16v-6a2 2 0 0 1 .971-1.715l10-6a2 2 0 0 1 2.138.05l6 4A2 2 0 0 1 22 8z`}]],Pm=[[`path`,{d:`m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8`}],[`path`,{d:`M5 8h14`}],[`path`,{d:`M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0`}],[`path`,{d:`m12 8 1-6h2`}]],Fm=[[`path`,{d:`M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z`}],[`path`,{d:`M5 21h14`}]],Im=[[`circle`,{cx:`12`,cy:`12`,r:`8`}],[`line`,{x1:`3`,x2:`6`,y1:`3`,y2:`6`}],[`line`,{x1:`21`,x2:`18`,y1:`3`,y2:`6`}],[`line`,{x1:`3`,x2:`6`,y1:`21`,y2:`18`}],[`line`,{x1:`21`,x2:`18`,y1:`21`,y2:`18`}]],Lm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5v14a9 3 0 0 0 18 0V5`}]],Rm=[[`path`,{d:`M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`path`,{d:`M2 6h4`}],[`path`,{d:`M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z`}]],zm=[[`path`,{d:`m16 19 3 3 3-3`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`M3 12A9 3 0 0 0 15.182 14.806`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Bm=[[`path`,{d:`M19 22v-6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`m22 19-3-3-3 3`}],[`path`,{d:`M3 12A9 3 0 0 0 14.457 14.886`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Vm=[[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M21 13.127V5`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Hm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 12a9 3 0 0 0 5 2.69`}],[`path`,{d:`M21 9.3V5`}],[`path`,{d:`M3 5v14a9 3 0 0 0 6.47 2.88`}],[`path`,{d:`M12 12v4h4`}],[`path`,{d:`M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16`}]],Um=[[`path`,{d:`M21 15V5`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Wm=[[`path`,{d:`M19 16v6`}],[`path`,{d:`M21 12.536V5`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M3 12A9 3 0 0 0 15.1824 14.8061`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13.318 21.968`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Gm=[[`path`,{d:`M21 11.693V5`}],[`path`,{d:`m22 22-1.875-1.875`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],Km=[[`path`,{d:`m17 17 5 5`}],[`path`,{d:`M19.323 13.744A9 3 0 0 0 21 12`}],[`path`,{d:`M21 13.127V5`}],[`path`,{d:`m22 17-5 5`}],[`path`,{d:`M3 12A9 3 0 0 0 13.563 14.954`}],[`path`,{d:`M3 5V19A9 3 0 0 0 13 21.981`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}]],qm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`}],[`path`,{d:`M21 5V8`}],[`path`,{d:`M21 12L18 17H22L19 22`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`}]],Jm=[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`}]],Ym=[[`path`,{d:`M10 18h10`}],[`path`,{d:`m17 21 3-3-3-3`}],[`path`,{d:`M3 11h.01`}],[`rect`,{x:`15`,y:`3`,width:`5`,height:`8`,rx:`2.5`}],[`rect`,{x:`6`,y:`3`,width:`5`,height:`8`,rx:`2.5`}]],Xm=[[`path`,{d:`m13 21-3-3 3-3`}],[`path`,{d:`M20 18H10`}],[`path`,{d:`M3 11h.01`}],[`rect`,{x:`6`,y:`3`,width:`5`,height:`8`,rx:`2.5`}]],Zm=[[`path`,{d:`M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z`}],[`path`,{d:`m12 9 6 6`}],[`path`,{d:`m18 9-6 6`}]],Qm=[[`path`,{d:`M10.162 3.167A10 10 0 0 0 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4-.006 10 10 0 0 0-8.161-9.826`}],[`path`,{d:`M20.804 14.869a9 9 0 0 1-17.608 0`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}]],$m=[[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`5`,r:`2`}],[`path`,{d:`M6.48 3.66a10 10 0 0 1 13.86 13.86`}],[`path`,{d:`m6.41 6.41 11.18 11.18`}],[`path`,{d:`M3.66 6.48a10 10 0 0 0 13.86 13.86`}]],eh=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`}],[`path`,{d:`M8 12h8`}]],th=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z`}],[`path`,{d:`M9.2 9.2h.01`}],[`path`,{d:`m14.5 9.5-5 5`}],[`path`,{d:`M14.7 14.8h.01`}]],nh=[[`path`,{d:`M12 8v8`}],[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`}],[`path`,{d:`M8 12h8`}]],rh=[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z`}]],ih=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M12 12h.01`}]],ah=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M15 9h.01`}],[`path`,{d:`M9 15h.01`}]],oh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M8 16h.01`}]],sh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 16h.01`}],[`path`,{d:`M16 16h.01`}]],ch=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 16h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M12 12h.01`}]],lh=[[`rect`,{width:`12`,height:`12`,x:`2`,y:`10`,rx:`2`,ry:`2`}],[`path`,{d:`m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 14h.01`}],[`path`,{d:`M15 6h.01`}],[`path`,{d:`M18 9h.01`}]],uh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M16 8h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M8 8h.01`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M8 16h.01`}]],dh=[[`path`,{d:`M12 3v14`}],[`path`,{d:`M5 10h14`}],[`path`,{d:`M5 21h14`}]],fh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 12h.01`}]],ph=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M6 12c0-1.7.7-3.2 1.8-4.2`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M18 12c0 1.7-.7 3.2-1.8 4.2`}]],mh=[[`circle`,{cx:`12`,cy:`6`,r:`1`}],[`line`,{x1:`5`,x2:`19`,y1:`12`,y2:`12`}],[`circle`,{cx:`12`,cy:`18`,r:`1`}]],hh=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`5`}],[`path`,{d:`M12 12h.01`}]],gh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],_h=[[`path`,{d:`M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8`}],[`path`,{d:`m17 6-2.891-2.891`}],[`path`,{d:`M2 15c3.333-3 6.667-3 10-3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`m20 9 .891.891`}],[`path`,{d:`M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1`}],[`path`,{d:`M3.109 14.109 4 15`}],[`path`,{d:`m6.5 12.5 1 1`}],[`path`,{d:`m7 18 2.891 2.891`}],[`path`,{d:`M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16`}]],vh=[[`path`,{d:`m10 16 1.5 1.5`}],[`path`,{d:`m14 8-1.5-1.5`}],[`path`,{d:`M15 2c-1.798 1.998-2.518 3.995-2.807 5.993`}],[`path`,{d:`m16.5 10.5 1 1`}],[`path`,{d:`m17 6-2.891-2.891`}],[`path`,{d:`M2 15c6.667-6 13.333 0 20-6`}],[`path`,{d:`m20 9 .891.891`}],[`path`,{d:`M3.109 14.109 4 15`}],[`path`,{d:`m6.5 12.5 1 1`}],[`path`,{d:`m7 18 2.891 2.891`}],[`path`,{d:`M9 22c1.798-1.998 2.518-3.995 2.807-5.993`}]],yh=[[`path`,{d:`M2 8h20`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 16h12`}]],bh=[[`path`,{d:`M11.25 16.25h1.5L12 17z`}],[`path`,{d:`M16 14v.5`}],[`path`,{d:`M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309`}],[`path`,{d:`M8 14v.5`}],[`path`,{d:`M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5`}]],xh=[[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`22`}],[`path`,{d:`M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6`}]],Sh=[[`path`,{d:`M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],Ch=[[`path`,{d:`M10 12h.01`}],[`path`,{d:`M18 9V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M2 20h8`}],[`path`,{d:`M20 17v-2a2 2 0 1 0-4 0v2`}],[`rect`,{x:`14`,y:`17`,width:`8`,height:`5`,rx:`1`}]],wh=[[`path`,{d:`M10 12h.01`}],[`path`,{d:`M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M2 20h20`}]],Th=[[`path`,{d:`M11 20H2`}],[`path`,{d:`M11 4.562v16.157a1 1 0 0 0 1.242.97L19 20V5.562a2 2 0 0 0-1.515-1.94l-4-1A2 2 0 0 0 11 4.561z`}],[`path`,{d:`M11 4H8a2 2 0 0 0-2 2v14`}],[`path`,{d:`M14 12h.01`}],[`path`,{d:`M22 20h-3`}]],Eh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}]],Dh=[[`path`,{d:`M12 15V3`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}],[`path`,{d:`m7 10 5 5 5-5`}]],Oh=[[`path`,{d:`M10 11h.01`}],[`path`,{d:`M14 6h.01`}],[`path`,{d:`M18 6h.01`}],[`path`,{d:`M6.5 13.1h.01`}],[`path`,{d:`M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3`}],[`path`,{d:`M17.4 9.9c-.8.8-2 .8-2.8 0`}],[`path`,{d:`M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7`}],[`path`,{d:`M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4`}]],kh=[[`path`,{d:`M10 18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a3 3 0 0 1-3-3 1 1 0 0 1 1-1z`}],[`path`,{d:`M13 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1l-.81 3.242a1 1 0 0 1-.97.758H8`}],[`path`,{d:`M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M18 6h4`}],[`path`,{d:`m5 10-2 8`}],[`path`,{d:`m7 18 2-8`}]],Ah=[[`path`,{d:`m12.99 6.74 1.93 3.44`}],[`path`,{d:`M19.136 12a10 10 0 0 1-14.271 0`}],[`path`,{d:`m21 21-2.16-3.84`}],[`path`,{d:`m3 21 8.02-14.26`}],[`circle`,{cx:`12`,cy:`5`,r:`2`}]],jh=[[`path`,{d:`M10 10 7 7`}],[`path`,{d:`m10 14-3 3`}],[`path`,{d:`m14 10 3-3`}],[`path`,{d:`m14 14 3 3`}],[`path`,{d:`M14.205 4.139a4 4 0 1 1 5.439 5.863`}],[`path`,{d:`M19.637 14a4 4 0 1 1-5.432 5.868`}],[`path`,{d:`M4.367 10a4 4 0 1 1 5.438-5.862`}],[`path`,{d:`M9.795 19.862a4 4 0 1 1-5.429-5.873`}],[`rect`,{x:`10`,y:`8`,width:`4`,height:`8`,rx:`1`}]],Mh=[[`path`,{d:`M18.715 13.186C18.29 11.858 17.384 10.607 16 9.5c-2-1.6-3.5-4-4-6.5a10.7 10.7 0 0 1-.884 2.586`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.795 8.797A11 11 0 0 1 8 9.5C6 11.1 5 13 5 15a7 7 0 0 0 13.222 3.208`}]],Nh=[[`path`,{d:`M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z`}]],Ph=[[`path`,{d:`M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z`}],[`path`,{d:`M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97`}]],Fh=[[`path`,{d:`m2 2 8 8`}],[`path`,{d:`m22 2-8 8`}],[`ellipse`,{cx:`12`,cy:`9`,rx:`10`,ry:`5`}],[`path`,{d:`M7 13.4v7.9`}],[`path`,{d:`M12 14v8`}],[`path`,{d:`M17 13.4v7.9`}],[`path`,{d:`M2 9v8a10 5 0 0 0 20 0V9`}]],Ih=[[`path`,{d:`M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23`}],[`path`,{d:`m8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59`}]],Lh=[[`path`,{d:`M17.596 12.768a2 2 0 1 0 2.829-2.829l-1.768-1.767a2 2 0 0 0 2.828-2.829l-2.828-2.828a2 2 0 0 0-2.829 2.828l-1.767-1.768a2 2 0 1 0-2.829 2.829z`}],[`path`,{d:`m2.5 21.5 1.4-1.4`}],[`path`,{d:`m20.1 3.9 1.4-1.4`}],[`path`,{d:`M5.343 21.485a2 2 0 1 0 2.829-2.828l1.767 1.768a2 2 0 1 0 2.829-2.829l-6.364-6.364a2 2 0 1 0-2.829 2.829l1.768 1.767a2 2 0 0 0-2.828 2.829z`}],[`path`,{d:`m9.6 14.4 4.8-4.8`}]],Rh=[[`path`,{d:`M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46`}],[`path`,{d:`M6 8.5c0-.75.13-1.47.36-2.14`}],[`path`,{d:`M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76`}],[`path`,{d:`M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],zh=[[`path`,{d:`M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0`}],[`path`,{d:`M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4`}]],Bh=[[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`}],[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`}],[`path`,{d:`M12 2a10 10 0 1 0 9.54 13`}],[`path`,{d:`M20 6V4a2 2 0 1 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`14`,y:`6`,rx:`1`}]],Vh=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 2a7 7 0 1 0 10 10`}]],Hh=[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],Uh=[[`circle`,{cx:`11.5`,cy:`12.5`,r:`3.5`}],[`path`,{d:`M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z`}]],Wh=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 14.347V14c0-6-4-12-8-12-1.078 0-2.157.436-3.157 1.19`}],[`path`,{d:`M6.206 6.21C4.871 8.4 4 11.2 4 14a8 8 0 0 0 14.568 4.568`}]],Gh=[[`path`,{d:`M12 2C8 2 4 8 4 14a8 8 0 0 0 16 0c0-6-4-12-8-12`}]],Kh=[[`ellipse`,{cx:`12`,cy:`12`,rx:`10`,ry:`6`}]],qh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}]],Jh=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`19`,cy:`12`,r:`1`}],[`circle`,{cx:`5`,cy:`12`,r:`1`}]],Yh=[[`path`,{d:`M5 15a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0`}],[`path`,{d:`M5 9a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0`}]],Xh=[[`line`,{x1:`5`,x2:`19`,y1:`9`,y2:`9`}],[`line`,{x1:`5`,x2:`19`,y1:`15`,y2:`15`}],[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`}]],Zh=[[`line`,{x1:`5`,x2:`19`,y1:`9`,y2:`9`}],[`line`,{x1:`5`,x2:`19`,y1:`15`,y2:`15`}]],Qh=[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`}],[`path`,{d:`m5.082 11.09 8.828 8.828`}]],$h=[[`path`,{d:`M10 8v1`}],[`path`,{d:`M14 8v1`}],[`path`,{d:`M18 8v1`}],[`path`,{d:`M19 17a2 2 0 00-1.765 1.059l-.47.882A2 2 0 0115 20H9a2 2 0 01-1.765-1.059l-.47-.882A2 2 0 005 17H4a2 2 0 01-2-2V6a2 2 0 012-2h16a2 2 0 012 2v9a2 2 0 01-2 2z`}],[`path`,{d:`M6 8v1`}]],eg=[[`path`,{d:`M4 10h12`}],[`path`,{d:`M4 14h9`}],[`path`,{d:`M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2`}]],tg=[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`}],[`path`,{d:`M2 21h13`}],[`path`,{d:`M3 7h11`}],[`path`,{d:`m9 11-2 3h3l-2 3`}]],ng=[[`path`,{d:`m15 15 6 6`}],[`path`,{d:`m15 9 6-6`}],[`path`,{d:`M21 16v5h-5`}],[`path`,{d:`M21 8V3h-5`}],[`path`,{d:`M3 16v5h5`}],[`path`,{d:`m3 21 6-6`}],[`path`,{d:`M3 8V3h5`}],[`path`,{d:`M9 9 3 3`}]],rg=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M10 14 21 3`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`}]],ig=[[`path`,{d:`m15 18-.722-3.25`}],[`path`,{d:`M2 8a10.645 10.645 0 0 0 20 0`}],[`path`,{d:`m20 15-1.726-2.05`}],[`path`,{d:`m4 15 1.726-2.05`}],[`path`,{d:`m9 18 .722-3.25`}]],ag=[[`path`,{d:`M13.054 18.946a11 11 0 0 1-2.11 0`}],[`path`,{d:`M13.054 5.054a11 11 0 0 0-2.11-.001`}],[`path`,{d:`M17.072 6.274a11 11 0 0 1 1.753 1.173`}],[`path`,{d:`M18.825 16.552a11 11 0 0 1-1.753 1.174`}],[`path`,{d:`M2.514 13.303a11 11 0 0 1-.452-.954 1 1 0 0 1 0-.697 11 11 0 0 1 .45-.955`}],[`path`,{d:`M21.485 10.697a11 11 0 0 1 .453.955 1 1 0 0 1 0 .697 11 11 0 0 1-.453.954`}],[`path`,{d:`M5.173 7.448a11 11 0 0 1 1.753-1.174`}],[`path`,{d:`M6.926 17.726a11 11 0 0 1-1.753-1.174`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],og=[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`}],[`path`,{d:`m2 2 20 20`}]],sg=[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],cg=[[`path`,{d:`M12 16h.01`}],[`path`,{d:`M16 16h.01`}],[`path`,{d:`M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z`}],[`path`,{d:`M8 16h.01`}]],lg=[[`path`,{d:`M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z`}],[`path`,{d:`M12 12v.01`}]],ug=[[`path`,{d:`M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z`}],[`path`,{d:`M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z`}]],dg=[[`path`,{d:`M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}],[`path`,{d:`M6 8h4`}],[`path`,{d:`M6 18h4`}],[`path`,{d:`m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}],[`path`,{d:`M14 8h4`}],[`path`,{d:`M14 18h4`}],[`path`,{d:`m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z`}]],fg=[[`path`,{d:`M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z`}],[`path`,{d:`M16 8 2 22`}],[`path`,{d:`M17.5 15H9`}]],pg=[[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m6.8 15-3.5 2`}],[`path`,{d:`m20.7 7-3.5 2`}],[`path`,{d:`M6.8 9 3.3 7`}],[`path`,{d:`m20.7 17-3.5-2`}],[`path`,{d:`m9 22 3-8 3 8`}],[`path`,{d:`M8 22h8`}],[`path`,{d:`M18 18.7a9 9 0 1 0-12 0`}]],mg=[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 12v-1`}],[`path`,{d:`M8 18v-2`}],[`path`,{d:`M8 7V6`}],[`circle`,{cx:`8`,cy:`20`,r:`2`}]],hg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m8 18 4-4`}],[`path`,{d:`M8 10v8h8`}]],gg=[[`path`,{d:`M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.3`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m7.69 16.479 1.29 4.88a.5.5 0 0 1-.698.591l-1.843-.849a1 1 0 0 0-.879.001l-1.846.85a.5.5 0 0 1-.692-.593l1.29-4.88`}],[`circle`,{cx:`6`,cy:`14`,r:`3`}]],_g=[[`path`,{d:`M14 2v5a1 1 0 001 1h5`}],[`path`,{d:`M14.692 22H18a2 2 0 002-2V8a2.4 2.4 0 00-.706-1.706l-3.588-3.588A2.4 2.4 0 0014 2H6a2 2 0 00-2 2v3.804`}],[`path`,{d:`M2.264 13.752 7 16.5l4.737-2.748`}],[`path`,{d:`M2.995 13.014A2 2 0 002 14.744v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0012 18.26v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z`}],[`path`,{d:`M7 16.5V22`}]],vg=[[`path`,{d:`M14 22h4a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M5 14a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1 1 1 0 0 1 1 1v2a1 1 0 0 0 1 1`}],[`path`,{d:`M9 22a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1`}]],yg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`}]],bg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 18v-2`}],[`path`,{d:`M12 18v-4`}],[`path`,{d:`M16 18v-6`}]],xg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 18v-1`}],[`path`,{d:`M12 18v-6`}],[`path`,{d:`M16 18v-3`}]],Sg=[[`path`,{d:`M15.941 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.512`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M4.017 11.512a6 6 0 1 0 8.466 8.475`}],[`path`,{d:`M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z`}]],Cg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m16 13-3.5 3.5-2-2L8 17`}]],wg=[[`path`,{d:`M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m14 20 2 2 4-4`}]],Tg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m9 15 2 2 4-4`}]],Eg=[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m5 16-3 3 3 3`}],[`path`,{d:`m9 22 3-3-3-3`}]],Dg=[[`path`,{d:`M16 22h2a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v2.85`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 14v2.2l1.6 1`}],[`circle`,{cx:`8`,cy:`16`,r:`6`}]],Og=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 12.5 8 15l2 2.5`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`}]],kg=[[`path`,{d:`M15 8a1 1 0 0 1-1-1V2a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8z`}],[`path`,{d:`M20 8v12a2 2 0 0 1-2 2h-4.182`}],[`path`,{d:`m3.305 19.53.923-.382`}],[`path`,{d:`M4 10.592V4a2 2 0 0 1 2-2h8`}],[`path`,{d:`m4.228 16.852-.924-.383`}],[`path`,{d:`m5.852 15.228-.383-.923`}],[`path`,{d:`m5.852 20.772-.383.924`}],[`path`,{d:`m8.148 15.228.383-.923`}],[`path`,{d:`m8.53 21.696-.382-.924`}],[`path`,{d:`m9.773 16.852.922-.383`}],[`path`,{d:`m9.773 19.148.922.383`}],[`circle`,{cx:`7`,cy:`18`,r:`3`}]],Ag=[[`path`,{d:`M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 16h2v6`}],[`path`,{d:`M10 22h4`}],[`rect`,{x:`2`,y:`16`,width:`4`,height:`6`,rx:`2`}]],jg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M9 10h6`}],[`path`,{d:`M12 13V7`}],[`path`,{d:`M9 17h6`}]],Mg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 18v-6`}],[`path`,{d:`m9 15 3 3 3-3`}]],Ng=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]],Pg=[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`}]],Fg=[[`path`,{d:`M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M3.62 18.8A2.25 2.25 0 1 1 7 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a1 1 0 0 1-1.507 0z`}]],Ig=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`circle`,{cx:`10`,cy:`12`,r:`2`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`}]],Lg=[[`path`,{d:`M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M2 15h10`}],[`path`,{d:`m9 18 3-3-3-3`}]],Rg=[[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M4 12v6`}],[`path`,{d:`M4 14h2`}],[`path`,{d:`M9.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]],zg=[[`path`,{d:`M4 9.8V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 17v-2a2 2 0 0 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`3`,y:`17`,rx:`1`}]],Bg=[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M14 18h6`}]],Vg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 15h6`}]],Hg=[[`path`,{d:`M11.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v10.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 20v-7l3 1.474`}],[`circle`,{cx:`6`,cy:`20`,r:`2`}]],Ug=[[`path`,{d:`M4.226 20.925A2 2 0 0 0 6 22h12a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.127`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m5 11-3 3`}],[`path`,{d:`m5 17-3-3h10`}]],Wg=[[`path`,{d:`M14.364 13.634a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506l4.013-4.009a1 1 0 0 0-3.004-3.004z`}],[`path`,{d:`M14.487 7.858A1 1 0 0 1 14 7V2`}],[`path`,{d:`M20 19.645V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l2.516 2.516`}],[`path`,{d:`M8 18h1`}]],Gg=[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`}]],Kg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`}]],qg=[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M14 19h6`}],[`path`,{d:`M17 16v6`}]],Jg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M9 15h6`}],[`path`,{d:`M12 18v-6`}]],Yg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`}]],Xg=[[`path`,{d:`M20 10V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.35`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M16 14a2 2 0 0 0-2 2`}],[`path`,{d:`M16 22a2 2 0 0 1-2-2`}],[`path`,{d:`M20 14a2 2 0 0 1 2 2`}],[`path`,{d:`M20 22a2 2 0 0 0 2-2`}]],Zg=[[`path`,{d:`M11.1 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.589 3.588A2.4 2.4 0 0 1 20 8v3.25`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m21 22-2.88-2.88`}],[`circle`,{cx:`16`,cy:`17`,r:`3`}]],Qg=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`circle`,{cx:`11.5`,cy:`14.5`,r:`2.5`}],[`path`,{d:`M13.3 16.3 15 18`}]],$g=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M10 11v2`}],[`path`,{d:`M8 17h8`}],[`path`,{d:`M14 16v2`}]],e_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M11.5 13.5a2.5 2.5 0 0 1 0 3`}],[`path`,{d:`M15 12a5 5 0 0 1 0 6`}]],t_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 13h2`}],[`path`,{d:`M14 13h2`}],[`path`,{d:`M8 17h2`}],[`path`,{d:`M14 17h2`}]],n_=[[`path`,{d:`M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m10 18 3-3-3-3`}]],r_=[[`path`,{d:`M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1`}],[`path`,{d:`M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1`}],[`path`,{d:`M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z`}]],i_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m8 16 2-2-2-2`}],[`path`,{d:`M12 18h4`}]],a_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 9H8`}],[`path`,{d:`M16 13H8`}],[`path`,{d:`M16 17H8`}]],o_=[[`path`,{d:`M12 22h6a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M3 16v-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5V16`}],[`path`,{d:`M6 22h2`}],[`path`,{d:`M7 14v8`}]],s_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M11 18h2`}],[`path`,{d:`M12 12v6`}],[`path`,{d:`M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5`}]],c_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 12v6`}],[`path`,{d:`m15 15-3-3-3 3`}]],l_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M16 22a4 4 0 0 0-8 0`}],[`circle`,{cx:`12`,cy:`15`,r:`3`}]],u_=[[`path`,{d:`M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m10 17.843 3.033-1.755a.64.64 0 0 1 .967.56v4.704a.65.65 0 0 1-.967.56L10 20.157`}],[`rect`,{width:`7`,height:`6`,x:`3`,y:`16`,rx:`1`}]],d_=[[`path`,{d:`M4 11.55V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-1.95`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M12 15a5 5 0 0 1 0 6`}],[`path`,{d:`M8 14.502a.5.5 0 0 0-.826-.381l-1.893 1.631a1 1 0 0 1-.651.243H3.5a.5.5 0 0 0-.5.501v3.006a.5.5 0 0 0 .5.501h1.129a1 1 0 0 1 .652.243l1.893 1.633a.5.5 0 0 0 .826-.38z`}]],f_=[[`path`,{d:`M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m15 17 5 5`}],[`path`,{d:`m20 17-5 5`}]],p_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m14.5 12.5-5 5`}],[`path`,{d:`m9.5 12.5 5 5`}]],m_=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}]],h_=[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`}]],g_=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 3v18`}],[`path`,{d:`M3 7.5h4`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M3 16.5h4`}],[`path`,{d:`M17 3v18`}],[`path`,{d:`M17 7.5h4`}],[`path`,{d:`M17 16.5h4`}]],__=[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`}],[`path`,{d:`M2 16h.01`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`}]],v_=[[`path`,{d:`M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5`}],[`path`,{d:`M9 18h8`}],[`path`,{d:`M18 3h-3`}],[`path`,{d:`M11 3a6 6 0 0 0-6 6v11`}],[`path`,{d:`M5 13h4`}],[`path`,{d:`M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z`}]],y_=[[`path`,{d:`M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058`}],[`path`,{d:`M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618`}],[`path`,{d:`m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20`}]],b_=[[`path`,{d:`M2 16s9-15 20-4C11 23 2 8 2 8`}]],x_=[[`path`,{d:`M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z`}],[`path`,{d:`M18 12v.5`}],[`path`,{d:`M16 17.93a9.77 9.77 0 0 1 0-11.86`}],[`path`,{d:`M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33`}],[`path`,{d:`M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4`}],[`path`,{d:`m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98`}]],S_=[[`path`,{d:`m17.586 11.414-5.93 5.93a1 1 0 0 1-8-8l3.137-3.137a.707.707 0 0 1 1.207.5V10`}],[`path`,{d:`M20.414 8.586 22 7`}],[`circle`,{cx:`19`,cy:`10`,r:`2`}]],C_=[[`path`,{d:`M4 11h1`}],[`path`,{d:`M8 15a2 2 0 0 1-4 0V3a1 1 0 0 1 1-1h.5C14 2 20 9 20 18v4`}],[`circle`,{cx:`18`,cy:`18`,r:`2`}]],w_=[[`path`,{d:`M16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4 22V4`}],[`path`,{d:`M7.656 2H8c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10.347`}]],T_=[[`path`,{d:`M18 22V2.8a.8.8 0 0 0-1.17-.71L5.45 7.78a.8.8 0 0 0 0 1.44L18 15.5`}]],E_=[[`path`,{d:`M6 22V2.8a.8.8 0 0 1 1.17-.71l11.38 5.69a.8.8 0 0 1 0 1.44L6 15.5`}]],D_=[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`}]],O_=[[`path`,{d:`M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z`}],[`path`,{d:`m5 22 14-4`}],[`path`,{d:`m5 18 14 4`}]],k_=[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`}]],A_=[[`path`,{d:`M11.652 6H18`}],[`path`,{d:`M12 13v1`}],[`path`,{d:`M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V6`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7.649 2H17a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8a4 4 0 0 0-.55 1.007`}]],j_=[[`path`,{d:`M12 13v1`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8A4 4 0 0 0 16 12v8a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 6h12`}]],M_=[[`path`,{d:`M10 2v2.343`}],[`path`,{d:`M14 2v6.343`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20a2 2 0 0 1-2 2H6a2 2 0 0 1-1.755-2.96l5.227-9.563`}],[`path`,{d:`M6.453 15H15`}],[`path`,{d:`M8.5 2h7`}]],N_=[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`}],[`path`,{d:`M6.453 15h11.094`}],[`path`,{d:`M8.5 2h7`}]],P_=[[`path`,{d:`M10 2v6.292a7 7 0 1 0 4 0V2`}],[`path`,{d:`M5 15h14`}],[`path`,{d:`M8.5 2h7`}]],F_=[[`path`,{d:`m3 7 5 5-5 5V7`}],[`path`,{d:`m21 7-5 5 5 5V7`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 2v2`}]],I_=[[`path`,{d:`m17 3-5 5-5-5h10`}],[`path`,{d:`m17 21-5-5-5 5h10`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],L_=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5`}],[`path`,{d:`M12 7.5V9`}],[`path`,{d:`M7.5 12H9`}],[`path`,{d:`M16.5 12H15`}],[`path`,{d:`M12 16.5V15`}],[`path`,{d:`m8 8 1.88 1.88`}],[`path`,{d:`M14.12 9.88 16 8`}],[`path`,{d:`m8 16 1.88-1.88`}],[`path`,{d:`M14.12 14.12 16 16`}]],R_=[[`path`,{d:`M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}],[`path`,{d:`M12 10v12`}],[`path`,{d:`M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z`}],[`path`,{d:`M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z`}]],z_=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}]],B_=[[`path`,{d:`M2 12h6`}],[`path`,{d:`M22 12h-6`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m19 9-3 3 3 3`}],[`path`,{d:`m5 15 3-3-3-3`}]],V_=[[`path`,{d:`M12 22v-6`}],[`path`,{d:`M12 8V2`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}],[`path`,{d:`m15 19-3-3-3 3`}],[`path`,{d:`m15 5-3 3-3-3`}]],H_=[[`circle`,{cx:`15`,cy:`19`,r:`2`}],[`path`,{d:`M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1`}],[`path`,{d:`M15 11v-1`}],[`path`,{d:`M15 17v-2`}]],U_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`m9 13 2 2 4-4`}]],W_=[[`path`,{d:`M12 6v8l3-3 3 3V6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z`}]],G_=[[`path`,{d:`M16 14v2.2l1.6 1`}],[`path`,{d:`M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}]],K_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M2 10h20`}]],q_=[[`path`,{d:`M10 10.5 8 13l2 2.5`}],[`path`,{d:`m14 10.5 2 2.5-2 2.5`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z`}]],J_=[[`path`,{d:`M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3`}],[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],Y_=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`circle`,{cx:`12`,cy:`13`,r:`1`}]],X_=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`m15 13-3 3-3-3`}]],Z_=[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`}],[`circle`,{cx:`13`,cy:`12`,r:`2`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}]],Q_=[[`circle`,{cx:`12`,cy:`13`,r:`2`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M14 13h3`}],[`path`,{d:`M7 13h3`}]],$_=[[`path`,{d:`M10.638 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.417`}],[`path`,{d:`M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}]],ev=[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M2 13h10`}],[`path`,{d:`m9 16 3-3-3-3`}]],tv=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M12 10v2`}],[`path`,{d:`M16 10v6`}]],nv=[[`path`,{d:`M13 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.36`}],[`path`,{d:`M19 12v6`}],[`path`,{d:`M19 14h2`}],[`circle`,{cx:`19`,cy:`20`,r:`2`}]],rv=[[`rect`,{width:`8`,height:`5`,x:`14`,y:`17`,rx:`1`}],[`path`,{d:`M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5`}],[`path`,{d:`M20 17v-2a2 2 0 1 0-4 0v2`}]],iv=[[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],av=[[`path`,{d:`m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2`}],[`circle`,{cx:`14`,cy:`15`,r:`1`}]],ov=[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`}]],sv=[[`path`,{d:`M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5`}],[`path`,{d:`M2 13h10`}],[`path`,{d:`m5 10-3 3 3 3`}]],cv=[[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],lv=[[`path`,{d:`M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5`}],[`path`,{d:`M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],uv=[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`}],[`circle`,{cx:`12`,cy:`13`,r:`2`}],[`path`,{d:`M12 15v5`}]],dv=[[`circle`,{cx:`11.5`,cy:`12.5`,r:`2.5`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M13.3 14.3 15 16`}]],fv=[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`}],[`path`,{d:`m21 21-1.9-1.9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}]],pv=[[`path`,{d:`M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`}],[`path`,{d:`m8 16 3-3-3-3`}]],mv=[[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5`}],[`path`,{d:`M12 10v4h4`}],[`path`,{d:`m12 14 1.535-1.605a5 5 0 0 1 8 1.5`}],[`path`,{d:`M22 22v-4h-4`}],[`path`,{d:`m22 18-1.535 1.605a5 5 0 0 1-8-1.5`}]],hv=[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`}]],gv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`M12 10v6`}],[`path`,{d:`m9 13 3-3 3 3`}]],_v=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}],[`path`,{d:`m9.5 10.5 5 5`}],[`path`,{d:`m14.5 10.5-5 5`}]],vv=[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]],yv=[[`path`,{d:`M20 5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h2.5a1.5 1.5 0 0 1 1.2.6l.6.8a1.5 1.5 0 0 0 1.2.6z`}],[`path`,{d:`M3 8.268a2 2 0 0 0-1 1.738V19a2 2 0 0 0 2 2h11a2 2 0 0 0 1.732-1`}]],bv=[[`path`,{d:`M12 12H5a2 2 0 0 0-2 2v5`}],[`path`,{d:`M15 19h7`}],[`path`,{d:`M16 19V2`}],[`path`,{d:`M6 12V7a2 2 0 0 1 2-2h2.172a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 16 10.828`}],[`path`,{d:`M7 19h4`}],[`circle`,{cx:`13`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],xv=[[`path`,{d:`M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z`}],[`path`,{d:`M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z`}],[`path`,{d:`M16 17h4`}],[`path`,{d:`M4 13h4`}]],Sv=[[`path`,{d:`M4 14h6`}],[`path`,{d:`M4 2h10`}],[`rect`,{x:`4`,y:`18`,width:`16`,height:`4`,rx:`1`}],[`rect`,{x:`4`,y:`6`,width:`16`,height:`4`,rx:`1`}]],Cv=[[`path`,{d:`m15 17 5-5-5-5`}],[`path`,{d:`M4 18v-2a4 4 0 0 1 4-4h12`}]],wv=[[`line`,{x1:`22`,x2:`2`,y1:`6`,y2:`6`}],[`line`,{x1:`22`,x2:`2`,y1:`18`,y2:`18`}],[`line`,{x1:`6`,x2:`6`,y1:`2`,y2:`22`}],[`line`,{x1:`18`,x2:`18`,y1:`2`,y2:`22`}]],Tv=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],Ev=[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`}],[`path`,{d:`M2 21h13`}],[`path`,{d:`M3 9h11`}]],Dv=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`rect`,{width:`10`,height:`8`,x:`7`,y:`8`,rx:`1`}]],Ov=[[`path`,{d:`M13.354 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l1.218-1.348`}],[`path`,{d:`M16 6h6`}],[`path`,{d:`M19 3v6`}]],kv=[[`path`,{d:`M12.531 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l.427-.473`}],[`path`,{d:`m16.5 3.5 5 5`}],[`path`,{d:`m21.5 3.5-5 5`}]],Av=[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`}]],jv=[[`path`,{d:`M2 7v10`}],[`path`,{d:`M6 5v14`}],[`rect`,{width:`12`,height:`18`,x:`10`,y:`3`,rx:`2`}]],Mv=[[`path`,{d:`M2 3v18`}],[`rect`,{width:`12`,height:`18`,x:`6`,y:`3`,rx:`2`}],[`path`,{d:`M22 3v18`}]],Nv=[[`rect`,{width:`18`,height:`14`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M4 21h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M19 21h1`}]],Pv=[[`path`,{d:`M3 2h18`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`6`,rx:`2`}],[`path`,{d:`M3 22h18`}]],Fv=[[`path`,{d:`M7 2h10`}],[`path`,{d:`M5 6h14`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`}]],Iv=[[`line`,{x1:`6`,x2:`10`,y1:`11`,y2:`11`}],[`line`,{x1:`8`,x2:`8`,y1:`9`,y2:`13`}],[`line`,{x1:`15`,x2:`15.01`,y1:`12`,y2:`12`}],[`line`,{x1:`18`,x2:`18.01`,y1:`10`,y2:`10`}],[`path`,{d:`M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z`}]],Lv=[[`path`,{d:`M11.146 15.854a1.207 1.207 0 0 1 1.708 0l1.56 1.56A2 2 0 0 1 15 18.828V21a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2.172a2 2 0 0 1 .586-1.414z`}],[`path`,{d:`M18.828 15a2 2 0 0 1-1.414-.586l-1.56-1.56a1.207 1.207 0 0 1 0-1.708l1.56-1.56A2 2 0 0 1 18.828 9H21a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1z`}],[`path`,{d:`M6.586 14.414A2 2 0 0 1 5.172 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h2.172a2 2 0 0 1 1.414.586l1.56 1.56a1.207 1.207 0 0 1 0 1.708z`}],[`path`,{d:`M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2.172a2 2 0 0 1-.586 1.414l-1.56 1.56a1.207 1.207 0 0 1-1.708 0l-1.56-1.56A2 2 0 0 1 9 5.172z`}]],Rv=[[`line`,{x1:`6`,x2:`10`,y1:`12`,y2:`12`}],[`line`,{x1:`8`,x2:`8`,y1:`10`,y2:`14`}],[`line`,{x1:`15`,x2:`15.01`,y1:`13`,y2:`13`}],[`line`,{x1:`18`,x2:`18.01`,y1:`11`,y2:`11`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],zv=[[`path`,{d:`m12 14 4-4`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`}]],Bv=[[`path`,{d:`m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381`}],[`path`,{d:`m16 16 6-6`}],[`path`,{d:`m21.5 10.5-8-8`}],[`path`,{d:`m8 8 6-6`}],[`path`,{d:`m8.5 7.5 8 8`}]],Vv=[[`path`,{d:`M10.5 3 8 9l4 13 4-13-2.5-6`}],[`path`,{d:`M17 3a2 2 0 0 1 1.6.8l3 4a2 2 0 0 1 .013 2.382l-7.99 10.986a2 2 0 0 1-3.247 0l-7.99-10.986A2 2 0 0 1 2.4 7.8l2.998-3.997A2 2 0 0 1 7 3z`}],[`path`,{d:`M2 9h20`}]],Hv=[[`path`,{d:`M9 10h.01`}],[`path`,{d:`M15 10h.01`}],[`path`,{d:`M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z`}]],Uv=[[`path`,{d:`M11.5 21a7.5 7.5 0 1 1 7.35-9`}],[`path`,{d:`M13 12V3`}],[`path`,{d:`M4 21h16`}],[`path`,{d:`M9 12V3`}]],Wv=[[`path`,{d:`M12 7v14`}],[`path`,{d:`M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5`}],[`rect`,{x:`3`,y:`7`,width:`18`,height:`4`,rx:`1`}]],Gv=[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`path`,{d:`M21 18h-6`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]],Kv=[[`path`,{d:`M6 3v12`}],[`path`,{d:`M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`}],[`path`,{d:`M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`}],[`path`,{d:`M15 6a9 9 0 0 0-9 9`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}]],qv=[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]],Jv=[[`path`,{d:`M12 3v6`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`M12 15v6`}]],Yv=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`}],[`path`,{d:`m15 9-3-3 3-3`}],[`circle`,{cx:`19`,cy:`18`,r:`3`}],[`path`,{d:`M12 18H7a2 2 0 0 1-2-2V9`}],[`path`,{d:`m9 15 3 3-3 3`}]],Xv=[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`}]],Zv=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`}]],Qv=[[`circle`,{cx:`12`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`}],[`path`,{d:`M12 12v3`}]],$v=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v6`}],[`circle`,{cx:`5`,cy:`18`,r:`3`}],[`path`,{d:`M12 3v18`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}],[`path`,{d:`M16 15.7A9 9 0 0 0 19 9`}]],ey=[[`path`,{d:`M12 6h4a2 2 0 0 1 2 2v7`}],[`path`,{d:`M6 12v9`}],[`path`,{d:`M9 3 3 9`}],[`path`,{d:`M9 9 3 3`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],ty=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`}]],ny=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v12`}],[`circle`,{cx:`19`,cy:`18`,r:`3`}],[`path`,{d:`m15 9-3-3 3-3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`}]],ry=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 9v12`}],[`path`,{d:`m21 3-6 6`}],[`path`,{d:`m21 9-6-6`}],[`path`,{d:`M18 11.5V15`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],iy=[[`circle`,{cx:`5`,cy:`6`,r:`3`}],[`path`,{d:`M5 9v12`}],[`path`,{d:`m15 9-3-3 3-3`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v3`}],[`path`,{d:`M19 15v6`}],[`path`,{d:`M22 18h-6`}]],ay=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 9v12`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v3`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}]],cee=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M18 6V5`}],[`path`,{d:`M18 11v-1`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`}]],lee=[[`path`,{d:`M5.116 4.104A1 1 0 0 1 6.11 3h11.78a1 1 0 0 1 .994 1.105L17.19 20.21A2 2 0 0 1 15.2 22H8.8a2 2 0 0 1-2-1.79z`}],[`path`,{d:`M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0`}]],uee=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`}]],dee=[[`circle`,{cx:`6`,cy:`15`,r:`4`}],[`circle`,{cx:`18`,cy:`15`,r:`4`}],[`path`,{d:`M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2`}],[`path`,{d:`M2.5 13 5 7c.7-1.3 1.4-2 3-2`}],[`path`,{d:`M21.5 13 19 7c-.7-1.3-1.5-2-3-2`}]],fee=[[`path`,{d:`m15 6 2 2 4-4`}],[`path`,{d:`M2 12h20A10 10 0 1 1 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 4-10`}]],pee=[[`path`,{d:`M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13`}],[`path`,{d:`M2 12h8.5`}],[`path`,{d:`M20 6V4a2 2 0 1 0-4 0v2`}],[`rect`,{width:`8`,height:`5`,x:`14`,y:`6`,rx:`1`}]],mee=[[`path`,{d:`M10.114 4.462A14.5 14.5 0 0 1 12 2a10 10 0 0 1 9.313 13.643`}],[`path`,{d:`M15.557 15.556A14.5 14.5 0 0 1 12 22 10 10 0 0 1 4.929 4.929`}],[`path`,{d:`M15.892 10.234A14.5 14.5 0 0 0 12 2a10 10 0 0 0-3.643.687`}],[`path`,{d:`M17.656 12H22`}],[`path`,{d:`M19.071 19.071A10 10 0 0 1 12 22 14.5 14.5 0 0 1 8.44 8.45`}],[`path`,{d:`M2 12h10`}],[`path`,{d:`m2 2 20 20`}]],hee=[[`path`,{d:`m16 3 5 5`}],[`path`,{d:`M2 12h20A10 10 0 1 1 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 4-10`}],[`path`,{d:`m21 3-5 5`}]],gee=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`}],[`path`,{d:`M2 12h20`}]],_ee=[[`path`,{d:`M12 13V2l8 4-8 4`}],[`path`,{d:`M20.561 10.222a9 9 0 1 1-12.55-5.29`}],[`path`,{d:`M8.002 9.997a5 5 0 1 0 8.9 2.02`}]],vee=[[`path`,{d:`M2 17h18a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H2`}],[`path`,{d:`M2 21V3`}],[`path`,{d:`M7 17v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3`}],[`circle`,{cx:`16`,cy:`11`,r:`2`}],[`circle`,{cx:`8`,cy:`11`,r:`2`}]],yee=[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`}],[`path`,{d:`M22 10v6`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`}]],bee=[[`path`,{d:`M22 5V2l-5.89 5.89`}],[`circle`,{cx:`16.6`,cy:`15.89`,r:`3`}],[`circle`,{cx:`8.11`,cy:`7.4`,r:`3`}],[`circle`,{cx:`12.35`,cy:`11.65`,r:`3`}],[`circle`,{cx:`13.91`,cy:`5.85`,r:`3`}],[`circle`,{cx:`18.15`,cy:`10.09`,r:`3`}],[`circle`,{cx:`6.56`,cy:`13.2`,r:`3`}],[`circle`,{cx:`10.8`,cy:`17.44`,r:`3`}],[`circle`,{cx:`5`,cy:`19`,r:`3`}]],oy=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`m16 19 2 2 4-4`}]],sy=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`M16 19h6`}],[`path`,{d:`M19 22v-6`}]],cy=[[`path`,{d:`M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3`}],[`path`,{d:`m16 16 5 5`}],[`path`,{d:`m16 21 5-5`}]],ly=[[`path`,{d:`M12 3v18`}],[`path`,{d:`M3 12h18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],xee=[[`path`,{d:`M15 3v18`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M9 3v18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],uy=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],See=[[`circle`,{cx:`12`,cy:`9`,r:`1`}],[`circle`,{cx:`19`,cy:`9`,r:`1`}],[`circle`,{cx:`5`,cy:`9`,r:`1`}],[`circle`,{cx:`12`,cy:`15`,r:`1`}],[`circle`,{cx:`19`,cy:`15`,r:`1`}],[`circle`,{cx:`5`,cy:`15`,r:`1`}]],Cee=[[`circle`,{cx:`9`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`5`,r:`1`}],[`circle`,{cx:`9`,cy:`19`,r:`1`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`circle`,{cx:`15`,cy:`19`,r:`1`}]],wee=[[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`19`,cy:`5`,r:`1`}],[`circle`,{cx:`5`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`19`,cy:`12`,r:`1`}],[`circle`,{cx:`5`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}],[`circle`,{cx:`19`,cy:`19`,r:`1`}],[`circle`,{cx:`5`,cy:`19`,r:`1`}]],Tee=[[`path`,{d:`M3 7V5c0-1.1.9-2 2-2h2`}],[`path`,{d:`M17 3h2c1.1 0 2 .9 2 2v2`}],[`path`,{d:`M21 17v2c0 1.1-.9 2-2 2h-2`}],[`path`,{d:`M7 21H5c-1.1 0-2-.9-2-2v-2`}],[`rect`,{width:`7`,height:`5`,x:`7`,y:`7`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`10`,y:`12`,rx:`1`}]],Eee=[[`path`,{d:`m11.9 12.1 4.514-4.514`}],[`path`,{d:`M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z`}],[`path`,{d:`m6 16 2 2`}],[`path`,{d:`M8.23 9.85A3 3 0 0 1 11 8a5 5 0 0 1 5 5 3 3 0 0 1-1.85 2.77l-.92.38A2 2 0 0 0 12 18a4 4 0 0 1-4 4 6 6 0 0 1-6-6 4 4 0 0 1 4-4 2 2 0 0 0 1.85-1.23z`}]],Dee=[[`path`,{d:`M12 16H4a2 2 0 1 1 0-4h16a2 2 0 1 1 0 4h-4.25`}],[`path`,{d:`M5 12a2 2 0 0 1-2-2 9 7 0 0 1 18 0 2 2 0 0 1-2 2`}],[`path`,{d:`M5 16a2 2 0 0 0-2 2 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 2 2 0 0 0-2-2q0 0 0 0`}],[`path`,{d:`m6.67 12 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2`}]],Oee=[[`path`,{d:`M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856`}],[`path`,{d:`M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288`}],[`path`,{d:`M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025`}],[`path`,{d:`m8.5 16.5-1-1`}]],kee=[[`path`,{d:`m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9`}],[`path`,{d:`m18 15 4-4`}],[`path`,{d:`m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5`}]],Aee=[[`path`,{d:`M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17`}],[`path`,{d:`m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 16 6 6`}],[`circle`,{cx:`16`,cy:`9`,r:`2.9`}],[`circle`,{cx:`6`,cy:`5`,r:`3`}]],jee=[[`path`,{d:`M12.035 17.012a3 3 0 0 0-3-3l-.311-.002a.72.72 0 0 1-.505-1.229l1.195-1.195A2 2 0 0 1 10.828 11H12a2 2 0 0 0 0-4H9.243a3 3 0 0 0-2.122.879l-2.707 2.707A4.83 4.83 0 0 0 3 14a8 8 0 0 0 8 8h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v2a2 2 0 1 0 4 0`}],[`path`,{d:`M13.888 9.662A2 2 0 0 0 17 8V5A2 2 0 1 0 13 5`}],[`path`,{d:`M9 5A2 2 0 1 0 5 5V10`}],[`path`,{d:`M9 7V4A2 2 0 1 1 13 4V7.268`}]],Mee=[[`path`,{d:`M11 14h2a2 2 0 0 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16`}],[`path`,{d:`m14.45 13.39 5.05-4.694C20.196 8 21 6.85 21 5.75a2.75 2.75 0 0 0-4.797-1.837.276.276 0 0 1-.406 0A2.75 2.75 0 0 0 11 5.75c0 1.2.802 2.248 1.5 2.946L16 11.95`}],[`path`,{d:`m2 15 6 6`}],[`path`,{d:`m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a1 1 0 0 0-2.75-2.91`}]],dy=[[`path`,{d:`M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4`}],[`path`,{d:`M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5`}],[`path`,{d:`M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0`}]],fy=[[`path`,{d:`M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14`}],[`path`,{d:`m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 13 6 6`}]],Nee=[[`path`,{d:`M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4`}],[`path`,{d:`M14 11V9a2 2 0 1 0-4 0v2`}],[`path`,{d:`M10 10.5V5a2 2 0 1 0-4 0v9`}],[`path`,{d:`m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5`}]],Pee=[[`path`,{d:`M12 3V2`}],[`path`,{d:`m15.4 17.4 3.2-2.8a2 2 0 1 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2l-1.302-1.464A1 1 0 0 0 6.151 19H5`}],[`path`,{d:`M2 14h12a2 2 0 0 1 0 4h-2`}],[`path`,{d:`M4 10h16`}],[`path`,{d:`M5 10a7 7 0 0 1 14 0`}],[`path`,{d:`M5 14v6a1 1 0 0 1-1 1H2`}]],Fee=[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]],Iee=[[`path`,{d:`M2.048 18.566A2 2 0 0 0 4 21h16a2 2 0 0 0 1.952-2.434l-2-9A2 2 0 0 0 18 8H6a2 2 0 0 0-1.952 1.566z`}],[`path`,{d:`M8 11V6a4 4 0 0 1 8 0v5`}]],Lee=[[`path`,{d:`m11 17 2 2a1 1 0 1 0 3-3`}],[`path`,{d:`m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4`}],[`path`,{d:`m21 3 1 11h-2`}],[`path`,{d:`M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3`}],[`path`,{d:`M3 4h8`}]],Ree=[[`path`,{d:`M12 2v8`}],[`path`,{d:`m16 6-4 4-4-4`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 18h.01`}]],zee=[[`path`,{d:`M10 16h.01`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`}],[`path`,{d:`M21.946 12.013H2.054`}],[`path`,{d:`M6 16h.01`}]],Bee=[[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M12 2v8`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M10 18h.01`}]],Vee=[[`path`,{d:`M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5`}],[`path`,{d:`M14 6a6 6 0 0 1 6 6v3`}],[`path`,{d:`M4 15v-3a6 6 0 0 1 6-6`}],[`rect`,{x:`2`,y:`15`,width:`20`,height:`4`,rx:`1`}]],Hee=[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`}]],Uee=[[`path`,{d:`M14 18a2 2 0 0 0-4 0`}],[`path`,{d:`m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11`}],[`path`,{d:`M2 11h20`}],[`circle`,{cx:`17`,cy:`18`,r:`3`}],[`circle`,{cx:`7`,cy:`18`,r:`3`}]],Wee=[[`path`,{d:`m5.2 6.2 1.4 1.4`}],[`path`,{d:`M2 13h2`}],[`path`,{d:`M20 13h2`}],[`path`,{d:`m17.4 7.6 1.4-1.4`}],[`path`,{d:`M22 17H2`}],[`path`,{d:`M22 21H2`}],[`path`,{d:`M16 13a4 4 0 0 0-8 0`}],[`path`,{d:`M12 5V2.5`}]],Gee=[[`path`,{d:`M10 12H6`}],[`path`,{d:`M10 15V9`}],[`path`,{d:`M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z`}],[`path`,{d:`M6 15V9`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],Kee=[[`path`,{d:`M22 9a1 1 0 00-1-1H3a1 1 0 00-1 1v4a1 1 0 001 1h.5a2 2 0 011.6.8l.3.4A2 2 0 007 16h10a2 2 0 001.6-.8l.3-.4a2 2 0 011.6-.8h.5a1 1 0 001-1z`}],[`path`,{d:`M8 12h8`}]],qee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`m17 12 3-2v8`}]],Jee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1`}]],Yee=[[`path`,{d:`M12 18V6`}],[`path`,{d:`M17 10v3a1 1 0 0 0 1 1h3`}],[`path`,{d:`M21 10v8`}],[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}]],Xee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2`}],[`path`,{d:`M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2`}]],Zee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`path`,{d:`M17 13v-3h4`}],[`path`,{d:`M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17`}]],Qee=[[`path`,{d:`M4 12h8`}],[`path`,{d:`M4 18V6`}],[`path`,{d:`M12 18V6`}],[`circle`,{cx:`19`,cy:`16`,r:`2`}],[`path`,{d:`M20 10c-2 2-3 3.5-3 6`}]],$ee=[[`path`,{d:`M6 12h12`}],[`path`,{d:`M6 20V4`}],[`path`,{d:`M18 20V4`}]],ete=[[`path`,{d:`M21 14h-1.343`}],[`path`,{d:`M9.128 3.47A9 9 0 0 1 21 12v3.343`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3`}],[`path`,{d:`M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364`}]],tte=[[`path`,{d:`M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3`}]],nte=[[`path`,{d:`M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z`}],[`path`,{d:`M21 16v2a4 4 0 0 1-4 4h-5`}]],rte=[[`path`,{d:`M12.409 5.824c-.702.792-1.15 1.496-1.415 2.166l2.153 2.156a.5.5 0 0 1 0 .707l-2.293 2.293a.5.5 0 0 0 0 .707L12 15`}],[`path`,{d:`M13.508 20.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.677.6.6 0 0 0 .818.001A5.5 5.5 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5z`}]],ite=[[`path`,{d:`M19.414 14.414C21 12.828 22 11.5 22 9.5a5.5 5.5 0 0 0-9.591-3.676.6.6 0 0 1-.818.001A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.535 5.362a2 2 0 0 0 2.879.052 2.12 2.12 0 0 0-.004-3 2.124 2.124 0 1 0 3-3 2.124 2.124 0 0 0 3.004 0 2 2 0 0 0 0-2.828l-1.881-1.882a2.41 2.41 0 0 0-3.409 0l-1.71 1.71a2 2 0 0 1-2.828 0 2 2 0 0 1 0-2.828l2.823-2.762`}]],ate=[[`path`,{d:`m14.876 18.99-1.368 1.323a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.244 1.572`}],[`path`,{d:`M15 15h6`}]],ote=[[`path`,{d:`M10.5 4.893a5.5 5.5 0 0 1 1.091.931.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 1.872-1.002 3.356-2.187 4.655`}],[`path`,{d:`m16.967 16.967-3.459 3.346a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 2.747-4.761`}],[`path`,{d:`m2 2 20 20`}]],ste=[[`path`,{d:`m14.479 19.374-.971.939a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.219 1.49`}],[`path`,{d:`M15 15h6`}],[`path`,{d:`M18 12v6`}]],cte=[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`}],[`path`,{d:`M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27`}]],lte=[[`path`,{d:`m15.5 12.5 5 5`}],[`path`,{d:`m20.5 12.5-5 5`}],[`path`,{d:`M21.955 8.774a5.5 5.5 0 0 0-9.546-2.95.6.6 0 0 1-.818 0A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.508 5.332a2 2 0 0 0 2.57.352`}]],ute=[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`}]],dte=[[`path`,{d:`M11 8c2-3-2-3 0-6`}],[`path`,{d:`M15.5 8c2-3-2-3 0-6`}],[`path`,{d:`M6 10h.01`}],[`path`,{d:`M6 14h.01`}],[`path`,{d:`M10 16v-4`}],[`path`,{d:`M14 16v-4`}],[`path`,{d:`M18 16v-4`}],[`path`,{d:`M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3`}],[`path`,{d:`M5 20v2`}],[`path`,{d:`M19 20v2`}]],fte=[[`path`,{d:`M11 17v4`}],[`path`,{d:`M14 3v8a2 2 0 0 0 2 2h5.865`}],[`path`,{d:`M17 17v4`}],[`path`,{d:`M18 17a4 4 0 0 0 4-4 8 6 0 0 0-8-6 6 5 0 0 0-6 5v3a2 2 0 0 0 2 2z`}],[`path`,{d:`M2 10v5`}],[`path`,{d:`M6 3h16`}],[`path`,{d:`M7 21h14`}],[`path`,{d:`M8 13H2`}]],pte=[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}]],py=[[`path`,{d:`m9 11-6 6v3h9l3-3`}],[`path`,{d:`m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4`}]],my=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M12 7v5l4 2`}]],hy=[[`path`,{d:`M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18`}],[`path`,{d:`M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88`}],[`path`,{d:`M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36`}],[`path`,{d:`M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87`}],[`path`,{d:`M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08`}],[`path`,{d:`M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57`}],[`path`,{d:`M4.93 4.93 3 3a.7.7 0 0 1 0-1`}],[`path`,{d:`M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15`}]],gy=[[`path`,{d:`M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27`}],[`path`,{d:`M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28`}],[`path`,{d:`M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26`}],[`path`,{d:`M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25`}],[`path`,{d:`M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75`}],[`path`,{d:`M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24`}],[`path`,{d:`M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28`}],[`path`,{d:`M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05`}],[`path`,{d:`m2 2 20 20`}]],_y=[[`path`,{d:`M12 7v4`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M14 9h-4`}],[`path`,{d:`M18 11h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2`}],[`path`,{d:`M18 21V5a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16`}]],vy=[[`path`,{d:`M10 22v-6.57`}],[`path`,{d:`M12 11h.01`}],[`path`,{d:`M12 7h.01`}],[`path`,{d:`M14 15.43V22`}],[`path`,{d:`M15 16a5 5 0 0 0-6 0`}],[`path`,{d:`M16 11h.01`}],[`path`,{d:`M16 7h.01`}],[`path`,{d:`M8 11h.01`}],[`path`,{d:`M8 7h.01`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],yy=[[`path`,{d:`M8.62 13.8A2.25 2.25 0 1 1 12 10.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}]],by=[[`path`,{d:`M5 22h14`}],[`path`,{d:`M5 2h14`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`}]],xy=[[`path`,{d:`M12.35 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .71-1.53l7-6a2 2 0 0 1 2.58 0l7 6A2 2 0 0 1 21 10v2.35`}],[`path`,{d:`M14.8 12.4A1 1 0 0 0 14 12h-4a1 1 0 0 0-1 1v8`}],[`path`,{d:`M15 18h6`}],[`path`,{d:`M18 15v6`}]],Sy=[[`path`,{d:`M10 12V8.964`}],[`path`,{d:`M14 12V8.964`}],[`path`,{d:`M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z`}],[`path`,{d:`M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2`}]],Cy=[[`path`,{d:`M9.5 13.866a4 4 0 0 1 5 .01`}],[`path`,{d:`M12 17h.01`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}],[`path`,{d:`M7 10.754a8 8 0 0 1 10 0`}]],wy=[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}]],Ty=[[`path`,{d:`M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0`}],[`path`,{d:`M12.14 11a3.5 3.5 0 1 1 6.71 0`}],[`path`,{d:`M15.5 6.5a3.5 3.5 0 1 0-7 0`}]],Ey=[[`path`,{d:`m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11`}],[`path`,{d:`M17 7A5 5 0 0 0 7 7`}],[`path`,{d:`M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4`}]],Dy=[[`path`,{d:`M13.5 8h-3`}],[`path`,{d:`m15 2-1 2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3`}],[`path`,{d:`M16.899 22A5 5 0 0 0 7.1 22`}],[`path`,{d:`m9 2 3 6`}],[`circle`,{cx:`12`,cy:`15`,r:`3`}]],Oy=[[`path`,{d:`M16 10h2`}],[`path`,{d:`M16 14h2`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`}],[`circle`,{cx:`9`,cy:`11`,r:`2`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}]],ky=[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`}],[`path`,{d:`m14 19 3 3v-5.5`}],[`path`,{d:`m17 22 3-3`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Ay=[[`path`,{d:`M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`}],[`line`,{x1:`16`,x2:`22`,y1:`5`,y2:`5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}]],jy=[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`}]],My=[[`path`,{d:`M15 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}],[`path`,{d:`M21 12.17V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`m6 21 5-5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Ny=[[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 2v6`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Py=[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`}],[`path`,{d:`m14 19.5 3-3 3 3`}],[`path`,{d:`M17 22v-5.5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]],Fy=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}]],Iy=[[`path`,{d:`m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16`}],[`path`,{d:`M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2`}],[`circle`,{cx:`13`,cy:`7`,r:`1`,fill:`currentColor`}],[`rect`,{x:`8`,y:`2`,width:`14`,height:`14`,rx:`2`}]],Ly=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M17 21h2a2 2 0 0 0 2-2`}],[`path`,{d:`M21 12v3`}],[`path`,{d:`m21 3-5 5`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2`}],[`path`,{d:`m5 21 4.144-4.144a1.21 1.21 0 0 1 1.712 0L13 19`}],[`path`,{d:`M9 3h3`}],[`rect`,{x:`3`,y:`11`,width:`10`,height:`10`,rx:`1`}]],Ry=[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`}]],zy=[[`path`,{d:`M12 3v12`}],[`path`,{d:`m8 11 4 4 4-4`}],[`path`,{d:`M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4`}]],By=[[`path`,{d:`M6 3h12`}],[`path`,{d:`M6 8h12`}],[`path`,{d:`m6 13 8.5 8`}],[`path`,{d:`M6 13h3`}],[`path`,{d:`M9 13c6.667 0 6.667-10 0-10`}]],Vy=[[`path`,{d:`M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8`}]],Hy=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]],Uy=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7h.01`}],[`path`,{d:`M17 7h.01`}],[`path`,{d:`M7 17h.01`}],[`path`,{d:`M17 17h.01`}]],Wy=[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`}]],Gy=[[`path`,{d:`m16 14 4 4-4 4`}],[`path`,{d:`M20 10a8 8 0 1 0-8 8h8`}]],Ky=[[`path`,{d:`M4 10a8 8 0 1 1 8 8H4`}],[`path`,{d:`m8 22-4-4 4-4`}]],qy=[[`path`,{d:`M12 9.5V21m0-11.5L6 3m6 6.5L18 3`}],[`path`,{d:`M6 15h12`}],[`path`,{d:`M6 11h12`}]],Jy=[[`path`,{d:`M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z`}],[`path`,{d:`M6 15v-2`}],[`path`,{d:`M12 15V9`}],[`circle`,{cx:`12`,cy:`6`,r:`3`}]],Yy=[[`path`,{d:`M18 17a1 1 0 0 0-1 1v1a2 2 0 1 0 2-2z`}],[`path`,{d:`M20.97 3.61a.45.45 0 0 0-.58-.58C10.2 6.6 6.6 10.2 3.03 20.39a.45.45 0 0 0 .58.58C13.8 17.4 17.4 13.8 20.97 3.61`}],[`path`,{d:`m6.707 6.707 10.586 10.586`}],[`path`,{d:`M7 5a2 2 0 1 0-2 2h1a1 1 0 0 0 1-1z`}]],Xy=[[`path`,{d:`M5 3v14`}],[`path`,{d:`M12 3v8`}],[`path`,{d:`M19 3v18`}]],Zy=[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],Qy=[[`path`,{d:`M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z`}],[`path`,{d:`m14 7 3 3`}],[`path`,{d:`m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814`}]],$y=[[`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`}],[`path`,{d:`m21 2-9.6 9.6`}],[`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`}]],eb=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M6 8h4`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`M6 12v4`}],[`path`,{d:`M10 12v4`}],[`path`,{d:`M14 12v4`}],[`path`,{d:`M18 12v4`}]],tb=[[`path`,{d:`M10 8h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M16 12h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M7 16h10`}],[`path`,{d:`M8 12h.01`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}]],nb=[[`path`,{d:`M 20 4 A2 2 0 0 1 22 6`}],[`path`,{d:`M 22 6 L 22 16.41`}],[`path`,{d:`M 7 16 L 16 16`}],[`path`,{d:`M 9.69 4 L 20 4`}],[`path`,{d:`M14 8h.01`}],[`path`,{d:`M18 8h.01`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2`}],[`path`,{d:`M6 8h.01`}],[`path`,{d:`M8 12h.01`}]],rb=[[`path`,{d:`M12 2v5`}],[`path`,{d:`M14.829 15.998a3 3 0 1 1-5.658 0`}],[`path`,{d:`M20.92 14.606A1 1 0 0 1 20 16H4a1 1 0 0 1-.92-1.394l3-7A1 1 0 0 1 7 7h10a1 1 0 0 1 .92.606z`}]],ib=[[`path`,{d:`M10.293 2.293a1 1 0 0 1 1.414 0l2.5 2.5 5.994 1.227a1 1 0 0 1 .506 1.687l-7 7a1 1 0 0 1-1.687-.506l-1.227-5.994-2.5-2.5a1 1 0 0 1 0-1.414z`}],[`path`,{d:`m14.207 4.793-3.414 3.414`}],[`path`,{d:`M3 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z`}],[`path`,{d:`m9.086 6.5-4.793 4.793a1 1 0 0 0-.18 1.17L7 18`}]],ab=[[`path`,{d:`M12 10v12`}],[`path`,{d:`M17.929 7.629A1 1 0 0 1 17 9H7a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 9 2h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M9 22h6`}]],ob=[[`path`,{d:`M19.929 18.629A1 1 0 0 1 19 20H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 13h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M6 3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z`}],[`path`,{d:`M8 6h4a2 2 0 0 1 2 2v5`}]],sb=[[`path`,{d:`M19.929 9.629A1 1 0 0 1 19 11H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 4h6a1 1 0 0 1 .928.629z`}],[`path`,{d:`M6 15a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`}],[`path`,{d:`M8 18h4a2 2 0 0 0 2-2v-5`}]],cb=[[`path`,{d:`M12 12v6`}],[`path`,{d:`M4.077 10.615A1 1 0 0 0 5 12h14a1 1 0 0 0 .923-1.385l-3.077-7.384A2 2 0 0 0 15 2H9a2 2 0 0 0-1.846 1.23Z`}],[`path`,{d:`M8 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1z`}]],lb=[[`path`,{d:`m12 8 6-3-6-3v10`}],[`path`,{d:`m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12`}],[`path`,{d:`m6.49 12.85 11.02 6.3`}],[`path`,{d:`M17.51 12.85 6.5 19.15`}]],ub=[[`path`,{d:`M10 18v-7`}],[`path`,{d:`M11.119 2.205a2 2 0 0 1 1.762 0l7.84 3.846A.5.5 0 0 1 20.5 7h-17a.5.5 0 0 1-.22-.949z`}],[`path`,{d:`M14 18v-7`}],[`path`,{d:`M18 18v-7`}],[`path`,{d:`M3 22h18`}],[`path`,{d:`M6 18v-7`}]],db=[[`path`,{d:`m5 8 6 6`}],[`path`,{d:`m4 14 6-6 2-3`}],[`path`,{d:`M2 5h12`}],[`path`,{d:`M7 2h1`}],[`path`,{d:`m22 22-5-10-5 10`}],[`path`,{d:`M14 18h6`}]],fb=[[`path`,{d:`M2 20h20`}],[`path`,{d:`m9 10 2 2 4-4`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`12`,rx:`2`}]],pb=[[`rect`,{width:`18`,height:`12`,x:`3`,y:`4`,rx:`2`,ry:`2`}],[`line`,{x1:`2`,x2:`22`,y1:`20`,y2:`20`}]],mb=[[`path`,{d:`M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z`}],[`path`,{d:`M20.054 15.987H3.946`}]],hb=[[`path`,{d:`M7 22a5 5 0 0 1-2-4`}],[`path`,{d:`M7 16.93c.96.43 1.96.74 2.99.91`}],[`path`,{d:`M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2`}],[`path`,{d:`M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z`}],[`path`,{d:`M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z`}]],gb=[[`path`,{d:`M3.704 14.467a10 8 0 1 1 3.115 2.375`}],[`path`,{d:`M7 22a5 5 0 0 1-2-3.994`}],[`circle`,{cx:`5`,cy:`16`,r:`2`}]],_b=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],vb=[[`path`,{d:`M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z`}],[`path`,{d:`m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845`}]],yb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.832z`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M2.003 11.995a1 1 0 0 0 .597.915l8.58 3.91a2 2 0 0 0 .83.18`}],[`path`,{d:`M2.003 16.995a1 1 0 0 0 .597.915l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l2.11-.96`}],[`path`,{d:`M22.018 12.004a1 1 0 0 1-.598.916l-.177.08`}]],bb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`}]],xb=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M19 14v6`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 .825.178`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l2.116-.962`}]],Sb=[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`}]],Cb=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}]],wb=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`path`,{d:`M14 4h7`}],[`path`,{d:`M14 9h7`}],[`path`,{d:`M14 15h7`}],[`path`,{d:`M14 20h7`}]],Tb=[[`rect`,{width:`7`,height:`18`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}]],Eb=[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}]],Db=[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`}]],Ob=[[`path`,{d:`M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z`}],[`path`,{d:`M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12`}]],kb=[[`path`,{d:`M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22`}],[`path`,{d:`M2 22 17 7`}]],Ab=[[`path`,{d:`M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3`}],[`path`,{d:`M18 6V3a1 1 0 0 0-1-1h-3`}],[`rect`,{width:`8`,height:`12`,x:`8`,y:`10`,rx:`1`}]],jb=[[`path`,{d:`M7 2a1 1 0 0 0-.8 1.6 14 14 0 0 1 0 16.8A1 1 0 0 0 7 22h10a1 1 0 0 0 .8-1.6 14 14 0 0 1 0-16.8A1 1 0 0 0 17 2z`}]],Mb=[[`path`,{d:`M13.433 2a1 1 0 0 1 .824.448 18 18 0 0 1 0 19.104 1 1 0 0 1-.824.448h-2.866a1 1 0 0 1-.824-.448 18 18 0 0 1 0-19.104A1 1 0 0 1 10.567 2z`}]],Nb=[[`rect`,{width:`8`,height:`18`,x:`3`,y:`3`,rx:`1`}],[`path`,{d:`M7 3v18`}],[`path`,{d:`M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z`}]],Pb=[[`path`,{d:`m16 6 4 14`}],[`path`,{d:`M12 6v14`}],[`path`,{d:`M8 8v12`}],[`path`,{d:`M4 4v16`}]],Fb=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m4.93 4.93 4.24 4.24`}],[`path`,{d:`m14.83 9.17 4.24-4.24`}],[`path`,{d:`m14.83 14.83 4.24 4.24`}],[`path`,{d:`m9.17 14.83-4.24 4.24`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],Ib=[[`path`,{d:`M14 12h2v8`}],[`path`,{d:`M14 20h4`}],[`path`,{d:`M6 12h4`}],[`path`,{d:`M6 20h4`}],[`path`,{d:`M8 20V8a4 4 0 0 1 7.464-2`}]],Lb=[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`}],[`path`,{d:`M9 18h6`}],[`path`,{d:`M10 22h4`}]],Rb=[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`}],[`path`,{d:`M9 18h6`}],[`path`,{d:`M10 22h4`}]],zb=[[`path`,{d:`M7 3.5c5-2 7 2.5 3 4C1.5 10 2 15 5 16c5 2 9-10 14-7s.5 13.5-4 12c-5-2.5.5-11 6-2`}]],Bb=[[`path`,{d:`M 3 12 L 15 12`}],[`circle`,{cx:`18`,cy:`12`,r:`3`}]],Vb=[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],Hb=[[`path`,{d:`M11 5h2`}],[`path`,{d:`M15 12h6`}],[`path`,{d:`M19 5h2`}],[`path`,{d:`M3 12h6`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`M3 5h2`}]],Ub=[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}]],Wb=[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`}]],Gb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M11 19H3`}],[`path`,{d:`m15 18 2 2 4-4`}]],Kb=[[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`m3 17 2 2 4-4`}],[`path`,{d:`m3 7 2 2 4-4`}]],qb=[[`path`,{d:`M3 5h8`}],[`path`,{d:`M3 12h8`}],[`path`,{d:`M3 19h8`}],[`path`,{d:`m15 5 3 3 3-3`}],[`path`,{d:`m15 19 3-3 3 3`}]],Jb=[[`path`,{d:`M3 5h8`}],[`path`,{d:`M3 12h8`}],[`path`,{d:`M3 19h8`}],[`path`,{d:`m15 8 3-3 3 3`}],[`path`,{d:`m15 16 3 3 3-3`}]],Yb=[[`path`,{d:`M10 5h11`}],[`path`,{d:`M10 12h11`}],[`path`,{d:`M10 19h11`}],[`path`,{d:`m3 10 3-3-3-3`}],[`path`,{d:`m3 20 3-3-3-3`}]],Xb=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M9 19H3`}],[`path`,{d:`m16 16-3 3 3 3`}],[`path`,{d:`M21 5v12a2 2 0 0 1-2 2h-6`}]],Zb=[[`path`,{d:`M12 5H2`}],[`path`,{d:`M6 12h12`}],[`path`,{d:`M9 19h6`}],[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 8V2`}]],Qb=[[`path`,{d:`M21 5H11`}],[`path`,{d:`M21 12H11`}],[`path`,{d:`M21 19H11`}],[`path`,{d:`m7 8-4 4 4 4`}]],$b=[[`path`,{d:`M2 5h20`}],[`path`,{d:`M6 12h12`}],[`path`,{d:`M9 19h6`}]],ex=[[`path`,{d:`M21 5H11`}],[`path`,{d:`M21 12H11`}],[`path`,{d:`M21 19H11`}],[`path`,{d:`m3 8 4 4-4 4`}]],tx=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M21 12h-6`}]],nx=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M11 19H3`}],[`path`,{d:`M21 16V5`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],rx=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M18 9v6`}],[`path`,{d:`M21 12h-6`}]],ix=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M7 12H3`}],[`path`,{d:`M7 19H3`}],[`path`,{d:`M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14`}],[`path`,{d:`M11 10v4h4`}]],ax=[[`path`,{d:`M11 5h10`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 19h10`}],[`path`,{d:`M4 4h1v5`}],[`path`,{d:`M4 9h2`}],[`path`,{d:`M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02`}]],ox=[[`path`,{d:`M3 19h18`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M9 5H3`}]],sx=[[`path`,{d:`M15 12H3`}],[`path`,{d:`M3 5h18`}],[`path`,{d:`M9 19H3`}]],cx=[[`path`,{d:`M3 5h6`}],[`path`,{d:`M3 12h13`}],[`path`,{d:`M3 19h13`}],[`path`,{d:`m16 8-3-3 3-3`}],[`path`,{d:`M21 19V7a2 2 0 0 0-2-2h-6`}]],lx=[[`path`,{d:`M8 5h13`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`M3 10a2 2 0 0 0 2 2h3`}],[`path`,{d:`M3 5v12a2 2 0 0 0 2 2h3`}]],ux=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M10 12H3`}],[`path`,{d:`M10 19H3`}],[`path`,{d:`M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`}]],dx=[[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`m3 17 2 2 4-4`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`}]],fx=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M11 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`m15.5 9.5 5 5`}],[`path`,{d:`m20.5 9.5-5 5`}]],px=[[`path`,{d:`M3 5h.01`}],[`path`,{d:`M3 12h.01`}],[`path`,{d:`M3 19h.01`}],[`path`,{d:`M8 5h13`}],[`path`,{d:`M8 12h13`}],[`path`,{d:`M8 19h13`}]],mx=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]],hx=[[`path`,{d:`M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0`}],[`path`,{d:`M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6`}],[`path`,{d:`M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],gx=[[`path`,{d:`M12 2v4`}],[`path`,{d:`m16.2 7.8 2.9-2.9`}],[`path`,{d:`M18 12h4`}],[`path`,{d:`m16.2 16.2 2.9 2.9`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`m4.9 19.1 2.9-2.9`}],[`path`,{d:`M2 12h4`}],[`path`,{d:`m4.9 4.9 2.9 2.9`}]],_x=[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],vx=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M12 2v3`}],[`path`,{d:`M18.89 13.24a7 7 0 0 0-8.13-8.13`}],[`path`,{d:`M19 12h3`}],[`path`,{d:`M2 12h3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7.05 7.05a7 7 0 0 0 9.9 9.9`}]],yx=[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}]],bx=[[`circle`,{cx:`12`,cy:`16`,r:`1`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`}],[`path`,{d:`M7 10V7a5 5 0 0 1 9.33-2.5`}]],xx=[[`circle`,{cx:`12`,cy:`16`,r:`1`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`}]],Sx=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 9.9-1`}]],Cx=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`}]],wx=[[`path`,{d:`m10 17 5-5-5-5`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`}]],Tx=[[`path`,{d:`m16 17 5-5-5-5`}],[`path`,{d:`M21 12H9`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}]],Ex=[[`path`,{d:`M3 5h1`}],[`path`,{d:`M3 12h1`}],[`path`,{d:`M3 19h1`}],[`path`,{d:`M8 5h1`}],[`path`,{d:`M8 12h1`}],[`path`,{d:`M8 19h1`}],[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}]],Dx=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0`}]],Ox=[[`path`,{d:`M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2`}],[`path`,{d:`M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14`}],[`path`,{d:`M10 20h4`}],[`circle`,{cx:`16`,cy:`20`,r:`2`}],[`circle`,{cx:`8`,cy:`20`,r:`2`}]],kx=[[`path`,{d:`m12 15 4 4`}],[`path`,{d:`M2.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.029-6.029a1 1 0 1 1 3 3l-6.029 6.029a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.365-6.367A1 1 0 0 0 8.716 4.282z`}],[`path`,{d:`m5 8 4 4`}]],Ax=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`m16 19 2 2 4-4`}]],jx=[[`path`,{d:`M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M16 19h6`}]],Mx=[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`}]],Nx=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M16 19h6`}]],Px=[[`path`,{d:`M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2`}],[`path`,{d:`M20 22v.01`}]],Fx=[[`path`,{d:`M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`path`,{d:`m22 22-1.5-1.5`}]],Ix=[[`path`,{d:`M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`M20 14v4`}],[`path`,{d:`M20 22v.01`}]],Lx=[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}]],Rx=[[`path`,{d:`M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`}],[`path`,{d:`m17 17 4 4`}],[`path`,{d:`m21 17-4 4`}]],zx=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z`}],[`polyline`,{points:`15,9 18,9 18,11`}],[`path`,{d:`M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2`}],[`line`,{x1:`6`,x2:`7`,y1:`10`,y2:`10`}]],Bx=[[`path`,{d:`M17 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 1-1.732`}],[`path`,{d:`m22 5.5-6.419 4.179a2 2 0 0 1-2.162 0L7 5.5`}],[`rect`,{x:`7`,y:`3`,width:`15`,height:`12`,rx:`2`}]],Vx=[[`path`,{d:`m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V14`}],[`path`,{d:`M15 5.764V14`}],[`path`,{d:`M21 18h-6`}],[`path`,{d:`M9 3.236v15`}]],Hx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`m9 10 2 2 4-4`}]],Ux=[[`path`,{d:`M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`m16 18 2 2 4-4`}]],Wx=[[`path`,{d:`M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z`}],[`path`,{d:`M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2`}],[`path`,{d:`M18 22v-3`}],[`circle`,{cx:`10`,cy:`10`,r:`3`}]],Gx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`M9 10h6`}]],Kx=[[`path`,{d:`M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M16 18h6`}]],qx=[[`path`,{d:`M12.75 7.09a3 3 0 0 1 2.16 2.16`}],[`path`,{d:`M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533`}],[`path`,{d:`M9.13 9.13a3 3 0 0 0 3.74 3.74`}]],Jx=[[`path`,{d:`M17.97 9.304A8 8 0 0 0 2 10c0 4.69 4.887 9.562 7.022 11.468`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`10`,r:`3`}]],Yx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`M12 7v6`}],[`path`,{d:`M9 10h6`}]],Xx=[[`path`,{d:`M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M16 18h6`}],[`path`,{d:`M19 15v6`}]],Zx=[[`path`,{d:`M 12.248 21.969 a 1 1 0 0 1 -0.849 -0.17 C 9.539 20.193 4 14.993 4 10 a 8 8 0 0 1 16 0 C 20 10.42 19.961 10.841 19.888 11.262`}],[`path`,{d:`m22 22-1.88-1.88`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],Qx=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`path`,{d:`m14.5 7.5-5 5`}],[`path`,{d:`m9.5 7.5 5 5`}]],$x=[[`path`,{d:`M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`m21.5 15.5-5 5`}],[`path`,{d:`m21.5 20.5-5-5`}]],eS=[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}]],tS=[[`path`,{d:`M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0`}],[`circle`,{cx:`12`,cy:`8`,r:`2`}],[`path`,{d:`M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712`}]],nS=[[`path`,{d:`m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V12`}],[`path`,{d:`M15 5.764V12`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 18h-6`}],[`path`,{d:`M9 3.236v15`}]],rS=[[`path`,{d:`m14 6 4 4`}],[`path`,{d:`M17 3h4v4`}],[`path`,{d:`m21 3-7.75 7.75`}],[`circle`,{cx:`9`,cy:`15`,r:`6`}]],iS=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`m21 3-6.75 6.75`}],[`circle`,{cx:`10`,cy:`14`,r:`6`}]],aS=[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`}],[`path`,{d:`M15 5.764v15`}],[`path`,{d:`M9 3.236v15`}]],oS=[[`path`,{d:`M12 12 4.207 4.207A.707.707 0 0 1 4.707 3h14.586a.707.707 0 0 1 .5 1.207z`}],[`path`,{d:`M12 12v10`}],[`path`,{d:`M7 22h10`}]],sS=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`m21 3-7 7`}],[`path`,{d:`m3 21 7-7`}],[`path`,{d:`M9 21H3v-6`}]],cS=[[`path`,{d:`M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15`}],[`path`,{d:`M11 12 5.12 2.2`}],[`path`,{d:`m13 12 5.88-9.8`}],[`path`,{d:`M8 7h8`}],[`circle`,{cx:`12`,cy:`17`,r:`5`}],[`path`,{d:`M12 18v-2h-.5`}]],lS=[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`}]],uS=[[`path`,{d:`M11.636 6A13 13 0 0 0 19.4 3.2 1 1 0 0 1 21 4v11.344`}],[`path`,{d:`M14.378 14.357A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14`}],[`path`,{d:`M8 8v6`}]],dS=[[`path`,{d:`M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z`}],[`path`,{d:`M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14`}],[`path`,{d:`M8 6v8`}]],fS=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`8`,x2:`16`,y1:`15`,y2:`15`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],pS=[[`path`,{d:`M12 12v-2`}],[`path`,{d:`M12 18v-2`}],[`path`,{d:`M16 12v-2`}],[`path`,{d:`M16 18v-2`}],[`path`,{d:`M2 11h1.5`}],[`path`,{d:`M20 18v-2`}],[`path`,{d:`M20.5 11H22`}],[`path`,{d:`M4 18v-2`}],[`path`,{d:`M8 12v-2`}],[`path`,{d:`M8 18v-2`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`10`,rx:`2`}]],mS=[[`path`,{d:`M4 5h16`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 19h16`}]],hS=[[`path`,{d:`m8 6 4-4 4 4`}],[`path`,{d:`M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22`}],[`path`,{d:`m20 22-5-5`}]],gS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m9 12 2 2 4-4`}]],_S=[[`path`,{d:`m10 9-3 3 3 3`}],[`path`,{d:`m14 15 3-3-3-3`}],[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}]],vS=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.72a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.28 17.61a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`m6.163 21.117-2.906.85a1 1 0 0 1-1.236-1.169l.965-2.98`}]],yS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 5.004 2.224 3 3 0 0 1-.832 2.083l-3.447 3.62a1 1 0 0 1-1.45-.001z`}]],bS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}]],xS=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4.93 4.929a10 10 0 0 0-1.938 11.412 2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 0 0 11.302-1.989`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`}]],SS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],CS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],wS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m10 15-3-3 3-3`}],[`path`,{d:`M7 12h8a2 2 0 0 1 2 2v1`}]],TS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M12 16h.01`}]],ES=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],DS=[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`}]],OS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m9 11 2 2 4-4`}]],kS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m10 8-3 3 3 3`}],[`path`,{d:`m14 14 3-3-3-3`}]],AS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M10 15h4`}],[`path`,{d:`M10 9h4`}],[`path`,{d:`M12 7v4`}]],jS=[[`path`,{d:`M14 3h2`}],[`path`,{d:`M16 19h-2`}],[`path`,{d:`M2 12v-2`}],[`path`,{d:`M2 16v5.286a.71.71 0 0 0 1.212.502l1.149-1.149`}],[`path`,{d:`M20 19a2 2 0 0 0 2-2v-1`}],[`path`,{d:`M22 10v2`}],[`path`,{d:`M22 6V5a2 2 0 0 0-2-2`}],[`path`,{d:`M4 3a2 2 0 0 0-2 2v1`}],[`path`,{d:`M8 19h2`}],[`path`,{d:`M8 3h2`}]],MS=[[`path`,{d:`M12.7 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4.7`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}]],NS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M7.5 9.5c0 .687.265 1.383.697 1.844l3.009 3.264a1.14 1.14 0 0 0 .407.314 1 1 0 0 0 .783-.004 1.14 1.14 0 0 0 .398-.31l3.008-3.264A2.77 2.77 0 0 0 16.5 9.5 2.5 2.5 0 0 0 12 8a2.5 2.5 0 0 0-4.5 1.5`}]],PS=[[`path`,{d:`M22 8.5V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H10`}],[`path`,{d:`M20 15v-2a2 2 0 0 0-4 0v2`}],[`rect`,{x:`14`,y:`15`,width:`8`,height:`5`,rx:`1`}]],FS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 11h.01`}],[`path`,{d:`M16 11h.01`}],[`path`,{d:`M8 11h.01`}]],IS=[[`path`,{d:`M19 19H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 1.184-1.826`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.656 3H20a2 2 0 0 1 2 2v11.344`}]],LS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 8v6`}],[`path`,{d:`M9 11h6`}]],RS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m10 8-3 3 3 3`}],[`path`,{d:`M17 14v-1a2 2 0 0 0-2-2H7`}]],zS=[[`path`,{d:`M14 14a2 2 0 0 0 2-2V8h-2`}],[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M8 14a2 2 0 0 0 2-2V8H8`}]],BS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M7 11h10`}],[`path`,{d:`M7 15h6`}],[`path`,{d:`M7 7h8`}]],VS=[[`path`,{d:`M12 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4`}],[`path`,{d:`M16 3h6v6`}],[`path`,{d:`m16 9 6-6`}]],HS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`M12 15h.01`}],[`path`,{d:`M12 7v4`}]],US=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m14.5 8.5-5 5`}],[`path`,{d:`m9.5 8.5 5 5`}]],WS=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}]],GS=[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`}]],KS=[[`path`,{d:`M12 11.4V9.1`}],[`path`,{d:`m12 17 6.59-6.59`}],[`path`,{d:`m15.05 5.7-.218-.691a3 3 0 0 0-5.663 0L4.418 19.695A1 1 0 0 0 5.37 21h13.253a1 1 0 0 0 .951-1.31L18.45 16.2`}],[`circle`,{cx:`20`,cy:`9`,r:`2`}]],qS=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M15 9.34V5a3 3 0 0 0-5.68-1.33`}],[`path`,{d:`M16.95 16.95A7 7 0 0 1 5 12v-2`}],[`path`,{d:`M18.89 13.23A7 7 0 0 0 19 12v-2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M9 9v3a3 3 0 0 0 5.12 2.12`}]],JS=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`}]],YS=[[`path`,{d:`m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12`}],[`path`,{d:`M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5`}],[`circle`,{cx:`16`,cy:`7`,r:`5`}]],XS=[[`path`,{d:`M10 12h4`}],[`path`,{d:`M10 17h4`}],[`path`,{d:`M10 7h4`}],[`path`,{d:`M18 12h2`}],[`path`,{d:`M18 18h2`}],[`path`,{d:`M18 6h2`}],[`path`,{d:`M4 12h2`}],[`path`,{d:`M4 18h2`}],[`path`,{d:`M4 6h2`}],[`rect`,{x:`6`,y:`2`,width:`12`,height:`20`,rx:`2`}]],ZS=[[`path`,{d:`M6 18h8`}],[`path`,{d:`M3 22h18`}],[`path`,{d:`M14 22a7 7 0 1 0 0-14h-1`}],[`path`,{d:`M9 14h2`}],[`path`,{d:`M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z`}],[`path`,{d:`M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}]],QS=[[`rect`,{width:`20`,height:`15`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`8`,height:`7`,x:`6`,y:`8`,rx:`1`}],[`path`,{d:`M18 8v7`}],[`path`,{d:`M6 19v2`}],[`path`,{d:`M18 19v2`}]],$S=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M12 3v3`}],[`path`,{d:`M18.172 6a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z`}]],eC=[[`path`,{d:`M8 2h8`}],[`path`,{d:`M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],tC=[[`path`,{d:`M8 2h8`}],[`path`,{d:`M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2`}],[`path`,{d:`M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0`}]],nC=[[`path`,{d:`m14 10 7-7`}],[`path`,{d:`M20 10h-6V4`}],[`path`,{d:`m3 21 7-7`}],[`path`,{d:`M4 14h6v6`}]],rC=[[`path`,{d:`M8 3v3a2 2 0 0 1-2 2H3`}],[`path`,{d:`M21 8h-3a2 2 0 0 1-2-2V3`}],[`path`,{d:`M3 16h3a2 2 0 0 1 2 2v3`}],[`path`,{d:`M16 21v-3a2 2 0 0 1 2-2h3`}]],iC=[[`path`,{d:`M5 12h14`}]],aC=[[`path`,{d:`M11 6 8 9`}],[`path`,{d:`m16 7-8 8`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}]],oC=[[`path`,{d:`M10 6.6 8.6 8`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`M15 7.5 9.5 13`}],[`path`,{d:`M7 22h10`}],[`circle`,{cx:`12`,cy:`10`,r:`8`}]],sC=[[`path`,{d:`m9 10 2 2 4-4`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],cC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`m14.305 7.53.923-.382`}],[`path`,{d:`m15.228 4.852-.923-.383`}],[`path`,{d:`m16.852 3.228-.383-.924`}],[`path`,{d:`m16.852 8.772-.383.923`}],[`path`,{d:`m19.148 3.228.383-.924`}],[`path`,{d:`m19.53 9.696-.382-.924`}],[`path`,{d:`m20.772 4.852.924-.383`}],[`path`,{d:`m20.772 7.148.924.383`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`}],[`path`,{d:`M8 21h8`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}]],lC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M22 12.307V15a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8.693`}],[`path`,{d:`M8 21h8`}],[`circle`,{cx:`19`,cy:`6`,r:`3`}]],uC=[[`path`,{d:`M11 13a3 3 0 1 1 2.83-4H14a2 2 0 0 1 0 4z`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],dC=[[`path`,{d:`M12 13V7`}],[`path`,{d:`m15 10-3 3-3-3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],fC=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M17 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 1.184-1.826`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M8.656 3H20a2 2 0 0 1 2 2v10a2 2 0 0 1-.293 1.042`}]],pC=[[`path`,{d:`M10 13V7`}],[`path`,{d:`M14 13V7`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],mC=[[`path`,{d:`M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],hC=[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`}],[`path`,{d:`M10 19v-3.96 3.15`}],[`path`,{d:`M7 19h5`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`}]],gC=[[`path`,{d:`M5.5 20H8`}],[`path`,{d:`M17 9h.01`}],[`rect`,{width:`10`,height:`16`,x:`12`,y:`4`,rx:`2`}],[`path`,{d:`M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4`}],[`circle`,{cx:`17`,cy:`15`,r:`1`}]],_C=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}],[`rect`,{x:`9`,y:`7`,width:`6`,height:`6`,rx:`1`}]],vC=[[`path`,{d:`m9 10 3-3 3 3`}],[`path`,{d:`M12 13V7`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],yC=[[`path`,{d:`m14.5 12.5-5-5`}],[`path`,{d:`m9.5 12.5 5-5`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}]],bC=[[`path`,{d:`M18 5h4`}],[`path`,{d:`M20 3v4`}],[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]],xC=[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`}]],SC=[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]],CC=[[`path`,{d:`m18 14-1-3`}],[`path`,{d:`m3 9 6 2a2 2 0 0 1 2-2h2a2 2 0 0 1 1.99 1.81`}],[`path`,{d:`M8 17h3a1 1 0 0 0 1-1 6 6 0 0 1 6-6 1 1 0 0 0 1-1v-.75A5 5 0 0 0 17 5`}],[`circle`,{cx:`19`,cy:`17`,r:`3`}],[`circle`,{cx:`5`,cy:`17`,r:`3`}]],wC=[[`path`,{d:`m8 3 4 8 5-5 5 15H2L8 3z`}],[`path`,{d:`M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19`}]],TC=[[`path`,{d:`m8 3 4 8 5-5 5 15H2L8 3z`}]],EC=[[`path`,{d:`M12 7.318V10`}],[`path`,{d:`M5 10v5a7 7 0 0 0 14 0V9c0-3.527-2.608-6.515-6-7`}],[`circle`,{cx:`7`,cy:`4`,r:`2`}]],DC=[[`path`,{d:`M12 6v.343`}],[`path`,{d:`M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218`}],[`path`,{d:`M19 13.343V9A7 7 0 0 0 8.56 2.902`}],[`path`,{d:`M22 22 2 2`}]],OC=[[`path`,{d:`m15.55 8.45 5.138 2.087a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063L8.45 15.551`}],[`path`,{d:`M22 2 2 22`}],[`path`,{d:`m6.816 11.528-2.779-6.84a.495.495 0 0 1 .651-.651l6.84 2.779`}]],kC=[[`path`,{d:`M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z`}],[`circle`,{cx:`16`,cy:`16`,r:`6`}],[`path`,{d:`m11.8 11.8 8.4 8.4`}]],AC=[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`}]],jC=[[`path`,{d:`M12.586 12.586 19 19`}],[`path`,{d:`M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z`}]],MC=[[`path`,{d:`M14 4.1 12 6`}],[`path`,{d:`m5.1 8-2.9-.8`}],[`path`,{d:`m6 12-1.9 2`}],[`path`,{d:`M7.2 2.2 8 5.1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`}]],NC=[[`path`,{d:`M12 7.318V10`}],[`path`,{d:`M19 10v5a7 7 0 0 1-14 0V9c0-3.527 2.608-6.515 6-7`}],[`circle`,{cx:`17`,cy:`4`,r:`2`}]],PC=[[`rect`,{x:`5`,y:`2`,width:`14`,height:`20`,rx:`7`}],[`path`,{d:`M12 6v4`}]],FC=[[`path`,{d:`M5 3v16h16`}],[`path`,{d:`m5 19 6-6`}],[`path`,{d:`m2 6 3-3 3 3`}],[`path`,{d:`m18 16 3 3-3 3`}]],IC=[[`path`,{d:`M19 13v6h-6`}],[`path`,{d:`M5 11V5h6`}],[`path`,{d:`m5 5 14 14`}]],LC=[[`path`,{d:`M11 19H5v-6`}],[`path`,{d:`M13 5h6v6`}],[`path`,{d:`M19 5 5 19`}]],RC=[[`path`,{d:`M11 19H5V13`}],[`path`,{d:`M19 5L5 19`}]],zC=[[`path`,{d:`M19 13V19H13`}],[`path`,{d:`M5 5L19 19`}]],BC=[[`path`,{d:`M8 18L12 22L16 18`}],[`path`,{d:`M12 2V22`}]],VC=[[`path`,{d:`m18 8 4 4-4 4`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m6 8-4 4 4 4`}]],HC=[[`path`,{d:`M6 8L2 12L6 16`}],[`path`,{d:`M2 12H22`}]],UC=[[`path`,{d:`M18 8L22 12L18 16`}],[`path`,{d:`M2 12H22`}]],WC=[[`path`,{d:`M5 11V5H11`}],[`path`,{d:`M5 5L19 19`}]],GC=[[`path`,{d:`M13 5H19V11`}],[`path`,{d:`M19 5L5 19`}]],KC=[[`path`,{d:`M8 6L12 2L16 6`}],[`path`,{d:`M12 2V22`}]],qC=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m8 18 4 4 4-4`}],[`path`,{d:`m8 6 4-4 4 4`}]],JC=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m19 9 3 3-3 3`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m5 9-3 3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],YC=[[`circle`,{cx:`8`,cy:`18`,r:`4`}],[`path`,{d:`M12 18V2l7 4`}]],XC=[[`circle`,{cx:`12`,cy:`18`,r:`4`}],[`path`,{d:`M16 18V2`}]],ZC=[[`path`,{d:`M9 18V5l12-2v13`}],[`path`,{d:`m9 9 12-2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],QC=[[`path`,{d:`M9 18V5l12-2v13`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`circle`,{cx:`18`,cy:`16`,r:`3`}]],$C=[[`path`,{d:`M9.31 9.31 5 21l7-4 7 4-1.17-3.17`}],[`path`,{d:`M14.53 8.88 12 2l-1.17 3.17`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],ew=[[`polygon`,{points:`12 2 19 21 12 17 5 21 12 2`}]],tw=[[`path`,{d:`M8.43 8.43 3 11l8 2 2 8 2.57-5.43`}],[`path`,{d:`M17.39 11.73 22 2l-9.73 4.61`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],nw=[[`polygon`,{points:`3 11 22 2 13 21 11 13 3 11`}]],rw=[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`}],[`path`,{d:`M12 12V8`}]],iw=[[`path`,{d:`M15 18h-5`}],[`path`,{d:`M18 14h-8`}],[`path`,{d:`M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2`}],[`rect`,{width:`8`,height:`4`,x:`10`,y:`6`,rx:`1`}]],aw=[[`path`,{d:`M6 8.32a7.43 7.43 0 0 1 0 7.36`}],[`path`,{d:`M9.46 6.21a11.76 11.76 0 0 1 0 11.58`}],[`path`,{d:`M12.91 4.1a15.91 15.91 0 0 1 .01 15.8`}],[`path`,{d:`M16.37 2a20.16 20.16 0 0 1 0 20`}]],ow=[[`path`,{d:`M12 2v10`}],[`path`,{d:`m8.5 4 7 4`}],[`path`,{d:`m8.5 8 7-4`}],[`circle`,{cx:`12`,cy:`17`,r:`5`}]],sw=[[`path`,{d:`M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4`}],[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`path`,{d:`M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}]],cw=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M15 2v20`}],[`path`,{d:`M15 7h5`}],[`path`,{d:`M15 12h5`}],[`path`,{d:`M15 17h5`}]],lw=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M9.5 8h5`}],[`path`,{d:`M9.5 12H16`}],[`path`,{d:`M9.5 16H14`}]],uw=[[`path`,{d:`M2 6h4`}],[`path`,{d:`M2 10h4`}],[`path`,{d:`M2 14h4`}],[`path`,{d:`M2 18h4`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M16 2v20`}]],dw=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`M16 2v4`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M20 12v2`}],[`path`,{d:`M20 18v2a2 2 0 0 1-2 2h-1`}],[`path`,{d:`M13 22h-2`}],[`path`,{d:`M7 22H6a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M4 14v-2`}],[`path`,{d:`M4 8V6a2 2 0 0 1 2-2h2`}],[`path`,{d:`M8 10h6`}],[`path`,{d:`M8 14h8`}],[`path`,{d:`M8 18h5`}]],fw=[[`path`,{d:`M8 2v4`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`M16 2v4`}],[`rect`,{width:`16`,height:`18`,x:`4`,y:`4`,rx:`2`}],[`path`,{d:`M8 10h6`}],[`path`,{d:`M8 14h8`}],[`path`,{d:`M8 18h5`}]],pw=[[`path`,{d:`M12 4V2`}],[`path`,{d:`M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939`}],[`path`,{d:`M19 10v3.343`}],[`path`,{d:`M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],mw=[[`path`,{d:`M12 4V2`}],[`path`,{d:`M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4`}],[`path`,{d:`M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z`}]],hw=[[`path`,{d:`M12 16h.01`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z`}]],gw=[[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}],[`path`,{d:`M8 12h8`}]],_w=[[`path`,{d:`M10 15V9`}],[`path`,{d:`M14 15V9`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}]],vw=[[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}],[`path`,{d:`m9 9 6 6`}]],yw=[[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}]],bw=[[`path`,{d:`M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21`}]],xw=[[`path`,{d:`M14 3h7`}],[`path`,{d:`M3 3h5.28a1 1 0 0 1 .948.684l5.544 16.632a1 1 0 0 0 .949.684H21`}]],Sw=[[`path`,{d:`M20.341 6.484A10 10 0 0 1 10.266 21.85`}],[`path`,{d:`M3.659 17.516A10 10 0 0 1 13.74 2.152`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],Cw=[[`path`,{d:`M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025`}],[`path`,{d:`m12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009`}],[`path`,{d:`m12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027`}]],ww=[[`path`,{d:`M12 3v6`}],[`path`,{d:`M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z`}],[`path`,{d:`M3.054 9.013h17.893`}]],Tw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`m16 17 2 2 4-4`}],[`path`,{d:`M21 11.127V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.32-.753`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],Ew=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M21 13V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],Dw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M16 17h6`}],[`path`,{d:`M19 14v6`}],[`path`,{d:`M21 10.535V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],Ow=[[`path`,{d:`M12 22v-9`}],[`path`,{d:`M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z`}],[`path`,{d:`M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13`}],[`path`,{d:`M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z`}]],kw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`M20.27 18.27 22 20`}],[`path`,{d:`M21 10.498V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.98-.559`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}],[`circle`,{cx:`18.5`,cy:`16.5`,r:`2.5`}]],Aw=[[`path`,{d:`M12 22V12`}],[`path`,{d:`m16.5 14.5 5 5`}],[`path`,{d:`m16.5 19.5 5-5`}],[`path`,{d:`M21 10.5V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.13-.074`}],[`path`,{d:`M3.29 7 12 12l8.71-5`}],[`path`,{d:`m7.5 4.27 8.997 5.148`}]],jw=[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`}],[`path`,{d:`M12 22V12`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`}],[`path`,{d:`m7.5 4.27 9 5.15`}]],Mw=[[`path`,{d:`M11 7 6 2`}],[`path`,{d:`M18.992 12H2.041`}],[`path`,{d:`M21.145 18.38A3.34 3.34 0 0 1 20 16.5a3.3 3.3 0 0 1-1.145 1.88c-.575.46-.855 1.02-.855 1.595A2 2 0 0 0 20 22a2 2 0 0 0 2-2.025c0-.58-.285-1.13-.855-1.595`}],[`path`,{d:`m8.5 4.5 2.148-2.148a1.205 1.205 0 0 1 1.704 0l7.296 7.296a1.205 1.205 0 0 1 0 1.704l-7.592 7.592a3.615 3.615 0 0 1-5.112 0l-3.888-3.888a3.615 3.615 0 0 1 0-5.112L5.67 7.33`}]],Nw=[[`rect`,{width:`16`,height:`6`,x:`2`,y:`2`,rx:`2`}],[`path`,{d:`M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`}],[`rect`,{width:`4`,height:`6`,x:`8`,y:`16`,rx:`1`}]],Pw=[[`path`,{d:`M10 2v2`}],[`path`,{d:`M14 2v4`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1`}]],Fw=[[`path`,{d:`m14.622 17.897-10.68-2.913`}],[`path`,{d:`M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z`}],[`path`,{d:`M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15`}]],Iw=[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],Lw=[[`path`,{d:`M11.25 17.25h1.5L12 18z`}],[`path`,{d:`m15 12 2 2`}],[`path`,{d:`M18 6.5a.5.5 0 0 0-.5-.5`}],[`path`,{d:`M20.69 9.67a4.5 4.5 0 1 0-7.04-5.5 8.35 8.35 0 0 0-3.3 0 4.5 4.5 0 1 0-7.04 5.5C2.49 11.2 2 12.88 2 14.5 2 19.47 6.48 22 12 22s10-2.53 10-7.5c0-1.62-.48-3.3-1.3-4.83`}],[`path`,{d:`M6 6.5a.495.495 0 0 1 .5-.5`}],[`path`,{d:`m9 12-2 2`}]],Rw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`m15 8-3 3-3-3`}]],zw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M14 15h1`}],[`path`,{d:`M19 15h2`}],[`path`,{d:`M3 15h2`}],[`path`,{d:`M9 15h1`}]],Bw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`m9 10 3-3 3 3`}]],Vw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h18`}]],Hw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`m16 15-3-3 3-3`}]],Uw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 14v1`}],[`path`,{d:`M9 19v2`}],[`path`,{d:`M9 3v2`}],[`path`,{d:`M9 9v1`}]],Ww=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`m14 9 3 3-3 3`}]],Gw=[[`path`,{d:`M15 10V9`}],[`path`,{d:`M15 15v-1`}],[`path`,{d:`M15 21v-2`}],[`path`,{d:`M15 5V3`}],[`path`,{d:`M9 10V9`}],[`path`,{d:`M9 15v-1`}],[`path`,{d:`M9 21v-2`}],[`path`,{d:`M9 5V3`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],Kw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}]],qw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}],[`path`,{d:`m8 9 3 3-3 3`}]],Jw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 14v1`}],[`path`,{d:`M15 19v2`}],[`path`,{d:`M15 3v2`}],[`path`,{d:`M15 9v1`}]],Yw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}],[`path`,{d:`m10 15-3-3 3-3`}]],Xw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]],Zw=[[`path`,{d:`M14 15h1`}],[`path`,{d:`M14 9h1`}],[`path`,{d:`M19 15h2`}],[`path`,{d:`M19 9h2`}],[`path`,{d:`M3 15h2`}],[`path`,{d:`M3 9h2`}],[`path`,{d:`M9 15h1`}],[`path`,{d:`M9 9h1`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],Qw=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`m9 16 3-3 3 3`}]],$w=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`m15 14-3 3-3-3`}]],eT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M14 9h1`}],[`path`,{d:`M19 9h2`}],[`path`,{d:`M3 9h2`}],[`path`,{d:`M9 9h1`}]],tT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}]],nT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M9 15h12`}]],rT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 15h12`}],[`path`,{d:`M15 3v18`}]],iT=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M9 21V9`}]],aT=[[`path`,{d:`M5.364 3.848C4 6 3 9.652 3 12.652V19a2 2 0 002 2h14a2 2 0 002-2v-5c0-2.334-1.816-4.668-2.622-7.002`}],[`path`,{d:`M7 3h11.379a2 2 0 011.789 1.106l.723 1.447A1 1 0 0119.997 7h-8.525a2 2 0 01-1.789-1.106L8.79 4.105a2 2 0 10-3.579 1.789l2.261 4.522A5 5 0 018 12.652V21`}]],oT=[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`}]],sT=[[`path`,{d:`M12.5 11.134 18.196 21`}],[`path`,{d:`M20.425 5.299a10 10 0 0 0-16.941 9.78c.183.563.843.774 1.355.478L20.16 6.711c.512-.296.66-.973.264-1.413`}],[`path`,{d:`M21 21H3`}]],cT=[[`path`,{d:`M8 21s-4-3-4-9 4-9 4-9`}],[`path`,{d:`M16 3s4 3 4 9-4 9-4 9`}]],lT=[[`path`,{d:`M11 15h2`}],[`path`,{d:`M12 12v3`}],[`path`,{d:`M12 19v3`}],[`path`,{d:`M15.282 19a1 1 0 0 0 .948-.68l2.37-6.988a7 7 0 1 0-13.2 0l2.37 6.988a1 1 0 0 0 .948.68z`}],[`path`,{d:`M9 9a3 3 0 1 1 6 0`}]],uT=[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`}]],dT=[[`path`,{d:`M5.8 11.3 2 22l10.7-3.79`}],[`path`,{d:`M4 3h.01`}],[`path`,{d:`M22 8h.01`}],[`path`,{d:`M15 2h.01`}],[`path`,{d:`M22 20h.01`}],[`path`,{d:`m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10`}],[`path`,{d:`m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17`}],[`path`,{d:`m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7`}],[`path`,{d:`M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z`}]],fT=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`}],[`path`,{d:`M15 14h.01`}],[`path`,{d:`M9 6h6`}],[`path`,{d:`M9 10h6`}]],pT=[[`circle`,{cx:`11`,cy:`4`,r:`2`}],[`circle`,{cx:`18`,cy:`8`,r:`2`}],[`circle`,{cx:`20`,cy:`16`,r:`2`}],[`path`,{d:`M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z`}]],mT=[[`path`,{d:`M13 21h8`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],hT=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m2 2 20 20`}]],gT=[[`path`,{d:`M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z`}],[`path`,{d:`m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18`}],[`path`,{d:`m2.3 2.3 7.286 7.286`}],[`circle`,{cx:`11`,cy:`11`,r:`2`}]],_T=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],vT=[[`path`,{d:`M13 21h8`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]],yT=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`m2 2 20 20`}]],bT=[[`path`,{d:`M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13`}],[`path`,{d:`m8 6 2-2`}],[`path`,{d:`m18 16 2-2`}],[`path`,{d:`m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]],xT=[[`path`,{d:`M10 3H8`}],[`path`,{d:`m15.007 5.008 3.987 3.986`}],[`path`,{d:`M20 15v4`}],[`path`,{d:`M21.174 6.813a2.82 2.82 0 0 0-3.986-3.987L3.842 16.175a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`M22 17h-4`}],[`path`,{d:`M4 5v4`}],[`path`,{d:`M6 7H2`}],[`path`,{d:`M9 2v2`}]],ST=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]],CT=[[`path`,{d:`M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z`}]],wT=[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`}]],TT=[[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`path`,{d:`m9 20 3-6 3 6`}],[`path`,{d:`m6 8 6 2 6-2`}],[`path`,{d:`M12 10v4`}]],ET=[[`path`,{d:`M12 2v20`}],[`circle`,{cx:`12`,cy:`12`,r:`7`}]],DT=[[`path`,{d:`M20 11H4`}],[`path`,{d:`M20 7H4`}],[`path`,{d:`M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7`}]],OT=[[`path`,{d:`M13 2a9 9 0 0 1 9 9`}],[`path`,{d:`M13 6a5 5 0 0 1 5 5`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],kT=[[`path`,{d:`M14 6h8`}],[`path`,{d:`m18 2 4 4-4 4`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],AT=[[`path`,{d:`M16 2v6h6`}],[`path`,{d:`m22 2-6 6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],jT=[[`path`,{d:`m16 2 6 6`}],[`path`,{d:`m22 2-6 6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],MT=[[`path`,{d:`M10.1 13.9a14 14 0 0 0 3.732 2.668 1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2 18 18 0 0 1-12.728-5.272`}],[`path`,{d:`M22 2 2 22`}],[`path`,{d:`M4.76 13.582A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 .244.473`}]],NT=[[`path`,{d:`m16 8 6-6`}],[`path`,{d:`M22 8V2h-6`}],[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],PT=[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`}]],FT=[[`line`,{x1:`9`,x2:`9`,y1:`4`,y2:`20`}],[`path`,{d:`M4 7c0-1.7 1.3-3 3-3h13`}],[`path`,{d:`M18 20c-1.7 0-3-1.3-3-3V4`}]],IT=[[`path`,{d:`M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M6 14v4`}],[`path`,{d:`M10 14v4`}],[`path`,{d:`M14 14v4`}],[`path`,{d:`M18 14v4`}]],LT=[[`path`,{d:`m14 13-8.381 8.38a1 1 0 0 1-3.001-3L11 9.999`}],[`path`,{d:`M15.973 4.027A13 13 0 0 0 5.902 2.373c-1.398.342-1.092 2.158.277 2.601a19.9 19.9 0 0 1 5.822 3.024`}],[`path`,{d:`M16.001 11.999a19.9 19.9 0 0 1 3.024 5.824c.444 1.369 2.26 1.676 2.603.278A13 13 0 0 0 20 8.069`}],[`path`,{d:`M18.352 3.352a1.205 1.205 0 0 0-1.704 0l-5.296 5.296a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l5.296-5.296a1.205 1.205 0 0 0 0-1.704z`}]],RT=[[`path`,{d:`M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4`}],[`rect`,{width:`10`,height:`7`,x:`12`,y:`13`,rx:`2`}]],zT=[[`path`,{d:`M2 10h6V4`}],[`path`,{d:`m2 4 6 6`}],[`path`,{d:`M21 10V7a2 2 0 0 0-2-2h-7`}],[`path`,{d:`M3 14v2a2 2 0 0 0 2 2h3`}],[`rect`,{x:`12`,y:`14`,width:`10`,height:`7`,rx:`1`}]],BT=[[`path`,{d:`M11 17h3v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a3.16 3.16 0 0 0 2-2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1a5 5 0 0 0-2-4V3a4 4 0 0 0-3.2 1.6l-.3.4H11a6 6 0 0 0-6 6v1a5 5 0 0 0 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z`}],[`path`,{d:`M16 10h.01`}],[`path`,{d:`M2 8v1a2 2 0 0 0 2 2h1`}]],VT=[[`path`,{d:`M14 3v11`}],[`path`,{d:`M14 9h-3a3 3 0 0 1 0-6h9`}],[`path`,{d:`M18 3v11`}],[`path`,{d:`M22 18H2l4-4`}],[`path`,{d:`m6 22-4-4`}]],HT=[[`path`,{d:`M10 3v11`}],[`path`,{d:`M10 9H7a1 1 0 0 1 0-6h8`}],[`path`,{d:`M14 3v11`}],[`path`,{d:`m18 14 4 4H2`}],[`path`,{d:`m22 18-4 4`}]],UT=[[`path`,{d:`M13 4v16`}],[`path`,{d:`M17 4v16`}],[`path`,{d:`M19 4H9.5a4.5 4.5 0 0 0 0 9H13`}]],WT=[[`path`,{d:`M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4`}],[`path`,{d:`M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7`}],[`rect`,{width:`16`,height:`5`,x:`4`,y:`2`,rx:`1`}]],GT=[[`path`,{d:`m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z`}],[`path`,{d:`m8.5 8.5 7 7`}]],KT=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`}]],qT=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`}]],JT=[[`path`,{d:`m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12`}],[`path`,{d:`m18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3z`}],[`path`,{d:`m2 22 .414-.414`}]],YT=[[`path`,{d:`m12 14-1 1`}],[`path`,{d:`m13.75 18.25-1.25 1.42`}],[`path`,{d:`M17.775 5.654a15.68 15.68 0 0 0-12.121 12.12`}],[`path`,{d:`M18.8 9.3a1 1 0 0 0 2.1 7.7`}],[`path`,{d:`M21.964 20.732a1 1 0 0 1-1.232 1.232l-18-5a1 1 0 0 1-.695-1.232A19.68 19.68 0 0 1 15.732 2.037a1 1 0 0 1 1.232.695z`}]],XT=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z`}]],ZT=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z`}]],QT=[[`path`,{d:`M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z`}]],$T=[[`path`,{d:`m10.215 4.56 9.79 5.71a2 2 0 0 1 .003 3.458l-.393.23`}],[`path`,{d:`m16.042 16.042-8.034 4.686A2 2 0 0 1 5 19V5`}],[`path`,{d:`m2 2 20 20`}]],eE=[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`}]],tE=[[`path`,{d:`M9 2v6`}],[`path`,{d:`M15 2v6`}],[`path`,{d:`M12 17v5`}],[`path`,{d:`M5 8h14`}],[`path`,{d:`M6 11V8h12v3a6 6 0 1 1-12 0Z`}]],nE=[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`}],[`path`,{d:`m2 22 3-3`}],[`path`,{d:`M7.5 13.5 10 11`}],[`path`,{d:`M10.5 16.5 13 14`}],[`path`,{d:`m18 3-4 4h6l-4 4`}]],rE=[[`path`,{d:`M12 22v-5`}],[`path`,{d:`M15 8V2`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`}],[`path`,{d:`M9 8V2`}]],iE=[[`path`,{d:`M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2`}],[`path`,{d:`M18 6h.01`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z`}],[`path`,{d:`M18 11.66V22a4 4 0 0 0 4-4V6`}]],aE=[[`path`,{d:`M5 12h14`}],[`path`,{d:`M12 5v14`}]],oE=[[`path`,{d:`M13 17a1 1 0 1 0-2 0l.5 4.5a0.5 0.5 0 0 0 1 0z`,fill:`currentColor`}],[`path`,{d:`M16.85 18.58a9 9 0 1 0-9.7 0`}],[`path`,{d:`M8 14a5 5 0 1 1 8 0`}],[`circle`,{cx:`12`,cy:`11`,r:`1`,fill:`currentColor`}]],sE=[[`path`,{d:`M12 6V2h-1`}],[`path`,{d:`M9 15a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1`}],[`path`,{d:`M9 21V11a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v10`}]],cE=[[`path`,{d:`M10 4.5V4a2 2 0 0 0-2.41-1.957`}],[`path`,{d:`M13.9 8.4a2 2 0 0 0-1.26-1.295`}],[`path`,{d:`M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158`}],[`path`,{d:`m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343`}],[`path`,{d:`M6 6v8`}],[`path`,{d:`m2 2 20 20`}]],lE=[[`path`,{d:`M22 14a8 8 0 0 1-8 8`}],[`path`,{d:`M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1`}],[`path`,{d:`M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]],uE=[[`path`,{d:`M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4`}],[`path`,{d:`M10 22 9 8`}],[`path`,{d:`m14 22 1-14`}],[`path`,{d:`M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z`}]],dE=[[`path`,{d:`M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z`}],[`path`,{d:`m22 22-5.5-5.5`}]],fE=[[`path`,{d:`M18 7c0-5.333-8-5.333-8 0`}],[`path`,{d:`M10 7v14`}],[`path`,{d:`M6 21h12`}],[`path`,{d:`M6 13h10`}]],pE=[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m2 2 20 20`}]],mE=[[`path`,{d:`M12 2v10`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`}]],hE=[[`path`,{d:`M2 3h20`}],[`path`,{d:`M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3`}],[`path`,{d:`m7 21 5-5 5 5`}]],gE=[[`path`,{d:`M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}]],_E=[[`path`,{d:`M12.531 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h6.377`}],[`path`,{d:`m16.5 16.5 5 5`}],[`path`,{d:`m16.5 21.5 5-5`}],[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.5`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}]],vE=[[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`}],[`rect`,{x:`6`,y:`14`,width:`12`,height:`8`,rx:`1`}]],yE=[[`path`,{d:`M5 7 3 5`}],[`path`,{d:`M9 6V3`}],[`path`,{d:`m13 7 2-2`}],[`circle`,{cx:`9`,cy:`13`,r:`3`}],[`path`,{d:`M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17`}],[`path`,{d:`M16 16h2`}]],bE=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M12 9v11`}],[`path`,{d:`M2 9h13a2 2 0 0 1 2 2v9`}]],xE=[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`}]],SE=[[`path`,{d:`M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z`}],[`path`,{d:`M12 2v20`}]],CE=[[`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`}],[`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`}],[`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 21v.01`}],[`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`}],[`path`,{d:`M3 12h.01`}],[`path`,{d:`M12 3h.01`}],[`path`,{d:`M12 16v.01`}],[`path`,{d:`M16 12h1`}],[`path`,{d:`M21 12v.01`}],[`path`,{d:`M12 21v-1`}]],wE=[[`path`,{d:`M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`}]],TE=[[`path`,{d:`M19.07 4.93A10 10 0 0 0 6.99 3.34`}],[`path`,{d:`M4 6h.01`}],[`path`,{d:`M2.29 9.62A10 10 0 1 0 21.31 8.35`}],[`path`,{d:`M16.24 7.76A6 6 0 1 0 8.23 16.67`}],[`path`,{d:`M12 18h.01`}],[`path`,{d:`M17.99 11.66A6 6 0 0 1 15.77 16.67`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}],[`path`,{d:`m13.41 10.59 5.66-5.66`}]],EE=[[`path`,{d:`M12 12h.01`}],[`path`,{d:`M14 15.4641a4 4 0 0 1-4 0L7.52786 19.74597 A 1 1 0 0 0 7.99303 21.16211 10 10 0 0 0 16.00697 21.16211 1 1 0 0 0 16.47214 19.74597z`}],[`path`,{d:`M16 12a4 4 0 0 0-2-3.464l2.472-4.282a1 1 0 0 1 1.46-.305 10 10 0 0 1 4.006 6.94A1 1 0 0 1 21 12z`}],[`path`,{d:`M8 12a4 4 0 0 1 2-3.464L7.528 4.254a1 1 0 0 0-1.46-.305 10 10 0 0 0-4.006 6.94A1 1 0 0 0 3 12z`}]],DE=[[`path`,{d:`M13 16a3 3 0 0 1 2.24 5`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3`}],[`path`,{d:`M20 8.54V4a2 2 0 1 0-4 0v3`}],[`path`,{d:`M7.612 12.524a3 3 0 1 0-1.6 4.3`}]],OE=[[`path`,{d:`M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21`}]],kE=[[`path`,{d:`M13.414 13.414a2 2 0 1 1-2.828-2.828`}],[`path`,{d:`M16.247 7.761a6 6 0 0 1 1.744 4.572`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 2.234 10.72`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`}]],AE=[[`path`,{d:`M5 16v2`}],[`path`,{d:`M19 16v2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`8`,rx:`2`}],[`path`,{d:`M18 12h.01`}]],jE=[[`path`,{d:`M4.9 16.1C1 12.2 1 5.8 4.9 1.9`}],[`path`,{d:`M7.8 4.7a6.14 6.14 0 0 0-.8 7.5`}],[`circle`,{cx:`12`,cy:`9`,r:`2`}],[`path`,{d:`M16.2 4.8c2 2 2.26 5.11.8 7.47`}],[`path`,{d:`M19.1 1.9a9.96 9.96 0 0 1 0 14.1`}],[`path`,{d:`M9.5 18h5`}],[`path`,{d:`m8 22 4-11 4 11`}]],ME=[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],NE=[[`path`,{d:`M20.34 17.52a10 10 0 1 0-2.82 2.82`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`path`,{d:`m13.41 13.41 4.18 4.18`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],PE=[[`path`,{d:`M22 17a10 10 0 0 0-20 0`}],[`path`,{d:`M6 17a6 6 0 0 1 12 0`}],[`path`,{d:`M10 17a2 2 0 0 1 4 0`}]],FE=[[`path`,{d:`M13 22H4a2 2 0 0 1 0-4h12`}],[`path`,{d:`M13.236 18a3 3 0 0 0-2.2-5`}],[`path`,{d:`M16 9h.01`}],[`path`,{d:`M16.82 3.94a3 3 0 1 1 3.237 4.868l1.815 2.587a1.5 1.5 0 0 1-1.5 2.1l-2.872-.453a3 3 0 0 0-3.5 3`}],[`path`,{d:`M17 4.988a3 3 0 1 0-5.2 2.052A7 7 0 0 0 4 14.015 4 4 0 0 0 8 18`}]],IE=[[`rect`,{width:`12`,height:`20`,x:`6`,y:`2`,rx:`2`}],[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],LE=[[`path`,{d:`M12 7v10`}],[`path`,{d:`M14.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],RE=[[`path`,{d:`M15.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 12h5`}]],zE=[[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 11h8`}],[`path`,{d:`M8 7h8`}],[`path`,{d:`M9 7a4 4 0 0 1 0 8H8l3 2`}]],BE=[[`path`,{d:`m12 10 3-3`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M9 11h6`}],[`path`,{d:`M9 15h6`}],[`path`,{d:`m9 7 3 3v7`}]],VE=[[`path`,{d:`M10 17V9.5a1 1 0 0 1 5 0`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 13h5`}],[`path`,{d:`M8 17h7`}]],HE=[[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 11h5a2 2 0 0 0 0-4h-3v10`}],[`path`,{d:`M8 15h5`}]],UE=[[`path`,{d:`M10 11h4`}],[`path`,{d:`M10 17V7h5`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}],[`path`,{d:`M8 15h5`}]],WE=[[`path`,{d:`M13 16H8`}],[`path`,{d:`M14 8H8`}],[`path`,{d:`M16 12H8`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],GE=[[`path`,{d:`M10 7v10a5 5 0 0 0 5-5`}],[`path`,{d:`m14 8-6 3`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],KE=[[`path`,{d:`M14 4v16H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1z`}],[`circle`,{cx:`14`,cy:`12`,r:`8`}]],qE=[[`path`,{d:`M12 17V7`}],[`path`,{d:`M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`}]],JE=[[`path`,{d:`M20 6a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4a2 2 0 0 1-1.6-.8l-1.6-2.13a1 1 0 0 0-1.6 0L9.6 17.2A2 2 0 0 1 8 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z`}]],YE=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M17 12h.01`}],[`path`,{d:`M7 12h.01`}]],XE=[[`rect`,{width:`12`,height:`20`,x:`6`,y:`2`,rx:`2`}]],ZE=[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`}]],QE=[[`path`,{d:`M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5`}],[`path`,{d:`M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12`}],[`path`,{d:`m14 16-3 3 3 3`}],[`path`,{d:`M8.293 13.596 7.196 9.5 3.1 10.598`}],[`path`,{d:`m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843`}],[`path`,{d:`m13.378 9.633 4.096 1.098 1.097-4.096`}]],$E=[[`path`,{d:`m15 14 5-5-5-5`}],[`path`,{d:`M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13`}]],eD=[[`circle`,{cx:`12`,cy:`17`,r:`1`}],[`path`,{d:`M21 7v6h-6`}],[`path`,{d:`M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7`}]],tD=[[`path`,{d:`M21 7v6h-6`}],[`path`,{d:`M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7`}]],nD=[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`}],[`path`,{d:`M16 16h5v5`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],rD=[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`}],[`path`,{d:`M16 16h5v5`}]],iD=[[`path`,{d:`M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47`}],[`path`,{d:`M8 16H3v5`}],[`path`,{d:`M3 12C3 9.51 4 7.26 5.64 5.64`}],[`path`,{d:`m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64`}],[`path`,{d:`M21 12c0 1-.16 1.97-.47 2.87`}],[`path`,{d:`M21 3v5h-5`}],[`path`,{d:`M22 22 2 2`}]],aD=[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}],[`path`,{d:`M8 16H3v5`}]],oD=[[`path`,{d:`M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z`}],[`path`,{d:`M5 10h14`}],[`path`,{d:`M15 7v6`}]],sD=[[`path`,{d:`M17 3v10`}],[`path`,{d:`m12.67 5.5 8.66 5`}],[`path`,{d:`m12.67 10.5 8.66-5`}],[`path`,{d:`M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z`}]],cD=[[`path`,{d:`M4 7V4h16v3`}],[`path`,{d:`M5 20h6`}],[`path`,{d:`M13 4 8 20`}],[`path`,{d:`m15 15 5 5`}],[`path`,{d:`m20 15-5 5`}]],lD=[[`path`,{d:`m2 9 3-3 3 3`}],[`path`,{d:`M13 18H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`m22 15-3 3-3-3`}],[`path`,{d:`M11 6h6a2 2 0 0 1 2 2v10`}]],uD=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}],[`path`,{d:`M11 10h1v4`}]],dD=[[`path`,{d:`M11.656 6H21l-4-4`}],[`path`,{d:`M17.898 17.898A4 4 0 0 1 17 18H3l4-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 13v1a4 4 0 0 1-.171 1.159`}],[`path`,{d:`m21 6-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 3.102-3.898`}],[`path`,{d:`m7 22-4-4`}]],fD=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}]],pD=[[`path`,{d:`M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M14 4a1 1 0 0 1 1-1`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`}],[`path`,{d:`M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`}],[`path`,{d:`m3 7 3 3 3-3`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}]],mD=[[`path`,{d:`M14 4a1 1 0 0 1 1-1`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`}],[`path`,{d:`m3 7 3 3 3-3`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}]],hD=[[`path`,{d:`m12 17-5-5 5-5`}],[`path`,{d:`M22 18v-2a4 4 0 0 0-4-4H7`}],[`path`,{d:`m7 17-5-5 5-5`}]],gD=[[`path`,{d:`M20 18v-2a4 4 0 0 0-4-4H4`}],[`path`,{d:`m9 17-5-5 5-5`}]],_D=[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`}]],vD=[[`path`,{d:`M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22`}],[`path`,{d:`m12 18 2.57-3.5`}],[`path`,{d:`M6.243 9.016a7 7 0 0 1 11.507-.009`}],[`path`,{d:`M9.35 14.53 12 11.22`}],[`path`,{d:`M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z`}]],yD=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M12 5V3`}],[`path`,{d:`M12 9v3`}],[`path`,{d:`M2.077 18.449A2 2 0 0 0 4 21h16a2 2 0 0 0 1.924-2.55l-4-14A2 2 0 0 0 16 3H8a2 2 0 0 0-1.924 1.45z`}]],bD=[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`}]],xD=[[`path`,{d:`m15 13 3.708 7.416`}],[`path`,{d:`M3 19a15 15 0 0 0 18 0`}],[`path`,{d:`m3 2 3.21 9.633A2 2 0 0 0 8.109 13H18`}],[`path`,{d:`m9 13-3.708 7.416`}]],SD=[[`path`,{d:`M6 19V5`}],[`path`,{d:`M10 19V6.8`}],[`path`,{d:`M14 19v-7.8`}],[`path`,{d:`M18 5v4`}],[`path`,{d:`M18 19v-6`}],[`path`,{d:`M22 19V9`}],[`path`,{d:`M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65`}]],CD=[[`path`,{d:`M17 10h-1a4 4 0 1 1 4-4v.534`}],[`path`,{d:`M17 6h1a4 4 0 0 1 1.42 7.74l-2.29.87a6 6 0 0 1-5.339-10.68l2.069-1.31`}],[`path`,{d:`M4.5 17c2.8-.5 4.4 0 5.5.8s1.8 2.2 2.3 3.7c-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2`}],[`path`,{d:`M9.77 12C4 15 2 22 2 22`}],[`circle`,{cx:`17`,cy:`8`,r:`2`}]],wD=[[`path`,{d:`m15.194 13.707 3.814 1.86-1.86 3.814`}],[`path`,{d:`M16.47214 7.52786 A 5 10 0 1 0 13 21.79796`}],[`path`,{d:`M21.79796 11 A 10 5 0 1 0 19 15.57071`}]],TD=[[`path`,{d:`M12 7v6`}],[`path`,{d:`M12 9h2`}],[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.74 9.74 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}],[`circle`,{cx:`12`,cy:`15`,r:`2`}]],ED=[[`path`,{d:`M20 9V7a2 2 0 0 0-2-2h-6`}],[`path`,{d:`m15 2-3 3 3 3`}],[`path`,{d:`M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2`}]],DD=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}]],OD=[[`path`,{d:`M12 5H6a2 2 0 0 0-2 2v3`}],[`path`,{d:`m9 8 3-3-3-3`}],[`path`,{d:`M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`}]],kD=[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}]],AD=[[`circle`,{cx:`6`,cy:`19`,r:`3`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],jD=[[`circle`,{cx:`6`,cy:`19`,r:`3`}],[`path`,{d:`M9 19h8.5c.4 0 .9-.1 1.3-.2`}],[`path`,{d:`M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M21 15.3a3.5 3.5 0 0 0-3.3-3.3`}],[`path`,{d:`M15 5h-4.3`}],[`circle`,{cx:`18`,cy:`5`,r:`3`}]],MD=[[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}],[`path`,{d:`M6.01 18H6`}],[`path`,{d:`M10.01 18H10`}],[`path`,{d:`M15 10v4`}],[`path`,{d:`M17.84 7.17a4 4 0 0 0-5.66 0`}],[`path`,{d:`M20.66 4.34a8 8 0 0 0-11.31 0`}]],ND=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 12h18`}]],PD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 9H3`}],[`path`,{d:`M21 15H3`}]],FD=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 7.5H3`}],[`path`,{d:`M21 12H3`}],[`path`,{d:`M21 16.5H3`}]],ID=[[`path`,{d:`M4 11a9 9 0 0 1 9 9`}],[`path`,{d:`M4 4a16 16 0 0 1 16 16`}],[`circle`,{cx:`5`,cy:`19`,r:`1`}]],LD=[[`path`,{d:`M10 15v-3`}],[`path`,{d:`M14 15v-3`}],[`path`,{d:`M18 15v-3`}],[`path`,{d:`M2 8V4`}],[`path`,{d:`M22 6H2`}],[`path`,{d:`M22 8V4`}],[`path`,{d:`M6 15v-3`}],[`rect`,{x:`2`,y:`12`,width:`20`,height:`8`,rx:`2`}]],RD=[[`path`,{d:`M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z`}],[`path`,{d:`m14.5 12.5 2-2`}],[`path`,{d:`m11.5 9.5 2-2`}],[`path`,{d:`m8.5 6.5 2-2`}],[`path`,{d:`m17.5 15.5 2-2`}]],zD=[[`path`,{d:`M6 11h8a4 4 0 0 0 0-8H9v18`}],[`path`,{d:`M6 15h8`}]],BD=[[`path`,{d:`M10 2v15`}],[`path`,{d:`M7 22a4 4 0 0 1-4-4 1 1 0 0 1 1-1h16a1 1 0 0 1 1 1 4 4 0 0 1-4 4z`}],[`path`,{d:`M9.159 2.46a1 1 0 0 1 1.521-.193l9.977 8.98A1 1 0 0 1 20 13H4a1 1 0 0 1-.824-1.567z`}]],VD=[[`path`,{d:`M7 21h10`}],[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`}],[`path`,{d:`M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1`}],[`path`,{d:`m13 12 4-4`}],[`path`,{d:`M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2`}]],HD=[[`path`,{d:`m2.37 11.223 8.372-6.777a2 2 0 0 1 2.516 0l8.371 6.777`}],[`path`,{d:`M21 15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5.25`}],[`path`,{d:`M3 15a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h9`}],[`path`,{d:`m6.67 15 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2`}],[`rect`,{width:`20`,height:`4`,x:`2`,y:`11`,rx:`1`}]],UD=[[`path`,{d:`M4 10a7.31 7.31 0 0 0 10 10Z`}],[`path`,{d:`m9 15 3-3`}],[`path`,{d:`M17 13a6 6 0 0 0-6-6`}],[`path`,{d:`M21 13A10 10 0 0 0 11 3`}]],WD=[[`path`,{d:`m13.5 6.5-3.148-3.148a1.205 1.205 0 0 0-1.704 0L6.352 5.648a1.205 1.205 0 0 0 0 1.704L9.5 10.5`}],[`path`,{d:`M16.5 7.5 19 5`}],[`path`,{d:`m17.5 10.5 3.148 3.148a1.205 1.205 0 0 1 0 1.704l-2.296 2.296a1.205 1.205 0 0 1-1.704 0L13.5 14.5`}],[`path`,{d:`M9 21a6 6 0 0 0-6-6`}],[`path`,{d:`M9.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l4.296-4.296a1.205 1.205 0 0 0 0-1.704l-2.296-2.296a1.205 1.205 0 0 0-1.704 0z`}]],GD=[[`path`,{d:`m20 19.5-5.5 1.2`}],[`path`,{d:`M14.5 4v11.22a1 1 0 0 0 1.242.97L20 15.2`}],[`path`,{d:`m2.978 19.351 5.549-1.363A2 2 0 0 0 10 16V2`}],[`path`,{d:`M20 10 4 13.5`}]],KD=[[`path`,{d:`M10 2v3a1 1 0 0 0 1 1h5`}],[`path`,{d:`M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6`}],[`path`,{d:`M18 22H4a2 2 0 0 1-2-2V6`}],[`path`,{d:`M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z`}]],qD=[[`path`,{d:`M12.5 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4v4.35`}],[`path`,{d:`m16 19 2 2 4-4`}],[`path`,{d:`M17 15.13V14a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],JD=[[`path`,{d:`M13 13H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M14 8h1`}],[`path`,{d:`M17 21v-4`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41`}],[`path`,{d:`M29.5 11.5s5 5 4 5`}],[`path`,{d:`M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15`}]],YD=[[`path`,{d:`M13.33 13H8a1 1 0 00-1 1v7`}],[`path`,{d:`M14.363 17.634a2 2 0 00-.506.854l-.837 2.87a.5.5 0 00.62.62l2.87-.837a2 2 0 00.854-.506l4.013-4.009a1 1 0 10-3.004-3.004z`}],[`path`,{d:`M7 3v4a1 1 0 001 1h7`}],[`path`,{d:`M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h10.2a2 2 0 011.4.6l3.8 3.8a2 2 0 01.6 1.4v.3`}]],XD=[[`path`,{d:`M12.5 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V12`}],[`path`,{d:`M16 13H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M19 22v-6`}],[`path`,{d:`M22 19h-6`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],ZD=[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]],QD=[[`path`,{d:`M5 7v11a1 1 0 0 0 1 1h11`}],[`path`,{d:`M5.293 18.707 11 13`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}],[`circle`,{cx:`5`,cy:`5`,r:`2`}]],$D=[[`path`,{d:`M12 3v18`}],[`path`,{d:`m19 8 3 8a5 5 0 0 1-6 0zV7`}],[`path`,{d:`M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1`}],[`path`,{d:`m5 8 3 8a5 5 0 0 1-6 0zV7`}],[`path`,{d:`M7 21h10`}]],eO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M8 7v10`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M17 7v10`}]],tO=[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}],[`path`,{d:`M14 15H9v-5`}],[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M21 3 9 15`}]],nO=[[`path`,{d:`M12 12v5.5`}],[`path`,{d:`M17 3h2a2 2 0 012 2v2`}],[`path`,{d:`M21 17v2a2 2 0 01-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 012-2h2`}],[`path`,{d:`M7 21H5a2 2 0 01-2-2v-2`}],[`path`,{d:`M7.264 9.252 12 12l4.737-2.748`}],[`path`,{d:`M7.995 8.514A2 2 0 007 10.244v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0017 13.76v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z`}]],rO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0`}]],iO=[[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 4.172 4.306l-3.447 3.62a1 1 0 0 1-1.449 0z`}]],aO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 9h.01`}]],oO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7 12h10`}]],sO=[[`path`,{d:`M17 12v4a1 1 0 0 1-1 1h-4`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M17 8V7`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M7 17h.01`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`rect`,{x:`7`,y:`7`,width:`5`,height:`5`,rx:`1`}]],cO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`m16 16-1.9-1.9`}]],lO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M7 8h8`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h6`}]],uO=[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`}]],dO=[[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M18 4.933V21`}],[`path`,{d:`m4 6 7.106-3.79a2 2 0 0 1 1.788 0L20 6`}],[`path`,{d:`m6 11-3.52 2.147a1 1 0 0 0-.48.854V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a1 1 0 0 0-.48-.853L18 11`}],[`path`,{d:`M6 4.933V21`}],[`circle`,{cx:`12`,cy:`9`,r:`2`}]],fO=[[`path`,{d:`M5.42 9.42 8 12`}],[`circle`,{cx:`4`,cy:`8`,r:`2`}],[`path`,{d:`m14 6-8.58 8.58`}],[`circle`,{cx:`4`,cy:`16`,r:`2`}],[`path`,{d:`M10.8 14.8 14 18`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],pO=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M8.12 8.12 12 12`}],[`path`,{d:`M20 4 8.12 15.88`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`path`,{d:`M14.8 14.8 20 20`}]],mO=[[`path`,{d:`M21 4h-3.5l2 11.05`}],[`path`,{d:`M6.95 17h5.142c.523 0 .95-.406 1.063-.916a6.5 6.5 0 0 1 5.345-5.009`}],[`circle`,{cx:`19.5`,cy:`17.5`,r:`2.5`}],[`circle`,{cx:`4.5`,cy:`17.5`,r:`2.5`}]],hO=[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`m22 3-5 5`}],[`path`,{d:`m17 3 5 5`}]],gO=[[`path`,{d:`M15 12h-5`}],[`path`,{d:`M15 8h-5`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`}]],_O=[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`M12 17v4`}],[`path`,{d:`m17 8 5-5`}],[`path`,{d:`M17 3h5v5`}]],vO=[[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`}]],yO=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M11 7v4`}],[`path`,{d:`M11 15h.01`}]],bO=[[`path`,{d:`m8 11 2 2 4-4`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],xO=[[`path`,{d:`m13 13.5 2-2.5-2-2.5`}],[`path`,{d:`m21 21-4.3-4.3`}],[`path`,{d:`M9 8.5 7 11l2 2.5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}]],SO=[[`path`,{d:`m13.5 8.5-5 5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],CO=[[`path`,{d:`m13.5 8.5-5 5`}],[`path`,{d:`m8.5 8.5 5 5`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`path`,{d:`m21 21-4.3-4.3`}]],wO=[[`path`,{d:`m21 21-4.34-4.34`}],[`circle`,{cx:`11`,cy:`11`,r:`8`}]],TO=[[`path`,{d:`M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0`}],[`path`,{d:`M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0`}]],EO=[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`}],[`path`,{d:`M6 12h16`}]],DO=[[`rect`,{x:`14`,y:`14`,width:`8`,height:`8`,rx:`2`}],[`rect`,{x:`2`,y:`2`,width:`8`,height:`8`,rx:`2`}],[`path`,{d:`M7 14v1a2 2 0 0 0 2 2h1`}],[`path`,{d:`M14 7h1a2 2 0 0 1 2 2v1`}]],OO=[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`}],[`path`,{d:`m21.854 2.147-10.94 10.939`}]],kO=[[`path`,{d:`m16 16-4 4-4-4`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`m8 8 4-4 4 4`}]],AO=[[`path`,{d:`M12 3v18`}],[`path`,{d:`m16 16 4-4-4-4`}],[`path`,{d:`m8 8-4 4 4 4`}]],jO=[[`path`,{d:`m10.852 14.772-.383.923`}],[`path`,{d:`M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923`}],[`path`,{d:`m13.148 9.228.383-.923`}],[`path`,{d:`m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544`}],[`path`,{d:`m14.772 10.852.923-.383`}],[`path`,{d:`m14.772 13.148.923.383`}],[`path`,{d:`M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5`}],[`path`,{d:`M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M6 6h.01`}],[`path`,{d:`m9.228 10.852-.923-.383`}],[`path`,{d:`m9.228 13.148-.923.383`}]],MO=[[`path`,{d:`M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2`}],[`path`,{d:`M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2`}],[`path`,{d:`M6 6h.01`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`m13 6-4 6h6l-4 6`}]],NO=[[`path`,{d:`M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5`}],[`path`,{d:`M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z`}],[`path`,{d:`M22 17v-1a2 2 0 0 0-2-2h-1`}],[`path`,{d:`M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`m2 2 20 20`}]],PO=[[`path`,{d:`M12.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2`}],[`path`,{d:`M16 12h6`}],[`path`,{d:`M19 9v6`}],[`path`,{d:`M22 18v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h8.5`}],[`path`,{d:`M6 18h.01`}],[`path`,{d:`M6 6h.01`}]],FO=[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`}]],IO=[[`path`,{d:`M14 17H5`}],[`path`,{d:`M19 7h-9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`circle`,{cx:`7`,cy:`7`,r:`3`}]],LO=[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],RO=[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`}]],zO=[[`circle`,{cx:`18`,cy:`5`,r:`3`}],[`circle`,{cx:`6`,cy:`12`,r:`3`}],[`circle`,{cx:`18`,cy:`19`,r:`3`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`}]],BO=[[`path`,{d:`M12 2v13`}],[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}]],VO=[[`path`,{d:`M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44`}]],HO=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`line`,{x1:`3`,x2:`21`,y1:`9`,y2:`9`}],[`line`,{x1:`3`,x2:`21`,y1:`15`,y2:`15`}],[`line`,{x1:`9`,x2:`9`,y1:`9`,y2:`21`}],[`line`,{x1:`15`,x2:`15`,y1:`9`,y2:`21`}]],UO=[[`path`,{d:`M12 12V9a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}],[`path`,{d:`M16 20v-3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3`}],[`path`,{d:`M20 22V2`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 20h16`}],[`path`,{d:`M4 2v20`}],[`path`,{d:`M4 4h16`}]],WO=[[`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`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M12 16h.01`}]],GO=[[`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`}],[`path`,{d:`m4.243 5.21 14.39 12.472`}]],KO=[[`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`}],[`path`,{d:`m9 12 2 2 4-4`}]],qO=[[`path`,{d:`M11 22c-3.806-1.45-7-3.966-7-9V6a1 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 1v4`}],[`path`,{d:`M14.923 16.547 14 16.164`}],[`path`,{d:`m14.923 18.843-.923.383`}],[`path`,{d:`M16.547 14.923 16.164 14`}],[`path`,{d:`m16.547 20.467-.383.924`}],[`path`,{d:`m18.843 14.923.383-.923`}],[`path`,{d:`m19.225 21.391-.382-.924`}],[`path`,{d:`m20.467 16.547.923-.383`}],[`path`,{d:`m20.467 18.843.923.383`}],[`circle`,{cx:`17.695`,cy:`17.695`,r:`3`}]],JO=[[`path`,{d:`m10.929 14.467-.383.924`}],[`path`,{d:`M10.929 8.923 10.546 8`}],[`path`,{d:`M13.225 8.923 13.608 8`}],[`path`,{d:`m13.607 15.391-.382-.924`}],[`path`,{d:`m14.849 10.547.923-.383`}],[`path`,{d:`m14.849 12.843.923.383`}],[`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`}],[`path`,{d:`m9.305 10.547-.923-.383`}],[`path`,{d:`m9.305 12.843-.923.383`}],[`circle`,{cx:`12.077`,cy:`11.695`,r:`3`}]],YO=[[`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`}],[`path`,{d:`M8 12h.01`}],[`path`,{d:`M12 12h.01`}],[`path`,{d:`M16 12h.01`}]],XO=[[`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`}],[`path`,{d:`M12 22V2`}]],ZO=[[`path`,{d:`M12 13v3`}],[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 01-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 011-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 011.52 0C14.51 3.81 17 5 19 5a1 1 0 011 1z`}],[`circle`,{cx:`12`,cy:`11`,r:`2`}]],QO=[[`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`}],[`path`,{d:`M9 12h6`}]],$O=[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`}]],ek=[[`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`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M12 9v6`}]],tk=[[`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`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]],nk=[[`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`}],[`path`,{d:`M6.376 18.91a6 6 0 0 1 11.249.003`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}]],rk=[[`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`}],[`path`,{d:`m14.5 9.5-5 5`}],[`path`,{d:`m9.5 9.5 5 5`}]],ik=[[`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`}]],ak=[[`circle`,{cx:`12`,cy:`12`,r:`8`}],[`path`,{d:`M12 2v7.5`}],[`path`,{d:`m19 5-5.23 5.23`}],[`path`,{d:`M22 12h-7.5`}],[`path`,{d:`m19 19-5.23-5.23`}],[`path`,{d:`M12 14.5V22`}],[`path`,{d:`M10.23 13.77 5 19`}],[`path`,{d:`M9.5 12H2`}],[`path`,{d:`M10.23 10.23 5 5`}],[`circle`,{cx:`12`,cy:`12`,r:`2.5`}]],ok=[[`path`,{d:`M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z`}]],sk=[[`path`,{d:`M12 10.189V14`}],[`path`,{d:`M12 2v3`}],[`path`,{d:`M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6`}],[`path`,{d:`M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}]],ck=[[`path`,{d:`M16 10a4 4 0 0 1-8 0`}],[`path`,{d:`M3.103 6.034h17.794`}],[`path`,{d:`M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z`}]],lk=[[`path`,{d:`m15 11-1 9`}],[`path`,{d:`m19 11-4-7`}],[`path`,{d:`M2 11h20`}],[`path`,{d:`m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4`}],[`path`,{d:`M4.5 15.5h15`}],[`path`,{d:`m5 11 4-7`}],[`path`,{d:`m9 11 1 9`}]],uk=[[`circle`,{cx:`8`,cy:`21`,r:`1`}],[`circle`,{cx:`19`,cy:`21`,r:`1`}],[`path`,{d:`M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12`}]],dk=[[`path`,{d:`M21.56 4.56a1.5 1.5 0 0 1 0 2.122l-.47.47a3 3 0 0 1-4.212-.03 3 3 0 0 1 0-4.243l.44-.44a1.5 1.5 0 0 1 2.121 0z`}],[`path`,{d:`M3 22a1 1 0 0 1-1-1v-3.586a1 1 0 0 1 .293-.707l3.355-3.355a1.205 1.205 0 0 1 1.704 0l3.296 3.296a1.205 1.205 0 0 1 0 1.704l-3.355 3.355a1 1 0 0 1-.707.293z`}],[`path`,{d:`m9 15 7.879-7.878`}]],fk=[[`path`,{d:`m4 4 2.5 2.5`}],[`path`,{d:`M13.5 6.5a4.95 4.95 0 0 0-7 7`}],[`path`,{d:`M15 5 5 15`}],[`path`,{d:`M14 17v.01`}],[`path`,{d:`M10 16v.01`}],[`path`,{d:`M13 13v.01`}],[`path`,{d:`M16 10v.01`}],[`path`,{d:`M11 20v.01`}],[`path`,{d:`M17 14v.01`}],[`path`,{d:`M20 11v.01`}]],pk=[[`path`,{d:`M4 13V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 22v-5`}],[`path`,{d:`M14 19v-2`}],[`path`,{d:`M18 20v-3`}],[`path`,{d:`M2 13h20`}],[`path`,{d:`M6 20v-3`}]],mk=[[`path`,{d:`m15 15 6 6m-6-6v4.8m0-4.8h4.8`}],[`path`,{d:`M9 19.8V15m0 0H4.2M9 15l-6 6`}],[`path`,{d:`M15 4.2V9m0 0h4.8M15 9l6-6`}],[`path`,{d:`M9 4.2V9m0 0H4.2M9 9 3 3`}]],hk=[[`path`,{d:`M11 12h.01`}],[`path`,{d:`M13 22c.5-.5 1.12-1 2.5-1-1.38 0-2-.5-2.5-1`}],[`path`,{d:`M14 2a3.28 3.28 0 0 1-3.227 1.798l-6.17-.561A2.387 2.387 0 1 0 4.387 8H15.5a1 1 0 0 1 0 13 1 1 0 0 0 0-5H12a7 7 0 0 1-7-7V8`}],[`path`,{d:`M14 8a8.5 8.5 0 0 1 0 8`}],[`path`,{d:`M16 16c2 0 4.5-4 4-6`}]],gk=[[`path`,{d:`M12 22v-5.172a2 2 0 0 0-.586-1.414L9.5 13.5`}],[`path`,{d:`M14.5 14.5 12 17`}],[`path`,{d:`M17 8.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0z`}]],_k=[[`path`,{d:`m18 14 4 4-4 4`}],[`path`,{d:`m18 2 4 4-4 4`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`}]],vk=[[`path`,{d:`M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2`}]],yk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}],[`path`,{d:`M17 20V8`}]],bk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}]],xk=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}]],Sk=[[`path`,{d:`M2 20h.01`}]],Ck=[[`path`,{d:`M2 20h.01`}],[`path`,{d:`M7 20v-4`}],[`path`,{d:`M12 20v-8`}],[`path`,{d:`M17 20V8`}],[`path`,{d:`M22 4v16`}]],wk=[[`path`,{d:`m21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284`}],[`path`,{d:`M3 21h18`}]],Tk=[[`path`,{d:`M10 9H4L2 7l2-2h6`}],[`path`,{d:`M14 5h6l2 2-2 2h-6`}],[`path`,{d:`M10 22V4a2 2 0 1 1 4 0v18`}],[`path`,{d:`M8 22h8`}]],Ek=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M12 3v3`}],[`path`,{d:`M2.354 10.354a1.207 1.207 0 0 1 0-1.708l2.06-2.06A2 2 0 0 1 5.828 6h12.344a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H5.828a2 2 0 0 1-1.414-.586z`}]],Dk=[[`path`,{d:`M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z`}],[`path`,{d:`M3 20V4`}]],Ok=[[`path`,{d:`M7 18v-6a5 5 0 1 1 10 0v6`}],[`path`,{d:`M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z`}],[`path`,{d:`M21 12h1`}],[`path`,{d:`M18.5 4.5 18 5`}],[`path`,{d:`M2 12h1`}],[`path`,{d:`M12 2v1`}],[`path`,{d:`m4.929 4.929.707.707`}],[`path`,{d:`M12 12v6`}]],kk=[[`path`,{d:`M21 4v16`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`}]],Ak=[[`path`,{d:`m12.5 17-.5-1-.5 1h1z`}],[`path`,{d:`M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`12`,r:`1`}]],jk=[[`path`,{d:`M22 2 2 22`}]],Mk=[[`path`,{d:`M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14`}]],Nk=[[`path`,{d:`M10 5H3`}],[`path`,{d:`M12 19H3`}],[`path`,{d:`M14 3v4`}],[`path`,{d:`M16 17v4`}],[`path`,{d:`M21 12h-9`}],[`path`,{d:`M21 19h-5`}],[`path`,{d:`M21 5h-7`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M8 12H3`}]],Pk=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`}],[`path`,{d:`M12.667 8 10 12h4l-2.667 4`}]],Fk=[[`path`,{d:`M10 8h4`}],[`path`,{d:`M12 21v-9`}],[`path`,{d:`M12 8V3`}],[`path`,{d:`M17 16h4`}],[`path`,{d:`M19 12V3`}],[`path`,{d:`M19 21v-5`}],[`path`,{d:`M3 14h4`}],[`path`,{d:`M5 10V3`}],[`path`,{d:`M5 21v-7`}]],Ik=[[`rect`,{width:`7`,height:`12`,x:`2`,y:`6`,rx:`1`}],[`path`,{d:`M13 8.32a7.43 7.43 0 0 1 0 7.36`}],[`path`,{d:`M16.46 6.21a11.76 11.76 0 0 1 0 11.58`}],[`path`,{d:`M19.91 4.1a15.91 15.91 0 0 1 .01 15.8`}]],Lk=[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`}],[`path`,{d:`M12 18h.01`}]],Rk=[[`path`,{d:`M22 11v1a10 10 0 1 1-9-10`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}],[`path`,{d:`M16 5h6`}],[`path`,{d:`M19 2v6`}]],zk=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`}]],Bk=[[`path`,{d:`M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0`}],[`circle`,{cx:`10`,cy:`13`,r:`8`}],[`path`,{d:`M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6`}],[`path`,{d:`M18 3 19.1 5.2`}],[`path`,{d:`M22 3 20.9 5.2`}]],Vk=[[`path`,{d:`m10 20-1.25-2.5L6 18`}],[`path`,{d:`M10 4 8.75 6.5 6 6`}],[`path`,{d:`m14 20 1.25-2.5L18 18`}],[`path`,{d:`m14 4 1.25 2.5L18 6`}],[`path`,{d:`m17 21-3-6h-4`}],[`path`,{d:`m17 3-3 6 1.5 3`}],[`path`,{d:`M2 12h6.5L10 9`}],[`path`,{d:`m20 10-1.5 2 1.5 2`}],[`path`,{d:`M22 12h-6.5L14 15`}],[`path`,{d:`m4 10 1.5 2L4 14`}],[`path`,{d:`m7 21 3-6-1.5-3`}],[`path`,{d:`m7 3 3 6h4`}]],Hk=[[`path`,{d:`M10.5 2v4`}],[`path`,{d:`M14 2H7a2 2 0 0 0-2 2`}],[`path`,{d:`M19.29 14.76A6.67 6.67 0 0 1 17 11a6.6 6.6 0 0 1-2.29 3.76c-1.15.92-1.71 2.04-1.71 3.19 0 2.22 1.8 4.05 4 4.05s4-1.83 4-4.05c0-1.16-.57-2.26-1.71-3.19`}],[`path`,{d:`M9.607 21H6a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h7V7a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3`}]],Uk=[[`path`,{d:`M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3`}],[`path`,{d:`M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z`}],[`path`,{d:`M4 18v2`}],[`path`,{d:`M20 18v2`}],[`path`,{d:`M12 4v9`}]],Wk=[[`path`,{d:`M11 2h2`}],[`path`,{d:`m14.28 14-4.56 8`}],[`path`,{d:`m21 22-1.558-4H4.558`}],[`path`,{d:`M3 10v2`}],[`path`,{d:`M6.245 15.04A2 2 0 0 1 8 14h12a1 1 0 0 1 .864 1.505l-3.11 5.457A2 2 0 0 1 16 22H4a1 1 0 0 1-.863-1.506z`}],[`path`,{d:`M7 2a4 4 0 0 1-4 4`}],[`path`,{d:`m8.66 7.66 1.41 1.41`}]],Gk=[[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`}],[`path`,{d:`M7 21h10`}],[`path`,{d:`M19.5 12 22 6`}],[`path`,{d:`M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62`}],[`path`,{d:`M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62`}],[`path`,{d:`M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62`}]],Kk=[[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`}]],qk=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}]],Jk=[[`path`,{d:`M12 18v4`}],[`path`,{d:`M2 14.499a5.5 5.5 0 0 0 9.591 3.675.6.6 0 0 1 .818.001A5.5 5.5 0 0 0 22 14.5c0-2.29-1.5-4-3-5.5l-5.492-5.312a2 2 0 0 0-3-.02L5 8.999c-1.5 1.5-3 3.2-3 5.5`}]],Yk=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}],[`path`,{d:`M20 2v4`}],[`path`,{d:`M22 4h-4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]],Xk=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`path`,{d:`M12 6h.01`}],[`circle`,{cx:`12`,cy:`14`,r:`4`}],[`path`,{d:`M12 14h.01`}]],Zk=[[`path`,{d:`M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20`}],[`path`,{d:`M19.8 17.8a7.5 7.5 0 0 0 .003-10.603`}],[`path`,{d:`M17 15a3.5 3.5 0 0 0-.025-4.975`}]],Qk=[[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1`}]],$k=[[`path`,{d:`m6 16 6-12 6 12`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m16 20 2 2 4-4`}]],eA=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M5 17A12 12 0 0 1 17 5`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]],tA=[[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}],[`path`,{d:`M5 17A12 12 0 0 1 17 5`}]],nA=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M8 3H3v5`}],[`path`,{d:`M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3`}],[`path`,{d:`m15 9 6-6`}]],rA=[[`path`,{d:`m15 10.42 4.8-5.07`}],[`path`,{d:`M19 18h3`}],[`path`,{d:`M9.5 22 21.414 9.415A2 2 0 0 0 21.2 6.4l-5.61-4.208A1 1 0 0 0 14 3v2a2 2 0 0 1-1.394 1.906L8.677 8.053A1 1 0 0 0 8 9c-.155 6.393-2.082 9-4 9a2 2 0 0 0 0 4h14`}]],iA=[[`path`,{d:`M17 13.44 4.442 17.082A2 2 0 0 0 4.982 21H19a2 2 0 0 0 .558-3.921l-1.115-.32A2 2 0 0 1 17 14.837V7.66`}],[`path`,{d:`m7 10.56 12.558-3.642A2 2 0 0 0 19.018 3H5a2 2 0 0 0-.558 3.921l1.115.32A2 2 0 0 1 7 9.163v7.178`}]],aA=[[`path`,{d:`M15.295 19.562 16 22`}],[`path`,{d:`m17 16 3.758 2.098`}],[`path`,{d:`m19 12.5 3.026-.598`}],[`path`,{d:`M7.61 6.3a3 3 0 0 0-3.92 1.3l-1.38 2.79a3 3 0 0 0 1.3 3.91l6.89 3.597a1 1 0 0 0 1.342-.447l3.106-6.211a1 1 0 0 0-.447-1.341z`}],[`path`,{d:`M8 9V2`}]],oA=[[`path`,{d:`M3 3h.01`}],[`path`,{d:`M7 5h.01`}],[`path`,{d:`M11 7h.01`}],[`path`,{d:`M3 7h.01`}],[`path`,{d:`M7 9h.01`}],[`path`,{d:`M3 11h.01`}],[`rect`,{width:`4`,height:`4`,x:`15`,y:`5`}],[`path`,{d:`m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2`}],[`path`,{d:`m13 14 8-2`}],[`path`,{d:`m13 19 8-2`}]],sA=[[`path`,{d:`M14 9.536V7a4 4 0 0 1 4-4h1.5a.5.5 0 0 1 .5.5V5a4 4 0 0 1-4 4 4 4 0 0 0-4 4c0 2 1 3 1 5a5 5 0 0 1-1 3`}],[`path`,{d:`M4 9a5 5 0 0 1 8 4 5 5 0 0 1-8-4`}],[`path`,{d:`M5 21h14`}]],cA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M17 12h-2l-2 5-2-10-2 5H7`}]],lA=[[`path`,{d:`M15 15H9l6-6`}],[`path`,{d:`M9 15V9`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],uA=[[`path`,{d:`M15 15 9 9`}],[`path`,{d:`M9 15h6V9`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],dA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]],fA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m12 8-4 4 4 4`}],[`path`,{d:`M16 12H8`}]],pA=[[`path`,{d:`M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6`}],[`path`,{d:`m3 21 9-9`}],[`path`,{d:`M9 21H3v-6`}]],mA=[[`path`,{d:`M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}],[`path`,{d:`m21 21-9-9`}],[`path`,{d:`M21 15v6h-6`}]],hA=[[`path`,{d:`M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6`}],[`path`,{d:`m3 3 9 9`}],[`path`,{d:`M3 9V3h6`}]],gA=[[`path`,{d:`M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6`}],[`path`,{d:`m21 3-9 9`}],[`path`,{d:`M15 3h6v6`}]],_A=[[`path`,{d:`m10 16 4-4-4-4`}],[`path`,{d:`M3 12h11`}],[`path`,{d:`M3 8V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`}]],vA=[[`path`,{d:`M10 12h11`}],[`path`,{d:`m17 16 4-4-4-4`}],[`path`,{d:`M21 6.344V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-1.344`}]],yA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`m12 16 4-4-4-4`}]],bA=[[`path`,{d:`M15 15 9 9`}],[`path`,{d:`M9 15V9h6`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],xA=[[`path`,{d:`M15 15V9H9`}],[`path`,{d:`m9 15 6-6`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],SA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m16 12-4-4-4 4`}],[`path`,{d:`M12 16V8`}]],CA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8.5 14 7-4`}],[`path`,{d:`m8.5 10 7 4`}]],wA=[[`line`,{x1:`5`,y1:`3`,x2:`19`,y2:`3`}],[`line`,{x1:`3`,y1:`5`,x2:`3`,y2:`19`}],[`line`,{x1:`21`,y1:`5`,x2:`21`,y2:`19`}],[`line`,{x1:`9`,y1:`21`,x2:`10`,y2:`21`}],[`line`,{x1:`14`,y1:`21`,x2:`15`,y2:`21`}],[`path`,{d:`M 3 5 A2 2 0 0 1 5 3`}],[`path`,{d:`M 19 3 A2 2 0 0 1 21 5`}],[`path`,{d:`M 5 21 A2 2 0 0 1 3 19`}],[`path`,{d:`M 21 19 A2 2 0 0 1 19 21`}],[`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`9.56066`,x2:`12`,y2:`12`}],[`line`,{x1:`17`,y1:`17`,x2:`14.82`,y2:`14.82`}],[`circle`,{cx:`8.5`,cy:`15.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`14.43934`,x2:`17`,y2:`7`}]],TA=[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3`}],[`path`,{d:`M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 2v2`}]],EA=[[`path`,{d:`M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3`}],[`path`,{d:`M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}]],DA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 8h7`}],[`path`,{d:`M8 12h6`}],[`path`,{d:`M11 16h5`}]],OA=[[`path`,{d:`M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344`}],[`path`,{d:`m9 11 3 3L22 4`}]],kA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m9 12 2 2 4-4`}]],AA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m16 10-4 4-4-4`}]],jA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m14 16-4-4 4-4`}]],MA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m10 8 4 4-4 4`}]],NA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m8 14 4-4 4 4`}]],PA=[[`path`,{d:`m10 9-3 3 3 3`}],[`path`,{d:`m14 15 3-3-3-3`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],FA=[[`path`,{d:`M10 9.5 8 12l2 2.5`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`m14 9.5 2 2.5-2 2.5`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2`}],[`path`,{d:`M9 21h1`}]],IA=[[`path`,{d:`M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 21h1`}]],LA=[[`path`,{d:`M8 7v7`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M16 7v9`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 9v1`}]],RA=[[`path`,{d:`M14 21h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h6`}],[`path`,{d:`M7 8h8`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M9 3h1`}]],zA=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M9 21h2`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M21 9v2`}],[`path`,{d:`M3 14v1`}]],BA=[[`path`,{d:`M14 21h1`}],[`path`,{d:`M21 14v1`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 21h1`}]],VA=[[`path`,{d:`M5 3a2 2 0 0 0-2 2`}],[`path`,{d:`M19 3a2 2 0 0 1 2 2`}],[`path`,{d:`M21 19a2 2 0 0 1-2 2`}],[`path`,{d:`M5 21a2 2 0 0 1-2-2`}],[`path`,{d:`M9 3h1`}],[`path`,{d:`M9 21h1`}],[`path`,{d:`M14 3h1`}],[`path`,{d:`M14 21h1`}],[`path`,{d:`M3 9v1`}],[`path`,{d:`M21 9v1`}],[`path`,{d:`M3 14v1`}],[`path`,{d:`M21 14v1`}]],HA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`}],[`line`,{x1:`12`,x2:`12`,y1:`16`,y2:`16`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`8`}]],UA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}]],WA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M7 14h10`}]],GA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3`}],[`path`,{d:`M9 11.2h5.7`}]],KA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 7v7`}],[`path`,{d:`M12 7v4`}],[`path`,{d:`M16 7v9`}]],qA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7v10`}],[`path`,{d:`M11 7v10`}],[`path`,{d:`m15 7 2 10`}]],JA=[[`path`,{d:`M8 16V8.5a.5.5 0 0 1 .9-.3l2.7 3.599a.5.5 0 0 0 .8 0l2.7-3.6a.5.5 0 0 1 .9.3V16`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],YA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 8h10`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M7 16h10`}]],XA=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}]],ZA=[[`path`,{d:`M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z`}],[`path`,{d:`M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}]],QA=[[`path`,{d:`M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41`}],[`path`,{d:`M3 8.7V19a2 2 0 0 0 2 2h10.3`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M13 13a3 3 0 1 0 0-6H9v2`}],[`path`,{d:`M9 17v-2.3`}]],$A=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 17V7h4a3 3 0 0 1 0 6H9`}]],ej=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]],tj=[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`}]],nj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 7h10`}],[`path`,{d:`M10 7v10`}],[`path`,{d:`M16 17a2 2 0 0 1-2-2V7`}]],rj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`M15 15h.01`}]],ij=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M12 12H9.5a2.5 2.5 0 0 1 0-5H17`}],[`path`,{d:`M12 7v10`}],[`path`,{d:`M16 7v10`}]],aj=[[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}],[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`}]],oj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M8 12h8`}],[`path`,{d:`M12 8v8`}]],sj=[[`path`,{d:`M12 7v4`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],cj=[[`path`,{d:`M7 12h2l2 5 2-10h4`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],lj=[[`path`,{d:`M21 11a8 8 0 0 0-8-8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}]],uj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`9.56066`,x2:`12`,y2:`12`}],[`line`,{x1:`17`,y1:`17`,x2:`14.82`,y2:`14.82`}],[`circle`,{cx:`8.5`,cy:`15.5`,r:`1.5`}],[`line`,{x1:`9.56066`,y1:`14.43934`,x2:`17`,y2:`7`}]],dj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M16 8.9V7H8l4 5-4 5h8v-1.9`}]],fj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`}]],pj=[[`path`,{d:`M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3`}],[`path`,{d:`M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3`}],[`line`,{x1:`12`,x2:`12`,y1:`4`,y2:`20`}]],mj=[[`path`,{d:`M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3`}],[`path`,{d:`M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3`}],[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`}]],hj=[[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`}]],gj=[[`path`,{d:`M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2`}],[`path`,{d:`M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2`}],[`rect`,{width:`8`,height:`8`,x:`14`,y:`14`,rx:`2`}]],_j=[[`path`,{d:`M11.035 7.69a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],vj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`}]],yj=[[`path`,{d:`m7 11 2-2-2-2`}],[`path`,{d:`M11 13h4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}]],bj=[[`path`,{d:`M18 21a6 6 0 0 0-12 0`}],[`circle`,{cx:`12`,cy:`11`,r:`4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],xj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`}]],Sj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],Cj=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],wj=[[`path`,{d:`M16 12v2a2 2 0 0 1-2 2H9a1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2h0`}],[`path`,{d:`M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 1-1 1h-5a2 2 0 0 0-2 2v2`}]],Tj=[[`path`,{d:`M10 22a2 2 0 0 1-2-2`}],[`path`,{d:`M14 2a2 2 0 0 1 2 2`}],[`path`,{d:`M16 22h-2`}],[`path`,{d:`M2 10V8`}],[`path`,{d:`M2 4a2 2 0 0 1 2-2`}],[`path`,{d:`M20 8a2 2 0 0 1 2 2`}],[`path`,{d:`M22 14v2`}],[`path`,{d:`M22 20a2 2 0 0 1-2 2`}],[`path`,{d:`M4 16a2 2 0 0 1-2-2`}],[`path`,{d:`M8 10a2 2 0 0 1 2-2h5a1 1 0 0 1 1 1v5a2 2 0 0 1-2 2H9a1 1 0 0 1-1-1z`}],[`path`,{d:`M8 2h2`}]],Ej=[[`path`,{d:`M10 22a2 2 0 0 1-2-2`}],[`path`,{d:`M16 22h-2`}],[`path`,{d:`M16 4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h3a1 1 0 0 0 1-1v-5a2 2 0 0 1 2-2h5a1 1 0 0 0 1-1z`}],[`path`,{d:`M20 8a2 2 0 0 1 2 2`}],[`path`,{d:`M22 14v2`}],[`path`,{d:`M22 20a2 2 0 0 1-2 2`}]],Dj=[[`path`,{d:`M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 0 1 1h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-3a1 1 0 0 0-1-1z`}]],Oj=[[`path`,{d:`M13.77 3.043a34 34 0 0 0-3.54 0`}],[`path`,{d:`M13.771 20.956a33 33 0 0 1-3.541.001`}],[`path`,{d:`M20.18 17.74c-.51 1.15-1.29 1.93-2.439 2.44`}],[`path`,{d:`M20.18 6.259c-.51-1.148-1.291-1.929-2.44-2.438`}],[`path`,{d:`M20.957 10.23a33 33 0 0 1 0 3.54`}],[`path`,{d:`M3.043 10.23a34 34 0 0 0 .001 3.541`}],[`path`,{d:`M6.26 20.179c-1.15-.508-1.93-1.29-2.44-2.438`}],[`path`,{d:`M6.26 3.82c-1.149.51-1.93 1.291-2.44 2.44`}]],kj=[[`path`,{d:`M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9`}]],Aj=[[`path`,{d:`M15.236 22a3 3 0 0 0-2.2-5`}],[`path`,{d:`M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4`}],[`path`,{d:`M18 13h.01`}],[`path`,{d:`M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10`}]],jj=[[`path`,{d:`M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-6 0c0 2 1 2 1 3.5V13`}],[`path`,{d:`M20 15.5a2.5 2.5 0 0 0-2.5-2.5h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1z`}],[`path`,{d:`M5 22h14`}]],Mj=[[`path`,{d:`m19.06 12.501 2.78-2.707a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428.027-.014`}],[`path`,{d:`m15 18 2 2 4-4`}]],Nj=[[`path`,{d:`M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2`}]],Pj=[[`path`,{d:`M15 18h6`}],[`path`,{d:`M17.688 14a2.1 2.1 0 0 1 .416-.568l3.736-3.638a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428.027-.014`}]],Fj=[[`path`,{d:`m10.344 4.688 1.181-2.393a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.237 3.152`}],[`path`,{d:`m17.945 17.945.43 2.505a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a8 8 0 0 0 .4-.099`}],[`path`,{d:`m2 2 20 20`}]],Ij=[[`path`,{d:`M11.013 18.582 6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904L20 11.5`}],[`path`,{d:`M15 18h6`}],[`path`,{d:`M18 15v6`}]],Lj=[[`path`,{d:`m15.5 15.5 5 5`}],[`path`,{d:`m20.063 11.525 1.777-1.731a.53.53 0 0 0-.294-.905l-5.166-.755a2.1 2.1 0 0 1-1.595-1.16l-2.31-4.68a.53.53 0 0 0-.95.001L9.216 6.974a2.1 2.1 0 0 1-1.597 1.16l-5.165.755a.53.53 0 0 0-.294.906l3.736 3.637a2.1 2.1 0 0 1 .611 1.879l-.88 5.139a.53.53 0 0 0 .769.56l4.617-2.428a2.1 2.1 0 0 1 .987-.243 2 2 0 0 1 .132.004`}],[`path`,{d:`m20.5 15.5-5 5`}]],Rj=[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`}]],zj=[[`path`,{d:`M13.971 4.285A2 2 0 0 1 17 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z`}],[`path`,{d:`M21 20V4`}]],Bj=[[`path`,{d:`M10.029 4.285A2 2 0 0 0 7 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`}],[`path`,{d:`M3 4v16`}]],Vj=[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 13h.01`}],[`path`,{d:`M16 13h.01`}],[`path`,{d:`M10 16s.8 1 2 1c1.3 0 2-1 2-1`}]],Hj=[[`path`,{d:`M11 2v2`}],[`path`,{d:`M5 2v2`}],[`path`,{d:`M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1`}],[`path`,{d:`M8 15a6 6 0 0 0 12 0v-3`}],[`circle`,{cx:`20`,cy:`10`,r:`2`}]],Uj=[[`path`,{d:`m15 19 2 2 4-4`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M21 13V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6.5`}]],Wj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M21 14V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.35`}],[`path`,{d:`M21 18h-6`}]],Gj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M3.586 3.586A2 2 0 0 0 3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.414-.586`}],[`path`,{d:`M8.656 3H15a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 21 9v6.344`}]],Kj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`m16 16 5 5`}],[`path`,{d:`M21 12V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7`}],[`path`,{d:`m21 16-5 5`}]],qj=[[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M18 15v6`}],[`path`,{d:`M21 12.356V9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.355`}],[`path`,{d:`M21 18h-6`}]],Jj=[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`}]],Yj=[[`path`,{d:`M10 8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 16 14v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2z`}],[`path`,{d:`M10 8v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M8 4a2 2 0 0 1 2-2h6a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 22 8v6a2 2 0 0 1-2 2`}],[`path`,{d:`M16 2v5a1 1 0 0 0 1 1h5`}]],Xj=[[`path`,{d:`M11.264 2.205A4 4 0 0 0 6.42 4.211l-4 8a4 4 0 0 0 1.359 5.117l6 4a4 4 0 0 0 4.438 0l6-4a4 4 0 0 0 1.576-4.592l-2-6a4 4 0 0 0-2.53-2.53z`}],[`path`,{d:`M11.99 22 14 12l7.822 3.184`}],[`path`,{d:`M14 12 8.47 2.302`}]],Zj=[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`}]],Qj=[[`rect`,{width:`20`,height:`6`,x:`2`,y:`4`,rx:`2`}],[`rect`,{width:`20`,height:`6`,x:`2`,y:`14`,rx:`2`}]],$j=[[`rect`,{width:`6`,height:`20`,x:`4`,y:`2`,rx:`2`}],[`rect`,{width:`6`,height:`20`,x:`14`,y:`2`,rx:`2`}]],eM=[[`path`,{d:`M16 4H9a3 3 0 0 0-2.83 4`}],[`path`,{d:`M14 12a4 4 0 0 1 0 8H6`}],[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`}]],tM=[[`path`,{d:`m4 5 8 8`}],[`path`,{d:`m12 5-8 8`}],[`path`,{d:`M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07`}]],nM=[[`path`,{d:`M15 4H7`}],[`path`,{d:`m18 16 3 3-3 3`}],[`path`,{d:`M3 4v13a2 2 0 0 0 2 2h16`}],[`path`,{d:`M7 14h7`}],[`path`,{d:`M7 9h12`}]],rM=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 4h.01`}],[`path`,{d:`M20 12h.01`}],[`path`,{d:`M12 20h.01`}],[`path`,{d:`M4 12h.01`}],[`path`,{d:`M17.657 6.343h.01`}],[`path`,{d:`M17.657 17.657h.01`}],[`path`,{d:`M6.343 17.657h.01`}],[`path`,{d:`M6.343 6.343h.01`}]],iM=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 3v1`}],[`path`,{d:`M12 20v1`}],[`path`,{d:`M3 12h1`}],[`path`,{d:`M20 12h1`}],[`path`,{d:`m18.364 5.636-.707.707`}],[`path`,{d:`m6.343 17.657-.707.707`}],[`path`,{d:`m5.636 5.636.707.707`}],[`path`,{d:`m17.657 17.657.707.707`}]],aM=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715`}],[`path`,{d:`M16 12a4 4 0 0 0-4-4`}],[`path`,{d:`m19 5-1.256 1.256`}],[`path`,{d:`M20 12h2`}]],oM=[[`path`,{d:`M10 21v-1`}],[`path`,{d:`M10 4V3`}],[`path`,{d:`M10 9a3 3 0 0 0 0 6`}],[`path`,{d:`m14 20 1.25-2.5L18 18`}],[`path`,{d:`m14 4 1.25 2.5L18 6`}],[`path`,{d:`m17 21-3-6 1.5-3H22`}],[`path`,{d:`m17 3-3 6 1.5 3`}],[`path`,{d:`M2 12h1`}],[`path`,{d:`m20 10-1.5 2 1.5 2`}],[`path`,{d:`m3.64 18.36.7-.7`}],[`path`,{d:`m4.34 6.34-.7-.7`}]],sM=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`m17.66 17.66 1.41 1.41`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m6.34 17.66-1.41 1.41`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}]],cM=[[`path`,{d:`M12 2v8`}],[`path`,{d:`m4.93 10.93 1.41 1.41`}],[`path`,{d:`M2 18h2`}],[`path`,{d:`M20 18h2`}],[`path`,{d:`m19.07 10.93-1.41 1.41`}],[`path`,{d:`M22 22H2`}],[`path`,{d:`m8 6 4-4 4 4`}],[`path`,{d:`M16 18a4 4 0 0 0-8 0`}]],lM=[[`path`,{d:`M12 10V2`}],[`path`,{d:`m4.93 10.93 1.41 1.41`}],[`path`,{d:`M2 18h2`}],[`path`,{d:`M20 18h2`}],[`path`,{d:`m19.07 10.93-1.41 1.41`}],[`path`,{d:`M22 22H2`}],[`path`,{d:`m16 6-4 4-4-4`}],[`path`,{d:`M16 18a4 4 0 0 0-8 0`}]],uM=[[`path`,{d:`M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z`}],[`path`,{d:`M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7`}],[`path`,{d:`M 7 17h.01`}],[`path`,{d:`m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8`}]],dM=[[`path`,{d:`m4 19 8-8`}],[`path`,{d:`m12 19-8-8`}],[`path`,{d:`M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06`}]],fM=[[`path`,{d:`M10 21V3h8`}],[`path`,{d:`M6 16h9`}],[`path`,{d:`M10 9.5h7`}]],pM=[[`path`,{d:`M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5`}],[`path`,{d:`M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`path`,{d:`m18 22-3-3 3-3`}],[`path`,{d:`m6 2 3 3-3 3`}]],mM=[[`path`,{d:`m11 19-6-6`}],[`path`,{d:`m5 21-2-2`}],[`path`,{d:`m8 16-4 4`}],[`path`,{d:`M9.5 17.5 21 6V3h-3L6.5 14.5`}]],hM=[[`path`,{d:`m18 2 4 4`}],[`path`,{d:`m17 7 3-3`}],[`path`,{d:`M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5`}],[`path`,{d:`m9 11 4 4`}],[`path`,{d:`m5 19-3 3`}],[`path`,{d:`m14 4 6 6`}]],gM=[[`polyline`,{points:`14.5 17.5 3 6 3 3 6 3 17.5 14.5`}],[`line`,{x1:`13`,x2:`19`,y1:`19`,y2:`13`}],[`line`,{x1:`16`,x2:`20`,y1:`16`,y2:`20`}],[`line`,{x1:`19`,x2:`21`,y1:`21`,y2:`19`}],[`polyline`,{points:`14.5 6.5 18 3 21 3 21 6 17.5 9.5`}],[`line`,{x1:`5`,x2:`9`,y1:`14`,y2:`18`}],[`line`,{x1:`7`,x2:`4`,y1:`17`,y2:`20`}],[`line`,{x1:`3`,x2:`5`,y1:`19`,y2:`21`}]],_M=[[`path`,{d:`M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18`}]],vM=[[`path`,{d:`M12 21v-6`}],[`path`,{d:`M12 9V3`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],yM=[[`path`,{d:`M12 15V9`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M3 9h18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]],bM=[[`path`,{d:`M14 14v2`}],[`path`,{d:`M14 20v2`}],[`path`,{d:`M14 2v2`}],[`path`,{d:`M14 8v2`}],[`path`,{d:`M2 15h8`}],[`path`,{d:`M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2`}],[`path`,{d:`M2 9h8`}],[`path`,{d:`M22 15h-4`}],[`path`,{d:`M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2`}],[`path`,{d:`M22 9h-4`}],[`path`,{d:`M5 3v18`}]],xM=[[`path`,{d:`M16 5H3`}],[`path`,{d:`M16 12H3`}],[`path`,{d:`M16 19H3`}],[`path`,{d:`M21 5h.01`}],[`path`,{d:`M21 12h.01`}],[`path`,{d:`M21 19h.01`}]],SM=[[`path`,{d:`M15 3v18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M21 9H3`}],[`path`,{d:`M21 15H3`}]],CM=[[`path`,{d:`M14 10h2`}],[`path`,{d:`M15 22v-8`}],[`path`,{d:`M15 2v4`}],[`path`,{d:`M2 10h2`}],[`path`,{d:`M20 10h2`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6`}],[`path`,{d:`M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2`}],[`path`,{d:`M8 10h2`}],[`path`,{d:`M9 22v-8`}],[`path`,{d:`M9 2v4`}]],wM=[[`path`,{d:`M12 3v18`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}]],TM=[[`rect`,{width:`10`,height:`14`,x:`3`,y:`8`,rx:`2`}],[`path`,{d:`M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4`}],[`path`,{d:`M8 18h.01`}]],EM=[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,ry:`2`}],[`line`,{x1:`12`,x2:`12.01`,y1:`18`,y2:`18`}]],DM=[[`circle`,{cx:`7`,cy:`7`,r:`5`}],[`circle`,{cx:`17`,cy:`17`,r:`5`}],[`path`,{d:`M12 17h10`}],[`path`,{d:`m3.46 10.54 7.08-7.08`}]],OM=[[`path`,{d:`M16 13h6`}],[`path`,{d:`m16.5 6.5-3.914-3.914A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l1.79-1.79`}],[`path`,{d:`M19 10v6`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],kM=[[`path`,{d:`m16.5 6.5-3.914-3.914A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.43 2.43 0 0 0 3.42 0l1.79-1.79`}],[`path`,{d:`m16.5 10.5 5 5`}],[`path`,{d:`m21.5 10.5-5 5`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],AM=[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]],jM=[[`path`,{d:`M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z`}],[`path`,{d:`M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193`}],[`circle`,{cx:`10.5`,cy:`6.5`,r:`.5`,fill:`currentColor`}]],MM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}]],NM=[[`path`,{d:`M4 4v16`}]],PM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}]],FM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}],[`path`,{d:`M19 4v16`}]],IM=[[`circle`,{cx:`17`,cy:`4`,r:`2`}],[`path`,{d:`M15.59 5.41 5.41 15.59`}],[`circle`,{cx:`4`,cy:`17`,r:`2`}],[`path`,{d:`M12 22s-4-9-1.5-11.5S22 12 22 12`}]],LM=[[`path`,{d:`M4 4v16`}],[`path`,{d:`M9 4v16`}],[`path`,{d:`M14 4v16`}],[`path`,{d:`M19 4v16`}],[`path`,{d:`M22 6 2 18`}]],RM=[[`path`,{d:`m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44`}],[`path`,{d:`m13.56 11.747 4.332-.924`}],[`path`,{d:`m16 21-3.105-6.21`}],[`path`,{d:`M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z`}],[`path`,{d:`m6.158 8.633 1.114 4.456`}],[`path`,{d:`m8 21 3.105-6.21`}],[`circle`,{cx:`12`,cy:`13`,r:`2`}]],zM=[[`circle`,{cx:`4`,cy:`4`,r:`2`}],[`path`,{d:`m14 5 3-3 3 3`}],[`path`,{d:`m14 10 3-3 3 3`}],[`path`,{d:`M17 14V2`}],[`path`,{d:`M17 14H7l-5 8h20Z`}],[`path`,{d:`M8 14v8`}],[`path`,{d:`m9 14 5 8`}]],BM=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],VM=[[`path`,{d:`M3.5 21 14 3`}],[`path`,{d:`M20.5 21 10 3`}],[`path`,{d:`M15.5 21 12 15l-3.5 6`}],[`path`,{d:`M2 21h20`}]],HM=[[`path`,{d:`M12 19h8`}],[`path`,{d:`m4 17 6-6-6-6`}]],UM=[[`path`,{d:`M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3`}],[`path`,{d:`m16 2 6 6`}],[`path`,{d:`M12 16H4`}]],WM=[[`path`,{d:`M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2`}],[`path`,{d:`M8.5 2h7`}],[`path`,{d:`M14.5 16h-5`}]],GM=[[`path`,{d:`M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2`}],[`path`,{d:`M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2`}],[`path`,{d:`M3 2h7`}],[`path`,{d:`M14 2h7`}],[`path`,{d:`M9 16H4`}],[`path`,{d:`M20 16h-5`}]],KM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M17 12H7`}],[`path`,{d:`M19 19H5`}]],qM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M21 12H9`}],[`path`,{d:`M21 19H7`}]],JM=[[`path`,{d:`M3 5h18`}],[`path`,{d:`M3 12h18`}],[`path`,{d:`M3 19h18`}]],YM=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M15 12H3`}],[`path`,{d:`M17 19H3`}]],XM=[[`path`,{d:`M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6`}],[`path`,{d:`M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7`}],[`path`,{d:`M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1`}],[`path`,{d:`M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1`}],[`path`,{d:`M9 6v12`}]],ZM=[[`path`,{d:`M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1`}],[`path`,{d:`M7 22h1a4 4 0 0 0 4-4`}],[`path`,{d:`M7 2h1a4 4 0 0 1 4 4`}]],QM=[[`path`,{d:`M15 5h6`}],[`path`,{d:`M15 12h6`}],[`path`,{d:`M3 19h18`}],[`path`,{d:`m3 12 3.553-7.724a.5.5 0 0 1 .894 0L11 12`}],[`path`,{d:`M3.92 10h6.16`}]],$M=[[`path`,{d:`M21 5H3`}],[`path`,{d:`M10 12H3`}],[`path`,{d:`M10 19H3`}],[`circle`,{cx:`17`,cy:`15`,r:`3`}],[`path`,{d:`m21 19-1.9-1.9`}]],eN=[[`path`,{d:`M17 5H3`}],[`path`,{d:`M21 12H8`}],[`path`,{d:`M21 19H8`}],[`path`,{d:`M3 12v7`}]],tN=[[`path`,{d:`m16 16-3 3 3 3`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`}],[`path`,{d:`M3 19h6`}],[`path`,{d:`M3 5h18`}]],nN=[[`path`,{d:`M2 10s3-3 3-8`}],[`path`,{d:`M22 10s-3-3-3-8`}],[`path`,{d:`M10 2c0 4.4-3.6 8-8 8`}],[`path`,{d:`M14 2c0 4.4 3.6 8 8 8`}],[`path`,{d:`M2 10s2 2 2 5`}],[`path`,{d:`M22 10s-2 2-2 5`}],[`path`,{d:`M8 15h8`}],[`path`,{d:`M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1`}],[`path`,{d:`M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1`}]],rN=[[`path`,{d:`m10 20-1.25-2.5L6 18`}],[`path`,{d:`M10 4 8.75 6.5 6 6`}],[`path`,{d:`M10.585 15H10`}],[`path`,{d:`M2 12h6.5L10 9`}],[`path`,{d:`M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z`}],[`path`,{d:`m4 10 1.5 2L4 14`}],[`path`,{d:`m7 21 3-6-1.5-3`}],[`path`,{d:`m7 3 3 6h2`}]],iN=[[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8a4 4 0 0 0-1.645 7.647`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`m6.34 17.66-1.41 1.41`}]],aN=[[`path`,{d:`M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z`}]],oN=[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`}],[`path`,{d:`M17 14V2`}]],sN=[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`}],[`path`,{d:`M7 10v12`}]],cN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9 12 2 2 4-4`}]],lN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 12h6`}]],uN=[[`path`,{d:`M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 9h.01`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M15 15h.01`}]],dN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M9 12h6`}],[`path`,{d:`M12 9v6`}]],fN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9.5 14.5 5-5`}]],pN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`m9.5 14.5 5-5`}],[`path`,{d:`m9.5 9.5 5 5`}]],mN=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M13 5v2`}],[`path`,{d:`M13 17v2`}],[`path`,{d:`M13 11v2`}]],hN=[[`path`,{d:`M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12`}],[`path`,{d:`m12 13.5 3.794.506`}],[`path`,{d:`m3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8`}],[`path`,{d:`M6 10V8`}],[`path`,{d:`M6 14v1`}],[`path`,{d:`M6 19v2`}],[`rect`,{x:`2`,y:`8`,width:`20`,height:`13`,rx:`2`}]],gN=[[`path`,{d:`m3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8`}],[`path`,{d:`M6 10V8`}],[`path`,{d:`M6 14v1`}],[`path`,{d:`M6 19v2`}],[`rect`,{x:`2`,y:`8`,width:`20`,height:`13`,rx:`2`}]],_N=[[`path`,{d:`M4 12h.01`}],[`path`,{d:`M4 16h.01`}],[`path`,{d:`M4 20h.01`}],[`path`,{d:`M4 4h.01`}],[`path`,{d:`M4 8h.01`}],[`path`,{d:`M9.414 13.414a2 2 0 0 0 1.414.586H19a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 12z`}],[`path`,{d:`M9.414 21.414a2 2 0 0 0 1.414.586H19a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 20z`}],[`path`,{d:`M9.414 5.414A2 2 0 0 0 10.828 6H19a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-8.172a2 2 0 0 0-1.414.586L8 4z`}]],vN=[[`path`,{d:`M10 2h4`}],[`path`,{d:`M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7`}],[`path`,{d:`M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M12 12v-2`}]],yN=[[`path`,{d:`M10 2h4`}],[`path`,{d:`M12 14v-4`}],[`path`,{d:`M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6`}],[`path`,{d:`M9 17H4v5`}]],bN=[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`}],[`circle`,{cx:`12`,cy:`14`,r:`8`}]],xN=[[`circle`,{cx:`9`,cy:`12`,r:`3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`}]],SN=[[`circle`,{cx:`15`,cy:`12`,r:`3`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`}]],CN=[[`path`,{d:`M7 12h13a1 1 0 0 1 1 1 5 5 0 0 1-5 5h-.598a.5.5 0 0 0-.424.765l1.544 2.47a.5.5 0 0 1-.424.765H5.402a.5.5 0 0 1-.424-.765L7 18`}],[`path`,{d:`M8 18a5 5 0 0 1-5-5V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8`}]],wN=[[`path`,{d:`M10 15h4`}],[`path`,{d:`m14.817 10.995-.971-1.45 1.034-1.232a2 2 0 0 0-2.025-3.238l-1.82.364L9.91 3.885a2 2 0 0 0-3.625.748L6.141 6.55l-1.725.426a2 2 0 0 0-.19 3.756l.657.27`}],[`path`,{d:`m18.822 10.995 2.26-5.38a1 1 0 0 0-.557-1.318L16.954 2.9a1 1 0 0 0-1.281.533l-.924 2.122`}],[`path`,{d:`M4 12.006A1 1 0 0 1 4.994 11H19a1 1 0 0 1 1 1v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}]],TN=[[`path`,{d:`M16 12v4`}],[`path`,{d:`M16 6a2 2 0 0 1 1.414.586l4 4A2 2 0 0 1 22 12v7a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 .586-1.414l4-4A2 2 0 0 1 8 6z`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M8 12v4`}]],EN=[[`ellipse`,{cx:`12`,cy:`11`,rx:`3`,ry:`2`}],[`ellipse`,{cx:`12`,cy:`12.5`,rx:`10`,ry:`8.5`}]],DN=[[`path`,{d:`M21 4H3`}],[`path`,{d:`M18 8H6`}],[`path`,{d:`M19 12H9`}],[`path`,{d:`M16 16h-6`}],[`path`,{d:`M11 20H9`}]],ON=[[`path`,{d:`M12 20v-6`}],[`path`,{d:`M19.656 14H22`}],[`path`,{d:`M2 14h12`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2`}],[`path`,{d:`M9.656 4H20a2 2 0 0 1 2 2v10.344`}]],kN=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M2 14h20`}],[`path`,{d:`M12 20v-6`}]],AN=[[`path`,{d:`M22 7h-2`}],[`path`,{d:`M6.5 3h11A2.5 2.5 0 0 1 20 5.5V20a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1V5.5a1 1 0 0 0-5 0V17a1 1 0 0 0 1 1h4`}],[`path`,{d:`M9 7H2`}]],jN=[[`path`,{d:`M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z`}],[`path`,{d:`M8 13v9`}],[`path`,{d:`M16 22v-9`}],[`path`,{d:`m9 6 1 7`}],[`path`,{d:`m15 6-1 7`}],[`path`,{d:`M12 6V2`}],[`path`,{d:`M13 2h-2`}]],MN=[[`rect`,{width:`18`,height:`12`,x:`3`,y:`8`,rx:`1`}],[`path`,{d:`M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3`}],[`path`,{d:`M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3`}]],NN=[[`path`,{d:`m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20`}],[`path`,{d:`M16 18h-5`}],[`path`,{d:`M18 5a1 1 0 0 0-1 1v5.573`}],[`path`,{d:`M3 4h8.129a1 1 0 0 1 .99.863L13 11.246`}],[`path`,{d:`M4 11V4`}],[`path`,{d:`M7 15h.01`}],[`path`,{d:`M8 10.1V4`}],[`circle`,{cx:`18`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`15`,r:`5`}]],PN=[[`path`,{d:`M16.05 10.966a5 2.5 0 0 1-8.1 0`}],[`path`,{d:`m16.923 14.049 4.48 2.04a1 1 0 0 1 .001 1.831l-8.574 3.9a2 2 0 0 1-1.66 0l-8.574-3.91a1 1 0 0 1 0-1.83l4.484-2.04`}],[`path`,{d:`M16.949 14.14a5 2.5 0 1 1-9.9 0L10.063 3.5a2 2 0 0 1 3.874 0z`}],[`path`,{d:`M9.194 6.57a5 2.5 0 0 0 5.61 0`}]],FN=[[`path`,{d:`M2 22V12a10 10 0 1 1 20 0v10`}],[`path`,{d:`M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8`}],[`path`,{d:`M10 15h.01`}],[`path`,{d:`M14 15h.01`}],[`path`,{d:`M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z`}],[`path`,{d:`m9 19-2 3`}],[`path`,{d:`m15 19 2 3`}]],IN=[[`path`,{d:`M8 3.1V7a4 4 0 0 0 8 0V3.1`}],[`path`,{d:`m9 15-1-1`}],[`path`,{d:`m15 15 1-1`}],[`path`,{d:`M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z`}],[`path`,{d:`m8 19-2 3`}],[`path`,{d:`m16 19 2 3`}]],LN=[[`path`,{d:`M2 17 17 2`}],[`path`,{d:`m2 14 8 8`}],[`path`,{d:`m5 11 8 8`}],[`path`,{d:`m8 8 8 8`}],[`path`,{d:`m11 5 8 8`}],[`path`,{d:`m14 2 8 8`}],[`path`,{d:`M7 22 22 7`}]],RN=[[`rect`,{width:`16`,height:`16`,x:`4`,y:`3`,rx:`2`}],[`path`,{d:`M4 11h16`}],[`path`,{d:`M12 3v8`}],[`path`,{d:`m8 19-2 3`}],[`path`,{d:`m18 22-2-3`}],[`path`,{d:`M8 15h.01`}],[`path`,{d:`M16 15h.01`}]],zN=[[`path`,{d:`M12 16v6`}],[`path`,{d:`M14 20h-4`}],[`path`,{d:`M18 2h4v4`}],[`path`,{d:`m2 2 7.17 7.17`}],[`path`,{d:`M2 5.355V2h3.357`}],[`path`,{d:`m22 2-7.17 7.17`}],[`path`,{d:`M8 5 5 8`}],[`circle`,{cx:`12`,cy:`12`,r:`4`}]],BN=[[`path`,{d:`M10 11v6`}],[`path`,{d:`M14 11v6`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]],VN=[[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]],HN=[[`path`,{d:`M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z`}],[`path`,{d:`M12 19v3`}]],UN=[[`path`,{d:`M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4`}],[`path`,{d:`M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3`}],[`path`,{d:`M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35`}],[`path`,{d:`M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14`}]],WN=[[`path`,{d:`m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z`}],[`path`,{d:`M12 22v-3`}]],GN=[[`path`,{d:`M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z`}],[`path`,{d:`M7 16v6`}],[`path`,{d:`M13 19v3`}],[`path`,{d:`M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5`}]],KN=[[`path`,{d:`M16 17h6v-6`}],[`path`,{d:`m22 17-8.5-8.5-5 5L2 7`}]],qN=[[`path`,{d:`M14.828 14.828 21 21`}],[`path`,{d:`M21 16v5h-5`}],[`path`,{d:`m21 3-9 9-4-4-6 6`}],[`path`,{d:`M21 8V3h-5`}]],JN=[[`path`,{d:`M16 7h6v6`}],[`path`,{d:`m22 7-8.5 8.5-5-5L2 17`}]],YN=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]],XN=[[`path`,{d:`M10.17 4.193a2 2 0 0 1 3.666.013`}],[`path`,{d:`M14 21h2`}],[`path`,{d:`m15.874 7.743 1 1.732`}],[`path`,{d:`m18.849 12.952 1 1.732`}],[`path`,{d:`M21.824 18.18a2 2 0 0 1-1.835 2.824`}],[`path`,{d:`M4.024 21a2 2 0 0 1-1.839-2.839`}],[`path`,{d:`m5.136 12.952-1 1.732`}],[`path`,{d:`M8 21h2`}],[`path`,{d:`m8.102 7.743-1 1.732`}]],ZN=[[`path`,{d:`M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z`}]],QN=[[`path`,{d:`M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z`}]],$N=[[`path`,{d:`M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978`}],[`path`,{d:`M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978`}],[`path`,{d:`M18 9h1.5a1 1 0 0 0 0-5H18`}],[`path`,{d:`M4 22h16`}],[`path`,{d:`M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z`}],[`path`,{d:`M6 9H4.5a1 1 0 0 1 0-5H6`}]],eP=[[`path`,{d:`M14 19V7a2 2 0 0 0-2-2H9`}],[`path`,{d:`M15 19H9`}],[`path`,{d:`M19 19h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62L18.3 9.38a1 1 0 0 0-.78-.38H14`}],[`path`,{d:`M2 13v5a1 1 0 0 0 1 1h2`}],[`path`,{d:`M4 3 2.15 5.15a.495.495 0 0 0 .35.86h2.15a.47.47 0 0 1 .35.86L3 9.02`}],[`circle`,{cx:`17`,cy:`19`,r:`2`}],[`circle`,{cx:`7`,cy:`19`,r:`2`}]],tP=[[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`}],[`path`,{d:`M15 18H9`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14`}],[`circle`,{cx:`17`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],nP=[[`path`,{d:`M15 4 5 9`}],[`path`,{d:`m15 8.5-10 5`}],[`path`,{d:`M18 12a9 9 0 0 1-9 9V3`}]],rP=[[`path`,{d:`m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z`}],[`path`,{d:`M4.82 7.9 8 10`}],[`path`,{d:`M15.18 7.9 12 10`}],[`path`,{d:`M16.93 10H20a2 2 0 0 1 0 4H2`}]],iP=[[`path`,{d:`M10 12.01h.01`}],[`path`,{d:`M18 8v4a8 8 0 0 1-1.07 4`}],[`circle`,{cx:`10`,cy:`12`,r:`4`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}]],aP=[[`path`,{d:`M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z`}],[`path`,{d:`M7 21h10`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}]],oP=[[`path`,{d:`M7 21h10`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}]],sP=[[`path`,{d:`m17 2-5 5-5-5`}],[`rect`,{width:`20`,height:`15`,x:`2`,y:`7`,rx:`2`}]],cP=[[`path`,{d:`M12 4v16`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`}],[`path`,{d:`M9 20h6`}]],lP=[[`path`,{d:`M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z`}]],uP=[[`path`,{d:`M12 13v7a2 2 0 0 0 4 0`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M18.656 13h2.336a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-12.07-7.51`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M5.961 5.957a10.28 10.28 0 0 0-3.922 5.769A1 1 0 0 0 3 13h10`}]],dP=[[`path`,{d:`M12 13v7a2 2 0 0 0 4 0`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M20.992 13a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-19.923 0A1 1 0 0 0 3 13z`}]],fP=[[`path`,{d:`M6 4v6a6 6 0 0 0 12 0V4`}],[`line`,{x1:`4`,x2:`20`,y1:`20`,y2:`20`}]],pP=[[`path`,{d:`M9 14 4 9l5-5`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`}]],mP=[[`path`,{d:`M21 17a9 9 0 0 0-15-6.7L3 13`}],[`path`,{d:`M3 7v6h6`}],[`circle`,{cx:`12`,cy:`17`,r:`1`}]],hP=[[`path`,{d:`M3 7v6h6`}],[`path`,{d:`M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13`}]],gP=[[`path`,{d:`M16 12h6`}],[`path`,{d:`M8 12H2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 8v2`}],[`path`,{d:`M12 14v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m19 15 3-3-3-3`}],[`path`,{d:`m5 9-3 3 3 3`}]],_P=[[`path`,{d:`M12 22v-6`}],[`path`,{d:`M12 8V2`}],[`path`,{d:`M4 12H2`}],[`path`,{d:`M10 12H8`}],[`path`,{d:`M16 12h-2`}],[`path`,{d:`M22 12h-2`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m15 5-3-3-3 3`}]],vP=[[`rect`,{x:`11`,y:`14`,width:`10`,height:`7`,rx:`2`}],[`rect`,{x:`3`,y:`3`,width:`10`,height:`7`,rx:`2`}]],yP=[[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`}],[`path`,{d:`M18 12h.01`}],[`path`,{d:`M18 16h.01`}],[`path`,{d:`M22 7a1 1 0 0 0-1-1h-2a2 2 0 0 1-1.143-.359L13.143 2.36a2 2 0 0 0-2.286-.001L6.143 5.64A2 2 0 0 1 5 6H3a1 1 0 0 0-1 1v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2z`}],[`path`,{d:`M6 12h.01`}],[`path`,{d:`M6 16h.01`}],[`circle`,{cx:`12`,cy:`10`,r:`2`}]],bP=[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`}]],xP=[[`path`,{d:`M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2`}]],SP=[[`path`,{d:`m19 5 3-3`}],[`path`,{d:`m2 22 3-3`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`}],[`path`,{d:`M7.5 13.5 10 11`}],[`path`,{d:`M10.5 16.5 13 14`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`}]],CP=[[`path`,{d:`M12 3v12`}],[`path`,{d:`m17 8-5-5-5 5`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}]],wP=[[`circle`,{cx:`10`,cy:`7`,r:`1`}],[`circle`,{cx:`4`,cy:`20`,r:`1`}],[`path`,{d:`M4.7 19.3 19 5`}],[`path`,{d:`m21 3-3 1 2 2Z`}],[`path`,{d:`M9.26 7.68 5 12l2 5`}],[`path`,{d:`m10 14 5 2 3.5-3.5`}],[`path`,{d:`m18 12 1-1 1 1-1 1Z`}]],TP=[[`path`,{d:`m16 11 2 2 4-4`}],[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],EP=[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`}],[`path`,{d:`m14.305 16.53.923-.382`}],[`path`,{d:`m15.228 13.852-.923-.383`}],[`path`,{d:`m16.852 12.228-.383-.923`}],[`path`,{d:`m16.852 17.772-.383.924`}],[`path`,{d:`m19.148 12.228.383-.923`}],[`path`,{d:`m19.53 18.696-.382-.924`}],[`path`,{d:`m20.772 13.852.924-.383`}],[`path`,{d:`m20.772 16.148.924.383`}],[`circle`,{cx:`18`,cy:`15`,r:`3`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],DP=[[`path`,{d:`M19 16v-2a2 2 0 0 0-4 0v2`}],[`path`,{d:`M9.5 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`rect`,{x:`13`,y:`16`,width:`8`,height:`5`,rx:`.899`}]],OP=[[`path`,{d:`M20 11v6`}],[`path`,{d:`M20 13h2`}],[`path`,{d:`M3 21v-2a4 4 0 0 1 4-4h6a4 4 0 0 1 2.072.578`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}]],kP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`}]],AP=[[`path`,{d:`M11.5 15H7a4 4 0 0 0-4 4v2`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}]],jP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`}]],MP=[[`path`,{d:`m19 16-3 3`}],[`path`,{d:`M2 21a8 8 0 0 1 12.664-6.5`}],[`path`,{d:`M22 19h-6l3 3`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}]],NP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`m16 19 2 2 4-4`}]],PP=[[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],FP=[[`path`,{d:`M19 11v6`}],[`path`,{d:`M19 13h2`}],[`path`,{d:`M2 21a8 8 0 0 1 12.868-6.349`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`circle`,{cx:`19`,cy:`19`,r:`2`}]],IP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M22 19h-6`}]],LP=[[`path`,{d:`M2 21a8 8 0 0 1 10.821-7.487`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}]],RP=[[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`path`,{d:`m22 22-1.9-1.9`}]],zP=[[`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M19 16v6`}],[`path`,{d:`M22 19h-6`}]],BP=[[`path`,{d:`M2 21a8 8 0 0 1 11.873-7`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`m17 17 5 5`}],[`path`,{d:`m22 17-5 5`}]],VP=[[`circle`,{cx:`12`,cy:`8`,r:`5`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`}]],HP=[[`circle`,{cx:`10`,cy:`7`,r:`4`}],[`path`,{d:`M10.3 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`path`,{d:`m21 21-1.9-1.9`}]],UP=[[`path`,{d:`M16.051 12.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z`}],[`path`,{d:`M8 15H7a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`10`,cy:`7`,r:`4`}]],WP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}],[`line`,{x1:`17`,x2:`22`,y1:`8`,y2:`13`}],[`line`,{x1:`22`,x2:`17`,y1:`8`,y2:`13`}]],GP=[[`path`,{d:`M18 21a8 8 0 0 0-16 0`}],[`circle`,{cx:`10`,cy:`8`,r:`5`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`}]],KP=[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`12`,cy:`7`,r:`4`}]],qP=[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`}],[`circle`,{cx:`9`,cy:`7`,r:`4`}]],JP=[[`path`,{d:`m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8`}],[`path`,{d:`M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7`}],[`path`,{d:`m2.1 21.8 6.4-6.3`}],[`path`,{d:`m19 5-7 7`}]],YP=[[`path`,{d:`M12 2v20`}],[`path`,{d:`M2 5h20`}],[`path`,{d:`M3 3v2`}],[`path`,{d:`M7 3v2`}],[`path`,{d:`M17 3v2`}],[`path`,{d:`M21 3v2`}],[`path`,{d:`m19 5-7 7-7-7`}]],XP=[[`path`,{d:`M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2`}],[`path`,{d:`M7 2v20`}],[`path`,{d:`M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7`}]],ZP=[[`path`,{d:`M13 6v5a1 1 0 0 0 1 1h6.102a1 1 0 0 1 .712.298l.898.91a1 1 0 0 1 .288.702V17a1 1 0 0 1-1 1h-3`}],[`path`,{d:`M5 18H3a1 1 0 0 1-1-1V8a2 2 0 0 1 2-2h12c1.1 0 2.1.8 2.4 1.8l1.176 4.2`}],[`path`,{d:`M9 18h5`}],[`circle`,{cx:`16`,cy:`18`,r:`2`}],[`circle`,{cx:`7`,cy:`18`,r:`2`}]],QP=[[`path`,{d:`M8 21s-4-3-4-9 4-9 4-9`}],[`path`,{d:`M16 3s4 3 4 9-4 9-4 9`}],[`line`,{x1:`15`,x2:`9`,y1:`9`,y2:`15`}],[`line`,{x1:`9`,x2:`15`,y1:`9`,y2:`15`}]],$P=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m7.9 7.9 2.7 2.7`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m13.4 10.6 2.7-2.7`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m7.9 16.1 2.7-2.7`}],[`circle`,{cx:`16.5`,cy:`16.5`,r:`.5`,fill:`currentColor`}],[`path`,{d:`m13.4 13.4 2.7 2.7`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]],eF=[[`path`,{d:`M19.5 7a24 24 0 0 1 0 10`}],[`path`,{d:`M4.5 7a24 24 0 0 0 0 10`}],[`path`,{d:`M7 19.5a24 24 0 0 0 10 0`}],[`path`,{d:`M7 4.5a24 24 0 0 1 10 0`}],[`rect`,{x:`17`,y:`17`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`17`,y:`2`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`2`,y:`17`,width:`5`,height:`5`,rx:`1`}],[`rect`,{x:`2`,y:`2`,width:`5`,height:`5`,rx:`1`}]],tF=[[`path`,{d:`M16 8q6 0 6-6-6 0-6 6`}],[`path`,{d:`M17.41 3.59a10 10 0 1 0 3 3`}],[`path`,{d:`M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14`}]],nF=[[`path`,{d:`M18 11c-1.5 0-2.5.5-3 2`}],[`path`,{d:`M4 6a2 2 0 0 0-2 2v4a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3a8 8 0 0 0-5 2 8 8 0 0 0-5-2z`}],[`path`,{d:`M6 11c1.5 0 2.5.5 3 2`}]],rF=[[`path`,{d:`M10 20h4`}],[`path`,{d:`M12 16v6`}],[`path`,{d:`M17 2h4v4`}],[`path`,{d:`m21 2-5.46 5.46`}],[`circle`,{cx:`12`,cy:`11`,r:`5`}]],iF=[[`path`,{d:`M12 15v7`}],[`path`,{d:`M9 19h6`}],[`circle`,{cx:`12`,cy:`9`,r:`6`}]],aF=[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`}],[`path`,{d:`M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2`}],[`path`,{d:`M16 10.34V6c0-.55-.45-1-1-1h-4.34`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],oF=[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`}],[`rect`,{width:`8`,height:`14`,x:`8`,y:`5`,rx:`1`}]],sF=[[`path`,{d:`M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196`}],[`path`,{d:`M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2`}],[`path`,{d:`m2 2 20 20`}]],cF=[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`}]],lF=[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`}],[`path`,{d:`M2 8h20`}],[`circle`,{cx:`8`,cy:`14`,r:`2`}],[`path`,{d:`M8 12h8`}],[`circle`,{cx:`16`,cy:`14`,r:`2`}]],uF=[[`path`,{d:`M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2`}],[`path`,{d:`M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2`}],[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`path`,{d:`M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0`}]],dF=[[`circle`,{cx:`6`,cy:`12`,r:`4`}],[`circle`,{cx:`18`,cy:`12`,r:`4`}],[`line`,{x1:`6`,x2:`18`,y1:`16`,y2:`16`}]],fF=[[`path`,{d:`M11 7a16 16 20 0 1 10.98 4.362`}],[`path`,{d:`M12 12a13 13 0 0 1-8.66 5`}],[`path`,{d:`M16.83 13.634a16 16 0 0 1-9.267 7.328`}],[`path`,{d:`M20.66 17A13 13 0 0 0 12 12a13 13 0 0 1 0-10`}],[`path`,{d:`M8.17 15.366a16 16 0 0 1-1.713-11.69`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]],pF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}]],mF=[[`path`,{d:`M16 9a5 5 0 0 1 .95 2.293`}],[`path`,{d:`M19.364 5.636a9 9 0 0 1 1.889 9.96`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11`}],[`path`,{d:`M9.828 4.172A.686.686 0 0 1 11 4.657v.686`}]],hF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`}]],gF=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`}]],_F=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}]],vF=[[`path`,{d:`m9 12 2 2 4-4`}],[`path`,{d:`M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z`}],[`path`,{d:`M22 19H2`}]],yF=[[`path`,{d:`M3 11h3.75a2 2 0 0 1 1.6.8l.45.6a4 4 0 0 0 6.4 0l.45-.6a2 2 0 0 1 1.6-.8H21`}],[`path`,{d:`M3 7h18`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}]],bF=[[`path`,{d:`M17 14h.01`}],[`path`,{d:`M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14`}]],xF=[[`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`}],[`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`}]],SF=[[`path`,{d:`M12 17v4`}],[`path`,{d:`M8 21h8`}],[`path`,{d:`m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15`}],[`circle`,{cx:`8`,cy:`9`,r:`2`}],[`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}]],CF=[[`path`,{d:`M18 21V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v11`}],[`path`,{d:`M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 1.132-1.803l7.95-3.974a2 2 0 0 1 1.837 0l7.948 3.974A2 2 0 0 1 22 8z`}],[`path`,{d:`M6 13h12`}],[`path`,{d:`M6 17h12`}]],wF=[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`}],[`path`,{d:`m14 7 3 3`}],[`path`,{d:`M5 6v4`}],[`path`,{d:`M19 14v4`}],[`path`,{d:`M10 2v2`}],[`path`,{d:`M7 8H3`}],[`path`,{d:`M21 16h-4`}],[`path`,{d:`M11 3H9`}]],TF=[[`path`,{d:`M15 4V2`}],[`path`,{d:`M15 16v-2`}],[`path`,{d:`M8 9h2`}],[`path`,{d:`M20 9h2`}],[`path`,{d:`M17.8 11.8 19 13`}],[`path`,{d:`M15 9h.01`}],[`path`,{d:`M17.8 6.2 19 5`}],[`path`,{d:`m3 21 9-9`}],[`path`,{d:`M12.2 6.2 11 5`}]],EF=[[`path`,{d:`M3 6h3`}],[`path`,{d:`M17 6h.01`}],[`rect`,{width:`18`,height:`20`,x:`3`,y:`2`,rx:`2`}],[`circle`,{cx:`12`,cy:`13`,r:`5`}],[`path`,{d:`M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5`}]],DF=[[`path`,{d:`M12 10v2.2l1.6 1`}],[`path`,{d:`m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05`}],[`path`,{d:`m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}]],OF=[[`path`,{d:`M12 10L12 2`}],[`path`,{d:`M16 6L12 10L8 6`}],[`path`,{d:`M2 15C2.6 15.5 3.2 16 4.5 16C7 16 7 14 9.5 14C12.1 14 11.9 16 14.5 16C17 16 17 14 19.5 14C20.8 14 21.4 14.5 22 15`}],[`path`,{d:`M2 21C2.6 21.5 3.2 22 4.5 22C7 22 7 20 9.5 20C12.1 20 11.9 22 14.5 22C17 22 17 20 19.5 20C20.8 20 21.4 20.5 22 21`}]],kF=[[`path`,{d:`M12 2v8`}],[`path`,{d:`M2 15c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`m8 6 4-4 4 4`}]],AF=[[`path`,{d:`M2 12q2.5 2 5 0t5 0 5 0 5 0`}],[`path`,{d:`M2 19q2.5 2 5 0t5 0 5 0 5 0`}],[`path`,{d:`M2 5q2.5 2 5 0t5 0 5 0 5 0`}]],jF=[[`path`,{d:`M19 5a2 2 0 0 0-2 2v11`}],[`path`,{d:`M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`}],[`path`,{d:`M7 13h10`}],[`path`,{d:`M7 9h10`}],[`path`,{d:`M9 5a2 2 0 0 0-2 2v11`}]],MF=[[`path`,{d:`M12 2q2 2.5 0 5t0 5 0 5 0 5`}],[`path`,{d:`M19 2q2 2.5 0 5t0 5 0 5 0 5`}],[`path`,{d:`M5 2q2 2.5 0 5t0 5 0 5 0 5`}]],NF=[[`path`,{d:`m10.586 5.414-5.172 5.172`}],[`path`,{d:`m18.586 13.414-5.172 5.172`}],[`path`,{d:`M6 12h12`}],[`circle`,{cx:`12`,cy:`20`,r:`2`}],[`circle`,{cx:`12`,cy:`4`,r:`2`}],[`circle`,{cx:`20`,cy:`12`,r:`2`}],[`circle`,{cx:`4`,cy:`12`,r:`2`}]],PF=[[`path`,{d:`M12 22v-4`}],[`path`,{d:`M12.754 7.096a3 3 0 0 1 2.15 2.15`}],[`path`,{d:`M12.863 12.873a3 3 0 0 1-3.736-3.735`}],[`path`,{d:`M16.566 16.57A8 8 0 0 1 5.43 5.433`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M7 22h10`}],[`path`,{d:`M8.478 2.817a8 8 0 0 1 10.705 10.705`}]],FF=[[`circle`,{cx:`12`,cy:`10`,r:`8`}],[`circle`,{cx:`12`,cy:`10`,r:`3`}],[`path`,{d:`M7 22h10`}],[`path`,{d:`M12 22v-4`}]],IF=[[`path`,{d:`M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15`}],[`path`,{d:`M9 3.4a4 4 0 0 1 6.52.66`}],[`path`,{d:`m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05`}],[`path`,{d:`M20.3 20.3a4 4 0 0 1-2.3.7`}],[`path`,{d:`M18.6 13a4 4 0 0 1 3.357 3.414`}],[`path`,{d:`m12 6 .6 1`}],[`path`,{d:`m2 2 20 20`}]],LF=[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`}]],RF=[[`path`,{d:`M6.5 8a2 2 0 0 0-1.906 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8z`}],[`path`,{d:`M7.999 15a2.5 2.5 0 0 1 4 0 2.5 2.5 0 0 0 4 0`}],[`circle`,{cx:`12`,cy:`5`,r:`3`}]],zF=[[`circle`,{cx:`12`,cy:`5`,r:`3`}],[`path`,{d:`M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z`}]],BF=[[`path`,{d:`M2 22 16 8`}],[`path`,{d:`M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z`}],[`path`,{d:`M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}]],VF=[[`path`,{d:`m2 22 10-10`}],[`path`,{d:`m16 8-1.17 1.17`}],[`path`,{d:`M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z`}],[`path`,{d:`m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97`}],[`path`,{d:`M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62`}],[`path`,{d:`M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z`}],[`path`,{d:`M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z`}],[`path`,{d:`m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98`}],[`path`,{d:`M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],HF=[[`circle`,{cx:`7`,cy:`12`,r:`3`}],[`path`,{d:`M10 9v6`}],[`circle`,{cx:`17`,cy:`12`,r:`3`}],[`path`,{d:`M14 7v8`}],[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`}]],UF=[[`path`,{d:`m14.305 19.53.923-.382`}],[`path`,{d:`m15.228 16.852-.923-.383`}],[`path`,{d:`m16.852 15.228-.383-.923`}],[`path`,{d:`m16.852 20.772-.383.924`}],[`path`,{d:`m19.148 15.228.383-.923`}],[`path`,{d:`m19.53 21.696-.382-.924`}],[`path`,{d:`M2 7.82a15 15 0 0 1 20 0`}],[`path`,{d:`m20.772 16.852.924-.383`}],[`path`,{d:`m20.772 19.148.924.383`}],[`path`,{d:`M5 11.858a10 10 0 0 1 11.5-1.785`}],[`path`,{d:`M8.5 15.429a5 5 0 0 1 2.413-1.31`}],[`circle`,{cx:`18`,cy:`18`,r:`3`}]],WF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],GF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],KF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`}],[`path`,{d:`m2 2 20 20`}]],qF=[[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 10.5-2.222`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 3-1.406`}]],JF=[[`path`,{d:`M11.965 10.105v4L13.5 12.5a5 5 0 0 1 8 1.5`}],[`path`,{d:`M11.965 14.105h4`}],[`path`,{d:`M17.965 18.105h4L20.43 19.71a5 5 0 0 1-8-1.5`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M21.965 22.105v-4`}],[`path`,{d:`M5 12.86a10 10 0 0 1 3-2.032`}],[`path`,{d:`M8.5 16.429h.01`}]],YF=[[`path`,{d:`M12 20h.01`}]],XF=[[`path`,{d:`M12 20h.01`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`}]],ZF=[[`path`,{d:`M10 2v8`}],[`path`,{d:`M12.8 21.6A2 2 0 1 0 14 18H2`}],[`path`,{d:`M17.5 10a2.5 2.5 0 1 1 2 4H2`}],[`path`,{d:`m6 6 4 4 4-4`}]],QF=[[`path`,{d:`M12.8 19.6A2 2 0 1 0 14 16H2`}],[`path`,{d:`M17.5 8a2.5 2.5 0 1 1 2 4H2`}],[`path`,{d:`M9.8 4.4A2 2 0 1 1 11 8H2`}]],$F=[[`path`,{d:`M8 22h8`}],[`path`,{d:`M7 10h3m7 0h-1.343`}],[`path`,{d:`M12 15v7`}],[`path`,{d:`M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],eI=[[`path`,{d:`M8 22h8`}],[`path`,{d:`M7 10h10`}],[`path`,{d:`M12 15v7`}],[`path`,{d:`M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z`}]],tI=[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`}]],nI=[[`path`,{d:`m19 12-1.5 3`}],[`path`,{d:`M19.63 18.81 22 20`}],[`path`,{d:`M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z`}]],rI=[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`}]],iI=[[`path`,{d:`M10.747 5.093a6 6 0 0 1 6.841-2.882c.438.12.54.662.219.984L14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-2.882 6.842`}],[`path`,{d:`m13.5 13.5-7.88 7.88a1 1 0 0 1-2.999-3l7.88-7.88`}],[`path`,{d:`m2 2 20 20`}]],aI=[[`path`,{d:`M18 4H6`}],[`path`,{d:`M18 8 6 20`}],[`path`,{d:`m6 8 12 12`}]],oI=[[`path`,{d:`M18 6 6 18`}],[`path`,{d:`m6 6 12 12`}]],sI=[[`path`,{d:`M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317`}],[`path`,{d:`M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773`}],[`path`,{d:`M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643`}],[`path`,{d:`m2 2 20 20`}]],cI=[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`}]],lI=[[`path`,{d:`m2 10 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.096-.001l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 10`}],[`path`,{d:`m2 18.002 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.097 0l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 18.002`}]],uI=[[`path`,{d:`M12 7.5a4.5 4.5 0 1 1 5 4.5`}],[`path`,{d:`M7 12a4.5 4.5 0 1 1 5-4.5V21`}]],dI=[[`path`,{d:`M21 14.5A9 6.5 0 0 1 5.5 19`}],[`path`,{d:`M3 9.5A9 6.5 0 0 1 18.5 5`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`3.5`}],[`circle`,{cx:`6.5`,cy:`9.5`,r:`3.5`}]],fI=[[`path`,{d:`M16 4.525v14.948`}],[`path`,{d:`M20 3A17 17 0 0 1 4 3`}],[`path`,{d:`M4 21a17 17 0 0 1 16 0`}],[`path`,{d:`M8 4.525v14.948`}]],pI=[[`path`,{d:`M11 21a3 3 0 0 0 3-3V6.5a1 1 0 0 0-7 0`}],[`path`,{d:`M7 19V6a3 3 0 0 0-3-3h0`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}]],mI=[[`path`,{d:`M3 16h6.857c.162-.012.19-.323.038-.38a6 6 0 1 1 4.212 0c-.153.057-.125.368.038.38H21`}],[`path`,{d:`M3 20h18`}]],hI=[[`path`,{d:`M10 16c0-4-3-4.5-3-8a5 5 0 0 1 10 0c0 3.466-3 6.196-3 10a3 3 0 0 0 6 0`}],[`circle`,{cx:`7`,cy:`16`,r:`3`}]],gI=[[`path`,{d:`M3 10A6.06 6.06 0 0 1 12 10 A6.06 6.06 0 0 0 21 10`}],[`path`,{d:`M6 3v12a6 6 0 0 0 12 0V3`}]],_I=[[`path`,{d:`M19 21a15 15 0 0 1 0-18`}],[`path`,{d:`M20 12H4`}],[`path`,{d:`M5 3a15 15 0 0 1 0 18`}]],vI=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M21 3 3 21`}],[`path`,{d:`m9 9 6 6`}]],yI=[[`circle`,{cx:`12`,cy:`15`,r:`6`}],[`path`,{d:`M18 3A6 6 0 0 1 6 3`}]],bI=[[`path`,{d:`M10 19V5.5a1 1 0 0 1 5 0V17a2 2 0 0 0 2 2h5l-3-3`}],[`path`,{d:`m22 19-3 3`}],[`path`,{d:`M5 19V5.5a1 1 0 0 1 5 0`}],[`path`,{d:`M5 5.5A2.5 2.5 0 0 0 2.5 3`}]],xI=[[`path`,{d:`M11 5.5a1 1 0 0 1 5 0V16a5 5 0 0 0 5 5`}],[`path`,{d:`M16 11.5a1 1 0 0 1 5 0V16a5 5 0 0 1-5 5`}],[`path`,{d:`M6 19V6a3 3 0 0 0-3-3h0`}],[`path`,{d:`M6 5.5a1 1 0 0 1 5 0V19`}]],SI=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`}]],CI=[[`circle`,{cx:`11`,cy:`11`,r:`8`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`}]],wI=t({AArrowDown:()=>ha,AArrowUp:()=>ga,ALargeSmall:()=>ya,Accessibility:()=>_a,Activity:()=>va,ActivitySquare:()=>cA,Ad:()=>ba,AirVent:()=>xa,Airplay:()=>Sa,AlarmCheck:()=>wa,AlarmClock:()=>Da,AlarmClockCheck:()=>wa,AlarmClockMinus:()=>Ca,AlarmClockOff:()=>Ta,AlarmClockPlus:()=>Ea,AlarmMinus:()=>Ca,AlarmPlus:()=>Ea,AlarmSmoke:()=>Oa,Album:()=>ka,AlertCircle:()=>Hd,AlertOctagon:()=>hw,AlertTriangle:()=>YN,AlignCenter:()=>KM,AlignCenterHorizontal:()=>Aa,AlignCenterVertical:()=>ja,AlignEndHorizontal:()=>Ma,AlignEndVertical:()=>Pa,AlignHorizontalDistributeCenter:()=>Na,AlignHorizontalDistributeEnd:()=>Fa,AlignHorizontalDistributeStart:()=>Ia,AlignHorizontalJustifyCenter:()=>La,AlignHorizontalJustifyEnd:()=>Ra,AlignHorizontalJustifyStart:()=>za,AlignHorizontalSpaceAround:()=>Ba,AlignHorizontalSpaceBetween:()=>Ha,AlignJustify:()=>JM,AlignLeft:()=>YM,AlignRight:()=>qM,AlignStartHorizontal:()=>Va,AlignStartVertical:()=>Ua,AlignVerticalDistributeCenter:()=>Wa,AlignVerticalDistributeEnd:()=>Ga,AlignVerticalDistributeStart:()=>Ka,AlignVerticalJustifyCenter:()=>qa,AlignVerticalJustifyEnd:()=>Ja,AlignVerticalJustifyStart:()=>Ya,AlignVerticalSpaceAround:()=>Xa,AlignVerticalSpaceBetween:()=>Za,Ambulance:()=>Qa,Ampersand:()=>eee,Ampersands:()=>$a,Amphora:()=>tee,Anchor:()=>nee,Angry:()=>ree,Annoyed:()=>iee,Antenna:()=>aee,Anvil:()=>oee,Aperture:()=>eo,AppWindow:()=>ro,AppWindowMac:()=>to,Apple:()=>no,Archive:()=>so,ArchiveRestore:()=>io,ArchiveX:()=>ao,AreaChart:()=>Wu,Armchair:()=>oo,ArrowBigDown:()=>lo,ArrowBigDownDash:()=>co,ArrowBigLeft:()=>fo,ArrowBigLeftDash:()=>uo,ArrowBigRight:()=>mo,ArrowBigRightDash:()=>po,ArrowBigUp:()=>go,ArrowBigUpDash:()=>ho,ArrowDown:()=>Ao,ArrowDown01:()=>_o,ArrowDown10:()=>vo,ArrowDownAZ:()=>bo,ArrowDownAz:()=>bo,ArrowDownCircle:()=>Ud,ArrowDownFromLine:()=>yo,ArrowDownLeft:()=>xo,ArrowDownLeftFromCircle:()=>Gd,ArrowDownLeftFromSquare:()=>pA,ArrowDownLeftSquare:()=>lA,ArrowDownNarrowWide:()=>So,ArrowDownRight:()=>Co,ArrowDownRightFromCircle:()=>Kd,ArrowDownRightFromSquare:()=>mA,ArrowDownRightSquare:()=>uA,ArrowDownSquare:()=>dA,ArrowDownToDot:()=>To,ArrowDownToLine:()=>wo,ArrowDownUp:()=>Eo,ArrowDownWideNarrow:()=>Do,ArrowDownZA:()=>Oo,ArrowDownZa:()=>Oo,ArrowLeft:()=>No,ArrowLeftCircle:()=>Wd,ArrowLeftFromLine:()=>ko,ArrowLeftRight:()=>jo,ArrowLeftSquare:()=>fA,ArrowLeftToLine:()=>Mo,ArrowRight:()=>Lo,ArrowRightCircle:()=>Yd,ArrowRightFromLine:()=>Po,ArrowRightLeft:()=>Fo,ArrowRightSquare:()=>yA,ArrowRightToLine:()=>Io,ArrowUp:()=>Xo,ArrowUp01:()=>Ro,ArrowUp10:()=>zo,ArrowUpAZ:()=>Bo,ArrowUpAz:()=>Bo,ArrowUpCircle:()=>Xd,ArrowUpDown:()=>Vo,ArrowUpFromDot:()=>Ho,ArrowUpFromLine:()=>Uo,ArrowUpLeft:()=>Wo,ArrowUpLeftFromCircle:()=>qd,ArrowUpLeftFromSquare:()=>hA,ArrowUpLeftSquare:()=>bA,ArrowUpNarrowWide:()=>Go,ArrowUpRight:()=>Ko,ArrowUpRightFromCircle:()=>Jd,ArrowUpRightFromSquare:()=>gA,ArrowUpRightSquare:()=>xA,ArrowUpSquare:()=>SA,ArrowUpToLine:()=>qo,ArrowUpWideNarrow:()=>Jo,ArrowUpZA:()=>Yo,ArrowUpZa:()=>Yo,ArrowsUpFromLine:()=>Qo,Asterisk:()=>Zo,AsteriskSquare:()=>CA,Astroid:()=>$o,AtSign:()=>es,Atom:()=>ts,AudioLines:()=>ns,AudioWaveform:()=>as,Award:()=>rs,Axe:()=>is,Axis3D:()=>os,Axis3d:()=>os,Baby:()=>cs,Backpack:()=>ss,Badge:()=>Es,BadgeAlert:()=>ls,BadgeCent:()=>us,BadgeCheck:()=>ds,BadgeDollarSign:()=>fs,BadgeEuro:()=>ps,BadgeHelp:()=>xs,BadgeIndianRupee:()=>ms,BadgeInfo:()=>hs,BadgeJapaneseYen:()=>gs,BadgeMinus:()=>_s,BadgePercent:()=>vs,BadgePlus:()=>ys,BadgePoundSterling:()=>bs,BadgeQuestionMark:()=>xs,BadgeRussianRuble:()=>Ss,BadgeSwissFranc:()=>Cs,BadgeTurkishLira:()=>ws,BadgeX:()=>Ts,BaggageClaim:()=>Ds,Balloon:()=>Os,Ban:()=>ks,Banana:()=>As,Bandage:()=>js,Banknote:()=>Is,BanknoteArrowDown:()=>Ms,BanknoteArrowUp:()=>Ns,BanknoteCheck:()=>Ps,BanknoteX:()=>Fs,BarChart:()=>ad,BarChart2:()=>od,BarChart3:()=>td,BarChart4:()=>$u,BarChartBig:()=>Zu,BarChartHorizontal:()=>Yu,BarChartHorizontalBig:()=>Gu,Barcode:()=>Ls,Barrel:()=>Rs,Baseline:()=>zs,Bath:()=>Bs,Battery:()=>qs,BatteryCharging:()=>Vs,BatteryFull:()=>Hs,BatteryLow:()=>Us,BatteryMedium:()=>Ws,BatteryPlus:()=>Gs,BatteryWarning:()=>Ks,Beaker:()=>Js,Bean:()=>Xs,BeanOff:()=>Ys,Bed:()=>$s,BedDouble:()=>Zs,BedSingle:()=>Qs,Beef:()=>tc,BeefOff:()=>ec,Beer:()=>rc,BeerOff:()=>nc,Bell:()=>dc,BellCheck:()=>ac,BellDot:()=>ic,BellElectric:()=>oc,BellMinus:()=>sc,BellOff:()=>cc,BellPlus:()=>lc,BellRing:()=>uc,BetweenHorizonalEnd:()=>fc,BetweenHorizonalStart:()=>pc,BetweenHorizontalEnd:()=>fc,BetweenHorizontalStart:()=>pc,BetweenVerticalEnd:()=>mc,BetweenVerticalStart:()=>hc,BicepsFlexed:()=>gc,Bike:()=>_c,Binary:()=>vc,Binoculars:()=>bc,Biohazard:()=>yc,Bird:()=>xc,Birdhouse:()=>Sc,Bitcoin:()=>Cc,Blend:()=>wc,Blender:()=>Ec,Blinds:()=>Tc,Blocks:()=>Dc,Bluetooth:()=>jc,BluetoothConnected:()=>Oc,BluetoothOff:()=>kc,BluetoothSearching:()=>Ac,Bold:()=>Mc,Bolt:()=>Nc,Bomb:()=>Pc,Bone:()=>Ic,BoneFracture:()=>Fc,Book:()=>cl,BookA:()=>Lc,BookAlert:()=>Rc,BookAudio:()=>zc,BookCheck:()=>Bc,BookCopy:()=>Vc,BookDashed:()=>Hc,BookDown:()=>Uc,BookHeadphones:()=>Wc,BookHeart:()=>Gc,BookImage:()=>Kc,BookKey:()=>qc,BookLock:()=>Jc,BookMarked:()=>Yc,BookMinus:()=>Xc,BookOpen:()=>$c,BookOpenCheck:()=>Zc,BookOpenText:()=>Qc,BookPlus:()=>el,BookSearch:()=>tl,BookTemplate:()=>Hc,BookText:()=>nl,BookType:()=>rl,BookUp:()=>al,BookUp2:()=>il,BookUser:()=>ol,BookX:()=>sl,Bookmark:()=>ml,BookmarkCheck:()=>ll,BookmarkMinus:()=>ul,BookmarkOff:()=>dl,BookmarkPlus:()=>fl,BookmarkX:()=>pl,BoomBox:()=>gl,Bot:()=>vl,BotMessageSquare:()=>hl,BotOff:()=>_l,BottleWine:()=>yl,BowArrow:()=>bl,Box:()=>xl,BoxSelect:()=>VA,Boxes:()=>Sl,Braces:()=>Cl,Brackets:()=>wl,Brain:()=>Dl,BrainCircuit:()=>Tl,BrainCog:()=>El,BrickWall:()=>kl,BrickWallFire:()=>Al,BrickWallShield:()=>Ol,Briefcase:()=>Pl,BriefcaseBusiness:()=>jl,BriefcaseConveyorBelt:()=>Ml,BriefcaseMedical:()=>Nl,BringToFront:()=>Ll,Broccoli:()=>Fl,Brush:()=>Rl,BrushCleaning:()=>Il,Bubbles:()=>zl,Bug:()=>Hl,BugOff:()=>Bl,BugPlay:()=>Vl,Building:()=>Wl,Building2:()=>Ul,Bus:()=>Kl,BusFront:()=>Gl,Cable:()=>Jl,CableCar:()=>ql,Cake:()=>Xl,CakeSlice:()=>Yl,Calculator:()=>Zl,Calendar:()=>vu,Calendar1:()=>Ql,CalendarArrowDown:()=>$l,CalendarArrowUp:()=>eu,CalendarCheck:()=>tu,CalendarCheck2:()=>nu,CalendarClock:()=>ru,CalendarCog:()=>iu,CalendarDays:()=>au,CalendarFold:()=>ou,CalendarHeart:()=>cu,CalendarMinus:()=>lu,CalendarMinus2:()=>su,CalendarOff:()=>uu,CalendarPlus:()=>fu,CalendarPlus2:()=>du,CalendarRange:()=>pu,CalendarSearch:()=>mu,CalendarSync:()=>hu,CalendarX:()=>_u,CalendarX2:()=>gu,Calendars:()=>yu,Camera:()=>xu,CameraOff:()=>bu,CandlestickChart:()=>Xu,Candy:()=>Cu,CandyCane:()=>Su,CandyOff:()=>wu,Cannabis:()=>Tu,CannabisOff:()=>Eu,Captions:()=>Ou,CaptionsOff:()=>Du,Car:()=>ju,CarFront:()=>ku,CarTaxiFront:()=>Au,Caravan:()=>Mu,CardSim:()=>Nu,Carrot:()=>Pu,CaseLower:()=>Fu,CaseSensitive:()=>Iu,CaseUpper:()=>Lu,CassetteTape:()=>Ru,Cast:()=>zu,Castle:()=>Bu,Cat:()=>Vu,Cctv:()=>Uu,CctvOff:()=>Hu,ChartArea:()=>Wu,ChartBar:()=>Yu,ChartBarBig:()=>Gu,ChartBarDecreasing:()=>qu,ChartBarIncreasing:()=>Ku,ChartBarStacked:()=>Ju,ChartCandlestick:()=>Xu,ChartColumn:()=>td,ChartColumnBig:()=>Zu,ChartColumnDecreasing:()=>Qu,ChartColumnIncreasing:()=>$u,ChartColumnStacked:()=>ed,ChartGantt:()=>nd,ChartLine:()=>rd,ChartNetwork:()=>sd,ChartNoAxesColumn:()=>od,ChartNoAxesColumnDecreasing:()=>id,ChartNoAxesColumnIncreasing:()=>ad,ChartNoAxesCombined:()=>cd,ChartNoAxesGantt:()=>ld,ChartPie:()=>ud,ChartScatter:()=>dd,ChartSpline:()=>fd,Check:()=>hd,CheckCheck:()=>pd,CheckCircle:()=>Zd,CheckCircle2:()=>Qd,CheckLine:()=>md,CheckSquare:()=>OA,CheckSquare2:()=>kA,ChefHat:()=>gd,Cherry:()=>_d,ChessBishop:()=>yd,ChessKing:()=>vd,ChessKnight:()=>bd,ChessPawn:()=>xd,ChessQueen:()=>Sd,ChessRook:()=>Cd,ChevronDown:()=>wd,ChevronDownCircle:()=>$d,ChevronDownSquare:()=>AA,ChevronFirst:()=>Ed,ChevronLast:()=>Td,ChevronLeft:()=>Dd,ChevronLeftCircle:()=>ef,ChevronLeftSquare:()=>jA,ChevronRight:()=>Od,ChevronRightCircle:()=>tf,ChevronRightSquare:()=>MA,ChevronUp:()=>kd,ChevronUpCircle:()=>nf,ChevronUpSquare:()=>NA,ChevronsDown:()=>Ad,ChevronsDownUp:()=>jd,ChevronsLeft:()=>Pd,ChevronsLeftRight:()=>Nd,ChevronsLeftRightEllipsis:()=>Md,ChevronsRight:()=>Id,ChevronsRightLeft:()=>Fd,ChevronsUp:()=>Rd,ChevronsUpDown:()=>Ld,Church:()=>zd,Cigarette:()=>Vd,CigaretteOff:()=>Bd,Circle:()=>Ff,CircleAlert:()=>Hd,CircleArrowDown:()=>Ud,CircleArrowLeft:()=>Wd,CircleArrowOutDownLeft:()=>Gd,CircleArrowOutDownRight:()=>Kd,CircleArrowOutUpLeft:()=>qd,CircleArrowOutUpRight:()=>Jd,CircleArrowRight:()=>Yd,CircleArrowUp:()=>Xd,CircleCheck:()=>Qd,CircleCheckBig:()=>Zd,CircleChevronDown:()=>$d,CircleChevronLeft:()=>ef,CircleChevronRight:()=>tf,CircleChevronUp:()=>nf,CircleDashed:()=>rf,CircleDivide:()=>af,CircleDollarSign:()=>of,CircleDot:()=>cf,CircleDotDashed:()=>sf,CircleEllipsis:()=>lf,CircleEqual:()=>uf,CircleEuro:()=>df,CircleFadingArrowUp:()=>ff,CircleFadingPlus:()=>mf,CircleGauge:()=>pf,CircleHelp:()=>Ef,CircleMinus:()=>hf,CircleOff:()=>gf,CircleParking:()=>vf,CircleParkingOff:()=>_f,CirclePause:()=>yf,CirclePercent:()=>bf,CirclePile:()=>xf,CirclePlay:()=>Sf,CirclePlus:()=>Cf,CirclePoundSterling:()=>wf,CirclePower:()=>Tf,CircleQuestionMark:()=>Ef,CircleSlash:()=>Df,CircleSlash2:()=>Of,CircleSlashed:()=>Of,CircleSmall:()=>kf,CircleStar:()=>Af,CircleStop:()=>jf,CircleUser:()=>Nf,CircleUserRound:()=>Mf,CircleX:()=>Pf,CircuitBoard:()=>If,Citrus:()=>Lf,Clapperboard:()=>Rf,Clipboard:()=>Xf,ClipboardCheck:()=>Bf,ClipboardClock:()=>zf,ClipboardCopy:()=>Vf,ClipboardEdit:()=>Kf,ClipboardList:()=>Hf,ClipboardMinus:()=>Uf,ClipboardPaste:()=>Wf,ClipboardPen:()=>Kf,ClipboardPenLine:()=>Gf,ClipboardPlus:()=>qf,ClipboardSignature:()=>Gf,ClipboardType:()=>Jf,ClipboardX:()=>Yf,Clock:()=>_p,Clock1:()=>Zf,Clock10:()=>Qf,Clock11:()=>$f,Clock12:()=>ep,Clock2:()=>tp,Clock3:()=>np,Clock4:()=>rp,Clock5:()=>ip,Clock6:()=>ap,Clock7:()=>op,Clock8:()=>cp,Clock9:()=>sp,ClockAlert:()=>lp,ClockArrowDown:()=>up,ClockArrowLeft:()=>dp,ClockArrowRight:()=>fp,ClockArrowUp:()=>pp,ClockCheck:()=>mp,ClockFading:()=>hp,ClockPlus:()=>gp,ClosedCaption:()=>vp,Cloud:()=>Rp,CloudAlert:()=>yp,CloudBackup:()=>xp,CloudCheck:()=>bp,CloudCog:()=>Sp,CloudDownload:()=>Cp,CloudDrizzle:()=>Tp,CloudFog:()=>wp,CloudHail:()=>Ep,CloudLightning:()=>Dp,CloudMoon:()=>kp,CloudMoonRain:()=>Op,CloudOff:()=>Ap,CloudRain:()=>Mp,CloudRainWind:()=>jp,CloudSnow:()=>Np,CloudSun:()=>Fp,CloudSunRain:()=>Pp,CloudSync:()=>Ip,CloudUpload:()=>Lp,Cloudy:()=>zp,Clover:()=>Bp,Club:()=>Vp,Code:()=>Up,Code2:()=>Hp,CodeSquare:()=>PA,CodeXml:()=>Hp,Coffee:()=>Wp,Cog:()=>Gp,Coins:()=>Kp,Columns:()=>qp,Columns2:()=>qp,Columns3:()=>Yp,Columns3Cog:()=>Jp,Columns4:()=>Xp,ColumnsSettings:()=>Jp,Combine:()=>Qp,Command:()=>Zp,Compass:()=>$p,Component:()=>em,Computer:()=>tm,ConciergeBell:()=>see,Cone:()=>nm,Construction:()=>im,Contact:()=>am,Contact2:()=>rm,ContactRound:()=>rm,Container:()=>om,Contrast:()=>sm,Cookie:()=>cm,CookingPot:()=>lm,Copy:()=>hm,CopyCheck:()=>um,CopyMinus:()=>dm,CopyPlus:()=>fm,CopySlash:()=>pm,CopyX:()=>mm,Copyleft:()=>gm,Copyright:()=>_m,CornerDownLeft:()=>vm,CornerDownRight:()=>ym,CornerLeftDown:()=>xm,CornerLeftUp:()=>bm,CornerRightDown:()=>Sm,CornerRightUp:()=>Cm,CornerUpLeft:()=>wm,CornerUpRight:()=>Tm,Cpu:()=>Em,CreativeCommons:()=>Dm,CreditCard:()=>Om,Croissant:()=>km,Crop:()=>Am,Cross:()=>jm,Crosshair:()=>Mm,Crown:()=>Fm,Cuboid:()=>Nm,CupSoda:()=>Pm,CurlyBraces:()=>Cl,Currency:()=>Im,Cylinder:()=>Lm,Dam:()=>Rm,Database:()=>Jm,DatabaseArrowDown:()=>zm,DatabaseArrowUp:()=>Bm,DatabaseBackup:()=>Hm,DatabaseCheck:()=>Vm,DatabaseMinus:()=>Um,DatabasePlus:()=>Wm,DatabaseSearch:()=>Gm,DatabaseX:()=>Km,DatabaseZap:()=>qm,DecimalsArrowLeft:()=>Xm,DecimalsArrowRight:()=>Ym,Delete:()=>Zm,Dessert:()=>Qm,Diameter:()=>$m,Diamond:()=>rh,DiamondMinus:()=>eh,DiamondPercent:()=>th,DiamondPlus:()=>nh,Dice1:()=>ih,Dice2:()=>ah,Dice3:()=>oh,Dice4:()=>sh,Dice5:()=>ch,Dice6:()=>uh,Dices:()=>lh,Diff:()=>dh,Disc:()=>gh,Disc2:()=>fh,Disc3:()=>ph,DiscAlbum:()=>hh,Divide:()=>mh,DivideCircle:()=>af,DivideSquare:()=>HA,Dna:()=>vh,DnaOff:()=>_h,Dock:()=>yh,Dog:()=>bh,DollarSign:()=>xh,Donut:()=>Sh,DoorClosed:()=>wh,DoorClosedLocked:()=>Ch,DoorOpen:()=>Th,Dot:()=>Eh,DotSquare:()=>UA,Download:()=>Dh,DownloadCloud:()=>Cp,DraftingCompass:()=>Ah,Drama:()=>Oh,Drill:()=>kh,Drone:()=>jh,Droplet:()=>Nh,DropletOff:()=>Mh,Droplets:()=>Ph,Drum:()=>Fh,Drumstick:()=>Ih,Dumbbell:()=>Lh,Ear:()=>zh,EarOff:()=>Rh,Earth:()=>Hh,EarthLock:()=>Bh,Eclipse:()=>Vh,Edit:()=>tj,Edit2:()=>_T,Edit3:()=>mT,Egg:()=>Gh,EggFried:()=>Uh,EggOff:()=>Wh,Ellipse:()=>Kh,Ellipsis:()=>Jh,EllipsisVertical:()=>qh,Equal:()=>Zh,EqualApproximately:()=>Yh,EqualNot:()=>Xh,EqualSquare:()=>WA,Eraser:()=>Qh,EthernetPort:()=>$h,Euro:()=>eg,EvCharger:()=>tg,Expand:()=>ng,ExternalLink:()=>rg,Eye:()=>sg,EyeClosed:()=>ig,EyeDashed:()=>ag,EyeOff:()=>og,Factory:()=>cg,Fan:()=>lg,FastForward:()=>ug,Feather:()=>fg,Fence:()=>dg,FerrisWheel:()=>pg,File:()=>m_,FileArchive:()=>mg,FileAudio:()=>Pg,FileAudio2:()=>Pg,FileAxis3D:()=>hg,FileAxis3d:()=>hg,FileBadge:()=>gg,FileBadge2:()=>gg,FileBarChart:()=>bg,FileBarChart2:()=>xg,FileBox:()=>_g,FileBraces:()=>yg,FileBracesCorner:()=>vg,FileChartColumn:()=>xg,FileChartColumnIncreasing:()=>bg,FileChartLine:()=>Cg,FileChartPie:()=>Sg,FileCheck:()=>Tg,FileCheck2:()=>wg,FileCheckCorner:()=>wg,FileClock:()=>Dg,FileCode:()=>Og,FileCode2:()=>Eg,FileCodeCorner:()=>Eg,FileCog:()=>kg,FileCog2:()=>kg,FileDiff:()=>jg,FileDigit:()=>Ag,FileDown:()=>Mg,FileEdit:()=>Gg,FileExclamationPoint:()=>Ng,FileHeadphone:()=>Pg,FileHeart:()=>Fg,FileImage:()=>Ig,FileInput:()=>Lg,FileJson:()=>yg,FileJson2:()=>vg,FileKey:()=>Rg,FileKey2:()=>Rg,FileLineChart:()=>Cg,FileLock:()=>zg,FileLock2:()=>zg,FileMinus:()=>Vg,FileMinus2:()=>Bg,FileMinusCorner:()=>Bg,FileMusic:()=>Hg,FileOutput:()=>Ug,FilePen:()=>Gg,FilePenLine:()=>Wg,FilePieChart:()=>Sg,FilePlay:()=>Kg,FilePlus:()=>Jg,FilePlus2:()=>qg,FilePlusCorner:()=>qg,FileQuestion:()=>Yg,FileQuestionMark:()=>Yg,FileScan:()=>Xg,FileSearch:()=>Qg,FileSearch2:()=>Zg,FileSearchCorner:()=>Zg,FileSignal:()=>e_,FileSignature:()=>Wg,FileSliders:()=>$g,FileSpreadsheet:()=>t_,FileStack:()=>r_,FileSymlink:()=>n_,FileTerminal:()=>i_,FileText:()=>a_,FileType:()=>s_,FileType2:()=>o_,FileTypeCorner:()=>o_,FileUp:()=>c_,FileUser:()=>l_,FileVideo:()=>Kg,FileVideo2:()=>u_,FileVideoCamera:()=>u_,FileVolume:()=>d_,FileVolume2:()=>e_,FileWarning:()=>Ng,FileX:()=>p_,FileX2:()=>f_,FileXCorner:()=>f_,Files:()=>h_,Film:()=>g_,Filter:()=>Av,FilterX:()=>kv,Fingerprint:()=>__,FingerprintPattern:()=>__,FireExtinguisher:()=>v_,Fish:()=>x_,FishOff:()=>y_,FishSymbol:()=>b_,FishingHook:()=>S_,FishingRod:()=>C_,Flag:()=>D_,FlagOff:()=>w_,FlagTriangleLeft:()=>T_,FlagTriangleRight:()=>E_,Flame:()=>k_,FlameKindling:()=>O_,Flashlight:()=>j_,FlashlightOff:()=>A_,FlaskConical:()=>N_,FlaskConicalOff:()=>M_,FlaskRound:()=>P_,FlipHorizontal:()=>TA,FlipHorizontal2:()=>F_,FlipVertical:()=>EA,FlipVertical2:()=>I_,Flower:()=>L_,Flower2:()=>R_,Focus:()=>z_,FoldHorizontal:()=>B_,FoldVertical:()=>V_,Folder:()=>vv,FolderArchive:()=>H_,FolderBookmark:()=>W_,FolderCheck:()=>U_,FolderClock:()=>G_,FolderClosed:()=>K_,FolderCode:()=>q_,FolderCog:()=>J_,FolderCog2:()=>J_,FolderDot:()=>Y_,FolderDown:()=>X_,FolderEdit:()=>lv,FolderGit:()=>Q_,FolderGit2:()=>Z_,FolderHeart:()=>$_,FolderInput:()=>ev,FolderKanban:()=>tv,FolderKey:()=>nv,FolderLock:()=>rv,FolderMinus:()=>iv,FolderOpen:()=>ov,FolderOpenDot:()=>av,FolderOutput:()=>sv,FolderPen:()=>lv,FolderPlus:()=>cv,FolderRoot:()=>uv,FolderSearch:()=>fv,FolderSearch2:()=>dv,FolderSymlink:()=>pv,FolderSync:()=>mv,FolderTree:()=>hv,FolderUp:()=>gv,FolderX:()=>_v,Folders:()=>yv,Footprints:()=>xv,ForkKnife:()=>XP,ForkKnifeCrossed:()=>JP,Forklift:()=>bv,Form:()=>Sv,FormInput:()=>YE,Forward:()=>Cv,Frame:()=>wv,Frown:()=>Tv,Fuel:()=>Ev,Fullscreen:()=>Dv,FunctionSquare:()=>GA,Funnel:()=>Av,FunnelPlus:()=>Ov,FunnelX:()=>kv,GalleryHorizontal:()=>Mv,GalleryHorizontalEnd:()=>jv,GalleryThumbnails:()=>Nv,GalleryVertical:()=>Pv,GalleryVerticalEnd:()=>Fv,Gamepad:()=>Rv,Gamepad2:()=>Iv,GamepadDirectional:()=>Lv,GanttChart:()=>ld,GanttChartSquare:()=>DA,Gauge:()=>zv,GaugeCircle:()=>pf,Gavel:()=>Bv,Gem:()=>Vv,GeorgianLari:()=>Uv,Ghost:()=>Hv,Gift:()=>Wv,GitBranch:()=>qv,GitBranchMinus:()=>Gv,GitBranchPlus:()=>Kv,GitCommit:()=>Xv,GitCommitHorizontal:()=>Xv,GitCommitVertical:()=>Jv,GitCompare:()=>Zv,GitCompareArrows:()=>Yv,GitFork:()=>Qv,GitGraph:()=>$v,GitMerge:()=>ty,GitMergeConflict:()=>ey,GitPullRequest:()=>uee,GitPullRequestArrow:()=>ny,GitPullRequestClosed:()=>ry,GitPullRequestCreate:()=>ay,GitPullRequestCreateArrow:()=>iy,GitPullRequestDraft:()=>cee,GlassWater:()=>lee,Glasses:()=>dee,Globe:()=>gee,Globe2:()=>Hh,GlobeCheck:()=>fee,GlobeLock:()=>pee,GlobeOff:()=>mee,GlobeX:()=>hee,Goal:()=>_ee,Gpu:()=>vee,Grab:()=>dy,GraduationCap:()=>yee,Grape:()=>bee,Grid:()=>uy,Grid2X2:()=>ly,Grid2X2Check:()=>oy,Grid2X2Plus:()=>sy,Grid2X2X:()=>cy,Grid2x2:()=>ly,Grid2x2Check:()=>oy,Grid2x2Plus:()=>sy,Grid2x2X:()=>cy,Grid3X3:()=>uy,Grid3x2:()=>xee,Grid3x3:()=>uy,Grip:()=>wee,GripHorizontal:()=>See,GripVertical:()=>Cee,Group:()=>Tee,Guitar:()=>Eee,Ham:()=>Oee,Hamburger:()=>Dee,Hammer:()=>kee,Hand:()=>Fee,HandCoins:()=>Aee,HandFist:()=>jee,HandGrab:()=>dy,HandHeart:()=>Mee,HandHelping:()=>fy,HandMetal:()=>Nee,HandPlatter:()=>Pee,Handbag:()=>Iee,Handshake:()=>Lee,HardDrive:()=>zee,HardDriveDownload:()=>Ree,HardDriveUpload:()=>Bee,HardHat:()=>Vee,Hash:()=>Hee,HatGlasses:()=>Uee,Haze:()=>Wee,Hd:()=>Gee,HdmiPort:()=>Kee,Heading:()=>$ee,Heading1:()=>qee,Heading2:()=>Jee,Heading3:()=>Xee,Heading4:()=>Yee,Heading5:()=>Zee,Heading6:()=>Qee,HeadphoneOff:()=>ete,Headphones:()=>tte,Headset:()=>nte,Heart:()=>ute,HeartCrack:()=>rte,HeartHandshake:()=>ite,HeartMinus:()=>ate,HeartOff:()=>ote,HeartPlus:()=>ste,HeartPulse:()=>cte,HeartX:()=>lte,Heater:()=>dte,Helicopter:()=>fte,HelpCircle:()=>Ef,HelpingHand:()=>fy,Hexagon:()=>pte,Highlighter:()=>py,History:()=>my,Home:()=>wy,Hop:()=>hy,HopOff:()=>gy,Hospital:()=>_y,Hotel:()=>vy,Hourglass:()=>by,House:()=>wy,HouseHeart:()=>yy,HousePlug:()=>Sy,HousePlus:()=>xy,HouseWifi:()=>Cy,IceCream:()=>Ey,IceCream2:()=>Ty,IceCreamBowl:()=>Ty,IceCreamCone:()=>Ey,IdCard:()=>Oy,IdCardLanyard:()=>Dy,Image:()=>Fy,ImageDown:()=>ky,ImageMinus:()=>Ay,ImageOff:()=>jy,ImagePlay:()=>My,ImagePlus:()=>Ny,ImageUp:()=>Py,ImageUpscale:()=>Ly,Images:()=>Iy,Import:()=>zy,Inbox:()=>Ry,Indent:()=>ex,IndentDecrease:()=>Qb,IndentIncrease:()=>ex,IndianRupee:()=>By,Infinity:()=>Vy,Info:()=>Hy,Inspect:()=>ZA,InspectionPanel:()=>Uy,Italic:()=>Wy,IterationCcw:()=>Gy,IterationCw:()=>Ky,JapaneseYen:()=>qy,Joystick:()=>Jy,Kanban:()=>Xy,KanbanSquare:()=>KA,KanbanSquareDashed:()=>LA,Kayak:()=>Yy,Key:()=>$y,KeyRound:()=>Zy,KeySquare:()=>Qy,Keyboard:()=>tb,KeyboardMusic:()=>eb,KeyboardOff:()=>nb,Lamp:()=>cb,LampCeiling:()=>rb,LampDesk:()=>ib,LampFloor:()=>ab,LampWallDown:()=>ob,LampWallUp:()=>sb,LandPlot:()=>lb,Landmark:()=>ub,Languages:()=>db,Laptop:()=>mb,Laptop2:()=>pb,LaptopMinimal:()=>pb,LaptopMinimalCheck:()=>fb,Lasso:()=>gb,LassoSelect:()=>hb,Laugh:()=>_b,Layers:()=>bb,Layers2:()=>vb,Layers3:()=>bb,LayersMinus:()=>yb,LayersPlus:()=>xb,Layout:()=>iT,LayoutDashboard:()=>Sb,LayoutGrid:()=>Cb,LayoutList:()=>wb,LayoutPanelLeft:()=>Tb,LayoutPanelTop:()=>Eb,LayoutTemplate:()=>Db,Leaf:()=>Ob,LeafyGreen:()=>kb,Lectern:()=>Ab,LensConcave:()=>jb,LensConvex:()=>Mb,LetterText:()=>QM,Library:()=>Pb,LibraryBig:()=>Nb,LibrarySquare:()=>qA,LifeBuoy:()=>Fb,Ligature:()=>Ib,Lightbulb:()=>Rb,LightbulbOff:()=>Lb,LineChart:()=>rd,LineDotRightHorizontal:()=>Bb,LineSquiggle:()=>zb,LineStyle:()=>Hb,Link:()=>Wb,Link2:()=>Ub,Link2Off:()=>Vb,List:()=>px,ListCheck:()=>Gb,ListChecks:()=>Kb,ListChevronsDownUp:()=>qb,ListChevronsUpDown:()=>Jb,ListCollapse:()=>Yb,ListEnd:()=>Xb,ListFilter:()=>$b,ListFilterPlus:()=>Zb,ListIndentDecrease:()=>Qb,ListIndentIncrease:()=>ex,ListMinus:()=>tx,ListMusic:()=>nx,ListOrdered:()=>ax,ListPlus:()=>rx,ListRestart:()=>ix,ListSortAscending:()=>ox,ListSortDescending:()=>sx,ListStart:()=>cx,ListTodo:()=>dx,ListTree:()=>lx,ListVideo:()=>ux,ListX:()=>fx,Loader:()=>gx,Loader2:()=>mx,LoaderCircle:()=>mx,LoaderPinwheel:()=>hx,Locate:()=>yx,LocateFixed:()=>_x,LocateOff:()=>vx,LocationEdit:()=>Jx,Lock:()=>Cx,LockKeyhole:()=>xx,LockKeyholeOpen:()=>bx,LockOpen:()=>Sx,LogIn:()=>wx,LogOut:()=>Tx,Logs:()=>Ex,Lollipop:()=>Dx,Luggage:()=>Ox,MSquare:()=>JA,Magnet:()=>kx,Mail:()=>Lx,MailCheck:()=>Ax,MailMinus:()=>jx,MailOpen:()=>Mx,MailPlus:()=>Nx,MailQuestion:()=>Px,MailQuestionMark:()=>Px,MailSearch:()=>Fx,MailWarning:()=>Ix,MailX:()=>Rx,Mailbox:()=>zx,Mails:()=>Bx,Map:()=>aS,MapMinus:()=>Vx,MapPin:()=>eS,MapPinCheck:()=>Ux,MapPinCheckInside:()=>Hx,MapPinHouse:()=>Wx,MapPinMinus:()=>Kx,MapPinMinusInside:()=>Gx,MapPinOff:()=>qx,MapPinPen:()=>Jx,MapPinPlus:()=>Xx,MapPinPlusInside:()=>Yx,MapPinSearch:()=>Zx,MapPinX:()=>$x,MapPinXInside:()=>Qx,MapPinned:()=>tS,MapPlus:()=>nS,Mars:()=>iS,MarsStroke:()=>rS,Martini:()=>oS,Maximize:()=>lS,Maximize2:()=>sS,Medal:()=>cS,Megaphone:()=>dS,MegaphoneOff:()=>uS,Meh:()=>fS,MemoryStick:()=>pS,Menu:()=>mS,MenuSquare:()=>YA,Merge:()=>hS,MessageCircle:()=>DS,MessageCircleCheck:()=>gS,MessageCircleCode:()=>_S,MessageCircleDashed:()=>vS,MessageCircleHeart:()=>yS,MessageCircleMore:()=>bS,MessageCircleOff:()=>xS,MessageCirclePlus:()=>SS,MessageCircleQuestion:()=>CS,MessageCircleQuestionMark:()=>CS,MessageCircleReply:()=>wS,MessageCircleWarning:()=>TS,MessageCircleX:()=>ES,MessageSquare:()=>WS,MessageSquareCheck:()=>OS,MessageSquareCode:()=>kS,MessageSquareDashed:()=>jS,MessageSquareDiff:()=>AS,MessageSquareDot:()=>MS,MessageSquareHeart:()=>NS,MessageSquareLock:()=>PS,MessageSquareMore:()=>FS,MessageSquareOff:()=>IS,MessageSquarePlus:()=>LS,MessageSquareQuote:()=>zS,MessageSquareReply:()=>RS,MessageSquareShare:()=>VS,MessageSquareText:()=>BS,MessageSquareWarning:()=>HS,MessageSquareX:()=>US,MessagesSquare:()=>GS,Metronome:()=>KS,Mic:()=>JS,Mic2:()=>YS,MicOff:()=>qS,MicVocal:()=>YS,Microchip:()=>XS,Microscope:()=>ZS,Microwave:()=>QS,Milestone:()=>$S,Milk:()=>tC,MilkOff:()=>eC,Minimize:()=>rC,Minimize2:()=>nC,Minus:()=>iC,MinusCircle:()=>hf,MinusSquare:()=>XA,MirrorRectangular:()=>aC,MirrorRound:()=>oC,Monitor:()=>xC,MonitorCheck:()=>sC,MonitorCloud:()=>uC,MonitorCog:()=>cC,MonitorDot:()=>lC,MonitorDown:()=>dC,MonitorOff:()=>fC,MonitorPause:()=>pC,MonitorPlay:()=>mC,MonitorSmartphone:()=>hC,MonitorSpeaker:()=>gC,MonitorStop:()=>_C,MonitorUp:()=>vC,MonitorX:()=>yC,Moon:()=>SC,MoonStar:()=>bC,MoreHorizontal:()=>Jh,MoreVertical:()=>qh,Motorbike:()=>CC,Mountain:()=>TC,MountainSnow:()=>wC,Mouse:()=>PC,MouseLeft:()=>EC,MouseOff:()=>DC,MousePointer:()=>jC,MousePointer2:()=>AC,MousePointer2Off:()=>OC,MousePointerBan:()=>kC,MousePointerClick:()=>MC,MousePointerSquareDashed:()=>zA,MouseRight:()=>NC,Move:()=>JC,Move3D:()=>FC,Move3d:()=>FC,MoveDiagonal:()=>LC,MoveDiagonal2:()=>IC,MoveDown:()=>BC,MoveDownLeft:()=>RC,MoveDownRight:()=>zC,MoveHorizontal:()=>VC,MoveLeft:()=>HC,MoveRight:()=>UC,MoveUp:()=>KC,MoveUpLeft:()=>WC,MoveUpRight:()=>GC,MoveVertical:()=>qC,Music:()=>QC,Music2:()=>YC,Music3:()=>XC,Music4:()=>ZC,Navigation:()=>nw,Navigation2:()=>ew,Navigation2Off:()=>$C,NavigationOff:()=>tw,Network:()=>rw,Newspaper:()=>iw,Nfc:()=>aw,NonBinary:()=>ow,Notebook:()=>uw,NotebookPen:()=>sw,NotebookTabs:()=>cw,NotebookText:()=>lw,NotepadText:()=>fw,NotepadTextDashed:()=>dw,Nut:()=>mw,NutOff:()=>pw,Octagon:()=>yw,OctagonAlert:()=>hw,OctagonMinus:()=>gw,OctagonPause:()=>_w,OctagonX:()=>vw,Omega:()=>bw,Option:()=>xw,Orbit:()=>Sw,Origami:()=>Cw,Outdent:()=>Qb,Package:()=>jw,Package2:()=>ww,PackageCheck:()=>Tw,PackageMinus:()=>Ew,PackageOpen:()=>Ow,PackagePlus:()=>Dw,PackageSearch:()=>kw,PackageX:()=>Aw,PaintBucket:()=>Mw,PaintRoller:()=>Nw,Paintbrush:()=>Fw,Paintbrush2:()=>Pw,PaintbrushVertical:()=>Pw,Palette:()=>Iw,Palmtree:()=>UN,Panda:()=>Lw,PanelBottom:()=>Vw,PanelBottomClose:()=>Rw,PanelBottomDashed:()=>zw,PanelBottomInactive:()=>zw,PanelBottomOpen:()=>Bw,PanelLeft:()=>Kw,PanelLeftClose:()=>Hw,PanelLeftDashed:()=>Uw,PanelLeftInactive:()=>Uw,PanelLeftOpen:()=>Ww,PanelLeftRightDashed:()=>Gw,PanelRight:()=>Xw,PanelRightClose:()=>qw,PanelRightDashed:()=>Jw,PanelRightInactive:()=>Jw,PanelRightOpen:()=>Yw,PanelTop:()=>tT,PanelTopBottomDashed:()=>Zw,PanelTopClose:()=>Qw,PanelTopDashed:()=>eT,PanelTopInactive:()=>eT,PanelTopOpen:()=>$w,PanelsLeftBottom:()=>nT,PanelsLeftRight:()=>Yp,PanelsRightBottom:()=>rT,PanelsTopBottom:()=>PD,PanelsTopLeft:()=>iT,PaperBag:()=>aT,Paperclip:()=>oT,Parasol:()=>sT,Parentheses:()=>cT,ParkingCircle:()=>vf,ParkingCircleOff:()=>_f,ParkingMeter:()=>lT,ParkingSquare:()=>$A,ParkingSquareOff:()=>QA,PartyPopper:()=>dT,Pause:()=>uT,PauseCircle:()=>yf,PauseOctagon:()=>_w,PawPrint:()=>pT,PcCase:()=>fT,Pen:()=>_T,PenBox:()=>tj,PenLine:()=>mT,PenOff:()=>hT,PenSquare:()=>tj,PenTool:()=>gT,Pencil:()=>ST,PencilLine:()=>vT,PencilOff:()=>yT,PencilRuler:()=>bT,PencilSparkles:()=>xT,Pentagon:()=>CT,Percent:()=>wT,PercentCircle:()=>bf,PercentDiamond:()=>th,PercentSquare:()=>rj,PersonStanding:()=>TT,Phi:()=>ET,PhilippinePeso:()=>DT,Phone:()=>PT,PhoneCall:()=>OT,PhoneForwarded:()=>kT,PhoneIncoming:()=>AT,PhoneMissed:()=>jT,PhoneOff:()=>MT,PhoneOutgoing:()=>NT,Pi:()=>FT,PiSquare:()=>nj,Piano:()=>IT,Pickaxe:()=>LT,PictureInPicture:()=>zT,PictureInPicture2:()=>RT,PieChart:()=>ud,PiggyBank:()=>BT,Pilcrow:()=>UT,PilcrowLeft:()=>VT,PilcrowRight:()=>HT,PilcrowSquare:()=>ij,Pill:()=>GT,PillBottle:()=>WT,Pin:()=>qT,PinOff:()=>KT,Pipette:()=>JT,Pizza:()=>YT,Plane:()=>QT,PlaneLanding:()=>XT,PlaneTakeoff:()=>ZT,Play:()=>eE,PlayCircle:()=>Sf,PlayOff:()=>$T,PlaySquare:()=>aj,Plug:()=>rE,Plug2:()=>tE,PlugZap:()=>nE,PlugZap2:()=>nE,Plus:()=>aE,PlusCircle:()=>Cf,PlusSquare:()=>oj,PocketKnife:()=>iE,Podcast:()=>oE,Podium:()=>sE,Pointer:()=>lE,PointerOff:()=>cE,Popcorn:()=>uE,Popsicle:()=>dE,PoundSterling:()=>fE,Power:()=>mE,PowerCircle:()=>Tf,PowerOff:()=>pE,PowerSquare:()=>sj,Presentation:()=>hE,Printer:()=>vE,PrinterCheck:()=>gE,PrinterX:()=>_E,Projector:()=>yE,Proportions:()=>bE,Puzzle:()=>xE,Pyramid:()=>SE,QrCode:()=>CE,Quote:()=>wE,Rabbit:()=>DE,Radar:()=>TE,Radiation:()=>EE,Radical:()=>OE,Radio:()=>ME,RadioOff:()=>kE,RadioReceiver:()=>AE,RadioTower:()=>jE,Radius:()=>NE,Rainbow:()=>PE,Rat:()=>FE,Ratio:()=>IE,Receipt:()=>qE,ReceiptCent:()=>LE,ReceiptEuro:()=>RE,ReceiptIndianRupee:()=>zE,ReceiptJapaneseYen:()=>BE,ReceiptPoundSterling:()=>VE,ReceiptRussianRuble:()=>HE,ReceiptSwissFranc:()=>UE,ReceiptText:()=>WE,ReceiptTurkishLira:()=>GE,RectangleCircle:()=>KE,RectangleEllipsis:()=>YE,RectangleGoggles:()=>JE,RectangleHorizontal:()=>ZE,RectangleVertical:()=>XE,Recycle:()=>QE,Redo:()=>tD,Redo2:()=>$E,RedoDot:()=>eD,RefreshCcw:()=>rD,RefreshCcwDot:()=>nD,RefreshCw:()=>aD,RefreshCwOff:()=>iD,Refrigerator:()=>oD,Regex:()=>sD,RemoveFormatting:()=>cD,Repeat:()=>fD,Repeat1:()=>uD,Repeat2:()=>lD,RepeatOff:()=>dD,Replace:()=>mD,ReplaceAll:()=>pD,Reply:()=>gD,ReplyAll:()=>hD,Rewind:()=>_D,Ribbon:()=>vD,Road:()=>yD,Rocket:()=>bD,RockingChair:()=>xD,RollerCoaster:()=>SD,Rose:()=>CD,Rotate3D:()=>wD,Rotate3d:()=>wD,RotateCcw:()=>DD,RotateCcwKey:()=>TD,RotateCcwSquare:()=>ED,RotateCw:()=>kD,RotateCwSquare:()=>OD,Route:()=>AD,RouteOff:()=>jD,Router:()=>MD,Rows:()=>ND,Rows2:()=>ND,Rows3:()=>PD,Rows4:()=>FD,Rss:()=>ID,Ruler:()=>RD,RulerDimensionLine:()=>LD,RussianRuble:()=>zD,Sailboat:()=>BD,Salad:()=>VD,Sandwich:()=>HD,Satellite:()=>WD,SatelliteDish:()=>UD,SaudiRiyal:()=>GD,Save:()=>ZD,SaveAll:()=>KD,SaveCheck:()=>qD,SaveOff:()=>JD,SavePen:()=>YD,SavePlus:()=>XD,Scale:()=>$D,Scale3D:()=>QD,Scale3d:()=>QD,Scaling:()=>tO,Scan:()=>uO,ScanBarcode:()=>eO,ScanBox:()=>nO,ScanEye:()=>rO,ScanFace:()=>aO,ScanHeart:()=>iO,ScanLine:()=>oO,ScanQrCode:()=>sO,ScanSearch:()=>cO,ScanText:()=>lO,ScatterChart:()=>dd,School:()=>dO,School2:()=>yP,Scissors:()=>pO,ScissorsLineDashed:()=>fO,ScissorsSquare:()=>uj,ScissorsSquareDashedBottom:()=>wA,Scooter:()=>mO,ScreenShare:()=>_O,ScreenShareOff:()=>hO,Scroll:()=>vO,ScrollText:()=>gO,Search:()=>wO,SearchAlert:()=>yO,SearchCheck:()=>bO,SearchCode:()=>xO,SearchSlash:()=>SO,SearchX:()=>CO,Section:()=>TO,Send:()=>OO,SendHorizonal:()=>EO,SendHorizontal:()=>EO,SendToBack:()=>DO,SeparatorHorizontal:()=>kO,SeparatorVertical:()=>AO,Server:()=>FO,ServerCog:()=>jO,ServerCrash:()=>MO,ServerOff:()=>NO,ServerPlus:()=>PO,Settings:()=>LO,Settings2:()=>IO,Shapes:()=>RO,Share:()=>BO,Share2:()=>zO,Sheet:()=>HO,Shell:()=>VO,ShelvingUnit:()=>UO,Shield:()=>ik,ShieldAlert:()=>WO,ShieldBan:()=>GO,ShieldCheck:()=>KO,ShieldClose:()=>rk,ShieldCog:()=>JO,ShieldCogCorner:()=>qO,ShieldEllipsis:()=>YO,ShieldHalf:()=>XO,ShieldKeyhole:()=>ZO,ShieldMinus:()=>QO,ShieldOff:()=>$O,ShieldPlus:()=>ek,ShieldQuestion:()=>tk,ShieldQuestionMark:()=>tk,ShieldUser:()=>nk,ShieldX:()=>rk,Ship:()=>sk,ShipWheel:()=>ak,Shirt:()=>ok,ShoppingBag:()=>ck,ShoppingBasket:()=>lk,ShoppingCart:()=>uk,Shovel:()=>dk,ShowerHead:()=>fk,Shredder:()=>pk,Shrimp:()=>hk,Shrink:()=>mk,Shrub:()=>gk,Shuffle:()=>_k,Sidebar:()=>Kw,SidebarClose:()=>Hw,SidebarOpen:()=>Ww,Sigma:()=>vk,SigmaSquare:()=>dj,Signal:()=>Ck,SignalHigh:()=>yk,SignalLow:()=>bk,SignalMedium:()=>xk,SignalZero:()=>Sk,Signature:()=>wk,Signpost:()=>Ek,SignpostBig:()=>Tk,Siren:()=>Ok,SkipBack:()=>Dk,SkipForward:()=>kk,Skull:()=>Ak,Slash:()=>jk,SlashSquare:()=>fj,Slice:()=>Mk,Sliders:()=>Fk,SlidersHorizontal:()=>Nk,SlidersVertical:()=>Fk,Smartphone:()=>Lk,SmartphoneCharging:()=>Pk,SmartphoneNfc:()=>Ik,Smile:()=>zk,SmilePlus:()=>Rk,Snail:()=>Bk,Snowflake:()=>Vk,SoapDispenserDroplet:()=>Hk,Sofa:()=>Uk,SolarPanel:()=>Wk,SortAsc:()=>Go,SortDesc:()=>Do,Soup:()=>Gk,Space:()=>Kk,Spade:()=>Jk,Sparkle:()=>qk,Sparkles:()=>Yk,Speaker:()=>Xk,Speech:()=>Zk,SpellCheck:()=>$k,SpellCheck2:()=>Qk,Spline:()=>tA,SplinePointer:()=>eA,Split:()=>nA,SplitSquareHorizontal:()=>pj,SplitSquareVertical:()=>mj,Spool:()=>iA,SportShoe:()=>rA,Spotlight:()=>aA,SprayCan:()=>oA,Sprout:()=>sA,Square:()=>Cj,SquareActivity:()=>cA,SquareArrowDown:()=>dA,SquareArrowDownLeft:()=>lA,SquareArrowDownRight:()=>uA,SquareArrowLeft:()=>fA,SquareArrowOutDownLeft:()=>pA,SquareArrowOutDownRight:()=>mA,SquareArrowOutUpLeft:()=>hA,SquareArrowOutUpRight:()=>gA,SquareArrowRight:()=>yA,SquareArrowRightEnter:()=>_A,SquareArrowRightExit:()=>vA,SquareArrowUp:()=>SA,SquareArrowUpLeft:()=>bA,SquareArrowUpRight:()=>xA,SquareAsterisk:()=>CA,SquareBottomDashedScissors:()=>wA,SquareCenterlineDashedHorizontal:()=>TA,SquareCenterlineDashedVertical:()=>EA,SquareChartGantt:()=>DA,SquareCheck:()=>kA,SquareCheckBig:()=>OA,SquareChevronDown:()=>AA,SquareChevronLeft:()=>jA,SquareChevronRight:()=>MA,SquareChevronUp:()=>NA,SquareCode:()=>PA,SquareDashed:()=>VA,SquareDashedBottom:()=>IA,SquareDashedBottomCode:()=>FA,SquareDashedKanban:()=>LA,SquareDashedMousePointer:()=>zA,SquareDashedText:()=>RA,SquareDashedTopSolid:()=>BA,SquareDivide:()=>HA,SquareDot:()=>UA,SquareEqual:()=>WA,SquareFunction:()=>GA,SquareGanttChart:()=>DA,SquareKanban:()=>KA,SquareLibrary:()=>qA,SquareM:()=>JA,SquareMenu:()=>YA,SquareMinus:()=>XA,SquareMousePointer:()=>ZA,SquareParking:()=>$A,SquareParkingOff:()=>QA,SquarePause:()=>ej,SquarePen:()=>tj,SquarePercent:()=>rj,SquarePi:()=>nj,SquarePilcrow:()=>ij,SquarePlay:()=>aj,SquarePlus:()=>oj,SquarePower:()=>sj,SquareRadical:()=>cj,SquareRoundCorner:()=>lj,SquareScissors:()=>uj,SquareSigma:()=>dj,SquareSlash:()=>fj,SquareSplitHorizontal:()=>pj,SquareSplitVertical:()=>mj,SquareSquare:()=>hj,SquareStack:()=>gj,SquareStar:()=>_j,SquareStop:()=>vj,SquareTerminal:()=>yj,SquareUser:()=>xj,SquareUserRound:()=>bj,SquareX:()=>Sj,SquaresExclude:()=>wj,SquaresIntersect:()=>Tj,SquaresSubtract:()=>Ej,SquaresUnite:()=>Dj,Squircle:()=>kj,SquircleDashed:()=>Oj,Squirrel:()=>Aj,Stamp:()=>jj,Star:()=>Rj,StarCheck:()=>Mj,StarHalf:()=>Nj,StarMinus:()=>Pj,StarOff:()=>Fj,StarPlus:()=>Ij,StarX:()=>Lj,Stars:()=>Yk,StepBack:()=>zj,StepForward:()=>Bj,Stethoscope:()=>Hj,Sticker:()=>Vj,StickyNote:()=>Jj,StickyNoteCheck:()=>Uj,StickyNoteMinus:()=>Wj,StickyNoteOff:()=>Gj,StickyNotePlus:()=>qj,StickyNoteX:()=>Kj,StickyNotes:()=>Yj,Stone:()=>Xj,StopCircle:()=>jf,Store:()=>Zj,StretchHorizontal:()=>Qj,StretchVertical:()=>$j,Strikethrough:()=>eM,Subscript:()=>tM,Subtitles:()=>Ou,Summary:()=>nM,Sun:()=>sM,SunDim:()=>rM,SunMedium:()=>iM,SunMoon:()=>aM,SunSnow:()=>oM,Sunrise:()=>cM,Sunset:()=>lM,Superscript:()=>dM,SwatchBook:()=>uM,SwissFranc:()=>fM,SwitchCamera:()=>pM,Sword:()=>mM,Swords:()=>gM,Syringe:()=>hM,Table:()=>wM,Table2:()=>_M,TableCellsMerge:()=>vM,TableCellsSplit:()=>yM,TableColumnsSplit:()=>bM,TableConfig:()=>Jp,TableOfContents:()=>xM,TableProperties:()=>SM,TableRowsSplit:()=>CM,Tablet:()=>EM,TabletSmartphone:()=>TM,Tablets:()=>DM,Tag:()=>AM,TagPlus:()=>OM,TagX:()=>kM,Tags:()=>jM,Tally1:()=>NM,Tally2:()=>MM,Tally3:()=>PM,Tally4:()=>FM,Tally5:()=>LM,Tangent:()=>IM,Target:()=>BM,Telescope:()=>RM,Tent:()=>VM,TentTree:()=>zM,Terminal:()=>HM,TerminalSquare:()=>yj,TestTube:()=>WM,TestTube2:()=>UM,TestTubeDiagonal:()=>UM,TestTubes:()=>GM,Text:()=>YM,TextAlignCenter:()=>KM,TextAlignEnd:()=>qM,TextAlignJustify:()=>JM,TextAlignStart:()=>YM,TextCursor:()=>ZM,TextCursorInput:()=>XM,TextInitial:()=>QM,TextQuote:()=>eN,TextSearch:()=>$M,TextSelect:()=>RA,TextSelection:()=>RA,TextWrap:()=>tN,Theater:()=>nN,Thermometer:()=>aN,ThermometerSnowflake:()=>rN,ThermometerSun:()=>iN,ThumbsDown:()=>oN,ThumbsUp:()=>sN,Ticket:()=>mN,TicketCheck:()=>cN,TicketMinus:()=>lN,TicketPercent:()=>uN,TicketPlus:()=>dN,TicketSlash:()=>fN,TicketX:()=>pN,Tickets:()=>gN,TicketsPlane:()=>hN,Timeline:()=>_N,Timer:()=>bN,TimerOff:()=>vN,TimerReset:()=>yN,ToggleLeft:()=>xN,ToggleRight:()=>SN,Toilet:()=>CN,ToolCase:()=>wN,Toolbox:()=>TN,Tornado:()=>DN,Torus:()=>EN,Touchpad:()=>kN,TouchpadOff:()=>ON,TowelRack:()=>AN,TowerControl:()=>jN,ToyBrick:()=>MN,Tractor:()=>NN,TrafficCone:()=>PN,Train:()=>RN,TrainFront:()=>IN,TrainFrontTunnel:()=>FN,TrainTrack:()=>LN,TramFront:()=>RN,Transgender:()=>zN,Trash:()=>VN,Trash2:()=>BN,TreeDeciduous:()=>HN,TreePalm:()=>UN,TreePine:()=>WN,Trees:()=>GN,TrendingDown:()=>KN,TrendingUp:()=>JN,TrendingUpDown:()=>qN,Triangle:()=>QN,TriangleAlert:()=>YN,TriangleDashed:()=>XN,TriangleRight:()=>ZN,Trophy:()=>$N,Truck:()=>tP,TruckElectric:()=>eP,TurkishLira:()=>nP,Turntable:()=>iP,Turtle:()=>rP,Tv:()=>sP,Tv2:()=>oP,TvMinimal:()=>oP,TvMinimalPlay:()=>aP,Type:()=>cP,TypeOutline:()=>lP,Umbrella:()=>dP,UmbrellaOff:()=>uP,Underline:()=>fP,Undo:()=>hP,Undo2:()=>pP,UndoDot:()=>mP,UnfoldHorizontal:()=>gP,UnfoldVertical:()=>_P,Ungroup:()=>vP,University:()=>yP,Unlink:()=>bP,Unlink2:()=>xP,Unlock:()=>Sx,UnlockKeyhole:()=>bx,Unplug:()=>SP,Upload:()=>CP,UploadCloud:()=>Lp,Usb:()=>wP,User:()=>KP,User2:()=>VP,UserCheck:()=>TP,UserCheck2:()=>NP,UserCircle:()=>Nf,UserCircle2:()=>Mf,UserCog:()=>EP,UserCog2:()=>PP,UserKey:()=>OP,UserLock:()=>DP,UserMinus:()=>kP,UserMinus2:()=>IP,UserPen:()=>AP,UserPlus:()=>jP,UserPlus2:()=>zP,UserRound:()=>VP,UserRoundArrowLeft:()=>MP,UserRoundCheck:()=>NP,UserRoundCog:()=>PP,UserRoundKey:()=>FP,UserRoundMinus:()=>IP,UserRoundPen:()=>LP,UserRoundPlus:()=>zP,UserRoundSearch:()=>RP,UserRoundX:()=>BP,UserSearch:()=>HP,UserSquare:()=>xj,UserSquare2:()=>bj,UserStar:()=>UP,UserX:()=>WP,UserX2:()=>BP,Users:()=>qP,Users2:()=>GP,UsersRound:()=>GP,Utensils:()=>XP,UtensilsCrossed:()=>JP,UtilityPole:()=>YP,Van:()=>ZP,Variable:()=>QP,Vault:()=>$P,VectorSquare:()=>eF,Vegan:()=>tF,VenetianMask:()=>nF,Venus:()=>iF,VenusAndMars:()=>rF,Verified:()=>ds,Vibrate:()=>oF,VibrateOff:()=>aF,Video:()=>cF,VideoOff:()=>sF,Videotape:()=>lF,View:()=>uF,Voicemail:()=>dF,Volleyball:()=>fF,Volume:()=>_F,Volume1:()=>pF,Volume2:()=>hF,VolumeOff:()=>mF,VolumeX:()=>gF,Vote:()=>vF,Wallet:()=>xF,Wallet2:()=>bF,WalletCards:()=>yF,WalletMinimal:()=>bF,Wallpaper:()=>SF,Wand:()=>TF,Wand2:()=>wF,WandSparkles:()=>wF,Warehouse:()=>CF,WashingMachine:()=>EF,Watch:()=>DF,Waves:()=>AF,WavesArrowDown:()=>OF,WavesArrowUp:()=>kF,WavesHorizontal:()=>AF,WavesLadder:()=>jF,WavesVertical:()=>MF,Waypoints:()=>NF,Webcam:()=>FF,WebcamOff:()=>PF,Webhook:()=>LF,WebhookOff:()=>IF,Weight:()=>zF,WeightTilde:()=>RF,Wheat:()=>BF,WheatOff:()=>VF,WholeWord:()=>HF,Wifi:()=>XF,WifiCog:()=>UF,WifiHigh:()=>WF,WifiLow:()=>GF,WifiOff:()=>KF,WifiPen:()=>qF,WifiSync:()=>JF,WifiZero:()=>YF,Wind:()=>QF,WindArrowDown:()=>ZF,Wine:()=>eI,WineOff:()=>$F,Workflow:()=>tI,Worm:()=>nI,WrapText:()=>tN,Wrench:()=>rI,WrenchOff:()=>iI,X:()=>oI,XCircle:()=>Pf,XLineTop:()=>aI,XOctagon:()=>vw,XSquare:()=>Sj,Zap:()=>cI,ZapOff:()=>sI,ZodiacAquarius:()=>lI,ZodiacAries:()=>uI,ZodiacCancer:()=>dI,ZodiacCapricorn:()=>pI,ZodiacGemini:()=>fI,ZodiacLeo:()=>hI,ZodiacLibra:()=>mI,ZodiacOphiuchus:()=>gI,ZodiacPisces:()=>_I,ZodiacSagittarius:()=>vI,ZodiacScorpio:()=>bI,ZodiacTaurus:()=>yI,ZodiacVirgo:()=>xI,ZoomIn:()=>SI,ZoomOut:()=>CI}),TI=new Set([`$$slots`,`$$events`,`$$legacy`,`name`,`class`]),EI=Zr(``);function G(e,t){D(t,!0);let n=ma(t,`name`,3,``),r=ma(t,`class`,3,``),i=pa(t,TI);function a(e){return String(e||``).split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function o(e){return Object.entries(e).map(([e,t])=>`${e}="${String(t)}"`).join(` `)}function s([e,t,n]){let r=Array.isArray(n)?n.map(s).join(``):``;return`<${e} ${o(t||{})}>${r}`}let c=k(()=>{let e=wI[a(n())];return e?e.map(s).join(``):``});var l=EI();na(l,()=>({xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:r(),"aria-hidden":`true`,focusable:`false`,...i})),hi(l,()=>F(c),!0),E(l),R(e,l),O()}function DI(){try{return typeof localStorage>`u`?null:localStorage}catch{return null}}function OI(e,t=null){let n=DI();if(!n)return t;try{return n.getItem(e)??t}catch{return t}}function kI(e,t){let n=DI();if(n)try{n.setItem(e,String(t))}catch{}}var AI=new class{#e=A(`system`);get theme(){return F(this.#e)}set theme(e){j(this.#e,e,!0)}#t=A(0);get tick(){return F(this.#t)}set tick(e){j(this.#t,e,!0)}init(){this.theme=OI(`gomodel_theme`,`system`),this.apply(),window.matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,()=>{this.theme===`system`&&this.tick++})}set(e){this.theme=e,kI(`gomodel_theme`,e),this.apply(),this.tick++}toggle(){let e=[`light`,`system`,`dark`];this.set(e[(e.indexOf(this.theme)+1)%e.length])}apply(){let e=document.documentElement;this.theme===`system`?e.removeAttribute(`data-theme`):e.setAttribute(`data-theme`,this.theme)}},jI=new class{#e=A(!1);get collapsed(){return F(this.#e)}set collapsed(e){j(this.#e,e,!0)}init(){this.collapsed=OI(`gomodel_sidebar_collapsed`)===`true`}toggle(){this.collapsed=!this.collapsed,kI(`gomodel_sidebar_collapsed`,this.collapsed)}},MI=new class{#e=A(fn([]));get stack(){return F(this.#e)}set stack(e){j(this.#e,e,!0)}#t=1;opened(){let e=this.#t++;return this.stack=[...this.stack,e],e}closed(e){this.stack=this.stack.filter(t=>t!==e)}isTop(e){return this.stack.length>0&&this.stack[this.stack.length-1]===e}get openCount(){return this.stack.length}get anyOpen(){return this.stack.length>0}},NI=L(``),PI=L(`
        `,1);function FI(e,t){D(t,!0);let n=ma(t,`compact`,3,!1),r=[{value:`light`,icon:`sun`,label:`Light theme`},{value:`system`,icon:`monitor`,label:`System theme`},{value:`dark`,icon:`moon`,label:`Dark theme`}],i=k(()=>r.find(e=>e.value===AI.theme)||r[1]),a=k(()=>`Change theme (currently `+F(i).label+`)`);var o=PI(),s=Cn(o);let c;V(s,21,()=>r,e=>e.value,(e,t)=>{var n=NI();let r;G(M(n),{get name(){return F(t).icon},class:`theme-icon`}),E(n),P(()=>{r=H(n,1,`theme-btn svelte-1keql7b`,null,r,{active:AI.theme===F(t).value}),W(n,`aria-pressed`,AI.theme===F(t).value),W(n,`title`,F(t).label),W(n,`aria-label`,F(t).label)}),I(`click`,n,()=>AI.set(F(t).value)),R(e,n)}),E(s);var l=N(s,2);let u;G(M(l),{get name(){return F(i).icon},class:`theme-icon`}),E(l),P(()=>{c=H(s,1,`theme-toggle svelte-1keql7b`,null,c,{"is-compact":n()}),u=H(l,1,`theme-toggle-mobile svelte-1keql7b`,null,u,{"is-compact":n()}),W(l,`title`,F(a)),W(l,`aria-label`,F(a))}),I(`click`,l,()=>AI.toggle()),R(e,o),O()}Ur([`click`]);function II(){return typeof window>`u`?`/`:window.GOMODEL_BASE_PATH||`/`}function LI(e){let t=II();return!e||e.charAt(0)!==`/`||e.indexOf(`//`)===0||t===`/`||e===t||e.indexOf(t+`/`)===0?e:t+e}function RI(e){let t=II();return t===`/`||!e?e:e===t?`/`:e.indexOf(t+`/`)===0?e.slice(t.length)||`/`:e}function zI(){return typeof window>`u`?``:window.GOMODEL_VERSION||``}function BI(){return typeof window>`u`?!1:window.GOMODEL_DEMO_MODE===!0}var VI=[`overview`,`usage`,`budgets`,`rate-limits`,`models`,`workflows`,`audit-logs`,`guardrails`,`mcp-servers`,`providers-config`,`auth-keys`,`settings`];function HI(e){return e.startsWith(`/admin/static/`)?`/`+e.slice(14).replace(/^\/+/,``):e}function UI(e){let t=HI(RI(e)).replace(/\/$/,``).replace(`/admin/dashboard`,``).replace(/^\//,``).split(`/`),n=t[0];n===`audit`&&(n=`audit-logs`);let r=t[1]||null;return n===`settings`&&r===`guardrails`?{page:`guardrails`,sub:null}:(n=VI.includes(n)?n:`overview`,{page:n,sub:r})}var WI=new class{#e=A(`overview`);get page(){return F(this.#e)}set page(e){j(this.#e,e,!0)}#t=A(null);get sub(){return F(this.#t)}set sub(e){j(this.#t,e,!0)}init(){let{page:e,sub:t}=UI(window.location.pathname);this.page=e,this.sub=t,window.addEventListener(`popstate`,()=>{let{page:e,sub:t}=UI(window.location.pathname);this.page=e,this.sub=t})}navigate(e,t=null){let n=t?`/`+t:``;history.pushState(null,``,LI(`/admin/dashboard/`+e+n)),this.page=e,this.sub=t}},GI=`gomodel_api_key`;function KI(e){let t=String(e||``).trim();if(/^Bearer\s*$/i.test(t))return``;let n=t.match(/^Bearer\s+(.+)$/i);return n?n[1].trim():t}var K=new class{#e=A(``);get apiKey(){return F(this.#e)}set apiKey(e){j(this.#e,e,!0)}#t=A(!1);get needsAuth(){return F(this.#t)}set needsAuth(e){j(this.#t,e,!0)}#n=A(!1);get authError(){return F(this.#n)}set authError(e){j(this.#n,e,!0)}#r=A(``);get authErrorMessage(){return F(this.#r)}set authErrorMessage(e){j(this.#r,e,!0)}#i=A(!1);get dialogOpen(){return F(this.#i)}set dialogOpen(e){j(this.#i,e,!0)}#a=A(0);get generation(){return F(this.#a)}set generation(e){j(this.#a,e,!0)}#o=A(0);get refreshTick(){return F(this.#o)}set refreshTick(e){j(this.#o,e,!0)}init(){try{this.apiKey=KI(localStorage.getItem(GI)||``)}catch{this.apiKey=``}}hasApiKey(){return KI(this.apiKey)!==``}save(){this.apiKey=KI(this.apiKey);try{localStorage.setItem(GI,this.apiKey)}catch{}}openDialog(){this.dialogOpen=!0}closeDialog(){this.dialogOpen=!1}submit(){let e=KI(this.apiKey);return e?(this.apiKey=e,this.save(),this.generation++,this.authError=!1,this.authErrorMessage=``,this.needsAuth=!1,this.closeDialog(),this.refresh(),!0):(this.apiKey=``,this.authError=!0,this.authErrorMessage=``,this.needsAuth=!0,this.openDialog(),!1)}refresh(){this.refreshTick++}handleUnauthorized(e,t=``){return typeof e==`number`&&e{r[e.type]=e.value}),r.year+`-`+r.month+`-`+r.day}formatTimestampInTimeZone(e,t){if(e==null)return`-`;let n=new Date(e);if(Number.isNaN(n.getTime()))return`-`;let r=QI(`en-CA`,{timeZone:$I(t)?t:qI,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}).formatToParts(n),i={};return r.forEach(e=>{i[e.type]=e.value}),i.year+`-`+i.month+`-`+i.day+` `+i.hour+`:`+i.minute+`:`+i.second}formatTimestamp(e){return this.formatTimestampInTimeZone(e,this.effectiveTimezone())}currentDateKey(e){return this.dateKeyInTimeZone(e||new Date,this.effectiveTimezone())}dateKeyToDate(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);return t?new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]))):null}dateToDateKey(e){return!(e instanceof Date)||Number.isNaN(e.getTime())?``:e.getUTCFullYear()+`-`+ZI(e.getUTCMonth()+1)+`-`+ZI(e.getUTCDate())}addDaysToDateKey(e,t){let n=this.dateKeyToDate(e);return n?(n.setUTCDate(n.getUTCDate()+t),this.dateToDateKey(n)):``}todayDate(){return this.dateKeyToDate(this.currentDateKey())}startOfMonthDate(e){let t=e instanceof Date?e:this.todayDate();return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1))}timeZoneOffsetLabel(e,t){let n=$I(e)?e:qI;try{let e=QI(`en-US`,{timeZone:n,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`,timeZoneName:`longOffset`}).formatToParts(t||new Date).find(e=>e.type===`timeZoneName`);if(!e||!e.value)return`UTC+00:00`;let r=e.value.replace(`GMT`,`UTC`);return r===`UTC`?`UTC+00:00`:r}catch{return`UTC+00:00`}}timeZoneOffsetMinutes(e,t){let n=/^UTC([+-])(\d{2}):(\d{2})$/.exec(this.timeZoneOffsetLabel(e,t));if(!n)return 0;let r=Number(n[2])*60+Number(n[3]);return n[1]===`-`?-r:r}timeZoneOptionLabel(e,t){return e+` (`+this.timeZoneOffsetLabel(e,t)+`)`}detectedTimeZoneLabel(){return this.timeZoneOptionLabel(this.detectedTimezone)}effectiveTimeZoneLabel(){return this.timeZoneOptionLabel(this.effectiveTimezone())}ensureOptions(){if(this.optionsLoaded)return;let e=new Date,t=[];try{typeof Intl.supportedValuesOf==`function`&&(t=Intl.supportedValuesOf(`timeZone`))}catch{t=[]}[qI,this.detectedTimezone,this.override].forEach(e=>{e&&t.indexOf(e)===-1&&$I(e)&&t.push(e)}),t=t.filter(e=>$I(e)),t.sort((t,n)=>{let r=this.timeZoneOffsetMinutes(t,e)-this.timeZoneOffsetMinutes(n,e);return r===0?t.localeCompare(n):r}),this.options=t.map(t=>({value:t,label:this.timeZoneOptionLabel(t,e)})),this.optionsLoaded=!0}saveOverride(){let e=DI();if(e)if(this.override&&$I(this.override))try{e.setItem(JI,this.override)}catch{}else{try{e.removeItem(JI)}catch{}this.override=``}this.optionsLoaded=!1,this.ensureOptions()}clearOverride(){let e=DI();if(e)try{e.removeItem(JI)}catch{}this.override=``}calendarTimeZoneText(){let e=this.override?`manual override`:`auto-detected`;return`Activity grouped by `+this.effectiveTimeZoneLabel()+` (`+e+`)`}};function rL(e,t){let n=e&&typeof e==`object`&&e.error&&e.error.message;return(typeof n==`string`?n.trim():``)||t}function iL(e,t){let n=e&&e.data;if(n&&typeof n==`object`){let e=[n.message,n.error,n.error&&typeof n.error==`object`?n.error.message:null];for(let t of e)if(typeof t==`string`&&t.trim())return t.trim()}return t}function aL(){let e={"Content-Type":`application/json`},t=KI(K.apiKey);return t&&(e.Authorization=`Bearer `+t),e[`X-GoModel-Timezone`]=nL.effectiveTimezone(),e}function oL(e,t={}){return fetch(LI(e),{...t,headers:{...aL(),...t.headers||{}}})}async function sL(e,t,{label:n=e,parse:r=!0}={}){let i=K.generation,a=await oL(e,t);if(a.status===401)return K.handleUnauthorized(i),{ok:!1,stale:i{this.#n=null}),this.#n}async ensureLoaded(){if(this.#n){await this.#n;return}this.loaded||await this.fetch()}async#r(){let e=typeof AbortController==`function`?new AbortController:null,t=e?setTimeout(()=>e.abort(),1e4):null;try{let t=await cL(`/admin/runtime/config`,{label:`dashboard config`,signal:e?e.signal:void 0});if(t.stale)return;if(!t.ok){this.config={},this.loaded=!1;return}let n=t.data,r={};for(let e of dL)n&&typeof n==`object`&&!Array.isArray(n)&&n[e]!==void 0&&n[e]!==null&&(r[e]=String(n[e]).trim());this.config=r,this.loaded=!0}catch(e){console.error(`Failed to fetch dashboard config:`,e),this.config={},this.loaded=!1}finally{t!==null&&clearTimeout(t)}}},pL=L(` `),mL=L(`
        `),hL=L(` `,1);function gL(e,t){D(t,!0);let n=k(()=>[{page:`overview`,label:`Overview`,icon:`layout-dashboard`},{page:`providers-config`,label:`Providers`,icon:`server-cog`},{page:`models`,label:`Models`,icon:`box`},{page:`audit-logs`,label:`Audit Logs`,icon:`history`},{page:`usage`,label:`Usage`,icon:`chart-column`},{page:`budgets`,label:`Budgets`,icon:`wallet`,visible:fL.budgetsVisible()},{page:`rate-limits`,label:`Rate Limits`,icon:`gauge`,visible:fL.rateLimitsVisible()},{page:`auth-keys`,label:`API Keys`,icon:`key-round`},{page:`workflows`,label:`Workflows`,icon:`workflow`},{page:`guardrails`,label:`Guardrails (experimental)`,icon:`shield-check`,visible:fL.guardrailsVisible()},{page:`mcp-servers`,label:`MCP Servers`,icon:`plug`,visible:fL.mcpVisible()},{page:`settings`,label:`Settings`,icon:`settings`}].filter(e=>e.visible!==!1));var r=hL(),i=Cn(r);let a;var o=N(M(i),2);V(o,21,()=>F(n),e=>e.page,(e,t)=>{var n=pL();let r;var i=M(n);G(i,{get name(){return F(t).icon},class:`nav-icon`});var a=N(i,2),o=M(a,!0);E(a),E(n),P(e=>{W(n,`href`,e),r=H(n,1,`nav-item svelte-1nwtzae`,null,r,{active:WI.page===F(t).page}),W(n,`title`,F(t).label),z(o,F(t).label)},[()=>LI(`/admin/dashboard/`+F(t).page)]),I(`click`,n,e=>{e.preventDefault(),WI.navigate(F(t).page)}),R(e,n)}),E(o);var s=N(o,2),c=M(s);FI(c,{get compact(){return jI.collapsed}});var l=N(c,2),u=e=>{var t=mL(),n=M(t),r=M(n);G(r,{name:`lock-keyhole`,class:`api-key-open-icon`});var i=N(r,2),a=M(i,!0);E(i),E(n),E(t),P(()=>{W(n,`aria-label`,K.needsAuth?`Enter API key`:`Change API key`),z(a,K.needsAuth?`Enter API key`:`Change API key`)}),I(`click`,n,()=>K.openDialog()),R(e,t)},d=k(()=>K.needsAuth||K.hasApiKey());B(l,e=>{F(d)&&e(u)}),E(s),E(i);var f=N(i,2);let p;P(()=>{a=H(i,1,`sidebar svelte-1nwtzae`,null,a,{"sidebar-collapsed":jI.collapsed}),p=H(f,1,`sidebar-toggle svelte-1nwtzae`,null,p,{collapsed:jI.collapsed}),W(f,`title`,jI.collapsed?`Expand sidebar`:`Collapse sidebar`),W(f,`aria-label`,jI.collapsed?`Expand sidebar`:`Collapse sidebar`),W(f,`aria-expanded`,!jI.collapsed)}),I(`click`,f,()=>jI.toggle()),R(e,r),O()}Ur([`click`]);var _L=L(``);function vL(e,t){D(t,!0);let n=ma(t,`label`,3,`Close`),r=ma(t,`class`,3,``),i=ma(t,`iconClass`,3,`table-icon-svg`),a=ma(t,`disabled`,3,!1),o=ma(t,`el`,15,null);var s=_L();G(M(s),{name:`x`,get class(){return i()}}),E(s),da(s,e=>o(e),()=>o()),P(()=>{H(s,1,`dialog-close-btn ${r()??``}`,`svelte-11l1bb5`),W(s,`aria-label`,n()),s.disabled=a()}),I(`click`,s,function(...e){t.onclick?.apply(this,e)}),R(e,s),O()}Ur([`click`]);var yL=L(`
        `,1);function bL(e,t){D(t,!0);let n=ma(t,`open`,3,!1),r=ma(t,`variant`,3,`editor`),i=ma(t,`closeOnBackdrop`,3,!0),a=k(()=>r()===`auth`?`auth-dialog-backdrop`:`editor-modal-backdrop`),o=k(()=>r()===`auth`?`auth-dialog-shell`:`editor-modal-shell`),s=A(null);Nn(()=>{if(!n())return;let e=kr(()=>MI.opened());Er().then(()=>{let e=F(s)&&F(s).querySelector(`[data-modal-autofocus]`);e&&typeof e.focus==`function`&&e.focus()});let r=n=>{n.key===`Escape`&&MI.isTop(e)&&t.onclose?.()};return window.addEventListener(`keydown`,r),()=>{MI.closed(e),window.removeEventListener(`keydown`,r)}});function c(e){i()&&e.target===F(s)&&t.onclose?.()}var l=$r(),u=Cn(l),d=e=>{var n=yL(),r=Cn(n),i=N(r,2);gi(M(i),()=>t.children??m),E(i),da(i,e=>j(s,e),()=>F(s)),P(()=>{H(r,1,ji(F(a)),`svelte-17e0w4c`),H(i,1,ji(F(o)),`svelte-17e0w4c`)}),I(`click`,i,c),R(e,n)};B(u,e=>{n()&&e(d)}),R(e,l),O()}Ur([`click`]);var xL=L(``),SL=L(``);function CL(e,t){D(t,!0),bL(e,{get open(){return K.dialogOpen},variant:`auth`,onclose:()=>K.closeDialog(),children:(e,t)=>{var n=SL(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a),E(i),vL(N(i,2),{label:`Close authentication dialog`,onclick:()=>K.closeDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var s=N(r,2),c=M(s),l=M(c);G(l,{name:`lock-keyhole`,class:`auth-dialog-input-icon`});var u=N(l,2);U(u),E(c);var d=N(c,2),f=e=>{var t=xL(),n=M(t,!0);E(t),P(()=>z(n,K.authErrorMessage||`Enter a valid API key to continue.`)),R(e,t)};B(d,e=>{K.authError&&e(f)});var p=N(d,4),m=M(p),h=M(m);G(h,{name:`check`,class:`auth-dialog-submit-icon`});var g=N(h,2),_=M(g,!0);E(g),E(m),E(p),E(s),E(n),P(()=>{z(o,K.needsAuth?`Dashboard locked`:`Change API key`),z(_,K.needsAuth?`Unlock dashboard`:`Save API key`)}),Hr(`submit`,s,e=>{e.preventDefault(),K.submit()}),oa(u,()=>K.apiKey,e=>K.apiKey=e),R(e,n)},$$slots:{default:!0}}),O()}function wL(){return{open:!1,title:``,titleId:`typedConfirmationDialogTitle`,inputId:`typed-confirmation-input`,message:``,requiredText:``,value:``,confirmLabel:`Confirm`,icon:`triangle-alert`,dialogClass:``,loading:!1,onConfirm:null,onClose:null}}var TL=new class{#e=A(fn(wL()));get state(){return F(this.#e)}set state(e){j(this.#e,e,!0)}#t=A(``);get error(){return F(this.#t)}set error(e){j(this.#t,e,!0)}open(e){this.error=``,this.state={...wL(),open:!0,...e||{}}}close(){let e=this.state;typeof e.onClose==`function`&&e.onClose(),this.state=wL(),this.error=``}ready(){return String(this.state.value||``).trim().toLowerCase()===String(this.state.requiredText||``).trim().toLowerCase()}inputLabel(){return`Type `+String(this.state.requiredText||``).trim()+` to confirm`}async submit(){if(!this.ready()){this.error=this.inputLabel()+`.`;return}if(typeof this.state.onConfirm==`function`){this.state.loading=!0;try{await this.state.onConfirm()}finally{this.state.loading=!1}}}},EL=L(`

        `),DL=L(``),OL=L(`

        `);function kL(e,t){D(t,!0);let n=k(()=>TL.state);bL(e,{get open(){return F(n).open},variant:`auth`,onclose:()=>TL.close(),children:(e,t)=>{var r=OL(),i=M(r),a=M(i),o=M(a,!0);E(a),vL(N(a,2),{label:`Close confirmation dialog`,onclick:()=>TL.close(),class:`auth-dialog-close`,iconClass:``}),E(i);var s=N(i,2),c=M(s),l=e=>{var t=EL(),r=M(t,!0);E(t),P(()=>z(r,F(n).message)),R(e,t)};B(c,e=>{F(n).message&&e(l)});var u=N(c,2),d=M(u),f=M(d,!0);E(d);var p=N(d,2);U(p),E(u);var m=N(u,2),h=e=>{var t=DL(),n=M(t,!0);E(t),P(()=>z(n,TL.error)),R(e,t)};B(m,e=>{TL.error&&e(h)});var g=N(m,2),_=M(g),v=N(_,2),y=M(v);G(y,{get name(){return F(n).icon},class:`form-action-icon`});var b=N(y,2),x=M(b,!0);E(b),E(v),E(g),E(s),E(r),P((e,t)=>{H(r,1,`auth-dialog ${F(n).dialogClass??``}`),W(r,`aria-labelledby`,F(n).titleId),W(a,`id`,F(n).titleId),z(o,F(n).title),W(d,`for`,F(n).inputId),z(f,e),W(p,`id`,F(n).inputId),v.disabled=t,z(x,F(n).confirmLabel)},[()=>TL.inputLabel(),()=>F(n).loading||!TL.ready()]),Hr(`submit`,s,e=>{e.preventDefault(),TL.submit()}),oa(p,()=>TL.state.value,e=>TL.state.value=e),I(`click`,_,()=>TL.close()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var AL=e=>e;function jL(e){let t=e-1;return t*t*t+1}function ML(e){let t=typeof e==`string`&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return t?[parseFloat(t[1]),t[2]||`px`]:[e,`px`]}function NL(e,{delay:t=0,duration:n=400,easing:r=AL}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function PL(e,{delay:t=0,duration:n=400,easing:r=jL,x:i=0,y:a=0,opacity:o=0}={}){let s=getComputedStyle(e),c=+s.opacity,l=s.transform===`none`?``:s.transform,u=c*(1-o),[d,f]=ML(i),[p,m]=ML(a);return{delay:t,duration:n,easing:r,css:(e,t)=>` + transform: ${l} translate(${(1-e)*d}${f}, ${(1-e)*p}${m}); + opacity: ${c-u*t}`}}function FL(e){return--e*e*(2.70158*e+1.70158)+1}var IL=5e3,LL=8e3,q=new class{#e=A(fn([]));get toasts(){return F(this.#e)}set toasts(e){j(this.#e,e,!0)}#t=0;#n=new Map;success(e){this.#r(`success`,e,IL)}error(e){this.#r(`error`,e,LL)}dismiss(e){let t=this.#n.get(e);t&&(clearTimeout(t),this.#n.delete(e)),this.toasts=this.toasts.filter(t=>t.id!==e)}#r(e,t,n){let r=String(t||``).trim();if(!r)return;let i=this.toasts.find(t=>t.kind===e&&t.text===r);i&&this.dismiss(i.id);let a=++this.#t;this.toasts=[...this.toasts,{id:a,kind:e,text:r}],this.#n.set(a,setTimeout(()=>this.dismiss(a),n))}},RL=L(`
        `),zL=L(`
        `);function BL(e,t){D(t,!0);var n=zL();V(n,21,()=>q.toasts,e=>e.id,(e,t)=>{var n=RL();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2);E(n),P(()=>{r=H(n,1,`flash-toast svelte-1i257xg`,null,r,{"flash-toast-success":F(t).kind===`success`,"flash-toast-error":F(t).kind===`error`}),W(n,`role`,F(t).kind===`error`?`alert`:`status`),W(n,`aria-live`,F(t).kind===`error`?`assertive`:`polite`),z(a,F(t).text)}),I(`click`,o,()=>q.dismiss(F(t).id)),Ei(1,n,()=>PL,()=>({y:-24,duration:360,easing:FL})),Ei(2,n,()=>NL,()=>({duration:150})),R(e,n)}),E(n),R(e,n),O()}Ur([`click`]);var VL=L(``);function HL(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{R(e,VL())},a=k(()=>BI());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}var UL=new class{#e=A(fn([]));get models(){return F(this.#e)}set models(e){j(this.#e,e,!0)}#t=A(fn([]));get categories(){return F(this.#t)}set categories(e){j(this.#t,e,!0)}#n=A(`all`);get activeCategory(){return F(this.#n)}set activeCategory(e){j(this.#n,e,!0)}#r=A(``);get filter(){return F(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(!0);get loading(){return F(this.#i)}set loading(e){j(this.#i,e,!0)}#a=null;async fetchModels(){this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=`/admin/models`;this.activeCategory&&this.activeCategory!==`all`&&(t+=`?category=`+encodeURIComponent(this.activeCategory));let n=await cL(t,{label:`models`,signal:e.signal});if(n.stale||e.signal.aborted)return;this.models=n.ok&&Array.isArray(n.data)?n.data:[]}catch(e){if(uL(e))return;console.error(`Failed to fetch models:`,e),this.models=[]}finally{this.#a===e&&(this.#a=null,this.loading=!1)}}async fetchCategories(){try{let e=await cL(`/admin/models/categories`,{label:`categories`});if(e.stale)return;this.categories=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch categories:`,e),this.categories=[]}}selectCategory(e){this.activeCategory=e,this.filter=``,this.fetchModels()}categoryCount(e){let t=this.categories.find(t=>t.category===e);return t?t.count:0}get filteredModels(){if(!this.filter)return this.models;let e=this.filter.toLowerCase();return this.models.filter(t=>(t.model?.id??``).toLowerCase().includes(e)||(t.provider_name??``).toLowerCase().includes(e)||(t.provider_type??``).toLowerCase().includes(e)||(t.selector??``).toLowerCase().includes(e)||(t.model?.owned_by??``).toLowerCase().includes(e)||(t.model?.metadata?.modes??[]).join(`,`).toLowerCase().includes(e)||(t.model?.metadata?.categories??[]).join(`,`).toLowerCase().includes(e))}},WL=L(``);function GL(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=WL(),n=N(M(t),2);E(t),I(`click`,n,()=>K.openDialog()),R(e,t)};B(r,e=>{K.authError&&e(i)}),R(e,n),O()}Ur([`click`]);function KL(e){return String(e||``).split(`,`).map(e=>e.trim()).filter(e=>e)}function qL(e){return e==null||e===void 0?`-`:e.toLocaleString()}function JL(e){if(e==null)return`---`;let t=Number(e);return Number.isFinite(t)?t>0&&t<1e-4?`<$0.0001`:`$`+t.toFixed(4).replace(/(\.\d{2}\d*?)0+$/,`$1`):`---`}function YL(e){return e==null||e===void 0?`—`:`$`+e.toFixed(2)}function XL(e){return e==null||e===void 0?`—`:e<.01?`$`+e.toFixed(6):`$`+e.toFixed(4)}function ZL(e){if(e==null||e===``)return`-`;let t=Number(e);if(!Number.isFinite(t))return`-`;let n=Math.abs(t),r=[{threshold:1e9,suffix:`B`},{threshold:1e6,suffix:`M`},{threshold:1e3,suffix:`K`}];for(let e=0;e=i.threshold){let n=t/i.threshold;return Math.abs(Number(n.toFixed(1)))>=1e3&&e>0&&(i=r[e-1],n=t/i.threshold),n.toFixed(1).replace(/\.0$/,``)+i.suffix}}return String(t)}function QL(e,t){let n=t==null||t===``?NaN:Number(t),r=Number.isFinite(n)?qL(n):`-`;return String(e||`Tokens`)+`: `+r}function $L(e){return e?typeof e==`string`?e:e.getUTCFullYear()+`-`+String(e.getUTCMonth()+1).padStart(2,`0`)+`-`+String(e.getUTCDate()).padStart(2,`0`):``}function eR(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.getUTCFullYear()+`-`+String(t.getUTCMonth()+1).padStart(2,`0`)+`-`+String(t.getUTCDate()).padStart(2,`0`)}function tR(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.getUTCFullYear()+`-`+String(t.getUTCMonth()+1).padStart(2,`0`)+`-`+String(t.getUTCDate()).padStart(2,`0`)+` `+String(t.getUTCHours()).padStart(2,`0`)+`:`+String(t.getUTCMinutes()).padStart(2,`0`)+`:`+String(t.getUTCSeconds()).padStart(2,`0`)+` UTC`}function nR(e){return String(e&&e.provider||``).trim()}function rR(e){return String(e&&e.provider_name||``).trim()||nR(e)}function iR(e,t){let n=String(t||``).trim();if(!n)return`-`;let r=rR(e);return!r||n===r||n.startsWith(r+`/`)?n:r+`/`+n}function aR(e){return iR(e,e&&e.model)}function oR(e){return iR(e,e&&e.resolved_model)}function sR(e){let t=String(e&&(e.requested_model||e.model)||``).trim();if(!e)return t;let n=String(e.data&&e.data.failover&&e.data.failover.target_model||``).trim();if(n&&n!==t)return t+` ⮕ `+n;if(e.alias_used&&e.resolved_model){let n=oR(e);if(n&&n!==`-`&&n!==t)return t+` ⮕ `+n}return t}var cR=new class{#e=A(`30`);get days(){return F(this.#e)}set days(e){j(this.#e,e,!0)}#t=A(`30`);get selectedPreset(){return F(this.#t)}set selectedPreset(e){j(this.#t,e,!0)}#n=A(null);get customStartDate(){return F(this.#n)}set customStartDate(e){j(this.#n,e,!0)}#r=A(null);get customEndDate(){return F(this.#r)}set customEndDate(e){j(this.#r,e,!0)}#i=A(`daily`);get interval(){return F(this.#i)}set interval(e){j(this.#i,e,!0)}queryStr(){return this.customStartDate&&this.customEndDate?`start_date=`+$L(this.customStartDate)+`&end_date=`+$L(this.customEndDate):`days=`+this.days}selectPreset(e){this.selectedPreset=e,this.customStartDate=null,this.customEndDate=null,this.days=e}dateRangeLabel(){return this.selectedPreset?`Last `+this.selectedPreset+` days`:this.customStartDate&&this.customEndDate?this.formatDateShort(this.customStartDate)+` – `+this.formatDateShort(this.customEndDate):this.customStartDate?this.formatDateShort(this.customStartDate)+` – ...`:`Last 30 days`}formatDateShort(e){return[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getUTCMonth()]+` `+e.getUTCDate()+`, `+e.getUTCFullYear()}rangeStart(){return this.customStartDate?this.customStartDate:this.selectedPreset?nL.dateKeyToDate(nL.addDaysToDateKey(nL.currentDateKey(),-(parseInt(this.selectedPreset,10)-1))):null}rangeEnd(){return this.customEndDate?this.customEndDate:this.customStartDate||this.selectedPreset?nL.todayDate():null}chartTitle(){return({daily:`Daily`,weekly:`Weekly`,monthly:`Monthly`,yearly:`Yearly`}[this.interval]||`Daily`)+` Token Usage`}};function lR(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null}}function uR(){return{summary:{total_hits:0,exact_hits:0,semantic_hits:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,total_saved_cost:null},daily:[]}}var dR=new class{#e=A(fn(lR()));get summary(){return F(this.#e)}set summary(e){j(this.#e,e,!0)}#t=A(fn([]));get daily(){return F(this.#t)}set daily(e){j(this.#t,e,!0)}#n=A(fn(uR()));get cacheOverview(){return F(this.#n)}set cacheOverview(e){j(this.#n,e,!0)}#r=A(!1);get loading(){return F(this.#r)}set loading(e){j(this.#r,e,!0)}#i=null;#a=null;cacheAnalyticsEnabled(){return fL.cacheVisible()}async fetchUsage(){this.#i&&this.#i.abort();let e=new AbortController;this.#i=e,this.loading=!0;try{let t=cR.queryStr()+`&interval=`+cR.interval,[n,r]=await Promise.all([cL(`/admin/usage/summary?`+t,{label:`usage summary`,signal:e.signal}),cL(`/admin/usage/daily?`+t,{label:`usage daily`,signal:e.signal})]);if(n.stale||r.stale||e.signal.aborted)return;if(!n.ok||!r.ok){this.summary=lR(),this.daily=[],this.cacheOverview=uR();return}this.summary=n.data||lR(),this.daily=Array.isArray(r.data)?r.data:[]}catch(e){if(uL(e))return;console.error(`Failed to fetch usage:`,e),this.summary=lR(),this.daily=[]}finally{this.#i===e&&(this.#i=null,this.loading=!1)}}async fetchCacheOverview(e=``){if(await fL.ensureLoaded(),!this.cacheAnalyticsEnabled()){this.cacheOverview=uR();return}this.#a&&this.#a.abort();let t=new AbortController;this.#a=t;try{let n=await cL(`/admin/cache/overview?`+(cR.queryStr()+`&interval=`+cR.interval+e),{label:`cache overview`,signal:t.signal});if(n.stale||t.signal.aborted)return;if(!n.ok){this.cacheOverview=uR();return}let r=n.data&&typeof n.data==`object`?n.data:uR();r.summary||=uR().summary,Array.isArray(r.daily)||(r.daily=[]),this.cacheOverview=r}catch(e){if(uL(e))return;console.error(`Failed to fetch cache overview:`,e),this.cacheOverview=uR()}finally{this.#a===t&&(this.#a=null)}}},fR=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`];function pR(e,t){let n=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+t,1));return fR[n.getUTCMonth()]+` `+n.getUTCFullYear()}function mR(e,t,n){let r=e.getUTCFullYear(),i=e.getUTCMonth()+t,a=new Date(Date.UTC(r,i,1)),o=new Date(Date.UTC(r,i+1,0)),s=(a.getUTCDay()+6)%7,c=[],l=new Date(Date.UTC(r,i,0));for(let e=s-1;e>=0;e--){let t=l.getUTCDate()-e,a=new Date(Date.UTC(r,i-1,t));c.push({day:t,date:a,current:!1,key:`p-`+n(a)})}for(let e=1;e<=o.getUTCDate();e++){let t=new Date(Date.UTC(r,i,e));c.push({day:e,date:t,current:!0,key:`c-`+n(t)})}let u=42-c.length;for(let e=1;e<=u;e++){let t=new Date(Date.UTC(r,i+1,e));c.push({day:e,date:t,current:!1,key:`n-`+n(t)})}return c}function hR(e,t,n){let r=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+t,1));return n&&r.getTime()>n.getTime()?e:r}function gR(e,t){return e.getUTCFullYear()===t.getUTCFullYear()&&e.getUTCMonth()===t.getUTCMonth()}var _R=L(``),vR=L(``),yR=L(``),bR=L(`
        MoTuWeThFrSaSu
        `);function xR(e,t){D(t,!0);let n=ma(t,`offset`,3,0),r=k(()=>mR(t.calendarMonth,n(),e=>nL.dateToDateKey(e))),i=k(()=>gR(t.calendarMonth,nL.todayDate())),a=e=>nL.dateToDateKey(e.date),o=e=>a(e)>nL.currentDateKey(),s=e=>e.current&&a(e)===nL.currentDateKey();function c(e,t){let n=t===`start`?cR.rangeStart():cR.rangeEnd();return e.current&&!!n&&a(e)===nL.dateToDateKey(n)}function l(e){let t=cR.rangeStart(),n=cR.rangeEnd();return!e.current||!t||!n?!1:a(e)>=nL.dateToDateKey(t)&&a(e)<=nL.dateToDateKey(n)}var u=bR(),d=M(u),f=M(d);let p;var m=N(f,2),h=M(m,!0);E(m);var g=N(m,2),_=e=>{R(e,_R())},v=e=>{var n=vR();P(()=>n.disabled=F(i)),I(`click`,n,function(...e){t.onnext?.apply(this,e)}),R(e,n)};B(g,e=>{n()===-1?e(_):e(v,-1)}),E(d);var y=N(d,4);V(y,21,()=>F(r),e=>e.key,(e,n)=>{var r=yR();let i;var a=M(r,!0);E(r),P((e,t)=>{i=H(r,1,`dp-day svelte-g7ga4u`,null,i,e),r.disabled=t,z(a,F(n).day)},[()=>({"other-month":!F(n).current,today:s(F(n)),"range-start":c(F(n),`start`),"range-end":c(F(n),`end`),"in-range":l(F(n)),disabled:o(F(n))}),()=>o(F(n))||!F(n).current]),I(`click`,r,()=>t.onselect?.(F(n))),R(e,r)}),E(y),E(u),P(e=>{p=H(f,1,`dp-nav-btn svelte-g7ga4u`,null,p,{"dp-nav-prev-mobile":n()!==-1}),z(h,e)},[()=>pR(t.calendarMonth,n())]),I(`click`,f,function(...e){t.onprev?.apply(this,e)}),R(e,u),O()}Ur([`click`]);var SR=L(``),CR=L(`
        `),wR=Zr(``),TR=Zr(``),ER=L(`
        `),DR=L(`
        `);function OR(e,t){D(t,!0);let n=[`3`,`7`,`14`,`30`,`90`],r=A(!1),i=A(`start`),a=A(fn(new Date)),o=A(fn({show:!1,x:0,y:0})),s=A(null);function c(){j(r,!F(r)),F(r)&&(j(a,nL.startOfMonthDate(cR.customEndDate||nL.todayDate()),!0),j(i,`start`))}function l(){j(r,!1),j(o,{show:!1,x:0,y:0},!0)}Nn(()=>{if(!F(r))return;let e=e=>{F(s)&&!F(s).contains(e.target)&&l()},t=e=>{e.key===`Escape`&&l()};return document.addEventListener(`click`,e,!0),window.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e,!0),window.removeEventListener(`keydown`,t)}});function u(e){cR.selectPreset(e),j(i,`start`),t.onchange?.(),l()}let d=()=>j(a,hR(F(a),-1),!0),f=()=>j(a,hR(F(a),1,nL.startOfMonthDate(nL.todayDate())),!0);function p(e){let n=new Date(e.date);if(cR.selectedPreset=null,F(i)===`start`){cR.customStartDate=n,cR.customEndDate&&cR.customEndDate{var t=CR(),r=M(t);V(r,20,()=>n,e=>e,(e,t)=>{var n=SR();let r;var i=M(n);E(n),P(()=>{r=H(n,1,`preset-btn svelte-ax7ma4`,null,r,{active:cR.selectedPreset===t}),z(i,`Last ${t??``} days`)}),I(`click`,n,()=>u(t)),R(e,n)}),E(r);var i=N(r,2);V(i,20,()=>[-1,0],e=>e,(e,t)=>{xR(e,{get calendarMonth(){return F(a)},get offset(){return t},onprev:d,onnext:f,onselect:p})}),E(i),E(t),I(`mousemove`,i,e=>j(o,{show:!0,x:e.clientX,y:e.clientY},!0)),Hr(`mouseleave`,i,()=>j(o,{show:!1,x:0,y:0},!0)),R(e,t)};B(b,e=>{F(r)&&e(x)});var S=N(b,2),C=e=>{var t=ER(),n=M(t),r=e=>{R(e,wR())},a=e=>{R(e,TR())};B(n,e=>{F(i)===`start`?e(r):e(a,-1)});var s=N(n,2),c=M(s,!0);E(s),E(t),P(()=>{Ri(t,`left:${F(o).x??``}px;top:${F(o).y??``}px`),z(c,F(i)===`end`?`Select end date`:`Select start date`)}),R(e,t)};B(S,e=>{F(o).show&&e(C)}),E(m),da(m,e=>j(s,e),()=>F(s)),P(e=>{z(_,e),y=H(v,0,`date-picker-chevron svelte-ax7ma4`,null,y,{open:F(r)})},[()=>cR.dateRangeLabel()]),I(`click`,h,c),R(e,m),O()}Ur([`click`,`mousemove`]);function kR(e){return e+.5|0}var AR=(e,t,n)=>Math.max(Math.min(e,n),t);function jR(e){return AR(kR(e*2.55),0,255)}function MR(e){return AR(kR(e*255),0,255)}function NR(e){return AR(kR(e/2.55)/100,0,1)}function PR(e){return AR(kR(e*100),0,100)}var FR={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},IR=[...`0123456789ABCDEF`],LR=e=>IR[e&15],RR=e=>IR[(e&240)>>4]+IR[e&15],zR=e=>(e&240)>>4==(e&15),BR=e=>zR(e.r)&&zR(e.g)&&zR(e.b)&&zR(e.a);function VR(e){var t=e.length,n;return e[0]===`#`&&(t===4||t===5?n={r:255&FR[e[1]]*17,g:255&FR[e[2]]*17,b:255&FR[e[3]]*17,a:t===5?FR[e[4]]*17:255}:(t===7||t===9)&&(n={r:FR[e[1]]<<4|FR[e[2]],g:FR[e[3]]<<4|FR[e[4]],b:FR[e[5]]<<4|FR[e[6]],a:t===9?FR[e[7]]<<4|FR[e[8]]:255})),n}var HR=(e,t)=>e<255?t(e):``;function UR(e){var t=BR(e)?LR:RR;return e?`#`+t(e.r)+t(e.g)+t(e.b)+HR(e.a,t):void 0}var WR=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function GR(e,t,n){let r=t*Math.min(n,1-n),i=(t,i=(t+e/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function KR(e,t,n){let r=(r,i=(r+e/60)%6)=>n-n*t*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function qR(e,t,n){let r=GR(e,1,.5),i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)r[i]*=1-t-n,r[i]+=t;return r}function JR(e,t,n,r,i){return e===i?(t-n)/r+(t.5?l/(2-i-a):l/(i+a),s=JR(t,n,r,l,i),s=s*60+.5),[s|0,c||0,o]}function XR(e,t,n,r){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,r)).map(MR)}function ZR(e,t,n){return XR(GR,e,t,n)}function QR(e,t,n){return XR(qR,e,t,n)}function $R(e,t,n){return XR(KR,e,t,n)}function ez(e){return(e%360+360)%360}function tz(e){let t=WR.exec(e),n=255,r;if(!t)return;t[5]!==r&&(n=t[6]?jR(+t[5]):MR(+t[5]));let i=ez(+t[2]),a=t[3]/100,o=t[4]/100;return r=t[1]===`hwb`?QR(i,a,o):t[1]===`hsv`?$R(i,a,o):ZR(i,a,o),{r:r[0],g:r[1],b:r[2],a:n}}function nz(e,t){var n=YR(e);n[0]=ez(n[0]+t),n=ZR(n),e.r=n[0],e.g=n[1],e.b=n[2]}function rz(e){if(!e)return;let t=YR(e),n=t[0],r=PR(t[1]),i=PR(t[2]);return e.a<255?`hsla(${n}, ${r}%, ${i}%, ${NR(e.a)})`:`hsl(${n}, ${r}%, ${i}%)`}var iz={x:`dark`,Z:`light`,Y:`re`,X:`blu`,W:`gr`,V:`medium`,U:`slate`,A:`ee`,T:`ol`,S:`or`,B:`ra`,C:`lateg`,D:`ights`,R:`in`,Q:`turquois`,E:`hi`,P:`ro`,O:`al`,N:`le`,M:`de`,L:`yello`,F:`en`,K:`ch`,G:`arks`,H:`ea`,I:`ightg`,J:`wh`},az={OiceXe:`f0f8ff`,antiquewEte:`faebd7`,aqua:`ffff`,aquamarRe:`7fffd4`,azuY:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`0`,blanKedOmond:`ffebcd`,Xe:`ff`,XeviTet:`8a2be2`,bPwn:`a52a2a`,burlywood:`deb887`,caMtXe:`5f9ea0`,KartYuse:`7fff00`,KocTate:`d2691e`,cSO:`ff7f50`,cSnflowerXe:`6495ed`,cSnsilk:`fff8dc`,crimson:`dc143c`,cyan:`ffff`,xXe:`8b`,xcyan:`8b8b`,xgTMnPd:`b8860b`,xWay:`a9a9a9`,xgYF:`6400`,xgYy:`a9a9a9`,xkhaki:`bdb76b`,xmagFta:`8b008b`,xTivegYF:`556b2f`,xSange:`ff8c00`,xScEd:`9932cc`,xYd:`8b0000`,xsOmon:`e9967a`,xsHgYF:`8fbc8f`,xUXe:`483d8b`,xUWay:`2f4f4f`,xUgYy:`2f4f4f`,xQe:`ced1`,xviTet:`9400d3`,dAppRk:`ff1493`,dApskyXe:`bfff`,dimWay:`696969`,dimgYy:`696969`,dodgerXe:`1e90ff`,fiYbrick:`b22222`,flSOwEte:`fffaf0`,foYstWAn:`228b22`,fuKsia:`ff00ff`,gaRsbSo:`dcdcdc`,ghostwEte:`f8f8ff`,gTd:`ffd700`,gTMnPd:`daa520`,Way:`808080`,gYF:`8000`,gYFLw:`adff2f`,gYy:`808080`,honeyMw:`f0fff0`,hotpRk:`ff69b4`,RdianYd:`cd5c5c`,Rdigo:`4b0082`,ivSy:`fffff0`,khaki:`f0e68c`,lavFMr:`e6e6fa`,lavFMrXsh:`fff0f5`,lawngYF:`7cfc00`,NmoncEffon:`fffacd`,ZXe:`add8e6`,ZcSO:`f08080`,Zcyan:`e0ffff`,ZgTMnPdLw:`fafad2`,ZWay:`d3d3d3`,ZgYF:`90ee90`,ZgYy:`d3d3d3`,ZpRk:`ffb6c1`,ZsOmon:`ffa07a`,ZsHgYF:`20b2aa`,ZskyXe:`87cefa`,ZUWay:`778899`,ZUgYy:`778899`,ZstAlXe:`b0c4de`,ZLw:`ffffe0`,lime:`ff00`,limegYF:`32cd32`,lRF:`faf0e6`,magFta:`ff00ff`,maPon:`800000`,VaquamarRe:`66cdaa`,VXe:`cd`,VScEd:`ba55d3`,VpurpN:`9370db`,VsHgYF:`3cb371`,VUXe:`7b68ee`,VsprRggYF:`fa9a`,VQe:`48d1cc`,VviTetYd:`c71585`,midnightXe:`191970`,mRtcYam:`f5fffa`,mistyPse:`ffe4e1`,moccasR:`ffe4b5`,navajowEte:`ffdead`,navy:`80`,Tdlace:`fdf5e6`,Tive:`808000`,TivedBb:`6b8e23`,Sange:`ffa500`,SangeYd:`ff4500`,ScEd:`da70d6`,pOegTMnPd:`eee8aa`,pOegYF:`98fb98`,pOeQe:`afeeee`,pOeviTetYd:`db7093`,papayawEp:`ffefd5`,pHKpuff:`ffdab9`,peru:`cd853f`,pRk:`ffc0cb`,plum:`dda0dd`,powMrXe:`b0e0e6`,purpN:`800080`,YbeccapurpN:`663399`,Yd:`ff0000`,Psybrown:`bc8f8f`,PyOXe:`4169e1`,saddNbPwn:`8b4513`,sOmon:`fa8072`,sandybPwn:`f4a460`,sHgYF:`2e8b57`,sHshell:`fff5ee`,siFna:`a0522d`,silver:`c0c0c0`,skyXe:`87ceeb`,UXe:`6a5acd`,UWay:`708090`,UgYy:`708090`,snow:`fffafa`,sprRggYF:`ff7f`,stAlXe:`4682b4`,tan:`d2b48c`,teO:`8080`,tEstN:`d8bfd8`,tomato:`ff6347`,Qe:`40e0d0`,viTet:`ee82ee`,JHt:`f5deb3`,wEte:`ffffff`,wEtesmoke:`f5f5f5`,Lw:`ffff00`,LwgYF:`9acd32`};function oz(){let e={},t=Object.keys(az),n=Object.keys(iz),r,i,a,o,s;for(r=0;r>16&255,a>>8&255,a&255]}return e}var sz;function cz(e){sz||(sz=oz(),sz.transparent=[0,0,0,0]);let t=sz[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var lz=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function uz(e){let t=lz.exec(e),n=255,r,i,a;if(t){if(t[7]!==r){let e=+t[7];n=t[8]?jR(e):AR(e*255,0,255)}return r=+t[1],i=+t[3],a=+t[5],r=255&(t[2]?jR(r):AR(r,0,255)),i=255&(t[4]?jR(i):AR(i,0,255)),a=255&(t[6]?jR(a):AR(a,0,255)),{r,g:i,b:a,a:n}}}function dz(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${NR(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}var fz=e=>e<=.0031308?e*12.92:e**(1/2.4)*1.055-.055,pz=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function mz(e,t,n){let r=pz(NR(e.r)),i=pz(NR(e.g)),a=pz(NR(e.b));return{r:MR(fz(r+n*(pz(NR(t.r))-r))),g:MR(fz(i+n*(pz(NR(t.g))-i))),b:MR(fz(a+n*(pz(NR(t.b))-a))),a:e.a+n*(t.a-e.a)}}function hz(e,t,n){if(e){let r=YR(e);r[t]=Math.max(0,Math.min(r[t]+r[t]*n,t===0?360:1)),r=ZR(r),e.r=r[0],e.g=r[1],e.b=r[2]}}function gz(e,t){return e&&Object.assign(t||{},e)}function _z(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=MR(e[3]))):(t=gz(e,{r:0,g:0,b:0,a:1}),t.a=MR(t.a)),t}function vz(e){return e.charAt(0)===`r`?uz(e):tz(e)}var yz=class e{constructor(t){if(t instanceof e)return t;let n=typeof t,r;n===`object`?r=_z(t):n===`string`&&(r=VR(t)||cz(t)||vz(t)),this._rgb=r,this._valid=!!r}get valid(){return this._valid}get rgb(){var e=gz(this._rgb);return e&&(e.a=NR(e.a)),e}set rgb(e){this._rgb=_z(e)}rgbString(){return this._valid?dz(this._rgb):void 0}hexString(){return this._valid?UR(this._rgb):void 0}hslString(){return this._valid?rz(this._rgb):void 0}mix(e,t){if(e){let n=this.rgb,r=e.rgb,i,a=t===i?.5:t,o=2*a-1,s=n.a-r.a,c=((o*s===-1?o:(o+s)/(1+o*s))+1)/2;i=1-c,n.r=255&c*n.r+i*r.r+.5,n.g=255&c*n.g+i*r.g+.5,n.b=255&c*n.b+i*r.b+.5,n.a=a*n.a+(1-a)*r.a,this.rgb=n}return this}interpolate(e,t){return e&&(this._rgb=mz(this._rgb,e._rgb,t)),this}clone(){return new e(this.rgb)}alpha(e){return this._rgb.a=MR(e),this}clearer(e){let t=this._rgb;return t.a*=1-e,this}greyscale(){let e=this._rgb;return e.r=e.g=e.b=kR(e.r*.3+e.g*.59+e.b*.11),this}opaquer(e){let t=this._rgb;return t.a*=1+e,this}negate(){let e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return hz(this._rgb,2,e),this}darken(e){return hz(this._rgb,2,-e),this}saturate(e){return hz(this._rgb,1,e),this}desaturate(e){return hz(this._rgb,1,-e),this}rotate(e){return nz(this._rgb,e),this}};function bz(){}var xz=(()=>{let e=0;return()=>e++})();function Sz(e){return e==null}function Cz(e){if(Array.isArray&&Array.isArray(e))return!0;let t=Object.prototype.toString.call(e);return t.slice(0,7)===`[object`&&t.slice(-6)===`Array]`}function wz(e){return e!==null&&Object.prototype.toString.call(e)===`[object Object]`}function Tz(e){return(typeof e==`number`||e instanceof Number)&&isFinite(+e)}function Ez(e,t){return Tz(e)?e:t}function Dz(e,t){return e===void 0?t:e}var Oz=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100:+e/t,kz=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100*t:+e;function Az(e,t,n){if(e&&typeof e.call==`function`)return e.apply(n,t)}function jz(e,t,n,r){let i,a,o;if(Cz(e))if(a=e.length,r)for(i=a-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function Bz(e){let t=e.split(`.`),n=[],r=``;for(let e of t)r+=e,r.endsWith(`\\`)?r=r.slice(0,-1)+`.`:(n.push(r),r=``);return n}function Vz(e){let t=Bz(e);return e=>{for(let n of t){if(n===``)break;e&&=e[n]}return e}}function Hz(e,t){return(zz[t]||(zz[t]=Vz(t)))(e)}function Uz(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Wz=e=>e!==void 0,Gz=e=>typeof e==`function`,Kz=(e,t)=>{if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0};function qz(e){return e.type===`mouseup`||e.type===`click`||e.type===`contextmenu`}var Jz=Math.PI,Yz=2*Jz,Xz=Yz+Jz,Zz=1/0,Qz=Jz/180,$z=Jz/2,eB=Jz/4,tB=Jz*2/3,nB=Math.log10,rB=Math.sign;function iB(e,t,n){return Math.abs(e-t)e-t).pop(),t}function sB(e){return typeof e==`symbol`||typeof e==`object`&&!!e&&!(Symbol.toPrimitive in e||`toString`in e||`valueOf`in e)}function cB(e){return!sB(e)&&!isNaN(parseFloat(e))&&isFinite(e)}function lB(e,t){let n=Math.round(e);return n-t<=e&&n+t>=e}function uB(e,t,n){let r,i,a;for(r=0,i=e.length;rc&&l=Math.min(t,n)-r&&e<=Math.max(t,n)+r}function SB(e,t,n){n||=(n=>e[n]1;)a=i+r>>1,n(a)?i=a:r=a;return{lo:i,hi:r}}var CB=(e,t,n,r)=>SB(e,n,r?r=>{let i=e[r][t];return ie[r][t]SB(e,n,r=>e[r][t]>=n);function TB(e,t,n){let r=0,i=e.length;for(;rr&&e[i-1]>n;)i--;return r>0||i{let n=`_onData`+Uz(t),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...t){let i=r.apply(this,t);return e._chartjs.listeners.forEach(e=>{typeof e[n]==`function`&&e[n](...t)}),i}})})}function OB(e,t){let n=e._chartjs;if(!n)return;let r=n.listeners,i=r.indexOf(t);i!==-1&&r.splice(i,1),!(r.length>0)&&(EB.forEach(t=>{delete e[t]}),delete e._chartjs)}function kB(e){let t=new Set(e);return t.size===e.length?e:Array.from(t)}var AB=function(){return typeof window>`u`?function(e){return e()}:window.requestAnimationFrame}();function jB(e,t){let n=[],r=!1;return function(...i){n=i,r||(r=!0,AB.call(window,()=>{r=!1,e.apply(t,n)}))}}function MB(e,t){let n;return function(...r){return t?(clearTimeout(n),n=setTimeout(e,t,r)):e.apply(this,r),t}}var NB=e=>e===`start`?`left`:e===`end`?`right`:`center`,PB=(e,t,n)=>e===`start`?t:e===`end`?n:(t+n)/2,FB=(e,t,n,r)=>e===(r?`left`:`right`)?n:e===`center`?(t+n)/2:t;function IB(e,t,n){let r=t.length,i=0,a=r;if(e._sorted){let{iScale:o,vScale:s,_parsed:c}=e,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null,u=o.axis,{min:d,max:f,minDefined:p,maxDefined:m}=o.getUserBounds();if(p){if(i=Math.min(CB(c,u,d).lo,n?r:CB(t,u,o.getPixelForValue(d)).lo),l){let e=c.slice(0,i+1).reverse().findIndex(e=>!Sz(e[s.axis]));i-=Math.max(0,e)}i=yB(i,0,r-1)}if(m){let e=Math.max(CB(c,o.axis,f,!0).hi+1,n?0:CB(t,u,o.getPixelForValue(f),!0).hi+1);if(l){let t=c.slice(e-1).findIndex(e=>!Sz(e[s.axis]));e+=Math.max(0,t)}a=yB(e,i,r)-i}else a=r-i}return{start:i,count:a}}function LB(e){let{xScale:t,yScale:n,_scaleRanges:r}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!r)return e._scaleRanges=i,!0;let a=r.xmin!==t.min||r.xmax!==t.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),a}var RB=e=>e===0||e===1,zB=(e,t,n)=>-(2**(10*--e)*Math.sin((e-t)*Yz/n)),BB=(e,t,n)=>2**(-10*e)*Math.sin((e-t)*Yz/n)+1,VB={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-(--e*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>--e*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*$z)+1,easeOutSine:e=>Math.sin(e*$z),easeInOutSine:e=>-.5*(Math.cos(Jz*e)-1),easeInExpo:e=>e===0?0:2**(10*(e-1)),easeOutExpo:e=>e===1?1:-(2**(-10*e))+1,easeInOutExpo:e=>RB(e)?e:e<.5?.5*2**(10*(e*2-1)):.5*(-(2**(-10*(e*2-1)))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1- --e*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>RB(e)?e:zB(e,.075,.3),easeOutElastic:e=>RB(e)?e:BB(e,.075,.3),easeInOutElastic(e){let t=.1125,n=.45;return RB(e)?e:e<.5?.5*zB(e*2,t,n):.5+.5*BB(e*2-1,t,n)},easeInBack(e){return e*e*(2.70158*e-1.70158)},easeOutBack(e){return--e*e*(2.70158*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-VB.easeOutBounce(1-e),easeOutBounce(e){let t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},easeInOutBounce:e=>e<.5?VB.easeInBounce(e*2)*.5:VB.easeOutBounce(e*2-1)*.5+.5};function HB(e){if(e&&typeof e==`object`){let t=e.toString();return t===`[object CanvasPattern]`||t===`[object CanvasGradient]`}return!1}function UB(e){return HB(e)?e:new yz(e)}function WB(e){return HB(e)?e:new yz(e).saturate(.5).darken(.1).hexString()}var GB=[`x`,`y`,`borderWidth`,`radius`,`tension`],KB=[`color`,`borderColor`,`backgroundColor`];function qB(e){e.set(`animation`,{delay:void 0,duration:1e3,easing:`easeOutQuart`,fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe(`animation`,{_fallback:!1,_indexable:!1,_scriptable:e=>e!==`onProgress`&&e!==`onComplete`&&e!==`fn`}),e.set(`animations`,{colors:{type:`color`,properties:KB},numbers:{type:`number`,properties:GB}}),e.describe(`animations`,{_fallback:`animation`}),e.set(`transitions`,{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:`transparent`},visible:{type:`boolean`,duration:0}}},hide:{animations:{colors:{to:`transparent`},visible:{type:`boolean`,easing:`linear`,fn:e=>e|0}}}})}function JB(e){e.set(`layout`,{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var YB=new Map;function XB(e,t){t||={};let n=e+JSON.stringify(t),r=YB.get(n);return r||(r=new Intl.NumberFormat(e,t),YB.set(n,r)),r}function ZB(e,t,n){return XB(t,n).format(e)}var QB={values(e){return Cz(e)?e:``+e},numeric(e,t,n){if(e===0)return`0`;let r=this.chart.options.locale,i,a=e;if(n.length>1){let t=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(t<1e-4||t>0x38d7ea4c68000)&&(i=`scientific`),a=$B(e,n)}let o=nB(Math.abs(a)),s=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),c={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(c,this.options.ticks.format),ZB(e,r,c)},logarithmic(e,t,n){if(e===0)return`0`;let r=n[t].significand||e/10**Math.floor(nB(e));return[1,2,3,5,10,15].includes(r)||t>.8*n.length?QB.numeric.call(this,e,t,n):``}};function $B(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var eV={formatters:QB};function tV(e){e.set(`scale`,{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:`ticks`,clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:``,padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:``,padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:eV.formatters.values,minor:{},major:{},align:`center`,crossAlign:`near`,showLabelBackdrop:!1,backdropColor:`rgba(255, 255, 255, 0.75)`,backdropPadding:2}}),e.route(`scale.ticks`,`color`,``,`color`),e.route(`scale.grid`,`color`,``,`borderColor`),e.route(`scale.border`,`color`,``,`borderColor`),e.route(`scale.title`,`color`,``,`color`),e.describe(`scale`,{_fallback:!1,_scriptable:e=>!e.startsWith(`before`)&&!e.startsWith(`after`)&&e!==`callback`&&e!==`parser`,_indexable:e=>e!==`borderDash`&&e!==`tickBorderDash`&&e!==`dash`}),e.describe(`scales`,{_fallback:`scale`}),e.describe(`scale.ticks`,{_scriptable:e=>e!==`backdropPadding`&&e!==`callback`,_indexable:e=>e!==`backdropPadding`})}var nV=Object.create(null),rV=Object.create(null);function iV(e,t){if(!t)return e;let n=t.split(`.`);for(let t=0,r=n.length;te.chart.platform.getDevicePixelRatio(),this.elements={},this.events=[`mousemove`,`mouseout`,`click`,`touchstart`,`touchmove`],this.font={family:`'Helvetica Neue', 'Helvetica', 'Arial', sans-serif`,size:12,style:`normal`,lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>WB(t.backgroundColor),this.hoverBorderColor=(e,t)=>WB(t.borderColor),this.hoverColor=(e,t)=>WB(t.color),this.indexAxis=`x`,this.interaction={mode:`nearest`,intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return aV(this,e,t)}get(e){return iV(this,e)}describe(e,t){return aV(rV,e,t)}override(e,t){return aV(nV,e,t)}route(e,t,n,r){let i=iV(this,e),a=iV(this,n),o=`_`+t;Object.defineProperties(i,{[o]:{value:i[t],writable:!0},[t]:{enumerable:!0,get(){let e=this[o],t=a[r];return wz(e)?Object.assign({},t,e):Dz(e,t)},set(e){this[o]=e}}})}apply(e){e.forEach(e=>e(this))}}({_scriptable:e=>!e.startsWith(`on`),_indexable:e=>e!==`events`,hover:{_fallback:`interaction`},interaction:{_scriptable:!1,_indexable:!1}},[qB,JB,tV]);function sV(e){return!e||Sz(e.size)||Sz(e.family)?null:(e.style?e.style+` `:``)+(e.weight?e.weight+` `:``)+e.size+`px `+e.family}function cV(e,t,n,r,i){let a=t[i];return a||(a=t[i]=e.measureText(i).width,n.push(i)),a>r&&(r=a),r}function lV(e,t,n,r){r||={};let i=r.data=r.data||{},a=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},a=r.garbageCollect=[],r.font=t),e.save(),e.font=t;let o=0,s=n.length,c,l,u,d,f;for(c=0;cn.length){for(c=0;c0&&e.stroke()}}function mV(e,t,n){return n||=.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&a.strokeColor!==``,c,l;for(e.save(),e.font=i.string,yV(e,a),c=0;c+e||0;function OV(e,t){let n={},r=wz(t),i=r?Object.keys(t):t,a=wz(e)?r?n=>Dz(e[n],e[t[n]]):t=>e[t]:()=>e;for(let e of i)n[e]=DV(a(e));return n}function kV(e){return OV(e,{top:`y`,right:`x`,bottom:`y`,left:`x`})}function AV(e){return OV(e,[`topLeft`,`topRight`,`bottomLeft`,`bottomRight`])}function jV(e){let t=kV(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function MV(e,t){e||={},t||=oV.font;let n=Dz(e.size,t.size);typeof n==`string`&&(n=parseInt(n,10));let r=Dz(e.style,t.style);r&&!(``+r).match(TV)&&(console.warn(`Invalid font style specified: "`+r+`"`),r=void 0);let i={family:Dz(e.family,t.family),lineHeight:EV(Dz(e.lineHeight,t.lineHeight),n),size:n,style:r,weight:Dz(e.weight,t.weight),string:``};return i.string=sV(i),i}function NV(e,t,n,r){let i=!0,a,o,s;for(a=0,o=e.length;an&&e===0?0:e+t;return{min:o(r,-Math.abs(a)),max:o(i,a)}}function FV(e,t){return Object.assign(Object.create(e),t)}function IV(e,t=[``],n,r,i=()=>e[0]){let a=n||e;return r===void 0&&(r=QV(`_fallback`,e)),new Proxy({[Symbol.toStringTag]:`Object`,_cacheable:!0,_scopes:e,_rootScopes:a,_fallback:r,_getTarget:i,override:n=>IV([n,...e],t,a,r)},{deleteProperty(t,n){return delete t[n],delete t._keys,delete e[0][n],!0},get(n,r){return VV(n,r,()=>ZV(r,t,e,n))},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e._scopes[0],t)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(e,t){return $V(e).includes(t)},ownKeys(e){return $V(e)},set(e,t,n){let r=e._storage||=i();return e[t]=r[t]=n,delete e._keys,!0}})}function LV(e,t,n,r){let i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:RV(e,r),setContext:t=>LV(e,t,n,r),override:i=>LV(e.override(i),t,n,r)};return new Proxy(i,{deleteProperty(t,n){return delete t[n],delete e[n],!0},get(e,t,n){return VV(e,t,()=>HV(e,t,n))},getOwnPropertyDescriptor(t,n){return t._descriptors.allKeys?Reflect.has(e,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,n)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(t,n){return Reflect.has(e,n)},ownKeys(){return Reflect.ownKeys(e)},set(t,n,r){return e[n]=r,delete t[n],!0}})}function RV(e,t={scriptable:!0,indexable:!0}){let{_scriptable:n=t.scriptable,_indexable:r=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:r,isScriptable:Gz(n)?n:()=>n,isIndexable:Gz(r)?r:()=>r}}var zV=(e,t)=>e?e+Uz(t):t,BV=(e,t)=>wz(t)&&e!==`adapters`&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function VV(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t===`constructor`)return e[t];let r=n();return e[t]=r,r}function HV(e,t,n){let{_proxy:r,_context:i,_subProxy:a,_descriptors:o}=e,s=r[t];return Gz(s)&&o.isScriptable(t)&&(s=UV(t,s,e,n)),Cz(s)&&s.length&&(s=WV(t,s,e,o.isIndexable)),BV(t,s)&&(s=LV(s,i,a&&a[t],o)),s}function UV(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_stack:s}=n;if(s.has(e))throw Error(`Recursion detected: `+Array.from(s).join(`->`)+`->`+e);s.add(e);let c=t(a,o||r);return s.delete(e),BV(e,c)&&(c=JV(i._scopes,i,e,c)),c}function WV(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_descriptors:s}=n;if(a.index!==void 0&&r(e))return t[a.index%t.length];if(wz(t[0])){let n=t,r=i._scopes.filter(e=>e!==n);t=[];for(let c of n){let n=JV(r,i,e,c);t.push(LV(n,a,o&&o[e],s))}}return t}function GV(e,t,n){return Gz(e)?e(t,n):e}var KV=(e,t)=>e===!0?t:typeof e==`string`?Hz(t,e):void 0;function qV(e,t,n,r,i){for(let a of t){let t=KV(n,a);if(t){e.add(t);let a=GV(t._fallback,n,i);if(a!==void 0&&a!==n&&a!==r)return a}else if(t===!1&&r!==void 0&&n!==r)return null}return!1}function JV(e,t,n,r){let i=t._rootScopes,a=GV(t._fallback,n,r),o=[...e,...i],s=new Set;s.add(r);let c=YV(s,o,n,a||n,r);return c===null||a!==void 0&&a!==n&&(c=YV(s,o,a,c,r),c===null)?!1:IV(Array.from(s),[``],i,a,()=>XV(t,n,r))}function YV(e,t,n,r,i){for(;n;)n=qV(e,t,n,r,i);return n}function XV(e,t,n){let r=e._getTarget();t in r||(r[t]={});let i=r[t];return Cz(i)&&wz(n)?n:i||{}}function ZV(e,t,n,r){let i;for(let a of t)if(i=QV(zV(a,e),n),i!==void 0)return BV(e,i)?JV(n,r,e,i):i}function QV(e,t){for(let n of t){if(!n)continue;let t=n[e];if(t!==void 0)return t}}function $V(e){let t=e._keys;return t||=e._keys=eH(e._scopes),t}function eH(e){let t=new Set;for(let n of e)for(let e of Object.keys(n).filter(e=>!e.startsWith(`_`)))t.add(e);return Array.from(t)}function tH(e,t,n,r){let{iScale:i}=e,{key:a=`r`}=this._parsing,o=Array(r),s,c,l,u;for(s=0,c=r;ste===`x`?`y`:`x`;function aH(e,t,n,r){let i=e.skip?t:e,a=t,o=n.skip?t:n,s=hB(a,i),c=hB(o,a),l=s/(s+c),u=c/(s+c);l=isNaN(l)?0:l,u=isNaN(u)?0:u;let d=r*l,f=r*u;return{previous:{x:a.x-d*(o.x-i.x),y:a.y-d*(o.y-i.y)},next:{x:a.x+f*(o.x-i.x),y:a.y+f*(o.y-i.y)}}}function oH(e,t,n){let r=e.length,i,a,o,s,c,l=rH(e,0);for(let u=0;u!e.skip)),t.cubicInterpolationMode===`monotone`)cH(e,i);else{let n=r?e[e.length-1]:e[0];for(a=0,o=e.length;ae.ownerDocument.defaultView.getComputedStyle(e,null);function gH(e,t){return hH(e).getPropertyValue(t)}var _H=[`top`,`right`,`bottom`,`left`];function vH(e,t,n){let r={};n=n?`-`+n:``;for(let i=0;i<4;i++){let a=_H[i];r[a]=parseFloat(e[t+`-`+a+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}var yH=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function bH(e,t){let n=e.touches,r=n&&n.length?n[0]:e,{offsetX:i,offsetY:a}=r,o=!1,s,c;if(yH(i,a,e.target))s=i,c=a;else{let e=t.getBoundingClientRect();s=r.clientX-e.left,c=r.clientY-e.top,o=!0}return{x:s,y:c,box:o}}function xH(e,t){if(`native`in e)return e;let{canvas:n,currentDevicePixelRatio:r}=t,i=hH(n),a=i.boxSizing===`border-box`,o=vH(i,`padding`),s=vH(i,`border`,`width`),{x:c,y:l,box:u}=bH(e,n),d=o.left+(u&&s.left),f=o.top+(u&&s.top),{width:p,height:m}=t;return a&&(p-=o.width+s.width,m-=o.height+s.height),{x:Math.round((c-d)/p*n.width/r),y:Math.round((l-f)/m*n.height/r)}}function SH(e,t,n){let r,i;if(t===void 0||n===void 0){let a=e&&pH(e);if(!a)t=e.clientWidth,n=e.clientHeight;else{let e=a.getBoundingClientRect(),o=hH(a),s=vH(o,`border`,`width`),c=vH(o,`padding`);t=e.width-c.width-s.width,n=e.height-c.height-s.height,r=mH(o.maxWidth,a,`clientWidth`),i=mH(o.maxHeight,a,`clientHeight`)}}return{width:t,height:n,maxWidth:r||Zz,maxHeight:i||Zz}}var CH=e=>Math.round(e*10)/10;function wH(e,t,n,r){let i=hH(e),a=vH(i,`margin`),o=mH(i.maxWidth,e,`clientWidth`)||Zz,s=mH(i.maxHeight,e,`clientHeight`)||Zz,c=SH(e,t,n),{width:l,height:u}=c;if(i.boxSizing===`content-box`){let e=vH(i,`border`,`width`),t=vH(i,`padding`);l-=t.width+e.width,u-=t.height+e.height}return l=Math.max(0,l-a.width),u=Math.max(0,r?l/r:u-a.height),l=CH(Math.min(l,o,c.maxWidth)),u=CH(Math.min(u,s,c.maxHeight)),l&&!u&&(u=CH(l/2)),(t!==void 0||n!==void 0)&&r&&c.height&&u>c.height&&(u=c.height,l=CH(Math.floor(u*r))),{width:l,height:u}}function TH(e,t,n){let r=t||1,i=CH(e.height*r),a=CH(e.width*r);e.height=CH(e.height),e.width=CH(e.width);let o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==r||o.height!==i||o.width!==a?(e.currentDevicePixelRatio=r,o.height=i,o.width=a,e.ctx.setTransform(r,0,0,r,0,0),!0):!1}var EH=function(){let e=!1;try{let t={get passive(){return e=!0,!1}};fH()&&(window.addEventListener(`test`,null,t),window.removeEventListener(`test`,null,t))}catch{}return e}();function DH(e,t){let n=gH(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function OH(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function kH(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:r===`middle`?n<.5?e.y:t.y:r===`after`?n<1?e.y:t.y:n>0?t.y:e.y}}function AH(e,t,n,r){let i={x:e.cp2x,y:e.cp2y},a={x:t.cp1x,y:t.cp1y},o=OH(e,i,n),s=OH(i,a,n),c=OH(a,t,n);return OH(OH(o,s,n),OH(s,c,n),n)}var jH=function(e,t){return{x(n){return e+e+t-n},setWidth(e){t=e},textAlign(e){return e===`center`?e:e===`right`?`left`:`right`},xPlus(e,t){return e-t},leftForLtr(e,t){return e-t}}},MH=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function NH(e,t,n){return e?jH(t,n):MH()}function PH(e,t){let n,r;(t===`ltr`||t===`rtl`)&&(n=e.canvas.style,r=[n.getPropertyValue(`direction`),n.getPropertyPriority(`direction`)],n.setProperty(`direction`,t,`important`),e.prevTextDirection=r)}function FH(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty(`direction`,t[0],t[1]))}function IH(e){return e===`angle`?{between:vB,compare:gB,normalize:_B}:{between:xB,compare:(e,t)=>e-t,normalize:e=>e}}function LH({start:e,end:t,count:n,loop:r,style:i}){return{start:e%n,end:t%n,loop:r&&(t-e+1)%n===0,style:i}}function RH(e,t,n){let{property:r,start:i,end:a}=n,{between:o,normalize:s}=IH(r),c=t.length,{start:l,end:u,loop:d}=e,f,p;if(d){for(l+=c,u+=c,f=0,p=c;fc(i,y,_)&&s(i,y)!==0,x=()=>s(a,_)===0||c(a,y,_),S=()=>h||b(),C=()=>!h||x();for(let e=u,n=u;e<=d;++e)v=t[e%o],!v.skip&&(_=l(v[r]),_!==y&&(h=c(_,i,a),g===null&&S()&&(g=s(_,i)===0?e:n),g!==null&&C()&&(m.push(LH({start:g,end:e,loop:f,count:o,style:p})),g=null),n=e,y=_));return g!==null&&m.push(LH({start:g,end:d,loop:f,count:o,style:p})),m}function BH(e,t){let n=[],r=e.segments;for(let i=0;ii&&e[a%t].skip;)a--;return a%=t,{start:i,end:a}}function HH(e,t,n,r){let i=e.length,a=[],o=t,s=e[t],c;for(c=t+1;c<=n;++c){let n=e[c%i];n.skip||n.stop?s.skip||(r=!1,a.push({start:t%i,end:(c-1)%i,loop:r}),t=o=n.stop?c:null):(o=c,s.skip&&(t=c)),s=n}return o!==null&&a.push({start:t%i,end:o%i,loop:r}),a}function UH(e,t){let n=e.points,r=e.options.spanGaps,i=n.length;if(!i)return[];let a=!!e._loop,{start:o,end:s}=VH(n,i,a,r);return r===!0?WH(e,[{start:o,end:s,loop:a}],n,t):WH(e,HH(n,o,sr({chart:e,initial:t.initial,numSteps:a,currentStep:Math.min(n-t.start,a)}))}_refresh(){this._request||=(this._running=!0,AB.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((n,r)=>{if(!n.running||!n.items.length)return;let i=n.items,a=i.length-1,o=!1,s;for(;a>=0;--a)s=i[a],s._active?(s._total>n.duration&&(n.duration=s._total),s.tick(e),o=!0):(i[a]=i[i.length-1],i.pop());o&&(r.draw(),this._notify(r,n,e,`progress`)),i.length||(n.running=!1,this._notify(r,n,e,`complete`),n.initial=!1),t+=i.length}),this._lastDate=e,t===0&&(this._running=!1)}_getAnims(e){let t=this._charts,n=t.get(e);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,n)),n}listen(e,t,n){this._getAnims(e).listeners[t].push(n)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){let t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((e,t)=>Math.max(e,t._duration),0),this._refresh())}running(e){if(!this._running)return!1;let t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){let t=this._charts.get(e);if(!t||!t.items.length)return;let n=t.items,r=n.length-1;for(;r>=0;--r)n[r].cancel();t.items=[],this._notify(e,t,Date.now(),`complete`)}remove(e){return this._charts.delete(e)}},QH=`transparent`,$H={boolean(e,t,n){return n>.5?t:e},color(e,t,n){let r=UB(e||QH),i=r.valid&&UB(t||QH);return i&&i.valid?i.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}},eU=class{constructor(e,t,n,r){let i=t[n];r=NV([e.to,r,i,e.from]);let a=NV([e.from,i,r]);this._active=!0,this._fn=e.fn||$H[e.type||typeof a],this._easing=VB[e.easing]||VB.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=n,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,n){if(this._active){this._notify(!1);let r=this._target[this._prop],i=n-this._start,a=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(a,e.duration)),this._total+=i,this._loop=!!e.loop,this._to=NV([e.to,t,r,e.from]),this._from=NV([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){let t=e-this._start,n=this._duration,r=this._prop,i=this._from,a=this._loop,o=this._to,s;if(this._active=i!==o&&(a||t1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[r]=this._fn(i,o,s)}wait(){let e=this._promises||=[];return new Promise((t,n)=>{e.push({res:t,rej:n})})}_notify(e){let t=e?`res`:`rej`,n=this._promises||[];for(let e=0;e{let i=e[r];if(!wz(i))return;let a={};for(let e of t)a[e]=i[e];(Cz(i.properties)&&i.properties||[r]).forEach(e=>{(e===r||!n.has(e))&&n.set(e,a)})})}_animateOptions(e,t){let n=t.options,r=rU(e,n);if(!r)return[];let i=this._createAnimations(r,n);return n.$shared&&nU(e.options.$animations,n).then(()=>{e.options=n},()=>{}),i}_createAnimations(e,t){let n=this._properties,r=[],i=e.$animations||={},a=Object.keys(t),o=Date.now(),s;for(s=a.length-1;s>=0;--s){let c=a[s];if(c.charAt(0)===`$`)continue;if(c===`options`){r.push(...this._animateOptions(e,t));continue}let l=t[c],u=i[c],d=n.get(c);if(u)if(d&&u.active()){u.update(d,l,o);continue}else u.cancel();if(!d||!d.duration){e[c]=l;continue}i[c]=u=new eU(d,e,c,l),r.push(u)}return r}update(e,t){if(this._properties.size===0){Object.assign(e,t);return}let n=this._createAnimations(e,t);if(n.length)return ZH.add(this._chart,n),!0}};function nU(e,t){let n=[],r=Object.keys(t);for(let t=0;t0||!n&&t<0)return i.index}return null}function hU(e,t){let{chart:n,_cachedMeta:r}=e,i=n._stacks||={},{iScale:a,vScale:o,index:s}=r,c=a.axis,l=o.axis,u=dU(a,o,r),d=t.length,f;for(let e=0;en[e].axis===t).shift()}function _U(e,t){return FV(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:`default`,type:`dataset`})}function vU(e,t,n){return FV(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:`default`,type:`data`})}function yU(e,t){let n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t||=e._parsed;for(let e of t){let t=e._stacks;if(!t||t[r]===void 0||t[r][n]===void 0)return;delete t[r][n],t[r]._visualValues!==void 0&&t[r]._visualValues[n]!==void 0&&delete t[r]._visualValues[n]}}}var bU=e=>e===`reset`||e===`none`,xU=(e,t)=>t?e:Object.assign({},e),SU=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:sU(n,!0),values:null},CU=class{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=uU(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled(`filler`)&&console.warn(`Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options`)}updateIndex(e){this.index!==e&&yU(this._cachedMeta),this.index=e}linkScales(){let e=this.chart,t=this._cachedMeta,n=this.getDataset(),r=(e,t,n,r)=>e===`x`?t:e===`r`?r:n,i=t.xAxisID=Dz(n.xAxisID,gU(e,`x`)),a=t.yAxisID=Dz(n.yAxisID,gU(e,`y`)),o=t.rAxisID=Dz(n.rAxisID,gU(e,`r`)),s=t.indexAxis,c=t.iAxisID=r(s,i,a,o),l=t.vAxisID=r(s,a,i,o);t.xScale=this.getScaleForId(i),t.yScale=this.getScaleForId(a),t.rScale=this.getScaleForId(o),t.iScale=this.getScaleForId(c),t.vScale=this.getScaleForId(l)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){let t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update(`reset`)}_destroy(){let e=this._cachedMeta;this._data&&OB(this._data,this),e._stacked&&yU(e)}_dataCheck(){let e=this.getDataset(),t=e.data||=[],n=this._data;if(wz(t)){let e=this._cachedMeta;this._data=lU(t,e)}else if(n!==t){if(n){OB(n,this);let e=this._cachedMeta;yU(e),e._parsed=[]}t&&Object.isExtensible(t)&&DB(t,this),this._syncList=[],this._data=t}}addElements(){let e=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(e.dataset=new this.datasetElementType)}buildOrUpdateElements(e){let t=this._cachedMeta,n=this.getDataset(),r=!1;this._dataCheck();let i=t._stacked;t._stacked=uU(t.vScale,t),t.stack!==n.stack&&(r=!0,yU(t),t.stack=n.stack),this._resyncElements(e),(r||i!==t._stacked)&&(hU(this,t._parsed),t._stacked=uU(t.vScale,t))}configure(){let e=this.chart.config,t=e.datasetScopeKeys(this._type),n=e.getOptionScopes(this.getDataset(),t,!0);this.options=e.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(e,t){let{_cachedMeta:n,_data:r}=this,{iScale:i,_stacked:a}=n,o=i.axis,s=e===0&&t===r.length||n._sorted,c=e>0&&n._parsed[e-1],l,u,d;if(this._parsing===!1)n._parsed=r,n._sorted=!0,d=r;else{d=Cz(r[e])?this.parseArrayData(n,r,e,t):wz(r[e])?this.parseObjectData(n,r,e,t):this.parsePrimitiveData(n,r,e,t);let i=()=>u[o]===null||c&&u[o]t||u=0;--d)if(!p()){this.updateRangeFromParsed(c,e,f,s);break}}return c}getAllParsedValues(e){let t=this._cachedMeta._parsed,n=[],r,i,a;for(r=0,i=t.length;r=0&&ethis.getContext(n,r,t),u);return p.$shared&&(p.$shared=s,i[a]=Object.freeze(xU(p,s))),p}_resolveAnimations(e,t,n){let r=this.chart,i=this._cachedDataOpts,a=`animation-${t}`,o=i[a];if(o)return o;let s;if(r.options.animation!==!1){let r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,t),a=r.getOptionScopes(this.getDataset(),i);s=r.createResolver(a,this.getContext(e,n,t))}let c=new tU(r,s&&s.animations);return s&&s._cacheable&&(i[a]=Object.freeze(c)),c}getSharedOptions(e){if(e.$shared)return this._sharedOptions||=Object.assign({},e)}includeOptions(e,t){return!t||bU(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){let n=this.resolveDataElementOptions(e,t),r=this._sharedOptions,i=this.getSharedOptions(n),a=this.includeOptions(t,i)||i!==r;return this.updateSharedOptions(i,t,n),{sharedOptions:i,includeOptions:a}}updateElement(e,t,n,r){bU(r)?Object.assign(e,n):this._resolveAnimations(t,r).update(e,n)}updateSharedOptions(e,t,n){e&&!bU(t)&&this._resolveAnimations(void 0,t).update(e,n)}_setStyle(e,t,n,r){e.active=r;let i=this.getStyle(t,r);this._resolveAnimations(t,n,r).update(e,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(e,t,n){this._setStyle(e,n,`active`,!1)}setHoverStyle(e,t,n){this._setStyle(e,n,`active`,!0)}_removeDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!1)}_setDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!0)}_resyncElements(e){let t=this._data,n=this._cachedMeta.data;for(let[e,t,n]of this._syncList)this[e](t,n);this._syncList=[];let r=n.length,i=t.length,a=Math.min(i,r);a&&this.parse(0,a),i>r?this._insertElements(r,i-r,e):i{for(e.length+=t,o=e.length-1;o>=a;o--)e[o]=e[o-t]};for(s(i),o=e;oe-t))}return e._cache.$bar}function TU(e){let t=e.iScale,n=wU(t,e.type),r=t._length,i,a,o,s,c=()=>{o===32767||o===-32768||(Wz(s)&&(r=Math.min(r,Math.abs(o-s)||r)),s=o)};for(i=0,a=n.length;i0?i[e-1]:null,s=eMath.abs(s)&&(c=s,l=o),t[n.axis]=l,t._custom={barStart:c,barEnd:l,start:i,end:a,min:o,max:s}}function kU(e,t,n,r){return Cz(e)?OU(e,t,n,r):t[n.axis]=n.parse(e,r),t}function AU(e,t,n,r){let i=e.iScale,a=e.vScale,o=i.getLabels(),s=i===a,c=[],l,u,d,f;for(l=n,u=n+r;l=n?1:-1):rB(e)}function NU(e){let t,n,r,i,a;return e.horizontal?(t=e.base>e.x,n=`left`,r=`right`):(t=e.basee.controller.options.grouped),i=n.options.stacked,a=[],o=this._cachedMeta.controller.getParsed(t),s=o&&o[n.axis],c=e=>{let t=e._parsed.find(e=>e[n.axis]===s),r=t&&t[e.vScale.axis];if(Sz(r)||isNaN(r))return!0};for(let n of r)if(!(t!==void 0&&c(n))&&((i===!1||a.indexOf(n.stack)===-1||i===void 0&&n.stack===void 0)&&a.push(n.stack),n.index===e))break;return a.length||a.push(void 0),a}_getStackCount(e){return this._getStacks(void 0,e).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let e=this.chart.scales,t=this.chart.options.indexAxis;return Object.keys(e).filter(n=>e[n].axis===t).shift()}_getAxis(){let e={},t=this.getFirstScaleIdForIndexAxis();for(let n of this.chart.data.datasets)e[Dz(this.chart.options.indexAxis===`x`?n.xAxisID:n.yAxisID,t)]=!0;return Object.keys(e)}_getStackIndex(e,t,n){let r=this._getStacks(e,n),i=t===void 0?-1:r.indexOf(t);return i===-1?r.length-1:i}_getRuler(){let e=this.options,t=this._cachedMeta,n=t.iScale,r=[],i,a;for(i=0,a=t.data.length;i=0;--n)t=Math.max(t,e[n].size(this.resolveDataElementOptions(n))/2);return t>0&&t}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart.data.labels||[],{xScale:r,yScale:i}=t,a=this.getParsed(e),o=r.getLabelForValue(a.x),s=i.getLabelForValue(a.y),c=a._custom;return{label:n[e]||``,value:`(`+o+`, `+s+(c?`, `+c:``)+`)`}}update(e){let t=this._cachedMeta.data;this.updateElements(t,0,t.length,e)}updateElements(e,t,n,r){let i=r===`reset`,{iScale:a,vScale:o}=this._cachedMeta,{sharedOptions:s,includeOptions:c}=this._getSharedOptions(t,r),l=a.axis,u=o.axis;for(let d=t;dvB(e,s,c,!0)?1:Math.max(t,t*n,r,r*n),m=(e,t,r)=>vB(e,s,c,!0)?-1:Math.min(t,t*n,r,r*n),h=p(0,l,d),g=p($z,u,f),_=m(Jz,l,d),v=m(Jz+$z,u,f);r=(h-_)/2,i=(g-v)/2,a=-(h+_)/2,o=-(g+v)/2}return{ratioX:r,ratioY:i,offsetX:a,offsetY:o}}var HU=class extends CU{static id=`doughnut`;static defaults={datasetElementType:!1,dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:`number`,properties:[`circumference`,`endAngle`,`innerRadius`,`outerRadius`,`startAngle`,`x`,`y`,`offset`,`borderWidth`,`spacing`]}},cutout:`50%`,rotation:0,circumference:360,radius:`100%`,spacing:0,indexAxis:`r`};static descriptors={_scriptable:e=>e!==`spacing`,_indexable:e=>e!==`spacing`&&!e.startsWith(`borderDash`)&&!e.startsWith(`hoverBorderDash`)};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data,{labels:{pointStyle:n,textAlign:r,color:i,useBorderRadius:a,borderRadius:o}}=e.legend.options;return t.labels.length&&t.datasets.length?t.labels.map((t,s)=>{let c=e.getDatasetMeta(0).controller.getStyle(s);return{text:t,fillStyle:c.backgroundColor,fontColor:i,hidden:!e.getDataVisibility(s),lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,textAlign:r,pointStyle:n,borderRadius:a&&(o||c.borderRadius),index:s}}):[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}}};constructor(e,t){super(e,t),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,t){let n=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=n;else{let i=e=>+n[e];if(wz(n[e])){let{key:e=`value`}=this._parsing;i=t=>+Hz(n[t],e)}let a,o;for(a=e,o=e+t;a0&&!isNaN(e)?Math.abs(e)/t*Yz:0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=ZB(t._parsed[e],n.options.locale);return{label:r[e]||``,value:i}}getMaxBorderWidth(e){let t=0,n=this.chart,r,i,a,o,s;if(!e){for(r=0,i=n.data.datasets.length;r0&&this.getParsed(t-1);for(let n=0;n=_){v.skip=!0;continue}let b=this.getParsed(n),x=Sz(b[f]),S=v[d]=a.getPixelForValue(b[d],n),C=v[f]=i||x?o.getBasePixel():o.getPixelForValue(s?this.applyStack(o,b,s):b[f],n);v.skip=isNaN(S)||isNaN(C)||x,v.stop=n>0&&Math.abs(b[d]-y[d])>h,m&&(v.parsed=b,v.raw=c.data[n]),u&&(v.options=l||this.resolveDataElementOptions(n,p.active?`active`:r)),g||this.updateElement(p,n,v,r),y=b}}getMaxOverflow(){let e=this._cachedMeta,t=e.dataset,n=t.options&&t.options.borderWidth||0,r=e.data||[];if(!r.length)return n;let i=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,a)/2}draw(){let e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}},WU=class extends CU{static id=`polarArea`;static defaults={dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:`number`,properties:[`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`]}},indexAxis:`r`,startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:n,color:r}}=e.legend.options;return t.labels.map((t,i)=>{let a=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,fontColor:r,lineWidth:a.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}})}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}},scales:{r:{type:`radialLinear`,angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(e,t){super(e,t),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=ZB(t._parsed[e].r,n.options.locale);return{label:r[e]||``,value:i}}parseObjectData(e,t,n,r){return tH.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta.data;this._updateRadius(),this.updateElements(t,0,t.length,e)}getMinMax(){let e=this._cachedMeta,t={min:1/0,max:-1/0};return e.data.forEach((e,n)=>{let r=this.getParsed(n).r;!isNaN(r)&&this.chart.getDataVisibility(n)&&(rt.max&&(t.max=r))}),t}_updateRadius(){let e=this.chart,t=e.chartArea,n=e.options,r=Math.min(t.right-t.left,t.bottom-t.top),i=Math.max(r/2,0),a=(i-Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=i-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(e,t,n,r){let i=r===`reset`,a=this.chart,o=a.options.animation,s=this._cachedMeta.rScale,c=s.xCenter,l=s.yCenter,u=s.getIndexAngle(0)-.5*Jz,d=u,f,p=360/this.countVisibleElements();for(f=0;f{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&t++}),t}_computeAngle(e,t,n){return this.chart.getDataVisibility(e)?dB(this.resolveDataElementOptions(e,t).angle||n):0}},GU=Object.freeze({__proto__:null,BarController:zU,BubbleController:BU,DoughnutController:HU,LineController:UU,PieController:class extends HU{static id=`pie`;static defaults={cutout:0,rotation:0,circumference:360,radius:`100%`}},PolarAreaController:WU,RadarController:class extends CU{static id=`radar`;static defaults={datasetElementType:`line`,dataElementType:`point`,indexAxis:`r`,showLine:!0,elements:{line:{fill:`start`}}};static overrides={aspectRatio:1,scales:{r:{type:`radialLinear`}}};getLabelAndValue(e){let t=this._cachedMeta.vScale,n=this.getParsed(e);return{label:t.getLabels()[e],value:``+t.getLabelForValue(n[t.axis])}}parseObjectData(e,t,n,r){return tH.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta,n=t.dataset,r=t.data||[],i=t.iScale.getLabels();if(n.points=r,e!==`resize`){let t=this.resolveDatasetElementOptions(e);this.options.showLine||(t.borderWidth=0);let a={_loop:!0,_fullLoop:i.length===r.length,options:t};this.updateElement(n,void 0,a,e)}this.updateElements(r,0,r.length,e)}updateElements(e,t,n,r){let i=this._cachedMeta.rScale,a=r===`reset`;for(let o=t;o0&&this.getParsed(t-1);for(let l=t;l0&&Math.abs(n[f]-v[f])>g,h&&(m.parsed=n,m.raw=c.data[l]),d&&(m.options=u||this.resolveDataElementOptions(l,t.active?`active`:r)),_||this.updateElement(t,l,m,r),v=n}this.updateSharedOptions(u,r,l)}getMaxOverflow(){let e=this._cachedMeta,t=e.data||[];if(!this.options.showLine){let e=0;for(let n=t.length-1;n>=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}let n=e.dataset,r=n.options&&n.options.borderWidth||0;if(!t.length)return r;let i=t[0].size(this.resolveDataElementOptions(0)),a=t[t.length-1].size(this.resolveDataElementOptions(t.length-1));return Math.max(r,i,a)/2}}});function KU(){throw Error(`This method is not implemented: Check that a complete date adapter is provided.`)}var qU={_date:class e{static override(t){Object.assign(e.prototype,t)}options;constructor(e){this.options=e||{}}init(){}formats(){return KU()}parse(){return KU()}format(){return KU()}add(){return KU()}diff(){return KU()}startOf(){return KU()}endOf(){return KU()}}};function JU(e,t,n,r){let{controller:i,data:a,_sorted:o}=e,s=i._cachedMeta.iScale,c=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(s&&t===s.axis&&t!==`r`&&o&&a.length){let o=s._reversePixels?wB:CB;if(!r){let r=o(a,t,n);if(c){let{vScale:t}=i._cachedMeta,{_parsed:n}=e,a=n.slice(0,r.lo+1).reverse().findIndex(e=>!Sz(e[t.axis]));r.lo-=Math.max(0,a);let o=n.slice(r.hi).findIndex(e=>!Sz(e[t.axis]));r.hi+=Math.max(0,o)}return r}else if(i._sharedOptions){let e=a[0],r=typeof e.getRange==`function`&&e.getRange(t);if(r){let e=o(a,t,n-r),i=o(a,t,n+r);return{lo:e.lo,hi:i.hi}}}}return{lo:0,hi:a.length-1}}function YU(e,t,n,r,i){let a=e.getSortedVisibleDatasetMetas(),o=n[t];for(let e=0,n=a.length;e{e[o]&&e[o](t[n],i)&&(a.push({element:e,datasetIndex:r,index:c}),s||=e.inRange(t.x,t.y,i))}),r&&!s?[]:a}var nW={evaluateInteractionItems:YU,modes:{index(e,t,n,r){let i=xH(t,e),a=n.axis||`x`,o=n.includeInvisible||!1,s=n.intersect?ZU(e,i,a,r,o):eW(e,i,a,!1,r,o),c=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach(e=>{let t=s[0].index,n=e.data[t];n&&!n.skip&&c.push({element:n,datasetIndex:e.index,index:t})}),c):[]},dataset(e,t,n,r){let i=xH(t,e),a=n.axis||`xy`,o=n.includeInvisible||!1,s=n.intersect?ZU(e,i,a,r,o):eW(e,i,a,!1,r,o);if(s.length>0){let t=s[0].datasetIndex,n=e.getDatasetMeta(t).data;s=[];for(let e=0;ee.pos===t)}function aW(e,t){return e.filter(e=>rW.indexOf(e.pos)===-1&&e.box.axis===t)}function oW(e,t){return e.sort((e,n)=>{let r=t?n:e,i=t?e:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight})}function sW(e){let t=[],n,r,i,a,o,s;for(n=0,r=(e||[]).length;ne.box.fullSize),!0),r=oW(iW(t,`left`),!0),i=oW(iW(t,`right`)),a=oW(iW(t,`top`),!0),o=oW(iW(t,`bottom`)),s=aW(t,`x`),c=aW(t,`y`);return{fullSize:n,leftAndTop:r.concat(a),rightAndBottom:i.concat(c).concat(o).concat(s),chartArea:iW(t,`chartArea`),vertical:r.concat(i).concat(c),horizontal:a.concat(o).concat(s)}}function dW(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function fW(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function pW(e,t,n,r){let{pos:i,box:a}=n,o=e.maxPadding;if(!wz(i)){n.size&&(e[i]-=n.size);let t=r[n.stack]||{size:0,count:1};t.size=Math.max(t.size,n.horizontal?a.height:a.width),n.size=t.size/t.count,e[i]+=n.size}a.getPadding&&fW(o,a.getPadding());let s=Math.max(0,t.outerWidth-dW(o,e,`left`,`right`)),c=Math.max(0,t.outerHeight-dW(o,e,`top`,`bottom`)),l=s!==e.w,u=c!==e.h;return e.w=s,e.h=c,n.horizontal?{same:l,other:u}:{same:u,other:l}}function mW(e){let t=e.maxPadding;function n(n){let r=Math.max(t[n]-e[n],0);return e[n]+=r,r}e.y+=n(`top`),e.x+=n(`left`),n(`right`),n(`bottom`)}function hW(e,t){let n=t.maxPadding;function r(e){let r={left:0,top:0,right:0,bottom:0};return e.forEach(e=>{r[e]=Math.max(t[e],n[e])}),r}return r(e?[`left`,`right`]:[`top`,`bottom`])}function gW(e,t,n,r){let i=[],a,o,s,c,l,u;for(a=0,o=e.length,l=0;a{typeof e.beforeLayout==`function`&&e.beforeLayout()});let u=c.reduce((e,t)=>t.box.options&&t.box.options.display===!1?e:e+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:a,availableHeight:o,vBoxMaxWidth:a/2/u,hBoxMaxHeight:o/2}),f=Object.assign({},i);fW(f,jV(r));let p=Object.assign({maxPadding:f,w:a,h:o,x:i.left,y:i.top},i),m=lW(c.concat(l),d);gW(s.fullSize,p,d,m),gW(c,p,d,m),gW(l,p,d,m)&&gW(c,p,d,m),mW(p),vW(s.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,vW(s.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},jz(s.chartArea,t=>{let n=t.box;Object.assign(n,e.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}},bW=class{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,n){}removeEventListener(e,t,n){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,n,r){return t=Math.max(0,t||e.width),n||=e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):n)}}isAttached(e){return!0}updateConfig(e){}},xW=class extends bW{acquireContext(e){return e&&e.getContext&&e.getContext(`2d`)||null}updateConfig(e){e.options.animation=!1}},SW=`$chartjs`,CW={touchstart:`mousedown`,touchmove:`mousemove`,touchend:`mouseup`,pointerenter:`mouseenter`,pointerdown:`mousedown`,pointermove:`mousemove`,pointerup:`mouseup`,pointerleave:`mouseout`,pointerout:`mouseout`},wW=e=>e===null||e===``;function TW(e,t){let n=e.style,r=e.getAttribute(`height`),i=e.getAttribute(`width`);if(e[SW]={initial:{height:r,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||`block`,n.boxSizing=n.boxSizing||`border-box`,wW(i)){let t=DH(e,`width`);t!==void 0&&(e.width=t)}if(wW(r))if(e.style.height===``)e.height=e.width/(t||2);else{let t=DH(e,`height`);t!==void 0&&(e.height=t)}return e}var EW=EH?{passive:!0}:!1;function DW(e,t,n){e&&e.addEventListener(t,n,EW)}function OW(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,EW)}function kW(e,t){let n=CW[e.type]||e.type,{x:r,y:i}=xH(e,t);return{type:n,chart:t,native:e,x:r===void 0?null:r,y:i===void 0?null:i}}function AW(e,t){for(let n of e)if(n===t||n.contains(t))return!0}function jW(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=AW(n.addedNodes,r),t&&=!AW(n.removedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function MW(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=AW(n.removedNodes,r),t&&=!AW(n.addedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}var NW=new Map,PW=0;function FW(){let e=window.devicePixelRatio;e!==PW&&(PW=e,NW.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function IW(e,t){NW.size||window.addEventListener(`resize`,FW),NW.set(e,t)}function LW(e){NW.delete(e),NW.size||window.removeEventListener(`resize`,FW)}function RW(e,t,n){let r=e.canvas,i=r&&pH(r);if(!i)return;let a=jB((e,t)=>{let r=i.clientWidth;n(e,t),r{let t=e[0],n=t.contentRect.width,r=t.contentRect.height;n===0&&r===0||a(n,r)});return o.observe(i),IW(e,a),o}function zW(e,t,n){n&&n.disconnect(),t===`resize`&&LW(e)}function BW(e,t,n){let r=e.canvas,i=jB(t=>{e.ctx!==null&&n(kW(t,e))},e);return DW(r,t,i),i}var VW=class extends bW{acquireContext(e,t){let n=e&&e.getContext&&e.getContext(`2d`);return n&&n.canvas===e?(TW(e,t),n):null}releaseContext(e){let t=e.canvas;if(!t[SW])return!1;let n=t[SW].initial;[`height`,`width`].forEach(e=>{let r=n[e];Sz(r)?t.removeAttribute(e):t.setAttribute(e,r)});let r=n.style||{};return Object.keys(r).forEach(e=>{t.style[e]=r[e]}),t.width=t.width,delete t[SW],!0}addEventListener(e,t,n){this.removeEventListener(e,t);let r=e.$proxies||={};r[t]=({attach:jW,detach:MW,resize:RW}[t]||BW)(e,t,n)}removeEventListener(e,t){let n=e.$proxies||={},r=n[t];r&&(({attach:zW,detach:zW,resize:zW}[t]||OW)(e,t,r),n[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,n,r){return wH(e,t,n,r)}isAttached(e){let t=e&&pH(e);return!!(t&&t.isConnected)}};function HW(e){return!fH()||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas?xW:VW}var UW=class{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(e){let{x:t,y:n}=this.getProps([`x`,`y`],e);return{x:t,y:n}}hasValue(){return cB(this.x)&&cB(this.y)}getProps(e,t){let n=this.$animations;if(!t||!n)return this;let r={};return e.forEach(e=>{r[e]=n[e]&&n[e].active()?n[e]._to:this[e]}),r}};function WW(e,t){let n=e.options.ticks,r=GW(e),i=Math.min(n.maxTicksLimit||r,r),a=n.major.enabled?qW(t):[],o=a.length,s=a[0],c=a[o-1],l=[];if(o>i)return JW(t,l,a,o/i),l;let u=KW(a,t,i);if(o>0){let e,n,r=o>1?Math.round((c-s)/(o-1)):null;for(YW(t,l,u,Sz(r)?0:s-r,s),e=0,n=o-1;ei)return t}return Math.max(i,1)}function qW(e){let t=[],n,r;for(n=0,r=e.length;ne===`left`?`right`:e===`right`?`left`:e,QW=(e,t,n)=>t===`top`||t===`left`?e[t]+n:e[t]-n,$W=(e,t)=>Math.min(t||e,e);function eG(e,t){let n=[],r=e.length/t,i=e.length,a=0;for(;ao+s)))return c}function nG(e,t){jz(e,e=>{let n=e.gc,r=n.length/2,i;if(r>t){for(i=0;in?n:t,n=r&&t>n?t:n,{min:Ez(t,Ez(n,t)),max:Ez(n,Ez(t,n))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(e=this.chart.chartArea){return this._labelItems||=this._computeLabelItems(e)}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Az(this.options.beforeUpdate,[this])}update(e,t,n){let{beginAtZero:r,grace:i,ticks:a}=this.options,o=a.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||=(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=PV(this,i,r),!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let s=o=i||n<=1||!this.isHorizontal()){this.labelRotation=r;return}let l=this._getLabelSizes(),u=l.widest.width,d=l.highest.height,f=yB(this.chart.width-u,0,this.maxWidth);o=e.offset?this.maxWidth/n:f/(n-1),u+6>o&&(o=f/(n-(e.offset?.5:1)),s=this.maxHeight-rG(e.grid)-t.padding-iG(e.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),a=fB(Math.min(Math.asin(yB((l.highest.height+6)/o,-1,1)),Math.asin(yB(s/c,-1,1))-Math.asin(yB(d/c,-1,1)))),a=Math.max(r,Math.min(i,a))),this.labelRotation=a}afterCalculateLabelRotation(){Az(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Az(this.options.beforeFit,[this])}fit(){let e={width:0,height:0},{chart:t,options:{ticks:n,title:r,grid:i}}=this,a=this._isVisible(),o=this.isHorizontal();if(a){let a=iG(r,t.options.font);if(o?(e.width=this.maxWidth,e.height=rG(i)+a):(e.height=this.maxHeight,e.width=rG(i)+a),n.display&&this.ticks.length){let{first:t,last:r,widest:i,highest:a}=this._getLabelSizes(),s=n.padding*2,c=dB(this.labelRotation),l=Math.cos(c),u=Math.sin(c);if(o){let t=n.mirror?0:u*i.width+l*a.height;e.height=Math.min(this.maxHeight,e.height+t+s)}else{let t=n.mirror?0:l*i.width+u*a.height;e.width=Math.min(this.maxWidth,e.width+t+s)}this._calculatePadding(t,r,u,l)}}this._handleMargins(),o?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,n,r){let{ticks:{align:i,padding:a},position:o}=this.options,s=this.labelRotation!==0,c=o!==`top`&&this.axis===`x`;if(this.isHorizontal()){let o=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1),u=0,d=0;s?c?(u=r*e.width,d=n*t.height):(u=n*e.height,d=r*t.width):i===`start`?d=t.width:i===`end`?u=e.width:i!==`inner`&&(u=e.width/2,d=t.width/2),this.paddingLeft=Math.max((u-o+a)*this.width/(this.width-o),0),this.paddingRight=Math.max((d-l+a)*this.width/(this.width-l),0)}else{let n=t.height/2,r=e.height/2;i===`start`?(n=0,r=e.height):i===`end`&&(n=t.height,r=0),this.paddingTop=n+a,this.paddingBottom=r+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Az(this.options.afterFit,[this])}isHorizontal(){let{axis:e,position:t}=this.options;return t===`top`||t===`bottom`||e===`x`}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){this.beforeTickToLabelConversion(),this.generateTickLabels(e);let t,n;for(t=0,n=e.length;t({width:a[e]||0,height:o[e]||0});return{first:C(0),last:C(t-1),widest:C(x),highest:C(S),widths:a,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){let t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);let t=this._startPixel+e*this._length;return bB(this._alignToPixels?uV(this.chart,t,0):t)}getDecimalForPixel(e){let t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){let t=this.ticks||[];if(e>=0&&eo*r?o/n:s/r:s*r0:!!e}_computeGridLineItems(e){let t=this.axis,n=this.chart,r=this.options,{grid:i,position:a,border:o}=r,s=i.offset,c=this.isHorizontal(),l=this.ticks.length+ +!!s,u=rG(i),d=[],f=o.setContext(this.getContext()),p=f.display?f.width:0,m=p/2,h=function(e){return uV(n,e,p)},g,_,v,y,b,x,S,C,w,T,ee,te;if(a===`top`)g=h(this.bottom),x=this.bottom-u,C=g-m,T=h(e.top)+m,te=e.bottom;else if(a===`bottom`)g=h(this.top),T=e.top,te=h(e.bottom)-m,x=g+m,C=this.top+u;else if(a===`left`)g=h(this.right),b=this.right-u,S=g-m,w=h(e.left)+m,ee=e.right;else if(a===`right`)g=h(this.left),w=e.left,ee=h(e.right)-m,b=g+m,S=this.left+u;else if(t===`x`){if(a===`center`)g=h((e.top+e.bottom)/2+.5);else if(wz(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}T=e.top,te=e.bottom,x=g+m,C=x+u}else if(t===`y`){if(a===`center`)g=h((e.left+e.right)/2);else if(wz(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}b=g-m,S=b-u,w=e.left,ee=e.right}let ne=Dz(r.ticks.maxTicksLimit,l),re=Math.max(1,Math.ceil(l/ne));for(_=0;_0&&(a-=r/2);break}f={left:a,top:i,width:r+t.width,height:n+t.height,color:e.backdropColor}}h.push({label:y,font:w,textOffset:te,options:{rotation:m,color:n,strokeColor:s,strokeWidth:l,textAlign:d,textBaseline:ne,translation:[b,x],backdrop:f}})}return h}_getXAxisLabelAlignment(){let{position:e,ticks:t}=this.options;if(-dB(this.labelRotation))return e===`top`?`left`:`right`;let n=`center`;return t.align===`start`?n=`left`:t.align===`end`?n=`right`:t.align===`inner`&&(n=`inner`),n}_getYAxisLabelAlignment(e){let{position:t,ticks:{crossAlign:n,mirror:r,padding:i}}=this.options,a=this._getLabelSizes(),o=e+i,s=a.widest.width,c,l;return t===`left`?r?(l=this.right+i,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l+=s)):(l=this.right-o,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l=this.left)):t===`right`?r?(l=this.left+i,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l-=s)):(l=this.left+o,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l=this.right)):c=`right`,{textAlign:c,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;let e=this.chart,t=this.options.position;if(t===`left`||t===`right`)return{top:0,left:this.left,bottom:e.height,right:this.right};if(t===`top`||t===`bottom`)return{top:this.top,left:0,bottom:this.bottom,right:e.width}}drawBackground(){let{ctx:e,options:{backgroundColor:t},left:n,top:r,width:i,height:a}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(n,r,i,a),e.restore())}getLineWidthForValue(e){let t=this.options.grid;if(!this._isVisible()||!t.display)return 0;let n=this.ticks.findIndex(t=>t.value===e);return n>=0?t.setContext(this.getContext(n)).lineWidth:0}drawGrid(e){let t=this.options.grid,n=this.ctx,r=this._gridLineItems||=this._computeGridLineItems(e),i,a,o=(e,t,r)=>{!r.width||!r.color||(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(t.x,t.y),n.stroke(),n.restore())};if(t.display)for(i=0,a=r.length;i{this.draw(e)}}]:[{z:r,draw:e=>{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:e=>{this.drawLabels(e)}}]}getMatchingVisibleMetas(e){let t=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+`AxisID`,r=[],i,a;for(i=0,a=t.length;i{let r=n.split(`.`),i=r.pop(),a=[e].concat(r).join(`.`),o=t[n].split(`.`),s=o.pop(),c=o.join(`.`);oV.route(a,i,c,s)})}function pG(e){return`id`in e&&`defaults`in e}var mG=new class{constructor(){this.controllers=new uG(CU,`datasets`,!0),this.elements=new uG(UW,`elements`),this.plugins=new uG(Object,`plugins`),this.scales=new uG(lG,`scales`),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each(`register`,e)}remove(...e){this._each(`unregister`,e)}addControllers(...e){this._each(`register`,e,this.controllers)}addElements(...e){this._each(`register`,e,this.elements)}addPlugins(...e){this._each(`register`,e,this.plugins)}addScales(...e){this._each(`register`,e,this.scales)}getController(e){return this._get(e,this.controllers,`controller`)}getElement(e){return this._get(e,this.elements,`element`)}getPlugin(e){return this._get(e,this.plugins,`plugin`)}getScale(e){return this._get(e,this.scales,`scale`)}removeControllers(...e){this._each(`unregister`,e,this.controllers)}removeElements(...e){this._each(`unregister`,e,this.elements)}removePlugins(...e){this._each(`unregister`,e,this.plugins)}removeScales(...e){this._each(`unregister`,e,this.scales)}_each(e,t,n){[...t].forEach(t=>{let r=n||this._getRegistryForType(t);n||r.isForType(t)||r===this.plugins&&t.id?this._exec(e,r,t):jz(t,t=>{let r=n||this._getRegistryForType(t);this._exec(e,r,t)})})}_exec(e,t,n){let r=Uz(e);Az(n[`before`+r],[],n),t[e](n),Az(n[`after`+r],[],n)}_getRegistryForType(e){for(let t=0;te.filter(e=>!t.some(t=>e.plugin.id===t.plugin.id));this._notify(r(t,n),e,`stop`),this._notify(r(n,t),e,`start`)}};function gG(e){let t={},n=[],r=Object.keys(mG.plugins.items);for(let e=0;e1&&CG(e[0].toLowerCase());if(t)return t}throw Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function EG(e,t,n){if(n[t+`AxisID`]===e)return{axis:t}}function DG(e,t){if(t.data&&t.data.datasets){let n=t.data.datasets.filter(t=>t.xAxisID===e||t.yAxisID===e);if(n.length)return EG(e,`x`,n[0])||EG(e,`y`,n[0])}return{}}function OG(e,t){let n=nV[e.type]||{scales:{}},r=t.scales||{},i=bG(e.type,t),a=Object.create(null);return Object.keys(r).forEach(t=>{let o=r[t];if(!wz(o))return console.error(`Invalid scale configuration for scale: ${t}`);if(o._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);let s=TG(t,o,DG(t,e),oV.scales[o.type]),c=SG(s,i),l=n.scales||{};a[t]=Lz(Object.create(null),[{axis:s},o,l[s],l[c]])}),e.data.datasets.forEach(n=>{let i=n.type||e.type,o=n.indexAxis||bG(i,t),s=(nV[i]||{}).scales||{};Object.keys(s).forEach(e=>{let t=xG(e,o),i=n[t+`AxisID`]||t;a[i]=a[i]||Object.create(null),Lz(a[i],[{axis:t},r[i],s[e]])})}),Object.keys(a).forEach(e=>{let t=a[e];Lz(t,[oV.scales[t.type],oV.scale])}),a}function kG(e){let t=e.options||={};t.plugins=Dz(t.plugins,{}),t.scales=OG(e,t)}function AG(e){return e||={},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function jG(e){return e||={},e.data=AG(e.data),kG(e),e}var MG=new Map,NG=new Set;function PG(e,t){let n=MG.get(e);return n||(n=t(),MG.set(e,n),NG.add(n)),n}var FG=(e,t,n)=>{let r=Hz(t,n);r!==void 0&&e.add(r)},IG=class{constructor(e){this._config=jG(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=AG(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){let e=this._config;this.clearCache(),kG(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return PG(e,()=>[[`datasets.${e}`,``]])}datasetAnimationScopeKeys(e,t){return PG(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,``]])}datasetElementScopeKeys(e,t){return PG(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,``]])}pluginScopeKeys(e){let t=e.id,n=this.type;return PG(`${n}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){let n=this._scopeCache,r=n.get(e);return(!r||t)&&(r=new Map,n.set(e,r)),r}getOptionScopes(e,t,n){let{options:r,type:i}=this,a=this._cachedScopes(e,n),o=a.get(t);if(o)return o;let s=new Set;t.forEach(t=>{e&&(s.add(e),t.forEach(t=>FG(s,e,t))),t.forEach(e=>FG(s,r,e)),t.forEach(e=>FG(s,nV[i]||{},e)),t.forEach(e=>FG(s,oV,e)),t.forEach(e=>FG(s,rV,e))});let c=Array.from(s);return c.length===0&&c.push(Object.create(null)),NG.has(t)&&a.set(t,c),c}chartOptionScopes(){let{options:e,type:t}=this;return[e,nV[t]||{},oV.datasets[t]||{},{type:t},oV,rV]}resolveNamedOptions(e,t,n,r=[``]){let i={$shared:!0},{resolver:a,subPrefixes:o}=LG(this._resolverCache,e,r),s=a;if(zG(a,t)){i.$shared=!1,n=Gz(n)?n():n;let t=this.createResolver(e,n,o);s=LV(a,n,t)}for(let e of t)i[e]=s[e];return i}createResolver(e,t,n=[``],r){let{resolver:i}=LG(this._resolverCache,e,n);return wz(t)?LV(i,t,void 0,r):i}};function LG(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));let i=n.join(),a=r.get(i);return a||(a={resolver:IV(t,n),subPrefixes:n.filter(e=>!e.toLowerCase().includes(`hover`))},r.set(i,a)),a}var RG=e=>wz(e)&&Object.getOwnPropertyNames(e).some(t=>Gz(e[t]));function zG(e,t){let{isScriptable:n,isIndexable:r}=RV(e);for(let i of t){let t=n(i),a=r(i),o=(a||t)&&e[i];if(t&&(Gz(o)||RG(o))||a&&Cz(o))return!0}return!1}var BG=`4.5.1`,VG=[`top`,`bottom`,`left`,`right`,`chartArea`];function HG(e,t){return e===`top`||e===`bottom`||VG.indexOf(e)===-1&&t===`x`}function UG(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function WG(e){let t=e.chart,n=t.options.animation;t.notifyPlugins(`afterRender`),Az(n&&n.onComplete,[e],t)}function GG(e){let t=e.chart,n=t.options.animation;Az(n&&n.onProgress,[e],t)}function KG(e){return fH()&&typeof e==`string`?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}var qG={},JG=e=>{let t=KG(e);return Object.values(qG).filter(e=>e.canvas===t).pop()};function YG(e,t,n){let r=Object.keys(e);for(let i of r){let r=+i;if(r>=t){let a=e[i];delete e[i],(n>0||r>t)&&(e[r+n]=a)}}}function XG(e,t,n,r){return!n||e.type===`mouseout`?null:r?t:e}var ZG=class{static defaults=oV;static instances=qG;static overrides=nV;static registry=mG;static version=BG;static getChart=JG;static register(...e){mG.add(...e),QG()}static unregister(...e){mG.remove(...e),QG()}constructor(e,t){let n=this.config=new IG(t),r=KG(e),i=JG(r);if(i)throw Error(`Canvas is already in use. Chart with ID '`+i.id+`' must be destroyed before the canvas with ID '`+i.canvas.id+`' can be reused.`);let a=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||(HW(r))),this.platform.updateConfig(n);let o=this.platform.acquireContext(r,a.aspectRatio),s=o&&o.canvas,c=s&&s.height,l=s&&s.width;if(this.id=xz(),this.ctx=o,this.canvas=s,this.width=l,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new hG,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=MB(e=>this.update(e),a.resizeDelay||0),this._dataChanges=[],qG[this.id]=this,!o||!s){console.error(`Failed to create chart: can't acquire context from the given item`);return}ZH.listen(this,`complete`,WG),ZH.listen(this,`progress`,GG),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:r,_aspectRatio:i}=this;return Sz(e)?t&&i?i:r?n/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return mG}_initialize(){return this.notifyPlugins(`beforeInit`),this.options.responsive?this.resize():TH(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins(`afterInit`),this}clear(){return dV(this.canvas,this.ctx),this}stop(){return ZH.stop(this),this}resize(e,t){ZH.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){let n=this.options,r=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,e,t,i),o=n.devicePixelRatio||this.platform.getDevicePixelRatio(),s=this.width?`resize`:`attach`;this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,TH(this,o,!0)&&(this.notifyPlugins(`resize`,{size:a}),Az(n.onResize,[this,a],this),this.attached&&this._doResize(s)&&this.render())}ensureScalesHaveIDs(){jz(this.options.scales||{},(e,t)=>{e.id=t})}buildOrUpdateScales(){let e=this.options,t=e.scales,n=this.scales,r=Object.keys(n).reduce((e,t)=>(e[t]=!1,e),{}),i=[];t&&(i=i.concat(Object.keys(t).map(e=>{let n=t[e],r=TG(e,n),i=r===`r`,a=r===`x`;return{options:n,dposition:i?`chartArea`:a?`bottom`:`left`,dtype:i?`radialLinear`:a?`category`:`linear`}}))),jz(i,t=>{let i=t.options,a=i.id,o=TG(a,i),s=Dz(i.type,t.dtype);(i.position===void 0||HG(i.position,o)!==HG(t.dposition))&&(i.position=t.dposition),r[a]=!0;let c=null;a in n&&n[a].type===s?c=n[a]:(c=new(mG.getScale(s))({id:a,type:s,ctx:this.ctx,chart:this}),n[c.id]=c),c.init(i,e)}),jz(r,(e,t)=>{e||delete n[t]}),jz(n,e=>{yW.configure(this,e,e.options),yW.addBox(this,e)})}_updateMetasets(){let e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort((e,t)=>e.index-t.index),n>t){for(let e=t;et.length&&delete this._stacks,e.forEach((e,n)=>{t.filter(t=>t===e._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let e=[],t=this.data.datasets,n,r;for(this._removeUnreferencedMetasets(),n=0,r=t.length;n{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins(`reset`)}update(e){let t=this.config;t.update();let n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins(`beforeUpdate`,{mode:e,cancelable:!0})===!1)return;let i=this.buildOrUpdateControllers();this.notifyPlugins(`beforeElementsUpdate`);let a=0;for(let e=0,t=this.data.datasets.length;e{e.reset()}),this._updateDatasets(e),this.notifyPlugins(`afterUpdate`,{mode:e}),this._layers.sort(UG(`z`,`_idx`));let{_active:o,_lastEvent:s}=this;s?this._eventHandler(s,!0):o.length&&this._updateHoverStyles(o,o,!0),this.render()}_updateScales(){jz(this.scales,e=>{yW.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let e=this.options;(!Kz(new Set(Object.keys(this._listeners)),new Set(e.events))||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(let{method:n,start:r,count:i}of t)YG(e,r,n===`_removeElements`?-i:i)}_getUniformDataChanges(){let e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];let t=this.data.datasets.length,n=t=>new Set(e.filter(e=>e[0]===t).map((e,t)=>t+`,`+e.splice(1).join(`,`))),r=n(0);for(let e=1;ee.split(`,`)).map(e=>({method:e[1],start:+e[2],count:+e[3]}))}_updateLayout(e){if(this.notifyPlugins(`beforeLayout`,{cancelable:!0})===!1)return;yW.update(this,this.width,this.height,e);let t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],jz(this.boxes,e=>{n&&e.position===`chartArea`||(e.configure&&e.configure(),this._layers.push(...e._layers()))},this),this._layers.forEach((e,t)=>{e._idx=t}),this.notifyPlugins(`afterLayout`)}_updateDatasets(e){if(this.notifyPlugins(`beforeDatasetsUpdate`,{mode:e,cancelable:!0})!==!1){for(let e=0,t=this.data.datasets.length;e=0;--t)this._drawDataset(e[t]);this.notifyPlugins(`afterDatasetsDraw`)}_drawDataset(e){let t=this.ctx,n={meta:e,index:e.index,cancelable:!0},r=XH(this,e);this.notifyPlugins(`beforeDatasetDraw`,n)!==!1&&(r&&hV(t,r),e.controller.draw(),r&&gV(t),n.cancelable=!1,this.notifyPlugins(`afterDatasetDraw`,n))}isPointInArea(e){return mV(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,r){let i=nW.modes[t];return typeof i==`function`?i(this,e,n,r):[]}getDatasetMeta(e){let t=this.data.datasets[e],n=this._metasets,r=n.filter(e=>e&&e._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||=FV(null,{chart:this,type:`chart`})}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){let t=this.data.datasets[e];if(!t)return!1;let n=this.getDatasetMeta(e);return typeof n.hidden==`boolean`?!n.hidden:!t.hidden}setDatasetVisibility(e,t){let n=this.getDatasetMeta(e);n.hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){let r=n?`show`:`hide`,i=this.getDatasetMeta(e),a=i.controller._resolveAnimations(void 0,r);Wz(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),a.update(i,{visible:n}),this.update(t=>t.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){let t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),ZH.remove(this),e=0,t=this.data.datasets.length;e{t.addEventListener(this,n,r),e[n]=r},r=(e,t,n)=>{e.offsetX=t,e.offsetY=n,this._eventHandler(e)};jz(this.options.events,e=>n(e,r))}bindResponsiveEvents(){this._responsiveListeners||={};let e=this._responsiveListeners,t=this.platform,n=(n,r)=>{t.addEventListener(this,n,r),e[n]=r},r=(n,r)=>{e[n]&&(t.removeEventListener(this,n,r),delete e[n])},i=(e,t)=>{this.canvas&&this.resize(e,t)},a,o=()=>{r(`attach`,o),this.attached=!0,this.resize(),n(`resize`,i),n(`detach`,a)};a=()=>{this.attached=!1,r(`resize`,i),this._stop(),this._resize(0,0),n(`attach`,o)},t.isAttached(this.canvas)?o():a()}unbindEvents(){jz(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},jz(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){let r=n?`set`:`remove`,i,a,o,s;for(t===`dataset`&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller[`_`+r+`DatasetHoverStyle`]()),o=0,s=e.length;o{let n=this.getDatasetMeta(e);if(!n)throw Error(`No dataset found at index `+e);return{datasetIndex:e,element:n.data[t],index:t}});Mz(n,t)||(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return this._plugins._cache.filter(t=>t.plugin.id===e).length===1}_updateHoverStyles(e,t,n){let r=this.options.hover,i=(e,t)=>e.filter(e=>!t.some(t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)),a=i(t,e),o=n?e:i(e,t);a.length&&this.updateHoverStyle(a,r.mode,!1),o.length&&r.mode&&this.updateHoverStyle(o,r.mode,!0)}_eventHandler(e,t){let n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},r=t=>(t.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins(`beforeEvent`,n,r)===!1)return;let i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins(`afterEvent`,n,r),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){let{_active:r=[],options:i}=this,a=t,o=this._getActiveElements(e,r,n,a),s=qz(e),c=XG(e,this._lastEvent,n,s);n&&(this._lastEvent=null,Az(i.onHover,[e,o,this],this),s&&Az(i.onClick,[e,o,this],this));let l=!Mz(o,r);return(l||t)&&(this._active=o,this._updateHoverStyles(o,r,t)),this._lastEvent=c,l}_getActiveElements(e,t,n,r){if(e.type===`mouseout`)return[];if(!n)return t;let i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,r)}};function QG(){return jz(ZG.instances,e=>e._plugins.invalidate())}function $G(e,t,n){let{startAngle:r,x:i,y:a,outerRadius:o,innerRadius:s,options:c}=t,{borderWidth:l,borderJoinStyle:u}=c,d=Math.min(l/o,_B(r-n));if(e.beginPath(),e.arc(i,a,o-l/2,r+d/2,n-d/2),s>0){let t=Math.min(l/s,_B(r-n));e.arc(i,a,s+l/2,n-t/2,r+t/2,!0)}else{let t=Math.min(l/2,o*_B(r-n));if(u===`round`)e.arc(i,a,t,n-Jz/2,r+Jz/2,!0);else if(u===`bevel`){let o=2*t*t,s=-o*Math.cos(n+Jz/2)+i,c=-o*Math.sin(n+Jz/2)+a,l=o*Math.cos(r+Jz/2)+i,u=o*Math.sin(r+Jz/2)+a;e.lineTo(s,c),e.lineTo(l,u)}}e.closePath(),e.moveTo(0,0),e.rect(0,0,e.canvas.width,e.canvas.height),e.clip(`evenodd`)}function eK(e,t,n){let{startAngle:r,pixelMargin:i,x:a,y:o,outerRadius:s,innerRadius:c}=t,l=i/s;e.beginPath(),e.arc(a,o,s,r-l,n+l),c>i?(l=i/c,e.arc(a,o,c,n+l,r-l,!0)):e.arc(a,o,i,n+$z,r-$z),e.closePath(),e.clip()}function tK(e){return OV(e,[`outerStart`,`outerEnd`,`innerStart`,`innerEnd`])}function nK(e,t,n,r){let i=tK(e.options.borderRadius),a=(n-t)/2,o=Math.min(a,r*t/2),s=e=>{let t=(n-Math.min(a,e))*r/2;return yB(e,0,Math.min(a,t))};return{outerStart:s(i.outerStart),outerEnd:s(i.outerEnd),innerStart:yB(i.innerStart,0,o),innerEnd:yB(i.innerEnd,0,o)}}function rK(e,t,n,r){return{x:n+e*Math.cos(t),y:r+e*Math.sin(t)}}function iK(e,t,n,r,i,a){let{x:o,y:s,startAngle:c,pixelMargin:l,innerRadius:u}=t,d=Math.max(t.outerRadius+r+n-l,0),f=u>0?u+r+n+l:0,p=0,m=i-c;if(r){let e=((u>0?u-r:0)+(d>0?d-r:0))/2;p=(m-(e===0?m:m*e/(e+r)))/2}let h=(m-Math.max(.001,m*d-n/Jz)/d)/2,g=c+h+p,_=i-h-p,{outerStart:v,outerEnd:y,innerStart:b,innerEnd:x}=nK(t,f,d,_-g),S=d-v,C=d-y,w=g+v/S,T=_-y/C,ee=f+b,te=f+x,ne=g+b/ee,re=_-x/te;if(e.beginPath(),a){let t=(w+T)/2;if(e.arc(o,s,d,w,t),e.arc(o,s,d,t,T),y>0){let t=rK(C,T,o,s);e.arc(t.x,t.y,y,T,_+$z)}let n=rK(te,_,o,s);if(e.lineTo(n.x,n.y),x>0){let t=rK(te,re,o,s);e.arc(t.x,t.y,x,_+$z,re+Math.PI)}let r=(_-x/f+(g+b/f))/2;if(e.arc(o,s,f,_-x/f,r,!0),e.arc(o,s,f,r,g+b/f,!0),b>0){let t=rK(ee,ne,o,s);e.arc(t.x,t.y,b,ne+Math.PI,g-$z)}let i=rK(S,g,o,s);if(e.lineTo(i.x,i.y),v>0){let t=rK(S,w,o,s);e.arc(t.x,t.y,v,g-$z,w)}}else{e.moveTo(o,s);let t=Math.cos(w)*d+o,n=Math.sin(w)*d+s;e.lineTo(t,n);let r=Math.cos(T)*d+o,i=Math.sin(T)*d+s;e.lineTo(r,i)}e.closePath()}function aK(e,t,n,r,i){let{fullCircles:a,startAngle:o,circumference:s}=t,c=t.endAngle;if(a){iK(e,t,n,r,c,i);for(let t=0;t=Jz&&p===0&&u!==`miter`&&$G(e,t,h),a||(iK(e,t,n,r,h,i),e.stroke())}var sK=class extends UW{static id=`arc`;static defaults={borderAlign:`center`,borderColor:`#fff`,borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:`backgroundColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,n){let{angle:r,distance:i}=mB(this.getProps([`x`,`y`],n),{x:e,y:t}),{startAngle:a,endAngle:o,innerRadius:s,outerRadius:c,circumference:l}=this.getProps([`startAngle`,`endAngle`,`innerRadius`,`outerRadius`,`circumference`],n),u=(this.options.spacing+this.options.borderWidth)/2,d=Dz(l,o-a),f=vB(r,a,o)&&a!==o,p=d>=Yz||f,m=xB(i,s+u,c+u);return p&&m}getCenterPoint(e){let{x:t,y:n,startAngle:r,endAngle:i,innerRadius:a,outerRadius:o}=this.getProps([`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`],e),{offset:s,spacing:c}=this.options,l=(r+i)/2,u=(a+o+c+s)/2;return{x:t+Math.cos(l)*u,y:n+Math.sin(l)*u}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:t,circumference:n}=this,r=(t.offset||0)/4,i=(t.spacing||0)/2,a=t.circular;if(this.pixelMargin=t.borderAlign===`inner`?.33:0,this.fullCircles=n>Yz?Math.floor(n/Yz):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let o=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(o)*r,Math.sin(o)*r);let s=r*(1-Math.sin(Math.min(Jz,n||0)));e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,aK(e,this,s,i,a),oK(e,this,s,i,a),e.restore()}};function cK(e,t,n=t){e.lineCap=Dz(n.borderCapStyle,t.borderCapStyle),e.setLineDash(Dz(n.borderDash,t.borderDash)),e.lineDashOffset=Dz(n.borderDashOffset,t.borderDashOffset),e.lineJoin=Dz(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=Dz(n.borderWidth,t.borderWidth),e.strokeStyle=Dz(n.borderColor,t.borderColor)}function lK(e,t,n){e.lineTo(n.x,n.y)}function uK(e){return e.stepped?_V:e.tension||e.cubicInterpolationMode===`monotone`?vV:lK}function dK(e,t,n={}){let r=e.length,{start:i=0,end:a=r-1}=n,{start:o,end:s}=t,c=Math.max(i,o),l=Math.min(a,s),u=is&&a>s;return{count:r,start:c,loop:t.loop,ilen:l(o+(l?s-e:e))%a,y=()=>{h!==g&&(e.lineTo(u,g),e.lineTo(u,h),e.lineTo(u,_))};for(c&&(p=i[v(0)],e.moveTo(p.x,p.y)),f=0;f<=s;++f){if(p=i[v(f)],p.skip)continue;let t=p.x,n=p.y,r=t|0;r===m?(ng&&(g=n),u=(d*u+t)/++d):(y(),e.lineTo(t,n),m=r,d=0,h=g=n),_=n}y()}function mK(e){let t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!==`monotone`&&!t.stepped&&!n?pK:fK}function hK(e){return e.stepped?kH:e.tension||e.cubicInterpolationMode===`monotone`?AH:OH}function gK(e,t,n,r){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,r)&&i.closePath()),cK(e,t.options),e.stroke(i)}function _K(e,t,n,r){let{segments:i,options:a}=t,o=mK(t);for(let s of i)cK(e,a,s.style),e.beginPath(),o(e,t,s,{start:n,end:n+r-1})&&e.closePath(),e.stroke()}var vK=typeof Path2D==`function`;function yK(e,t,n,r){vK&&!t.options.segment?gK(e,t,n,r):_K(e,t,n,r)}var bK=class extends UW{static id=`line`;static defaults={borderCapStyle:`butt`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:`default`,fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:`backgroundColor`,borderColor:`borderColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`&&e!==`fill`};constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,t){let n=this.options;if((n.tension||n.cubicInterpolationMode===`monotone`)&&!n.stepped&&!this._pointsUpdated){let r=n.spanGaps?this._loop:this._fullLoop;dH(this._points,n,e,r,t),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||=UH(this,this.options.segment)}first(){let e=this.segments,t=this.points;return e.length&&t[e[0].start]}last(){let e=this.segments,t=this.points,n=e.length;return n&&t[e[n-1].end]}interpolate(e,t){let n=this.options,r=e[t],i=this.points,a=BH(this,{property:t,start:r,end:r});if(!a.length)return;let o=[],s=hK(n),c,l;for(c=0,l=a.length;ce.replace(`rgb(`,`rgba(`).replace(`)`,`, 0.5)`));function FK(e){return NK[e%NK.length]}function IK(e){return PK[e%PK.length]}function LK(e,t){return e.borderColor=FK(t),e.backgroundColor=IK(t),++t}function RK(e,t){return e.backgroundColor=e.data.map(()=>FK(t++)),t}function zK(e,t){return e.backgroundColor=e.data.map(()=>IK(t++)),t}function BK(e){let t=0;return(n,r)=>{let i=e.getDatasetMeta(r).controller;i instanceof HU?t=RK(n,t):i instanceof WU?t=zK(n,t):i&&(t=LK(n,t))}}function VK(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}function HK(e){return e&&(e.borderColor||e.backgroundColor)}function UK(){return oV.borderColor!==`rgba(0,0,0,0.1)`||oV.backgroundColor!==`rgba(0,0,0,0.1)`}var WK={id:`colors`,defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;let{data:{datasets:r},options:i}=e.config,{elements:a}=i,o=VK(r)||HK(i)||a&&VK(a)||UK();if(!n.forceOverride&&o)return;let s=BK(e);r.forEach(s)}};function GK(e,t,n,r,i){let a=i.samples||r;if(a>=n)return e.slice(t,t+n);let o=[],s=(n-2)/(a-2),c=0,l=t+n-1,u=t,d,f,p,m,h;for(o[c++]=e[u],d=0;dp&&(p=m,f=e[a],h=a);o[c++]=f,u=h}return o[c++]=e[l],o}function KK(e,t,n,r){let i=0,a=0,o,s,c,l,u,d,f,p,m,h,g=[],_=t+n-1,v=e[t].x,y=e[_].x-v;for(o=t;oh&&(h=l,f=o),i=(a*i+s.x)/++a;else{let n=o-1;if(!Sz(d)&&!Sz(f)){let t=Math.min(d,f),r=Math.max(d,f);t!==p&&t!==n&&g.push({...e[t],x:i}),r!==p&&r!==n&&g.push({...e[r],x:i})}o>0&&n!==p&&g.push(e[n]),g.push(s),u=t,a=0,m=h=l,d=f=p=o}}return g}function qK(e){if(e._decimated){let t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function JK(e){e.data.datasets.forEach(e=>{qK(e)})}function YK(e,t){let n=t.length,r=0,i,{iScale:a}=e,{min:o,max:s,minDefined:c,maxDefined:l}=a.getUserBounds();return c&&(r=yB(CB(t,a.axis,o).lo,0,n-1)),i=l?yB(CB(t,a.axis,s).hi+1,r,n)-r:n-r,{start:r,count:i}}var XK={id:`decimation`,defaults:{algorithm:`min-max`,enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){JK(e);return}let r=e.width;e.data.datasets.forEach((t,i)=>{let{_data:a,indexAxis:o}=t,s=e.getDatasetMeta(i),c=a||t.data;if(NV([o,e.options.indexAxis])===`y`||!s.controller.supportsDecimation)return;let l=e.scales[s.xAxisID];if(l.type!==`linear`&&l.type!==`time`||e.options.parsing)return;let{start:u,count:d}=YK(s,c);if(d<=(n.threshold||4*r)){qK(t);return}Sz(a)&&(t._data=c,delete t.data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}}));let f;switch(n.algorithm){case`lttb`:f=GK(c,u,d,r,n);break;case`min-max`:f=KK(c,u,d,r);break;default:throw Error(`Unsupported decimation algorithm '${n.algorithm}'`)}t._decimated=f})},destroy(e){JK(e)}};function ZK(e,t,n){let r=e.segments,i=e.points,a=t.points,o=[];for(let e of r){let{start:r,end:s}=e;s=eq(r,s,i);let c=QK(n,i[r],i[s],e.loop);if(!t.segments){o.push({source:e,target:c,start:i[r],end:i[s]});continue}let l=BH(t,c);for(let t of l){let r=QK(n,a[t.start],a[t.end],t.loop),s=zH(e,i,r);for(let e of s)o.push({source:e,target:t,start:{[n]:tq(c,r,`start`,Math.max)},end:{[n]:tq(c,r,`end`,Math.min)}})}}return o}function QK(e,t,n,r){if(r)return;let i=t[e],a=n[e];return e===`angle`&&(i=_B(i),a=_B(a)),{property:e,start:i,end:a}}function $K(e,t){let{x:n=null,y:r=null}=e||{},i=t.points,a=[];return t.segments.forEach(({start:e,end:t})=>{t=eq(e,t,i);let o=i[e],s=i[t];r===null?n!==null&&(a.push({x:n,y:o.y}),a.push({x:n,y:s.y})):(a.push({x:o.x,y:r}),a.push({x:s.x,y:r}))}),a}function eq(e,t,n){for(;t>e;t--){let e=n[t];if(!isNaN(e.x)&&!isNaN(e.y))break}return t}function tq(e,t,n,r){return e&&t?r(e[n],t[n]):e?e[n]:t?t[n]:0}function nq(e,t){let n=[],r=!1;return Cz(e)?(r=!0,n=e):n=$K(e,t),n.length?new bK({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function rq(e){return e&&e.fill!==!1}function iq(e,t,n){let r=e[t].fill,i=[t],a;if(!n)return r;for(;r!==!1&&i.indexOf(r)===-1;){if(!Tz(r))return r;if(a=e[r],!a)return!1;if(a.visible)return r;i.push(r),r=a.fill}return!1}function aq(e,t,n){let r=lq(e);if(wz(r))return!isNaN(r.value)&&r;let i=parseFloat(r);return Tz(i)&&Math.floor(i)===i?oq(r[0],t,i,n):[`origin`,`start`,`end`,`stack`,`shape`].indexOf(r)>=0&&r}function oq(e,t,n,r){return(e===`-`||e===`+`)&&(n=t+n),n===t||n<0||n>=r?!1:n}function sq(e,t){let n=null;return e===`start`?n=t.bottom:e===`end`?n=t.top:wz(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function cq(e,t,n){let r;return r=e===`start`?n:e===`end`?t.options.reverse?t.min:t.max:wz(e)?e.value:t.getBaseValue(),r}function lq(e){let t=e.options,n=t.fill,r=Dz(n&&n.target,n);return r===void 0&&(r=!!t.backgroundColor),r===!1||r===null?!1:r===!0?`origin`:r}function uq(e){let{scale:t,index:n,line:r}=e,i=[],a=r.segments,o=r.points,s=dq(t,n);s.push(nq({x:null,y:t.bottom},r));for(let e=0;e=0;--t){let n=i[t].$filler;n&&(n.line.updateControlPoints(a,n.axis),r&&n.fill&&bq(e.ctx,n,a))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!==`beforeDatasetsDraw`)return;let r=e.getSortedVisibleDatasetMetas();for(let t=r.length-1;t>=0;--t){let n=r[t].$filler;rq(n)&&bq(e.ctx,n,e.chartArea)}},beforeDatasetDraw(e,t,n){let r=t.meta.$filler;!rq(r)||n.drawTime!==`beforeDatasetDraw`||bq(e.ctx,r,e.chartArea)},defaults:{propagate:!0,drawTime:`beforeDatasetDraw`}},Oq=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},kq=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index,Aq=class extends UW{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,n){this.maxWidth=e,this.maxHeight=t,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let e=this.options.labels||{},t=Az(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(t=>e.filter(t,this.chart.data))),e.sort&&(t=t.sort((t,n)=>e.sort(t,n,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){let{options:e,ctx:t}=this;if(!e.display){this.width=this.height=0;return}let n=e.labels,r=MV(n.font),i=r.size,a=this._computeTitleHeight(),{boxWidth:o,itemHeight:s}=Oq(n,i),c,l;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,l=this._fitRows(a,i,o,s)+10):(l=this.maxHeight,c=this._fitCols(a,r,o,s)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(l,e.maxHeight||this.maxHeight)}_fitRows(e,t,n,r){let{ctx:i,maxWidth:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.lineWidths=[0],l=r+o,u=e;i.textAlign=`left`,i.textBaseline=`middle`;let d=-1,f=-l;return this.legendItems.forEach((e,p)=>{let m=n+t/2+i.measureText(e.text).width;(p===0||c[c.length-1]+m+2*o>a)&&(u+=l,c[c.length-(p>0?0:1)]=0,f+=l,d++),s[p]={left:0,top:f,row:d,width:m,height:r},c[c.length-1]+=m+o}),u}_fitCols(e,t,n,r){let{ctx:i,maxHeight:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.columnSizes=[],l=a-e,u=o,d=0,f=0,p=0,m=0;return this.legendItems.forEach((e,a)=>{let{itemWidth:h,itemHeight:g}=jq(n,t,i,e,r);a>0&&f+g+2*o>l&&(u+=d+o,c.push({width:d,height:f}),p+=d+o,m++,d=f=0),s[a]={left:p,top:f,col:m,width:h,height:g},d=Math.max(d,h),f+=g+o}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:n,labels:{padding:r},rtl:i}}=this,a=NH(i,this.left,this.width);if(this.isHorizontal()){let i=0,o=PB(n,this.left+r,this.right-this.lineWidths[i]);for(let s of t)i!==s.row&&(i=s.row,o=PB(n,this.left+r,this.right-this.lineWidths[i])),s.top+=this.top+e+r,s.left=a.leftForLtr(a.x(o),s.width),o+=s.width+r}else{let i=0,o=PB(n,this.top+e+r,this.bottom-this.columnSizes[i].height);for(let s of t)s.col!==i&&(i=s.col,o=PB(n,this.top+e+r,this.bottom-this.columnSizes[i].height)),s.top=o,s.left+=this.left+r,s.left=a.leftForLtr(a.x(s.left),s.width),o+=s.height+r}}isHorizontal(){return this.options.position===`top`||this.options.position===`bottom`}draw(){if(this.options.display){let e=this.ctx;hV(e,this),this._draw(),gV(e)}}_draw(){let{options:e,columnSizes:t,lineWidths:n,ctx:r}=this,{align:i,labels:a}=e,o=oV.color,s=NH(e.rtl,this.left,this.width),c=MV(a.font),{padding:l}=a,u=c.size,d=u/2,f;this.drawTitle(),r.textAlign=s.textAlign(`left`),r.textBaseline=`middle`,r.lineWidth=.5,r.font=c.string;let{boxWidth:p,boxHeight:m,itemHeight:h}=Oq(a,u),g=function(e,t,n){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;r.save();let i=Dz(n.lineWidth,1);if(r.fillStyle=Dz(n.fillStyle,o),r.lineCap=Dz(n.lineCap,`butt`),r.lineDashOffset=Dz(n.lineDashOffset,0),r.lineJoin=Dz(n.lineJoin,`miter`),r.lineWidth=i,r.strokeStyle=Dz(n.strokeStyle,o),r.setLineDash(Dz(n.lineDash,[])),a.usePointStyle){let o={radius:m*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},c=s.xPlus(e,p/2),l=t+d;pV(r,o,c,l,a.pointStyleWidth&&p)}else{let a=t+Math.max((u-m)/2,0),o=s.leftForLtr(e,p),c=AV(n.borderRadius);r.beginPath(),Object.values(c).some(e=>e!==0)?CV(r,{x:o,y:a,w:p,h:m,radius:c}):r.rect(o,a,p,m),r.fill(),i!==0&&r.stroke()}r.restore()},_=function(e,t,n){SV(r,n.text,e,t+h/2,c,{strikethrough:n.hidden,textAlign:s.textAlign(n.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();f=v?{x:PB(i,this.left+l,this.right-n[0]),y:this.top+l+y,line:0}:{x:this.left+l,y:PB(i,this.top+y+l,this.bottom-t[0].height),line:0},PH(this.ctx,e.textDirection);let b=h+l;this.legendItems.forEach((o,u)=>{r.strokeStyle=o.fontColor,r.fillStyle=o.fontColor;let m=r.measureText(o.text).width,h=s.textAlign(o.textAlign||=a.textAlign),x=p+d+m,S=f.x,C=f.y;s.setWidth(this.width),v?u>0&&S+x+l>this.right&&(C=f.y+=b,f.line++,S=f.x=PB(i,this.left+l,this.right-n[f.line])):u>0&&C+b>this.bottom&&(S=f.x=S+t[f.line].width+l,f.line++,C=f.y=PB(i,this.top+y+l,this.bottom-t[f.line].height));let w=s.x(S);if(g(w,C,o),S=FB(h,S+p+d,v?S+x:this.right,e.rtl),_(s.x(S),C,o),v)f.x+=x+l;else if(typeof o.text!=`string`){let e=c.lineHeight;f.y+=Pq(o,e)+l}else f.y+=b}),FH(this.ctx,e.textDirection)}drawTitle(){let e=this.options,t=e.title,n=MV(t.font),r=jV(t.padding);if(!t.display)return;let i=NH(e.rtl,this.left,this.width),a=this.ctx,o=t.position,s=n.size/2,c=r.top+s,l,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),l=this.top+c,u=PB(e.align,u,this.right-d);else{let t=this.columnSizes.reduce((e,t)=>Math.max(e,t.height),0);l=c+PB(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}let f=PB(o,u,u+d);a.textAlign=i.textAlign(NB(o)),a.textBaseline=`middle`,a.strokeStyle=t.color,a.fillStyle=t.color,a.font=n.string,SV(a,t.text,f,l,n)}_computeTitleHeight(){let e=this.options.title,t=MV(e.font),n=jV(e.padding);return e.display?t.lineHeight+n.height:0}_getLegendItemAt(e,t){let n,r,i;if(xB(e,this.left,this.right)&&xB(t,this.top,this.bottom)){for(i=this.legendHitBoxes,n=0;ne.length>t.length?e:t)),t+n.size/2+r.measureText(i).width}function Nq(e,t,n){let r=e;return typeof t.text!=`string`&&(r=Pq(t,n)),r}function Pq(e,t){return t*(e.text?e.text.length:0)}function Fq(e,t){return!!((e===`mousemove`||e===`mouseout`)&&(t.onHover||t.onLeave)||t.onClick&&(e===`click`||e===`mouseup`))}var Iq={id:`legend`,_element:Aq,start(e,t,n){let r=e.legend=new Aq({ctx:e.ctx,options:n,chart:e});yW.configure(e,r,n),yW.addBox(e,r)},stop(e){yW.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){let r=e.legend;yW.configure(e,r,n),r.options=n},afterUpdate(e){let t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:`top`,align:`center`,fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){let r=t.datasetIndex,i=n.chart;i.isDatasetVisible(r)?(i.hide(r),t.hidden=!0):(i.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){let t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:i,color:a,useBorderRadius:o,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map(e=>{let c=e.controller.getStyle(n?0:void 0),l=jV(c.borderWidth);return{text:t[e.index].label,fillStyle:c.backgroundColor,fontColor:a,hidden:!e.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:c.borderColor,pointStyle:r||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:o&&(s||c.borderRadius),datasetIndex:e.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:`center`,text:``}},descriptors:{_scriptable:e=>!e.startsWith(`on`),labels:{_scriptable:e=>![`generateLabels`,`filter`,`sort`].includes(e)}}},Lq=class extends UW{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){let n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=e,this.height=this.bottom=t;let r=Cz(n.text)?n.text.length:1;this._padding=jV(n.padding);let i=r*MV(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){let e=this.options.position;return e===`top`||e===`bottom`}_drawArgs(e){let{top:t,left:n,bottom:r,right:i,options:a}=this,o=a.align,s=0,c,l,u;return this.isHorizontal()?(l=PB(o,n,i),u=t+e,c=i-n):(a.position===`left`?(l=n+e,u=PB(o,r,t),s=Jz*-.5):(l=i-e,u=PB(o,t,r),s=Jz*.5),c=r-t),{titleX:l,titleY:u,maxWidth:c,rotation:s}}draw(){let e=this.ctx,t=this.options;if(!t.display)return;let n=MV(t.font),r=n.lineHeight/2+this._padding.top,{titleX:i,titleY:a,maxWidth:o,rotation:s}=this._drawArgs(r);SV(e,t.text,0,0,n,{color:t.color,maxWidth:o,rotation:s,textAlign:NB(t.align),textBaseline:`middle`,translation:[i,a]})}};function Rq(e,t){let n=new Lq({ctx:e.ctx,options:t,chart:e});yW.configure(e,n,t),yW.addBox(e,n),e.titleBlock=n}var zq={id:`title`,_element:Lq,start(e,t,n){Rq(e,n)},stop(e){let t=e.titleBlock;yW.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){let r=e.titleBlock;yW.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`bold`},fullSize:!0,padding:10,position:`top`,text:``,weight:2e3},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Bq=new WeakMap,Vq={id:`subtitle`,start(e,t,n){let r=new Lq({ctx:e.ctx,options:n,chart:e});yW.configure(e,r,n),yW.addBox(e,r),Bq.set(e,r)},stop(e){yW.removeBox(e,Bq.get(e)),Bq.delete(e)},beforeUpdate(e,t,n){let r=Bq.get(e);yW.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`normal`},fullSize:!0,padding:0,position:`top`,text:``,weight:1500},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Hq={average(e){if(!e.length)return!1;let t,n,r=new Set,i=0,a=0;for(t=0,n=e.length;te+t)/r.size,y:i/a}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,i=1/0,a,o,s;for(a=0,o=e.length;a-1?e.split(` +`):e}function Gq(e,t){let{element:n,datasetIndex:r,index:i}=t,a=e.getDatasetMeta(r).controller,{label:o,value:s}=a.getLabelAndValue(i);return{chart:e,label:o,parsed:a.getParsed(i),raw:e.data.datasets[r].data[i],formattedValue:s,dataset:a.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Kq(e,t){let n=e.chart.ctx,{body:r,footer:i,title:a}=e,{boxWidth:o,boxHeight:s}=t,c=MV(t.bodyFont),l=MV(t.titleFont),u=MV(t.footerFont),d=a.length,f=i.length,p=r.length,m=jV(t.padding),h=m.height,g=0,_=r.reduce((e,t)=>e+t.before.length+t.lines.length+t.after.length,0);if(_+=e.beforeBody.length+e.afterBody.length,d&&(h+=d*l.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),_){let e=t.displayColors?Math.max(s,c.lineHeight):c.lineHeight;h+=p*e+(_-p)*c.lineHeight+(_-1)*t.bodySpacing}f&&(h+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let v=0,y=function(e){g=Math.max(g,n.measureText(e).width+v)};return n.save(),n.font=l.string,jz(e.title,y),n.font=c.string,jz(e.beforeBody.concat(e.afterBody),y),v=t.displayColors?o+2+t.boxPadding:0,jz(r,e=>{jz(e.before,y),jz(e.lines,y),jz(e.after,y)}),v=0,n.font=u.string,jz(e.footer,y),n.restore(),g+=m.width,{width:g,height:h}}function qq(e,t){let{y:n,height:r}=t;return ne.height-r/2?`bottom`:`center`}function Jq(e,t,n,r){let{x:i,width:a}=r,o=n.caretSize+n.caretPadding;if(e===`left`&&i+a+o>t.width||e===`right`&&i-a-o<0)return!0}function Yq(e,t,n,r){let{x:i,width:a}=n,{width:o,chartArea:{left:s,right:c}}=e,l=`center`;return r===`center`?l=i<=(s+c)/2?`left`:`right`:i<=a/2?l=`left`:i>=o-a/2&&(l=`right`),Jq(l,e,t,n)&&(l=`center`),l}function Xq(e,t,n){let r=n.yAlign||t.yAlign||qq(e,n);return{xAlign:n.xAlign||t.xAlign||Yq(e,t,n,r),yAlign:r}}function Zq(e,t){let{x:n,width:r}=e;return t===`right`?n-=r:t===`center`&&(n-=r/2),n}function Qq(e,t,n){let{y:r,height:i}=e;return t===`top`?r+=n:t===`bottom`?r-=i+n:r-=i/2,r}function $q(e,t,n,r){let{caretSize:i,caretPadding:a,cornerRadius:o}=e,{xAlign:s,yAlign:c}=n,l=i+a,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=AV(o),m=Zq(t,s),h=Qq(t,c,l);return c===`center`?s===`left`?m+=l:s===`right`&&(m-=l):s===`left`?m-=Math.max(u,f)+i:s===`right`&&(m+=Math.max(d,p)+i),{x:yB(m,0,r.width-t.width),y:yB(h,0,r.height-t.height)}}function eJ(e,t,n){let r=jV(n.padding);return t===`center`?e.x+e.width/2:t===`right`?e.x+e.width-r.right:e.x+r.left}function tJ(e){return Uq([],Wq(e))}function nJ(e,t,n){return FV(e,{tooltip:t,tooltipItems:n,type:`tooltip`})}function rJ(e,t){let n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}var iJ={beforeTitle:bz,title(e){if(e.length>0){let t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode===`dataset`)return t.dataset.label||``;if(t.label)return t.label;if(r>0&&t.dataIndex{let t={before:[],lines:[],after:[]},i=rJ(n,e);Uq(t.before,Wq(aJ(i,`beforeLabel`,this,e))),Uq(t.lines,aJ(i,`label`,this,e)),Uq(t.after,Wq(aJ(i,`afterLabel`,this,e))),r.push(t)}),r}getAfterBody(e,t){return tJ(aJ(t.callbacks,`afterBody`,this,e))}getFooter(e,t){let{callbacks:n}=t,r=aJ(n,`beforeFooter`,this,e),i=aJ(n,`footer`,this,e),a=aJ(n,`afterFooter`,this,e),o=[];return o=Uq(o,Wq(r)),o=Uq(o,Wq(i)),o=Uq(o,Wq(a)),o}_createItems(e){let t=this._active,n=this.chart.data,r=[],i=[],a=[],o=[],s,c;for(s=0,c=t.length;se.filter(t,r,i,n))),e.itemSort&&(o=o.sort((t,r)=>e.itemSort(t,r,n))),jz(o,t=>{let n=rJ(e.callbacks,t);r.push(aJ(n,`labelColor`,this,t)),i.push(aJ(n,`labelPointStyle`,this,t)),a.push(aJ(n,`labelTextColor`,this,t))}),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=a,this.dataPoints=o,o}update(e,t){let n=this.options.setContext(this.getContext()),r=this._active,i,a=[];if(!r.length)this.opacity!==0&&(i={opacity:0});else{let e=Hq[n.position].call(this,r,this._eventPosition);a=this._createItems(n),this.title=this.getTitle(a,n),this.beforeBody=this.getBeforeBody(a,n),this.body=this.getBody(a,n),this.afterBody=this.getAfterBody(a,n),this.footer=this.getFooter(a,n);let t=this._size=Kq(this,n),o=Object.assign({},e,t),s=Xq(this.chart,n,o),c=$q(n,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:c.x,y:c.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}this._tooltipItems=a,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,n,r){let i=this.getCaretPosition(e,n,r);t.lineTo(i.x1,i.y1),t.lineTo(i.x2,i.y2),t.lineTo(i.x3,i.y3)}getCaretPosition(e,t,n){let{xAlign:r,yAlign:i}=this,{caretSize:a,cornerRadius:o}=n,{topLeft:s,topRight:c,bottomLeft:l,bottomRight:u}=AV(o),{x:d,y:f}=e,{width:p,height:m}=t,h,g,_,v,y,b;return i===`center`?(y=f+m/2,r===`left`?(h=d,g=h-a,v=y+a,b=y-a):(h=d+p,g=h+a,v=y-a,b=y+a),_=h):(g=r===`left`?d+Math.max(s,l)+a:r===`right`?d+p-Math.max(c,u)-a:this.caretX,i===`top`?(v=f,y=v-a,h=g-a,_=g+a):(v=f+m,y=v+a,h=g+a,_=g-a),b=v),{x1:h,x2:g,x3:_,y1:v,y2:y,y3:b}}drawTitle(e,t,n){let r=this.title,i=r.length,a,o,s;if(i){let c=NH(n.rtl,this.x,this.width);for(e.x=eJ(this,n.titleAlign,n),t.textAlign=c.textAlign(n.titleAlign),t.textBaseline=`middle`,a=MV(n.titleFont),o=n.titleSpacing,t.fillStyle=n.titleColor,t.font=a.string,s=0;se!==0)?(e.beginPath(),e.fillStyle=i.multiKeyBackground,CV(e,{x:t,y:p,w:c,h:s,radius:o}),e.fill(),e.stroke(),e.fillStyle=a.backgroundColor,e.beginPath(),CV(e,{x:n,y:p+1,w:c-2,h:s-2,radius:o}),e.fill()):(e.fillStyle=i.multiKeyBackground,e.fillRect(t,p,c,s),e.strokeRect(t,p,c,s),e.fillStyle=a.backgroundColor,e.fillRect(n,p+1,c-2,s-2))}e.fillStyle=this.labelTextColors[n]}drawBody(e,t,n){let{body:r}=this,{bodySpacing:i,bodyAlign:a,displayColors:o,boxHeight:s,boxWidth:c,boxPadding:l}=n,u=MV(n.bodyFont),d=u.lineHeight,f=0,p=NH(n.rtl,this.x,this.width),m=function(n){t.fillText(n,p.x(e.x+f),e.y+d/2),e.y+=d+i},h=p.textAlign(a),g,_,v,y,b,x,S;for(t.textAlign=a,t.textBaseline=`middle`,t.font=u.string,e.x=eJ(this,h,n),t.fillStyle=n.bodyColor,jz(this.beforeBody,m),f=o&&h!==`right`?a===`center`?c/2+l:c+2+l:0,y=0,x=r.length;y0&&t.stroke()}_updateAnimationTarget(e){let t=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){let n=Hq[e.position].call(this,this._active,this._eventPosition);if(!n)return;let a=this._size=Kq(this,e),o=Object.assign({},n,this._size),s=Xq(t,e,o),c=$q(e,o,s,t);(r._to!==c.x||i._to!==c.y)&&(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=a.width,this.height=a.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(e){let t=this.options.setContext(this.getContext()),n=this.opacity;if(!n)return;this._updateAnimationTarget(t);let r={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;let a=jV(t.padding),o=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&o&&(e.save(),e.globalAlpha=n,this.drawBackground(i,e,r,t),PH(e,t.textDirection),i.y+=a.top,this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),FH(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){let n=this._active,r=e.map(({datasetIndex:e,index:t})=>{let n=this.chart.getDatasetMeta(e);if(!n)throw Error(`Cannot find a dataset at index `+e);return{datasetIndex:e,element:n.data[t],index:t}}),i=!Mz(n,r),a=this._positionChanged(r,t);(i||a)&&(this._active=r,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t,n=!0){if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let r=this.options,i=this._active||[],a=this._getActiveElements(e,i,t,n),o=this._positionChanged(a,e),s=t||!Mz(a,i)||o;return s&&(this._active=a,(r.enabled||r.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),s}_getActiveElements(e,t,n,r){let i=this.options;if(e.type===`mouseout`)return[];if(!r)return t.filter(e=>this.chart.data.datasets[e.datasetIndex]&&this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)!==void 0);let a=this.chart.getElementsAtEventForMode(e,i.mode,i,n);return i.reverse&&a.reverse(),a}_positionChanged(e,t){let{caretX:n,caretY:r,options:i}=this,a=Hq[i.position].call(this,e,t);return a!==!1&&(n!==a.x||r!==a.y)}},sJ=Object.freeze({__proto__:null,Colors:WK,Decimation:XK,Filler:Dq,Legend:Iq,SubTitle:Vq,Title:zq,Tooltip:{id:`tooltip`,_element:oJ,positioners:Hq,afterInit(e,t,n){n&&(e.tooltip=new oJ({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){let t=e.tooltip;if(t&&t._willRender()){let n={tooltip:t};if(e.notifyPlugins(`beforeTooltipDraw`,{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins(`afterTooltipDraw`,n)}},afterEvent(e,t){if(e.tooltip){let n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:`average`,backgroundColor:`rgba(0,0,0,0.8)`,titleColor:`#fff`,titleFont:{weight:`bold`},titleSpacing:2,titleMarginBottom:6,titleAlign:`left`,bodyColor:`#fff`,bodySpacing:2,bodyFont:{},bodyAlign:`left`,footerColor:`#fff`,footerSpacing:2,footerMarginTop:6,footerFont:{weight:`bold`},footerAlign:`left`,padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:`#fff`,displayColors:!0,boxPadding:0,borderColor:`rgba(0,0,0,0)`,borderWidth:0,animation:{duration:400,easing:`easeOutQuart`},animations:{numbers:{type:`number`,properties:[`x`,`y`,`width`,`height`,`caretX`,`caretY`]},opacity:{easing:`linear`,duration:200}},callbacks:iJ},defaultRoutes:{bodyFont:`font`,footerFont:`font`,titleFont:`font`},descriptors:{_scriptable:e=>e!==`filter`&&e!==`itemSort`&&e!==`external`,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:`animation`}},additionalOptionScopes:[`interaction`]}}),cJ=(e,t,n,r)=>(typeof t==`string`?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function lJ(e,t,n,r){let i=e.indexOf(t);return i===-1?cJ(e,t,n,r):i===e.lastIndexOf(t)?i:n}var uJ=(e,t)=>e===null?null:yB(Math.round(e),0,t);function dJ(e){let t=this.getLabels();return e>=0&&et.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}};function pJ(e,t){let n=[],{bounds:r,step:i,min:a,max:o,precision:s,count:c,maxTicks:l,maxDigits:u,includeBounds:d}=e,f=i||1,p=l-1,{min:m,max:h}=t,g=!Sz(a),_=!Sz(o),v=!Sz(c),y=(h-m)/(u+1),b=aB((h-m)/p/f)*f,x,S,C,w;if(b<1e-14&&!g&&!_)return[{value:m},{value:h}];w=Math.ceil(h/b)-Math.floor(m/b),w>p&&(b=aB(w*b/p/f)*f),Sz(s)||(x=10**s,b=Math.ceil(b*x)/x),r===`ticks`?(S=Math.floor(m/b)*b,C=Math.ceil(h/b)*b):(S=m,C=h),g&&_&&i&&lB((o-a)/i,b/1e3)?(w=Math.round(Math.min((o-a)/b,l)),b=(o-a)/w,S=a,C=o):v?(S=g?a:S,C=_?o:C,w=c-1,b=(C-S)/w):(w=(C-S)/b,w=iB(w,Math.round(w),b/1e3)?Math.round(w):Math.ceil(w));let T=Math.max(pB(b),pB(S));x=10**(Sz(s)?T:s),S=Math.round(S*x)/x,C=Math.round(C*x)/x;let ee=0;for(g&&(d&&S!==a?(n.push({value:a}),So)break;n.push({value:e})}return _&&d&&C!==o?n.length&&iB(n[n.length-1].value,o,mJ(o,y,e))?n[n.length-1].value=o:n.push({value:o}):(!_||C===o)&&n.push({value:C}),n}function mJ(e,t,{horizontal:n,minRotation:r}){let i=dB(r),a=(n?Math.sin(i):Math.cos(i))||.001,o=.75*t*(``+e).length;return Math.min(t/a,o)}var hJ=class extends lG{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return Sz(e)||(typeof e==`number`||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){let{beginAtZero:e}=this.options,{minDefined:t,maxDefined:n}=this.getUserBounds(),{min:r,max:i}=this,a=e=>r=t?r:e,o=e=>i=n?i:e;if(e){let e=rB(r),t=rB(i);e<0&&t<0?o(0):e>0&&t>0&&a(0)}if(r===i){let t=i===0?1:Math.abs(i*.05);o(i+t),e||a(r-t)}this.min=r,this.max=i}getTickLimit(){let{maxTicksLimit:e,stepSize:t}=this.options.ticks,n;return t?(n=Math.ceil(this.max/t)-Math.floor(this.min/t)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${t} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e||=11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return 1/0}buildTicks(){let e=this.options,t=e.ticks,n=this.getTickLimit();n=Math.max(2,n);let r=pJ({maxTicks:n,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:t.includeBounds!==!1},this._range||this);return e.bounds===`ticks`&&uB(r,this,`value`),e.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let e=this.ticks,t=this.min,n=this.max;if(super.configure(),this.options.offset&&e.length){let r=(n-t)/Math.max(e.length-1,1)/2;t-=r,n+=r}this._startValue=t,this._endValue=n,this._valueRange=n-t}getLabelForValue(e){return ZB(e,this.chart.options.locale,this.options.ticks.format)}},gJ=class extends hJ{static id=`linear`;static defaults={ticks:{callback:eV.formatters.numeric}};determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=Tz(e)?e:0,this.max=Tz(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){let e=this.isHorizontal(),t=e?this.width:this.height,n=dB(this.options.ticks.minRotation),r=(e?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,i.lineHeight/r))}getPixelForValue(e){return e===null?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}},_J=e=>Math.floor(nB(e)),vJ=(e,t)=>10**(_J(e)+t);function yJ(e){return e/10**_J(e)==1}function bJ(e,t,n){let r=10**n,i=Math.floor(e/r);return Math.ceil(t/r)-i}function xJ(e,t){let n=_J(t-e);for(;bJ(e,t,n)>10;)n++;for(;bJ(e,t,n)<10;)n--;return Math.min(n,_J(e))}function SJ(e,{min:t,max:n}){t=Ez(e.min,t);let r=[],i=_J(t),a=xJ(t,n),o=a<0?10**Math.abs(a):1,s=10**a,c=i>a?10**i:0,l=Math.round((t-c)*o)/o,u=Math.floor((t-c)/s/10)*s*10,d=Math.floor((l-u)/10**a),f=Ez(e.min,Math.round((c+u+d*10**a)*o)/o);for(;f=10?d=d<15?15:20:d++,d>=20&&(a++,d=2,o=a>=0?1:o),f=Math.round((c+u+d*10**a)*o)/o;let p=Ez(e.max,f);return r.push({value:p,major:yJ(p),significand:d}),r}var CJ=class extends lG{static id=`logarithmic`;static defaults={ticks:{callback:eV.formatters.logarithmic,major:{enabled:!0}}};constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){let n=hJ.prototype.parse.apply(this,[e,t]);if(n===0){this._zero=!0;return}return Tz(n)&&n>0?n:null}determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=Tz(e)?Math.max(0,e):null,this.max=Tz(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Tz(this._userMin)&&(this.min=e===vJ(this.min,0)?vJ(this.min,-1):vJ(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:e,maxDefined:t}=this.getUserBounds(),n=this.min,r=this.max,i=t=>n=e?n:t,a=e=>r=t?r:e;n===r&&(n<=0?(i(1),a(10)):(i(vJ(n,-1)),a(vJ(r,1)))),n<=0&&i(vJ(r,-1)),r<=0&&a(vJ(n,1)),this.min=n,this.max=r}buildTicks(){let e=this.options,t=SJ({min:this._userMin,max:this._userMax},this);return e.bounds===`ticks`&&uB(t,this,`value`),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return e===void 0?`0`:ZB(e,this.chart.options.locale,this.options.ticks.format)}configure(){let e=this.min;super.configure(),this._startValue=nB(e),this._valueRange=nB(this.max)-nB(e)}getPixelForValue(e){return(e===void 0||e===0)&&(e=this.min),e===null||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(nB(e)-this._startValue)/this._valueRange)}getValueForPixel(e){let t=this.getDecimalForPixel(e);return 10**(this._startValue+t*this._valueRange)}};function wJ(e){let t=e.ticks;if(t.display&&e.display){let e=jV(t.backdropPadding);return Dz(t.font&&t.font.size,oV.font.size)+e.height}return 0}function TJ(e,t,n){return n=Cz(n)?n:[n],{w:lV(e,t.string,n),h:n.length*t.lineHeight}}function EJ(e,t,n,r,i){return e===r||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function DJ(e){let t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],i=[],a=e._pointLabels.length,o=e.options.pointLabels,s=o.centerPointLabels?Jz/a:0;for(let c=0;ct.r&&(s=(r.end-t.r)/a,e.r=Math.max(e.r,t.r+s)),i.startt.b&&(c=(i.end-t.b)/o,e.b=Math.max(e.b,t.b+c))}function kJ(e,t,n){let r=e.drawingArea,{extra:i,additionalAngle:a,padding:o,size:s}=n,c=e.getPointPosition(t,r+i+o,a),l=Math.round(fB(_B(c.angle+$z))),u=PJ(c.y,s.h,l),d=MJ(l),f=NJ(c.x,s.w,d);return{visible:!0,x:c.x,y:u,textAlign:d,left:f,top:u,right:f+s.w,bottom:u+s.h}}function AJ(e,t){if(!t)return!0;let{left:n,top:r,right:i,bottom:a}=e;return!(mV({x:n,y:r},t)||mV({x:n,y:a},t)||mV({x:i,y:r},t)||mV({x:i,y:a},t))}function jJ(e,t,n){let r=[],i=e._pointLabels.length,a=e.options,{centerPointLabels:o,display:s}=a.pointLabels,c={extra:wJ(a)/2,additionalAngle:o?Jz/i:0},l;for(let a=0;a270||n<90)&&(e-=t),e}function FJ(e,t,n){let{left:r,top:i,right:a,bottom:o}=n,{backdropColor:s}=t;if(!Sz(s)){let n=AV(t.borderRadius),c=jV(t.backdropPadding);e.fillStyle=s;let l=r-c.left,u=i-c.top,d=a-r+c.width,f=o-i+c.height;Object.values(n).some(e=>e!==0)?(e.beginPath(),CV(e,{x:l,y:u,w:d,h:f,radius:n}),e.fill()):e.fillRect(l,u,d,f)}}function IJ(e,t){let{ctx:n,options:{pointLabels:r}}=e;for(let i=t-1;i>=0;i--){let t=e._pointLabelItems[i];if(!t.visible)continue;let a=r.setContext(e.getPointLabelContext(i));FJ(n,a,t);let o=MV(a.font),{x:s,y:c,textAlign:l}=t;SV(n,e._pointLabels[i],s,c+o.lineHeight/2,o,{color:a.color,textAlign:l,textBaseline:`middle`})}}function LJ(e,t,n,r){let{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,Yz);else{let n=e.getPointPosition(0,t);i.moveTo(n.x,n.y);for(let a=1;a{let n=Az(this.options.pointLabels.callback,[e,t],this);return n||n===0?n:``}).filter((e,t)=>this.chart.getDataVisibility(t))}fit(){let e=this.options;e.display&&e.pointLabels.display?DJ(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,n,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,n,r))}getIndexAngle(e){let t=Yz/(this._pointLabels.length||1),n=this.options.startAngle||0;return _B(e*t+dB(n))}getDistanceFromCenterForValue(e){if(Sz(e))return NaN;let t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(Sz(e))return NaN;let t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){let t=this._pointLabels||[];if(e>=0&&e{if(t!==0||t===0&&this.min<0){s=this.getDistanceFromCenterForValue(e.value);let n=this.getContext(t),o=r.setContext(n),c=i.setContext(n);RJ(this,o,s,a,c)}}),n.display){for(e.save(),o=a-1;o>=0;o--){let r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:a}=r;!a||!i||(e.lineWidth=a,e.strokeStyle=i,e.setLineDash(r.borderDash),e.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),c=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(c.x,c.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){let e=this.ctx,t=this.options,n=t.ticks;if(!n.display)return;let r=this.getIndexAngle(0),i,a;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign=`center`,e.textBaseline=`middle`,this.ticks.forEach((r,o)=>{if(o===0&&this.min>=0&&!t.reverse)return;let s=n.setContext(this.getContext(o)),c=MV(s.font);if(i=this.getDistanceFromCenterForValue(this.ticks[o].value),s.showLabelBackdrop){e.font=c.string,a=e.measureText(r.label).width,e.fillStyle=s.backdropColor;let t=jV(s.backdropPadding);e.fillRect(-a/2-t.left,-i-c.size/2-t.top,a+t.width,c.size+t.height)}SV(e,r.label,0,-i,c,{color:s.color,strokeColor:s.textStrokeColor,strokeWidth:s.textStrokeWidth})}),e.restore()}drawTitle(){}},VJ={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},HJ=Object.keys(VJ);function UJ(e,t){return e-t}function WJ(e,t){if(Sz(t))return null;let n=e._adapter,{parser:r,round:i,isoWeekday:a}=e._parseOpts,o=t;return typeof r==`function`&&(o=r(o)),Tz(o)||(o=typeof r==`string`?n.parse(o,r):n.parse(o)),o===null?null:(i&&(o=i===`week`&&(cB(a)||a===!0)?n.startOf(o,`isoWeek`,a):n.startOf(o,i)),+o)}function GJ(e,t,n,r){let i=HJ.length;for(let a=HJ.indexOf(e);a=HJ.indexOf(n);a--){let n=HJ[a];if(VJ[n].common&&e._adapter.diff(i,r,n)>=t-1)return n}return HJ[n?HJ.indexOf(n):0]}function qJ(e){for(let t=HJ.indexOf(e)+1,n=HJ.length;t=t?n[r]:n[i];e[a]=!0}}function YJ(e,t,n,r){let i=e._adapter,a=+i.startOf(t[0].value,r),o=t[t.length-1].value,s,c;for(s=a;s<=o;s=+i.add(s,1,r))c=n[s],c>=0&&(t[c].major=!0);return t}function XJ(e,t,n){let r=[],i={},a=t.length,o,s;for(o=0;o+e.value))}initOffsets(e=[]){let t=0,n=0,r,i;this.options.offset&&e.length&&(r=this.getDecimalForValue(e[0]),t=e.length===1?1-r:(this.getDecimalForValue(e[1])-r)/2,i=this.getDecimalForValue(e[e.length-1]),n=e.length===1?i:(i-this.getDecimalForValue(e[e.length-2]))/2);let a=e.length<3?.5:.25;t=yB(t,0,a),n=yB(n,0,a),this._offsets={start:t,end:n,factor:1/(t+1+n)}}_generate(){let e=this._adapter,t=this.min,n=this.max,r=this.options,i=r.time,a=i.unit||GJ(i.minUnit,t,n,this._getLabelCapacity(t)),o=Dz(r.ticks.stepSize,1),s=a===`week`&&i.isoWeekday,c=cB(s)||s===!0,l={},u=t,d,f;if(c&&(u=+e.startOf(u,`isoWeek`,s)),u=+e.startOf(u,c?`day`:a),e.diff(n,t,a)>1e5*o)throw Error(t+` and `+n+` are too far apart with stepSize of `+o+` `+a);let p=r.ticks.source===`data`&&this.getDataTimestamps();for(d=u,f=0;d+e)}getLabelForValue(e){let t=this._adapter,n=this.options.time;return n.tooltipFormat?t.format(e,n.tooltipFormat):t.format(e,n.displayFormats.datetime)}format(e,t){let n=this.options.time.displayFormats,r=this._unit,i=t||n[r];return this._adapter.format(e,i)}_tickFormatFunction(e,t,n,r){let i=this.options,a=i.ticks.callback;if(a)return Az(a,[e,t,n],this);let o=i.time.displayFormats,s=this._unit,c=this._majorUnit,l=s&&o[s],u=c&&o[c],d=n[t],f=c&&u&&d&&d.major;return this._adapter.format(e,r||(f?u:l))}generateTickLabels(e){let t,n,r;for(t=0,n=e.length;t0?o:1}getDataTimestamps(){let e=this._cache.data||[],t,n;if(e.length)return e;let r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t=e[r].pos&&t<=e[i].pos&&({lo:r,hi:i}=CB(e,`pos`,t)),{pos:a,time:s}=e[r],{pos:o,time:c}=e[i]):(t>=e[r].time&&t<=e[i].time&&({lo:r,hi:i}=CB(e,`time`,t)),{time:a,pos:s}=e[r],{time:o,pos:c}=e[i]);let l=o-a;return l?s+(c-s)*(t-a)/l:s}var $J=class extends ZJ{static id=`timeseries`;static defaults=ZJ.defaults;constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=QJ(t,this.min),this._tableRange=QJ(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){let{min:t,max:n}=this,r=[],i=[],a,o,s,c,l;for(a=0,o=e.length;a=t&&c<=n&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:n,pos:1}];for(a=0,o=r.length;ae-t)}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;let t=this.getDataTimestamps(),n=this.getLabelTimestamps();return e=t.length&&n.length?this.normalize(t.concat(n)):t.length?t:n,e=this._cache.all=e,e}getDecimalForValue(e){return(QJ(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){let t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return QJ(this._table,n*this._tableRange+this._minPos,!0)}},eY=[GU,MK,sJ,Object.freeze({__proto__:null,CategoryScale:fJ,LinearScale:gJ,LogarithmicScale:CJ,RadialLinearScale:BJ,TimeScale:ZJ,TimeSeriesScale:$J})];ZG.register(...eY);var tY=ZG,nY=L(``);function rY(e,t){D(t,!0);let n=ma(t,`class`,3,``),r=ma(t,`ariaLabel`,3,``),i=A(null),a=null;Nn(()=>{if(AI.tick,!F(i)||typeof t.build!=`function`)return;let e=t.build();if(!e){a&&=(a.destroy(),null);return}return a&&=(a.destroy(),null),a=new tY(F(i).getContext(`2d`),e),()=>{a&&=(a.destroy(),null)}});var o=nY();da(o,e=>j(i,e),()=>F(i)),P(()=>{H(o,1,ji(n())),W(o,`aria-label`,r())}),R(e,o),O()}var iY=L(``),aY=L(`
        `);function oY(e,t){D(t,!0);let n=ma(t,`options`,19,()=>[]),r=ma(t,`ariaLabel`,3,``),i=ma(t,`class`,3,``);var a=aY();V(a,21,n,e=>e.value,(e,n)=>{var r=iY();let i;var a=M(r,!0);E(r),P(()=>{i=H(r,1,`segmented-btn svelte-92fh5i`,null,i,{active:t.value===F(n).value}),W(r,`aria-pressed`,t.value===F(n).value),z(a,F(n).label)}),I(`click`,r,()=>t.onchange?.(F(n).value)),R(e,r)}),E(a),P(()=>{H(a,1,`segmented-control ${i()??``}`,`svelte-92fh5i`),W(a,`aria-label`,r())}),R(e,a),O()}Ur([`click`]);function sY(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}function cY(){return{grid:sY(`--chart-grid`),text:sY(`--chart-text`),dayMarker:sY(`--chart-day-marker`),tooltipBg:sY(`--chart-tooltip-bg`),tooltipBorder:sY(`--chart-tooltip-border`),tooltipText:sY(`--chart-tooltip-text`)}}function lY(){return{size:11,family:`'SF Mono', Menlo, Consolas, monospace`}}function uY(e,t){return{backgroundColor:e.tooltipBg,borderColor:e.tooltipBorder,borderWidth:1,titleColor:e.tooltipText,bodyColor:e.tooltipText,callbacks:t}}function dY(e){if(typeof document>`u`||!document.body)return e;let t=document.createElement(`span`);t.style.display=`none`,t.style.color=e,document.body.appendChild(t);let n=getComputedStyle(t).color;return document.body.removeChild(t),n||e}var fY=[`#c2845a`,`#7a9e7e`,`#d4a574`,`#b8a98e`,`#8b9e6b`,`#7d8a97`,`#c47a5a`,`#6b8e6b`,`#a09486`,`#9b7ea4`,`#c49a6c`];function pY(){return[...fY]}function mY(e){let t=5381,n=String(e||``);for(let e=0;eZL(e)}}var _Y={seconds:{apiName:`second`,windowLabel:`Last 60 seconds`,refreshMs:2e3},minutes:{apiName:`minute`,windowLabel:`Last 60 minutes`,refreshMs:5e3},hours:{apiName:`hour`,windowLabel:`Last 24 hours`,refreshMs:2e4},days:{apiName:`day`,windowLabel:`Last 30 days`,refreshMs:6e4}},vY=[{value:`seconds`,label:`Seconds`},{value:`minutes`,label:`Minutes`},{value:`hours`,label:`Hours`},{value:`days`,label:`Days`}];function yY(){return{input:0,output:0,prompt:0,local:0}}function bY(e){return String(e).padStart(2,`0`)}function xY(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:0}function SY(e,t){if(!Number.isFinite(t))return``;let n=new Date(t);switch(e){case`seconds`:return bY(n.getHours())+`:`+bY(n.getMinutes())+`:`+bY(n.getSeconds());case`minutes`:return bY(n.getHours())+`:`+bY(n.getMinutes());case`hours`:return bY(n.getHours())+`:00`;default:return bY(n.getMonth()+1)+`-`+bY(n.getDate())}}function CY(e,t){let n=[],r=[],i={input:[],output:[],prompt:[],local:[]},a=yY();for(let o of e||[]){let e=Date.parse(o&&o.start),s=xY(o&&o.input_tokens),c=xY(o&&o.output_tokens),l=xY(o&&o.prompt_cached_tokens),u=xY(o&&o.locally_cached_tokens);n.push(SY(t,e)),r.push(Number.isFinite(e)?e:null),i.input.push(s),i.output.push(c),i.prompt.push(l),i.local.push(u),a.input+=s,a.output+=c,a.prompt+=l,a.local+=u}return{labels:n,stamps:r,cols:i,totals:a}}function wY(e){let t=e||yY();return t.input+t.output+t.prompt+t.local>0}function TY(e,t){return ZL(Math.max(0,Math.round(e&&e[t]||0)))}function EY(e){return(_Y[e]||_Y.minutes).windowLabel}function DY(e,t){return`Live token throughput, `+EY(t).toLowerCase()+`. Input `+TY(e,`input`)+`, output `+TY(e,`output`)+`, prompt cached `+TY(e,`prompt`)+`, locally cached `+TY(e,`local`)+` tokens.`}function OY(e,t,n,r){let i=e=>ZL(Math.max(0,Math.round(e))),a=n.stamps,o=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderWidth:0,borderRadius:0,categoryPercentage:1,barPercentage:1,stack:`tokens`});return{type:`bar`,plugins:[{id:`liveTokensDayMarks`,afterDatasetsDraw:t=>{if(r===`days`)return;let n=t.getDatasetMeta(0),i=t.chartArea;if(!n||!n.data||!i)return;let o=t.ctx;o.save(),o.font=`10px 'SF Mono', Menlo, Consolas, monospace`;let s=null;for(let t=0;t{if(!e.length)return``;let t=a[e[0].dataIndex];if(!t)return e[0].label;let n=new Date(t);return r===`days`?n.toLocaleDateString():n.toLocaleString()},label:e=>e.dataset.label+`: `+i(e.parsed.y),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+i(t)}})}}}}var kY=900,AY=6,jY=new class{#e=A(`minutes`);get granularity(){return F(this.#e)}set granularity(e){j(this.#e,e,!0)}#t=A(fn([]));get buckets(){return F(this.#t)}set buckets(e){j(this.#t,e,!0)}#n=A(!1);get active(){return F(this.#n)}set active(e){j(this.#n,e,!0)}#r=null;#i=null;#a=null;#o=0;#s=null;#c=!1;start(){this.stop(),this.active=!0,this.fetch(),this.#l(),this.#u()}stop(){this.active=!1,this.#r&&=(clearInterval(this.#r),null),this.#i&&=(clearTimeout(this.#i),null),this.#a&&=(clearTimeout(this.#a),null),this.#o=0,this.#s&&=(this.#s.abort(),null),this.buckets=[]}setGranularity(e){!_Y[e]||e===this.granularity||(this.granularity=e,this.buckets=[],this.#l(),this.fetch())}#l(){this.#r&&=(clearInterval(this.#r),null);let e=_Y[this.granularity]||_Y.minutes;this.#r=setInterval(()=>{this.active&&this.fetch()},e.refreshMs)}noteUsageEvent(e){!this.active||e!==`usage.flushed`||(this.#i||=setTimeout(()=>{this.#i=null,this.fetch()},kY))}async fetch(){if(!this.active||this.#c)return;this.#c=!0;let e=this.granularity;try{let t=await cL(`/admin/usage/throughput?granularity=`+(_Y[e]||_Y.minutes).apiName,{label:`token throughput`});if(t.stale||!t.ok||this.granularity!==e)return;this.buckets=t.data&&Array.isArray(t.data.buckets)?t.data.buckets:[]}catch(e){if(uL(e))return;console.error(`Failed to fetch token throughput:`,e)}finally{this.#c=!1,this.active&&this.granularity!==e&&this.fetch()}}async#u(){await fL.ensureLoaded(),this.active&&fL.liveLogsVisible()&&(typeof ReadableStream>`u`||(this.#s&&this.#s.abort(),this.#s=new AbortController,this.#d(this.#s)))}async#d(e){try{let t=await oL(`/admin/live/logs?types=usage`,{signal:e.signal});if(!t.ok||!t.body||typeof t.body.getReader!=`function`){this.#m();return}this.#o=0,await this.#f(t.body.getReader()),this.#m()}catch(e){if(uL(e))return;console.error(`Live usage stream failed:`,e),this.#m()}}async#f(e){let t=new TextDecoder,n=``;for(;;){let r=await e.read();if(r.done)break;n+=t.decode(r.value,{stream:!0});let i;for(;i=n.match(/\r?\n\r?\n/);){let e=i.index,t=n.slice(0,e);n=n.slice(e+i[0].length),this.#p(t)}}n+=t.decode(),n.trim()&&this.#p(n)}#p(e){let t=String(e||``).split(/\r?\n/),n=[];for(let e of t)e.indexOf(`data:`)===0&&n.push(e.slice(5).trimStart());if(n.length===0)return;let r;try{r=JSON.parse(n.join(` +`))}catch{return}if(!r||typeof r!=`object`)return;let i=String(r.type||``).trim();i.indexOf(`usage.`)===0&&this.noteUsageEvent(i)}#m(){if(!this.active||this.#a)return;let e=Math.min(this.#o+1,AY);this.#o=e;let t=Math.min(3e4,500*2**(e-1));this.#a=setTimeout(()=>{this.#a=null,this.#u()},t)}},MY=L(`
        `),NY=L(`
        Waiting for live requests…
        `),PY=L(`

        Live Token Throughput

        `);function FY(e,t){D(t,!0);let n=k(()=>CY(jY.buckets,jY.granularity)),r=k(()=>F(n).totals);function i(){return{input:dY(`var(--token-input)`),output:dY(`var(--token-output)`),prompt:dY(`var(--token-prompt)`),local:dY(`var(--token-local)`)}}let a=[{metric:`input`,label:`Input Tokens`,colorVar:`--token-input`},{metric:`output`,label:`Output Tokens`,colorVar:`--token-output`},{metric:`prompt`,label:`Prompt (Input) Cached`,colorVar:`--token-prompt`},{metric:`local`,label:`Locally Cached`,colorVar:`--token-local`}];var o=PY(),s=M(o),c=M(s),l=N(M(c),2),u=M(l);let d;var f=N(u,2),p=M(f,!0);E(f),E(l),E(c),oY(N(c,2),{ariaLabel:`Live token throughput granularity`,get options(){return vY},get value(){return jY.granularity},onchange:e=>jY.setGranularity(e)}),E(s);var m=N(s,2);V(m,21,()=>a,e=>e.metric,(e,t)=>{var n=MY(),i=M(n),a=N(i,2),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(n),P(e=>{Ri(i,`background: var(${F(t).colorVar??``})`),z(o,F(t).label),z(c,e)},[()=>TY(F(r),F(t).metric)]),R(e,n)}),E(m);var h=N(m,2),g=M(h);{let e=k(()=>DY(F(r),jY.granularity));rY(g,{get ariaLabel(){return F(e)},build:()=>OY(cY(),i(),F(n),jY.granularity)})}var _=N(g,2),v=e=>{R(e,NY())},y=k(()=>!wY(F(r)));B(_,e=>{F(y)&&e(v)}),E(h),E(o),P(e=>{d=H(u,1,`live-dot`,null,d,{"is-streaming":jY.active}),z(p,e)},[()=>EY(jY.granularity)]),R(e,o),O()}function IY(e){let t=e||{};if(t.total_tokens!==null&&t.total_tokens!==void 0){let e=Number(t.total_tokens);if(Number.isFinite(e))return e}let n=Number(t.total_input_tokens||0),r=Number(t.total_output_tokens||0);return(Number.isFinite(n)?n:0)+(Number.isFinite(r)?r:0)}function LY(e,t){if(!t)return 0;let n=e&&e.summary?e.summary:{},r=Number(n.total_hits||0);return Number.isFinite(r)&&r>0?r:0}function RY(e,t,n){let r=Number(e&&e.total_requests||0);return(Number.isFinite(r)?r:0)+LY(t,n)}function zY(e,t,n){let r=LY(t,n);return r<=0?``:qL(RY(e,t,n)-r)+` to providers + `+qL(r)+` from cache`}function BY(e){let t=e&&e.summary?e.summary:{},n=Number(t.total_input_tokens||0),r=Number(t.total_output_tokens||0);return(Number.isFinite(n)?n:0)+(Number.isFinite(r)?r:0)}function VY(e,t,n){let r=e=>{let t=Number(e||0);return Number.isFinite(t)&&t>0?t:0},i=e||{},a=r(i.uncached_input_tokens),o=r(i.cached_input_tokens),s=r(i.cache_write_input_tokens),c=t&&t.summary?t.summary:{},l=n?r(c.total_input_tokens):0;return[{key:`uncached`,label:`Regular`,tokens:a+s,colorVar:`--cache-meter-uncached`,note:s>0?`Includes `+qL(s)+` cache-write tokens`:``},{key:`prompt`,label:`Prompt cached`,tokens:o,colorVar:`--cache-meter-prompt`,note:`Provider prompt-cache reads`},{key:`local`,label:`Locally cached`,tokens:l,colorVar:`--cache-meter-local`,note:`Served from GoModel response cache`}]}function HY(e,t,n){return VY(e,t,n).reduce((e,t)=>e+t.tokens,0)}function UY(e,t,n){return HY(e,t,n)>0}function WY(e,t,n){let r=VY(e,t,n),i=r.reduce((e,t)=>e+t.tokens,0);if(i<=0)return r.map(e=>Object.assign({},e,{pct:0}));let a=r.map(e=>{let t=e.tokens/i*100,n=Math.floor(t);return Object.assign({},e,{pct:n,remainder:t-n})}),o=100-a.reduce((e,t)=>e+t.pct,0);return a.map((e,t)=>({index:t,remainder:e.remainder,tokens:e.tokens})).filter(e=>e.tokens>0).sort((e,t)=>t.remainder-e.remainder).forEach(e=>{o>0&&(a[e.index].pct+=1,--o)}),a}function GY(e,t,n){return WY(e,t,n).filter(e=>e.tokens>0)}function KY(e){let t=[e.label+`: `+qL(e.tokens)+` input tokens (`+e.pct+`%)`];return e.note&&t.push(e.note),t.join(` +`)}function qY(e){let t=(e||[]).map(e=>e.label+` `+e.pct+`%`);return`Cache breakdown of input tokens — `+(t.length?t.join(`, `):`no data`)}function JY(e){return e.getUTCFullYear()+`-`+String(e.getUTCMonth()+1).padStart(2,`0`)+`-`+String(e.getUTCDate()).padStart(2,`0`)}function YY(e,t,n,r){if(t!==`daily`||!n||!r)return e;let i={};(e||[]).forEach(e=>{i[e.date]=e});let a=[];for(let e=new Date(n);e<=r;e.setUTCDate(e.getUTCDate()+1)){let t=JY(e);a.push(i[t]||{date:t,input_tokens:0,output_tokens:0,total_tokens:0,requests:0,input_cost:null,output_cost:null,total_cost:null})}return a}function XY(e,t){let n=e=>Number(e)||0,r=e.map(e=>e.date),i=e.map(e=>n(e.uncached_input_tokens)+n(e.cache_write_input_tokens)+n(e.cached_input_tokens)>0?n(e.uncached_input_tokens)+n(e.cache_write_input_tokens):n(e.input_tokens)),a=e.map(e=>n(e.output_tokens)),o=e.map(e=>n(e.cached_input_tokens)),s={};return(t||[]).forEach(e=>{s[e.date]=e}),{labels:r,inputPaid:i,output:a,prompt:o,local:r.map(e=>{let t=s[e];return t?n(t.input_tokens)+n(t.output_tokens):0})}}function ZY(e){let t=e||{},n=Math.max(0,Number(t.uncached_input_tokens)||0),r=Math.max(0,Number(t.cached_input_tokens)||0),i=Math.max(0,Number(t.cache_write_input_tokens)||0),a=n+r+i;return a>0?r/a*100:0}function QY(e){let t=e||{};return(Number(t.uncached_input_tokens)||0)+(Number(t.cached_input_tokens)||0)+(Number(t.cache_write_input_tokens)||0)>0}function $Y(e){return QY(e)?Math.round(ZY(e))+`%`:`—`}function eX(e,t,n={}){let r=!!n.cacheEnabled,i=n.resolve||(e=>e),a=(e,t)=>i(`color-mix(in srgb, `+e+` `+t+`%, transparent)`),o=(e,t,n,r)=>Object.assign({label:e,data:t,borderColor:n,backgroundColor:n,fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4},r||{}),s=[o(`Input Tokens`,t.inputPaid,i(`var(--token-input)`),{fill:`origin`}),o(`Output Tokens`,t.output,i(`var(--token-output)`),{fill:`-1`}),o(`Prompt (Input) Cached`,t.prompt,i(`var(--token-prompt)`),{fill:`-1`,borderDash:[6,4]})];return r&&s.push(o(`Locally Cached`,t.local,a(`var(--info)`,35),{fill:`-1`,borderDash:[2,3]})),{type:`line`,data:{labels:t.labels,datasets:s},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:uY(e,{label:e=>e.dataset.label+`: `+e.parsed.y.toLocaleString(),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+t.toLocaleString()}})},scales:{x:{stacked:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:lY(),maxRotation:0,autoSkip:!0,maxTicksLimit:10}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:gY(e)}}}}}function tX(e,t,n){let r=Math.max(0,Math.min(100,e));return{type:`doughnut`,data:{datasets:[{data:[r,100-r],backgroundColor:[t,n],borderWidth:0,spacing:0}]},options:{rotation:-90,circumference:180,cutout:`84%`,responsive:!0,maintainAspectRatio:!1,animation:{duration:0},layout:{padding:1},events:[],plugins:{legend:{display:!1},tooltip:{enabled:!1}}}}}var nX=`gomodel_provider_status_details_expanded`,rX=`gomodel_provider_card_expanded_overrides`,iX=3e3,aX=`https://gomodel.enterpilot.io/docs/providers/`,oX={anthropic:`anthropic`,azure:`azure`,bailian:`bailian`,bedrock:`bedrock`,"bedrock-mantle":`bedrock-mantle`,cohere:`cohere`,deepseek:`deepseek`,gemini:`gemini`,opencode_go:`opencode-go`,oracle:`oracle`,vertex:`vertex`,vllm:`vllm`,xiaomi:`xiaomi`};function sX(){return{summary:{total:0,healthy:0,degraded:0,unhealthy:0,overall_status:`degraded`},providers:[]}}function cX(e){let t={detailsExpanded:!1,cardOverrides:{}};try{if(e){let n=e.getItem(nX);n===`true`||n===`false`?t.detailsExpanded=n===`true`:e.setItem(nX,`false`);let r=JSON.parse(e.getItem(rX)||`{}`);r&&typeof r==`object`&&!Array.isArray(r)&&(t.cardOverrides=r)}}catch{}return t}function lX(e,t){if(e)try{e.setItem(nX,t?`true`:`false`)}catch{}}function uX(e,t){if(e)try{e.setItem(rX,JSON.stringify(t))}catch{}}function dX(e,t,n){let r=n&&n.name?String(n.name):``;return r&&Object.prototype.hasOwnProperty.call(e,r)?e[r]===!0:t}function fX(e){return`is-`+(String(e&&e.overall_status||`degraded`).trim()||`degraded`)}function pX(e){return`is-`+(String(e||`degraded`).trim()||`degraded`)}function mX(e){let t=e||{};return String(t.healthy||0)+`/`+String(t.total||0)}function hX(e){let t=e||{},n=Number(t.total||0),r=Number(t.healthy||0);return n>0&&rString(e&&e.status_label||``).trim().toLowerCase()===`starting`)}function vX(e){if(!e||!e.runtime)return``;let t=e.runtime.last_model_fetch_at||``,n=e.runtime.last_availability_check_at||``;return t?n&&Date.parse(n)>Date.parse(t)?n:t:n}function yX(e,t){let n=vX(e);if(!n||typeof t!=`function`)return`-`;let r=t(n);if(!r||r===`-`)return`-`;let i=String(r).split(` `);return i.length>1?i.slice(1).join(` `):r}function bX(e,t){let n=vX(e);return n?typeof t==`function`?t(n):String(n):``}function xX(e){if(!e)return``;let t=String(e.name||``).trim(),n=String(e.type||e.config&&e.config.type||``).trim();return!n||n===t?``:n}function SX(e){let t=String(e&&(e.type||e.config&&e.config.type)||``).trim().toLowerCase(),n=t?oX[t]:``;return n?aX+n+`?utm_source=gomodel_dashboard`:``}function CX(e){let t=e&&e.config&&e.config.resilience?e.config.resilience.retry:null;return t?String(t.max_retries)+` retries, `+t.initial_backoff+` initial, `+t.max_backoff+` max, factor `+t.backoff_factor+`, jitter `+t.jitter_factor:`-`}function wX(e){let t=e&&e.config&&e.config.resilience?e.config.resilience.circuit_breaker:null;return t?String(t.failure_threshold)+` fail, `+String(t.success_threshold)+` success, `+t.timeout+` timeout`:`-`}function TX(e){let t=e&&e.config&&Array.isArray(e.config.models)?e.config.models.filter(Boolean):[];return t.length===0?`Automatic`:t.join(`, `)}function EX(e){if(!e)return``;let t=[];return e.status_reason&&t.push(String(e.status_reason)),e.last_error&&t.push(`Last error: `+String(e.last_error)),t.join(` + +`)}function DX(e){let t=e&&e.request_health;return t&&typeof t==`object`?t:null}function OX(e){let t=DX(e);return t?String(t.circuit_state||``).trim():``}function kX(e){let t=OX(e);return t?t.charAt(0).toUpperCase()+t.slice(1):``}function AX(e){let t=OX(e);return t===`open`?`is-unhealthy`:t===`half-open`?`is-degraded`:`is-healthy`}function jX(e){let t=DX(e);if(!t)return``;let n=Number(t.requests||0),r=Number(t.errors||0),i=Math.round(Number(t.window_seconds||0)/60),a=i>0?`last `+i+` min`:`recent`;return String(n)+` request`+(n===1?``:`s`)+` · `+String(r)+` error`+(r===1?``:`s`)+` (`+a+`)`}function MX(e){let t=DX(e);return t&&Array.isArray(t.models)?t.models:[]}function NX(e){return e?String(Number(e.errors||0))+`/`+String(Number(e.requests||0))+` failed`:``}function PX(e){let t=e&&e.last_error;return!t||!t.message?``:(t.status_code?`HTTP `+String(t.status_code)+`: `:``)+t.message}function FX(){return{name:``,slug:``,url:``,transport:`http`,description:``,enabled:!0,headers:[],allowed_tools:``,disallowed_tools:``,user_paths:``,tool_timeout_seconds:``}}function IX(){return{server:``,status:``,instructions:``,tools:[],prompts:[],resources:[],templates:[]}}function LX(e){return String(e&&(e.slug||e.name)||``).trim()}function RX(e){return String(e&&e.status||``).trim()||`connecting`}function zX(e){switch(RX(e)){case`connected`:return`status-success`;case`degraded`:return String(e&&e.last_error||``).trim()?`status-error`:`status-warning`;case`connecting`:return`status-neutral`;default:return`status-unknown`}}function BX(e,t){let n=RX(e),r=String(e&&e.last_error||``).trim();return r&&n!==`connected`?r:n===`connected`&&e&&e.connected_at?`Connected since `+(typeof t==`function`?t:String)(e.connected_at):``}function VX(e){return String(e&&e.transport||``)===`stdio`?`local command`:String(e&&e.url||``).trim()||`—`}function HX(e){let t=Number(e&&e.prompt_count||0),n=Number(e&&e.resource_count||0);return t+` prompts · `+n+` resources`}function UX(e){let t=String(e||``).normalize(`NFKD`).toLowerCase(),n=t.replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64).replace(/-+$/g,``);if(n)return n;let r=2166136261;for(let e of t)r=Math.imul((r^e.codePointAt(0))>>>0,16777619)>>>0;return`mcp-`+r.toString(16).padStart(8,`0`)}function WX(e){return String(e||``).split(` +`).map(e=>e.trim()).filter(e=>e)}function GX(e){return!e||typeof e!=`object`||Array.isArray(e)?[]:Object.keys(e).sort().map(t=>({name:t,value:String(e[t]||``)}))}function KX(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=String(e&&e.name||``).trim();n&&(t[n]=String(e&&e.value||``))}),t}function qX(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.slug,e.url,e.transport,e.description,e.status].some(e=>String(e||``).toLowerCase().includes(r)))}function JX(e){return{name:String(e.name||``).trim(),slug:LX(e),url:String(e.url||``).trim(),transport:e.transport===`sse`?`sse`:`http`,description:String(e.description||``).trim(),enabled:e.enabled!==!1,headers:GX(e.headers),allowed_tools:(Array.isArray(e.allowed_tools)?e.allowed_tools:[]).join(`, `),disallowed_tools:(Array.isArray(e.disallowed_tools)?e.disallowed_tools:[]).join(`, `),user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` +`),tool_timeout_seconds:e.tool_timeout_seconds?String(e.tool_timeout_seconds):``}}function YX(e,t,n){let r=String(e.name||``).trim(),i=String(e.slug||UX(r)).trim().toLowerCase(),a=String(e.url||``).trim(),o=e.transport===`sse`?`sse`:`http`;if(!r)return{error:`Name is required.`};if(!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(i))return{error:`Slug must use 1–64 lowercase ASCII letters, numbers, hyphens, or underscores.`};if(t===`create`&&(n||[]).some(e=>LX(e)===i))return{error:`Slug "`+i+`" is already in use.`};if(!a)return{error:`URL is required.`};let s,c=String(e.tool_timeout_seconds||``).trim();if(c!==``){let e=Number(c);if(!Number.isSafeInteger(e)||e<0)return{error:`Tool timeout must be a non-negative whole number of seconds.`};s=e}return{payload:{name:r,slug:i,url:a,transport:o,headers:KX(e.headers),description:String(e.description||``).trim(),enabled:!!e.enabled,allowed_tools:KL(e.allowed_tools),disallowed_tools:KL(e.disallowed_tools),user_paths:WX(e.user_paths),tool_timeout_seconds:s}}}function XX(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=e=>(Array.isArray(e)?e:[]).filter(e=>e&&typeof e==`object`);return{server:String(n.server||e||``).trim(),status:String(n.status||``).trim(),instructions:String(n.instructions||``).trim(),tools:r(n.tools),prompts:r(n.prompts),resources:r(n.resources),templates:r(n.templates)}}function ZX(e,t){return String(e&&e.server||``)+`_`+String(t||``)}function QX(e){let t=e||IX(),n=(e,t)=>{let n=String(e||``).trim(),r=String(t||``).trim();return n&&r?n+` — `+r:r||n},r=e=>n=>({key:e+`:`+String(n.name||``),name:String(n.name||``),aggregated:ZX(t,n.name),description:String(n.description||``).trim()});return[{key:`tools`,title:`Tools`,items:(t.tools||[]).map(r(`tool`))},{key:`prompts`,title:`Prompts`,items:(t.prompts||[]).map(r(`prompt`))},{key:`resources`,title:`Resources`,items:(t.resources||[]).map(e=>({key:`resource:`+String(e.uri||``),name:String(e.uri||``),aggregated:``,description:n(e.name,e.description)}))},{key:`templates`,title:`Resource templates`,items:(t.templates||[]).map(e=>({key:`template:`+String(e.uri_template||``),name:String(e.uri_template||``),aggregated:``,description:n(e.name,e.description)}))}].filter(e=>e.items.length>0)}function $X(e){return QX(e).length===0}function eZ(e){return(e||[]).length}function tZ(e){return(e||[]).filter(e=>RX(e)===`connected`).length}function nZ(e){return(e||[]).filter(e=>e&&e.enabled!==!1&&RX(e)===`degraded`).length}function rZ(e,t){return!!e&&eZ(t)>0}function iZ(e){return String(tZ(e))+`/`+String(eZ(e))}function aZ(e){return nZ(e)>0?`is-degraded`:`is-healthy`}function oZ(e){let t=nZ(e);if(t>0)return String(t)+` server`+(t===1?``:`s`)+` need`+(t===1?`s`:``)+` attention`;let n=eZ(e),r=tZ(e);return n>0&&r===n?`All MCP servers connected`:String(r)+` of `+String(n)+` server`+(n===1?``:`s`)+` connected`}function sZ(){return{interval:`day`,buckets:[],summary:{requests:0},provider_latency:[]}}function cZ(e){let t=e&&typeof e==`object`?e:{};return{interval:t.interval===`hour`?`hour`:`day`,buckets:Array.isArray(t.buckets)?t.buckets:[],summary:t.summary&&typeof t.summary==`object`?t.summary:{requests:0},provider_latency:Array.isArray(t.provider_latency)?t.provider_latency:[]}}function lZ(e){return Number(e&&e.summary&&e.summary.requests||0)>0}function uZ(e){return(e&&Array.isArray(e.provider_latency)?e.provider_latency:[]).length>0}function dZ(e){let t=e&&e.summary?e.summary.success_rate:null;return t==null?`—`:(Math.round(Number(t)*1e3)/10).toFixed(1)+`%`}function fZ(e,t){return Number(e&&e.summary&&e.summary[t]||0)}function pZ(e){let t=Number(e);return Number.isFinite(t)?t>=6e4?(t/6e4).toFixed(1)+` min`:t>=1e3?(t/1e3).toFixed(2)+` s`:Math.round(t)+` ms`:`-`}function mZ(e){let t=e&&e.summary?e.summary.avg_duration_ms:null;return t==null?`—`:pZ(Number(t))}function hZ(e,t){try{let n={};return new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,hourCycle:`h23`}).formatToParts(e).forEach(e=>{n[e.type]=e.value}),{year:n.year,month:n.month,day:n.day,hour:Number(n.hour)}}catch{return{year:String(e.getFullYear()),month:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getMonth()],day:String(e.getDate()),hour:e.getHours()}}}function gZ(e,t,n){let r=new Date(e.start);if(Number.isNaN(r.getTime()))return String(e.start||``);let i=hZ(r,n),a=i.month+` `+i.day;return t!==`hour`||i.hour===0?a:String(i.hour).padStart(2,`0`)+`:00`}function _Z(e,t,n,r){let i=new Date(e.start);if(Number.isNaN(i.getTime()))return String(e.start||``);if(t===`hour`)return r(e.start);let a=hZ(i,n);return a.month+` `+a.day+`, `+a.year}function vZ(e){return{ok:e(`var(--success)`),clientError:e(`var(--warning)`),serverError:e(`var(--danger)`),other:e(`color-mix(in srgb, var(--text-muted) 55%, transparent)`)}}function yZ(e,t,n={}){let r=n.interval===`hour`?`hour`:`day`,i=n.zone,a=n.resolve||(e=>e),o=n.formatTimestamp||(e=>String(e)),s=t.map(e=>gZ(e,r,i)),c=vZ(a),l=a(`var(--bg-surface)`),u=e=>Number(e)||0,d=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:l,borderWidth:1,borderSkipped:!1,borderRadius:2,maxBarThickness:28}),f=[d(`2xx`,t.map(e=>u(e.status_2xx)),c.ok),d(`4xx`,t.map(e=>u(e.status_4xx)),c.clientError),d(`5xx`,t.map(e=>u(e.status_5xx)),c.serverError)];return t.some(e=>u(e.status_other)>0)&&f.push(d(`Other`,t.map(e=>u(e.status_other)),c.other)),{type:`bar`,data:{labels:s,datasets:f},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:uY(e,{title:e=>e.length?_Z(t[e[0].dataIndex],r,i,o):``,label:e=>e.dataset.label+`: `+e.parsed.y.toLocaleString(),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),`Total: `+t.toLocaleString()}})},scales:{x:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:lY(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:lY(),precision:0,callback:e=>ZL(e)}}}}}}function bZ(e=pY()){let t={};return function(n){return n in t||(t[n]=e[Object.keys(t).length%e.length]),t[n]}}function xZ(e,t,n,r={}){let i=r.interval===`hour`?`hour`:`day`,a=r.zone,o=r.formatTimestamp||(e=>String(e)),s=r.providerColor||bZ();return{type:`line`,data:{labels:t.map(e=>gZ(e,i,a)),datasets:n.map(e=>({label:e.provider,data:(e.avg_duration_ms||[]).map(e=>e==null?null:Number(e)),borderColor:s(e.provider),backgroundColor:s(e.provider),fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4,spanGaps:i===`hour`&&2}))},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:uY(e,{title:e=>e.length?_Z(t[e[0].dataIndex],i,a,o):``,label:e=>{let t=(n[e.datasetIndex]&&n[e.datasetIndex].requests||[])[e.dataIndex],r=Number(t)||0;return e.dataset.label+`: `+pZ(e.parsed.y)+(r>0?` (`+r.toLocaleString()+` req)`:``)}})},scales:{x:{grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:lY(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:lY(),callback:e=>pZ(e)}}}}}}var SZ=class{#e=A(fn(sX()));get status(){return F(this.#e)}set status(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}#n=A(!1);get loadedOnce(){return F(this.#n)}set loadedOnce(e){j(this.#n,e,!0)}#r=A(!1);get detailsExpanded(){return F(this.#r)}set detailsExpanded(e){j(this.#r,e,!0)}#i=A(fn({}));get cardOverrides(){return F(this.#i)}set cardOverrides(e){j(this.#i,e,!0)}#a=null;#o=null;#s=!1;initPreferences(){if(this.#s)return;this.#s=!0;let e=cX(DI());this.detailsExpanded=e.detailsExpanded,this.cardOverrides=e.cardOverrides}cardExpanded(e){return dX(this.cardOverrides,this.detailsExpanded,e)}toggleCard(e){let t=e&&e.name?String(e.name):``;if(!t)return;let n={...this.cardOverrides};n[t]=!this.cardExpanded(e),this.cardOverrides=n,uX(DI(),this.cardOverrides)}toggleDetails(){this.detailsExpanded=!this.detailsExpanded,this.cardOverrides={},lX(DI(),this.detailsExpanded),uX(DI(),this.cardOverrides)}detailsToggleLabel(){return this.detailsExpanded?`Show Details`:`Hide Details`}async fetch(){this.initPreferences(),this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=await cL(`/admin/providers/status`,{label:`provider status`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.status=sX(),this.#l();return}let n=t.data&&typeof t.data==`object`?t.data:sX();n.summary||=sX().summary,Array.isArray(n.providers)||(n.providers=[]),this.status=n,this.#c()}catch(e){if(uL(e))return;console.error(`Failed to fetch provider status:`,e),this.status=sX(),this.#l()}finally{this.#a===e&&(this.#a=null,this.loading=!1,this.loadedOnce=!0)}}#c(){this.#l(),_X(this.status.providers)&&(this.#o=setTimeout(()=>{this.#o=null,this.fetch()},iX))}#l(){this.#o&&=(clearTimeout(this.#o),null)}stopPolling(){this.#l()}},CZ=class{#e=A(fn(sZ()));get stats(){return F(this.#e)}set stats(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}#n=0;async fetch(){let e=++this.#n;this.loading=!0;try{let t=await cL(`/admin/audit/stats?`+cR.queryStr(),{label:`audit stats`});if(t.stale||e!==this.#n)return;if(!t.ok){this.stats=sZ();return}this.stats=cZ(t.data)}catch(t){if(console.error(`Failed to fetch audit stats:`,t),e!==this.#n)return;this.stats=sZ()}finally{e===this.#n&&(this.loading=!1)}}},wZ=class{#e=A(fn([]));get servers(){return F(this.#e)}set servers(e){j(this.#e,e,!0)}#t=A(!1);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}async fetch(){if(await fL.ensureLoaded(),!fL.mcpVisible()){this.available=!1,this.servers=[];return}this.loading=!0;try{let e=await cL(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[];return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[]}finally{this.loading=!1}}},TZ=class{#e=A(fn([]));get data(){return F(this.#e)}set data(e){j(this.#e,e,!0)}#t=A(`tokens`);get mode(){return F(this.#t)}set mode(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=null;async fetch(){this.#r&&this.#r.abort();let e=new AbortController;this.#r=e,this.loading=!0;try{let t=await cL(`/admin/usage/daily?days=365&interval=daily`,{label:`calendar`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.data=[];return}this.data=Array.isArray(t.data)?t.data:[]}catch(e){if(uL(e))return;console.error(`Failed to fetch calendar data:`,e),this.data=[]}finally{this.#r===e&&(this.#r=null,this.loading=!1)}}},EZ=new SZ,DZ=new CZ,OZ=new wZ,kZ=new TZ,AZ=L(`
        Cache Hits
        `),jZ=L(`
        Local Cache
        i + o =
        `),MZ=L(``),NZ=L(` `),PZ=L(`
        Provider Status
        `),FZ=L(`
        MCP Servers
        `),IZ=L(`
        Tokens
        i + o =
        Total Requests
        Estimated Cost
        Prompt Cache Rate
        `);function LZ(e,t){D(t,!0);let n=k(()=>dR.summary),r=k(()=>dR.cacheOverview),i=k(()=>dR.cacheAnalyticsEnabled()),a=k(()=>EZ.status.summary);function o(){let e=document.getElementById(`provider-status-section`);e&&(e.scrollIntoView({behavior:`smooth`,block:`start`}),e.focus({preventScroll:!0}))}var s=IZ(),c=M(s),l=N(M(c),2),u=M(l),d=M(u),f=M(d,!0);E(d),We(),E(u);var p=N(u,4),m=M(p),h=M(m,!0);E(m),We(),E(p);var g=N(p,4),_=M(g,!0);E(g),E(l),E(c);var v=N(c,2),y=N(M(v),2),b=M(y,!0);E(y),E(v);var x=N(v,2),S=e=>{var t=AZ(),n=N(M(t),2),i=M(n,!0);E(n),E(t),P(e=>z(i,e),[()=>qL(F(r).summary.total_hits)]),R(e,t)};B(x,e=>{F(i)&&e(S)});var C=N(x,2),w=N(M(C),2),T=M(w,!0);E(w),E(C);var ee=N(C,2),te=e=>{var t=jZ(),n=N(M(t),2),i=M(n),a=M(i),o=M(a,!0);E(a),We(),E(i);var s=N(i,4),c=M(s),l=M(c,!0);E(c),We(),E(s);var u=N(s,4),d=M(u,!0);E(u),E(n),E(t),P((e,t,n,r,a,c)=>{W(i,`title`,e),z(o,t),W(s,`title`,n),z(l,r),W(u,`title`,a),z(d,c)},[()=>QL(`Input tokens`,F(r).summary.total_input_tokens),()=>ZL(F(r).summary.total_input_tokens),()=>QL(`Output tokens`,F(r).summary.total_output_tokens),()=>ZL(F(r).summary.total_output_tokens),()=>QL(`Total tokens`,BY(F(r))),()=>ZL(BY(F(r)))]),R(e,t)};B(ee,e=>{F(i)&&e(te)});var ne=N(ee,2),re=N(M(ne),2),ie=M(re);rY(ie,{build:()=>tX(ZY(F(n)),dY(`var(--token-prompt)`),dY(`var(--bg-surface-hover)`))});var ae=N(ie,2),oe=M(ae,!0);E(ae),E(re),E(ne);var se=N(ne,2),ce=e=>{var t=PZ(),n=N(M(t),2),r=M(n,!0);E(n);var i=N(n,2),s=e=>{var t=MZ(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>gX(F(a))]),I(`click`,t,o),R(e,t)},c=k(()=>hX(F(a))),l=e=>{var t=NZ(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>gX(F(a))]),R(e,t)};B(i,e=>{F(c)?e(s):e(l,-1)}),E(t),P((e,n)=>{H(t,1,`card provider-status-flag provider-status-overview-card ${e??``}`,`svelte-6tr9cf`),z(r,n)},[()=>fX(F(a)),()=>mX(F(a))]),R(e,t)};B(se,e=>{F(a).total>0&&e(ce)});var le=N(se,2),ue=e=>{var t=FZ(),n=N(M(t),2),r=M(n,!0);E(n);var i=N(n,2),a=M(i,!0);E(i),E(t),P((e,n,i)=>{H(t,1,`card provider-status-flag mcp-servers-flag ${e??``}`,`svelte-6tr9cf`),z(r,n),z(a,i)},[()=>aZ(OZ.servers),()=>iZ(OZ.servers),()=>oZ(OZ.servers)]),I(`click`,i,()=>WI.navigate(`mcp-servers`)),R(e,t)},de=k(()=>rZ(OZ.available,OZ.servers));B(le,e=>{F(de)&&e(ue)}),E(s),P((e,t,n,r,i,a,o,s,c,l,d)=>{W(u,`title`,e),z(f,t),W(p,`title`,n),z(h,r),W(g,`title`,i),z(_,a),W(y,`title`,o),z(b,s),z(T,c),W(re,`aria-label`,l),z(oe,d)},[()=>QL(`Input tokens`,F(n).total_input_tokens),()=>ZL(F(n).total_input_tokens),()=>QL(`Output tokens`,F(n).total_output_tokens),()=>ZL(F(n).total_output_tokens),()=>QL(`Total tokens`,IY(F(n))),()=>ZL(IY(F(n))),()=>zY(F(n),F(r),F(i)),()=>qL(RY(F(n),F(r),F(i))),()=>JL(F(n).total_cost),()=>`Prompt cache rate `+$Y(F(n)),()=>$Y(F(n))]),R(e,s),O()}Ur([`click`]);var RZ=L(` `),zZ=L(`
        `),BZ=L(`No usage in the selected period yet`),VZ=L(`
        `),HZ=L(`

        Tokens

        Share of input tokens over the selected period
        `);function UZ(e,t){D(t,!0);let n=k(()=>dR.cacheAnalyticsEnabled()),r=k(()=>WY(dR.summary,dR.cacheOverview,F(n))),i=k(()=>GY(dR.summary,dR.cacheOverview,F(n))),a=k(()=>UY(dR.summary,dR.cacheOverview,F(n)));var o=HZ(),s=N(M(o),2);let c;var l=M(s);V(l,17,()=>F(i),e=>e.key,(e,t)=>{var n=zZ(),r=M(n),i=e=>{var n=RZ(),r=M(n);E(n),P(()=>z(r,`${F(t).pct??``}%`)),R(e,n)};B(r,e=>{F(t).pct>=8&&e(i)}),E(n),P(e=>{Ri(n,`width: ${F(t).pct??``}%; background: var(${F(t).colorVar??``})`),W(n,`title`,e)},[()=>KY(F(t))]),R(e,n)});var u=N(l,2),d=e=>{R(e,BZ())};B(u,e=>{F(a)||e(d)}),E(s);var f=N(s,2);V(f,21,()=>F(r),e=>e.key,(e,t)=>{var n=VZ(),r=M(n),i=N(r,2),a=M(i,!0);E(i);var o=N(i,2),s=M(o);E(o);var c=N(o,2),l=M(c,!0);E(c),E(n),P((e,i)=>{W(n,`title`,e),Ri(r,`background: var(${F(t).colorVar??``})`),z(a,F(t).label),z(s,`${F(t).pct??``}%`),z(l,i)},[()=>KY(F(t)),()=>qL(F(t).tokens)]),R(e,n)}),E(f),E(o),P(e=>{c=H(s,1,`cache-meter-bar svelte-1yzecxj`,null,c,{"is-empty":!F(a)}),W(s,`aria-label`,e)},[()=>qY(F(i))]),R(e,o),O()}var WZ=L(``);function GZ(e,t){let n=ma(t,`size`,3,16),r=ma(t,`label`,3,`Loading`),i=ma(t,`class`,3,``);var a=WZ();P(()=>{H(a,1,`spinner ${i()??``}`,`svelte-b54l9o`),Ri(a,`--spinner-size: ${n()??``}px`),W(a,`aria-label`,r())}),R(e,a)}var KZ=Zr(` `),qZ=Zr(``);function JZ(e,t){let n=ma(t,`label`,3,`No data`);var r=qZ(),i=N(M(r),9),a=e=>{var t=KZ(),r=M(t,!0);E(t),P(()=>z(r,n())),R(e,t)};B(i,e=>{n()&&e(a)}),E(r),P(()=>{W(r,`role`,n()?`img`:void 0),W(r,`aria-label`,n()||void 0),W(r,`aria-hidden`,n()?void 0:`true`)}),R(e,r)}var YZ=L(`
        `),XZ=L(`

        `);function ZZ(e,t){D(t,!0);let n=[`daily`,`weekly`,`monthly`,`yearly`];function r(e){cR.interval=e,t.onintervalchange?.()}function i(){let e=dR.daily;if(e.length===0)return null;let t=cR.rangeStart(),n=cR.rangeEnd(),r=XY(YY(e,cR.interval,t,n),YY(Array.isArray(dR.cacheOverview.daily)?dR.cacheOverview.daily:[],cR.interval,t,n));return eX(cY(),r,{cacheEnabled:dR.cacheAnalyticsEnabled(),resolve:dY})}var a=XZ(),o=M(a),s=M(o),c=M(s,!0);E(s);var l=N(s,2);{let e=k(()=>n.map(e=>({value:e,label:e.charAt(0).toUpperCase()+e.slice(1)})));oY(l,{ariaLabel:`Usage chart interval`,get options(){return F(e)},get value(){return cR.interval},onchange:r})}E(o);var u=N(o,2),d=M(u);rY(d,{build:i});var f=N(d,2),p=e=>{var t=YZ();GZ(M(t),{size:24,label:`Loading usage`}),E(t),R(e,t)},m=e=>{var t=YZ();JZ(M(t),{}),E(t),R(e,t)};B(f,e=>{dR.daily.length===0&&dR.loading?e(p):dR.daily.length===0&&!K.authError&&e(m,1)}),E(u),E(a),P(e=>z(c,e),[()=>cR.chartTitle()]),R(e,a),O()}var QZ=10,$Z=.7;function eQ(e){return String(e).padStart(2,`0`)}function tQ(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);return t?new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]))):null}function nQ(e){return!e||typeof e.getTime!=`function`||Number.isNaN(e.getTime())?``:e.getUTCFullYear()+`-`+eQ(e.getUTCMonth()+1)+`-`+eQ(e.getUTCDate())}function rQ(e,t){let n=tQ(e);return n?(n.setUTCDate(n.getUTCDate()+t),nQ(n)):``}function iQ(e,t){if(e<=0||t<=0)return 0;let n=(e/t)**+$Z,r=Math.ceil(n*QZ);return r<1?1:r>QZ?QZ:r}function aQ(){let e=[];for(let t=0;t<=QZ;t++)e.push(t);return e}function oQ(e,t,n){let r={};(e||[]).forEach(e=>{r[e.date]=e});let i=tQ(rQ(n,-364)),a=i.getUTCDay();i.setUTCDate(i.getUTCDate()-a);let o=[];for(let e=new Date(i);nQ(e)<=n;e.setUTCDate(e.getUTCDate()+1)){let n=nQ(e),i=r[n],a=0;i&&(a=t===`costs`?i.total_cost==null?0:i.total_cost:i.total_tokens||0),o.push({dateStr:n,value:a,level:0,empty:!1})}let s=0;for(let e=0;es&&(s=o[e].value);for(let e=0;e0){for(;l.length<7;)l.push({dateStr:``,value:0,level:0,empty:!0});c.push(l)}return c}function sQ(e){let t=tQ(rQ(e,-364)),n=t.getUTCDay();t.setUTCDate(t.getUTCDate()-n);let r=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],i=[],a={},o=0;for(let n=new Date(t);nQ(n)<=e;n.setUTCDate(n.getUTCDate()+7),o++){let t=null;if(o===0)t=new Date(n);else for(let r=0;r<7;r++){let i=new Date(n);if(i.setUTCDate(n.getUTCDate()+r),nQ(i)>e)break;if(i.getUTCDate()===1){t=i;break}}if(!t)continue;let s=t.getUTCFullYear()+`-`+t.getUTCMonth();a[s]||(i.push({label:r[t.getUTCMonth()],col:o,key:s}),a[s]=!0)}for(let e=0;e `),dQ=L(`
        `),fQ=L(`
        `),pQ=L(`
        `),mQ=L(`
        `),hQ=L(`

        Activity

        Mon Wed Fri
        `,1);function gQ(e,t){D(t,!0);let n=A(fn({show:!1,x:0,y:0,text:``})),r=k(()=>nL.currentDateKey()),i=k(()=>oQ(kZ.data,kZ.mode,F(r))),a=k(()=>sQ(F(r)));function o(e,t){t.empty||j(n,{show:!0,x:e.clientX,y:e.clientY,text:lQ(t,kZ.mode)},!0)}function s(){j(n,{show:!1,x:0,y:0,text:``},!0)}var c=hQ(),l=Cn(c),u=M(l),d=N(M(u),2),f=e=>{GZ(e,{size:14,label:`Loading activity`})};B(d,e=>{kZ.loading&&kZ.data.length===0&&e(f)}),oY(N(d,2),{ariaLabel:`Activity calendar mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return kZ.mode},onchange:e=>kZ.mode=e}),E(u);var p=N(u,2),m=N(M(p),2),h=M(m);V(h,21,()=>F(a),e=>e.key,(e,t)=>{var n=uQ(),r=M(n,!0);E(n),P(()=>{Ri(n,`grid-column: ${F(t).col+1} / span ${F(t).span??``}`),z(r,F(t).label)}),R(e,n)}),E(h);var g=N(h,2);V(g,21,()=>F(i),oi,(e,t,n)=>{var r=fQ();V(r,23,()=>F(t),(e,t)=>n+`-`+t,(e,t)=>{var n=dQ();P(()=>H(n,1,`contribution-calendar-cell ${F(t).empty?`empty`:`level-`+F(t).level}`,`svelte-3hfxuq`)),Hr(`mouseenter`,n,e=>o(e,F(t))),Hr(`mouseleave`,n,s),R(e,n)}),E(r),R(e,r)}),E(g),E(m),E(p);var _=N(p,2),v=M(_),y=M(v),b=M(y,!0);E(y),E(v);var x=N(v,2);V(N(M(x),2),16,aQ,e=>e,(e,t)=>{var n=pQ();P(()=>H(n,1,`contribution-calendar-cell level-${t??``}`,`svelte-3hfxuq`)),R(e,n)}),We(2),E(x),E(_),E(l);var S=N(l,2),C=e=>{var t=mQ(),r=M(t,!0);E(t),P(()=>{Ri(t,`left: ${F(n).x??``}px; top: ${F(n).y-40}px`),z(r,F(n).text)}),R(e,t)};B(S,e=>{F(n).show&&e(C)}),P(e=>z(b,e),[()=>cQ(kZ.data,kZ.mode)]),R(e,c),O()}var _Q=L(``),vQ=L(`

        `),yQ=L(`
        `);function bQ(e,t){D(t,!0);let n=ma(t,`label`,3,`help`),r=ma(t,`text`,3,``),i=ma(t,`open`,15,!1),a=ma(t,`external`,3,!1),o=k(()=>!!r()||!!t.help||a());var s=yQ(),c=M(s),l=M(c);gi(l,()=>t.title??m);var u=N(l,2),d=e=>{var r=_Q();let a;P(()=>{a=H(r,1,`inline-help-toggle svelte-y40or3`,null,a,{"is-open":i()}),W(r,`aria-label`,(i()?`Hide `:`Show `)+n()),W(r,`aria-expanded`,i()),W(r,`aria-controls`,t.copyId)}),I(`click`,r,()=>i(!i())),R(e,r)};B(u,e=>{F(o)&&e(d)}),gi(N(u,2),()=>t.extra??m),E(c);var f=N(c,2),p=e=>{var n=vQ(),i=M(n),a=e=>{var n=$r();gi(Cn(n),()=>t.help),R(e,n)},o=e=>{var t=Qr();P(()=>z(t,r())),R(e,t)};B(i,e=>{t.help?e(a):e(o,-1)}),E(n),P(()=>W(n,`id`,t.copyId)),R(e,n)};B(f,e=>{i()&&F(o)&&!a()&&e(p)}),E(s),R(e,s),O()}Ur([`click`]);var xQ=L(`

        Provider Latency

        `),SQ=L(`
        Avg
        `),CQ=L(`

        Requests by Status

        Success 2xx 4xx 5xx
        `,1);function wQ(e,t){D(t,!0);let n=bZ(),r=k(()=>DZ.stats);function i(){return{interval:F(r).interval,zone:nL.effectiveTimezone(),resolve:dY,formatTimestamp:e=>nL.formatTimestamp(e)}}var a=$r(),o=Cn(a),s=e=>{var t=CQ(),a=Cn(t),o=M(a),s=N(M(o),2),c=M(s),l=N(M(c),2),u=M(l,!0);E(l),E(c);var d=N(c,2),f=N(M(d),4),p=M(f,!0);E(f),E(d);var m=N(d,2),h=N(M(m),4),g=M(h,!0);E(h),E(m);var _=N(m,2),v=N(M(_),4),y=M(v,!0);E(v),E(_),E(s),E(o);var b=N(o,2);rY(M(b),{build:()=>yZ(cY(),F(r).buckets,i())}),E(b),E(a);var x=N(a,2),S=e=>{var t=SQ(),a=M(t),o=M(a);bQ(o,{copyId:`audit-latency-help-copy`,label:`provider latency help`,text:`Average duration of successful requests as measured at the gateway, per provider. Local cache hits and failed requests are excluded; streamed responses count until the stream completes.`,title:e=>{R(e,xQ())},$$slots:{title:!0}});var s=N(o,2),c=M(s),l=N(M(c),2),u=M(l,!0);E(l),E(c),E(s),E(a);var d=N(a,2);rY(M(d),{build:()=>xZ(cY(),F(r).buckets,F(r).provider_latency,{...i(),providerColor:n})}),E(d),E(t),P(e=>z(u,e),[()=>mZ(F(r))]),R(e,t)},C=k(()=>uZ(F(r)));B(x,e=>{F(C)&&e(S)}),P((e,t,n,r)=>{z(u,e),z(p,t),z(g,n),z(y,r)},[()=>dZ(F(r)),()=>qL(fZ(F(r),`status_2xx`)),()=>qL(fZ(F(r),`status_4xx`)),()=>qL(fZ(F(r),`status_5xx`))]),R(e,t)},c=k(()=>lZ(F(r)));B(o,e=>{F(c)&&e(s)}),R(e,a),O()}var TQ=(e,t=m,n=m,r)=>{let i=kt(()=>_(r?.(),!1));var a=OQ(),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=e=>{var t=EQ(),r=M(t,!0);E(t),P(()=>z(r,n())),R(e,t)},u=e=>{var t=DQ(),r=M(t,!0);E(t),P(()=>z(r,n())),R(e,t)};B(c,e=>{F(i)?e(l):e(u,-1)}),E(a),P(()=>z(s,t())),R(e,a)},EQ=L(` `),DQ=L(` `),OQ=L(`
        `),kQ=L(` `),AQ=L(``),jQ=L(`

        `),MQ=L(`
        Breaker State
        `),NQ=L(`
        `),PQ=L(`
        Models (Recent Traffic)
        `),FQ=L(`
        `),IQ=L(`

        Models Available
        Last Checked

        `);function LQ(e,t){D(t,!0);let n=k(()=>EZ.cardExpanded(t.provider)),r=e=>nL.formatTimestamp(e),i=k(()=>[[`Base URL`,t.provider.config?.base_url],[`API Version`,t.provider.config?.api_version]].filter(([,e])=>!!e));var a=IQ(),o=M(a),s=M(o),c=M(s),l=M(c),u=M(l,!0);E(l);var d=N(l,2),f=e=>{var n=kQ(),r=M(n);E(n),P(e=>z(r,`(${e??``})`),[()=>xX(t.provider)]),R(e,n)},p=k(()=>xX(t.provider));B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var n=AQ();P((e,t,r)=>{W(n,`href`,e),W(n,`aria-label`,t),W(n,`title`,r)},[()=>SX(t.provider),()=>`View `+(xX(t.provider)||t.provider.name)+` provider docs`,()=>`View `+(xX(t.provider)||t.provider.name)+` provider docs`]),R(e,n)},g=k(()=>SX(t.provider));B(m,e=>{F(g)&&e(h)}),E(c),E(s);var _=N(s,2),y=M(_,!0);E(_),E(o);var b=N(o,2),x=M(b),S=N(M(x),2),C=M(S,!0);E(S),E(x);var w=N(x,2),T=N(M(w),2),ee=M(T,!0);E(T),E(w),E(b);var te=N(b,2);let ne;var re=M(te),ie=M(re),ae=M(ie,!0);E(ie);var oe=N(ie,2),se=e=>{var n=jQ(),r=M(n,!0);E(n),P(()=>z(r,t.provider.last_error)),R(e,n)};B(oe,e=>{t.provider.last_error&&e(se)});var ce=N(oe,2),le=e=>{var n=FQ(),r=M(n);{let e=k(()=>jX(t.provider));TQ(r,()=>`Recent Requests`,()=>F(e))}var i=N(r,2),a=e=>{var n=MQ(),r=N(M(n),2),i=M(r),a=M(i,!0);E(i),E(r),E(n),P((e,t)=>{H(i,1,`provider-status-health-state ${e??``}`,`svelte-nopjmh`),z(a,t)},[()=>AX(t.provider),()=>kX(t.provider)]),R(e,n)},o=k(()=>OX(t.provider));B(i,e=>{F(o)&&e(a)});var s=N(i,2),c=e=>{var n=PQ(),r=N(M(n),2);V(r,21,()=>MX(t.provider),e=>e.model,(e,t)=>{var n=NQ();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(n),P((e,i)=>{r=H(n,1,`provider-status-health-model svelte-nopjmh`,null,r,{"is-flagged":F(t).flagged}),W(n,`title`,e),z(a,F(t).model),z(s,i)},[()=>PX(F(t)),()=>NX(F(t))]),R(e,n)}),E(r),E(n),R(e,n)},l=k(()=>MX(t.provider).length>0);B(s,e=>{F(l)&&e(c)}),E(n),R(e,n)},ue=k(()=>DX(t.provider));B(ce,e=>{F(ue)&&e(le)});var de=N(ce,2),fe=M(de);V(fe,17,()=>F(i),([e,t])=>e,(e,t)=>{var n=k(()=>v(F(t),2));TQ(e,()=>F(n)[0],()=>F(n)[1],()=>!0)});var pe=N(fe,2);{let e=k(()=>TX(t.provider));TQ(pe,()=>`Configured Models`,()=>F(e))}var me=N(pe,2);{let e=k(()=>CX(t.provider));TQ(me,()=>`Retry`,()=>F(e))}var he=N(me,2);{let e=k(()=>wX(t.provider));TQ(he,()=>`Circuit Breaker`,()=>F(e))}E(de),E(re),E(te);var ge=N(te,2);let _e;G(M(ge),{name:`chevron-down`,class:`provider-status-card-toggle-icon`}),E(ge),E(a),P((e,r,i,a,o)=>{z(u,t.provider.name),H(_,1,`provider-status-pill ${e??``}`,`svelte-nopjmh`),W(_,`title`,r),z(y,t.provider.status_label),z(C,i),W(T,`title`,a),z(ee,o),ne=H(te,1,`provider-status-details svelte-nopjmh`,null,ne,{"is-expanded":F(n),"is-collapsed":!F(n)}),W(te,`aria-hidden`,!F(n)),z(ae,t.provider.status_reason),_e=H(ge,1,`provider-status-card-toggle svelte-nopjmh`,null,_e,{"is-expanded":F(n)}),W(ge,`aria-expanded`,F(n)),W(ge,`aria-label`,(F(n)?`Collapse `:`Expand `)+t.provider.name+` details`),W(ge,`title`,F(n)?`Collapse details`:`Expand details`)},[()=>pX(t.provider.status),()=>EX(t.provider),()=>qL(t.provider.runtime?.discovered_model_count),()=>bX(t.provider,r),()=>yX(t.provider,r)]),I(`click`,ge,()=>EZ.toggleCard(t.provider)),R(e,a),O()}Ur([`click`]);var RQ=L(`

        Providers Overview

        `),zQ=L(`
        `);function BQ(e,t){D(t,!0);let n=k(()=>EZ.status.providers);var r=$r(),i=Cn(r),a=e=>{var t=RQ(),r=M(t),i=N(M(r),2),a=M(i),o=M(a,!0);E(a);var s=N(a,2);let c;E(i),E(r);var l=N(r,2);V(l,21,()=>F(n),e=>e.name,(e,t)=>{LQ(e,{get provider(){return F(t)}})}),E(l),E(t),P((e,t)=>{W(i,`aria-checked`,EZ.detailsExpanded),W(i,`title`,e),z(o,t),c=H(s,1,`provider-status-toggle-track svelte-1kx3uw4`,null,c,{"is-active":EZ.detailsExpanded})},[()=>EZ.detailsToggleLabel(),()=>EZ.detailsToggleLabel()]),I(`click`,i,()=>EZ.toggleDetails()),R(e,t)},o=e=>{var t=zQ();GZ(M(t),{size:18,label:`Loading provider status`}),E(t),R(e,t)};B(i,e=>{F(n).length>0?e(a):EZ.loading&&!EZ.loadedOnce&&e(o,1)}),R(e,r),O()}Ur([`click`]);var VQ=L(`
        `);function HQ(e,t){D(t,!0);function n(){dR.fetchUsage(),dR.fetchCacheOverview(``),DZ.fetch(),EZ.fetch(),OZ.fetch(),kZ.fetch()}function r(){dR.fetchUsage(),dR.fetchCacheOverview(``),DZ.fetch()}function i(){r(),kZ.fetch()}Nn(()=>{if(K.refreshTick,WI.page===`overview`)return kr(()=>{n(),jY.start()}),()=>{jY.stop(),EZ.stopPolling()}});var a=VQ(),o=M(a);FY(o,{});var s=N(o,4);OR(M(s),{onchange:i}),E(s);var c=N(s,2);GL(c,{});var l=N(c,2);LZ(l,{});var u=N(l,2);UZ(u,{});var d=N(u,2);ZZ(d,{onintervalchange:r});var f=N(d,2);gQ(f,{});var p=N(f,2);wQ(p,{}),BQ(N(p,2),{}),E(a),R(e,a),O()}var UQ=`/admin/live/logs?types=audit,usage`;function WQ(e){let t=UQ,n=Number(e||0);return Number.isFinite(n)&&n>0&&(t+=`&cursor=`+encodeURIComponent(String(n))),t}function GQ(){return{async consumeLiveLogsBody(e){let t=new TextDecoder,n=``;for(;;){let r=await e.read();if(r.done)break;n+=t.decode(r.value,{stream:!0});let i;for(;i=n.match(/\r?\n\r?\n/);){let e=i.index,t=n.slice(0,e);n=n.slice(e+i[0].length),this.handleLiveLogsFrame(t)}}n+=t.decode(),n.trim()&&this.handleLiveLogsFrame(n)},handleLiveLogsFrame(e){let t=String(e||``).split(/\r?\n/),n=[];for(let e of t)e.indexOf(`data:`)===0&&n.push(e.slice(5).trimStart());if(n.length===0)return;let r;try{r=JSON.parse(n.join(` +`))}catch{return}this.applyLiveLogEvent(r)},applyLiveLogEvent(e){if(!e||typeof e!=`object`)return;let t=Number(e.seq||0);Number.isFinite(t)&&t>this.liveLogsLastSeq&&(this.liveLogsLastSeq=t);let n=String(e.type||``).trim();if(n!==`heartbeat`){if(n===`reset`){this.reloadLiveLogSources();return}if(n===`audit.removed`){this.removeLiveAuditEntry(e.data);return}if(n.indexOf(`audit.`)===0){this.mergeLiveAuditEntry(e.data||{},n);return}n.indexOf(`usage.`)===0&&(this.mergeLiveUsageEntry(e.data||{},n),typeof this.noteLiveTokenUsage==`function`&&this.noteLiveTokenUsage(n))}},reloadLiveLogSources(){typeof this.fetchUsage==`function`&&this.fetchUsage(),this.page===`audit-logs`&&typeof this.fetchAuditLog==`function`&&this.fetchAuditLog(!0)},auditLiveInsertAllowed(){return this.auditLog&&this.auditLog.offset===0&&!this.auditSearch&&!this.auditMethod&&!this.auditStatusCode&&!this.auditStream&&!this.customStartDate&&!this.customEndDate},usageLiveInsertAllowed(){return this.usageLog&&this.usageLog.offset===0&&!this.usageLogSearch&&!this.usageFilterModel&&!this.usageFilterProvider&&!this.usageFilterLabel&&!this.usageFilterUserPath},mergeLiveAuditEntry(e,t){if(!e||typeof e!=`object`)return;let n=String(e.id||e.request_id||``).trim();if(!n)return;let r=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],i=r.findIndex(t=>String(t.id||``).trim()===n||e.request_id&&String(t.request_id||``).trim()===String(e.request_id).trim()),a=i>=0&&r[i]||{};if(t===`audit.detail`){let t={...e,_detail_loaded:!0,_response_partial:!1};if(i>=0){let e=this.mergeLiveAuditPatch(a,t);return r.splice(i,1,e),this.auditLog.entries=[...r],this.notifyLiveConversation(e),e}return this.auditLiveInsertAllowed()?(this.auditLog.entries=[this.mergeLiveAuditUsagePatch(t),...r].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1,this.auditLog.entries[0]):void 0}let o=this.liveAuditStateAfter(a._live_state,t),s=this.liveAuditEventFlushed(a._live_state)||this.liveAuditEventFlushed(o),c={...e,_live:!0,_live_state:o,_audit_flushed:s};if(s?c._live_pending=!1:c._live_pending=!0,t===`audit.stream`?c._response_partial=!0:this.liveAuditStateSettled(t)&&(c._response_partial=!1),i>=0){let e=this.mergeLiveAuditPatch(a,c);return r.splice(i,1,e),this.auditLog.entries=[...r],this.fetchExpandedAuditDetailIfReady(e),this.notifyLiveConversation(e),e}if(!this.auditLiveInsertAllowed())return;this.auditLog.entries=[this.mergeLiveAuditUsagePatch(c),...r].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1;let l=this.auditLog.entries[0];return this.fetchExpandedAuditDetailIfReady(l),this.notifyLiveConversation(l),l},mergeLiveAuditPatch(e,t){let n={...e,...t};return t.data===void 0&&e.data!==void 0?n.data=e.data:e.data&&t.data&&typeof e.data==`object`&&typeof t.data==`object`&&!Array.isArray(e.data)&&!Array.isArray(t.data)&&(n.data={...e.data,...t.data}),this.mergeLiveAuditUsagePatch(n)},mergeLiveAuditUsagePatch(e){let t=this.liveUsageEntryForAudit(e);if(!t)return e;let n=this.auditEntryWithLiveUsage(e,t);return this.removeSkippedLiveUsage(t),n},liveUsageEntryForAudit(e){let t=String(e&&e.request_id||``).trim();return t&&((this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[]).find(e=>String(e&&e.request_id||``).trim()===t)||this.skippedLiveUsageByRequestId&&this.skippedLiveUsageByRequestId[t])||null},notifyLiveConversation(e){e&&typeof this.refreshLiveConversation==`function`&&this.refreshLiveConversation(e)},fetchExpandedAuditDetailIfReady(e){!e||!this.isAuditEntryExpanded||!this.isAuditEntryExpanded(e)||String(e._live_state||``).trim()!==`audit.flushed`&&!e._audit_flushed||typeof this.fetchAuditEntryDetail==`function`&&this.fetchAuditEntryDetail(e)},liveAuditStateRank(e){switch(String(e||``).trim()){case`audit.started`:return 10;case`audit.updated`:case`audit.stream`:return 20;case`audit.completed`:return 30;case`audit.failed`:case`audit.flushed`:case`audit.detail`:return 40;default:return 0}},liveAuditStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveAuditStateRank(n)>this.liveAuditStateRank(r)?n:r},liveAuditStateSettled(e){return this.liveAuditStateRank(e)>=this.liveAuditStateRank(`audit.completed`)},liveAuditEventFlushed(e){let t=String(e||``).trim();return t===`audit.failed`||t===`audit.flushed`||t===`audit.detail`},removeLiveAuditEntry(e){if(!e||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim();if(!t&&!n)return;let r=this.auditLog.entries.filter(e=>!(t&&String(e.id||``).trim()===t||n&&String(e.request_id||``).trim()===n)),i=this.auditLog.entries.length-r.length;i>0&&(this.auditLog.entries=r,this.auditLog.total=Math.max(0,Number(this.auditLog.total||0)-i))},mergeLiveUsageEntry(e,t){if(!e||typeof e!=`object`)return;e={...e,_live_state:t||e._live_state||`usage.completed`};let n=String(e.id||``).trim();if(!n)return;let r=this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[],i=r.findIndex(e=>String(e.id||``).trim()===n);if(i>=0){let t=r[i]||{},n=this.mergeLiveUsagePatch(t,e);if(this.applyLiveUsageToAudit(n),this.liveUsageShouldSkip(n)){r.splice(i,1),this.usageLog.entries=[...r],this.usageLog.total=Math.max(0,Number(this.usageLog.total||0)-1),this.storeSkippedLiveUsage(n);return}r.splice(i,1,n),this.usageLog.entries=[...r],this.removeSkippedLiveUsage(n);return}let a=this.mergeLiveUsagePatch(this.liveUsageSeedForEntry(e),e);if(this.applyLiveUsageToAudit(a),this.liveUsageShouldSkip(a)){this.storeSkippedLiveUsage(a);return}this.removeSkippedLiveUsage(a),this.usageLog.entries=[a,...r].slice(0,this.usageLog.limit||50),this.usageLog.total=Number(this.usageLog.total||0)+1},mergeLiveUsagePatch(e,t){e=e&&typeof e==`object`?e:{};let n=this.liveUsageStateAfter(e._live_state,t&&t._live_state),r=this.liveUsageEventFlushed(e)||this.liveUsageEventFlushed({...t,_live_state:n});return{...e,...t,_live:!0,_live_state:n||`usage.completed`,_live_pending:!r,_usage_flushed:r}},liveUsageShouldSkip(e){return!!(this.usageLogHideCached&&this.liveUsageEntryCached(e))||!this.usageLiveInsertAllowed()},liveUsageSeedForEntry(e){return this.skippedLiveUsageForEntry(e)||this.auditLiveUsageForEntry(e)},skippedLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();return t&&this.skippedLiveUsageByRequestId?this.skippedLiveUsageByRequestId[t]:null},auditLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return null;let n=this.auditLog.entries.find(e=>String(e&&e.request_id||``).trim()===t),r=n&&n.usage&&typeof n.usage==`object`&&!Array.isArray(n.usage)?n.usage:null;return r?{id:e&&e.id,request_id:t,entries:r.entries,input_tokens:r.input_tokens,uncached_input_tokens:r.uncached_input_tokens,cached_input_tokens:r.cached_input_tokens,cache_write_input_tokens:r.cache_write_input_tokens,output_tokens:r.output_tokens,total_tokens:r.total_tokens,cached_input_ratio:r.cached_input_ratio,estimated_cached_characters:r.estimated_cached_characters,_live_state:n._usage_live_state,_live_pending:n._usage_live_pending,_usage_flushed:n._usage_flushed}:null},storeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&((!this.skippedLiveUsageByRequestId||typeof this.skippedLiveUsageByRequestId!=`object`||Array.isArray(this.skippedLiveUsageByRequestId))&&(this.skippedLiveUsageByRequestId={}),this.skippedLiveUsageByRequestId[t]=e)},removeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&this.skippedLiveUsageByRequestId&&delete this.skippedLiveUsageByRequestId[t]},liveUsageEntryCached(e){let t=String(e&&e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`||!!(e&&e.cache_hit)},liveUsageEventFlushed(e){let t=String(e&&e._live_state||``).trim();return!!(e&&e._usage_flushed)||t===`usage.failed`||t===`usage.flushed`},liveUsageStateRank(e){switch(String(e||``).trim()){case`usage.completed`:return 10;case`usage.failed`:case`usage.flushed`:return 20;default:return 0}},liveUsageStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveUsageStateRank(n)>this.liveUsageStateRank(r)?n:r},applyLiveUsageToAudit(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let n=this.auditLog.entries.findIndex(e=>String(e.request_id||``).trim()===t);if(n<0)return;let r=this.auditLog.entries[n];this.auditLog.entries.splice(n,1,this.auditEntryWithLiveUsage(r,e)),this.auditLog.entries=[...this.auditLog.entries]},auditEntryWithLiveUsage(e,t){let n=this.liveUsageStateAfter(e._usage_live_state,t._live_state||`usage.completed`),r=this.liveUsageEventFlushed({_live_state:n,_usage_flushed:e._usage_flushed||t._usage_flushed});return{...e,usage:this.liveUsageSummary(t,e.usage),_usage_live_state:n||`usage.completed`,_usage_live_pending:!r,_usage_flushed:r}},liveUsageSummary(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=this.liveNumber(e.input_tokens,this.liveNumber(n.input_tokens,0)),i=this.liveNumber(e.output_tokens,this.liveNumber(n.output_tokens,0)),a=this.liveNumber(e.uncached_input_tokens,this.liveNumber(n.uncached_input_tokens,0)),o=this.liveNumber(e.cached_input_tokens,this.liveNumber(n.cached_input_tokens,0)),s=this.liveNumber(e.cache_write_input_tokens,this.liveNumber(n.cache_write_input_tokens,0));r>0&&a+o+s===0&&(a=r);let c=a+o+s||r,l=c+i||this.liveNumber(e.total_tokens,this.liveNumber(n.total_tokens,0)),u=this.liveNumber(e.cached_input_ratio,this.liveNumber(n.cached_input_ratio,c>0?o/c:0));return{entries:Math.max(1,this.liveNumber(e.entries,this.liveNumber(n.entries,1))),input_tokens:c,uncached_input_tokens:a,cached_input_tokens:o,cache_write_input_tokens:s,output_tokens:i,total_tokens:l,cached_input_ratio:u,estimated_cached_characters:this.liveNumber(e.estimated_cached_characters,this.liveNumber(n.estimated_cached_characters,o*4))}},liveNumber(e,t){let n=Number(e);return Number.isFinite(n)?n:t},auditEntryShouldFetchDetail(e){return!e||e._detail_loading||e._detail_loaded||this.auditEntryLiveDetailPending(e)?!1:this.auditEntryNeedsPersistedLiveDetail(e)?!0:!this.auditEntryHasDetailData(e)},auditEntryLiveDetailPending(e){if(!e||!e._live)return!1;let t=String(e._live_state||``).trim();return t===`audit.failed`||!e._audit_flushed&&t!==`audit.flushed`&&t!==`audit.detail`},auditEntryNeedsPersistedLiveDetail(e){return!!(e&&e._live&&!e._detail_loaded)},auditEntryHasDetailData(e){let t=e&&e.data;return!t||typeof t!=`object`?!1:t.request_headers!==void 0||t.response_headers!==void 0||t.request_body!==void 0||t.response_body!==void 0||t.request_body_too_big_to_handle!==void 0||t.response_body_too_big_to_handle!==void 0||t.user_agent!==void 0||t.api_key_hash!==void 0||t.temperature!==void 0||t.max_tokens!==void 0||t.error_message!==void 0||t.error_code!==void 0},clearAuditDetailLoading(e){if(!e)return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim(),r=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],i=r.find(e=>t&&String(e.id||``).trim()===t?!0:!!(n&&String(e.request_id||``).trim()===n)),a=i||e;a._detail_loading=!1,i&&(this.auditLog.entries=[...r])}}}var KQ=class{#e=A(fn({entries:[],total:0,limit:25,offset:0}));get auditLog(){return F(this.#e)}set auditLog(e){j(this.#e,e,!0)}#t=A(fn({entries:[],total:0,limit:50,offset:0}));get usageLog(){return F(this.#t)}set usageLog(e){j(this.#t,e,!0)}#n=A(``);get auditSearch(){return F(this.#n)}set auditSearch(e){j(this.#n,e,!0)}#r=A(``);get auditMethod(){return F(this.#r)}set auditMethod(e){j(this.#r,e,!0)}#i=A(``);get auditStatusCode(){return F(this.#i)}set auditStatusCode(e){j(this.#i,e,!0)}#a=A(``);get auditStream(){return F(this.#a)}set auditStream(e){j(this.#a,e,!0)}#o=A(``);get usageLogSearch(){return F(this.#o)}set usageLogSearch(e){j(this.#o,e,!0)}#s=A(``);get usageFilterModel(){return F(this.#s)}set usageFilterModel(e){j(this.#s,e,!0)}#c=A(``);get usageFilterProvider(){return F(this.#c)}set usageFilterProvider(e){j(this.#c,e,!0)}#l=A(``);get usageFilterLabel(){return F(this.#l)}set usageFilterLabel(e){j(this.#l,e,!0)}#u=A(``);get usageFilterUserPath(){return F(this.#u)}set usageFilterUserPath(e){j(this.#u,e,!0)}#d=A(!1);get usageLogHideCached(){return F(this.#d)}set usageLogHideCached(e){j(this.#d,e,!0)}liveLogsLastSeq=0;liveLogsReconnectAttempts=0;liveLogsReconnectTimer=null;liveLogsController=null;skippedLiveUsageByRequestId=null;fetchUsage=null;fetchAuditLog=null;isAuditEntryExpanded=null;refreshLiveConversation=null;noteLiveTokenUsage=null;get page(){return WI.page}get customStartDate(){return cR.customStartDate}get customEndDate(){return cR.customEndDate}liveLogsEnabled(){return fL.liveLogsVisible()}async startLiveLogs(){typeof fetch!=`function`||typeof ReadableStream>`u`||(await fL.ensureLoaded(),this.liveLogsEnabled()&&(this.stopLiveLogs(),this.liveLogsController=typeof AbortController==`function`?new AbortController:null,this.readLiveLogsStream(this.liveLogsController)))}stopLiveLogs(){this.liveLogsReconnectTimer&&=(clearTimeout(this.liveLogsReconnectTimer),null),this.liveLogsController&&typeof this.liveLogsController.abort==`function`&&this.liveLogsController.abort(),this.liveLogsController=null}ensureLiveLogs(){this.liveLogsController||this.liveLogsReconnectTimer||this.startLiveLogs()}async readLiveLogsStream(e){let t={};e&&(t.signal=e.signal);let n=WQ(this.liveLogsLastSeq),r=K.generation;try{let e=await oL(n,t);if(e.status===401){if(K.handleUnauthorized(r),r{this.liveLogsReconnectTimer=null,this.startLiveLogs()},t)}async fetchAuditEntryDetail(e){if(!this.auditEntryShouldFetchDetail(e))return;let t=String(e.id||``).trim();if(!t)return;e._detail_loading=!0;let n=e;try{let e=await cL(`/admin/audit/detail?log_id=`+encodeURIComponent(t),{label:`audit detail`});if(e.stale||!e.ok)return;n=this.mergeLiveAuditEntry(e.data,`audit.detail`)||n}catch(e){console.error(`Failed to fetch audit detail:`,e)}finally{this.clearAuditDetailLoading(n)}}};Object.assign(KQ.prototype,GQ());var qQ=new KQ,JQ=null;Fn(()=>{Nn(()=>{let e=K.refreshTick;if(JQ===null){JQ=e;return}e!==JQ&&(JQ=e,kr(()=>{qQ.stopLiveLogs(),qQ.startLiveLogs()}))})});function YQ(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,uncached_input_tokens:0,cached_input_tokens:0,cache_write_input_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null,rewrite_tokens_saved:0,rewrite_cost_saved:null}}function XQ(){return{entries:[],total:0,limit:50,offset:0}}function ZQ(e,t){let n=[[`model`,e&&e.model],[`provider`,e&&e.provider],[`label`,e&&e.label],[`user_path`,e&&e.user_path]],r=``;for(let[e,i]of n)!i||e===t||(r+=`&`+e+`=`+encodeURIComponent(i));return r}function QQ({limit:e,offset:t,hideCached:n,search:r}){let i=`&limit=`+e+`&offset=`+t;return i+=`&cache_mode=`+(n?`uncached`:`all`),r&&(i+=`&search=`+encodeURIComponent(r)),i}function $Q(e,t){let n=new Set(e||[]);return t&&n.add(t),[...n].sort()}function e$(e,t){let n=Number(t&&t.total_requests||0)-Number(e&&e.total_requests||0);return Number.isFinite(n)&&n>0?n:0}function t$(e,t,n){let r=n?e:t,i=Number(r&&r.total_requests||0);return Number.isFinite(i)?i:0}function n$(e,t,n){let r=e$(e,t);return r<=0?``:n?qL(r)+` cached requests hidden`:qL(Number(e&&e.total_requests||0))+` to providers + `+qL(r)+` from cache`}function r$(e){let t=e||{};return t.total_input_cost===null||t.total_input_cost===void 0?``:JL(t.total_input_cost)+` input + `+JL(t.total_output_cost)+` output`}function i$(e){let t=Number(e&&e.rewrite_tokens_saved||0);return Number.isFinite(t)&&t>0?t:0}function a$(e){return i$(e)>0}function o$(e){let t=e||{};return t.rewrite_cost_saved===void 0?null:t.rewrite_cost_saved}function s$(e){let t=i$(e);return t<=0?``:qL(t)+` prompt tokens removed by request rewriters before reaching providers`}function c$(e){return String(e&&e.cost_source||``).trim()}function l$(e){let t=c$(e);return t===`openrouter_credits`||t===`xai_cost_in_usd_ticks`}function u$(e){switch(c$(e)){case`openrouter_credits`:return`Costs from OpenRouter USD-based credits.`;case`xai_cost_in_usd_ticks`:return`Costs from xAI usage.cost_in_usd_ticks.`;default:return``}}function d$(e){return String(e&&e.cache_type||``).trim().toLowerCase()}function f$(e){let t=d$(e);return t===`exact`||t===`semantic`}function p$(e){let t=d$(e);return t===`exact`?`Exact`:t===`semantic`?`Semantic`:`-`}function m$(e,t){let n=t?String(t):``;return f$(e)?n?`Saved by cache — not charged +`+n:`Saved by cache — not charged`:n}function h$(e){let t=Number(e&&e.cached_input_ratio);return!Number.isFinite(t)||t<=0?0:Math.min(1,t)}function g$(e){return Number(e&&e.cached_input_tokens||0)>0}function _$(e){return g$(e)?(h$(e)*100).toFixed(1)+`%`:``}function v$(e){if(!g$(e))return``;let t=Number(e.cached_input_tokens||0),n=Number(e.uncached_input_tokens||0),r=Number(e.cache_write_input_tokens||0),i=t+n+r,a=[qL(t)+` cached / `+qL(i)+` input tokens`];return r>0&&a.push(qL(r)+` cache write`),a.join(` +`)}function y$(e){let t=[];if(u$(e)&&(t.push(u$(e)),t.push(``)),t.push(`Input: `+JL(e.input_cost)),t.push(`Output: `+JL(e.output_cost)),e.raw_data){t.push(``);for(let[n,r]of Object.entries(e.raw_data)){let e=n.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),i=r&&typeof r==`object`?JSON.stringify(r):qL(r);t.push(e+`: `+i)}}return t.join(` +`)}function b$(e){return Array.isArray(e&&e.labels)?e.labels:[]}function x$(e,t,n){return(e||[]).length>0||t?!0:(n||[]).some(e=>b$(e).length>0)}function S$(e){return e&&typeof e.total_tokens==`number`?e.total_tokens:(e&&e.input_tokens||0)+(e&&e.output_tokens||0)}function C$(e,t){return t?e.total_cost||0:S$(e)}function w$(e,t){return[...e||[]].sort((e,n)=>t?(n.total_cost||0)-(e.total_cost||0):C$(n,t)-C$(e,t))}function T$(e){let t=Array.isArray(e)?e:[];if(t.length===0)return!1;if(t.length!==1)return!0;let n=String(t[0]&&t[0].user_path||``).trim();return n!==``&&n!==`/`}function E$(e){return(e||`chart`)===`chart`||e===`stacked`}function D$(e,t,n){let r=w$(e,n),i=e=>Number(e)||0,a=e=>n?Math.min(i(e.cached_input_cost),i(e.input_cost)):i(e.cached_input_tokens),o=e=>n?i(e.input_cost)-a(e):i(e.uncached_input_tokens)+i(e.cached_input_tokens)+i(e.cache_write_input_tokens)>0?i(e.uncached_input_tokens)+i(e.cache_write_input_tokens):i(e.input_tokens),s=e=>i(n?e.output_cost:e.output_tokens),c=e=>n?0:i(e.local_cached_input_tokens),l=e=>n?0:i(e.local_cached_output_tokens),u=r.slice(0,10),d=r.slice(10),f=u.map(t),p=u.map(o),m=u.map(s),h=u.map(a),g=u.map(c),_=u.map(l);if(d.length>0){f.push(`Other`);let e=e=>d.reduce((t,n)=>t+e(n),0);p.push(e(o)),m.push(e(s)),h.push(e(a)),g.push(e(c)),_.push(e(l))}return{labels:f,inputs:p,outputs:m,prompts:h,localIns:g,localOuts:_}}function O$(e){return Math.max(200,e*32+72)}var k$=new class{#e=A(`tokens`);get usageMode(){return F(this.#e)}set usageMode(e){j(this.#e,e,!0)}get usageFilterModel(){return qQ.usageFilterModel}set usageFilterModel(e){qQ.usageFilterModel=e}get usageFilterProvider(){return qQ.usageFilterProvider}set usageFilterProvider(e){qQ.usageFilterProvider=e}get usageFilterLabel(){return qQ.usageFilterLabel}set usageFilterLabel(e){qQ.usageFilterLabel=e}get usageFilterUserPath(){return qQ.usageFilterUserPath}set usageFilterUserPath(e){qQ.usageFilterUserPath=e}#t=A(fn({models:[],providers:[],labels:[]}));get usageFacetOptions(){return F(this.#t)}set usageFacetOptions(e){j(this.#t,e,!0)}#n=A(fn(YQ()));get usageSummary(){return F(this.#n)}set usageSummary(e){j(this.#n,e,!0)}#r=A(fn(YQ()));get usageSummaryAll(){return F(this.#r)}set usageSummaryAll(e){j(this.#r,e,!0)}#i=A(fn([]));get modelUsage(){return F(this.#i)}set modelUsage(e){j(this.#i,e,!0)}#a=A(fn([]));get userPathUsage(){return F(this.#a)}set userPathUsage(e){j(this.#a,e,!0)}#o=A(fn([]));get labelUsage(){return F(this.#o)}set labelUsage(e){j(this.#o,e,!0)}get usageLog(){return qQ.usageLog}set usageLog(e){qQ.usageLog=e}get usageLogSearch(){return qQ.usageLogSearch}set usageLogSearch(e){qQ.usageLogSearch=e}get usageLogHideCached(){return qQ.usageLogHideCached}set usageLogHideCached(e){qQ.usageLogHideCached=e}#s=A(`chart`);get modelUsageView(){return F(this.#s)}set modelUsageView(e){j(this.#s,e,!0)}#c=A(`chart`);get userPathUsageView(){return F(this.#c)}set userPathUsageView(e){j(this.#c,e,!0)}#l=A(`chart`);get labelUsageView(){return F(this.#l)}set labelUsageView(e){j(this.#l,e,!0)}#u=A(!1);get summaryLoading(){return F(this.#u)}set summaryLoading(e){j(this.#u,e,!0)}#d=A(!1);get modelUsageLoading(){return F(this.#d)}set modelUsageLoading(e){j(this.#d,e,!0)}#f=A(!1);get userPathUsageLoading(){return F(this.#f)}set userPathUsageLoading(e){j(this.#f,e,!0)}#p=A(!1);get labelUsageLoading(){return F(this.#p)}set labelUsageLoading(e){j(this.#p,e,!0)}#m=A(!1);get usageLogLoading(){return F(this.#m)}set usageLogLoading(e){j(this.#m,e,!0)}#h={};#g(e){this.#h[e]&&this.#h[e].abort();let t=new AbortController;return this.#h[e]=t,t}#_(e,t){this.#h[e]===t&&(this.#h[e]=null)}filterQueryStr(e){return ZQ({model:this.usageFilterModel,provider:this.usageFilterProvider,label:this.usageFilterLabel,user_path:this.usageFilterUserPath},e)}onUsageFilterChanged(){this.fetchUsagePage()}toggleUsageLabelFilter(e){this.usageFilterLabel=this.usageFilterLabel===e?``:e,this.onUsageFilterChanged()}usageLabelChipTitle(e){return this.usageFilterLabel===e?`Clear label filter`:`Filter usage by "`+e+`"`}toggleUsageMode(e){this.usageMode=e,WI.navigate(`usage`,e===`costs`?`costs`:null)}toggleUsageChartView(e,t){e===`model`&&(this.modelUsageView=t),e===`userPath`&&(this.userPathUsageView=t),e===`label`&&(this.labelUsageView=t)}usageFilterModelOptions(){return $Q(this.usageFacetOptions.models,this.usageFilterModel)}usageFilterProviderOptions(){return $Q(this.usageFacetOptions.providers,this.usageFilterProvider)}usageFilterLabelOptions(){return $Q(this.usageFacetOptions.labels,this.usageFilterLabel)}async fetchUsagePage(){await fL.ensureLoaded();let e=[this.fetchUsagePageSummary(),this.fetchUsageFacetOptions(),this.fetchModelUsage(),this.fetchUserPathUsage(),this.fetchLabelUsage(),this.fetchUsageLog(!0)];dR.cacheAnalyticsEnabled()&&e.push(dR.fetchCacheOverview(this.filterQueryStr())),await Promise.all(e)}async fetchUsagePageSummary(){let e=this.#g(`summary`);this.summaryLoading=!0;try{let t=cR.queryStr()+this.filterQueryStr(),[n,r]=await Promise.all([cL(`/admin/usage/summary?`+t+`&cache_mode=uncached`,{label:`usage page summary`,signal:e.signal}),cL(`/admin/usage/summary?`+t+`&cache_mode=all`,{label:`usage page summary (all)`,signal:e.signal})]);if(n.stale||r.stale||e.signal.aborted)return;if(!n.ok||!r.ok){this.usageSummary=YQ(),this.usageSummaryAll=YQ();return}this.usageSummary=n.data&&typeof n.data==`object`?n.data:YQ(),this.usageSummaryAll=r.data&&typeof r.data==`object`?r.data:YQ()}catch(e){if(uL(e))return;console.error(`Failed to fetch usage page summary:`,e),this.usageSummary=YQ(),this.usageSummaryAll=YQ()}finally{this.#_(`summary`,e),this.#h.summary===null&&(this.summaryLoading=!1)}}async fetchUsageFacetOptions(){let e=this.#g(`facets`);try{let t=async(t,n)=>{let r=await cL(t+`?`+cR.queryStr()+this.filterQueryStr(n),{label:`usage facet options`,signal:e.signal});return r.stale?null:r.ok&&Array.isArray(r.data)?r.data:[]},n=t(`/admin/usage/models`,`model`),r=!this.usageFilterModel&&!this.usageFilterProvider,[i,a,o]=await Promise.all([n,r?n:t(`/admin/usage/models`,`provider`),t(`/admin/usage/labels`,`label`)]);if(e.signal.aborted||i===null||a===null||o===null)return;this.usageFacetOptions={models:i.map(e=>e&&e.model).filter(Boolean),providers:a.map(e=>rR(e)).filter(Boolean),labels:o.map(e=>e&&e.label).filter(Boolean)}}catch(e){if(uL(e))return;console.error(`Failed to fetch usage facet options:`,e),this.usageFacetOptions={models:[],providers:[],labels:[]}}finally{this.#_(`facets`,e)}}async#v(e,t,n,r,i){let a=this.#g(e);i(!0);try{let e=await cL(t+`?`+cR.queryStr()+this.filterQueryStr(),{label:n,signal:a.signal});if(e.stale||a.signal.aborted)return;if(!e.ok){r([]);return}r(Array.isArray(e.data)?e.data:[])}catch(e){if(uL(e))return;console.error(`Failed to fetch `+n+`:`,e),r([])}finally{this.#_(e,a),this.#h[e]===null&&i(!1)}}fetchModelUsage(){return this.#v(`modelUsage`,`/admin/usage/models`,`usage models`,e=>this.modelUsage=e,e=>this.modelUsageLoading=e)}fetchUserPathUsage(){return this.#v(`userPathUsage`,`/admin/usage/user-paths`,`usage user paths`,e=>this.userPathUsage=e,e=>this.userPathUsageLoading=e)}fetchLabelUsage(){return this.#v(`labelUsage`,`/admin/usage/labels`,`usage labels`,e=>this.labelUsage=e,e=>this.labelUsageLoading=e)}async fetchUsageLog(e){let t=this.#g(`usageLog`);this.usageLogLoading=!0;try{e&&(this.usageLog.offset=0);let n=cR.queryStr()+this.filterQueryStr();n+=QQ({limit:this.usageLog.limit,offset:this.usageLog.offset,hideCached:this.usageLogHideCached,search:this.usageLogSearch});let r=await cL(`/admin/usage/log?`+n,{label:`usage log`,signal:t.signal});if(r.stale||t.signal.aborted)return;if(!r.ok){this.usageLog=XQ();return}let i=r.data&&typeof r.data==`object`?r.data:XQ();i.entries||=[],this.usageLog=i}catch(e){if(uL(e))return;console.error(`Failed to fetch usage log:`,e),this.usageLog=XQ()}finally{this.#_(`usageLog`,t),this.#h.usageLog===null&&(this.usageLogLoading=!1)}}usageLogNextPage(){this.usageLog.offset+this.usageLog.limit0&&(this.usageLog.offset=Math.max(0,this.usageLog.offset-this.usageLog.limit),this.fetchUsageLog(!1))}};qQ.fetchUsage=()=>{WI.page===`usage`&&k$.fetchUsagePage()};var A$=L(`
        `);function j$(e,t){D(t,!0);let n=ma(t,`value`,15,``),r=ma(t,`placeholder`,3,``),i=ma(t,`label`,3,``),a=ma(t,`id`,3,void 0),o=ma(t,`oninput`,3,void 0),s=ma(t,`class`,3,``);var c=A$(),l=M(c);G(l,{name:`search`,class:`filter-input-icon`});var u=N(l,2);U(u),E(c),P(()=>{H(c,1,`filter-input-wrap ${s()??``}`,`svelte-30xz1k`),W(u,`id`,a()),W(u,`placeholder`,r()),W(u,`aria-label`,i())}),I(`input`,u,function(...e){o()?.apply(this,e)}),oa(u,n),R(e,c),O()}Ur([`input`]);function M$(e,t=300){let n=null,r=(...r)=>{clearTimeout(n),n=setTimeout(()=>{n=null,e(...r)},t)};return r.cancel=()=>{clearTimeout(n),n=null},r}var N$=L(``),P$=L(``),F$=L(`
        `);function I$(e,t){D(t,!0);let n=M$(()=>k$.onUsageFilterChanged());Nn(()=>n.cancel);var r=F$(),i=M(r),a=M(i);a.value=a.__value=``,V(N(a),16,()=>k$.usageFilterModelOptions(),e=>e,(e,t)=>{var n=N$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(i);var o=N(i,2),s=M(o);s.value=s.__value=``,V(N(s),16,()=>k$.usageFilterProviderOptions(),e=>e,(e,t)=>{var n=N$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(o);var c=N(o,2),l=e=>{var t=P$(),n=M(t);n.value=n.__value=``,V(N(n),16,()=>k$.usageFilterLabelOptions(),e=>e,(e,t)=>{var n=N$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(t),I(`change`,t,()=>k$.onUsageFilterChanged()),Vi(t,()=>k$.usageFilterLabel,e=>k$.usageFilterLabel=e),R(e,t)},u=k(()=>k$.usageFilterLabelOptions().length>0);B(c,e=>{F(u)&&e(l)}),j$(N(c,2),{class:`usage-page-filters-user-path`,placeholder:`User path /team/alpha`,label:`Filter by user path`,get oninput(){return n},get value(){return k$.usageFilterUserPath},set value(e){k$.usageFilterUserPath=e}}),E(r),I(`change`,i,()=>k$.onUsageFilterChanged()),Vi(i,()=>k$.usageFilterModel,e=>k$.usageFilterModel=e),I(`change`,o,()=>k$.onUsageFilterChanged()),Vi(o,()=>k$.usageFilterProvider,e=>k$.usageFilterProvider=e),R(e,r),O()}Ur([`change`]);var L$=L(`
        Cache Saved
        Cache Hits
        `,1);function R$(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=L$(),n=Cn(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var a=N(n,2),o=N(M(a),2),s=M(o,!0);E(o),E(a),P((e,t)=>{z(i,e),z(s,t)},[()=>JL(dR.cacheOverview.summary.total_saved_cost),()=>qL(dR.cacheOverview.summary.total_hits)]),R(e,t)},a=k(()=>dR.cacheAnalyticsEnabled());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}var z$=L(`
        Rewrite Saved
        Tokens Saved
        `,1),B$=L(`
        Total Requests
        Estimated Cost
        `);function V$(e,t){D(t,!0);let n=k(()=>a$(k$.usageSummary));var r=B$(),i=M(r),a=N(M(i),2),o=M(a),s=e=>{GZ(e,{size:18,label:`Loading usage summary`})},c=e=>{var t=Qr();P(e=>z(t,e),[()=>qL(t$(k$.usageSummary,k$.usageSummaryAll,k$.usageLogHideCached))]),R(e,t)};B(o,e=>{k$.summaryLoading?e(s):e(c,-1)}),E(a),E(i);var l=N(i,2),u=N(M(l),2),d=M(u),f=e=>{GZ(e,{size:18,label:`Loading usage summary`})},p=e=>{var t=Qr();P(e=>z(t,e),[()=>JL(k$.usageSummary.total_cost)]),R(e,t)};B(d,e=>{k$.summaryLoading?e(f):e(p,-1)}),E(u),E(l);var m=N(l,2),h=e=>{var t=z$(),n=Cn(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var a=N(n,2),o=N(M(a),2),s=M(o,!0);E(o),E(a),P((e,t,n,a)=>{W(r,`title`,e),z(i,t),W(o,`title`,n),z(s,a)},[()=>s$(k$.usageSummary),()=>JL(o$(k$.usageSummary)),()=>s$(k$.usageSummary),()=>qL(i$(k$.usageSummary))]),R(e,t)};B(m,e=>{F(n)&&e(h)}),R$(N(m,2),{}),E(r),P((e,t)=>{W(a,`title`,e),W(u,`title`,t)},[()=>n$(k$.usageSummary,k$.usageSummaryAll,k$.usageLogHideCached),()=>r$(k$.usageSummary)]),R(e,r),O()}function H$(e,t,n,r){let{stacked:i=!1,costs:a=!1,resolve:o=e=>e}=r||{},s=e=>a?`$`+Math.abs(e).toFixed(2):ZL(Math.abs(e)),c=e=>a?`$`+Math.abs(e).toFixed(4):Math.abs(e).toLocaleString(),l=e=>e.map(e=>i?Math.abs(e):-Math.abs(e)),u=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:`transparent`,borderWidth:0,borderRadius:4,maxBarThickness:22}),d=e=>(e||[]).some(e=>Math.abs(e)>0),f=[u(a?`Input Cost`:`Input Tokens`,l(n.inputs),o(`var(--token-input)`)),u(a?`Output Cost`:`Output Tokens`,n.outputs,o(`var(--token-output)`))];return d(n.prompts)&&f.push(u(a?`Prompt Cached Cost`:`Prompt Cached`,l(n.prompts),o(`var(--token-prompt)`))),!a&&d(n.localIns)&&f.push(u(`Locally Cached (Input)`,l(n.localIns),o(`var(--token-local)`))),!a&&d(n.localOuts)&&f.push(u(`Locally Cached (Output)`,n.localOuts,o(`var(--token-local)`))),{type:`bar`,data:{labels:t,datasets:f},options:{indexAxis:`y`,responsive:!0,maintainAspectRatio:!1,animation:{duration:0},layout:{padding:{top:8}},scales:{x:{stacked:!0,beginAtZero:!0,grid:i?{color:e.grid}:{color:t=>t.tick&&t.tick.value===0?e.text:e.grid},border:{display:!1},ticks:{color:e.text,font:lY(),callback:e=>s(e)}},y:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:lY(),autoSkip:!1}}},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:uY(e,{label:e=>e.dataset.label+`: `+c(e.parsed.x),footer:e=>{let t=0;return e.forEach(e=>{t+=Math.abs(Number(e.parsed.x))||0}),`Total: `+c(t)}})}}}}var U$=L(`
        `),W$=L(`

        `),G$=L(`

        `,1),K$=L(`
        `),q$=L(`Model Provider`,1),J$=L(`User Path`),Y$=L(`Label Requests`,1),X$=L(` `,1),Z$=L(` `),Q$=L(` `,1),$$=L(` `),e1=L(`
        Input TokensOutput TokensPrompt CachedLocal CachedTotal TokensInput CostOutput CostTotal Cost
        `),t1=L(`
        `),n1=L(`
        `);function r1(e,t){D(t,!0);let n=e=>{var n=U$(),r=M(n);let a;var o=N(r,2);let s;var l=N(o,2);let u;E(n),P(()=>{W(n,`aria-label`,F(i).group),a=H(r,1,`chart-view-btn svelte-1kee4g8`,null,a,{active:F(c)===`chart`}),W(r,`aria-pressed`,F(c)===`chart`),W(r,`aria-label`,`Show ${F(i).noun??``} chart`),s=H(o,1,`chart-view-btn svelte-1kee4g8`,null,s,{active:F(c)===`stacked`}),W(o,`aria-pressed`,F(c)===`stacked`),W(o,`aria-label`,`Show ${F(i).noun??``} stacked chart`),u=H(l,1,`chart-view-btn svelte-1kee4g8`,null,u,{active:F(c)===`table`}),W(l,`aria-pressed`,F(c)===`table`),W(l,`aria-label`,`Show ${F(i).noun??``} table`)}),I(`click`,r,()=>k$.toggleUsageChartView(t.kind,`chart`)),I(`click`,o,()=>k$.toggleUsageChartView(t.kind,`stacked`)),I(`click`,l,()=>k$.toggleUsageChartView(t.kind,`table`)),R(e,n)},r={model:{group:`Model usage view`,noun:`model usage`,tokensTitle:`Token Usage by Model`,costsTitle:`Cost by Model`},userPath:{group:`User path usage view`,noun:`user path usage`,tokensTitle:`Usage by User Path`,costsTitle:`Cost by User Path`},label:{group:`Label usage view`,noun:`label usage`,tokensTitle:`Usage by Label`,costsTitle:`Cost by Label`}},i=k(()=>r[t.kind]),a=k(()=>t.kind===`model`?e=>aR(e):t.kind===`userPath`?e=>e.user_path||`/`:e=>e.label);function o(e){return t.kind===`model`?(e.provider_name||e.provider||`-`)+`/`+e.model:t.kind===`userPath`?e.user_path||`/`:e.label}let s=k(()=>t.kind===`model`?k$.modelUsage:t.kind===`userPath`?k$.userPathUsage:k$.labelUsage),c=k(()=>t.kind===`model`?k$.modelUsageView:t.kind===`userPath`?k$.userPathUsageView:k$.labelUsageView),l=k(()=>t.kind===`model`?k$.modelUsageLoading:t.kind===`userPath`?k$.userPathUsageLoading:k$.labelUsageLoading),u=k(()=>k$.usageMode===`costs`),d=k(()=>t.kind===`userPath`?T$(F(s)):F(s).length>0),f=k(()=>F(u)?F(i).costsTitle:F(i).tokensTitle),p=k(()=>D$(F(s),F(a),F(u))),m=k(()=>w$(F(s),F(u)));function h(){return E$(F(c))?H$(cY(),F(p).labels,F(p),{stacked:F(c)===`stacked`,costs:F(u),resolve:dY}):null}var g=$r(),_=Cn(g),v=e=>{var r=t1(),a=M(r),s=M(a),u=e=>{bQ(e,{copyId:`label-usage-help-copy`,label:`label usage help`,text:`One request can have multiple labels. Such a request counts once under each of its labels, so label rows can overlap and add up to more than the period totals.`,title:e=>{var t=W$(),n=M(t,!0);E(t),P(()=>z(n,F(f))),R(e,t)},extra:e=>{var t=$r(),n=Cn(t),r=e=>{GZ(e,{size:14,get label(){return`Loading ${F(i).noun??``}`}})};B(n,e=>{F(l)&&e(r)}),R(e,t)},$$slots:{title:!0,extra:!0}})},d=e=>{var t=G$(),n=Cn(t),r=M(n,!0);E(n);var a=N(n,2),o=e=>{GZ(e,{size:14,get label(){return`Loading ${F(i).noun??``}`}})};B(a,e=>{F(l)&&e(o)}),P(()=>z(r,F(f))),R(e,t)};B(s,e=>{t.kind===`label`?e(u):e(d,-1)});var g=N(s,2);n(g),E(a);var _=N(a,2),v=e=>{var t=K$();let n;rY(M(t),{build:h}),E(t),P(e=>n=Ri(t,``,n,e),[()=>({height:`${O$(F(p).labels.length)??``}px`})]),R(e,t)},y=k(()=>E$(F(c))),b=e=>{var n=e1(),r=M(n),i=M(r),a=M(i),s=M(a),c=e=>{var t=q$();We(2),R(e,t)},l=e=>{R(e,J$())},u=e=>{var t=Y$();We(2),R(e,t)};B(s,e=>{t.kind===`model`?e(c):t.kind===`userPath`?e(l,1):e(u,-1)}),We(8),E(a),E(i);var d=N(i);V(d,21,()=>F(m),e=>o(e),(e,n)=>{var r=$$(),i=M(r),a=e=>{var t=X$(),r=Cn(t),i=M(r,!0);E(r);var a=N(r,2),o=M(a),s=M(o,!0);E(o),E(a),P(e=>{z(i,F(n).model||`-`),z(s,e)},[()=>rR(F(n))||`-`]),R(e,t)},o=e=>{var t=Z$(),r=M(t,!0);E(t),P(()=>z(r,F(n).user_path||`/`)),R(e,t)},s=e=>{var t=Q$(),r=Cn(t),i=M(r);let a;var o=M(i,!0);E(i),E(r);var s=N(r,2),c=M(s,!0);E(s),P((e,t,r)=>{a=H(i,1,`usage-label-chip`,null,a,{active:k$.usageFilterLabel===F(n).label}),Ri(i,`--label-color: ${e??``}`),W(i,`title`,t),z(o,F(n).label),z(c,r)},[()=>mY(F(n).label),()=>k$.usageLabelChipTitle(F(n).label),()=>qL(F(n).requests)]),I(`click`,i,()=>k$.toggleUsageLabelFilter(F(n).label)),R(e,t)};B(i,e=>{t.kind===`model`?e(a):t.kind===`userPath`?e(o,1):e(s,-1)});var c=N(i),l=M(c,!0);E(c);var u=N(c),d=M(u,!0);E(u);var f=N(u),p=M(f,!0);E(f);var m=N(f),h=M(m,!0);E(m);var g=N(m),_=M(g,!0);E(g);var v=N(g),y=M(v,!0);E(v);var b=N(v),x=M(b,!0);E(b);var S=N(b),C=M(S,!0);E(S),E(r),P((e,t,n,r,i,a,o,s,c,u,g)=>{z(l,e),z(d,t),W(f,`title`,n),z(p,r),W(m,`title`,`${i??``} input + ${a??``} output`),z(h,o),z(_,s),z(y,c),z(x,u),z(C,g)},[()=>qL(F(n).input_tokens),()=>qL(F(n).output_tokens),()=>F(n).cached_input_cost==null?``:`~`+JL(F(n).cached_input_cost)+` at current cached-input pricing`,()=>qL(F(n).cached_input_tokens||0),()=>qL(F(n).local_cached_input_tokens||0),()=>qL(F(n).local_cached_output_tokens||0),()=>qL((F(n).local_cached_input_tokens||0)+(F(n).local_cached_output_tokens||0)),()=>qL(S$(F(n))),()=>JL(F(n).input_cost),()=>JL(F(n).output_cost),()=>JL(F(n).total_cost)]),R(e,r)}),E(d),E(r),E(n),R(e,n)};B(_,e=>{F(y)?e(v):e(b,-1)}),E(r),R(e,r)},y=e=>{var t=n1();GZ(M(t),{size:20,get label(){return`Loading ${F(i).noun??``}`}}),E(t),R(e,t)};B(_,e=>{F(d)?e(v):F(l)&&e(y,1)}),R(e,g),O()}Ur([`click`]);var i1=L(``);function a1(e,t){D(t,!0);let n=ma(t,`total`,3,0),r=ma(t,`offset`,3,0),i=ma(t,`limit`,3,25);var a=$r(),o=Cn(a),s=e=>{var a=i1(),o=M(a),s=M(o);E(o);var c=N(o,2),l=M(c),u=N(l,2);E(c),E(a),P(e=>{z(s,`Showing ${r()+1}-${e??``} of ${n()??``}`),l.disabled=r()===0,u.disabled=r()+i()>=n()},[()=>Math.min(r()+i(),n())]),I(`click`,l,()=>t.onprev?.()),I(`click`,u,()=>t.onnext?.()),R(e,a)};B(o,e=>{n()>0&&e(s)}),R(e,a),O()}Ur([`click`]);var o1=(e,t=m)=>{var n=$r(),r=Cn(n),i=e=>{var n=c1();V(n,20,()=>b$(t()),e=>e,(e,t)=>{var n=s1();let r;var i=M(n,!0);E(n),P((e,a)=>{r=H(n,1,`usage-label-chip`,null,r,{active:k$.usageFilterLabel===t}),Ri(n,`--label-color: ${e??``}`),W(n,`title`,a),z(i,t)},[()=>mY(t),()=>k$.usageLabelChipTitle(t)]),I(`click`,n,()=>k$.toggleUsageLabelFilter(t)),R(e,n)}),E(n),R(e,n)},a=k(()=>b$(t()).length>0),o=e=>{R(e,l1())};B(r,e=>{F(a)?e(i):e(o,-1)}),R(e,n)},s1=L(``),c1=L(`
        `),l1=L(`-`),u1=L(`Labels`),d1=L(`Cost`),f1=L(``),p1=L(` `),m1=L(``),h1=L(` `),g1=L(` `),_1=L(`
        TimestampProviderModelUser PathCacheProvider Cache
        `),v1=L(`
        `),y1=L(`
        `),b1=L(`

        Request Log

        `);function x1(e,t){D(t,!0);let n=k(()=>k$.usageMode===`costs`),r=k(()=>x$(k$.labelUsage,k$.usageFilterLabel,k$.usageLog.entries)),i=M$(()=>k$.fetchUsageLog(!0));Nn(()=>i.cancel);var a=b1(),o=N(M(a),2),s=M(o);j$(M(s),{placeholder:`Search by request ID, model, provider...`,label:`Search by request ID, model, provider`,get oninput(){return i},get value(){return k$.usageLogSearch},set value(e){k$.usageLogSearch=e}}),E(s);var c=N(s,2),l=M(c),u=M(l);U(u),We(2),E(l),E(c),E(o);var d=N(o,2),f=e=>{var t=_1(),i=M(t),a=M(i),o=M(a),s=N(M(o),4),c=e=>{R(e,u1())};B(s,e=>{F(r)&&e(c)});var l=N(s,3),u=M(l,!0);E(l);var d=N(l),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=e=>{R(e,d1())};B(h,e=>{F(n)||e(g)}),E(o),E(a);var _=N(a);V(_,21,()=>k$.usageLog.entries,e=>e.id,(e,t)=>{var i=g1();let a;var o=M(i),s=M(o,!0);E(o);var c=N(o),l=M(c),u=M(l,!0);E(l),E(c);var d=N(c),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=e=>{var n=f1();o1(M(n),()=>F(t)),E(n),R(e,n)};B(h,e=>{F(r)&&e(g)});var _=N(h),v=M(_,!0);E(_);var y=N(_),b=M(y),x=e=>{var n=p1(),r=M(n,!0);E(n),P(e=>z(r,e),[()=>_$(F(t))]),R(e,n)},S=k(()=>g$(F(t))),C=e=>{R(e,l1())};B(b,e=>{F(S)?e(x):e(C,-1)}),E(y);var w=N(y),T=M(w,!0);E(w);var ee=N(w),te=M(ee,!0);E(ee);var ne=N(ee),re=M(ne),ie=M(re,!0);E(re);var ae=N(re,2),oe=e=>{{let n=k(()=>u$(F(t)));G(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return F(n)}})}},se=k(()=>F(n)&&l$(F(t)));B(ae,e=>{F(se)&&e(oe)});var ce=N(ae,2),le=e=>{G(e,{name:`database-zap`,class:`cache-savings-icon`})},ue=k(()=>F(n)&&f$(F(t)));B(ce,e=>{F(ue)&&e(le)});var de=N(ce,2),fe=e=>{var n=m1();P(()=>W(n,`title`,F(t).costs_calculation_caveat)),R(e,n)};B(de,e=>{F(n)&&F(t).costs_calculation_caveat&&e(fe)}),E(ne);var pe=N(ne),me=e=>{var n=h1(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{{let n=k(()=>u$(F(t)));G(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return F(n)}})}},s=k(()=>l$(F(t)));B(a,e=>{F(s)&&e(o)});var c=N(a,2),l=e=>{G(e,{name:`database-zap`,class:`cache-savings-icon`})},u=k(()=>f$(F(t)));B(c,e=>{F(u)&&e(l)});var d=N(c,2),f=e=>{var n=m1();P(()=>W(n,`title`,F(t).costs_calculation_caveat)),R(e,n)};B(d,e=>{F(t).costs_calculation_caveat&&e(f)}),E(n),P((e,t)=>{W(n,`title`,e),z(i,t)},[()=>m$(F(t),y$(F(t))),()=>JL(F(t).total_cost)]),R(e,n)};B(pe,e=>{F(n)||e(me)}),E(i),P((e,n,r,c,l,d,p,h,g,_,b,x,S)=>{a=H(i,1,`svelte-hg4ill`,null,a,e),W(o,`title`,n),z(s,r),z(u,c),z(f,F(t).model),z(m,F(t).user_path||`-`),z(v,l),W(y,`title`,d),W(w,`title`,p),z(T,h),W(ee,`title`,g),z(te,_),W(ne,`title`,b),W(re,`title`,x),z(ie,S)},[()=>({"usage-log-row-cached":f$(F(t))}),()=>tR(F(t).timestamp),()=>nL.formatTimestamp(F(t).timestamp),()=>rR(F(t))||`-`,()=>p$(F(t)),()=>v$(F(t)),()=>F(n)?qL(F(t).input_tokens)+` tokens`:``,()=>F(n)?JL(F(t).input_cost):qL(F(t).input_tokens),()=>F(n)?qL(F(t).output_tokens)+` tokens`:``,()=>F(n)?JL(F(t).output_cost):qL(F(t).output_tokens),()=>F(n)?m$(F(t),``):``,()=>F(n)?m$(F(t),qL(F(t).total_tokens)+` tokens +`+y$(F(t))):``,()=>F(n)?JL(F(t).total_cost):qL(F(t).total_tokens)]),R(e,i)}),E(_),E(i),E(t),P(()=>{z(u,F(n)?`Input Cost`:`Input`),z(f,F(n)?`Output Cost`:`Output`),z(m,F(n)?`Total Cost`:`Total`)}),R(e,t)},p=e=>{var t=v1();GZ(M(t),{size:20,label:`Loading request log`}),E(t),R(e,t)},m=e=>{var t=y1();JZ(M(t),{}),E(t),R(e,t)};B(d,e=>{k$.usageLog.entries.length>0?e(f):k$.usageLogLoading?e(p,1):e(m,-1)}),a1(N(d,2),{get total(){return k$.usageLog.total},get offset(){return k$.usageLog.offset},get limit(){return k$.usageLog.limit},onprev:()=>k$.usageLogPrevPage(),onnext:()=>k$.usageLogNextPage()}),E(a),I(`change`,u,()=>k$.fetchUsageLog(!0)),sa(u,()=>k$.usageLogHideCached,e=>k$.usageLogHideCached=e),R(e,a),O()}Ur([`click`,`change`]);var S1=L(`
        `);function C1(e,t){D(t,!0);let n=`usage`;Nn(()=>{K.refreshTick,WI.page===n&&(k$.fetchUsagePage(),qQ.ensureLiveLogs())}),Nn(()=>{WI.page===n&&(k$.usageMode=WI.sub===`costs`?`costs`:`tokens`)});var r=S1(),i=N(M(r),2),a=M(i);oY(a,{ariaLabel:`Usage mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return k$.usageMode},onchange:e=>k$.toggleUsageMode(e)}),OR(N(a,2),{onchange:()=>k$.fetchUsagePage()}),E(i);var o=N(i,2);I$(o,{});var s=N(o,2);V$(s,{});var c=N(s,2),l=M(c);r1(l,{kind:`model`});var u=N(l,2);r1(u,{kind:`userPath`}),r1(N(u,2),{kind:`label`}),E(c),x1(N(c,2),{}),E(r),R(e,r),O()}var w1=L(`
        `);function T1(e,t){let n=ma(t,`label`,3,`Loading...`),r=ma(t,`class`,3,``);var i=w1(),a=N(M(i),2),o=M(a,!0);E(a),E(i),P(()=>{H(i,1,`loading-state ${r()??``}`,`svelte-hzxv1d`),z(o,n())}),R(e,i)}var E1=L(``);function D1(e,t){let n=ma(t,`label`,3,``),r=ma(t,`class`,3,``),i=ma(t,`disabled`,3,!1);var a=E1();gi(M(a),()=>t.children??m),E(a),P(()=>{H(a,1,`table-action-btn ${r()??``}`),W(a,`aria-label`,n()),W(a,`title`,n()),a.disabled=i()}),I(`click`,a,function(...e){t.onclick?.apply(this,e)}),R(e,a)}Ur([`click`]);function O1(){return{scope:`user_path`,subject:`/`,period:`daily`,period_seconds:86400,amount:``,source:`manual`}}function k1(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},label:{label:`Label`,chip:`label`,fieldLabel:`Label`,placeholder:`Mobile-App-iOS`}};return t[e]||t.user_path}function A1(){return[`user_path`,`label`].map(e=>({value:e,label:k1(e).label}))}function j1(e){return String(e&&e.scope||``).trim()||`user_path`}function M1(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function N1(e){return k1(j1(e)).chip}function P1(e){return k1(String(e&&e.scope||``)).fieldLabel}function F1(e){return k1(String(e&&e.scope||``)).placeholder}function I1(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function L1(){return[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`},{value:`custom`,label:`Custom seconds`}]}function R1(e){switch(String(e||``).trim().toLowerCase()){case`hourly`:return 3600;case`daily`:return 86400;case`weekly`:return 604800;case`monthly`:return 2592e3;default:return 0}}function z1(e){switch(Number(e||0)){case 3600:return`hourly`;case 86400:return`daily`;case 604800:return`weekly`;case 2592e3:return`monthly`;default:return`custom`}}function B1(e){return j1(e)+`:`+M1(e)+`:`+String(e&&e.period_seconds||``)}function V1(e,t){if(!t||!Array.isArray(e))return null;let n=B1(t);return e.find(e=>B1(e)===n)||null}function H1(e){let t=String(e||``).trim();if(!t)return`User path is required.`;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function U1(e){if(H1(e))return``;let t=String(e||``).trim(),n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function W1(e){return`/`+String(e||``).trimStart().replace(/^\/+/,``)}function G1(e){return Array.isArray(e)?e:e&&Array.isArray(e.budgets)?e.budgets:[]}function K1(e){let t=Number(e&&e.period_seconds||0);return[M1(e),N1(e),l0(e),z1(t),t?String(t)+`s`:``,t?String(t)+` seconds`:``].join(` `).toLowerCase()}var q1={user_path:0,label:1};function J1(e,t){let n=Array.isArray(e)?e.slice():[],r=String(t||`subject`);return n.sort((e,t)=>{let n=(q1[j1(e)]||0)-(q1[j1(t)]||0),i=M1(e).localeCompare(M1(t)),a=Number(t&&t.period_seconds||0)-Number(e&&e.period_seconds||0);return r===`period`?a||n||i:n||i||a}),n}function Y1(e,t,n){let r=Array.isArray(e)?e:[],i=String(t||``).trim().toLowerCase();return J1(i?r.filter(e=>K1(e).includes(i)):r.slice(),n)}function X1(e){let t=e||{},n=j1(t),r=String(t.subject||``).trim();if(n===`user_path`){let e=H1(r);if(e)return{payload:null,error:e}}else if(!r)return{payload:null,error:`Label is required.`};let i=Number(t.amount);if(!Number.isFinite(i)||i<=0)return{payload:null,error:`Amount must be greater than 0.`};let a=String(t.period||``).trim(),o=R1(a);return a===`custom`&&(o=Number(t.period_seconds)),!Number.isFinite(o)||o<=0?{payload:null,error:`Period seconds must be greater than 0.`}:{payload:{scope:n,subject:n===`user_path`?U1(r):r,period_seconds:Math.trunc(o),amount:i,source:String(t.source||`manual`).trim()||`manual`},error:``}}function Z1(e){return{scope:j1(e),subject:M1(e),budget_key:{period_seconds:e.period_seconds},amount:e.amount}}function Q1(e){return{scope:j1(e),subject:M1(e),budget_key:{period_seconds:e.period_seconds}}}function $1(e){return{scope:j1(e),subject:M1(e),period_seconds:e.period_seconds}}function e0(e){return JL(e)}function t0(e,t){let n=e||{},r=t||{};return`A budget for "`+((M1(n)||M1(r))+` `+l0({period_seconds:n.period_seconds||r.period_seconds,period_label:r.period_label}))+`" already exists. Saving will override the current `+e0(r.amount)+` limit with `+e0(n.amount)+`.`}function n0(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:t}function r0(e,t){let n=n0(e);return Math.round((t?Math.min(n,1):n)*1e3)/10}function i0(e){return n0(e&&e.usage_ratio)}function a0(e){return r0(i0(e),!0)}function o0(e){return r0(e&&e.period_ratio,!0)}function s0(e){return r0(i0(e),!1).toFixed(1).replace(/\.0$/,``)+`%`}function c0(e){return o0(e).toFixed(1).replace(/\.0$/,``)+`%`}function l0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`Hourly`;case 86400:return`Daily`;case 604800:return`Weekly`;case 2592e3:return`Monthly`;default:{let n=String(e&&e.period_label||``).trim();return n?`Custom `+n:`Custom `+String(t||``)+`s`}}}function u0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`budget-period-label-hourly`;case 86400:return`budget-period-label-daily`;case 604800:return`budget-period-label-weekly`;case 2592e3:return`budget-period-label-monthly`;default:return`budget-period-label-custom`}}function d0(e){return u0(e).replace(`budget-period-label-`,`budget-bar-fill-period-`)}function f0(e){return u0(e).replace(`budget-period-label-`,`budget-bar-track-period-`)}function p0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`clock`;case 86400:return`sun`;case 604800:return`calendar-days`;case 2592e3:return`calendar`;default:return`settings-2`}}function m0(e){let t=Math.max(0,Math.trunc(Number(e||0)));return t+` `+(t===1?`second`:`seconds`)}function h0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`1 hour`;case 86400:return`1 day`;case 604800:return`1 week`;case 2592e3:return`1 month`;default:return m0(t)}}function g0(e){return String(e&&e.source||``).trim()||`manual`}function _0(e){let t=g0(e).toLowerCase();return t===`manual`?`Created from the dashboard.`:t===`config`?`Loaded from configuration.`:`Budget source: `+t}function v0(e){let t=Number(e&&e.remaining);return Number.isFinite(t)?t<0?JL(Math.abs(t))+` over`:JL(t)+` remaining`:``}var J=new class{#e=A(fn([]));get budgets(){return F(this.#e)}set budgets(e){j(this.#e,e,!0)}#t=A(!0);get budgetsAvailable(){return F(this.#t)}set budgetsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get filter(){return F(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(`subject`);get sortBy(){return F(this.#i)}set sortBy(e){j(this.#i,e,!0)}#a=A(``);get error(){return F(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(!1);get formOpen(){return F(this.#o)}set formOpen(e){j(this.#o,e,!0)}#s=A(!1);get formSubmitting(){return F(this.#s)}set formSubmitting(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get editing(){return F(this.#l)}set editing(e){j(this.#l,e,!0)}#u=A(fn(O1()));get form(){return F(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(!1);get overrideDialogOpen(){return F(this.#d)}set overrideDialogOpen(e){j(this.#d,e,!0)}#f=A(null);get overridePendingPayload(){return F(this.#f)}set overridePendingPayload(e){j(this.#f,e,!0)}#p=A(null);get overrideExistingBudget(){return F(this.#p)}set overrideExistingBudget(e){j(this.#p,e,!0)}#m=A(``);get resettingKey(){return F(this.#m)}set resettingKey(e){j(this.#m,e,!0)}#h=A(``);get deletingKey(){return F(this.#h)}set deletingKey(e){j(this.#h,e,!0)}#g=A(!1);get resetAllLoading(){return F(this.#g)}set resetAllLoading(e){j(this.#g,e,!0)}#_=null;managementEnabled(){return fL.budgetsVisible()}filteredBudgets(){return Y1(this.budgets,this.filter,this.sortBy)}async fetchBudgetsPage(){if(await fL.ensureLoaded(),!this.managementEnabled()){this.budgets=[],this.budgetsAvailable=!1,this.error=``;return}return this.#_||=this.fetchBudgets().finally(()=>{this.#_=null}),this.#_}async fetchBudgets(){this.loading=!0,this.error=``;try{let e=await cL(`/admin/budgets`,{label:`budgets`});if(e.status===503){this.budgetsAvailable=!1,this.budgets=[];return}if(e.stale)return;if(this.budgetsAvailable=!0,!e.ok){this.error=`Unable to load budgets.`;return}this.budgets=G1(e.data)}catch(e){console.error(`Failed to fetch budgets:`,e),this.budgets=[],this.error=`Unable to load budgets.`}finally{this.loading=!1}}openForm(e){if(this.editing=!!e,this.formError=``,e){let t=Number(e.period_seconds||0);this.form={scope:j1(e),subject:M1(e),period:z1(t),period_seconds:t,amount:String(e.amount||``),source:String(e.source||`manual`)}}else this.form=O1();this.formOpen=!0}syncPeriodSeconds(){let e=R1(String(this.form.period||``).trim());e>0&&(this.form.period_seconds=e)}setFormSubject(e){this.form.subject=this.form.scope===`label`?String(e??``):W1(e)}syncScope(){I1(this.form)}closeForm(){this.closeOverrideDialog(),this.formOpen=!1,this.formSubmitting=!1,this.formError=``,this.editing=!1,this.form=O1()}async submitForm(){if(this.formSubmitting)return;let{payload:e,error:t}=X1(this.form);if(!e){this.formError=t;return}if(!this.editing){let t=V1(this.budgets,e);if(t){this.openOverrideDialog(t,e);return}}await this.saveBudgetPayload(e)}async saveBudgetPayload(e){if(!(this.formSubmitting||!e)){this.formSubmitting=!0,this.formError=``;try{let t=await lL(`/admin/budgets`,`PUT`,Z1(e),{label:`budget`});if(t.status===503){this.budgetsAvailable=!1,this.formError=`Budget management is unavailable.`;return}if(t.stale)return;if(!t.ok){this.formError=iL(t,`Unable to save budget.`);return}this.closeForm(),q.success(`Budget saved.`),this.fetchBudgets()}catch(e){console.error(`Failed to save budget:`,e),this.formError=`Unable to save budget.`}finally{this.formSubmitting=!1}}}openOverrideDialog(e,t){this.overrideExistingBudget=e||null,this.overridePendingPayload=t||null,this.overrideDialogOpen=!0}closeOverrideDialog(){this.overrideDialogOpen=!1,this.overridePendingPayload=null,this.overrideExistingBudget=null}async confirmOverride(){if(!this.overridePendingPayload){this.closeOverrideDialog();return}let e=this.overridePendingPayload;this.closeOverrideDialog(),await this.saveBudgetPayload(e)}async resetBudget(e){if(!e)return;let t=B1(e);if(this.resettingKey===t)return;let n=M1(e)+` `+l0(e);if(confirm(`Reset budget "`+n+`"?`)){this.resettingKey=t;try{let t=await lL(`/admin/budgets/reset-one`,`POST`,$1(e),{label:`budget reset`});if(t.status===503){this.budgetsAvailable=!1,q.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){q.error(iL(t,`Unable to reset budget.`));return}q.success(`Budget reset.`),this.fetchBudgets()}catch(e){console.error(`Failed to reset budget:`,e),q.error(`Unable to reset budget.`)}finally{this.resettingKey=``}}}async deleteBudget(e){if(!e)return;let t=B1(e);if(this.deletingKey===t)return;let n=M1(e)+` `+l0(e);if(confirm(`Delete budget "`+n+`"? This cannot be undone.`)){this.deletingKey=t;try{let t=await lL(`/admin/budgets`,`DELETE`,Q1(e),{label:`budget delete`});if(t.status===503){this.budgetsAvailable=!1,q.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){q.error(iL(t,`Unable to delete budget.`));return}this.budgets=G1(t.data),q.success(`Budget deleted.`)}catch(e){console.error(`Failed to delete budget:`,e),q.error(`Unable to delete budget.`)}finally{this.deletingKey=``}}}openResetDialog(){TL.open({title:`Reset Budgets`,titleId:`budgetResetDialogTitle`,inputId:`budget-reset-confirmation`,requiredText:`reset`,confirmLabel:`Reset All Budgets`,icon:`rotate-ccw`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.resetAllBudgets()})}async resetAllBudgets(){if(!this.resetAllLoading){this.resetAllLoading=!0;try{let e=await lL(`/admin/budgets/reset`,`POST`,{confirmation:`reset`},{label:`budget reset`});if(e.stale)return;if(!e.ok){TL.error=`Unable to reset budgets.`;return}TL.close(),q.success(`Budgets reset.`),WI.page===`budgets`&&this.fetchBudgets()}catch(e){console.error(`Failed to reset budgets:`,e),TL.error=`Unable to reset budgets.`}finally{this.resetAllLoading=!1}}}},y0=L(` `),b0=L(` Edit`,1),x0=L(` `,1),S0=L(`
        Usage
        Period
        `),C0=L(`
        `);function w0(e,t){D(t,!0);let n=ma(t,`budgets`,19,()=>[]);function r(e){if(!e)return``;let t=nL.formatTimestamp(e);return!t||t===`-`?``:t+` `+nL.effectiveTimeZoneLabel()}var i=C0();V(i,21,n,e=>B1(e),(e,t)=>{var n=S0(),i=M(n),a=M(i),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=M(c),u=e=>{var n=y0(),r=M(n);G(r,{name:`tag`,class:`budget-period-icon`});var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t)=>{W(n,`title`,e),z(a,t)},[()=>`Budget scope: `+N1(F(t)),()=>N1(F(t))]),R(e,n)},d=k(()=>j1(F(t))===`label`);B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=M(f);{let e=k(()=>p0(F(t)));G(p,{get name(){return F(e)},class:`budget-period-icon`})}var m=N(p,2),h=M(m,!0);E(m),E(f),E(c);var g=N(c,2),_=M(g),v=M(_),y=M(v,!0);E(v),E(_);var b=N(_,2),x=M(b);D1(x,{label:`Edit budget`,class:`budget-action-btn`,onclick:()=>J.openForm(F(t)),children:(e,t)=>{var n=b0();G(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}});var S=N(x,2);{let e=k(()=>J.resettingKey===B1(F(t))?`Resetting budget`:`Reset budget`),n=k(()=>J.resettingKey===B1(F(t)));D1(S,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>J.resetBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=x0(),i=Cn(r);G(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.resettingKey===B1(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var C=N(S,2);{let e=k(()=>J.deletingKey===B1(F(t))?`Deleting budget`:`Delete budget`),n=k(()=>J.deletingKey===B1(F(t)));D1(C,{get label(){return F(e)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>J.deleteBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=x0(),i=Cn(r);G(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.deletingKey===B1(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}E(b),E(g),E(a);var w=N(a,2),T=M(w),ee=M(T),te=N(M(ee),2),ne=M(te,!0);E(te),E(ee);var re=N(ee,2),ie=M(re);let ae;var oe=N(ie,2),se=M(oe),ce=M(se,!0);E(se);var le=N(se,2),ue=M(le,!0);E(le),E(oe);var de=N(oe,2),fe=M(de),pe=M(fe,!0);E(fe);var me=N(fe,2),he=M(me,!0);E(me),E(de),E(re),E(T);var ge=N(T,2),_e=M(ge),ve=N(M(_e),2),ye=M(ve,!0);E(ve),E(_e);var be=N(_e,2),xe=M(be),Se=N(xe,2),Ce=M(Se),we=M(Ce,!0);E(Ce);var Te=N(Ce,2),Ee=M(Te,!0);E(Te);var De=N(Te,2),Oe=M(De,!0);E(De),E(Se);var ke=N(Se,2),Ae=M(ke),je=M(Ae,!0);E(Ae);var Me=N(Ae,2),Ne=M(Me,!0);E(Me);var Pe=N(Me,2),Fe=M(Pe,!0);E(Pe),E(ke),E(be),E(ge),E(w),E(i),E(n),P((e,t,n,r,i,a,c,l,u,d,p,m,g,_,b,x,S,C,w,T,ee,te,oe,se,le,de,fe,me)=>{W(o,`title`,e),z(s,t),H(f,1,`budget-period-label ${n??``}`,`svelte-1jm56wo`),z(h,r),W(v,`title`,i),z(y,a),z(ne,c),W(re,`aria-valuenow`,l),W(re,`aria-label`,u),Ri(re,`--budget-progress: ${d??``}%`),ae=H(ie,1,`budget-bar-fill budget-bar-fill-usage`,null,ae,p),z(ce,m),z(ue,g),z(pe,_),z(he,b),z(ye,x),H(be,1,`budget-bar-track ${S??``}`,`svelte-1jm56wo`),W(be,`aria-valuenow`,C),Ri(be,`--budget-progress: ${w??``}%`),H(xe,1,`budget-bar-fill budget-bar-fill-period ${T??``}`,`svelte-1jm56wo`),W(Ce,`title`,ee),z(we,te),z(Ee,oe),W(De,`title`,se),z(Oe,le),z(je,de),z(Ne,fe),z(Fe,me)},[()=>N1(F(t))+`: `+M1(F(t)),()=>M1(F(t)),()=>u0(F(t)),()=>l0(F(t)),()=>_0(F(t)),()=>g0(F(t)),()=>s0(F(t)),()=>a0(F(t)),()=>`Budget usage: `+JL(F(t).spent)+` of `+JL(F(t).amount)+`, `+v0(F(t)),()=>a0(F(t)),()=>({"budget-bar-fill-danger":i0(F(t))>=1}),()=>JL(F(t).spent)+` of `+JL(F(t).amount),()=>v0(F(t)),()=>JL(F(t).spent)+` of `+JL(F(t).amount),()=>v0(F(t)),()=>c0(F(t)),()=>f0(F(t)),()=>o0(F(t)),()=>o0(F(t)),()=>d0(F(t)),()=>r(F(t).period_start),()=>nL.formatTimestamp(F(t).period_start),()=>h0(F(t)),()=>r(F(t).period_end),()=>nL.formatTimestamp(F(t).period_end),()=>nL.formatTimestamp(F(t).period_start),()=>h0(F(t)),()=>nL.formatTimestamp(F(t).period_end)]),R(e,n)}),E(i),R(e,i),O()}var T0=L(``),E0=L(`
        `),D0=L(`

        Editing a budget updates its limit only. Use Reset to start a new + budget period.

        `),O0=L(``),k0=L(``),A0=L(``),j0=L(` `,1);function M0(e,t){D(t,!0);function n(){!J.overrideDialogOpen&&!K.dialogOpen&&J.closeForm()}function r(e){J.setFormSubject(e.target.value),e.target.value=J.form.subject}var i=j0(),a=Cn(i);bL(a,{get open(){return J.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=k0(),i=M(n),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s),E(o),vL(N(o,2),{label:`Close budget editor`,onclick:()=>J.closeForm(),iconClass:``}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);V(d,21,A1,e=>e.value,(e,t)=>{var n=T0(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(d),E(u);var f=N(u,2),p=M(f),m=M(p,!0);E(p);var h=N(p,2);U(h),E(f);var g=N(f,2),_=N(M(g),2);V(_,21,L1,e=>e.value,(e,t)=>{var n=T0(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(_),E(g);var v=N(g,2),y=e=>{var t=E0(),n=N(M(t),2);U(n),E(t),P(()=>n.disabled=J.editing),oa(n,()=>J.form.period_seconds,e=>J.form.period_seconds=e),R(e,t)};B(v,e=>{J.form.period===`custom`&&e(y)});var b=N(v,2),x=N(M(b),2);U(x),E(b),E(l);var S=N(l,2),C=e=>{R(e,D0())};B(S,e=>{J.editing&&e(C)});var w=N(S,2),T=e=>{var t=O0(),n=M(t,!0);E(t),P(()=>z(n,J.formError)),R(e,t)};B(w,e=>{J.formError&&e(T)});var ee=N(w,2),te=M(ee),ne=N(te,2),re=M(ne);G(re,{name:`save`,class:`form-action-icon`});var ie=N(re,2),ae=M(ie,!0);E(ie),E(ne),E(ee),E(i),E(n),P((e,t)=>{z(c,J.editing?`Edit Budget`:`Create Budget`),d.disabled=J.editing,z(m,e),W(h,`placeholder`,t),Qi(h,J.form.subject),h.disabled=J.editing,W(h,`data-modal-autofocus`,!J.editing||void 0),_.disabled=J.editing,W(x,`data-modal-autofocus`,J.editing||void 0),ne.disabled=J.formSubmitting,z(ae,J.formSubmitting?`Saving...`:`Save Budget`)},[()=>P1(J.form),()=>F1(J.form)]),Hr(`submit`,i,e=>{e.preventDefault(),J.submitForm()}),I(`change`,d,()=>J.syncScope()),Vi(d,()=>J.form.scope,e=>J.form.scope=e),I(`input`,h,r),I(`change`,_,()=>J.syncPeriodSeconds()),Vi(_,()=>J.form.period,e=>J.form.period=e),oa(x,()=>J.form.amount,e=>J.form.amount=e),I(`click`,te,()=>J.closeForm()),R(e,n)},$$slots:{default:!0}}),bL(N(a,2),{get open(){return J.overrideDialogOpen},variant:`auth`,onclose:()=>J.closeOverrideDialog(),children:(e,t)=>{var n=A0(),r=M(n);vL(N(M(r),2),{label:`Close budget override dialog`,onclick:()=>J.closeOverrideDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=N(c,2),u=M(l);G(u,{name:`save`,class:`form-action-icon`});var d=N(u,2),f=M(d,!0);E(d),E(l),E(s),E(i),E(n),P(e=>{z(o,e),l.disabled=J.formSubmitting,z(f,J.formSubmitting?`Saving...`:`Override Budget`)},[()=>t0(J.overridePendingPayload,J.overrideExistingBudget)]),Hr(`submit`,i,e=>{e.preventDefault(),J.confirmOverride()}),I(`click`,c,()=>J.closeOverrideDialog()),R(e,n)},$$slots:{default:!0}}),R(e,i),O()}Ur([`change`,`input`,`click`]);var N0=L(`

        Budgets

        `),P0=L(``),F0=L(`
        Budget management is unavailable.
        `),I0=L(``),L0=L(`
        `),R0=L(`

        No budgets configured yet.

        `),z0=L(`

        No budgets match your filter.

        `),B0=L(`
        `);function V0(e,t){D(t,!0),Nn(()=>{K.refreshTick,WI.page===`budgets`&&J.fetchBudgetsPage()});let n=k(()=>J.filteredBudgets());var r=B0(),i=M(r),a=M(i);bQ(M(a),{copyId:`budgets-help-copy`,label:`budgets help`,title:e=>{R(e,N0())},help:e=>{We(),R(e,Qr(`Budgets are evaluated from tracked usage cost records for each user + path subtree. Enforcement runs only when Budget is enabled for the + active workflow.`))},$$slots:{title:!0,help:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=P0();G(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=J.formSubmitting),I(`click`,t,()=>J.openForm()),R(e,t)},l=k(()=>J.managementEnabled()&&J.budgetsAvailable&&!K.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);GL(u,{});var d=N(u,2),f=e=>{R(e,F0())},p=k(()=>(!J.managementEnabled()||!J.budgetsAvailable)&&!K.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=I0(),n=M(t,!0);E(t),P(()=>z(n,J.error)),R(e,t)};B(m,e=>{J.error&&!K.authError&&e(h)});var g=N(m,2),_=e=>{T1(e,{label:`Loading budgets...`})};B(g,e=>{J.loading&&!K.authError&&e(_)});var v=N(g,2),y=e=>{var t=L0(),n=M(t);j$(M(n),{id:`budget-filter`,placeholder:`Filter by user path or period...`,label:`Filter budgets by user path or period`,get value(){return J.filter},set value(e){J.filter=e}}),E(n);var r=N(n,2),i=N(M(r),2),a=M(i);a.value=a.__value=`subject`;var o=N(a);o.value=o.__value=`period`,E(i),E(r),E(t),Vi(i,()=>J.sortBy,e=>J.sortBy=e),R(e,t)};B(v,e=>{(J.budgets.length>0||J.filter)&&J.budgetsAvailable&&!K.authError&&!J.formOpen&&e(y)});var b=N(v,2);M0(b,{});var x=N(b,2),S=e=>{w0(e,{get budgets(){return F(n)}})};B(x,e=>{F(n).length>0&&J.budgetsAvailable&&!K.authError&&e(S)});var C=N(x,2),w=e=>{R(e,R0())},T=k(()=>J.budgets.length===0&&!J.filter&&!J.loading&&!K.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,z0())},ne=k(()=>J.budgets.length>0&&F(n).length===0&&J.filter&&!J.loading&&!K.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function H0(){return{scope:`user_path`,subject:`/`,period:`minute`,period_seconds:60,max_requests:``,max_tokens:``,source:`manual`}}function U0(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},provider:{label:`Provider`,chip:`provider`,fieldLabel:`Provider Name`,placeholder:`openai`},model:{label:`Model`,chip:`model`,fieldLabel:`Model`,placeholder:`openai/gpt-4o`}};return t[e]||t.user_path}function W0(){return[`user_path`,`provider`,`model`].map(e=>({value:e,label:U0(e).label}))}function G0(e){return String(e&&e.scope||``).trim()||`user_path`}function K0(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function q0(e){return U0(G0(e)).chip}function J0(e){return U0(String(e&&e.scope||``)).fieldLabel}function Y0(e){return U0(String(e&&e.scope||``)).placeholder}function X0(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function Z0(){return[{value:`minute`,label:`Per minute`},{value:`hour`,label:`Per hour`},{value:`day`,label:`Per day`},{value:`concurrent`,label:`Concurrent (in-flight)`},{value:`custom`,label:`Custom seconds`}]}function Q0(e){switch(String(e||``).trim().toLowerCase()){case`minute`:return 60;case`hour`:return 3600;case`day`:return 86400;case`concurrent`:return 0;default:return-1}}function $0(e){switch(Number(e||0)){case 60:return`minute`;case 3600:return`hour`;case 86400:return`day`;case 0:return`concurrent`;default:return`custom`}}function e2(e){let t=String(e&&e.period||``).trim(),n=Q0(t);n>=0&&(e.period_seconds=n),t===`concurrent`&&(e.max_tokens=``)}function t2(e){return G0(e)+`:`+K0(e)+`:`+String(e&&e.period_seconds||`0`)}function n2(e){return Number(e&&e.period_seconds||0)===0}function r2(e){return String(e&&e.period_label||``).trim()||$0(Number(e&&e.period_seconds||0))}function i2(e){return String(e&&e.source||``)===`config`?`config`:`manual`}function a2(e){return String(e&&e.source||``)===`config`}function o2(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString():`0`}function s2(e,t){let n=Number(e),r=Number(t);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return 0;let i=Math.round(n/r*100);return Math.min(Math.max(i,0),100)}function c2(e,t){let n=String(t||``).trim().toLowerCase(),r=Array.isArray(e)?e.slice():[],i={user_path:0,provider:1,model:2};return r.sort((e,t)=>{let n=(i[G0(e)]||0)-(i[G0(t)]||0);if(n!==0)return n;let r=K0(e).localeCompare(K0(t));return r===0?Number(e.period_seconds||0)-Number(t.period_seconds||0):r}),n?r.filter(e=>{let t=K0(e).toLowerCase(),r=q0(e).toLowerCase(),i=r2(e).toLowerCase();return t.includes(n)||r.includes(n)||i.includes(n)}):r}function l2(e){return!e||!Array.isArray(e.rate_limits)?[]:e.rate_limits}function u2(e,t,n){let r=String(t||``).trim();return r=e===`provider`||e===`model`?r.toLowerCase():`/`+r.split(`/`).map(e=>e.trim()).filter(Boolean).join(`/`),e+`:`+r+`:`+Number(n||0)}function d2(e,t){return e?u2(t.scope,t.subject,t.limit_key.period_seconds)!==u2(e.scope,e.subject,e.period_seconds):!1}function f2(e){let t=e||{},n=String(t.scope||`user_path`),r=String(t.subject||``).trim();if(n!==`user_path`&&!r)return{error:J0(t)+` is required.`};let i=String(t.period||``)===`concurrent`,a=t.period_seconds;if(a===``||a==null)return{error:`Period seconds is required.`};let o=Number(a);if(!Number.isInteger(o)||o<0||o===0&&!i)return{error:`Period seconds must be a positive integer (0 only for the concurrent period).`};let s=String(t.max_requests===void 0||t.max_requests===null?``:t.max_requests).trim(),c=String(t.max_tokens===void 0||t.max_tokens===null?``:t.max_tokens).trim();if(!s&&!c)return{error:`Set max requests, max tokens, or both.`};if(i&&c)return{error:`Token limits are not valid for the concurrent period.`};let l={scope:n,subject:r||`/`,limit_key:{period_seconds:o}};if(s){let e=Number(s);if(!Number.isInteger(e)||e<=0)return{error:`Max requests must be a positive integer.`};l.max_requests=e}if(c){let e=Number(c);if(!Number.isInteger(e)||e<=0)return{error:`Max tokens must be a positive integer.`};l.max_tokens=e}return{payload:l}}function p2(e,t,n){if(G0(e)!==`model`)return!1;let r=String(K0(e)).toLowerCase(),i=String(n||``).trim().toLowerCase();if(!i)return!1;if(r===i)return!0;let a=String(t||``).trim().toLowerCase();return a?r===a+`/`+i||i.startsWith(a+`/`)&&r===i.slice(a.length+1):!1}function m2(e,t){return G0(e)===`provider`&&String(K0(e)).toLowerCase()===String(t||``).trim().toLowerCase()}function h2(e){let t=e||{},n=String(t.model||``),r=String(t.provider||``);return!r||n.toLowerCase().startsWith(r+`/`)?n:r+`/`+n}function g2(e,t){let n=e||{},r=Array.isArray(t)?t:[],i=[];return n.kind===`model`&&i.push({key:`model`,title:`Model limits`,scope:`model`,subject:h2(n),hint:``,items:r.filter(e=>p2(e,n.provider,n.model))}),i.push({key:`provider`,title:`Provider limits (`+n.provider+`)`,scope:`provider`,subject:n.provider,hint:n.kind===`model`?`Shared by every model routed to this provider.`:``,items:r.filter(e=>m2(e,n.provider))}),i.push({key:`global`,title:`Global limits`,scope:`user_path`,subject:`/`,hint:`Root user-path rules throttle all traffic. Narrower user-path rules also apply, per consumer.`,items:r.filter(e=>G0(e)===`user_path`&&K0(e)===`/`)}),i}function _2(e){return n2(e)?s2(e.in_flight,e.max_requests):Math.max(s2(e.requests_used,e.max_requests),s2(e.tokens_used,e.max_tokens))}function v2(e){return`--rate-limit-pressure: `+_2(e)+`%`}function y2(e){let t=_2(e);return t>=100?`rate-limit-pressure-row rate-limit-pressure-full`:t>=75?`rate-limit-pressure-row rate-limit-pressure-high`:`rate-limit-pressure-row`}function b2(e){return(Array.isArray(e)?e:[]).some(e=>G0(e)===`user_path`&&K0(e)===`/`)}function x2(e,t,n){let r=Array.isArray(e)?e:[];return r.some(e=>p2(e,t,n))?`table-action-btn-active`:r.some(e=>m2(e,t))||b2(r)?`rate-limit-gauge-inherited`:``}function S2(e,t){let n=Array.isArray(e)?e:[];return n.some(e=>m2(e,t))?`table-action-btn-active`:b2(n)?`rate-limit-gauge-inherited`:``}function C2(e,t){let n=`Rate limits for `+e;return t===`table-action-btn-active`?n+` (direct limits configured)`:t?n+` (inherited limits apply)`:n}function w2(e){if(n2(e))return o2(e.in_flight)+` of `+o2(e.max_requests)+` in flight`;let t=[];return e.max_requests!==null&&e.max_requests!==void 0&&t.push(o2(e.requests_used)+`/`+o2(e.max_requests)+` req`),e.max_tokens!==null&&e.max_tokens!==void 0&&t.push(o2(e.tokens_used)+`/`+o2(e.max_tokens)+` tok`),t.join(` · `)}var Y=new class{#e=A(fn([]));get rateLimits(){return F(this.#e)}set rateLimits(e){j(this.#e,e,!0)}#t=A(!0);get rateLimitsAvailable(){return F(this.#t)}set rateLimitsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get rateLimitsLoading(){return F(this.#n)}set rateLimitsLoading(e){j(this.#n,e,!0)}rateLimitFetchPromise=null;#r=A(``);get rateLimitFilter(){return F(this.#r)}set rateLimitFilter(e){j(this.#r,e,!0)}#i=A(``);get rateLimitError(){return F(this.#i)}set rateLimitError(e){j(this.#i,e,!0)}#a=A(!1);get rateLimitFormOpen(){return F(this.#a)}set rateLimitFormOpen(e){j(this.#a,e,!0)}#o=A(!1);get rateLimitFormSubmitting(){return F(this.#o)}set rateLimitFormSubmitting(e){j(this.#o,e,!0)}#s=A(``);get rateLimitFormError(){return F(this.#s)}set rateLimitFormError(e){j(this.#s,e,!0)}#c=A(!1);get rateLimitEditing(){return F(this.#c)}set rateLimitEditing(e){j(this.#c,e,!0)}rateLimitEditingOriginal=null;rateLimitFormReturnToInspector=!1;#l=A(``);get rateLimitResettingKey(){return F(this.#l)}set rateLimitResettingKey(e){j(this.#l,e,!0)}#u=A(``);get rateLimitDeletingKey(){return F(this.#u)}set rateLimitDeletingKey(e){j(this.#u,e,!0)}#d=A(!1);get rateLimitInspectorOpen(){return F(this.#d)}set rateLimitInspectorOpen(e){j(this.#d,e,!0)}#f=A(fn({kind:``,provider:``,model:``,title:``}));get rateLimitInspector(){return F(this.#f)}set rateLimitInspector(e){j(this.#f,e,!0)}#p=A(fn(H0()));get rateLimitForm(){return F(this.#p)}set rateLimitForm(e){j(this.#p,e,!0)}rateLimitsEnabled(){return fL.rateLimitsVisible()}defaultRateLimitForm(){return H0()}rateLimitScopeMeta(e){return U0(e)}rateLimitScopeOptions(){return W0()}rateLimitScope(e){return G0(e)}rateLimitSubject(e){return K0(e)}rateLimitScopeLabel(e){return q0(e)}rateLimitSubjectFieldLabel(){return J0(this.rateLimitForm)}rateLimitSubjectPlaceholder(){return Y0(this.rateLimitForm)}syncRateLimitScope(){X0(this.rateLimitForm)}rateLimitPeriodOptions(){return Z0()}rateLimitPeriodSeconds(e){return Q0(e)}rateLimitPeriodFromSeconds(e){return $0(e)}syncRateLimitPeriodSeconds(){e2(this.rateLimitForm)}rateLimitKey(e){return t2(e)}rateLimitIsConcurrent(e){return n2(e)}rateLimitPeriodLabel(e){return r2(e)}rateLimitSourceLabel(e){return i2(e)}rateLimitIsReadOnly(e){return a2(e)}formatRateLimitNumber(e){return o2(e)}rateLimitUsagePercent(e,t){return s2(e,t)}filteredRateLimits(){return c2(this.rateLimits,this.rateLimitFilter)}normalizeRateLimitListPayload(e){return l2(e)}async fetchRateLimitsPage(){if(await fL.ensureLoaded(),!this.rateLimitsEnabled()){this.rateLimits=[],this.rateLimitsAvailable=!1,this.rateLimitError=``;return}return this.rateLimitFetchPromise||=this.fetchRateLimits().finally(()=>{this.rateLimitFetchPromise=null}),this.rateLimitFetchPromise}async fetchRateLimits(){this.rateLimitsLoading=!0,this.rateLimitError=``;try{let e=await cL(`/admin/rate-limits`,{label:`rate limits`});if(e.status===503){this.rateLimitsAvailable=!1,this.rateLimits=[];return}if(e.stale)return;if(this.rateLimitsAvailable=!0,!e.ok){this.rateLimitError=`Unable to load rate limits.`;return}this.rateLimits=l2(e.data)}catch(e){console.error(`Failed to fetch rate limits:`,e),this.rateLimits=[],this.rateLimitError=`Unable to load rate limits.`}finally{this.rateLimitsLoading=!1}}openRateLimitForm(e){if(this.rateLimitEditing=!!e,this.rateLimitFormError=``,e){let t=Number(e.period_seconds||0);this.rateLimitEditingOriginal={scope:G0(e),subject:K0(e),period_seconds:t},this.rateLimitForm={scope:G0(e),subject:K0(e),period:$0(t),period_seconds:t,max_requests:e.max_requests===null||e.max_requests===void 0?``:String(e.max_requests),max_tokens:e.max_tokens===null||e.max_tokens===void 0?``:String(e.max_tokens),source:String(e.source||`manual`)}}else this.rateLimitEditingOriginal=null,this.rateLimitForm=H0();this.rateLimitFormOpen=!0}closeRateLimitForm(){this.rateLimitFormOpen=!1,this.rateLimitFormSubmitting=!1,this.rateLimitFormError=``,this.rateLimitEditing=!1,this.rateLimitEditingOriginal=null,this.rateLimitForm=H0(),this.rateLimitFormReturnToInspector&&(this.rateLimitFormReturnToInspector=!1,this.rateLimitInspectorOpen=!0)}rateLimitNormalizedIdentity(e,t,n){return u2(e,t,n)}rateLimitIdentityMoved(e){return d2(this.rateLimitEditingOriginal,e)}setRateLimitFormSubject(e){this.rateLimitForm.subject=String(e||``)}rateLimitFormPayload(){return f2(this.rateLimitForm)}async submitRateLimitForm(){if(this.rateLimitFormSubmitting)return;let{payload:e,error:t}=this.rateLimitFormPayload();if(t){this.rateLimitFormError=t;return}let n=this.rateLimitIdentityMoved(e),r=this.rateLimitEditingOriginal;this.rateLimitFormSubmitting=!0,this.rateLimitFormError=``;try{let t=await lL(`/admin/rate-limits`,`PUT`,e,{label:`rate limit save`});if(t.stale)return;if(!t.ok){this.rateLimitFormError=iL(t,`Unable to save rate limit.`);return}if(this.rateLimits=l2(t.data),n&&!await this.deleteMovedRateLimitOriginal(r))return;this.closeRateLimitForm(),q.success(n?`Rate limit moved; live counters restarted.`:`Rate limit saved.`)}catch(e){console.error(`Failed to save rate limit:`,e),this.rateLimitFormError=`Unable to save rate limit.`}finally{this.rateLimitFormSubmitting=!1}}async deleteMovedRateLimitOriginal(e){try{let t=await lL(`/admin/rate-limits`,`DELETE`,{scope:e.scope,subject:e.subject,limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit move`});return t.ok?(this.rateLimits=l2(t.data),!0):(this.rateLimitFormError=iL(t,`The new rule was saved, but the previous one could not be removed. Delete it manually.`),!1)}catch(e){return console.error(`Failed to remove the moved rate limit:`,e),this.rateLimitFormError=`The new rule was saved, but the previous one could not be removed. Delete it manually.`,!1}}async deleteRateLimit(e){let t=t2(e);if(this.rateLimitDeletingKey!==t){this.rateLimitDeletingKey=t;try{let t=await lL(`/admin/rate-limits`,`DELETE`,{scope:G0(e),subject:K0(e),limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit delete`});if(t.stale)return;if(!t.ok){q.error(iL(t,`Unable to delete rate limit.`));return}this.rateLimits=l2(t.data),q.success(`Rate limit deleted.`)}catch(e){console.error(`Failed to delete rate limit:`,e),q.error(`Unable to delete rate limit.`)}finally{this.rateLimitDeletingKey=``}}}async resetRateLimit(e){let t=t2(e);if(this.rateLimitResettingKey!==t){this.rateLimitResettingKey=t;try{let t=await lL(`/admin/rate-limits/reset-one`,`POST`,{scope:G0(e),subject:K0(e),period_seconds:Number(e.period_seconds||0)},{label:`rate limit reset`});if(t.stale)return;if(!t.ok){q.error(iL(t,`Unable to reset rate limit.`));return}this.rateLimits=l2(t.data),q.success(`Rate limit counters reset.`)}catch(e){console.error(`Failed to reset rate limit:`,e),q.error(`Unable to reset rate limit.`)}finally{this.rateLimitResettingKey=``}}}rateLimitInspectorModelID(e){return String(e&&e.model&&e.model.id||``).trim()}openRateLimitInspectorForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`model`,provider:n,model:t,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}openRateLimitInspectorForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`provider`,provider:t,model:``,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}showRateLimitInspector(){this.rateLimitInspectorOpen=!0,this.fetchRateLimitsPage()}closeRateLimitInspector(){this.rateLimitInspectorOpen=!1}rateLimitRuleMatchesModel(e,t,n){return p2(e,t,n)}rateLimitRuleMatchesProvider(e,t){return m2(e,t)}rateLimitInspectorQualifiedModel(){return h2(this.rateLimitInspector)}rateLimitInspectorSections(){return g2(this.rateLimitInspector,this.rateLimits)}rateLimitPressurePercent(e){return _2(e)}rateLimitPressureStyle(e){return v2(e)}rateLimitPressureClass(e){return y2(e)}rateLimitGaugeCache={rules:null,states:{}};rateLimitGaugeMemo(e,t){this.rateLimitGaugeCache.rules!==this.rateLimits&&(this.rateLimitGaugeCache={rules:this.rateLimits,states:{}});let n=this.rateLimitGaugeCache.states;return e in n||(n[e]=t()),n[e]}rateLimitGaugeClassForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase(),r=this.rateLimits;return this.rateLimitGaugeMemo(`model:`+n+`/`+t,()=>x2(r,n,t))}rateLimitGaugeClassForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase(),n=this.rateLimits;return this.rateLimitGaugeMemo(`provider:`+t,()=>S2(n,t))}hasGlobalRateLimits(){let e=this.rateLimits;return this.rateLimitGaugeMemo(`global`,()=>b2(e))}rateLimitGaugeTitle(e,t){return C2(e,t)}rateLimitInspectorSummary(e){return w2(e)}openRateLimitFormFromInspector(e,t,n){this.rateLimitInspectorOpen=!1,this.rateLimitFormReturnToInspector=!0,this.openRateLimitForm(n||void 0),n||(this.rateLimitForm.scope=e,this.rateLimitForm.subject=t)}},T2=L(``),E2=L(`
        `),D2=L(`
        `),O2=L(`

        Scope, subject, and period identify the rule: changing any of them + moves the rule to a new key and restarts its live counters.

        `),k2=L(``),A2=L(``);function j2(e,t){D(t,!0);function n(){K.dialogOpen||Y.closeRateLimitForm()}bL(e,{get open(){return Y.rateLimitFormOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=A2(),r=M(n),i=M(r),a=M(i),o=M(a),s=M(o,!0);E(o),E(a),vL(N(a,2),{label:`Close rate limit editor`,onclick:()=>Y.closeRateLimitForm()}),E(i);var c=N(i,2),l=M(c),u=N(M(l),2);V(u,21,()=>Y.rateLimitScopeOptions(),e=>e.value,(e,t)=>{var n=T2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(u),E(l);var d=N(l,2),f=M(d),p=M(f,!0);E(f);var m=N(f,2);U(m),E(d);var h=N(d,2),g=N(M(h),2);V(g,21,()=>Y.rateLimitPeriodOptions(),e=>e.value,(e,t)=>{var n=T2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(g),E(h);var _=N(h,2),v=e=>{var t=E2(),n=N(M(t),2);U(n),E(t),oa(n,()=>Y.rateLimitForm.period_seconds,e=>Y.rateLimitForm.period_seconds=e),R(e,t)};B(_,e=>{Y.rateLimitForm.period===`custom`&&e(v)});var y=N(_,2),b=M(y),x=M(b,!0);E(b);var S=N(b,2);U(S),E(y);var C=N(y,2),w=e=>{var t=D2(),n=N(M(t),2);U(n),E(t),oa(n,()=>Y.rateLimitForm.max_tokens,e=>Y.rateLimitForm.max_tokens=e),R(e,t)};B(C,e=>{Y.rateLimitForm.period!==`concurrent`&&e(w)}),E(c);var T=N(c,4),ee=e=>{R(e,O2())};B(T,e=>{Y.rateLimitEditing&&e(ee)});var te=N(T,2),ne=e=>{var t=k2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitFormError)),R(e,t)};B(te,e=>{Y.rateLimitFormError&&e(ne)});var re=N(te,2),ie=M(re),ae=N(ie,2),oe=M(ae);G(oe,{name:`save`,class:`form-action-icon`});var se=N(oe,2),ce=M(se,!0);E(se),E(ae),E(re),E(r),E(n),P((e,t)=>{z(s,Y.rateLimitEditing?`Edit Rate Limit`:`Create Rate Limit`),z(p,e),W(m,`placeholder`,t),W(m,`data-modal-autofocus`,!Y.rateLimitEditing||void 0),Qi(m,Y.rateLimitForm.subject),z(x,Y.rateLimitForm.period===`concurrent`?`Max In-Flight Requests`:`Max Requests`),W(S,`data-modal-autofocus`,Y.rateLimitEditing?!0:void 0),ae.disabled=Y.rateLimitFormSubmitting,z(ce,Y.rateLimitFormSubmitting?`Saving...`:`Save Rate Limit`)},[()=>Y.rateLimitSubjectFieldLabel(),()=>Y.rateLimitSubjectPlaceholder()]),Hr(`submit`,r,e=>{e.preventDefault(),Y.submitRateLimitForm()}),I(`change`,u,()=>Y.syncRateLimitScope()),Vi(u,()=>Y.rateLimitForm.scope,e=>Y.rateLimitForm.scope=e),I(`input`,m,e=>Y.setRateLimitFormSubject(e.currentTarget.value)),I(`change`,g,()=>Y.syncRateLimitPeriodSeconds()),Vi(g,()=>Y.rateLimitForm.period,e=>Y.rateLimitForm.period=e),oa(S,()=>Y.rateLimitForm.max_requests,e=>Y.rateLimitForm.max_requests=e),I(`click`,ie,()=>Y.closeRateLimitForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`change`,`input`,`click`]);var M2=L(` `),N2=L(` Edit`,1),P2=L(` `,1),F2=L(`
        In-flight
        `),I2=L(`
        Requests
        `),L2=L(`
        Tokens
        `),R2=L(`
        `),z2=L(`
        `);function B2(e,t){D(t,!0);var n=z2();V(n,21,()=>t.rules,e=>Y.rateLimitKey(e),(e,t)=>{var n=R2(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=e=>{var n=M2(),r=M(n);{let e=k(()=>Y.rateLimitScope(F(t))===`provider`?`server`:`box`);G(r,{get name(){return F(e)},class:`budget-period-icon`})}var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t)=>{W(n,`title`,e),z(a,t)},[()=>`Rule scope: `+Y.rateLimitScopeLabel(F(t)),()=>Y.rateLimitScopeLabel(F(t))]),R(e,n)},u=k(()=>Y.rateLimitScope(F(t))!==`user_path`);B(c,e=>{F(u)&&e(l)});var d=N(c,2),f=M(d);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);G(f,{get name(){return F(e)},class:`budget-period-icon`})}var p=N(f,2),m=M(p,!0);E(p),E(d),E(s);var h=N(s,2),g=M(h),_=M(g),v=M(_,!0);E(_),E(g);var y=N(g,2),b=M(y),x=e=>{D1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitForm(F(t)),children:(e,t)=>{var n=N2();G(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},S=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(b,e=>{F(S)&&e(x)});var C=N(b,2);{let e=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting counters`:`Reset counters`),n=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t)));D1(C,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>Y.resetRateLimit(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=P2(),i=Cn(r);G(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var w=N(C,2),T=e=>{{let n=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting rate limit`:`Delete rate limit`),r=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t)));D1(e,{get label(){return F(n)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>Y.deleteRateLimit(F(t)),get disabled(){return F(r)},children:(e,n)=>{var r=P2(),i=Cn(r);G(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}},ee=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(w,e=>{F(ee)&&e(T)}),E(y),E(h),E(i);var te=N(i,2),ne=M(te),re=e=>{var n=F2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u),E(l),E(o),E(n),P((e,t,n,r,i,l)=>{z(a,e),W(o,`aria-valuenow`,t),W(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l)},[()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests),()=>`In-flight requests: `+Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` in flight`]),R(e,n)},ie=k(()=>Y.rateLimitIsConcurrent(F(t)));B(ne,e=>{F(ie)&&e(re)});var ae=N(ne,2),oe=e=>{var n=I2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),W(o,`aria-valuenow`,t),W(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests),()=>`Requests used: `+Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` requests`,()=>Y.formatRateLimitNumber(F(t).requests_remaining)+` left`]),R(e,n)},se=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_requests);B(ae,e=>{F(se)&&e(oe)});var ce=N(ae,2),le=e=>{var n=L2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),W(o,`aria-valuenow`,t),W(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens),()=>`Tokens used: `+Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)>=100}),()=>Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens)+` tokens`,()=>Y.formatRateLimitNumber(F(t).tokens_remaining)+` left`]),R(e,n)},ue=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_tokens);B(ce,e=>{F(ue)&&e(le)}),E(te),E(r),E(n),P((e,t,n,r,i)=>{W(a,`title`,e),z(o,t),z(m,n),W(_,`title`,r),z(v,i)},[()=>Y.rateLimitScopeLabel(F(t))+`: `+Y.rateLimitSubject(F(t)),()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n),O()}var V2=L(`

        Rate Limits

        `),H2=L(``),U2=L(`
        Rate limit management is unavailable.
        `),W2=L(``),G2=L(`
        `),K2=L(`

        No rate limits configured yet.

        `),q2=L(`

        No rate limits match your filter.

        `),J2=L(`
        `);function Y2(e,t){D(t,!0),Nn(()=>{K.refreshTick,WI.page===`rate-limits`&&Y.fetchRateLimitsPage()});let n=k(()=>Y.filteredRateLimits());var r=J2(),i=M(r),a=M(i);bQ(M(a),{copyId:`rate-limits-help-copy`,label:`rate limits help`,text:`Rate limits cap requests, tokens, and in-flight concurrency for a user path subtree, a provider, or a model. Consumer (user path) breaches return 429 with Retry-After and x-ratelimit-* headers; saturated providers and models are skipped by load balancing and failover while capacity exists elsewhere. Counters are per gateway instance and reset on restart; token limits need usage tracking.`,title:e=>{R(e,V2())},$$slots:{title:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=H2();G(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Y.rateLimitFormSubmitting),I(`click`,t,()=>Y.openRateLimitForm()),R(e,t)},l=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitsAvailable&&!K.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);GL(u,{});var d=N(u,2),f=e=>{R(e,U2())},p=k(()=>(!Y.rateLimitsEnabled()||!Y.rateLimitsAvailable)&&!K.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=W2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitError)),R(e,t)};B(m,e=>{Y.rateLimitError&&!K.authError&&e(h)});var g=N(m,2),_=e=>{T1(e,{label:`Loading rate limits...`})};B(g,e=>{Y.rateLimitsLoading&&!K.authError&&e(_)});var v=N(g,2),y=e=>{var t=G2(),n=M(t);j$(M(n),{id:`rate-limit-filter`,placeholder:`Filter by subject, scope, or period...`,label:`Filter rate limits by subject, scope, or period`,get value(){return Y.rateLimitFilter},set value(e){Y.rateLimitFilter=e}}),E(n),E(t),R(e,t)};B(v,e=>{(Y.rateLimits.length>0||Y.rateLimitFilter)&&Y.rateLimitsAvailable&&!K.authError&&!Y.rateLimitFormOpen&&e(y)});var b=N(v,2);j2(b,{});var x=N(b,2),S=e=>{B2(e,{get rules(){return F(n)}})};B(x,e=>{F(n).length>0&&Y.rateLimitsAvailable&&!K.authError&&e(S)});var C=N(x,2),w=e=>{R(e,K2())},T=k(()=>Y.rateLimits.length===0&&!Y.rateLimitFilter&&!Y.rateLimitsLoading&&!K.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,q2())},ne=k(()=>Y.rateLimits.length>0&&F(n).length===0&&Y.rateLimitFilter&&!Y.rateLimitsLoading&&!K.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function X2(e){return String(e||``).trim().toLowerCase()}function Z2(e){if(!e)return``;let t=String(e.selector||``).trim();if(t)return t;if(!e.model||!e.model.id)return``;let n=String(e.model.id||``).trim(),r=String(e.provider_name||``).trim();if(r)return r+`/`+n;let i=String(e.provider_type||``).trim();return!i||n.includes(`/`)?n:i+`/`+n}function Q2(e,t,n,r){let i=new Set,a=String(e||``).trim().toLowerCase(),o=String(t||``).trim().toLowerCase(),s=String(n||``).trim().toLowerCase(),c=String(r||``).trim().toLowerCase();if(c&&i.add(c),!a)return i;i.add(a),s&&i.add(s+`/`+a),o&&!a.includes(`/`)&&i.add(o+`/`+a);let l=a.split(`/`);return l.length===2&&l[1]&&i.add(l[1]),i}function $2(e){return Q2(e&&e.model?e.model.id:``,e?e.provider_type:``,e?e.provider_name:``,e?e.selector:``)}function e4(e){let t=new Set,n=String(e.resolved_model||``).trim().toLowerCase(),r=String(e.target_model||``).trim().toLowerCase(),i=String(e.target_provider||``).trim().toLowerCase();if(n){t.add(n);let e=n.split(`/`);e.length===2&&e[1]&&t.add(e[1])}if(r){t.add(r);let e=r.split(`/`);e.length===2&&e[1]&&t.add(e[1])}return r&&i&&t.add(i+`/`+r),t}function t4(e){if(!e)return``;let t=String(e.provider||``).trim(),n=String(e.model||``).trim();return!t||!n||n===t||n.startsWith(t+`/`)?n:t+`/`+n}function n4(e){if(e===``||e==null)return null;let t=Number(e);return!Number.isFinite(t)||t<=0?null:t}function r4(e,t){let n={model:e},r=n4(t);return r!==null&&(n.weight=r),n}function i4(e){let t=Array.isArray(e)?e:[],n=[];for(let e of t){let t=String(e&&e.model||``).trim();t&&n.push(r4(t,e&&e.weight))}return n}function a4(e){switch(String(e||``).toLowerCase()){case`cost`:return`lowest cost`;case`round_robin`:case``:return`round robin`;default:return e}}function o4(e){let t=Array.isArray(e.targets)?e.targets:[],n=t.length>0?t[0]:{},r=t.map(e=>{let t={provider:e.provider||``,model:e.model||``};return e.weight&&(t.weight=e.weight),t});return{name:e.source,target_provider:n.provider||``,target_model:n.model||``,targets:r,strategy:e.strategy||``,description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,valid:!!e.valid,resolved_model:e.resolved_model||``,provider_type:e.provider_type||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[]}}function s4(e){let t=Array.isArray(e)?e:[],n=[],r=[];for(let e of t)!e||typeof e!=`object`||(e.kind===`redirect`?n.push(o4(e)):e.kind===`policy`&&r.push({selector:e.source,provider_name:e.provider_name||``,model:e.model||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[],description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,scope_kind:e.scope_kind||``}));return{aliases:n,policies:r}}function c4(e){if(!e)return`—`;let t=Array.isArray(e.targets)?e.targets:[];return t.length>1?t.length+` targets · `+a4(e.strategy):e.resolved_model?e.resolved_model:e.target_provider?e.target_provider+`/`+e.target_model:e.target_model||`—`}function l4(e){return e?e.enabled===!1?`is-disabled`:e.valid?`is-valid`:`is-invalid`:`is-invalid`}function u4(e){return e?e.enabled===!1?`Disabled`:e.valid?`Active`:`Invalid`:`Invalid`}function d4(e){return Array.isArray(e)&&e.length>0&&e.indexOf(`/`)===-1}function f4(e,t){return!t||!e?``:e.effective_enabled===!1?`is-disabled`:d4(e.user_paths)?`is-restricted`:`is-enabled`}function p4(e){if(!e)return``;let t=[];e.effective_enabled===!1&&t.push(e.default_enabled===!1?`Disabled by default`:`Disabled`);let n=Array.isArray(e.user_paths)?e.user_paths:[];return n.length>0&&t.push(`Allowed for `+n.join(`, `)),t.join(` · `)}function m4({models:e,aliases:t,virtualModelsAvailable:n,activeCategory:r}){let i=Array.isArray(e)?e:[],a=Array.isArray(t)?t:[],o=new Map;if(n)for(let e of a){let t=X2(e&&e.name);!t||e.enabled===!1||!e.valid||o.set(t,e)}let s=new Map,c=i.map(e=>{let t=Z2(e),n=null;for(let t of $2(e))s.has(t)||s.set(t,e),!n&&o.has(t)&&(n=o.get(t));let r=e&&e.access?e.access:null;return{key:`model:`+t,display_name:t,secondary_name:``,provider_name:e.provider_name||``,provider_type:e.provider_type||``,model:e.model,selector:e.selector||``,is_alias:!1,alias:null,access:r,masking_alias:n,has_virtual_model:!!(n||r&&r.override),alias_state_class:``,alias_state_text:``}});if(!n)return c;for(let e of a){let t=s.get(X2(e&&e.name));if(e&&e.enabled!==!1&&e.valid&&t)continue;let n=null;for(let t of e4(e))if(n=s.get(t)||null,n)break;!n&&r&&r!==`all`||c.push({key:`alias:`+e.name,display_name:e.name,secondary_name:c4(e),provider_name:n&&n.provider_name||``,provider_type:n?n.provider_type||e.provider_type||``:e.provider_type||``,model:n?n.model:{id:e.name,object:`model`},selector:``,is_alias:!0,alias:e,access:null,masking_alias:null,source_model_exists:!!t,has_virtual_model:!0,alias_state_class:l4(e),alias_state_text:u4(e)})}return c.sort((e,t)=>e.is_alias===t.is_alias?String(e.display_name||``).localeCompare(String(t.display_name||``)):e.is_alias?-1:1)}function h4(e,t){if(!t)return e;let n=String(t).toLowerCase();return e.filter(e=>[e.display_name,e.secondary_name,e.provider_name,e.provider_type,e.model&&e.model.owned_by,e.alias&&e.alias.description,e.alias&&e.alias_state_text,e.model&&e.model.metadata&&e.model.metadata.modes?e.model.metadata.modes.join(`,`):``,e.model&&e.model.metadata&&e.model.metadata.categories?e.model.metadata.categories.join(`,`):``].some(e=>String(e||``).toLowerCase().includes(n)))}function g4(e,t){return String(e||``).trim()||String(t||``).trim()||`Unassigned`}function _4(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return!r||r===n?``:r}function v4(e){let t=String(e||``).trim();return t?t+`/`:``}function y4(e){let t=Array.isArray(e)?e:[],n=t.filter(e=>e&&!e.is_alias).length,r=t.filter(e=>e&&e.is_alias).length,i=[];return n>0&&i.push(n+(n===1?` model`:` models`)),r>0&&i.push(r+(r===1?` alias`:` aliases`)),i.join(` · `)}function b4(e,t,n){let r=String(t||``).trim(),i=String(n||``).trim();for(let t of Array.isArray(e)?e:[]){let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim();if(!(r&&e!==r)&&!(!r&&i&&n!==i)&&t&&t.access)return t.access.default_enabled!==!1}return!0}function x4(e){for(let t of Array.isArray(e)?e:[])if(t&&t.access)return t.access.default_enabled!==!1;return!0}function S4(e,t){let n=String(t||``).trim();if(!n)return null;for(let t of Array.isArray(e)?e:[])if(String(t&&t.selector||``).trim()===n)return t;return null}function C4(e,t,n,r){let i=v4(t),a=r&&r.get(`/`)||null,o=i&&r&&r.get(i)||null,s=b4(e,t,n),c=o||a,l=c&&Array.isArray(c.user_paths)?Array.from(new Set(c.user_paths)).sort():[];return{selector:i,default_enabled:s,effective_enabled:c?c.enabled!==!1:s,user_paths:l,override:o}}function w4(e,t,n){if(!Array.isArray(e)||e.length===0)return[];let r=new Map;for(let e of Array.isArray(n)?n:[]){let t=String(e&&e.selector||``).trim();t&&r.set(t,e)}let i=[],a=new Map;for(let t of e){if(t&&t.is_alias){i.push(t);continue}let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim(),r=`provider-group:`+(e||n||`unassigned`);a.has(r)||a.set(r,{key:r,provider_name:e,provider_type:n,display_name:g4(e,n),type_label:_4(e,n),rows:[]});let o=a.get(r);!o.provider_name&&e&&(o.provider_name=e),!o.provider_type&&n&&(o.provider_type=n),o.display_name=g4(o.provider_name,o.provider_type),o.type_label=_4(o.provider_name,o.provider_type),o.rows.push(t)}let o=Array.from(a.values()).map(e=>{let n=C4(t,e.provider_name,e.provider_type,r);return{...e,access:n,access_summary:p4(n),item_count_label:y4(e.rows)}}).sort((e,t)=>String(e.display_name||``).localeCompare(String(t.display_name||``)));return i.length>0&&o.unshift({key:`virtual-model-group`,is_virtual_models:!0,provider_name:``,provider_type:``,display_name:`Virtual models`,type_label:``,rows:i,access:{selector:``},access_summary:``,item_count_label:y4(i)}),o}function T4(e,t){let n=S4(t,`/`),r=x4(e),i=n&&Array.isArray(n.user_paths)?n.user_paths:[];return{key:`scope-global`,is_alias:!1,display_name:`all providers and models`,access:{selector:`/`,default_enabled:r,effective_enabled:n?n.enabled!==!1:r,user_paths:i,override:n}}}function E4(e){return e?String(e.access&&e.access.selector||``).trim()||String(e.override_selector||``).trim()||Z2(e):``}function D4(e){if(!e)return``;let t=[];return e.is_alias?t.push(`alias-row`,l4(e.alias)):e.has_virtual_model&&t.push(`alias-row`,`is-valid`),!e.is_alias&&e.masking_alias&&t.push(`masked-model-row`),!e.is_alias&&e.access&&e.access.effective_enabled===!1&&t.push(`model-access-disabled-row`),t.join(` `)}function O4(e){return!!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)}function k4(e){return!!(e&&!e.is_alias&&e.masking_alias&&e.masking_alias.name&&!e.masking_alias.managed)}function A4(e){return e&&e.is_alias&&e.alias&&e.alias.name?`alias-row-`+String(e.alias.name).replace(/[^a-zA-Z0-9_-]+/g,`-`):``}function j4(e){return e?e.is_alias?!!(e.alias&&e.alias.managed):!!(e.access&&e.access.override&&e.access.override.managed||e.masking_alias&&e.masking_alias.managed):!1}function M4(e){return!!(e&&e.override)}function N4(e){return e?`table-action-btn-active`:``}function P4(e,t){let n=`Edit `+String(e||`model access`);return t?n+` (virtual model exists)`:n}function F4(){return{source:``,target_model:``,target_weight:1,targets:[],strategy:`round_robin`,user_paths:``,description:``,enabled:!0}}function I4(e){return String(e&&e.target_model||``).trim()!==``}function L4(e){return String(e&&e.target_model||``).trim()?!0:i4(e&&e.targets).length>0}function R4(e){return!!e&&Array.isArray(e.targets)&&e.targets.length>0}function z4(e){return R4(e)&&String(e&&e.strategy||``).toLowerCase()!==`cost`}function B4(e){let t=Array.isArray(e.targets)?e.targets:[];if(t.length>0){let n=t.shift();e.target_model=n.model||``,e.target_weight=n.weight||1;return}e.target_model=``,e.target_weight=1}function V4(e){let t=Array.isArray(e&&e.targets)?e.targets:[];return t.length>0?{primaryModel:t4(t[0]),primaryWeight:t[0].weight||1,extraTargets:t.slice(1).map(e=>({model:t4(e),weight:e.weight||1}))}:{primaryModel:e&&e.target_provider?e.target_provider+`/`+e.target_model:e&&e.target_model||``,primaryWeight:1,extraTargets:[]}}function H4(e){return String(e||``).split(/\r?\n|,/).map(e=>String(e||``).trim()).filter(Boolean)}function U4(e,t,n){let r=String(e&&e.source||``).trim(),i=String(e&&e.target_model||``).trim(),a=i4(e&&e.targets),o=L4(e),s=String(t||``).trim(),c=n===`edit`&&!!s&&r!==s,l={source:r,user_paths:H4(e&&e.user_paths),description:String(e&&e.description||``).trim(),enabled:!!(e&&e.enabled)};if(c&&(l.old_source=s),o){let t=[];if(i&&t.push(r4(i,e.target_weight)),t.push(...a),t.length>1){let n=e.strategy||`round_robin`;l.targets=n===`cost`?t.map(e=>({model:e.model})):t,l.strategy=n}else l.target_model=t[0].model}return{payload:l,source:r,isRedirect:o,isRename:c}}function W4(e){let t={source:e.name,description:String(e.description||``).trim(),user_paths:Array.isArray(e.user_paths)?e.user_paths:[],enabled:e.enabled===!1},n=Array.isArray(e.targets)?e.targets:[];return n.length>1?(t.strategy=e.strategy||`round_robin`,t.targets=t.strategy===`cost`?n.map(e=>({model:t4(e)})):n.map(e=>r4(t4(e),e.weight))):n.length===1?t.target_model=t4(n[0]):t.target_model=e.target_provider?e.target_provider+`/`+e.target_model:e.target_model,t}function G4(e,t,n){let r=n||{},i=r.effective_enabled===!1,a=t&&Array.isArray(t.user_paths)?t.user_paths:[],o=`PUT`,s;return i===!1?s={source:e,enabled:!1,user_paths:a}:t&&a.length===0&&r.default_enabled!==!1?(o=`DELETE`,s={source:e}):s={source:e,enabled:!0,user_paths:a},{method:o,payload:s,desired:i}}function K4(e,t,n){let r=Math.max(1,Number(t||75)),i=Math.min(n,e+r);return{limit:i,rendering:im4({models:UL.models,aliases:this.aliases,virtualModelsAvailable:this.virtualModelsAvailable,activeCategory:UL.activeCategory}));get displayModels(){return F(this.#T)}set displayModels(e){j(this.#T,e)}#E=k(()=>w4(this.displayModels,UL.models,this.modelOverrideViews));get displayModelGroups(){return F(this.#E)}set displayModelGroups(e){j(this.#E,e)}#D=k(()=>h4(this.displayModels,UL.filter));get filteredDisplayModels(){return F(this.#D)}set filteredDisplayModels(e){j(this.#D,e)}#O=k(()=>{let e=this.filteredDisplayModels,t=Math.max(0,Math.min(Number(this.modelRenderLimit||0),e.length));return!UL.filter&&t>=this.displayModels.length?this.displayModelGroups:w4(e.slice(0,t),UL.models,this.modelOverrideViews)});get filteredDisplayModelGroups(){return F(this.#O)}set filteredDisplayModelGroups(e){j(this.#O,e)}#k=k(()=>T4(UL.models,this.modelOverrideViews));get globalScopeRow(){return F(this.#k)}set globalScopeRow(e){j(this.#k,e)}modelsBusy(){return!!(UL.loading||this.modelsRendering)}modelLoadingText(){if(UL.loading)return this.displayModels.length>0?`Refreshing models...`:`Loading models...`;let e=this.filteredDisplayModels.length;return`Rendering models... `+Math.min(Number(this.modelRenderLimit||0),e)+` / `+e}restartModelRendering(e){let t=++this.#a,n=q4(this.modelRenderBatchSize,e);this.modelRenderLimit=n.limit,this.modelsRendering=n.rendering,n.rendering&&this.#A(t)}stopModelRendering(){this.#a++,this.modelsRendering=!1}#A(e){let t=()=>{if(e!==this.#a)return;let t=K4(this.modelRenderLimit,this.modelRenderBatchSize,this.filteredDisplayModels.length);this.modelRenderLimit=t.limit,this.modelsRendering=t.rendering,t.rendering&&this.#A(e)};typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>setTimeout(t,0)):setTimeout(t,0)}async fetchVirtualModels(){this.aliasLoading=!0,this.aliasError=``;try{let e=await cL(`/admin/virtual-models`,{label:`virtual models`});if(e.status===503){this.virtualModelsAvailable=!1,this.aliases=[],this.modelOverrideViews=[];return}if(e.stale)return;if(this.virtualModelsAvailable=!0,!e.ok){this.aliases=[],this.modelOverrideViews=[];return}let{aliases:t,policies:n}=s4(e.data);this.aliases=t,this.modelOverrideViews=n}catch(e){console.error(`Failed to fetch virtual models:`,e),this.aliases=[],this.modelOverrideViews=[],this.aliasError=`Unable to load virtual models.`}finally{this.aliasLoading=!1}}qualifiedModelName(e){return Z2(e)}findModelOverrideView(e){return S4(this.modelOverrideViews,e)}hasGlobalModelOverride(){return!!this.findModelOverrideView(`/`)}findExistingAliasByName(e){let t=X2(e);if(!t)return null;for(let e of this.aliases)if(X2(e&&e.name)===t)return e;return null}findConcreteModelByName(e){let t=X2(e);if(!t)return null;for(let e of UL.models)if($2(e).has(t))return e;return null}rowToggleEnabled(e){return e?e.is_alias?e.alias&&e.alias.enabled!==!1:!!(e.access&&e.access.effective_enabled!==!1):!1}rowToggleLabel(e){return this.rowTogglingKey&&this.rowTogglingKey===e.key?`Updating...`:this.rowToggleRestricted(e)?`Restricted`:this.rowToggleEnabled(e)?`Enabled`:`Disabled`}rowToggleRestricted(e){return!!e&&!e.is_alias&&f4(e.access,this.virtualModelsAvailable)===`is-restricted`}rowToggleAriaLabel(e){if(!e)return``;let t=this.rowToggleEnabled(e)?`Disable `:`Enable `,n;return n=e.is_alias?`alias `+String(e.alias&&e.alias.name||``):String(e.display_name||e.access&&e.access.selector||`model`),t+n.trim()}async toggleRowEnabled(e){if(this.virtualModelsAvailable&&!(!e||this.rowTogglingKey===e.key)){if(j4(e)){q.success(`This virtual model is managed by configuration and is read-only.`);return}if(e.is_alias){await this.toggleAliasRow(e);return}await this.toggleModelRow(e)}}async toggleAliasRow(e){let t=e.alias;if(!t||!t.name)return;this.rowTogglingKey=e.key;let n=W4(t);try{let e=await lL(`/admin/virtual-models`,`PUT`,n,{label:`alias state`});if(e.status===503){this.virtualModelsAvailable=!1,q.error(`Virtual models feature is unavailable.`);return}if(e.stale)return;if(!e.ok){q.error(e.status===401?`Authentication required.`:iL(e,`Failed to update alias state.`));return}q.success(n.enabled?`Alias enabled.`:`Alias disabled.`),this.fetchVirtualModels()}catch(e){console.error(`Failed to toggle alias state:`,e),q.error(`Failed to update alias state.`)}finally{this.rowTogglingKey=``}}async toggleModelRow(e){let t=E4(e);if(!t)return;let{method:n,payload:r,desired:i}=G4(t,this.findModelOverrideView(t),e.access||{});this.rowTogglingKey=e.key;try{let e=await lL(`/admin/virtual-models`,n,r,{label:`model access`});if(e.status===503){this.virtualModelsAvailable=!1,q.error(`Virtual models feature is unavailable.`);return}if(!(n===`DELETE`&&e.status===404)){if(e.stale)return;if(!e.ok){q.error(e.status===401?`Authentication required.`:iL(e,`Failed to update model access.`));return}}q.success(i?`Model enabled.`:`Model disabled.`),Promise.all([UL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to toggle model access:`,e),q.error(`Failed to update model access.`)}finally{this.rowTogglingKey=``}}async removeAliasRow(e){if(!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)||this.rowDeletingKey)return;let t=String(e.alias.name||``).trim();t&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the virtual model alias "`+t+`"?`,method:`DELETE`,payload:{source:t},operation:`virtual model`,failureMessage:`Failed to remove virtual model.`,notice:`Virtual model removed.`,ignoreNotFound:!0})}async removeRedirectRow(e){let t=e&&e.masking_alias;if(!(e&&!e.is_alias&&t&&t.name&&!t.managed)||this.rowDeletingKey)return;let n=String(t.name||``).trim();n&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the redirect for "`+n+`"? Other virtual model settings will be preserved.`,method:`PUT`,payload:{source:n,user_paths:Array.isArray(t.user_paths)?t.user_paths:[],description:String(t.description||``).trim(),enabled:t.enabled!==!1},operation:`virtual model redirect`,failureMessage:`Failed to remove redirect.`,notice:`Redirect removed. Other virtual model settings were preserved.`})}async mutateVirtualModelRow(e){if(!this.rowDeletingKey&&window.confirm(e.confirmMessage)){this.rowDeletingKey=e.rowKey;try{let t=await lL(`/admin/virtual-models`,e.method,e.payload,{label:e.operation});if(t.status===503){this.virtualModelsAvailable=!1,q.error(`Virtual models feature is unavailable.`);return}if(!(e.ignoreNotFound&&t.status===404)){if(t.stale)return;if(!t.ok){q.error(t.status===401?`Authentication required.`:iL(t,e.failureMessage));return}}this.virtualModelsAvailable=!0,q.success(e.notice),Promise.all([UL.fetchModels(),this.fetchVirtualModels()])}catch(t){console.error(e.failureMessage,t),q.error(e.failureMessage)}finally{this.rowDeletingKey=``}}}addVmTarget(){Array.isArray(this.vmForm.targets)||(this.vmForm.targets=[]),this.vmForm.targets.push({model:``,weight:1})}removeVmTarget(e){Array.isArray(this.vmForm.targets)&&this.vmForm.targets.splice(e,1)}removePrimaryTarget(){B4(this.vmForm)}vmFormHasPrimaryTarget(){return I4(this.vmForm)}vmFormShowStrategy(){return R4(this.vmForm)}vmFormShowWeights(){return z4(this.vmForm)}vmFormToggleRestricted(){return!!(this.vmForm&&this.vmForm.enabled)&&d4(H4(this.vmForm.user_paths))}vmFormToggleLabel(){return!this.vmForm||!this.vmForm.enabled?`Disabled`:this.vmFormToggleRestricted()?`Restricted`:`Enabled`}resetVirtualModelForm(){this.vmFormError=``,this.vmFormHelpOpen=!1,this.vmFormUserPathsHelpOpen=!1,this.vmSubmitting=!1,this.vmDeleting=!1,this.vmFormHasExisting=!1,this.vmFormDefaultEnabled=!0,this.vmFormEffectiveEnabled=!0,this.vmFormDisplayName=``,this.vmFormSourceLocked=!1,this.vmFormOriginalSource=``,this.vmFormManaged=!1,this.vmForm=F4()}closeVirtualModelForm(){this.vmFormOpen=!1,this.resetVirtualModelForm()}openVirtualModelCreate(e){this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`create`,this.vmFormSourceLocked=!1,this.vmFormDisplayName=`New virtual model`,e&&e.model&&e.model.id&&(this.vmForm.target_model=Z2(e))}openVirtualModelEditAlias(e){if(!e)return;this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!1,this.vmFormHasExisting=!0,this.vmFormManaged=!!e.managed,this.vmFormOriginalSource=e.name||``,this.vmFormDisplayName=e.name||``,this.vmFormDefaultEnabled=x4(UL.models),this.vmFormEffectiveEnabled=e.enabled!==!1;let{primaryModel:t,primaryWeight:n,extraTargets:r}=V4(e);this.vmForm={source:e.name||``,target_model:t,target_weight:n,targets:r,strategy:e.strategy||`round_robin`,user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` +`),description:e.description||``,enabled:e.enabled!==!1}}openVirtualModelEditModel(e){if(!e||e.is_alias)return;let t=e.access||{},n=t.override||null,r=n&&Array.isArray(n.user_paths)?n.user_paths:Array.isArray(t.user_paths)?t.user_paths:[],i=E4(e);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!n,this.vmFormOriginalSource=i;let a=n?n.enabled!==!1:t.effective_enabled!==!1;this.vmFormDefaultEnabled=t.default_enabled!==!1,this.vmFormEffectiveEnabled=a,this.vmFormManaged=!!(n&&n.managed),this.vmFormDisplayName=e.access_display_name||e.display_name||i||``,this.vmForm={source:i,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:r.join(` +`),description:n&&n.description?n.description:``,enabled:a}}openGlobalModelOverrideEdit(){let e=this.findModelOverrideView(`/`),t=e&&Array.isArray(e.user_paths)?e.user_paths:[],n=x4(UL.models);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!e,this.vmFormOriginalSource=`/`,this.vmFormDefaultEnabled=n,this.vmFormEffectiveEnabled=e?e.enabled!==!1:n,this.vmFormManaged=!!(e&&e.managed),this.vmFormDisplayName=`All providers and models`,this.vmForm={source:`/`,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:t.join(` +`),description:e&&e.description?e.description:``,enabled:e?e.enabled!==!1:n}}openProviderOverrideEdit(e){!e||!e.access||!e.access.selector||this.openVirtualModelEditModel({display_name:e.display_name,access_display_name:`All models in `+e.display_name,provider_name:e.provider_name,provider_type:e.provider_type,access:e.access,override_selector:e.access.selector,is_alias:!1})}async submitVirtualModelForm(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be edited here.`;return}let{payload:e,source:t,isRedirect:n,isRename:r}=U4(this.vmForm,this.vmFormOriginalSource,this.vmFormMode);if(!t){this.vmFormError=`Source is required.`;return}if(this.vmFormError=``,this.vmFormMode!==`edit`){let e=this.findExistingAliasByName(t),r=e?null:this.findModelOverrideView(t);if(e||r){let n=e?`A virtual model named "`+e.name+`" already exists. Saving will update that virtual model. Continue?`:`An access policy for "`+t+`" already exists. Saving will update that virtual model. Continue?`;if(!window.confirm(n)){this.vmFormError=`Choose a different source or edit the existing virtual model.`;return}}else if(n){let e=this.findConcreteModelByName(t);if(e){let t=Z2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Creating this alias will mask that model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}else if(r){let e=(this.aliases||[]).find(e=>e&&e.name===t)||null,r=e?null:this.findModelOverrideView(t);if(e||r){this.vmFormError=`A virtual model for "`+t+`" already exists. Choose a different source.`;return}if(n){let e=this.findConcreteModelByName(t);if(e){let t=Z2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Renaming to that name will mask the model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}this.vmSubmitting=!0;try{let t=await lL(`/admin/virtual-models`,`PUT`,e,{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:iL(t,`Failed to save virtual model.`);return}let r=!n&&t.status===204;this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),q.success(n?`Alias saved.`:r?`Model access reset to inherited/default.`:`Model access saved.`),Promise.all([UL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to save virtual model:`,e),this.vmFormError=`Failed to save virtual model.`}finally{this.vmSubmitting=!1}}async deleteVirtualModel(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be removed here.`;return}let e=String(this.vmForm.source||this.vmFormOriginalSource||``).trim();if(!(!e||!this.vmFormHasExisting)&&window.confirm(`Remove the virtual model for "`+e+`"? This reverts to inherited/default behavior.`)){this.vmDeleting=!0,this.vmFormError=``;try{let t=await lL(`/admin/virtual-models`,`DELETE`,{source:e},{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:iL(t,`Failed to remove virtual model.`);return}}this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),q.success(`Virtual model removed.`),Promise.all([UL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to delete virtual model:`,e),this.vmFormError=`Failed to remove virtual model.`}finally{this.vmDeleting=!1}}}},Y4=[{value:`input_per_mtok`,label:`Input $/MTok`,group:`Tokens`},{value:`output_per_mtok`,label:`Output $/MTok`,group:`Tokens`},{value:`cached_input_per_mtok`,label:`Cached input $/MTok`,group:`Tokens`},{value:`cache_write_per_mtok`,label:`Cache write $/MTok`,group:`Tokens`},{value:`reasoning_output_per_mtok`,label:`Reasoning output $/MTok`,group:`Tokens`},{value:`batch_input_per_mtok`,label:`Batch input $/MTok`,group:`Batch`},{value:`batch_output_per_mtok`,label:`Batch output $/MTok`,group:`Batch`},{value:`audio_input_per_mtok`,label:`Audio input $/MTok`,group:`Audio`},{value:`audio_output_per_mtok`,label:`Audio output $/MTok`,group:`Audio`},{value:`per_image`,label:`$/Image`,group:`Image`},{value:`input_per_image`,label:`Input $/Image`,group:`Image`},{value:`per_second_input`,label:`Input $/Second`,group:`Audio/Video`},{value:`per_second_output`,label:`Output $/Second`,group:`Video`},{value:`per_character_input`,label:`$/Character`,group:`Audio`},{value:`per_page`,label:`$/Page`,group:`Utility`},{value:`per_request`,label:`$/Request`,group:`Utility`}];function X4(e){let t=Y4.find(t=>t.value===e);return t?t.label:String(e||``).replace(/_/g,` `)}function Z4(e){return e&&typeof e==`object`?JSON.parse(JSON.stringify(e)):{}}function Q4(e,t){let n=Z4(e),r=t&&t.pricing?t.pricing:t;if(!r||typeof r!=`object`)return n;for(let e of Y4)r[e.value]!==null&&r[e.value]!==void 0&&(n[e.value]=Number(r[e.value]));return Array.isArray(r.tiers)&&r.tiers.length>0&&(n.tiers=Z4(r.tiers)),n}function $4(e){switch(String(e||``).trim()){case`config_yaml`:return`config.yaml`;case`model_registry`:return`Model registry`;default:return e?String(e):`Unknown`}}function e3(e){let t=e&&e.pricing?e.pricing:{},n=e&&e.pricing_sources&&typeof e.pricing_sources==`object`?e.pricing_sources:{},r={};for(let e of Y4)t[e.value]!==null&&t[e.value]!==void 0&&(r[e.value]=$4(n[e.value]||`model_registry`));return r}function t3(e){let t=String(e&&e.selector||``).trim();return t?`Dashboard/API override (`+t+`)`:`Dashboard/API override`}function n3(e){let t=String(e||``).trim();return t?t+`/`:``}function r3(e){return String(e&&e.model&&e.model.id||``).trim()}function i3(e){let t=String(e&&e.provider_name||``).trim(),n=r3(e);return t&&n?t+`/`+n:n}function a3(e){return r3(e)}function o3(e){let t=new Map;for(let n of Array.isArray(e)?e:[]){let e=String(n&&n.selector||``).trim();e&&t.set(e,n)}return t}function s3(e,t){let n=String(t||``).trim();return n&&o3(e).get(n)||null}function c3(e,t,n){let r=o3(e),i=i3(t),a=a3(t),o=n3(t&&t.provider_name),s=String(n||``).trim();for(let e of[i,a,o,`/`]){if(!e||e===s)continue;let t=r.get(e);if(t)return t}return null}function l3(e,t,n){let r=e&&e.model&&e.model.metadata?e.model.metadata:null,i=Z4(r&&r.pricing),a=e3(r),o=c3(t,e,n),s=o&&o.pricing?o.pricing:null;if(s){let e=t3(o);for(let t of Y4)s[t.value]!==null&&s[t.value]!==void 0&&(i[t.value]=Number(s[t.value]),a[t.value]=e);Array.isArray(s.tiers)&&s.tiers.length>0&&(i.tiers=Z4(s.tiers),a.tiers=e)}return{pricing:i,sources:a}}function u3(e,t){let n=e&&e.pricing?e.pricing:{},r=[];for(let e of Y4)n[e.value]!==null&&n[e.value]!==void 0&&r.push({id:t(),field:e.value,value:String(n[e.value])});return r}function d3(e,t){let n=new Set;for(let r of Array.isArray(e)?e:[]){if(t&&r.id===t)continue;let e=String(r.field||``).trim();e&&n.add(e)}return n}function f3(e,t){let n=d3(e,t&&t.id);return Y4.filter(e=>e.value===(t&&t.field)||!n.has(e.value))}function p3(e,t){let n={},r=new Set;for(let t of Array.isArray(e)?e:[]){let e=String(t.field||``).trim();if(!e)return{error:`Choose a price type for every row.`};if(r.has(e))return{error:`Each price type can only be used once.`};r.add(e);let i=String(t.value||``).trim();if(i===``)return{error:`Enter a value for `+X4(e)+`.`};let a=Number(i);if(!Number.isFinite(a)||a<0)return{error:`Pricing values must be numbers greater than or equal to 0.`};n[e]=a}let i=Array.isArray(t)?t:[];return i.length>0&&(n.tiers=Z4(i)),Object.keys(n).length===0?{error:`Add at least one pricing field before saving.`}:{pricing:n}}function m3(e,t,n){let r=e||{},i=t||{},a=n||{},o=Q4(r,a);return Y4.map(e=>{let t=a[e.value]!==null&&a[e.value]!==void 0,n=r[e.value]!==null&&r[e.value]!==void 0;return{field:e.value,label:e.label,value:o[e.value],source:t?`Form/API value`:n?i[e.value]||`Model registry`:`Unset`}}).filter(e=>e.source!==`Unset`||e.value!==void 0)}var h3=new class{#e=A(!0);get modelPricingOverridesAvailable(){return F(this.#e)}set modelPricingOverridesAvailable(e){j(this.#e,e,!0)}#t=A(fn([]));get modelPricingOverrideViews(){return F(this.#t)}set modelPricingOverrideViews(e){j(this.#t,e,!0)}#n=A(``);get modelPricingOverrideError(){return F(this.#n)}set modelPricingOverrideError(e){j(this.#n,e,!0)}#r=A(!1);get modelPricingOverrideFormOpen(){return F(this.#r)}set modelPricingOverrideFormOpen(e){j(this.#r,e,!0)}#i=A(!1);get modelPricingOverrideSubmitting(){return F(this.#i)}set modelPricingOverrideSubmitting(e){j(this.#i,e,!0)}#a=A(!1);get modelPricingOverrideFormHasExistingOverride(){return F(this.#a)}set modelPricingOverrideFormHasExistingOverride(e){j(this.#a,e,!0)}#o=A(``);get modelPricingOverrideFormDisplayName(){return F(this.#o)}set modelPricingOverrideFormDisplayName(e){j(this.#o,e,!0)}#s=A(``);get modelPricingOverrideFormScope(){return F(this.#s)}set modelPricingOverrideFormScope(e){j(this.#s,e,!0)}#c=A(fn([]));get modelPricingOverrideFormScopeOptions(){return F(this.#c)}set modelPricingOverrideFormScopeOptions(e){j(this.#c,e,!0)}#l=A(null);get modelPricingOverrideFormRow(){return F(this.#l)}set modelPricingOverrideFormRow(e){j(this.#l,e,!0)}#u=A(null);get modelPricingOverrideFormBasePricing(){return F(this.#u)}set modelPricingOverrideFormBasePricing(e){j(this.#u,e,!0)}#d=A(null);get modelPricingOverrideFormBasePricingSources(){return F(this.#d)}set modelPricingOverrideFormBasePricingSources(e){j(this.#d,e,!0)}#f=A(fn([]));get modelPricingOverrideFormPreservedTiers(){return F(this.#f)}set modelPricingOverrideFormPreservedTiers(e){j(this.#f,e,!0)}#p=A(fn([]));get modelPricingOverrideRows(){return F(this.#p)}set modelPricingOverrideRows(e){j(this.#p,e,!0)}#m=A(fn({selector:``}));get modelPricingOverrideForm(){return F(this.#m)}set modelPricingOverrideForm(e){j(this.#m,e,!0)}_modelPricingOverrideRowID=0;pricingFieldOptions(){return Y4}pricingFieldLabel(e){return X4(e)}async fetchModelPricingOverrides(){this.modelPricingOverrideError=``;try{let e=await cL(`/admin/model-pricing-overrides`,{label:`model pricing overrides`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideViews=[];return}if(e.stale)return;if(this.modelPricingOverridesAvailable=!0,!e.ok){this.modelPricingOverrideViews=[];return}this.modelPricingOverrideViews=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch model pricing overrides:`,e),this.modelPricingOverrideViews=[],this.modelPricingOverrideError=`Unable to load model pricing overrides.`}}findModelPricingOverrideView(e){return s3(this.modelPricingOverrideViews,e)}hasGlobalPricingOverride(){return!!this.findModelPricingOverrideView(`/`)}hasProviderPricingOverride(e){return!!this.findModelPricingOverrideView(n3(e&&e.provider_name))}hasModelPricingOverride(e){return!!this.findModelPricingOverrideView(i3(e))}modelPricingButtonClass(e){return e?`table-action-btn-active`:``}modelPricingButtonLabel(e,t){let n=`Edit `+String(e||`model pricing`);return t?n+` (override exists)`:n}modelRowPricing(e){return l3(e,this.modelPricingOverrideViews).pricing}openGlobalPricingOverrideEdit(){this.openModelPricingOverrideForm({displayName:`All providers and models`,selector:`/`,scope:`global`,scopeOptions:[{value:`global`,label:`All providers and models`,selector:`/`}],row:null})}openProviderPricingOverrideEdit(e){let t=n3(e&&e.provider_name);t&&this.openModelPricingOverrideForm({displayName:`All models in `+(e.display_name||e.provider_name||t),selector:t,scope:`provider`,scopeOptions:[{value:`provider`,label:`Provider`,selector:t}],row:null})}openModelPricingOverrideEdit(e){if(!e||e.is_alias)return;let t=i3(e),n=a3(e),r=[{value:`exact`,label:`This provider and model`,selector:t}];n&&n!==t&&r.push({value:`model`,label:`This model across providers`,selector:n}),this.openModelPricingOverrideForm({displayName:e.display_name||t,selector:t,scope:`exact`,scopeOptions:r,row:e})}openModelPricingOverrideForm(e){let t=e||{};this.modelPricingOverrideFormOpen=!0,this.modelPricingOverrideError=``,this.modelPricingOverrideFormDisplayName=t.displayName||t.selector||`Pricing`,this.modelPricingOverrideFormScope=t.scope||``,this.modelPricingOverrideFormScopeOptions=Array.isArray(t.scopeOptions)?t.scopeOptions:[],this.modelPricingOverrideFormRow=t.row||null,this.modelPricingOverrideForm={selector:t.selector||``},this.loadModelPricingOverrideFormSelector(t.selector||``)}loadModelPricingOverrideFormSelector(e){e=String(e||``).trim();let t=this.findModelPricingOverrideView(e);this.modelPricingOverrideFormHasExistingOverride=!!t,this.modelPricingOverrideRows=u3(t,()=>this.nextModelPricingOverrideRowID()),this.modelPricingOverrideFormPreservedTiers=t&&t.pricing&&Array.isArray(t.pricing.tiers)?Z4(t.pricing.tiers):[],this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow();let n=this.modelPricingOverrideFormRow,r=n?l3(n,this.modelPricingOverrideViews,e):{pricing:{},sources:{}};this.modelPricingOverrideFormBasePricing=r.pricing,this.modelPricingOverrideFormBasePricingSources=r.sources}setModelPricingOverrideScope(e){this.modelPricingOverrideFormScope=e;let t=this.modelPricingOverrideFormScopeOptions.find(t=>t.value===e);t&&(this.modelPricingOverrideForm.selector=t.selector,this.loadModelPricingOverrideFormSelector(t.selector))}nextModelPricingOverrideRowID(){return this._modelPricingOverrideRowID=(this._modelPricingOverrideRowID||0)+1,`pricing-row-`+this._modelPricingOverrideRowID}availablePricingFieldOptions(e){return f3(this.modelPricingOverrideRows,e)}addModelPricingOverrideRow(){let e=d3(this.modelPricingOverrideRows),t=Y4.find(t=>!e.has(t.value))||Y4[0];t&&this.modelPricingOverrideRows.push({id:this.nextModelPricingOverrideRowID(),field:t.value,value:``})}removeModelPricingOverrideRow(e){this.modelPricingOverrideRows=this.modelPricingOverrideRows.filter(t=>t.id!==e.id),this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow()}modelPricingOverridePayload(){return p3(this.modelPricingOverrideRows,this.modelPricingOverrideFormPreservedTiers)}modelPricingOverrideDraftPricing(){let e=this.modelPricingOverridePayload();return e&&e.pricing?e.pricing:{}}modelPricingEffectivePreviewRows(){return m3(this.modelPricingOverrideFormBasePricing,this.modelPricingOverrideFormBasePricingSources,this.modelPricingOverrideDraftPricing())}closeModelPricingOverrideForm(){this.modelPricingOverrideFormOpen=!1,this.modelPricingOverrideSubmitting=!1,this.modelPricingOverrideError=``,this.modelPricingOverrideFormHasExistingOverride=!1,this.modelPricingOverrideFormDisplayName=``,this.modelPricingOverrideFormScope=``,this.modelPricingOverrideFormScopeOptions=[],this.modelPricingOverrideFormRow=null,this.modelPricingOverrideFormBasePricing=null,this.modelPricingOverrideFormBasePricingSources=null,this.modelPricingOverrideFormPreservedTiers=[],this.modelPricingOverrideRows=[],this.modelPricingOverrideForm={selector:``}}async submitModelPricingOverrideForm(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!e){this.modelPricingOverrideError=`Model pricing selector is required.`;return}let t=this.modelPricingOverridePayload();if(t.error){this.modelPricingOverrideError=t.error;return}let n={selector:e,...t};this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let e=await lL(`/admin/model-pricing-overrides`,`PUT`,n,{label:`model pricing override`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(e.stale)return;if(!e.ok){this.modelPricingOverrideError=e.status===401?`Authentication required.`:iL(e,`Failed to save model pricing.`);return}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),q.success(`Model pricing saved.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to save model pricing override:`,e),this.modelPricingOverrideError=`Failed to save model pricing.`}finally{this.modelPricingOverrideSubmitting=!1}}async deleteModelPricingOverride(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!(!e||!this.modelPricingOverrideFormHasExistingOverride)&&window.confirm(`Remove the model pricing override for "`+e+`"?`)){this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let t=await lL(`/admin/model-pricing-overrides`,`DELETE`,{selector:e},{label:`model pricing override`});if(t.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.modelPricingOverrideError=t.status===401?`Authentication required.`:iL(t,`Failed to remove model pricing override.`);return}}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),q.success(`Model pricing override removed.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to delete model pricing override:`,e),this.modelPricingOverrideError=`Failed to remove model pricing override.`}finally{this.modelPricingOverrideSubmitting=!1}}}},g3=L(``);function _3(e,t){D(t,!0);var n=g3();let r;var i=N(M(n),2),a=M(i,!0);E(i),E(n),P((e,i,o)=>{r=H(n,1,`alias-toggle`,null,r,e),n.disabled=J4.rowTogglingKey===t.row.key||!J4.virtualModelsAvailable,W(n,`aria-label`,i),z(a,o)},[()=>({enabled:J4.rowToggleEnabled(t.row),restricted:J4.rowToggleRestricted(t.row)}),()=>J4.rowToggleAriaLabel(t.row),()=>J4.rowToggleLabel(t.row)]),I(`click`,n,()=>J4.toggleRowEnabled(t.row)),R(e,n),O()}Ur([`click`]);var v3=L(`
        `);function y3(e,t){D(t,!0);var n=v3(),r=M(n),i=e=>{_3(e,{get row(){return J4.globalScopeRow}})};B(r,e=>{J4.virtualModelsAvailable&&e(i)});var a=N(r,2),o=e=>{{let t=k(()=>h3.modelPricingButtonLabel(`global model pricing`,h3.hasGlobalPricingOverride())),n=k(()=>h3.modelPricingButtonClass(h3.hasGlobalPricingOverride()));D1(e,{get label(){return F(t)},get class(){return`table-icon-btn ${F(n)??``}`},onclick:()=>h3.openGlobalPricingOverrideEdit(),children:(e,t)=>{G(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(a,e=>{h3.modelPricingOverridesAvailable&&e(o)});var s=N(a,2),c=e=>{{let t=k(()=>P4(`global model access`,J4.hasGlobalModelOverride())),n=k(()=>N4(J4.hasGlobalModelOverride()));D1(e,{get label(){return F(t)},get class(){return`table-icon-btn ${F(n)??``}`},onclick:()=>J4.openGlobalModelOverrideEdit(),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(s,e=>{J4.virtualModelsAvailable&&e(c)}),E(n),R(e,n),O()}function b3(e){return String(e&&(e.primary_model||e.source)||``).trim()}function x3(e){return Array.isArray(e&&e.fallback_models)?e.fallback_models:Array.isArray(e&&e.targets)?e.targets:[]}function S3(e){return Array.isArray(e)?e.map(e=>({...e,source:b3(e),targets:x3(e)})):[]}function C3(e){let t=x3(e);return t.length===0?`-`:t.join(`, `)}function w3(e){return e&&e.enabled===!1?`Off`:e&&e.managed?`Config`:`On`}function T3(e,t){let n=String(t||``).trim();return n&&(Array.isArray(e)?e:[]).find(e=>b3(e)===n)||null}function E3(e,t){if(!t||t.is_alias)return!1;let n=T3(e,Z2(t));return!!(n&&n.enabled!==!1&&x3(n).length>0)}function D3(e,t){return E3(e,t)?`table-action-btn-failover-active`:``}function O3(e,t){let n=`Edit failover for `+(t&&t.display_name?t.display_name:`model`);return E3(e,t)?n+` (active)`:n}function k3(e){let t=[e&&e.target_model];return(Array.isArray(e&&e.targets)?e.targets:[]).forEach(e=>t.push(e&&e.model)),t.map(e=>String(e||``).trim()).filter(Boolean)}function A3(e){let t=Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(Boolean):[];return{target_model:t[0]||``,targets:t.slice(1).map(e=>({model:e}))}}function j3(e){return{primary_model:String(e&&e.source||``).trim(),fallback_models:k3(e),enabled:!(e&&e.enabled===!1)}}function M3(e){return b3(e)}function N3(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=M3(e);n&&(t[n]=!0)}),t}function P3(e,t){let n=M3(t);return!!(n&&e&&e[n])}function F3(e,t){return(Array.isArray(e)?e:[]).filter(e=>P3(t,e))}function I3(e,t){let n=Array.isArray(e)?e:[];return n.length>0&&F3(n,t).length===n.length}function L3(e){return[b3(e),x3(e).join(` `)].join(` `).toLowerCase()}function R3(e,t){let n=Array.isArray(e)?e:[],r=String(t||``).trim().toLowerCase();return r?n.filter(e=>L3(e).includes(r)):n}function z3(e){return{primary_model:b3(e),fallback_models:x3(e).map(e=>String(e||``).trim()).filter(Boolean),enabled:!!(e&&e.enabled!==!1)}}function B3(){return{source:``,target_model:``,targets:[],enabled:!0}}var X=new class{#e=A(!0);get failoverAvailable(){return F(this.#e)}set failoverAvailable(e){j(this.#e,e,!0)}#t=A(fn([]));get failoverRules(){return F(this.#t)}set failoverRules(e){j(this.#t,e,!0)}#n=A(!1);get failoverLoading(){return F(this.#n)}set failoverLoading(e){j(this.#n,e,!0)}#r=A(!1);get failoverSaving(){return F(this.#r)}set failoverSaving(e){j(this.#r,e,!0)}#i=A(!1);get failoverGenerating(){return F(this.#i)}set failoverGenerating(e){j(this.#i,e,!0)}#a=A(``);get failoverError(){return F(this.#a)}set failoverError(e){j(this.#a,e,!0)}#o=A(fn([]));get failoverGeneratedRules(){return F(this.#o)}set failoverGeneratedRules(e){j(this.#o,e,!0)}#s=A(!1);get failoverDraftsOpen(){return F(this.#s)}set failoverDraftsOpen(e){j(this.#s,e,!0)}#c=A(fn({}));get failoverDraftSelections(){return F(this.#c)}set failoverDraftSelections(e){j(this.#c,e,!0)}#l=A(``);get failoverDraftFilter(){return F(this.#l)}set failoverDraftFilter(e){j(this.#l,e,!0)}#u=A(!1);get failoverDraftSaving(){return F(this.#u)}set failoverDraftSaving(e){j(this.#u,e,!0)}#d=A(!1);get failoverFormOpen(){return F(this.#d)}set failoverFormOpen(e){j(this.#d,e,!0)}#f=A(`create`);get failoverFormMode(){return F(this.#f)}set failoverFormMode(e){j(this.#f,e,!0)}#p=A(!1);get failoverFormManaged(){return F(this.#p)}set failoverFormManaged(e){j(this.#p,e,!0)}#m=A(fn(B3()));get failoverForm(){return F(this.#m)}set failoverForm(e){j(this.#m,e,!0)}failoverEnabled(){return fL.booleanFlag(`FAILOVER_ENABLED`,!0)}async fetchFailoverRules(){if(!this.failoverEnabled()){this.failoverAvailable=!1,this.failoverRules=[],this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,this.failoverError=``,this.failoverLoading=!1;return}this.failoverLoading=!0,this.failoverError=``;try{let e=await cL(`/admin/failover`,{label:`failover mappings`});if(e.status===503){this.failoverAvailable=!1,this.failoverRules=[];return}if(e.stale)return;if(this.failoverAvailable=!0,!e.ok){this.failoverRules=[];return}this.failoverRules=S3(e.data)}catch(e){console.error(`Failed to fetch failover mappings:`,e),this.failoverRules=[],this.failoverError=`Unable to load failover mappings.`}finally{this.failoverLoading=!1}}resetFailoverForm(){this.failoverFormMode=`create`,this.failoverFormManaged=!1,this.failoverForm=B3()}openFailoverCreate(){this.resetFailoverForm(),this.failoverFormOpen=!0,this.focusFailoverEditor()}openFailoverEdit(e){if(!e)return;this.resetFailoverForm(),this.failoverFormMode=`edit`,this.failoverFormOpen=!0,this.failoverFormManaged=!!e.managed;let t=this.failoverPrimaryModel(e),n=this.failoverTargets(e);this.failoverForm={source:t,target_model:n[0]||``,targets:n.slice(1).map(e=>({model:e})),enabled:e.enabled!==!1},this.focusFailoverEditor()}openFailoverForModel(e){if(!e||e.is_alias)return;let t=this.qualifiedModelName(e),n=this.failoverRules.find(e=>this.failoverPrimaryModel(e)===t);if(n){this.openFailoverEdit(n);return}this.resetFailoverForm(),this.failoverFormMode=`create`,this.failoverFormOpen=!0,this.failoverForm.source=t,this.focusFailoverEditor()}closeFailoverForm(){this.failoverFormOpen=!1}closeFailoverDraftsModal(){this.failoverDraftSaving||(this.failoverDraftsOpen=!1)}failoverFormTargets(){return k3(this.failoverForm)}setFailoverFormTargets(e){let t=A3(e);this.failoverForm.target_model=t.target_model,this.failoverForm.targets=t.targets}addFailoverTarget(){Array.isArray(this.failoverForm.targets)||(this.failoverForm.targets=[]),this.failoverForm.targets.push({model:``}),this.focusFailoverEditor()}removeFailoverTarget(e){if(!Array.isArray(this.failoverForm.targets)){this.failoverForm.targets=[];return}this.failoverForm.targets.splice(e,1)}removePrimaryFailoverTarget(){let e=Array.isArray(this.failoverForm.targets)?this.failoverForm.targets:[];if(e.length>0){let t=e.shift();this.failoverForm.target_model=t&&t.model?t.model:``,this.failoverForm.targets=e;return}this.failoverForm.target_model=``}failoverRulePayload(){return j3(this.failoverForm)}async submitFailoverForm(){if(this.failoverSaving||this.failoverGenerating||this.failoverFormManaged)return;let e=this.failoverRulePayload();if(!e.primary_model){this.failoverError=`Primary model is required.`;return}if(e.enabled&&e.fallback_models.length===0){this.failoverError=`Add at least one failover target.`;return}this.failoverSaving=!0,this.failoverError=``;try{let t=await lL(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to save failover mapping.`;return}q.success(`Failover mapping saved.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to save failover mapping:`,e),this.failoverError=`Failed to save failover mapping.`}finally{this.failoverSaving=!1}}async deleteFailoverRule(e){let t=String(e&&this.failoverPrimaryModel(e)||this.failoverForm.source||``).trim();if(!(!t||this.failoverSaving||this.failoverGenerating)&&confirm(`Remove failover mapping for "`+t+`"?`)){this.failoverSaving=!0,this.failoverError=``;try{let e=await lL(`/admin/failover`,`DELETE`,{primary_model:t},{label:`failover mapping`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mapping.`;return}q.success(`Failover mapping removed.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to remove failover mapping:`,e),this.failoverError=`Failed to remove failover mapping.`}finally{this.failoverSaving=!1}}}async generateFailoverForForm(){if(this.failoverGenerating||this.failoverSaving||this.failoverFormManaged)return;let e=String(this.failoverForm.source||``).trim();if(!e){this.failoverError=`Primary model is required.`;return}this.failoverGenerating=!0,this.failoverError=``;try{let t=await lL(`/admin/failover/generate`,`POST`,{primary_model:e},{label:`failover generation`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to generate failover mapping.`;return}let n=S3(t.data),r=n.find(t=>this.failoverPrimaryModel(t)===e)||n[0]||null,i=this.failoverTargets(r);if(i.length===0){this.failoverError=`No failover suggestions were generated for this model.`;return}this.setFailoverFormTargets(i),q.success(`Generated `+i.length+` fallback model`+(i.length===1?`.`:`s.`)),this.focusFailoverEditor()}catch(e){console.error(`Failed to generate failover mapping:`,e),this.failoverError=`Failed to generate failover mapping.`}finally{this.failoverGenerating=!1}}openFailoverResetDialog(){TL.open({title:`Remove failover models`,titleId:`failoverResetDialogTitle`,inputId:`failover-reset-confirmation`,message:`Remove every dashboard-managed failover mapping. Configuration-managed mappings remain active.`,requiredText:`remove`,confirmLabel:`Remove Failover`,icon:`trash-2`,dialogClass:`budget-reset-dialog`,onConfirm:async()=>{await this.resetFailoverRules(),this.failoverError&&(TL.error=this.failoverError)}})}async resetFailoverRules(){if(!this.failoverSaving){this.failoverSaving=!0,this.failoverError=``;try{let e=await lL(`/admin/failover/reset`,`POST`,void 0,{label:`failover removal`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mappings.`;return}this.failoverRules=S3(e.data),this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,q.success(`Dashboard-managed failover mappings removed.`),TL.close()}catch(e){console.error(`Failed to remove failover mappings:`,e),this.failoverError=`Failed to remove failover mappings.`}finally{this.failoverSaving=!1}}}async generateFailoverRules(){if(!(this.failoverGenerating||this.failoverDraftSaving)){this.failoverGenerating=!0,this.failoverError=``,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!0;try{let e=await lL(`/admin/failover/generate`,`POST`,void 0,{label:`failover generation`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to generate failover mappings.`;return}this.failoverGeneratedRules=S3(e.data),this.selectAllFailoverDrafts(this.failoverGeneratedRules)}catch(e){console.error(`Failed to generate failover mappings:`,e),this.failoverError=`Failed to generate failover mappings.`}finally{this.failoverGenerating=!1}}}failoverDraftKey(e){return M3(e)}selectAllFailoverDrafts(e){this.failoverDraftSelections=N3(e)}failoverDraftSelected(e){return P3(this.failoverDraftSelections,e)}setFailoverDraftSelected(e,t){let n=this.failoverDraftKey(e);n&&(this.failoverDraftSelections={...this.failoverDraftSelections,[n]:!!t})}selectedFailoverDrafts(){return F3(this.failoverGeneratedRules,this.failoverDraftSelections)}selectedFailoverDraftCount(){return this.selectedFailoverDrafts().length}failoverDraftCountLabel(){return this.selectedFailoverDraftCount()+` / `+this.failoverGeneratedRules.length+` selected`}allFailoverDraftsSelected(){return I3(this.failoverGeneratedRules,this.failoverDraftSelections)}toggleAllFailoverDrafts(){if(!(this.failoverDraftSaving||this.failoverGenerating||this.failoverGeneratedRules.length===0)){if(this.allFailoverDraftsSelected()){this.failoverDraftSelections={};return}this.selectAllFailoverDrafts(this.failoverGeneratedRules)}}failoverDraftSearchText(e){return L3(e)}filteredFailoverDrafts(){return R3(this.failoverGeneratedRules,this.failoverDraftFilter)}failoverDraftPayload(e){return z3(e)}async saveSelectedFailoverDrafts(){if(this.failoverDraftSaving||this.failoverGenerating)return;let e=this.selectedFailoverDrafts();if(e.length===0){this.failoverError=`Select at least one failover draft.`;return}this.failoverDraftSaving=!0,this.failoverError=``;try{for(let t of e){let e=this.failoverDraftPayload(t);if(!e.primary_model||e.fallback_models.length===0){this.failoverError=`Generated failover draft is missing model data.`;return}let n=await lL(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(n.stale)return;if(!n.ok){this.failoverError=`Failed to save failover mapping.`;return}}q.success(`Saved `+e.length+` failover mapping`+(e.length===1?`.`:`s.`)),this.failoverDraftsOpen=!1,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.fetchFailoverRules()}catch(e){console.error(`Failed to save generated failover mappings:`,e),this.failoverError=`Failed to save failover mappings.`}finally{this.failoverDraftSaving=!1}}focusFailoverEditor(){setTimeout(()=>{let e=document.querySelector(`[data-failover-editor]`),t=e&&e.querySelector?e.querySelector(`[data-modal-autofocus], input:not([disabled]), textarea:not([disabled]), button:not([disabled])`):null;t&&typeof t.focus==`function`&&t.focus({preventScroll:!0})},0)}failoverTargetLabel(e){return C3(e)}failoverPrimaryModel(e){return b3(e)}failoverTargets(e){return x3(e)}findFailoverMapping(e){return T3(this.failoverRules,e)}hasActiveFailoverMapping(e){return E3(this.failoverRules,e)}failoverButtonClass(e){return D3(this.failoverRules,e)}failoverButtonLabel(e){return O3(this.failoverRules,e)}normalizeFailoverRules(e){return S3(e)}failoverRuleStatus(e){return w3(e)}qualifiedModelName(e){return Z2(e)}},V3=L(``),H3=L(``),U3=L(`Config`),W3=L(`
        Targets
        `),G3=L(``),K3=L(`
        Redirects to
        `),q3=L(` `),J3=L(`
        `),Y3=L(`
        `),X3=L(`
        `);function Z3(e,t){D(t,!0);let n=k(()=>h3.modelRowPricing(t.row));var r=X3(),i=M(r),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s);var l=N(s,2),u=e=>{R(e,V3())};B(l,e=>{t.row.is_alias&&e(u)});var d=N(l,2),f=e=>{R(e,H3())};B(d,e=>{!t.row.is_alias&&t.row.masking_alias&&e(f)});var p=N(d,2),m=e=>{R(e,U3())},h=k(()=>j4(t.row));B(p,e=>{F(h)&&e(m)}),E(o);var g=N(o,2),_=e=>{var n=W3(),r=N(M(n)),i=M(r,!0);E(r),E(n),P(()=>z(i,t.row.secondary_name)),R(e,n)};B(g,e=>{t.row.is_alias&&e(_)});var v=N(g,2),y=e=>{var n=K3(),r=N(M(n)),i=M(r,!0);E(r);var a=N(r,2),o=e=>{var n=G3();P(e=>{W(n,`aria-label`,J4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),W(n,`title`,J4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),n.disabled=e},[()=>!!J4.rowDeletingKey]),I(`click`,n,()=>J4.removeRedirectRow(t.row)),R(e,n)},s=k(()=>J4.virtualModelsAvailable&&k4(t.row));B(a,e=>{F(s)&&e(o)}),E(n),P(e=>z(i,e),[()=>c4(t.row.masking_alias)]),R(e,n)};B(v,e=>{!t.row.is_alias&&t.row.masking_alias&&e(y)}),E(a),E(i);var b=N(i);V(b,17,()=>t.columns,oi,(e,r)=>{var i=q3(),a=M(i,!0);E(i),P(e=>{H(i,1,ji(F(r).class),`svelte-1iynym`),z(a,e)},[()=>F(r).value(t.row,F(n))]),R(e,i)});var x=N(b),S=M(x),C=e=>{var n=J3(),r=M(n);_3(r,{get row(){return t.row}});var i=N(r,2),a=e=>{{let n=k(()=>J4.rowDeletingKey===t.row.key?`Removing alias `+t.row.alias.name:`Remove alias `+t.row.alias.name),r=k(()=>!!J4.rowDeletingKey);D1(e,{get label(){return F(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>J4.removeAliasRow(t.row),get disabled(){return F(r)},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})}},o=k(()=>J4.virtualModelsAvailable&&O4(t.row));B(i,e=>{F(o)&&e(a)});var s=N(i,2),c=e=>{{let n=k(()=>`Edit alias `+t.row.alias.name);D1(e,{get label(){return F(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>J4.openVirtualModelEditAlias(t.row.alias),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(s,e=>{J4.virtualModelsAvailable&&e(c)}),E(n),R(e,n)},w=e=>{var n=Y3(),r=M(n);_3(r,{get row(){return t.row}});var i=N(r,2),a=e=>{{let n=k(()=>h3.modelPricingButtonLabel(`model pricing for `+t.row.display_name,h3.hasModelPricingOverride(t.row))),r=k(()=>h3.modelPricingButtonClass(h3.hasModelPricingOverride(t.row)));D1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>h3.openModelPricingOverrideEdit(t.row),children:(e,t)=>{G(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(i,e=>{h3.modelPricingOverridesAvailable&&e(a)});var o=N(i,2),s=e=>{{let n=k(()=>X.failoverButtonLabel(t.row)),r=k(()=>X.failoverButtonClass(t.row));D1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>X.openFailoverForModel(t.row),children:(e,t)=>{G(e,{name:`shuffle`,class:`table-icon-svg`})},$$slots:{default:!0}})}},c=k(()=>X.failoverAvailable&&X.failoverEnabled());B(o,e=>{F(c)&&e(s)});var l=N(o,2),u=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(t.row.display_name,Y.rateLimitGaugeClassForModel(t.row))),r=k(()=>Y.rateLimitGaugeClassForModel(t.row));D1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>Y.openRateLimitInspectorForModel(t.row),children:(e,t)=>{G(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},d=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitInspectorModelID(t.row));B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=e=>{{let n=k(()=>`Edit redirect for `+t.row.display_name);D1(e,{get label(){return F(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>J4.openVirtualModelEditAlias(t.row.masking_alias),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(f,e=>{J4.virtualModelsAvailable&&t.row.masking_alias&&t.row.masking_alias.name&&e(p)});var m=N(f,2),h=e=>{{let n=k(()=>P4(`model access for `+t.row.display_name,M4(t.row.access))),r=k(()=>N4(M4(t.row.access)));D1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>J4.openVirtualModelEditModel(t.row),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(m,e=>{J4.virtualModelsAvailable&&!t.row.masking_alias&&e(h)}),E(n),R(e,n)};B(S,e=>{t.row.is_alias?e(C):e(w,-1)}),E(x),E(r),P((e,n)=>{W(r,`id`,e),H(r,1,n,`svelte-1iynym`),z(c,t.row.display_name)},[()=>A4(t.row)||void 0,()=>ji(D4(t.row))]),R(e,r),O()}Ur([`click`]);var Q3={headerLines:[`Modes`],value:e=>(e.model?.metadata?.modes??[]).join(`, `)||`-`};function $3(e,t){return{headerLines:e,class:`col-price`,value:t}}var e6=$3([`Input / Output ($/MTok)`],(e,t)=>YL(t?.input_per_mtok)+` / `+YL(t?.output_per_mtok)),t6={all:[Q3,e6],text_generation:[Q3,e6,$3([`Cached $/MTok`],(e,t)=>YL(t?.cached_input_per_mtok))],embedding:[$3([`Input`,`$/MTok`],(e,t)=>YL(t?.input_per_mtok))],image:[$3([`$/Image`],(e,t)=>XL(t?.per_image))],audio:[$3([`$/Second`],(e,t)=>XL(t?.per_second_input)),$3([`$/Character`],(e,t)=>XL(t?.per_character_input))],video:[$3([`$/Second (In)`],(e,t)=>XL(t?.per_second_input)),$3([`$/Second (Out)`],(e,t)=>XL(t?.per_second_output))],utility:[$3([`$/Page`],(e,t)=>XL(t?.per_page)),$3([`$/Request`],(e,t)=>XL(t?.per_request))]};function n6(e){return t6[e]||t6.all}function r6(e){return n6(e).length+2}var i6=L(`
        `),a6=L(` `,1),o6=L(``),s6=L(` `),c6=L(` `),l6=L(`
        `),u6=L(`
        `),d6=L(`
        Model
        `);function f6(e,t){D(t,!0);let n=k(()=>UL.activeCategory||`all`),r=k(()=>n6(F(n))),i=k(()=>r6(F(n)));var a=d6(),o=M(a),s=M(o),c=M(s),l=N(M(c));V(l,17,()=>F(r),oi,(e,t)=>{var n=o6();V(n,21,()=>F(t).headerLines,oi,(e,t,n)=>{var r=a6(),i=Cn(r),a=e=>{R(e,i6())};B(i,e=>{n>0&&e(a)});var o=N(i,1,!0);P(()=>z(o,F(t))),R(e,r)}),E(n),P(()=>H(n,1,ji(F(t).class),`svelte-1911hy6`)),R(e,n)});var u=N(l);y3(M(u),{}),E(u),E(c),E(s),V(N(s),17,()=>J4.filteredDisplayModelGroups,e=>e.key,(e,t)=>{var n=u6(),a=M(n),o=M(a),s=M(o),c=M(s),l=M(c),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=e=>{var n=s6(),r=M(n,!0);E(n),P(()=>z(r,`(`+F(t).type_label+`)`)),R(e,n)};B(f,e=>{F(t).type_label&&e(p)});var m=N(f,2),h=e=>{var n=c6(),r=M(n,!0);E(n),P(()=>z(r,F(t).item_count_label)),R(e,n)};B(m,e=>{F(t).item_count_label&&e(h)}),E(l);var g=N(l,2),_=e=>{var n=l6(),r=M(n,!0);E(n),P(()=>z(r,F(t).access_summary)),R(e,n)};B(g,e=>{F(t).access_summary&&e(_)}),E(c);var v=N(c,2),y=M(v),b=e=>{_3(e,{get row(){return F(t)}})};B(y,e=>{F(t).access.selector&&e(b)});var x=N(y,2),S=e=>{{let n=k(()=>h3.modelPricingButtonLabel(`provider pricing for `+F(t).display_name,h3.hasProviderPricingOverride(F(t)))),r=k(()=>h3.modelPricingButtonClass(h3.hasProviderPricingOverride(F(t))));D1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>h3.openProviderPricingOverrideEdit(F(t)),children:(e,t)=>{G(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(x,e=>{h3.modelPricingOverridesAvailable&&F(t).provider_name&&e(S)});var C=N(x,2),w=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(`provider `+F(t).display_name,Y.rateLimitGaugeClassForProvider(F(t)))),r=k(()=>Y.rateLimitGaugeClassForProvider(F(t)));D1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>Y.openRateLimitInspectorForProvider(F(t)),children:(e,t)=>{G(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},T=k(()=>Y.rateLimitsEnabled()&&F(t).provider_name);B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{{let n=k(()=>P4(`provider access for `+F(t).display_name,M4(F(t).access))),r=k(()=>N4(M4(F(t).access)));D1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>J4.openProviderOverrideEdit(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(ee,e=>{J4.virtualModelsAvailable&&F(t).access.selector&&e(te)}),E(v),E(s),E(o),E(a),V(N(a),17,()=>F(t).rows,e=>e.key,(e,t)=>{Z3(e,{get row(){return F(t)},get columns(){return F(r)}})}),E(n),P(()=>{W(o,`colspan`,F(i)),z(d,F(t).display_name)}),R(e,n)}),E(o),E(a),R(e,a),O()}var p6=L(``),m6=L(`
        `);function h6(e,t){D(t,!0);let n=ma(t,`model`,15,``),r=ma(t,`weight`,15),i=ma(t,`id`,3,void 0),a=ma(t,`placeholder`,3,`openai/gpt-4o`),o=ma(t,`showRemove`,3,!0);var s=m6(),c=M(s);U(c);var l=N(c,2),u=e=>{var t=p6();U(t),P(()=>t.disabled=J4.vmFormManaged),oa(t,r),R(e,t)},d=k(()=>J4.vmFormShowWeights());B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=e=>{D1(e,{label:`Remove target`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,get onclick(){return t.onremove},get disabled(){return J4.vmFormManaged},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};B(f,e=>{o()&&e(p)}),E(s),P(()=>{W(c,`id`,i()),W(c,`placeholder`,a()),c.disabled=J4.vmFormManaged}),oa(c,n),R(e,s),O()}var g6=L(`

        `),_6=L(`Add one target to make this a redirect/alias, or two or more to load + balance across them, then pick a strategy: round_robin rotates across targets + (weight biases the share) and cost always routes to the cheapest available + target. Leave Targets empty to make it only an access policy on the Source selector. The selector uses / for all providers and + models, for one provider, or for one model. user_paths is + matched against the effective request user_path: the managed API key user_path when present, otherwise the configured user path request header.`,1),v6=L(`

        This virtual model is defined in configuration (config.yaml / VIRTUAL_MODELS) and is read-only here. Edit your configuration to change it.

        `),y6=L(``),b6=L(`
        `),x6=L(``),S6=L(`Use / to allow every user path. Use a team path to restrict to that + subtree, or an unused path to make the selector unavailable.`,1),C6=L(` `),w6=L(``),T6=L(``),E6=L(``),D6=L(``);function O6(e,t){D(t,!0);let n=J4;bL(e,{get open(){return n.vmFormOpen},onclose:()=>n.closeVirtualModelForm(),children:(e,t)=>{var r=D6(),i=M(r),a=M(i),o=M(a);bQ(o,{copyId:`virtual-model-help-copy`,label:`virtual model help`,get open(){return n.vmFormHelpOpen},set open(e){n.vmFormHelpOpen=e},title:e=>{var t=g6(),r=M(t,!0);E(t),P(()=>z(r,n.vmFormDisplayName||n.vmForm.source||`Virtual model`)),R(e,t)},help:e=>{We();var t=_6(),n=N(Cn(t),13);n.textContent=`{provider_name}/`;var r=N(n,2);r.textContent=`{provider_name}/{model}`,We(7),R(e,t)},$$slots:{title:!0,help:!0}}),vL(N(o,2),{label:`Close virtual model editor`,onclick:()=>n.closeVirtualModelForm()}),E(a);var s=N(a,2),c=e=>{R(e,v6())};B(s,e=>{n.vmFormManaged&&e(c)});var l=N(s,2),u=N(M(l),2);U(u),E(l);var d=N(l,2);V(d,21,()=>UL.models,e=>Z2(e),(e,t)=>{var n=y6(),r=M(n,!0);E(n);var i={};P((e,t)=>{z(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>Z2(F(t)),()=>Z2(F(t))]),R(e,n)}),E(d);var f=N(d,2),p=N(M(f),2);{let e=k(()=>n.vmFormHasPrimaryTarget());h6(p,{id:`virtual-model-target`,get showRemove(){return F(e)},onremove:()=>n.removePrimaryTarget(),get model(){return n.vmForm.target_model},set model(e){n.vmForm.target_model=e},get weight(){return n.vmForm.target_weight},set weight(e){n.vmForm.target_weight=e}})}var m=N(p,2);V(m,17,()=>n.vmForm.targets,oi,(e,t,r)=>{h6(e,{placeholder:`groq/llama`,onremove:()=>n.removeVmTarget(r),get model(){return F(t).model},set model(e){F(t).model=e},get weight(){return F(t).weight},set weight(e){F(t).weight=e}})});var h=N(m,2),g=M(h);G(M(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h),E(f);var _=N(f,2),v=e=>{var t=b6(),r=N(M(t),2),i=M(r);i.value=i.__value=`round_robin`;var a=N(i);a.value=a.__value=`cost`,E(r),E(t),P(()=>r.disabled=n.vmFormManaged),Vi(r,()=>n.vmForm.strategy,e=>n.vmForm.strategy=e),R(e,t)},y=k(()=>n.vmFormShowStrategy());B(_,e=>{F(y)&&e(v)});var b=N(_,2),x=M(b);bQ(x,{copyId:`virtual-model-user-paths-help`,label:`user paths help`,get open(){return n.vmFormUserPathsHelpOpen},set open(e){n.vmFormUserPathsHelpOpen=e},title:e=>{R(e,x6())},help:e=>{We();var t=S6();We(2),R(e,t)},$$slots:{title:!0,help:!0}});var S=N(x,2);pt(S),W(S,`placeholder`,`/ +/team/alpha +/non-existing`),E(b);var C=N(b,2),w=N(M(C),2);pt(w),E(C);var T=N(C,2),ee=M(T),te=e=>{var t=C6(),r=M(t,!0);E(t),P(()=>z(r,`Default enabled: `+(n.vmFormDefaultEnabled?`yes`:`no`)+` · Effective now: `+(n.vmFormEffectiveEnabled?`yes`:`no`))),R(e,t)};B(ee,e=>{n.vmFormMode===`edit`&&e(te)});var ne=N(ee,2),re=M(ne);let ie;var ae=N(M(re),2),oe=M(ae,!0);E(ae),E(re),E(ne),E(T);var se=N(T,2),ce=e=>{var t=w6(),r=M(t,!0);E(t),P(()=>z(r,n.vmFormError)),R(e,t)};B(se,e=>{n.vmFormError&&e(ce)});var le=N(se,2),ue=M(le),de=N(ue,2),fe=e=>{var t=T6();P(()=>t.disabled=n.vmDeleting||n.vmSubmitting),I(`click`,t,()=>n.deleteVirtualModel()),R(e,t)};B(de,e=>{n.vmFormHasExisting&&!n.vmFormManaged&&e(fe)});var pe=N(de,2),me=e=>{var t=E6(),r=M(t),i=e=>{G(e,{name:`plus`,class:`form-action-icon`})},a=e=>{G(e,{name:`save`,class:`form-action-icon`})};B(r,e=>{n.vmFormMode===`edit`?e(a,-1):e(i)});var o=N(r,2),s=M(o,!0);E(o),E(t),P(()=>{t.disabled=n.vmSubmitting||n.vmDeleting,z(s,n.vmSubmitting?`Saving...`:n.vmFormMode===`edit`?`Save`:`Create`)}),R(e,t)};B(pe,e=>{n.vmFormManaged||e(me)}),E(le),E(i),E(r),P((e,t)=>{u.disabled=n.vmFormSourceLocked||n.vmFormManaged,g.disabled=n.vmFormManaged,S.disabled=n.vmFormManaged,w.disabled=n.vmFormManaged,ie=H(re,1,`alias-toggle`,null,ie,e),W(re,`aria-label`,(n.vmForm.enabled?`Disable`:`Enable`)+` virtual model`),re.disabled=n.vmFormManaged,z(oe,t)},[()=>({enabled:n.vmForm.enabled,restricted:n.vmFormToggleRestricted()}),()=>n.vmFormToggleLabel()]),Hr(`submit`,i,e=>{e.preventDefault(),n.submitVirtualModelForm()}),oa(u,()=>n.vmForm.source,e=>n.vmForm.source=e),I(`click`,g,()=>n.addVmTarget()),oa(S,()=>n.vmForm.user_paths,e=>n.vmForm.user_paths=e),oa(w,()=>n.vmForm.description,e=>n.vmForm.description=e),I(`click`,re,()=>{n.vmFormManaged||(n.vmForm.enabled=!n.vmForm.enabled)}),I(`click`,ue,()=>n.closeVirtualModelForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var k6=L(``),A6=L(`
        `),j6=L(`
        `),M6=L(`
        Tiered pricing exists for this override and will be preserved. Tier editing can be added + without a database migration.
        `),N6=L(`
        No pricing fields set.
        `),P6=L(`
        `),F6=L(``),I6=L(``),L6=L(``);function R6(e,t){D(t,!0);let n=h3;bL(e,{get open(){return n.modelPricingOverrideFormOpen},onclose:()=>n.closeModelPricingOverrideForm(),children:(e,t)=>{var r=L6(),i=M(r),a=M(i),o=M(a),s=N(M(o),2),c=M(s,!0);E(s),E(o),vL(N(o,2),{label:`Close model pricing editor`,onclick:()=>n.closeModelPricingOverrideForm()}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);U(d),E(u);var f=N(u,2),p=e=>{var t=A6(),r=N(M(t),2);V(r,21,()=>n.modelPricingOverrideFormScopeOptions,e=>e.value,(e,t)=>{var n=k6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(r),E(t),I(`change`,r,()=>n.setModelPricingOverrideScope(n.modelPricingOverrideFormScope)),Vi(r,()=>n.modelPricingOverrideFormScope,e=>n.modelPricingOverrideFormScope=e),R(e,t)};B(f,e=>{n.modelPricingOverrideFormScopeOptions.length>1&&e(p)}),E(l);var m=N(l,4);V(m,21,()=>n.modelPricingOverrideRows,e=>e.id,(e,t,r)=>{var i=j6(),a=M(i),o=M(a),s=N(o,2);V(s,21,()=>n.availablePricingFieldOptions(F(t)),e=>e.value,(e,t)=>{var n=k6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).group+` - `+F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(s),E(a);var c=N(a,2),l=M(c),u=N(l,2);U(u),E(c);var d=N(c,2);{let e=k(()=>`Remove `+n.pricingFieldLabel(F(t).field));D1(d,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn pricing-override-remove-row`,onclick:()=>n.removeModelPricingOverrideRow(F(t)),children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(i),P(()=>{W(o,`for`,`pricing-type-`+F(t).id),W(s,`id`,`pricing-type-`+F(t).id),W(l,`for`,`pricing-value-`+F(t).id),W(u,`id`,`pricing-value-`+F(t).id)}),Vi(s,()=>F(t).field,e=>F(t).field=e),oa(u,()=>F(t).value,e=>F(t).value=e),R(e,i)}),E(m);var h=N(m,2),g=M(h);G(M(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h);var _=N(h,2),v=e=>{R(e,M6())};B(_,e=>{n.modelPricingOverrideFormPreservedTiers.length>0&&e(v)});var y=N(_,2),b=N(M(y),2),x=e=>{R(e,N6())},S=k(()=>n.modelPricingEffectivePreviewRows().length===0);B(b,e=>{F(S)&&e(x)}),V(N(b,2),17,()=>n.modelPricingEffectivePreviewRows(),e=>e.field,(e,t)=>{var n=P6(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(n),P(e=>{z(i,F(t).label),z(o,e),z(c,F(t).source)},[()=>F(t).value===null||F(t).value===void 0?`-`:XL(Number(F(t).value))]),R(e,n)}),E(y);var C=N(y,2),w=e=>{var t=F6(),r=M(t,!0);E(t),P(()=>z(r,n.modelPricingOverrideError)),R(e,t)};B(C,e=>{n.modelPricingOverrideError&&e(w)});var T=N(C,2),ee=M(T),te=N(ee,2),ne=e=>{var t=I6();P(()=>t.disabled=n.modelPricingOverrideSubmitting),I(`click`,t,()=>n.deleteModelPricingOverride()),R(e,t)};B(te,e=>{n.modelPricingOverrideFormHasExistingOverride&&e(ne)});var re=N(te,2),ie=M(re);G(ie,{name:`save`,class:`form-action-icon`});var ae=N(ie,2),oe=M(ae,!0);E(ae),E(re),E(T),E(i),E(r),P(()=>{z(c,n.modelPricingOverrideFormDisplayName||n.modelPricingOverrideForm.selector||`Pricing`),re.disabled=n.modelPricingOverrideSubmitting,z(oe,n.modelPricingOverrideSubmitting?`Saving...`:`Save Pricing`)}),Hr(`submit`,i,e=>{e.preventDefault(),n.submitModelPricingOverrideForm()}),oa(d,()=>n.modelPricingOverrideForm.selector,e=>n.modelPricingOverrideForm.selector=e),I(`click`,g,()=>n.addModelPricingOverrideRow()),I(`click`,ee,()=>n.closeModelPricingOverrideForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var z6=L(`

        This failover mapping is defined in configuration and is read-only here.

        `),B6=L(``),V6=L(`
        `),H6=L(``),U6=L(``),W6=L(``),G6=L(``);function K6(e,t){D(t,!0),bL(e,{get open(){return X.failoverFormOpen},variant:`editor`,onclose:()=>X.closeFailoverForm(),children:(e,t)=>{var n=G6(),r=M(n),i=M(r),a=M(i),o=N(M(a),2),s=M(o,!0);E(o),E(a),vL(N(a,2),{label:`Close failover editor`,onclick:()=>X.closeFailoverForm()}),E(i);var c=N(i,2),l=e=>{R(e,z6())};B(c,e=>{X.failoverFormManaged&&e(l)});var u=N(c,2);V(u,21,()=>UL.models,oi,(e,t)=>{var n=B6(),r=M(n,!0);E(n);var i={};P((e,t)=>{z(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>Z2(F(t)),()=>Z2(F(t))]),R(e,n)}),E(u);var d=N(u,2),f=N(M(d),2),p=M(f),m=M(p);U(m);var h=N(m,2),g=e=>{D1(e,{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removePrimaryFailoverTarget(),get disabled(){return X.failoverFormManaged},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};B(h,e=>{X.failoverForm.target_model&&e(g)}),E(p),V(N(p,2),17,()=>X.failoverForm.targets,oi,(e,t,n)=>{var r=V6(),i=M(r);U(i),D1(N(i,2),{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removeFailoverTarget(n),get disabled(){return X.failoverFormManaged},children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),P(()=>i.disabled=X.failoverFormManaged),oa(i,()=>F(t).model,e=>F(t).model=e),R(e,r)}),E(f);var _=N(f,2),v=M(_);G(M(v),{name:`plus`,class:`form-action-icon`}),We(2),E(v);var y=N(v,2),b=M(y);G(b,{name:`wand-sparkles`,class:`form-action-icon`});var x=N(b,2),S=M(x,!0);E(x),E(y),E(_),E(d);var C=N(d,2),w=M(C),T=M(w);let ee;var te=N(M(T),2),ne=M(te,!0);E(te),E(T),E(w),E(C);var re=N(C,2),ie=e=>{var t=H6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(re,e=>{X.failoverError&&e(ie)});var ae=N(re,2),oe=M(ae),se=N(oe,2),ce=e=>{var t=U6();P(()=>t.disabled=X.failoverSaving||X.failoverGenerating),I(`click`,t,()=>X.deleteFailoverRule()),R(e,t)};B(se,e=>{X.failoverFormMode===`edit`&&!X.failoverFormManaged&&e(ce)});var le=N(se,2),ue=e=>{var t=W6(),n=M(t);G(n,{name:`save`,class:`form-action-icon`});var r=N(n,2),i=M(r,!0);E(r),E(t),P(()=>{t.disabled=X.failoverSaving||X.failoverGenerating,z(i,X.failoverSaving?`Saving...`:`Save`)}),R(e,t)};B(le,e=>{X.failoverFormManaged||e(ue)}),E(ae),E(r),E(n),P(e=>{z(s,X.failoverForm.source||`Failover`),m.disabled=X.failoverFormManaged,v.disabled=X.failoverFormManaged||X.failoverGenerating||X.failoverSaving,y.disabled=e,z(S,X.failoverGenerating?`Generating...`:`Generate automatically`),ee=H(T,1,`alias-toggle`,null,ee,{enabled:X.failoverForm.enabled}),T.disabled=X.failoverFormManaged,W(T,`aria-label`,(X.failoverForm.enabled?`Disable`:`Enable`)+` failover mapping`),z(ne,X.failoverForm.enabled?`Enabled`:`Disabled`)},[()=>X.failoverFormManaged||X.failoverGenerating||X.failoverSaving||!X.failoverEnabled()]),Hr(`submit`,r,e=>{e.preventDefault(),X.submitFailoverForm()}),oa(m,()=>X.failoverForm.target_model,e=>X.failoverForm.target_model=e),I(`click`,v,()=>X.addFailoverTarget()),I(`click`,y,()=>X.generateFailoverForForm()),I(`click`,T,()=>{X.failoverFormManaged||(X.failoverForm.enabled=!X.failoverForm.enabled)}),I(`click`,oe,()=>X.closeFailoverForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var q6=L(` `),J6=L(`
        `),Y6=L(``),X6=L(`
        `),Z6=L(`

        No failover suggestions were generated.

        `),Q6=L(`

        No failover drafts match the filter.

        `),$6=L(``),e8=L(``);function t8(e,t){D(t,!0),bL(e,{get open(){return X.failoverDraftsOpen},variant:`editor`,onclose:()=>X.closeFailoverDraftsModal(),children:(e,t)=>{var n=e8(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=q6(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>X.failoverDraftCountLabel()]),R(e,t)};B(a,e=>{X.failoverGeneratedRules.length>0&&e(o)}),vL(N(a,2),{label:`Close failover drafts`,onclick:()=>X.closeFailoverDraftsModal(),get disabled(){return X.failoverDraftSaving}}),E(i),E(r);var s=N(r,2),c=e=>{T1(e,{label:`Generating failover drafts...`,class:`failover-drafts-loading`})};B(s,e=>{X.failoverGenerating&&e(c)});var l=N(s,2),u=e=>{var t=J6(),n=M(t);j$(n,{placeholder:`Filter failover drafts...`,label:`Filter failover drafts`,get value(){return X.failoverDraftFilter},set value(e){X.failoverDraftFilter=e}});var r=N(n,2),i=M(r);G(i,{name:`check`,class:`form-action-icon`});var a=N(i,2),o=M(a,!0);E(a),E(r),E(t),P(e=>{r.disabled=X.failoverDraftSaving,z(o,e)},[()=>X.allFailoverDraftsSelected()?`Deselect all`:`Select all`]),I(`click`,r,()=>X.toggleAllFailoverDrafts()),R(e,t)};B(l,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&e(u)});var d=N(l,2),f=e=>{var t=X6();V(t,21,()=>X.filteredFailoverDrafts(),e=>`failover-draft:`+X.failoverPrimaryModel(e),(e,t)=>{var n=Y6(),r=M(n);U(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(i),E(n),P((e,t,n,i)=>{$i(r,e),r.disabled=X.failoverDraftSaving,W(r,`aria-label`,t),z(o,n),z(c,i)},[()=>X.failoverDraftSelected(F(t)),()=>`Select failover draft for `+X.failoverPrimaryModel(F(t)),()=>X.failoverPrimaryModel(F(t)),()=>X.failoverTargetLabel(F(t))]),I(`change`,r,e=>X.setFailoverDraftSelected(F(t),e.currentTarget.checked)),R(e,n)}),E(t),R(e,t)},p=k(()=>!X.failoverGenerating&&X.filteredFailoverDrafts().length>0);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{R(e,Z6())};B(m,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length===0&&!X.failoverError&&e(h)});var g=N(m,2),_=e=>{R(e,Q6())},v=k(()=>!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&X.filteredFailoverDrafts().length===0);B(g,e=>{F(v)&&e(_)});var y=N(g,2),b=e=>{var t=$6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(y,e=>{X.failoverError&&e(b)});var x=N(y,2),S=M(x),C=N(S,2),w=M(C);G(w,{name:`save`,class:`form-action-icon`});var T=N(w,2),ee=M(T,!0);E(T),E(C),E(x),E(n),P(e=>{S.disabled=X.failoverDraftSaving,C.disabled=e,z(ee,X.failoverDraftSaving?`Saving...`:`Save selected`)},[()=>X.failoverGenerating||X.failoverDraftSaving||X.selectedFailoverDraftCount()===0]),I(`click`,S,()=>X.closeFailoverDraftsModal()),I(`click`,C,()=>X.saveSelectedFailoverDrafts()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`,`change`]);var n8=L(`
        Rate limit management is unavailable.
        `),r8=L(` Add`,1),i8=L(`

        `),a8=L(`

        No rules.

        `),o8=L(` Edit`,1),s8=L(`
        `),c8=L(`
        `),l8=L(`

        `),u8=L(``),d8=L(``);function f8(e,t){D(t,!0);function n(){K.dialogOpen||Y.closeRateLimitInspector()}bL(e,{get open(){return Y.rateLimitInspectorOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=d8(),r=M(n),i=M(r),a=N(M(i),2),o=M(a),s=M(o,!0);E(o),E(a),E(i),vL(N(i,2),{label:`Close rate limits inspector`,onclick:()=>Y.closeRateLimitInspector()}),E(r);var c=N(r,2),l=e=>{T1(e,{label:`Loading rate limits...`})},u=e=>{R(e,n8())},d=e=>{var t=$r();V(Cn(t),17,()=>Y.rateLimitInspectorSections(),e=>e.key,(e,t)=>{var n=l8(),r=M(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2);{let e=k(()=>`Add `+F(t).title.toLowerCase());D1(o,{get label(){return F(e)},class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(F(t).scope,F(t).subject),children:(e,t)=>{var n=r8();G(Cn(n),{name:`plus`,class:`table-icon-svg`}),We(2),R(e,n)},$$slots:{default:!0}})}E(r);var s=N(r,2),c=e=>{var n=i8(),r=M(n,!0);E(n),P(()=>z(r,F(t).hint)),R(e,n)};B(s,e=>{F(t).hint&&e(c)});var l=N(s,2),u=e=>{R(e,a8())},d=e=>{var n=c8();V(n,21,()=>F(t).items,e=>Y.rateLimitKey(e),(e,t)=>{var n=s8(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=M(c);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);G(l,{get name(){return F(e)},class:`budget-period-icon`})}var u=N(l,2),d=M(u,!0);E(u),E(c),E(s);var f=N(s,2),p=M(f),m=M(p),h=M(m,!0);E(m);var g=N(m,2),_=M(g,!0);E(g),E(p);var v=N(p,2),y=M(v),b=e=>{D1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(null,null,F(t)),children:(e,t)=>{var n=o8();G(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},x=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(y,e=>{F(x)&&e(b)}),E(v),E(f),E(i),E(r),E(n),P((e,t,r,i,a,s,c,l)=>{H(n,1,`budget-row ${e??``}`),Ri(n,t),W(n,`title`,r),z(o,i),z(d,a),z(h,s),W(g,`title`,c),z(_,l)},[()=>Y.rateLimitPressureClass(F(t)),()=>Y.rateLimitPressureStyle(F(t)),()=>Y.rateLimitPressurePercent(F(t))+`% of the most constrained cap used`,()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitInspectorSummary(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n)};B(l,e=>{F(t).items.length===0?e(u):e(d,-1)}),E(n),P(()=>z(a,F(t).title)),R(e,n)}),R(e,t)};B(c,e=>{Y.rateLimitsLoading?e(l):Y.rateLimitsAvailable?e(d,-1):e(u,1)});var f=N(c,2),p=M(f),m=N(p,2),h=e=>{var t=u8();I(`click`,t,()=>{Y.closeRateLimitInspector(),WI.navigate(`rate-limits`)}),R(e,t)},g=k(()=>Y.rateLimitsEnabled());B(m,e=>{F(g)&&e(h)}),E(f),E(n),P(()=>z(s,Y.rateLimitInspector.title)),I(`click`,p,()=>Y.closeRateLimitInspector()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var p8=L(`
        models
        `),m8=L(`
        Virtual models feature is unavailable.
        `),h8=L(`
        `),g8=L(``),_8=L(`
        `),v8=L(``),y8=L(`
        `),b8=L(`

        No models registered.

        `),x8=L(`

        No models in this category.

        `),S8=L(`

        No models match your filter.

        `),C8=L(`
        `);function w8(e,t){D(t,!0),Nn(()=>{K.refreshTick,WI.page===`models`&&(J4.fetchVirtualModels(),h3.fetchModelPricingOverrides(),X.fetchFailoverRules(),Y.fetchRateLimitsPage())}),Nn(()=>{let e=J4.filteredDisplayModels.length;return kr(()=>J4.restartModelRendering(e)),()=>J4.stopModelRendering()});let n=k(()=>K.needsAuth);var r=C8(),i=M(r),a=N(M(i),2),o=e=>{var t=p8(),n=M(t),r=M(n,!0);E(n),We(),E(t),P(()=>z(r,UL.filter?J4.filteredDisplayModels.length+` / `+J4.displayModels.length:J4.displayModels.length)),R(e,t)};B(a,e=>{J4.displayModels.length>0&&e(o)}),E(i);var s=N(i,2);GL(s,{});var c=N(s,2),l=e=>{R(e,m8())};B(c,e=>{!J4.virtualModelsAvailable&&!F(n)&&e(l)});var u=N(c,2),d=e=>{var t=h8(),n=M(t,!0);E(t),P(()=>z(n,J4.aliasError)),R(e,t)};B(u,e=>{J4.aliasError&&!F(n)&&e(d)});var f=N(u,2),p=e=>{var t=h8(),n=M(t,!0);E(t),P(()=>z(n,h3.modelPricingOverrideError)),R(e,t)};B(f,e=>{h3.modelPricingOverrideError&&!F(n)&&!h3.modelPricingOverrideFormOpen&&e(p)});var m=N(f,2),h=e=>{var t=_8();V(t,21,()=>UL.categories,e=>e.category,(e,t)=>{var n=g8();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(n),P(()=>{r=H(n,1,`category-tab svelte-scpjps`,null,r,{active:UL.activeCategory===F(t).category}),z(a,F(t).display_name),z(s,F(t).count)}),I(`click`,n,()=>UL.selectCategory(F(t).category)),R(e,n)}),E(t),R(e,t)};B(m,e=>{UL.categories.length>0&&e(h)});var g=N(m,2),_=e=>{var t=y8(),n=M(t);j$(M(n),{placeholder:`Filter by provider, provider/model, alias, or owner...`,label:`Filter models by provider, provider/model, alias, or owner`,get value(){return UL.filter},set value(e){UL.filter=e}}),E(n);var r=N(n,2),i=M(r),a=e=>{var t=v8();G(M(t),{name:`plus`,class:`alias-create-icon`}),We(2),E(t),I(`click`,t,()=>J4.openVirtualModelCreate()),R(e,t)};B(i,e=>{J4.virtualModelsAvailable&&e(a)}),E(r),E(t),R(e,t)};B(g,e=>{(J4.displayModels.length>0||UL.filter||J4.virtualModelsAvailable)&&e(_)});var v=N(g,2),y=e=>{{let t=k(()=>J4.modelLoadingText());T1(e,{get label(){return F(t)},class:`models-loading-state`})}},b=k(()=>J4.modelsBusy()&&!F(n));B(v,e=>{F(b)&&e(y)});var x=N(v,2);O6(x,{});var S=N(x,2);R6(S,{});var C=N(S,2),w=e=>{f6(e,{})};B(C,e=>{(J4.displayModels.length>0||UL.filter)&&e(w)});var T=N(C,2),ee=e=>{R(e,b8())};B(T,e=>{J4.displayModels.length===0&&!UL.loading&&!F(n)&&!UL.filter&&(UL.activeCategory===`all`||!UL.activeCategory)&&e(ee)});var te=N(T,2),ne=e=>{R(e,x8())};B(te,e=>{J4.displayModels.length===0&&!UL.loading&&!F(n)&&!UL.filter&&UL.activeCategory&&UL.activeCategory!==`all`&&e(ne)});var re=N(te,2),ie=e=>{R(e,S8())};B(re,e=>{J4.displayModels.length>0&&J4.filteredDisplayModels.length===0&&UL.filter&&e(ie)});var ae=N(re,2);f8(ae,{});var oe=N(ae,2);j2(oe,{});var se=N(oe,2);K6(se,{}),t8(N(se,2),{}),E(r),R(e,r),O()}Ur([`click`]);var T8=`draft-workflow-preview`;function E8(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function D8(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function O8(e){return{ref:``,step:Number.isFinite(e)?e:10}}function k8(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function A8(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function j8(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function M8(e){return{cache:!!A8(e,`cache`,!1),audit:!!A8(e,`audit`,!1),usage:!!A8(e,`usage`,!1),budget:A8(e,`budget`,!0)!==!1,guardrails:!!A8(e,`guardrails`,!1),failover:A8(e,`failover`,!0)!==!1}}function N8(e,t){let n=M8(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function P8(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...N8((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:M8(n).failover}}function F8(e,t){return P8(e,t).failover?`On`:`Off`}function I8(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:k8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function L8(e,t){return P8(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function R8(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function z8(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function B8(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=z8(e);t&&n.add(t)}),[...n].sort()}function V8(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&z8(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function H8(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?`Provider Name + Model`:t===`provider_model_path`?`Provider Name + Model + Path`:t===`provider_path`?`Provider Name + Path`:t===`path`?`Path`:t===`provider`?`Provider Name`:`Global`}function U8(e){return String(e&&e.scope_display||`global`).trim()||`global`}function W8(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=U8(e);return n===`global`?`All models`:n}function G8(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function K8(e){if(G8(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function q8(e){let t=e||E8(),n=String(t.scope_provider||``).trim(),r=K8(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function J8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=K8(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function Y8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=K8(e&&e.scope_user_path),i=J8({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function X8(e,t){let n=t||D8(),r=R8(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=K8(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===K8(n.scope_user_path)}function Z8(e,t,n){let r=q8(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>X8(e,r))||null}function Q8(e){return String(e&&e.scope_type||``).trim()!==`global`}function $8(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function e5(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,R8(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function t5(e,t){let n=e||E8(),r=q8(n),i=M8(n.features||{}),a=N8(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?I8(n):[];return{id:T8,scope_type:J8(r),scope_display:Y8(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function n5({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||E8(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=K8(a.scope_user_path),l=M8(a.features||{}),u=N8(l,t),d=Z8(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=j8(f,`failover`),m=p?A8(f,`failover`,!0)!==!1:null,h=i||D8(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&K8(h.scope_user_path)===K8(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:k8(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function r5(e,{models:t=[],hydratedScope:n=null}={}){let r=n||D8(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!B8(t,r).includes(o)&&o!==i)return`Choose a registered provider name.`;if(s&&!o)return`Model selection requires a provider name.`;if(s){let e=V8(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return`Choose a registered model for the selected provider name.`}let c=G8(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return`Each guardrail step needs a guardrail ref.`;if(!Number.isInteger(e.step)||e.step<0)return`Each guardrail step must use a non-negative integer step number.`;if(d.has(e.ref))return`Each guardrail ref may appear only once in a workflow.`;d.add(e.ref)}return``}var i5=new class{#e=A(fn([]));get workflows(){return F(this.#e)}set workflows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get submitting(){return F(this.#o)}set submitting(e){j(this.#o,e,!0)}#s=A(``);get deactivatingID(){return F(this.#s)}set deactivatingID(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get formHydrated(){return F(this.#l)}set formHydrated(e){j(this.#l,e,!0)}#u=A(fn(D8()));get hydratedScope(){return F(this.#u)}set hydratedScope(e){j(this.#u,e,!0)}#d=A(fn([]));get guardrailRefs(){return F(this.#d)}set guardrailRefs(e){j(this.#d,e,!0)}#f=A(fn(E8()));get form(){return F(this.#f)}set form(e){j(this.#f,e,!0)}#p=null;failoverVisible(){return fL.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:fL.cacheVisible(),audit:fL.auditVisible(),usage:fL.usageVisible(),budget:fL.budgetsVisible(),guardrails:fL.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return e5(this.workflows,this.filter)}providerOptions(){return B8(UL.models,this.hydratedScope)}modelOptions(e){return V8(UL.models,e,this.hydratedScope)}activeScopeMatch(){return Z8(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?`Save`:`Create`}submittingLabel(){return this.submitMode()===`save`?`Saving...`:`Creating...`}preview(){return t5(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=D8(),this.form=E8();return}this.formHydrated=!0,this.hydratedScope={scope_provider:R8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?M8(e.workflow_payload.features):P8(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:k8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):I8(e);this.form={scope_provider:R8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=D8(),this.form=E8()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(O8(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return n5({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4);try{let t=await cL(`/admin/workflows`,{label:`workflows`,signal:e.signal});if(t.stale)return;if(t.status===503){this.available=!1,this.workflows=[];return}if(this.available=!0,!t.ok){this.workflows=[];return}this.workflows=Array.isArray(t.data)?t.data:[]}catch(t){if(uL(t)&&this.#p!==e)return;console.error(`Failed to fetch workflows:`,t),this.workflows=[],this.error=uL(t)?`Loading workflows timed out.`:`Unable to load workflows.`}finally{clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1)}}async fetchGuardrailRefs(){try{let e=await cL(`/admin/workflows/guardrails`,{label:`workflow guardrails`});if(e.stale)return;this.guardrailRefs=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch workflow guardrails:`,e),this.guardrailRefs=[]}}async fetchPage(){await Promise.all([fL.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=r5(e,{models:UL.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await lL(`/admin/workflows`,`POST`,e,{label:`create workflow`});if(t.stale||t.status===401)return;if(!t.ok){this.formError=iL(t,`Unable to create workflow.`),console.error(`Failed to create workflow:`,t.status,this.formError);return}q.success(`Workflow created and activated.`),this.closeForm(),this.fetchPage()}catch(e){console.error(`Failed to create workflow:`,e),this.formError=`Unable to create workflow.`}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!Q8(e))return;let n=W8(e);if(confirm(`Deactivate workflow "`+n+`"? Requests will fall back to the next active workflow for this scope.`)){this.deactivatingID=t;try{let e=await lL(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`});if(e.stale||e.status===401)return;if(!e.ok){let t=iL(e,`Unable to deactivate workflow.`);console.error(`Failed to deactivate workflow:`,e.status,t),q.error(t);return}q.success(`Workflow deactivated.`),this.fetchPage()}catch(e){console.error(`Failed to deactivate workflow:`,e),q.error(`Unable to deactivate workflow.`)}finally{this.deactivatingID=``}}}};function a5(e){let t=String(e??``),n=typeof navigator<`u`?navigator.clipboard:null;if(n&&typeof n.writeText==`function`)return n.writeText(t);let r=typeof document<`u`?document:null;if(!r||!r.body||typeof r.execCommand!=`function`)return Promise.reject(Error(`Clipboard API unavailable`));let i=r.createElement(`textarea`);i.value=t,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.top=`0`,i.style.left=`0`,i.style.opacity=`0`;try{if(r.body.appendChild(i),i.focus(),i.select(),i.setSelectionRange(0,i.value.length),!r.execCommand(`copy`))throw Error(`execCommand copy returned false`)}finally{i.parentNode&&i.parentNode.removeChild(i)}return Promise.resolve()}function o5({resetDelayMs:e=2e3,logPrefix:t}={}){let n=fn({copied:!1,error:!1}),r=null;function i(){r!==null&&clearTimeout(r),r=null}function a(){i(),r=setTimeout(()=>{n.copied=!1,n.error=!1,r=null},e)}return{get copied(){return n.copied},get error(){return n.error},reset(){i(),n.copied=!1,n.error=!1},async copy(e,r){if(!(e==null||e===``)){i(),n.copied=!1,n.error=!1;try{await a5(typeof r==`function`?r(e):String(e)),n.copied=!0,n.error=!1}catch(e){console.error(t||`Failed to copy text:`,e),n.copied=!1,n.error=!0}a()}}}}var s5=L(``);function c5(e,t){D(t,!0);let n=ma(t,`workflowID`,3,``),r=o5({logPrefix:`Failed to copy workflow ID:`});Nn(()=>{n(),r.reset()});let i=k(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=k(()=>n()?F(i)+` `+n():F(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=s5();let c;var l=N(M(s),4),u=M(l,!0);E(l);var d=N(l,2);G(M(d),{name:`copy`}),E(d),E(s),P(()=>{c=H(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),W(s,`title`,F(i)),W(s,`aria-label`,F(a)),z(u,n())}),I(`click`,s,o),R(e,s),O()}Ur([`click`]);var l5=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=kt(()=>_((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=p5(),l=M(c),u=e=>{var t=u5();let r;G(M(t),{get name(){return n()}}),E(t),P(()=>r=H(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":F(i)===`workflow-node-endpoint`})),R(e,t)};B(l,e=>{n()&&e(u)});var d=N(l,2),f=M(d,!0);E(d);var p=N(d,2),m=e=>{var t=d5(),n=M(t,!0);E(t),P(()=>z(n,s())),R(e,t)};B(p,e=>{s()&&e(m)});var h=N(p,2),g=e=>{var t=f5(),n=M(t,!0);E(t),P(()=>z(n,o())),R(e,t)};B(h,e=>{o()&&e(g)}),E(c),P(()=>{H(c,1,`workflow-node ${F(i)??``} ${(a()||``)??``}`,`svelte-nbptrg`),z(f,r())}),R(e,c)},u5=L(`
        `),d5=L(` `),f5=L(` `),p5=L(`
        `),m5=L(`
        `,1),h5=L(`
        `,1),g5=L(`
        `),_5=L(`
        Async
        `),v5=L(`
        `);function y5(e,t){D(t,!0);let n=ma(t,`chart`,19,()=>({}));var r=v5();let i;var a=M(r),o=e=>{c5(e,{get workflowID(){return n().workflowID}})};B(a,e=>{n().workflowID&&e(o)});var s=N(a,2),c=M(s);l5(c,()=>({icon:`user`,label:`Client`,variant:`workflow-node-endpoint`}));var l=N(c,4);l5(l,()=>({icon:`database`,label:`Auth`,state:n().authNodeClass,sub:n().authNodeSublabel}));var u=N(l,2),d=e=>{var t=m5(),r=Cn(t);l5(N(r,2),()=>({icon:`database`,label:`Cache`,state:n().cacheNodeClass,badge:n().cacheStatusLabel})),P(()=>H(r,1,`workflow-conn ${(n().cacheConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(u,e=>{n().showCache&&e(d)});var f=N(u,2),p=e=>{var t=h5();l5(N(Cn(t),2),()=>({icon:`wallet`,label:`Budget`,state:n().budgetNodeClass,badge:n().budgetStatusLabel})),R(e,t)};B(f,e=>{n().showBudget&&e(p)});var m=N(f,2),h=e=>{var t=h5();l5(N(Cn(t),2),()=>({icon:`shield`,label:`Guardrails`,sub:n().guardrailLabel})),R(e,t)};B(m,e=>{n().showGuardrails&&e(h)});var g=N(m,2),_=N(g,2);l5(_,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var v=N(_,2),y=e=>{var t=m5(),r=Cn(t);l5(N(r,2),()=>({icon:`maximize-2`,label:`Failover`,state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel})),P(()=>H(r,1,`workflow-conn ${(n().failoverConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(v,e=>{n().showFailover&&e(y)});var b=N(v,2);l5(N(b,2),()=>({icon:`circle-check-big`,label:`Response`,variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel})),E(s);var x=N(s,2),S=e=>{var t=_5(),r=M(t),i=M(r),a=e=>{l5(e,()=>({icon:`chart-column-increasing`,label:`Usage`,variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}))};B(i,e=>{n().showUsage&&e(a)});var o=N(i,2),s=e=>{R(e,g5())};B(o,e=>{n().showUsage&&n().showAudit&&e(s)});var c=N(o,2),l=e=>{l5(e,()=>({icon:`file-text`,label:`Audit Log`,variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}))};B(c,e=>{n().showAudit&&e(l)}),E(r),We(4),E(t),R(e,t)};B(x,e=>{n().showAsync&&e(S)}),E(r),P(()=>{i=H(r,1,`workflow-pipeline svelte-nbptrg`,null,i,{"workflow-pipeline-has-meta":n().workflowID}),H(g,1,`workflow-conn ${(n().aiConnClass||``)??``}`,`svelte-nbptrg`),H(b,1,`workflow-conn ${(n().responseConnClass||``)??``}`,`svelte-nbptrg`)}),R(e,r),O()}function b5(e){let t=I8(e).length;return t===0?``:t===1?`1 step`:t+` steps`}function x5(e,t){return t&&t.provider?t.provider:R8(e&&e.scope)||`AI`}function S5(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function C5(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function w5(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:M8(t)}function T5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function E5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return E5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=E5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:E5(e.error,t+1)):``}function D5(e){let t=e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{};return String(t.error_code||t.errorCode||``).trim()||E5(t.response_body)}function O5(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function k5(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=T5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=O5(n);if(i)return i;let a=R8(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function A5(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=T5(e),o=k5(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=String(e.error_type||``).trim().toLowerCase()===`authentication_error`,l=String(e.auth_method||``).trim().toLowerCase()||null,u=D5(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function j5(e){return!!(e&&e.cacheHit)}function M5(e){return!!(e&&e.failoverTarget)}function N5(e){return!!(e&&e.budgetExceeded)}function P5(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function F5(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function I5(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?`Hit (Semantic)`:`Hit (Exact)`}function L5(e,t,n,r){return e?N5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function R5(e){return N5(e)?`Exceeded`:null}function z5(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function B5(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function V5(e){return e&&e.failoverTarget?`Redirected`:null}function H5(e){return e&&e.failoverTarget?e.failoverTarget:null}function U5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function W5(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function G5(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function K5(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function q5(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function J5(e){return!e||!e.authMethod?null:e.authMethod}function Y5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function X5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function Z5(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function Q5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function $5(e,t){return!e||!e._live||X5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function e7(e,t,n){return!e||!e._live?``:Q5(e)?`usage`:$5(e,t)?`audit`:X5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function t7(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?M8(i.features):P8(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||N5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||M5(t),m=C5(e,i.entry),h=e7(i.entry,t,a),g=Q5(i.entry),_=$5(i.entry,t),v=X5(i.entry,s),y=Z5(i.entry,s);return{showBudget:c,budgetNodeClass:L5(c,t,s,h===`budget`),budgetStatusLabel:R5(t),showGuardrails:l,guardrailLabel:l?b5(e):``,showCache:!!i.forceCache||!!a.cache||j5(t),cacheNodeClass:P5(t,h===`cache`),cacheConnClass:F5(t),cacheStatusLabel:I5(t),showFailover:p,failoverNodeClass:p?z5(t):``,failoverConnClass:p?B5(t):``,failoverStatusLabel:p?V5(t):null,failoverTargetLabel:p?H5(t):null,aiLabel:x5(e,t),aiSublabel:S5(e,t),aiConnClass:U5(t),aiNodeClass:W5(t,h===`ai`),responseConnClass:U5(t),responseNodeClass:G5(t,h===`response`),responseNodeSublabel:K5(t),authNodeClass:q5(t,h===`auth`),authNodeSublabel:J5(t),usageNodeClass:Y5(u,y,g),auditNodeClass:Y5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function n7(e,t){return t7(e,null,{forceCache:!1},t)}function r7(e,t,n){return t7(t,A5(e,t),{entry:e,features:w5(e)||(t?P8(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var i7=L(`

        `),a7=L(`

        `),o7=L(`
        `),s7=L(`
        `),c7=L(`

        No guardrails configured for this workflow.

        `),l7=L(`

        Guardrails

        `),u7=L(``),d7=L(`

        `);function f7(e,t){D(t,!0);let n=ma(t,`preview`,3,!1),r=k(()=>i5.featureCaps()),i=k(()=>W8(t.workflow)),a=k(()=>L8(t.workflow,F(r))),o=k(()=>n7(t.workflow,F(r))),s=k(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=d7();let l;var u=M(c),d=M(u),f=M(d),p=M(f,!0);E(f);var m=N(f,2),h=M(m,!0);E(m),E(d);var g=N(d,2),_=M(g),v=M(_,!0);E(_),E(g),E(u);var y=N(u,2),b=e=>{var n=i7(),r=M(n,!0);E(n),P(()=>z(r,t.workflow.description)),R(e,n)};B(y,e=>{t.workflow.description&&e(b)});var x=N(y,2),S=e=>{var n=a7(),i=M(n);E(n),P(e=>z(i,`Failover: ${e??``}`),[()=>F8(t.workflow,F(r))]),R(e,n)},C=k(()=>i5.failoverVisible());B(x,e=>{F(C)&&e(S)});var w=N(x,2);y5(w,{get chart(){return F(o)}});var T=N(w,2),ee=e=>{var t=l7(),n=M(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var o=N(n,2),c=e=>{var t=s7();V(t,23,()=>F(a),(e,t)=>F(s)+t,(e,t)=>{var n=o7(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a);E(a),E(n),P(()=>{z(i,F(t).ref),z(o,`step ${F(t).step??``}`)}),R(e,n)}),E(t),R(e,t)},l=e=>{R(e,c7())};B(o,e=>{F(a).length>0?e(c):e(l,-1)}),E(t),P(()=>z(i,F(a).length?F(a).length+` steps`:`None`)),R(e,t)},te=k(()=>fL.guardrailsVisible());B(T,e=>{F(te)&&e(ee)});var ne=N(T,2),re=e=>{var n=u7(),r=M(n),a=M(r),o=M(a,!0);E(a);var s=N(a,2);{let e=k(()=>`Edit workflow `+F(i));D1(s,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>i5.openCreate(t.workflow),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(r);var c=N(r,2),l=M(c),u=M(l);E(l);var d=N(l,2),f=M(d);E(d);var p=N(d,2),m=M(p);E(p),E(c),E(n),P((e,n,r,s)=>{a.disabled=e,W(a,`aria-label`,`Deactivate workflow `+F(i)),W(a,`title`,n),z(o,i5.deactivatingID===t.workflow.id?`Deactivating...`:`Deactivate`),z(u,`version: v${t.workflow.version??``}`),z(f,`created: ${r??``}`),z(m,`hash: ${s??``}`)},[()=>i5.deactivatingID===t.workflow.id||!Q8(t.workflow),()=>Q8(t.workflow)?`Deactivate active workflow`:`The global workflow cannot be deactivated.`,()=>nL.formatTimestamp(t.workflow.created_at),()=>$8(t.workflow.workflow_hash)]),I(`click`,a,()=>i5.deactivate(t.workflow)),R(e,n)};B(ne,e=>{n()||e(re)}),E(c),P((e,t)=>{l=H(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),z(p,e),z(h,F(i)),z(v,t)},[()=>H8(t.workflow),()=>U8(t.workflow)]),R(e,c),O()}Ur([`click`]);var p7=L(`

        `),m7=L(``),h7=L(``),g7=L(`
        `),_7=L(``),v7=L(``),y7=L(``),b7=L(``),x7=L(``),S7=L(``),C7=L(`
        No named guardrails are currently registered on this deployment. You can still draft a workflow, but guardrail-backed creation may be rejected.
        `),w7=L(`
        `),T7=L(`
        `),E7=L(`

        No guardrail steps configured yet.

        `),D7=L(`

        Guardrail Steps

        Guardrails in the same numeric step run together. Later steps wait for earlier ones to finish.

        `),O7=L(``);function k7(e,t){D(t,!0);function n(){K.dialogOpen||i5.closeForm()}function r(e){e.preventDefault(),i5.submitForm()}bL(e,{get open(){return i5.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var i=O7(),a=M(i),o=M(a),s=M(o);bQ(M(s),{copyId:`workflow-help-copy`,label:`workflow help`,text:`Create immutable version. Submitting activates it for the selected scope.`,title:e=>{var t=p7(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>i5.submitMode()===`save`?`Edit Workflow`:`Create Workflow`]),R(e,t)},$$slots:{title:!0}}),E(s),vL(N(s,2),{label:`Close workflow editor`,onclick:n}),E(o);var c=N(o,2),l=e=>{var t=m7(),n=M(t,!0);E(t),P(()=>z(n,i5.formError)),R(e,t)};B(c,e=>{i5.formError&&e(l)});var u=N(c,2),d=M(u),f=N(M(d),2),p=M(f);p.value=p.__value=``,V(N(p),16,()=>i5.providerOptions(),e=>e,(e,t)=>{var n=h7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(f),E(d);var m=N(d,2),h=e=>{var t=g7(),n=N(M(t),2),r=M(n);r.value=r.__value=``,V(N(r),17,()=>i5.modelOptions(i5.form.scope_provider),e=>i5.form.scope_provider+`-`+e,(e,t)=>{var n=h7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t)),i!==(i=F(t))&&(n.value=(n.__value=F(t))??``)}),R(e,n)}),E(n),E(t),Vi(n,()=>i5.form.scope_model,e=>i5.form.scope_model=e),R(e,t)};B(m,e=>{i5.form.scope_provider&&e(h)});var g=N(m,2),_=N(M(g),2);U(_),E(g);var v=N(g,2),y=N(M(v),2);U(y),E(v),E(u);var b=N(u,8),x=N(M(b),2);pt(x),E(b);var S=N(b,2),C=M(S),w=e=>{var t=_7(),n=M(t);U(n),We(2),E(t),sa(n,()=>i5.form.features.cache,e=>i5.form.features.cache=e),R(e,t)},T=k(()=>fL.cacheVisible());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{var t=v7(),n=M(t);U(n),We(2),E(t),sa(n,()=>i5.form.features.audit,e=>i5.form.features.audit=e),R(e,t)},ne=k(()=>fL.auditVisible());B(ee,e=>{F(ne)&&e(te)});var re=N(ee,2),ie=e=>{var t=y7(),n=M(t);U(n),We(2),E(t),sa(n,()=>i5.form.features.usage,e=>i5.form.features.usage=e),R(e,t)},ae=k(()=>fL.usageVisible());B(re,e=>{F(ae)&&e(ie)});var oe=N(re,2),se=e=>{var t=b7(),n=M(t);U(n),We(2),E(t),sa(n,()=>i5.form.features.budget,e=>i5.form.features.budget=e),R(e,t)},ce=k(()=>fL.budgetsVisible());B(oe,e=>{F(ce)&&e(se)});var le=N(oe,2),ue=e=>{var t=x7(),n=M(t);U(n),We(2),E(t),sa(n,()=>i5.form.features.guardrails,e=>i5.form.features.guardrails=e),R(e,t)},de=k(()=>fL.guardrailsVisible());B(le,e=>{F(de)&&e(ue)});var fe=N(le,2),pe=e=>{var t=S7(),n=M(t);U(n),We(2),E(t),sa(n,()=>i5.form.features.failover,e=>i5.form.features.failover=e),R(e,t)},me=k(()=>i5.failoverVisible());B(fe,e=>{F(me)&&e(pe)}),E(S);var he=N(S,2),ge=N(M(he),2);{let e=k(()=>i5.preview());f7(ge,{get workflow(){return F(e)},preview:!0})}E(he);var _e=N(he,2),ve=e=>{var t=D7(),n=M(t),r=N(M(n),2);E(n);var i=N(n,2),a=e=>{var t=C7(),n=N(M(t),2);E(t),I(`click`,n,()=>WI.navigate(`guardrails`)),R(e,t)};B(i,e=>{i5.guardrailRefs.length===0&&e(a)});var o=N(i,2),s=e=>{var t=T7();V(t,21,()=>i5.form.guardrails,oi,(e,t,n)=>{var r=w7(),i=M(r),a=M(i);W(a,`for`,`workflow-guardrail-ref-`+n);var o=N(a,2);U(o),W(o,`id`,`workflow-guardrail-ref-`+n),W(o,`aria-label`,`Guardrail reference `+(n+1)),E(i);var s=N(i,2),c=M(s);W(c,`for`,`workflow-guardrail-step-`+n);var l=N(c,2);U(l),W(l,`id`,`workflow-guardrail-step-`+n),W(l,`aria-label`,`Guardrail step `+(n+1)),E(s);var u=N(s,2);E(r),oa(o,()=>F(t).ref,e=>F(t).ref=e),oa(l,()=>F(t).step,e=>F(t).step=e),I(`click`,u,()=>i5.removeGuardrailStep(n)),R(e,r)}),E(t),R(e,t)},c=e=>{R(e,E7())};B(o,e=>{i5.form.guardrails.length>0?e(s):e(c,-1)}),E(t),I(`click`,r,()=>i5.addGuardrailStep()),R(e,t)},ye=k(()=>i5.form.features.guardrails&&fL.guardrailsVisible());B(_e,e=>{F(ye)&&e(ve)});var be=N(_e,2),xe=M(be),Se=N(xe,2),Ce=M(Se),we=e=>{G(e,{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`})},Te=k(()=>i5.submitMode()===`create`),Ee=e=>{G(e,{name:`save`,class:`form-action-icon`,"aria-hidden":`true`})};B(Ce,e=>{F(Te)?e(we):e(Ee,-1)});var De=N(Ce,2),Oe=M(De,!0);E(De),E(Se),E(be),E(a),E(i),P(e=>{Se.disabled=i5.submitting,z(Oe,e)},[()=>i5.submitting?i5.submittingLabel():i5.submitLabel()]),Hr(`submit`,a,r),I(`change`,f,e=>i5.setProvider(e.currentTarget.value)),Vi(f,()=>i5.form.scope_provider,e=>i5.form.scope_provider=e),oa(_,()=>i5.form.name,e=>i5.form.name=e),oa(y,()=>i5.form.scope_user_path,e=>i5.form.scope_user_path=e),oa(x,()=>i5.form.description,e=>i5.form.description=e),I(`click`,xe,n),R(e,i)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var A7=L(`

        Loading workflows...

        `),j7=L(`
        `),M7=L(`

        No active workflows found.

        `),N7=L(`

        No workflows match your filter.

        `),P7=L(`
        `);function F7(e,t){D(t,!0);var n=P7(),r=M(n),i=e=>{var t=A7();GZ(M(t),{size:16,label:`Loading workflows`}),We(),E(t),R(e,t)};B(r,e=>{i5.loading&&!K.authError&&e(i)});var a=N(r,2),o=e=>{var t=j7();V(t,21,()=>i5.filteredWorkflows,e=>e.id,(e,t)=>{f7(e,{get workflow(){return F(t)}})}),E(t),R(e,t)};B(a,e=>{i5.filteredWorkflows.length>0&&e(o)});var s=N(a,2),c=e=>{R(e,M7())};B(s,e=>{i5.workflows.length===0&&!i5.loading&&!K.authError&&i5.available&&e(c)});var l=N(s,2),u=e=>{R(e,N7())};B(l,e=>{i5.workflows.length>0&&i5.filteredWorkflows.length===0&&!i5.loading&&e(u)}),E(n),R(e,n),O()}var I7=L(``),L7=L(`
        Workflows feature is unavailable.
        `),R7=L(`
        `),z7=L(`
        `),B7=L(``),V7=L(`
        `);function H7(e,t){D(t,!0),Nn(()=>{K.refreshTick,i5.fetchPage()});var n=V7(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=I7();G(M(t),{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`}),We(2),E(t),I(`click`,t,()=>i5.openCreate()),R(e,t)};B(a,e=>{i5.available&&e(o)}),E(i),E(r);var s=N(r,2),c=e=>{R(e,L7())};B(s,e=>{!i5.available&&!K.authError&&e(c)});var l=N(s,2),u=e=>{var t=R7(),n=M(t,!0);E(t),P(()=>z(n,i5.error)),R(e,t)};B(l,e=>{i5.error&&!K.authError&&e(u)});var d=N(l,2),f=e=>{var t=z7(),n=M(t);j$(M(n),{placeholder:`Filter by scope, name, hash, or guardrail...`,label:`Filter workflows by scope, name, hash, or guardrail`,get value(){return i5.filter},set value(e){i5.filter=e}}),E(n);var r=N(n,2),i=M(r),a=M(i,!0);E(i),E(r),E(t),P(()=>z(a,i5.filteredWorkflows.length+` active scopes`)),R(e,t)};B(d,e=>{i5.available&&e(f)});var p=N(d,2);k7(p,{});var m=N(p,2);F7(m,{});var h=N(m,2);V(h,20,()=>i5.guardrailRefs,e=>e,(e,t)=>{var n=B7(),r={};P(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(h),E(n),R(e,n),O()}Ur([`click`]);var U7=new class{#e=A(fn({}));get workflowVersionsByID(){return F(this.#e)}set workflowVersionsByID(e){j(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:fL.cacheVisible(),audit:fL.auditVisible(),usage:fL.usageVisible(),budget:fL.budgetsVisible(),guardrails:fL.guardrailsVisible(),failover:fL.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await cL(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}};function W7(e){try{return JSON.parse(e)}catch{return null}}function G7(e,t){let n=String(e||``).trim();if(!n)return``;if(t>6)return n;let r=W7(n);return r==null?n:K7(r,t+1)||n}function mte(e){return e==null?``:typeof e==`string`?G7(e,0):K7(e,0)}function K7(e,t){if(e==null||t>6)return``;if(typeof e==`string`){let n=W7(e.trim());return n==null?``:K7(n,t+1)}if(Array.isArray(e)){for(let n=0;n=400||gte(t&&t.response_body)}function vte(e){let t=e&&e.data?e.data:null;return t?mte(t.error_message)||(_te(e,t)?K7(t.response_body,0):``):``}function q7(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function yte(e){let t=q7(e);return t===null?``:t===0?`Audit logs are retained indefinitely.`:t===1?`Audit logs are retained for 1 day.`:`Audit logs are retained for `+t+` days.`}function bte(e){let t=q7(e);return t===null?``:t===0?`Audit logs are retained `:`Audit logs are retained for `}function xte(e){let t=q7(e);return t===null?``:t===0?`indefinitely`:t===1?`1 day`:t+` days`}function Ste({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o}){let s=e;return s+=`&limit=`+t+`&offset=`+n,r&&(s+=`&search=`+encodeURIComponent(r)),i&&(s+=`&method=`+encodeURIComponent(i)),a&&(s+=`&status_code=`+encodeURIComponent(a)),o&&(s+=`&stream=`+encodeURIComponent(o)),s}function J7(e){return String(e&&e.id||``).trim()}function Y7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function Cte(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function wte(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function Tte(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&wte(t)}function Ete(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!Tte(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>Cte(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>Y7(e))),s=[];return a.forEach(e=>{let t=Y7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function Dte(e,t){let n=J7(t),r=e||{};return!n||r[n]?r:{...r,[n]:!0}}function Ote(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>J7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function kte(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function X7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function Z7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function Q7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function $7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function e9(e){let t=$7(e);return t.length>1||t.some(e=>!(e&&e.success))}function Ate(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function t9(e){return String(e&&e.kind||``).trim()||`attempt`}function jte(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function Mte(e){return String(e&&e.model||``).trim()||`-`}function n9(e){let t=$7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function Nte(e){return n9(e).length>0}function Pte(e){return $7(e).length+`×`}function r9(e){let t=$7(e),n=t.filter(e=>!(e&&e.success)).length,r=t.length===1?`attempt`:`attempts`,i=t.length+` provider `+r;return n>0?i+` · `+n+` failed`:i}function Fte(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=t9(e);n&&n!==`attempt`&&t.push(n),t.push(Ate(e));let r=jte(e);r&&r!==`-`&&t.push(r);let i=Mte(e);return i&&i!==`-`&&t.push(i),t.push(e.success?`succeeded`:`failed`),t.join(` · `)}function Ite(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function Lte(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||`Provider attempt failed`}function Rte(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function zte(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function Bte(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=Ite(e,t),a=Rte(e,t),o=Lte(t),s=i!=null&&i!==``,c=t9(t),l=$7(e).length<=1;return{title:`Response`,direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:zte(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:`No response was captured for this attempt.`,showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function i9(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function Vte(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function Hte(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=i9(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:`Rewritten`,direction:`request`,seq:i?0:Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:Vte(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:`What changed`,showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:`Rewritten body not captured (body logging disabled or body too large).`}}function a9(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function Ute(e){let t=a9(e);return Number(t&&t.cached_input_tokens||0)>0}function Wte(e){let t=a9(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function Gte(e){let t=a9(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?qL(r)+` cached`:Wte(e).toFixed(1)+`% cached`}function Kte(e){return Ute(e)?Gte(e):``}function qte(e,t){let n=a9(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function o9(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Jte(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&Z7(e);return{title:`Request`,direction:`request`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:Kte(e),promptCacheHighlight:qte(e,t),showEmpty:r&&!i,emptyMessage:`Request details were not captured.`,showPending:i,pendingMessage:`Waiting for request data…`,showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:`Request body was too large to capture.`}}function Yte(e){let t=e&&e.data?e.data:null,n=vte(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&Z7(e);return{title:`Response`,direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&Z7(e),showEmpty:r&&!i,emptyMessage:`Response details were not captured.`,showPending:i,pendingMessage:`Response in progress…`,showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function s9(e,t){let n=[{id:`request`,pane:Jte(e,t)}];return i9(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:Hte(e,t)})}),e9(e)?$7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:Bte(e,t)})}):n.push({id:`response`,pane:Yte(e)}),n}function Xte(e){if(!e9(e))return`response`;let t=$7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function Zte(e,t){return e&&s9(t).some(t=>t.id===e)?e:Xte(t)}function Qte(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}function c9(){return{entries:[],total:0,limit:25,offset:0}}var l9=new class{#e=A(fn({}));get auditExpandedEntries(){return F(this.#e)}set auditExpandedEntries(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}auditFetchToken=0;get auditLog(){return qQ.auditLog}set auditLog(e){qQ.auditLog=e}get auditSearch(){return qQ.auditSearch}set auditSearch(e){qQ.auditSearch=e}get auditMethod(){return qQ.auditMethod}set auditMethod(e){qQ.auditMethod=e}get auditStatusCode(){return qQ.auditStatusCode}set auditStatusCode(e){qQ.auditStatusCode=e}get auditStream(){return qQ.auditStream}set auditStream(e){qQ.auditStream=e}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,customStartDate:cR.customStartDate,customEndDate:cR.customEndDate}}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=await cL(`/admin/audit/log?`+Ste({dateQuery:cR.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream}),{label:`audit log`});if(n.stale||t!==this.auditFetchToken)return;if(!n.ok){this.auditLog=c9();return}let r=Ete(n.data,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(r.entries)||(r.entries=[]),this.auditLog=r,this.auditExpandedEntries=Ote(this.auditExpandedEntries,r.entries);try{await U7.prefetchAuditWorkflows(this.auditLog.entries)}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=c9()}finally{t===this.auditFetchToken&&(this.loading=!1)}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=J7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}markAuditEntryExpanded(e){this.auditExpandedEntries=Dte(this.auditExpandedEntries,e)}};qQ.fetchAuditLog=e=>l9.fetchAuditLog(e),qQ.isAuditEntryExpanded=e=>l9.isAuditEntryExpanded(e);var $te=L(`
        `);function ene(e,t){D(t,!0);let n=M$(()=>l9.fetchAuditLog(!0));Nn(()=>n.cancel);var r=$te(),i=M(r);j$(M(i),{id:`audit-filter-search`,placeholder:`Search by request ID, model, provider, path, user path, or error...`,label:`Search by request ID, model, provider, path, user path, or error`,get oninput(){return n},get value(){return l9.auditSearch},set value(e){l9.auditSearch=e}}),E(i);var a=N(i,2),o=M(a),s=M(o);s.value=s.__value=``;var c=N(s);c.value=c.__value=`GET`;var l=N(c);l.value=l.__value=`POST`;var u=N(l);u.value=u.__value=`PUT`;var d=N(u);d.value=d.__value=`PATCH`;var f=N(d);f.value=f.__value=`DELETE`,E(o);var p=N(o,2),m=M(p);m.value=m.__value=``;var h=N(m);h.value=h.__value=`200`;var g=N(h);g.value=g.__value=`201`;var _=N(g);_.value=_.__value=`400`;var v=N(_);v.value=v.__value=`401`;var y=N(v);y.value=y.__value=`403`;var b=N(y);b.value=b.__value=`404`;var x=N(b);x.value=x.__value=`429`;var S=N(x);S.value=S.__value=`500`;var C=N(S);C.value=C.__value=`502`;var w=N(C);w.value=w.__value=`503`;var T=N(w);T.value=T.__value=`504`,E(p);var ee=N(p,2),te=M(ee);te.value=te.__value=``;var ne=N(te);ne.value=ne.__value=`true`;var re=N(ne);re.value=re.__value=`false`,E(ee);var ie=N(ee,2);G(M(ie),{name:`x`,class:`table-icon-svg`}),We(2),E(ie),E(a),E(r),I(`change`,o,()=>l9.fetchAuditLog(!0)),Vi(o,()=>l9.auditMethod,e=>l9.auditMethod=e),I(`change`,p,()=>l9.fetchAuditLog(!0)),Vi(p,()=>l9.auditStatusCode,e=>l9.auditStatusCode=e),I(`change`,ee,()=>l9.fetchAuditLog(!0)),Vi(ee,()=>l9.auditStream,e=>l9.auditStream=e),I(`click`,ie,()=>l9.clearAuditFilters()),R(e,r),O()}Ur([`change`,`click`]);var tne=L(` `),nne=L(``);function rne(e,t){D(t,!0);let n=k(()=>[{key:`provider`,text:rR(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+oR(t.entry),mono:!0},{key:`failover`,text:Q7(t.entry)&&`failover: `+Q7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=nne(),i=N(M(r),2);V(i,21,()=>F(n),e=>e.key,(e,t)=>{var n=tne();let r;var i=M(n,!0);E(n),P(()=>{r=H(n,1,`provider-badge ${(F(t).class||``)??``}`,`svelte-hyopt0`,r,{mono:F(t).mono}),z(i,F(t).text)}),R(e,n)}),E(i),E(r),R(e,r),O()}var ine=new Set([`instructions`,`messages`,`input`,`previous_response_id`,`choices`,`output`]);function u9(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:``).filter(Boolean).join(` +`).trim();if(typeof e==`object`){if(typeof e.text==`string`)return e.text.trim();try{return JSON.stringify(e,null,2)}catch{return``}}return String(e).trim()}function d9(e){if(e==null)return[];if(typeof e==`string`)return e?[e]:[];if(Array.isArray(e))return e.flatMap(e=>typeof e==`string`?e?[e]:[]:!e||typeof e!=`object`?[]:typeof e.text==`string`?e.text?[e.text]:[]:typeof e.output_text==`string`&&e.output_text?[e.output_text]:[]);if(typeof e==`object`)return typeof e.text==`string`&&e.text?[e.text]:[];let t=String(e);return t?[t]:[]}function ane(e){if(e==null)return[];if(typeof e==`string`){let t=e.trim();return t?[{role:`user`,text:t}]:[]}if(!Array.isArray(e)){let t=u9(e);return t?[{role:`user`,text:t}]:[]}return e.map(e=>{if(!e||typeof e!=`object`)return null;let t=String(e.role||`user`).toLowerCase(),n=u9(e.content);return n?{role:t,text:n}:null}).filter(Boolean)}function one(e){return!e||typeof e!=`object`?``:Array.isArray(e.content)?e.content.map(e=>e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` +`).trim():u9(e.content)}function sne(e){if(!e||typeof e!=`object`)return[];let t=[];return t.push(...d9(e.instructions)),Array.isArray(e.messages)&&e.messages.forEach(e=>{!e||typeof e!=`object`||t.push(...d9(e.content))}),typeof e.input==`string`?t.push(e.input):Array.isArray(e.input)?e.input.forEach(e=>{!e||typeof e!=`object`||(t.push(...d9(e.content)),typeof e.text==`string`&&t.push(e.text))}):e.input&&typeof e.input==`object`&&(t.push(...d9(e.input.content)),typeof e.input.text==`string`&&t.push(e.input.text)),t.map(e=>String(e||``)).filter(e=>e.length>0)}function f9(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function p9(e,t){let n=String(e||``).trim();if(!n)return``;if(t>=4)return n;let r=f9(n);return!r||typeof r!=`object`?n:m9(r,t+1)||u9(r)||n}function m9(e,t=0){let n=new Set,r=[e];for(;r.length>0;){let e=r.shift();if(!e||typeof e!=`object`||n.has(e))continue;if(n.add(e),Array.isArray(e)){for(let t=0;t!e||typeof e!=`object`?!1:e.type===`message`||e.role===`assistant`||e.role===`user`||e.role===`system`?!0:Array.isArray(e.content)?e.content.some(e=>!e||typeof e!=`object`?!1:typeof e.text==`string`||e.type===`output_text`||e.type===`input_text`):!1):!1}function une(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/embeddings`||t===`/v1/embeddings/`||t.startsWith(`/v1/embeddings?`)||t.startsWith(`/v1/embeddings/`)}function dne(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/chat/completions`||t===`/v1/chat/completions/`||t.startsWith(`/v1/chat/completions?`)||t.startsWith(`/v1/chat/completions/`)||t===`/v1/responses`||t===`/v1/responses/`||t.startsWith(`/v1/responses?`)||t.startsWith(`/v1/responses/`)}function fne(e){let t=e&&e.data?e.data.request_body:null,n=e&&e.data?e.data.response_body:null,r=t&&(Array.isArray(t.messages)||t.input!==void 0||typeof t.instructions==`string`||typeof t.previous_response_id==`string`),i=n&&(Array.isArray(n.choices)||lne(n.output));return!!(r||i)}function pne(e){return!e||une(e.path)?!1:dne(e.path)||fne(e)}function h9(e){let t=0,n=!1,r=!1,i=String(e||``);for(let e=0;e0&&a+1`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function gne(e){return!!(e&&typeof e==`object`&&e.__audio__===!0)}function _ne(e){let t=Number(e||0);if(!Number.isFinite(t)||t<=0)return`0 B`;let n=[`B`,`KB`,`MB`,`GB`],r=0,i=t;for(;i>=1024&&r`
        `+g9(t)+``+g9(yne(e[t]))+`
        `);return t.length?``:``}function xne(e){let t=vne(e.content_type),n=g9(t+` · `+_ne(e.bytes)),r=bne(e.meta);if(e.stored&&e.encoding===`base64`&&e.data){let i=String(e.data).replace(/[^A-Za-z0-9+/=]/g,``);return`
        `+n+`
        `+r+`
        `}let i=e.too_large?`Audio too large to store.`:`Audio not logged. Set LOGGING_LOG_AUDIO_BODIES=true to capture playable audio.`;return`
        `+n+`
        `+g9(i)+`
        `+r+`
        `}function _9(e){try{return JSON.stringify(String(e)).slice(1,-1)}catch{return``}}function Sne(e){if(!e||typeof e!=`object`)return null;let t=Number(e.characters||0);if(!Number.isFinite(t)||t<=0)return null;let n=Array.isArray(e.segments)?e.segments.map(e=>String(e||``)).filter(Boolean):[];return n.length===0?null:{remaining:Math.floor(t),segments:n,segmentIndex:0}}function v9(e,t){if(!t||t.remaining<=0||t.segmentIndex>=t.segments.length)return g9(e);let n=``,r=0,i=0;for(;t.remaining>0&&t.segmentIndex`+g9(l)+``,r=s+l.length,i=s+o.length,t.remaining-=c,c>=a.length){t.segmentIndex++;continue}break}return n?n+g9(e.slice(r)):g9(e)}function Cne(e,t,n){let r=n&&typeof n.formatJSON==`function`?n.formatJSON:e=>String(e),i=n&&typeof n.canShowConversation==`function`?n.canShowConversation:()=>!1,a=Sne(n&&n.promptCacheHighlight),o=r(t);if(!o||o===`Not captured`)return g9(o);if(!i(e))return o.split(` +`).map(e=>v9(e,a)).join(` +`);let s=o.split(` +`),c=[],l=0;for(;lv9(e,a)).join(` +`);c.push(``+o+``),l=r+1;continue}c.push(v9(e,a)),l++}return c.join(` +`)}function wne(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Tne(e){let t=String(e||``).toLowerCase();return t===`system`||t===`developer`?{role:`system`,label:`System Prompt`,className:`role-system`}:t===`assistant`?{role:`assistant`,label:`Agent`,className:`role-assistant`}:t===`error`?{role:`error`,label:`Error`,className:`role-error`}:t===`function_call`?{role:`function_call`,label:`Function Call`,className:`role-function-call`}:t===`function_result`?{role:`function_result`,label:`Function Result`,className:`role-function-result`}:{role:`user`,label:`User`,className:`role-user`}}function y9(e,t,n,r,i,a,o,s){let c=Tne(e);return{uid:r+`-`+a,entryID:r,timestamp:n,text:t,role:c.role,roleLabel:c.label,roleClass:c.className,isAnchor:i,toolCalls:Array.isArray(o)&&o.length>0?o:null,functionName:s||``}}function b9(e){return Array.isArray(e)?e.map(e=>{if(!e)return null;let t=e.function||e;return{name:t.name||e.name||``,arguments:t.arguments||e.arguments||``}}).filter(Boolean):[]}function Ene(e,t,n){if(t&&Array.isArray(t.messages)&&t.messages.forEach(t=>{!t||!Array.isArray(t.tool_calls)||t.tool_calls.forEach(t=>{if(!t)return;let n=t.id||``,r=(t.function||t).name||t.name||``;n&&r&&(e[n]=r)})}),t&&Array.isArray(t.input)&&t.input.forEach(t=>{if(!t||typeof t!=`object`||t.type!==`function_call`)return;let n=t.id||t.call_id||``,r=t.name||``;n&&r&&(e[n]=r)}),n&&Array.isArray(n.choices)){let t=n.choices[0];t&&t.message&&Array.isArray(t.message.tool_calls)&&t.message.tool_calls.forEach(t=>{if(!t)return;let n=t.id||``,r=(t.function||t).name||t.name||``;n&&r&&(e[n]=r)})}n&&Array.isArray(n.output)&&n.output.forEach(t=>{if(!t||t.type!==`function_call`)return;let n=t.id||t.call_id||``,r=t.name||``;n&&r&&(e[n]=r)})}function Dne(e,t){if(!Array.isArray(e)||e.length===0)return[];let n=[...e].sort((e,t)=>new Date(e.timestamp)-new Date(t.timestamp)),r={};n.forEach(e=>{let t=e.data&&e.data.request_body?e.data.request_body:null,n=e.data&&e.data.response_body?e.data.response_body:null;Ene(r,t,n)});let i=[],a=0;return n.forEach(e=>{let n=e.id===t,o=e.timestamp,s=e.data&&e.data.request_body?e.data.request_body:null,c=e.data&&e.data.response_body?e.data.response_body:null;if(s&&typeof s.instructions==`string`&&s.instructions.trim()&&i.push(y9(`system`,s.instructions,o,e.id,n,++a)),s&&Array.isArray(s.messages)&&s.messages.forEach(t=>{if(!t)return;let s=(t.role||`user`).toLowerCase();if(s===`tool`){let s=u9(t.content),c=t.name||r[t.tool_call_id]||``;s&&i.push(y9(`function_result`,s,o,e.id,n,++a,[],c));return}if(s===`assistant`){let r=u9(t.content),c=b9(t.tool_calls);(r||c.length>0)&&i.push(y9(s,r,o,e.id,n,++a,c));return}let c=u9(t.content);c&&i.push(y9(s,c,o,e.id,n,++a))}),s&&s.input!==void 0&&(Array.isArray(s.input)?s.input.forEach(t=>{if(!(!t||typeof t!=`object`)){if(t.type===`function_call_output`){let s=typeof t.output==`string`?t.output:u9(t.output);s&&i.push(y9(`function_result`,s,o,e.id,n,++a,[],r[t.call_id]||``))}else if(t.type===`function_call`)i.push(y9(`function_call`,``,o,e.id,n,++a,[{name:t.name||``,arguments:t.arguments||``}]));else if(t.role){let r=String(t.role).toLowerCase(),s=u9(t.content);s&&i.push(y9(r,s,o,e.id,n,++a))}}}):ane(s.input).forEach(t=>{t.text&&i.push(y9(t.role,t.text,o,e.id,n,++a))})),c&&Array.isArray(c.choices)){let t=c.choices[0];if(t&&t.message){let r=(t.message.role||`assistant`).toLowerCase(),s=u9(t.message.content),c=b9(t.message.tool_calls);(s||c.length>0)&&i.push(y9(r,s,o,e.id,n,++a,c))}}c&&Array.isArray(c.output)&&c.output.forEach(t=>{if(!t)return;if(t.type===`function_call`){i.push(y9(`function_call`,``,o,e.id,n,++a,[{name:t.name||``,arguments:t.arguments||``}]));return}let r=(t.role||`assistant`).toLowerCase(),s=one(t);s&&i.push(y9(r,s,o,e.id,n,++a))});let l=cne(e);l&&i.push(y9(`error`,l,o,e.id,n,++a))}),i}function One(e){return e.role===`function_call`?(e.toolCalls||[]).map(function(e){let t=e.arguments||``;try{t=JSON.stringify(JSON.parse(t),null,2)}catch{}return e.name+`(`+t+`)`}).join(` + +`):e.text||``}var x9=new class{#e=A(!1);get conversationOpen(){return F(this.#e)}set conversationOpen(e){j(this.#e,e,!0)}#t=A(!1);get conversationLoading(){return F(this.#t)}set conversationLoading(e){j(this.#t,e,!0)}#n=A(``);get conversationError(){return F(this.#n)}set conversationError(e){j(this.#n,e,!0)}#r=A(``);get conversationAnchorID(){return F(this.#r)}set conversationAnchorID(e){j(this.#r,e,!0)}#i=A(fn([]));get conversationEntries(){return F(this.#i)}set conversationEntries(e){j(this.#i,e,!0)}#a=A(fn([]));get conversationMessages(){return F(this.#a)}set conversationMessages(e){j(this.#a,e,!0)}#o=A(``);get conversationLiveEntryId(){return F(this.#o)}set conversationLiveEntryId(e){j(this.#o,e,!0)}conversationRequestToken=0;conversationReturnFocusEl=null;bodyPointerStart=null;conversationDialogEl=null;conversationCloseBtnEl=null;canShowConversation(e){return pne(e)}startBodyInteraction(e){this.bodyPointerStart={x:e.clientX,y:e.clientY}}_isBodyDrag(e){if(!this.bodyPointerStart)return!1;let t=Math.abs(e.clientX-this.bodyPointerStart.x),n=Math.abs(e.clientY-this.bodyPointerStart.y);return t>4||n>4}_hasActiveSelection(){let e=window.getSelection?window.getSelection():null;return!e||e.isCollapsed?!1:String(e.toString()||``).trim().length>0}handleBodyConversationClick(e,t){let n=this._isBodyDrag(e);if(this.bodyPointerStart=null,n||this._hasActiveSelection()||!this.canShowConversation(t))return;let r=e.target&&e.target.closest?e.target.closest(`[data-conversation-trigger="1"]`):null;r&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,null,!1,r))}handleErrorConversationClick(e,t){let n=this._isBodyDrag(e);this.bodyPointerStart=null,!n&&(this._hasActiveSelection()||this.canShowConversation(t)&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,null,!1,e.currentTarget)))}formatJSON(e){return wne(e)}renderBodyWithConversationHighlights(e,t,n){return Cne(e,t,{formatJSON:e=>this.formatJSON(e),canShowConversation:e=>this.canShowConversation(e),promptCacheHighlight:n&&n.promptCacheHighlight})}async openConversation(e,t,n,r){if(!e||!e.id||!this.canShowConversation(e))return;n&&t&&!t.open&&(t.open=!0);let i=document.activeElement instanceof HTMLElement?document.activeElement:null;r instanceof HTMLElement?this.conversationReturnFocusEl=r:i&&i!==document.body&&(this.conversationReturnFocusEl=i);let a=++this.conversationRequestToken;if(this.conversationOpen=!0,this.conversationError=``,this.conversationAnchorID=e.id,this.conversationEntries=[],this.conversationMessages=[],document.body.classList.add(`conversation-drawer-open`),requestAnimationFrame(()=>this._focusConversationDrawer()),this._conversationEntryLivePending(e)){this.conversationLiveEntryId=String(e.id).trim(),this.conversationLoading=!1,this.applyLiveConversationEntry(e);return}this.conversationLiveEntryId=``,this.conversationLoading=!0,await this.fetchConversation(e.id,a)}_conversationEntryLivePending(e){return typeof qQ.auditEntryLiveDetailPending==`function`&&qQ.auditEntryLiveDetailPending(e)}applyLiveConversationEntry(e){this.conversationEntries=[e],this.conversationMessages=this.buildConversationMessages([e],e.id)}refreshLiveConversation(e){if(!this.conversationOpen||!this.conversationLiveEntryId||!e||String(e.id||``).trim()!==this.conversationLiveEntryId)return;let t=String(e._live_state||``).trim();if(t===`audit.flushed`||t===`audit.detail`){this.conversationLiveEntryId=``;let t=++this.conversationRequestToken;this.fetchConversation(e.id,t);return}this.applyLiveConversationEntry(e)}conversationLiveWaiting(){if(!this.conversationOpen||!this.conversationLiveEntryId)return!1;let e=(this.conversationEntries||[])[0];return!e||typeof qQ.liveAuditStateSettled!=`function`||!qQ.liveAuditStateSettled(e._live_state)}conversationLiveStatusText(){return(this.conversationMessages||[]).length>0?`Model is responding…`:`Waiting for request data…`}closeConversation(){this.conversationOpen=!1,this.conversationRequestToken++,this.conversationLiveEntryId=``,document.body.classList.remove(`conversation-drawer-open`);let e=this.conversationReturnFocusEl;this.conversationReturnFocusEl=null,e&&typeof e.focus==`function`&&document.contains(e)&&requestAnimationFrame(()=>e.focus())}_focusConversationDrawer(){if(!this.conversationOpen)return;let e=this.conversationCloseBtnEl;if(e&&typeof e.focus==`function`){e.focus();return}let t=this.conversationDialogEl;t&&typeof t.focus==`function`&&t.focus()}async fetchConversation(e,t){try{let n=await cL(`/admin/audit/conversation?`+(`log_id=`+encodeURIComponent(e)+`&limit=120`),{label:`audit conversation`});if(t!==this.conversationRequestToken||n.stale)return;if(!n.ok){this.conversationError=`Unable to load interactions.`,this.conversationEntries=[],this.conversationMessages=[];return}let r=n.data||{};this.conversationAnchorID=r.anchor_id||e,this.conversationEntries=Array.isArray(r.entries)?r.entries:[],this.conversationMessages=this.buildConversationMessages(this.conversationEntries,this.conversationAnchorID)}catch(e){if(t!==this.conversationRequestToken)return;console.error(`Failed to fetch audit conversation:`,e),this.conversationError=`Failed to load interactions.`,this.conversationEntries=[],this.conversationMessages=[]}finally{t===this.conversationRequestToken&&(this.conversationLoading=!1)}}buildConversationMessages(e,t){return Dne(e,t)}functionExpandedContent(e){return One(e)}};qQ.refreshLiveConversation=e=>x9.refreshLiveConversation(e);var kne=L(` `),Ane=L(``),jne=L(` `),Mne=L(``),Nne=L(`
        `);function Pne(e,t){D(t,!0);function n(e){e.stopPropagation(),e.preventDefault(),x9.openConversation(t.entry,e.currentTarget.closest(`details`),!0,e.currentTarget)}var r=Nne();let i;var a=M(r),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=M(c,!0);E(c);var u=N(c,2),d=e=>{var n=kne(),r=M(n,!0);E(n),P(e=>z(r,e),[()=>sR(t.entry)]),R(e,n)};B(u,e=>{(t.entry.requested_model||t.entry.model)&&e(d)});var f=N(u,2),p=M(f,!0);E(f),E(a);var m=N(a,2),h=M(m),g=e=>{var n=jne(),r=M(n);V(r,21,()=>n9(t.entry),e=>t.entry.id+`-pip-`+e.seq,(e,t)=>{var n=Ane();let r;P(e=>{r=H(n,1,`audit-attempt-pip svelte-17mysgz`,null,r,{"audit-attempt-success":!!(F(t)&&F(t).success),"audit-attempt-error":!(F(t)&&F(t).success)}),W(n,`title`,e)},[()=>Fte(F(t))]),R(e,n)}),E(r);var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t,r)=>{W(n,`title`,e),W(n,`aria-label`,t),z(a,r)},[()=>r9(t.entry),()=>r9(t.entry),()=>Pte(t.entry)]),R(e,n)},_=k(()=>Nte(t.entry));B(h,e=>{F(_)&&e(g)});var v=N(h,2),y=M(v,!0);E(v);var b=N(v,2),x=M(b,!0);E(b);var S=N(b,2),C=e=>{var t=Mne();I(`click`,t,n),R(e,t)},w=k(()=>x9.canShowConversation(t.entry));B(S,e=>{F(w)&&e(C)}),E(m),E(r),P((e,n,a,c,u)=>{i=H(r,1,`audit-entry-summary svelte-17mysgz`,null,i,e),H(o,1,`audit-status-badge ${n??``}`,`svelte-17mysgz`),z(s,t.entry.status_code||`-`),z(l,t.entry.method||`-`),z(p,t.entry.path||`-`),W(v,`title`,a),z(y,c),z(x,u)},[()=>({"audit-entry-summary-live-in-progress":Z7(t.entry)}),()=>X7(t.entry.status_code),()=>tR(t.entry.timestamp),()=>nL.formatTimestamp(t.entry.timestamp),()=>kte(t.entry.duration_ns)]),R(e,r),O()}Ur([`click`]);var Fne=L(``);function S9(e,t){D(t,!0);let n=ma(t,`label`,3,`Copy`),r=ma(t,`copiedLabel`,3,`Copied`),i=ma(t,`errorLabel`,3,``),a=ma(t,`class`,3,`btn`),o=k(()=>t.state.error&&i()?i():t.state.copied?r():n());var s=Fne();let c;var l=M(s),u=e=>{G(e,{name:`circle-check`,width:`14`,height:`14`,"stroke-width":`2.5`})},d=e=>{G(e,{name:`copy`,width:`14`,height:`14`})};B(l,e=>{t.state.copied?e(u):e(d,-1)});var f=N(l,2),p=M(f,!0);E(f),E(s),P(()=>{c=H(s,1,`copy-feedback-btn ${a()??``}`,null,c,{"copy-feedback-btn-copied":t.state.copied}),z(p,F(o))}),I(`click`,s,e=>{e.preventDefault(),t.onclick?.(e)}),R(e,s),O()}Ur([`click`]);var Ine=L(`
        Error Message
         
        `),Lne=L(`
         
        `),Rne=L(` `),zne=L(` streaming`),Bne=L(`
        Body
        `),Vne=L(`

        `),Hne=L(`

        `),Une=L(`

        `),Wne=L(`
        `);function Gne(e,t){D(t,!0);let n=o5({logPrefix:`Failed to copy audit payload:`}),r=o5({logPrefix:`Failed to copy audit payload:`}),i=k(()=>t.pane&&t.pane.showHeaders?o9(t.pane.headers):``),a=k(()=>!t.pane||!t.pane.showBody?``:gne(t.pane.body)?xne(t.pane.body):x9.renderBodyWithConversationHighlights(t.pane.entry,t.pane.body,{promptCacheHighlight:t.pane.promptCacheHighlight})),o=k(()=>!!(t.pane&&x9.canShowConversation(t.pane.entry)));function s(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),x9.handleErrorConversationClick(e,t.pane.entry))}var c=Wne();let l;var u=M(c),d=e=>{var n=Ine(),r=N(M(n),2);let i;var a=M(r,!0);E(r),E(n),P(()=>{i=H(r,1,`audit-json audit-pane-error-message svelte-1h5puht`,null,i,{"audit-pane-clickable-preview":F(o)}),W(r,`role`,F(o)?`button`:null),W(r,`tabindex`,F(o)?0:null),z(a,t.pane.errorMessage)}),I(`mousedown`,r,e=>x9.startBodyInteraction(e)),I(`keydown`,r,s),I(`click`,r,e=>x9.handleErrorConversationClick(e,t.pane.entry)),R(e,n)};B(u,e=>{t.pane.showErrorMessage&&e(d)});var f=N(u,2),p=e=>{var n=Lne(),a=M(n),o=M(a),s=M(o,!0);E(o),S9(N(o,2),{get state(){return r},label:`Copy Headers`,errorLabel:`Copy failed`,class:`audit-copy-btn`,onclick:()=>r.copy(t.pane.copyHeaders,o9)}),E(a);var c=N(a,2),l=M(c,!0);E(c),E(n),P(()=>{z(s,t.pane.headersTitle||`Headers`),z(l,F(i))}),R(e,n)};B(f,e=>{t.pane.showHeaders&&e(p)});var m=N(f,2),h=e=>{var r=Bne(),i=M(r),o=M(i),s=N(M(o),2),c=e=>{var n=Rne(),r=M(n,!0);E(n),P(()=>z(r,t.pane.bodyCacheRatioLabel)),R(e,n)};B(s,e=>{t.pane.bodyCacheRatioLabel&&e(c)});var l=N(s,2),u=e=>{R(e,zne())};B(l,e=>{t.pane.streaming&&e(u)}),E(o),S9(N(o,2),{get state(){return n},label:`Copy Body`,errorLabel:`Copy failed`,class:`audit-copy-btn`,onclick:()=>n.copy(t.pane.copyBody,o9)}),E(i);var d=N(i,2);hi(d,()=>F(a),!0),E(d),E(r),I(`mousedown`,d,e=>x9.startBodyInteraction(e)),I(`click`,d,e=>x9.handleBodyConversationClick(e,t.pane.entry)),R(e,r)};B(m,e=>{t.pane.showBody&&e(h)});var g=N(m,2),_=e=>{var n=Vne(),r=M(n,!0);E(n),P(()=>z(r,t.pane.emptyMessage)),R(e,n)};B(g,e=>{t.pane.showEmpty&&e(_)});var v=N(g,2),y=e=>{var n=Hne(),r=N(M(n),2),i=M(r,!0);E(r),E(n),P(()=>z(i,t.pane.pendingMessage)),R(e,n)};B(v,e=>{t.pane.showPending&&e(y)});var b=N(v,2),x=e=>{var n=Une(),r=M(n,!0);E(n),P(()=>z(r,t.pane.tooLargeMessage)),R(e,n)};B(b,e=>{t.pane.showTooLarge&&e(x)}),E(c),P(()=>l=H(c,1,`audit-pane svelte-1h5puht`,null,l,{"audit-pane-split":t.pane&&t.pane.layout===`split`,"audit-pane-split-single":t.pane&&t.pane.layout===`split`&&!(t.pane.showHeaders&&t.pane.showBody)})),R(e,c),O()}Ur([`mousedown`,`keydown`,`click`]);var Kne=L(` `),C9=L(` `),qne=L(` `),Jne=L(``),Yne=L(`
        `),Xne=L(`
        `);function Zne(e,t){D(t,!0);let n=ma(t,`panes`,19,()=>[]),r=A(null),i=k(()=>Zte(F(r),t.entry)),a=e=>`audit-tab-`+t.entry.id+`-`+e,o=e=>`audit-tabpanel-`+t.entry.id+`-`+e;function s(e,t){let i=n().map(e=>e.id),a=Qte(e.key,i,t);a!=null&&(e.preventDefault(),((e.currentTarget?.closest?.(`.audit-pane-tablist`))?.querySelectorAll(`.audit-pane-tab`)[i.indexOf(a)])?.focus?.(),j(r,a,!0))}var c=Xne(),l=M(c);V(l,21,n,e=>e.id,(e,t)=>{var n=Jne();let c;var l=M(n),u=M(l),d=e=>{G(e,{name:`arrow-right`})},f=e=>{G(e,{name:`arrow-left`})};B(u,e=>{F(t).pane.direction===`request`?e(d):F(t).pane.direction===`response`&&e(f,1)}),E(l);var p=N(l,2),m=M(p,!0);E(p);var h=N(p,2),g=e=>{var n=Kne(),r=M(n);E(n),P(()=>z(r,`#${F(t).pane.seq??``}`)),R(e,n)};B(h,e=>{F(t).pane.seq&&e(g)});var _=N(h,2),v=e=>{var n=C9(),r=M(n,!0);E(n),P(()=>{H(n,1,`provider-badge audit-pane-kind audit-pane-kind-${(F(t).pane.kind||``)??``}`,`svelte-1bc5vi5`),z(r,F(t).pane.kind)}),R(e,n)};B(_,e=>{F(t).pane.kind&&e(v)});var y=N(_,2),b=e=>{var n=qne(),r=M(n,!0);E(n),P(()=>z(r,F(t).pane.savingsLabel)),R(e,n)};B(y,e=>{F(t).pane.savingsLabel&&e(b)});var x=N(y,2),S=e=>{var n=C9(),r=M(n,!0);E(n),P(e=>{H(n,1,`audit-status-badge ${e??``}`,`svelte-1bc5vi5`),z(r,F(t).pane.statusCode)},[()=>X7(F(t).pane.statusCode)]),R(e,n)};B(x,e=>{F(t).pane.statusCode&&e(S)}),E(n),P((e,r)=>{c=H(n,1,`audit-pane-tab svelte-1bc5vi5`,null,c,{"audit-pane-tab-active":F(i)===F(t).id}),W(n,`aria-selected`,F(i)===F(t).id),W(n,`id`,e),W(n,`aria-controls`,r),W(n,`tabindex`,F(i)===F(t).id?0:-1),H(l,1,`audit-pane-icon audit-pane-icon-${(F(t).pane.direction||``)??``}`,`svelte-1bc5vi5`),z(m,F(t).pane.title)},[()=>a(F(t).id),()=>o(F(t).id)]),I(`keydown`,n,e=>s(e,F(t).id)),I(`click`,n,()=>j(r,F(t).id,!0)),R(e,n)}),E(l),V(N(l,2),17,n,e=>e.id,(e,t)=>{var n=Yne();let r;Gne(M(n),{get pane(){return F(t).pane}}),E(n),P((e,a)=>{W(n,`id`,e),W(n,`aria-labelledby`,a),r=Ri(n,``,r,{display:F(i)===F(t).id?null:`none`})},[()=>o(F(t).id),()=>a(F(t).id)]),R(e,n)}),E(c),R(e,c),O()}Ur([`keydown`,`click`]);var Qne=L(`
        `),$ne=L(`
        `);function ere(e,t){D(t,!0);let n=k(()=>l9.isAuditEntryExpanded(t.entry)),r=k(()=>F(n)?s9(t.entry,sne):[]),i=k(()=>F(n)?r7(t.entry,U7.auditEntryWorkflow(t.entry),U7.workflowFeatureCaps()):null);function a(e){let n=e&&e.currentTarget;!n||!n.open||(l9.markAuditEntryExpanded(t.entry),typeof qQ.fetchAuditEntryDetail==`function`&&qQ.fetchAuditEntryDetail(t.entry))}var o=$ne(),s=M(o);Pne(s,{get entry(){return t.entry}});var c=N(s,2),l=e=>{var n=Qne(),a=M(n),o=e=>{y5(e,{get chart(){return F(i)}})};B(a,e=>{F(i)&&e(o)});var s=N(a,2);Zne(s,{get entry(){return t.entry},get panes(){return F(r)}}),rne(N(s,2),{get entry(){return t.entry}}),E(n),R(e,n)};B(c,e=>{F(n)&&e(l)}),E(o),Hr(`toggle`,o,a),R(e,o),O()}var tre=L(``),nre=L(`
        `),rre=L(`

        Loading interactions...

        `),ire=L(`

        No interaction data available for this entry.

        `),are=L(`
         
        `),ore=L(`
         
        `),sre=L(`
        `),cre=L(`
        `),lre=L(`
        `,1),ure=L(`
        `),dre=L(`
        `),fre=L(`
        `),w9=L(``),pre=L(`

        Interactions

        `,1);function mre(e,t){D(t,!0);let n=x9;Nn(()=>{if(!n.conversationOpen)return;let e=kr(()=>MI.opened()),t=e=>{e.key===`Escape`&&MI.openCount<=1&&n.closeConversation()};return window.addEventListener(`keydown`,t),()=>{MI.closed(e),window.removeEventListener(`keydown`,t)}});function r(e){return[e.role===`function_call`||e.role===`function_result`?`chat-function-note`:`chat-message`,e.roleClass,e.isAnchor?`is-anchor`:``].filter(Boolean).join(` `)}function i(e){return e.role===`function_call`?(e.toolCalls||[]).map(e=>e.name+`()`).join(`, `):(e.functionName?e.functionName+`: `:``)+e.text}var a=pre(),o=Cn(a),s=e=>{var t=tre();I(`click`,t,()=>n.closeConversation()),R(e,t)};B(o,e=>{n.conversationOpen&&e(s)});var c=N(o,2);let l;var u=M(c);vL(N(M(u),2),{label:`Close interactions`,onclick:()=>n.closeConversation(),get el(){return n.conversationCloseBtnEl},set el(e){n.conversationCloseBtnEl=e}}),E(u);var d=N(u,2),f=M(d),p=e=>{var t=nre(),r=M(t,!0);E(t),P(()=>z(r,n.conversationError)),R(e,t)};B(f,e=>{n.conversationError&&e(p)});var m=N(f,2),h=e=>{R(e,rre())};B(m,e=>{n.conversationLoading&&e(h)});var g=N(m,2),_=e=>{R(e,ire())},v=k(()=>!n.conversationLoading&&!n.conversationError&&n.conversationMessages.length===0&&!n.conversationLiveWaiting());B(g,e=>{F(v)&&e(_)});var y=N(g,2),b=e=>{var t=dre();V(t,21,()=>n.conversationMessages,e=>e.uid,(e,t)=>{var a=ure(),o=M(a),s=e=>{var r=are(),a=M(r),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=M(c,!0);E(c),E(a);var u=N(a,2),d=M(u,!0);E(u),E(r),P((e,n)=>{z(s,F(t).roleLabel),z(l,e),z(d,n)},[()=>i(F(t)),()=>n.functionExpandedContent(F(t))]),R(e,r)},c=e=>{var n=lre(),r=Cn(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(r);var c=N(r,2),l=e=>{var n=ore(),r=M(n,!0);E(n),P(()=>z(r,F(t).text)),R(e,n)};B(c,e=>{F(t).text&&e(l)});var u=N(c,2),d=e=>{var n=cre();V(n,23,()=>F(t).toolCalls,(e,t)=>e.name+`-`+t,(e,t)=>{var n=sre(),r=M(n),i=M(r,!0);E(r),E(n),P(()=>z(i,F(t).name+`()`)),R(e,n)}),E(n),R(e,n)};B(u,e=>{F(t).toolCalls&&e(d)}),P(e=>{z(a,F(t).roleLabel),z(s,e)},[()=>nL.formatTimestamp(F(t).timestamp)]),R(e,n)};B(o,e=>{F(t).role===`function_call`||F(t).role===`function_result`?e(s):e(c,-1)}),E(a),P(e=>H(a,1,e,`svelte-ssrzja`),[()=>ji(r(F(t)))]),R(e,a)}),E(t),R(e,t)};B(y,e=>{n.conversationMessages.length>0&&e(b)});var x=N(y,2),S=e=>{var t=fre(),r=N(M(t),2),i=M(r,!0);E(r),E(t),P(e=>z(i,e),[()=>n.conversationLiveStatusText()]),R(e,t)},C=k(()=>n.conversationLiveWaiting());B(x,e=>{F(C)&&e(S)}),E(d);var w=N(d,2),T=e=>{var t=w9(),r=M(t),i=M(r,!0);E(r),E(t),P(()=>z(i,`Opened from log: `+n.conversationAnchorID)),R(e,t)};B(w,e=>{n.conversationAnchorID&&e(T)}),E(c),da(c,e=>n.conversationDialogEl=e,()=>n?.conversationDialogEl),P(()=>{l=H(c,1,`conversation-drawer`,null,l,{open:n.conversationOpen}),W(c,`aria-hidden`,!n.conversationOpen)}),R(e,a),O()}Ur([`click`]);var hre=L(`

        .

        `),gre=L(`
        Audit logging is off. Live entries are temporary and disappear after + refresh. Set LOGGING_ENABLED=true to persist them.
        `),_re=L(`

        `),vre=L(`
        `),yre=L(`
        `),bre=L(`
        `),xre=L(`
        `);function Sre(e,t){D(t,!0);let n=k(()=>fL.config&&fL.config.LOGGING_RETENTION_DAYS);Nn(()=>{if(K.refreshTick,WI.page===`audit-logs`)return kr(()=>r())});function r(){let e=!1;return(async()=>{try{await fL.ensureLoaded()}finally{await l9.fetchAuditLog(!0),!e&&fL.liveLogsVisible()&&qQ.ensureLiveLogs()}})(),()=>{e=!0,qQ.stopLiveLogs()}}var i=xre(),a=M(i),o=M(a),s=N(M(o),2),c=e=>{bQ(e,{copyId:`audit-retention-help-copy`,label:`retention help`,text:`If you want to change the retention period, set LOGGING_RETENTION_DAYS (env var) or logging.retention_days (config.yaml) and restart the gateway. Default is 30 days; 0 keeps audit logs forever.`,title:e=>{var t=hre(),r=M(t,!0),i=N(r),a=M(i,!0);E(i),We(),E(t),P((e,t)=>{z(r,e),z(a,t)},[()=>bte(F(n)),()=>xte(F(n))]),R(e,t)},$$slots:{title:!0}})},l=k(()=>yte(F(n)));B(s,e=>{F(l)&&e(c)}),E(o),E(a);var u=N(a,2);OR(M(u),{onchange:()=>l9.fetchAuditLog(!0)}),E(u);var d=N(u,2);GL(d,{});var f=N(d,2),p=e=>{R(e,gre())},m=k(()=>fL.loaded&&!fL.auditVisible()&&!K.needsAuth);B(f,e=>{F(m)&&e(p)});var h=N(f,2),g=M(h);ene(g,{});var _=N(g,2),v=e=>{var t=_re(),n=M(t);E(t),P(e=>z(n,`Showing ${l9.auditLog.offset+1}-${e??``} of ${l9.auditLog.total??``} logs`),[()=>Math.min(l9.auditLog.offset+l9.auditLog.limit,l9.auditLog.total)]),R(e,t)};B(_,e=>{l9.auditLog.total>0&&e(v)});var y=N(_,2),b=e=>{var t=vre();GZ(M(t),{size:18,label:`Loading audit logs`}),E(t),R(e,t)},x=e=>{var t=yre();V(t,21,()=>l9.auditLog.entries,e=>e.id,(e,t)=>{ere(e,{get entry(){return F(t)}})}),E(t),R(e,t)};B(y,e=>{l9.loading&&l9.auditLog.entries.length===0?e(b):l9.auditLog.entries.length>0&&e(x,1)});var S=N(y,2),C=e=>{var t=bre();JZ(M(t),{}),E(t),R(e,t)};B(S,e=>{l9.auditLog.entries.length===0&&!l9.loading&&!K.needsAuth&&e(C)}),a1(N(S,2),{get total(){return l9.auditLog.total},get offset(){return l9.auditLog.offset},get limit(){return l9.auditLog.limit},onprev:()=>l9.auditLogPrevPage(),onnext:()=>l9.auditLogNextPage()}),E(h),mre(N(h,2),{}),E(i),R(e,i),O()}function T9(e){try{let t=JSON.parse(JSON.stringify(e||{}));return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}catch{return{}}}function E9(e){return Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(e=>e):e==null?[]:String(e).split(`,`).map(e=>e.trim()).filter(e=>e)}function D9(e,t){let n=String(t||``).trim();return(e||[]).find(e=>String(e&&e.type||``).trim()===n)||null}function O9(e){return Array.isArray(e)&&e.length>0&&String(e[0].type||``).trim()||`system_prompt`}function k9(e,t){let n=String(t||``).trim();return n&&D9(e,n)?n:O9(e)}function A9(e,t){let n=D9(e,t);return!n||!n.defaults?{}:T9(n.defaults)}function j9(e,t,n){return{...A9(e,n),...T9(t)}}function M9(e,t){let n=k9(e,t);return{name:``,type:n,description:``,user_path:``,config:A9(e,n)}}function Cre(e,t){if(!t)return e||[];let n=String(t).toLowerCase();return(e||[]).filter(e=>[e.name,e.type,e.user_path,e.description,e.summary].some(e=>String(e||``).toLowerCase().includes(n)))}function wre(e,t){let n=D9(e,t);return n&&n.label?n.label:t||`Unknown`}function Tre(e,t){let n=D9(e,t);return Array.isArray(n&&n.fields)?n.fields:[]}function N9(e,t){if(!t||!e)return t&&t.input===`checkboxes`?[]:``;let n=e[t.key];return n==null?t.input===`checkboxes`?[]:``:t.input===`checkboxes`?E9(n):n}function P9(e,t,n){if(!t)return e;let r=T9(e);if(t.input===`number`){let e=String(n||``).trim();if(e===``)delete r[t.key];else{let n=Number(e);r[t.key]=Number.isFinite(n)?n:e}}else t.input===`checkboxes`?r[t.key]=E9(n):r[t.key]=n;return r}function Ere(e,t,n){return N9(e,t).includes(String(n||``).trim())}function Dre(e,t,n,r){let i=E9(N9(e,t)),a=String(n||``).trim();return a?P9(e,t,r?Array.from(new Set([...i,a])):i.filter(e=>e!==a)):e}function Ore(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),description:String(e&&e.description||``).trim()||void 0,user_path:String(e&&e.user_path||``).trim()||void 0,config:T9(e&&e.config)}}var F9=new class{#e=A(fn([]));get guardrails(){return F(this.#e)}set guardrails(e){j(this.#e,e,!0)}#t=A(fn([]));get types(){return F(this.#t)}set types(e){j(this.#t,e,!0)}#n=A(!0);get available(){return F(this.#n)}set available(e){j(this.#n,e,!0)}#r=A(!1);get loading(){return F(this.#r)}set loading(e){j(this.#r,e,!0)}#i=A(!1);get typesLoading(){return F(this.#i)}set typesLoading(e){j(this.#i,e,!0)}#a=A(``);get error(){return F(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(``);get filter(){return F(this.#o)}set filter(e){j(this.#o,e,!0)}#s=A(!1);get formOpen(){return F(this.#s)}set formOpen(e){j(this.#s,e,!0)}#c=A(!1);get formSubmitting(){return F(this.#c)}set formSubmitting(e){j(this.#c,e,!0)}#l=A(``);get deletingName(){return F(this.#l)}set deletingName(e){j(this.#l,e,!0)}#u=A(`create`);get formMode(){return F(this.#u)}set formMode(e){j(this.#u,e,!0)}#d=A(``);get formOriginalName(){return F(this.#d)}set formOriginalName(e){j(this.#d,e,!0)}#f=A(fn({name:``,type:``,description:``,user_path:``,config:{}}));get form(){return F(this.#f)}set form(e){j(this.#f,e,!0)}get filtered(){return Cre(this.guardrails,this.filter)}typeLabel(e){return wre(this.types,e)}typeFields(e){return Tre(this.types,e)}fieldValue(e){return N9(this.form&&this.form.config,e)}setFieldValue(e,t){this.form={...this.form,config:P9(this.form.config,e,t)}}arrayFieldSelected(e,t){return Ere(this.form&&this.form.config,e,t)}toggleArrayFieldValue(e,t,n){this.form={...this.form,config:Dre(this.form.config,e,t,n)}}openCreate(){this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=M9(this.types,O9(this.types)),this.formOpen=!0}openEdit(e){let t=k9(this.types,e&&e.type);this.formMode=`edit`,this.formOriginalName=String(e&&e.name||``).trim(),this.error=``,this.form={name:this.formOriginalName,type:t,description:String(e&&e.description||``).trim(),user_path:String(e&&e.user_path||``).trim(),config:j9(this.types,e&&e.config,t)},this.formOpen=!0}closeForm(){this.formOpen=!1,this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=M9(this.types,O9(this.types))}changeType(e){let t=k9(this.types,e);this.form={...this.form,type:t,config:A9(this.types,t)}}async fetchTypes(){this.typesLoading=!0;try{let e=await cL(`/admin/guardrails/types`,{label:`guardrail types`});if(e.status===503){this.available=!1,this.types=[];return}if(e.stale)return;if(this.available=!0,!e.ok){this.types=[];return}this.types=Array.isArray(e.data)?e.data:[];let t=k9(this.types,this.form.type);this.form={...this.form,type:t,config:j9(this.types,this.form.config,t)}}catch(e){console.error(`Failed to fetch guardrail types:`,e),this.types=[],this.error=`Unable to load guardrail types.`}finally{this.typesLoading=!1}}async fetchGuardrails(){this.loading=!0,this.error=``;try{let e=await cL(`/admin/guardrails`,{label:`guardrails`});if(e.status===503){this.available=!1,this.guardrails=[];return}if(e.stale)return;if(this.available=!0,!e.ok){this.guardrails=[];return}this.guardrails=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch guardrails:`,e),this.guardrails=[],this.error=`Unable to load guardrails.`}finally{this.loading=!1}}async fetchPage(){await Promise.all([this.fetchTypes(),this.fetchGuardrails()])}async submitForm(){let e=String(this.form.name||``).trim(),t=String(this.form.type||``).trim();if(!e){this.error=`Name is required.`;return}if(!t){this.error=`Type is required.`;return}this.error=``,this.formSubmitting=!0;let n=Ore(this.form);try{let t=await lL(`/admin/guardrails`,`PUT`,n,{label:`save guardrail`});if(t.status===503){this.available=!1,this.error=`Guardrails feature is unavailable.`;return}if(t.stale)return;if(!t.ok){if(t.status===401){this.error=`Authentication required.`;return}this.error=rL(t.data,`Failed to save guardrail.`),console.error(`Failed to save guardrail:`,t.status,this.error);return}q.success(`Guardrail "`+e+`" saved.`),this.closeForm(),this.fetchGuardrails()}catch(e){console.error(`Failed to save guardrail:`,e),this.error=`Failed to save guardrail.`}finally{this.formSubmitting=!1}}async deleteGuardrail(e){let t=String(e&&e.name||``).trim();if(!(!t||this.deletingName)&&window.confirm(`Delete guardrail "`+t+`"? Workflows that still reference it must be updated first.`)){this.deletingName=t;try{let e=await lL(`/admin/guardrails`,`DELETE`,{name:t},{label:`delete guardrail`});if(e.status===503){this.available=!1,q.error(`Guardrails feature is unavailable.`);return}if(e.stale)return;if(!e.ok){if(e.status===401){q.error(`Authentication required.`);return}let t=rL(e.data,`Failed to delete guardrail.`);console.error(`Failed to delete guardrail:`,e.status,t),q.error(t);return}q.success(`Guardrail "`+t+`" deleted.`),this.formOpen&&this.formOriginalName===t&&this.closeForm(),this.fetchGuardrails()}catch(e){console.error(`Failed to delete guardrail:`,e),q.error(`Failed to delete guardrail.`)}finally{this.deletingName=``}}}},kre=L(`
        `),Are=L(`

        Loading guardrails...

        `),jre=L(`
        `),Mre=L(`
        `),Nre=L(`
        NameTypeUser PathSummaryActions
        `),Pre=L(`

        No guardrails defined yet.

        `),Fre=L(`

        Instances

        Each instance has a reusable name, a type, an optional user path for + future UI visibility scoping, and a JSON-backed config payload for + that type.

        `);function Ire(e,t){D(t,!0);var n=Fre(),r=M(n),i=N(M(r),2);G(M(i),{name:`plus`,class:`form-action-icon`}),We(2),E(i),E(r);var a=N(r,2),o=e=>{var t=kre(),n=M(t);j$(M(n),{id:`guardrail-filter`,placeholder:`Filter by name, type, user path, summary...`,label:`Guardrail filter`,get value(){return F9.filter},set value(e){F9.filter=e}}),E(n),E(t),R(e,t)};B(a,e=>{F9.available&&e(o)});var s=N(a,2),c=e=>{var t=Are();GZ(M(t),{size:16,label:`Loading guardrails`}),We(),E(t),R(e,t)};B(s,e=>{F9.loading&&F9.filtered.length===0&&e(c)});var l=N(s,2),u=e=>{var t=Nre(),n=M(t),r=N(M(n));V(r,21,()=>F9.filtered,e=>e.name,(e,t)=>{var n=Mre(),r=M(n),i=M(r,!0);E(r);var a=N(r),o=M(a),s=M(o,!0);E(o),E(a);var c=N(a),l=M(c,!0);E(c);var u=N(c),d=M(u),f=M(d,!0);E(d);var p=N(d,2),m=e=>{var n=jre(),r=M(n,!0);E(n),P(()=>z(r,F(t).description)),R(e,n)};B(p,e=>{F(t).description&&e(m)}),E(u);var h=N(u),g=M(h),_=M(g);{let e=k(()=>`Edit guardrail `+F(t).name);D1(_,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>F9.openEdit(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var v=N(_,2);{let e=k(()=>(F9.deletingName===F(t).name?`Deleting guardrail `:`Delete guardrail `)+F(t).name),n=k(()=>F9.deletingName===F(t).name);D1(v,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>F9.deleteGuardrail(F(t)),get disabled(){return F(n)},children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(g),E(h),E(n),P(e=>{z(i,F(t).name),z(s,e),z(l,F(t).user_path||`—`),z(f,F(t).summary||F(t).description||`No summary yet.`)},[()=>F9.typeLabel(F(t).type)]),R(e,n)}),E(r),E(n),E(t),R(e,t)};B(l,e=>{F9.filtered.length>0&&e(u)});var d=N(l,2),f=e=>{R(e,Pre())};B(d,e=>{F9.filtered.length===0&&!F9.loading&&F9.available&&!F9.error&&!K.authError&&e(f)}),E(n),P(()=>i.disabled=F9.typesLoading||F9.formSubmitting||!F9.available),I(`click`,i,()=>F9.openCreate()),R(e,n),O()}Ur([`click`]);var Lre=L(``),I9=L(``),Rre=L(``),zre=L(``),Bre=L(``),Vre=L(``),Hre=L(``),Ure=L(`
        `),Wre=L(``),Gre=L(` `),Kre=L(`
        `),qre=L(``);function Jre(e,t){D(t,!0);let n=k(()=>F9.formMode===`edit`);function r(){K.dialogOpen||F9.closeForm()}bL(e,{get open(){return F9.formOpen},variant:`editor`,onclose:r,children:(e,t)=>{var r=qre(),i=M(r),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s),We(2),E(o),vL(N(o,2),{label:`Close guardrail editor`,onclick:()=>F9.closeForm()}),E(a);var l=N(a,2),u=e=>{var t=Lre(),n=M(t,!0);E(t),P(()=>z(n,F9.error)),R(e,t)};B(l,e=>{F9.error&&e(u)});var d=N(l,2),f=M(d),p=N(M(f),2);U(p),E(f);var m=N(f,2),h=N(M(m),2);V(h,21,()=>F9.types,e=>e.type,(e,t)=>{var n=I9(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).type)&&(n.value=(n.__value=F(t).type)??``)}),R(e,n)}),E(h);var g;Bi(h),E(m);var _=N(m,2),v=N(M(_),2);U(v),E(_);var y=N(_,2),b=M(y);bQ(b,{copyId:`guardrail-user-path-help-copy`,label:`guardrail user path help`,text:`Only used for auxiliary rewrite (llm_based_altering) guardrails; ignored for other guardrail types.`,title:e=>{R(e,Rre())},$$slots:{title:!0}});var x=N(b,2);U(x),E(y),V(N(y,2),17,()=>F9.typeFields(F9.form.type),e=>e.key,(e,t)=>{var n=$r(),r=Cn(n),i=e=>{var n=Ure(),r=M(n);{let e=e=>{var n=zre(),r=M(n,!0);E(n),P(()=>{W(n,`for`,`guardrail-field-`+F(t).key),z(r,F(t).label)}),R(e,n)},n=k(()=>`guardrail-field-help-`+F(t).key),i=k(()=>F(t).label+` help`),a=k(()=>F(t).help||``);bQ(r,{get copyId(){return F(n)},get label(){return F(i)},get text(){return F(a)},title:e,$$slots:{title:!0}})}var i=N(r,2),a=e=>{var n=Bre();V(n,21,()=>F(t).options||[],e=>e.value,(e,t)=>{var n=I9(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(n);var r;Bi(n),P(e=>{W(n,`id`,`guardrail-field-`+F(t).key),W(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0),r!==(r=e)&&(n.value=(n.__value=e)??``,zi(n,e))},[()=>F9.fieldValue(F(t))]),I(`change`,n,e=>F9.setFieldValue(F(t),e.currentTarget.value)),R(e,n)},o=e=>{var n=Vre();pt(n),P(e=>{W(n,`id`,`guardrail-field-`+F(t).key),W(n,`placeholder`,F(t).placeholder||``),Qi(n,e),W(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0)},[()=>F9.fieldValue(F(t))]),I(`input`,n,e=>F9.setFieldValue(F(t),e.currentTarget.value)),R(e,n)},s=e=>{var n=Hre();U(n),P(e=>{W(n,`id`,`guardrail-field-`+F(t).key),W(n,`type`,F(t).input||`text`),W(n,`placeholder`,F(t).placeholder||``),Qi(n,e),W(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0)},[()=>F9.fieldValue(F(t))]),I(`input`,n,e=>F9.setFieldValue(F(t),e.currentTarget.value)),R(e,n)};B(i,e=>{F(t).input===`select`?e(a):F(t).input===`textarea`?e(o,1):e(s,-1)}),E(n),R(e,n)},a=e=>{var n=Kre(),r=M(n),i=M(r,!0);E(r);var a=N(r,2);V(a,21,()=>F(t).options||[],e=>F(t).key+`-`+e.value,(e,n)=>{var r=Wre(),i=M(r);U(i);var a=N(i,2),o=M(a,!0);E(a),E(r),P(e=>{$i(i,e),z(o,F(n).label)},[()=>F9.arrayFieldSelected(F(t),F(n).value)]),I(`change`,i,e=>F9.toggleArrayFieldValue(F(t),F(n).value,e.currentTarget.checked)),R(e,r)}),E(a);var o=N(a,2),s=e=>{var n=Gre(),r=M(n,!0);E(n),P(()=>{W(n,`id`,`guardrail-field-help-`+F(t).key),z(r,F(t).help)}),R(e,n)};B(o,e=>{F(t).help&&e(s)}),E(n),P(()=>{W(n,`aria-describedby`,F(t).help?`guardrail-field-help-`+F(t).key:void 0),z(i,F(t).label)}),R(e,n)};B(r,e=>{F(t).input===`checkboxes`?e(a,-1):e(i)}),R(e,n)}),E(d);var S=N(d,2),C=M(S),w=N(C,2);G(M(w),{name:`save`,class:`form-action-icon`}),We(2),E(w),E(S),E(i),E(r),P(()=>{z(c,F(n)?`Edit Guardrail`:`Create Guardrail`),p.disabled=F(n),W(p,`data-modal-autofocus`,!F(n)||void 0),h.disabled=F(n),g!==(g=F9.form.type)&&(h.value=(h.__value=F9.form.type)??``,zi(h,F9.form.type)),W(v,`data-modal-autofocus`,F(n)?!0:void 0),w.disabled=F9.formSubmitting}),Hr(`submit`,i,e=>{e.preventDefault(),F9.submitForm()}),oa(p,()=>F9.form.name,e=>F9.form.name=e),I(`change`,h,e=>F9.changeType(e.currentTarget.value)),oa(v,()=>F9.form.description,e=>F9.form.description=e),oa(x,()=>F9.form.user_path,e=>F9.form.user_path=e),I(`click`,C,()=>F9.closeForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`change`,`input`,`click`]);var Yre=L(`

        Guardrails

        `),Xre=L(`
        Runtime guardrail execution is currently off because GUARDRAILS_ENABLED is disabled. You can still manage + definitions here.
        `),Zre=L(`
        Guardrails feature is unavailable.
        `),Qre=L(`
        `),$re=L(`

        Reusable Policy Objects

        Guardrail Library

        Store guardrails in the database, keep them hot in memory, and attach + them to workflows by reference.

        Instances
        Types
        `);function eie(e,t){D(t,!0),Nn(()=>{K.refreshTick,WI.page===`guardrails`&&(fL.ensureLoaded(),F9.fetchPage())});var n=$re(),r=M(n),i=M(r);bQ(M(i),{copyId:`guardrails-help-copy`,label:`guardrails help`,text:`Reusable policy objects stored in the database and kept hot in memory for workflow execution.`,title:e=>{R(e,Yre())},$$slots:{title:!0}}),E(i),E(r);var a=N(r,2),o=N(M(a),2),s=M(o),c=N(M(s),2),l=M(c,!0);E(c),E(s);var u=N(s,2),d=N(M(u),2),f=M(d,!0);E(d),E(u),E(o),E(a);var p=N(a,2);GL(p,{});var m=N(p,2),h=e=>{R(e,Xre())},g=k(()=>!fL.guardrailsVisible());B(m,e=>{F(g)&&e(h)});var _=N(m,2),v=e=>{R(e,Zre())};B(_,e=>{!K.authError&&!F9.available&&e(v)});var y=N(_,2),b=e=>{var t=Qre(),n=M(t,!0);E(t),P(()=>z(n,F9.error)),R(e,t)};B(y,e=>{!K.authError&&F9.error&&!F9.formOpen&&e(b)});var x=N(y,2);Jre(x,{}),Ire(N(x,2),{}),E(n),P((e,t)=>{z(l,e),z(f,t)},[()=>qL(F9.guardrails.length),()=>qL(F9.types.length)]),R(e,n),O()}var Z=new class{#e=A(fn([]));get servers(){return F(this.#e)}set servers(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get formSubmitting(){return F(this.#o)}set formSubmitting(e){j(this.#o,e,!0)}#s=A(`create`);get formMode(){return F(this.#s)}set formMode(e){j(this.#s,e,!0)}#c=A(!1);get slugEdited(){return F(this.#c)}set slugEdited(e){j(this.#c,e,!0)}#l=A(!1);get advancedOpen(){return F(this.#l)}set advancedOpen(e){j(this.#l,e,!0)}#u=A(fn(FX()));get form(){return F(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(``);get deletingName(){return F(this.#d)}set deletingName(e){j(this.#d,e,!0)}#f=A(``);get reconnectingName(){return F(this.#f)}set reconnectingName(e){j(this.#f,e,!0)}#p=A(!1);get catalogOpen(){return F(this.#p)}set catalogOpen(e){j(this.#p,e,!0)}#m=A(!1);get catalogLoading(){return F(this.#m)}set catalogLoading(e){j(this.#m,e,!0)}#h=A(``);get catalogError(){return F(this.#h)}set catalogError(e){j(this.#h,e,!0)}#g=A(fn(IX()));get catalog(){return F(this.#g)}set catalog(e){j(this.#g,e,!0)}#_=k(()=>qX(this.servers,this.filter));get filtered(){return F(this.#_)}set filtered(e){j(this.#_,e)}async fetchServers(){if(await fL.ensureLoaded(),!fL.mcpVisible()){this.available=!1,this.servers=[],this.error=``,this.loading=!1;return}this.loading=!0,this.error=``;try{let e=await cL(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[],e.status!==401&&(this.error=rL(e.data,`Failed to load MCP servers.`));return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[],this.error=`Unable to load MCP servers.`}finally{this.loading=!1}}openCreate(){this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=FX(),this.formOpen=!0}openEdit(e){!e||e.managed||(this.formMode=`edit`,this.slugEdited=!0,this.advancedOpen=!1,this.error=``,this.form=JX(e),this.formOpen=!0)}closeForm(){this.formOpen=!1,this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=FX()}syncSlugFromName(){this.formMode===`create`&&!this.slugEdited&&(this.form.slug=UX(this.form.name))}markSlugEdited(){this.formMode===`create`&&(this.slugEdited=!0)}addHeader(){this.form.headers.push({name:``,value:``})}removeHeader(e){this.form.headers.splice(e,1)}async submitForm(){let e=YX(this.form,this.formMode,this.servers);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await lL(`/admin/mcp-servers`,`PUT`,e.payload,{label:`save mcp server`});if(t.stale)return;if(t.status===503){this.available=!1,this.error=`MCP server management is unavailable.`;return}if(!t.ok){this.error=t.status===401?`Authentication required.`:rL(t.data,`Failed to save MCP server.`);return}q.success(`MCP server "`+e.payload.name+`" saved.`),this.closeForm(),this.fetchServers()}catch(e){console.error(`Failed to save MCP server:`,e),this.error=`Failed to save MCP server.`}finally{this.formSubmitting=!1}}async deleteServer(e){let t=String(e&&e.name||``).trim(),n=LX(e);if(!(!n||this.deletingName||e&&e.managed)&&confirm(`Delete MCP server "`+t+`"? Clients lose access to its tools immediately.`)){this.deletingName=n;try{let e=await lL(`/admin/mcp-servers/`+encodeURIComponent(n),`DELETE`,void 0,{label:`delete mcp server`});if(e.stale)return;if(e.status===503){this.available=!1,q.error(`MCP server management is unavailable.`);return}if(!e.ok){q.error(e.status===401?`Authentication required.`:rL(e.data,`Failed to delete MCP server.`));return}q.success(`MCP server "`+t+`" deleted.`),this.formOpen&&this.form.slug===n&&this.closeForm(),this.fetchServers()}catch(e){console.error(`Failed to delete MCP server:`,e),q.error(`Failed to delete MCP server.`)}finally{this.deletingName=``}}}async reconnectServer(e){let t=String(e&&e.name||``).trim(),n=LX(e);if(!(!n||this.reconnectingName)){this.reconnectingName=n;try{let e=await lL(`/admin/mcp-servers/`+encodeURIComponent(n)+`/reconnect`,`POST`,void 0,{label:`reconnect mcp server`});if(e.stale)return;if(e.status===503){this.available=!1,q.error(`MCP server management is unavailable.`);return}if(!e.ok){q.error(e.status===401?`Authentication required.`:rL(e.data,`Failed to reconnect MCP server.`));return}let r=e.data,i=RX(r);i===`connected`?q.success(`MCP server "`+t+`" reconnected.`):i===`disabled`?q.success(`MCP server "`+t+`" is disabled; no connection was attempted.`):q.error(`Reconnect attempted, but MCP server "`+t+`" is still `+i+`.`),r&&r.name?this.servers=(this.servers||[]).map(e=>LX(e)===LX(r)?r:e):this.fetchServers()}catch(e){console.error(`Failed to reconnect MCP server:`,e),q.error(`Failed to reconnect MCP server.`)}finally{this.reconnectingName=``}}}async openCatalog(e){let t=String(e&&e.name||``).trim(),n=LX(e);if(n){this.catalogOpen=!0,this.catalogLoading=!0,this.catalogError=``,this.catalog={...IX(),server:n,status:RX(e)};try{let e=await cL(`/admin/mcp-servers/`+encodeURIComponent(n)+`/catalog`,{label:`mcp server catalog`});if(e.stale)return;if(e.status===503){this.available=!1,this.catalogError=`MCP server management is unavailable.`;return}if(e.status===404){this.catalogError=`MCP server "`+t+`" was not found.`;return}if(!e.ok){this.catalogError=e.status===401?`Authentication required.`:rL(e.data,`Failed to load MCP server catalog.`);return}this.catalog=XX(n,e.data)}catch(e){console.error(`Failed to load MCP server catalog:`,e),this.catalogError=`Failed to load MCP server catalog.`}finally{this.catalogLoading=!1}}}closeCatalog(){this.catalogOpen=!1,this.catalogLoading=!1,this.catalogError=``,this.catalog=IX()}},tie=L(``),nie=L(`

        `),rie=L(`
        `),iie=L(`

        `),aie=L(`
      • `),oie=L(`

          `),sie=L(`

          No tools listed — the server may still be connecting or degraded.

          `),cie=L(` `,1),lie=L(``);function uie(e,t){D(t,!0);let n=k(()=>QX(Z.catalog));bL(e,{get open(){return Z.catalogOpen},variant:`editor`,onclose:()=>Z.closeCatalog(),children:(e,t)=>{var r=lie(),i=M(r),a=M(i),o=N(M(a),2),s=M(o),c=M(s,!0);E(s);var l=N(s,2),u=M(l,!0);E(l),E(o),E(a),vL(N(a,2),{label:`Close MCP server catalog`,onclick:()=>Z.closeCatalog()}),E(i);var d=N(i,2),f=e=>{T1(e,{label:`Loading catalog...`})},p=e=>{var t=tie(),n=M(t,!0);E(t),P(()=>z(n,Z.catalogError)),R(e,t)},m=e=>{var t=cie(),r=Cn(t),i=e=>{var t=nie(),n=M(t,!0);E(t),P(()=>z(n,Z.catalog.instructions)),R(e,t)};B(r,e=>{Z.catalog.instructions&&e(i)});var a=N(r,2);V(a,17,()=>F(n),e=>e.key,(e,t)=>{var n=oie(),r=M(n),i=M(r,!0);E(r);var a=N(r,2);V(a,21,()=>F(t).items,e=>e.key,(e,t)=>{var n=aie(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{var n=rie(),r=M(n,!0);E(n),P(()=>{W(n,`title`,`Exposed on the aggregated /mcp endpoint as `+F(t).aggregated),z(r,F(t).aggregated)}),R(e,n)};B(a,e=>{F(t).aggregated&&e(o)});var s=N(a,2),c=e=>{var n=iie(),r=M(n,!0);E(n),P(()=>z(r,F(t).description)),R(e,n)};B(s,e=>{F(t).description&&e(c)}),E(n),P(()=>{W(r,`title`,F(t).aggregated||F(t).name),z(i,F(t).name)}),R(e,n)}),E(a),E(n),P(()=>z(i,F(t).title)),R(e,n)});var o=N(a,2),s=e=>{R(e,sie())},c=k(()=>$X(Z.catalog));B(o,e=>{F(c)&&e(s)}),R(e,t)};B(d,e=>{Z.catalogLoading?e(f):Z.catalogError?e(p,1):e(m,-1)});var h=N(d,2),g=M(h);E(h),E(r),P((e,t)=>{z(c,Z.catalog.server),H(l,1,`audit-status-badge ${e??``}`,`svelte-1xqrzco`),z(u,t)},[()=>zX(Z.catalog),()=>RX(Z.catalog)]),I(`click`,g,()=>Z.closeCatalog()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var die=L(``),fie=L(`Derived from the name. You may edit it before saving.`),pie=L(`Immutable because it is used in URLs, scope headers, and aggregated tool names.`),mie=L(`
          `),hie=L(``);function gie(e,t){D(t,!0),bL(e,{get open(){return Z.formOpen},variant:`editor`,onclose:()=>Z.closeForm(),children:(e,t)=>{var n=hie(),r=M(n),i=M(r),a=M(i),o=M(a),s=M(o,!0);E(o),We(2),E(a),vL(N(a,2),{label:`Close MCP server editor`,onclick:()=>Z.closeForm()}),E(i);var c=N(i,2),l=e=>{var t=die(),n=M(t,!0);E(t),P(()=>z(n,Z.error)),R(e,t)};B(c,e=>{Z.error&&e(l)});var u=N(c,2),d=N(M(u),2);U(d),We(2),E(u);var f=N(u,2),p=N(M(f),2);U(p);var m=N(p,2),h=e=>{R(e,fie())},g=e=>{R(e,pie())};B(m,e=>{Z.formMode===`create`?e(h):e(g,-1)}),E(f);var _=N(f,2),v=N(M(_),2),y=M(v);y.value=y.__value=`http`;var b=N(y);b.value=b.__value=`sse`,E(v),We(2),E(_);var x=N(_,2),S=N(M(x),2);U(S),E(x);var C=N(x,2),w=N(M(C),2);V(w,21,()=>Z.form.headers,oi,(e,t,n)=>{var r=mie(),i=M(r);U(i);var a=N(i,2);U(a),D1(N(a,2),{label:`Remove header`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>Z.removeHeader(n),children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),oa(i,()=>F(t).name,e=>F(t).name=e),oa(a,()=>F(t).value,e=>F(t).value=e),R(e,r)}),E(w);var T=N(w,2),ee=M(T);G(M(ee),{name:`plus`,class:`form-action-icon`}),We(2),E(ee),E(T),We(2),E(C);var te=N(C,2),ne=M(te),re=M(ne);let ie;var ae=N(M(re),2),oe=M(ae,!0);E(ae),E(re),E(ne),E(te);var se=N(te,2),ce=N(M(se),2),le=M(ce),ue=N(M(le),2);U(ue),E(le);var de=N(le,2),fe=N(M(de),2);U(fe),E(de);var pe=N(de,2),me=N(M(pe),2);U(me),E(pe);var he=N(pe,2),ge=N(M(he),2);pt(ge),W(ge,`placeholder`,`/ +/team/alpha`),E(he);var _e=N(he,2),ve=N(M(_e),2);U(ve),E(_e),E(ce),E(se);var ye=N(se,2),be=M(ye),xe=N(be,2),Se=M(xe);G(Se,{name:`save`,class:`form-action-icon`});var Ce=N(Se,2),we=M(Ce,!0);E(Ce),E(xe),E(ye),E(r),E(n),P(()=>{z(s,Z.formMode===`edit`?`Edit MCP Server`:`Add MCP Server`),p.disabled=Z.formMode===`edit`,ie=H(re,1,`alias-toggle`,null,ie,{enabled:Z.form.enabled}),W(re,`aria-label`,(Z.form.enabled?`Disable`:`Enable`)+` MCP server`),z(oe,Z.form.enabled?`Enabled`:`Disabled`),se.open=Z.advancedOpen,xe.disabled=Z.formSubmitting,z(we,Z.formSubmitting?`Saving...`:`Save`)}),Hr(`submit`,r,e=>{e.preventDefault(),Z.submitForm()}),I(`input`,d,()=>Z.syncSlugFromName()),oa(d,()=>Z.form.name,e=>Z.form.name=e),I(`input`,p,()=>Z.markSlugEdited()),oa(p,()=>Z.form.slug,e=>Z.form.slug=e),Vi(v,()=>Z.form.transport,e=>Z.form.transport=e),oa(S,()=>Z.form.url,e=>Z.form.url=e),I(`click`,ee,()=>Z.addHeader()),I(`click`,re,()=>Z.form.enabled=!Z.form.enabled),Hr(`toggle`,se,e=>Z.advancedOpen=e.currentTarget.open),oa(ue,()=>Z.form.description,e=>Z.form.description=e),oa(fe,()=>Z.form.allowed_tools,e=>Z.form.allowed_tools=e),oa(me,()=>Z.form.disallowed_tools,e=>Z.form.disallowed_tools=e),oa(ge,()=>Z.form.user_paths,e=>Z.form.user_paths=e),oa(ve,()=>Z.form.tool_timeout_seconds,e=>Z.form.tool_timeout_seconds=e),I(`click`,be,()=>Z.closeForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`input`,`click`]);var _ie=L(`Config`),vie=L(`
          `),yie=L(`
          `),bie=L(`
          NameTransportEndpointStatusToolsEnabledActions
          `);function xie(e,t){D(t,!0);function n(e){return BX(e,e=>nL.formatTimestamp(e))}var r=bie(),i=M(r),a=N(M(i));V(a,21,()=>Z.filtered,e=>LX(e),(e,t)=>{var r=yie(),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=e=>{R(e,_ie())};B(s,e=>{F(t).managed&&e(c)});var l=N(s,2),u=M(l,!0);E(l),E(i);var d=N(i),f=M(d),p=M(f,!0);E(f),E(d);var m=N(d),h=M(m,!0);E(m);var g=N(m),_=M(g),v=M(_,!0);E(_);var y=N(_,2),b=e=>{var n=vie(),r=M(n,!0);E(n),P(()=>z(r,F(t).last_error)),R(e,n)},x=k(()=>RX(F(t))===`degraded`&&F(t).last_error);B(y,e=>{F(x)&&e(b)}),E(g);var S=N(g),C=M(S),w=M(C,!0);E(C);var T=N(C,2),ee=M(T,!0);E(T),E(S);var te=N(S),ne=M(te),re=M(ne,!0);E(ne),E(te);var ie=N(te),ae=M(ie),oe=M(ae),se=e=>{{let n=k(()=>`Edit MCP server `+F(t).name);D1(e,{get label(){return F(n)},class:`table-icon-btn`,onclick:()=>Z.openEdit(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(oe,e=>{F(t).managed||e(se)});var ce=N(oe,2);{let e=k(()=>`Inspect catalog of MCP server `+F(t).name);D1(ce,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Z.openCatalog(F(t)),children:(e,t)=>{G(e,{name:`list`,class:`form-action-icon`})},$$slots:{default:!0}})}var le=N(ce,2);{let e=k(()=>(Z.reconnectingName===LX(F(t))?`Reconnecting MCP server `:`Reconnect MCP server `)+F(t).name),n=k(()=>Z.reconnectingName===LX(F(t)));D1(le,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Z.reconnectServer(F(t)),get disabled(){return F(n)},children:(e,t)=>{G(e,{name:`refresh-cw`,class:`form-action-icon`})},$$slots:{default:!0}})}var ue=N(le,2),de=e=>{{let n=k(()=>(Z.deletingName===LX(F(t))?`Deleting MCP server `:`Delete MCP server `)+F(t).name),r=k(()=>Z.deletingName===LX(F(t)));D1(e,{get label(){return F(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>Z.deleteServer(F(t)),get disabled(){return F(r)},children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(ue,e=>{F(t).managed||e(de)}),E(ae),E(ie),E(r),P((e,n,r,i,a,s,c,l)=>{z(o,F(t).name),z(u,e),z(p,F(t).transport||`http`),W(m,`title`,n),z(h,r),H(_,1,`audit-status-badge ${i??``}`,`svelte-ah8nrt`),W(_,`title`,a),z(v,s),z(w,c),z(ee,l),H(ne,1,`auth-key-status-badge ${F(t).enabled?`auth-key-status-active`:`auth-key-status-inactive`}`),z(re,F(t).enabled?`Enabled`:`Disabled`)},[()=>LX(F(t)),()=>VX(F(t)),()=>VX(F(t)),()=>zX(F(t)),()=>n(F(t)),()=>RX(F(t)),()=>qL(F(t).tool_count||0),()=>HX(F(t))]),R(e,r)}),E(a),E(i),E(r),R(e,r),O()}var Sie=L(`

          MCP Servers

          `),Cie=L(``),wie=L(`
          MCP server management is unavailable.
          `),Tie=L(``),Eie=L(`
          `),Die=L(`

          No MCP servers yet. Add one here, or declare servers in config.yaml under mcp.servers.

          `),Oie=L(`

          No MCP servers match your filter.

          `),kie=L(`
          `);function Aie(e,t){D(t,!0),Nn(()=>{K.refreshTick,WI.page===`mcp-servers`&&Z.fetchServers()});var n=kie(),r=M(n),i=M(r);bQ(M(i),{copyId:`mcp-servers-help-copy`,label:`MCP servers help`,text:`Upstream Model Context Protocol servers whose tools, prompts, and resources the gateway exposes to clients. Servers added here connect over HTTP or SSE; stdio servers and rows marked Config are declared in config.yaml under mcp.servers and are read-only in the dashboard. Saved header values are masked in API and dashboard responses.`,title:e=>{R(e,Sie())},$$slots:{title:!0}}),E(i);var a=N(i,2),o=M(a),s=e=>{var t=Cie();G(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Z.formSubmitting),I(`click`,t,()=>Z.openCreate()),R(e,t)};B(o,e=>{Z.available&&!K.authError&&e(s)}),E(a),E(r);var c=N(r,2),l=e=>{R(e,wie())};B(c,e=>{!Z.available&&!K.authError&&e(l)});var u=N(c,2),d=e=>{var t=Tie(),n=M(t,!0);E(t),P(()=>z(n,Z.error)),R(e,t)};B(u,e=>{Z.error&&!K.authError&&!Z.formOpen&&e(d)});var f=N(u,2),p=e=>{T1(e,{label:`Loading MCP servers...`})};B(f,e=>{Z.loading&&!K.authError&&e(p)});var m=N(f,2),h=e=>{var t=Eie(),n=M(t);j$(M(n),{id:`mcp-server-filter`,placeholder:`Filter by name, slug, URL, transport, or status...`,label:`Filter MCP servers by name, slug, URL, transport, or status`,get value(){return Z.filter},set value(e){Z.filter=e}}),E(n),E(t),R(e,t)};B(m,e=>{(Z.servers.length>0||Z.filter)&&Z.available&&!K.authError&&e(h)});var g=N(m,2);gie(g,{});var _=N(g,2);uie(_,{});var v=N(_,2),y=e=>{xie(e,{})};B(v,e=>{Z.filtered.length>0&&Z.available&&!K.authError&&e(y)});var b=N(v,2),x=e=>{R(e,Die())};B(b,e=>{Z.servers.length===0&&!Z.filter&&!Z.loading&&!K.authError&&!Z.error&&Z.available&&e(x)});var S=N(b,2),C=e=>{R(e,Oie())};B(S,e=>{Z.servers.length>0&&Z.filtered.length===0&&Z.filter&&!Z.loading&&!K.authError&&Z.available&&e(C)}),E(n),R(e,n),O()}Ur([`click`]);function L9(){return{name:``,type:``,api_keys:[],base_url:``,api_version:``,backend:``,auth_type:``,api_mode:``,vertex_project:``,vertex_location:``,service_account_file:``,service_account_json:``,service_account_json_base64:``,gcp_scope:``,models:``,enabled:!0}}function jie(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.type,e.base_url].some(e=>String(e||``).toLowerCase().includes(r)))}function Mie(e,t){let n=Array.isArray(e)?e.slice():[],r=String(t||``).trim();return r&&!n.includes(r)&&n.push(r),n}function Nie(e){let t=Array.isArray(e&&e.api_keys)?e.api_keys.length:0;return t>0?t+` key`+(t===1?``:`s`):String(e&&e.service_account_json||``).trim()||String(e&&e.service_account_json_base64||``).trim()||String(e&&e.service_account_file||``).trim()?`service account`:String(e&&e.vertex_project||``).trim()?`ADC`:`keyless`}function Pie(e){let t=Array.isArray(e&&e.models)?e.models:[];return t.length===0?`auto-discovered`:t.length+` model`+(t.length===1?``:`s`)}function Fie(e){return(Array.isArray(e)?e:[]).map(e=>({value:String(e||``)}))}function R9(e){return(Array.isArray(e)?e:[]).map(e=>String(e&&e.value||``))}function Iie(e,t){let n=String(t||``).trim();if(!n)return``;let r=new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.name||``).trim()));if(!r.has(n))return n;let i=1;for(;r.has(n+`-`+i);)i+=1;return n+`-`+i}function Lie(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),api_keys:Fie(e&&e.api_keys),base_url:String(e&&e.base_url||``),api_version:String(e&&e.api_version||``),backend:String(e&&e.backend||``),auth_type:String(e&&e.auth_type||``),api_mode:String(e&&e.api_mode||``),vertex_project:String(e&&e.vertex_project||``),vertex_location:String(e&&e.vertex_location||``),service_account_file:String(e&&e.service_account_file||``),service_account_json:String(e&&e.service_account_json||``),service_account_json_base64:String(e&&e.service_account_json_base64||``),gcp_scope:String(e&&e.gcp_scope||``),models:(Array.isArray(e&&e.models)?e.models:[]).join(`, `),enabled:!e||e.enabled!==!1}}function Rie(e,t,n){let r=String(e&&e.name||``).trim(),i=String(e&&e.type||``).trim();return r?i?t===`create`&&(Array.isArray(n)?n:[]).some(e=>String(e&&e.name||``).trim()===r)?`Provider "`+r+`" already exists.`:R9(e&&e.api_keys).some(e=>!e.trim())?`API key rows cannot be empty. Remove the row instead of leaving it blank.`:``:`Type is required.`:`Name is required.`}function zie(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),api_keys:R9(e&&e.api_keys),base_url:String(e&&e.base_url||``).trim(),api_version:String(e&&e.api_version||``).trim(),backend:String(e&&e.backend||``).trim(),auth_type:String(e&&e.auth_type||``).trim(),api_mode:String(e&&e.api_mode||``).trim(),vertex_project:String(e&&e.vertex_project||``).trim(),vertex_location:String(e&&e.vertex_location||``).trim(),service_account_file:String(e&&e.service_account_file||``).trim(),service_account_json:e&&e.service_account_json||``,service_account_json_base64:String(e&&e.service_account_json_base64||``).trim(),gcp_scope:String(e&&e.gcp_scope||``).trim(),models:KL(e&&e.models),enabled:!!(e&&e.enabled)}}var Q=new class{#e=A(fn([]));get rows(){return F(this.#e)}set rows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get formSubmitting(){return F(this.#o)}set formSubmitting(e){j(this.#o,e,!0)}#s=A(`create`);get formMode(){return F(this.#s)}set formMode(e){j(this.#s,e,!0)}#c=A(!1);get advancedOpen(){return F(this.#c)}set advancedOpen(e){j(this.#c,e,!0)}#l=A(fn(L9()));get form(){return F(this.#l)}set form(e){j(this.#l,e,!0)}#u=A(``);get deletingName(){return F(this.#u)}set deletingName(e){j(this.#u,e,!0)}#d=A(!1);get deleteSubmitting(){return F(this.#d)}set deleteSubmitting(e){j(this.#d,e,!0)}#f=A(fn([]));get types(){return F(this.#f)}set types(e){j(this.#f,e,!0)}#p=A(!1);get typesLoaded(){return F(this.#p)}set typesLoaded(e){j(this.#p,e,!0)}#m=null;get filteredRows(){return jie(this.rows,this.filter)}async fetchTypes(){try{let e=await cL(`/admin/provider-credentials/types`,{label:`provider credential types`});if(e.stale||e.status===503||e.status===404||!e.ok)return;this.types=Array.isArray(e.data)?e.data:[],this.typesLoaded=!0}catch(e){console.error(`Failed to fetch provider credential types:`,e)}}async fetchPage(){this.#m&&this.#m.abort();let e=new AbortController;this.#m=e,this.loading=!0,this.error=``;try{let t=await cL(`/admin/provider-credentials`,{label:`provider credentials`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(t.status===503||t.status===404){this.available=!1,this.rows=[];return}if(this.available=!0,!t.ok){this.rows=[],t.status!==401&&(this.error=rL(t.data,`Failed to load provider credentials.`));return}this.rows=Array.isArray(t.data)?t.data:[],this.typesLoaded||await this.fetchTypes()}catch(e){if(uL(e))return;console.error(`Failed to fetch provider credentials:`,e),this.rows=[],this.error=`Unable to load provider credentials.`}finally{this.#m===e&&(this.#m=null,this.loading=!1)}}openCreate(){this.formMode=`create`,this.advancedOpen=!1,this.error=``,this.form=L9(),this.formOpen=!0,this.typesLoaded||this.fetchTypes()}openEdit(e){!e||e.managed||(this.formMode=`edit`,this.advancedOpen=!1,this.error=``,this.form=Lie(e),this.formOpen=!0,this.typesLoaded||this.fetchTypes())}closeForm(){this.formOpen=!1,this.formMode=`create`,this.advancedOpen=!1,this.error=``,this.form=L9()}addApiKeyRow(){this.form.api_keys.push({value:``})}removeApiKeyRow(e){this.form.api_keys.splice(e,1)}#h(){UL.fetchModels(),UL.fetchCategories()}async submitForm(){let e=Rie(this.form,this.formMode,this.rows);if(e){this.error=e;return}let t=zie(this.form);this.error=``,this.formSubmitting=!0;try{let e=await lL(`/admin/provider-credentials`,`PUT`,t,{label:`save provider credential`});if(e.stale)return;if(e.status===503){this.available=!1,this.error=`Provider credential management is unavailable.`;return}if(!e.ok){if(e.status===401){this.error=`Authentication required.`;return}this.error=rL(e.data,`Failed to save provider credential.`);return}q.success(`Provider "`+t.name+`" saved.`),this.closeForm(),this.#h(),this.fetchPage()}catch(e){console.error(`Failed to save provider credential:`,e),this.error=`Failed to save provider credential.`}finally{this.formSubmitting=!1}}async performDelete(e){this.deleteSubmitting=!0,this.deletingName=e;try{let t=await lL(`/admin/provider-credentials/`+encodeURIComponent(e),`DELETE`,void 0,{label:`delete provider credential`});if(t.stale)return;if(t.status===503){this.available=!1,TL.error=`Provider credential management is unavailable.`;return}if(!t.ok){TL.error=t.status===401?`Authentication required.`:rL(t.data,`Failed to delete provider credential.`);return}q.success(`Provider "`+e+`" deleted.`),TL.close(),this.formOpen&&this.form.name===e&&this.closeForm(),this.#h(),this.fetchPage()}catch(e){console.error(`Failed to delete provider credential:`,e),TL.error=`Failed to delete provider credential.`}finally{this.deleteSubmitting=!1,this.deletingName=``}}requestDelete(e){let t=String(e||``).trim();if(!t||this.deleteSubmitting)return;let n=(this.rows||[]).find(e=>String(e&&e.name||``).trim()===t);n&&n.managed||TL.open({title:`Delete Provider`,titleId:`providerCredentialDeleteDialogTitle`,inputId:`provider-credential-delete-confirmation`,message:`Type "`+t+`" to permanently delete this provider credential. Requests routed to it will fail until it is reconfigured.`,requiredText:t,confirmLabel:`Delete Provider`,icon:`trash-2`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.performDelete(t)})}},Bie=L(`Config`),Vie=L(` `,1),Hie=L(`
          `),Uie=L(`
          NameTypeBase URLAuthModelsEnabledUpdatedActions
          `);function Wie(e,t){D(t,!0);var n=Uie(),r=M(n),i=N(M(r));V(i,21,()=>Q.filteredRows,e=>e.name,(e,t)=>{var n=Hie(),r=M(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2),s=e=>{R(e,Bie())};B(o,e=>{F(t).managed&&e(s)}),E(r);var c=N(r),l=M(c),u=M(l,!0);E(l),E(c);var d=N(c),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=M(h,!0);E(h);var _=N(h),v=M(_);let y;var b=M(v,!0);E(v),E(_);var x=N(_),S=M(x,!0);E(x);var C=N(x),w=M(C),T=M(w),ee=e=>{var n=Vie(),r=Cn(n);{let e=k(()=>`Edit provider `+F(t).name);D1(r,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Q.openEdit(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var i=N(r,2);{let e=k(()=>(Q.deletingName===F(t).name?`Deleting provider `:`Delete provider `)+F(t).name),n=k(()=>Q.deletingName===F(t).name);D1(i,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>Q.requestDelete(F(t).name),get disabled(){return F(n)},children:(e,t)=>{G(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}R(e,n)};B(T,e=>{F(t).managed||e(ee)}),E(w),E(C),E(n),P((e,n,r)=>{z(a,F(t).name),z(u,F(t).type),W(d,`title`,F(t).base_url||``),z(f,F(t).base_url||`—`),z(m,e),z(g,n),y=H(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":F(t).enabled,"auth-key-status-inactive":!F(t).enabled}),z(b,F(t).enabled?`Enabled`:`Disabled`),z(S,r)},[()=>Nie(F(t)),()=>Pie(F(t)),()=>nL.formatTimestamp(F(t).updated_at)]),R(e,n)}),E(i),E(r),E(n),R(e,n),O()}var Gie=L(``),Kie=L(``),qie=L(`Suggested from the selected type; used to route requests to this provider instance and editable before saving.`),Jie=L(`Immutable once created.`),Yie=L(`
          `),Xie=L(``);function Zie(e,t){D(t,!0);let n=k(()=>Mie(Q.types,Q.form.type));function r(){Q.formMode===`create`&&(Q.form.name=Iie(Q.rows,Q.form.type))}bL(e,{get open(){return Q.formOpen},variant:`editor`,onclose:()=>Q.closeForm(),children:(e,t)=>{var i=Xie(),a=M(i),o=M(a),s=M(o),c=M(s),l=M(c,!0);E(c),We(2),E(s),vL(N(s,2),{label:`Close provider editor`,onclick:()=>Q.closeForm()}),E(o);var u=N(o,2),d=e=>{var t=Gie(),n=M(t,!0);E(t),P(()=>z(n,Q.error)),R(e,t)};B(u,e=>{Q.error&&e(d)});var f=N(u,2),p=N(M(f),2),m=M(p);m.value=m.__value=``,V(N(m),16,()=>F(n),e=>e,(e,t)=>{var n=Kie(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(p),We(2),E(f);var h=N(f,2),g=N(M(h),2);U(g);var _=N(g,2),v=e=>{R(e,qie())},y=e=>{R(e,Jie())};B(_,e=>{Q.formMode===`create`?e(v):e(y,-1)}),E(h);var b=N(h,2),x=N(M(b),2);V(x,21,()=>Q.form.api_keys,oi,(e,t,n)=>{var r=Yie(),i=M(r);U(i),W(i,`id`,`provider-credential-api-key-`+n),D1(N(i,2),{label:`Remove API key`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>Q.removeApiKeyRow(n),children:(e,t)=>{G(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),oa(i,()=>F(t).value,e=>F(t).value=e),R(e,r)}),E(x);var S=N(x,2),C=M(S);G(M(C),{name:`plus`,class:`form-action-icon`}),We(2),E(C),E(S),We(2),E(b);var w=N(b,2),T=M(w),ee=M(T);let te;var ne=N(M(ee),2),re=M(ne,!0);E(ne),E(ee),E(T),E(w);var ie=N(w,2),ae=N(M(ie),2),oe=M(ae),se=N(M(oe),2);U(se),E(oe);var ce=N(oe,2),le=N(M(ce),2);U(le),We(2),E(ce);var ue=N(ce,2),de=N(M(ue),2);U(de),E(ue);var fe=N(ue,2),pe=N(M(fe),2);U(pe),E(fe);var me=N(fe,2),he=N(M(me),2);U(he),E(me);var ge=N(me,2),_e=N(M(ge),2);U(_e),E(ge);var ve=N(ge,2),ye=N(M(ve),2);U(ye),E(ve);var be=N(ve,2),xe=N(M(be),2);U(xe),E(be);var Se=N(be,2),Ce=N(M(Se),2);U(Ce),E(Se);var we=N(Se,2),Te=N(M(we),2);pt(Te),We(2),E(we);var Ee=N(we,2),De=N(M(Ee),2);U(De),We(2),E(Ee);var Oe=N(Ee,2),ke=N(M(Oe),2);U(ke),E(Oe),E(ae),E(ie);var Ae=N(ie,2),je=M(Ae),Me=N(je,2),Ne=M(Me);G(Ne,{name:`save`,class:`form-action-icon`});var Pe=N(Ne,2),Fe=M(Pe,!0);E(Pe),E(Me),E(Ae),E(a),E(i),P(()=>{z(l,Q.formMode===`edit`?`Edit Provider`:`Add Provider`),p.disabled=Q.formMode===`edit`,g.disabled=Q.formMode===`edit`,te=H(ee,1,`alias-toggle`,null,te,{enabled:Q.form.enabled}),W(ee,`aria-label`,(Q.form.enabled?`Disable`:`Enable`)+` provider`),z(re,Q.form.enabled?`Enabled`:`Disabled`),ie.open=Q.advancedOpen,Me.disabled=Q.formSubmitting,z(Fe,Q.formSubmitting?`Saving...`:`Save`)}),Hr(`submit`,a,e=>{e.preventDefault(),Q.submitForm()}),I(`change`,p,r),Vi(p,()=>Q.form.type,e=>Q.form.type=e),oa(g,()=>Q.form.name,e=>Q.form.name=e),I(`click`,C,()=>Q.addApiKeyRow()),I(`click`,ee,()=>Q.form.enabled=!Q.form.enabled),Hr(`toggle`,ie,e=>Q.advancedOpen=e.currentTarget.open),oa(se,()=>Q.form.base_url,e=>Q.form.base_url=e),oa(le,()=>Q.form.models,e=>Q.form.models=e),oa(de,()=>Q.form.api_version,e=>Q.form.api_version=e),oa(pe,()=>Q.form.backend,e=>Q.form.backend=e),oa(he,()=>Q.form.auth_type,e=>Q.form.auth_type=e),oa(_e,()=>Q.form.api_mode,e=>Q.form.api_mode=e),oa(ye,()=>Q.form.vertex_project,e=>Q.form.vertex_project=e),oa(xe,()=>Q.form.vertex_location,e=>Q.form.vertex_location=e),oa(Ce,()=>Q.form.service_account_file,e=>Q.form.service_account_file=e),oa(Te,()=>Q.form.service_account_json,e=>Q.form.service_account_json=e),oa(De,()=>Q.form.service_account_json_base64,e=>Q.form.service_account_json_base64=e),oa(ke,()=>Q.form.gcp_scope,e=>Q.form.gcp_scope=e),I(`click`,je,()=>Q.closeForm()),R(e,i)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var Qie=L(`

          Providers

          `),$ie=L(``),eae=L(`
          Provider credential management is unavailable.
          `),tae=L(``),nae=L(`
          `),rae=L(`

          No dashboard-managed providers yet. Add one here, or declare providers in config.yaml / environment variables.

          `),iae=L(`

          No providers match your filter.

          `),aae=L(`
          `);function oae(e,t){D(t,!0),Nn(()=>{K.refreshTick,WI.page===`providers-config`&&Q.fetchPage()});var n=aae(),r=M(n),i=M(r);bQ(M(i),{copyId:`providers-config-help-copy`,label:`model providers help`,title:e=>{R(e,Qie())},help:e=>{We(),R(e,Qr(`Configure LLM provider credentials here instead of setting API keys as + environment variables. Providers declared in config.yaml or env vars + are read-only (Config badge) and cannot be edited or deleted from the + dashboard. Keys are masked after saving.`))},$$slots:{title:!0,help:!0}}),E(i);var a=N(i,2),o=M(a),s=e=>{var t=$ie();G(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Q.formSubmitting),I(`click`,t,()=>Q.openCreate()),R(e,t)};B(o,e=>{Q.available&&!K.needsAuth&&e(s)}),E(a),E(r);var c=N(r,2),l=e=>{R(e,eae())};B(c,e=>{!Q.available&&!K.needsAuth&&e(l)});var u=N(c,2),d=e=>{var t=tae(),n=M(t,!0);E(t),P(()=>z(n,Q.error)),R(e,t)};B(u,e=>{Q.error&&!K.needsAuth&&!Q.formOpen&&e(d)});var f=N(u,2),p=e=>{T1(e,{label:`Loading providers...`})};B(f,e=>{Q.loading&&!K.needsAuth&&e(p)});var m=N(f,2),h=e=>{var t=nae(),n=M(t);j$(M(n),{id:`provider-credential-filter`,placeholder:`Filter by name, type, or base URL...`,label:`Filter providers by name, type, or base URL`,get value(){return Q.filter},set value(e){Q.filter=e}}),E(n),E(t),R(e,t)};B(m,e=>{(Q.rows.length>0||Q.filter)&&Q.available&&!K.needsAuth&&e(h)});var g=N(m,2);Zie(g,{});var _=N(g,2),v=e=>{Wie(e,{})};B(_,e=>{Q.filteredRows.length>0&&Q.available&&!K.needsAuth&&e(v)});var y=N(_,2),b=e=>{R(e,rae())};B(y,e=>{Q.rows.length===0&&!Q.filter&&!Q.loading&&!K.needsAuth&&!Q.error&&Q.available&&e(b)});var x=N(y,2),S=e=>{R(e,iae())};B(x,e=>{Q.rows.length>0&&Q.filteredRows.length===0&&Q.filter&&!Q.loading&&!K.needsAuth&&Q.available&&e(S)}),E(n),R(e,n),O()}Ur([`click`]);function z9(){return{name:``,description:``,user_path:``,labels:``,dashboard_access:!1,expires_at:``}}function B9(e){let t=[];for(let n of String(e||``).split(`,`)){let e=n.trim();e&&!t.includes(e)&&t.push(e)}return t}function V9(e){let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t;for(let e of n.split(`/`)){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function sae(e){if(V9(e))return``;let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t,r=[];for(let e of n.split(`/`)){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function cae(e){let t=e||{},n=String(t.name||``).trim();if(!n)return{error:`Name is required.`};let r=V9(t.user_path);if(r)return{error:r};let i=sae(t.user_path),a=B9(t.labels),o={name:n,description:String(t.description||``).trim()||void 0,user_path:i||void 0,labels:a.length?a:void 0,dashboard_access:t.dashboard_access?!0:void 0};return t.expires_at&&(o.expires_at=t.expires_at+`T23:59:59Z`),{payload:o}}function H9(e,t=Date.now()){let n=e&&e.expires_at;if(!n)return!1;let r=Date.parse(n);return Number.isFinite(r)&&r<=t}function U9(e){return e?!!e.deactivated_at||e.enabled===!1:!1}function W9(e,t=Date.now()){return!e||e.active===!1||U9(e)?!1:!H9(e,t)}function lae(e){return[e.name,e.description,e.user_path,e.redacted_value,...e.labels||[]].filter(Boolean).join(` `).toLowerCase()}function uae(e,t={}){let{query:n=``,showInactive:r=!1,now:i=Date.now()}=t,a=String(n||``).trim().toLowerCase();return(Array.isArray(e)?e:[]).filter(e=>!r&&!W9(e,i)?!1:!a||lae(e).includes(a))}function G9(e,t){return U9(e)?2:+!W9(e,t)}function K9(e){let t=e&&e.expires_at;if(!t)return 1/0;let n=Date.parse(t);return Number.isFinite(n)?n:1/0}function q9(e){let t=Date.parse(e&&e.deactivated_at||``);return Number.isFinite(t)?t:-1/0}function dae(e,t=Date.now()){return(Array.isArray(e)?e.slice():[]).sort((e,n)=>{let r=G9(e,t),i=G9(n,t);if(r!==i)return r-i;let[a,o]=r===2?[q9(e),q9(n)]:[K9(e),K9(n)];return a===o?String(e.name||``).localeCompare(String(n.name||``)):a>o?-1:1})}function fae(e,t=Date.now()){return(Array.isArray(e)?e:[]).reduce((e,n)=>e+ +!W9(n,t),0)}function J9(){return{open:!1,id:``,name:``,value:``,submitting:!1,error:``}}var $=new class{#e=A(fn([]));get keys(){return F(this.#e)}set keys(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get showInactive(){return F(this.#a)}set showInactive(e){j(this.#a,e,!0)}#o=k(()=>dae(uae(this.keys,{query:this.filter,showInactive:this.showInactive})));get visibleKeys(){return F(this.#o)}set visibleKeys(e){j(this.#o,e)}#s=k(()=>fae(this.keys));get inactiveCount(){return F(this.#s)}set inactiveCount(e){j(this.#s,e)}#c=A(!1);get formOpen(){return F(this.#c)}set formOpen(e){j(this.#c,e,!0)}#l=A(!1);get formSubmitting(){return F(this.#l)}set formSubmitting(e){j(this.#l,e,!0)}#u=A(``);get issuedValue(){return F(this.#u)}set issuedValue(e){j(this.#u,e,!0)}#d=A(``);get deactivatingID(){return F(this.#d)}set deactivatingID(e){j(this.#d,e,!0)}#f=A(``);get dashboardAccessID(){return F(this.#f)}set dashboardAccessID(e){j(this.#f,e,!0)}#p=A(fn(z9()));get form(){return F(this.#p)}set form(e){j(this.#p,e,!0)}#m=A(fn(J9()));get labelsEditor(){return F(this.#m)}set labelsEditor(e){j(this.#m,e,!0)}copyState=o5({logPrefix:`Failed to copy auth key:`});async fetchKeys(){this.loading=!0,this.error=``;try{let e=await cL(`/admin/auth-keys`,{label:`auth keys`});if(e.status===503){this.available=!1,this.keys=[];return}if(e.stale)return;if(this.available=!0,!e.ok){e.status!==401&&(this.error=rL(e.data,`Unable to load API keys.`));return}this.keys=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch auth keys:`,e),this.keys=[],this.error=`Unable to load API keys.`}finally{this.loading=!1}}openForm(){this.formSubmitting||this.formOpen||(this.formOpen=!0,this.error=``,this.issuedValue||(this.copyState.reset(),this.form=z9()))}closeForm(){this.formOpen&&(this.formOpen=!1,this.error=``,this.copyState.reset(),!this.formSubmitting&&!this.issuedValue&&(this.form=z9()))}copyIssuedValue(){return this.copyState.copy(this.issuedValue)}dismissIssuedKey(){this.issuedValue=``,this.copyState.reset(),this.form=z9()}async submitForm(){let e=cae(this.form);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await lL(`/admin/auth-keys`,`POST`,e.payload,{label:`create API key`});if(t.status===503){this.available=!1,this.error=`Auth keys feature is unavailable.`;return}if(t.stale)return;if(!t.ok){if(t.status===401){this.error=`Authentication required.`;return}this.error=rL(t.data,`Failed to create API key.`),console.error(`Failed to create API key:`,t.status,this.error);return}let n=t.data||{};this.issuedValue=n.value||``,this.formOpen=!0,this.copyState.reset(),this.form=z9(),this.fetchKeys()}catch(e){console.error(`Failed to issue auth key:`,e),this.error=`Failed to create API key.`}finally{this.formSubmitting=!1}}openLabelsEditor(e){!e||this.labelsEditor.submitting||(this.labelsEditor={open:!0,id:e.id,name:e.name||``,value:(e.labels||[]).join(`, `),submitting:!1,error:``})}closeLabelsEditor(){!this.labelsEditor.open||this.labelsEditor.submitting||(this.labelsEditor=J9())}async submitLabelsEditor(){let e=this.labelsEditor;if(!e.open||e.submitting||!e.id)return;e.submitting=!0,e.error=``;let t={labels:B9(e.value)};try{let n=await lL(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/labels`,`PUT`,t,{label:`update API key labels`});if(n.status===503){this.available=!1,e.error=`Auth keys feature is unavailable.`;return}if(n.stale)return;if(!n.ok){if(n.status===401){e.error=`Authentication required.`;return}e.error=rL(n.data,`Failed to update labels.`),console.error(`Failed to update auth key labels:`,n.status,e.error);return}q.success(`Labels updated for key "`+e.name+`".`),e.submitting=!1,this.closeLabelsEditor(),this.fetchKeys()}catch(t){console.error(`Failed to update auth key labels:`,t),e.error=`Failed to update labels.`}finally{e.submitting=!1}}async toggleDashboardAccess(e){if(!e||!e.active||this.dashboardAccessID)return;let t=!e.dashboard_access;this.dashboardAccessID=e.id;try{let n=await lL(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/dashboard-access`,`PUT`,{dashboard_access:t},{label:`update API key dashboard access`});if(n.status===503){this.available=!1,q.error(`Auth keys feature is unavailable.`);return}if(n.stale)return;if(!n.ok){if(n.status===401){q.error(`Authentication required.`);return}let e=rL(n.data,`Failed to update dashboard access.`);console.error(`Failed to update auth key dashboard access:`,n.status,e),q.error(e);return}q.success(`Dashboard access `+(t?`granted to`:`revoked for`)+` key "`+e.name+`".`),this.fetchKeys()}catch(e){console.error(`Failed to update auth key dashboard access:`,e),q.error(`Failed to update dashboard access.`)}finally{this.dashboardAccessID=``}}async deactivateKey(e){if(!(!e||!e.active)&&window.confirm(`Deactivate key "`+e.name+`"? This cannot be undone.`)){this.deactivatingID=e.id;try{let t=await lL(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/deactivate`,`POST`,void 0,{label:`deactivate API key`});if(t.status===503){this.available=!1,q.error(`Auth keys feature is unavailable.`);return}if(t.stale)return;if(!t.ok){if(t.status===401){q.error(`Authentication required.`);return}let e=rL(t.data,`Failed to deactivate key.`);console.error(`Failed to deactivate auth key:`,t.status,e),q.error(e);return}q.success(`Key "`+e.name+`" deactivated.`),this.fetchKeys()}catch(e){console.error(`Failed to deactivate auth key:`,e),q.error(`Failed to deactivate key.`)}finally{this.deactivatingID=``}}}},pae=L(``),mae=L(`

          Store this key securely — it won’t be shown again.

          `),hae=L(``),gae=L(``),_ae=L(``),vae=L(``),yae=L(``),bae=L(`
          `),xae=L(``);function Sae(e,t){D(t,!0);function n(){K.dialogOpen||$.closeForm()}function r(e){e.preventDefault(),$.submitForm()}bL(e,{get open(){return $.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=xae(),i=M(n),a=M(i);vL(N(M(a),2),{label:`Close`,onclick:()=>$.closeForm()}),E(a);var o=N(a,2),s=e=>{var t=mae(),n=N(M(t),2),r=M(n),i=M(r,!0);E(r),S9(N(r,2),{get state(){return $.copyState},onclick:()=>$.copyIssuedValue()}),E(n);var a=N(n,2),o=e=>{R(e,pae())};B(a,e=>{$.copyState.error&&e(o)});var s=N(a,2),c=M(s);E(s),E(t),P(()=>z(i,$.issuedValue)),I(`click`,c,()=>$.dismissIssuedKey()),R(e,t)},c=e=>{var t=bae(),n=M(t),r=M(n),i=N(M(r),2);U(i),E(r);var a=N(r,2),o=N(M(a),2);U(o),E(a),E(n);var s=N(n,2),c=M(s);bQ(c,{copyId:`auth-key-user-path-help-copy`,label:`API key user path help`,title:e=>{R(e,hae())},help:e=>{We(),R(e,Qr(`When set, this key overrides the configured user path request + header for audit logging and downstream request context.`))},$$slots:{title:!0,help:!0}});var l=N(c,2);U(l),E(s);var u=N(s,2),d=M(u);bQ(d,{copyId:`auth-key-labels-help-copy`,label:`API key labels help`,title:e=>{R(e,gae())},help:e=>{We(),R(e,Qr(`Every request authenticated with this key gets these labels, in + addition to any labels from tagging headers. Labels show up in + usage analytics, the request log, and audit logs.`))},$$slots:{title:!0,help:!0}});var f=N(d,2);U(f),E(u);var p=N(u,2),m=M(p);bQ(m,{copyId:`auth-key-dashboard-access-help-copy`,label:`API key dashboard access help`,title:e=>{R(e,_ae())},help:e=>{We(),R(e,Qr(`When off, this key is denied the dashboard and every /admin API + endpoint. Model endpoints and GET /v1/usage stay available to + the key. The master key always has dashboard access.`))},$$slots:{title:!0,help:!0}});var h=N(m,2),g=M(h);U(g),We(2),E(h),E(p);var _=N(p,2),v=N(M(_),2);pt(v),E(_);var y=N(_,2),b=e=>{var t=vae(),n=M(t,!0);E(t),P(()=>z(n,$.error)),R(e,t)};B(y,e=>{$.error&&e(b)});var x=N(y,2),S=M(x),C=M(S),w=e=>{var t=yae();G(M(t),{name:`plus`,class:`table-icon-svg`}),E(t),R(e,t)};B(C,e=>{$.formSubmitting||e(w)});var T=N(C,2),ee=M(T,!0);E(T),E(S),E(x),E(t),P(()=>{S.disabled=$.formSubmitting,z(ee,$.formSubmitting?`Creating...`:`Create API Key`)}),oa(i,()=>$.form.name,e=>$.form.name=e),oa(o,()=>$.form.expires_at,e=>$.form.expires_at=e),oa(l,()=>$.form.user_path,e=>$.form.user_path=e),oa(f,()=>$.form.labels,e=>$.form.labels=e),sa(g,()=>$.form.dashboard_access,e=>$.form.dashboard_access=e),oa(v,()=>$.form.description,e=>$.form.description=e),R(e,t)};B(o,e=>{$.issuedValue?e(s):e(c,-1)}),E(i),E(n),Hr(`submit`,i,r),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var Cae=L(``),wae=L(``);function Tae(e,t){D(t,!0);function n(e){e.preventDefault(),$.submitLabelsEditor()}bL(e,{get open(){return $.labelsEditor.open},variant:`editor`,onclose:()=>$.closeLabelsEditor(),children:(e,t)=>{var r=wae(),i=M(r),a=M(i),o=M(a),s=N(M(o),2),c=M(s,!0);E(s),E(o),vL(N(o,2),{label:`Close`,onclick:()=>$.closeLabelsEditor()}),E(a);var l=N(a,2),u=N(M(l),2);U(u),We(2),E(l);var d=N(l,2),f=e=>{var t=Cae(),n=M(t,!0);E(t),P(()=>z(n,$.labelsEditor.error)),R(e,t)};B(d,e=>{$.labelsEditor.error&&e(f)});var p=N(d,2),m=M(p),h=M(m,!0);E(m),E(p),E(i),E(r),P(()=>{z(c,$.labelsEditor.name),m.disabled=$.labelsEditor.submitting,z(h,$.labelsEditor.submitting?`Saving...`:`Save Labels`)}),Hr(`submit`,i,n),oa(u,()=>$.labelsEditor.value,e=>$.labelsEditor.value=e),R(e,r)},$$slots:{default:!0}}),O()}var Eae=L(` `),Dae=L(`
          `),Oae=L(``),kae=L(`Expired`),Aae=L(` `),jae=L(` `,1),Mae=L(`Deactivated`),Nae=L(`
          `),Pae=L(`
          NameDescriptionUser PathLabelsTokenDashboard Access ExpiresCreated
          `);function Fae(e,t){D(t,!0);var n=Pae(),r=M(n),i=M(r),a=M(i),o=N(M(a),5),s=M(o);G(N(M(s)),{name:`info`,width:`13`,height:`13`}),E(s),E(o),We(3),E(a),E(i);var c=N(i);V(c,21,()=>$.visibleKeys,e=>e.id,(e,t)=>{var n=Nae();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i),s=M(o,!0);E(o);var c=N(o),l=M(c,!0);E(c);var u=N(c),d=M(u),f=e=>{var n=Dae();V(n,20,()=>F(t).labels||[],e=>e,(e,t)=>{var n=Eae(),r=M(n,!0);E(n),P(e=>{Ri(n,e),z(r,t)},[()=>hY(t)]),R(e,n)}),E(n),R(e,n)},p=e=>{R(e,Oae())};B(d,e=>{(F(t).labels||[]).length>0?e(f):e(p,-1)}),E(u);var m=N(u),h=M(m),g=M(h,!0);E(h),E(m);var _=N(m),v=M(_);let y;var b=M(v,!0);E(v),E(_);var x=N(_),S=M(x),C=e=>{var n=Aae(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{R(e,kae())},s=k(()=>H9(F(t)));B(a,e=>{F(s)&&e(o)}),E(n),P(e=>z(i,e),[()=>eR(F(t).expires_at)]),R(e,n)},w=e=>{R(e,Qr(`—`))};B(S,e=>{F(t).expires_at?e(C):e(w,-1)}),E(x);var T=N(x),ee=M(T,!0);E(T);var te=N(T),ne=M(te),re=M(ne),ie=e=>{var n=jae(),r=Cn(n);{let e=k(()=>(F(t).dashboard_access?`Revoke dashboard access for API key `:`Grant dashboard access to API key `)+F(t).name),n=k(()=>!!$.dashboardAccessID);D1(r,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>$.toggleDashboardAccess(F(t)),get disabled(){return F(n)},children:(e,n)=>{{let n=k(()=>F(t).dashboard_access?`shield-off`:`shield-check`);G(e,{get name(){return F(n)},class:`table-icon-svg`})}},$$slots:{default:!0}})}var i=N(r,2);{let e=k(()=>`Edit labels for API key `+F(t).name);D1(i,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>$.openLabelsEditor(F(t)),children:(e,t)=>{G(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}var a=N(i,2);{let e=k(()=>($.deactivatingID===F(t).id?`Deactivating API key `:`Deactivate API key `)+F(t).name),n=k(()=>$.deactivatingID===F(t).id);D1(a,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>$.deactivateKey(F(t)),get disabled(){return F(n)},children:(e,t)=>{G(e,{name:`power`,class:`table-icon-svg`})},$$slots:{default:!0}})}R(e,n)},ae=e=>{var n=Mae();P(e=>W(n,`title`,e),[()=>F(t).deactivated_at?`Deactivated on `+tR(F(t).deactivated_at):`Deactivated`]),R(e,n)},oe=k(()=>U9(F(t)));B(re,e=>{F(t).active?e(ie):F(oe)&&e(ae,1)}),E(ne),E(te),E(n),P((e,i,o)=>{r=H(n,1,`svelte-nf0ldb`,null,r,e),z(a,F(t).name),z(s,F(t).description||`—`),z(l,F(t).user_path||`—`),z(g,F(t).redacted_value),y=H(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":F(t).dashboard_access,"auth-key-status-inactive":!F(t).dashboard_access}),z(b,F(t).dashboard_access?`Allowed`:`Denied`),W(x,`title`,i),z(ee,o)},[()=>({"auth-key-row-deactivated":U9(F(t))}),()=>F(t).expires_at?tR(F(t).expires_at):``,()=>nL.formatTimestamp(F(t).created_at)]),R(e,n)}),E(c),E(r),E(n),R(e,n),O()}var Iae=L(``),Lae=L(`
          API key management is unavailable.
          `),Rae=L(``),zae=L(`

          Managed API keys authenticate requests to the gateway. Deactivation is + permanent — create a new key if access needs to be restored.

          `),Bae=L(`
          `),Vae=L(`
          `),Hae=L(`

          `),Uae=L(`

          No API keys yet. Issue a key to get started.

          `),Wae=L(`
          `);function Gae(e,t){D(t,!0),Nn(()=>{K.refreshTick,WI.page===`auth-keys`&&$.fetchKeys()});var n=Wae(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=Iae();G(M(t),{name:`plus`,class:`table-icon-svg`}),We(2),E(t),P(()=>t.disabled=$.formSubmitting),I(`click`,t,()=>{$.formSubmitting||$.openForm()}),R(e,t)};B(a,e=>{$.available&&!K.authError&&e(o)}),E(i),E(r);var s=N(r,2),c=e=>{R(e,Lae())};B(s,e=>{!$.available&&!K.authError&&e(c)});var l=N(s,2),u=e=>{var t=Rae(),n=M(t,!0);E(t),P(()=>z(n,$.error)),R(e,t)};B(l,e=>{$.error&&!K.authError&&!$.formOpen&&e(u)});var d=N(l,2),f=e=>{R(e,zae())};B(d,e=>{$.available&&!K.authError&&e(f)});var p=N(d,2);Sae(p,{});var m=N(p,2);Tae(m,{});var h=N(m,2),g=e=>{var t=Bae();GZ(M(t),{size:18,label:`Loading API keys`}),E(t),R(e,t)};B(h,e=>{$.loading&&$.keys.length===0&&e(g)});var _=N(h,2),v=e=>{var t=Vae(),n=M(t);j$(M(n),{placeholder:`Filter by name, description, user path, label, or token...`,label:`Filter API keys by name, description, user path, label, or token`,get value(){return $.filter},set value(e){$.filter=e}}),E(n);var r=N(n,2),i=M(r),a=M(i);U(a);var o=N(a,2),s=N(M(o)),c=e=>{var t=Qr();P(()=>z(t,`(${$.inactiveCount??``})`)),R(e,t)};B(s,e=>{$.inactiveCount>0&&e(c)}),E(o),E(i),E(r),E(t),sa(a,()=>$.showInactive,e=>$.showInactive=e),R(e,t)};B(_,e=>{$.keys.length>0&&$.available&&e(v)});var y=N(_,2),b=e=>{Fae(e,{})};B(y,e=>{$.visibleKeys.length>0&&$.available&&e(b)});var x=N(y,2),S=e=>{var t=Hae(),n=M(t);E(t),P(()=>z(n,`No API keys match the current filter.${$.inactiveCount>0&&!$.showInactive?` `+$.inactiveCount+` inactive `+($.inactiveCount===1?`key is`:`keys are`)+` hidden.`:``}`)),R(e,t)};B(x,e=>{$.keys.length>0&&$.visibleKeys.length===0&&$.available&&e(S)});var C=N(x,2),w=e=>{R(e,Uae())};B(C,e=>{$.keys.length===0&&!$.loading&&!K.authError&&!$.error&&$.available&&e(w)}),E(n),R(e,n),O()}Ur([`click`]);var Kae=L(`

          Timezone

          `),qae=L(``),Jae=L(``),Yae=L(`
          `,1);function Xae(e,t){D(t,!0);function n(){nL.saveOverride(),K.refresh()}function r(){nL.clearOverride(),K.refresh()}var i=Yae(),a=Cn(i);bQ(M(a),{copyId:`timezone-help-copy`,label:`timezone help`,text:`Day-based analytics, charts, and date filters use your effective timezone. Usage and audit logs keep UTC in the hover title while rendering row timestamps in your effective timezone.`,title:e=>{R(e,Kae())},$$slots:{title:!0}}),E(a);var o=N(a,2),s=M(o),c=N(M(s),2),l=M(c),u=M(l);E(l),l.value=l.__value=``,V(N(l),17,()=>nL.options,e=>e.value,(e,t)=>{var n=qae(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(c),E(s),E(o);var d=N(o,2),f=M(d),p=e=>{var t=Jae();I(`click`,t,r),R(e,t)};B(f,e=>{nL.override&&e(p)}),E(d),P(e=>z(u,`Automatic (${e??``})`),[()=>nL.detectedTimeZoneLabel()]),Hr(`focus`,c,()=>nL.ensureOptions()),I(`change`,c,n),Vi(c,()=>nL.override,e=>nL.override=e),R(e,i),O()}Ur([`change`,`click`]);var Zae=L(``),Qae=L(`

          Failover

          `,1);function $ae(e,t){D(t,!0);let n=k(()=>X.failoverSaving||X.failoverGenerating||X.failoverDraftSaving||!X.failoverAvailable||!X.failoverEnabled());var r=Qae(),i=Cn(r),a=N(M(i),2),o=M(a),s=M(o);G(s,{name:`wand-sparkles`,class:`form-action-icon`});var c=N(s,2),l=M(c,!0);E(c),E(o);var u=N(o,2);G(M(u),{name:`trash-2`,class:`form-action-icon`}),We(2),E(u),E(a),E(i);var d=N(i,2),f=M(d),p=e=>{var t=Zae(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(f,e=>{X.failoverError&&e(p)}),E(d),t8(N(d,2),{}),P(()=>{o.disabled=F(n),z(l,X.failoverGenerating?`Generating...`:`Generate failover models automatically`),u.disabled=F(n)}),I(`click`,o,()=>X.generateFailoverRules()),I(`click`,u,()=>X.openFailoverResetDialog()),R(e,r),O()}Ur([`click`]);function eoe(){return{daily_reset_hour:0,daily_reset_minute:0,weekly_reset_weekday:1,weekly_reset_hour:0,weekly_reset_minute:0,monthly_reset_day:1,monthly_reset_hour:0,monthly_reset_minute:0}}function Y9(e,t){let n=t||{},r=(e,t)=>{if(e===``)return t;let n=Number(e);return Number.isFinite(n)&&Number.isInteger(n)?Math.trunc(n):t},i=(e,t)=>r(n[e],t),a=(t,n)=>e?r(e[t],n):n;return{daily_reset_hour:a(`daily_reset_hour`,i(`daily_reset_hour`,0)),daily_reset_minute:a(`daily_reset_minute`,i(`daily_reset_minute`,0)),weekly_reset_weekday:a(`weekly_reset_weekday`,i(`weekly_reset_weekday`,1)),weekly_reset_hour:a(`weekly_reset_hour`,i(`weekly_reset_hour`,0)),weekly_reset_minute:a(`weekly_reset_minute`,i(`weekly_reset_minute`,0)),monthly_reset_day:a(`monthly_reset_day`,i(`monthly_reset_day`,1)),monthly_reset_hour:a(`monthly_reset_hour`,i(`monthly_reset_hour`,0)),monthly_reset_minute:a(`monthly_reset_minute`,i(`monthly_reset_minute`,0))}}function toe(){return[{value:0,label:`Sunday`},{value:1,label:`Monday`},{value:2,label:`Tuesday`},{value:3,label:`Wednesday`},{value:4,label:`Thursday`},{value:5,label:`Friday`},{value:6,label:`Saturday`}]}var noe=L(`

          Budget Resets

          `),roe=L(``),ioe=L(`

          If the selected day does not exist in a month, the reset runs on + the last day of that month.

          `),aoe=L(``),ooe=L(``),soe=L(`
          Monthly
          Weekly
          Daily
          `,1);function coe(e,t){D(t,!0);let n=A(fn(eoe())),r=A(!1),i=A(!1),a=A(``),o=A(!1),s=k(()=>fL.budgetsVisible());async function c(){if(await fL.ensureLoaded(),!fL.budgetsVisible()){j(a,``);return}j(r,!0),j(a,``);try{let e=await cL(`/admin/budgets/settings`,{label:`budget settings`});if(e.stale)return;if(!e.ok){j(a,`Unable to load budget settings.`);return}j(n,Y9(e.data,F(n)),!0)}catch(e){console.error(`Failed to fetch budget settings:`,e),j(a,`Unable to load budget settings.`)}finally{j(r,!1)}}async function l(){if(!F(i)){j(i,!0);try{let e=await lL(`/admin/budgets/settings`,`PUT`,Y9(F(n),F(n)),{label:`budget settings`});if(e.stale)return;if(!e.ok){q.error(`Unable to save budget settings.`);return}j(n,Y9(e.data,F(n)),!0),j(a,``),q.success(`Budget settings saved.`)}catch(e){console.error(`Failed to save budget settings:`,e),q.error(`Unable to save budget settings.`)}finally{j(i,!1)}}}Nn(()=>{K.refreshTick,c()});var u=$r(),d=Cn(u),f=e=>{var t=soe(),s=Cn(t),c=M(s);bQ(c,{copyId:`budget-settings-help-copy`,label:`budget help`,text:`Budget reset anchors are stored in the database and evaluated in UTC. Hourly budgets reset at the top of each hour.`,title:e=>{R(e,noe())},$$slots:{title:!0}});var u=N(c,2),d=M(u),f=N(M(d),2),p=M(f);bQ(p,{copyId:`budget-monthly-day-help-copy`,label:`day of month help`,external:!0,get open(){return F(o)},set open(e){j(o,e,!0)},title:e=>{R(e,roe())},$$slots:{title:!0}});var m=N(p,2);U(m),E(f);var h=N(f,2),g=N(M(h),2);U(g),E(h);var _=N(h,2),v=N(M(_),2);U(v),E(_);var y=N(_,2),b=M(y),x=e=>{R(e,ioe())};B(b,e=>{F(o)&&e(x)}),E(y),E(d);var S=N(d,2),C=N(M(S),2),w=N(M(C),2);V(w,21,toe,e=>e.value,(e,t)=>{var n=aoe(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(w),E(C);var T=N(C,2),ee=N(M(T),2);U(ee),E(T);var te=N(T,2),ne=N(M(te),2);U(ne),E(te),We(2),E(S);var re=N(S,2),ie=N(M(re),4),ae=N(M(ie),2);U(ae),E(ie);var oe=N(ie,2),se=N(M(oe),2);U(se),E(oe),We(2),E(re),E(u);var ce=N(u,2),le=M(ce);G(M(le),{name:`save`,class:`form-action-icon`}),We(2),E(le);var ue=N(le,2),de=e=>{GZ(e,{size:16,label:`Loading budget settings`})};B(ue,e=>{F(r)&&e(de)}),E(ce),E(s);var fe=N(s,2),pe=M(fe),me=e=>{var t=ooe(),n=M(t,!0);E(t),P(()=>z(n,F(a))),R(e,t)};B(pe,e=>{F(a)&&e(me)}),E(fe),P(()=>{le.disabled=F(i)||F(r),W(le,`aria-busy`,F(i)?`true`:`false`)}),oa(m,()=>F(n).monthly_reset_day,e=>F(n).monthly_reset_day=e),oa(g,()=>F(n).monthly_reset_hour,e=>F(n).monthly_reset_hour=e),oa(v,()=>F(n).monthly_reset_minute,e=>F(n).monthly_reset_minute=e),Vi(w,()=>F(n).weekly_reset_weekday,e=>F(n).weekly_reset_weekday=e),oa(ee,()=>F(n).weekly_reset_hour,e=>F(n).weekly_reset_hour=e),oa(ne,()=>F(n).weekly_reset_minute,e=>F(n).weekly_reset_minute=e),oa(ae,()=>F(n).daily_reset_hour,e=>F(n).daily_reset_hour=e),oa(se,()=>F(n).daily_reset_minute,e=>F(n).daily_reset_minute=e),I(`click`,le,l),R(e,t)};B(d,e=>{F(s)&&e(f)}),R(e,u),O()}Ur([`click`]);var loe=L(`

          Reset All Budgets

          Start new budget periods for every configured budget without changing + the limits.

          `);function uoe(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=loe(),n=N(M(t),2),r=M(n);G(M(r),{name:`rotate-ccw`,class:`form-action-icon`}),We(2),E(r),E(n),E(t),P(()=>r.disabled=J.resetAllLoading),I(`click`,r,()=>J.openResetDialog()),R(e,t)},a=k(()=>fL.budgetsVisible());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}Ur([`click`]);function doe(){return{header:``,prefix:``,do_not_pass:!1,delimiter:``,managed:!1}}function X9(e){return(e&&Array.isArray(e.headers)?e.headers:[]).map(e=>({header:typeof e.header==`string`?e.header:``,prefix:typeof e.prefix==`string`?e.prefix:``,do_not_pass:e.do_not_pass===!0,delimiter:typeof e.delimiter==`string`&&e.delimiter!==`,`?e.delimiter:``,managed:e.managed===!0}))}function foe(e){return{headers:(Array.isArray(e)?e:[]).filter(e=>!e.managed&&e.header.trim()!==``).map(e=>({header:e.header.trim(),prefix:e.prefix,do_not_pass:e.do_not_pass,delimiter:e.delimiter}))}}function poe(e){return e&&e.error&&e.error.message?e.error.message:``}var moe=L(`

          Tagging based on headers

          `),hoe=L(`config`),goe=L(``),_oe=L(`
          `),voe=L(`

          No tagging headers configured. Requests are not labelled.

          `),yoe=L(``),boe=L(`
          `,1);function xoe(e,t){D(t,!0);let n=A(fn([])),r=A(!0),i=A(!1),a=A(!1),o=A(``);function s(){F(n).push(doe())}function c(e){let t=F(n)[e];!t||t.managed||F(n).splice(e,1)}async function l(){j(i,!0),j(o,``);try{let e=await cL(`/admin/tagging/settings`,{label:`tagging settings`});if(e.stale)return;if(!e.ok){j(o,`Unable to load tagging settings.`);return}j(n,X9(e.data),!0),j(r,e.data&&e.data.editable!==!1,!0)}catch(e){console.error(`Failed to fetch tagging settings:`,e),j(o,`Unable to load tagging settings.`)}finally{j(i,!1)}}async function u(){if(!(F(a)||!F(r))){j(a,!0);try{let e=await lL(`/admin/tagging/settings`,`PUT`,foe(F(n)),{label:`tagging settings`});if(e.stale)return;if(!e.ok){q.error(e.status!==401&&poe(e.data)||`Unable to save tagging settings.`);return}j(n,X9(e.data),!0),j(r,e.data&&e.data.editable!==!1,!0),j(o,``),q.success(`Tagging settings saved.`)}catch(e){console.error(`Failed to save tagging settings:`,e),q.error(`Unable to save tagging settings.`)}finally{j(a,!1)}}}Nn(()=>{K.refreshTick,l()});var d=boe(),f=Cn(d),p=M(f);bQ(p,{copyId:`tagging-settings-help-copy`,label:`tagging help`,text:`Each request is labelled from the listed headers; labels land in usage tracking and audit logs. A header value can carry several labels split by the delimiter (default: comma). The prefix is trimmed from each label only — the header itself is forwarded unchanged unless 'Do not pass' is checked. Rows marked CONFIG come from config.yaml or TAGGING_HEADER_* env vars and are read-only here.`,title:e=>{R(e,moe())},$$slots:{title:!0}});var m=N(p,2),h=M(m);V(h,17,()=>F(n),oi,(e,t,n)=>{var i=_oe(),a=M(i),o=M(a);W(o,`for`,`tagging-header-`+n);var s=N(o,2);U(s),W(s,`id`,`tagging-header-`+n),E(a);var l=N(a,2),u=M(l);W(u,`for`,`tagging-prefix-`+n);var d=N(u,2);U(d),W(d,`id`,`tagging-prefix-`+n),E(l);var f=N(l,2),p=M(f);W(p,`for`,`tagging-delimiter-`+n);var m=N(p,2);U(m),W(m,`id`,`tagging-delimiter-`+n),E(f);var h=N(f,2),g=M(h);U(g),We(2),E(h);var _=N(h,2),v=M(_),y=e=>{R(e,hoe())},b=e=>{var i=goe();P(()=>{i.disabled=!F(r),W(i,`aria-label`,`Remove tagging header `+(F(t).header||n+1))}),I(`click`,i,()=>c(n)),R(e,i)};B(v,e=>{F(t).managed?e(y):e(b,-1)}),E(_),E(i),P(()=>{s.disabled=F(t).managed||!F(r),d.disabled=F(t).managed||!F(r),m.disabled=F(t).managed||!F(r),g.disabled=F(t).managed||!F(r)}),oa(s,()=>F(t).header,e=>F(t).header=e),oa(d,()=>F(t).prefix,e=>F(t).prefix=e),oa(m,()=>F(t).delimiter,e=>F(t).delimiter=e),sa(g,()=>F(t).do_not_pass,e=>F(t).do_not_pass=e),R(e,i)});var g=N(h,2),_=e=>{GZ(e,{size:16,label:`Loading tagging settings`})};B(g,e=>{F(i)&&e(_)});var v=N(g,2),y=e=>{R(e,voe())};B(v,e=>{!F(i)&&F(n).length===0&&e(y)}),E(m);var b=N(m,2),x=M(b);G(M(x),{name:`plus`,class:`form-action-icon`}),We(2),E(x);var S=N(x,2);G(M(S),{name:`save`,class:`form-action-icon`}),We(2),E(S),E(b),E(f);var C=N(f,2),w=M(C),T=e=>{var t=yoe(),n=M(t,!0);E(t),P(()=>z(n,F(o))),R(e,t)};B(w,e=>{F(o)&&e(T)}),E(C),P(()=>{x.disabled=!F(r)||F(a)||F(i),S.disabled=!F(r)||F(a)||F(i),W(S,`aria-busy`,F(a)?`true`:`false`)}),I(`click`,x,s),I(`click`,S,u),R(e,d),O()}Ur([`click`]);function Soe(e){let t=e||{};if(t.selectedPreset)return{days:parseInt(t.selectedPreset,10)||30};let n=t.customStartDate?$L(t.customStartDate):``,r=t.customEndDate||t.today||null;return{start_date:n,end_date:r?$L(r):``}}function Coe(e,t,n,r){return{...Soe(e),user_path:String(t||``).trim(),selector:String(n||``).trim(),confirmation:r}}function woe(e){let t=Number(e&&e.matched||0),n=Number(e&&e.recalculated||0),r=Number(e&&e.without_pricing||0),i=`Pricing recalculated for `+n+` of `+t+` usage record`+(t===1?``:`s`)+`.`;return r>0&&(i+=` `+r+` usage record`+(r===1?` still lacks`:`s still lack`)+` pricing metadata.`),i}var Toe=L(`

          Usage Pricing Recalculation

          `),Eoe=L(`
          `);function Doe(e,t){D(t,!0);let n=A(``),r=A(``),i=A(!1),a=k(()=>fL.booleanFlag(`USAGE_PRICING_RECALCULATION_ENABLED`,!1));function o(){if(!F(a)){q.error(`Usage pricing recalculation is unavailable.`);return}F(i)||TL.open({title:`Recalculate Pricing`,titleId:`pricingRecalculateDialogTitle`,inputId:`pricing-recalculate-confirmation`,requiredText:`recalculate`,confirmLabel:`Recalculate Pricing`,icon:`calculator`,dialogClass:`pricing-recalculate-dialog`,message:`Stored usage cost fields matching the selected filters will be overwritten.`,onConfirm:()=>s()})}async function s(){if(!F(a)){q.error(`Usage pricing recalculation is unavailable.`);return}if(!F(i)){j(i,!0);try{let e=await lL(`/admin/usage/recalculate-pricing`,`POST`,Coe({selectedPreset:cR.selectedPreset,customStartDate:cR.customStartDate,customEndDate:cR.customEndDate,today:nL.todayDate()},F(n),F(r),`recalculate`),{label:`pricing recalculation`});if(e.stale)return;if(!e.ok){TL.error=`Unable to recalculate pricing.`;return}TL.close(),q.success(woe(e.data)),dR.fetchUsage()}catch(e){console.error(`Failed to recalculate pricing:`,e),TL.error=`Unable to recalculate pricing.`}finally{j(i,!1)}}}var c=$r(),l=Cn(c),u=e=>{var t=Eoe(),s=M(t);bQ(s,{copyId:`pricing-recalculate-help-copy`,label:`pricing recalculation help`,text:`Recalculate stored usage costs from the current model pricing metadata. Filters are applied to the selected date range, user path subtree, and provider/model selector or alias.`,title:e=>{R(e,Toe())},$$slots:{title:!0}});var c=N(s,2),l=M(c),u=N(M(l),2);OR(M(u),{}),E(u),E(l);var d=N(l,2),f=N(M(d),2);U(f),E(d);var p=N(d,2),m=N(M(p),2);U(m),E(p),E(c);var h=N(c,2),g=M(h);G(M(g),{name:`calculator`,class:`form-action-icon`}),We(2),E(g),E(h),E(t),P(()=>{g.disabled=F(i)||!F(a),W(g,`aria-busy`,F(i)?`true`:`false`)}),oa(f,()=>F(n),e=>j(n,e)),oa(m,()=>F(r),e=>j(r,e)),I(`click`,g,o),R(e,t)};B(l,e=>{F(a)&&e(u)}),R(e,c),O()}Ur([`click`]);function Z9(e){return String(e&&e.status||`ok`).toLowerCase()}function Q9(e){if(!e||typeof e!=`object`)return`Runtime refresh completed.`;let t=Number(e.model_count||0),n=Number(e.provider_count||0),r=Z9(e);return(r===`ok`?`Runtime refreshed.`:r===`partial`?`Runtime refresh completed with warnings.`:`Runtime refresh failed.`)+` `+t+` model`+(t===1?``:`s`)+` across `+n+` provider`+(n===1?``:`s`)+`.`}function Ooe(e){return!!e&&Z9(e)===`ok`}function $9(e){let t=e&&e.steps;return Array.isArray(t)?t:[]}function koe(e){let t=String(e&&e.name||``).replace(/_/g,` `),n=String(e&&e.status||``).trim(),r=String(e&&(e.error||e.message)||``).trim();return t?r?t+`: `+n+` - `+r:t+`: `+n:r||n||``}var Aoe=L(`

          Runtime Refresh

          `),joe=L(`
        • `),Moe=L(`
            `),Noe=L(`
            `,1);function Poe(e,t){D(t,!0);let n=A(!1),r=A(null);async function i(){if(!F(n)){j(n,!0),j(r,null);try{let e=await lL(`/admin/runtime/refresh`,`POST`,void 0,{label:`runtime refresh`});if(e.stale)return;if(!e.ok){q.error(`Runtime refresh failed.`);return}j(r,e.data&&typeof e.data==`object`?e.data:null,!0),Ooe(F(r))?q.success(Q9(F(r))):q.error(Q9(F(r))),K.refresh()}catch(e){console.error(`Failed to refresh runtime:`,e),q.error(`Runtime refresh failed.`)}finally{j(n,!1)}}}var a=Noe(),o=Cn(a),s=M(o);bQ(s,{copyId:`runtime-refresh-help-copy`,label:`runtime refresh help`,text:`Pull the latest model metadata, provider inventory, API keys, aliases, model access rules, guardrails, and workflows.`,title:e=>{R(e,Aoe())},$$slots:{title:!0}});var c=N(s,2),l=M(c);let u;G(M(l),{name:`refresh-cw`,class:`settings-refresh-icon`}),We(2),E(l),E(c),E(o);var d=N(o,2),f=M(d),p=e=>{var t=Moe();V(t,21,()=>$9(F(r)),e=>e.name,(e,t)=>{var n=joe(),r=M(n,!0);E(n),P(e=>{H(n,1,`runtime-refresh-step is-`+F(t).status,`svelte-yeq2mp`),z(r,e)},[()=>koe(F(t))]),R(e,n)}),E(t),R(e,t)},m=k(()=>$9(F(r)).length>0);B(f,e=>{F(m)&&e(p)}),E(d),P(()=>{u=H(l,1,`btn btn-primary btn-with-icon settings-refresh-btn`,null,u,{"is-refreshing":F(n)}),l.disabled=F(n),W(l,`aria-busy`,F(n)?`true`:`false`)}),I(`click`,l,i),R(e,a),O()}Ur([`click`]);var Foe=L(`
            `);function Ioe(e,t){D(t,!0),Nn(()=>{K.refreshTick,WI.page===`settings`&&(nL.ensureOptions(),fL.ensureLoaded())});var n=Foe(),r=N(M(n),2),i=M(r);Xae(i,{});var a=N(i,2);$ae(a,{});var o=N(a,2);coe(o,{});var s=N(o,2);uoe(s,{});var c=N(s,2);xoe(c,{});var l=N(c,2);Doe(l,{}),Poe(N(l,2),{}),E(r);var u=N(r,2),d=M(u,!0);E(u),E(n),P(e=>z(d,e),[()=>zI()]),R(e,n),O()}var Loe=L(`
            `);function Roe(e,t){D(t,!0);let n={overview:HQ,usage:C1,budgets:V0,"rate-limits":Y2,models:w8,workflows:H7,"audit-logs":Sre,guardrails:eie,"mcp-servers":Aie,"providers-config":oae,"auth-keys":Gae,settings:Ioe};nL.init(),K.init(),AI.init(),jI.init(),WI.init(),Nn(()=>{K.refreshTick,fL.fetch(),UL.fetchModels(),UL.fetchCategories()}),Nn(()=>{document.body.classList.toggle(`dashboard-modal-open`,MI.anyOpen)});let r=k(()=>n[WI.page]||HQ);var i=Loe(),a=M(i);gL(a,{});var o=N(a,2),s=M(o);HL(s,{}),_i(N(s,2),()=>F(r),(e,t)=>{t(e,{})}),E(o);var c=N(o,2);CL(c,{});var l=N(c,2);kL(l,{}),BL(N(l,2),{}),E(i),R(e,i),O()}ti(Roe,{target:document.getElementById(`app`)}); \ No newline at end of file diff --git a/internal/admin/dashboard/static/dist/index.html b/internal/admin/dashboard/static/dist/index.html index 5a3b0e0c2..ff4086c79 100644 --- a/internal/admin/dashboard/static/dist/index.html +++ b/internal/admin/dashboard/static/dist/index.html @@ -7,7 +7,7 @@ GoModel Dashboard - + diff --git a/internal/admin/handler_budgets.go b/internal/admin/handler_budgets.go index 6a74e77b1..69990e3d0 100644 --- a/internal/admin/handler_budgets.go +++ b/internal/admin/handler_budgets.go @@ -58,12 +58,13 @@ func (h *Handler) UpsertBudget(c *echo.Context) error { if err := c.Bind(&req); err != nil { return handleError(c, core.NewInvalidRequestError("invalid request body: "+err.Error(), err)) } - userPath, periodSeconds, err := budgetRequestKey(req.UserPath, req.BudgetKey) + scope, subject, periodSeconds, err := budgetRequestKey(req.Scope, req.Subject, req.UserPath, req.BudgetKey) if err != nil { return handleError(c, core.NewInvalidRequestError(err.Error(), err)) } item, err := budget.NormalizeBudget(budget.Budget{ - UserPath: userPath, + Scope: scope, + Subject: subject, PeriodSeconds: periodSeconds, Amount: req.Amount, Source: budget.SourceManual, @@ -99,11 +100,11 @@ func (h *Handler) DeleteBudget(c *echo.Context) error { if err := c.Bind(&req); err != nil { return handleError(c, core.NewInvalidRequestError("invalid request body: "+err.Error(), err)) } - userPath, periodSeconds, err := budgetRequestKey(req.UserPath, req.BudgetKey) + scope, subject, periodSeconds, err := budgetRequestKey(req.Scope, req.Subject, req.UserPath, req.BudgetKey) if err != nil { return handleError(c, core.NewInvalidRequestError(err.Error(), err)) } - if err := h.budgets.DeleteBudget(c.Request().Context(), userPath, periodSeconds); err != nil { + if err := h.budgets.DeleteBudget(c.Request().Context(), scope, subject, periodSeconds); err != nil { return handleError(c, budgetServiceError("failed to delete budget", err)) } return h.ListBudgets(c) @@ -176,15 +177,16 @@ func (h *Handler) ResetBudget(c *echo.Context) error { if err := c.Bind(&req); err != nil { return handleError(c, core.NewInvalidRequestError("invalid request body: "+err.Error(), err)) } + // The reset request spells the period flat rather than under budget_key. periodSeconds, err := budgetRequestPeriodSeconds(req.Period, req.PeriodSeconds) if err != nil { return handleError(c, core.NewInvalidRequestError(err.Error(), err)) } - userPath, err := budget.NormalizeUserPath(req.UserPath) + scope, subject, err := budgetRequestSubject(req.Scope, req.Subject, req.UserPath) if err != nil { return handleError(c, core.NewInvalidRequestError(err.Error(), err)) } - if err := h.budgets.ResetBudget(c.Request().Context(), userPath, periodSeconds, time.Now().UTC()); err != nil { + if err := h.budgets.ResetBudget(c.Request().Context(), scope, subject, periodSeconds, time.Now().UTC()); err != nil { return handleError(c, budgetServiceError("failed to reset budget", err)) } return h.ListBudgets(c) @@ -225,7 +227,9 @@ type budgetListResponse struct { } type budgetStatusResponse struct { - UserPath string `json:"user_path"` + Scope string `json:"scope"` + Subject string `json:"subject"` + UserPath string `json:"user_path,omitempty"` PeriodSeconds int64 `json:"period_seconds"` PeriodLabel string `json:"period_label"` Amount float64 `json:"amount"` @@ -243,12 +247,16 @@ type budgetStatusResponse struct { } type upsertBudgetRequest struct { + Scope string `json:"scope"` + Subject string `json:"subject"` UserPath string `json:"user_path"` BudgetKey *budgetKeyRequest `json:"budget_key"` Amount float64 `json:"amount"` } type deleteBudgetRequest struct { + Scope string `json:"scope"` + Subject string `json:"subject"` UserPath string `json:"user_path"` BudgetKey *budgetKeyRequest `json:"budget_key"` } @@ -259,6 +267,8 @@ type budgetKeyRequest struct { } type resetBudgetRequest struct { + Scope string `json:"scope"` + Subject string `json:"subject"` UserPath string `json:"user_path"` Period string `json:"period,omitempty"` PeriodSeconds int64 `json:"period_seconds,omitempty"` @@ -326,8 +336,9 @@ func budgetStatusResponses(statuses []budget.CheckResult, now time.Time) []budge responses := make([]budgetStatusResponse, 0, len(statuses)) for _, status := range statuses { item := status.Budget - responses = append(responses, budgetStatusResponse{ - UserPath: item.UserPath, + response := budgetStatusResponse{ + Scope: string(item.Scope), + Subject: item.Subject, PeriodSeconds: item.PeriodSeconds, PeriodLabel: budget.PeriodLabel(item.PeriodSeconds), Amount: item.Amount, @@ -342,21 +353,52 @@ func budgetStatusResponses(statuses []budget.CheckResult, now time.Time) []budge Remaining: status.Remaining, UsageRatio: status.UsageRatio(), PeriodRatio: status.PeriodRatio(now), - }) + } + // Convenience duplicate: user-path budgets keep the natural spelling. + if item.Scope == budget.ScopeUserPath { + response.UserPath = item.Subject + } + responses = append(responses, response) } return responses } -func budgetRequestKey(rawUserPath string, key *budgetKeyRequest) (string, int64, error) { - userPath, err := budget.NormalizeUserPath(rawUserPath) +// budgetRequestSubject resolves which budget a request names. The subject may +// arrive as `subject` (any scope) or as `user_path` (the natural spelling for +// user-path budgets); scope defaults to user_path. +func budgetRequestSubject(rawScope, rawSubject, rawUserPath string) (budget.Scope, string, error) { + scope, err := budget.NormalizeScope(rawScope) + if err != nil { + return "", "", err + } + rawSubject = strings.TrimSpace(rawSubject) + if rawSubject == "" { + if scope != budget.ScopeUserPath && strings.TrimSpace(rawUserPath) != "" { + return "", "", errors.New("subject is required for label budgets; user_path only names user-path budgets") + } + rawSubject = rawUserPath + } else if scope != budget.ScopeUserPath && strings.TrimSpace(rawUserPath) != "" { + // Silently dropping the conflicting field would mask authoring mistakes. + return "", "", errors.New("user_path must not be set alongside subject for label budgets") + } + subject, err := budget.NormalizeSubject(scope, rawSubject) + if err != nil { + return "", "", err + } + return scope, subject, nil +} + +// budgetRequestKey resolves the full budget identity, period included. +func budgetRequestKey(rawScope, rawSubject, rawUserPath string, key *budgetKeyRequest) (budget.Scope, string, int64, error) { + scope, subject, err := budgetRequestSubject(rawScope, rawSubject, rawUserPath) if err != nil { - return "", 0, err + return "", "", 0, err } periodSeconds, err := budgetKeyPeriodSeconds(key) if err != nil { - return "", 0, err + return "", "", 0, err } - return userPath, periodSeconds, nil + return scope, subject, periodSeconds, nil } func budgetKeyPeriodSeconds(key *budgetKeyRequest) (int64, error) { diff --git a/internal/admin/handler_budgets_test.go b/internal/admin/handler_budgets_test.go index f470da4fc..655de5c9d 100644 --- a/internal/admin/handler_budgets_test.go +++ b/internal/admin/handler_budgets_test.go @@ -19,7 +19,8 @@ type adminBudgetStore struct { sum float64 settings budget.Settings - resetUserPath string + resetScope budget.Scope + resetSubject string resetPeriodSeconds int64 resetAllAt time.Time deleteErr error @@ -38,7 +39,8 @@ func (s *adminBudgetStore) UpsertBudgets(_ context.Context, budgets []budget.Bud } replaced := false for i, existing := range s.budgets { - if existing.UserPath == normalized.UserPath && existing.PeriodSeconds == normalized.PeriodSeconds { + if existing.Scope == normalized.Scope && existing.Subject == normalized.Subject && + existing.PeriodSeconds == normalized.PeriodSeconds { s.budgets[i] = normalized replaced = true break @@ -51,16 +53,16 @@ func (s *adminBudgetStore) UpsertBudgets(_ context.Context, budgets []budget.Bud return nil } -func (s *adminBudgetStore) DeleteBudget(_ context.Context, userPath string, periodSeconds int64) error { +func (s *adminBudgetStore) DeleteBudget(_ context.Context, scope budget.Scope, subject string, periodSeconds int64) error { if s.deleteErr != nil { return s.deleteErr } - normalizedPath, err := budget.NormalizeUserPath(userPath) + subject, err := budget.NormalizeSubject(scope, subject) if err != nil { return err } for i, existing := range s.budgets { - if existing.UserPath == normalizedPath && existing.PeriodSeconds == periodSeconds { + if existing.Scope == scope && existing.Subject == subject && existing.PeriodSeconds == periodSeconds { s.budgets = append(s.budgets[:i], s.budgets[i+1:]...) return nil } @@ -85,14 +87,15 @@ func (s *adminBudgetStore) SaveSettings(_ context.Context, settings budget.Setti return settings, nil } -func (s *adminBudgetStore) ResetBudget(_ context.Context, userPath string, periodSeconds int64, at time.Time) error { +func (s *adminBudgetStore) ResetBudget(_ context.Context, scope budget.Scope, subject string, periodSeconds int64, at time.Time) error { if s.resetErr != nil { return s.resetErr } - s.resetUserPath = userPath + s.resetScope = scope + s.resetSubject = subject s.resetPeriodSeconds = periodSeconds for i := range s.budgets { - if s.budgets[i].UserPath == userPath && s.budgets[i].PeriodSeconds == periodSeconds { + if s.budgets[i].Scope == scope && s.budgets[i].Subject == subject && s.budgets[i].PeriodSeconds == periodSeconds { t := at.UTC() s.budgets[i].LastResetAt = &t } @@ -109,8 +112,12 @@ func (s *adminBudgetStore) ResetAllBudgets(_ context.Context, at time.Time) erro return nil } -func (s *adminBudgetStore) SumUsageCost(context.Context, string, time.Time, time.Time) (float64, bool, error) { - return s.sum, s.sum > 0, nil +func (s *adminBudgetStore) SumSpend(_ context.Context, windows []budget.SpendWindow) ([]budget.Spend, error) { + spends := make([]budget.Spend, len(windows)) + for i := range windows { + spends[i] = budget.Spend{Total: s.sum, HasUsage: s.sum > 0} + } + return spends, nil } func (s *adminBudgetStore) Close() error { @@ -129,7 +136,7 @@ func newBudgetHandler(t *testing.T, store *adminBudgetStore) *Handler { func TestBudgetEndpointsListStatuses(t *testing.T) { store := &adminBudgetStore{ budgets: []budget.Budget{ - {UserPath: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10}, + {Scope: budget.ScopeUserPath, Subject: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10}, }, sum: 4, } @@ -176,7 +183,7 @@ func TestBudgetEndpointsUpsertAndResetOneBudget(t *testing.T) { if upsertRec.Code != http.StatusOK { t.Fatalf("upsert status = %d, want %d body=%s", upsertRec.Code, http.StatusOK, upsertRec.Body.String()) } - if len(store.budgets) != 1 || store.budgets[0].UserPath != "/team/beta" || store.budgets[0].PeriodSeconds != budget.PeriodWeeklySeconds { + if len(store.budgets) != 1 || store.budgets[0].Subject != "/team/beta" || store.budgets[0].PeriodSeconds != budget.PeriodWeeklySeconds { t.Fatalf("stored budgets = %+v", store.budgets) } @@ -194,15 +201,16 @@ func TestBudgetEndpointsUpsertAndResetOneBudget(t *testing.T) { if resetRec.Code != http.StatusOK { t.Fatalf("reset status = %d, want %d body=%s", resetRec.Code, http.StatusOK, resetRec.Body.String()) } - if store.resetUserPath != "/team/beta" || store.resetPeriodSeconds != budget.PeriodWeeklySeconds { - t.Fatalf("reset key = %s/%d", store.resetUserPath, store.resetPeriodSeconds) + if store.resetScope != budget.ScopeUserPath || store.resetSubject != "/team/beta" || + store.resetPeriodSeconds != budget.PeriodWeeklySeconds { + t.Fatalf("reset key = %s %s/%d", store.resetScope, store.resetSubject, store.resetPeriodSeconds) } } func TestBudgetEndpointsUpsertMarksConfigBudgetManual(t *testing.T) { store := &adminBudgetStore{ budgets: []budget.Budget{ - {UserPath: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10, Source: budget.SourceConfig}, + {Scope: budget.ScopeUserPath, Subject: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10, Source: budget.SourceConfig}, }, } h := newBudgetHandler(t, store) @@ -280,6 +288,26 @@ func TestBudgetEndpointsRejectInvalidBudgetKey(t *testing.T) { body: `{"user_path":"/team"}`, run: (*Handler).DeleteBudget, }, + { + name: "unknown scope", + body: `{"scope":"provider","subject":"openai","budget_key":{"period":"daily"},"amount":12.5}`, + run: (*Handler).UpsertBudget, + }, + { + name: "label budget without a subject", + body: `{"scope":"label","budget_key":{"period":"daily"},"amount":12.5}`, + run: (*Handler).UpsertBudget, + }, + { + name: "label budget naming a user path", + body: `{"scope":"label","user_path":"/team","budget_key":{"period":"daily"},"amount":12.5}`, + run: (*Handler).UpsertBudget, + }, + { + name: "label budget with both subject and user path", + body: `{"scope":"label","subject":"prod","user_path":"/team","budget_key":{"period":"daily"},"amount":12.5}`, + run: (*Handler).UpsertBudget, + }, } for _, tt := range tests { @@ -305,8 +333,8 @@ func TestBudgetEndpointsRejectInvalidBudgetKey(t *testing.T) { func TestBudgetEndpointsDeleteBudget(t *testing.T) { store := &adminBudgetStore{ budgets: []budget.Budget{ - {UserPath: "/team/beta", PeriodSeconds: budget.PeriodWeeklySeconds, Amount: 12.5}, - {UserPath: "/team/beta", PeriodSeconds: budget.PeriodDailySeconds, Amount: 4}, + {Scope: budget.ScopeUserPath, Subject: "/team/beta", PeriodSeconds: budget.PeriodWeeklySeconds, Amount: 12.5}, + {Scope: budget.ScopeUserPath, Subject: "/team/beta", PeriodSeconds: budget.PeriodDailySeconds, Amount: 4}, }, } h := newBudgetHandler(t, store) @@ -486,7 +514,7 @@ func TestBudgetSettingsEndpoints(t *testing.T) { func TestResetBudgetsEndpoint(t *testing.T) { store := &adminBudgetStore{ budgets: []budget.Budget{ - {UserPath: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10}, + {Scope: budget.ScopeUserPath, Subject: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10}, }, } h := newBudgetHandler(t, store) @@ -530,3 +558,75 @@ func TestResetBudgetsEndpoint(t *testing.T) { t.Fatalf("reset status body = %q, want ok", body.Status) } } + +// The API accepts a label budget and keeps its subject verbatim; the response +// omits user_path, which only names user-path budgets. +func TestBudgetEndpointsUpsertLabelBudget(t *testing.T) { + store := &adminBudgetStore{} + h := newBudgetHandler(t, store) + e := echo.New() + req := httptest.NewRequest( + http.MethodPut, + "/admin/budgets", + strings.NewReader(`{"scope":"label","subject":"Mobile-App-iOS","budget_key":{"period":"monthly"},"amount":500}`), + ) + req.Header.Set("Content-Type", "application/json") + rec := httptest.NewRecorder() + c := e.NewContext(req, rec) + + if err := h.UpsertBudget(c); err != nil { + t.Fatalf("UpsertBudget() failed: %v", err) + } + if rec.Code != http.StatusOK { + t.Fatalf("status = %d, want %d body=%s", rec.Code, http.StatusOK, rec.Body.String()) + } + if len(store.budgets) != 1 { + t.Fatalf("stored budgets = %+v, want one", store.budgets) + } + stored := store.budgets[0] + if stored.Scope != budget.ScopeLabel || stored.Subject != "Mobile-App-iOS" { + t.Fatalf("stored budget = %+v, want the label subject unchanged", stored) + } + + var body budgetListResponse + if err := json.Unmarshal(rec.Body.Bytes(), &body); err != nil { + t.Fatalf("decode response: %v", err) + } + if len(body.Budgets) != 1 { + t.Fatalf("response budgets = %+v, want one", body.Budgets) + } + if got := body.Budgets[0]; got.Scope != "label" || got.Subject != "Mobile-App-iOS" || got.UserPath != "" { + t.Fatalf("response budget = %+v, want a label budget with no user_path", got) + } +} + +// A user path and a label can spell the same subject; deleting one must leave +// the other in place. +func TestBudgetEndpointsDeleteDistinguishesScopes(t *testing.T) { + store := &adminBudgetStore{ + budgets: []budget.Budget{ + {Scope: budget.ScopeUserPath, Subject: "/prod", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10}, + {Scope: budget.ScopeLabel, Subject: "/prod", PeriodSeconds: budget.PeriodDailySeconds, Amount: 20}, + }, + } + h := newBudgetHandler(t, store) + e := echo.New() + req := httptest.NewRequest( + http.MethodDelete, + "/admin/budgets", + strings.NewReader(`{"scope":"label","subject":"/prod","budget_key":{"period":"daily"}}`), + ) + req.Header.Set("Content-Type", "application/json") + rec := httptest.NewRecorder() + c := e.NewContext(req, rec) + + if err := h.DeleteBudget(c); err != nil { + t.Fatalf("DeleteBudget() failed: %v", err) + } + if rec.Code != http.StatusOK { + t.Fatalf("status = %d, want %d body=%s", rec.Code, http.StatusOK, rec.Body.String()) + } + if len(store.budgets) != 1 || store.budgets[0].Scope != budget.ScopeUserPath { + t.Fatalf("stored budgets after delete = %+v, want only the user-path budget", store.budgets) + } +} diff --git a/internal/budget/factory.go b/internal/budget/factory.go index 54bcc20a8..39a14b308 100644 --- a/internal/budget/factory.go +++ b/internal/budget/factory.go @@ -80,28 +80,46 @@ func seedConfiguredBudgets(ctx context.Context, service *Service, cfg config.Bud if service == nil { return nil } - budgets := make([]Budget, 0) + budgets := make([]Budget, 0, len(cfg.UserPaths)+len(cfg.Labels)) for _, entry := range cfg.UserPaths { - userPath, err := NormalizeUserPath(entry.Path) + seeded, err := seedBudgets(ScopeUserPath, entry.Path, entry.Limits) if err != nil { - return fmt.Errorf("invalid budget user path %q: %w", entry.Path, err) + return err } - for limitIdx, limit := range entry.Limits { - seconds := limit.PeriodSeconds - if seconds <= 0 { - parsed, ok := PeriodSeconds(limit.Period) - if !ok { - return fmt.Errorf("invalid budget period for user path %q limit %d: %q", userPath, limitIdx, limit.Period) - } - seconds = parsed - } - budgets = append(budgets, Budget{ - UserPath: userPath, - PeriodSeconds: seconds, - Amount: limit.Amount, - Source: SourceConfig, - }) + budgets = append(budgets, seeded...) + } + for _, entry := range cfg.Labels { + seeded, err := seedBudgets(ScopeLabel, entry.Label, entry.Limits) + if err != nil { + return err } + budgets = append(budgets, seeded...) } return service.ReplaceConfigBudgets(ctx, budgets) } + +func seedBudgets(scope Scope, rawSubject string, limits []config.BudgetLimitConfig) ([]Budget, error) { + subject, err := NormalizeSubject(scope, rawSubject) + if err != nil { + return nil, fmt.Errorf("invalid budget %s %q: %w", scope, rawSubject, err) + } + budgets := make([]Budget, 0, len(limits)) + for limitIdx, limit := range limits { + seconds := limit.PeriodSeconds + if seconds <= 0 { + parsed, ok := PeriodSeconds(limit.Period) + if !ok { + return nil, fmt.Errorf("invalid budget period for %s %q limit %d: %q", scope, subject, limitIdx, limit.Period) + } + seconds = parsed + } + budgets = append(budgets, Budget{ + Scope: scope, + Subject: subject, + PeriodSeconds: seconds, + Amount: limit.Amount, + Source: SourceConfig, + }) + } + return budgets, nil +} diff --git a/internal/budget/service.go b/internal/budget/service.go index 03b611019..2ba87feb5 100644 --- a/internal/budget/service.go +++ b/internal/budget/service.go @@ -1,11 +1,11 @@ package budget import ( + "cmp" "context" "errors" "fmt" - "sort" - "strings" + "slices" "sync" "time" ) @@ -47,11 +47,14 @@ func (s *Service) Refresh(ctx context.Context) error { if err != nil { return err } - sort.SliceStable(budgets, func(i, j int) bool { - if budgets[i].UserPath == budgets[j].UserPath { - return budgets[i].PeriodSeconds > budgets[j].PeriodSeconds + slices.SortStableFunc(budgets, func(a, b Budget) int { + if order := cmp.Or( + cmp.Compare(a.Scope, b.Scope), + cmp.Compare(a.Subject, b.Subject), + ); order != 0 { + return order } - return budgets[i].UserPath < budgets[j].UserPath + return cmp.Compare(b.PeriodSeconds, a.PeriodSeconds) }) s.mu.Lock() s.budgets = budgets @@ -70,18 +73,15 @@ func (s *Service) UpsertBudgets(ctx context.Context, budgets []Budget) error { return s.Refresh(ctx) } -func (s *Service) DeleteBudget(ctx context.Context, userPath string, periodSeconds int64) error { +func (s *Service) DeleteBudget(ctx context.Context, scope Scope, subject string, periodSeconds int64) error { if s == nil || s.store == nil { return ErrUnavailable } - userPath, err := NormalizeUserPath(userPath) + scope, subject, err := normalizeBudgetKey(scope, subject, periodSeconds) if err != nil { return err } - if periodSeconds <= 0 { - return fmt.Errorf("period_seconds must be greater than 0") - } - if err := s.store.DeleteBudget(ctx, userPath, periodSeconds); err != nil { + if err := s.store.DeleteBudget(ctx, scope, subject, periodSeconds); err != nil { return err } return s.Refresh(ctx) @@ -129,49 +129,44 @@ func (s *Service) SaveSettings(ctx context.Context, settings Settings) (Settings return saved, nil } +// Statuses evaluates every configured budget without enforcing limits. func (s *Service) Statuses(ctx context.Context, now time.Time) ([]CheckResult, error) { + return s.statusesMatching(ctx, nil, now) +} + +// StatusesFor evaluates every budget covering the request subjects without +// enforcing limits. Unlike CheckWithResults it never stops at an exhausted +// budget, so callers get the full status picture even when several are +// exceeded. +func (s *Service) StatusesFor(ctx context.Context, subjects Subjects, now time.Time) ([]CheckResult, error) { + return s.statusesMatching(ctx, &subjects, now) +} + +// statusesMatching evaluates the budgets covering subjects, or all of them +// when subjects is nil. +func (s *Service) statusesMatching(ctx context.Context, subjects *Subjects, now time.Time) ([]CheckResult, error) { if s == nil || s.store == nil { return nil, ErrUnavailable } - if now.IsZero() { - now = time.Now().UTC() - } - now = now.UTC() - - s.mu.RLock() - budgets := append([]Budget(nil), s.budgets...) - settings := s.settings - s.mu.RUnlock() - if len(budgets) == 0 { - return []CheckResult{}, nil - } - - results := make([]CheckResult, 0, len(budgets)) - for _, budget := range budgets { - result, err := s.evaluateBudget(ctx, budget, now, settings) - if err != nil { - return results, err - } - results = append(results, result) + matching, settings, now, err := s.match(subjects, now) + if err != nil { + return nil, err } - return results, nil + return s.evaluate(ctx, matching, now, settings) } -func (s *Service) ResetBudget(ctx context.Context, userPath string, periodSeconds int64, at time.Time) error { +func (s *Service) ResetBudget(ctx context.Context, scope Scope, subject string, periodSeconds int64, at time.Time) error { if s == nil || s.store == nil { return ErrUnavailable } - userPath, err := NormalizeUserPath(userPath) + scope, subject, err := normalizeBudgetKey(scope, subject, periodSeconds) if err != nil { return err } - if periodSeconds <= 0 { - return fmt.Errorf("period_seconds must be greater than 0") - } if at.IsZero() { at = time.Now().UTC() } - if err := s.store.ResetBudget(ctx, userPath, periodSeconds, at.UTC()); err != nil { + if err := s.store.ResetBudget(ctx, scope, subject, periodSeconds, at.UTC()); err != nil { return err } return s.Refresh(ctx) @@ -190,108 +185,105 @@ func (s *Service) ResetAll(ctx context.Context, at time.Time) error { return s.Refresh(ctx) } -func (s *Service) Check(ctx context.Context, userPath string, now time.Time) error { - _, err := s.CheckWithResults(ctx, userPath, now) +func (s *Service) Check(ctx context.Context, subjects Subjects, now time.Time) error { + _, err := s.CheckWithResults(ctx, subjects, now) return err } -func (s *Service) CheckWithResults(ctx context.Context, userPath string, now time.Time) ([]CheckResult, error) { +// CheckWithResults evaluates every budget covering the request subjects and +// stops at the first exhausted one, returning it as an ExceededError alongside +// the results evaluated so far. +func (s *Service) CheckWithResults(ctx context.Context, subjects Subjects, now time.Time) ([]CheckResult, error) { if s == nil || s.store == nil { return nil, ErrUnavailable } - userPath, err := NormalizeUserPath(userPath) + matching, settings, now, err := s.match(&subjects, now) if err != nil { return nil, err } - if now.IsZero() { - now = time.Now().UTC() - } - now = now.UTC() - - s.mu.RLock() - budgets := append([]Budget(nil), s.budgets...) - settings := s.settings - s.mu.RUnlock() - if len(budgets) == 0 { + if len(matching) == 0 { return nil, nil } - - results := make([]CheckResult, 0, len(budgets)) - for _, budget := range budgets { - if !budgetAppliesToPath(budget.UserPath, userPath) { - continue - } - result, err := s.evaluateBudget(ctx, budget, now, settings) - if err != nil { - return results, err - } - results = append(results, result) - if result.HasUsage && result.Spent >= budget.Amount { - return results, &ExceededError{Result: result} + results, err := s.evaluate(ctx, matching, now, settings) + if err != nil { + return results, err + } + for i, result := range results { + if result.HasUsage && result.Spent >= result.Budget.Amount { + return results[:i+1], &ExceededError{Result: result} } } return results, nil } -// StatusesForPath evaluates every budget covering userPath without enforcing -// limits. Unlike CheckWithResults it never stops at an exhausted budget, so -// callers get the full status picture even when several budgets are exceeded. -func (s *Service) StatusesForPath(ctx context.Context, userPath string, now time.Time) ([]CheckResult, error) { - if s == nil || s.store == nil { - return nil, ErrUnavailable - } - userPath, err := NormalizeUserPath(userPath) - if err != nil { - return nil, err - } +// match snapshots the budgets covering subjects — or all of them when subjects +// is nil — along with the reset settings and the normalized evaluation time. +func (s *Service) match(subjects *Subjects, now time.Time) ([]Budget, Settings, time.Time, error) { if now.IsZero() { now = time.Now().UTC() } now = now.UTC() + // Refresh publishes a freshly built slice rather than mutating the current + // one, so the header read under the lock stays valid afterwards and the + // matching pass needs no copy. s.mu.RLock() - budgets := append([]Budget(nil), s.budgets...) + budgets := s.budgets settings := s.settings s.mu.RUnlock() - results := make([]CheckResult, 0, len(budgets)) + if subjects == nil { + return slices.Clone(budgets), settings, now, nil + } + userPath, err := NormalizeUserPath(subjects.UserPath) + if err != nil { + return nil, settings, now, err + } + resolved := Subjects{UserPath: userPath, Labels: subjects.Labels} + + matching := make([]Budget, 0, len(budgets)) for _, budget := range budgets { - if !budgetAppliesToPath(budget.UserPath, userPath) { - continue - } - result, err := s.evaluateBudget(ctx, budget, now, settings) - if err != nil { - return results, err + if budget.appliesTo(resolved) { + matching = append(matching, budget) } - results = append(results, result) } - return results, nil + return matching, settings, now, nil } -func (s *Service) evaluateBudget(ctx context.Context, budget Budget, now time.Time, settings Settings) (CheckResult, error) { - start, end := PeriodBounds(now, budget.PeriodSeconds, settings) - if budget.LastResetAt != nil && budget.LastResetAt.After(start) { - start = budget.LastResetAt.UTC() +// evaluate resolves the active period of every budget and asks the store for +// all their spends in one round trip. Enforcement runs on every request, so the +// batched lookup is what keeps a wide match set from costing a query each. +func (s *Service) evaluate(ctx context.Context, budgets []Budget, now time.Time, settings Settings) ([]CheckResult, error) { + if len(budgets) == 0 { + return []CheckResult{}, nil + } + results := make([]CheckResult, len(budgets)) + windows := make([]SpendWindow, len(budgets)) + for i, budget := range budgets { + start, end := PeriodBounds(now, budget.PeriodSeconds, settings) + if budget.LastResetAt != nil && budget.LastResetAt.After(start) { + start = budget.LastResetAt.UTC() + } + results[i] = CheckResult{Budget: budget, PeriodStart: start, PeriodEnd: end} + windows[i] = SpendWindow{ + Scope: budget.Scope, + Subject: budget.Subject, + Start: start, + End: now, + } } - spent, hasUsage, err := s.store.SumUsageCost(ctx, budget.UserPath, start, now) - if err != nil { - return CheckResult{}, err - } - return CheckResult{ - Budget: budget, - PeriodStart: start, - PeriodEnd: end, - Spent: spent, - HasUsage: hasUsage, - Remaining: budget.Amount - spent, - }, nil -} -func budgetAppliesToPath(budgetPath, requestPath string) bool { - budgetPath = strings.TrimSpace(budgetPath) - requestPath = strings.TrimSpace(requestPath) - if budgetPath == "/" { - return true + spends, err := s.store.SumSpend(ctx, windows) + if err != nil { + return nil, err } - return requestPath == budgetPath || strings.HasPrefix(requestPath, budgetPath+"/") + if len(spends) != len(windows) { + return nil, fmt.Errorf("budget store returned %d spends for %d windows", len(spends), len(windows)) + } + for i, spend := range spends { + results[i].Spent = spend.Total + results[i].HasUsage = spend.HasUsage + results[i].Remaining = results[i].Budget.Amount - spend.Total + } + return results, nil } diff --git a/internal/budget/service_test.go b/internal/budget/service_test.go index f1970898e..29643b76b 100644 --- a/internal/budget/service_test.go +++ b/internal/budget/service_test.go @@ -14,10 +14,10 @@ type fakeStore struct { budgets []Budget settings Settings listErr error - sum func(userPath string, start, end time.Time) (float64, bool, error) + sum func(SpendWindow) (float64, bool, error) - lastSumUserPath string - lastSumStart time.Time + sumCalls int + lastWindows []SpendWindow lastResetAt time.Time replaceCalls int replacedBudgets []Budget @@ -34,7 +34,7 @@ func (s *fakeStore) UpsertBudgets(context.Context, []Budget) error { return nil } -func (s *fakeStore) DeleteBudget(context.Context, string, int64) error { +func (s *fakeStore) DeleteBudget(context.Context, Scope, string, int64) error { return nil } @@ -56,7 +56,7 @@ func (s *fakeStore) SaveSettings(_ context.Context, settings Settings) (Settings return settings, nil } -func (s *fakeStore) ResetBudget(_ context.Context, _ string, _ int64, at time.Time) error { +func (s *fakeStore) ResetBudget(_ context.Context, _ Scope, _ string, _ int64, at time.Time) error { s.lastResetAt = at return nil } @@ -66,19 +66,32 @@ func (s *fakeStore) ResetAllBudgets(_ context.Context, at time.Time) error { return nil } -func (s *fakeStore) SumUsageCost(_ context.Context, userPath string, start, end time.Time) (float64, bool, error) { - s.lastSumUserPath = userPath - s.lastSumStart = start - if s.sum == nil { - return 0, false, nil +func (s *fakeStore) SumSpend(_ context.Context, windows []SpendWindow) ([]Spend, error) { + s.sumCalls++ + s.lastWindows = append([]SpendWindow(nil), windows...) + spends := make([]Spend, len(windows)) + for i, window := range windows { + if s.sum == nil { + continue + } + total, hasUsage, err := s.sum(window) + if err != nil { + return nil, err + } + spends[i] = Spend{Total: total, HasUsage: hasUsage} } - return s.sum(userPath, start, end) + return spends, nil } func (s *fakeStore) Close() error { return nil } +// path builds the Subjects of a request with no labels. +func path(userPath string) Subjects { + return Subjects{UserPath: userPath} +} + func TestServiceUnavailableOperationsReturnErrors(t *testing.T) { ctx := context.Background() service := &Service{} @@ -92,9 +105,11 @@ func TestServiceUnavailableOperationsReturnErrors(t *testing.T) { {name: "nil receiver", run: func() error { return nilService.Refresh(ctx) }}, {name: "refresh", run: func() error { return service.Refresh(ctx) }}, {name: "upsert", run: func() error { - return service.UpsertBudgets(ctx, []Budget{{UserPath: "/", PeriodSeconds: PeriodDailySeconds, Amount: 1}}) + return service.UpsertBudgets(ctx, []Budget{{Subject: "/", PeriodSeconds: PeriodDailySeconds, Amount: 1}}) + }}, + {name: "delete", run: func() error { + return service.DeleteBudget(ctx, ScopeUserPath, "/", PeriodDailySeconds) }}, - {name: "delete", run: func() error { return service.DeleteBudget(ctx, "/", PeriodDailySeconds) }}, {name: "replace config", run: func() error { return service.ReplaceConfigBudgets(ctx, nil) }}, {name: "save settings", run: func() error { _, err := service.SaveSettings(ctx, DefaultSettings()) @@ -104,15 +119,17 @@ func TestServiceUnavailableOperationsReturnErrors(t *testing.T) { _, err := service.Statuses(ctx, now) return err }}, - {name: "reset one", run: func() error { return service.ResetBudget(ctx, "/", PeriodDailySeconds, now) }}, + {name: "reset one", run: func() error { + return service.ResetBudget(ctx, ScopeUserPath, "/", PeriodDailySeconds, now) + }}, {name: "reset all", run: func() error { return service.ResetAll(ctx, now) }}, - {name: "check", run: func() error { return service.Check(ctx, "/", now) }}, + {name: "check", run: func() error { return service.Check(ctx, path("/"), now) }}, {name: "check with results", run: func() error { - _, err := service.CheckWithResults(ctx, "/", now) + _, err := service.CheckWithResults(ctx, path("/"), now) return err }}, - {name: "statuses for path", run: func() error { - _, err := service.StatusesForPath(ctx, "/", now) + {name: "statuses for subjects", run: func() error { + _, err := service.StatusesFor(ctx, path("/"), now) return err }}, } @@ -150,14 +167,15 @@ func TestServiceSaveSettingsReturnsSavedSnapshotWhenRefreshFails(t *testing.T) { } } -func TestServiceRefreshSortsBudgetsByUserPathThenLongestPeriod(t *testing.T) { +func TestServiceRefreshSortsBudgetsByScopeSubjectThenLongestPeriod(t *testing.T) { ctx := context.Background() store := &fakeStore{ budgets: []Budget{ - {UserPath: "/team/beta", PeriodSeconds: PeriodDailySeconds, Amount: 10}, - {UserPath: "/team/alpha", PeriodSeconds: PeriodDailySeconds, Amount: 10}, - {UserPath: "/team/alpha", PeriodSeconds: PeriodMonthlySeconds, Amount: 100}, - {UserPath: "/team/alpha", PeriodSeconds: PeriodWeeklySeconds, Amount: 50}, + {Scope: ScopeLabel, Subject: "prod", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeUserPath, Subject: "/team/beta", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeUserPath, Subject: "/team/alpha", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeUserPath, Subject: "/team/alpha", PeriodSeconds: PeriodMonthlySeconds, Amount: 100}, + {Scope: ScopeUserPath, Subject: "/team/alpha", PeriodSeconds: PeriodWeeklySeconds, Amount: 50}, }, } service, err := NewService(ctx, store) @@ -167,17 +185,20 @@ func TestServiceRefreshSortsBudgetsByUserPathThenLongestPeriod(t *testing.T) { got := service.Budgets() want := []Budget{ - {UserPath: "/team/alpha", PeriodSeconds: PeriodMonthlySeconds, Amount: 100}, - {UserPath: "/team/alpha", PeriodSeconds: PeriodWeeklySeconds, Amount: 50}, - {UserPath: "/team/alpha", PeriodSeconds: PeriodDailySeconds, Amount: 10}, - {UserPath: "/team/beta", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeLabel, Subject: "prod", PeriodSeconds: PeriodDailySeconds}, + {Scope: ScopeUserPath, Subject: "/team/alpha", PeriodSeconds: PeriodMonthlySeconds}, + {Scope: ScopeUserPath, Subject: "/team/alpha", PeriodSeconds: PeriodWeeklySeconds}, + {Scope: ScopeUserPath, Subject: "/team/alpha", PeriodSeconds: PeriodDailySeconds}, + {Scope: ScopeUserPath, Subject: "/team/beta", PeriodSeconds: PeriodDailySeconds}, } if len(got) != len(want) { t.Fatalf("got %d budgets, want %d: %+v", len(got), len(want), got) } for i := range want { - if got[i].UserPath != want[i].UserPath || got[i].PeriodSeconds != want[i].PeriodSeconds { - t.Fatalf("budget[%d] = %s/%d, want %s/%d", i, got[i].UserPath, got[i].PeriodSeconds, want[i].UserPath, want[i].PeriodSeconds) + if got[i].Scope != want[i].Scope || got[i].Subject != want[i].Subject || got[i].PeriodSeconds != want[i].PeriodSeconds { + t.Fatalf("budget[%d] = %s %s/%d, want %s %s/%d", + i, got[i].Scope, got[i].Subject, got[i].PeriodSeconds, + want[i].Scope, want[i].Subject, want[i].PeriodSeconds) } } } @@ -202,6 +223,42 @@ func TestSeedConfiguredBudgetsReplacesEmptyConfigSet(t *testing.T) { } } +func TestSeedConfiguredBudgetsSeedsBothScopes(t *testing.T) { + ctx := context.Background() + store := &fakeStore{} + service, err := NewService(ctx, store) + if err != nil { + t.Fatalf("NewService() failed: %v", err) + } + + err = seedConfiguredBudgets(ctx, service, config.BudgetsConfig{ + UserPaths: []config.BudgetUserPathConfig{ + {Path: "team", Limits: []config.BudgetLimitConfig{{Period: "daily", Amount: 10}}}, + }, + Labels: []config.BudgetLabelConfig{ + {Label: "Mobile-App-iOS", Limits: []config.BudgetLimitConfig{{Period: "monthly", Amount: 500}}}, + }, + }) + if err != nil { + t.Fatalf("seedConfiguredBudgets() failed: %v", err) + } + + want := []Budget{ + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10, Source: SourceConfig}, + {Scope: ScopeLabel, Subject: "Mobile-App-iOS", PeriodSeconds: PeriodMonthlySeconds, Amount: 500, Source: SourceConfig}, + } + if len(store.replacedBudgets) != len(want) { + t.Fatalf("replaced budgets = %+v, want %d entries", store.replacedBudgets, len(want)) + } + for i, budget := range want { + got := store.replacedBudgets[i] + if got.Scope != budget.Scope || got.Subject != budget.Subject || + got.PeriodSeconds != budget.PeriodSeconds || got.Amount != budget.Amount || got.Source != budget.Source { + t.Fatalf("replaced budget[%d] = %+v, want %+v", i, got, budget) + } + } +} + func TestSeedConfiguredBudgetsRejectsInvalidPeriodBeforeReplacing(t *testing.T) { ctx := context.Background() store := &fakeStore{} @@ -225,7 +282,7 @@ func TestSeedConfiguredBudgetsRejectsInvalidPeriodBeforeReplacing(t *testing.T) if err == nil { t.Fatal("seedConfiguredBudgets() error = nil, want invalid period error") } - if !strings.Contains(err.Error(), `invalid budget period for user path "/team" limit 0: "fortnightly"`) { + if !strings.Contains(err.Error(), `invalid budget period for user_path "/team" limit 0: "fortnightly"`) { t.Fatalf("seedConfiguredBudgets() error = %v, want contextual invalid period error", err) } if store.replaceCalls != 0 { @@ -237,11 +294,11 @@ func TestServiceCheckRejectsExceededBudgetForMatchingUserPath(t *testing.T) { ctx := context.Background() store := &fakeStore{ budgets: []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, }, - sum: func(userPath string, start, end time.Time) (float64, bool, error) { - if userPath != "/team" { - t.Fatalf("sum user path = %q, want /team", userPath) + sum: func(window SpendWindow) (float64, bool, error) { + if window.Subject != "/team" { + t.Fatalf("sum subject = %q, want /team", window.Subject) } return 10, true, nil }, @@ -251,27 +308,94 @@ func TestServiceCheckRejectsExceededBudgetForMatchingUserPath(t *testing.T) { t.Fatalf("NewService() failed: %v", err) } - err = service.Check(ctx, "/team/app", time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)) + err = service.Check(ctx, path("/team/app"), time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)) var exceeded *ExceededError if !errors.As(err, &exceeded) { t.Fatalf("Check() error = %v, want ExceededError", err) } - if got := exceeded.Result.Budget.UserPath; got != "/team" { - t.Fatalf("exceeded budget path = %q, want /team", got) + if got := exceeded.Result.Budget.Subject; got != "/team" { + t.Fatalf("exceeded budget subject = %q, want /team", got) } } -func TestServiceStatusesForPathReportsAllMatchingBudgetsWithoutEnforcing(t *testing.T) { +func TestServiceCheckRejectsExceededLabelBudget(t *testing.T) { ctx := context.Background() store := &fakeStore{ budgets: []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, - {UserPath: "/team", PeriodSeconds: PeriodMonthlySeconds, Amount: 100}, - {UserPath: "/other", PeriodSeconds: PeriodDailySeconds, Amount: 5}, + {Scope: ScopeLabel, Subject: "iOS", PeriodSeconds: PeriodMonthlySeconds, Amount: 100}, }, - sum: func(userPath string, start, end time.Time) (float64, bool, error) { + sum: func(window SpendWindow) (float64, bool, error) { + if window.Scope != ScopeLabel || window.Subject != "iOS" { + t.Fatalf("sum window = %s %q, want label iOS", window.Scope, window.Subject) + } + return 120, true, nil + }, + } + service, err := NewService(ctx, store) + if err != nil { + t.Fatalf("NewService() failed: %v", err) + } + now := time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC) + + subjects := Subjects{UserPath: "/team", Labels: []string{"android", "iOS"}} + var exceeded *ExceededError + if err := service.Check(ctx, subjects, now); !errors.As(err, &exceeded) { + t.Fatalf("Check() error = %v, want ExceededError", err) + } + if got := exceeded.Error(); !strings.Contains(got, "label iOS") { + t.Fatalf("ExceededError = %q, want it to name the label subject", got) + } + + // The label is matched verbatim, so a different casing is a different budget. + if err := service.Check(ctx, Subjects{UserPath: "/team", Labels: []string{"ios"}}, now); err != nil { + t.Fatalf("Check() with unmatched label casing error = %v, want nil", err) + } +} + +func TestServiceCheckEvaluatesEveryMatchingBudgetInOneStoreCall(t *testing.T) { + ctx := context.Background() + store := &fakeStore{ + budgets: []Budget{ + {Scope: ScopeUserPath, Subject: "/", PeriodSeconds: PeriodMonthlySeconds, Amount: 1000}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeUserPath, Subject: "/other", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeLabel, Subject: "prod", PeriodSeconds: PeriodDailySeconds, Amount: 50}, + {Scope: ScopeLabel, Subject: "iOS", PeriodSeconds: PeriodDailySeconds, Amount: 50}, + {Scope: ScopeLabel, Subject: "staging", PeriodSeconds: PeriodDailySeconds, Amount: 50}, + }, + } + service, err := NewService(ctx, store) + if err != nil { + t.Fatalf("NewService() failed: %v", err) + } + + subjects := Subjects{UserPath: "/team/app", Labels: []string{"prod", "iOS"}} + results, err := service.CheckWithResults(ctx, subjects, time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)) + if err != nil { + t.Fatalf("CheckWithResults() error = %v", err) + } + if len(results) != 4 { + t.Fatalf("CheckWithResults() returned %d results, want 4 (/, /team, label prod, label iOS)", len(results)) + } + if store.sumCalls != 1 { + t.Fatalf("store spend lookups = %d, want 1 batched call for all matching budgets", store.sumCalls) + } + if len(store.lastWindows) != 4 { + t.Fatalf("batched windows = %d, want 4", len(store.lastWindows)) + } +} + +func TestServiceStatusesForReportsAllMatchingBudgetsWithoutEnforcing(t *testing.T) { + ctx := context.Background() + store := &fakeStore{ + budgets: []Budget{ + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodMonthlySeconds, Amount: 100}, + {Scope: ScopeUserPath, Subject: "/other", PeriodSeconds: PeriodDailySeconds, Amount: 5}, + }, + sum: func(window SpendWindow) (float64, bool, error) { // The daily budget is exceeded; the monthly one is not. - if end.Sub(start) <= 24*time.Hour { + if window.End.Sub(window.Start) <= 24*time.Hour { return 12, true, nil } return 42, true, nil @@ -282,17 +406,17 @@ func TestServiceStatusesForPathReportsAllMatchingBudgetsWithoutEnforcing(t *test t.Fatalf("NewService() failed: %v", err) } - results, err := service.StatusesForPath(ctx, "/team/app", time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)) + results, err := service.StatusesFor(ctx, path("/team/app"), time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)) if err != nil { - t.Fatalf("StatusesForPath() error = %v, want nil", err) + t.Fatalf("StatusesFor() error = %v, want nil", err) } if len(results) != 2 { - t.Fatalf("StatusesForPath() returned %d results, want 2 (exceeded budgets must not stop evaluation)", len(results)) + t.Fatalf("StatusesFor() returned %d results, want 2 (exceeded budgets must not stop evaluation)", len(results)) } byPeriod := map[int64]CheckResult{} for _, result := range results { - if result.Budget.UserPath != "/team" { - t.Fatalf("result budget path = %q, want /team", result.Budget.UserPath) + if result.Budget.Subject != "/team" { + t.Fatalf("result budget subject = %q, want /team", result.Budget.Subject) } byPeriod[result.Budget.PeriodSeconds] = result } @@ -304,12 +428,12 @@ func TestServiceStatusesForPathReportsAllMatchingBudgetsWithoutEnforcing(t *test } } -func TestServiceStatusesForPathErrorPaths(t *testing.T) { +func TestServiceStatusesForErrorPaths(t *testing.T) { ctx := context.Background() now := time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC) store := &fakeStore{ - budgets: []Budget{{UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}}, - sum: func(string, time.Time, time.Time) (float64, bool, error) { + budgets: []Budget{{Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}}, + sum: func(SpendWindow) (float64, bool, error) { return 0, false, errors.New("store down") }, } @@ -318,15 +442,15 @@ func TestServiceStatusesForPathErrorPaths(t *testing.T) { t.Fatalf("NewService() failed: %v", err) } - if _, err := service.StatusesForPath(ctx, "/te:am", now); err == nil { - t.Fatal("StatusesForPath() with invalid path: error = nil, want normalization error") + if _, err := service.StatusesFor(ctx, path("/te:am"), now); err == nil { + t.Fatal("StatusesFor() with invalid path: error = nil, want normalization error") } - results, err := service.StatusesForPath(ctx, "/team", now) + results, err := service.StatusesFor(ctx, path("/team"), now) if err == nil || !strings.Contains(err.Error(), "store down") { - t.Fatalf("StatusesForPath() error = %v, want store failure", err) + t.Fatalf("StatusesFor() error = %v, want store failure", err) } if len(results) != 0 { - t.Fatalf("StatusesForPath() partial results = %d, want 0 before the failing budget", len(results)) + t.Fatalf("StatusesFor() partial results = %d, want 0 when the batch fails", len(results)) } } @@ -348,9 +472,9 @@ func TestServiceCheckBudgetAmountBoundary(t *testing.T) { t.Run(tt.name, func(t *testing.T) { store := &fakeStore{ budgets: []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, }, - sum: func(userPath string, start, end time.Time) (float64, bool, error) { + sum: func(SpendWindow) (float64, bool, error) { return tt.spent, true, nil }, } @@ -359,7 +483,7 @@ func TestServiceCheckBudgetAmountBoundary(t *testing.T) { t.Fatalf("NewService() failed: %v", err) } - err = service.Check(ctx, "/team/app", now) + err = service.Check(ctx, path("/team/app"), now) var exceeded *ExceededError if tt.wantError { if !errors.As(err, &exceeded) { @@ -379,13 +503,14 @@ func TestServiceCheckBudgetAmountBoundary(t *testing.T) { func TestServiceCheckDoesNotEnforceBudgetWithoutUsage(t *testing.T) { ctx := context.Background() + now := time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC) store := &fakeStore{ budgets: []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, }, - sum: func(userPath string, start, end time.Time) (float64, bool, error) { - if userPath != "/team" { - t.Fatalf("sum user path = %q, want /team", userPath) + sum: func(window SpendWindow) (float64, bool, error) { + if window.Subject != "/team" { + t.Fatalf("sum subject = %q, want /team", window.Subject) } return 100, false, nil }, @@ -395,10 +520,10 @@ func TestServiceCheckDoesNotEnforceBudgetWithoutUsage(t *testing.T) { t.Fatalf("NewService() failed: %v", err) } - if err := service.Check(ctx, "/team", time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)); err != nil { - t.Fatalf("Check() error = %v, want nil when SumUsageCost reports no usage", err) + if err := service.Check(ctx, path("/team"), now); err != nil { + t.Fatalf("Check() error = %v, want nil when the store reports no usage", err) } - results, err := service.CheckWithResults(ctx, "/team", time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)) + results, err := service.CheckWithResults(ctx, path("/team"), now) if err != nil { t.Fatalf("CheckWithResults() error = %v", err) } @@ -410,16 +535,13 @@ func TestServiceCheckDoesNotEnforceBudgetWithoutUsage(t *testing.T) { } } -func TestServiceCheckIgnoresSiblingUserPath(t *testing.T) { +func TestServiceCheckIgnoresNonMatchingSubjects(t *testing.T) { ctx := context.Background() - called := false + now := time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC) store := &fakeStore{ budgets: []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, - }, - sum: func(userPath string, start, end time.Time) (float64, bool, error) { - called = true - return 0, false, nil + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeLabel, Subject: "prod", PeriodSeconds: PeriodDailySeconds, Amount: 10}, }, } service, err := NewService(ctx, store) @@ -427,15 +549,16 @@ func TestServiceCheckIgnoresSiblingUserPath(t *testing.T) { t.Fatalf("NewService() failed: %v", err) } - results, err := service.CheckWithResults(ctx, "/team-alpha", time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)) + // A sibling path, and a request whose labels do not include "prod". + results, err := service.CheckWithResults(ctx, Subjects{UserPath: "/team-alpha", Labels: []string{"staging"}}, now) if err != nil { t.Fatalf("CheckWithResults() error = %v", err) } if len(results) != 0 { t.Fatalf("expected no matching budgets, got %d", len(results)) } - if called { - t.Fatal("sum should not be called for a sibling path") + if store.sumCalls != 0 { + t.Fatal("the store should not be queried when nothing matches") } } @@ -444,7 +567,7 @@ func TestServiceCheckStartsAtManualResetWhenNewerThanPeriodStart(t *testing.T) { resetAt := time.Date(2026, time.April, 25, 9, 0, 0, 0, time.UTC) store := &fakeStore{ budgets: []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10, LastResetAt: &resetAt}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10, LastResetAt: &resetAt}, }, } service, err := NewService(ctx, store) @@ -452,12 +575,12 @@ func TestServiceCheckStartsAtManualResetWhenNewerThanPeriodStart(t *testing.T) { t.Fatalf("NewService() failed: %v", err) } - _, err = service.CheckWithResults(ctx, "/team", time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)) + _, err = service.CheckWithResults(ctx, path("/team"), time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC)) if err != nil { t.Fatalf("CheckWithResults() error = %v", err) } - if !store.lastSumStart.Equal(resetAt) { - t.Fatalf("sum start = %s, want reset time %s", store.lastSumStart, resetAt) + if !store.lastWindows[0].Start.Equal(resetAt) { + t.Fatalf("sum start = %s, want reset time %s", store.lastWindows[0].Start, resetAt) } } @@ -467,7 +590,7 @@ func TestServiceCheckIgnoresManualResetOlderThanPeriodStart(t *testing.T) { now := time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC) store := &fakeStore{ budgets: []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10, LastResetAt: &resetAt}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10, LastResetAt: &resetAt}, }, } service, err := NewService(ctx, store) @@ -475,12 +598,12 @@ func TestServiceCheckIgnoresManualResetOlderThanPeriodStart(t *testing.T) { t.Fatalf("NewService() failed: %v", err) } - _, err = service.CheckWithResults(ctx, "/team", now) + _, err = service.CheckWithResults(ctx, path("/team"), now) if err != nil { t.Fatalf("CheckWithResults() error = %v", err) } want := time.Date(2026, time.April, 25, 0, 0, 0, 0, time.UTC) - if !store.lastSumStart.Equal(want) { - t.Fatalf("sum start = %s, want period start %s", store.lastSumStart, want) + if !store.lastWindows[0].Start.Equal(want) { + t.Fatalf("sum start = %s, want period start %s", store.lastWindows[0].Start, want) } } diff --git a/internal/budget/store.go b/internal/budget/store.go index 14a49b146..f49122f8c 100644 --- a/internal/budget/store.go +++ b/internal/budget/store.go @@ -10,20 +10,73 @@ import ( var ErrNotFound = errors.New("budget not found") +// SpendWindow asks for the tracked spend of one budget subject over one time +// window. +type SpendWindow struct { + Scope Scope + Subject string + Start time.Time + End time.Time +} + +// Spend is the total tracked cost for one SpendWindow. HasUsage is false when +// the window matched no priced usage at all, which keeps a budget with no +// traffic from ever blocking. +type Spend struct { + Total float64 + HasUsage bool +} + +// spendBounds returns the union of every window's time range, which is the +// range a batched spend query has to scan. +func spendBounds(windows []SpendWindow) (time.Time, time.Time) { + start, end := windows[0].Start, windows[0].End + for _, window := range windows[1:] { + if window.Start.Before(start) { + start = window.Start + } + if window.End.After(end) { + end = window.End + } + } + return start, end +} + // Store persists budget definitions, reset settings, and spend lookups. type Store interface { ListBudgets(ctx context.Context) ([]Budget, error) UpsertBudgets(ctx context.Context, budgets []Budget) error - DeleteBudget(ctx context.Context, userPath string, periodSeconds int64) error + DeleteBudget(ctx context.Context, scope Scope, subject string, periodSeconds int64) error ReplaceConfigBudgets(ctx context.Context, budgets []Budget) error GetSettings(ctx context.Context) (Settings, error) SaveSettings(ctx context.Context, settings Settings) (Settings, error) - ResetBudget(ctx context.Context, userPath string, periodSeconds int64, at time.Time) error + ResetBudget(ctx context.Context, scope Scope, subject string, periodSeconds int64, at time.Time) error ResetAllBudgets(ctx context.Context, at time.Time) error - SumUsageCost(ctx context.Context, userPath string, start, end time.Time) (float64, bool, error) + + // SumSpend totals uncached spend for every window in one round trip, in + // the order given. Budget enforcement runs on every request, so the whole + // matching set is asked for at once rather than one query per budget. + SumSpend(ctx context.Context, windows []SpendWindow) ([]Spend, error) + Close() error } +// normalizeBudgetKey validates and canonicalizes the identity of one budget. +func normalizeBudgetKey(scope Scope, subject string, periodSeconds int64) (Scope, string, error) { + scope, err := NormalizeScope(string(scope)) + if err != nil { + return "", "", err + } + subject, err = NormalizeSubject(scope, subject) + if err != nil { + return "", "", err + } + if periodSeconds <= 0 { + return "", "", fmt.Errorf("period_seconds must be greater than 0") + } + return scope, subject, nil +} + func normalizeBudgetsForUpsert(budgets []Budget) ([]Budget, error) { if len(budgets) == 0 { return nil, nil @@ -35,7 +88,7 @@ func normalizeBudgetsForUpsert(budgets []Budget) ([]Budget, error) { if err != nil { return nil, err } - key := budgetKey(item.UserPath, item.PeriodSeconds) + key := budgetKey(item.Scope, item.Subject, item.PeriodSeconds) if existing, ok := seen[key]; ok { normalized[existing] = item continue @@ -46,8 +99,8 @@ func normalizeBudgetsForUpsert(budgets []Budget) ([]Budget, error) { return normalized, nil } -func budgetKey(userPath string, periodSeconds int64) string { - return strings.TrimSpace(userPath) + ":" + fmt.Sprint(periodSeconds) +func budgetKey(scope Scope, subject string, periodSeconds int64) string { + return string(scope) + "\x00" + strings.TrimSpace(subject) + "\x00" + fmt.Sprint(periodSeconds) } func normalizeLoadedSettings(settings Settings) (Settings, error) { @@ -63,21 +116,3 @@ func normalizeLoadedSettings(settings Settings) (Settings, error) { } return settings, nil } - -func usagePathMatchesBudgetExpr(column string) string { - return "COALESCE(NULLIF(TRIM(" + column + "), ''), '/')" -} - -func usagePathLikePattern(userPath string) string { - if userPath == "/" { - return "/%" - } - return escapeLikeWildcards(userPath) + "/%" -} - -func escapeLikeWildcards(s string) string { - s = strings.ReplaceAll(s, `\`, `\\`) - s = strings.ReplaceAll(s, `%`, `\%`) - s = strings.ReplaceAll(s, `_`, `\_`) - return s -} diff --git a/internal/budget/store_mongodb.go b/internal/budget/store_mongodb.go index 90166de03..bda12ef1c 100644 --- a/internal/budget/store_mongodb.go +++ b/internal/budget/store_mongodb.go @@ -30,9 +30,12 @@ func NewMongoDBStore(ctx context.Context, database *mongo.Database) (*MongoDBSto settings: database.Collection("budget_settings"), usage: database.Collection("usage"), } + if err := store.migratePreScopeDocuments(ctx); err != nil { + return nil, err + } _, err := store.budgets.Indexes().CreateMany(ctx, []mongo.IndexModel{ { - Keys: bson.D{{Key: "user_path", Value: 1}, {Key: "period_seconds", Value: 1}}, + Keys: bson.D{{Key: "scope", Value: 1}, {Key: "subject", Value: 1}, {Key: "period_seconds", Value: 1}}, Options: options.Index().SetUnique(true), }, {Keys: bson.D{{Key: "period_seconds", Value: 1}}}, @@ -50,8 +53,31 @@ func NewMongoDBStore(ctx context.Context, database *mongo.Database) (*MongoDBSto return store, nil } +// migratePreScopeDocuments rewrites budgets stored before budget scopes +// existed (keyed by user_path only) into the scoped shape, and drops the old +// unique index so it cannot reject scoped documents. +func (s *MongoDBStore) migratePreScopeDocuments(ctx context.Context) error { + _, err := s.budgets.UpdateMany(ctx, + bson.D{{Key: "subject", Value: bson.D{{Key: "$exists", Value: false}}}}, + mongo.Pipeline{ + bson.D{{Key: "$set", Value: bson.D{ + {Key: "scope", Value: string(ScopeUserPath)}, + {Key: "subject", Value: "$user_path"}, + }}}, + bson.D{{Key: "$unset", Value: "user_path"}}, + }, + ) + if err != nil { + return fmt.Errorf("migrate budgets to scoped schema: %w", err) + } + // Best-effort: the index may not exist on fresh databases. + _ = s.budgets.Indexes().DropOne(ctx, "user_path_1_period_seconds_1") + return nil +} + func (s *MongoDBStore) ListBudgets(ctx context.Context) ([]Budget, error) { - cursor, err := s.budgets.Find(ctx, bson.D{}, options.Find().SetSort(bson.D{{Key: "user_path", Value: 1}, {Key: "period_seconds", Value: 1}})) + cursor, err := s.budgets.Find(ctx, bson.D{}, options.Find().SetSort( + bson.D{{Key: "scope", Value: 1}, {Key: "subject", Value: 1}, {Key: "period_seconds", Value: 1}})) if err != nil { return nil, fmt.Errorf("list budgets: %w", err) } @@ -85,9 +111,10 @@ func (s *MongoDBStore) upsertNormalizedBudgets(ctx context.Context, budgets []Bu } models := make([]mongo.WriteModel, 0, len(budgets)) for _, budget := range budgets { - filter := bson.D{{Key: "user_path", Value: budget.UserPath}, {Key: "period_seconds", Value: budget.PeriodSeconds}} + filter := mongoBudgetKey(budget.Scope, budget.Subject, budget.PeriodSeconds) update := bson.D{{Key: "$set", Value: bson.D{ - {Key: "user_path", Value: budget.UserPath}, + {Key: "scope", Value: budget.Scope}, + {Key: "subject", Value: budget.Subject}, {Key: "period_seconds", Value: budget.PeriodSeconds}, {Key: "amount", Value: budget.Amount}, {Key: "source", Value: budget.Source}, @@ -107,24 +134,30 @@ func (s *MongoDBStore) upsertNormalizedBudgets(ctx context.Context, budgets []Bu return nil } -func (s *MongoDBStore) DeleteBudget(ctx context.Context, userPath string, periodSeconds int64) error { - userPath, err := NormalizeUserPath(userPath) +func (s *MongoDBStore) DeleteBudget(ctx context.Context, scope Scope, subject string, periodSeconds int64) error { + scope, subject, err := normalizeBudgetKey(scope, subject, periodSeconds) if err != nil { return err } - if periodSeconds <= 0 { - return fmt.Errorf("period_seconds must be greater than 0") - } - result, err := s.budgets.DeleteOne(ctx, bson.D{{Key: "user_path", Value: userPath}, {Key: "period_seconds", Value: periodSeconds}}) + result, err := s.budgets.DeleteOne(ctx, mongoBudgetKey(scope, subject, periodSeconds)) if err != nil { - return fmt.Errorf("delete budget %s/%d: %w", userPath, periodSeconds, err) + return fmt.Errorf("delete budget %s %s/%d: %w", scope, subject, periodSeconds, err) } if result.DeletedCount == 0 { - return fmt.Errorf("%w: %s/%d", ErrNotFound, userPath, periodSeconds) + return fmt.Errorf("%w: %s %s/%d", ErrNotFound, scope, subject, periodSeconds) } return nil } +// mongoBudgetKey is the document filter identifying one budget. +func mongoBudgetKey(scope Scope, subject string, periodSeconds int64) bson.D { + return bson.D{ + {Key: "scope", Value: scope}, + {Key: "subject", Value: subject}, + {Key: "period_seconds", Value: periodSeconds}, + } +} + func (s *MongoDBStore) ReplaceConfigBudgets(ctx context.Context, budgets []Budget) error { budgets, err := normalizeBudgetsForUpsert(budgets) if err != nil { @@ -170,10 +203,7 @@ func (s *MongoDBStore) replaceConfigBudgets(ctx context.Context, budgets []Budge if len(budgets) > 0 { keep := make(bson.A, 0, len(budgets)) for _, budget := range budgets { - keep = append(keep, bson.D{ - {Key: "user_path", Value: budget.UserPath}, - {Key: "period_seconds", Value: budget.PeriodSeconds}, - }) + keep = append(keep, mongoBudgetKey(budget.Scope, budget.Subject, budget.PeriodSeconds)) } filter = append(filter, bson.E{Key: "$nor", Value: keep}) } @@ -193,10 +223,7 @@ func (s *MongoDBStore) configBudgetsWithoutManualCollisions(ctx context.Context, } keys := make(bson.A, 0, len(budgets)) for _, budget := range budgets { - keys = append(keys, bson.D{ - {Key: "user_path", Value: budget.UserPath}, - {Key: "period_seconds", Value: budget.PeriodSeconds}, - }) + keys = append(keys, mongoBudgetKey(budget.Scope, budget.Subject, budget.PeriodSeconds)) } cursor, err := s.budgets.Find(ctx, bson.D{{Key: "$or", Value: keys}}) if err != nil { @@ -210,7 +237,7 @@ func (s *MongoDBStore) configBudgetsWithoutManualCollisions(ctx context.Context, if err := cursor.Decode(&existing); err != nil { return nil, fmt.Errorf("decode existing budget collision: %w", err) } - existingSources[budgetKey(existing.UserPath, existing.PeriodSeconds)] = existing.Source + existingSources[budgetKey(existing.Scope, existing.Subject, existing.PeriodSeconds)] = existing.Source } if err := cursor.Err(); err != nil { return nil, fmt.Errorf("iterate existing budget collisions: %w", err) @@ -218,7 +245,7 @@ func (s *MongoDBStore) configBudgetsWithoutManualCollisions(ctx context.Context, filtered := make([]Budget, 0, len(budgets)) for _, budget := range budgets { - if source, ok := existingSources[budgetKey(budget.UserPath, budget.PeriodSeconds)]; ok && source != "" && source != SourceConfig { + if source, ok := existingSources[budgetKey(budget.Scope, budget.Subject, budget.PeriodSeconds)]; ok && source != "" && source != SourceConfig { continue } filtered = append(filtered, budget) @@ -351,26 +378,23 @@ func (s *MongoDBStore) saveSettingsValues(ctx context.Context, settings Settings return nil } -func (s *MongoDBStore) ResetBudget(ctx context.Context, userPath string, periodSeconds int64, at time.Time) error { - userPath, err := NormalizeUserPath(userPath) +func (s *MongoDBStore) ResetBudget(ctx context.Context, scope Scope, subject string, periodSeconds int64, at time.Time) error { + scope, subject, err := normalizeBudgetKey(scope, subject, periodSeconds) if err != nil { return err } - if periodSeconds <= 0 { - return fmt.Errorf("period_seconds must be greater than 0") - } result, err := s.budgets.UpdateOne(ctx, - bson.D{{Key: "user_path", Value: userPath}, {Key: "period_seconds", Value: periodSeconds}}, + mongoBudgetKey(scope, subject, periodSeconds), bson.D{{Key: "$set", Value: bson.D{ {Key: "last_reset_at", Value: at.UTC()}, {Key: "updated_at", Value: at.UTC()}, }}}, ) if err != nil { - return fmt.Errorf("reset budget %s/%d: %w", userPath, periodSeconds, err) + return fmt.Errorf("reset budget %s %s/%d: %w", scope, subject, periodSeconds, err) } if result.MatchedCount == 0 { - return fmt.Errorf("%w: %s/%d", ErrNotFound, userPath, periodSeconds) + return fmt.Errorf("%w: %s %s/%d", ErrNotFound, scope, subject, periodSeconds) } return nil } @@ -386,42 +410,128 @@ func (s *MongoDBStore) ResetAllBudgets(ctx context.Context, at time.Time) error return nil } -func (s *MongoDBStore) SumUsageCost(ctx context.Context, userPath string, start, end time.Time) (float64, bool, error) { - userPath, err := NormalizeUserPath(userPath) - if err != nil { - return 0, false, err +// SumSpend totals uncached spend for every window in one aggregation. +// +// A budget check matches several budgets at once — a user-path subtree plus a +// budget per request label — so the pipeline matches the union of their windows +// once and accumulates a conditional sum per window instead of running an +// aggregation each. +func (s *MongoDBStore) SumSpend(ctx context.Context, windows []SpendWindow) ([]Spend, error) { + if len(windows) == 0 { + return nil, nil } + group := bson.D{{Key: "_id", Value: nil}} + for i, window := range windows { + condition, err := mongoSpendCondition(window) + if err != nil { + return nil, err + } + group = append(group, + bson.E{Key: spendTotalField(i), Value: bson.D{{Key: "$sum", Value: bson.D{{Key: "$cond", Value: bson.A{ + condition, + bson.D{{Key: "$ifNull", Value: bson.A{"$total_cost", 0}}}, + 0, + }}}}}}, + bson.E{Key: spendHasUsageField(i), Value: bson.D{{Key: "$sum", Value: bson.D{{Key: "$cond", Value: bson.A{ + bson.D{{Key: "$and", Value: bson.A{condition, bson.D{{Key: "$gt", Value: bson.A{"$total_cost", nil}}}}}}, + 1, + 0, + }}}}}}, + ) + } + + minStart, maxEnd := spendBounds(windows) pipeline := bson.A{ bson.D{{Key: "$match", Value: bson.D{ - {Key: "timestamp", Value: bson.D{{Key: "$gte", Value: start.UTC()}, {Key: "$lt", Value: end.UTC()}}}, - {Key: "$and", Value: bson.A{ - mongoUsagePathMatch(userPath), - mongoUncachedUsageMatch(), + {Key: "timestamp", Value: bson.D{{Key: "$gte", Value: minStart.UTC()}, {Key: "$lt", Value: maxEnd.UTC()}}}, + {Key: "$or", Value: bson.A{ + bson.D{{Key: "cache_type", Value: bson.D{{Key: "$exists", Value: false}}}}, + bson.D{{Key: "cache_type", Value: nil}}, + bson.D{{Key: "cache_type", Value: ""}}, }}, }}}, - bson.D{{Key: "$group", Value: bson.D{ - {Key: "_id", Value: nil}, - {Key: "total", Value: bson.D{{Key: "$sum", Value: bson.D{{Key: "$ifNull", Value: bson.A{"$total_cost", 0}}}}}}, - {Key: "has_costs", Value: bson.D{{Key: "$sum", Value: bson.D{{Key: "$cond", Value: bson.A{bson.D{{Key: "$gt", Value: bson.A{"$total_cost", nil}}}, 1, 0}}}}}}, - }}}, + bson.D{{Key: "$group", Value: group}}, } cursor, err := s.usage.Aggregate(ctx, pipeline) if err != nil { - return 0, false, fmt.Errorf("sum usage cost: %w", err) + return nil, fmt.Errorf("sum usage cost: %w", err) } defer cursor.Close(ctx) + spends := make([]Spend, len(windows)) if !cursor.Next(ctx) { - return 0, false, cursor.Err() - } - var row struct { - Total float64 `bson:"total"` - HasCosts int `bson:"has_costs"` + // No usage in the union window at all: every budget is untouched. + return spends, cursor.Err() } + var row bson.M if err := cursor.Decode(&row); err != nil { - return 0, false, fmt.Errorf("decode usage cost sum: %w", err) + return nil, fmt.Errorf("decode usage cost sum: %w", err) } - return row.Total, row.HasCosts > 0, nil + for i := range windows { + total, _ := bsonNumber(row[spendTotalField(i)]) + hasUsage, _ := bsonNumber(row[spendHasUsageField(i)]) + spends[i] = Spend{Total: total, HasUsage: hasUsage > 0} + } + return spends, nil +} + +func spendTotalField(i int) string { return "total_" + strconv.Itoa(i) } +func spendHasUsageField(i int) string { return "priced_" + strconv.Itoa(i) } + +// bsonNumber reads a numeric aggregation result, which the server may return +// as an int32, int64, or double depending on the values it summed. +func bsonNumber(value any) (float64, bool) { + switch typed := value.(type) { + case float64: + return typed, true + case int64: + return float64(typed), true + case int32: + return float64(typed), true + default: + return 0, false + } +} + +// mongoSpendCondition renders the per-document predicate for one window as an +// aggregation expression: inside the time window and matching the subject. +func mongoSpendCondition(window SpendWindow) (bson.D, error) { + subjectMatch, err := mongoSubjectMatch(window) + if err != nil { + return nil, err + } + return bson.D{{Key: "$and", Value: bson.A{ + bson.D{{Key: "$gte", Value: bson.A{"$timestamp", window.Start.UTC()}}}, + bson.D{{Key: "$lt", Value: bson.A{"$timestamp", window.End.UTC()}}}, + subjectMatch, + }}}, nil +} + +func mongoSubjectMatch(window SpendWindow) (bson.D, error) { + if window.Scope == ScopeLabel { + subject, err := NormalizeSubject(ScopeLabel, window.Subject) + if err != nil { + return nil, err + } + return bson.D{{Key: "$in", Value: bson.A{subject, bson.D{{Key: "$ifNull", Value: bson.A{"$labels", bson.A{}}}}}}}, nil + } + userPath, err := NormalizeUserPath(window.Subject) + if err != nil { + return nil, err + } + // Missing and blank user paths count as the root, matching the SQL stores. + normalized := bson.D{{Key: "$let", Value: bson.D{ + {Key: "vars", Value: bson.D{{Key: "path", Value: bson.D{{Key: "$trim", Value: bson.D{ + {Key: "input", Value: bson.D{{Key: "$ifNull", Value: bson.A{"$user_path", ""}}}}, + }}}}}}, + {Key: "in", Value: bson.D{{Key: "$cond", Value: bson.A{ + bson.D{{Key: "$eq", Value: bson.A{"$$path", ""}}}, "/", "$$path", + }}}}, + }}} + return bson.D{{Key: "$regexMatch", Value: bson.D{ + {Key: "input", Value: normalized}, + {Key: "regex", Value: usagePathRegex(userPath)}, + }}}, nil } func (s *MongoDBStore) Close() error { @@ -434,23 +544,3 @@ func usagePathRegex(userPath string) string { } return "^" + regexp.QuoteMeta(userPath) + "(?:/|$)" } - -func mongoUsagePathMatch(userPath string) bson.D { - pathPattern := usagePathRegex(userPath) - if userPath == "/" { - return bson.D{{Key: "$or", Value: bson.A{ - bson.D{{Key: "user_path", Value: bson.D{{Key: "$exists", Value: false}}}}, - bson.D{{Key: "user_path", Value: bson.D{{Key: "$regex", Value: `^\s*$`}}}}, - bson.D{{Key: "user_path", Value: bson.D{{Key: "$regex", Value: pathPattern}}}}, - }}} - } - return bson.D{{Key: "user_path", Value: bson.D{{Key: "$regex", Value: pathPattern}}}} -} - -func mongoUncachedUsageMatch() bson.D { - return bson.D{{Key: "$or", Value: bson.A{ - bson.D{{Key: "cache_type", Value: bson.D{{Key: "$exists", Value: false}}}}, - bson.D{{Key: "cache_type", Value: nil}}, - bson.D{{Key: "cache_type", Value: ""}}, - }}} -} diff --git a/internal/budget/store_mongodb_test.go b/internal/budget/store_mongodb_test.go index 2e85e49ea..cbbc3d6d6 100644 --- a/internal/budget/store_mongodb_test.go +++ b/internal/budget/store_mongodb_test.go @@ -61,37 +61,86 @@ func TestIsMongoTransactionCapabilityError(t *testing.T) { } } -func TestMongoUsagePathMatchIncludesLegacyRootRows(t *testing.T) { - got := mongoUsagePathMatch("/") - want := bson.D{{Key: "$or", Value: bson.A{ - bson.D{{Key: "user_path", Value: bson.D{{Key: "$exists", Value: false}}}}, - bson.D{{Key: "user_path", Value: bson.D{{Key: "$regex", Value: `^\s*$`}}}}, - bson.D{{Key: "user_path", Value: bson.D{{Key: "$regex", Value: "^/"}}}}, +func TestUsagePathRegexBoundaries(t *testing.T) { + // The root pattern must also catch the rows a blank user path normalizes + // to; nested paths must not leak into a sibling that shares their prefix. + if got, want := usagePathRegex("/"), "^/"; got != want { + t.Fatalf("usagePathRegex(/) = %q, want %q", got, want) + } + if got, want := usagePathRegex("/team"), `^/team(?:/|$)`; got != want { + t.Fatalf("usagePathRegex(/team) = %q, want %q", got, want) + } +} + +func TestMongoSubjectMatchUsesLabelMembership(t *testing.T) { + got, err := mongoSubjectMatch(SpendWindow{Scope: ScopeLabel, Subject: "iOS"}) + if err != nil { + t.Fatalf("mongoSubjectMatch() failed: %v", err) + } + want := bson.D{{Key: "$in", Value: bson.A{ + "iOS", + bson.D{{Key: "$ifNull", Value: bson.A{"$labels", bson.A{}}}}, }}} if !reflect.DeepEqual(got, want) { - t.Fatalf("mongoUsagePathMatch(/) = %#v, want %#v", got, want) + t.Fatalf("mongoSubjectMatch(label iOS) = %#v, want %#v", got, want) } } -func TestMongoUsagePathMatchNestedPathRequiresPrefixBoundary(t *testing.T) { - got := mongoUsagePathMatch("/team") - want := bson.D{{Key: "user_path", Value: bson.D{{Key: "$regex", Value: `^/team(?:/|$)`}}}} +func TestMongoSubjectMatchRejectsBlankLabel(t *testing.T) { + if _, err := mongoSubjectMatch(SpendWindow{Scope: ScopeLabel, Subject: " "}); err == nil { + t.Fatal("mongoSubjectMatch() error = nil, want blank label rejection") + } +} - if !reflect.DeepEqual(got, want) { - t.Fatalf("mongoUsagePathMatch(/team) = %#v, want %#v", got, want) +func TestMongoSubjectMatchNormalizesMissingUserPathToRoot(t *testing.T) { + got, err := mongoSubjectMatch(SpendWindow{Scope: ScopeUserPath, Subject: "/team"}) + if err != nil { + t.Fatalf("mongoSubjectMatch() failed: %v", err) + } + expression, ok := bsonField(got, "$regexMatch").(bson.D) + if !ok { + t.Fatalf("mongoSubjectMatch(user_path) = %#v, want a $regexMatch expression", got) + } + if regex := bsonField(expression, "regex"); regex != usagePathRegex("/team") { + t.Fatalf("regex = %v, want %q", regex, usagePathRegex("/team")) + } + // The input must fold missing and blank paths to "/" so a root budget still + // sees rows recorded without a user path. + if _, ok := bsonField(expression, "input").(bson.D); !ok { + t.Fatalf("input = %#v, want the normalizing $let expression", bsonField(expression, "input")) } } -func TestMongoUncachedUsageMatchIncludesMissingNilAndEmptyCacheType(t *testing.T) { - got := mongoUncachedUsageMatch() - want := bson.D{{Key: "$or", Value: bson.A{ - bson.D{{Key: "cache_type", Value: bson.D{{Key: "$exists", Value: false}}}}, - bson.D{{Key: "cache_type", Value: nil}}, - bson.D{{Key: "cache_type", Value: ""}}, - }}} +func bsonField(document bson.D, key string) any { + for _, element := range document { + if element.Key == key { + return element.Value + } + } + return nil +} - if !reflect.DeepEqual(got, want) { - t.Fatalf("mongoUncachedUsageMatch() = %#v, want %#v", got, want) +func TestBsonNumberReadsEveryNumericShape(t *testing.T) { + tests := []struct { + name string + value any + want float64 + ok bool + }{ + {name: "double", value: 1.5, want: 1.5, ok: true}, + {name: "int64", value: int64(3), want: 3, ok: true}, + {name: "int32", value: int32(2), want: 2, ok: true}, + {name: "missing", value: nil}, + {name: "unexpected type", value: "7"}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, ok := bsonNumber(tt.value) + if got != tt.want || ok != tt.ok { + t.Fatalf("bsonNumber(%v) = %v/%v, want %v/%v", tt.value, got, ok, tt.want, tt.ok) + } + }) } } diff --git a/internal/budget/store_sql.go b/internal/budget/store_sql.go index b617a6555..2e2bf99ae 100644 --- a/internal/budget/store_sql.go +++ b/internal/budget/store_sql.go @@ -3,6 +3,7 @@ package budget import ( "context" "fmt" + "slices" "strconv" "strings" "time" @@ -27,41 +28,38 @@ type SQLStore struct { db sqlx.DB } -var sqlBudgetsTable = `CREATE TABLE IF NOT EXISTS budgets ( - user_path TEXT NOT NULL, +// sqlBudgetsSchema is shared by fresh installs and the pre-scope migration +// rebuild. +var sqlBudgetsSchema = `CREATE TABLE IF NOT EXISTS budgets ( + scope TEXT NOT NULL DEFAULT 'user_path', + subject TEXT NOT NULL, period_seconds ` + sqlx.TypeInt64 + ` NOT NULL, amount ` + sqlx.TypeFloat + ` NOT NULL, source TEXT NOT NULL DEFAULT '', last_reset_at ` + sqlx.TypeInt64 + `, created_at ` + sqlx.TypeInt64 + ` NOT NULL, updated_at ` + sqlx.TypeInt64 + ` NOT NULL, - PRIMARY KEY (user_path, period_seconds) + PRIMARY KEY (scope, subject, period_seconds) )` -// sqlRest is applied after the budgets migrations. +// sqlRest is applied after the budgets table exists. var sqlRest = []string{ `CREATE TABLE IF NOT EXISTS budget_settings ( key TEXT PRIMARY KEY, value TEXT NOT NULL, updated_at ` + sqlx.TypeInt64 + ` NOT NULL )`, - `CREATE INDEX IF NOT EXISTS idx_budgets_user_path ON budgets(user_path)`, + `CREATE INDEX IF NOT EXISTS idx_budgets_subject ON budgets(scope, subject)`, `CREATE INDEX IF NOT EXISTS idx_budgets_period_seconds ON budgets(period_seconds)`, } -// sqlMigrations backfill columns added after the table's first release. -var sqlMigrations = []string{ - `ALTER TABLE budgets ADD COLUMN source TEXT NOT NULL DEFAULT ''`, - `ALTER TABLE budgets ADD COLUMN last_reset_at ` + sqlx.TypeInt64, -} - // upsertBudgetSQL preserves a manually edited budget against a config re-seed: // a column is only overwritten when the incoming or stored row is manual, or // when both are config-sourced. const upsertBudgetSQL = ` - INSERT INTO budgets (user_path, period_seconds, amount, source, last_reset_at, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?) - ON CONFLICT(user_path, period_seconds) DO UPDATE SET + INSERT INTO budgets (scope, subject, period_seconds, amount, source, last_reset_at, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(scope, subject, period_seconds) DO UPDATE SET amount = CASE WHEN excluded.source = ? OR budgets.source = ? THEN excluded.amount ELSE budgets.amount END, source = CASE WHEN excluded.source = ? OR budgets.source = ? THEN excluded.source ELSE budgets.source END, updated_at = CASE WHEN excluded.source = ? OR budgets.source = ? THEN excluded.updated_at ELSE budgets.updated_at END @@ -72,11 +70,11 @@ func NewSQLStore(ctx context.Context, db sqlx.DB) (*SQLStore, error) { if db == nil { return nil, fmt.Errorf("database connection is required") } - if err := db.Schema(ctx, sqlBudgetsTable); err != nil { - return nil, fmt.Errorf("failed to create budgets table: %w", err) + if err := migratePreScopeTable(ctx, db); err != nil { + return nil, err } - if err := sqlx.AddColumns(ctx, db, sqlMigrations...); err != nil { - return nil, fmt.Errorf("failed to migrate budgets table: %w", err) + if err := db.Schema(ctx, sqlBudgetsSchema); err != nil { + return nil, fmt.Errorf("failed to create budgets table: %w", err) } if err := db.Schema(ctx, sqlRest...); err != nil { return nil, fmt.Errorf("failed to create budget tables: %w", err) @@ -86,9 +84,9 @@ func NewSQLStore(ctx context.Context, db sqlx.DB) (*SQLStore, error) { func (s *SQLStore) ListBudgets(ctx context.Context) ([]Budget, error) { rows, err := s.db.Query(ctx, ` - SELECT user_path, period_seconds, amount, source, last_reset_at, created_at, updated_at + SELECT scope, subject, period_seconds, amount, source, last_reset_at, created_at, updated_at FROM budgets - ORDER BY user_path ASC, period_seconds ASC + ORDER BY scope ASC, subject ASC, period_seconds ASC `) if err != nil { return nil, fmt.Errorf("list budgets: %w", err) @@ -122,23 +120,20 @@ func (s *SQLStore) UpsertBudgets(ctx context.Context, budgets []Budget) error { }) } -func (s *SQLStore) DeleteBudget(ctx context.Context, userPath string, periodSeconds int64) error { - userPath, err := NormalizeUserPath(userPath) +func (s *SQLStore) DeleteBudget(ctx context.Context, scope Scope, subject string, periodSeconds int64) error { + scope, subject, err := normalizeBudgetKey(scope, subject, periodSeconds) if err != nil { return err } - if periodSeconds <= 0 { - return fmt.Errorf("period_seconds must be greater than 0") - } affected, err := s.db.Exec(ctx, ` DELETE FROM budgets - WHERE user_path = ? AND period_seconds = ? - `, userPath, periodSeconds) + WHERE scope = ? AND subject = ? AND period_seconds = ? + `, scope, subject, periodSeconds) if err != nil { - return fmt.Errorf("delete budget %s/%d: %w", userPath, periodSeconds, err) + return fmt.Errorf("delete budget %s %s/%d: %w", scope, subject, periodSeconds, err) } if affected == 0 { - return fmt.Errorf("%w: %s/%d", ErrNotFound, userPath, periodSeconds) + return fmt.Errorf("%w: %s %s/%d", ErrNotFound, scope, subject, periodSeconds) } return nil } @@ -160,8 +155,8 @@ func (s *SQLStore) ReplaceConfigBudgets(ctx context.Context, budgets []Budget) e if len(budgets) > 0 { conditions := make([]string, 0, len(budgets)) for _, budget := range budgets { - conditions = append(conditions, `(user_path = ? AND period_seconds = ?)`) - args = append(args, budget.UserPath, budget.PeriodSeconds) + conditions = append(conditions, `(scope = ? AND subject = ? AND period_seconds = ?)`) + args = append(args, budget.Scope, budget.Subject, budget.PeriodSeconds) } query += ` AND NOT (` + strings.Join(conditions, " OR ") + `)` } @@ -209,24 +204,21 @@ func (s *SQLStore) SaveSettings(ctx context.Context, settings Settings) (Setting return settings, nil } -func (s *SQLStore) ResetBudget(ctx context.Context, userPath string, periodSeconds int64, at time.Time) error { - userPath, err := NormalizeUserPath(userPath) +func (s *SQLStore) ResetBudget(ctx context.Context, scope Scope, subject string, periodSeconds int64, at time.Time) error { + scope, subject, err := normalizeBudgetKey(scope, subject, periodSeconds) if err != nil { return err } - if periodSeconds <= 0 { - return fmt.Errorf("period_seconds must be greater than 0") - } affected, err := s.db.Exec(ctx, ` UPDATE budgets SET last_reset_at = ?, updated_at = ? - WHERE user_path = ? AND period_seconds = ? - `, at.UTC().Unix(), at.UTC().Unix(), userPath, periodSeconds) + WHERE scope = ? AND subject = ? AND period_seconds = ? + `, at.UTC().Unix(), at.UTC().Unix(), scope, subject, periodSeconds) if err != nil { - return fmt.Errorf("reset budget %s/%d: %w", userPath, periodSeconds, err) + return fmt.Errorf("reset budget %s %s/%d: %w", scope, subject, periodSeconds, err) } if affected == 0 { - return fmt.Errorf("%w: %s/%d", ErrNotFound, userPath, periodSeconds) + return fmt.Errorf("%w: %s %s/%d", ErrNotFound, scope, subject, periodSeconds) } return nil } @@ -240,53 +232,129 @@ func (s *SQLStore) ResetAllBudgets(ctx context.Context, at time.Time) error { return nil } -// SumUsageCost totals uncached spend for a budget's subtree over a window. +// spendChunkSize caps how many windows share one statement. Each window binds +// up to four parameters, keeping a chunk well inside the 999-parameter limit +// of older SQLite builds. +const spendChunkSize = 64 + +// SumSpend totals uncached spend for every window with one scan per chunk. // -// This is the one budget statement that cannot be shared: SQLite keeps the -// usage timestamp as text and must convert it, while PostgreSQL compares a -// real timestamp column and has to quote "usage" as a reserved word. -func (s *SQLStore) SumUsageCost(ctx context.Context, userPath string, start, end time.Time) (float64, bool, error) { - userPath, err := NormalizeUserPath(userPath) - if err != nil { - return 0, false, err - } - userPathExpr := usagePathMatchesBudgetExpr("user_path") - - var query string - var args []any - switch s.db.Dialect() { - case sqlx.SQLite: - epoch := "unixepoch(REPLACE(timestamp, ' ', 'T'))" - query = `SELECT SUM(total_cost) FROM usage - WHERE ` + epoch + ` >= unixepoch(?) - AND ` + epoch + ` < unixepoch(?) - AND (` + userPathExpr + ` = ? OR ` + userPathExpr + ` LIKE ? ESCAPE '\') - AND (cache_type IS NULL OR cache_type = '')` - args = []any{ - start.UTC().Format(time.RFC3339Nano), - end.UTC().Format(time.RFC3339Nano), - userPath, - usagePathLikePattern(userPath), +// A budget check matches several budgets at once — a user-path subtree plus a +// budget per request label — and running one statement each would scan the +// usage table once per budget. Conditional aggregation collapses them into a +// single pass: the outer WHERE spans the union of the windows, and each window +// gets its own SUM(CASE ...) column. +func (s *SQLStore) SumSpend(ctx context.Context, windows []SpendWindow) ([]Spend, error) { + if len(windows) == 0 { + return nil, nil + } + if dialect := s.db.Dialect(); dialect != sqlx.SQLite && dialect != sqlx.PostgreSQL { + return nil, fmt.Errorf("unsupported dialect %q", dialect) + } + spends := make([]Spend, 0, len(windows)) + for chunk := range slices.Chunk(windows, spendChunkSize) { + part, err := s.sumSpendChunk(ctx, chunk) + if err != nil { + return nil, err + } + spends = append(spends, part...) + } + return spends, nil +} + +func (s *SQLStore) sumSpendChunk(ctx context.Context, windows []SpendWindow) ([]Spend, error) { + // SQLite keeps the usage timestamp as text and must convert it, while + // PostgreSQL compares a real timestamp column and has to quote "usage" as a + // reserved word. + sqlite := s.db.Dialect() == sqlx.SQLite + timeExpr, timeBound, table := "timestamp", "?", `"usage"` + timeArg := func(t time.Time) any { return t.UTC() } + if sqlite { + timeExpr, timeBound, table = "unixepoch(REPLACE(timestamp, ' ', 'T'))", "unixepoch(?)", "usage" + timeArg = func(t time.Time) any { return t.UTC().Format(time.RFC3339Nano) } + } + + columns := make([]string, 0, len(windows)) + args := make([]any, 0, len(windows)*4+2) + for _, window := range windows { + match, matchArgs, err := spendSubjectMatch(window, sqlite) + if err != nil { + return nil, err } - case sqlx.PostgreSQL: - query = `SELECT SUM(total_cost) FROM "usage" - WHERE timestamp >= ? - AND timestamp < ? - AND (` + userPathExpr + ` = ? OR ` + userPathExpr + ` LIKE ? ESCAPE '\') - AND (cache_type IS NULL OR cache_type = '')` - args = []any{start.UTC(), end.UTC(), userPath, usagePathLikePattern(userPath)} - default: - return 0, false, fmt.Errorf("unsupported dialect %q", s.db.Dialect()) + columns = append(columns, "SUM(CASE WHEN "+timeExpr+" >= "+timeBound+ + " AND "+timeExpr+" < "+timeBound+" AND "+match+" THEN total_cost END)") + args = append(args, timeArg(window.Start), timeArg(window.End)) + args = append(args, matchArgs...) } + query := `SELECT ` + strings.Join(columns, ", ") + ` FROM ` + table + + ` WHERE ` + timeExpr + ` >= ` + timeBound + + ` AND ` + timeExpr + ` < ` + timeBound + + ` AND (cache_type IS NULL OR cache_type = '')` + minStart, maxEnd := spendBounds(windows) + args = append(args, timeArg(minStart), timeArg(maxEnd)) - var total *float64 - if err := s.db.QueryRow(ctx, query, args...).Scan(&total); err != nil { - return 0, false, fmt.Errorf("sum usage cost: %w", err) + totals := make([]*float64, len(windows)) + dest := make([]any, len(windows)) + for i := range totals { + dest[i] = &totals[i] + } + if err := s.db.QueryRow(ctx, query, args...).Scan(dest...); err != nil { + return nil, fmt.Errorf("sum usage cost: %w", err) + } + + spends := make([]Spend, len(windows)) + for i, total := range totals { + // A NULL sum means the window matched no priced usage at all, which is + // what keeps an untouched budget from blocking. + if total != nil { + spends[i] = Spend{Total: *total, HasUsage: true} + } } - if total == nil { - return 0, false, nil + return spends, nil +} + +// spendSubjectMatch renders the usage-row predicate for one budget subject. +func spendSubjectMatch(window SpendWindow, sqlite bool) (string, []any, error) { + if window.Scope == ScopeLabel { + subject, err := NormalizeSubject(ScopeLabel, window.Subject) + if err != nil { + return "", nil, err + } + if sqlite { + return `(labels IS NOT NULL AND EXISTS (SELECT 1 FROM json_each(usage.labels) WHERE json_each.value = ?))`, + []any{subject}, nil + } + // The function form, not the `?` operator, so the placeholder rewriter + // never has to tell the two apart. + return `jsonb_exists(labels, ?)`, []any{subject}, nil } - return *total, true, nil + userPath, err := NormalizeUserPath(window.Subject) + if err != nil { + return "", nil, err + } + pathExpr := usagePathMatchesBudgetExpr("user_path") + return `(` + pathExpr + ` = ? OR ` + pathExpr + ` LIKE ? ESCAPE '\')`, + []any{userPath, usagePathLikePattern(userPath)}, nil +} + +// usagePathMatchesBudgetExpr normalizes a stored user path the way budget +// matching expects: missing and blank paths count as the root. +func usagePathMatchesBudgetExpr(column string) string { + return "COALESCE(NULLIF(TRIM(" + column + "), ''), '/')" +} + +func usagePathLikePattern(userPath string) string { + if userPath == "/" { + return "/%" + } + return escapeLikeWildcards(userPath) + "/%" +} + +func escapeLikeWildcards(s string) string { + s = strings.ReplaceAll(s, `\`, `\\`) + s = strings.ReplaceAll(s, `%`, `\%`) + s = strings.ReplaceAll(s, `_`, `\_`) + return s } func (s *SQLStore) Close() error { @@ -296,7 +364,8 @@ func (s *SQLStore) Close() error { func upsertBudgets(ctx context.Context, q sqlx.Querier, budgets []Budget) error { for _, budget := range budgets { _, err := q.Exec(ctx, upsertBudgetSQL, - budget.UserPath, + budget.Scope, + budget.Subject, budget.PeriodSeconds, budget.Amount, budget.Source, @@ -308,7 +377,7 @@ func upsertBudgets(ctx context.Context, q sqlx.Querier, budgets []Budget) error SourceManual, SourceConfig, ) if err != nil { - return fmt.Errorf("upsert budget %s/%d: %w", budget.UserPath, budget.PeriodSeconds, err) + return fmt.Errorf("upsert budget %s %s/%d: %w", budget.Scope, budget.Subject, budget.PeriodSeconds, err) } } return nil @@ -319,7 +388,8 @@ func scanSQLBudget(scanner sqlx.Row) (Budget, error) { var lastResetAt *int64 var createdAt, updatedAt int64 if err := scanner.Scan( - &budget.UserPath, + &budget.Scope, + &budget.Subject, &budget.PeriodSeconds, &budget.Amount, &budget.Source, diff --git a/internal/budget/store_sql_migrate.go b/internal/budget/store_sql_migrate.go new file mode 100644 index 000000000..d549f7fdb --- /dev/null +++ b/internal/budget/store_sql_migrate.go @@ -0,0 +1,97 @@ +package budget + +import ( + "context" + "fmt" + + "github.com/enterpilot/gomodel/internal/storage/sqlx" +) + +// migratePreScopeTable rebuilds a budgets table created before budget scopes +// existed (keyed by user_path only) into the scoped shape. +// +// The rebuild also absorbs the two columns that older releases added with +// ALTER TABLE — source and last_reset_at — by substituting their defaults when +// the old table predates them. +// +// Only the column introspection differs per engine — SQLite has PRAGMA +// table_info, PostgreSQL has information_schema. The rebuild itself is the +// same statements in the same order on both. +func migratePreScopeTable(ctx context.Context, db sqlx.DB) error { + columns, err := budgetColumns(ctx, db) + if err != nil { + return err + } + if columns["subject"] || !columns["user_path"] { + return nil // already scoped, or the table does not exist yet + } + + sourceExpr := "source" + if !columns["source"] { + sourceExpr = "''" + } + lastResetExpr := "last_reset_at" + if !columns["last_reset_at"] { + lastResetExpr = "NULL" + } + + // One transaction: a crash mid-rebuild must not leave the table renamed + // away, or the next startup would create a fresh empty budgets table and + // orphan every limit. If concurrent replicas race here, one commits and the + // others fail fast and see the migrated schema on restart. + return db.InTx(ctx, func(q sqlx.Querier) error { + statements := []string{ + `ALTER TABLE budgets RENAME TO budgets_pre_scope`, + db.Dialect().ExpandTypes(sqlBudgetsSchema), + `INSERT INTO budgets (scope, subject, period_seconds, amount, source, last_reset_at, created_at, updated_at) + SELECT 'user_path', user_path, period_seconds, amount, ` + sourceExpr + `, ` + lastResetExpr + `, created_at, updated_at + FROM budgets_pre_scope`, + `DROP TABLE budgets_pre_scope`, + // SQLite carried the old index along with the renamed table; + // PostgreSQL drops it with the table, so this is a no-op there. + `DROP INDEX IF EXISTS idx_budgets_user_path`, + } + for _, statement := range statements { + if _, err := q.Exec(ctx, statement); err != nil { + return fmt.Errorf("migrate budgets to scoped schema: %w", err) + } + } + return nil + }) +} + +// budgetColumns reports which columns the budgets table currently has, empty +// when the table does not exist. +func budgetColumns(ctx context.Context, db sqlx.DB) (map[string]bool, error) { + var query string + var args []any + switch db.Dialect() { + case sqlx.SQLite: + query = `SELECT name FROM pragma_table_info('budgets')` + case sqlx.PostgreSQL: + query = `SELECT column_name FROM information_schema.columns + WHERE table_schema = current_schema() AND table_name = ?` + args = []any{"budgets"} + default: + return nil, fmt.Errorf("unsupported dialect %q", db.Dialect()) + } + + rows, err := db.Query(ctx, query, args...) + if err != nil { + return nil, fmt.Errorf("inspect budgets schema: %w", err) + } + defer rows.Close() + + columns := make(map[string]bool) + for rows.Next() { + var name string + if err := rows.Scan(&name); err != nil { + return nil, fmt.Errorf("inspect budgets schema: %w", err) + } + columns[name] = true + } + if err := rows.Err(); err != nil { + return nil, fmt.Errorf("inspect budgets schema: %w", err) + } + return columns, nil +} diff --git a/internal/budget/store_sql_test.go b/internal/budget/store_sql_test.go index 55bcd63c3..4034a5fe4 100644 --- a/internal/budget/store_sql_test.go +++ b/internal/budget/store_sql_test.go @@ -29,15 +29,16 @@ func TestSQLStoreReplaceConfigBudgetsRemovesStaleConfigRowsOnly(t *testing.T) { ctx := context.Background() resetAt := time.Date(2026, time.April, 25, 9, 0, 0, 0, time.UTC) if err := store.UpsertBudgets(ctx, []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10, Source: SourceConfig}, - {UserPath: "/team", PeriodSeconds: PeriodWeeklySeconds, Amount: 50, Source: SourceConfig, LastResetAt: &resetAt}, - {UserPath: "/manual", PeriodSeconds: PeriodDailySeconds, Amount: 5, Source: SourceManual}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10, Source: SourceConfig}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodWeeklySeconds, Amount: 50, Source: SourceConfig, LastResetAt: &resetAt}, + {Scope: ScopeUserPath, Subject: "/manual", PeriodSeconds: PeriodDailySeconds, Amount: 5, Source: SourceManual}, + {Scope: ScopeLabel, Subject: "prod", PeriodSeconds: PeriodDailySeconds, Amount: 20, Source: SourceConfig}, }); err != nil { t.Fatalf("UpsertBudgets() failed: %v", err) } if err := store.ReplaceConfigBudgets(ctx, []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodWeeklySeconds, Amount: 75}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodWeeklySeconds, Amount: 75}, }); err != nil { t.Fatalf("ReplaceConfigBudgets() failed: %v", err) } @@ -51,12 +52,15 @@ func TestSQLStoreReplaceConfigBudgetsRemovesStaleConfigRowsOnly(t *testing.T) { } byKey := make(map[string]Budget, len(got)) for _, budget := range got { - byKey[budgetKey(budget.UserPath, budget.PeriodSeconds)] = budget + byKey[budgetKey(budget.Scope, budget.Subject, budget.PeriodSeconds)] = budget } - if _, ok := byKey[budgetKey("/team", PeriodDailySeconds)]; ok { + if _, ok := byKey[budgetKey(ScopeUserPath, "/team", PeriodDailySeconds)]; ok { t.Fatal("stale config daily budget was not removed") } - weekly := byKey[budgetKey("/team", PeriodWeeklySeconds)] + if _, ok := byKey[budgetKey(ScopeLabel, "prod", PeriodDailySeconds)]; ok { + t.Fatal("stale config label budget was not removed") + } + weekly := byKey[budgetKey(ScopeUserPath, "/team", PeriodWeeklySeconds)] if weekly.Amount != 75 { t.Fatalf("weekly amount = %v, want 75", weekly.Amount) } @@ -66,7 +70,7 @@ func TestSQLStoreReplaceConfigBudgetsRemovesStaleConfigRowsOnly(t *testing.T) { if weekly.LastResetAt == nil || !weekly.LastResetAt.Equal(resetAt) { t.Fatalf("weekly last_reset_at = %v, want %s", weekly.LastResetAt, resetAt) } - if _, ok := byKey[budgetKey("/manual", PeriodDailySeconds)]; !ok { + if _, ok := byKey[budgetKey(ScopeUserPath, "/manual", PeriodDailySeconds)]; !ok { t.Fatal("manual budget was removed by config replacement") } }) @@ -76,13 +80,13 @@ func TestSQLStoreReplaceConfigBudgetsPreservesManualCollision(t *testing.T) { runSQLStoreTest(t, func(t *testing.T, store *SQLStore) { ctx := context.Background() if err := store.UpsertBudgets(ctx, []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10, Source: SourceManual}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 10, Source: SourceManual}, }); err != nil { t.Fatalf("UpsertBudgets() failed: %v", err) } if err := store.ReplaceConfigBudgets(ctx, []Budget{ - {UserPath: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 99}, + {Scope: ScopeUserPath, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 99}, }); err != nil { t.Fatalf("ReplaceConfigBudgets() failed: %v", err) } @@ -100,7 +104,90 @@ func TestSQLStoreReplaceConfigBudgetsPreservesManualCollision(t *testing.T) { }) } -func TestSQLStoreSumUsageCostHonorsUserPathBoundaryAndCacheType(t *testing.T) { +// A label and a user path can spell the same subject; the scope must keep them +// apart in storage. +func TestSQLStoreScopeSeparatesIdenticalSubjects(t *testing.T) { + runSQLStoreTest(t, func(t *testing.T, store *SQLStore) { + ctx := context.Background() + if err := store.UpsertBudgets(ctx, []Budget{ + {Scope: ScopeUserPath, Subject: "/prod", PeriodSeconds: PeriodDailySeconds, Amount: 10}, + {Scope: ScopeLabel, Subject: "/prod", PeriodSeconds: PeriodDailySeconds, Amount: 20}, + }); err != nil { + t.Fatalf("UpsertBudgets() failed: %v", err) + } + + got, err := store.ListBudgets(ctx) + if err != nil { + t.Fatalf("ListBudgets() failed: %v", err) + } + if len(got) != 2 { + t.Fatalf("expected 2 budgets, got %d: %+v", len(got), got) + } + + if err := store.DeleteBudget(ctx, ScopeLabel, "/prod", PeriodDailySeconds); err != nil { + t.Fatalf("DeleteBudget() failed: %v", err) + } + got, err = store.ListBudgets(ctx) + if err != nil { + t.Fatalf("ListBudgets() failed: %v", err) + } + if len(got) != 1 || got[0].Scope != ScopeUserPath { + t.Fatalf("after deleting the label budget, got %+v, want only the user-path budget", got) + } + }) +} + +// A budgets table written before scopes existed must survive the upgrade with +// its rows intact, including one predating the source and last_reset_at +// columns. +func TestSQLStoreMigratesPreScopeTable(t *testing.T) { + sqlxtest.Run(t, func(t *testing.T, db sqlx.DB) { + ctx := context.Background() + if err := db.Schema(ctx, `CREATE TABLE budgets ( + user_path TEXT NOT NULL, + period_seconds `+sqlx.TypeInt64+` NOT NULL, + amount `+sqlx.TypeFloat+` NOT NULL, + created_at `+sqlx.TypeInt64+` NOT NULL, + updated_at `+sqlx.TypeInt64+` NOT NULL, + PRIMARY KEY (user_path, period_seconds) + )`); err != nil { + t.Fatalf("create pre-scope table: %v", err) + } + if _, err := db.Exec(ctx, + `INSERT INTO budgets (user_path, period_seconds, amount, created_at, updated_at) VALUES (?, ?, ?, ?, ?)`, + "/team", PeriodDailySeconds, 10.0, int64(1), int64(2)); err != nil { + t.Fatalf("seed pre-scope row: %v", err) + } + + store, err := NewSQLStore(ctx, db) + if err != nil { + t.Fatalf("NewSQLStore() failed: %v", err) + } + got, err := store.ListBudgets(ctx) + if err != nil { + t.Fatalf("ListBudgets() failed: %v", err) + } + if len(got) != 1 { + t.Fatalf("expected the pre-scope row to survive, got %+v", got) + } + if got[0].Scope != ScopeUserPath || got[0].Subject != "/team" || got[0].Amount != 10 { + t.Fatalf("migrated budget = %+v, want user_path /team amount 10", got[0]) + } + if got[0].LastResetAt != nil { + t.Fatalf("migrated last_reset_at = %v, want nil", got[0].LastResetAt) + } + + // A label budget must be storable afterwards: the old primary key would + // have rejected a second row with the same subject and period. + if err := store.UpsertBudgets(ctx, []Budget{ + {Scope: ScopeLabel, Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: 1}, + }); err != nil { + t.Fatalf("UpsertBudgets() after migration failed: %v", err) + } + }) +} + +func TestSQLStoreSumSpendHonorsSubjectBoundaryAndCacheType(t *testing.T) { ctx := context.Background() db, err := sql.Open("sqlite", ":memory:") if err != nil { @@ -123,37 +210,110 @@ func TestSQLStoreSumUsageCostHonorsUserPathBoundaryAndCacheType(t *testing.T) { now := time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC) entries := []*usage.UsageEntry{ - usageEntryWithCost("team-root", "/team", "", now, 0.25), - usageEntryWithCost("team-child", "/team/app", "", now, 0.75), - usageEntryWithCost("sibling", "/team-alpha", "", now, 5), - usageEntryWithCost("cached", "/team/cache", usage.CacheTypeExact, now, 10), - usageEntryWithCost("outside-window", "/team/app", "", now.Add(-48*time.Hour), 7), + usageEntryWithCost("team-root", "/team", "", now, 0.25, "prod"), + usageEntryWithCost("team-child", "/team/app", "", now, 0.75, "prod", "iOS"), + usageEntryWithCost("sibling", "/team-alpha", "", now, 5, "iOS"), + usageEntryWithCost("cached", "/team/cache", usage.CacheTypeExact, now, 10, "prod"), + usageEntryWithCost("outside-window", "/team/app", "", now.Add(-48*time.Hour), 7, "prod"), + usageEntryWithCost("unlabelled", "/team/plain", "", now, 0.5), } if err := usageStore.WriteBatch(ctx, entries); err != nil { t.Fatalf("WriteBatch() failed: %v", err) } - got, hasUsage, err := store.SumUsageCost(ctx, "/team", now.Add(-time.Hour), now.Add(time.Hour)) + start, end := now.Add(-time.Hour), now.Add(time.Hour) + windows := []SpendWindow{ + {Scope: ScopeUserPath, Subject: "/team", Start: start, End: end}, + {Scope: ScopeUserPath, Subject: "/missing", Start: start, End: end}, + {Scope: ScopeLabel, Subject: "prod", Start: start, End: end}, + {Scope: ScopeLabel, Subject: "iOS", Start: start, End: end}, + {Scope: ScopeLabel, Subject: "absent", Start: start, End: end}, + // Same label, but a window that excludes every entry. + {Scope: ScopeLabel, Subject: "prod", Start: now.Add(-72 * time.Hour), End: now.Add(-60 * time.Hour)}, + } + want := []Spend{ + {Total: 1.5, HasUsage: true}, // /team subtree, uncached, minus the sibling + {}, // no such path + {Total: 1.0, HasUsage: true}, // prod: team-root + team-child, cached excluded + {Total: 5.75, HasUsage: true}, // iOS: team-child + sibling + {}, // no such label + {}, // window with no entries + } + + got, err := store.SumSpend(ctx, windows) + if err != nil { + t.Fatalf("SumSpend() failed: %v", err) + } + if len(got) != len(want) { + t.Fatalf("SumSpend() returned %d spends, want %d", len(got), len(want)) + } + for i := range want { + if got[i].HasUsage != want[i].HasUsage || got[i].Total != want[i].Total { + t.Fatalf("spend[%d] (%s %s) = %+v, want %+v", + i, windows[i].Scope, windows[i].Subject, got[i], want[i]) + } + } +} + +// The chunking that keeps a batch inside the SQLite parameter limit must not +// change the results or their order. +func TestSQLStoreSumSpendChunksLargeBatches(t *testing.T) { + ctx := context.Background() + db, err := sql.Open("sqlite", ":memory:") + if err != nil { + t.Fatalf("sql.Open() failed: %v", err) + } + defer db.Close() + + usageStore, err := usage.NewSQLiteStore(db, 0) + if err != nil { + t.Fatalf("NewSQLiteStore() for usage failed: %v", err) + } + wrapped, err := sqlx.NewSQLite(db) + if err != nil { + t.Fatalf("sqlx.NewSQLite() failed: %v", err) + } + store, err := NewSQLStore(ctx, wrapped) if err != nil { - t.Fatalf("SumUsageCost() failed: %v", err) + t.Fatalf("NewSQLStore() failed: %v", err) } - if !hasUsage { - t.Fatal("SumUsageCost() hasUsage = false, want true") + + now := time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC) + if err := usageStore.WriteBatch(ctx, []*usage.UsageEntry{ + usageEntryWithCost("only", "/team", "", now, 3, "prod"), + }); err != nil { + t.Fatalf("WriteBatch() failed: %v", err) } - if got != 1.0 { - t.Fatalf("SumUsageCost() = %v, want 1.0", got) + + start, end := now.Add(-time.Hour), now.Add(time.Hour) + total := spendChunkSize*2 + 3 + windows := make([]SpendWindow, 0, total) + for i := range total { + if i == total-1 { + windows = append(windows, SpendWindow{Scope: ScopeLabel, Subject: "prod", Start: start, End: end}) + continue + } + windows = append(windows, SpendWindow{Scope: ScopeLabel, Subject: "absent", Start: start, End: end}) } - got, hasUsage, err = store.SumUsageCost(ctx, "/missing", now.Add(-time.Hour), now.Add(time.Hour)) + got, err := store.SumSpend(ctx, windows) if err != nil { - t.Fatalf("SumUsageCost() for missing path failed: %v", err) + t.Fatalf("SumSpend() failed: %v", err) + } + if len(got) != total { + t.Fatalf("SumSpend() returned %d spends, want %d", len(got), total) + } + for i, spend := range got[:total-1] { + if spend.HasUsage { + t.Fatalf("spend[%d] = %+v, want no usage", i, spend) + } } - if hasUsage || got != 0 { - t.Fatalf("missing path sum = %v/%v, want 0/false", got, hasUsage) + if last := got[total-1]; !last.HasUsage || last.Total != 3 { + t.Fatalf("last spend = %+v, want 3 with usage — chunk boundaries must preserve order", last) } } -func usageEntryWithCost(id, userPath, cacheType string, ts time.Time, cost float64) *usage.UsageEntry { +func usageEntryWithCost(id, userPath, cacheType string, ts time.Time, cost float64, labels ...string) *usage.UsageEntry { inputCost := cost / 2 outputCost := cost / 2 totalCost := cost @@ -168,6 +328,7 @@ func usageEntryWithCost(id, userPath, cacheType string, ts time.Time, cost float Endpoint: "/v1/chat/completions", UserPath: userPath, CacheType: cacheType, + Labels: labels, InputTokens: 1, OutputTokens: 1, TotalTokens: 2, diff --git a/internal/budget/types.go b/internal/budget/types.go index a4e168310..c83c82a96 100644 --- a/internal/budget/types.go +++ b/internal/budget/types.go @@ -3,6 +3,7 @@ package budget import ( "fmt" "math" + "slices" "strings" "time" @@ -24,9 +25,24 @@ const ( SourceManual = "manual" ) -// Budget stores one spend limit for one user path and reset period. +// Scope names what a budget limits: a consumer user-path subtree or a request +// label. +type Scope string + +const ( + // ScopeUserPath limits a consumer subtree; the subject is a user path and + // covers all its descendants. + ScopeUserPath Scope = "user_path" + // ScopeLabel limits everything carrying one request label; the subject is + // the label verbatim. A request carrying several labels is charged against + // every matching label budget. + ScopeLabel Scope = "label" +) + +// Budget stores one spend limit for one scope, subject, and reset period. type Budget struct { - UserPath string `json:"user_path" bson:"user_path"` + Scope Scope `json:"scope" bson:"scope"` + Subject string `json:"subject" bson:"subject"` PeriodSeconds int64 `json:"period_seconds" bson:"period_seconds"` Amount float64 `json:"amount" bson:"amount"` Source string `json:"source,omitempty" bson:"source,omitempty"` @@ -35,6 +51,41 @@ type Budget struct { UpdatedAt time.Time `json:"updated_at" bson:"updated_at"` } +// Subjects identifies the dimensions one request can be budgeted by. UserPath +// is always known at ingress; Labels are whatever tagging extracted for the +// request. +type Subjects struct { + UserPath string + Labels []string +} + +// appliesTo reports whether the budget covers the request subjects. +func (b Budget) appliesTo(s Subjects) bool { + if b.Scope == ScopeLabel { + return slices.Contains(s.Labels, b.Subject) + } + return budgetAppliesToPath(b.Subject, s.UserPath) +} + +// SubjectLabel names the budget subject for error messages and logs. +func (b Budget) SubjectLabel() string { + if b.Scope == ScopeLabel { + return "label " + b.Subject + } + return b.Subject +} + +// budgetAppliesToPath reports whether a budget path covers the request path, +// using the same subtree semantics as rate limits. +func budgetAppliesToPath(budgetPath, requestPath string) bool { + budgetPath = strings.TrimSpace(budgetPath) + requestPath = strings.TrimSpace(requestPath) + if budgetPath == "/" { + return true + } + return requestPath == budgetPath || strings.HasPrefix(requestPath, budgetPath+"/") +} + // Settings controls the calendar anchors used to find the active budget period. // Values are interpreted in UTC. type Settings struct { @@ -97,7 +148,7 @@ func (e *ExceededError) Error() string { } return fmt.Sprintf( "budget exceeded for %s %s limit: spent %.6f of %.6f", - e.Result.Budget.UserPath, + e.Result.Budget.SubjectLabel(), PeriodLabel(e.Result.Budget.PeriodSeconds), e.Result.Spent, e.Result.Budget.Amount, @@ -129,12 +180,45 @@ func NormalizeUserPath(raw string) (string, error) { return path, nil } +// NormalizeScope canonicalizes a budget scope name. An empty scope means +// user_path, keeping pre-scope budget definitions and requests valid. +func NormalizeScope(raw string) (Scope, error) { + switch Scope(strings.ToLower(strings.TrimSpace(raw))) { + case "", ScopeUserPath: + return ScopeUserPath, nil + case ScopeLabel: + return ScopeLabel, nil + default: + return "", fmt.Errorf("scope must be one of user_path, label") + } +} + +// NormalizeSubject canonicalizes a budget subject for its scope. Label +// subjects keep their case: they are compared verbatim against the labels +// recorded on usage entries, the same way the usage label filter and by-label +// breakdown compare them. +func NormalizeSubject(scope Scope, subject string) (string, error) { + if scope != ScopeLabel { + return NormalizeUserPath(subject) + } + subject = strings.TrimSpace(subject) + if subject == "" { + return "", fmt.Errorf("label budget subject is required") + } + return subject, nil +} + func NormalizeBudget(b Budget) (Budget, error) { - path, err := NormalizeUserPath(b.UserPath) + scope, err := NormalizeScope(string(b.Scope)) + if err != nil { + return Budget{}, err + } + b.Scope = scope + subject, err := NormalizeSubject(scope, b.Subject) if err != nil { return Budget{}, err } - b.UserPath = path + b.Subject = subject if b.PeriodSeconds <= 0 { return Budget{}, fmt.Errorf("period_seconds must be greater than 0") } diff --git a/internal/budget/types_test.go b/internal/budget/types_test.go index 26b93a910..01c37dd4e 100644 --- a/internal/budget/types_test.go +++ b/internal/budget/types_test.go @@ -38,7 +38,7 @@ func TestNormalizeBudgetRejectsNonFiniteAmount(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { _, err := NormalizeBudget(Budget{ - UserPath: "/team", + Subject: "/team", PeriodSeconds: PeriodDailySeconds, Amount: tt.amount, }) diff --git a/internal/server/budget_support.go b/internal/server/budget_support.go index 5ceef9ace..55c4414fb 100644 --- a/internal/server/budget_support.go +++ b/internal/server/budget_support.go @@ -15,7 +15,17 @@ import ( ) type BudgetChecker interface { - Check(ctx context.Context, userPath string, now time.Time) error + Check(ctx context.Context, subjects budget.Subjects, now time.Time) error +} + +// budgetSubjectsFromContext reads the dimensions a request can be budgeted by: +// its user path and the labels tagging extracted at ingress. +func budgetSubjectsFromContext(ctx context.Context) budget.Subjects { + userPath := core.UserPathFromContext(ctx) + if userPath == "" { + userPath = "/" + } + return budget.Subjects{UserPath: userPath, Labels: core.RequestLabelsFromContext(ctx)} } func enforceBudget(c *echo.Context, checker BudgetChecker) error { @@ -32,11 +42,7 @@ func enforceBudgetForContext(ctx context.Context, checker BudgetChecker) error { if workflow := core.GetWorkflow(ctx); workflow != nil && !workflow.BudgetEnabled() { return nil } - userPath := core.UserPathFromContext(ctx) - if userPath == "" { - userPath = "/" - } - if err := checker.Check(ctx, userPath, time.Now().UTC()); err != nil { + if err := checker.Check(ctx, budgetSubjectsFromContext(ctx), time.Now().UTC()); err != nil { return budgetCheckError(err) } return nil diff --git a/internal/server/budget_support_test.go b/internal/server/budget_support_test.go index 6c045b130..d0dbd692d 100644 --- a/internal/server/budget_support_test.go +++ b/internal/server/budget_support_test.go @@ -18,12 +18,12 @@ import ( type countingBudgetChecker struct { calls int - userPath string + subjects budget.Subjects } -func (c *countingBudgetChecker) Check(_ context.Context, userPath string, _ time.Time) error { +func (c *countingBudgetChecker) Check(_ context.Context, subjects budget.Subjects, _ time.Time) error { c.calls++ - c.userPath = userPath + c.subjects = subjects return nil } @@ -61,8 +61,8 @@ func TestEnforceBudgetDefaultsEnabledWithoutWorkflow(t *testing.T) { if checker.calls != 1 { t.Fatalf("budget checker was called %d times, want 1", checker.calls) } - if checker.userPath != "/" { - t.Fatalf("budget user path = %q, want /", checker.userPath) + if checker.subjects.UserPath != "/" { + t.Fatalf("budget user path = %q, want /", checker.subjects.UserPath) } } @@ -166,7 +166,8 @@ func TestBudgetExceededResponseIncludesRetryAfter(t *testing.T) { err := budgetCheckError(&budget.ExceededError{ Result: budget.CheckResult{ Budget: budget.Budget{ - UserPath: "/", + Scope: budget.ScopeUserPath, + Subject: "/", PeriodSeconds: budget.PeriodDailySeconds, Amount: 1, }, diff --git a/internal/server/mcp_service_test.go b/internal/server/mcp_service_test.go index bac596af5..e085b9587 100644 --- a/internal/server/mcp_service_test.go +++ b/internal/server/mcp_service_test.go @@ -13,6 +13,7 @@ import ( "github.com/labstack/echo/v5" "github.com/enterpilot/gomodel/internal/auditlog" + "github.com/enterpilot/gomodel/internal/budget" "github.com/enterpilot/gomodel/internal/mcpgateway" "github.com/enterpilot/gomodel/internal/ratelimit" ) @@ -84,10 +85,10 @@ func (rejectingRateLimiter) Acquire(ratelimit.Subjects, time.Time) (*ratelimit.R func (rejectingRateLimiter) RouteAvailable(string, string) bool { return true } -// rejectingBudgetChecker refuses every user path. +// rejectingBudgetChecker refuses every request. type rejectingBudgetChecker struct{} -func (rejectingBudgetChecker) Check(context.Context, string, time.Time) error { +func (rejectingBudgetChecker) Check(context.Context, budget.Subjects, time.Time) error { return context.DeadlineExceeded } diff --git a/internal/server/usage_status_handler.go b/internal/server/usage_status_handler.go index f406cf225..66fd627b8 100644 --- a/internal/server/usage_status_handler.go +++ b/internal/server/usage_status_handler.go @@ -29,7 +29,7 @@ type UsageSummarizer interface { // budget and rate limit services implement them; enforcement-only fakes keep // working and simply yield no status. type budgetStatusReporter interface { - StatusesForPath(ctx context.Context, userPath string, now time.Time) ([]budget.CheckResult, error) + StatusesFor(ctx context.Context, subjects budget.Subjects, now time.Time) ([]budget.CheckResult, error) } type rateLimitStatusReporter interface { @@ -53,7 +53,9 @@ type usageStatusSummary struct { } type usageStatusBudget struct { - UserPath string `json:"user_path"` + Scope string `json:"scope"` + Subject string `json:"subject"` + UserPath string `json:"user_path,omitempty"` PeriodSeconds int64 `json:"period_seconds"` PeriodLabel string `json:"period_label"` Amount float64 `json:"amount"` @@ -141,7 +143,8 @@ func (h *Handler) UsageStatus(c *echo.Context) error { } if reporter, ok := h.budgetChecker.(budgetStatusReporter); ok { - results, err := reporter.StatusesForPath(ctx, userPath, now) + subjects := budget.Subjects{UserPath: userPath, Labels: core.RequestLabelsFromContext(ctx)} + results, err := reporter.StatusesFor(ctx, subjects, now) if err != nil && !errors.Is(err, budget.ErrUnavailable) { return handleError(c, core.NewProviderError("budget", http.StatusServiceUnavailable, "failed to read budget status", err).WithCode("usage_status_failed")) } @@ -203,8 +206,9 @@ func usageStatusWindow(c *echo.Context, now time.Time) (usage.UsageQueryParams, func usageStatusBudgets(results []budget.CheckResult, now time.Time) []usageStatusBudget { statuses := make([]usageStatusBudget, 0, len(results)) for _, result := range results { - statuses = append(statuses, usageStatusBudget{ - UserPath: result.Budget.UserPath, + status := usageStatusBudget{ + Scope: string(result.Budget.Scope), + Subject: result.Budget.Subject, PeriodSeconds: result.Budget.PeriodSeconds, PeriodLabel: budget.PeriodLabel(result.Budget.PeriodSeconds), Amount: result.Budget.Amount, @@ -216,7 +220,12 @@ func usageStatusBudgets(results []budget.CheckResult, now time.Time) []usageStat ResetsInSeconds: secondsUntil(result.PeriodEnd, now), // Mirrors enforcement: budgets without any usage never block. Exceeded: result.HasUsage && result.Spent >= result.Budget.Amount, - }) + } + // Convenience duplicate: user-path budgets keep the natural spelling. + if result.Budget.Scope == budget.ScopeUserPath { + status.UserPath = result.Budget.Subject + } + statuses = append(statuses, status) } return statuses } diff --git a/internal/server/usage_status_handler_test.go b/internal/server/usage_status_handler_test.go index b5ada9c41..9e5700382 100644 --- a/internal/server/usage_status_handler_test.go +++ b/internal/server/usage_status_handler_test.go @@ -28,15 +28,15 @@ func (f *fakeUsageSummarizer) GetSummary(_ context.Context, params usage.UsageQu // fakeBudgetStatusChecker enforces nothing and reports canned statuses, // satisfying both BudgetChecker and the status upgrade interface. type fakeBudgetStatusChecker struct { - results []budget.CheckResult - err error - gotPath string + results []budget.CheckResult + err error + gotSubjects budget.Subjects } -func (f *fakeBudgetStatusChecker) Check(context.Context, string, time.Time) error { return nil } +func (f *fakeBudgetStatusChecker) Check(context.Context, budget.Subjects, time.Time) error { return nil } -func (f *fakeBudgetStatusChecker) StatusesForPath(_ context.Context, userPath string, _ time.Time) ([]budget.CheckResult, error) { - f.gotPath = userPath +func (f *fakeBudgetStatusChecker) StatusesFor(_ context.Context, subjects budget.Subjects, _ time.Time) ([]budget.CheckResult, error) { + f.gotSubjects = subjects return f.results, f.err } @@ -79,7 +79,7 @@ func TestUsageStatusReportsManagedKeyPath(t *testing.T) { requests := int64(7) summarizer := &fakeUsageSummarizer{summary: &usage.UsageSummary{TotalRequests: 7, TotalTokens: 1234}} budgets := &fakeBudgetStatusChecker{results: []budget.CheckResult{{ - Budget: budget.Budget{UserPath: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10}, + Budget: budget.Budget{Scope: budget.ScopeUserPath, Subject: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10}, PeriodStart: time.Date(2026, time.July, 6, 0, 0, 0, 0, time.UTC), PeriodEnd: time.Date(2026, time.July, 7, 0, 0, 0, 0, time.UTC), Spent: 12, @@ -112,7 +112,7 @@ func TestUsageStatusReportsManagedKeyPath(t *testing.T) { } for name, got := range map[string]string{ "summarizer": summarizer.gotParams.UserPath, - "budgets": budgets.gotPath, + "budgets": budgets.gotSubjects.UserPath, "ratelimits": limiter.gotPath, } { if got != "/team/alice" { @@ -156,7 +156,7 @@ func TestUsageStatusDerivedFields(t *testing.T) { periodEnd := now.Add(90 * time.Minute) budgets := &fakeBudgetStatusChecker{results: []budget.CheckResult{{ - Budget: budget.Budget{UserPath: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10}, + Budget: budget.Budget{Scope: budget.ScopeUserPath, Subject: "/team", PeriodSeconds: budget.PeriodDailySeconds, Amount: 10}, PeriodStart: periodEnd.Add(-24 * time.Hour), PeriodEnd: periodEnd, Spent: 12, diff --git a/tests/e2e/budget_test.go b/tests/e2e/budget_test.go index 3ce143be9..71fc0c82d 100644 --- a/tests/e2e/budget_test.go +++ b/tests/e2e/budget_test.go @@ -48,7 +48,7 @@ func (staticBudgetPricingResolver) ResolvePricing(_, _ string) *core.ModelPricin func TestBudgetEnforcementSQLite_E2E(t *testing.T) { mockServer.ResetRequests() fixture := setupBudgetE2EFixture(t, []budget.Budget{ - {UserPath: "/team/sqlite", PeriodSeconds: budget.PeriodDailySeconds, Amount: sqliteBudgetAmount}, + {Scope: budget.ScopeUserPath, Subject: "/team/sqlite", PeriodSeconds: budget.PeriodDailySeconds, Amount: sqliteBudgetAmount}, }) ts := httptest.NewServer(setupE2EServer(t, e2eServerOptions{ @@ -193,7 +193,7 @@ func waitForBudgetSpent(t *testing.T, service *budget.Service, userPath string, if err != nil || len(statuses) != 1 { return false } - return statuses[0].Budget.UserPath == userPath && statuses[0].HasUsage && statuses[0].Spent > amount + return statuses[0].Budget.Subject == userPath && statuses[0].HasUsage && statuses[0].Spent > amount }, 2*time.Second, 20*time.Millisecond) } diff --git a/tests/e2e/upgrade-compat.sh b/tests/e2e/upgrade-compat.sh index ecd9e73bd..db78b58d0 100755 --- a/tests/e2e/upgrade-compat.sh +++ b/tests/e2e/upgrade-compat.sh @@ -224,7 +224,9 @@ seed() { # snapshot writes one normalized JSON file per domain into $1. Fields that # legitimately differ between two runs of the same binary are dropped: rate # limit counters live in memory and reset with the process, and budget ratios -# and settings timestamps move with the clock. +# and settings timestamps move with the clock. Budget scope/subject are dropped +# only while the baseline predates budget scopes: user_path is still emitted for +# user-path budgets, so the migrated row is still compared by its identity. snapshot() { local out="$1" mkdir -p "$out" @@ -235,7 +237,7 @@ snapshot() { curl -fsS "$BASE/admin/guardrails" \ | jq -S 'map(select(.name|startswith("compat")))' > "$out/guardrails.json" curl -fsS "$BASE/admin/budgets" \ - | jq -S 'del(.server_time) | .budgets |= map(select(.user_path|startswith("/compat")) | del(.period_ratio))' \ + | jq -S 'del(.server_time) | .budgets |= map(select(.user_path // "" |startswith("/compat")) | del(.period_ratio, .scope, .subject))' \ > "$out/budgets.json" curl -fsS "$BASE/admin/budgets/settings" | jq -S 'del(.updated_at)' > "$out/budget-settings.json" curl -fsS "$BASE/admin/rate-limits" \ @@ -360,6 +362,7 @@ write_check "virtual-models upsert" jput /admin/virtual-models '{"source":"compa write_check "failover upsert" jput /admin/failover '{"primary_model":"compat-failover-src","fallback_models":["groq/llama-3.1-8b-instant"]}' write_check "guardrail upsert" jput /admin/guardrails '{"name":"compat-guardrail","type":"system_prompt","description":"updated","config":{"mode":"inject","content":"updated content"}}' write_check "budget upsert" jput /admin/budgets '{"user_path":"/compat/budget","budget_key":{"period":"daily"},"amount":22.5}' +write_check "label budget upsert" jput /admin/budgets '{"scope":"label","subject":"compat-label","budget_key":{"period":"daily"},"amount":7.5}' write_check "rate-limit upsert" jput /admin/rate-limits '{"scope":"user_path","subject":"/compat/rl","limit_key":{"period":"minute"},"max_requests":43,"max_tokens":4343}' write_check "tagging upsert" jput /admin/tagging/settings '{"headers":[{"header":"X-Compat-Tag-2"}]}' write_check "mcp-server upsert" jput /admin/mcp-servers '{"name":"compat-mcp","url":"http://localhost:18090/beta","transport":"http","description":"updated"}' diff --git a/tests/integration/dbassert/budget.go b/tests/integration/dbassert/budget.go index 7d21d37c3..d98b481bb 100644 --- a/tests/integration/dbassert/budget.go +++ b/tests/integration/dbassert/budget.go @@ -23,9 +23,9 @@ func QueryBudgets(t *testing.T, pool *pgxpool.Pool) []budget.Budget { defer cancel() rows, err := pool.Query(ctx, ` - SELECT user_path, period_seconds, amount, source, last_reset_at, created_at, updated_at + SELECT scope, subject, period_seconds, amount, source, last_reset_at, created_at, updated_at FROM budgets - ORDER BY user_path, period_seconds + ORDER BY scope, subject, period_seconds `) require.NoError(t, err, "failed to query budgets") defer rows.Close() @@ -37,7 +37,8 @@ func QueryBudgets(t *testing.T, pool *pgxpool.Pool) []budget.Budget { var createdAt int64 var updatedAt int64 require.NoError(t, rows.Scan( - &item.UserPath, + &item.Scope, + &item.Subject, &item.PeriodSeconds, &item.Amount, &item.Source, @@ -111,7 +112,8 @@ func AssertOneSeededBudget(t *testing.T, budgets []budget.Budget, userPath strin t.Helper() require.Len(t, budgets, 1, "expected one seeded budget") got := budgets[0] - require.Equal(t, userPath, got.UserPath) + require.Equal(t, budget.ScopeUserPath, got.Scope) + require.Equal(t, userPath, got.Subject) require.Equal(t, periodSeconds, got.PeriodSeconds) require.InEpsilon(t, amount, got.Amount, 0.000001) require.Equal(t, budget.SourceConfig, got.Source) diff --git a/web/dashboard/src/pages/budgets/BudgetEditor.svelte b/web/dashboard/src/pages/budgets/BudgetEditor.svelte index afbccfca5..3165adf2d 100644 --- a/web/dashboard/src/pages/budgets/BudgetEditor.svelte +++ b/web/dashboard/src/pages/budgets/BudgetEditor.svelte @@ -8,6 +8,9 @@ import { budgetOverrideDialogMessage, budgetPeriodOptions, + budgetScopeOptions, + budgetSubjectFieldLabel, + budgetSubjectPlaceholder, } from "./budgets-helpers.js"; // Escape handling: the editor only closes when neither the auth dialog @@ -18,10 +21,10 @@ } } - function onUserPathInput(event) { - store.setFormUserPath(event.target.value); + function onSubjectInput(event) { + store.setFormSubject(event.target.value); // Keep the input strictly controlled. - event.target.value = store.form.user_path; + event.target.value = store.form.subject; } @@ -52,14 +55,30 @@
            - + + +
            +
            + diff --git a/web/dashboard/src/pages/budgets/BudgetList.svelte b/web/dashboard/src/pages/budgets/BudgetList.svelte index 33da272a1..0c4f60a90 100644 --- a/web/dashboard/src/pages/budgets/BudgetList.svelte +++ b/web/dashboard/src/pages/budgets/BudgetList.svelte @@ -16,7 +16,10 @@ budgetPeriodPercentLabel, budgetPeriodTrackClass, budgetRemainingLabel, + budgetScope, + budgetScopeLabel, budgetSourceLabel, + budgetSubject, budgetSourceTitle, budgetUsagePercent, budgetUsagePercentLabel, @@ -43,10 +46,22 @@
            - - {item.user_path} + + {budgetSubject(item)}
            + {#if budgetScope(item) === "label"} + + + {budgetScopeLabel(item)} + + {/if} {budgetPeriodLabel(item)} diff --git a/web/dashboard/src/pages/budgets/BudgetsPage.svelte b/web/dashboard/src/pages/budgets/BudgetsPage.svelte index 33ba22e94..8d592e619 100644 --- a/web/dashboard/src/pages/budgets/BudgetsPage.svelte +++ b/web/dashboard/src/pages/budgets/BudgetsPage.svelte @@ -79,7 +79,7 @@ aria-label="Sort budgets by" bind:value={store.sortBy} > - +
            diff --git a/web/dashboard/src/pages/budgets/budgets-helpers.js b/web/dashboard/src/pages/budgets/budgets-helpers.js index 8f11d53ba..b25f97ae6 100644 --- a/web/dashboard/src/pages/budgets/budgets-helpers.js +++ b/web/dashboard/src/pages/budgets/budgets-helpers.js @@ -6,7 +6,8 @@ import { formatCost } from "../../lib/utils/format.js"; export function defaultBudgetForm() { return { - user_path: "/", + scope: "user_path", + subject: "/", period: "daily", period_seconds: 86400, amount: "", @@ -14,6 +15,61 @@ export function defaultBudgetForm() { }; } +// One scope metadata table drives the select options, list chips, and the +// subject field's label/placeholder, mirroring the Rate Limits page. +export function budgetScopeMeta(scope) { + const meta = { + user_path: { + label: "User path", + chip: "user path", + fieldLabel: "User Path", + placeholder: "/team/alpha", + }, + label: { + label: "Label", + chip: "label", + fieldLabel: "Label", + placeholder: "Mobile-App-iOS", + }, + }; + return meta[scope] || meta.user_path; +} + +export function budgetScopeOptions() { + return ["user_path", "label"].map((scope) => ({ + value: scope, + label: budgetScopeMeta(scope).label, + })); +} + +export function budgetScope(item) { + const scope = String((item && item.scope) || "").trim(); + return scope || "user_path"; +} + +export function budgetSubject(item) { + const subject = String((item && item.subject) || "").trim(); + return subject || String((item && item.user_path) || ""); +} + +export function budgetScopeLabel(item) { + return budgetScopeMeta(budgetScope(item)).chip; +} + +export function budgetSubjectFieldLabel(form) { + return budgetScopeMeta(String((form && form.scope) || "")).fieldLabel; +} + +export function budgetSubjectPlaceholder(form) { + return budgetScopeMeta(String((form && form.scope) || "")).placeholder; +} + +// Changing scope resets the subject: a user path never carries over to a +// label. Mutates the form in place. +export function syncBudgetScope(form) { + form.subject = String((form && form.scope) || "") === "user_path" ? "/" : ""; +} + export function budgetPeriodOptions() { return [ { value: "hourly", label: "Hourly" }, @@ -60,7 +116,9 @@ export function budgetPeriodFromSeconds(seconds) { export function budgetKey(item) { return ( - String((item && item.user_path) || "") + + budgetScope(item) + + ":" + + budgetSubject(item) + ":" + String((item && item.period_seconds) || "") ); @@ -134,7 +192,8 @@ export function normalizeBudgetListPayload(payload) { function budgetFilterText(item) { const seconds = Number((item && item.period_seconds) || 0); return [ - item && item.user_path, + budgetSubject(item), + budgetScopeLabel(item), budgetPeriodLabel(item), budgetPeriodFromSeconds(seconds), seconds ? String(seconds) + "s" : "", @@ -144,19 +203,21 @@ function budgetFilterText(item) { .toLowerCase(); } +const budgetScopeOrder = { user_path: 0, label: 1 }; + function sortBudgets(items, sortBy) { const sorted = Array.isArray(items) ? items.slice() : []; - const by = String(sortBy || "user_path"); + const by = String(sortBy || "subject"); sorted.sort((a, b) => { - const pathCompare = String((a && a.user_path) || "").localeCompare( - String((b && b.user_path) || ""), - ); + const scopeCompare = + (budgetScopeOrder[budgetScope(a)] || 0) - (budgetScopeOrder[budgetScope(b)] || 0); + const subjectCompare = budgetSubject(a).localeCompare(budgetSubject(b)); const periodCompare = Number((b && b.period_seconds) || 0) - Number((a && a.period_seconds) || 0); if (by === "period") { - return periodCompare || pathCompare; + return periodCompare || scopeCompare || subjectCompare; } - return pathCompare || periodCompare; + return scopeCompare || subjectCompare || periodCompare; }); return sorted; } @@ -176,9 +237,15 @@ export function filterAndSortBudgets(budgets, filter, sortBy) { // { payload, error } — payload is null when validation fails. export function buildBudgetFormPayload(form) { const f = form || {}; - const userPathError = budgetUserPathValidationError(f.user_path); - if (userPathError) { - return { payload: null, error: userPathError }; + const scope = budgetScope(f); + const subject = String(f.subject || "").trim(); + if (scope === "user_path") { + const userPathError = budgetUserPathValidationError(subject); + if (userPathError) { + return { payload: null, error: userPathError }; + } + } else if (!subject) { + return { payload: null, error: "Label is required." }; } const amount = Number(f.amount); if (!Number.isFinite(amount) || amount <= 0) { @@ -194,7 +261,8 @@ export function buildBudgetFormPayload(form) { } return { payload: { - user_path: normalizeBudgetUserPath(f.user_path), + scope, + subject: scope === "user_path" ? normalizeBudgetUserPath(subject) : subject, period_seconds: Math.trunc(periodSeconds), amount, source: String(f.source || "manual").trim() || "manual", @@ -207,7 +275,8 @@ export function buildBudgetFormPayload(form) { // API expects). export function budgetPutBody(payload) { return { - user_path: payload.user_path, + scope: budgetScope(payload), + subject: budgetSubject(payload), budget_key: { period_seconds: payload.period_seconds }, amount: payload.amount, }; @@ -215,14 +284,16 @@ export function budgetPutBody(payload) { export function budgetDeleteBody(item) { return { - user_path: item.user_path, + scope: budgetScope(item), + subject: budgetSubject(item), budget_key: { period_seconds: item.period_seconds }, }; } export function budgetResetOneBody(item) { return { - user_path: item.user_path, + scope: budgetScope(item), + subject: budgetSubject(item), period_seconds: item.period_seconds, }; } @@ -235,7 +306,7 @@ export function budgetOverrideDialogMessage(payload, existing) { const p = payload || {}; const e = existing || {}; const label = - String(p.user_path || e.user_path || "") + + (budgetSubject(p) || budgetSubject(e)) + " " + budgetPeriodLabel({ period_seconds: p.period_seconds || e.period_seconds, diff --git a/web/dashboard/src/pages/budgets/budgets.svelte.js b/web/dashboard/src/pages/budgets/budgets.svelte.js index c735995a7..669a48d60 100644 --- a/web/dashboard/src/pages/budgets/budgets.svelte.js +++ b/web/dashboard/src/pages/budgets/budgets.svelte.js @@ -9,6 +9,9 @@ import { confirmDialog } from "$lib/stores/confirm.svelte.js"; import { budgetDeleteBody, budgetInputUserPath, + budgetScope, + budgetSubject, + syncBudgetScope, budgetKey, budgetPeriodFromSeconds, budgetPeriodLabel, @@ -27,7 +30,7 @@ class BudgetsStore { budgetsAvailable = $state(true); loading = $state(false); filter = $state(""); - sortBy = $state("user_path"); + sortBy = $state("subject"); // Load failures only; mutation feedback goes through the flash store. error = $state(""); @@ -108,7 +111,8 @@ class BudgetsStore { if (item) { const periodSeconds = Number(item.period_seconds || 0); this.form = { - user_path: String(item.user_path || ""), + scope: budgetScope(item), + subject: budgetSubject(item), period: budgetPeriodFromSeconds(periodSeconds), period_seconds: periodSeconds, amount: String(item.amount || ""), @@ -129,8 +133,17 @@ class BudgetsStore { } } - setFormUserPath(value) { - this.form.user_path = budgetInputUserPath(value); + // A user-path subject stays controlled with a leading slash; a label is + // taken verbatim, since labels are matched exactly. + setFormSubject(value) { + this.form.subject = + this.form.scope === "label" ? String(value ?? "") : budgetInputUserPath(value); + } + + // syncScope clears the subject when the scope changes, so a user path is + // never submitted as a label. + syncScope() { + syncBudgetScope(this.form); } closeForm() { @@ -228,7 +241,7 @@ class BudgetsStore { if (this.resettingKey === key) { return; } - const label = String(item.user_path || "") + " " + budgetPeriodLabel(item); + const label = budgetSubject(item) + " " + budgetPeriodLabel(item); if (!confirm('Reset budget "' + label + '"?')) { return; } @@ -270,7 +283,7 @@ class BudgetsStore { if (this.deletingKey === key) { return; } - const label = String(item.user_path || "") + " " + budgetPeriodLabel(item); + const label = budgetSubject(item) + " " + budgetPeriodLabel(item); if (!confirm('Delete budget "' + label + '"? This cannot be undone.')) { return; } diff --git a/web/dashboard/tests/budgets.test.js b/web/dashboard/tests/budgets.test.js index 6e250171a..8514a4fd9 100644 --- a/web/dashboard/tests/budgets.test.js +++ b/web/dashboard/tests/budgets.test.js @@ -19,7 +19,13 @@ import { budgetPeriodTrackClass, budgetPutBody, budgetResetOneBody, + budgetScope, + budgetScopeLabel, + budgetScopeOptions, budgetSourceTitle, + budgetSubject, + budgetSubjectFieldLabel, + budgetSubjectPlaceholder, budgetUserPathValidationError, buildBudgetFormPayload, defaultBudgetForm, @@ -27,11 +33,13 @@ import { findExistingBudget, normalizeBudgetListPayload, normalizeBudgetUserPath, + syncBudgetScope, } from "../src/pages/budgets/budgets-helpers.js"; test("buildBudgetFormPayload normalizes user path and standard periods", () => { const { payload, error } = buildBudgetFormPayload({ - user_path: "team/alpha", + scope: "user_path", + subject: "team/alpha", period: "weekly", period_seconds: 0, amount: "12.3456", @@ -42,7 +50,8 @@ test("buildBudgetFormPayload normalizes user path and standard periods", () => { assert.equal( JSON.stringify(payload), JSON.stringify({ - user_path: "/team/alpha", + scope: "user_path", + subject: "/team/alpha", period_seconds: 604800, amount: 12.3456, source: "manual", @@ -50,6 +59,56 @@ test("buildBudgetFormPayload normalizes user path and standard periods", () => { ); }); +test("buildBudgetFormPayload keeps a label subject verbatim", () => { + const { payload, error } = buildBudgetFormPayload({ + scope: "label", + subject: " Mobile-App-iOS ", + period: "monthly", + amount: "500", + source: "manual", + }); + + assert.equal(error, ""); + // Only surrounding whitespace is trimmed: labels are matched exactly, so the + // casing must survive and no leading slash may be added. + assert.equal(payload.scope, "label"); + assert.equal(payload.subject, "Mobile-App-iOS"); + + const blank = buildBudgetFormPayload({ + scope: "label", + subject: " ", + period: "daily", + amount: "5", + }); + assert.equal(blank.payload, null); + assert.equal(blank.error, "Label is required."); +}); + +test("budget scope metadata drives the selector and subject field", () => { + assert.deepEqual(budgetScopeOptions(), [ + { value: "user_path", label: "User path" }, + { value: "label", label: "Label" }, + ]); + assert.equal(budgetScopeLabel({ scope: "label" }), "label"); + // A budget without an explicit scope predates label budgets: treat it as a + // user-path budget, and read its subject from the legacy user_path field. + assert.equal(budgetScope({}), "user_path"); + assert.equal(budgetSubject({ user_path: "/team" }), "/team"); + assert.equal(budgetSubject({ scope: "label", subject: "iOS" }), "iOS"); + assert.equal(budgetSubjectFieldLabel({ scope: "label" }), "Label"); + assert.equal(budgetSubjectPlaceholder({ scope: "user_path" }), "/team/alpha"); +}); + +test("syncBudgetScope resets the subject so a path is never sent as a label", () => { + const form = { scope: "label", subject: "/team" }; + syncBudgetScope(form); + assert.equal(form.subject, ""); + + form.scope = "user_path"; + syncBudgetScope(form); + assert.equal(form.subject, "/"); +}); + test("buildBudgetFormPayload rejects invalid amounts and custom seconds", () => { const emptyAmount = buildBudgetFormPayload({ ...defaultBudgetForm(), @@ -59,7 +118,8 @@ test("buildBudgetFormPayload rejects invalid amounts and custom seconds", () => assert.equal(emptyAmount.error, "Amount must be greater than 0."); const badSeconds = buildBudgetFormPayload({ - user_path: "/team", + scope: "user_path", + subject: "/team", period: "custom", period_seconds: 0, amount: "5", @@ -70,7 +130,7 @@ test("buildBudgetFormPayload rejects invalid amounts and custom seconds", () => const badPath = buildBudgetFormPayload({ ...defaultBudgetForm(), - user_path: "/team/../oops", + subject: "/team/../oops", amount: "5", }); assert.equal(badPath.payload, null); @@ -89,7 +149,7 @@ test("user path validation and normalization mirror the legacy rules", () => { }); test("budgetInputUserPath keeps the form input controlled with a leading slash", () => { - assert.equal(defaultBudgetForm().user_path, "/"); + assert.equal(defaultBudgetForm().subject, "/"); assert.equal(budgetInputUserPath("team/alpha"), "/team/alpha"); assert.equal(budgetInputUserPath("/platform/service"), "/platform/service"); assert.equal(budgetInputUserPath(""), "/"); @@ -110,17 +170,28 @@ test("normalizeBudgetListPayload reads budget rows from the list envelope", () = assert.deepEqual(normalizeBudgetListPayload({}), []); }); -test("findExistingBudget matches on the user path + period key", () => { +test("findExistingBudget matches on the scope + subject + period key", () => { const budgets = [ - { user_path: "/team", period_seconds: 86400, amount: 10 }, - { user_path: "/team", period_seconds: 3600, amount: 2 }, + { scope: "user_path", subject: "/team", period_seconds: 86400, amount: 10 }, + { scope: "user_path", subject: "/team", period_seconds: 3600, amount: 2 }, + { scope: "label", subject: "/team", period_seconds: 86400, amount: 7 }, ]; - const payload = { user_path: "/team", period_seconds: 86400, amount: 12.5 }; + const payload = { + scope: "user_path", + subject: "/team", + period_seconds: 86400, + amount: 12.5, + }; - assert.equal(budgetKey(payload), "/team:86400"); + assert.equal(budgetKey(payload), "user_path:/team:86400"); assert.equal(findExistingBudget(budgets, payload), budgets[0]); + // Same subject spelling, different scope: a distinct budget. + assert.equal( + findExistingBudget(budgets, { scope: "label", subject: "/team", period_seconds: 86400 }), + budgets[2], + ); assert.equal( - findExistingBudget(budgets, { user_path: "/other", period_seconds: 86400 }), + findExistingBudget(budgets, { scope: "user_path", subject: "/other", period_seconds: 86400 }), null, ); }); @@ -198,6 +269,23 @@ test("filterAndSortBudgets filters by user path or period and applies selected s ); }); +test("filterAndSortBudgets groups user-path budgets before label budgets", () => { + const budgets = [ + { scope: "label", subject: "iOS", period_seconds: 86400 }, + { scope: "user_path", subject: "/team", period_seconds: 86400 }, + ]; + + assert.deepEqual( + filterAndSortBudgets(budgets, "", "subject").map((item) => item.subject), + ["/team", "iOS"], + ); + // The scope chip is searchable alongside the subject. + assert.deepEqual( + filterAndSortBudgets(budgets, "label", "subject").map((item) => item.subject), + ["iOS"], + ); +}); + test("budgetSourceTitle explains manual and config sources", () => { assert.equal(budgetSourceTitle({ source: "manual" }), "Created from the dashboard."); assert.equal(budgetSourceTitle({ source: "config" }), "Loaded from configuration."); @@ -241,25 +329,37 @@ test("budget period label, classes, icon, and duration distinguish standard and }); test("request bodies keep the exact /admin/budgets payload shapes", () => { + const item = { scope: "user_path", subject: "/team", period_seconds: 86400 }; assert.equal( - JSON.stringify( - budgetPutBody({ user_path: "/team", period_seconds: 86400, amount: 12.5 }), - ), + JSON.stringify(budgetPutBody({ ...item, amount: 12.5 })), JSON.stringify({ - user_path: "/team", + scope: "user_path", + subject: "/team", budget_key: { period_seconds: 86400 }, amount: 12.5, }), ); assert.equal( - JSON.stringify(budgetDeleteBody({ user_path: "/team", period_seconds: 86400 })), + JSON.stringify(budgetDeleteBody(item)), JSON.stringify({ - user_path: "/team", + scope: "user_path", + subject: "/team", budget_key: { period_seconds: 86400 }, }), ); assert.equal( - JSON.stringify(budgetResetOneBody({ user_path: "/team", period_seconds: 86400 })), - JSON.stringify({ user_path: "/team", period_seconds: 86400 }), + JSON.stringify(budgetResetOneBody(item)), + JSON.stringify({ scope: "user_path", subject: "/team", period_seconds: 86400 }), + ); + assert.equal( + JSON.stringify( + budgetPutBody({ scope: "label", subject: "iOS", period_seconds: 86400, amount: 5 }), + ), + JSON.stringify({ + scope: "label", + subject: "iOS", + budget_key: { period_seconds: 86400 }, + amount: 5, + }), ); }); From d0921beb59cbb6a4c06b751158e45a488638e67c Mon Sep 17 00:00:00 2001 From: "Jakub A. W" Date: Sat, 25 Jul 2026 20:27:54 +0200 Subject: [PATCH 2/4] fix(budgets): drop the legacy MongoDB index before rewriting documents MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The scope migration unset `user_path` while the pre-scope unique index on (user_path, period_seconds) was still in place. A missing field indexes as null, so every migrated document sharing a period collapsed onto the key {user_path: null, period_seconds: N} and the rewrite failed with a duplicate key error — aborting startup for any MongoDB deployment holding two budgets with the same period, which is the ordinary case rather than an edge one. `internal/ratelimit` has carried the same ordering since rule scopes shipped, so it is fixed alongside. Both now drop the legacy index first, and both gain a mongotest case that seeds two pre-scope documents sharing a period and asserts they survive the upgrade. Also asserts at the server layer that request labels reach the budget checker with the user path, which is what lets a label budget match at all. Reported by Greptile and CodeRabbit on #590. Co-Authored-By: Claude Opus 5 (1M context) --- internal/budget/store_mongodb.go | 14 ++++-- internal/budget/store_mongodb_test.go | 64 ++++++++++++++++++++++++ internal/ratelimit/store_mongodb.go | 14 ++++-- internal/ratelimit/store_mongodb_test.go | 52 +++++++++++++++++++ internal/server/budget_support_test.go | 53 ++++++++++++++++++++ 5 files changed, 189 insertions(+), 8 deletions(-) diff --git a/internal/budget/store_mongodb.go b/internal/budget/store_mongodb.go index bda12ef1c..b369aec80 100644 --- a/internal/budget/store_mongodb.go +++ b/internal/budget/store_mongodb.go @@ -54,9 +54,17 @@ func NewMongoDBStore(ctx context.Context, database *mongo.Database) (*MongoDBSto } // migratePreScopeDocuments rewrites budgets stored before budget scopes -// existed (keyed by user_path only) into the scoped shape, and drops the old -// unique index so it cannot reject scoped documents. +// existed (keyed by user_path only) into the scoped shape. +// +// The legacy unique index has to go first. The rewrite unsets user_path, and a +// missing field indexes as null, so every migrated document of the same period +// would collapse onto the key {user_path: null, period_seconds: N} and trip the +// uniqueness constraint — two budgets sharing a period is the ordinary case, +// not an edge one. func (s *MongoDBStore) migratePreScopeDocuments(ctx context.Context) error { + // Best-effort: the index does not exist on fresh databases. + _ = s.budgets.Indexes().DropOne(ctx, "user_path_1_period_seconds_1") + _, err := s.budgets.UpdateMany(ctx, bson.D{{Key: "subject", Value: bson.D{{Key: "$exists", Value: false}}}}, mongo.Pipeline{ @@ -70,8 +78,6 @@ func (s *MongoDBStore) migratePreScopeDocuments(ctx context.Context) error { if err != nil { return fmt.Errorf("migrate budgets to scoped schema: %w", err) } - // Best-effort: the index may not exist on fresh databases. - _ = s.budgets.Indexes().DropOne(ctx, "user_path_1_period_seconds_1") return nil } diff --git a/internal/budget/store_mongodb_test.go b/internal/budget/store_mongodb_test.go index cbbc3d6d6..9e67de3c5 100644 --- a/internal/budget/store_mongodb_test.go +++ b/internal/budget/store_mongodb_test.go @@ -1,12 +1,17 @@ package budget import ( + "context" "errors" "reflect" "testing" + "time" "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" + "go.mongodb.org/mongo-driver/v2/mongo/options" + + "github.com/enterpilot/gomodel/internal/storage/mongotest" ) func TestIsMongoTransactionCapabilityError(t *testing.T) { @@ -144,3 +149,62 @@ func TestBsonNumberReadsEveryNumericShape(t *testing.T) { }) } } + +// A MongoDB database written before budget scopes existed carries a unique +// index on (user_path, period_seconds). Unsetting user_path collapses every +// migrated document of the same period onto one index key, so the legacy index +// has to go before the rewrite rather than after it. +func TestMongoDBStoreMigratesPreScopeDocuments(t *testing.T) { + mongotest.Run(t, func(t *testing.T, db *mongo.Database) { + ctx := context.Background() + budgets := db.Collection("budgets") + if _, err := budgets.Indexes().CreateOne(ctx, mongo.IndexModel{ + Keys: bson.D{{Key: "user_path", Value: 1}, {Key: "period_seconds", Value: 1}}, + Options: options.Index().SetUnique(true), + }); err != nil { + t.Fatalf("create pre-scope index: %v", err) + } + now := time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC) + // Two paths sharing one period: the case that collides. + if _, err := budgets.InsertMany(ctx, []any{ + bson.D{{Key: "user_path", Value: "/team/alpha"}, {Key: "period_seconds", Value: PeriodDailySeconds}, + {Key: "amount", Value: 10.0}, {Key: "source", Value: SourceManual}, + {Key: "created_at", Value: now}, {Key: "updated_at", Value: now}}, + bson.D{{Key: "user_path", Value: "/team/beta"}, {Key: "period_seconds", Value: PeriodDailySeconds}, + {Key: "amount", Value: 20.0}, {Key: "source", Value: SourceManual}, + {Key: "created_at", Value: now}, {Key: "updated_at", Value: now}}, + }); err != nil { + t.Fatalf("seed pre-scope documents: %v", err) + } + + store, err := NewMongoDBStore(ctx, db) + if err != nil { + t.Fatalf("NewMongoDBStore() failed: %v", err) + } + got, err := store.ListBudgets(ctx) + if err != nil { + t.Fatalf("ListBudgets() failed: %v", err) + } + if len(got) != 2 { + t.Fatalf("migrated budgets = %+v, want both pre-scope rows", got) + } + bySubject := map[string]Budget{} + for _, budget := range got { + if budget.Scope != ScopeUserPath { + t.Fatalf("migrated budget %+v, want scope user_path", budget) + } + bySubject[budget.Subject] = budget + } + if bySubject["/team/alpha"].Amount != 10 || bySubject["/team/beta"].Amount != 20 { + t.Fatalf("migrated budgets = %+v, want both amounts preserved", got) + } + + // The scoped unique index must now allow a label budget spelled like an + // existing user path. + if err := store.UpsertBudgets(ctx, []Budget{ + {Scope: ScopeLabel, Subject: "/team/alpha", PeriodSeconds: PeriodDailySeconds, Amount: 1}, + }); err != nil { + t.Fatalf("UpsertBudgets() after migration failed: %v", err) + } + }) +} diff --git a/internal/ratelimit/store_mongodb.go b/internal/ratelimit/store_mongodb.go index 53751d3a6..eff0529ec 100644 --- a/internal/ratelimit/store_mongodb.go +++ b/internal/ratelimit/store_mongodb.go @@ -37,9 +37,17 @@ func NewMongoDBStore(ctx context.Context, database *mongo.Database) (*MongoDBSto } // migratePreScopeDocuments rewrites rules stored before rule scopes existed -// (keyed by user_path only) into the scoped shape, and drops the old unique -// index so it cannot reject scoped documents. +// (keyed by user_path only) into the scoped shape. +// +// The legacy unique index has to go first. The rewrite unsets user_path, and a +// missing field indexes as null, so every migrated document of the same period +// would collapse onto the key {user_path: null, period_seconds: N} and trip the +// uniqueness constraint — two rules sharing a period is the ordinary case, not +// an edge one. func (s *MongoDBStore) migratePreScopeDocuments(ctx context.Context) error { + // Best-effort: the index does not exist on fresh databases. + _ = s.rules.Indexes().DropOne(ctx, "user_path_1_period_seconds_1") + _, err := s.rules.UpdateMany(ctx, bson.D{{Key: "subject", Value: bson.D{{Key: "$exists", Value: false}}}}, mongo.Pipeline{ @@ -53,8 +61,6 @@ func (s *MongoDBStore) migratePreScopeDocuments(ctx context.Context) error { if err != nil { return fmt.Errorf("migrate rate limit rules to scoped schema: %w", err) } - // Best-effort: the index may not exist on fresh databases. - _ = s.rules.Indexes().DropOne(ctx, "user_path_1_period_seconds_1") return nil } diff --git a/internal/ratelimit/store_mongodb_test.go b/internal/ratelimit/store_mongodb_test.go index 75316559c..a0892f911 100644 --- a/internal/ratelimit/store_mongodb_test.go +++ b/internal/ratelimit/store_mongodb_test.go @@ -1,10 +1,16 @@ package ratelimit import ( + "context" "errors" "testing" + "time" + "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" + "go.mongodb.org/mongo-driver/v2/mongo/options" + + "github.com/enterpilot/gomodel/internal/storage/mongotest" ) func TestIsOnlyDuplicateKeyErrors(t *testing.T) { @@ -172,3 +178,49 @@ func TestClassifyBulkWriteError(t *testing.T) { }) } } + +// A MongoDB database written before rule scopes existed carries a unique index +// on (user_path, period_seconds). Unsetting user_path collapses every migrated +// document of the same period onto one index key, so the legacy index has to go +// before the rewrite rather than after it. +func TestMongoDBStoreMigratesPreScopeDocuments(t *testing.T) { + mongotest.Run(t, func(t *testing.T, db *mongo.Database) { + ctx := context.Background() + rules := db.Collection("rate_limits") + if _, err := rules.Indexes().CreateOne(ctx, mongo.IndexModel{ + Keys: bson.D{{Key: "user_path", Value: 1}, {Key: "period_seconds", Value: 1}}, + Options: options.Index().SetUnique(true), + }); err != nil { + t.Fatalf("create pre-scope index: %v", err) + } + now := time.Date(2026, time.April, 25, 12, 0, 0, 0, time.UTC) + // Two paths sharing one period: the case that collides. + if _, err := rules.InsertMany(ctx, []any{ + bson.D{{Key: "user_path", Value: "/team/alpha"}, {Key: "period_seconds", Value: PeriodMinuteSeconds}, + {Key: "max_requests", Value: int64(10)}, {Key: "source", Value: SourceManual}, + {Key: "created_at", Value: now}, {Key: "updated_at", Value: now}}, + bson.D{{Key: "user_path", Value: "/team/beta"}, {Key: "period_seconds", Value: PeriodMinuteSeconds}, + {Key: "max_requests", Value: int64(20)}, {Key: "source", Value: SourceManual}, + {Key: "created_at", Value: now}, {Key: "updated_at", Value: now}}, + }); err != nil { + t.Fatalf("seed pre-scope documents: %v", err) + } + + store, err := NewMongoDBStore(ctx, db) + if err != nil { + t.Fatalf("NewMongoDBStore() failed: %v", err) + } + got, err := store.ListRules(ctx) + if err != nil { + t.Fatalf("ListRules() failed: %v", err) + } + if len(got) != 2 { + t.Fatalf("migrated rules = %+v, want both pre-scope rows", got) + } + for _, rule := range got { + if rule.Scope != ScopeUserPath || rule.Subject == "" { + t.Fatalf("migrated rule %+v, want a user_path scope and a subject", rule) + } + } + }) +} diff --git a/internal/server/budget_support_test.go b/internal/server/budget_support_test.go index d0dbd692d..fc65c914f 100644 --- a/internal/server/budget_support_test.go +++ b/internal/server/budget_support_test.go @@ -5,6 +5,7 @@ import ( "errors" "net/http" "net/http/httptest" + "slices" "strconv" "strings" "testing" @@ -64,6 +65,58 @@ func TestEnforceBudgetDefaultsEnabledWithoutWorkflow(t *testing.T) { if checker.subjects.UserPath != "/" { t.Fatalf("budget user path = %q, want /", checker.subjects.UserPath) } + if len(checker.subjects.Labels) != 0 { + t.Fatalf("budget labels = %v, want none for an untagged request", checker.subjects.Labels) + } +} + +// Label budgets can only match if the labels tagging attached at ingress reach +// the checker alongside the user path. +func TestEnforceBudgetPassesRequestLabelsAndUserPath(t *testing.T) { + tests := []struct { + name string + userPath string + labels []string + wantPath string + wantLabels []string + }{ + { + name: "labels and a bound user path", + userPath: "/team/alpha", + labels: []string{"Mobile-App-iOS", "prod"}, + wantPath: "/team/alpha", + wantLabels: []string{"Mobile-App-iOS", "prod"}, + }, + { + name: "labels without a user path fall back to the root", + labels: []string{"prod"}, + wantPath: "/", + wantLabels: []string{"prod"}, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + e := echo.New() + req := httptest.NewRequest(http.MethodPost, "/v1/chat/completions", nil) + ctx := core.WithRequestLabels(req.Context(), tt.labels) + if tt.userPath != "" { + ctx = core.WithEffectiveUserPath(ctx, tt.userPath) + } + c := e.NewContext(req.WithContext(ctx), httptest.NewRecorder()) + checker := &countingBudgetChecker{} + + if err := enforceBudget(c, checker); err != nil { + t.Fatalf("enforceBudget returned error: %v", err) + } + if checker.subjects.UserPath != tt.wantPath { + t.Fatalf("budget user path = %q, want %q", checker.subjects.UserPath, tt.wantPath) + } + if !slices.Equal(checker.subjects.Labels, tt.wantLabels) { + t.Fatalf("budget labels = %v, want %v", checker.subjects.Labels, tt.wantLabels) + } + }) + } } func TestBatchBudgetEnforcerUsesResolvedWorkflow(t *testing.T) { From f08bbdd40919dae7ce169983eb5950189b769d7d Mon Sep 17 00:00:00 2001 From: "Jakub A. W" Date: Sat, 25 Jul 2026 20:38:21 +0200 Subject: [PATCH 3/4] test(budgets): cover the PostgreSQL label predicate in SumSpend MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The label branch of SumSpend is the one part written twice — json_each on SQLite, jsonb_exists on PostgreSQL — and only the SQLite half was tested, because the test opened a raw SQLite database to get a usage store. A mistake in the PostgreSQL predicate would have silently matched nothing, so label budgets would never enforce there and no test would notice. The case now runs on both backends. Verified it catches a broken predicate by corrupting the bound subject and watching the PostgreSQL subtest fail. `usage` has not moved onto sqlx, so its PostgreSQL store still takes a *pgxpool.Pool directly; sqlxtest grows an exported NewPostgresPool so a test spanning both can point them at one throwaway schema. Entry ids become fixed UUIDs derived from their readable names, since PostgreSQL types usage.id as a UUID. Reported by CodeRabbit on #590. Co-Authored-By: Claude Opus 5 (1M context) --- internal/budget/store_sql_test.go | 83 +++++++++++++++++----- internal/storage/sqlx/sqlxtest/sqlxtest.go | 28 ++++++-- 2 files changed, 86 insertions(+), 25 deletions(-) diff --git a/internal/budget/store_sql_test.go b/internal/budget/store_sql_test.go index 4034a5fe4..1619443f9 100644 --- a/internal/budget/store_sql_test.go +++ b/internal/budget/store_sql_test.go @@ -2,7 +2,9 @@ package budget import ( "context" + "crypto/sha256" "database/sql" + "encoding/hex" "testing" "time" @@ -187,23 +189,56 @@ func TestSQLStoreMigratesPreScopeTable(t *testing.T) { }) } +// TestSQLStoreSumSpendHonorsSubjectBoundaryAndCacheType covers both dialects: +// the label predicate is the one part of SumSpend written twice +// (json_each on SQLite, jsonb_exists on PostgreSQL), so testing only one of +// them would leave the other free to silently match nothing. func TestSQLStoreSumSpendHonorsSubjectBoundaryAndCacheType(t *testing.T) { - ctx := context.Background() - db, err := sql.Open("sqlite", ":memory:") - if err != nil { - t.Fatalf("sql.Open() failed: %v", err) - } - defer db.Close() + t.Run("sqlite", func(t *testing.T) { + db, err := sql.Open("sqlite", ":memory:") + if err != nil { + t.Fatalf("sql.Open() failed: %v", err) + } + defer db.Close() - usageStore, err := usage.NewSQLiteStore(db, 0) - if err != nil { - t.Fatalf("NewSQLiteStore() for usage failed: %v", err) - } - wrapped, err := sqlx.NewSQLite(db) - if err != nil { - t.Fatalf("sqlx.NewSQLite() failed: %v", err) - } - store, err := NewSQLStore(ctx, wrapped) + usageStore, err := usage.NewSQLiteStore(db, 0) + if err != nil { + t.Fatalf("NewSQLiteStore() for usage failed: %v", err) + } + wrapped, err := sqlx.NewSQLite(db) + if err != nil { + t.Fatalf("sqlx.NewSQLite() failed: %v", err) + } + assertSumSpendMatchesSubjects(t, usageStore, wrapped) + }) + + t.Run("postgresql", func(t *testing.T) { + pool := sqlxtest.NewPostgresPool(t) + if pool == nil { + return // already skipped + } + usageStore, err := usage.NewPostgreSQLStore(pool, 0) + if err != nil { + t.Fatalf("NewPostgreSQLStore() for usage failed: %v", err) + } + wrapped, err := sqlx.NewPostgreSQL(pool) + if err != nil { + t.Fatalf("sqlx.NewPostgreSQL() failed: %v", err) + } + assertSumSpendMatchesSubjects(t, usageStore, wrapped) + }) +} + +// usageWriter is the slice of a usage store this test needs, satisfied by both +// backend implementations. +type usageWriter interface { + WriteBatch(ctx context.Context, entries []*usage.UsageEntry) error +} + +func assertSumSpendMatchesSubjects(t *testing.T, usageStore usageWriter, db sqlx.DB) { + t.Helper() + ctx := context.Background() + store, err := NewSQLStore(ctx, db) if err != nil { t.Fatalf("NewSQLStore() failed: %v", err) } @@ -255,6 +290,13 @@ func TestSQLStoreSumSpendHonorsSubjectBoundaryAndCacheType(t *testing.T) { } } +// usageEntryUUID maps a readable entry name to a stable UUID. +func usageEntryUUID(name string) string { + sum := sha256.Sum256([]byte(name)) + hex := hex.EncodeToString(sum[:16]) + return hex[0:8] + "-" + hex[8:12] + "-" + hex[12:16] + "-" + hex[16:20] + "-" + hex[20:32] +} + // The chunking that keeps a batch inside the SQLite parameter limit must not // change the results or their order. func TestSQLStoreSumSpendChunksLargeBatches(t *testing.T) { @@ -313,14 +355,17 @@ func TestSQLStoreSumSpendChunksLargeBatches(t *testing.T) { } } -func usageEntryWithCost(id, userPath, cacheType string, ts time.Time, cost float64, labels ...string) *usage.UsageEntry { +// usageEntryWithCost builds one priced usage row. PostgreSQL types usage.id as +// a UUID, so the readable name only labels the request and a fixed UUID keyed +// off it fills the primary key — no randomness, so runs stay reproducible. +func usageEntryWithCost(name, userPath, cacheType string, ts time.Time, cost float64, labels ...string) *usage.UsageEntry { inputCost := cost / 2 outputCost := cost / 2 totalCost := cost return &usage.UsageEntry{ - ID: id, - RequestID: id, - ProviderID: id, + ID: usageEntryUUID(name), + RequestID: name, + ProviderID: name, Timestamp: ts, Model: "gpt-4", Provider: "test", diff --git a/internal/storage/sqlx/sqlxtest/sqlxtest.go b/internal/storage/sqlx/sqlxtest/sqlxtest.go index 3c00a5780..9042931bc 100644 --- a/internal/storage/sqlx/sqlxtest/sqlxtest.go +++ b/internal/storage/sqlx/sqlxtest/sqlxtest.go @@ -80,6 +80,27 @@ func NewSQLite(t *testing.T) sqlx.DB { func newPostgres(t *testing.T) sqlx.DB { t.Helper() + pool := NewPostgresPool(t) + if pool == nil { + return nil // NewPostgresPool already skipped + } + db, err := sqlx.NewPostgreSQL(pool) + if err != nil { + t.Fatalf("wrap postgres: %v", err) + } + return db +} + +// NewPostgresPool returns a connection pool scoped to a throwaway schema, or +// nil after skipping when no test server is configured. +// +// Run is the right entry point for a store written against sqlx.DB. This is +// for the few tests that also need the raw pool — a store that has not moved +// onto sqlx yet takes *pgxpool.Pool directly, and a test spanning both wants +// them pointed at one schema. +func NewPostgresPool(t *testing.T) *pgxpool.Pool { + t.Helper() + baseURL := strings.TrimSpace(os.Getenv(PostgresURLEnv)) if baseURL == "" { t.Skipf("%s not set", PostgresURLEnv) @@ -127,12 +148,7 @@ func newPostgres(t *testing.T) sqlx.DB { t.Fatalf("open scoped pool: %v", err) } t.Cleanup(pool.Close) - - db, err := sqlx.NewPostgreSQL(pool) - if err != nil { - t.Fatalf("wrap postgres: %v", err) - } - return db + return pool } // sanitizeIdentifier reduces a test name to characters safe in a schema name From 93091f876e7597cac63c0300e28ee6eaff9a6258 Mon Sep 17 00:00:00 2001 From: "Jakub A. W" Date: Sat, 25 Jul 2026 20:57:10 +0200 Subject: [PATCH 4/4] refactor(dashboard): show a budget's scope on the subject itself The budget list carried the scope twice: a "(tag) label" pill sat next to the period, while the subject rendered in .budget-user-path regardless of what it actually was. The pill said nothing the subject could not say itself, and the class name was wrong for half the rows. The tag icon now prefixes the label name inside the subject, and the shared styling moves to .budget-scope-value with .budget-user-path and .budget-label as hue-only modifiers. A label takes the same per-label colour the usage log, breakdown chart, and API keys already use, so one label reads the same everywhere. The rate limit list and inspector pick up the shared base class. Also rounds the provider status toggle to 6px, matching .btn and .table-action-btn rather than the full pill it was; the switch track and thumb stay round. And the budget filter placeholder now mentions labels, which it can now match on. Co-Authored-By: Claude Opus 5 (1M context) --- .../{index-BSsw4bvA.js => index--rzAzL2R.js} | 10 +++---- .../static/dist/assets/index-BCec-psC.css | 1 + .../static/dist/assets/index-BgPgxKXk.css | 1 - .../admin/dashboard/static/dist/index.html | 4 +-- .../src/pages/budgets/BudgetList.svelte | 19 +++++++------ .../src/pages/budgets/BudgetsPage.svelte | 2 +- .../src/pages/budgets/budgets-helpers.js | 6 +++++ .../overview/ProviderStatusSection.svelte | 3 ++- .../rate-limits/RateLimitInspector.svelte | 2 +- .../pages/rate-limits/RateLimitList.svelte | 2 +- web/dashboard/src/styles/dashboard.css | 27 ++++++++++++++++--- web/dashboard/tests/budgets.test.js | 8 ++++++ 12 files changed, 60 insertions(+), 25 deletions(-) rename internal/admin/dashboard/static/dist/assets/{index-BSsw4bvA.js => index--rzAzL2R.js} (88%) create mode 100644 internal/admin/dashboard/static/dist/assets/index-BCec-psC.css delete mode 100644 internal/admin/dashboard/static/dist/assets/index-BgPgxKXk.css diff --git a/internal/admin/dashboard/static/dist/assets/index-BSsw4bvA.js b/internal/admin/dashboard/static/dist/assets/index--rzAzL2R.js similarity index 88% rename from internal/admin/dashboard/static/dist/assets/index-BSsw4bvA.js rename to internal/admin/dashboard/static/dist/assets/index--rzAzL2R.js index a4682b9f9..f5c03db44 100644 --- a/internal/admin/dashboard/static/dist/assets/index-BSsw4bvA.js +++ b/internal/admin/dashboard/static/dist/assets/index--rzAzL2R.js @@ -14,14 +14,14 @@ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],en `+n:`Saved by cache — not charged`:n}function l$(e){let t=Number(e&&e.cached_input_ratio);return!Number.isFinite(t)||t<=0?0:Math.min(1,t)}function u$(e){return Number(e&&e.cached_input_tokens||0)>0}function d$(e){return u$(e)?(l$(e)*100).toFixed(1)+`%`:``}function f$(e){if(!u$(e))return``;let t=Number(e.cached_input_tokens||0),n=Number(e.uncached_input_tokens||0),r=Number(e.cache_write_input_tokens||0),i=t+n+r,a=[HL(t)+` cached / `+HL(i)+` input tokens`];return r>0&&a.push(HL(r)+` cache write`),a.join(` `)}function p$(e){let t=[];if(i$(e)&&(t.push(i$(e)),t.push(``)),t.push(`Input: `+UL(e.input_cost)),t.push(`Output: `+UL(e.output_cost)),e.raw_data){t.push(``);for(let[n,r]of Object.entries(e.raw_data)){let e=n.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),i=r&&typeof r==`object`?JSON.stringify(r):HL(r);t.push(e+`: `+i)}}return t.join(` `)}function m$(e){return Array.isArray(e&&e.labels)?e.labels:[]}function h$(e,t,n){return(e||[]).length>0||t?!0:(n||[]).some(e=>m$(e).length>0)}function g$(e){return e&&typeof e.total_tokens==`number`?e.total_tokens:(e&&e.input_tokens||0)+(e&&e.output_tokens||0)}function _$(e,t){return t?e.total_cost||0:g$(e)}function v$(e,t){return[...e||[]].sort((e,n)=>t?(n.total_cost||0)-(e.total_cost||0):_$(n,t)-_$(e,t))}function y$(e){let t=Array.isArray(e)?e:[];if(t.length===0)return!1;if(t.length!==1)return!0;let n=String(t[0]&&t[0].user_path||``).trim();return n!==``&&n!==`/`}function b$(e){return(e||`chart`)===`chart`||e===`stacked`}function x$(e,t,n){let r=v$(e,n),i=e=>Number(e)||0,a=e=>n?Math.min(i(e.cached_input_cost),i(e.input_cost)):i(e.cached_input_tokens),o=e=>n?i(e.input_cost)-a(e):i(e.uncached_input_tokens)+i(e.cached_input_tokens)+i(e.cache_write_input_tokens)>0?i(e.uncached_input_tokens)+i(e.cache_write_input_tokens):i(e.input_tokens),s=e=>i(n?e.output_cost:e.output_tokens),c=e=>n?0:i(e.local_cached_input_tokens),l=e=>n?0:i(e.local_cached_output_tokens),u=r.slice(0,10),d=r.slice(10),f=u.map(t),p=u.map(o),m=u.map(s),h=u.map(a),g=u.map(c),_=u.map(l);if(d.length>0){f.push(`Other`);let e=e=>d.reduce((t,n)=>t+e(n),0);p.push(e(o)),m.push(e(s)),h.push(e(a)),g.push(e(c)),_.push(e(l))}return{labels:f,inputs:p,outputs:m,prompts:h,localIns:g,localOuts:_}}function S$(e){return Math.max(200,e*32+72)}var q=new class{#e=A(`tokens`);get usageMode(){return F(this.#e)}set usageMode(e){j(this.#e,e,!0)}get usageFilterModel(){return VQ.usageFilterModel}set usageFilterModel(e){VQ.usageFilterModel=e}get usageFilterProvider(){return VQ.usageFilterProvider}set usageFilterProvider(e){VQ.usageFilterProvider=e}get usageFilterLabel(){return VQ.usageFilterLabel}set usageFilterLabel(e){VQ.usageFilterLabel=e}get usageFilterUserPath(){return VQ.usageFilterUserPath}set usageFilterUserPath(e){VQ.usageFilterUserPath=e}#t=A(fn({models:[],providers:[],labels:[]}));get usageFacetOptions(){return F(this.#t)}set usageFacetOptions(e){j(this.#t,e,!0)}#n=A(fn(UQ()));get usageSummary(){return F(this.#n)}set usageSummary(e){j(this.#n,e,!0)}#r=A(fn(UQ()));get usageSummaryAll(){return F(this.#r)}set usageSummaryAll(e){j(this.#r,e,!0)}#i=A(fn([]));get modelUsage(){return F(this.#i)}set modelUsage(e){j(this.#i,e,!0)}#a=A(fn([]));get userPathUsage(){return F(this.#a)}set userPathUsage(e){j(this.#a,e,!0)}#o=A(fn([]));get labelUsage(){return F(this.#o)}set labelUsage(e){j(this.#o,e,!0)}get usageLog(){return VQ.usageLog}set usageLog(e){VQ.usageLog=e}get usageLogSearch(){return VQ.usageLogSearch}set usageLogSearch(e){VQ.usageLogSearch=e}get usageLogHideCached(){return VQ.usageLogHideCached}set usageLogHideCached(e){VQ.usageLogHideCached=e}#s=A(`chart`);get modelUsageView(){return F(this.#s)}set modelUsageView(e){j(this.#s,e,!0)}#c=A(`chart`);get userPathUsageView(){return F(this.#c)}set userPathUsageView(e){j(this.#c,e,!0)}#l=A(`chart`);get labelUsageView(){return F(this.#l)}set labelUsageView(e){j(this.#l,e,!0)}#u=A(!1);get summaryLoading(){return F(this.#u)}set summaryLoading(e){j(this.#u,e,!0)}#d=A(!1);get modelUsageLoading(){return F(this.#d)}set modelUsageLoading(e){j(this.#d,e,!0)}#f=A(!1);get userPathUsageLoading(){return F(this.#f)}set userPathUsageLoading(e){j(this.#f,e,!0)}#p=A(!1);get labelUsageLoading(){return F(this.#p)}set labelUsageLoading(e){j(this.#p,e,!0)}#m=A(!1);get usageLogLoading(){return F(this.#m)}set usageLogLoading(e){j(this.#m,e,!0)}#h={};#g(e){this.#h[e]&&this.#h[e].abort();let t=new AbortController;return this.#h[e]=t,t}#_(e,t){this.#h[e]===t&&(this.#h[e]=null)}filterQueryStr(e){return GQ({model:this.usageFilterModel,provider:this.usageFilterProvider,label:this.usageFilterLabel,user_path:this.usageFilterUserPath},e)}onUsageFilterChanged(){this.fetchUsagePage()}toggleUsageLabelFilter(e){this.usageFilterLabel=this.usageFilterLabel===e?``:e,this.onUsageFilterChanged()}usageLabelChipTitle(e){return this.usageFilterLabel===e?`Clear label filter`:`Filter usage by "`+e+`"`}toggleUsageMode(e){this.usageMode=e,zI.navigate(`usage`,e===`costs`?`costs`:null)}toggleUsageChartView(e,t){e===`model`&&(this.modelUsageView=t),e===`userPath`&&(this.userPathUsageView=t),e===`label`&&(this.labelUsageView=t)}usageFilterModelOptions(){return qQ(this.usageFacetOptions.models,this.usageFilterModel)}usageFilterProviderOptions(){return qQ(this.usageFacetOptions.providers,this.usageFilterProvider)}usageFilterLabelOptions(){return qQ(this.usageFacetOptions.labels,this.usageFilterLabel)}async fetchUsagePage(){await sL.ensureLoaded();let e=[this.fetchUsagePageSummary(),this.fetchUsageFacetOptions(),this.fetchModelUsage(),this.fetchUserPathUsage(),this.fetchLabelUsage(),this.fetchUsageLog(!0)];oR.cacheAnalyticsEnabled()&&e.push(oR.fetchCacheOverview(this.filterQueryStr())),await Promise.all(e)}async fetchUsagePageSummary(){let e=this.#g(`summary`);this.summaryLoading=!0;try{let t=rR.queryStr()+this.filterQueryStr(),[n,r]=await Promise.all([rL(`/admin/usage/summary?`+t+`&cache_mode=uncached`,{label:`usage page summary`,signal:e.signal}),rL(`/admin/usage/summary?`+t+`&cache_mode=all`,{label:`usage page summary (all)`,signal:e.signal})]);if(n.stale||r.stale||e.signal.aborted)return;if(!n.ok||!r.ok){this.usageSummary=UQ(),this.usageSummaryAll=UQ();return}this.usageSummary=n.data&&typeof n.data==`object`?n.data:UQ(),this.usageSummaryAll=r.data&&typeof r.data==`object`?r.data:UQ()}catch(e){if(aL(e))return;console.error(`Failed to fetch usage page summary:`,e),this.usageSummary=UQ(),this.usageSummaryAll=UQ()}finally{this.#_(`summary`,e),this.#h.summary===null&&(this.summaryLoading=!1)}}async fetchUsageFacetOptions(){let e=this.#g(`facets`);try{let t=async(t,n)=>{let r=await rL(t+`?`+rR.queryStr()+this.filterQueryStr(n),{label:`usage facet options`,signal:e.signal});return r.stale?null:r.ok&&Array.isArray(r.data)?r.data:[]},n=t(`/admin/usage/models`,`model`),r=!this.usageFilterModel&&!this.usageFilterProvider,[i,a,o]=await Promise.all([n,r?n:t(`/admin/usage/models`,`provider`),t(`/admin/usage/labels`,`label`)]);if(e.signal.aborted||i===null||a===null||o===null)return;this.usageFacetOptions={models:i.map(e=>e&&e.model).filter(Boolean),providers:a.map(e=>QL(e)).filter(Boolean),labels:o.map(e=>e&&e.label).filter(Boolean)}}catch(e){if(aL(e))return;console.error(`Failed to fetch usage facet options:`,e),this.usageFacetOptions={models:[],providers:[],labels:[]}}finally{this.#_(`facets`,e)}}async#v(e,t,n,r,i){let a=this.#g(e);i(!0);try{let e=await rL(t+`?`+rR.queryStr()+this.filterQueryStr(),{label:n,signal:a.signal});if(e.stale||a.signal.aborted)return;if(!e.ok){r([]);return}r(Array.isArray(e.data)?e.data:[])}catch(e){if(aL(e))return;console.error(`Failed to fetch `+n+`:`,e),r([])}finally{this.#_(e,a),this.#h[e]===null&&i(!1)}}fetchModelUsage(){return this.#v(`modelUsage`,`/admin/usage/models`,`usage models`,e=>this.modelUsage=e,e=>this.modelUsageLoading=e)}fetchUserPathUsage(){return this.#v(`userPathUsage`,`/admin/usage/user-paths`,`usage user paths`,e=>this.userPathUsage=e,e=>this.userPathUsageLoading=e)}fetchLabelUsage(){return this.#v(`labelUsage`,`/admin/usage/labels`,`usage labels`,e=>this.labelUsage=e,e=>this.labelUsageLoading=e)}async fetchUsageLog(e){let t=this.#g(`usageLog`);this.usageLogLoading=!0;try{e&&(this.usageLog.offset=0);let n=rR.queryStr()+this.filterQueryStr();n+=KQ({limit:this.usageLog.limit,offset:this.usageLog.offset,hideCached:this.usageLogHideCached,search:this.usageLogSearch});let r=await rL(`/admin/usage/log?`+n,{label:`usage log`,signal:t.signal});if(r.stale||t.signal.aborted)return;if(!r.ok){this.usageLog=WQ();return}let i=r.data&&typeof r.data==`object`?r.data:WQ();i.entries||=[],this.usageLog=i}catch(e){if(aL(e))return;console.error(`Failed to fetch usage log:`,e),this.usageLog=WQ()}finally{this.#_(`usageLog`,t),this.#h.usageLog===null&&(this.usageLogLoading=!1)}}usageLogNextPage(){this.usageLog.offset+this.usageLog.limit0&&(this.usageLog.offset=Math.max(0,this.usageLog.offset-this.usageLog.limit),this.fetchUsageLog(!1))}};VQ.fetchUsage=()=>{zI.page===`usage`&&q.fetchUsagePage()};var C$=L(`
            `);function w$(e,t){D(t,!0);let n=ha(t,`value`,15,``),r=ha(t,`placeholder`,3,``),i=ha(t,`label`,3,``),a=ha(t,`id`,3,void 0),o=ha(t,`oninput`,3,void 0),s=ha(t,`class`,3,``);var c=C$(),l=M(c);W(l,{name:`search`,class:`filter-input-icon`});var u=N(l,2);Qi(u),E(c),P(()=>{H(c,1,`filter-input-wrap ${s()??``}`,`svelte-30xz1k`),U(u,`id`,a()),U(u,`placeholder`,r()),U(u,`aria-label`,i())}),I(`input`,u,function(...e){o()?.apply(this,e)}),sa(u,n),R(e,c),O()}Ur([`input`]);function T$(e,t=300){let n=null,r=(...r)=>{clearTimeout(n),n=setTimeout(()=>{n=null,e(...r)},t)};return r.cancel=()=>{clearTimeout(n),n=null},r}var E$=L(``),D$=L(``),O$=L(`
            `);function k$(e,t){D(t,!0);let n=T$(()=>q.onUsageFilterChanged());Nn(()=>n.cancel);var r=O$(),i=M(r),a=M(i);a.value=a.__value=``,V(N(a),16,()=>q.usageFilterModelOptions(),e=>e,(e,t)=>{var n=E$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(i);var o=N(i,2),s=M(o);s.value=s.__value=``,V(N(s),16,()=>q.usageFilterProviderOptions(),e=>e,(e,t)=>{var n=E$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(o);var c=N(o,2),l=e=>{var t=D$(),n=M(t);n.value=n.__value=``,V(N(n),16,()=>q.usageFilterLabelOptions(),e=>e,(e,t)=>{var n=E$(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(t),I(`change`,t,()=>q.onUsageFilterChanged()),Vi(t,()=>q.usageFilterLabel,e=>q.usageFilterLabel=e),R(e,t)},u=k(()=>q.usageFilterLabelOptions().length>0);B(c,e=>{F(u)&&e(l)}),w$(N(c,2),{class:`usage-page-filters-user-path`,placeholder:`User path /team/alpha`,label:`Filter by user path`,get oninput(){return n},get value(){return q.usageFilterUserPath},set value(e){q.usageFilterUserPath=e}}),E(r),I(`change`,i,()=>q.onUsageFilterChanged()),Vi(i,()=>q.usageFilterModel,e=>q.usageFilterModel=e),I(`change`,o,()=>q.onUsageFilterChanged()),Vi(o,()=>q.usageFilterProvider,e=>q.usageFilterProvider=e),R(e,r),O()}Ur([`change`]);var A$=L(`
            Cache Saved
            Cache Hits
            `,1);function j$(e,t){D(t,!0);var n=$r(),r=Cn(n),i=e=>{var t=A$(),n=Cn(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var a=N(n,2),o=N(M(a),2),s=M(o,!0);E(o),E(a),P((e,t)=>{z(i,e),z(s,t)},[()=>UL(oR.cacheOverview.summary.total_saved_cost),()=>HL(oR.cacheOverview.summary.total_hits)]),R(e,t)},a=k(()=>oR.cacheAnalyticsEnabled());B(r,e=>{F(a)&&e(i)}),R(e,n),O()}var M$=L(`
            Rewrite Saved
            Tokens Saved
            `,1),N$=L(`
            Total Requests
            Estimated Cost
            `);function P$(e,t){D(t,!0);let n=k(()=>$Q(q.usageSummary));var r=N$(),i=M(r),a=N(M(i),2),o=M(a),s=e=>{zZ(e,{size:18,label:`Loading usage summary`})},c=e=>{var t=Qr();P(e=>z(t,e),[()=>HL(YQ(q.usageSummary,q.usageSummaryAll,q.usageLogHideCached))]),R(e,t)};B(o,e=>{q.summaryLoading?e(s):e(c,-1)}),E(a),E(i);var l=N(i,2),u=N(M(l),2),d=M(u),f=e=>{zZ(e,{size:18,label:`Loading usage summary`})},p=e=>{var t=Qr();P(e=>z(t,e),[()=>UL(q.usageSummary.total_cost)]),R(e,t)};B(d,e=>{q.summaryLoading?e(f):e(p,-1)}),E(u),E(l);var m=N(l,2),h=e=>{var t=M$(),n=Cn(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var a=N(n,2),o=N(M(a),2),s=M(o,!0);E(o),E(a),P((e,t,n,a)=>{U(r,`title`,e),z(i,t),U(o,`title`,n),z(s,a)},[()=>t$(q.usageSummary),()=>UL(e$(q.usageSummary)),()=>t$(q.usageSummary),()=>HL(QQ(q.usageSummary))]),R(e,t)};B(m,e=>{F(n)&&e(h)}),j$(N(m,2),{}),E(r),P((e,t)=>{U(a,`title`,e),U(u,`title`,t)},[()=>XQ(q.usageSummary,q.usageSummaryAll,q.usageLogHideCached),()=>ZQ(q.usageSummary)]),R(e,r),O()}function F$(e,t,n,r){let{stacked:i=!1,costs:a=!1,resolve:o=e=>e}=r||{},s=e=>a?`$`+Math.abs(e).toFixed(2):KL(Math.abs(e)),c=e=>a?`$`+Math.abs(e).toFixed(4):Math.abs(e).toLocaleString(),l=e=>e.map(e=>i?Math.abs(e):-Math.abs(e)),u=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:`transparent`,borderWidth:0,borderRadius:4,maxBarThickness:22}),d=e=>(e||[]).some(e=>Math.abs(e)>0),f=[u(a?`Input Cost`:`Input Tokens`,l(n.inputs),o(`var(--token-input)`)),u(a?`Output Cost`:`Output Tokens`,n.outputs,o(`var(--token-output)`))];return d(n.prompts)&&f.push(u(a?`Prompt Cached Cost`:`Prompt Cached`,l(n.prompts),o(`var(--token-prompt)`))),!a&&d(n.localIns)&&f.push(u(`Locally Cached (Input)`,l(n.localIns),o(`var(--token-local)`))),!a&&d(n.localOuts)&&f.push(u(`Locally Cached (Output)`,n.localOuts,o(`var(--token-local)`))),{type:`bar`,data:{labels:t,datasets:f},options:{indexAxis:`y`,responsive:!0,maintainAspectRatio:!1,animation:{duration:0},layout:{padding:{top:8}},scales:{x:{stacked:!0,beginAtZero:!0,grid:i?{color:e.grid}:{color:t=>t.tick&&t.tick.value===0?e.text:e.grid},border:{display:!1},ticks:{color:e.text,font:rY(),callback:e=>s(e)}},y:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:rY(),autoSkip:!1}}},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:iY(e,{label:e=>e.dataset.label+`: `+c(e.parsed.x),footer:e=>{let t=0;return e.forEach(e=>{t+=Math.abs(Number(e.parsed.x))||0}),`Total: `+c(t)}})}}}}var I$=L(`
            `),L$=L(`

            `),R$=L(`

            `,1),z$=L(`
            `),B$=L(`Model Provider`,1),V$=L(`User Path`),H$=L(`Label Requests`,1),U$=L(` `,1),W$=L(` `),G$=L(` `,1),K$=L(` `),q$=L(`
            Input TokensOutput TokensPrompt CachedLocal CachedTotal TokensInput CostOutput CostTotal Cost
            `),J$=L(`
            `),Y$=L(`
            `);function X$(e,t){D(t,!0);let n=e=>{var n=I$(),r=M(n);let a;var o=N(r,2);let s;var l=N(o,2);let u;E(n),P(()=>{U(n,`aria-label`,F(i).group),a=H(r,1,`chart-view-btn svelte-1kee4g8`,null,a,{active:F(c)===`chart`}),U(r,`aria-pressed`,F(c)===`chart`),U(r,`aria-label`,`Show ${F(i).noun??``} chart`),s=H(o,1,`chart-view-btn svelte-1kee4g8`,null,s,{active:F(c)===`stacked`}),U(o,`aria-pressed`,F(c)===`stacked`),U(o,`aria-label`,`Show ${F(i).noun??``} stacked chart`),u=H(l,1,`chart-view-btn svelte-1kee4g8`,null,u,{active:F(c)===`table`}),U(l,`aria-pressed`,F(c)===`table`),U(l,`aria-label`,`Show ${F(i).noun??``} table`)}),I(`click`,r,()=>q.toggleUsageChartView(t.kind,`chart`)),I(`click`,o,()=>q.toggleUsageChartView(t.kind,`stacked`)),I(`click`,l,()=>q.toggleUsageChartView(t.kind,`table`)),R(e,n)},r={model:{group:`Model usage view`,noun:`model usage`,tokensTitle:`Token Usage by Model`,costsTitle:`Cost by Model`},userPath:{group:`User path usage view`,noun:`user path usage`,tokensTitle:`Usage by User Path`,costsTitle:`Cost by User Path`},label:{group:`Label usage view`,noun:`label usage`,tokensTitle:`Usage by Label`,costsTitle:`Cost by Label`}},i=k(()=>r[t.kind]),a=k(()=>t.kind===`model`?e=>eR(e):t.kind===`userPath`?e=>e.user_path||`/`:e=>e.label);function o(e){return t.kind===`model`?(e.provider_name||e.provider||`-`)+`/`+e.model:t.kind===`userPath`?e.user_path||`/`:e.label}let s=k(()=>t.kind===`model`?q.modelUsage:t.kind===`userPath`?q.userPathUsage:q.labelUsage),c=k(()=>t.kind===`model`?q.modelUsageView:t.kind===`userPath`?q.userPathUsageView:q.labelUsageView),l=k(()=>t.kind===`model`?q.modelUsageLoading:t.kind===`userPath`?q.userPathUsageLoading:q.labelUsageLoading),u=k(()=>q.usageMode===`costs`),d=k(()=>t.kind===`userPath`?y$(F(s)):F(s).length>0),f=k(()=>F(u)?F(i).costsTitle:F(i).tokensTitle),p=k(()=>x$(F(s),F(a),F(u))),m=k(()=>v$(F(s),F(u)));function h(){return b$(F(c))?F$(nY(),F(p).labels,F(p),{stacked:F(c)===`stacked`,costs:F(u),resolve:aY}):null}var g=$r(),_=Cn(g),v=e=>{var r=J$(),a=M(r),s=M(a),u=e=>{mQ(e,{copyId:`label-usage-help-copy`,label:`label usage help`,text:`One request can have multiple labels. Such a request counts once under each of its labels, so label rows can overlap and add up to more than the period totals.`,title:e=>{var t=L$(),n=M(t,!0);E(t),P(()=>z(n,F(f))),R(e,t)},extra:e=>{var t=$r(),n=Cn(t),r=e=>{zZ(e,{size:14,get label(){return`Loading ${F(i).noun??``}`}})};B(n,e=>{F(l)&&e(r)}),R(e,t)},$$slots:{title:!0,extra:!0}})},d=e=>{var t=R$(),n=Cn(t),r=M(n,!0);E(n);var a=N(n,2),o=e=>{zZ(e,{size:14,get label(){return`Loading ${F(i).noun??``}`}})};B(a,e=>{F(l)&&e(o)}),P(()=>z(r,F(f))),R(e,t)};B(s,e=>{t.kind===`label`?e(u):e(d,-1)});var g=N(s,2);n(g),E(a);var _=N(a,2),v=e=>{var t=z$();let n;ZJ(M(t),{build:h}),E(t),P(e=>n=Ri(t,``,n,e),[()=>({height:`${S$(F(p).labels.length)??``}px`})]),R(e,t)},y=k(()=>b$(F(c))),b=e=>{var n=q$(),r=M(n),i=M(r),a=M(i),s=M(a),c=e=>{var t=B$();We(2),R(e,t)},l=e=>{R(e,V$())},u=e=>{var t=H$();We(2),R(e,t)};B(s,e=>{t.kind===`model`?e(c):t.kind===`userPath`?e(l,1):e(u,-1)}),We(8),E(a),E(i);var d=N(i);V(d,21,()=>F(m),e=>o(e),(e,n)=>{var r=K$(),i=M(r),a=e=>{var t=U$(),r=Cn(t),i=M(r,!0);E(r);var a=N(r,2),o=M(a),s=M(o,!0);E(o),E(a),P(e=>{z(i,F(n).model||`-`),z(s,e)},[()=>QL(F(n))||`-`]),R(e,t)},o=e=>{var t=W$(),r=M(t,!0);E(t),P(()=>z(r,F(n).user_path||`/`)),R(e,t)},s=e=>{var t=G$(),r=Cn(t),i=M(r);let a;var o=M(i,!0);E(i),E(r);var s=N(r,2),c=M(s,!0);E(s),P((e,t,r)=>{a=H(i,1,`usage-label-chip`,null,a,{active:q.usageFilterLabel===F(n).label}),Ri(i,`--label-color: ${e??``}`),U(i,`title`,t),z(o,F(n).label),z(c,r)},[()=>cY(F(n).label),()=>q.usageLabelChipTitle(F(n).label),()=>HL(F(n).requests)]),I(`click`,i,()=>q.toggleUsageLabelFilter(F(n).label)),R(e,t)};B(i,e=>{t.kind===`model`?e(a):t.kind===`userPath`?e(o,1):e(s,-1)});var c=N(i),l=M(c,!0);E(c);var u=N(c),d=M(u,!0);E(u);var f=N(u),p=M(f,!0);E(f);var m=N(f),h=M(m,!0);E(m);var g=N(m),_=M(g,!0);E(g);var v=N(g),y=M(v,!0);E(v);var b=N(v),x=M(b,!0);E(b);var S=N(b),C=M(S,!0);E(S),E(r),P((e,t,n,r,i,a,o,s,c,u,g)=>{z(l,e),z(d,t),U(f,`title`,n),z(p,r),U(m,`title`,`${i??``} input + ${a??``} output`),z(h,o),z(_,s),z(y,c),z(x,u),z(C,g)},[()=>HL(F(n).input_tokens),()=>HL(F(n).output_tokens),()=>F(n).cached_input_cost==null?``:`~`+UL(F(n).cached_input_cost)+` at current cached-input pricing`,()=>HL(F(n).cached_input_tokens||0),()=>HL(F(n).local_cached_input_tokens||0),()=>HL(F(n).local_cached_output_tokens||0),()=>HL((F(n).local_cached_input_tokens||0)+(F(n).local_cached_output_tokens||0)),()=>HL(g$(F(n))),()=>UL(F(n).input_cost),()=>UL(F(n).output_cost),()=>UL(F(n).total_cost)]),R(e,r)}),E(d),E(r),E(n),R(e,n)};B(_,e=>{F(y)?e(v):e(b,-1)}),E(r),R(e,r)},y=e=>{var t=Y$();zZ(M(t),{size:20,get label(){return`Loading ${F(i).noun??``}`}}),E(t),R(e,t)};B(_,e=>{F(d)?e(v):F(l)&&e(y,1)}),R(e,g),O()}Ur([`click`]);var Z$=L(``);function Q$(e,t){D(t,!0);let n=ha(t,`total`,3,0),r=ha(t,`offset`,3,0),i=ha(t,`limit`,3,25);var a=$r(),o=Cn(a),s=e=>{var a=Z$(),o=M(a),s=M(o);E(o);var c=N(o,2),l=M(c),u=N(l,2);E(c),E(a),P(e=>{z(s,`Showing ${r()+1}-${e??``} of ${n()??``}`),l.disabled=r()===0,u.disabled=r()+i()>=n()},[()=>Math.min(r()+i(),n())]),I(`click`,l,()=>t.onprev?.()),I(`click`,u,()=>t.onnext?.()),R(e,a)};B(o,e=>{n()>0&&e(s)}),R(e,a),O()}Ur([`click`]);var $$=(e,t=m)=>{var n=$r(),r=Cn(n),i=e=>{var n=t1();V(n,20,()=>m$(t()),e=>e,(e,t)=>{var n=e1();let r;var i=M(n,!0);E(n),P((e,a)=>{r=H(n,1,`usage-label-chip`,null,r,{active:q.usageFilterLabel===t}),Ri(n,`--label-color: ${e??``}`),U(n,`title`,a),z(i,t)},[()=>cY(t),()=>q.usageLabelChipTitle(t)]),I(`click`,n,()=>q.toggleUsageLabelFilter(t)),R(e,n)}),E(n),R(e,n)},a=k(()=>m$(t()).length>0),o=e=>{R(e,n1())};B(r,e=>{F(a)?e(i):e(o,-1)}),R(e,n)},e1=L(``),t1=L(`
            `),n1=L(`-`),r1=L(`Labels`),i1=L(`Cost`),a1=L(``),o1=L(` `),s1=L(``),c1=L(` `),l1=L(` `),u1=L(`
            TimestampProviderModelUser PathCacheProvider Cache
            `),d1=L(`
            `),f1=L(`
            `),p1=L(`

            Request Log

            `);function m1(e,t){D(t,!0);let n=k(()=>q.usageMode===`costs`),r=k(()=>h$(q.labelUsage,q.usageFilterLabel,q.usageLog.entries)),i=T$(()=>q.fetchUsageLog(!0));Nn(()=>i.cancel);var a=p1(),o=N(M(a),2),s=M(o);w$(M(s),{placeholder:`Search by request ID, model, provider...`,label:`Search by request ID, model, provider`,get oninput(){return i},get value(){return q.usageLogSearch},set value(e){q.usageLogSearch=e}}),E(s);var c=N(s,2),l=M(c),u=M(l);Qi(u),We(2),E(l),E(c),E(o);var d=N(o,2),f=e=>{var t=u1(),i=M(t),a=M(i),o=M(a),s=N(M(o),4),c=e=>{R(e,r1())};B(s,e=>{F(r)&&e(c)});var l=N(s,3),u=M(l,!0);E(l);var d=N(l),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=e=>{R(e,i1())};B(h,e=>{F(n)||e(g)}),E(o),E(a);var _=N(a);V(_,21,()=>q.usageLog.entries,e=>e.id,(e,t)=>{var i=l1();let a;var o=M(i),s=M(o,!0);E(o);var c=N(o),l=M(c),u=M(l,!0);E(l),E(c);var d=N(c),f=M(d,!0);E(d);var p=N(d),m=M(p,!0);E(p);var h=N(p),g=e=>{var n=a1();$$(M(n),()=>F(t)),E(n),R(e,n)};B(h,e=>{F(r)&&e(g)});var _=N(h),v=M(_,!0);E(_);var y=N(_),b=M(y),x=e=>{var n=o1(),r=M(n,!0);E(n),P(e=>z(r,e),[()=>d$(F(t))]),R(e,n)},S=k(()=>u$(F(t))),C=e=>{R(e,n1())};B(b,e=>{F(S)?e(x):e(C,-1)}),E(y);var w=N(y),T=M(w,!0);E(w);var ee=N(w),te=M(ee,!0);E(ee);var ne=N(ee),re=M(ne),ie=M(re,!0);E(re);var ae=N(re,2),oe=e=>{{let n=k(()=>i$(F(t)));W(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return F(n)}})}},se=k(()=>F(n)&&r$(F(t)));B(ae,e=>{F(se)&&e(oe)});var ce=N(ae,2),le=e=>{W(e,{name:`database-zap`,class:`cache-savings-icon`})},ue=k(()=>F(n)&&o$(F(t)));B(ce,e=>{F(ue)&&e(le)});var de=N(ce,2),fe=e=>{var n=s1();P(()=>U(n,`title`,F(t).costs_calculation_caveat)),R(e,n)};B(de,e=>{F(n)&&F(t).costs_calculation_caveat&&e(fe)}),E(ne);var pe=N(ne),me=e=>{var n=c1(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=e=>{{let n=k(()=>i$(F(t)));W(e,{name:`circle-dollar-sign`,class:`cost-source-icon`,get title(){return F(n)}})}},s=k(()=>r$(F(t)));B(a,e=>{F(s)&&e(o)});var c=N(a,2),l=e=>{W(e,{name:`database-zap`,class:`cache-savings-icon`})},u=k(()=>o$(F(t)));B(c,e=>{F(u)&&e(l)});var d=N(c,2),f=e=>{var n=s1();P(()=>U(n,`title`,F(t).costs_calculation_caveat)),R(e,n)};B(d,e=>{F(t).costs_calculation_caveat&&e(f)}),E(n),P((e,t)=>{U(n,`title`,e),z(i,t)},[()=>c$(F(t),p$(F(t))),()=>UL(F(t).total_cost)]),R(e,n)};B(pe,e=>{F(n)||e(me)}),E(i),P((e,n,r,c,l,d,p,h,g,_,b,x,S)=>{a=H(i,1,`svelte-hg4ill`,null,a,e),U(o,`title`,n),z(s,r),z(u,c),z(f,F(t).model),z(m,F(t).user_path||`-`),z(v,l),U(y,`title`,d),U(w,`title`,p),z(T,h),U(ee,`title`,g),z(te,_),U(ne,`title`,b),U(re,`title`,x),z(ie,S)},[()=>({"usage-log-row-cached":o$(F(t))}),()=>XL(F(t).timestamp),()=>ZI.formatTimestamp(F(t).timestamp),()=>QL(F(t))||`-`,()=>s$(F(t)),()=>f$(F(t)),()=>F(n)?HL(F(t).input_tokens)+` tokens`:``,()=>F(n)?UL(F(t).input_cost):HL(F(t).input_tokens),()=>F(n)?HL(F(t).output_tokens)+` tokens`:``,()=>F(n)?UL(F(t).output_cost):HL(F(t).output_tokens),()=>F(n)?c$(F(t),``):``,()=>F(n)?c$(F(t),HL(F(t).total_tokens)+` tokens -`+p$(F(t))):``,()=>F(n)?UL(F(t).total_cost):HL(F(t).total_tokens)]),R(e,i)}),E(_),E(i),E(t),P(()=>{z(u,F(n)?`Input Cost`:`Input`),z(f,F(n)?`Output Cost`:`Output`),z(m,F(n)?`Total Cost`:`Total`)}),R(e,t)},p=e=>{var t=d1();zZ(M(t),{size:20,label:`Loading request log`}),E(t),R(e,t)},m=e=>{var t=f1();HZ(M(t),{}),E(t),R(e,t)};B(d,e=>{q.usageLog.entries.length>0?e(f):q.usageLogLoading?e(p,1):e(m,-1)}),Q$(N(d,2),{get total(){return q.usageLog.total},get offset(){return q.usageLog.offset},get limit(){return q.usageLog.limit},onprev:()=>q.usageLogPrevPage(),onnext:()=>q.usageLogNextPage()}),E(a),I(`change`,u,()=>q.fetchUsageLog(!0)),ca(u,()=>q.usageLogHideCached,e=>q.usageLogHideCached=e),R(e,a),O()}Ur([`click`,`change`]);var h1=L(`
            `);function g1(e,t){D(t,!0);let n=`usage`;Nn(()=>{G.refreshTick,zI.page===n&&(q.fetchUsagePage(),VQ.ensureLiveLogs())}),Nn(()=>{zI.page===n&&(q.usageMode=zI.sub===`costs`?`costs`:`tokens`)});var r=h1(),i=N(M(r),2),a=M(i);eY(a,{ariaLabel:`Usage mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return q.usageMode},onchange:e=>q.toggleUsageMode(e)}),CR(N(a,2),{onchange:()=>q.fetchUsagePage()}),E(i);var o=N(i,2);k$(o,{});var s=N(o,2);P$(s,{});var c=N(s,2),l=M(c);X$(l,{kind:`model`});var u=N(l,2);X$(u,{kind:`userPath`}),X$(N(u,2),{kind:`label`}),E(c),m1(N(c,2),{}),E(r),R(e,r),O()}var _1=L(`
            `);function v1(e,t){let n=ha(t,`label`,3,`Loading...`),r=ha(t,`class`,3,``);var i=_1(),a=N(M(i),2),o=M(a,!0);E(a),E(i),P(()=>{H(i,1,`loading-state ${r()??``}`,`svelte-hzxv1d`),z(o,n())}),R(e,i)}var y1=L(``);function b1(e,t){let n=ha(t,`label`,3,``),r=ha(t,`class`,3,``),i=ha(t,`disabled`,3,!1);var a=y1();gi(M(a),()=>t.children??m),E(a),P(()=>{H(a,1,`table-action-btn ${r()??``}`),U(a,`aria-label`,n()),U(a,`title`,n()),a.disabled=i()}),I(`click`,a,function(...e){t.onclick?.apply(this,e)}),R(e,a)}Ur([`click`]);function x1(){return{scope:`user_path`,subject:`/`,period:`daily`,period_seconds:86400,amount:``,source:`manual`}}function S1(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},label:{label:`Label`,chip:`label`,fieldLabel:`Label`,placeholder:`Mobile-App-iOS`}};return t[e]||t.user_path}function C1(){return[`user_path`,`label`].map(e=>({value:e,label:S1(e).label}))}function w1(e){return String(e&&e.scope||``).trim()||`user_path`}function T1(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function E1(e){return S1(w1(e)).chip}function D1(e){return S1(String(e&&e.scope||``)).fieldLabel}function O1(e){return S1(String(e&&e.scope||``)).placeholder}function k1(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function A1(){return[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`},{value:`custom`,label:`Custom seconds`}]}function j1(e){switch(String(e||``).trim().toLowerCase()){case`hourly`:return 3600;case`daily`:return 86400;case`weekly`:return 604800;case`monthly`:return 2592e3;default:return 0}}function M1(e){switch(Number(e||0)){case 3600:return`hourly`;case 86400:return`daily`;case 604800:return`weekly`;case 2592e3:return`monthly`;default:return`custom`}}function N1(e){return w1(e)+`:`+T1(e)+`:`+String(e&&e.period_seconds||``)}function P1(e,t){if(!t||!Array.isArray(e))return null;let n=N1(t);return e.find(e=>N1(e)===n)||null}function F1(e){let t=String(e||``).trim();if(!t)return`User path is required.`;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function I1(e){if(F1(e))return``;let t=String(e||``).trim(),n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function L1(e){return`/`+String(e||``).trimStart().replace(/^\/+/,``)}function R1(e){return Array.isArray(e)?e:e&&Array.isArray(e.budgets)?e.budgets:[]}function z1(e){let t=Number(e&&e.period_seconds||0);return[T1(e),E1(e),n0(e),M1(t),t?String(t)+`s`:``,t?String(t)+` seconds`:``].join(` `).toLowerCase()}var B1={user_path:0,label:1};function V1(e,t){let n=Array.isArray(e)?e.slice():[],r=String(t||`subject`);return n.sort((e,t)=>{let n=(B1[w1(e)]||0)-(B1[w1(t)]||0),i=T1(e).localeCompare(T1(t)),a=Number(t&&t.period_seconds||0)-Number(e&&e.period_seconds||0);return r===`period`?a||n||i:n||i||a}),n}function H1(e,t,n){let r=Array.isArray(e)?e:[],i=String(t||``).trim().toLowerCase();return V1(i?r.filter(e=>z1(e).includes(i)):r.slice(),n)}function U1(e){let t=e||{},n=w1(t),r=String(t.subject||``).trim();if(n===`user_path`){let e=F1(r);if(e)return{payload:null,error:e}}else if(!r)return{payload:null,error:`Label is required.`};let i=Number(t.amount);if(!Number.isFinite(i)||i<=0)return{payload:null,error:`Amount must be greater than 0.`};let a=String(t.period||``).trim(),o=j1(a);return a===`custom`&&(o=Number(t.period_seconds)),!Number.isFinite(o)||o<=0?{payload:null,error:`Period seconds must be greater than 0.`}:{payload:{scope:n,subject:n===`user_path`?I1(r):r,period_seconds:Math.trunc(o),amount:i,source:String(t.source||`manual`).trim()||`manual`},error:``}}function W1(e){return{scope:w1(e),subject:T1(e),budget_key:{period_seconds:e.period_seconds},amount:e.amount}}function G1(e){return{scope:w1(e),subject:T1(e),budget_key:{period_seconds:e.period_seconds}}}function K1(e){return{scope:w1(e),subject:T1(e),period_seconds:e.period_seconds}}function q1(e){return UL(e)}function J1(e,t){let n=e||{},r=t||{};return`A budget for "`+((T1(n)||T1(r))+` `+n0({period_seconds:n.period_seconds||r.period_seconds,period_label:r.period_label}))+`" already exists. Saving will override the current `+q1(r.amount)+` limit with `+q1(n.amount)+`.`}function Y1(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:t}function X1(e,t){let n=Y1(e);return Math.round((t?Math.min(n,1):n)*1e3)/10}function Z1(e){return Y1(e&&e.usage_ratio)}function Q1(e){return X1(Z1(e),!0)}function $1(e){return X1(e&&e.period_ratio,!0)}function e0(e){return X1(Z1(e),!1).toFixed(1).replace(/\.0$/,``)+`%`}function t0(e){return $1(e).toFixed(1).replace(/\.0$/,``)+`%`}function n0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`Hourly`;case 86400:return`Daily`;case 604800:return`Weekly`;case 2592e3:return`Monthly`;default:{let n=String(e&&e.period_label||``).trim();return n?`Custom `+n:`Custom `+String(t||``)+`s`}}}function r0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`budget-period-label-hourly`;case 86400:return`budget-period-label-daily`;case 604800:return`budget-period-label-weekly`;case 2592e3:return`budget-period-label-monthly`;default:return`budget-period-label-custom`}}function i0(e){return r0(e).replace(`budget-period-label-`,`budget-bar-fill-period-`)}function a0(e){return r0(e).replace(`budget-period-label-`,`budget-bar-track-period-`)}function o0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`clock`;case 86400:return`sun`;case 604800:return`calendar-days`;case 2592e3:return`calendar`;default:return`settings-2`}}function s0(e){let t=Math.max(0,Math.trunc(Number(e||0)));return t+` `+(t===1?`second`:`seconds`)}function c0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`1 hour`;case 86400:return`1 day`;case 604800:return`1 week`;case 2592e3:return`1 month`;default:return s0(t)}}function l0(e){return String(e&&e.source||``).trim()||`manual`}function u0(e){let t=l0(e).toLowerCase();return t===`manual`?`Created from the dashboard.`:t===`config`?`Loaded from configuration.`:`Budget source: `+t}function d0(e){let t=Number(e&&e.remaining);return Number.isFinite(t)?t<0?UL(Math.abs(t))+` over`:UL(t)+` remaining`:``}var J=new class{#e=A(fn([]));get budgets(){return F(this.#e)}set budgets(e){j(this.#e,e,!0)}#t=A(!0);get budgetsAvailable(){return F(this.#t)}set budgetsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get filter(){return F(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(`subject`);get sortBy(){return F(this.#i)}set sortBy(e){j(this.#i,e,!0)}#a=A(``);get error(){return F(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(!1);get formOpen(){return F(this.#o)}set formOpen(e){j(this.#o,e,!0)}#s=A(!1);get formSubmitting(){return F(this.#s)}set formSubmitting(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get editing(){return F(this.#l)}set editing(e){j(this.#l,e,!0)}#u=A(fn(x1()));get form(){return F(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(!1);get overrideDialogOpen(){return F(this.#d)}set overrideDialogOpen(e){j(this.#d,e,!0)}#f=A(null);get overridePendingPayload(){return F(this.#f)}set overridePendingPayload(e){j(this.#f,e,!0)}#p=A(null);get overrideExistingBudget(){return F(this.#p)}set overrideExistingBudget(e){j(this.#p,e,!0)}#m=A(``);get resettingKey(){return F(this.#m)}set resettingKey(e){j(this.#m,e,!0)}#h=A(``);get deletingKey(){return F(this.#h)}set deletingKey(e){j(this.#h,e,!0)}#g=A(!1);get resetAllLoading(){return F(this.#g)}set resetAllLoading(e){j(this.#g,e,!0)}#_=null;managementEnabled(){return sL.budgetsVisible()}filteredBudgets(){return H1(this.budgets,this.filter,this.sortBy)}async fetchBudgetsPage(){if(await sL.ensureLoaded(),!this.managementEnabled()){this.budgets=[],this.budgetsAvailable=!1,this.error=``;return}return this.#_||=this.fetchBudgets().finally(()=>{this.#_=null}),this.#_}async fetchBudgets(){this.loading=!0,this.error=``;try{let e=await rL(`/admin/budgets`,{label:`budgets`});if(e.status===503){this.budgetsAvailable=!1,this.budgets=[];return}if(e.stale)return;if(this.budgetsAvailable=!0,!e.ok){this.error=`Unable to load budgets.`;return}this.budgets=R1(e.data)}catch(e){console.error(`Failed to fetch budgets:`,e),this.budgets=[],this.error=`Unable to load budgets.`}finally{this.loading=!1}}openForm(e){if(this.editing=!!e,this.formError=``,e){let t=Number(e.period_seconds||0);this.form={scope:w1(e),subject:T1(e),period:M1(t),period_seconds:t,amount:String(e.amount||``),source:String(e.source||`manual`)}}else this.form=x1();this.formOpen=!0}syncPeriodSeconds(){let e=j1(String(this.form.period||``).trim());e>0&&(this.form.period_seconds=e)}setFormSubject(e){this.form.subject=this.form.scope===`label`?String(e??``):L1(e)}syncScope(){k1(this.form)}closeForm(){this.closeOverrideDialog(),this.formOpen=!1,this.formSubmitting=!1,this.formError=``,this.editing=!1,this.form=x1()}async submitForm(){if(this.formSubmitting)return;let{payload:e,error:t}=U1(this.form);if(!e){this.formError=t;return}if(!this.editing){let t=P1(this.budgets,e);if(t){this.openOverrideDialog(t,e);return}}await this.saveBudgetPayload(e)}async saveBudgetPayload(e){if(!(this.formSubmitting||!e)){this.formSubmitting=!0,this.formError=``;try{let t=await iL(`/admin/budgets`,`PUT`,W1(e),{label:`budget`});if(t.status===503){this.budgetsAvailable=!1,this.formError=`Budget management is unavailable.`;return}if(t.stale)return;if(!t.ok){this.formError=$I(t,`Unable to save budget.`);return}this.closeForm(),K.success(`Budget saved.`),this.fetchBudgets()}catch(e){console.error(`Failed to save budget:`,e),this.formError=`Unable to save budget.`}finally{this.formSubmitting=!1}}}openOverrideDialog(e,t){this.overrideExistingBudget=e||null,this.overridePendingPayload=t||null,this.overrideDialogOpen=!0}closeOverrideDialog(){this.overrideDialogOpen=!1,this.overridePendingPayload=null,this.overrideExistingBudget=null}async confirmOverride(){if(!this.overridePendingPayload){this.closeOverrideDialog();return}let e=this.overridePendingPayload;this.closeOverrideDialog(),await this.saveBudgetPayload(e)}async resetBudget(e){if(!e)return;let t=N1(e);if(this.resettingKey===t)return;let n=T1(e)+` `+n0(e);if(confirm(`Reset budget "`+n+`"?`)){this.resettingKey=t;try{let t=await iL(`/admin/budgets/reset-one`,`POST`,K1(e),{label:`budget reset`});if(t.status===503){this.budgetsAvailable=!1,K.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){K.error($I(t,`Unable to reset budget.`));return}K.success(`Budget reset.`),this.fetchBudgets()}catch(e){console.error(`Failed to reset budget:`,e),K.error(`Unable to reset budget.`)}finally{this.resettingKey=``}}}async deleteBudget(e){if(!e)return;let t=N1(e);if(this.deletingKey===t)return;let n=T1(e)+` `+n0(e);if(confirm(`Delete budget "`+n+`"? This cannot be undone.`)){this.deletingKey=t;try{let t=await iL(`/admin/budgets`,`DELETE`,G1(e),{label:`budget delete`});if(t.status===503){this.budgetsAvailable=!1,K.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){K.error($I(t,`Unable to delete budget.`));return}this.budgets=R1(t.data),K.success(`Budget deleted.`)}catch(e){console.error(`Failed to delete budget:`,e),K.error(`Unable to delete budget.`)}finally{this.deletingKey=``}}}openResetDialog(){bL.open({title:`Reset Budgets`,titleId:`budgetResetDialogTitle`,inputId:`budget-reset-confirmation`,requiredText:`reset`,confirmLabel:`Reset All Budgets`,icon:`rotate-ccw`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.resetAllBudgets()})}async resetAllBudgets(){if(!this.resetAllLoading){this.resetAllLoading=!0;try{let e=await iL(`/admin/budgets/reset`,`POST`,{confirmation:`reset`},{label:`budget reset`});if(e.stale)return;if(!e.ok){bL.error=`Unable to reset budgets.`;return}bL.close(),K.success(`Budgets reset.`),zI.page===`budgets`&&this.fetchBudgets()}catch(e){console.error(`Failed to reset budgets:`,e),bL.error=`Unable to reset budgets.`}finally{this.resetAllLoading=!1}}}},f0=L(` `),p0=L(` Edit`,1),m0=L(` `,1),h0=L(`
            Usage
            Period
            `),g0=L(`
            `);function _0(e,t){D(t,!0);let n=ha(t,`budgets`,19,()=>[]);function r(e){if(!e)return``;let t=ZI.formatTimestamp(e);return!t||t===`-`?``:t+` `+ZI.effectiveTimeZoneLabel()}var i=g0();V(i,21,n,e=>N1(e),(e,t)=>{var n=h0(),i=M(n),a=M(i),o=M(a),s=M(o,!0);E(o);var c=N(o,2),l=M(c),u=e=>{var n=f0(),r=M(n);W(r,{name:`tag`,class:`budget-period-icon`});var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t)=>{U(n,`title`,e),z(a,t)},[()=>`Budget scope: `+E1(F(t)),()=>E1(F(t))]),R(e,n)},d=k(()=>w1(F(t))===`label`);B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=M(f);{let e=k(()=>o0(F(t)));W(p,{get name(){return F(e)},class:`budget-period-icon`})}var m=N(p,2),h=M(m,!0);E(m),E(f),E(c);var g=N(c,2),_=M(g),v=M(_),y=M(v,!0);E(v),E(_);var b=N(_,2),x=M(b);b1(x,{label:`Edit budget`,class:`budget-action-btn`,onclick:()=>J.openForm(F(t)),children:(e,t)=>{var n=p0();W(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}});var S=N(x,2);{let e=k(()=>J.resettingKey===N1(F(t))?`Resetting budget`:`Reset budget`),n=k(()=>J.resettingKey===N1(F(t)));b1(S,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>J.resetBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=m0(),i=Cn(r);W(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.resettingKey===N1(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var C=N(S,2);{let e=k(()=>J.deletingKey===N1(F(t))?`Deleting budget`:`Delete budget`),n=k(()=>J.deletingKey===N1(F(t)));b1(C,{get label(){return F(e)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>J.deleteBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=m0(),i=Cn(r);W(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.deletingKey===N1(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}E(b),E(g),E(a);var w=N(a,2),T=M(w),ee=M(T),te=N(M(ee),2),ne=M(te,!0);E(te),E(ee);var re=N(ee,2),ie=M(re);let ae;var oe=N(ie,2),se=M(oe),ce=M(se,!0);E(se);var le=N(se,2),ue=M(le,!0);E(le),E(oe);var de=N(oe,2),fe=M(de),pe=M(fe,!0);E(fe);var me=N(fe,2),he=M(me,!0);E(me),E(de),E(re),E(T);var ge=N(T,2),_e=M(ge),ve=N(M(_e),2),ye=M(ve,!0);E(ve),E(_e);var be=N(_e,2),xe=M(be),Se=N(xe,2),Ce=M(Se),we=M(Ce,!0);E(Ce);var Te=N(Ce,2),Ee=M(Te,!0);E(Te);var De=N(Te,2),Oe=M(De,!0);E(De),E(Se);var ke=N(Se,2),Ae=M(ke),je=M(Ae,!0);E(Ae);var Me=N(Ae,2),Ne=M(Me,!0);E(Me);var Pe=N(Me,2),Fe=M(Pe,!0);E(Pe),E(ke),E(be),E(ge),E(w),E(i),E(n),P((e,t,n,r,i,a,c,l,u,d,p,m,g,_,b,x,S,C,w,T,ee,te,oe,se,le,de,fe,me)=>{U(o,`title`,e),z(s,t),H(f,1,`budget-period-label ${n??``}`,`svelte-1jm56wo`),z(h,r),U(v,`title`,i),z(y,a),z(ne,c),U(re,`aria-valuenow`,l),U(re,`aria-label`,u),Ri(re,`--budget-progress: ${d??``}%`),ae=H(ie,1,`budget-bar-fill budget-bar-fill-usage`,null,ae,p),z(ce,m),z(ue,g),z(pe,_),z(he,b),z(ye,x),H(be,1,`budget-bar-track ${S??``}`,`svelte-1jm56wo`),U(be,`aria-valuenow`,C),Ri(be,`--budget-progress: ${w??``}%`),H(xe,1,`budget-bar-fill budget-bar-fill-period ${T??``}`,`svelte-1jm56wo`),U(Ce,`title`,ee),z(we,te),z(Ee,oe),U(De,`title`,se),z(Oe,le),z(je,de),z(Ne,fe),z(Fe,me)},[()=>E1(F(t))+`: `+T1(F(t)),()=>T1(F(t)),()=>r0(F(t)),()=>n0(F(t)),()=>u0(F(t)),()=>l0(F(t)),()=>e0(F(t)),()=>Q1(F(t)),()=>`Budget usage: `+UL(F(t).spent)+` of `+UL(F(t).amount)+`, `+d0(F(t)),()=>Q1(F(t)),()=>({"budget-bar-fill-danger":Z1(F(t))>=1}),()=>UL(F(t).spent)+` of `+UL(F(t).amount),()=>d0(F(t)),()=>UL(F(t).spent)+` of `+UL(F(t).amount),()=>d0(F(t)),()=>t0(F(t)),()=>a0(F(t)),()=>$1(F(t)),()=>$1(F(t)),()=>i0(F(t)),()=>r(F(t).period_start),()=>ZI.formatTimestamp(F(t).period_start),()=>c0(F(t)),()=>r(F(t).period_end),()=>ZI.formatTimestamp(F(t).period_end),()=>ZI.formatTimestamp(F(t).period_start),()=>c0(F(t)),()=>ZI.formatTimestamp(F(t).period_end)]),R(e,n)}),E(i),R(e,i),O()}var v0=L(``),y0=L(`
            `),b0=L(`

            Editing a budget updates its limit only. Use Reset to start a new - budget period.

            `),x0=L(``),S0=L(``),C0=L(``),w0=L(` `,1);function T0(e,t){D(t,!0);function n(){!J.overrideDialogOpen&&!G.dialogOpen&&J.closeForm()}function r(e){J.setFormSubject(e.target.value),e.target.value=J.form.subject}var i=w0(),a=Cn(i);hL(a,{get open(){return J.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=S0(),i=M(n),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s),E(o),pL(N(o,2),{label:`Close budget editor`,onclick:()=>J.closeForm(),iconClass:``}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);V(d,21,C1,e=>e.value,(e,t)=>{var n=v0(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(d),E(u);var f=N(u,2),p=M(f),m=M(p,!0);E(p);var h=N(p,2);Qi(h),E(f);var g=N(f,2),_=N(M(g),2);V(_,21,A1,e=>e.value,(e,t)=>{var n=v0(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(_),E(g);var v=N(g,2),y=e=>{var t=y0(),n=N(M(t),2);Qi(n),E(t),P(()=>n.disabled=J.editing),sa(n,()=>J.form.period_seconds,e=>J.form.period_seconds=e),R(e,t)};B(v,e=>{J.form.period===`custom`&&e(y)});var b=N(v,2),x=N(M(b),2);Qi(x),E(b),E(l);var S=N(l,2),C=e=>{R(e,b0())};B(S,e=>{J.editing&&e(C)});var w=N(S,2),T=e=>{var t=x0(),n=M(t,!0);E(t),P(()=>z(n,J.formError)),R(e,t)};B(w,e=>{J.formError&&e(T)});var ee=N(w,2),te=M(ee),ne=N(te,2),re=M(ne);W(re,{name:`save`,class:`form-action-icon`});var ie=N(re,2),ae=M(ie,!0);E(ie),E(ne),E(ee),E(i),E(n),P((e,t)=>{z(c,J.editing?`Edit Budget`:`Create Budget`),d.disabled=J.editing,z(m,e),U(h,`placeholder`,t),$i(h,J.form.subject),h.disabled=J.editing,U(h,`data-modal-autofocus`,!J.editing||void 0),_.disabled=J.editing,U(x,`data-modal-autofocus`,J.editing||void 0),ne.disabled=J.formSubmitting,z(ae,J.formSubmitting?`Saving...`:`Save Budget`)},[()=>D1(J.form),()=>O1(J.form)]),Hr(`submit`,i,e=>{e.preventDefault(),J.submitForm()}),I(`change`,d,()=>J.syncScope()),Vi(d,()=>J.form.scope,e=>J.form.scope=e),I(`input`,h,r),I(`change`,_,()=>J.syncPeriodSeconds()),Vi(_,()=>J.form.period,e=>J.form.period=e),sa(x,()=>J.form.amount,e=>J.form.amount=e),I(`click`,te,()=>J.closeForm()),R(e,n)},$$slots:{default:!0}}),hL(N(a,2),{get open(){return J.overrideDialogOpen},variant:`auth`,onclose:()=>J.closeOverrideDialog(),children:(e,t)=>{var n=C0(),r=M(n);pL(N(M(r),2),{label:`Close budget override dialog`,onclick:()=>J.closeOverrideDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=N(c,2),u=M(l);W(u,{name:`save`,class:`form-action-icon`});var d=N(u,2),f=M(d,!0);E(d),E(l),E(s),E(i),E(n),P(e=>{z(o,e),l.disabled=J.formSubmitting,z(f,J.formSubmitting?`Saving...`:`Override Budget`)},[()=>J1(J.overridePendingPayload,J.overrideExistingBudget)]),Hr(`submit`,i,e=>{e.preventDefault(),J.confirmOverride()}),I(`click`,c,()=>J.closeOverrideDialog()),R(e,n)},$$slots:{default:!0}}),R(e,i),O()}Ur([`change`,`input`,`click`]);var E0=L(`

            Budgets

            `),D0=L(``),O0=L(`
            Budget management is unavailable.
            `),k0=L(``),A0=L(`
            `),j0=L(`

            No budgets configured yet.

            `),M0=L(`

            No budgets match your filter.

            `),N0=L(`
            `);function P0(e,t){D(t,!0),Nn(()=>{G.refreshTick,zI.page===`budgets`&&J.fetchBudgetsPage()});let n=k(()=>J.filteredBudgets());var r=N0(),i=M(r),a=M(i);mQ(M(a),{copyId:`budgets-help-copy`,label:`budgets help`,title:e=>{R(e,E0())},help:e=>{We(),R(e,Qr(`Budgets are evaluated from tracked usage cost records for each user +`+p$(F(t))):``,()=>F(n)?UL(F(t).total_cost):HL(F(t).total_tokens)]),R(e,i)}),E(_),E(i),E(t),P(()=>{z(u,F(n)?`Input Cost`:`Input`),z(f,F(n)?`Output Cost`:`Output`),z(m,F(n)?`Total Cost`:`Total`)}),R(e,t)},p=e=>{var t=d1();zZ(M(t),{size:20,label:`Loading request log`}),E(t),R(e,t)},m=e=>{var t=f1();HZ(M(t),{}),E(t),R(e,t)};B(d,e=>{q.usageLog.entries.length>0?e(f):q.usageLogLoading?e(p,1):e(m,-1)}),Q$(N(d,2),{get total(){return q.usageLog.total},get offset(){return q.usageLog.offset},get limit(){return q.usageLog.limit},onprev:()=>q.usageLogPrevPage(),onnext:()=>q.usageLogNextPage()}),E(a),I(`change`,u,()=>q.fetchUsageLog(!0)),ca(u,()=>q.usageLogHideCached,e=>q.usageLogHideCached=e),R(e,a),O()}Ur([`click`,`change`]);var h1=L(`
            `);function g1(e,t){D(t,!0);let n=`usage`;Nn(()=>{G.refreshTick,zI.page===n&&(q.fetchUsagePage(),VQ.ensureLiveLogs())}),Nn(()=>{zI.page===n&&(q.usageMode=zI.sub===`costs`?`costs`:`tokens`)});var r=h1(),i=N(M(r),2),a=M(i);eY(a,{ariaLabel:`Usage mode`,options:[{value:`tokens`,label:`Tokens`},{value:`costs`,label:`Costs`}],get value(){return q.usageMode},onchange:e=>q.toggleUsageMode(e)}),CR(N(a,2),{onchange:()=>q.fetchUsagePage()}),E(i);var o=N(i,2);k$(o,{});var s=N(o,2);P$(s,{});var c=N(s,2),l=M(c);X$(l,{kind:`model`});var u=N(l,2);X$(u,{kind:`userPath`}),X$(N(u,2),{kind:`label`}),E(c),m1(N(c,2),{}),E(r),R(e,r),O()}var _1=L(`
            `);function v1(e,t){let n=ha(t,`label`,3,`Loading...`),r=ha(t,`class`,3,``);var i=_1(),a=N(M(i),2),o=M(a,!0);E(a),E(i),P(()=>{H(i,1,`loading-state ${r()??``}`,`svelte-hzxv1d`),z(o,n())}),R(e,i)}var y1=L(``);function b1(e,t){let n=ha(t,`label`,3,``),r=ha(t,`class`,3,``),i=ha(t,`disabled`,3,!1);var a=y1();gi(M(a),()=>t.children??m),E(a),P(()=>{H(a,1,`table-action-btn ${r()??``}`),U(a,`aria-label`,n()),U(a,`title`,n()),a.disabled=i()}),I(`click`,a,function(...e){t.onclick?.apply(this,e)}),R(e,a)}Ur([`click`]);function x1(){return{scope:`user_path`,subject:`/`,period:`daily`,period_seconds:86400,amount:``,source:`manual`}}function S1(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},label:{label:`Label`,chip:`label`,fieldLabel:`Label`,placeholder:`Mobile-App-iOS`}};return t[e]||t.user_path}function C1(){return[`user_path`,`label`].map(e=>({value:e,label:S1(e).label}))}function w1(e){return String(e&&e.scope||``).trim()||`user_path`}function T1(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function E1(e){return S1(w1(e)).chip}function D1(e){return w1(e)===`label`?`budget-label`:`budget-user-path`}function O1(e){return S1(String(e&&e.scope||``)).fieldLabel}function k1(e){return S1(String(e&&e.scope||``)).placeholder}function A1(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function j1(){return[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`},{value:`custom`,label:`Custom seconds`}]}function M1(e){switch(String(e||``).trim().toLowerCase()){case`hourly`:return 3600;case`daily`:return 86400;case`weekly`:return 604800;case`monthly`:return 2592e3;default:return 0}}function N1(e){switch(Number(e||0)){case 3600:return`hourly`;case 86400:return`daily`;case 604800:return`weekly`;case 2592e3:return`monthly`;default:return`custom`}}function P1(e){return w1(e)+`:`+T1(e)+`:`+String(e&&e.period_seconds||``)}function F1(e,t){if(!t||!Array.isArray(e))return null;let n=P1(t);return e.find(e=>P1(e)===n)||null}function I1(e){let t=String(e||``).trim();if(!t)return`User path is required.`;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function L1(e){if(I1(e))return``;let t=String(e||``).trim(),n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function R1(e){return`/`+String(e||``).trimStart().replace(/^\/+/,``)}function z1(e){return Array.isArray(e)?e:e&&Array.isArray(e.budgets)?e.budgets:[]}function B1(e){let t=Number(e&&e.period_seconds||0);return[T1(e),E1(e),r0(e),N1(t),t?String(t)+`s`:``,t?String(t)+` seconds`:``].join(` `).toLowerCase()}var V1={user_path:0,label:1};function H1(e,t){let n=Array.isArray(e)?e.slice():[],r=String(t||`subject`);return n.sort((e,t)=>{let n=(V1[w1(e)]||0)-(V1[w1(t)]||0),i=T1(e).localeCompare(T1(t)),a=Number(t&&t.period_seconds||0)-Number(e&&e.period_seconds||0);return r===`period`?a||n||i:n||i||a}),n}function U1(e,t,n){let r=Array.isArray(e)?e:[],i=String(t||``).trim().toLowerCase();return H1(i?r.filter(e=>B1(e).includes(i)):r.slice(),n)}function W1(e){let t=e||{},n=w1(t),r=String(t.subject||``).trim();if(n===`user_path`){let e=I1(r);if(e)return{payload:null,error:e}}else if(!r)return{payload:null,error:`Label is required.`};let i=Number(t.amount);if(!Number.isFinite(i)||i<=0)return{payload:null,error:`Amount must be greater than 0.`};let a=String(t.period||``).trim(),o=M1(a);return a===`custom`&&(o=Number(t.period_seconds)),!Number.isFinite(o)||o<=0?{payload:null,error:`Period seconds must be greater than 0.`}:{payload:{scope:n,subject:n===`user_path`?L1(r):r,period_seconds:Math.trunc(o),amount:i,source:String(t.source||`manual`).trim()||`manual`},error:``}}function G1(e){return{scope:w1(e),subject:T1(e),budget_key:{period_seconds:e.period_seconds},amount:e.amount}}function K1(e){return{scope:w1(e),subject:T1(e),budget_key:{period_seconds:e.period_seconds}}}function q1(e){return{scope:w1(e),subject:T1(e),period_seconds:e.period_seconds}}function J1(e){return UL(e)}function Y1(e,t){let n=e||{},r=t||{};return`A budget for "`+((T1(n)||T1(r))+` `+r0({period_seconds:n.period_seconds||r.period_seconds,period_label:r.period_label}))+`" already exists. Saving will override the current `+J1(r.amount)+` limit with `+J1(n.amount)+`.`}function X1(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:t}function Z1(e,t){let n=X1(e);return Math.round((t?Math.min(n,1):n)*1e3)/10}function Q1(e){return X1(e&&e.usage_ratio)}function $1(e){return Z1(Q1(e),!0)}function e0(e){return Z1(e&&e.period_ratio,!0)}function t0(e){return Z1(Q1(e),!1).toFixed(1).replace(/\.0$/,``)+`%`}function n0(e){return e0(e).toFixed(1).replace(/\.0$/,``)+`%`}function r0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`Hourly`;case 86400:return`Daily`;case 604800:return`Weekly`;case 2592e3:return`Monthly`;default:{let n=String(e&&e.period_label||``).trim();return n?`Custom `+n:`Custom `+String(t||``)+`s`}}}function i0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`budget-period-label-hourly`;case 86400:return`budget-period-label-daily`;case 604800:return`budget-period-label-weekly`;case 2592e3:return`budget-period-label-monthly`;default:return`budget-period-label-custom`}}function a0(e){return i0(e).replace(`budget-period-label-`,`budget-bar-fill-period-`)}function o0(e){return i0(e).replace(`budget-period-label-`,`budget-bar-track-period-`)}function s0(e){switch(Number(e&&e.period_seconds||0)){case 3600:return`clock`;case 86400:return`sun`;case 604800:return`calendar-days`;case 2592e3:return`calendar`;default:return`settings-2`}}function c0(e){let t=Math.max(0,Math.trunc(Number(e||0)));return t+` `+(t===1?`second`:`seconds`)}function l0(e){let t=Number(e&&e.period_seconds||0);switch(t){case 3600:return`1 hour`;case 86400:return`1 day`;case 604800:return`1 week`;case 2592e3:return`1 month`;default:return c0(t)}}function u0(e){return String(e&&e.source||``).trim()||`manual`}function d0(e){let t=u0(e).toLowerCase();return t===`manual`?`Created from the dashboard.`:t===`config`?`Loaded from configuration.`:`Budget source: `+t}function f0(e){let t=Number(e&&e.remaining);return Number.isFinite(t)?t<0?UL(Math.abs(t))+` over`:UL(t)+` remaining`:``}var J=new class{#e=A(fn([]));get budgets(){return F(this.#e)}set budgets(e){j(this.#e,e,!0)}#t=A(!0);get budgetsAvailable(){return F(this.#t)}set budgetsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get filter(){return F(this.#r)}set filter(e){j(this.#r,e,!0)}#i=A(`subject`);get sortBy(){return F(this.#i)}set sortBy(e){j(this.#i,e,!0)}#a=A(``);get error(){return F(this.#a)}set error(e){j(this.#a,e,!0)}#o=A(!1);get formOpen(){return F(this.#o)}set formOpen(e){j(this.#o,e,!0)}#s=A(!1);get formSubmitting(){return F(this.#s)}set formSubmitting(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get editing(){return F(this.#l)}set editing(e){j(this.#l,e,!0)}#u=A(fn(x1()));get form(){return F(this.#u)}set form(e){j(this.#u,e,!0)}#d=A(!1);get overrideDialogOpen(){return F(this.#d)}set overrideDialogOpen(e){j(this.#d,e,!0)}#f=A(null);get overridePendingPayload(){return F(this.#f)}set overridePendingPayload(e){j(this.#f,e,!0)}#p=A(null);get overrideExistingBudget(){return F(this.#p)}set overrideExistingBudget(e){j(this.#p,e,!0)}#m=A(``);get resettingKey(){return F(this.#m)}set resettingKey(e){j(this.#m,e,!0)}#h=A(``);get deletingKey(){return F(this.#h)}set deletingKey(e){j(this.#h,e,!0)}#g=A(!1);get resetAllLoading(){return F(this.#g)}set resetAllLoading(e){j(this.#g,e,!0)}#_=null;managementEnabled(){return sL.budgetsVisible()}filteredBudgets(){return U1(this.budgets,this.filter,this.sortBy)}async fetchBudgetsPage(){if(await sL.ensureLoaded(),!this.managementEnabled()){this.budgets=[],this.budgetsAvailable=!1,this.error=``;return}return this.#_||=this.fetchBudgets().finally(()=>{this.#_=null}),this.#_}async fetchBudgets(){this.loading=!0,this.error=``;try{let e=await rL(`/admin/budgets`,{label:`budgets`});if(e.status===503){this.budgetsAvailable=!1,this.budgets=[];return}if(e.stale)return;if(this.budgetsAvailable=!0,!e.ok){this.error=`Unable to load budgets.`;return}this.budgets=z1(e.data)}catch(e){console.error(`Failed to fetch budgets:`,e),this.budgets=[],this.error=`Unable to load budgets.`}finally{this.loading=!1}}openForm(e){if(this.editing=!!e,this.formError=``,e){let t=Number(e.period_seconds||0);this.form={scope:w1(e),subject:T1(e),period:N1(t),period_seconds:t,amount:String(e.amount||``),source:String(e.source||`manual`)}}else this.form=x1();this.formOpen=!0}syncPeriodSeconds(){let e=M1(String(this.form.period||``).trim());e>0&&(this.form.period_seconds=e)}setFormSubject(e){this.form.subject=this.form.scope===`label`?String(e??``):R1(e)}syncScope(){A1(this.form)}closeForm(){this.closeOverrideDialog(),this.formOpen=!1,this.formSubmitting=!1,this.formError=``,this.editing=!1,this.form=x1()}async submitForm(){if(this.formSubmitting)return;let{payload:e,error:t}=W1(this.form);if(!e){this.formError=t;return}if(!this.editing){let t=F1(this.budgets,e);if(t){this.openOverrideDialog(t,e);return}}await this.saveBudgetPayload(e)}async saveBudgetPayload(e){if(!(this.formSubmitting||!e)){this.formSubmitting=!0,this.formError=``;try{let t=await iL(`/admin/budgets`,`PUT`,G1(e),{label:`budget`});if(t.status===503){this.budgetsAvailable=!1,this.formError=`Budget management is unavailable.`;return}if(t.stale)return;if(!t.ok){this.formError=$I(t,`Unable to save budget.`);return}this.closeForm(),K.success(`Budget saved.`),this.fetchBudgets()}catch(e){console.error(`Failed to save budget:`,e),this.formError=`Unable to save budget.`}finally{this.formSubmitting=!1}}}openOverrideDialog(e,t){this.overrideExistingBudget=e||null,this.overridePendingPayload=t||null,this.overrideDialogOpen=!0}closeOverrideDialog(){this.overrideDialogOpen=!1,this.overridePendingPayload=null,this.overrideExistingBudget=null}async confirmOverride(){if(!this.overridePendingPayload){this.closeOverrideDialog();return}let e=this.overridePendingPayload;this.closeOverrideDialog(),await this.saveBudgetPayload(e)}async resetBudget(e){if(!e)return;let t=P1(e);if(this.resettingKey===t)return;let n=T1(e)+` `+r0(e);if(confirm(`Reset budget "`+n+`"?`)){this.resettingKey=t;try{let t=await iL(`/admin/budgets/reset-one`,`POST`,q1(e),{label:`budget reset`});if(t.status===503){this.budgetsAvailable=!1,K.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){K.error($I(t,`Unable to reset budget.`));return}K.success(`Budget reset.`),this.fetchBudgets()}catch(e){console.error(`Failed to reset budget:`,e),K.error(`Unable to reset budget.`)}finally{this.resettingKey=``}}}async deleteBudget(e){if(!e)return;let t=P1(e);if(this.deletingKey===t)return;let n=T1(e)+` `+r0(e);if(confirm(`Delete budget "`+n+`"? This cannot be undone.`)){this.deletingKey=t;try{let t=await iL(`/admin/budgets`,`DELETE`,K1(e),{label:`budget delete`});if(t.status===503){this.budgetsAvailable=!1,K.error(`Budget management is unavailable.`);return}if(t.stale)return;if(!t.ok){K.error($I(t,`Unable to delete budget.`));return}this.budgets=z1(t.data),K.success(`Budget deleted.`)}catch(e){console.error(`Failed to delete budget:`,e),K.error(`Unable to delete budget.`)}finally{this.deletingKey=``}}}openResetDialog(){bL.open({title:`Reset Budgets`,titleId:`budgetResetDialogTitle`,inputId:`budget-reset-confirmation`,requiredText:`reset`,confirmLabel:`Reset All Budgets`,icon:`rotate-ccw`,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.resetAllBudgets()})}async resetAllBudgets(){if(!this.resetAllLoading){this.resetAllLoading=!0;try{let e=await iL(`/admin/budgets/reset`,`POST`,{confirmation:`reset`},{label:`budget reset`});if(e.stale)return;if(!e.ok){bL.error=`Unable to reset budgets.`;return}bL.close(),K.success(`Budgets reset.`),zI.page===`budgets`&&this.fetchBudgets()}catch(e){console.error(`Failed to reset budgets:`,e),bL.error=`Unable to reset budgets.`}finally{this.resetAllLoading=!1}}}},p0=L(` Edit`,1),m0=L(` `,1),h0=L(`
            Usage
            Period
            `),g0=L(`
            `);function _0(e,t){D(t,!0);let n=ha(t,`budgets`,19,()=>[]);function r(e){if(!e)return``;let t=ZI.formatTimestamp(e);return!t||t===`-`?``:t+` `+ZI.effectiveTimeZoneLabel()}var i=g0();V(i,21,n,e=>P1(e),(e,t)=>{var n=h0(),i=M(n),a=M(i),o=M(a),s=M(o),c=e=>{W(e,{name:`tag`,class:`budget-scope-icon`})},l=k(()=>w1(F(t))===`label`);B(s,e=>{F(l)&&e(c)});var u=N(s);E(o);var d=N(o,2),f=M(d),p=M(f);{let e=k(()=>s0(F(t)));W(p,{get name(){return F(e)},class:`budget-period-icon`})}var m=N(p,2),h=M(m,!0);E(m),E(f),E(d);var g=N(d,2),_=M(g),v=M(_),y=M(v,!0);E(v),E(_);var b=N(_,2),x=M(b);b1(x,{label:`Edit budget`,class:`budget-action-btn`,onclick:()=>J.openForm(F(t)),children:(e,t)=>{var n=p0();W(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}});var S=N(x,2);{let e=k(()=>J.resettingKey===P1(F(t))?`Resetting budget`:`Reset budget`),n=k(()=>J.resettingKey===P1(F(t)));b1(S,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>J.resetBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=m0(),i=Cn(r);W(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.resettingKey===P1(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var C=N(S,2);{let e=k(()=>J.deletingKey===P1(F(t))?`Deleting budget`:`Delete budget`),n=k(()=>J.deletingKey===P1(F(t)));b1(C,{get label(){return F(e)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>J.deleteBudget(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=m0(),i=Cn(r);W(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>J.deletingKey===P1(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}E(b),E(g),E(a);var w=N(a,2),T=M(w),ee=M(T),te=N(M(ee),2),ne=M(te,!0);E(te),E(ee);var re=N(ee,2),ie=M(re);let ae;var oe=N(ie,2),se=M(oe),ce=M(se,!0);E(se);var le=N(se,2),ue=M(le,!0);E(le),E(oe);var de=N(oe,2),fe=M(de),pe=M(fe,!0);E(fe);var me=N(fe,2),he=M(me,!0);E(me),E(de),E(re),E(T);var ge=N(T,2),_e=M(ge),ve=N(M(_e),2),ye=M(ve,!0);E(ve),E(_e);var be=N(_e,2),xe=M(be),Se=N(xe,2),Ce=M(Se),we=M(Ce,!0);E(Ce);var Te=N(Ce,2),Ee=M(Te,!0);E(Te);var De=N(Te,2),Oe=M(De,!0);E(De),E(Se);var ke=N(Se,2),Ae=M(ke),je=M(Ae,!0);E(Ae);var Me=N(Ae,2),Ne=M(Me,!0);E(Me);var Pe=N(Me,2),Fe=M(Pe,!0);E(Pe),E(ke),E(be),E(ge),E(w),E(i),E(n),P((e,t,n,r,i,a,s,c,l,d,p,m,g,_,b,x,S,C,w,T,ee,te,oe,se,le,de,fe,me,ge,_e)=>{H(o,1,`budget-scope-value ${e??``}`,`svelte-1jm56wo`),Ri(o,t),U(o,`title`,n),z(u,` ${r??``}`),H(f,1,`budget-period-label ${i??``}`,`svelte-1jm56wo`),z(h,a),U(v,`title`,s),z(y,c),z(ne,l),U(re,`aria-valuenow`,d),U(re,`aria-label`,p),Ri(re,`--budget-progress: ${m??``}%`),ae=H(ie,1,`budget-bar-fill budget-bar-fill-usage`,null,ae,g),z(ce,_),z(ue,b),z(pe,x),z(he,S),z(ye,C),H(be,1,`budget-bar-track ${w??``}`,`svelte-1jm56wo`),U(be,`aria-valuenow`,T),Ri(be,`--budget-progress: ${ee??``}%`),H(xe,1,`budget-bar-fill budget-bar-fill-period ${te??``}`,`svelte-1jm56wo`),U(Ce,`title`,oe),z(we,se),z(Ee,le),U(De,`title`,de),z(Oe,fe),z(je,me),z(Ne,ge),z(Fe,_e)},[()=>D1(F(t)),()=>w1(F(t))===`label`?`--label-color: `+cY(T1(F(t))):void 0,()=>E1(F(t))+`: `+T1(F(t)),()=>T1(F(t)),()=>i0(F(t)),()=>r0(F(t)),()=>d0(F(t)),()=>u0(F(t)),()=>t0(F(t)),()=>$1(F(t)),()=>`Budget usage: `+UL(F(t).spent)+` of `+UL(F(t).amount)+`, `+f0(F(t)),()=>$1(F(t)),()=>({"budget-bar-fill-danger":Q1(F(t))>=1}),()=>UL(F(t).spent)+` of `+UL(F(t).amount),()=>f0(F(t)),()=>UL(F(t).spent)+` of `+UL(F(t).amount),()=>f0(F(t)),()=>n0(F(t)),()=>o0(F(t)),()=>e0(F(t)),()=>e0(F(t)),()=>a0(F(t)),()=>r(F(t).period_start),()=>ZI.formatTimestamp(F(t).period_start),()=>l0(F(t)),()=>r(F(t).period_end),()=>ZI.formatTimestamp(F(t).period_end),()=>ZI.formatTimestamp(F(t).period_start),()=>l0(F(t)),()=>ZI.formatTimestamp(F(t).period_end)]),R(e,n)}),E(i),R(e,i),O()}var v0=L(``),y0=L(`
            `),b0=L(`

            Editing a budget updates its limit only. Use Reset to start a new + budget period.

            `),x0=L(``),S0=L(``),C0=L(``),w0=L(` `,1);function T0(e,t){D(t,!0);function n(){!J.overrideDialogOpen&&!G.dialogOpen&&J.closeForm()}function r(e){J.setFormSubject(e.target.value),e.target.value=J.form.subject}var i=w0(),a=Cn(i);hL(a,{get open(){return J.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=S0(),i=M(n),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s),E(o),pL(N(o,2),{label:`Close budget editor`,onclick:()=>J.closeForm(),iconClass:``}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);V(d,21,C1,e=>e.value,(e,t)=>{var n=v0(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(d),E(u);var f=N(u,2),p=M(f),m=M(p,!0);E(p);var h=N(p,2);Qi(h),E(f);var g=N(f,2),_=N(M(g),2);V(_,21,j1,e=>e.value,(e,t)=>{var n=v0(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(_),E(g);var v=N(g,2),y=e=>{var t=y0(),n=N(M(t),2);Qi(n),E(t),P(()=>n.disabled=J.editing),sa(n,()=>J.form.period_seconds,e=>J.form.period_seconds=e),R(e,t)};B(v,e=>{J.form.period===`custom`&&e(y)});var b=N(v,2),x=N(M(b),2);Qi(x),E(b),E(l);var S=N(l,2),C=e=>{R(e,b0())};B(S,e=>{J.editing&&e(C)});var w=N(S,2),T=e=>{var t=x0(),n=M(t,!0);E(t),P(()=>z(n,J.formError)),R(e,t)};B(w,e=>{J.formError&&e(T)});var ee=N(w,2),te=M(ee),ne=N(te,2),re=M(ne);W(re,{name:`save`,class:`form-action-icon`});var ie=N(re,2),ae=M(ie,!0);E(ie),E(ne),E(ee),E(i),E(n),P((e,t)=>{z(c,J.editing?`Edit Budget`:`Create Budget`),d.disabled=J.editing,z(m,e),U(h,`placeholder`,t),$i(h,J.form.subject),h.disabled=J.editing,U(h,`data-modal-autofocus`,!J.editing||void 0),_.disabled=J.editing,U(x,`data-modal-autofocus`,J.editing||void 0),ne.disabled=J.formSubmitting,z(ae,J.formSubmitting?`Saving...`:`Save Budget`)},[()=>O1(J.form),()=>k1(J.form)]),Hr(`submit`,i,e=>{e.preventDefault(),J.submitForm()}),I(`change`,d,()=>J.syncScope()),Vi(d,()=>J.form.scope,e=>J.form.scope=e),I(`input`,h,r),I(`change`,_,()=>J.syncPeriodSeconds()),Vi(_,()=>J.form.period,e=>J.form.period=e),sa(x,()=>J.form.amount,e=>J.form.amount=e),I(`click`,te,()=>J.closeForm()),R(e,n)},$$slots:{default:!0}}),hL(N(a,2),{get open(){return J.overrideDialogOpen},variant:`auth`,onclose:()=>J.closeOverrideDialog(),children:(e,t)=>{var n=C0(),r=M(n);pL(N(M(r),2),{label:`Close budget override dialog`,onclick:()=>J.closeOverrideDialog(),class:`auth-dialog-close`,iconClass:``}),E(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=N(c,2),u=M(l);W(u,{name:`save`,class:`form-action-icon`});var d=N(u,2),f=M(d,!0);E(d),E(l),E(s),E(i),E(n),P(e=>{z(o,e),l.disabled=J.formSubmitting,z(f,J.formSubmitting?`Saving...`:`Override Budget`)},[()=>Y1(J.overridePendingPayload,J.overrideExistingBudget)]),Hr(`submit`,i,e=>{e.preventDefault(),J.confirmOverride()}),I(`click`,c,()=>J.closeOverrideDialog()),R(e,n)},$$slots:{default:!0}}),R(e,i),O()}Ur([`change`,`input`,`click`]);var E0=L(`

            Budgets

            `),D0=L(``),O0=L(`
            Budget management is unavailable.
            `),k0=L(``),A0=L(`
            `),j0=L(`

            No budgets configured yet.

            `),M0=L(`

            No budgets match your filter.

            `),N0=L(`
            `);function P0(e,t){D(t,!0),Nn(()=>{G.refreshTick,zI.page===`budgets`&&J.fetchBudgetsPage()});let n=k(()=>J.filteredBudgets());var r=N0(),i=M(r),a=M(i);mQ(M(a),{copyId:`budgets-help-copy`,label:`budgets help`,title:e=>{R(e,E0())},help:e=>{We(),R(e,Qr(`Budgets are evaluated from tracked usage cost records for each user path subtree. Enforcement runs only when Budget is enabled for the - active workflow.`))},$$slots:{title:!0,help:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=D0();W(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=J.formSubmitting),I(`click`,t,()=>J.openForm()),R(e,t)},l=k(()=>J.managementEnabled()&&J.budgetsAvailable&&!G.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);BL(u,{});var d=N(u,2),f=e=>{R(e,O0())},p=k(()=>(!J.managementEnabled()||!J.budgetsAvailable)&&!G.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=k0(),n=M(t,!0);E(t),P(()=>z(n,J.error)),R(e,t)};B(m,e=>{J.error&&!G.authError&&e(h)});var g=N(m,2),_=e=>{v1(e,{label:`Loading budgets...`})};B(g,e=>{J.loading&&!G.authError&&e(_)});var v=N(g,2),y=e=>{var t=A0(),n=M(t);w$(M(n),{id:`budget-filter`,placeholder:`Filter by user path or period...`,label:`Filter budgets by user path or period`,get value(){return J.filter},set value(e){J.filter=e}}),E(n);var r=N(n,2),i=N(M(r),2),a=M(i);a.value=a.__value=`subject`;var o=N(a);o.value=o.__value=`period`,E(i),E(r),E(t),Vi(i,()=>J.sortBy,e=>J.sortBy=e),R(e,t)};B(v,e=>{(J.budgets.length>0||J.filter)&&J.budgetsAvailable&&!G.authError&&!J.formOpen&&e(y)});var b=N(v,2);T0(b,{});var x=N(b,2),S=e=>{_0(e,{get budgets(){return F(n)}})};B(x,e=>{F(n).length>0&&J.budgetsAvailable&&!G.authError&&e(S)});var C=N(x,2),w=e=>{R(e,j0())},T=k(()=>J.budgets.length===0&&!J.filter&&!J.loading&&!G.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,M0())},ne=k(()=>J.budgets.length>0&&F(n).length===0&&J.filter&&!J.loading&&!G.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function F0(){return{scope:`user_path`,subject:`/`,period:`minute`,period_seconds:60,max_requests:``,max_tokens:``,source:`manual`}}function I0(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},provider:{label:`Provider`,chip:`provider`,fieldLabel:`Provider Name`,placeholder:`openai`},model:{label:`Model`,chip:`model`,fieldLabel:`Model`,placeholder:`openai/gpt-4o`}};return t[e]||t.user_path}function L0(){return[`user_path`,`provider`,`model`].map(e=>({value:e,label:I0(e).label}))}function R0(e){return String(e&&e.scope||``).trim()||`user_path`}function z0(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function B0(e){return I0(R0(e)).chip}function V0(e){return I0(String(e&&e.scope||``)).fieldLabel}function H0(e){return I0(String(e&&e.scope||``)).placeholder}function U0(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function W0(){return[{value:`minute`,label:`Per minute`},{value:`hour`,label:`Per hour`},{value:`day`,label:`Per day`},{value:`concurrent`,label:`Concurrent (in-flight)`},{value:`custom`,label:`Custom seconds`}]}function G0(e){switch(String(e||``).trim().toLowerCase()){case`minute`:return 60;case`hour`:return 3600;case`day`:return 86400;case`concurrent`:return 0;default:return-1}}function K0(e){switch(Number(e||0)){case 60:return`minute`;case 3600:return`hour`;case 86400:return`day`;case 0:return`concurrent`;default:return`custom`}}function q0(e){let t=String(e&&e.period||``).trim(),n=G0(t);n>=0&&(e.period_seconds=n),t===`concurrent`&&(e.max_tokens=``)}function J0(e){return R0(e)+`:`+z0(e)+`:`+String(e&&e.period_seconds||`0`)}function Y0(e){return Number(e&&e.period_seconds||0)===0}function X0(e){return String(e&&e.period_label||``).trim()||K0(Number(e&&e.period_seconds||0))}function Z0(e){return String(e&&e.source||``)===`config`?`config`:`manual`}function Q0(e){return String(e&&e.source||``)===`config`}function $0(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString():`0`}function e2(e,t){let n=Number(e),r=Number(t);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return 0;let i=Math.round(n/r*100);return Math.min(Math.max(i,0),100)}function t2(e,t){let n=String(t||``).trim().toLowerCase(),r=Array.isArray(e)?e.slice():[],i={user_path:0,provider:1,model:2};return r.sort((e,t)=>{let n=(i[R0(e)]||0)-(i[R0(t)]||0);if(n!==0)return n;let r=z0(e).localeCompare(z0(t));return r===0?Number(e.period_seconds||0)-Number(t.period_seconds||0):r}),n?r.filter(e=>{let t=z0(e).toLowerCase(),r=B0(e).toLowerCase(),i=X0(e).toLowerCase();return t.includes(n)||r.includes(n)||i.includes(n)}):r}function n2(e){return!e||!Array.isArray(e.rate_limits)?[]:e.rate_limits}function r2(e,t,n){let r=String(t||``).trim();return r=e===`provider`||e===`model`?r.toLowerCase():`/`+r.split(`/`).map(e=>e.trim()).filter(Boolean).join(`/`),e+`:`+r+`:`+Number(n||0)}function i2(e,t){return e?r2(t.scope,t.subject,t.limit_key.period_seconds)!==r2(e.scope,e.subject,e.period_seconds):!1}function a2(e){let t=e||{},n=String(t.scope||`user_path`),r=String(t.subject||``).trim();if(n!==`user_path`&&!r)return{error:V0(t)+` is required.`};let i=String(t.period||``)===`concurrent`,a=t.period_seconds;if(a===``||a==null)return{error:`Period seconds is required.`};let o=Number(a);if(!Number.isInteger(o)||o<0||o===0&&!i)return{error:`Period seconds must be a positive integer (0 only for the concurrent period).`};let s=String(t.max_requests===void 0||t.max_requests===null?``:t.max_requests).trim(),c=String(t.max_tokens===void 0||t.max_tokens===null?``:t.max_tokens).trim();if(!s&&!c)return{error:`Set max requests, max tokens, or both.`};if(i&&c)return{error:`Token limits are not valid for the concurrent period.`};let l={scope:n,subject:r||`/`,limit_key:{period_seconds:o}};if(s){let e=Number(s);if(!Number.isInteger(e)||e<=0)return{error:`Max requests must be a positive integer.`};l.max_requests=e}if(c){let e=Number(c);if(!Number.isInteger(e)||e<=0)return{error:`Max tokens must be a positive integer.`};l.max_tokens=e}return{payload:l}}function o2(e,t,n){if(R0(e)!==`model`)return!1;let r=String(z0(e)).toLowerCase(),i=String(n||``).trim().toLowerCase();if(!i)return!1;if(r===i)return!0;let a=String(t||``).trim().toLowerCase();return a?r===a+`/`+i||i.startsWith(a+`/`)&&r===i.slice(a.length+1):!1}function s2(e,t){return R0(e)===`provider`&&String(z0(e)).toLowerCase()===String(t||``).trim().toLowerCase()}function c2(e){let t=e||{},n=String(t.model||``),r=String(t.provider||``);return!r||n.toLowerCase().startsWith(r+`/`)?n:r+`/`+n}function l2(e,t){let n=e||{},r=Array.isArray(t)?t:[],i=[];return n.kind===`model`&&i.push({key:`model`,title:`Model limits`,scope:`model`,subject:c2(n),hint:``,items:r.filter(e=>o2(e,n.provider,n.model))}),i.push({key:`provider`,title:`Provider limits (`+n.provider+`)`,scope:`provider`,subject:n.provider,hint:n.kind===`model`?`Shared by every model routed to this provider.`:``,items:r.filter(e=>s2(e,n.provider))}),i.push({key:`global`,title:`Global limits`,scope:`user_path`,subject:`/`,hint:`Root user-path rules throttle all traffic. Narrower user-path rules also apply, per consumer.`,items:r.filter(e=>R0(e)===`user_path`&&z0(e)===`/`)}),i}function u2(e){return Y0(e)?e2(e.in_flight,e.max_requests):Math.max(e2(e.requests_used,e.max_requests),e2(e.tokens_used,e.max_tokens))}function d2(e){return`--rate-limit-pressure: `+u2(e)+`%`}function f2(e){let t=u2(e);return t>=100?`rate-limit-pressure-row rate-limit-pressure-full`:t>=75?`rate-limit-pressure-row rate-limit-pressure-high`:`rate-limit-pressure-row`}function p2(e){return(Array.isArray(e)?e:[]).some(e=>R0(e)===`user_path`&&z0(e)===`/`)}function m2(e,t,n){let r=Array.isArray(e)?e:[];return r.some(e=>o2(e,t,n))?`table-action-btn-active`:r.some(e=>s2(e,t))||p2(r)?`rate-limit-gauge-inherited`:``}function h2(e,t){let n=Array.isArray(e)?e:[];return n.some(e=>s2(e,t))?`table-action-btn-active`:p2(n)?`rate-limit-gauge-inherited`:``}function g2(e,t){let n=`Rate limits for `+e;return t===`table-action-btn-active`?n+` (direct limits configured)`:t?n+` (inherited limits apply)`:n}function _2(e){if(Y0(e))return $0(e.in_flight)+` of `+$0(e.max_requests)+` in flight`;let t=[];return e.max_requests!==null&&e.max_requests!==void 0&&t.push($0(e.requests_used)+`/`+$0(e.max_requests)+` req`),e.max_tokens!==null&&e.max_tokens!==void 0&&t.push($0(e.tokens_used)+`/`+$0(e.max_tokens)+` tok`),t.join(` · `)}var Y=new class{#e=A(fn([]));get rateLimits(){return F(this.#e)}set rateLimits(e){j(this.#e,e,!0)}#t=A(!0);get rateLimitsAvailable(){return F(this.#t)}set rateLimitsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get rateLimitsLoading(){return F(this.#n)}set rateLimitsLoading(e){j(this.#n,e,!0)}rateLimitFetchPromise=null;#r=A(``);get rateLimitFilter(){return F(this.#r)}set rateLimitFilter(e){j(this.#r,e,!0)}#i=A(``);get rateLimitError(){return F(this.#i)}set rateLimitError(e){j(this.#i,e,!0)}#a=A(!1);get rateLimitFormOpen(){return F(this.#a)}set rateLimitFormOpen(e){j(this.#a,e,!0)}#o=A(!1);get rateLimitFormSubmitting(){return F(this.#o)}set rateLimitFormSubmitting(e){j(this.#o,e,!0)}#s=A(``);get rateLimitFormError(){return F(this.#s)}set rateLimitFormError(e){j(this.#s,e,!0)}#c=A(!1);get rateLimitEditing(){return F(this.#c)}set rateLimitEditing(e){j(this.#c,e,!0)}rateLimitEditingOriginal=null;rateLimitFormReturnToInspector=!1;#l=A(``);get rateLimitResettingKey(){return F(this.#l)}set rateLimitResettingKey(e){j(this.#l,e,!0)}#u=A(``);get rateLimitDeletingKey(){return F(this.#u)}set rateLimitDeletingKey(e){j(this.#u,e,!0)}#d=A(!1);get rateLimitInspectorOpen(){return F(this.#d)}set rateLimitInspectorOpen(e){j(this.#d,e,!0)}#f=A(fn({kind:``,provider:``,model:``,title:``}));get rateLimitInspector(){return F(this.#f)}set rateLimitInspector(e){j(this.#f,e,!0)}#p=A(fn(F0()));get rateLimitForm(){return F(this.#p)}set rateLimitForm(e){j(this.#p,e,!0)}rateLimitsEnabled(){return sL.rateLimitsVisible()}defaultRateLimitForm(){return F0()}rateLimitScopeMeta(e){return I0(e)}rateLimitScopeOptions(){return L0()}rateLimitScope(e){return R0(e)}rateLimitSubject(e){return z0(e)}rateLimitScopeLabel(e){return B0(e)}rateLimitSubjectFieldLabel(){return V0(this.rateLimitForm)}rateLimitSubjectPlaceholder(){return H0(this.rateLimitForm)}syncRateLimitScope(){U0(this.rateLimitForm)}rateLimitPeriodOptions(){return W0()}rateLimitPeriodSeconds(e){return G0(e)}rateLimitPeriodFromSeconds(e){return K0(e)}syncRateLimitPeriodSeconds(){q0(this.rateLimitForm)}rateLimitKey(e){return J0(e)}rateLimitIsConcurrent(e){return Y0(e)}rateLimitPeriodLabel(e){return X0(e)}rateLimitSourceLabel(e){return Z0(e)}rateLimitIsReadOnly(e){return Q0(e)}formatRateLimitNumber(e){return $0(e)}rateLimitUsagePercent(e,t){return e2(e,t)}filteredRateLimits(){return t2(this.rateLimits,this.rateLimitFilter)}normalizeRateLimitListPayload(e){return n2(e)}async fetchRateLimitsPage(){if(await sL.ensureLoaded(),!this.rateLimitsEnabled()){this.rateLimits=[],this.rateLimitsAvailable=!1,this.rateLimitError=``;return}return this.rateLimitFetchPromise||=this.fetchRateLimits().finally(()=>{this.rateLimitFetchPromise=null}),this.rateLimitFetchPromise}async fetchRateLimits(){this.rateLimitsLoading=!0,this.rateLimitError=``;try{let e=await rL(`/admin/rate-limits`,{label:`rate limits`});if(e.status===503){this.rateLimitsAvailable=!1,this.rateLimits=[];return}if(e.stale)return;if(this.rateLimitsAvailable=!0,!e.ok){this.rateLimitError=`Unable to load rate limits.`;return}this.rateLimits=n2(e.data)}catch(e){console.error(`Failed to fetch rate limits:`,e),this.rateLimits=[],this.rateLimitError=`Unable to load rate limits.`}finally{this.rateLimitsLoading=!1}}openRateLimitForm(e){if(this.rateLimitEditing=!!e,this.rateLimitFormError=``,e){let t=Number(e.period_seconds||0);this.rateLimitEditingOriginal={scope:R0(e),subject:z0(e),period_seconds:t},this.rateLimitForm={scope:R0(e),subject:z0(e),period:K0(t),period_seconds:t,max_requests:e.max_requests===null||e.max_requests===void 0?``:String(e.max_requests),max_tokens:e.max_tokens===null||e.max_tokens===void 0?``:String(e.max_tokens),source:String(e.source||`manual`)}}else this.rateLimitEditingOriginal=null,this.rateLimitForm=F0();this.rateLimitFormOpen=!0}closeRateLimitForm(){this.rateLimitFormOpen=!1,this.rateLimitFormSubmitting=!1,this.rateLimitFormError=``,this.rateLimitEditing=!1,this.rateLimitEditingOriginal=null,this.rateLimitForm=F0(),this.rateLimitFormReturnToInspector&&(this.rateLimitFormReturnToInspector=!1,this.rateLimitInspectorOpen=!0)}rateLimitNormalizedIdentity(e,t,n){return r2(e,t,n)}rateLimitIdentityMoved(e){return i2(this.rateLimitEditingOriginal,e)}setRateLimitFormSubject(e){this.rateLimitForm.subject=String(e||``)}rateLimitFormPayload(){return a2(this.rateLimitForm)}async submitRateLimitForm(){if(this.rateLimitFormSubmitting)return;let{payload:e,error:t}=this.rateLimitFormPayload();if(t){this.rateLimitFormError=t;return}let n=this.rateLimitIdentityMoved(e),r=this.rateLimitEditingOriginal;this.rateLimitFormSubmitting=!0,this.rateLimitFormError=``;try{let t=await iL(`/admin/rate-limits`,`PUT`,e,{label:`rate limit save`});if(t.stale)return;if(!t.ok){this.rateLimitFormError=$I(t,`Unable to save rate limit.`);return}if(this.rateLimits=n2(t.data),n&&!await this.deleteMovedRateLimitOriginal(r))return;this.closeRateLimitForm(),K.success(n?`Rate limit moved; live counters restarted.`:`Rate limit saved.`)}catch(e){console.error(`Failed to save rate limit:`,e),this.rateLimitFormError=`Unable to save rate limit.`}finally{this.rateLimitFormSubmitting=!1}}async deleteMovedRateLimitOriginal(e){try{let t=await iL(`/admin/rate-limits`,`DELETE`,{scope:e.scope,subject:e.subject,limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit move`});return t.ok?(this.rateLimits=n2(t.data),!0):(this.rateLimitFormError=$I(t,`The new rule was saved, but the previous one could not be removed. Delete it manually.`),!1)}catch(e){return console.error(`Failed to remove the moved rate limit:`,e),this.rateLimitFormError=`The new rule was saved, but the previous one could not be removed. Delete it manually.`,!1}}async deleteRateLimit(e){let t=J0(e);if(this.rateLimitDeletingKey!==t){this.rateLimitDeletingKey=t;try{let t=await iL(`/admin/rate-limits`,`DELETE`,{scope:R0(e),subject:z0(e),limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit delete`});if(t.stale)return;if(!t.ok){K.error($I(t,`Unable to delete rate limit.`));return}this.rateLimits=n2(t.data),K.success(`Rate limit deleted.`)}catch(e){console.error(`Failed to delete rate limit:`,e),K.error(`Unable to delete rate limit.`)}finally{this.rateLimitDeletingKey=``}}}async resetRateLimit(e){let t=J0(e);if(this.rateLimitResettingKey!==t){this.rateLimitResettingKey=t;try{let t=await iL(`/admin/rate-limits/reset-one`,`POST`,{scope:R0(e),subject:z0(e),period_seconds:Number(e.period_seconds||0)},{label:`rate limit reset`});if(t.stale)return;if(!t.ok){K.error($I(t,`Unable to reset rate limit.`));return}this.rateLimits=n2(t.data),K.success(`Rate limit counters reset.`)}catch(e){console.error(`Failed to reset rate limit:`,e),K.error(`Unable to reset rate limit.`)}finally{this.rateLimitResettingKey=``}}}rateLimitInspectorModelID(e){return String(e&&e.model&&e.model.id||``).trim()}openRateLimitInspectorForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`model`,provider:n,model:t,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}openRateLimitInspectorForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`provider`,provider:t,model:``,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}showRateLimitInspector(){this.rateLimitInspectorOpen=!0,this.fetchRateLimitsPage()}closeRateLimitInspector(){this.rateLimitInspectorOpen=!1}rateLimitRuleMatchesModel(e,t,n){return o2(e,t,n)}rateLimitRuleMatchesProvider(e,t){return s2(e,t)}rateLimitInspectorQualifiedModel(){return c2(this.rateLimitInspector)}rateLimitInspectorSections(){return l2(this.rateLimitInspector,this.rateLimits)}rateLimitPressurePercent(e){return u2(e)}rateLimitPressureStyle(e){return d2(e)}rateLimitPressureClass(e){return f2(e)}rateLimitGaugeCache={rules:null,states:{}};rateLimitGaugeMemo(e,t){this.rateLimitGaugeCache.rules!==this.rateLimits&&(this.rateLimitGaugeCache={rules:this.rateLimits,states:{}});let n=this.rateLimitGaugeCache.states;return e in n||(n[e]=t()),n[e]}rateLimitGaugeClassForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase(),r=this.rateLimits;return this.rateLimitGaugeMemo(`model:`+n+`/`+t,()=>m2(r,n,t))}rateLimitGaugeClassForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase(),n=this.rateLimits;return this.rateLimitGaugeMemo(`provider:`+t,()=>h2(n,t))}hasGlobalRateLimits(){let e=this.rateLimits;return this.rateLimitGaugeMemo(`global`,()=>p2(e))}rateLimitGaugeTitle(e,t){return g2(e,t)}rateLimitInspectorSummary(e){return _2(e)}openRateLimitFormFromInspector(e,t,n){this.rateLimitInspectorOpen=!1,this.rateLimitFormReturnToInspector=!0,this.openRateLimitForm(n||void 0),n||(this.rateLimitForm.scope=e,this.rateLimitForm.subject=t)}},v2=L(``),y2=L(`
            `),b2=L(`
            `),x2=L(`

            Scope, subject, and period identify the rule: changing any of them + active workflow.`))},$$slots:{title:!0,help:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=D0();W(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=J.formSubmitting),I(`click`,t,()=>J.openForm()),R(e,t)},l=k(()=>J.managementEnabled()&&J.budgetsAvailable&&!G.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);BL(u,{});var d=N(u,2),f=e=>{R(e,O0())},p=k(()=>(!J.managementEnabled()||!J.budgetsAvailable)&&!G.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=k0(),n=M(t,!0);E(t),P(()=>z(n,J.error)),R(e,t)};B(m,e=>{J.error&&!G.authError&&e(h)});var g=N(m,2),_=e=>{v1(e,{label:`Loading budgets...`})};B(g,e=>{J.loading&&!G.authError&&e(_)});var v=N(g,2),y=e=>{var t=A0(),n=M(t);w$(M(n),{id:`budget-filter`,placeholder:`Filter by user path, label, or period...`,label:`Filter budgets by user path or period`,get value(){return J.filter},set value(e){J.filter=e}}),E(n);var r=N(n,2),i=N(M(r),2),a=M(i);a.value=a.__value=`subject`;var o=N(a);o.value=o.__value=`period`,E(i),E(r),E(t),Vi(i,()=>J.sortBy,e=>J.sortBy=e),R(e,t)};B(v,e=>{(J.budgets.length>0||J.filter)&&J.budgetsAvailable&&!G.authError&&!J.formOpen&&e(y)});var b=N(v,2);T0(b,{});var x=N(b,2),S=e=>{_0(e,{get budgets(){return F(n)}})};B(x,e=>{F(n).length>0&&J.budgetsAvailable&&!G.authError&&e(S)});var C=N(x,2),w=e=>{R(e,j0())},T=k(()=>J.budgets.length===0&&!J.filter&&!J.loading&&!G.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,M0())},ne=k(()=>J.budgets.length>0&&F(n).length===0&&J.filter&&!J.loading&&!G.authError&&!J.error&&J.budgetsAvailable&&J.managementEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function F0(){return{scope:`user_path`,subject:`/`,period:`minute`,period_seconds:60,max_requests:``,max_tokens:``,source:`manual`}}function I0(e){let t={user_path:{label:`User path`,chip:`user path`,fieldLabel:`User Path`,placeholder:`/team/alpha`},provider:{label:`Provider`,chip:`provider`,fieldLabel:`Provider Name`,placeholder:`openai`},model:{label:`Model`,chip:`model`,fieldLabel:`Model`,placeholder:`openai/gpt-4o`}};return t[e]||t.user_path}function L0(){return[`user_path`,`provider`,`model`].map(e=>({value:e,label:I0(e).label}))}function R0(e){return String(e&&e.scope||``).trim()||`user_path`}function z0(e){return String(e&&e.subject||``).trim()||String(e&&e.user_path||``)}function B0(e){return I0(R0(e)).chip}function V0(e){return I0(String(e&&e.scope||``)).fieldLabel}function H0(e){return I0(String(e&&e.scope||``)).placeholder}function U0(e){e.subject=String(e&&e.scope||``)===`user_path`?`/`:``}function W0(){return[{value:`minute`,label:`Per minute`},{value:`hour`,label:`Per hour`},{value:`day`,label:`Per day`},{value:`concurrent`,label:`Concurrent (in-flight)`},{value:`custom`,label:`Custom seconds`}]}function G0(e){switch(String(e||``).trim().toLowerCase()){case`minute`:return 60;case`hour`:return 3600;case`day`:return 86400;case`concurrent`:return 0;default:return-1}}function K0(e){switch(Number(e||0)){case 60:return`minute`;case 3600:return`hour`;case 86400:return`day`;case 0:return`concurrent`;default:return`custom`}}function q0(e){let t=String(e&&e.period||``).trim(),n=G0(t);n>=0&&(e.period_seconds=n),t===`concurrent`&&(e.max_tokens=``)}function J0(e){return R0(e)+`:`+z0(e)+`:`+String(e&&e.period_seconds||`0`)}function Y0(e){return Number(e&&e.period_seconds||0)===0}function X0(e){return String(e&&e.period_label||``).trim()||K0(Number(e&&e.period_seconds||0))}function Z0(e){return String(e&&e.source||``)===`config`?`config`:`manual`}function Q0(e){return String(e&&e.source||``)===`config`}function $0(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString():`0`}function e2(e,t){let n=Number(e),r=Number(t);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return 0;let i=Math.round(n/r*100);return Math.min(Math.max(i,0),100)}function t2(e,t){let n=String(t||``).trim().toLowerCase(),r=Array.isArray(e)?e.slice():[],i={user_path:0,provider:1,model:2};return r.sort((e,t)=>{let n=(i[R0(e)]||0)-(i[R0(t)]||0);if(n!==0)return n;let r=z0(e).localeCompare(z0(t));return r===0?Number(e.period_seconds||0)-Number(t.period_seconds||0):r}),n?r.filter(e=>{let t=z0(e).toLowerCase(),r=B0(e).toLowerCase(),i=X0(e).toLowerCase();return t.includes(n)||r.includes(n)||i.includes(n)}):r}function n2(e){return!e||!Array.isArray(e.rate_limits)?[]:e.rate_limits}function r2(e,t,n){let r=String(t||``).trim();return r=e===`provider`||e===`model`?r.toLowerCase():`/`+r.split(`/`).map(e=>e.trim()).filter(Boolean).join(`/`),e+`:`+r+`:`+Number(n||0)}function i2(e,t){return e?r2(t.scope,t.subject,t.limit_key.period_seconds)!==r2(e.scope,e.subject,e.period_seconds):!1}function a2(e){let t=e||{},n=String(t.scope||`user_path`),r=String(t.subject||``).trim();if(n!==`user_path`&&!r)return{error:V0(t)+` is required.`};let i=String(t.period||``)===`concurrent`,a=t.period_seconds;if(a===``||a==null)return{error:`Period seconds is required.`};let o=Number(a);if(!Number.isInteger(o)||o<0||o===0&&!i)return{error:`Period seconds must be a positive integer (0 only for the concurrent period).`};let s=String(t.max_requests===void 0||t.max_requests===null?``:t.max_requests).trim(),c=String(t.max_tokens===void 0||t.max_tokens===null?``:t.max_tokens).trim();if(!s&&!c)return{error:`Set max requests, max tokens, or both.`};if(i&&c)return{error:`Token limits are not valid for the concurrent period.`};let l={scope:n,subject:r||`/`,limit_key:{period_seconds:o}};if(s){let e=Number(s);if(!Number.isInteger(e)||e<=0)return{error:`Max requests must be a positive integer.`};l.max_requests=e}if(c){let e=Number(c);if(!Number.isInteger(e)||e<=0)return{error:`Max tokens must be a positive integer.`};l.max_tokens=e}return{payload:l}}function o2(e,t,n){if(R0(e)!==`model`)return!1;let r=String(z0(e)).toLowerCase(),i=String(n||``).trim().toLowerCase();if(!i)return!1;if(r===i)return!0;let a=String(t||``).trim().toLowerCase();return a?r===a+`/`+i||i.startsWith(a+`/`)&&r===i.slice(a.length+1):!1}function s2(e,t){return R0(e)===`provider`&&String(z0(e)).toLowerCase()===String(t||``).trim().toLowerCase()}function c2(e){let t=e||{},n=String(t.model||``),r=String(t.provider||``);return!r||n.toLowerCase().startsWith(r+`/`)?n:r+`/`+n}function l2(e,t){let n=e||{},r=Array.isArray(t)?t:[],i=[];return n.kind===`model`&&i.push({key:`model`,title:`Model limits`,scope:`model`,subject:c2(n),hint:``,items:r.filter(e=>o2(e,n.provider,n.model))}),i.push({key:`provider`,title:`Provider limits (`+n.provider+`)`,scope:`provider`,subject:n.provider,hint:n.kind===`model`?`Shared by every model routed to this provider.`:``,items:r.filter(e=>s2(e,n.provider))}),i.push({key:`global`,title:`Global limits`,scope:`user_path`,subject:`/`,hint:`Root user-path rules throttle all traffic. Narrower user-path rules also apply, per consumer.`,items:r.filter(e=>R0(e)===`user_path`&&z0(e)===`/`)}),i}function u2(e){return Y0(e)?e2(e.in_flight,e.max_requests):Math.max(e2(e.requests_used,e.max_requests),e2(e.tokens_used,e.max_tokens))}function d2(e){return`--rate-limit-pressure: `+u2(e)+`%`}function f2(e){let t=u2(e);return t>=100?`rate-limit-pressure-row rate-limit-pressure-full`:t>=75?`rate-limit-pressure-row rate-limit-pressure-high`:`rate-limit-pressure-row`}function p2(e){return(Array.isArray(e)?e:[]).some(e=>R0(e)===`user_path`&&z0(e)===`/`)}function m2(e,t,n){let r=Array.isArray(e)?e:[];return r.some(e=>o2(e,t,n))?`table-action-btn-active`:r.some(e=>s2(e,t))||p2(r)?`rate-limit-gauge-inherited`:``}function h2(e,t){let n=Array.isArray(e)?e:[];return n.some(e=>s2(e,t))?`table-action-btn-active`:p2(n)?`rate-limit-gauge-inherited`:``}function g2(e,t){let n=`Rate limits for `+e;return t===`table-action-btn-active`?n+` (direct limits configured)`:t?n+` (inherited limits apply)`:n}function _2(e){if(Y0(e))return $0(e.in_flight)+` of `+$0(e.max_requests)+` in flight`;let t=[];return e.max_requests!==null&&e.max_requests!==void 0&&t.push($0(e.requests_used)+`/`+$0(e.max_requests)+` req`),e.max_tokens!==null&&e.max_tokens!==void 0&&t.push($0(e.tokens_used)+`/`+$0(e.max_tokens)+` tok`),t.join(` · `)}var Y=new class{#e=A(fn([]));get rateLimits(){return F(this.#e)}set rateLimits(e){j(this.#e,e,!0)}#t=A(!0);get rateLimitsAvailable(){return F(this.#t)}set rateLimitsAvailable(e){j(this.#t,e,!0)}#n=A(!1);get rateLimitsLoading(){return F(this.#n)}set rateLimitsLoading(e){j(this.#n,e,!0)}rateLimitFetchPromise=null;#r=A(``);get rateLimitFilter(){return F(this.#r)}set rateLimitFilter(e){j(this.#r,e,!0)}#i=A(``);get rateLimitError(){return F(this.#i)}set rateLimitError(e){j(this.#i,e,!0)}#a=A(!1);get rateLimitFormOpen(){return F(this.#a)}set rateLimitFormOpen(e){j(this.#a,e,!0)}#o=A(!1);get rateLimitFormSubmitting(){return F(this.#o)}set rateLimitFormSubmitting(e){j(this.#o,e,!0)}#s=A(``);get rateLimitFormError(){return F(this.#s)}set rateLimitFormError(e){j(this.#s,e,!0)}#c=A(!1);get rateLimitEditing(){return F(this.#c)}set rateLimitEditing(e){j(this.#c,e,!0)}rateLimitEditingOriginal=null;rateLimitFormReturnToInspector=!1;#l=A(``);get rateLimitResettingKey(){return F(this.#l)}set rateLimitResettingKey(e){j(this.#l,e,!0)}#u=A(``);get rateLimitDeletingKey(){return F(this.#u)}set rateLimitDeletingKey(e){j(this.#u,e,!0)}#d=A(!1);get rateLimitInspectorOpen(){return F(this.#d)}set rateLimitInspectorOpen(e){j(this.#d,e,!0)}#f=A(fn({kind:``,provider:``,model:``,title:``}));get rateLimitInspector(){return F(this.#f)}set rateLimitInspector(e){j(this.#f,e,!0)}#p=A(fn(F0()));get rateLimitForm(){return F(this.#p)}set rateLimitForm(e){j(this.#p,e,!0)}rateLimitsEnabled(){return sL.rateLimitsVisible()}defaultRateLimitForm(){return F0()}rateLimitScopeMeta(e){return I0(e)}rateLimitScopeOptions(){return L0()}rateLimitScope(e){return R0(e)}rateLimitSubject(e){return z0(e)}rateLimitScopeLabel(e){return B0(e)}rateLimitSubjectFieldLabel(){return V0(this.rateLimitForm)}rateLimitSubjectPlaceholder(){return H0(this.rateLimitForm)}syncRateLimitScope(){U0(this.rateLimitForm)}rateLimitPeriodOptions(){return W0()}rateLimitPeriodSeconds(e){return G0(e)}rateLimitPeriodFromSeconds(e){return K0(e)}syncRateLimitPeriodSeconds(){q0(this.rateLimitForm)}rateLimitKey(e){return J0(e)}rateLimitIsConcurrent(e){return Y0(e)}rateLimitPeriodLabel(e){return X0(e)}rateLimitSourceLabel(e){return Z0(e)}rateLimitIsReadOnly(e){return Q0(e)}formatRateLimitNumber(e){return $0(e)}rateLimitUsagePercent(e,t){return e2(e,t)}filteredRateLimits(){return t2(this.rateLimits,this.rateLimitFilter)}normalizeRateLimitListPayload(e){return n2(e)}async fetchRateLimitsPage(){if(await sL.ensureLoaded(),!this.rateLimitsEnabled()){this.rateLimits=[],this.rateLimitsAvailable=!1,this.rateLimitError=``;return}return this.rateLimitFetchPromise||=this.fetchRateLimits().finally(()=>{this.rateLimitFetchPromise=null}),this.rateLimitFetchPromise}async fetchRateLimits(){this.rateLimitsLoading=!0,this.rateLimitError=``;try{let e=await rL(`/admin/rate-limits`,{label:`rate limits`});if(e.status===503){this.rateLimitsAvailable=!1,this.rateLimits=[];return}if(e.stale)return;if(this.rateLimitsAvailable=!0,!e.ok){this.rateLimitError=`Unable to load rate limits.`;return}this.rateLimits=n2(e.data)}catch(e){console.error(`Failed to fetch rate limits:`,e),this.rateLimits=[],this.rateLimitError=`Unable to load rate limits.`}finally{this.rateLimitsLoading=!1}}openRateLimitForm(e){if(this.rateLimitEditing=!!e,this.rateLimitFormError=``,e){let t=Number(e.period_seconds||0);this.rateLimitEditingOriginal={scope:R0(e),subject:z0(e),period_seconds:t},this.rateLimitForm={scope:R0(e),subject:z0(e),period:K0(t),period_seconds:t,max_requests:e.max_requests===null||e.max_requests===void 0?``:String(e.max_requests),max_tokens:e.max_tokens===null||e.max_tokens===void 0?``:String(e.max_tokens),source:String(e.source||`manual`)}}else this.rateLimitEditingOriginal=null,this.rateLimitForm=F0();this.rateLimitFormOpen=!0}closeRateLimitForm(){this.rateLimitFormOpen=!1,this.rateLimitFormSubmitting=!1,this.rateLimitFormError=``,this.rateLimitEditing=!1,this.rateLimitEditingOriginal=null,this.rateLimitForm=F0(),this.rateLimitFormReturnToInspector&&(this.rateLimitFormReturnToInspector=!1,this.rateLimitInspectorOpen=!0)}rateLimitNormalizedIdentity(e,t,n){return r2(e,t,n)}rateLimitIdentityMoved(e){return i2(this.rateLimitEditingOriginal,e)}setRateLimitFormSubject(e){this.rateLimitForm.subject=String(e||``)}rateLimitFormPayload(){return a2(this.rateLimitForm)}async submitRateLimitForm(){if(this.rateLimitFormSubmitting)return;let{payload:e,error:t}=this.rateLimitFormPayload();if(t){this.rateLimitFormError=t;return}let n=this.rateLimitIdentityMoved(e),r=this.rateLimitEditingOriginal;this.rateLimitFormSubmitting=!0,this.rateLimitFormError=``;try{let t=await iL(`/admin/rate-limits`,`PUT`,e,{label:`rate limit save`});if(t.stale)return;if(!t.ok){this.rateLimitFormError=$I(t,`Unable to save rate limit.`);return}if(this.rateLimits=n2(t.data),n&&!await this.deleteMovedRateLimitOriginal(r))return;this.closeRateLimitForm(),K.success(n?`Rate limit moved; live counters restarted.`:`Rate limit saved.`)}catch(e){console.error(`Failed to save rate limit:`,e),this.rateLimitFormError=`Unable to save rate limit.`}finally{this.rateLimitFormSubmitting=!1}}async deleteMovedRateLimitOriginal(e){try{let t=await iL(`/admin/rate-limits`,`DELETE`,{scope:e.scope,subject:e.subject,limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit move`});return t.ok?(this.rateLimits=n2(t.data),!0):(this.rateLimitFormError=$I(t,`The new rule was saved, but the previous one could not be removed. Delete it manually.`),!1)}catch(e){return console.error(`Failed to remove the moved rate limit:`,e),this.rateLimitFormError=`The new rule was saved, but the previous one could not be removed. Delete it manually.`,!1}}async deleteRateLimit(e){let t=J0(e);if(this.rateLimitDeletingKey!==t){this.rateLimitDeletingKey=t;try{let t=await iL(`/admin/rate-limits`,`DELETE`,{scope:R0(e),subject:z0(e),limit_key:{period_seconds:Number(e.period_seconds||0)}},{label:`rate limit delete`});if(t.stale)return;if(!t.ok){K.error($I(t,`Unable to delete rate limit.`));return}this.rateLimits=n2(t.data),K.success(`Rate limit deleted.`)}catch(e){console.error(`Failed to delete rate limit:`,e),K.error(`Unable to delete rate limit.`)}finally{this.rateLimitDeletingKey=``}}}async resetRateLimit(e){let t=J0(e);if(this.rateLimitResettingKey!==t){this.rateLimitResettingKey=t;try{let t=await iL(`/admin/rate-limits/reset-one`,`POST`,{scope:R0(e),subject:z0(e),period_seconds:Number(e.period_seconds||0)},{label:`rate limit reset`});if(t.stale)return;if(!t.ok){K.error($I(t,`Unable to reset rate limit.`));return}this.rateLimits=n2(t.data),K.success(`Rate limit counters reset.`)}catch(e){console.error(`Failed to reset rate limit:`,e),K.error(`Unable to reset rate limit.`)}finally{this.rateLimitResettingKey=``}}}rateLimitInspectorModelID(e){return String(e&&e.model&&e.model.id||``).trim()}openRateLimitInspectorForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`model`,provider:n,model:t,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}openRateLimitInspectorForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase();this.rateLimitInspector={kind:`provider`,provider:t,model:``,title:String(e&&e.display_name||t)},this.showRateLimitInspector()}showRateLimitInspector(){this.rateLimitInspectorOpen=!0,this.fetchRateLimitsPage()}closeRateLimitInspector(){this.rateLimitInspectorOpen=!1}rateLimitRuleMatchesModel(e,t,n){return o2(e,t,n)}rateLimitRuleMatchesProvider(e,t){return s2(e,t)}rateLimitInspectorQualifiedModel(){return c2(this.rateLimitInspector)}rateLimitInspectorSections(){return l2(this.rateLimitInspector,this.rateLimits)}rateLimitPressurePercent(e){return u2(e)}rateLimitPressureStyle(e){return d2(e)}rateLimitPressureClass(e){return f2(e)}rateLimitGaugeCache={rules:null,states:{}};rateLimitGaugeMemo(e,t){this.rateLimitGaugeCache.rules!==this.rateLimits&&(this.rateLimitGaugeCache={rules:this.rateLimits,states:{}});let n=this.rateLimitGaugeCache.states;return e in n||(n[e]=t()),n[e]}rateLimitGaugeClassForModel(e){let t=this.rateLimitInspectorModelID(e),n=String(e&&e.provider_name||``).trim().toLowerCase(),r=this.rateLimits;return this.rateLimitGaugeMemo(`model:`+n+`/`+t,()=>m2(r,n,t))}rateLimitGaugeClassForProvider(e){let t=String(e&&e.provider_name||``).trim().toLowerCase(),n=this.rateLimits;return this.rateLimitGaugeMemo(`provider:`+t,()=>h2(n,t))}hasGlobalRateLimits(){let e=this.rateLimits;return this.rateLimitGaugeMemo(`global`,()=>p2(e))}rateLimitGaugeTitle(e,t){return g2(e,t)}rateLimitInspectorSummary(e){return _2(e)}openRateLimitFormFromInspector(e,t,n){this.rateLimitInspectorOpen=!1,this.rateLimitFormReturnToInspector=!0,this.openRateLimitForm(n||void 0),n||(this.rateLimitForm.scope=e,this.rateLimitForm.subject=t)}},v2=L(``),y2=L(`

            `),b2=L(`
            `),x2=L(`

            Scope, subject, and period identify the rule: changing any of them moves the rule to a new key and restarts its live counters.

            `),S2=L(``),C2=L(``);function w2(e,t){D(t,!0);function n(){G.dialogOpen||Y.closeRateLimitForm()}hL(e,{get open(){return Y.rateLimitFormOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=C2(),r=M(n),i=M(r),a=M(i),o=M(a),s=M(o,!0);E(o),E(a),pL(N(a,2),{label:`Close rate limit editor`,onclick:()=>Y.closeRateLimitForm()}),E(i);var c=N(i,2),l=M(c),u=N(M(l),2);V(u,21,()=>Y.rateLimitScopeOptions(),e=>e.value,(e,t)=>{var n=v2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(u),E(l);var d=N(l,2),f=M(d),p=M(f,!0);E(f);var m=N(f,2);Qi(m),E(d);var h=N(d,2),g=N(M(h),2);V(g,21,()=>Y.rateLimitPeriodOptions(),e=>e.value,(e,t)=>{var n=v2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(g),E(h);var _=N(h,2),v=e=>{var t=y2(),n=N(M(t),2);Qi(n),E(t),sa(n,()=>Y.rateLimitForm.period_seconds,e=>Y.rateLimitForm.period_seconds=e),R(e,t)};B(_,e=>{Y.rateLimitForm.period===`custom`&&e(v)});var y=N(_,2),b=M(y),x=M(b,!0);E(b);var S=N(b,2);Qi(S),E(y);var C=N(y,2),w=e=>{var t=b2(),n=N(M(t),2);Qi(n),E(t),sa(n,()=>Y.rateLimitForm.max_tokens,e=>Y.rateLimitForm.max_tokens=e),R(e,t)};B(C,e=>{Y.rateLimitForm.period!==`concurrent`&&e(w)}),E(c);var T=N(c,4),ee=e=>{R(e,x2())};B(T,e=>{Y.rateLimitEditing&&e(ee)});var te=N(T,2),ne=e=>{var t=S2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitFormError)),R(e,t)};B(te,e=>{Y.rateLimitFormError&&e(ne)});var re=N(te,2),ie=M(re),ae=N(ie,2),oe=M(ae);W(oe,{name:`save`,class:`form-action-icon`});var se=N(oe,2),ce=M(se,!0);E(se),E(ae),E(re),E(r),E(n),P((e,t)=>{z(s,Y.rateLimitEditing?`Edit Rate Limit`:`Create Rate Limit`),z(p,e),U(m,`placeholder`,t),U(m,`data-modal-autofocus`,!Y.rateLimitEditing||void 0),$i(m,Y.rateLimitForm.subject),z(x,Y.rateLimitForm.period===`concurrent`?`Max In-Flight Requests`:`Max Requests`),U(S,`data-modal-autofocus`,Y.rateLimitEditing?!0:void 0),ae.disabled=Y.rateLimitFormSubmitting,z(ce,Y.rateLimitFormSubmitting?`Saving...`:`Save Rate Limit`)},[()=>Y.rateLimitSubjectFieldLabel(),()=>Y.rateLimitSubjectPlaceholder()]),Hr(`submit`,r,e=>{e.preventDefault(),Y.submitRateLimitForm()}),I(`change`,u,()=>Y.syncRateLimitScope()),Vi(u,()=>Y.rateLimitForm.scope,e=>Y.rateLimitForm.scope=e),I(`input`,m,e=>Y.setRateLimitFormSubject(e.currentTarget.value)),I(`change`,g,()=>Y.syncRateLimitPeriodSeconds()),Vi(g,()=>Y.rateLimitForm.period,e=>Y.rateLimitForm.period=e),sa(S,()=>Y.rateLimitForm.max_requests,e=>Y.rateLimitForm.max_requests=e),I(`click`,ie,()=>Y.closeRateLimitForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`change`,`input`,`click`]);var T2=L(` `),E2=L(` Edit`,1),D2=L(` `,1),O2=L(`
            In-flight
            `),k2=L(`
            Requests
            `),A2=L(`
            Tokens
            `),j2=L(`
            `),M2=L(`
            `);function N2(e,t){D(t,!0);var n=M2();V(n,21,()=>t.rules,e=>Y.rateLimitKey(e),(e,t)=>{var n=j2(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=e=>{var n=T2(),r=M(n);{let e=k(()=>Y.rateLimitScope(F(t))===`provider`?`server`:`box`);W(r,{get name(){return F(e)},class:`budget-period-icon`})}var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t)=>{U(n,`title`,e),z(a,t)},[()=>`Rule scope: `+Y.rateLimitScopeLabel(F(t)),()=>Y.rateLimitScopeLabel(F(t))]),R(e,n)},u=k(()=>Y.rateLimitScope(F(t))!==`user_path`);B(c,e=>{F(u)&&e(l)});var d=N(c,2),f=M(d);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);W(f,{get name(){return F(e)},class:`budget-period-icon`})}var p=N(f,2),m=M(p,!0);E(p),E(d),E(s);var h=N(s,2),g=M(h),_=M(g),v=M(_,!0);E(_),E(g);var y=N(g,2),b=M(y),x=e=>{b1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitForm(F(t)),children:(e,t)=>{var n=E2();W(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},S=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(b,e=>{F(S)&&e(x)});var C=N(b,2);{let e=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting counters`:`Reset counters`),n=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t)));b1(C,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>Y.resetRateLimit(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=D2(),i=Cn(r);W(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var w=N(C,2),T=e=>{{let n=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting rate limit`:`Delete rate limit`),r=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t)));b1(e,{get label(){return F(n)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>Y.deleteRateLimit(F(t)),get disabled(){return F(r)},children:(e,n)=>{var r=D2(),i=Cn(r);W(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}},ee=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(w,e=>{F(ee)&&e(T)}),E(y),E(h),E(i);var te=N(i,2),ne=M(te),re=e=>{var n=O2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u),E(l),E(o),E(n),P((e,t,n,r,i,l)=>{z(a,e),U(o,`aria-valuenow`,t),U(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l)},[()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests),()=>`In-flight requests: `+Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` in flight`]),R(e,n)},ie=k(()=>Y.rateLimitIsConcurrent(F(t)));B(ne,e=>{F(ie)&&e(re)});var ae=N(ne,2),oe=e=>{var n=k2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),U(o,`aria-valuenow`,t),U(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests),()=>`Requests used: `+Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` requests`,()=>Y.formatRateLimitNumber(F(t).requests_remaining)+` left`]),R(e,n)},se=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_requests);B(ae,e=>{F(se)&&e(oe)});var ce=N(ae,2),le=e=>{var n=A2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),U(o,`aria-valuenow`,t),U(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens),()=>`Tokens used: `+Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)>=100}),()=>Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens)+` tokens`,()=>Y.formatRateLimitNumber(F(t).tokens_remaining)+` left`]),R(e,n)},ue=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_tokens);B(ce,e=>{F(ue)&&e(le)}),E(te),E(r),E(n),P((e,t,n,r,i)=>{U(a,`title`,e),z(o,t),z(m,n),U(_,`title`,r),z(v,i)},[()=>Y.rateLimitScopeLabel(F(t))+`: `+Y.rateLimitSubject(F(t)),()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n),O()}var P2=L(`

            Rate Limits

            `),F2=L(``),I2=L(`
            Rate limit management is unavailable.
            `),L2=L(``),R2=L(`
            `),z2=L(`

            No rate limits configured yet.

            `),B2=L(`

            No rate limits match your filter.

            `),V2=L(`
            `);function H2(e,t){D(t,!0),Nn(()=>{G.refreshTick,zI.page===`rate-limits`&&Y.fetchRateLimitsPage()});let n=k(()=>Y.filteredRateLimits());var r=V2(),i=M(r),a=M(i);mQ(M(a),{copyId:`rate-limits-help-copy`,label:`rate limits help`,text:`Rate limits cap requests, tokens, and in-flight concurrency for a user path subtree, a provider, or a model. Consumer (user path) breaches return 429 with Retry-After and x-ratelimit-* headers; saturated providers and models are skipped by load balancing and failover while capacity exists elsewhere. Counters are per gateway instance and reset on restart; token limits need usage tracking.`,title:e=>{R(e,P2())},$$slots:{title:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=F2();W(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Y.rateLimitFormSubmitting),I(`click`,t,()=>Y.openRateLimitForm()),R(e,t)},l=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitsAvailable&&!G.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);BL(u,{});var d=N(u,2),f=e=>{R(e,I2())},p=k(()=>(!Y.rateLimitsEnabled()||!Y.rateLimitsAvailable)&&!G.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=L2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitError)),R(e,t)};B(m,e=>{Y.rateLimitError&&!G.authError&&e(h)});var g=N(m,2),_=e=>{v1(e,{label:`Loading rate limits...`})};B(g,e=>{Y.rateLimitsLoading&&!G.authError&&e(_)});var v=N(g,2),y=e=>{var t=R2(),n=M(t);w$(M(n),{id:`rate-limit-filter`,placeholder:`Filter by subject, scope, or period...`,label:`Filter rate limits by subject, scope, or period`,get value(){return Y.rateLimitFilter},set value(e){Y.rateLimitFilter=e}}),E(n),E(t),R(e,t)};B(v,e=>{(Y.rateLimits.length>0||Y.rateLimitFilter)&&Y.rateLimitsAvailable&&!G.authError&&!Y.rateLimitFormOpen&&e(y)});var b=N(v,2);w2(b,{});var x=N(b,2),S=e=>{N2(e,{get rules(){return F(n)}})};B(x,e=>{F(n).length>0&&Y.rateLimitsAvailable&&!G.authError&&e(S)});var C=N(x,2),w=e=>{R(e,z2())},T=k(()=>Y.rateLimits.length===0&&!Y.rateLimitFilter&&!Y.rateLimitsLoading&&!G.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,B2())},ne=k(()=>Y.rateLimits.length>0&&F(n).length===0&&Y.rateLimitFilter&&!Y.rateLimitsLoading&&!G.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function U2(e){return String(e||``).trim().toLowerCase()}function W2(e){if(!e)return``;let t=String(e.selector||``).trim();if(t)return t;if(!e.model||!e.model.id)return``;let n=String(e.model.id||``).trim(),r=String(e.provider_name||``).trim();if(r)return r+`/`+n;let i=String(e.provider_type||``).trim();return!i||n.includes(`/`)?n:i+`/`+n}function G2(e,t,n,r){let i=new Set,a=String(e||``).trim().toLowerCase(),o=String(t||``).trim().toLowerCase(),s=String(n||``).trim().toLowerCase(),c=String(r||``).trim().toLowerCase();if(c&&i.add(c),!a)return i;i.add(a),s&&i.add(s+`/`+a),o&&!a.includes(`/`)&&i.add(o+`/`+a);let l=a.split(`/`);return l.length===2&&l[1]&&i.add(l[1]),i}function K2(e){return G2(e&&e.model?e.model.id:``,e?e.provider_type:``,e?e.provider_name:``,e?e.selector:``)}function q2(e){let t=new Set,n=String(e.resolved_model||``).trim().toLowerCase(),r=String(e.target_model||``).trim().toLowerCase(),i=String(e.target_provider||``).trim().toLowerCase();if(n){t.add(n);let e=n.split(`/`);e.length===2&&e[1]&&t.add(e[1])}if(r){t.add(r);let e=r.split(`/`);e.length===2&&e[1]&&t.add(e[1])}return r&&i&&t.add(i+`/`+r),t}function J2(e){if(!e)return``;let t=String(e.provider||``).trim(),n=String(e.model||``).trim();return!t||!n||n===t||n.startsWith(t+`/`)?n:t+`/`+n}function Y2(e){if(e===``||e==null)return null;let t=Number(e);return!Number.isFinite(t)||t<=0?null:t}function X2(e,t){let n={model:e},r=Y2(t);return r!==null&&(n.weight=r),n}function Z2(e){let t=Array.isArray(e)?e:[],n=[];for(let e of t){let t=String(e&&e.model||``).trim();t&&n.push(X2(t,e&&e.weight))}return n}function Q2(e){switch(String(e||``).toLowerCase()){case`cost`:return`lowest cost`;case`round_robin`:case``:return`round robin`;default:return e}}function $2(e){let t=Array.isArray(e.targets)?e.targets:[],n=t.length>0?t[0]:{},r=t.map(e=>{let t={provider:e.provider||``,model:e.model||``};return e.weight&&(t.weight=e.weight),t});return{name:e.source,target_provider:n.provider||``,target_model:n.model||``,targets:r,strategy:e.strategy||``,description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,valid:!!e.valid,resolved_model:e.resolved_model||``,provider_type:e.provider_type||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[]}}function e4(e){let t=Array.isArray(e)?e:[],n=[],r=[];for(let e of t)!e||typeof e!=`object`||(e.kind===`redirect`?n.push($2(e)):e.kind===`policy`&&r.push({selector:e.source,provider_name:e.provider_name||``,model:e.model||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[],description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,scope_kind:e.scope_kind||``}));return{aliases:n,policies:r}}function t4(e){if(!e)return`—`;let t=Array.isArray(e.targets)?e.targets:[];return t.length>1?t.length+` targets · `+Q2(e.strategy):e.resolved_model?e.resolved_model:e.target_provider?e.target_provider+`/`+e.target_model:e.target_model||`—`}function n4(e){return e?e.enabled===!1?`is-disabled`:e.valid?`is-valid`:`is-invalid`:`is-invalid`}function r4(e){return e?e.enabled===!1?`Disabled`:e.valid?`Active`:`Invalid`:`Invalid`}function i4(e){return Array.isArray(e)&&e.length>0&&e.indexOf(`/`)===-1}function a4(e,t){return!t||!e?``:e.effective_enabled===!1?`is-disabled`:i4(e.user_paths)?`is-restricted`:`is-enabled`}function o4(e){if(!e)return``;let t=[];e.effective_enabled===!1&&t.push(e.default_enabled===!1?`Disabled by default`:`Disabled`);let n=Array.isArray(e.user_paths)?e.user_paths:[];return n.length>0&&t.push(`Allowed for `+n.join(`, `)),t.join(` · `)}function s4({models:e,aliases:t,virtualModelsAvailable:n,activeCategory:r}){let i=Array.isArray(e)?e:[],a=Array.isArray(t)?t:[],o=new Map;if(n)for(let e of a){let t=U2(e&&e.name);!t||e.enabled===!1||!e.valid||o.set(t,e)}let s=new Map,c=i.map(e=>{let t=W2(e),n=null;for(let t of K2(e))s.has(t)||s.set(t,e),!n&&o.has(t)&&(n=o.get(t));let r=e&&e.access?e.access:null;return{key:`model:`+t,display_name:t,secondary_name:``,provider_name:e.provider_name||``,provider_type:e.provider_type||``,model:e.model,selector:e.selector||``,is_alias:!1,alias:null,access:r,masking_alias:n,has_virtual_model:!!(n||r&&r.override),alias_state_class:``,alias_state_text:``}});if(!n)return c;for(let e of a){let t=s.get(U2(e&&e.name));if(e&&e.enabled!==!1&&e.valid&&t)continue;let n=null;for(let t of q2(e))if(n=s.get(t)||null,n)break;!n&&r&&r!==`all`||c.push({key:`alias:`+e.name,display_name:e.name,secondary_name:t4(e),provider_name:n&&n.provider_name||``,provider_type:n?n.provider_type||e.provider_type||``:e.provider_type||``,model:n?n.model:{id:e.name,object:`model`},selector:``,is_alias:!0,alias:e,access:null,masking_alias:null,source_model_exists:!!t,has_virtual_model:!0,alias_state_class:n4(e),alias_state_text:r4(e)})}return c.sort((e,t)=>e.is_alias===t.is_alias?String(e.display_name||``).localeCompare(String(t.display_name||``)):e.is_alias?-1:1)}function c4(e,t){if(!t)return e;let n=String(t).toLowerCase();return e.filter(e=>[e.display_name,e.secondary_name,e.provider_name,e.provider_type,e.model&&e.model.owned_by,e.alias&&e.alias.description,e.alias&&e.alias_state_text,e.model&&e.model.metadata&&e.model.metadata.modes?e.model.metadata.modes.join(`,`):``,e.model&&e.model.metadata&&e.model.metadata.categories?e.model.metadata.categories.join(`,`):``].some(e=>String(e||``).toLowerCase().includes(n)))}function l4(e,t){return String(e||``).trim()||String(t||``).trim()||`Unassigned`}function u4(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return!r||r===n?``:r}function d4(e){let t=String(e||``).trim();return t?t+`/`:``}function f4(e){let t=Array.isArray(e)?e:[],n=t.filter(e=>e&&!e.is_alias).length,r=t.filter(e=>e&&e.is_alias).length,i=[];return n>0&&i.push(n+(n===1?` model`:` models`)),r>0&&i.push(r+(r===1?` alias`:` aliases`)),i.join(` · `)}function p4(e,t,n){let r=String(t||``).trim(),i=String(n||``).trim();for(let t of Array.isArray(e)?e:[]){let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim();if(!(r&&e!==r)&&!(!r&&i&&n!==i)&&t&&t.access)return t.access.default_enabled!==!1}return!0}function m4(e){for(let t of Array.isArray(e)?e:[])if(t&&t.access)return t.access.default_enabled!==!1;return!0}function h4(e,t){let n=String(t||``).trim();if(!n)return null;for(let t of Array.isArray(e)?e:[])if(String(t&&t.selector||``).trim()===n)return t;return null}function g4(e,t,n,r){let i=d4(t),a=r&&r.get(`/`)||null,o=i&&r&&r.get(i)||null,s=p4(e,t,n),c=o||a,l=c&&Array.isArray(c.user_paths)?Array.from(new Set(c.user_paths)).sort():[];return{selector:i,default_enabled:s,effective_enabled:c?c.enabled!==!1:s,user_paths:l,override:o}}function _4(e,t,n){if(!Array.isArray(e)||e.length===0)return[];let r=new Map;for(let e of Array.isArray(n)?n:[]){let t=String(e&&e.selector||``).trim();t&&r.set(t,e)}let i=[],a=new Map;for(let t of e){if(t&&t.is_alias){i.push(t);continue}let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim(),r=`provider-group:`+(e||n||`unassigned`);a.has(r)||a.set(r,{key:r,provider_name:e,provider_type:n,display_name:l4(e,n),type_label:u4(e,n),rows:[]});let o=a.get(r);!o.provider_name&&e&&(o.provider_name=e),!o.provider_type&&n&&(o.provider_type=n),o.display_name=l4(o.provider_name,o.provider_type),o.type_label=u4(o.provider_name,o.provider_type),o.rows.push(t)}let o=Array.from(a.values()).map(e=>{let n=g4(t,e.provider_name,e.provider_type,r);return{...e,access:n,access_summary:o4(n),item_count_label:f4(e.rows)}}).sort((e,t)=>String(e.display_name||``).localeCompare(String(t.display_name||``)));return i.length>0&&o.unshift({key:`virtual-model-group`,is_virtual_models:!0,provider_name:``,provider_type:``,display_name:`Virtual models`,type_label:``,rows:i,access:{selector:``},access_summary:``,item_count_label:f4(i)}),o}function v4(e,t){let n=h4(t,`/`),r=m4(e),i=n&&Array.isArray(n.user_paths)?n.user_paths:[];return{key:`scope-global`,is_alias:!1,display_name:`all providers and models`,access:{selector:`/`,default_enabled:r,effective_enabled:n?n.enabled!==!1:r,user_paths:i,override:n}}}function y4(e){return e?String(e.access&&e.access.selector||``).trim()||String(e.override_selector||``).trim()||W2(e):``}function b4(e){if(!e)return``;let t=[];return e.is_alias?t.push(`alias-row`,n4(e.alias)):e.has_virtual_model&&t.push(`alias-row`,`is-valid`),!e.is_alias&&e.masking_alias&&t.push(`masked-model-row`),!e.is_alias&&e.access&&e.access.effective_enabled===!1&&t.push(`model-access-disabled-row`),t.join(` `)}function x4(e){return!!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)}function S4(e){return!!(e&&!e.is_alias&&e.masking_alias&&e.masking_alias.name&&!e.masking_alias.managed)}function C4(e){return e&&e.is_alias&&e.alias&&e.alias.name?`alias-row-`+String(e.alias.name).replace(/[^a-zA-Z0-9_-]+/g,`-`):``}function w4(e){return e?e.is_alias?!!(e.alias&&e.alias.managed):!!(e.access&&e.access.override&&e.access.override.managed||e.masking_alias&&e.masking_alias.managed):!1}function T4(e){return!!(e&&e.override)}function E4(e){return e?`table-action-btn-active`:``}function D4(e,t){let n=`Edit `+String(e||`model access`);return t?n+` (virtual model exists)`:n}function O4(){return{source:``,target_model:``,target_weight:1,targets:[],strategy:`round_robin`,user_paths:``,description:``,enabled:!0}}function k4(e){return String(e&&e.target_model||``).trim()!==``}function A4(e){return String(e&&e.target_model||``).trim()?!0:Z2(e&&e.targets).length>0}function j4(e){return!!e&&Array.isArray(e.targets)&&e.targets.length>0}function M4(e){return j4(e)&&String(e&&e.strategy||``).toLowerCase()!==`cost`}function N4(e){let t=Array.isArray(e.targets)?e.targets:[];if(t.length>0){let n=t.shift();e.target_model=n.model||``,e.target_weight=n.weight||1;return}e.target_model=``,e.target_weight=1}function P4(e){let t=Array.isArray(e&&e.targets)?e.targets:[];return t.length>0?{primaryModel:J2(t[0]),primaryWeight:t[0].weight||1,extraTargets:t.slice(1).map(e=>({model:J2(e),weight:e.weight||1}))}:{primaryModel:e&&e.target_provider?e.target_provider+`/`+e.target_model:e&&e.target_model||``,primaryWeight:1,extraTargets:[]}}function F4(e){return String(e||``).split(/\r?\n|,/).map(e=>String(e||``).trim()).filter(Boolean)}function I4(e,t,n){let r=String(e&&e.source||``).trim(),i=String(e&&e.target_model||``).trim(),a=Z2(e&&e.targets),o=A4(e),s=String(t||``).trim(),c=n===`edit`&&!!s&&r!==s,l={source:r,user_paths:F4(e&&e.user_paths),description:String(e&&e.description||``).trim(),enabled:!!(e&&e.enabled)};if(c&&(l.old_source=s),o){let t=[];if(i&&t.push(X2(i,e.target_weight)),t.push(...a),t.length>1){let n=e.strategy||`round_robin`;l.targets=n===`cost`?t.map(e=>({model:e.model})):t,l.strategy=n}else l.target_model=t[0].model}return{payload:l,source:r,isRedirect:o,isRename:c}}function L4(e){let t={source:e.name,description:String(e.description||``).trim(),user_paths:Array.isArray(e.user_paths)?e.user_paths:[],enabled:e.enabled===!1},n=Array.isArray(e.targets)?e.targets:[];return n.length>1?(t.strategy=e.strategy||`round_robin`,t.targets=t.strategy===`cost`?n.map(e=>({model:J2(e)})):n.map(e=>X2(J2(e),e.weight))):n.length===1?t.target_model=J2(n[0]):t.target_model=e.target_provider?e.target_provider+`/`+e.target_model:e.target_model,t}function R4(e,t,n){let r=n||{},i=r.effective_enabled===!1,a=t&&Array.isArray(t.user_paths)?t.user_paths:[],o=`PUT`,s;return i===!1?s={source:e,enabled:!1,user_paths:a}:t&&a.length===0&&r.default_enabled!==!1?(o=`DELETE`,s={source:e}):s={source:e,enabled:!0,user_paths:a},{method:o,payload:s,desired:i}}function z4(e,t,n){let r=Math.max(1,Number(t||75)),i=Math.min(n,e+r);return{limit:i,rendering:is4({models:RL.models,aliases:this.aliases,virtualModelsAvailable:this.virtualModelsAvailable,activeCategory:RL.activeCategory}));get displayModels(){return F(this.#T)}set displayModels(e){j(this.#T,e)}#E=k(()=>_4(this.displayModels,RL.models,this.modelOverrideViews));get displayModelGroups(){return F(this.#E)}set displayModelGroups(e){j(this.#E,e)}#D=k(()=>c4(this.displayModels,RL.filter));get filteredDisplayModels(){return F(this.#D)}set filteredDisplayModels(e){j(this.#D,e)}#O=k(()=>{let e=this.filteredDisplayModels,t=Math.max(0,Math.min(Number(this.modelRenderLimit||0),e.length));return!RL.filter&&t>=this.displayModels.length?this.displayModelGroups:_4(e.slice(0,t),RL.models,this.modelOverrideViews)});get filteredDisplayModelGroups(){return F(this.#O)}set filteredDisplayModelGroups(e){j(this.#O,e)}#k=k(()=>v4(RL.models,this.modelOverrideViews));get globalScopeRow(){return F(this.#k)}set globalScopeRow(e){j(this.#k,e)}modelsBusy(){return!!(RL.loading||this.modelsRendering)}modelLoadingText(){if(RL.loading)return this.displayModels.length>0?`Refreshing models...`:`Loading models...`;let e=this.filteredDisplayModels.length;return`Rendering models... `+Math.min(Number(this.modelRenderLimit||0),e)+` / `+e}restartModelRendering(e){let t=++this.#a,n=B4(this.modelRenderBatchSize,e);this.modelRenderLimit=n.limit,this.modelsRendering=n.rendering,n.rendering&&this.#A(t)}stopModelRendering(){this.#a++,this.modelsRendering=!1}#A(e){let t=()=>{if(e!==this.#a)return;let t=z4(this.modelRenderLimit,this.modelRenderBatchSize,this.filteredDisplayModels.length);this.modelRenderLimit=t.limit,this.modelsRendering=t.rendering,t.rendering&&this.#A(e)};typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>setTimeout(t,0)):setTimeout(t,0)}async fetchVirtualModels(){this.aliasLoading=!0,this.aliasError=``;try{let e=await rL(`/admin/virtual-models`,{label:`virtual models`});if(e.status===503){this.virtualModelsAvailable=!1,this.aliases=[],this.modelOverrideViews=[];return}if(e.stale)return;if(this.virtualModelsAvailable=!0,!e.ok){this.aliases=[],this.modelOverrideViews=[];return}let{aliases:t,policies:n}=e4(e.data);this.aliases=t,this.modelOverrideViews=n}catch(e){console.error(`Failed to fetch virtual models:`,e),this.aliases=[],this.modelOverrideViews=[],this.aliasError=`Unable to load virtual models.`}finally{this.aliasLoading=!1}}qualifiedModelName(e){return W2(e)}findModelOverrideView(e){return h4(this.modelOverrideViews,e)}hasGlobalModelOverride(){return!!this.findModelOverrideView(`/`)}findExistingAliasByName(e){let t=U2(e);if(!t)return null;for(let e of this.aliases)if(U2(e&&e.name)===t)return e;return null}findConcreteModelByName(e){let t=U2(e);if(!t)return null;for(let e of RL.models)if(K2(e).has(t))return e;return null}rowToggleEnabled(e){return e?e.is_alias?e.alias&&e.alias.enabled!==!1:!!(e.access&&e.access.effective_enabled!==!1):!1}rowToggleLabel(e){return this.rowTogglingKey&&this.rowTogglingKey===e.key?`Updating...`:this.rowToggleRestricted(e)?`Restricted`:this.rowToggleEnabled(e)?`Enabled`:`Disabled`}rowToggleRestricted(e){return!!e&&!e.is_alias&&a4(e.access,this.virtualModelsAvailable)===`is-restricted`}rowToggleAriaLabel(e){if(!e)return``;let t=this.rowToggleEnabled(e)?`Disable `:`Enable `,n;return n=e.is_alias?`alias `+String(e.alias&&e.alias.name||``):String(e.display_name||e.access&&e.access.selector||`model`),t+n.trim()}async toggleRowEnabled(e){if(this.virtualModelsAvailable&&!(!e||this.rowTogglingKey===e.key)){if(w4(e)){K.success(`This virtual model is managed by configuration and is read-only.`);return}if(e.is_alias){await this.toggleAliasRow(e);return}await this.toggleModelRow(e)}}async toggleAliasRow(e){let t=e.alias;if(!t||!t.name)return;this.rowTogglingKey=e.key;let n=L4(t);try{let e=await iL(`/admin/virtual-models`,`PUT`,n,{label:`alias state`});if(e.status===503){this.virtualModelsAvailable=!1,K.error(`Virtual models feature is unavailable.`);return}if(e.stale)return;if(!e.ok){K.error(e.status===401?`Authentication required.`:$I(e,`Failed to update alias state.`));return}K.success(n.enabled?`Alias enabled.`:`Alias disabled.`),this.fetchVirtualModels()}catch(e){console.error(`Failed to toggle alias state:`,e),K.error(`Failed to update alias state.`)}finally{this.rowTogglingKey=``}}async toggleModelRow(e){let t=y4(e);if(!t)return;let{method:n,payload:r,desired:i}=R4(t,this.findModelOverrideView(t),e.access||{});this.rowTogglingKey=e.key;try{let e=await iL(`/admin/virtual-models`,n,r,{label:`model access`});if(e.status===503){this.virtualModelsAvailable=!1,K.error(`Virtual models feature is unavailable.`);return}if(!(n===`DELETE`&&e.status===404)){if(e.stale)return;if(!e.ok){K.error(e.status===401?`Authentication required.`:$I(e,`Failed to update model access.`));return}}K.success(i?`Model enabled.`:`Model disabled.`),Promise.all([RL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to toggle model access:`,e),K.error(`Failed to update model access.`)}finally{this.rowTogglingKey=``}}async removeAliasRow(e){if(!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)||this.rowDeletingKey)return;let t=String(e.alias.name||``).trim();t&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the virtual model alias "`+t+`"?`,method:`DELETE`,payload:{source:t},operation:`virtual model`,failureMessage:`Failed to remove virtual model.`,notice:`Virtual model removed.`,ignoreNotFound:!0})}async removeRedirectRow(e){let t=e&&e.masking_alias;if(!(e&&!e.is_alias&&t&&t.name&&!t.managed)||this.rowDeletingKey)return;let n=String(t.name||``).trim();n&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the redirect for "`+n+`"? Other virtual model settings will be preserved.`,method:`PUT`,payload:{source:n,user_paths:Array.isArray(t.user_paths)?t.user_paths:[],description:String(t.description||``).trim(),enabled:t.enabled!==!1},operation:`virtual model redirect`,failureMessage:`Failed to remove redirect.`,notice:`Redirect removed. Other virtual model settings were preserved.`})}async mutateVirtualModelRow(e){if(!this.rowDeletingKey&&window.confirm(e.confirmMessage)){this.rowDeletingKey=e.rowKey;try{let t=await iL(`/admin/virtual-models`,e.method,e.payload,{label:e.operation});if(t.status===503){this.virtualModelsAvailable=!1,K.error(`Virtual models feature is unavailable.`);return}if(!(e.ignoreNotFound&&t.status===404)){if(t.stale)return;if(!t.ok){K.error(t.status===401?`Authentication required.`:$I(t,e.failureMessage));return}}this.virtualModelsAvailable=!0,K.success(e.notice),Promise.all([RL.fetchModels(),this.fetchVirtualModels()])}catch(t){console.error(e.failureMessage,t),K.error(e.failureMessage)}finally{this.rowDeletingKey=``}}}addVmTarget(){Array.isArray(this.vmForm.targets)||(this.vmForm.targets=[]),this.vmForm.targets.push({model:``,weight:1})}removeVmTarget(e){Array.isArray(this.vmForm.targets)&&this.vmForm.targets.splice(e,1)}removePrimaryTarget(){N4(this.vmForm)}vmFormHasPrimaryTarget(){return k4(this.vmForm)}vmFormShowStrategy(){return j4(this.vmForm)}vmFormShowWeights(){return M4(this.vmForm)}vmFormToggleRestricted(){return!!(this.vmForm&&this.vmForm.enabled)&&i4(F4(this.vmForm.user_paths))}vmFormToggleLabel(){return!this.vmForm||!this.vmForm.enabled?`Disabled`:this.vmFormToggleRestricted()?`Restricted`:`Enabled`}resetVirtualModelForm(){this.vmFormError=``,this.vmFormHelpOpen=!1,this.vmFormUserPathsHelpOpen=!1,this.vmSubmitting=!1,this.vmDeleting=!1,this.vmFormHasExisting=!1,this.vmFormDefaultEnabled=!0,this.vmFormEffectiveEnabled=!0,this.vmFormDisplayName=``,this.vmFormSourceLocked=!1,this.vmFormOriginalSource=``,this.vmFormManaged=!1,this.vmForm=O4()}closeVirtualModelForm(){this.vmFormOpen=!1,this.resetVirtualModelForm()}openVirtualModelCreate(e){this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`create`,this.vmFormSourceLocked=!1,this.vmFormDisplayName=`New virtual model`,e&&e.model&&e.model.id&&(this.vmForm.target_model=W2(e))}openVirtualModelEditAlias(e){if(!e)return;this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!1,this.vmFormHasExisting=!0,this.vmFormManaged=!!e.managed,this.vmFormOriginalSource=e.name||``,this.vmFormDisplayName=e.name||``,this.vmFormDefaultEnabled=m4(RL.models),this.vmFormEffectiveEnabled=e.enabled!==!1;let{primaryModel:t,primaryWeight:n,extraTargets:r}=P4(e);this.vmForm={source:e.name||``,target_model:t,target_weight:n,targets:r,strategy:e.strategy||`round_robin`,user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` + skip that limit. Token limits require usage tracking.

            `);function w2(e,t){D(t,!0);function n(){G.dialogOpen||Y.closeRateLimitForm()}hL(e,{get open(){return Y.rateLimitFormOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=C2(),r=M(n),i=M(r),a=M(i),o=M(a),s=M(o,!0);E(o),E(a),pL(N(a,2),{label:`Close rate limit editor`,onclick:()=>Y.closeRateLimitForm()}),E(i);var c=N(i,2),l=M(c),u=N(M(l),2);V(u,21,()=>Y.rateLimitScopeOptions(),e=>e.value,(e,t)=>{var n=v2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(u),E(l);var d=N(l,2),f=M(d),p=M(f,!0);E(f);var m=N(f,2);Qi(m),E(d);var h=N(d,2),g=N(M(h),2);V(g,21,()=>Y.rateLimitPeriodOptions(),e=>e.value,(e,t)=>{var n=v2(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(g),E(h);var _=N(h,2),v=e=>{var t=y2(),n=N(M(t),2);Qi(n),E(t),sa(n,()=>Y.rateLimitForm.period_seconds,e=>Y.rateLimitForm.period_seconds=e),R(e,t)};B(_,e=>{Y.rateLimitForm.period===`custom`&&e(v)});var y=N(_,2),b=M(y),x=M(b,!0);E(b);var S=N(b,2);Qi(S),E(y);var C=N(y,2),w=e=>{var t=b2(),n=N(M(t),2);Qi(n),E(t),sa(n,()=>Y.rateLimitForm.max_tokens,e=>Y.rateLimitForm.max_tokens=e),R(e,t)};B(C,e=>{Y.rateLimitForm.period!==`concurrent`&&e(w)}),E(c);var T=N(c,4),ee=e=>{R(e,x2())};B(T,e=>{Y.rateLimitEditing&&e(ee)});var te=N(T,2),ne=e=>{var t=S2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitFormError)),R(e,t)};B(te,e=>{Y.rateLimitFormError&&e(ne)});var re=N(te,2),ie=M(re),ae=N(ie,2),oe=M(ae);W(oe,{name:`save`,class:`form-action-icon`});var se=N(oe,2),ce=M(se,!0);E(se),E(ae),E(re),E(r),E(n),P((e,t)=>{z(s,Y.rateLimitEditing?`Edit Rate Limit`:`Create Rate Limit`),z(p,e),U(m,`placeholder`,t),U(m,`data-modal-autofocus`,!Y.rateLimitEditing||void 0),$i(m,Y.rateLimitForm.subject),z(x,Y.rateLimitForm.period===`concurrent`?`Max In-Flight Requests`:`Max Requests`),U(S,`data-modal-autofocus`,Y.rateLimitEditing?!0:void 0),ae.disabled=Y.rateLimitFormSubmitting,z(ce,Y.rateLimitFormSubmitting?`Saving...`:`Save Rate Limit`)},[()=>Y.rateLimitSubjectFieldLabel(),()=>Y.rateLimitSubjectPlaceholder()]),Hr(`submit`,r,e=>{e.preventDefault(),Y.submitRateLimitForm()}),I(`change`,u,()=>Y.syncRateLimitScope()),Vi(u,()=>Y.rateLimitForm.scope,e=>Y.rateLimitForm.scope=e),I(`input`,m,e=>Y.setRateLimitFormSubject(e.currentTarget.value)),I(`change`,g,()=>Y.syncRateLimitPeriodSeconds()),Vi(g,()=>Y.rateLimitForm.period,e=>Y.rateLimitForm.period=e),sa(S,()=>Y.rateLimitForm.max_requests,e=>Y.rateLimitForm.max_requests=e),I(`click`,ie,()=>Y.closeRateLimitForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`change`,`input`,`click`]);var T2=L(` `),E2=L(` Edit`,1),D2=L(` `,1),O2=L(`
            In-flight
            `),k2=L(`
            Requests
            `),A2=L(`
            Tokens
            `),j2=L(`
            `),M2=L(`
            `);function N2(e,t){D(t,!0);var n=M2();V(n,21,()=>t.rules,e=>Y.rateLimitKey(e),(e,t)=>{var n=j2(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=e=>{var n=T2(),r=M(n);{let e=k(()=>Y.rateLimitScope(F(t))===`provider`?`server`:`box`);W(r,{get name(){return F(e)},class:`budget-period-icon`})}var i=N(r,2),a=M(i,!0);E(i),E(n),P((e,t)=>{U(n,`title`,e),z(a,t)},[()=>`Rule scope: `+Y.rateLimitScopeLabel(F(t)),()=>Y.rateLimitScopeLabel(F(t))]),R(e,n)},u=k(()=>Y.rateLimitScope(F(t))!==`user_path`);B(c,e=>{F(u)&&e(l)});var d=N(c,2),f=M(d);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);W(f,{get name(){return F(e)},class:`budget-period-icon`})}var p=N(f,2),m=M(p,!0);E(p),E(d),E(s);var h=N(s,2),g=M(h),_=M(g),v=M(_,!0);E(_),E(g);var y=N(g,2),b=M(y),x=e=>{b1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitForm(F(t)),children:(e,t)=>{var n=E2();W(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},S=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(b,e=>{F(S)&&e(x)});var C=N(b,2);{let e=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting counters`:`Reset counters`),n=k(()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t)));b1(C,{get label(){return F(e)},class:`budget-action-btn budget-action-btn-warning`,onclick:()=>Y.resetRateLimit(F(t)),get disabled(){return F(n)},children:(e,n)=>{var r=D2(),i=Cn(r);W(i,{name:`rotate-ccw`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitResettingKey===Y.rateLimitKey(F(t))?`Resetting`:`Reset`]),R(e,r)},$$slots:{default:!0}})}var w=N(C,2),T=e=>{{let n=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting rate limit`:`Delete rate limit`),r=k(()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t)));b1(e,{get label(){return F(n)},class:`table-action-btn-danger budget-action-btn`,onclick:()=>Y.deleteRateLimit(F(t)),get disabled(){return F(r)},children:(e,n)=>{var r=D2(),i=Cn(r);W(i,{name:`trash-2`,class:`budget-action-icon`});var a=N(i,2),o=M(a,!0);E(a),P(e=>z(o,e),[()=>Y.rateLimitDeletingKey===Y.rateLimitKey(F(t))?`Deleting`:`Delete`]),R(e,r)},$$slots:{default:!0}})}},ee=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(w,e=>{F(ee)&&e(T)}),E(y),E(h),E(i);var te=N(i,2),ne=M(te),re=e=>{var n=O2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u),E(l),E(o),E(n),P((e,t,n,r,i,l)=>{z(a,e),U(o,`aria-valuenow`,t),U(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l)},[()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests),()=>`In-flight requests: `+Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).in_flight,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).in_flight)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` in flight`]),R(e,n)},ie=k(()=>Y.rateLimitIsConcurrent(F(t)));B(ne,e=>{F(ie)&&e(re)});var ae=N(ne,2),oe=e=>{var n=k2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),U(o,`aria-valuenow`,t),U(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests),()=>`Requests used: `+Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).requests_used,F(t).max_requests)>=100}),()=>Y.formatRateLimitNumber(F(t).requests_used)+` of `+Y.formatRateLimitNumber(F(t).max_requests)+` requests`,()=>Y.formatRateLimitNumber(F(t).requests_remaining)+` left`]),R(e,n)},se=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_requests);B(ae,e=>{F(se)&&e(oe)});var ce=N(ae,2),le=e=>{var n=A2(),r=M(n),i=N(M(r),2),a=M(i,!0);E(i),E(r);var o=N(r,2),s=M(o);let c;var l=N(s,2),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=M(f,!0);E(f),E(l),E(o),E(n),P((e,t,n,r,i,l,u)=>{z(a,e),U(o,`aria-valuenow`,t),U(o,`aria-label`,n),Ri(o,r),c=H(s,1,`budget-bar-fill budget-bar-fill-usage`,null,c,i),z(d,l),z(p,u)},[()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens),()=>`Tokens used: `+Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens),()=>`--budget-progress: `+Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)+`%`,()=>({"budget-bar-fill-danger":Y.rateLimitUsagePercent(F(t).tokens_used,F(t).max_tokens)>=100}),()=>Y.formatRateLimitNumber(F(t).tokens_used)+` of `+Y.formatRateLimitNumber(F(t).max_tokens)+` tokens`,()=>Y.formatRateLimitNumber(F(t).tokens_remaining)+` left`]),R(e,n)},ue=k(()=>!Y.rateLimitIsConcurrent(F(t))&&F(t).max_tokens);B(ce,e=>{F(ue)&&e(le)}),E(te),E(r),E(n),P((e,t,n,r,i)=>{U(a,`title`,e),z(o,t),z(m,n),U(_,`title`,r),z(v,i)},[()=>Y.rateLimitScopeLabel(F(t))+`: `+Y.rateLimitSubject(F(t)),()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n),O()}var P2=L(`

            Rate Limits

            `),F2=L(``),I2=L(`
            Rate limit management is unavailable.
            `),L2=L(``),R2=L(`
            `),z2=L(`

            No rate limits configured yet.

            `),B2=L(`

            No rate limits match your filter.

            `),V2=L(`
            `);function H2(e,t){D(t,!0),Nn(()=>{G.refreshTick,zI.page===`rate-limits`&&Y.fetchRateLimitsPage()});let n=k(()=>Y.filteredRateLimits());var r=V2(),i=M(r),a=M(i);mQ(M(a),{copyId:`rate-limits-help-copy`,label:`rate limits help`,text:`Rate limits cap requests, tokens, and in-flight concurrency for a user path subtree, a provider, or a model. Consumer (user path) breaches return 429 with Retry-After and x-ratelimit-* headers; saturated providers and models are skipped by load balancing and failover while capacity exists elsewhere. Counters are per gateway instance and reset on restart; token limits need usage tracking.`,title:e=>{R(e,P2())},$$slots:{title:!0}}),E(a);var o=N(a,2),s=M(o),c=e=>{var t=F2();W(M(t),{name:`plus`,class:`form-action-icon`}),We(2),E(t),P(()=>t.disabled=Y.rateLimitFormSubmitting),I(`click`,t,()=>Y.openRateLimitForm()),R(e,t)},l=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitsAvailable&&!G.authError);B(s,e=>{F(l)&&e(c)}),E(o),E(i);var u=N(i,2);BL(u,{});var d=N(u,2),f=e=>{R(e,I2())},p=k(()=>(!Y.rateLimitsEnabled()||!Y.rateLimitsAvailable)&&!G.authError);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{var t=L2(),n=M(t,!0);E(t),P(()=>z(n,Y.rateLimitError)),R(e,t)};B(m,e=>{Y.rateLimitError&&!G.authError&&e(h)});var g=N(m,2),_=e=>{v1(e,{label:`Loading rate limits...`})};B(g,e=>{Y.rateLimitsLoading&&!G.authError&&e(_)});var v=N(g,2),y=e=>{var t=R2(),n=M(t);w$(M(n),{id:`rate-limit-filter`,placeholder:`Filter by subject, scope, or period...`,label:`Filter rate limits by subject, scope, or period`,get value(){return Y.rateLimitFilter},set value(e){Y.rateLimitFilter=e}}),E(n),E(t),R(e,t)};B(v,e=>{(Y.rateLimits.length>0||Y.rateLimitFilter)&&Y.rateLimitsAvailable&&!G.authError&&!Y.rateLimitFormOpen&&e(y)});var b=N(v,2);w2(b,{});var x=N(b,2),S=e=>{N2(e,{get rules(){return F(n)}})};B(x,e=>{F(n).length>0&&Y.rateLimitsAvailable&&!G.authError&&e(S)});var C=N(x,2),w=e=>{R(e,z2())},T=k(()=>Y.rateLimits.length===0&&!Y.rateLimitFilter&&!Y.rateLimitsLoading&&!G.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{R(e,B2())},ne=k(()=>Y.rateLimits.length>0&&F(n).length===0&&Y.rateLimitFilter&&!Y.rateLimitsLoading&&!G.authError&&!Y.rateLimitError&&Y.rateLimitsAvailable&&Y.rateLimitsEnabled());B(ee,e=>{F(ne)&&e(te)}),E(r),R(e,r),O()}Ur([`click`]);function U2(e){return String(e||``).trim().toLowerCase()}function W2(e){if(!e)return``;let t=String(e.selector||``).trim();if(t)return t;if(!e.model||!e.model.id)return``;let n=String(e.model.id||``).trim(),r=String(e.provider_name||``).trim();if(r)return r+`/`+n;let i=String(e.provider_type||``).trim();return!i||n.includes(`/`)?n:i+`/`+n}function G2(e,t,n,r){let i=new Set,a=String(e||``).trim().toLowerCase(),o=String(t||``).trim().toLowerCase(),s=String(n||``).trim().toLowerCase(),c=String(r||``).trim().toLowerCase();if(c&&i.add(c),!a)return i;i.add(a),s&&i.add(s+`/`+a),o&&!a.includes(`/`)&&i.add(o+`/`+a);let l=a.split(`/`);return l.length===2&&l[1]&&i.add(l[1]),i}function K2(e){return G2(e&&e.model?e.model.id:``,e?e.provider_type:``,e?e.provider_name:``,e?e.selector:``)}function q2(e){let t=new Set,n=String(e.resolved_model||``).trim().toLowerCase(),r=String(e.target_model||``).trim().toLowerCase(),i=String(e.target_provider||``).trim().toLowerCase();if(n){t.add(n);let e=n.split(`/`);e.length===2&&e[1]&&t.add(e[1])}if(r){t.add(r);let e=r.split(`/`);e.length===2&&e[1]&&t.add(e[1])}return r&&i&&t.add(i+`/`+r),t}function J2(e){if(!e)return``;let t=String(e.provider||``).trim(),n=String(e.model||``).trim();return!t||!n||n===t||n.startsWith(t+`/`)?n:t+`/`+n}function Y2(e){if(e===``||e==null)return null;let t=Number(e);return!Number.isFinite(t)||t<=0?null:t}function X2(e,t){let n={model:e},r=Y2(t);return r!==null&&(n.weight=r),n}function Z2(e){let t=Array.isArray(e)?e:[],n=[];for(let e of t){let t=String(e&&e.model||``).trim();t&&n.push(X2(t,e&&e.weight))}return n}function Q2(e){switch(String(e||``).toLowerCase()){case`cost`:return`lowest cost`;case`round_robin`:case``:return`round robin`;default:return e}}function $2(e){let t=Array.isArray(e.targets)?e.targets:[],n=t.length>0?t[0]:{},r=t.map(e=>{let t={provider:e.provider||``,model:e.model||``};return e.weight&&(t.weight=e.weight),t});return{name:e.source,target_provider:n.provider||``,target_model:n.model||``,targets:r,strategy:e.strategy||``,description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,valid:!!e.valid,resolved_model:e.resolved_model||``,provider_type:e.provider_type||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[]}}function e4(e){let t=Array.isArray(e)?e:[],n=[],r=[];for(let e of t)!e||typeof e!=`object`||(e.kind===`redirect`?n.push($2(e)):e.kind===`policy`&&r.push({selector:e.source,provider_name:e.provider_name||``,model:e.model||``,user_paths:Array.isArray(e.user_paths)?e.user_paths:[],description:e.description||``,enabled:e.enabled!==!1,managed:!!e.managed,scope_kind:e.scope_kind||``}));return{aliases:n,policies:r}}function t4(e){if(!e)return`—`;let t=Array.isArray(e.targets)?e.targets:[];return t.length>1?t.length+` targets · `+Q2(e.strategy):e.resolved_model?e.resolved_model:e.target_provider?e.target_provider+`/`+e.target_model:e.target_model||`—`}function n4(e){return e?e.enabled===!1?`is-disabled`:e.valid?`is-valid`:`is-invalid`:`is-invalid`}function r4(e){return e?e.enabled===!1?`Disabled`:e.valid?`Active`:`Invalid`:`Invalid`}function i4(e){return Array.isArray(e)&&e.length>0&&e.indexOf(`/`)===-1}function a4(e,t){return!t||!e?``:e.effective_enabled===!1?`is-disabled`:i4(e.user_paths)?`is-restricted`:`is-enabled`}function o4(e){if(!e)return``;let t=[];e.effective_enabled===!1&&t.push(e.default_enabled===!1?`Disabled by default`:`Disabled`);let n=Array.isArray(e.user_paths)?e.user_paths:[];return n.length>0&&t.push(`Allowed for `+n.join(`, `)),t.join(` · `)}function s4({models:e,aliases:t,virtualModelsAvailable:n,activeCategory:r}){let i=Array.isArray(e)?e:[],a=Array.isArray(t)?t:[],o=new Map;if(n)for(let e of a){let t=U2(e&&e.name);!t||e.enabled===!1||!e.valid||o.set(t,e)}let s=new Map,c=i.map(e=>{let t=W2(e),n=null;for(let t of K2(e))s.has(t)||s.set(t,e),!n&&o.has(t)&&(n=o.get(t));let r=e&&e.access?e.access:null;return{key:`model:`+t,display_name:t,secondary_name:``,provider_name:e.provider_name||``,provider_type:e.provider_type||``,model:e.model,selector:e.selector||``,is_alias:!1,alias:null,access:r,masking_alias:n,has_virtual_model:!!(n||r&&r.override),alias_state_class:``,alias_state_text:``}});if(!n)return c;for(let e of a){let t=s.get(U2(e&&e.name));if(e&&e.enabled!==!1&&e.valid&&t)continue;let n=null;for(let t of q2(e))if(n=s.get(t)||null,n)break;!n&&r&&r!==`all`||c.push({key:`alias:`+e.name,display_name:e.name,secondary_name:t4(e),provider_name:n&&n.provider_name||``,provider_type:n?n.provider_type||e.provider_type||``:e.provider_type||``,model:n?n.model:{id:e.name,object:`model`},selector:``,is_alias:!0,alias:e,access:null,masking_alias:null,source_model_exists:!!t,has_virtual_model:!0,alias_state_class:n4(e),alias_state_text:r4(e)})}return c.sort((e,t)=>e.is_alias===t.is_alias?String(e.display_name||``).localeCompare(String(t.display_name||``)):e.is_alias?-1:1)}function c4(e,t){if(!t)return e;let n=String(t).toLowerCase();return e.filter(e=>[e.display_name,e.secondary_name,e.provider_name,e.provider_type,e.model&&e.model.owned_by,e.alias&&e.alias.description,e.alias&&e.alias_state_text,e.model&&e.model.metadata&&e.model.metadata.modes?e.model.metadata.modes.join(`,`):``,e.model&&e.model.metadata&&e.model.metadata.categories?e.model.metadata.categories.join(`,`):``].some(e=>String(e||``).toLowerCase().includes(n)))}function l4(e,t){return String(e||``).trim()||String(t||``).trim()||`Unassigned`}function u4(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return!r||r===n?``:r}function d4(e){let t=String(e||``).trim();return t?t+`/`:``}function f4(e){let t=Array.isArray(e)?e:[],n=t.filter(e=>e&&!e.is_alias).length,r=t.filter(e=>e&&e.is_alias).length,i=[];return n>0&&i.push(n+(n===1?` model`:` models`)),r>0&&i.push(r+(r===1?` alias`:` aliases`)),i.join(` · `)}function p4(e,t,n){let r=String(t||``).trim(),i=String(n||``).trim();for(let t of Array.isArray(e)?e:[]){let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim();if(!(r&&e!==r)&&!(!r&&i&&n!==i)&&t&&t.access)return t.access.default_enabled!==!1}return!0}function m4(e){for(let t of Array.isArray(e)?e:[])if(t&&t.access)return t.access.default_enabled!==!1;return!0}function h4(e,t){let n=String(t||``).trim();if(!n)return null;for(let t of Array.isArray(e)?e:[])if(String(t&&t.selector||``).trim()===n)return t;return null}function g4(e,t,n,r){let i=d4(t),a=r&&r.get(`/`)||null,o=i&&r&&r.get(i)||null,s=p4(e,t,n),c=o||a,l=c&&Array.isArray(c.user_paths)?Array.from(new Set(c.user_paths)).sort():[];return{selector:i,default_enabled:s,effective_enabled:c?c.enabled!==!1:s,user_paths:l,override:o}}function _4(e,t,n){if(!Array.isArray(e)||e.length===0)return[];let r=new Map;for(let e of Array.isArray(n)?n:[]){let t=String(e&&e.selector||``).trim();t&&r.set(t,e)}let i=[],a=new Map;for(let t of e){if(t&&t.is_alias){i.push(t);continue}let e=String(t&&t.provider_name||``).trim(),n=String(t&&t.provider_type||``).trim(),r=`provider-group:`+(e||n||`unassigned`);a.has(r)||a.set(r,{key:r,provider_name:e,provider_type:n,display_name:l4(e,n),type_label:u4(e,n),rows:[]});let o=a.get(r);!o.provider_name&&e&&(o.provider_name=e),!o.provider_type&&n&&(o.provider_type=n),o.display_name=l4(o.provider_name,o.provider_type),o.type_label=u4(o.provider_name,o.provider_type),o.rows.push(t)}let o=Array.from(a.values()).map(e=>{let n=g4(t,e.provider_name,e.provider_type,r);return{...e,access:n,access_summary:o4(n),item_count_label:f4(e.rows)}}).sort((e,t)=>String(e.display_name||``).localeCompare(String(t.display_name||``)));return i.length>0&&o.unshift({key:`virtual-model-group`,is_virtual_models:!0,provider_name:``,provider_type:``,display_name:`Virtual models`,type_label:``,rows:i,access:{selector:``},access_summary:``,item_count_label:f4(i)}),o}function v4(e,t){let n=h4(t,`/`),r=m4(e),i=n&&Array.isArray(n.user_paths)?n.user_paths:[];return{key:`scope-global`,is_alias:!1,display_name:`all providers and models`,access:{selector:`/`,default_enabled:r,effective_enabled:n?n.enabled!==!1:r,user_paths:i,override:n}}}function y4(e){return e?String(e.access&&e.access.selector||``).trim()||String(e.override_selector||``).trim()||W2(e):``}function b4(e){if(!e)return``;let t=[];return e.is_alias?t.push(`alias-row`,n4(e.alias)):e.has_virtual_model&&t.push(`alias-row`,`is-valid`),!e.is_alias&&e.masking_alias&&t.push(`masked-model-row`),!e.is_alias&&e.access&&e.access.effective_enabled===!1&&t.push(`model-access-disabled-row`),t.join(` `)}function x4(e){return!!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)}function S4(e){return!!(e&&!e.is_alias&&e.masking_alias&&e.masking_alias.name&&!e.masking_alias.managed)}function C4(e){return e&&e.is_alias&&e.alias&&e.alias.name?`alias-row-`+String(e.alias.name).replace(/[^a-zA-Z0-9_-]+/g,`-`):``}function w4(e){return e?e.is_alias?!!(e.alias&&e.alias.managed):!!(e.access&&e.access.override&&e.access.override.managed||e.masking_alias&&e.masking_alias.managed):!1}function T4(e){return!!(e&&e.override)}function E4(e){return e?`table-action-btn-active`:``}function D4(e,t){let n=`Edit `+String(e||`model access`);return t?n+` (virtual model exists)`:n}function O4(){return{source:``,target_model:``,target_weight:1,targets:[],strategy:`round_robin`,user_paths:``,description:``,enabled:!0}}function k4(e){return String(e&&e.target_model||``).trim()!==``}function A4(e){return String(e&&e.target_model||``).trim()?!0:Z2(e&&e.targets).length>0}function j4(e){return!!e&&Array.isArray(e.targets)&&e.targets.length>0}function M4(e){return j4(e)&&String(e&&e.strategy||``).toLowerCase()!==`cost`}function N4(e){let t=Array.isArray(e.targets)?e.targets:[];if(t.length>0){let n=t.shift();e.target_model=n.model||``,e.target_weight=n.weight||1;return}e.target_model=``,e.target_weight=1}function P4(e){let t=Array.isArray(e&&e.targets)?e.targets:[];return t.length>0?{primaryModel:J2(t[0]),primaryWeight:t[0].weight||1,extraTargets:t.slice(1).map(e=>({model:J2(e),weight:e.weight||1}))}:{primaryModel:e&&e.target_provider?e.target_provider+`/`+e.target_model:e&&e.target_model||``,primaryWeight:1,extraTargets:[]}}function F4(e){return String(e||``).split(/\r?\n|,/).map(e=>String(e||``).trim()).filter(Boolean)}function I4(e,t,n){let r=String(e&&e.source||``).trim(),i=String(e&&e.target_model||``).trim(),a=Z2(e&&e.targets),o=A4(e),s=String(t||``).trim(),c=n===`edit`&&!!s&&r!==s,l={source:r,user_paths:F4(e&&e.user_paths),description:String(e&&e.description||``).trim(),enabled:!!(e&&e.enabled)};if(c&&(l.old_source=s),o){let t=[];if(i&&t.push(X2(i,e.target_weight)),t.push(...a),t.length>1){let n=e.strategy||`round_robin`;l.targets=n===`cost`?t.map(e=>({model:e.model})):t,l.strategy=n}else l.target_model=t[0].model}return{payload:l,source:r,isRedirect:o,isRename:c}}function L4(e){let t={source:e.name,description:String(e.description||``).trim(),user_paths:Array.isArray(e.user_paths)?e.user_paths:[],enabled:e.enabled===!1},n=Array.isArray(e.targets)?e.targets:[];return n.length>1?(t.strategy=e.strategy||`round_robin`,t.targets=t.strategy===`cost`?n.map(e=>({model:J2(e)})):n.map(e=>X2(J2(e),e.weight))):n.length===1?t.target_model=J2(n[0]):t.target_model=e.target_provider?e.target_provider+`/`+e.target_model:e.target_model,t}function R4(e,t,n){let r=n||{},i=r.effective_enabled===!1,a=t&&Array.isArray(t.user_paths)?t.user_paths:[],o=`PUT`,s;return i===!1?s={source:e,enabled:!1,user_paths:a}:t&&a.length===0&&r.default_enabled!==!1?(o=`DELETE`,s={source:e}):s={source:e,enabled:!0,user_paths:a},{method:o,payload:s,desired:i}}function z4(e,t,n){let r=Math.max(1,Number(t||75)),i=Math.min(n,e+r);return{limit:i,rendering:is4({models:RL.models,aliases:this.aliases,virtualModelsAvailable:this.virtualModelsAvailable,activeCategory:RL.activeCategory}));get displayModels(){return F(this.#T)}set displayModels(e){j(this.#T,e)}#E=k(()=>_4(this.displayModels,RL.models,this.modelOverrideViews));get displayModelGroups(){return F(this.#E)}set displayModelGroups(e){j(this.#E,e)}#D=k(()=>c4(this.displayModels,RL.filter));get filteredDisplayModels(){return F(this.#D)}set filteredDisplayModels(e){j(this.#D,e)}#O=k(()=>{let e=this.filteredDisplayModels,t=Math.max(0,Math.min(Number(this.modelRenderLimit||0),e.length));return!RL.filter&&t>=this.displayModels.length?this.displayModelGroups:_4(e.slice(0,t),RL.models,this.modelOverrideViews)});get filteredDisplayModelGroups(){return F(this.#O)}set filteredDisplayModelGroups(e){j(this.#O,e)}#k=k(()=>v4(RL.models,this.modelOverrideViews));get globalScopeRow(){return F(this.#k)}set globalScopeRow(e){j(this.#k,e)}modelsBusy(){return!!(RL.loading||this.modelsRendering)}modelLoadingText(){if(RL.loading)return this.displayModels.length>0?`Refreshing models...`:`Loading models...`;let e=this.filteredDisplayModels.length;return`Rendering models... `+Math.min(Number(this.modelRenderLimit||0),e)+` / `+e}restartModelRendering(e){let t=++this.#a,n=B4(this.modelRenderBatchSize,e);this.modelRenderLimit=n.limit,this.modelsRendering=n.rendering,n.rendering&&this.#A(t)}stopModelRendering(){this.#a++,this.modelsRendering=!1}#A(e){let t=()=>{if(e!==this.#a)return;let t=z4(this.modelRenderLimit,this.modelRenderBatchSize,this.filteredDisplayModels.length);this.modelRenderLimit=t.limit,this.modelsRendering=t.rendering,t.rendering&&this.#A(e)};typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>setTimeout(t,0)):setTimeout(t,0)}async fetchVirtualModels(){this.aliasLoading=!0,this.aliasError=``;try{let e=await rL(`/admin/virtual-models`,{label:`virtual models`});if(e.status===503){this.virtualModelsAvailable=!1,this.aliases=[],this.modelOverrideViews=[];return}if(e.stale)return;if(this.virtualModelsAvailable=!0,!e.ok){this.aliases=[],this.modelOverrideViews=[];return}let{aliases:t,policies:n}=e4(e.data);this.aliases=t,this.modelOverrideViews=n}catch(e){console.error(`Failed to fetch virtual models:`,e),this.aliases=[],this.modelOverrideViews=[],this.aliasError=`Unable to load virtual models.`}finally{this.aliasLoading=!1}}qualifiedModelName(e){return W2(e)}findModelOverrideView(e){return h4(this.modelOverrideViews,e)}hasGlobalModelOverride(){return!!this.findModelOverrideView(`/`)}findExistingAliasByName(e){let t=U2(e);if(!t)return null;for(let e of this.aliases)if(U2(e&&e.name)===t)return e;return null}findConcreteModelByName(e){let t=U2(e);if(!t)return null;for(let e of RL.models)if(K2(e).has(t))return e;return null}rowToggleEnabled(e){return e?e.is_alias?e.alias&&e.alias.enabled!==!1:!!(e.access&&e.access.effective_enabled!==!1):!1}rowToggleLabel(e){return this.rowTogglingKey&&this.rowTogglingKey===e.key?`Updating...`:this.rowToggleRestricted(e)?`Restricted`:this.rowToggleEnabled(e)?`Enabled`:`Disabled`}rowToggleRestricted(e){return!!e&&!e.is_alias&&a4(e.access,this.virtualModelsAvailable)===`is-restricted`}rowToggleAriaLabel(e){if(!e)return``;let t=this.rowToggleEnabled(e)?`Disable `:`Enable `,n;return n=e.is_alias?`alias `+String(e.alias&&e.alias.name||``):String(e.display_name||e.access&&e.access.selector||`model`),t+n.trim()}async toggleRowEnabled(e){if(this.virtualModelsAvailable&&!(!e||this.rowTogglingKey===e.key)){if(w4(e)){K.success(`This virtual model is managed by configuration and is read-only.`);return}if(e.is_alias){await this.toggleAliasRow(e);return}await this.toggleModelRow(e)}}async toggleAliasRow(e){let t=e.alias;if(!t||!t.name)return;this.rowTogglingKey=e.key;let n=L4(t);try{let e=await iL(`/admin/virtual-models`,`PUT`,n,{label:`alias state`});if(e.status===503){this.virtualModelsAvailable=!1,K.error(`Virtual models feature is unavailable.`);return}if(e.stale)return;if(!e.ok){K.error(e.status===401?`Authentication required.`:$I(e,`Failed to update alias state.`));return}K.success(n.enabled?`Alias enabled.`:`Alias disabled.`),this.fetchVirtualModels()}catch(e){console.error(`Failed to toggle alias state:`,e),K.error(`Failed to update alias state.`)}finally{this.rowTogglingKey=``}}async toggleModelRow(e){let t=y4(e);if(!t)return;let{method:n,payload:r,desired:i}=R4(t,this.findModelOverrideView(t),e.access||{});this.rowTogglingKey=e.key;try{let e=await iL(`/admin/virtual-models`,n,r,{label:`model access`});if(e.status===503){this.virtualModelsAvailable=!1,K.error(`Virtual models feature is unavailable.`);return}if(!(n===`DELETE`&&e.status===404)){if(e.stale)return;if(!e.ok){K.error(e.status===401?`Authentication required.`:$I(e,`Failed to update model access.`));return}}K.success(i?`Model enabled.`:`Model disabled.`),Promise.all([RL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to toggle model access:`,e),K.error(`Failed to update model access.`)}finally{this.rowTogglingKey=``}}async removeAliasRow(e){if(!(e&&e.is_alias&&e.alias&&e.alias.name&&!e.alias.managed)||this.rowDeletingKey)return;let t=String(e.alias.name||``).trim();t&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the virtual model alias "`+t+`"?`,method:`DELETE`,payload:{source:t},operation:`virtual model`,failureMessage:`Failed to remove virtual model.`,notice:`Virtual model removed.`,ignoreNotFound:!0})}async removeRedirectRow(e){let t=e&&e.masking_alias;if(!(e&&!e.is_alias&&t&&t.name&&!t.managed)||this.rowDeletingKey)return;let n=String(t.name||``).trim();n&&await this.mutateVirtualModelRow({rowKey:e.key,confirmMessage:`Remove the redirect for "`+n+`"? Other virtual model settings will be preserved.`,method:`PUT`,payload:{source:n,user_paths:Array.isArray(t.user_paths)?t.user_paths:[],description:String(t.description||``).trim(),enabled:t.enabled!==!1},operation:`virtual model redirect`,failureMessage:`Failed to remove redirect.`,notice:`Redirect removed. Other virtual model settings were preserved.`})}async mutateVirtualModelRow(e){if(!this.rowDeletingKey&&window.confirm(e.confirmMessage)){this.rowDeletingKey=e.rowKey;try{let t=await iL(`/admin/virtual-models`,e.method,e.payload,{label:e.operation});if(t.status===503){this.virtualModelsAvailable=!1,K.error(`Virtual models feature is unavailable.`);return}if(!(e.ignoreNotFound&&t.status===404)){if(t.stale)return;if(!t.ok){K.error(t.status===401?`Authentication required.`:$I(t,e.failureMessage));return}}this.virtualModelsAvailable=!0,K.success(e.notice),Promise.all([RL.fetchModels(),this.fetchVirtualModels()])}catch(t){console.error(e.failureMessage,t),K.error(e.failureMessage)}finally{this.rowDeletingKey=``}}}addVmTarget(){Array.isArray(this.vmForm.targets)||(this.vmForm.targets=[]),this.vmForm.targets.push({model:``,weight:1})}removeVmTarget(e){Array.isArray(this.vmForm.targets)&&this.vmForm.targets.splice(e,1)}removePrimaryTarget(){N4(this.vmForm)}vmFormHasPrimaryTarget(){return k4(this.vmForm)}vmFormShowStrategy(){return j4(this.vmForm)}vmFormShowWeights(){return M4(this.vmForm)}vmFormToggleRestricted(){return!!(this.vmForm&&this.vmForm.enabled)&&i4(F4(this.vmForm.user_paths))}vmFormToggleLabel(){return!this.vmForm||!this.vmForm.enabled?`Disabled`:this.vmFormToggleRestricted()?`Restricted`:`Enabled`}resetVirtualModelForm(){this.vmFormError=``,this.vmFormHelpOpen=!1,this.vmFormUserPathsHelpOpen=!1,this.vmSubmitting=!1,this.vmDeleting=!1,this.vmFormHasExisting=!1,this.vmFormDefaultEnabled=!0,this.vmFormEffectiveEnabled=!0,this.vmFormDisplayName=``,this.vmFormSourceLocked=!1,this.vmFormOriginalSource=``,this.vmFormManaged=!1,this.vmForm=O4()}closeVirtualModelForm(){this.vmFormOpen=!1,this.resetVirtualModelForm()}openVirtualModelCreate(e){this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`create`,this.vmFormSourceLocked=!1,this.vmFormDisplayName=`New virtual model`,e&&e.model&&e.model.id&&(this.vmForm.target_model=W2(e))}openVirtualModelEditAlias(e){if(!e)return;this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!1,this.vmFormHasExisting=!0,this.vmFormManaged=!!e.managed,this.vmFormOriginalSource=e.name||``,this.vmFormDisplayName=e.name||``,this.vmFormDefaultEnabled=m4(RL.models),this.vmFormEffectiveEnabled=e.enabled!==!1;let{primaryModel:t,primaryWeight:n,extraTargets:r}=P4(e);this.vmForm={source:e.name||``,target_model:t,target_weight:n,targets:r,strategy:e.strategy||`round_robin`,user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` `),description:e.description||``,enabled:e.enabled!==!1}}openVirtualModelEditModel(e){if(!e||e.is_alias)return;let t=e.access||{},n=t.override||null,r=n&&Array.isArray(n.user_paths)?n.user_paths:Array.isArray(t.user_paths)?t.user_paths:[],i=y4(e);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!n,this.vmFormOriginalSource=i;let a=n?n.enabled!==!1:t.effective_enabled!==!1;this.vmFormDefaultEnabled=t.default_enabled!==!1,this.vmFormEffectiveEnabled=a,this.vmFormManaged=!!(n&&n.managed),this.vmFormDisplayName=e.access_display_name||e.display_name||i||``,this.vmForm={source:i,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:r.join(` `),description:n&&n.description?n.description:``,enabled:a}}openGlobalModelOverrideEdit(){let e=this.findModelOverrideView(`/`),t=e&&Array.isArray(e.user_paths)?e.user_paths:[],n=m4(RL.models);this.resetVirtualModelForm(),this.vmFormOpen=!0,this.vmFormMode=`edit`,this.vmFormSourceLocked=!0,this.vmFormHasExisting=!!e,this.vmFormOriginalSource=`/`,this.vmFormDefaultEnabled=n,this.vmFormEffectiveEnabled=e?e.enabled!==!1:n,this.vmFormManaged=!!(e&&e.managed),this.vmFormDisplayName=`All providers and models`,this.vmForm={source:`/`,target_model:``,target_weight:``,targets:[],strategy:`round_robin`,user_paths:t.join(` `),description:e&&e.description?e.description:``,enabled:e?e.enabled!==!1:n}}openProviderOverrideEdit(e){!e||!e.access||!e.access.selector||this.openVirtualModelEditModel({display_name:e.display_name,access_display_name:`All models in `+e.display_name,provider_name:e.provider_name,provider_type:e.provider_type,access:e.access,override_selector:e.access.selector,is_alias:!1})}async submitVirtualModelForm(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be edited here.`;return}let{payload:e,source:t,isRedirect:n,isRename:r}=I4(this.vmForm,this.vmFormOriginalSource,this.vmFormMode);if(!t){this.vmFormError=`Source is required.`;return}if(this.vmFormError=``,this.vmFormMode!==`edit`){let e=this.findExistingAliasByName(t),r=e?null:this.findModelOverrideView(t);if(e||r){let n=e?`A virtual model named "`+e.name+`" already exists. Saving will update that virtual model. Continue?`:`An access policy for "`+t+`" already exists. Saving will update that virtual model. Continue?`;if(!window.confirm(n)){this.vmFormError=`Choose a different source or edit the existing virtual model.`;return}}else if(n){let e=this.findConcreteModelByName(t);if(e){let t=W2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Creating this alias will mask that model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}else if(r){let e=(this.aliases||[]).find(e=>e&&e.name===t)||null,r=e?null:this.findModelOverrideView(t);if(e||r){this.vmFormError=`A virtual model for "`+t+`" already exists. Choose a different source.`;return}if(n){let e=this.findConcreteModelByName(t);if(e){let t=W2(e)||String(e.model&&e.model.id||``).trim();if(!window.confirm(`A model named "`+t+`" already exists. Renaming to that name will mask the model in the list. Continue?`)){this.vmFormError=`Choose a different source to avoid masking an existing model.`;return}}}}this.vmSubmitting=!0;try{let t=await iL(`/admin/virtual-models`,`PUT`,e,{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:$I(t,`Failed to save virtual model.`);return}let r=!n&&t.status===204;this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),K.success(n?`Alias saved.`:r?`Model access reset to inherited/default.`:`Model access saved.`),Promise.all([RL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to save virtual model:`,e),this.vmFormError=`Failed to save virtual model.`}finally{this.vmSubmitting=!1}}async deleteVirtualModel(){if(this.vmFormManaged){this.vmFormError=`This virtual model is managed by configuration and cannot be removed here.`;return}let e=String(this.vmForm.source||this.vmFormOriginalSource||``).trim();if(!(!e||!this.vmFormHasExisting)&&window.confirm(`Remove the virtual model for "`+e+`"? This reverts to inherited/default behavior.`)){this.vmDeleting=!0,this.vmFormError=``;try{let t=await iL(`/admin/virtual-models`,`DELETE`,{source:e},{label:`virtual model`});if(t.status===503){this.virtualModelsAvailable=!1,this.vmFormError=`Virtual models feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.vmFormError=t.status===401?`Authentication required.`:$I(t,`Failed to remove virtual model.`);return}}this.virtualModelsAvailable=!0,this.closeVirtualModelForm(),K.success(`Virtual model removed.`),Promise.all([RL.fetchModels(),this.fetchVirtualModels()])}catch(e){console.error(`Failed to delete virtual model:`,e),this.vmFormError=`Failed to remove virtual model.`}finally{this.vmDeleting=!1}}}},H4=[{value:`input_per_mtok`,label:`Input $/MTok`,group:`Tokens`},{value:`output_per_mtok`,label:`Output $/MTok`,group:`Tokens`},{value:`cached_input_per_mtok`,label:`Cached input $/MTok`,group:`Tokens`},{value:`cache_write_per_mtok`,label:`Cache write $/MTok`,group:`Tokens`},{value:`reasoning_output_per_mtok`,label:`Reasoning output $/MTok`,group:`Tokens`},{value:`batch_input_per_mtok`,label:`Batch input $/MTok`,group:`Batch`},{value:`batch_output_per_mtok`,label:`Batch output $/MTok`,group:`Batch`},{value:`audio_input_per_mtok`,label:`Audio input $/MTok`,group:`Audio`},{value:`audio_output_per_mtok`,label:`Audio output $/MTok`,group:`Audio`},{value:`per_image`,label:`$/Image`,group:`Image`},{value:`input_per_image`,label:`Input $/Image`,group:`Image`},{value:`per_second_input`,label:`Input $/Second`,group:`Audio/Video`},{value:`per_second_output`,label:`Output $/Second`,group:`Video`},{value:`per_character_input`,label:`$/Character`,group:`Audio`},{value:`per_page`,label:`$/Page`,group:`Utility`},{value:`per_request`,label:`$/Request`,group:`Utility`}];function U4(e){let t=H4.find(t=>t.value===e);return t?t.label:String(e||``).replace(/_/g,` `)}function W4(e){return e&&typeof e==`object`?JSON.parse(JSON.stringify(e)):{}}function G4(e,t){let n=W4(e),r=t&&t.pricing?t.pricing:t;if(!r||typeof r!=`object`)return n;for(let e of H4)r[e.value]!==null&&r[e.value]!==void 0&&(n[e.value]=Number(r[e.value]));return Array.isArray(r.tiers)&&r.tiers.length>0&&(n.tiers=W4(r.tiers)),n}function K4(e){switch(String(e||``).trim()){case`config_yaml`:return`config.yaml`;case`model_registry`:return`Model registry`;default:return e?String(e):`Unknown`}}function q4(e){let t=e&&e.pricing?e.pricing:{},n=e&&e.pricing_sources&&typeof e.pricing_sources==`object`?e.pricing_sources:{},r={};for(let e of H4)t[e.value]!==null&&t[e.value]!==void 0&&(r[e.value]=K4(n[e.value]||`model_registry`));return r}function J4(e){let t=String(e&&e.selector||``).trim();return t?`Dashboard/API override (`+t+`)`:`Dashboard/API override`}function Y4(e){let t=String(e||``).trim();return t?t+`/`:``}function X4(e){return String(e&&e.model&&e.model.id||``).trim()}function Z4(e){let t=String(e&&e.provider_name||``).trim(),n=X4(e);return t&&n?t+`/`+n:n}function Q4(e){return X4(e)}function $4(e){let t=new Map;for(let n of Array.isArray(e)?e:[]){let e=String(n&&n.selector||``).trim();e&&t.set(e,n)}return t}function e3(e,t){let n=String(t||``).trim();return n&&$4(e).get(n)||null}function t3(e,t,n){let r=$4(e),i=Z4(t),a=Q4(t),o=Y4(t&&t.provider_name),s=String(n||``).trim();for(let e of[i,a,o,`/`]){if(!e||e===s)continue;let t=r.get(e);if(t)return t}return null}function n3(e,t,n){let r=e&&e.model&&e.model.metadata?e.model.metadata:null,i=W4(r&&r.pricing),a=q4(r),o=t3(t,e,n),s=o&&o.pricing?o.pricing:null;if(s){let e=J4(o);for(let t of H4)s[t.value]!==null&&s[t.value]!==void 0&&(i[t.value]=Number(s[t.value]),a[t.value]=e);Array.isArray(s.tiers)&&s.tiers.length>0&&(i.tiers=W4(s.tiers),a.tiers=e)}return{pricing:i,sources:a}}function r3(e,t){let n=e&&e.pricing?e.pricing:{},r=[];for(let e of H4)n[e.value]!==null&&n[e.value]!==void 0&&r.push({id:t(),field:e.value,value:String(n[e.value])});return r}function i3(e,t){let n=new Set;for(let r of Array.isArray(e)?e:[]){if(t&&r.id===t)continue;let e=String(r.field||``).trim();e&&n.add(e)}return n}function a3(e,t){let n=i3(e,t&&t.id);return H4.filter(e=>e.value===(t&&t.field)||!n.has(e.value))}function o3(e,t){let n={},r=new Set;for(let t of Array.isArray(e)?e:[]){let e=String(t.field||``).trim();if(!e)return{error:`Choose a price type for every row.`};if(r.has(e))return{error:`Each price type can only be used once.`};r.add(e);let i=String(t.value||``).trim();if(i===``)return{error:`Enter a value for `+U4(e)+`.`};let a=Number(i);if(!Number.isFinite(a)||a<0)return{error:`Pricing values must be numbers greater than or equal to 0.`};n[e]=a}let i=Array.isArray(t)?t:[];return i.length>0&&(n.tiers=W4(i)),Object.keys(n).length===0?{error:`Add at least one pricing field before saving.`}:{pricing:n}}function s3(e,t,n){let r=e||{},i=t||{},a=n||{},o=G4(r,a);return H4.map(e=>{let t=a[e.value]!==null&&a[e.value]!==void 0,n=r[e.value]!==null&&r[e.value]!==void 0;return{field:e.value,label:e.label,value:o[e.value],source:t?`Form/API value`:n?i[e.value]||`Model registry`:`Unset`}}).filter(e=>e.source!==`Unset`||e.value!==void 0)}var c3=new class{#e=A(!0);get modelPricingOverridesAvailable(){return F(this.#e)}set modelPricingOverridesAvailable(e){j(this.#e,e,!0)}#t=A(fn([]));get modelPricingOverrideViews(){return F(this.#t)}set modelPricingOverrideViews(e){j(this.#t,e,!0)}#n=A(``);get modelPricingOverrideError(){return F(this.#n)}set modelPricingOverrideError(e){j(this.#n,e,!0)}#r=A(!1);get modelPricingOverrideFormOpen(){return F(this.#r)}set modelPricingOverrideFormOpen(e){j(this.#r,e,!0)}#i=A(!1);get modelPricingOverrideSubmitting(){return F(this.#i)}set modelPricingOverrideSubmitting(e){j(this.#i,e,!0)}#a=A(!1);get modelPricingOverrideFormHasExistingOverride(){return F(this.#a)}set modelPricingOverrideFormHasExistingOverride(e){j(this.#a,e,!0)}#o=A(``);get modelPricingOverrideFormDisplayName(){return F(this.#o)}set modelPricingOverrideFormDisplayName(e){j(this.#o,e,!0)}#s=A(``);get modelPricingOverrideFormScope(){return F(this.#s)}set modelPricingOverrideFormScope(e){j(this.#s,e,!0)}#c=A(fn([]));get modelPricingOverrideFormScopeOptions(){return F(this.#c)}set modelPricingOverrideFormScopeOptions(e){j(this.#c,e,!0)}#l=A(null);get modelPricingOverrideFormRow(){return F(this.#l)}set modelPricingOverrideFormRow(e){j(this.#l,e,!0)}#u=A(null);get modelPricingOverrideFormBasePricing(){return F(this.#u)}set modelPricingOverrideFormBasePricing(e){j(this.#u,e,!0)}#d=A(null);get modelPricingOverrideFormBasePricingSources(){return F(this.#d)}set modelPricingOverrideFormBasePricingSources(e){j(this.#d,e,!0)}#f=A(fn([]));get modelPricingOverrideFormPreservedTiers(){return F(this.#f)}set modelPricingOverrideFormPreservedTiers(e){j(this.#f,e,!0)}#p=A(fn([]));get modelPricingOverrideRows(){return F(this.#p)}set modelPricingOverrideRows(e){j(this.#p,e,!0)}#m=A(fn({selector:``}));get modelPricingOverrideForm(){return F(this.#m)}set modelPricingOverrideForm(e){j(this.#m,e,!0)}_modelPricingOverrideRowID=0;pricingFieldOptions(){return H4}pricingFieldLabel(e){return U4(e)}async fetchModelPricingOverrides(){this.modelPricingOverrideError=``;try{let e=await rL(`/admin/model-pricing-overrides`,{label:`model pricing overrides`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideViews=[];return}if(e.stale)return;if(this.modelPricingOverridesAvailable=!0,!e.ok){this.modelPricingOverrideViews=[];return}this.modelPricingOverrideViews=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch model pricing overrides:`,e),this.modelPricingOverrideViews=[],this.modelPricingOverrideError=`Unable to load model pricing overrides.`}}findModelPricingOverrideView(e){return e3(this.modelPricingOverrideViews,e)}hasGlobalPricingOverride(){return!!this.findModelPricingOverrideView(`/`)}hasProviderPricingOverride(e){return!!this.findModelPricingOverrideView(Y4(e&&e.provider_name))}hasModelPricingOverride(e){return!!this.findModelPricingOverrideView(Z4(e))}modelPricingButtonClass(e){return e?`table-action-btn-active`:``}modelPricingButtonLabel(e,t){let n=`Edit `+String(e||`model pricing`);return t?n+` (override exists)`:n}modelRowPricing(e){return n3(e,this.modelPricingOverrideViews).pricing}openGlobalPricingOverrideEdit(){this.openModelPricingOverrideForm({displayName:`All providers and models`,selector:`/`,scope:`global`,scopeOptions:[{value:`global`,label:`All providers and models`,selector:`/`}],row:null})}openProviderPricingOverrideEdit(e){let t=Y4(e&&e.provider_name);t&&this.openModelPricingOverrideForm({displayName:`All models in `+(e.display_name||e.provider_name||t),selector:t,scope:`provider`,scopeOptions:[{value:`provider`,label:`Provider`,selector:t}],row:null})}openModelPricingOverrideEdit(e){if(!e||e.is_alias)return;let t=Z4(e),n=Q4(e),r=[{value:`exact`,label:`This provider and model`,selector:t}];n&&n!==t&&r.push({value:`model`,label:`This model across providers`,selector:n}),this.openModelPricingOverrideForm({displayName:e.display_name||t,selector:t,scope:`exact`,scopeOptions:r,row:e})}openModelPricingOverrideForm(e){let t=e||{};this.modelPricingOverrideFormOpen=!0,this.modelPricingOverrideError=``,this.modelPricingOverrideFormDisplayName=t.displayName||t.selector||`Pricing`,this.modelPricingOverrideFormScope=t.scope||``,this.modelPricingOverrideFormScopeOptions=Array.isArray(t.scopeOptions)?t.scopeOptions:[],this.modelPricingOverrideFormRow=t.row||null,this.modelPricingOverrideForm={selector:t.selector||``},this.loadModelPricingOverrideFormSelector(t.selector||``)}loadModelPricingOverrideFormSelector(e){e=String(e||``).trim();let t=this.findModelPricingOverrideView(e);this.modelPricingOverrideFormHasExistingOverride=!!t,this.modelPricingOverrideRows=r3(t,()=>this.nextModelPricingOverrideRowID()),this.modelPricingOverrideFormPreservedTiers=t&&t.pricing&&Array.isArray(t.pricing.tiers)?W4(t.pricing.tiers):[],this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow();let n=this.modelPricingOverrideFormRow,r=n?n3(n,this.modelPricingOverrideViews,e):{pricing:{},sources:{}};this.modelPricingOverrideFormBasePricing=r.pricing,this.modelPricingOverrideFormBasePricingSources=r.sources}setModelPricingOverrideScope(e){this.modelPricingOverrideFormScope=e;let t=this.modelPricingOverrideFormScopeOptions.find(t=>t.value===e);t&&(this.modelPricingOverrideForm.selector=t.selector,this.loadModelPricingOverrideFormSelector(t.selector))}nextModelPricingOverrideRowID(){return this._modelPricingOverrideRowID=(this._modelPricingOverrideRowID||0)+1,`pricing-row-`+this._modelPricingOverrideRowID}availablePricingFieldOptions(e){return a3(this.modelPricingOverrideRows,e)}addModelPricingOverrideRow(){let e=i3(this.modelPricingOverrideRows),t=H4.find(t=>!e.has(t.value))||H4[0];t&&this.modelPricingOverrideRows.push({id:this.nextModelPricingOverrideRowID(),field:t.value,value:``})}removeModelPricingOverrideRow(e){this.modelPricingOverrideRows=this.modelPricingOverrideRows.filter(t=>t.id!==e.id),this.modelPricingOverrideRows.length===0&&this.modelPricingOverrideFormPreservedTiers.length===0&&this.addModelPricingOverrideRow()}modelPricingOverridePayload(){return o3(this.modelPricingOverrideRows,this.modelPricingOverrideFormPreservedTiers)}modelPricingOverrideDraftPricing(){let e=this.modelPricingOverridePayload();return e&&e.pricing?e.pricing:{}}modelPricingEffectivePreviewRows(){return s3(this.modelPricingOverrideFormBasePricing,this.modelPricingOverrideFormBasePricingSources,this.modelPricingOverrideDraftPricing())}closeModelPricingOverrideForm(){this.modelPricingOverrideFormOpen=!1,this.modelPricingOverrideSubmitting=!1,this.modelPricingOverrideError=``,this.modelPricingOverrideFormHasExistingOverride=!1,this.modelPricingOverrideFormDisplayName=``,this.modelPricingOverrideFormScope=``,this.modelPricingOverrideFormScopeOptions=[],this.modelPricingOverrideFormRow=null,this.modelPricingOverrideFormBasePricing=null,this.modelPricingOverrideFormBasePricingSources=null,this.modelPricingOverrideFormPreservedTiers=[],this.modelPricingOverrideRows=[],this.modelPricingOverrideForm={selector:``}}async submitModelPricingOverrideForm(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!e){this.modelPricingOverrideError=`Model pricing selector is required.`;return}let t=this.modelPricingOverridePayload();if(t.error){this.modelPricingOverrideError=t.error;return}let n={selector:e,...t};this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let e=await iL(`/admin/model-pricing-overrides`,`PUT`,n,{label:`model pricing override`});if(e.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(e.stale)return;if(!e.ok){this.modelPricingOverrideError=e.status===401?`Authentication required.`:$I(e,`Failed to save model pricing.`);return}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),K.success(`Model pricing saved.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to save model pricing override:`,e),this.modelPricingOverrideError=`Failed to save model pricing.`}finally{this.modelPricingOverrideSubmitting=!1}}async deleteModelPricingOverride(){let e=String(this.modelPricingOverrideForm.selector||``).trim();if(!(!e||!this.modelPricingOverrideFormHasExistingOverride)&&window.confirm(`Remove the model pricing override for "`+e+`"?`)){this.modelPricingOverrideSubmitting=!0,this.modelPricingOverrideError=``;try{let t=await iL(`/admin/model-pricing-overrides`,`DELETE`,{selector:e},{label:`model pricing override`});if(t.status===503){this.modelPricingOverridesAvailable=!1,this.modelPricingOverrideError=`Model pricing overrides feature is unavailable.`;return}if(t.status!==404){if(t.stale)return;if(!t.ok){this.modelPricingOverrideError=t.status===401?`Authentication required.`:$I(t,`Failed to remove model pricing override.`);return}}this.modelPricingOverridesAvailable=!0,this.closeModelPricingOverrideForm(),K.success(`Model pricing override removed.`),this.fetchModelPricingOverrides()}catch(e){console.error(`Failed to delete model pricing override:`,e),this.modelPricingOverrideError=`Failed to remove model pricing override.`}finally{this.modelPricingOverrideSubmitting=!1}}}},l3=L(``);function u3(e,t){D(t,!0);var n=l3();let r;var i=N(M(n),2),a=M(i,!0);E(i),E(n),P((e,i,o)=>{r=H(n,1,`alias-toggle`,null,r,e),n.disabled=V4.rowTogglingKey===t.row.key||!V4.virtualModelsAvailable,U(n,`aria-label`,i),z(a,o)},[()=>({enabled:V4.rowToggleEnabled(t.row),restricted:V4.rowToggleRestricted(t.row)}),()=>V4.rowToggleAriaLabel(t.row),()=>V4.rowToggleLabel(t.row)]),I(`click`,n,()=>V4.toggleRowEnabled(t.row)),R(e,n),O()}Ur([`click`]);var d3=L(`
            `);function f3(e,t){D(t,!0);var n=d3(),r=M(n),i=e=>{u3(e,{get row(){return V4.globalScopeRow}})};B(r,e=>{V4.virtualModelsAvailable&&e(i)});var a=N(r,2),o=e=>{{let t=k(()=>c3.modelPricingButtonLabel(`global model pricing`,c3.hasGlobalPricingOverride())),n=k(()=>c3.modelPricingButtonClass(c3.hasGlobalPricingOverride()));b1(e,{get label(){return F(t)},get class(){return`table-icon-btn ${F(n)??``}`},onclick:()=>c3.openGlobalPricingOverrideEdit(),children:(e,t)=>{W(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(a,e=>{c3.modelPricingOverridesAvailable&&e(o)});var s=N(a,2),c=e=>{{let t=k(()=>D4(`global model access`,V4.hasGlobalModelOverride())),n=k(()=>E4(V4.hasGlobalModelOverride()));b1(e,{get label(){return F(t)},get class(){return`table-icon-btn ${F(n)??``}`},onclick:()=>V4.openGlobalModelOverrideEdit(),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(s,e=>{V4.virtualModelsAvailable&&e(c)}),E(n),R(e,n),O()}function p3(e){return String(e&&(e.primary_model||e.source)||``).trim()}function m3(e){return Array.isArray(e&&e.fallback_models)?e.fallback_models:Array.isArray(e&&e.targets)?e.targets:[]}function h3(e){return Array.isArray(e)?e.map(e=>({...e,source:p3(e),targets:m3(e)})):[]}function g3(e){let t=m3(e);return t.length===0?`-`:t.join(`, `)}function _3(e){return e&&e.enabled===!1?`Off`:e&&e.managed?`Config`:`On`}function v3(e,t){let n=String(t||``).trim();return n&&(Array.isArray(e)?e:[]).find(e=>p3(e)===n)||null}function y3(e,t){if(!t||t.is_alias)return!1;let n=v3(e,W2(t));return!!(n&&n.enabled!==!1&&m3(n).length>0)}function b3(e,t){return y3(e,t)?`table-action-btn-failover-active`:``}function x3(e,t){let n=`Edit failover for `+(t&&t.display_name?t.display_name:`model`);return y3(e,t)?n+` (active)`:n}function S3(e){let t=[e&&e.target_model];return(Array.isArray(e&&e.targets)?e.targets:[]).forEach(e=>t.push(e&&e.model)),t.map(e=>String(e||``).trim()).filter(Boolean)}function C3(e){let t=Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(Boolean):[];return{target_model:t[0]||``,targets:t.slice(1).map(e=>({model:e}))}}function w3(e){return{primary_model:String(e&&e.source||``).trim(),fallback_models:S3(e),enabled:!(e&&e.enabled===!1)}}function T3(e){return p3(e)}function E3(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=T3(e);n&&(t[n]=!0)}),t}function D3(e,t){let n=T3(t);return!!(n&&e&&e[n])}function O3(e,t){return(Array.isArray(e)?e:[]).filter(e=>D3(t,e))}function k3(e,t){let n=Array.isArray(e)?e:[];return n.length>0&&O3(n,t).length===n.length}function A3(e){return[p3(e),m3(e).join(` `)].join(` `).toLowerCase()}function j3(e,t){let n=Array.isArray(e)?e:[],r=String(t||``).trim().toLowerCase();return r?n.filter(e=>A3(e).includes(r)):n}function M3(e){return{primary_model:p3(e),fallback_models:m3(e).map(e=>String(e||``).trim()).filter(Boolean),enabled:!!(e&&e.enabled!==!1)}}function N3(){return{source:``,target_model:``,targets:[],enabled:!0}}var X=new class{#e=A(!0);get failoverAvailable(){return F(this.#e)}set failoverAvailable(e){j(this.#e,e,!0)}#t=A(fn([]));get failoverRules(){return F(this.#t)}set failoverRules(e){j(this.#t,e,!0)}#n=A(!1);get failoverLoading(){return F(this.#n)}set failoverLoading(e){j(this.#n,e,!0)}#r=A(!1);get failoverSaving(){return F(this.#r)}set failoverSaving(e){j(this.#r,e,!0)}#i=A(!1);get failoverGenerating(){return F(this.#i)}set failoverGenerating(e){j(this.#i,e,!0)}#a=A(``);get failoverError(){return F(this.#a)}set failoverError(e){j(this.#a,e,!0)}#o=A(fn([]));get failoverGeneratedRules(){return F(this.#o)}set failoverGeneratedRules(e){j(this.#o,e,!0)}#s=A(!1);get failoverDraftsOpen(){return F(this.#s)}set failoverDraftsOpen(e){j(this.#s,e,!0)}#c=A(fn({}));get failoverDraftSelections(){return F(this.#c)}set failoverDraftSelections(e){j(this.#c,e,!0)}#l=A(``);get failoverDraftFilter(){return F(this.#l)}set failoverDraftFilter(e){j(this.#l,e,!0)}#u=A(!1);get failoverDraftSaving(){return F(this.#u)}set failoverDraftSaving(e){j(this.#u,e,!0)}#d=A(!1);get failoverFormOpen(){return F(this.#d)}set failoverFormOpen(e){j(this.#d,e,!0)}#f=A(`create`);get failoverFormMode(){return F(this.#f)}set failoverFormMode(e){j(this.#f,e,!0)}#p=A(!1);get failoverFormManaged(){return F(this.#p)}set failoverFormManaged(e){j(this.#p,e,!0)}#m=A(fn(N3()));get failoverForm(){return F(this.#m)}set failoverForm(e){j(this.#m,e,!0)}failoverEnabled(){return sL.booleanFlag(`FAILOVER_ENABLED`,!0)}async fetchFailoverRules(){if(!this.failoverEnabled()){this.failoverAvailable=!1,this.failoverRules=[],this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,this.failoverError=``,this.failoverLoading=!1;return}this.failoverLoading=!0,this.failoverError=``;try{let e=await rL(`/admin/failover`,{label:`failover mappings`});if(e.status===503){this.failoverAvailable=!1,this.failoverRules=[];return}if(e.stale)return;if(this.failoverAvailable=!0,!e.ok){this.failoverRules=[];return}this.failoverRules=h3(e.data)}catch(e){console.error(`Failed to fetch failover mappings:`,e),this.failoverRules=[],this.failoverError=`Unable to load failover mappings.`}finally{this.failoverLoading=!1}}resetFailoverForm(){this.failoverFormMode=`create`,this.failoverFormManaged=!1,this.failoverForm=N3()}openFailoverCreate(){this.resetFailoverForm(),this.failoverFormOpen=!0,this.focusFailoverEditor()}openFailoverEdit(e){if(!e)return;this.resetFailoverForm(),this.failoverFormMode=`edit`,this.failoverFormOpen=!0,this.failoverFormManaged=!!e.managed;let t=this.failoverPrimaryModel(e),n=this.failoverTargets(e);this.failoverForm={source:t,target_model:n[0]||``,targets:n.slice(1).map(e=>({model:e})),enabled:e.enabled!==!1},this.focusFailoverEditor()}openFailoverForModel(e){if(!e||e.is_alias)return;let t=this.qualifiedModelName(e),n=this.failoverRules.find(e=>this.failoverPrimaryModel(e)===t);if(n){this.openFailoverEdit(n);return}this.resetFailoverForm(),this.failoverFormMode=`create`,this.failoverFormOpen=!0,this.failoverForm.source=t,this.focusFailoverEditor()}closeFailoverForm(){this.failoverFormOpen=!1}closeFailoverDraftsModal(){this.failoverDraftSaving||(this.failoverDraftsOpen=!1)}failoverFormTargets(){return S3(this.failoverForm)}setFailoverFormTargets(e){let t=C3(e);this.failoverForm.target_model=t.target_model,this.failoverForm.targets=t.targets}addFailoverTarget(){Array.isArray(this.failoverForm.targets)||(this.failoverForm.targets=[]),this.failoverForm.targets.push({model:``}),this.focusFailoverEditor()}removeFailoverTarget(e){if(!Array.isArray(this.failoverForm.targets)){this.failoverForm.targets=[];return}this.failoverForm.targets.splice(e,1)}removePrimaryFailoverTarget(){let e=Array.isArray(this.failoverForm.targets)?this.failoverForm.targets:[];if(e.length>0){let t=e.shift();this.failoverForm.target_model=t&&t.model?t.model:``,this.failoverForm.targets=e;return}this.failoverForm.target_model=``}failoverRulePayload(){return w3(this.failoverForm)}async submitFailoverForm(){if(this.failoverSaving||this.failoverGenerating||this.failoverFormManaged)return;let e=this.failoverRulePayload();if(!e.primary_model){this.failoverError=`Primary model is required.`;return}if(e.enabled&&e.fallback_models.length===0){this.failoverError=`Add at least one failover target.`;return}this.failoverSaving=!0,this.failoverError=``;try{let t=await iL(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to save failover mapping.`;return}K.success(`Failover mapping saved.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to save failover mapping:`,e),this.failoverError=`Failed to save failover mapping.`}finally{this.failoverSaving=!1}}async deleteFailoverRule(e){let t=String(e&&this.failoverPrimaryModel(e)||this.failoverForm.source||``).trim();if(!(!t||this.failoverSaving||this.failoverGenerating)&&confirm(`Remove failover mapping for "`+t+`"?`)){this.failoverSaving=!0,this.failoverError=``;try{let e=await iL(`/admin/failover`,`DELETE`,{primary_model:t},{label:`failover mapping`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mapping.`;return}K.success(`Failover mapping removed.`),this.closeFailoverForm(),this.fetchFailoverRules()}catch(e){console.error(`Failed to remove failover mapping:`,e),this.failoverError=`Failed to remove failover mapping.`}finally{this.failoverSaving=!1}}}async generateFailoverForForm(){if(this.failoverGenerating||this.failoverSaving||this.failoverFormManaged)return;let e=String(this.failoverForm.source||``).trim();if(!e){this.failoverError=`Primary model is required.`;return}this.failoverGenerating=!0,this.failoverError=``;try{let t=await iL(`/admin/failover/generate`,`POST`,{primary_model:e},{label:`failover generation`});if(t.stale)return;if(!t.ok){this.failoverError=`Failed to generate failover mapping.`;return}let n=h3(t.data),r=n.find(t=>this.failoverPrimaryModel(t)===e)||n[0]||null,i=this.failoverTargets(r);if(i.length===0){this.failoverError=`No failover suggestions were generated for this model.`;return}this.setFailoverFormTargets(i),K.success(`Generated `+i.length+` fallback model`+(i.length===1?`.`:`s.`)),this.focusFailoverEditor()}catch(e){console.error(`Failed to generate failover mapping:`,e),this.failoverError=`Failed to generate failover mapping.`}finally{this.failoverGenerating=!1}}openFailoverResetDialog(){bL.open({title:`Remove failover models`,titleId:`failoverResetDialogTitle`,inputId:`failover-reset-confirmation`,message:`Remove every dashboard-managed failover mapping. Configuration-managed mappings remain active.`,requiredText:`remove`,confirmLabel:`Remove Failover`,icon:`trash-2`,dialogClass:`budget-reset-dialog`,onConfirm:async()=>{await this.resetFailoverRules(),this.failoverError&&(bL.error=this.failoverError)}})}async resetFailoverRules(){if(!this.failoverSaving){this.failoverSaving=!0,this.failoverError=``;try{let e=await iL(`/admin/failover/reset`,`POST`,void 0,{label:`failover removal`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to remove failover mappings.`;return}this.failoverRules=h3(e.data),this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!1,K.success(`Dashboard-managed failover mappings removed.`),bL.close()}catch(e){console.error(`Failed to remove failover mappings:`,e),this.failoverError=`Failed to remove failover mappings.`}finally{this.failoverSaving=!1}}}async generateFailoverRules(){if(!(this.failoverGenerating||this.failoverDraftSaving)){this.failoverGenerating=!0,this.failoverError=``,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.failoverDraftsOpen=!0;try{let e=await iL(`/admin/failover/generate`,`POST`,void 0,{label:`failover generation`});if(e.stale)return;if(!e.ok){this.failoverError=`Failed to generate failover mappings.`;return}this.failoverGeneratedRules=h3(e.data),this.selectAllFailoverDrafts(this.failoverGeneratedRules)}catch(e){console.error(`Failed to generate failover mappings:`,e),this.failoverError=`Failed to generate failover mappings.`}finally{this.failoverGenerating=!1}}}failoverDraftKey(e){return T3(e)}selectAllFailoverDrafts(e){this.failoverDraftSelections=E3(e)}failoverDraftSelected(e){return D3(this.failoverDraftSelections,e)}setFailoverDraftSelected(e,t){let n=this.failoverDraftKey(e);n&&(this.failoverDraftSelections={...this.failoverDraftSelections,[n]:!!t})}selectedFailoverDrafts(){return O3(this.failoverGeneratedRules,this.failoverDraftSelections)}selectedFailoverDraftCount(){return this.selectedFailoverDrafts().length}failoverDraftCountLabel(){return this.selectedFailoverDraftCount()+` / `+this.failoverGeneratedRules.length+` selected`}allFailoverDraftsSelected(){return k3(this.failoverGeneratedRules,this.failoverDraftSelections)}toggleAllFailoverDrafts(){if(!(this.failoverDraftSaving||this.failoverGenerating||this.failoverGeneratedRules.length===0)){if(this.allFailoverDraftsSelected()){this.failoverDraftSelections={};return}this.selectAllFailoverDrafts(this.failoverGeneratedRules)}}failoverDraftSearchText(e){return A3(e)}filteredFailoverDrafts(){return j3(this.failoverGeneratedRules,this.failoverDraftFilter)}failoverDraftPayload(e){return M3(e)}async saveSelectedFailoverDrafts(){if(this.failoverDraftSaving||this.failoverGenerating)return;let e=this.selectedFailoverDrafts();if(e.length===0){this.failoverError=`Select at least one failover draft.`;return}this.failoverDraftSaving=!0,this.failoverError=``;try{for(let t of e){let e=this.failoverDraftPayload(t);if(!e.primary_model||e.fallback_models.length===0){this.failoverError=`Generated failover draft is missing model data.`;return}let n=await iL(`/admin/failover`,`PUT`,e,{label:`failover mapping`});if(n.stale)return;if(!n.ok){this.failoverError=`Failed to save failover mapping.`;return}}K.success(`Saved `+e.length+` failover mapping`+(e.length===1?`.`:`s.`)),this.failoverDraftsOpen=!1,this.failoverGeneratedRules=[],this.failoverDraftSelections={},this.failoverDraftFilter=``,this.fetchFailoverRules()}catch(e){console.error(`Failed to save generated failover mappings:`,e),this.failoverError=`Failed to save failover mappings.`}finally{this.failoverDraftSaving=!1}}focusFailoverEditor(){setTimeout(()=>{let e=document.querySelector(`[data-failover-editor]`),t=e&&e.querySelector?e.querySelector(`[data-modal-autofocus], input:not([disabled]), textarea:not([disabled]), button:not([disabled])`):null;t&&typeof t.focus==`function`&&t.focus({preventScroll:!0})},0)}failoverTargetLabel(e){return g3(e)}failoverPrimaryModel(e){return p3(e)}failoverTargets(e){return m3(e)}findFailoverMapping(e){return v3(this.failoverRules,e)}hasActiveFailoverMapping(e){return y3(this.failoverRules,e)}failoverButtonClass(e){return b3(this.failoverRules,e)}failoverButtonLabel(e){return x3(this.failoverRules,e)}normalizeFailoverRules(e){return h3(e)}failoverRuleStatus(e){return _3(e)}qualifiedModelName(e){return W2(e)}},P3=L(``),F3=L(``),I3=L(`Config`),L3=L(`
            Targets
            `),R3=L(``),z3=L(`
            Redirects to
            `),B3=L(` `),V3=L(`
            `),H3=L(`
            `),U3=L(`
            `);function W3(e,t){D(t,!0);let n=k(()=>c3.modelRowPricing(t.row));var r=U3(),i=M(r),a=M(i),o=M(a),s=M(o),c=M(s,!0);E(s);var l=N(s,2),u=e=>{R(e,P3())};B(l,e=>{t.row.is_alias&&e(u)});var d=N(l,2),f=e=>{R(e,F3())};B(d,e=>{!t.row.is_alias&&t.row.masking_alias&&e(f)});var p=N(d,2),m=e=>{R(e,I3())},h=k(()=>w4(t.row));B(p,e=>{F(h)&&e(m)}),E(o);var g=N(o,2),_=e=>{var n=L3(),r=N(M(n)),i=M(r,!0);E(r),E(n),P(()=>z(i,t.row.secondary_name)),R(e,n)};B(g,e=>{t.row.is_alias&&e(_)});var v=N(g,2),y=e=>{var n=z3(),r=N(M(n)),i=M(r,!0);E(r);var a=N(r,2),o=e=>{var n=R3();P(e=>{U(n,`aria-label`,V4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),U(n,`title`,V4.rowDeletingKey===t.row.key?`Removing redirect for `+t.row.display_name:`Remove redirect for `+t.row.display_name),n.disabled=e},[()=>!!V4.rowDeletingKey]),I(`click`,n,()=>V4.removeRedirectRow(t.row)),R(e,n)},s=k(()=>V4.virtualModelsAvailable&&S4(t.row));B(a,e=>{F(s)&&e(o)}),E(n),P(e=>z(i,e),[()=>t4(t.row.masking_alias)]),R(e,n)};B(v,e=>{!t.row.is_alias&&t.row.masking_alias&&e(y)}),E(a),E(i);var b=N(i);V(b,17,()=>t.columns,oi,(e,r)=>{var i=B3(),a=M(i,!0);E(i),P(e=>{H(i,1,ji(F(r).class),`svelte-1iynym`),z(a,e)},[()=>F(r).value(t.row,F(n))]),R(e,i)});var x=N(b),S=M(x),C=e=>{var n=V3(),r=M(n);u3(r,{get row(){return t.row}});var i=N(r,2),a=e=>{{let n=k(()=>V4.rowDeletingKey===t.row.key?`Removing alias `+t.row.alias.name:`Remove alias `+t.row.alias.name),r=k(()=>!!V4.rowDeletingKey);b1(e,{get label(){return F(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>V4.removeAliasRow(t.row),get disabled(){return F(r)},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})}},o=k(()=>V4.virtualModelsAvailable&&x4(t.row));B(i,e=>{F(o)&&e(a)});var s=N(i,2),c=e=>{{let n=k(()=>`Edit alias `+t.row.alias.name);b1(e,{get label(){return F(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>V4.openVirtualModelEditAlias(t.row.alias),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(s,e=>{V4.virtualModelsAvailable&&e(c)}),E(n),R(e,n)},w=e=>{var n=H3(),r=M(n);u3(r,{get row(){return t.row}});var i=N(r,2),a=e=>{{let n=k(()=>c3.modelPricingButtonLabel(`model pricing for `+t.row.display_name,c3.hasModelPricingOverride(t.row))),r=k(()=>c3.modelPricingButtonClass(c3.hasModelPricingOverride(t.row)));b1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>c3.openModelPricingOverrideEdit(t.row),children:(e,t)=>{W(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(i,e=>{c3.modelPricingOverridesAvailable&&e(a)});var o=N(i,2),s=e=>{{let n=k(()=>X.failoverButtonLabel(t.row)),r=k(()=>X.failoverButtonClass(t.row));b1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>X.openFailoverForModel(t.row),children:(e,t)=>{W(e,{name:`shuffle`,class:`table-icon-svg`})},$$slots:{default:!0}})}},c=k(()=>X.failoverAvailable&&X.failoverEnabled());B(o,e=>{F(c)&&e(s)});var l=N(o,2),u=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(t.row.display_name,Y.rateLimitGaugeClassForModel(t.row))),r=k(()=>Y.rateLimitGaugeClassForModel(t.row));b1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>Y.openRateLimitInspectorForModel(t.row),children:(e,t)=>{W(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},d=k(()=>Y.rateLimitsEnabled()&&Y.rateLimitInspectorModelID(t.row));B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=e=>{{let n=k(()=>`Edit redirect for `+t.row.display_name);b1(e,{get label(){return F(n)},class:`table-icon-btn table-action-btn-active`,onclick:()=>V4.openVirtualModelEditAlias(t.row.masking_alias),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(f,e=>{V4.virtualModelsAvailable&&t.row.masking_alias&&t.row.masking_alias.name&&e(p)});var m=N(f,2),h=e=>{{let n=k(()=>D4(`model access for `+t.row.display_name,T4(t.row.access))),r=k(()=>E4(T4(t.row.access)));b1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>V4.openVirtualModelEditModel(t.row),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(m,e=>{V4.virtualModelsAvailable&&!t.row.masking_alias&&e(h)}),E(n),R(e,n)};B(S,e=>{t.row.is_alias?e(C):e(w,-1)}),E(x),E(r),P((e,n)=>{U(r,`id`,e),H(r,1,n,`svelte-1iynym`),z(c,t.row.display_name)},[()=>C4(t.row)||void 0,()=>ji(b4(t.row))]),R(e,r),O()}Ur([`click`]);var G3={headerLines:[`Modes`],value:e=>(e.model?.metadata?.modes??[]).join(`, `)||`-`};function K3(e,t){return{headerLines:e,class:`col-price`,value:t}}var q3=K3([`Input / Output ($/MTok)`],(e,t)=>WL(t?.input_per_mtok)+` / `+WL(t?.output_per_mtok)),J3={all:[G3,q3],text_generation:[G3,q3,K3([`Cached $/MTok`],(e,t)=>WL(t?.cached_input_per_mtok))],embedding:[K3([`Input`,`$/MTok`],(e,t)=>WL(t?.input_per_mtok))],image:[K3([`$/Image`],(e,t)=>GL(t?.per_image))],audio:[K3([`$/Second`],(e,t)=>GL(t?.per_second_input)),K3([`$/Character`],(e,t)=>GL(t?.per_character_input))],video:[K3([`$/Second (In)`],(e,t)=>GL(t?.per_second_input)),K3([`$/Second (Out)`],(e,t)=>GL(t?.per_second_output))],utility:[K3([`$/Page`],(e,t)=>GL(t?.per_page)),K3([`$/Request`],(e,t)=>GL(t?.per_request))]};function Y3(e){return J3[e]||J3.all}function X3(e){return Y3(e).length+2}var Z3=L(`
            `),Q3=L(` `,1),$3=L(``),e6=L(` `),t6=L(` `),n6=L(`
            `),r6=L(`
            `),i6=L(`
            Model
            `);function a6(e,t){D(t,!0);let n=k(()=>RL.activeCategory||`all`),r=k(()=>Y3(F(n))),i=k(()=>X3(F(n)));var a=i6(),o=M(a),s=M(o),c=M(s),l=N(M(c));V(l,17,()=>F(r),oi,(e,t)=>{var n=$3();V(n,21,()=>F(t).headerLines,oi,(e,t,n)=>{var r=Q3(),i=Cn(r),a=e=>{R(e,Z3())};B(i,e=>{n>0&&e(a)});var o=N(i,1,!0);P(()=>z(o,F(t))),R(e,r)}),E(n),P(()=>H(n,1,ji(F(t).class),`svelte-1911hy6`)),R(e,n)});var u=N(l);f3(M(u),{}),E(u),E(c),E(s),V(N(s),17,()=>V4.filteredDisplayModelGroups,e=>e.key,(e,t)=>{var n=r6(),a=M(n),o=M(a),s=M(o),c=M(s),l=M(c),u=M(l),d=M(u,!0);E(u);var f=N(u,2),p=e=>{var n=e6(),r=M(n,!0);E(n),P(()=>z(r,`(`+F(t).type_label+`)`)),R(e,n)};B(f,e=>{F(t).type_label&&e(p)});var m=N(f,2),h=e=>{var n=t6(),r=M(n,!0);E(n),P(()=>z(r,F(t).item_count_label)),R(e,n)};B(m,e=>{F(t).item_count_label&&e(h)}),E(l);var g=N(l,2),_=e=>{var n=n6(),r=M(n,!0);E(n),P(()=>z(r,F(t).access_summary)),R(e,n)};B(g,e=>{F(t).access_summary&&e(_)}),E(c);var v=N(c,2),y=M(v),b=e=>{u3(e,{get row(){return F(t)}})};B(y,e=>{F(t).access.selector&&e(b)});var x=N(y,2),S=e=>{{let n=k(()=>c3.modelPricingButtonLabel(`provider pricing for `+F(t).display_name,c3.hasProviderPricingOverride(F(t)))),r=k(()=>c3.modelPricingButtonClass(c3.hasProviderPricingOverride(F(t))));b1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>c3.openProviderPricingOverrideEdit(F(t)),children:(e,t)=>{W(e,{name:`circle-dollar-sign`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(x,e=>{c3.modelPricingOverridesAvailable&&F(t).provider_name&&e(S)});var C=N(x,2),w=e=>{{let n=k(()=>Y.rateLimitGaugeTitle(`provider `+F(t).display_name,Y.rateLimitGaugeClassForProvider(F(t)))),r=k(()=>Y.rateLimitGaugeClassForProvider(F(t)));b1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>Y.openRateLimitInspectorForProvider(F(t)),children:(e,t)=>{W(e,{name:`gauge`,class:`table-icon-svg`})},$$slots:{default:!0}})}},T=k(()=>Y.rateLimitsEnabled()&&F(t).provider_name);B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{{let n=k(()=>D4(`provider access for `+F(t).display_name,T4(F(t).access))),r=k(()=>E4(T4(F(t).access)));b1(e,{get label(){return F(n)},get class(){return`table-icon-btn ${F(r)??``}`},onclick:()=>V4.openProviderOverrideEdit(F(t)),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}};B(ee,e=>{V4.virtualModelsAvailable&&F(t).access.selector&&e(te)}),E(v),E(s),E(o),E(a),V(N(a),17,()=>F(t).rows,e=>e.key,(e,t)=>{W3(e,{get row(){return F(t)},get columns(){return F(r)}})}),E(n),P(()=>{U(o,`colspan`,F(i)),z(d,F(t).display_name)}),R(e,n)}),E(o),E(a),R(e,a),O()}var o6=L(``),s6=L(`
            `);function c6(e,t){D(t,!0);let n=ha(t,`model`,15,``),r=ha(t,`weight`,15),i=ha(t,`id`,3,void 0),a=ha(t,`placeholder`,3,`openai/gpt-4o`),o=ha(t,`showRemove`,3,!0);var s=s6(),c=M(s);Qi(c);var l=N(c,2),u=e=>{var t=o6();Qi(t),P(()=>t.disabled=V4.vmFormManaged),sa(t,r),R(e,t)},d=k(()=>V4.vmFormShowWeights());B(l,e=>{F(d)&&e(u)});var f=N(l,2),p=e=>{b1(e,{label:`Remove target`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,get onclick(){return t.onremove},get disabled(){return V4.vmFormManaged},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};B(f,e=>{o()&&e(p)}),E(s),P(()=>{U(c,`id`,i()),U(c,`placeholder`,a()),c.disabled=V4.vmFormManaged}),sa(c,n),R(e,s),O()}var l6=L(`

            `),u6=L(`Add one target to make this a redirect/alias, or two or more to load @@ -34,7 +34,7 @@ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],en /team/alpha /non-existing`),E(b);var C=N(b,2),w=N(M(C),2);pt(w),E(C);var T=N(C,2),ee=M(T),te=e=>{var t=g6(),r=M(t,!0);E(t),P(()=>z(r,`Default enabled: `+(n.vmFormDefaultEnabled?`yes`:`no`)+` · Effective now: `+(n.vmFormEffectiveEnabled?`yes`:`no`))),R(e,t)};B(ee,e=>{n.vmFormMode===`edit`&&e(te)});var ne=N(ee,2),re=M(ne);let ie;var ae=N(M(re),2),oe=M(ae,!0);E(ae),E(re),E(ne),E(T);var se=N(T,2),ce=e=>{var t=_6(),r=M(t,!0);E(t),P(()=>z(r,n.vmFormError)),R(e,t)};B(se,e=>{n.vmFormError&&e(ce)});var le=N(se,2),ue=M(le),de=N(ue,2),fe=e=>{var t=v6();P(()=>t.disabled=n.vmDeleting||n.vmSubmitting),I(`click`,t,()=>n.deleteVirtualModel()),R(e,t)};B(de,e=>{n.vmFormHasExisting&&!n.vmFormManaged&&e(fe)});var pe=N(de,2),me=e=>{var t=y6(),r=M(t),i=e=>{W(e,{name:`plus`,class:`form-action-icon`})},a=e=>{W(e,{name:`save`,class:`form-action-icon`})};B(r,e=>{n.vmFormMode===`edit`?e(a,-1):e(i)});var o=N(r,2),s=M(o,!0);E(o),E(t),P(()=>{t.disabled=n.vmSubmitting||n.vmDeleting,z(s,n.vmSubmitting?`Saving...`:n.vmFormMode===`edit`?`Save`:`Create`)}),R(e,t)};B(pe,e=>{n.vmFormManaged||e(me)}),E(le),E(i),E(r),P((e,t)=>{u.disabled=n.vmFormSourceLocked||n.vmFormManaged,g.disabled=n.vmFormManaged,S.disabled=n.vmFormManaged,w.disabled=n.vmFormManaged,ie=H(re,1,`alias-toggle`,null,ie,e),U(re,`aria-label`,(n.vmForm.enabled?`Disable`:`Enable`)+` virtual model`),re.disabled=n.vmFormManaged,z(oe,t)},[()=>({enabled:n.vmForm.enabled,restricted:n.vmFormToggleRestricted()}),()=>n.vmFormToggleLabel()]),Hr(`submit`,i,e=>{e.preventDefault(),n.submitVirtualModelForm()}),sa(u,()=>n.vmForm.source,e=>n.vmForm.source=e),I(`click`,g,()=>n.addVmTarget()),sa(S,()=>n.vmForm.user_paths,e=>n.vmForm.user_paths=e),sa(w,()=>n.vmForm.description,e=>n.vmForm.description=e),I(`click`,re,()=>{n.vmFormManaged||(n.vmForm.enabled=!n.vmForm.enabled)}),I(`click`,ue,()=>n.closeVirtualModelForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`click`]);var S6=L(``),C6=L(`
            `),w6=L(`
            `),T6=L(`
            Tiered pricing exists for this override and will be preserved. Tier editing can be added without a database migration.
            `),E6=L(`
            No pricing fields set.
            `),D6=L(`
            `),O6=L(``),k6=L(``),A6=L(``);function j6(e,t){D(t,!0);let n=c3;hL(e,{get open(){return n.modelPricingOverrideFormOpen},onclose:()=>n.closeModelPricingOverrideForm(),children:(e,t)=>{var r=A6(),i=M(r),a=M(i),o=M(a),s=N(M(o),2),c=M(s,!0);E(s),E(o),pL(N(o,2),{label:`Close model pricing editor`,onclick:()=>n.closeModelPricingOverrideForm()}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);Qi(d),E(u);var f=N(u,2),p=e=>{var t=C6(),r=N(M(t),2);V(r,21,()=>n.modelPricingOverrideFormScopeOptions,e=>e.value,(e,t)=>{var n=S6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(r),E(t),I(`change`,r,()=>n.setModelPricingOverrideScope(n.modelPricingOverrideFormScope)),Vi(r,()=>n.modelPricingOverrideFormScope,e=>n.modelPricingOverrideFormScope=e),R(e,t)};B(f,e=>{n.modelPricingOverrideFormScopeOptions.length>1&&e(p)}),E(l);var m=N(l,4);V(m,21,()=>n.modelPricingOverrideRows,e=>e.id,(e,t,r)=>{var i=w6(),a=M(i),o=M(a),s=N(o,2);V(s,21,()=>n.availablePricingFieldOptions(F(t)),e=>e.value,(e,t)=>{var n=S6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).group+` - `+F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(s),E(a);var c=N(a,2),l=M(c),u=N(l,2);Qi(u),E(c);var d=N(c,2);{let e=k(()=>`Remove `+n.pricingFieldLabel(F(t).field));b1(d,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn pricing-override-remove-row`,onclick:()=>n.removeModelPricingOverrideRow(F(t)),children:(e,t)=>{W(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(i),P(()=>{U(o,`for`,`pricing-type-`+F(t).id),U(s,`id`,`pricing-type-`+F(t).id),U(l,`for`,`pricing-value-`+F(t).id),U(u,`id`,`pricing-value-`+F(t).id)}),Vi(s,()=>F(t).field,e=>F(t).field=e),sa(u,()=>F(t).value,e=>F(t).value=e),R(e,i)}),E(m);var h=N(m,2),g=M(h);W(M(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h);var _=N(h,2),v=e=>{R(e,T6())};B(_,e=>{n.modelPricingOverrideFormPreservedTiers.length>0&&e(v)});var y=N(_,2),b=N(M(y),2),x=e=>{R(e,E6())},S=k(()=>n.modelPricingEffectivePreviewRows().length===0);B(b,e=>{F(S)&&e(x)}),V(N(b,2),17,()=>n.modelPricingEffectivePreviewRows(),e=>e.field,(e,t)=>{var n=D6(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(n),P(e=>{z(i,F(t).label),z(o,e),z(c,F(t).source)},[()=>F(t).value===null||F(t).value===void 0?`-`:GL(Number(F(t).value))]),R(e,n)}),E(y);var C=N(y,2),w=e=>{var t=O6(),r=M(t,!0);E(t),P(()=>z(r,n.modelPricingOverrideError)),R(e,t)};B(C,e=>{n.modelPricingOverrideError&&e(w)});var T=N(C,2),ee=M(T),te=N(ee,2),ne=e=>{var t=k6();P(()=>t.disabled=n.modelPricingOverrideSubmitting),I(`click`,t,()=>n.deleteModelPricingOverride()),R(e,t)};B(te,e=>{n.modelPricingOverrideFormHasExistingOverride&&e(ne)});var re=N(te,2),ie=M(re);W(ie,{name:`save`,class:`form-action-icon`});var ae=N(ie,2),oe=M(ae,!0);E(ae),E(re),E(T),E(i),E(r),P(()=>{z(c,n.modelPricingOverrideFormDisplayName||n.modelPricingOverrideForm.selector||`Pricing`),re.disabled=n.modelPricingOverrideSubmitting,z(oe,n.modelPricingOverrideSubmitting?`Saving...`:`Save Pricing`)}),Hr(`submit`,i,e=>{e.preventDefault(),n.submitModelPricingOverrideForm()}),sa(d,()=>n.modelPricingOverrideForm.selector,e=>n.modelPricingOverrideForm.selector=e),I(`click`,g,()=>n.addModelPricingOverrideRow()),I(`click`,ee,()=>n.closeModelPricingOverrideForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var M6=L(`

            This failover mapping is defined in configuration and is read-only here.

            `),N6=L(``),P6=L(`
            `),F6=L(``),I6=L(``),L6=L(``),R6=L(``);function z6(e,t){D(t,!0),hL(e,{get open(){return X.failoverFormOpen},variant:`editor`,onclose:()=>X.closeFailoverForm(),children:(e,t)=>{var n=R6(),r=M(n),i=M(r),a=M(i),o=N(M(a),2),s=M(o,!0);E(o),E(a),pL(N(a,2),{label:`Close failover editor`,onclick:()=>X.closeFailoverForm()}),E(i);var c=N(i,2),l=e=>{R(e,M6())};B(c,e=>{X.failoverFormManaged&&e(l)});var u=N(c,2);V(u,21,()=>RL.models,oi,(e,t)=>{var n=N6(),r=M(n,!0);E(n);var i={};P((e,t)=>{z(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>W2(F(t)),()=>W2(F(t))]),R(e,n)}),E(u);var d=N(u,2),f=N(M(d),2),p=M(f),m=M(p);Qi(m);var h=N(m,2),g=e=>{b1(e,{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removePrimaryFailoverTarget(),get disabled(){return X.failoverFormManaged},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};B(h,e=>{X.failoverForm.target_model&&e(g)}),E(p),V(N(p,2),17,()=>X.failoverForm.targets,oi,(e,t,n)=>{var r=P6(),i=M(r);Qi(i),b1(N(i,2),{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removeFailoverTarget(n),get disabled(){return X.failoverFormManaged},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),P(()=>i.disabled=X.failoverFormManaged),sa(i,()=>F(t).model,e=>F(t).model=e),R(e,r)}),E(f);var _=N(f,2),v=M(_);W(M(v),{name:`plus`,class:`form-action-icon`}),We(2),E(v);var y=N(v,2),b=M(y);W(b,{name:`wand-sparkles`,class:`form-action-icon`});var x=N(b,2),S=M(x,!0);E(x),E(y),E(_),E(d);var C=N(d,2),w=M(C),T=M(w);let ee;var te=N(M(T),2),ne=M(te,!0);E(te),E(T),E(w),E(C);var re=N(C,2),ie=e=>{var t=F6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(re,e=>{X.failoverError&&e(ie)});var ae=N(re,2),oe=M(ae),se=N(oe,2),ce=e=>{var t=I6();P(()=>t.disabled=X.failoverSaving||X.failoverGenerating),I(`click`,t,()=>X.deleteFailoverRule()),R(e,t)};B(se,e=>{X.failoverFormMode===`edit`&&!X.failoverFormManaged&&e(ce)});var le=N(se,2),ue=e=>{var t=L6(),n=M(t);W(n,{name:`save`,class:`form-action-icon`});var r=N(n,2),i=M(r,!0);E(r),E(t),P(()=>{t.disabled=X.failoverSaving||X.failoverGenerating,z(i,X.failoverSaving?`Saving...`:`Save`)}),R(e,t)};B(le,e=>{X.failoverFormManaged||e(ue)}),E(ae),E(r),E(n),P(e=>{z(s,X.failoverForm.source||`Failover`),m.disabled=X.failoverFormManaged,v.disabled=X.failoverFormManaged||X.failoverGenerating||X.failoverSaving,y.disabled=e,z(S,X.failoverGenerating?`Generating...`:`Generate automatically`),ee=H(T,1,`alias-toggle`,null,ee,{enabled:X.failoverForm.enabled}),T.disabled=X.failoverFormManaged,U(T,`aria-label`,(X.failoverForm.enabled?`Disable`:`Enable`)+` failover mapping`),z(ne,X.failoverForm.enabled?`Enabled`:`Disabled`)},[()=>X.failoverFormManaged||X.failoverGenerating||X.failoverSaving||!X.failoverEnabled()]),Hr(`submit`,r,e=>{e.preventDefault(),X.submitFailoverForm()}),sa(m,()=>X.failoverForm.target_model,e=>X.failoverForm.target_model=e),I(`click`,v,()=>X.addFailoverTarget()),I(`click`,y,()=>X.generateFailoverForForm()),I(`click`,T,()=>{X.failoverFormManaged||(X.failoverForm.enabled=!X.failoverForm.enabled)}),I(`click`,oe,()=>X.closeFailoverForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var B6=L(` `),V6=L(`
            `),H6=L(``),U6=L(`
            `),W6=L(`

            No failover suggestions were generated.

            `),G6=L(`

            No failover drafts match the filter.

            `),K6=L(``),q6=L(``);function J6(e,t){D(t,!0),hL(e,{get open(){return X.failoverDraftsOpen},variant:`editor`,onclose:()=>X.closeFailoverDraftsModal(),children:(e,t)=>{var n=q6(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=B6(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>X.failoverDraftCountLabel()]),R(e,t)};B(a,e=>{X.failoverGeneratedRules.length>0&&e(o)}),pL(N(a,2),{label:`Close failover drafts`,onclick:()=>X.closeFailoverDraftsModal(),get disabled(){return X.failoverDraftSaving}}),E(i),E(r);var s=N(r,2),c=e=>{v1(e,{label:`Generating failover drafts...`,class:`failover-drafts-loading`})};B(s,e=>{X.failoverGenerating&&e(c)});var l=N(s,2),u=e=>{var t=V6(),n=M(t);w$(n,{placeholder:`Filter failover drafts...`,label:`Filter failover drafts`,get value(){return X.failoverDraftFilter},set value(e){X.failoverDraftFilter=e}});var r=N(n,2),i=M(r);W(i,{name:`check`,class:`form-action-icon`});var a=N(i,2),o=M(a,!0);E(a),E(r),E(t),P(e=>{r.disabled=X.failoverDraftSaving,z(o,e)},[()=>X.allFailoverDraftsSelected()?`Deselect all`:`Select all`]),I(`click`,r,()=>X.toggleAllFailoverDrafts()),R(e,t)};B(l,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&e(u)});var d=N(l,2),f=e=>{var t=U6();V(t,21,()=>X.filteredFailoverDrafts(),e=>`failover-draft:`+X.failoverPrimaryModel(e),(e,t)=>{var n=H6(),r=M(n);Qi(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(i),E(n),P((e,t,n,i)=>{ea(r,e),r.disabled=X.failoverDraftSaving,U(r,`aria-label`,t),z(o,n),z(c,i)},[()=>X.failoverDraftSelected(F(t)),()=>`Select failover draft for `+X.failoverPrimaryModel(F(t)),()=>X.failoverPrimaryModel(F(t)),()=>X.failoverTargetLabel(F(t))]),I(`change`,r,e=>X.setFailoverDraftSelected(F(t),e.currentTarget.checked)),R(e,n)}),E(t),R(e,t)},p=k(()=>!X.failoverGenerating&&X.filteredFailoverDrafts().length>0);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{R(e,W6())};B(m,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length===0&&!X.failoverError&&e(h)});var g=N(m,2),_=e=>{R(e,G6())},v=k(()=>!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&X.filteredFailoverDrafts().length===0);B(g,e=>{F(v)&&e(_)});var y=N(g,2),b=e=>{var t=K6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(y,e=>{X.failoverError&&e(b)});var x=N(y,2),S=M(x),C=N(S,2),w=M(C);W(w,{name:`save`,class:`form-action-icon`});var T=N(w,2),ee=M(T,!0);E(T),E(C),E(x),E(n),P(e=>{S.disabled=X.failoverDraftSaving,C.disabled=e,z(ee,X.failoverDraftSaving?`Saving...`:`Save selected`)},[()=>X.failoverGenerating||X.failoverDraftSaving||X.selectedFailoverDraftCount()===0]),I(`click`,S,()=>X.closeFailoverDraftsModal()),I(`click`,C,()=>X.saveSelectedFailoverDrafts()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`,`change`]);var Y6=L(`
            Rate limit management is unavailable.
            `),X6=L(` Add`,1),Z6=L(`

            `),Q6=L(`

            No rules.

            `),$6=L(` Edit`,1),e8=L(`
            `),t8=L(`
            `),n8=L(`

            `),r8=L(``),i8=L(``);function a8(e,t){D(t,!0);function n(){G.dialogOpen||Y.closeRateLimitInspector()}hL(e,{get open(){return Y.rateLimitInspectorOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=i8(),r=M(n),i=M(r),a=N(M(i),2),o=M(a),s=M(o,!0);E(o),E(a),E(i),pL(N(i,2),{label:`Close rate limits inspector`,onclick:()=>Y.closeRateLimitInspector()}),E(r);var c=N(r,2),l=e=>{v1(e,{label:`Loading rate limits...`})},u=e=>{R(e,Y6())},d=e=>{var t=$r();V(Cn(t),17,()=>Y.rateLimitInspectorSections(),e=>e.key,(e,t)=>{var n=n8(),r=M(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2);{let e=k(()=>`Add `+F(t).title.toLowerCase());b1(o,{get label(){return F(e)},class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(F(t).scope,F(t).subject),children:(e,t)=>{var n=X6();W(Cn(n),{name:`plus`,class:`table-icon-svg`}),We(2),R(e,n)},$$slots:{default:!0}})}E(r);var s=N(r,2),c=e=>{var n=Z6(),r=M(n,!0);E(n),P(()=>z(r,F(t).hint)),R(e,n)};B(s,e=>{F(t).hint&&e(c)});var l=N(s,2),u=e=>{R(e,Q6())},d=e=>{var n=t8();V(n,21,()=>F(t).items,e=>Y.rateLimitKey(e),(e,t)=>{var n=e8(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=M(c);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);W(l,{get name(){return F(e)},class:`budget-period-icon`})}var u=N(l,2),d=M(u,!0);E(u),E(c),E(s);var f=N(s,2),p=M(f),m=M(p),h=M(m,!0);E(m);var g=N(m,2),_=M(g,!0);E(g),E(p);var v=N(p,2),y=M(v),b=e=>{b1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(null,null,F(t)),children:(e,t)=>{var n=$6();W(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},x=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(y,e=>{F(x)&&e(b)}),E(v),E(f),E(i),E(r),E(n),P((e,t,r,i,a,s,c,l)=>{H(n,1,`budget-row ${e??``}`),Ri(n,t),U(n,`title`,r),z(o,i),z(d,a),z(h,s),U(g,`title`,c),z(_,l)},[()=>Y.rateLimitPressureClass(F(t)),()=>Y.rateLimitPressureStyle(F(t)),()=>Y.rateLimitPressurePercent(F(t))+`% of the most constrained cap used`,()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitInspectorSummary(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n)};B(l,e=>{F(t).items.length===0?e(u):e(d,-1)}),E(n),P(()=>z(a,F(t).title)),R(e,n)}),R(e,t)};B(c,e=>{Y.rateLimitsLoading?e(l):Y.rateLimitsAvailable?e(d,-1):e(u,1)});var f=N(c,2),p=M(f),m=N(p,2),h=e=>{var t=r8();I(`click`,t,()=>{Y.closeRateLimitInspector(),zI.navigate(`rate-limits`)}),R(e,t)},g=k(()=>Y.rateLimitsEnabled());B(m,e=>{F(g)&&e(h)}),E(f),E(n),P(()=>z(s,Y.rateLimitInspector.title)),I(`click`,p,()=>Y.closeRateLimitInspector()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var o8=L(`
            models
            `),s8=L(`
            Virtual models feature is unavailable.
            `),c8=L(`
            `),l8=L(``),u8=L(`
            `),d8=L(``),f8=L(`
            `),p8=L(`

            No models registered.

            `),m8=L(`

            No models in this category.

            `),h8=L(`

            No models match your filter.

            `),g8=L(`
            `);function _8(e,t){D(t,!0),Nn(()=>{G.refreshTick,zI.page===`models`&&(V4.fetchVirtualModels(),c3.fetchModelPricingOverrides(),X.fetchFailoverRules(),Y.fetchRateLimitsPage())}),Nn(()=>{let e=V4.filteredDisplayModels.length;return kr(()=>V4.restartModelRendering(e)),()=>V4.stopModelRendering()});let n=k(()=>G.needsAuth);var r=g8(),i=M(r),a=N(M(i),2),o=e=>{var t=o8(),n=M(t),r=M(n,!0);E(n),We(),E(t),P(()=>z(r,RL.filter?V4.filteredDisplayModels.length+` / `+V4.displayModels.length:V4.displayModels.length)),R(e,t)};B(a,e=>{V4.displayModels.length>0&&e(o)}),E(i);var s=N(i,2);BL(s,{});var c=N(s,2),l=e=>{R(e,s8())};B(c,e=>{!V4.virtualModelsAvailable&&!F(n)&&e(l)});var u=N(c,2),d=e=>{var t=c8(),n=M(t,!0);E(t),P(()=>z(n,V4.aliasError)),R(e,t)};B(u,e=>{V4.aliasError&&!F(n)&&e(d)});var f=N(u,2),p=e=>{var t=c8(),n=M(t,!0);E(t),P(()=>z(n,c3.modelPricingOverrideError)),R(e,t)};B(f,e=>{c3.modelPricingOverrideError&&!F(n)&&!c3.modelPricingOverrideFormOpen&&e(p)});var m=N(f,2),h=e=>{var t=u8();V(t,21,()=>RL.categories,e=>e.category,(e,t)=>{var n=l8();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(n),P(()=>{r=H(n,1,`category-tab svelte-scpjps`,null,r,{active:RL.activeCategory===F(t).category}),z(a,F(t).display_name),z(s,F(t).count)}),I(`click`,n,()=>RL.selectCategory(F(t).category)),R(e,n)}),E(t),R(e,t)};B(m,e=>{RL.categories.length>0&&e(h)});var g=N(m,2),_=e=>{var t=f8(),n=M(t);w$(M(n),{placeholder:`Filter by provider, provider/model, alias, or owner...`,label:`Filter models by provider, provider/model, alias, or owner`,get value(){return RL.filter},set value(e){RL.filter=e}}),E(n);var r=N(n,2),i=M(r),a=e=>{var t=d8();W(M(t),{name:`plus`,class:`alias-create-icon`}),We(2),E(t),I(`click`,t,()=>V4.openVirtualModelCreate()),R(e,t)};B(i,e=>{V4.virtualModelsAvailable&&e(a)}),E(r),E(t),R(e,t)};B(g,e=>{(V4.displayModels.length>0||RL.filter||V4.virtualModelsAvailable)&&e(_)});var v=N(g,2),y=e=>{{let t=k(()=>V4.modelLoadingText());v1(e,{get label(){return F(t)},class:`models-loading-state`})}},b=k(()=>V4.modelsBusy()&&!F(n));B(v,e=>{F(b)&&e(y)});var x=N(v,2);x6(x,{});var S=N(x,2);j6(S,{});var C=N(S,2),w=e=>{a6(e,{})};B(C,e=>{(V4.displayModels.length>0||RL.filter)&&e(w)});var T=N(C,2),ee=e=>{R(e,p8())};B(T,e=>{V4.displayModels.length===0&&!RL.loading&&!F(n)&&!RL.filter&&(RL.activeCategory===`all`||!RL.activeCategory)&&e(ee)});var te=N(T,2),ne=e=>{R(e,m8())};B(te,e=>{V4.displayModels.length===0&&!RL.loading&&!F(n)&&!RL.filter&&RL.activeCategory&&RL.activeCategory!==`all`&&e(ne)});var re=N(te,2),ie=e=>{R(e,h8())};B(re,e=>{V4.displayModels.length>0&&V4.filteredDisplayModels.length===0&&RL.filter&&e(ie)});var ae=N(re,2);a8(ae,{});var oe=N(ae,2);w2(oe,{});var se=N(oe,2);z6(se,{}),J6(N(se,2),{}),E(r),R(e,r),O()}Ur([`click`]);var v8=`draft-workflow-preview`;function y8(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function b8(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function x8(e){return{ref:``,step:Number.isFinite(e)?e:10}}function S8(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function C8(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function w8(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function T8(e){return{cache:!!C8(e,`cache`,!1),audit:!!C8(e,`audit`,!1),usage:!!C8(e,`usage`,!1),budget:C8(e,`budget`,!0)!==!1,guardrails:!!C8(e,`guardrails`,!1),failover:C8(e,`failover`,!0)!==!1}}function E8(e,t){let n=T8(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function D8(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...E8((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:T8(n).failover}}function O8(e,t){return D8(e,t).failover?`On`:`Off`}function k8(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:S8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function A8(e,t){return D8(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function j8(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function M8(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function N8(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=M8(e);t&&n.add(t)}),[...n].sort()}function P8(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&M8(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function F8(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?`Provider Name + Model`:t===`provider_model_path`?`Provider Name + Model + Path`:t===`provider_path`?`Provider Name + Path`:t===`path`?`Path`:t===`provider`?`Provider Name`:`Global`}function I8(e){return String(e&&e.scope_display||`global`).trim()||`global`}function L8(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=I8(e);return n===`global`?`All models`:n}function R8(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function z8(e){if(R8(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function B8(e){let t=e||y8(),n=String(t.scope_provider||``).trim(),r=z8(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function V8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=z8(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function H8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=z8(e&&e.scope_user_path),i=V8({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function U8(e,t){let n=t||b8(),r=j8(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=z8(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===z8(n.scope_user_path)}function W8(e,t,n){let r=B8(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>U8(e,r))||null}function G8(e){return String(e&&e.scope_type||``).trim()!==`global`}function K8(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function q8(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,j8(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function J8(e,t){let n=e||y8(),r=B8(n),i=T8(n.features||{}),a=E8(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?k8(n):[];return{id:v8,scope_type:V8(r),scope_display:H8(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function Y8({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||y8(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=z8(a.scope_user_path),l=T8(a.features||{}),u=E8(l,t),d=W8(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=w8(f,`failover`),m=p?C8(f,`failover`,!0)!==!1:null,h=i||b8(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&z8(h.scope_user_path)===z8(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:S8(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function X8(e,{models:t=[],hydratedScope:n=null}={}){let r=n||b8(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!N8(t,r).includes(o)&&o!==i)return`Choose a registered provider name.`;if(s&&!o)return`Model selection requires a provider name.`;if(s){let e=P8(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return`Choose a registered model for the selected provider name.`}let c=R8(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return`Each guardrail step needs a guardrail ref.`;if(!Number.isInteger(e.step)||e.step<0)return`Each guardrail step must use a non-negative integer step number.`;if(d.has(e.ref))return`Each guardrail ref may appear only once in a workflow.`;d.add(e.ref)}return``}var Z8=new class{#e=A(fn([]));get workflows(){return F(this.#e)}set workflows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get submitting(){return F(this.#o)}set submitting(e){j(this.#o,e,!0)}#s=A(``);get deactivatingID(){return F(this.#s)}set deactivatingID(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get formHydrated(){return F(this.#l)}set formHydrated(e){j(this.#l,e,!0)}#u=A(fn(b8()));get hydratedScope(){return F(this.#u)}set hydratedScope(e){j(this.#u,e,!0)}#d=A(fn([]));get guardrailRefs(){return F(this.#d)}set guardrailRefs(e){j(this.#d,e,!0)}#f=A(fn(y8()));get form(){return F(this.#f)}set form(e){j(this.#f,e,!0)}#p=null;failoverVisible(){return sL.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:sL.cacheVisible(),audit:sL.auditVisible(),usage:sL.usageVisible(),budget:sL.budgetsVisible(),guardrails:sL.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return q8(this.workflows,this.filter)}providerOptions(){return N8(RL.models,this.hydratedScope)}modelOptions(e){return P8(RL.models,e,this.hydratedScope)}activeScopeMatch(){return W8(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?`Save`:`Create`}submittingLabel(){return this.submitMode()===`save`?`Saving...`:`Creating...`}preview(){return J8(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=b8(),this.form=y8();return}this.formHydrated=!0,this.hydratedScope={scope_provider:j8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?T8(e.workflow_payload.features):D8(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:S8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):k8(e);this.form={scope_provider:j8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=b8(),this.form=y8()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(x8(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return Y8({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4);try{let t=await rL(`/admin/workflows`,{label:`workflows`,signal:e.signal});if(t.stale)return;if(t.status===503){this.available=!1,this.workflows=[];return}if(this.available=!0,!t.ok){this.workflows=[];return}this.workflows=Array.isArray(t.data)?t.data:[]}catch(t){if(aL(t)&&this.#p!==e)return;console.error(`Failed to fetch workflows:`,t),this.workflows=[],this.error=aL(t)?`Loading workflows timed out.`:`Unable to load workflows.`}finally{clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1)}}async fetchGuardrailRefs(){try{let e=await rL(`/admin/workflows/guardrails`,{label:`workflow guardrails`});if(e.stale)return;this.guardrailRefs=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch workflow guardrails:`,e),this.guardrailRefs=[]}}async fetchPage(){await Promise.all([sL.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=X8(e,{models:RL.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await iL(`/admin/workflows`,`POST`,e,{label:`create workflow`});if(t.stale||t.status===401)return;if(!t.ok){this.formError=$I(t,`Unable to create workflow.`),console.error(`Failed to create workflow:`,t.status,this.formError);return}K.success(`Workflow created and activated.`),this.closeForm(),this.fetchPage()}catch(e){console.error(`Failed to create workflow:`,e),this.formError=`Unable to create workflow.`}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!G8(e))return;let n=L8(e);if(confirm(`Deactivate workflow "`+n+`"? Requests will fall back to the next active workflow for this scope.`)){this.deactivatingID=t;try{let e=await iL(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`});if(e.stale||e.status===401)return;if(!e.ok){let t=$I(e,`Unable to deactivate workflow.`);console.error(`Failed to deactivate workflow:`,e.status,t),K.error(t);return}K.success(`Workflow deactivated.`),this.fetchPage()}catch(e){console.error(`Failed to deactivate workflow:`,e),K.error(`Unable to deactivate workflow.`)}finally{this.deactivatingID=``}}}};function Q8(e){let t=String(e??``),n=typeof navigator<`u`?navigator.clipboard:null;if(n&&typeof n.writeText==`function`)return n.writeText(t);let r=typeof document<`u`?document:null;if(!r||!r.body||typeof r.execCommand!=`function`)return Promise.reject(Error(`Clipboard API unavailable`));let i=r.createElement(`textarea`);i.value=t,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.top=`0`,i.style.left=`0`,i.style.opacity=`0`;try{if(r.body.appendChild(i),i.focus(),i.select(),i.setSelectionRange(0,i.value.length),!r.execCommand(`copy`))throw Error(`execCommand copy returned false`)}finally{i.parentNode&&i.parentNode.removeChild(i)}return Promise.resolve()}function $8({resetDelayMs:e=2e3,logPrefix:t}={}){let n=fn({copied:!1,error:!1}),r=null;function i(){r!==null&&clearTimeout(r),r=null}function a(){i(),r=setTimeout(()=>{n.copied=!1,n.error=!1,r=null},e)}return{get copied(){return n.copied},get error(){return n.error},reset(){i(),n.copied=!1,n.error=!1},async copy(e,r){if(!(e==null||e===``)){i(),n.copied=!1,n.error=!1;try{await Q8(typeof r==`function`?r(e):String(e)),n.copied=!0,n.error=!1}catch(e){console.error(t||`Failed to copy text:`,e),n.copied=!1,n.error=!0}a()}}}}var e5=L(``);function t5(e,t){D(t,!0);let n=ha(t,`workflowID`,3,``),r=$8({logPrefix:`Failed to copy workflow ID:`});Nn(()=>{n(),r.reset()});let i=k(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=k(()=>n()?F(i)+` `+n():F(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=e5();let c;var l=N(M(s),4),u=M(l,!0);E(l);var d=N(l,2);W(M(d),{name:`copy`}),E(d),E(s),P(()=>{c=H(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),U(s,`title`,F(i)),U(s,`aria-label`,F(a)),z(u,n())}),I(`click`,s,o),R(e,s),O()}Ur([`click`]);var n5=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=kt(()=>_((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=o5(),l=M(c),u=e=>{var t=r5();let r;W(M(t),{get name(){return n()}}),E(t),P(()=>r=H(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":F(i)===`workflow-node-endpoint`})),R(e,t)};B(l,e=>{n()&&e(u)});var d=N(l,2),f=M(d,!0);E(d);var p=N(d,2),m=e=>{var t=i5(),n=M(t,!0);E(t),P(()=>z(n,s())),R(e,t)};B(p,e=>{s()&&e(m)});var h=N(p,2),g=e=>{var t=a5(),n=M(t,!0);E(t),P(()=>z(n,o())),R(e,t)};B(h,e=>{o()&&e(g)}),E(c),P(()=>{H(c,1,`workflow-node ${F(i)??``} ${(a()||``)??``}`,`svelte-nbptrg`),z(f,r())}),R(e,c)},r5=L(`
            `),i5=L(` `),a5=L(` `),o5=L(`
            `),s5=L(`
            `,1),c5=L(`
            `,1),l5=L(`
            `),u5=L(`
            Async
            `),d5=L(`
            `);function f5(e,t){D(t,!0);let n=ha(t,`chart`,19,()=>({}));var r=d5();let i;var a=M(r),o=e=>{t5(e,{get workflowID(){return n().workflowID}})};B(a,e=>{n().workflowID&&e(o)});var s=N(a,2),c=M(s);n5(c,()=>({icon:`user`,label:`Client`,variant:`workflow-node-endpoint`}));var l=N(c,4);n5(l,()=>({icon:`database`,label:`Auth`,state:n().authNodeClass,sub:n().authNodeSublabel}));var u=N(l,2),d=e=>{var t=s5(),r=Cn(t);n5(N(r,2),()=>({icon:`database`,label:`Cache`,state:n().cacheNodeClass,badge:n().cacheStatusLabel})),P(()=>H(r,1,`workflow-conn ${(n().cacheConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(u,e=>{n().showCache&&e(d)});var f=N(u,2),p=e=>{var t=c5();n5(N(Cn(t),2),()=>({icon:`wallet`,label:`Budget`,state:n().budgetNodeClass,badge:n().budgetStatusLabel})),R(e,t)};B(f,e=>{n().showBudget&&e(p)});var m=N(f,2),h=e=>{var t=c5();n5(N(Cn(t),2),()=>({icon:`shield`,label:`Guardrails`,sub:n().guardrailLabel})),R(e,t)};B(m,e=>{n().showGuardrails&&e(h)});var g=N(m,2),_=N(g,2);n5(_,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var v=N(_,2),y=e=>{var t=s5(),r=Cn(t);n5(N(r,2),()=>({icon:`maximize-2`,label:`Failover`,state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel})),P(()=>H(r,1,`workflow-conn ${(n().failoverConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(v,e=>{n().showFailover&&e(y)});var b=N(v,2);n5(N(b,2),()=>({icon:`circle-check-big`,label:`Response`,variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel})),E(s);var x=N(s,2),S=e=>{var t=u5(),r=M(t),i=M(r),a=e=>{n5(e,()=>({icon:`chart-column-increasing`,label:`Usage`,variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}))};B(i,e=>{n().showUsage&&e(a)});var o=N(i,2),s=e=>{R(e,l5())};B(o,e=>{n().showUsage&&n().showAudit&&e(s)});var c=N(o,2),l=e=>{n5(e,()=>({icon:`file-text`,label:`Audit Log`,variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}))};B(c,e=>{n().showAudit&&e(l)}),E(r),We(4),E(t),R(e,t)};B(x,e=>{n().showAsync&&e(S)}),E(r),P(()=>{i=H(r,1,`workflow-pipeline svelte-nbptrg`,null,i,{"workflow-pipeline-has-meta":n().workflowID}),H(g,1,`workflow-conn ${(n().aiConnClass||``)??``}`,`svelte-nbptrg`),H(b,1,`workflow-conn ${(n().responseConnClass||``)??``}`,`svelte-nbptrg`)}),R(e,r),O()}function p5(e){let t=k8(e).length;return t===0?``:t===1?`1 step`:t+` steps`}function m5(e,t){return t&&t.provider?t.provider:j8(e&&e.scope)||`AI`}function h5(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function g5(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function _5(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:T8(t)}function v5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function y5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return y5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=y5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:y5(e.error,t+1)):``}function b5(e){let t=e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{};return String(t.error_code||t.errorCode||``).trim()||y5(t.response_body)}function x5(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function S5(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=v5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=x5(n);if(i)return i;let a=j8(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function C5(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=v5(e),o=S5(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=String(e.error_type||``).trim().toLowerCase()===`authentication_error`,l=String(e.auth_method||``).trim().toLowerCase()||null,u=b5(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function w5(e){return!!(e&&e.cacheHit)}function T5(e){return!!(e&&e.failoverTarget)}function E5(e){return!!(e&&e.budgetExceeded)}function D5(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function O5(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function k5(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?`Hit (Semantic)`:`Hit (Exact)`}function A5(e,t,n,r){return e?E5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function j5(e){return E5(e)?`Exceeded`:null}function M5(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function N5(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function P5(e){return e&&e.failoverTarget?`Redirected`:null}function F5(e){return e&&e.failoverTarget?e.failoverTarget:null}function I5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function L5(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function R5(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function z5(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function B5(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function V5(e){return!e||!e.authMethod?null:e.authMethod}function H5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function U5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function W5(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function G5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function K5(e,t){return!e||!e._live||U5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function q5(e,t,n){return!e||!e._live?``:G5(e)?`usage`:K5(e,t)?`audit`:U5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function J5(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?T8(i.features):D8(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||E5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||T5(t),m=g5(e,i.entry),h=q5(i.entry,t,a),g=G5(i.entry),_=K5(i.entry,t),v=U5(i.entry,s),y=W5(i.entry,s);return{showBudget:c,budgetNodeClass:A5(c,t,s,h===`budget`),budgetStatusLabel:j5(t),showGuardrails:l,guardrailLabel:l?p5(e):``,showCache:!!i.forceCache||!!a.cache||w5(t),cacheNodeClass:D5(t,h===`cache`),cacheConnClass:O5(t),cacheStatusLabel:k5(t),showFailover:p,failoverNodeClass:p?M5(t):``,failoverConnClass:p?N5(t):``,failoverStatusLabel:p?P5(t):null,failoverTargetLabel:p?F5(t):null,aiLabel:m5(e,t),aiSublabel:h5(e,t),aiConnClass:I5(t),aiNodeClass:L5(t,h===`ai`),responseConnClass:I5(t),responseNodeClass:R5(t,h===`response`),responseNodeSublabel:z5(t),authNodeClass:B5(t,h===`auth`),authNodeSublabel:V5(t),usageNodeClass:H5(u,y,g),auditNodeClass:H5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function Y5(e,t){return J5(e,null,{forceCache:!1},t)}function X5(e,t,n){return J5(t,C5(e,t),{entry:e,features:_5(e)||(t?D8(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var Z5=L(`

            `),Q5=L(`

            `),$5=L(`
            `),e7=L(`
            `),t7=L(`

            No guardrails configured for this workflow.

            `),n7=L(`

            Guardrails

            `),r7=L(``),i7=L(`

            `);function a7(e,t){D(t,!0);let n=ha(t,`preview`,3,!1),r=k(()=>Z8.featureCaps()),i=k(()=>L8(t.workflow)),a=k(()=>A8(t.workflow,F(r))),o=k(()=>Y5(t.workflow,F(r))),s=k(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=i7();let l;var u=M(c),d=M(u),f=M(d),p=M(f,!0);E(f);var m=N(f,2),h=M(m,!0);E(m),E(d);var g=N(d,2),_=M(g),v=M(_,!0);E(_),E(g),E(u);var y=N(u,2),b=e=>{var n=Z5(),r=M(n,!0);E(n),P(()=>z(r,t.workflow.description)),R(e,n)};B(y,e=>{t.workflow.description&&e(b)});var x=N(y,2),S=e=>{var n=Q5(),i=M(n);E(n),P(e=>z(i,`Failover: ${e??``}`),[()=>O8(t.workflow,F(r))]),R(e,n)},C=k(()=>Z8.failoverVisible());B(x,e=>{F(C)&&e(S)});var w=N(x,2);f5(w,{get chart(){return F(o)}});var T=N(w,2),ee=e=>{var t=n7(),n=M(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var o=N(n,2),c=e=>{var t=e7();V(t,23,()=>F(a),(e,t)=>F(s)+t,(e,t)=>{var n=$5(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a);E(a),E(n),P(()=>{z(i,F(t).ref),z(o,`step ${F(t).step??``}`)}),R(e,n)}),E(t),R(e,t)},l=e=>{R(e,t7())};B(o,e=>{F(a).length>0?e(c):e(l,-1)}),E(t),P(()=>z(i,F(a).length?F(a).length+` steps`:`None`)),R(e,t)},te=k(()=>sL.guardrailsVisible());B(T,e=>{F(te)&&e(ee)});var ne=N(T,2),re=e=>{var n=r7(),r=M(n),a=M(r),o=M(a,!0);E(a);var s=N(a,2);{let e=k(()=>`Edit workflow `+F(i));b1(s,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Z8.openCreate(t.workflow),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(r);var c=N(r,2),l=M(c),u=M(l);E(l);var d=N(l,2),f=M(d);E(d);var p=N(d,2),m=M(p);E(p),E(c),E(n),P((e,n,r,s)=>{a.disabled=e,U(a,`aria-label`,`Deactivate workflow `+F(i)),U(a,`title`,n),z(o,Z8.deactivatingID===t.workflow.id?`Deactivating...`:`Deactivate`),z(u,`version: v${t.workflow.version??``}`),z(f,`created: ${r??``}`),z(m,`hash: ${s??``}`)},[()=>Z8.deactivatingID===t.workflow.id||!G8(t.workflow),()=>G8(t.workflow)?`Deactivate active workflow`:`The global workflow cannot be deactivated.`,()=>ZI.formatTimestamp(t.workflow.created_at),()=>K8(t.workflow.workflow_hash)]),I(`click`,a,()=>Z8.deactivate(t.workflow)),R(e,n)};B(ne,e=>{n()||e(re)}),E(c),P((e,t)=>{l=H(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),z(p,e),z(h,F(i)),z(v,t)},[()=>F8(t.workflow),()=>I8(t.workflow)]),R(e,c),O()}Ur([`click`]);var o7=L(`

            `),s7=L(``),c7=L(``),l7=L(`
            `),u7=L(``),d7=L(``),f7=L(``),p7=L(``),m7=L(``),h7=L(``),g7=L(`
            No named guardrails are currently registered on this deployment. You can still draft a workflow, but guardrail-backed creation may be rejected.
            `),_7=L(`
            `),v7=L(`
            `),y7=L(`

            No guardrail steps configured yet.

            `),b7=L(`

            Guardrail Steps

            Guardrails in the same numeric step run together. Later steps wait for earlier ones to finish.

            `),x7=L(``);function S7(e,t){D(t,!0);function n(){G.dialogOpen||Z8.closeForm()}function r(e){e.preventDefault(),Z8.submitForm()}hL(e,{get open(){return Z8.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var i=x7(),a=M(i),o=M(a),s=M(o);mQ(M(s),{copyId:`workflow-help-copy`,label:`workflow help`,text:`Create immutable version. Submitting activates it for the selected scope.`,title:e=>{var t=o7(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>Z8.submitMode()===`save`?`Edit Workflow`:`Create Workflow`]),R(e,t)},$$slots:{title:!0}}),E(s),pL(N(s,2),{label:`Close workflow editor`,onclick:n}),E(o);var c=N(o,2),l=e=>{var t=s7(),n=M(t,!0);E(t),P(()=>z(n,Z8.formError)),R(e,t)};B(c,e=>{Z8.formError&&e(l)});var u=N(c,2),d=M(u),f=N(M(d),2),p=M(f);p.value=p.__value=``,V(N(p),16,()=>Z8.providerOptions(),e=>e,(e,t)=>{var n=c7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(f),E(d);var m=N(d,2),h=e=>{var t=l7(),n=N(M(t),2),r=M(n);r.value=r.__value=``,V(N(r),17,()=>Z8.modelOptions(Z8.form.scope_provider),e=>Z8.form.scope_provider+`-`+e,(e,t)=>{var n=c7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t)),i!==(i=F(t))&&(n.value=(n.__value=F(t))??``)}),R(e,n)}),E(n),E(t),Vi(n,()=>Z8.form.scope_model,e=>Z8.form.scope_model=e),R(e,t)};B(m,e=>{Z8.form.scope_provider&&e(h)});var g=N(m,2),_=N(M(g),2);Qi(_),E(g);var v=N(g,2),y=N(M(v),2);Qi(y),E(v),E(u);var b=N(u,8),x=N(M(b),2);pt(x),E(b);var S=N(b,2),C=M(S),w=e=>{var t=u7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.cache,e=>Z8.form.features.cache=e),R(e,t)},T=k(()=>sL.cacheVisible());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{var t=d7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.audit,e=>Z8.form.features.audit=e),R(e,t)},ne=k(()=>sL.auditVisible());B(ee,e=>{F(ne)&&e(te)});var re=N(ee,2),ie=e=>{var t=f7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.usage,e=>Z8.form.features.usage=e),R(e,t)},ae=k(()=>sL.usageVisible());B(re,e=>{F(ae)&&e(ie)});var oe=N(re,2),se=e=>{var t=p7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.budget,e=>Z8.form.features.budget=e),R(e,t)},ce=k(()=>sL.budgetsVisible());B(oe,e=>{F(ce)&&e(se)});var le=N(oe,2),ue=e=>{var t=m7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.guardrails,e=>Z8.form.features.guardrails=e),R(e,t)},de=k(()=>sL.guardrailsVisible());B(le,e=>{F(de)&&e(ue)});var fe=N(le,2),pe=e=>{var t=h7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.failover,e=>Z8.form.features.failover=e),R(e,t)},me=k(()=>Z8.failoverVisible());B(fe,e=>{F(me)&&e(pe)}),E(S);var he=N(S,2),ge=N(M(he),2);{let e=k(()=>Z8.preview());a7(ge,{get workflow(){return F(e)},preview:!0})}E(he);var _e=N(he,2),ve=e=>{var t=b7(),n=M(t),r=N(M(n),2);E(n);var i=N(n,2),a=e=>{var t=g7(),n=N(M(t),2);E(t),I(`click`,n,()=>zI.navigate(`guardrails`)),R(e,t)};B(i,e=>{Z8.guardrailRefs.length===0&&e(a)});var o=N(i,2),s=e=>{var t=v7();V(t,21,()=>Z8.form.guardrails,oi,(e,t,n)=>{var r=_7(),i=M(r),a=M(i);U(a,`for`,`workflow-guardrail-ref-`+n);var o=N(a,2);Qi(o),U(o,`id`,`workflow-guardrail-ref-`+n),U(o,`aria-label`,`Guardrail reference `+(n+1)),E(i);var s=N(i,2),c=M(s);U(c,`for`,`workflow-guardrail-step-`+n);var l=N(c,2);Qi(l),U(l,`id`,`workflow-guardrail-step-`+n),U(l,`aria-label`,`Guardrail step `+(n+1)),E(s);var u=N(s,2);E(r),sa(o,()=>F(t).ref,e=>F(t).ref=e),sa(l,()=>F(t).step,e=>F(t).step=e),I(`click`,u,()=>Z8.removeGuardrailStep(n)),R(e,r)}),E(t),R(e,t)},c=e=>{R(e,y7())};B(o,e=>{Z8.form.guardrails.length>0?e(s):e(c,-1)}),E(t),I(`click`,r,()=>Z8.addGuardrailStep()),R(e,t)},ye=k(()=>Z8.form.features.guardrails&&sL.guardrailsVisible());B(_e,e=>{F(ye)&&e(ve)});var be=N(_e,2),xe=M(be),Se=N(xe,2),Ce=M(Se),we=e=>{W(e,{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`})},Te=k(()=>Z8.submitMode()===`create`),Ee=e=>{W(e,{name:`save`,class:`form-action-icon`,"aria-hidden":`true`})};B(Ce,e=>{F(Te)?e(we):e(Ee,-1)});var De=N(Ce,2),Oe=M(De,!0);E(De),E(Se),E(be),E(a),E(i),P(e=>{Se.disabled=Z8.submitting,z(Oe,e)},[()=>Z8.submitting?Z8.submittingLabel():Z8.submitLabel()]),Hr(`submit`,a,r),I(`change`,f,e=>Z8.setProvider(e.currentTarget.value)),Vi(f,()=>Z8.form.scope_provider,e=>Z8.form.scope_provider=e),sa(_,()=>Z8.form.name,e=>Z8.form.name=e),sa(y,()=>Z8.form.scope_user_path,e=>Z8.form.scope_user_path=e),sa(x,()=>Z8.form.description,e=>Z8.form.description=e),I(`click`,xe,n),R(e,i)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var C7=L(`

            Loading workflows...

            `),w7=L(`
            `),T7=L(`

            No active workflows found.

            `),E7=L(`

            No workflows match your filter.

            `),D7=L(`
            `);function O7(e,t){D(t,!0);var n=D7(),r=M(n),i=e=>{var t=C7();zZ(M(t),{size:16,label:`Loading workflows`}),We(),E(t),R(e,t)};B(r,e=>{Z8.loading&&!G.authError&&e(i)});var a=N(r,2),o=e=>{var t=w7();V(t,21,()=>Z8.filteredWorkflows,e=>e.id,(e,t)=>{a7(e,{get workflow(){return F(t)}})}),E(t),R(e,t)};B(a,e=>{Z8.filteredWorkflows.length>0&&e(o)});var s=N(a,2),c=e=>{R(e,T7())};B(s,e=>{Z8.workflows.length===0&&!Z8.loading&&!G.authError&&Z8.available&&e(c)});var l=N(s,2),u=e=>{R(e,E7())};B(l,e=>{Z8.workflows.length>0&&Z8.filteredWorkflows.length===0&&!Z8.loading&&e(u)}),E(n),R(e,n),O()}var k7=L(``),A7=L(`
            Workflows feature is unavailable.
            `),j7=L(`
            `),M7=L(`
            `),N7=L(``),P7=L(`
            `);function F7(e,t){D(t,!0),Nn(()=>{G.refreshTick,Z8.fetchPage()});var n=P7(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=k7();W(M(t),{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`}),We(2),E(t),I(`click`,t,()=>Z8.openCreate()),R(e,t)};B(a,e=>{Z8.available&&e(o)}),E(i),E(r);var s=N(r,2),c=e=>{R(e,A7())};B(s,e=>{!Z8.available&&!G.authError&&e(c)});var l=N(s,2),u=e=>{var t=j7(),n=M(t,!0);E(t),P(()=>z(n,Z8.error)),R(e,t)};B(l,e=>{Z8.error&&!G.authError&&e(u)});var d=N(l,2),f=e=>{var t=M7(),n=M(t);w$(M(n),{placeholder:`Filter by scope, name, hash, or guardrail...`,label:`Filter workflows by scope, name, hash, or guardrail`,get value(){return Z8.filter},set value(e){Z8.filter=e}}),E(n);var r=N(n,2),i=M(r),a=M(i,!0);E(i),E(r),E(t),P(()=>z(a,Z8.filteredWorkflows.length+` active scopes`)),R(e,t)};B(d,e=>{Z8.available&&e(f)});var p=N(d,2);S7(p,{});var m=N(p,2);O7(m,{});var h=N(m,2);V(h,20,()=>Z8.guardrailRefs,e=>e,(e,t)=>{var n=N7(),r={};P(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(h),E(n),R(e,n),O()}Ur([`click`]);var I7=new class{#e=A(fn({}));get workflowVersionsByID(){return F(this.#e)}set workflowVersionsByID(e){j(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:sL.cacheVisible(),audit:sL.auditVisible(),usage:sL.usageVisible(),budget:sL.budgetsVisible(),guardrails:sL.guardrailsVisible(),failover:sL.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await rL(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}};function L7(e){try{return JSON.parse(e)}catch{return null}}function R7(e,t){let n=String(e||``).trim();if(!n)return``;if(t>6)return n;let r=L7(n);return r==null?n:z7(r,t+1)||n}function xte(e){return e==null?``:typeof e==`string`?R7(e,0):z7(e,0)}function z7(e,t){if(e==null||t>6)return``;if(typeof e==`string`){let n=L7(e.trim());return n==null?``:z7(n,t+1)}if(Array.isArray(e)){for(let n=0;n=400||Cte(t&&t.response_body)}function Tte(e){let t=e&&e.data?e.data:null;return t?xte(t.error_message)||(wte(e,t)?z7(t.response_body,0):``):``}function B7(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function Ete(e){let t=B7(e);return t===null?``:t===0?`Audit logs are retained indefinitely.`:t===1?`Audit logs are retained for 1 day.`:`Audit logs are retained for `+t+` days.`}function Dte(e){let t=B7(e);return t===null?``:t===0?`Audit logs are retained `:`Audit logs are retained for `}function Ote(e){let t=B7(e);return t===null?``:t===0?`indefinitely`:t===1?`1 day`:t+` days`}function kte({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o}){let s=e;return s+=`&limit=`+t+`&offset=`+n,r&&(s+=`&search=`+encodeURIComponent(r)),i&&(s+=`&method=`+encodeURIComponent(i)),a&&(s+=`&status_code=`+encodeURIComponent(a)),o&&(s+=`&stream=`+encodeURIComponent(o)),s}function V7(e){return String(e&&e.id||``).trim()}function H7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function Ate(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function jte(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function Mte(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&jte(t)}function Nte(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!Mte(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>Ate(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>H7(e))),s=[];return a.forEach(e=>{let t=H7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function Pte(e,t){let n=V7(t),r=e||{};return!n||r[n]?r:{...r,[n]:!0}}function Fte(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>V7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function Ite(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function U7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function W7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function G7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function K7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function q7(e){let t=K7(e);return t.length>1||t.some(e=>!(e&&e.success))}function Lte(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function J7(e){return String(e&&e.kind||``).trim()||`attempt`}function Rte(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function zte(e){return String(e&&e.model||``).trim()||`-`}function Y7(e){let t=K7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function Bte(e){return Y7(e).length>0}function Vte(e){return K7(e).length+`×`}function X7(e){let t=K7(e),n=t.filter(e=>!(e&&e.success)).length,r=t.length===1?`attempt`:`attempts`,i=t.length+` provider `+r;return n>0?i+` · `+n+` failed`:i}function Hte(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=J7(e);n&&n!==`attempt`&&t.push(n),t.push(Lte(e));let r=Rte(e);r&&r!==`-`&&t.push(r);let i=zte(e);return i&&i!==`-`&&t.push(i),t.push(e.success?`succeeded`:`failed`),t.join(` · `)}function Ute(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function Wte(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||`Provider attempt failed`}function Gte(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function Kte(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function qte(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=Ute(e,t),a=Gte(e,t),o=Wte(t),s=i!=null&&i!==``,c=J7(t),l=K7(e).length<=1;return{title:`Response`,direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:Kte(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:`No response was captured for this attempt.`,showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function Z7(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function Jte(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function Yte(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=Z7(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:`Rewritten`,direction:`request`,seq:i?0:Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:Jte(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:`What changed`,showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:`Rewritten body not captured (body logging disabled or body too large).`}}function Q7(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function Xte(e){let t=Q7(e);return Number(t&&t.cached_input_tokens||0)>0}function Zte(e){let t=Q7(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function Qte(e){let t=Q7(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?HL(r)+` cached`:Zte(e).toFixed(1)+`% cached`}function $te(e){return Xte(e)?Qte(e):``}function ene(e,t){let n=Q7(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function $7(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function tne(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&W7(e);return{title:`Request`,direction:`request`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:$te(e),promptCacheHighlight:ene(e,t),showEmpty:r&&!i,emptyMessage:`Request details were not captured.`,showPending:i,pendingMessage:`Waiting for request data…`,showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:`Request body was too large to capture.`}}function nne(e){let t=e&&e.data?e.data:null,n=Tte(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&W7(e);return{title:`Response`,direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&W7(e),showEmpty:r&&!i,emptyMessage:`Response details were not captured.`,showPending:i,pendingMessage:`Response in progress…`,showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function e9(e,t){let n=[{id:`request`,pane:tne(e,t)}];return Z7(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:Yte(e,t)})}),q7(e)?K7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:qte(e,t)})}):n.push({id:`response`,pane:nne(e)}),n}function rne(e){if(!q7(e))return`response`;let t=K7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function ine(e,t){return e&&e9(t).some(t=>t.id===e)?e:rne(t)}function ane(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}function t9(){return{entries:[],total:0,limit:25,offset:0}}var n9=new class{#e=A(fn({}));get auditExpandedEntries(){return F(this.#e)}set auditExpandedEntries(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}auditFetchToken=0;get auditLog(){return VQ.auditLog}set auditLog(e){VQ.auditLog=e}get auditSearch(){return VQ.auditSearch}set auditSearch(e){VQ.auditSearch=e}get auditMethod(){return VQ.auditMethod}set auditMethod(e){VQ.auditMethod=e}get auditStatusCode(){return VQ.auditStatusCode}set auditStatusCode(e){VQ.auditStatusCode=e}get auditStream(){return VQ.auditStream}set auditStream(e){VQ.auditStream=e}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,customStartDate:rR.customStartDate,customEndDate:rR.customEndDate}}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=await rL(`/admin/audit/log?`+kte({dateQuery:rR.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream}),{label:`audit log`});if(n.stale||t!==this.auditFetchToken)return;if(!n.ok){this.auditLog=t9();return}let r=Nte(n.data,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(r.entries)||(r.entries=[]),this.auditLog=r,this.auditExpandedEntries=Fte(this.auditExpandedEntries,r.entries);try{await I7.prefetchAuditWorkflows(this.auditLog.entries)}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=t9()}finally{t===this.auditFetchToken&&(this.loading=!1)}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=V7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}markAuditEntryExpanded(e){this.auditExpandedEntries=Pte(this.auditExpandedEntries,e)}};VQ.fetchAuditLog=e=>n9.fetchAuditLog(e),VQ.isAuditEntryExpanded=e=>n9.isAuditEntryExpanded(e);var one=L(`
            `);function sne(e,t){D(t,!0);let n=T$(()=>n9.fetchAuditLog(!0));Nn(()=>n.cancel);var r=one(),i=M(r);w$(M(i),{id:`audit-filter-search`,placeholder:`Search by request ID, model, provider, path, user path, or error...`,label:`Search by request ID, model, provider, path, user path, or error`,get oninput(){return n},get value(){return n9.auditSearch},set value(e){n9.auditSearch=e}}),E(i);var a=N(i,2),o=M(a),s=M(o);s.value=s.__value=``;var c=N(s);c.value=c.__value=`GET`;var l=N(c);l.value=l.__value=`POST`;var u=N(l);u.value=u.__value=`PUT`;var d=N(u);d.value=d.__value=`PATCH`;var f=N(d);f.value=f.__value=`DELETE`,E(o);var p=N(o,2),m=M(p);m.value=m.__value=``;var h=N(m);h.value=h.__value=`200`;var g=N(h);g.value=g.__value=`201`;var _=N(g);_.value=_.__value=`400`;var v=N(_);v.value=v.__value=`401`;var y=N(v);y.value=y.__value=`403`;var b=N(y);b.value=b.__value=`404`;var x=N(b);x.value=x.__value=`429`;var S=N(x);S.value=S.__value=`500`;var C=N(S);C.value=C.__value=`502`;var w=N(C);w.value=w.__value=`503`;var T=N(w);T.value=T.__value=`504`,E(p);var ee=N(p,2),te=M(ee);te.value=te.__value=``;var ne=N(te);ne.value=ne.__value=`true`;var re=N(ne);re.value=re.__value=`false`,E(ee);var ie=N(ee,2);W(M(ie),{name:`x`,class:`table-icon-svg`}),We(2),E(ie),E(a),E(r),I(`change`,o,()=>n9.fetchAuditLog(!0)),Vi(o,()=>n9.auditMethod,e=>n9.auditMethod=e),I(`change`,p,()=>n9.fetchAuditLog(!0)),Vi(p,()=>n9.auditStatusCode,e=>n9.auditStatusCode=e),I(`change`,ee,()=>n9.fetchAuditLog(!0)),Vi(ee,()=>n9.auditStream,e=>n9.auditStream=e),I(`click`,ie,()=>n9.clearAuditFilters()),R(e,r),O()}Ur([`change`,`click`]);var cne=L(` `),lne=L(``);function une(e,t){D(t,!0);let n=k(()=>[{key:`provider`,text:QL(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+tR(t.entry),mono:!0},{key:`failover`,text:G7(t.entry)&&`failover: `+G7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=lne(),i=N(M(r),2);V(i,21,()=>F(n),e=>e.key,(e,t)=>{var n=cne();let r;var i=M(n,!0);E(n),P(()=>{r=H(n,1,`provider-badge ${(F(t).class||``)??``}`,`svelte-hyopt0`,r,{mono:F(t).mono}),z(i,F(t).text)}),R(e,n)}),E(i),E(r),R(e,r),O()}var dne=new Set([`instructions`,`messages`,`input`,`previous_response_id`,`choices`,`output`]);function r9(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:``).filter(Boolean).join(` + selector; unset fields continue to inherit.

            Price Type USD Source
            `);function j6(e,t){D(t,!0);let n=c3;hL(e,{get open(){return n.modelPricingOverrideFormOpen},onclose:()=>n.closeModelPricingOverrideForm(),children:(e,t)=>{var r=A6(),i=M(r),a=M(i),o=M(a),s=N(M(o),2),c=M(s,!0);E(s),E(o),pL(N(o,2),{label:`Close model pricing editor`,onclick:()=>n.closeModelPricingOverrideForm()}),E(a);var l=N(a,2),u=M(l),d=N(M(u),2);Qi(d),E(u);var f=N(u,2),p=e=>{var t=C6(),r=N(M(t),2);V(r,21,()=>n.modelPricingOverrideFormScopeOptions,e=>e.value,(e,t)=>{var n=S6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(r),E(t),I(`change`,r,()=>n.setModelPricingOverrideScope(n.modelPricingOverrideFormScope)),Vi(r,()=>n.modelPricingOverrideFormScope,e=>n.modelPricingOverrideFormScope=e),R(e,t)};B(f,e=>{n.modelPricingOverrideFormScopeOptions.length>1&&e(p)}),E(l);var m=N(l,4);V(m,21,()=>n.modelPricingOverrideRows,e=>e.id,(e,t,r)=>{var i=w6(),a=M(i),o=M(a),s=N(o,2);V(s,21,()=>n.availablePricingFieldOptions(F(t)),e=>e.value,(e,t)=>{var n=S6(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t).group+` - `+F(t).label),i!==(i=F(t).value)&&(n.value=(n.__value=F(t).value)??``)}),R(e,n)}),E(s),E(a);var c=N(a,2),l=M(c),u=N(l,2);Qi(u),E(c);var d=N(c,2);{let e=k(()=>`Remove `+n.pricingFieldLabel(F(t).field));b1(d,{get label(){return F(e)},class:`table-action-btn-danger table-icon-btn pricing-override-remove-row`,onclick:()=>n.removeModelPricingOverrideRow(F(t)),children:(e,t)=>{W(e,{name:`x`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(i),P(()=>{U(o,`for`,`pricing-type-`+F(t).id),U(s,`id`,`pricing-type-`+F(t).id),U(l,`for`,`pricing-value-`+F(t).id),U(u,`id`,`pricing-value-`+F(t).id)}),Vi(s,()=>F(t).field,e=>F(t).field=e),sa(u,()=>F(t).value,e=>F(t).value=e),R(e,i)}),E(m);var h=N(m,2),g=M(h);W(M(g),{name:`plus`,class:`form-action-icon`}),We(2),E(g),E(h);var _=N(h,2),v=e=>{R(e,T6())};B(_,e=>{n.modelPricingOverrideFormPreservedTiers.length>0&&e(v)});var y=N(_,2),b=N(M(y),2),x=e=>{R(e,E6())},S=k(()=>n.modelPricingEffectivePreviewRows().length===0);B(b,e=>{F(S)&&e(x)}),V(N(b,2),17,()=>n.modelPricingEffectivePreviewRows(),e=>e.field,(e,t)=>{var n=D6(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(n),P(e=>{z(i,F(t).label),z(o,e),z(c,F(t).source)},[()=>F(t).value===null||F(t).value===void 0?`-`:GL(Number(F(t).value))]),R(e,n)}),E(y);var C=N(y,2),w=e=>{var t=O6(),r=M(t,!0);E(t),P(()=>z(r,n.modelPricingOverrideError)),R(e,t)};B(C,e=>{n.modelPricingOverrideError&&e(w)});var T=N(C,2),ee=M(T),te=N(ee,2),ne=e=>{var t=k6();P(()=>t.disabled=n.modelPricingOverrideSubmitting),I(`click`,t,()=>n.deleteModelPricingOverride()),R(e,t)};B(te,e=>{n.modelPricingOverrideFormHasExistingOverride&&e(ne)});var re=N(te,2),ie=M(re);W(ie,{name:`save`,class:`form-action-icon`});var ae=N(ie,2),oe=M(ae,!0);E(ae),E(re),E(T),E(i),E(r),P(()=>{z(c,n.modelPricingOverrideFormDisplayName||n.modelPricingOverrideForm.selector||`Pricing`),re.disabled=n.modelPricingOverrideSubmitting,z(oe,n.modelPricingOverrideSubmitting?`Saving...`:`Save Pricing`)}),Hr(`submit`,i,e=>{e.preventDefault(),n.submitModelPricingOverrideForm()}),sa(d,()=>n.modelPricingOverrideForm.selector,e=>n.modelPricingOverrideForm.selector=e),I(`click`,g,()=>n.addModelPricingOverrideRow()),I(`click`,ee,()=>n.closeModelPricingOverrideForm()),R(e,r)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var M6=L(`

            This failover mapping is defined in configuration and is read-only here.

            `),N6=L(``),P6=L(`
            `),F6=L(``),I6=L(``),L6=L(``),R6=L(``);function z6(e,t){D(t,!0),hL(e,{get open(){return X.failoverFormOpen},variant:`editor`,onclose:()=>X.closeFailoverForm(),children:(e,t)=>{var n=R6(),r=M(n),i=M(r),a=M(i),o=N(M(a),2),s=M(o,!0);E(o),E(a),pL(N(a,2),{label:`Close failover editor`,onclick:()=>X.closeFailoverForm()}),E(i);var c=N(i,2),l=e=>{R(e,M6())};B(c,e=>{X.failoverFormManaged&&e(l)});var u=N(c,2);V(u,21,()=>RL.models,oi,(e,t)=>{var n=N6(),r=M(n,!0);E(n);var i={};P((e,t)=>{z(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>W2(F(t)),()=>W2(F(t))]),R(e,n)}),E(u);var d=N(u,2),f=N(M(d),2),p=M(f),m=M(p);Qi(m);var h=N(m,2),g=e=>{b1(e,{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removePrimaryFailoverTarget(),get disabled(){return X.failoverFormManaged},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}})};B(h,e=>{X.failoverForm.target_model&&e(g)}),E(p),V(N(p,2),17,()=>X.failoverForm.targets,oi,(e,t,n)=>{var r=P6(),i=M(r);Qi(i),b1(N(i,2),{label:`Remove fallback model`,class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>X.removeFailoverTarget(n),get disabled(){return X.failoverFormManaged},children:(e,t)=>{W(e,{name:`trash-2`,class:`table-icon-svg`})},$$slots:{default:!0}}),E(r),P(()=>i.disabled=X.failoverFormManaged),sa(i,()=>F(t).model,e=>F(t).model=e),R(e,r)}),E(f);var _=N(f,2),v=M(_);W(M(v),{name:`plus`,class:`form-action-icon`}),We(2),E(v);var y=N(v,2),b=M(y);W(b,{name:`wand-sparkles`,class:`form-action-icon`});var x=N(b,2),S=M(x,!0);E(x),E(y),E(_),E(d);var C=N(d,2),w=M(C),T=M(w);let ee;var te=N(M(T),2),ne=M(te,!0);E(te),E(T),E(w),E(C);var re=N(C,2),ie=e=>{var t=F6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(re,e=>{X.failoverError&&e(ie)});var ae=N(re,2),oe=M(ae),se=N(oe,2),ce=e=>{var t=I6();P(()=>t.disabled=X.failoverSaving||X.failoverGenerating),I(`click`,t,()=>X.deleteFailoverRule()),R(e,t)};B(se,e=>{X.failoverFormMode===`edit`&&!X.failoverFormManaged&&e(ce)});var le=N(se,2),ue=e=>{var t=L6(),n=M(t);W(n,{name:`save`,class:`form-action-icon`});var r=N(n,2),i=M(r,!0);E(r),E(t),P(()=>{t.disabled=X.failoverSaving||X.failoverGenerating,z(i,X.failoverSaving?`Saving...`:`Save`)}),R(e,t)};B(le,e=>{X.failoverFormManaged||e(ue)}),E(ae),E(r),E(n),P(e=>{z(s,X.failoverForm.source||`Failover`),m.disabled=X.failoverFormManaged,v.disabled=X.failoverFormManaged||X.failoverGenerating||X.failoverSaving,y.disabled=e,z(S,X.failoverGenerating?`Generating...`:`Generate automatically`),ee=H(T,1,`alias-toggle`,null,ee,{enabled:X.failoverForm.enabled}),T.disabled=X.failoverFormManaged,U(T,`aria-label`,(X.failoverForm.enabled?`Disable`:`Enable`)+` failover mapping`),z(ne,X.failoverForm.enabled?`Enabled`:`Disabled`)},[()=>X.failoverFormManaged||X.failoverGenerating||X.failoverSaving||!X.failoverEnabled()]),Hr(`submit`,r,e=>{e.preventDefault(),X.submitFailoverForm()}),sa(m,()=>X.failoverForm.target_model,e=>X.failoverForm.target_model=e),I(`click`,v,()=>X.addFailoverTarget()),I(`click`,y,()=>X.generateFailoverForForm()),I(`click`,T,()=>{X.failoverFormManaged||(X.failoverForm.enabled=!X.failoverForm.enabled)}),I(`click`,oe,()=>X.closeFailoverForm()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var B6=L(` `),V6=L(`
            `),H6=L(``),U6=L(`
            `),W6=L(`

            No failover suggestions were generated.

            `),G6=L(`

            No failover drafts match the filter.

            `),K6=L(``),q6=L(``);function J6(e,t){D(t,!0),hL(e,{get open(){return X.failoverDraftsOpen},variant:`editor`,onclose:()=>X.closeFailoverDraftsModal(),children:(e,t)=>{var n=q6(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=B6(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>X.failoverDraftCountLabel()]),R(e,t)};B(a,e=>{X.failoverGeneratedRules.length>0&&e(o)}),pL(N(a,2),{label:`Close failover drafts`,onclick:()=>X.closeFailoverDraftsModal(),get disabled(){return X.failoverDraftSaving}}),E(i),E(r);var s=N(r,2),c=e=>{v1(e,{label:`Generating failover drafts...`,class:`failover-drafts-loading`})};B(s,e=>{X.failoverGenerating&&e(c)});var l=N(s,2),u=e=>{var t=V6(),n=M(t);w$(n,{placeholder:`Filter failover drafts...`,label:`Filter failover drafts`,get value(){return X.failoverDraftFilter},set value(e){X.failoverDraftFilter=e}});var r=N(n,2),i=M(r);W(i,{name:`check`,class:`form-action-icon`});var a=N(i,2),o=M(a,!0);E(a),E(r),E(t),P(e=>{r.disabled=X.failoverDraftSaving,z(o,e)},[()=>X.allFailoverDraftsSelected()?`Deselect all`:`Select all`]),I(`click`,r,()=>X.toggleAllFailoverDrafts()),R(e,t)};B(l,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&e(u)});var d=N(l,2),f=e=>{var t=U6();V(t,21,()=>X.filteredFailoverDrafts(),e=>`failover-draft:`+X.failoverPrimaryModel(e),(e,t)=>{var n=H6(),r=M(n);Qi(r);var i=N(r,2),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s,!0);E(s),E(i),E(n),P((e,t,n,i)=>{ea(r,e),r.disabled=X.failoverDraftSaving,U(r,`aria-label`,t),z(o,n),z(c,i)},[()=>X.failoverDraftSelected(F(t)),()=>`Select failover draft for `+X.failoverPrimaryModel(F(t)),()=>X.failoverPrimaryModel(F(t)),()=>X.failoverTargetLabel(F(t))]),I(`change`,r,e=>X.setFailoverDraftSelected(F(t),e.currentTarget.checked)),R(e,n)}),E(t),R(e,t)},p=k(()=>!X.failoverGenerating&&X.filteredFailoverDrafts().length>0);B(d,e=>{F(p)&&e(f)});var m=N(d,2),h=e=>{R(e,W6())};B(m,e=>{!X.failoverGenerating&&X.failoverGeneratedRules.length===0&&!X.failoverError&&e(h)});var g=N(m,2),_=e=>{R(e,G6())},v=k(()=>!X.failoverGenerating&&X.failoverGeneratedRules.length>0&&X.filteredFailoverDrafts().length===0);B(g,e=>{F(v)&&e(_)});var y=N(g,2),b=e=>{var t=K6(),n=M(t,!0);E(t),P(()=>z(n,X.failoverError)),R(e,t)};B(y,e=>{X.failoverError&&e(b)});var x=N(y,2),S=M(x),C=N(S,2),w=M(C);W(w,{name:`save`,class:`form-action-icon`});var T=N(w,2),ee=M(T,!0);E(T),E(C),E(x),E(n),P(e=>{S.disabled=X.failoverDraftSaving,C.disabled=e,z(ee,X.failoverDraftSaving?`Saving...`:`Save selected`)},[()=>X.failoverGenerating||X.failoverDraftSaving||X.selectedFailoverDraftCount()===0]),I(`click`,S,()=>X.closeFailoverDraftsModal()),I(`click`,C,()=>X.saveSelectedFailoverDrafts()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`,`change`]);var Y6=L(`
            Rate limit management is unavailable.
            `),X6=L(` Add`,1),Z6=L(`

            `),Q6=L(`

            No rules.

            `),$6=L(` Edit`,1),e8=L(`
            `),t8=L(`
            `),n8=L(`

            `),r8=L(``),i8=L(``);function a8(e,t){D(t,!0);function n(){G.dialogOpen||Y.closeRateLimitInspector()}hL(e,{get open(){return Y.rateLimitInspectorOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=i8(),r=M(n),i=M(r),a=N(M(i),2),o=M(a),s=M(o,!0);E(o),E(a),E(i),pL(N(i,2),{label:`Close rate limits inspector`,onclick:()=>Y.closeRateLimitInspector()}),E(r);var c=N(r,2),l=e=>{v1(e,{label:`Loading rate limits...`})},u=e=>{R(e,Y6())},d=e=>{var t=$r();V(Cn(t),17,()=>Y.rateLimitInspectorSections(),e=>e.key,(e,t)=>{var n=n8(),r=M(n),i=M(r),a=M(i,!0);E(i);var o=N(i,2);{let e=k(()=>`Add `+F(t).title.toLowerCase());b1(o,{get label(){return F(e)},class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(F(t).scope,F(t).subject),children:(e,t)=>{var n=X6();W(Cn(n),{name:`plus`,class:`table-icon-svg`}),We(2),R(e,n)},$$slots:{default:!0}})}E(r);var s=N(r,2),c=e=>{var n=Z6(),r=M(n,!0);E(n),P(()=>z(r,F(t).hint)),R(e,n)};B(s,e=>{F(t).hint&&e(c)});var l=N(s,2),u=e=>{R(e,Q6())},d=e=>{var n=t8();V(n,21,()=>F(t).items,e=>Y.rateLimitKey(e),(e,t)=>{var n=e8(),r=M(n),i=M(r),a=M(i),o=M(a,!0);E(a);var s=N(a,2),c=M(s),l=M(c);{let e=k(()=>Y.rateLimitIsConcurrent(F(t))?`activity`:`timer`);W(l,{get name(){return F(e)},class:`budget-period-icon`})}var u=N(l,2),d=M(u,!0);E(u),E(c),E(s);var f=N(s,2),p=M(f),m=M(p),h=M(m,!0);E(m);var g=N(m,2),_=M(g,!0);E(g),E(p);var v=N(p,2),y=M(v),b=e=>{b1(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Y.openRateLimitFormFromInspector(null,null,F(t)),children:(e,t)=>{var n=$6();W(Cn(n),{name:`pencil`,class:`budget-action-icon`}),We(2),R(e,n)},$$slots:{default:!0}})},x=k(()=>!Y.rateLimitIsReadOnly(F(t)));B(y,e=>{F(x)&&e(b)}),E(v),E(f),E(i),E(r),E(n),P((e,t,r,i,a,s,c,l)=>{H(n,1,`budget-row ${e??``}`),Ri(n,t),U(n,`title`,r),z(o,i),z(d,a),z(h,s),U(g,`title`,c),z(_,l)},[()=>Y.rateLimitPressureClass(F(t)),()=>Y.rateLimitPressureStyle(F(t)),()=>Y.rateLimitPressurePercent(F(t))+`% of the most constrained cap used`,()=>Y.rateLimitSubject(F(t)),()=>Y.rateLimitPeriodLabel(F(t)),()=>Y.rateLimitInspectorSummary(F(t)),()=>Y.rateLimitIsReadOnly(F(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Y.rateLimitSourceLabel(F(t))]),R(e,n)}),E(n),R(e,n)};B(l,e=>{F(t).items.length===0?e(u):e(d,-1)}),E(n),P(()=>z(a,F(t).title)),R(e,n)}),R(e,t)};B(c,e=>{Y.rateLimitsLoading?e(l):Y.rateLimitsAvailable?e(d,-1):e(u,1)});var f=N(c,2),p=M(f),m=N(p,2),h=e=>{var t=r8();I(`click`,t,()=>{Y.closeRateLimitInspector(),zI.navigate(`rate-limits`)}),R(e,t)},g=k(()=>Y.rateLimitsEnabled());B(m,e=>{F(g)&&e(h)}),E(f),E(n),P(()=>z(s,Y.rateLimitInspector.title)),I(`click`,p,()=>Y.closeRateLimitInspector()),R(e,n)},$$slots:{default:!0}}),O()}Ur([`click`]);var o8=L(`
            models
            `),s8=L(`
            Virtual models feature is unavailable.
            `),c8=L(`
            `),l8=L(``),u8=L(`
            `),d8=L(``),f8=L(`
            `),p8=L(`

            No models registered.

            `),m8=L(`

            No models in this category.

            `),h8=L(`

            No models match your filter.

            `),g8=L(`
            `);function _8(e,t){D(t,!0),Nn(()=>{G.refreshTick,zI.page===`models`&&(V4.fetchVirtualModels(),c3.fetchModelPricingOverrides(),X.fetchFailoverRules(),Y.fetchRateLimitsPage())}),Nn(()=>{let e=V4.filteredDisplayModels.length;return kr(()=>V4.restartModelRendering(e)),()=>V4.stopModelRendering()});let n=k(()=>G.needsAuth);var r=g8(),i=M(r),a=N(M(i),2),o=e=>{var t=o8(),n=M(t),r=M(n,!0);E(n),We(),E(t),P(()=>z(r,RL.filter?V4.filteredDisplayModels.length+` / `+V4.displayModels.length:V4.displayModels.length)),R(e,t)};B(a,e=>{V4.displayModels.length>0&&e(o)}),E(i);var s=N(i,2);BL(s,{});var c=N(s,2),l=e=>{R(e,s8())};B(c,e=>{!V4.virtualModelsAvailable&&!F(n)&&e(l)});var u=N(c,2),d=e=>{var t=c8(),n=M(t,!0);E(t),P(()=>z(n,V4.aliasError)),R(e,t)};B(u,e=>{V4.aliasError&&!F(n)&&e(d)});var f=N(u,2),p=e=>{var t=c8(),n=M(t,!0);E(t),P(()=>z(n,c3.modelPricingOverrideError)),R(e,t)};B(f,e=>{c3.modelPricingOverrideError&&!F(n)&&!c3.modelPricingOverrideFormOpen&&e(p)});var m=N(f,2),h=e=>{var t=u8();V(t,21,()=>RL.categories,e=>e.category,(e,t)=>{var n=l8();let r;var i=M(n),a=M(i,!0);E(i);var o=N(i,2),s=M(o,!0);E(o),E(n),P(()=>{r=H(n,1,`category-tab svelte-scpjps`,null,r,{active:RL.activeCategory===F(t).category}),z(a,F(t).display_name),z(s,F(t).count)}),I(`click`,n,()=>RL.selectCategory(F(t).category)),R(e,n)}),E(t),R(e,t)};B(m,e=>{RL.categories.length>0&&e(h)});var g=N(m,2),_=e=>{var t=f8(),n=M(t);w$(M(n),{placeholder:`Filter by provider, provider/model, alias, or owner...`,label:`Filter models by provider, provider/model, alias, or owner`,get value(){return RL.filter},set value(e){RL.filter=e}}),E(n);var r=N(n,2),i=M(r),a=e=>{var t=d8();W(M(t),{name:`plus`,class:`alias-create-icon`}),We(2),E(t),I(`click`,t,()=>V4.openVirtualModelCreate()),R(e,t)};B(i,e=>{V4.virtualModelsAvailable&&e(a)}),E(r),E(t),R(e,t)};B(g,e=>{(V4.displayModels.length>0||RL.filter||V4.virtualModelsAvailable)&&e(_)});var v=N(g,2),y=e=>{{let t=k(()=>V4.modelLoadingText());v1(e,{get label(){return F(t)},class:`models-loading-state`})}},b=k(()=>V4.modelsBusy()&&!F(n));B(v,e=>{F(b)&&e(y)});var x=N(v,2);x6(x,{});var S=N(x,2);j6(S,{});var C=N(S,2),w=e=>{a6(e,{})};B(C,e=>{(V4.displayModels.length>0||RL.filter)&&e(w)});var T=N(C,2),ee=e=>{R(e,p8())};B(T,e=>{V4.displayModels.length===0&&!RL.loading&&!F(n)&&!RL.filter&&(RL.activeCategory===`all`||!RL.activeCategory)&&e(ee)});var te=N(T,2),ne=e=>{R(e,m8())};B(te,e=>{V4.displayModels.length===0&&!RL.loading&&!F(n)&&!RL.filter&&RL.activeCategory&&RL.activeCategory!==`all`&&e(ne)});var re=N(te,2),ie=e=>{R(e,h8())};B(re,e=>{V4.displayModels.length>0&&V4.filteredDisplayModels.length===0&&RL.filter&&e(ie)});var ae=N(re,2);a8(ae,{});var oe=N(ae,2);w2(oe,{});var se=N(oe,2);z6(se,{}),J6(N(se,2),{}),E(r),R(e,r),O()}Ur([`click`]);var v8=`draft-workflow-preview`;function y8(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function b8(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function x8(e){return{ref:``,step:Number.isFinite(e)?e:10}}function S8(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function C8(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function w8(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function T8(e){return{cache:!!C8(e,`cache`,!1),audit:!!C8(e,`audit`,!1),usage:!!C8(e,`usage`,!1),budget:C8(e,`budget`,!0)!==!1,guardrails:!!C8(e,`guardrails`,!1),failover:C8(e,`failover`,!0)!==!1}}function E8(e,t){let n=T8(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function D8(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...E8((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:T8(n).failover}}function O8(e,t){return D8(e,t).failover?`On`:`Off`}function k8(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:S8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function A8(e,t){return D8(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function j8(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function M8(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function N8(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=M8(e);t&&n.add(t)}),[...n].sort()}function P8(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&M8(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function F8(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?`Provider Name + Model`:t===`provider_model_path`?`Provider Name + Model + Path`:t===`provider_path`?`Provider Name + Path`:t===`path`?`Path`:t===`provider`?`Provider Name`:`Global`}function I8(e){return String(e&&e.scope_display||`global`).trim()||`global`}function L8(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=I8(e);return n===`global`?`All models`:n}function R8(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return`User path cannot contain "." or ".." segments.`;if(t.includes(`:`))return`User path cannot contain ":" segments.`}}return``}function z8(e){if(R8(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function B8(e){let t=e||y8(),n=String(t.scope_provider||``).trim(),r=z8(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function V8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=z8(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function H8(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=z8(e&&e.scope_user_path),i=V8({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function U8(e,t){let n=t||b8(),r=j8(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=z8(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===z8(n.scope_user_path)}function W8(e,t,n){let r=B8(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>U8(e,r))||null}function G8(e){return String(e&&e.scope_type||``).trim()!==`global`}function K8(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function q8(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,j8(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function J8(e,t){let n=e||y8(),r=B8(n),i=T8(n.features||{}),a=E8(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?k8(n):[];return{id:v8,scope_type:V8(r),scope_display:H8(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function Y8({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||y8(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=z8(a.scope_user_path),l=T8(a.features||{}),u=E8(l,t),d=W8(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=w8(f,`failover`),m=p?C8(f,`failover`,!0)!==!1:null,h=i||b8(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&z8(h.scope_user_path)===z8(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:S8(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function X8(e,{models:t=[],hydratedScope:n=null}={}){let r=n||b8(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!N8(t,r).includes(o)&&o!==i)return`Choose a registered provider name.`;if(s&&!o)return`Model selection requires a provider name.`;if(s){let e=P8(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return`Choose a registered model for the selected provider name.`}let c=R8(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return`Each guardrail step needs a guardrail ref.`;if(!Number.isInteger(e.step)||e.step<0)return`Each guardrail step must use a non-negative integer step number.`;if(d.has(e.ref))return`Each guardrail ref may appear only once in a workflow.`;d.add(e.ref)}return``}var Z8=new class{#e=A(fn([]));get workflows(){return F(this.#e)}set workflows(e){j(this.#e,e,!0)}#t=A(!0);get available(){return F(this.#t)}set available(e){j(this.#t,e,!0)}#n=A(!1);get loading(){return F(this.#n)}set loading(e){j(this.#n,e,!0)}#r=A(``);get error(){return F(this.#r)}set error(e){j(this.#r,e,!0)}#i=A(``);get filter(){return F(this.#i)}set filter(e){j(this.#i,e,!0)}#a=A(!1);get formOpen(){return F(this.#a)}set formOpen(e){j(this.#a,e,!0)}#o=A(!1);get submitting(){return F(this.#o)}set submitting(e){j(this.#o,e,!0)}#s=A(``);get deactivatingID(){return F(this.#s)}set deactivatingID(e){j(this.#s,e,!0)}#c=A(``);get formError(){return F(this.#c)}set formError(e){j(this.#c,e,!0)}#l=A(!1);get formHydrated(){return F(this.#l)}set formHydrated(e){j(this.#l,e,!0)}#u=A(fn(b8()));get hydratedScope(){return F(this.#u)}set hydratedScope(e){j(this.#u,e,!0)}#d=A(fn([]));get guardrailRefs(){return F(this.#d)}set guardrailRefs(e){j(this.#d,e,!0)}#f=A(fn(y8()));get form(){return F(this.#f)}set form(e){j(this.#f,e,!0)}#p=null;failoverVisible(){return sL.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:sL.cacheVisible(),audit:sL.auditVisible(),usage:sL.usageVisible(),budget:sL.budgetsVisible(),guardrails:sL.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return q8(this.workflows,this.filter)}providerOptions(){return N8(RL.models,this.hydratedScope)}modelOptions(e){return P8(RL.models,e,this.hydratedScope)}activeScopeMatch(){return W8(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?`Save`:`Create`}submittingLabel(){return this.submitMode()===`save`?`Saving...`:`Creating...`}preview(){return J8(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=b8(),this.form=y8();return}this.formHydrated=!0,this.hydratedScope={scope_provider:j8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?T8(e.workflow_payload.features):D8(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:S8(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):k8(e);this.form={scope_provider:j8(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=b8(),this.form=y8()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(x8(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return Y8({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4);try{let t=await rL(`/admin/workflows`,{label:`workflows`,signal:e.signal});if(t.stale)return;if(t.status===503){this.available=!1,this.workflows=[];return}if(this.available=!0,!t.ok){this.workflows=[];return}this.workflows=Array.isArray(t.data)?t.data:[]}catch(t){if(aL(t)&&this.#p!==e)return;console.error(`Failed to fetch workflows:`,t),this.workflows=[],this.error=aL(t)?`Loading workflows timed out.`:`Unable to load workflows.`}finally{clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1)}}async fetchGuardrailRefs(){try{let e=await rL(`/admin/workflows/guardrails`,{label:`workflow guardrails`});if(e.stale)return;this.guardrailRefs=e.ok&&Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch workflow guardrails:`,e),this.guardrailRefs=[]}}async fetchPage(){await Promise.all([sL.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=X8(e,{models:RL.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await iL(`/admin/workflows`,`POST`,e,{label:`create workflow`});if(t.stale||t.status===401)return;if(!t.ok){this.formError=$I(t,`Unable to create workflow.`),console.error(`Failed to create workflow:`,t.status,this.formError);return}K.success(`Workflow created and activated.`),this.closeForm(),this.fetchPage()}catch(e){console.error(`Failed to create workflow:`,e),this.formError=`Unable to create workflow.`}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!G8(e))return;let n=L8(e);if(confirm(`Deactivate workflow "`+n+`"? Requests will fall back to the next active workflow for this scope.`)){this.deactivatingID=t;try{let e=await iL(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`});if(e.stale||e.status===401)return;if(!e.ok){let t=$I(e,`Unable to deactivate workflow.`);console.error(`Failed to deactivate workflow:`,e.status,t),K.error(t);return}K.success(`Workflow deactivated.`),this.fetchPage()}catch(e){console.error(`Failed to deactivate workflow:`,e),K.error(`Unable to deactivate workflow.`)}finally{this.deactivatingID=``}}}};function Q8(e){let t=String(e??``),n=typeof navigator<`u`?navigator.clipboard:null;if(n&&typeof n.writeText==`function`)return n.writeText(t);let r=typeof document<`u`?document:null;if(!r||!r.body||typeof r.execCommand!=`function`)return Promise.reject(Error(`Clipboard API unavailable`));let i=r.createElement(`textarea`);i.value=t,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.top=`0`,i.style.left=`0`,i.style.opacity=`0`;try{if(r.body.appendChild(i),i.focus(),i.select(),i.setSelectionRange(0,i.value.length),!r.execCommand(`copy`))throw Error(`execCommand copy returned false`)}finally{i.parentNode&&i.parentNode.removeChild(i)}return Promise.resolve()}function $8({resetDelayMs:e=2e3,logPrefix:t}={}){let n=fn({copied:!1,error:!1}),r=null;function i(){r!==null&&clearTimeout(r),r=null}function a(){i(),r=setTimeout(()=>{n.copied=!1,n.error=!1,r=null},e)}return{get copied(){return n.copied},get error(){return n.error},reset(){i(),n.copied=!1,n.error=!1},async copy(e,r){if(!(e==null||e===``)){i(),n.copied=!1,n.error=!1;try{await Q8(typeof r==`function`?r(e):String(e)),n.copied=!0,n.error=!1}catch(e){console.error(t||`Failed to copy text:`,e),n.copied=!1,n.error=!0}a()}}}}var e5=L(``);function t5(e,t){D(t,!0);let n=ha(t,`workflowID`,3,``),r=$8({logPrefix:`Failed to copy workflow ID:`});Nn(()=>{n(),r.reset()});let i=k(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=k(()=>n()?F(i)+` `+n():F(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=e5();let c;var l=N(M(s),4),u=M(l,!0);E(l);var d=N(l,2);W(M(d),{name:`copy`}),E(d),E(s),P(()=>{c=H(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),U(s,`title`,F(i)),U(s,`aria-label`,F(a)),z(u,n())}),I(`click`,s,o),R(e,s),O()}Ur([`click`]);var n5=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=kt(()=>_((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=o5(),l=M(c),u=e=>{var t=r5();let r;W(M(t),{get name(){return n()}}),E(t),P(()=>r=H(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":F(i)===`workflow-node-endpoint`})),R(e,t)};B(l,e=>{n()&&e(u)});var d=N(l,2),f=M(d,!0);E(d);var p=N(d,2),m=e=>{var t=i5(),n=M(t,!0);E(t),P(()=>z(n,s())),R(e,t)};B(p,e=>{s()&&e(m)});var h=N(p,2),g=e=>{var t=a5(),n=M(t,!0);E(t),P(()=>z(n,o())),R(e,t)};B(h,e=>{o()&&e(g)}),E(c),P(()=>{H(c,1,`workflow-node ${F(i)??``} ${(a()||``)??``}`,`svelte-nbptrg`),z(f,r())}),R(e,c)},r5=L(`
            `),i5=L(` `),a5=L(` `),o5=L(`
            `),s5=L(`
            `,1),c5=L(`
            `,1),l5=L(`
            `),u5=L(`
            Async
            `),d5=L(`
            `);function f5(e,t){D(t,!0);let n=ha(t,`chart`,19,()=>({}));var r=d5();let i;var a=M(r),o=e=>{t5(e,{get workflowID(){return n().workflowID}})};B(a,e=>{n().workflowID&&e(o)});var s=N(a,2),c=M(s);n5(c,()=>({icon:`user`,label:`Client`,variant:`workflow-node-endpoint`}));var l=N(c,4);n5(l,()=>({icon:`database`,label:`Auth`,state:n().authNodeClass,sub:n().authNodeSublabel}));var u=N(l,2),d=e=>{var t=s5(),r=Cn(t);n5(N(r,2),()=>({icon:`database`,label:`Cache`,state:n().cacheNodeClass,badge:n().cacheStatusLabel})),P(()=>H(r,1,`workflow-conn ${(n().cacheConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(u,e=>{n().showCache&&e(d)});var f=N(u,2),p=e=>{var t=c5();n5(N(Cn(t),2),()=>({icon:`wallet`,label:`Budget`,state:n().budgetNodeClass,badge:n().budgetStatusLabel})),R(e,t)};B(f,e=>{n().showBudget&&e(p)});var m=N(f,2),h=e=>{var t=c5();n5(N(Cn(t),2),()=>({icon:`shield`,label:`Guardrails`,sub:n().guardrailLabel})),R(e,t)};B(m,e=>{n().showGuardrails&&e(h)});var g=N(m,2),_=N(g,2);n5(_,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var v=N(_,2),y=e=>{var t=s5(),r=Cn(t);n5(N(r,2),()=>({icon:`maximize-2`,label:`Failover`,state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel})),P(()=>H(r,1,`workflow-conn ${(n().failoverConnClass||``)??``}`,`svelte-nbptrg`)),R(e,t)};B(v,e=>{n().showFailover&&e(y)});var b=N(v,2);n5(N(b,2),()=>({icon:`circle-check-big`,label:`Response`,variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel})),E(s);var x=N(s,2),S=e=>{var t=u5(),r=M(t),i=M(r),a=e=>{n5(e,()=>({icon:`chart-column-increasing`,label:`Usage`,variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}))};B(i,e=>{n().showUsage&&e(a)});var o=N(i,2),s=e=>{R(e,l5())};B(o,e=>{n().showUsage&&n().showAudit&&e(s)});var c=N(o,2),l=e=>{n5(e,()=>({icon:`file-text`,label:`Audit Log`,variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}))};B(c,e=>{n().showAudit&&e(l)}),E(r),We(4),E(t),R(e,t)};B(x,e=>{n().showAsync&&e(S)}),E(r),P(()=>{i=H(r,1,`workflow-pipeline svelte-nbptrg`,null,i,{"workflow-pipeline-has-meta":n().workflowID}),H(g,1,`workflow-conn ${(n().aiConnClass||``)??``}`,`svelte-nbptrg`),H(b,1,`workflow-conn ${(n().responseConnClass||``)??``}`,`svelte-nbptrg`)}),R(e,r),O()}function p5(e){let t=k8(e).length;return t===0?``:t===1?`1 step`:t+` steps`}function m5(e,t){return t&&t.provider?t.provider:j8(e&&e.scope)||`AI`}function h5(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function g5(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function _5(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:T8(t)}function v5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function y5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return y5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=y5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:y5(e.error,t+1)):``}function b5(e){let t=e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{};return String(t.error_code||t.errorCode||``).trim()||y5(t.response_body)}function x5(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function S5(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=v5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=x5(n);if(i)return i;let a=j8(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function C5(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=v5(e),o=S5(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=String(e.error_type||``).trim().toLowerCase()===`authentication_error`,l=String(e.auth_method||``).trim().toLowerCase()||null,u=b5(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function w5(e){return!!(e&&e.cacheHit)}function T5(e){return!!(e&&e.failoverTarget)}function E5(e){return!!(e&&e.budgetExceeded)}function D5(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function O5(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function k5(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?`Hit (Semantic)`:`Hit (Exact)`}function A5(e,t,n,r){return e?E5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function j5(e){return E5(e)?`Exceeded`:null}function M5(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function N5(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function P5(e){return e&&e.failoverTarget?`Redirected`:null}function F5(e){return e&&e.failoverTarget?e.failoverTarget:null}function I5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function L5(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function R5(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function z5(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function B5(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function V5(e){return!e||!e.authMethod?null:e.authMethod}function H5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function U5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function W5(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function G5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function K5(e,t){return!e||!e._live||U5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function q5(e,t,n){return!e||!e._live?``:G5(e)?`usage`:K5(e,t)?`audit`:U5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function J5(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?T8(i.features):D8(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||E5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||T5(t),m=g5(e,i.entry),h=q5(i.entry,t,a),g=G5(i.entry),_=K5(i.entry,t),v=U5(i.entry,s),y=W5(i.entry,s);return{showBudget:c,budgetNodeClass:A5(c,t,s,h===`budget`),budgetStatusLabel:j5(t),showGuardrails:l,guardrailLabel:l?p5(e):``,showCache:!!i.forceCache||!!a.cache||w5(t),cacheNodeClass:D5(t,h===`cache`),cacheConnClass:O5(t),cacheStatusLabel:k5(t),showFailover:p,failoverNodeClass:p?M5(t):``,failoverConnClass:p?N5(t):``,failoverStatusLabel:p?P5(t):null,failoverTargetLabel:p?F5(t):null,aiLabel:m5(e,t),aiSublabel:h5(e,t),aiConnClass:I5(t),aiNodeClass:L5(t,h===`ai`),responseConnClass:I5(t),responseNodeClass:R5(t,h===`response`),responseNodeSublabel:z5(t),authNodeClass:B5(t,h===`auth`),authNodeSublabel:V5(t),usageNodeClass:H5(u,y,g),auditNodeClass:H5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function Y5(e,t){return J5(e,null,{forceCache:!1},t)}function X5(e,t,n){return J5(t,C5(e,t),{entry:e,features:_5(e)||(t?D8(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var Z5=L(`

            `),Q5=L(`

            `),$5=L(`
            `),e7=L(`
            `),t7=L(`

            No guardrails configured for this workflow.

            `),n7=L(`

            Guardrails

            `),r7=L(``),i7=L(`

            `);function a7(e,t){D(t,!0);let n=ha(t,`preview`,3,!1),r=k(()=>Z8.featureCaps()),i=k(()=>L8(t.workflow)),a=k(()=>A8(t.workflow,F(r))),o=k(()=>Y5(t.workflow,F(r))),s=k(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=i7();let l;var u=M(c),d=M(u),f=M(d),p=M(f,!0);E(f);var m=N(f,2),h=M(m,!0);E(m),E(d);var g=N(d,2),_=M(g),v=M(_,!0);E(_),E(g),E(u);var y=N(u,2),b=e=>{var n=Z5(),r=M(n,!0);E(n),P(()=>z(r,t.workflow.description)),R(e,n)};B(y,e=>{t.workflow.description&&e(b)});var x=N(y,2),S=e=>{var n=Q5(),i=M(n);E(n),P(e=>z(i,`Failover: ${e??``}`),[()=>O8(t.workflow,F(r))]),R(e,n)},C=k(()=>Z8.failoverVisible());B(x,e=>{F(C)&&e(S)});var w=N(x,2);f5(w,{get chart(){return F(o)}});var T=N(w,2),ee=e=>{var t=n7(),n=M(t),r=N(M(n),2),i=M(r,!0);E(r),E(n);var o=N(n,2),c=e=>{var t=e7();V(t,23,()=>F(a),(e,t)=>F(s)+t,(e,t)=>{var n=$5(),r=M(n),i=M(r,!0);E(r);var a=N(r,2),o=M(a);E(a),E(n),P(()=>{z(i,F(t).ref),z(o,`step ${F(t).step??``}`)}),R(e,n)}),E(t),R(e,t)},l=e=>{R(e,t7())};B(o,e=>{F(a).length>0?e(c):e(l,-1)}),E(t),P(()=>z(i,F(a).length?F(a).length+` steps`:`None`)),R(e,t)},te=k(()=>sL.guardrailsVisible());B(T,e=>{F(te)&&e(ee)});var ne=N(T,2),re=e=>{var n=r7(),r=M(n),a=M(r),o=M(a,!0);E(a);var s=N(a,2);{let e=k(()=>`Edit workflow `+F(i));b1(s,{get label(){return F(e)},class:`table-icon-btn`,onclick:()=>Z8.openCreate(t.workflow),children:(e,t)=>{W(e,{name:`pencil`,class:`table-icon-svg`})},$$slots:{default:!0}})}E(r);var c=N(r,2),l=M(c),u=M(l);E(l);var d=N(l,2),f=M(d);E(d);var p=N(d,2),m=M(p);E(p),E(c),E(n),P((e,n,r,s)=>{a.disabled=e,U(a,`aria-label`,`Deactivate workflow `+F(i)),U(a,`title`,n),z(o,Z8.deactivatingID===t.workflow.id?`Deactivating...`:`Deactivate`),z(u,`version: v${t.workflow.version??``}`),z(f,`created: ${r??``}`),z(m,`hash: ${s??``}`)},[()=>Z8.deactivatingID===t.workflow.id||!G8(t.workflow),()=>G8(t.workflow)?`Deactivate active workflow`:`The global workflow cannot be deactivated.`,()=>ZI.formatTimestamp(t.workflow.created_at),()=>K8(t.workflow.workflow_hash)]),I(`click`,a,()=>Z8.deactivate(t.workflow)),R(e,n)};B(ne,e=>{n()||e(re)}),E(c),P((e,t)=>{l=H(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),z(p,e),z(h,F(i)),z(v,t)},[()=>F8(t.workflow),()=>I8(t.workflow)]),R(e,c),O()}Ur([`click`]);var o7=L(`

            `),s7=L(``),c7=L(``),l7=L(`
            `),u7=L(``),d7=L(``),f7=L(``),p7=L(``),m7=L(``),h7=L(``),g7=L(`
            No named guardrails are currently registered on this deployment. You can still draft a workflow, but guardrail-backed creation may be rejected.
            `),_7=L(`
            `),v7=L(`
            `),y7=L(`

            No guardrail steps configured yet.

            `),b7=L(`

            Guardrail Steps

            Guardrails in the same numeric step run together. Later steps wait for earlier ones to finish.

            `),x7=L(``);function S7(e,t){D(t,!0);function n(){G.dialogOpen||Z8.closeForm()}function r(e){e.preventDefault(),Z8.submitForm()}hL(e,{get open(){return Z8.formOpen},variant:`editor`,onclose:n,children:(e,t)=>{var i=x7(),a=M(i),o=M(a),s=M(o);mQ(M(s),{copyId:`workflow-help-copy`,label:`workflow help`,text:`Create immutable version. Submitting activates it for the selected scope.`,title:e=>{var t=o7(),n=M(t,!0);E(t),P(e=>z(n,e),[()=>Z8.submitMode()===`save`?`Edit Workflow`:`Create Workflow`]),R(e,t)},$$slots:{title:!0}}),E(s),pL(N(s,2),{label:`Close workflow editor`,onclick:n}),E(o);var c=N(o,2),l=e=>{var t=s7(),n=M(t,!0);E(t),P(()=>z(n,Z8.formError)),R(e,t)};B(c,e=>{Z8.formError&&e(l)});var u=N(c,2),d=M(u),f=N(M(d),2),p=M(f);p.value=p.__value=``,V(N(p),16,()=>Z8.providerOptions(),e=>e,(e,t)=>{var n=c7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(f),E(d);var m=N(d,2),h=e=>{var t=l7(),n=N(M(t),2),r=M(n);r.value=r.__value=``,V(N(r),17,()=>Z8.modelOptions(Z8.form.scope_provider),e=>Z8.form.scope_provider+`-`+e,(e,t)=>{var n=c7(),r=M(n,!0);E(n);var i={};P(()=>{z(r,F(t)),i!==(i=F(t))&&(n.value=(n.__value=F(t))??``)}),R(e,n)}),E(n),E(t),Vi(n,()=>Z8.form.scope_model,e=>Z8.form.scope_model=e),R(e,t)};B(m,e=>{Z8.form.scope_provider&&e(h)});var g=N(m,2),_=N(M(g),2);Qi(_),E(g);var v=N(g,2),y=N(M(v),2);Qi(y),E(v),E(u);var b=N(u,8),x=N(M(b),2);pt(x),E(b);var S=N(b,2),C=M(S),w=e=>{var t=u7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.cache,e=>Z8.form.features.cache=e),R(e,t)},T=k(()=>sL.cacheVisible());B(C,e=>{F(T)&&e(w)});var ee=N(C,2),te=e=>{var t=d7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.audit,e=>Z8.form.features.audit=e),R(e,t)},ne=k(()=>sL.auditVisible());B(ee,e=>{F(ne)&&e(te)});var re=N(ee,2),ie=e=>{var t=f7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.usage,e=>Z8.form.features.usage=e),R(e,t)},ae=k(()=>sL.usageVisible());B(re,e=>{F(ae)&&e(ie)});var oe=N(re,2),se=e=>{var t=p7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.budget,e=>Z8.form.features.budget=e),R(e,t)},ce=k(()=>sL.budgetsVisible());B(oe,e=>{F(ce)&&e(se)});var le=N(oe,2),ue=e=>{var t=m7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.guardrails,e=>Z8.form.features.guardrails=e),R(e,t)},de=k(()=>sL.guardrailsVisible());B(le,e=>{F(de)&&e(ue)});var fe=N(le,2),pe=e=>{var t=h7(),n=M(t);Qi(n),We(2),E(t),ca(n,()=>Z8.form.features.failover,e=>Z8.form.features.failover=e),R(e,t)},me=k(()=>Z8.failoverVisible());B(fe,e=>{F(me)&&e(pe)}),E(S);var he=N(S,2),ge=N(M(he),2);{let e=k(()=>Z8.preview());a7(ge,{get workflow(){return F(e)},preview:!0})}E(he);var _e=N(he,2),ve=e=>{var t=b7(),n=M(t),r=N(M(n),2);E(n);var i=N(n,2),a=e=>{var t=g7(),n=N(M(t),2);E(t),I(`click`,n,()=>zI.navigate(`guardrails`)),R(e,t)};B(i,e=>{Z8.guardrailRefs.length===0&&e(a)});var o=N(i,2),s=e=>{var t=v7();V(t,21,()=>Z8.form.guardrails,oi,(e,t,n)=>{var r=_7(),i=M(r),a=M(i);U(a,`for`,`workflow-guardrail-ref-`+n);var o=N(a,2);Qi(o),U(o,`id`,`workflow-guardrail-ref-`+n),U(o,`aria-label`,`Guardrail reference `+(n+1)),E(i);var s=N(i,2),c=M(s);U(c,`for`,`workflow-guardrail-step-`+n);var l=N(c,2);Qi(l),U(l,`id`,`workflow-guardrail-step-`+n),U(l,`aria-label`,`Guardrail step `+(n+1)),E(s);var u=N(s,2);E(r),sa(o,()=>F(t).ref,e=>F(t).ref=e),sa(l,()=>F(t).step,e=>F(t).step=e),I(`click`,u,()=>Z8.removeGuardrailStep(n)),R(e,r)}),E(t),R(e,t)},c=e=>{R(e,y7())};B(o,e=>{Z8.form.guardrails.length>0?e(s):e(c,-1)}),E(t),I(`click`,r,()=>Z8.addGuardrailStep()),R(e,t)},ye=k(()=>Z8.form.features.guardrails&&sL.guardrailsVisible());B(_e,e=>{F(ye)&&e(ve)});var be=N(_e,2),xe=M(be),Se=N(xe,2),Ce=M(Se),we=e=>{W(e,{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`})},Te=k(()=>Z8.submitMode()===`create`),Ee=e=>{W(e,{name:`save`,class:`form-action-icon`,"aria-hidden":`true`})};B(Ce,e=>{F(Te)?e(we):e(Ee,-1)});var De=N(Ce,2),Oe=M(De,!0);E(De),E(Se),E(be),E(a),E(i),P(e=>{Se.disabled=Z8.submitting,z(Oe,e)},[()=>Z8.submitting?Z8.submittingLabel():Z8.submitLabel()]),Hr(`submit`,a,r),I(`change`,f,e=>Z8.setProvider(e.currentTarget.value)),Vi(f,()=>Z8.form.scope_provider,e=>Z8.form.scope_provider=e),sa(_,()=>Z8.form.name,e=>Z8.form.name=e),sa(y,()=>Z8.form.scope_user_path,e=>Z8.form.scope_user_path=e),sa(x,()=>Z8.form.description,e=>Z8.form.description=e),I(`click`,xe,n),R(e,i)},$$slots:{default:!0}}),O()}Ur([`change`,`click`]);var C7=L(`

            Loading workflows...

            `),w7=L(`
            `),T7=L(`

            No active workflows found.

            `),E7=L(`

            No workflows match your filter.

            `),D7=L(`
            `);function O7(e,t){D(t,!0);var n=D7(),r=M(n),i=e=>{var t=C7();zZ(M(t),{size:16,label:`Loading workflows`}),We(),E(t),R(e,t)};B(r,e=>{Z8.loading&&!G.authError&&e(i)});var a=N(r,2),o=e=>{var t=w7();V(t,21,()=>Z8.filteredWorkflows,e=>e.id,(e,t)=>{a7(e,{get workflow(){return F(t)}})}),E(t),R(e,t)};B(a,e=>{Z8.filteredWorkflows.length>0&&e(o)});var s=N(a,2),c=e=>{R(e,T7())};B(s,e=>{Z8.workflows.length===0&&!Z8.loading&&!G.authError&&Z8.available&&e(c)});var l=N(s,2),u=e=>{R(e,E7())};B(l,e=>{Z8.workflows.length>0&&Z8.filteredWorkflows.length===0&&!Z8.loading&&e(u)}),E(n),R(e,n),O()}var k7=L(``),A7=L(`
            Workflows feature is unavailable.
            `),j7=L(`
            `),M7=L(`
            `),N7=L(``),P7=L(`
            `);function F7(e,t){D(t,!0),Nn(()=>{G.refreshTick,Z8.fetchPage()});var n=P7(),r=M(n),i=N(M(r),2),a=M(i),o=e=>{var t=k7();W(M(t),{name:`plus`,class:`form-action-icon`,"aria-hidden":`true`}),We(2),E(t),I(`click`,t,()=>Z8.openCreate()),R(e,t)};B(a,e=>{Z8.available&&e(o)}),E(i),E(r);var s=N(r,2),c=e=>{R(e,A7())};B(s,e=>{!Z8.available&&!G.authError&&e(c)});var l=N(s,2),u=e=>{var t=j7(),n=M(t,!0);E(t),P(()=>z(n,Z8.error)),R(e,t)};B(l,e=>{Z8.error&&!G.authError&&e(u)});var d=N(l,2),f=e=>{var t=M7(),n=M(t);w$(M(n),{placeholder:`Filter by scope, name, hash, or guardrail...`,label:`Filter workflows by scope, name, hash, or guardrail`,get value(){return Z8.filter},set value(e){Z8.filter=e}}),E(n);var r=N(n,2),i=M(r),a=M(i,!0);E(i),E(r),E(t),P(()=>z(a,Z8.filteredWorkflows.length+` active scopes`)),R(e,t)};B(d,e=>{Z8.available&&e(f)});var p=N(d,2);S7(p,{});var m=N(p,2);O7(m,{});var h=N(m,2);V(h,20,()=>Z8.guardrailRefs,e=>e,(e,t)=>{var n=N7(),r={};P(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),R(e,n)}),E(h),E(n),R(e,n),O()}Ur([`click`]);var I7=new class{#e=A(fn({}));get workflowVersionsByID(){return F(this.#e)}set workflowVersionsByID(e){j(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:sL.cacheVisible(),audit:sL.auditVisible(),usage:sL.usageVisible(),budget:sL.budgetsVisible(),guardrails:sL.guardrailsVisible(),failover:sL.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await rL(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}};function L7(e){try{return JSON.parse(e)}catch{return null}}function R7(e,t){let n=String(e||``).trim();if(!n)return``;if(t>6)return n;let r=L7(n);return r==null?n:z7(r,t+1)||n}function xte(e){return e==null?``:typeof e==`string`?R7(e,0):z7(e,0)}function z7(e,t){if(e==null||t>6)return``;if(typeof e==`string`){let n=L7(e.trim());return n==null?``:z7(n,t+1)}if(Array.isArray(e)){for(let n=0;n=400||Cte(t&&t.response_body)}function Tte(e){let t=e&&e.data?e.data:null;return t?xte(t.error_message)||(wte(e,t)?z7(t.response_body,0):``):``}function B7(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function Ete(e){let t=B7(e);return t===null?``:t===0?`Audit logs are retained indefinitely.`:t===1?`Audit logs are retained for 1 day.`:`Audit logs are retained for `+t+` days.`}function Dte(e){let t=B7(e);return t===null?``:t===0?`Audit logs are retained `:`Audit logs are retained for `}function Ote(e){let t=B7(e);return t===null?``:t===0?`indefinitely`:t===1?`1 day`:t+` days`}function kte({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o}){let s=e;return s+=`&limit=`+t+`&offset=`+n,r&&(s+=`&search=`+encodeURIComponent(r)),i&&(s+=`&method=`+encodeURIComponent(i)),a&&(s+=`&status_code=`+encodeURIComponent(a)),o&&(s+=`&stream=`+encodeURIComponent(o)),s}function V7(e){return String(e&&e.id||``).trim()}function H7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function Ate(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function jte(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function Mte(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&jte(t)}function Nte(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!Mte(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>Ate(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>H7(e))),s=[];return a.forEach(e=>{let t=H7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function Pte(e,t){let n=V7(t),r=e||{};return!n||r[n]?r:{...r,[n]:!0}}function Fte(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>V7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function Ite(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function U7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function W7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function G7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function K7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function q7(e){let t=K7(e);return t.length>1||t.some(e=>!(e&&e.success))}function Lte(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function J7(e){return String(e&&e.kind||``).trim()||`attempt`}function Rte(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function zte(e){return String(e&&e.model||``).trim()||`-`}function Y7(e){let t=K7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function Bte(e){return Y7(e).length>0}function Vte(e){return K7(e).length+`×`}function X7(e){let t=K7(e),n=t.filter(e=>!(e&&e.success)).length,r=t.length===1?`attempt`:`attempts`,i=t.length+` provider `+r;return n>0?i+` · `+n+` failed`:i}function Hte(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=J7(e);n&&n!==`attempt`&&t.push(n),t.push(Lte(e));let r=Rte(e);r&&r!==`-`&&t.push(r);let i=zte(e);return i&&i!==`-`&&t.push(i),t.push(e.success?`succeeded`:`failed`),t.join(` · `)}function Ute(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function Wte(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||`Provider attempt failed`}function Gte(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function Kte(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function qte(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=Ute(e,t),a=Gte(e,t),o=Wte(t),s=i!=null&&i!==``,c=J7(t),l=K7(e).length<=1;return{title:`Response`,direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:Kte(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:`No response was captured for this attempt.`,showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function Z7(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function Jte(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function Yte(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=Z7(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:`Rewritten`,direction:`request`,seq:i?0:Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:Jte(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:`What changed`,showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:`Rewritten body not captured (body logging disabled or body too large).`}}function Q7(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function Xte(e){let t=Q7(e);return Number(t&&t.cached_input_tokens||0)>0}function Zte(e){let t=Q7(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function Qte(e){let t=Q7(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?HL(r)+` cached`:Zte(e).toFixed(1)+`% cached`}function $te(e){return Xte(e)?Qte(e):``}function ene(e,t){let n=Q7(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function $7(e){if(e==null||e===void 0||e===``)return`Not captured`;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function tne(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&W7(e);return{title:`Request`,direction:`request`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:$te(e),promptCacheHighlight:ene(e,t),showEmpty:r&&!i,emptyMessage:`Request details were not captured.`,showPending:i,pendingMessage:`Waiting for request data…`,showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:`Request body was too large to capture.`}}function nne(e){let t=e&&e.data?e.data:null,n=Tte(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&W7(e);return{title:`Response`,direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&W7(e),showEmpty:r&&!i,emptyMessage:`Response details were not captured.`,showPending:i,pendingMessage:`Response in progress…`,showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:`Response body was too large to capture.`}}function e9(e,t){let n=[{id:`request`,pane:tne(e,t)}];return Z7(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:Yte(e,t)})}),q7(e)?K7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:qte(e,t)})}):n.push({id:`response`,pane:nne(e)}),n}function rne(e){if(!q7(e))return`response`;let t=K7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function ine(e,t){return e&&e9(t).some(t=>t.id===e)?e:rne(t)}function ane(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}function t9(){return{entries:[],total:0,limit:25,offset:0}}var n9=new class{#e=A(fn({}));get auditExpandedEntries(){return F(this.#e)}set auditExpandedEntries(e){j(this.#e,e,!0)}#t=A(!1);get loading(){return F(this.#t)}set loading(e){j(this.#t,e,!0)}auditFetchToken=0;get auditLog(){return VQ.auditLog}set auditLog(e){VQ.auditLog=e}get auditSearch(){return VQ.auditSearch}set auditSearch(e){VQ.auditSearch=e}get auditMethod(){return VQ.auditMethod}set auditMethod(e){VQ.auditMethod=e}get auditStatusCode(){return VQ.auditStatusCode}set auditStatusCode(e){VQ.auditStatusCode=e}get auditStream(){return VQ.auditStream}set auditStream(e){VQ.auditStream=e}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,customStartDate:rR.customStartDate,customEndDate:rR.customEndDate}}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=await rL(`/admin/audit/log?`+kte({dateQuery:rR.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream}),{label:`audit log`});if(n.stale||t!==this.auditFetchToken)return;if(!n.ok){this.auditLog=t9();return}let r=Nte(n.data,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(r.entries)||(r.entries=[]),this.auditLog=r,this.auditExpandedEntries=Fte(this.auditExpandedEntries,r.entries);try{await I7.prefetchAuditWorkflows(this.auditLog.entries)}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=t9()}finally{t===this.auditFetchToken&&(this.loading=!1)}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=V7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}markAuditEntryExpanded(e){this.auditExpandedEntries=Pte(this.auditExpandedEntries,e)}};VQ.fetchAuditLog=e=>n9.fetchAuditLog(e),VQ.isAuditEntryExpanded=e=>n9.isAuditEntryExpanded(e);var one=L(`
            `);function sne(e,t){D(t,!0);let n=T$(()=>n9.fetchAuditLog(!0));Nn(()=>n.cancel);var r=one(),i=M(r);w$(M(i),{id:`audit-filter-search`,placeholder:`Search by request ID, model, provider, path, user path, or error...`,label:`Search by request ID, model, provider, path, user path, or error`,get oninput(){return n},get value(){return n9.auditSearch},set value(e){n9.auditSearch=e}}),E(i);var a=N(i,2),o=M(a),s=M(o);s.value=s.__value=``;var c=N(s);c.value=c.__value=`GET`;var l=N(c);l.value=l.__value=`POST`;var u=N(l);u.value=u.__value=`PUT`;var d=N(u);d.value=d.__value=`PATCH`;var f=N(d);f.value=f.__value=`DELETE`,E(o);var p=N(o,2),m=M(p);m.value=m.__value=``;var h=N(m);h.value=h.__value=`200`;var g=N(h);g.value=g.__value=`201`;var _=N(g);_.value=_.__value=`400`;var v=N(_);v.value=v.__value=`401`;var y=N(v);y.value=y.__value=`403`;var b=N(y);b.value=b.__value=`404`;var x=N(b);x.value=x.__value=`429`;var S=N(x);S.value=S.__value=`500`;var C=N(S);C.value=C.__value=`502`;var w=N(C);w.value=w.__value=`503`;var T=N(w);T.value=T.__value=`504`,E(p);var ee=N(p,2),te=M(ee);te.value=te.__value=``;var ne=N(te);ne.value=ne.__value=`true`;var re=N(ne);re.value=re.__value=`false`,E(ee);var ie=N(ee,2);W(M(ie),{name:`x`,class:`table-icon-svg`}),We(2),E(ie),E(a),E(r),I(`change`,o,()=>n9.fetchAuditLog(!0)),Vi(o,()=>n9.auditMethod,e=>n9.auditMethod=e),I(`change`,p,()=>n9.fetchAuditLog(!0)),Vi(p,()=>n9.auditStatusCode,e=>n9.auditStatusCode=e),I(`change`,ee,()=>n9.fetchAuditLog(!0)),Vi(ee,()=>n9.auditStream,e=>n9.auditStream=e),I(`click`,ie,()=>n9.clearAuditFilters()),R(e,r),O()}Ur([`change`,`click`]);var cne=L(` `),lne=L(``);function une(e,t){D(t,!0);let n=k(()=>[{key:`provider`,text:QL(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+tR(t.entry),mono:!0},{key:`failover`,text:G7(t.entry)&&`failover: `+G7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=lne(),i=N(M(r),2);V(i,21,()=>F(n),e=>e.key,(e,t)=>{var n=cne();let r;var i=M(n,!0);E(n),P(()=>{r=H(n,1,`provider-badge ${(F(t).class||``)??``}`,`svelte-hyopt0`,r,{mono:F(t).mono}),z(i,F(t).text)}),R(e,n)}),E(i),E(r),R(e,r),O()}var dne=new Set([`instructions`,`messages`,`input`,`previous_response_id`,`choices`,`output`]);function r9(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:``).filter(Boolean).join(` `).trim();if(typeof e==`object`){if(typeof e.text==`string`)return e.text.trim();try{return JSON.stringify(e,null,2)}catch{return``}}return String(e).trim()}function i9(e){if(e==null)return[];if(typeof e==`string`)return e?[e]:[];if(Array.isArray(e))return e.flatMap(e=>typeof e==`string`?e?[e]:[]:!e||typeof e!=`object`?[]:typeof e.text==`string`?e.text?[e.text]:[]:typeof e.output_text==`string`&&e.output_text?[e.output_text]:[]);if(typeof e==`object`)return typeof e.text==`string`&&e.text?[e.text]:[];let t=String(e);return t?[t]:[]}function fne(e){if(e==null)return[];if(typeof e==`string`){let t=e.trim();return t?[{role:`user`,text:t}]:[]}if(!Array.isArray(e)){let t=r9(e);return t?[{role:`user`,text:t}]:[]}return e.map(e=>{if(!e||typeof e!=`object`)return null;let t=String(e.role||`user`).toLowerCase(),n=r9(e.content);return n?{role:t,text:n}:null}).filter(Boolean)}function pne(e){return!e||typeof e!=`object`?``:Array.isArray(e.content)?e.content.map(e=>e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `).trim():r9(e.content)}function mne(e){if(!e||typeof e!=`object`)return[];let t=[];return t.push(...i9(e.instructions)),Array.isArray(e.messages)&&e.messages.forEach(e=>{!e||typeof e!=`object`||t.push(...i9(e.content))}),typeof e.input==`string`?t.push(e.input):Array.isArray(e.input)?e.input.forEach(e=>{!e||typeof e!=`object`||(t.push(...i9(e.content)),typeof e.text==`string`&&t.push(e.text))}):e.input&&typeof e.input==`object`&&(t.push(...i9(e.input.content)),typeof e.input.text==`string`&&t.push(e.input.text)),t.map(e=>String(e||``)).filter(e=>e.length>0)}function a9(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function o9(e,t){let n=String(e||``).trim();if(!n)return``;if(t>=4)return n;let r=a9(n);return!r||typeof r!=`object`?n:s9(r,t+1)||r9(r)||n}function s9(e,t=0){let n=new Set,r=[e];for(;r.length>0;){let e=r.shift();if(!e||typeof e!=`object`||n.has(e))continue;if(n.add(e),Array.isArray(e)){for(let t=0;t!e||typeof e!=`object`?!1:e.type===`message`||e.role===`assistant`||e.role===`user`||e.role===`system`?!0:Array.isArray(e.content)?e.content.some(e=>!e||typeof e!=`object`?!1:typeof e.text==`string`||e.type===`output_text`||e.type===`input_text`):!1):!1}function _ne(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/embeddings`||t===`/v1/embeddings/`||t.startsWith(`/v1/embeddings?`)||t.startsWith(`/v1/embeddings/`)}function vne(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/chat/completions`||t===`/v1/chat/completions/`||t.startsWith(`/v1/chat/completions?`)||t.startsWith(`/v1/chat/completions/`)||t===`/v1/responses`||t===`/v1/responses/`||t.startsWith(`/v1/responses?`)||t.startsWith(`/v1/responses/`)}function yne(e){let t=e&&e.data?e.data.request_body:null,n=e&&e.data?e.data.response_body:null,r=t&&(Array.isArray(t.messages)||t.input!==void 0||typeof t.instructions==`string`||typeof t.previous_response_id==`string`),i=n&&(Array.isArray(n.choices)||gne(n.output));return!!(r||i)}function bne(e){return!e||_ne(e.path)?!1:vne(e.path)||yne(e)}function c9(e){let t=0,n=!1,r=!1,i=String(e||``);for(let e=0;e0&&a+1`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function Cne(e){return!!(e&&typeof e==`object`&&e.__audio__===!0)}function wne(e){let t=Number(e||0);if(!Number.isFinite(t)||t<=0)return`0 B`;let n=[`B`,`KB`,`MB`,`GB`],r=0,i=t;for(;i>=1024&&r`
            `+l9(t)+``+l9(Ene(e[t]))+`
            `);return t.length?``:``}function One(e){let t=Tne(e.content_type),n=l9(t+` · `+wne(e.bytes)),r=Dne(e.meta);if(e.stored&&e.encoding===`base64`&&e.data){let i=String(e.data).replace(/[^A-Za-z0-9+/=]/g,``);return`
            `+n+`
            `+r+`
            `}let i=e.too_large?`Audio too large to store.`:`Audio not logged. Set LOGGING_LOG_AUDIO_BODIES=true to capture playable audio.`;return`
            `+n+`
            `+l9(i)+`
            `+r+`
            `}function u9(e){try{return JSON.stringify(String(e)).slice(1,-1)}catch{return``}}function kne(e){if(!e||typeof e!=`object`)return null;let t=Number(e.characters||0);if(!Number.isFinite(t)||t<=0)return null;let n=Array.isArray(e.segments)?e.segments.map(e=>String(e||``)).filter(Boolean):[];return n.length===0?null:{remaining:Math.floor(t),segments:n,segmentIndex:0}}function d9(e,t){if(!t||t.remaining<=0||t.segmentIndex>=t.segments.length)return l9(e);let n=``,r=0,i=0;for(;t.remaining>0&&t.segmentIndex`+l9(l)+``,r=s+l.length,i=s+o.length,t.remaining-=c,c>=a.length){t.segmentIndex++;continue}break}return n?n+l9(e.slice(r)):l9(e)}function Ane(e,t,n){let r=n&&typeof n.formatJSON==`function`?n.formatJSON:e=>String(e),i=n&&typeof n.canShowConversation==`function`?n.canShowConversation:()=>!1,a=kne(n&&n.promptCacheHighlight),o=r(t);if(!o||o===`Not captured`)return l9(o);if(!i(e))return o.split(` `).map(e=>d9(e,a)).join(` diff --git a/internal/admin/dashboard/static/dist/assets/index-BCec-psC.css b/internal/admin/dashboard/static/dist/assets/index-BCec-psC.css new file mode 100644 index 000000000..c08ab8d84 --- /dev/null +++ b/internal/admin/dashboard/static/dist/assets/index-BCec-psC.css @@ -0,0 +1 @@ +:root{--bg:#111110;--bg-surface:#1e1d1c;--bg-surface-hover:#2a2420;--border:#2a2826;--text:#e8e0d6;--text-muted:#9a918a;--accent:#b8956e;--accent-hover:#d4b896;--success:#34d399;--info:#3b82f6;--warning:#f59e0b;--danger:#ef4444;--prompt-cache-color:color-mix(in srgb, var(--info) 72%, #fff);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 24%, var(--bg-surface));--cache-meter-uncached:var(--token-input);--cache-meter-local:var(--token-local);--cache-meter-prompt:var(--token-prompt);--token-input:#c0824a;--token-output:#ddb27a;--token-prompt:color-mix(in srgb, var(--info) 60%, transparent);--token-local:color-mix(in srgb, var(--info) 20%, transparent);--sidebar-width:240px;--radius:8px;--chart-grid:#2a2826;--chart-text:#9a918a;--chart-day-marker:var(--text);--chart-tooltip-bg:#1e1d1c;--chart-tooltip-border:#2a2826;--chart-tooltip-text:#e8e0d6;--cal-level-0:#161b22;--cal-level-1:color-mix(in srgb, var(--info) 15%, var(--bg-surface));--cal-level-2:color-mix(in srgb, var(--info) 25%, var(--bg-surface));--cal-level-3:color-mix(in srgb, var(--info) 36%, var(--bg-surface));--cal-level-4:color-mix(in srgb, var(--info) 48%, var(--bg-surface));--cal-level-5:color-mix(in srgb, var(--info) 60%, var(--bg-surface));--cal-level-6:color-mix(in srgb, var(--info) 73%, var(--bg-surface));--cal-level-7:color-mix(in srgb, var(--info) 87%, var(--bg-surface));--cal-level-8:var(--info);--cal-level-9:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-10:color-mix(in srgb, var(--info) 62%, #fff);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface-hover) 86%, #fff 14%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface-hover) 72%, #fff 28%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body.dashboard-modal-open{overflow:hidden}.app{min-height:100vh;display:flex}.badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.auth-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100%);padding:22px;box-shadow:0 24px 70px #00000061}.auth-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.auth-dialog h2{margin-top:2px;font-size:22px;line-height:1.2}.auth-dialog-close{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.auth-dialog-close:hover{color:var(--text);background:var(--bg-surface-hover)}.auth-dialog-close:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-hint{color:var(--text-muted);font-size:13px}.auth-dialog-error{color:var(--danger);font-size:13px;font-weight:600}.auth-dialog-form{gap:10px;margin-top:18px;display:grid}.auth-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.content{flex:1 1 0;width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:32px;transition:width .2s}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h2{letter-spacing:-.3px;font-size:22px;font-weight:700}.page-header-controls{align-items:center;gap:12px;display:flex}.page-with-sticky-date{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;display:grid}.page-with-sticky-date>*{grid-column:1/-1}.page-with-sticky-date>.date-range-page-header{grid-column:1}.page-with-sticky-date>.sticky-date-range{z-index:8;grid-column:2;justify-self:end;position:sticky;top:16px}.model-count{color:var(--text-muted);font-size:14px}.provider-status-section{margin-top:28px;scroll-margin-top:24px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.card-value{letter-spacing:-.5px;font-size:28px;font-weight:700}.cache-meter{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;padding:24px}.chart-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.chart-container h3{margin-bottom:16px;font-size:16px;font-weight:600}.chart-container-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chart-container-header h3{margin-bottom:0}.chart-wrapper{height:210px;position:relative}.live-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.live-dot.is-streaming{background:var(--success);box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 70%, transparent);animation:1.8s ease-out infinite live-dot-pulse}@media (prefers-reduced-motion:reduce){.live-dot.is-streaming{animation:none}}@keyframes live-dot-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb, var(--success) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 0%, transparent)}}.alert{border-radius:var(--radius);margin-bottom:20px;padding:12px 16px;font-size:14px}.alert-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b4d}.table-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-toolbar-main{flex:1;min-width:0}.table-toolbar-actions{justify-content:flex-end;margin-left:auto;display:flex}input:is([type=text],[type=date],[type=number]){background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}input:is([type=text],[type=date],[type=number]):focus{border-color:var(--accent)}input:is([type=text],[type=date],[type=number]):disabled,textarea:disabled,.form-input:disabled{opacity:.6;cursor:not-allowed}.table-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.data-table th.model-actions-header{text-align:right;white-space:nowrap;width:1%;min-width:156px}.data-table td{border-bottom:1px solid var(--border);padding:10px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-surface-hover)}.mono{font-family:SF Mono,Menlo,Consolas,monospace}.font-size-md{font-size:13px}.col-price,.data-table th.col-price{text-align:right}td.col-price{color:var(--text-muted);white-space:nowrap;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px}.provider-badge{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.empty-state{text-align:center;color:var(--text-muted);padding:48px 0;font-size:14px}.empty-state-icon{width:auto;height:auto;max-height:160px;color:var(--text-muted);margin:0 auto;display:block}.empty-state-icon text{fill:var(--text-muted);font-family:inherit;font-weight:600}.chart-empty-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chart-empty-overlay .empty-state-icon{width:auto;max-width:90%;height:auto;max-height:195px}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.table-action-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.table-action-btn:hover:not(:disabled){background:var(--bg-surface-hover)}.table-action-btn:disabled{opacity:.45;cursor:default}.table-action-btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.table-action-btn-active{color:var(--accent-strong,var(--accent));background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 38%, var(--border))}.table-action-btn-active:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 18%, var(--bg-surface-hover))}.table-action-btn-failover-active{color:var(--info);background:color-mix(in srgb, var(--cache-meter-prompt) 35%, var(--bg));border-color:color-mix(in srgb, var(--info) 45%, var(--border));position:relative}.table-action-btn-failover-active:hover:not(:disabled){background:color-mix(in srgb, var(--cache-meter-prompt) 45%, var(--bg-surface-hover))}.table-icon-btn{border-radius:6px;gap:0;width:32px;min-width:32px;height:32px;padding:0}.table-icon-btn.table-action-btn-active{position:relative}.table-icon-btn.table-action-btn-active:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-btn.table-action-btn-failover-active:after{content:"";background:var(--info);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-svg{flex-shrink:0;width:14px;height:14px}.model-editor{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:24px}.alias-kind-badge{border:1px solid var(--border);background:var(--bg);min-height:24px;color:var(--accent);letter-spacing:.2px;text-transform:uppercase;border-color:color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.form h3{font-size:20px;font-weight:700}.form-kicker,.form-hint{color:var(--text-muted);font-size:13px}.alias-actions-cell{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.model-list-actions{white-space:nowrap;flex-wrap:nowrap}.model-list-actions .table-icon-btn{flex:0 0 32px}.model-list-actions .alias-toggle{flex:none}.alias-toggle{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.alias-toggle:hover:not(:disabled){background:var(--bg-surface-hover)}.alias-toggle:disabled{opacity:.45;cursor:default}.alias-toggle-track{background:color-mix(in srgb, var(--border) 80%, var(--bg));border-radius:6px;width:34px;height:18px;transition:background .15s;position:relative}.alias-toggle-thumb{background:var(--text-muted);border-radius:6px;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:1px;left:2px}.alias-toggle.enabled{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.alias-toggle.enabled .alias-toggle-track{background:color-mix(in srgb, var(--success) 55%, var(--bg))}.alias-toggle.enabled .alias-toggle-thumb{background:#fff;transform:translate(14px)}.alias-toggle.restricted{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:color-mix(in srgb, var(--accent) 70%, var(--text))}.alias-toggle.restricted .alias-toggle-track{background:color-mix(in srgb, var(--accent) 55%, var(--bg))}.editor-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.form{flex-direction:column;gap:16px;display:flex}.auth-key-editor{background:color-mix(in srgb, var(--bg-surface) 82%, var(--bg) 18%)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:12px;font-weight:600;display:inline-block}.vm-target-row{align-items:center;gap:8px;display:flex}.vm-target-row .vm-target-model{flex:auto;min-width:0}.vm-target-row .vm-target-weight{flex:0 0 88px;width:88px}.vm-status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.vm-status-row .vm-status-toggle{margin-left:auto}.form-error{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface));color:var(--danger);overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.form-error:empty{display:none}.form-field-error{color:var(--danger);overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.4}.form-field-required{color:var(--danger);margin-left:3px}:is(input,textarea,select)[aria-invalid=true]{border-color:color-mix(in srgb, var(--danger) 60%, var(--border))}:is(input,textarea,select)[aria-invalid=true]:focus{border-color:var(--danger)}textarea{resize:vertical;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:60px;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:13px}textarea:focus{border-color:var(--accent)}.form-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:38px;color:var(--text);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.form-input:focus{border-color:var(--accent)}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.failover-target-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.data-table tr.alias-row.is-valid td{background:var(--alias-row-valid-bg)}.data-table tr.alias-row.is-valid:hover td{background:var(--alias-row-valid-bg-hover)}.data-table tr.alias-row:not(.is-valid) td{background:color-mix(in srgb, var(--accent) 10%, var(--bg-surface))}.data-table tr.alias-row:not(.is-valid):hover td{background:color-mix(in srgb, var(--accent) 16%, var(--bg-surface-hover))}.data-table tr.alias-row.is-disabled td{background:var(--bg-surface);opacity:.58}.data-table tr.alias-row.is-disabled:hover td{background:var(--bg-surface-hover);opacity:.72}.data-table tr.model-access-disabled-row td{background:color-mix(in srgb, var(--danger) 6%, var(--bg-surface))}.data-table tr.model-access-disabled-row:hover td{background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface-hover))}.workflow-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-section-head h4{font-size:14px;font-weight:700}.workflow-preview{flex-direction:column;gap:12px;display:flex}.workflow-feature-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workflow-feature-toggle{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.workflow-feature-toggle input{width:16px;height:16px}.model-chart-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.model-chart-section h3{margin:0;font-size:16px;font-weight:600}.model-chart-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.bar-chart-wrap{width:100%;height:180px;position:relative}.form-select,.usage-log-select{appearance:none;background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;outline:none;min-width:140px;padding:8px 34px 8px 12px;font-family:inherit;font-size:13px}.form-select:disabled,.usage-log-select:disabled{cursor:not-allowed;opacity:.6}.form-select:focus,.usage-log-select:focus{border-color:var(--accent)}.form-select{width:100%;min-width:0}.usage-label-chips{flex-wrap:wrap;gap:4px;max-width:280px;display:inline-flex}.usage-label-chip{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg));min-height:20px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;padding:1px 9px;font-family:inherit;font-size:11px;font-style:normal;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.usage-label-chip:hover{background:color-mix(in srgb, var(--label-color,var(--accent)) 26%, var(--bg))}.usage-label-chip.active{background:color-mix(in srgb, var(--label-color,var(--accent)) 32%, var(--bg));border-color:var(--label-color,var(--accent));box-shadow:0 0 0 1px color-mix(in srgb, var(--label-color,var(--accent)) 55%, transparent)}@keyframes audit-live-summary-stripe-blink{0%,to{opacity:.9}50%{opacity:.28}}.audit-status-badge{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);border-radius:999px;justify-content:center;align-items:center;min-width:46px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-status-badge.status-success{color:var(--success);border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.audit-status-badge.status-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.audit-status-badge.status-error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.audit-status-badge.status-neutral{color:var(--text-muted)}.audit-status-badge.status-unknown{color:var(--text-muted);border-color:color-mix(in srgb, var(--border) 75%, transparent)}.audit-pane{border:1px solid var(--border);background:var(--bg);border-top:0;border-radius:0 0 8px 8px;min-width:0;padding:12px}.audit-pane h5{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:11px;font-weight:600}.audit-prompt-cache-pill{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);min-height:20px;color:var(--prompt-cache-color);letter-spacing:.02em;text-transform:none;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.audit-prompt-cache-highlight{color:var(--prompt-cache-color);font-weight:700}.audit-audio{white-space:normal;flex-direction:column;gap:8px;display:flex}.audit-audio-player{width:100%;max-width:420px;height:36px}.audit-audio-meta{color:var(--text-muted);font-size:12px}.audit-audio-empty{align-items:flex-start;padding:4px 0}.audit-audio-icon{font-size:20px;line-height:1}.audit-audio-note{color:var(--text-muted);font-size:12px}.audit-audio-metadata{flex-direction:column;gap:2px;margin-top:4px;font-size:12px;display:flex}.audit-audio-meta-row{gap:8px;display:flex}.audit-audio-meta-key{color:var(--text-muted);min-width:120px}.conversation-body-highlight{border-left:2px solid color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 10%, transparent);cursor:pointer;line-height:inherit;border-radius:2px;margin:0 0 0 -2px;padding:0 0 0 2px;display:inline}.conversation-body-highlight:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.conversation-body-highlight.conversation-system{border-left-color:color-mix(in srgb, var(--warning) 70%, var(--border));background:color-mix(in srgb, var(--warning) 10%, transparent)}.conversation-body-highlight.conversation-user{border-left-color:color-mix(in srgb, var(--accent) 75%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent)}.conversation-body-highlight.conversation-assistant{border-left-color:color-mix(in srgb, var(--success) 65%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.conversation-drawer{background:var(--bg-surface);border-left:1px solid var(--border);z-index:60;flex-direction:column;width:min(560px,100vw);transition:transform .2s ease-out;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-16px 0 40px #0003}.conversation-drawer.open{transform:translate(0)}body.conversation-drawer-open{overflow:hidden}#interactions-drawer-content{flex:1;min-height:0;overflow-y:auto}.pagination{justify-content:space-between;align-items:center;padding:12px 0 0;display:flex}.btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:13px;transition:all .15s}.btn:hover:not(:disabled){background:var(--bg-surface-hover)}.btn-primary{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, #000 10%);color:#fff;font-weight:600;box-shadow:0 10px 22px #3b82f62e}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 90%, #fff 10%);border-color:color-mix(in srgb, var(--accent) 78%, #000 12%)}.btn-danger-outline{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:0 0;font-weight:600}.btn-danger-outline:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 75%, var(--border))}.btn-danger{color:#fff;border-color:color-mix(in srgb, var(--danger) 76%, #000 12%);background:var(--danger);box-shadow:0 10px 22px color-mix(in srgb, var(--danger) 20%, transparent);font-weight:600}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 90%, #fff 10%);border-color:color-mix(in srgb, var(--danger) 82%, #000 14%)}.btn-with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn-with-icon .table-icon-svg{width:16px;height:16px}.btn:disabled{opacity:.4;cursor:default}.settings-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.inline-help-section{flex-direction:column;gap:2px;display:flex}.inline-help-title-row{align-items:center;gap:10px;display:inline-flex}.inline-help-title-row h2,.inline-help-title-row h3{margin-bottom:0}.inline-help-title-row h2:empty,.inline-help-title-row h3:empty{display:none}.inline-help-toggle{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));width:16px;height:16px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .18s,border-color .18s;display:inline-flex;position:relative}.inline-help-toggle:before{content:"";pointer-events:auto;background:0 0;width:32px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inline-help-toggle:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));color:var(--text);background:0 0}.inline-help-toggle:active{background:0 0}.inline-help-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.inline-help-toggle-icon{justify-content:center;align-items:center;width:100%;height:100%;padding-bottom:1px;font-size:13px;font-weight:700;line-height:1;transition:transform .52s cubic-bezier(.22,.72,.12,1);display:inline-flex;transform:rotate(0)}.inline-help-copy{max-width:780px;color:var(--text-muted);margin-top:2px;font-size:14px}.settings-select{width:100%}.settings-refresh-section{border-top:1px solid var(--border);justify-items:start;gap:12px;margin-top:24px;padding-top:22px;display:grid}.settings-refresh-section h3{font-size:18px}.settings-refresh-section p{max-width:720px;color:var(--text-muted);font-size:14px;line-height:1.55}.budget-list{gap:10px;padding:10px 0;display:grid}.budget-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;padding:12px 14px;display:grid}.budget-row-main{min-width:0}.budget-row-head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.budget-scope-value{width:fit-content;max-width:100%;min-height:24px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;justify-self:start;align-items:center;gap:5px;padding:2px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;display:inline-flex;overflow:hidden}.budget-user-path{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--bg))}.budget-label{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.budget-scope-icon{stroke-width:2.2px;opacity:.85;flex:0 0 12px;width:12px;height:12px}.budget-row-meta{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.budget-source{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:999px;padding:2px 7px;font-size:11px}.budget-row-period{justify-content:center;min-width:0;display:flex}.budget-row-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.budget-bars{gap:6px;margin-top:10px;display:grid}.budget-bar-line{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px;display:grid}.budget-bar-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;font-size:11px;line-height:1;display:flex}.budget-bar-percent{font-weight:700}.budget-bar-track{background:color-mix(in srgb, var(--border) 75%, var(--bg));border-radius:999px;height:16px;position:relative;overflow:hidden}.budget-bar-fill{border-radius:inherit;min-width:0;height:100%;transition:width .2s}.budget-bar-fill-usage{background:color-mix(in srgb, var(--success) 82%, var(--accent))}.budget-bar-fill-danger{background:var(--danger)}.budget-bar-text-row{z-index:1;pointer-events:none;color:var(--text);position:absolute;inset:0}.budget-bar-text{text-overflow:ellipsis;white-space:nowrap;max-width:min(44%,190px);font-size:11px;font-weight:700;line-height:12px;position:absolute;top:50%;overflow:hidden}.budget-bar-text-center{max-width:min(46%,240px);left:50%;transform:translate(-50%,-50%)}.budget-bar-text-end{text-align:right;max-width:min(34%,180px);right:8px;transform:translateY(-50%)}.budget-period-label{border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.budget-period-icon{stroke-width:2.2px;flex:0 0 12px;width:12px;height:12px}.budget-period-label-monthly{border-color:color-mix(in srgb, #30302c 62%, var(--border));background:color-mix(in srgb, #30302c 12%, var(--bg));color:color-mix(in srgb, #30302c 34%, var(--text) 66%)}.budget-period-label-weekly{border-color:color-mix(in srgb, #68765c 62%, var(--border));background:color-mix(in srgb, #68765c 12%, var(--bg));color:color-mix(in srgb, #68765c 34%, var(--text) 66%)}.budget-period-label-daily{border-color:color-mix(in srgb, #b5652d 62%, var(--border));background:color-mix(in srgb, #b5652d 12%, var(--bg));color:color-mix(in srgb, #b5652d 34%, var(--text) 66%)}.budget-period-label-hourly{border-color:color-mix(in srgb, #783f22 62%, var(--border));background:color-mix(in srgb, #783f22 12%, var(--bg));color:color-mix(in srgb, #783f22 34%, var(--text) 66%)}.budget-period-label-custom{border-style:dashed;border-color:color-mix(in srgb, #bfa584 68%, var(--border));background:color-mix(in srgb, #bfa584 16%, var(--bg));color:color-mix(in srgb, #8b6f4f 34%, var(--text) 66%)}[data-theme=light] .budget-period-label-monthly{color:#30302c}[data-theme=light] .budget-period-label-weekly{color:#68765c}[data-theme=light] .budget-period-label-daily{color:#b5652d}[data-theme=light] .budget-period-label-hourly{color:#783f22}[data-theme=light] .budget-period-label-custom{color:#8b6f4f}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .budget-period-label-monthly{color:#30302c}:root:not([data-theme=dark]) .budget-period-label-weekly{color:#68765c}:root:not([data-theme=dark]) .budget-period-label-daily{color:#b5652d}:root:not([data-theme=dark]) .budget-period-label-hourly{color:#783f22}:root:not([data-theme=dark]) .budget-period-label-custom{color:#8b6f4f}}.budget-row-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.budget-action-btn{white-space:nowrap;justify-content:center;gap:0;width:28px;min-width:0;height:28px;padding:0;transition:width .18s,border-color .15s,background .15s,color .15s;overflow:hidden}.budget-action-btn:hover,.budget-action-btn:focus-visible{gap:6px;width:82px;padding:0 9px}.budget-action-label{opacity:0;max-width:0;transition:max-width .18s,opacity .12s;overflow:hidden}.budget-action-btn:hover .budget-action-label,.budget-action-btn:focus-visible .budget-action-label{opacity:1;max-width:58px}.budget-action-btn-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.budget-action-icon{flex:0 0 14px;width:14px;height:14px}.budget-editor{background:color-mix(in srgb, var(--bg-surface) 86%, var(--bg) 14%)}.budget-settings-actions{flex-wrap:wrap;gap:10px;display:flex}.budget-reset-dialog{max-width:460px}.form-action-icon{flex:0 0 16px;width:16px;height:16px}.settings-refresh-alert{margin-top:16px;margin-bottom:0}@media (width<=768px){.badge{display:none}.content{width:100%;margin:0 auto;padding:20px}.auth-dialog{padding:18px}.auth-dialog-actions{flex-direction:column-reverse}.auth-dialog-actions .btn{width:100%}.cards{grid-template-columns:repeat(2,1fr)}.page-header{flex-wrap:wrap;gap:12px}.page-header h2{width:100%}.page-header-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.page-with-sticky-date{grid-template-columns:minmax(0,1fr)}.page-with-sticky-date>.date-range-page-header,.page-with-sticky-date>.sticky-date-range{grid-column:1}.page-with-sticky-date>.date-range-page-header{margin-bottom:12px}.page-with-sticky-date>.sticky-date-range{width:100%;margin-bottom:24px;top:10px}.sticky-date-range .date-picker-trigger{justify-content:space-between;width:100%}.usage-log-select{min-width:0}.budget-row{grid-template-columns:1fr}.budget-row-controls{flex-wrap:wrap}.budget-bar-line{grid-template-columns:1fr;gap:5px}.form-grid,.workflow-feature-toggles{grid-template-columns:1fr}.workflow-section-head{flex-direction:column;align-items:flex-start}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-actions{justify-content:stretch;margin-left:0}.table-toolbar-actions .btn{width:100%}.model-editor{padding:16px}.alias-actions-cell,.editor-header{flex-direction:column;align-items:flex-start}.alias-actions-cell .table-action-btn,.editor-header .table-action-btn{width:100%}.alias-actions-cell .table-icon-btn,.editor-header .table-icon-btn{width:36px}.model-list-actions{flex-flow:row;align-items:center}.model-list-actions .table-action-btn{width:auto}.model-list-actions .table-icon-btn{flex-basis:32px;width:32px}.model-editor .editor-header{flex-direction:row;align-items:flex-start}.model-editor .editor-header>:first-child{flex:1;min-width:0}.model-editor .editor-header .dialog-close-btn{flex:0 0 32px;align-self:flex-start;width:32px;min-width:32px}.conversation-drawer{width:100%}.settings-panel{padding:18px}.budget-settings-actions,.budget-settings-actions .btn{width:100%}}.workflow-conn{background:color-mix(in srgb, var(--accent) 44%, var(--border));flex:1 1 0;width:auto;min-width:13px;height:2px;position:relative}.workflow-conn:after{content:"";background:color-mix(in srgb, var(--accent) 44%, var(--border));clip-path:polygon(0 0,100% 50%,0 100%);width:7px;height:9px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.workflow-node{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:72px;padding:8px 12px;display:flex}.auth-key-description{color:var(--text-muted);max-width:220px;font-size:13px}.auth-key-status-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.auth-key-status-active{background:color-mix(in srgb, var(--success) 12%, var(--bg));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success)}.auth-key-status-inactive{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));color:var(--danger)}.mcp-server-advanced{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-surface) 72%, var(--bg) 28%);overflow:hidden}.mcp-server-advanced>summary{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.mcp-server-advanced>summary::-webkit-details-marker{display:none}.mcp-server-advanced>summary:after{border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);content:"";flex:none;width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)}.mcp-server-advanced[open]>summary:after{transform:rotate(225deg)}.mcp-server-advanced-summary-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.mcp-server-advanced-title{font-size:13px;font-weight:600}.mcp-server-advanced-fields{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding:14px;display:flex}.copy-feedback-btn{align-items:center;gap:6px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.rate-limit-pressure-row{background-image:linear-gradient(to right, color-mix(in srgb, var(--success) 16%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-high{background-image:linear-gradient(to right, color-mix(in srgb, var(--warning) 20%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-full{background-image:linear-gradient(to right, color-mix(in srgb, var(--danger) 22%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.table-icon-btn.rate-limit-gauge-inherited{color:var(--accent-strong,var(--accent));background:linear-gradient(to right, color-mix(in srgb, var(--accent) 22%, var(--bg)) 50%, var(--bg) 50%);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.auth-dialog-input-icon{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-dialog-input-shell:focus-within .auth-dialog-input-icon{color:var(--accent)}.auth-dialog-submit-icon{flex:0 0 16px;width:16px;height:16px}.nav-icon{flex:0 0 18px;width:18px;height:18px}.api-key-open-icon{flex:0 0 15px;width:15px;height:15px}.theme-icon{flex:0 0 14px;width:14px;height:14px}.theme-toggle-mobile .theme-icon{flex-basis:16px;width:16px;height:16px}@media (width<=768px){.sidebar-footer .api-key-open-icon{flex-basis:16px;width:16px;height:16px}}.failover-drafts-loading{min-height:96px}.models-loading-state{z-index:7;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:fit-content;min-height:0;box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);margin:0 auto 16px;padding:10px 14px;position:sticky;top:16px}.alias-create-icon{flex:0 0 16px;width:16px;height:16px}.pricing-override-remove-row{margin-bottom:1px}@media (width<=768px){.pricing-override-remove-row{margin-bottom:0}}.pricing-recalculate-dialog{max-width:480px}.settings-refresh-btn.is-refreshing .settings-refresh-icon{transform-origin:50%;animation:.8s linear infinite loading-spin}.cost-source-icon{width:14px;height:14px;color:var(--success);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.cache-savings-icon{width:14px;height:14px;color:var(--accent);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.theme-toggle.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;margin-bottom:10px;padding:2px;display:inline-flex}.theme-btn.svelte-1keql7b{width:28px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-btn.svelte-1keql7b:hover{color:var(--text)}.theme-btn.active.svelte-1keql7b{background:var(--accent);color:#fff}.theme-btn.svelte-1keql7b:focus-visible,.theme-toggle-mobile.svelte-1keql7b:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.theme-toggle-mobile.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:none}.theme-toggle-mobile.svelte-1keql7b:hover{color:var(--text)}.theme-toggle.is-compact.svelte-1keql7b{display:none}.theme-toggle-mobile.is-compact.svelte-1keql7b{margin:0 auto;display:flex}@media (width<=768px){.theme-toggle.svelte-1keql7b{display:none}.theme-toggle-mobile.svelte-1keql7b{margin:0 auto;display:flex}}.sidebar.svelte-1nwtzae{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);-webkit-overflow-scrolling:touch;z-index:10;flex-direction:column;max-height:100vh;transition:flex-basis .2s,width .2s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header.svelte-1nwtzae{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:20px;display:flex}.sidebar-logo.svelte-1nwtzae{width:28px;height:28px;color:var(--accent);flex-shrink:0}.sidebar-logo.svelte-1nwtzae svg{width:100%;height:100%}.sidebar-header.svelte-1nwtzae h1{letter-spacing:-.3px;font-size:18px;font-weight:700}.sidebar-nav.svelte-1nwtzae{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.nav-item.svelte-1nwtzae{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item.svelte-1nwtzae:hover{background:var(--bg-surface-hover);color:var(--text)}.nav-item.active.svelte-1nwtzae{background:var(--accent);color:#fff}.sidebar-footer.svelte-1nwtzae{border-top:1px solid var(--border);padding:16px}.api-key-section.svelte-1nwtzae{gap:8px;display:grid}.api-key-open-btn.svelte-1nwtzae{border:1px solid var(--accent);border-radius:var(--radius);width:100%;color:var(--accent);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.api-key-open-btn.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 78%, var(--text));color:color-mix(in srgb, var(--accent) 78%, var(--text))}.api-key-open-btn.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar-toggle.svelte-1nwtzae{cursor:w-resize;z-index:11;background:0 0;border:none;flex:0 0 6px;width:6px;height:100vh;padding:0;transition:background .15s;position:sticky;top:0}.sidebar-toggle.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.sidebar-toggle.collapsed.svelte-1nwtzae{cursor:e-resize}.sidebar-toggle.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar.sidebar-collapsed.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae){justify-content:center;padding:16px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae) h1,.sidebar.sidebar-collapsed.svelte-1nwtzae .badge{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae) span{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae){padding:8px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:none}@media (width<=768px){.sidebar.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar-header.svelte-1nwtzae{justify-content:center;padding:16px}.sidebar-header.svelte-1nwtzae h1{display:none}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae) span{display:none}.sidebar-footer.svelte-1nwtzae{gap:8px;padding:8px;display:grid}.sidebar-footer.svelte-1nwtzae .api-key-section:where(.svelte-1nwtzae),.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:grid}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae){justify-self:center;width:36px;height:36px;min-height:36px;padding:0}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae) span,.sidebar-toggle.svelte-1nwtzae{display:none}}.dialog-close-btn.svelte-11l1bb5{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.dialog-close-btn.svelte-11l1bb5:hover{color:var(--text);background:var(--bg-surface-hover)}.dialog-close-btn.svelte-11l1bb5:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-backdrop.svelte-17e0w4c,.editor-modal-backdrop.svelte-17e0w4c{z-index:80;background:#0000007a;position:fixed;inset:0}.auth-dialog-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.editor-modal-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.editor-modal-shell.svelte-17e0w4c>*{overscroll-behavior:contain;width:min(760px,100%);max-height:min(100vh - 40px,960px);margin:0;overflow:auto;box-shadow:0 24px 70px #00000061}@media (width<=768px){.auth-dialog-shell.svelte-17e0w4c,.editor-modal-shell.svelte-17e0w4c{align-items:end;padding:12px}.editor-modal-shell.svelte-17e0w4c>*{max-height:calc(100vh - 24px)}}.auth-dialog-input-shell.svelte-1dsu6u0{position:relative}.auth-dialog-input.svelte-1dsu6u0{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:11px 12px 11px 38px;font-family:inherit;font-size:14px}.auth-dialog-input.svelte-1dsu6u0:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.flash-region.svelte-1i257xg{top:16px;left:var(--sidebar-width);z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;right:0}.sidebar.sidebar-collapsed~.flash-region.svelte-1i257xg{left:60px}@media (width<=768px){.flash-region.svelte-1i257xg{left:60px}}.flash-toast.svelte-1i257xg{border-radius:var(--radius);pointer-events:auto;align-items:flex-start;gap:10px;width:max-content;max-width:min(480px,100% - 32px);padding:12px 12px 12px 16px;font-size:14px;animation:.9s ease-out svelte-1i257xg-flash-toast-glow;display:flex;box-shadow:0 10px 30px #00000059}@keyframes svelte-1i257xg-flash-toast-glow{0%{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 45%, transparent), 0 10px 30px #00000059}to{box-shadow:0 0 0 4px #0000,0 10px 30px #00000059}}@media (prefers-reduced-motion:reduce){.flash-toast.svelte-1i257xg{animation:none}}.flash-toast-success.svelte-1i257xg{background:color-mix(in srgb, var(--success) 14%, var(--bg-surface));color:var(--success);border:1px solid #34d39959}.flash-toast-error.svelte-1i257xg{background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--warning);border:1px solid #f59e0b66}.flash-toast-text.svelte-1i257xg{overflow-wrap:anywhere;flex:1;min-width:0}.flash-toast-dismiss.svelte-1i257xg{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.flash-toast-dismiss.svelte-1i257xg:hover{opacity:1}.demo-mode-banner.svelte-1s3mcn8{border:1px solid color-mix(in srgb, var(--warning) 55%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--text);box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;display:grid}.demo-mode-banner-icon.svelte-1s3mcn8{width:20px;height:20px;color:var(--warning);flex:0 0 20px}.demo-mode-banner-copy.svelte-1s3mcn8{align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.demo-mode-banner.svelte-1s3mcn8 strong{color:var(--warning);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-size:12px}.demo-mode-banner-links.svelte-1s3mcn8{justify-content:flex-end;align-items:center;gap:6px;display:flex}.demo-mode-banner-links.svelte-1s3mcn8 a{border:1px solid color-mix(in srgb, var(--warning) 42%, var(--border));border-radius:var(--radius);min-height:28px;color:var(--text);white-space:nowrap;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.demo-mode-banner-links.svelte-1s3mcn8 a:hover{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--text)}.demo-mode-banner-links.svelte-1s3mcn8 a:focus-visible{outline:2px solid color-mix(in srgb, var(--warning) 42%, transparent);outline-offset:2px}@media (width<=768px){.demo-mode-banner.svelte-1s3mcn8{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.demo-mode-banner-copy.svelte-1s3mcn8{gap:2px;display:grid}.demo-mode-banner-links.svelte-1s3mcn8{flex-wrap:wrap;grid-column:2;justify-content:flex-start}}.auth-banner.svelte-1c5yh36{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dp-calendar.svelte-g7ga4u{flex-shrink:0;width:224px}.dp-cal-header.svelte-g7ga4u{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;display:flex}.dp-cal-title.svelte-g7ga4u{font-size:13px;font-weight:600}.dp-nav-btn.svelte-g7ga4u{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.dp-nav-btn.svelte-g7ga4u:hover{background:var(--bg-surface-hover);color:var(--text)}.dp-nav-btn.svelte-g7ga4u:disabled{opacity:.3;cursor:default;pointer-events:none}.dp-nav-prev-mobile.svelte-g7ga4u{display:none}.dp-weekdays.svelte-g7ga4u{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dp-weekdays.svelte-g7ga4u span:where(.svelte-g7ga4u){color:var(--text-muted);padding:4px 0;font-size:11px;font-weight:600}.dp-days.svelte-g7ga4u{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.dp-day.svelte-g7ga4u{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:12px;transition:all .1s;display:flex}.dp-day.svelte-g7ga4u:hover:not(.disabled):not(.other-month){background:var(--bg-surface-hover)}.dp-day.other-month.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default}.dp-day.today.svelte-g7ga4u{color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:700}.dp-day.in-range.svelte-g7ga4u{background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:0}.dp-day.range-start.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:6px 0 0 6px;font-weight:600}.dp-day.range-end.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:0 6px 6px 0;font-weight:600}.dp-day.range-start.range-end.svelte-g7ga4u{border-radius:6px}.dp-day.range-start.today.svelte-g7ga4u,.dp-day.range-end.today.svelte-g7ga4u{box-shadow:none}.dp-day.disabled.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default;pointer-events:none}@media (width<=768px){.dp-nav-prev-mobile.svelte-g7ga4u{display:flex}}.date-picker.svelte-ax7ma4{position:relative}.date-picker-trigger.svelte-ax7ma4{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:inline-flex}.date-picker-trigger.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.date-picker-trigger.svelte-ax7ma4 svg:where(.svelte-ax7ma4){color:var(--text-muted);flex-shrink:0}.date-picker-chevron.svelte-ax7ma4{transition:transform .15s}.date-picker-chevron.open.svelte-ax7ma4{transform:rotate(180deg)}.date-picker-dropdown.svelte-ax7ma4{z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.date-picker-presets.svelte-ax7ma4{border-right:1px solid var(--border);flex-direction:column;gap:2px;min-width:140px;padding:8px;display:flex}.preset-btn.svelte-ax7ma4{color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.preset-btn.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.preset-btn.active.svelte-ax7ma4{background:var(--accent);color:#fff}.date-picker-calendars.svelte-ax7ma4{flex-wrap:nowrap;gap:16px;padding:12px;display:flex}.dp-cursor-hint.svelte-ax7ma4{pointer-events:none;z-index:101;background:var(--bg-surface);color:var(--text);border:1px solid var(--accent);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:flex;position:fixed;transform:translate(12px,-50%)}.dp-cursor-hint.svelte-ax7ma4 svg:where(.svelte-ax7ma4){width:12px;height:12px;color:var(--accent);flex-shrink:0}@media (width<=768px){.date-picker-dropdown.svelte-ax7ma4{border-radius:var(--radius) var(--radius) 0 0;flex-direction:column;max-height:80vh;position:fixed;inset:auto 0 0;overflow-y:auto}.date-picker-presets.svelte-ax7ma4{-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid var(--border);flex-flow:row;min-width:0;overflow-x:auto}.date-picker-calendars.svelte-ax7ma4{justify-content:center}.date-picker-calendars.svelte-ax7ma4>.dp-calendar:first-child{display:none}}.segmented-control.svelte-92fh5i{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.segmented-btn.svelte-92fh5i{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:flex}.segmented-btn.svelte-92fh5i:hover{color:var(--text)}.segmented-btn.active.svelte-92fh5i{background:var(--accent);color:#fff}@media (width<=768px){.segmented-btn.svelte-92fh5i{padding:4px 8px;font-size:11px}}.live-tokens.svelte-17qr2ta{margin-bottom:28px}.live-tokens-heading.svelte-17qr2ta{flex-direction:column;gap:2px;display:flex}.live-tokens-subtitle.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.live-tokens-legend.svelte-17qr2ta{flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;display:flex}.live-tokens-legend-item.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.live-tokens-swatch.svelte-17qr2ta{border-radius:2px;flex-shrink:0;width:10px;height:10px}.live-tokens-legend-value.svelte-17qr2ta{color:var(--text);font-weight:600}.live-tokens-empty.svelte-17qr2ta .live-tokens-empty-text:where(.svelte-17qr2ta){color:var(--text-muted);font-size:13px}.provider-status-flag.svelte-6tr9cf{grid-column:span 2}.provider-status-overview-card.svelte-6tr9cf{grid-column:span 1}.provider-status-flag.is-healthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, var(--bg-surface))}.provider-status-flag.is-degraded.svelte-6tr9cf{border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-flag.is-unhealthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface))}.provider-status-value.svelte-6tr9cf{margin-bottom:8px}.provider-status-card-link.svelte-6tr9cf{color:var(--accent-strong,var(--accent));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:13px;font-weight:600}.provider-status-card-link.svelte-6tr9cf:hover{color:var(--text);text-decoration:underline}.provider-status-card-link.svelte-6tr9cf:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:3px;border-radius:4px}.provider-status-card-note.svelte-6tr9cf{color:var(--text-muted);font-size:13px;display:block}@media (width>=720px){.card-wide.svelte-6tr9cf{grid-column:span 2}}.cache-token-value.svelte-6tr9cf{flex-wrap:wrap;align-items:center;gap:6px;line-height:1;display:flex}.cache-token-part.svelte-6tr9cf{align-items:center;display:inline-flex}.cache-token-operator.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;font-size:24px;font-weight:600;line-height:1}.cache-token-marker.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin-left:2px;font-size:14px;font-weight:700}.prompt-cache-gauge.svelte-6tr9cf{width:120px;height:60px;margin:8px auto 0;position:relative;overflow:hidden}.prompt-cache-gauge.svelte-6tr9cf canvas{display:block}.prompt-cache-gauge-value.svelte-6tr9cf{text-align:center;color:var(--text);font-size:18px;font-weight:700;line-height:1;position:absolute;bottom:4px;left:0;right:0}@media (width<=768px){.provider-status-flag.svelte-6tr9cf{grid-column:span 1}}.mcp-servers-flag.svelte-6tr9cf{grid-column:span 1}.cache-meter-header.svelte-1yzecxj{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:16px;display:flex}.cache-meter-header.svelte-1yzecxj h3{font-size:16px;font-weight:600}.cache-meter-subtitle.svelte-1yzecxj{color:var(--text-muted);font-size:13px}.cache-meter-bar.svelte-1yzecxj{background:var(--bg-surface-hover);border-radius:6px;width:100%;height:28px;display:flex;overflow:hidden}.cache-meter-segment.svelte-1yzecxj{justify-content:center;align-items:center;min-width:3px;height:100%;transition:width .3s;display:flex;overflow:hidden}.cache-meter-segment-label.svelte-1yzecxj{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #00000073;font-size:12px;font-weight:600;line-height:1}.cache-meter-segment.svelte-1yzecxj+.cache-meter-segment:where(.svelte-1yzecxj){box-shadow:-1px 0 0 var(--bg-surface)}.cache-meter-bar.is-empty.svelte-1yzecxj{background:var(--bg-surface-hover);justify-content:center;align-items:center;height:auto;min-height:28px;padding:6px 12px}.cache-meter-legend.svelte-1yzecxj{flex-wrap:wrap;gap:10px 24px;margin-top:16px;display:flex}.cache-meter-legend-item.svelte-1yzecxj{align-items:center;gap:8px;font-size:13px;display:flex}.cache-meter-swatch.svelte-1yzecxj{border-radius:3px;flex-shrink:0;width:12px;height:12px}.cache-meter-legend-label.svelte-1yzecxj{color:var(--text)}.cache-meter-legend-pct.svelte-1yzecxj{color:var(--text);font-weight:600}.cache-meter-legend-tokens.svelte-1yzecxj{color:var(--text-muted)}.cache-meter-empty.svelte-1yzecxj{color:var(--text-muted);text-align:center;font-size:13px}.spinner.svelte-b54l9o{width:var(--spinner-size);height:var(--spinner-size);border:2px solid var(--border,#80808059);border-top-color:var(--accent,currentColor);border-radius:50%;flex:none;animation:.7s linear infinite svelte-b54l9o-spinner-rotate;display:inline-block}@keyframes svelte-b54l9o-spinner-rotate{to{transform:rotate(360deg)}}.contribution-calendar-section.svelte-3hfxuq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:24px}.contribution-calendar-header.svelte-3hfxuq{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.contribution-calendar-header.svelte-3hfxuq h3{font-size:16px;font-weight:600}.contribution-calendar-grid-wrapper.svelte-3hfxuq{gap:8px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq{flex-direction:column;gap:2px;padding-top:22px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq span{height:13px;color:var(--text-muted);text-align:right;min-width:28px;font-size:10px;line-height:13px}.contribution-calendar-scroll.svelte-3hfxuq{--contribution-week-size:13px;--contribution-week-gap:2px;flex:1;min-width:0;overflow-x:auto}.contribution-calendar-months.svelte-3hfxuq{grid-auto-columns:var(--contribution-week-size);gap:var(--contribution-week-gap);grid-auto-flow:column;height:16px;margin-bottom:6px;display:grid}.contribution-calendar-month-label.svelte-3hfxuq{color:var(--text-muted);white-space:nowrap;font-size:10px}.contribution-calendar-grid.svelte-3hfxuq{gap:var(--contribution-week-gap);display:flex}.contribution-calendar-week.svelte-3hfxuq{flex-direction:column;gap:2px;display:flex}.contribution-calendar-cell.svelte-3hfxuq{width:var(--contribution-week-size);height:var(--contribution-week-size);background:var(--cal-level-0);border-radius:2px}.contribution-calendar-cell.level-1.svelte-3hfxuq{background:var(--cal-level-1)}.contribution-calendar-cell.level-2.svelte-3hfxuq{background:var(--cal-level-2)}.contribution-calendar-cell.level-3.svelte-3hfxuq{background:var(--cal-level-3)}.contribution-calendar-cell.level-4.svelte-3hfxuq{background:var(--cal-level-4)}.contribution-calendar-cell.level-5.svelte-3hfxuq{background:var(--cal-level-5)}.contribution-calendar-cell.level-6.svelte-3hfxuq{background:var(--cal-level-6)}.contribution-calendar-cell.level-7.svelte-3hfxuq{background:var(--cal-level-7)}.contribution-calendar-cell.level-8.svelte-3hfxuq{background:var(--cal-level-8)}.contribution-calendar-cell.level-9.svelte-3hfxuq{background:var(--cal-level-9)}.contribution-calendar-cell.level-10.svelte-3hfxuq{background:var(--cal-level-10)}.contribution-calendar-cell.empty.svelte-3hfxuq{background:0 0}.contribution-calendar-footer.svelte-3hfxuq{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.contribution-calendar-meta.svelte-3hfxuq{flex-direction:column;gap:4px;display:flex}.contribution-calendar-summary.svelte-3hfxuq{color:var(--text-muted);font-size:12px}.contribution-calendar-legend.svelte-3hfxuq{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.contribution-calendar-legend.svelte-3hfxuq .contribution-calendar-cell:where(.svelte-3hfxuq){cursor:default;width:11px;height:11px}.contribution-calendar-tooltip.svelte-3hfxuq{z-index:200;background:var(--bg-surface);color:var(--text);border:1px solid var(--border);white-space:nowrap;pointer-events:none;border-radius:4px;padding:4px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #0003}@media (width<=768px){.contribution-calendar-day-labels.svelte-3hfxuq{display:none}.contribution-calendar-section.svelte-3hfxuq{padding:16px}.contribution-calendar-footer.svelte-3hfxuq{flex-direction:column;align-items:flex-start}}.inline-help-toggle.is-open.svelte-y40or3{color:var(--text);background:0 0}.inline-help-toggle.is-open.svelte-y40or3 .inline-help-toggle-icon{transform:rotate(540deg)}.audit-stats-section.svelte-14e9yan{margin-top:24px}.audit-stats-header.svelte-14e9yan{align-items:flex-start}.audit-stats-kpis.svelte-14e9yan{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.audit-stats-kpi.svelte-14e9yan{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.audit-stats-kpi-value.svelte-14e9yan{color:var(--text);font-size:13px}.audit-stats-kpi-dot.svelte-14e9yan{border-radius:2px;flex-shrink:0;width:8px;height:8px}.audit-stats-dot-2xx.svelte-14e9yan{background:var(--success)}.audit-stats-dot-4xx.svelte-14e9yan{background:var(--warning)}.audit-stats-dot-5xx.svelte-14e9yan{background:var(--danger)}.provider-status-card.svelte-nopjmh{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:18px;display:flex}.provider-status-card-toggle.svelte-nopjmh{border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin:auto -18px -18px;padding:7px 0;transition:background .15s,color .15s;display:flex}.provider-status-card-toggle.svelte-nopjmh:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text)}.provider-status-card-toggle.svelte-nopjmh:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:-2px}.provider-status-card-toggle.svelte-nopjmh .provider-status-card-toggle-icon{width:16px;height:16px;transition:transform .28s;display:block}.provider-status-card-toggle.is-expanded.svelte-nopjmh .provider-status-card-toggle-icon{transform:rotate(180deg)}.provider-status-card-head.svelte-nopjmh{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.provider-status-name.svelte-nopjmh{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:16px;font-weight:700;display:flex}.provider-doc-help.svelte-nopjmh{align-self:center;text-decoration:none}.provider-status-name-type.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-pill.svelte-nopjmh{border:1px solid var(--border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.provider-status-pill.is-healthy.svelte-nopjmh,.provider-status-health-state.is-healthy.svelte-nopjmh{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.provider-status-pill.is-degraded.svelte-nopjmh,.provider-status-health-state.is-degraded.svelte-nopjmh{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-pill.is-unhealthy.svelte-nopjmh,.provider-status-health-state.is-unhealthy.svelte-nopjmh{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.provider-status-details.svelte-nopjmh{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .28s,opacity .22s;display:grid}.provider-status-details.is-expanded.svelte-nopjmh{opacity:1;grid-template-rows:1fr}.provider-status-details.is-collapsed.svelte-nopjmh{pointer-events:none}.provider-status-details-inner.svelte-nopjmh{flex-direction:column;gap:14px;min-height:0;display:flex;overflow:hidden}.provider-status-reason.svelte-nopjmh{color:var(--text-muted);font-size:13px}.provider-status-error.svelte-nopjmh{color:var(--danger);overflow-wrap:break-word;font-size:12px}.provider-status-meta.svelte-nopjmh{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.provider-status-meta-item.svelte-nopjmh{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.provider-status-meta-label.svelte-nopjmh,.provider-status-config-label.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-meta-value.svelte-nopjmh{color:var(--text);font-size:14px}.provider-status-config.svelte-nopjmh{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.provider-status-config-row.svelte-nopjmh{flex-direction:column;gap:4px;display:flex}.provider-status-config-value.svelte-nopjmh{color:var(--text);overflow-wrap:break-word;font-size:13px;display:block}.provider-status-health.svelte-nopjmh{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:12px;padding-top:12px;display:flex}.provider-status-health-state.svelte-nopjmh{border:1px solid var(--border);border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.provider-status-health-models.svelte-nopjmh{flex-direction:column;gap:4px;display:flex}.provider-status-health-model.svelte-nopjmh{color:var(--text);justify-content:space-between;gap:8px;font-size:13px;display:flex}.provider-status-health-model.is-flagged.svelte-nopjmh{color:var(--danger)}.provider-status-health-model-name.svelte-nopjmh{overflow-wrap:anywhere}.provider-status-health-model-stats.svelte-nopjmh{white-space:nowrap;color:var(--text-muted)}.provider-status-health-model.is-flagged.svelte-nopjmh .provider-status-health-model-stats:where(.svelte-nopjmh){color:var(--danger);font-weight:700}@media (width<=768px){.provider-status-meta.svelte-nopjmh{grid-template-columns:1fr}}.provider-status-section-loading.svelte-1kx3uw4{justify-content:center;padding:24px 0;display:flex}.provider-status-section-header.svelte-1kx3uw4{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.provider-status-toggle.svelte-1kx3uw4{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.provider-status-toggle.svelte-1kx3uw4:hover{background:var(--bg-surface-hover)}.provider-status-toggle.svelte-1kx3uw4:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.provider-status-toggle-copy.svelte-1kx3uw4{white-space:nowrap}.provider-status-toggle-track.svelte-1kx3uw4{background:color-mix(in srgb, var(--text-muted) 35%, var(--border));border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background-color .2s;position:relative}.provider-status-toggle-track.is-active.svelte-1kx3uw4{background:color-mix(in srgb, var(--accent) 82%, var(--bg-surface))}.provider-status-toggle-thumb.svelte-1kx3uw4{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000003d}.provider-status-toggle-track.is-active.svelte-1kx3uw4 .provider-status-toggle-thumb:where(.svelte-1kx3uw4){transform:translate(14px)}.provider-status-grid.svelte-1kx3uw4{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}@media (width<=768px){.provider-status-section-header.svelte-1kx3uw4{flex-direction:column;align-items:flex-start}.provider-status-toggle.svelte-1kx3uw4{justify-content:space-between;width:100%}}.filter-input-wrap.svelte-30xz1k{flex:1;width:100%;min-width:min(400px,100%);display:flex;position:relative}.filter-input.svelte-30xz1k{flex:1;width:100%;min-width:0;padding-left:34px}.filter-input-wrap.svelte-30xz1k .filter-input-icon{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.usage-page-filters.svelte-1oi6ywk{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.usage-page-filters.svelte-1oi6ywk .usage-log-select{flex:0 auto}.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path{flex:220px;min-width:180px;max-width:360px}@media (width<=768px){.usage-page-filters.svelte-1oi6ywk .usage-log-select,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path{flex:100%;max-width:none}}.usage-breakdown-loading.svelte-1kee4g8{justify-content:center;align-items:center;min-height:120px;display:flex}.chart-view-toggle.svelte-1kee4g8{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.chart-view-btn.svelte-1kee4g8{width:30px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.chart-view-btn.svelte-1kee4g8:hover{color:var(--text)}.chart-view-btn.active.svelte-1kee4g8{background:var(--accent);color:#fff}.chart-view-btn.svelte-1kee4g8 svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.usage-chart-table-wrapper.svelte-1kee4g8{-webkit-overflow-scrolling:touch;margin-top:0;overflow-x:auto}.usage-chart-data-table.svelte-1kee4g8{min-width:max-content}.usage-chart-data-table.svelte-1kee4g8 th,.usage-chart-data-table.svelte-1kee4g8 td{white-space:nowrap}.pagination-info.svelte-1imew3q{color:var(--text-muted);font-size:13px}.pagination-buttons.svelte-1imew3q{gap:8px;display:flex}.usage-log-loading.svelte-hg4ill{justify-content:center;align-items:center;min-height:120px;display:flex}.usage-log-section.svelte-hg4ill{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.usage-log-section.svelte-hg4ill h3{margin-bottom:16px;font-size:16px;font-weight:600}.usage-log-section.svelte-hg4ill .table-wrapper{overflow-x:auto}.usage-log-toolbar.svelte-hg4ill{gap:12px;margin-bottom:16px;display:grid}.usage-filter-row.svelte-hg4ill{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:12px;display:grid}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1/-1}.usage-filter-row-options.svelte-hg4ill{grid-template-columns:1fr}.usage-log-checkbox.svelte-hg4ill{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.usage-log-checkbox.svelte-hg4ill input{cursor:pointer;width:16px;height:16px}.usage-ts.svelte-hg4ill{white-space:nowrap;font-size:12px}.usage-log-row-cached.svelte-hg4ill td{opacity:.75;font-style:italic}.usage-log-row-cached.svelte-hg4ill .usage-log-cache-cell:where(.svelte-hg4ill){font-weight:700}.caveat-icon.svelte-hg4ill{color:var(--warning);cursor:help;margin-left:4px;font-size:14px}@media (width<=768px){.usage-log-toolbar.svelte-hg4ill{gap:10px}.usage-filter-row.svelte-hg4ill{grid-template-columns:1fr}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1}.usage-log-table.svelte-hg4ill{display:block;overflow-x:auto}}.usage-sticky-controls.svelte-spwie6{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.usage-charts-grid.svelte-spwie6{flex-wrap:wrap;gap:24px;margin-bottom:24px;display:flex}.usage-charts-grid.svelte-spwie6 .model-chart-section{flex:calc(50% - 24px);min-width:420px;margin-bottom:0}@media (width<=520px){.usage-charts-grid.svelte-spwie6 .model-chart-section{min-width:0}}.loading-state.svelte-hzxv1d{min-height:64px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.budget-bar-text-row-on-fill.svelte-1jm56wo{color:#fff;clip-path:inset(0 calc(100% - var(--budget-progress,0%)) 0 0)}.budget-bar-text-start.svelte-1jm56wo{left:8px;transform:translateY(-50%)}.budget-bar-track-period-custom.svelte-1jm56wo .budget-bar-text-row-on-fill:where(.svelte-1jm56wo){color:#3f332a}.budget-override-dialog.svelte-13ryo7h{max-width:460px}.budget-sort-control.svelte-1752fqe{align-items:center;gap:8px}.budget-sort-control.svelte-1752fqe label{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.budget-sort-select.svelte-1752fqe{background-color:var(--bg-surface);min-width:132px}.budget-sort-select.svelte-1752fqe:hover{background-color:var(--bg-surface-hover)}.model-name-cell.svelte-1iynym{flex-direction:column;gap:8px;display:flex}.model-name-primary.svelte-1iynym{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.model-name-secondary.svelte-1iynym{color:var(--text-muted);font-size:12px}.model-redirect-remove-btn.svelte-1iynym{appearance:none;color:var(--danger);cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-size:11px}.model-redirect-remove-btn.svelte-1iynym:hover:not(:disabled){text-decoration:underline}.model-redirect-remove-btn.svelte-1iynym:disabled{opacity:.45;cursor:default}.model-kind-icon.svelte-1iynym{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--bg);width:24px;height:24px;color:var(--accent);border-radius:999px;flex:0 0 24px;justify-content:center;align-items:center;display:inline-flex}.model-kind-icon-svg.svelte-1iynym{width:14px;height:14px}.model-row-actions.svelte-1iynym{text-align:right;width:170px}@media (width<=768px){.model-name-primary.svelte-1iynym{flex-direction:column;align-items:flex-start}}.provider-group-row.svelte-1911hy6 td{background:color-mix(in srgb, var(--accent) 6%, var(--bg));padding-top:12px;padding-bottom:12px}.provider-group-row.svelte-1911hy6:hover td{background:color-mix(in srgb, var(--accent) 8%, var(--bg))}.provider-group-header.svelte-1911hy6{justify-content:space-between;align-items:center;gap:16px;display:flex}.provider-group-meta.svelte-1911hy6{flex-direction:column;gap:4px;min-width:0;display:flex}.provider-group-title.svelte-1911hy6{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.provider-group-type.svelte-1911hy6,.provider-group-count.svelte-1911hy6,.provider-group-summary.svelte-1911hy6{color:var(--text-muted);font-size:12px}@media (width<=768px){.provider-group-header.svelte-1911hy6{flex-direction:column;align-items:flex-start}}.pricing-override-rows.svelte-u8snes{gap:12px;display:grid}.pricing-override-row.svelte-u8snes{grid-template-columns:minmax(220px,1fr) minmax(130px,180px) 32px;align-items:end;gap:12px;display:grid}.pricing-override-row-actions.svelte-u8snes{justify-content:flex-start;display:flex}.pricing-override-tier-note.svelte-u8snes{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:6px;padding:10px 12px;font-size:13px}.pricing-preview.svelte-u8snes{border:1px solid var(--border);border-radius:6px;overflow:hidden}.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:minmax(150px,1fr) minmax(90px,auto) minmax(130px,.8fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.pricing-preview-header.svelte-u8snes{background:var(--bg);color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.pricing-preview-row.svelte-u8snes{border-top:1px solid var(--border);font-size:13px}.pricing-preview-row-empty.svelte-u8snes{color:var(--text-muted);grid-template-columns:1fr}@media (width<=768px){.pricing-override-row.svelte-u8snes,.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:1fr}}.failover-drafts-editor.svelte-1n87bip{flex-direction:column;gap:16px;display:flex}.failover-draft-header-actions.svelte-1n87bip{flex:none;align-items:center;gap:10px;display:flex}.failover-draft-counter.svelte-1n87bip{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.failover-draft-toolbar.svelte-1n87bip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.failover-draft-toolbar.svelte-1n87bip .filter-input-wrap,.failover-draft-toolbar.svelte-1n87bip .filter-input{min-width:0}.failover-draft-toggle-all.svelte-1n87bip{flex:none}.failover-draft-list.svelte-1n87bip{flex-direction:column;gap:8px;max-height:min(52vh,430px);padding-right:4px;display:flex;overflow-y:auto}.failover-draft-row.svelte-1n87bip{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.failover-draft-row.svelte-1n87bip:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));background:var(--bg-surface-hover)}.failover-draft-row.svelte-1n87bip input{width:16px;height:16px;margin-top:2px}.failover-draft-copy.svelte-1n87bip{gap:4px;min-width:0;display:grid}.failover-draft-source.svelte-1n87bip,.failover-draft-targets.svelte-1n87bip{overflow-wrap:anywhere}.failover-draft-targets.svelte-1n87bip{color:var(--text-muted);font-size:12px}.failover-drafts-empty.svelte-1n87bip{align-items:center;min-height:96px;display:flex}.failover-draft-actions.svelte-1n87bip{margin-top:0}.category-tabs.svelte-scpjps{-webkit-overflow-scrolling:touch;align-items:center;gap:4px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.category-tab.svelte-scpjps{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.category-tab.svelte-scpjps:hover{color:var(--text);background:var(--bg-surface-hover)}.category-tab.active.svelte-scpjps{background:var(--accent);color:#fff;border-color:var(--accent)}.category-tab.svelte-scpjps .tab-count:where(.svelte-scpjps){background:#ffffff26;border-radius:9px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.category-tab.svelte-scpjps:not(.active) .tab-count:where(.svelte-scpjps){background:var(--bg)}@media (width<=768px){.category-tabs.svelte-scpjps{gap:4px}.category-tab.svelte-scpjps{padding:5px 10px;font-size:12px}}.workflow-pipeline-meta.svelte-1viff7o{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 86%, transparent);min-width:0;max-width:calc(100% - 28px);color:var(--text-muted);white-space:nowrap;appearance:none;cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:0;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;position:absolute;top:12px;right:14px;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover,.workflow-pipeline-meta.svelte-1viff7o:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface));color:color-mix(in srgb, var(--accent) 74%, var(--text))}.workflow-pipeline-meta.svelte-1viff7o:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.workflow-pipeline-meta-label.svelte-1viff7o{flex:none;font-weight:700}.workflow-pipeline-meta-placeholder.svelte-1viff7o{opacity:1;flex:none;max-width:3ch;margin-left:4px;transition:max-width .18s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta-value.svelte-1viff7o{opacity:0;text-overflow:clip;flex:0 auto;max-width:0;margin-left:0;transition:max-width .22s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o){opacity:0;max-width:0;margin-left:0}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o){opacity:1;max-width:42ch;margin-left:4px}.workflow-pipeline-meta-icon.svelte-1viff7o{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:14px;margin-left:0;line-height:0;transition:width .18s,margin-left .18s,opacity .15s,transform .18s;display:inline-flex;overflow:hidden;transform:translate(4px)translateY(1px)scale(.84)}.workflow-pipeline-meta-icon.svelte-1viff7o svg{width:14px;height:14px}.workflow-pipeline-meta-copied.svelte-1viff7o,.workflow-pipeline-meta-copied.svelte-1viff7o:hover,.workflow-pipeline-meta-copied.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-icon:where(.svelte-1viff7o){opacity:1;width:14px;margin-left:6px;transform:translateY(1px)}.workflow-pipeline-meta-error.svelte-1viff7o,.workflow-pipeline-meta-error.svelte-1viff7o:hover,.workflow-pipeline-meta-error.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 34%, var(--border));color:var(--danger)}.workflow-pipeline.svelte-nbptrg{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);flex-direction:column;gap:0;margin-bottom:12px;padding:18px 20px 20px;display:flex;position:relative}.workflow-pipeline-has-meta.svelte-nbptrg{padding-top:42px}.workflow-pipeline-row.svelte-nbptrg{align-items:center;width:100%;min-width:0;display:flex;overflow-x:auto}.workflow-node-icon.svelte-nbptrg{border-radius:var(--radius);background:var(--bg);width:28px;height:28px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.workflow-node-icon.svelte-nbptrg svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.workflow-node-label.svelte-nbptrg{letter-spacing:.03em;color:var(--text);white-space:nowrap;font-size:11px;font-weight:700;line-height:1.2}.workflow-node-sub.svelte-nbptrg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:10px;font-weight:500;line-height:1.2;font-family:var(--font-mono,ui-monospace, monospace);overflow:hidden}.workflow-node-badge.svelte-nbptrg{border-radius:var(--radius);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);align-items:center;padding:2px 7px;font-size:9px;font-weight:800;line-height:1.5;display:inline-flex}.workflow-node-endpoint.svelte-nbptrg{border-radius:var(--radius);border-color:var(--border);background:var(--bg-surface);flex-direction:row;gap:7px;min-width:auto;padding:10px 14px}.workflow-node-icon-endpoint.svelte-nbptrg{border-radius:var(--radius);width:auto;height:auto;color:var(--text-muted);background:0 0;justify-content:flex-start;padding:0}.workflow-node-icon-endpoint.svelte-nbptrg svg{width:14px;height:14px}.workflow-node-endpoint.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted);font-size:11px;font-weight:600}.workflow-node-feature.svelte-nbptrg{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface))}.workflow-node-feature.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--accent) 16%, var(--bg));color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--accent) 70%, var(--text-muted))}.workflow-node-ai.svelte-nbptrg{border-radius:var(--radius);gap:6px;min-width:96px;padding:12px 16px}.workflow-async-section.svelte-nbptrg{justify-content:flex-end;align-items:center;gap:0;width:100%;min-width:0;margin-top:10px;display:flex}.workflow-async-turn.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 60px;height:2px;position:relative}.workflow-async-turn.svelte-nbptrg:before{content:"";background:color-mix(in srgb, var(--text-muted) 40%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);width:7px;height:9px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.workflow-async-turn.svelte-nbptrg:after{content:"";border-right:2px dashed color-mix(in srgb, var(--text-muted) 40%, var(--border));height:16px;position:absolute;bottom:1px;right:0}.workflow-async-row.svelte-nbptrg{align-items:center;min-width:0;margin-right:7px;display:flex}.workflow-conn-async.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 24px;width:24px}.workflow-conn-async.svelte-nbptrg:after{background:color-mix(in srgb, var(--text-muted) 45%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);left:-1px;right:auto}.workflow-node-async.svelte-nbptrg{border-radius:var(--radius);border-style:dashed;flex-direction:row;gap:7px;min-width:auto;padding:7px 12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){border-radius:var(--radius);width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg) svg{width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){font-size:10px;font-weight:700}.workflow-async-label.svelte-nbptrg{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.55;white-space:nowrap;flex-shrink:0;align-items:center;margin-left:8px;font-size:9px;font-weight:800;display:inline-flex}.workflow-node-success.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 18%, var(--bg));color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 85%, var(--text))}.workflow-node-success.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 74%, var(--text-muted))}.workflow-node-success.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 14%, var(--bg));border-color:color-mix(in srgb, var(--success) 38%, var(--border));color:var(--success)}.workflow-node-current.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 16%, var(--bg));color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 85%, var(--text))}.workflow-node-current.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 72%, var(--text-muted))}.workflow-node-current.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 13%, var(--bg));border-color:color-mix(in srgb, var(--info) 36%, var(--border));color:var(--info)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 85%, var(--text))}.workflow-node-warning.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 72%, var(--text-muted))}.workflow-node-warning.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 38%, var(--border));color:var(--warning)}.workflow-node-error.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--danger) 14%, var(--bg));color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 85%, var(--text))}.workflow-node-error.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 72%, var(--text-muted))}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 12%, var(--bg));color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg),.workflow-node-neutral.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--text-muted) 84%, var(--border))}.workflow-node-neutral.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 10%, var(--bg));border-color:color-mix(in srgb, var(--text-muted) 28%, var(--border));color:var(--text-muted)}.workflow-conn-hit.svelte-nbptrg,.workflow-conn-hit.svelte-nbptrg:after{background:color-mix(in srgb, var(--success) 58%, var(--border))}.workflow-conn-dim.svelte-nbptrg,.workflow-conn-dim.svelte-nbptrg:after{background:color-mix(in srgb, var(--border) 75%, transparent)}.workflow-node-success.svelte-nbptrg{border-color:color-mix(in srgb, var(--success) 52%, var(--border));background:color-mix(in srgb, var(--success) 9%, var(--bg-surface))}.workflow-node-current.svelte-nbptrg{border-color:color-mix(in srgb, var(--info) 56%, var(--border));background:color-mix(in srgb, var(--info) 10%, var(--bg-surface))}.workflow-node-warning.svelte-nbptrg{border-color:color-mix(in srgb, var(--warning) 52%, var(--border));background:color-mix(in srgb, var(--warning) 9%, var(--bg-surface))}.workflow-node-error.svelte-nbptrg{border-color:color-mix(in srgb, var(--danger) 52%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--bg-surface))}.workflow-node-neutral.svelte-nbptrg{border-color:color-mix(in srgb, var(--text-muted) 40%, var(--border));background:color-mix(in srgb, var(--text-muted) 8%, var(--bg-surface))}.workflow-node-skipped.svelte-nbptrg{opacity:.28;position:relative}.workflow-card.svelte-1fo9fvq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:20px;display:flex}.workflow-card-head.svelte-1fo9fvq{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-card-footer.svelte-1fo9fvq{flex-direction:column;align-items:stretch;gap:10px;display:flex}.workflow-card-head.svelte-1fo9fvq h3{font-size:18px;font-weight:700}.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workflow-card-meta-footer.svelte-1fo9fvq{justify-content:flex-start}.workflow-card-footer.svelte-1fo9fvq .alias-actions-cell{align-self:flex-end}.workflow-card-description.svelte-1fo9fvq{color:var(--text-muted);font-size:14px}.workflow-guardrails.svelte-1fo9fvq{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list.svelte-1fo9fvq{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-item.svelte-1fo9fvq{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}@media (width<=768px){.workflow-card-head.svelte-1fo9fvq,.workflow-card-footer.svelte-1fo9fvq,.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq,.workflow-guardrail-item.svelte-1fo9fvq{flex-direction:column;align-items:flex-start}}.workflow-editor.svelte-1bcpzh1{width:min(1080px,100%)}.alert-inline-actions.svelte-1bcpzh1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.workflow-guardrail-editor.svelte-1bcpzh1{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list-editor.svelte-1bcpzh1{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-row.svelte-1bcpzh1{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:stretch;align-items:center;gap:12px;padding:10px 12px;display:flex}.workflow-guardrail-field.svelte-1bcpzh1{flex:auto;min-width:0}.workflow-guardrail-step-field.svelte-1bcpzh1{flex:0 0 120px}.workflow-editor.svelte-1bcpzh1{margin-bottom:0}.workflow-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-step-input.svelte-1bcpzh1{max-width:120px}@media (width<=768px){.workflow-guardrail-row.svelte-1bcpzh1{flex-direction:column;align-items:flex-start}.workflow-step-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-guardrail-field.svelte-1bcpzh1,.workflow-guardrail-step-field.svelte-1bcpzh1{flex-basis:auto;width:100%}}.workflow-list-loading.svelte-ie2kfk{justify-content:center;align-items:center;gap:8px;display:flex}.workflows-list.svelte-ie2kfk{min-width:0}.workflow-card-grid.svelte-ie2kfk{grid-template-columns:1fr;gap:16px;display:grid}.workflow-page-note.svelte-l8kr26{color:var(--text-muted);margin-top:6px;font-size:14px}.audit-log-toolbar.svelte-1pwbpcm{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;display:grid}.audit-filter-select.svelte-1pwbpcm{grid-column:span 2;min-width:0}.audit-filter-row-search.svelte-1pwbpcm .filter-input-wrap{grid-column:1/-1;max-width:none}.audit-filter-row-controls.svelte-1pwbpcm .audit-filter-select:where(.svelte-1pwbpcm){grid-column:span 2}.audit-filter-row-controls.svelte-1pwbpcm .btn{grid-column:11/-1;justify-self:end;min-width:108px}.audit-clear-btn.svelte-1pwbpcm{justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.audit-clear-btn.svelte-1pwbpcm .table-icon-svg{width:12px;height:12px}@media (width<=768px){.audit-log-toolbar.svelte-1pwbpcm{gap:8px}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:1fr}.audit-filter-row.svelte-1pwbpcm .filter-input-wrap,.audit-filter-row.svelte-1pwbpcm .filter-input,.audit-filter-select.svelte-1pwbpcm,.audit-filter-row.svelte-1pwbpcm .btn{grid-column:auto}}.audit-entry-metadata.svelte-hyopt0{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.audit-entry-metadata-label.svelte-hyopt0{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.audit-entry-context.svelte-hyopt0{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.audit-alias-badge.svelte-hyopt0{background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--accent-strong,var(--accent))}@media (width<=768px){.audit-entry-metadata.svelte-hyopt0{flex-direction:column;align-items:flex-start;gap:8px}}.audit-entry-summary.svelte-17mysgz{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;list-style:none;display:flex;position:relative}.audit-entry-summary.svelte-17mysgz::-webkit-details-marker{display:none}.audit-entry-summary-live-in-progress.svelte-17mysgz{background:color-mix(in srgb, var(--info) 7%, var(--bg))}.audit-entry-summary-live-in-progress.svelte-17mysgz:before{content:"";background:var(--info);pointer-events:none;width:3px;animation:1.2s ease-in-out infinite audit-live-summary-stripe-blink;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:reduce){.audit-entry-summary-live-in-progress.svelte-17mysgz:before{opacity:.78;animation:none}}.audit-entry-left.svelte-17mysgz{align-items:center;gap:8px;min-width:0;display:flex}.audit-entry-right.svelte-17mysgz{color:var(--text-muted);flex-shrink:0;align-items:center;gap:10px;min-height:28px;display:inline-flex}.audit-conversation-trigger.svelte-17mysgz{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 12%, var(--bg));width:28px;height:28px;color:var(--accent);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin-right:-9px;transition:transform .1s ease-out,background .1s ease-out,color .1s ease-out;display:inline-flex}.audit-conversation-trigger.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 20%, var(--bg));transform:translate(1px)}.audit-conversation-trigger.svelte-17mysgz svg{width:14px;height:14px}.audit-path.svelte-17mysgz{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.audit-method-badge.svelte-17mysgz{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);min-width:52px;height:24px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-provider-model.svelte-17mysgz{border:1px solid var(--border);background:var(--bg-surface);height:24px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:420px;padding:0 10px;font-size:12px;display:inline-flex;overflow:hidden}.audit-attempt-track.svelte-17mysgz{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.audit-attempt-track-pips.svelte-17mysgz{align-items:center;gap:3px;display:inline-flex}.audit-attempt-pip.svelte-17mysgz{background:var(--text-muted);border-radius:2px;width:8px;height:8px}.audit-attempt-pip.audit-attempt-success.svelte-17mysgz{background:var(--success)}.audit-attempt-pip.audit-attempt-error.svelte-17mysgz{background:var(--danger)}.audit-attempt-track-count.svelte-17mysgz{color:var(--text-muted);font-size:11px}@media (width<=768px){.audit-entry-summary.svelte-17mysgz{flex-direction:column;align-items:flex-start}.audit-entry-right.svelte-17mysgz{justify-content:space-between;width:100%}}.audit-pane-split.svelte-1h5puht{grid-template-columns:1fr 2fr;align-items:start;gap:10px 14px;display:grid}.audit-pane-split-single.svelte-1h5puht{grid-template-columns:minmax(0,1fr)}.audit-pane-split.svelte-1h5puht .audit-pane-block-headers:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-block-body:where(.svelte-1h5puht){margin-top:0}.audit-pane-split.svelte-1h5puht .audit-pane-block-error:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-empty:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-size-warning:where(.svelte-1h5puht){grid-column:1/-1}.audit-pane-block.svelte-1h5puht{min-width:0}.audit-pane-block.svelte-1h5puht+.audit-pane-block:where(.svelte-1h5puht){margin-top:10px}.audit-pane-block.svelte-1h5puht>h5{margin-bottom:6px}.audit-pane-block-head.svelte-1h5puht{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.audit-pane-block-title.svelte-1h5puht{align-items:center;gap:8px;min-width:0;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn{background-color:var(--bg-surface);border:1px solid color-mix(in srgb, var(--border) 70%, var(--text) 30%);color:var(--text);cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn:hover:not(:disabled){background:color-mix(in srgb, var(--bg-surface) 80%, var(--text) 20%);border-color:color-mix(in srgb, var(--border) 45%, var(--text) 55%)}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 18%, var(--bg-surface))}.audit-json.svelte-1h5puht{background:var(--bg-surface);border:1px solid var(--border);box-sizing:border-box;white-space:pre;max-width:100%;max-height:220px;color:var(--text);border-radius:6px;padding:10px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:auto}.audit-pane-error-message.svelte-1h5puht{color:var(--danger)}.audit-pane-clickable-preview.svelte-1h5puht{cursor:pointer}.audit-pane-clickable-preview.svelte-1h5puht:hover{background:color-mix(in srgb, var(--danger) 8%, transparent)}.audit-json-body.svelte-1h5puht{white-space:pre;overflow-wrap:normal}.audit-pane-empty.svelte-1h5puht{text-align:left;padding:8px 0 0}.audit-pane-pending.svelte-1h5puht{align-items:center;gap:8px;display:flex}.audit-pane-streaming.svelte-1h5puht{letter-spacing:.02em;color:var(--text-muted);align-items:center;gap:7px;padding-left:4px;font-size:11px;font-weight:600;display:inline-flex}.audit-size-warning.svelte-1h5puht{color:var(--warning);margin-top:8px;font-size:12px}.audit-request-response.svelte-1bc5vi5{margin-top:4px}.audit-pane-tablist.svelte-1bc5vi5{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;display:flex}.audit-pane-tab.svelte-1bc5vi5{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-bottom-color:#0000;border-radius:6px 6px 0 0;align-items:center;gap:8px;margin-bottom:-1px;margin-right:12px;padding:8px 12px;font-family:inherit;font-size:13px;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.audit-pane-tab.svelte-1bc5vi5:not(.audit-pane-tab-active):hover{color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent)}.audit-pane-tab-active.svelte-1bc5vi5{color:var(--text);border-color:var(--border);border-bottom-color:var(--bg);background:var(--bg)}.audit-pane-tab-label.svelte-1bc5vi5{font-weight:600}.audit-pane-tabpanel.svelte-1bc5vi5{min-width:0}.audit-pane-icon.svelte-1bc5vi5{color:var(--text-muted);flex:none;align-items:center;display:inline-flex}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-request{color:var(--accent)}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-response{color:var(--info)}.audit-pane-icon.svelte-1bc5vi5 svg{width:16px;height:16px}.audit-pane-seq.svelte-1bc5vi5{color:var(--text-muted);font-size:12px}.audit-pane-kind.svelte-1bc5vi5{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-primary{color:var(--text-muted)}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-failover{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-retry{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 30%, var(--border))}.audit-savings-pill.svelte-1bc5vi5{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);color:var(--prompt-cache-color);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.audit-entry.svelte-cmjgwr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.audit-entry-details.svelte-cmjgwr{border-top:1px solid var(--border);background:var(--bg-surface);padding:12px;overflow:hidden}.conversation-overlay.svelte-ssrzja{z-index:50;background:#0000004d;position:fixed;inset:0}.conversation-drawer-header.svelte-ssrzja{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.conversation-drawer-header.svelte-ssrzja h3{font-size:16px;font-weight:700}.conversation-meta.svelte-ssrzja{color:var(--text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px}.conversation-drawer-footer.svelte-ssrzja{border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;padding:10px 16px}.conversation-thread.svelte-ssrzja{flex-direction:column;gap:10px;padding:14px 16px 20px;display:flex}.conversation-live-status.svelte-ssrzja{color:var(--text-muted);align-items:center;gap:10px;padding:4px 16px 20px;font-size:13px;display:flex}.chat-message.svelte-ssrzja{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-width:94%;padding:10px 12px}.chat-message.is-anchor.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.chat-message.role-user.svelte-ssrzja{align-self:flex-start}.chat-message.role-assistant.svelte-ssrzja{background:color-mix(in srgb, var(--accent) 18%, var(--bg));align-self:flex-end}.chat-message.role-system.svelte-ssrzja{background:color-mix(in srgb, var(--warning) 10%, var(--bg));align-self:center;width:100%;max-width:100%}.chat-message.role-error.svelte-ssrzja{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg));align-self:flex-end}.chat-message.role-error.svelte-ssrzja .chat-role:where(.svelte-ssrzja){color:color-mix(in srgb, var(--danger) 75%, var(--text-muted))}.chat-message-meta.svelte-ssrzja{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.chat-role.svelte-ssrzja{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:12px;font-weight:700}.chat-time.svelte-ssrzja{color:var(--text-muted);white-space:nowrap;font-size:11px}.chat-content.svelte-ssrzja{white-space:pre-wrap;overflow-wrap:break-word;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5}.chat-tool-calls.svelte-ssrzja{border-top:1px solid var(--border);flex-direction:column;gap:3px;margin-top:8px;padding-top:6px;display:flex}.chat-tool-call.svelte-ssrzja{color:var(--text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.chat-tool-call-name.svelte-ssrzja:before{content:"⚡"}.chat-function-note.svelte-ssrzja{max-width:94%;color:var(--text-muted);background:color-mix(in srgb, var(--border) 40%, transparent);border:1px dashed var(--border);border-radius:12px;align-self:center;padding:4px 12px;font-size:12px}.chat-function-note.is-anchor.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-inner.svelte-ssrzja{align-items:baseline;gap:6px;display:flex;overflow:hidden}.chat-function-label.svelte-ssrzja{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}.chat-function-detail.svelte-ssrzja{white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.chat-function-note.role-function-call.svelte-ssrzja{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));align-self:flex-end}.chat-function-note.role-function-result.svelte-ssrzja{background:color-mix(in srgb, var(--success) 8%, transparent);border-color:color-mix(in srgb, var(--success) 30%, var(--border));align-self:flex-start}.chat-function-note.is-anchor.role-function-call.svelte-ssrzja,.chat-function-note.is-anchor.role-function-result.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-details.svelte-ssrzja{width:100%}.chat-function-note-details.svelte-ssrzja>summary{cursor:pointer;list-style:none}.chat-function-note-details.svelte-ssrzja>summary::-webkit-details-marker{display:none}.chat-function-expanded.svelte-ssrzja{border-top:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);max-height:200px;margin-top:6px;padding-top:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;overflow:auto}@media (width<=768px){.chat-message.svelte-ssrzja{max-width:100%}}.audit-log-loading.svelte-1nhcbov{justify-content:center;padding:2rem 0;display:flex}.audit-retention-note.svelte-1nhcbov{color:var(--text-muted);font-size:13px}.audit-retention-highlight.svelte-1nhcbov{color:var(--text);font-weight:600}.audit-log-section.svelte-1nhcbov{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.audit-log-summary.svelte-1nhcbov{color:var(--text-muted);margin-bottom:12px;font-size:13px}.audit-log-list.svelte-1nhcbov{flex-direction:column;gap:10px;display:flex}.settings-guardrails-list.svelte-1bvx512{min-width:0}.settings-guardrail-type-pill.svelte-1bvx512{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.settings-guardrail-summary.svelte-1bvx512{color:var(--text);font-size:14px;line-height:1.45}.settings-guardrail-description.svelte-1bvx512{color:var(--text-muted);margin-top:6px;font-size:12px}.guardrails-editor-wide.svelte-s964s3{width:min(1080px,100%)}.form-field-fieldset.svelte-s964s3{border:0;min-inline-size:0;margin:0;padding:0}.form-field-legend.svelte-s964s3{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:0;font-size:12px;font-weight:600}.settings-guardrails-editor.svelte-s964s3{min-width:0}.settings-guardrails-hero.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));border-radius:var(--radius);background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent-hover) 18%, transparent), transparent 42%), radial-gradient(circle at bottom left, color-mix(in srgb, var(--accent) 16%, transparent), transparent 40%), var(--bg-surface);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px;display:flex}.settings-kicker.svelte-5x874c{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.settings-guardrails-hero.svelte-5x874c h3{margin-bottom:8px}.settings-guardrails-hero.svelte-5x874c p:last-child{color:var(--text-muted);margin-bottom:0}.settings-guardrails-meta.svelte-5x874c{gap:12px;display:flex}.settings-guardrails-stat.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:color-mix(in srgb, var(--bg-surface-hover) 76%, transparent);border-radius:16px;min-width:110px;padding:14px 16px}.settings-guardrails-stat-label.svelte-5x874c{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.settings-guardrails-stat.svelte-5x874c strong{font-size:24px;font-weight:700}@media (width<=768px){.settings-guardrails-hero.svelte-5x874c{flex-direction:column}.settings-guardrails-meta.svelte-5x874c{width:100%}.settings-guardrails-stat.svelte-5x874c{flex:1 1 0}}.mcp-catalog-section.svelte-1xqrzco{margin-top:18px}.mcp-catalog-section.svelte-1xqrzco .form-field-label{margin-bottom:8px}.mcp-catalog-subtitle.svelte-1xqrzco{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mcp-catalog-list.svelte-1xqrzco{flex-direction:column;gap:12px;margin:0 0 8px;padding:0;list-style:none;display:flex}.mcp-catalog-item-name.svelte-1xqrzco{overflow-wrap:anywhere;font-size:13px}.mcp-catalog-item-aggregated.svelte-1xqrzco{color:var(--text-muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.mcp-catalog-item-description.svelte-1xqrzco{color:var(--text-muted);margin:2px 0 0;font-size:13px;font-weight:400}.mcp-server-sub-counts.svelte-ah8nrt{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:4px;font-size:11px;overflow:hidden}.mcp-server-table-wrapper.svelte-ah8nrt{overflow-x:auto}.mcp-server-table-wrapper.svelte-ah8nrt .data-table{min-width:860px}.auth-key-form-fields.svelte-1gswxes>.form-field{margin-bottom:4px}.auth-key-dashboard-toggle.svelte-1gswxes{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-key-issued-banner.svelte-1gswxes{background:color-mix(in srgb, var(--success) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));border-radius:var(--radius);margin-bottom:20px;padding:16px}.auth-key-issued-warning.svelte-1gswxes{color:color-mix(in srgb, var(--success) 80%, var(--text));margin-bottom:12px;font-size:13px;font-weight:600}.auth-key-issued-value-row.svelte-1gswxes{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.auth-key-issued-token.svelte-1gswxes{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);word-break:break-all;flex:1;min-width:0;padding:8px 12px;font-size:13px;overflow-x:auto}.usage-label-chip-static.svelte-nf0ldb,.usage-label-chip-static.svelte-nf0ldb:hover{cursor:default;background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.auth-key-redacted.svelte-nf0ldb{color:var(--text-muted);font-size:13px}.auth-key-actions-cell.svelte-nf0ldb{white-space:nowrap}.auth-key-row-deactivated.svelte-nf0ldb td:where(.svelte-nf0ldb):not(.auth-key-actions-cell){opacity:.55}.auth-key-expiry.svelte-nf0ldb{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.auth-key-th-help.svelte-nf0ldb{cursor:help;align-items:center;gap:4px;display:inline-flex}.auth-key-row-actions.svelte-nf0ldb{align-items:center;gap:6px;display:inline-flex}.auth-keys-loading.svelte-1xpdcqx{justify-content:center;align-items:center;padding:32px 0;display:flex}.auth-keys-help-notice.svelte-1xpdcqx{margin-bottom:20px}.auth-keys-inactive-toggle.svelte-1xpdcqx{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-keys-inactive-toggle.svelte-1xpdcqx input:where(.svelte-1xpdcqx){width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.settings-panel-header.svelte-15kyv2y{justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.settings-panel-header.svelte-15kyv2y h3{font-size:18px}.settings-form-grid.svelte-15kyv2y{grid-template-columns:minmax(280px,420px);gap:16px;display:grid}@media (width<=768px){.settings-form-grid.svelte-15kyv2y{grid-template-columns:1fr}}.budget-settings-section.svelte-a747ys{width:100%}.budget-settings-grid.svelte-a747ys{gap:12px;display:grid}.budget-settings-row.svelte-a747ys{grid-template-columns:96px minmax(170px,1fr) minmax(110px,140px) minmax(110px,140px) minmax(220px,280px);align-items:start;gap:12px;display:grid}.budget-settings-period.svelte-a747ys{color:var(--text);letter-spacing:0;text-transform:uppercase;align-self:end;min-height:35px;padding-bottom:9px;font-size:12px;font-weight:700}.budget-settings-spacer.svelte-a747ys{min-height:1px}.budget-settings-help-cell.svelte-a747ys{align-self:start;min-width:0;min-height:35px}.budget-settings-help-cell.svelte-a747ys .inline-help-copy{max-width:280px;margin:22px 0 0;font-size:12px;line-height:1.35}@media (width<=768px){.budget-settings-grid.svelte-a747ys,.budget-settings-row.svelte-a747ys{grid-template-columns:1fr}.budget-settings-spacer.svelte-a747ys{display:none}}.tagging-settings-grid.svelte-18e8yem{gap:12px;display:grid}.tagging-settings-row.svelte-18e8yem{grid-template-columns:minmax(170px,1fr) minmax(150px,1fr) minmax(80px,110px) auto minmax(90px,auto);align-items:end;gap:12px;display:grid}.tagging-do-not-pass.svelte-18e8yem{color:var(--text);white-space:nowrap;align-items:center;gap:6px;min-height:35px;font-size:13px;display:flex}.tagging-row-trailer.svelte-18e8yem{align-items:center;gap:8px;min-height:35px;display:flex}.tagging-settings-empty.svelte-18e8yem{color:var(--text-muted);margin:0}.tagging-settings-actions.svelte-18e8yem{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.tagging-settings-row.svelte-18e8yem{grid-template-columns:1fr;align-items:stretch}.tagging-settings-actions.svelte-18e8yem,.tagging-settings-actions.svelte-18e8yem .btn{width:100%}}.pricing-recalculate-section.svelte-1cdxzyk{width:100%}.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:minmax(220px,320px) minmax(260px,360px);justify-content:start;align-items:end;gap:12px;width:100%;display:grid}.pricing-recalculate-date-field.svelte-1cdxzyk{grid-column:1/-1;width:100%;max-width:320px}.pricing-recalculate-filter-field.svelte-1cdxzyk{width:100%;max-width:360px}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker{width:100%}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-trigger{justify-content:space-between;width:100%}.pricing-recalculate-actions.svelte-1cdxzyk{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:1fr}.pricing-recalculate-actions.svelte-1cdxzyk,.pricing-recalculate-actions.svelte-1cdxzyk .btn{width:100%}}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-dropdown{inset:auto auto calc(100% + 6px) 0}.settings-refresh-icon.svelte-yeq2mp{flex:0 0 16px;width:16px;height:16px}.runtime-refresh-steps.svelte-yeq2mp{color:var(--text-muted);gap:8px;margin-top:14px;padding-left:18px;font-size:13px;display:grid}.runtime-refresh-step.is-ok.svelte-yeq2mp{color:var(--success)}.runtime-refresh-step.is-partial.svelte-yeq2mp{color:var(--warning)}.runtime-refresh-step.is-failed.svelte-yeq2mp{color:var(--danger)}.settings-version-footer.svelte-3naq7u{color:var(--text-muted);text-align:right;margin-top:24px;font-size:12px} diff --git a/internal/admin/dashboard/static/dist/assets/index-BgPgxKXk.css b/internal/admin/dashboard/static/dist/assets/index-BgPgxKXk.css deleted file mode 100644 index c0ae6cd61..000000000 --- a/internal/admin/dashboard/static/dist/assets/index-BgPgxKXk.css +++ /dev/null @@ -1 +0,0 @@ -:root{--bg:#111110;--bg-surface:#1e1d1c;--bg-surface-hover:#2a2420;--border:#2a2826;--text:#e8e0d6;--text-muted:#9a918a;--accent:#b8956e;--accent-hover:#d4b896;--success:#34d399;--info:#3b82f6;--warning:#f59e0b;--danger:#ef4444;--prompt-cache-color:color-mix(in srgb, var(--info) 72%, #fff);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 24%, var(--bg-surface));--cache-meter-uncached:var(--token-input);--cache-meter-local:var(--token-local);--cache-meter-prompt:var(--token-prompt);--token-input:#c0824a;--token-output:#ddb27a;--token-prompt:color-mix(in srgb, var(--info) 60%, transparent);--token-local:color-mix(in srgb, var(--info) 20%, transparent);--sidebar-width:240px;--radius:8px;--chart-grid:#2a2826;--chart-text:#9a918a;--chart-day-marker:var(--text);--chart-tooltip-bg:#1e1d1c;--chart-tooltip-border:#2a2826;--chart-tooltip-text:#e8e0d6;--cal-level-0:#161b22;--cal-level-1:color-mix(in srgb, var(--info) 15%, var(--bg-surface));--cal-level-2:color-mix(in srgb, var(--info) 25%, var(--bg-surface));--cal-level-3:color-mix(in srgb, var(--info) 36%, var(--bg-surface));--cal-level-4:color-mix(in srgb, var(--info) 48%, var(--bg-surface));--cal-level-5:color-mix(in srgb, var(--info) 60%, var(--bg-surface));--cal-level-6:color-mix(in srgb, var(--info) 73%, var(--bg-surface));--cal-level-7:color-mix(in srgb, var(--info) 87%, var(--bg-surface));--cal-level-8:var(--info);--cal-level-9:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-10:color-mix(in srgb, var(--info) 62%, #fff);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface-hover) 86%, #fff 14%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface-hover) 72%, #fff 28%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body.dashboard-modal-open{overflow:hidden}.app{min-height:100vh;display:flex}.badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.auth-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100%);padding:22px;box-shadow:0 24px 70px #00000061}.auth-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.auth-dialog h2{margin-top:2px;font-size:22px;line-height:1.2}.auth-dialog-close{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.auth-dialog-close:hover{color:var(--text);background:var(--bg-surface-hover)}.auth-dialog-close:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-hint{color:var(--text-muted);font-size:13px}.auth-dialog-error{color:var(--danger);font-size:13px;font-weight:600}.auth-dialog-form{gap:10px;margin-top:18px;display:grid}.auth-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.content{flex:1 1 0;width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:32px;transition:width .2s}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h2{letter-spacing:-.3px;font-size:22px;font-weight:700}.page-header-controls{align-items:center;gap:12px;display:flex}.page-with-sticky-date{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;display:grid}.page-with-sticky-date>*{grid-column:1/-1}.page-with-sticky-date>.date-range-page-header{grid-column:1}.page-with-sticky-date>.sticky-date-range{z-index:8;grid-column:2;justify-self:end;position:sticky;top:16px}.model-count{color:var(--text-muted);font-size:14px}.provider-status-section{margin-top:28px;scroll-margin-top:24px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.card-value{letter-spacing:-.5px;font-size:28px;font-weight:700}.cache-meter{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;padding:24px}.chart-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.chart-container h3{margin-bottom:16px;font-size:16px;font-weight:600}.chart-container-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chart-container-header h3{margin-bottom:0}.chart-wrapper{height:210px;position:relative}.live-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.live-dot.is-streaming{background:var(--success);box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 70%, transparent);animation:1.8s ease-out infinite live-dot-pulse}@media (prefers-reduced-motion:reduce){.live-dot.is-streaming{animation:none}}@keyframes live-dot-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb, var(--success) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 0%, transparent)}}.alert{border-radius:var(--radius);margin-bottom:20px;padding:12px 16px;font-size:14px}.alert-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b4d}.table-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-toolbar-main{flex:1;min-width:0}.table-toolbar-actions{justify-content:flex-end;margin-left:auto;display:flex}input:is([type=text],[type=date],[type=number]){background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}input:is([type=text],[type=date],[type=number]):focus{border-color:var(--accent)}input:is([type=text],[type=date],[type=number]):disabled,textarea:disabled,.form-input:disabled{opacity:.6;cursor:not-allowed}.table-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.data-table th.model-actions-header{text-align:right;white-space:nowrap;width:1%;min-width:156px}.data-table td{border-bottom:1px solid var(--border);padding:10px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-surface-hover)}.mono{font-family:SF Mono,Menlo,Consolas,monospace}.font-size-md{font-size:13px}.col-price,.data-table th.col-price{text-align:right}td.col-price{color:var(--text-muted);white-space:nowrap;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px}.provider-badge{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.empty-state{text-align:center;color:var(--text-muted);padding:48px 0;font-size:14px}.empty-state-icon{width:auto;height:auto;max-height:160px;color:var(--text-muted);margin:0 auto;display:block}.empty-state-icon text{fill:var(--text-muted);font-family:inherit;font-weight:600}.chart-empty-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chart-empty-overlay .empty-state-icon{width:auto;max-width:90%;height:auto;max-height:195px}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.table-action-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.table-action-btn:hover:not(:disabled){background:var(--bg-surface-hover)}.table-action-btn:disabled{opacity:.45;cursor:default}.table-action-btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.table-action-btn-active{color:var(--accent-strong,var(--accent));background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 38%, var(--border))}.table-action-btn-active:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 18%, var(--bg-surface-hover))}.table-action-btn-failover-active{color:var(--info);background:color-mix(in srgb, var(--cache-meter-prompt) 35%, var(--bg));border-color:color-mix(in srgb, var(--info) 45%, var(--border));position:relative}.table-action-btn-failover-active:hover:not(:disabled){background:color-mix(in srgb, var(--cache-meter-prompt) 45%, var(--bg-surface-hover))}.table-icon-btn{border-radius:6px;gap:0;width:32px;min-width:32px;height:32px;padding:0}.table-icon-btn.table-action-btn-active{position:relative}.table-icon-btn.table-action-btn-active:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-btn.table-action-btn-failover-active:after{content:"";background:var(--info);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-svg{flex-shrink:0;width:14px;height:14px}.model-editor{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:24px}.alias-kind-badge{border:1px solid var(--border);background:var(--bg);min-height:24px;color:var(--accent);letter-spacing:.2px;text-transform:uppercase;border-color:color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.form h3{font-size:20px;font-weight:700}.form-kicker,.form-hint{color:var(--text-muted);font-size:13px}.alias-actions-cell{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.model-list-actions{white-space:nowrap;flex-wrap:nowrap}.model-list-actions .table-icon-btn{flex:0 0 32px}.model-list-actions .alias-toggle{flex:none}.alias-toggle{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.alias-toggle:hover:not(:disabled){background:var(--bg-surface-hover)}.alias-toggle:disabled{opacity:.45;cursor:default}.alias-toggle-track{background:color-mix(in srgb, var(--border) 80%, var(--bg));border-radius:6px;width:34px;height:18px;transition:background .15s;position:relative}.alias-toggle-thumb{background:var(--text-muted);border-radius:6px;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:1px;left:2px}.alias-toggle.enabled{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.alias-toggle.enabled .alias-toggle-track{background:color-mix(in srgb, var(--success) 55%, var(--bg))}.alias-toggle.enabled .alias-toggle-thumb{background:#fff;transform:translate(14px)}.alias-toggle.restricted{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:color-mix(in srgb, var(--accent) 70%, var(--text))}.alias-toggle.restricted .alias-toggle-track{background:color-mix(in srgb, var(--accent) 55%, var(--bg))}.editor-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.form{flex-direction:column;gap:16px;display:flex}.auth-key-editor{background:color-mix(in srgb, var(--bg-surface) 82%, var(--bg) 18%)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:12px;font-weight:600;display:inline-block}.vm-target-row{align-items:center;gap:8px;display:flex}.vm-target-row .vm-target-model{flex:auto;min-width:0}.vm-target-row .vm-target-weight{flex:0 0 88px;width:88px}.vm-status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.vm-status-row .vm-status-toggle{margin-left:auto}.form-error{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface));color:var(--danger);overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.form-error:empty{display:none}.form-field-error{color:var(--danger);overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.4}.form-field-required{color:var(--danger);margin-left:3px}:is(input,textarea,select)[aria-invalid=true]{border-color:color-mix(in srgb, var(--danger) 60%, var(--border))}:is(input,textarea,select)[aria-invalid=true]:focus{border-color:var(--danger)}textarea{resize:vertical;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:60px;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:13px}textarea:focus{border-color:var(--accent)}.form-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:38px;color:var(--text);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.form-input:focus{border-color:var(--accent)}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.failover-target-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.data-table tr.alias-row.is-valid td{background:var(--alias-row-valid-bg)}.data-table tr.alias-row.is-valid:hover td{background:var(--alias-row-valid-bg-hover)}.data-table tr.alias-row:not(.is-valid) td{background:color-mix(in srgb, var(--accent) 10%, var(--bg-surface))}.data-table tr.alias-row:not(.is-valid):hover td{background:color-mix(in srgb, var(--accent) 16%, var(--bg-surface-hover))}.data-table tr.alias-row.is-disabled td{background:var(--bg-surface);opacity:.58}.data-table tr.alias-row.is-disabled:hover td{background:var(--bg-surface-hover);opacity:.72}.data-table tr.model-access-disabled-row td{background:color-mix(in srgb, var(--danger) 6%, var(--bg-surface))}.data-table tr.model-access-disabled-row:hover td{background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface-hover))}.workflow-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-section-head h4{font-size:14px;font-weight:700}.workflow-preview{flex-direction:column;gap:12px;display:flex}.workflow-feature-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workflow-feature-toggle{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.workflow-feature-toggle input{width:16px;height:16px}.model-chart-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.model-chart-section h3{margin:0;font-size:16px;font-weight:600}.model-chart-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.bar-chart-wrap{width:100%;height:180px;position:relative}.form-select,.usage-log-select{appearance:none;background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;outline:none;min-width:140px;padding:8px 34px 8px 12px;font-family:inherit;font-size:13px}.form-select:disabled,.usage-log-select:disabled{cursor:not-allowed;opacity:.6}.form-select:focus,.usage-log-select:focus{border-color:var(--accent)}.form-select{width:100%;min-width:0}.usage-label-chips{flex-wrap:wrap;gap:4px;max-width:280px;display:inline-flex}.usage-label-chip{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg));min-height:20px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;padding:1px 9px;font-family:inherit;font-size:11px;font-style:normal;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.usage-label-chip:hover{background:color-mix(in srgb, var(--label-color,var(--accent)) 26%, var(--bg))}.usage-label-chip.active{background:color-mix(in srgb, var(--label-color,var(--accent)) 32%, var(--bg));border-color:var(--label-color,var(--accent));box-shadow:0 0 0 1px color-mix(in srgb, var(--label-color,var(--accent)) 55%, transparent)}@keyframes audit-live-summary-stripe-blink{0%,to{opacity:.9}50%{opacity:.28}}.audit-status-badge{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);border-radius:999px;justify-content:center;align-items:center;min-width:46px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-status-badge.status-success{color:var(--success);border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.audit-status-badge.status-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.audit-status-badge.status-error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.audit-status-badge.status-neutral{color:var(--text-muted)}.audit-status-badge.status-unknown{color:var(--text-muted);border-color:color-mix(in srgb, var(--border) 75%, transparent)}.audit-pane{border:1px solid var(--border);background:var(--bg);border-top:0;border-radius:0 0 8px 8px;min-width:0;padding:12px}.audit-pane h5{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:11px;font-weight:600}.audit-prompt-cache-pill{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);min-height:20px;color:var(--prompt-cache-color);letter-spacing:.02em;text-transform:none;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.audit-prompt-cache-highlight{color:var(--prompt-cache-color);font-weight:700}.audit-audio{white-space:normal;flex-direction:column;gap:8px;display:flex}.audit-audio-player{width:100%;max-width:420px;height:36px}.audit-audio-meta{color:var(--text-muted);font-size:12px}.audit-audio-empty{align-items:flex-start;padding:4px 0}.audit-audio-icon{font-size:20px;line-height:1}.audit-audio-note{color:var(--text-muted);font-size:12px}.audit-audio-metadata{flex-direction:column;gap:2px;margin-top:4px;font-size:12px;display:flex}.audit-audio-meta-row{gap:8px;display:flex}.audit-audio-meta-key{color:var(--text-muted);min-width:120px}.conversation-body-highlight{border-left:2px solid color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 10%, transparent);cursor:pointer;line-height:inherit;border-radius:2px;margin:0 0 0 -2px;padding:0 0 0 2px;display:inline}.conversation-body-highlight:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.conversation-body-highlight.conversation-system{border-left-color:color-mix(in srgb, var(--warning) 70%, var(--border));background:color-mix(in srgb, var(--warning) 10%, transparent)}.conversation-body-highlight.conversation-user{border-left-color:color-mix(in srgb, var(--accent) 75%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent)}.conversation-body-highlight.conversation-assistant{border-left-color:color-mix(in srgb, var(--success) 65%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.conversation-drawer{background:var(--bg-surface);border-left:1px solid var(--border);z-index:60;flex-direction:column;width:min(560px,100vw);transition:transform .2s ease-out;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-16px 0 40px #0003}.conversation-drawer.open{transform:translate(0)}body.conversation-drawer-open{overflow:hidden}#interactions-drawer-content{flex:1;min-height:0;overflow-y:auto}.pagination{justify-content:space-between;align-items:center;padding:12px 0 0;display:flex}.btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:13px;transition:all .15s}.btn:hover:not(:disabled){background:var(--bg-surface-hover)}.btn-primary{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, #000 10%);color:#fff;font-weight:600;box-shadow:0 10px 22px #3b82f62e}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 90%, #fff 10%);border-color:color-mix(in srgb, var(--accent) 78%, #000 12%)}.btn-danger-outline{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:0 0;font-weight:600}.btn-danger-outline:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 75%, var(--border))}.btn-danger{color:#fff;border-color:color-mix(in srgb, var(--danger) 76%, #000 12%);background:var(--danger);box-shadow:0 10px 22px color-mix(in srgb, var(--danger) 20%, transparent);font-weight:600}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 90%, #fff 10%);border-color:color-mix(in srgb, var(--danger) 82%, #000 14%)}.btn-with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn-with-icon .table-icon-svg{width:16px;height:16px}.btn:disabled{opacity:.4;cursor:default}.settings-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.inline-help-section{flex-direction:column;gap:2px;display:flex}.inline-help-title-row{align-items:center;gap:10px;display:inline-flex}.inline-help-title-row h2,.inline-help-title-row h3{margin-bottom:0}.inline-help-title-row h2:empty,.inline-help-title-row h3:empty{display:none}.inline-help-toggle{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));width:16px;height:16px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .18s,border-color .18s;display:inline-flex;position:relative}.inline-help-toggle:before{content:"";pointer-events:auto;background:0 0;width:32px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inline-help-toggle:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));color:var(--text);background:0 0}.inline-help-toggle:active{background:0 0}.inline-help-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.inline-help-toggle-icon{justify-content:center;align-items:center;width:100%;height:100%;padding-bottom:1px;font-size:13px;font-weight:700;line-height:1;transition:transform .52s cubic-bezier(.22,.72,.12,1);display:inline-flex;transform:rotate(0)}.inline-help-copy{max-width:780px;color:var(--text-muted);margin-top:2px;font-size:14px}.settings-select{width:100%}.settings-refresh-section{border-top:1px solid var(--border);justify-items:start;gap:12px;margin-top:24px;padding-top:22px;display:grid}.settings-refresh-section h3{font-size:18px}.settings-refresh-section p{max-width:720px;color:var(--text-muted);font-size:14px;line-height:1.55}.budget-list{gap:10px;padding:10px 0;display:grid}.budget-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;padding:12px 14px;display:grid}.budget-row-main{min-width:0}.budget-row-head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.budget-user-path{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--bg));width:fit-content;max-width:100%;min-height:24px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;justify-self:start;align-items:center;padding:2px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;display:inline-flex;overflow:hidden}.budget-row-meta{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.budget-source{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:999px;padding:2px 7px;font-size:11px}.budget-row-period{justify-content:center;min-width:0;display:flex}.budget-row-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.budget-bars{gap:6px;margin-top:10px;display:grid}.budget-bar-line{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px;display:grid}.budget-bar-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;font-size:11px;line-height:1;display:flex}.budget-bar-percent{font-weight:700}.budget-bar-track{background:color-mix(in srgb, var(--border) 75%, var(--bg));border-radius:999px;height:16px;position:relative;overflow:hidden}.budget-bar-fill{border-radius:inherit;min-width:0;height:100%;transition:width .2s}.budget-bar-fill-usage{background:color-mix(in srgb, var(--success) 82%, var(--accent))}.budget-bar-fill-danger{background:var(--danger)}.budget-bar-text-row{z-index:1;pointer-events:none;color:var(--text);position:absolute;inset:0}.budget-bar-text{text-overflow:ellipsis;white-space:nowrap;max-width:min(44%,190px);font-size:11px;font-weight:700;line-height:12px;position:absolute;top:50%;overflow:hidden}.budget-bar-text-center{max-width:min(46%,240px);left:50%;transform:translate(-50%,-50%)}.budget-bar-text-end{text-align:right;max-width:min(34%,180px);right:8px;transform:translateY(-50%)}.budget-period-label{border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.budget-period-icon{stroke-width:2.2px;flex:0 0 12px;width:12px;height:12px}.budget-period-label-monthly{border-color:color-mix(in srgb, #30302c 62%, var(--border));background:color-mix(in srgb, #30302c 12%, var(--bg));color:color-mix(in srgb, #30302c 34%, var(--text) 66%)}.budget-period-label-weekly{border-color:color-mix(in srgb, #68765c 62%, var(--border));background:color-mix(in srgb, #68765c 12%, var(--bg));color:color-mix(in srgb, #68765c 34%, var(--text) 66%)}.budget-period-label-daily{border-color:color-mix(in srgb, #b5652d 62%, var(--border));background:color-mix(in srgb, #b5652d 12%, var(--bg));color:color-mix(in srgb, #b5652d 34%, var(--text) 66%)}.budget-period-label-hourly{border-color:color-mix(in srgb, #783f22 62%, var(--border));background:color-mix(in srgb, #783f22 12%, var(--bg));color:color-mix(in srgb, #783f22 34%, var(--text) 66%)}.budget-period-label-custom{border-style:dashed;border-color:color-mix(in srgb, #bfa584 68%, var(--border));background:color-mix(in srgb, #bfa584 16%, var(--bg));color:color-mix(in srgb, #8b6f4f 34%, var(--text) 66%)}[data-theme=light] .budget-period-label-monthly{color:#30302c}[data-theme=light] .budget-period-label-weekly{color:#68765c}[data-theme=light] .budget-period-label-daily{color:#b5652d}[data-theme=light] .budget-period-label-hourly{color:#783f22}[data-theme=light] .budget-period-label-custom{color:#8b6f4f}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .budget-period-label-monthly{color:#30302c}:root:not([data-theme=dark]) .budget-period-label-weekly{color:#68765c}:root:not([data-theme=dark]) .budget-period-label-daily{color:#b5652d}:root:not([data-theme=dark]) .budget-period-label-hourly{color:#783f22}:root:not([data-theme=dark]) .budget-period-label-custom{color:#8b6f4f}}.budget-row-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.budget-action-btn{white-space:nowrap;justify-content:center;gap:0;width:28px;min-width:0;height:28px;padding:0;transition:width .18s,border-color .15s,background .15s,color .15s;overflow:hidden}.budget-action-btn:hover,.budget-action-btn:focus-visible{gap:6px;width:82px;padding:0 9px}.budget-action-label{opacity:0;max-width:0;transition:max-width .18s,opacity .12s;overflow:hidden}.budget-action-btn:hover .budget-action-label,.budget-action-btn:focus-visible .budget-action-label{opacity:1;max-width:58px}.budget-action-btn-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.budget-action-icon{flex:0 0 14px;width:14px;height:14px}.budget-editor{background:color-mix(in srgb, var(--bg-surface) 86%, var(--bg) 14%)}.budget-settings-actions{flex-wrap:wrap;gap:10px;display:flex}.budget-reset-dialog{max-width:460px}.form-action-icon{flex:0 0 16px;width:16px;height:16px}.settings-refresh-alert{margin-top:16px;margin-bottom:0}@media (width<=768px){.badge{display:none}.content{width:100%;margin:0 auto;padding:20px}.auth-dialog{padding:18px}.auth-dialog-actions{flex-direction:column-reverse}.auth-dialog-actions .btn{width:100%}.cards{grid-template-columns:repeat(2,1fr)}.page-header{flex-wrap:wrap;gap:12px}.page-header h2{width:100%}.page-header-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.page-with-sticky-date{grid-template-columns:minmax(0,1fr)}.page-with-sticky-date>.date-range-page-header,.page-with-sticky-date>.sticky-date-range{grid-column:1}.page-with-sticky-date>.date-range-page-header{margin-bottom:12px}.page-with-sticky-date>.sticky-date-range{width:100%;margin-bottom:24px;top:10px}.sticky-date-range .date-picker-trigger{justify-content:space-between;width:100%}.usage-log-select{min-width:0}.budget-row{grid-template-columns:1fr}.budget-row-controls{flex-wrap:wrap}.budget-bar-line{grid-template-columns:1fr;gap:5px}.form-grid,.workflow-feature-toggles{grid-template-columns:1fr}.workflow-section-head{flex-direction:column;align-items:flex-start}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-actions{justify-content:stretch;margin-left:0}.table-toolbar-actions .btn{width:100%}.model-editor{padding:16px}.alias-actions-cell,.editor-header{flex-direction:column;align-items:flex-start}.alias-actions-cell .table-action-btn,.editor-header .table-action-btn{width:100%}.alias-actions-cell .table-icon-btn,.editor-header .table-icon-btn{width:36px}.model-list-actions{flex-flow:row;align-items:center}.model-list-actions .table-action-btn{width:auto}.model-list-actions .table-icon-btn{flex-basis:32px;width:32px}.model-editor .editor-header{flex-direction:row;align-items:flex-start}.model-editor .editor-header>:first-child{flex:1;min-width:0}.model-editor .editor-header .dialog-close-btn{flex:0 0 32px;align-self:flex-start;width:32px;min-width:32px}.conversation-drawer{width:100%}.settings-panel{padding:18px}.budget-settings-actions,.budget-settings-actions .btn{width:100%}}.workflow-conn{background:color-mix(in srgb, var(--accent) 44%, var(--border));flex:1 1 0;width:auto;min-width:13px;height:2px;position:relative}.workflow-conn:after{content:"";background:color-mix(in srgb, var(--accent) 44%, var(--border));clip-path:polygon(0 0,100% 50%,0 100%);width:7px;height:9px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.workflow-node{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:72px;padding:8px 12px;display:flex}.auth-key-description{color:var(--text-muted);max-width:220px;font-size:13px}.auth-key-status-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.auth-key-status-active{background:color-mix(in srgb, var(--success) 12%, var(--bg));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success)}.auth-key-status-inactive{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));color:var(--danger)}.mcp-server-advanced{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-surface) 72%, var(--bg) 28%);overflow:hidden}.mcp-server-advanced>summary{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.mcp-server-advanced>summary::-webkit-details-marker{display:none}.mcp-server-advanced>summary:after{border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);content:"";flex:none;width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)}.mcp-server-advanced[open]>summary:after{transform:rotate(225deg)}.mcp-server-advanced-summary-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.mcp-server-advanced-title{font-size:13px;font-weight:600}.mcp-server-advanced-fields{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding:14px;display:flex}.copy-feedback-btn{align-items:center;gap:6px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.rate-limit-pressure-row{background-image:linear-gradient(to right, color-mix(in srgb, var(--success) 16%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-high{background-image:linear-gradient(to right, color-mix(in srgb, var(--warning) 20%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-full{background-image:linear-gradient(to right, color-mix(in srgb, var(--danger) 22%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.table-icon-btn.rate-limit-gauge-inherited{color:var(--accent-strong,var(--accent));background:linear-gradient(to right, color-mix(in srgb, var(--accent) 22%, var(--bg)) 50%, var(--bg) 50%);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.auth-dialog-input-icon{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-dialog-input-shell:focus-within .auth-dialog-input-icon{color:var(--accent)}.auth-dialog-submit-icon{flex:0 0 16px;width:16px;height:16px}.nav-icon{flex:0 0 18px;width:18px;height:18px}.api-key-open-icon{flex:0 0 15px;width:15px;height:15px}.theme-icon{flex:0 0 14px;width:14px;height:14px}.theme-toggle-mobile .theme-icon{flex-basis:16px;width:16px;height:16px}@media (width<=768px){.sidebar-footer .api-key-open-icon{flex-basis:16px;width:16px;height:16px}}.failover-drafts-loading{min-height:96px}.models-loading-state{z-index:7;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:fit-content;min-height:0;box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);margin:0 auto 16px;padding:10px 14px;position:sticky;top:16px}.alias-create-icon{flex:0 0 16px;width:16px;height:16px}.pricing-override-remove-row{margin-bottom:1px}@media (width<=768px){.pricing-override-remove-row{margin-bottom:0}}.pricing-recalculate-dialog{max-width:480px}.settings-refresh-btn.is-refreshing .settings-refresh-icon{transform-origin:50%;animation:.8s linear infinite loading-spin}.cost-source-icon{width:14px;height:14px;color:var(--success);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.cache-savings-icon{width:14px;height:14px;color:var(--accent);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.theme-toggle.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;margin-bottom:10px;padding:2px;display:inline-flex}.theme-btn.svelte-1keql7b{width:28px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-btn.svelte-1keql7b:hover{color:var(--text)}.theme-btn.active.svelte-1keql7b{background:var(--accent);color:#fff}.theme-btn.svelte-1keql7b:focus-visible,.theme-toggle-mobile.svelte-1keql7b:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.theme-toggle-mobile.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:none}.theme-toggle-mobile.svelte-1keql7b:hover{color:var(--text)}.theme-toggle.is-compact.svelte-1keql7b{display:none}.theme-toggle-mobile.is-compact.svelte-1keql7b{margin:0 auto;display:flex}@media (width<=768px){.theme-toggle.svelte-1keql7b{display:none}.theme-toggle-mobile.svelte-1keql7b{margin:0 auto;display:flex}}.sidebar.svelte-1nwtzae{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);-webkit-overflow-scrolling:touch;z-index:10;flex-direction:column;max-height:100vh;transition:flex-basis .2s,width .2s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header.svelte-1nwtzae{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:20px;display:flex}.sidebar-logo.svelte-1nwtzae{width:28px;height:28px;color:var(--accent);flex-shrink:0}.sidebar-logo.svelte-1nwtzae svg{width:100%;height:100%}.sidebar-header.svelte-1nwtzae h1{letter-spacing:-.3px;font-size:18px;font-weight:700}.sidebar-nav.svelte-1nwtzae{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.nav-item.svelte-1nwtzae{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item.svelte-1nwtzae:hover{background:var(--bg-surface-hover);color:var(--text)}.nav-item.active.svelte-1nwtzae{background:var(--accent);color:#fff}.sidebar-footer.svelte-1nwtzae{border-top:1px solid var(--border);padding:16px}.api-key-section.svelte-1nwtzae{gap:8px;display:grid}.api-key-open-btn.svelte-1nwtzae{border:1px solid var(--accent);border-radius:var(--radius);width:100%;color:var(--accent);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.api-key-open-btn.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 78%, var(--text));color:color-mix(in srgb, var(--accent) 78%, var(--text))}.api-key-open-btn.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar-toggle.svelte-1nwtzae{cursor:w-resize;z-index:11;background:0 0;border:none;flex:0 0 6px;width:6px;height:100vh;padding:0;transition:background .15s;position:sticky;top:0}.sidebar-toggle.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.sidebar-toggle.collapsed.svelte-1nwtzae{cursor:e-resize}.sidebar-toggle.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar.sidebar-collapsed.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae){justify-content:center;padding:16px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae) h1,.sidebar.sidebar-collapsed.svelte-1nwtzae .badge{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae) span{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae){padding:8px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:none}@media (width<=768px){.sidebar.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar-header.svelte-1nwtzae{justify-content:center;padding:16px}.sidebar-header.svelte-1nwtzae h1{display:none}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae) span{display:none}.sidebar-footer.svelte-1nwtzae{gap:8px;padding:8px;display:grid}.sidebar-footer.svelte-1nwtzae .api-key-section:where(.svelte-1nwtzae),.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:grid}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae){justify-self:center;width:36px;height:36px;min-height:36px;padding:0}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae) span,.sidebar-toggle.svelte-1nwtzae{display:none}}.dialog-close-btn.svelte-11l1bb5{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.dialog-close-btn.svelte-11l1bb5:hover{color:var(--text);background:var(--bg-surface-hover)}.dialog-close-btn.svelte-11l1bb5:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-backdrop.svelte-17e0w4c,.editor-modal-backdrop.svelte-17e0w4c{z-index:80;background:#0000007a;position:fixed;inset:0}.auth-dialog-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.editor-modal-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.editor-modal-shell.svelte-17e0w4c>*{overscroll-behavior:contain;width:min(760px,100%);max-height:min(100vh - 40px,960px);margin:0;overflow:auto;box-shadow:0 24px 70px #00000061}@media (width<=768px){.auth-dialog-shell.svelte-17e0w4c,.editor-modal-shell.svelte-17e0w4c{align-items:end;padding:12px}.editor-modal-shell.svelte-17e0w4c>*{max-height:calc(100vh - 24px)}}.auth-dialog-input-shell.svelte-1dsu6u0{position:relative}.auth-dialog-input.svelte-1dsu6u0{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:11px 12px 11px 38px;font-family:inherit;font-size:14px}.auth-dialog-input.svelte-1dsu6u0:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.flash-region.svelte-1i257xg{top:16px;left:var(--sidebar-width);z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;right:0}.sidebar.sidebar-collapsed~.flash-region.svelte-1i257xg{left:60px}@media (width<=768px){.flash-region.svelte-1i257xg{left:60px}}.flash-toast.svelte-1i257xg{border-radius:var(--radius);pointer-events:auto;align-items:flex-start;gap:10px;width:max-content;max-width:min(480px,100% - 32px);padding:12px 12px 12px 16px;font-size:14px;animation:.9s ease-out svelte-1i257xg-flash-toast-glow;display:flex;box-shadow:0 10px 30px #00000059}@keyframes svelte-1i257xg-flash-toast-glow{0%{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 45%, transparent), 0 10px 30px #00000059}to{box-shadow:0 0 0 4px #0000,0 10px 30px #00000059}}@media (prefers-reduced-motion:reduce){.flash-toast.svelte-1i257xg{animation:none}}.flash-toast-success.svelte-1i257xg{background:color-mix(in srgb, var(--success) 14%, var(--bg-surface));color:var(--success);border:1px solid #34d39959}.flash-toast-error.svelte-1i257xg{background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--warning);border:1px solid #f59e0b66}.flash-toast-text.svelte-1i257xg{overflow-wrap:anywhere;flex:1;min-width:0}.flash-toast-dismiss.svelte-1i257xg{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.flash-toast-dismiss.svelte-1i257xg:hover{opacity:1}.demo-mode-banner.svelte-1s3mcn8{border:1px solid color-mix(in srgb, var(--warning) 55%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--text);box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;display:grid}.demo-mode-banner-icon.svelte-1s3mcn8{width:20px;height:20px;color:var(--warning);flex:0 0 20px}.demo-mode-banner-copy.svelte-1s3mcn8{align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.demo-mode-banner.svelte-1s3mcn8 strong{color:var(--warning);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-size:12px}.demo-mode-banner-links.svelte-1s3mcn8{justify-content:flex-end;align-items:center;gap:6px;display:flex}.demo-mode-banner-links.svelte-1s3mcn8 a{border:1px solid color-mix(in srgb, var(--warning) 42%, var(--border));border-radius:var(--radius);min-height:28px;color:var(--text);white-space:nowrap;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.demo-mode-banner-links.svelte-1s3mcn8 a:hover{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--text)}.demo-mode-banner-links.svelte-1s3mcn8 a:focus-visible{outline:2px solid color-mix(in srgb, var(--warning) 42%, transparent);outline-offset:2px}@media (width<=768px){.demo-mode-banner.svelte-1s3mcn8{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.demo-mode-banner-copy.svelte-1s3mcn8{gap:2px;display:grid}.demo-mode-banner-links.svelte-1s3mcn8{flex-wrap:wrap;grid-column:2;justify-content:flex-start}}.auth-banner.svelte-1c5yh36{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dp-calendar.svelte-g7ga4u{flex-shrink:0;width:224px}.dp-cal-header.svelte-g7ga4u{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;display:flex}.dp-cal-title.svelte-g7ga4u{font-size:13px;font-weight:600}.dp-nav-btn.svelte-g7ga4u{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.dp-nav-btn.svelte-g7ga4u:hover{background:var(--bg-surface-hover);color:var(--text)}.dp-nav-btn.svelte-g7ga4u:disabled{opacity:.3;cursor:default;pointer-events:none}.dp-nav-prev-mobile.svelte-g7ga4u{display:none}.dp-weekdays.svelte-g7ga4u{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dp-weekdays.svelte-g7ga4u span:where(.svelte-g7ga4u){color:var(--text-muted);padding:4px 0;font-size:11px;font-weight:600}.dp-days.svelte-g7ga4u{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.dp-day.svelte-g7ga4u{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:12px;transition:all .1s;display:flex}.dp-day.svelte-g7ga4u:hover:not(.disabled):not(.other-month){background:var(--bg-surface-hover)}.dp-day.other-month.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default}.dp-day.today.svelte-g7ga4u{color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:700}.dp-day.in-range.svelte-g7ga4u{background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:0}.dp-day.range-start.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:6px 0 0 6px;font-weight:600}.dp-day.range-end.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:0 6px 6px 0;font-weight:600}.dp-day.range-start.range-end.svelte-g7ga4u{border-radius:6px}.dp-day.range-start.today.svelte-g7ga4u,.dp-day.range-end.today.svelte-g7ga4u{box-shadow:none}.dp-day.disabled.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default;pointer-events:none}@media (width<=768px){.dp-nav-prev-mobile.svelte-g7ga4u{display:flex}}.date-picker.svelte-ax7ma4{position:relative}.date-picker-trigger.svelte-ax7ma4{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:inline-flex}.date-picker-trigger.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.date-picker-trigger.svelte-ax7ma4 svg:where(.svelte-ax7ma4){color:var(--text-muted);flex-shrink:0}.date-picker-chevron.svelte-ax7ma4{transition:transform .15s}.date-picker-chevron.open.svelte-ax7ma4{transform:rotate(180deg)}.date-picker-dropdown.svelte-ax7ma4{z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.date-picker-presets.svelte-ax7ma4{border-right:1px solid var(--border);flex-direction:column;gap:2px;min-width:140px;padding:8px;display:flex}.preset-btn.svelte-ax7ma4{color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.preset-btn.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.preset-btn.active.svelte-ax7ma4{background:var(--accent);color:#fff}.date-picker-calendars.svelte-ax7ma4{flex-wrap:nowrap;gap:16px;padding:12px;display:flex}.dp-cursor-hint.svelte-ax7ma4{pointer-events:none;z-index:101;background:var(--bg-surface);color:var(--text);border:1px solid var(--accent);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:flex;position:fixed;transform:translate(12px,-50%)}.dp-cursor-hint.svelte-ax7ma4 svg:where(.svelte-ax7ma4){width:12px;height:12px;color:var(--accent);flex-shrink:0}@media (width<=768px){.date-picker-dropdown.svelte-ax7ma4{border-radius:var(--radius) var(--radius) 0 0;flex-direction:column;max-height:80vh;position:fixed;inset:auto 0 0;overflow-y:auto}.date-picker-presets.svelte-ax7ma4{-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid var(--border);flex-flow:row;min-width:0;overflow-x:auto}.date-picker-calendars.svelte-ax7ma4{justify-content:center}.date-picker-calendars.svelte-ax7ma4>.dp-calendar:first-child{display:none}}.segmented-control.svelte-92fh5i{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.segmented-btn.svelte-92fh5i{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:flex}.segmented-btn.svelte-92fh5i:hover{color:var(--text)}.segmented-btn.active.svelte-92fh5i{background:var(--accent);color:#fff}@media (width<=768px){.segmented-btn.svelte-92fh5i{padding:4px 8px;font-size:11px}}.live-tokens.svelte-17qr2ta{margin-bottom:28px}.live-tokens-heading.svelte-17qr2ta{flex-direction:column;gap:2px;display:flex}.live-tokens-subtitle.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.live-tokens-legend.svelte-17qr2ta{flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;display:flex}.live-tokens-legend-item.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.live-tokens-swatch.svelte-17qr2ta{border-radius:2px;flex-shrink:0;width:10px;height:10px}.live-tokens-legend-value.svelte-17qr2ta{color:var(--text);font-weight:600}.live-tokens-empty.svelte-17qr2ta .live-tokens-empty-text:where(.svelte-17qr2ta){color:var(--text-muted);font-size:13px}.provider-status-flag.svelte-6tr9cf{grid-column:span 2}.provider-status-overview-card.svelte-6tr9cf{grid-column:span 1}.provider-status-flag.is-healthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, var(--bg-surface))}.provider-status-flag.is-degraded.svelte-6tr9cf{border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-flag.is-unhealthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface))}.provider-status-value.svelte-6tr9cf{margin-bottom:8px}.provider-status-card-link.svelte-6tr9cf{color:var(--accent-strong,var(--accent));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:13px;font-weight:600}.provider-status-card-link.svelte-6tr9cf:hover{color:var(--text);text-decoration:underline}.provider-status-card-link.svelte-6tr9cf:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:3px;border-radius:4px}.provider-status-card-note.svelte-6tr9cf{color:var(--text-muted);font-size:13px;display:block}@media (width>=720px){.card-wide.svelte-6tr9cf{grid-column:span 2}}.cache-token-value.svelte-6tr9cf{flex-wrap:wrap;align-items:center;gap:6px;line-height:1;display:flex}.cache-token-part.svelte-6tr9cf{align-items:center;display:inline-flex}.cache-token-operator.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;font-size:24px;font-weight:600;line-height:1}.cache-token-marker.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin-left:2px;font-size:14px;font-weight:700}.prompt-cache-gauge.svelte-6tr9cf{width:120px;height:60px;margin:8px auto 0;position:relative;overflow:hidden}.prompt-cache-gauge.svelte-6tr9cf canvas{display:block}.prompt-cache-gauge-value.svelte-6tr9cf{text-align:center;color:var(--text);font-size:18px;font-weight:700;line-height:1;position:absolute;bottom:4px;left:0;right:0}@media (width<=768px){.provider-status-flag.svelte-6tr9cf{grid-column:span 1}}.mcp-servers-flag.svelte-6tr9cf{grid-column:span 1}.cache-meter-header.svelte-1yzecxj{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:16px;display:flex}.cache-meter-header.svelte-1yzecxj h3{font-size:16px;font-weight:600}.cache-meter-subtitle.svelte-1yzecxj{color:var(--text-muted);font-size:13px}.cache-meter-bar.svelte-1yzecxj{background:var(--bg-surface-hover);border-radius:6px;width:100%;height:28px;display:flex;overflow:hidden}.cache-meter-segment.svelte-1yzecxj{justify-content:center;align-items:center;min-width:3px;height:100%;transition:width .3s;display:flex;overflow:hidden}.cache-meter-segment-label.svelte-1yzecxj{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #00000073;font-size:12px;font-weight:600;line-height:1}.cache-meter-segment.svelte-1yzecxj+.cache-meter-segment:where(.svelte-1yzecxj){box-shadow:-1px 0 0 var(--bg-surface)}.cache-meter-bar.is-empty.svelte-1yzecxj{background:var(--bg-surface-hover);justify-content:center;align-items:center;height:auto;min-height:28px;padding:6px 12px}.cache-meter-legend.svelte-1yzecxj{flex-wrap:wrap;gap:10px 24px;margin-top:16px;display:flex}.cache-meter-legend-item.svelte-1yzecxj{align-items:center;gap:8px;font-size:13px;display:flex}.cache-meter-swatch.svelte-1yzecxj{border-radius:3px;flex-shrink:0;width:12px;height:12px}.cache-meter-legend-label.svelte-1yzecxj{color:var(--text)}.cache-meter-legend-pct.svelte-1yzecxj{color:var(--text);font-weight:600}.cache-meter-legend-tokens.svelte-1yzecxj{color:var(--text-muted)}.cache-meter-empty.svelte-1yzecxj{color:var(--text-muted);text-align:center;font-size:13px}.spinner.svelte-b54l9o{width:var(--spinner-size);height:var(--spinner-size);border:2px solid var(--border,#80808059);border-top-color:var(--accent,currentColor);border-radius:50%;flex:none;animation:.7s linear infinite svelte-b54l9o-spinner-rotate;display:inline-block}@keyframes svelte-b54l9o-spinner-rotate{to{transform:rotate(360deg)}}.contribution-calendar-section.svelte-3hfxuq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:24px}.contribution-calendar-header.svelte-3hfxuq{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.contribution-calendar-header.svelte-3hfxuq h3{font-size:16px;font-weight:600}.contribution-calendar-grid-wrapper.svelte-3hfxuq{gap:8px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq{flex-direction:column;gap:2px;padding-top:22px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq span{height:13px;color:var(--text-muted);text-align:right;min-width:28px;font-size:10px;line-height:13px}.contribution-calendar-scroll.svelte-3hfxuq{--contribution-week-size:13px;--contribution-week-gap:2px;flex:1;min-width:0;overflow-x:auto}.contribution-calendar-months.svelte-3hfxuq{grid-auto-columns:var(--contribution-week-size);gap:var(--contribution-week-gap);grid-auto-flow:column;height:16px;margin-bottom:6px;display:grid}.contribution-calendar-month-label.svelte-3hfxuq{color:var(--text-muted);white-space:nowrap;font-size:10px}.contribution-calendar-grid.svelte-3hfxuq{gap:var(--contribution-week-gap);display:flex}.contribution-calendar-week.svelte-3hfxuq{flex-direction:column;gap:2px;display:flex}.contribution-calendar-cell.svelte-3hfxuq{width:var(--contribution-week-size);height:var(--contribution-week-size);background:var(--cal-level-0);border-radius:2px}.contribution-calendar-cell.level-1.svelte-3hfxuq{background:var(--cal-level-1)}.contribution-calendar-cell.level-2.svelte-3hfxuq{background:var(--cal-level-2)}.contribution-calendar-cell.level-3.svelte-3hfxuq{background:var(--cal-level-3)}.contribution-calendar-cell.level-4.svelte-3hfxuq{background:var(--cal-level-4)}.contribution-calendar-cell.level-5.svelte-3hfxuq{background:var(--cal-level-5)}.contribution-calendar-cell.level-6.svelte-3hfxuq{background:var(--cal-level-6)}.contribution-calendar-cell.level-7.svelte-3hfxuq{background:var(--cal-level-7)}.contribution-calendar-cell.level-8.svelte-3hfxuq{background:var(--cal-level-8)}.contribution-calendar-cell.level-9.svelte-3hfxuq{background:var(--cal-level-9)}.contribution-calendar-cell.level-10.svelte-3hfxuq{background:var(--cal-level-10)}.contribution-calendar-cell.empty.svelte-3hfxuq{background:0 0}.contribution-calendar-footer.svelte-3hfxuq{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.contribution-calendar-meta.svelte-3hfxuq{flex-direction:column;gap:4px;display:flex}.contribution-calendar-summary.svelte-3hfxuq{color:var(--text-muted);font-size:12px}.contribution-calendar-legend.svelte-3hfxuq{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.contribution-calendar-legend.svelte-3hfxuq .contribution-calendar-cell:where(.svelte-3hfxuq){cursor:default;width:11px;height:11px}.contribution-calendar-tooltip.svelte-3hfxuq{z-index:200;background:var(--bg-surface);color:var(--text);border:1px solid var(--border);white-space:nowrap;pointer-events:none;border-radius:4px;padding:4px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #0003}@media (width<=768px){.contribution-calendar-day-labels.svelte-3hfxuq{display:none}.contribution-calendar-section.svelte-3hfxuq{padding:16px}.contribution-calendar-footer.svelte-3hfxuq{flex-direction:column;align-items:flex-start}}.inline-help-toggle.is-open.svelte-y40or3{color:var(--text);background:0 0}.inline-help-toggle.is-open.svelte-y40or3 .inline-help-toggle-icon{transform:rotate(540deg)}.audit-stats-section.svelte-14e9yan{margin-top:24px}.audit-stats-header.svelte-14e9yan{align-items:flex-start}.audit-stats-kpis.svelte-14e9yan{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.audit-stats-kpi.svelte-14e9yan{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.audit-stats-kpi-value.svelte-14e9yan{color:var(--text);font-size:13px}.audit-stats-kpi-dot.svelte-14e9yan{border-radius:2px;flex-shrink:0;width:8px;height:8px}.audit-stats-dot-2xx.svelte-14e9yan{background:var(--success)}.audit-stats-dot-4xx.svelte-14e9yan{background:var(--warning)}.audit-stats-dot-5xx.svelte-14e9yan{background:var(--danger)}.provider-status-card.svelte-nopjmh{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:18px;display:flex}.provider-status-card-toggle.svelte-nopjmh{border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin:auto -18px -18px;padding:7px 0;transition:background .15s,color .15s;display:flex}.provider-status-card-toggle.svelte-nopjmh:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text)}.provider-status-card-toggle.svelte-nopjmh:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:-2px}.provider-status-card-toggle.svelte-nopjmh .provider-status-card-toggle-icon{width:16px;height:16px;transition:transform .28s;display:block}.provider-status-card-toggle.is-expanded.svelte-nopjmh .provider-status-card-toggle-icon{transform:rotate(180deg)}.provider-status-card-head.svelte-nopjmh{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.provider-status-name.svelte-nopjmh{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:16px;font-weight:700;display:flex}.provider-doc-help.svelte-nopjmh{align-self:center;text-decoration:none}.provider-status-name-type.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-pill.svelte-nopjmh{border:1px solid var(--border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.provider-status-pill.is-healthy.svelte-nopjmh,.provider-status-health-state.is-healthy.svelte-nopjmh{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.provider-status-pill.is-degraded.svelte-nopjmh,.provider-status-health-state.is-degraded.svelte-nopjmh{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-pill.is-unhealthy.svelte-nopjmh,.provider-status-health-state.is-unhealthy.svelte-nopjmh{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.provider-status-details.svelte-nopjmh{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .28s,opacity .22s;display:grid}.provider-status-details.is-expanded.svelte-nopjmh{opacity:1;grid-template-rows:1fr}.provider-status-details.is-collapsed.svelte-nopjmh{pointer-events:none}.provider-status-details-inner.svelte-nopjmh{flex-direction:column;gap:14px;min-height:0;display:flex;overflow:hidden}.provider-status-reason.svelte-nopjmh{color:var(--text-muted);font-size:13px}.provider-status-error.svelte-nopjmh{color:var(--danger);overflow-wrap:break-word;font-size:12px}.provider-status-meta.svelte-nopjmh{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.provider-status-meta-item.svelte-nopjmh{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.provider-status-meta-label.svelte-nopjmh,.provider-status-config-label.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-meta-value.svelte-nopjmh{color:var(--text);font-size:14px}.provider-status-config.svelte-nopjmh{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.provider-status-config-row.svelte-nopjmh{flex-direction:column;gap:4px;display:flex}.provider-status-config-value.svelte-nopjmh{color:var(--text);overflow-wrap:break-word;font-size:13px;display:block}.provider-status-health.svelte-nopjmh{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:12px;padding-top:12px;display:flex}.provider-status-health-state.svelte-nopjmh{border:1px solid var(--border);border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.provider-status-health-models.svelte-nopjmh{flex-direction:column;gap:4px;display:flex}.provider-status-health-model.svelte-nopjmh{color:var(--text);justify-content:space-between;gap:8px;font-size:13px;display:flex}.provider-status-health-model.is-flagged.svelte-nopjmh{color:var(--danger)}.provider-status-health-model-name.svelte-nopjmh{overflow-wrap:anywhere}.provider-status-health-model-stats.svelte-nopjmh{white-space:nowrap;color:var(--text-muted)}.provider-status-health-model.is-flagged.svelte-nopjmh .provider-status-health-model-stats:where(.svelte-nopjmh){color:var(--danger);font-weight:700}@media (width<=768px){.provider-status-meta.svelte-nopjmh{grid-template-columns:1fr}}.provider-status-section-loading.svelte-1kx3uw4{justify-content:center;padding:24px 0;display:flex}.provider-status-section-header.svelte-1kx3uw4{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.provider-status-toggle.svelte-1kx3uw4{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.provider-status-toggle.svelte-1kx3uw4:hover{background:var(--bg-surface-hover)}.provider-status-toggle.svelte-1kx3uw4:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.provider-status-toggle-copy.svelte-1kx3uw4{white-space:nowrap}.provider-status-toggle-track.svelte-1kx3uw4{background:color-mix(in srgb, var(--text-muted) 35%, var(--border));border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background-color .2s;position:relative}.provider-status-toggle-track.is-active.svelte-1kx3uw4{background:color-mix(in srgb, var(--accent) 82%, var(--bg-surface))}.provider-status-toggle-thumb.svelte-1kx3uw4{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000003d}.provider-status-toggle-track.is-active.svelte-1kx3uw4 .provider-status-toggle-thumb:where(.svelte-1kx3uw4){transform:translate(14px)}.provider-status-grid.svelte-1kx3uw4{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}@media (width<=768px){.provider-status-section-header.svelte-1kx3uw4{flex-direction:column;align-items:flex-start}.provider-status-toggle.svelte-1kx3uw4{justify-content:space-between;width:100%}}.filter-input-wrap.svelte-30xz1k{flex:1;width:100%;min-width:min(400px,100%);display:flex;position:relative}.filter-input.svelte-30xz1k{flex:1;width:100%;min-width:0;padding-left:34px}.filter-input-wrap.svelte-30xz1k .filter-input-icon{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.usage-page-filters.svelte-1oi6ywk{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.usage-page-filters.svelte-1oi6ywk .usage-log-select{flex:0 auto}.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path{flex:220px;min-width:180px;max-width:360px}@media (width<=768px){.usage-page-filters.svelte-1oi6ywk .usage-log-select,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path{flex:100%;max-width:none}}.usage-breakdown-loading.svelte-1kee4g8{justify-content:center;align-items:center;min-height:120px;display:flex}.chart-view-toggle.svelte-1kee4g8{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.chart-view-btn.svelte-1kee4g8{width:30px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.chart-view-btn.svelte-1kee4g8:hover{color:var(--text)}.chart-view-btn.active.svelte-1kee4g8{background:var(--accent);color:#fff}.chart-view-btn.svelte-1kee4g8 svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.usage-chart-table-wrapper.svelte-1kee4g8{-webkit-overflow-scrolling:touch;margin-top:0;overflow-x:auto}.usage-chart-data-table.svelte-1kee4g8{min-width:max-content}.usage-chart-data-table.svelte-1kee4g8 th,.usage-chart-data-table.svelte-1kee4g8 td{white-space:nowrap}.pagination-info.svelte-1imew3q{color:var(--text-muted);font-size:13px}.pagination-buttons.svelte-1imew3q{gap:8px;display:flex}.usage-log-loading.svelte-hg4ill{justify-content:center;align-items:center;min-height:120px;display:flex}.usage-log-section.svelte-hg4ill{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.usage-log-section.svelte-hg4ill h3{margin-bottom:16px;font-size:16px;font-weight:600}.usage-log-section.svelte-hg4ill .table-wrapper{overflow-x:auto}.usage-log-toolbar.svelte-hg4ill{gap:12px;margin-bottom:16px;display:grid}.usage-filter-row.svelte-hg4ill{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:12px;display:grid}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1/-1}.usage-filter-row-options.svelte-hg4ill{grid-template-columns:1fr}.usage-log-checkbox.svelte-hg4ill{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.usage-log-checkbox.svelte-hg4ill input{cursor:pointer;width:16px;height:16px}.usage-ts.svelte-hg4ill{white-space:nowrap;font-size:12px}.usage-log-row-cached.svelte-hg4ill td{opacity:.75;font-style:italic}.usage-log-row-cached.svelte-hg4ill .usage-log-cache-cell:where(.svelte-hg4ill){font-weight:700}.caveat-icon.svelte-hg4ill{color:var(--warning);cursor:help;margin-left:4px;font-size:14px}@media (width<=768px){.usage-log-toolbar.svelte-hg4ill{gap:10px}.usage-filter-row.svelte-hg4ill{grid-template-columns:1fr}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1}.usage-log-table.svelte-hg4ill{display:block;overflow-x:auto}}.usage-sticky-controls.svelte-spwie6{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.usage-charts-grid.svelte-spwie6{flex-wrap:wrap;gap:24px;margin-bottom:24px;display:flex}.usage-charts-grid.svelte-spwie6 .model-chart-section{flex:calc(50% - 24px);min-width:420px;margin-bottom:0}@media (width<=520px){.usage-charts-grid.svelte-spwie6 .model-chart-section{min-width:0}}.loading-state.svelte-hzxv1d{min-height:64px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.budget-bar-text-row-on-fill.svelte-1jm56wo{color:#fff;clip-path:inset(0 calc(100% - var(--budget-progress,0%)) 0 0)}.budget-bar-text-start.svelte-1jm56wo{left:8px;transform:translateY(-50%)}.budget-bar-track-period-custom.svelte-1jm56wo .budget-bar-text-row-on-fill:where(.svelte-1jm56wo){color:#3f332a}.budget-override-dialog.svelte-13ryo7h{max-width:460px}.budget-sort-control.svelte-1752fqe{align-items:center;gap:8px}.budget-sort-control.svelte-1752fqe label{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.budget-sort-select.svelte-1752fqe{background-color:var(--bg-surface);min-width:132px}.budget-sort-select.svelte-1752fqe:hover{background-color:var(--bg-surface-hover)}.model-name-cell.svelte-1iynym{flex-direction:column;gap:8px;display:flex}.model-name-primary.svelte-1iynym{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.model-name-secondary.svelte-1iynym{color:var(--text-muted);font-size:12px}.model-redirect-remove-btn.svelte-1iynym{appearance:none;color:var(--danger);cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-size:11px}.model-redirect-remove-btn.svelte-1iynym:hover:not(:disabled){text-decoration:underline}.model-redirect-remove-btn.svelte-1iynym:disabled{opacity:.45;cursor:default}.model-kind-icon.svelte-1iynym{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--bg);width:24px;height:24px;color:var(--accent);border-radius:999px;flex:0 0 24px;justify-content:center;align-items:center;display:inline-flex}.model-kind-icon-svg.svelte-1iynym{width:14px;height:14px}.model-row-actions.svelte-1iynym{text-align:right;width:170px}@media (width<=768px){.model-name-primary.svelte-1iynym{flex-direction:column;align-items:flex-start}}.provider-group-row.svelte-1911hy6 td{background:color-mix(in srgb, var(--accent) 6%, var(--bg));padding-top:12px;padding-bottom:12px}.provider-group-row.svelte-1911hy6:hover td{background:color-mix(in srgb, var(--accent) 8%, var(--bg))}.provider-group-header.svelte-1911hy6{justify-content:space-between;align-items:center;gap:16px;display:flex}.provider-group-meta.svelte-1911hy6{flex-direction:column;gap:4px;min-width:0;display:flex}.provider-group-title.svelte-1911hy6{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.provider-group-type.svelte-1911hy6,.provider-group-count.svelte-1911hy6,.provider-group-summary.svelte-1911hy6{color:var(--text-muted);font-size:12px}@media (width<=768px){.provider-group-header.svelte-1911hy6{flex-direction:column;align-items:flex-start}}.pricing-override-rows.svelte-u8snes{gap:12px;display:grid}.pricing-override-row.svelte-u8snes{grid-template-columns:minmax(220px,1fr) minmax(130px,180px) 32px;align-items:end;gap:12px;display:grid}.pricing-override-row-actions.svelte-u8snes{justify-content:flex-start;display:flex}.pricing-override-tier-note.svelte-u8snes{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:6px;padding:10px 12px;font-size:13px}.pricing-preview.svelte-u8snes{border:1px solid var(--border);border-radius:6px;overflow:hidden}.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:minmax(150px,1fr) minmax(90px,auto) minmax(130px,.8fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.pricing-preview-header.svelte-u8snes{background:var(--bg);color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.pricing-preview-row.svelte-u8snes{border-top:1px solid var(--border);font-size:13px}.pricing-preview-row-empty.svelte-u8snes{color:var(--text-muted);grid-template-columns:1fr}@media (width<=768px){.pricing-override-row.svelte-u8snes,.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:1fr}}.failover-drafts-editor.svelte-1n87bip{flex-direction:column;gap:16px;display:flex}.failover-draft-header-actions.svelte-1n87bip{flex:none;align-items:center;gap:10px;display:flex}.failover-draft-counter.svelte-1n87bip{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.failover-draft-toolbar.svelte-1n87bip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.failover-draft-toolbar.svelte-1n87bip .filter-input-wrap,.failover-draft-toolbar.svelte-1n87bip .filter-input{min-width:0}.failover-draft-toggle-all.svelte-1n87bip{flex:none}.failover-draft-list.svelte-1n87bip{flex-direction:column;gap:8px;max-height:min(52vh,430px);padding-right:4px;display:flex;overflow-y:auto}.failover-draft-row.svelte-1n87bip{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.failover-draft-row.svelte-1n87bip:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));background:var(--bg-surface-hover)}.failover-draft-row.svelte-1n87bip input{width:16px;height:16px;margin-top:2px}.failover-draft-copy.svelte-1n87bip{gap:4px;min-width:0;display:grid}.failover-draft-source.svelte-1n87bip,.failover-draft-targets.svelte-1n87bip{overflow-wrap:anywhere}.failover-draft-targets.svelte-1n87bip{color:var(--text-muted);font-size:12px}.failover-drafts-empty.svelte-1n87bip{align-items:center;min-height:96px;display:flex}.failover-draft-actions.svelte-1n87bip{margin-top:0}.category-tabs.svelte-scpjps{-webkit-overflow-scrolling:touch;align-items:center;gap:4px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.category-tab.svelte-scpjps{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.category-tab.svelte-scpjps:hover{color:var(--text);background:var(--bg-surface-hover)}.category-tab.active.svelte-scpjps{background:var(--accent);color:#fff;border-color:var(--accent)}.category-tab.svelte-scpjps .tab-count:where(.svelte-scpjps){background:#ffffff26;border-radius:9px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.category-tab.svelte-scpjps:not(.active) .tab-count:where(.svelte-scpjps){background:var(--bg)}@media (width<=768px){.category-tabs.svelte-scpjps{gap:4px}.category-tab.svelte-scpjps{padding:5px 10px;font-size:12px}}.workflow-pipeline-meta.svelte-1viff7o{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 86%, transparent);min-width:0;max-width:calc(100% - 28px);color:var(--text-muted);white-space:nowrap;appearance:none;cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:0;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;position:absolute;top:12px;right:14px;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover,.workflow-pipeline-meta.svelte-1viff7o:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface));color:color-mix(in srgb, var(--accent) 74%, var(--text))}.workflow-pipeline-meta.svelte-1viff7o:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.workflow-pipeline-meta-label.svelte-1viff7o{flex:none;font-weight:700}.workflow-pipeline-meta-placeholder.svelte-1viff7o{opacity:1;flex:none;max-width:3ch;margin-left:4px;transition:max-width .18s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta-value.svelte-1viff7o{opacity:0;text-overflow:clip;flex:0 auto;max-width:0;margin-left:0;transition:max-width .22s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o){opacity:0;max-width:0;margin-left:0}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o){opacity:1;max-width:42ch;margin-left:4px}.workflow-pipeline-meta-icon.svelte-1viff7o{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:14px;margin-left:0;line-height:0;transition:width .18s,margin-left .18s,opacity .15s,transform .18s;display:inline-flex;overflow:hidden;transform:translate(4px)translateY(1px)scale(.84)}.workflow-pipeline-meta-icon.svelte-1viff7o svg{width:14px;height:14px}.workflow-pipeline-meta-copied.svelte-1viff7o,.workflow-pipeline-meta-copied.svelte-1viff7o:hover,.workflow-pipeline-meta-copied.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-icon:where(.svelte-1viff7o){opacity:1;width:14px;margin-left:6px;transform:translateY(1px)}.workflow-pipeline-meta-error.svelte-1viff7o,.workflow-pipeline-meta-error.svelte-1viff7o:hover,.workflow-pipeline-meta-error.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 34%, var(--border));color:var(--danger)}.workflow-pipeline.svelte-nbptrg{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);flex-direction:column;gap:0;margin-bottom:12px;padding:18px 20px 20px;display:flex;position:relative}.workflow-pipeline-has-meta.svelte-nbptrg{padding-top:42px}.workflow-pipeline-row.svelte-nbptrg{align-items:center;width:100%;min-width:0;display:flex;overflow-x:auto}.workflow-node-icon.svelte-nbptrg{border-radius:var(--radius);background:var(--bg);width:28px;height:28px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.workflow-node-icon.svelte-nbptrg svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.workflow-node-label.svelte-nbptrg{letter-spacing:.03em;color:var(--text);white-space:nowrap;font-size:11px;font-weight:700;line-height:1.2}.workflow-node-sub.svelte-nbptrg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:10px;font-weight:500;line-height:1.2;font-family:var(--font-mono,ui-monospace, monospace);overflow:hidden}.workflow-node-badge.svelte-nbptrg{border-radius:var(--radius);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);align-items:center;padding:2px 7px;font-size:9px;font-weight:800;line-height:1.5;display:inline-flex}.workflow-node-endpoint.svelte-nbptrg{border-radius:var(--radius);border-color:var(--border);background:var(--bg-surface);flex-direction:row;gap:7px;min-width:auto;padding:10px 14px}.workflow-node-icon-endpoint.svelte-nbptrg{border-radius:var(--radius);width:auto;height:auto;color:var(--text-muted);background:0 0;justify-content:flex-start;padding:0}.workflow-node-icon-endpoint.svelte-nbptrg svg{width:14px;height:14px}.workflow-node-endpoint.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted);font-size:11px;font-weight:600}.workflow-node-feature.svelte-nbptrg{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface))}.workflow-node-feature.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--accent) 16%, var(--bg));color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--accent) 70%, var(--text-muted))}.workflow-node-ai.svelte-nbptrg{border-radius:var(--radius);gap:6px;min-width:96px;padding:12px 16px}.workflow-async-section.svelte-nbptrg{justify-content:flex-end;align-items:center;gap:0;width:100%;min-width:0;margin-top:10px;display:flex}.workflow-async-turn.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 60px;height:2px;position:relative}.workflow-async-turn.svelte-nbptrg:before{content:"";background:color-mix(in srgb, var(--text-muted) 40%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);width:7px;height:9px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.workflow-async-turn.svelte-nbptrg:after{content:"";border-right:2px dashed color-mix(in srgb, var(--text-muted) 40%, var(--border));height:16px;position:absolute;bottom:1px;right:0}.workflow-async-row.svelte-nbptrg{align-items:center;min-width:0;margin-right:7px;display:flex}.workflow-conn-async.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 24px;width:24px}.workflow-conn-async.svelte-nbptrg:after{background:color-mix(in srgb, var(--text-muted) 45%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);left:-1px;right:auto}.workflow-node-async.svelte-nbptrg{border-radius:var(--radius);border-style:dashed;flex-direction:row;gap:7px;min-width:auto;padding:7px 12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){border-radius:var(--radius);width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg) svg{width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){font-size:10px;font-weight:700}.workflow-async-label.svelte-nbptrg{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.55;white-space:nowrap;flex-shrink:0;align-items:center;margin-left:8px;font-size:9px;font-weight:800;display:inline-flex}.workflow-node-success.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 18%, var(--bg));color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 85%, var(--text))}.workflow-node-success.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 74%, var(--text-muted))}.workflow-node-success.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 14%, var(--bg));border-color:color-mix(in srgb, var(--success) 38%, var(--border));color:var(--success)}.workflow-node-current.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 16%, var(--bg));color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 85%, var(--text))}.workflow-node-current.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 72%, var(--text-muted))}.workflow-node-current.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 13%, var(--bg));border-color:color-mix(in srgb, var(--info) 36%, var(--border));color:var(--info)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 85%, var(--text))}.workflow-node-warning.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 72%, var(--text-muted))}.workflow-node-warning.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 38%, var(--border));color:var(--warning)}.workflow-node-error.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--danger) 14%, var(--bg));color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 85%, var(--text))}.workflow-node-error.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 72%, var(--text-muted))}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 12%, var(--bg));color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg),.workflow-node-neutral.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--text-muted) 84%, var(--border))}.workflow-node-neutral.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 10%, var(--bg));border-color:color-mix(in srgb, var(--text-muted) 28%, var(--border));color:var(--text-muted)}.workflow-conn-hit.svelte-nbptrg,.workflow-conn-hit.svelte-nbptrg:after{background:color-mix(in srgb, var(--success) 58%, var(--border))}.workflow-conn-dim.svelte-nbptrg,.workflow-conn-dim.svelte-nbptrg:after{background:color-mix(in srgb, var(--border) 75%, transparent)}.workflow-node-success.svelte-nbptrg{border-color:color-mix(in srgb, var(--success) 52%, var(--border));background:color-mix(in srgb, var(--success) 9%, var(--bg-surface))}.workflow-node-current.svelte-nbptrg{border-color:color-mix(in srgb, var(--info) 56%, var(--border));background:color-mix(in srgb, var(--info) 10%, var(--bg-surface))}.workflow-node-warning.svelte-nbptrg{border-color:color-mix(in srgb, var(--warning) 52%, var(--border));background:color-mix(in srgb, var(--warning) 9%, var(--bg-surface))}.workflow-node-error.svelte-nbptrg{border-color:color-mix(in srgb, var(--danger) 52%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--bg-surface))}.workflow-node-neutral.svelte-nbptrg{border-color:color-mix(in srgb, var(--text-muted) 40%, var(--border));background:color-mix(in srgb, var(--text-muted) 8%, var(--bg-surface))}.workflow-node-skipped.svelte-nbptrg{opacity:.28;position:relative}.workflow-card.svelte-1fo9fvq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:20px;display:flex}.workflow-card-head.svelte-1fo9fvq{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-card-footer.svelte-1fo9fvq{flex-direction:column;align-items:stretch;gap:10px;display:flex}.workflow-card-head.svelte-1fo9fvq h3{font-size:18px;font-weight:700}.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workflow-card-meta-footer.svelte-1fo9fvq{justify-content:flex-start}.workflow-card-footer.svelte-1fo9fvq .alias-actions-cell{align-self:flex-end}.workflow-card-description.svelte-1fo9fvq{color:var(--text-muted);font-size:14px}.workflow-guardrails.svelte-1fo9fvq{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list.svelte-1fo9fvq{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-item.svelte-1fo9fvq{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}@media (width<=768px){.workflow-card-head.svelte-1fo9fvq,.workflow-card-footer.svelte-1fo9fvq,.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq,.workflow-guardrail-item.svelte-1fo9fvq{flex-direction:column;align-items:flex-start}}.workflow-editor.svelte-1bcpzh1{width:min(1080px,100%)}.alert-inline-actions.svelte-1bcpzh1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.workflow-guardrail-editor.svelte-1bcpzh1{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list-editor.svelte-1bcpzh1{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-row.svelte-1bcpzh1{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:stretch;align-items:center;gap:12px;padding:10px 12px;display:flex}.workflow-guardrail-field.svelte-1bcpzh1{flex:auto;min-width:0}.workflow-guardrail-step-field.svelte-1bcpzh1{flex:0 0 120px}.workflow-editor.svelte-1bcpzh1{margin-bottom:0}.workflow-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-step-input.svelte-1bcpzh1{max-width:120px}@media (width<=768px){.workflow-guardrail-row.svelte-1bcpzh1{flex-direction:column;align-items:flex-start}.workflow-step-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-guardrail-field.svelte-1bcpzh1,.workflow-guardrail-step-field.svelte-1bcpzh1{flex-basis:auto;width:100%}}.workflow-list-loading.svelte-ie2kfk{justify-content:center;align-items:center;gap:8px;display:flex}.workflows-list.svelte-ie2kfk{min-width:0}.workflow-card-grid.svelte-ie2kfk{grid-template-columns:1fr;gap:16px;display:grid}.workflow-page-note.svelte-l8kr26{color:var(--text-muted);margin-top:6px;font-size:14px}.audit-log-toolbar.svelte-1pwbpcm{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;display:grid}.audit-filter-select.svelte-1pwbpcm{grid-column:span 2;min-width:0}.audit-filter-row-search.svelte-1pwbpcm .filter-input-wrap{grid-column:1/-1;max-width:none}.audit-filter-row-controls.svelte-1pwbpcm .audit-filter-select:where(.svelte-1pwbpcm){grid-column:span 2}.audit-filter-row-controls.svelte-1pwbpcm .btn{grid-column:11/-1;justify-self:end;min-width:108px}.audit-clear-btn.svelte-1pwbpcm{justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.audit-clear-btn.svelte-1pwbpcm .table-icon-svg{width:12px;height:12px}@media (width<=768px){.audit-log-toolbar.svelte-1pwbpcm{gap:8px}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:1fr}.audit-filter-row.svelte-1pwbpcm .filter-input-wrap,.audit-filter-row.svelte-1pwbpcm .filter-input,.audit-filter-select.svelte-1pwbpcm,.audit-filter-row.svelte-1pwbpcm .btn{grid-column:auto}}.audit-entry-metadata.svelte-hyopt0{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.audit-entry-metadata-label.svelte-hyopt0{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.audit-entry-context.svelte-hyopt0{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.audit-alias-badge.svelte-hyopt0{background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--accent-strong,var(--accent))}@media (width<=768px){.audit-entry-metadata.svelte-hyopt0{flex-direction:column;align-items:flex-start;gap:8px}}.audit-entry-summary.svelte-17mysgz{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;list-style:none;display:flex;position:relative}.audit-entry-summary.svelte-17mysgz::-webkit-details-marker{display:none}.audit-entry-summary-live-in-progress.svelte-17mysgz{background:color-mix(in srgb, var(--info) 7%, var(--bg))}.audit-entry-summary-live-in-progress.svelte-17mysgz:before{content:"";background:var(--info);pointer-events:none;width:3px;animation:1.2s ease-in-out infinite audit-live-summary-stripe-blink;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:reduce){.audit-entry-summary-live-in-progress.svelte-17mysgz:before{opacity:.78;animation:none}}.audit-entry-left.svelte-17mysgz{align-items:center;gap:8px;min-width:0;display:flex}.audit-entry-right.svelte-17mysgz{color:var(--text-muted);flex-shrink:0;align-items:center;gap:10px;min-height:28px;display:inline-flex}.audit-conversation-trigger.svelte-17mysgz{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 12%, var(--bg));width:28px;height:28px;color:var(--accent);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin-right:-9px;transition:transform .1s ease-out,background .1s ease-out,color .1s ease-out;display:inline-flex}.audit-conversation-trigger.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 20%, var(--bg));transform:translate(1px)}.audit-conversation-trigger.svelte-17mysgz svg{width:14px;height:14px}.audit-path.svelte-17mysgz{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.audit-method-badge.svelte-17mysgz{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);min-width:52px;height:24px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-provider-model.svelte-17mysgz{border:1px solid var(--border);background:var(--bg-surface);height:24px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:420px;padding:0 10px;font-size:12px;display:inline-flex;overflow:hidden}.audit-attempt-track.svelte-17mysgz{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.audit-attempt-track-pips.svelte-17mysgz{align-items:center;gap:3px;display:inline-flex}.audit-attempt-pip.svelte-17mysgz{background:var(--text-muted);border-radius:2px;width:8px;height:8px}.audit-attempt-pip.audit-attempt-success.svelte-17mysgz{background:var(--success)}.audit-attempt-pip.audit-attempt-error.svelte-17mysgz{background:var(--danger)}.audit-attempt-track-count.svelte-17mysgz{color:var(--text-muted);font-size:11px}@media (width<=768px){.audit-entry-summary.svelte-17mysgz{flex-direction:column;align-items:flex-start}.audit-entry-right.svelte-17mysgz{justify-content:space-between;width:100%}}.audit-pane-split.svelte-1h5puht{grid-template-columns:1fr 2fr;align-items:start;gap:10px 14px;display:grid}.audit-pane-split-single.svelte-1h5puht{grid-template-columns:minmax(0,1fr)}.audit-pane-split.svelte-1h5puht .audit-pane-block-headers:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-block-body:where(.svelte-1h5puht){margin-top:0}.audit-pane-split.svelte-1h5puht .audit-pane-block-error:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-empty:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-size-warning:where(.svelte-1h5puht){grid-column:1/-1}.audit-pane-block.svelte-1h5puht{min-width:0}.audit-pane-block.svelte-1h5puht+.audit-pane-block:where(.svelte-1h5puht){margin-top:10px}.audit-pane-block.svelte-1h5puht>h5{margin-bottom:6px}.audit-pane-block-head.svelte-1h5puht{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.audit-pane-block-title.svelte-1h5puht{align-items:center;gap:8px;min-width:0;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn{background-color:var(--bg-surface);border:1px solid color-mix(in srgb, var(--border) 70%, var(--text) 30%);color:var(--text);cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn:hover:not(:disabled){background:color-mix(in srgb, var(--bg-surface) 80%, var(--text) 20%);border-color:color-mix(in srgb, var(--border) 45%, var(--text) 55%)}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 18%, var(--bg-surface))}.audit-json.svelte-1h5puht{background:var(--bg-surface);border:1px solid var(--border);box-sizing:border-box;white-space:pre;max-width:100%;max-height:220px;color:var(--text);border-radius:6px;padding:10px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:auto}.audit-pane-error-message.svelte-1h5puht{color:var(--danger)}.audit-pane-clickable-preview.svelte-1h5puht{cursor:pointer}.audit-pane-clickable-preview.svelte-1h5puht:hover{background:color-mix(in srgb, var(--danger) 8%, transparent)}.audit-json-body.svelte-1h5puht{white-space:pre;overflow-wrap:normal}.audit-pane-empty.svelte-1h5puht{text-align:left;padding:8px 0 0}.audit-pane-pending.svelte-1h5puht{align-items:center;gap:8px;display:flex}.audit-pane-streaming.svelte-1h5puht{letter-spacing:.02em;color:var(--text-muted);align-items:center;gap:7px;padding-left:4px;font-size:11px;font-weight:600;display:inline-flex}.audit-size-warning.svelte-1h5puht{color:var(--warning);margin-top:8px;font-size:12px}.audit-request-response.svelte-1bc5vi5{margin-top:4px}.audit-pane-tablist.svelte-1bc5vi5{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;display:flex}.audit-pane-tab.svelte-1bc5vi5{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-bottom-color:#0000;border-radius:6px 6px 0 0;align-items:center;gap:8px;margin-bottom:-1px;margin-right:12px;padding:8px 12px;font-family:inherit;font-size:13px;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.audit-pane-tab.svelte-1bc5vi5:not(.audit-pane-tab-active):hover{color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent)}.audit-pane-tab-active.svelte-1bc5vi5{color:var(--text);border-color:var(--border);border-bottom-color:var(--bg);background:var(--bg)}.audit-pane-tab-label.svelte-1bc5vi5{font-weight:600}.audit-pane-tabpanel.svelte-1bc5vi5{min-width:0}.audit-pane-icon.svelte-1bc5vi5{color:var(--text-muted);flex:none;align-items:center;display:inline-flex}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-request{color:var(--accent)}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-response{color:var(--info)}.audit-pane-icon.svelte-1bc5vi5 svg{width:16px;height:16px}.audit-pane-seq.svelte-1bc5vi5{color:var(--text-muted);font-size:12px}.audit-pane-kind.svelte-1bc5vi5{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-primary{color:var(--text-muted)}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-failover{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-retry{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 30%, var(--border))}.audit-savings-pill.svelte-1bc5vi5{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);color:var(--prompt-cache-color);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.audit-entry.svelte-cmjgwr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.audit-entry-details.svelte-cmjgwr{border-top:1px solid var(--border);background:var(--bg-surface);padding:12px;overflow:hidden}.conversation-overlay.svelte-ssrzja{z-index:50;background:#0000004d;position:fixed;inset:0}.conversation-drawer-header.svelte-ssrzja{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.conversation-drawer-header.svelte-ssrzja h3{font-size:16px;font-weight:700}.conversation-meta.svelte-ssrzja{color:var(--text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px}.conversation-drawer-footer.svelte-ssrzja{border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;padding:10px 16px}.conversation-thread.svelte-ssrzja{flex-direction:column;gap:10px;padding:14px 16px 20px;display:flex}.conversation-live-status.svelte-ssrzja{color:var(--text-muted);align-items:center;gap:10px;padding:4px 16px 20px;font-size:13px;display:flex}.chat-message.svelte-ssrzja{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-width:94%;padding:10px 12px}.chat-message.is-anchor.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.chat-message.role-user.svelte-ssrzja{align-self:flex-start}.chat-message.role-assistant.svelte-ssrzja{background:color-mix(in srgb, var(--accent) 18%, var(--bg));align-self:flex-end}.chat-message.role-system.svelte-ssrzja{background:color-mix(in srgb, var(--warning) 10%, var(--bg));align-self:center;width:100%;max-width:100%}.chat-message.role-error.svelte-ssrzja{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg));align-self:flex-end}.chat-message.role-error.svelte-ssrzja .chat-role:where(.svelte-ssrzja){color:color-mix(in srgb, var(--danger) 75%, var(--text-muted))}.chat-message-meta.svelte-ssrzja{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.chat-role.svelte-ssrzja{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:12px;font-weight:700}.chat-time.svelte-ssrzja{color:var(--text-muted);white-space:nowrap;font-size:11px}.chat-content.svelte-ssrzja{white-space:pre-wrap;overflow-wrap:break-word;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5}.chat-tool-calls.svelte-ssrzja{border-top:1px solid var(--border);flex-direction:column;gap:3px;margin-top:8px;padding-top:6px;display:flex}.chat-tool-call.svelte-ssrzja{color:var(--text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.chat-tool-call-name.svelte-ssrzja:before{content:"⚡"}.chat-function-note.svelte-ssrzja{max-width:94%;color:var(--text-muted);background:color-mix(in srgb, var(--border) 40%, transparent);border:1px dashed var(--border);border-radius:12px;align-self:center;padding:4px 12px;font-size:12px}.chat-function-note.is-anchor.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-inner.svelte-ssrzja{align-items:baseline;gap:6px;display:flex;overflow:hidden}.chat-function-label.svelte-ssrzja{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}.chat-function-detail.svelte-ssrzja{white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.chat-function-note.role-function-call.svelte-ssrzja{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));align-self:flex-end}.chat-function-note.role-function-result.svelte-ssrzja{background:color-mix(in srgb, var(--success) 8%, transparent);border-color:color-mix(in srgb, var(--success) 30%, var(--border));align-self:flex-start}.chat-function-note.is-anchor.role-function-call.svelte-ssrzja,.chat-function-note.is-anchor.role-function-result.svelte-ssrzja{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-details.svelte-ssrzja{width:100%}.chat-function-note-details.svelte-ssrzja>summary{cursor:pointer;list-style:none}.chat-function-note-details.svelte-ssrzja>summary::-webkit-details-marker{display:none}.chat-function-expanded.svelte-ssrzja{border-top:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);max-height:200px;margin-top:6px;padding-top:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;overflow:auto}@media (width<=768px){.chat-message.svelte-ssrzja{max-width:100%}}.audit-log-loading.svelte-1nhcbov{justify-content:center;padding:2rem 0;display:flex}.audit-retention-note.svelte-1nhcbov{color:var(--text-muted);font-size:13px}.audit-retention-highlight.svelte-1nhcbov{color:var(--text);font-weight:600}.audit-log-section.svelte-1nhcbov{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.audit-log-summary.svelte-1nhcbov{color:var(--text-muted);margin-bottom:12px;font-size:13px}.audit-log-list.svelte-1nhcbov{flex-direction:column;gap:10px;display:flex}.settings-guardrails-list.svelte-1bvx512{min-width:0}.settings-guardrail-type-pill.svelte-1bvx512{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.settings-guardrail-summary.svelte-1bvx512{color:var(--text);font-size:14px;line-height:1.45}.settings-guardrail-description.svelte-1bvx512{color:var(--text-muted);margin-top:6px;font-size:12px}.guardrails-editor-wide.svelte-s964s3{width:min(1080px,100%)}.form-field-fieldset.svelte-s964s3{border:0;min-inline-size:0;margin:0;padding:0}.form-field-legend.svelte-s964s3{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:0;font-size:12px;font-weight:600}.settings-guardrails-editor.svelte-s964s3{min-width:0}.settings-guardrails-hero.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));border-radius:var(--radius);background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent-hover) 18%, transparent), transparent 42%), radial-gradient(circle at bottom left, color-mix(in srgb, var(--accent) 16%, transparent), transparent 40%), var(--bg-surface);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px;display:flex}.settings-kicker.svelte-5x874c{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.settings-guardrails-hero.svelte-5x874c h3{margin-bottom:8px}.settings-guardrails-hero.svelte-5x874c p:last-child{color:var(--text-muted);margin-bottom:0}.settings-guardrails-meta.svelte-5x874c{gap:12px;display:flex}.settings-guardrails-stat.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:color-mix(in srgb, var(--bg-surface-hover) 76%, transparent);border-radius:16px;min-width:110px;padding:14px 16px}.settings-guardrails-stat-label.svelte-5x874c{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.settings-guardrails-stat.svelte-5x874c strong{font-size:24px;font-weight:700}@media (width<=768px){.settings-guardrails-hero.svelte-5x874c{flex-direction:column}.settings-guardrails-meta.svelte-5x874c{width:100%}.settings-guardrails-stat.svelte-5x874c{flex:1 1 0}}.mcp-catalog-section.svelte-1xqrzco{margin-top:18px}.mcp-catalog-section.svelte-1xqrzco .form-field-label{margin-bottom:8px}.mcp-catalog-subtitle.svelte-1xqrzco{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mcp-catalog-list.svelte-1xqrzco{flex-direction:column;gap:12px;margin:0 0 8px;padding:0;list-style:none;display:flex}.mcp-catalog-item-name.svelte-1xqrzco{overflow-wrap:anywhere;font-size:13px}.mcp-catalog-item-aggregated.svelte-1xqrzco{color:var(--text-muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.mcp-catalog-item-description.svelte-1xqrzco{color:var(--text-muted);margin:2px 0 0;font-size:13px;font-weight:400}.mcp-server-sub-counts.svelte-ah8nrt{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:4px;font-size:11px;overflow:hidden}.mcp-server-table-wrapper.svelte-ah8nrt{overflow-x:auto}.mcp-server-table-wrapper.svelte-ah8nrt .data-table{min-width:860px}.auth-key-form-fields.svelte-1gswxes>.form-field{margin-bottom:4px}.auth-key-dashboard-toggle.svelte-1gswxes{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-key-issued-banner.svelte-1gswxes{background:color-mix(in srgb, var(--success) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));border-radius:var(--radius);margin-bottom:20px;padding:16px}.auth-key-issued-warning.svelte-1gswxes{color:color-mix(in srgb, var(--success) 80%, var(--text));margin-bottom:12px;font-size:13px;font-weight:600}.auth-key-issued-value-row.svelte-1gswxes{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.auth-key-issued-token.svelte-1gswxes{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);word-break:break-all;flex:1;min-width:0;padding:8px 12px;font-size:13px;overflow-x:auto}.usage-label-chip-static.svelte-nf0ldb,.usage-label-chip-static.svelte-nf0ldb:hover{cursor:default;background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.auth-key-redacted.svelte-nf0ldb{color:var(--text-muted);font-size:13px}.auth-key-actions-cell.svelte-nf0ldb{white-space:nowrap}.auth-key-row-deactivated.svelte-nf0ldb td:where(.svelte-nf0ldb):not(.auth-key-actions-cell){opacity:.55}.auth-key-expiry.svelte-nf0ldb{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.auth-key-th-help.svelte-nf0ldb{cursor:help;align-items:center;gap:4px;display:inline-flex}.auth-key-row-actions.svelte-nf0ldb{align-items:center;gap:6px;display:inline-flex}.auth-keys-loading.svelte-1xpdcqx{justify-content:center;align-items:center;padding:32px 0;display:flex}.auth-keys-help-notice.svelte-1xpdcqx{margin-bottom:20px}.auth-keys-inactive-toggle.svelte-1xpdcqx{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-keys-inactive-toggle.svelte-1xpdcqx input:where(.svelte-1xpdcqx){width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.settings-panel-header.svelte-15kyv2y{justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.settings-panel-header.svelte-15kyv2y h3{font-size:18px}.settings-form-grid.svelte-15kyv2y{grid-template-columns:minmax(280px,420px);gap:16px;display:grid}@media (width<=768px){.settings-form-grid.svelte-15kyv2y{grid-template-columns:1fr}}.budget-settings-section.svelte-a747ys{width:100%}.budget-settings-grid.svelte-a747ys{gap:12px;display:grid}.budget-settings-row.svelte-a747ys{grid-template-columns:96px minmax(170px,1fr) minmax(110px,140px) minmax(110px,140px) minmax(220px,280px);align-items:start;gap:12px;display:grid}.budget-settings-period.svelte-a747ys{color:var(--text);letter-spacing:0;text-transform:uppercase;align-self:end;min-height:35px;padding-bottom:9px;font-size:12px;font-weight:700}.budget-settings-spacer.svelte-a747ys{min-height:1px}.budget-settings-help-cell.svelte-a747ys{align-self:start;min-width:0;min-height:35px}.budget-settings-help-cell.svelte-a747ys .inline-help-copy{max-width:280px;margin:22px 0 0;font-size:12px;line-height:1.35}@media (width<=768px){.budget-settings-grid.svelte-a747ys,.budget-settings-row.svelte-a747ys{grid-template-columns:1fr}.budget-settings-spacer.svelte-a747ys{display:none}}.tagging-settings-grid.svelte-18e8yem{gap:12px;display:grid}.tagging-settings-row.svelte-18e8yem{grid-template-columns:minmax(170px,1fr) minmax(150px,1fr) minmax(80px,110px) auto minmax(90px,auto);align-items:end;gap:12px;display:grid}.tagging-do-not-pass.svelte-18e8yem{color:var(--text);white-space:nowrap;align-items:center;gap:6px;min-height:35px;font-size:13px;display:flex}.tagging-row-trailer.svelte-18e8yem{align-items:center;gap:8px;min-height:35px;display:flex}.tagging-settings-empty.svelte-18e8yem{color:var(--text-muted);margin:0}.tagging-settings-actions.svelte-18e8yem{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.tagging-settings-row.svelte-18e8yem{grid-template-columns:1fr;align-items:stretch}.tagging-settings-actions.svelte-18e8yem,.tagging-settings-actions.svelte-18e8yem .btn{width:100%}}.pricing-recalculate-section.svelte-1cdxzyk{width:100%}.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:minmax(220px,320px) minmax(260px,360px);justify-content:start;align-items:end;gap:12px;width:100%;display:grid}.pricing-recalculate-date-field.svelte-1cdxzyk{grid-column:1/-1;width:100%;max-width:320px}.pricing-recalculate-filter-field.svelte-1cdxzyk{width:100%;max-width:360px}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker{width:100%}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-trigger{justify-content:space-between;width:100%}.pricing-recalculate-actions.svelte-1cdxzyk{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:1fr}.pricing-recalculate-actions.svelte-1cdxzyk,.pricing-recalculate-actions.svelte-1cdxzyk .btn{width:100%}}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-dropdown{inset:auto auto calc(100% + 6px) 0}.settings-refresh-icon.svelte-yeq2mp{flex:0 0 16px;width:16px;height:16px}.runtime-refresh-steps.svelte-yeq2mp{color:var(--text-muted);gap:8px;margin-top:14px;padding-left:18px;font-size:13px;display:grid}.runtime-refresh-step.is-ok.svelte-yeq2mp{color:var(--success)}.runtime-refresh-step.is-partial.svelte-yeq2mp{color:var(--warning)}.runtime-refresh-step.is-failed.svelte-yeq2mp{color:var(--danger)}.settings-version-footer.svelte-3naq7u{color:var(--text-muted);text-align:right;margin-top:24px;font-size:12px} diff --git a/internal/admin/dashboard/static/dist/index.html b/internal/admin/dashboard/static/dist/index.html index 7216f2857..14ce5c077 100644 --- a/internal/admin/dashboard/static/dist/index.html +++ b/internal/admin/dashboard/static/dist/index.html @@ -7,8 +7,8 @@ GoModel Dashboard - - + +
            diff --git a/web/dashboard/src/pages/budgets/BudgetList.svelte b/web/dashboard/src/pages/budgets/BudgetList.svelte index 0c4f60a90..4e52412e6 100644 --- a/web/dashboard/src/pages/budgets/BudgetList.svelte +++ b/web/dashboard/src/pages/budgets/BudgetList.svelte @@ -4,6 +4,7 @@ import Icon from "$lib/components/atoms/Icon.svelte"; import { timezone } from "$lib/stores/timezone.svelte.js"; import { formatCost } from "$lib/utils/format.js"; + import { labelColor } from "$lib/utils/chartTheme.js"; import { budgetsStore as store } from "./budgets.svelte.js"; import { budgetKey, @@ -18,6 +19,7 @@ budgetRemainingLabel, budgetScope, budgetScopeLabel, + budgetScopeValueClass, budgetSourceLabel, budgetSubject, budgetSourceTitle, @@ -47,21 +49,18 @@
            + {#if budgetScope(item) === "label"} + + {/if} {budgetSubject(item)}
            - {#if budgetScope(item) === "label"} - - - {budgetScopeLabel(item)} - - {/if} {budgetPeriodLabel(item)} diff --git a/web/dashboard/src/pages/budgets/BudgetsPage.svelte b/web/dashboard/src/pages/budgets/BudgetsPage.svelte index 8d592e619..d9ff6eaf3 100644 --- a/web/dashboard/src/pages/budgets/BudgetsPage.svelte +++ b/web/dashboard/src/pages/budgets/BudgetsPage.svelte @@ -66,7 +66,7 @@
            diff --git a/web/dashboard/src/pages/budgets/budgets-helpers.js b/web/dashboard/src/pages/budgets/budgets-helpers.js index b25f97ae6..215372694 100644 --- a/web/dashboard/src/pages/budgets/budgets-helpers.js +++ b/web/dashboard/src/pages/budgets/budgets-helpers.js @@ -56,6 +56,12 @@ export function budgetScopeLabel(item) { return budgetScopeMeta(budgetScope(item)).chip; } +// budgetScopeValueClass names the scope modifier for the shared +// .budget-scope-value subject styling. +export function budgetScopeValueClass(item) { + return budgetScope(item) === "label" ? "budget-label" : "budget-user-path"; +} + export function budgetSubjectFieldLabel(form) { return budgetScopeMeta(String((form && form.scope) || "")).fieldLabel; } diff --git a/web/dashboard/src/pages/overview/ProviderStatusSection.svelte b/web/dashboard/src/pages/overview/ProviderStatusSection.svelte index 67efdae47..2d774ad81 100644 --- a/web/dashboard/src/pages/overview/ProviderStatusSection.svelte +++ b/web/dashboard/src/pages/overview/ProviderStatusSection.svelte @@ -69,7 +69,8 @@ padding: 8px 12px; background: var(--bg-surface); border: 1px solid var(--border); - border-radius: 999px; + /* Matches .btn and .table-action-btn; only the switch itself stays round. */ + border-radius: 6px; color: var(--text); font-size: 12px; font-family: inherit; diff --git a/web/dashboard/src/pages/rate-limits/RateLimitInspector.svelte b/web/dashboard/src/pages/rate-limits/RateLimitInspector.svelte index 479755f63..1a2b4b65e 100644 --- a/web/dashboard/src/pages/rate-limits/RateLimitInspector.svelte +++ b/web/dashboard/src/pages/rate-limits/RateLimitInspector.svelte @@ -78,7 +78,7 @@ >
            - + {rateLimits.rateLimitSubject(item)}
            diff --git a/web/dashboard/src/pages/rate-limits/RateLimitList.svelte b/web/dashboard/src/pages/rate-limits/RateLimitList.svelte index 09f5de2d0..d02adc728 100644 --- a/web/dashboard/src/pages/rate-limits/RateLimitList.svelte +++ b/web/dashboard/src/pages/rate-limits/RateLimitList.svelte @@ -15,7 +15,7 @@
            { assert.equal(budgetSubjectPlaceholder({ scope: "user_path" }), "/team/alpha"); }); +test("budgetScopeValueClass picks the scope modifier for the shared subject style", () => { + assert.equal(budgetScopeValueClass({ scope: "label", subject: "iOS" }), "budget-label"); + assert.equal(budgetScopeValueClass({ scope: "user_path", subject: "/team" }), "budget-user-path"); + // A row predating scopes still styles as a user path. + assert.equal(budgetScopeValueClass({ user_path: "/team" }), "budget-user-path"); +}); + test("syncBudgetScope resets the subject so a path is never sent as a label", () => { const form = { scope: "label", subject: "/team" }; syncBudgetScope(form);