@sensigo/realm 0.7.1 → 0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"execution-loop.d.ts","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-loop.d.ts","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { WorkflowError } from '../types/workflow-error.js';
2
2
  import { captureEvidence } from '../evidence/snapshot.js';
3
3
  import { validateInputSchema, validateOutputSchema, validateTraceSchema, } from '../validation/input-schema.js';
4
4
  import { normalizeTrace } from './trace-normalizer.js';
5
- import { TERMINAL_PHASES } from './lifecycle.js';
5
+ import { TERMINAL_PHASES, isTerminalPhase } from './lifecycle.js';
6
6
  import { checkPreconditions, evaluateAllPreconditions, evaluateGuardConditions, } from './precondition.js';
7
7
  import { ExtensionRegistry } from '../extensions/registry.js';
8
8
  import { createDefaultRegistry } from '../extensions/default-registry.js';
@@ -362,7 +362,7 @@ function mergeWarnings(traceWarnings, cleanupWarning) {
362
362
  return cleanupWarning !== undefined ? [...traceWarnings, cleanupWarning] : [...traceWarnings];
363
363
  }
364
364
  /** Builds a minimal error ResponseEnvelope from primitive fields. */
365
- function errorEnvelope(command, runId, runVersion, err, contextHint) {
365
+ function errorEnvelope(command, runId, runVersion, err, contextHint, runPhase) {
366
366
  return {
367
367
  command,
368
368
  run_id: runId,
@@ -377,6 +377,7 @@ function errorEnvelope(command, runId, runVersion, err, contextHint) {
377
377
  agent_action: err.agentAction,
378
378
  ...(err.retry_after !== undefined ? { retry_after: err.retry_after } : {}),
379
379
  context_hint: contextHint ?? `Error during '${command}'.`,
380
+ ...(runPhase !== undefined ? { run_phase: runPhase } : {}),
380
381
  next_actions: [],
381
382
  };
382
383
  }
@@ -406,7 +407,7 @@ export function buildPreExecutionErrorEnvelope(command, runId, runVersion, err,
406
407
  }
407
408
  function makeErrorEnvelope(options, run, err, definition, extraWarnings) {
408
409
  const hint = run !== null ? `Error during '${options.command}'. Run phase: '${run.run_phase}'.` : undefined;
409
- const base = errorEnvelope(options.command, options.runId, run !== null ? run.version : 0, err, hint);
410
+ const base = errorEnvelope(options.command, options.runId, run !== null ? run.version : 0, err, hint, run !== null ? run.run_phase : undefined);
410
411
  // Apply pre-execution translation: provide_input / resolve_precondition cannot
411
412
  // apply before claimStep — translate them to report_to_user.
412
413
  const translatedBase = run === null ? { ...base, agent_action: resolvePreExecutionAgentAction(err) } : base;
@@ -456,6 +457,7 @@ export async function executeStep(store, definition, options) {
456
457
  errors: [],
457
458
  agent_action: 'resolve_precondition',
458
459
  context_hint: `Step '${options.command}' is not eligible in the current run state.`,
460
+ run_phase: run.run_phase,
459
461
  next_actions: nextActions,
460
462
  blocked_reason: nextActions.length > 0
461
463
  ? {
@@ -485,6 +487,7 @@ export async function executeStep(store, definition, options) {
485
487
  errors: [],
486
488
  agent_action: 'stop',
487
489
  context_hint: `Precondition failed for step '${options.command}'.`,
490
+ run_phase: run.run_phase,
488
491
  next_actions: [],
489
492
  blocked_reason: {
490
493
  eligible_steps: eligible,
@@ -600,6 +603,7 @@ export async function executeStep(store, definition, options) {
600
603
  errors: [],
601
604
  agent_action: 'resolve_precondition',
602
605
  context_hint: `Step '${options.command}' was already claimed by another process.`,
606
+ run_phase: freshRun.run_phase,
603
607
  next_actions: buildNextActions(definition, freshRun),
604
608
  blocked_reason: {
605
609
  eligible_steps: findEligibleSteps(definition, freshRun),
@@ -732,6 +736,7 @@ export async function executeStep(store, definition, options) {
732
736
  warnings: [],
733
737
  errors: [],
734
738
  context_hint: `Handler step '${options.command}' aborted the run: ${abortMessage}`,
739
+ run_phase: (persistedAbortRun ?? abortedRun).run_phase,
735
740
  next_actions: [],
736
741
  };
737
742
  }
@@ -912,6 +917,7 @@ export async function executeStep(store, definition, options) {
912
917
  ? { retry_after: dispatchError.retry_after }
913
918
  : {}),
914
919
  context_hint: contextHint,
920
+ run_phase: (persistedRun ?? failedRun).run_phase,
915
921
  next_actions: nextActions,
916
922
  };
917
923
  }
@@ -1035,6 +1041,7 @@ export async function executeStep(store, definition, options) {
1035
1041
  warnings: [...traceWarnings],
1036
1042
  errors: [],
1037
1043
  context_hint: `Run is paused at gate '${gate_id}'. Available choices: ${choices.join(', ')}.`,
1044
+ run_phase: gateRun.run_phase,
1038
1045
  next_actions: [gateNextAction],
1039
1046
  gate: {
1040
1047
  gate_id,
@@ -1107,6 +1114,7 @@ export async function executeStep(store, definition, options) {
1107
1114
  warnings: mergeWarnings(traceWarnings, currentWarn),
1108
1115
  errors: [],
1109
1116
  context_hint: orientation,
1117
+ run_phase: savedRun.run_phase,
1110
1118
  next_actions: nextActions,
1111
1119
  };
1112
1120
  }
@@ -1214,7 +1222,7 @@ export async function submitHumanResponse(store, definition, options) {
1214
1222
  agentAction: 'stop',
1215
1223
  retryable: false,
1216
1224
  });
1217
- return errorEnvelope(gateStepName, options.runId, run.version, e, `Failed to persist gate response.`);
1225
+ return errorEnvelope(gateStepName, options.runId, run.version, e, `Failed to persist gate response.`, run.run_phase);
1218
1226
  }
1219
1227
  // 6. Build response.
1220
1228
  const data = { ...run.pending_gate.preview, choice: options.choice };
@@ -1232,6 +1240,7 @@ export async function submitHumanResponse(store, definition, options) {
1232
1240
  warnings: [],
1233
1241
  errors: [],
1234
1242
  context_hint: orientation,
1243
+ run_phase: savedRun.run_phase,
1235
1244
  next_actions: nextActions,
1236
1245
  };
1237
1246
  }
@@ -1416,6 +1425,7 @@ async function executeChainInternal(store, definition, options, depth, chainedSt
1416
1425
  errors: [`Failed to persist guard step '${guardName}': ${msg}`],
1417
1426
  agent_action: 'stop',
1418
1427
  context_hint: `Guard step '${guardName}' could not be persisted. Run state may be inconsistent.`,
1428
+ run_phase: run.run_phase,
1419
1429
  next_actions: [],
1420
1430
  };
1421
1431
  }
@@ -1436,6 +1446,7 @@ async function executeChainInternal(store, definition, options, depth, chainedSt
1436
1446
  warnings: [],
1437
1447
  errors: [],
1438
1448
  context_hint: contextHint,
1449
+ run_phase: persistedGuardRun.run_phase,
1439
1450
  next_actions: [],
1440
1451
  };
1441
1452
  }
@@ -1471,6 +1482,34 @@ async function executeChainInternal(store, definition, options, depth, chainedSt
1471
1482
  * Returns next_actions containing all eligible agent steps when the auto chain exhausts.
1472
1483
  */
1473
1484
  export async function executeChain(store, definition, options) {
1485
+ // Defense-in-depth: never drive a run that is already terminal. The eligibility guard
1486
+ // (findEligibleSteps) makes this unreachable in normal operation, but guarding the chain
1487
+ // boundary protects every executeChain caller regardless of how it reached here. Placed in the
1488
+ // public wrapper so it fires exactly once at entry; recursive depth>0 calls and runs that become
1489
+ // terminal mid-chain are covered by the existing mid-chain check in executeChainInternal.
1490
+ let entryRun;
1491
+ try {
1492
+ entryRun = await store.get(options.runId);
1493
+ }
1494
+ catch {
1495
+ entryRun = undefined; // run not readable → fall through to the normal path
1496
+ }
1497
+ if (entryRun !== undefined && isTerminalPhase(entryRun.run_phase)) {
1498
+ return {
1499
+ command: options.command,
1500
+ run_id: options.runId,
1501
+ run_version: entryRun.version,
1502
+ status: 'ok',
1503
+ data: {},
1504
+ evidence: [],
1505
+ warnings: [],
1506
+ errors: [],
1507
+ agent_action: 'stop',
1508
+ context_hint: `Run '${options.runId}' is already terminal (${entryRun.run_phase}); no steps executed.`,
1509
+ run_phase: entryRun.run_phase,
1510
+ next_actions: [],
1511
+ };
1512
+ }
1474
1513
  const effectiveOptions = {
1475
1514
  ...options,
1476
1515
  registry: options.registry ?? createDefaultRegistry(),
@@ -1 +1 @@
1
- {"version":3,"file":"execution-loop.js","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAW3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAqE/B,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAClB,QAA6C,EAC7C,EAAU,EACV,QAAgB;IAEhB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,KAAoC,CAAC;IAEzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CACJ,IAAI,aAAa,CAAC,SAAS,QAAQ,qBAAqB,EAAE,IAAI,EAAE;gBAC9D,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aACtC,CAAC,CACH,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,0DAA0D;AAC1D,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;GAGG;AACH,SAAS,eAAe,CACtB,QAAkD,EAClD,OAA2B,EAC3B,UAAqB;IAErB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IACjD,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,IAAI,GAA4B;QACpC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;KACvC,CAAC;IACF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,IAAkB,EAClB,IAA6B,EAC7B,QAAgB,EAChB,KAAa;IAEb,IAAI,KAAK,GAAG,mBAAmB,EAAE,CAAC;QAChC,MAAM,IAAI,aAAa,CACrB,mBAAmB,QAAQ,wCAAwC,mBAAmB,EAAE,EACxF;YACE,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,oEAAoE;IACpE,IAAI,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAQ,IAAoB,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,KAAqB,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+FAA+F;AAC/F,SAAS,cAAc,CAAC,MAAmB,EAAE,UAAkB;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;IACvC,IAAI,KAAa,CAAC;IAClB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,KAAK,GAAG,IAAI,GAAG,UAAU,CAAC;YAC1B,MAAM;QACR,KAAK,aAAa;YAChB,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YAC3C,MAAM;QACR,SAAS,UAAU;YACjB,KAAK,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CACxB,OAAuB,EACvB,UAA8B,EAC9B,OAA2B,EAC3B,UAAqB,EACrB,mBAAsC,EACtC,MAAoB;IAKpB,MAAM,WAAW,GAAG,OAAO,CAAC,YAAa,CAAC;IAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,aAAa,CAAC,YAAY,WAAW,oCAAoC,EAAE;YACnF,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,qFAAqF;IACrF,gFAAgF;IAChF,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7F,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CACrB,YAAY,UAAU,CAAC,OAAO,kBAAkB,WAAW,qBAAqB,EAChF;YACE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;KAC1B,CAAC;IACF,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAEvD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE9E,kFAAkF;IAClF,kFAAkF;IAClF,MAAM,aAAa,GAAG,OAAO,CAAC,MAA8B,CAAC,CAAC;IAC9D,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CACrB,YAAY,UAAU,CAAC,OAAO,sCAAsC,MAAM,GAAG,EAC7E;YACE,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CACF,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,IAAI,UAAU,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,mBAAmB;aACtB,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;aAC1D,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,QAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAO,aAAyC,CAAC,IAAI,CAC9D,OAAO,EACP,SAAS,EACT,aAAa,EACb,MAAM,EACN,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACxC,6DAA6D;gBAC7D,kEAAkE;gBAClE,mDAAmD;gBACnD,iDAAiD;gBACjD,kFAAkF;gBAClF,MAAM,aAAa,GACjB,GAAG,CAAC,WAAW;oBACf,UAAU,CAAC,UAAU,EAAE,sBAAsB;oBAC7C,OAAO,EAAE,wBAAwB,CAAC;gBACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAC1D,MAAM,kBAAkB,GACtB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAElF,wDAAwD;gBACxD,iFAAiF;gBACjF,kFAAkF;gBAClF,8EAA8E;gBAC9E,6EAA6E;gBAC7E,iFAAiF;gBACjF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAC1D,IACE,UAAU,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS;oBACxD,kBAAkB,KAAK,SAAS,EAChC,CAAC;oBACD,MAAM,aAAa,GACjB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACvF,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;wBACtB,mBAAmB;6BAChB,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;6BAC1D,KAAK,CAAC,aAAa,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAED,6DAA6D;gBAC7D,wEAAwE;gBACxE,yEAAyE;gBACzE,IACE,QAAQ,KAAK,SAAS;oBACtB,kBAAkB,KAAK,SAAS;oBAChC,kBAAkB,GAAG,QAAQ,EAC7B,CAAC;oBACD,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE;wBACnC,IAAI,EAAE,sBAAsB;wBAC5B,QAAQ,EAAE,SAAS;wBACnB,WAAW,EAAE,gBAAgB;wBAC7B,SAAS,EAAE,KAAK;wBAChB,WAAW,EAAE,kBAAkB;wBAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzE,CAAC,CAAC;gBACL,CAAC;gBAED,qEAAqE;gBACrE,IAAI,kBAAkB,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC3C,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE;wBACnC,IAAI,EAAE,sBAAsB;wBAC5B,QAAQ,EAAE,SAAS;wBACnB,WAAW,EAAE,kBAAkB;wBAC/B,SAAS,EAAE,IAAI;wBACf,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,aAAa,CAAC,YAAY,UAAU,CAAC,OAAO,YAAY,OAAO,EAAE,EAAE;YAC3E,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GACV,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QACzD,CAAC,CAAE,QAAQ,CAAC,IAAgC;QAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACvD,OAAO;QACL,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;AACJ,CAAC;AAYD;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,OAAuB,EACvB,OAA2B,EAC3B,UAAqB,EACrB,cAAuD,EACvD,MAAoB;IAEpB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAQ,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,WAAW,qBAAqB,EAAE;YACpE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GACjB,OAAO,CAAC,SAAS,KAAK,SAAS;QAC7B,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;QACzD,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACpB,MAAM,qBAAqB,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1F,IAAI,MAAmD,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAC5B,EAAE,MAAM,EAAE,aAAa,EAAE,EACzB;YACE,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,SAAS,EAAE,cAAc;SAC1B,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa;YAAE,MAAM,GAAG,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,aAAa,CAAC,YAAY,WAAW,YAAY,OAAO,EAAE,EAAE;YACpE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACzB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;YAC5B,GAAG,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACzB,GAAG,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAAgB,EAChB,IAAoB,EACpB,OAQC;IAED,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/E,OAAO;QACL,WAAW,EACT,IAAI,CAAC,OAAO,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACnD,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO;gBAC1B,CAAC,CAAC;oBACE,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;oBACpD,SAAS,EAAE;wBACT,MAAM,EAAE,OAAO,CAAC,KAAK;wBACrB,OAAO,EAAE,QAAQ;wBACjB,MAAM,EACJ,IAAI,CAAC,YAAY,KAAK,SAAS;4BAC7B,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAuC,CAAC;4BACtE,CAAC,CAAC,EAAE;qBACT;iBACF;gBACH,CAAC,CAAC,IAAI;QACZ,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAC/D,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,cAAc,EAAE,iBAAiB,QAAQ,MAAM,IAAI,CAAC,WAAW,EAAE;QACjE,WAAW,EAAE,oCAAoC,QAAQ,IAAI;QAC7D,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAA8B,EAAE,GAAc;IAC7E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG;QACd,cAAc;QACd,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,SAAS;YAC9C,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,SAAS,EAAE,GAAG,CAAC,0BAA0B;oBACzC,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAyB;iBACvE;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,OAAO,QAAQ;SACZ,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO;QAC7C,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,SAAS,CAChD;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,aAAuB,EAAE,cAAuB;IACrE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1E,OAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;AAChG,CAAC;AAED,qEAAqE;AACrE,SAAS,aAAa,CACpB,OAAe,EACf,KAAa,EACb,UAAkB,EAClB,GAAkB,EAClB,WAAoB;IAEpB,OAAO;QACL,OAAO;QACP,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,UAAU,EAAE,GAAG,CAAC,IAAI;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,YAAY,EAAE,GAAG,CAAC,WAAW;QAC7B,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,YAAY,EAAE,WAAW,IAAI,iBAAiB,OAAO,IAAI;QACzD,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAe,EACf,KAAa,EACb,UAAkB,EAClB,GAAkB,EAClB,WAAoB;IAEpB,MAAM,WAAW,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO;QACL,OAAO;QACP,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,UAAU,EAAE,GAAG,CAAC,IAAI;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,YAAY,EAAE,WAAW;QACzB,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,YAAY,EAAE,WAAW,IAAI,iBAAiB,OAAO,IAAI;QACzD,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA2B,EAC3B,GAAqB,EACrB,GAAkB,EAClB,UAA+B,EAC/B,aAAwB;IAExB,MAAM,IAAI,GACR,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,OAAO,CAAC,OAAO,kBAAkB,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,IAAI,GAAG,aAAa,CACxB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,KAAK,EACb,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC9B,GAAG,EACH,IAAI,CACL,CAAC;IACF,+EAA+E;IAC/E,6DAA6D;IAC7D,MAAM,cAAc,GAClB,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,MAAM,gBAAgB,GACpB,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE;QAChD,CAAC,CAAC,cAAc,CAAC;IACrB,IAAI,GAAG,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3E,OAAO,EAAE,GAAG,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;IAClF,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAe,EACf,UAA8B,EAC9B,OAA2B;IAE3B,oBAAoB;IACpB,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,+BAA+B,EAAE;YAClE,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,GAAG,CAAC,OAAO;YACxB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,sBAA+B;YAC7C,YAAY,EAAE,SAAS,OAAO,CAAC,OAAO,6CAA6C;YACnF,YAAY,EAAE,WAAW;YACzB,cAAc,EACZ,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC;oBACE,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,0DAA0D;iBACvE;gBACH,CAAC,CAAC;oBACE,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,mEAAmE;iBAChF;SACR,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEhD,mCAAmC;IACnC,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,WAAW,EAAE,GAAG,CAAC,OAAO;gBACxB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,MAAe;gBAC7B,YAAY,EAAE,iCAAiC,OAAO,CAAC,OAAO,IAAI;gBAClE,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE;oBACd,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,yBAAyB,MAAM,CAAC,UAAU,sBAAsB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG;iBAC7G;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;IAEjG,mGAAmG;IACnG,IAAI,WAAoB,CAAC;IACzB,IAAI,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IACnC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1C,WAAW,GAAG,MAAM,CAAC;QACrB,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,iFAAiF;IACjF,mFAAmF;IACnF,MAAM,gBAAgB,GAAuB,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAEnF,IAAI,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE9E,kCAAkC;IAClC,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAoB,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,8EAA8E;IAC9E,iEAAiE;IACjE,0EAA0E;IAC1E,IAAI,OAAO,EAAE,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC1E,IAAI,CAAC;YACH,oBAAoB,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAoB,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,qGAAqG;IACrG,iGAAiG;IACjG,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,kBAAoD,CAAC;IACzD,IAAI,UAAU,GAAoB,EAAE,CAAC;IAErC,IAAI,OAAO,EAAE,SAAS,KAAK,OAAO,EAAE,CAAC;QACnC,mDAAmD;QACnD,UAAU;YACR,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBACpC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC;gBACrE,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErF,IAAI,WAAW,EAAE,CAAC;YAChB,6EAA6E;YAC7E,oFAAoF;YACpF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAqD;gBACjE,GAAG,UAAU,EAAE,6CAA6C;gBAC5D,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;aACtE,CAAC;YAEF,kFAAkF;YAClF,yEAAyE;YACzE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;YACvD,MAAM,aAAa,GAAsB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAE7F,2EAA2E;YAC3E,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAEnD,6DAA6D;YAC7D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,IAAI,MAAM,CAAC;gBACrD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,mBAAmB,CACjB,kBAAkB,CAAC,OAAO,EAC1B,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,EACf,SAAS,CACV,CAAC;wBACF,kBAAkB,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;wBACjD,kBAAkB,CAAC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;wBACvD,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBACnD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,kFAAkF;wBAClF,OAAO,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAoB,EAAE,UAAU,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,mBAAmB,CAChC,kBAAkB,CAAC,OAAO,EAC1B,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,EACf,MAAM,CACP,CAAC;oBACF,kBAAkB,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;oBACjD,kBAAkB,CAAC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;oBACpD,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC;oBACjE,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;wBAC1B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAI,UAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjE,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;oBACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;oBAC7B,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,EAAE;oBACV,YAAY,EAAE,sBAA+B;oBAC7C,YAAY,EAAE,SAAS,OAAO,CAAC,OAAO,2CAA2C;oBACjF,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC;oBACpD,cAAc,EAAE;wBACd,cAAc,EAAE,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC;wBACvD,UAAU,EAAE,uDAAuD;qBACpE;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,iBAAiB,CACtB,OAAO,EACP,GAAG,EACH,GAAG,EACH,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QACD,OAAO,iBAAiB,CACtB,OAAO,EACP,GAAG,EACH,IAAI,aAAa,CAAC,sBAAsB,EAAE;YACxC,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,IACE,UAAU,CAAC,gBAAgB,KAAK,SAAS;QACzC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;QACnD,UAAU,CAAC,0BAA0B,KAAK,SAAS,EACnD,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/D,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAC9B,GAAG,UAAU;YACb,0BAA0B,EAAE,gBAAgB;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,MAAM,WAAW,GAAG,OAAO,EAAE,KAAK,CAAC;IACnC,MAAM,WAAW,GAAG,WAAW,EAAE,YAAY,IAAI,CAAC,CAAC;IACnD,MAAM,SAAS,GACb,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtF,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,4EAA4E;IAC5E,MAAM,mBAAmB,GAAsB,OAAO,CAAC,QAAQ,IAAI,IAAI,iBAAiB,EAAE,CAAC;IAE3F,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,IAAI,aAAa,GAAyB,IAAI,CAAC;IAC/C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,WAAW,GAAuB,EAAE,CAAC;IAC3C,IAAI,WAA+B,CAAC;IAEpC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC;QACjE,YAAY,GAAG,UAAU,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,aAAa,GAA4B,EAAE,CAAC;QAChD,IAAI,YAAY,GAAyB,IAAI,CAAC;QAC9C,IAAI,cAAmD,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CACf,MAAoB,EAMnB,EAAE;gBACH,IAAI,OAAO,EAAE,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACxE,OAAO,WAAW,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,MAAM,CACP,CAAC;gBACJ,CAAC;qBAAM,IAAI,OAAO,EAAE,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1E,OAAO,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,CACpF,CAAC,MAAM,EAAE,EAAE;wBACT,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC5B,OAAO;gCACL,MAAM,EAAE,EAAE;gCACV,cAAc,EAAE,SAAS;gCACzB,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;6BAC1C,CAAC;wBACJ,CAAC;wBACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC3B,OAAO;gCACL,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,cAAc,EAAE,MAAM,CAAC,cAAc;gCACrC,WAAW,EAAE,MAAM,CAAC,OAAO;6BAC5B,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1E,CAAC,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO;yBACX,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC;yBAC/D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC;YACF,MAAM,UAAU,GACd,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;gBAC7E,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC;YAEvB,yEAAyE;YACzE,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC;gBACrD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAqB;oBACtC,GAAG,eAAe,CAAC;wBACjB,MAAM,EAAE,OAAO,CAAC,OAAO;wBACvB,SAAS,EAAE,GAAG;wBACd,WAAW,EAAE,GAAG;wBAChB,KAAK,EAAE,cAAc;wBACrB,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE;wBACtD,KAAK,EAAE,YAAY;wBACnB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtD,CAAC;oBACF,MAAM,EAAE,SAAS;iBAClB,CAAC;gBACF,MAAM,kBAAkB,GAAc;oBACpC,GAAG,UAAU;oBACb,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;oBACpF,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC;oBACjD,aAAa,EAAE,CAAC,GAAG,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;iBAC9D,CAAC;gBACF,MAAM,cAAc,GAAc;oBAChC,GAAG,kBAAkB;oBACrB,aAAa,EAAE,cAAc,CAAC,kBAAkB,EAAE,UAAU,CAAC;iBAC9D,CAAC;gBACF,MAAM,UAAU,GAAc;oBAC5B,GAAG,cAAc;oBACjB,cAAc,EAAE,IAAI;oBACpB,eAAe,EAAE,YAAY,OAAO,CAAC,OAAO,sBAAsB,YAAY,EAAE;oBAChF,UAAU,EAAE;wBACV,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,aAAa,EAAE,YAAY;qBAC5B;iBACF,CAAC;gBACF,IAAI,iBAAwC,CAAC;gBAC7C,IAAI,CAAC;oBACH,iBAAiB,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACrD,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;oBACrB,WAAW,EAAE,CAAC,iBAAiB,IAAI,UAAU,CAAC,CAAC,OAAO;oBACtD,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,CAAC,aAAa,CAAC;oBACzB,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,EAAE;oBACV,YAAY,EAAE,iBAAiB,OAAO,CAAC,OAAO,sBAAsB,YAAY,EAAE;oBAClF,YAAY,EAAE,EAAE;iBACjB,CAAC;YACJ,CAAC;YAED,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;YAClC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;YAC3C,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;YACrC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,YAAY,GAAG,GAAG,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,YAAY,GAAG,IAAI,aAAa,CAAC,sBAAsB,OAAO,EAAE,EAAE;oBAChE,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,OAAO,CAAC,OAAO;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,MAAM,QAAQ,GAAG,eAAe,CAAC;YAC/B,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,SAAS;YACT,WAAW;YACX,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,aAAa;YACrB,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,WAAW,EAAE;gBACX,oBAAoB,EAAE,kBAAkB;gBACxC,kBAAkB,EAAE,iBAAiB;aACtC;YACD,GAAG,CAAC,WAAW,KAAK,SAAS;gBAC3B,CAAC,CAAC,EAAE,YAAY,EAAE,OAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC,YAAY,EAAE;gBACxE,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACP,iFAAiF;YACjF,mFAAmF;YACnF,qFAAqF;YACrF,6EAA6E;YAC7E,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1F,CAAC,CAAC,kBAAkB,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAE;oBACzC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE;gBAClC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,IAAI,GACR,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9E,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,aAAa,CAAC;YACvB,aAAa,GAAG,IAAI,CAAC;YACrB,MAAM;QACR,CAAC;QAED,aAAa,GAAG,YAAY,CAAC;QAC7B,MAAM,SAAS,GACb,WAAW,KAAK,SAAS,IAAI,YAAY,CAAC,SAAS,IAAI,UAAU,GAAG,WAAW,CAAC;QAClF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC5D,MAAM,YAAY,GAChB,YAAY,YAAY,aAAa,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS;gBAC7E,CAAC,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI;gBACjC,CAAC,CAAC,CAAC,CAAC;YACR,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QACxF,MAAM,SAAS,GAAG,aAAa,CAAC;QAChC,aAAa,GAAG,IAAI,aAAa,CAC/B,SAAS,OAAO,CAAC,OAAO,kBAAkB,YAAY,WAAW,EACjE;YACE,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,OAAO;gBACzB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,SAAS,CAAC,OAAO;gBAC5B,GAAG,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvF;SACF,CACF,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,wDAAwD;QACxD,MAAM,SAAS,GAAc;YAC3B,GAAG,UAAU;YACb,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;YACpF,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC;SAC5D,CAAC;QACF,4FAA4F;QAC5F,MAAM,eAAe,GAAc;YACjC,GAAG,SAAS;YACZ,aAAa,EAAE,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;SACrD,CAAC;QACF,gFAAgF;QAChF,2FAA2F;QAC3F,+EAA+E;QAC/E,MAAM,UAAU,GACd,kBAAkB,CAAC,eAAe,EAAE,UAAU,CAAC;YAC/C,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBAC7C,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC;gBAC3D,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACtE,MAAM,SAAS,GAAc;YAC3B,GAAG,eAAe;YAClB,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC;YAClD,cAAc,EAAE,UAAU;YAC1B,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,OAAO,CAAC,OAAO,aAAa,aAAa,CAAC,OAAO,EAAE,EAAE;gBACnF,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,mFAAmF;QACnF,mDAAmD;QACnD,IAAI,YAAmC,CAAC;QACxC,IAAI,mBAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,mBAAmB,GAAG,mCAAmC,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7H,CAAC;QACD,IAAI,iBAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,mFAAmF;YACnF,MAAM,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,iBAAiB,GAAG,uDAAuD,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACzI,CAAC;QAED,8EAA8E;QAC9E,EAAE;QACF,qFAAqF;QACrF,qFAAqF;QACrF,iDAAiD;QACjD,EAAE;QACF,uFAAuF;QACvF,oFAAoF;QACpF,MAAM,eAAe,GAAG,8BAA8B,CACpD,aAAa,EACb,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,cAAc,CAC3C,CAAC;QAEF,oFAAoF;QACpF,wFAAwF;QACxF,IAAI,WAAW,GAAiB,EAAE,CAAC;QACnC,IAAI,eAAe,KAAK,MAAM,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,WAAW,GAAG,gBAAgB,CAAC,UAAU,EAAE,YAAY,IAAI,SAAS,CAAC,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC;gBACP,oFAAoF;YACtF,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GACf,eAAe,KAAK,MAAM;YACxB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,8BAA8B;YACxD,CAAC,CAAC,eAAe,KAAK,kBAAkB;gBACtC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,4BAA4B,aAAa,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,YAAY,CAAC,CAAC,CAAC,UAAU,6DAA6D;gBAClN,CAAC,CAAC,eAAe,KAAK,gBAAgB;oBACpC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,0HAA0H;oBACpJ,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,aAAa,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,+CAA+C,EAAE,CAAC;QAErI,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,OAAO;YAChD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,aAAa,CAAC,aAAa,EAAE,mBAAmB,IAAI,iBAAiB,CAAC;YAChF,MAAM,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;YAC/B,YAAY,EAAE,eAAe;YAC7B,GAAG,CAAC,aAAa,CAAC,WAAW,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACP,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,WAAW;SAC1B,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,IAAI,OAAQ,CAAC,KAAK,KAAK,iBAAiB,IAAI,OAAQ,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,UAAU,GACd,OAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,OAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,UAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QAElC,6EAA6E;QAC7E,MAAM,oBAAoB,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GACpB,UAAU,CAAC,0BAA0B,KAAK,SAAS;YACjD,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,SAAS,EAAE,UAAU,CAAC,0BAA0B;oBAChD,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAyB;iBACvE;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,mBAAuC,CAAC;QAC5C,IAAI,OAAQ,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,cAAc,CAClB,OAAQ,CAAC,IAAI,CAAC,OAAO,EACrB;oBACE,cAAc,EAAE,oBAAoB;oBACpC,SAAS,EAAE,GAAG,CAAC,MAAM;oBACrB,GAAG,gBAAgB;iBACpB,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;oBACtC,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,IAAI,aAAa,CAAC,qCAAqC,GAAG,CAAC,UAAU,GAAG,EAAE;wBACxE,IAAI,EAAE,gBAAgB;wBACtB,QAAQ,EAAE,QAAQ;wBAClB,WAAW,EAAE,MAAM;wBACnB,SAAS,EAAE,KAAK;qBACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,IAAI,aAAa,CAAC,6CAA6C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;oBACtF,IAAI,EAAE,2BAA2B;oBACjC,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,KAAK;iBACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;YACJ,CAAC;YACD,mBAAmB,GAAG,GAAG,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,OAAQ,CAAC,IAAI,CAAC;QAEjC,IAAI,OAAkB,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;gBAC3B,GAAG,UAAU;gBACb,qFAAqF;gBACrF,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC;gBAClD,YAAY,EAAE;oBACZ,OAAO;oBACP,SAAS;oBACT,OAAO,EAAE,MAAM;oBACf,OAAO;oBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,GAAG,CAAC,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvF,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS;wBAC/C,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,mBAAmB,EAAE;wBACzD,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,GAAG,EACH,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;YACJ,CAAC;YACD,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,IAAI,aAAa,CAAC,qBAAqB,EAAE;gBACvC,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QAED,qFAAqF;QACrF,MAAM,mBAAmB,GACvB,mBAAmB,KAAK,SAAS;YAC/B,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,OAAQ,CAAC,MAAM,KAAK,SAAS;gBAC7B,CAAC,CAAC,cAAc,CAAC,OAAQ,CAAC,MAAM,EAAE;oBAC9B,cAAc,EAAE,oBAAoB;oBACpC,SAAS,EAAE,GAAG,CAAC,MAAM;oBACrB,GAAG,gBAAgB;iBACpB,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,wBAAwB,GAC5B,OAAQ,CAAC,YAAY,KAAK,SAAS;YACjC,CAAC,CAAC,cAAc,CAAC,OAAQ,CAAC,YAAY,EAAE;gBACpC,cAAc,EAAE,oBAAoB;gBACpC,SAAS,EAAE,GAAG,CAAC,MAAM;gBACrB,GAAG,gBAAgB;aACpB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,cAAc,GAAe;YACjC,WAAW,EAAE;gBACX,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE;gBAC1C,SAAS,EAAE;oBACT,MAAM,EAAE,OAAO,CAAC,KAAK;oBACrB,OAAO;oBACP,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;iBACjC;aACF;YACD,cAAc,EAAE,mCAAmC,OAAO,CAAC,OAAO,8HAA8H;YAChM,WAAW,EAAE,0BAA0B,OAAO,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SAC7F,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC;YAC5B,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,0BAA0B,OAAO,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAE7F,YAAY,EAAE,CAAC,cAAc,CAAC;YAC9B,IAAI,EAAE;gBACJ,OAAO;gBACP,SAAS;gBACT,OAAO,EAAE,MAAM;gBACf,OAAO;gBACP,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,aAAa,EAAE,EAAE,OAAO,EAAE;aAC3B;SACF,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAAc;QAC/B,GAAG,UAAU;QACb,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;QACpF,eAAe,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC;QACjE,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC;KACnD,CAAC;IACF,8FAA8F;IAC9F,6GAA6G;IAC7G,MAAM,mBAAmB,GAAc;QACrC,GAAG,aAAa;QAChB,aAAa,EAAE,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC;KACzD,CAAC;IACF,gFAAgF;IAChF,8FAA8F;IAC9F,+EAA+E;IAC/E,MAAM,UAAU,GACd,kBAAkB,CAAC,mBAAmB,EAAE,UAAU,CAAC;QACnD,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YACjD,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC;YAC/D,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAc;QAC1B,GAAG,mBAAmB;QACtB,cAAc,EAAE,UAAU;QAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;IAEF,IAAI,QAAmB,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,GAAG,EACH,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,8BAA8B,EAAE;YACjE,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,MAAM,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE,6CAA6C;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc;QACzC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,SAAS,uCAAuC,OAAO,CAAC,KAAK,yCAAyC;QAC3I,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,gBAAgB,WAAW,CAAC,MAAM,yBAAyB;YACrF,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,mDAAmD,CAAC;IAElF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;QAC7B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC;QACnD,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAe,EACf,UAA8B,EAC9B,OAA0B;IAE1B,eAAe;IACf,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GACL,GAAG,YAAY,aAAa;YAC1B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,aAAa,CAAC,+BAA+B,EAAE;gBACjD,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACT,OAAO,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,4BAA4B;IAC5B,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,aAAa,CAClB,aAAa,EACb,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,IAAI,aAAa,CAAC,+BAA+B,EAAE;YACjD,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,QAAQ,OAAO,CAAC,KAAK,+BAA+B,GAAG,CAAC,SAAS,KAAK,CACvE,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,aAAa,CAClB,aAAa,EACb,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,IAAI,aAAa,CAAC,mBAAmB,EAAE;YACrC,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,4BAA4B,OAAO,CAAC,KAAK,IAAI,CAC9C,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,aAAa,CAClB,GAAG,CAAC,YAAY,CAAC,SAAS,EAC1B,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,IAAI,aAAa,CAAC,WAAW,OAAO,CAAC,MAAM,oCAAoC,QAAQ,EAAE,EAAE;YACzF,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,mBAAmB,OAAO,CAAC,MAAM,eAAe,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,CAC/E,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;QAC/C,WAAW,EAAE,WAAW;QACxB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QACjC,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;KAChE,CAAC,CAAC;IACH,MAAM,YAAY,GAAqB;QACrC,GAAG,YAAY;QACf,IAAI,EAAE,eAAwB;QAC9B,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,KAAK,SAAS;YACjD,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,gBAAgB,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IACjE,MAAM,SAAS,GAAc;QAC3B,GAAG,IAAI;QACP,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC;QAC3E,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC;QACxD,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;KAC3C,CAAC;IACF,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,eAAe,GAAc;QACjC,GAAG,SAAS;QACZ,aAAa,EAAE,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;KACrD,CAAC;IACF,gFAAgF;IAChF,8FAA8F;IAC9F,+EAA+E;IAC/E,MAAM,UAAU,GACd,kBAAkB,CAAC,eAAe,EAAE,UAAU,CAAC;QAC/C,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAC7C,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC;YAC3D,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAc;QAC1B,GAAG,eAAe;QAClB,cAAc,EAAE,UAAU;QAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;IAEF,IAAI,QAAmB,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GACL,GAAG,YAAY,aAAa;YAC1B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,aAAa,CAAC,iCAAiC,EAAE;gBACnD,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACT,OAAO,aAAa,CAClB,YAAY,EACZ,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,CAAC,EACD,kCAAkC,CACnC,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc;QACzC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,SAAS,uCAAuC,OAAO,CAAC,KAAK,yCAAyC;QAC3I,CAAC,CAAC,SAAS,YAAY,2BAA2B,OAAO,CAAC,MAAM,MAAM,WAAW,CAAC,MAAM,yBAAyB,CAAC;IAEpH,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;QAC7B,MAAM,EAAE,IAAI;QACZ,IAAI;QACJ,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,OAAuB,EACvB,UAA8B,EAC9B,GAAc;IAEd,sCAAsC;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACpD,CAAC,CAAC,OAAO,CAAC,YAAY;QACtB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAa,CAAC,CAAC;IAE5B,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEhD,oEAAoE;IACpE,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACxC,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,aAAa,GAAG,eAAe,CAAC;YACpC,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,KAAK,EAAE,sBAAsB,OAAO,CAAC,iBAAiB,EAAE,EAAE;YACpE,KAAK,EAAE,wCAAwC,OAAO,CAAC,SAAS,EAAE;SACnE,CAAC,CAAC;QAEH,MAAM,UAAU,GAAc;YAC5B,GAAG,GAAG;YACN,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC;YAC1C,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC;SAC9C,CAAC;QACF,MAAM,WAAW,GAAc;YAC7B,GAAG,UAAU;YACb,aAAa,EAAE,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC;SACtD,CAAC;QACF,OAAO;YACL,GAAG,WAAW;YACd,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,eAAe,QAAQ,gCAAgC,OAAO,CAAC,iBAAiB,GAAG;SACrG,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,qDAAqD;QACrD,MAAM,aAAa,GAAG,eAAe,CAAC;YACpC,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;SAC3D,CAAC,CAAC;QAEH,MAAM,aAAa,GAAc;YAC/B,GAAG,GAAG;YACN,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC;YAC1C,eAAe,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC;SACpD,CAAC;QACF,MAAM,WAAW,GAAc;YAC7B,GAAG,aAAa;YAChB,aAAa,EAAE,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC;SACzD,CAAC;QACF,MAAM,UAAU,GACd,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC;YAC3C,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBACzC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;gBACvD,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAClE,OAAO;YACL,GAAG,WAAW;YACd,cAAc,EAAE,UAAU;YAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,MAAM,aAAa,GAAG,eAAe,CAAC;QACpC,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,GAAG;QAChB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE;YACN,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF;QACD,KAAK,EAAE,OAAO,CAAC,aAAa,IAAI,eAAe,QAAQ,oBAAoB;KAC5E,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAc;QAClC,GAAG,GAAG;QACN,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC1C,wEAAwE;QACxE,aAAa,EAAE,CAAC,GAAG,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC;KAChD,CAAC;IACF,oEAAoE;IACpE,MAAM,cAAc,GAAc;QAChC,GAAG,gBAAgB;QACnB,aAAa,EAAE,cAAc,CAAC,gBAAgB,EAAE,UAAU,CAAC;KAC5D,CAAC;IACF,OAAO;QACL,GAAG,cAAc;QACjB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE;YACV,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,KAAe,EACf,UAA8B,EAC9B,OAA4B,EAC5B,KAAa,EACb,YAKE;IAEF,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE;gBACN,0FAA0F;aAC3F;YACD,YAAY,EAAE,MAAe;YAC7B,YAAY,EAAE,sDAAsD,OAAO,CAAC,KAAK,IAAI;YACrF,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE3D,sCAAsC;IACtC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qDAAqD;IACrD,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4CAA4C;IAC5C,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,MAAM,EAAE,CAAC;QAC5D,YAAY,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iFAAiF;IACjF,4EAA4E;IAC5E,+EAA+E;IAC/E,IAAI,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QACpC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAE,CAAC;QAElD,8DAA8D;QAC9D,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAErF,iCAAiC;QACjC,IAAI,iBAA4B,CAAC;QACjC,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5E,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,WAAW,EAAE,GAAG,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,CAAC,iCAAiC,SAAS,MAAM,GAAG,EAAE,CAAC;gBAC/D,YAAY,EAAE,MAAe;gBAC7B,YAAY,EAAE,eAAe,SAAS,0DAA0D;gBAChG,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QAE/E,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACrC,6DAA6D;YAC7D,MAAM,WAAW,GACf,iBAAiB,CAAC,UAAU,KAAK,SAAS;gBACxC,CAAC,CAAC,eAAe,SAAS,oBAAoB;gBAC9C,CAAC,CAAC,eAAe,SAAS,sDAAsD,CAAC;YACrF,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,WAAW,EAAE,iBAAiB,CAAC,OAAO;gBACtC,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9C,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,WAAW;gBACzB,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,CAAC;QAED,GAAG,GAAG,iBAAiB,CAAC;QACxB,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,wFAAwF;IACxF,qGAAqG;IACrG,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC;IAC5F,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,GAAG;YACP,GAAG,MAAM;YACT,WAAW,EAAE,GAAG,CAAC,OAAO;YACxB,YAAY,EAAE,gBAAgB;SAC/B,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sDAAsD;IACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;IAE3F,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,6EAA6E;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,oBAAoB,CACzB,KAAK,EACL,UAAU,EACV,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAChD,KAAK,GAAG,CAAC,EACT,YAAY,CACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAe,EACf,UAA8B,EAC9B,OAA4B;IAE5B,MAAM,gBAAgB,GAAwB;QAC5C,GAAG,OAAO;QACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE;KACtD,CAAC;IACF,MAAM,OAAO,GAKR,EAAE,CAAC;IACR,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG;QACf,GAAG,MAAM;QACT,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtF,CAAC;AAED,uFAAuF;AACvF,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"execution-loop.js","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAW3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAqE/B,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAClB,QAA6C,EAC7C,EAAU,EACV,QAAgB;IAEhB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,KAAoC,CAAC;IAEzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CACJ,IAAI,aAAa,CAAC,SAAS,QAAQ,qBAAqB,EAAE,IAAI,EAAE;gBAC9D,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aACtC,CAAC,CACH,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,0DAA0D;AAC1D,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;GAGG;AACH,SAAS,eAAe,CACtB,QAAkD,EAClD,OAA2B,EAC3B,UAAqB;IAErB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IACjD,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,IAAI,GAA4B;QACpC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;KACvC,CAAC;IACF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,IAAkB,EAClB,IAA6B,EAC7B,QAAgB,EAChB,KAAa;IAEb,IAAI,KAAK,GAAG,mBAAmB,EAAE,CAAC;QAChC,MAAM,IAAI,aAAa,CACrB,mBAAmB,QAAQ,wCAAwC,mBAAmB,EAAE,EACxF;YACE,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,oEAAoE;IACpE,IAAI,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAQ,IAAoB,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,KAAqB,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+FAA+F;AAC/F,SAAS,cAAc,CAAC,MAAmB,EAAE,UAAkB;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;IACvC,IAAI,KAAa,CAAC;IAClB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,KAAK,GAAG,IAAI,GAAG,UAAU,CAAC;YAC1B,MAAM;QACR,KAAK,aAAa;YAChB,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YAC3C,MAAM;QACR,SAAS,UAAU;YACjB,KAAK,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CACxB,OAAuB,EACvB,UAA8B,EAC9B,OAA2B,EAC3B,UAAqB,EACrB,mBAAsC,EACtC,MAAoB;IAKpB,MAAM,WAAW,GAAG,OAAO,CAAC,YAAa,CAAC;IAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,aAAa,CAAC,YAAY,WAAW,oCAAoC,EAAE;YACnF,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,qFAAqF;IACrF,gFAAgF;IAChF,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7F,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CACrB,YAAY,UAAU,CAAC,OAAO,kBAAkB,WAAW,qBAAqB,EAChF;YACE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;KAC1B,CAAC;IACF,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAEvD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE9E,kFAAkF;IAClF,kFAAkF;IAClF,MAAM,aAAa,GAAG,OAAO,CAAC,MAA8B,CAAC,CAAC;IAC9D,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CACrB,YAAY,UAAU,CAAC,OAAO,sCAAsC,MAAM,GAAG,EAC7E;YACE,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CACF,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,IAAI,UAAU,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,mBAAmB;aACtB,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;aAC1D,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,QAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAO,aAAyC,CAAC,IAAI,CAC9D,OAAO,EACP,SAAS,EACT,aAAa,EACb,MAAM,EACN,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACxC,6DAA6D;gBAC7D,kEAAkE;gBAClE,mDAAmD;gBACnD,iDAAiD;gBACjD,kFAAkF;gBAClF,MAAM,aAAa,GACjB,GAAG,CAAC,WAAW;oBACf,UAAU,CAAC,UAAU,EAAE,sBAAsB;oBAC7C,OAAO,EAAE,wBAAwB,CAAC;gBACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAC1D,MAAM,kBAAkB,GACtB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAElF,wDAAwD;gBACxD,iFAAiF;gBACjF,kFAAkF;gBAClF,8EAA8E;gBAC9E,6EAA6E;gBAC7E,iFAAiF;gBACjF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAC1D,IACE,UAAU,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS;oBACxD,kBAAkB,KAAK,SAAS,EAChC,CAAC;oBACD,MAAM,aAAa,GACjB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACvF,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;wBACtB,mBAAmB;6BAChB,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;6BAC1D,KAAK,CAAC,aAAa,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAED,6DAA6D;gBAC7D,wEAAwE;gBACxE,yEAAyE;gBACzE,IACE,QAAQ,KAAK,SAAS;oBACtB,kBAAkB,KAAK,SAAS;oBAChC,kBAAkB,GAAG,QAAQ,EAC7B,CAAC;oBACD,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE;wBACnC,IAAI,EAAE,sBAAsB;wBAC5B,QAAQ,EAAE,SAAS;wBACnB,WAAW,EAAE,gBAAgB;wBAC7B,SAAS,EAAE,KAAK;wBAChB,WAAW,EAAE,kBAAkB;wBAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzE,CAAC,CAAC;gBACL,CAAC;gBAED,qEAAqE;gBACrE,IAAI,kBAAkB,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC3C,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE;wBACnC,IAAI,EAAE,sBAAsB;wBAC5B,QAAQ,EAAE,SAAS;wBACnB,WAAW,EAAE,kBAAkB;wBAC/B,SAAS,EAAE,IAAI;wBACf,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,aAAa,CAAC,YAAY,UAAU,CAAC,OAAO,YAAY,OAAO,EAAE,EAAE;YAC3E,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GACV,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QACzD,CAAC,CAAE,QAAQ,CAAC,IAAgC;QAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACvD,OAAO;QACL,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;AACJ,CAAC;AAYD;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,OAAuB,EACvB,OAA2B,EAC3B,UAAqB,EACrB,cAAuD,EACvD,MAAoB;IAEpB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAQ,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,WAAW,qBAAqB,EAAE;YACpE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GACjB,OAAO,CAAC,SAAS,KAAK,SAAS;QAC7B,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;QACzD,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACpB,MAAM,qBAAqB,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1F,IAAI,MAAmD,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAC5B,EAAE,MAAM,EAAE,aAAa,EAAE,EACzB;YACE,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,SAAS,EAAE,cAAc;SAC1B,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa;YAAE,MAAM,GAAG,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,aAAa,CAAC,YAAY,WAAW,YAAY,OAAO,EAAE,EAAE;YACpE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACzB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;YAC5B,GAAG,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACzB,GAAG,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAAgB,EAChB,IAAoB,EACpB,OAQC;IAED,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/E,OAAO;QACL,WAAW,EACT,IAAI,CAAC,OAAO,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACnD,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO;gBAC1B,CAAC,CAAC;oBACE,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;oBACpD,SAAS,EAAE;wBACT,MAAM,EAAE,OAAO,CAAC,KAAK;wBACrB,OAAO,EAAE,QAAQ;wBACjB,MAAM,EACJ,IAAI,CAAC,YAAY,KAAK,SAAS;4BAC7B,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAuC,CAAC;4BACtE,CAAC,CAAC,EAAE;qBACT;iBACF;gBACH,CAAC,CAAC,IAAI;QACZ,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAC/D,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,cAAc,EAAE,iBAAiB,QAAQ,MAAM,IAAI,CAAC,WAAW,EAAE;QACjE,WAAW,EAAE,oCAAoC,QAAQ,IAAI;QAC7D,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAA8B,EAAE,GAAc;IAC7E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG;QACd,cAAc;QACd,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,SAAS;YAC9C,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,SAAS,EAAE,GAAG,CAAC,0BAA0B;oBACzC,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAyB;iBACvE;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,OAAO,QAAQ;SACZ,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO;QAC7C,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,SAAS,CAChD;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,aAAuB,EAAE,cAAuB;IACrE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1E,OAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;AAChG,CAAC;AAED,qEAAqE;AACrE,SAAS,aAAa,CACpB,OAAe,EACf,KAAa,EACb,UAAkB,EAClB,GAAkB,EAClB,WAAoB,EACpB,QAAmB;IAEnB,OAAO;QACL,OAAO;QACP,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,UAAU,EAAE,GAAG,CAAC,IAAI;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,YAAY,EAAE,GAAG,CAAC,WAAW;QAC7B,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,YAAY,EAAE,WAAW,IAAI,iBAAiB,OAAO,IAAI;QACzD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAe,EACf,KAAa,EACb,UAAkB,EAClB,GAAkB,EAClB,WAAoB;IAEpB,MAAM,WAAW,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO;QACL,OAAO;QACP,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,UAAU,EAAE,GAAG,CAAC,IAAI;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,YAAY,EAAE,WAAW;QACzB,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,YAAY,EAAE,WAAW,IAAI,iBAAiB,OAAO,IAAI;QACzD,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA2B,EAC3B,GAAqB,EACrB,GAAkB,EAClB,UAA+B,EAC/B,aAAwB;IAExB,MAAM,IAAI,GACR,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,OAAO,CAAC,OAAO,kBAAkB,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,IAAI,GAAG,aAAa,CACxB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,KAAK,EACb,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC9B,GAAG,EACH,IAAI,EACJ,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CACzC,CAAC;IACF,+EAA+E;IAC/E,6DAA6D;IAC7D,MAAM,cAAc,GAClB,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,MAAM,gBAAgB,GACpB,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE;QAChD,CAAC,CAAC,cAAc,CAAC;IACrB,IAAI,GAAG,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3E,OAAO,EAAE,GAAG,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;IAClF,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAe,EACf,UAA8B,EAC9B,OAA2B;IAE3B,oBAAoB;IACpB,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,+BAA+B,EAAE;YAClE,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,GAAG,CAAC,OAAO;YACxB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,sBAA+B;YAC7C,YAAY,EAAE,SAAS,OAAO,CAAC,OAAO,6CAA6C;YACnF,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,YAAY,EAAE,WAAW;YACzB,cAAc,EACZ,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC;oBACE,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,0DAA0D;iBACvE;gBACH,CAAC,CAAC;oBACE,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,mEAAmE;iBAChF;SACR,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEhD,mCAAmC;IACnC,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,WAAW,EAAE,GAAG,CAAC,OAAO;gBACxB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,MAAe;gBAC7B,YAAY,EAAE,iCAAiC,OAAO,CAAC,OAAO,IAAI;gBAClE,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE;oBACd,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,yBAAyB,MAAM,CAAC,UAAU,sBAAsB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG;iBAC7G;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;IAEjG,mGAAmG;IACnG,IAAI,WAAoB,CAAC;IACzB,IAAI,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IACnC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1C,WAAW,GAAG,MAAM,CAAC;QACrB,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,iFAAiF;IACjF,mFAAmF;IACnF,MAAM,gBAAgB,GAAuB,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAEnF,IAAI,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE9E,kCAAkC;IAClC,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAoB,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,8EAA8E;IAC9E,iEAAiE;IACjE,0EAA0E;IAC1E,IAAI,OAAO,EAAE,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC1E,IAAI,CAAC;YACH,oBAAoB,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAoB,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,qGAAqG;IACrG,iGAAiG;IACjG,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,kBAAoD,CAAC;IACzD,IAAI,UAAU,GAAoB,EAAE,CAAC;IAErC,IAAI,OAAO,EAAE,SAAS,KAAK,OAAO,EAAE,CAAC;QACnC,mDAAmD;QACnD,UAAU;YACR,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBACpC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC;gBACrE,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErF,IAAI,WAAW,EAAE,CAAC;YAChB,6EAA6E;YAC7E,oFAAoF;YACpF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAqD;gBACjE,GAAG,UAAU,EAAE,6CAA6C;gBAC5D,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;aACtE,CAAC;YAEF,kFAAkF;YAClF,yEAAyE;YACzE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;YACvD,MAAM,aAAa,GAAsB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAE7F,2EAA2E;YAC3E,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAEnD,6DAA6D;YAC7D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,IAAI,MAAM,CAAC;gBACrD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,mBAAmB,CACjB,kBAAkB,CAAC,OAAO,EAC1B,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,EACf,SAAS,CACV,CAAC;wBACF,kBAAkB,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;wBACjD,kBAAkB,CAAC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;wBACvD,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBACnD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,kFAAkF;wBAClF,OAAO,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAoB,EAAE,UAAU,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,mBAAmB,CAChC,kBAAkB,CAAC,OAAO,EAC1B,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,EACf,MAAM,CACP,CAAC;oBACF,kBAAkB,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;oBACjD,kBAAkB,CAAC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;oBACpD,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC;oBACjE,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;wBAC1B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAI,UAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjE,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;oBACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;oBAC7B,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,EAAE;oBACV,YAAY,EAAE,sBAA+B;oBAC7C,YAAY,EAAE,SAAS,OAAO,CAAC,OAAO,2CAA2C;oBACjF,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC;oBACpD,cAAc,EAAE;wBACd,cAAc,EAAE,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC;wBACvD,UAAU,EAAE,uDAAuD;qBACpE;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,iBAAiB,CACtB,OAAO,EACP,GAAG,EACH,GAAG,EACH,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QACD,OAAO,iBAAiB,CACtB,OAAO,EACP,GAAG,EACH,IAAI,aAAa,CAAC,sBAAsB,EAAE;YACxC,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,IACE,UAAU,CAAC,gBAAgB,KAAK,SAAS;QACzC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;QACnD,UAAU,CAAC,0BAA0B,KAAK,SAAS,EACnD,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/D,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAC9B,GAAG,UAAU;YACb,0BAA0B,EAAE,gBAAgB;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,MAAM,WAAW,GAAG,OAAO,EAAE,KAAK,CAAC;IACnC,MAAM,WAAW,GAAG,WAAW,EAAE,YAAY,IAAI,CAAC,CAAC;IACnD,MAAM,SAAS,GACb,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtF,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,4EAA4E;IAC5E,MAAM,mBAAmB,GAAsB,OAAO,CAAC,QAAQ,IAAI,IAAI,iBAAiB,EAAE,CAAC;IAE3F,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,IAAI,aAAa,GAAyB,IAAI,CAAC;IAC/C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,WAAW,GAAuB,EAAE,CAAC;IAC3C,IAAI,WAA+B,CAAC;IAEpC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC;QACjE,YAAY,GAAG,UAAU,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,aAAa,GAA4B,EAAE,CAAC;QAChD,IAAI,YAAY,GAAyB,IAAI,CAAC;QAC9C,IAAI,cAAmD,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CACf,MAAoB,EAMnB,EAAE;gBACH,IAAI,OAAO,EAAE,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACxE,OAAO,WAAW,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,MAAM,CACP,CAAC;gBACJ,CAAC;qBAAM,IAAI,OAAO,EAAE,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1E,OAAO,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,CACpF,CAAC,MAAM,EAAE,EAAE;wBACT,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC5B,OAAO;gCACL,MAAM,EAAE,EAAE;gCACV,cAAc,EAAE,SAAS;gCACzB,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;6BAC1C,CAAC;wBACJ,CAAC;wBACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC3B,OAAO;gCACL,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,cAAc,EAAE,MAAM,CAAC,cAAc;gCACrC,WAAW,EAAE,MAAM,CAAC,OAAO;6BAC5B,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1E,CAAC,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO;yBACX,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC;yBAC/D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC;YACF,MAAM,UAAU,GACd,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;gBAC7E,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC;YAEvB,yEAAyE;YACzE,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC;gBACrD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAqB;oBACtC,GAAG,eAAe,CAAC;wBACjB,MAAM,EAAE,OAAO,CAAC,OAAO;wBACvB,SAAS,EAAE,GAAG;wBACd,WAAW,EAAE,GAAG;wBAChB,KAAK,EAAE,cAAc;wBACrB,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE;wBACtD,KAAK,EAAE,YAAY;wBACnB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtD,CAAC;oBACF,MAAM,EAAE,SAAS;iBAClB,CAAC;gBACF,MAAM,kBAAkB,GAAc;oBACpC,GAAG,UAAU;oBACb,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;oBACpF,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC;oBACjD,aAAa,EAAE,CAAC,GAAG,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;iBAC9D,CAAC;gBACF,MAAM,cAAc,GAAc;oBAChC,GAAG,kBAAkB;oBACrB,aAAa,EAAE,cAAc,CAAC,kBAAkB,EAAE,UAAU,CAAC;iBAC9D,CAAC;gBACF,MAAM,UAAU,GAAc;oBAC5B,GAAG,cAAc;oBACjB,cAAc,EAAE,IAAI;oBACpB,eAAe,EAAE,YAAY,OAAO,CAAC,OAAO,sBAAsB,YAAY,EAAE;oBAChF,UAAU,EAAE;wBACV,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,aAAa,EAAE,YAAY;qBAC5B;iBACF,CAAC;gBACF,IAAI,iBAAwC,CAAC;gBAC7C,IAAI,CAAC;oBACH,iBAAiB,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACrD,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;oBACrB,WAAW,EAAE,CAAC,iBAAiB,IAAI,UAAU,CAAC,CAAC,OAAO;oBACtD,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,CAAC,aAAa,CAAC;oBACzB,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,EAAE;oBACV,YAAY,EAAE,iBAAiB,OAAO,CAAC,OAAO,sBAAsB,YAAY,EAAE;oBAClF,SAAS,EAAE,CAAC,iBAAiB,IAAI,UAAU,CAAC,CAAC,SAAS;oBACtD,YAAY,EAAE,EAAE;iBACjB,CAAC;YACJ,CAAC;YAED,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;YAClC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;YAC3C,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;YACrC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,YAAY,GAAG,GAAG,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,YAAY,GAAG,IAAI,aAAa,CAAC,sBAAsB,OAAO,EAAE,EAAE;oBAChE,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,OAAO,CAAC,OAAO;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,MAAM,QAAQ,GAAG,eAAe,CAAC;YAC/B,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,SAAS;YACT,WAAW;YACX,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,aAAa;YACrB,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,WAAW,EAAE;gBACX,oBAAoB,EAAE,kBAAkB;gBACxC,kBAAkB,EAAE,iBAAiB;aACtC;YACD,GAAG,CAAC,WAAW,KAAK,SAAS;gBAC3B,CAAC,CAAC,EAAE,YAAY,EAAE,OAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC,YAAY,EAAE;gBACxE,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACP,iFAAiF;YACjF,mFAAmF;YACnF,qFAAqF;YACrF,6EAA6E;YAC7E,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1F,CAAC,CAAC,kBAAkB,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAE;oBACzC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE;gBAClC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,IAAI,GACR,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9E,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,aAAa,CAAC;YACvB,aAAa,GAAG,IAAI,CAAC;YACrB,MAAM;QACR,CAAC;QAED,aAAa,GAAG,YAAY,CAAC;QAC7B,MAAM,SAAS,GACb,WAAW,KAAK,SAAS,IAAI,YAAY,CAAC,SAAS,IAAI,UAAU,GAAG,WAAW,CAAC;QAClF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC5D,MAAM,YAAY,GAChB,YAAY,YAAY,aAAa,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS;gBAC7E,CAAC,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI;gBACjC,CAAC,CAAC,CAAC,CAAC;YACR,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QACxF,MAAM,SAAS,GAAG,aAAa,CAAC;QAChC,aAAa,GAAG,IAAI,aAAa,CAC/B,SAAS,OAAO,CAAC,OAAO,kBAAkB,YAAY,WAAW,EACjE;YACE,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,OAAO;gBACzB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,SAAS,CAAC,OAAO;gBAC5B,GAAG,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvF;SACF,CACF,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,wDAAwD;QACxD,MAAM,SAAS,GAAc;YAC3B,GAAG,UAAU;YACb,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;YACpF,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC;SAC5D,CAAC;QACF,4FAA4F;QAC5F,MAAM,eAAe,GAAc;YACjC,GAAG,SAAS;YACZ,aAAa,EAAE,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;SACrD,CAAC;QACF,gFAAgF;QAChF,2FAA2F;QAC3F,+EAA+E;QAC/E,MAAM,UAAU,GACd,kBAAkB,CAAC,eAAe,EAAE,UAAU,CAAC;YAC/C,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBAC7C,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC;gBAC3D,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACtE,MAAM,SAAS,GAAc;YAC3B,GAAG,eAAe;YAClB,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC;YAClD,cAAc,EAAE,UAAU;YAC1B,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,OAAO,CAAC,OAAO,aAAa,aAAa,CAAC,OAAO,EAAE,EAAE;gBACnF,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,mFAAmF;QACnF,mDAAmD;QACnD,IAAI,YAAmC,CAAC;QACxC,IAAI,mBAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,mBAAmB,GAAG,mCAAmC,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7H,CAAC;QACD,IAAI,iBAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,mFAAmF;YACnF,MAAM,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,iBAAiB,GAAG,uDAAuD,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACzI,CAAC;QAED,8EAA8E;QAC9E,EAAE;QACF,qFAAqF;QACrF,qFAAqF;QACrF,iDAAiD;QACjD,EAAE;QACF,uFAAuF;QACvF,oFAAoF;QACpF,MAAM,eAAe,GAAG,8BAA8B,CACpD,aAAa,EACb,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,cAAc,CAC3C,CAAC;QAEF,oFAAoF;QACpF,wFAAwF;QACxF,IAAI,WAAW,GAAiB,EAAE,CAAC;QACnC,IAAI,eAAe,KAAK,MAAM,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,WAAW,GAAG,gBAAgB,CAAC,UAAU,EAAE,YAAY,IAAI,SAAS,CAAC,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC;gBACP,oFAAoF;YACtF,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GACf,eAAe,KAAK,MAAM;YACxB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,8BAA8B;YACxD,CAAC,CAAC,eAAe,KAAK,kBAAkB;gBACtC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,4BAA4B,aAAa,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,YAAY,CAAC,CAAC,CAAC,UAAU,6DAA6D;gBAClN,CAAC,CAAC,eAAe,KAAK,gBAAgB;oBACpC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,0HAA0H;oBACpJ,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,aAAa,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,+CAA+C,EAAE,CAAC;QAErI,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,OAAO;YAChD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,aAAa,CAAC,aAAa,EAAE,mBAAmB,IAAI,iBAAiB,CAAC;YAChF,MAAM,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;YAC/B,YAAY,EAAE,eAAe;YAC7B,GAAG,CAAC,aAAa,CAAC,WAAW,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACP,YAAY,EAAE,WAAW;YACzB,SAAS,EAAE,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,SAAS;YAChD,YAAY,EAAE,WAAW;SAC1B,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,IAAI,OAAQ,CAAC,KAAK,KAAK,iBAAiB,IAAI,OAAQ,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,UAAU,GACd,OAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,OAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,UAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QAElC,6EAA6E;QAC7E,MAAM,oBAAoB,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GACpB,UAAU,CAAC,0BAA0B,KAAK,SAAS;YACjD,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,SAAS,EAAE,UAAU,CAAC,0BAA0B;oBAChD,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAyB;iBACvE;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,mBAAuC,CAAC;QAC5C,IAAI,OAAQ,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,cAAc,CAClB,OAAQ,CAAC,IAAI,CAAC,OAAO,EACrB;oBACE,cAAc,EAAE,oBAAoB;oBACpC,SAAS,EAAE,GAAG,CAAC,MAAM;oBACrB,GAAG,gBAAgB;iBACpB,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;oBACtC,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,IAAI,aAAa,CAAC,qCAAqC,GAAG,CAAC,UAAU,GAAG,EAAE;wBACxE,IAAI,EAAE,gBAAgB;wBACtB,QAAQ,EAAE,QAAQ;wBAClB,WAAW,EAAE,MAAM;wBACnB,SAAS,EAAE,KAAK;qBACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,IAAI,aAAa,CAAC,6CAA6C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;oBACtF,IAAI,EAAE,2BAA2B;oBACjC,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,KAAK;iBACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;YACJ,CAAC;YACD,mBAAmB,GAAG,GAAG,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,OAAQ,CAAC,IAAI,CAAC;QAEjC,IAAI,OAAkB,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;gBAC3B,GAAG,UAAU;gBACb,qFAAqF;gBACrF,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC;gBAClD,YAAY,EAAE;oBACZ,OAAO;oBACP,SAAS;oBACT,OAAO,EAAE,MAAM;oBACf,OAAO;oBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,GAAG,CAAC,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvF,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS;wBAC/C,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,mBAAmB,EAAE;wBACzD,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,GAAG,EACH,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;YACJ,CAAC;YACD,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,IAAI,aAAa,CAAC,qBAAqB,EAAE;gBACvC,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QAED,qFAAqF;QACrF,MAAM,mBAAmB,GACvB,mBAAmB,KAAK,SAAS;YAC/B,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,OAAQ,CAAC,MAAM,KAAK,SAAS;gBAC7B,CAAC,CAAC,cAAc,CAAC,OAAQ,CAAC,MAAM,EAAE;oBAC9B,cAAc,EAAE,oBAAoB;oBACpC,SAAS,EAAE,GAAG,CAAC,MAAM;oBACrB,GAAG,gBAAgB;iBACpB,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,wBAAwB,GAC5B,OAAQ,CAAC,YAAY,KAAK,SAAS;YACjC,CAAC,CAAC,cAAc,CAAC,OAAQ,CAAC,YAAY,EAAE;gBACpC,cAAc,EAAE,oBAAoB;gBACpC,SAAS,EAAE,GAAG,CAAC,MAAM;gBACrB,GAAG,gBAAgB;aACpB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,cAAc,GAAe;YACjC,WAAW,EAAE;gBACX,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE;gBAC1C,SAAS,EAAE;oBACT,MAAM,EAAE,OAAO,CAAC,KAAK;oBACrB,OAAO;oBACP,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;iBACjC;aACF;YACD,cAAc,EAAE,mCAAmC,OAAO,CAAC,OAAO,8HAA8H;YAChM,WAAW,EAAE,0BAA0B,OAAO,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SAC7F,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC;YAC5B,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,0BAA0B,OAAO,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC7F,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,CAAC,cAAc,CAAC;YAC9B,IAAI,EAAE;gBACJ,OAAO;gBACP,SAAS;gBACT,OAAO,EAAE,MAAM;gBACf,OAAO;gBACP,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,aAAa,EAAE,EAAE,OAAO,EAAE;aAC3B;SACF,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAAc;QAC/B,GAAG,UAAU;QACb,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;QACpF,eAAe,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC;QACjE,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC;KACnD,CAAC;IACF,8FAA8F;IAC9F,6GAA6G;IAC7G,MAAM,mBAAmB,GAAc;QACrC,GAAG,aAAa;QAChB,aAAa,EAAE,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC;KACzD,CAAC;IACF,gFAAgF;IAChF,8FAA8F;IAC9F,+EAA+E;IAC/E,MAAM,UAAU,GACd,kBAAkB,CAAC,mBAAmB,EAAE,UAAU,CAAC;QACnD,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YACjD,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC;YAC/D,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAc;QAC1B,GAAG,mBAAmB;QACtB,cAAc,EAAE,UAAU;QAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;IAEF,IAAI,QAAmB,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,GAAG,EACH,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,8BAA8B,EAAE;YACjE,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,MAAM,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE,6CAA6C;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc;QACzC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,SAAS,uCAAuC,OAAO,CAAC,KAAK,yCAAyC;QAC3I,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,gBAAgB,WAAW,CAAC,MAAM,yBAAyB;YACrF,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,mDAAmD,CAAC;IAElF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;QAC7B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC;QACnD,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAe,EACf,UAA8B,EAC9B,OAA0B;IAE1B,eAAe;IACf,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GACL,GAAG,YAAY,aAAa;YAC1B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,aAAa,CAAC,+BAA+B,EAAE;gBACjD,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACT,OAAO,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,4BAA4B;IAC5B,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,aAAa,CAClB,aAAa,EACb,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,IAAI,aAAa,CAAC,+BAA+B,EAAE;YACjD,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,QAAQ,OAAO,CAAC,KAAK,+BAA+B,GAAG,CAAC,SAAS,KAAK,CACvE,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,aAAa,CAClB,aAAa,EACb,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,IAAI,aAAa,CAAC,mBAAmB,EAAE;YACrC,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,4BAA4B,OAAO,CAAC,KAAK,IAAI,CAC9C,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,aAAa,CAClB,GAAG,CAAC,YAAY,CAAC,SAAS,EAC1B,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,IAAI,aAAa,CAAC,WAAW,OAAO,CAAC,MAAM,oCAAoC,QAAQ,EAAE,EAAE;YACzF,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,mBAAmB,OAAO,CAAC,MAAM,eAAe,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,CAC/E,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;QAC/C,WAAW,EAAE,WAAW;QACxB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QACjC,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;KAChE,CAAC,CAAC;IACH,MAAM,YAAY,GAAqB;QACrC,GAAG,YAAY;QACf,IAAI,EAAE,eAAwB;QAC9B,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,KAAK,SAAS;YACjD,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,gBAAgB,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IACjE,MAAM,SAAS,GAAc;QAC3B,GAAG,IAAI;QACP,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC;QAC3E,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC;QACxD,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;KAC3C,CAAC;IACF,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,eAAe,GAAc;QACjC,GAAG,SAAS;QACZ,aAAa,EAAE,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;KACrD,CAAC;IACF,gFAAgF;IAChF,8FAA8F;IAC9F,+EAA+E;IAC/E,MAAM,UAAU,GACd,kBAAkB,CAAC,eAAe,EAAE,UAAU,CAAC;QAC/C,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAC7C,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC;YAC3D,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAc;QAC1B,GAAG,eAAe;QAClB,cAAc,EAAE,UAAU;QAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;IAEF,IAAI,QAAmB,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GACL,GAAG,YAAY,aAAa;YAC1B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,aAAa,CAAC,iCAAiC,EAAE;gBACnD,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACT,OAAO,aAAa,CAClB,YAAY,EACZ,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,CAAC,EACD,kCAAkC,EAClC,GAAG,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc;QACzC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,SAAS,uCAAuC,OAAO,CAAC,KAAK,yCAAyC;QAC3I,CAAC,CAAC,SAAS,YAAY,2BAA2B,OAAO,CAAC,MAAM,MAAM,WAAW,CAAC,MAAM,yBAAyB,CAAC;IAEpH,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;QAC7B,MAAM,EAAE,IAAI;QACZ,IAAI;QACJ,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,OAAuB,EACvB,UAA8B,EAC9B,GAAc;IAEd,sCAAsC;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACpD,CAAC,CAAC,OAAO,CAAC,YAAY;QACtB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAa,CAAC,CAAC;IAE5B,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEhD,oEAAoE;IACpE,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACxC,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,aAAa,GAAG,eAAe,CAAC;YACpC,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,KAAK,EAAE,sBAAsB,OAAO,CAAC,iBAAiB,EAAE,EAAE;YACpE,KAAK,EAAE,wCAAwC,OAAO,CAAC,SAAS,EAAE;SACnE,CAAC,CAAC;QAEH,MAAM,UAAU,GAAc;YAC5B,GAAG,GAAG;YACN,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC;YAC1C,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC;SAC9C,CAAC;QACF,MAAM,WAAW,GAAc;YAC7B,GAAG,UAAU;YACb,aAAa,EAAE,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC;SACtD,CAAC;QACF,OAAO;YACL,GAAG,WAAW;YACd,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,eAAe,QAAQ,gCAAgC,OAAO,CAAC,iBAAiB,GAAG;SACrG,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,qDAAqD;QACrD,MAAM,aAAa,GAAG,eAAe,CAAC;YACpC,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;SAC3D,CAAC,CAAC;QAEH,MAAM,aAAa,GAAc;YAC/B,GAAG,GAAG;YACN,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC;YAC1C,eAAe,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC;SACpD,CAAC;QACF,MAAM,WAAW,GAAc;YAC7B,GAAG,aAAa;YAChB,aAAa,EAAE,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC;SACzD,CAAC;QACF,MAAM,UAAU,GACd,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC;YAC3C,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBACzC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;gBACvD,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAClE,OAAO;YACL,GAAG,WAAW;YACd,cAAc,EAAE,UAAU;YAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,MAAM,aAAa,GAAG,eAAe,CAAC;QACpC,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,GAAG;QAChB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE;YACN,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF;QACD,KAAK,EAAE,OAAO,CAAC,aAAa,IAAI,eAAe,QAAQ,oBAAoB;KAC5E,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAc;QAClC,GAAG,GAAG;QACN,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC1C,wEAAwE;QACxE,aAAa,EAAE,CAAC,GAAG,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC;KAChD,CAAC;IACF,oEAAoE;IACpE,MAAM,cAAc,GAAc;QAChC,GAAG,gBAAgB;QACnB,aAAa,EAAE,cAAc,CAAC,gBAAgB,EAAE,UAAU,CAAC;KAC5D,CAAC;IACF,OAAO;QACL,GAAG,cAAc;QACjB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE;YACV,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,KAAe,EACf,UAA8B,EAC9B,OAA4B,EAC5B,KAAa,EACb,YAKE;IAEF,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE;gBACN,0FAA0F;aAC3F;YACD,YAAY,EAAE,MAAe;YAC7B,YAAY,EAAE,sDAAsD,OAAO,CAAC,KAAK,IAAI;YACrF,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE3D,sCAAsC;IACtC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qDAAqD;IACrD,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4CAA4C;IAC5C,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,MAAM,EAAE,CAAC;QAC5D,YAAY,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iFAAiF;IACjF,4EAA4E;IAC5E,+EAA+E;IAC/E,IAAI,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QACpC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAE,CAAC;QAElD,8DAA8D;QAC9D,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAErF,iCAAiC;QACjC,IAAI,iBAA4B,CAAC;QACjC,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5E,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,WAAW,EAAE,GAAG,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,CAAC,iCAAiC,SAAS,MAAM,GAAG,EAAE,CAAC;gBAC/D,YAAY,EAAE,MAAe;gBAC7B,YAAY,EAAE,eAAe,SAAS,0DAA0D;gBAChG,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QAE/E,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACrC,6DAA6D;YAC7D,MAAM,WAAW,GACf,iBAAiB,CAAC,UAAU,KAAK,SAAS;gBACxC,CAAC,CAAC,eAAe,SAAS,oBAAoB;gBAC9C,CAAC,CAAC,eAAe,SAAS,sDAAsD,CAAC;YACrF,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,WAAW,EAAE,iBAAiB,CAAC,OAAO;gBACtC,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9C,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,WAAW;gBACzB,SAAS,EAAE,iBAAiB,CAAC,SAAS;gBACtC,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,CAAC;QAED,GAAG,GAAG,iBAAiB,CAAC;QACxB,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,wFAAwF;IACxF,qGAAqG;IACrG,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC;IAC5F,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,GAAG;YACP,GAAG,MAAM;YACT,WAAW,EAAE,GAAG,CAAC,OAAO;YACxB,YAAY,EAAE,gBAAgB;SAC/B,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sDAAsD;IACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;IAE3F,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,6EAA6E;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,oBAAoB,CACzB,KAAK,EACL,UAAU,EACV,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAChD,KAAK,GAAG,CAAC,EACT,YAAY,CACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAe,EACf,UAA8B,EAC9B,OAA4B;IAE5B,sFAAsF;IACtF,yFAAyF;IACzF,+FAA+F;IAC/F,iGAAiG;IACjG,0FAA0F;IAC1F,IAAI,QAA+B,CAAC;IACpC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,SAAS,CAAC,CAAC,qDAAqD;IAC7E,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;YAC7B,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,MAAe;YAC7B,YAAY,EAAE,QAAQ,OAAO,CAAC,KAAK,0BAA0B,QAAQ,CAAC,SAAS,uBAAuB;YACtG,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAwB;QAC5C,GAAG,OAAO;QACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE;KACtD,CAAC;IACF,MAAM,OAAO,GAKR,EAAE,CAAC;IACR,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG;QACf,GAAG,MAAM;QACT,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtF,CAAC;AAED,uFAAuF;AACvF,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,10 @@ export { resolvePreExecutionAgentAction } from './engine/error-resolution.js';
5
5
  export * from './types/workflow-definition.js';
6
6
  export * from './store/store-interface.js';
7
7
  export { JsonFileStore } from './store/json-file-store.js';
8
+ export type { ReconcileSummary } from './store/json-file-store.js';
9
+ export { hashParams, canonicalJson } from './store/params-hash.js';
10
+ export { decideIdempotencyPolicy } from './store/idempotency-policy.js';
11
+ export type { IdempotencyDecision } from './store/idempotency-policy.js';
8
12
  export { executeStep } from './engine/execution-loop.js';
9
13
  export type { StepDispatcher, ExecuteStepOptions } from './engine/execution-loop.js';
10
14
  export { submitHumanResponse, executeChain, buildNextActions, buildPreExecutionErrorEnvelope, } from './engine/execution-loop.js';
@@ -14,7 +18,7 @@ export { TERMINAL_PHASES, RESUMABLE_PHASES, WAITING_PHASES, isTerminalPhase, TER
14
18
  export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
15
19
  export type { PreconditionResult } from './engine/precondition.js';
16
20
  export type { StepDiagnostics } from './types/run-record.js';
17
- export declare const VERSION = "0.7.1";
21
+ export declare const VERSION = "0.8.0";
18
22
  export type { ToolCallRecord, McpServerConfig } from './types/mcp-types.js';
19
23
  export type { ServiceAdapter, ServiceResponse } from './extensions/service-adapter.js';
20
24
  export type { StepHandler, StepHandlerInputs, StepContext, StepHandlerResult, } from './extensions/step-handler.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,12 +6,14 @@ export { resolvePreExecutionAgentAction } from './engine/error-resolution.js';
6
6
  export * from './types/workflow-definition.js';
7
7
  export * from './store/store-interface.js';
8
8
  export { JsonFileStore } from './store/json-file-store.js';
9
+ export { hashParams, canonicalJson } from './store/params-hash.js';
10
+ export { decideIdempotencyPolicy } from './store/idempotency-policy.js';
9
11
  export { executeStep } from './engine/execution-loop.js';
10
12
  export { submitHumanResponse, executeChain, buildNextActions, buildPreExecutionErrorEnvelope, } from './engine/execution-loop.js';
11
13
  export { findEligibleSteps, isWorkflowComplete, deriveRunPhase, buildEvidenceByStep, propagateSkips, } from './engine/eligibility.js';
12
14
  export { TERMINAL_PHASES, RESUMABLE_PHASES, WAITING_PHASES, isTerminalPhase, TERMINAL_STATES, RESUMABLE_STATES, WAITING_STATES, isTerminalState, } from './engine/lifecycle.js';
13
15
  export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
14
- export const VERSION = '0.7.1';
16
+ export const VERSION = '0.8.0';
15
17
  export { ExtensionRegistry } from './extensions/registry.js';
16
18
  export { createDefaultRegistry } from './extensions/default-registry.js';
17
19
  // Evidence
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAY/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,WAAW;AACX,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAMvE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,eAAe;AACf,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGjG,aAAa;AACb,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,WAAW;AACX,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,qBAAqB;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAI1E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAY/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,WAAW;AACX,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAMvE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,eAAe;AACf,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGjG,aAAa;AACb,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,WAAW;AACX,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,qBAAqB;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAI1E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { RunRecord } from '../types/run-record.js';
2
+ import type { CreateRunOptions } from './store-interface.js';
3
+ /** The action a store should take for a matched run. */
4
+ export type IdempotencyDecision = 'reuse' | 'supersede';
5
+ /**
6
+ * Decide what to do when an idempotency key matches an existing run, per the caller's policy.
7
+ * Returns `'reuse'` (return the existing run, `created:false`) or `'supersede'` (mint a fresh run,
8
+ * `created:true`); throws a `WorkflowError` for the `fail` / `reject` policies. Pure — no I/O.
9
+ *
10
+ * Defaults (`reuse` / `use_existing`) reproduce PR 1 behavior exactly.
11
+ */
12
+ export declare function decideIdempotencyPolicy(matched: Pick<RunRecord, 'id' | 'workflow_id' | 'run_phase' | 'terminal_state'>, options: Pick<CreateRunOptions, 'onTerminalMatch' | 'onLiveMatch'>): IdempotencyDecision;
13
+ //# sourceMappingURL=idempotency-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency-policy.d.ts","sourceRoot":"","sources":["../../src/store/idempotency-policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,wDAAwD;AACxD,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,WAAW,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,aAAa,GAAG,WAAW,GAAG,gBAAgB,CAAC,EAC/E,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,aAAa,CAAC,GACjE,mBAAmB,CA2CrB"}
@@ -0,0 +1,45 @@
1
+ import { WorkflowError } from '../types/workflow-error.js';
2
+ /**
3
+ * Decide what to do when an idempotency key matches an existing run, per the caller's policy.
4
+ * Returns `'reuse'` (return the existing run, `created:false`) or `'supersede'` (mint a fresh run,
5
+ * `created:true`); throws a `WorkflowError` for the `fail` / `reject` policies. Pure — no I/O.
6
+ *
7
+ * Defaults (`reuse` / `use_existing`) reproduce PR 1 behavior exactly.
8
+ */
9
+ export function decideIdempotencyPolicy(matched, options) {
10
+ const onTerminalMatch = options.onTerminalMatch ?? 'reuse';
11
+ const onLiveMatch = options.onLiveMatch ?? 'use_existing';
12
+ if (!matched.terminal_state) {
13
+ // Live match (running / gate_waiting).
14
+ if (onLiveMatch === 'fail') {
15
+ throw new WorkflowError(`Idempotency key for workflow '${matched.workflow_id}' is owned by an active run '${matched.id}' (phase '${matched.run_phase}').`, {
16
+ code: 'STATE_RUN_ALREADY_ACTIVE',
17
+ category: 'STATE',
18
+ agentAction: 'report_to_user',
19
+ retryable: false,
20
+ details: { existingRunId: matched.id, run_phase: matched.run_phase },
21
+ });
22
+ }
23
+ return 'reuse'; // use_existing
24
+ }
25
+ // Terminal match.
26
+ switch (onTerminalMatch) {
27
+ case 'reject':
28
+ throw new WorkflowError(`Idempotency key for workflow '${matched.workflow_id}' was already used by run '${matched.id}' (terminal phase '${matched.run_phase}').`, {
29
+ code: 'STATE_IDEMPOTENCY_KEY_USED',
30
+ category: 'STATE',
31
+ agentAction: 'report_to_user',
32
+ retryable: false,
33
+ details: { existingRunId: matched.id, run_phase: matched.run_phase },
34
+ });
35
+ case 'rerun':
36
+ return 'supersede';
37
+ case 'rerun_if_failed':
38
+ // completed ⇒ reuse (benign skip — closed-ticket re-run use case); else supersede.
39
+ return matched.run_phase === 'completed' ? 'reuse' : 'supersede';
40
+ case 'reuse':
41
+ default:
42
+ return 'reuse';
43
+ }
44
+ }
45
+ //# sourceMappingURL=idempotency-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency-policy.js","sourceRoot":"","sources":["../../src/store/idempotency-policy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAK3D;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA+E,EAC/E,OAAkE;IAElE,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,cAAc,CAAC;IAE1D,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5B,uCAAuC;QACvC,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,aAAa,CACrB,iCAAiC,OAAO,CAAC,WAAW,gCAAgC,OAAO,CAAC,EAAE,aAAa,OAAO,CAAC,SAAS,KAAK,EACjI;gBACE,IAAI,EAAE,0BAA0B;gBAChC,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;aACrE,CACF,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,eAAe;IACjC,CAAC;IAED,kBAAkB;IAClB,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,MAAM,IAAI,aAAa,CACrB,iCAAiC,OAAO,CAAC,WAAW,8BAA8B,OAAO,CAAC,EAAE,sBAAsB,OAAO,CAAC,SAAS,KAAK,EACxI;gBACE,IAAI,EAAE,4BAA4B;gBAClC,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;aACrE,CACF,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,WAAW,CAAC;QACrB,KAAK,iBAAiB;YACpB,mFAAmF;YACnF,OAAO,OAAO,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;QACnE,KAAK,OAAO,CAAC;QACb;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,14 +1,62 @@
1
1
  import type { RunRecord } from '../types/run-record.js';
2
2
  import type { WorkflowDefinition } from '../types/workflow-definition.js';
3
3
  import type { RunStore, CreateRunOptions } from './store-interface.js';
4
+ /** Summary returned by {@link JsonFileStore.reconcileKeys}. */
5
+ export interface ReconcileSummary {
6
+ /** Number of distinct (workflow_id, idempotency_key) groups encountered. */
7
+ groups: number;
8
+ /** Number of pointers written (or, in dry-run, that would be written). */
9
+ keysWritten: number;
10
+ /** Pointers already pointing at the canonical run (no write needed). */
11
+ keysUnchanged: number;
12
+ /** True when no files were written. */
13
+ dryRun: boolean;
14
+ /** Groups that had more than one run sharing the same key. */
15
+ duplicateGroups: Array<{
16
+ workflow_id: string;
17
+ key: string;
18
+ canonical_run_id: string;
19
+ other_run_ids: string[];
20
+ }>;
21
+ /** Data-integrity finding: groups with more than one *live* (non-terminal) run. */
22
+ multipleLiveGroups: Array<{
23
+ workflow_id: string;
24
+ key: string;
25
+ canonical_run_id: string;
26
+ extra_live_run_ids: string[];
27
+ }>;
28
+ }
4
29
  export declare class JsonFileStore implements RunStore {
5
30
  private readonly runsDir;
6
31
  constructor(runsDir?: string);
7
32
  /** The directory where run JSON files are stored. */
8
33
  get runsDirPath(): string;
9
34
  private filePath;
35
+ /** Directory holding the idempotency-key pointer index. Invisible to `list()` (no `.json` suffix). */
36
+ private keysDir;
37
+ /** Pointer file path for one (workflowId, key) pair. */
38
+ private keyPath;
10
39
  private ensureDir;
11
- create(options: CreateRunOptions): Promise<RunRecord>;
40
+ private ensureKeysDir;
41
+ /** Read a pointer file; returns undefined if absent or unparseable (self-heals via reclaim/fallback). */
42
+ private readPointer;
43
+ /** Write (or overwrite) a pointer file for `run` under `key`. params_hash is derived from the owned run. */
44
+ private writePointer;
45
+ /** Build and persist a brand-new run record (today's path, factored out). */
46
+ private writeFreshRun;
47
+ /** Find the canonical pre-existing run for (workflowId, key) via the legacy `idempotency_key` field. */
48
+ private findCanonicalLegacyRun;
49
+ create(options: CreateRunOptions): Promise<{
50
+ run: RunRecord;
51
+ created: boolean;
52
+ }>;
53
+ /**
54
+ * Supersede the current key owner with a fresh run (must be called under the per-key lock):
55
+ * run file FIRST, then an atomic pointer overwrite to the successor (PR 1 ordering). The
56
+ * superseded run stays on disk by id (auditable); `pickCanonical` prefers the newer successor,
57
+ * so a lost pointer self-heals to the new run.
58
+ */
59
+ private supersede;
12
60
  get(runId: string): Promise<RunRecord>;
13
61
  update(record: RunRecord): Promise<RunRecord>;
14
62
  claimStep(runId: string, stepName: string, definition: WorkflowDefinition): Promise<RunRecord>;
@@ -17,8 +65,23 @@ export declare class JsonFileStore implements RunStore {
17
65
  * Used for importing records fetched from a remote store.
18
66
  * Idempotent: if the record already exists with the same version, this is a no-op.
19
67
  * Does NOT increment version or apply the optimistic lock — this is an import, not an update.
68
+ * When the record carries an idempotency_key, the key pointer is registered/repointed
69
+ * (closing the import back door): a conflict with a different *live* owner throws.
20
70
  */
21
71
  save(record: RunRecord): Promise<void>;
72
+ /**
73
+ * Register (or repoint) the idempotency-key pointer for an imported record, under the
74
+ * per-key lock. If the key is already owned by a DIFFERENT live run, refuse and throw
75
+ * (a missing or terminal prior owner is safely repointed).
76
+ */
77
+ private registerImportedKey;
78
+ /**
79
+ * Eager migration: build the key pointer index from the legacy `idempotency_key` field on
80
+ * existing runs. Groups runs by (workflow_id, key), writes the pointer to the canonical run
81
+ * (see {@link pickCanonical}). Idempotent (re-running writes nothing new), reversible (only
82
+ * touches `keys/`; never mutates or deletes run files).
83
+ */
84
+ reconcileKeys(workflowId?: string, dryRun?: boolean): Promise<ReconcileSummary>;
22
85
  list(workflowId?: string): Promise<RunRecord[]>;
23
86
  }
24
87
  //# sourceMappingURL=json-file-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-file-store.d.ts","sourceRoot":"","sources":["../../src/store/json-file-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKvE,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,CAAC,EAAE,MAAM;IAI5B,qDAAqD;IACrD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,QAAQ;YAIF,SAAS;IAIjB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAiCrD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAgCtC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IA0C7C,SAAS,CACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,SAAS,CAAC;IAoErB;;;;;OAKG;IACG,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAiBtD"}
1
+ {"version":3,"file":"json-file-store.d.ts","sourceRoot":"","sources":["../../src/store/json-file-store.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAuBvE,+DAA+D;AAC/D,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,8DAA8D;IAC9D,eAAe,EAAE,KAAK,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC,CAAC;IACH,mFAAmF;IACnF,kBAAkB,EAAE,KAAK,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC,CAAC;CACJ;AA2BD,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,CAAC,EAAE,MAAM;IAI5B,qDAAqD;IACrD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,QAAQ;IAIhB,sGAAsG;IACtG,OAAO,CAAC,OAAO;IAIf,wDAAwD;IACxD,OAAO,CAAC,OAAO;YAKD,SAAS;YAIT,aAAa;IAI3B,yGAAyG;YAC3F,WAAW;IASzB,4GAA4G;YAC9F,YAAY;IAW1B,6EAA6E;YAC/D,aAAa;IAwB3B,wGAAwG;YAC1F,sBAAsB;IAS9B,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IA6DtF;;;;;OAKG;YACW,SAAS;IAUjB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAgCtC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IA0C7C,SAAS,CACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,SAAS,CAAC;IAoErB;;;;;;;OAOG;IACG,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B5C;;;;OAIG;YACW,mBAAmB;IA8BjC;;;;;OAKG;IACG,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4D7E,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAiBtD"}
@@ -2,13 +2,43 @@
2
2
  // Uses proper-lockfile to prevent concurrent writes.
3
3
  import { mkdir, readFile, writeFile, readdir } from 'node:fs/promises';
4
4
  import { existsSync } from 'node:fs';
5
+ import { createHash } from 'node:crypto';
5
6
  import { join } from 'node:path';
6
7
  import { homedir } from 'node:os';
7
8
  import { v4 as uuidv4 } from 'uuid';
8
9
  import lockfile from 'proper-lockfile';
9
10
  import { WorkflowError } from '../types/workflow-error.js';
10
11
  import { findEligibleSteps, deriveRunPhase } from '../engine/eligibility.js';
12
+ import { hashParams } from './params-hash.js';
13
+ import { decideIdempotencyPolicy } from './idempotency-policy.js';
11
14
  const DEFAULT_RUNS_DIR = join(homedir(), '.realm', 'runs');
15
+ /** Bounded per-key lock retry policy — used for the resolve-or-claim critical section. */
16
+ const KEY_LOCK_RETRIES = { retries: 10, minTimeout: 50 };
17
+ /**
18
+ * Newest-first comparator: by `created_at` descending, tie-broken by lexicographically
19
+ * greatest `id`. Used to deterministically pick a canonical run for a key.
20
+ */
21
+ function compareCanonical(a, b) {
22
+ if (a.created_at !== b.created_at)
23
+ return a.created_at < b.created_at ? 1 : -1;
24
+ return a.id < b.id ? 1 : -1;
25
+ }
26
+ /**
27
+ * Canonical-pick rule (decision on record): exactly one live (non-terminal) run → it;
28
+ * multiple live → newest live by created_at (the rest are reported as extraLive); else
29
+ * the newest terminal by created_at (tie-break: greatest id).
30
+ */
31
+ function pickCanonical(runs) {
32
+ const live = runs.filter((r) => !r.terminal_state);
33
+ if (live.length === 1)
34
+ return { canonical: live[0], extraLive: [] };
35
+ if (live.length > 1) {
36
+ const sorted = [...live].sort(compareCanonical);
37
+ return { canonical: sorted[0], extraLive: sorted.slice(1) };
38
+ }
39
+ const sorted = [...runs].sort(compareCanonical);
40
+ return { canonical: sorted[0], extraLive: [] };
41
+ }
12
42
  export class JsonFileStore {
13
43
  runsDir;
14
44
  constructor(runsDir) {
@@ -21,18 +51,45 @@ export class JsonFileStore {
21
51
  filePath(runId) {
22
52
  return join(this.runsDir, `${runId}.json`);
23
53
  }
54
+ /** Directory holding the idempotency-key pointer index. Invisible to `list()` (no `.json` suffix). */
55
+ keysDir() {
56
+ return join(this.runsDir, 'keys');
57
+ }
58
+ /** Pointer file path for one (workflowId, key) pair. */
59
+ keyPath(workflowId, key) {
60
+ const hash = createHash('sha256').update(`${workflowId}\0${key}`).digest('hex');
61
+ return join(this.keysDir(), `${hash}.json`);
62
+ }
24
63
  async ensureDir() {
25
64
  await mkdir(this.runsDir, { recursive: true });
26
65
  }
27
- async create(options) {
28
- await this.ensureDir();
29
- // Idempotency check: if a key is supplied, return the existing run if one matches.
30
- if (options.idempotencyKey !== undefined) {
31
- const existing = await this.list(options.workflowId);
32
- const match = existing.find((r) => r.idempotency_key === options.idempotencyKey);
33
- if (match !== undefined)
34
- return match;
66
+ async ensureKeysDir() {
67
+ await mkdir(this.keysDir(), { recursive: true });
68
+ }
69
+ /** Read a pointer file; returns undefined if absent or unparseable (self-heals via reclaim/fallback). */
70
+ async readPointer(keyPath) {
71
+ if (!existsSync(keyPath))
72
+ return undefined;
73
+ try {
74
+ return JSON.parse(await readFile(keyPath, 'utf8'));
75
+ }
76
+ catch {
77
+ return undefined;
35
78
  }
79
+ }
80
+ /** Write (or overwrite) a pointer file for `run` under `key`. params_hash is derived from the owned run. */
81
+ async writePointer(keyPath, run, key) {
82
+ const pointer = {
83
+ run_id: run.id,
84
+ workflow_id: run.workflow_id,
85
+ key,
86
+ params_hash: hashParams(run.params),
87
+ updated_at: new Date().toISOString(),
88
+ };
89
+ await writeFile(keyPath, JSON.stringify(pointer, null, 2), 'utf8');
90
+ }
91
+ /** Build and persist a brand-new run record (today's path, factored out). */
92
+ async writeFreshRun(options) {
36
93
  const now = new Date().toISOString();
37
94
  const record = {
38
95
  id: uuidv4(),
@@ -55,6 +112,83 @@ export class JsonFileStore {
55
112
  await writeFile(this.filePath(record.id), JSON.stringify(record, null, 2), 'utf8');
56
113
  return record;
57
114
  }
115
+ /** Find the canonical pre-existing run for (workflowId, key) via the legacy `idempotency_key` field. */
116
+ async findCanonicalLegacyRun(workflowId, key) {
117
+ const matches = (await this.list(workflowId)).filter((r) => r.idempotency_key === key);
118
+ if (matches.length === 0)
119
+ return undefined;
120
+ return pickCanonical(matches).canonical;
121
+ }
122
+ async create(options) {
123
+ await this.ensureDir();
124
+ // No idempotency key → always a fresh run.
125
+ if (options.idempotencyKey === undefined) {
126
+ const run = await this.writeFreshRun(options);
127
+ return { run, created: true };
128
+ }
129
+ await this.ensureKeysDir();
130
+ const key = options.idempotencyKey;
131
+ const keyPath = this.keyPath(options.workflowId, key);
132
+ // Per-key mutual exclusion for the whole resolve-or-claim critical section.
133
+ // realpath:false lets us lock a key path whose pointer file does not exist yet.
134
+ const release = await lockfile.lock(keyPath, {
135
+ realpath: false,
136
+ retries: KEY_LOCK_RETRIES,
137
+ });
138
+ try {
139
+ const pointer = await this.readPointer(keyPath);
140
+ if (pointer !== undefined) {
141
+ // (b) Pointer present → load the target run.
142
+ const target = await this.get(pointer.run_id).catch((err) => {
143
+ if (err instanceof WorkflowError && err.code === 'STATE_RUN_NOT_FOUND')
144
+ return undefined;
145
+ throw err;
146
+ });
147
+ if (target !== undefined) {
148
+ // (b') Apply the re-encounter policy to the matched run (PR 2). decideIdempotencyPolicy
149
+ // is called directly here (not inside a nested async helper) so a `reject`/`fail` throw
150
+ // is synchronous within this try — avoiding a transiently-orphaned rejected promise.
151
+ if (decideIdempotencyPolicy(target, options) === 'reuse') {
152
+ return { run: target, created: false };
153
+ }
154
+ return await this.supersede(options, keyPath, key);
155
+ }
156
+ // target missing → crash-orphan pointer; fall through to reclaim (d).
157
+ }
158
+ else {
159
+ // (c) Pointer absent → lazy legacy fallback (self-migrates pre-existing data and
160
+ // recovers run-written-but-pointer-not crash orphans, which still carry the field).
161
+ const canonical = await this.findCanonicalLegacyRun(options.workflowId, key);
162
+ if (canonical !== undefined) {
163
+ // A legacy match runs through the same policy.
164
+ if (decideIdempotencyPolicy(canonical, options) === 'reuse') {
165
+ // Migrate the adopted run into the pointer index (PR 1 behavior).
166
+ await this.writePointer(keyPath, canonical, key);
167
+ return { run: canonical, created: false };
168
+ }
169
+ return await this.supersede(options, keyPath, key);
170
+ }
171
+ }
172
+ // (d) Fresh claim / reclaim: run file FIRST, then pointer (overwrite on reclaim).
173
+ const run = await this.writeFreshRun(options);
174
+ await this.writePointer(keyPath, run, key);
175
+ return { run, created: true };
176
+ }
177
+ finally {
178
+ await release();
179
+ }
180
+ }
181
+ /**
182
+ * Supersede the current key owner with a fresh run (must be called under the per-key lock):
183
+ * run file FIRST, then an atomic pointer overwrite to the successor (PR 1 ordering). The
184
+ * superseded run stays on disk by id (auditable); `pickCanonical` prefers the newer successor,
185
+ * so a lost pointer self-heals to the new run.
186
+ */
187
+ async supersede(options, keyPath, key) {
188
+ const run = await this.writeFreshRun(options);
189
+ await this.writePointer(keyPath, run, key);
190
+ return { run, created: true };
191
+ }
58
192
  async get(runId) {
59
193
  const path = this.filePath(runId);
60
194
  if (!existsSync(path)) {
@@ -179,6 +313,8 @@ export class JsonFileStore {
179
313
  * Used for importing records fetched from a remote store.
180
314
  * Idempotent: if the record already exists with the same version, this is a no-op.
181
315
  * Does NOT increment version or apply the optimistic lock — this is an import, not an update.
316
+ * When the record carries an idempotency_key, the key pointer is registered/repointed
317
+ * (closing the import back door): a conflict with a different *live* owner throws.
182
318
  */
183
319
  async save(record) {
184
320
  await this.ensureDir();
@@ -200,7 +336,105 @@ export class JsonFileStore {
200
336
  },
201
337
  });
202
338
  }
339
+ // Run file FIRST (consistent with create()), then register the key pointer.
203
340
  await writeFile(path, JSON.stringify(record, null, 2), 'utf8');
341
+ await this.registerImportedKey(record);
342
+ }
343
+ /**
344
+ * Register (or repoint) the idempotency-key pointer for an imported record, under the
345
+ * per-key lock. If the key is already owned by a DIFFERENT live run, refuse and throw
346
+ * (a missing or terminal prior owner is safely repointed).
347
+ */
348
+ async registerImportedKey(record) {
349
+ if (record.idempotency_key === undefined)
350
+ return;
351
+ await this.ensureKeysDir();
352
+ const key = record.idempotency_key;
353
+ const keyPath = this.keyPath(record.workflow_id, key);
354
+ const release = await lockfile.lock(keyPath, { realpath: false, retries: KEY_LOCK_RETRIES });
355
+ try {
356
+ const pointer = await this.readPointer(keyPath);
357
+ if (pointer !== undefined && pointer.run_id !== record.id) {
358
+ const owner = await this.get(pointer.run_id).catch(() => undefined);
359
+ if (owner !== undefined && !owner.terminal_state) {
360
+ throw new WorkflowError(`Idempotency key for workflow '${record.workflow_id}' is already owned by a different live run '${owner.id}'; refusing to repoint to imported run '${record.id}'.`, {
361
+ code: 'STATE_RUN_DIVERGED',
362
+ category: 'STATE',
363
+ agentAction: 'report_to_user',
364
+ retryable: false,
365
+ details: { runId: record.id, existingOwnerRunId: owner.id },
366
+ });
367
+ }
368
+ // owner missing or terminal → safe to repoint to the imported record.
369
+ }
370
+ await this.writePointer(keyPath, record, key);
371
+ }
372
+ finally {
373
+ await release();
374
+ }
375
+ }
376
+ /**
377
+ * Eager migration: build the key pointer index from the legacy `idempotency_key` field on
378
+ * existing runs. Groups runs by (workflow_id, key), writes the pointer to the canonical run
379
+ * (see {@link pickCanonical}). Idempotent (re-running writes nothing new), reversible (only
380
+ * touches `keys/`; never mutates or deletes run files).
381
+ */
382
+ async reconcileKeys(workflowId, dryRun = false) {
383
+ await this.ensureDir();
384
+ if (!dryRun)
385
+ await this.ensureKeysDir();
386
+ const groups = new Map();
387
+ for (const run of await this.list(workflowId)) {
388
+ if (run.idempotency_key === undefined)
389
+ continue;
390
+ const gk = `${run.workflow_id}\0${run.idempotency_key}`;
391
+ const arr = groups.get(gk);
392
+ if (arr === undefined)
393
+ groups.set(gk, [run]);
394
+ else
395
+ arr.push(run);
396
+ }
397
+ const summary = {
398
+ groups: groups.size,
399
+ keysWritten: 0,
400
+ keysUnchanged: 0,
401
+ dryRun,
402
+ duplicateGroups: [],
403
+ multipleLiveGroups: [],
404
+ };
405
+ for (const runs of groups.values()) {
406
+ const { canonical, extraLive } = pickCanonical(runs);
407
+ const key = canonical.idempotency_key;
408
+ const keyPath = this.keyPath(canonical.workflow_id, key);
409
+ if (runs.length > 1) {
410
+ summary.duplicateGroups.push({
411
+ workflow_id: canonical.workflow_id,
412
+ key,
413
+ canonical_run_id: canonical.id,
414
+ other_run_ids: runs.filter((r) => r.id !== canonical.id).map((r) => r.id),
415
+ });
416
+ }
417
+ if (extraLive.length > 0) {
418
+ summary.multipleLiveGroups.push({
419
+ workflow_id: canonical.workflow_id,
420
+ key,
421
+ canonical_run_id: canonical.id,
422
+ extra_live_run_ids: extraLive.map((r) => r.id),
423
+ });
424
+ }
425
+ const existing = await this.readPointer(keyPath);
426
+ const unchanged = existing !== undefined &&
427
+ existing.run_id === canonical.id &&
428
+ existing.params_hash === hashParams(canonical.params);
429
+ if (unchanged) {
430
+ summary.keysUnchanged++;
431
+ continue;
432
+ }
433
+ summary.keysWritten++;
434
+ if (!dryRun)
435
+ await this.writePointer(keyPath, canonical, key);
436
+ }
437
+ return summary;
204
438
  }
205
439
  async list(workflowId) {
206
440
  await this.ensureDir();
@@ -1 +1 @@
1
- {"version":3,"file":"json-file-store.js","sourceRoot":"","sources":["../../src/store/json-file-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-file-store.js","sourceRoot":"","sources":["../../src/store/json-file-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Produce a canonical JSON string: object keys sorted recursively so that two
3
+ * params objects that are deeply equal (regardless of key insertion order) yield
4
+ * the same string. `undefined` is treated as `null` in arrays and omitted in
5
+ * objects, matching `JSON.stringify` semantics.
6
+ */
7
+ export declare function canonicalJson(value: unknown): string;
8
+ /** sha256 hex of the canonical JSON of a params object. Stable across key ordering. */
9
+ export declare function hashParams(params: Record<string, unknown>): string;
10
+ //# sourceMappingURL=params-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params-hash.d.ts","sourceRoot":"","sources":["../../src/store/params-hash.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAapD;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAElE"}
@@ -0,0 +1,30 @@
1
+ // Canonical, dependency-free hashing of a params object for idempotency identity.
2
+ // Used by the run store's pointer index and by the MCP tools to detect a key↔payload
3
+ // mismatch on an idempotency re-encounter.
4
+ import { createHash } from 'node:crypto';
5
+ /**
6
+ * Produce a canonical JSON string: object keys sorted recursively so that two
7
+ * params objects that are deeply equal (regardless of key insertion order) yield
8
+ * the same string. `undefined` is treated as `null` in arrays and omitted in
9
+ * objects, matching `JSON.stringify` semantics.
10
+ */
11
+ export function canonicalJson(value) {
12
+ if (value === undefined)
13
+ return 'null';
14
+ if (value === null || typeof value !== 'object') {
15
+ return JSON.stringify(value);
16
+ }
17
+ if (Array.isArray(value)) {
18
+ return `[${value.map((v) => canonicalJson(v)).join(',')}]`;
19
+ }
20
+ const obj = value;
21
+ const keys = Object.keys(obj)
22
+ .filter((k) => obj[k] !== undefined)
23
+ .sort();
24
+ return `{${keys.map((k) => `${JSON.stringify(k)}:${canonicalJson(obj[k])}`).join(',')}}`;
25
+ }
26
+ /** sha256 hex of the canonical JSON of a params object. Stable across key ordering. */
27
+ export function hashParams(params) {
28
+ return createHash('sha256').update(canonicalJson(params)).digest('hex');
29
+ }
30
+ //# sourceMappingURL=params-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params-hash.js","sourceRoot":"","sources":["../../src/store/params-hash.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,qFAAqF;AACrF,2CAA2C;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7D,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;SACnC,IAAI,EAAE,CAAC;IACV,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC3F,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,MAA+B;IACxD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC"}
@@ -8,10 +8,39 @@ export interface CreateRunOptions {
8
8
  idempotencyKey?: string;
9
9
  /** ID of the parent run that spawned this run via start_run_batch. */
10
10
  parentRunId?: string;
11
+ /**
12
+ * Policy when the idempotency key matches a **terminal** run (`completed`/`failed`/`aborted`/`abandoned`).
13
+ * - `reuse` *(default)* — return the existing run (`created:false`).
14
+ * - `reject` — throw `STATE_IDEMPOTENCY_KEY_USED`.
15
+ * - `rerun_if_failed` — supersede a `failed`/`aborted`/`abandoned` match (mint a fresh run, `created:true`);
16
+ * a `completed` match is reused (benign skip).
17
+ * - `rerun` — always supersede the matched run and mint a fresh run (`created:true`).
18
+ */
19
+ onTerminalMatch?: 'reuse' | 'reject' | 'rerun_if_failed' | 'rerun';
20
+ /**
21
+ * Policy when the idempotency key matches a **non-terminal** run (`running`/`gate_waiting`).
22
+ * - `use_existing` *(default)* — return the live run (`created:false`).
23
+ * - `fail` — throw `STATE_RUN_ALREADY_ACTIVE`.
24
+ */
25
+ onLiveMatch?: 'use_existing' | 'fail';
11
26
  }
12
27
  export interface RunStore {
13
- /** Create a new run record. Returns the created record. */
14
- create(options: CreateRunOptions): Promise<RunRecord>;
28
+ /**
29
+ * Create a new run record, or — when an `idempotencyKey` is supplied and a run with the
30
+ * same `(workflowId, idempotencyKey)` already exists — return that existing run instead.
31
+ *
32
+ * Returns `{ run, created }`:
33
+ * - `created: true` — a new run record was written.
34
+ * - `created: false` — an existing run matched the idempotency key and is returned unchanged
35
+ * (nothing is re-driven; callers inspect `run.run_phase` to decide what to surface).
36
+ *
37
+ * NOTE (breaking, 0.8.0): this previously returned `Promise<RunRecord>`. External store
38
+ * implementations (e.g. the cloud Postgres store) must update to the `{ run, created }` shape.
39
+ */
40
+ create(options: CreateRunOptions): Promise<{
41
+ run: RunRecord;
42
+ created: boolean;
43
+ }>;
15
44
  /** Get a run record by ID. Throws WorkflowError(STATE_RUN_NOT_FOUND) if not found. */
16
45
  get(runId: string): Promise<RunRecord>;
17
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"store-interface.d.ts","sourceRoot":"","sources":["../../src/store/store-interface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gIAAgI;IAChI,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,2DAA2D;IAC3D,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtD,sFAAsF;IACtF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9C,+DAA+D;IAC/D,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhD;;;;;;;;;OASG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAChG"}
1
+ {"version":3,"file":"store-interface.d.ts","sourceRoot":"","sources":["../../src/store/store-interface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gIAAgI;IAChI,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,iBAAiB,GAAG,OAAO,CAAC;IACnE;;;;OAIG;IACH,WAAW,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAEjF,sFAAsF;IACtF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9C,+DAA+D;IAC/D,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhD;;;;;;;;;OASG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAChG"}
@@ -1,4 +1,4 @@
1
- import type { EvidenceSnapshot } from './run-record.js';
1
+ import type { EvidenceSnapshot, RunPhase } from './run-record.js';
2
2
  import type { AgentAction, ErrorCode } from './workflow-error.js';
3
3
  export interface NextAction {
4
4
  instruction: {
@@ -78,6 +78,12 @@ export interface ResponseEnvelope {
78
78
  retry_after?: number;
79
79
  /** Current state orientation. Always populated — describes what just happened and what state the run is in. */
80
80
  context_hint: string;
81
+ /**
82
+ * Derived phase of the run at the time of this response. Present whenever a run is loaded
83
+ * (sourced from `run.run_phase`); absent only on pre-execution error envelopes where no run
84
+ * could be loaded (`buildPreExecutionErrorEnvelope` / `errorEnvelope`).
85
+ */
86
+ run_phase?: RunPhase;
81
87
  /** Steps available for execution. Empty array means terminal or blocked — check status and run_phase. */
82
88
  next_actions: NextAction[];
83
89
  blocked_reason?: BlockedReason;
@@ -1 +1 @@
1
- {"version":3,"file":"response-envelope.d.ts","sourceRoot":"","sources":["../../src/types/response-envelope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC;;;;WAIG;QACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,IAAI,CAAC;IACT,cAAc,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8GAA8G;IAC9G,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,kBAAkB,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2HAA2H;IAC3H,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,yHAAyH;IACzH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+GAA+G;IAC/G,YAAY,EAAE,MAAM,CAAC;IACrB,yGAAyG;IACzG,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF"}
1
+ {"version":3,"file":"response-envelope.d.ts","sourceRoot":"","sources":["../../src/types/response-envelope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC;;;;WAIG;QACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,IAAI,CAAC;IACT,cAAc,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8GAA8G;IAC9G,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,kBAAkB,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2HAA2H;IAC3H,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,yHAAyH;IACzH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+GAA+G;IAC/G,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,yGAAyG;IACzG,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF"}
@@ -1,6 +1,6 @@
1
1
  export type ErrorCategory = 'NETWORK' | 'SERVICE' | 'STATE' | 'VALIDATION' | 'ENGINE' | 'RESOURCE';
2
2
  export type AgentAction = 'report_to_user' | 'provide_input' | 'resolve_precondition' | 'stop' | 'wait_for_human' | 'wait_and_proceed';
3
- export type ErrorCode = 'NETWORK_TIMEOUT' | 'NETWORK_UNREACHABLE' | 'NETWORK_DNS_FAILED' | 'NETWORK_CONNECTION_RESET' | 'SERVICE_HTTP_4XX' | 'SERVICE_HTTP_5XX' | 'SERVICE_RATE_LIMITED' | 'SERVICE_AUTH_FAILED' | 'SERVICE_NOT_FOUND' | 'SERVICE_RESPONSE_INVALID' | 'STATE_BLOCKED' | 'STATE_PRECONDITION_FAILED' | 'STATE_RUN_NOT_FOUND' | 'STATE_WORKFLOW_NOT_FOUND' | 'STATE_RUN_TERMINAL' | 'STATE_SNAPSHOT_MISMATCH' | 'STATE_RUN_LOCKED' | 'STATE_TRANSITION_DENIED' | 'STATE_LEGACY_FORMAT' | 'STATE_STEP_ALREADY_CLAIMED' | 'STATE_STEP_NOT_ELIGIBLE' | 'STATE_RUN_DIVERGED' | 'RUN_ABORTING' | 'VALIDATION_INPUT_SCHEMA' | 'VALIDATION_OUTPUT_SCHEMA' | 'VALIDATION_TRACE_SCHEMA' | 'VALIDATION_WORKFLOW_SCHEMA' | 'VALIDATION_HASH_MISMATCH' | 'VALIDATION_QUOTE_NOT_FOUND' | 'VALIDATION_FIELD_UNKNOWN' | 'VALIDATION_FIELD_EXCLUDED' | 'VALIDATION_EMPTY_VALUE' | 'VALIDATION_BATCH_TOO_LARGE' | 'VALIDATION_BATCH_ITEMS' | 'STEP_HANDLER_ERROR' | 'ENGINE_INTERNAL' | 'ENGINE_STORE_FAILED' | 'ENGINE_ADAPTER_FAILED' | 'ENGINE_PROCESSOR_FAILED' | 'ENGINE_HANDLER_FAILED' | 'ENGINE_STEP_FAILED' | 'ENGINE_GATE_OPEN_FAILED' | 'GATE_MESSAGE_UNRESOLVABLE' | 'FILTER_UNKNOWN' | 'ADAPTER_OP_UNSUPPORTED' | 'ADAPTER_VALIDATION_FAILED' | 'ADAPTER_REQUEST_FAILED' | 'STEP_TIMEOUT' | 'STEP_ABORTED' | 'STEP_RETRY_EXHAUSTED' | 'STATE_STEP_PENDING' | 'STEP_NOT_FOUND' | 'GUARD_RESOLUTION_ERROR' | 'INPUT_MAP_DEPTH_EXCEEDED' | 'RESOURCE_FETCH_FAILED' | 'RESOURCE_TOO_LARGE' | 'RESOURCE_FORMAT_INVALID' | 'RESOURCE_NOT_ACCESSIBLE' | 'BUFFER_FULL' | 'MCP_CONNECTION_FAILED' | 'MCP_TOOL_NOT_FOUND' | 'MCP_TOOL_NAME_COLLISION';
3
+ export type ErrorCode = 'NETWORK_TIMEOUT' | 'NETWORK_UNREACHABLE' | 'NETWORK_DNS_FAILED' | 'NETWORK_CONNECTION_RESET' | 'SERVICE_HTTP_4XX' | 'SERVICE_HTTP_5XX' | 'SERVICE_RATE_LIMITED' | 'SERVICE_AUTH_FAILED' | 'SERVICE_NOT_FOUND' | 'SERVICE_RESPONSE_INVALID' | 'STATE_BLOCKED' | 'STATE_PRECONDITION_FAILED' | 'STATE_RUN_NOT_FOUND' | 'STATE_WORKFLOW_NOT_FOUND' | 'STATE_RUN_TERMINAL' | 'STATE_SNAPSHOT_MISMATCH' | 'STATE_RUN_LOCKED' | 'STATE_TRANSITION_DENIED' | 'STATE_LEGACY_FORMAT' | 'STATE_STEP_ALREADY_CLAIMED' | 'STATE_STEP_NOT_ELIGIBLE' | 'STATE_RUN_DIVERGED' | 'STATE_RUN_ALREADY_ACTIVE' | 'STATE_IDEMPOTENCY_KEY_USED' | 'RUN_ABORTING' | 'VALIDATION_INPUT_SCHEMA' | 'VALIDATION_OUTPUT_SCHEMA' | 'VALIDATION_TRACE_SCHEMA' | 'VALIDATION_WORKFLOW_SCHEMA' | 'VALIDATION_HASH_MISMATCH' | 'VALIDATION_QUOTE_NOT_FOUND' | 'VALIDATION_FIELD_UNKNOWN' | 'VALIDATION_FIELD_EXCLUDED' | 'VALIDATION_EMPTY_VALUE' | 'VALIDATION_BATCH_TOO_LARGE' | 'VALIDATION_BATCH_ITEMS' | 'STEP_HANDLER_ERROR' | 'ENGINE_INTERNAL' | 'ENGINE_STORE_FAILED' | 'ENGINE_ADAPTER_FAILED' | 'ENGINE_PROCESSOR_FAILED' | 'ENGINE_HANDLER_FAILED' | 'ENGINE_STEP_FAILED' | 'ENGINE_GATE_OPEN_FAILED' | 'GATE_MESSAGE_UNRESOLVABLE' | 'FILTER_UNKNOWN' | 'ADAPTER_OP_UNSUPPORTED' | 'ADAPTER_VALIDATION_FAILED' | 'ADAPTER_REQUEST_FAILED' | 'STEP_TIMEOUT' | 'STEP_ABORTED' | 'STEP_RETRY_EXHAUSTED' | 'STATE_STEP_PENDING' | 'STEP_NOT_FOUND' | 'GUARD_RESOLUTION_ERROR' | 'INPUT_MAP_DEPTH_EXCEEDED' | 'RESOURCE_FETCH_FAILED' | 'RESOURCE_TOO_LARGE' | 'RESOURCE_FORMAT_INVALID' | 'RESOURCE_NOT_ACCESSIBLE' | 'BUFFER_FULL' | 'MCP_CONNECTION_FAILED' | 'MCP_TOOL_NOT_FOUND' | 'MCP_TOOL_NAME_COLLISION';
4
4
  export interface WorkflowErrorOptions {
5
5
  code: ErrorCode;
6
6
  category: ErrorCategory;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-error.d.ts","sourceRoot":"","sources":["../../src/types/workflow-error.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnG,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,eAAe,GACf,sBAAsB,GACtB,MAAM,GACN,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,SAAS,GAEjB,iBAAiB,GACjB,qBAAqB,GACrB,oBAAoB,GACpB,0BAA0B,GAE1B,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,GACtB,qBAAqB,GACrB,mBAAmB,GACnB,0BAA0B,GAE1B,eAAe,GACf,2BAA2B,GAC3B,qBAAqB,GACrB,0BAA0B,GAC1B,oBAAoB,GACpB,yBAAyB,GACzB,kBAAkB,GAClB,yBAAyB,GACzB,qBAAqB,GACrB,4BAA4B,GAC5B,yBAAyB,GACzB,oBAAoB,GACpB,cAAc,GAEd,yBAAyB,GACzB,0BAA0B,GAC1B,yBAAyB,GACzB,4BAA4B,GAC5B,0BAA0B,GAC1B,4BAA4B,GAC5B,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GACxB,4BAA4B,GAC5B,wBAAwB,GACxB,oBAAoB,GAEpB,iBAAiB,GACjB,qBAAqB,GACrB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,oBAAoB,GACpB,yBAAyB,GACzB,2BAA2B,GAC3B,gBAAgB,GAChB,wBAAwB,GACxB,2BAA2B,GAC3B,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,sBAAsB,GACtB,oBAAoB,GACpB,gBAAgB,GAChB,wBAAwB,GACxB,0BAA0B,GAE1B,uBAAuB,GACvB,oBAAoB,GACpB,yBAAyB,GACzB,yBAAyB,GAEzB,aAAa,GAEb,uBAAuB,GACvB,oBAAoB,GACpB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;CAa3D"}
1
+ {"version":3,"file":"workflow-error.d.ts","sourceRoot":"","sources":["../../src/types/workflow-error.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnG,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,eAAe,GACf,sBAAsB,GACtB,MAAM,GACN,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,SAAS,GAEjB,iBAAiB,GACjB,qBAAqB,GACrB,oBAAoB,GACpB,0BAA0B,GAE1B,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,GACtB,qBAAqB,GACrB,mBAAmB,GACnB,0BAA0B,GAE1B,eAAe,GACf,2BAA2B,GAC3B,qBAAqB,GACrB,0BAA0B,GAC1B,oBAAoB,GACpB,yBAAyB,GACzB,kBAAkB,GAClB,yBAAyB,GACzB,qBAAqB,GACrB,4BAA4B,GAC5B,yBAAyB,GACzB,oBAAoB,GACpB,0BAA0B,GAC1B,4BAA4B,GAC5B,cAAc,GAEd,yBAAyB,GACzB,0BAA0B,GAC1B,yBAAyB,GACzB,4BAA4B,GAC5B,0BAA0B,GAC1B,4BAA4B,GAC5B,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GACxB,4BAA4B,GAC5B,wBAAwB,GACxB,oBAAoB,GAEpB,iBAAiB,GACjB,qBAAqB,GACrB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,oBAAoB,GACpB,yBAAyB,GACzB,2BAA2B,GAC3B,gBAAgB,GAChB,wBAAwB,GACxB,2BAA2B,GAC3B,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,sBAAsB,GACtB,oBAAoB,GACpB,gBAAgB,GAChB,wBAAwB,GACxB,0BAA0B,GAE1B,uBAAuB,GACvB,oBAAoB,GACpB,yBAAyB,GACzB,yBAAyB,GAEzB,aAAa,GAEb,uBAAuB,GACvB,oBAAoB,GACpB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;CAa3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-error.js","sourceRoot":"","sources":["../../src/types/workflow-error.ts"],"names":[],"mappings":"AAAA,kEAAkE;AA+FlE,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAY;IAChB,QAAQ,CAAgB;IACxB,WAAW,CAAc;IACzB,SAAS,CAAU;IACnB,OAAO,CAA0B;IACjC,MAAM,CAAU;IAChB,SAAS,CAAS;IAClB,OAAO,CAAS;IAChB,WAAW,CAAU;IAE9B,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAChF,CAAC;CACF"}
1
+ {"version":3,"file":"workflow-error.js","sourceRoot":"","sources":["../../src/types/workflow-error.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAiGlE,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAY;IAChB,QAAQ,CAAgB;IACxB,WAAW,CAAc;IACzB,SAAS,CAAU;IACnB,OAAO,CAA0B;IACjC,MAAM,CAAU;IAChB,SAAS,CAAS;IAClB,OAAO,CAAS;IAChB,WAAW,CAAU;IAE9B,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAChF,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sensigo/realm",
3
- "version": "0.7.1",
3
+ "version": "0.8.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },