@backendkit-labs/agent-core 0.20.1 → 0.21.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 (43) hide show
  1. package/README.md +3 -0
  2. package/dist/commands/SlashCommandRegistry.d.ts +7 -2
  3. package/dist/commands/SlashCommandRegistry.d.ts.map +1 -1
  4. package/dist/commands/SlashCommandRegistry.js.map +1 -1
  5. package/dist/commands/builtin.js +4 -4
  6. package/dist/commands/builtin.js.map +1 -1
  7. package/dist/delegation/DelegationBus.d.ts +15 -7
  8. package/dist/delegation/DelegationBus.d.ts.map +1 -1
  9. package/dist/delegation/DelegationBus.js +33 -12
  10. package/dist/delegation/DelegationBus.js.map +1 -1
  11. package/dist/engine/AgentEngine.d.ts +9 -45
  12. package/dist/engine/AgentEngine.d.ts.map +1 -1
  13. package/dist/engine/AgentEngine.js +130 -432
  14. package/dist/engine/AgentEngine.js.map +1 -1
  15. package/dist/engine/ApprovalGate.d.ts +33 -0
  16. package/dist/engine/ApprovalGate.d.ts.map +1 -0
  17. package/dist/engine/ApprovalGate.js +76 -0
  18. package/dist/engine/ApprovalGate.js.map +1 -0
  19. package/dist/engine/AuditLogger.d.ts +14 -0
  20. package/dist/engine/AuditLogger.d.ts.map +1 -0
  21. package/dist/engine/AuditLogger.js +34 -0
  22. package/dist/engine/AuditLogger.js.map +1 -0
  23. package/dist/engine/HistoryManager.d.ts +42 -0
  24. package/dist/engine/HistoryManager.d.ts.map +1 -0
  25. package/dist/engine/HistoryManager.js +156 -0
  26. package/dist/engine/HistoryManager.js.map +1 -0
  27. package/dist/engine/MCPRegistrar.d.ts +44 -0
  28. package/dist/engine/MCPRegistrar.d.ts.map +1 -0
  29. package/dist/engine/MCPRegistrar.js +209 -0
  30. package/dist/engine/MCPRegistrar.js.map +1 -0
  31. package/dist/engine/qa-orchestrator.js +2 -2
  32. package/dist/engine/qa-orchestrator.js.map +1 -1
  33. package/dist/mcp/MCPClientManager.d.ts +7 -0
  34. package/dist/mcp/MCPClientManager.d.ts.map +1 -1
  35. package/dist/mcp/MCPClientManager.js +38 -7
  36. package/dist/mcp/MCPClientManager.js.map +1 -1
  37. package/dist/qa/qa-service.d.ts.map +1 -1
  38. package/dist/qa/qa-service.js +43 -34
  39. package/dist/qa/qa-service.js.map +1 -1
  40. package/dist/reflection/lessons-memo-generator.d.ts +1 -1
  41. package/dist/reflection/lessons-memo-generator.js +64 -64
  42. package/dist/reflection/lessons-memo-generator.js.map +1 -1
  43. package/package.json +87 -87
package/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # @backendkit-labs/agent-core
2
2
 
3
+ **Status: core** — required for the enterprise story; changes go through full review.
4
+ See the [subsystem matrix](../../README.md#backendkit-labsagent-core-subsystem-matrix) for per-subsystem status (`qa`, `reflection`, `agent-memory`, `observability`, `triggers` are **experimental** and frozen during the pilot).
5
+
3
6
  Generic multi-agent engine for TypeScript — model-agnostic, transport-agnostic, extensible.
4
7
 
5
8
  ```bash
@@ -30,8 +30,13 @@ export interface CommandContext {
30
30
  appName?: string;
31
31
  /** Inject a message into the agent's active context window. */
32
32
  injectContext?: (message: string) => void;
33
- /** Called by /workspace switch when the active project changes. App handles the actual cwd/engine reload. */
34
- onCwdChange?: (cwd: string) => void;
33
+ /**
34
+ * Called by /workspace switch when the active project changes.
35
+ * Second argument carries the workspace context message so the engine can
36
+ * inject it into the conversation history automatically — hosts that use
37
+ * getCommandBindings() get this for free without wiring injectContext.
38
+ */
39
+ onCwdChange?: (cwd: string, contextMessage?: string) => void;
35
40
  /** Run the LLM engine with a given prompt. Used by commands that need AI interpretation (e.g. /help). */
36
41
  runEngine?: (prompt: string) => Promise<void>;
37
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SlashCommandRegistry.d.ts","sourceRoot":"","sources":["../../src/commands/SlashCommandRegistry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,6GAA6G;IAC7G,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,yGAAyG;IACzG,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzG,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,cAAc,KAAK,IAAI,CAAC;IAC3E,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,aAAa,GAAG,MAAM,GAAG,cAAc,CAAC;IACjE,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACtG,8CAA8C;IAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C;;;OAGG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzE,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,mBAAmB,CAAC;CAChC;AAID,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAK/E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B,uEAAuE;IACvE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIjC;;;OAGG;IACG,QAAQ,CACV,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,CAAC,GAC/C,OAAO,CAAC,OAAO,CAAC;IASnB,MAAM,IAAI,YAAY,EAAE;IAIxB,OAAO,CAAC,SAAS;CAGpB"}
1
+ {"version":3,"file":"SlashCommandRegistry.d.ts","sourceRoot":"","sources":["../../src/commands/SlashCommandRegistry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlashCommandRegistry.js","sourceRoot":"","sources":["../../src/commands/SlashCommandRegistry.ts"],"names":[],"mappings":";AAAA,iFAAiF;;;AAkFjF,iFAAiF;AAEjF,MAAa,oBAAoB;IACZ,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE5D,QAAQ,CAAC,IAAY,EAAE,WAAmB,EAAE,OAA4B;QACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uEAAuE;IACvE,SAAS,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CACV,KAAa,EACb,GAA8C;QAE9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAEO,SAAS,CAAC,KAAa;QAC3B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;CACJ;AAzCD,oDAyCC"}
1
+ {"version":3,"file":"SlashCommandRegistry.js","sourceRoot":"","sources":["../../src/commands/SlashCommandRegistry.ts"],"names":[],"mappings":";AAAA,iFAAiF;;;AAuFjF,iFAAiF;AAEjF,MAAa,oBAAoB;IACZ,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE5D,QAAQ,CAAC,IAAY,EAAE,WAAmB,EAAE,OAA4B;QACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uEAAuE;IACvE,SAAS,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CACV,KAAa,EACb,GAA8C;QAE9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAEO,SAAS,CAAC,KAAa;QAC3B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;CACJ;AAzCD,oDAyCC"}
@@ -59,14 +59,14 @@ async function doSwitch(wsName, projectName, config, appName, emit, injectContex
59
59
  // Persist the new active state
60
60
  const updated = (0, workspace_1.setActiveProject)(config, wsName, target.name);
61
61
  await (0, workspace_1.saveWorkspaces)(appName, updated);
62
- // Inject workspace context into agent memory
62
+ // Build workspace context once passed to both injectContext (host) and
63
+ // onCwdChange (engine bindings) so the inject is guaranteed even when the
64
+ // host overrides injectContext with its own pendingContext mechanism.
63
65
  const context = await (0, workspace_1.buildWorkspaceContext)(wsName, updated[wsName], appName);
64
66
  injectContext?.(context);
65
67
  if (onCwdChange) {
66
- // When commonRoot is set, move to the shared root so the agent can
67
- // access all projects in the workspace without switching again.
68
68
  const effectiveCwd = ws.commonRoot ?? target.cwd;
69
- onCwdChange(effectiveCwd);
69
+ onCwdChange(effectiveCwd, context);
70
70
  const rootNote = ws.commonRoot ? ` (shared root: ${ws.commonRoot})` : '';
71
71
  emit(`Switched to workspace "${wsName}" — project: ${target.name}${rootNote}`);
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/commands/builtin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/commands/builtin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA,0DAw0BC;AAj5BD,gDAAkC;AAClC,2CAA6B;AAC7B,iDAAsC;AACtC,oDAAoD;AAEpD,+CAAuD;AACvD,6DAAwD;AACxD,6DAA8D;AAC9D,+DAA2D;AAC3D,8CAMuB;AACvB,4CAasB;AAEtB,iFAAiF;AAEjF,KAAK,UAAU,QAAQ,CACnB,MAAc,EACd,WAAmB,EACnB,MAA+C,EAC/C,OAAe,EACf,IAA4B,EAC5B,aAAyC,EACzC,WAA4D;IAE5D,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;QAAC,IAAI,CAAC,cAAc,MAAM,cAAc,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,YAAY,WAAW,6BAA6B,MAAM,IAAI,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAE9F,+BAA+B;IAC/B,MAAM,OAAO,GAAG,IAAA,4BAAgB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,IAAA,0BAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEvC,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAE,EAAE,OAAO,CAAC,CAAC;IAC/E,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;IAEzB,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC;QACjD,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,0BAA0B,MAAM,gBAAgB,MAAM,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,cAAc,MAAM,uBAAuB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;IACnF,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,QAA8B;IAClE,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,oCAAoC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7E,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAEpC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC/B,MAAM,IAAI,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YAChE,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,mBAAmB,QAAQ,GAAG,CAAC,CAAC;gBACzC,OAAO;YACX,CAAC;YACD,kEAAkE;YAClE,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC7B,MAAM,IAAI,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,OAAO,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;YAC5D,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CACJ,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3C,qFAAqF,CACxF,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,8EAA8E,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACvH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAErB,wEAAwE;QACxE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,GAAG,CAAC,IAAI,CACJ,yCAAyC;oBACzC,kDAAkD;oBAClD,mDAAmD;oBACnD,6DAA6D;oBAC7D,2DAA2D,CAC9D,CAAC;gBACF,OAAO;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,UAAU,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAA,4BAAkB,EAAC,OAAO,CAAC,CAAC;YAE5C,IAAI,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,2BAA2B,MAAM,GAAG,CAAC,CAAC;gBAC/C,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC1B,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU;iBACpD,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC/C,MAAM,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC3B,GAAG,CAAC,IAAI,CAAC,6BAA6B,KAAK,IAAI,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,wBAAyB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO;QACX,CAAC;QAED,wEAAwE;QACxE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,GAAG,CAAC,IAAI,CACJ,2CAA2C;oBAC3C,oEAAoE;oBACpE,wEAAwE;oBACxE,wEAAwE,CAC3E,CAAC;gBACF,OAAO;YACX,CAAC;YACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;gBACzF,OAAO;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,UAAU,CAAC;YAC1C,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,GAAG,CAAC,UAAU;gBACnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,6BAAe,EAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;YAE9C,MAAM,MAAM,GAAG,MAAM,IAAA,YAAG,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpD,IAAI,IAAA,aAAI,EAAC,MAAM,CAAC,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC;gBAC9D,OAAO;YACX,CAAC;YAED,MAAM,QAAQ,GAAG;gBACb,KAAK;gBACL,SAAS,IAAI,EAAE;gBACf,gBAAgB;gBAChB,eAAe;gBACf,WAAW;gBACX,MAAM;gBACN,KAAK;gBACL,EAAE;gBACF,EAAE;aACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,IAAA,0BAAW,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YACxC,OAAO;QACX,CAAC;QAED,wEAAwE;QACxE,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CACJ,kDAAkD;oBAClD,2DAA2D;oBAC3D,kEAAkE,CACrE,CAAC;gBACF,OAAO;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CACJ,yCAAyC;oBACzC,8DAA8D,CACjE,CAAC;gBACF,OAAO;YACX,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,UAAU,CAAC;YAC1C,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,GAAG,CAAC,UAAU;gBACnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,6BAAe,EAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAE1C,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC7B,MAAM,MAAM,GACR,8DAA8D;gBAC9D,mFAAmF;gBACnF,oBAAoB;gBACpB,OAAO;gBACP,wCAAwC;gBACxC,kBAAkB;gBAClB,mCAAmC;gBACnC,aAAa;gBACb,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,SAAS;gBACT,mDAAmD;gBACnD,iBAAiB,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;YAElD,IAAI,EAAU,CAAC;YACf,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,4BAA6B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAA,6BAAY,EAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CACJ,wDAAwD;oBACxD,8DAA8D,CACjE,CAAC;gBACF,OAAO;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,IAAA,YAAG,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpD,IAAI,IAAA,aAAI,EAAC,MAAM,CAAC,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC;gBAC9D,OAAO;YACX,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,IAAA,0BAAW,EAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChC,MAAM,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,eAAe,QAAQ,EAAE,CAAC,CAAC;YAC1D,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,UAAU,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAA,4BAAkB,EAAC,OAAO,CAAC,CAAC;YAE5C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;oBACnF,OAAO;gBACX,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC5B,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC5D,KAAK,EAAE,CAAC,CAAC,IAAI;qBAChB,CAAC,CAAC,CAAC;oBACJ,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;oBAChF,IAAI,CAAC,QAAQ;wBAAE,OAAO;oBACtB,IAAI,CAAC;wBACD,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAClC,GAAG,CAAC,IAAI,CAAC,WAAW,QAAQ,iBAAiB,CAAC,CAAC;oBACnD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACX,GAAG,CAAC,IAAI,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACxB,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClD,CAAC;oBACF,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,mCAAmC,CAAC,CAAC;gBAC7F,CAAC;gBACD,OAAO;YACX,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,iBAAiB,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,UAAU,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAA,4BAAkB,EAAC,OAAO,CAAC,CAAC;YAE5C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;oBACnF,OAAO;gBACX,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC5B,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;wBACtE,KAAK,EAAE,CAAC,CAAC,IAAI;qBAChB,CAAC,CAAC,CAAC;oBACJ,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;oBAC/E,IAAI,CAAC,QAAQ;wBAAE,OAAO;oBACtB,IAAI,CAAC;wBACD,GAAG,CAAC,IAAI,CAAC,iBAAiB,QAAQ,IAAI,CAAC,CAAC;wBACxC,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAC/B,GAAG,CAAC,IAAI,CAAC,WAAW,QAAQ,mDAAmD,CAAC,CAAC;oBACrF,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACX,GAAG,CAAC,IAAI,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACxB,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CACpE,CAAC;oBACF,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gCAAgC,CAAC,CAAC;gBAC1F,CAAC;gBACD,OAAO;YACX,CAAC;YAED,IAAI,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC;gBACpC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,mDAAmD,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACrD,OAAO;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC/B,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACjC,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,MAAM,gBAAgB,GAClB,4EAA4E,CAAC;QAEjF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,CAAC;YACnD,OAAO;QACX,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;gBAC9C,KAAK,EAAE,CAAC,CAAC,IAAI;aAChB,CAAC,CAAC,CAAC;YACJ,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBACrD,GAAG,OAAO;gBACV,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE;aAC5D,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACpC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACvB,GAAG,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;gBAC/F,CAAC;gBACD,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACxD,IAAI,KAAK,EAAE,CAAC;gBACR,GAAG,CAAC,IAAI,CAAC;oBACL,UAAU,KAAK,CAAC,IAAI,EAAE;oBACtB,gBAAgB,KAAK,CAAC,WAAW,EAAE;oBACnC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBACrE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBACvE,UAAU,KAAK,CAAC,KAAK,IAAI,GAAG,EAAE;iBACjC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC7B,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CACzF,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAChE,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACvE,GAAG,CAAC,IAAI,CAAC;YACL,eAAe,GAAG,CAAC,gBAAgB,IAAI,GAAG,EAAE;YAC5C,eAAe,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE;YACjC,eAAe,GAAG,CAAC,gBAAgB,EAAE,EAAE,IAAI,GAAG,EAAE;SACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,mCAAmC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAE/E,MAAM,KAAK,GAA+D;YACtE,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,4DAA4D,EAAE;YACzH,EAAE,KAAK,EAAE,MAAM,EAAS,KAAK,EAAE,MAAM,EAAS,WAAW,EAAE,qDAAqD,EAAE;YAClH,EAAE,KAAK,EAAE,cAAc,EAAC,KAAK,EAAE,cAAc,EAAC,WAAW,EAAE,yDAAyD,EAAE;SACzH,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAEzC,kFAAkF;QAClF,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAU,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,+CAA+C,CAAC,CAAC;YAClF,CAAC;YACD,OAAO;QACX,CAAC;QAED,iDAAiD;QACjD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAC7B,4BAA4B,OAAO,IAAI,GAAG,IAAI,EAC9C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACZ,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;gBAC/C,KAAK,EAAE,CAAC,CAAC,KAAK;aACjB,CAAC,CAAC,CACN,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACX,GAAG,CAAC,gBAAgB,EAAE,CAAC,QAAgB,CAAC,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACxB,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CACnF,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,4BAA4B,OAAO,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACtH,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,iCAAiC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAErE,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAErB,wEAAwE;QACxE,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CACA,qCAAqC;oBACrC,yBAAyB;oBACzB,kEAAkE;oBAClE,uEAAuE;oBACvE,qFAAqF;oBACrF,8EAA8E;oBAC9E,0FAA0F;oBAC1F,0EAA0E;oBAC1E,+DAA+D;oBAC/D,4DAA4D,CAC/D,CAAC;gBACF,OAAO;YACX,CAAC;YAEG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBACrB,2EAA2E;gBAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACnC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAE,CAAC;oBAC3B,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACzB,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC1E,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE;qBAChC,CAAC,CAAC,CAAC;gBACR,CAAC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;gBAC7E,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBACtB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,GAAG,KAAK,SAAS,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;gBAC5G,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACxB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ;qBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;qBACvD,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;gBAC7B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,IAAI,CACA,qCAAqC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM;gBACjE,aAAa;gBACb,4DAA4D;gBAC5D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,2DAA2D;gBAC3D,kFAAkF;gBAClF,4DAA4D;gBAC5D,6DAA6D,CAChE,CAAC;YACF,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,IAAI,mBAAmB,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC1E,MAAM,IAAA,0BAAc,EAAC,OAAO,EAAE,IAAA,2BAAe,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,CAAC;YACrC,OAAO;QACX,CAAC;QAED,wEAAwE;QACxE,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACxF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,WAAW,IAAI,IAAA,6BAAiB,EAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,IAAA,0BAAc,EAAC,OAAO,EAAE,IAAA,sBAAU,EACpC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,2BAAe,EAAC,MAAM,EAAE,MAAM,CAAC,EACzD,MAAM,EACN,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,CAC7B,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,IAAI,mBAAmB,MAAM,cAAc,WAAW,EAAE,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,UAAW,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;YACvD,OAAO;QACX,CAAC;QAED,wEAAwE;QACxE,mFAAmF;QACnF,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;gBAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAChF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,WAAW,IAAI,IAAA,6BAAiB,EAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,EAAE,GAAK,MAAM,IAAI,IAAI,CAAC;YAC5B,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,IAAA,0BAAc,EAAC,OAAO,EAAE,IAAA,yBAAa,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBACrF,IAAI,CAAC,aAAa,IAAI,qBAAqB,EAAE,cAAc,WAAW,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,UAAW,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;YACvD,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAChG,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,MAAM,cAAc,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC1E,IAAI,CAAC;gBACD,MAAM,IAAA,0BAAc,EAAC,OAAO,EAAE,IAAA,yBAAa,EAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,YAAY,WAAW,qBAAqB,MAAM,IAAI,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,UAAW,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;YACvD,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACtE,MAAM,IAAA,0BAAc,EAAC,OAAO,EAAE,IAAA,2BAAe,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,CAAC;YACrC,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;YAE7C,4CAA4C;YAC5C,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAE,CAAC;oBACvB,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACzB,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBACtE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE;qBAC5B,CAAC,CAAC,CAAC;gBACR,CAAC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBACtB,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;gBACrF,OAAO;YACX,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAChF,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,MAAM,cAAc,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC9D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,MAAM,oBAAoB,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEpF,MAAM,MAAM,GAAG,WAAW;gBACtB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;gBAC/C,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtE,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,YAAY,WAAW,6BAA6B,MAAM,IAAI,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC9F,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;YACvF,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,yDAAyD;QACzD,0EAA0E;QAC1E,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC/E,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,MAAM,cAAc,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC9D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,MAAM,oBAAoB,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,QAAQ;gBACjB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACxB,CAAC,CAAC,IAAA,4BAAgB,EAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpD,MAAM,IAAA,0BAAc,EAAC,OAAO,EAAE,IAAA,yBAAa,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,cAAc,MAAM,yBAAyB,IAAI,uDAAuD,CAAC,CAAC;YAC/G,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,QAAQ;YACR,mBAAmB;YACnB,4BAA4B;YAC5B,2CAA2C;YAC3C,8CAA8C;YAC9C,2CAA2C;YAC3C,4BAA4B;YAC5B,2CAA2C;YAC3C,uFAAuF;SAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,0CAA0C,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACvF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAElE,mBAAmB;QACnB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAe,EAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAA,iCAAoB,EAAC,GAAG,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBAC/D,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrD,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;YACvE,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvB,OAAO;QACX,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAe,EAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAE3D,IAAI,KAAK,GAAG,MAAM;gBACd,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACtE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;YAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,IAAI,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEhE,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAc,EAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,OAAO,GAAG,IAAA,yCAA4B,EAAC,GAAG,CAAC,CAAC;gBAClD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC;gBACzC,aAAa,EAAE,CAAC,kBAAkB,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,WAAW,QAAQ,OAAO,EAAE,CAAC,CAAC;gBACxF,IAAI,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,OAAO;QACX,CAAC;QAED,8CAA8C;QAC9C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAgB,EAAC,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,WAAW,IAAI,WAAW,CAAC;QACzC,IAAI,CAAC,qBAAqB,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,6CAA6C,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACtF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,IAAI,UAAU,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAA,6BAAe,EAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;QAElE,sEAAsE;QACtE,MAAM,kBAAkB,GAA2B;YAC/C,QAAQ,EAAG,6BAA6B;YACxC,MAAM,EAAK,2BAA2B;YACtC,SAAS,EAAE,8BAA8B;SAC5C,CAAC;QAWF,MAAM,aAAa,GAAgC;YAC/C,MAAM,EAAE;gBACJ,GAAG,EAAE,+BAA+B;gBACpC,WAAW,EAAE,mCAAmC;gBAChD,MAAM,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,2BAA2B,EAAE;gBACpG,QAAQ,EAAE,aAAa;aAC1B;YACD,GAAG,EAAE;gBACD,GAAG,EAAE,4BAA4B;gBACjC,WAAW,EAAE,wCAAwC;gBACrD,MAAM,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,2BAA2B,EAAE;gBACpG,QAAQ,EAAE,aAAa;aAC1B;SACJ,CAAC;QAOF,MAAM,UAAU,GAAG,KAAK,IAAwB,EAAE;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAA,YAAG,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,IAAA,aAAI,EAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAc,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,EAAE,CAAC;YAAC,CAAC;QAC9E,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,EAAE,GAAc,EAAiB,EAAE;YACxD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAA,0BAAW,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAErB,wEAAwE;QACxE,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;qBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;qBACpE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,4CAA4C,KAAK,EAAE,CAAC,CAAC;gBAC1D,OAAO;YACX,CAAC;YAED,oEAAoE;YACpE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACzB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnC,MAAM,GAAG,GAAM,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC7C,MAAM,KAAK,GAAI,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;oBACjF,OAAO,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC;gBACnD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC3G,CAAC;iBAAM,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpF,IAAI,CAAC,oBAAoB,MAAM,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACnH,CAAC;YACD,OAAO;QACX,CAAC;QAED,wEAAwE;QACxE,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,EAAE,EAAE,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;qBACrC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;qBAChE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;gBAC7D,OAAO;YACX,CAAC;YACD,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,GAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC;YAE9E,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;gBACzC,OAAO;YACX,CAAC;YAED,yEAAyE;YACzE,4EAA4E;YAC5E,yDAAyD;YACzD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAA,6BAAe,EAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACnE,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE/C,IAAI,CAAC,cAAc,MAAM,+BAA+B,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;gBAC5D,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE;oBACtE,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,SAAS;iBACnB,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YACH,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;gBACjD,OAAO;YACX,CAAC;YAED,kDAAkD;YAClD,MAAM,aAAa,GAAG,MAAM,IAAA,YAAG,EAAC,GAAG,EAAE,CACjC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CACrF,CAAC;YACF,IAAI,CAAC,IAAA,aAAI,EAAC,aAAa,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;gBACrD,OAAO;YACX,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAsB,CAAC;YACrE,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,IAAI,eAAe,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YAElF,iEAAiE;YACjE,sEAAsE;YACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAC;YACjD,MAAM,OAAO,GAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAE,CAAC;YAC/E,MAAM,KAAK,GAAM,KAAK,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,QAAQ,IAAI,aAAa,CAAC;YAC/E,MAAM,SAAS,GAA2B;gBACtC,YAAY,EAAE,QAAQ;gBACtB,YAAY,EAAE,OAAO;gBACrB,SAAS,EAAK,KAAK;aACtB,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/E,MAAM,WAAW,CAAC,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,aAAa,IAAI,gBAAgB,QAAQ,MAAM,KAAK,wCAAwC,CAAC,CAAC;YACnG,OAAO;QACX,CAAC;QAED,yEAAyE;QACzE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;YAEpC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;gBACrD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACpD,MAAM,WAAW,CAAC,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjD,qEAAqE;gBACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAA,6BAAe,EAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBACrE,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,aAAa,MAAM,yDAAyD,CAAC,CAAC;YACvF,CAAC,CAAC;YAEF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAChE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;oBAC9E,IAAI,CAAC,QAAQ;wBAAE,OAAO;oBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;wBAAC,IAAI,CAAC,WAAW,QAAQ,kBAAkB,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBACpG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,0CAA0C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzF,CAAC;gBACD,OAAO;YACX,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC5F,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,11 +1,19 @@
1
1
  import type { AgentRegistry } from '../engine/AgentRegistry';
2
- import type { ToolRegistry } from '../engine/ToolRegistry';
2
+ import type { AgentEvent } from '../types';
3
3
  import type { Transport } from '../transport/Transport';
4
4
  export interface DelegationRequest {
5
5
  agentId: string;
6
6
  question: string;
7
7
  context?: string;
8
8
  relevantFiles?: string[];
9
+ /** ID of the agent that initiated this delegation. Used for agent_switch events. */
10
+ fromAgentId?: string;
11
+ /**
12
+ * Nesting depth of this delegation (0 = top-level from run(), 1+ = called from a tool).
13
+ * Nested calls skip the bulkhead semaphore to prevent starvation when all top-level
14
+ * slots are occupied by agents that are themselves waiting for nested delegations.
15
+ */
16
+ depth?: number;
9
17
  }
10
18
  export interface DelegationResult {
11
19
  agentId: string;
@@ -18,10 +26,8 @@ export interface DelegationResult {
18
26
  export interface DelegationBusOptions {
19
27
  maxParallel?: number;
20
28
  agents: AgentRegistry;
21
- tools: ToolRegistry;
22
29
  transport: Transport;
23
- workingDir?: string;
24
- runAgent(agentId: string, question: string, context?: string): Promise<DelegationResult>;
30
+ runAgent(agentId: string, question: string, context?: string, depth?: number, outputBuffer?: AgentEvent[]): Promise<DelegationResult>;
25
31
  }
26
32
  export declare class DelegationBus {
27
33
  private readonly opts;
@@ -30,11 +36,13 @@ export declare class DelegationBus {
30
36
  /**
31
37
  * Runs all requests concurrently, bounded by the bulkhead semaphore.
32
38
  *
33
- * Unlike the previous wave-based approach, slots free up immediately as
34
- * individual agents finish no waiting for the whole wave to complete.
39
+ * Each agent's output events (tokens, tool calls, etc.) are buffered while running
40
+ * in parallel. As each agent finishes, its buffered events are flushed to the
41
+ * real transport atomically — preventing interleaved output from different agents.
42
+ * `agent_switch` and system events always pass through in real-time.
35
43
  */
36
44
  runParallel(requests: DelegationRequest[]): Promise<DelegationResult[]>;
37
- runSingle(request: DelegationRequest): Promise<DelegationResult>;
45
+ runSingle(request: DelegationRequest, outputBuffer?: AgentEvent[]): Promise<DelegationResult>;
38
46
  getBulkheadMetrics(): import("@backendkit-labs/bulkhead").BulkheadMetrics;
39
47
  }
40
48
  //# sourceMappingURL=DelegationBus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DelegationBus.d.ts","sourceRoot":"","sources":["../../src/delegation/DelegationBus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC5F;AAED,qBAAa,aAAa;IAGV,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAEP,IAAI,EAAE,oBAAoB;IAUvD;;;;;OAKG;IACG,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIvE,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyCtE,kBAAkB;CAGrB"}
1
+ {"version":3,"file":"DelegationBus.d.ts","sourceRoot":"","sources":["../../src/delegation/DelegationBus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CACJ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,UAAU,EAAE,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChC;AAED,qBAAa,aAAa;IAGV,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAEP,IAAI,EAAE,oBAAoB;IAUvD;;;;;;;OAOG;IACG,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAgBvE,SAAS,CAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiDnG,kBAAkB;CAGrB"}
@@ -18,13 +18,25 @@ class DelegationBus {
18
18
  /**
19
19
  * Runs all requests concurrently, bounded by the bulkhead semaphore.
20
20
  *
21
- * Unlike the previous wave-based approach, slots free up immediately as
22
- * individual agents finish no waiting for the whole wave to complete.
21
+ * Each agent's output events (tokens, tool calls, etc.) are buffered while running
22
+ * in parallel. As each agent finishes, its buffered events are flushed to the
23
+ * real transport atomically — preventing interleaved output from different agents.
24
+ * `agent_switch` and system events always pass through in real-time.
23
25
  */
24
26
  async runParallel(requests) {
25
- return Promise.all(requests.map(req => this.runSingle(req)));
27
+ const results = new Array(requests.length);
28
+ await Promise.all(requests.map(async (req, i) => {
29
+ const outputBuffer = [];
30
+ results[i] = await this.runSingle(req, outputBuffer);
31
+ // Flush this agent's buffered output atomically once it finishes.
32
+ // Other agents may still be running — their output hasn't flushed yet.
33
+ for (const event of outputBuffer) {
34
+ this.opts.transport.emit(event);
35
+ }
36
+ }));
37
+ return results;
26
38
  }
27
- async runSingle(request) {
39
+ async runSingle(request, outputBuffer) {
28
40
  const profile = this.opts.agents.get(request.agentId);
29
41
  if (!profile) {
30
42
  return {
@@ -36,15 +48,24 @@ class DelegationBus {
36
48
  error: 'agent_not_found',
37
49
  };
38
50
  }
39
- this.opts.transport.emit({
40
- type: 'agent_switch',
41
- from: 'orchestrator',
42
- to: profile.id,
43
- to_name: profile.name,
44
- to_icon: profile.icon,
45
- });
51
+ const { depth = 0 } = request;
52
+ const execute = () => {
53
+ // agent_switch always goes to the real transport — it tells the renderer
54
+ // that this agent has started, even while its output is buffered.
55
+ this.opts.transport.emit({
56
+ type: 'agent_switch',
57
+ from: request.fromAgentId ?? 'orchestrator',
58
+ to: profile.id,
59
+ to_name: profile.name,
60
+ to_icon: profile.icon,
61
+ });
62
+ return this.opts.runAgent(request.agentId, request.question, request.context, depth, outputBuffer);
63
+ };
46
64
  try {
47
- return await this.bulkhead.execute(() => this.opts.runAgent(request.agentId, request.question, request.context));
65
+ // Nested delegations (depth > 0) skip the bulkhead to prevent starvation.
66
+ return depth > 0
67
+ ? await execute()
68
+ : await this.bulkhead.execute(execute);
48
69
  }
49
70
  catch (err) {
50
71
  const message = err instanceof bulkhead_1.BulkheadRejectedError ? 'Delegation rejected: queue is full' :
@@ -1 +1 @@
1
- {"version":3,"file":"DelegationBus.js","sourceRoot":"","sources":["../../src/delegation/DelegationBus.ts"],"names":[],"mappings":";;;AAAA,wDAAkG;AA8BlG,MAAa,aAAa;IAGO;IAFZ,QAAQ,CAAW;IAEpC,YAA6B,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC;YACzB,IAAI,EAAE,gBAAgB;YACtB,kBAAkB,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;YACzC,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,OAAO,EAAE,kCAAkC;YAC3D,cAAc,EAAE,KAAK;SACxB,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,QAA6B;QAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAA0B;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;gBACH,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,UAAU,OAAO,CAAC,OAAO,yBAAyB;gBAC3D,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE,iBAAiB;aAC3B,CAAC;QACN,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,OAAO,EAAE,OAAO,CAAC,IAAI;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAC/E,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,OAAO,GACT,GAAG,YAAY,gCAAqB,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;gBAC7E,GAAG,YAAY,+BAAoB,CAAE,CAAC,CAAC,+BAA+B,CAAC,CAAC;oBACxE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrD,OAAO;gBACH,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,UAAU,OAAO,EAAE;gBAC5B,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE,OAAO;aACjB,CAAC;QACN,CAAC;IACL,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;CACJ;AAnED,sCAmEC"}
1
+ {"version":3,"file":"DelegationBus.js","sourceRoot":"","sources":["../../src/delegation/DelegationBus.ts"],"names":[],"mappings":"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"}
@@ -89,32 +89,23 @@ export declare class AgentEngine {
89
89
  private readonly memory;
90
90
  private readonly bus;
91
91
  private readonly skillActivator;
92
+ private readonly history;
93
+ private readonly auditLogger;
92
94
  private currentAgentId;
93
- private messages;
94
95
  private aborted;
95
96
  private abortController;
96
97
  private allSkills;
97
98
  private iterationManager;
98
99
  private activeSkillAddition;
99
100
  private yamlSkillsLoaded;
100
- private mcpInitialized;
101
- private mcpInitAttempts;
102
- private mcpRegisteredServers;
103
- private mcpTriggers;
104
- private mcpToolTriggers;
105
- private approvalDisabled;
101
+ private readonly mcpRegistrar;
102
+ private readonly approvalGate;
106
103
  private pendingContextLoad;
107
- private static readonly WRITE_TOOLS;
108
- /** Tracks what each MCP server blocked/assigned so it can be fully reverted on disconnect. */
109
- private mcpAgentBlocks;
110
- /**
111
- * Commands that always require user approval regardless of iteration mode or
112
- * approvalDisabled flag. These are irreversible or high-blast-radius operations:
113
- * installing new packages, removing packages, running destructive npm scripts.
114
- */
115
- private static readonly ALWAYS_ASK_PATTERNS;
116
104
  private agentsLoaded;
105
+ private agentsLoadedPromise;
117
106
  private memoryContextBlock;
107
+ /** Serializes concurrent run() calls — shared mutable state is not reentrant-safe. */
108
+ private runMutex;
118
109
  constructor(opts: AgentEngineOptions);
119
110
  /** Access the observability manager when configured via createBaseEngine({ observability }). */
120
111
  get observability(): ObservabilityManager | undefined;
@@ -162,6 +153,7 @@ export declare class AgentEngine {
162
153
  callLLM(prompt: string): Promise<string>;
163
154
  private getProviderForProfile;
164
155
  run(input: string): Promise<void>;
156
+ private _run;
165
157
  runWorkflow(defOrBuilder: WorkflowDef | WorkflowBuilder, opts?: WorkflowRunOptions): Promise<WorkflowResult>;
166
158
  abort(): void;
167
159
  /** Change the iteration mode at runtime — takes effect on the next run(). */
@@ -170,31 +162,10 @@ export declare class AgentEngine {
170
162
  getIterationMode(): IterationMode;
171
163
  /** Delete persisted history file and reset in-memory conversation. */
172
164
  clearHistory(): void;
173
- /** Serialize current conversation to disk (called automatically after each run). */
174
165
  private saveHistory;
175
- /**
176
- * Trim conversation history to maxContextMessages by dropping oldest messages
177
- * at a user-turn boundary. Preserves all assistant↔tool pairs intact.
178
- */
179
166
  private trimHistory;
180
167
  private ensureAgentsLoaded;
181
- private ensureMCPInitialized;
182
- private registerMCPAgent;
183
- /**
184
- * mode='tools' (default): assigns MCP tools directly to local agent allowedTools.
185
- * Also applies blocksCommands to those agents while the server is connected —
186
- * forcing them to use the MCP tools instead of equivalent shell commands.
187
- * Both tool assignments and command blocks are tracked so they can be
188
- * fully reverted when the server disconnects via unregisterMCPServer().
189
- */
190
- private registerMCPToolPack;
191
- /**
192
- * mode='agent': wraps the MCP server as a delegatable agent in the roster.
193
- * Use only when the remote service has its own reasoning layer or its output
194
- * is so large it needs a dedicated summarization turn.
195
- */
196
- private registerMCPAgentWrapper;
197
- private findMCPRoute;
168
+ private _loadAgentsOnce;
198
169
  switchAgent(agentId: string): void;
199
170
  private getCurrentProfile;
200
171
  private buildAgentRoster;
@@ -222,12 +193,6 @@ export declare class AgentEngine {
222
193
  */
223
194
  private executeToolCall;
224
195
  private runToolDef;
225
- /**
226
- * Returns true when a tool call matches a high-blast-radius pattern that
227
- * always requires explicit approval — cannot be bypassed by approve_all or
228
- * auto iteration mode.
229
- */
230
- private requiresAlwaysAsk;
231
196
  /**
232
197
  * Disconnects an MCP server at runtime — reverts all tool assignments and
233
198
  * command blocks it applied to local agents. After calling this, agents that
@@ -242,7 +207,6 @@ export declare class AgentEngine {
242
207
  disableToolApproval(): void;
243
208
  /** Re-enable approval gate (e.g. after /iteration manual). */
244
209
  enableToolApproval(): void;
245
- private writeAuditRecord;
246
210
  private buildContext;
247
211
  }
248
212
  //# sourceMappingURL=AgentEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentEngine.d.ts","sourceRoot":"","sources":["../../src/engine/AgentEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentEngine.d.ts","sourceRoot":"","sources":["../../src/engine/AgentEngine.ts"],"names":[],"mappings":"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"}