@substrat-run/control-plane-api 0.158.0 → 0.160.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.
Files changed (57) hide show
  1. package/dist/api.d.ts +25 -1
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +570 -55
  4. package/dist/api.js.map +1 -1
  5. package/dist/browser.d.ts +2 -2
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/browser.js +2 -1
  8. package/dist/browser.js.map +1 -1
  9. package/dist/cf-observability.d.ts +30 -5
  10. package/dist/cf-observability.d.ts.map +1 -1
  11. package/dist/cf-observability.js +277 -92
  12. package/dist/cf-observability.js.map +1 -1
  13. package/dist/custom-hostnames.d.ts +30 -0
  14. package/dist/custom-hostnames.d.ts.map +1 -1
  15. package/dist/custom-hostnames.js +25 -2
  16. package/dist/custom-hostnames.js.map +1 -1
  17. package/dist/deploy.d.ts +3 -0
  18. package/dist/deploy.d.ts.map +1 -1
  19. package/dist/deploy.js.map +1 -1
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +3 -1
  22. package/dist/errors.js.map +1 -1
  23. package/dist/index.d.ts +5 -4
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +4 -3
  26. package/dist/index.js.map +1 -1
  27. package/dist/observability.d.ts +26 -2
  28. package/dist/observability.d.ts.map +1 -1
  29. package/dist/observability.js +6 -13
  30. package/dist/observability.js.map +1 -1
  31. package/dist/platform-drain.d.ts.map +1 -1
  32. package/dist/platform-drain.js +103 -40
  33. package/dist/platform-drain.js.map +1 -1
  34. package/dist/platform-entry.generated.d.ts +2 -2
  35. package/dist/platform-entry.generated.d.ts.map +1 -1
  36. package/dist/platform-entry.generated.js +5 -5
  37. package/dist/platform-entry.generated.js.map +1 -1
  38. package/dist/platform-wire.d.ts +51 -0
  39. package/dist/platform-wire.d.ts.map +1 -0
  40. package/dist/platform-wire.js +163 -0
  41. package/dist/platform-wire.js.map +1 -0
  42. package/dist/scope-copy-backfill.d.ts.map +1 -1
  43. package/dist/scope-copy-backfill.js +22 -9
  44. package/dist/scope-copy-backfill.js.map +1 -1
  45. package/dist/staff-client.d.ts +38 -2
  46. package/dist/staff-client.d.ts.map +1 -1
  47. package/dist/staff-client.js +24 -1
  48. package/dist/staff-client.js.map +1 -1
  49. package/dist/vertical-client.d.ts +59 -3
  50. package/dist/vertical-client.d.ts.map +1 -1
  51. package/dist/vertical-client.js +144 -6
  52. package/dist/vertical-client.js.map +1 -1
  53. package/dist/wire-upload.d.ts +74 -0
  54. package/dist/wire-upload.d.ts.map +1 -0
  55. package/dist/wire-upload.js +114 -0
  56. package/dist/wire-upload.js.map +1 -0
  57. package/package.json +10 -10
@@ -1,6 +1,6 @@
1
1
  import { z } from '@substrat-run/contracts';
2
- import { PREVIEW_CLIENT_PATH, attachmentRecord, projectedConnectionGrant, denialFilterParams, capabilityFilterParams, capabilityPage, capabilityRevokeAnswer, capabilityRevokeRequest, mintedPreviewClient, ownerSeat, ownerClaimLink, memberInviteLink, memberRemoval, scopeMembers, ownerTransferResult, previewClientClaim, retiredPreviewClients, peerGrantsEntry, peerSwitchOutcome, systemSwitchOutcome, lifecycleDelivery, systemScheduleEntry, switchedOffInUnit, exportedBatch, importResult, importCursorMoved, importState, substratError, CONNECTOR_ATTACHMENT_RECORD_HEADER, LOAD_STAMP_HEADER, PLATFORM_SECRET_HEADER, WRITE_REVISION_HEADER, mergeDumpPages, scopeDumpPage, } from '@substrat-run/contracts';
3
- import { ulid, undrainedEventsOf } from '@substrat-run/kernel';
2
+ import { PREVIEW_CLIENT_PATH, attachmentRecord, projectedConnectionGrant, denialFilterParams, capabilityFilterParams, capabilityPage, capabilityRevokeAnswer, capabilityRevokeRequest, mintedPreviewClient, ownerSeat, ownerClaimLink, memberInviteLink, memberRemoval, scopeMembers, ownerTransferResult, previewClientClaim, retiredPreviewClients, peerGrantsEntry, peerSwitchOutcome, systemSwitchOutcome, lifecycleDelivery, systemScheduleEntry, switchedOffInUnit, exportedBatch, importResult, importCursorMoved, importState, substratError, CONNECTOR_ATTACHMENT_META_HEADER, CONNECTOR_ATTACHMENT_META_MAX_BYTES, CONNECTOR_ATTACHMENT_BUFFERED_MAX_BYTES, CONNECTOR_ATTACHMENT_STREAM_MAX_BYTES, connectorAttachmentMetaBytes, connectorAttachmentMetaRefusal, connectorAttachmentBufferedRefusal, connectorAttachmentSizeRefusal, CONNECTOR_ATTACHMENT_RECORD_HEADER, LOAD_STAMP_HEADER, PLATFORM_SECRET_HEADER, WRITE_REVISION_HEADER, mergeDumpPages, scopeDumpPage, } from '@substrat-run/contracts';
3
+ import { isSizedByteStream, knownLengthInit, scopeNotHeldRefusal, ulid, undrainedEventsOf } from '@substrat-run/kernel';
4
4
  import { ControlPlaneError } from '@substrat-run/control-plane-client';
5
5
  /**
6
6
  * A 404 the vertical's router answered because it has no such route: a non-empty body that is
@@ -19,6 +19,29 @@ export function isRouteMiss(err) {
19
19
  return true;
20
20
  }
21
21
  }
22
+ /**
23
+ * The 409 a deployment answers a size read for a scope it does not hold (#2541): never provisioned
24
+ * there, reaped, or carried away. Told by its sentence (`scopeNotHeldRefusal`) as well as its status,
25
+ * since a 409 on the same route could be any other conflict. Whether that is benign is
26
+ * `notHeldIsBenign`'s question, asked of the directory.
27
+ */
28
+ export function isScopeNotHeld(err, scopeId) {
29
+ return err instanceof ControlPlaneError && err.status === 409 && err.message.includes(scopeNotHeldRefusal(scopeId));
30
+ }
31
+ /**
32
+ * Whether a deployment's "not held" answer is expected, judged against the directory's record read
33
+ * NOW (#2541): the scope was reaped (or archived) since it was listed, or the directory has no such
34
+ * scope. Every other status (`provisioning`, `active`, `suspended`, `archiving`) holds a store, so
35
+ * "not held" there is a real fault and the caller keeps it an error. ONE rule for the storage
36
+ * gauge (skip) and the on-demand console page (read 0).
37
+ *
38
+ * `record` is not caught: a directory read that FAILS rejects here, so the failure is reported
39
+ * instead of being taken for a gone scope.
40
+ */
41
+ export async function notHeldIsBenign(record) {
42
+ const found = await record();
43
+ return found === undefined || found.status === 'reaped' || found.status === 'archived';
44
+ }
22
45
  /** The orphan-attachment report as it crosses the wire (#2314): `OrphanSweepReport`, checked. */
23
46
  const orphanSweepReportWire = z.object({
24
47
  listed: z.number().int().nonnegative(),
@@ -31,6 +54,11 @@ const orphanSweepReportWire = z.object({
31
54
  bucket: z.literal('none').optional(),
32
55
  consumeFailed: z.literal(true).optional(),
33
56
  });
57
+ /** #2446: a scope's role state as it crosses the wire (`RoleState`), checked. */
58
+ const roleStateWire = z.object({
59
+ roles: z.array(z.object({ key: z.string().min(1), permissions: z.array(z.string()), holder: z.enum(['person', 'system']).optional() })),
60
+ seated: z.array(z.string()),
61
+ });
34
62
  /** `routeAnswer`'s word for a deployment that predates the route it was asked (#1722, #2010). */
35
63
  const PREDATES = Symbol('predates');
36
64
  /** #1722's kept-copy and fenced-wipe verbs: a host without the method answers a 501. */
@@ -430,11 +458,24 @@ export class VerticalClient {
430
458
  * Land provider bytes in the vertical's deployment as a CONNECTION (#574) — the bytes
431
459
  * leg (a sealed signed PDF cannot ride the JSON invoke). Multipart: `meta` carries the
432
460
  * JSON envelope, `body` the blob; fetch stamps the boundary content-type itself.
461
+ *
462
+ * A streamed body (#2498) goes to `/internal/connector-attachment-stream` instead, so it is
463
+ * never held here. A buffer keeps the multipart route, which every deployment has.
433
464
  */
434
465
  async connectorUploadAttachment(input) {
435
466
  const { body, ...meta } = input;
467
+ if (isSizedByteStream(body))
468
+ return this.connectorStreamAttachment(meta, body);
469
+ const metaJson = JSON.stringify(meta);
470
+ // The buffer is already held, so its length is known and the route's buffered bound is judged
471
+ // here, before it is copied into a form (#2538). This covers the typed inputs only: the route
472
+ // judges the bytes that arrive, so a caller that does not go through this client meets it there.
473
+ this.assertWithinAttachmentBounds('connector-attachment', connectorAttachmentMetaBytes(metaJson), {
474
+ length: body.byteLength,
475
+ held: 'buffered',
476
+ });
436
477
  const form = new FormData();
437
- form.append('meta', JSON.stringify(meta));
478
+ form.append('meta', metaJson);
438
479
  form.append('body', new Blob([body], { type: input.contentType }), input.filename);
439
480
  const base = this.options.baseUrl ?? 'https://vertical.invalid';
440
481
  const res = await this.reach('connector-attachment', () => this.options.fetch(`${base}/internal/connector-attachment`, {
@@ -447,6 +488,66 @@ export class VerticalClient {
447
488
  throw await this.refusal('connector-attachment', res);
448
489
  return this.parseInternal('connector-attachment', '/internal/connector-attachment', res);
449
490
  }
491
+ /**
492
+ * Hold an upload to the bounds the far end holds it to (#2516), so it is refused here, with
493
+ * nothing sent, in the words the route would use. `body` is its length and how it is held: a
494
+ * buffered one is judged against the buffered bound, a streamed one against the stream bound.
495
+ */
496
+ assertWithinAttachmentBounds(verb, metaBytes, body) {
497
+ if (metaBytes > CONNECTOR_ATTACHMENT_META_MAX_BYTES) {
498
+ throw new ControlPlaneError(400, `${verb}: ${connectorAttachmentMetaRefusal(metaBytes)}. Nothing was sent.`);
499
+ }
500
+ if (body?.held === 'buffered' && body.length > CONNECTOR_ATTACHMENT_BUFFERED_MAX_BYTES) {
501
+ throw new ControlPlaneError(413, `${verb}: ${connectorAttachmentBufferedRefusal(body.length)}. Nothing was sent.`);
502
+ }
503
+ if (body?.held === 'streamed' && body.length > CONNECTOR_ATTACHMENT_STREAM_MAX_BYTES) {
504
+ throw new ControlPlaneError(413, `${verb}: ${connectorAttachmentSizeRefusal(body.length)}. Nothing was sent.`);
505
+ }
506
+ }
507
+ /**
508
+ * The bytes leg for a streamed body (#2498): the request body IS the file, sent at its
509
+ * declared length as it is read, and the metadata rides `CONNECTOR_ATTACHMENT_META_HEADER`.
510
+ * Its own route rather than a second shape on the multipart one, so a deployment that
511
+ * predates it answers a route miss, and that becomes a 501 saying to re-push it, rather than
512
+ * an error from a parser that was handed a file.
513
+ */
514
+ async connectorStreamAttachment(meta, body) {
515
+ const verb = 'connector-attachment-stream';
516
+ const path = '/internal/connector-attachment-stream';
517
+ const base = this.options.baseUrl ?? 'https://vertical.invalid';
518
+ // The metadata is the only header a caller's strings reach. Its characters are always safe:
519
+ // JSON escapes a control character or a lone surrogate, and URI encoding everything else.
520
+ // Its SIZE is not, since it grows with the filename, so it is held to a named bound here and
521
+ // refused before a byte is sent rather than answered with a server's bare 431. (The multipart
522
+ // route is held to the same bound, #2516.) The file's own type rides inside it (the route
523
+ // reads `contentType` from there), so the request's own
524
+ // `content-type` is the plain octet-stream it is.
525
+ // Counted without `size`, as the multipart route's `meta` is, so one name passes or fails alike.
526
+ this.assertWithinAttachmentBounds(verb, connectorAttachmentMetaBytes(JSON.stringify(meta)), {
527
+ length: body.length,
528
+ held: 'streamed',
529
+ });
530
+ const encodedMeta = encodeURIComponent(JSON.stringify({ ...meta, size: body.length }));
531
+ const init = knownLengthInit({
532
+ method: 'POST',
533
+ headers: {
534
+ 'content-type': 'application/octet-stream',
535
+ [PLATFORM_SECRET_HEADER]: this.options.platformSecret,
536
+ [CONNECTOR_ATTACHMENT_META_HEADER]: encodedMeta,
537
+ },
538
+ body,
539
+ });
540
+ const res = await this.reach(verb, () => this.options.fetch(`${base}${path}`, init));
541
+ if (!res.ok) {
542
+ const refused = await this.refusal(verb, res);
543
+ if (isRouteMiss(refused)) {
544
+ throw new ControlPlaneError(501, `the deployment serving scope ${meta.scopeId} predates streamed connector uploads (#2498) — ` +
545
+ `re-push the deployment, then retry. Nothing was stored.`);
546
+ }
547
+ throw refused;
548
+ }
549
+ return this.parseInternal(verb, path, res);
550
+ }
450
551
  /**
451
552
  * Fetch ONE attachment's bytes back OUT of the vertical's deployment as a CONNECTION
452
553
  * (#711) — the outbound leg. The platform runs the vertical's signing connector and
@@ -487,7 +588,9 @@ export class VerticalClient {
487
588
  return {
488
589
  record,
489
590
  body,
490
- contentType: res.headers.get('content-type') ?? record.contentType,
591
+ // The record's, not the response's: the response header carries a type only when the
592
+ // stored one is header-safe (#2519), and the record is the exact stored value.
593
+ contentType: record.contentType,
491
594
  };
492
595
  }
493
596
  /**
@@ -622,6 +725,29 @@ export class VerticalClient {
622
725
  headers: { [PLATFORM_SECRET_HEADER]: this.options.platformSecret },
623
726
  }));
624
727
  }
728
+ /**
729
+ * #2446: the roles the deployment serving `scopeId` stores for `tenantId` there, and the role keys
730
+ * seated there (`/internal/role-state`): what its reconcile judges a role set against. `'predates'`
731
+ * on a 404, the deployment's own proof it has no such route, and on its 501, which a vertical-host
732
+ * carrying the route answers when its scope host predates `roleStateLocal`. Either is a deployment
733
+ * built before the read, which a promote counts rather than refuses on, since the promote that
734
+ * upgrades it is judged by it. Every other failure throws, as does a wrong-shaped answer.
735
+ */
736
+ async roleState(input) {
737
+ const verb = 'role-state';
738
+ const base = this.options.baseUrl ?? 'https://vertical.invalid';
739
+ const q = new URLSearchParams({ tenantId: input.tenantId, scopeId: input.scopeId });
740
+ const answer = await this.routeAnswer(verb, { legacy501: true, lost: 'nothing was changed; the read is safe to repeat.' }, () => this.options.fetch(`${base}/internal/role-state?${q}`, {
741
+ method: 'GET',
742
+ headers: { [PLATFORM_SECRET_HEADER]: this.options.platformSecret },
743
+ }));
744
+ if (answer === PREDATES)
745
+ return 'predates';
746
+ const parsed = roleStateWire.safeParse(answer);
747
+ if (!parsed.success)
748
+ throw new ControlPlaneError(502, `vertical answered ${verb} with an unexpected shape for scope ${input.scopeId}.`);
749
+ return parsed.data;
750
+ }
625
751
  /**
626
752
  * The read half of the peer kill switch's status (#1706): every peer the deployment
627
753
  * serving this scope holds or has held grants for, and where each stands. Mirrors
@@ -1177,9 +1303,21 @@ export class VerticalClient {
1177
1303
  * missing size read as 0 would sit inside a sum and look like a real, small scope.
1178
1304
  */
1179
1305
  async databaseSize(scopeId) {
1180
- const answer = await this.getInternal(`/internal/database-size?scopeId=${encodeURIComponent(scopeId)}`);
1306
+ return this.internalSize('database-size', scopeId);
1307
+ }
1308
+ /**
1309
+ * What one scope's attachment rows sum to, in bytes (#2501), for the storage gauge. A deployment
1310
+ * built before the route answers 501, or 404 with no route at all; both throw here, and the
1311
+ * caller decides that is a deployment to redeploy, never a size of 0.
1312
+ */
1313
+ async attachmentSize(scopeId) {
1314
+ return this.internalSize('attachment-size', scopeId);
1315
+ }
1316
+ /** One `/internal/<route>?scopeId=` size read; a 200 without a non-negative integer throws. */
1317
+ async internalSize(route, scopeId) {
1318
+ const answer = await this.getInternal(`/internal/${route}?scopeId=${encodeURIComponent(scopeId)}`);
1181
1319
  if (typeof answer.bytes !== 'number' || !Number.isInteger(answer.bytes) || answer.bytes < 0) {
1182
- throw new ControlPlaneError(502, `vertical answered database-size without a size for scope ${scopeId}`);
1320
+ throw new ControlPlaneError(502, `vertical answered ${route} without a size for scope ${scopeId}`);
1183
1321
  }
1184
1322
  return answer.bytes;
1185
1323
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vertical-client.js","sourceRoot":"","sources":["../src/vertical-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertical-client.js","sourceRoot":"","sources":["../src/vertical-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAqE5C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EAKvB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EAIZ,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EAGjB,mBAAmB,EACnB,iBAAiB,EAEjB,aAAa,EACb,YAAY,EACZ,iBAAiB,EAGjB,WAAW,EAOX,aAAa,EACb,gCAAgC,EAChC,mCAAmC,EACnC,uCAAuC,EACvC,qCAAqC,EACrC,4BAA4B,EAC5B,8BAA8B,EAC9B,kCAAkC,EAClC,8BAA8B,EAC9B,kCAAkC,EAClC,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,IAAI,EAAE,iBAAiB,EAAuC,MAAM,sBAAsB,CAAC;AAC7J,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,GAAsB;IAChD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,OAAgB;IAC3D,OAAO,GAAG,YAAY,iBAAiB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AACtH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAwD;IAC5F,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;AACzF,CAAC;AAED,iGAAiG;AACjG,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACxH;IACD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC,CAAC;AAEH,iGAAiG;AACjG,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAQpC,wFAAwF;AACxF,MAAM,MAAM,GAAc,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;AAEpF;;;;;;;GAOG;AACH,SAAS,QAAQ,CAAC,GAAa;IAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QAChF,CAAC,CAAC,6FAA6F;QAC/F,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,OAAgB,EAAE,MAAqB;IAC3D,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE5C;;;;;;;GAOG;AACH,KAAK,UAAU,YAAY,CAAI,IAAY,EAAE,EAAU,EAAE,GAAwC;IAC/F,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,KAAgD,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,iBAAiB,CAAC,GAAG,EAAE,+BAA+B,IAAI,WAAW,EAAE,GAAG,IAAI,kCAAkC,CAAC,CAAC,CAAC;QAChI,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAqID,8FAA8F;AAC9F,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAEhG;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAY;IACnC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,mHAAmH;AACnH,SAAS,uBAAuB,CAAC,GAAY;IAC3C,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAED,mGAAmG;AACnG,SAAS,mBAAmB,CAAC,GAAY;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,GAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACnI,CAAC;AAED,0GAA0G;AAC1G,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAExD;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,IAA6B;IACxD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,OAAgC,EAAE,OAAgB,EAAQ,EAAE;QAC3E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,OAAO,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACvD,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAS;YACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzF,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,QAAmC,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AA4DD;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAA+B,EAC/B,QAAmC,EACnC,OAAgB;IAEhB,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;SACvF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC,CAAC,CAAC;AACR,CAAC;AA0BD,MAAM,OAAO,cAAc;IACI,OAAO;IAApC,YAA6B,OAA8B;uBAA9B,OAAO;IAA0B,CAAC;IAE/D;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAA6B;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,CAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,qBAAqB,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;aACtD;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CACH,CAAC;QAEF,6EAA6E;QAC7E,kFAAkF;QAClF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC3D,kFAAkF;QAClF,iFAAiF;QACjF,+EAA+E;QAC/E,qBAAqB;QACrB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;QAC7E,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACrF,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;IAC5F,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAA6B;QACnD,MAAM,IAAI,CAAC,YAAY,CAAU,qBAAqB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAA6B;QACnD,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAM3F,qBAAqB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7C,OAAO;YACL,GAAG,GAAG;YACN,GAAG,eAAe,CAAC,WAAW,CAAC;YAC/B,GAAG,uBAAuB,CAAC,mBAAmB,CAAC;YAC/C,GAAG,mBAAmB,CAAC,eAAe,CAAC;SACxC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CAAC,OAAgB;QACpC,OAAO,IAAI,CAAC,WAAW,CAAe,4BAA4B,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,cAAc,CAAC,OAAgB,EAAE,KAA0B;QAC/D,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC;YAC5B,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,WAAW,CACrB,oBAAoB,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAC3D,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,KAAsB;QACvD,OAAO,IAAI,CAAC,YAAY,CAAmB,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IACtG,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE,MAAqB;QACvD,OAAO,IAAI,CAAC,WAAW,CAAqB,qBAAqB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,gBAAgB,CAAC,OAAgB,EAAE,MAAqB;QAC5D,OAAO,IAAI,CAAC,WAAW,CACrB,6BAA6B,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,4JAA4J;IAC5J,KAAK,CAAC,gBAAgB,CAAC,OAAgB,EAAE,MAAyB;QAChE,MAAM,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1B,OAAO,cAAc,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,CAAU,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAA8B;QACnD,MAAM,IAAI,GAAG,mBAAmB,CAAC;QACjC,MAAM,IAAI,GAAG,kBAAkB,KAAK,CAAC,YAAY,4EAA4E,CAAC;QAC9H,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,KAAK;YAChB,IAAI;YACJ,QAAQ,EACN,gCAAgC,KAAK,CAAC,OAAO,4CAA4C;gBACzF,yDAAyD;YAC3D,KAAK,EAAE,qBAAqB,IAAI,+BAA+B,IAAI,EAAE;SACtE,CAAC;QACF,kGAAkG;QAClG,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,wGAAwG;QACxG,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,wBAAwB,EAAE,CAAC,MAAM,EAAE,EAAE,CAC3E,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,+BAA+B,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACtG,IAAI;YACJ,MAAM;SACP,CAAC,CACH,CACF,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAAkB,EAAE,OAAgB;QAClD,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,CAAU,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,KAMpB;QACC,OAAO,cAAc,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,YAAY,CAAU,uBAAuB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,QAAkB,EAAE,OAAgB;QACpD,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,CAAU,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,KAElB;QACC,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,YAAY,CAAU,0BAA0B,EAAE,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IACjJ,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,gBAAgB,CAAC,KAEtB;QACC,MAAM,IAAI,CAAC,YAAY,CAAU,wBAAwB,EAAE,KAAK,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;IAC9G,CAAC;IAED,qGAAqG;IACrG,KAAK,CAAC,YAAY,CAAC,KAElB;QACC,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,YAAY,CAAU,0BAA0B,EAAE,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAC9I,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,KAMnB;QACC,OAAO,mBAAmB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,YAAY,CAAU,0BAA0B,EAAE,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IACpJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,QAAkB,EAAE,OAAgB;QAC7D,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,WAAW,CAAyB,+BAA+B,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,0BAA0B,CAC9B,QAAkB,EAClB,OAAgB,EAChB,MAA8B;QAE9B,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,EAAE,IAAI;YAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE,MAAM;YAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,KAAK;YAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,WAAW,CAAyB,uCAAuC,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,KAMrB;QACC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAClC,4BAA4B,EAC5B,KAAK,EACL,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,yBAAyB,CAAC,KAS/B;QACC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QAChC,IAAI,iBAAiB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,8FAA8F;QAC9F,8FAA8F;QAC9F,iGAAiG;QACjG,IAAI,CAAC,4BAA4B,CAAC,sBAAsB,EAAE,4BAA4B,CAAC,QAAQ,CAAC,EAAE;YAChG,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,IAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,EAAE,CACxD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,gCAAgC,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,0EAA0E;YAC1E,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAClE,IAAI,EAAE,IAAI;SACX,CAAC,CACH,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,aAAa,CAAmB,sBAAsB,EAAE,gCAAgC,EAAE,GAAG,CAAC,CAAC;IAC7G,CAAC;IAED;;;;OAIG;IACK,4BAA4B,CAClC,IAAY,EACZ,SAAiB,EACjB,IAAwD;QAExD,IAAI,SAAS,GAAG,mCAAmC,EAAE,CAAC;YACpD,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,8BAA8B,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,uCAAuC,EAAE,CAAC;YACvF,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACrH,CAAC;QACD,IAAI,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,qCAAqC,EAAE,CAAC;YACrF,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACjH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,yBAAyB,CACrC,IAA8E,EAC9E,IAAqB;QAErB,MAAM,IAAI,GAAG,6BAA6B,CAAC;QAC3C,MAAM,IAAI,GAAG,uCAAuC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,4FAA4F;QAC5F,0FAA0F;QAC1F,6FAA6F;QAC7F,8FAA8F;QAC9F,0FAA0F;QAC1F,wDAAwD;QACxD,kDAAkD;QAClD,iGAAiG;QACjG,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;YAC1F,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,eAAe,CAAC;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,0BAA0B;gBAC1C,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;gBACrD,CAAC,gCAAgC,CAAC,EAAE,WAAW;aAChD;YACD,IAAI;SACL,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,IAA8B,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9C,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,iBAAiB,CACzB,GAAG,EACH,gCAAgC,IAAI,CAAC,OAAO,iDAAiD;oBAC3F,yDAAyD,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAmB,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,uBAAuB,CAAC,KAW7B;QACC,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,IAAI,GAAG,kCAAkC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACxF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAC7D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE;YACxC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;SACnE,CAAC,CACH,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,oDAAoD,GAAG,CAAC,MAAM,WAAW;gBACvE,GAAG,kCAAkC,gDAAgD;gBACrF,uCAAuC,CAC1C,CAAC;QACJ,CAAC;QACD,mFAAmF;QACnF,qEAAqE;QACrE,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACrD,OAAO;YACL,MAAM;YACN,IAAI;YACJ,qFAAqF;YACrF,+EAA+E;YAC/E,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,KAA+C;QACnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAU,4BAA4B,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACxG,0FAA0F;QAC1F,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,6DAA6D,CAAC,CAAC;QACrH,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAKpB;QACC,MAAM,IAAI,CAAC,YAAY,CAAU,2BAA2B,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC1F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,KAMlB;QACC,MAAM,IAAI,GAAG,WAAW,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,qBAAqB,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACtG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CACH,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,iBAAiB,CACzB,GAAG,EACH,gCAAgC,KAAK,CAAC,OAAO,kEAAkE,CAChH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,IAAI,cAAc,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;QACpH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,YAAY,CAAC,KAQlB;QACC,MAAM,IAAI,GAAG,eAAe,CAAC;QAC7B,MAAM,IAAI,GACR,uBAAuB,KAAK,CAAC,OAAO,8BAA8B;YAClE,0EAA0E,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,KAAK;YAChB,IAAI;YACJ,QAAQ,EACN,gCAAgC,KAAK,CAAC,OAAO,0CAA0C;gBACvF,0DAA0D;YAC5D,KAAK,EAAE,qBAAqB,IAAI,+BAA+B,IAAI,EAAE;SACtE,CAAC;QACF,+FAA+F;QAC/F,OAAO,YAAY,CAAC,IAAI,EAAE,wBAAwB,EAAE,CAAC,MAAM,EAAE,EAAE,CAC7D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CACtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,yBAAyB,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACtG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC3B,MAAM;SACP,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,KAA2B;QAC3C,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,wCAAwC,KAAK,CAAC,OAAO,2EAA2E;SACvI,CAAC;QACF,kFAAkF;QAClF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,wBAAwB,EAAE,CAAC,MAAM,EAAE,EAAE,CAC3E,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,kCAAkC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE;YAC/F,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAClE,MAAM;SACP,CAAC,CACH,CACF,CAAC;QACF,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtC,IAAK,MAAsC,EAAE,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC1E,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,IAAI,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxG,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAA2B;QAClD,MAAM,IAAI,GAAG,eAAe,CAAC;QAC7B,MAAM,IAAI,GAAG,uBAAuB,KAAK,CAAC,OAAO,0DAA0D,CAAC;QAC5G,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,KAAK;YAChB,IAAI;YACJ,QAAQ,EACN,gCAAgC,KAAK,CAAC,OAAO,wDAAwD;gBACrG,oCAAoC;YACtC,KAAK,EAAE,qBAAqB,IAAI,uCAAuC,KAAK,CAAC,OAAO,GAAG;SACxF,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CACrE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,mCAAmC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE;YAChG,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;SACnE,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,KAA+C;QAC7D,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,kDAAkD,EAAE,EAAE,GAAG,EAAE,CAC9H,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,wBAAwB,CAAC,EAAE,EAAE;YACrD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;SACnE,CAAC,CACH,CAAC;QACF,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,IAAI,uCAAuC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACxI,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAA2B;QAChD,MAAM,IAAI,GAAG,aAAa,CAAC;QAC3B,MAAM,IAAI,GAAG,4BAA4B,KAAK,CAAC,OAAO,0DAA0D,CAAC;QACjH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,KAAK;YAChB,IAAI;YACJ,QAAQ,EACN,gCAAgC,KAAK,CAAC,OAAO,oDAAoD;gBACjG,oCAAoC;YACtC,KAAK,EAAE,qBAAqB,IAAI,uCAAuC,KAAK,CAAC,OAAO,GAAG;SACxF,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CACjE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,iCAAiC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE;YAC9F,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;SACnE,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,CAAC,KAQhB;QACC,MAAM,IAAI,GAAG,aAAa,CAAC;QAC3B,MAAM,IAAI,GACR,wBAAwB,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,OAAO,8BAA8B;YAC/F,sEAAsE,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,KAAK;YAChB,IAAI;YACJ,QAAQ,EACN,gCAAgC,KAAK,CAAC,OAAO,2CAA2C;gBACxF,0DAA0D;YAC5D,KAAK,EAAE,qBAAqB,IAAI,+BAA+B,IAAI,EAAE;SACtE,CAAC;QACF,+FAA+F;QAC/F,OAAO,YAAY,CAAC,IAAI,EAAE,wBAAwB,EAAE,CAAC,MAAM,EAAE,EAAE,CAC7D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CACpD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,uBAAuB,EAAE;YACjD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACtG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC3B,MAAM;SACP,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAyB;QAChD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,mBAAmB,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1I,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAwB;QAC9C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/H,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAA0B;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrI,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,MAAyB,EACzB,IAAY,EACZ,IAAa,EACb,MAAkF,EAClF,IAAY,EACZ,aAAsB;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,iCAAiC,aAAa,mCAAmC;YACvF,QAAQ,EACN,iCAAiC,aAAa,mDAAmD;gBACjG,mDAAmD;YACrD,KAAK,EAAE,wBAAwB,IAAI,uCAAuC,aAAa,GAAG;SAC3F,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;YACnC,MAAM;YACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACtG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,yFAAyF;IACzF,KAAK,CAAC,qBAAqB,CACzB,QAAkB,EAClB,OAAgB,EAChB,EAAqB,EACrB,OAUC;QAED,MAAM,IAAI,CAAC,YAAY,CACrB,oCAAoC,EACpC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,EACrC,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,KAMnB;QACC,OAAO,IAAI,CAAC,YAAY,CAAqB,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACxF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,KAA+C;QAC/D,MAAM,IAAI,CAAC,YAAY,CAAU,wBAAwB,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACpF,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,SAAiB;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAyB,0BAA0B,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACrI,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAClF,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YACtE,OAAO,MAAM,CAAC,kBAAkB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtE,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,yDAAyD,OAAO,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,OAAgB;QAChC,OAAO,IAAI,CAAC,WAAW,CACrB,4BAA4B,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAC1D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAgB;QAEhB,MAAM,IAAI,GAAG,4BAA4B,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC;QAChE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,aAAa,CAAmB,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACjH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAChB,QAAkB,EAClB,OAAgB;IAChB,iGAAiG;IACjG,MAAqC;IACrC;;;;;;;;yDAQqD;IACrD,IAcC;QAED,2FAA2F;QAC3F,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,aAAa,CAAC,mBAAmB,EAAE,sEAAsE,CAAC,CAAC;QACnH,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAC5D,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,mBAAmB,EACzD;YACE,QAAQ;YACR,OAAO;YACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,EACD,SAAS,CACV,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,OAAgB,EAAE,MAAqB,EAAE,IAAI,GAAwB,EAAE;QAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,KAAK,GACT,WAAW,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;YACvE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CACjF,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,yBAAyB,KAAK,EAAE,EAAE;YAC1D,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAClE,MAAM;SACP,CAAC,CACH,CAAC,CAAC;QACL,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAC3C,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,sEAAsE,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAClB,OAAgB,EAChB,OAAe,EACf,GAAW,EACX,MAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAC3E,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACvH,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAC3C,OAAO,EAAE,MAAM,EAAG,MAAsC,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC;IAC9E,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,kBAAkB,CAAC,OAAgB,EAAE,OAAe;QACxD,MAAM,YAAY,CAAC,eAAe,EAAE,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CACpE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5H,CAAC;IAED,kFAAkF;IAC1E,OAAO,CAAC,IAAY,EAAE,IAAa,EAAE,MAAoB;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACtG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,eAAe,CAAC,KAYrB;QACC,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,wBAAwB,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACtG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CACH,CAAC;QACF,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAC3C,MAAM,KAAK,GAAI,MAAqC,EAAE,KAAK,CAAC;QAC5D,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,iBAAiB,CACzB,GAAG,EACH,qBAAqB,IAAI,iDAAiD,KAAK,CAAC,OAAO,0BAA0B,CAClH,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,MAAM,IAAI,GAAG,aAAa,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,iCAAiC,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;YACxF,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;SACnE,CAAC,CACH,CAAC;QACF,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAC3C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAgD,CAAC;QAC9F,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,IAAI,cAAc,OAAO,2BAA2B,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,SAA0B,EAAE,QAAQ,EAAE,QAAyB,EAAE,CAAC;IACxF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,+BAA+B,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;YACtF,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;SACnE,CAAC,CACH,CAAC;QACF,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,IAAI,GAAI,MAAoC,EAAE,IAAI,CAAC;QACzD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,CAAC,GAAG,IAAqC,CAAC;QAChD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;YACtI,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,IAAI,cAAc,OAAO,2BAA2B,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO;YACL,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ;gBACzF,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,KAAK,QAAQ,CAAC;gBAClG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;gBACvD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,wGAAwG;IACxG,KAAK,CAAC,eAAe,CAAC,KAOrB;QACC,MAAM,IAAI,GAAG,mBAAmB,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,6BAA6B,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACtG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CACH,CAAC;QACF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,gCAAgC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,CAAC,GAAG,MAA0D,CAAC;QACrE,IAAI,CAAC,EAAE,QAAQ,KAAK,IAAI;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,EAAE,OAAO,KAAK,UAAU;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACzF,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,IAAI,kEAAkE,CAAC,CAAC;IAChI,CAAC;IAED,sGAAsG;IACtG,KAAK,CAAC,eAAe,CAAC,KASrB;QACC,MAAM,IAAI,GAAG,mBAAmB,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,6BAA6B,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACtG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CACH,CAAC;QACF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,gCAAgC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,CAAC,GAAG,MAA2D,CAAC;QACtE,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACtD,IAAI,CAAC,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,EAAE,OAAO,KAAK,UAAU;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACzF,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,IAAI,kEAAkE,CAAC,CAAC;IAChI,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAe,EAAE,OAAgC;QACvF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;QAClF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CACxB,IAAY,EACZ,IAAqD,EACrD,MAAkF,EAClF,OAAgC;QAEhC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,GAAa,EAAE,IAAY;QACnE,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,iBAAiB,CACzB,GAAG,EACH,oCAAoC,OAAO,YAAY,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAC/G,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,OAAO,gCAAgC,QAAQ,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC1H,CAAC;IACH,CAAC;IAED;8DAC0D;IAC1D,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,OAAqB;QACpD,OAAO,IAAI,CAAC,YAAY,CAAsB,qBAAqB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;IAC1G,CAAC;IAED,mGAAmG;IACnG,KAAK,CAAC,aAAa,CACjB,OAAgB,EAChB,OAAqB;IACrB;qBACiB;IACjB,IAAI,GAA4B,EAAE;QAElC,OAAO,IAAI,CAAC,YAAY,CACtB,2BAA2B,EAC3B,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACrE,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED,yFAAyF;IACzF,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE,KAAsB;QACxD,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;;YACrE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,WAAW,CAAmB,oBAAoB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,KAAsB;QACvD,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAa,mBAAmB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,KAAwB;QAC3D,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAc,qBAAqB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,gBAAgB,CAAC,OAAgB,EAAE,KAA4B;QACnE,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7E,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,WAAW,CAAmB,wBAAwB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE,KAAuB;QACzD,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAmB,0BAA0B,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,KAAyB;QAC7D,OAAO,IAAI,CAAC,YAAY,CAAsB,0BAA0B,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACrH,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,eAAe,CAAC,OAAgB,EAAE,KAA2B;QACjE,OAAO,IAAI,CAAC,YAAY,CAAwB,4BAA4B,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC3H,CAAC;IAED,6GAA6G;IAC7G,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,KAAyB;QAC7D,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC;YAC5B,OAAO;YACP,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAqB,qBAAqB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CAAC,OAAgB,EAAE,KAAa;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,sCAAsC,kBAAkB,CAAC,OAAO,CAAC,EAAE;YACjE,UAAU,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAC9D,CAAC;QACF,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAgB,EAAE,QAA2B,EAAE,SAAiB;QACtF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,wBAAwB,EACxB,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAChC,cAAc,CACf,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,aAAqB,EAAE,SAAmB;QAC9E,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CACrC,yBAAyB,EACzB,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B,eAAe,CAChB,CAAC;YACF,kFAAkF;YAClF,iFAAiF;YACjF,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,6DAA6D,OAAO,EAAE,CAAC,CAAC;YAC3G,CAAC;YACD,OAAO,OAAO,CAAC,WAAW,CAAC;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,0BAA0B,EAC1B,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B,gBAAgB,CACjB,CAAC;QACF,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAgB;QAQhB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAOjC,gCAAgC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAC9D,CAAC;QACF,4EAA4E;QAC5E,iEAAiE;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACnH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAgB;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,OAAgB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,+FAA+F;IACvF,KAAK,CAAC,YAAY,CAAC,KAA0C,EAAE,OAAgB;QACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAsB,aAAa,KAAK,YAAY,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxH,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,KAAK,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAAC,KAQ5B;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAU,4BAA4B,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,iEAAiE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrH,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACpE,OAAO;YACL,GAAG,IAAI;YACP,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAgB;QAEhB,OAAO,IAAI,CAAC,WAAW,CACrB,+BAA+B,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,OAAgB,EAChB,QAAgB;IAChB,8FAA8F;IAC9F,IAA+C;QAE/C,OAAO,IAAI,CAAC,YAAY,CACtB,kBAAkB,EAClB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC1G,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAgC;QAChE,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,+BAA+B,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,GAAa;QAC/C,2FAA2F;QAC3F,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,uFAAuF;QACvF,8EAA8E;QAC9E,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAwB,CAAC;YAC7D,IAAI,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC7D,OAAO,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,IAAI,iBAAiB,CAC1B,GAAG,CAAC,MAAM,EACV,MAAM,KAAK,EAAE;YACX,CAAC,CAAC,oBAAoB,IAAI,KAAK,GAAG,CAAC,MAAM,MAAM,MAAM,EAAE;YACvD,CAAC,CAAC,oBAAoB,IAAI,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,EAC/D,SAAS,EACT,GAAG,CACJ,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,aAAa,CAAI,IAAY,EAAE,IAAY,EAAE,GAAa;QACtE,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAC3B,GAAG,IAAI,KAAK,IAAI,GAAG,EACnB,GAAG,EACH,gGAAgG;YAC9F,0EAA0E,CAC7E,CAAM,CAAC;IACV,CAAC;IAED,6EAA6E;IAC7E;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,KAOpB;QACC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CACxC,2BAA2B,EAC3B;YACE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;SACxF,EACD,WAAW,CACZ,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,cAAc,CAAC,KAAuE;QAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACrH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,KAA+C;QAC/D,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3G,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,KAAmE;QACpF,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,yBAAyB,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAChH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAuE;QAC5F,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,yBAAyB,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE;YACjH,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAC7B,IAAY,EACZ,IAAY,EACZ,OAAgB,EAChB,MAAkF,EAClF,IAAc,EACd,IAAI,GAAwB,EAAE;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK;YACrB,CAAC,CAAC,iEAAiE;YACnE,CAAC,CAAC,qDAAqD,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,MAAM,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,KAAK;YAChB,IAAI;YACJ,QAAQ,EACN,gCAAgC,OAAO,mEAAmE;gBAC1G,4DAA4D;YAC9D,KAAK,EAAE,qBAAqB,IAAI,uCAAuC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SACrH,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,GAAG,IAAI,GAAG,IAAI,EAAE,EAChB,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;YACpC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC/G,CACF,CAAC;IACJ,CAAC;IAED,6FAA6F;IACrF,KAAK,CAAC,YAAY,CAAI,IAAY,EAAE,IAAa,EAAE,IAAY,EAAE,UAAmB;QAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,yFAAyF;QACzF,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAoB,EAAc,EAAE;YAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;gBACnC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;iBACtD;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CACH,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,aAAa,CAAI,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,OAAO,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1F,CAAC;IAED,4EAA4E;IACpE,KAAK,CAAC,WAAW,CAAI,IAAY;QACvC,OAAO,IAAI,CAAC,aAAa,CAAI,eAAe,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,oGAAoG;IAC5F,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE,CACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;YACnC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;SACnE,CAAC,CACH,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAeD,oGAAoG;AACpG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AA+CnC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA8B,EAC9B,IAA0B;AAC1B,kGAAkG;AAClG,KAAsC,EACtC,IAAI,GAAoB,EAAE;IAE1B,IAAI,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAClE,OAAO,OAAO,IAAI,QAAQ;QAAE,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClG,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAE,MAAM,EAAE,IAAI,EAAgB,EAC9B,KAAsC,EACtC,IAAI,GAA2C,EAAE;IAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAI,GAAqB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC;IACpC,+FAA+F;IAC/F,iCAAiC;IACjC,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU;QACxD,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC,CAAE,UAAoB,CAAC;IAC1B,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7F,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9H,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9H,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU;QACtD,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC,CAAE,UAAoB,CAAC;IAC1B,MAAM,KAAK,GAAkB;QAC3B,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI;QACtD,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;QACpD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC/F,CAAC;IACF,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAC9F,4FAA4F;IAC5F,MAAM,IAAI,GAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC;QAC/C,MAAM,EAAE,GAAW,MAAM,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5E,IAAI,IAAI,KAAK,UAAU;YAAE,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AAC5H,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAE,MAAM,EAAE,IAAI,EAAgB,EAC9B,KAAoB,EACpB,IAAI,GAAyE,EAAE;IAE/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAI,GAAqB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,IAAI,IAAI,GAAkB,KAAK,CAAC;IAChC,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAW,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7F,IAAI,IAAI,KAAK,UAAU;YAAE,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACjG,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,4BAA4B,IAAI,CAAC,IAAI,8CAA8C,CAAC,CAAC;QACxH,CAAC;QACD,IAAI,GAAG;YACL,GAAG,IAAI;YACP,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACrC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACzD,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,OAAO,CACpB,IAAkB,EAAE,KAAoB,EAAE,IAAmD,EAAE,MAAe;IAE9G,0FAA0F;IAC1F,IAAI,MAAM;QAAE,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjG,mFAAmF;IACnF,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IACpD,IAAI,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,iBAAiB,CACzB,GAAG,EACH,SAAS,KAAK,CAAC,IAAI,8BAA8B,QAAQ,mDAAmD;YAC1G,qEAAqE,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;AAChI,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAoB,EAAE,CACxD,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAEjH,MAAM,MAAM,GAAG,CAAC,MAAiC,EAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE5G,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,EAAE,CACzC,IAAI,iBAAiB,CAAC,GAAG,EAAE,uBAAuB,OAAO,2DAA2D,CAAC,CAAC;AAExH,iEAAiE;AACjE,MAAM,MAAM,GAAG,CAAC,KAA6C,EAAoB,EAAE,CACjF,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * The uploader's half of RFC wire-signing step 2 (follow-on 3): what one upload gives the deployment
3
+ * it goes to, and the capability record of it (§5, §6, §7, Q8).
4
+ *
5
+ * A deployment is given both issuers' public key lists, its own dispatch name for the audience
6
+ * check and the state `dual`, all plain configuration, rewritten on every upload. Nothing is given
7
+ * until the control plane's `WIRE_KEYS_ROLLOUT` says so: unset or `off` gives no deployment lists,
8
+ * `canary:<vertical>` gives them to that one vertical's deployments only (the single canary the RFC
9
+ * puts first in each environment), and `fleet` to every deployment. A setting that cannot be read
10
+ * gives nothing. So with the setting unset, every upload is what it was before this existed.
11
+ *
12
+ * The lists are judged before they are given, by the function the platform's entry loads them with
13
+ * (`wireUploadSettings`), so a deployment is never given lists its verifier would refuse: the upload
14
+ * gives nothing instead, and says why. No code here can give a state other than `dual`: moving a
15
+ * deployment to `signed-only` is the flip, a later and separate step.
16
+ *
17
+ * Every upload has a record, given lists or not, written from what the uploader built: whether the
18
+ * bundle carries the platform's entry (which holds the verifier), the state, the audience and the key
19
+ * ids, or why nothing was given. The vertical never declares any of it.
20
+ */
21
+ import { type WireAuthRecord } from '@substrat-run/contracts';
22
+ import type { VerticalBundle } from './deploy.js';
23
+ /** The control plane's own settings for what its uploads give, as its env holds them. */
24
+ export interface WireUploadSettings {
25
+ /** `WIRE_KEYS_ROLLOUT`: unset or `off`, `canary:<vertical>`, or `fleet`. */
26
+ readonly rollout?: string;
27
+ /** `WIRE_ROUTER_PUBLIC_KEYS`: the router's public keys, comma-separated. */
28
+ readonly routerKeys?: string;
29
+ /** `WIRE_PLATFORM_PUBLIC_KEYS`: the control plane's public keys, comma-separated. */
30
+ readonly platformKeys?: string;
31
+ }
32
+ /** Which deployments an upload gives lists to. */
33
+ export type WireKeysRollout = {
34
+ readonly kind: 'off';
35
+ } | {
36
+ readonly kind: 'canary';
37
+ readonly vertical: string;
38
+ } | {
39
+ readonly kind: 'fleet';
40
+ };
41
+ /**
42
+ * The rollout setting's one reading. Unset, empty or `off` is off; `fleet` is every deployment;
43
+ * `canary:<vertical>` is one vertical, named as the registry names it. Anything else is refused
44
+ * with the reason, a second vertical in a canary included: the RFC's canary is one, before the rest.
45
+ */
46
+ export declare function wireKeysRolloutOf(value: unknown): WireKeysRollout | {
47
+ readonly refused: string;
48
+ };
49
+ /** What one upload gives its deployment, and the record of it. */
50
+ export interface WireUpload {
51
+ /** The vertical and the script the upload goes to. */
52
+ readonly vertical: string;
53
+ readonly deploymentRef: string;
54
+ /** Plain configuration for the upload: both lists, the audience and the state, or nothing. */
55
+ readonly bindings: readonly {
56
+ readonly type: 'plain_text';
57
+ readonly name: string;
58
+ readonly text: string;
59
+ }[];
60
+ readonly record: WireAuthRecord;
61
+ /** Why the setting or the lists were refused, when they were. Never a key. */
62
+ readonly refusal: string | null;
63
+ }
64
+ /**
65
+ * What the upload of `bundle` to the script `deploymentRef`, a deployment of `vertical`, gives it
66
+ * under `settings`, and the record of it. Gives nothing while the rollout is off or leaves the
67
+ * vertical out, while the setting cannot be read, or while the lists would not load.
68
+ */
69
+ export declare function wireUploadFor(settings: WireUploadSettings | undefined, upload: {
70
+ readonly vertical: string;
71
+ readonly deploymentRef: string;
72
+ readonly bundle: Pick<VerticalBundle, 'entry' | 'modules'>;
73
+ }): Promise<WireUpload>;
74
+ //# sourceMappingURL=wire-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire-upload.d.ts","sourceRoot":"","sources":["../src/wire-upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,kDAAkD;AAClD,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAI/B;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAWhG;AAED,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,MAAM,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,CAAA;CAAE,GAChI,OAAO,CAAC,UAAU,CAAC,CA+BrB"}