@stigmer/runner 3.2.0 → 3.2.1

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
- {"hash":"b3c5f5a689035f9c","builtAt":"2026-07-17T15:14:50.929Z","fileCount":251}
1
+ {"hash":"7243a1c247ad6d42","builtAt":"2026-07-17T18:09:00.336Z","fileCount":252}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * ExecutionConfig.max_cost_usd enforcement for the Cursor harness.
3
+ *
4
+ * The native harness enforces the cap in middleware (cost-cap.ts): tools are
5
+ * blocked at the threshold and the model gets one final tool-free round to
6
+ * summarize. Cursor's only control point is cancelling the in-flight run, so
7
+ * here the cap is a HARD stop — the shared onDelta flags the overrun when a
8
+ * turn-ended usage delta lands, and the stream loop ends the run through the
9
+ * same clean-cancel pattern the stall watchdog and first-denial stop use.
10
+ * Slightly harsher than native by construction; both harnesses terminate with
11
+ * the same honesty semantics (EXECUTION_TERMINATED, work checkpointed, the
12
+ * conversation continues on the next message — the recursion-limit precedent
13
+ * in execute-deep-agent/streaming-terminal.ts).
14
+ *
15
+ * The running figure is the usage accumulator's local pricing-table estimate
16
+ * (authoritative billing is the BiDi proxy). That is the same estimation
17
+ * basis the native cost-cap middleware uses — acceptable for a safety net.
18
+ */
19
+ /**
20
+ * Whether the per-execution cost budget has been exhausted.
21
+ *
22
+ * `maxCostUsd <= 0` means "no cap" (the proto contract: 0/unset disables the
23
+ * ceiling). The boundary is inclusive: reaching the cap exactly stops the run,
24
+ * matching the native middleware's `runningCost >= maxCostUsd` check.
25
+ */
26
+ export declare function costCapExceeded(maxCostUsd: number, estimatedCostUsd: number): boolean;
27
+ /**
28
+ * Stable prefix of the cost-limit terminal error. Mirrors the cross-repo
29
+ * pattern of TOOL_CALL_LIMIT_ERROR_PREFIX (streaming-terminal.ts): consumers
30
+ * that need to distinguish "ran out of cost budget" from other TERMINATED
31
+ * causes can match on this prefix, because AgentExecutionStatus carries no
32
+ * structured termination reason. Do not reword without checking consumers.
33
+ */
34
+ export declare const COST_LIMIT_ERROR_PREFIX = "Agent reached the cost limit";
35
+ /** The terminal `status.error` for a cost-cap stop. */
36
+ export declare function formatCostLimitError(maxCostUsd: number, estimatedCostUsd: number): string;
37
+ /**
38
+ * User-facing system message for a cost-cap stop. Parallel to the
39
+ * recursion-limit copy: honest about the limit, clear that nothing is lost.
40
+ */
41
+ export declare const COST_LIMIT_USER_COPY: string;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * ExecutionConfig.max_cost_usd enforcement for the Cursor harness.
3
+ *
4
+ * The native harness enforces the cap in middleware (cost-cap.ts): tools are
5
+ * blocked at the threshold and the model gets one final tool-free round to
6
+ * summarize. Cursor's only control point is cancelling the in-flight run, so
7
+ * here the cap is a HARD stop — the shared onDelta flags the overrun when a
8
+ * turn-ended usage delta lands, and the stream loop ends the run through the
9
+ * same clean-cancel pattern the stall watchdog and first-denial stop use.
10
+ * Slightly harsher than native by construction; both harnesses terminate with
11
+ * the same honesty semantics (EXECUTION_TERMINATED, work checkpointed, the
12
+ * conversation continues on the next message — the recursion-limit precedent
13
+ * in execute-deep-agent/streaming-terminal.ts).
14
+ *
15
+ * The running figure is the usage accumulator's local pricing-table estimate
16
+ * (authoritative billing is the BiDi proxy). That is the same estimation
17
+ * basis the native cost-cap middleware uses — acceptable for a safety net.
18
+ */
19
+ /**
20
+ * Whether the per-execution cost budget has been exhausted.
21
+ *
22
+ * `maxCostUsd <= 0` means "no cap" (the proto contract: 0/unset disables the
23
+ * ceiling). The boundary is inclusive: reaching the cap exactly stops the run,
24
+ * matching the native middleware's `runningCost >= maxCostUsd` check.
25
+ */
26
+ export function costCapExceeded(maxCostUsd, estimatedCostUsd) {
27
+ return maxCostUsd > 0 && estimatedCostUsd >= maxCostUsd;
28
+ }
29
+ /**
30
+ * Stable prefix of the cost-limit terminal error. Mirrors the cross-repo
31
+ * pattern of TOOL_CALL_LIMIT_ERROR_PREFIX (streaming-terminal.ts): consumers
32
+ * that need to distinguish "ran out of cost budget" from other TERMINATED
33
+ * causes can match on this prefix, because AgentExecutionStatus carries no
34
+ * structured termination reason. Do not reword without checking consumers.
35
+ */
36
+ export const COST_LIMIT_ERROR_PREFIX = "Agent reached the cost limit";
37
+ /** The terminal `status.error` for a cost-cap stop. */
38
+ export function formatCostLimitError(maxCostUsd, estimatedCostUsd) {
39
+ return (`${COST_LIMIT_ERROR_PREFIX} for this message ` +
40
+ `(~$${estimatedCostUsd.toFixed(4)} of the $${maxCostUsd.toFixed(2)} budget). ` +
41
+ `Send another message to continue.`);
42
+ }
43
+ /**
44
+ * User-facing system message for a cost-cap stop. Parallel to the
45
+ * recursion-limit copy: honest about the limit, clear that nothing is lost.
46
+ */
47
+ export const COST_LIMIT_USER_COPY = "The agent reached the cost limit for this message. " +
48
+ "Work completed so far has been saved. " +
49
+ "Send another message to continue where the agent left off.";
50
+ //# sourceMappingURL=cost-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-guard.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/cost-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,gBAAwB;IAC1E,OAAO,UAAU,GAAG,CAAC,IAAI,gBAAgB,IAAI,UAAU,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAEtE,uDAAuD;AACvD,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,gBAAwB;IAC/E,OAAO,CACL,GAAG,uBAAuB,oBAAoB;QAC9C,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;QAC9E,mCAAmC,CACpC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,qDAAqD;IACrD,wCAAwC;IACxC,4DAA4D,CAAC"}
@@ -66,6 +66,7 @@ import { isGitWorkTree } from "../../shared/filereview/git-substrate.js";
66
66
  import { captureBaselineToLedger, buildCursorProgressSubstrate, applyCaptureDecisions, deriveCaptureMode, } from "./capture-flow.js";
67
67
  import { runTurnBoundary } from "./turn-boundary.js";
68
68
  import { consumeCursorTurnStream, makeCursorTurnOnDelta, newTurnStreamState, } from "./turn-stream.js";
69
+ import { formatCostLimitError, COST_LIMIT_USER_COPY } from "./cost-guard.js";
69
70
  import { newProgressCaptureState, } from "../../shared/filereview/progress.js";
70
71
  import { deriveExecutionFingerprintKey } from "../../shared/approval-fingerprint.js";
71
72
  import { getRunnerHitlMasterSecret } from "../../shared/fingerprint-secret.js";
@@ -795,6 +796,7 @@ turnSeq) {
795
796
  // The shared onDelta only needs the usage/enricher/heartbeat/state subset,
796
797
  // and it is wired at SEND time — before the accumulator exists — so it takes
797
798
  // the narrow deps. The primary send and both retry sends reuse this object.
799
+ const maxCostUsd = spec.executionConfig?.maxCostUsd ?? 0;
798
800
  const onDeltaDeps = {
799
801
  usageAccumulator,
800
802
  deltaEnricher,
@@ -802,6 +804,7 @@ turnSeq) {
802
804
  promptEstimatedTokens,
803
805
  executionId,
804
806
  state: turnState,
807
+ maxCostUsd,
805
808
  };
806
809
  // Periodic heartbeat keeps Temporal informed during silent SDK operations
807
810
  // (e.g. long tool calls, MCP requests, model thinking). Without this,
@@ -904,6 +907,7 @@ turnSeq) {
904
907
  if (turnState.pauseDetected ||
905
908
  workerShutdownDetected ||
906
909
  turnState.stallDetected ||
910
+ turnState.costCapExceeded ||
907
911
  Context.current().cancellationSignal.aborted) {
908
912
  accumulator.cancelInProgressSubAgents();
909
913
  }
@@ -936,6 +940,32 @@ turnSeq) {
936
940
  console.warn(`ExecuteCursor stalled: execution=${executionId}, events=${turnState.eventCount}, error=${status.error}`);
937
941
  return { kind: "return" };
938
942
  }
943
+ // Cost cap (cost-guard.ts): onDelta flagged the overrun and the loop
944
+ // cancelled the run. EXECUTION_TERMINATED, not FAILED — the platform
945
+ // deliberately stopped the run, work is checkpointed, and the
946
+ // conversation continues on the next message (the recursion-limit
947
+ // precedent in execute-deep-agent/streaming-terminal.ts). RETURN (not
948
+ // throw): a Temporal retry would re-run the identical prompt and burn
949
+ // the same budget again.
950
+ if (turnState.costCapExceeded) {
951
+ const estimated = usageAccumulator.snapshot().estimatedCostUsd;
952
+ status.phase = ExecutionPhase.EXECUTION_TERMINATED;
953
+ status.error = formatCostLimitError(maxCostUsd, estimated);
954
+ status.completedAt = utcTimestamp();
955
+ status.messages.push(create(AgentMessageSchema, {
956
+ type: MessageType.MESSAGE_SYSTEM,
957
+ content: COST_LIMIT_USER_COPY,
958
+ timestamp: utcTimestamp(),
959
+ }));
960
+ await persist(status);
961
+ try {
962
+ resolution.agent.close();
963
+ }
964
+ catch { /* best effort */ }
965
+ console.warn(`ExecuteCursor terminated (cost cap): execution=${executionId}, ` +
966
+ `estimatedCostUsd=${estimated.toFixed(4)}, maxCostUsd=${maxCostUsd.toFixed(2)}`);
967
+ return { kind: "return" };
968
+ }
939
969
  // Worker shutdown: the runner-manager aborted the shutdown signal. NOT a
940
970
  // user pause. Checked via the shutdown signal directly so a retry (whose
941
971
  // periodic heartbeat is already stopped) still classifies it correctly.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AAI3G,OAAO,EAA0B,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAIzL,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAC7H,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAwB,MAAM,kCAAkC,CAAC;AACjI,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,GAE1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3J,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAA2B,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,GAGnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,uBAAuB,GAGxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+DAA+D,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAA6B,MAAM,gCAAgC,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAE1G,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,sBAAsB;QACvC,KAAK,EAAE,MAAM,CAAC,YAAY;QAC1B,QAAQ,EAAE,MAAM,CAAC,eAAe;QAChC,cAAc,EAAE,MAAM,CAAC,qBAAqB;KAC7C,CAAC,CAAC;IAEH,OAAO;QACL,2EAA2E;QAC3E,sEAAsE;QACtE,uEAAuE;QACvE,0BAA0B;QAC1B,aAAa,EAAE,KAAK,EAClB,IAAmC,EACnC,IAAa,EACK,EAAE;YACpB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9E,eAAe,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,OAAO,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7E,CAAC;oBAAS,CAAC;gBACT,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAc,EACd,MAAqB,EACrB,WAAmB,EACnB,QAAgB,EAChB,OAAe;IAEf,OAAO,CAAC,GAAG,CAAC,oCAAoC,WAAW,cAAc,QAAQ,IAAI,OAAO,aAAa,OAAO,EAAE,CAAC,CAAC;IAEpH,qEAAqE;IACrE,oEAAoE;IACpE,kBAAkB,EAAE,CAAC;IAErB,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,uBAAuB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACxH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,MAAc,EACd,MAAqB,EACrB,WAAmB,EACnB,QAAgB;AAChB,uEAAuE;AACvE,2EAA2E;AAC3E,8CAA8C;AAC9C,OAAe;IAGf,MAAM,MAAM,GAAG,MAAM,CAAC,0BAA0B,EAAE;QAChD,KAAK,EAAE,cAAc,CAAC,qBAAqB;QAC3C,SAAS,EAAE,YAAY,EAAE;KAC1B,CAAC,CAAC;IAEH,6EAA6E;IAC7E,4EAA4E;IAC5E,gFAAgF;IAChF,iFAAiF;IACjF,iFAAiF;IACjF,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,eAAe,GACnB,MAAM,4BAA4B,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,eAAe;QACnC,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE;QAClC,CAAC,CAAC,SAAS,CAAC;IACd,0EAA0E;IAC1E,8EAA8E;IAC9E,kDAAkD;IAClD,MAAM,OAAO,GAAG,CAAC,IAA0B,MAAM,EAAE,EAAE;QACnD,2EAA2E;QAC3E,8EAA8E;QAC9E,+EAA+E;QAC/E,wEAAwE;QACxE,8EAA8E;QAC9E,4EAA4E;QAC5E,+EAA+E;QAC/E,4EAA4E;QAC5E,iCAAiC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpE,OAAO,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,IAAI,SAA6B,CAAC;IAClC,IAAI,OAA2F,CAAC;IAChG,wEAAwE;IACxE,4EAA4E;IAC5E,uEAAuE;IACvE,2EAA2E;IAC3E,8EAA8E;IAC9E,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,yEAAyE;IACzE,+EAA+E;IAC/E,8EAA8E;IAC9E,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,iBAA2C,CAAC;IAChD,IAAI,iBAAgE,CAAC;IACrE,gFAAgF;IAChF,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,gDAAgD;IAChD,IAAI,mBAAsD,CAAC;IAC3D,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,IAAI,OAA2B,CAAC;IAChC,8EAA8E;IAC9E,4EAA4E;IAC5E,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,WAA8C,CAAC;IACnD,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,6DAA6D;IAC7D,IAAI,oBAAsD,CAAC;IAC3D,+EAA+E;IAC/E,wEAAwE;IACxE,IAAI,YAAY,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAEpE,IAAI,CAAC;QACH,qCAAqC;QACrC,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAK,CAAC;QAC7B,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAE3B,yDAAyD;QACzD,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;QAC5E,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEnF,mEAAmE;QACnE,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC;QACxE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/E,SAAS,EAAE,CAAC;QAEZ,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,sBAAsB;QACtB,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;QACzE,MAAM,kBAAkB,GAAG,MAAM,wBAAwB,CACvD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE,CAC1C,CAAC;QACF,SAAS,CAAC,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC;QAC3D,SAAS,EAAE,CAAC;QAEZ,oEAAoE;QACpE,iEAAiE;QACjE,sDAAsD;QACtD,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,4BAA4B;QAC5B,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACzE,CAAC,CAAC,IAAI,oBAAoB,CAAC;gBACvB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC;gBACvC,WAAW;gBACX,SAAS,EAAE,SAAS,IAAI,EAAE;gBAC1B,WAAW,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;gBACvC,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;gBACrD,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,gBAAgB,IAAI,EAAE;gBACtD,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;aACtD,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAET,4EAA4E;QAC5E,6EAA6E;QAC7E,mEAAmE;QACnE,8EAA8E;QAC9E,+EAA+E;QAC/E,6EAA6E;QAC7E,uEAAuE;QACvE,6EAA6E;QAC7E,2EAA2E;QAC3E,iFAAiF;QACjF,MAAM,mBAAmB,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,mBAAmB;YACtC,CAAC,CAAC,MAAM,aAAa,CAAC,mBAAmB,CAAC;YAC1C,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,WAAW,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;QAC5F,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAI,YAAgC,CAAC;QACrC,8EAA8E;QAC9E,yEAAyE;QACzE,MAAM,aAAa,GAAyB,uBAAuB,EAAE,CAAC;QACtE,4DAA4D;QAC5D,4EAA4E;QAC5E,4EAA4E;QAC5E,8EAA8E;QAC9E,8EAA8E;QAC9E,uDAAuD;QACvD,MAAM,WAAW,GAAG,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;QAChD,SAAS,EAAE,CAAC;QAEZ,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,uEAAuE;QACvE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,oDAAoD;QACpD,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,EAAE;oBACrE,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAClC,MAAM,EAAE,WAAW,EAAE,mDAAmD,CACzE;oBACD,SAAS;oBACT,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,kBAAkB;oBAC5C,SAAS,EAAE,MAAM,CAAC,sBAAsB;iBACzC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,OAAO,EAAE,CAAC;gBACjB,IAAI,OAAO,YAAY,2BAA2B,EAAE,CAAC;oBACnD,MAAM,IAAI,gBAAgB,CAAC,yDAAyD,CAAC,CAAC;gBACxF,CAAC;gBACD,IAAI,OAAO,YAAY,yBAAyB,EAAE,CAAC;oBACjD,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;oBAC/C,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;oBAC/B,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;oBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;wBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;wBAChC,OAAO,EAAE,qBAAqB,OAAO,CAAC,OAAO,EAAE;wBAC/C,SAAS,EAAE,YAAY,EAAE;qBAC1B,CAAC,CAAC,CAAC;oBACJ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,mDAAmD,WAAW,EAAE,CAAC,CAAC;oBAC/E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;gBACD,MAAM,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;QACD,SAAS,EAAE,CAAC;QAEZ,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YAC/G,MAAM,UAAU,CAAC;gBACf,CAAC,oBAAoB,CAAC,EAAE,WAAW;gBACnC,CAAC,kBAAkB,CAAC,EAAE,SAAS,IAAI,EAAE;gBACrC,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QAED,4EAA4E;QAC5E,qEAAqE;QACrE,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,UAAU,GAAG,mBAAmB,CACpC,SAAS,CAAC,WAAW,CAAC,gBAAgB,EACtC,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAgB,CAAC,CAAC,CAAC,OAAgB,CAAC;QAEhF,SAAS,EAAE,CAAC;QAEZ,0DAA0D;QAC1D,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC;QAClC,IAAI,iBAA0D,CAAC;QAC/D,yEAAyE;QACzE,qEAAqE;QACrE,6EAA6E;QAC7E,2EAA2E;QAC3E,kEAAkE;QAClE,IAAI,oBAAoB,GAAsB,EAAE,CAAC;QACjD,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,uEAAuE;QACvE,IAAI,yBAAyB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAC/D,uEAAuE;QACvE,oEAAoE;QACpE,mEAAmE;QACnE,IAAI,eAAe,GAAwB,EAAE,CAAC;QAE9C,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC;YACxC,sEAAsE;YACtE,yEAAyE;YACzE,wEAAwE;YACxE,2EAA2E;YAC3E,sEAAsE;YACtE,sEAAsE;YACtE,0EAA0E;YAC1E,0EAA0E;YAC1E,+DAA+D;YAC/D,eAAe,GAAG,iCAAiC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAEvE,2EAA2E;YAC3E,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,wEAAwE;YACxE,oDAAoD;YACpD,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,IAAI,uBAAuB,GAAG,EAAE,CAAC;YACjC,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,IAAI,WAAW,IAAI,mBAAmB,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAC/D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,mBAAmB,CAAC,OAAO,CAClD,CAAC;gBACF,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;oBACpC,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC;wBAC5C,MAAM;wBACN,OAAO,EAAE,mBAAmB;wBAC5B,WAAW;wBACX,SAAS;wBACT,+DAA+D;wBAC/D,qEAAqE;wBACrE,kEAAkE;wBAClE,mEAAmE;wBACnE,OAAO,EAAE,eAAe;wBACxB,YAAY;qBACb,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,CAAC,aAAa;wBAAE,SAAS;oBACvC,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;wBACrB,gBAAgB,GAAG,IAAI,CAAC;wBACxB,uBAAuB,GAAG,SAAS,CAAC,aAAa,IAAI,8BAA8B,CAAC;oBACtF,CAAC;oBACD,IAAI,SAAS,CAAC,SAAS;wBAAE,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,0EAA0E;YAC1E,wEAAwE;YACxE,WAAW;YACX,MAAM,WAAW,GAAG,+BAA+B,CAAC,cAAc,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;YACpF,IAAI,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACnC,iBAAiB,GAAG,WAAW,CAAC,SAAS,CAAC;gBAC1C,oBAAoB,GAAG,WAAW,CAAC,gBAAgB,CAAC;gBACpD,yBAAyB,GAAG,WAAW,CAAC,cAAc,CAAC;gBAEvD,sEAAsE;gBACtE,MAAM,SAAS,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,MAAM,CACnC,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;oBAC/C,MAAM,CAAC,KAAK,GAAG,4BAA4B,CAAC;oBAC5C,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;oBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;wBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;wBAChC,OAAO,EAAE,0DAA0D;wBACnE,SAAS,EAAE,YAAY,EAAE;qBAC1B,CAAC,CAAC,CAAC;oBACJ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;oBACtB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;gBACD,0EAA0E;gBAC1E,iEAAiE;YACnE,CAAC;iBAAM,IAAI,oBAAoB,EAAE,CAAC;gBAChC,oEAAoE;gBACpE,gEAAgE;gBAChE,mEAAmE;gBACnE,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;gBAClD,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;gBACpC,oEAAoE;gBACpE,oEAAoE;gBACpE,qEAAqE;gBACrE,mEAAmE;gBACnE,yBAAyB;gBACzB,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;oBAC9C,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;gBACxC,CAAC;gBACD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,uEAAuE;oBACvE,mEAAmE;oBACnE,8DAA8D;oBAC9D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;wBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;wBAChC,OAAO,EACL,mEAAmE;4BACnE,wBAAwB,GAAG,uBAAuB,GAAG,GAAG;wBAC1D,SAAS,EAAE,YAAY,EAAE;qBAC1B,CAAC,CAAC,CAAC;gBACN,CAAC;qBAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,uEAAuE;oBACvE,uEAAuE;oBACvE,sEAAsE;oBACtE,qEAAqE;oBACrE,sEAAsE;oBACtE,wDAAwD;oBACxD,iEAAiE;oBACjE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;wBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;wBAChC,OAAO,EACL,8EAA8E;4BAC9E,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;wBACjC,SAAS,EAAE,YAAY,EAAE;qBAC1B,CAAC,CAAC,CAAC;gBACN,CAAC;gBACD,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtB,OAAO,CAAC,GAAG,CACT,6DAA6D,WAAW,IAAI;oBAC5E,UAAU,gBAAgB,eAAe,cAAc,CAAC,MAAM,EAAE,CACjE,CAAC;gBACF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC;QACxE,IAAI,aAAa,GAAG,MAAM,iBAAiB,CACzC,MAAM,EAAE,SAAS,CAAC,qBAAqB,EAAE,OAAO,CACjD,CAAC;QAEF,0DAA0D;QAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAC/C,aAAa,GAAG,MAAM,0BAA0B,CAC9C,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,qBAAqB,EAAE,OAAO,EAAE,UAAU,EAC3E,SAAS,EAAE,UAAU,CACtB,CAAC;QACF,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC;QAE7C,qDAAqD;QACrD,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,8EAA8E;QAC9E,4EAA4E;QAC5E,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,MAAM,cAAc,GAAG,SAAS,CAAC,qBAAqB;aACnD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,qBAAqB,CAC1C,aAAa,CAAC,eAAe,EAC7B,cAAc,EACd,MAAM,CACP,CAAC;QACF,SAAS,EAAE,CAAC;QAEZ,sEAAsE;QACtE,MAAM,WAAW,GAAG,oBAAoB,CACtC,aAAa,CAAC,eAAe,EAC7B,SAAS,CAAC,qBAAqB,EAC/B,OAAO,CACR,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CACV,oDAAoD,WAAW,IAAI;gBACnE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9C,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACnE,8EAA8E;QAC9E,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,EAAE;YAC3E,SAAS;YACT,mBAAmB;SACpB,CAAC,CAAC;QACH,SAAS,EAAE,CAAC;QAEZ,uEAAuE;QACvE,qEAAqE;QACrE,qDAAqD;QACrD,MAAM,iBAAiB,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE;YACnE,SAAS;YACT,mBAAmB;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAErE,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,8EAA8E;QAC9E,8EAA8E;QAC9E,2EAA2E;QAC3E,6EAA6E;QAC7E,yDAAyD;QACzD,IAAI,kBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC;QACxD,8EAA8E;QAC9E,0EAA0E;QAC1E,6EAA6E;QAC7E,8EAA8E;QAC9E,IAAI,CAAC,WAAW,IAAI,cAAc,IAAI,iBAAiB,EAAE,CAAC;YACxD,kBAAkB,GAAG,MAAM,4BAA4B,CAAC;gBACtD,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,gBAAgB,EAAE,IAAI,qBAAqB,CAAC,mBAAmB,CAAC;gBAChE,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,WAAW;aACZ,CAAC,CAAC;YACH,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAChC,yEAAyE;gBACzE,yEAAyE;gBACzE,0DAA0D;gBAC1D,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,EAAE;QACF,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,6EAA6E;QAC7E,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,EAAE;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,8EAA8E;QAC9E,gFAAgF;QAChF,0EAA0E;QAC1E,4EAA4E;QAC5E,8EAA8E;QAC9E,8EAA8E;QAC9E,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,WAAW,IAAI,mBAAmB,EAAE,CAAC;YACvC,2EAA2E;YAC3E,6EAA6E;YAC7E,6EAA6E;YAC7E,YAAY,GAAG,MAAM,uBAAuB,CAAC;gBAC3C,MAAM;gBACN,OAAO,EAAE,mBAAmB;gBAC5B,WAAW;gBACX,WAAW;gBACX,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,wBAAwB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;QAC1F,MAAM,cAAc,GAAG,iBAAiB;YACtC,CAAC,CAAC,mBAAmB,CAAC,cAAc,EAAE,iBAAiB,EAAE,yBAAyB,CAAC;YACnF,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACjE,uBAAuB,CACrB,cAAc,EACd,6BAA6B,CAAC,yBAAyB,EAAE,EAAE,WAAW,CAAC,EACvE,WAAW,CACZ,CAAC;QACJ,CAAC;QACD,yDAAyD;QACzD,2EAA2E;QAC3E,+EAA+E;QAC/E,yEAAyE;QACzE,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,wDAAwD;QACxD,MAAM,cAAc,GAAG,WAAW,IAAI,CAAC,CAAC,eAAe,CAAC;QACxD,MAAM,aAAa,GAAG,kBAAkB,CACtC,cAAc,EACd,YAAY,EACZ,MAAM,CAAC,UAAU,EACjB,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,CACb,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACrC,aAAa,EAAE,mBAAmB;YAClC,OAAO;YACP,aAAa;YACb,SAAS,EAAE,OAAO,CAAC,GAAG;SACvB,CAAC,CAAC;QACH,WAAW,GAAG,KAAK,IAAI,EAAE;YACvB,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,2DAA2D;QAC3D,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CACV,+CAA+C,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG;gBACpF,2BAA2B,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB;gBACnF,wEAAwE;gBACxE,cAAc,WAAW,GAAG,CAC7B,CAAC;QACJ,CAAC;QACD,yEAAyE;QACzE,2EAA2E;QAC3E,iEAAiE;QACjE,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE;YAClD,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,+EAA+E;QAC/E,4EAA4E;QAC5E,qEAAqE;QACrE,4EAA4E;QAC5E,uBAAuB;QACvB,MAAM,iBAAiB,GAAkC,4BAA4B,CAAC;YACpF,WAAW;YACX,YAAY;YACZ,aAAa,EAAE,mBAAmB;YAClC,YAAY;YACZ,WAAW;YACX,OAAO;YACP,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;QAEH,yEAAyE;QACzE,MAAM,mBAAmB,EAAE,CAAC;QAE5B,oCAAoC;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,IAAI,SAAS,CAAC;QACpE,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CACT,2CAA2C,WAAW,gBAAgB,cAAc,aAAa,cAAc,GAAG,CACnH,CAAC;QACJ,CAAC;QAED,SAAS,EAAE,CAAC;QAEZ,uEAAuE;QACvE,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;QAE5E,kEAAkE;QAClE,gEAAgE;QAChE,qDAAqD;QACrD,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa;YAC1C,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;YACjF,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAExB,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,eAAe,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,yBAAyB,CAAC;YAC1F,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,IAAI;gBACtD,iBAAiB,MAAM,CAAC,aAAa,IAAI,OAAO,IAAI;gBACpD,mBAAmB,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI;gBAC5C,eAAe,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,eAAe,GAAG,8BAA8B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,6BAA6B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,wBAAwB;gBACxF,aAAa,WAAW,WAAW,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7E,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAiD,SAAS,KAAK,OAAO;YACvF,CAAC,CAAC;gBACE,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,cAAc,IAAI,SAAS;gBAClC,KAAK,EAAE,SAAS,CAAC,UAAU;gBAC3B,SAAS;gBACT,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,eAAe;aACxB;YACH,CAAC,CAAC;gBACE,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,cAAc;gBACrB,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,SAAS;gBACT,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,eAAe;aACxB,CAAC;QAEN,IAAI,UAAU,GAAoB,MAAM,YAAY,CAClD,QAAQ,EACR,aAAa,EACb,SAAS,CACV,CAAC;QAEF,OAAO,CAAC,GAAG,CACT,2CAA2C,WAAW,IAAI;YAC1D,UAAU,UAAU,CAAC,MAAM,UAAU,UAAU,CAAC,IAAI,IAAI;YACxD,WAAW,UAAU,CAAC,OAAO,aAAa,UAAU,CAAC,OAAO,EAAE;YAC9D,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5F,CAAC;QAEF,YAAY,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;QAEvF,+EAA+E;QAE/E,yEAAyE;QACzE,IAAI,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,SAAS,CAAC,WAAW,CAAC,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC1D,IAAI,SAAS,CAAC,WAAW,CAAC,UAAU,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;oBAChE,SAAS,CAAC,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;gBAChD,CAAC;gBACD,2DAA2D;gBAC3D,6DAA6D;gBAC7D,0CAA0C;gBAC1C,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC/B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;gBACvC,CAAC;gBACD,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CACT,yBAAyB,UAAU,CAAC,OAAO,wBAAwB;oBACnE,cAAc,UAAU,CAAC,UAAU,CAAC,eAAe,SAAS,EAAE,CAC/D,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,uEAAuE,EAAE,GAAG,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,sBAChB,CAAC;QAEtC,6BAA6B;QAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,eAAe;eACxD,eAAe,CAAC,WAAW,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,IAAI,KAAK,CAAC;QAEnE,MAAM,MAAM,GAAG,WAAW,CAAC;YACzB,UAAU;YACV,iBAAiB;YACjB,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;YAC/C,eAAe;YACf,gBAAgB,EAAE,oBAAoB;YACtC,kBAAkB;YAClB,eAAe;YACf,aAAa;SACd,CAAC,CAAC;QAEH,qEAAqE;QACrE,IAAI,eAAe,GAAG,MAAM,CAAC;QAC7B,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClE,eAAe,IAAI,yKAAyK,SAAS,sDAAsD,CAAC;QAC9P,CAAC;QAED,yEAAyE;QACzE,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;QAC3C,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CACT,yCAAyC,WAAW,IAAI;YACxD,SAAS,WAAW,qBAAqB,qBAAqB,IAAI;YAClE,cAAc,UAAU,CAAC,MAAM,UAAU,UAAU,CAAC,IAAI,EAAE,CAC3D,CAAC;QAEF,yEAAyE;QACzE,MAAM,mBAAmB,EAAE,CAAC;QAC5B,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAE9D,yEAAyE;QACzE,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;YACzC,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,SAAS,IAAI,EAAE;SAC3B,CAAC,CAAC;QACH,0EAA0E;QAC1E,8EAA8E;QAC9E,4EAA4E;QAC5E,2EAA2E;QAC3E,4DAA4D;QAC5D,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAClC,mBAAmB,GAAG,KAAK,IAAI,EAAE;YAC/B,IAAI,qBAAqB;gBAAE,OAAO;YAClC,qBAAqB,GAAG,IAAI,CAAC;YAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC1C,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1E,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC5D,MAAM,UAAU,GACd,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtF,MAAM,iBAAiB,CAAC;oBACtB,UAAU;oBACV,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;oBACtC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;oBACxC,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;YAC7C,CAAC;QACH,CAAC,CAAC;QAEF,2CAA2C;QAC3C,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,qBAAqB,CAAC;QAEpD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAE7D,8EAA8E;QAC9E,+CAA+C;QAC/C,IAAI,4BAA4B,GAAG,KAAK,CAAC;QAEzC,2EAA2E;QAC3E,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,WAAW,GAAoB;YACnC,gBAAgB;YAChB,aAAa;YACb,SAAS;YACT,qBAAqB;YACrB,WAAW;YACX,KAAK,EAAE,SAAS;SACjB,CAAC;QAEF,0EAA0E;QAC1E,sEAAsE;QACtE,sEAAsE;QACtE,qCAAqC;QACrC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;QACnD,MAAM,cAAc,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAC5D,iBAAiB,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAChD,KAAK,EAAE,kBAAkB;YACzB,SAAS,EAAE,WAAW;SACvB,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAExB,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,8EAA8E;QAC9E,2EAA2E;QAC3E,yEAAyE;QACzE,kDAAkD;QAClD,IAAI,CAAC;YACH,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,sDAAsD;QACxD,CAAC;QAED,2EAA2E;QAC3E,+EAA+E;QAC/E,iEAAiE;QACjE,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE;YACvD,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC;SAC5C,CAAC,CAAC;QAEH,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAErD,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC1D,cAAc;YACd,UAAU,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE;YACjE,aAAa,EAAE,mBAAmB;YAClC,eAAe;SAChB,CAAC,CAAC;QACH,yEAAyE;QACzE,wEAAwE;QACxE,2DAA2D;QAC3D,MAAM,SAAS,GAAG,IAAI,wBAAwB,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAEtE,0EAA0E;QAC1E,4EAA4E;QAC5E,6EAA6E;QAC7E,0DAA0D;QAC1D,MAAM,UAAU,GAAyB;YACvC,GAAG,WAAW;YACd,MAAM;YACN,WAAW;YACX,WAAW;YACX,aAAa;YACb,SAAS;YACT,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,OAAO;YACP,cAAc,EAAE,MAAM,CAAC,0BAA0B;YACjD,OAAO;YACP,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,OAAO;SAChE,CAAC;QAEF,+EAA+E;QAC/E,6EAA6E;QAC7E,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,uBAAuB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE/C,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACzB,4EAA4E;QAC5E,wEAAwE;QACxE,8DAA8D;QAC9D,8EAA8E;QAC9E,8EAA8E;QAC9E,MAAM,UAAU,GAAG,iBAAiB,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;QAC1F,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC;QAClC,CAAC;aAAM,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;YACvC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,sBAAsB,GAAG,UAAU,CAAC;QAEpC,8EAA8E;QAC9E,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,kDAAkD;QAClD,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;YACrC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvB,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxC,uEAAuE;YACvE,qEAAqE;YACrE,wEAAwE;YACxE,uEAAuE;YACvE,IACE,SAAS,CAAC,aAAa;gBACvB,sBAAsB;gBACtB,SAAS,CAAC,aAAa;gBACvB,OAAO,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAC5C,CAAC;gBACD,WAAW,CAAC,yBAAyB,EAAE,CAAC;YAC1C,CAAC;YACD,MAAM,CAAC,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC;YAC3D,MAAM,aAAa,EAAE,KAAK,EAAE,CAAC;YAC7B,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,CAAC,GAAG,CACT,yCAAyC,WAAW,YAAY,SAAS,CAAC,UAAU,cAAc,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAC1K,CAAC;YACF,sEAAsE;YACtE,4EAA4E;YAC5E,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YACtB,SAAS,EAAE,CAAC;QACd,CAAC,CAAC;QAeF,MAAM,0BAA0B,GAAG,KAAK,IAAkC,EAAE;YAC1E,0EAA0E;YAC1E,wEAAwE;YACxE,sBAAsB;YACtB,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,IAAI,IAAI,iBAAiB,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAC7F,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;gBAC/C,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;gBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;oBAChC,OAAO,EAAE,8EAA8E,GAAG,CAAC,OAAO,6BAA6B;oBAC/H,SAAS,EAAE,YAAY,EAAE;iBAC1B,CAAC,CAAC,CAAC;gBACJ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,oCAAoC,WAAW,YAAY,SAAS,CAAC,UAAU,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,CAAC;YAED,yEAAyE;YACzE,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,sBAAsB,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;gBACjE,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;gBAC/C,MAAM,CAAC,KAAK,GAAG,sEAAsE,CAAC;gBACtF,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;gBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;oBAChC,OAAO,EAAE,oHAAoH;oBAC7H,SAAS,EAAE,YAAY,EAAE;iBAC1B,CAAC,CAAC,CAAC;gBACJ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,0DAA0D,WAAW,YAAY,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;gBACrH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC;YAC5F,CAAC;YAED,2EAA2E;YAC3E,4DAA4D;YAC5D,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;gBAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;oBAChC,OAAO,EAAE,mDAAmD;oBAC5D,SAAS,EAAE,YAAY,EAAE;iBAC1B,CAAC,CAAC,CAAC;gBACJ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,mCAAmC,WAAW,YAAY,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC9F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;YACvE,CAAC;YAED,yEAAyE;YACzE,4DAA4D;YAC5D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBACjD,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;gBAC/C,MAAM,CAAC,KAAK,GAAG,qFAAqF,CAAC;gBACrG,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;gBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;oBAChC,OAAO,EAAE,0FAA0F;oBACnG,SAAS,EAAE,YAAY,EAAE;iBAC1B,CAAC,CAAC,CAAC;gBACJ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,gEAAgE,WAAW,YAAY,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC3H,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;YAC9F,CAAC;YAED,sDAAsD;YACtD,IAAI,SAAS,CAAC,oBAAoB,EAAE,CAAC;gBACnC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;gBAClD,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;gBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;oBAChC,OAAO,EAAE,oCAAoC;oBAC7C,SAAS,EAAE,YAAY,EAAE;iBAC1B,CAAC,CAAC,CAAC;gBACJ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,sDAAsD,WAAW,EAAE,CAAC,CAAC;gBACjF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,mBAAmB,EAAE,CAAC;QAC5B,MAAM,eAAe,GAAG,MAAM,0BAA0B,EAAE,CAAC;QAC3D,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,eAAe,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE1F,qEAAqE;QACrE,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,uEAAuE;QACvE,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,WAAW,GAAG,CAAC,aAA6B,EAAE,EAAE,CACpD,eAAe,CAAC;YACd,MAAM;YACN,WAAW;YACX,WAAW;YACX,OAAO;YACP,WAAW;YACX,YAAY;YACZ,mBAAmB;YACnB,YAAY;YACZ,qBAAqB;YACrB,cAAc;YACd,YAAY;YACZ,eAAe;YACf,eAAe;YACf,cAAc;YACd,mBAAmB,EAAE,aAAa;YAClC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;SAChD,CAAC,CAAC;QACL,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAA4B,EAAE,EAAE;YAChE,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,8BAA8B,CAAC;YAC7D,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,iDAAiD,QAAQ,CAAC,mBAAmB,kBAAkB;gBAC/F,GAAG,QAAQ,CAAC,mBAAmB,uBAAuB,CACvD,CAAC;YACF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,sEAAsE;QACtE,wDAAwD;QACxD,MAAM,iCAAiC,GAAG,KAAK,EAAE,QAA4B,EAAE,EAAE;YAC/E,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACtF,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;gBACpD,CAAC,CAAC,kFAAkF;oBAClF,IAAI,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC;gBAC7E,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;YAC/C,MAAM,CAAC,KAAK;gBACV,kEAAkE,YAAY,GAAG;oBACjF,OAAO;oBACP,iFAAiF;oBACjF,2CAA2C,CAAC;YAC9C,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;gBAChC,OAAO,EAAE,qBAAqB,MAAM,CAAC,KAAK,EAAE;gBAC5C,SAAS,EAAE,YAAY,EAAE;aAC1B,CAAC,CAAC,CAAC;YACJ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YACtB,IAAI,CAAC;gBAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CACX,6DAA6D,WAAW,IAAI;gBAC5E,UAAU,YAAY,oBAAoB,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpF,CAAC;YACF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,0EAA0E;QAC1E,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,6EAA6E;QAC7E,+EAA+E;QAC/E,4EAA4E;QAC5E,gBAAgB;QAChB,MAAM,eAAe,GAAG,KAAK,EAC3B,iBAAyB,EACgB,EAAE;YAC3C,MAAM,aAAa,GACjB,iBAAiB,KAAK,WAAW;gBAC/B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,WAAW,CACf,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAC;YACR,wEAAwE;YACxE,uEAAuE;YACvE,+DAA+D;YAC/D,MAAM,CAAC,WAAW,GAAG,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAClE,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC;QAkBF,MAAM,iBAAiB,GAAG,KAAK,EAC7B,UAAoC,EACpC,WAAmB,EACO,EAAE;YAC5B,wEAAwE;YACxE,2EAA2E;YAC3E,6EAA6E;YAC7E,0EAA0E;YAC1E,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC5F,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE;gBAClD,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACpD,MAAM,mBAAmB,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,0BAA0B,EAAE,CAAC;YACpD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACvE,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CACT,6CAA6C,WAAW,IAAI;gBAC5D,eAAe,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAC7C,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAChE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;QACnE,CAAC,CAAC;QAEF,4EAA4E;QAC5E,yCAAyC;QACzC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,yEAAyE;YACzE,iEAAiE;YACjE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,QAAQ,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,SAAS,CAAC;QACvD,OAAO,CAAC,GAAG,CACT,8CAA8C,WAAW,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAC9F,CAAC;QACF,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,cAAc,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CACT,6CAA6C,WAAW,eAAe,cAAc,iBAAiB,gBAAgB,EAAE,CACzH,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;QAEpC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,UAAU;gBACb,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;gBAClD,MAAM;YACR,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,SAAS,GAAG,MAA4C,CAAC;gBAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM;uBACzB,SAAS,CAAC,KAAK;uBACf,SAAS,CAAC,OAAO;uBACjB,SAAS,CAAC,MAAM,CAAC;gBACtB,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE5D,uEAAuE;gBACvE,kEAAkE;gBAClE,sEAAsE;gBACtE,sEAAsE;gBACtE,MAAM,qBAAqB,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBAE7E,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBAC5D,IAAI,iBAAiB;oBAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;gBAE3D,MAAM,UAAU,GAAG,eAAe,CAAC;oBACjC,eAAe,EAAE,WAAW;oBAC5B,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;oBAChD,iBAAiB;oBACjB,qBAAqB;oBACrB,eAAe,EAAE,UAAU,CAAC,MAAM,KAAK,sBAAsB;oBAC7D,eAAe,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE;oBACxF,UAAU,EAAG,MAA6C,CAAC,UAAgC;oBAC3F,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;iBACrC,CAAC,CAAC;gBAEH,OAAO,CAAC,KAAK,CACX,wCAAwC,WAAW,IAAI;oBACvD,cAAc,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAChF,CAAC;gBAEF,IACE,yBAAyB,CAAC,UAAU,CAAC;uBAClC,UAAU,CAAC,MAAM,KAAK,sBAAsB;uBAC5C,CAAC,4BAA4B,EAChC,CAAC;oBACD,4BAA4B,GAAG,IAAI,CAAC;oBACpC,OAAO,CAAC,IAAI,CACV,qDAAqD,WAAW,IAAI;wBACpE,mBAAmB,UAAU,CAAC,OAAO,2BAA2B,CACjE,CAAC;oBAEF,IAAI,CAAC;wBAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBAE7D,MAAM,UAAU,GAAG,SAAS,KAAK,OAAO;wBACtC,CAAC,CAAC,MAAM,gBAAgB,CAAC,aAAwC,CAAC;wBAClE,CAAC,CAAC,MAAM,WAAW,CAAC,aAAmC,CAAC,CAAC;oBAE3D,MAAM,WAAW,GAAG,WAAW,CAAC;wBAC9B,UAAU,EAAE;4BACV,GAAG,UAAU;4BACb,KAAK,EAAE,UAAU;4BACjB,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,KAAK,EAAE,IAAI;4BACX,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,8BAA8B;4BACtC,mBAAmB,EAAE,6BAA6B,UAAU,CAAC,OAAO,EAAE;yBACvE;wBACD,iBAAiB;wBACjB,YAAY,EAAE,SAAS,CAAC,YAAY;wBACpC,WAAW,EAAE,IAAI,CAAC,OAAO;wBACzB,MAAM,EAAE,aAAa;wBACrB,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,aAAa,EAAE,SAAS,CAAC,aAAa;wBACtC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;wBAC/C,eAAe;wBACf,gBAAgB,EAAE,oBAAoB;wBACtC,eAAe;qBAChB,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CACT,mDAAmD,WAAW,IAAI;wBAClE,cAAc,UAAU,CAAC,OAAO,EAAE,CACnC,CAAC;oBAEF,IAAI,CAAC;wBACH,SAAS,CAAC,WAAW,CAAC,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;wBAC1D,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ;4BAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;wBACrE,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,SAAS,CAAC,CAAC;oBACtF,CAAC;oBAED,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;oBACjE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBACvB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;4BAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;wBAClE,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACvD,CAAC;oBAED,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;oBACzD,IAAI,aAAa,EAAE,OAAO,EAAE,CAAC;wBAC3B,oEAAoE;wBACpE,qEAAqE;wBACrE,+DAA+D;wBAC/D,cAAc;wBACd,OAAO,CAAC,GAAG,CACT,uEAAuE,WAAW,EAAE,CACrF,CAAC;wBACF,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBAC3C,CAAC;oBACD,IAAI,aAAa,IAAI,aAAa,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrE,OAAO,iCAAiC,CAAC,aAAa,CAAC,CAAC;oBAC1D,CAAC;oBAED,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;wBACtC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;wBAClD,OAAO,CAAC,GAAG,CACT,+DAA+D,WAAW,EAAE,CAC7E,CAAC;wBACF,MAAM;oBACR,CAAC;oBAED,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;wBACvC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;wBAClD,MAAM;oBACR,CAAC;oBAED,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;oBACzD,IAAI,cAAc;wBAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;oBAExD,MAAM,0BAA0B,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAEvF,MAAM,eAAe,GAAG,eAAe,CAAC;wBACtC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;wBAC5E,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;wBAChD,iBAAiB,EAAE,cAAc;wBACjC,qBAAqB,EAAE,0BAA0B;wBACjD,eAAe,EAAE,KAAK;wBACtB,eAAe,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE;qBACzF,CAAC,CAAC;oBAEH,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;oBAC/C,MAAM,CAAC,KAAK,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;oBACtD,OAAO,CAAC,KAAK,CACX,4DAA4D,WAAW,IAAI;wBAC3E,cAAc,MAAM,CAAC,KAAK,EAAE,CAC7B,CAAC;oBACF,MAAM;gBACR,CAAC;gBAED,6EAA6E;gBAC7E,2DAA2D;gBAC3D,IACE,UAAU,CAAC,QAAQ,KAAK,SAAS;uBAC9B,UAAU,CAAC,SAAS;uBACpB,UAAU,CAAC,MAAM,KAAK,sBAAsB;uBAC5C,CAAC,4BAA4B,EAChC,CAAC;oBACD,4BAA4B,GAAG,IAAI,CAAC;oBACpC,OAAO,CAAC,IAAI,CACV,uDAAuD,WAAW,IAAI;wBACtE,wDAAwD,CACzD,CAAC;oBAEF,IAAI,CAAC;wBAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBAC7D,kBAAkB,EAAE,CAAC;oBAErB,MAAM,UAAU,GAAG,SAAS,KAAK,OAAO;wBACtC,CAAC,CAAC,MAAM,gBAAgB,CAAC,aAAwC,CAAC;wBAClE,CAAC,CAAC,MAAM,WAAW,CAAC,aAAmC,CAAC,CAAC;oBAE3D,IAAI,CAAC;wBACH,SAAS,CAAC,WAAW,CAAC,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;wBAC1D,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ;4BAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;wBACrE,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,SAAS,CAAC,CAAC;oBACtF,CAAC;oBAED,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBACrE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBACvB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;4BAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;wBAClE,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACvD,CAAC;oBAED,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;oBAC/C,IAAI,aAAa,EAAE,OAAO,EAAE,CAAC;wBAC3B,mEAAmE;wBACnE,kEAAkE;wBAClE,OAAO,CAAC,GAAG,CACT,yEAAyE,WAAW,EAAE,CACvF,CAAC;wBACF,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBAC3C,CAAC;oBACD,IAAI,aAAa,IAAI,aAAa,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrE,OAAO,iCAAiC,CAAC,aAAa,CAAC,CAAC;oBAC1D,CAAC;oBAED,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;wBACtC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;wBAClD,MAAM;oBACR,CAAC;oBAED,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;oBAC/C,MAAM,CAAC,KAAK,GAAG,8BAA8B,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;oBACjF,MAAM;gBACR,CAAC;gBAED,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;gBAC/C,MAAM,CAAC,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;gBACjD,MAAM;YACR,CAAC;YACD,KAAK,WAAW;gBACd,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;gBAClD,MAAM;YACR;gBACE,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;QACtD,CAAC;QAED,sEAAsE;QACtE,4CAA4C;QAC5C,IAAI,gBAAgB,GAAY,SAAS,CAAC;QAC1C,IAAI,SAA6B,CAAC;QAElC,IAAI,MAAM,CAAC,KAAK,KAAK,cAAc,CAAC,mBAAmB,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;iBACnC,OAAO,EAAE;iBACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC;YAChD,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC;YAE/B,IAAI,sBAAsB,IAAI,SAAS,EAAE,CAAC;gBACxC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;gBAE7E,yEAAyE;gBACzE,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CACT,+DAA+D,WAAW,IAAI;wBAC9E,mBAAmB,SAAS,CAAC,MAAM,EAAE,CACtC,CAAC;gBACJ,CAAC;gBAED,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACnC,oEAAoE;oBACpE,8DAA8D;oBAC9D,OAAO,CAAC,GAAG,CACT,0EAA0E,WAAW,IAAI;wBACzF,mBAAmB,SAAS,CAAC,MAAM,EAAE,CACtC,CAAC;oBACF,IAAI,CAAC;wBACH,gBAAgB,GAAG,MAAM,uBAAuB,CAC9C,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,cAAc,CAC1D,CAAC;wBACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;4BACnC,OAAO,CAAC,GAAG,CACT,8DAA8D,WAAW,EAAE,CAC5E,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,UAAU,EAAE,CAAC;wBACpB,MAAM,MAAM,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBACrF,OAAO,CAAC,KAAK,CACX,gEAAgE,WAAW,IAAI;4BAC/E,kBAAkB,cAAc,IAAI;4BACpC,mBAAmB,SAAS,CAAC,MAAM,IAAI;4BACvC,SAAS,MAAM,EAAE,CAClB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,CAAC,gBAAgB,GAAG,gBAA8B,CAAC;YAC3D,CAAC;YAED,sEAAsE;YACtE,iEAAiE;YACjE,sEAAsE;YACtE,sDAAsD;YACtD,IAAI,eAAe,KAAK,eAAe,CAAC,IAAI,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;gBAC7E,IAAI,CAAC;oBACH,MAAM,mBAAmB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC3F,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CACV,2DAA2D;wBAC3D,aAAa,WAAW,WAAW,GAAG,EAAE,CACzC,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,+EAA+E;QAC/E,0EAA0E;QAC1E,4EAA4E;QAC5E,8EAA8E;QAC9E,8EAA8E;QAC9E,8EAA8E;QAC9E,iFAAiF;QACjF,MAAM,cAAc,GAAG,8BAA8B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvE,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CACT,2BAA2B,cAAc,kCAAkC;gBACzE,uEAAuE,WAAW,EAAE,CACvF,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,wEAAwE;QACxE,+DAA+D;QAC/D,IAAI,MAAM,CAAC,KAAK,KAAK,cAAc,CAAC,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;YAChF,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC;QAED,yEAAyE;QACzE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAEtB,OAAO,CAAC,GAAG,CACT,sCAAsC,WAAW,WAAW,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;YAC5F,uBAAuB,gBAAgB,KAAK,SAAS,EAAE;YACrD,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClD,CAAC;QAEF,4EAA4E;QAC5E,IAAI,CAAC;YAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAA4B,CAAC;QAC3D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC;IAEd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAE1B,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACpC,oEAAoE;YACpE,wEAAwE;YACxE,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,2DAA2D,WAAW,EAAE,CAAC,CAAC;gBACtF,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;gBAC/C,MAAM,CAAC,KAAK,GAAG,sEAAsE,CAAC;gBACtF,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;gBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;oBAChC,OAAO,EAAE,oHAAoH;oBAC7H,SAAS,EAAE,YAAY,EAAE;iBAC1B,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,iDAAiD,WAAW,EAAE,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;gBAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;oBAChC,OAAO,EAAE,mDAAmD;oBAC5D,SAAS,EAAE,YAAY,EAAE;iBAC1B,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,0DAA0D,WAAW,EAAE,CAAC,CAAC;gBACrF,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;gBAC/C,MAAM,CAAC,KAAK,GAAG,qFAAqF,CAAC;gBACrG,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;gBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;oBAChC,OAAO,EAAE,0FAA0F;oBACnG,SAAS,EAAE,YAAY,EAAE;iBAC1B,CAAC,CAAC,CAAC;YACN,CAAC;YACD,uEAAuE;YACvE,sEAAsE;YACtE,8BAA8B,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC1D,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAAM,MAAM,GAAG,CAAC;QACxD,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CACT,mEAAmE,WAAW,WAAW,SAAS,EAAE,CACrG,CAAC;YACF,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;YAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;gBAChC,OAAO,EAAE,mDAAmD;gBAC5D,SAAS,EAAE,YAAY,EAAE;aAC1B,CAAC,CAAC,CAAC;YACJ,8BAA8B,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC1D,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAAM,MAAM,IAAI,gBAAgB,CAAC,sDAAsD,CAAC,CAAC;QACjI,CAAC;QAED,8DAA8D;QAC9D,6DAA6D;QAC7D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CACT,+DAA+D,WAAW,WAAW,SAAS,EAAE,CACjG,CAAC;YACF,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;YAC/C,MAAM,CAAC,KAAK,GAAG,0BAA0B,SAAS,EAAE,CAAC;YACrD,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;gBAChC,OAAO,EAAE,0FAA0F;gBACnG,SAAS,EAAE,YAAY,EAAE;aAC1B,CAAC,CAAC,CAAC;YACJ,8BAA8B,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC1D,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAAM,MAAM,IAAI,gBAAgB,CAAC,qDAAqD,CAAC,CAAC;QAChI,CAAC;QAED,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,uDAAuD;QACvD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CACX,sCAAsC,WAAW,cAAc,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAC9F,CAAC;YACF,MAAM,UAAU,GAAG,eAAe,CAAC;gBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;gBACtE,eAAe,EAAE,SAAS;gBAC1B,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,oBAAoB,CAAC,WAAW,CAAC;gBACpD,eAAe,EAAE,KAAK;gBACtB,eAAe,EAAE,YAAY;aAC9B,CAAC,CAAC;YACH,sBAAsB,CAAC,WAAW,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;YAC/C,MAAM,CAAC,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,MAAM,CAAC,kBAAkB,EAAE;gBACzB,IAAI,EAAE,WAAW,CAAC,cAAc;gBAChC,OAAO,EAAE,gFAAgF;gBACzF,SAAS,EAAE,YAAY,EAAE;aAC1B,CAAC,EACF,MAAM,CAAC,kBAAkB,EAAE;gBACzB,IAAI,EAAE,WAAW,CAAC,cAAc;gBAChC,OAAO,EAAE,kBAAkB,MAAM,CAAC,KAAK,EAAE;gBACzC,SAAS,EAAE,YAAY,EAAE;aAC1B,CAAC,CACH,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,UAAU,CAAC,CAAC;YAC7E,CAAC;YAAM,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,mCAAmC,WAAW,MAAM,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;QAExF,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;QAC/C,MAAM,CAAC,KAAK,GAAG,sBAAsB,OAAO,KAAK,MAAM,EAAE,CAAC;QAC1D,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,MAAM,CAAC,kBAAkB,EAAE;YACzB,IAAI,EAAE,WAAW,CAAC,cAAc;YAChC,OAAO,EAAE,gFAAgF;YACzF,SAAS,EAAE,YAAY,EAAE;SAC1B,CAAC,EACF,MAAM,CAAC,kBAAkB,EAAE;YACzB,IAAI,EAAE,WAAW,CAAC,cAAc;YAChC,OAAO,EAAE,mBAAmB,OAAO,KAAK,MAAM,EAAE;YAChD,SAAS,EAAE,YAAY,EAAE;SAC1B,CAAC,CACH,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,UAAU,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,2EAA2E;QAC3E,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,mBAAmB,EAAE,EAAE,CAAC;QAE9B,qFAAqF;QACrF,8EAA8E;QAC9E,+BAA+B;QAC/B,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QAEhC,wEAAwE;QACxE,kDAAkD;QAClD,iBAAiB,EAAE,EAAE,CAAC;QAEtB,uEAAuE;QACvE,kEAAkE;QAClE,yEAAyE;QACzE,sEAAsE;QACtE,uDAAuD;QACvD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,WAAW,EAAE,CAAC;YACtB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CACV,uDAAuD;oBACvD,aAAa,WAAW,WAAW,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,CACnG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,uBAAuB;QACvB,MAAM,oBAAoB,EAAE,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,iCAAiC,CACxC,MAA4B,EAC5B,SAAyB;IAEzB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;IACnC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,KAAK,UAAU,uBAAuB,CACpC,aAAqB,EACrB,MAA+B,EAC/B,MAAc,EACd,YAAoB;IAEpB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAC3E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAExE,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,sBAAsB,CAAC;IAE5E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,cAAc,CAAC;QAC1C,SAAS,EAAE,eAAe;QAC1B,aAAa;QACb,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;QAC9C,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;QACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,sGAAsG,EAAE;QACnI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;KACzC,CAAC,CAAC;IAEH,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC;AAED,yEAAyE;AACzE,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AA+BrE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,MAAM,EACN,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,aAAa,GACd,GAAG,KAAK,CAAC;IAEV,MAAM,kBAAkB,GAAG,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC;IAEzF,6EAA6E;IAC7E,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,uBAAuB,CAC5B,KAAK,CAAC,gBAAgB,EACtB,iBAAiB,EACjB,KAAK,CAAC,kBAAkB,CACzB,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,mCAAmC;IACnC,IAAI,UAAU,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG;YACf,2BAA2B,CAAC,eAAe,CAAC;YAC5C,0BAA0B,CAAC,aAAa,EAAE,eAAe,CAAC;SAC3D,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACzC,CAAC,CAAC,WAAW,CAAC;IAClB,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,OAAO,mBAAmB,CAAC;QACzB,YAAY;QACZ,WAAW;QACX,MAAM;QACN,SAAS;QACT,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,eAAe;QACf,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,GAAQ,EACR,WAAmB;IAEnB,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CACT,mEAAmE,WAAW,IAAI;gBAClF,UAAU,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,KAAK,EAAE,CAC3D,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QAClG,OAAO,CAAC,KAAK,CACX,uDAAuD,WAAW,IAAI;YACtE,SAAS,KAAK,CAAC,MAAM,SAAS,OAAO,EAAE,CACxC,CAAC;QACF,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,aAAa,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CACV,0EAA0E,WAAW,IAAI;YACzF,SAAS,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAC1F,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,KAAyB;IAC7D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,KAAa,EAAQ,EAAE;QACnD,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO;QAClE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAA+B,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAChD,SAAS,CAAC,IAAI,CACZ,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CACtE,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IACE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,CAAC;mBACtD,OAAO,KAAK,KAAK,QAAQ;mBACzB,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAC1B,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBACtD,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/index.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ export type CursorTurnEventRecorder = ReturnType<typeof createCursorEventRecorde
47
47
  * `first-denial` proceed to the turn boundary; the rest are pre-boundary
48
48
  * terminals that return or throw.
49
49
  */
50
- export type TurnStreamReason = "completed" | "paused" | "stalled" | "first-denial" | "platform-stop";
50
+ export type TurnStreamReason = "completed" | "paused" | "stalled" | "first-denial" | "platform-stop" | "cost-cap";
51
51
  /**
52
52
  * Single owner for every flag the turn's stream produces. Before this, these
53
53
  * eleven fields lived as scattered `let`s co-written by FOUR concurrent
@@ -74,6 +74,8 @@ export interface TurnStreamState {
74
74
  denialCancelSettled: Promise<void> | undefined;
75
75
  /** Written by: the loop (a platform STOP signal from persist). Read by: the loop + epilogue. */
76
76
  platformStopSignaled: boolean;
77
+ /** Written by: onDelta (a turn-ended usage delta pushed the estimate past max_cost_usd). Read by: the loop (cancel + break) + epilogue. */
78
+ costCapExceeded: boolean;
77
79
  /** Written by: the loop (a stream ERROR status event) + the retry setup (reset). Read by: error classification. */
78
80
  streamErrorMessage: string | undefined;
79
81
  /** Written by: the loop (each tool_call). Read by: the stall-watchdog (message enrichment). */
@@ -99,6 +101,13 @@ export interface TurnOnDeltaDeps {
99
101
  readonly promptEstimatedTokens: number;
100
102
  readonly executionId: string;
101
103
  readonly state: TurnStreamState;
104
+ /**
105
+ * ExecutionConfig.max_cost_usd — 0/unset disables the cap. Checked by
106
+ * onDelta after each turn-ended usage delta lands (the only point the
107
+ * running estimate advances); the loop performs the actual run.cancel().
108
+ * See cost-guard.ts for the semantics.
109
+ */
110
+ readonly maxCostUsd: number;
102
111
  }
103
112
  export interface CursorTurnStreamDeps extends TurnOnDeltaDeps {
104
113
  readonly status: AgentExecutionStatus;
@@ -28,6 +28,7 @@ import { startStallWatchdog, StallTimeoutError, } from "../../shared/stall-watch
28
28
  import { shouldPersistStreamingStatus } from "./persist-decision.js";
29
29
  import { approvalDenials, readDenialLedger } from "./approval-state.js";
30
30
  import { captureFileChangeProgress, } from "../../shared/filereview/progress.js";
31
+ import { costCapExceeded } from "./cost-guard.js";
31
32
  export function newTurnStreamState() {
32
33
  return {
33
34
  pauseDetected: false,
@@ -37,6 +38,7 @@ export function newTurnStreamState() {
37
38
  denialLedgerDirty: false,
38
39
  denialCancelSettled: undefined,
39
40
  platformStopSignaled: false,
41
+ costCapExceeded: false,
40
42
  streamErrorMessage: undefined,
41
43
  lastToolName: undefined,
42
44
  eventCount: 0,
@@ -53,7 +55,7 @@ export function newTurnStreamState() {
53
55
  * bare retry loops swallowed this — the cause of the mid-retry mislabel).
54
56
  */
55
57
  export function makeCursorTurnOnDelta(deps) {
56
- const { usageAccumulator, deltaEnricher, heartbeat, promptEstimatedTokens, executionId, state } = deps;
58
+ const { usageAccumulator, deltaEnricher, heartbeat, promptEstimatedTokens, executionId, state, maxCostUsd } = deps;
57
59
  return ({ update }) => {
58
60
  // Reset the stall timer on the delta channel too: a long model generation
59
61
  // emits token deltas but few discrete stream events, so resetting only in the
@@ -61,6 +63,16 @@ export function makeCursorTurnOnDelta(deps) {
61
63
  state.stallWatchdog?.recordActivity();
62
64
  if (update.type === "turn-ended" && update.usage) {
63
65
  usageAccumulator.addTurn(update.usage);
66
+ // max_cost_usd enforcement (cost-guard.ts): the running estimate only
67
+ // advances here, so this is the single check point. onDelta cannot reach
68
+ // the run — the loop reads the flag and performs the clean cancel.
69
+ if (!state.costCapExceeded
70
+ && costCapExceeded(maxCostUsd, usageAccumulator.snapshot().estimatedCostUsd)) {
71
+ state.costCapExceeded = true;
72
+ console.warn(`ExecuteCursor cost cap exceeded: execution=${executionId}, ` +
73
+ `estimatedCostUsd=${usageAccumulator.snapshot().estimatedCostUsd.toFixed(4)}, ` +
74
+ `maxCostUsd=${maxCostUsd.toFixed(2)}`);
75
+ }
64
76
  if (!state.firstTurnAttributionLogged) {
65
77
  state.firstTurnAttributionLogged = true;
66
78
  const sdkInputTokens = update.usage.inputTokens ?? 0;
@@ -121,6 +133,21 @@ export async function consumeCursorTurnStream(run, deps) {
121
133
  }
122
134
  if (state.stallDetected)
123
135
  break;
136
+ // Cost cap (cost-guard.ts): onDelta flagged the overrun on a turn-ended
137
+ // usage delta; end the run through the same clean-cancel pattern as the
138
+ // stall watchdog and the first-denial stop. Fire-and-forget is correct
139
+ // here — nothing downstream waits on this turn's agent (unlike the
140
+ // first-denial stop, whose ledger read needs a stopped agent).
141
+ if (state.costCapExceeded) {
142
+ console.log(`ExecuteCursor stopping stream at cost cap: execution=${executionId}`);
143
+ if (run.supports?.("cancel")) {
144
+ void run.cancel().catch((cancelErr) => {
145
+ console.warn(`ExecuteCursor run.cancel() after cost cap failed (non-fatal): execution=${executionId}, ` +
146
+ `error=${cancelErr instanceof Error ? cancelErr.message : cancelErr}`);
147
+ });
148
+ }
149
+ break;
150
+ }
124
151
  // Progress: reset the stall timer on every stream event.
125
152
  state.stallWatchdog.recordActivity();
126
153
  if (event.type === "tool_call" && typeof event.name === "string") {
@@ -224,26 +251,32 @@ export async function consumeCursorTurnStream(run, deps) {
224
251
  }
225
252
  }
226
253
  catch (streamErr) {
227
- // run.cancel() — from the stall watchdog or the first-denial stop can make
228
- // the stream iterator reject as it tears down; that is the expected teardown
229
- // for both, so swallow it and fall through. Anything else is a genuine stream
230
- // failure — rethrow it to the activity's error handler.
231
- if (!state.stallDetected && !state.firstDenialDetected)
254
+ // run.cancel() — from the stall watchdog, the first-denial stop, or the
255
+ // cost-cap stop — can make the stream iterator reject as it tears down;
256
+ // that is the expected teardown for all three, so swallow it and fall
257
+ // through. Anything else is a genuine stream failure — rethrow it to the
258
+ // activity's error handler.
259
+ if (!state.stallDetected && !state.firstDenialDetected && !state.costCapExceeded) {
232
260
  throw streamErr;
261
+ }
233
262
  console.warn(`ExecuteCursor stream ended via cancel: execution=${executionId}, ` +
234
- `stall=${state.stallDetected}, firstDenial=${state.firstDenialDetected}`);
263
+ `stall=${state.stallDetected}, firstDenial=${state.firstDenialDetected}, ` +
264
+ `costCap=${state.costCapExceeded}`);
235
265
  }
236
266
  finally {
237
267
  state.stallWatchdog.stop();
238
268
  }
239
269
  // Report why the stream ended, in the same precedence the activity's epilogue
240
270
  // applies: a stall (an EXECUTION_FAILED terminal) outranks everything; a
241
- // platform stop and a first denial are distinct proceed/return outcomes; a
242
- // pause is the fallback for a cancellation with no other cause.
271
+ // platform stop, a cost-cap stop, and a first denial are distinct
272
+ // return/proceed outcomes; a pause is the fallback for a cancellation with
273
+ // no other cause.
243
274
  if (state.stallDetected)
244
275
  return "stalled";
245
276
  if (state.platformStopSignaled)
246
277
  return "platform-stop";
278
+ if (state.costCapExceeded)
279
+ return "cost-cap";
247
280
  if (state.firstDenialDetected)
248
281
  return "first-denial";
249
282
  if (state.pauseDetected || isCancelled())
@@ -1 +1 @@
1
- {"version":3,"file":"turn-stream.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/turn-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-stream.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/turn-stream.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/runner",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
4
4
  "description": "Embeddable Temporal worker for the Stigmer AI agent platform — handles agent execution, workflow orchestration, and MCP server management",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -85,7 +85,7 @@
85
85
  "@opentelemetry/sdk-metrics": "^2.0.0",
86
86
  "@opentelemetry/sdk-trace-base": "^2.0.0",
87
87
  "@opentelemetry/sdk-trace-node": "^2.0.0",
88
- "@stigmer/protos": "3.2.0",
88
+ "@stigmer/protos": "3.2.1",
89
89
  "@temporalio/activity": "^1.11.0",
90
90
  "@temporalio/client": "^1.11.0",
91
91
  "@temporalio/common": "^1.11.0",
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Unit tests for the Cursor harness's max_cost_usd guard (cost-guard.ts).
3
+ *
4
+ * The guard is the cursor-side analog of the native cost-cap middleware
5
+ * (middleware/cost-cap.ts): same proto semantics (0/unset = no cap), same
6
+ * inclusive boundary (`>=`), same estimation basis. These tests pin those
7
+ * semantics so the two harnesses cannot silently diverge.
8
+ */
9
+
10
+ import { describe, it, expect } from "vitest";
11
+ import {
12
+ costCapExceeded,
13
+ formatCostLimitError,
14
+ COST_LIMIT_ERROR_PREFIX,
15
+ COST_LIMIT_USER_COPY,
16
+ } from "../cost-guard.js";
17
+
18
+ describe("costCapExceeded", () => {
19
+ it("never fires when no cap is configured (0 = unset per the proto contract)", () => {
20
+ expect(costCapExceeded(0, 999)).toBe(false);
21
+ });
22
+
23
+ it("never fires for a negative cap", () => {
24
+ expect(costCapExceeded(-1, 999)).toBe(false);
25
+ });
26
+
27
+ it("does not fire below the cap", () => {
28
+ expect(costCapExceeded(0.5, 0.4999)).toBe(false);
29
+ });
30
+
31
+ it("fires exactly at the cap (inclusive boundary, matching the native middleware)", () => {
32
+ expect(costCapExceeded(0.5, 0.5)).toBe(true);
33
+ });
34
+
35
+ it("fires above the cap", () => {
36
+ expect(costCapExceeded(0.5, 0.51)).toBe(true);
37
+ });
38
+
39
+ it("does not fire when nothing has been spent", () => {
40
+ expect(costCapExceeded(0.5, 0)).toBe(false);
41
+ });
42
+ });
43
+
44
+ describe("cost-limit terminal copy", () => {
45
+ it("pins the error prefix consumers match on (no structured termination reason exists)", () => {
46
+ // Mirrors the TOOL_CALL_LIMIT_ERROR_PREFIX guard in
47
+ // streaming-terminal.test.ts: a reword silently downgrades any consumer
48
+ // matching this prefix to generic error copy.
49
+ expect(COST_LIMIT_ERROR_PREFIX).toBe("Agent reached the cost limit");
50
+ });
51
+
52
+ it("formats the error with the prefix, both amounts, and a continuation hint", () => {
53
+ const err = formatCostLimitError(0.5, 0.5123);
54
+ expect(err.startsWith(COST_LIMIT_ERROR_PREFIX)).toBe(true);
55
+ expect(err).toContain("$0.5123");
56
+ expect(err).toContain("$0.50");
57
+ expect(err).toContain("Send another message to continue");
58
+ });
59
+
60
+ it("user copy is honest about the limit and that work is saved", () => {
61
+ expect(COST_LIMIT_USER_COPY).toContain("cost limit");
62
+ expect(COST_LIMIT_USER_COPY).toContain("saved");
63
+ });
64
+ });
@@ -111,6 +111,7 @@ function buildDeps(overrides: Partial<CursorTurnStreamDeps> = {}): BuiltDeps {
111
111
  promptEstimatedTokens: 100,
112
112
  executionId: "exec-test",
113
113
  state,
114
+ maxCostUsd: 0,
114
115
  // CursorTurnStreamDeps
115
116
  status,
116
117
  accumulator,
@@ -261,6 +262,78 @@ describe("consumeCursorTurnStream", () => {
261
262
  });
262
263
  });
263
264
 
265
+ describe("cost-cap stop", () => {
266
+ it("cancels the run, stops the stream, and returns 'cost-cap' when onDelta flagged the overrun", async () => {
267
+ const state = newTurnStreamState();
268
+ state.costCapExceeded = true; // onDelta's write, simulated
269
+ const { deps, accumulator } = buildDeps({ state });
270
+ const run = mockRun([ev({ type: "assistant" }), ev({ type: "assistant" })]);
271
+
272
+ const reason = await consumeCursorTurnStream(run, deps);
273
+
274
+ expect(reason).toBe("cost-cap");
275
+ expect(run.cancel).toHaveBeenCalled();
276
+ // The break happens before the event is processed — no post-cap content.
277
+ expect(accumulator.processEvent).not.toHaveBeenCalled();
278
+ });
279
+
280
+ it("detects the flag mid-stream when onDelta sets it between events", async () => {
281
+ const state = newTurnStreamState();
282
+ const { deps, accumulator } = buildDeps({ state });
283
+ // Simulate onDelta's write landing between event 1 and event 2 — the
284
+ // realistic shape: a turn-ended usage delta crosses the cap while the
285
+ // loop is between stream events.
286
+ async function* gen(): AsyncIterable<SDKMessage> {
287
+ yield ev({ type: "assistant" });
288
+ state.costCapExceeded = true;
289
+ yield ev({ type: "assistant" });
290
+ }
291
+ const run: MockRun = {
292
+ stream: () => gen(),
293
+ supports: () => true,
294
+ cancel: vi.fn(async () => {}),
295
+ };
296
+
297
+ const reason = await consumeCursorTurnStream(run, deps);
298
+
299
+ expect(reason).toBe("cost-cap");
300
+ expect(run.cancel).toHaveBeenCalled();
301
+ // Event 1 was processed; event 2 hit the break before processing.
302
+ expect(accumulator.processEvent).toHaveBeenCalledTimes(1);
303
+ });
304
+
305
+ it("swallows the cancel-induced teardown rejection (expected, not a failure)", async () => {
306
+ const state = newTurnStreamState();
307
+ state.costCapExceeded = true;
308
+ const { deps } = buildDeps({ state });
309
+ // The break exits the for-await, which invokes the iterator's return();
310
+ // a cancelled SDK run can reject there. The catch must exempt cost-cap
311
+ // teardown exactly like stall/first-denial teardown.
312
+ const events = [ev({ type: "assistant" })];
313
+ let i = 0;
314
+ const run: MockRun = {
315
+ stream: () => ({
316
+ [Symbol.asyncIterator]: () => ({
317
+ next: async () =>
318
+ i < events.length
319
+ ? { value: events[i++], done: false as const }
320
+ : { value: undefined, done: true as const },
321
+ return: async () => {
322
+ throw new Error("run cancelled");
323
+ },
324
+ }),
325
+ }),
326
+ supports: () => true,
327
+ cancel: vi.fn(async () => {}),
328
+ };
329
+
330
+ const reason = await consumeCursorTurnStream(run, deps);
331
+
332
+ expect(reason).toBe("cost-cap");
333
+ expect(run.cancel).toHaveBeenCalled();
334
+ });
335
+ });
336
+
264
337
  it("returns 'stalled' and cancels the run when the stall watchdog fires", async () => {
265
338
  vi.useFakeTimers();
266
339
  // The generator yields one event, then awaits a promise resolved only by
@@ -305,6 +378,7 @@ describe("makeCursorTurnOnDelta", () => {
305
378
  promptEstimatedTokens: 10,
306
379
  executionId: "e",
307
380
  state,
381
+ maxCostUsd: 0,
308
382
  });
309
383
 
310
384
  expect(() => onDelta({ update: { type: "text" } as never })).not.toThrow();
@@ -322,6 +396,7 @@ describe("makeCursorTurnOnDelta", () => {
322
396
  promptEstimatedTokens: 10,
323
397
  executionId: "e",
324
398
  state,
399
+ maxCostUsd: 0,
325
400
  });
326
401
 
327
402
  expect(() => onDelta({ update: { type: "text" } as never })).toThrow("boom");
@@ -338,6 +413,7 @@ describe("makeCursorTurnOnDelta", () => {
338
413
  promptEstimatedTokens: 10,
339
414
  executionId: "e",
340
415
  state,
416
+ maxCostUsd: 0,
341
417
  });
342
418
 
343
419
  onDelta({ update: { type: "turn-ended", usage: { inputTokens: 100 } } as never });
@@ -346,4 +422,46 @@ describe("makeCursorTurnOnDelta", () => {
346
422
  expect(usageAccumulator.addTurn).toHaveBeenCalledTimes(2);
347
423
  expect(state.firstTurnAttributionLogged).toBe(true);
348
424
  });
425
+
426
+ it("flags costCapExceeded when a turn-ended usage delta pushes the estimate past the cap", () => {
427
+ const state = newTurnStreamState();
428
+ const usageAccumulator = {
429
+ ...stubUsageAccumulator(),
430
+ snapshot: vi.fn(() => ({ estimatedCostUsd: 0.51 })),
431
+ };
432
+ const onDelta = makeCursorTurnOnDelta({
433
+ usageAccumulator: usageAccumulator as never,
434
+ deltaEnricher: stubEnricher() as never,
435
+ heartbeat: vi.fn(),
436
+ promptEstimatedTokens: 10,
437
+ executionId: "e",
438
+ state,
439
+ maxCostUsd: 0.5,
440
+ });
441
+
442
+ onDelta({ update: { type: "turn-ended", usage: { inputTokens: 100 } } as never });
443
+
444
+ expect(state.costCapExceeded).toBe(true);
445
+ });
446
+
447
+ it("never flags costCapExceeded when no cap is configured", () => {
448
+ const state = newTurnStreamState();
449
+ const usageAccumulator = {
450
+ ...stubUsageAccumulator(),
451
+ snapshot: vi.fn(() => ({ estimatedCostUsd: 999 })),
452
+ };
453
+ const onDelta = makeCursorTurnOnDelta({
454
+ usageAccumulator: usageAccumulator as never,
455
+ deltaEnricher: stubEnricher() as never,
456
+ heartbeat: vi.fn(),
457
+ promptEstimatedTokens: 10,
458
+ executionId: "e",
459
+ state,
460
+ maxCostUsd: 0,
461
+ });
462
+
463
+ onDelta({ update: { type: "turn-ended", usage: { inputTokens: 100 } } as never });
464
+
465
+ expect(state.costCapExceeded).toBe(false);
466
+ });
349
467
  });
@@ -0,0 +1,56 @@
1
+ /**
2
+ * ExecutionConfig.max_cost_usd enforcement for the Cursor harness.
3
+ *
4
+ * The native harness enforces the cap in middleware (cost-cap.ts): tools are
5
+ * blocked at the threshold and the model gets one final tool-free round to
6
+ * summarize. Cursor's only control point is cancelling the in-flight run, so
7
+ * here the cap is a HARD stop — the shared onDelta flags the overrun when a
8
+ * turn-ended usage delta lands, and the stream loop ends the run through the
9
+ * same clean-cancel pattern the stall watchdog and first-denial stop use.
10
+ * Slightly harsher than native by construction; both harnesses terminate with
11
+ * the same honesty semantics (EXECUTION_TERMINATED, work checkpointed, the
12
+ * conversation continues on the next message — the recursion-limit precedent
13
+ * in execute-deep-agent/streaming-terminal.ts).
14
+ *
15
+ * The running figure is the usage accumulator's local pricing-table estimate
16
+ * (authoritative billing is the BiDi proxy). That is the same estimation
17
+ * basis the native cost-cap middleware uses — acceptable for a safety net.
18
+ */
19
+
20
+ /**
21
+ * Whether the per-execution cost budget has been exhausted.
22
+ *
23
+ * `maxCostUsd <= 0` means "no cap" (the proto contract: 0/unset disables the
24
+ * ceiling). The boundary is inclusive: reaching the cap exactly stops the run,
25
+ * matching the native middleware's `runningCost >= maxCostUsd` check.
26
+ */
27
+ export function costCapExceeded(maxCostUsd: number, estimatedCostUsd: number): boolean {
28
+ return maxCostUsd > 0 && estimatedCostUsd >= maxCostUsd;
29
+ }
30
+
31
+ /**
32
+ * Stable prefix of the cost-limit terminal error. Mirrors the cross-repo
33
+ * pattern of TOOL_CALL_LIMIT_ERROR_PREFIX (streaming-terminal.ts): consumers
34
+ * that need to distinguish "ran out of cost budget" from other TERMINATED
35
+ * causes can match on this prefix, because AgentExecutionStatus carries no
36
+ * structured termination reason. Do not reword without checking consumers.
37
+ */
38
+ export const COST_LIMIT_ERROR_PREFIX = "Agent reached the cost limit";
39
+
40
+ /** The terminal `status.error` for a cost-cap stop. */
41
+ export function formatCostLimitError(maxCostUsd: number, estimatedCostUsd: number): string {
42
+ return (
43
+ `${COST_LIMIT_ERROR_PREFIX} for this message ` +
44
+ `(~$${estimatedCostUsd.toFixed(4)} of the $${maxCostUsd.toFixed(2)} budget). ` +
45
+ `Send another message to continue.`
46
+ );
47
+ }
48
+
49
+ /**
50
+ * User-facing system message for a cost-cap stop. Parallel to the
51
+ * recursion-limit copy: honest about the limit, clear that nothing is lost.
52
+ */
53
+ export const COST_LIMIT_USER_COPY =
54
+ "The agent reached the cost limit for this message. " +
55
+ "Work completed so far has been saved. " +
56
+ "Send another message to continue where the agent left off.";
@@ -90,6 +90,7 @@ import {
90
90
  type CursorTurnStreamDeps,
91
91
  type TurnOnDeltaDeps,
92
92
  } from "./turn-stream.js";
93
+ import { formatCostLimitError, COST_LIMIT_USER_COPY } from "./cost-guard.js";
93
94
  import {
94
95
  captureFileChangeProgress,
95
96
  newProgressCaptureState,
@@ -950,6 +951,7 @@ async function executeCursorInner(
950
951
  // The shared onDelta only needs the usage/enricher/heartbeat/state subset,
951
952
  // and it is wired at SEND time — before the accumulator exists — so it takes
952
953
  // the narrow deps. The primary send and both retry sends reuse this object.
954
+ const maxCostUsd = spec.executionConfig?.maxCostUsd ?? 0;
953
955
  const onDeltaDeps: TurnOnDeltaDeps = {
954
956
  usageAccumulator,
955
957
  deltaEnricher,
@@ -957,6 +959,7 @@ async function executeCursorInner(
957
959
  promptEstimatedTokens,
958
960
  executionId,
959
961
  state: turnState,
962
+ maxCostUsd,
960
963
  };
961
964
 
962
965
  // Periodic heartbeat keeps Temporal informed during silent SDK operations
@@ -1067,6 +1070,7 @@ async function executeCursorInner(
1067
1070
  turnState.pauseDetected ||
1068
1071
  workerShutdownDetected ||
1069
1072
  turnState.stallDetected ||
1073
+ turnState.costCapExceeded ||
1070
1074
  Context.current().cancellationSignal.aborted
1071
1075
  ) {
1072
1076
  accumulator.cancelInProgressSubAgents();
@@ -1117,6 +1121,32 @@ async function executeCursorInner(
1117
1121
  return { kind: "return" };
1118
1122
  }
1119
1123
 
1124
+ // Cost cap (cost-guard.ts): onDelta flagged the overrun and the loop
1125
+ // cancelled the run. EXECUTION_TERMINATED, not FAILED — the platform
1126
+ // deliberately stopped the run, work is checkpointed, and the
1127
+ // conversation continues on the next message (the recursion-limit
1128
+ // precedent in execute-deep-agent/streaming-terminal.ts). RETURN (not
1129
+ // throw): a Temporal retry would re-run the identical prompt and burn
1130
+ // the same budget again.
1131
+ if (turnState.costCapExceeded) {
1132
+ const estimated = usageAccumulator.snapshot().estimatedCostUsd;
1133
+ status.phase = ExecutionPhase.EXECUTION_TERMINATED;
1134
+ status.error = formatCostLimitError(maxCostUsd, estimated);
1135
+ status.completedAt = utcTimestamp();
1136
+ status.messages.push(create(AgentMessageSchema, {
1137
+ type: MessageType.MESSAGE_SYSTEM,
1138
+ content: COST_LIMIT_USER_COPY,
1139
+ timestamp: utcTimestamp(),
1140
+ }));
1141
+ await persist(status);
1142
+ try { resolution.agent.close(); } catch { /* best effort */ }
1143
+ console.warn(
1144
+ `ExecuteCursor terminated (cost cap): execution=${executionId}, ` +
1145
+ `estimatedCostUsd=${estimated.toFixed(4)}, maxCostUsd=${maxCostUsd.toFixed(2)}`,
1146
+ );
1147
+ return { kind: "return" };
1148
+ }
1149
+
1120
1150
  // Worker shutdown: the runner-manager aborted the shutdown signal. NOT a
1121
1151
  // user pause. Checked via the shutdown signal directly so a retry (whose
1122
1152
  // periodic heartbeat is already stopped) still classifies it correctly.
@@ -45,6 +45,7 @@ import type { TodoTracker } from "./todo-tracker.js";
45
45
  import type { StreamingUpdateScheduler } from "../../shared/streaming-scheduler.js";
46
46
  import type { UsageAccumulator } from "./usage-accumulator.js";
47
47
  import type { createCursorEventRecorder } from "./cursor-event-recorder.js";
48
+ import { costCapExceeded } from "./cost-guard.js";
48
49
 
49
50
  /**
50
51
  * The subset of the Cursor SDK `Run` the stream phase consumes. Kept structural
@@ -69,7 +70,8 @@ export type TurnStreamReason =
69
70
  | "paused"
70
71
  | "stalled"
71
72
  | "first-denial"
72
- | "platform-stop";
73
+ | "platform-stop"
74
+ | "cost-cap";
73
75
 
74
76
  /**
75
77
  * Single owner for every flag the turn's stream produces. Before this, these
@@ -97,6 +99,8 @@ export interface TurnStreamState {
97
99
  denialCancelSettled: Promise<void> | undefined;
98
100
  /** Written by: the loop (a platform STOP signal from persist). Read by: the loop + epilogue. */
99
101
  platformStopSignaled: boolean;
102
+ /** Written by: onDelta (a turn-ended usage delta pushed the estimate past max_cost_usd). Read by: the loop (cancel + break) + epilogue. */
103
+ costCapExceeded: boolean;
100
104
  /** Written by: the loop (a stream ERROR status event) + the retry setup (reset). Read by: error classification. */
101
105
  streamErrorMessage: string | undefined;
102
106
  /** Written by: the loop (each tool_call). Read by: the stall-watchdog (message enrichment). */
@@ -118,6 +122,7 @@ export function newTurnStreamState(): TurnStreamState {
118
122
  denialLedgerDirty: false,
119
123
  denialCancelSettled: undefined,
120
124
  platformStopSignaled: false,
125
+ costCapExceeded: false,
121
126
  streamErrorMessage: undefined,
122
127
  lastToolName: undefined,
123
128
  eventCount: 0,
@@ -139,6 +144,13 @@ export interface TurnOnDeltaDeps {
139
144
  readonly promptEstimatedTokens: number;
140
145
  readonly executionId: string;
141
146
  readonly state: TurnStreamState;
147
+ /**
148
+ * ExecutionConfig.max_cost_usd — 0/unset disables the cap. Checked by
149
+ * onDelta after each turn-ended usage delta lands (the only point the
150
+ * running estimate advances); the loop performs the actual run.cancel().
151
+ * See cost-guard.ts for the semantics.
152
+ */
153
+ readonly maxCostUsd: number;
142
154
  }
143
155
 
144
156
  export interface CursorTurnStreamDeps extends TurnOnDeltaDeps {
@@ -170,7 +182,7 @@ export interface CursorTurnStreamDeps extends TurnOnDeltaDeps {
170
182
  export function makeCursorTurnOnDelta(
171
183
  deps: TurnOnDeltaDeps,
172
184
  ): (event: { update: InteractionUpdate }) => void {
173
- const { usageAccumulator, deltaEnricher, heartbeat, promptEstimatedTokens, executionId, state } =
185
+ const { usageAccumulator, deltaEnricher, heartbeat, promptEstimatedTokens, executionId, state, maxCostUsd } =
174
186
  deps;
175
187
  return ({ update }) => {
176
188
  // Reset the stall timer on the delta channel too: a long model generation
@@ -180,6 +192,19 @@ export function makeCursorTurnOnDelta(
180
192
  if (update.type === "turn-ended" && update.usage) {
181
193
  usageAccumulator.addTurn(update.usage);
182
194
 
195
+ // max_cost_usd enforcement (cost-guard.ts): the running estimate only
196
+ // advances here, so this is the single check point. onDelta cannot reach
197
+ // the run — the loop reads the flag and performs the clean cancel.
198
+ if (!state.costCapExceeded
199
+ && costCapExceeded(maxCostUsd, usageAccumulator.snapshot().estimatedCostUsd)) {
200
+ state.costCapExceeded = true;
201
+ console.warn(
202
+ `ExecuteCursor cost cap exceeded: execution=${executionId}, ` +
203
+ `estimatedCostUsd=${usageAccumulator.snapshot().estimatedCostUsd.toFixed(4)}, ` +
204
+ `maxCostUsd=${maxCostUsd.toFixed(2)}`,
205
+ );
206
+ }
207
+
183
208
  if (!state.firstTurnAttributionLogged) {
184
209
  state.firstTurnAttributionLogged = true;
185
210
  const sdkInputTokens = update.usage.inputTokens ?? 0;
@@ -272,6 +297,26 @@ export async function consumeCursorTurnStream(
272
297
  }
273
298
  if (state.stallDetected) break;
274
299
 
300
+ // Cost cap (cost-guard.ts): onDelta flagged the overrun on a turn-ended
301
+ // usage delta; end the run through the same clean-cancel pattern as the
302
+ // stall watchdog and the first-denial stop. Fire-and-forget is correct
303
+ // here — nothing downstream waits on this turn's agent (unlike the
304
+ // first-denial stop, whose ledger read needs a stopped agent).
305
+ if (state.costCapExceeded) {
306
+ console.log(
307
+ `ExecuteCursor stopping stream at cost cap: execution=${executionId}`,
308
+ );
309
+ if (run.supports?.("cancel")) {
310
+ void run.cancel().catch((cancelErr) => {
311
+ console.warn(
312
+ `ExecuteCursor run.cancel() after cost cap failed (non-fatal): execution=${executionId}, ` +
313
+ `error=${cancelErr instanceof Error ? cancelErr.message : cancelErr}`,
314
+ );
315
+ });
316
+ }
317
+ break;
318
+ }
319
+
275
320
  // Progress: reset the stall timer on every stream event.
276
321
  state.stallWatchdog.recordActivity();
277
322
  if (event.type === "tool_call" && typeof event.name === "string") {
@@ -397,14 +442,18 @@ export async function consumeCursorTurnStream(
397
442
  }
398
443
  }
399
444
  } catch (streamErr) {
400
- // run.cancel() — from the stall watchdog or the first-denial stop can make
401
- // the stream iterator reject as it tears down; that is the expected teardown
402
- // for both, so swallow it and fall through. Anything else is a genuine stream
403
- // failure — rethrow it to the activity's error handler.
404
- if (!state.stallDetected && !state.firstDenialDetected) throw streamErr;
445
+ // run.cancel() — from the stall watchdog, the first-denial stop, or the
446
+ // cost-cap stop — can make the stream iterator reject as it tears down;
447
+ // that is the expected teardown for all three, so swallow it and fall
448
+ // through. Anything else is a genuine stream failure — rethrow it to the
449
+ // activity's error handler.
450
+ if (!state.stallDetected && !state.firstDenialDetected && !state.costCapExceeded) {
451
+ throw streamErr;
452
+ }
405
453
  console.warn(
406
454
  `ExecuteCursor stream ended via cancel: execution=${executionId}, ` +
407
- `stall=${state.stallDetected}, firstDenial=${state.firstDenialDetected}`,
455
+ `stall=${state.stallDetected}, firstDenial=${state.firstDenialDetected}, ` +
456
+ `costCap=${state.costCapExceeded}`,
408
457
  );
409
458
  } finally {
410
459
  state.stallWatchdog.stop();
@@ -412,10 +461,12 @@ export async function consumeCursorTurnStream(
412
461
 
413
462
  // Report why the stream ended, in the same precedence the activity's epilogue
414
463
  // applies: a stall (an EXECUTION_FAILED terminal) outranks everything; a
415
- // platform stop and a first denial are distinct proceed/return outcomes; a
416
- // pause is the fallback for a cancellation with no other cause.
464
+ // platform stop, a cost-cap stop, and a first denial are distinct
465
+ // return/proceed outcomes; a pause is the fallback for a cancellation with
466
+ // no other cause.
417
467
  if (state.stallDetected) return "stalled";
418
468
  if (state.platformStopSignaled) return "platform-stop";
469
+ if (state.costCapExceeded) return "cost-cap";
419
470
  if (state.firstDenialDetected) return "first-denial";
420
471
  if (state.pauseDetected || isCancelled()) return "paused";
421
472
  return "completed";