soloforge 1.2.19 → 1.3.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 (719) hide show
  1. package/README.md +140 -3
  2. package/dist/adapters/claude_code/claude_md.d.ts +1 -2
  3. package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
  4. package/dist/adapters/claude_code/claude_md.js +47 -4
  5. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  6. package/dist/adapters/claude_code/hooks.d.ts.map +1 -1
  7. package/dist/adapters/claude_code/hooks.js +2 -1
  8. package/dist/adapters/claude_code/hooks.js.map +1 -1
  9. package/dist/adapters/claude_code/server.js +4 -3
  10. package/dist/adapters/claude_code/server.js.map +1 -1
  11. package/dist/adapters/claude_code/tools.d.ts +255 -1
  12. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  13. package/dist/adapters/claude_code/tools.js +981 -7
  14. package/dist/adapters/claude_code/tools.js.map +1 -1
  15. package/dist/adapters/codex/codex_config.d.ts.map +1 -1
  16. package/dist/adapters/codex/codex_config.js +3 -2
  17. package/dist/adapters/codex/codex_config.js.map +1 -1
  18. package/dist/adapters/codex/codex_rules.d.ts.map +1 -1
  19. package/dist/adapters/codex/codex_rules.js +2 -1
  20. package/dist/adapters/codex/codex_rules.js.map +1 -1
  21. package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
  22. package/dist/adapters/shared/workflow_template.js +2 -1
  23. package/dist/adapters/shared/workflow_template.js.map +1 -1
  24. package/dist/adapters/trae/trae_config.d.ts +1 -6
  25. package/dist/adapters/trae/trae_config.d.ts.map +1 -1
  26. package/dist/adapters/trae/trae_config.js +3 -2
  27. package/dist/adapters/trae/trae_config.js.map +1 -1
  28. package/dist/adapters/trae/trae_rules.d.ts.map +1 -1
  29. package/dist/adapters/trae/trae_rules.js +2 -1
  30. package/dist/adapters/trae/trae_rules.js.map +1 -1
  31. package/dist/bin/config_commands.d.ts.map +1 -1
  32. package/dist/bin/config_commands.js +34 -33
  33. package/dist/bin/config_commands.js.map +1 -1
  34. package/dist/bin/soloforge.d.ts.map +1 -1
  35. package/dist/bin/soloforge.js +1110 -157
  36. package/dist/bin/soloforge.js.map +1 -1
  37. package/dist/engine/adapter_prompt_contract.d.ts +60 -0
  38. package/dist/engine/adapter_prompt_contract.d.ts.map +1 -0
  39. package/dist/engine/adapter_prompt_contract.js +163 -0
  40. package/dist/engine/adapter_prompt_contract.js.map +1 -0
  41. package/dist/engine/architecture_design_contract.d.ts +49 -0
  42. package/dist/engine/architecture_design_contract.d.ts.map +1 -0
  43. package/dist/engine/architecture_design_contract.js +169 -0
  44. package/dist/engine/architecture_design_contract.js.map +1 -0
  45. package/dist/engine/artifact_contract_registry.d.ts.map +1 -1
  46. package/dist/engine/artifact_contract_registry.js +7 -14
  47. package/dist/engine/artifact_contract_registry.js.map +1 -1
  48. package/dist/engine/{batch1_manifest.d.ts → asset_manifest.d.ts} +8 -8
  49. package/dist/engine/asset_manifest.d.ts.map +1 -0
  50. package/dist/engine/{batch1_manifest.js → asset_manifest.js} +52 -9
  51. package/dist/engine/asset_manifest.js.map +1 -0
  52. package/dist/engine/audit_pool.d.ts.map +1 -1
  53. package/dist/engine/audit_pool.js +6 -4
  54. package/dist/engine/audit_pool.js.map +1 -1
  55. package/dist/engine/audit_sampler.d.ts.map +1 -1
  56. package/dist/engine/audit_sampler.js +2 -1
  57. package/dist/engine/audit_sampler.js.map +1 -1
  58. package/dist/engine/audit_verifier.d.ts.map +1 -1
  59. package/dist/engine/audit_verifier.js +5 -4
  60. package/dist/engine/audit_verifier.js.map +1 -1
  61. package/dist/engine/brainstorm_contract.d.ts +46 -0
  62. package/dist/engine/brainstorm_contract.d.ts.map +1 -0
  63. package/dist/engine/brainstorm_contract.js +136 -0
  64. package/dist/engine/brainstorm_contract.js.map +1 -0
  65. package/dist/engine/capability_action_advisor.d.ts.map +1 -1
  66. package/dist/engine/capability_action_advisor.js +8 -7
  67. package/dist/engine/capability_action_advisor.js.map +1 -1
  68. package/dist/engine/capability_registry.d.ts.map +1 -1
  69. package/dist/engine/capability_registry.js +0 -7
  70. package/dist/engine/capability_registry.js.map +1 -1
  71. package/dist/engine/capability_state_store.d.ts.map +1 -1
  72. package/dist/engine/capability_state_store.js +7 -6
  73. package/dist/engine/capability_state_store.js.map +1 -1
  74. package/dist/engine/change_coordinator.d.ts.map +1 -1
  75. package/dist/engine/change_coordinator.js +4 -3
  76. package/dist/engine/change_coordinator.js.map +1 -1
  77. package/dist/engine/chinese_semantic_priority.d.ts +62 -0
  78. package/dist/engine/chinese_semantic_priority.d.ts.map +1 -0
  79. package/dist/engine/chinese_semantic_priority.js +153 -0
  80. package/dist/engine/chinese_semantic_priority.js.map +1 -0
  81. package/dist/engine/coding_readiness_gate.d.ts +46 -0
  82. package/dist/engine/coding_readiness_gate.d.ts.map +1 -0
  83. package/dist/engine/coding_readiness_gate.js +175 -0
  84. package/dist/engine/coding_readiness_gate.js.map +1 -0
  85. package/dist/engine/cognitive_anchor.d.ts.map +1 -1
  86. package/dist/engine/cognitive_anchor.js +7 -6
  87. package/dist/engine/cognitive_anchor.js.map +1 -1
  88. package/dist/engine/command_execution_contract.d.ts.map +1 -1
  89. package/dist/engine/command_execution_contract.js +13 -12
  90. package/dist/engine/command_execution_contract.js.map +1 -1
  91. package/dist/engine/confidence_scorer.d.ts.map +1 -1
  92. package/dist/engine/confidence_scorer.js +2 -1
  93. package/dist/engine/confidence_scorer.js.map +1 -1
  94. package/dist/engine/config_precedence_contract.d.ts.map +1 -1
  95. package/dist/engine/config_precedence_contract.js +9 -8
  96. package/dist/engine/config_precedence_contract.js.map +1 -1
  97. package/dist/engine/conflict_gate.d.ts.map +1 -1
  98. package/dist/engine/conflict_gate.js +4 -3
  99. package/dist/engine/conflict_gate.js.map +1 -1
  100. package/dist/engine/consumable_asset_registry.d.ts +4 -0
  101. package/dist/engine/consumable_asset_registry.d.ts.map +1 -1
  102. package/dist/engine/consumable_asset_registry.js +307 -0
  103. package/dist/engine/consumable_asset_registry.js.map +1 -1
  104. package/dist/engine/consumption_trace_store.d.ts +50 -0
  105. package/dist/engine/consumption_trace_store.d.ts.map +1 -0
  106. package/dist/engine/consumption_trace_store.js +84 -0
  107. package/dist/engine/consumption_trace_store.js.map +1 -0
  108. package/dist/engine/contract_guard.d.ts.map +1 -1
  109. package/dist/engine/contract_guard.js +7 -6
  110. package/dist/engine/contract_guard.js.map +1 -1
  111. package/dist/engine/contract_registry.d.ts +113 -0
  112. package/dist/engine/contract_registry.d.ts.map +1 -0
  113. package/dist/engine/contract_registry.js +1632 -0
  114. package/dist/engine/contract_registry.js.map +1 -0
  115. package/dist/engine/contract_state_store.d.ts +67 -0
  116. package/dist/engine/contract_state_store.d.ts.map +1 -0
  117. package/dist/engine/contract_state_store.js +167 -0
  118. package/dist/engine/contract_state_store.js.map +1 -0
  119. package/dist/engine/convention_detector.d.ts.map +1 -1
  120. package/dist/engine/convention_detector.js +4 -3
  121. package/dist/engine/convention_detector.js.map +1 -1
  122. package/dist/engine/core_engineering_principles.d.ts.map +1 -1
  123. package/dist/engine/core_engineering_principles.js +4 -14
  124. package/dist/engine/core_engineering_principles.js.map +1 -1
  125. package/dist/engine/core_experience_principle.d.ts +194 -0
  126. package/dist/engine/core_experience_principle.d.ts.map +1 -0
  127. package/dist/engine/core_experience_principle.js +349 -0
  128. package/dist/engine/core_experience_principle.js.map +1 -0
  129. package/dist/engine/debt_reporter.d.ts.map +1 -1
  130. package/dist/engine/debt_reporter.js +3 -2
  131. package/dist/engine/debt_reporter.js.map +1 -1
  132. package/dist/engine/debt_tracker.d.ts.map +1 -1
  133. package/dist/engine/debt_tracker.js +8 -7
  134. package/dist/engine/debt_tracker.js.map +1 -1
  135. package/dist/engine/debug_log.d.ts +4 -1
  136. package/dist/engine/debug_log.d.ts.map +1 -1
  137. package/dist/engine/debug_log.js +4 -6
  138. package/dist/engine/debug_log.js.map +1 -1
  139. package/dist/engine/debugger.d.ts.map +1 -1
  140. package/dist/engine/debugger.js +33 -3
  141. package/dist/engine/debugger.js.map +1 -1
  142. package/dist/engine/decision_contract.d.ts.map +1 -1
  143. package/dist/engine/decision_contract.js +4 -3
  144. package/dist/engine/decision_contract.js.map +1 -1
  145. package/dist/engine/degradation.d.ts +58 -0
  146. package/dist/engine/degradation.d.ts.map +1 -0
  147. package/dist/engine/degradation.js +74 -0
  148. package/dist/engine/degradation.js.map +1 -0
  149. package/dist/engine/delivery.d.ts.map +1 -1
  150. package/dist/engine/delivery.js +16 -15
  151. package/dist/engine/delivery.js.map +1 -1
  152. package/dist/engine/delivery_readiness.d.ts +70 -0
  153. package/dist/engine/delivery_readiness.d.ts.map +1 -0
  154. package/dist/engine/delivery_readiness.js +198 -0
  155. package/dist/engine/delivery_readiness.js.map +1 -0
  156. package/dist/engine/dependency_scanner.d.ts.map +1 -1
  157. package/dist/engine/dependency_scanner.js +6 -5
  158. package/dist/engine/dependency_scanner.js.map +1 -1
  159. package/dist/engine/deprecated_contract.d.ts +21 -0
  160. package/dist/engine/deprecated_contract.d.ts.map +1 -0
  161. package/dist/engine/deprecated_contract.js +14 -0
  162. package/dist/engine/deprecated_contract.js.map +1 -0
  163. package/dist/engine/detail_discipline.d.ts +40 -0
  164. package/dist/engine/detail_discipline.d.ts.map +1 -0
  165. package/dist/engine/detail_discipline.js +107 -0
  166. package/dist/engine/detail_discipline.js.map +1 -0
  167. package/dist/engine/developer_sovereignty.d.ts.map +1 -1
  168. package/dist/engine/developer_sovereignty.js +6 -5
  169. package/dist/engine/developer_sovereignty.js.map +1 -1
  170. package/dist/engine/diagnostic_registry.d.ts +64 -0
  171. package/dist/engine/diagnostic_registry.d.ts.map +1 -0
  172. package/dist/engine/diagnostic_registry.js +176 -0
  173. package/dist/engine/diagnostic_registry.js.map +1 -0
  174. package/dist/engine/diff_ownership.d.ts.map +1 -1
  175. package/dist/engine/diff_ownership.js +9 -8
  176. package/dist/engine/diff_ownership.js.map +1 -1
  177. package/dist/engine/diff_ownership_store.d.ts.map +1 -1
  178. package/dist/engine/diff_ownership_store.js +8 -7
  179. package/dist/engine/diff_ownership_store.js.map +1 -1
  180. package/dist/engine/documentation_governance.d.ts +55 -0
  181. package/dist/engine/documentation_governance.d.ts.map +1 -0
  182. package/dist/engine/documentation_governance.js +249 -0
  183. package/dist/engine/documentation_governance.js.map +1 -0
  184. package/dist/engine/dual_layer_mechanism_registry.d.ts +6 -4
  185. package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -1
  186. package/dist/engine/dual_layer_mechanism_registry.js +731 -11
  187. package/dist/engine/dual_layer_mechanism_registry.js.map +1 -1
  188. package/dist/engine/enforcement_guard.d.ts +84 -0
  189. package/dist/engine/enforcement_guard.d.ts.map +1 -0
  190. package/dist/engine/enforcement_guard.js +319 -0
  191. package/dist/engine/enforcement_guard.js.map +1 -0
  192. package/dist/engine/escape_report.d.ts.map +1 -1
  193. package/dist/engine/escape_report.js +4 -3
  194. package/dist/engine/escape_report.js.map +1 -1
  195. package/dist/engine/evolution_regression_gate.d.ts +42 -0
  196. package/dist/engine/evolution_regression_gate.d.ts.map +1 -0
  197. package/dist/engine/evolution_regression_gate.js +159 -0
  198. package/dist/engine/evolution_regression_gate.js.map +1 -0
  199. package/dist/engine/existing_system_analysis.d.ts +37 -0
  200. package/dist/engine/existing_system_analysis.d.ts.map +1 -0
  201. package/dist/engine/existing_system_analysis.js +151 -0
  202. package/dist/engine/existing_system_analysis.js.map +1 -0
  203. package/dist/engine/exploration.d.ts.map +1 -1
  204. package/dist/engine/exploration.js +7 -6
  205. package/dist/engine/exploration.js.map +1 -1
  206. package/dist/engine/extension_contract.d.ts +50 -0
  207. package/dist/engine/extension_contract.d.ts.map +1 -0
  208. package/dist/engine/extension_contract.js +158 -0
  209. package/dist/engine/extension_contract.js.map +1 -0
  210. package/dist/engine/extension_platform_contracts.d.ts +712 -0
  211. package/dist/engine/extension_platform_contracts.d.ts.map +1 -0
  212. package/dist/engine/extension_platform_contracts.js +42 -0
  213. package/dist/engine/extension_platform_contracts.js.map +1 -0
  214. package/dist/engine/extension_scenario_registry.d.ts +30 -0
  215. package/dist/engine/extension_scenario_registry.d.ts.map +1 -0
  216. package/dist/engine/extension_scenario_registry.js +976 -0
  217. package/dist/engine/extension_scenario_registry.js.map +1 -0
  218. package/dist/engine/failure_classifier.d.ts.map +1 -1
  219. package/dist/engine/failure_classifier.js +9 -8
  220. package/dist/engine/failure_classifier.js.map +1 -1
  221. package/dist/engine/failure_report.d.ts +74 -0
  222. package/dist/engine/failure_report.d.ts.map +1 -0
  223. package/dist/engine/failure_report.js +143 -0
  224. package/dist/engine/failure_report.js.map +1 -0
  225. package/dist/engine/feasibility_checker.d.ts.map +1 -1
  226. package/dist/engine/feasibility_checker.js +5 -4
  227. package/dist/engine/feasibility_checker.js.map +1 -1
  228. package/dist/engine/first_principles.d.ts +35 -0
  229. package/dist/engine/first_principles.d.ts.map +1 -0
  230. package/dist/engine/first_principles.js +128 -0
  231. package/dist/engine/first_principles.js.map +1 -0
  232. package/dist/engine/{batch1_scenario_registry.d.ts → foundation_scenario_registry.d.ts} +15 -15
  233. package/dist/engine/foundation_scenario_registry.d.ts.map +1 -0
  234. package/dist/engine/{batch1_scenario_registry.js → foundation_scenario_registry.js} +22 -25
  235. package/dist/engine/foundation_scenario_registry.js.map +1 -0
  236. package/dist/engine/{batch1_scenario_runners.d.ts → foundation_scenario_runners.d.ts} +1 -1
  237. package/dist/engine/foundation_scenario_runners.d.ts.map +1 -0
  238. package/dist/engine/{batch1_scenario_runners.js → foundation_scenario_runners.js} +8 -7
  239. package/dist/engine/foundation_scenario_runners.js.map +1 -0
  240. package/dist/engine/git_deps.d.ts.map +1 -1
  241. package/dist/engine/git_deps.js +2 -1
  242. package/dist/engine/git_deps.js.map +1 -1
  243. package/dist/engine/governance_report.d.ts +9 -1
  244. package/dist/engine/governance_report.d.ts.map +1 -1
  245. package/dist/engine/governance_report.js +25 -10
  246. package/dist/engine/governance_report.js.map +1 -1
  247. package/dist/engine/impact_analyzer.d.ts.map +1 -1
  248. package/dist/engine/impact_analyzer.js +5 -4
  249. package/dist/engine/impact_analyzer.js.map +1 -1
  250. package/dist/engine/implementation_roadmap_registry.d.ts +1 -1
  251. package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -1
  252. package/dist/engine/implementation_roadmap_registry.js +237 -92
  253. package/dist/engine/implementation_roadmap_registry.js.map +1 -1
  254. package/dist/engine/input_material_contract_registry.d.ts.map +1 -1
  255. package/dist/engine/input_material_contract_registry.js +4 -3
  256. package/dist/engine/input_material_contract_registry.js.map +1 -1
  257. package/dist/engine/instruction_contract.d.ts +68 -0
  258. package/dist/engine/instruction_contract.d.ts.map +1 -0
  259. package/dist/engine/instruction_contract.js +123 -0
  260. package/dist/engine/instruction_contract.js.map +1 -0
  261. package/dist/engine/intent_expander.d.ts.map +1 -1
  262. package/dist/engine/intent_expander.js +339 -1
  263. package/dist/engine/intent_expander.js.map +1 -1
  264. package/dist/engine/intent_router.d.ts +11 -2
  265. package/dist/engine/intent_router.d.ts.map +1 -1
  266. package/dist/engine/intent_router.js +121 -1
  267. package/dist/engine/intent_router.js.map +1 -1
  268. package/dist/engine/intent_signal_extractor.d.ts +3 -0
  269. package/dist/engine/intent_signal_extractor.d.ts.map +1 -1
  270. package/dist/engine/intent_signal_extractor.js +49 -0
  271. package/dist/engine/intent_signal_extractor.js.map +1 -1
  272. package/dist/engine/io_controller.d.ts.map +1 -1
  273. package/dist/engine/io_controller.js +8 -7
  274. package/dist/engine/io_controller.js.map +1 -1
  275. package/dist/engine/java_quality_guard.d.ts.map +1 -1
  276. package/dist/engine/java_quality_guard.js +5 -18
  277. package/dist/engine/java_quality_guard.js.map +1 -1
  278. package/dist/engine/job_manager.d.ts.map +1 -1
  279. package/dist/engine/job_manager.js +8 -7
  280. package/dist/engine/job_manager.js.map +1 -1
  281. package/dist/engine/knowledge_acceptance_registry.d.ts +35 -0
  282. package/dist/engine/knowledge_acceptance_registry.d.ts.map +1 -0
  283. package/dist/engine/knowledge_acceptance_registry.js +271 -0
  284. package/dist/engine/knowledge_acceptance_registry.js.map +1 -0
  285. package/dist/engine/knowledge_asset_audit.d.ts +65 -0
  286. package/dist/engine/knowledge_asset_audit.d.ts.map +1 -0
  287. package/dist/engine/knowledge_asset_audit.js +230 -0
  288. package/dist/engine/knowledge_asset_audit.js.map +1 -0
  289. package/dist/engine/knowledge_asset_consumer.d.ts +150 -0
  290. package/dist/engine/knowledge_asset_consumer.d.ts.map +1 -0
  291. package/dist/engine/knowledge_asset_consumer.js +279 -0
  292. package/dist/engine/knowledge_asset_consumer.js.map +1 -0
  293. package/dist/engine/knowledge_asset_generation_gate.d.ts +38 -0
  294. package/dist/engine/knowledge_asset_generation_gate.d.ts.map +1 -0
  295. package/dist/engine/knowledge_asset_generation_gate.js +131 -0
  296. package/dist/engine/knowledge_asset_generation_gate.js.map +1 -0
  297. package/dist/engine/knowledge_asset_migration.d.ts +117 -0
  298. package/dist/engine/knowledge_asset_migration.d.ts.map +1 -0
  299. package/dist/engine/knowledge_asset_migration.js +204 -0
  300. package/dist/engine/knowledge_asset_migration.js.map +1 -0
  301. package/dist/engine/knowledge_asset_schema.d.ts +97 -0
  302. package/dist/engine/knowledge_asset_schema.d.ts.map +1 -0
  303. package/dist/engine/knowledge_asset_schema.js +413 -0
  304. package/dist/engine/knowledge_asset_schema.js.map +1 -0
  305. package/dist/engine/knowledge_config_loader.d.ts.map +1 -1
  306. package/dist/engine/knowledge_config_loader.js +5 -4
  307. package/dist/engine/knowledge_config_loader.js.map +1 -1
  308. package/dist/engine/knowledge_consumption_snapshot.d.ts +91 -0
  309. package/dist/engine/knowledge_consumption_snapshot.d.ts.map +1 -0
  310. package/dist/engine/knowledge_consumption_snapshot.js +113 -0
  311. package/dist/engine/knowledge_consumption_snapshot.js.map +1 -0
  312. package/dist/engine/knowledge_evolution.d.ts +82 -0
  313. package/dist/engine/knowledge_evolution.d.ts.map +1 -0
  314. package/dist/engine/knowledge_evolution.js +272 -0
  315. package/dist/engine/knowledge_evolution.js.map +1 -0
  316. package/dist/engine/knowledge_lifecycle.d.ts +83 -0
  317. package/dist/engine/knowledge_lifecycle.d.ts.map +1 -0
  318. package/dist/engine/knowledge_lifecycle.js +247 -0
  319. package/dist/engine/knowledge_lifecycle.js.map +1 -0
  320. package/dist/engine/knowledge_manager.d.ts.map +1 -1
  321. package/dist/engine/knowledge_manager.js +9 -8
  322. package/dist/engine/knowledge_manager.js.map +1 -1
  323. package/dist/engine/knowledge_scenario_registry.d.ts +21 -0
  324. package/dist/engine/knowledge_scenario_registry.d.ts.map +1 -0
  325. package/dist/engine/knowledge_scenario_registry.js +337 -0
  326. package/dist/engine/knowledge_scenario_registry.js.map +1 -0
  327. package/dist/engine/knowledge_sovereignty.d.ts.map +1 -1
  328. package/dist/engine/knowledge_sovereignty.js +5 -4
  329. package/dist/engine/knowledge_sovereignty.js.map +1 -1
  330. package/dist/engine/knowledge_template_contracts.d.ts +244 -0
  331. package/dist/engine/knowledge_template_contracts.d.ts.map +1 -0
  332. package/dist/engine/knowledge_template_contracts.js +26 -0
  333. package/dist/engine/knowledge_template_contracts.js.map +1 -0
  334. package/dist/engine/language_policy.d.ts +78 -0
  335. package/dist/engine/language_policy.d.ts.map +1 -0
  336. package/dist/engine/language_policy.js +139 -0
  337. package/dist/engine/language_policy.js.map +1 -0
  338. package/dist/engine/language_policy_contract.d.ts +52 -0
  339. package/dist/engine/language_policy_contract.d.ts.map +1 -0
  340. package/dist/engine/language_policy_contract.js +78 -0
  341. package/dist/engine/language_policy_contract.js.map +1 -0
  342. package/dist/engine/llm_gateway.d.ts.map +1 -1
  343. package/dist/engine/llm_gateway.js +10 -9
  344. package/dist/engine/llm_gateway.js.map +1 -1
  345. package/dist/engine/local_docker_acceptance.d.ts +94 -0
  346. package/dist/engine/local_docker_acceptance.d.ts.map +1 -0
  347. package/dist/engine/local_docker_acceptance.js +312 -0
  348. package/dist/engine/local_docker_acceptance.js.map +1 -0
  349. package/dist/engine/logger.d.ts +64 -0
  350. package/dist/engine/logger.d.ts.map +1 -0
  351. package/dist/engine/logger.js +115 -0
  352. package/dist/engine/logger.js.map +1 -0
  353. package/dist/engine/main_path_integration_contract.d.ts.map +1 -1
  354. package/dist/engine/main_path_integration_contract.js +43 -42
  355. package/dist/engine/main_path_integration_contract.js.map +1 -1
  356. package/dist/engine/mechanism_contract_registry.d.ts.map +1 -1
  357. package/dist/engine/mechanism_contract_registry.js +448 -17
  358. package/dist/engine/mechanism_contract_registry.js.map +1 -1
  359. package/dist/engine/mechanism_family_registry.d.ts +48 -0
  360. package/dist/engine/mechanism_family_registry.d.ts.map +1 -0
  361. package/dist/engine/mechanism_family_registry.js +197 -0
  362. package/dist/engine/mechanism_family_registry.js.map +1 -0
  363. package/dist/engine/metric_governance.d.ts +51 -0
  364. package/dist/engine/metric_governance.d.ts.map +1 -0
  365. package/dist/engine/metric_governance.js +138 -0
  366. package/dist/engine/metric_governance.js.map +1 -0
  367. package/dist/engine/migration_guard.d.ts.map +1 -1
  368. package/dist/engine/migration_guard.js +6 -5
  369. package/dist/engine/migration_guard.js.map +1 -1
  370. package/dist/engine/mutation_audit.d.ts.map +1 -1
  371. package/dist/engine/mutation_audit.js +6 -5
  372. package/dist/engine/mutation_audit.js.map +1 -1
  373. package/dist/engine/observability.d.ts +11 -0
  374. package/dist/engine/observability.d.ts.map +1 -1
  375. package/dist/engine/observability.js +60 -8
  376. package/dist/engine/observability.js.map +1 -1
  377. package/dist/engine/onboarding.d.ts.map +1 -1
  378. package/dist/engine/onboarding.js +17 -16
  379. package/dist/engine/onboarding.js.map +1 -1
  380. package/dist/engine/plan_proposal_gate.d.ts +131 -0
  381. package/dist/engine/plan_proposal_gate.d.ts.map +1 -0
  382. package/dist/engine/plan_proposal_gate.js +340 -0
  383. package/dist/engine/plan_proposal_gate.js.map +1 -0
  384. package/dist/engine/platform_context.d.ts +44 -0
  385. package/dist/engine/platform_context.d.ts.map +1 -0
  386. package/dist/engine/platform_context.js +165 -0
  387. package/dist/engine/platform_context.js.map +1 -0
  388. package/dist/engine/policy_drift_detector.d.ts +20 -0
  389. package/dist/engine/policy_drift_detector.d.ts.map +1 -1
  390. package/dist/engine/policy_drift_detector.js +85 -5
  391. package/dist/engine/policy_drift_detector.js.map +1 -1
  392. package/dist/engine/regression_matrix.d.ts.map +1 -1
  393. package/dist/engine/regression_matrix.js +15 -14
  394. package/dist/engine/regression_matrix.js.map +1 -1
  395. package/dist/engine/release_compatibility.d.ts +62 -0
  396. package/dist/engine/release_compatibility.d.ts.map +1 -0
  397. package/dist/engine/release_compatibility.js +145 -0
  398. package/dist/engine/release_compatibility.js.map +1 -0
  399. package/dist/engine/release_gate.d.ts +29 -0
  400. package/dist/engine/release_gate.d.ts.map +1 -0
  401. package/dist/engine/release_gate.js +675 -0
  402. package/dist/engine/release_gate.js.map +1 -0
  403. package/dist/engine/release_gate_scenario_registry.d.ts +50 -0
  404. package/dist/engine/release_gate_scenario_registry.d.ts.map +1 -0
  405. package/dist/engine/release_gate_scenario_registry.js +514 -0
  406. package/dist/engine/release_gate_scenario_registry.js.map +1 -0
  407. package/dist/engine/release_readiness_gate.d.ts +36 -0
  408. package/dist/engine/release_readiness_gate.d.ts.map +1 -0
  409. package/dist/engine/release_readiness_gate.js +1050 -0
  410. package/dist/engine/release_readiness_gate.js.map +1 -0
  411. package/dist/engine/retention_policy.d.ts +46 -0
  412. package/dist/engine/retention_policy.d.ts.map +1 -0
  413. package/dist/engine/retention_policy.js +124 -0
  414. package/dist/engine/retention_policy.js.map +1 -0
  415. package/dist/engine/risk_sampler.d.ts.map +1 -1
  416. package/dist/engine/risk_sampler.js +4 -3
  417. package/dist/engine/risk_sampler.js.map +1 -1
  418. package/dist/engine/runtime_safety.d.ts.map +1 -1
  419. package/dist/engine/runtime_safety.js +18 -17
  420. package/dist/engine/runtime_safety.js.map +1 -1
  421. package/dist/engine/scaffolder.d.ts.map +1 -1
  422. package/dist/engine/scaffolder.js +4 -3
  423. package/dist/engine/scaffolder.js.map +1 -1
  424. package/dist/engine/scope_lease.d.ts.map +1 -1
  425. package/dist/engine/scope_lease.js +4 -3
  426. package/dist/engine/scope_lease.js.map +1 -1
  427. package/dist/engine/semantic_evidence.d.ts.map +1 -1
  428. package/dist/engine/semantic_evidence.js +4 -3
  429. package/dist/engine/semantic_evidence.js.map +1 -1
  430. package/dist/engine/state_fact_classifier.d.ts +47 -0
  431. package/dist/engine/state_fact_classifier.d.ts.map +1 -0
  432. package/dist/engine/state_fact_classifier.js +158 -0
  433. package/dist/engine/state_fact_classifier.js.map +1 -0
  434. package/dist/engine/state_update_bypass.d.ts +19 -0
  435. package/dist/engine/state_update_bypass.d.ts.map +1 -0
  436. package/dist/engine/state_update_bypass.js +17 -0
  437. package/dist/engine/state_update_bypass.js.map +1 -0
  438. package/dist/engine/task_context.d.ts +25 -3
  439. package/dist/engine/task_context.d.ts.map +1 -1
  440. package/dist/engine/task_context.js +132 -35
  441. package/dist/engine/task_context.js.map +1 -1
  442. package/dist/engine/task_planner.d.ts.map +1 -1
  443. package/dist/engine/task_planner.js +6 -5
  444. package/dist/engine/task_planner.js.map +1 -1
  445. package/dist/engine/team_awareness.d.ts.map +1 -1
  446. package/dist/engine/team_awareness.js +2 -1
  447. package/dist/engine/team_awareness.js.map +1 -1
  448. package/dist/engine/technology_decision.d.ts +38 -0
  449. package/dist/engine/technology_decision.d.ts.map +1 -0
  450. package/dist/engine/technology_decision.js +120 -0
  451. package/dist/engine/technology_decision.js.map +1 -0
  452. package/dist/engine/template_manifest_io.d.ts +47 -0
  453. package/dist/engine/template_manifest_io.d.ts.map +1 -0
  454. package/dist/engine/template_manifest_io.js +151 -0
  455. package/dist/engine/template_manifest_io.js.map +1 -0
  456. package/dist/engine/template_mechanism_auditor.d.ts.map +1 -1
  457. package/dist/engine/template_mechanism_auditor.js +5 -4
  458. package/dist/engine/template_mechanism_auditor.js.map +1 -1
  459. package/dist/engine/template_sync.d.ts +98 -0
  460. package/dist/engine/template_sync.d.ts.map +1 -0
  461. package/dist/engine/template_sync.js +355 -0
  462. package/dist/engine/template_sync.js.map +1 -0
  463. package/dist/engine/test_generator.d.ts.map +1 -1
  464. package/dist/engine/test_generator.js +5 -4
  465. package/dist/engine/test_generator.js.map +1 -1
  466. package/dist/engine/test_quality.d.ts.map +1 -1
  467. package/dist/engine/test_quality.js +5 -4
  468. package/dist/engine/test_quality.js.map +1 -1
  469. package/dist/engine/test_strategy.d.ts +58 -0
  470. package/dist/engine/test_strategy.d.ts.map +1 -0
  471. package/dist/engine/test_strategy.js +93 -0
  472. package/dist/engine/test_strategy.js.map +1 -0
  473. package/dist/engine/tool_invocation_contract_registry.d.ts.map +1 -1
  474. package/dist/engine/tool_invocation_contract_registry.js +43 -32
  475. package/dist/engine/tool_invocation_contract_registry.js.map +1 -1
  476. package/dist/engine/traceability.d.ts.map +1 -1
  477. package/dist/engine/traceability.js +6 -5
  478. package/dist/engine/traceability.js.map +1 -1
  479. package/dist/engine/user_feedback_contract.d.ts.map +1 -1
  480. package/dist/engine/user_feedback_contract.js +81 -19
  481. package/dist/engine/user_feedback_contract.js.map +1 -1
  482. package/dist/engine/user_promise.d.ts +67 -0
  483. package/dist/engine/user_promise.d.ts.map +1 -0
  484. package/dist/engine/user_promise.js +436 -0
  485. package/dist/engine/user_promise.js.map +1 -0
  486. package/dist/engine/verification_contract.d.ts +132 -0
  487. package/dist/engine/verification_contract.d.ts.map +1 -0
  488. package/dist/engine/verification_contract.js +296 -0
  489. package/dist/engine/verification_contract.js.map +1 -0
  490. package/dist/engine/verifier.d.ts +6 -10
  491. package/dist/engine/verifier.d.ts.map +1 -1
  492. package/dist/engine/verifier.js +149 -1
  493. package/dist/engine/verifier.js.map +1 -1
  494. package/dist/engine/workflow_contract_registry.d.ts.map +1 -1
  495. package/dist/engine/workflow_contract_registry.js +127 -10
  496. package/dist/engine/workflow_contract_registry.js.map +1 -1
  497. package/dist/engine/workflow_template_pack.d.ts +71 -0
  498. package/dist/engine/workflow_template_pack.d.ts.map +1 -0
  499. package/dist/engine/workflow_template_pack.js +246 -0
  500. package/dist/engine/workflow_template_pack.js.map +1 -0
  501. package/dist/engine/workspace_lease.d.ts +69 -0
  502. package/dist/engine/workspace_lease.d.ts.map +1 -0
  503. package/dist/engine/workspace_lease.js +153 -0
  504. package/dist/engine/workspace_lease.js.map +1 -0
  505. package/dist/engine/workspace_resumer.d.ts.map +1 -1
  506. package/dist/engine/workspace_resumer.js +9 -8
  507. package/dist/engine/workspace_resumer.js.map +1 -1
  508. package/dist/engine/zero_config_init.d.ts.map +1 -1
  509. package/dist/engine/zero_config_init.js +16 -15
  510. package/dist/engine/zero_config_init.js.map +1 -1
  511. package/dist/git/operations.d.ts.map +1 -1
  512. package/dist/git/operations.js +18 -17
  513. package/dist/git/operations.js.map +1 -1
  514. package/dist/index.js +10 -9
  515. package/dist/index.js.map +1 -1
  516. package/dist/knowledge/conflict_detector.d.ts.map +1 -1
  517. package/dist/knowledge/conflict_detector.js +2 -1
  518. package/dist/knowledge/conflict_detector.js.map +1 -1
  519. package/dist/knowledge/health_checker.d.ts.map +1 -1
  520. package/dist/knowledge/health_checker.js +5 -4
  521. package/dist/knowledge/health_checker.js.map +1 -1
  522. package/dist/knowledge/index_manager.js +4 -4
  523. package/dist/knowledge/index_manager.js.map +1 -1
  524. package/dist/knowledge/loader.d.ts.map +1 -1
  525. package/dist/knowledge/loader.js +20 -14
  526. package/dist/knowledge/loader.js.map +1 -1
  527. package/dist/knowledge/writer.d.ts.map +1 -1
  528. package/dist/knowledge/writer.js +7 -6
  529. package/dist/knowledge/writer.js.map +1 -1
  530. package/dist/types.d.ts +34 -2
  531. package/dist/types.d.ts.map +1 -1
  532. package/package.json +13 -4
  533. package/templates/knowledge/acceptance_templates/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +27 -3
  534. package/templates/knowledge/acceptance_templates/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +27 -3
  535. package/templates/knowledge/acceptance_templates//345/211/215/347/253/257/351/241/265/351/235/242/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -3
  536. package/templates/knowledge/acceptance_templates//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +31 -3
  537. package/templates/knowledge/acceptance_templates//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +29 -3
  538. package/templates/knowledge/acceptance_templates//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +27 -3
  539. package/templates/knowledge/acceptance_templates//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +27 -3
  540. package/templates/knowledge/acceptance_templates//346/212/200/346/234/257/351/200/211/345/236/213/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -3
  541. package/templates/knowledge/acceptance_templates//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210/346/250/241/347/211/210.md +26 -3
  542. package/templates/knowledge/acceptance_templates//346/216/245/345/217/243/350/256/276/350/256/241/346/250/241/347/211/210.md +27 -3
  543. package/templates/knowledge/acceptance_templates//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +28 -3
  544. package/templates/knowledge/acceptance_templates//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210/346/250/241/347/211/210.md +26 -3
  545. package/templates/knowledge/acceptance_templates//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/351/252/214/346/224/266/346/270/205/345/215/225.md +31 -3
  546. package/templates/knowledge/acceptance_templates//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +27 -3
  547. package/templates/knowledge/acceptance_templates//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +27 -3
  548. package/templates/knowledge/acceptance_templates//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +26 -3
  549. package/templates/knowledge/acceptance_templates//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +27 -3
  550. package/templates/knowledge/acceptance_templates//351/200/232/347/224/250/350/264/250/351/207/217/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -3
  551. package/templates/knowledge/acceptance_templates//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +27 -3
  552. package/templates/knowledge/acceptance_templates//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +27 -3
  553. package/templates/knowledge/checklists//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +29 -0
  554. package/templates/knowledge/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +30 -8
  555. package/templates/knowledge/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -0
  556. package/templates/knowledge/checklists//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/351/252/214/346/224/266/346/270/205/345/215/225.md +29 -0
  557. package/templates/knowledge/checklists//347/237/245/350/257/206/346/263/250/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -0
  558. package/templates/knowledge/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +29 -0
  559. package/templates/knowledge/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +29 -0
  560. package/templates/knowledge/domain//345/244/232/347/247/237/346/210/267.md +28 -3
  561. package/templates/knowledge/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +27 -3
  562. package/templates/knowledge/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +30 -3
  563. package/templates/knowledge/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +32 -3
  564. package/templates/knowledge/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +31 -3
  565. package/templates/knowledge/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +31 -3
  566. package/templates/knowledge/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +28 -3
  567. package/templates/knowledge/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +30 -3
  568. package/templates/knowledge/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +31 -3
  569. package/templates/knowledge/patterns/core/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +24 -7
  570. package/templates/knowledge/patterns/core/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +25 -7
  571. package/templates/knowledge/patterns/core/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +24 -7
  572. package/templates/knowledge/patterns/core//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237.md +24 -7
  573. package/templates/knowledge/patterns/core//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +25 -7
  574. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/344/270/216/345/257/206/351/222/245/346/213/246/346/210/252.md +24 -7
  575. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +25 -7
  576. package/templates/knowledge/patterns/core//345/206/262/347/252/201/351/227/250/347/246/201.md +24 -7
  577. package/templates/knowledge/patterns/core//345/206/263/347/255/226/347/275/221/345/205/263.md +26 -7
  578. package/templates/knowledge/patterns/core//345/217/230/345/274/202/345/256/241/350/256/241.md +25 -7
  579. package/templates/knowledge/patterns/core//345/233/236/345/275/222/347/237/251/351/230/265.md +24 -7
  580. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +24 -7
  581. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +24 -7
  582. package/templates/knowledge/patterns/core//345/271/266/345/217/221/351/224/201.md +26 -7
  583. package/templates/knowledge/patterns/core//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +26 -7
  584. package/templates/knowledge/patterns/core//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +24 -7
  585. package/templates/knowledge/patterns/core//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +25 -7
  586. package/templates/knowledge/patterns/core//346/265/201/345/274/217/345/277/203/350/267/263.md +25 -7
  587. package/templates/knowledge/patterns/core//347/237/245/350/257/206/344/270/273/346/235/203.md +25 -7
  588. package/templates/knowledge/patterns/core//350/257/255/344/271/211/350/257/201/346/215/256.md +24 -7
  589. package/templates/knowledge/patterns/core//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +25 -7
  590. package/templates/knowledge/patterns/core//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +24 -7
  591. package/templates/knowledge/patterns/core//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +24 -7
  592. package/templates/knowledge/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +29 -3
  593. package/templates/knowledge/procedures//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201/346/265/201/347/250/213.md +33 -0
  594. package/templates/knowledge/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +30 -3
  595. package/templates/knowledge/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +30 -3
  596. package/templates/knowledge/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +30 -3
  597. package/templates/knowledge/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +34 -0
  598. package/templates/knowledge/procedures//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +30 -3
  599. package/templates/knowledge/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +34 -0
  600. package/templates/knowledge/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +30 -3
  601. package/templates/knowledge/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +34 -0
  602. package/templates/knowledge/procedures//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +30 -3
  603. package/templates/knowledge/procedures//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273/346/265/201/347/250/213.md +29 -3
  604. package/templates/knowledge/procedures//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266/345/267/245/344/275/234/346/265/201.md +99 -0
  605. package/templates/knowledge/procedures//346/236/266/346/236/204/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +95 -0
  606. package/templates/knowledge/procedures//346/236/266/346/236/204/350/256/276/350/256/241/346/265/201/347/250/213.md +30 -3
  607. package/templates/knowledge/procedures//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +30 -3
  608. package/templates/knowledge/procedures//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201/345/267/245/344/275/234/346/265/201.md +91 -0
  609. package/templates/knowledge/procedures//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230/346/265/201/347/250/213.md +30 -3
  610. package/templates/knowledge/procedures//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220/345/267/245/344/275/234/346/265/201.md +97 -0
  611. package/templates/knowledge/procedures//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +30 -3
  612. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +30 -3
  613. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/347/250/213.md +30 -3
  614. package/templates/knowledge/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +33 -0
  615. package/templates/knowledge/procedures//347/274/272/351/231/267/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +30 -3
  616. package/templates/knowledge/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +30 -3
  617. package/templates/knowledge/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +30 -3
  618. package/templates/knowledge/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +30 -3
  619. package/templates/knowledge/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +30 -3
  620. package/templates/knowledge/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +30 -3
  621. package/templates/knowledge/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +30 -3
  622. package/templates/knowledge/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +30 -3
  623. package/templates/knowledge/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +30 -3
  624. package/templates/knowledge/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +30 -3
  625. package/templates/knowledge/procedures//351/252/214/350/257/201/350/256/241/345/210/222/346/265/201/347/250/213.md +30 -3
  626. package/templates/knowledge/review_rules//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  627. package/templates/knowledge/review_rules//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  628. package/templates/knowledge/review_rules//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +23 -3
  629. package/templates/knowledge/review_rules//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  630. package/templates/knowledge/review_rules//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245/350/247/204/345/210/231.md +23 -3
  631. package/templates/knowledge/review_rules//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  632. package/templates/knowledge/review_rules//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  633. package/templates/knowledge/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +36 -0
  634. package/templates/knowledge/rules//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +65 -0
  635. package/templates/knowledge/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +36 -0
  636. package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +36 -0
  637. package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/346/250/241/346/235/277/345/214/205/350/247/204/345/210/231.md +38 -0
  638. package/templates/knowledge/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +36 -0
  639. package/templates/knowledge/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +36 -0
  640. package/templates/knowledge/rules//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260/350/247/204/345/210/231.md +36 -0
  641. package/templates/knowledge/rules//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +38 -0
  642. package/templates/knowledge/rules//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203/350/247/204/345/210/231.md +64 -0
  643. package/templates/knowledge/rules//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206/350/247/204/345/210/231.md +36 -0
  644. package/templates/knowledge/rules//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246/350/247/204/345/210/231.md +49 -0
  645. package/templates/knowledge/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +50 -0
  646. package/templates/knowledge/rules//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/345/216/237/345/210/231.md +35 -0
  647. package/templates/knowledge/rules//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275/350/247/204/345/210/231.md +36 -0
  648. package/templates/knowledge/rules//346/274/224/350/277/233/345/233/236/345/275/222/350/247/204/345/210/231.md +51 -0
  649. package/templates/knowledge/rules//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247/350/247/204/345/210/231.md +74 -0
  650. package/templates/knowledge/rules//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246/350/247/204/345/210/231.md +35 -0
  651. package/templates/knowledge/rules//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214/350/247/204/345/210/231.md +36 -0
  652. package/templates/knowledge/rules//347/237/245/350/257/206/350/265/204/344/272/247/346/262/273/347/220/206/350/247/204/345/210/231.md +61 -0
  653. package/templates/knowledge/rules//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206/350/247/204/345/210/231.md +73 -0
  654. package/templates/knowledge/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +67 -0
  655. package/templates/knowledge/rules//350/204/221/346/232/264/344/270/216/346/226/271/346/241/210/346/216/242/347/264/242/350/247/204/345/210/231.md +66 -0
  656. package/templates/knowledge/rules//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250/350/247/204/345/210/231.md +59 -0
  657. package/templates/knowledge/rules//350/267/250/345/271/263/345/217/260/350/267/257/345/276/204/345/256/211/345/205/250/350/247/204/345/210/231.md +38 -0
  658. package/templates/knowledge/rules//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246/350/247/204/345/210/231.md +36 -0
  659. package/templates/knowledge/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +35 -0
  660. package/templates/knowledge/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +36 -0
  661. package/templates/knowledge/rules//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226/350/247/204/345/210/231.md +36 -0
  662. package/templates/knowledge/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +36 -0
  663. package/templates/knowledge/templates//345/256/241/346/237/245/346/221/230/350/246/201.md +26 -7
  664. package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +30 -3
  665. package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +29 -3
  666. package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +33 -3
  667. package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +31 -3
  668. package/templates/patterns/React/345/210/227/350/241/250/350/241/250/346/240/274/350/247/204/350/214/203.md +30 -3
  669. package/templates/patterns/React/346/216/245/345/217/243/351/233/206/346/210/220/350/247/204/350/214/203.md +31 -3
  670. package/templates/patterns/React/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +31 -3
  671. package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +30 -3
  672. package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +30 -3
  673. package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +31 -3
  674. package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +30 -3
  675. package/templates/patterns/Vue/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +29 -3
  676. package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +33 -3
  677. package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +28 -3
  678. package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +32 -3
  679. package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +31 -3
  680. package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +31 -3
  681. package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +30 -3
  682. package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +34 -3
  683. package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +32 -3
  684. package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +30 -3
  685. package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +31 -3
  686. package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +31 -3
  687. package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +31 -3
  688. package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +28 -3
  689. package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +32 -3
  690. package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +31 -3
  691. package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +30 -3
  692. package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +34 -3
  693. package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +31 -3
  694. package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +29 -3
  695. package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +33 -3
  696. package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +34 -3
  697. package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +30 -3
  698. package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +30 -3
  699. package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +31 -3
  700. package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +34 -3
  701. package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +28 -3
  702. package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +30 -3
  703. package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +32 -3
  704. package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +29 -3
  705. package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +32 -3
  706. package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +31 -3
  707. package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +30 -3
  708. package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +29 -3
  709. package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +30 -3
  710. package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +31 -3
  711. package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +31 -3
  712. package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +33 -3
  713. package/templates/patterns//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241/350/247/204/350/214/203.md +30 -3
  714. package/dist/engine/batch1_manifest.d.ts.map +0 -1
  715. package/dist/engine/batch1_manifest.js.map +0 -1
  716. package/dist/engine/batch1_scenario_registry.d.ts.map +0 -1
  717. package/dist/engine/batch1_scenario_registry.js.map +0 -1
  718. package/dist/engine/batch1_scenario_runners.d.ts.map +0 -1
  719. package/dist/engine/batch1_scenario_runners.js.map +0 -1
@@ -24,6 +24,9 @@ import { evaluatePrivacyGate, redactSensitiveText, } from "./privacy_secret_cont
24
24
  import { getTaskLevel, getRequiredPrinciples, getEnforcementLevel, listCorePrinciples } from "./core_engineering_principles.js";
25
25
  import { listMechanismLayerMaps } from "./dual_layer_mechanism_registry.js";
26
26
  import { debugLog } from "./debug_log.js";
27
+ import { evaluateCoreExperiencePrinciple, recordCepIntegration } from "./core_experience_principle.js";
28
+ import { validateTechnologyDecision } from "./technology_decision.js";
29
+ import { validateBrainstormSession } from "./brainstorm_contract.js";
27
30
  // 配置优先级:委托给 resolveCurrentProjectConfigReports (shared function)
28
31
  // ── 产物类型映射 ──
29
32
  function mapToArtifactKind(kind) {
@@ -268,6 +271,196 @@ const DIRECT_ANSWER_TEMPLATE = Handlebars.compile(`## 任务
268
271
  - 不修改任何项目文件
269
272
  - 给出明确结论和依据
270
273
  `);
274
+ // ── 工作流专属模板 ──
275
+ // 7. architecture_design_prompt: 架构设计工作流
276
+ const ARCHITECTURE_DESIGN_TEMPLATE = Handlebars.compile(`## 任务
277
+ {{intent}}
278
+
279
+ ## 工作流: 架构设计 (architecture_design)
280
+
281
+ ### 输入材料约束
282
+ - 必须消费所有输入端的原型说明、需求文档、业务流程和已有技术约束
283
+ - 多端输入时必须覆盖每个端的设计要求
284
+ - 未覆盖的输入材料不得声称架构设计已完成
285
+
286
+ ### 架构边界
287
+ - 必须明确前后端边界、模块划分、API 契约、数据流和部署拓扑
288
+ - 必须包含 Mermaid 序列图(关键业务流程、登录鉴权、权限校验、跨端协作、异步任务)
289
+ - Mermaid 必须语法可渲染,不得使用伪代码
290
+
291
+ ### 技术栈策略
292
+ - 后端默认优先 Java,除非用户项目已有明确技术栈或用户确认 override
293
+ - 前端默认优先最新稳定 Vue 生态 + TypeScript,除非用户项目已有明确技术栈或用户确认 override
294
+ - 前端技术栈必须说明语言、构建工具、路由、状态管理、接口类型、测试和代码规范
295
+ - 不同前端端默认不同项目仓库或独立应用边界;合并仓库必须用户确认
296
+
297
+ ### 不确定项处理
298
+ - 不确定项必须给推荐、理由、备选、风险和需要用户确认的问题
299
+ - 架构级不确定项必须先接头脑风暴/多方案探索,再接决策主权和用户确认
300
+
301
+ ### 输出目录
302
+ - 输出目录名必须由用户确认,不得静默使用任务名或目录名
303
+
304
+ {{#if output_artifact}}
305
+ ## 产物要求
306
+ - 产物类型: {{output_artifact.kind}}
307
+ - 输出路径: {{output_artifact.path}}
308
+ {{/if}}
309
+
310
+ {{#if matched_knowledge}}
311
+ ## 适用知识
312
+ {{#each matched_knowledge}}
313
+ ### {{this.name}}
314
+ {{this.content}}
315
+
316
+ {{/each}}
317
+ {{/if}}
318
+
319
+ ## 验收标准
320
+ - 架构设计文档章节齐全,无空白占位
321
+ - Mermaid 序列图语法正确、可渲染
322
+ - 技术栈选择有依据(默认策略或 override evidence)
323
+ - 不确定项全部列出并有推荐方案
324
+ - 输出目录已请求用户确认
325
+ `);
326
+ // 8. gap_analysis_prompt: 现有系统差距分析工作流
327
+ const GAP_ANALYSIS_TEMPLATE = Handlebars.compile(`## 任务
328
+ {{intent}}
329
+
330
+ ## 工作流: 现有系统差距分析 (existing_system_gap_analysis)
331
+
332
+ ### 只读分析约束
333
+ - 本工作流为只读分析,不得直接修改项目源码
334
+ - 必须读取真实代码和相关文档,不能只读需求文档
335
+ - 分析结论必须区分 fact / inference / assumption / unknown,并带 confidence 和 evidence_refs
336
+
337
+ ### 现有系统证据要求
338
+ - 必须先判断项目类型: existing_system / empty_project / new_system / unknown
339
+ - existing_system 必须完成现有系统分析(L1 项目指纹、L2 相关域、L3 影响面)
340
+ - 现有项目技术栈、目录结构、命名风格等优先于 SoloForge 默认策略
341
+
342
+ ### 差距清单
343
+ - 必须围绕新需求 vs 现有能力,列出现有能力、缺失能力、复用模块
344
+ - 必须包含: required_changes / optional_changes / out_of_scope
345
+ - 必须列出: 兼容风险、数据风险、权限风险、接口风险、前后端影响
346
+
347
+ ### 影响面与主链路
348
+ - 必须生成 MainlineIntegrationPlan: entry_points / route_bindings / api_bindings / service_calls / data_bindings
349
+ - 实现后必须反查新增文件是否被真实消费
350
+ - VerificationPlan 必须从 RequirementGapAnalysis 生成
351
+
352
+ ### 禁止直接修改
353
+ - 差距分析完成后不得直接进入编码
354
+ - 必须生成分析报告,等待后续编码工作流消费
355
+
356
+ {{#if matched_knowledge}}
357
+ ## 适用知识
358
+ {{#each matched_knowledge}}
359
+ ### {{this.name}}
360
+ {{this.content}}
361
+
362
+ {{/each}}
363
+ {{/if}}
364
+
365
+ ## 验收标准
366
+ - 项目类型判断正确
367
+ - 现有系统分析基于真实代码,每条结论有 evidence_refs
368
+ - 差距清单完整(现有能力 + 缺失能力 + 风险)
369
+ - MainlineIntegrationPlan 列出所有绑定点
370
+ - 不存在 AI 把 inference/assumption 写成 fact 的情况
371
+ `);
372
+ // 9. test_first_coding_prompt: 测试优先编码工作流
373
+ const TEST_FIRST_CODING_TEMPLATE = Handlebars.compile(`## 任务
374
+ {{intent}}
375
+
376
+ ## 工作流: 测试优先编码 (test_first_coding)
377
+
378
+ ### 测试先行约束
379
+ - 编码不是第一步,必须先通过 CodingReadinessGate
380
+ - 必须生成 TestFirstPlan 或合法 not_applicable_with_reason
381
+ - 有测试框架且行为可断言时,必须先写失败测试或回归测试
382
+ - 不能自动测试时,必须先写 verification_case_first 或 manual_acceptance_first
383
+
384
+ ### 上游约束消费
385
+ - 必须消费上游约束: ExistingSystemAnalysis / RequirementGapAnalysis / ArchitectureDesignContract
386
+ - 未消费上游约束不得开始实现
387
+ - ArchitectureDesignContract 中未确认的不确定项不得编码
388
+
389
+ ### 最小实现
390
+ - readiness_status=blocked/manual_required 时不得写实现代码
391
+ - 实现必须最小化,不得超出需求范围
392
+ - 新增代码必须被真实主链路消费,未被消费不得 completed
393
+
394
+ ### 验证结果
395
+ - 实现后必须执行 VerificationPlan
396
+ - 测试失败不得删除测试、降低断言、skip 后声称通过
397
+ - 必须产出 VerificationEvidence
398
+
399
+ {{#if matched_knowledge}}
400
+ ## 适用知识
401
+ {{#each matched_knowledge}}
402
+ ### {{this.name}}
403
+ {{this.content}}
404
+
405
+ {{/each}}
406
+ {{/if}}
407
+
408
+ ## 项目上下文
409
+ - 技术栈: {{tech_stack}}
410
+ - 产品类型: {{product_profile}}
411
+
412
+ ## 约束
413
+ - 只允许修改以下路径: {{scope.allowed_paths}}
414
+ {{#unless scope.new_files_allowed}}
415
+ - 不允许新建文件
416
+ {{/unless}}
417
+
418
+ ## 验收标准
419
+ - CodingReadinessGate 已通过
420
+ - TestFirstPlan 已生成并有测试用例
421
+ - 上游约束(差距分析、架构设计)已消费
422
+ - 实现后 VerificationPlan 已执行
423
+ - 新增代码被真实主链路消费
424
+ `);
425
+ // 10. local_acceptance_prompt: 本地浏览器验收工作流
426
+ const LOCAL_ACCEPTANCE_TEMPLATE = Handlebars.compile(`## 任务
427
+ {{intent}}
428
+
429
+ ## 工作流: 本地浏览器验收 (local_browser_acceptance)
430
+
431
+ ### 本地服务约束
432
+ - 必须识别项目运行方式: docker_compose > dockerfile > dev_server > manual_required
433
+ - 服务启动后必须健康检查,不得服务未 ready 就跑浏览器验收
434
+ - 健康检查必须验证: container healthy / backend health endpoint / frontend reachable
435
+
436
+ ### 浏览器/HTTP 验收
437
+ - 验收用例必须覆盖: 任务相关页面、路由、核心交互、API 联动、错误态、loading 态
438
+ - 必须产出截图或 trace 引用作为证据
439
+ - 空验收用例或无 URL 不得通过
440
+
441
+ ### 截图/trace/URL 证据
442
+ - 必须记录每个验收步骤的 target_url
443
+ - 必须记录 assertion_results(通过/失败)
444
+ - 必须记录 console_errors 和 network_failures(如有)
445
+ - 证据必须关联到 latest run(build hash 或 timestamp)
446
+
447
+ ### 修复重跑
448
+ - 浏览器验收失败必须在授权范围内自动修复
449
+ - 修复后必须重新 build/redeploy/retest,不得用旧构建结果
450
+ - retry budget 耗尽、scope 不足、外部服务不可用时必须 manual_required
451
+
452
+ ### 最终交付
453
+ - 必须给用户 frontend/backend/docs/swagger 本地可访问 URL
454
+ - 必须给启动/停止命令和人工查验说明
455
+ - 未给最终本地 URL 不得 delivered
456
+
457
+ ## 验收标准
458
+ - 服务已启动并健康检查通过
459
+ - 浏览器/HTTP 验收全部通过(或有明确 failure 证据)
460
+ - 最终 URL 已提供给用户
461
+ - build hash/timestamp 已记录
462
+ - 失败用例已触发修复循环或 manual_required
463
+ `);
271
464
  /** 保留旧模板名为 CODE_EXECUTION_TEMPLATE 的别名(兼容旧测试) */
272
465
  const PROMPT_TEMPLATE = CODE_EXECUTION_TEMPLATE;
273
466
  /** 将 PromptInjectionPlan 渲染为 Markdown 段落(统一注入,避免模板内重复) */
@@ -295,6 +488,7 @@ function renderPromptInjectionPlan(plan) {
295
488
  }
296
489
  /**
297
490
  * 根据执行形态选择 prompt 模板。
491
+ * 模板使用独立工作流专属模板,包含对应约束注入。
298
492
  */
299
493
  function chooseTemplate(templateName) {
300
494
  switch (templateName) {
@@ -303,6 +497,10 @@ function chooseTemplate(templateName) {
303
497
  case "read_only_analysis_prompt": return READ_ONLY_ANALYSIS_TEMPLATE;
304
498
  case "verification_only_prompt": return VERIFICATION_ONLY_TEMPLATE;
305
499
  case "direct_answer_prompt": return DIRECT_ANSWER_TEMPLATE;
500
+ case "architecture_design_prompt": return ARCHITECTURE_DESIGN_TEMPLATE;
501
+ case "gap_analysis_prompt": return GAP_ANALYSIS_TEMPLATE;
502
+ case "test_first_coding_prompt": return TEST_FIRST_CODING_TEMPLATE;
503
+ case "local_acceptance_prompt": return LOCAL_ACCEPTANCE_TEMPLATE;
306
504
  case "code_execution_prompt":
307
505
  default: return CODE_EXECUTION_TEMPLATE;
308
506
  }
@@ -457,6 +655,18 @@ export async function expand(input) {
457
655
  outputArtifactRecord.workflow_id = workflowContract.id;
458
656
  }
459
657
  debugLog("意图膨胀: 工作流契约已解析,workflow=%s", workflowContract?.id ?? "none");
658
+ // CEP: 工作流解析后核心体验评估
659
+ const cepWfResult = evaluateCoreExperiencePrinciple({
660
+ task_id: input.task_id ?? "", workflow_id: "workflow_resolve",
661
+ has_mainline_hooks: !!workflowContract, has_owner_contracts: !!workflowContract,
662
+ natural_language_entry: true, requires_internal_contract_knowledge: false,
663
+ user_path_steps: 3, has_failures: !workflowContract, hard_fail_downgraded: false,
664
+ forced_heavy_process: false, has_sufficient_evidence: !!workflowContract,
665
+ output_too_long_no_summary: false, report_only_no_repair: false,
666
+ failed_but_marked_done: false, auto_repair_overreach: false,
667
+ repair_reverified: false, outputs_raw_noise: false,
668
+ });
669
+ recordCepIntegration("workflow_resolve", cepWfResult);
460
670
  if (!workflowContract) {
461
671
  return {
462
672
  task_id: "",
@@ -722,6 +932,40 @@ export async function expand(input) {
722
932
  if (filteredEntries.length > 0) {
723
933
  knowledgeIndex.markUsed(filteredEntries.map((e) => e.id));
724
934
  }
935
+ // 记录 expander 真实消费 trace — 按 trigger 语义过滤
936
+ // mechanism:enrich 资产始终消费(机制级规则),output_artifact.kind=X 仅当 route 匹配时消费
937
+ const { recordConsumptionTrace, CONSUMER_FIELD_CONTRACTS } = await import("./consumption_trace_store.js");
938
+ const { listConsumableAssetsByConsumer } = await import("./consumable_asset_registry.js");
939
+ const expanderRegistryAssets = listConsumableAssetsByConsumer("intent_expander")
940
+ .filter(a => a.consumption_mode === "required");
941
+ for (const asset of expanderRegistryAssets) {
942
+ // Route 语义过滤:output_artifact.kind=X 只在 route 需要时消费
943
+ const artifactMatch = asset.trigger?.match(/^output_artifact\.kind=(.+)$/);
944
+ if (artifactMatch) {
945
+ if (routeDecision?.output_artifact?.kind !== artifactMatch[1])
946
+ continue;
947
+ }
948
+ recordConsumptionTrace({
949
+ consumer: "expander",
950
+ asset_id: asset.id,
951
+ fields_consumed: CONSUMER_FIELD_CONTRACTS.expander,
952
+ matched_reason: `route=${routeDecision?.route ?? "unknown"} shape=${routeDecision?.execution_shape ?? "unknown"} trigger=${asset.trigger ?? "none"}`,
953
+ task_id_or_route: routeDecision?.route ?? "expand",
954
+ consumed_at: new Date().toISOString(),
955
+ });
956
+ }
957
+ if (filteredEntries.length > 0 && routeDecision) {
958
+ for (const entry of filteredEntries.slice(0, 5)) {
959
+ recordConsumptionTrace({
960
+ consumer: "expander",
961
+ asset_id: entry.id,
962
+ fields_consumed: CONSUMER_FIELD_CONTRACTS.expander,
963
+ matched_reason: `route=${routeDecision.route} shape=${routeDecision.execution_shape} injected`,
964
+ task_id_or_route: routeDecision.route,
965
+ consumed_at: new Date().toISOString(),
966
+ });
967
+ }
968
+ }
725
969
  // 治理校验:validateInjectionReport
726
970
  const governanceFindings = validateInjectionReport(injectionReport);
727
971
  const hardFails = governanceFindings.filter((f) => f.severity === "hard_fail");
@@ -883,6 +1127,98 @@ ${breakerResult.brainstorm.decision_questions.map((q, i) => `${i + 1}. ${q.quest
883
1127
  : "请先补齐阻塞输入,或在产物中标记 [Manual Confirm] 后再生成产物。"}
884
1128
  `;
885
1129
  }
1130
+ // problem-16: 技术决策验证 — 膨胀涉及架构决策时校验 human gate
1131
+ let technologyDecisionEvidence;
1132
+ let techDecisionRequiresManual = false;
1133
+ if (routeDecision?.execution_shape === "code_execution" && classification.complexity === "high") {
1134
+ const decisionContract = {
1135
+ decision_id: `td-${input.task_id ?? "unknown"}`,
1136
+ decision_scope: "architecture",
1137
+ options: [],
1138
+ recommended_option: "",
1139
+ rejected_options: [],
1140
+ evidence: [],
1141
+ falsification: [],
1142
+ failure_conditions: [],
1143
+ validation_plan: [],
1144
+ rollback_or_exit_plan: [],
1145
+ human_gate_required: true,
1146
+ human_gate_reason: "高复杂度架构变更需要人工确认",
1147
+ executable_without_human: false,
1148
+ };
1149
+ const decisionResult = validateTechnologyDecision(decisionContract);
1150
+ // 治理结果写入 workflow_trace.governance_findings
1151
+ if (!decisionResult.valid) {
1152
+ for (const violation of decisionResult.violations) {
1153
+ workflowGovernanceFindings.push({
1154
+ severity: "hard_fail",
1155
+ rule: "technology_decision_human_gate",
1156
+ message: `技术决策校验: ${violation}`,
1157
+ });
1158
+ }
1159
+ techDecisionRequiresManual = true;
1160
+ technologyDecisionEvidence = `技术决策校验: 需要人工确认 (${decisionResult.violations.join(", ")})`;
1161
+ prompt += `\n\n---\n\n## ⚠ 技术决策校验\n${technologyDecisionEvidence}\n> 高复杂度架构变更需要人工确认后方可执行。`;
1162
+ }
1163
+ else {
1164
+ // 校验通过也记录结构化 evidence
1165
+ workflowGovernanceFindings.push({
1166
+ severity: "info",
1167
+ rule: "technology_decision_human_gate",
1168
+ message: "技术决策校验通过: 已确认 human gate 合规",
1169
+ });
1170
+ }
1171
+ }
1172
+ // problem-41: 脑暴完整性校验 — 熔断触发时验证候选方案
1173
+ let brainstormEvidence;
1174
+ let brainstormRequiresClarification = false;
1175
+ if (circuitBreakerOutput?.brainstorm) {
1176
+ const session = {
1177
+ session_id: `bs-${input.task_id ?? "unknown"}`,
1178
+ trigger: "ambiguous_goal",
1179
+ problem_statement: input.intent,
1180
+ options: circuitBreakerOutput.brainstorm.decision_questions.map((q, i) => ({
1181
+ option_id: `opt-${i}`,
1182
+ title: q.question,
1183
+ description: `${q.option_a} vs ${q.option_b}`,
1184
+ pros: [q.option_a],
1185
+ cons: [q.option_b],
1186
+ applicable_when: [],
1187
+ not_applicable_when: [],
1188
+ failure_conditions: [],
1189
+ verification_method: [],
1190
+ estimated_risk: "medium",
1191
+ reversibility: "partially_reversible",
1192
+ required_human_decisions: [],
1193
+ })),
1194
+ recommended_option_id: "opt-0",
1195
+ rejected_option_ids: [],
1196
+ human_gate_required: true,
1197
+ evidence_refs: [],
1198
+ brainstorm_status: "options_ready",
1199
+ };
1200
+ const brainstormResult = validateBrainstormSession(session);
1201
+ // 治理结果写入 workflow_trace.governance_findings
1202
+ if (!brainstormResult.valid) {
1203
+ for (const violation of brainstormResult.violations) {
1204
+ workflowGovernanceFindings.push({
1205
+ severity: "hard_fail",
1206
+ rule: "brainstorm_completeness",
1207
+ message: `脑暴完整性校验: ${violation}`,
1208
+ });
1209
+ }
1210
+ brainstormRequiresClarification = true;
1211
+ brainstormEvidence = `脑暴校验: ${brainstormResult.violations.join(", ")}`;
1212
+ prompt += `\n\n---\n\n## ⚠ 脑暴完整性校验\n${brainstormEvidence}`;
1213
+ }
1214
+ else {
1215
+ workflowGovernanceFindings.push({
1216
+ severity: "info",
1217
+ rule: "brainstorm_completeness",
1218
+ message: "脑暴完整性校验通过: 候选方案已就绪",
1219
+ });
1220
+ }
1221
+ }
886
1222
  const expandTools = getExpandContractTools();
887
1223
  if (contractNotes.length > 0) {
888
1224
  prompt += "\n\n---\n\n## 输入材料契约检查\n" + contractNotes.join("\n");
@@ -960,7 +1296,9 @@ ${breakerResult.brainstorm.decision_questions.map((q, i) => `${i + 1}. ${q.quest
960
1296
  required_mechanisms: workflowContract.required_mechanisms,
961
1297
  governance_findings: workflowGovernanceFindings,
962
1298
  degraded,
963
- state_transition_target: workflowContract.allowed_state_transitions[0] ?? "none",
1299
+ state_transition_target: techDecisionRequiresManual || brainstormRequiresClarification
1300
+ ? "manual_required"
1301
+ : (workflowContract.allowed_state_transitions[0] ?? "none"),
964
1302
  checked_items: buildCheckedItems(workflowContract, routeDecision),
965
1303
  } : undefined,
966
1304
  };
@@ -1 +1 @@
1
- {"version":3,"file":"intent_expander.js","sourceRoot":"","sources":["../../src/engine/intent_expander.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC;;;;;;;;GAQG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,GAAG,MAAM,SAAS,CAAC;AAC1B,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAA6E,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACpI,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,GAIxB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAoD,MAAM,iCAAiC,CAAC;AACpH,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAA0C,MAAM,iCAAiC,CAAC;AACvI,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,kCAAkC,EAA+B,MAAM,iCAAiC,CAAC;AAClH,OAAO,EAKL,mBAAmB,EACnB,mBAAmB,GAIpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAChI,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,iEAAiE;AAEjE,eAAe;AAEf,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IAC/C,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAC3C,IAAI,IAAI,KAAK,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IACvD,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IAC/C,IAAI,IAAI,KAAK,sBAAsB;QAAE,OAAO,sBAAsB,CAAC;IACnE,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,kBAAkB,CAAC;IAC3D,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC;IACnD,2BAA2B;IAC3B,OAAO,IAAoB,CAAC;AAC9B,CAAC;AAED,kBAAkB;AAElB,kDAAkD;AAClD,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDlD,CAAC,CAAC;AAEH,kEAAkE;AAClE,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CnD,CAAC,CAAC;AAEH,gDAAgD;AAChD,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDrD,CAAC,CAAC;AAEH,4CAA4C;AAC5C,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCtD,CAAC,CAAC;AAEH,4CAA4C;AAC5C,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;CAoBrD,CAAC,CAAC;AAEH,wCAAwC;AACxC,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;CAOjD,CAAC,CAAC;AAEH,iDAAiD;AACjD,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEhD,0DAA0D;AAC1D,SAAS,yBAAyB,CAAC,IAAyE;IAC1G,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAsBD;;GAEG;AACH,SAAS,cAAc,CAAC,YAAgC;IACtD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,wBAAwB,CAAC,CAAC,OAAO,wBAAwB,CAAC;QAC/D,KAAK,0BAA0B,CAAC,CAAC,OAAO,0BAA0B,CAAC;QACnE,KAAK,2BAA2B,CAAC,CAAC,OAAO,2BAA2B,CAAC;QACrE,KAAK,0BAA0B,CAAC,CAAC,OAAO,0BAA0B,CAAC;QACnE,KAAK,sBAAsB,CAAC,CAAC,OAAO,sBAAsB,CAAC;QAC3D,KAAK,uBAAuB,CAAC;QAC7B,OAAO,CAAC,CAAC,OAAO,uBAAuB,CAAC;IAC1C,CAAC;AACH,CAAC;AAGD;;;;GAIG;AACH,SAAS,2BAA2B,CAClC,QAA6B,EAC7B,MAAc,EACd,OAAiB;IAEjB,MAAM,QAAQ,GAAwB;QACpC,GAAG,QAAQ;QACX,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAChE,uBAAuB,EAAE,CAAC,GAAG,QAAQ,CAAC,uBAAuB,CAAC;KAC/D,CAAC;IAEF,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,wCAAwC;QACxC,MAAM,cAAc,GAAG,uBAAuB,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,4BAA4B;QAC5B,MAAM,cAAc,GAAG,qCAAqC,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;YAAE,SAAS;QAEjE,IAAI,IAAI,GAAsB,MAAM,CAAC;QACrC,IAAI,qCAAqC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,IAAI,GAAG,SAAS,CAAC;aAC/D,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,IAAI,GAAG,KAAK,CAAC;aACpC,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,IAAI,GAAG,KAAK,CAAC;aACtD,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,IAAI,GAAG,MAAM,CAAC;QAEpE,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,gCAAgC;IAChC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CACxE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB;IAC7B,MAAM,QAAQ,GAAG,gCAAgC,CAAC,WAAW,CAAC,CAAC;IAC/D,OAAO;QACL,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,IAAI,EAAE;QACtD,eAAe,EAAE,QAAQ,EAAE,oBAAoB,IAAI,EAAE;KACtD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAkB;IAC7C,QAAQ,CAAC,kBAAkB,EACzB,KAAK,CAAC,cAAc,EAAE,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC;IAC/E,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC9E,IAAI,aAAa,GAAG,KAAK,CAAC,cAAc,IAAK,cAAsB,CAAC,cAAc,CAAC;IACnF,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAEnG,mBAAmB;IACnB,IAAI,gBAAgF,CAAC;IACrF,IAAI,CAAC;QACH,gBAAgB,GAAG,MAAM,kCAAkC,CAAC,WAAW,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QACjC,gBAAgB,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjF,CAAC;IACD,MAAM,cAAc,GAAa,gBAAgB,CAAC,QAAQ,CAAC;IAE3D,gEAAgE;IAChE,IAAI,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC;QACzF,aAAa,GAAG,2BAA2B,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACjG,CAAC;IAED,4CAA4C;IAC5C,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACtC,MAAM;QACN,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;KAC7H,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,IAAI,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC;IAC/F,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC;IAGnF,4CAA4C;IAC5C,iCAAiC;IACjC,IAAI,oBAAgD,CAAC;IACrD,IAAI,aAAa,EAAE,eAAe,IAAI,aAAa,CAAC,eAAe,KAAK,MAAM,IAAI,aAAa,CAAC,eAAe,KAAK,gBAAgB,EAAE,CAAC;QACrI,MAAM,YAAY,GAAG,iBAAiB,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,sCAAsC;YACtC,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,6BAA6B,UAAU,sCAAsC;gBACrF,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;gBAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzC,gBAAgB,EAAE,EAAE;gBACpB,iBAAiB,EAAE,EAAE;gBACrB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,CAAC,YAAY,CAAC;oBAC3B,YAAY,EAAE,EAAE;oBAChB,eAAe,EAAE,CAAC,YAAY,CAAC;iBAChC;aACF,CAAC;QACJ,CAAC;QACD,6CAA6C;QAC7C,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe;aACrD,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC;QACrC,2BAA2B;QAC3B,IAAI,aAAa,CAAC,eAAe,CAAC,MAAM,IAAI,aAAa,CAAC,eAAe,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACnG,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,OAAkB;gBACjC,MAAM,EAAE,0DAA0D,aAAa,CAAC,eAAe,CAAC,MAAM,sBAAsB,KAAK,CAAC,OAAO,EAAE;gBAC3I,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;gBAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzC,gBAAgB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE;gBAC3C,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI;gBACrC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,aAAa,CAAC,EAAE;aAC1H,CAAC;QACJ,CAAC;QACD,uBAAuB;QACvB,oBAAoB,GAAG,oBAAoB,CAAC;YAC1C,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK,CAAC,OAAkB;YACjC,WAAW,EAAE,SAAS;YACtB,UAAU,EAAE,iBAAiB;YAC7B,IAAI,EAAE,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAkB,CAAC;YACpE,oBAAoB,EAAE,kBAAkB;SACzC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,IAAI,gBAAgB,GAAuC,SAAS,CAAC;IACrE,IAAI,0BAA0B,GAA+D,EAAE,CAAC;IAChG,IAAI,aAAa,EAAE,CAAC;QAClB,gBAAgB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;QAClD,sCAAsC;QACtC,IAAI,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;YAC7C,oBAAoB,CAAC,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC;QACzD,CAAC;QACD,QAAQ,CAAC,4BAA4B,EAAE,gBAAgB,EAAE,EAAE,IAAI,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,uBAAuB,UAAU,cAAc,aAAa,CAAC,KAAK,wBAAwB,aAAa,CAAC,eAAe,6BAA6B;gBAC5J,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;gBAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzC,gBAAgB,EAAE,EAAE;gBACpB,iBAAiB,EAAE,EAAE;gBACrB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE;oBACd,WAAW,EAAE,MAAM;oBACnB,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,eAAe,EAAE,aAAa,CAAC,eAAe;oBAC9C,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;oBAChD,mBAAmB,EAAE,EAAE;oBACvB,mBAAmB,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,4BAA4B,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,eAAe,EAAE,EAAE,CAAC;oBACrK,QAAQ,EAAE,IAAI;oBACd,uBAAuB,EAAE,MAAM;iBAChC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,CAAC,QAAQ,CAAC;oBACvB,YAAY,EAAE,EAAE;oBAChB,eAAe,EAAE,CAAC,QAAQ,CAAC;iBAC5B;gBACD,sBAAsB,EAAE,oBAAoB;aAC7C,CAAC;QACJ,CAAC;QACD,yBAAyB;QACzB,IAAI,gBAAgB,CAAC,gBAAgB,KAAK,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACzE,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,qCAAqC,UAAU,YAAY,gBAAgB,CAAC,EAAE,wBAAwB,gBAAgB,CAAC,gBAAgB,wCAAwC,aAAa,CAAC,gBAAgB,OAAO;gBAC5N,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;gBAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzC,gBAAgB,EAAE,EAAE;gBACpB,iBAAiB,EAAE,EAAE;gBACrB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE;oBACd,WAAW,EAAE,gBAAgB,CAAC,EAAE;oBAChC,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,eAAe,EAAE,aAAa,CAAC,eAAe;oBAC9C,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;oBACnD,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;oBACzD,mBAAmB,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,uCAAuC,gBAAgB,CAAC,gBAAgB,UAAU,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAC3M,QAAQ,EAAE,IAAI;oBACd,uBAAuB,EAAE,MAAM;iBAChC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,CAAC,sBAAsB,CAAC;oBACrC,YAAY,EAAE,EAAE;oBAChB,eAAe,EAAE,CAAC,sBAAsB,CAAC;iBAC1C;gBACD,sBAAsB,EAAE,oBAAoB;aAC7C,CAAC;QACJ,CAAC;QACD,wBAAwB;QACxB,IAAI,gBAAgB,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,oCAAoC,UAAU,YAAY,gBAAgB,CAAC,EAAE,yBAAyB,gBAAgB,CAAC,eAAe,gCAAgC,YAAY,IAAI;gBAC9L,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;gBAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzC,gBAAgB,EAAE,EAAE;gBACpB,iBAAiB,EAAE,EAAE;gBACrB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE;oBACd,WAAW,EAAE,gBAAgB,CAAC,EAAE;oBAChC,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,eAAe,EAAE,aAAa,CAAC,eAAe;oBAC9C,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;oBACnD,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;oBACzD,mBAAmB,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,uCAAuC,gBAAgB,CAAC,eAAe,eAAe,YAAY,GAAG,EAAE,CAAC;oBACrM,QAAQ,EAAE,IAAI;oBACd,uBAAuB,EAAE,MAAM;iBAChC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,CAAC,qBAAqB,CAAC;oBACpC,YAAY,EAAE,EAAE;oBAChB,eAAe,EAAE,CAAC,qBAAqB,CAAC;iBACzC;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,aAAa,IAAI,aAAa,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACnF,OAAO,wBAAwB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACzG,CAAC;IAGD,eAAe;IACf,IAAI,cAA2C,CAAC;IAChD,IAAI,kBAAmD,CAAC;IACxD,IAAI,mBAAoD,CAAC;IACzD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,IAAI,aAAa,IAAI,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAqD,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9H,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAqD,EAAE,EAAE,CAC5F,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAK,EAAE,CAAC,CAC9C,CAAC;YACF,cAAc,GAAG,SAAS,CAAC;YAC3B,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;YAErF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;oBAClC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,QAAQ,CAAC,CAAC;gBAC3D,CAAC;qBAAM,IAAI,CAAC,CAAC,WAAW,KAAK,qBAAqB,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,cAAc,EAAE,CAAC;oBACtH,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YAED,mBAAmB,GAAG,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,eAAe;IACf,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QACvF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,QAAQ,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,yBAAyB,UAAU,2BAA2B,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB;gBAC1J,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;gBAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzC,gBAAgB,EAAE,EAAE;gBACpB,iBAAiB,EAAE,EAAE;gBACrB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,IAAI;gBACd,eAAe,EAAE,cAAc;gBAC/B,mBAAmB,EAAE,kBAAkB;gBACvC,qBAAqB,EAAE,mBAAmB;gBAC1C,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,CAAC,YAAY,CAAC;oBAC3B,YAAY,EAAE,EAAE;oBAChB,eAAe,EAAE,EAAE;iBACpB;gBACD,sBAAsB,EAAE,oBAAoB;gBAC5C,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;oBACjC,WAAW,EAAE,gBAAgB,CAAC,EAAE;oBAChC,KAAK,EAAE,aAAc,CAAC,KAAK;oBAC3B,eAAe,EAAE,aAAc,CAAC,eAAe;oBAC/C,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;oBACnD,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;oBACzD,mBAAmB,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,WAAW,cAAc,EAAE,EAAE,CAAC;oBACrH,QAAQ,EAAE,IAAI;oBACd,uBAAuB,EAAE,MAAM;iBAChC,CAAC,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC;QAC/D,MAAM,6BAA6B,GAAG,cAAc,CAAC,MAAM,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW;eAC/B,uBAAuB,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,uBAAuB;eAClE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAC5C,CAAC;QACF,IAAI,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC7E,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,kBAAkB,UAAU,2BAA2B,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,yDAAyD;gBACvK,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;gBAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzC,gBAAgB,EAAE,EAAE;gBACpB,iBAAiB,EAAE,EAAE;gBACrB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,IAAI;gBACd,eAAe,EAAE,cAAc;gBAC/B,mBAAmB,EAAE,kBAAkB;gBACvC,qBAAqB,EAAE,mBAAmB;gBAC1C,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,CAAC,UAAU,CAAC;oBACzB,YAAY,EAAE,EAAE;oBAChB,eAAe,EAAE,EAAE;iBACpB;gBACD,sBAAsB,EAAE,oBAAoB;gBAC5C,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;oBACjC,WAAW,EAAE,gBAAgB,CAAC,EAAE;oBAChC,KAAK,EAAE,aAAc,CAAC,KAAK;oBAC3B,eAAe,EAAE,aAAc,CAAC,eAAe;oBAC/C,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;oBACnD,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;oBACzD,mBAAmB,EAAE,EAAE;oBACvB,QAAQ,EAAE,IAAI;oBACd,uBAAuB,EAAE,YAAY;iBACtC,CAAC,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IACD,qCAAqC;IACrC,MAAM,aAAa,GAA2B,WAAW,CAAC,MAAM,CAAC;IACjE,MAAM,iBAAiB,GAAsB,WAAW,CAAC,iBAAiB,CAAC;IAC3E,MAAM,eAAe,GAA+B,WAAW,CAAC,QAAQ,CAAC;IAEzE,uBAAuB;IACvB,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;QAC1B,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACzE,OAAO;YACL,OAAO,EAAE,EAAE;YACX,MAAM,EAAE;gBACN,iBAAiB;gBACjB,EAAE;gBACF,cAAc;gBACd,EAAE;gBACF,mCAAmC;gBACnC,GAAG,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrD,EAAE;gBACF,OAAO;gBACP,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC/E,EAAE;gBACF,eAAe;aAChB,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;YAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACzC,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,EAAE;YACrB,cAAc,EAAE,KAAK;YACrB,QAAQ,EAAE,IAAI;YACd,kBAAkB,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACxE,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;YAC/E,gBAAgB,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YAC1E,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,CAAC,aAAa,CAAC;gBAC5B,YAAY,EAAE,EAAE;gBAChB,eAAe,EAAE,CAAC,aAAa,CAAC;aACjC;YACD,eAAe,EAAE,cAAc;YAC/B,mBAAmB,EAAE,kBAAkB;YACvC,qBAAqB,EAAE,mBAAmB;YAC1C,sBAAsB,EAAE,oBAAoB;YAC5C,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACjC,WAAW,EAAE,gBAAgB,CAAC,EAAE;gBAChC,KAAK,EAAE,aAAc,CAAC,KAAK;gBAC3B,eAAe,EAAE,aAAc,CAAC,eAAe;gBAC/C,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;gBACnD,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;gBACzD,mBAAmB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7G,QAAQ,EAAE,IAAI;gBACd,uBAAuB,EAAE,MAAM;aAChC,CAAC,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAC3D,CAAC,CAAC,cAAc,CAAC,cAAc;QAC/B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEf,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,KAAK,WAAW,CAAC;IAElE,MAAM,cAAc,GAAG,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAE3H,iBAAiB;IACjB,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,iCAAiC,CACvD,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,CACvF,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,+BAA+B;IAC/B,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;IAC/E,MAAM,2BAA2B,GAAG,eAAe,CAAC,0BAA0B,IAAI,eAAe,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,CAAC;IAExI,mBAAmB;IACnB,eAAe,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;IAEzD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC;IAEhG,sFAAsF;IACtF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,6BAA6B,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,2BAA2B;YAC7C,CAAC,CAAC,eAAe,CAAC,0BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7E,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO;YACL,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,uBAAuB,UAAU,mBAAmB,YAAY,GAAG,cAAc,eAAe;YACxG,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;YAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACzC,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,EAAE;YACrB,cAAc,EAAE,KAAK;YACrB,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,eAAe;YACjC,eAAe,EAAE,cAAc;YAC/B,mBAAmB,EAAE,kBAAkB;YACvC,qBAAqB,EAAE,mBAAmB;YAC1C,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,CAAC,aAAa,CAAC;gBAC5B,YAAY,EAAE,EAAE;gBAChB,eAAe,EAAE,CAAC,QAAQ,CAAC;aAC5B;YACD,sBAAsB,EAAE,oBAAoB;YAC5C,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACjC,WAAW,EAAE,gBAAgB,CAAC,EAAE;gBAChC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE;gBACjC,eAAe,EAAE,aAAa,EAAE,eAAe,IAAI,EAAE;gBACrD,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;gBACnD,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;gBACzD,mBAAmB,EAAE,0BAA0B;gBAC/C,QAAQ,EAAE,IAAI;gBACd,uBAAuB,EAAE,MAAM;aAChC,CAAC,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,YAAY,KAAK,uBAAuB,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5H,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc;iBAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;iBAC9D,MAAM,CAAC,OAAO,CAAa,CAAC;YAE/B,MAAM,WAAW,GAAG,MAAM,iBAAiB,CACzC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3C,WAAW,EACX,MAAM,CAAC,gBAAgB,CACxB,CAAC;YACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,GAAG,IAAI,CAAC;gBACpB,iBAAiB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAC9B,YAAY;QACd,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE5E,YAAY;IACZ,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEhH,eAAe;IACf,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpL,IAAI,mBAAmB;QAAE,YAAY,CAAC,qBAAqB,GAAG,mBAAmB,CAAC;IAElF,2BAA2B;IAC3B,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC;IAChD,MAAM,eAAe,GAAG,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,qEAAqE;QACrE,IAAI,IAAI,CAAC,MAAM,KAAK,qBAAqB,IAAI,IAAI,CAAC,MAAM,KAAK,yBAAyB;YAAE,SAAS;QAEjG,qCAAqC;QACrC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC;YAC5E,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,SAAS;QAC7D,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAAE,SAAS;QACnE,CAAC;QAED,kEAAkE;QAClE,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,KAAK,UAAU,CAAC,CAAC;QAC/F,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,YAAY,CAAC,gBAAgB,GAAG,OAAO,CAAC;QACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,iBAAyE,CAAC;QACxG,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpC,QAAQ,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC;IAEpD,gBAAgB;IAChB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC;IAED,kBAAkB;IAClB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAEtG,8BAA8B;IAC9B,MAAM,mBAAmB,GAAG,iBAAiB;QAC3C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,wBAAwB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAErD,gBAAgB;IAChB,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,MAAM;QACN,cAAc;QACd,cAAc,EAAE,eAAe;QAC/B,QAAQ;KACT,CAAC,CAAC;IAEH,IAAI,oBAAsD,CAAC;IAC3D,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;QAC1B,QAAQ,CAAC,uBAAuB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5D,oBAAoB,GAAG,aAAa,CAAC;QACrC,MAAM,IAAI;;;mBAGK,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;cACxC,oBAAoB;;;EAGhC,aAAa,CAAC,UAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;gBAGvD,aAAa,CAAC,UAAW,CAAC,gBAAgB,CAAC,OAAO;iBACjD,aAAa,CAAC,UAAW,CAAC,gBAAgB,CAAC,UAAU;gBACtD,aAAa,CAAC,UAAW,CAAC,gBAAgB,CAAC,OAAO;;;EAGhE,aAAa,CAAC,UAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;UAEpI,aAAa,EAAE,eAAe,KAAK,gBAAgB;YACvD,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,2CAA2C;CAClD,CAAC;IACA,CAAC;IAED,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAE7C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,0BAA0B,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,uBAAuB;IACvB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,yBAAyB,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,aAAa;IACb,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IACzF,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACpE,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,kBAAkB,EAAE;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,KAAK,gBAAgB,CAAC;aAC5E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;YAC/D,OAAO,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,YAAY,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC;QACL,MAAM,IAAI,gCAAgC,GAAG,aAAa,GAAG,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/F,MAAM,IAAI,2DAA2D,CAAC;IACxE,CAAC;IAED,mEAAmE;IACnE,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;QAChE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,MAAM,GAAG,QAAQ,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,oBAAoB,EAAE,CAAC;QACzB,wCAAwC;QACxC,oBAAoB,CAAC,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,WAAW;QACX,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,oBAAoB,CAAC,aAAa,GAAG,kBAAkB;iBACpD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,WAAW,CAAC;iBAC9C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,wCAAwC;QACxC,IAAI,gBAAgB,EAAE,CAAC;YACrB,oBAAoB,CAAC,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,mCAAmC,EAC1C,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO;QACL,OAAO,EAAE,EAAE;QACX,MAAM;QACN,KAAK;QACL,UAAU;QACV,gBAAgB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,iBAAiB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,gBAAgB,EAAE,eAAe;QACjC,cAAc,EAAE,YAAY;QAC5B,kBAAkB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;QAChF,QAAQ;QACR,QAAQ;QACR,oBAAoB,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACtF,eAAe,EAAE,oBAAoB;QACrC,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;QAClD,eAAe,EAAE,WAAW,CAAC,eAAe;QAC5C,eAAe,EAAE,cAAc;QAC/B,mBAAmB,EAAE,kBAAkB;QACvC,qBAAqB,EAAE,mBAAmB;QAC1C,sBAAsB,EAAE,oBAAoB;QAC5C,kBAAkB,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QACxE,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;QAC/E,gBAAgB,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QAC1E,yBAAyB,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACrG,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACjC,WAAW,EAAE,gBAAgB,CAAC,EAAE;YAChC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE;YACjC,eAAe,EAAE,aAAa,EAAE,eAAe,IAAI,EAAE;YACrD,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;YACnD,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;YACzD,mBAAmB,EAAE,0BAA0B;YAC/C,QAAQ;YACR,uBAAuB,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,MAAM;YAChF,aAAa,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,aAAa,CAAC;SAClE,CAAC,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAyD,EACzD,aAA8C;IAE9C,MAAM,KAAK,GAAa;QACtB,mBAAmB;QACnB,0BAA0B;QAC1B,yBAAyB;QACzB,8BAA8B;KAC/B,CAAC;IACF,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAC/B,MAAc,EACd,aAAkC,EAClC,MAAqB,EACrB,gBAAgE,EAChE,UAAkB,EAClB,QAAgB;IAEhB,MAAM,aAAa,GAAG,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO;QACL,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,kBAAkB,UAAU,gBAAgB,aAAa,mBAAmB;QACpF,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;QAC1E,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACzC,gBAAgB,EAAE,EAAE;QACpB,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,CAAC,aAAa,CAAC;YAC5B,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,EAAE;SACpB;QACD,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACjC,WAAW,EAAE,gBAAgB,CAAC,EAAE;YAChC,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,eAAe,EAAE,aAAa,CAAC,eAAe;YAC9C,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;YACnD,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;YACzD,mBAAmB,EAAE,EAAE;YACvB,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,YAAY;SACtC,CAAC,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAGD;;GAEG;AACH,SAAS,qBAAqB,CAAC,YAAoB;IACjD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,uEAAuE;IACvE,MAAM,cAAc,GAA2B;QAC7C,8BAA8B,EAAE,aAAa;KAC9C,CAAC;IACF,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,iBAAiB;AACjB,SAAS,gBAAgB;IACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,QAAgB,EAAE,MAAc;IAC3D,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAE,kBAAkB;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,WAAW,IAAI,EAAE;YACrB,SAAS,EAAE,QAAQ;YACnB,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrE,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrE,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG;YAClC,MAAM,EAAE,QAAQ;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,oBAAoB,CAAC;IAC/D,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAC1E,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,aAAa,CAAC;IAC1D,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,cAAqC,EACrC,MAAc,EACd,YAAsB,EACtB,MAAqB,EACrB,aAA8C,EAC9C,KAAa;IAEb,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,2BAA2B;QAC3B,OAAO,cAAc,CAAC,KAAK,CAAC;YAC1B,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;YAClC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC;YACjC,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,SAAS,UAAU,CAAC,OAAyB;QAC3C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC;YAC3C,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;YAClC,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC;YACvC,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,UAAU,CAAC,eAAe,CAAC,CAAC;QAE5B,wDAAwD;QACxD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,OAAO;gBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,IAAI,aAAa,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;QACxC,sBAAsB;QACtB,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC;gBACxC,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;gBAClC,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;YACpF,IAAI,UAAU;gBAAE,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAEzC,wEAAwE;YACxE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,eAAe,GAAG,mBAAmB,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;gBAClF,IAAI,eAAe;oBAAE,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,gBAAgB,GAA6B;YACjD,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC;YAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;YAC/B,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;YAChC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;YACzB,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;YAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YAC5B,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACxB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;SAC9B,CAAC;QACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC;gBAC3C,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;gBAClC,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;YACH,UAAU,CAAC,eAAe,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;YAC1C,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;YAClC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC;YACjC,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QACH,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,MAAc,EACd,SAAiB,EACjB,MAAqB,EACrB,cAA8B,EAC9B,KAAkB,EAClB,cAAgC,EAChC,iBAA2B,EAC3B,YAAqB,EACrB,UAAqE,EACrE,QAAiB,EACjB,aAAmC;IAEnC,MAAM,IAAI,GAAwB;QAChC,MAAM;QACN,UAAU,EAAE,SAAS;QACrB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,iBAAiB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI;SAC1B,CAAC,CAAC;QACH,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAChG,cAAc,EAAE,YAAY;QAC5B,kBAAkB,EAAE,iBAAiB;QACrC,KAAK,EAAE;YACL,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC;SACvD;QACD,UAAU;QACV,QAAQ;KACT,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;QAErD,uDAAuD;QACvD,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;YAC9C,IAAI,CAAC,CAAC,gBAAgB,KAAK,WAAW;gBAAE,qBAAqB,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC;iBACxG,IAAI,CAAC,CAAC,gBAAgB,KAAK,uBAAuB;gBAAE,qBAAqB,CAAC,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAC3I,CAAC;QACD,IAAI,CAAC,6BAA6B,GAAG,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,KAAqB,EAAE,YAAoB;IACxE,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS,CAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,MAAc,EACd,WAAwB,EACxB,cAAqC;IAErC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC;IACvD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5C,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC;YAC3C,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,YAAY,CAAC,eAAgB,CAAC,CAAC,CAAC;QACrG,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,YAAY,CAAC,eAAe,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,sBAAsB,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,YAAY,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,QAAQ,CAAC,IAAI,CAAC,gBAAgB,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,OAAO,GAAG,MAAM,iCAAiC,YAAY,CAAC,KAAK,OAAO,YAAY,CAAC,WAAW,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACnI,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAqB,EAAE,cAAsB;IAC1E,MAAM,SAAS,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAE/E,OAAO;QACL,KAAK,CAAC,IAAI;QACV,QAAQ;QACR,QAAQ;KACT,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,MAAM;SACV,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,MAAqB,EACrB,cAA8B,EAC9B,QAAiB,EACjB,aAAmC;IAEnC,4CAA4C;IAC5C,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACrD,MAAM,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC;QACrD,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,cAAc,EAAE,IAAI,EAAE,CAAC;YACzB,gBAAgB;YAChB,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACxD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACpD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,CAAC,MAAM,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,eAAe;IACf,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC3D,IAAI,IAAI,EAAE,CAAC;YACT,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,YAAY;QAC3B,cAAc,EAAE,aAAa;QAC7B,iBAAiB,EAAE,CAAC,QAAQ;QAC5B,iBAAiB,EAAE,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,KAAK,eAAe;YACzE,CAAC,CAAC,CAAC,MAAM,CAAC;YACV,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,MAAc,EACd,cAA8B,EAC9B,cAAqB,EACrB,OAAsB,EACtB,QAAiB,EACjB,aAAmC;IAEnC,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,qBAAqB;IACrB,IAAI,aAAa,IAAI,aAAa,CAAC,eAAe,KAAK,gBAAgB,EAAE,CAAC;QACxE,IAAI,aAAa,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,mBAAmB;gBACvB,WAAW,EAAE,YAAY,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE;gBAC7D,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;QACL,CAAC;QACD,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,gBAAgB;YACpB,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,aAAa;YAC1B,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,YAAY;QACZ,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/C,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,eAAe;IACf,IAAI,QAAQ,EAAE,CAAC;QACb,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,SAAS;YACb,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,QAAQ;YACZ,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,IAAI,CAAC;QACb,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,MAAM;YACV,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,QAAQ;YACZ,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,SAAS,GAAG,IAAI,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9D,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,MAAM;QAC/C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACjF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,GAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;gBAC/F,IAAI,KAAK,CAAC,CAAC,CAAC;oBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAqB;IAChD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,mBAAmB;AAEnB,SAAS,sBAAsB,CAC7B,MAAc,EACd,cAA8B,EAC9B,KAAkB,EAClB,UAAqE,EACrE,aAAgE;IAEhE,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,yBAAyB;IACzB,IAAI,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QACvC,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACnC,WAAW,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACrD,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,cAAc,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5C,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,cAAc,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACzC,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACzC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC1B,KAAK,EAAE,KAAK,CAAC,aAAa;QAC1B,WAAW;QACX,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3E,eAAe,EAAE,cAAc;KAChC,CAAC;AACJ,CAAC;AAED,qBAAqB;AAErB,MAAM,oBAAoB,GAMrB;IACH;QACE,OAAO,EAAE,uCAAuC;QAChD,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE;YAC/C,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE;SACnD;QACD,cAAc,EAAE,UAAU;KAC3B;IACD;QACE,OAAO,EAAE,kCAAkC;QAC3C,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE;YAC1C,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE;SACzC;QACD,cAAc,EAAE,WAAW;KAC5B;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE;YAC9C,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,sBAAsB,EAAE;SACtD;QACD,cAAc,EAAE,UAAU;KAC3B;IACD;QACE,OAAO,EAAE,4BAA4B;QACrC,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;YACrC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;SACxC;QACD,cAAc,EAAE,SAAS;KAC1B;IACD;QACE,OAAO,EAAE,yBAAyB;QAClC,YAAY,EAAE,kBAAkB;QAChC,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE;YAC5C,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE;SACzC;QACD,cAAc,EAAE,WAAW;KAC5B;IACD;QACE,OAAO,EAAE,oBAAoB;QAC7B,YAAY,EAAE,uBAAuB;QACrC,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE;YACzC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE;SAC1C;QACD,cAAc,EAAE,OAAO;KACxB;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,YAAY,EAAE,aAAa;QAC3B,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE;YACvC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE;SACtC;QACD,cAAc,EAAE,OAAO;KACxB;IACD;QACE,OAAO,EAAE,6BAA6B;QACtC,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE;YAC1C,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;SACxC;QACD,cAAc,EAAE,UAAU;KAC3B;CACF,CAAC;AAEF,SAAS,wBAAwB,CAAC,cAA8B,EAAE,MAAc;IAC9E,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC;YACZ,YAAY,EAAE,0BAA0B;YACxC,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE;gBAC/C,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE;aAC3C;YACD,cAAc,EAAE,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAqBD,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAKnC;IACC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEpE,IAAI,UAAU,GAAG,GAAG,CAAC;IAErB,IAAI,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,UAAU,IAAI,IAAI,CAAC;IACrB,CAAC;SAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,UAAU,IAAI,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,cAAc,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACxC,UAAU,IAAI,IAAI,CAAC;IACrB,CAAC;SAAM,IAAI,cAAc,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjD,UAAU,IAAI,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,UAAU,IAAI,IAAI,CAAC;IACrB,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,UAAU,IAAI,IAAI,CAAC;IACrB,CAAC;IAED,uCAAuC;IAEvC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAElD,IAAI,UAAU,GAAG,oBAAoB,EAAE,CAAC;QACtC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU;YACV,MAAM,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,oBAAoB,EAAE;YACrE,UAAU,EAAE,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC;SACvE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,cAA8B,EAC9B,eAAsB;IAEtB,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,cAAc,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAChD,cAAc,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAExD,OAAO;QACL,WAAW,EAAE;YACX,IAAI,SAAS,gBAAgB;YAC7B,mBAAmB;YACnB,uBAAuB;SACxB;QACD,gBAAgB,EAAE;YAChB,OAAO,EAAE,0BAA0B;YACnC,UAAU,EAAE,oCAAoC;YAChD,OAAO,EAAE,6BAA6B;SACvC;QACD,kBAAkB,EAAE;YAClB;gBACE,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,QAAQ,EAAE,oBAAoB;aAC/B;YACD;gBACE,QAAQ,EAAE,aAAa;gBACvB,QAAQ,EAAE,iBAAiB;gBAC3B,QAAQ,EAAE,mBAAmB;aAC9B;SACF;KACF,CAAC;AACJ,CAAC;AAED,aAAa"}
1
+ {"version":3,"file":"intent_expander.js","sourceRoot":"","sources":["../../src/engine/intent_expander.ts"],"names":[],"mappings":"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"}