@neurcode-ai/cli 0.9.64 → 0.9.65

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 (252) hide show
  1. package/LICENSE +201 -0
  2. package/dist/commands/brain.d.ts.map +1 -1
  3. package/dist/commands/brain.js +273 -0
  4. package/dist/commands/brain.js.map +1 -1
  5. package/dist/commands/pilot-report.d.ts +9 -0
  6. package/dist/commands/pilot-report.d.ts.map +1 -0
  7. package/dist/commands/pilot-report.js +176 -0
  8. package/dist/commands/pilot-report.js.map +1 -0
  9. package/dist/commands/remediate-governance.d.ts +54 -0
  10. package/dist/commands/remediate-governance.d.ts.map +1 -0
  11. package/dist/commands/remediate-governance.js +375 -0
  12. package/dist/commands/remediate-governance.js.map +1 -0
  13. package/dist/commands/remediate.d.ts.map +1 -1
  14. package/dist/commands/remediate.js.map +1 -1
  15. package/dist/commands/replay.d.ts.map +1 -1
  16. package/dist/commands/replay.js +30 -0
  17. package/dist/commands/replay.js.map +1 -1
  18. package/dist/commands/verify.d.ts.map +1 -1
  19. package/dist/commands/verify.js +307 -24
  20. package/dist/commands/verify.js.map +1 -1
  21. package/dist/daemon/server.d.ts.map +1 -1
  22. package/dist/daemon/server.js +1078 -0
  23. package/dist/daemon/server.js.map +1 -1
  24. package/dist/explainability/DeterminismClassifier.d.ts +34 -0
  25. package/dist/explainability/DeterminismClassifier.d.ts.map +1 -0
  26. package/dist/explainability/DeterminismClassifier.js +104 -0
  27. package/dist/explainability/DeterminismClassifier.js.map +1 -0
  28. package/dist/explainability/ViolationFormatter.d.ts +32 -0
  29. package/dist/explainability/ViolationFormatter.d.ts.map +1 -0
  30. package/dist/explainability/ViolationFormatter.js +252 -0
  31. package/dist/explainability/ViolationFormatter.js.map +1 -0
  32. package/dist/explainability/index.d.ts +15 -0
  33. package/dist/explainability/index.d.ts.map +1 -0
  34. package/dist/explainability/index.js +94 -0
  35. package/dist/explainability/index.js.map +1 -0
  36. package/dist/explainability/types.d.ts +37 -0
  37. package/dist/explainability/types.d.ts.map +1 -0
  38. package/dist/explainability/types.js +3 -0
  39. package/dist/explainability/types.js.map +1 -0
  40. package/dist/governance/canonical-pipeline.d.ts +38 -0
  41. package/dist/governance/canonical-pipeline.d.ts.map +1 -0
  42. package/dist/governance/canonical-pipeline.js +448 -0
  43. package/dist/governance/canonical-pipeline.js.map +1 -0
  44. package/dist/governance/structural-on-diff.d.ts +13 -0
  45. package/dist/governance/structural-on-diff.d.ts.map +1 -0
  46. package/dist/governance/structural-on-diff.js +35 -0
  47. package/dist/governance/structural-on-diff.js.map +1 -0
  48. package/dist/governance/structural-policy-merge.d.ts +14 -0
  49. package/dist/governance/structural-policy-merge.d.ts.map +1 -0
  50. package/dist/governance/structural-policy-merge.js +25 -0
  51. package/dist/governance/structural-policy-merge.js.map +1 -0
  52. package/dist/index.js +71 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/integrations/review-compression/index.d.ts +50 -0
  55. package/dist/integrations/review-compression/index.d.ts.map +1 -0
  56. package/dist/integrations/review-compression/index.js +158 -0
  57. package/dist/integrations/review-compression/index.js.map +1 -0
  58. package/dist/intent-engine/domain-taxonomy.d.ts +42 -0
  59. package/dist/intent-engine/domain-taxonomy.d.ts.map +1 -0
  60. package/dist/intent-engine/domain-taxonomy.js +534 -0
  61. package/dist/intent-engine/domain-taxonomy.js.map +1 -0
  62. package/dist/intent-engine/index.d.ts +1 -0
  63. package/dist/intent-engine/index.d.ts.map +1 -1
  64. package/dist/intent-engine/index.js +6 -1
  65. package/dist/intent-engine/index.js.map +1 -1
  66. package/dist/intent-engine/parser.d.ts.map +1 -1
  67. package/dist/intent-engine/parser.js +47 -0
  68. package/dist/intent-engine/parser.js.map +1 -1
  69. package/dist/intent-engine/semantic-expander.d.ts +104 -0
  70. package/dist/intent-engine/semantic-expander.d.ts.map +1 -0
  71. package/dist/intent-engine/semantic-expander.js +480 -0
  72. package/dist/intent-engine/semantic-expander.js.map +1 -0
  73. package/dist/patch-engine/patterns.d.ts.map +1 -1
  74. package/dist/patch-engine/patterns.js +8 -4
  75. package/dist/patch-engine/patterns.js.map +1 -1
  76. package/dist/semantic/index.d.ts +14 -0
  77. package/dist/semantic/index.d.ts.map +1 -0
  78. package/dist/semantic/index.js +30 -0
  79. package/dist/semantic/index.js.map +1 -0
  80. package/dist/semantic/tfidf-engine.d.ts +81 -0
  81. package/dist/semantic/tfidf-engine.d.ts.map +1 -0
  82. package/dist/semantic/tfidf-engine.js +278 -0
  83. package/dist/semantic/tfidf-engine.js.map +1 -0
  84. package/dist/semantic/vector-store.d.ts +108 -0
  85. package/dist/semantic/vector-store.d.ts.map +1 -0
  86. package/dist/semantic/vector-store.js +321 -0
  87. package/dist/semantic/vector-store.js.map +1 -0
  88. package/dist/structural-rules/context-severity.d.ts +46 -0
  89. package/dist/structural-rules/context-severity.d.ts.map +1 -0
  90. package/dist/structural-rules/context-severity.js +115 -0
  91. package/dist/structural-rules/context-severity.js.map +1 -0
  92. package/dist/structural-rules/distributed/DS001-saga-rollback-absence.d.ts +11 -0
  93. package/dist/structural-rules/distributed/DS001-saga-rollback-absence.d.ts.map +1 -0
  94. package/dist/structural-rules/distributed/DS001-saga-rollback-absence.js +212 -0
  95. package/dist/structural-rules/distributed/DS001-saga-rollback-absence.js.map +1 -0
  96. package/dist/structural-rules/distributed/DS002-missing-correlation-id.d.ts +11 -0
  97. package/dist/structural-rules/distributed/DS002-missing-correlation-id.d.ts.map +1 -0
  98. package/dist/structural-rules/distributed/DS002-missing-correlation-id.js +213 -0
  99. package/dist/structural-rules/distributed/DS002-missing-correlation-id.js.map +1 -0
  100. package/dist/structural-rules/distributed/index.d.ts +3 -0
  101. package/dist/structural-rules/distributed/index.d.ts.map +1 -0
  102. package/dist/structural-rules/distributed/index.js +8 -0
  103. package/dist/structural-rules/distributed/index.js.map +1 -0
  104. package/dist/structural-rules/engine.d.ts +25 -0
  105. package/dist/structural-rules/engine.d.ts.map +1 -0
  106. package/dist/structural-rules/engine.js +90 -0
  107. package/dist/structural-rules/engine.js.map +1 -0
  108. package/dist/structural-rules/index.d.ts +41 -0
  109. package/dist/structural-rules/index.d.ts.map +1 -0
  110. package/dist/structural-rules/index.js +141 -0
  111. package/dist/structural-rules/index.js.map +1 -0
  112. package/dist/structural-rules/python/PY001-asyncio-task-without-cancel.d.ts +11 -0
  113. package/dist/structural-rules/python/PY001-asyncio-task-without-cancel.d.ts.map +1 -0
  114. package/dist/structural-rules/python/PY001-asyncio-task-without-cancel.js +66 -0
  115. package/dist/structural-rules/python/PY001-asyncio-task-without-cancel.js.map +1 -0
  116. package/dist/structural-rules/python/PY002-unbounded-dict-singleton.d.ts +11 -0
  117. package/dist/structural-rules/python/PY002-unbounded-dict-singleton.d.ts.map +1 -0
  118. package/dist/structural-rules/python/PY002-unbounded-dict-singleton.js +135 -0
  119. package/dist/structural-rules/python/PY002-unbounded-dict-singleton.js.map +1 -0
  120. package/dist/structural-rules/python/PY003-broad-except-clause.d.ts +11 -0
  121. package/dist/structural-rules/python/PY003-broad-except-clause.d.ts.map +1 -0
  122. package/dist/structural-rules/python/PY003-broad-except-clause.js +86 -0
  123. package/dist/structural-rules/python/PY003-broad-except-clause.js.map +1 -0
  124. package/dist/structural-rules/python/PY004-swallowed-async-exception.d.ts +11 -0
  125. package/dist/structural-rules/python/PY004-swallowed-async-exception.d.ts.map +1 -0
  126. package/dist/structural-rules/python/PY004-swallowed-async-exception.js +167 -0
  127. package/dist/structural-rules/python/PY004-swallowed-async-exception.js.map +1 -0
  128. package/dist/structural-rules/python/PY005-fastapi-without-pydantic.d.ts +11 -0
  129. package/dist/structural-rules/python/PY005-fastapi-without-pydantic.d.ts.map +1 -0
  130. package/dist/structural-rules/python/PY005-fastapi-without-pydantic.js +154 -0
  131. package/dist/structural-rules/python/PY005-fastapi-without-pydantic.js.map +1 -0
  132. package/dist/structural-rules/python/PY006-blocking-io-in-async.d.ts +11 -0
  133. package/dist/structural-rules/python/PY006-blocking-io-in-async.d.ts.map +1 -0
  134. package/dist/structural-rules/python/PY006-blocking-io-in-async.js +130 -0
  135. package/dist/structural-rules/python/PY006-blocking-io-in-async.js.map +1 -0
  136. package/dist/structural-rules/python/PY007-sqlalchemy-session-leak.d.ts +11 -0
  137. package/dist/structural-rules/python/PY007-sqlalchemy-session-leak.d.ts.map +1 -0
  138. package/dist/structural-rules/python/PY007-sqlalchemy-session-leak.js +93 -0
  139. package/dist/structural-rules/python/PY007-sqlalchemy-session-leak.js.map +1 -0
  140. package/dist/structural-rules/python/PY008-celery-task-without-retry.d.ts +11 -0
  141. package/dist/structural-rules/python/PY008-celery-task-without-retry.d.ts.map +1 -0
  142. package/dist/structural-rules/python/PY008-celery-task-without-retry.js +154 -0
  143. package/dist/structural-rules/python/PY008-celery-task-without-retry.js.map +1 -0
  144. package/dist/structural-rules/python/PY009-unsafe-pickle-deserialization.d.ts +11 -0
  145. package/dist/structural-rules/python/PY009-unsafe-pickle-deserialization.d.ts.map +1 -0
  146. package/dist/structural-rules/python/PY009-unsafe-pickle-deserialization.js +133 -0
  147. package/dist/structural-rules/python/PY009-unsafe-pickle-deserialization.js.map +1 -0
  148. package/dist/structural-rules/python/PY010-leaked-aiohttp-session.d.ts +11 -0
  149. package/dist/structural-rules/python/PY010-leaked-aiohttp-session.d.ts.map +1 -0
  150. package/dist/structural-rules/python/PY010-leaked-aiohttp-session.js +80 -0
  151. package/dist/structural-rules/python/PY010-leaked-aiohttp-session.js.map +1 -0
  152. package/dist/structural-rules/rules/SR001-swallowed-async-rejection.d.ts +11 -0
  153. package/dist/structural-rules/rules/SR001-swallowed-async-rejection.d.ts.map +1 -0
  154. package/dist/structural-rules/rules/SR001-swallowed-async-rejection.js +145 -0
  155. package/dist/structural-rules/rules/SR001-swallowed-async-rejection.js.map +1 -0
  156. package/dist/structural-rules/rules/SR002-unbounded-collection.d.ts +11 -0
  157. package/dist/structural-rules/rules/SR002-unbounded-collection.d.ts.map +1 -0
  158. package/dist/structural-rules/rules/SR002-unbounded-collection.js +196 -0
  159. package/dist/structural-rules/rules/SR002-unbounded-collection.js.map +1 -0
  160. package/dist/structural-rules/rules/SR003-timer-without-cleanup.d.ts +11 -0
  161. package/dist/structural-rules/rules/SR003-timer-without-cleanup.d.ts.map +1 -0
  162. package/dist/structural-rules/rules/SR003-timer-without-cleanup.js +148 -0
  163. package/dist/structural-rules/rules/SR003-timer-without-cleanup.js.map +1 -0
  164. package/dist/structural-rules/rules/SR004-request-boundary-no-validation.d.ts +11 -0
  165. package/dist/structural-rules/rules/SR004-request-boundary-no-validation.d.ts.map +1 -0
  166. package/dist/structural-rules/rules/SR004-request-boundary-no-validation.js +162 -0
  167. package/dist/structural-rules/rules/SR004-request-boundary-no-validation.js.map +1 -0
  168. package/dist/structural-rules/rules/SR005-halfopen-probe-gate.d.ts +11 -0
  169. package/dist/structural-rules/rules/SR005-halfopen-probe-gate.d.ts.map +1 -0
  170. package/dist/structural-rules/rules/SR005-halfopen-probe-gate.js +150 -0
  171. package/dist/structural-rules/rules/SR005-halfopen-probe-gate.js.map +1 -0
  172. package/dist/structural-rules/rules/SR006-fanout-error-sanitization.d.ts +11 -0
  173. package/dist/structural-rules/rules/SR006-fanout-error-sanitization.d.ts.map +1 -0
  174. package/dist/structural-rules/rules/SR006-fanout-error-sanitization.js +161 -0
  175. package/dist/structural-rules/rules/SR006-fanout-error-sanitization.js.map +1 -0
  176. package/dist/structural-rules/rules/SR007-cross-request-error.d.ts +11 -0
  177. package/dist/structural-rules/rules/SR007-cross-request-error.d.ts.map +1 -0
  178. package/dist/structural-rules/rules/SR007-cross-request-error.js +175 -0
  179. package/dist/structural-rules/rules/SR007-cross-request-error.js.map +1 -0
  180. package/dist/structural-rules/rules/SR008-background-task-orphan.d.ts +11 -0
  181. package/dist/structural-rules/rules/SR008-background-task-orphan.d.ts.map +1 -0
  182. package/dist/structural-rules/rules/SR008-background-task-orphan.js +176 -0
  183. package/dist/structural-rules/rules/SR008-background-task-orphan.js.map +1 -0
  184. package/dist/structural-rules/rules/SR009-missing-retry-backoff.d.ts +11 -0
  185. package/dist/structural-rules/rules/SR009-missing-retry-backoff.d.ts.map +1 -0
  186. package/dist/structural-rules/rules/SR009-missing-retry-backoff.js +168 -0
  187. package/dist/structural-rules/rules/SR009-missing-retry-backoff.js.map +1 -0
  188. package/dist/structural-rules/rules/SR010-retry-storm.d.ts +11 -0
  189. package/dist/structural-rules/rules/SR010-retry-storm.d.ts.map +1 -0
  190. package/dist/structural-rules/rules/SR010-retry-storm.js +181 -0
  191. package/dist/structural-rules/rules/SR010-retry-storm.js.map +1 -0
  192. package/dist/structural-rules/rules/SR011-event-listener-leak.d.ts +11 -0
  193. package/dist/structural-rules/rules/SR011-event-listener-leak.d.ts.map +1 -0
  194. package/dist/structural-rules/rules/SR011-event-listener-leak.js +208 -0
  195. package/dist/structural-rules/rules/SR011-event-listener-leak.js.map +1 -0
  196. package/dist/structural-rules/rules/SR012-promise-race-leak.d.ts +11 -0
  197. package/dist/structural-rules/rules/SR012-promise-race-leak.d.ts.map +1 -0
  198. package/dist/structural-rules/rules/SR012-promise-race-leak.js +191 -0
  199. package/dist/structural-rules/rules/SR012-promise-race-leak.js.map +1 -0
  200. package/dist/structural-rules/rules/SR013-missing-idempotency-key.d.ts +11 -0
  201. package/dist/structural-rules/rules/SR013-missing-idempotency-key.d.ts.map +1 -0
  202. package/dist/structural-rules/rules/SR013-missing-idempotency-key.js +219 -0
  203. package/dist/structural-rules/rules/SR013-missing-idempotency-key.js.map +1 -0
  204. package/dist/structural-rules/rules/SR014-mutable-closure-async.d.ts +11 -0
  205. package/dist/structural-rules/rules/SR014-mutable-closure-async.d.ts.map +1 -0
  206. package/dist/structural-rules/rules/SR014-mutable-closure-async.js +208 -0
  207. package/dist/structural-rules/rules/SR014-mutable-closure-async.js.map +1 -0
  208. package/dist/structural-rules/rules/SR015-dangling-abort-controller.d.ts +11 -0
  209. package/dist/structural-rules/rules/SR015-dangling-abort-controller.d.ts.map +1 -0
  210. package/dist/structural-rules/rules/SR015-dangling-abort-controller.js +190 -0
  211. package/dist/structural-rules/rules/SR015-dangling-abort-controller.js.map +1 -0
  212. package/dist/structural-rules/rules/SR016-unsafe-json-parse.d.ts +11 -0
  213. package/dist/structural-rules/rules/SR016-unsafe-json-parse.d.ts.map +1 -0
  214. package/dist/structural-rules/rules/SR016-unsafe-json-parse.js +187 -0
  215. package/dist/structural-rules/rules/SR016-unsafe-json-parse.js.map +1 -0
  216. package/dist/structural-rules/suppressions.d.ts +43 -0
  217. package/dist/structural-rules/suppressions.d.ts.map +1 -0
  218. package/dist/structural-rules/suppressions.js +115 -0
  219. package/dist/structural-rules/suppressions.js.map +1 -0
  220. package/dist/structural-rules/types.d.ts +43 -0
  221. package/dist/structural-rules/types.d.ts.map +1 -0
  222. package/dist/structural-rules/types.js +3 -0
  223. package/dist/structural-rules/types.js.map +1 -0
  224. package/dist/utils/brain-cache.d.ts +100 -0
  225. package/dist/utils/brain-cache.d.ts.map +1 -0
  226. package/dist/utils/brain-cache.js +346 -0
  227. package/dist/utils/brain-cache.js.map +1 -0
  228. package/dist/utils/governance-provenance.d.ts +95 -0
  229. package/dist/utils/governance-provenance.d.ts.map +1 -0
  230. package/dist/utils/governance-provenance.js +187 -0
  231. package/dist/utils/governance-provenance.js.map +1 -0
  232. package/dist/utils/pilot-metrics.d.ts +46 -0
  233. package/dist/utils/pilot-metrics.d.ts.map +1 -0
  234. package/dist/utils/pilot-metrics.js +240 -0
  235. package/dist/utils/pilot-metrics.js.map +1 -0
  236. package/dist/utils/replay-runtime.d.ts +34 -0
  237. package/dist/utils/replay-runtime.d.ts.map +1 -1
  238. package/dist/utils/replay-runtime.js +207 -0
  239. package/dist/utils/replay-runtime.js.map +1 -1
  240. package/dist/workspace/cross-repo-graph.d.ts +111 -0
  241. package/dist/workspace/cross-repo-graph.d.ts.map +1 -0
  242. package/dist/workspace/cross-repo-graph.js +450 -0
  243. package/dist/workspace/cross-repo-graph.js.map +1 -0
  244. package/dist/workspace/federated-context.d.ts +144 -0
  245. package/dist/workspace/federated-context.d.ts.map +1 -0
  246. package/dist/workspace/federated-context.js +347 -0
  247. package/dist/workspace/federated-context.js.map +1 -0
  248. package/dist/workspace/index.d.ts +38 -0
  249. package/dist/workspace/index.d.ts.map +1 -0
  250. package/dist/workspace/index.js +48 -0
  251. package/dist/workspace/index.js.map +1 -0
  252. package/package.json +9 -9
@@ -10,6 +10,7 @@ const crypto_1 = require("crypto");
10
10
  const fs_1 = require("fs");
11
11
  const path_1 = require("path");
12
12
  const execution_bus_1 = require("./execution-bus");
13
+ const canonical_pipeline_1 = require("../governance/canonical-pipeline");
13
14
  const REPLAY_STATE_SCHEMA = 'neurcode.replay.state.v1';
14
15
  const REPLAY_EXECUTION_SCHEMA = 'neurcode.replay.execution.v1';
15
16
  const REPLAY_WORKSPACE_SCHEMA = 'neurcode.replay.workspace.v1';
@@ -193,6 +194,38 @@ function parseEvidenceDigest(root, filePath) {
193
194
  const regressions = Array.isArray(parsed.regressions) ? parsed.regressions : [];
194
195
  const flowIssues = Array.isArray(parsed.flowIssues) ? parsed.flowIssues : [];
195
196
  const coverage = asNumber(canonical.driftScore) ?? asNumber(canonical.score);
197
+ const governanceVerification = asObject(canonical.governanceVerification);
198
+ const governanceFindingsRaw = Array.isArray(canonical.governanceFindings)
199
+ ? canonical.governanceFindings
200
+ : (Array.isArray(governanceVerification?.findings) ? governanceVerification?.findings : []);
201
+ const governanceFindings = governanceFindingsRaw.filter((entry) => {
202
+ const record = asObject(entry);
203
+ return Boolean(record);
204
+ });
205
+ const determinismCounts = {};
206
+ let semanticTruncationCount = 0;
207
+ let federationTruncationCount = 0;
208
+ let graphTruncationCount = 0;
209
+ let provenanceMissingCount = 0;
210
+ for (const finding of governanceFindings) {
211
+ const determinism = asString(finding.determinismClassification) || 'unknown';
212
+ determinismCounts[determinism] = (determinismCounts[determinism] ?? 0) + 1;
213
+ const semanticMetadata = asObject(finding.semanticMetadata);
214
+ const graphMetadata = asObject(finding.graphMetadata);
215
+ const provenanceMetadata = asObject(finding.provenanceMetadata);
216
+ if (asBoolean(semanticMetadata?.indexTruncated) === true)
217
+ semanticTruncationCount += 1;
218
+ if (asBoolean(graphMetadata?.truncated) === true) {
219
+ graphTruncationCount += 1;
220
+ const fromRepo = asString(graphMetadata?.fromRepo);
221
+ const toRepo = asString(graphMetadata?.toRepo);
222
+ if (fromRepo || toRepo) {
223
+ federationTruncationCount += 1;
224
+ }
225
+ }
226
+ if (!provenanceMetadata)
227
+ provenanceMissingCount += 1;
228
+ }
196
229
  return {
197
230
  file: toRelativeSafe(root, filePath),
198
231
  timestamp: asString(parsed.timestamp) || nowIso(),
@@ -208,6 +241,14 @@ function parseEvidenceDigest(root, filePath) {
208
241
  coverageScore: coverage === null ? null : clamp(Math.round(coverage * 100) / 100, 0, 100),
209
242
  branch: asString(git.branch),
210
243
  commitSha: asString(git.commitSha),
244
+ governanceFindingsCount: governanceFindings.length,
245
+ governanceDeterminismCounts: determinismCounts,
246
+ semanticTruncationCount,
247
+ federationTruncationCount,
248
+ graphTruncationCount,
249
+ provenanceMissingCount,
250
+ governanceEnvelopePresent: Boolean(governanceVerification),
251
+ canonicalVerifyOutput: asObject(parsed.canonicalVerifyOutput),
211
252
  };
212
253
  }
213
254
  function parseControlPlaneSnapshotDigest(root, filePath) {
@@ -557,6 +598,163 @@ function buildDeterminismWarnings(index, controlPlane, workspace) {
557
598
  }
558
599
  return warnings;
559
600
  }
601
+ function clampScore(value) {
602
+ return clamp(Math.round(value), 0, 100);
603
+ }
604
+ function summarizeReplayGovernanceReport(input) {
605
+ const { warnings, evidences, controlPlane, workspace } = input;
606
+ const latestEvidence = evidences[evidences.length - 1] || null;
607
+ const missingArtifactSummaries = [];
608
+ const semanticDegradationSummaries = [];
609
+ const federationDegradationSummaries = [];
610
+ const graphMismatchSummaries = [];
611
+ const provenanceMismatchSummaries = [];
612
+ const confidenceDriftSummaries = [];
613
+ if (!controlPlane) {
614
+ missingArtifactSummaries.push('Missing control-plane snapshot at replay timestamp.');
615
+ }
616
+ if (!workspace) {
617
+ missingArtifactSummaries.push('Missing workspace snapshot at replay timestamp.');
618
+ }
619
+ if (!latestEvidence) {
620
+ missingArtifactSummaries.push('No verification evidence artifact available at replay timestamp.');
621
+ }
622
+ if (warnings.length > 0) {
623
+ missingArtifactSummaries.push(...warnings);
624
+ }
625
+ if (latestEvidence) {
626
+ if (!latestEvidence.governanceEnvelopePresent) {
627
+ provenanceMismatchSummaries.push('Canonical governance envelope missing from latest evidence artifact.');
628
+ }
629
+ if (latestEvidence.semanticTruncationCount > 0) {
630
+ semanticDegradationSummaries.push(`${latestEvidence.semanticTruncationCount} finding(s) flagged semantic index truncation.`);
631
+ }
632
+ if (latestEvidence.federationTruncationCount > 0) {
633
+ federationDegradationSummaries.push(`${latestEvidence.federationTruncationCount} finding(s) indicate bounded federation truncation.`);
634
+ }
635
+ if (latestEvidence.graphTruncationCount > 0) {
636
+ graphMismatchSummaries.push(`${latestEvidence.graphTruncationCount} graph-linked finding(s) marked traversal truncation.`);
637
+ }
638
+ if (latestEvidence.provenanceMissingCount > 0) {
639
+ provenanceMismatchSummaries.push(`${latestEvidence.provenanceMissingCount} finding(s) missing provenance metadata.`);
640
+ }
641
+ if (latestEvidence.canonicalVerifyOutput) {
642
+ const integrity = (0, canonical_pipeline_1.evaluateGovernanceReplayIntegrity)({
643
+ evidencePayload: latestEvidence.canonicalVerifyOutput,
644
+ });
645
+ if (integrity.missingArtifacts.length > 0) {
646
+ missingArtifactSummaries.push(...integrity.missingArtifacts);
647
+ }
648
+ if (integrity.provenanceMismatches.length > 0) {
649
+ provenanceMismatchSummaries.push(...integrity.provenanceMismatches);
650
+ }
651
+ if (integrity.graphMismatches.length > 0) {
652
+ graphMismatchSummaries.push(...integrity.graphMismatches);
653
+ }
654
+ if (integrity.semanticTruncationMismatches.length > 0) {
655
+ semanticDegradationSummaries.push(...integrity.semanticTruncationMismatches);
656
+ }
657
+ }
658
+ }
659
+ const provenanceScore = latestEvidence
660
+ ? clampScore(100
661
+ - (latestEvidence.provenanceMissingCount * 6)
662
+ - (latestEvidence.governanceEnvelopePresent ? 0 : 35))
663
+ : 10;
664
+ const semanticScore = latestEvidence
665
+ ? clampScore(100 - (latestEvidence.semanticTruncationCount * 8))
666
+ : 20;
667
+ const federationScore = latestEvidence
668
+ ? clampScore(100 - (latestEvidence.federationTruncationCount * 8))
669
+ : 30;
670
+ const graphScore = latestEvidence
671
+ ? clampScore(100 - (latestEvidence.graphTruncationCount * 8))
672
+ : 30;
673
+ const artifactsScore = clampScore(100
674
+ - (missingArtifactSummaries.length * 10)
675
+ - (latestEvidence ? 0 : 30));
676
+ const overall = clampScore((provenanceScore * 0.25)
677
+ + (graphScore * 0.2)
678
+ + (semanticScore * 0.2)
679
+ + (federationScore * 0.15)
680
+ + (artifactsScore * 0.2));
681
+ if (overall < 95) {
682
+ confidenceDriftSummaries.push(`Replay confidence reduced to ${overall}/100 due to bounded degradation signals.`);
683
+ }
684
+ if (evidences.length > 1) {
685
+ const previousEvidence = evidences[evidences.length - 2];
686
+ if (latestEvidence
687
+ && previousEvidence
688
+ && latestEvidence.deterministicVerificationHash
689
+ && previousEvidence.deterministicVerificationHash
690
+ && latestEvidence.deterministicVerificationHash !== previousEvidence.deterministicVerificationHash) {
691
+ confidenceDriftSummaries.push('Deterministic verification hash changed since previous evidence artifact (semantic scope drift or code drift).');
692
+ }
693
+ if (latestEvidence
694
+ && previousEvidence
695
+ && latestEvidence.coverageScore !== null
696
+ && previousEvidence.coverageScore !== null
697
+ && Math.abs(latestEvidence.coverageScore - previousEvidence.coverageScore) >= 8) {
698
+ confidenceDriftSummaries.push(`Coverage/confidence drift detected (${previousEvidence.coverageScore} -> ${latestEvidence.coverageScore}).`);
699
+ }
700
+ }
701
+ if (semanticScore < 100) {
702
+ confidenceDriftSummaries.push(`Semantic completeness reduced (${semanticScore}/100).`);
703
+ }
704
+ if (federationScore < 100) {
705
+ confidenceDriftSummaries.push(`Federation completeness reduced (${federationScore}/100).`);
706
+ }
707
+ const reconstructionStatus = missingArtifactSummaries.length === 0
708
+ && semanticDegradationSummaries.length === 0
709
+ && federationDegradationSummaries.length === 0
710
+ && graphMismatchSummaries.length === 0
711
+ && provenanceMismatchSummaries.length === 0
712
+ ? 'exact'
713
+ : 'bounded-degradation';
714
+ return {
715
+ reconstructionStatus,
716
+ canReconstructExactly: reconstructionStatus === 'exact',
717
+ missingArtifactSummaries: [...new Set(missingArtifactSummaries)],
718
+ semanticDegradationSummaries: [...new Set(semanticDegradationSummaries)],
719
+ federationDegradationSummaries: [...new Set(federationDegradationSummaries)],
720
+ graphMismatchSummaries: [...new Set(graphMismatchSummaries)],
721
+ provenanceMismatchSummaries: [...new Set(provenanceMismatchSummaries)],
722
+ confidenceDriftSummaries: [...new Set(confidenceDriftSummaries)],
723
+ confidence: {
724
+ overall,
725
+ provenance: {
726
+ score: provenanceScore,
727
+ note: latestEvidence?.governanceEnvelopePresent
728
+ ? 'Canonical provenance envelope present.'
729
+ : 'Canonical provenance envelope missing.',
730
+ },
731
+ graph: {
732
+ score: graphScore,
733
+ note: latestEvidence?.graphTruncationCount
734
+ ? 'Graph traversal truncation detected.'
735
+ : 'No graph truncation detected.',
736
+ },
737
+ semantic: {
738
+ score: semanticScore,
739
+ note: latestEvidence?.semanticTruncationCount
740
+ ? 'Semantic truncation detected.'
741
+ : 'Semantic retrieval completeness intact for observed findings.',
742
+ },
743
+ federation: {
744
+ score: federationScore,
745
+ note: latestEvidence?.federationTruncationCount
746
+ ? 'Federated context truncation detected.'
747
+ : 'No federated truncation detected.',
748
+ },
749
+ artifacts: {
750
+ score: artifactsScore,
751
+ note: missingArtifactSummaries.length > 0
752
+ ? `${missingArtifactSummaries.length} artifact warning(s) present.`
753
+ : 'No missing artifact warnings.',
754
+ },
755
+ },
756
+ };
757
+ }
560
758
  function replayGovernanceState(request, cwd = process.cwd()) {
561
759
  const paths = toReplayPaths(cwd);
562
760
  const asOf = parseRequiredTimestamp(request.at);
@@ -682,6 +880,12 @@ function replayGovernanceState(request, cwd = process.cwd()) {
682
880
  const posture = computePosture(executions, evidences);
683
881
  const hotspots = buildHotspots(executions);
684
882
  const warnings = buildDeterminismWarnings(index, controlPlane, workspace);
883
+ const reconstruction = summarizeReplayGovernanceReport({
884
+ warnings,
885
+ evidences,
886
+ controlPlane,
887
+ workspace,
888
+ });
685
889
  const determinismPayload = {
686
890
  asOf,
687
891
  controlPlaneSnapshotId: controlPlane?.snapshotId || null,
@@ -711,6 +915,7 @@ function replayGovernanceState(request, cwd = process.cwd()) {
711
915
  workspaceSnapshots: index.workspaceSnapshots.length,
712
916
  },
713
917
  },
918
+ reconstruction,
714
919
  controlPlane: {
715
920
  snapshotId: controlPlane?.snapshotId || null,
716
921
  createdAt: controlPlane?.createdAt || null,
@@ -837,6 +1042,7 @@ function replayExecution(request, cwd = process.cwd()) {
837
1042
  regressionRate: stateAtExecution.posture.regressionRate,
838
1043
  latestVerdict: stateAtExecution.posture.latestVerdict,
839
1044
  },
1045
+ reconstruction: stateAtExecution.reconstruction,
840
1046
  };
841
1047
  }
842
1048
  function replayWorkspace(request, cwd = process.cwd()) {
@@ -892,6 +1098,7 @@ function replayWorkspace(request, cwd = process.cwd()) {
892
1098
  }),
893
1099
  warnings,
894
1100
  },
1101
+ reconstruction: state.reconstruction,
895
1102
  };
896
1103
  }
897
1104
  function replayTimeline(request = {}, cwd = process.cwd()) {
@@ -1 +1 @@
1
- {"version":3,"file":"replay-runtime.js","sourceRoot":"","sources":["../../src/utils/replay-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay-runtime.js","sourceRoot":"","sources":["../../src/utils/replay-runtime.ts"],"names":[],"mappings":";;AA6qCA,sDAoMC;AAmDD,0CA4DC;AAED,0CAyDC;AAED,wCA8IC;AAED,kEASC;AAED,oEAwCC;AAhuDD,mCAAoC;AACpC,2BAA+F;AAC/F,+BAA8D;AAC9D,mDAA+F;AAC/F,yEAAqF;AAErF,MAAM,mBAAmB,GAAG,0BAAmC,CAAC;AAChE,MAAM,uBAAuB,GAAG,8BAAuC,CAAC;AACxE,MAAM,uBAAuB,GAAG,8BAAuC,CAAC;AACxE,MAAM,sBAAsB,GAAG,6BAAsC,CAAC;AACtE,MAAM,mBAAmB,GAAG,0BAAmC,CAAC;AAChE,MAAM,yBAAyB,GAAG,gCAAyC,CAAC;AAC5E,MAAM,6BAA6B,GAAG,oCAA6C,CAAC;AACpF,MAAM,sBAAsB,GAAG,6BAAsC,CAAC;AACtE,MAAM,oBAAoB,GAAG,2BAAoC,CAAC;AAElE,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAqXhC,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,IAAI,CAAC,KAAgC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,OAAO,KAAK,WAAW;YAAE,SAAS;QAC7C,UAAU,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,MAAc;IAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,UAAG,EAAE,CAAC;IACnE,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,QAAgB;IACpD,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC;QAAE,OAAO,IAAA,eAAQ,EAAC,cAAc,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,YAAY,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAA,cAAS,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,OAAO;QACL,WAAW;QACX,SAAS;QACT,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,EAAE,YAAY,CAAC;QACvC,mBAAmB,EAAE,IAAA,cAAO,EAAC,WAAW,EAAE,8BAA8B,CAAC;QACzE,WAAW,EAAE,IAAA,cAAO,EAAC,WAAW,EAAE,oBAAoB,CAAC;QACvD,iBAAiB,EAAE,IAAA,cAAO,EAAC,WAAW,EAAE,uCAAuC,CAAC;QAChF,wBAAwB,EAAE,IAAA,cAAO,EAAC,WAAW,EAAE,mCAAmC,CAAC;QACnF,qBAAqB,EAAE,IAAA,cAAO,EAAC,WAAW,EAAE,gCAAgC,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAA,aAAQ,EAAC,QAAQ,CAAC,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;SAClC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAW,EACX,IAA4B,EAC5B,KAAuB;IAEvB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;AAClE,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,QAAgB;IAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,uBAAuB;QAAE,OAAO,IAAI,CAAC;IAE7E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC;QACpD,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;QACnF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,KAAK,GAAmC,QAAQ,KAAK,UAAU;WAChE,QAAQ,KAAK,WAAW;WACxB,QAAQ,KAAK,WAAW;WACxB,QAAQ,KAAK,UAAU;QAC1B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,UAAU,CAAC;IACf,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAoB,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAEhG,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAA,eAAQ,EAAC,QAAQ,CAAC;QAC7C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS;QACxC,MAAM,EAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAA4B,IAAI,SAAS;QACxE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS;QAC1C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS;QAC5C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE;QACjD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QACrC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;QACzC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QACvC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;QAC5C,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAClC,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAChD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAChD,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpE,SAAS,EAAE,SAAS;YAClB,CAAC,CAAC;gBACA,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC1C,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE;gBAClC,SAAS;gBACT,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE;gBAC9D,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE;aACnE;YACD,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAgB;IACzD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IAC5E,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,sBAAsB,GAAG,QAAQ,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAC1E,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACvE,CAAC,CAAC,SAAS,CAAC,kBAAkB;QAC9B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAoC,EAAE;QAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IACrD,IAAI,uBAAuB,GAAG,CAAC,CAAC;IAChC,IAAI,yBAAyB,GAAG,CAAC,CAAC;IAClC,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,SAAS,CAAC;QAC7E,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAChE,IAAI,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC,KAAK,IAAI;YAAE,uBAAuB,IAAI,CAAC,CAAC;QACvF,IAAI,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACjD,oBAAoB,IAAI,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;gBACvB,yBAAyB,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,kBAAkB;YAAE,sBAAsB,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE;QACjD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS;QAC9C,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI;QACrC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI;QACzC,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI;QAC/D,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,6BAA6B,CAAC,IAAI,EAAE;QACnF,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAChF,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAChF,eAAe,EAAE,WAAW,CAAC,MAAM;QACnC,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,aAAa,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;QACzF,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QAC5B,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM;QAClD,2BAA2B,EAAE,iBAAiB;QAC9C,uBAAuB;QACvB,yBAAyB;QACzB,oBAAoB;QACpB,sBAAsB;QACtB,yBAAyB,EAAE,OAAO,CAAC,sBAAsB,CAAC;QAC1D,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,IAAY,EAAE,QAAgB;IACrE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,6BAA6B;QAAE,OAAO,IAAI,CAAC;IACnF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;QAC3D,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvI,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,KAAK;QACvB,CAAC,CAAC;YACA,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;YACtC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;YAC9C,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;YACxC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;YAChD,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;YAChD,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE;SACzD;QACD,CAAC,CAAC,IAAI,CAAC;IAET,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAA,eAAQ,EAAC,QAAQ,CAAC;QAC7D,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE;QACjD,MAAM,EAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAA4B,IAAI,SAAS;QACxE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS;QAC1C,eAAe;QACf,SAAS,EAAE,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QACvE,KAAK,EAAE,WAAW;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY,EAAE,QAAgB;IAClE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,yBAAyB;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAA,eAAQ,EAAC,QAAQ,CAAC;QAC7D,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS;QACtD,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW;QAC5D,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE;QACjD,MAAM,EAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAA4B,IAAI,SAAS;QACxE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS;QAC1C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU;QAC7C,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;QACzC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACrD,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC;aAC1C,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,MAAM,GAA+B,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;gBAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,oBAAoB;oBAAE,SAAS;gBACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAoB,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC3G,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBAChG,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;oBACrC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS;oBACxC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE;oBACjD,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS;oBACtD,MAAM,EAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAA4B,IAAI,SAAS;oBACxE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS;oBAC1C,QAAQ;oBACR,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,OAAO;gBAAE,OAAO,MAAM,GAAG,OAAO,CAAC;YAChD,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAkB;IACnC,IAAI,CAAC,IAAA,eAAU,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,aAAa,EAAE,mBAAmB;YAClC,WAAW,EAAE,MAAM,EAAE;YACrB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,qBAAqB,EAAE,EAAE;YACzB,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE,EAAE;YACjB,iBAAiB,EAAE,IAAI;SACxB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAY,CAAC;QAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,mBAAmB,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;YACL,aAAa,EAAE,mBAAmB;YAClC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,EAAE;YACrD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAoC,IAAI,EAAE;YACtE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAA0C,IAAI,EAAE;YACtF,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAyC,IAAI,EAAE;YACnF,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAqD,IAAI,EAAE;YACvH,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAkD,IAAI,EAAE;YAC9G,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;gBAChD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAqC,EAAE;oBACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACjC,OAAO,OAAO,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;gBACxG,CAAC,CAAC;gBACF,CAAC,CAAC,EAAE;YACN,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC;SACtD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,aAAa,EAAE,mBAAmB;YAClC,WAAW,EAAE,MAAM,EAAE;YACrB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,qBAAqB,EAAE,EAAE;YACzB,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE,EAAE;YACjB,iBAAiB,EAAE,IAAI;SACxB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAkB,EAAE,KAAuB;IAC5D,KAAK,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;IAC7B,IAAA,kBAAa,EAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,MAAiC;IACnE,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,IAAA,gBAAW,EAAC,OAAO,CAAC;SACxB,MAAM,CAAC,MAAM,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,WAAI,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAClC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CACtB,IAAY,EACZ,KAAuB,EACvB,KAAe,EACf,QAA2B,EAC3B,WAA4D;IAE5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,eAAe;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAE/B,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/H,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACzH,MAAM,yBAAyB,GAAG,SAAS,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9I,MAAM,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAElJ,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACrH,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACjH,KAAK,CAAC,qBAAqB,GAAG,eAAe,CAC3C,KAAK,CAAC,WAAW,EACjB,KAAK,EACL,yBAAyB,EACzB,KAAK,CAAC,qBAAqB,EAC3B,+BAA+B,CAChC,CAAC;IACF,KAAK,CAAC,kBAAkB,GAAG,eAAe,CACxC,KAAK,CAAC,WAAW,EACjB,KAAK,EACL,sBAAsB,EACtB,KAAK,CAAC,kBAAkB,EACxB,4BAA4B,CAC7B,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,KAAK,UAAU,CAAC;IAC9H,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAClE,KAAK,CAAC,iBAAiB,GAAG,UAAU,CAAC;QACrC,IAAI,kBAAkB;YAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC;IACvE,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAExB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,MAAM,GAAG,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,MAAM,GAAG,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,MAAM,GAAG,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACtF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,MAAM,GAAG,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,SAAS;QACT,qBAAqB;QACrB,kBAAkB;QAClB,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,cAAc,CACrB,KAAU,EACV,WAAgC,EAChC,IAAY;IAEZ,IAAI,QAAQ,GAAa,IAAI,CAAC;IAC9B,IAAI,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,IAAI;YAAE,SAAS;QAC/C,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;YACzB,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,QAAgB;IACxD,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,UAAmC;IACxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkD,CAAC;IAC1E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/G,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,GAAG;QACH,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;KAC9E,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SACvF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,UAAmC,EAAE,SAAiC;IAC5F,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;IAC9E,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,mBAAmB,GAAkB,IAAI,CAAC;IAC9C,IAAI,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAExC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,OAAO;YAAE,SAAS,IAAI,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,CAAC;QAC1E,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW;YAAE,WAAW,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC;QACrE,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACxB,QAAQ,GAAG,OAAO,CAAC;YACnB,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;YACjC,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,cAAc,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7F,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,cAAc;QACd,aAAa;QACb,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAyB;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAsB,EAAE,YAAqD,EAAE,SAA+C;IAC9J,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,+BAA+B,CAAC,KAKxC;IACC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAC/D,MAAM,wBAAwB,GAAa,EAAE,CAAC;IAC9C,MAAM,4BAA4B,GAAa,EAAE,CAAC;IAClD,MAAM,8BAA8B,GAAa,EAAE,CAAC;IACpD,MAAM,sBAAsB,GAAa,EAAE,CAAC;IAC5C,MAAM,2BAA2B,GAAa,EAAE,CAAC;IACjD,MAAM,wBAAwB,GAAa,EAAE,CAAC;IAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,wBAAwB,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,wBAAwB,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,wBAAwB,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,wBAAwB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,CAAC;YAC9C,2BAA2B,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,cAAc,CAAC,uBAAuB,GAAG,CAAC,EAAE,CAAC;YAC/C,4BAA4B,CAAC,IAAI,CAC/B,GAAG,cAAc,CAAC,uBAAuB,gDAAgD,CAC1F,CAAC;QACJ,CAAC;QACD,IAAI,cAAc,CAAC,yBAAyB,GAAG,CAAC,EAAE,CAAC;YACjD,8BAA8B,CAAC,IAAI,CACjC,GAAG,cAAc,CAAC,yBAAyB,qDAAqD,CACjG,CAAC;QACJ,CAAC;QACD,IAAI,cAAc,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;YAC5C,sBAAsB,CAAC,IAAI,CACzB,GAAG,cAAc,CAAC,oBAAoB,uDAAuD,CAC9F,CAAC;QACJ,CAAC;QACD,IAAI,cAAc,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YAC9C,2BAA2B,CAAC,IAAI,CAC9B,GAAG,cAAc,CAAC,sBAAsB,0CAA0C,CACnF,CAAC;QACJ,CAAC;QACD,IAAI,cAAc,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,IAAA,sDAAiC,EAAC;gBAClD,eAAe,EAAE,cAAc,CAAC,qBAAqB;aACtD,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,wBAAwB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,2BAA2B,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,SAAS,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,sBAAsB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,SAAS,CAAC,4BAA4B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,4BAA4B,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,4BAA4B,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,cAAc;QACpC,CAAC,CAAC,UAAU,CACV,GAAG;cACD,CAAC,cAAc,CAAC,sBAAsB,GAAG,CAAC,CAAC;cAC3C,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD;QACD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,aAAa,GAAG,cAAc;QAClC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,eAAe,GAAG,cAAc;QACpC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,yBAAyB,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAAG,cAAc;QAC/B,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG,UAAU,CAC/B,GAAG;UACD,CAAC,wBAAwB,CAAC,MAAM,GAAG,EAAE,CAAC;UACtC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5B,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CACxB,CAAC,eAAe,GAAG,IAAI,CAAC;UACtB,CAAC,UAAU,GAAG,GAAG,CAAC;UAClB,CAAC,aAAa,GAAG,GAAG,CAAC;UACrB,CAAC,eAAe,GAAG,IAAI,CAAC;UACxB,CAAC,cAAc,GAAG,GAAG,CAAC,CACzB,CAAC;IAEF,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,wBAAwB,CAAC,IAAI,CAAC,gCAAgC,OAAO,0CAA0C,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzD,IACE,cAAc;eACX,gBAAgB;eAChB,cAAc,CAAC,6BAA6B;eAC5C,gBAAgB,CAAC,6BAA6B;eAC9C,cAAc,CAAC,6BAA6B,KAAK,gBAAgB,CAAC,6BAA6B,EAClG,CAAC;YACD,wBAAwB,CAAC,IAAI,CAC3B,gHAAgH,CACjH,CAAC;QACJ,CAAC;QACD,IACE,cAAc;eACX,gBAAgB;eAChB,cAAc,CAAC,aAAa,KAAK,IAAI;eACrC,gBAAgB,CAAC,aAAa,KAAK,IAAI;eACvC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,EAC/E,CAAC;YACD,wBAAwB,CAAC,IAAI,CAC3B,uCAAuC,gBAAgB,CAAC,aAAa,OAAO,cAAc,CAAC,aAAa,IAAI,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,aAAa,GAAG,GAAG,EAAE,CAAC;QACxB,wBAAwB,CAAC,IAAI,CAAC,kCAAkC,aAAa,QAAQ,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,eAAe,GAAG,GAAG,EAAE,CAAC;QAC1B,wBAAwB,CAAC,IAAI,CAAC,oCAAoC,eAAe,QAAQ,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,oBAAoB,GACxB,wBAAwB,CAAC,MAAM,KAAK,CAAC;WAChC,4BAA4B,CAAC,MAAM,KAAK,CAAC;WACzC,8BAA8B,CAAC,MAAM,KAAK,CAAC;WAC3C,sBAAsB,CAAC,MAAM,KAAK,CAAC;WACnC,2BAA2B,CAAC,MAAM,KAAK,CAAC;QAC3C,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,qBAAqB,CAAC;IAE5B,OAAO;QACL,oBAAoB;QACpB,qBAAqB,EAAE,oBAAoB,KAAK,OAAO;QACvD,wBAAwB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAChE,4BAA4B,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxE,8BAA8B,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5E,sBAAsB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC5D,2BAA2B,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACtE,wBAAwB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAChE,UAAU,EAAE;YACV,OAAO;YACP,UAAU,EAAE;gBACV,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,cAAc,EAAE,yBAAyB;oBAC7C,CAAC,CAAC,wCAAwC;oBAC1C,CAAC,CAAC,wCAAwC;aAC7C;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,cAAc,EAAE,oBAAoB;oBACxC,CAAC,CAAC,sCAAsC;oBACxC,CAAC,CAAC,+BAA+B;aACpC;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,cAAc,EAAE,uBAAuB;oBAC3C,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,+DAA+D;aACpE;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,cAAc,EAAE,yBAAyB;oBAC7C,CAAC,CAAC,wCAAwC;oBAC1C,CAAC,CAAC,mCAAmC;aACxC;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,wBAAwB,CAAC,MAAM,GAAG,CAAC;oBACvC,CAAC,CAAC,GAAG,wBAAwB,CAAC,MAAM,+BAA+B;oBACnE,CAAC,CAAC,+BAA+B;aACpC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CACnC,OAA2B,EAC3B,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/F,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,mBAAmB,CAAC;IAExB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG,MAAM;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,MAAM,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnG,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW;QACnC,CAAC,CAAC,cAAc,CACd,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,EACnF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EACxB,MAAM,CACP;QACD,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE/E,MAAM,WAAW,GAAG,UAAU;SAC3B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC;SAC9C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACjF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,WAAW,EAAE,KAAK,CAAC,EAAE;QACrB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAClE,aAAa,EAAE,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAClE,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC,CAAC;IAEN,MAAM,iBAAiB,GAAG,UAAU;SACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;SAClE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACjF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,WAAW,EAAE,KAAK,CAAC,EAAE;QACrB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC,CAAC;IAEN,MAAM,aAAa,GAAsC,EAAE,CAAC;IAE5D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,GAAG;YAC/F,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;YAChE,MAAM,EAAE,SAAS,CAAC,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,QAAQ,CAAC,IAAI;YACjB,OAAO,EAAE,UAAU,QAAQ,CAAC,OAAO,cAAc,QAAQ,CAAC,aAAa,cAAc,QAAQ,CAAC,aAAa,GAAG;YAC9G,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC;YACxE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;SACvC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,YAAY,CAAC,UAAU;YAC3B,OAAO,EAAE,2BAA2B,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,GAAG;YACtG,QAAQ,EAAE,YAAY,CAAC,SAAS;YAChC,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,SAAS,CAAC,UAAU;YACxB,OAAO,EAAE,aAAa,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,MAAM,EAAE;YACnE,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,SAAS,CAAC,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG,MAAM;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACnE,OAAO,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;IACvB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,aAAa,CAAC,IAAI,CAAC;gBACjB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,OAAO,EAAE,KAAK,CAAC,IAAI;gBACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,OAAO,GAAG,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,+BAA+B,CAAC;QACrD,QAAQ;QACR,SAAS;QACT,YAAY;QACZ,SAAS;KACV,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG;QACzB,IAAI;QACJ,sBAAsB,EAAE,YAAY,EAAE,UAAU,IAAI,IAAI;QACxD,mBAAmB,EAAE,SAAS,EAAE,UAAU,IAAI,IAAI;QAClD,UAAU;QACV,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAC3C,WAAW;QACX,iBAAiB;QACjB,OAAO;QACP,QAAQ;KACT,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,mBAAmB;QAClC,WAAW,EAAE,MAAM,EAAE;QACrB,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,WAAW;QAC1B,WAAW,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,UAAU,CAAC,kBAAkB,CAAC;YAC5C,QAAQ;YACR,MAAM,EAAE;gBACN,gBAAgB,EAAE,UAAU,CAAC,MAAM;gBACnC,iBAAiB,EAAE,SAAS,CAAC,MAAM;gBACnC,aAAa,EAAE,MAAM,CAAC,MAAM;gBAC5B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,CAAC,MAAM;gBACzD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC,MAAM;aACpD;SACF;QACD,cAAc;QACd,YAAY,EAAE;YACZ,UAAU,EAAE,YAAY,EAAE,UAAU,IAAI,IAAI;YAC5C,SAAS,EAAE,YAAY,EAAE,SAAS,IAAI,IAAI;YAC1C,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,IAAI;YACpC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI;YAClC,eAAe,EAAE,YAAY,EAAE,eAAe,IAAI,EAAE;YACpD,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI;SACnC;QACD,SAAS,EAAE;YACT,WAAW,EAAE,SAAS,EAAE,WAAW,IAAI,IAAI;YAC3C,aAAa,EAAE,SAAS,EAAE,aAAa,IAAI,IAAI;YAC/C,UAAU,EAAE,SAAS,EAAE,UAAU,IAAI,IAAI;YACzC,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,IAAI;YACjC,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,IAAI,IAAI;YACvD,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,IAAI;YACnC,UAAU,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI;SACzC;QACD,OAAO;QACP,WAAW;QACX,QAAQ;QACR,iBAAiB;QACjB,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;QACpD,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAuB;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS;YACxC,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,EAAE;YAC/C,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,OAAO;YAC1C,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;SAChC,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY,EAAE,MAAuB;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAChH,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS;QAChC,CAAC,CAAC;YACA,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO;YACjC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS;YACrC,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,iBAAiB;YACrD,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB;SAC1D;QACD,CAAC,CAAC,IAAI,CAAC;IACT,OAAO;QACL,IAAI,EAAE,aAAa,MAAM,CAAC,EAAE,EAAE;QAC9B,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;QACxC,QAAQ,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QACrF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI;QACvC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK;QACrC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;QACvD,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;QACvD,YAAY,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5F,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAAC,OAA+B,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAClF,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAA,gCAAgB,EAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACvD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;QAC7C,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QACrC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,GAAG;KAChB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS;SAClE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAErF,MAAM,QAAQ,GAAG,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,UAAU,CAAC;QAC9B,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACnC,aAAa;QACb,eAAe;QACf,OAAO,EAAE,gBAAgB,CAAC,OAAO;KAClC,CAAC,CAAC;IAEH,OAAO;QACL,aAAa,EAAE,uBAAuB;QACtC,WAAW,EAAE,MAAM,EAAE;QACrB,WAAW,EAAE,MAAM,CAAC,EAAE;QACtB,OAAO,EAAE,KAAK,CAAC,WAAW;QAC1B,WAAW,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,YAAY;YACZ,QAAQ;SACT;QACD,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACnC,aAAa;QACb,eAAe;QACf,iBAAiB,EAAE;YACjB,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,IAAI;YAClD,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,mBAAmB,IAAI,IAAI;YAClE,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ;YAC3C,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ;YAC3C,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS;YAC7C,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,cAAc;YACvD,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,aAAa;SACtD;QACD,cAAc,EAAE,gBAAgB,CAAC,cAAc;KAChD,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAAC,OAA+B,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAClF,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,qBAAqB,CAAC;QAClC,EAAE;QACF,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,GAAG;KAChB,EAAE,GAAG,CAAC,CAAC;IAER,MAAM,sBAAsB,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;IAC9C,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAO;QACL,aAAa,EAAE,uBAAuB;QACtC,WAAW,EAAE,MAAM,EAAE;QACrB,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;QACxC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa;QAC5C,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB;QACpD,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;QACtC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;QAC9B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO;QAChC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;QACtC,gBAAgB,EAAE;YAChB,KAAK;YACL,SAAS;YACT,MAAM;YACN,QAAQ;YACR,SAAS;SACV;QACD,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3C,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACrC,WAAW,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,UAAU,CAAC;gBACvB,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;gBACxC,gBAAgB,EAAE;oBAChB,KAAK;oBACL,SAAS;oBACT,MAAM;oBACN,QAAQ;oBACR,SAAS;iBACV;gBACD,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;YACF,QAAQ;SACT;QACD,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,UAAiC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACrF,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAkC,EAAE,CAAC;IAEhD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC1B,IAAI,MAAM,KAAK,IAAI,IAAI,EAAE,GAAG,MAAM;YAAE,SAAS;QAC7C,IAAI,SAAS,KAAK,IAAI,IAAI,EAAE,GAAG,SAAS;YAAE,SAAS;QACnD,KAAK,CAAC,IAAI,CAAC;YACT,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;YAChE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,GAAG;YAC9F,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;SACzC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC1B,IAAI,MAAM,KAAK,IAAI,IAAI,EAAE,GAAG,MAAM;YAAE,SAAS;QAC7C,IAAI,SAAS,KAAK,IAAI,IAAI,EAAE,GAAG,SAAS;YAAE,SAAS;QACnD,KAAK,CAAC,IAAI,CAAC;YACT,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,QAAQ,CAAC,IAAI;YACjB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YACtC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC;YACxE,OAAO,EAAE,gBAAgB,QAAQ,CAAC,OAAO,EAAE;YAC3C,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;SACzC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC1B,IAAI,MAAM,KAAK,IAAI,IAAI,EAAE,GAAG,MAAM;YAAE,SAAS;QAC7C,IAAI,SAAS,KAAK,IAAI,IAAI,EAAE,GAAG,SAAS;YAAE,SAAS;QACnD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC,WAAW;gBAAE,SAAS;QACnE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC1B,IAAI,MAAM,KAAK,IAAI,IAAI,EAAE,GAAG,MAAM;YAAE,SAAS;QAC7C,IAAI,SAAS,KAAK,IAAI,IAAI,EAAE,GAAG,SAAS;YAAE,SAAS;QACnD,KAAK,CAAC,IAAI,CAAC;YACT,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,QAAQ,CAAC,UAAU;YACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,SAAS;YAC5B,OAAO,EAAE,yBAAyB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,GAAG;YAChG,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC1B,IAAI,MAAM,KAAK,IAAI,IAAI,EAAE,GAAG,MAAM;YAAE,SAAS;QAC7C,IAAI,SAAS,KAAK,IAAI,IAAI,EAAE,GAAG,SAAS;YAAE,SAAS;QACnD,IAAI,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;YAAE,SAAS;QAClF,KAAK,CAAC,IAAI,CAAC;YACT,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,QAAQ,CAAC,UAAU;YACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,MAAM,EAAE;YACvD,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,OAAO,GAAG,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,wBAAwB,CACvC,KAAK,EACL,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,EAC3E,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CACtE,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,sBAAsB;QACrC,WAAW,EAAE,MAAM,EAAE;QACrB,OAAO,EAAE,KAAK,CAAC,WAAW;QAC1B,IAAI;QACJ,EAAE;QACF,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;QACxC,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE;YACT,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,MAAM;YACxE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM;YACrE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM;YACvE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,MAAM;YAC9E,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,MAAM;SACxE;QACD,WAAW,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,UAAU,CAAC;gBACvB,IAAI;gBACJ,EAAE;gBACF,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;gBACxC,KAAK,EAAE,OAAO;aACf,CAAC;YACF,QAAQ;SACT;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,2BAA2B,CACzC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,KAAK,GAAG,EAAE;IAEV,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC;SACjC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACjF,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,4BAA4B,CAAC,KAW5C;IACC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,qBAAqB,CAAC;IACjD,IAAA,cAAS,EAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG;QACX,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS;QACT,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;QACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI;QAClD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;KAC/B,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,sBAAsB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,UAAU,OAAO,CAAC;IAC5F,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG;QACd,aAAa,EAAE,yBAAyB;QACxC,UAAU;QACV,GAAG,IAAI;KACR,CAAC;IACF,IAAA,kBAAa,EAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACtC,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Cross-Repo Dependency Graph
3
+ *
4
+ * Detects coupling between repositories that is INVISIBLE to single-repo graph analysis.
5
+ * This is the key gap for microservice architectures where:
6
+ * - Service A calls Service B over HTTP/gRPC
7
+ * - Service C publishes Kafka events that Service D consumes
8
+ * - All services share a contract package (@company/shared-types)
9
+ * - Environment variables encode service discovery (AUTH_SERVICE_URL)
10
+ *
11
+ * Each detected edge has:
12
+ * - A `via` classification (how the coupling manifests)
13
+ * - A `confidence` level (high = structural proof, low = pattern heuristic)
14
+ * - `evidence` lines that prove the coupling exists
15
+ *
16
+ * The graph is deterministic: same inputs → identical edges, same ordering.
17
+ * All regex patterns are pre-compiled and stateless.
18
+ */
19
+ import type { BrainRepositoryMap } from '@neurcode-ai/core';
20
+ import type { WorkspaceRepository } from '../utils/workspace-runtime';
21
+ export type CrossRepoEdgeVia = 'http-client' | 'grpc-client' | 'event-publish' | 'event-subscribe' | 'shared-contract' | 'env-service-url' | 'openapi-client' | 'db-shared-schema';
22
+ export type CrossRepoEdgeConfidence = 'high' | 'medium' | 'low';
23
+ export interface CrossRepoEdge {
24
+ /** Source: repo + file that creates the coupling */
25
+ fromRepo: string;
26
+ fromFile: string;
27
+ /** Target: resolved repo name (from workspace topology) */
28
+ toRepo: string;
29
+ /**
30
+ * toFile is set when we can pin the coupling to a specific file in the target repo
31
+ * (e.g., a shared contract file). Null when we only know the target service.
32
+ */
33
+ toFile: string | null;
34
+ /** Mechanism of the coupling */
35
+ via: CrossRepoEdgeVia;
36
+ /** How confident we are this is a real cross-repo dependency */
37
+ confidence: CrossRepoEdgeConfidence;
38
+ /**
39
+ * The actual code lines that prove this edge exists.
40
+ * Always populated — no evidence → no edge.
41
+ */
42
+ evidence: string[];
43
+ /**
44
+ * Human-readable explanation of what this coupling means for blast radius.
45
+ * Used in context packages and advisory reports.
46
+ */
47
+ impactSummary: string;
48
+ }
49
+ export interface CrossRepoBuildOptions {
50
+ /**
51
+ * Maximum number of files to scan per repo.
52
+ * Prevents runaway on massive monorepos. Default: 2000.
53
+ */
54
+ maxFilesPerRepo?: number;
55
+ /**
56
+ * Whether to follow symlinks during glob scan. Default: false.
57
+ */
58
+ followSymlinks?: boolean;
59
+ }
60
+ export interface CrossRepoGraph {
61
+ generatedAt: string;
62
+ repos: string[];
63
+ edges: CrossRepoEdge[];
64
+ stats: {
65
+ filesScanned: number;
66
+ edgesDetected: number;
67
+ byVia: Record<CrossRepoEdgeVia, number>;
68
+ byConfidence: Record<CrossRepoEdgeConfidence, number>;
69
+ };
70
+ }
71
+ export interface CrossRepoGraphBuilderInput {
72
+ /** All repos in the workspace topology */
73
+ repos: WorkspaceRepository[];
74
+ /**
75
+ * Pre-loaded brain maps keyed by repo name.
76
+ * Optional — if absent for a repo, we fall back to direct file scanning.
77
+ */
78
+ brainMaps?: Record<string, BrainRepositoryMap>;
79
+ options?: CrossRepoBuildOptions;
80
+ }
81
+ /**
82
+ * Build the cross-repo dependency graph for a workspace.
83
+ *
84
+ * This function:
85
+ * 1. Scans source files in each repo for cross-service coupling signals
86
+ * 2. Resolves each signal to a target repo using the workspace topology
87
+ * 3. Returns typed, evidence-backed edges with confidence scores
88
+ *
89
+ * Deterministic: same workspace config + same file contents → same graph.
90
+ */
91
+ export declare function buildCrossRepoGraph(input: CrossRepoGraphBuilderInput): CrossRepoGraph;
92
+ /**
93
+ * Get all repos that are directly affected when a change occurs in `repoName`.
94
+ * Returns repos that import from / depend on `repoName`.
95
+ */
96
+ export declare function getDownstreamRepos(graph: CrossRepoGraph, repoName: string): string[];
97
+ /**
98
+ * Get all repos that `repoName` directly depends on (calls/imports).
99
+ */
100
+ export declare function getUpstreamRepos(graph: CrossRepoGraph, repoName: string): string[];
101
+ /**
102
+ * Get all edges involving a specific file change in a specific repo.
103
+ * Used to find "what cross-repo coupling does this file touch?"
104
+ */
105
+ export declare function getEdgesForFile(graph: CrossRepoGraph, repoName: string, filePath: string): CrossRepoEdge[];
106
+ /**
107
+ * Get all edges that point TO a specific file in a repo.
108
+ * Used to find "who depends on this file?"
109
+ */
110
+ export declare function getEdgesPointingToFile(graph: CrossRepoGraph, repoName: string, filePath: string): CrossRepoEdge[];
111
+ //# sourceMappingURL=cross-repo-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-repo-graph.d.ts","sourceRoot":"","sources":["../../src/workspace/cross-repo-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,gCAAgC;IAChC,GAAG,EAAE,gBAAgB,CAAC;IAEtB,gEAAgE;IAChE,UAAU,EAAE,uBAAuB,CAAC;IAEpC;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxC,YAAY,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;KACvD,CAAC;CACH;AA4LD,MAAM,WAAW,0BAA0B;IACzC,0CAA0C;IAC1C,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAE7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAE/C,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,0BAA0B,GAAG,cAAc,CAsKrF;AAiGD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAUlF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CAIjB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CAIjB"}