copilot-hub 0.1.34 → 0.1.38
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 +1 -1
- package/apps/control-plane/dist/channels/telegram-channel.js +27 -7
- package/package.json +1 -1
- package/packages/core/dist/telegram-channel.js +27 -7
- package/packages/core/dist/telegram-channel.js.map +1 -1
- package/scripts/dist/codex-version.mjs +2 -2
- package/scripts/dist/daemon.mjs +16 -0
- package/scripts/dist/service.mjs +13 -1
- package/scripts/dist/windows-hidden-launcher.mjs +12 -1
- package/scripts/src/codex-version.mts +2 -2
- package/scripts/src/daemon.mts +16 -0
- package/scripts/src/service.mts +14 -0
- package/scripts/src/windows-hidden-launcher.mts +13 -1
- package/scripts/test/codex-version.test.mjs +6 -4
- package/scripts/test/windows-hidden-launcher.test.mjs +12 -0
package/README.md
CHANGED
|
@@ -168,7 +168,7 @@ Default values are already applied, and actions start from that agent workspace
|
|
|
168
168
|
- If `npm run start` fails, first read the error and follow the suggested action.
|
|
169
169
|
- `npm run start` now checks that Codex CLI is inside the supported range and can install the validated version automatically if missing or outside that range.
|
|
170
170
|
- For Codex login issues, run `codex login` (or the configured `CODEX_BIN`) and retry `npm run start`.
|
|
171
|
-
- If auto-install is skipped or unavailable, install Codex CLI with `npm install -g @openai/codex@0.
|
|
171
|
+
- If auto-install is skipped or unavailable, install Codex CLI with `npm install -g @openai/codex@0.118.0` or set `CODEX_BIN` in your Copilot Hub config to a binary in the supported `0.113.x` to `0.118.x` range.
|
|
172
172
|
- If you are still stuck, ask your favorite LLM with the exact error output.
|
|
173
173
|
|
|
174
174
|
## Upgrades
|
|
@@ -387,11 +387,11 @@ export class TelegramChannel {
|
|
|
387
387
|
});
|
|
388
388
|
return;
|
|
389
389
|
}
|
|
390
|
-
|
|
390
|
+
this.#runDetached("turn processing", () => this.#processTurn({
|
|
391
391
|
chatId,
|
|
392
392
|
threadId,
|
|
393
393
|
prompt: text,
|
|
394
|
-
});
|
|
394
|
+
}));
|
|
395
395
|
});
|
|
396
396
|
bot.catch((error) => {
|
|
397
397
|
const details = error.error instanceof Error
|
|
@@ -425,7 +425,7 @@ export class TelegramChannel {
|
|
|
425
425
|
const safe = sanitizeError(error);
|
|
426
426
|
if (isTurnInterruptedError(safe)) {
|
|
427
427
|
controlStatus = "Generation interrupted.";
|
|
428
|
-
await this
|
|
428
|
+
await this.#sendMessageBestEffort(chatId, "Generation stopped.");
|
|
429
429
|
return;
|
|
430
430
|
}
|
|
431
431
|
controlStatus = "Generation failed.";
|
|
@@ -433,13 +433,33 @@ export class TelegramChannel {
|
|
|
433
433
|
runtime: this.runtime,
|
|
434
434
|
safeError: safe,
|
|
435
435
|
});
|
|
436
|
-
await this
|
|
436
|
+
await this.#sendMessageBestEffort(chatId, failureMessage);
|
|
437
437
|
}
|
|
438
438
|
finally {
|
|
439
439
|
this.#clearActiveTurn(chatId, turnToken);
|
|
440
440
|
await this.#closeTurnControls(chatId, turnToken, controlStatus);
|
|
441
441
|
}
|
|
442
442
|
}
|
|
443
|
+
#runDetached(label, operation) {
|
|
444
|
+
void operation().catch((error) => {
|
|
445
|
+
const details = sanitizeError(error);
|
|
446
|
+
this.error = details;
|
|
447
|
+
console.error(`[${this.runtime.runtimeId}:${this.id}] ${label} failed: ${details}`);
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
async #sendMessageBestEffort(chatId, text) {
|
|
451
|
+
if (!this.bot) {
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
try {
|
|
455
|
+
await this.bot.api.sendMessage(chatId, text);
|
|
456
|
+
}
|
|
457
|
+
catch (error) {
|
|
458
|
+
const details = sanitizeError(error);
|
|
459
|
+
this.error = details;
|
|
460
|
+
console.warn(`[${this.runtime.runtimeId}:${this.id}] Telegram sendMessage failed while reporting turn status: ${details}`);
|
|
461
|
+
}
|
|
462
|
+
}
|
|
443
463
|
async #handleStopTurn(context) {
|
|
444
464
|
const chatId = getContextChatId(context);
|
|
445
465
|
if (!chatId) {
|
|
@@ -547,11 +567,11 @@ export class TelegramChannel {
|
|
|
547
567
|
await this.bot.api.sendMessage(chatId, "No active generation. Applying steer now.");
|
|
548
568
|
}
|
|
549
569
|
}
|
|
550
|
-
|
|
570
|
+
this.#runDetached("turn processing", () => this.#processTurn({
|
|
551
571
|
chatId,
|
|
552
572
|
threadId,
|
|
553
573
|
prompt: nextPrompt,
|
|
554
|
-
});
|
|
574
|
+
}));
|
|
555
575
|
}
|
|
556
576
|
async #openTurnControls(chatId, threadId, token) {
|
|
557
577
|
if (!this.bot) {
|
|
@@ -584,7 +604,7 @@ export class TelegramChannel {
|
|
|
584
604
|
return;
|
|
585
605
|
}
|
|
586
606
|
setTimeout(() => {
|
|
587
|
-
|
|
607
|
+
this.#runDetached("turn control quota refresh", () => this.#refreshTurnControlQuota(chatId, token, safeAttempt));
|
|
588
608
|
}, 1500);
|
|
589
609
|
}
|
|
590
610
|
async #refreshTurnControlQuota(chatId, token, attempt) {
|
package/package.json
CHANGED
|
@@ -426,12 +426,12 @@ export class TelegramChannel {
|
|
|
426
426
|
});
|
|
427
427
|
return;
|
|
428
428
|
}
|
|
429
|
-
|
|
429
|
+
this.#runDetached("turn processing", () => this.#processTurn({
|
|
430
430
|
chatId,
|
|
431
431
|
threadId,
|
|
432
432
|
prompt: normalizedPrompt,
|
|
433
433
|
inputItems,
|
|
434
|
-
});
|
|
434
|
+
}));
|
|
435
435
|
}
|
|
436
436
|
async #buildPhotoInputItem({ message }) {
|
|
437
437
|
const photos = Array.isArray(message?.photo) ? message.photo : [];
|
|
@@ -578,7 +578,7 @@ export class TelegramChannel {
|
|
|
578
578
|
const safe = sanitizeError(error);
|
|
579
579
|
if (isTurnInterruptedError(safe)) {
|
|
580
580
|
controlStatus = "Generation interrupted.";
|
|
581
|
-
await this
|
|
581
|
+
await this.#sendMessageBestEffort(chatId, "Generation stopped.");
|
|
582
582
|
return;
|
|
583
583
|
}
|
|
584
584
|
controlStatus = "Generation failed.";
|
|
@@ -586,13 +586,33 @@ export class TelegramChannel {
|
|
|
586
586
|
runtime: this.runtime,
|
|
587
587
|
safeError: safe,
|
|
588
588
|
});
|
|
589
|
-
await this
|
|
589
|
+
await this.#sendMessageBestEffort(chatId, failureMessage);
|
|
590
590
|
}
|
|
591
591
|
finally {
|
|
592
592
|
this.#clearActiveTurn(chatId, turnToken);
|
|
593
593
|
await this.#closeTurnControls(chatId, turnToken, controlStatus);
|
|
594
594
|
}
|
|
595
595
|
}
|
|
596
|
+
#runDetached(label, operation) {
|
|
597
|
+
void operation().catch((error) => {
|
|
598
|
+
const details = sanitizeError(error);
|
|
599
|
+
this.error = details;
|
|
600
|
+
console.error(`[${this.runtime.runtimeId}:${this.id}] ${label} failed: ${details}`);
|
|
601
|
+
});
|
|
602
|
+
}
|
|
603
|
+
async #sendMessageBestEffort(chatId, text) {
|
|
604
|
+
if (!this.bot) {
|
|
605
|
+
return;
|
|
606
|
+
}
|
|
607
|
+
try {
|
|
608
|
+
await this.bot.api.sendMessage(chatId, text);
|
|
609
|
+
}
|
|
610
|
+
catch (error) {
|
|
611
|
+
const details = sanitizeError(error);
|
|
612
|
+
this.error = details;
|
|
613
|
+
console.warn(`[${this.runtime.runtimeId}:${this.id}] Telegram sendMessage failed while reporting turn status: ${details}`);
|
|
614
|
+
}
|
|
615
|
+
}
|
|
596
616
|
async #handleStopTurn(context) {
|
|
597
617
|
const chatId = getContextChatId(context);
|
|
598
618
|
if (!chatId) {
|
|
@@ -700,12 +720,12 @@ export class TelegramChannel {
|
|
|
700
720
|
await this.bot.api.sendMessage(chatId, "No active generation. Applying steer now.");
|
|
701
721
|
}
|
|
702
722
|
}
|
|
703
|
-
|
|
723
|
+
this.#runDetached("turn processing", () => this.#processTurn({
|
|
704
724
|
chatId,
|
|
705
725
|
threadId,
|
|
706
726
|
prompt: nextPrompt,
|
|
707
727
|
inputItems,
|
|
708
|
-
});
|
|
728
|
+
}));
|
|
709
729
|
}
|
|
710
730
|
async #openTurnControls(chatId, threadId, token) {
|
|
711
731
|
if (!this.bot) {
|
|
@@ -738,7 +758,7 @@ export class TelegramChannel {
|
|
|
738
758
|
return;
|
|
739
759
|
}
|
|
740
760
|
setTimeout(() => {
|
|
741
|
-
|
|
761
|
+
this.#runDetached("turn control quota refresh", () => this.#refreshTurnControlQuota(chatId, token, safeAttempt));
|
|
742
762
|
}, 1500);
|
|
743
763
|
}
|
|
744
764
|
async #refreshTurnControlQuota(chatId, token, attempt) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram-channel.js","sourceRoot":"","sources":["../src/telegram-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAA0B,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAsFtF,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAC7C,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAC7C,IAAI,gBAAgB,GAA+D,IAAI,CAAC;AAIxF,MAAM,UAAU,8BAA8B;IAC5C,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,OAAO,eAAe;IAC1B,IAAI,CAAa;IACjB,EAAE,CAAS;IACX,MAAM,CAAwB;IAC9B,OAAO,CAAc;IACrB,cAAc,CAAc;IAC5B,GAAG,CAAa;IAChB,OAAO,CAAU;IACjB,KAAK,CAAgB;IACrB,iBAAiB,CAA0B;IAC3C,iBAAiB,CAAgC;IACjD,aAAa,CAAS;IACtB,UAAU,CAAqB;IAC/B,kBAAkB,CAAuB;IACzC,aAAa,CAAU;IACvB,kBAAkB,CAAS;IAC3B,iBAAiB,CAAS;IAE1B,YAAY,EACV,aAAa,EACb,OAAO,EACP,SAAS,GAAG,EAAE,GASf;QACC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU;YACb,OAAO,SAAS,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAC3C,SAAS,CAAC,kBAAkB,EAC5B,8BAA8B,CAC/B,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAC/B,IAAI,CAAC,kBAAkB,EACvB,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvC,6BAA6B;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,SAAS;QACP,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAyB;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,sBAAsB,QAAQ,CAAC,EAAE,GAAG;YACpC,SAAS,QAAQ,CAAC,IAAI,EAAE;YACxB,WAAW,QAAQ,CAAC,QAAQ,EAAE;SAC/B,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,EAAE,aAAa,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnE,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,KAAK,GAAG,0CAA0C,IAAI,CAAC,EAAE,IAAI,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAElB,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,KAAK,CAAC;oBACd,OAAO,EAAE,GAAG,EAAE;wBACZ,OAAO,GAAG,CAAC,CAAC;wBACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;wBAClB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;oBAClF,CAAC;iBACF,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,KAAK,GAAG,wCAAwC,CAAC;gBACtD,OAAO,CAAC,KAAK,CACX,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,0CAA0C,CAChF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO,CAAC,KAAK,CACX,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,6BAA6B,IAAI,CAAC,KAAK,EAAE,CAC/E,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oBACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;gBAClB,CAAC;gBACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,wBAAwB,CACtC,OAAO,EACP,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,iBAAiB,CACvB,CAAC;YACF,OAAO,IAAI,CAAC,CAAC;YACb,OAAO,CAAC,IAAI,CACV,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,+BAA+B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAClG,CAAC;YACF,MAAM,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,eAAe,CAAC,GAAQ;QACtB,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,CACjB;gBACE,UAAU,IAAI,CAAC,OAAO,CAAC,WAAW,UAAU;gBAC5C,8BAA8B;gBAC9B,6BAA6B;gBAC7B,+BAA+B;gBAC/B,iCAAiC;gBACjC,iFAAiF;gBACjF,uEAAuE;gBACvE,uCAAuC;gBACvC,qCAAqC;gBACrC,0CAA0C;gBAC1C,wDAAwD;gBACxD,2CAA2C;gBAC3C,0DAA0D;gBAC1D,oCAAoC;gBACpC,qCAAqC;gBACrC,iCAAiC;gBACjC,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE;gBACvC,aAAa,QAAQ,EAAE;aACxB;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,QAAQ,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,OAAO,CAAC,KAAK,CACjB;gBACE,UAAU,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACpC,aAAa,QAAQ,EAAE;gBACvB,cAAc,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE;gBACrC,cAAc,MAAM,CAAC,SAAS,IAAI,QAAQ,EAAE;gBAC5C,cAAc,MAAM,CAAC,SAAS,IAAI,WAAW,EAAE;gBAC/C,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE;aACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7C,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1C,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChD,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,4BAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,MAAM,OAAO,CAAC,mBAAmB,CAAC;oBAChC,IAAI,EAAE,gCAAgC;oBACtC,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,OAAO,CAAC,mBAAmB,CAAC;oBAChC,IAAI,EAAE,uCAAuC;iBAC9C,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnE,IAAI,MAAM,EAAE,WAAW,KAAK,IAAI,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,kBAAkB,CAC3B,MAAM,EACN,OAAO,CAAC,KAAK,EACb,oCAAoC,CACrC,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,CAAC,mBAAmB,CAAC;oBAChC,IAAI,EACF,MAAM,EAAE,WAAW,KAAK,IAAI;wBAC1B,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,+BAA+B;iBACtC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,oBAAoB,CAAC;gBAC9B,MAAM;gBACN,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,cAAc;aACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,OAAO,IAAI,8DAA8D,CAAC;gBACzF,MAAM,IAAI,CAAC,oBAAoB,CAAC;oBAC9B,MAAM;oBACN,MAAM;oBACN,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,CAAC,UAAU,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,KAAK,CAAC,6BAA6B,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC1C,MAAM;oBACN,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,oBAAoB,CAAC;oBAC9B,MAAM;oBACN,MAAM;oBACN,IAAI,EAAE,cAAc;iBACrB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,KAAK,CAAC,kCAAkC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAClB,MAAM,OAAO,GACX,KAAK,CAAC,KAAK,YAAY,KAAK;gBAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC5C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACrB,OAAO,CAAC,KAAK,CACX,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,8BAA8B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAC5G,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EACzB,MAAM,EACN,MAAM,EACN,IAAI,GAAG,cAAc,EACrB,UAAU,GAAG,IAAI,GAMlB;QACC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,sBAAsB,CAAC;gBAChC,MAAM;gBACN,QAAQ;gBACR,MAAM,EAAE,gBAAgB;gBACxB,IAAI;gBACJ,UAAU;aACX,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,KAAK,IAAI,CAAC,YAAY,CAAC;YACrB,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,gBAAgB;YACxB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAmC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxE,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,+CAA+C,MAAM,CAAC,MAAM,uCAAuC,CACpG,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,QAAQ,IAAI,WAAW,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,OAAO;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EACtB,MAAM,EACN,OAAO,GAIR;QACC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAC/C,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,OAAO;YAClB,kBAAkB,EAAE,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;SAC3D,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtD,MAAM,KAAK,GAAG;YACZ,kCAAkC;YAClC,cAAc,MAAM,CAAC,YAAY,EAAE;YACnC,kBAAkB,MAAM,CAAC,YAAY,EAAE;YACvC,qBAAqB,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE;YAClD,cAAc,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,WAAW,CAAC,EAAE;SACvD,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,IAAI,CACR,iJAAiJ,CAClJ,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,YAAoB;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,WAAW,GAAG,oCAAoC,KAAK,IAAI,cAAc,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,EAC3B,MAAM,EACN,MAAM,EACN,SAAS,EACT,kBAAkB,GAMnB;QACC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAC5B,mBAAmB,CAAC,MAAM,CAAC,EAC3B,GAAG,CACJ,CAAC;QACF,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;QACzH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,sBAAsB,CACzC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,IAAI,QAAQ,CACvD,CAAC;QACF,OAAO;YACL,YAAY,EAAE,sBAAsB,CAAC,YAAY,CAAC;YAClD,YAAY;SACb,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EACjB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,UAAU,GAAG,IAAI,GAMlB;QACC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,aAAa,GAAG,uBAAuB,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,OAAO,GAMT;gBACF,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE;oBACR,MAAM;oBACN,SAAS,EAAE,IAAI,CAAC,EAAE;iBACnB;aACF,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;YAClC,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,kBAAkB,CACtB,IAAI,CAAC,GAAG,CAAC,GAAG,EACZ,MAAM,EACN,MAAM,CAAC,aAAa,IAAI,oCAAoC,CAC7D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,aAAa,GAAG,yBAAyB,CAAC;gBAC1C,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,aAAa,GAAG,oBAAoB,CAAC;YACrC,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACzD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAgB;QACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAgB;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAChC,MAAM;YACN,QAAQ;YACR,MAAM;YACN,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,QAAgB;QAC9C,MAAM,KAAK,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC1B,KAAK;SACN,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,KAAa;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,EAC3B,MAAM,EACN,QAAQ,EACR,MAAM,EACN,IAAI,GAAG,eAAe,EACtB,UAAU,GAAG,IAAI,GAOlB;QACC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;iBAC9C,IAAI,EAAE;iBACN,WAAW,EAAE,CAAC;YACjB,IACE,CAAC,CACC,YAAY,EAAE,WAAW,KAAK,IAAI;gBAClC,MAAM,KAAK,gBAAgB;gBAC3B,MAAM,KAAK,mBAAmB,CAC/B,EACD,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAC5B,MAAM,EACN,+BAA+B,qBAAqB,CAAC,YAAY,CAAC,EAAE,CACrE,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAC5B,MAAM,EACN,gEAAgE,CACjE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAC5B,MAAM,EACN,mEAAmE,CACpE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,YAAY,CAAC;YACrB,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,UAAU;YAClB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAa;QACrE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI;gBAC/B,CAAC,CAAC,CAAC,yBAAyB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,yBAAyB,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE;gBAClE,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC;aAC9C,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC1B,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,gCAAgC,CAAC,MAAc,EAAE,KAAa,EAAE,OAAe;QAC7E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,UAAU,CAAC,GAAG,EAAE;YACd,KAAK,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,MAAc,EAAE,KAAa,EAAE,OAAe;QAC3E,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,wFAAwF;QACxF,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE;gBAC5E,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,QAAuB,IAAI,EAC3B,YAA2B,IAAI;QAE/B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;oBAC/E,YAAY,EAAE;wBACZ,eAAe,EAAE,EAAE;qBACpB;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE;oBACnE,YAAY,EAAE;wBACZ,eAAe,EAAE,EAAE;qBACpB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAgB,EAAE,QAA0B;QACtE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,2BAA2B,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxE,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;YACxC,QAAQ;YACR,UAAU,EAAE,MAAM,CAAC,EAAE;YACrB,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YACpC,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,EAAE,0BAA0B,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAgB,EAAE,QAA0B;QACpE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;YAC9C,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EACzB,QAAQ,EACR,QAAQ,GAIT;QACC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;oBACxC,QAAQ;oBACR,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,QAAQ;iBACT,CAAC,CAAC;gBACH,YAAY,IAAI,CAAC,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GACjB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,QAAQ,KAAK,kBAAkB;gBAC/B,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,UAAU,CAAC;QACnB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,YAAY,IAAI,SAAS,CAAC,MAAM,cAAc,aAAa,GAAG,CAAC;QAC3E,CAAC;QACD,OAAO,GAAG,YAAY,IAAI,SAAS,CAAC,MAAM,cAAc,aAAa,aAAa,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3G,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;CACF;AAED,SAAS,aAAa,CAAC,OAAgB;IACrC,OAAO,OAAsB,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAW,EAAE,MAAc,EAAE,IAAY;IACzE,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA4B;IACtD,MAAM,KAAK,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,MAAM,QAAQ,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,SAA4B,EAAE,WAAmB;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;IACxE,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,SAA4B,EAAE,WAAmB;IACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,aAAa,QAAQ,iBAAiB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IACD,OAAO,gCAAgC,kBAAkB,CAAC,SAAS,CAAC,mGAAmG,CAAC;AAC1K,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA8B;IAC3D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,iBAAiB,EAAE,CAAC;YACtD,OAAO,yDAAyD,CAAC;QACnE,CAAC;QACD,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SACvC,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QAClE,OAAO,+BAA+B,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,OAAO,yCAAyC,CAAC;IACnD,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,iBAAiB,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO;QACL,8BAA8B;QAC9B,IAAI;QACJ,8CAA8C;KAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SACrC,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC3C,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC/C,UAAU,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,EACrC,OAAO,EACP,SAAS,GAIV;IACC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,+DAA+D,CAAC;QAC7E,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,IAAI,8CAA8C,CAAC;IAC/D,CAAC;IACD,OAAO,qBAAqB,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SACrC,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5B,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACxC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;QACpC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACzC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACrC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACnC,IAAI,EAAE;SACN,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe,EAAE,QAAQ,GAAG,MAAM;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SAC7B,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,QAAQ,GAAG,0BAA0B;IACrF,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;SAChC,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA8C;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,GAAG,CACZ,KAAK;aACF,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,GAAG,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAG7C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,eAAe,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,eAAe,EAAE;YACf;gBACE;oBACE,IAAI,EAAE,aAAa;oBACnB,aAAa,EAAE,gBAAgB,SAAS,EAAE;iBAC3C;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAW;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,MAAM;QACN,KAAK;KACN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAoB;IAEpB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAC/D,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,+BAA+B,EAAE,CAAC;QACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YACtC,CAAC,CAAC;gBACE,GAAI,QAAoC;gBACxC,GAAG,gBAAgB;aACpB;YACH,CAAC,CAAC,gBAAgB,CAAC;QACvB,OAAO,iCAAiC,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CAAC,QAAiB;IAI1D,MAAM,KAAK,GAAG,QAAsD,CAAC;IACrE,OAAO;QACL,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC;QACjC,eAAe,EAAE,oBAAoB,CAAC,KAAK,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,+BAA+B;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,gBAAgB,IAAI,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;QACzD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,IAAI,CAAC;QACH,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;YAC3C,MAAM,EAAE,kBAAkB;YAC1B,YAAY,EAAE,YAAY;SAC3B,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,4CAA4C,EAAE;YACzE,MAAM,EAAE,KAAK;YACb,OAAO;YACP,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAerC,CAAC;QAEF,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC7E,MAAM,OAAO,GACX,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAuB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC5D,gBAAgB,GAAG;YACjB,SAAS,EAAE,GAAG,GAAG,wBAAwB;YACzC,QAAQ;SACT,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAQa;IAEb,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,SAAS,GAAG,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,OAAO;QACL,gBAAgB,EAAE,SAAS;QAC3B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB;IAIhC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAE5B,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QAC1E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1F,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,MAAc,EAAE,KAAa;IAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,UAAyB;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,QAAgB;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,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"}
|
|
1
|
+
{"version":3,"file":"telegram-channel.js","sourceRoot":"","sources":["../src/telegram-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAA0B,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAsFtF,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAC7C,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAC7C,IAAI,gBAAgB,GAA+D,IAAI,CAAC;AAIxF,MAAM,UAAU,8BAA8B;IAC5C,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,OAAO,eAAe;IAC1B,IAAI,CAAa;IACjB,EAAE,CAAS;IACX,MAAM,CAAwB;IAC9B,OAAO,CAAc;IACrB,cAAc,CAAc;IAC5B,GAAG,CAAa;IAChB,OAAO,CAAU;IACjB,KAAK,CAAgB;IACrB,iBAAiB,CAA0B;IAC3C,iBAAiB,CAAgC;IACjD,aAAa,CAAS;IACtB,UAAU,CAAqB;IAC/B,kBAAkB,CAAuB;IACzC,aAAa,CAAU;IACvB,kBAAkB,CAAS;IAC3B,iBAAiB,CAAS;IAE1B,YAAY,EACV,aAAa,EACb,OAAO,EACP,SAAS,GAAG,EAAE,GASf;QACC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU;YACb,OAAO,SAAS,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAC3C,SAAS,CAAC,kBAAkB,EAC5B,8BAA8B,CAC/B,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAC/B,IAAI,CAAC,kBAAkB,EACvB,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvC,6BAA6B;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,SAAS;QACP,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAyB;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,sBAAsB,QAAQ,CAAC,EAAE,GAAG;YACpC,SAAS,QAAQ,CAAC,IAAI,EAAE;YACxB,WAAW,QAAQ,CAAC,QAAQ,EAAE;SAC/B,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,EAAE,aAAa,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnE,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,KAAK,GAAG,0CAA0C,IAAI,CAAC,EAAE,IAAI,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAElB,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,KAAK,CAAC;oBACd,OAAO,EAAE,GAAG,EAAE;wBACZ,OAAO,GAAG,CAAC,CAAC;wBACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;wBAClB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;oBAClF,CAAC;iBACF,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,KAAK,GAAG,wCAAwC,CAAC;gBACtD,OAAO,CAAC,KAAK,CACX,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,0CAA0C,CAChF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO,CAAC,KAAK,CACX,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,6BAA6B,IAAI,CAAC,KAAK,EAAE,CAC/E,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oBACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;gBAClB,CAAC;gBACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,wBAAwB,CACtC,OAAO,EACP,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,iBAAiB,CACvB,CAAC;YACF,OAAO,IAAI,CAAC,CAAC;YACb,OAAO,CAAC,IAAI,CACV,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,+BAA+B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAClG,CAAC;YACF,MAAM,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,eAAe,CAAC,GAAQ;QACtB,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,CACjB;gBACE,UAAU,IAAI,CAAC,OAAO,CAAC,WAAW,UAAU;gBAC5C,8BAA8B;gBAC9B,6BAA6B;gBAC7B,+BAA+B;gBAC/B,iCAAiC;gBACjC,iFAAiF;gBACjF,uEAAuE;gBACvE,uCAAuC;gBACvC,qCAAqC;gBACrC,0CAA0C;gBAC1C,wDAAwD;gBACxD,2CAA2C;gBAC3C,0DAA0D;gBAC1D,oCAAoC;gBACpC,qCAAqC;gBACrC,iCAAiC;gBACjC,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE;gBACvC,aAAa,QAAQ,EAAE;aACxB;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,QAAQ,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,OAAO,CAAC,KAAK,CACjB;gBACE,UAAU,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACpC,aAAa,QAAQ,EAAE;gBACvB,cAAc,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE;gBACrC,cAAc,MAAM,CAAC,SAAS,IAAI,QAAQ,EAAE;gBAC5C,cAAc,MAAM,CAAC,SAAS,IAAI,WAAW,EAAE;gBAC/C,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE;aACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7C,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1C,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChD,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,4BAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,MAAM,OAAO,CAAC,mBAAmB,CAAC;oBAChC,IAAI,EAAE,gCAAgC;oBACtC,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,OAAO,CAAC,mBAAmB,CAAC;oBAChC,IAAI,EAAE,uCAAuC;iBAC9C,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnE,IAAI,MAAM,EAAE,WAAW,KAAK,IAAI,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,kBAAkB,CAC3B,MAAM,EACN,OAAO,CAAC,KAAK,EACb,oCAAoC,CACrC,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,CAAC,mBAAmB,CAAC;oBAChC,IAAI,EACF,MAAM,EAAE,WAAW,KAAK,IAAI;wBAC1B,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,+BAA+B;iBACtC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,oBAAoB,CAAC;gBAC9B,MAAM;gBACN,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,cAAc;aACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,OAAO,IAAI,8DAA8D,CAAC;gBACzF,MAAM,IAAI,CAAC,oBAAoB,CAAC;oBAC9B,MAAM;oBACN,MAAM;oBACN,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,CAAC,UAAU,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,KAAK,CAAC,6BAA6B,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC1C,MAAM;oBACN,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,oBAAoB,CAAC;oBAC9B,MAAM;oBACN,MAAM;oBACN,IAAI,EAAE,cAAc;iBACrB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,KAAK,CAAC,kCAAkC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAClB,MAAM,OAAO,GACX,KAAK,CAAC,KAAK,YAAY,KAAK;gBAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC5C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACrB,OAAO,CAAC,KAAK,CACX,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,8BAA8B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAC5G,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EACzB,MAAM,EACN,MAAM,EACN,IAAI,GAAG,cAAc,EACrB,UAAU,GAAG,IAAI,GAMlB;QACC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,sBAAsB,CAAC;gBAChC,MAAM;gBACN,QAAQ;gBACR,MAAM,EAAE,gBAAgB;gBACxB,IAAI;gBACJ,UAAU;aACX,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACxC,IAAI,CAAC,YAAY,CAAC;YAChB,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,gBAAgB;YACxB,UAAU;SACX,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAmC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxE,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,+CAA+C,MAAM,CAAC,MAAM,uCAAuC,CACpG,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,QAAQ,IAAI,WAAW,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,OAAO;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EACtB,MAAM,EACN,OAAO,GAIR;QACC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAC/C,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,OAAO;YAClB,kBAAkB,EAAE,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;SAC3D,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtD,MAAM,KAAK,GAAG;YACZ,kCAAkC;YAClC,cAAc,MAAM,CAAC,YAAY,EAAE;YACnC,kBAAkB,MAAM,CAAC,YAAY,EAAE;YACvC,qBAAqB,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE;YAClD,cAAc,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,WAAW,CAAC,EAAE;SACvD,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,IAAI,CACR,iJAAiJ,CAClJ,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,YAAoB;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,WAAW,GAAG,oCAAoC,KAAK,IAAI,cAAc,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,EAC3B,MAAM,EACN,MAAM,EACN,SAAS,EACT,kBAAkB,GAMnB;QACC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAC5B,mBAAmB,CAAC,MAAM,CAAC,EAC3B,GAAG,CACJ,CAAC;QACF,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;QACzH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,sBAAsB,CACzC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,IAAI,QAAQ,CACvD,CAAC;QACF,OAAO;YACL,YAAY,EAAE,sBAAsB,CAAC,YAAY,CAAC;YAClD,YAAY;SACb,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EACjB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,UAAU,GAAG,IAAI,GAMlB;QACC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,aAAa,GAAG,uBAAuB,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,OAAO,GAMT;gBACF,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE;oBACR,MAAM;oBACN,SAAS,EAAE,IAAI,CAAC,EAAE;iBACnB;aACF,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;YAClC,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,kBAAkB,CACtB,IAAI,CAAC,GAAG,CAAC,GAAG,EACZ,MAAM,EACN,MAAM,CAAC,aAAa,IAAI,oCAAoC,CAC7D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,aAAa,GAAG,yBAAyB,CAAC;gBAC1C,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;YACD,aAAa,GAAG,oBAAoB,CAAC;YACrC,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC5D,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,SAA8B;QACxD,KAAK,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,YAAY,OAAO,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,IAAY;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACrB,OAAO,CAAC,IAAI,CACV,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,8DAA8D,OAAO,EAAE,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAgB;QACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAgB;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAChC,MAAM;YACN,QAAQ;YACR,MAAM;YACN,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,QAAgB;QAC9C,MAAM,KAAK,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC1B,KAAK;SACN,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,KAAa;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,EAC3B,MAAM,EACN,QAAQ,EACR,MAAM,EACN,IAAI,GAAG,eAAe,EACtB,UAAU,GAAG,IAAI,GAOlB;QACC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;iBAC9C,IAAI,EAAE;iBACN,WAAW,EAAE,CAAC;YACjB,IACE,CAAC,CACC,YAAY,EAAE,WAAW,KAAK,IAAI;gBAClC,MAAM,KAAK,gBAAgB;gBAC3B,MAAM,KAAK,mBAAmB,CAC/B,EACD,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAC5B,MAAM,EACN,+BAA+B,qBAAqB,CAAC,YAAY,CAAC,EAAE,CACrE,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAC5B,MAAM,EACN,gEAAgE,CACjE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAC5B,MAAM,EACN,mEAAmE,CACpE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACxC,IAAI,CAAC,YAAY,CAAC;YAChB,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,UAAU;YAClB,UAAU;SACX,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAa;QACrE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI;gBAC/B,CAAC,CAAC,CAAC,yBAAyB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,yBAAyB,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE;gBAClE,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC;aAC9C,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC1B,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,gCAAgC,CAAC,MAAc,EAAE,KAAa,EAAE,OAAe;QAC7E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,GAAG,EAAE,CACnD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAC1D,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,MAAc,EAAE,KAAa,EAAE,OAAe;QAC3E,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,wFAAwF;QACxF,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE;gBAC5E,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,QAAuB,IAAI,EAC3B,YAA2B,IAAI;QAE/B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;oBAC/E,YAAY,EAAE;wBACZ,eAAe,EAAE,EAAE;qBACpB;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE;oBACnE,YAAY,EAAE;wBACZ,eAAe,EAAE,EAAE;qBACpB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAgB,EAAE,QAA0B;QACtE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,2BAA2B,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxE,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;YACxC,QAAQ;YACR,UAAU,EAAE,MAAM,CAAC,EAAE;YACrB,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YACpC,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,EAAE,0BAA0B,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAgB,EAAE,QAA0B;QACpE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;YAC9C,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EACzB,QAAQ,EACR,QAAQ,GAIT;QACC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;oBACxC,QAAQ;oBACR,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,QAAQ;iBACT,CAAC,CAAC;gBACH,YAAY,IAAI,CAAC,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GACjB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,QAAQ,KAAK,kBAAkB;gBAC/B,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,UAAU,CAAC;QACnB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,YAAY,IAAI,SAAS,CAAC,MAAM,cAAc,aAAa,GAAG,CAAC;QAC3E,CAAC;QACD,OAAO,GAAG,YAAY,IAAI,SAAS,CAAC,MAAM,cAAc,aAAa,aAAa,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3G,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;CACF;AAED,SAAS,aAAa,CAAC,OAAgB;IACrC,OAAO,OAAsB,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAW,EAAE,MAAc,EAAE,IAAY;IACzE,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA4B;IACtD,MAAM,KAAK,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,MAAM,QAAQ,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,SAA4B,EAAE,WAAmB;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;IACxE,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,SAA4B,EAAE,WAAmB;IACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,aAAa,QAAQ,iBAAiB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IACD,OAAO,gCAAgC,kBAAkB,CAAC,SAAS,CAAC,mGAAmG,CAAC;AAC1K,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA8B;IAC3D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,iBAAiB,EAAE,CAAC;YACtD,OAAO,yDAAyD,CAAC;QACnE,CAAC;QACD,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SACvC,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QAClE,OAAO,+BAA+B,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,OAAO,yCAAyC,CAAC;IACnD,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,iBAAiB,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO;QACL,8BAA8B;QAC9B,IAAI;QACJ,8CAA8C;KAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SACrC,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC3C,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC/C,UAAU,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,EACrC,OAAO,EACP,SAAS,GAIV;IACC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,+DAA+D,CAAC;QAC7E,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,IAAI,8CAA8C,CAAC;IAC/D,CAAC;IACD,OAAO,qBAAqB,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SACrC,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5B,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACxC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;QACpC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACzC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACrC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACnC,IAAI,EAAE;SACN,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe,EAAE,QAAQ,GAAG,MAAM;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SAC7B,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,QAAQ,GAAG,0BAA0B;IACrF,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;SAChC,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA8C;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,GAAG,CACZ,KAAK;aACF,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,GAAG,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAG7C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,eAAe,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,eAAe,EAAE;YACf;gBACE;oBACE,IAAI,EAAE,aAAa;oBACnB,aAAa,EAAE,gBAAgB,SAAS,EAAE;iBAC3C;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAW;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,MAAM;QACN,KAAK;KACN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAoB;IAEpB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAC/D,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,+BAA+B,EAAE,CAAC;QACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YACtC,CAAC,CAAC;gBACE,GAAI,QAAoC;gBACxC,GAAG,gBAAgB;aACpB;YACH,CAAC,CAAC,gBAAgB,CAAC;QACvB,OAAO,iCAAiC,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CAAC,QAAiB;IAI1D,MAAM,KAAK,GAAG,QAAsD,CAAC;IACrE,OAAO;QACL,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC;QACjC,eAAe,EAAE,oBAAoB,CAAC,KAAK,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,+BAA+B;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,gBAAgB,IAAI,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;QACzD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,IAAI,CAAC;QACH,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;YAC3C,MAAM,EAAE,kBAAkB;YAC1B,YAAY,EAAE,YAAY;SAC3B,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,4CAA4C,EAAE;YACzE,MAAM,EAAE,KAAK;YACb,OAAO;YACP,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAerC,CAAC;QAEF,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC7E,MAAM,OAAO,GACX,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAuB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC5D,gBAAgB,GAAG;YACjB,SAAS,EAAE,GAAG,GAAG,wBAAwB;YACzC,QAAQ;SACT,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAQa;IAEb,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,SAAS,GAAG,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,OAAO;QACL,gBAAgB,EAAE,SAAS;QAC3B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB;IAIhC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAE5B,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QAC1E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1F,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,MAAc,EAAE,KAAa;IAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,UAAyB;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,QAAgB;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const codexNpmPackage = "@openai/codex";
|
|
2
2
|
export const minimumCodexVersion = "0.113.0";
|
|
3
|
-
export const preferredCodexVersion = "0.
|
|
4
|
-
export const maximumCodexVersionExclusive = "0.
|
|
3
|
+
export const preferredCodexVersion = "0.118.0";
|
|
4
|
+
export const maximumCodexVersionExclusive = "0.119.0";
|
|
5
5
|
export const codexInstallPackageSpec = `${codexNpmPackage}@${preferredCodexVersion}`;
|
|
6
6
|
export const codexVersionRequirementLabel = `>= ${minimumCodexVersion} < ${maximumCodexVersionExclusive}`;
|
|
7
7
|
export function extractSemver(value) {
|
package/scripts/dist/daemon.mjs
CHANGED
|
@@ -9,6 +9,7 @@ import { codexInstallPackageSpec } from "./codex-version.mjs";
|
|
|
9
9
|
import { initializeCopilotHubLayout, resolveCopilotHubLayout } from "./install-layout.mjs";
|
|
10
10
|
import { isManagedProcessRunning, isProcessRunning, normalizePid } from "./process-identity.mjs";
|
|
11
11
|
import { buildCodexCompatibilityError, probeCodexVersion, resolveCodexBinForStart, resolveCompatibleInstalledCodexBin, } from "./codex-runtime.mjs";
|
|
12
|
+
import { getWindowsHiddenLauncherHaltSignalPath } from "./windows-hidden-launcher.mjs";
|
|
12
13
|
const __filename = fileURLToPath(import.meta.url);
|
|
13
14
|
const __dirname = path.dirname(__filename);
|
|
14
15
|
const repoRoot = path.resolve(__dirname, "..", "..");
|
|
@@ -22,6 +23,7 @@ const lastStartupErrorPath = path.join(runtimeDir, "last-startup-error.json");
|
|
|
22
23
|
const daemonLogPath = path.join(logsDir, "service-daemon.log");
|
|
23
24
|
const controlPlaneLogPath = path.join(logsDir, "control-plane.log");
|
|
24
25
|
const agentEngineLogPath = path.join(logsDir, "agent-engine.log");
|
|
26
|
+
const windowsLauncherHaltSignalPath = getWindowsHiddenLauncherHaltSignalPath(runtimeDir);
|
|
25
27
|
const daemonScriptPath = path.join(repoRoot, "scripts", "dist", "daemon.mjs");
|
|
26
28
|
const supervisorScriptPath = path.join(repoRoot, "scripts", "dist", "supervisor.mjs");
|
|
27
29
|
const nodeBin = process.execPath;
|
|
@@ -135,6 +137,7 @@ async function runDaemonLoop() {
|
|
|
135
137
|
clearLastStartupError();
|
|
136
138
|
}
|
|
137
139
|
catch (error) {
|
|
140
|
+
requestWindowsLauncherHalt();
|
|
138
141
|
writeLastStartupError({
|
|
139
142
|
detectedAt: new Date().toISOString(),
|
|
140
143
|
reason: getErrorMessage(error),
|
|
@@ -165,6 +168,7 @@ async function runDaemonLoop() {
|
|
|
165
168
|
}
|
|
166
169
|
const fatal = detectFatalStartupError(ensureResult);
|
|
167
170
|
if (fatal) {
|
|
171
|
+
requestWindowsLauncherHalt();
|
|
168
172
|
writeLastStartupError(fatal);
|
|
169
173
|
console.error(`[daemon] fatal startup error: ${fatal.reason}`);
|
|
170
174
|
console.error(`[daemon] action required: ${fatal.action}`);
|
|
@@ -559,6 +563,18 @@ function writeLastStartupError(value) {
|
|
|
559
563
|
// Best effort only.
|
|
560
564
|
}
|
|
561
565
|
}
|
|
566
|
+
function requestWindowsLauncherHalt() {
|
|
567
|
+
if (process.platform !== "win32") {
|
|
568
|
+
return;
|
|
569
|
+
}
|
|
570
|
+
try {
|
|
571
|
+
fs.mkdirSync(path.dirname(windowsLauncherHaltSignalPath), { recursive: true });
|
|
572
|
+
fs.writeFileSync(windowsLauncherHaltSignalPath, `${new Date().toISOString()}\n`, "utf8");
|
|
573
|
+
}
|
|
574
|
+
catch {
|
|
575
|
+
// Best effort only.
|
|
576
|
+
}
|
|
577
|
+
}
|
|
562
578
|
function readLastStartupError() {
|
|
563
579
|
if (!fs.existsSync(lastStartupErrorPath)) {
|
|
564
580
|
return null;
|
package/scripts/dist/service.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import { spawn, spawnSync } from "node:child_process";
|
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
9
9
|
import { initializeCopilotHubLayout, resolveCopilotHubLayout } from "./install-layout.mjs";
|
|
10
10
|
import { isManagedProcessRunning, normalizePid } from "./process-identity.mjs";
|
|
11
|
-
import { buildWindowsHiddenLauncherCommand, ensureWindowsHiddenLauncher, getWindowsHiddenLauncherScriptPath, getWindowsHiddenLauncherStopSignalPath, resolveWindowsScriptHost, } from "./windows-hidden-launcher.mjs";
|
|
11
|
+
import { getWindowsHiddenLauncherHaltSignalPath, buildWindowsHiddenLauncherCommand, ensureWindowsHiddenLauncher, getWindowsHiddenLauncherScriptPath, getWindowsHiddenLauncherStopSignalPath, resolveWindowsScriptHost, } from "./windows-hidden-launcher.mjs";
|
|
12
12
|
const __filename = fileURLToPath(import.meta.url);
|
|
13
13
|
const __dirname = path.dirname(__filename);
|
|
14
14
|
const repoRoot = path.resolve(__dirname, "..", "..");
|
|
@@ -19,6 +19,7 @@ const daemonScriptPath = path.join(repoRoot, "scripts", "dist", "daemon.mjs");
|
|
|
19
19
|
const daemonStatePath = path.join(layout.runtimeDir, "pids", "daemon.json");
|
|
20
20
|
const windowsLauncherScriptPath = getWindowsHiddenLauncherScriptPath(layout.runtimeDir);
|
|
21
21
|
const windowsLauncherStopSignalPath = getWindowsHiddenLauncherStopSignalPath(layout.runtimeDir);
|
|
22
|
+
const windowsLauncherHaltSignalPath = getWindowsHiddenLauncherHaltSignalPath(layout.runtimeDir);
|
|
22
23
|
const WINDOWS_TASK_NAME = "CopilotHub";
|
|
23
24
|
const WINDOWS_RUN_KEY_PATH = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";
|
|
24
25
|
const WINDOWS_RUN_VALUE_NAME = "CopilotHub";
|
|
@@ -166,6 +167,7 @@ async function installWindowsAutoStart() {
|
|
|
166
167
|
const command = buildWindowsLaunchCommand();
|
|
167
168
|
const taskCreate = runChecked("schtasks", ["/Create", "/TN", WINDOWS_TASK_NAME, "/SC", "ONLOGON", "/RL", "LIMITED", "/F", "/TR", command], { allowFailure: true });
|
|
168
169
|
if (taskCreate.ok) {
|
|
170
|
+
clearWindowsLauncherHaltRequest();
|
|
169
171
|
clearWindowsLauncherStopRequest();
|
|
170
172
|
await ensureWindowsSessionRunning("task");
|
|
171
173
|
return "task";
|
|
@@ -174,6 +176,7 @@ async function installWindowsAutoStart() {
|
|
|
174
176
|
throw new Error(taskCreate.combinedOutput || "Failed to create Windows auto-start task.");
|
|
175
177
|
}
|
|
176
178
|
installWindowsRunKey(command);
|
|
179
|
+
clearWindowsLauncherHaltRequest();
|
|
177
180
|
clearWindowsLauncherStopRequest();
|
|
178
181
|
await ensureWindowsSessionRunning("run-key");
|
|
179
182
|
return "run-key";
|
|
@@ -210,6 +213,7 @@ async function uninstallWindowsAutoStart() {
|
|
|
210
213
|
if (fs.existsSync(windowsLauncherScriptPath)) {
|
|
211
214
|
fs.rmSync(windowsLauncherScriptPath, { force: true });
|
|
212
215
|
}
|
|
216
|
+
clearWindowsLauncherHaltRequest();
|
|
213
217
|
return removed;
|
|
214
218
|
}
|
|
215
219
|
function showWindowsAutoStartStatus() {
|
|
@@ -248,6 +252,7 @@ async function startWindowsAutoStart() {
|
|
|
248
252
|
const runKey = queryWindowsRunKey();
|
|
249
253
|
if (runKey.installed) {
|
|
250
254
|
installWindowsRunKey(command);
|
|
255
|
+
clearWindowsLauncherHaltRequest();
|
|
251
256
|
clearWindowsLauncherStopRequest();
|
|
252
257
|
await ensureWindowsSessionRunning("run-key");
|
|
253
258
|
return "run-key";
|
|
@@ -257,6 +262,7 @@ async function startWindowsAutoStart() {
|
|
|
257
262
|
throw new Error("Service is not installed. Run 'copilot-hub service install' first.");
|
|
258
263
|
}
|
|
259
264
|
ensureTaskSchedulerAutoStart(command);
|
|
265
|
+
clearWindowsLauncherHaltRequest();
|
|
260
266
|
clearWindowsLauncherStopRequest();
|
|
261
267
|
await ensureWindowsSessionRunning("task");
|
|
262
268
|
return "task";
|
|
@@ -665,6 +671,12 @@ function clearWindowsLauncherStopRequest() {
|
|
|
665
671
|
}
|
|
666
672
|
fs.rmSync(windowsLauncherStopSignalPath, { force: true });
|
|
667
673
|
}
|
|
674
|
+
function clearWindowsLauncherHaltRequest() {
|
|
675
|
+
if (!fs.existsSync(windowsLauncherHaltSignalPath)) {
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
678
|
+
fs.rmSync(windowsLauncherHaltSignalPath, { force: true });
|
|
679
|
+
}
|
|
668
680
|
function getRunningDaemonPid() {
|
|
669
681
|
const state = readManagedState(daemonStatePath);
|
|
670
682
|
const pid = normalizePid(state?.pid);
|
|
@@ -12,6 +12,9 @@ export function getWindowsHiddenLauncherScriptPath(runtimeDir) {
|
|
|
12
12
|
export function getWindowsHiddenLauncherStopSignalPath(runtimeDir) {
|
|
13
13
|
return path.win32.join(runtimeDir, "windows-daemon-launcher.stop");
|
|
14
14
|
}
|
|
15
|
+
export function getWindowsHiddenLauncherHaltSignalPath(runtimeDir) {
|
|
16
|
+
return path.win32.join(runtimeDir, "windows-daemon-launcher.halt");
|
|
17
|
+
}
|
|
15
18
|
export function ensureWindowsHiddenLauncher({ scriptPath, nodeBin, daemonScriptPath, runtimeDir, }) {
|
|
16
19
|
const content = buildWindowsHiddenLauncherContent({
|
|
17
20
|
nodeBin,
|
|
@@ -38,14 +41,16 @@ export function buildWindowsHiddenLauncherCommand(scriptPath, env = process.env)
|
|
|
38
41
|
export function buildWindowsHiddenLauncherContent({ nodeBin, daemonScriptPath, runtimeDir, }) {
|
|
39
42
|
const command = buildWindowsCommandLine([nodeBin, daemonScriptPath, "run"]);
|
|
40
43
|
const stopSignalPath = getWindowsHiddenLauncherStopSignalPath(runtimeDir);
|
|
44
|
+
const haltSignalPath = getWindowsHiddenLauncherHaltSignalPath(runtimeDir);
|
|
41
45
|
return [
|
|
42
46
|
"Option Explicit",
|
|
43
|
-
"Dim shell, fso, command, stopSignalPath, restartDelayMs",
|
|
47
|
+
"Dim shell, fso, command, stopSignalPath, haltSignalPath, restartDelayMs",
|
|
44
48
|
'Set shell = CreateObject("WScript.Shell")',
|
|
45
49
|
'Set fso = CreateObject("Scripting.FileSystemObject")',
|
|
46
50
|
`shell.CurrentDirectory = "${escapeVbsString(runtimeDir)}"`,
|
|
47
51
|
`command = "${escapeVbsString(command)}"`,
|
|
48
52
|
`stopSignalPath = "${escapeVbsString(stopSignalPath)}"`,
|
|
53
|
+
`haltSignalPath = "${escapeVbsString(haltSignalPath)}"`,
|
|
49
54
|
`restartDelayMs = ${String(WINDOWS_HIDDEN_LAUNCHER_RESTART_DELAY_MS)}`,
|
|
50
55
|
"Do",
|
|
51
56
|
" If fso.FileExists(stopSignalPath) Then",
|
|
@@ -54,6 +59,9 @@ export function buildWindowsHiddenLauncherContent({ nodeBin, daemonScriptPath, r
|
|
|
54
59
|
" On Error GoTo 0",
|
|
55
60
|
" Exit Do",
|
|
56
61
|
" End If",
|
|
62
|
+
" If fso.FileExists(haltSignalPath) Then",
|
|
63
|
+
" Exit Do",
|
|
64
|
+
" End If",
|
|
57
65
|
" shell.Run command, 0, True",
|
|
58
66
|
" If fso.FileExists(stopSignalPath) Then",
|
|
59
67
|
" On Error Resume Next",
|
|
@@ -61,6 +69,9 @@ export function buildWindowsHiddenLauncherContent({ nodeBin, daemonScriptPath, r
|
|
|
61
69
|
" On Error GoTo 0",
|
|
62
70
|
" Exit Do",
|
|
63
71
|
" End If",
|
|
72
|
+
" If fso.FileExists(haltSignalPath) Then",
|
|
73
|
+
" Exit Do",
|
|
74
|
+
" End If",
|
|
64
75
|
" WScript.Sleep restartDelayMs",
|
|
65
76
|
"Loop",
|
|
66
77
|
"Set fso = Nothing",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const codexNpmPackage = "@openai/codex";
|
|
2
2
|
export const minimumCodexVersion = "0.113.0";
|
|
3
|
-
export const preferredCodexVersion = "0.
|
|
4
|
-
export const maximumCodexVersionExclusive = "0.
|
|
3
|
+
export const preferredCodexVersion = "0.118.0";
|
|
4
|
+
export const maximumCodexVersionExclusive = "0.119.0";
|
|
5
5
|
export const codexInstallPackageSpec = `${codexNpmPackage}@${preferredCodexVersion}`;
|
|
6
6
|
export const codexVersionRequirementLabel = `>= ${minimumCodexVersion} < ${maximumCodexVersionExclusive}`;
|
|
7
7
|
|
package/scripts/src/daemon.mts
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
resolveCodexBinForStart,
|
|
15
15
|
resolveCompatibleInstalledCodexBin,
|
|
16
16
|
} from "./codex-runtime.mjs";
|
|
17
|
+
import { getWindowsHiddenLauncherHaltSignalPath } from "./windows-hidden-launcher.mjs";
|
|
17
18
|
|
|
18
19
|
const __filename = fileURLToPath(import.meta.url);
|
|
19
20
|
const __dirname = path.dirname(__filename);
|
|
@@ -30,6 +31,7 @@ const lastStartupErrorPath = path.join(runtimeDir, "last-startup-error.json");
|
|
|
30
31
|
const daemonLogPath = path.join(logsDir, "service-daemon.log");
|
|
31
32
|
const controlPlaneLogPath = path.join(logsDir, "control-plane.log");
|
|
32
33
|
const agentEngineLogPath = path.join(logsDir, "agent-engine.log");
|
|
34
|
+
const windowsLauncherHaltSignalPath = getWindowsHiddenLauncherHaltSignalPath(runtimeDir);
|
|
33
35
|
const daemonScriptPath = path.join(repoRoot, "scripts", "dist", "daemon.mjs");
|
|
34
36
|
const supervisorScriptPath = path.join(repoRoot, "scripts", "dist", "supervisor.mjs");
|
|
35
37
|
const nodeBin = process.execPath;
|
|
@@ -159,6 +161,7 @@ async function runDaemonLoop() {
|
|
|
159
161
|
ensureCompatibleCodexForDaemon();
|
|
160
162
|
clearLastStartupError();
|
|
161
163
|
} catch (error) {
|
|
164
|
+
requestWindowsLauncherHalt();
|
|
162
165
|
writeLastStartupError({
|
|
163
166
|
detectedAt: new Date().toISOString(),
|
|
164
167
|
reason: getErrorMessage(error),
|
|
@@ -193,6 +196,7 @@ async function runDaemonLoop() {
|
|
|
193
196
|
|
|
194
197
|
const fatal = detectFatalStartupError(ensureResult);
|
|
195
198
|
if (fatal) {
|
|
199
|
+
requestWindowsLauncherHalt();
|
|
196
200
|
writeLastStartupError(fatal);
|
|
197
201
|
console.error(`[daemon] fatal startup error: ${fatal.reason}`);
|
|
198
202
|
console.error(`[daemon] action required: ${fatal.action}`);
|
|
@@ -667,6 +671,18 @@ function writeLastStartupError(value) {
|
|
|
667
671
|
}
|
|
668
672
|
}
|
|
669
673
|
|
|
674
|
+
function requestWindowsLauncherHalt() {
|
|
675
|
+
if (process.platform !== "win32") {
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
678
|
+
try {
|
|
679
|
+
fs.mkdirSync(path.dirname(windowsLauncherHaltSignalPath), { recursive: true });
|
|
680
|
+
fs.writeFileSync(windowsLauncherHaltSignalPath, `${new Date().toISOString()}\n`, "utf8");
|
|
681
|
+
} catch {
|
|
682
|
+
// Best effort only.
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
|
|
670
686
|
function readLastStartupError() {
|
|
671
687
|
if (!fs.existsSync(lastStartupErrorPath)) {
|
|
672
688
|
return null;
|
package/scripts/src/service.mts
CHANGED
|
@@ -9,6 +9,7 @@ import { fileURLToPath } from "node:url";
|
|
|
9
9
|
import { initializeCopilotHubLayout, resolveCopilotHubLayout } from "./install-layout.mjs";
|
|
10
10
|
import { isManagedProcessRunning, normalizePid } from "./process-identity.mjs";
|
|
11
11
|
import {
|
|
12
|
+
getWindowsHiddenLauncherHaltSignalPath,
|
|
12
13
|
buildWindowsHiddenLauncherCommand,
|
|
13
14
|
ensureWindowsHiddenLauncher,
|
|
14
15
|
getWindowsHiddenLauncherScriptPath,
|
|
@@ -26,6 +27,7 @@ const daemonScriptPath = path.join(repoRoot, "scripts", "dist", "daemon.mjs");
|
|
|
26
27
|
const daemonStatePath = path.join(layout.runtimeDir, "pids", "daemon.json");
|
|
27
28
|
const windowsLauncherScriptPath = getWindowsHiddenLauncherScriptPath(layout.runtimeDir);
|
|
28
29
|
const windowsLauncherStopSignalPath = getWindowsHiddenLauncherStopSignalPath(layout.runtimeDir);
|
|
30
|
+
const windowsLauncherHaltSignalPath = getWindowsHiddenLauncherHaltSignalPath(layout.runtimeDir);
|
|
29
31
|
|
|
30
32
|
const WINDOWS_TASK_NAME = "CopilotHub";
|
|
31
33
|
const WINDOWS_RUN_KEY_PATH = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";
|
|
@@ -205,6 +207,7 @@ async function installWindowsAutoStart() {
|
|
|
205
207
|
{ allowFailure: true },
|
|
206
208
|
);
|
|
207
209
|
if (taskCreate.ok) {
|
|
210
|
+
clearWindowsLauncherHaltRequest();
|
|
208
211
|
clearWindowsLauncherStopRequest();
|
|
209
212
|
await ensureWindowsSessionRunning("task");
|
|
210
213
|
return "task";
|
|
@@ -215,6 +218,7 @@ async function installWindowsAutoStart() {
|
|
|
215
218
|
}
|
|
216
219
|
|
|
217
220
|
installWindowsRunKey(command);
|
|
221
|
+
clearWindowsLauncherHaltRequest();
|
|
218
222
|
clearWindowsLauncherStopRequest();
|
|
219
223
|
await ensureWindowsSessionRunning("run-key");
|
|
220
224
|
return "run-key";
|
|
@@ -265,6 +269,7 @@ async function uninstallWindowsAutoStart() {
|
|
|
265
269
|
if (fs.existsSync(windowsLauncherScriptPath)) {
|
|
266
270
|
fs.rmSync(windowsLauncherScriptPath, { force: true });
|
|
267
271
|
}
|
|
272
|
+
clearWindowsLauncherHaltRequest();
|
|
268
273
|
|
|
269
274
|
return removed;
|
|
270
275
|
}
|
|
@@ -315,6 +320,7 @@ async function startWindowsAutoStart() {
|
|
|
315
320
|
const runKey = queryWindowsRunKey();
|
|
316
321
|
if (runKey.installed) {
|
|
317
322
|
installWindowsRunKey(command);
|
|
323
|
+
clearWindowsLauncherHaltRequest();
|
|
318
324
|
clearWindowsLauncherStopRequest();
|
|
319
325
|
await ensureWindowsSessionRunning("run-key");
|
|
320
326
|
return "run-key";
|
|
@@ -324,6 +330,7 @@ async function startWindowsAutoStart() {
|
|
|
324
330
|
throw new Error("Service is not installed. Run 'copilot-hub service install' first.");
|
|
325
331
|
}
|
|
326
332
|
ensureTaskSchedulerAutoStart(command);
|
|
333
|
+
clearWindowsLauncherHaltRequest();
|
|
327
334
|
clearWindowsLauncherStopRequest();
|
|
328
335
|
await ensureWindowsSessionRunning("task");
|
|
329
336
|
return "task";
|
|
@@ -797,6 +804,13 @@ function clearWindowsLauncherStopRequest() {
|
|
|
797
804
|
fs.rmSync(windowsLauncherStopSignalPath, { force: true });
|
|
798
805
|
}
|
|
799
806
|
|
|
807
|
+
function clearWindowsLauncherHaltRequest() {
|
|
808
|
+
if (!fs.existsSync(windowsLauncherHaltSignalPath)) {
|
|
809
|
+
return;
|
|
810
|
+
}
|
|
811
|
+
fs.rmSync(windowsLauncherHaltSignalPath, { force: true });
|
|
812
|
+
}
|
|
813
|
+
|
|
800
814
|
function getRunningDaemonPid() {
|
|
801
815
|
const state = readManagedState(daemonStatePath);
|
|
802
816
|
const pid = normalizePid(state?.pid);
|
|
@@ -17,6 +17,10 @@ export function getWindowsHiddenLauncherStopSignalPath(runtimeDir: string): stri
|
|
|
17
17
|
return path.win32.join(runtimeDir, "windows-daemon-launcher.stop");
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
export function getWindowsHiddenLauncherHaltSignalPath(runtimeDir: string): string {
|
|
21
|
+
return path.win32.join(runtimeDir, "windows-daemon-launcher.halt");
|
|
22
|
+
}
|
|
23
|
+
|
|
20
24
|
export function ensureWindowsHiddenLauncher({
|
|
21
25
|
scriptPath,
|
|
22
26
|
nodeBin,
|
|
@@ -68,14 +72,16 @@ export function buildWindowsHiddenLauncherContent({
|
|
|
68
72
|
}): string {
|
|
69
73
|
const command = buildWindowsCommandLine([nodeBin, daemonScriptPath, "run"]);
|
|
70
74
|
const stopSignalPath = getWindowsHiddenLauncherStopSignalPath(runtimeDir);
|
|
75
|
+
const haltSignalPath = getWindowsHiddenLauncherHaltSignalPath(runtimeDir);
|
|
71
76
|
return [
|
|
72
77
|
"Option Explicit",
|
|
73
|
-
"Dim shell, fso, command, stopSignalPath, restartDelayMs",
|
|
78
|
+
"Dim shell, fso, command, stopSignalPath, haltSignalPath, restartDelayMs",
|
|
74
79
|
'Set shell = CreateObject("WScript.Shell")',
|
|
75
80
|
'Set fso = CreateObject("Scripting.FileSystemObject")',
|
|
76
81
|
`shell.CurrentDirectory = "${escapeVbsString(runtimeDir)}"`,
|
|
77
82
|
`command = "${escapeVbsString(command)}"`,
|
|
78
83
|
`stopSignalPath = "${escapeVbsString(stopSignalPath)}"`,
|
|
84
|
+
`haltSignalPath = "${escapeVbsString(haltSignalPath)}"`,
|
|
79
85
|
`restartDelayMs = ${String(WINDOWS_HIDDEN_LAUNCHER_RESTART_DELAY_MS)}`,
|
|
80
86
|
"Do",
|
|
81
87
|
" If fso.FileExists(stopSignalPath) Then",
|
|
@@ -84,6 +90,9 @@ export function buildWindowsHiddenLauncherContent({
|
|
|
84
90
|
" On Error GoTo 0",
|
|
85
91
|
" Exit Do",
|
|
86
92
|
" End If",
|
|
93
|
+
" If fso.FileExists(haltSignalPath) Then",
|
|
94
|
+
" Exit Do",
|
|
95
|
+
" End If",
|
|
87
96
|
" shell.Run command, 0, True",
|
|
88
97
|
" If fso.FileExists(stopSignalPath) Then",
|
|
89
98
|
" On Error Resume Next",
|
|
@@ -91,6 +100,9 @@ export function buildWindowsHiddenLauncherContent({
|
|
|
91
100
|
" On Error GoTo 0",
|
|
92
101
|
" Exit Do",
|
|
93
102
|
" End If",
|
|
103
|
+
" If fso.FileExists(haltSignalPath) Then",
|
|
104
|
+
" Exit Do",
|
|
105
|
+
" End If",
|
|
94
106
|
" WScript.Sleep restartDelayMs",
|
|
95
107
|
"Loop",
|
|
96
108
|
"Set fso = Nothing",
|
|
@@ -7,14 +7,15 @@ import {
|
|
|
7
7
|
preferredCodexVersion,
|
|
8
8
|
} from "../dist/codex-version.mjs";
|
|
9
9
|
|
|
10
|
-
test("isCodexVersionCompatible accepts validated stable 0.113.x through 0.
|
|
10
|
+
test("isCodexVersionCompatible accepts validated stable 0.113.x through 0.118.x releases", () => {
|
|
11
11
|
assert.equal(isCodexVersionCompatible("0.113.0"), true);
|
|
12
12
|
assert.equal(isCodexVersionCompatible("0.114.0"), true);
|
|
13
13
|
assert.equal(isCodexVersionCompatible("0.115.3"), true);
|
|
14
14
|
assert.equal(isCodexVersionCompatible("0.116.9"), true);
|
|
15
15
|
assert.equal(isCodexVersionCompatible("0.117.0"), true);
|
|
16
|
+
assert.equal(isCodexVersionCompatible("0.118.0"), true);
|
|
16
17
|
assert.equal(isCodexVersionCompatible("0.112.9"), false);
|
|
17
|
-
assert.equal(isCodexVersionCompatible("0.
|
|
18
|
+
assert.equal(isCodexVersionCompatible("0.119.0"), false);
|
|
18
19
|
});
|
|
19
20
|
|
|
20
21
|
test("isCodexVersionCompatible rejects prerelease builds outside the validated lane", () => {
|
|
@@ -22,11 +23,12 @@ test("isCodexVersionCompatible rejects prerelease builds outside the validated l
|
|
|
22
23
|
assert.equal(isCodexVersionCompatible("0.116.0-alpha.1"), false);
|
|
23
24
|
assert.equal(isCodexVersionCompatible("0.117.0-alpha.1"), false);
|
|
24
25
|
assert.equal(isCodexVersionCompatible("0.118.0-alpha.1"), false);
|
|
26
|
+
assert.equal(isCodexVersionCompatible("0.119.0-alpha.1"), false);
|
|
25
27
|
});
|
|
26
28
|
|
|
27
29
|
test("preferred install target stays inside the validated compatibility lane", () => {
|
|
28
|
-
assert.equal(preferredCodexVersion, "0.
|
|
29
|
-
assert.equal(codexInstallPackageSpec, "@openai/codex@0.
|
|
30
|
+
assert.equal(preferredCodexVersion, "0.118.0");
|
|
31
|
+
assert.equal(codexInstallPackageSpec, "@openai/codex@0.118.0");
|
|
30
32
|
assert.equal(isCodexVersionCompatible(preferredCodexVersion), true);
|
|
31
33
|
});
|
|
32
34
|
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
buildWindowsHiddenLauncherCommand,
|
|
8
8
|
buildWindowsHiddenLauncherContent,
|
|
9
9
|
ensureWindowsHiddenLauncher,
|
|
10
|
+
getWindowsHiddenLauncherHaltSignalPath,
|
|
10
11
|
getWindowsHiddenLauncherStopSignalPath,
|
|
11
12
|
resolveWindowsScriptHost,
|
|
12
13
|
} from "../dist/windows-hidden-launcher.mjs";
|
|
@@ -41,6 +42,7 @@ test("buildWindowsHiddenLauncherContent starts daemon in hidden mode", () => {
|
|
|
41
42
|
assert.match(content, /WScript\.Sleep restartDelayMs/);
|
|
42
43
|
assert.match(content, /"run"/);
|
|
43
44
|
assert.match(content, /windows-daemon-launcher\.stop/);
|
|
45
|
+
assert.match(content, /windows-daemon-launcher\.halt/);
|
|
44
46
|
});
|
|
45
47
|
|
|
46
48
|
test("ensureWindowsHiddenLauncher writes and preserves launcher content", () => {
|
|
@@ -79,3 +81,13 @@ test("getWindowsHiddenLauncherStopSignalPath uses the runtime directory", () =>
|
|
|
79
81
|
"C:\\Users\\amine\\AppData\\Roaming\\copilot-hub\\runtime\\windows-daemon-launcher.stop",
|
|
80
82
|
);
|
|
81
83
|
});
|
|
84
|
+
|
|
85
|
+
test("getWindowsHiddenLauncherHaltSignalPath uses the runtime directory", () => {
|
|
86
|
+
const actual = getWindowsHiddenLauncherHaltSignalPath(
|
|
87
|
+
"C:\\Users\\amine\\AppData\\Roaming\\copilot-hub\\runtime",
|
|
88
|
+
);
|
|
89
|
+
assert.equal(
|
|
90
|
+
actual,
|
|
91
|
+
"C:\\Users\\amine\\AppData\\Roaming\\copilot-hub\\runtime\\windows-daemon-launcher.halt",
|
|
92
|
+
);
|
|
93
|
+
});
|