@spine-event-engine/auth 2.0.0-snapshot.23 → 2.0.0-snapshot.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/REFERENCE.md +21 -6
- package/dist/gateway/dynamic-unary-forwarder.d.ts +26 -1
- package/dist/gateway/dynamic-unary-forwarder.d.ts.map +1 -1
- package/dist/gateway/dynamic-unary-forwarder.js +47 -16
- package/dist/gateway/dynamic-unary-forwarder.js.map +1 -1
- package/dist/gateway/index.d.ts +4 -1
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +74 -9
- package/dist/gateway/index.js.map +1 -1
- package/dist/index.d.ts +13 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/native/index.d.ts +1 -0
- package/dist/native/index.d.ts.map +1 -1
- package/dist/native/index.js +148 -15
- package/dist/native/index.js.map +1 -1
- package/dist/request/index.d.ts +5 -0
- package/dist/request/index.d.ts.map +1 -1
- package/dist/request/index.js +76 -43
- package/dist/request/index.js.map +1 -1
- package/dist/subscriptions/index.d.ts +3 -1
- package/dist/subscriptions/index.d.ts.map +1 -1
- package/dist/subscriptions/index.js +139 -5
- package/dist/subscriptions/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -294,6 +294,14 @@ export class InMemorySubscriptionBindings {
|
|
|
294
294
|
definition.bytes.fill(0);
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Serializes a logical binding operation behind its current tail.
|
|
299
|
+
*
|
|
300
|
+
* @typeParam T The operation result.
|
|
301
|
+
* @param id The logical subscription identifier.
|
|
302
|
+
* @param operation The operation to serialize.
|
|
303
|
+
* @returns The operation result after preceding work settles.
|
|
304
|
+
*/
|
|
297
305
|
async #coordinate(id, operation) {
|
|
298
306
|
const binding = this.#bindings.get(id);
|
|
299
307
|
if (binding === undefined)
|
|
@@ -327,6 +335,7 @@ export class SubscriptionGateway {
|
|
|
327
335
|
#limits;
|
|
328
336
|
#expiryTimers = new Set();
|
|
329
337
|
#publicPendingTimers = new Map();
|
|
338
|
+
#cancellations = new Map();
|
|
330
339
|
#closed = false;
|
|
331
340
|
/**
|
|
332
341
|
* Creates the subscription gateway.
|
|
@@ -528,8 +537,31 @@ export class SubscriptionGateway {
|
|
|
528
537
|
throw cleanupFailure;
|
|
529
538
|
return outcome;
|
|
530
539
|
}
|
|
531
|
-
|
|
532
|
-
this.#
|
|
540
|
+
#cancel(id, context, nowMs) {
|
|
541
|
+
const active = this.#cancellations.get(id) ?? [];
|
|
542
|
+
const matching = active.find((entry) => SubscriptionGatewayValues.contextsEqual(entry.context, context));
|
|
543
|
+
if (matching !== undefined)
|
|
544
|
+
return matching.promise;
|
|
545
|
+
const promise = this.#cancelOnce(id, context, nowMs);
|
|
546
|
+
const entry = { context: clone(ActorContextSchema, context), promise };
|
|
547
|
+
active.push(entry);
|
|
548
|
+
this.#cancellations.set(id, active);
|
|
549
|
+
// spine-log-boundary: auth.subscription_cancel_finally_observer
|
|
550
|
+
void promise
|
|
551
|
+
.finally(() => {
|
|
552
|
+
const current = this.#cancellations.get(id);
|
|
553
|
+
if (current === undefined)
|
|
554
|
+
return;
|
|
555
|
+
const remaining = current.filter((candidate) => candidate !== entry);
|
|
556
|
+
if (remaining.length === 0)
|
|
557
|
+
this.#cancellations.delete(id);
|
|
558
|
+
else
|
|
559
|
+
this.#cancellations.set(id, remaining);
|
|
560
|
+
})
|
|
561
|
+
.catch(() => undefined);
|
|
562
|
+
return promise;
|
|
563
|
+
}
|
|
564
|
+
async #cancelOnce(id, context, nowMs) {
|
|
533
565
|
try {
|
|
534
566
|
const result = await this.#options.bindings.cancel({
|
|
535
567
|
id,
|
|
@@ -537,9 +569,10 @@ export class SubscriptionGateway {
|
|
|
537
569
|
nowMs,
|
|
538
570
|
onDefinition: (definition, effectSignal) => this.#forwardCancel(definition, effectSignal),
|
|
539
571
|
});
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
572
|
+
if (result.kind === "denied")
|
|
573
|
+
return SubscriptionGatewayValues.rejected("denied");
|
|
574
|
+
this.#clearPublicPending(id);
|
|
575
|
+
return { kind: "cancelled" };
|
|
543
576
|
}
|
|
544
577
|
catch (error) {
|
|
545
578
|
if (error instanceof Error && error.message === "binding-busy")
|
|
@@ -665,13 +698,32 @@ export class SubscriptionGateway {
|
|
|
665
698
|
*/
|
|
666
699
|
const SubscriptionGatewayValues = Object.freeze({
|
|
667
700
|
publicPrincipal: Object.freeze({ id: "spine-gateway-public" }),
|
|
701
|
+
/**
|
|
702
|
+
* Stops delivery of an update from a closed or rejected stream.
|
|
703
|
+
*
|
|
704
|
+
* @param update The update being delivered.
|
|
705
|
+
* @returns Completion after discarding the update.
|
|
706
|
+
*/
|
|
668
707
|
discardUpdate(update) {
|
|
669
708
|
update.bytes.fill(0);
|
|
670
709
|
return Promise.resolve();
|
|
671
710
|
},
|
|
711
|
+
/**
|
|
712
|
+
* Copies the public subscription wire bytes.
|
|
713
|
+
*
|
|
714
|
+
* @param wire Serialized public subscription bytes.
|
|
715
|
+
* @returns Copied public subscription bytes.
|
|
716
|
+
*/
|
|
672
717
|
copyPublic(wire) {
|
|
673
718
|
return { kind: wire.kind, bytes: wire.bytes.slice() };
|
|
674
719
|
},
|
|
720
|
+
/**
|
|
721
|
+
* Builds a successful subscription response.
|
|
722
|
+
*
|
|
723
|
+
* @param id The logical subscription identifier.
|
|
724
|
+
* @param topicBytes Serialized subscription Topic.
|
|
725
|
+
* @returns A successful subscription response.
|
|
726
|
+
*/
|
|
675
727
|
subscribed(id, topicBytes) {
|
|
676
728
|
return {
|
|
677
729
|
kind: "subscribed",
|
|
@@ -684,10 +736,24 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
684
736
|
},
|
|
685
737
|
};
|
|
686
738
|
},
|
|
739
|
+
/**
|
|
740
|
+
* Decodes and validates a typed incoming request.
|
|
741
|
+
*
|
|
742
|
+
* @param kind Expected request kind.
|
|
743
|
+
* @param bytes Serialized subscription request bytes.
|
|
744
|
+
* @param transport Safe request transport metadata.
|
|
745
|
+
* @returns The decoded request when its kind matches.
|
|
746
|
+
*/
|
|
687
747
|
decode(kind, bytes, transport) {
|
|
688
748
|
const result = IncomingRequests.decode({ kind, value: bytes.slice(), transport });
|
|
689
749
|
return result?.kind === kind ? result : undefined;
|
|
690
750
|
},
|
|
751
|
+
/**
|
|
752
|
+
* Builds actor context from resolved credentials.
|
|
753
|
+
*
|
|
754
|
+
* @param context The authenticated or RPC context.
|
|
755
|
+
* @returns The trusted actor context.
|
|
756
|
+
*/
|
|
691
757
|
trustedContext(context) {
|
|
692
758
|
return create(ActorContextSchema, {
|
|
693
759
|
actor: context.actor,
|
|
@@ -697,9 +763,23 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
697
763
|
...(context.language === undefined ? {} : { language: context.language }),
|
|
698
764
|
});
|
|
699
765
|
},
|
|
766
|
+
/**
|
|
767
|
+
* Checks whether requested context matches trusted context.
|
|
768
|
+
*
|
|
769
|
+
* @param requested Context supplied by the caller.
|
|
770
|
+
* @param trusted Context resolved by authentication.
|
|
771
|
+
* @returns Whether requested context matches authentication.
|
|
772
|
+
*/
|
|
700
773
|
matches(requested, trusted) {
|
|
701
774
|
return SubscriptionGatewayValues.contextsEqual(requested, trusted);
|
|
702
775
|
},
|
|
776
|
+
/**
|
|
777
|
+
* Compares authenticated actor and tenant identities.
|
|
778
|
+
*
|
|
779
|
+
* @param left First context to compare.
|
|
780
|
+
* @param right Second context to compare.
|
|
781
|
+
* @returns Whether the actor and tenant identities match.
|
|
782
|
+
*/
|
|
703
783
|
contextsEqual(left, right) {
|
|
704
784
|
if (left.actor?.value !== right.actor?.value)
|
|
705
785
|
return false;
|
|
@@ -709,6 +789,13 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
709
789
|
const second = toBinary(TenantIdSchema, right.tenantId);
|
|
710
790
|
return (first.byteLength === second.byteLength && first.every((byte, index) => byte === second[index]));
|
|
711
791
|
},
|
|
792
|
+
/**
|
|
793
|
+
* Transforms subscription context with authenticated values.
|
|
794
|
+
*
|
|
795
|
+
* @param incoming Decoded subscription request.
|
|
796
|
+
* @param context The authenticated or RPC context.
|
|
797
|
+
* @returns Serialized subscription with trusted context.
|
|
798
|
+
*/
|
|
712
799
|
rewrite(incoming, context) {
|
|
713
800
|
if (incoming.kind === "subscribe") {
|
|
714
801
|
const topic = clone(TopicSchema, incoming.topic);
|
|
@@ -723,6 +810,12 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
723
810
|
subscription.topic = topic;
|
|
724
811
|
return toBinary(SubscriptionSchema, subscription);
|
|
725
812
|
},
|
|
813
|
+
/**
|
|
814
|
+
* Determines the subscription operation for a request.
|
|
815
|
+
*
|
|
816
|
+
* @param request The admitted or incoming request.
|
|
817
|
+
* @returns The recognized subscription operation, if any.
|
|
818
|
+
*/
|
|
726
819
|
operationFor(request) {
|
|
727
820
|
if (request.service !== "spine.client.SubscriptionService")
|
|
728
821
|
return undefined;
|
|
@@ -734,6 +827,12 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
734
827
|
return "cancel";
|
|
735
828
|
return undefined;
|
|
736
829
|
},
|
|
830
|
+
/**
|
|
831
|
+
* Copies safe transport metadata from the request.
|
|
832
|
+
*
|
|
833
|
+
* @param request The admitted or incoming request.
|
|
834
|
+
* @returns Copied safe transport context.
|
|
835
|
+
*/
|
|
737
836
|
snapshotTransport(request) {
|
|
738
837
|
return Object.freeze({
|
|
739
838
|
service: request.service,
|
|
@@ -753,9 +852,22 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
753
852
|
: { userAgent: request.transport.userAgent }),
|
|
754
853
|
});
|
|
755
854
|
},
|
|
855
|
+
/**
|
|
856
|
+
* Builds a rejected gateway result.
|
|
857
|
+
*
|
|
858
|
+
* @param reason The original failure reason.
|
|
859
|
+
* @returns The rejected gateway result.
|
|
860
|
+
*/
|
|
756
861
|
rejected(reason) {
|
|
757
862
|
return { kind: "rejected", reason };
|
|
758
863
|
},
|
|
864
|
+
/**
|
|
865
|
+
* Converts a Protobuf timestamp to safe milliseconds.
|
|
866
|
+
*
|
|
867
|
+
* @param seconds Whole timestamp seconds.
|
|
868
|
+
* @param nanos Timestamp nanoseconds.
|
|
869
|
+
* @returns Safe milliseconds, or undefined for invalid input.
|
|
870
|
+
*/
|
|
759
871
|
timestampMs(seconds, nanos) {
|
|
760
872
|
const value = Number(seconds);
|
|
761
873
|
if (!Number.isSafeInteger(value) ||
|
|
@@ -766,6 +878,12 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
766
878
|
const result = value * 1_000 + Math.floor(nanos / 1_000_000);
|
|
767
879
|
return Number.isSafeInteger(result) ? result : undefined;
|
|
768
880
|
},
|
|
881
|
+
/**
|
|
882
|
+
* Validates and fills gateway subscription limits.
|
|
883
|
+
*
|
|
884
|
+
* @param input Caller-supplied limits.
|
|
885
|
+
* @returns Validated gateway limits.
|
|
886
|
+
*/
|
|
769
887
|
limits(input) {
|
|
770
888
|
const value = { ...defaultLimits, ...input };
|
|
771
889
|
for (const limit of Object.values(value))
|
|
@@ -773,6 +891,13 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
773
891
|
throw new Error("subscription limits must be positive safe integers");
|
|
774
892
|
return value;
|
|
775
893
|
},
|
|
894
|
+
/**
|
|
895
|
+
* Copies a bounded gateway request for admission.
|
|
896
|
+
*
|
|
897
|
+
* @param request The admitted or incoming request.
|
|
898
|
+
* @param limit Configured admission bounds.
|
|
899
|
+
* @returns The copied request, or undefined when too large.
|
|
900
|
+
*/
|
|
776
901
|
admit(request, limit) {
|
|
777
902
|
if (request.wire.bytes.byteLength > limit.maxRequestBytes)
|
|
778
903
|
return undefined;
|
|
@@ -788,6 +913,15 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
788
913
|
...(request.signal === undefined ? {} : { signal: request.signal }),
|
|
789
914
|
};
|
|
790
915
|
},
|
|
916
|
+
/**
|
|
917
|
+
* Waits for one subscription operation within its finite timeout.
|
|
918
|
+
*
|
|
919
|
+
* @typeParam T The operation result.
|
|
920
|
+
* @param effect The in-flight operation.
|
|
921
|
+
* @param milliseconds Maximum duration in milliseconds.
|
|
922
|
+
* @param controller Controller used to cancel the operation.
|
|
923
|
+
* @returns The operation result before timeout.
|
|
924
|
+
*/
|
|
791
925
|
async withTimeout(effect, milliseconds, controller) {
|
|
792
926
|
if (controller.signal.aborted)
|
|
793
927
|
throw new Error("subscription operation aborted");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subscriptions/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subscriptions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,oCAAoC,EAAE,MAAM,qDAAqD,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAqB,MAAM,2BAA2B,CAAC;AAClG,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,WAAW,GACZ,MAAM,kCAAkC,CAAC;AAW1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAmKvD,MAAM,aAAa,GAAwC;IACzD,eAAe,EAAE,SAAS;IAC1B,uBAAuB,EAAE,SAAS;IAClC,qBAAqB,EAAE,CAAC;IACxB,kBAAkB,EAAE,MAAM;IAC1B,iBAAiB,EAAE,KAAK;CACzB,CAAC;AAsFF;;GAEG;AACH,MAAM,OAAO,4BAA4B;IAC9B,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEvC,OAAO,CAAe;IAEtB,gBAAgB,CAA2B;IAEpD,OAAO,GAAG,KAAK,CAAC;IAEP,OAAO,CAAsC;IAEtD;;;OAGG;IACH,YAAY,OAIX;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,KAAa;QACxB,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS;YACxC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,IAAI,KAAK;gBACnE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,OAAO;YAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAC3F,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO;aACrB,MAAM,CAAC,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC;aACjF,GAAG,CAAC,CAAC,MAAM,EAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YACrB,MAAM,IAAI,cAAc,CAAC,QAAQ,EAAE,sCAAsC,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAGN;QACC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC9F,MAAM,IAAI,GAAG,yBAAyB,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACrF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;gBACrB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBACnC,OAAO,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC;gBACjD,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK,EAAE,UAAU;gBACjB,UAAU,EAAE,IAAI,eAAe,EAAE;gBACjC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;gBACvB,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE;gBAC7B,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,KAAK;gBACf,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,KAMd;QACC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,EAAE,KAAK,KAAK,UAAU;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACrF,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;YACzB,OAAO,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,GAAG,EAAE;gBACjB,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC,CAAC;YACF,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,eAAe;oBAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;gBAC1D,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;gBAC3B,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,KAKZ;QACC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACtD,IAAI,SAAS,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACrD,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC;YAC7B,OAAO,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAIN;QACC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,yBAAyB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5E,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,KAIT;QACC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC3C,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC9F,IACE,OAAO,CAAC,QAAQ;YAChB,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,EACzE,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,OAAgB;QAClC,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,OAAO;YAAE,OAAO;QACnE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,uDAAuD;QACvD,KAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,QAAQ,CAAC,EAAU,EAAE,OAAgB;QACnC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,QAAkC;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,yBAAyB,CAAC,WAAW,CACzC,MAAM,EACN,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAC/B,OAAO,CAAC,UAAU,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAgB,EAAE,QAAkC;QACzE,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;YACjD,YAAY,GAAG,GAAG,EAAE;gBAClB,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC;YACF,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAkB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACpF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe;gBAAE,OAAO;QAC9D,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,OAAgB,EAAE,QAAkC;QAC/D,MAAM,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC;YACtD,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,OAAO,CAAC,UAAU;SAC1B,CAAC,CAAC;QACH,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,OAAO,CAAC,MAAM,CACrB,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,KAAK,CAAC,wDAAwD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAC1F,CAAC;QACJ,CAAC;QACD,0DAA0D;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAC5D,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,EAAU,EAAE,OAAgB;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI;aACzB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;aAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QACtD,qDAAqD;QACrD,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9C,yDAAyD;QACzD,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,OAAsB;QACrC,OAAO,yBAAyB,CAAC,WAAW,CAC1C,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAC9B,IAAI,eAAe,EAAE,CACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EAAU,EAAE,OAAgB;QACrD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,OAAO;YAAE,OAAO;QAC/C,MAAM,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC;YACtD,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,OAAO,CAAC,UAAU;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,yBAAyB,CAAC,WAAW,CACzC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,EACpD,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAC9B,UAAU,CACX,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAI,EAAU,EAAE,SAA2B;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1F,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,IAAI,OAAO,GAAe,GAAG,EAAE,CAAC,SAAS,CAAC;QAC1C,OAAO,CAAC,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC3C,OAAO,GAAG,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC;QACf,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtE,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AA4PD;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACrB,QAAQ,CAA6B;IAErC,OAAO,CAAsC;IAE7C,aAAa,GAAG,IAAI,GAAG,EAAW,CAAC;IAEnC,oBAAoB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAElD,cAAc,GAAG,IAAI,GAAG,EAG9B,CAAC;IAEJ,OAAO,GAAG,KAAK,CAAC;IAEhB;;;OAGG;IACH,YAAY,OAAmC;QAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,OAAmC;QAC9C,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC3F,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,WAAmB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAChD,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE;YACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,oDAAoD;YACpD,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,CACjC,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAmC;QACxD,MAAM,IAAI,GAAG,yBAAyB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc;gBAC5D,OAAO,yBAAyB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,MAAM,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAA2B,EAC3B,OAAmC;QAEnC,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7F,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACzF,MAAM,OAAO,GACX,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI;YACjC,CAAC,CAAC,EAAE,SAAS,EAAE,yBAAyB,CAAC,eAAe,EAAE;YAC1D,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;gBAChC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACxF,MAAM,aAAa,GAAG,yBAAyB,CAAC,MAAM,CACpD,IAAI,EACJ,OAAO,CAAC,IAAI,CAAC,KAAK,EAClB,OAAO,CAAC,SAAS,CAClB,CAAC;QACF,IACE,aAAa,KAAK,SAAS;YAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAElE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,IAA2B,EAC3B,OAAmC,EACnC,MAA0E,EAC1E,OAGC;QAED,MAAM,cAAc,GAAG,yBAAyB,CAAC,MAAM,CACrD,IAAI,EACJ,OAAO,CAAC,IAAI,CAAC,KAAK,EAClB,OAAO,CAAC,SAAS,CAClB,CAAC;QACF,IAAI,cAAc,KAAK,SAAS;YAC9B,OAAO,yBAAyB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,yBAAyB,CAAC,cAAc,CACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC7F,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,WAAW,GACf,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChG,IACE,KAAK,KAAK,SAAS;YACnB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,CAAC;YAClE,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,IAAI,KAAK,CAAC;YACnD,CAAC,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC;YAEpE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtD,OAAO;YACL,MAAM;YACN,OAAO;YACP,WAAW;YACX,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACtC,OAAO,yBAAyB,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAA2B,EAC3B,OAA2C,EAC3C,MAA+B;QAE/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;QACzD,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACzF,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC;QACzC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU;YAC/B,CAAC,CAAC,IAAI,CAAC,SAAS,CACZ,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,OAAO,IAAI,yBAAyB,CAAC,aAAa,EAClD,MAAM,CACP;YACH,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,SAAS,CACb,EAAU,EACV,OAAqB,EACrB,KAAa,EACb,WAA+B,EAC/B,OAA+B,EAC/B,MAA+B;QAE/B,MAAM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC;QACF,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI;YAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACtE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GACV,WAAW,KAAK,SAAS;YACvB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU,CACR,GAAG,EAAE;gBACH,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,CACjC,CAAC;QACR,IAAI,iBAAoC,CAAC;QACzC,IAAI,OAAO,GAA8B,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACnD,EAAE;gBACF,OAAO;gBACP,KAAK;gBACL,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,CACzC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC;aAC3D,CAAC,CAAC;YACH,OAAO;gBACL,MAAM,CAAC,IAAI,KAAK,WAAW;oBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;oBACvB,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc;gBAC5D,OAAO,GAAG,yBAAyB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;;gBAE7D,iBAAiB;oBACf,KAAK,YAAY,KAAK;wBACpB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,IAAI,KAAK,CAAC,+DAA+D,EAAE;4BACzE,KAAK,EAAE,KAAK;yBACb,CAAC,CAAC;QACb,CAAC;gBAAS,CAAC;YACT,IAAI,MAAM,KAAK,SAAS;gBAAE,YAAY,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,cAAiC,CAAC;QACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI;YACrC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc;oBACZ,KAAK,YAAY,KAAK;wBACpB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,IAAI,KAAK,CAAC,4DAA4D,EAAE;4BACtE,KAAK,EAAE,KAAK;yBACb,CAAC,CAAC;YACX,CAAC;QACH,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,cAAc,KAAK,SAAS;gBAC9B,MAAM,IAAI,cAAc,CACtB,CAAC,iBAAiB,EAAE,cAAc,CAAC,EACnC,oCAAoC,CACrC,CAAC;YACJ,MAAM,iBAAiB,CAAC;QAC1B,CAAC;QACD,IAAI,cAAc,KAAK,SAAS;YAAE,MAAM,cAAc,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,OAAqB,EAAE,KAAa;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACrC,yBAAyB,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAChE,CAAC;QACF,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpC,gEAAgE;QAChE,KAAK,OAAO;aACT,OAAO,CAAC,GAAG,EAAE;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;YACrE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;gBACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,EAAU,EACV,OAAqB,EACrB,KAAa;QAEb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACjD,EAAE;gBACF,OAAO;gBACP,KAAK;gBACL,YAAY,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC;aAC1F,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClF,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAC7B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc;gBAC5D,OAAO,yBAAyB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAiB,EACjB,OAAqB,EACrB,WAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE;YAC3D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;SACnE,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC;QAChE,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAClC,EAAE;oBACF,OAAO;oBACP,KAAK,EAAE,KAAK,IAAI,WAAW,IAAI,CAAC;oBAChC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;iBACtC,CAAC,CAAC;gBACH,OAAO,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAChE,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI;gBAAE,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAClF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAClC,EAAE;oBACF,OAAO;oBACP,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,WAAW,IAAI,CAAC;oBACxC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;iBACtC,CAAC,CAAC;gBACH,0DAA0D;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,6DAA6D;YAC/D,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,EAAU,EAAE,OAAqB;QACtD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK;gBAAE,OAAO;YACxD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrC,+DAA+D;YAC/D,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CACrD,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;oBAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACxE,CAAC,EACD,GAAG,EAAE;gBACH,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC,CACF,CAAC;QACJ,CAAC,EAAE,oCAAoC,CAAC,CAAC;QACzC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,mBAAmB,CAAC,EAAU,EAAE,OAAqB;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,mBAAmB,CAAC,EAAU;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAA4B,EAAE,UAA2B;QAC7E,OAAO,yBAAyB,CAAC,WAAW,CAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAC7B,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC,EAC1C,UAAU,CAAC,MAAM,EACjB,IAAI,CAAC,OAAO,CAAC,uBAAuB,CACrC,EACD,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAC/B,UAAU,CACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,IAA4B,EAC5B,UAA2B;QAE3B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAC5F,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAChC,EAAE,IAAI,EAAE,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EACpD,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAkC,EAClC,OAA+B,EAC/B,MAA+B;QAE/B,MAAM,WAAW,GAAG,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAClC;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBACxB,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,UAAU,CAAC,wBAAwB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;wBACnE,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;wBACrE,MAAM,OAAO,CAAC;4BACZ,IAAI,EAAE,qBAAqB;4BAC3B,KAAK,EAAE,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;yBACnD,CAAC,CAAC;oBACL,CAAC;4BAAS,CAAC;wBACT,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;aACF,EACD,MAAM,CACP,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAkC,EAClC,MAA+B;QAE/B,MAAM,WAAW,GAAG,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE,CAAC;IAE9D;;;;;OAKG;IACH,aAAa,CAAC,MAA8B;QAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAA4B;QACrC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IACxD,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,EAAU,EAAE,UAAsB;QAC3C,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE;gBACJ,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,QAAQ,CACb,kBAAkB,EAElB,MAAM,CAAC,kBAAkB,EAAE;oBACzB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;oBACjB,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC;iBAC3C,CAAC,CACH;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IAEH,MAAM,CACJ,IAAyC,EACzC,KAAiB,EACjB,SAAkC;QAElC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAClF,OAAO,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,OAAwD;QACrE,OAAO,MAAM,CAAC,kBAAkB,EAAE;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACrE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,SAAuB,EAAE,OAAqB;QACpD,OAAO,yBAAyB,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,IAAkB,EAAE,KAAmB;QACnD,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,KAAK;YAAE,OAAO,KAAK,CAAC;QAE3D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC7D,OAAO,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,CACL,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAC/F,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,QAA0F,EAC1F,OAAqB;QAErB,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEtE,MAAM,KAAK,GACT,YAAY,CAAC,KAAK,KAAK,SAAS;YAC9B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;YACrB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACnD,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,OAAO,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CACV,OAAmC;QAEnC,IAAI,OAAO,CAAC,OAAO,KAAK,kCAAkC;YAAE,OAAO,SAAS,CAAC;QAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB;YAC9E,OAAO,WAAW,CAAC;QACrB,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB;YAC9E,OAAO,UAAU,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB;YAAE,OAAO,QAAQ,CAAC;QAChG,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,OAAmC;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACvF,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC/C,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS;gBAC/C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAEvD,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACnD,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CACN,MAAmF;QAEnF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,OAAe,EAAE,KAAa;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YAC5B,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YACxB,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,aAAa;YAEtB,OAAO,SAAS,CAAC;QACnB,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAA4C;QACjD,MAAM,KAAK,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CACH,OAAmC,EACnC,KAA0C;QAE1C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,eAAe;YAAE,OAAO,SAAS,CAAC;QAC5E,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE;YAEpE,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;gBAClC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;YACvF,SAAS,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC/D,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CACf,MAAkB,EAClB,YAAoB,EACpB,UAA2B;QAE3B,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACjF,IAAI,MAAe,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBACvB,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACxD,CAAC,EAAE,YAAY,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAChC,OAAO,EACP,GAAG,EAAE;gBACH,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACtD,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|