@plurnk/plurnk-agui 1.6.1 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SPEC.md +85 -26
- package/dist/AguiPlus.d.ts +11 -2
- package/dist/AguiPlus.d.ts.map +1 -1
- package/dist/AguiPlus.js +48 -5
- package/dist/AguiPlus.js.map +1 -1
- package/dist/DaemonSeam.d.ts +73 -8
- package/dist/DaemonSeam.d.ts.map +1 -1
- package/dist/EventRouter.d.ts.map +1 -1
- package/dist/EventRouter.js +3 -1
- package/dist/EventRouter.js.map +1 -1
- package/dist/Module.d.ts.map +1 -1
- package/dist/Module.js +138 -43
- package/dist/Module.js.map +1 -1
- package/dist/Portal.d.ts +5 -6
- package/dist/Portal.d.ts.map +1 -1
- package/dist/Portal.js +29 -8
- package/dist/Portal.js.map +1 -1
- package/dist/ProposalHitl.d.ts +9 -5
- package/dist/ProposalHitl.d.ts.map +1 -1
- package/dist/ProposalHitl.js +139 -54
- package/dist/ProposalHitl.js.map +1 -1
- package/dist/Translator.d.ts.map +1 -1
- package/dist/Translator.js +43 -13
- package/dist/Translator.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/Module.js
CHANGED
|
@@ -19,8 +19,7 @@ import { PlurnkParser, UNKNOWN_POSITION } from "@plurnk/plurnk-contracts";
|
|
|
19
19
|
import { EventType } from "./types.js";
|
|
20
20
|
import { aguiRouteTemplate, observed } from "./observe.js";
|
|
21
21
|
import { RunAgentInputSchema } from "@ag-ui/core";
|
|
22
|
-
import {
|
|
23
|
-
import { Problems, Validator } from "@plurnk/plurnk-contracts";
|
|
22
|
+
import { InvalidModelCatalogQueryError, Problems, Validator } from "@plurnk/plurnk-contracts";
|
|
24
23
|
import { resolveModuleOptions } from "./config.js";
|
|
25
24
|
const actionFailure = (code, detail, status = 400, extensions = {}) => ({
|
|
26
25
|
ok: false,
|
|
@@ -97,7 +96,7 @@ class Module {
|
|
|
97
96
|
#threads = new Map(); // threadId → envelope
|
|
98
97
|
#threadWorkers = new Map(); // threadId → conversation workerId
|
|
99
98
|
static #CONTROL_ACTIONS = Object.freeze([
|
|
100
|
-
"ping", "discover", "providers.list", "workspace.list", "workspace.create", "workspace.attach",
|
|
99
|
+
"ping", "discover", "providers.list", "models.list", "workspace.list", "workspace.create", "workspace.attach",
|
|
101
100
|
]);
|
|
102
101
|
// The control plane vs the world. An AG-UI Run lives in a world (a conversation, or an action
|
|
103
102
|
// that reads/writes a workspace's log); a control-plane action (list/create/attach/discover/
|
|
@@ -106,34 +105,43 @@ class Module {
|
|
|
106
105
|
"workspace.workers", "log.read", "loop.inject", "loop.cancel", "workspace.prompts", "workspace.rename",
|
|
107
106
|
"workspace.constrain", "workspace.unconstrain", "workspace.constraints", "entry.read",
|
|
108
107
|
"workspace.derivation", "op.exec", "op.parse", "workspace.members", "op.look", "run.fork",
|
|
108
|
+
"worker.model.get", "worker.model.set", "worker.child.set",
|
|
109
|
+
"worker.reasoning.get", "worker.reasoning.set",
|
|
110
|
+
"worker.settings.get", "worker.settings.set",
|
|
109
111
|
]));
|
|
110
112
|
static #BUILTIN_ACTIONS = Object.freeze(new Set([
|
|
111
113
|
...this.#CONTROL_ACTIONS,
|
|
112
114
|
...this.#WORLD_SCOPED,
|
|
113
115
|
]));
|
|
114
116
|
static #NOTIFICATIONS = Object.freeze([
|
|
115
|
-
"log/entry", "loop/terminated", "loop/proposal", "notice/event",
|
|
117
|
+
"log/entry", "loop/terminated", "loop/proposal", "loop/interaction", "notice/event",
|
|
116
118
|
"stream/event", "stream/concluded", "workspace/branch-batch",
|
|
117
119
|
]);
|
|
118
120
|
constructor(seam, opts) {
|
|
119
121
|
this.#seam = seam;
|
|
120
122
|
this.#opts = resolveModuleOptions(opts);
|
|
121
|
-
this.#
|
|
123
|
+
this.#moduleActions();
|
|
122
124
|
this.#portal = new Portal(seam);
|
|
123
125
|
this.#http = createServer((req, res) => { void this.#route(req, res); });
|
|
124
126
|
}
|
|
125
|
-
#
|
|
126
|
-
const
|
|
127
|
-
const
|
|
128
|
-
|
|
127
|
+
#moduleActions() {
|
|
128
|
+
const actions = new Map();
|
|
129
|
+
for (const descriptor of this.#seam.listModuleActions()) {
|
|
130
|
+
const { name, scope } = descriptor;
|
|
129
131
|
if (_a.#BUILTIN_ACTIONS.has(name)) {
|
|
130
132
|
throw new Error(`module action '${name}' collides with AG-UI built-in action`);
|
|
131
133
|
}
|
|
132
|
-
if (
|
|
134
|
+
if (scope !== "worldless" && scope !== "workspace") {
|
|
135
|
+
throw new Error(`module action '${name}' has invalid scope '${String(scope)}'`);
|
|
136
|
+
}
|
|
137
|
+
if (actions.has(name))
|
|
133
138
|
throw new Error(`module action '${name}' is registered more than once`);
|
|
134
|
-
|
|
139
|
+
actions.set(name, descriptor);
|
|
135
140
|
}
|
|
136
|
-
return
|
|
141
|
+
return actions;
|
|
142
|
+
}
|
|
143
|
+
#isWorkspaceAction(kind) {
|
|
144
|
+
return _a.#WORLD_SCOPED.has(kind) || this.#moduleActions().get(kind)?.scope === "workspace";
|
|
137
145
|
}
|
|
138
146
|
static init(opts) {
|
|
139
147
|
return {
|
|
@@ -262,15 +270,20 @@ class Module {
|
|
|
262
270
|
return { env, reattached };
|
|
263
271
|
}
|
|
264
272
|
// Resolve the thread's conversation worker within its world. Cached per threadId;
|
|
265
|
-
// worker names are immutable so the binding can't rot.
|
|
266
|
-
|
|
273
|
+
// worker names are immutable so the binding can't rot. {§worker-settings} — the
|
|
274
|
+
// client's per-run declaration (forwardedProps.plurnk.requestUserInput) rides the
|
|
275
|
+
// resolution, so a client can change its mind between loops.
|
|
276
|
+
async #conversationWorker(threadId, env, settings) {
|
|
267
277
|
const cached = this.#threadWorkers.get(threadId);
|
|
268
|
-
if (cached !== undefined)
|
|
278
|
+
if (cached !== undefined) {
|
|
279
|
+
if (settings !== undefined)
|
|
280
|
+
await this.#seam.setWorkerSettings({ workspaceId: env.workspaceId, workerId: cached, settings });
|
|
269
281
|
return cached;
|
|
282
|
+
}
|
|
270
283
|
const workerId = threadId === env.workspaceName
|
|
271
|
-
? await this.#seam.ensureModelWorker(env.workspaceId)
|
|
284
|
+
? await this.#seam.ensureModelWorker(env.workspaceId, settings)
|
|
272
285
|
: (await this.#seam.listWorkers(env.workspaceId)).find((r) => r.name === threadId)?.id
|
|
273
|
-
?? (await this.#seam.createConversationWorker({ workspaceId: env.workspaceId, name: threadId })).workerId;
|
|
286
|
+
?? (await this.#seam.createConversationWorker({ workspaceId: env.workspaceId, name: threadId, ...(settings === undefined ? {} : { settings }) })).workerId;
|
|
274
287
|
this.#threadWorkers.set(threadId, workerId);
|
|
275
288
|
return workerId;
|
|
276
289
|
}
|
|
@@ -296,8 +309,9 @@ class Module {
|
|
|
296
309
|
// unknown kind, which is no worker at all) answers without binding — or forging — a
|
|
297
310
|
// workspace. Only world-scoped actions and conversations reach #envelope below.
|
|
298
311
|
const action = parseAction(input.forwardedProps);
|
|
299
|
-
if (action !== null && !
|
|
312
|
+
if (action !== null && !this.#isWorkspaceAction(action.kind)) {
|
|
300
313
|
return await this.#controlRun(action, input, res);
|
|
314
|
+
}
|
|
301
315
|
let prompt = null;
|
|
302
316
|
if (action === null && input.resume === undefined) {
|
|
303
317
|
const lastUser = [...input.messages].reverse().find((message) => message.role === "user");
|
|
@@ -316,7 +330,9 @@ class Module {
|
|
|
316
330
|
// world. threadId == workspace name binds the model worker (the default conversation);
|
|
317
331
|
// a distinct threadId names its own worker: found by name, else minted via
|
|
318
332
|
// createConversationWorker. The name is the identity at BOTH levels.
|
|
319
|
-
const
|
|
333
|
+
const plurnk = forwarded?.plurnk;
|
|
334
|
+
const requestUserInput = plurnk?.requestUserInput;
|
|
335
|
+
const workerId = await this.#conversationWorker(input.threadId, env, typeof requestUserInput === "boolean" ? { requestUserInput } : undefined);
|
|
320
336
|
res.writeHead(200, { "content-type": "text/event-stream", "cache-control": "no-cache", "connection": "keep-alive" });
|
|
321
337
|
let finished = false;
|
|
322
338
|
const interrupts = [];
|
|
@@ -336,12 +352,12 @@ class Module {
|
|
|
336
352
|
const emit = (events) => {
|
|
337
353
|
for (const e of events) {
|
|
338
354
|
res.write(`data: ${JSON.stringify(e)}\n\n`);
|
|
339
|
-
// Terminate-resume, the terminate half: a
|
|
340
|
-
// AG-UI Run
|
|
355
|
+
// Terminate-resume, the terminate half: a stopped-world tool call
|
|
356
|
+
// ends this AG-UI Run while its core owner remains paused.
|
|
341
357
|
if (e.type === "TOOL_CALL_END") {
|
|
342
|
-
const
|
|
343
|
-
if (
|
|
344
|
-
interrupts.push(
|
|
358
|
+
const interrupt = this.#portal.interruptForToolCall(e.toolCallId);
|
|
359
|
+
if (interrupt !== null)
|
|
360
|
+
interrupts.push(interrupt);
|
|
345
361
|
}
|
|
346
362
|
if (e.type === "RUN_FINISHED" || e.type === "RUN_ERROR")
|
|
347
363
|
finish();
|
|
@@ -428,20 +444,15 @@ class Module {
|
|
|
428
444
|
...(forwarded !== undefined && Object.hasOwn(forwarded, "openPaths")
|
|
429
445
|
? { openPaths: forwarded.openPaths }
|
|
430
446
|
: {}),
|
|
431
|
-
// {§methods-loop-run-model} The client
|
|
432
|
-
//
|
|
433
|
-
//
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
:
|
|
437
|
-
...(forwarded !== undefined && Object.hasOwn(forwarded, "model")
|
|
438
|
-
? { model: forwarded.model }
|
|
447
|
+
// {§methods-loop-run-model} The client may still forward one explicit
|
|
448
|
+
// alias-or-provider/model selector. The daemon
|
|
449
|
+
// persists an explicit selection onto the worker and snapshots it on the
|
|
450
|
+
// loop; an omitted selector continues the worker's durable model.
|
|
451
|
+
...(forwarded !== undefined && Object.hasOwn(forwarded, "selector")
|
|
452
|
+
? { selector: forwarded.selector }
|
|
439
453
|
: {}),
|
|
440
|
-
...(forwarded !== undefined && Object.hasOwn(forwarded, "
|
|
441
|
-
? {
|
|
442
|
-
: {}),
|
|
443
|
-
...(forwarded !== undefined && Object.hasOwn(forwarded, "childModel")
|
|
444
|
-
? { childModel: forwarded.childModel }
|
|
454
|
+
...(forwarded !== undefined && Object.hasOwn(forwarded, "childSelector")
|
|
455
|
+
? { childSelector: forwarded.childSelector }
|
|
445
456
|
: {}),
|
|
446
457
|
});
|
|
447
458
|
// A dropped SSE on a live AG-UI Run cancels the loop (hangup is the abort). A stream we
|
|
@@ -494,7 +505,7 @@ class Module {
|
|
|
494
505
|
for (const k of [
|
|
495
506
|
..._a.#CONTROL_ACTIONS,
|
|
496
507
|
..._a.#WORLD_SCOPED,
|
|
497
|
-
...this.#
|
|
508
|
+
...this.#moduleActions().keys(),
|
|
498
509
|
]) {
|
|
499
510
|
if (methods[k])
|
|
500
511
|
throw new Error(`AG-UI action '${k}' is registered more than once`);
|
|
@@ -512,13 +523,28 @@ class Module {
|
|
|
512
523
|
// runLoop folds a prompt into the active drain; the steered effect streams on the SSE.
|
|
513
524
|
async #action(a, env, conversationWorkerId) {
|
|
514
525
|
const p = a.params;
|
|
515
|
-
const
|
|
526
|
+
const moduleAction = this.#moduleActions().get(a.kind);
|
|
516
527
|
try {
|
|
517
528
|
// The control plane — worldless verbs (no bound workspace; #WORLD_SCOPED gates this).
|
|
518
529
|
switch (a.kind) {
|
|
519
530
|
case "ping": return { ok: true, result: {} };
|
|
520
531
|
case "discover": return { ok: true, result: await this.#capabilities() };
|
|
521
532
|
case "providers.list": return { ok: true, result: this.#seam.listProviders() };
|
|
533
|
+
case "models.list": {
|
|
534
|
+
let query;
|
|
535
|
+
try {
|
|
536
|
+
query = Validator.assertModelCatalogQuery(p);
|
|
537
|
+
}
|
|
538
|
+
catch (error) {
|
|
539
|
+
if (error instanceof InvalidModelCatalogQueryError) {
|
|
540
|
+
return actionFailure("invalid-action-parameters", "models.list received an invalid catalog query.", 400, {
|
|
541
|
+
recovery: "Use provider?, search?, availability?, offset?, and limit? within the advertised bounds.",
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
throw error;
|
|
545
|
+
}
|
|
546
|
+
return { ok: true, result: this.#seam.listModels(query) };
|
|
547
|
+
}
|
|
522
548
|
case "workspace.list": return { ok: true, result: { workspaces: await this.#seam.listWorkspaces() } };
|
|
523
549
|
case "workspace.create": {
|
|
524
550
|
// The name IS the identity: an explicit name creates/attaches EXACTLY
|
|
@@ -561,12 +587,15 @@ class Module {
|
|
|
561
587
|
return { ok: true, result: { id: att.workspaceId, name: att.workspaceName, workerId: att.workerId } };
|
|
562
588
|
}
|
|
563
589
|
}
|
|
564
|
-
if (
|
|
565
|
-
return {
|
|
590
|
+
if (moduleAction?.scope === "worldless") {
|
|
591
|
+
return {
|
|
592
|
+
ok: true,
|
|
593
|
+
result: await this.#seam.invokeModuleAction(a.kind, p, { scope: "worldless" }),
|
|
594
|
+
};
|
|
566
595
|
}
|
|
567
596
|
// Below this line lives IN a world. An unknown kind is no worker at all; a
|
|
568
597
|
// world-scoped kind with no bound workspace is a routing bug — both surface plainly.
|
|
569
|
-
if (!_a.#WORLD_SCOPED.has(a.kind)) {
|
|
598
|
+
if (!_a.#WORLD_SCOPED.has(a.kind) && moduleAction?.scope !== "workspace") {
|
|
570
599
|
return actionFailure("unknown-action", `Action '${a.kind}' is not registered.`, 404, {
|
|
571
600
|
requestedAction: a.kind,
|
|
572
601
|
recovery: "Use an action advertised by discover.",
|
|
@@ -574,6 +603,12 @@ class Module {
|
|
|
574
603
|
}
|
|
575
604
|
if (env === null)
|
|
576
605
|
throw new Error(`action '${a.kind}' operates within a workspace, but none is bound`);
|
|
606
|
+
if (moduleAction?.scope === "workspace") {
|
|
607
|
+
return {
|
|
608
|
+
ok: true,
|
|
609
|
+
result: await this.#seam.invokeModuleAction(a.kind, p, { scope: "workspace", workspaceId: env.workspaceId }),
|
|
610
|
+
};
|
|
611
|
+
}
|
|
577
612
|
switch (a.kind) {
|
|
578
613
|
case "workspace.workers": return { ok: true, result: { workers: await this.#seam.listWorkers(typeof p.id === "number" ? p.id : env.workspaceId) } };
|
|
579
614
|
case "log.read": {
|
|
@@ -654,7 +689,7 @@ class Module {
|
|
|
654
689
|
return actionFailure("invalid-action-parameters", "op.exec requires a non-empty command.", 400, { field: "command", recovery: "Provide the command to execute." });
|
|
655
690
|
}
|
|
656
691
|
const statement = {
|
|
657
|
-
op: "EXEC",
|
|
692
|
+
op: "EXEC", delimiter: "", annotation: null, signal: null, target: null,
|
|
658
693
|
lineMarker: null, body: p.command, position: UNKNOWN_POSITION,
|
|
659
694
|
};
|
|
660
695
|
// Client ops journal as client-origin turns in the client worker (worker split:
|
|
@@ -755,6 +790,66 @@ class Module {
|
|
|
755
790
|
return operationOutcome(await this.#seam.look({ workspaceId: env.workspaceId, workerId: env.workerId, statement }));
|
|
756
791
|
}
|
|
757
792
|
case "run.fork": return { ok: true, result: await this.#seam.forkWorker({ workspaceId: env.workspaceId, workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId), ...(typeof p.name === "string" ? { name: p.name } : {}) }) };
|
|
793
|
+
case "worker.model.get": {
|
|
794
|
+
const { model, spawnModel } = await this.#seam.readWorkerModel({
|
|
795
|
+
workspaceId: env.workspaceId,
|
|
796
|
+
workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
|
|
797
|
+
});
|
|
798
|
+
return { ok: true, result: { model, spawnModel } };
|
|
799
|
+
}
|
|
800
|
+
case "worker.model.set": {
|
|
801
|
+
if (typeof p.selector !== "string" || p.selector.length === 0) {
|
|
802
|
+
return actionFailure("invalid-action-parameters", "worker.model.set requires a selector.", 400, { recovery: "Provide a declared alias or provider/model route." });
|
|
803
|
+
}
|
|
804
|
+
return { ok: true, result: await this.#seam.setWorkerModel({
|
|
805
|
+
workspaceId: env.workspaceId,
|
|
806
|
+
workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
|
|
807
|
+
selector: p.selector,
|
|
808
|
+
}) };
|
|
809
|
+
}
|
|
810
|
+
case "worker.child.set": {
|
|
811
|
+
if (!Object.hasOwn(p, "selector")
|
|
812
|
+
|| (p.selector !== null && (typeof p.selector !== "string" || p.selector.length === 0))) {
|
|
813
|
+
return actionFailure("invalid-action-parameters", "worker.child.set requires a selector.", 400, { recovery: "Provide a declared alias or provider/model route; null means inherit." });
|
|
814
|
+
}
|
|
815
|
+
return { ok: true, result: await this.#seam.setWorkerSpawnModel({
|
|
816
|
+
workspaceId: env.workspaceId,
|
|
817
|
+
workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
|
|
818
|
+
selector: p.selector,
|
|
819
|
+
}) };
|
|
820
|
+
}
|
|
821
|
+
case "worker.reasoning.get": {
|
|
822
|
+
return { ok: true, result: await this.#seam.readWorkerReasoning({
|
|
823
|
+
workspaceId: env.workspaceId,
|
|
824
|
+
workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
|
|
825
|
+
}) };
|
|
826
|
+
}
|
|
827
|
+
case "worker.reasoning.set": {
|
|
828
|
+
if (!Object.hasOwn(p, "policy")) {
|
|
829
|
+
return actionFailure("invalid-action-parameters", "worker.reasoning.set requires a policy.", 400, { recovery: "Provide a reasoning policy." });
|
|
830
|
+
}
|
|
831
|
+
return { ok: true, result: await this.#seam.setWorkerReasoning({
|
|
832
|
+
workspaceId: env.workspaceId,
|
|
833
|
+
workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
|
|
834
|
+
policy: p.policy,
|
|
835
|
+
}) };
|
|
836
|
+
}
|
|
837
|
+
case "worker.settings.get": {
|
|
838
|
+
return { ok: true, result: await this.#seam.readWorkerSettings({
|
|
839
|
+
workspaceId: env.workspaceId,
|
|
840
|
+
workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
|
|
841
|
+
}) };
|
|
842
|
+
}
|
|
843
|
+
case "worker.settings.set": {
|
|
844
|
+
if (typeof p.settings !== "object" || p.settings === null || Array.isArray(p.settings)) {
|
|
845
|
+
return actionFailure("invalid-action-parameters", "worker.settings.set requires a settings object.", 400, { recovery: "Provide a settings object, e.g. { requestUserInput: true }." });
|
|
846
|
+
}
|
|
847
|
+
return { ok: true, result: await this.#seam.setWorkerSettings({
|
|
848
|
+
workspaceId: env.workspaceId,
|
|
849
|
+
workerId: conversationWorkerId ?? await this.#seam.ensureModelWorker(env.workspaceId),
|
|
850
|
+
settings: p.settings,
|
|
851
|
+
}) };
|
|
852
|
+
}
|
|
758
853
|
default: return actionFailure("unknown-action", `Action '${a.kind}' is not registered.`, 404, {
|
|
759
854
|
requestedAction: a.kind,
|
|
760
855
|
recovery: "Use an action advertised by discover.",
|
package/dist/Module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,uFAAuF;AACvF,yEAAyE;AACzE,EAAE;AACF,gDAAgD;AAChD,mFAAmF;AACnF,qFAAqF;AACrF,4FAA4F;AAC5F,sFAAsF;AACtF,+EAA+E;AAC/E,sCAAsC;AACtC,kFAAkF;AAClF,iFAAiF;;AAEjF,OAAO,EAAE,YAAY,EAAwE,MAAM,WAAW,CAAC;AAC/G,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAA0C,MAAM,eAAe,CAAC;AAEjH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAsC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAkB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAiG,MAAM,0BAA0B,CAAC;AAC9J,OAAO,EAAE,oBAAoB,EAAkD,MAAM,aAAa,CAAC;AAQnG,MAAM,aAAa,GAAG,CAClB,IAAY,EACZ,MAAc,EACd,MAAM,GAAW,GAAG,EACpB,UAAU,GAAsC,EAAE,EACrC,EAAE,CAAC,CAAC;IACjB,EAAE,EAAE,KAAK;IACT,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;QAC1D,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB;QAC9D,SAAS,EAAE,KAAK;QAChB,GAAG,UAAU;KAChB,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAChB,IAAY,EACZ,MAAc,EACd,MAAc,EACd,UAAU,GAAsC,EAAE,EACpC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAEpF,MAAM,gBAAiB,SAAQ,KAAK;IACvB,OAAO,CAAiB;IAEjC,YAAY,OAAuB;QAC/B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAyB,EAAE;IAC/D,IAAI,KAAK,YAAY,gBAAgB;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,MAAM,GAAI,KAA8B,CAAC,MAAM,CAAC;IACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC;YACD,OAAO,SAAS,CAAC,qBAAqB,CAAC,MAAyB,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAC;IACzD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC;YACD,OAAO,SAAS,CAAC,oBAAoB,CAAC,OAAyB,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAuB,EAAiB,EAAE;IAChE,MAAM,KAAK,GAAG,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS;QAC9B,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAC7B,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,EACxB,MAAM,EACN,IAAI,EACJ,MAAM,EACN,MAAM,EACN,QAAQ,GAOX,EAAmB,EAAE,CAAC,CAAC;IACpB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,QAAQ,CAAC,MAAM,CACpB,aAAa,EACb,cAAc,EACd,GAAG,EACH,MAAM,EACN;QACI,IAAI;QACJ,MAAM;QACN,MAAM;QACN,QAAQ;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACnB,CACJ;CACJ,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,GAAmB,EAAE,OAAuB,EAAQ,EAAE;IAC5E,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;IAC9E,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAuB,EAAe,EAAE,CAAC;IAC7D,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClE,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;CAC7E,CAAC;AAEF,MAAqB,MAAM;IACvB,KAAK,CAAa;IAClB,KAAK,CAAwB;IAC7B,OAAO,CAAS;IAChB,KAAK,CAAa;IAClB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC,CAAC,sBAAsB;IACpE,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAG,mCAAmC;IAEjF,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;QACpC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB;KACjG,CAAC,CAAC;IAEH,8FAA8F;IAC9F,6FAA6F;IAC7F,gGAAgG;IAChG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QACzC,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB;QACtG,qBAAqB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,YAAY;QACrF,sBAAsB,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU;KAC5F,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QAC5C,GAAG,IAAI,CAAC,gBAAgB;QACxB,GAAG,IAAI,CAAC,aAAa;KACxB,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc;QAC/D,cAAc,EAAE,kBAAkB,EAAE,wBAAwB;KAC/D,CAAC,CAAC;IAEH,YAAY,IAAgB,EAAE,IAAmB;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,EAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,uCAAuC,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,gCAAgC,CAAC,CAAC;YAC5F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAmB;QAC3B,OAAO;YACH,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClB,MAAM,MAAM,GAAG,IAAI,EAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC;YAClB,CAAC;SACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC7G,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,OAAO;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7F,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAoB,EAAE,GAAmB;QAClD,OAAO,QAAQ,CAAE,+EAA+E;QAC5F,WAAW,EACX,EAAE,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EACjD,GAAkB,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CACpD,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAoB,EAAE,GAAmB;QACzD,IAAI,CAAC;YACD,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;YAC7E,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACnE,iFAAiF;YACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,UAAU,KAAK,EAAE,EAAE,CAAC;gBACtE,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAC7B,uBAAuB,EACvB,GAAG,EACH,wDAAwD,EACxD;oBACI,KAAK,EAAE,eAAe;oBACtB,QAAQ,EAAE,sCAAsC;oBAChD,SAAS,EAAE,KAAK;iBACnB,CACJ,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC;gBAAE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxG,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,iBAAiB,EAAE,GAAG,EAAE,0CAA0C,EAAE;gBAClG,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI;gBAC1B,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI;gBACrB,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC,CAAC;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,OAAO,GAAG,YAAY,IAAI,WAAW,CACvC,gBAAgB,EAChB,GAAG,EACH,wCAAwC,EACxC;gBACI,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACnB,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC/B,OAAO;YACX,CAAC;YACD,kEAAkE;YAClE,0EAA0E;YAC1E,yEAAyE;YACzE,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,kDAAkD;IAClD,yFAAyF;IACzF,qFAAqF;IACrF,oFAAoF;IACpF,8EAA8E;IAC9E,6EAA6E;IAC7E,kGAAkG;IAClG,6BAA6B;IAC7B,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,SAAmC;QACjE,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,CAAC;QACvC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAClC,oBAAoB,EACpB,GAAG,EACH,wDAAwD,EACxD;gBACI,KAAK,EAAE,oBAAoB;gBAC3B,QAAQ,EAAE,qCAAqC;gBAC/C,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC,CAAC;QACP,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACpF,IAAI,GAAmB,CAAC;QACxB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;YAC7B,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBACnC,IAAI,EAAE,SAAS;gBACf,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;oBAClC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAA4B,EAAE;oBACpD,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;oBAClC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAsD,EAAE;oBAC9E,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;oBAC/B,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAA2B,EAAE;oBAChD,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,kFAAkF;IAClF,uDAAuD;IACvD,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAE,GAAmB;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,QAAQ,GAAG,QAAQ,KAAK,GAAG,CAAC,aAAa;YAC3C,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;YACrD,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,EAAE;mBAC/E,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAoB,EAAE,GAAmB;QAChD,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAClC,cAAc,EACd,GAAG,EACH,qCAAqC,EACrC,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,KAAK,EAAE,CACpD,CAAC,CAAC;QACP,CAAC;QACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAClC,mBAAmB,EACnB,GAAG,EACH,qEAAqE,EACrE;gBACI,KAAK,EAAE,oBAAoB;gBAC3B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;gBAC3B,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC,CAAC;QACP,CAAC;QACD,MAAM,KAAK,GAAkB,MAAM,CAAC,IAAI,CAAC;QACzC,MAAM,SAAS,GAAI,KAAK,CAAC,cAAmE,EAAE,MAAM,CAAC;QAErG,gFAAgF;QAChF,oFAAoF;QACpF,gFAAgF;QAChF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,EAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAEjH,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAC1F,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClG,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAClC,uBAAuB,EACvB,GAAG,EACH,4DAA4D,EAC5D;oBACI,KAAK,EAAE,oBAAoB;oBAC3B,QAAQ,EAAE,mCAAmC;oBAC7C,SAAS,EAAE,KAAK;iBACnB,CACJ,CAAC,CAAC;YACP,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QACpC,mEAAmE;QACnE,uFAAuF;QACvF,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAErE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;QACrH,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,gFAAgF;QAChF,gDAAgD;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACvC,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9F,MAAM,MAAM,GAAG,GAAS,EAAE;YACtB,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,SAAS,KAAK,IAAI;gBAAE,aAAa,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC7C,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAmB,EAAQ,EAAE;YACvC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACrB,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5C,uEAAuE;gBACvE,uEAAuE;gBACvE,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBAC7B,MAAM,UAAU,GAAG,wBAAwB,CAAE,CAA4B,CAAC,UAAU,CAAC,CAAC;oBACtF,IAAI,UAAU,KAAK,IAAI;wBAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;oBAAE,MAAM,EAAE,CAAC;YACtE,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC;oBAC9B,IAAI,EAAE,SAAS,CAAC,YAAY;oBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;iBACnE,CAAC,MAAM,CAAC,CAAC;gBACV,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,MAAM,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9G,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACzK,IAAI,CAAC;YACD,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YAC7E,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;SAC1J,CAAC,CAAC;QACH,IAAI,QAAQ;YAAE,OAAO;QAErB,IAAI,CAAC;YACL,qFAAqF;YACrF,qFAAqF;YACrF,+EAA+E;YAC/E,yEAAyE;YACzE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,CAAC,OAAsB,EAAQ,EAAE;oBAClD,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;oBACpD,0EAA0E;oBAC1E,6EAA6E;oBAC7E,4EAA4E;oBAC5E,sFAAsF;oBACtF,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACZ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC5C,OAAO;oBACX,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,CAAC,CAAC;gBACF,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;oBACpC,4EAA4E;oBAC5E,sEAAsE;oBACtE,sEAAsE;oBACtE,uCAAuC;qBACtC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC9F,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBACpB,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;oBAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACtC,YAAY,CAAC,OAAO,KAAK,IAAI;wBACzB,CAAC,CAAC,aAAa,CAAC,eAAe,EAAE,iCAAiC,EAAE,GAAG,CAAC;wBACxE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;gBACP,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACjB,IAAI,QAAQ;wBAAE,OAAO;oBACrB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;oBACjE,MAAM,EAAE,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,8EAA8E;YAC9E,6DAA6D;YAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,sEAAsE;gBAC/F,OAAO;YACX,CAAC;YAED,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;YAE3G,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACnG,IAAI,OAAO,KAAK,IAAI;oBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAC7B,WAAW,EAAE,QAAQ,EAAE,MAAM;gBAC7B,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;oBAC/D,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAkB,EAAE;oBAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;oBAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAA2B,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;oBAChE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAqB,EAAE;oBAChD,CAAC,CAAC,EAAE,CAAC;gBACT,4EAA4E;gBAC5E,kFAAkF;gBAClF,8EAA8E;gBAC9E,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;oBAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAe,EAAE;oBACtC,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;oBAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAe,EAAE;oBACtC,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;oBACjE,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAA2B,EAAE;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;oBACjE,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAAoB,EAAE;oBAChD,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,wFAAwF;YACxF,gFAAgF;YAChF,sEAAsE;YACtE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACjB,IAAI,QAAQ;oBAAE,OAAO;gBACrB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;gBACxD,MAAM,EAAE,CAAC;YACb,CAAC,CAAC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,yDAAyD;YACzD,6EAA6E;YAC7E,+EAA+E;YAC/E,wEAAwE;YACxE,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,YAAY,KAAK,IAAI;gBAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,YAAY,IAAI,WAAW,CACvC,YAAY,EACZ,GAAG,EACH,oCAAoC,EACpC;gBACI,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,iGAAiG;IACjG,iFAAiF;IACjF,KAAK,CAAC,WAAW,CAAC,MAAqB,EAAE,KAAoB,EAAE,GAAmB;QAC9E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;QACrH,MAAM,IAAI,GAAG,CAAC,CAAY,EAAQ,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aAC3C,KAAK,CAAC,CAAC,GAAY,EAAiB,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,OAAO,KAAK,IAAI;gBACnB,CAAC,CAAC,aAAa,CAAC,eAAe,EAAE,iCAAiC,EAAE,GAAG,CAAC;gBACxE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACnH,GAAG,CAAC,GAAG,EAAE,CAAC;IACd,CAAC;IAED,0FAA0F;IAC1F,6FAA6F;IAC7F,KAAK,CAAC,aAAa;QAKf,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI;YACZ,GAAG,EAAM,CAAC,gBAAgB;YAC1B,GAAG,EAAM,CAAC,aAAa;YACvB,GAAG,IAAI,CAAC,kBAAkB,EAAE;SAC/B,EAAE,CAAC;YACA,IAAI,OAAO,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;YACpF,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,MAAM,aAAa,GAAyB,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAM,CAAC,cAAc;YAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC/D,MAAM,OAAO,GAAG,SAAS,CAAC,+BAA+B,CACrD,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,CACnD,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED,uFAAuF;IACvF,yFAAyF;IACzF,mFAAmF;IACnF,uFAAuF;IACvF,KAAK,CAAC,OAAO,CAAC,CAAgB,EAAE,GAA0B,EAAE,oBAA6B;QACrF,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChD,IAAI,CAAC;YACD,sFAAsF;YACtF,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,KAAK,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBAC7C,KAAK,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzE,KAAK,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC/E,KAAK,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC;gBACtG,KAAK,kBAAkB,EAAE,CAAC;oBACtB,sEAAsE;oBACtE,yEAAyE;oBACzE,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;wBAClF,OAAO,aAAa,CAChB,2BAA2B,EAC3B,kDAAkD,EAClD,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gDAAgD,EAAE,CAChF,CAAC;oBACN,CAAC;oBACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,qEAAqE;wBACrE,qEAAqE;wBACrE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBACnF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACtH,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;wBAC7C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC;4BAC/B,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAA4B,EAAE;4BACjD,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC;4BAC/B,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAsD,EAAE;4BAC3E,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC;4BAC5B,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAA2B,EAAE;4BAC7C,CAAC,CAAC,EAAE,CAAC;qBACZ,CAAC,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;oBAClD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtH,CAAC;gBACD,KAAK,kBAAkB,EAAE,CAAC;oBACtB,wEAAwE;oBACxE,uEAAuE;oBACvE,uEAAuE;oBACvE,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;wBAC3B,OAAO,aAAa,CAChB,2BAA2B,EAC3B,mDAAmD,EACnD,GAAG,EACH;4BACI,KAAK,EAAE,IAAI;4BACX,QAAQ,EAAE,oDAAoD;yBACjE,CACJ,CAAC;oBACN,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACzI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;oBAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC1G,CAAC;YACL,CAAC;YACD,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAChF,CAAC;YACD,2EAA2E;YAC3E,qFAAqF;YACrF,IAAI,CAAC,EAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,OAAO,aAAa,CAChB,gBAAgB,EAChB,WAAW,CAAC,CAAC,IAAI,sBAAsB,EACvC,GAAG,EACH;oBACI,eAAe,EAAE,CAAC,CAAC,IAAI;oBACvB,QAAQ,EAAE,uCAAuC;iBACpD,CACJ,CAAC;YACN,CAAC;YACD,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,kDAAkD,CAAC,CAAC;YACvG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,KAAK,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBACpJ,KAAK,UAAU,EAAE,CAAC;oBACd,6DAA6D;oBAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC/I,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;wBACrC,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,QAAQ,EAAE,YAAY;wBACtB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC9E,CAAC,CAAC;oBACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7C,CAAC;gBACD,KAAK,aAAa,EAAE,CAAC;oBACjB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,0CAA0C,EAC1C,GAAG,EACH,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,+BAA+B,EAAE,CACjE,CAAC;oBACN,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChL,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACjC,CAAC;gBACD,0EAA0E;gBAC1E,8EAA8E;gBAC9E,KAAK,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;gBACpK,KAAK,mBAAmB,EAAE,OAAO;oBAC7B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE;wBACJ,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CACjC,GAAG,CAAC,WAAW,EACf,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,SAAS,CAC5D;qBACJ;iBACJ,CAAC;gBACF,KAAK,kBAAkB,EAAE,CAAC;oBACtB,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACpD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,6CAA6C,EAC7C,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iCAAiC,EAAE,CACjE,CAAC;oBACN,CAAC;oBACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3F,CAAC;gBACD,KAAK,qBAAqB,EAAE,CAAC;oBACzB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7D,OAAO,aAAa,CAChB,2BAA2B,EAC3B,iEAAiE,EACjE,GAAG,EACH,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,qCAAqC,EAAE,CAClF,CAAC;oBACN,CAAC;oBACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/F,CAAC;gBACD,KAAK,uBAAuB,EAAE,CAAC;oBAC3B,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7D,OAAO,aAAa,CAChB,2BAA2B,EAC3B,mEAAmE,EACnE,GAAG,EACH,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,qCAAqC,EAAE,CAClF,CAAC;oBACN,CAAC;oBACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjG,CAAC;gBACD,KAAK,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBAC9H,KAAK,sBAAsB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBAC5H,KAAK,YAAY,EAAE,CAAC;oBAChB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/B,OAAO,aAAa,CAChB,2BAA2B,EAC3B,sCAAsC,EACtC,GAAG,EACH,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CACzD,CAAC;oBACN,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC;2BACzB,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;wBAC9F,OAAO,aAAa,CAChB,2BAA2B,EAC3B,iDAAiD,EACjD,GAAG,EACH,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,wDAAwD,EAAE,CAC5F,CAAC;oBACN,CAAC;oBACD,MAAM,MAAM,GAAG,SAAS,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;wBACtE,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;4BACpC,CAAC,CAAC,CAAC,CAAC,QAAQ;4BACZ,CAAC,CAAC,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;wBACjF,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxE,CAAC,CAAC,CAAC;oBACJ,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBACD,KAAK,SAAS,EAAE,CAAC;oBACb,uEAAuE;oBACvE,mDAAmD;oBACnD,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1D,OAAO,aAAa,CAChB,2BAA2B,EAC3B,uCAAuC,EACvC,GAAG,EACH,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,iCAAiC,EAAE,CACpE,CAAC;oBACN,CAAC;oBACD,MAAM,SAAS,GAAkB;wBAC7B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;wBAClD,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB;qBAChE,CAAC;oBACF,gFAAgF;oBAChF,wCAAwC;oBACxC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC1I,IAAI,MAAM,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBAC3F,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBACD,KAAK,UAAU,EAAE,CAAC;oBACd,8EAA8E;oBAC9E,wDAAwD;oBACxD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACpD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,0CAA0C,EAC1C,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,qCAAqC,EAAE,CACrE,CAAC;oBACN,CAAC;oBACD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM,OAAO,GAAkC,EAAE,CAAC;oBAClD,MAAM,UAAU,GAAsB,EAAE,CAAC;oBACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BACxB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;gCAC5B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;gCAC1B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gCACrB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gCACzB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gCACzB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;6BAChC,CAAC,CAAC,CAAC;4BACJ,SAAS;wBACb,CAAC;wBACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;4BAAE,SAAS,CAAC,uCAAuC;wBAChF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAuC,CAAC,CAAC;wBAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBACpC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;4BAC5B,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;4BAClC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;4BACnC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM;4BACvC,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,OAAO;yBACpB,CAAC,CAAC,CAAC;oBACR,CAAC;oBACD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;wBACtC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;oBAClH,IAAI,KAAK,GAAG,CAAC,CAAC;oBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;4BAAE,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC9D,CAAC;oBACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7C,CAAC;gBACD,KAAK,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrG,KAAK,SAAS,EAAE,CAAC;oBACb,kBAAkB;oBAClB,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACpD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,yCAAyC,EACzC,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,0CAA0C,EAAE,CAC1E,CAAC;oBACN,CAAC;oBACD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;oBACtE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC1D,OAAO,gBAAgB,CAAC,kBAAkB,CAAC;4BACvC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;4BAChC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;4BAC3B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;4BAC/B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;4BAC/B,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ;yBACtC,CAAC,CAAC,CAAC;oBACR,CAAC;oBACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBACpC,OAAO,gBAAgB,CAAC,kBAAkB,CAAC;4BACvC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;4BAClC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;4BACnC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM;4BACvC,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,OAAO;yBACpB,CAAC,CAAC,CAAC;oBACR,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBACnE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACrD,OAAO,aAAa,CAChB,2BAA2B,EAC3B,oFAAoF,EACpF,GAAG,EACH;4BACI,KAAK,EAAE,MAAM;4BACb,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;4BAC5B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;4BAChC,QAAQ,EAAE,yCAAyC;yBACtD,CACJ,CAAC;oBACN,CAAC;oBACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;oBAC5E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,aAAa,CAChB,2BAA2B,EAC3B,kBAAkB,UAAU,CAAC,MAAM,sDAAsD,EACzF,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,2CAA2C,EAAE,CAC3E,CAAC;oBACN,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;oBAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;wBAC/B,OAAO,aAAa,CAChB,2BAA2B,EAC3B,kBAAkB,IAAI,CAAC,SAAS,CAAC,EAAE,sCAAsC,EACzE,GAAG,EACH,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,wCAAwC,EAAE,CACxE,CAAC;oBACN,CAAC;oBACD,MAAM,SAAS,GAAG,EAAE,GAAI,IAAI,CAAC,SAAgD,EAAE,EAAE,EAAE,MAAM,EAAgC,CAAC;oBAC1H,OAAO,gBAAgB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACxH,CAAC;gBACD,KAAK,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,oBAAoB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5P,SAAS,OAAO,aAAa,CACzB,gBAAgB,EAChB,WAAW,CAAC,CAAC,IAAI,sBAAsB,EACvC,GAAG,EACH;oBACI,eAAe,EAAE,CAAC,CAAC,IAAI;oBACvB,QAAQ,EAAE,uCAAuC;iBACpD,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;YACvD,OAAO,aAAa,CAAC,eAAe,EAAE,iCAAiC,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAoB;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
|
package/dist/Portal.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { DaemonSeam } from "./DaemonSeam.ts";
|
|
2
2
|
import { type AguiEvent } from "./types.ts";
|
|
3
|
-
import type { ResumeEntry } from "@ag-ui/core";
|
|
4
|
-
type PortalSeam = Pick<DaemonSeam, "subscribeToEvents" | "pendingProposals" | "resolveProposal" | "runLoop" | "cancelDrain">;
|
|
3
|
+
import type { Interrupt, ResumeEntry } from "@ag-ui/core";
|
|
4
|
+
type PortalSeam = Pick<DaemonSeam, "subscribeToEvents" | "pendingProposals" | "resolveProposal" | "pendingClientInteractions" | "resolveClientInteraction" | "runLoop" | "cancelDrain">;
|
|
5
5
|
export default class Portal {
|
|
6
6
|
#private;
|
|
7
7
|
constructor(seam: PortalSeam);
|
|
8
8
|
start(): void;
|
|
9
9
|
stop(): void;
|
|
10
|
+
interruptForToolCall(toolCallId: string): Interrupt | null;
|
|
10
11
|
openThread(args: {
|
|
11
12
|
workspaceId: number;
|
|
12
13
|
workerId: number;
|
|
@@ -28,10 +29,8 @@ export default class Portal {
|
|
|
28
29
|
auto?: boolean;
|
|
29
30
|
};
|
|
30
31
|
openPaths?: string[];
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
childAlias?: string | null;
|
|
34
|
-
childModel?: string;
|
|
32
|
+
selector?: string;
|
|
33
|
+
childSelector?: string | null;
|
|
35
34
|
}): Promise<{
|
|
36
35
|
loopId: number;
|
|
37
36
|
} | null>;
|
package/dist/Portal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgB1D,KAAK,UAAU,GAAG,IAAI,CAClB,UAAU,EACR,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,GAC3B,0BAA0B,GAC1B,SAAS,GACT,aAAa,CAClB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,MAAM;;IASvB,YAAY,IAAI,EAAE,UAAU,EAM3B;IAGD,KAAK,IAAI,IAAI,CA0BZ;IAED,IAAI,IAAI,IAAI,CAIX;IAmCD,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAEzD;IASD,UAAU,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAiB9K;IAED,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAyD;IAExG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAE5E;IAMD,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAOvD;IAMD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAIxD;IAMK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAgBrP;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAA6C;IAIxE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzF;CACJ"}
|
package/dist/Portal.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// the HTTP/SSE listener (the outward edge) and workspace establishment (workspace-lifecycle
|
|
6
6
|
// hook, pending) wrap this; the engine is testable against a mock seam today.
|
|
7
7
|
import EventRouter from "./EventRouter.js";
|
|
8
|
-
import ProposalHitl from "./ProposalHitl.js";
|
|
8
|
+
import ProposalHitl, {} from "./ProposalHitl.js";
|
|
9
9
|
import { EventType } from "./types.js";
|
|
10
10
|
export default class Portal {
|
|
11
11
|
#seam;
|
|
@@ -13,10 +13,11 @@ export default class Portal {
|
|
|
13
13
|
// all its open AG-UI Runs — concurrent action Runs must not clobber each other's gates.
|
|
14
14
|
#threads = new Map();
|
|
15
15
|
#hitl;
|
|
16
|
+
#activeInterrupts = new Map();
|
|
16
17
|
#off = null;
|
|
17
18
|
constructor(seam) {
|
|
18
19
|
this.#seam = seam;
|
|
19
|
-
this.#hitl = new ProposalHitl(seam, (workspaceId, workerId,
|
|
20
|
+
this.#hitl = new ProposalHitl(seam, (workspaceId, workerId, loopId, batch) => this.#emitHitl(workspaceId, workerId, loopId, batch));
|
|
20
21
|
}
|
|
21
22
|
// One subscription for the whole module: render each event to its workspace's thread.
|
|
22
23
|
start() {
|
|
@@ -57,13 +58,33 @@ export default class Portal {
|
|
|
57
58
|
this.#off?.();
|
|
58
59
|
this.#off = null;
|
|
59
60
|
}
|
|
60
|
-
#
|
|
61
|
+
#emitInterrupt(workspaceId, workerId, loopId, events) {
|
|
61
62
|
if (events.length === 0)
|
|
62
63
|
return;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
const workerThreads = [...(this.#threads.get(workspaceId) ?? [])]
|
|
65
|
+
.filter((thread) => thread.workerId === workerId);
|
|
66
|
+
const loopThreads = workerThreads.filter((thread) => thread.loopId === loopId);
|
|
67
|
+
for (const thread of loopThreads.length > 0 ? loopThreads : workerThreads)
|
|
68
|
+
thread.emit(events);
|
|
69
|
+
}
|
|
70
|
+
#withHitl(batch, emit) {
|
|
71
|
+
for (const interrupt of batch.interrupts) {
|
|
72
|
+
this.#activeInterrupts.set(interrupt.toolCallId ?? interrupt.id, interrupt);
|
|
66
73
|
}
|
|
74
|
+
try {
|
|
75
|
+
emit(batch.events);
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
for (const interrupt of batch.interrupts) {
|
|
79
|
+
this.#activeInterrupts.delete(interrupt.toolCallId ?? interrupt.id);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
#emitHitl(workspaceId, workerId, loopId, batch) {
|
|
84
|
+
this.#withHitl(batch, (events) => this.#emitInterrupt(workspaceId, workerId, loopId, events));
|
|
85
|
+
}
|
|
86
|
+
interruptForToolCall(toolCallId) {
|
|
87
|
+
return this.#activeInterrupts.get(toolCallId) ?? null;
|
|
67
88
|
}
|
|
68
89
|
// Bind a client's SSE to a workspace and AG-UI Run. The emit consumer ends its stream when it
|
|
69
90
|
// sees RUN_FINISHED / RUN_ERROR (the router's terminal projection) — the engine
|
|
@@ -121,8 +142,8 @@ export default class Portal {
|
|
|
121
142
|
// subscription as loop/terminated). Re-surface any pending stopped-world first.
|
|
122
143
|
async run(thread, args) {
|
|
123
144
|
const pending = await this.#hitl.resurface(args.workspaceId, args.workerId);
|
|
124
|
-
if (pending.length > 0) {
|
|
125
|
-
thread.emit(
|
|
145
|
+
if (pending.events.length > 0) {
|
|
146
|
+
this.#withHitl(pending, (events) => thread.emit(events));
|
|
126
147
|
return null;
|
|
127
148
|
}
|
|
128
149
|
const ack = await this.#seam.runLoop(args);
|