@vibecook/ghosttea-react 0.12.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +59 -4
  2. package/dist/TerminalSurface.d.ts +53 -0
  3. package/dist/TerminalSurface.d.ts.map +1 -1
  4. package/dist/TerminalSurface.js +76 -9
  5. package/dist/TerminalSurface.js.map +1 -1
  6. package/dist/appearance/AppearanceSettings.d.ts +2 -0
  7. package/dist/appearance/AppearanceSettings.d.ts.map +1 -1
  8. package/dist/appearance/AppearanceSettings.js +12 -2
  9. package/dist/appearance/AppearanceSettings.js.map +1 -1
  10. package/dist/appearance/types.d.ts +4 -0
  11. package/dist/appearance/types.d.ts.map +1 -1
  12. package/dist/catalog-budget.d.ts +2 -2
  13. package/dist/catalog-budget.d.ts.map +1 -1
  14. package/dist/catalog-budget.js +2 -2
  15. package/dist/catalog-budget.js.map +1 -1
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +2 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/index.d.ts +2 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/renderers/glyph-atlas.d.ts +43 -0
  24. package/dist/renderers/glyph-atlas.d.ts.map +1 -0
  25. package/dist/renderers/glyph-atlas.js +175 -0
  26. package/dist/renderers/glyph-atlas.js.map +1 -0
  27. package/dist/renderers/light-adaptation.d.ts +36 -0
  28. package/dist/renderers/light-adaptation.d.ts.map +1 -0
  29. package/dist/renderers/light-adaptation.js +332 -0
  30. package/dist/renderers/light-adaptation.js.map +1 -0
  31. package/dist/renderers/types.d.ts +21 -0
  32. package/dist/renderers/types.d.ts.map +1 -1
  33. package/dist/renderers/types.js.map +1 -1
  34. package/dist/renderers/webgpu-renderer.d.ts +4 -0
  35. package/dist/renderers/webgpu-renderer.d.ts.map +1 -1
  36. package/dist/renderers/webgpu-renderer.js +321 -237
  37. package/dist/renderers/webgpu-renderer.js.map +1 -1
  38. package/dist/routed-control.d.ts +26 -2
  39. package/dist/routed-control.d.ts.map +1 -1
  40. package/dist/routed-control.js +145 -27
  41. package/dist/routed-control.js.map +1 -1
  42. package/dist/routed-frames.d.ts +1 -1
  43. package/dist/routed-frames.d.ts.map +1 -1
  44. package/dist/routed-frames.js +3 -7
  45. package/dist/routed-frames.js.map +1 -1
  46. package/dist/row-damage.d.ts +21 -0
  47. package/dist/row-damage.d.ts.map +1 -0
  48. package/dist/row-damage.js +76 -0
  49. package/dist/row-damage.js.map +1 -0
  50. package/dist/runtime.d.ts +92 -3
  51. package/dist/runtime.d.ts.map +1 -1
  52. package/dist/runtime.js +439 -43
  53. package/dist/runtime.js.map +1 -1
  54. package/dist/styles.css +11 -0
  55. package/dist/terminal-render.worker.js +908 -288
  56. package/dist/terminal-render.worker.js.map +4 -4
  57. package/dist/worker-messages.d.ts +22 -1
  58. package/dist/worker-messages.d.ts.map +1 -1
  59. package/dist/workspace/Workspace.d.ts +15 -2
  60. package/dist/workspace/Workspace.d.ts.map +1 -1
  61. package/dist/workspace/Workspace.js +36 -12
  62. package/dist/workspace/Workspace.js.map +1 -1
  63. package/dist/workspace/pane-layout.d.ts +3 -1
  64. package/dist/workspace/pane-layout.d.ts.map +1 -1
  65. package/dist/workspace/pane-layout.js +16 -4
  66. package/dist/workspace/pane-layout.js.map +1 -1
  67. package/package.json +4 -4
@@ -49,11 +49,16 @@ export class RoutedControlTransport {
49
49
  const activation = this.#activations.get(activationId);
50
50
  if (!activation)
51
51
  return undefined;
52
+ activation.lastDemand = demand;
52
53
  const connection = this.#connections.get(activation.request.cellBootId);
53
54
  if (!connection?.accepted)
54
55
  return undefined;
56
+ const replacement = connection.replacements.get(activation.request.attachGrant.claims.sessionId);
57
+ if (activation.request.replacePreviousActivation &&
58
+ replacement?.pending?.activationId !== activationId &&
59
+ replacement?.admitted !== activationId)
60
+ return undefined;
55
61
  activation.demandSequence += 1;
56
- activation.lastDemand = demand;
57
62
  const body = {
58
63
  sessionId: activation.request.attachGrant.claims.sessionId,
59
64
  activationId,
@@ -64,23 +69,45 @@ export class RoutedControlTransport {
64
69
  this.#send(connection, encodeRoutedMessage("DeclareDemand", body));
65
70
  return activation.demandSequence;
66
71
  }
67
- claimGeometry(activationId, claim) {
72
+ /** `context` comes back unchanged on the reply this claim earns. */
73
+ claimGeometry(activationId, claim, context) {
68
74
  if (claim.activationId !== activationId)
69
75
  return false;
70
- return this.#sendGeometry(activationId, encodeRoutedMessage("ClaimGeometry", claim));
76
+ return this.#sendGeometry(activationId, encodeRoutedMessage("ClaimGeometry", claim), {
77
+ kind: "claim",
78
+ ...(context === undefined ? {} : { context }),
79
+ });
71
80
  }
81
+ /**
82
+ * T1 answers a release only when it refuses it; a success has no body. A
83
+ * heartbeat sent right behind the release fences it: the cell answers a
84
+ * control leg in order, so a refusal arrives before that heartbeat's ack
85
+ * and the ack alone proves a success. Without the fence a refused release
86
+ * would take the next claim's or transfer's reply as its own. Refusals are
87
+ * routine once another client can take the seat, because a release names
88
+ * the holder this client last knew.
89
+ */
72
90
  releaseGeometry(activationId, release) {
73
91
  if (release.activationId !== activationId)
74
92
  return false;
75
- // A successful release is intentionally fire-and-forget on T1; only a
76
- // refusal produces a response. Do not leave an unanswerable FIFO entry
77
- // that would steal the next claim/transfer acknowledgement.
78
- return this.#sendActivation(activationId, encodeRoutedMessage("ReleaseGeometry", release));
93
+ const activation = this.#activations.get(activationId);
94
+ const connection = activation ? this.#connections.get(activation.request.cellBootId) : undefined;
95
+ if (!connection || !this.#sendActivation(activationId, encodeRoutedMessage("ReleaseGeometry", release))) {
96
+ return false;
97
+ }
98
+ const fence = this.#sendHeartbeat(connection);
99
+ if (fence !== undefined)
100
+ connection.pendingGeometry.push({ activationId, request: { kind: "release" }, fence });
101
+ return true;
79
102
  }
80
- transferGeometry(activationId, transfer) {
103
+ /** `context` comes back unchanged on the reply this transfer earns. */
104
+ transferGeometry(activationId, transfer, context) {
81
105
  if (transfer.activationId !== activationId)
82
106
  return false;
83
- return this.#sendGeometry(activationId, encodeRoutedMessage("TransferGeometry", transfer));
107
+ return this.#sendGeometry(activationId, encodeRoutedMessage("TransferGeometry", transfer), {
108
+ kind: "transfer",
109
+ ...(context === undefined ? {} : { context }),
110
+ });
84
111
  }
85
112
  /**
86
113
  * Extension seam for a future terminal-input wire verb. The current T1
@@ -97,7 +124,11 @@ export class RoutedControlTransport {
97
124
  return;
98
125
  this.declareDemand(activationId, { mode: "none" });
99
126
  this.#activations.delete(activationId);
100
- this.#connections.get(activation.request.cellBootId)?.activationIds.delete(activationId);
127
+ const connection = this.#connections.get(activation.request.cellBootId);
128
+ connection?.activationIds.delete(activationId);
129
+ const replacement = connection?.replacements.get(activation.request.attachGrant.claims.sessionId);
130
+ if (replacement?.queued === activation)
131
+ delete replacement.queued;
101
132
  }
102
133
  dispose() {
103
134
  if (this.#disposed)
@@ -134,6 +165,7 @@ export class RoutedControlTransport {
134
165
  socket,
135
166
  activationIds: new Set(),
136
167
  pendingGeometry: [],
168
+ replacements: new Map(),
137
169
  heartbeatSequence: 0,
138
170
  heartbeatAckSequence: 0,
139
171
  };
@@ -222,9 +254,30 @@ export class RoutedControlTransport {
222
254
  connection.heartbeatAckSequence = message.sequence;
223
255
  this.#armHeartbeatDeadline(connection);
224
256
  }
257
+ // The ack follows every reply to what was sent before its heartbeat, so
258
+ // a release fenced by it that drew no refusal succeeded.
259
+ connection.pendingGeometry = connection.pendingGeometry.filter((pending) => pending.fence === undefined || pending.fence > message.sequence);
225
260
  return;
226
261
  }
227
262
  if (message.type === "ControlLegAttached") {
263
+ const replacement = connection.replacements.get(message.sessionId);
264
+ const pending = replacement?.pending;
265
+ if (replacement && pending?.activationId === message.activationId) {
266
+ if (message.grantGenerationAccepted !== pending.attachGrant.claims.grantGeneration ||
267
+ message.rights.some((right) => !pending.attachGrant.claims.rights.includes(right))) {
268
+ this.#closeConnection(connection, ROUTED_CLOSE_CODES.PROTOCOL, "control attach binding mismatch", true);
269
+ return;
270
+ }
271
+ replacement.admitted = message.activationId;
272
+ delete replacement.pending;
273
+ // Detach retires the UI consumer, not the cell's identity. A late ACK
274
+ // still resolves a queued replacement, but must not resurrect a view.
275
+ if (connection.activationIds.has(message.activationId)) {
276
+ this.#emit({ type: "control-attached", attached: message });
277
+ }
278
+ this.#drainReplacement(connection, message.sessionId, replacement);
279
+ return;
280
+ }
228
281
  const activation = this.#activations.get(message.activationId);
229
282
  if (!connection.activationIds.has(message.activationId) && !activation)
230
283
  return;
@@ -240,6 +293,23 @@ export class RoutedControlTransport {
240
293
  return;
241
294
  }
242
295
  if (message.type === "AttachRefused") {
296
+ for (const [sessionId, replacement] of connection.replacements) {
297
+ if (message.activationId === undefined || replacement.pending?.activationId !== message.activationId)
298
+ continue;
299
+ // A refused attempt never became the native predecessor. Keep the
300
+ // admitted id, even if this reply arrives after that attempt detached.
301
+ delete replacement.pending;
302
+ if (connection.activationIds.has(message.activationId)) {
303
+ this.#emit({
304
+ type: "attach-refused",
305
+ activationId: message.activationId,
306
+ code: message.code,
307
+ retryable: message.retryable,
308
+ });
309
+ }
310
+ this.#drainReplacement(connection, sessionId, replacement);
311
+ return;
312
+ }
243
313
  if (message.activationId !== undefined && !connection.activationIds.has(message.activationId)) {
244
314
  if (!this.#activations.has(message.activationId))
245
315
  return;
@@ -255,6 +325,12 @@ export class RoutedControlTransport {
255
325
  return;
256
326
  }
257
327
  if (message.type === "CellActivationStatus") {
328
+ const replacement = connection.replacements.get(message.sessionId);
329
+ if (replacement?.admitted === message.activationId && message.presentation.state === "revoked") {
330
+ delete replacement.admitted;
331
+ if (!replacement.pending && !replacement.queued)
332
+ connection.replacements.delete(message.sessionId);
333
+ }
258
334
  const activation = this.#activations.get(message.activationId);
259
335
  if (!connection.activationIds.has(message.activationId) && !activation)
260
336
  return;
@@ -277,19 +353,19 @@ export class RoutedControlTransport {
277
353
  return;
278
354
  }
279
355
  if (message.type === "GeometryCommitted") {
280
- const activationId = connection.pendingGeometry.shift();
356
+ const pending = this.#geometryReplyTarget(connection, false);
281
357
  this.#emit({
282
358
  type: "geometry-committed",
283
- ...(activationId === undefined ? {} : { activationId }),
359
+ ...(pending === undefined ? {} : { activationId: pending.activationId, request: pending.request }),
284
360
  committed: message,
285
361
  });
286
362
  return;
287
363
  }
288
364
  if (message.type === "GeometryRefused") {
289
- const activationId = connection.pendingGeometry.shift();
365
+ const pending = this.#geometryReplyTarget(connection, true);
290
366
  this.#emit({
291
367
  type: "geometry-refused",
292
- ...(activationId === undefined ? {} : { activationId }),
368
+ ...(pending === undefined ? {} : { activationId: pending.activationId, request: pending.request }),
293
369
  refused: message,
294
370
  });
295
371
  return;
@@ -304,15 +380,40 @@ export class RoutedControlTransport {
304
380
  return undefined;
305
381
  }
306
382
  #sendAttach(connection, activation) {
383
+ let replacesActivationId = activation.request.replacesActivationId;
384
+ if (activation.request.replacePreviousActivation) {
385
+ const sessionId = activation.request.attachGrant.claims.sessionId;
386
+ let replacement = connection.replacements.get(sessionId);
387
+ if (!replacement) {
388
+ replacement = {};
389
+ connection.replacements.set(sessionId, replacement);
390
+ }
391
+ if (replacement.pending) {
392
+ replacement.queued = activation;
393
+ return;
394
+ }
395
+ replacement.pending = activation.request;
396
+ replacesActivationId =
397
+ replacement.admitted === activation.request.activationId ? undefined : replacement.admitted;
398
+ }
307
399
  this.#send(connection, encodeRoutedMessage("AttachControlLeg", {
308
400
  activationId: activation.request.activationId,
309
401
  attachGrant: activation.request.attachGrant,
310
- ...(activation.request.replacesActivationId === undefined
311
- ? {}
312
- : { replacesActivationId: activation.request.replacesActivationId }),
402
+ ...(replacesActivationId === undefined ? {} : { replacesActivationId }),
313
403
  initialDemand: activation.lastDemand,
314
404
  }));
315
405
  }
406
+ #drainReplacement(connection, sessionId, replacement) {
407
+ const queued = replacement.queued;
408
+ delete replacement.queued;
409
+ if (queued &&
410
+ this.#connections.get(connection.cellBootId) === connection &&
411
+ this.#activations.get(queued.request.activationId) === queued) {
412
+ this.#sendAttach(connection, queued);
413
+ }
414
+ if (!replacement.admitted && !replacement.pending && !replacement.queued)
415
+ connection.replacements.delete(sessionId);
416
+ }
316
417
  #sendActivation(activationId, text) {
317
418
  const activation = this.#activations.get(activationId);
318
419
  if (!activation)
@@ -326,29 +427,46 @@ export class RoutedControlTransport {
326
427
  this.#send(connection, text);
327
428
  return true;
328
429
  }
329
- #sendGeometry(activationId, text) {
430
+ #sendGeometry(activationId, text, request) {
330
431
  const activation = this.#activations.get(activationId);
331
432
  if (!activation)
332
433
  return false;
333
434
  const connection = this.#connections.get(activation.request.cellBootId);
334
435
  if (!connection || !this.#sendActivation(activationId, text))
335
436
  return false;
336
- connection.pendingGeometry.push(activationId);
437
+ connection.pendingGeometry.push({ activationId, request });
337
438
  return true;
338
439
  }
440
+ /**
441
+ * The oldest request a geometry reply can answer. A release still waiting
442
+ * on its fence is answered only by a refusal, so a commit passes it: the
443
+ * release succeeded, and the commit belongs to a later request.
444
+ */
445
+ #geometryReplyTarget(connection, refusal) {
446
+ if (!refusal) {
447
+ while (connection.pendingGeometry[0]?.request.kind === "release")
448
+ connection.pendingGeometry.shift();
449
+ }
450
+ return connection.pendingGeometry.shift();
451
+ }
452
+ #sendHeartbeat(connection) {
453
+ if (!connection.accepted || connection.socket.readyState !== socketOpen)
454
+ return undefined;
455
+ connection.heartbeatSequence += 1;
456
+ this.#send(connection, encodeRoutedMessage("LegHeartbeat", {
457
+ connectionSetId: connection.accepted.connectionSetId,
458
+ channel: "control",
459
+ legGeneration: connection.accepted.legGeneration,
460
+ sequence: connection.heartbeatSequence,
461
+ }));
462
+ return connection.heartbeatSequence;
463
+ }
339
464
  #scheduleHeartbeat(connection) {
340
465
  if (connection.heartbeatTimer !== undefined)
341
466
  clearTimeout(connection.heartbeatTimer);
342
467
  connection.heartbeatTimer = setTimeout(() => {
343
- if (!connection.accepted || connection.socket.readyState !== socketOpen)
468
+ if (this.#sendHeartbeat(connection) === undefined)
344
469
  return;
345
- connection.heartbeatSequence += 1;
346
- this.#send(connection, encodeRoutedMessage("LegHeartbeat", {
347
- connectionSetId: connection.accepted.connectionSetId,
348
- channel: "control",
349
- legGeneration: connection.accepted.legGeneration,
350
- sequence: connection.heartbeatSequence,
351
- }));
352
470
  this.#scheduleHeartbeat(connection);
353
471
  }, Math.max(100, Math.min(ROUTED_DOOR_LIMITS.heartbeatIntervalMs, Math.floor((connection.accepted?.heartbeatTtlMs ?? ROUTED_DOOR_LIMITS.heartbeatTtlMs) / 3))));
354
472
  }
@@ -1 +1 @@
1
- {"version":3,"file":"routed-control.js","sourceRoot":"","sources":["../src/routed-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routed-control.js","sourceRoot":"","sources":["../src/routed-control.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ export interface RoutedExpectedLayout {
52
52
  }
53
53
  export interface RoutedFramesTransportOptions {
54
54
  socketFactory?: (url: string) => WebSocket;
55
- applyFrame: (packet: ArrayBuffer, identity: RoutedTrfIdentity, expectedLayout?: RoutedExpectedLayout) => RoutedAppliedFrame;
55
+ applyFrame: (packet: ArrayBuffer | Uint8Array, identity: RoutedTrfIdentity, expectedLayout?: RoutedExpectedLayout, glyphNamespace?: string) => RoutedAppliedFrame;
56
56
  emit: (event: RoutedFramesTransportEvent) => void;
57
57
  creditReturned?: (bytes: number) => void;
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"routed-frames.d.ts","sourceRoot":"","sources":["../src/routed-frames.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routed-frames.d.ts","sourceRoot":"","sources":["../src/routed-frames.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,6 @@ const socketClosing = 2;
4
4
  function exactStamp(left, right) {
5
5
  return left !== undefined && compareRoutedSceneContent(left, right) === 0;
6
6
  }
7
- function copyArrayBuffer(bytes) {
8
- const copy = bytes.slice();
9
- return copy.buffer;
10
- }
11
7
  function capacitiesFitWithin(accepted, advertised) {
12
8
  return (accepted.connectionCreditBytes <= advertised.connectionCreditBytes &&
13
9
  accepted.perActivationCreditBytes <= advertised.perActivationCreditBytes &&
@@ -362,7 +358,7 @@ export class RoutedFramesTransport {
362
358
  }
363
359
  }
364
360
  #incremental(connection, activation, header, payload, chargedBytes) {
365
- if (payload.byteLength > connection.accepted.protocolLimits.maxPresentationChunkBytes ||
361
+ if (payload.byteLength > connection.accepted.protocolLimits.maxUrgentPresentationUnitBytes ||
366
362
  !header.resultContent ||
367
363
  header.baseContent === undefined ||
368
364
  (header.baseContent !== null && !exactStamp(activation.appliedContent, header.baseContent))) {
@@ -371,7 +367,7 @@ export class RoutedFramesTransport {
371
367
  }
372
368
  try {
373
369
  this.#emit({ type: "frames-state", activationId: header.activationId, state: "applying" });
374
- this.#applyFrame(copyArrayBuffer(payload), activation.identity);
370
+ this.#applyFrame(payload, activation.identity, undefined, header.resultContent.sceneEpoch.cellBootId);
375
371
  activation.appliedContent = header.resultContent;
376
372
  this.#returnCredit(connection, header.activationId, chargedBytes);
377
373
  this.#sceneApplied(connection, activation);
@@ -473,7 +469,7 @@ export class RoutedFramesTransport {
473
469
  }
474
470
  try {
475
471
  this.#emit({ type: "frames-state", activationId: header.activationId, state: "applying" });
476
- this.#applyFrame(staging.bytes.buffer, activation.identity, staging.targetLayout);
472
+ this.#applyFrame(staging.bytes.buffer, activation.identity, staging.targetLayout, staging.resultContent.sceneEpoch.cellBootId);
477
473
  activation.appliedContent = staging.resultContent;
478
474
  this.#releaseTransfer(activation);
479
475
  this.#sceneApplied(connection, activation);
@@ -1 +1 @@
1
- {"version":3,"file":"routed-frames.js","sourceRoot":"","sources":["../src/routed-frames.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routed-frames.js","sourceRoot":"","sources":["../src/routed-frames.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { GlyphInstance, StyleRun } from "@vibecook/ghosttea-frame";
2
+ import type { CellSelection } from "./renderers/types.js";
3
+ interface Rows {
4
+ rows: readonly string[];
5
+ nativeRows: readonly (readonly GlyphInstance[])[];
6
+ nativeStyleRows: readonly (readonly StyleRun[])[];
7
+ }
8
+ /** Infer scrolling only from exact row content, never from a matching text
9
+ * label alone. Unique text anchors keep candidate discovery linear even on a
10
+ * screen full of repeated/blank lines. The final comparison includes geometry
11
+ * and style. Callers fence catalog, layout and style-definition changes. */
12
+ export declare function rowDamage(before: Rows, after: Rows): {
13
+ scrollRows: number;
14
+ rows: number[];
15
+ };
16
+ /** Compose shifts before the next paint, moving pending damage with the rows.
17
+ * No intermediate decoded scene has been painted yet. */
18
+ export declare function shiftDamage(rows: Set<number>, shift: number, rowCount: number): void;
19
+ export declare function selectionDamageRows(before: CellSelection | null, after: CellSelection | null, count: number): number[];
20
+ export {};
21
+ //# sourceMappingURL=row-damage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-damage.d.ts","sourceRoot":"","sources":["../src/row-damage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,UAAU,IAAI;IACZ,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,SAAS,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC;IAClD,eAAe,EAAE,SAAS,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC;CACnD;AA8BD;;;4EAG4E;AAC5E,wBAAgB,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CA4B3F;AAED;yDACyD;AACzD,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIpF;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,GAAG,IAAI,EAC5B,KAAK,EAAE,aAAa,GAAG,IAAI,EAC3B,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CASV"}