@indigoai-us/hq-cloud 6.18.16 → 6.18.17
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/dist/bin/sync-runner-company.d.ts.map +1 -1
- package/dist/bin/sync-runner-company.js +9 -1
- package/dist/bin/sync-runner-company.js.map +1 -1
- package/dist/bin/sync-runner-company.test.js +184 -3
- package/dist/bin/sync-runner-company.test.js.map +1 -1
- package/dist/bin/sync-runner.d.ts +8 -0
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +57 -2
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/rescue-core.d.ts.map +1 -1
- package/dist/cli/rescue-core.js +21 -6
- package/dist/cli/rescue-core.js.map +1 -1
- package/dist/cli/rescue-rsync-status.test.js +23 -0
- package/dist/cli/rescue-rsync-status.test.js.map +1 -1
- package/dist/cli/share-plan-limit-presign.test.d.ts +2 -0
- package/dist/cli/share-plan-limit-presign.test.d.ts.map +1 -0
- package/dist/cli/share-plan-limit-presign.test.js +271 -0
- package/dist/cli/share-plan-limit-presign.test.js.map +1 -0
- package/dist/cli/share.d.ts +22 -0
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +151 -25
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/share.test.js +262 -18
- package/dist/cli/share.test.js.map +1 -1
- package/dist/cli/sync.d.ts +38 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +2 -1
- package/dist/cli/sync.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/object-io.d.ts +40 -0
- package/dist/object-io.d.ts.map +1 -1
- package/dist/object-io.js +122 -5
- package/dist/object-io.js.map +1 -1
- package/dist/object-io.test.js +144 -1
- package/dist/object-io.test.js.map +1 -1
- package/dist/plan-limit-pause.d.ts +61 -0
- package/dist/plan-limit-pause.d.ts.map +1 -0
- package/dist/plan-limit-pause.js +252 -0
- package/dist/plan-limit-pause.js.map +1 -0
- package/dist/plan-limit-pause.test.d.ts +2 -0
- package/dist/plan-limit-pause.test.d.ts.map +1 -0
- package/dist/plan-limit-pause.test.js +150 -0
- package/dist/plan-limit-pause.test.js.map +1 -0
- package/dist/plan-limit.d.ts +87 -0
- package/dist/plan-limit.d.ts.map +1 -0
- package/dist/plan-limit.fixtures.d.ts +34 -0
- package/dist/plan-limit.fixtures.d.ts.map +1 -0
- package/dist/plan-limit.fixtures.js +96 -0
- package/dist/plan-limit.fixtures.js.map +1 -0
- package/dist/plan-limit.js +157 -0
- package/dist/plan-limit.js.map +1 -0
- package/dist/plan-limit.test.d.ts +2 -0
- package/dist/plan-limit.test.d.ts.map +1 -0
- package/dist/plan-limit.test.js +132 -0
- package/dist/plan-limit.test.js.map +1 -0
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/mutation-client.d.ts +14 -2
- package/dist/sync/mutation-client.d.ts.map +1 -1
- package/dist/sync/mutation-client.js +34 -2
- package/dist/sync/mutation-client.js.map +1 -1
- package/dist/sync/mutation-client.test.js +49 -0
- package/dist/sync/mutation-client.test.js.map +1 -1
- package/dist/vault-client.d.ts +49 -6
- package/dist/vault-client.d.ts.map +1 -1
- package/dist/vault-client.js +115 -43
- package/dist/vault-client.js.map +1 -1
- package/dist/vault-client.test.js +86 -10
- package/dist/vault-client.test.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -49,7 +49,11 @@ export { PERSONAL_VAULT_DEFAULT_EXCLUSIONS, isPersonalVaultExcluded, matchPerson
|
|
|
49
49
|
// VaultClient SDK (VLT-7)
|
|
50
50
|
export { VaultClient, pickCanonicalPersonEntity } from "./vault-client.js";
|
|
51
51
|
export { POLICY_WRITE_SCOPE_TRUNCATED, VaultCredentialScopeError, } from "./credential-scope-error.js";
|
|
52
|
-
export { VaultClientError, VaultAuthError, VaultPermissionDeniedError, VaultNotFoundError, VaultConflictError, } from "./vault-client.js";
|
|
52
|
+
export { VaultClientError, VaultAuthError, VaultPermissionDeniedError, VaultNotFoundError, VaultConflictError, planLimitRefusalFromError, } from "./vault-client.js";
|
|
53
|
+
// Plan-limit refusals: one parser for every server shape, plus the runner's
|
|
54
|
+
// per-vault pause record (clear it after a plan change to retry at once).
|
|
55
|
+
export { PLAN_LIMIT_CODES, PLAN_LIMIT_REACHED_ERROR, formatPlanLimitNotice, hasPlanLimitMarker, isHttpsUpgradeUrl, parsePlanLimitRefusal, } from "./plan-limit.js";
|
|
56
|
+
export { PLAN_LIMIT_PAUSE_RETRY_MS, clearPlanLimitPauses, } from "./plan-limit-pause.js";
|
|
53
57
|
// Usage telemetry collector (`/v1/usage`). Re-exported so wrappers other than
|
|
54
58
|
// `hq-sync-runner` (mobile, custom CLIs) can run the collector on their own
|
|
55
59
|
// schedule without re-implementing the cursor + sanitizer.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,UAAU,GACX,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/object-io.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ import { ObjectLockChecksumRequiredError } from "./lib/s3-content-checksum.js";
|
|
|
28
28
|
export { ObjectLockChecksumRequiredError };
|
|
29
29
|
import type { EntityContext } from "./types.js";
|
|
30
30
|
import type { PresignOp, PresignKeyInput, PresignResultRow, VaultListedObject } from "./vault-client.js";
|
|
31
|
+
import { type PlanLimitRefusal } from "./plan-limit.js";
|
|
31
32
|
/**
|
|
32
33
|
* Bound for one vault/S3 HTTPS request. Matches FILE_TOMBSTONE reads
|
|
33
34
|
* (`FETCH_TOMBSTONES_TIMEOUT_MS`) and the push-transport default so a stalled
|
|
@@ -38,6 +39,26 @@ export declare const OBJECT_IO_REQUEST_TIMEOUT_MS = 60000;
|
|
|
38
39
|
export declare const OBJECT_IO_BODY_IDLE_TIMEOUT_MS = 15000;
|
|
39
40
|
export declare function objectIORequestTimeoutMs(): number;
|
|
40
41
|
export declare function setObjectIORequestTimeoutMsForTesting(ms: number | undefined): void;
|
|
42
|
+
/** Test-only override for {@link FILES_ADMISSION_TIMEOUT_MS}. */
|
|
43
|
+
export declare function setFilesAdmissionTimeoutMsForTesting(ms: number | undefined): void;
|
|
44
|
+
/**
|
|
45
|
+
* What a files admission check learned about a company vault.
|
|
46
|
+
*
|
|
47
|
+
* - `allowed`: the server would accept an upload now.
|
|
48
|
+
* - `refused`: the company is over its limits; `refusal` is the fresh body.
|
|
49
|
+
* - `unknown`: no answer (no admission route yet, not a company vault,
|
|
50
|
+
* denied, a server error, a network error or a timeout). Callers keep
|
|
51
|
+
* whatever they would have done without the check.
|
|
52
|
+
*/
|
|
53
|
+
export type FilesAdmissionOutcome = {
|
|
54
|
+
state: "allowed";
|
|
55
|
+
} | {
|
|
56
|
+
state: "refused";
|
|
57
|
+
refusal: PlanLimitRefusal;
|
|
58
|
+
} | {
|
|
59
|
+
state: "unknown";
|
|
60
|
+
reason: string;
|
|
61
|
+
};
|
|
41
62
|
export declare function setObjectIOBodyIdleTimeoutMsForTesting(ms: number | undefined): void;
|
|
42
63
|
export declare class ObjectBodyIdleTimeoutError extends Error {
|
|
43
64
|
constructor(key: string, timeoutMs: number);
|
|
@@ -65,6 +86,12 @@ export interface PresignTransportClient {
|
|
|
65
86
|
cursor: string | null;
|
|
66
87
|
truncated: boolean;
|
|
67
88
|
}>;
|
|
89
|
+
/** Files admission check on the presign route (see VaultClient). Optional. */
|
|
90
|
+
checkFilesAdmission?(companyUid: string, options?: {
|
|
91
|
+
timeoutMs?: number;
|
|
92
|
+
}): Promise<{
|
|
93
|
+
allowed: boolean;
|
|
94
|
+
}>;
|
|
68
95
|
}
|
|
69
96
|
/**
|
|
70
97
|
* Conditional-write fence for a PUT (S3 conditional writes, GA 2024-11).
|
|
@@ -183,6 +210,12 @@ export interface ObjectIO {
|
|
|
183
210
|
* uncached, and the per-key call falls back to a single presign.
|
|
184
211
|
*/
|
|
185
212
|
prime?(op: PresignOp, keys: PresignKeyInput[]): Promise<void>;
|
|
213
|
+
/**
|
|
214
|
+
* Ask the vault whether a new upload would be refused by the plan limit,
|
|
215
|
+
* without minting a URL. Present only on the presigned transport; it never
|
|
216
|
+
* throws.
|
|
217
|
+
*/
|
|
218
|
+
checkFilesAdmission?(): Promise<FilesAdmissionOutcome>;
|
|
186
219
|
/**
|
|
187
220
|
* True if a live primed PUT URL exists for `key`. Lets uploadFile/uploadSymlink
|
|
188
221
|
* skip recomputing metadata + the created-at HEAD when a `prime("put", …)`
|
|
@@ -336,6 +369,12 @@ export declare class PresignObjectIO implements ObjectIO {
|
|
|
336
369
|
private readonly breaker;
|
|
337
370
|
private readonly urlCache;
|
|
338
371
|
private readonly headReuseCache;
|
|
372
|
+
/**
|
|
373
|
+
* PUT keys a {@link prime} batch was refused for by the plan limit, with the
|
|
374
|
+
* refusal and its expiry. The per-key upload that follows throws the cached
|
|
375
|
+
* refusal instead of presigning the same key a second time in the pass.
|
|
376
|
+
*/
|
|
377
|
+
private readonly putRefusalCache;
|
|
339
378
|
constructor(vault: PresignTransportClient, companyUid: string, breaker?: RateLimitBreaker);
|
|
340
379
|
private cacheKey;
|
|
341
380
|
hasPrimedPut(key: string, contentHash?: string, precondition?: PutPrecondition | null): boolean;
|
|
@@ -356,6 +395,7 @@ export declare class PresignObjectIO implements ObjectIO {
|
|
|
356
395
|
*/
|
|
357
396
|
private resolveUrl;
|
|
358
397
|
private requireSignedPutPreconditions;
|
|
398
|
+
checkFilesAdmission(): Promise<FilesAdmissionOutcome>;
|
|
359
399
|
prime(op: PresignOp, keys: PresignKeyInput[]): Promise<void>;
|
|
360
400
|
putObject(input: PutObjectInput): Promise<{
|
|
361
401
|
etag: string;
|
package/dist/object-io.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-io.d.ts","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAYH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAIL,+BAA+B,EAChC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,+BAA+B,EAAE,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"object-io.d.ts","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"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"}
|
package/dist/object-io.js
CHANGED
|
@@ -30,7 +30,8 @@ import { isAbortOrTimeoutError, isTransientNetworkError } from "./lib/net-errors
|
|
|
30
30
|
import { headersForObjectLockPut, isObjectLockChecksumRequiredBody, isObjectLockChecksumRequiredError, ObjectLockChecksumRequiredError, } from "./lib/s3-content-checksum.js";
|
|
31
31
|
export { ObjectLockChecksumRequiredError };
|
|
32
32
|
import { getBandwidthGovernor } from "./bandwidth.js";
|
|
33
|
-
import { VaultClientError } from "./vault-client.js";
|
|
33
|
+
import { planLimitRefusalFromError, VaultClientError } from "./vault-client.js";
|
|
34
|
+
import { parsePlanLimitRefusal } from "./plan-limit.js";
|
|
34
35
|
/**
|
|
35
36
|
* Bound for one vault/S3 HTTPS request. Matches FILE_TOMBSTONE reads
|
|
36
37
|
* (`FETCH_TOMBSTONES_TIMEOUT_MS`) and the push-transport default so a stalled
|
|
@@ -47,6 +48,13 @@ export function objectIORequestTimeoutMs() {
|
|
|
47
48
|
export function setObjectIORequestTimeoutMsForTesting(ms) {
|
|
48
49
|
objectIORequestTimeoutMsForTest = ms;
|
|
49
50
|
}
|
|
51
|
+
/** Upper bound on one files admission check, network and auth included. */
|
|
52
|
+
const FILES_ADMISSION_TIMEOUT_MS = 5_000;
|
|
53
|
+
let filesAdmissionTimeoutMsForTest;
|
|
54
|
+
/** Test-only override for {@link FILES_ADMISSION_TIMEOUT_MS}. */
|
|
55
|
+
export function setFilesAdmissionTimeoutMsForTesting(ms) {
|
|
56
|
+
filesAdmissionTimeoutMsForTest = ms;
|
|
57
|
+
}
|
|
50
58
|
export function setObjectIOBodyIdleTimeoutMsForTesting(ms) {
|
|
51
59
|
objectIOBodyIdleTimeoutMsForTest = ms;
|
|
52
60
|
}
|
|
@@ -629,15 +637,40 @@ function isSkipWithLogDenialCode(code) {
|
|
|
629
637
|
return (typeof code === "string" &&
|
|
630
638
|
(code.endsWith("_FORBIDDEN") || SKIP_WITH_LOG_DENIAL_CODES.has(code)));
|
|
631
639
|
}
|
|
640
|
+
/**
|
|
641
|
+
* The plan-limit refusal a per-key presign row carries, or null. Rows use the
|
|
642
|
+
* personal-scope skip shape (`code: "PLAN_LIMIT_REACHED"`) or the per-item
|
|
643
|
+
* company shape (`error: "plan_limit_reached"` / `code: "PLAN_LIMIT_EXCEEDED"`);
|
|
644
|
+
* both carry the server's `upgradeUrl`.
|
|
645
|
+
*/
|
|
646
|
+
function planLimitRefusalFromRow(row) {
|
|
647
|
+
if (!row.error && row.url)
|
|
648
|
+
return null;
|
|
649
|
+
return parsePlanLimitRefusal(row);
|
|
650
|
+
}
|
|
651
|
+
/**
|
|
652
|
+
* The typed error a refused PUT presign throws: a 402 {@link VaultClientError}
|
|
653
|
+
* carrying the parsed refusal, so share()'s plan-limit skip recognises it the
|
|
654
|
+
* same way it recognises a whole-batch 402.
|
|
655
|
+
*/
|
|
656
|
+
function planLimitPresignError(key, refusal) {
|
|
657
|
+
return new VaultClientError(refusal.message ?? "Plan limit reached", 402, undefined, {
|
|
658
|
+
...(refusal.code !== undefined ? { code: refusal.code } : {}),
|
|
659
|
+
...(refusal.error !== undefined ? { errorCode: refusal.error } : {}),
|
|
660
|
+
path: key,
|
|
661
|
+
upgradeUrl: refusal.upgradeUrl,
|
|
662
|
+
planLimit: refusal,
|
|
663
|
+
});
|
|
664
|
+
}
|
|
632
665
|
function firstRowOrThrow(results, key, op) {
|
|
633
666
|
const row = results[0];
|
|
634
667
|
if (!row) {
|
|
635
668
|
throw new Error(`presign ${op} returned no row for ${key}`);
|
|
636
669
|
}
|
|
637
670
|
if (row.error || !row.url) {
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
671
|
+
const refusal = planLimitRefusalFromRow(row);
|
|
672
|
+
if (refusal)
|
|
673
|
+
throw planLimitPresignError(key, refusal);
|
|
641
674
|
// An expected per-key denial (see {@link isSkipWithLogDenialCode}) must
|
|
642
675
|
// throw the SAME `name: "Forbidden"` shape the GET/HEAD path uses so it
|
|
643
676
|
// routes through the `isAccessDenied` skip in sync.ts / share.ts. Without
|
|
@@ -734,6 +767,12 @@ const PRIME_EXPIRES_IN_SECONDS = 1800;
|
|
|
734
767
|
const PRIME_CONCURRENCY = 4;
|
|
735
768
|
/** Treat a cached URL within this window of expiry as a miss (re-presign). */
|
|
736
769
|
const CACHE_SAFETY_MS = 60_000;
|
|
770
|
+
/**
|
|
771
|
+
* How long a primed PUT refusal (plan limit) answers the per-key upload that
|
|
772
|
+
* follows it. It only has to span one push pass; after that the server is
|
|
773
|
+
* asked again, so a plan change is never masked for long.
|
|
774
|
+
*/
|
|
775
|
+
const PRIME_REFUSAL_TTL_MS = 10 * 60 * 1000;
|
|
737
776
|
/**
|
|
738
777
|
* Opt-in gate for strict fail-closed enforcement of fenced presigned PUTs.
|
|
739
778
|
*
|
|
@@ -842,6 +881,12 @@ export class PresignObjectIO {
|
|
|
842
881
|
breaker;
|
|
843
882
|
urlCache = new Map();
|
|
844
883
|
headReuseCache = new Map();
|
|
884
|
+
/**
|
|
885
|
+
* PUT keys a {@link prime} batch was refused for by the plan limit, with the
|
|
886
|
+
* refusal and its expiry. The per-key upload that follows throws the cached
|
|
887
|
+
* refusal instead of presigning the same key a second time in the pass.
|
|
888
|
+
*/
|
|
889
|
+
putRefusalCache = new Map();
|
|
845
890
|
constructor(vault, companyUid,
|
|
846
891
|
// Shared across a run's per-company instances by the factory; a directly
|
|
847
892
|
// constructed instance gets its own (fine for tests / one-offs).
|
|
@@ -962,6 +1007,15 @@ export class PresignObjectIO {
|
|
|
962
1007
|
: undefined;
|
|
963
1008
|
if (hit)
|
|
964
1009
|
return { url: hit.url, headers: hit.headers };
|
|
1010
|
+
if (op === "put") {
|
|
1011
|
+
const refused = this.putRefusalCache.get(key);
|
|
1012
|
+
if (refused) {
|
|
1013
|
+
this.putRefusalCache.delete(key);
|
|
1014
|
+
if (Date.now() < refused.expiresAtMs) {
|
|
1015
|
+
throw planLimitPresignError(key, refused.refusal);
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
965
1019
|
// Primed URLs still serve once the breaker trips (no wire needed); only an
|
|
966
1020
|
// uncached key on an exhausted budget fails fast.
|
|
967
1021
|
return this.presignSingle(op, key, extra);
|
|
@@ -984,6 +1038,50 @@ export class PresignObjectIO {
|
|
|
984
1038
|
}
|
|
985
1039
|
}
|
|
986
1040
|
}
|
|
1041
|
+
async checkFilesAdmission() {
|
|
1042
|
+
if (!this.companyUid.startsWith("cmp_")) {
|
|
1043
|
+
return { state: "unknown", reason: "not-a-company-vault" };
|
|
1044
|
+
}
|
|
1045
|
+
const check = this.vault.checkFilesAdmission;
|
|
1046
|
+
if (typeof check !== "function") {
|
|
1047
|
+
return { state: "unknown", reason: "client-has-no-admission-check" };
|
|
1048
|
+
}
|
|
1049
|
+
// The check shares the per-user presign budget. Once that is spent, do
|
|
1050
|
+
// not add to it; the caller keeps its hourly retry.
|
|
1051
|
+
if (this.breaker.isTripped())
|
|
1052
|
+
return { state: "unknown", reason: "rate-limited" };
|
|
1053
|
+
const timeoutMs = filesAdmissionTimeoutMsForTest ?? FILES_ADMISSION_TIMEOUT_MS;
|
|
1054
|
+
let timer;
|
|
1055
|
+
const timedOut = new Promise((resolve) => {
|
|
1056
|
+
timer = setTimeout(() => resolve({ state: "unknown", reason: "timeout" }), timeoutMs);
|
|
1057
|
+
timer.unref?.();
|
|
1058
|
+
});
|
|
1059
|
+
const asked = (async () => {
|
|
1060
|
+
try {
|
|
1061
|
+
const answer = await check.call(this.vault, this.companyUid, { timeoutMs });
|
|
1062
|
+
return answer.allowed === true
|
|
1063
|
+
? { state: "allowed" }
|
|
1064
|
+
: { state: "unknown", reason: "not-allowed-without-refusal" };
|
|
1065
|
+
}
|
|
1066
|
+
catch (err) {
|
|
1067
|
+
const refusal = planLimitRefusalFromError(err);
|
|
1068
|
+
if (refusal)
|
|
1069
|
+
return { state: "refused", refusal };
|
|
1070
|
+
const status = err instanceof VaultClientError ? err.statusCode : undefined;
|
|
1071
|
+
return {
|
|
1072
|
+
state: "unknown",
|
|
1073
|
+
reason: status !== undefined ? `http-${status}` : "request-failed",
|
|
1074
|
+
};
|
|
1075
|
+
}
|
|
1076
|
+
})();
|
|
1077
|
+
try {
|
|
1078
|
+
return await Promise.race([asked, timedOut]);
|
|
1079
|
+
}
|
|
1080
|
+
finally {
|
|
1081
|
+
if (timer !== undefined)
|
|
1082
|
+
clearTimeout(timer);
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
987
1085
|
async prime(op, keys) {
|
|
988
1086
|
if (keys.length === 0)
|
|
989
1087
|
return;
|
|
@@ -1024,6 +1122,16 @@ export class PresignObjectIO {
|
|
|
1024
1122
|
this.breaker.trip();
|
|
1025
1123
|
return;
|
|
1026
1124
|
}
|
|
1125
|
+
// A whole-batch plan-limit 402 refuses every PUT in the chunk.
|
|
1126
|
+
// Remember it per key so each upload reports the refusal without
|
|
1127
|
+
// presigning the key again in the same pass.
|
|
1128
|
+
const refusal = op === "put" ? planLimitRefusalFromError(err) : null;
|
|
1129
|
+
if (refusal) {
|
|
1130
|
+
const expiresAtMs = Date.now() + PRIME_REFUSAL_TTL_MS;
|
|
1131
|
+
for (const k of chunk) {
|
|
1132
|
+
this.putRefusalCache.set(k.key, { refusal, expiresAtMs });
|
|
1133
|
+
}
|
|
1134
|
+
}
|
|
1027
1135
|
// A non-429 chunk failure just means those keys aren't cached — the
|
|
1028
1136
|
// per-key call will single-presign. Never let priming fail the sync.
|
|
1029
1137
|
continue;
|
|
@@ -1038,8 +1146,17 @@ export class PresignObjectIO {
|
|
|
1038
1146
|
},
|
|
1039
1147
|
]));
|
|
1040
1148
|
for (const row of resp.results) {
|
|
1041
|
-
if (row.error || !row.url)
|
|
1149
|
+
if (row.error || !row.url) {
|
|
1150
|
+
const refusal = op === "put" ? planLimitRefusalFromRow(row) : null;
|
|
1151
|
+
if (refusal) {
|
|
1152
|
+
this.putRefusalCache.set(row.key, {
|
|
1153
|
+
refusal,
|
|
1154
|
+
expiresAtMs: now + PRIME_REFUSAL_TTL_MS,
|
|
1155
|
+
});
|
|
1156
|
+
}
|
|
1042
1157
|
continue;
|
|
1158
|
+
}
|
|
1159
|
+
this.putRefusalCache.delete(row.key);
|
|
1043
1160
|
const fence = putFences.get(row.key);
|
|
1044
1161
|
this.urlCache.set(this.cacheKey(op, row.key), {
|
|
1045
1162
|
url: row.url,
|
package/dist/object-io.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-io.js","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"object-io.js","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,+BAA+B,EAAE,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAQtD,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAyB,MAAM,iBAAiB,CAAC;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,sEAAsE;AACtE,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAErD,IAAI,+BAAmD,CAAC;AACxD,IAAI,gCAAoD,CAAC;AAEzD,MAAM,UAAU,wBAAwB;IACtC,OAAO,+BAA+B,IAAI,4BAA4B,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,EAAsB;IAC1E,+BAA+B,GAAG,EAAE,CAAC;AACvC,CAAC;AAED,2EAA2E;AAC3E,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,IAAI,8BAAkD,CAAC;AAEvD,iEAAiE;AACjE,MAAM,UAAU,oCAAoC,CAAC,EAAsB;IACzE,8BAA8B,GAAG,EAAE,CAAC;AACtC,CAAC;AAgBD,MAAM,UAAU,sCAAsC,CAAC,EAAsB;IAC3E,gCAAgC,GAAG,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO,gCAAgC,IAAI,8BAA8B,CAAC;AAC5E,CAAC;AAED,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,YAAY,GAAW,EAAE,SAAiB;QACxC,KAAK,CAAC,oCAAoC,SAAS,QAAQ,GAAG,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,yBAAyB,CAC9C,IAA+B,EAC/B,GAAW,EACX,SAAS,GAAG,yBAAyB,EAAE,EACvC,SAAuD;IAEvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,CAAC;YACH,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,KAAgD,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAC9B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;oBACtC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBACtB,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;wBAC7D,IAAI,CAAC;4BACH,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC;wBAAC,MAAM,CAAC;4BACP,mEAAmE;wBACrE,CAAC;wBACD,KAAK,EAAE,CAAC;wBACR,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC,EAAE,SAAS,CAAC,CAAC;gBAChB,CAAC,CAAC;aACH,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACd,IAAI,KAAK,KAAK,SAAS;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,QAAQ;YAAE,KAAK,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa,EAAE,KAAY;IACnD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO;IAC9C,MAAM,MAAM,GAAG,IAGd,CAAC;IACF,IAAI,CAAC;QACH,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/C,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,WAAW,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;AACzD,CAAC;AAmGD;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAA0B;IAE1B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC;IAC7B,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC;YAC3E,mBAAmB,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,IAAI,mBAAmB,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAE3C,MAAM,wBAAwB,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,mBAAmB,GAAG,CAAC,CAAC,CAAC;IAClF,OAAO,wBAAwB,GAAG,CAAC;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AA6ED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,SAAS,WAAW,CAAC,IAAwB;IAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAA2C;IAE3C,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AA2BD,MAAM,mCAAmC,GAAG,IAAI,GAAG,CAAC;IAClD,cAAc;IACd,uBAAuB;IACvB,sBAAsB;IACtB,sBAAsB;IACtB,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAS,4BAA4B,CAAC,GAAY;IAChD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAChC,IAAI,OAAO,GAAY,GAAG,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,SAAS,GAAG,OAKjB,CAAC;QACF,IACE,CAAC,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;YACjC,mCAAmC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;gBACjC,mCAAmC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAC1D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YAClC,IACE,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC3C,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC;gBACpD,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACpC,6EAA6E,CAAC,IAAI,CAChF,OAAO,CACR;gBACD,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,EACzC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,aAAa;IAChB,MAAM,CAAW;IACR,MAAM,CAAS;IACf,MAAM,CAAS;IACf,cAAc,CAAkB;IAChC,YAAY,CAAkB;IACvC,gBAAgB,GAAG,CAAC,CAAC;IACrB,eAAe,GAAyB,IAAI,CAAC;IAErD;;;;;OAKG;IACH,YACE,GAAkB,EAClB,OAA6C;QAE7C,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc;YACjB,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7D,IAAI,CAAC,YAAY;YACf,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAEO,iBAAiB,CAAC,GAAkB;QAG1C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,mEAAmE;YACnE,uEAAuE;YACvE,yEAAyE;YACzE,sEAAsE;YACtE,2DAA2D;YAC3D,MAAM,IAAI,KAAK,CACb,gEAAgE;gBAC9D,eAAe,GAAG,CAAC,GAAG,sCAAsC;gBAC5D,mDAAmD,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,GAAkB;QACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC5B,oEAAoE;QACpE,sEAAsE;QACtE,oEAAoE;QACpE,wEAAwE;QACxE,yEAAyE;QACzE,qDAAqD;QACrD,EAAE;QACF,0EAA0E;QAC1E,0EAA0E;QAC1E,2CAA2C;QAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC;QAChC,OAAO,IAAI,QAAQ,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,cAAc;gBAC9B,CAAC,CAAC,KAAK,IAAI,EAAE;oBACT,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAe,EAAE,CAAC;oBAC1C,IAAI,CAAC;wBACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;oBAAC,MAAM,CAAC;wBACP,8DAA8D;wBAC9D,gEAAgE;wBAChE,wCAAwC;wBACxC,MAAM,IAAI,KAAK,CACb,2BAA2B,GAAG,CAAC,GAAG,8BAA8B;4BAC9D,kEAAkE;4BAClE,kCAAkC,CACrC,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW;wBACzC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe;wBACjD,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY;wBAC3C,6DAA6D;wBAC7D,iEAAiE;wBACjE,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;qBACrC,CAAC;gBACJ,CAAC;gBACH,CAAC,CAAC;oBACE,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;iBACpC;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,yBAAyB,CAAC,UAAkB;QACxD,IAAI,UAAU,KAAK,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACjD,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAa,EAAE,CAAC;gBACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,IAAgE;QAEhE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YACxE,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAqB;QACnC,IAAI,KAAK,CAAC,uBAAuB;YAAE,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,oBAAoB,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,CACnD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAClC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,KAAqB;QAErB,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;QACxC,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACnC,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CACtE,MAAM,CAAC,IAAI,CACT,IAAI,gBAAgB,CAAC;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,iBAAiB,EAAE,QAAQ;gBAC3B,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC1D,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;oBAC9B,CAAC,CAAC,EAAE,CAAC;gBACP,sEAAsE;gBACtE,qEAAqE;gBACrE,qEAAqE;gBACrE,oEAAoE;gBACpE,qBAAqB;gBACrB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAC,EACF,EAAE,WAAW,EAAE,CAChB,CACF,CAAC;YACF,MAAM,GAAG,GAAG,KAAK,CAAC,uBAAuB;gBACvC,CAAC,CAAC,MAAM,IAAI,EAAE;gBACd,CAAC,CAAC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACnE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,+BAA+B,CACvC,KAAK,CAAC,GAAG,EACT,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAW,EACX,UAAiC,EAAE;QAEnC,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,uBAAuB;YAC7C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACjF,IAAI,gBAAgB,CAAC;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,GAAG;gBACR,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;oBAClC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,OAAO,CAAC,UAAU,GAAG,EAAE;oBAC3C,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,EACF,EAAE,WAAW,EAAE,CAChB,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAiC,CAAC;YACtD,MAAM,YAAY,GAAG,OAAO,CAAC,uBAAuB;gBAClD,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,aAAa,GAAG,yBAAyB,CAC7C,YAAY,EACZ,GAAG,EACH,yBAAyB,EAAE,EAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAC7C,CAAC;YACF,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,uBAAuB;oBACnC,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC;gBAC/C,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,cAAc;gBACzC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC1E,OAAO,EAAE,EAAE,CAAC;gBACd,CAAC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,EAAE,CAAC;YACZ,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAW,EACX,UAAiC,EAAE;QAEnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAuB;QACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACjF,IAAI,oBAAoB,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;SAC3C,CAAC,EACF,EAAE,WAAW,EAAE,CAChB,CAAC,CAAC;QACH,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,GAAG;gBAAE,SAAS;YACvB,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC;gBACnB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE;gBAC5C,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;gBACpB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,UAAU;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,OAAO;YACP,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;SACjD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACrE,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAC1D,EAAE,WAAW,EAAE,CAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACjF,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EACxD,EAAE,WAAW,EAAE,CAChB,CAAC,CAAC;YACH,OAAO;gBACL,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE;gBAC5C,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;gBACpB,IAAI,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC;gBAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,UAAU;aAC7C,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IACE,GAAG;gBACH,OAAO,GAAG,KAAK,QAAQ;gBACvB,MAAM,IAAI,GAAG;gBACZ,GAAyB,CAAC,IAAI,KAAK,UAAU,EAC9C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAsBD,SAAS,eAAe,CAAC,OAAmC;IAC1D,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,MAAc;IAC1D,OAAO,MAAM,CAAC,MAAM,CAClB,IAAI,KAAK,CACP,mDAAmD,QAAQ,oBAAoB,MAAM,EAAE,CACxF,EACD,EAAE,IAAI,EAAE,2BAA2B,EAAE,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,OAAwB,EACxB,QAA4B;IAE5B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC;QACzB,SAAS,EAAE,CAAC,KAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;YAChD,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC;YAC7B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;gBAClD,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;YAClB,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACpD,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,QAAQ,EAAE,CAAC;QACb,CAAC;KACF,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9B,IAAI,CAAC,OAAO,CACV,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ;YAC7C,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACxC,CAAC,CAAC,KAAK,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;QAC3B,IAAI,CAAC,OAAO,CACV,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ;YAC7C,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACxC,CAAC,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAC5C,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,uEAAuE;IACvE,4EAA4E;IAC5E,yEAAyE;IACzE,yEAAyE;IACzE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAEzD,SAAS,gBAAgB,CACvB,GAAW,EACX,OAA2C;IAE3C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,cAAc,GAAG,CAAC,OAAwB,EAAQ,EAAE;YACxD,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzD,IAAI,QAA4B,CAAC;YACjC,IAAI,CAAC;gBACH,QAAQ,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAChD,OAAO,CAAC;gBACN,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;gBAC/B,OAAO,EAAE,eAAe;gBACxB,IAAI;gBACJ,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,OAAO,GACX,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC;YACnE,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO;gBAC3B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC;gBAClE,CAAC,CAAC,SAAS,CAAC;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CACJ,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,QAAQ,EAAE,CAAC,CACpE,CAAC;YACF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE;YAClD,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CACJ,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,YAAY,CAAC,EAAE;gBACvD,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,WAAW;aAClB,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,4BAA4B,GAA0B;IAC1D,GAAG,EAAE,gBAAgB;CACtB,CAAC;AAEF,IAAI,qBAAqB,GAA0B,4BAA4B,CAAC;AAEhF,gFAAgF;AAChF,MAAM,UAAU,kCAAkC,CAChD,SAAuC;IAEvC,qBAAqB,GAAG,SAAS,IAAI,4BAA4B,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IAC9D,2CAA2C;CAC5C,CAAC,CAAC;AAEH,SAAS,uBAAuB,CAAC,IAAa;IAC5C,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,GAAqB;IACpD,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,GAAW,EACX,OAAyB;IAEzB,OAAO,IAAI,gBAAgB,CACzB,OAAO,CAAC,OAAO,IAAI,oBAAoB,EACvC,GAAG,EACH,SAAS,EACT;QACE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI,EAAE,GAAG;QACT,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO;KACnB,CACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,OAA2B,EAC3B,GAAW,EACX,EAAU;IAEV,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,wBAAwB,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,OAAO;YAAE,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvD,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,6EAA6E;QAC7E,sEAAsE;QACtE,4EAA4E;QAC5E,sEAAsE;QACtE,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,2BAA2B;QAC3B,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,0EAA0E;YAC1E,2EAA2E;YAC3E,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,GAAG,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC;YAC1E,MAAM,iBAAiB,CACrB,GAAG,EACH,MAAM,EAAE,eAAe,GAAG,aAAa,EAAE,YAAY,GAAG,CAAC,IAAI,GAAG,CACjE,CAAC;QACJ,CAAC;QACD,qEAAqE;QACrE,sEAAsE;QACtE,gEAAgE;QAChE,6EAA6E;QAC7E,oEAAoE;QACpE,qEAAqE;QACrE,+DAA+D;QAC/D,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;YAC3D,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,IAAI,KAAK,CACb,WAAW,EAAE,eAAe,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,QAAQ,GACvD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAChC,EAAE,CACH,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,MAAc;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,GAAG,KAAK,MAAM,EAAE,CAAC,EAAE;QACrE,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,GAAW,EAAE,MAAc;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,GAAG,KAAK,MAAM,EAAE,CAAC,EAAE;QAC3E,IAAI,EAAE,oBAAoB;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,8EAA8E;AAC9E,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AAEtE,SAAS,2BAA2B;IAClC,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,KAAK,MAAM,CAAC;AAC9D,CAAC;AAYD;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAE9B;IACA;IAFX,YACW,GAAW,EACX,EAAa,EACtB,OAA6B;QAE7B,KAAK,CAAC,2BAA2B,EAAE,IAAI,GAAG,wBAAwB,CAAC,CAAC;QAJ3D,QAAG,GAAH,GAAG,CAAQ;QACX,OAAE,GAAF,EAAE,CAAW;QAItB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,IAA4B,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAI7C;IACA;IAJF,SAAS,GAAG,IAAI,CAAC;IAE1B,YACW,GAAW,EACX,MAAoC;QAE7C,KAAK,CAAC,qBAAqB,GAAG,qBAAqB,MAAM,eAAe,CAAC,CAAC;QAHjE,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAA8B;QAG7C,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AACpD,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AAE7D,SAAS,0BAA0B,CACjC,QAAiC;IAEjC,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gBAAgB;IACnB,OAAO,GAAG,KAAK,CAAC;IACxB,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AAED,uEAAuE;AACvE,SAAS,WAAW,CAAC,GAAY;IAC/B,OAAO,GAAG,YAAY,gBAAgB,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAe;IAcP;IACA;IAGA;IAjBF,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IACzC,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;IAChE;;;;OAIG;IACc,eAAe,GAAG,IAAI,GAAG,EAGvC,CAAC;IAEJ,YACmB,KAA6B,EAC7B,UAAkB;IACnC,yEAAyE;IACzE,iEAAiE;IAChD,UAA4B,IAAI,gBAAgB,EAAE;QAJlD,UAAK,GAAL,KAAK,CAAwB;QAC7B,eAAU,GAAV,UAAU,CAAQ;QAGlB,YAAO,GAAP,OAAO,CAA2C;IAClE,CAAC;IAEI,QAAQ,CAAC,EAAa,EAAE,GAAW;QACzC,OAAO,GAAG,EAAE,SAAS,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY,CACV,GAAW,EACX,WAAoB,EACpB,YAAqC;QAErC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,GAAG,KAAK,SAAS;YACtB,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,WAAW,CAAC;YAC9D,CAAC,YAAY,KAAK,SAAS,IAAI,CAC7B,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC;gBAClD,GAAG,CAAC,WAAW,KAAK,YAAY,EAAE,WAAW,CAC9C,CAAC,CAAC;IACP,CAAC;IAED,iEAAiE;IACzD,UAAU,CAAC,EAAa,EAAE,GAAW;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,WAAW,GAAG,eAAe,EAAE,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wEAAwE;IAChE,aAAa,CAAC,EAAa,EAAE,GAAW;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,GAAG;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,aAAa,CAAC,GAAW;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,WAAW,GAAG,eAAe,EAAE,CAAC;YACpD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,gBAAgB,CAAC,GAAW;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG;YAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,EAAa,EACb,GAAW,EACX,KAMC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,QAAQ,GACZ,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACtC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,EAAE;gBACF,IAAI,EAAE;oBACJ;wBACE,GAAG;wBACH,EAAE;wBACF,GAAG,KAAK;wBACR,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAClD;iBACF;aACF,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,GAAW;QAEX,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,yEAAyE;IACjE,kBAAkB,CAAC,GAAW;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,UAAU,CACtB,EAAa,EACb,GAAW,EACX,KAMC;QAED,MAAM,WAAW,GACf,EAAE,KAAK,KAAK;YACZ,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,IAAI,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,CAAC,WAAW,IAAI,CACnC,MAAM,EAAE,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;YAC/C,MAAM,EAAE,WAAW,KAAK,KAAK,EAAE,WAAW,CAC3C,CAAC;QACF,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,oBAAoB,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,uBAAuB,CAAC,CAAC;QACxE,MAAM,GAAG,GACP,MAAM,KAAK,SAAS;YACpB,YAAY;YACZ,CAAC,EAAE,KAAK,KAAK;gBACX,oBAAoB,KAAK,SAAS;gBAClC,MAAM,CAAC,WAAW,KAAK,oBAAoB,CAAC;YAC5C,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,GAAG;YAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACvD,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;oBACrC,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QACD,2EAA2E;QAC3E,kDAAkD;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEO,6BAA6B,CACnC,GAAW,EACX,KAAsB,EACtB,OAA2C;QAE3C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1D,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,+BAA+B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACjD,IAAI,MAAM,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;gBACjC,MAAM,IAAI,+BAA+B,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAC7D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;QACvE,CAAC;QACD,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAClF,MAAM,SAAS,GAAG,8BAA8B,IAAI,0BAA0B,CAAC;QAC/E,IAAI,KAAgD,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE;YAC9D,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EACtD,SAAS,CACV,CAAC;YACF,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,KAAK,IAAoC,EAAE;YACxD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5E,OAAO,MAAM,CAAC,OAAO,KAAK,IAAI;oBAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;oBACtB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,OAAO;oBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,GAAG,YAAY,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5E,OAAO;oBACL,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB;iBACnE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAa,EAAE,IAAuB;QAChD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;YACvC,OAAO,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC5B,iEAAiE;gBACjE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;oBAAE,OAAO;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7B,IAAI,IAAI,CAAC;gBACT,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;wBAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,EAAE;wBACF,SAAS,EAAE,wBAAwB;wBACnC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BACpB,MAAM,QAAQ,GACZ,EAAE,KAAK,KAAK;gCACV,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,QAAQ,CAAC;gCACxC,CAAC,CAAC,SAAS,CAAC;4BAChB,OAAO;gCACL,GAAG,CAAC;gCACJ,EAAE;gCACF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAClD,CAAC;wBACJ,CAAC,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrB,iEAAiE;wBACjE,iEAAiE;wBACjE,kEAAkE;wBAClE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACpB,OAAO;oBACT,CAAC;oBACD,+DAA+D;oBAC/D,iEAAiE;oBACjE,6CAA6C;oBAC7C,MAAM,OAAO,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrE,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;wBACtD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;4BACtB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;oBACD,oEAAoE;oBACpE,qEAAqE;oBACrE,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,CACvE,CAAC;gBACF,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;oBACjB,GAAG,CAAC,GAAG;oBACP;wBACE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;wBACjC,WAAW,EAAE,GAAG,CAAC,WAAW;qBAC7B;iBACF,CAAC,CACH,CAAC;gBACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC/B,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;wBAC1B,MAAM,OAAO,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACnE,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;gCAChC,OAAO;gCACP,WAAW,EAAE,GAAG,GAAG,oBAAoB;6BACxC,CAAC,CAAC;wBACL,CAAC;wBACD,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACrC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;wBAC5C,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;4BAC1D,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;4BAC7C,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjF,WAAW,EACT,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,wBAAwB,CAAC,GAAG,IAAI;qBAC3D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CACR,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACtD,MAAM,CACP,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAqB;QACnC,sEAAsE;QACtE,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE;YAClD,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC1D,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;gBAC9B,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,2BAA2B,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,KAAK,IAA+B,EAAE;YACvD,yEAAyE;YACzE,uEAAuE;YACvE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;gBACnC,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,IAA+B,EAAE;gBACjD,0EAA0E;gBAC1E,0EAA0E;gBAC1E,4BAA4B;gBAC5B,MAAM,GAAG,GAAG,MAAM,cAAc,CAC9B,GAAG,CAAC,GAAG,EACP;oBACE,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;iBACnE,EACD,iBAAiB,KAAK,CAAC,GAAG,EAAE,CAC7B,CAAC;gBACF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,kEAAkE;oBAClE,+DAA+D;oBAC/D,qEAAqE;oBACrE,iEAAiE;oBACjE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnC,MAAM,uBAAuB,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnC,IAAI,gCAAgC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;wBACzD,MAAM,IAAI,+BAA+B,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC/D,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CACjE,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC;YACrE,CAAC,CAAC;YACF,OAAO,KAAK,CAAC,uBAAuB;gBAClC,CAAC,CAAC,IAAI,EAAE;gBACR,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC;QACF,OAAO,KAAK,CAAC,uBAAuB;YAClC,CAAC,CAAC,UAAU,EAAE;YACd,CAAC,CAAC,oBAAoB,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,eAAe,CACnB,GAAW,EACX,UAAiC,EAAE;QAEnC,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,uBAAuB;YAC7C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAC1C,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC;YACL,IAAI,SAAkB,CAAC;YACvB,0EAA0E;YAC1E,yEAAyE;YACzE,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC9D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,OAAO,GAAG,mBAAmB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,CAAC;oBAC/D,MAAM,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;gBAChC,CAAC;gBAED,wEAAwE;gBACxE,yDAAyD;gBACzD,IAAI,GAAsD,CAAC;gBAC3D,IAAI,aAAa,EAAE,CAAC;oBAClB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAC7B,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,GAAG,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC;gBACD,aAAa,GAAG,KAAK,CAAC;gBAEtB,IAAI,GAAyB,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;oBAClD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;wBACrC,cAAc,CAAC,KAAK,GAAG,SAAS,OAAO,CAAC,UAAU,GAAG,CAAC;oBACxD,CAAC;oBACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC1D,CAAC;oBACD,GAAG,GAAG,MAAM,qBAAqB,CAC/B,GAAG,CAAC,GAAG,EACP,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EACnE,iBAAiB,GAAG,EAAE,CACvB,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,oEAAoE;oBACpE,qEAAqE;oBACrE,iDAAiD;oBACjD,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,iBAAiB,EAAE,CAAC;wBACrE,SAAS,GAAG,GAAG,CAAC;wBAChB,aAAa,GAAG,IAAI,CAAC;wBACrB,SAAS;oBACX,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBAC/C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAC7B,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,iBAAiB,EAAE,CAAC;wBAClE,SAAS,GAAG,IAAI,KAAK,CACnB,6BAA6B,GAAG,SAAS,MAAM,EAAE,CAClD,CAAC;wBACF,aAAa,GAAG,IAAI,CAAC;wBACrB,SAAS;oBACX,CAAC;oBACD,mEAAmE;oBACnE,kDAAkD;oBAClD,MAAM,iBAAiB,CAAC,GAAG,EAAE,MAAM,IAAI,4BAA4B,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC7C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBAC/C,MAAM,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBAC1C,sEAAsE;oBACtE,oEAAoE;oBACpE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBAC/C,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,KAAK,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAC3D,CAAC;gBACJ,CAAC;gBAED,kEAAkE;gBAClE,wEAAwE;gBACxE,2CAA2C;gBAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,MAAK,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM,YAAY,GAAG,OAAO,CAAC,uBAAuB;oBAClD,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,aAAa,GAAG,yBAAyB,CAC7C,YAAY,EACZ,GAAG,EACH,yBAAyB,EAAE,EAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAC9B,CAAC;gBACF,MAAM,MAAM,GAA0B;oBACpC,IAAI,EAAE,OAAO,CAAC,uBAAuB;wBACnC,CAAC,CAAC,aAAa;wBACf,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC;oBAC/C,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;oBACtC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS;oBAC1C,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS;oBAC3D,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC;oBACjD,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS;oBAC3D,UAAU,EAAE,GAAG,CAAC,MAAM;oBACtB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACjB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACnB,OAAO,EAAE,EAAE,CAAC;oBACd,CAAC;iBACF,CAAC;gBACF,cAAc,GAAG,IAAI,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,SAAS,YAAY,KAAK;gBAC9B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,KAAK,CACP,iBAAiB,GAAG,kBAAkB,iBAAiB,UAAU,CAClE,CAAC;QACN,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc;gBAAE,OAAO,EAAE,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAW,EACX,UAAiC,EAAE;QAEnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAuB;QACvC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,MAAM,UAAU,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CACpD,IAAI,CAAC,UAAU,EACf,UAAU,EACV,KAAK,CAAC,iBAAiB,CACxB,CAAC;QACF,MAAM,eAAe,GACnB,UAAU,KAAK,cAAc,IAAI,cAAc,KAAK,SAAS;YAC3D,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnC,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBACpE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,UAAU;aAC3C,CAAC,CAAC;YACH,qBAAqB,EAAE,MAAM,IAAI,SAAS;SAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,MAAM,cAAc,CAC9B,GAAG,CAAC,GAAG,EACP,EAAE,MAAM,EAAE,QAAQ,EAAE,EACpB,oBAAoB,GAAG,EAAE,CAC1B,CAAC;QACF,yEAAyE;QACzE,+CAA+C;QAC/C,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,+BAA+B,GAAG,KAAK,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW;QAC1B,yEAAyE;QACzE,qEAAqE;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,qEAAqE;QACrE,EAAE;QACF,uEAAuE;QACvE,2EAA2E;QAC3E,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,SAAkB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,mBAAmB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,CAAC;gBAC/D,MAAM,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,GAAG,GACP,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC/D,IAAI,GAAG,EAAE,CAAC;oBACR,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAC9C,IAAI,MAAM,KAAK,IAAI;wBAAE,OAAO,IAAI,CAAC;oBACjC,GAAG,GAAG,MAAM,CAAC;gBACf,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACjC,GAAG,GAAG,MAAM,CAAC;YACf,CAAC;YACD,aAAa,GAAG,KAAK,CAAC;YAEtB,IAAI,GAAyB,CAAC;YAC9B,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,qBAAqB,CAC/B,GAAG,EACH,SAAS,EACT,kBAAkB,GAAG,EAAE,CACxB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,iBAAiB,EAAE,CAAC;oBACrE,SAAS,GAAG,GAAG,CAAC;oBAChB,aAAa,GAAG,IAAI,CAAC;oBACrB,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,oEAAoE;gBACpE,gEAAgE;gBAChE,sEAAsE;gBACtE,sEAAsE;gBACtE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,iBAAiB,EAAE,CAAC;oBAClE,SAAS,GAAG,iBAAiB,CAC3B,GAAG,EACH,MAAM,IAAI,6BAA6B,CACxC,CAAC;oBACF,aAAa,GAAG,IAAI,CAAC;oBACrB,SAAS;gBACX,CAAC;gBACD,MAAM,iBAAiB,CAAC,GAAG,EAAE,MAAM,IAAI,6BAA6B,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,IAAI,KAAK,CACb,6BAA6B,GAAG,KAAK,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAqB;gBAC/B,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACjE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;gBACvD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC;gBACtD,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS;gBAC3D,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,UAAU;gBAClE,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;aACvC,CAAC;YACF,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,SAAS,YAAY,KAAK;YAC9B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,KAAK,CACP,kBAAkB,GAAG,kBAAkB,iBAAiB,UAAU,CACnE,CAAC;IACR,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAAC,GAAW;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACtC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,EAAE,IAAI,KAAK,yBAAyB,EAAE,CAAC;YAC5C,iEAAiE;YACjE,+DAA+D;YAC/D,2DAA2D;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAClC,iEAAiE;YACjE,mEAAmE;YACnE,gEAAgE;YAChE,2BAA2B;YAC3B,MAAM,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,gBAAgB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;CACF;AAED,KAAK,UAAU,QAAQ,CAAC,GAAa;IACnC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAa;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAoB;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,IAAI,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,wDAAwD;AACxD,8EAA8E;AAC9E,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,0EAA0E;AAC1E,4EAA4E;AAC5E,qEAAqE;AACrE,8EAA8E;AAC9E,4EAA4E;AAC5E,uEAAuE;AACvE,iFAAiF;AACjF,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;AAC9E,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,MAAc;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,CACL,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,mCAAmC,CAAC,IAAI,CAAC,MAAM,CAAC,CACjD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,GAAY;IAChD,IAAI,uBAAuB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;IACxB,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,IAAI,GAAI,GAA0B,CAAC,IAAI,CAAC;IAC9C,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,YAAY,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,qBAAqB,CAClC,GAAW,EACX,OAA2C,EAC3C,IAAY;IAEZ,IAAI,SAAkB,CAAC;IACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,mBAAmB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,CAAC;YAC/D,MAAM,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,GAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,CAAC;YAChB,IAAI,qBAAqB,CAAC,GAAG,CAAC;gBAAE,MAAM;YACtC,SAAS;QACX,CAAC;QACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACjE,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,SAAS,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,SAAS,YAAY,KAAK;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,kBAAkB,iBAAiB,UAAU,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,GAAyB;IAEzB,IAAI,CAAC;QACH,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YACzC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;gBAAE,MAAM;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAW,EACX,IAAiB,EACjB,IAAY;IAEZ,IAAI,SAAkB,CAAC;IACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,mBAAmB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,CAAC;YAC/D,MAAM,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,mBAAmB,EAAE,CAAC;YACpD,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,CAAC,CAAC,mCAAmC;YACpD,mEAAmE;YACnE,IAAI,qBAAqB,CAAC,GAAG,CAAC;gBAAE,MAAM;YACtC,SAAS;QACX,CAAC;QACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACjE,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC;YACxD,SAAS,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,OAAO,GAAG,CAAC,CAAC,mFAAmF;IACjG,CAAC;IACD,MAAM,SAAS,YAAY,KAAK;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,kBAAkB,iBAAiB,UAAU,CAAC,CAAC;AACtE,CAAC;AAQD,MAAM,eAAe,GAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAqC,EACrC,iBAA2C;IAE3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAClB,EAAE,GAAG,IAAI,aAAa,CACpB,GAAG,EACH,iBAAiB;YACf,CAAC,CAAC;gBACE,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC9B,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;aAClC;YACH,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAC1B,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,aAAa,GAAoB,eAAe,CAAC;AACrD,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAA2B,CAAC;AAExE;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA+B;IAChE,aAAa,GAAG,OAAO,IAAI,eAAe,CAAC;AAC7C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,GAAkB,EAAE,EAAY;IACpE,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,GAAkB;IAChD,OAAO,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAA6B,EAC7B,YAAsC,EACtC,iBAA2C;IAE3C,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,2DAA2D;IAC3D,qEAAqE;IACrE,6EAA6E;IAC7E,MAAM,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,2EAA2E;QAC3E,4EAA4E;QAC5E,0EAA0E;QAC1E,oEAAoE;QACpE,4EAA4E;QAC5E,qEAAqE;QACrE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,yEAAyE;YACzE,wEAAwE;YACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,EAAE,GAAG,IAAI,aAAa,CAC1B,GAAG,EACH,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAChD,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,EAAE,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAClD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC"}
|