@osolmaz/pi-workflows 0.9.0 → 0.10.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/README.md +50 -16
- package/dist/builtins/autodevise.workflow.d.ts +58 -0
- package/dist/builtins/autodevise.workflow.js +190 -0
- package/dist/builtins/autodevise.workflow.js.map +1 -0
- package/dist/builtins/autoimplement.workflow.d.ts +154 -0
- package/dist/builtins/autoimplement.workflow.js +729 -0
- package/dist/builtins/autoimplement.workflow.js.map +1 -0
- package/dist/builtins/catalog.js +5 -1
- package/dist/builtins/catalog.js.map +1 -1
- package/dist/builtins/index.d.ts +3 -0
- package/dist/builtins/index.js +4 -0
- package/dist/builtins/index.js.map +1 -0
- package/dist/builtins/monitor.workflow.d.ts +25 -3
- package/dist/builtins/monitor.workflow.js +200 -13
- package/dist/builtins/monitor.workflow.js.map +1 -1
- package/dist/extension/herdr-viewer.js +2 -6
- package/dist/extension/herdr-viewer.js.map +1 -1
- package/dist/render/graph-render.js +13 -2
- package/dist/render/graph-render.js.map +1 -1
- package/dist/workflows/catalog.d.ts +1 -0
- package/dist/workflows/catalog.js +6 -0
- package/dist/workflows/catalog.js.map +1 -1
- package/dist/workflows/composition.d.ts +45 -0
- package/dist/workflows/composition.js +471 -0
- package/dist/workflows/composition.js.map +1 -0
- package/dist/workflows/decision.d.ts +11 -5
- package/dist/workflows/decision.js.map +1 -1
- package/dist/workflows/definition.d.ts +22 -3
- package/dist/workflows/definition.js +46 -3
- package/dist/workflows/definition.js.map +1 -1
- package/dist/workflows/engine.js +115 -16
- package/dist/workflows/engine.js.map +1 -1
- package/dist/workflows/graph.js +8 -6
- package/dist/workflows/graph.js.map +1 -1
- package/dist/workflows/index.d.ts +3 -2
- package/dist/workflows/index.js +2 -1
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/loader.d.ts +5 -4
- package/dist/workflows/loader.js +118 -18
- package/dist/workflows/loader.js.map +1 -1
- package/dist/workflows/schema.d.ts +3 -1
- package/dist/workflows/schema.js +49 -2
- package/dist/workflows/schema.js.map +1 -1
- package/dist/workflows/store.js +32 -2
- package/dist/workflows/store.js.map +1 -1
- package/dist/workflows/types.d.ts +77 -2
- package/docs/CONTROLLERS.md +1 -1
- package/docs/DESIGN_PHILOSOPHY.md +1 -1
- package/docs/MONITOR.md +35 -18
- package/docs/WORKFLOW_COMPOSITION.md +326 -0
- package/docs/plans/2026-08-19-workflow-composition-plan.md +300 -0
- package/docs/run-bundles.md +24 -10
- package/docs/workflows.md +65 -12
- package/examples/workflows/autodevise.workflow.ts +1 -0
- package/examples/workflows/autoimplement.workflow.ts +1 -92
- package/herdr-plugin.toml +1 -1
- package/package.json +5 -1
- package/skills/monitor/SKILL.md +6 -1
- package/skills/pi-workflows/SKILL.md +3 -1
- package/src/builtins/autodevise.workflow.ts +231 -0
- package/src/builtins/autoimplement.workflow.ts +856 -0
- package/src/builtins/catalog.ts +5 -1
- package/src/builtins/index.ts +13 -0
- package/src/builtins/monitor.workflow.ts +242 -15
- package/src/extension/herdr-viewer.ts +1 -6
- package/src/render/graph-render.ts +14 -2
- package/src/workflows/catalog.ts +7 -0
- package/src/workflows/composition.ts +627 -0
- package/src/workflows/decision.ts +12 -5
- package/src/workflows/definition.ts +118 -8
- package/src/workflows/engine.ts +151 -18
- package/src/workflows/graph.ts +8 -6
- package/src/workflows/index.ts +20 -0
- package/src/workflows/loader.ts +186 -18
- package/src/workflows/schema.ts +62 -2
- package/src/workflows/store.ts +37 -2
- package/src/workflows/types.ts +109 -2
- package/examples/workflows/elegant-solution.workflow.ts +0 -95
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/workflows/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/workflows/definition.ts"],"names":[],"mappings":"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"}
|
package/dist/workflows/engine.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
2
2
|
import { isDeepStrictEqual } from "node:util";
|
|
3
3
|
import { resolveArtifacts } from "./artifacts.js";
|
|
4
|
+
import { compileWorkflowDefinition, compositionMetadata, isCompiledWorkflow, } from "./composition.js";
|
|
4
5
|
import { CancelledError, errorMessage, isAbortLikeError, isClaimLostError, isRunParkedError, RunParkedError, TimeoutError, WorkflowSourceChangedError, } from "./errors.js";
|
|
5
6
|
import { resolveNext, resolveNextForOutcome, validateWorkflowDefinition } from "./graph.js";
|
|
6
7
|
import { extractJsonValue } from "./json.js";
|
|
7
8
|
import { runShellAction, shellResultFromError } from "./shell.js";
|
|
8
|
-
import { RUN_STATE_SCHEMA, WorkflowRunStore, createRunId, readRunBundle } from "./store.js";
|
|
9
|
+
import { RUN_STATE_SCHEMA, WorkflowRunStore, createDefinitionSnapshot, createRunId, readRunBundle, } from "./store.js";
|
|
9
10
|
import { UpdateRateLimiter, updateReceipt, validateWorkflowUpdate } from "./updates.js";
|
|
10
11
|
const DEFAULT_NODE_TIMEOUT_MS = 15 * 60_000;
|
|
11
12
|
const DEFAULT_MAX_STEPS = 100;
|
|
@@ -122,10 +123,12 @@ export class WorkflowEngine {
|
|
|
122
123
|
return this.paused;
|
|
123
124
|
}
|
|
124
125
|
async run(workflow, input, options = {}) {
|
|
126
|
+
workflow = isCompiledWorkflow(workflow) ? workflow : compileWorkflowDefinition(workflow);
|
|
125
127
|
validateWorkflowDefinition(workflow);
|
|
126
128
|
// Fail before any bundle exists so bad input cannot leave a partial run
|
|
127
129
|
// on disk or silently change shape when state.json round-trips.
|
|
128
|
-
const
|
|
130
|
+
const suppliedInput = input === undefined ? null : input;
|
|
131
|
+
const normalizedInput = workflow.input ? await workflow.input(suppliedInput) : suppliedInput;
|
|
129
132
|
assertJsonSerializable(normalizedInput, "Workflow run input");
|
|
130
133
|
if (options.runId !== undefined && !/^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$/.test(options.runId)) {
|
|
131
134
|
throw new Error(`Invalid workflow run id: ${JSON.stringify(options.runId)}`);
|
|
@@ -166,6 +169,7 @@ export class WorkflowEngine {
|
|
|
166
169
|
* state; only the interrupted node and everything downstream rerun.
|
|
167
170
|
*/
|
|
168
171
|
async resumeRun(workflow, runId, options = {}) {
|
|
172
|
+
workflow = isCompiledWorkflow(workflow) ? workflow : compileWorkflowDefinition(workflow);
|
|
169
173
|
validateWorkflowDefinition(workflow);
|
|
170
174
|
// Reset before any await: a park or cancel landing during preparation
|
|
171
175
|
// must survive, or a host drain would hang while the run executes.
|
|
@@ -175,7 +179,7 @@ export class WorkflowEngine {
|
|
|
175
179
|
const bundle = await this.store.prepareRunResume(runId);
|
|
176
180
|
const { runDir } = bundle;
|
|
177
181
|
const state = bundle.state;
|
|
178
|
-
const sourceMismatch =
|
|
182
|
+
const sourceMismatch = workflowIdentityMismatch(state, workflow, options.workflowSource);
|
|
179
183
|
if (sourceMismatch && options.force !== true) {
|
|
180
184
|
throw new WorkflowSourceChangedError(runId);
|
|
181
185
|
}
|
|
@@ -220,7 +224,7 @@ export class WorkflowEngine {
|
|
|
220
224
|
return { runDir, state };
|
|
221
225
|
}
|
|
222
226
|
try {
|
|
223
|
-
await this.executeGraph(workflow, state, runDir, point.nodeId, state.steps
|
|
227
|
+
await this.executeGraph(workflow, state, runDir, point.nodeId, countExecutableSteps(workflow, state.steps), point.lastOutput);
|
|
224
228
|
}
|
|
225
229
|
catch (error) {
|
|
226
230
|
if (isRunParkedError(error) || this.parked) {
|
|
@@ -237,6 +241,7 @@ export class WorkflowEngine {
|
|
|
237
241
|
* and step accounting, and continues routing after the checkpoint.
|
|
238
242
|
*/
|
|
239
243
|
async continueRun(workflow, parentRunId, input, options = {}) {
|
|
244
|
+
workflow = isCompiledWorkflow(workflow) ? workflow : compileWorkflowDefinition(workflow);
|
|
240
245
|
validateWorkflowDefinition(workflow);
|
|
241
246
|
this.cancelled = false;
|
|
242
247
|
this.paused = false;
|
|
@@ -248,11 +253,12 @@ export class WorkflowEngine {
|
|
|
248
253
|
if (parent.state.status !== "waiting" || parent.state.waitingOn === undefined) {
|
|
249
254
|
throw new Error(`Cannot continue workflow run ${parentRunId} with status ${parent.state.status}`);
|
|
250
255
|
}
|
|
251
|
-
const sourceMismatch =
|
|
256
|
+
const sourceMismatch = workflowIdentityMismatch(parent.state, workflow, options.workflowSource);
|
|
252
257
|
if (sourceMismatch && options.force !== true) {
|
|
253
258
|
throw new WorkflowSourceChangedError(parentRunId);
|
|
254
259
|
}
|
|
255
|
-
const
|
|
260
|
+
const suppliedInput = input === undefined ? null : input;
|
|
261
|
+
const normalizedInput = workflow.input ? await workflow.input(suppliedInput) : suppliedInput;
|
|
256
262
|
assertJsonSerializable(normalizedInput, "Workflow run input");
|
|
257
263
|
if (options.runId !== undefined && !/^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$/.test(options.runId)) {
|
|
258
264
|
throw new Error(`Invalid workflow run id: ${JSON.stringify(options.runId)}`);
|
|
@@ -286,7 +292,7 @@ export class WorkflowEngine {
|
|
|
286
292
|
return { runDir, state };
|
|
287
293
|
}
|
|
288
294
|
try {
|
|
289
|
-
await this.executeGraph(workflow, state, runDir, point.nodeId, state.steps
|
|
295
|
+
await this.executeGraph(workflow, state, runDir, point.nodeId, countExecutableSteps(workflow, state.steps), point.lastOutput);
|
|
290
296
|
}
|
|
291
297
|
catch (error) {
|
|
292
298
|
if (isRunParkedError(error) || this.parked) {
|
|
@@ -375,6 +381,7 @@ export class WorkflowEngine {
|
|
|
375
381
|
}
|
|
376
382
|
async createRunState(workflow, input, workflowSource, runId) {
|
|
377
383
|
const now = new Date().toISOString();
|
|
384
|
+
const composition = compositionMetadata(workflow);
|
|
378
385
|
return {
|
|
379
386
|
schema: RUN_STATE_SCHEMA,
|
|
380
387
|
traceSeq: 0,
|
|
@@ -382,6 +389,10 @@ export class WorkflowEngine {
|
|
|
382
389
|
workflowName: workflow.name,
|
|
383
390
|
...(await this.resolveTitleBounded(workflow, input)),
|
|
384
391
|
...(workflowSource !== undefined ? { workflowSource } : {}),
|
|
392
|
+
...(composition?.sources.length ? { workflowSources: composition.sources } : {}),
|
|
393
|
+
...(composition?.snapshot.mounts.length
|
|
394
|
+
? { definitionDigest: definitionDigest(workflow) }
|
|
395
|
+
: {}),
|
|
385
396
|
startedAt: now,
|
|
386
397
|
updatedAt: now,
|
|
387
398
|
status: "running",
|
|
@@ -394,14 +405,20 @@ export class WorkflowEngine {
|
|
|
394
405
|
}
|
|
395
406
|
async executeGraph(workflow, state, runDir, startNodeId = workflow.startAt, executedStepsBase = 0, initialLastOutput) {
|
|
396
407
|
const maxSteps = workflow.maxSteps ?? this.maxSteps;
|
|
408
|
+
const composition = compositionMetadata(workflow);
|
|
397
409
|
let currentNodeId = startNodeId;
|
|
398
410
|
let executedSteps = executedStepsBase;
|
|
399
411
|
let lastOutput = initialLastOutput;
|
|
400
412
|
while (currentNodeId !== null) {
|
|
401
413
|
await this.holdWhilePaused(state, runDir);
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
414
|
+
const isTransition = composition?.entries[currentNodeId] !== undefined ||
|
|
415
|
+
composition?.exits[currentNodeId] !== undefined;
|
|
416
|
+
if (!isTransition) {
|
|
417
|
+
executedSteps += 1;
|
|
418
|
+
if (executedSteps > maxSteps) {
|
|
419
|
+
throw new Error(`Workflow exceeded maxSteps=${maxSteps}; aborting to avoid an unbounded loop`);
|
|
420
|
+
}
|
|
421
|
+
assertInvocationStepLimit(composition, currentNodeId, state.steps);
|
|
405
422
|
}
|
|
406
423
|
const node = workflow.nodes[currentNodeId];
|
|
407
424
|
if (!node) {
|
|
@@ -413,7 +430,7 @@ export class WorkflowEngine {
|
|
|
413
430
|
// as in-flight, and resume reruns it with a fresh attempt.
|
|
414
431
|
throw new RunParkedError();
|
|
415
432
|
}
|
|
416
|
-
this.recordAttempt(state, attempt);
|
|
433
|
+
this.recordAttempt(workflow, state, attempt);
|
|
417
434
|
// The terminal node event carries the output, receipt, and conversation
|
|
418
435
|
// linkage so the trace alone is sufficient to reconstruct the run.
|
|
419
436
|
await this.persist(runDir, state, {
|
|
@@ -436,6 +453,34 @@ export class WorkflowEngine {
|
|
|
436
453
|
currentNodeId = this.routeAfterFailure(workflow, state, attempt);
|
|
437
454
|
continue;
|
|
438
455
|
}
|
|
456
|
+
const entered = composition?.entries[attempt.result.nodeId];
|
|
457
|
+
if (entered !== undefined) {
|
|
458
|
+
const value = attempt.result.output;
|
|
459
|
+
await this.persist(runDir, state, {
|
|
460
|
+
scope: "run",
|
|
461
|
+
type: "include_entered",
|
|
462
|
+
payload: {
|
|
463
|
+
mountPath: entered.mountPath.split("/"),
|
|
464
|
+
workflowName: entered.workflowName,
|
|
465
|
+
invocation: value?.invocation ?? 1,
|
|
466
|
+
},
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
const exited = composition?.exits[attempt.result.nodeId];
|
|
470
|
+
if (exited !== undefined) {
|
|
471
|
+
const entrySteps = state.steps.filter((step) => step.nodeId === exited.mountPath);
|
|
472
|
+
await this.persist(runDir, state, {
|
|
473
|
+
scope: "run",
|
|
474
|
+
type: "include_exited",
|
|
475
|
+
payload: {
|
|
476
|
+
mountPath: exited.mountPath.split("/"),
|
|
477
|
+
workflowName: composition?.scopes[exited.mountPath]?.workflowName ?? exited.mountName,
|
|
478
|
+
invocation: entrySteps.length,
|
|
479
|
+
exit: exited.exitName,
|
|
480
|
+
output: attempt.result.output ?? null,
|
|
481
|
+
},
|
|
482
|
+
});
|
|
483
|
+
}
|
|
439
484
|
lastOutput = attempt.result.output;
|
|
440
485
|
if (node.nodeType === "checkpoint") {
|
|
441
486
|
await this.finishRun(runDir, state, "waiting", {
|
|
@@ -480,13 +525,13 @@ export class WorkflowEngine {
|
|
|
480
525
|
await this.persist(runDir, state, { scope: "run", type: "run_resumed", payload: {} });
|
|
481
526
|
}
|
|
482
527
|
routeAfterFailure(workflow, state, attempt) {
|
|
528
|
+
if (attempt.result.outcome === "cancelled" || this.cancelled) {
|
|
529
|
+
throw new CancelledError();
|
|
530
|
+
}
|
|
483
531
|
const next = resolveNextForOutcome(workflow.edges, attempt.result.nodeId, attempt.result);
|
|
484
532
|
if (next !== null) {
|
|
485
533
|
return next;
|
|
486
534
|
}
|
|
487
|
-
if (attempt.result.outcome === "cancelled" || this.cancelled) {
|
|
488
|
-
throw new CancelledError();
|
|
489
|
-
}
|
|
490
535
|
if (attempt.result.outcome === "timed_out") {
|
|
491
536
|
state.status = "timed_out";
|
|
492
537
|
}
|
|
@@ -494,7 +539,7 @@ export class WorkflowEngine {
|
|
|
494
539
|
? attempt.error
|
|
495
540
|
: new Error(attempt.result.error ?? `Workflow node failed: ${attempt.result.nodeId}`);
|
|
496
541
|
}
|
|
497
|
-
recordAttempt(state, attempt) {
|
|
542
|
+
recordAttempt(workflow, state, attempt) {
|
|
498
543
|
state.results[attempt.result.nodeId] = attempt.result;
|
|
499
544
|
if (attempt.result.outcome === "ok") {
|
|
500
545
|
state.outputs[attempt.result.nodeId] = attempt.result.output;
|
|
@@ -504,6 +549,11 @@ export class WorkflowEngine {
|
|
|
504
549
|
// must not survive next to a non-ok latest result.
|
|
505
550
|
delete state.outputs[attempt.result.nodeId];
|
|
506
551
|
}
|
|
552
|
+
const exit = compositionMetadata(workflow)?.exits[attempt.result.nodeId];
|
|
553
|
+
if (exit !== undefined && attempt.result.outcome === "ok") {
|
|
554
|
+
state.outputs[exit.mountPath] = attempt.result.output;
|
|
555
|
+
state.results[exit.mountPath] = { ...attempt.result, nodeId: exit.mountPath };
|
|
556
|
+
}
|
|
507
557
|
const step = {
|
|
508
558
|
attemptId: attempt.result.attemptId,
|
|
509
559
|
nodeId: attempt.result.nodeId,
|
|
@@ -900,6 +950,40 @@ function abortRejection(signal) {
|
|
|
900
950
|
signal.addEventListener("abort", onAbort, { once: true });
|
|
901
951
|
});
|
|
902
952
|
}
|
|
953
|
+
function countExecutableSteps(workflow, steps) {
|
|
954
|
+
const metadata = compositionMetadata(workflow);
|
|
955
|
+
if (metadata === undefined)
|
|
956
|
+
return steps.length;
|
|
957
|
+
return steps.filter((step) => metadata.entries[step.nodeId] === undefined && metadata.exits[step.nodeId] === undefined).length;
|
|
958
|
+
}
|
|
959
|
+
function assertInvocationStepLimit(metadata, nodeId, steps) {
|
|
960
|
+
if (metadata === undefined)
|
|
961
|
+
return;
|
|
962
|
+
const scopes = Object.values(metadata.scopes)
|
|
963
|
+
.filter((candidate) => candidate.path !== "" &&
|
|
964
|
+
candidate.maxSteps !== undefined &&
|
|
965
|
+
nodeId.startsWith(`${candidate.path}/`))
|
|
966
|
+
.sort((a, b) => a.path.length - b.path.length);
|
|
967
|
+
for (const scope of scopes) {
|
|
968
|
+
let entryIndex = -1;
|
|
969
|
+
for (let index = steps.length - 1; index >= 0; index -= 1) {
|
|
970
|
+
if (steps[index]?.nodeId === scope.path) {
|
|
971
|
+
entryIndex = index;
|
|
972
|
+
break;
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
if (entryIndex < 0)
|
|
976
|
+
throw new Error(`Workflow include entry is missing: ${scope.path}`);
|
|
977
|
+
const attempts = steps
|
|
978
|
+
.slice(entryIndex + 1)
|
|
979
|
+
.filter((step) => step.nodeId.startsWith(`${scope.path}/`) &&
|
|
980
|
+
metadata.entries[step.nodeId] === undefined &&
|
|
981
|
+
metadata.exits[step.nodeId] === undefined).length;
|
|
982
|
+
if (attempts >= scope.maxSteps) {
|
|
983
|
+
throw new Error(`Included workflow ${scope.workflowName} at ${scope.path} exceeded maxSteps=${scope.maxSteps}`);
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
}
|
|
903
987
|
/**
|
|
904
988
|
* Outputs are persisted to the run bundle, so they must be JSON-serializable.
|
|
905
989
|
* Failing here turns a bad callback return value into a normal node failure
|
|
@@ -916,6 +1000,21 @@ function workflowSourceMismatch(state, source) {
|
|
|
916
1000
|
return (state.workflowHash !== undefined &&
|
|
917
1001
|
(source.kind !== "file" || state.workflowHash !== source.hash));
|
|
918
1002
|
}
|
|
1003
|
+
function workflowIdentityMismatch(state, workflow, source) {
|
|
1004
|
+
if (workflowSourceMismatch(state, source))
|
|
1005
|
+
return true;
|
|
1006
|
+
const metadata = compositionMetadata(workflow);
|
|
1007
|
+
const currentSources = metadata?.sources ?? [];
|
|
1008
|
+
if (!isDeepStrictEqual(state.workflowSources ?? [], currentSources))
|
|
1009
|
+
return true;
|
|
1010
|
+
const currentDigest = metadata?.snapshot.mounts.length ? definitionDigest(workflow) : undefined;
|
|
1011
|
+
return state.definitionDigest !== currentDigest;
|
|
1012
|
+
}
|
|
1013
|
+
function definitionDigest(workflow) {
|
|
1014
|
+
return `sha256:${createHash("sha256")
|
|
1015
|
+
.update(JSON.stringify(createDefinitionSnapshot(workflow)))
|
|
1016
|
+
.digest("hex")}`;
|
|
1017
|
+
}
|
|
919
1018
|
function assertJsonSerializable(value, what) {
|
|
920
1019
|
let encoded;
|
|
921
1020
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflows/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflows/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AA0BpB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAExF,MAAM,uBAAuB,GAAG,EAAE,GAAG,MAAM,CAAC;AAC5C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAC7C,uEAAuE;AACvE,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAwBrC;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IACR,QAAQ,CAAoB;IAC5B,gBAAgB,CAAuC;IACvD,KAAK,CAAmB;IACxB,oBAAoB,CAAS;IAC7B,QAAQ,CAAS;IACjB,OAAO,CAAoC;IAC3C,YAAY,CAAyC;IACrD,cAAc,CAA2C;IAClE,WAAW,GAA2B,IAAI,CAAC;IAC3C,aAAa,CAQP;IACG,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;IACtD,kBAAkB,GAAG,IAAI,GAAG,EAA0C,CAAC;IAChF,SAAS,GAAG,KAAK,CAAC;IAClB,MAAM,GAAG,KAAK,CAAC;IACf,MAAM,GAAG,KAAK,CAAC;IACf,SAAS,GAAwB,IAAI,CAAC;IAE9C,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,uBAAuB,CAAC;QACpF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/C,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,OAAe,EACf,KAA0B,EAC1B,cAAuB;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IACE,MAAM,KAAK,SAAS;YACpB,MAAM,CAAC,MAAM,KAAK,IAAI;YACtB,MAAM,CAAC,SAAS,KAAK,OAAO;YAC5B,MAAM,CAAC,MAAM,CAAC,OAAO,EACrB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CACzF,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GACd,cAAc,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,IAAI,cAAc,EAAE,CAAC;QACpE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,MAAM,KAAK,CAAC;QAC9C,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CACtD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,SAAS,EAChB,MAAM,EACN,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAC1B,CAAC;YACF,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;YACnE,CAAC;YACD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACnF,OAAO,MAAM,WAAW,CAAC;IAC3B,CAAC;IAED,mEAAmE;IACnE,MAAM;QACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QAC9C,yEAAyE;QACzE,mCAAmC;QACnC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,8CAA8C;IAC9C,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IACrB,CAAC;IAED,uEAAuE;IACvE,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAA4B,EAC5B,KAAc,EACd,OAAO,GAAwD,EAAE;QAEjE,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACzF,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACrC,wEAAwE;QACxE,gEAAgE;QAChE,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACzD,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC7F,sBAAsB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CACrC,QAAQ,EACR,eAAe,EACf,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,KAAK,CACd,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;YAChC,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE;gBACP,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB;SACF,CAAC,CAAC;QACH,sEAAsE;QACtE,sEAAsE;QACtE,oCAAoC;QACpC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACb,QAA4B,EAC5B,KAAa,EACb,OAAO,GAAyD,EAAE;QAElE,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACzF,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACrC,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACzF,IAAI,cAAc,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3D,mEAAmE;QACnE,uEAAuE;QACvE,kEAAkE;QAClE,OAAO,KAAK,CAAC,MAAM,CAAC;QACpB,OAAO,KAAK,CAAC,WAAW,CAAC;QACzB,OAAO,KAAK,CAAC,gBAAgB,CAAC;QAC9B,OAAO,KAAK,CAAC,oBAAoB,CAAC;QAClC,OAAO,KAAK,CAAC,YAAY,CAAC;QAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;YAChC,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE;gBACP,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;gBACjC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E;SACF,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEzC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1B,qEAAqE;YACrE,6DAA6D;YAC7D,+DAA+D;YAC/D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;oBAC7C,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,WAAW,EAAE,KAAK,CAAC,UAAU;iBAC9B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,KAAK,WAAW,CAAC;gBAC5D,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACrE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,yBAAyB,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE;iBACxF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CACrB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,KAAK,CAAC,MAAM,EACZ,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,EAC3C,KAAK,CAAC,UAAU,CACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CACf,QAA4B,EAC5B,WAAmB,EACnB,KAAc,EACd,OAAO,GAAyE,EAAE;QAElF,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACzF,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACtE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,iDAAiD,WAAW,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CACb,gCAAgC,WAAW,gBAAgB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CACjF,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAChG,IAAI,cAAc,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,0BAA0B,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACzD,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC7F,sBAAsB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CACrC,QAAQ,EACR,eAAe,EACf,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,KAAK,CACd,CAAC;QACF,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,wEAAwE;QACxE,mEAAmE;QACnE,KAAK,CAAC,OAAO,GAAG,CAAC,MAAM,gBAAgB,CACrC,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,MAAM,CACd,CAAgC,CAAC;QAClC,KAAK,CAAC,OAAO,GAAG,CAAC,MAAM,gBAAgB,CACrC,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,MAAM,CACd,CAAgC,CAAC;QAClC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,gBAAgB,CACnC,MAAM,CAAC,KAAK,CAAC,KAAK,EAClB,MAAM,CAAC,MAAM,CACd,CAA8B,CAAC;QAChC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;YAChC,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE;gBACP,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,aAAa,EAAE,WAAW;gBAC1B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;gBAClC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;aACjC;SACF,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1B,qEAAqE;YACrE,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACpF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CACrB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,KAAK,CAAC,MAAM,EACZ,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,EAC3C,KAAK,CAAC,UAAU,CACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,cAAc,CACpB,QAA4B,EAC5B,KAAuB,EACvB,kBAAuC;QAOvC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,iEAAiE;YACjE,8DAA8D;YAC9D,iEAAiE;YACjE,6DAA6D;YAC7D,kEAAkE;YAClE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;YAC1E,IACE,kBAAkB,KAAK,MAAM;gBAC7B,CAAC,aAAa;gBACd,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,KAAK,YAAY,EAC1D,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACjF,CAAC;YACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjF,OAAO,IAAI,KAAK,IAAI;gBAClB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;gBAC7C,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5E,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACnF,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,MAAc,EACd,KAAuB,EACvB,KAAc;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACtE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,oEAAoE;YACpE,mEAAmE;YACnE,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,MAAM,WAAW,CAAC;YACpB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAC/B,QAA4B,EAC5B,KAAc;QAEd,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACzC,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,EACrD,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9F,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,QAA4B,EAC5B,KAAc,EACd,cAA0C,EAC1C,KAAyB;QAEzB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO;YACL,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1C,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACpD,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;gBACrC,CAAC,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBAClD,CAAC,CAAC,EAAE,CAAC;YACP,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,SAAS;YACjB,KAAK;YACL,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,QAA4B,EAC5B,KAAuB,EACvB,MAAc,EACd,WAAW,GAAkB,QAAQ,CAAC,OAAO,EAC7C,iBAAiB,GAAG,CAAC,EACrB,iBAA2B;QAE3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QACpD,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,aAAa,GAAkB,WAAW,CAAC;QAC/C,IAAI,aAAa,GAAG,iBAAiB,CAAC;QACtC,IAAI,UAAU,GAAY,iBAAiB,CAAC;QAE5C,OAAO,aAAa,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,YAAY,GAChB,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,SAAS;gBACjD,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC;YAClD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,aAAa,IAAI,CAAC,CAAC;gBACnB,IAAI,aAAa,GAAG,QAAQ,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,uCAAuC,CAC9E,CAAC;gBACJ,CAAC;gBACD,yBAAyB,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;YACrF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,mEAAmE;gBACnE,2DAA2D;gBAC3D,MAAM,IAAI,cAAc,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,wEAAwE;YACxE,mEAAmE;YACnE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;gBAChC,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa;gBACvE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;gBAC7B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;gBACnC,OAAO,EAAE;oBACP,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;oBAC/B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;oBACrC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrF,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9E,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxF,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,KAAK,SAAS;wBAC/C,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;wBAClD,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACpC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACjE,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAA6C,CAAC;gBAC3E,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;oBAChC,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE;wBACP,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;wBACvC,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;qBACnC;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;gBAClF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;oBAChC,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE;wBACP,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;wBACtC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,YAAY,IAAI,MAAM,CAAC,SAAS;wBACrF,UAAU,EAAE,UAAU,CAAC,MAAM;wBAC7B,IAAI,EAAE,MAAM,CAAC,QAAQ;wBACrB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI;qBACtC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;oBAC7C,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;oBAChC,WAAW,EAAE,UAAU;iBACxB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,aAAa,GAAG,WAAW,CACzB,QAAQ,CAAC,KAAK,EACd,OAAO,CAAC,MAAM,CAAC,MAAM,EACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EACrB,OAAO,CAAC,MAAM,CACf,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,KAAuB,EAAE,MAAc;QACnE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAEO,iBAAiB,CACvB,QAA4B,EAC5B,KAAuB,EACvB,OAAoB;QAEpB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7D,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1F,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YAC3C,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7B,CAAC;QACD,MAAM,OAAO,CAAC,KAAK,YAAY,KAAK;YAClC,CAAC,CAAC,OAAO,CAAC,KAAK;YACf,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,yBAAyB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEO,aAAa,CACnB,QAA4B,EAC5B,KAAuB,EACvB,OAAoB;QAEpB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,mDAAmD;YACnD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACtD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,GAAuB;YAC/B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;YAC7B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;YACjC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC/B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;YACrC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,IAAI,IAAI;YAC7C,uEAAuE;YACvE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI;YACrC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,KAAK,SAAS;gBAC/C,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;gBAClD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,KAAK,CAAC,WAAW,CAAC;QACzB,OAAO,KAAK,CAAC,gBAAgB,CAAC;QAC9B,OAAO,KAAK,CAAC,oBAAoB,CAAC;QAClC,OAAO,KAAK,CAAC,YAAY,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAA4B,EAC5B,KAAuB,EACvB,MAAc,EACd,MAAc,EACd,IAA4B;QAE5B,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;QAC3B,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACnC,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACvC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;YAChC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,cAAc;YACpB,MAAM;YACN,SAAS;YACT,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SACrC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAsB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC7C,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,IAAI,EACJ,IAAI,CACL,CAAC;YACF,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;gBACzF,SAAS;aACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC5C,OAAO;gBACL,MAAM,EAAE;oBACN,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;oBAChF,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;iBAC3B;gBACD,iEAAiE;gBACjE,6DAA6D;gBAC7D,SAAS,EAAE;oBACT,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9D;gBACD,KAAK;aACN,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAc;QACpC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,gBAAgB,CACtB,MAAc,EACd,IAA4B,EAC5B,SAAiB,EACjB,SAAiB,EACjB,OAA4B,EAC5B,MAAe;QAEf,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO;YACL,SAAS;YACT,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO;YACP,SAAS;YACT,UAAU;YACV,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,QAA4B,EAC5B,KAAuB,EACvB,MAAc,EACd,MAAc,EACd,SAAiB,EACjB,IAA4B,EAC5B,IAAuB;QAEvB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,KAAiC,CAAC;QACtC,IAAI,eAA0C,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,mEAAmE;gBACnE,MAAM,IAAI,cAAc,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,IAAI,cAAc,EAAE,CAAC;YAC7B,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,KAAK,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3C,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,IAAI,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAChF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAClC,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,IAAI,EACJ,OAAO,EACP,KAAK,CAAC,MAAM,EACZ,IAAI,CACL,CAAC;YACF,eAAe,GAAG,UAAU,CAAC,IAAI,CAC/B,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;YACF,oEAAoE;YACpE,qEAAqE;YACrE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjF,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnC,oEAAoE;gBACpE,oDAAoD;gBACpD,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,sBAAsB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,MAAM,SAAS,CAAC,CAAC;YAClE,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClF,qEAAqE;gBACrE,qEAAqE;gBACrE,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,eAAe;oBACf,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;iBACtE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAY,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,MAAM,MAAM,YAAY,YAAY,IAAI,MAAM,YAAY,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5F,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1B,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,MAAM,sBAAsB,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YACjC,CAAC;YACD,MAAM,aAAa,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,GAAG,CAAC;YACrD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjD,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;oBAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,IAA4B,EAC5B,OAA4B,EAC5B,KAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,kBAAkB,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,6BAA6B,CAAC,CAAC,EAClE,6BAA6B,CAC9B,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAClC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;aAC7B,CAAC,CAAC;YACH,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,QAA4B,EAC5B,KAAuB,EACvB,MAAc,EACd,MAAc,EACd,SAAiB,EACjB,IAA4B,EAC5B,OAA4B,EAC5B,MAAmB,EACnB,IAAuB;QAEvB,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,YAAY,CAC5B,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,IAAI,EACJ,OAAO,EACP,MAAM,EACN,IAAI,CACL,CAAC;YACJ,KAAK,SAAS;gBACZ,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAC/D,KAAK,QAAQ,EAAE,CAAC;gBACd,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,+BAA+B,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/D,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,0CAA0C,CAAC,CAAC;gBACrF,CAAC;gBACD,MAAM,iBAAiB,GACrB,KAAK,CAAC,KAAK,CAAC,MAAM,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CACxF,CAAC,MAAM,GAAG,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;oBACjD,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,YAAY,EAAE,QAAQ,CAAC,IAAI;oBAC3B,MAAM;oBACN,SAAS;oBACT,iBAAiB;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU;oBAC7B,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;iBACxB,CAAC,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAC/C,CAAC;YACD,KAAK,QAAQ;gBACX,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAClF,KAAK,YAAY;gBACf,OAAO,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,KAAuB,EAAE,MAAmB;QACpE,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK;YACL,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,QAA4B,EAC5B,KAAuB,EACvB,MAAc,EACd,MAAc,EACd,SAAiB,EACjB,IAAyB,EACzB,OAA4B,EAC5B,MAAmB,EACnB,IAAuB;QAEvB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,qEAAqE;YACrE,qEAAqE;YACrE,2BAA2B;YAC3B,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAG,kBAAkB,CAC/B,UAAU,EACV,QAAQ,CAAC,IAAI,EACb,MAAM,EACN,SAAS,EACT,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;YAChC,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,mBAAmB;YACzB,MAAM;YACN,SAAS;YACT,OAAO,EAAE,EAAE,MAAM,EAAE;SACpB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CACjD;YACE,QAAQ,EAAE;gBACR,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,MAAM;gBACN,SAAS;gBACT,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtF;YACD,MAAM;YACN,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBACjE,CAAC,CAAC;oBACE,YAAY,EAAE;wBACZ,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;YAC5E,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC;SACtE,EACD,MAAM,CACP,CAAC;QACF,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,UAAU,EAAE,MAAM;YAClB,GAAG,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,IAAyB,EACzB,OAA4B,EAC5B,MAAe;QAEf,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACxF,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACzD,kEAAkE;YAClE,+DAA+D;YAC/D,sBAAsB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC7C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,IAA0B,EAC1B,OAA4B,EAC5B,MAAc,EACd,SAAiB,EACjB,MAAmB,EACnB,IAAuB;QAEvB,MAAM,aAAa,GAA0B;YAC3C,GAAG,OAAO;YACV,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;SACrF,CAAC;QACF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,KAAuB,EACvB,KAA8B;QAE9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;YAChE,iEAAiE;QACnE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,MAAc,EACd,KAAuB,EACvB,MAAkC,EAClC,MAAqE;QAErE,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACxD,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;QACD,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;QACD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,CAAC;QACzB,OAAO,KAAK,CAAC,gBAAgB,CAAC;QAC9B,OAAO,KAAK,CAAC,oBAAoB,CAAC;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;YAChC,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,OAAO,MAAM,EAAE;YACrB,OAAO,EAAE;gBACP,MAAM;gBACN,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjF;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAA8B,EAC9B,OAA4B;IAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;IAC9F,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB;IAC7C,OAAO;QACL,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,IAA+B,EAC/B,OAA4B,EAC5B,aAAoC,EACpC,MAAmB,EACnB,IAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,IAAI,MAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,cAAc,CAC3B,IAAI,EACJ,MAAM,EACN,IAAI,CAAC,OAAO,KAAK,SAAS;YACxB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAE,OAAO;gBACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAClE,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO;gBACjC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/D,MAAM,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CACN,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,SAAS,UAAU,CAAC,MAAmB;IACrC,MAAM,MAAM,GAAY,MAAM,CAAC,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;IAC9D,OAAO,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,cAAc,CAAC,MAAmB;IACzC,OAAO,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA4B,EAAE,KAA2B;IACrF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAChD,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CACP,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,CAC3F,CAAC,MAAM,CAAC;AACX,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAgD,EAChD,MAAc,EACd,KAA2B;IAE3B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC1C,MAAM,CACL,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,IAAI,KAAK,EAAE;QACrB,SAAS,CAAC,QAAQ,KAAK,SAAS;QAChC,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAC1C;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1D,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxC,UAAU,GAAG,KAAK,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,UAAU,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,KAAK;aACnB,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;aACrB,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC;YACxC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS;YAC3C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,CAC5C,CAAC,MAAM,CAAC;QACX,IAAI,QAAQ,IAAK,KAAK,CAAC,QAAmB,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,CAAC,YAAY,OAAO,KAAK,CAAC,IAAI,sBAAsB,KAAK,CAAC,QAAQ,EAAE,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,KAAuB,EACvB,MAAkC;IAElC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,0EAA0E;IAC1E,kEAAkE;IAClE,OAAO,CACL,KAAK,CAAC,YAAY,KAAK,SAAS;QAChC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAuB,EACvB,QAA4B,EAC5B,MAAkC;IAElC,IAAI,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IACjF,MAAM,aAAa,GAAG,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,OAAO,KAAK,CAAC,gBAAgB,KAAK,aAAa,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA4B;IACpD,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC;SAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC1D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAE,IAAY;IAC1D,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,uCAAuC;YAC5C,4EAA4E,CAC/E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,MAAe;IAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,YAAoB,EACpB,MAAc,EACd,SAAiB,EACjB,cAAkC;IAElC,OAAO;QACL,MAAM,CAAC,OAAO,EAAE;QAChB,EAAE;QACF,KAAK;QACL,qCAAqC,YAAY,WAAW,MAAM,cAAc,SAAS,GAAG;QAC5F,EAAE;QACF,yEAAyE;QACzE,gCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,2DAA2D;QAC1J,sEAAsE;QACtE,gCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B;QAC3H,oBAAoB,cAAc,IAAI,gCAAgC,EAAE;QACxE,uEAAuE;QACvE,+EAA+E;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAA4B,EAC5B,KAAc;IAEd,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/workflows/graph.js
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
|
+
import { compileWorkflowDefinition, isCompiledWorkflow } from "./composition.js";
|
|
1
2
|
import { assertValidWorkflowDefinitionShape } from "./schema.js";
|
|
2
3
|
/**
|
|
3
4
|
* Validate the full graph: shape, known start node, known edge targets, and
|
|
4
5
|
* at most one outgoing edge per node.
|
|
5
6
|
*/
|
|
6
7
|
export function validateWorkflowDefinition(workflow) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
const executable = isCompiledWorkflow(workflow) ? workflow : compileWorkflowDefinition(workflow);
|
|
9
|
+
assertValidWorkflowDefinitionShape(executable, { compiled: true });
|
|
10
|
+
if (!Object.hasOwn(executable.nodes, executable.startAt)) {
|
|
11
|
+
throw new Error(`Workflow start node is missing: ${executable.startAt}`);
|
|
10
12
|
}
|
|
11
13
|
const outgoingEdges = new Set();
|
|
12
|
-
for (const edge of
|
|
13
|
-
validateWorkflowEdge(
|
|
14
|
+
for (const edge of executable.edges) {
|
|
15
|
+
validateWorkflowEdge(executable, edge, outgoingEdges);
|
|
14
16
|
}
|
|
15
|
-
assertAllNodesReachable(
|
|
17
|
+
assertAllNodesReachable(executable);
|
|
16
18
|
}
|
|
17
19
|
/** Reject nodes that no path from `startAt` can ever reach. */
|
|
18
20
|
function assertAllNodesReachable(workflow) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/workflows/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,aAAa,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAA4B;IACrE,kCAAkC,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/workflows/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { agent, action, checkpoint, compute, defineWorkflow, isWorkflowDefinition, notify, shell, } from "./definition.js";
|
|
1
|
+
export { agent, action, checkpoint, compute, defineWorkflow, defineWorkflowRegistry, includeWorkflow, includedResult, isWorkflowDefinition, notify, shell, } from "./definition.js";
|
|
2
2
|
export { decision, decisionEdge, type DecisionDefinition } from "./decision.js";
|
|
3
|
+
export { compileWorkflowDefinition, compositionMetadata, isCompiledWorkflow, type CompileWorkflowOptions, type WorkflowCompositionMetadata, } from "./composition.js";
|
|
3
4
|
export { WorkflowEngine, appendStepContract } from "./engine.js";
|
|
4
5
|
export { CancelledError, TimeoutError } from "./errors.js";
|
|
5
6
|
export { extractJsonValue, parseJsonValue, parseStrictJsonValue, type JsonParseMode, } from "./json.js";
|
|
@@ -11,4 +12,4 @@ export { MAX_CURRENT_UPDATES, MAX_UPDATE_DATA_BYTES, UPDATE_RATE_BURST, UPDATE_R
|
|
|
11
12
|
export { sanitizeText, stripAnsi } from "./text.js";
|
|
12
13
|
export { ARTIFACT_THRESHOLD_BYTES, ArtifactWriter, decodeValueWith, encodeValue, isArtifactValue, resolveArtifacts, } from "./artifacts.js";
|
|
13
14
|
export { DEFINITION_SNAPSHOT_SCHEMA, RUN_BUNDLE_SCHEMA, RUN_STATE_SCHEMA, SESSION_BINDING_SCHEMA, TRACE_EVENT_SCHEMA, WorkflowRunStore, createDefinitionSnapshot, createRunId, listRunBundles, readRunBundle, workflowRunsBaseDir, type LoadedRunBundle, type ReadRunBundleOptions, } from "./store.js";
|
|
14
|
-
export type { AgentNodeDefinition, AgentStepContract, AgentStepExecutor, AgentStepPresentation, AgentStepRequest, AgentStepSubmission, ActionNodeDefinition, ArtifactRef, ArtifactValue, CheckpointNodeDefinition, ConversationRange, ComputeNodeDefinition, FunctionActionNodeDefinition, MaybePromise, NotifyNodeDefinition, ShellActionExecution, ShellActionNodeDefinition, ShellActionResult, WorkflowActionContext, WorkflowActionReceipt, WorkflowDefinition, WorkflowDefinitionSnapshot, WorkflowEdge, WorkflowEngineOptions, WorkflowNodeCommon, WorkflowNodeContext, WorkflowNodeDefinition, WorkflowNodeOutcome, WorkflowNodeResult, WorkflowNodeSnapshot, WorkflowNotificationReceipt, WorkflowNotificationRequest, WorkflowNotificationSink, WorkflowPresentationContext, WorkflowProgressData, WorkflowProgressStatus, WorkflowRunManifest, WorkflowRunResult, WorkflowRunState, WorkflowRunStatus, WorkflowSource, WorkflowSessionBinding, WorkflowSessionEntryRecord, WorkflowStepRecord, WorkflowTraceEvent, WorkflowTraceEventDraft, WorkflowUpdateInput, WorkflowUpdateReceipt, WorkflowUpdateRecord, ShellActionUpdates, ShellUpdateLine, } from "./types.js";
|
|
15
|
+
export type { AgentNodeDefinition, AgentStepContract, AgentStepExecutor, AgentStepPresentation, AgentStepRequest, AgentStepSubmission, ActionNodeDefinition, ArtifactRef, ArtifactValue, CheckpointNodeDefinition, ConversationRange, ComputeNodeDefinition, FunctionActionNodeDefinition, MaybePromise, NotifyNodeDefinition, ShellActionExecution, ShellActionNodeDefinition, ShellActionResult, WorkflowActionContext, WorkflowActionReceipt, WorkflowCompositionSnapshot, WorkflowDefinition, WorkflowDefinitionSnapshot, WorkflowEdge, WorkflowExitDefinition, WorkflowExitMap, WorkflowExitOutputs, WorkflowIncludeDefinition, WorkflowIncludedResult, WorkflowInputOf, WorkflowMountedSource, WorkflowMountSnapshot, WorkflowValueParser, WorkflowEngineOptions, WorkflowNodeCommon, WorkflowNodeContext, WorkflowNodeDefinition, WorkflowNodeOutcome, WorkflowNodeResult, WorkflowNodeSnapshot, WorkflowNotificationReceipt, WorkflowNotificationRequest, WorkflowNotificationSink, WorkflowPresentationContext, WorkflowProgressData, WorkflowProgressStatus, WorkflowRunManifest, WorkflowRunResult, WorkflowRunState, WorkflowRunStatus, WorkflowSource, WorkflowSessionBinding, WorkflowSessionEntryRecord, WorkflowStepRecord, WorkflowTraceEvent, WorkflowTraceEventDraft, WorkflowUpdateInput, WorkflowUpdateReceipt, WorkflowUpdateRecord, ShellActionUpdates, ShellUpdateLine, } from "./types.js";
|
package/dist/workflows/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { agent, action, checkpoint, compute, defineWorkflow, isWorkflowDefinition, notify, shell, } from "./definition.js";
|
|
1
|
+
export { agent, action, checkpoint, compute, defineWorkflow, defineWorkflowRegistry, includeWorkflow, includedResult, isWorkflowDefinition, notify, shell, } from "./definition.js";
|
|
2
2
|
export { decision, decisionEdge } from "./decision.js";
|
|
3
|
+
export { compileWorkflowDefinition, compositionMetadata, isCompiledWorkflow, } from "./composition.js";
|
|
3
4
|
export { WorkflowEngine, appendStepContract } from "./engine.js";
|
|
4
5
|
export { CancelledError, TimeoutError } from "./errors.js";
|
|
5
6
|
export { extractJsonValue, parseJsonValue, parseStrictJsonValue, } from "./json.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,KAAK,GACN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAA2B,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GAErB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,GAK1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,aAAa,EACb,mBAAmB,GAGpB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,KAAK,GACN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAA2B,MAAM,eAAe,CAAC;AAChF,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GAGnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GAErB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,GAK1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,aAAa,EACb,mBAAmB,GAGpB,MAAM,YAAY,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BuiltinWorkflowCatalog } from "./catalog.js";
|
|
2
|
-
import type { WorkflowDefinition, WorkflowSource } from "./types.js";
|
|
2
|
+
import type { WorkflowDefinition, WorkflowMountedSource, WorkflowSource } from "./types.js";
|
|
3
3
|
export type DiscoveredWorkflow = {
|
|
4
4
|
name: string;
|
|
5
5
|
ref: string;
|
|
@@ -12,6 +12,7 @@ export type WorkflowSearchPaths = {
|
|
|
12
12
|
export type ResolvedWorkflow = {
|
|
13
13
|
definition: WorkflowDefinition;
|
|
14
14
|
source: WorkflowSource;
|
|
15
|
+
sources: WorkflowMountedSource[];
|
|
15
16
|
sourceKind: DiscoveredWorkflow["source"];
|
|
16
17
|
};
|
|
17
18
|
/** Directories scanned for user workflow files, in precedence order. */
|
|
@@ -26,7 +27,7 @@ export declare function workflowFileStem(filePath: string): string;
|
|
|
26
27
|
export declare function loadWorkflowFile(filePath: string): Promise<WorkflowDefinition>;
|
|
27
28
|
/** Discover user workflows first, then unshadowed catalog built-ins. */
|
|
28
29
|
export declare function discoverWorkflows(options: WorkflowSearchPaths, catalog?: BuiltinWorkflowCatalog): Promise<DiscoveredWorkflow[]>;
|
|
29
|
-
/** Resolve a workflow
|
|
30
|
+
/** Resolve a workflow and every nested include before returning it. */
|
|
30
31
|
export declare function resolveWorkflowRef(ref: string, options: WorkflowSearchPaths, catalog?: BuiltinWorkflowCatalog): Promise<ResolvedWorkflow>;
|
|
31
|
-
/** Resolve an already persisted canonical source. */
|
|
32
|
-
export declare function resolveWorkflowSource(source: WorkflowSource, catalog?: BuiltinWorkflowCatalog, runId?: string): Promise<WorkflowDefinition>;
|
|
32
|
+
/** Resolve an already persisted canonical source and its includes. */
|
|
33
|
+
export declare function resolveWorkflowSource(source: WorkflowSource, catalog?: BuiltinWorkflowCatalog, runId?: string, options?: WorkflowSearchPaths): Promise<WorkflowDefinition>;
|