omnigateway 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/gateway.js CHANGED
@@ -37988,7 +37988,18 @@ function parseDataUrl(url2) {
37988
37988
  return { mediaType: match[1], data: match[2] };
37989
37989
  }
37990
37990
 
37991
- // apps/gateway/src/routes/admin.ts
37991
+ // apps/gateway/src/routes/http.ts
37992
+ function readCookie(request2, name) {
37993
+ const header = request2.headers.get("cookie");
37994
+ if (header === null)
37995
+ return null;
37996
+ for (const part of header.split(";")) {
37997
+ const [key, ...rest] = part.trim().split("=");
37998
+ if (key === name)
37999
+ return rest.join("=");
38000
+ }
38001
+ return null;
38002
+ }
37992
38003
  function sessionCookie(request2, token, maxAge) {
37993
38004
  const secure = new URL(request2.url).protocol === "https:" ? ["Secure"] : [];
37994
38005
  return [
@@ -38000,38 +38011,36 @@ function sessionCookie(request2, token, maxAge) {
38000
38011
  `Max-Age=${maxAge}`
38001
38012
  ].join("; ");
38002
38013
  }
38003
- function readCookie(request2, name) {
38004
- const header = request2.headers.get("cookie");
38005
- if (header === null)
38006
- return null;
38007
- for (const part of header.split(";")) {
38008
- const [key, ...rest] = part.trim().split("=");
38009
- if (key === name)
38010
- return rest.join("=");
38014
+ async function requireAdmin(request2, admin) {
38015
+ const token = readCookie(request2, ADMIN_COOKIE);
38016
+ if (token === null || !await admin.verify(token)) {
38017
+ throw new GatewayError("AUTH", "admin session required");
38011
38018
  }
38012
- return null;
38013
38019
  }
38014
- async function jsonRecord(request2) {
38020
+ async function readJson(request2) {
38015
38021
  try {
38016
- const body2 = await request2.json();
38017
- return isRecord3(body2) ? body2 : null;
38018
- } catch {
38019
- return null;
38022
+ return await request2.json();
38023
+ } catch (error51) {
38024
+ if (!(error51 instanceof SyntaxError))
38025
+ throw error51;
38026
+ throw new GatewayError("BAD_REQUEST", "invalid JSON body");
38020
38027
  }
38021
38028
  }
38029
+ async function readJsonRecord(request2) {
38030
+ const body2 = await readJson(request2);
38031
+ return isRecord3(body2) ? body2 : null;
38032
+ }
38033
+ function apiErrorResponse(error51) {
38034
+ const gatewayError = error51 instanceof GatewayError ? error51 : new GatewayError("INTERNAL", "internal error");
38035
+ return Response.json({ error: { code: gatewayError.code, message: gatewayError.message } }, { status: HTTP_STATUS[gatewayError.code] });
38036
+ }
38037
+ function apiErrorHandler(input) {
38038
+ return input.code === "NOT_FOUND" ? undefined : apiErrorResponse(input.error);
38039
+ }
38040
+
38041
+ // apps/gateway/src/routes/admin.ts
38022
38042
  function adminRoutes(deps) {
38023
- const app = new Elysia().onError(({ error: error51, set: set2 }) => {
38024
- const gatewayError = error51 instanceof GatewayError ? error51 : new GatewayError("INTERNAL", "internal error");
38025
- set2.status = HTTP_STATUS[gatewayError.code];
38026
- return { error: { code: gatewayError.code, message: gatewayError.message } };
38027
- });
38028
- async function requireAdmin(request2) {
38029
- const token = readCookie(request2, ADMIN_COOKIE);
38030
- if (token === null || !await deps.admin.verify(token)) {
38031
- throw new GatewayError("AUTH", "admin session required");
38032
- }
38033
- }
38034
- return app.get("/api/status", async ({ request: request2 }) => {
38043
+ return new Elysia().onError(apiErrorHandler).get("/api/status", async ({ request: request2 }) => {
38035
38044
  const token = readCookie(request2, ADMIN_COOKIE);
38036
38045
  return {
38037
38046
  configured: await deps.admin.isConfigured(),
@@ -38042,7 +38051,7 @@ function adminRoutes(deps) {
38042
38051
  set2.status = 409;
38043
38052
  return { error: { code: "CONFLICT", message: "an admin password is already configured" } };
38044
38053
  }
38045
- const body2 = await jsonRecord(request2);
38054
+ const body2 = await readJsonRecord(request2);
38046
38055
  if (typeof body2?.password !== "string") {
38047
38056
  throw new GatewayError("BAD_REQUEST", "password is required");
38048
38057
  }
@@ -38062,7 +38071,7 @@ function adminRoutes(deps) {
38062
38071
  set2.headers["set-cookie"] = sessionCookie(request2, token, Math.floor(deps.sessionTtlMs / 1000));
38063
38072
  return { ok: true };
38064
38073
  }).post("/api/login", async ({ request: request2, set: set2 }) => {
38065
- const body2 = await jsonRecord(request2);
38074
+ const body2 = await readJsonRecord(request2);
38066
38075
  const token = typeof body2?.password === "string" ? await deps.admin.login(body2.password) : null;
38067
38076
  if (token === null)
38068
38077
  throw new GatewayError("AUTH", "invalid password");
@@ -38075,52 +38084,52 @@ function adminRoutes(deps) {
38075
38084
  set2.headers["set-cookie"] = sessionCookie(request2, "", 0);
38076
38085
  return { ok: true };
38077
38086
  }).get("/api/credentials", async ({ request: request2 }) => {
38078
- await requireAdmin(request2);
38087
+ await requireAdmin(request2, deps.admin);
38079
38088
  return { credentials: await listCredentials(deps.store) };
38080
38089
  }).get("/api/credentials/health", async ({ request: request2 }) => {
38081
- await requireAdmin(request2);
38090
+ await requireAdmin(request2, deps.admin);
38082
38091
  return credentialHealth(deps.store);
38083
38092
  }).patch("/api/credentials/:id", async ({ request: request2, params }) => {
38084
- await requireAdmin(request2);
38085
- await patchCredential(deps, params.id, await request2.json());
38093
+ await requireAdmin(request2, deps.admin);
38094
+ await patchCredential(deps, params.id, await readJson(request2));
38086
38095
  return { ok: true };
38087
38096
  }).delete("/api/credentials/:id", async ({ request: request2, params }) => {
38088
- await requireAdmin(request2);
38097
+ await requireAdmin(request2, deps.admin);
38089
38098
  await removeCredential(deps.store, params.id);
38090
38099
  return { ok: true };
38091
38100
  }).get("/api/models", async ({ request: request2 }) => {
38092
- await requireAdmin(request2);
38101
+ await requireAdmin(request2, deps.admin);
38093
38102
  return { models: await listModels(deps.store) };
38094
38103
  }).put("/api/models/:id", async ({ request: request2, params }) => {
38095
- await requireAdmin(request2);
38096
- await putModel(deps.store, params.id, await request2.json());
38104
+ await requireAdmin(request2, deps.admin);
38105
+ await putModel(deps.store, params.id, await readJson(request2));
38097
38106
  return { ok: true };
38098
38107
  }).delete("/api/models/:id", async ({ request: request2, params }) => {
38099
- await requireAdmin(request2);
38108
+ await requireAdmin(request2, deps.admin);
38100
38109
  await removeModel(deps.store, params.id);
38101
38110
  return { ok: true };
38102
38111
  }).get("/api/keys", async ({ request: request2 }) => {
38103
- await requireAdmin(request2);
38112
+ await requireAdmin(request2, deps.admin);
38104
38113
  return { keys: await listKeys(deps.store) };
38105
38114
  }).post("/api/keys", async ({ request: request2 }) => {
38106
- await requireAdmin(request2);
38107
- return createKey(deps.store, await request2.json());
38115
+ await requireAdmin(request2, deps.admin);
38116
+ return createKey(deps.store, await readJson(request2));
38108
38117
  }).delete("/api/keys/:id", async ({ request: request2, params }) => {
38109
- await requireAdmin(request2);
38118
+ await requireAdmin(request2, deps.admin);
38110
38119
  await revokeKey(deps.store, params.id);
38111
38120
  return { ok: true };
38112
38121
  }).get("/api/settings", async ({ request: request2 }) => {
38113
- await requireAdmin(request2);
38122
+ await requireAdmin(request2, deps.admin);
38114
38123
  return { settings: await getSettings(deps.store) };
38115
38124
  }).put("/api/settings", async ({ request: request2 }) => {
38116
- await requireAdmin(request2);
38117
- await putSettings(deps.store, await request2.json());
38125
+ await requireAdmin(request2, deps.admin);
38126
+ await putSettings(deps.store, await readJson(request2));
38118
38127
  return { ok: true };
38119
38128
  }).post("/api/models/:id/dry-run", async ({ request: request2, params }) => {
38120
- await requireAdmin(request2);
38121
- return dryRun(deps, params.id, await request2.json());
38129
+ await requireAdmin(request2, deps.admin);
38130
+ return dryRun(deps, params.id, await readJson(request2));
38122
38131
  }).get("/api/usage", async ({ request: request2, query }) => {
38123
- await requireAdmin(request2);
38132
+ await requireAdmin(request2, deps.admin);
38124
38133
  return {
38125
38134
  rows: await queryUsage(deps, {
38126
38135
  grain: query.grain,
@@ -38131,70 +38140,29 @@ function adminRoutes(deps) {
38131
38140
  })
38132
38141
  };
38133
38142
  }).get("/api/logs", async ({ request: request2, query }) => {
38134
- await requireAdmin(request2);
38143
+ await requireAdmin(request2, deps.admin);
38135
38144
  return { logs: await recentLogs(deps.store, query.limit) };
38136
38145
  });
38137
38146
  }
38138
38147
 
38139
38148
  // apps/gateway/src/routes/connect.ts
38140
- function asGatewayError(error51) {
38141
- if (error51 instanceof GatewayError)
38142
- return error51;
38143
- return new GatewayError("INTERNAL", error51 instanceof Error ? error51.message : "internal error");
38144
- }
38145
- function errorResponse(error51) {
38146
- const gatewayError = asGatewayError(error51);
38147
- return new Response(JSON.stringify({ error: { code: gatewayError.code, message: gatewayError.message } }), {
38148
- status: HTTP_STATUS[gatewayError.code],
38149
- headers: { "content-type": "application/json" }
38150
- });
38151
- }
38152
- function readCookie2(request2, name) {
38153
- const header = request2.headers.get("cookie");
38154
- if (header === null)
38155
- return null;
38156
- for (const part of header.split(";")) {
38157
- const [key, ...rest] = part.trim().split("=");
38158
- if (key === name)
38159
- return rest.join("=");
38160
- }
38161
- return null;
38162
- }
38163
38149
  function connectRoutes(deps) {
38164
38150
  const flows = createConnectFlows(deps);
38165
- async function requireAdmin(request2) {
38166
- const token = readCookie2(request2, ADMIN_COOKIE);
38167
- if (token === null || !await deps.admin.verify(token)) {
38168
- throw new GatewayError("AUTH", "admin session required");
38169
- }
38170
- }
38171
- return new Elysia().post("/api/connect/start", async ({ request: request2 }) => {
38172
- try {
38173
- await requireAdmin(request2);
38174
- const body2 = await request2.json();
38175
- return await flows.start(isRecord3(body2) ? body2.provider : undefined, isRecord3(body2) ? body2.label : undefined);
38176
- } catch (error51) {
38177
- return errorResponse(error51);
38178
- }
38151
+ return new Elysia().onError(apiErrorHandler).post("/api/connect/start", async ({ request: request2 }) => {
38152
+ await requireAdmin(request2, deps.admin);
38153
+ const body2 = await readJsonRecord(request2);
38154
+ return flows.start(body2?.provider, body2?.label);
38179
38155
  }).post("/api/connect/finish", async ({ request: request2 }) => {
38180
- try {
38181
- await requireAdmin(request2);
38182
- const body2 = await request2.json();
38183
- return await flows.finish(isRecord3(body2) ? body2.flowId : undefined, isRecord3(body2) ? body2.code : undefined);
38184
- } catch (error51) {
38185
- return errorResponse(error51);
38186
- }
38156
+ await requireAdmin(request2, deps.admin);
38157
+ const body2 = await readJsonRecord(request2);
38158
+ return flows.finish(body2?.flowId, body2?.code);
38187
38159
  }).post("/api/connect/poll", async ({ request: request2, set: set2 }) => {
38188
- try {
38189
- await requireAdmin(request2);
38190
- const body2 = await request2.json();
38191
- const outcome = await flows.poll(isRecord3(body2) ? body2.flowId : undefined);
38192
- if (outcome.status === "pending")
38193
- set2.status = 202;
38194
- return outcome;
38195
- } catch (error51) {
38196
- return errorResponse(error51);
38197
- }
38160
+ await requireAdmin(request2, deps.admin);
38161
+ const body2 = await readJsonRecord(request2);
38162
+ const outcome = await flows.poll(body2?.flowId);
38163
+ if (outcome.status === "pending")
38164
+ set2.status = 202;
38165
+ return outcome;
38198
38166
  });
38199
38167
  }
38200
38168
 
@@ -38233,6 +38201,73 @@ function extractToken(header) {
38233
38201
  return match === null ? value : match[1].trim();
38234
38202
  }
38235
38203
 
38204
+ // apps/gateway/src/logging.ts
38205
+ function requestLogDefaults(id, at) {
38206
+ return {
38207
+ id,
38208
+ state: "done",
38209
+ at,
38210
+ apiKeyId: null,
38211
+ requestedModel: "",
38212
+ resolvedProvider: null,
38213
+ resolvedModel: null,
38214
+ credentialId: null,
38215
+ attempts: 0,
38216
+ status: 0,
38217
+ errorCode: null,
38218
+ inputTokens: 0,
38219
+ outputTokens: 0,
38220
+ cacheReadTokens: 0,
38221
+ cacheWriteTokens: 0,
38222
+ ttftMs: null,
38223
+ durationMs: 0,
38224
+ costUsd: 0,
38225
+ degradations: []
38226
+ };
38227
+ }
38228
+ function newCompletedRequestLog(id, at, overrides) {
38229
+ return { ...requestLogDefaults(id, at), ...overrides, id, state: "done", at };
38230
+ }
38231
+ function newPendingRequestLog(input) {
38232
+ const { id, at, requestedModel, resolvedProvider, resolvedModel, credentialId } = input;
38233
+ return {
38234
+ ...requestLogDefaults(id, at),
38235
+ requestedModel,
38236
+ resolvedProvider,
38237
+ resolvedModel,
38238
+ credentialId,
38239
+ state: "pending",
38240
+ status: 0
38241
+ };
38242
+ }
38243
+ function report(what, requestId, error51) {
38244
+ console.error(what, {
38245
+ requestId,
38246
+ reason: error51 instanceof Error ? error51.message : "unknown"
38247
+ });
38248
+ }
38249
+ async function beginLog(store, log, keyId) {
38250
+ try {
38251
+ await store.usage.begin({ ...log, state: "pending", apiKeyId: keyId });
38252
+ } catch (error51) {
38253
+ report("failed to record request start", log.id, error51);
38254
+ }
38255
+ }
38256
+ async function routeLog(store, requestId, target) {
38257
+ try {
38258
+ await store.usage.route(requestId, target);
38259
+ } catch (error51) {
38260
+ report("failed to record request route", requestId, error51);
38261
+ }
38262
+ }
38263
+ async function finishLog(store, log, keyId) {
38264
+ try {
38265
+ await store.usage.append({ ...log, apiKeyId: keyId });
38266
+ } catch (error51) {
38267
+ report("failed to persist request log", log.id, error51);
38268
+ }
38269
+ }
38270
+
38236
38271
  // apps/gateway/src/dispatch/attempt.ts
38237
38272
  async function attempt(opts) {
38238
38273
  const { candidate, adapter, http, now, signal, refresh, refreshLeadMs } = opts;
@@ -38286,31 +38321,14 @@ function classify(error51) {
38286
38321
  }
38287
38322
 
38288
38323
  // apps/gateway/src/dispatch/index.ts
38289
- async function dispatch(request2, deps, signal) {
38324
+ async function dispatch(request2, deps, signal, requestId) {
38290
38325
  const startedAt = deps.now();
38291
38326
  const snapshot = await deps.snapshots.get(startedAt);
38292
38327
  const deadlineAt = startedAt + snapshot.settings.requestDeadlineMs;
38293
- const log = {
38294
- id: crypto.randomUUID(),
38295
- state: "done",
38296
- at: startedAt,
38297
- apiKeyId: null,
38328
+ const log = newCompletedRequestLog(requestId, startedAt, {
38298
38329
  requestedModel: request2.model,
38299
- resolvedProvider: null,
38300
- resolvedModel: null,
38301
- credentialId: null,
38302
- attempts: 0,
38303
- status: 200,
38304
- errorCode: null,
38305
- inputTokens: 0,
38306
- outputTokens: 0,
38307
- cacheReadTokens: 0,
38308
- cacheWriteTokens: 0,
38309
- ttftMs: null,
38310
- durationMs: 0,
38311
- costUsd: 0,
38312
- degradations: []
38313
- };
38330
+ status: 0
38331
+ });
38314
38332
  const fail = (code, message) => {
38315
38333
  log.errorCode = code;
38316
38334
  log.status = HTTP_STATUS[code];
@@ -39185,35 +39203,6 @@ function parseOpenAIRequest(body2) {
39185
39203
  return validateRequest(request2);
39186
39204
  }
39187
39205
 
39188
- // apps/gateway/src/logging.ts
39189
- function report(what, requestId, error51) {
39190
- console.error(what, {
39191
- requestId,
39192
- reason: error51 instanceof Error ? error51.message : "unknown"
39193
- });
39194
- }
39195
- async function beginLog(store, log, keyId) {
39196
- try {
39197
- await store.usage.begin({ ...log, state: "pending", apiKeyId: keyId });
39198
- } catch (error51) {
39199
- report("failed to record request start", log.id, error51);
39200
- }
39201
- }
39202
- async function routeLog(store, requestId, target) {
39203
- try {
39204
- await store.usage.route(requestId, target);
39205
- } catch (error51) {
39206
- report("failed to record request route", requestId, error51);
39207
- }
39208
- }
39209
- async function finishLog(store, log, keyId) {
39210
- try {
39211
- await store.usage.append({ ...log, apiKeyId: keyId });
39212
- } catch (error51) {
39213
- report("failed to persist request log", log.id, error51);
39214
- }
39215
- }
39216
-
39217
39206
  // apps/gateway/src/routes/proxy.ts
39218
39207
  var KEEPALIVE_MS = 1e4;
39219
39208
  var KEEPALIVE = Symbol("keepalive");
@@ -39230,14 +39219,14 @@ var SSE_HEADERS = {
39230
39219
  connection: "keep-alive",
39231
39220
  "x-accel-buffering": "no"
39232
39221
  };
39233
- function errorResponse2(surface, code, message3) {
39222
+ function errorResponse(surface, code, message3) {
39234
39223
  const body2 = surface === "anthropic" ? anthropicErrorBody(code, message3) : openaiErrorBody(code, message3);
39235
39224
  return new Response(JSON.stringify(body2), {
39236
39225
  status: HTTP_STATUS[code],
39237
39226
  headers: { "content-type": "application/json" }
39238
39227
  });
39239
39228
  }
39240
- function asGatewayError2(error51) {
39229
+ function asGatewayError(error51) {
39241
39230
  if (error51 instanceof GatewayError)
39242
39231
  return error51;
39243
39232
  return new GatewayError("INTERNAL", error51 instanceof Error ? error51.message : "internal error");
@@ -39309,29 +39298,18 @@ async function handle(deps, rateLimiter, surface, request2) {
39309
39298
  return;
39310
39299
  }
39311
39300
  began = true;
39312
- await beginLog(deps.store, {
39301
+ const log2 = newPendingRequestLog({
39313
39302
  id: requestId,
39314
39303
  at: startedAt,
39315
- apiKeyId: keyId,
39316
39304
  requestedModel,
39317
39305
  resolvedProvider: target.provider,
39318
39306
  resolvedModel: target.model,
39319
- credentialId: target.credentialId,
39320
- attempts: 0,
39321
- status: 0,
39322
- errorCode: null,
39323
- inputTokens: 0,
39324
- outputTokens: 0,
39325
- cacheReadTokens: 0,
39326
- cacheWriteTokens: 0,
39327
- ttftMs: null,
39328
- durationMs: 0,
39329
- costUsd: 0,
39330
- degradations: []
39331
- }, keyId);
39332
- }
39333
- }, request2.signal);
39334
- const log = () => finishLog(deps.store, { ...outcome.log(), id: requestId }, keyId);
39307
+ credentialId: target.credentialId
39308
+ });
39309
+ await beginLog(deps.store, log2, keyId);
39310
+ }
39311
+ }, request2.signal, requestId);
39312
+ const log = () => finishLog(deps.store, outcome.log(), keyId);
39335
39313
  if (chatRequest.stream) {
39336
39314
  const frames = surface === "anthropic" ? anthropicStream(outcome.events, requestId) : openaiStream(outcome.events, requestId, Math.floor(deps.now() / 1000));
39337
39315
  return sseResponse(frames, log, deps.keepaliveMs);
@@ -39342,7 +39320,7 @@ async function handle(deps, rateLimiter, surface, request2) {
39342
39320
  await log();
39343
39321
  const failure = events.find((e) => e.type === "error");
39344
39322
  if (failure !== undefined)
39345
- return errorResponse2(surface, failure.code, failure.message);
39323
+ return errorResponse(surface, failure.code, failure.message);
39346
39324
  const collected = collect(events);
39347
39325
  const responseBody = surface === "anthropic" ? anthropicResponse(collected, requestId) : openaiResponse(collected, requestId, Math.floor(deps.now() / 1000));
39348
39326
  return new Response(JSON.stringify(responseBody), {
@@ -39350,29 +39328,13 @@ async function handle(deps, rateLimiter, surface, request2) {
39350
39328
  headers: { "content-type": "application/json" }
39351
39329
  });
39352
39330
  } catch (error51) {
39353
- const gatewayError = asGatewayError2(error51);
39354
- await finishLog(deps.store, {
39355
- id: requestId,
39356
- state: "done",
39357
- at: startedAt,
39358
- apiKeyId: keyId,
39331
+ const gatewayError = asGatewayError(error51);
39332
+ await finishLog(deps.store, newCompletedRequestLog(requestId, startedAt, {
39359
39333
  requestedModel,
39360
- resolvedProvider: null,
39361
- resolvedModel: null,
39362
- credentialId: null,
39363
- attempts: 0,
39364
39334
  status: HTTP_STATUS[gatewayError.code],
39365
- errorCode: gatewayError.code,
39366
- inputTokens: 0,
39367
- outputTokens: 0,
39368
- cacheReadTokens: 0,
39369
- cacheWriteTokens: 0,
39370
- ttftMs: null,
39371
- durationMs: 0,
39372
- costUsd: 0,
39373
- degradations: []
39374
- }, keyId);
39375
- return errorResponse2(surface, gatewayError.code, gatewayError.message);
39335
+ errorCode: gatewayError.code
39336
+ }), keyId);
39337
+ return errorResponse(surface, gatewayError.code, gatewayError.message);
39376
39338
  }
39377
39339
  }
39378
39340
  function proxyRoutes(deps) {
@@ -39397,12 +39359,12 @@ function proxyRoutes(deps) {
39397
39359
  }))
39398
39360
  });
39399
39361
  } catch (error51) {
39400
- const gatewayError = asGatewayError2(error51);
39401
- return errorResponse2("anthropic", gatewayError.code, gatewayError.message);
39362
+ const gatewayError = asGatewayError(error51);
39363
+ return errorResponse("anthropic", gatewayError.code, gatewayError.message);
39402
39364
  }
39403
39365
  }).onError(({ error: error51 }) => {
39404
- const gatewayError = asGatewayError2(error51);
39405
- return errorResponse2("anthropic", gatewayError.code, gatewayError.message);
39366
+ const gatewayError = asGatewayError(error51);
39367
+ return errorResponse("anthropic", gatewayError.code, gatewayError.message);
39406
39368
  });
39407
39369
  }
39408
39370
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnigateway",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Self-hosted AI gateway with Anthropic- and OpenAI-compatible APIs, an admin console, and a CLI",
5
5
  "license": "MIT",
6
6
  "author": "Harismawan <mail@harismawan.com>",
@@ -1,4 +1,4 @@
1
- import{L as e,N as t,Ot as n,V as r,kt as i,qt as a}from"./queries-BMwc6EvM.js";import{m as o}from"./Rack-DnbGnBvz.js";var s=o(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),c=o(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),l=a(i(),1);function u(e){if(e===null||typeof getSelection!=`function`)return!1;let t=getSelection();if(t===null)return!1;try{let n=document.createRange();return n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),!0}catch{return!1}}async function d(e,t){if(typeof navigator<`u`&&navigator.clipboard!==void 0)try{return await navigator.clipboard.writeText(e),`copied`}catch{}let n=u(t??null);if(n&&typeof document.execCommand==`function`)try{if(document.execCommand(`copy`))return`copied`}catch{}return n?`selected`:`failed`}var f=n(),p=r.div`
1
+ import{L as e,N as t,Ot as n,V as r,kt as i,qt as a}from"./queries-BMwc6EvM.js";import{m as o}from"./Rack-CRQSwSeB.js";var s=o(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),c=o(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),l=a(i(),1);function u(e){if(e===null||typeof getSelection!=`function`)return!1;let t=getSelection();if(t===null)return!1;try{let n=document.createRange();return n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),!0}catch{return!1}}async function d(e,t){if(typeof navigator<`u`&&navigator.clipboard!==void 0)try{return await navigator.clipboard.writeText(e),`copied`}catch{}let n=u(t??null);if(n&&typeof document.execCommand==`function`)try{if(document.execCommand(`copy`))return`copied`}catch{}return n?`selected`:`failed`}var f=n(),p=r.div`
2
2
  display: flex;
3
3
  align-items: stretch;
4
4
  gap: 0;
@@ -1,4 +1,4 @@
1
- import{L as e,M as t,O as n,Ot as r,V as i,W as a,kt as o,qt as s}from"./queries-BMwc6EvM.js";import{m as c}from"./Rack-DnbGnBvz.js";var l=c(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),u=s(o(),1),d=Object.defineProperty,f=(e,t)=>d(e,`name`,{value:t,configurable:!0});function p(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}f(p,`setRef`);function m(...e){return t=>{let n=!1,r=e.map(e=>{let r=p(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():p(e[t],null)}}}}f(m,`composeRefs`);function h(...e){return u.useCallback(m(...e),e)}f(h,`useComposedRefs`);var g=r(),_=s(a(),1),v=Object.defineProperty,y=(e,t)=>v(e,`name`,{value:t,configurable:!0});function b(e){let t=u.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];E(r)&&typeof ie==`function`&&(r=ie(r._payload)),u.Children.forEach(r,e=>{if(ee(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;E(n)&&typeof ie==`function`&&(n=ie(n._payload)),a=C(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=u.cloneElement(a,void 0,s):!o&&u.Children.count(r)===1&&u.isValidElement(r)&&(a=r);let c=a?T(a):void 0,l=h(n,c);if(!a){if(r||r===0)throw Error(o?re(e):ne(e));return r}let d=w(i,a.props??{});return a.type!==u.Fragment&&(d.ref=n?l:c),u.cloneElement(a,d)});return t.displayName=`${e}.Slot`,t}y(b,`createSlot`);var x=Symbol.for(`radix.slottable`);function S(e){let t=y(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=x,t}y(S,`createSlottable`);var C=y((e,t)=>{if(`child`in e.props){let t=e.props.child;return u.isValidElement(t)?u.cloneElement(t,void 0,e.props.children(t.props.children)):null}return u.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function w(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}y(w,`mergeProps`);function T(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}y(T,`getElementRef`);function ee(e){return u.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===x}y(ee,`isSlottable`);var te=Symbol.for(`react.lazy`);function E(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===te&&`_payload`in e&&D(e._payload)}y(E,`isLazyComponent`);function D(e){return typeof e==`object`&&!!e&&`then`in e}y(D,`isPromiseLike`);var ne=y(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),re=y(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),ie=u.use,ae=Object.defineProperty,oe=(e,t)=>ae(e,`name`,{value:t,configurable:!0}),O=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=b(`Primitive.${t}`),r=u.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function se(e,t){e&&_.flushSync(()=>e.dispatchEvent(t))}oe(se,`dispatchDiscreteCustomEvent`);var ce=Object.defineProperty,k=(e,t)=>ce(e,`name`,{value:t,configurable:!0});function le(e,t){let n=u.createContext(t);n.displayName=e+`Context`;let r=k(e=>{let{children:t,...r}=e,i=u.useMemo(()=>r,Object.values(r));return(0,g.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,o=u.useContext(n);if(o)return o;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return k(i,`useContext`),[r,i]}k(le,`createContext`);function ue(e,t=[]){let n=[];function r(t,r){let i=u.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=k(t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=u.useMemo(()=>o,Object.values(o));return(0,g.jsx)(s.Provider,{value:c,children:r})},`Provider`);o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,d=u.useContext(l);if(d)return d;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return k(s,`useContext`),[o,s]}k(r,`createContext`);let i=k(()=>{let t=n.map(e=>u.createContext(e));return k(function(n){let r=n?.[e]||t;return u.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,de(i,...t)]}k(ue,`createContextScope`);function de(...e){let t=e[0];if(e.length===1)return t;let n=k(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return k(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return u.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}k(de,`composeContextScopes`);var fe=Object.defineProperty,A=(e,t)=>fe(e,`name`,{value:t,configurable:!0}),pe=!!(typeof window<`u`&&window.document&&window.document.createElement);function j(e,t,{checkForDefaultPrevented:n=!0}={}){return A(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}A(j,`composeEventHandlers`);function me(e){if(!pe)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}A(me,`getOwnerWindow`);function he(e){if(!pe)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}A(he,`getOwnerDocument`);function ge(e,t=!1){let{activeElement:n}=he(e);if(!n?.nodeName)return null;if(_e(n)&&n.contentDocument)return ge(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=he(n).getElementById(e);if(t)return t}}return n}A(ge,`getActiveElement`);function _e(e){return e.tagName===`IFRAME`}A(_e,`isFrame`);var M=globalThis?.document?u.useLayoutEffect:()=>{},ve=Object.defineProperty,ye=(e,t)=>ve(e,`name`,{value:t,configurable:!0}),be=u.useEffectEvent,xe=u.useInsertionEffect;function Se(e){if(typeof be==`function`)return be(e);let t=u.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof xe==`function`?xe(()=>{t.current=e}):M(()=>{t.current=e}),u.useMemo(()=>((...e)=>t.current?.(...e)),[])}ye(Se,`useEffectEvent`);var Ce=Object.defineProperty,N=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),we=u.useInsertionEffect||M;function Te({prop:e,defaultProp:t,onChange:n=N(()=>{},`onChange`),caller:r}){let[i,a,o]=Ee({defaultProp:t,onChange:n}),s=e!==void 0;return[s?e:i,u.useCallback(t=>{if(s){let n=De(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}N(Te,`useControllableState`);function Ee({defaultProp:e,onChange:t}){let[n,r]=u.useState(e),i=u.useRef(n),a=u.useRef(t);return we(()=>{a.current=t},[t]),u.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}N(Ee,`useUncontrolledState`);function De(e){return typeof e==`function`}N(De,`isFunction`);var Oe=Symbol(`RADIX:SYNC_STATE`);function ke(e,t,n,r){let{prop:i,defaultProp:a,onChange:o,caller:s}=t,c=i!==void 0,l=Se(o),d=[{...n,state:a}];r&&d.push(r);let[f,p]=u.useReducer((t,n)=>{if(n.type===Oe)return{...t,state:n.state};let r=e(t,n);return c&&!Object.is(r.state,t.state)&&l(r.state),r},...d),m=f.state,h=u.useRef(m);u.useEffect(()=>{h.current!==m&&(h.current=m,c||l(m))},[m,h,c]);let g=u.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return u.useEffect(()=>{c&&!Object.is(i,f.state)&&p({type:Oe,state:i})},[i,f.state,c]),[g,p]}N(ke,`useControllableStateReducer`);var Ae=Object.defineProperty,P=(e,t)=>Ae(e,`name`,{value:t,configurable:!0});function je(e,t){return u.useReducer((e,n)=>t[e][n]??e,e)}P(je,`useStateMachine`);var Me=P(e=>{let{present:t,children:n}=e,r=Ne(t),i=typeof n==`function`?n({present:r.isPresent}):u.Children.only(n),a=Fe(r.ref,Ie(i));return typeof n==`function`||r.isPresent?u.cloneElement(i,{ref:a}):null},`Presence`);function Ne(e){let[t,n]=u.useState(),r=u.useRef(null),i=u.useRef(e),a=u.useRef(`none`),o=u.useRef(void 0),[s,c]=je(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return u.useEffect(()=>{s===`mounted`?(a.current=o.current??F(r.current),o.current=void 0):a.current=`none`},[s]),M(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=F(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),M(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=P(a=>{let o=F(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=P(e=>{e.target===t&&(a.current=F(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:u.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=F(t)}else r.current=null;n(e)},[])}}P(Ne,`usePresence`);function Pe(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}P(Pe,`setRef`);function Fe(...e){let t=u.useRef(e);return t.current=e,u.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=Pe(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():Pe(n[e],null)}}},[])}P(Fe,`useStableComposedRefs`);function F(e){return e?.animationName||`none`}P(F,`getAnimationName`);function Ie(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}P(Ie,`getElementRef`);var Le=Object.defineProperty,Re=(e,t)=>Le(e,`name`,{value:t,configurable:!0}),ze=u.useId||(()=>void 0),Be=0;function I(e){let[t,n]=u.useState(ze());return M(()=>{e||n(e=>e??String(Be++))},[e]),e||(t?`radix-${t}`:``)}Re(I,`useId`);var Ve=Object.defineProperty,He=(e,t)=>Ve(e,`name`,{value:t,configurable:!0});function L(e){let t=u.useRef(e);return u.useEffect(()=>{t.current=e}),u.useMemo(()=>((...e)=>t.current?.(...e)),[])}He(L,`useCallbackRef`);var Ue=Object.defineProperty,R=(e,t)=>Ue(e,`name`,{value:t,configurable:!0}),We=`dismissableLayer.update`,Ge=`dismissableLayer.pointerDownOutside`,Ke=`dismissableLayer.focusOutside`,qe,Je=u.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Ye=u.forwardRef(R(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,d=u.useContext(Je),[f,p]=u.useState(null),m=f?.ownerDocument??globalThis?.document,[,_]=u.useState({}),v=h(t,p),y=Array.from(d.layers),[b]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),x=b?y.indexOf(b):-1,S=f?y.indexOf(f):-1,C=d.layersWithOutsidePointerEventsDisabled.size>0,w=S>=x,T=u.useRef(!1),ee=Qe(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:m,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:T,dismissableSurfaces:d.dismissableSurfaces,shouldHandlePointerDownOutside:u.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...d.branches].some(t=>t.contains(e));return w&&!t},[d.branches,w])}),te=$e(e=>{if(r&&T.current)return;let t=e.target;[...d.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},m),E=f?S===y.length-1:!1,D=L(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return u.useEffect(()=>{if(E)return m.addEventListener(`keydown`,D,{capture:!0}),()=>m.removeEventListener(`keydown`,D,{capture:!0})},[m,E,D]),u.useEffect(()=>{if(f)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(qe=m.body.style.pointerEvents,m.body.style.pointerEvents=`none`),d.layersWithOutsidePointerEventsDisabled.add(f)),d.layers.add(f),et(),()=>{n&&(d.layersWithOutsidePointerEventsDisabled.delete(f),d.layersWithOutsidePointerEventsDisabled.size===0&&(m.body.style.pointerEvents=qe))}},[f,m,n,d]),u.useEffect(()=>()=>{f&&(d.layers.delete(f),d.layersWithOutsidePointerEventsDisabled.delete(f),et())},[f,d]),u.useEffect(()=>{let e=R(()=>_({}),`handleUpdate`);return document.addEventListener(We,e),()=>document.removeEventListener(We,e)},[]),(0,g.jsx)(O.div,{...l,ref:v,style:{pointerEvents:C?w?`auto`:`none`:void 0,...e.style},onFocusCapture:j(e.onFocusCapture,te.onFocusCapture),onBlurCapture:j(e.onBlurCapture,te.onBlurCapture),onPointerDownCapture:j(e.onPointerDownCapture,ee.onPointerDownCapture)})},`DismissableLayer`));function Xe(){let e=u.useContext(Je),[t,n]=u.useState(null);return u.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}R(Xe,`useDismissableLayerSurface`);var Ze=R(()=>!0,`IS_TRUE`);function Qe(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=Ze}=t,s=L(e),c=u.useRef(!1),l=u.useRef(!1),d=u.useRef(new Map),f=u.useRef(()=>{});return u.useEffect(()=>{function e(){l.current=!1,i.current=!1,d.current.clear()}R(e,`resetOutsideInteraction`);function t(){return Array.from(d.current.values()).some(Boolean)}R(t,`isOutsideInteractionIntercepted`);function u(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&f.current()},0)}R(u,`handleInteractionCapture`);function p(e){l.current&&d.current.set(e.type,!1)}R(p,`handleInteractionBubble`);let m=R(a=>{if(a.target&&!c.current){let u=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||tt(Ge,s,p,{discrete:!0})};if(R(u,`handleAndDispatchPointerDownOutsideEvent`),!o(a.target)){n.removeEventListener(`click`,f.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?u():(n.removeEventListener(`click`,f.current),f.current=u,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();c.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,u,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,u,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:R(()=>c.current=!0,`onPointerDownCapture`)}}R(Qe,`usePointerDownOutside`);function $e(e,t=globalThis?.document){let n=L(e),r=u.useRef(!1);return u.useEffect(()=>{let e=R(e=>{e.target&&!r.current&&tt(Ke,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:R(()=>r.current=!0,`onFocusCapture`),onBlurCapture:R(()=>r.current=!1,`onBlurCapture`)}}R($e,`useFocusOutside`);function et(){let e=new CustomEvent(We);document.dispatchEvent(e)}R(et,`dispatchUpdate`);function tt(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?se(i,a):i.dispatchEvent(a)}R(tt,`handleAndDispatchCustomEvent`);var nt=Object.defineProperty,z=(e,t)=>nt(e,`name`,{value:t,configurable:!0}),rt=`focusScope.autoFocusOnMount`,it=`focusScope.autoFocusOnUnmount`,at={bubbles:!1,cancelable:!0},ot=u.forwardRef(z(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=u.useState(null),l=L(i),d=L(a),f=u.useRef(null),p=h(t,c),m=u.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;u.useEffect(()=>{if(r){let e=function(e){if(m.paused||!s)return;let t=e.target;s.contains(t)?f.current=t:B(f.current,{select:!0})},t=function(e){if(m.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||B(f.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&B(s)};z(e,`handleFocusIn`),z(t,`handleFocusOut`),z(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,m.paused]),u.useEffect(()=>{if(s){pt.add(m);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(rt,at);s.addEventListener(rt,l),s.dispatchEvent(t),t.defaultPrevented||(st(gt(lt(s)),{select:!0}),document.activeElement===e&&B(s))}return()=>{s.removeEventListener(rt,l),setTimeout(()=>{let t=new CustomEvent(it,at);s.addEventListener(it,d),s.dispatchEvent(t),t.defaultPrevented||B(e??document.body,{select:!0}),s.removeEventListener(it,d),pt.remove(m)},0)}}},[s,l,d,m]);let _=u.useCallback(e=>{if(!n&&!r||m.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=ct(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&B(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&B(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,m.paused]);return(0,g.jsx)(O.div,{tabIndex:-1,...o,ref:p,onKeyDown:_})},`FocusScope`));function st(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(B(r,{select:t}),document.activeElement!==n)return}z(st,`focusFirst`);function ct(e){let t=lt(e);return[ut(t,e),ut(t.reverse(),e)]}z(ct,`getTabbableEdges`);function lt(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:z(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}z(lt,`getTabbableCandidates`);function ut(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):dt(r,{upTo:t})))return r}z(ut,`findVisible`);function dt(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}z(dt,`isHidden`);function ft(e){return e instanceof HTMLInputElement&&`select`in e}z(ft,`isSelectableInput`);function B(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&ft(e)&&t&&e.select()}}z(B,`focus`);var pt=mt();function mt(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=ht(e,t),e.unshift(t)},remove(t){e=ht(e,t),e[0]?.resume()}}}z(mt,`createFocusScopesStack`);function ht(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}z(ht,`arrayRemove`);function gt(e){return e.filter(e=>e.tagName!==`A`)}z(gt,`removeLinks`);var _t=Object.defineProperty,vt=u.forwardRef(((e,t)=>_t(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=u.useState(!1);M(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?_.createPortal((0,g.jsx)(O.div,{...r,ref:t}),o):null},`Portal`)),yt=Object.defineProperty,bt=(e,t)=>yt(e,`name`,{value:t,configurable:!0}),V=0,H=null;function xt(e){return St(),e.children}bt(xt,`FocusGuards`);function St(){u.useEffect(()=>{H||={start:Ct(),end:Ct()};let{start:e,end:t}=H;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),V++,()=>{V===1&&(H?.start.remove(),H?.end.remove(),H=null),V=Math.max(0,V-1)}},[])}bt(St,`useFocusGuards`);function Ct(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}bt(Ct,`createFocusGuard`);var U=function(){return U=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},U.apply(this,arguments)};function wt(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Tt(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var W=`right-scroll-bar-position`,G=`width-before-scroll-bar`,Et=`with-scroll-bars-hidden`,Dt=`--removed-body-scroll-bar-size`;function Ot(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function kt(e,t){var n=(0,u.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var At=typeof window<`u`?u.useLayoutEffect:u.useEffect,jt=new WeakMap;function Mt(e,t){var n=kt(t||null,function(t){return e.forEach(function(e){return Ot(e,t)})});return At(function(){var t=jt.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Ot(e,null)}),i.forEach(function(e){r.has(e)||Ot(e,a)})}jt.set(n,e)},[e]),n}function Nt(e){return e}function Pt(e,t){t===void 0&&(t=Nt);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ft(e){e===void 0&&(e={});var t=Pt(null);return t.options=U({async:!0,ssr:!1},e),t}var It=function(e){var t=e.sideCar,n=wt(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return u.createElement(r,U({},n))};It.isSideCarExport=!0;function Lt(e,t){return e.useMedium(t),It}var Rt=Ft(),zt=function(){},K=u.forwardRef(function(e,t){var n=u.useRef(null),r=u.useState({onScrollCapture:zt,onWheelCapture:zt,onTouchMoveCapture:zt}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=wt(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=Mt([n,t]),w=U(U({},x),i);return u.createElement(u.Fragment,null,d&&u.createElement(S,{sideCar:Rt,removeScrollBar:l,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?u.cloneElement(u.Children.only(s),U(U({},w),{ref:C})):u.createElement(y,U({},w,{className:c,ref:C}),s))});K.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},K.classNames={fullWidth:G,zeroRight:W};var Bt,Vt=function(){if(Bt)return Bt;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Ht(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Vt();return t&&e.setAttribute(`nonce`,t),e}function Ut(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Wt(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var Gt=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Ht())&&(Ut(t,n),Wt(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Kt=function(){var e=Gt();return function(t,n){u.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},qt=function(){var e=Kt();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Jt={left:0,top:0,right:0,gap:0},Yt=function(e){return parseInt(e||``,10)||0},Xt=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[Yt(n),Yt(r),Yt(i)]},Zt=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Jt;var t=Xt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Qt=qt(),q=`data-scroll-locked`,$t=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
1
+ import{L as e,M as t,O as n,Ot as r,V as i,W as a,kt as o,qt as s}from"./queries-BMwc6EvM.js";import{m as c}from"./Rack-CRQSwSeB.js";var l=c(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),u=s(o(),1),d=Object.defineProperty,f=(e,t)=>d(e,`name`,{value:t,configurable:!0});function p(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}f(p,`setRef`);function m(...e){return t=>{let n=!1,r=e.map(e=>{let r=p(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():p(e[t],null)}}}}f(m,`composeRefs`);function h(...e){return u.useCallback(m(...e),e)}f(h,`useComposedRefs`);var g=r(),_=s(a(),1),v=Object.defineProperty,y=(e,t)=>v(e,`name`,{value:t,configurable:!0});function b(e){let t=u.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];E(r)&&typeof ie==`function`&&(r=ie(r._payload)),u.Children.forEach(r,e=>{if(ee(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;E(n)&&typeof ie==`function`&&(n=ie(n._payload)),a=C(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=u.cloneElement(a,void 0,s):!o&&u.Children.count(r)===1&&u.isValidElement(r)&&(a=r);let c=a?T(a):void 0,l=h(n,c);if(!a){if(r||r===0)throw Error(o?re(e):ne(e));return r}let d=w(i,a.props??{});return a.type!==u.Fragment&&(d.ref=n?l:c),u.cloneElement(a,d)});return t.displayName=`${e}.Slot`,t}y(b,`createSlot`);var x=Symbol.for(`radix.slottable`);function S(e){let t=y(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=x,t}y(S,`createSlottable`);var C=y((e,t)=>{if(`child`in e.props){let t=e.props.child;return u.isValidElement(t)?u.cloneElement(t,void 0,e.props.children(t.props.children)):null}return u.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function w(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}y(w,`mergeProps`);function T(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}y(T,`getElementRef`);function ee(e){return u.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===x}y(ee,`isSlottable`);var te=Symbol.for(`react.lazy`);function E(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===te&&`_payload`in e&&D(e._payload)}y(E,`isLazyComponent`);function D(e){return typeof e==`object`&&!!e&&`then`in e}y(D,`isPromiseLike`);var ne=y(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),re=y(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),ie=u.use,ae=Object.defineProperty,oe=(e,t)=>ae(e,`name`,{value:t,configurable:!0}),O=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=b(`Primitive.${t}`),r=u.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function se(e,t){e&&_.flushSync(()=>e.dispatchEvent(t))}oe(se,`dispatchDiscreteCustomEvent`);var ce=Object.defineProperty,k=(e,t)=>ce(e,`name`,{value:t,configurable:!0});function le(e,t){let n=u.createContext(t);n.displayName=e+`Context`;let r=k(e=>{let{children:t,...r}=e,i=u.useMemo(()=>r,Object.values(r));return(0,g.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,o=u.useContext(n);if(o)return o;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return k(i,`useContext`),[r,i]}k(le,`createContext`);function ue(e,t=[]){let n=[];function r(t,r){let i=u.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=k(t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=u.useMemo(()=>o,Object.values(o));return(0,g.jsx)(s.Provider,{value:c,children:r})},`Provider`);o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,d=u.useContext(l);if(d)return d;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return k(s,`useContext`),[o,s]}k(r,`createContext`);let i=k(()=>{let t=n.map(e=>u.createContext(e));return k(function(n){let r=n?.[e]||t;return u.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,de(i,...t)]}k(ue,`createContextScope`);function de(...e){let t=e[0];if(e.length===1)return t;let n=k(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return k(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return u.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}k(de,`composeContextScopes`);var fe=Object.defineProperty,A=(e,t)=>fe(e,`name`,{value:t,configurable:!0}),pe=!!(typeof window<`u`&&window.document&&window.document.createElement);function j(e,t,{checkForDefaultPrevented:n=!0}={}){return A(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}A(j,`composeEventHandlers`);function me(e){if(!pe)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}A(me,`getOwnerWindow`);function he(e){if(!pe)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}A(he,`getOwnerDocument`);function ge(e,t=!1){let{activeElement:n}=he(e);if(!n?.nodeName)return null;if(_e(n)&&n.contentDocument)return ge(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=he(n).getElementById(e);if(t)return t}}return n}A(ge,`getActiveElement`);function _e(e){return e.tagName===`IFRAME`}A(_e,`isFrame`);var M=globalThis?.document?u.useLayoutEffect:()=>{},ve=Object.defineProperty,ye=(e,t)=>ve(e,`name`,{value:t,configurable:!0}),be=u.useEffectEvent,xe=u.useInsertionEffect;function Se(e){if(typeof be==`function`)return be(e);let t=u.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof xe==`function`?xe(()=>{t.current=e}):M(()=>{t.current=e}),u.useMemo(()=>((...e)=>t.current?.(...e)),[])}ye(Se,`useEffectEvent`);var Ce=Object.defineProperty,N=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),we=u.useInsertionEffect||M;function Te({prop:e,defaultProp:t,onChange:n=N(()=>{},`onChange`),caller:r}){let[i,a,o]=Ee({defaultProp:t,onChange:n}),s=e!==void 0;return[s?e:i,u.useCallback(t=>{if(s){let n=De(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}N(Te,`useControllableState`);function Ee({defaultProp:e,onChange:t}){let[n,r]=u.useState(e),i=u.useRef(n),a=u.useRef(t);return we(()=>{a.current=t},[t]),u.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}N(Ee,`useUncontrolledState`);function De(e){return typeof e==`function`}N(De,`isFunction`);var Oe=Symbol(`RADIX:SYNC_STATE`);function ke(e,t,n,r){let{prop:i,defaultProp:a,onChange:o,caller:s}=t,c=i!==void 0,l=Se(o),d=[{...n,state:a}];r&&d.push(r);let[f,p]=u.useReducer((t,n)=>{if(n.type===Oe)return{...t,state:n.state};let r=e(t,n);return c&&!Object.is(r.state,t.state)&&l(r.state),r},...d),m=f.state,h=u.useRef(m);u.useEffect(()=>{h.current!==m&&(h.current=m,c||l(m))},[m,h,c]);let g=u.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return u.useEffect(()=>{c&&!Object.is(i,f.state)&&p({type:Oe,state:i})},[i,f.state,c]),[g,p]}N(ke,`useControllableStateReducer`);var Ae=Object.defineProperty,P=(e,t)=>Ae(e,`name`,{value:t,configurable:!0});function je(e,t){return u.useReducer((e,n)=>t[e][n]??e,e)}P(je,`useStateMachine`);var Me=P(e=>{let{present:t,children:n}=e,r=Ne(t),i=typeof n==`function`?n({present:r.isPresent}):u.Children.only(n),a=Fe(r.ref,Ie(i));return typeof n==`function`||r.isPresent?u.cloneElement(i,{ref:a}):null},`Presence`);function Ne(e){let[t,n]=u.useState(),r=u.useRef(null),i=u.useRef(e),a=u.useRef(`none`),o=u.useRef(void 0),[s,c]=je(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return u.useEffect(()=>{s===`mounted`?(a.current=o.current??F(r.current),o.current=void 0):a.current=`none`},[s]),M(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=F(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),M(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=P(a=>{let o=F(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=P(e=>{e.target===t&&(a.current=F(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:u.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=F(t)}else r.current=null;n(e)},[])}}P(Ne,`usePresence`);function Pe(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}P(Pe,`setRef`);function Fe(...e){let t=u.useRef(e);return t.current=e,u.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=Pe(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():Pe(n[e],null)}}},[])}P(Fe,`useStableComposedRefs`);function F(e){return e?.animationName||`none`}P(F,`getAnimationName`);function Ie(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}P(Ie,`getElementRef`);var Le=Object.defineProperty,Re=(e,t)=>Le(e,`name`,{value:t,configurable:!0}),ze=u.useId||(()=>void 0),Be=0;function I(e){let[t,n]=u.useState(ze());return M(()=>{e||n(e=>e??String(Be++))},[e]),e||(t?`radix-${t}`:``)}Re(I,`useId`);var Ve=Object.defineProperty,He=(e,t)=>Ve(e,`name`,{value:t,configurable:!0});function L(e){let t=u.useRef(e);return u.useEffect(()=>{t.current=e}),u.useMemo(()=>((...e)=>t.current?.(...e)),[])}He(L,`useCallbackRef`);var Ue=Object.defineProperty,R=(e,t)=>Ue(e,`name`,{value:t,configurable:!0}),We=`dismissableLayer.update`,Ge=`dismissableLayer.pointerDownOutside`,Ke=`dismissableLayer.focusOutside`,qe,Je=u.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Ye=u.forwardRef(R(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,d=u.useContext(Je),[f,p]=u.useState(null),m=f?.ownerDocument??globalThis?.document,[,_]=u.useState({}),v=h(t,p),y=Array.from(d.layers),[b]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),x=b?y.indexOf(b):-1,S=f?y.indexOf(f):-1,C=d.layersWithOutsidePointerEventsDisabled.size>0,w=S>=x,T=u.useRef(!1),ee=Qe(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:m,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:T,dismissableSurfaces:d.dismissableSurfaces,shouldHandlePointerDownOutside:u.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...d.branches].some(t=>t.contains(e));return w&&!t},[d.branches,w])}),te=$e(e=>{if(r&&T.current)return;let t=e.target;[...d.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},m),E=f?S===y.length-1:!1,D=L(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return u.useEffect(()=>{if(E)return m.addEventListener(`keydown`,D,{capture:!0}),()=>m.removeEventListener(`keydown`,D,{capture:!0})},[m,E,D]),u.useEffect(()=>{if(f)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(qe=m.body.style.pointerEvents,m.body.style.pointerEvents=`none`),d.layersWithOutsidePointerEventsDisabled.add(f)),d.layers.add(f),et(),()=>{n&&(d.layersWithOutsidePointerEventsDisabled.delete(f),d.layersWithOutsidePointerEventsDisabled.size===0&&(m.body.style.pointerEvents=qe))}},[f,m,n,d]),u.useEffect(()=>()=>{f&&(d.layers.delete(f),d.layersWithOutsidePointerEventsDisabled.delete(f),et())},[f,d]),u.useEffect(()=>{let e=R(()=>_({}),`handleUpdate`);return document.addEventListener(We,e),()=>document.removeEventListener(We,e)},[]),(0,g.jsx)(O.div,{...l,ref:v,style:{pointerEvents:C?w?`auto`:`none`:void 0,...e.style},onFocusCapture:j(e.onFocusCapture,te.onFocusCapture),onBlurCapture:j(e.onBlurCapture,te.onBlurCapture),onPointerDownCapture:j(e.onPointerDownCapture,ee.onPointerDownCapture)})},`DismissableLayer`));function Xe(){let e=u.useContext(Je),[t,n]=u.useState(null);return u.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}R(Xe,`useDismissableLayerSurface`);var Ze=R(()=>!0,`IS_TRUE`);function Qe(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=Ze}=t,s=L(e),c=u.useRef(!1),l=u.useRef(!1),d=u.useRef(new Map),f=u.useRef(()=>{});return u.useEffect(()=>{function e(){l.current=!1,i.current=!1,d.current.clear()}R(e,`resetOutsideInteraction`);function t(){return Array.from(d.current.values()).some(Boolean)}R(t,`isOutsideInteractionIntercepted`);function u(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&f.current()},0)}R(u,`handleInteractionCapture`);function p(e){l.current&&d.current.set(e.type,!1)}R(p,`handleInteractionBubble`);let m=R(a=>{if(a.target&&!c.current){let u=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||tt(Ge,s,p,{discrete:!0})};if(R(u,`handleAndDispatchPointerDownOutsideEvent`),!o(a.target)){n.removeEventListener(`click`,f.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?u():(n.removeEventListener(`click`,f.current),f.current=u,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();c.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,u,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,u,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:R(()=>c.current=!0,`onPointerDownCapture`)}}R(Qe,`usePointerDownOutside`);function $e(e,t=globalThis?.document){let n=L(e),r=u.useRef(!1);return u.useEffect(()=>{let e=R(e=>{e.target&&!r.current&&tt(Ke,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:R(()=>r.current=!0,`onFocusCapture`),onBlurCapture:R(()=>r.current=!1,`onBlurCapture`)}}R($e,`useFocusOutside`);function et(){let e=new CustomEvent(We);document.dispatchEvent(e)}R(et,`dispatchUpdate`);function tt(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?se(i,a):i.dispatchEvent(a)}R(tt,`handleAndDispatchCustomEvent`);var nt=Object.defineProperty,z=(e,t)=>nt(e,`name`,{value:t,configurable:!0}),rt=`focusScope.autoFocusOnMount`,it=`focusScope.autoFocusOnUnmount`,at={bubbles:!1,cancelable:!0},ot=u.forwardRef(z(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=u.useState(null),l=L(i),d=L(a),f=u.useRef(null),p=h(t,c),m=u.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;u.useEffect(()=>{if(r){let e=function(e){if(m.paused||!s)return;let t=e.target;s.contains(t)?f.current=t:B(f.current,{select:!0})},t=function(e){if(m.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||B(f.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&B(s)};z(e,`handleFocusIn`),z(t,`handleFocusOut`),z(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,m.paused]),u.useEffect(()=>{if(s){pt.add(m);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(rt,at);s.addEventListener(rt,l),s.dispatchEvent(t),t.defaultPrevented||(st(gt(lt(s)),{select:!0}),document.activeElement===e&&B(s))}return()=>{s.removeEventListener(rt,l),setTimeout(()=>{let t=new CustomEvent(it,at);s.addEventListener(it,d),s.dispatchEvent(t),t.defaultPrevented||B(e??document.body,{select:!0}),s.removeEventListener(it,d),pt.remove(m)},0)}}},[s,l,d,m]);let _=u.useCallback(e=>{if(!n&&!r||m.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=ct(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&B(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&B(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,m.paused]);return(0,g.jsx)(O.div,{tabIndex:-1,...o,ref:p,onKeyDown:_})},`FocusScope`));function st(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(B(r,{select:t}),document.activeElement!==n)return}z(st,`focusFirst`);function ct(e){let t=lt(e);return[ut(t,e),ut(t.reverse(),e)]}z(ct,`getTabbableEdges`);function lt(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:z(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}z(lt,`getTabbableCandidates`);function ut(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):dt(r,{upTo:t})))return r}z(ut,`findVisible`);function dt(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}z(dt,`isHidden`);function ft(e){return e instanceof HTMLInputElement&&`select`in e}z(ft,`isSelectableInput`);function B(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&ft(e)&&t&&e.select()}}z(B,`focus`);var pt=mt();function mt(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=ht(e,t),e.unshift(t)},remove(t){e=ht(e,t),e[0]?.resume()}}}z(mt,`createFocusScopesStack`);function ht(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}z(ht,`arrayRemove`);function gt(e){return e.filter(e=>e.tagName!==`A`)}z(gt,`removeLinks`);var _t=Object.defineProperty,vt=u.forwardRef(((e,t)=>_t(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=u.useState(!1);M(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?_.createPortal((0,g.jsx)(O.div,{...r,ref:t}),o):null},`Portal`)),yt=Object.defineProperty,bt=(e,t)=>yt(e,`name`,{value:t,configurable:!0}),V=0,H=null;function xt(e){return St(),e.children}bt(xt,`FocusGuards`);function St(){u.useEffect(()=>{H||={start:Ct(),end:Ct()};let{start:e,end:t}=H;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),V++,()=>{V===1&&(H?.start.remove(),H?.end.remove(),H=null),V=Math.max(0,V-1)}},[])}bt(St,`useFocusGuards`);function Ct(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}bt(Ct,`createFocusGuard`);var U=function(){return U=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},U.apply(this,arguments)};function wt(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Tt(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var W=`right-scroll-bar-position`,G=`width-before-scroll-bar`,Et=`with-scroll-bars-hidden`,Dt=`--removed-body-scroll-bar-size`;function Ot(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function kt(e,t){var n=(0,u.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var At=typeof window<`u`?u.useLayoutEffect:u.useEffect,jt=new WeakMap;function Mt(e,t){var n=kt(t||null,function(t){return e.forEach(function(e){return Ot(e,t)})});return At(function(){var t=jt.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Ot(e,null)}),i.forEach(function(e){r.has(e)||Ot(e,a)})}jt.set(n,e)},[e]),n}function Nt(e){return e}function Pt(e,t){t===void 0&&(t=Nt);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ft(e){e===void 0&&(e={});var t=Pt(null);return t.options=U({async:!0,ssr:!1},e),t}var It=function(e){var t=e.sideCar,n=wt(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return u.createElement(r,U({},n))};It.isSideCarExport=!0;function Lt(e,t){return e.useMedium(t),It}var Rt=Ft(),zt=function(){},K=u.forwardRef(function(e,t){var n=u.useRef(null),r=u.useState({onScrollCapture:zt,onWheelCapture:zt,onTouchMoveCapture:zt}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=wt(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=Mt([n,t]),w=U(U({},x),i);return u.createElement(u.Fragment,null,d&&u.createElement(S,{sideCar:Rt,removeScrollBar:l,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?u.cloneElement(u.Children.only(s),U(U({},w),{ref:C})):u.createElement(y,U({},w,{className:c,ref:C}),s))});K.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},K.classNames={fullWidth:G,zeroRight:W};var Bt,Vt=function(){if(Bt)return Bt;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Ht(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Vt();return t&&e.setAttribute(`nonce`,t),e}function Ut(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Wt(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var Gt=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Ht())&&(Ut(t,n),Wt(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Kt=function(){var e=Gt();return function(t,n){u.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},qt=function(){var e=Kt();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Jt={left:0,top:0,right:0,gap:0},Yt=function(e){return parseInt(e||``,10)||0},Xt=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[Yt(n),Yt(r),Yt(i)]},Zt=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Jt;var t=Xt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Qt=qt(),q=`data-scroll-locked`,$t=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
2
2
  .${Et} {
3
3
  overflow: hidden ${r};
4
4
  padding-right: ${s}px ${r};
@@ -1,4 +1,4 @@
1
- import{A as e,F as t,G as n,I as r,L as i,M as a,O as o,Ot as s,U as c,V as l,h as u,k as d,kt as f,m as p,qt as m}from"./queries-BMwc6EvM.js";import{t as h}from"./index-C53PiRfb.js";import{f as g,r as _,t as v}from"./Lamp-BXSUIAtG.js";var y=m(f(),1),b=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),x=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),S=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),C=e=>{let t=S(e);return t.charAt(0).toUpperCase()+t.slice(1)},w={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},T=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},E=(0,y.createContext)({}),D=()=>(0,y.useContext)(E),O=(0,y.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=D()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,y.createElement)(`svg`,{ref:c,...w,width:t??l??w.width,height:t??l??w.height,stroke:e??f,strokeWidth:m,className:b(`lucide`,p,i),...!a&&!T(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,y.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),k=(e,t)=>{let n=(0,y.forwardRef)(({className:n,...r},i)=>(0,y.createElement)(O,{ref:i,iconNode:t,className:b(`lucide-${x(C(e))}`,`lucide-${e}`,n),...r}));return n.displayName=C(e),n},A=k(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),j=k(`boxes`,[[`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`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`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`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`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`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),ee=k(`cable`,[[`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`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`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`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),te=k(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),ne=k(`key-round`,[[`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`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),re=k(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),ie=k(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),ae=k(`moon`,[[`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`,key:`kfwtm`}]]),oe=k(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`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`,key:`1ph1d7`}]]),se=k(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),ce=k(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),M=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:1}),N=new Intl.NumberFormat(`en-US`);function P(e){return Number.isFinite(e)?e<1e4?N.format(Math.round(e)):M.format(e).toLowerCase():`—`}function F(e){return Number.isFinite(e)?e===0?`$0`:e<.01?`$${e.toFixed(4)}`:e<100?`$${e.toFixed(2)}`:`$${M.format(e).toLowerCase()}`:`—`}function I(e){return e==null||!Number.isFinite(e)?`—`:e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.round(e/6e4)}m`}function L(e,t=1){return Number.isFinite(e)?`${(e*100).toFixed(t)}%`:`—`}var R=[[6e4,1e3,`s`],[36e5,6e4,`m`],[864e5,36e5,`h`],[1/0,864e5,`d`]];function z(e){let t=Math.abs(e);if(t<1e3)return`0s`;let n=R.find(([e])=>t<e);return n===void 0?`—`:`${Math.floor(t/n[1])}${n[2]}`}function B(e,t=Date.now()){if(e==null||!Number.isFinite(e))return`—`;let n=e-t;return Math.abs(n)<5e3?`just now`:n<0?`${z(n)} ago`:`in ${z(n)}`}function V(e){return new Date(e).toLocaleTimeString(`en-GB`,{hour12:!1})}function H(e){return e==null||!Number.isFinite(e)?`—`:new Date(e).toLocaleString(`en-GB`,{year:`numeric`,month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1})}function U(e,t=8){return e.length<=t?e:`${e.slice(0,t)}…`}var W=s(),G=(0,y.createContext)(null);function le({children:e}){let[t,n]=(0,y.useState)(!0),r=(0,y.useCallback)(()=>n(e=>!e),[]),i=(0,y.useMemo)(()=>({live:t,toggle:r,cadence:e=>t?e:!1}),[t,r]);return(0,W.jsx)(G,{value:i,children:e})}function K(){return(0,y.use)(G)??{live:!1,toggle:()=>{},cadence:()=>!1}}var ue=l.svg`
1
+ import{A as e,F as t,G as n,I as r,L as i,M as a,O as o,Ot as s,U as c,V as l,h as u,k as d,kt as f,m as p,qt as m}from"./queries-BMwc6EvM.js";import{t as h}from"./index-BYyeRTQJ.js";import{f as g,r as _,t as v}from"./Lamp-BXSUIAtG.js";var y=m(f(),1),b=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),x=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),S=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),C=e=>{let t=S(e);return t.charAt(0).toUpperCase()+t.slice(1)},w={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},T=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},E=(0,y.createContext)({}),D=()=>(0,y.useContext)(E),O=(0,y.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=D()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,y.createElement)(`svg`,{ref:c,...w,width:t??l??w.width,height:t??l??w.height,stroke:e??f,strokeWidth:m,className:b(`lucide`,p,i),...!a&&!T(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,y.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),k=(e,t)=>{let n=(0,y.forwardRef)(({className:n,...r},i)=>(0,y.createElement)(O,{ref:i,iconNode:t,className:b(`lucide-${x(C(e))}`,`lucide-${e}`,n),...r}));return n.displayName=C(e),n},A=k(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),j=k(`boxes`,[[`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`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`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`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`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`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),ee=k(`cable`,[[`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`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`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`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),te=k(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),ne=k(`key-round`,[[`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`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),re=k(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),ie=k(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),ae=k(`moon`,[[`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`,key:`kfwtm`}]]),oe=k(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`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`,key:`1ph1d7`}]]),se=k(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),ce=k(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),M=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:1}),N=new Intl.NumberFormat(`en-US`);function P(e){return Number.isFinite(e)?e<1e4?N.format(Math.round(e)):M.format(e).toLowerCase():`—`}function F(e){return Number.isFinite(e)?e===0?`$0`:e<.01?`$${e.toFixed(4)}`:e<100?`$${e.toFixed(2)}`:`$${M.format(e).toLowerCase()}`:`—`}function I(e){return e==null||!Number.isFinite(e)?`—`:e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.round(e/6e4)}m`}function L(e,t=1){return Number.isFinite(e)?`${(e*100).toFixed(t)}%`:`—`}var R=[[6e4,1e3,`s`],[36e5,6e4,`m`],[864e5,36e5,`h`],[1/0,864e5,`d`]];function z(e){let t=Math.abs(e);if(t<1e3)return`0s`;let n=R.find(([e])=>t<e);return n===void 0?`—`:`${Math.floor(t/n[1])}${n[2]}`}function B(e,t=Date.now()){if(e==null||!Number.isFinite(e))return`—`;let n=e-t;return Math.abs(n)<5e3?`just now`:n<0?`${z(n)} ago`:`in ${z(n)}`}function V(e){return new Date(e).toLocaleTimeString(`en-GB`,{hour12:!1})}function H(e){return e==null||!Number.isFinite(e)?`—`:new Date(e).toLocaleString(`en-GB`,{year:`numeric`,month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1})}function U(e,t=8){return e.length<=t?e:`${e.slice(0,t)}…`}var W=s(),G=(0,y.createContext)(null);function le({children:e}){let[t,n]=(0,y.useState)(!0),r=(0,y.useCallback)(()=>n(e=>!e),[]),i=(0,y.useMemo)(()=>({live:t,toggle:r,cadence:e=>t?e:!1}),[t,r]);return(0,W.jsx)(G,{value:i,children:e})}function K(){return(0,y.use)(G)??{live:!1,toggle:()=>{},cadence:()=>!1}}var ue=l.svg`
2
2
  display: block;
3
3
  width: 100%;
4
4
  height: 100%;
@@ -1,4 +1,4 @@
1
- import{I as e,Ot as t,V as n,kt as r,qt as i}from"./queries-BMwc6EvM.js";import{m as a}from"./Rack-DnbGnBvz.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./Modal-DOQGdhoM.js";var p=a(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),m=i(r(),1),h=Object.defineProperty,g=(e,t)=>h(e,`name`,{value:t,configurable:!0});function _(e){let[t,n]=m.useState(void 0);return u(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}n(void 0)},[e]),t}g(_,`useSize`);var v=t(),y=Object.defineProperty,b=(e,t)=>y(e,`name`,{value:t,configurable:!0}),x=`Switch`,[S,C]=o(x),[w,T]=S(x);function E(e){let{__scopeSwitch:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:l,required:u,value:d=`on`,internal_do_not_use_render:f}=e,[p,h]=c({prop:n,defaultProp:i??!1,onChange:l,caller:x}),[g,_]=m.useState(null),[y,b]=m.useState(null),S=m.useRef(!1),[C,T]=m.useReducer(e=>e+1,0),E={checked:p,setChecked:h,disabled:a,control:g,setControl:_,name:s,form:o,value:d,hasConsumerStoppedPropagationRef:S,userInteractionCount:C,onUserInteraction:T,required:u,defaultChecked:i,isFormControl:!g||!!o||!!g.closest(`form`),bubbleInput:y,setBubbleInput:b};return(0,v.jsx)(w,{scope:t,...E,children:P(f)?f(E):r})}b(E,`SwitchProvider`);var D=`SwitchTrigger`,O=m.forwardRef(b(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,form:a,value:o,disabled:c,checked:u,required:f,setControl:p,setChecked:h,hasConsumerStoppedPropagationRef:g,onUserInteraction:_,isFormControl:y,bubbleInput:x}=T(D,e),S=d(r,p),C=m.useRef(u);return m.useEffect(()=>{let e=a?i?.ownerDocument.getElementById(a):i?.form;if(e instanceof HTMLFormElement){let t=b(()=>h(C.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[i,a,h]),(0,v.jsx)(l.button,{type:`button`,role:`switch`,"aria-checked":u,"aria-required":f,"data-state":F(u),"data-disabled":c?``:void 0,disabled:c,value:o,...n,ref:S,onClick:s(t,e=>{_(),h(e=>!e),x&&y&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})},`SwitchTrigger`)),k=m.forwardRef(b(function(e,t){let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,v.jsx)(E,{__scopeSwitch:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(O,{...d,ref:t,__scopeSwitch:n}),e&&(0,v.jsx)(N,{__scopeSwitch:n})]})})},`Switch`)),A=`SwitchThumb`,j=m.forwardRef(b(function(e,t){let{__scopeSwitch:n,...r}=e,i=T(A,n);return(0,v.jsx)(l.span,{"data-state":F(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})},`SwitchThumb`)),M=`SwitchBubbleInput`,N=m.forwardRef(b(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,hasConsumerStoppedPropagationRef:a,userInteractionCount:o,checked:c,defaultChecked:u,required:f,disabled:p,name:h,value:g,form:y,bubbleInput:b,setBubbleInput:x}=T(M,e),S=d(r,x),C=_(i),w=m.useRef(!1),E=m.useRef(c),D=m.useRef(o);m.useEffect(()=>{let e=b;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=o!==D.current;D.current=o;let i=E.current!==c;E.current=c;let s=!(r&&a.current);if(i&&n){w.current=!r;let t=new Event(`click`,{bubbles:s});n.call(e,c),e.dispatchEvent(t),w.current=!1}},[b,c,a,o]);let O=m.useRef(c);return(0,v.jsx)(l.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:u??O.current,required:f,disabled:p,name:h,value:g,form:y,...n,tabIndex:-1,ref:S,onClick:s(t,e=>{w.current&&e.stopPropagation()}),style:{...n.style,...C,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`SwitchBubbleInput`));function P(e){return typeof e==`function`}b(P,`isFunction`);function F(e){return e?`checked`:`unchecked`}b(F,`getState`);var I=n.p`
1
+ import{I as e,Ot as t,V as n,kt as r,qt as i}from"./queries-BMwc6EvM.js";import{m as a}from"./Rack-CRQSwSeB.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./Modal-C4y9zALa.js";var p=a(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),m=i(r(),1),h=Object.defineProperty,g=(e,t)=>h(e,`name`,{value:t,configurable:!0});function _(e){let[t,n]=m.useState(void 0);return u(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}n(void 0)},[e]),t}g(_,`useSize`);var v=t(),y=Object.defineProperty,b=(e,t)=>y(e,`name`,{value:t,configurable:!0}),x=`Switch`,[S,C]=o(x),[w,T]=S(x);function E(e){let{__scopeSwitch:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:l,required:u,value:d=`on`,internal_do_not_use_render:f}=e,[p,h]=c({prop:n,defaultProp:i??!1,onChange:l,caller:x}),[g,_]=m.useState(null),[y,b]=m.useState(null),S=m.useRef(!1),[C,T]=m.useReducer(e=>e+1,0),E={checked:p,setChecked:h,disabled:a,control:g,setControl:_,name:s,form:o,value:d,hasConsumerStoppedPropagationRef:S,userInteractionCount:C,onUserInteraction:T,required:u,defaultChecked:i,isFormControl:!g||!!o||!!g.closest(`form`),bubbleInput:y,setBubbleInput:b};return(0,v.jsx)(w,{scope:t,...E,children:P(f)?f(E):r})}b(E,`SwitchProvider`);var D=`SwitchTrigger`,O=m.forwardRef(b(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,form:a,value:o,disabled:c,checked:u,required:f,setControl:p,setChecked:h,hasConsumerStoppedPropagationRef:g,onUserInteraction:_,isFormControl:y,bubbleInput:x}=T(D,e),S=d(r,p),C=m.useRef(u);return m.useEffect(()=>{let e=a?i?.ownerDocument.getElementById(a):i?.form;if(e instanceof HTMLFormElement){let t=b(()=>h(C.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[i,a,h]),(0,v.jsx)(l.button,{type:`button`,role:`switch`,"aria-checked":u,"aria-required":f,"data-state":F(u),"data-disabled":c?``:void 0,disabled:c,value:o,...n,ref:S,onClick:s(t,e=>{_(),h(e=>!e),x&&y&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})},`SwitchTrigger`)),k=m.forwardRef(b(function(e,t){let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,v.jsx)(E,{__scopeSwitch:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(O,{...d,ref:t,__scopeSwitch:n}),e&&(0,v.jsx)(N,{__scopeSwitch:n})]})})},`Switch`)),A=`SwitchThumb`,j=m.forwardRef(b(function(e,t){let{__scopeSwitch:n,...r}=e,i=T(A,n);return(0,v.jsx)(l.span,{"data-state":F(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})},`SwitchThumb`)),M=`SwitchBubbleInput`,N=m.forwardRef(b(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,hasConsumerStoppedPropagationRef:a,userInteractionCount:o,checked:c,defaultChecked:u,required:f,disabled:p,name:h,value:g,form:y,bubbleInput:b,setBubbleInput:x}=T(M,e),S=d(r,x),C=_(i),w=m.useRef(!1),E=m.useRef(c),D=m.useRef(o);m.useEffect(()=>{let e=b;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=o!==D.current;D.current=o;let i=E.current!==c;E.current=c;let s=!(r&&a.current);if(i&&n){w.current=!r;let t=new Event(`click`,{bubbles:s});n.call(e,c),e.dispatchEvent(t),w.current=!1}},[b,c,a,o]);let O=m.useRef(c);return(0,v.jsx)(l.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:u??O.current,required:f,disabled:p,name:h,value:g,form:y,...n,tabIndex:-1,ref:S,onClick:s(t,e=>{w.current&&e.stopPropagation()}),style:{...n.style,...C,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`SwitchBubbleInput`));function P(e){return typeof e==`function`}b(P,`isFunction`);function F(e){return e?`checked`:`unchecked`}b(F,`getState`);var I=n.p`
2
2
  font-size: 13px;
3
3
  color: ${({theme:e})=>e.color.inkDim};
4
4
  `;function L({open:t,onOpenChange:n,title:r,body:i,confirmLabel:a,busy:o,onConfirm:s}){return(0,v.jsx)(f,{open:t,onOpenChange:n,title:r,width:`420px`,footer:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(e,{type:`button`,onClick:()=>n(!1),children:`Cancel`}),(0,v.jsx)(e,{type:`button`,$variant:`danger`,disabled:o===!0,onClick:s,children:a})]}),children:(0,v.jsx)(I,{children:i})})}var R=n(k)`
@@ -1 +1 @@
1
- import{Ot as e}from"./queries-BMwc6EvM.js";import{o as t}from"./index-C53PiRfb.js";import{i as n,n as r}from"./Rack-DnbGnBvz.js";var i=e(),a=()=>(0,i.jsx)(n,{children:(0,i.jsx)(r,{children:(0,i.jsx)(t,{})})});export{a as component};
1
+ import{Ot as e}from"./queries-BMwc6EvM.js";import{o as t}from"./index-BYyeRTQJ.js";import{i as n,n as r}from"./Rack-CRQSwSeB.js";var i=e(),a=()=>(0,i.jsx)(n,{children:(0,i.jsx)(r,{children:(0,i.jsx)(t,{})})});export{a as component};
@@ -1,4 +1,4 @@
1
- import{A as e,C as t,I as n,L as r,N as i,O as a,Ot as o,V as s,a as c,b as l,c as u,i as d,j as f,kt as p,l as m,n as h,qt as g,s as _}from"./queries-BMwc6EvM.js";import{a as v,d as y,l as b,m as x,t as S}from"./Rack-DnbGnBvz.js";import{t as C}from"./CopyValue-BhGx7Gy0.js";import{n as w,r as T,t as ee}from"./Toggle-CP3RvAAB.js";import{t as E}from"./trash-2-Cq7ldH9D.js";import{t as D}from"./Modal-DOQGdhoM.js";import{a as O,d as te,i as ne,n as re,t as k,u as A}from"./Lamp-BXSUIAtG.js";import{t as j}from"./Chip-Ccqsb_Mq.js";import{i as M,n as N,r as P,t as F}from"./Field-Devm4K46.js";import{t as ie}from"./Meter-Fn8X7t60.js";import{a as I,i as L,n as R,r as z,t as B}from"./States-DBzsiHjQ.js";import{i as V,n as H,r as U,t as W}from"./Table-DPDJeeVc.js";import{t as G}from"./catalog-DVRPlBJJ.js";var K=x(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),q=g(p(),1),J=o(),ae=Object.keys(G),Y={anthropic:`Anthropic`,openai:`OpenAI`,kimi:`Kimi`},X={anthropic:`Authorize in the browser, then paste the code Anthropic shows you.`,openai:`Authorize in the browser. When it redirects to localhost, paste the whole URL.`,kimi:`Enter the code on Kimi's device page. This dialog finishes on its own.`},oe=s.ol`
1
+ import{A as e,C as t,I as n,L as r,N as i,O as a,Ot as o,V as s,a as c,b as l,c as u,i as d,j as f,kt as p,l as m,n as h,qt as g,s as _}from"./queries-BMwc6EvM.js";import{a as v,d as y,l as b,m as x,t as S}from"./Rack-CRQSwSeB.js";import{t as C}from"./CopyValue-CvEMy9Zo.js";import{n as w,r as T,t as ee}from"./Toggle-CBq5XAMU.js";import{t as E}from"./trash-2-DFVxurNH.js";import{t as D}from"./Modal-C4y9zALa.js";import{a as O,d as te,i as ne,n as re,t as k,u as A}from"./Lamp-BXSUIAtG.js";import{t as j}from"./Chip-Ccqsb_Mq.js";import{i as M,n as N,r as P,t as F}from"./Field-Devm4K46.js";import{t as ie}from"./Meter-Fn8X7t60.js";import{a as I,i as L,n as R,r as z,t as B}from"./States-DBzsiHjQ.js";import{i as V,n as H,r as U,t as W}from"./Table-DPDJeeVc.js";import{t as G}from"./catalog-DVRPlBJJ.js";var K=x(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),q=g(p(),1),J=o(),ae=Object.keys(G),Y={anthropic:`Anthropic`,openai:`OpenAI`,kimi:`Kimi`},X={anthropic:`Authorize in the browser, then paste the code Anthropic shows you.`,openai:`Authorize in the browser. When it redirects to localhost, paste the whole URL.`,kimi:`Enter the code on Kimi's device page. This dialog finishes on its own.`},oe=s.ol`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: ${({theme:e})=>e.space(3)};
@@ -1,4 +1,4 @@
1
- import{A as e,D as t,I as n,M as r,N as i,O as a,Ot as o,P as s,U as c,V as l,b as u,c as d,g as f,h as p,j as m,k as h,s as g,w as _}from"./queries-BMwc6EvM.js";import{a as v,d as y,f as b,l as x,o as S,r as C,s as w,t as ee,u as T}from"./Rack-DnbGnBvz.js";import{a as E,c as D,d as O,f as k,i as A,l as j,n as M,r as te,s as N,t as P,u as F}from"./Lamp-BXSUIAtG.js";import{n as I,t as L}from"./Chip-Ccqsb_Mq.js";import{t as R}from"./Meter-Fn8X7t60.js";import{a as z,n as B,t as V}from"./States-DBzsiHjQ.js";import{i as H,n as U,r as W,t as G}from"./Table-DPDJeeVc.js";import{t as K}from"./Readout-BKpOZIGX.js";var q=o(),ne=l(s)`
1
+ import{A as e,D as t,I as n,M as r,N as i,O as a,Ot as o,P as s,U as c,V as l,b as u,c as d,g as f,h as p,j as m,k as h,s as g,w as _}from"./queries-BMwc6EvM.js";import{a as v,d as y,f as b,l as x,o as S,r as C,s as w,t as ee,u as T}from"./Rack-CRQSwSeB.js";import{a as E,c as D,d as O,f as k,i as A,l as j,n as M,r as te,s as N,t as P,u as F}from"./Lamp-BXSUIAtG.js";import{n as I,t as L}from"./Chip-Ccqsb_Mq.js";import{t as R}from"./Meter-Fn8X7t60.js";import{a as z,n as B,t as V}from"./States-DBzsiHjQ.js";import{i as H,n as U,r as W,t as G}from"./Table-DPDJeeVc.js";import{t as K}from"./Readout-BKpOZIGX.js";var q=o(),ne=l(s)`
2
2
  font-weight: 500;
3
3
  display: block;
4
4
  max-width: 24ch;
@@ -1,4 +1,4 @@
1
- import{A as e,I as t,N as n,O as r,Ot as i,P as a,V as o,_ as s,f as c,g as l,j as u,k as d,kt as f,o as p,qt as m}from"./queries-BMwc6EvM.js";import{c as h,t as g}from"./Rack-DnbGnBvz.js";import{t as _}from"./CopyValue-BhGx7Gy0.js";import{n as v,r as y,t as b}from"./Toggle-CP3RvAAB.js";import{t as x}from"./Modal-DOQGdhoM.js";import{t as S}from"./Chip-Ccqsb_Mq.js";import{n as C,t as w}from"./Field-Devm4K46.js";import{a as T,i as E,n as D,r as O,t as k}from"./States-DBzsiHjQ.js";import{i as A,n as j,r as M,t as N}from"./Table-DPDJeeVc.js";var P=m(f(),1),F=i(),I=o.div`
1
+ import{A as e,I as t,N as n,O as r,Ot as i,P as a,V as o,_ as s,f as c,g as l,j as u,k as d,kt as f,o as p,qt as m}from"./queries-BMwc6EvM.js";import{c as h,t as g}from"./Rack-CRQSwSeB.js";import{t as _}from"./CopyValue-CvEMy9Zo.js";import{n as v,r as y,t as b}from"./Toggle-CBq5XAMU.js";import{t as x}from"./Modal-C4y9zALa.js";import{t as S}from"./Chip-Ccqsb_Mq.js";import{n as C,t as w}from"./Field-Devm4K46.js";import{a as T,i as E,n as D,r as O,t as k}from"./States-DBzsiHjQ.js";import{i as A,n as j,r as M,t as N}from"./Table-DPDJeeVc.js";var P=m(f(),1),F=i(),I=o.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: 2px;
@@ -0,0 +1,33 @@
1
+ import{A as e,I as t,N as n,O as r,Ot as i,P as a,V as o,c as s,h as ee,j as c,k as l,kt as u,qt as d,t as f}from"./queries-BMwc6EvM.js";import{a as p,c as m,f as h,l as g,m as _,o as v,p as y,s as b,t as x}from"./Rack-CRQSwSeB.js";import{t as S}from"./Modal-C4y9zALa.js";import{c as C,l as w,o as T,s as E,t as D}from"./Lamp-BXSUIAtG.js";import{n as O,t as k}from"./Chip-Ccqsb_Mq.js";import{i as A,n as j}from"./Field-Devm4K46.js";import{a as te,n as ne,r as M,t as N}from"./States-DBzsiHjQ.js";import{i as P,n as F,r as I,t as L}from"./Table-DPDJeeVc.js";var R=_(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),z=_(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),B=_(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),V=d(u(),1),H=i(),U=[50,100,250,500],W=new Intl.NumberFormat(`en-US`);function G(e){return`${W.format(e.inputTokens)} input, ${W.format(e.outputTokens)} output, ${W.format(e.cacheReadTokens)} cache read, ${W.format(e.cacheWriteTokens)} cache write tokens`}var K=o(e)`
2
+ gap: ${({theme:e})=>e.space(2)};
3
+ flex-wrap: wrap;
4
+ `,q=o(j)`
5
+ width: 220px;
6
+ `,J=o(A)`
7
+ width: auto;
8
+ `,Y=o.span`
9
+ display: inline-flex;
10
+ align-items: center;
11
+ gap: 6px;
12
+ white-space: nowrap;
13
+ `,X=o.span`
14
+ display: inline-flex;
15
+ align-items: center;
16
+ gap: 2px;
17
+
18
+ svg {
19
+ width: 12px;
20
+ height: 12px;
21
+ stroke-width: 1.75;
22
+ }
23
+ `;function re({log:e}){if(E(e))return(0,H.jsx)(F,{$align:`right`,$mono:!0,children:`—`});let t=G(e);return(0,H.jsx)(F,{$align:`right`,$mono:!0,"aria-label":t,title:t,children:(0,H.jsxs)(Y,{"aria-hidden":`true`,children:[(0,H.jsxs)(X,{children:[(0,H.jsx)(R,{}),b(e.inputTokens)]}),(0,H.jsxs)(X,{children:[(0,H.jsx)(z,{}),b(e.outputTokens)]}),(0,H.jsxs)(X,{children:[(0,H.jsx)(B,{}),(0,H.jsx)(R,{}),b(e.cacheReadTokens)]}),(0,H.jsxs)(X,{children:[(0,H.jsx)(B,{}),(0,H.jsx)(z,{}),b(e.cacheWriteTokens)]})]})})}var ie=o.dl`
24
+ display: grid;
25
+ grid-template-columns: minmax(120px, auto) minmax(0, 1fr);
26
+ gap: 6px ${({theme:e})=>e.space(3)};
27
+ margin: 0;
28
+ font-size: 12.5px;
29
+ `,Z=o.dd`
30
+ margin: 0;
31
+ font-family: ${({theme:e})=>e.font.mono};
32
+ word-break: break-all;
33
+ `;function Q(){let{cadence:i}=p(),[o,u]=(0,V.useState)(100),[d,_]=(0,V.useState)(`all`),[A,j]=(0,V.useState)(``),[R,z]=(0,V.useState)(null),B=ee(o,i(f)),W=s(),G=(0,V.useMemo)(()=>{let e=new Map;for(let t of W.data??[])e.set(t.id,t.label);return e},[W.data]),Y=A.trim().toLowerCase(),X=(B.data??[]).filter(e=>d===`failed`&&!T(e)?!1:Y.length===0||e.requestedModel.toLowerCase().includes(Y)||(e.resolvedModel??``).toLowerCase().includes(Y)||(e.errorCode??``).toLowerCase().includes(Y)||(e.credentialId===null?``:G.get(e.credentialId)??``).toLowerCase().includes(Y)),Q=(B.data??[]).filter(T).length,$=(B.data??[]).filter(E).length;return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(x,{legend:`Logs`,title:`Recent requests`,summary:B.isLoading?`Reading the request log…`:`${b(B.data?.length??0)} recent requests, ${b(Q)} of them failed${$===0?``:`, ${b($)} still running`}. Prompt and response bodies are never recorded.`,actions:(0,H.jsxs)(K,{children:[(0,H.jsx)(q,{value:A,placeholder:`Filter by model, account, or error`,"aria-label":`Filter requests`,onChange:e=>j(e.target.value)}),(0,H.jsxs)(J,{value:d,"aria-label":`Show which requests`,onChange:e=>_(e.target.value),children:[(0,H.jsx)(`option`,{value:`all`,children:`All requests`}),(0,H.jsx)(`option`,{value:`failed`,children:`Failed only`})]}),(0,H.jsx)(J,{value:o,"aria-label":`How many requests to fetch`,onChange:e=>u(Number(e.target.value)),children:U.map(e=>(0,H.jsxs)(`option`,{value:e,children:[`last `,e]},e))})]})}),(0,H.jsx)(te,{legend:`Request log`,meta:`${X.length} shown`,flush:!0,children:B.isError?(0,H.jsx)(ne,{error:B.error,onRetry:()=>void B.refetch()}):B.isLoading?(0,H.jsx)(`div`,{style:{padding:12},children:(0,H.jsx)(M,{rows:8})}):X.length===0?(0,H.jsx)(N,{legend:`Nothing to show`,message:(B.data?.length??0)===0?`No requests have reached the gateway yet.`:`No request in this window matches the filter. Clear it to see everything.`}):(0,H.jsx)(c,{children:(0,H.jsxs)(L,{children:[(0,H.jsx)(`thead`,{children:(0,H.jsxs)(`tr`,{children:[(0,H.jsx)(I,{}),(0,H.jsx)(I,{$align:`right`,children:`Time`}),(0,H.jsx)(I,{children:`Requested`}),(0,H.jsx)(I,{children:`Routed to`}),(0,H.jsx)(I,{children:`Account`}),(0,H.jsx)(I,{$align:`right`,children:`Try`}),(0,H.jsx)(I,{$align:`right`,children:`TTFT`}),(0,H.jsx)(I,{$align:`right`,children:`Total`}),(0,H.jsx)(I,{$align:`right`,children:`Tokens`}),(0,H.jsx)(I,{$align:`right`,children:`Cost`}),(0,H.jsx)(I,{children:`Outcome`})]})}),(0,H.jsx)(`tbody`,{children:X.map(t=>(0,H.jsxs)(P,{$selectable:!0,onClick:()=>z(t),children:[(0,H.jsx)(F,{children:(0,H.jsx)(D,{state:w(t),label:C(t)})}),(0,H.jsx)(F,{$align:`right`,$mono:!0,title:m(t.at),children:v(t.at)}),(0,H.jsx)(F,{$mono:!0,children:(0,H.jsx)(a,{style:{display:`block`,maxWidth:`20ch`},children:t.requestedModel||`—`})}),(0,H.jsx)(F,{children:t.resolvedProvider===null?(0,H.jsx)(r,{children:E(t)?`routing…`:`not routed`}):(0,H.jsxs)(e,{$gap:1,children:[(0,H.jsx)(O,{provider:t.resolvedProvider}),(0,H.jsx)(l,{$dim:!0,children:t.resolvedModel??`—`})]})}),(0,H.jsx)(F,{children:(0,H.jsx)(a,{style:{display:`block`,maxWidth:`18ch`},children:t.credentialId===null?`—`:G.get(t.credentialId)??y(t.credentialId)})}),(0,H.jsx)(F,{$align:`right`,$mono:!0,children:E(t)?`—`:t.attempts}),(0,H.jsx)(F,{$align:`right`,$mono:!0,children:E(t)?`—`:g(t.ttftMs)}),(0,H.jsx)(F,{$align:`right`,$mono:!0,children:E(t)?`—`:g(t.durationMs)}),(0,H.jsx)(re,{log:t}),(0,H.jsx)(F,{$align:`right`,$mono:!0,children:E(t)?`—`:h(t.costUsd)}),(0,H.jsx)(F,{children:E(t)?(0,H.jsx)(k,{$tone:`accent`,children:`live`}):t.errorCode===null?(0,H.jsx)(k,{$tone:`ok`,children:t.status}):(0,H.jsx)(k,{$tone:`down`,children:t.errorCode})})]},t.id))})]})})}),(0,H.jsx)(S,{open:R!==null,onOpenChange:e=>{e||z(null)},title:`Request detail`,width:`600px`,footer:(0,H.jsx)(t,{type:`button`,onClick:()=>z(null),children:`Close`}),children:R===null?null:(0,H.jsxs)(n,{$gap:3,children:[(0,H.jsxs)(ie,{children:[(0,H.jsx)(r,{as:`dt`,children:`Request id`}),(0,H.jsx)(Z,{children:R.id}),(0,H.jsx)(r,{as:`dt`,children:`At`}),(0,H.jsx)(Z,{children:m(R.at)}),(0,H.jsx)(r,{as:`dt`,children:`Requested model`}),(0,H.jsx)(Z,{children:R.requestedModel||`—`}),(0,H.jsx)(r,{as:`dt`,children:`Routed to`}),(0,H.jsx)(Z,{children:E(R)?`—`:R.resolvedProvider===null?`not routed`:`${R.resolvedProvider} · ${R.resolvedModel??`—`}`}),(0,H.jsx)(r,{as:`dt`,children:`Account`}),(0,H.jsx)(Z,{children:R.credentialId===null?`—`:G.get(R.credentialId)??R.credentialId}),(0,H.jsx)(r,{as:`dt`,children:`Key`}),(0,H.jsx)(Z,{children:R.apiKeyId??`—`}),(0,H.jsx)(r,{as:`dt`,children:`Attempts`}),(0,H.jsx)(Z,{children:E(R)?`—`:R.attempts}),(0,H.jsx)(r,{as:`dt`,children:`Status`}),(0,H.jsx)(Z,{children:E(R)?`in flight`:R.errorCode===null?R.status:`${R.status} ${R.errorCode}`}),(0,H.jsx)(r,{as:`dt`,children:`Timing`}),(0,H.jsx)(Z,{children:E(R)?`—`:`first token ${g(R.ttftMs)} · total ${g(R.durationMs)}`}),(0,H.jsx)(r,{as:`dt`,children:`Tokens`}),(0,H.jsx)(Z,{children:E(R)?`—`:(0,H.jsxs)(H.Fragment,{children:[b(R.inputTokens),` in · `,b(R.outputTokens),` out ·`,` `,b(R.cacheReadTokens),` cache read ·`,` `,b(R.cacheWriteTokens),` cache write`]})}),(0,H.jsx)(r,{as:`dt`,children:`Cost`}),(0,H.jsx)(Z,{children:E(R)?`—`:h(R.costUsd)})]}),R.degradations.length===0?null:(0,H.jsxs)(n,{$gap:1,children:[(0,H.jsx)(r,{children:`Capabilities dropped to fit the target`}),(0,H.jsx)(e,{$gap:1,$wrap:!0,children:R.degradations.map(e=>(0,H.jsx)(k,{$tone:`warn`,children:e},e))})]})]})})]})}var $=Q;export{$ as component};
@@ -1,4 +1,4 @@
1
- import{A as e,I as t,L as n,M as r,N as i,O as a,Ot as o,P as s,V as c,b as l,d as u,g as d,k as f,kt as p,qt as m,u as h,v as g}from"./queries-BMwc6EvM.js";import{m as _,t as v}from"./Rack-DnbGnBvz.js";import{n as y,r as b,t as x}from"./Toggle-CP3RvAAB.js";import{t as S}from"./trash-2-Cq7ldH9D.js";import{n as C,t as w}from"./Chip-Ccqsb_Mq.js";import{i as T,n as E,r as D,t as O}from"./Field-Devm4K46.js";import{t as ee}from"./Meter-Fn8X7t60.js";import{a as k,i as A,n as te,r as j,t as M}from"./States-DBzsiHjQ.js";import{n as ne,t as N}from"./catalog-DVRPlBJJ.js";var re=_(`play`,[[`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`,key:`10ikf1`}]]),P=_(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),F=m(p(),1),I=o(),L=[`tier`,`health`,`quota`,`cost`,`latency`,`recency`],ie={tier:`How preferred this tier is`,health:`Consecutive failures and breaker state`,quota:`Headroom in the tightest window, against how much of it is left`,cost:`Price against the other candidates`,latency:`Observed time to first token`,recency:`How long this pair has been idle`},ae=c.li`
1
+ import{A as e,I as t,L as n,M as r,N as i,O as a,Ot as o,P as s,V as c,b as l,d as u,g as d,k as f,kt as p,qt as m,u as h,v as g}from"./queries-BMwc6EvM.js";import{m as _,t as v}from"./Rack-CRQSwSeB.js";import{n as y,r as b,t as x}from"./Toggle-CBq5XAMU.js";import{t as S}from"./trash-2-DFVxurNH.js";import{n as C,t as w}from"./Chip-Ccqsb_Mq.js";import{i as T,n as E,r as D,t as O}from"./Field-Devm4K46.js";import{t as ee}from"./Meter-Fn8X7t60.js";import{a as k,i as A,n as te,r as j,t as M}from"./States-DBzsiHjQ.js";import{n as ne,t as N}from"./catalog-DVRPlBJJ.js";var re=_(`play`,[[`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`,key:`10ikf1`}]]),P=_(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),F=m(p(),1),I=o(),L=[`tier`,`health`,`quota`,`cost`,`latency`,`recency`],ie={tier:`How preferred this tier is`,health:`Consecutive failures and breaker state`,quota:`Headroom in the tightest window, against how much of it is left`,cost:`Price against the other candidates`,latency:`Observed time to first token`,recency:`How long this pair has been idle`},ae=c.li`
2
2
  padding: ${({theme:e})=>e.space(2)} 0;
3
3
  border-bottom: 1px solid ${({theme:e})=>e.color.rule};
4
4
 
@@ -1,4 +1,4 @@
1
- import{A as e,I as t,M as n,N as r,O as i,Ot as a,V as o,b as s,k as c,kt as l,qt as u,y as d}from"./queries-BMwc6EvM.js";import{t as f}from"./Rack-DnbGnBvz.js";import{n as p,t as m}from"./Field-Devm4K46.js";import{t as h}from"./Meter-Fn8X7t60.js";import{a as g,i as _,n as v,r as y}from"./States-DBzsiHjQ.js";var b=u(l(),1),x=a(),S=[{id:`tier`,label:`Tier`,blurb:`How strongly a lower tier is preferred.`},{id:`health`,label:`Health`,blurb:`Penalty for recent failures and an open breaker.`},{id:`quota`,label:`Quota`,blurb:`Preference for accounts keeping ahead of their window's burn rate.`},{id:`cost`,label:`Cost`,blurb:`Preference for the cheaper target of the candidates.`},{id:`latency`,label:`Latency`,blurb:`Preference for the faster observed first token.`},{id:`recency`,label:`Recency`,blurb:`Preference for accounts that have been idle.`}],C=[{id:`maxAttempts`,label:`Attempts per request`,hint:`How many candidates dispatch may try before giving up. 1 disables failover.`,unit:`attempts`,step:1,min:1},{id:`requestDeadlineMs`,label:`Request deadline`,hint:`How long a single client request may take across all attempts.`,unit:`ms`,step:1e3,min:1},{id:`breakerThreshold`,label:`Breaker threshold`,hint:`Consecutive failures on one account and model before it is taken out of rotation.`,unit:`failures`,step:1,min:1},{id:`breakerCooldownMs`,label:`Breaker cooldown`,hint:`Base wait before a tripped account is probed again. Doubles per extra failure.`,unit:`ms`,step:1e3,min:1},{id:`logRetentionDays`,label:`Log retention`,hint:`How long request rows are kept before maintenance prunes them.`,unit:`days`,step:1,min:1},{id:`quotaPollIntervalMs`,label:`Quota poll interval`,hint:`How often each account's provider is asked for its remaining quota. 0 disables polling. Takes effect on restart.`,unit:`ms`,step:6e4,min:0}],w=o.div`
1
+ import{A as e,I as t,M as n,N as r,O as i,Ot as a,V as o,b as s,k as c,kt as l,qt as u,y as d}from"./queries-BMwc6EvM.js";import{t as f}from"./Rack-CRQSwSeB.js";import{n as p,t as m}from"./Field-Devm4K46.js";import{t as h}from"./Meter-Fn8X7t60.js";import{a as g,i as _,n as v,r as y}from"./States-DBzsiHjQ.js";var b=u(l(),1),x=a(),S=[{id:`tier`,label:`Tier`,blurb:`How strongly a lower tier is preferred.`},{id:`health`,label:`Health`,blurb:`Penalty for recent failures and an open breaker.`},{id:`quota`,label:`Quota`,blurb:`Preference for accounts keeping ahead of their window's burn rate.`},{id:`cost`,label:`Cost`,blurb:`Preference for the cheaper target of the candidates.`},{id:`latency`,label:`Latency`,blurb:`Preference for the faster observed first token.`},{id:`recency`,label:`Recency`,blurb:`Preference for accounts that have been idle.`}],C=[{id:`maxAttempts`,label:`Attempts per request`,hint:`How many candidates dispatch may try before giving up. 1 disables failover.`,unit:`attempts`,step:1,min:1},{id:`requestDeadlineMs`,label:`Request deadline`,hint:`How long a single client request may take across all attempts.`,unit:`ms`,step:1e3,min:1},{id:`breakerThreshold`,label:`Breaker threshold`,hint:`Consecutive failures on one account and model before it is taken out of rotation.`,unit:`failures`,step:1,min:1},{id:`breakerCooldownMs`,label:`Breaker cooldown`,hint:`Base wait before a tripped account is probed again. Doubles per extra failure.`,unit:`ms`,step:1e3,min:1},{id:`logRetentionDays`,label:`Log retention`,hint:`How long request rows are kept before maintenance prunes them.`,unit:`days`,step:1,min:1},{id:`quotaPollIntervalMs`,label:`Quota poll interval`,hint:`How often each account's provider is asked for its remaining quota. 0 disables polling. Takes effect on restart.`,unit:`ms`,step:6e4,min:0}],w=o.div`
2
2
  display: grid;
3
3
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
4
4
  gap: ${({theme:e})=>e.space(3)};
@@ -1,4 +1,4 @@
1
- import{A as e,D as t,Gt as n,I as r,Kt as i,N as a,O as o,Ot as s,P as c,V as l,W as u,c as d,f,g as p,j as m,k as h,kt as g,q as _,qt as v,w as y}from"./queries-BMwc6EvM.js";import{i as b,n as x,r as S}from"./index-C53PiRfb.js";import{a as C,f as w,l as T,r as E,s as D,t as O,u as k}from"./Rack-DnbGnBvz.js";import{a as A,n as j,r as M,t as N}from"./States-DBzsiHjQ.js";import{i as ee,n as P,r as te,t as ne}from"./Table-DPDJeeVc.js";import{t as re}from"./catalog-DVRPlBJJ.js";import{t as ie}from"./Readout-BKpOZIGX.js";var F=v(g(),1),ae=[{id:`1h`,label:`1 hour`,ms:36e5,grain:`raw`,by:`hour`},{id:`24h`,label:`24 hours`,ms:864e5,grain:`raw`,by:`hour`},{id:`7d`,label:`7 days`,ms:6048e5,grain:`raw`,by:`hour`},{id:`30d`,label:`30 days`,ms:2592e6,grain:`raw`,by:`hour`},{id:`90d`,label:`90 days`,ms:7776e6,grain:`daily`,by:`day`},{id:`1y`,label:`12 months`,ms:31536e6,grain:`daily`,by:`day`}];function oe(e){return ae.find(t=>t.id===e)??ae[1]}var se=[{id:`requests`,label:`Requests`,of:e=>e.requests,format:D},{id:`tokens`,label:`Tokens`,of:e=>e.inputTokens+e.outputTokens,format:D},{id:`cost`,label:`Cost`,of:e=>e.costUsd,format:w}];function ce(e){return se.find(t=>t.id===e)??se[0]}var le=36e5;function ue(e,t){let n=Number(e);return Number.isFinite(n)?t===`hour`?n*le:n:NaN}function de(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function fe(e,t,n){let r=[];if(n===`hour`){let n=Math.floor(e/le)*le;for(let e=n;e<=t;e+=le)r.push(e);return r}let i=new Date(de(e));for(;i.getTime()<=t;)r.push(i.getTime()),i.setDate(i.getDate()+1);return r}function I(e,t){return Number.isFinite(e)?new Date(e).toLocaleString(`en-GB`,{day:`2-digit`,month:`short`,...t===`hour`?{hour:`2-digit`,hour12:!1}:{year:`2-digit`}}):`—`}function pe(e){return new Date(e).toLocaleDateString(`en-GB`,{weekday:`short`,day:`numeric`,month:`short`,year:`numeric`})}var me={requests:0,errors:0,costUsd:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,durationMsSum:0};function he(e,t){return{requests:e.requests+t.requests,errors:e.errors+t.errors,costUsd:e.costUsd+t.costUsd,inputTokens:e.inputTokens+t.inputTokens,outputTokens:e.outputTokens+t.outputTokens,cacheReadTokens:e.cacheReadTokens+t.cacheReadTokens,cacheWriteTokens:e.cacheWriteTokens+t.cacheWriteTokens,durationMsSum:e.durationMsSum+t.durationMsSum}}function ge(e){return e.reduce(he,me)}function _e(e,t){let n=new Map;for(let t of e){let e=t.split??t.key;n.set(e,he(n.get(e)??me,t))}return new Map([...n.entries()].sort((e,n)=>t.of(ve(n[1]))-t.of(ve(e[1]))))}function ve(e){return{key:``,...e}}function ye(e,t,n,r){let i=new Map;for(let t of e){let e=`${ue(t.key,n)} ${t.split??`unknown`}`;i.set(e,(i.get(e)??0)+r.of(t))}let a=new Set(e.map(e=>e.split??`unknown`));return t.map(e=>{let t={at:e};for(let n of a)t[n]=i.get(`${e} ${n}`)??0;return t})}var be=l(r)`
1
+ import{A as e,D as t,Gt as n,I as r,Kt as i,N as a,O as o,Ot as s,P as c,V as l,W as u,c as d,f,g as p,j as m,k as h,kt as g,q as _,qt as v,w as y}from"./queries-BMwc6EvM.js";import{i as b,n as x,r as S}from"./index-BYyeRTQJ.js";import{a as C,f as w,l as T,r as E,s as D,t as O,u as k}from"./Rack-CRQSwSeB.js";import{a as A,n as j,r as M,t as N}from"./States-DBzsiHjQ.js";import{i as ee,n as P,r as te,t as ne}from"./Table-DPDJeeVc.js";import{t as re}from"./catalog-DVRPlBJJ.js";import{t as ie}from"./Readout-BKpOZIGX.js";var F=v(g(),1),ae=[{id:`1h`,label:`1 hour`,ms:36e5,grain:`raw`,by:`hour`},{id:`24h`,label:`24 hours`,ms:864e5,grain:`raw`,by:`hour`},{id:`7d`,label:`7 days`,ms:6048e5,grain:`raw`,by:`hour`},{id:`30d`,label:`30 days`,ms:2592e6,grain:`raw`,by:`hour`},{id:`90d`,label:`90 days`,ms:7776e6,grain:`daily`,by:`day`},{id:`1y`,label:`12 months`,ms:31536e6,grain:`daily`,by:`day`}];function oe(e){return ae.find(t=>t.id===e)??ae[1]}var se=[{id:`requests`,label:`Requests`,of:e=>e.requests,format:D},{id:`tokens`,label:`Tokens`,of:e=>e.inputTokens+e.outputTokens,format:D},{id:`cost`,label:`Cost`,of:e=>e.costUsd,format:w}];function ce(e){return se.find(t=>t.id===e)??se[0]}var le=36e5;function ue(e,t){let n=Number(e);return Number.isFinite(n)?t===`hour`?n*le:n:NaN}function de(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function fe(e,t,n){let r=[];if(n===`hour`){let n=Math.floor(e/le)*le;for(let e=n;e<=t;e+=le)r.push(e);return r}let i=new Date(de(e));for(;i.getTime()<=t;)r.push(i.getTime()),i.setDate(i.getDate()+1);return r}function I(e,t){return Number.isFinite(e)?new Date(e).toLocaleString(`en-GB`,{day:`2-digit`,month:`short`,...t===`hour`?{hour:`2-digit`,hour12:!1}:{year:`2-digit`}}):`—`}function pe(e){return new Date(e).toLocaleDateString(`en-GB`,{weekday:`short`,day:`numeric`,month:`short`,year:`numeric`})}var me={requests:0,errors:0,costUsd:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,durationMsSum:0};function he(e,t){return{requests:e.requests+t.requests,errors:e.errors+t.errors,costUsd:e.costUsd+t.costUsd,inputTokens:e.inputTokens+t.inputTokens,outputTokens:e.outputTokens+t.outputTokens,cacheReadTokens:e.cacheReadTokens+t.cacheReadTokens,cacheWriteTokens:e.cacheWriteTokens+t.cacheWriteTokens,durationMsSum:e.durationMsSum+t.durationMsSum}}function ge(e){return e.reduce(he,me)}function _e(e,t){let n=new Map;for(let t of e){let e=t.split??t.key;n.set(e,he(n.get(e)??me,t))}return new Map([...n.entries()].sort((e,n)=>t.of(ve(n[1]))-t.of(ve(e[1]))))}function ve(e){return{key:``,...e}}function ye(e,t,n,r){let i=new Map;for(let t of e){let e=`${ue(t.key,n)} ${t.split??`unknown`}`;i.set(e,(i.get(e)??0)+r.of(t))}let a=new Set(e.map(e=>e.split??`unknown`));return t.map(e=>{let t={at:e};for(let n of a)t[n]=i.get(`${e} ${n}`)??0;return t})}var be=l(r)`
2
2
  border-color: ${({theme:e,$on:t})=>t?e.color.accent:e.color.ruleStrong};
3
3
  color: ${({theme:e,$on:t})=>t?e.color.accent:e.color.inkDim};
4
4
  background: ${({theme:e,$on:t})=>t?e.color.accentWash:e.color.panelRaised};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_app-D83powx4.js","assets/queries-BMwc6EvM.js","assets/Rack-DnbGnBvz.js","assets/Lamp-BXSUIAtG.js","assets/login-BuvJY1Qd.js","assets/Field-Devm4K46.js","assets/States-DBzsiHjQ.js","assets/_app.index-DimCB0Bo.js","assets/Chip-Ccqsb_Mq.js","assets/Meter-Fn8X7t60.js","assets/Table-DPDJeeVc.js","assets/Readout-BKpOZIGX.js","assets/_app.accounts-DR-2t9-7.js","assets/CopyValue-BhGx7Gy0.js","assets/Toggle-CP3RvAAB.js","assets/Modal-DOQGdhoM.js","assets/trash-2-Cq7ldH9D.js","assets/catalog-DVRPlBJJ.js","assets/_app.keys-B7kl3CSe.js","assets/_app.logs-BjtdzcDY.js","assets/_app.models-BEECjcLM.js","assets/_app.settings-DtDIhAAr.js","assets/_app.usage-BChnSBbS.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_app-VCodWes4.js","assets/queries-BMwc6EvM.js","assets/Rack-CRQSwSeB.js","assets/Lamp-BXSUIAtG.js","assets/login-Gyf-1fSa.js","assets/Field-Devm4K46.js","assets/States-DBzsiHjQ.js","assets/_app.index-C5Vd-zlp.js","assets/Chip-Ccqsb_Mq.js","assets/Meter-Fn8X7t60.js","assets/Table-DPDJeeVc.js","assets/Readout-BKpOZIGX.js","assets/_app.accounts-BP3L84us.js","assets/CopyValue-CvEMy9Zo.js","assets/Toggle-CBq5XAMU.js","assets/Modal-C4y9zALa.js","assets/trash-2-DFVxurNH.js","assets/catalog-DVRPlBJJ.js","assets/_app.keys-0e1BHrIZ.js","assets/_app.logs-DNSND96R.js","assets/_app.models-DzFIbnem.js","assets/_app.settings-Du5Nsp9f.js","assets/_app.usage-DKq4Hsia.js"])))=>i.map(i=>d[i]);
2
2
  import{$ as e,At as t,Bt as n,Ct as r,Dt as i,E as a,Et as o,Ft as s,G as c,Gt as l,H as u,Ht as d,I as f,It as p,J as m,K as h,Lt as g,Mt as _,N as v,Nt as y,O as b,Ot as x,Pt as S,Q as C,Rt as ee,St as te,T as ne,Tt as re,U as ie,Ut as ae,V as oe,Vt as se,W as ce,Wt as le,X as w,Y as T,Z as ue,_t as de,at as fe,bt as pe,ct as me,dt as E,et as he,ft as ge,gt as _e,ht as ve,it as ye,jt as be,kt as xe,lt as Se,mt as Ce,nt as we,ot as Te,pt as Ee,qt as De,r as Oe,rt as ke,st as Ae,tt as je,ut as Me,vt as Ne,wt as Pe,xt as Fe,yt as Ie,z as Le,zt as Re}from"./queries-BMwc6EvM.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ze=class extends le{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,n,r){let i=new t({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(n),state:r});return this.add(i),i}add(e){this.#e.add(e);let t=Be(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Be(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Be(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=Be(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){y.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>g(t,e))}findAll(e={}){return this.getAll().filter(t=>g(e,t))}notify(e){y.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return y.batch(()=>Promise.all(e.map(e=>e.continue().catch(Re))))}};function Be(e){return e.options.scope?.id}var Ve=class extends le{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??p(r,t),a=this.get(i);return a||(a=new be({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){y.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ee(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>ee(e,t)):t}notify(e){y.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){y.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){y.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},He=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Ve,this.#t=e.mutationCache||new ze,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=ae.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=_.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(se(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=S(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return y.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;y.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return y.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=y.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(Re).catch(Re)}invalidateQueries(e,t={}){return y.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=y.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(Re)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(Re)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(se(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Re).catch(Re)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Re).catch(Re)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return _.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(s(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],r={};return t.forEach(t=>{n(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#i.set(s(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],r={};return t.forEach(t=>{n(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=p(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===d&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};function Ue(e){return e?.isNotFound===!0}function We(){try{return sessionStorage}catch{return}}var Ge=`tsr-scroll-restoration-v1_3`,Ke=We();function qe(){try{return JSON.parse(Ke?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function Je(){try{Ke?.setItem(Ge,JSON.stringify(Ye))}catch{}}var Ye=qe(),Xe=`data-scroll-restoration-id`,Ze=e=>e.state.__TSR_key||e.href;function Qe(e){let t=e.getAttribute(Xe);if(t)return`[${Xe}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var $e=!1,et=`window`;function tt(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function nt(e){let t=new Set;for(let n of e){if(n===et)continue;let e=tt(n);e&&t.add(e)}return t}function rt(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||Ze,a=new Set,o=e=>{let t=Ye[e]||={};for(let e of a)e===document?t[et]={scrollX,scrollY}:e.isConnected&&(t[Qe(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,$e=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{$e||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),Je()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=Ye[d];if(e){let t=Ye[u];for(let n in e){if(n===et){if(s)continue}else{let e=tt(n);if(!e||s&&o&&(l??=nt(o),l.has(e)))continue}t||=Ye[u]={},t[n]??=e[n]}}}$e=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=nt(o));let t=e&&i&&c,s=r.restoring?Ye[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===et){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=tt(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{$e=!1}}))}function it(e,t=String){let n=new URLSearchParams;for(let r in e){let i=e[r];i!==void 0&&n.set(r,t(i))}return n.toString()}function at(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function ot(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=at(r):Array.isArray(t)?t.push(at(r)):n[e]=[t,at(r)]}return n}var st=lt(JSON.parse),ct=ut(JSON.stringify,JSON.parse);function lt(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=ot(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function ut(e,t){let n=typeof t==`function`;function r(r){if(typeof r==`object`&&r)try{return e(r)}catch{}else if(n&&typeof r==`string`)try{return t(r),e(r)}catch{}return r}return e=>{let t=it(e,r);return t?`?${t}`:``}}var dt=`__root__`;function ft(e){if(e.statusCode=e.statusCode||e.code||307,!e._builtLocation&&!e.reloadDocument&&typeof e.href==`string`)try{new URL(e.href),e.reloadDocument=!0}catch{}let t=new Headers(e.headers);e.href&&t.get(`Location`)===null&&t.set(`Location`,e.href);let n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function pt(e){return e instanceof Response&&!!e.options}function mt(e){return{input:({url:t})=>{for(let n of e)t=gt(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=D(e[n],t);return t}}}function ht(e){let t=we(e.basepath),n=`/${t}`,r=e.caseSensitive?n:n.toLowerCase(),i=`${r}/`;return{input:({url:t})=>{let a=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return a===r?t.pathname=`/`:a.startsWith(i)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=he([`/`,t,e.pathname]),e)}}function gt(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function D(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function _t(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),s=n(e),c=n(void 0),l=n([]),u=r(()=>l.get().map(e=>a.get(e).get())),d=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:u.get(),location:s.get(),resolvedLocation:c.get()}));function f(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let p={status:o,location:s,resolvedLocation:c,ids:l,matches:u,byRoute:a,__store:d,getMatchStore:f,setMatches:m};function m(e){let t=l.get(),n=e.map(e=>e.routeId);i(()=>{Ce(t,n)||l.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=f(t.routeId);e.get()!==t&&e.set(t)}})}return p}var vt=`__TSR_index`,yt=`popstate`,bt=`beforeunload`;function xt(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=Tt(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[vt];i=St(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[vt];i=St(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[vt]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function St(e,t){t||={};let n=Et();return{...t,key:n,__TSR_key:n,[vt]:e}}function Ct(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>Tt(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=Et();t.history.replaceState({[vt]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_,v=()=>{g&&(C._ignoreSubscribers=!0,(g.isPush?t.history.pushState:t.history.replaceState)(g.state,``,g.href),C._ignoreSubscribers=!1,g=void 0,_=void 0,u=void 0)},y=(e,t,n)=>{let r=s(t);_||(u=l),l=Tt(t,n),g={href:r,state:n,isPush:g?.isPush||e===`push`},_||=Promise.resolve().then(()=>v())},b=e=>{l=c(),C.notify({type:e})},x=async()=>{if(f){f=!1;return}let e=c(),n=e.state[vt]-l.state[vt],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),C.notify(u);return}}}l=c(),C.notify(u)},S=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},C=xt({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>y(`push`,e,t),replaceState:(e,t)=>y(`replace`,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:v,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(bt,S,{capture:!0}),t.removeEventListener(yt,x)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener(bt,S,{capture:!0}),t.addEventListener(yt,x),t.history.pushState=function(...e){let r=n.apply(t.history,e);return C._ignoreSubscribers||b(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return C._ignoreSubscribers||b(`REPLACE`),n},C}function wt(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function Tt(e,t){let n=wt(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=Et();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[vt]:0,key:a,__TSR_key:a}}}function Et(){return(Math.random()+1).toString(36).substring(7)}function Dt(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function Ot(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function O({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function kt(e,t,n,r){for(let i of t){if(r?.()===!1)return;n.some(e=>e.routeId===i.routeId)||e.routesById[i.routeId].options.onLeave?.(i)}for(let i of n){if(r?.()===!1)return;e.routesById[i.routeId].options[t.some(e=>e.routeId===i.routeId)?`onStay`:`onEnter`]?.(i)}}var At=class{constructor(t,n){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=C(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:Ct()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`,this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=E(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=_t(this.latestLocation,e),rt(this)}let a=this.options.basepath??`/`,o=this.options.rewrite;if(r||n!==a||i!==o){this.basepath=a;let e=[],t=we(a);t&&t!==`/`&&e.push(ht({basepath:a})),o&&e.push(o),this.rewrite=e.length===0?void 0:e.length===1?e[0]:mt(e),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=Me(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&Se(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:i,href:a,state:o})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let a=this.options.parseSearch(n),s=this.options.stringifySearch(a);return{href:e+s+i,publicHref:e+s+i,pathname:ve(e).path,external:!1,searchStr:s,search:r(t?.search,a),hash:ve(i.slice(1)).path,state:Pe(t?.state,o)}}let s=new URL(a,this.origin),c=gt(this.rewrite,s),l=this.options.parseSearch(c.search),u=this.options.stringifySearch(l);return c.search=u,{href:c.href.replace(c.origin,``),publicHref:a,pathname:ve(c.pathname).path,external:!!this.rewrite&&c.origin!==this.origin,searchStr:u,search:r(t?.search,l),hash:ve(c.hash.slice(1)).path,state:Pe(t?.state,o)}},i=n(e),{__tempLocation:a,__tempKey:o}=i.state;if(a&&(!o||o===this.tempLocationKey)){let e=n(a);return e.state.key=i.state.key,e.state.__TSR_key=i.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:i}}return i},this.resolvePathWithBase=(e,t)=>je({base:e,to:t.includes(`//`)?ue(t):t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=Ae(ye(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),{matchedRoutes:n?.branch||[this.routesById.__root__],routeParams:t,foundRoute:n?.route}},this.buildLocation=t=>{let n=(n={})=>{let i=n._fromLocation||this._pendingLocation||this.latestLocation,a=this.matchRoutesLightweight(i);n.from;let o=n.unsafeRelative===`path`?i.pathname:n.from??a.fullPath,s=n.to?`${n.to}`:void 0,c=a.search,l=Object.assign(Object.create(null),a.params),u=s?.charCodeAt(0)===47?`/`:this.resolvePathWithBase(o,`.`),d=s?this.resolvePathWithBase(u,s):u,f=It(n.params,l),p=this.routesByPath[ye(d)],m;if(p)m=this.getRouteBranch(p);else if(d.includes(`$`))m=[];else{let e=this.getMatchedRoutes(d);m=e.matchedRoutes,this.options.notFoundRoute&&(!e.foundRoute||e.foundRoute.path!==`/`&&e.routeParams[`**`])&&(m=[...m,this.options.notFoundRoute])}if(m.length&&Ie(f))for(let e of m){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(f,t(f))}catch{}}let h=t.leaveParams?d:ve(e({path:d,params:f,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,g=c;if(t._includeValidateSearch&&this.options.search?.strict){let e={};m.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,Nt(t.options.validateSearch,{...e,...g}))}catch{}}),g=e}g=Pt(g,n,m,t._includeValidateSearch),g=r(c,g);let _=this.options.stringifySearch(g),v=n.hash===!0?i.hash:n.hash?Ne(n.hash,i.hash):void 0,y=v?`#${v}`:``,b=n.state===!0?i.state:n.state?Ne(n.state,i.state):{};b=Pe(i.state,b);let x=`${h}${_}${y}`,S,C,ee=!1;if(this.rewrite){let e=new URL(x,this.origin),t=D(this.rewrite,e);S=e.href.replace(e.origin,``),t.origin===this.origin?C=t.pathname+t.search+t.hash:(C=t.href,ee=!0)}else S=de(x),C=S;return{publicHref:C,href:S,pathname:h,search:g,searchStr:_,state:b,hash:v??``,external:ee,unmaskOnReload:n.unmaskOnReload}},i=(e={},r)=>{let i=n(e),a=r?n(r):void 0;if(!a){let e=Object.create(null);if(this.options.routeMasks){let o=Te(i.pathname,this.processedTree);if(o){Object.assign(e,o.rawParams);let{from:i,params:s,...c}=o.route,l=It(s,e);r={from:t.from,...c,params:l},a=n(r)}}}return a&&(i.maskedLocation=a),i};return t.mask?i(t,{from:t.from,...t.mask}):i(t)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r,i=ye(this.latestLocation.href)===ye(n.href)&&_e(O(n.state),O(this.latestLocation.state)),a=this._commitPromise,o,s=new Promise(e=>{o=e});if(s.resolve=()=>{o(),a?.resolve()},this._commitPromise=s,i)this.load();else{let{maskedLocation:i,hashScrollIntoView:a,...o}=n;i&&(o={...i,state:{...i.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state.__hashScrollIntoViewOptions=a??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,r=n.replace?`REPLACE`:`PUSH`,this.history[r===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:r}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,_redirects:a,href:o,...s}={})=>{if(o){let t=this.history.location.state.__TSR_index,n=Tt(o,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);s.to=gt(this.rewrite,r).pathname,s.search=this.options.parseSearch(n.search),s.hash=n.hash.slice(1)}let c=this.buildLocation({...s,_includeValidateSearch:!0});a&&(c._redirects=a),this._pendingLocation=c;let l=this.commitLocation({...c,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===c&&(this._pendingLocation=void 0)}),l},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(pe(t,this.protocolAllowlist))return;if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return}i.replace?window.location.replace(t):window.location.href=t;return}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await Mn(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Ot(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set([...t,...this._cache.values(),...[...r?.values()??[]].flat(),...this._tx?.[3]??[]].filter(e=>!n||n(e)).map(e=>e.id)),a=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),a.push(e));let o=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&Dt(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(o);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of a)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=(e.options._builtLocation??this.buildLocation(e.options)).publicHref||`/`;e.options.href=t,e.headers.set(`Location`,t)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&pe(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=Bt,this.preloadRoute=e=>Nn(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=me(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!_e(o.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?_e(a.search,r.search,{partial:!0})?o.rawParams:!1:o.rawParams},this.getStoreConfig=n,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...t,caseSensitive:t.caseSensitive??!1,notFoundMode:t.notFoundMode??`fuzzy`,stringifySearch:t.stringifySearch??ct,parseSearch:t.parseSearch??st,protocolAllowlist:t.protocolAllowlist??Ee}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=fe(e),this.routeBranchCache.set(e,t)),t}matchRoutesInternal(t,n){let i=this.getMatchedRoutes(t.pathname),{foundRoute:a,routeParams:o}=i,{matchedRoutes:s}=i,c=!1;(a?a.path!==`/`&&o[`**`]:ye(t.pathname))&&(this.options.notFoundRoute?s=[...s,this.options.notFoundRoute]:c=!0);let l=c?Ft(this.options.notFoundMode,s):void 0,u=Array(s.length),d=this._committed,f=(e,t)=>{let n=d[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?d.find(t=>t.routeId===e.id):void 0};for(let i=0;i<s.length;i++){let a=s[i],c=u[i-1],d,p,m;{let e=c?.search??t.search,r=c?._strictSearch??void 0;try{let t=Nt(a.options.validateSearch,{...e})??void 0;d={...e,...t},p={...r,...t}}catch(t){let r=t;if(t instanceof jt||(r=new jt(t.message,{cause:t})),n?.throwOnError)throw r;d=e,p={},m=r}}let h=``,g=``;try{h=a.options.loaderDeps?.({search:d})??``,g=h&&JSON.stringify(h)||``}catch(e){if(n?.throwOnError)throw e;m??=e}let{interpolatedPath:_,usedParams:v}=e({path:a.fullPath,params:o,decoder:this.pathParamsDecoder,server:this.isServer}),y=a.id+_+g,b=f(a,i),x=this._cache.get(y)??(b?.id===y?b:void 0),S=x?._strictParams??v,C;if(!x)try{Lt(a,S)}catch(e){if(C=Ue(e)||pt(e)?e:new Mt(e.message,{cause:e}),n?.throwOnError)throw C}Object.assign(o,S);let ee=b?`stay`:`enter`,te;if(x)te={...x,cause:ee,params:b?.params??o,_strictParams:S,search:r(b?b.search:x.search,d),_strictSearch:p,searchError:m};else{let e=Dt(a)?`pending`:`success`;te={id:y,ssr:a.options.ssr,index:i,routeId:a.id,params:b?.params??o,_strictParams:S,pathname:_,updatedAt:Date.now(),search:b?r(b.search,d):d,_strictSearch:p,searchError:m,status:e,isFetching:!1,error:void 0,paramsError:C,context:{},abortController:n?._controller??new AbortController,cause:ee,loaderDeps:b?Pe(b.loaderDeps,h):h,invalid:!1,preload:!1,staticData:a.options.staticData||{},fullPath:a.fullPath}}let ne=l===a.id;te._notFound&&!ne&&(te.error=void 0),te._notFound=ne,u[i]=te}for(let e=0;e<u.length;e++){let t=u[e];t.params=t.cause===`stay`?r(t.params,o):o,n?._controller&&(t.context={})}return u}matchRoutesLightweight(e){let t=te(this.stores.ids.get()),n=t?this.stores.byRoute.get(t).get():void 0,r=n?.id,i=this.lightweightCache.get(e);if(i&&i[0]===r)return i[1];let{matchedRoutes:a,routeParams:o}=this.getMatchedRoutes(e.pathname),s=te(a),c={...e.search};for(let e of a)try{Object.assign(c,Nt(e.options.validateSearch,c))}catch{}let l=n&&n.routeId===s.id&&n.pathname===e.pathname,u;if(l)u=n.params;else{let e=Object.assign(Object.create(null),o);for(let t of a)try{Lt(t,e)}catch{}u=e}let d={matchedRoutes:a,fullPath:s.fullPath,search:c,params:u};return this.lightweightCache.set(e,[r,d]),d}},jt=class extends Error{},Mt=class extends Error{};function Nt(e,t){if(e==null)return{};if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw new jt(`Async validation not supported`);if(n.issues)throw new jt(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return`parse`in e?e.parse(t):typeof e==`function`?e(t):{}}function Pt(e,t,n,r){let i=[];for(let e of n){let t=e.options;`search`in t?t.search?.middlewares&&i.push(...t.search.middlewares):(t.preSearchFilters||t.postSearchFilters)&&i.push(({search:e,next:n})=>{let r=n(t.preSearchFilters?t.preSearchFilters.reduce((e,t)=>t(e),e):e);return t.postSearchFilters?t.postSearchFilters.reduce((e,t)=>t(e),r):r});let n=t.validateSearch;n&&i.push(({search:e,next:t,meta:i})=>{let a=t(e);if(r)try{let e=Nt(n,a);if(i&&e)for(let t in e)t in a||(i.defaulted||=new Map).set(t,e[t]);return{...a,...e}}catch{}return a})}let a=(e,n,r)=>{if(e>=i.length){if(!t.search)return{};if(t.search===!0)return n;let e=Ne(t.search,n);return r&&(r.explicit=e),e}return i[e]({search:n,next:(t,n)=>{if(n){let n=r||{};return{search:a(e+1,t,n),meta:n}}return a(e+1,t,r)},meta:r})};return a(0,e)}function Ft(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return dt}function It(e,t){return e===!1||e===null?Object.create(null):(e??!0)===!0?t:Object.assign(t,Ne(e,t))}function Lt(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function Rt(e,t){return e.options[t]?.preload?.()}function zt(e,t){let n=Rt(e,`component`),r=Rt(e,`pendingComponent`),i=t&&r?r.then(t):r;return t&&!r&&t(),n&&i?Promise.all([n,i]).then(()=>{}):n??i}function Bt(e,t,n){let r=()=>t===!1?void 0:t?Rt(e,t):zt(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function Vt(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t<e.length?e.slice(0,t):e}var Ht=0,Ut=1,Wt=2,Gt=3,Kt=4;function qt(e){return typeof e[0]==`number`}function Jt(e,t){return t.aborted?Promise.race([Promise.reject(t),e]):new Promise((n,r)=>{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).finally(()=>t.removeEventListener(`abort`,i))})}function Yt(e,t){return e.routesById[t.routeId]}function Xt(e,t,n){return pt(e)?[Gt,e]:Ue(e)?(e.routeId||=n,[Wt,e]):(t&&typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),t?[Ut,e]:[Ht,e])}function Zt(e,t){let n=Xt(t,!0,e.id);if(n[0]!==Ut)return n;try{e.options.onError?.(n[1])}catch(t){n=Xt(t,!0,e.id)}return n}function Qt(e,t,n){return n[0].signal.aborted||!n[2]()?(n[0].abort(),[Kt]):Zt(e,t)}function $t(e,t){return n=>e.navigate({...n,_fromLocation:t})}async function en(e,t,n,r,i){let[a,o]=t,s=n[0].signal,c=!!n[4];for(let t=n[7]??0;t<r;t++){let r=o[t],i=Yt(e,r);r.abortController=n[0];let l=o[t-1]?.context??e.options.context??{},u={params:r.params,location:a,navigate:$t(e,a),buildLocation:e.buildLocation,cause:c?`preload`:r.cause,abortController:n[0],preload:c,matches:o,routeId:i.id},d=l;try{let e=r._ctx;!e&&i.options.context&&(e=r._ctx=i.options.context({...u,deps:r.loaderDeps,context:l})||{}),d={...l,...e},r.context=d}catch(a){return nn(e,r),[t,Qt(i,a,n)]}if(s.aborted||!n[2]())return n[0].abort(),[t,[Kt]];let f=r.paramsError??r.searchError;if(f!==void 0)return nn(e,r),[t,Qt(i,f,n)];let p=i.options.beforeLoad;if(!p)continue;let m={...u,search:r.search,context:d,...e.options.additionalContext},h=r.status;h===`success`&&(r.status=`pending`),n[8]?.();try{cn(e,r,`beforeLoad`,n[0]);let a=await Jt(p(m),s);if(!n[2]())return n[0].abort(),[t,[Kt]];let o=Xt(a,!1,i.id);if(o[0]!==Ht)return nn(e,r),[t,o];r.context={...d,...a}}catch(a){return nn(e,r),[t,Qt(i,a,n)]}finally{h===`success`&&r.status===`pending`&&(r.status=`success`),cn(e,r,!1,n[0])}}i()}function tn(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function nn(e,t){let n=t._flight;t._flight=void 0,tn(e,t,n)?.abort()}function rn(e,t,n){let r=[];for(let i of t)if(!n?.includes(i)){let t=i._flight;i._flight=void 0;let n=tn(e,i,t);n&&r.push(n)}for(let e of r)e.abort()}function an(e,t,n){let r=[];for(let i of t)if(!n.includes(i)){let t=i._flight;if(i._flight=void 0,t?.[2]===1&&e._flights?.get(i.id)===t&&n.some(e=>e.id===i.id))t[2]=0;else{let n=tn(e,i,t);n&&r.push(n)}}for(let e of r)e.abort()}function on(e){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}function sn(e){for(let t of e){let e=t._flight;e&&e[2]++}}function cn(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function ln(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:$t(e,s),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function un(e,t,n,r,i,a,o,s){let c=s.signal;if(c.aborted)return[Kt];if(!i)return[Ht,void 0];let l=n._flight;cn(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(ln(e,t,n,r,s,a,o))).then(e=>Xt(e,!1,r.id),e=>Xt(e,!0,r.id)).then(t=>(t[0]!==Ht&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===Ut&&l[2]?Zt(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],await Jt(l[0],c)}catch(t){if(t!==c)throw t;return nn(e,n),[Kt]}finally{cn(e,n,!1,s)}}function dn(e,t,n){t[0]===Ht?(e.loaderData=t[1],e.error=void 0,e.status=`success`,e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):t[0]!==Gt&&(e.status=`success`,e.error=void 0,e.invalid=!0)}function fn(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&nn(e,r)}function pn(e,t){return t[0]===Ut||t[0]===Wt?{...e,status:t[0]===Ut?`error`:`notFound`,error:t[1],_flight:void 0}:e}function mn(e,t,n,r,i,a){let o=t[1][n],s=Yt(e,o),c=!!a[4],l=c?e._cache.get(o.id):void 0,u,d=!1,f;try{if(o.status===`success`&&(u=s.options.shouldReload,typeof u==`function`&&(u=u(ln(e,t,o,s,a[0],i,c))),a[2]()||(a[0].abort(),f=[Kt])),!f)if(o.status!==`success`)d=!0;else{let t=a[4]||o.preload?s.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:s.options.staleTime??e.options.defaultStaleTime??0;d=!!(o.invalid||u||u===void 0&&Date.now()-o.updatedAt>=t&&(a[6]||o.cause===`enter`||a[3].some(e=>e.routeId===o.routeId&&e.id!==o.id)))}}catch(t){o.invalid=!0,nn(e,o),f=Qt(s,t,a)}let p=s.options.loader,m=typeof p==`function`?p:p?.handler,h=(!c||s.options.preload!==!1)&&p?e._flights?.get(o.id):void 0;h===o._flight||f?h=void 0:h&&!d&&!c&&u===void 0?d=!0:d||(h=void 0);let g=!!(p&&d&&o.status===`success`&&!c&&!a[5]&&((typeof p==`function`?void 0:p?.staleReloadMode)??e.options.defaultStaleReloadMode)!==`blocking`),_=d&&(!c||s.options.preload!==!1),v=_&&!g&&(o.status!==`success`||!!p),y=s.lazyFn&&s._lazy!==!0?a[8]:void 0;if(_&&!p&&(o.invalid=!1,o.updatedAt=Date.now()),h&&h[2]++,v){let t=o._flight;o._flight=h,tn(e,o,t)?.abort(),o.status===`success`&&(o.status=`pending`),a[8]?.()}_||(o.isFetching=!1);let b=(f?Promise.resolve(f):v?un(e,t,o,s,m,i,c,a[0]):Promise.resolve([Ht,o.loaderData])).then(t=>(v&&(dn(o,t,c),t[0]===Ht&&(c&&p&&!a[0].signal.aborted&&fn(e,o,l),o.status=`pending`)),t)),x=Jt(Promise.resolve().then(()=>Bt(s,void 0,y)),a[0].signal).then(()=>void 0,e=>[n,Qt(s,e,a)]).then(e=>b.then(t=>(v&&!e&&t[0]===Ht&&o.status===`pending`&&a[2]()&&(o.status=`success`,a[8]?.()),e)));if(r.push([n,b,x]),!g)return b.then(e=>pn(o,e));let S={...o,status:`pending`,preload:!1,_flight:h};o.invalid=!1,o.isFetching=`loader`;let C=un(e,t,S,s,m,i,!1,a[0]).then(e=>(o.isFetching=!1,dn(S,e,!1),e));return(t[2]??=[]).push([n,C,x,S]),C.then(e=>pn(S,e))}async function hn(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Yt(e,t[n]),a=Bt(i,!1);if(a)try{await Jt(a,r)}catch(e){if(e===r)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function gn(e,t){t[2]&&=(rn(e,t[2].map(e=>e[3])),void 0)}async function _n(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=Gt)throw[a,t];!i&&t[0]!==Ht&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===Gt)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}async function vn(e,t,n,r,i,a,o){let s=t[1],c=await a,l=!1,u=s.findIndex(e=>e._notFound),d=t=>t[1][0]===Wt?hn(e,s,t,r.signal):t[0],f=u<0?s.length:u;if((c?.[1][0]??0)>=Gt)f=0;else if(c){f=c[2]??=await d(c);for(let e of n){if(e[0]>=f)break;let t=await e[1];if(t[0]!==Ht&&t[0]<Gt&&!(`loaderData`in s[e[0]])){c=[e[0],t],f=c[2]=await d(c);break}}}for(let e of n){if(e[0]>=f)break;let t=await e[2];if(t){c=t;break}}if((c?.[1][0]??0)>=Gt){let n=c[1];if(n[0]!==Gt||n[1].options.reloadDocument||i<20)return gn(e,t),n;l=!0,c=[0,[Ut,Error(`Too many redirects`)]]}let p=c?c[2]??await d(c):u;if(p>=0){let i=c?.[1],a=i?.[0],u=s[p],d=i?.[1],f=()=>{i&&(u._notFound=void 0,a===Ut?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};f();try{await Jt(i?Promise.resolve().then(()=>Bt(Yt(e,u),a===Ut?`errorComponent`:`notFoundComponent`)):Promise.all([Bt(Yt(e,u)),Bt(Yt(e,u),`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal)return gn(e,t),[Kt]}i?l&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),gn(e,t),rn(e,s),f()):(u.status=`success`,o?.())}return t}async function yn(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;t<i;t++){let r=a[t],i=Yt(e,r).options;if(i.head||i.scripts)try{let t={ssr:e.options.ssr,matches:a,match:r,params:r.params,loaderData:r.loaderData},[o,s]=await Jt(Promise.all([i.head?.(t),i.scripts?.(t)]),n);r.meta=o?.meta,r.links=o?.links,r.headScripts=o?.scripts,r.styles=o?.styles,r.scripts=s}catch(e){if(e===n)break;console.error(e)}if(r.status!==`success`||r._notFound)break}return t}async function bn(e,t,n,r){let i=[t,n],a=n.findIndex(e=>e._notFound);if(e.options.notFoundMode!==`root`&&a>=0){let t=await hn(e,i[1],void 0,r[0].signal,a);t!==a&&(n[a]._notFound=void 0,n[t]._notFound=!0),a=t}let o=a<0?n.length:a+1,s=[],c=r[7]??0,l=c?Promise.resolve(i[1][c-1]):void 0,u=()=>{for(let t=c;t<o&&!r[0].signal.aborted;t++)l=mn(e,i,t,s,l,r)},d=await en(e,i,r,o,u);d&&(r[5]=!0,o=d[0],d[1][0]===Wt?(d[2]=await hn(e,i[1],d,r[0].signal),o=Math.min(o,d[2]+1)):d[1][0]>=Gt&&(o=0),u()),r[2]()&&!r[4]&&on(e);let f;try{let t=vn(e,i,s,r[0],r[1],_n(s,d,i[2]),r[8]);i[2]?.length&&(i[3]=_n(i[2],void 0,void 0,t.then(e=>qt(e)?0:Vt(e[1]).length,()=>0))),f=await t}catch(t){throw gn(e,i),t}return qt(f)?f:yn(e,f,r[0].signal,r[7]===f[1].length?r[7]:0)}function xn(e,t){let n=e.stores.matches.get();for(let r=0;r<t.length;r++){let i=t[r],a=i.status===`success`,o=a&&n[r]?.id===i.id&&n[r]?.status===`pending`;if(a&&!o)continue;let s=Yt(e,i),c=o||i.invalid?0:s.options.pendingMs??e.options.defaultPendingMs,l=s.options.pendingComponent??e.options.defaultPendingComponent;return l&&typeof c==`number`&&c!==1/0?[c,r,s.options.pendingMinMs??e.options.defaultPendingMinMs??0,l]:void 0}}function Sn(e,t){if(e._tx!==t)return;let n=e._pending,r=!1,i=n?.[0][3][n[1]]?.id;n?.[0]!==t&&(n&&t[3][n[1]]?.id===i?(n[0]=t,r=!0):(clearTimeout(n?.[3]),e._pending=n=void 0));let a=xn(e,t[3]);if(!a)return;let[o,s,c,l]=a,u=t[3][s].id;if(!n||n[1]!==s||i!==u){clearTimeout(n?.[3]);let r=e.stores.matches.get()[s],i=r?.id===u&&r.status===`pending`;e._pending=n=[t,s,i?Date.now()+c:t[4]+o,void 0,i?Promise.resolve(!0):void 0,l]}if(n[4]&&!r&&n[5]===l)return;if(n[5]=l,!n[4]){clearTimeout(n[3]);let r=n[2]-Date.now();if(r>0){n[3]=setTimeout(()=>{Sn(e,t)},r);return}n[2]=0}let d=t[3].map(e=>({...e,_flight:void 0}));d[s].status=`pending`;let f=e.startTransition(()=>e.stores.setMatches(d),d).then(t=>(t&&e._pending===n&&n[4]===f&&!n[2]&&(n[2]=Date.now()+c),t));n[4]=f}function Cn(e,t){let n=e._pending;n?.[0]===t&&(clearTimeout(n[3]),e._pending=void 0)}function wn(e,t){e._committed=t,e.stores.setMatches(t)}function Tn(e,t){rn(e,t[1]),gn(e,t)}function En(e,t,n,r){let i=e._committed,a=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let o=Vt(n).length,s=new Map,c=Date.now();for(let t of[...i,...a.values()]){if(t.status!==`success`||n.some((e,n)=>e.id===t.id&&(n<o||e.status===`success`)))continue;let r=Yt(e,t);!r.options.loader||c-t.updatedAt>=(t.preload?r.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:r.options.gcTime??e.options.defaultGcTime??3e5)||s.set(t.id,a.get(t.id)===t?t:{...t,_flight:void 0,isFetching:!1,context:{}})}t[3]=[],e._cache=s,wn(e,n),rn(e,[...a.values(),...i],[...n,...s.values()]),kt(e,i,n,()=>e._tx===t)}async function Dn(e,t){let n=e._tx;for(;n&&n!==t;){if(await n[5],e._tx===n)return;n=e._tx}}async function On(e,t,n){await e.navigate({...n.options,replace:!0,ignoreBlocker:!0,_redirects:t[1]+1})}function kn(e,t){Cn(e,t),t[0].abort(),rn(e,t[3]),t[3]=[],e._tx===t&&(e.batch(()=>{e.stores.status.set(`idle`),e.stores.setMatches(e._committed)}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0))}async function An(e,t,n,r,i){let a=n.map(e=>({...e}));sn(a);for(let t of r)nn(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await vn(e,o,r,t[0],t[1],i)}catch(t){throw rn(e,a),t}if(qt(s)){rn(e,a),s[0]===Gt&&e._tx===t&&e._committed===n&&await On(e,t,s[1]);return}let c=await yn(e,s,t[0].signal);if(e._tx!==t||e._committed!==n){rn(e,c[1]);return}for(let t of c[1]){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),nn(e,n))}wn(e,c[1]),rn(e,n,c[1])}async function jn(e,t,n,r,i,a){let o=[t[0],t[1],()=>e._tx===t&&!!t[3].length,e._committed,void 0,i,n,a,r],s=await bn(e,t[2],t[3],o);if(qt(s)){s[0]===Gt&&e._tx===t?(Cn(e,t),rn(e,t[3]),t[3]=[],e._tx===t&&await On(e,t,s[1])):kn(e,t);return}let c=e._pending;if(c?.[0]===t&&(clearTimeout(c[3]),c[4])){let n=t[0].signal,r=!1;try{r=await Jt(c[4],n)}catch(e){if(e!==n)throw e}if(r&&e._pending===c&&c[0]===t){let e=c[2]-Date.now();if(e>0){try{await Jt(new Promise(t=>{c[3]=setTimeout(t,e)}),n)}catch{}clearTimeout(c[3])}}}if(e._tx!==t){Cn(e,t),Tn(e,s);return}let l=t[2],u=Ot(l,e.stores.resolvedLocation.get()),d=s[2];await e.startViewTransition(async()=>{if(e._tx!==t){Tn(e,s);return}let n=await e.startTransition(()=>{Cn(e,t),En(e,t,s[1],a),e._tx===t&&(e.emit({type:`onLoad`,...u}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...u}))},s[1]);if(e._tx!==t){gn(e,s);return}d?.length&&An(e,t,s[1],d,s[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(l),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...u}),n&&e._tx===t&&e.emit({type:`onRendered`,...u})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function Mn(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),u.signal.aborted){await Dn(e,n);return}let f=Ot(a,r);if(e.emit({type:`onBeforeNavigate`,...f}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...f}),u.signal.aborted){await Dn(e,n);return}let p=i.href===a.href,m,h=u;try{m=e.matchRoutes(a,{_controller:u}),sn(m)}catch(t){if(u.abort(),!pt(t)){await Dn(e),e._commitPromise?.resolve(),e._commitPromise=void 0;return}await e.navigate({...t.options,replace:!0,ignoreBlocker:!0}),await Dn(e,n);return}let g=l?c[1](m):void 0;if(g?h=l:l?.abort(),u.signal.aborted){rn(e,m),await Dn(e,n);return}e._preflight=void 0;let _=[h,s,a,m,Date.now(),Promise.resolve().then(()=>jn(e,_,p,()=>Sn(e,_),t?.sync,g)).catch(()=>{e._tx===_&&kn(e,_)})];if(e._tx=_,n){for(let t of e.stores.matches.get()){if(e._tx!==_)break;t.isFetching&&cn(e,t,!1)}n[0].abort(),an(e,n[3],_[3])}if(e._tx!==_){rn(e,_[3]),_[3]=[],await Dn(e,_);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),Sn(e,_);try{await _[5]}finally{await Dn(e,_)}}async function Nn(e,t,n=0){if(n>20)return;let r=t._builtLocation??e.buildLocation(t),i=e._committed,a=new AbortController,o;try{o=e.matchRoutes(r,{_controller:a}),sn(o)}catch(e){a.abort(),Ue(e)||console.error(e);return}(e._preloads??=new Map).set(a,o);let s;try{let t;try{t=await bn(e,r,o,[a,n,()=>!0,i,!0])}finally{s=e._preloads.delete(a),rn(e,o),a.abort()}if(!qt(t))return t[1];if(s&&t[0]===Gt&&!t[1].options.reloadDocument)return Nn(e,{...t[1].options,_fromLocation:r},n+1)}catch(e){Ue(e)||console.error(e)}}var Pn=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e.originalIndex;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=dt:this.parentRoute||ge();let r=n?dt:t?.path;r&&r!==`/`&&(r=ke(r));let i=t?.id||r,a=n?dt:he([this.parentRoute.id===`__root__`?``:this.parentRoute.id,i]);r===`__root__`&&(r=`/`),a!==`__root__`&&(a=he([`/`,a]));let o=a===`__root__`?`/`:he([this.parentRoute.fullPath,r]);this._path=r,this._id=a,this._fullPath=o,this._to=ye(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>ft({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},Fn=class extends Pn{constructor(e){super(e)}},k=De(xe(),1),A=x();function In(e){return(0,A.jsx)(Ln,{...e})}var Ln=class extends k.Component{constructor(...e){super(...e),this.state={error:null},this.reset=()=>{this.setState({error:null})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:null}:{resetKey:n}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?k.createElement(this.props.errorComponent??Rn,{error:e,reset:this.reset}):this.props.children}};function Rn({error:e}){let[t,n]=k.useState(!1);return(0,A.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,A.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,A.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,A.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,A.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,A.jsx)(`div`,{children:(0,A.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e.message?(0,A.jsx)(`code`,{children:e.message}):null})}):null]})}var zn=k.createContext(void 0),Bn=k.createContext(void 0),j=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(j||{});function Vn({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function Hn(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var Un=[],Wn=0,{link:Gn,unlink:Kn,propagate:qn,checkDirty:Jn,shallowPropagate:Yn}=Vn({update(e){return e._update()},notify(e){Un[Zn++]=e,e.flags&=~j.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=j.Mutable|j.Dirty,tr(e))}}),Xn=0,Zn=0,Qn,$n=0;function er(e){try{++$n,e()}finally{--$n||nr()}}function tr(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Kn(n,e)}function nr(){if(!($n>0)){for(;Xn<Zn;){let e=Un[Xn];Un[Xn++]=void 0,e.notify()}Xn=0,Zn=0}}function rr(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:n?j.None:j.Mutable,get(){return Qn!==void 0&&Gn(i,Qn,Wn),i._snapshot},subscribe(e){let t=Hn(e),n={current:!1},r=ir(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Qn,o=t?.compare??Object.is;if(n)Qn=i,++Wn,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=j.Mutable|j.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Qn=a,n&&(i.flags&=~j.RecursedCheck),tr(i)}}};return n?(i.flags=j.Mutable|j.Dirty,i.get=function(){let e=i.flags;if(e&j.Dirty||e&j.Pending&&Jn(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Yn(e)}}else e&j.Pending&&(i.flags=e&~j.Pending);return Qn!==void 0&&Gn(i,Qn,Wn),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(qn(e),Yn(e),nr())}},i}function ir(e){let t=()=>{let t=Qn;Qn=n,++Wn,n.depsTail=void 0,n.flags=j.Watching|j.RecursedCheck;try{return e()}finally{Qn=t,n.flags&=~j.RecursedCheck,tr(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:j.Watching|j.RecursedCheck,notify(){let e=this.flags;e&j.Dirty||e&j.Pending&&Jn(this.deps,this)?t():this.flags=j.Watching},stop(){this.flags=j.None,this.depsTail=void 0,tr(this)}};return t(),n}var ar={};function or(e,t){let n=k.useRef();return r=>{let i=e?.select?e.select(r):r;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=Pe(n.current,i):i}}function sr(e){let t=m(),n=k.useContext(e.from?Bn:zn),r=e.from??n,i=t.stores.getMatchStore(r),a=or(e,t),o=h(i,e=>e?a(e):ar);if(o!==ar)return o;(e.shouldThrow??!0)&&ge()}function cr(e){return sr({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function lr(e){let{select:t,...n}=e;return sr({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function ur(e){return sr({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function dr(e){return sr({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function fr(e){return sr({...e,select:t=>e.select?e.select(t.context):t.context})}var pr=class extends Pn{constructor(e){super(e),this.useMatch=e=>sr({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>fr({...e,from:this.id}),this.useSearch=e=>dr({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>ur({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>lr({...e,from:this.id}),this.useLoaderData=e=>cr({...e,from:this.id}),this.useNavigate=()=>c({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ie,{ref:t,from:this.fullPath,...e}))}};function mr(e){return new pr(e)}function hr(){return e=>_r(e)}var gr=class extends Fn{constructor(e){super(e),this.useMatch=e=>sr({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>fr({...e,from:this.id}),this.useSearch=e=>dr({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>ur({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>lr({...e,from:this.id}),this.useLoaderData=e=>cr({...e,from:this.id}),this.useNavigate=()=>c({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ie,{ref:t,from:this.fullPath,...e}))}};function _r(e){return new gr(e)}function vr(e){return new yr(e,{silent:!0}).createRoute}var yr=class{constructor(e,t){this.path=e,this.createRoute=e=>{let t=mr(e);return t.isRoot=!1,t},this.silent=t?.silent}};function br(e,t){let n,r,i,a=()=>(n||=(i=void 0,e().then(e=>{n=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,i=e})),n),o=function(e){if(i){if(Fe(i)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw i}if(!r)if(re)re(a());else throw a();return k.createElement(r,e)};return o.preload=a,o}function xr(e){let t=m(),n=`not-found-${h(t.stores.location,e=>e.pathname)}-${h(t.stores.status,e=>e)}`;return(0,A.jsx)(In,{getResetKey:()=>n,onCatch:(t,n)=>{if(Ue(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(Ue(t))return e.fallback?.(t);throw t},children:e.children})}function Sr(){return(0,A.jsx)(`p`,{children:`Not Found`})}function Cr(e){return(0,A.jsx)(A.Fragment,{children:e.children})}function wr(e,t,n){return t.options.notFoundComponent?(0,A.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,A.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,A.jsx)(Sr,{})}function Tr(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?(0,A.jsx)(n,{}):null}var Er=(e,t)=>e[0]===t[0]&&e[1]===t[1],Dr=k.memo(function({routeId:e}){let t=m();return(0,A.jsx)(Or,{router:t,match:h(t.stores.getMatchStore(e),e=>e)})});function Or({router:e,match:t}){let n=e.routesById[t.routeId],r=Tr(e,n),i=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,o=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,s=t.ssr===!1||t.ssr===`data-only`,c=n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||s)?k.Suspense:Cr,l=i?In:Cr,u=o?xr:Cr;return(0,A.jsxs)(n.isRoot?n.options.shellComponent??Cr:Cr,{children:[(0,A.jsx)(zn.Provider,{value:t.routeId,children:(0,A.jsx)(c,{fallback:r,children:(0,A.jsx)(l,{getResetKey:()=>t,errorComponent:i,onCatch:(e,n)=>{if(Ue(e))throw e.routeId??=t.routeId,e;a?.(e,n)},children:(0,A.jsx)(u,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return k.createElement(o,e)},children:s?(0,A.jsx)(w,{fallback:r,children:(0,A.jsx)(kr,{match:t})}):(0,A.jsx)(kr,{match:t})})})})}),null]})}var kr=k.memo(function({match:e}){let t=m(),n=e.routeId,r=t.routesById[n],i=k.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),a=k.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?(0,A.jsx)(e,{},i):(0,A.jsx)(Ar,{})},[i,r.options.component,t.options.defaultComponent]);if(e.status===`pending`){if(t._tx)throw t._tx[5];return Tr(t,r)}if(e.status===`notFound`)return wr(t,r,e.error);if(e.status===`error`)throw e.error;return a}),Ar=k.memo(function(){let e=m(),t=k.useContext(zn),n,r,i;{let a=e.stores.getMatchStore(t);[n,r]=h(a,e=>[!!e._notFound,e.error],Er),i=h(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return wr(e,e.routesById[t],r);if(!i)return null;let a=(0,A.jsx)(Dr,{routeId:i});return t===`__root__`?(0,A.jsx)(k.Suspense,{fallback:Tr(e),children:a}):a});function jr(e,t){let n=e[1];e.length=0,n?.(t)}function Mr(){let e=m(),t=e._rendered??=[];return e.startTransition=(e,n)=>new Promise((r,i)=>{jr(t,!1),t.push(n,r),k.startTransition(()=>{try{e()}catch(e){t[1]===r&&(t.length=0),i(e)}})}),o(()=>{let n=e.history.subscribe(e.load);e.updateLatestLocation();let r=e.latestLocation,i=e.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(ye(r.publicHref)!==ye(i.publicHref))return e.commitLocation({...i,replace:!0,ignoreBlocker:!0}),n;let a=e.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?t.push(e.stores.matches.get(),t=>{t&&e.emit({type:`onRendered`,...Ot(a,a)})}):e._tx||e.load().catch(console.error),n},[e,e.history]),null}function Nr(){let e=m(),t=e.routesById[dt],n=Tr(e,t),r=e.ssr?Cr:k.Suspense,i=(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Mr,{}),(0,A.jsx)(r,{fallback:n,children:(0,A.jsx)(Pr,{})})]});return e.options.InnerWrap?(0,A.jsx)(e.options.InnerWrap,{children:i}):i}function Pr(){let e=m(),t=e._rendered,n=h(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;o(()=>{t[0]===n&&jr(t,!0)},[t,n]);let a=i?(0,A.jsx)(Dr,{routeId:i}):null;return(0,A.jsx)(zn.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,A.jsx)(In,{getResetKey:()=>r,onCatch:void 0,children:a})})}var Fr=e=>({createMutableStore:rr,createReadonlyStore:rr,batch:er}),Ir=e=>new Lr(e),Lr=class extends At{constructor(e){super(e,Fr)}};function Rr({router:e,children:t,...n}){Ie(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,A.jsx)(T.Provider,{value:e,children:t});return e.options.Wrap?(0,A.jsx)(e.options.Wrap,{children:r}):r}function zr({router:e,...t}){return(0,A.jsx)(Rr,{router:e,...t,children:(0,A.jsx)(Nr,{})})}var Br=l((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,ie());else{var t=n(l);t!==null&&se(x,t.startTime-e)}}var S=!1,C=-1,ee=5,te=-1;function ne(){return g?!0:!(e.unstable_now()-te<ee)}function re(){if(g=!1,S){var t=e.unstable_now();te=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ne());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&se(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?ie():S=!1}}}var ie;if(typeof y==`function`)ie=function(){y(re)};else if(typeof MessageChannel<`u`){var ae=new MessageChannel,oe=ae.port2;ae.port1.onmessage=re,ie=function(){oe.postMessage(null)}}else ie=function(){_(re,0)};function se(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):ee=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,se(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,ie()))),r},e.unstable_shouldYield=ne,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),Vr=l(((e,t)=>{t.exports=Br()})),Hr=l((e=>{var t=Vr(),n=xe(),r=ce();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),m=Symbol.for(`react.transitional.element`),h=Symbol.for(`react.portal`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),S=Symbol.for(`react.suspense`),C=Symbol.for(`react.suspense_list`),ee=Symbol.for(`react.memo`),te=Symbol.for(`react.lazy`),ne=Symbol.for(`react.activity`),re=Symbol.for(`react.memo_cache_sentinel`),ie=Symbol.iterator;function ae(e){return typeof e!=`object`||!e?null:(e=ie&&e[ie]||e[`@@iterator`],typeof e==`function`?e:null)}var oe=Symbol.for(`react.client.reference`);function se(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===oe?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case S:return`Suspense`;case C:return`SuspenseList`;case ne:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ee:return t=e.displayName||null,t===null?se(e.type)||`Memo`:t;case te:t=e._payload,e=e._init;try{return se(e(t))}catch{}}return null}var le=Array.isArray,w=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,T=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ue={pending:!1,data:null,method:null,action:null},de=[],fe=-1;function pe(e){return{current:e}}function me(e){0>fe||(e.current=de[fe],de[fe]=null,fe--)}function E(e,t){fe++,de[fe]=e.current,e.current=t}var he=pe(null),ge=pe(null),_e=pe(null),ve=pe(null);function ye(e,t){switch(E(_e,t),E(ge,e),E(he,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}me(he),E(he,e)}function be(){me(he),me(ge),me(_e)}function Se(e){e.memoizedState!==null&&E(ve,e);var t=he.current,n=Hd(t,e.type);t!==n&&(E(ge,e),E(he,n))}function Ce(e){ge.current===e&&(me(he),me(ge)),ve.current===e&&(me(ve),Qf._currentValue=ue)}var we,Te;function Ee(e){if(we===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);we=t&&t[1]||``,Te=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+we+e+Te}var De=!1;function Oe(e,t){if(!e||De)return``;De=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -18,7 +18,7 @@ Error generating stack: `+e.message+`
18
18
  font-size: 13px;
19
19
  color: ${({theme:e})=>e.color.inkDim};
20
20
  max-width: 48ch;
21
- `,Kr=hr()({component:Ar,notFoundComponent:()=>(0,A.jsx)(Wr,{children:(0,A.jsxs)(v,{$gap:3,style:{alignItems:`center`},children:[(0,A.jsx)(b,{children:`Not found`}),(0,A.jsx)(Gr,{children:`This console has no screen at that address.`}),(0,A.jsx)(f,{as:`a`,href:`/`,$variant:`primary`,$size:`sm`,children:`Back to the rack`})]})})}),qr=`modulepreload`,Jr=function(e){return`/`+e},Yr={},Xr=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Jr(t,n),t=s(t),t in Yr)return;Yr[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:qr,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Zr=vr(`/_app`)({beforeLoad:async({context:e,location:t})=>{if(!(await e.queryClient.ensureQueryData({queryKey:Oe.status,queryFn:()=>a(`/api/status`),revalidateIfStale:!0})).authenticated)throw ft({to:`/login`,search:{next:t.href}})},component:br(()=>Xr(()=>import(`./_app-D83powx4.js`),__vite__mapDeps([0,1,2,3])),`component`)}),Qr=vr(`/login`)({validateSearch:e=>typeof e.next==`string`?{next:e.next}:{},component:br(()=>Xr(()=>import(`./login-BuvJY1Qd.js`),__vite__mapDeps([4,1,3,5,6])),`component`)}),$r=vr(`/_app/`)({component:br(()=>Xr(()=>import(`./_app.index-DimCB0Bo.js`),__vite__mapDeps([7,1,2,3,8,9,6,10,11])),`component`)}),ei=vr(`/_app/accounts`)({component:br(()=>Xr(()=>import(`./_app.accounts-DR-2t9-7.js`),__vite__mapDeps([12,1,2,3,13,14,15,16,8,5,9,6,10,17])),`component`)}),ti=vr(`/_app/keys`)({component:br(()=>Xr(()=>import(`./_app.keys-B7kl3CSe.js`),__vite__mapDeps([18,1,2,3,13,14,15,8,5,6,10])),`component`)}),ni=vr(`/_app/logs`)({component:br(()=>Xr(()=>import(`./_app.logs-BjtdzcDY.js`),__vite__mapDeps([19,1,2,3,15,8,5,6,10])),`component`)}),ri=vr(`/_app/models`)({component:br(()=>Xr(()=>import(`./_app.models-BEECjcLM.js`),__vite__mapDeps([20,1,2,3,14,15,16,8,5,9,6,17])),`component`)}),ii=vr(`/_app/settings`)({component:br(()=>Xr(()=>import(`./_app.settings-DtDIhAAr.js`),__vite__mapDeps([21,1,2,3,5,9,6])),`component`)}),ai=vr(`/_app/usage`)({component:br(()=>Xr(()=>import(`./_app.usage-BChnSBbS.js`),__vite__mapDeps([22,1,2,3,6,10,17,11])),`component`)}),oi=Zr.update({id:`/_app`,getParentRoute:()=>Kr}),si=Qr.update({id:`/login`,path:`/login`,getParentRoute:()=>Kr}),ci=$r.update({id:`/`,path:`/`,getParentRoute:()=>oi}),li={AppAccountsRoute:ei.update({id:`/accounts`,path:`/accounts`,getParentRoute:()=>oi}),AppKeysRoute:ti.update({id:`/keys`,path:`/keys`,getParentRoute:()=>oi}),AppLogsRoute:ni.update({id:`/logs`,path:`/logs`,getParentRoute:()=>oi}),AppModelsRoute:ri.update({id:`/models`,path:`/models`,getParentRoute:()=>oi}),AppSettingsRoute:ii.update({id:`/settings`,path:`/settings`,getParentRoute:()=>oi}),AppUsageRoute:ai.update({id:`/usage`,path:`/usage`,getParentRoute:()=>oi}),AppIndexRoute:ci},ui={AppRoute:oi._addFileChildren(li),LoginRoute:si},di=Kr._addFileChildren(ui)._addFileTypes();function fi(e){let t=t=>{!(t instanceof ne)||!t.isUnauthenticated||e.isLoginRoute()||e.onUnauthenticated()};return new He({queryCache:new Ve({onError:t}),mutationCache:new ze({onError:t}),defaultOptions:{queries:{retry:(e,t)=>t instanceof ne&&t.isUnauthenticated?!1:e<2,staleTime:5e3,refetchOnWindowFocus:!0},mutations:{retry:!1}}})}var pi=Le`
21
+ `,Kr=hr()({component:Ar,notFoundComponent:()=>(0,A.jsx)(Wr,{children:(0,A.jsxs)(v,{$gap:3,style:{alignItems:`center`},children:[(0,A.jsx)(b,{children:`Not found`}),(0,A.jsx)(Gr,{children:`This console has no screen at that address.`}),(0,A.jsx)(f,{as:`a`,href:`/`,$variant:`primary`,$size:`sm`,children:`Back to the rack`})]})})}),qr=`modulepreload`,Jr=function(e){return`/`+e},Yr={},Xr=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Jr(t,n),t=s(t),t in Yr)return;Yr[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:qr,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Zr=vr(`/_app`)({beforeLoad:async({context:e,location:t})=>{if(!(await e.queryClient.ensureQueryData({queryKey:Oe.status,queryFn:()=>a(`/api/status`),revalidateIfStale:!0})).authenticated)throw ft({to:`/login`,search:{next:t.href}})},component:br(()=>Xr(()=>import(`./_app-VCodWes4.js`),__vite__mapDeps([0,1,2,3])),`component`)}),Qr=vr(`/login`)({validateSearch:e=>typeof e.next==`string`?{next:e.next}:{},component:br(()=>Xr(()=>import(`./login-Gyf-1fSa.js`),__vite__mapDeps([4,1,3,5,6])),`component`)}),$r=vr(`/_app/`)({component:br(()=>Xr(()=>import(`./_app.index-C5Vd-zlp.js`),__vite__mapDeps([7,1,2,3,8,9,6,10,11])),`component`)}),ei=vr(`/_app/accounts`)({component:br(()=>Xr(()=>import(`./_app.accounts-BP3L84us.js`),__vite__mapDeps([12,1,2,3,13,14,15,16,8,5,9,6,10,17])),`component`)}),ti=vr(`/_app/keys`)({component:br(()=>Xr(()=>import(`./_app.keys-0e1BHrIZ.js`),__vite__mapDeps([18,1,2,3,13,14,15,8,5,6,10])),`component`)}),ni=vr(`/_app/logs`)({component:br(()=>Xr(()=>import(`./_app.logs-DNSND96R.js`),__vite__mapDeps([19,1,2,3,15,8,5,6,10])),`component`)}),ri=vr(`/_app/models`)({component:br(()=>Xr(()=>import(`./_app.models-DzFIbnem.js`),__vite__mapDeps([20,1,2,3,14,15,16,8,5,9,6,17])),`component`)}),ii=vr(`/_app/settings`)({component:br(()=>Xr(()=>import(`./_app.settings-Du5Nsp9f.js`),__vite__mapDeps([21,1,2,3,5,9,6])),`component`)}),ai=vr(`/_app/usage`)({component:br(()=>Xr(()=>import(`./_app.usage-DKq4Hsia.js`),__vite__mapDeps([22,1,2,3,6,10,17,11])),`component`)}),oi=Zr.update({id:`/_app`,getParentRoute:()=>Kr}),si=Qr.update({id:`/login`,path:`/login`,getParentRoute:()=>Kr}),ci=$r.update({id:`/`,path:`/`,getParentRoute:()=>oi}),li={AppAccountsRoute:ei.update({id:`/accounts`,path:`/accounts`,getParentRoute:()=>oi}),AppKeysRoute:ti.update({id:`/keys`,path:`/keys`,getParentRoute:()=>oi}),AppLogsRoute:ni.update({id:`/logs`,path:`/logs`,getParentRoute:()=>oi}),AppModelsRoute:ri.update({id:`/models`,path:`/models`,getParentRoute:()=>oi}),AppSettingsRoute:ii.update({id:`/settings`,path:`/settings`,getParentRoute:()=>oi}),AppUsageRoute:ai.update({id:`/usage`,path:`/usage`,getParentRoute:()=>oi}),AppIndexRoute:ci},ui={AppRoute:oi._addFileChildren(li),LoginRoute:si},di=Kr._addFileChildren(ui)._addFileTypes();function fi(e){let t=t=>{!(t instanceof ne)||!t.isUnauthenticated||e.isLoginRoute()||e.onUnauthenticated()};return new He({queryCache:new Ve({onError:t}),mutationCache:new ze({onError:t}),defaultOptions:{queries:{retry:(e,t)=>t instanceof ne&&t.isUnauthenticated?!1:e<2,staleTime:5e3,refetchOnWindowFocus:!0},mutations:{retry:!1}}})}var pi=Le`
22
22
  :root {
23
23
  color-scheme: light;
24
24
 
@@ -1,4 +1,4 @@
1
- import{A as e,F as t,G as n,I as r,N as i,O as a,Ot as o,S as s,V as c,kt as l,p as u,qt as d,x as f}from"./queries-BMwc6EvM.js";import{a as p}from"./index-C53PiRfb.js";import{t as m}from"./Lamp-BXSUIAtG.js";import{n as h,t as g}from"./Field-Devm4K46.js";import{i as _,o as v}from"./States-DBzsiHjQ.js";var y=d(l()),b=o(),x=c.div`
1
+ import{A as e,F as t,G as n,I as r,N as i,O as a,Ot as o,S as s,V as c,kt as l,p as u,qt as d,x as f}from"./queries-BMwc6EvM.js";import{a as p}from"./index-BYyeRTQJ.js";import{t as m}from"./Lamp-BXSUIAtG.js";import{n as h,t as g}from"./Field-Devm4K46.js";import{i as _,o as v}from"./States-DBzsiHjQ.js";var y=d(l()),b=o(),x=c.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: center;
@@ -1 +1 @@
1
- import{m as e}from"./Rack-DnbGnBvz.js";var t=e(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]);export{t};
1
+ import{m as e}from"./Rack-CRQSwSeB.js";var t=e(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]);export{t};
package/public/index.html CHANGED
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <!-- Self-hosted, like the fonts: the console contacts no third-party origin. -->
7
7
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
8
- <title>OmniGateway</title>
9
- <script type="module" crossorigin src="/assets/index-C53PiRfb.js"></script>
8
+ <title>OmniGateway — One endpoint in front of the AI accounts you already pay for.</title>
9
+ <script type="module" crossorigin src="/assets/index-BYyeRTQJ.js"></script>
10
10
  <link rel="modulepreload" crossorigin href="/assets/queries-BMwc6EvM.js">
11
11
  <link rel="stylesheet" crossorigin href="/assets/index-Co2s5xMk.css">
12
12
  </head>
@@ -1,18 +0,0 @@
1
- import{A as e,I as t,N as n,O as r,Ot as i,P as a,V as o,c as ee,h as s,j as c,k as l,kt as u,qt as d,t as f}from"./queries-BMwc6EvM.js";import{a as p,c as m,f as h,l as g,o as _,p as v,s as y,t as b}from"./Rack-DnbGnBvz.js";import{t as x}from"./Modal-DOQGdhoM.js";import{c as S,l as C,o as w,s as T,t as E}from"./Lamp-BXSUIAtG.js";import{n as D,t as O}from"./Chip-Ccqsb_Mq.js";import{i as k,n as A}from"./Field-Devm4K46.js";import{a as te,n as ne,r as j,t as M}from"./States-DBzsiHjQ.js";import{i as N,n as P,r as F,t as I}from"./Table-DPDJeeVc.js";var L=d(u(),1),R=i(),z=[50,100,250,500],B=o(e)`
2
- gap: ${({theme:e})=>e.space(2)};
3
- flex-wrap: wrap;
4
- `,V=o(A)`
5
- width: 220px;
6
- `,H=o(k)`
7
- width: auto;
8
- `,U=o.dl`
9
- display: grid;
10
- grid-template-columns: minmax(120px, auto) minmax(0, 1fr);
11
- gap: 6px ${({theme:e})=>e.space(3)};
12
- margin: 0;
13
- font-size: 12.5px;
14
- `,W=o.dd`
15
- margin: 0;
16
- font-family: ${({theme:e})=>e.font.mono};
17
- word-break: break-all;
18
- `;function G(){let{cadence:i}=p(),[o,u]=(0,L.useState)(100),[d,k]=(0,L.useState)(`all`),[A,G]=(0,L.useState)(``),[K,q]=(0,L.useState)(null),J=s(o,i(f)),Y=ee(),X=(0,L.useMemo)(()=>{let e=new Map;for(let t of Y.data??[])e.set(t.id,t.label);return e},[Y.data]),Z=A.trim().toLowerCase(),Q=(J.data??[]).filter(e=>d===`failed`&&!w(e)?!1:Z.length===0||e.requestedModel.toLowerCase().includes(Z)||(e.resolvedModel??``).toLowerCase().includes(Z)||(e.errorCode??``).toLowerCase().includes(Z)||(e.credentialId===null?``:X.get(e.credentialId)??``).toLowerCase().includes(Z)),re=(J.data??[]).filter(w).length,$=(J.data??[]).filter(T).length;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(b,{legend:`Logs`,title:`Recent requests`,summary:J.isLoading?`Reading the request log…`:`${y(J.data?.length??0)} recent requests, ${y(re)} of them failed${$===0?``:`, ${y($)} still running`}. Prompt and response bodies are never recorded.`,actions:(0,R.jsxs)(B,{children:[(0,R.jsx)(V,{value:A,placeholder:`Filter by model, account, or error`,"aria-label":`Filter requests`,onChange:e=>G(e.target.value)}),(0,R.jsxs)(H,{value:d,"aria-label":`Show which requests`,onChange:e=>k(e.target.value),children:[(0,R.jsx)(`option`,{value:`all`,children:`All requests`}),(0,R.jsx)(`option`,{value:`failed`,children:`Failed only`})]}),(0,R.jsx)(H,{value:o,"aria-label":`How many requests to fetch`,onChange:e=>u(Number(e.target.value)),children:z.map(e=>(0,R.jsxs)(`option`,{value:e,children:[`last `,e]},e))})]})}),(0,R.jsx)(te,{legend:`Request log`,meta:`${Q.length} shown`,flush:!0,children:J.isError?(0,R.jsx)(ne,{error:J.error,onRetry:()=>void J.refetch()}):J.isLoading?(0,R.jsx)(`div`,{style:{padding:12},children:(0,R.jsx)(j,{rows:8})}):Q.length===0?(0,R.jsx)(M,{legend:`Nothing to show`,message:(J.data?.length??0)===0?`No requests have reached the gateway yet.`:`No request in this window matches the filter. Clear it to see everything.`}):(0,R.jsx)(c,{children:(0,R.jsxs)(I,{children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(F,{}),(0,R.jsx)(F,{$align:`right`,children:`Time`}),(0,R.jsx)(F,{children:`Requested`}),(0,R.jsx)(F,{children:`Routed to`}),(0,R.jsx)(F,{children:`Account`}),(0,R.jsx)(F,{$align:`right`,children:`Try`}),(0,R.jsx)(F,{$align:`right`,children:`TTFT`}),(0,R.jsx)(F,{$align:`right`,children:`Total`}),(0,R.jsx)(F,{$align:`right`,children:`Tokens`}),(0,R.jsx)(F,{$align:`right`,children:`Cost`}),(0,R.jsx)(F,{children:`Outcome`})]})}),(0,R.jsx)(`tbody`,{children:Q.map(t=>(0,R.jsxs)(N,{$selectable:!0,onClick:()=>q(t),children:[(0,R.jsx)(P,{children:(0,R.jsx)(E,{state:C(t),label:S(t)})}),(0,R.jsx)(P,{$align:`right`,$mono:!0,title:m(t.at),children:_(t.at)}),(0,R.jsx)(P,{$mono:!0,children:(0,R.jsx)(a,{style:{display:`block`,maxWidth:`20ch`},children:t.requestedModel||`—`})}),(0,R.jsx)(P,{children:t.resolvedProvider===null?(0,R.jsx)(r,{children:T(t)?`routing…`:`not routed`}):(0,R.jsxs)(e,{$gap:1,children:[(0,R.jsx)(D,{provider:t.resolvedProvider}),(0,R.jsx)(l,{$dim:!0,children:t.resolvedModel??`—`})]})}),(0,R.jsx)(P,{children:(0,R.jsx)(a,{style:{display:`block`,maxWidth:`18ch`},children:t.credentialId===null?`—`:X.get(t.credentialId)??v(t.credentialId)})}),(0,R.jsx)(P,{$align:`right`,$mono:!0,children:T(t)?`—`:t.attempts}),(0,R.jsx)(P,{$align:`right`,$mono:!0,children:T(t)?`—`:g(t.ttftMs)}),(0,R.jsx)(P,{$align:`right`,$mono:!0,children:T(t)?`—`:g(t.durationMs)}),(0,R.jsx)(P,{$align:`right`,$mono:!0,children:T(t)?`—`:y(t.inputTokens+t.outputTokens)}),(0,R.jsx)(P,{$align:`right`,$mono:!0,children:T(t)?`—`:h(t.costUsd)}),(0,R.jsx)(P,{children:T(t)?(0,R.jsx)(O,{$tone:`accent`,children:`live`}):t.errorCode===null?(0,R.jsx)(O,{$tone:`ok`,children:t.status}):(0,R.jsx)(O,{$tone:`down`,children:t.errorCode})})]},t.id))})]})})}),(0,R.jsx)(x,{open:K!==null,onOpenChange:e=>{e||q(null)},title:`Request detail`,width:`600px`,footer:(0,R.jsx)(t,{type:`button`,onClick:()=>q(null),children:`Close`}),children:K===null?null:(0,R.jsxs)(n,{$gap:3,children:[(0,R.jsxs)(U,{children:[(0,R.jsx)(r,{as:`dt`,children:`Request id`}),(0,R.jsx)(W,{children:K.id}),(0,R.jsx)(r,{as:`dt`,children:`At`}),(0,R.jsx)(W,{children:m(K.at)}),(0,R.jsx)(r,{as:`dt`,children:`Requested model`}),(0,R.jsx)(W,{children:K.requestedModel||`—`}),(0,R.jsx)(r,{as:`dt`,children:`Routed to`}),(0,R.jsx)(W,{children:T(K)?`—`:K.resolvedProvider===null?`not routed`:`${K.resolvedProvider} · ${K.resolvedModel??`—`}`}),(0,R.jsx)(r,{as:`dt`,children:`Account`}),(0,R.jsx)(W,{children:K.credentialId===null?`—`:X.get(K.credentialId)??K.credentialId}),(0,R.jsx)(r,{as:`dt`,children:`Key`}),(0,R.jsx)(W,{children:K.apiKeyId??`—`}),(0,R.jsx)(r,{as:`dt`,children:`Attempts`}),(0,R.jsx)(W,{children:T(K)?`—`:K.attempts}),(0,R.jsx)(r,{as:`dt`,children:`Status`}),(0,R.jsx)(W,{children:T(K)?`in flight`:K.errorCode===null?K.status:`${K.status} ${K.errorCode}`}),(0,R.jsx)(r,{as:`dt`,children:`Timing`}),(0,R.jsx)(W,{children:T(K)?`—`:`first token ${g(K.ttftMs)} · total ${g(K.durationMs)}`}),(0,R.jsx)(r,{as:`dt`,children:`Tokens`}),(0,R.jsx)(W,{children:T(K)?`—`:(0,R.jsxs)(R.Fragment,{children:[y(K.inputTokens),` in · `,y(K.outputTokens),` out ·`,` `,y(K.cacheReadTokens),` cache read ·`,` `,y(K.cacheWriteTokens),` cache write`]})}),(0,R.jsx)(r,{as:`dt`,children:`Cost`}),(0,R.jsx)(W,{children:T(K)?`—`:h(K.costUsd)})]}),K.degradations.length===0?null:(0,R.jsxs)(n,{$gap:1,children:[(0,R.jsx)(r,{children:`Capabilities dropped to fit the target`}),(0,R.jsx)(e,{$gap:1,$wrap:!0,children:K.degradations.map(e=>(0,R.jsx)(O,{$tone:`warn`,children:e},e))})]})]})})]})}var K=G;export{K as component};