@animalabs/agent-framework 0.26.0 → 0.26.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.
@@ -30,7 +30,13 @@ export type CoalesceOutcome = typeof COALESCE_OUTCOMES[number];
30
30
  export declare class CoalesceError extends Error {
31
31
  readonly field: string;
32
32
  readonly code: number;
33
- constructor(field: string, message: string, code?: number);
33
+ /** Set on a failure that came after the occurrence's effects: it was
34
+ * admitted, and only its acknowledgement failed (acknowledge). A lane
35
+ * must not answer it as not admitted. */
36
+ readonly admitted: boolean;
37
+ constructor(field: string, message: string, code?: number, options?: {
38
+ admitted?: true;
39
+ });
34
40
  }
35
41
  /**
36
42
  * How the host names a coalesce rejection, from the code the wire answered
@@ -240,15 +246,18 @@ export interface CoalescingReceiptRecord {
240
246
  /** History the subject was created with, for a subject first seen by this receipt. */
241
247
  born?: SubjectState<unknown>['history'];
242
248
  /** The subject's first view had ended by this acceptance
243
- * (SubjectState.firstViewEnded), so a crash before the snapshot flush
244
- * can't forget the end. A record written before this field existed has
245
- * none and reads as not ended, as a snapshot does. */
249
+ * (SubjectState.firstViewEnded), or by the time a retry wrote the record,
250
+ * so a crash before the snapshot flush can't forget the end. A record
251
+ * written before this field existed has none and reads as not ended, as a
252
+ * snapshot does. */
246
253
  firstViewEnded?: true;
247
254
  /** The subject's pending batch AFTER this acceptance: the accepted work
248
255
  * itself (so a crash before the snapshot flush cannot lose it while keeping
249
256
  * the receipt that suppresses its retry), or `null` when the acceptance
250
257
  * left no batch — a retraction or plain replacement must be recoverable
251
- * too. Records replay in order, so the last one per subject wins. */
258
+ * too. Records replay in order, so the last one per subject wins. A
259
+ * record a retry writes (its first write failed) takes the batch the
260
+ * subject has then, a rendering one included. */
252
261
  batch: {
253
262
  latest: CoalescedOccurrence<unknown>;
254
263
  notices: DeferredNotice[];
@@ -297,11 +306,13 @@ export interface CoalescerHost<E> {
297
306
  * be recoverable before the RPC is issued, §3.2). Throws on failure. */
298
307
  saveNow?(snapshot: CoalescingSnapshot): void;
299
308
  /** Persist one receipt now, before the acceptance is acknowledged. Throws
300
- * on failure, which fails the acceptance (the producer retries). */
309
+ * on failure, which fails that answer: the receipt is kept unwritten, and
310
+ * the producer's retry writes it again rather than admitting it again. */
301
311
  recordReceipt?(record: CoalescingReceiptRecord): void;
302
312
  /** One call per ADMITTED occurrence (never for a producer retry the receipt
303
- * deduplicates), after its receipt is recorded. Observation only: a throw
304
- * is contained here and never fails the acceptance. */
313
+ * deduplicates), after its effects, whether or not its receipt could be
314
+ * written. Observation only: a throw is contained here and never fails the
315
+ * acceptance. */
305
316
  accepted?(occurrence: CoalescedOccurrence<E>): void;
306
317
  /** Make every write so far DURABLE (an fsync; the coalescer requests each
307
318
  * commit under its lock, so no two acceptances share one).
@@ -428,9 +439,10 @@ export declare class PushCoalescer<E = unknown> {
428
439
  * channel registry's reply anchor, and never part of the wire result. */
429
440
  receiptFirstView(serverId: string, binding: string, eventId: string): boolean;
430
441
  private receiptEntry;
431
- /** Acknowledge a receipt: durable first. A receipt whose commit failed is
432
- * committed now (no effects are repeated); if that fails again, so does
433
- * the acknowledgement, and the producer retries once more. */
442
+ /** Acknowledge a receipt: durable first. A receipt whose record couldn't be
443
+ * written is written now, and one whose commit failed is committed now (no
444
+ * effects are repeated); if either fails again, so does the
445
+ * acknowledgement, and the producer retries once more. */
434
446
  private acknowledge;
435
447
  /**
436
448
  * Admit an occurrence that has already passed the lane's ordinary checks and
@@ -440,6 +452,17 @@ export declare class PushCoalescer<E = unknown> {
440
452
  */
441
453
  accept(occurrence: CoalescedOccurrence<E>): Promise<PushEventResult>;
442
454
  private admit;
455
+ /** Write a receipt's record: what the admission fixed (`fixed`), with the
456
+ * subject's first-view end and pending batch as they are now. A record
457
+ * written by a retry follows any written since its admission, and records
458
+ * replay in order, so it carries the batch the subject has now, not the
459
+ * one it had then. That includes a batch whose render has started, which
460
+ * the render-start snapshot holds too: a `null` would clear it at a
461
+ * restore, and a crash before the render's content is stored would lose
462
+ * the accepted work. (At an admission no batch is rendering without a
463
+ * pending one: a plain occurrence or a retraction cancels the render, and
464
+ * a deferred notice opens a batch.) Throws when the host's write does. */
465
+ private recordReceipt;
443
466
  private subjectFor;
444
467
  /**
445
468
  * Re-check the occupant against the host, member by member: a member the
@@ -1 +1 @@
1
- {"version":3,"file":"push-coalescer.d.ts","sourceRoot":"","sources":["../../../src/mcpl/push-coalescer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-coalescer.d.ts","sourceRoot":"","sources":["../../../src/mcpl/push-coalescer.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,16 @@ class CancelledRender extends Error {
10
10
  export class CoalesceError extends Error {
11
11
  field;
12
12
  code;
13
- constructor(field, message, code = -32602) {
13
+ /** Set on a failure that came after the occurrence's effects: it was
14
+ * admitted, and only its acknowledgement failed (acknowledge). A lane
15
+ * must not answer it as not admitted. */
16
+ admitted;
17
+ constructor(field, message, code = -32602, options = {}) {
14
18
  super(message);
15
19
  this.field = field;
16
20
  this.code = code;
17
21
  this.name = 'CoalesceError';
22
+ this.admitted = options.admitted === true;
18
23
  }
19
24
  }
20
25
  /**
@@ -260,10 +265,21 @@ export class PushCoalescer {
260
265
  }
261
266
  return entry;
262
267
  }
263
- /** Acknowledge a receipt: durable first. A receipt whose commit failed is
264
- * committed now (no effects are repeated); if that fails again, so does
265
- * the acknowledgement, and the producer retries once more. */
268
+ /** Acknowledge a receipt: durable first. A receipt whose record couldn't be
269
+ * written is written now, and one whose commit failed is committed now (no
270
+ * effects are repeated); if either fails again, so does the
271
+ * acknowledgement, and the producer retries once more. */
266
272
  async acknowledge(key, entry, subject, eventId) {
273
+ if (entry.unwritten) {
274
+ try {
275
+ this.recordReceipt(key, entry, entry.unwritten);
276
+ }
277
+ catch (error) {
278
+ this.host.audit({ kind: 'persist-failed', subject, eventId, error: String(error) });
279
+ throw new CoalesceError('eventId', 'host could not persist the acceptance; retry', -32000, { admitted: true });
280
+ }
281
+ delete entry.unwritten;
282
+ }
267
283
  if (!entry.committed) {
268
284
  try {
269
285
  await this.host.commit?.();
@@ -271,7 +287,7 @@ export class PushCoalescer {
271
287
  }
272
288
  catch (error) {
273
289
  this.host.audit({ kind: 'persist-failed', subject, eventId, error: String(error) });
274
- throw new CoalesceError('eventId', 'host could not make the acceptance durable; retry', -32000);
290
+ throw new CoalesceError('eventId', 'host could not make the acceptance durable; retry', -32000, { admitted: true });
275
291
  }
276
292
  }
277
293
  return structuredClone(entry.result);
@@ -289,10 +305,12 @@ export class PushCoalescer {
289
305
  return this.locked(() => this.admit(occurrence));
290
306
  }
291
307
  async admit(occurrence) {
308
+ const duplicate = this.receiptEntry(coalescingReceiptKey(occurrence.serverId, occurrence.binding, occurrence.eventId));
309
+ // A retry of an occurrence admitted before the stop is refused too, but
310
+ // as one admitted: its effects are in, so no lane may say it wasn't.
292
311
  if (this.suspended)
293
- throw new CoalesceError('serverId', 'host is stopping', -32000);
312
+ throw new CoalesceError('serverId', 'host is stopping', -32000, duplicate ? { admitted: true } : {});
294
313
  const subject = coalescingSubjectKey(occurrence.serverId, occurrence.binding, occurrence.scope, occurrence.key);
295
- const duplicate = this.receiptEntry(coalescingReceiptKey(occurrence.serverId, occurrence.binding, occurrence.eventId));
296
314
  if (duplicate) {
297
315
  // A producer retrying acknowledged work is also a chance to notice a
298
316
  // batch left asleep by a failed freeze: wake it now, without effects.
@@ -328,20 +346,18 @@ export class PushCoalescer {
328
346
  state.touchedAt = this.now();
329
347
  const result = { accepted: true, coalesce: { outcome, ...(priorEventId ? { priorEventId } : {}) } };
330
348
  const receiptKey = coalescingReceiptKey(occurrence.serverId, occurrence.binding, occurrence.eventId);
331
- const entry = { result: structuredClone(result), at: this.now(), committed: false, ...(this.deliveredFirstView ? { firstView: true } : {}) };
332
- try {
333
- this.host.recordReceipt?.({
334
- key: receiptKey, result: entry.result, at: entry.at, subject, ...(born ? { born } : {}),
335
- ...(state.firstViewEnded ? { firstViewEnded: true } : {}),
336
- batch: state.batch ? structuredClone({ latest: state.batch.latest, notices: state.batch.notices, dropped: state.batch.dropped }) : null,
337
- });
338
- }
339
- catch (error) {
340
- // Not acknowledged: the work would be lost while its receipt suppressed
341
- // a retry. The producer retries within the window.
342
- this.host.audit({ kind: 'persist-failed', subject, eventId: occurrence.eventId, error: String(error) });
343
- throw new CoalesceError('eventId', 'host could not persist the acceptance; retry', -32000);
344
- }
349
+ // The effects are done, so the receipt is kept whatever its record's
350
+ // write does: a retry is answered from it, never admitted again (RFC-006
351
+ // §3.1). Its record is written and made durable before an acknowledgement
352
+ // (acknowledge), by this answer or a retry's. While this process lives,
353
+ // the in-memory receipt deduplicates a retry, which writes or commits
354
+ // what failed. The snapshot carries it too, so a later save and commit
355
+ // keep it across a restart; a kill before either leaves nothing of it,
356
+ // and the retry is a fresh acceptance.
357
+ const entry = {
358
+ result: structuredClone(result), at: this.now(), committed: false, unwritten: { subject, ...(born ? { born } : {}) },
359
+ ...(this.deliveredFirstView ? { firstView: true } : {}),
360
+ };
345
361
  this.receipts.set(receiptKey, entry);
346
362
  try {
347
363
  this.host.accepted?.(occurrence);
@@ -351,11 +367,29 @@ export class PushCoalescer {
351
367
  }
352
368
  this.prune();
353
369
  this.persist();
354
- // Written but not yet durable: the in-memory receipt deduplicates a retry
355
- // while this process lives, and the retry commits it (acknowledge); after
356
- // a kill nothing of it exists and the retry is a fresh acceptance.
357
370
  return this.acknowledge(receiptKey, entry, subject, occurrence.eventId);
358
371
  }
372
+ /** Write a receipt's record: what the admission fixed (`fixed`), with the
373
+ * subject's first-view end and pending batch as they are now. A record
374
+ * written by a retry follows any written since its admission, and records
375
+ * replay in order, so it carries the batch the subject has now, not the
376
+ * one it had then. That includes a batch whose render has started, which
377
+ * the render-start snapshot holds too: a `null` would clear it at a
378
+ * restore, and a crash before the render's content is stored would lose
379
+ * the accepted work. (At an admission no batch is rendering without a
380
+ * pending one: a plain occurrence or a retraction cancels the render, and
381
+ * a deferred notice opens a batch.) Throws when the host's write does. */
382
+ recordReceipt(key, entry, fixed) {
383
+ const state = this.subjects.get(fixed.subject);
384
+ const batch = state?.batch ?? state?.rendering?.batch;
385
+ this.host.recordReceipt?.({
386
+ // A birth is the subject's only while the coalescer still holds it: one
387
+ // evicted since its admission is untracked, `unknown` (prune).
388
+ key, result: entry.result, at: entry.at, subject: fixed.subject, ...(fixed.born && state ? { born: fixed.born } : {}),
389
+ ...(state?.firstViewEnded ? { firstViewEnded: true } : {}),
390
+ batch: batch ? structuredClone({ latest: batch.latest, notices: batch.notices, dropped: batch.dropped }) : null,
391
+ });
392
+ }
359
393
  subjectFor(subject, occurrence) {
360
394
  let state = this.subjects.get(subject);
361
395
  if (!state) {
@@ -982,9 +1016,9 @@ export class PushCoalescer {
982
1016
  continue; // pre-round-3 record: no batch information
983
1017
  // The subject's batch AFTER that acceptance, newer than the snapshot:
984
1018
  // the accepted deferred work itself, or null for a withdrawal /
985
- // replacement that cleared it. It never began rendering before the
986
- // record was written, but the snapshot cannot say whether it did
987
- // afterwards: take the fallback.
1019
+ // replacement that cleared it. Its render may have started before the
1020
+ // record was written (a retry's record) or after, and the snapshot
1021
+ // cannot say whether it ran: take the fallback.
988
1022
  const state = this.subjects.get(r.subject) ?? { history: 'unknown', touchedAt: now };
989
1023
  state.batch = r.batch
990
1024
  ? { latest: r.batch.latest, notices: r.batch.notices, dropped: r.batch.dropped, noRender: true }
@@ -1 +1 @@
1
- {"version":3,"file":"push-coalescer.js","sourceRoot":"","sources":["../../../src/mcpl/push-coalescer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-coalescer.js","sourceRoot":"","sources":["../../../src/mcpl/push-coalescer.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI;IACjF,aAAa,EAAE,SAAS;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAG9G,MAAM,eAAgB,SAAQ,KAAK;CAAG;AAEtC,MAAM,OAAO,aAAc,SAAQ,KAAK;IAKjB,KAAK;IAAoC,IAAI;IAJlE;;8CAE0C;IACjC,QAAQ,CAAU;IAC3B,YAAqB,KAAa,EAAE,OAAe,EAAW,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,GAAwB,EAAE;QAC5G,KAAK,CAAC,OAAO,CAAC,CAAC;qBADI,KAAK;oBAAoC,IAAI;QAEhE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC5C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,OAAO,QAAQ,KAAK,CAAC,KAAK,IAAI,QAAQ,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC;AAC7F,CAAC;AAED,2EAA2E;AAC3E,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IACzC,MAAM,GAAG,eAAe,CAAC;IAClC,YAAY,KAAK,GAAG,iBAAiB;QACnC,KAAK,CAAC,KAAK,EAAE,yFAAyF,CAAC,CAAC;QACxG,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AA8HD;qCACqC;AACrC,SAAS,KAAK,CAAC,OAAwC;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACnF,CAAC;AAyJD,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,OAAe,EAAE,KAAsB,EAAE,GAAW;IACzG,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AACD,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,OAAe,EAAE,OAAe;IACrF,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC;AACD,qFAAqF;AACrF,SAAS,aAAa,CAAC,KAAsC,EAAE,IAAqC;IAClG,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QAAE,IAAI,CAAC,KAAK,SAAS;YAAG,GAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9G,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAgB,EAChB,OAAO,GAAyD,EAAE;IAElE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;IACpG,KAAK,MAAM,CAAC,IAAI,OAAyC,EAAE,CAAC;QAC1D,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;QACzH,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IACzH,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,qBAAqB,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;AAC3F,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,CAA0B;IAC/C,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;IACzD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;IACxE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3D,IAAI,qBAAqB,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;IACvG,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC;AACnD,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,sBAAsB,CACpC,CAAU,EACV,IAAwB,EACxB,YAAY,GAAG,IAAI;IAEnB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;IACvH,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QAC7F,MAAM,IAAI,aAAa,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAU,EAAE,CAAC;QAChE,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,MAAM,IAAI,aAAa,CAAC,YAAY,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAChI,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,sCAAsC,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE,uDAAuD,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO;QAAE,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAC;IACvG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;QAAE,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE,mCAAmC,CAAC,CAAC;IACrG,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,QAAQ;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IAC5G,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,EAAE,CAAC;QACrF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,gBAAgB,YAAY,QAAQ,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,MAAM,OAAO,aAAa;IAmCK,IAAI;IAAqC,OAAO;IAlC5D,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC/D;;;;;;;sBAOkB;IACD,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5D;;2EAEuE;IAC/D,kBAAkB,GAAG,KAAK,CAAC;IAClB,aAAa,CAAS;IACtB,WAAW,CAAS;IACpB,UAAU,CAAS;IACpC,iFAAiF;IAChE,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7D;;;;;;;OAOG;IACK,MAAM,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IACrD;;+EAE2E;IAC1D,QAAQ,GAAG,IAAI,GAAG,EAAsE,CAAC;IAClG,SAAS,GAAG,KAAK,CAAC;IAE1B,YAA6B,IAAsB,EAAmB,OAAO,GAAqB,EAAE;oBAAvE,IAAI;uBAAqC,OAAO;QAC3E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,uBAAuB,CAAC,aAAa,CAAC;QACpF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IAC7C,CAAC;IAEO,GAAG,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEzD,MAAM,CAAI,EAAoB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAE9E,mFAAmF;IACnF,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC9C,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,CAAC,KAAK;gBAAE,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;qFACiF;IACjF,WAAW,CAAC,QAAgB;QAC1B,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAED;uEACmE;IAC3D,OAAO,CAAC,GAAG,IAA6C;QAC9D,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,OAAe,EAAE,OAAe;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAClF,OAAO,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;8EAE0E;IAC1E,gBAAgB,CAAC,QAAgB,EAAE,OAAe,EAAE,OAAe;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACjG,CAAC;IAEO,YAAY,CAAC,GAAW;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QAChG,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;+DAG2D;IACnD,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,KAAmB,EAAE,OAAe,EAAE,OAAe;QAC1F,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpF,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,8CAA8C,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACjH,CAAC;YACD,OAAO,KAAK,CAAC,SAAS,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC3B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpF,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,mDAAmD,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACtH,CAAC;QACH,CAAC;QACD,OAAO,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E;;;;;OAKG;IACH,MAAM,CAAC,UAAkC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,UAAkC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACvH,wEAAwE;QACxE,qEAAqE;QACrE,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzH,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QAChH,IAAI,SAAS,EAAE,CAAC;YACd,qEAAqE;YACrE,sEAAsE;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YACzH,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACrJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC;QACzI,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACnD,sEAAsE;QACtE,2DAA2D;QAC3D,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC5G,MAAM,YAAY,GAAG,aAAa,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,eAAe,CAAC;QACpI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAExI,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/B,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtF,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrH,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACrG,qEAAqE;QACrE,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,uCAAuC;QACvC,MAAM,KAAK,GAAiB;YAC1B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACpH,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;+EAS2E;IACnE,aAAa,CAAC,GAAW,EAAE,KAAmB,EAAE,KAAmE;QACzH,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,wEAAwE;YACxE,+DAA+D;YAC/D,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrH,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAsC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SAChJ,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,OAAe,EAAE,UAAkC;QACpE,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,wEAAwE;YACxE,uDAAuD;YACvD,KAAK,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3G,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,KAAsB;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAClD,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACvB,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC;QAC7F,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;OAUG;IACK,cAAc,CAAC,OAAe,EAAE,KAAsB,EAAE,IAA6B;QAC3F,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAS,CAAC;QACjC,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7E,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC1B,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;gBACvC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACK,cAAc,CAAC,KAAsB,EAAE,QAAkB;QAC/D,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/I,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;kCAE8B;IACtB,YAAY,CAAC,KAAsB;QACzC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9C,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9D,CAAC;IAEO,gBAAgB,CAAC,OAAe,EAAE,KAAsB;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,EAAE,OAAO,EAAgE,CAAC;QACxF,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,sEAAsE;YACtE,6DAA6D;YAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;YAClE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS;gBAAE,OAAO;YACtG,uEAAuE;YACvE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO;YACtD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAClH,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAA6B,CAAC,CAAC,CAAC;QAC7F,CAAC,EAAE,KAAK,CAAC,CAAC;QACT,KAAK,CAAC,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,4EAA4E;IACpE,cAAc,CAAC,OAAe;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QAAC,CAAC;IAC3E,CAAC;IAED,0EAA0E;IAClE,aAAa,CAAC,OAAe;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEO,WAAW,CAAC,OAAe,EAAE,KAAsB;QACzD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAChK,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACtG,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;YACjC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,KAAsB,EAAE,UAAkC,EAAE,cAAuB;QACxH,IAAI,cAAc,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,+DAA+D;YAC/D,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3C,8EAA8E;YAC9E,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9B,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO,WAAW,CAAC;QACjD,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,UAAU,CAAC;QACjE,0EAA0E;QAC1E,wEAAwE;QACxE,uDAAuD;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QACxF,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAC5D,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,KAAsB,EAAE,UAAkC,EAAE,cAAuB;QAC5H,wEAAwE;QACxE,2DAA2D;QAC3D,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;QACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,cAAc,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC7B,iEAAiE;YACjE,wEAAwE;YACxE,iEAAiE;YACjE,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpD,4EAA4E;YAC5E,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC9B,gEAAgE;gBAChE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;oBACnC,GAAG,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;oBAC/C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC,CAAC;gBACH,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxI,IAAI,SAAS;oBAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;gBACrD,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,uEAAuE;YACvE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAoB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;QAClI,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACvH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9G,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxI,IAAI,SAAS;YAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,KAAsB,EAAE,UAAkC,EAAE,cAAuB;QAC/H,IAAI,OAAO,GAAoB,OAAO,CAAC;QACvC,qEAAqE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,6BAA6B;QAC7B,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAClE,IAAI,cAAc,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC/C,sEAAsE;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1E,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;aAAM,IAAI,cAAc,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5C,wEAAwE;YACxE,2DAA2D;YAC3D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAAE,SAAS,GAAG,KAAK,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/C,OAAO,GAAG,UAAU,CAAC;gBACrB,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;gBAAC,SAAS,GAAG,KAAK,CAAC;YAAC,CAAC;YAC9I,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC7B,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACzC,8CAA8C;YAC9C,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC1E,CAAC;QACD,MAAM,MAAM,GAAmB,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACtL,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;YACzG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;YAChC,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,KAAK,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1H,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,8EAA8E;IAC9E,yEAAyE;IACzE,8EAA8E;IAE9E;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,MAAM,GAAsB,EAAE;QAC9D,MAAM,MAAM,GAAmB,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAC/E,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC;QAClC,MAAM,IAAI,GAAoB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;YACpE,wEAAwE;YACxE,sEAAsE;YACtE,4CAA4C;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9F,IAAI,OAAO,KAAK,UAAU;gBAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnD,IAAI,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,6DAA6D;oBAC7D,IAAI,OAAO,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM;wBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1F,CAAC,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAK,GAAG,KAAK;QACpE,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,oEAAoE;QACpE,qEAAqE;QACrE,oEAAoE;QACpE,2EAA2E;QAC3E,wEAAwE;QACxE,qEAAqE;QACrE,kDAAkD;QAClD,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,kEAAkE;YAClE,qEAAqE;YACrE,uEAAuE;YACvE,sEAAsE;YACtE,YAAY;YACZ,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,UAAU,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/D,4EAA4E;QAC5E,2EAA2E;QAC3E,oDAAoD;QACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC;QACrD,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,SAAS,GAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACrF,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;;gBAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/E,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1G,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,iDAAiD;YACxE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,uEAAuE;YACvE,sEAAsE;YACtE,8DAA8D;YAC9D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtC,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QAC3F,qEAAqE;QACrE,yEAAyE;QACzE,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,KAAsB,EAAE,SAAuB,EAAE,aAAqB;QAC1G,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,IAAI,OAAO,GAAuB,UAAU,CAAC,OAAO,CAAC;QACrD,IAAI,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACrC,IAAI,MAAM,GAA0B,UAAU,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,MAAM,GAAqB;gBAC/B,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO;gBAChD,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;aAChE,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxG,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC1D,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,CAAC;gBAC7H,iEAAiE;gBACjE,6BAA6B;;oBACxB,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7F,IAAI,SAAS,CAAC,SAAS;oBAAE,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzB,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC/F,MAAM,GAAG,QAAQ,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,eAAe,CAAC,EAAE,CAAC;oBACxC,oEAAoE;oBACpE,kEAAkE;oBAClE,iBAAiB;oBACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wBACd,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO;wBAC1F,GAAG,CAAC,KAAK,YAAY,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;qBACrB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtE,IAAI,IAAI,GAAG,CAAC;oBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;;oBAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3H,CAAC;QACH,CAAC;QACD,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC3B,IAAI,CAAC;gBACH,IAAI,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS;oBAAE,OAAO;gBACnF,+CAA+C;gBAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC9H,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3F,IAAI,KAAK;oBAAE,OAAO,CAAC,+CAA+C;gBAClE,qEAAqE;gBACrE,qEAAqE;gBACrE,kEAAkE;gBAClE,oEAAoE;gBACpE,gEAAgE;gBAChE,sEAAsE;gBACtE,oCAAoC;gBACpC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC1F,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;gBAC/I,IAAI,SAAS,EAAE,UAAU,EAAE,CAAC;oBAC1B,oEAAoE;oBACpE,gEAAgE;oBAChE,iEAAiE;oBACjE,sCAAsC;oBACtC,kEAAkE;oBAClE,qEAAqE;oBACrE,kEAAkE;oBAClE,gEAAgE;oBAChE,oEAAoE;oBACpE,mEAAmE;oBACnE,gDAAgD;oBAChD,6DAA6D;oBAC7D,kDAAkD;oBAClD,IAAI,MAA0B,CAAC;oBAC/B,IAAI,GAAG,EAAE,CAAC;wBAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC;wBAAC,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;oBAAC,CAAC;oBAC/F,KAAK,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC/J,+DAA+D;oBAC/D,gEAAgE;oBAChE,mEAAmE;oBACnE,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;wBACjD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;wBAC3E,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACnD,CAAC;oBACD,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;oBACtC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC9E,OAAO;gBACT,CAAC;gBACD,+DAA+D;gBAC/D,kEAAkE;gBAClE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC9B,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACvB,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC3C,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC3B,IAAI,SAAS;oBAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;YACvD,CAAC;oBAAS,CAAC;gBACT,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;oBAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E,OAAO,CAAC,QAA+C;QACrD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa;gBAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,KAAK,GAAoB;gBAC7B,mEAAmE;gBACnE,uEAAuE;gBACvE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;gBACxC,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC,eAAe;gBACzD,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK;gBAC7D,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,SAAS,EAAE,GAAG;aACf,CAAC;YACF,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,iEAAiE;gBACjE,sEAAsE;gBACtE,iCAAiC;gBACjC,KAAK,CAAC,KAAK,GAAG;oBACZ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAgC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;oBACpG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACK,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QACpC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,KAAK,EAAE,QAAQ;gBAAE,SAAS;YAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;gBACxB,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACvB,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,eAAe,CAAC,OAAkC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;oBAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACjH,CAAC;YACD,wEAAwE;YACxE,qEAAqE;YACrE,mEAAmE;YACnE,qEAAqE;YACrE,uEAAuE;YACvE,sEAAsE;YACtE,0BAA0B;YAC1B,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,KAAK;oBAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;;oBAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,mEAAmE;YACnE,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,OAA2B,CAAC;YAChC,IAAI,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;YACpF,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,SAAkB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;gBAC9F,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACvB,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;gBAAE,SAAS,CAAC,2CAA2C;YAChF,sEAAsE;YACtE,gEAAgE;YAChE,sEAAsE;YACtE,mEAAmE;YACnE,gDAAgD;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,SAAkB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YAC9F,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;gBACnB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAgC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC1H,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAqD,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACrI,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClD,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACrF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,qEAAqE;gBACrE,oEAAoE;gBACpE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAsC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC1O,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAsC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;wBACxL,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,0FAA0F;IAC1F,uBAAuB;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7E,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAAC,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAAC,CAAC;QACtL,CAAC;IACH,CAAC;IAEO,OAAO,KAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1D,KAAK;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa;oBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QACnD,sEAAsE;QACtE,mEAAmE;QACnE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3I,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnH,CAAC;CACF"}
@@ -213,7 +213,9 @@ export declare function referenceStubOrNull(block: unknown, provenance?: string,
213
213
  * RFC-005 treatment for one MCPL wire block, for a script's structured
214
214
  * result, which carries blocks rather than text. It makes the decision
215
215
  * referenceStubOrNull makes for the model's lanes, since what a script prints
216
- * comes back to the model. A reference becomes the stub's facts as data,
216
+ * comes back to the model, except that a script reads every field, so inline
217
+ * data beside a uri of any value is withheld, where the model's lanes, which
218
+ * show no uri, withhold it beside a string one. A reference becomes the stub's facts as data,
217
219
  * without its URI: the host's reference id, what the server said about it in
218
220
  * this block (its labels stripped and bounded as in the stub), and `savedTo`,
219
221
  * the workspace path its payload was fetched to, or null when it wasn't
@@ -221,11 +223,15 @@ export declare function referenceStubOrNull(block: unknown, provenance?: string,
221
223
  * counts as expired also carries `expired`, the reason the stub gives in
222
224
  * place of advising fetch_reference. The reference is registered bound to
223
225
  * `serverId`, the server whose tool returned it, as the model's lanes bind
224
- * a tool result's references, so the fetch its id offers can be made. A
225
- * block the classifier
226
+ * a tool result's references, so the fetch its id offers can be made. With
227
+ * no `serverId`, as for a module's result, it's registered as the model's
228
+ * history registers a module's: the record its uri already has, bound where
229
+ * it arrived (a module's ctx.callTool registers an MCPL peer's references),
230
+ * or a new one bound to no server. A block the classifier
226
231
  * rejects becomes the notice the model's lanes show, and inline data that
227
- * also claims a bulk disposition the withheld notice, each as a text block.
232
+ * also claims a bulk disposition, or a uri of any value, the withheld
233
+ * notice, each as a text block.
228
234
  * A text block, or inline data that claims nothing, is returned as sent.
229
235
  */
230
- export declare function referenceBlockForScript(block: unknown, serverId: string): unknown;
236
+ export declare function referenceBlockForScript(block: unknown, serverId?: string): unknown;
231
237
  //# sourceMappingURL=references.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../src/mcpl/references.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,eAAO,MAAM,gBAAgB;aAAK,GAAG,EAAE,IAAI;aAAE,QAAQ,EAAE,GAAG;aAAE,IAAI,EAAE,GAAG;aAAE,SAAS,EAAE,EAAE;CAAW,CAAC;AAChG,eAAO,MAAM,cAAc,QAA+B,CAAC;AAQ3D,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,KAAK,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,kBAAkB,CAAA;CAAE;AACtD,wEAAwE;GACtE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAyBvC,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAgCjE;AA8BD;;;qEAGqE;AACrE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG7D;AAED,eAAO,MAAM,oBAAoB,sGACoE,CAAC;AAUtG,eAAO,MAAM,wBAAwB,8DAA8D,CAAC;AACpG,eAAO,MAAM,kBAAkB,+DAA+D,CAAC;AAC/F,eAAO,MAAM,wBAAwB,8DAA8D,CAAC;AACpG;;mEAEmE;AACnE,eAAO,MAAM,kBAAkB,8DAA8D,CAAC;AAC9F,eAAO,MAAM,sBAAsB,sDAAsD,CAAC;AAC1F,eAAO,MAAM,4BAA4B,sEAAsE,CAAC;AAGhH;;;wBAGwB;AACxB,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,gBAAgB,CAAC,EAAE,KAAK,SAAa,GAC9E,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,IAAI,CAM9C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,gBAAgB,CAAC,EAAE,KAAK,SAAa,GAAG,OAAO,CAE3H;AAED;kDACkD;AAClD,eAAO,MAAM,aAAa;aACxB,MAAM,EAAE,SAAS;aACjB,WAAW,EAAE,yDAAyD;aACtE,QAAQ,EAAE,6EAA6E;CAC/E,CAAC;AAEX;;0DAE0D;AAC1D,eAAO,MAAM,cAAc,gEAAgE,CAAC;AAE5F;;;;;eAKe;AACf,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;6EAG6E;AAC7E,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQjE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKjD;AAMD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;;;yCAGqC;IACrC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAsC;IACrD;;;;;;;;;;;;;;;kDAe8C;IAC9C,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,OAAO,CAAK;IAEpB,QAAQ,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CAgC1E;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE9C;IAED,iCAAiC;IACjC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAGlD;CACF;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC;AAMzD;uDACuD;AACvD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEvE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,QAKiB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBxG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,SAAa,GAAG,MAAM,GAAG,IAAI,CAK5F;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASzG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAyBjF"}
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../src/mcpl/references.ts"],"names":[],"mappings":"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"}
@@ -406,7 +406,9 @@ export function referenceStubOrNull(block, provenance, serverId) {
406
406
  * RFC-005 treatment for one MCPL wire block, for a script's structured
407
407
  * result, which carries blocks rather than text. It makes the decision
408
408
  * referenceStubOrNull makes for the model's lanes, since what a script prints
409
- * comes back to the model. A reference becomes the stub's facts as data,
409
+ * comes back to the model, except that a script reads every field, so inline
410
+ * data beside a uri of any value is withheld, where the model's lanes, which
411
+ * show no uri, withhold it beside a string one. A reference becomes the stub's facts as data,
410
412
  * without its URI: the host's reference id, what the server said about it in
411
413
  * this block (its labels stripped and bounded as in the stub), and `savedTo`,
412
414
  * the workspace path its payload was fetched to, or null when it wasn't
@@ -414,18 +416,31 @@ export function referenceStubOrNull(block, provenance, serverId) {
414
416
  * counts as expired also carries `expired`, the reason the stub gives in
415
417
  * place of advising fetch_reference. The reference is registered bound to
416
418
  * `serverId`, the server whose tool returned it, as the model's lanes bind
417
- * a tool result's references, so the fetch its id offers can be made. A
418
- * block the classifier
419
+ * a tool result's references, so the fetch its id offers can be made. With
420
+ * no `serverId`, as for a module's result, it's registered as the model's
421
+ * history registers a module's: the record its uri already has, bound where
422
+ * it arrived (a module's ctx.callTool registers an MCPL peer's references),
423
+ * or a new one bound to no server. A block the classifier
419
424
  * rejects becomes the notice the model's lanes show, and inline data that
420
- * also claims a bulk disposition the withheld notice, each as a text block.
425
+ * also claims a bulk disposition, or a uri of any value, the withheld
426
+ * notice, each as a text block.
421
427
  * A text block, or inline data that claims nothing, is returned as sent.
422
428
  */
423
429
  export function referenceBlockForScript(block, serverId) {
424
430
  const c = classifyBlock(block);
425
431
  switch (c.kind) {
426
432
  case 'text': return block;
427
- case 'inline':
428
- return c.contradiction ? { type: 'text', text: INLINE_WITHHELD_TEXT } : block;
433
+ case 'inline': {
434
+ // A script reads every field, as history's JSON writes it, so inline
435
+ // data beside a uri of any value is withheld here, not only beside a
436
+ // string one as in the model's lanes, which show no uri: an object can
437
+ // carry a credential. An absent or null uri carries none; a string one,
438
+ // an empty one included, is already the classifier's contradiction.
439
+ const uri = block.uri;
440
+ return c.contradiction || (uri !== undefined && uri !== null)
441
+ ? { type: 'text', text: INLINE_WITHHELD_TEXT }
442
+ : block;
443
+ }
429
444
  case 'invalid': return { type: 'text', text: c.shown };
430
445
  case 'reference': {
431
446
  const t = c.testimony;