loopforge 3.2.1 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +67 -67
  2. package/dist/audit.d.ts.map +1 -1
  3. package/dist/audit.js +7 -34
  4. package/dist/audit.js.map +1 -1
  5. package/dist/canonical-state.d.ts +71 -4
  6. package/dist/canonical-state.d.ts.map +1 -1
  7. package/dist/canonical-state.js +176 -9
  8. package/dist/canonical-state.js.map +1 -1
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +16 -18
  11. package/dist/cli.js.map +1 -1
  12. package/dist/cognitive-facts.d.ts +17 -0
  13. package/dist/cognitive-facts.d.ts.map +1 -0
  14. package/dist/cognitive-facts.js +99 -0
  15. package/dist/cognitive-facts.js.map +1 -0
  16. package/dist/committed-round.d.ts +59 -0
  17. package/dist/committed-round.d.ts.map +1 -0
  18. package/dist/committed-round.js +222 -0
  19. package/dist/committed-round.js.map +1 -0
  20. package/dist/enforcement-gate.d.ts +4 -2
  21. package/dist/enforcement-gate.d.ts.map +1 -1
  22. package/dist/enforcement-gate.js +339 -301
  23. package/dist/enforcement-gate.js.map +1 -1
  24. package/dist/engine.d.ts +16 -4
  25. package/dist/engine.d.ts.map +1 -1
  26. package/dist/engine.js +63 -15
  27. package/dist/engine.js.map +1 -1
  28. package/dist/evidence-claims.d.ts.map +1 -1
  29. package/dist/evidence-claims.js +21 -39
  30. package/dist/evidence-claims.js.map +1 -1
  31. package/dist/evidence-provider.d.ts +29 -0
  32. package/dist/evidence-provider.d.ts.map +1 -1
  33. package/dist/evidence-provider.js +93 -16
  34. package/dist/evidence-provider.js.map +1 -1
  35. package/dist/index.d.ts +3 -3
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +3 -3
  38. package/dist/index.js.map +1 -1
  39. package/dist/loop-compiler.d.ts +21 -4
  40. package/dist/loop-compiler.d.ts.map +1 -1
  41. package/dist/loop-compiler.js +244 -66
  42. package/dist/loop-compiler.js.map +1 -1
  43. package/dist/loop-projection.d.ts +5 -25
  44. package/dist/loop-projection.d.ts.map +1 -1
  45. package/dist/loop-projection.js +18 -134
  46. package/dist/loop-projection.js.map +1 -1
  47. package/dist/loop-store.d.ts +5 -2
  48. package/dist/loop-store.d.ts.map +1 -1
  49. package/dist/loop-store.js.map +1 -1
  50. package/dist/mcp/round-lifecycle.d.ts +6 -8
  51. package/dist/mcp/round-lifecycle.d.ts.map +1 -1
  52. package/dist/mcp/round-lifecycle.js +61 -52
  53. package/dist/mcp/round-lifecycle.js.map +1 -1
  54. package/dist/mcp/server.js +3 -3
  55. package/dist/mcp/server.js.map +1 -1
  56. package/dist/mcp/session.d.ts +14 -3
  57. package/dist/mcp/session.d.ts.map +1 -1
  58. package/dist/mcp/session.js +174 -52
  59. package/dist/mcp/session.js.map +1 -1
  60. package/dist/mcp/tools.d.ts +12 -0
  61. package/dist/mcp/tools.d.ts.map +1 -1
  62. package/dist/mcp/tools.js +160 -52
  63. package/dist/mcp/tools.js.map +1 -1
  64. package/dist/policy-metrics.d.ts +0 -7
  65. package/dist/policy-metrics.d.ts.map +1 -1
  66. package/dist/policy-metrics.js +15 -55
  67. package/dist/policy-metrics.js.map +1 -1
  68. package/dist/policy.d.ts +22 -20
  69. package/dist/policy.d.ts.map +1 -1
  70. package/dist/policy.js +24 -38
  71. package/dist/policy.js.map +1 -1
  72. package/dist/prompt-assembler.d.ts.map +1 -1
  73. package/dist/prompt-assembler.js +120 -140
  74. package/dist/prompt-assembler.js.map +1 -1
  75. package/dist/protocol.d.ts +57 -23
  76. package/dist/protocol.d.ts.map +1 -1
  77. package/dist/protocol.js +10 -4
  78. package/dist/protocol.js.map +1 -1
  79. package/dist/replay.d.ts.map +1 -1
  80. package/dist/replay.js +21 -22
  81. package/dist/replay.js.map +1 -1
  82. package/dist/round-contract.d.ts +64 -0
  83. package/dist/round-contract.d.ts.map +1 -0
  84. package/dist/round-contract.js +80 -0
  85. package/dist/round-contract.js.map +1 -0
  86. package/dist/round-coordinator.d.ts +5 -3
  87. package/dist/round-coordinator.d.ts.map +1 -1
  88. package/dist/round-coordinator.js +33 -29
  89. package/dist/round-coordinator.js.map +1 -1
  90. package/dist/round-driver.d.ts +0 -1
  91. package/dist/round-driver.d.ts.map +1 -1
  92. package/dist/round-driver.js +0 -1
  93. package/dist/round-driver.js.map +1 -1
  94. package/dist/round-transaction.d.ts +0 -1
  95. package/dist/round-transaction.d.ts.map +1 -1
  96. package/dist/round-transaction.js +0 -1
  97. package/dist/round-transaction.js.map +1 -1
  98. package/dist/self-eval.d.ts +29 -34
  99. package/dist/self-eval.d.ts.map +1 -1
  100. package/dist/self-eval.js +112 -148
  101. package/dist/self-eval.js.map +1 -1
  102. package/dist/verification-gate.d.ts +53 -12
  103. package/dist/verification-gate.d.ts.map +1 -1
  104. package/dist/verification-gate.js +462 -90
  105. package/dist/verification-gate.js.map +1 -1
  106. package/dist/workspace.d.ts +29 -0
  107. package/dist/workspace.d.ts.map +1 -0
  108. package/dist/workspace.js +61 -0
  109. package/dist/workspace.js.map +1 -0
  110. package/loop_policy.json +5 -13
  111. package/package.json +1 -1
  112. package/skills/perception/SKILL.md +135 -136
package/dist/mcp/tools.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * Each handler receives SessionManager + parsed input, returns the output object.
7
7
  */
8
8
  import { buildSelfEvaluation } from "../engine.js";
9
- import { collectSelfEvalGaps } from "../self-eval.js";
9
+ import { validateCoreSelfEvaluation } from "../self-eval.js";
10
10
  import { isRecord } from "../token-utils.js";
11
11
  import { validateLoopId } from "../policy.js";
12
12
  // ═══════════════════════════════════════════════════════════════════════════
@@ -51,7 +51,7 @@ const TOOL_BASE_SCHEMAS = [
51
51
  },
52
52
  {
53
53
  name: "loopforge_next",
54
- description: "Submit the output from the current round and advance to the next. Returns the next-round prompt, or null with a stopReason when the loop ends. The evaluation parameter provides structured self-assessment — prefer this over embedding a ---loopforge-eval block in the output text.",
54
+ description: "Submit the output from the current round and advance to the next. Returns the next-round prompt, or null with a stopReason when the loop ends. A structured evaluation is required; output is optional supporting context.",
55
55
  inputSchema: {
56
56
  type: "object",
57
57
  properties: {
@@ -65,11 +65,11 @@ const TOOL_BASE_SCHEMAS = [
65
65
  },
66
66
  output: {
67
67
  type: "string",
68
- description: "Optional. The agent's full output from executing the current round's prompt. May be omitted if evaluation parameter is provided.",
68
+ description: "Optional. The agent's full output from executing the current round's prompt. The structured evaluation is the authoritative report.",
69
69
  },
70
70
  evaluation: {
71
71
  type: "object",
72
- description: "Structured self-evaluation for this round. Either this or an output containing a ---loopforge-eval block is required for the loop to continue. Preferred over embedding ---loopforge-eval blocks in output text.",
72
+ description: "Required structured self-evaluation for this round. Free-text or embedded evaluation blocks are not accepted.",
73
73
  required: ["success", "output_summary", "should_continue", "constraint_violations"],
74
74
  properties: {
75
75
  success: {
@@ -255,14 +255,6 @@ const TOOL_BASE_SCHEMAS = [
255
255
  items: { type: "string" },
256
256
  description: "Constraints, discoveries, or decisions that need emphasis in the next prompt. Matched by meaning — not exact text. Matched items appear in a 'Critical Context' section. Max 5 entries. Pure reordering — no token overhead.",
257
257
  },
258
- expand: {
259
- type: "array",
260
- items: {
261
- type: "string",
262
- enum: ["milestones", "sub_goals", "constraint_lifecycle", "agent_trust", "progress", "loop_synthesis"],
263
- },
264
- description: "Sections to expand to full detail in the next prompt. Useful when you need full context on a specific area (e.g. full sub-goal dashboard when replanning). L1 max 1 section. L2 already expanded — redundant. L0 ignored.",
265
- },
266
258
  confusion_points: {
267
259
  type: "array",
268
260
  items: { type: "string" },
@@ -270,14 +262,36 @@ const TOOL_BASE_SCHEMAS = [
270
262
  },
271
263
  },
272
264
  },
265
+ round_contract: {
266
+ type: "object",
267
+ description: "Optional. Proposal for the NEXT round's contract (v3.4). Declared here, it becomes the ACTIVE contract (rendered as the Current Task) only after this round commits, and stays active until a later round lists every done_when item in success_criteria_met or reports outcome=blocked. While it is active, restate it unchanged here; on completion or block, declare the next contract instead (or omit the field — the Current Task reverts to the original task). Checks: round_underspecified / round_unverifiable target this proposal; round_scope_drift and premature_boundary target the ACTIVE contract.",
268
+ properties: {
269
+ work_item: {
270
+ type: "string",
271
+ description: "Optional. Round focus, one line. Rendered as the active contract's Current Task first line. Max 200 chars.",
272
+ },
273
+ done_when: {
274
+ type: "array",
275
+ items: { type: "string" },
276
+ description: "Completion conditions: cr-XXXXXXXX criterion IDs or free text. Satisfied = list in success_criteria_met; still open = list in success_criteria_remaining. Max 20 items.",
277
+ },
278
+ verification_plan: {
279
+ type: "array",
280
+ items: { type: "string" },
281
+ description: "Names of configured, enabled evidence.commands (see loop_policy.json evidence.commands) that verify the done_when claims. Max 20 items.",
282
+ },
283
+ scope: {
284
+ type: "array",
285
+ items: { type: "string" },
286
+ description: "Files/directories this round may touch (workspace-relative; './' and trailing slashes accepted). Out-of-scope git changes trigger round_scope_drift. Max 50 items.",
287
+ },
288
+ },
289
+ required: ["done_when", "verification_plan", "scope"],
290
+ },
273
291
  },
274
292
  },
275
293
  },
276
- // v3.2.1: evaluation is optional at the schema level — the handler
277
- // requires EITHER the evaluation parameter OR output containing a
278
- // ---loopforge-eval block. Requiring it here made the embedded-block
279
- // path dead code (input validation rejected it before the handler).
280
- required: ["sessionId", "roundId"],
294
+ required: ["sessionId", "roundId", "evaluation"],
281
295
  },
282
296
  },
283
297
  {
@@ -333,16 +347,26 @@ const TOOL_BASE_SCHEMAS = [
333
347
  },
334
348
  {
335
349
  name: "loopforge_replay",
336
- description: "Replay a completed or running loop session as an auditable round timeline.",
350
+ description: "Replay a completed or running loop as an auditable round timeline. " +
351
+ "Pass sessionId for a live session, or loopId to replay straight from " +
352
+ "the vault (works after a process restart, when no session is in " +
353
+ "memory) — the timeline is derived from committed round documents.",
337
354
  inputSchema: {
338
355
  type: "object",
339
356
  properties: {
340
357
  sessionId: {
341
358
  type: "string",
342
- description: "Session ID to replay.",
359
+ description: "Session ID to replay (live sessions).",
360
+ },
361
+ loopId: {
362
+ type: "string",
363
+ description: "Loop ID to replay from the vault — works without a " +
364
+ "live session, e.g. after a restart.",
343
365
  },
344
366
  },
345
- required: ["sessionId"],
367
+ // v3.3.1: either identifier resolves the timeline; sessionId wins when
368
+ // both are given (it also disambiguates re-used loopIds).
369
+ required: [],
346
370
  },
347
371
  },
348
372
  {
@@ -404,6 +428,7 @@ const ADVANCE_OUTPUT_SCHEMA = {
404
428
  type: "object",
405
429
  properties: {
406
430
  error: { type: "string" },
431
+ details: { type: "object", additionalProperties: true },
407
432
  sessionId: { type: "string" },
408
433
  round: { type: "number" },
409
434
  roundId: { type: ["string", "null"] },
@@ -415,11 +440,6 @@ const ADVANCE_OUTPUT_SCHEMA = {
415
440
  enforcementAction: { enum: ["accept", "reject", "terminate", "backtrack"] },
416
441
  enforcementReason: { type: ["string", "null"] },
417
442
  warnings: { type: "array", items: { type: "string" } },
418
- parseGaps: {
419
- type: "array",
420
- items: { type: "object", additionalProperties: true },
421
- description: "v2.12: Field-level format diagnostics for tolerated evaluation issues.",
422
- },
423
443
  projection: {
424
444
  type: "object",
425
445
  additionalProperties: true,
@@ -449,6 +469,10 @@ export const TOOL_OUTPUT_SCHEMAS = {
449
469
  successTrajectory: { type: "array", items: { type: "boolean" } },
450
470
  lease: { type: ["object", "null"], additionalProperties: true },
451
471
  metrics: { type: "object", additionalProperties: true },
472
+ // v3.5: the ACTIVE Round Contract governing the next round (derived
473
+ // from committed rounds — null when the whole task is the Current
474
+ // Task).
475
+ activeContract: { type: ["object", "null"] },
452
476
  },
453
477
  additionalProperties: true,
454
478
  },
@@ -525,10 +549,36 @@ function closeObjectSchemas(schema) {
525
549
  }
526
550
  return result;
527
551
  }
552
+ const CORE_EVALUATION_FIELDS = new Set([
553
+ "success",
554
+ "output_summary",
555
+ "constraint_violations",
556
+ "should_continue",
557
+ ]);
558
+ /** Keep the four authoritative fields schema-strict while leaving optional
559
+ * reporting fields available for buildSelfEvaluation's lossy normalization.
560
+ * Their descriptions remain in tools/list, but malformed optional values do
561
+ * not become JSON-RPC argument failures before the runtime can ignore them. */
562
+ function prepareInputSchema(name, schema) {
563
+ const result = closeObjectSchemas(schema);
564
+ if (name !== "loopforge_next" || !isRecord(result.properties))
565
+ return result;
566
+ const evaluation = result.properties.evaluation;
567
+ if (!isRecord(evaluation) || !isRecord(evaluation.properties))
568
+ return result;
569
+ evaluation.properties = Object.fromEntries(Object.entries(evaluation.properties).map(([field, value]) => {
570
+ if (CORE_EVALUATION_FIELDS.has(field) || !isRecord(value))
571
+ return [field, value];
572
+ return [field, typeof value.description === "string"
573
+ ? { description: value.description }
574
+ : {}];
575
+ }));
576
+ return result;
577
+ }
528
578
  /** MCP tool contracts include strict input and structured output schemas. */
529
579
  export const TOOL_SCHEMAS = TOOL_BASE_SCHEMAS.map((schema) => ({
530
580
  ...schema,
531
- inputSchema: closeObjectSchemas(schema.inputSchema),
581
+ inputSchema: prepareInputSchema(schema.name, schema.inputSchema),
532
582
  outputSchema: TOOL_OUTPUT_SCHEMAS[schema.name] ?? {
533
583
  type: "object",
534
584
  additionalProperties: true,
@@ -616,6 +666,35 @@ export function validateToolInput(name, input) {
616
666
  throw new ToolInputValidationError(`Unknown tool: ${name}`);
617
667
  validateSchema(input, contract.inputSchema, "arguments");
618
668
  }
669
+ /** Validate a server dispatch without turning a malformed evaluation into a
670
+ * JSON-RPC transport error. The advertised schema stays strict so clients can
671
+ * construct valid calls; the runtime envelope validates every outer argument,
672
+ * then lets loopforge_next return its retryable evaluation_invalid payload for
673
+ * core evaluation mistakes. Once the core is valid, the full schema still
674
+ * rejects unknown fields and other contract violations. */
675
+ export function validateToolDispatchInput(name, input) {
676
+ if (name !== "loopforge_next") {
677
+ validateToolInput(name, input);
678
+ return;
679
+ }
680
+ const contract = TOOL_SCHEMAS.find((schema) => schema.name === name);
681
+ if (!contract)
682
+ throw new ToolInputValidationError(`Unknown tool: ${name}`);
683
+ const properties = isRecord(contract.inputSchema.properties)
684
+ ? contract.inputSchema.properties
685
+ : {};
686
+ validateSchema(input, {
687
+ ...contract.inputSchema,
688
+ required: ["sessionId", "roundId"],
689
+ properties: { ...properties, evaluation: {} },
690
+ }, "arguments");
691
+ if (!isRecord(input.evaluation))
692
+ return;
693
+ const validation = validateCoreSelfEvaluation(input.evaluation);
694
+ if (validation.missing.length > 0 || validation.invalid.length > 0)
695
+ return;
696
+ validateSchema(input, contract.inputSchema, "arguments");
697
+ }
619
698
  /** Validate a handler's output against the tool's declared output schema.
620
699
  * v2.14: the schemas were advertised in tools/list but never enforced —
621
700
  * a mismatched output silently violated the declared contract. Throws
@@ -680,12 +759,27 @@ export const TOOL_HANDLERS = {
680
759
  if (!roundId || !roundId.trim()) {
681
760
  return { error: "roundId is required — pass the roundId from the most recent loopforge_start / loopforge_next / loopforge_resume / loopforge_status response" };
682
761
  }
683
- // Build SelfEvaluation from structured evaluation parameter
684
- const preExtractedEval = rawEval ? buildSelfEvaluation(rawEval) : undefined;
685
- // Require at least one of: evaluation parameter or output with embedded eval block
686
- if (!preExtractedEval && !output.trim()) {
687
- return { error: "Either evaluation parameter or output with ---loopforge-eval block is required" };
762
+ if (!rawEval || typeof rawEval !== "object" || Array.isArray(rawEval)) {
763
+ return {
764
+ error: "evaluation_invalid",
765
+ details: {
766
+ missing: ["evaluation"],
767
+ invalid: [{ field: "evaluation", expected: "object" }],
768
+ },
769
+ sessionId,
770
+ roundId,
771
+ };
772
+ }
773
+ const validation = validateCoreSelfEvaluation(rawEval);
774
+ if (validation.missing.length > 0 || validation.invalid.length > 0) {
775
+ return {
776
+ error: "evaluation_invalid",
777
+ details: validation,
778
+ sessionId,
779
+ roundId,
780
+ };
688
781
  }
782
+ const preExtractedEval = buildSelfEvaluation(rawEval);
689
783
  const result = await mgr.advance(sessionId, output, preExtractedEval, roundId);
690
784
  // v2.12: Typed projection — runtime facts for the main agent, attached
691
785
  // on every accepted/continued round (not on errors).
@@ -694,20 +788,6 @@ export const TOOL_HANDLERS = {
694
788
  result.stopReason !== "session_not_found" && result.stopReason !== "stalled") {
695
789
  projection = mgr.getProjection(sessionId);
696
790
  }
697
- // v2.12: Field-level diagnostics for tolerated format issues. The
698
- // lenient parser still accepts the evaluation — the gaps are surfaced
699
- // as structured warnings so the agent can correct its template.
700
- if (rawEval) {
701
- const gaps = collectSelfEvalGaps(rawEval);
702
- if (gaps.length > 0) {
703
- return {
704
- ...result,
705
- projection,
706
- warnings: [...(result.warnings ?? []), ...gaps.map((g) => `[${g.field}] ${g.issue}`)],
707
- parseGaps: gaps,
708
- };
709
- }
710
- }
711
791
  return projection ? { ...result, projection } : { ...result };
712
792
  },
713
793
  async loopforge_status(mgr, input) {
@@ -751,9 +831,18 @@ export const TOOL_HANDLERS = {
751
831
  status: session.status,
752
832
  successTrajectory: session.successTrajectory,
753
833
  lease: mgr.getLeaseStatus(session.loopId),
834
+ // v3.5: derived ACTIVE Round Contract (display-only — the compile and
835
+ // verification gates derive the same value from the same committed
836
+ // evals via the shared round-contract walker).
837
+ activeContract: mgr.getActiveContract(sessionId),
754
838
  projection: mgr.getProjection(sessionId),
755
839
  metrics: {
756
840
  vaultWriteErrors: metrics.vaultWriteErrors,
841
+ // v3.3.1: engine sessionStart was written but never read — surface it
842
+ // so a status view shows how long this engine session has been alive
843
+ // (observability design: the runtime is the loop's watchdog).
844
+ startedAt: metrics.sessionStart,
845
+ sessionAgeSeconds: Math.max(0, Math.floor((Date.now() - metrics.sessionStart) / 1000)),
757
846
  policy: mgr.getPolicyMetrics(session.loopId),
758
847
  },
759
848
  };
@@ -779,13 +868,32 @@ export const TOOL_HANDLERS = {
779
868
  },
780
869
  async loopforge_replay(mgr, input) {
781
870
  const sessionId = String(input.sessionId ?? "");
782
- if (!sessionId)
783
- return { error: "sessionId is required" };
784
- const session = mgr.get(sessionId);
785
- if (!session)
786
- return { error: `session not found: ${sessionId}` };
787
- const timeline = mgr.replayTimeline(sessionId) ?? [];
788
- return { sessionId, loopId: session.loopId, timeline };
871
+ const loopId = String(input.loopId ?? "");
872
+ if (!sessionId && !loopId) {
873
+ return { error: "sessionId or loopId is required — pass loopId to replay a loop after a restart (no live session)" };
874
+ }
875
+ // Live session first: it disambiguates re-used loopIds and the session
876
+ // registry is the cheapest lookup.
877
+ if (sessionId) {
878
+ const session = mgr.get(sessionId);
879
+ if (session) {
880
+ const timeline = mgr.replayTimeline(sessionId) ?? [];
881
+ return { sessionId, loopId: session.loopId, timeline };
882
+ }
883
+ // v3.3.1: session not in memory (restart). Fall through to the vault
884
+ // path when a loopId was also provided; otherwise say so plainly.
885
+ if (!loopId) {
886
+ return { error: `session not found: ${sessionId} (process restarted?) — pass loopId to replay from the vault` };
887
+ }
888
+ }
889
+ // Vault-direct replay — the timeline lives in the committed round
890
+ // documents, not in the session registry.
891
+ const timeline = mgr.replayByLoop(loopId);
892
+ if (!timeline) {
893
+ return { error: `no committed rounds found for loop "${loopId}"` };
894
+ }
895
+ // sessionId omitted on the vault path (its output schema is string-only).
896
+ return { ...(sessionId ? { sessionId } : {}), loopId, timeline };
789
897
  },
790
898
  async loopforge_resume(mgr, input) {
791
899
  const loopId = String(input.loopId ?? "");
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG;IACxB;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,mLAAmL;QACrL,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,qEAAqE;iBACnF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,4DAA4D;iBAC1E;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAkB;oBACxB,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,2DAA2D;iBACzE;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,mEAAmE;iBACjF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,iEAAiE;iBAC/E;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,OAAgB;oBACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oBAClC,WAAW,EAAE,gDAAgD;iBAC9D;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,wRAAwR;QAC1R,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,yCAAyC;iBACvD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,4ZAA4Z;iBAC1a;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,kIAAkI;iBAChJ;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,kNAAkN;oBAC/N,QAAQ,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,CAAC;oBACnF,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,IAAI,EAAE,SAAkB;4BACxB,WAAW,EAAE,mEAAmE;yBACjF;wBACD,cAAc,EAAE;4BACd,IAAI,EAAE,QAAiB;4BACvB,WAAW,EAAE,oFAAoF;yBAClG;wBACD,eAAe,EAAE;4BACf,IAAI,EAAE,SAAkB;4BACxB,WAAW,EAAE,uEAAuE;yBACrF;wBACD,qBAAqB,EAAE;4BACrB,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;4BAClC,WAAW,EAAE,gEAAgE;yBAC9E;wBACD,sBAAsB,EAAE;4BACtB,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;4BAClC,WAAW,EAAE,kDAAkD;yBAChE;wBACD,oBAAoB,EAAE;4BACpB,IAAI,EAAE,QAAiB;4BACvB,WAAW,EAAE,uEAAuE;yBACrF;wBACD,gBAAgB,EAAE;4BAChB,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;4BAClC,WAAW,EAAE,wDAAwD;yBACtE;wBACD,kBAAkB,EAAE;4BAClB,IAAI,EAAE,QAAiB;4BACvB,WAAW,EAAE,mEAAmE;4BAChF,UAAU,EAAE;gCACV,aAAa,EAAE;oCACb,IAAI,EAAE,OAAgB;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oCAClC,WAAW,EAAE,4BAA4B;iCAC1C;gCACD,YAAY,EAAE;oCACZ,IAAI,EAAE,QAAiB;oCACvB,WAAW,EAAE,+BAA+B;oCAC5C,UAAU,EAAE;wCACV,MAAM,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE;wCACzF,MAAM,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE;wCACzF,OAAO,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE;qCAC3F;iCACF;gCACD,oBAAoB,EAAE;oCACpB,IAAI,EAAE,OAAgB;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oCAClC,WAAW,EAAE,wCAAwC;iCACtD;gCACD,0BAA0B,EAAE;oCAC1B,IAAI,EAAE,OAAgB;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oCAClC,WAAW,EAAE,qCAAqC;iCACnD;gCACD,iBAAiB,EAAE;oCACjB,IAAI,EAAE,QAAiB;oCACvB,OAAO,EAAE,CAAC;oCACV,OAAO,EAAE,CAAC;oCACV,WAAW,EAAE,sDAAsD;iCACpE;6BACF;yBACF;wBACD,qBAAqB,EAAE;4BACrB,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;4BAClC,WAAW,EAAE,yDAAyD;yBACvE;wBACD,wBAAwB,EAAE;4BACxB,IAAI,EAAE,OAAgB;4BACtB,WAAW,EAAE,qDAAqD;4BAClE,KAAK,EAAE;gCACL,IAAI,EAAE,QAAiB;gCACvB,UAAU,EAAE;oCACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE;oCACpE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE;iCACpE;6BACF;yBACF;wBACD,iBAAiB,EAAE;4BACjB,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;4BAClC,WAAW,EAAE,gEAAgE;yBAC9E;wBACD,cAAc,EAAE;4BACd,IAAI,EAAE,OAAgB;4BACtB,WAAW,EAAE,iEAAiE;4BAC9E,KAAK,EAAE;gCACL,IAAI,EAAE,QAAiB;gCACvB,UAAU,EAAE;oCACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oCACpC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oCACzC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oCACpC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oCAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE;oCACrC,OAAO,EAAE;wCACP,IAAI,EAAE,QAAiB;wCACvB,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;wCACtC,WAAW,EAAE,6DAA6D;qCAC3E;oCACD,qBAAqB,EAAE;wCACrB,IAAI,EAAE,OAAgB;wCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;qCACnC;iCACF;gCACD,QAAQ,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC;6BAC7E;yBACF;wBACD,sBAAsB,EAAE;4BACtB,IAAI,EAAE,SAAkB;4BACxB,WAAW,EAAE,qLAAqL;yBACnM;wBACD,gBAAgB,EAAE;4BAChB,IAAI,EAAE,QAAiB;4BACvB,WAAW,EAAE,2IAA2I;yBACzJ;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,QAAiB;4BACvB,WAAW,EAAE,gJAAgJ;yBAC9J;wBACD,kBAAkB,EAAE;4BAClB,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;4BAClC,WAAW,EAAE,8GAA8G;yBAC5H;wBACD,gBAAgB,EAAE;4BAChB,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;4BAClC,WAAW,EAAE,8EAA8E;yBAC5F;wBACD,iBAAiB,EAAE;4BACjB,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;4BAClC,WAAW,EAAE,mFAAmF;yBACjG;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,QAAiB;4BACvB,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,mBAAmB,CAAC;4BACjD,WAAW,EAAE,mKAAmK;yBACjL;wBACD,gBAAgB,EAAE;4BAChB,IAAI,EAAE,QAAiB;4BACvB,WAAW,EAAE,+MAA+M;yBAC7N;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,QAAiB;4BACvB,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;4BACjD,WAAW,EAAE,8OAA8O;yBAC5P;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,QAAiB;4BACvB,WAAW,EAAE,uIAAuI;yBACrJ;wBACD,iBAAiB,EAAE;4BACjB,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE;gCACL,IAAI,EAAE,QAAiB;gCACvB,UAAU,EAAE;oCACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,CAAC,EAAE;oCAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;iCACnC;gCACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;gCAC5B,oBAAoB,EAAE,KAAK;6BAC5B;4BACD,WAAW,EAAE,8IAA8I;yBAC5J;wBACD,mBAAmB,EAAE;4BACnB,IAAI,EAAE,QAAiB;4BACvB,WAAW,EAAE,iTAAiT;yBAC/T;wBACD,eAAe,EAAE;4BACf,IAAI,EAAE,QAAiB;4BACvB,WAAW,EAAE,mIAAmI;4BAChJ,UAAU,EAAE;gCACV,SAAS,EAAE;oCACT,IAAI,EAAE,OAAgB;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oCAClC,WAAW,EAAE,8NAA8N;iCAC5O;gCACD,MAAM,EAAE;oCACN,IAAI,EAAE,OAAgB;oCACtB,KAAK,EAAE;wCACL,IAAI,EAAE,QAAiB;wCACvB,IAAI,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAC;qCACvG;oCACD,WAAW,EAAE,2NAA2N;iCACzO;gCACD,gBAAgB,EAAE;oCAChB,IAAI,EAAE,OAAgB;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;oCAClC,WAAW,EAAE,gPAAgP;iCAC9P;6BACF;yBACF;qBACF;iBACF;aACF;YACD,mEAAmE;YACnE,kEAAkE;YAClE,qEAAqE;YACrE,oEAAoE;YACpE,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,iUAAiU;QACnU,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,+DAA+D;iBAC7E;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAiB;oBACvB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;oBACzC,WAAW,EAAE,4CAA4C;iBAC1D;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,+DAA+D;QACjE,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,qBAAqB;iBACnC;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,uOAAuO;QACzO,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,sBAAsB;iBACpC;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,4EAA4E;QAC9E,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,uBAAuB;iBACrC;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,4QAA4Q;QAC9Q,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,qFAAqF;iBACnG;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,0PAA0P;QAC5P,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,sEAAsE;iBACpF;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,8OAA8O;QAChP,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,sCAAsC;iBACpD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,4EAA4E;iBAC1F;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAkB;oBACxB,WAAW,EAAE,0CAA0C;iBACxD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,iDAAiD;iBAC/D;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC;SAC9C;KACF;CACF,CAAC;AAIF,MAAM,qBAAqB,GAAe;IACxC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QACrC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QACpC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QACxC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,8GAA8G,EAAE;QACrK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;QAC3C,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE;QAC3E,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QAC/C,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACtD,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;YACrD,WAAW,EAAE,wEAAwE;SACtF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,IAAI;YAC1B,WAAW,EAAE,gFAAgF;SAC9F;KACF;IACD,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAEF;;;qEAGqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAA+B;IAC7D,eAAe,EAAE,qBAAqB;IACtC,cAAc,EAAE,qBAAqB;IACrC,gBAAgB,EAAE,qBAAqB;IACvC,gBAAgB,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACrC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;YAC7D,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAChE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE;YAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;SACxD;QACD,oBAAoB,EAAE,IAAI;KAC3B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;SACjE;QACD,oBAAoB,EAAE,IAAI;KAC3B;IACD,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B;QACD,oBAAoB,EAAE,IAAI;KAC3B;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE;SACnF;QACD,oBAAoB,EAAE,IAAI;KAC3B;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC1D,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACzD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC9D,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxC;QACD,oBAAoB,EAAE,IAAI;KAC3B;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC9B;QACD,oBAAoB,EAAE,IAAI;KAC3B;CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,MAAkB;IAC5C,MAAM,MAAM,GAAe,EAAE,GAAG,MAAM,EAAE,CAAC;IACzC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBACtD,GAAG;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;aACpD,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7D,GAAG,MAAM;IACT,WAAW,EAAE,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC;IACnD,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;QAChD,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,IAAI;KAC3B;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAwB;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;QAChD,KAAK,SAAS,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;QAClD,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1E,KAAK,SAAS,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5E,KAAK,MAAM,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC;QACnC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,kCAAkC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,MAAkB,EAAE,IAAY;IACtE,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,wBAAwB,CAChC,GAAG,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACxC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;YAC5E,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,IAAI,GAAG,cAAc,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,IAAI,GAAG,iBAAiB,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,IAAI,GAAG,IAAI,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5B,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,KAAmB,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzE,qEAAqE;QACrE,mEAAmE;QACnE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,wBAAwB,CAChC,GAAG,IAAI,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpD,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC1C,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACjE,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACjE,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,KAA8B;IAE9B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,wBAAwB,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC3E,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC;AAED;;;4CAG4C;AAC5C,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,MAA+B;IAE/B,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAQD,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK;QAC9B,MAAM,UAAU,GAAe;YAC7B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,EAAE,KAAK,CAAC,MAA4B;YAC1C,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC5E,MAAM,EAAE,KAAK,CAAC,MAA4B;YAC1C,UAAU,EAAE,KAAK,CAAC,UAAgC;YAClD,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC3C,CAAC,CAAE,KAAK,CAAC,WAAwB;gBACjC,CAAC,CAAC,SAAS;SACd,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5B,OAAO,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;QAC7D,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,iEAAiE;QACjE,kBAAkB;QAClB,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;YAClC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,KAAK,EAAE,mBAAoB,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAClE,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACrC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,sBAAsB,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,UAAiD,CAAC;QACxE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEhF,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAC1D,qEAAqE;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,OAAO,EAAE,KAAK,EAAE,6IAA6I,EAAE,CAAC;QAClK,CAAC;QAED,4DAA4D;QAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5E,mFAAmF;QACnF,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,OAAO,EAAE,KAAK,EAAE,gFAAgF,EAAE,CAAC;QACrG,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAE/E,uEAAuE;QACvE,qDAAqD;QACrD,IAAI,UAAU,GAAmC,IAAI,CAAC;QACtD,IAAI,MAAM,CAAC,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,iBAAiB,KAAK,WAAW;YACjF,MAAM,CAAC,UAAU,KAAK,mBAAmB,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACjF,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,kEAAkE;QAClE,sEAAsE;QACtE,gEAAgE;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO;oBACL,GAAG,MAAM;oBACT,UAAU;oBACV,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrF,SAAS,EAAE,IAAI;iBAChB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAClF,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAE1C,oEAAoE;QACpE,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAClC,CAAC;QAED,oDAAoD;QACpD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;YACnE,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,KAAK,EAAE,iCAAiC,MAAM,GAAG,EAAE,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,8DAA8D;QAC9D,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,MAAM,IAAI,EAAE,KAAK,EAAE,4BAA4B,MAAM,GAAG,EAAE,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;QAE3E,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,SAAS,EAAE,EAAE,CAAC;QAElE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5C,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,YAAY;YAC3B,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,IAAI,IAAI;YAC/C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;YACzC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;YACxC,OAAO,EAAE;gBACP,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC;aAC7C;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAE1D,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,SAAS,EAAE,EAAE,CAAC;QAElE,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;QAC7C,MAAM,iBAAiB,GAAG,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACzD,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAE1D,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,SAAS,EAAE,EAAE,CAAC;QAElE,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,cAAc,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,mBAAoB,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QAClE,CAAC;QAED,uEAAuE;QACvE,uDAAuD;QACvD,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,oCAAoC,MAAM,GAAG,EAAE,CAAC;QAE7E,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAC/D,OAAO,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK;QACrC,OAAO,GAAG,CAAC,WAAW,CACpB,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,EAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAC1B,KAAK,CAAC,QAAQ,KAAK,IAAI,EACvB,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1D,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -26,12 +26,6 @@ export interface PolicyMetricsSnapshot {
26
26
  /** Per-reason breakdown of persistence failures. */
27
27
  vaultWriteReasons: Record<string, number>;
28
28
  levels: Record<string, number>;
29
- strategyEffectiveness: Record<string, {
30
- attempts: number;
31
- successes: number;
32
- rejections: number;
33
- successRate: number;
34
- }>;
35
29
  acceptanceRate: number;
36
30
  evidenceAvailabilityRate: number;
37
31
  }
@@ -46,7 +40,6 @@ export declare class PolicyMetricsCollector {
46
40
  * write path is failing. */
47
41
  recordVaultWriteError(reason: string, loopId?: string): void;
48
42
  recordStrategy(loopId: string, level?: string): void;
49
- recordStrategyOutcome(loopId: string, level: string | undefined, result: RoundProcessResult, replayed?: boolean): void;
50
43
  snapshot(loopId?: string): PolicyMetricsSnapshot;
51
44
  reset(loopId?: string): void;
52
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policy-metrics.d.ts","sourceRoot":"","sources":["../src/policy-metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-metrics.d.ts","sourceRoot":"","sources":["../src/policy-metrics.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAqCD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,OAAO;IAUf,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,UAAQ,GAAG,IAAI;IA6B/E,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,EAC5D,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI;IAYP;;iCAE6B;IAC7B,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAMpD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAKhD,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAQ7B;AAmBD;;;qEAGqE;AACrE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EAAE,GACpB,qBAAqB,CAuBvB;AAED;;;4EAG4E;AAC5E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,qBAAqB,GAC1B,qBAAqB,CAmCvB;AAED,eAAO,MAAM,aAAa,wBAA+B,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAEvE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAExD"}
@@ -1,5 +1,5 @@
1
1
  /** In-process policy effectiveness metrics with no runtime dependency. */
2
- import { isRecord } from "./token-utils.js";
2
+ import { committedRoundsFromEntries } from "./committed-round.js";
3
3
  function empty(loopId) {
4
4
  return {
5
5
  loopId,
@@ -23,7 +23,6 @@ function empty(loopId) {
23
23
  vaultWriteErrors: 0,
24
24
  vaultWriteReasons: {},
25
25
  levels: {},
26
- strategyEffectiveness: {},
27
26
  };
28
27
  }
29
28
  function increment(target, key) {
@@ -51,8 +50,14 @@ export class PolicyMetricsCollector {
51
50
  metric.roundAttempts++;
52
51
  if (result.action === "reject")
53
52
  metric.rejectedAttempts++;
54
- else
53
+ // v3.3.1: only continue/stop decisions commit a round outcome —
54
+ // terminates never commit (v2.14 invariant) and backtracks are
55
+ // roll-back directives whose redo replaces the round document, so
56
+ // neither may inflate committedRounds/acceptanceRate. This mirrors
57
+ // the vault-derived side, which already excludes backtrack entries.
58
+ else if (result.action === "continue" || result.action === "stop") {
55
59
  metric.committedRounds++;
60
+ }
56
61
  if (result.action === "terminate")
57
62
  metric.terminatedRounds++;
58
63
  if (result.action === "stop")
@@ -99,24 +104,6 @@ export class PolicyMetricsCollector {
99
104
  increment(metric.levels, level);
100
105
  }
101
106
  }
102
- recordStrategyOutcome(loopId, level, result, replayed = false) {
103
- if (replayed)
104
- return;
105
- const key = level ?? "unknown";
106
- for (const metric of this.targets(loopId)) {
107
- const current = metric.strategyEffectiveness[key] ?? {
108
- attempts: 0,
109
- successes: 0,
110
- rejections: 0,
111
- };
112
- current.attempts++;
113
- if (result.roundSuccess && result.action !== "reject")
114
- current.successes++;
115
- if (result.action === "reject")
116
- current.rejections++;
117
- metric.strategyEffectiveness[key] = current;
118
- }
119
- }
120
107
  snapshot(loopId) {
121
108
  const source = loopId ? this.loops.get(loopId) ?? empty(loopId) : this.aggregate;
122
109
  return snapshotFrom(source);
@@ -134,20 +121,12 @@ export class PolicyMetricsCollector {
134
121
  function snapshotFrom(source) {
135
122
  const attempts = source.roundAttempts;
136
123
  const evidence = source.evidenceCaptures;
137
- const strategyEffectiveness = {};
138
- for (const [key, value] of Object.entries(source.strategyEffectiveness)) {
139
- strategyEffectiveness[key] = {
140
- ...value,
141
- successRate: value.attempts === 0 ? 0 : value.successes / value.attempts,
142
- };
143
- }
144
124
  return {
145
125
  ...source,
146
126
  verificationFlags: { ...source.verificationFlags },
147
127
  enforcementReasons: { ...source.enforcementReasons },
148
128
  evidenceOutcomesByProvider: { ...source.evidenceOutcomesByProvider },
149
129
  levels: { ...source.levels },
150
- strategyEffectiveness,
151
130
  acceptanceRate: attempts === 0 ? 0 : source.committedRounds / attempts,
152
131
  evidenceAvailabilityRate: evidence === 0 ? 0 : source.evidenceAvailable / evidence,
153
132
  // evidenceLatencyMs is a raw sum; derive the average for consumers
@@ -160,25 +139,12 @@ function snapshotFrom(source) {
160
139
  * restarted process reports nonzero metrics for persisted loops. */
161
140
  export function derivePolicyMetrics(loopId, entries) {
162
141
  const metric = empty(loopId);
163
- for (const entry of entries) {
164
- const taskId = String(entry.task_id ?? "");
165
- if (!taskId.startsWith(`loop:${loopId}:r`) || !taskId.endsWith(":feedback"))
166
- continue;
167
- if (!isRecord(entry.loop_lineage))
168
- continue;
169
- const transaction = entry.loop_lineage.round_transaction;
170
- if (!isRecord(transaction) || !isRecord(transaction.snapshot))
142
+ for (const round of committedRoundsFromEntries(entries)) {
143
+ if (round.loopId !== loopId)
171
144
  continue;
172
- const snapshot = transaction.snapshot;
173
- const result = isRecord(snapshot.result) ? snapshot.result : null;
145
+ const result = round.result;
174
146
  if (!result)
175
147
  continue;
176
- // v2.14: rounds committed with action="backtrack" were rolled back and
177
- // are not part of the loop's committed progress — exclude them from
178
- // committed-round statistics (their redo, when it commits, replaces
179
- // the same round document).
180
- if (result.action === "backtrack")
181
- continue;
182
148
  metric.roundAttempts++;
183
149
  metric.committedRounds++;
184
150
  if (result.action === "stop")
@@ -189,19 +155,14 @@ export function derivePolicyMetrics(loopId, entries) {
189
155
  metric.successfulRounds++;
190
156
  if (result.gateContradicted === true)
191
157
  metric.contradictedRounds++;
192
- if (Array.isArray(result.verificationFlags)) {
193
- for (const flag of result.verificationFlags) {
194
- if (isRecord(flag) && typeof flag.check === "string") {
195
- increment(metric.verificationFlags, flag.check);
196
- }
197
- }
158
+ for (const flag of round.verificationFlags) {
159
+ increment(metric.verificationFlags, flag.check);
198
160
  }
199
161
  if (typeof result.enforcementReason === "string" && result.enforcementReason.length > 0) {
200
162
  increment(metric.enforcementReasons, result.enforcementReason);
201
163
  }
202
- const artifact = isRecord(snapshot.promptArtifact) ? snapshot.promptArtifact : null;
203
- if (artifact && typeof artifact.level === "string") {
204
- increment(metric.levels, artifact.level);
164
+ if (round.promptArtifact?.level) {
165
+ increment(metric.levels, round.promptArtifact.level);
205
166
  }
206
167
  }
207
168
  return snapshotFrom(metric);
@@ -242,7 +203,6 @@ export function mergePolicyMetrics(derived, live) {
242
203
  vaultWriteErrors: live.vaultWriteErrors,
243
204
  vaultWriteReasons: { ...live.vaultWriteReasons },
244
205
  levels: { ...derived.levels },
245
- strategyEffectiveness: { ...derived.strategyEffectiveness },
246
206
  };
247
207
  return snapshotFrom(merged);
248
208
  }