@dudousxd/nestjs-telescope-ui 1.0.0 → 1.1.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,96 @@
1
1
  # @dudousxd/nestjs-telescope-ui
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`8d91d59`](https://github.com/DavideCarvalho/nestjs-telescope/commit/8d91d59563d731e9125bef65a38651c96ec06e0b) - Gate the dashboard SPA behind `dashboardAuth` when the host enables it.
8
+
9
+ On boot the SPA calls `GET /auth/me` and branches three ways:
10
+
11
+ - **disabled** (auth not configured → `404`): renders the dashboard exactly as
12
+ before, with no auth UI.
13
+ - **authenticated** (`200`): renders the dashboard plus a **Sign out** button in
14
+ the header (next to the theme/live-tail toggles).
15
+ - **unauthenticated** (`401`): renders an **AuthScreen** chosen from the modes in
16
+ the `401` body — a username/password **Sign in** form (`login` mode, inline
17
+ "Invalid credentials" on failure) or an "Open Telescope from your application"
18
+ instruction card with a **Retry** button (`session`-only mode).
19
+
20
+ A `401` from any API call mid-session (expired cookie) flips the app back to the
21
+ AuthScreen automatically. The client gains `auth.me()`/`auth.login()`/
22
+ `auth.logout()`; cookies ride along on the existing same-origin `fetch`, so
23
+ there are no transport changes. With `dashboardAuth` unset, behavior is
24
+ unchanged.
25
+
26
+ - [`4ceb884`](https://github.com/DavideCarvalho/nestjs-telescope/commit/4ceb8846b7307cf522d841c909d7eaf7fcb1aa4e) - Add retention/prune controls and query EXPLAIN.
27
+
28
+ **Retention / prune.** A new `GET /api/retention` reports the configured retention
29
+ window (`entryCount`/`oldestCreatedAt` stay `null` — the storage SPI exposes no
30
+ cheap count/oldest, and Telescope never scans to derive them). `POST /api/retention/prune`
31
+ runs an on-demand prune behind the existing default-deny mutation gate
32
+ (`authorizeAction`); it 403s when mutations are disabled and 400s when no `prune`
33
+ window is configured. The Overview page gains a Retention card with a confirm-gated
34
+ "Prune now" button, shown only when `meta.pruneEnabled` (prune window AND mutations).
35
+
36
+ **Query EXPLAIN.** A new host hook
37
+ `explainQuery?: (sql, bindings) => Promise<unknown>` lets the host run an
38
+ engine `EXPLAIN` (it brings its own connection/dialect — e.g. MySQL
39
+ `EXPLAIN FORMAT=JSON`). `POST /api/queries/explain` loads the query entry and
40
+ returns `{ plan }`; a hook throw surfaces as a clean `{ message }`. The query
41
+ entry detail gains an "Explain" button (only when `meta.explainEnabled`) that
42
+ renders the plan JSON with loading/error states.
43
+
44
+ `TelescopeMeta` gains `pruneEnabled` and `explainEnabled`.
45
+
46
+ - [`15e3e90`](https://github.com/DavideCarvalho/nestjs-telescope/commit/15e3e903d82616966342feeb966fbd44ad6a2631) - Add user drill-down: pivot from any request entry to all of a user's activity.
47
+
48
+ A new built-in **`userTagger`** (in `BUILTIN_TAGGERS`) tags request entries with
49
+ the authenticated user's identity as `user:<id>`. It reads `content.user`,
50
+ preferring `id`, then `_id` (Mongo), then `email` — cheap property reads gated to
51
+ request entries, never throwing on odd content shapes. Whatever `resolveUser`
52
+ returns becomes a filterable tag.
53
+
54
+ The dashboard turns that tag into a one-click pivot, reusing the existing
55
+ indexed-tag filter (no new query dimension): user-tagged rows show a `user:<id>`
56
+ chip in the entries table, and the entry detail view offers **"View all activity
57
+ for this user"**. Both navigate to the all-types entries list pre-filtered by the
58
+ tag (`#/entries?tag=user:<id>`), which the entries page now seeds from the `?tag=`
59
+ query string — the same deep-link mechanism as `?familyHash=`.
60
+
61
+ ### Patch Changes
62
+
63
+ - [`d200d15`](https://github.com/DavideCarvalho/nestjs-telescope/commit/d200d158f927e6a67396e594b32bfd0a0b3424e4) - Bound memory by design at capture time, fixing a production OOM incident.
64
+
65
+ A host hit a GC death spiral at its container limit. There was no unbounded leak:
66
+ the heap was a retained _working set_ — `prune.after × ingest rate × bytes per
67
+ entry` — amplified by `redact()` deep-cloning fat enumerable object graphs (a
68
+ host's `req.user` ORM entity → tens-of-KB..MB clones per entry), high-cardinality
69
+ cache capture volume, and the Recorder ring never nulling drained slots (stale fat
70
+ entries lingered up to capacity). The synchronous `redact()` detach is
71
+ load-bearing and must stay synchronous, so the fix bounds the clone instead of
72
+ deferring it.
73
+
74
+ - **Bounded redaction (on by default).** `redact()` now applies hard, overridable
75
+ bounds: `maxDepth` (8), `maxStringLength` (8_192), `maxArrayLength` (200), and a
76
+ per-call `maxNodes, maxContentBytes (16KB serialized-byte budget — the deterministic bytes-per-entry cap)` (5_000) node budget that caps a mega-graph regardless of its
77
+ shape. Defaults are generous — a normal request / query / cache entry is cloned
78
+ byte-identically; bounds only bite on pathological content. Key/path masking,
79
+ cycle-safety, sync-and-never-throwing behavior, and the public `redact()`
80
+ signature are unchanged. A new sibling `redactBounded()` also returns whether
81
+ truncation happened.
82
+ - **Recorder hardening.** `drain()` nulls drained ring slots so flushed fat
83
+ entries aren't retained afterward. A new `truncatedCount` self-metric counts
84
+ entries whose content hit a bound; it surfaces automatically in
85
+ `GET /telescope/api/health`, and the dashboard Overview adds a _Truncated_ stat
86
+ card (ui patch).
87
+ - **High-volume guidance.** When `prune` is set but `sampling` is empty, boot logs
88
+ a one-line INFO pointing at per-type sampling (e.g. `sampling: { cache: 0.1 }`)
89
+ to bound store volume on high-cardinality streams.
90
+
91
+ - Updated dependencies [[`c2423f3`](https://github.com/DavideCarvalho/nestjs-telescope/commit/c2423f330be3f9b92c0dbf2348220bf8740dab86), [`d8173d4`](https://github.com/DavideCarvalho/nestjs-telescope/commit/d8173d4c5d362814aa0fcdb0bfb35fd353b3d1a8), [`d200d15`](https://github.com/DavideCarvalho/nestjs-telescope/commit/d200d158f927e6a67396e594b32bfd0a0b3424e4), [`953ae12`](https://github.com/DavideCarvalho/nestjs-telescope/commit/953ae12fd35e42df3b806d6bbec6b49e3e3c71fb), [`4ceb884`](https://github.com/DavideCarvalho/nestjs-telescope/commit/4ceb8846b7307cf522d841c909d7eaf7fcb1aa4e), [`15e3e90`](https://github.com/DavideCarvalho/nestjs-telescope/commit/15e3e903d82616966342feeb966fbd44ad6a2631)]:
92
+ - @dudousxd/nestjs-telescope@2.0.0
93
+
3
94
  ## 1.0.0
4
95
 
5
96
  ### Minor Changes
@@ -1,4 +1,4 @@
1
- import type { EntriesQuery, Entry, EntryWithBatch, JobPage, Page, PulseReport, QueueCapabilities, QueueCounts, QueueJobDetail, QueueMetricsReport, QueueState, QueueSummary, ScheduledTask, ServerStats, StatsResult, TagCount, TelescopeHealth, TelescopeMeta, TimeseriesQuery, TimeseriesReport, TracesResult } from './types.js';
1
+ import type { AuthMeResult, EntriesQuery, Entry, EntryWithBatch, ExplainResult, JobPage, LoginResult, Page, PulseReport, QueueCapabilities, QueueCounts, QueueJobDetail, QueueMetricsReport, QueueState, QueueSummary, RetentionInfo, ScheduledTask, ServerStats, StatsResult, TagCount, TelescopeHealth, TelescopeMeta, TimeseriesQuery, TimeseriesReport, TracesResult } from './types.js';
2
2
  declare global {
3
3
  interface Window {
4
4
  /**
@@ -30,6 +30,17 @@ export interface TelescopeClient {
30
30
  meta(): Promise<TelescopeMeta>;
31
31
  serverStats(): Promise<ServerStats>;
32
32
  health(): Promise<TelescopeHealth>;
33
+ /** Retention/prune status for the Overview retention card. */
34
+ retention(): Promise<RetentionInfo>;
35
+ /** Runs on-demand prune (gated server-side by the default-deny mutation guard). */
36
+ prune(): Promise<{
37
+ pruned: number;
38
+ }>;
39
+ /**
40
+ * Explains a captured query entry. 404 (no hook / bad entry) and 503 (hook
41
+ * threw) are EXPECTED outcomes surfaced as `{ ok: false }`, not thrown.
42
+ */
43
+ explain(entryId: string): Promise<ExplainResult>;
33
44
  liveQueues(): Promise<{
34
45
  queues: QueueSummary[];
35
46
  capabilities: QueueCapabilities;
@@ -58,6 +69,15 @@ export interface TelescopeClient {
58
69
  }): Promise<{
59
70
  id: string | null;
60
71
  }>;
72
+ /** Dashboard auth: cookie-backed session, gated behind `dashboardAuth`. */
73
+ auth: {
74
+ /** `GET /auth/me`: 200 user / 401-with-modes / 404 (auth disabled). */
75
+ me(): Promise<AuthMeResult>;
76
+ /** `POST /auth/login`: 204 ok / 401 invalid credentials. */
77
+ login(username: string, password: string): Promise<LoginResult>;
78
+ /** `POST /auth/logout`: clears the session cookie. */
79
+ logout(): Promise<void>;
80
+ };
61
81
  }
62
82
  export declare function createTelescopeClient(options?: TelescopeClientOptions): TelescopeClient;
63
83
  //# sourceMappingURL=telescope-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telescope-client.d.ts","sourceRoot":"","sources":["../../src/client/telescope-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telescope-client.d.ts","sourceRoot":"","sources":["../../src/client/telescope-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAGZ,YAAY,EACZ,KAAK,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACP,WAAW,EACX,IAAI,EACJ,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,eAAe,EACf,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd;;;;;WAKG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,uGAAuG;IACvG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAYD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3C,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,UAAU,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACnC,8DAA8D;IAC9D,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACpC,mFAAmF;IACnF,KAAK,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,UAAU,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAAC,YAAY,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;IACnF,aAAa,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC,CAAC;IACrD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,SAAS,CACP,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpF,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACzB,WAAW,CACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,EACtB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,GAC5B,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzC,YAAY,CACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GACxC,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAClC,2EAA2E;IAC3E,IAAI,EAAE;QACJ,uEAAuE;QACvE,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5B,4DAA4D;QAC5D,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,sDAAsD;QACtD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,CAAC;CACH;AAED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,eAAe,CAsN3F"}
@@ -1,3 +1,6 @@
1
+ function isAuthMode(value) {
2
+ return value === 'session' || value === 'login';
3
+ }
1
4
  /** Derives the API base from the server-injected mount base, falling back to the default. */
2
5
  function defaultBaseUrl() {
3
6
  const base = (typeof window !== 'undefined' && window.__TELESCOPE_BASE__) || '/telescope';
@@ -44,6 +47,93 @@ export function createTelescopeClient(options = {}) {
44
47
  throw new Error(`Telescope API ${path} failed: ${response.status}`);
45
48
  return (await response.json());
46
49
  }
50
+ // Status-aware variants for the auth endpoints, where 401/404 are expected
51
+ // outcomes (which AuthScreen to show / auth disabled) rather than errors —
52
+ // so they must NOT throw the way `get`/`post` do.
53
+ async function rawGet(path) {
54
+ return doFetch(`${baseUrl}${path}`);
55
+ }
56
+ async function rawPost(path, body) {
57
+ return doFetch(`${baseUrl}${path}`, {
58
+ method: 'POST',
59
+ headers: { 'Content-Type': 'application/json' },
60
+ ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
61
+ });
62
+ }
63
+ async function authMe() {
64
+ const response = await rawGet('/auth/me');
65
+ if (response.ok) {
66
+ const body = (await response.json());
67
+ return { status: 'authenticated', user: body.user };
68
+ }
69
+ // 404 => dashboardAuth not configured: proceed as today (no auth screens).
70
+ if (response.status === 404)
71
+ return { status: 'disabled' };
72
+ // 401 (or anything else) => unauthenticated; read the offered modes.
73
+ const body = await readModesBody(response);
74
+ return { status: 'unauthenticated', modes: body };
75
+ }
76
+ async function readModesBody(response) {
77
+ const parsed = await response
78
+ .json()
79
+ .then((value) => value)
80
+ .catch(() => null);
81
+ if (parsed !== null &&
82
+ typeof parsed === 'object' &&
83
+ 'auth' in parsed &&
84
+ parsed.auth !== null &&
85
+ typeof parsed.auth === 'object' &&
86
+ 'modes' in parsed.auth &&
87
+ Array.isArray(parsed.auth.modes)) {
88
+ return parsed.auth.modes.filter(isAuthMode);
89
+ }
90
+ return [];
91
+ }
92
+ async function authLogin(username, password) {
93
+ const response = await rawPost('/auth/login', { username, password });
94
+ if (response.ok)
95
+ return { ok: true };
96
+ const message = await readLoginMessage(response);
97
+ return { ok: false, message };
98
+ }
99
+ async function readLoginMessage(response) {
100
+ const parsed = await response
101
+ .json()
102
+ .then((value) => value)
103
+ .catch(() => null);
104
+ if (parsed !== null &&
105
+ typeof parsed === 'object' &&
106
+ 'message' in parsed &&
107
+ typeof parsed.message === 'string') {
108
+ return parsed.message;
109
+ }
110
+ return 'Invalid credentials';
111
+ }
112
+ async function authLogout() {
113
+ await rawPost('/auth/logout');
114
+ }
115
+ async function explain(entryId) {
116
+ const response = await rawPost('/queries/explain', { entryId });
117
+ if (response.ok) {
118
+ const body = (await response.json());
119
+ return { ok: true, plan: body.plan };
120
+ }
121
+ const message = await readExplainMessage(response);
122
+ return { ok: false, message };
123
+ }
124
+ async function readExplainMessage(response) {
125
+ const parsed = await response
126
+ .json()
127
+ .then((value) => value)
128
+ .catch(() => null);
129
+ if (parsed !== null &&
130
+ typeof parsed === 'object' &&
131
+ 'message' in parsed &&
132
+ typeof parsed.message === 'string') {
133
+ return parsed.message;
134
+ }
135
+ return `EXPLAIN failed (${response.status})`;
136
+ }
47
137
  return {
48
138
  entries: (query = {}) => get('/entries', {
49
139
  type: query.type,
@@ -70,6 +160,9 @@ export function createTelescopeClient(options = {}) {
70
160
  meta: () => get('/meta'),
71
161
  serverStats: () => get('/server-stats'),
72
162
  health: () => get('/health'),
163
+ retention: () => get('/retention'),
164
+ prune: () => post('/retention/prune'),
165
+ explain,
73
166
  liveQueues: () => get('/queues/live'),
74
167
  schedulesLive: () => get('/schedules/live'),
75
168
  queueCounts: (driver, queue) => get(`/queues/live/${encodeURIComponent(driver)}/${encodeURIComponent(queue)}/counts`),
@@ -82,6 +175,11 @@ export function createTelescopeClient(options = {}) {
82
175
  queueJobAction: (driver, queue, id, action) => post(`/queues/live/${encodeURIComponent(driver)}/${encodeURIComponent(queue)}/jobs/${encodeURIComponent(id)}/${encodeURIComponent(action)}`),
83
176
  queueAction: (driver, queue, action, opts = {}) => post(`/queues/live/${encodeURIComponent(driver)}/${encodeURIComponent(queue)}/actions/${encodeURIComponent(action)}`, { state: opts.state }),
84
177
  queueEnqueue: (driver, queue, body) => post(`/queues/live/${encodeURIComponent(driver)}/${encodeURIComponent(queue)}/enqueue`, undefined, body),
178
+ auth: {
179
+ me: authMe,
180
+ login: authLogin,
181
+ logout: authLogout,
182
+ },
85
183
  };
86
184
  }
87
185
  //# sourceMappingURL=telescope-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telescope-client.js","sourceRoot":"","sources":["../../src/client/telescope-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telescope-client.js","sourceRoot":"","sources":["../../src/client/telescope-client.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,39 @@ export interface TagCount {
43
43
  tag: string;
44
44
  count: number;
45
45
  }
46
+ /** Which AuthScreen the unauthenticated SPA should render. */
47
+ export type AuthMode = 'session' | 'login';
48
+ /** The authenticated dashboard user, as returned by `GET /auth/me`. */
49
+ export interface AuthUser {
50
+ id: string;
51
+ name?: string;
52
+ roles?: string[];
53
+ }
54
+ /**
55
+ * Outcome of `GET /auth/me`, modeled as a discriminated union so the boot gate
56
+ * can branch exhaustively:
57
+ * - `authenticated`: a valid session cookie was present (200 + user).
58
+ * - `unauthenticated`: no/invalid cookie (401); `modes` tells the SPA which
59
+ * AuthScreen to show.
60
+ * - `disabled`: `dashboardAuth` is not configured on the host (404) — the SPA
61
+ * proceeds exactly as it does without auth.
62
+ */
63
+ export type AuthMeResult = {
64
+ status: 'authenticated';
65
+ user: AuthUser;
66
+ } | {
67
+ status: 'unauthenticated';
68
+ modes: AuthMode[];
69
+ } | {
70
+ status: 'disabled';
71
+ };
72
+ /** Outcome of `POST /auth/login`. */
73
+ export type LoginResult = {
74
+ ok: true;
75
+ } | {
76
+ ok: false;
77
+ message: string;
78
+ };
46
79
  export interface TelescopeMeta {
47
80
  enabled: boolean;
48
81
  droppedCount: number;
@@ -53,9 +86,43 @@ export interface TelescopeMeta {
53
86
  afterMs: number;
54
87
  keepLast: number | null;
55
88
  } | null;
89
+ /** Whether on-demand pruning is available (prune window AND mutations enabled). */
90
+ pruneEnabled: boolean;
91
+ /** Whether query EXPLAIN is available (host configured an `explainQuery` hook). */
92
+ explainEnabled: boolean;
56
93
  /** Resolved per-type sample rates (0..1). Empty when no sampling configured. */
57
94
  sampling: Record<string, number>;
95
+ /**
96
+ * Dashboard auth state for the AUTHENTICATED SPA (e.g. show the logout button
97
+ * when enabled). The unauthenticated SPA learns the modes from `/auth/me`.
98
+ */
99
+ auth: {
100
+ enabled: boolean;
101
+ modes: AuthMode[];
102
+ };
103
+ }
104
+ /**
105
+ * Retention/prune status returned by `GET /retention`. `entryCount` and
106
+ * `oldestCreatedAt` are `null` unless the storage SPI can expose them cheaply
107
+ * (it currently can't, so Telescope never scans to derive them).
108
+ */
109
+ export interface RetentionInfo {
110
+ retention: {
111
+ afterMs: number;
112
+ keepLast: number | null;
113
+ } | null;
114
+ entryCount: number | null;
115
+ oldestCreatedAt: string | null;
116
+ pruneSupported: true;
58
117
  }
118
+ /** Outcome of `POST /queries/explain`: the plan, or a clean error message. */
119
+ export type ExplainResult = {
120
+ ok: true;
121
+ plan: unknown;
122
+ } | {
123
+ ok: false;
124
+ message: string;
125
+ };
59
126
  export interface DurationStats {
60
127
  avg: number;
61
128
  p50: number;
@@ -136,6 +203,8 @@ export interface TelescopeHealth {
136
203
  storeFailedDropped: number;
137
204
  /** Total entries dropped (overflow + store failures). */
138
205
  droppedCount: number;
206
+ /** Entries whose content was clipped by a redaction bound (depth/string/array/node). */
207
+ truncatedCount: number;
139
208
  /** Mean nanoseconds per capture, from an on-demand micro-benchmark. */
140
209
  captureCostNanos: number;
141
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entries-table.d.ts","sourceRoot":"","sources":["../../../src/react/components/entries-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAkC/C;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAItD;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CASvD;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,GACT,EAAE;IAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAuDrE"}
1
+ {"version":3,"file":"entries-table.d.ts","sourceRoot":"","sources":["../../../src/react/components/entries-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAkC/C;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAItD;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CASvD;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,GACT,EAAE;IAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAqErE"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { CacheBadge } from './cache-badge.js';
3
+ import { buildUserActivityHref, findUserTag, userTagId } from './user-tag.js';
3
4
  export function entryLabel(entry) {
4
5
  const content = entry.content;
5
6
  if (typeof content === 'object' && content !== null) {
@@ -60,9 +61,13 @@ export function dumpValuePreview(value) {
60
61
  return text.length > 80 ? `${text.slice(0, 80)}…` : text;
61
62
  }
62
63
  export function EntriesTable({ entries, onSelect, }) {
63
- return (_jsxs("table", { className: "w-full text-left text-xs", children: [_jsx("thead", { className: "text-zinc-500", children: _jsxs("tr", { children: [_jsx("th", { className: "py-2 font-normal", children: "Time" }), _jsx("th", { className: "font-normal", children: "Type" }), _jsx("th", { className: "font-normal", children: "Summary" }), _jsx("th", { className: "font-normal", children: "Duration" }), _jsx("th", { className: "font-normal", children: "Tags" })] }) }), _jsx("tbody", { children: entries.map((entry) => (_jsxs("tr", { onClick: () => onSelect?.(entry.id), onKeyDown: (event) => {
64
- if (event.key === 'Enter' || event.key === ' ')
65
- onSelect?.(entry.id);
66
- }, className: "cursor-pointer border-t border-zinc-900 hover:bg-zinc-900", children: [_jsx("td", { className: "py-1.5 text-zinc-500", children: new Date(entry.createdAt).toLocaleTimeString() }), _jsx("td", { className: "text-emerald-400", children: entry.type }), _jsx("td", { className: "max-w-md truncate text-zinc-300", children: _jsxs("span", { className: "inline-flex items-center gap-1.5", children: [entry.type === 'cache' ? _jsx(CacheBadge, { content: entry.content }) : null, _jsx("span", { className: "truncate", children: entryLabel(entry) })] }) }), _jsx("td", { className: "text-zinc-400", children: entry.durationMs != null ? `${entry.durationMs}ms` : '—' }), _jsx("td", { className: "text-zinc-600", children: _jsxs("span", { className: "inline-flex items-center gap-1.5", children: [entry.traceId !== null && (_jsxs("a", { href: `#/traces/${entry.traceId}`, title: `View trace ${entry.traceId}`, onClick: (event) => event.stopPropagation(), className: "rounded bg-zinc-900 px-1.5 py-0.5 font-mono text-[10px] text-sky-400 hover:bg-zinc-800", children: ["trace:", entry.traceId.slice(0, 6)] })), entry.tags.length > 0 && _jsx("span", { children: entry.tags.join(' ') })] }) })] }, entry.id))) })] }));
64
+ return (_jsxs("table", { className: "w-full text-left text-xs", children: [_jsx("thead", { className: "text-zinc-500", children: _jsxs("tr", { children: [_jsx("th", { className: "py-2 font-normal", children: "Time" }), _jsx("th", { className: "font-normal", children: "Type" }), _jsx("th", { className: "font-normal", children: "Summary" }), _jsx("th", { className: "font-normal", children: "Duration" }), _jsx("th", { className: "font-normal", children: "Tags" })] }) }), _jsx("tbody", { children: entries.map((entry) => {
65
+ const userTag = findUserTag(entry.tags);
66
+ const otherTags = entry.tags.filter((tag) => tag !== userTag);
67
+ return (_jsxs("tr", { onClick: () => onSelect?.(entry.id), onKeyDown: (event) => {
68
+ if (event.key === 'Enter' || event.key === ' ')
69
+ onSelect?.(entry.id);
70
+ }, className: "cursor-pointer border-t border-zinc-900 hover:bg-zinc-900", children: [_jsx("td", { className: "py-1.5 text-zinc-500", children: new Date(entry.createdAt).toLocaleTimeString() }), _jsx("td", { className: "text-emerald-400", children: entry.type }), _jsx("td", { className: "max-w-md truncate text-zinc-300", children: _jsxs("span", { className: "inline-flex items-center gap-1.5", children: [entry.type === 'cache' ? _jsx(CacheBadge, { content: entry.content }) : null, _jsx("span", { className: "truncate", children: entryLabel(entry) })] }) }), _jsx("td", { className: "text-zinc-400", children: entry.durationMs != null ? `${entry.durationMs}ms` : '—' }), _jsx("td", { className: "text-zinc-600", children: _jsxs("span", { className: "inline-flex items-center gap-1.5", children: [entry.traceId !== null && (_jsxs("a", { href: `#/traces/${entry.traceId}`, title: `View trace ${entry.traceId}`, onClick: (event) => event.stopPropagation(), className: "rounded bg-zinc-900 px-1.5 py-0.5 font-mono text-[10px] text-sky-400 hover:bg-zinc-800", children: ["trace:", entry.traceId.slice(0, 6)] })), userTag !== null && (_jsx("a", { href: buildUserActivityHref(userTag), title: `View all activity for user ${userTagId(userTag)}`, onClick: (event) => event.stopPropagation(), className: "rounded bg-zinc-900 px-1.5 py-0.5 font-mono text-[10px] text-emerald-400 hover:bg-zinc-800", children: userTag })), otherTags.length > 0 && _jsx("span", { children: otherTags.join(' ') })] }) })] }, entry.id));
71
+ }) })] }));
67
72
  }
68
73
  //# sourceMappingURL=entries-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entries-table.js","sourceRoot":"","sources":["../../../src/react/components/entries-table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entries-table.js","sourceRoot":"","sources":["../../../src/react/components/entries-table.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entry-detail.d.ts","sourceRoot":"","sources":["../../../src/react/components/entry-detail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,GACT,EAAE;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAuD1E"}
1
+ {"version":3,"file":"entry-detail.d.ts","sourceRoot":"","sources":["../../../src/react/components/entry-detail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAS5D,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,GACT,EAAE;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA0E1E"}
@@ -1,14 +1,16 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useMeta } from '../use-telescope-queries.js';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useExplain, useMeta } from '../use-telescope-queries.js';
3
3
  import { BatchTimeline } from './batch-timeline.js';
4
4
  import { CacheBadge } from './cache-badge.js';
5
5
  import { ExportJsonToolbar } from './export-json-toolbar.js';
6
6
  import { RequestTimeline } from './request-timeline.js';
7
7
  import { buildTraceHref } from './trace-link.js';
8
+ import { buildUserActivityHref, findUserTag, userTagId } from './user-tag.js';
8
9
  export function EntryDetail({ entry, onSelect, }) {
9
10
  const { data: meta } = useMeta();
10
11
  const showTimeline = entry.type === 'request' && entry.batch.length > 1;
11
- return (_jsxs("div", { className: "grid grid-cols-3 gap-6", children: [_jsxs("section", { className: "col-span-2", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between gap-2", children: [_jsxs("h2", { className: "flex items-center gap-2 text-sm text-emerald-400", children: [entry.type, entry.type === 'cache' ? _jsx(CacheBadge, { content: entry.content }) : null] }), _jsx(ExportJsonToolbar, { value: entry, filename: `telescope-entry-${entry.id}.json` })] }), showTimeline ? (_jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "mb-2 text-xs uppercase tracking-wide text-zinc-500", children: "Timeline" }), _jsx(RequestTimeline, { batch: entry.batch, requestId: entry.id, onSelect: onSelect })] })) : null, entry.type === 'dump' ? (_jsx(DumpBody, { content: entry.content })) : entry.type === 'event' ? (_jsx(EventBody, { content: entry.content })) : entry.type === 'log' ? (_jsx(LogBody, { content: entry.content })) : entry.type === 'model' ? (_jsx(ModelBody, { content: entry.content })) : entry.type === 'redis' ? (_jsx(RedisBody, { content: entry.content })) : entry.type === 'request' ? (_jsx(RequestBody, { content: entry.content })) : (_jsx("pre", { className: "overflow-auto rounded bg-zinc-900 p-3 text-xs text-zinc-300", children: JSON.stringify(entry.content, null, 2) }))] }), _jsxs("aside", { children: [entry.traceId ? (_jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "mb-2 text-xs uppercase tracking-wide text-zinc-500", children: "Trace" }), _jsx(TraceRow, { traceId: entry.traceId, spanId: entry.spanId, traceLink: meta?.traceLink ?? null })] })) : null, _jsxs("h3", { className: "mb-2 text-xs uppercase tracking-wide text-zinc-500", children: ["Batch (", entry.batch.length, ")"] }), _jsx(BatchTimeline, { batch: entry.batch, currentId: entry.id, onSelect: onSelect })] })] }));
12
+ const userTag = findUserTag(entry.tags);
13
+ return (_jsxs("div", { className: "grid grid-cols-3 gap-6", children: [_jsxs("section", { className: "col-span-2", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between gap-2", children: [_jsxs("h2", { className: "flex items-center gap-2 text-sm text-emerald-400", children: [entry.type, entry.type === 'cache' ? _jsx(CacheBadge, { content: entry.content }) : null] }), _jsx(ExportJsonToolbar, { value: entry, filename: `telescope-entry-${entry.id}.json` })] }), showTimeline ? (_jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "mb-2 text-xs uppercase tracking-wide text-zinc-500", children: "Timeline" }), _jsx(RequestTimeline, { batch: entry.batch, requestId: entry.id, onSelect: onSelect })] })) : null, entry.type === 'dump' ? (_jsx(DumpBody, { content: entry.content })) : entry.type === 'event' ? (_jsx(EventBody, { content: entry.content })) : entry.type === 'log' ? (_jsx(LogBody, { content: entry.content })) : entry.type === 'model' ? (_jsx(ModelBody, { content: entry.content })) : entry.type === 'redis' ? (_jsx(RedisBody, { content: entry.content })) : entry.type === 'request' ? (_jsx(RequestBody, { content: entry.content })) : entry.type === 'query' ? (_jsx(QueryBody, { entryId: entry.id, content: entry.content, explainEnabled: meta?.explainEnabled ?? false })) : (_jsx("pre", { className: "overflow-auto rounded bg-zinc-900 p-3 text-xs text-zinc-300", children: JSON.stringify(entry.content, null, 2) }))] }), _jsxs("aside", { children: [userTag !== null ? (_jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "mb-2 text-xs uppercase tracking-wide text-zinc-500", children: "User" }), _jsx("div", { className: "font-mono text-[11px] text-zinc-300", children: userTagId(userTag) }), _jsx("a", { href: buildUserActivityHref(userTag), className: "mt-1 inline-block text-[11px] text-emerald-400 hover:underline", children: "View all activity for this user" })] })) : null, entry.traceId ? (_jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "mb-2 text-xs uppercase tracking-wide text-zinc-500", children: "Trace" }), _jsx(TraceRow, { traceId: entry.traceId, spanId: entry.spanId, traceLink: meta?.traceLink ?? null })] })) : null, _jsxs("h3", { className: "mb-2 text-xs uppercase tracking-wide text-zinc-500", children: ["Batch (", entry.batch.length, ")"] }), _jsx(BatchTimeline, { batch: entry.batch, currentId: entry.id, onSelect: onSelect })] })] }));
12
14
  }
13
15
  /** Pretty-print a dump value to JSON, falling back to String() if not serializable. */
14
16
  function prettyJson(value) {
@@ -96,6 +98,23 @@ function RequestBody({ content }) {
96
98
  const hasUser = 'user' in record && record.user !== null && record.user !== undefined;
97
99
  return (_jsxs("div", { children: [_jsxs("h3", { className: "mb-3 flex items-center gap-2 font-mono text-sm text-emerald-400", children: [_jsx("span", { className: "rounded bg-zinc-900 px-1.5 py-0.5 text-[10px] uppercase", children: method }), _jsx("span", { className: "text-zinc-300", children: uri }), statusCode !== null ? (_jsx("span", { className: "rounded bg-zinc-900 px-1.5 py-0.5 text-[10px] text-zinc-500", children: statusCode })) : null, ip ? _jsx("span", { className: "text-[10px] text-zinc-500", children: ip }) : null] }), _jsx(RequestHeaders, { headers: headers }), _jsx("h3", { className: "mb-2 text-xs uppercase tracking-wide text-zinc-500", children: "Payload" }), hasContent(record.payload) ? (_jsx("pre", { className: "mb-4 overflow-auto rounded bg-zinc-900 p-3 text-xs text-zinc-300", children: prettyJson(record.payload) })) : (_jsx("p", { className: "mb-4 text-xs text-zinc-600", children: "No payload" })), _jsx("h3", { className: "mb-2 text-xs uppercase tracking-wide text-zinc-500", children: "User" }), hasUser ? (_jsx("pre", { className: "overflow-auto rounded bg-zinc-900 p-3 text-xs text-zinc-300", children: prettyJson(record.user) })) : (_jsx("p", { className: "text-xs text-zinc-600", children: "anonymous" }))] }));
98
100
  }
101
+ function QueryBody({ entryId, content, explainEnabled, }) {
102
+ const record = typeof content === 'object' && content !== null ? content : {};
103
+ const sql = typeof record.sql === 'string' ? record.sql : String(record.sql ?? '');
104
+ const slow = record.slow === true;
105
+ const explain = useExplain();
106
+ const result = explain.data;
107
+ async function onExplain() {
108
+ try {
109
+ await explain.mutateAsync(entryId);
110
+ }
111
+ catch {
112
+ // mutateAsync rejects only on transport errors; the client maps the
113
+ // expected 404/503 outcomes into a non-throwing `{ ok: false }` result.
114
+ }
115
+ }
116
+ return (_jsxs("div", { children: [_jsxs("div", { className: "mb-2 flex items-center justify-between gap-2", children: [_jsxs("h3", { className: "flex items-center gap-2 font-mono text-sm text-sky-400", children: ["query", slow ? (_jsx("span", { className: "rounded bg-zinc-900 px-1.5 py-0.5 text-[10px] text-amber-400", children: "slow" })) : null] }), explainEnabled ? (_jsx("button", { type: "button", onClick: onExplain, disabled: explain.isPending, className: "rounded border border-zinc-700 px-2 py-1 text-[11px] text-zinc-300 hover:border-emerald-500 hover:text-emerald-400 disabled:cursor-not-allowed disabled:opacity-50", children: explain.isPending ? 'Explaining…' : 'Explain' })) : null] }), _jsx("pre", { className: "overflow-auto rounded bg-zinc-900 p-3 text-xs text-zinc-300", children: sql }), Array.isArray(record.bindings) && record.bindings.length > 0 ? (_jsxs(_Fragment, { children: [_jsx("h3", { className: "mt-3 mb-2 text-xs uppercase tracking-wide text-zinc-500", children: "Bindings" }), _jsx("pre", { className: "overflow-auto rounded bg-zinc-900 p-3 text-xs text-zinc-300", children: prettyJson(record.bindings) })] })) : null, explain.isPending ? (_jsx("p", { className: "mt-3 text-xs text-zinc-600", children: "Running EXPLAIN\u2026" })) : result === undefined ? null : result.ok ? (_jsxs(_Fragment, { children: [_jsx("h3", { className: "mt-3 mb-2 text-xs uppercase tracking-wide text-zinc-500", children: "Query plan" }), _jsx("pre", { className: "overflow-auto rounded bg-zinc-900 p-3 text-xs text-zinc-300", children: prettyJson(result.plan) })] })) : (_jsx("p", { className: "mt-3 rounded bg-zinc-900 p-3 text-xs text-red-400", children: result.message }))] }));
117
+ }
99
118
  function LogBody({ content }) {
100
119
  const record = typeof content === 'object' && content !== null ? content : {};
101
120
  const level = typeof record.level === 'string' ? record.level : 'log';
@@ -1 +1 @@
1
- {"version":3,"file":"entry-detail.js","sourceRoot":"","sources":["../../../src/react/components/entry-detail.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-detail.js","sourceRoot":"","sources":["../../../src/react/components/entry-detail.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9E,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,GACmD;IAC3D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACrC,mBAAS,SAAS,EAAC,YAAY,aAC7B,eAAK,SAAS,EAAC,8CAA8C,aAC3D,cAAI,SAAS,EAAC,kDAAkD,aAC7D,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,IACpE,EACL,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,KAAK,CAAC,EAAE,OAAO,GAAI,IAC7E,EACL,YAAY,CAAC,CAAC,CAAC,CACd,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,oDAAoD,yBAAc,EAChF,KAAC,eAAe,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAC5E,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACvB,KAAC,QAAQ,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACrC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAC3B,KAAC,SAAS,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACtC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CACzB,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACpC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAC3B,KAAC,SAAS,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACtC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAC3B,KAAC,SAAS,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACtC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAC7B,KAAC,WAAW,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACxC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAC3B,KAAC,SAAS,IACR,OAAO,EAAE,KAAK,CAAC,EAAE,EACjB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,cAAc,EAAE,IAAI,EAAE,cAAc,IAAI,KAAK,GAC7C,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,6DAA6D,YACzE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GACnC,CACP,IACO,EACV,4BACG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAClB,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,oDAAoD,qBAAU,EAC5E,cAAK,SAAS,EAAC,qCAAqC,YAAE,SAAS,CAAC,OAAO,CAAC,GAAO,EAC/E,YACE,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACpC,SAAS,EAAC,gEAAgE,gDAGxE,IACA,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,oDAAoD,sBAAW,EAC7E,KAAC,QAAQ,IACP,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,GAClC,IACE,CACP,CAAC,CAAC,CAAC,IAAI,EACR,cAAI,SAAS,EAAC,oDAAoD,wBACxD,KAAK,CAAC,KAAK,CAAC,MAAM,SACvB,EACL,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI,IACxE,IACJ,CACP,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,EAAE,OAAO,EAAwB;IACjD,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,OAAO,CACL,0BACG,KAAK,CAAC,CAAC,CAAC,aAAI,SAAS,EAAC,yCAAyC,YAAE,KAAK,GAAM,CAAC,CAAC,CAAC,IAAI,EACpF,cAAK,SAAS,EAAC,6DAA6D,YACzE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GACrB,IACF,CACP,CAAC;AACJ,CAAC;AAED,iDAAiD;AACjD,SAAS,aAAa,CAAC,KAAa;IAClC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,cAAc,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC;QAC1B,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,eAAe,CAAC;QACzB;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,OAAO,EAAwB;IAClD,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,OAAO,CACL,0BACE,cAAI,SAAS,EAAC,gEAAgE,aAC3E,IAAI,EACJ,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,CACxB,gBAAM,SAAS,EAAC,6DAA6D,aAC1E,aAAa,eAAW,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAClD,CACR,CAAC,CAAC,CAAC,IAAI,IACL,EACL,cAAK,SAAS,EAAC,6DAA6D,YACzE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GACvB,IACF,CACP,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,SAAS,gBAAgB,CAAC,MAAc;IACtC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC;QAC1B,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC;QACxB;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,OAAO,EAAwB;IAClD,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5E,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC/F,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpF,OAAO,CACL,0BACE,cAAI,SAAS,EAAC,8DAA8D,aAC1E,eACE,SAAS,EAAE,2DAA2D,gBAAgB,CAAC,MAAM,CAAC,EAAE,YAE/F,MAAM,GACF,EACP,yBAAO,MAAM,GAAQ,EACpB,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAM,SAAS,EAAC,eAAe,kBAAG,EAAE,IAAQ,CAAC,CAAC,CAAC,IAAI,IAC/D,EACL,cAAK,SAAS,EAAC,6DAA6D,YACzE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GACvB,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,OAAO,EAAwB;IAClD,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,OAAO,CACL,0BACE,cAAI,SAAS,EAAC,8DAA8D,aACzE,OAAO,EACP,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,CACrB,gBAAM,SAAS,EAAC,6DAA6D,aAC1E,UAAU,WACN,CACR,CAAC,CAAC,CAAC,IAAI,IACL,EACL,cAAK,SAAS,EAAC,6DAA6D,YACzE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GACpB,IACF,CACP,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,OAAO,EAAwC;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CACL,mBAAS,SAAS,EAAC,MAAM,aACvB,mBAAS,SAAS,EAAC,8DAA8D,0BACrE,OAAO,CAAC,MAAM,SAChB,EACV,aAAI,SAAS,EAAC,uFAAuF,YAClG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAC7B,eAAe,SAAS,EAAC,UAAU,aACjC,aAAI,SAAS,EAAC,yBAAyB,YAAE,GAAG,GAAM,EAClD,aAAI,SAAS,EAAC,mCAAmC,YAC9C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GACnD,KAJG,GAAG,CAKP,CACP,CAAC,GACC,IACG,CACX,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,OAAO,EAAwB;IACpD,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;QAC3D,CAAC,CAAE,MAAM,CAAC,OAAmC;QAC7C,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC/F,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IACtF,OAAO,CACL,0BACE,cAAI,SAAS,EAAC,iEAAiE,aAC7E,eAAM,SAAS,EAAC,yDAAyD,YAAE,MAAM,GAAQ,EACzF,eAAM,SAAS,EAAC,eAAe,YAAE,GAAG,GAAQ,EAC3C,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,CACrB,eAAM,SAAS,EAAC,6DAA6D,YAC1E,UAAU,GACN,CACR,CAAC,CAAC,CAAC,IAAI,EACP,EAAE,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,2BAA2B,YAAE,EAAE,GAAQ,CAAC,CAAC,CAAC,IAAI,IACjE,EACL,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,GAAI,EACpC,aAAI,SAAS,EAAC,oDAAoD,wBAAa,EAC9E,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC5B,cAAK,SAAS,EAAC,kEAAkE,YAC9E,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GACvB,CACP,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,4BAA4B,2BAAe,CACzD,EACD,aAAI,SAAS,EAAC,oDAAoD,qBAAU,EAC3E,OAAO,CAAC,CAAC,CAAC,CACT,cAAK,SAAS,EAAC,6DAA6D,YACzE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GACpB,CACP,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,uBAAuB,0BAAc,CACnD,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,OAAO,EACP,OAAO,EACP,cAAc,GACiD;IAC/D,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;IAClC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5B,KAAK,UAAU,SAAS;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,wEAAwE;QAC1E,CAAC;IACH,CAAC;IAED,OAAO,CACL,0BACE,eAAK,SAAS,EAAC,8CAA8C,aAC3D,cAAI,SAAS,EAAC,wDAAwD,sBAEnE,IAAI,CAAC,CAAC,CAAC,CACN,eAAM,SAAS,EAAC,8DAA8D,qBAEvE,CACR,CAAC,CAAC,CAAC,IAAI,IACL,EACJ,cAAc,CAAC,CAAC,CAAC,CAChB,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,OAAO,CAAC,SAAS,EAC3B,SAAS,EAAC,oKAAoK,YAE7K,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,GACvC,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,cAAK,SAAS,EAAC,6DAA6D,YAAE,GAAG,GAAO,EACvF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9D,8BACE,aAAI,SAAS,EAAC,yDAAyD,yBAAc,EACrF,cAAK,SAAS,EAAC,6DAA6D,YACzE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,GACxB,IACL,CACJ,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CACnB,YAAG,SAAS,EAAC,4BAA4B,sCAAqB,CAC/D,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAC5C,8BACE,aAAI,SAAS,EAAC,yDAAyD,2BAAgB,EACvF,cAAK,SAAS,EAAC,6DAA6D,YACzE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GACpB,IACL,CACJ,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,mDAAmD,YAAE,MAAM,CAAC,OAAO,GAAK,CACtF,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,OAAO,EAAwB;IAChD,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,OAAO,CACL,0BACE,cAAI,SAAS,EAAC,sCAAsC,aAClD,eACE,SAAS,EAAE,qEAAqE,aAAa,CAAC,KAAK,CAAC,EAAE,YAErG,KAAK,GACD,EACN,OAAO,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,iCAAiC,YAAE,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,IACjF,EACL,cAAK,SAAS,EAAC,6DAA6D,YAAE,OAAO,GAAO,IACxF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAChB,OAAO,EACP,MAAM,EACN,SAAS,GAC4D;IACrE,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,CACL,0BACG,IAAI,CAAC,CAAC,CAAC,CACN,YACE,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,EAChB,SAAS,EAAC,wDAAwD,YAEjE,OAAO,GACN,CACL,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,qCAAqC,YAAE,OAAO,GAAO,CACrE,EACA,MAAM,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,qCAAqC,YAAE,MAAM,GAAO,CAAC,CAAC,CAAC,IAAI,EACpF,YACE,IAAI,EAAE,YAAY,OAAO,EAAE,EAC3B,SAAS,EAAC,gEAAgE,uCAGxE,IACA,CACP,CAAC;AACJ,CAAC"}