@cleocode/core 2026.10.3 → 2026.10.4

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 (210) hide show
  1. package/dist/build-provenance.json +2 -2
  2. package/dist/cloud/nexus-enrol.d.ts +9 -0
  3. package/dist/cloud/nexus-enrol.d.ts.map +1 -1
  4. package/dist/cloud/nexus-enrol.js +45 -2
  5. package/dist/cloud/nexus-enrol.js.map +1 -1
  6. package/dist/cloud/nexus-first-run.d.ts +142 -0
  7. package/dist/cloud/nexus-first-run.d.ts.map +1 -0
  8. package/dist/cloud/nexus-first-run.js +352 -0
  9. package/dist/cloud/nexus-first-run.js.map +1 -0
  10. package/dist/cloud/nexus-project-names.d.ts +173 -0
  11. package/dist/cloud/nexus-project-names.d.ts.map +1 -0
  12. package/dist/cloud/nexus-project-names.js +314 -0
  13. package/dist/cloud/nexus-project-names.js.map +1 -0
  14. package/dist/cloud/nexus-vault-keys.d.ts +33 -2
  15. package/dist/cloud/nexus-vault-keys.d.ts.map +1 -1
  16. package/dist/cloud/nexus-vault-keys.js +132 -12
  17. package/dist/cloud/nexus-vault-keys.js.map +1 -1
  18. package/dist/dispatch/contracts/derive-output-contract.d.ts +1 -1
  19. package/dist/dispatch/contracts/derive-output-contract.d.ts.map +1 -1
  20. package/dist/dispatch/contracts/derive-output-contract.js +2 -1
  21. package/dist/dispatch/contracts/derive-output-contract.js.map +1 -1
  22. package/dist/dispatch/contracts/output-contracts.d.ts +2 -1
  23. package/dist/dispatch/contracts/output-contracts.d.ts.map +1 -1
  24. package/dist/dispatch/contracts/output-contracts.js +1 -1
  25. package/dist/dispatch/contracts/output-contracts.js.map +1 -1
  26. package/dist/dispatch/mvi-projection.d.ts +1 -1
  27. package/dist/dispatch/mvi-projection.d.ts.map +1 -1
  28. package/dist/dispatch/mvi-projection.js +1 -1
  29. package/dist/dispatch/mvi-projection.js.map +1 -1
  30. package/dist/docs/export-document.js +24462 -24572
  31. package/dist/docs/export-document.js.map +3 -3
  32. package/dist/doctor/db-substrate.d.ts +6 -9
  33. package/dist/doctor/db-substrate.d.ts.map +1 -1
  34. package/dist/doctor/db-substrate.js +10 -14
  35. package/dist/doctor/db-substrate.js.map +1 -1
  36. package/dist/doctor/migrations.d.ts +18 -0
  37. package/dist/doctor/migrations.d.ts.map +1 -1
  38. package/dist/doctor/migrations.js +54 -2
  39. package/dist/doctor/migrations.js.map +1 -1
  40. package/dist/error-catalog.js +1 -1
  41. package/dist/error-catalog.js.map +1 -1
  42. package/dist/errors.d.ts +1 -1
  43. package/dist/errors.d.ts.map +1 -1
  44. package/dist/errors.js +1 -1
  45. package/dist/errors.js.map +1 -1
  46. package/dist/init.d.ts.map +1 -1
  47. package/dist/init.js +21 -5
  48. package/dist/init.js.map +1 -1
  49. package/dist/llm/conversation.d.ts.map +1 -1
  50. package/dist/llm/conversation.js +15 -4
  51. package/dist/llm/conversation.js.map +1 -1
  52. package/dist/llm/plugin-facade.js +277 -376
  53. package/dist/llm/plugin-facade.js.map +3 -3
  54. package/dist/llm/transports/bedrock.d.ts +1 -0
  55. package/dist/llm/transports/bedrock.d.ts.map +1 -1
  56. package/dist/llm/transports/bedrock.js +30 -12
  57. package/dist/llm/transports/bedrock.js.map +1 -1
  58. package/dist/memory/decision-contradiction.d.ts.map +1 -1
  59. package/dist/memory/decision-contradiction.js +10 -5
  60. package/dist/memory/decision-contradiction.js.map +1 -1
  61. package/dist/memory/dialectic-evaluator.d.ts.map +1 -1
  62. package/dist/memory/dialectic-evaluator.js +4 -1
  63. package/dist/memory/dialectic-evaluator.js.map +1 -1
  64. package/dist/memory/transcript-extractor.d.ts.map +1 -1
  65. package/dist/memory/transcript-extractor.js +3 -2
  66. package/dist/memory/transcript-extractor.js.map +1 -1
  67. package/dist/metrics/token-service.d.ts +16 -0
  68. package/dist/metrics/token-service.d.ts.map +1 -1
  69. package/dist/metrics/token-service.js +18 -0
  70. package/dist/metrics/token-service.js.map +1 -1
  71. package/dist/nexus/api-contracts.d.ts.map +1 -1
  72. package/dist/nexus/api-contracts.js +27 -11
  73. package/dist/nexus/api-contracts.js.map +1 -1
  74. package/dist/nexus/api-extractors/http-extractor.d.ts +2 -2
  75. package/dist/nexus/api-extractors/http-extractor.d.ts.map +1 -1
  76. package/dist/nexus/api-extractors/http-extractor.js +3 -3
  77. package/dist/nexus/api-extractors/http-extractor.js.map +1 -1
  78. package/dist/nexus/clusters.js +1 -1
  79. package/dist/nexus/clusters.js.map +1 -1
  80. package/dist/nexus/diff.d.ts +1 -1
  81. package/dist/nexus/diff.d.ts.map +1 -1
  82. package/dist/nexus/diff.js +3 -2
  83. package/dist/nexus/diff.js.map +1 -1
  84. package/dist/nexus/flows.js +1 -1
  85. package/dist/nexus/flows.js.map +1 -1
  86. package/dist/nexus/identity.d.ts +8 -0
  87. package/dist/nexus/identity.d.ts.map +1 -1
  88. package/dist/nexus/identity.js +17 -1
  89. package/dist/nexus/identity.js.map +1 -1
  90. package/dist/nexus/index.d.ts +1 -1
  91. package/dist/nexus/index.d.ts.map +1 -1
  92. package/dist/nexus/index.js +2 -2
  93. package/dist/nexus/index.js.map +1 -1
  94. package/dist/nexus/nexus-bridge.d.ts.map +1 -1
  95. package/dist/nexus/nexus-bridge.js +5 -5
  96. package/dist/nexus/nexus-bridge.js.map +1 -1
  97. package/dist/nexus/registry.d.ts +22 -0
  98. package/dist/nexus/registry.d.ts.map +1 -1
  99. package/dist/nexus/registry.js +76 -1
  100. package/dist/nexus/registry.js.map +1 -1
  101. package/dist/paths.js +1 -1
  102. package/dist/paths.js.map +1 -1
  103. package/dist/project-scope.js +1 -1
  104. package/dist/project-scope.js.map +1 -1
  105. package/dist/project-tombstone.js +1 -1
  106. package/dist/project-tombstone.js.map +1 -1
  107. package/dist/release/open.d.ts +3 -6
  108. package/dist/release/open.d.ts.map +1 -1
  109. package/dist/release/open.js +59 -23
  110. package/dist/release/open.js.map +1 -1
  111. package/dist/release/preflight-skip.d.ts +69 -10
  112. package/dist/release/preflight-skip.d.ts.map +1 -1
  113. package/dist/release/preflight-skip.js +195 -47
  114. package/dist/release/preflight-skip.js.map +1 -1
  115. package/dist/render/colors.js +1 -19
  116. package/dist/render/colors.js.map +1 -1
  117. package/dist/render/tasks/colors.js +1 -1
  118. package/dist/render/tasks/colors.js.map +1 -1
  119. package/dist/resources/governor.d.ts +12 -0
  120. package/dist/resources/governor.d.ts.map +1 -1
  121. package/dist/resources/governor.js +5 -1
  122. package/dist/resources/governor.js.map +1 -1
  123. package/dist/resources/heavy-command-hook-delivery.d.ts +144 -0
  124. package/dist/resources/heavy-command-hook-delivery.d.ts.map +1 -0
  125. package/dist/resources/heavy-command-hook-delivery.js +204 -0
  126. package/dist/resources/heavy-command-hook-delivery.js.map +1 -0
  127. package/dist/resources/heavy-command.d.ts +69 -0
  128. package/dist/resources/heavy-command.d.ts.map +1 -1
  129. package/dist/resources/heavy-command.js +479 -7
  130. package/dist/resources/heavy-command.js.map +1 -1
  131. package/dist/resources/run-class.d.ts.map +1 -1
  132. package/dist/resources/run-class.js +1 -0
  133. package/dist/resources/run-class.js.map +1 -1
  134. package/dist/routing/build-command-groups.d.ts +1 -1
  135. package/dist/routing/build-command-groups.d.ts.map +1 -1
  136. package/dist/routing/build-command-groups.js +4 -1
  137. package/dist/routing/build-command-groups.js.map +1 -1
  138. package/dist/scaffold/ensure-skills.d.ts.map +1 -1
  139. package/dist/scaffold/ensure-skills.js +58 -2
  140. package/dist/scaffold/ensure-skills.js.map +1 -1
  141. package/dist/selfimprove/fix-gen.js +277 -376
  142. package/dist/selfimprove/fix-gen.js.map +3 -3
  143. package/dist/sessions/briefing.d.ts.map +1 -1
  144. package/dist/sessions/briefing.js +11 -0
  145. package/dist/sessions/briefing.js.map +1 -1
  146. package/dist/store/dual-scope-db.d.ts.map +1 -1
  147. package/dist/store/dual-scope-db.js +6 -1
  148. package/dist/store/dual-scope-db.js.map +1 -1
  149. package/dist/store/table-classification.d.ts +27 -0
  150. package/dist/store/table-classification.d.ts.map +1 -1
  151. package/dist/store/table-classification.js +32 -0
  152. package/dist/store/table-classification.js.map +1 -1
  153. package/dist/store/vault-manifest.d.ts +5 -1
  154. package/dist/store/vault-manifest.d.ts.map +1 -1
  155. package/dist/store/vault-manifest.js +9 -2
  156. package/dist/store/vault-manifest.js.map +1 -1
  157. package/dist/system/health.d.ts +13 -0
  158. package/dist/system/health.d.ts.map +1 -1
  159. package/dist/system/health.js +96 -1
  160. package/dist/system/health.js.map +1 -1
  161. package/dist/tasks/affected-packages.d.ts +20 -7
  162. package/dist/tasks/affected-packages.d.ts.map +1 -1
  163. package/dist/tasks/affected-packages.js +39 -13
  164. package/dist/tasks/affected-packages.js.map +1 -1
  165. package/dist/tasks/affected-template.d.ts +93 -0
  166. package/dist/tasks/affected-template.d.ts.map +1 -0
  167. package/dist/tasks/affected-template.js +198 -0
  168. package/dist/tasks/affected-template.js.map +1 -0
  169. package/dist/tasks/command-line.d.ts +4 -1
  170. package/dist/tasks/command-line.d.ts.map +1 -1
  171. package/dist/tasks/command-line.js +7 -2
  172. package/dist/tasks/command-line.js.map +1 -1
  173. package/dist/tasks/done-plan.d.ts.map +1 -1
  174. package/dist/tasks/done-plan.js +12 -2
  175. package/dist/tasks/done-plan.js.map +1 -1
  176. package/dist/tasks/duplicate-detector.d.ts.map +1 -1
  177. package/dist/tasks/duplicate-detector.js +11 -5
  178. package/dist/tasks/duplicate-detector.js.map +1 -1
  179. package/dist/tasks/evidence.d.ts.map +1 -1
  180. package/dist/tasks/evidence.js +185 -11
  181. package/dist/tasks/evidence.js.map +1 -1
  182. package/dist/tasks/heavy-tool-env.d.ts +385 -18
  183. package/dist/tasks/heavy-tool-env.d.ts.map +1 -1
  184. package/dist/tasks/heavy-tool-env.js +719 -40
  185. package/dist/tasks/heavy-tool-env.js.map +1 -1
  186. package/dist/tasks/index.d.ts +2 -2
  187. package/dist/tasks/index.d.ts.map +1 -1
  188. package/dist/tasks/index.js +1 -1
  189. package/dist/tasks/index.js.map +1 -1
  190. package/dist/tasks/tool-cache-env.d.ts +20 -13
  191. package/dist/tasks/tool-cache-env.d.ts.map +1 -1
  192. package/dist/tasks/tool-cache-env.js +27 -48
  193. package/dist/tasks/tool-cache-env.js.map +1 -1
  194. package/dist/tasks/tool-cache.d.ts +8 -0
  195. package/dist/tasks/tool-cache.d.ts.map +1 -1
  196. package/dist/tasks/tool-cache.js +19 -6
  197. package/dist/tasks/tool-cache.js.map +1 -1
  198. package/dist/tasks/tool-semaphore.d.ts +66 -23
  199. package/dist/tasks/tool-semaphore.d.ts.map +1 -1
  200. package/dist/tasks/tool-semaphore.js +96 -34
  201. package/dist/tasks/tool-semaphore.js.map +1 -1
  202. package/dist/upgrade.d.ts.map +1 -1
  203. package/dist/upgrade.js +37 -4
  204. package/dist/upgrade.js.map +1 -1
  205. package/dist/validation/doctor/checks.d.ts +17 -0
  206. package/dist/validation/doctor/checks.d.ts.map +1 -1
  207. package/dist/validation/doctor/checks.js +83 -0
  208. package/dist/validation/doctor/checks.js.map +1 -1
  209. package/package.json +13 -13
  210. package/schemas/project-context.schema.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/tasks/tool-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/tasks/tool-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAA8B,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAEL,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACL,kBAAkB,EAGlB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAA2B,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAyXjF,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5E;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;QACvC,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,wBAAwB,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,MAAM,GAAG,qBAAqB,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IACjF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CACjB,QAAQ,CAAC,gBAAgB,EACzB,GAAG,MAAM,oDAAoD,GAAG,IAAI,EACpE;YACE,GAAG,EAAE,OAAO,MAAM,2EAA2E,QAAQ,aAAa;SACnH,CACF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,SAAS,CACjB,QAAQ,CAAC,gBAAgB,EACzB,GAAG,MAAM,mCAAmC,MAAM,GAAG,EACrD;YACE,GAAG,EAAE,OAAO,MAAM,oFAAoF,QAAQ,aAAa;SAC5H,CACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,WAAW;IACX,KAAK;IACL,MAAM;IACN,UAAU;IACV,gBAAgB;IAChB,aAAa;CACL,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAU3C;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,aAAqB;IACnD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA4B,EAC5B,QAAuB,EACvB,cAAsB,EACtB,WAAmB;IAEnB,MAAM,QAAQ,GAAoB;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ;QACR,cAAc;QACd,WAAW;KACZ,CAAC;IACF,uEAAuE;IACvE,2EAA2E;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,aAAa,CAAC,KAA8B;IAC1D,KAAK,MAAM,KAAK,IAAI,wBAAwB,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;IAC1D,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClF,OAAO,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,YAAY,GAAG;IACnB,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACD,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,qBAAqB,GAAsB;IAC/C,+BAA+B;IAC/B,oBAAoB;IACpB,2CAA2C;IAC3C,0BAA0B;IAC1B,gDAAgD;IAChD,4BAA4B;IAC5B,QAAQ;IACR,wBAAwB;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAKlC;IACC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC;IAC1D,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,OAAO,QAAQ,GAAG,CAAC,QAAQ,WAAW,IAAI,GAAG,CAAC;QAChD,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,MAAM,GAAG,CAAC;AACpE,CAAC;AAkCD;;;;;;;;;;;;;GAaG;AACH,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU;IAIe;IAHrB,MAAM,GAAa,EAAE,CAAC;IACtB,IAAI,GAAG,CAAC,CAAC;IAEjB,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE5C,MAAM,CAAC,KAAa;QAClB,kEAAkE;QAClE,wCAAwC;QACxC,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;QAC1B,iDAAiD;QACjD,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,MAAM;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,GAAW,EAAE,MAA6B;IACjE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC7E,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;QACD,OAAO;IACT,CAAC;IACD,sCAAsC;IACtC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,wEAAwE;QACxE,sEAAsE;QACtE,4DAA4D;QAC5D,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAKrE,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAExC,2EAA2E;AAC3E,SAAS,yBAAyB;IAChC,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE;QAAE,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAsB;IACjD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvE,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,EAAW;IACxC,IAAI,EAAE,KAAK,2BAA2B;QAAE,OAAO;IAC/C,2BAA2B,GAAG,EAAE,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACzC,IAAI,EAAE;YAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;;YAC3C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;;QACjD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;AACtD,CAAC;AAED,6EAA6E;AAC7E,SAAS,sBAAsB;IAC7B,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAyB;IACnE,yBAAyB,EAAE,CAAC;IAC5B,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB;IACvC,yBAAyB,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CACf,GAAW,EACX,IAAc,EACd,GAAW,EACX,cAAuB,EACvB,UAA6C;IAE7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;YAC7B,GAAG;YACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,2EAA2E;YAC3E,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,4CAA4C;YAC5C,GAAG,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE;YAC/E,gEAAgE;YAChE,8DAA8D;YAC9D,+DAA+D;YAC/D,kEAAkE;YAClE,iDAAiD;YACjD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,sBAAsB,EAAE,CAAC;QACzB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACrC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACrC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,aAAwD,CAAC;QAC7D,IAAI,cAAyD,CAAC;QAE9D,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,aAAa,KAAK,SAAS;gBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,cAAc,KAAK,SAAS;gBAAE,YAAY,CAAC,cAAc,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,MAAM,QAAQ,GAAG,CAAC,QAAuB,EAAE,MAA6B,EAAE,EAAE;YAC1E,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,sBAAsB,EAAE,CAAC;YACzB,qEAAqE;YACrE,4DAA4D;YAC5D,MAAM,MAAM,GAAG,2BAA2B,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC;gBACN,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE;gBAC5B,sEAAsE;gBACtE,qEAAqE;gBACrE,mEAAmE;gBACnE,qCAAqC;gBACrC,MAAM,EAAE,UAAU,KAAK,IAAI,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;gBAClE,QAAQ;gBACR,UAAU;aACX,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,4DAA4D;QAC5D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAC/C,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YACpE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,kEAAkE;QAClE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBACzD,eAAe,CAAC,KAAK,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;gBACD,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC/B,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBACzD,eAAe,CAAC,KAAK,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACvB,CAAC,EAAE,cAAc,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB;IACnD,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH;;;;;GAKG;AACH,MAAM,oBAAoB,GAAsB;IAC9C,IAAI;IACJ,GAAG;IACH,uBAAuB;IACvB,0BAA0B;IAC1B,uBAAuB;IACvB,0BAA0B;IAC1B,yBAAyB;IACzB,4BAA4B;IAC5B,kCAAkC;IAClC,qCAAqC;IACrC,sBAAsB;IACtB,0BAA0B;IAC1B,0BAA0B;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,aAAa,CAAC,IAAuB,EAAE,GAAW;IACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,WAAmB;IAC/D,0DAA0D;IAC1D,EAAE;IACF,8EAA8E;IAC9E,uEAAuE;IACvE,yEAAyE;IACzE,qEAAqE;IACrE,6EAA6E;IAC7E,sEAAsE;IACtE,6EAA6E;IAC7E,wDAAwD;IACxD,EAAE;IACF,2EAA2E;IAC3E,yDAAyD;IACzD,yEAAyE;IACzE,+DAA+D;IAC/D,EAAE;IACF,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,mCAAmC;IACnC,OAAO,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,EAAE,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,wBAAwB,CAAC,IAAY;IAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IACxE,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACnG,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,2EAA2E;IAC3E,yEAAyE;IACzE,oBAAoB;IACpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;QAC1C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC/B,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,yCAAyC;YACzC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACtF,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;YAC5F,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;YAC5B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,KAAK,EAAE,IAAI,wBAAwB,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC1D,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,wBAAwB,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,KAAK,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE;gBAC9D,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAClC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBACnC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,GAAW;IAC7D,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,GAAW;IAC7D,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAEpD,CAAC;QAEF,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,MAAM,CAAC,aAAa,KAAK,yBAAyB,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAE1F,wEAAwE;QACxE,sEAAsE;QACtE,oEAAoE;QACpE,mEAAmE;QACnE,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAEzC,uEAAuE;QACvE,uEAAuE;QACvE,6DAA6D;QAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,oEAAoE;QACpE,+DAA+D;QAC/D,uEAAuE;QACvE,2EAA2E;QAC3E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAuB,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7D,OAAO,MAAwB,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAAC,WAAmB;IACjD,IAAI,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO;IACzC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACjD,uEAAuE;QACvE,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;YAAE,SAAS;QACpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAG/D,CAAC;YACF,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;gBAAE,SAAS;YACtC,IAAI,MAAM,CAAC,aAAa,KAAK,yBAAyB,EAAE,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,KAAqB;IACxE,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAClD,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACjC,CAAC;AAgBD;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,UAAU,CACvB,OAA4B,EAC5B,IAA2B,EAC3B,aAAqB,EACrB,cAAsB,EACtB,OAAyC;IAEzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAChG,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACnF,MAAM,cAAc,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClF,IAAI,cAAc,KAAK,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;QAC5F,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACpE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,kBAAkB,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAC9F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;YAC7C,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC;aACC,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA4B,EAC5B,WAAmB,EACnB,OAAuB,EAAE;IAEzB,yEAAyE;IACzE,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAClF,OAAO,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;AAC/F,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,qBAAqB,CAClC,OAA4B,EAC5B,WAAmB,EACnB,IAAoB,EACpB,SAA6B;IAE7B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;IAChD,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvF,yEAAyE;IACzE,wEAAwE;IACxE,4EAA4E;IAC5E,uEAAuE;IACvE,wEAAwE;IACxE,qBAAqB;IACrB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC;IACxD,MAAM,YAAY,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAE3D,uEAAuE;IACvE,uEAAuE;IACvE,gCAAgC;IAChC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,GAAG,CAAC;IAEnF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAE5E,MAAM,SAAS,GAAG,CAChB,GAaG,EACa,EAAE,CAAC,CAAC;QACpB,aAAa,EAAE,yBAAyB;QACxC,GAAG;QACH,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ;QACR,cAAc;QACd,WAAW;QACX,IAAI;QACJ,aAAa,EAAE,YAAY;QAC3B,GAAG,GAAG;QACN,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,KAAqB,EAAiB,EAAE,CAAC,CAAC;QACrD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,IAAI;QAClB,aAAa;QACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,KAAK;KACN,CAAC,CAAC;IAEH,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,2CAA2C;IAC3C,MAAM,cAAc,GAAG,CACrB,MAAqB,EACrB,UAAkB,EAClB,WAA+B,EAChB,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAChD,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAChD,UAAU;QACV,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,IAAI;QAClB,aAAa;QACb,QAAQ;QACR,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,KAAK,EAAE,SAAS,CAAC;YACf,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,UAAU;SACX,CAAC;KACH,CAAC,CAAC;IAEH,2EAA2E;IAC3E,uEAAuE;IACvE,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,aAAa,GAAG,CACpB,MAAqB,EACrB,UAAkB,EAClB,cAAsB,EACtB,WAA+B,EAChB,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAChD,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAChD,UAAU;QACV,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,aAAa;QACb,QAAQ;QACR,cAAc;QACd,YAAY,EAAE,IAAI;QAClB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,KAAK,EAAE,SAAS,CAAC;YACf,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YAChD,UAAU;SACX,CAAC;KACH,CAAC,CAAC;IAEH,8BAA8B;IAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,QAAQ;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,aAAa;IACb,sEAAsE;IACtE,qEAAqE;IACrE,oDAAoD;IACpD,qEAAqE;IACrE,0DAA0D;IAC1D,mEAAmE;IACnE,2DAA2D;IAC3D,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,sEAAsE;IACtE,0DAA0D;IAC1D,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,aAAa,CACX,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,yBAAyB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAChF,OAAO,CACR,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,MAAM,SAAS,GAAG,KAAK,IAA4B,EAAE;QACnD,sEAAsE;QACtE,yBAAyB;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC/C,IAAI,KAAK;gBAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAEpC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,YAAY,GAAoB,IAAI,CAAC;QACzC,MAAM,OAAO,GAAG,GAAa,EAAE;YAC7B,YAAY,KAAK,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACjD,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QAEF,oEAAoE;QACpE,yEAAyE;QACzE,+CAA+C;QAC/C,EAAE;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,oEAAoE;QACpE,uEAAuE;QACvE,4CAA4C;QAC5C,qEAAqE;QACrE,+DAA+D;QAC/D,wEAAwE;QACxE,sEAAsE;QACtE,0EAA0E;QAC1E,gDAAgD;QAChD,IAAI,WAA0C,CAAC;QAC/C,IAAI,kBAAkB,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACrF,MAAM,IAAI,GACR,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBACtC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,CAAC,OAAqC,EAAqB,EAAE,CAAC,CAAC;oBAC5E,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;oBACzB,OAAO;iBACR,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACxF,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,KAAK,UAAU;wBACb,OAAO,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;oBACpF,KAAK,SAAS;wBACZ,OAAO,aAAa,CAClB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,cAAc,EACtB,MAAM,CAAC,cAAc,CAAC,CACvB,CAAC;oBACJ,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACd,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBACjE,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACvB,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;4BACrC,MAAM;wBACR,CAAC;wBACD,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;wBACvF,MAAM,KAAK,GAAG,SAAS,CAAC;4BACtB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;4BACjC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;4BAC7B,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;4BACxD,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;4BACxD,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,eAAe,EAAE,KAAK;4BACtB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;4BAC7B,KAAK,EAAE,SAAS;4BAChB,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;yBAC7B,CAAC,CAAC;wBACH,OAAO;4BACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;4BAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,QAAQ,EAAE,KAAK;4BACf,QAAQ,EAAE,KAAK;4BACf,QAAQ,EAAE,KAAK;4BACf,aAAa;4BACb,QAAQ;4BACR,cAAc,EAAE,IAAI;4BACpB,YAAY,EAAE,IAAI;4BAClB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;4BAC7B,KAAK;yBACN,CAAC;oBACJ,CAAC;oBACD;wBACE,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,EAAE;QACF,uEAAuE;QACvE,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE;YAC5E,mEAAmE;YACnE,8BAA8B;YAC9B,aAAa;SACd,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,KAAK,IAA4D,EAAE;YACrF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,OAAO,CAAC,GAAG,EACX,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EACjB,aAAa,EACb,cAAc,EACd,OAAO,CACR,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QACxD,CAAC,CAAC;QACF,mEAAmE;QACnE,mEAAmE;QACnE,wEAAwE;QACxE,2CAA2C;QAC3C,MAAM,SAAS,GAAG,CAAC,CAAgB,EAAiB,EAAE,CACpD,yBAAyB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5F,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QACnC,2EAA2E;QAC3E,4EAA4E;QAC5E,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,uDAAuD;QACvD,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,eAAqC,CAAC;QAC1C,IAAI,KAA2B,CAAC;QAChC,IAAI,gBAAoC,CAAC;QACzC,IAAI,kBAAkB,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC5E,IAAI,KAAK,GACP,MAAM,CAAC,QAAQ,KAAK,CAAC;gBACnB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAC1F,sEAAsE;YACtE,uEAAuE;YACvE,wEAAwE;YACxE,qEAAqE;YACrE,kEAAkE;YAClE,mEAAmE;YACnE,wEAAwE;YACxE,yCAAyC;YACzC,EAAE;YACF,wEAAwE;YACxE,iEAAiE;YACjE,gEAAgE;YAChE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;gBACvF,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;gBAClC,IACE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ;oBACtB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAChC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EACzC,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;wBAChC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBACjD,gBAAgB,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;wBAC/E,KAAK,GAAG,EAAE,CAAC;wBACX,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;wBACtB,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;oBACjC,CAAC;yBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;wBAC1C,MAAM,KAAK,GAAG,qBAAqB,CACjC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAChD,aAAa,EACb,OAAO,CACR,CAAC;wBACF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;4BAAE,KAAK,GAAG,KAAK,CAAC;wBACpC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;wBACtB,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,sEAAsE;YACtE,iEAAiE;YACjE,2DAA2D;YAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,eAAe,GAAG,KAAK,CAAC;YAC9C,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC;YACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YAChD,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YAChD,UAAU;YACV,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC,CAAC;QAEH,qEAAqE;QACrE,sEAAsE;QACtE,oEAAoE;QACpE,qEAAqE;QACrE,mEAAmE;QACnE,oDAAoD;QACpD,EAAE;QACF,8DAA8D;QAC9D,kBAAkB;QAClB,+DAA+D;QAC/D,oEAAoE;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,qEAAqE;QACrE,sDAAsD;QACtD,qEAAqE;QACrE,qEAAqE;QACrE,+DAA+D;QAC/D,sEAAsE;QACtE,EAAE;QACF,qEAAqE;QACrE,qEAAqE;QACrE,iEAAiE;QACjE,aAAa;QACb,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,aAAa;YACb,QAAQ;YACR,cAAc,EAAE,IAAI;YACpB,YAAY;YACZ,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,KAAK;SACN,CAAC;IACJ,CAAC,CAAC;IAEF,0EAA0E;IAC1E,sEAAsE;IACtE,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,4EAA4E;IAC5E,2DAA2D;IAC3D,EAAE;IACF,oEAAoE;IACpE,2FAA2F;IAC3F,kEAAkE;IAClE,yEAAyE;IACzE,wDAAwD;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,cAAc,GAAG,MAAM,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;IAC7C,mEAAmE;IACnE,MAAM,UAAU,GAAG,CAAC,CAAiB,EAAW,EAAE,CAChD,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC;IAE5D,SAAS,CAAC;QACR,sEAAsE;QACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE;gBACzC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,IAAI,CAAC,gBAAgB;aACzB,CAAC,CAAC;QACP,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,sEAAsE;YACtE,8CAA8C;YAC9C,MAAM,SAAS,GACb,GAAG,YAAY,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,YAAY;gBAC5D,CAAC,CAAE,GAAG,CAAC,KAAuC,EAAE,IAAI;gBACpD,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,GAAG,CAAC;QACzC,CAAC;gBAAS,CAAC;YACT,IAAI,gBAAgB;gBAAE,MAAM,gBAAgB,EAAE,CAAC;QACjD,CAAC;QAED,iEAAiE;QACjE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC9C,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBAAE,MAAM;YAChE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,YAAY,EAAE,CAAC;YAC/B,wDAAwD;YACxD,mDAAmD;YACnD,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,IAAI;gBAClB,aAAa;gBACb,QAAQ;gBACR,KAAK,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;aACpF,CAAC;QACJ,CAAC;QACD,iEAAiE;IACnE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,CAAS,EAAE,GAAW;IACxC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
@@ -18,19 +18,22 @@
18
18
  *
19
19
  * Defaults (configurable via env):
20
20
  *
21
- * | Tool | Default | Binding constraint |
22
- * |----------------|----------------------------------|---------------------------|
23
- * | test, build | min(RAM/24GiB, cpus/4), min 1 | MEMORY (each run forks) |
24
- * | lint, typecheck| max(2, cpus/2) | CPU (single-process) |
25
- * | audit | max(2, cpus/2) | network-bound, small RAM |
26
- * | security-scan | max(2, cpus/2) | network-bound, small RAM |
27
- *
28
- * On darwin `test`/`build` default to ONE slot machine-wide (T12963): macOS has
29
- * no PSI, so {@link pressureScaleSlots} can never shrink the budget there and
30
- * the RAM bound is the only guard left. Heavy runs additionally take a slot of
31
- * the matching {@link ResourceGovernor} class (`test` → `test-run`, `build` →
32
- * `scoped-build`), so evidence runs and other governed heavy work share one
33
- * machine-wide budget.
21
+ * | Tool | Default | Binding constraint |
22
+ * |-----------------|----------------------------------------------|-----------------------------|
23
+ * | test, build | min(RAM/24GiB, cpus/4), min 1 | MEMORY (each run forks) |
24
+ * | typecheck, lint | min(RAM/2 ÷ (heap + 2GiB), cpus/2), min 1 | MEMORY (one TS program) |
25
+ * | audit | max(2, cpus/2) | network-bound, small RAM |
26
+ * | security-scan | max(2, cpus/2) | network-bound, small RAM |
27
+ *
28
+ * On darwin `test`/`build` default to ONE slot machine-wide (T12963), and
29
+ * `typecheck`/`lint` to at most {@link DARWIN_MEMORY_BOUND_SLOTS} (T13123):
30
+ * concurrent agents on a laptop are the common case there. Memory-bound runs
31
+ * shrink under pressure ({@link pressureScaleSlots}). Heavy runs additionally
32
+ * take a slot of the matching {@link ResourceGovernor} class (`test` →
33
+ * `test-run`, `build` → `scoped-build`), so evidence runs and other governed
34
+ * heavy work share one machine-wide budget. `typecheck`/`lint` take no governor
35
+ * class of their own: cross-surface admission belongs to the single
36
+ * footprint-based scheduler (T13132), not to one more class.
34
37
  *
35
38
  * T12091: `test`/`build` were `max(1, cpus/4)` — 6 slots on a 24-core box. Since
36
39
  * each `pnpm run test` is itself allowed 6 vitest forks × 4 GiB, the two bounds
@@ -47,6 +50,7 @@
47
50
  * @task T1534
48
51
  * @task T12091
49
52
  * @task T12963
53
+ * @task T13123
50
54
  * @adr ADR-061
51
55
  */
52
56
  import type { ResourceClass } from '@cleocode/contracts';
@@ -130,19 +134,45 @@ export interface AcquireSlotOptions {
130
134
  * @internal
131
135
  */
132
136
  skipGovernor?: boolean;
137
+ /**
138
+ * The heap ceiling the run is spawned with, in MiB (the plan's `heapMb`,
139
+ * T13122). A `typecheck`/`lint` slot is sized from it, so a run planned with
140
+ * a larger inherited heap counts against more of the budget (T13123).
141
+ *
142
+ * @defaultValue {@link defaultSingleProcessHeapMb} for the machine's RAM
143
+ */
144
+ heapMb?: number;
133
145
  }
134
146
  /**
135
147
  * Worst-case resident footprint of ONE `tool:test` / `tool:build` invocation,
136
148
  * in GiB.
137
149
  *
138
- * This is not a guess. `vitest.memory-safe.ts` permits
139
- * `MEMORY_SAFE_MAX_WORKERS` forks (up to 6) each capped at `FORK_HEAP_MB`
140
- * (4096), so a single `pnpm run test` may legitimately hold ~24 GiB before any
141
- * guard fires. Keep this in step with that file if either bound changes.
150
+ * This is not a guess. The heavy-tool overlay permits at most
151
+ * `MAX_HEAVY_WORKERS` (6) workers × `HEAVY_TOOL_HEAP_MB` (4096) — the largest
152
+ * run budget (T13122) — so a single `pnpm run test` may legitimately hold
153
+ * ~24 GiB before any guard fires. Derived from those constants since T13123,
154
+ * so the two can no longer drift apart.
142
155
  *
143
156
  * @task T12091
144
157
  */
145
- export declare const HEAVY_TOOL_FOOTPRINT_GIB = 24;
158
+ export declare const HEAVY_TOOL_FOOTPRINT_GIB: number;
159
+ /**
160
+ * Share of total RAM all concurrent `typecheck`/`lint` runs together may hold
161
+ * (T13123). The other half is for the test/build budget, the OS and whatever
162
+ * the operator is running.
163
+ */
164
+ export declare const MEMORY_BOUND_RAM_FRACTION = 0.5;
165
+ /**
166
+ * Resident memory one Node process holds beyond its V8 heap ceiling, in MiB:
167
+ * code, native allocations, buffers. The same allowance the heavy worker count
168
+ * makes (`GIB_PER_WORKER` minus the heap).
169
+ */
170
+ export declare const PROCESS_OVERHEAD_MB: number;
171
+ /**
172
+ * Most concurrent `typecheck`/`lint` runs on darwin, however large the Mac
173
+ * (T13123). A small fixed number, like the single darwin test slot (T12963).
174
+ */
175
+ export declare const DARWIN_MEMORY_BOUND_SLOTS = 2;
146
176
  /**
147
177
  * Compute the default max-concurrency for a canonical tool.
148
178
  *
@@ -169,8 +199,12 @@ export declare const HEAVY_TOOL_FOOTPRINT_GIB = 24;
169
199
  * PSI `some avg10` is a ten-second average, and a fork fleet can exhaust RAM
170
200
  * faster than that window can report it. Admission has to be right up front.
171
201
  *
172
- * Light tools (lint, typecheck, audit, security-scan) are single-process and
173
- * short, and keep the core-derived half-of-cores budget.
202
+ * `typecheck` and `lint` are single processes but not light ones (T13123): one
203
+ * TypeScript program on a large monorepo holds 2–5 GB, and the half-of-cores
204
+ * budget they had was nine slots on an 18-core box — 45 GB of `tsc`. They are
205
+ * RAM-derived now too ({@link MEMORY_BOUND_RAM_FRACTION} of RAM at the run's
206
+ * heap plus {@link PROCESS_OVERHEAD_MB} each), capped by half the cores. Only
207
+ * `audit` and `security-scan` keep the core-derived budget.
174
208
  *
175
209
  * ## Why darwin gets one heavy slot (T12963)
176
210
  *
@@ -185,6 +219,8 @@ export declare const HEAVY_TOOL_FOOTPRINT_GIB = 24;
185
219
  * @param cpuCount - logical cores available.
186
220
  * @param totalRamGib - total machine RAM in GiB; defaults to a live reading.
187
221
  * @param platform - OS platform; defaults to `process.platform`.
222
+ * @param heapMb - heap ceiling of the run, for `typecheck`/`lint`; defaults to
223
+ * {@link defaultSingleProcessHeapMb} for `totalRamGib`.
188
224
  * @returns the machine-wide slot count, always ≥ 1.
189
225
  *
190
226
  * @example
@@ -195,13 +231,19 @@ export declare const HEAVY_TOOL_FOOTPRINT_GIB = 24;
195
231
  * defaultMaxConcurrent('test', 24, 16); // → 1
196
232
  * // macOS: no PSI to back off with, so one heavy run at a time
197
233
  * defaultMaxConcurrent('test', 12, 64, 'darwin'); // → 1
234
+ * // 18 cores, 48 GiB: ⌊24576 / (4096 + 2048)⌋ = 4 typechecks (was 9); 2 on darwin
235
+ * defaultMaxConcurrent('typecheck', 18, 48, 'linux'); // → 4
236
+ * defaultMaxConcurrent('typecheck', 18, 48, 'darwin'); // → 2
237
+ * // 4 cores, 8 GiB: one at a time
238
+ * defaultMaxConcurrent('typecheck', 4, 8, 'linux'); // → 1
198
239
  * ```
199
240
  *
200
241
  * @task T1534
201
242
  * @task T12091
202
243
  * @task T12963
244
+ * @task T13123
203
245
  */
204
- export declare function defaultMaxConcurrent(canonical: CanonicalTool, cpuCount: number, totalRamGib?: number, platform?: NodeJS.Platform): number;
246
+ export declare function defaultMaxConcurrent(canonical: CanonicalTool, cpuCount: number, totalRamGib?: number, platform?: NodeJS.Platform, heapMb?: number): number;
205
247
  /**
206
248
  * Resolve the active per-tool concurrency limit, honouring the
207
249
  * `CLEO_TOOL_CONCURRENCY_<CANONICAL>` env override when set. A value of
@@ -211,8 +253,9 @@ export declare function defaultMaxConcurrent(canonical: CanonicalTool, cpuCount:
211
253
  *
212
254
  * @task T1534
213
255
  * @task T12963
256
+ * @task T13123
214
257
  */
215
- export declare function resolveMaxConcurrent(canonical: CanonicalTool, cpuCount?: number, totalRamGib?: number, platform?: NodeJS.Platform): number;
258
+ export declare function resolveMaxConcurrent(canonical: CanonicalTool, cpuCount?: number, totalRamGib?: number, platform?: NodeJS.Platform, heapMb?: number): number;
216
259
  /**
217
260
  * Scale a static slot budget down under memory pressure (T12001 · choke-point
218
261
  * #6). Mirrors the governor's `test-run` budget: halve when `some avg10` exceeds
@@ -229,7 +272,7 @@ export declare function pressureScaleSlots(canonical: CanonicalTool, staticMax:
229
272
  }): number;
230
273
  /**
231
274
  * The {@link ResourceGovernor} class a heavy tool run is admitted under, or
232
- * `null` for light tools. `test` and `build` are the classes the governor
275
+ * `null` for the rest. `test` and `build` are the classes the governor
233
276
  * budgets as `test-run` / `scoped-build` (T12963).
234
277
  */
235
278
  export declare function governorClassFor(canonical: CanonicalTool): ResourceClass | null;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-semaphore.d.ts","sourceRoot":"","sources":["../../src/tasks/tool-semaphore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-semaphore.d.ts","sourceRoot":"","sources":["../../src/tasks/tool-semaphore.ts"],"names":[],"mappings":"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"}
@@ -18,19 +18,22 @@
18
18
  *
19
19
  * Defaults (configurable via env):
20
20
  *
21
- * | Tool | Default | Binding constraint |
22
- * |----------------|----------------------------------|---------------------------|
23
- * | test, build | min(RAM/24GiB, cpus/4), min 1 | MEMORY (each run forks) |
24
- * | lint, typecheck| max(2, cpus/2) | CPU (single-process) |
25
- * | audit | max(2, cpus/2) | network-bound, small RAM |
26
- * | security-scan | max(2, cpus/2) | network-bound, small RAM |
27
- *
28
- * On darwin `test`/`build` default to ONE slot machine-wide (T12963): macOS has
29
- * no PSI, so {@link pressureScaleSlots} can never shrink the budget there and
30
- * the RAM bound is the only guard left. Heavy runs additionally take a slot of
31
- * the matching {@link ResourceGovernor} class (`test` → `test-run`, `build` →
32
- * `scoped-build`), so evidence runs and other governed heavy work share one
33
- * machine-wide budget.
21
+ * | Tool | Default | Binding constraint |
22
+ * |-----------------|----------------------------------------------|-----------------------------|
23
+ * | test, build | min(RAM/24GiB, cpus/4), min 1 | MEMORY (each run forks) |
24
+ * | typecheck, lint | min(RAM/2 ÷ (heap + 2GiB), cpus/2), min 1 | MEMORY (one TS program) |
25
+ * | audit | max(2, cpus/2) | network-bound, small RAM |
26
+ * | security-scan | max(2, cpus/2) | network-bound, small RAM |
27
+ *
28
+ * On darwin `test`/`build` default to ONE slot machine-wide (T12963), and
29
+ * `typecheck`/`lint` to at most {@link DARWIN_MEMORY_BOUND_SLOTS} (T13123):
30
+ * concurrent agents on a laptop are the common case there. Memory-bound runs
31
+ * shrink under pressure ({@link pressureScaleSlots}). Heavy runs additionally
32
+ * take a slot of the matching {@link ResourceGovernor} class (`test` →
33
+ * `test-run`, `build` → `scoped-build`), so evidence runs and other governed
34
+ * heavy work share one machine-wide budget. `typecheck`/`lint` take no governor
35
+ * class of their own: cross-surface admission belongs to the single
36
+ * footprint-based scheduler (T13132), not to one more class.
34
37
  *
35
38
  * T12091: `test`/`build` were `max(1, cpus/4)` — 6 slots on a 24-core box. Since
36
39
  * each `pnpm run test` is itself allowed 6 vitest forks × 4 GiB, the two bounds
@@ -47,6 +50,7 @@
47
50
  * @task T1534
48
51
  * @task T12091
49
52
  * @task T12963
53
+ * @task T13123
50
54
  * @adr ADR-061
51
55
  */
52
56
  import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
@@ -57,7 +61,7 @@ import { getCleoHome } from '../paths.js';
57
61
  import { governor } from '../resources/governor.js';
58
62
  import { ResourceMonitor } from '../resources/monitor.js';
59
63
  import { assessSlotHolder, currentLockId, ownProcessStartedAt, reapSlotIfHolderDead, recordToolGroupsWhileHeld, SLOT_LOCK_STALE_MS, writeHolderRecord, } from '../resources/slot-holder.js';
60
- import { isHeavyTool } from './heavy-tool-env.js';
64
+ import { defaultSingleProcessHeapMb, GIB_PER_WORKER, HEAVY_TOOL_HEAP_MB, isMemoryBoundTool, MAX_HEAVY_WORKERS, } from './heavy-tool-env.js';
61
65
  // ---------------------------------------------------------------------------
62
66
  // Concurrency-limit defaults + override resolution
63
67
  // ---------------------------------------------------------------------------
@@ -65,14 +69,57 @@ import { isHeavyTool } from './heavy-tool-env.js';
65
69
  * Worst-case resident footprint of ONE `tool:test` / `tool:build` invocation,
66
70
  * in GiB.
67
71
  *
68
- * This is not a guess. `vitest.memory-safe.ts` permits
69
- * `MEMORY_SAFE_MAX_WORKERS` forks (up to 6) each capped at `FORK_HEAP_MB`
70
- * (4096), so a single `pnpm run test` may legitimately hold ~24 GiB before any
71
- * guard fires. Keep this in step with that file if either bound changes.
72
+ * This is not a guess. The heavy-tool overlay permits at most
73
+ * `MAX_HEAVY_WORKERS` (6) workers × `HEAVY_TOOL_HEAP_MB` (4096) — the largest
74
+ * run budget (T13122) — so a single `pnpm run test` may legitimately hold
75
+ * ~24 GiB before any guard fires. Derived from those constants since T13123,
76
+ * so the two can no longer drift apart.
72
77
  *
73
78
  * @task T12091
74
79
  */
75
- export const HEAVY_TOOL_FOOTPRINT_GIB = 24;
80
+ export const HEAVY_TOOL_FOOTPRINT_GIB = (MAX_HEAVY_WORKERS * HEAVY_TOOL_HEAP_MB) / 1024;
81
+ /**
82
+ * Share of total RAM all concurrent `typecheck`/`lint` runs together may hold
83
+ * (T13123). The other half is for the test/build budget, the OS and whatever
84
+ * the operator is running.
85
+ */
86
+ export const MEMORY_BOUND_RAM_FRACTION = 0.5;
87
+ /**
88
+ * Resident memory one Node process holds beyond its V8 heap ceiling, in MiB:
89
+ * code, native allocations, buffers. The same allowance the heavy worker count
90
+ * makes (`GIB_PER_WORKER` minus the heap).
91
+ */
92
+ export const PROCESS_OVERHEAD_MB = GIB_PER_WORKER * 1024 - HEAVY_TOOL_HEAP_MB;
93
+ /**
94
+ * Most concurrent `typecheck`/`lint` runs on darwin, however large the Mac
95
+ * (T13123). A small fixed number, like the single darwin test slot (T12963).
96
+ */
97
+ export const DARWIN_MEMORY_BOUND_SLOTS = 2;
98
+ /**
99
+ * Machine-wide slot count for a single-process memory-bound tool
100
+ * (`typecheck`, `lint`): as many runs as fit in {@link MEMORY_BOUND_RAM_FRACTION}
101
+ * of RAM at `heap + PROCESS_OVERHEAD_MB` each, at most half the cores, at most
102
+ * {@link DARWIN_MEMORY_BOUND_SLOTS} on darwin, never fewer than one. A
103
+ * non-finite input fails closed to one slot: a NaN count would read as "no
104
+ * bound" in {@link acquireGlobalSlot}.
105
+ *
106
+ * `lint` is sized like `tsc`: a canonical-level approximation, since `biome`
107
+ * is a small native binary while type-aware `eslint` builds a TS program.
108
+ *
109
+ * Each acquirer sizes the shared slot directory from its own heap, so with
110
+ * mixed heaps the bound is as tight as the most permissive acquirer (one large
111
+ * run can be over), and a large-heap acquirer, eligible for fewer slots, waits
112
+ * longer under steady small-heap load — pressure until T13132's footprint
113
+ * scheduler, never a deadlock (the wait times out naming the holders).
114
+ */
115
+ function memoryBoundSlots(cpus, totalRamGib, platform, heapMb) {
116
+ const byRam = Math.floor((totalRamGib * 1024 * MEMORY_BOUND_RAM_FRACTION) / (Math.max(0, heapMb) + PROCESS_OVERHEAD_MB));
117
+ const byCpu = Math.floor(cpus / 2);
118
+ const slots = Math.min(byRam, byCpu);
119
+ if (!Number.isFinite(slots) || slots < 1)
120
+ return 1;
121
+ return platform === 'darwin' ? Math.min(DARWIN_MEMORY_BOUND_SLOTS, slots) : slots;
122
+ }
76
123
  /**
77
124
  * Compute the default max-concurrency for a canonical tool.
78
125
  *
@@ -99,8 +146,12 @@ export const HEAVY_TOOL_FOOTPRINT_GIB = 24;
99
146
  * PSI `some avg10` is a ten-second average, and a fork fleet can exhaust RAM
100
147
  * faster than that window can report it. Admission has to be right up front.
101
148
  *
102
- * Light tools (lint, typecheck, audit, security-scan) are single-process and
103
- * short, and keep the core-derived half-of-cores budget.
149
+ * `typecheck` and `lint` are single processes but not light ones (T13123): one
150
+ * TypeScript program on a large monorepo holds 2–5 GB, and the half-of-cores
151
+ * budget they had was nine slots on an 18-core box — 45 GB of `tsc`. They are
152
+ * RAM-derived now too ({@link MEMORY_BOUND_RAM_FRACTION} of RAM at the run's
153
+ * heap plus {@link PROCESS_OVERHEAD_MB} each), capped by half the cores. Only
154
+ * `audit` and `security-scan` keep the core-derived budget.
104
155
  *
105
156
  * ## Why darwin gets one heavy slot (T12963)
106
157
  *
@@ -115,6 +166,8 @@ export const HEAVY_TOOL_FOOTPRINT_GIB = 24;
115
166
  * @param cpuCount - logical cores available.
116
167
  * @param totalRamGib - total machine RAM in GiB; defaults to a live reading.
117
168
  * @param platform - OS platform; defaults to `process.platform`.
169
+ * @param heapMb - heap ceiling of the run, for `typecheck`/`lint`; defaults to
170
+ * {@link defaultSingleProcessHeapMb} for `totalRamGib`.
118
171
  * @returns the machine-wide slot count, always ≥ 1.
119
172
  *
120
173
  * @example
@@ -125,14 +178,20 @@ export const HEAVY_TOOL_FOOTPRINT_GIB = 24;
125
178
  * defaultMaxConcurrent('test', 24, 16); // → 1
126
179
  * // macOS: no PSI to back off with, so one heavy run at a time
127
180
  * defaultMaxConcurrent('test', 12, 64, 'darwin'); // → 1
181
+ * // 18 cores, 48 GiB: ⌊24576 / (4096 + 2048)⌋ = 4 typechecks (was 9); 2 on darwin
182
+ * defaultMaxConcurrent('typecheck', 18, 48, 'linux'); // → 4
183
+ * defaultMaxConcurrent('typecheck', 18, 48, 'darwin'); // → 2
184
+ * // 4 cores, 8 GiB: one at a time
185
+ * defaultMaxConcurrent('typecheck', 4, 8, 'linux'); // → 1
128
186
  * ```
129
187
  *
130
188
  * @task T1534
131
189
  * @task T12091
132
190
  * @task T12963
191
+ * @task T13123
133
192
  */
134
- export function defaultMaxConcurrent(canonical, cpuCount, totalRamGib = totalmem() / 1024 ** 3, platform = process.platform) {
135
- const cpus = Math.max(1, cpuCount);
193
+ export function defaultMaxConcurrent(canonical, cpuCount, totalRamGib = totalmem() / 1024 ** 3, platform = process.platform, heapMb = defaultSingleProcessHeapMb(totalRamGib)) {
194
+ const cpus = Number.isFinite(cpuCount) ? Math.max(1, cpuCount) : 1;
136
195
  switch (canonical) {
137
196
  case 'test':
138
197
  case 'build': {
@@ -144,6 +203,7 @@ export function defaultMaxConcurrent(canonical, cpuCount, totalRamGib = totalmem
144
203
  }
145
204
  case 'lint':
146
205
  case 'typecheck':
206
+ return memoryBoundSlots(cpus, totalRamGib, platform, heapMb);
147
207
  case 'audit':
148
208
  case 'security-scan':
149
209
  return Math.max(2, Math.floor(cpus / 2));
@@ -160,8 +220,9 @@ export function defaultMaxConcurrent(canonical, cpuCount, totalRamGib = totalmem
160
220
  *
161
221
  * @task T1534
162
222
  * @task T12963
223
+ * @task T13123
163
224
  */
164
- export function resolveMaxConcurrent(canonical, cpuCount, totalRamGib, platform) {
225
+ export function resolveMaxConcurrent(canonical, cpuCount, totalRamGib, platform, heapMb) {
165
226
  const envKey = `CLEO_TOOL_CONCURRENCY_${canonical.toUpperCase().replace(/-/g, '_')}`;
166
227
  const raw = process.env[envKey];
167
228
  if (raw !== undefined && raw !== '') {
@@ -172,12 +233,13 @@ export function resolveMaxConcurrent(canonical, cpuCount, totalRamGib, platform)
172
233
  return parsed;
173
234
  }
174
235
  }
175
- return defaultMaxConcurrent(canonical, cpuCount ?? availableParallelism(), totalRamGib ?? totalmem() / 1024 ** 3, platform ?? process.platform);
236
+ const ram = totalRamGib ?? totalmem() / 1024 ** 3;
237
+ return defaultMaxConcurrent(canonical, cpuCount ?? availableParallelism(), ram, platform ?? process.platform, heapMb ?? defaultSingleProcessHeapMb(ram));
176
238
  }
177
239
  /**
178
- * Whether a canonical tool's slot budget shrinks under memory pressure.
179
- * Only the heavy `test`/`build` classes scale; lint/typecheck/audit are light
180
- * and single-threaded, so they keep their static budget.
240
+ * Whether a canonical tool's slot budget shrinks under memory pressure: every
241
+ * memory-bound tool — `test`, `build`, and since T13123 `typecheck` and `lint`.
242
+ * `audit` and `security-scan` are network-bound and keep their static budget.
181
243
  */
182
244
  function isPressureSensitive(canonical) {
183
245
  // Delegates rather than repeating the literal. This was the third
@@ -185,7 +247,7 @@ function isPressureSensitive(canonical) {
185
247
  // fifth heavy tool would have needed three coordinated edits — with a missed
186
248
  // one producing a SILENT asymmetry (a tool granted the long deadline and the
187
249
  // worker caps but not a semaphore slot, or the reverse).
188
- return isHeavyTool(canonical);
250
+ return isMemoryBoundTool(canonical);
189
251
  }
190
252
  /**
191
253
  * Scale a static slot budget down under memory pressure (T12001 · choke-point
@@ -232,7 +294,7 @@ function hasConcurrencyOverride(canonical) {
232
294
  }
233
295
  /**
234
296
  * The {@link ResourceGovernor} class a heavy tool run is admitted under, or
235
- * `null` for light tools. `test` and `build` are the classes the governor
297
+ * `null` for the rest. `test` and `build` are the classes the governor
236
298
  * budgets as `test-run` / `scoped-build` (T12963).
237
299
  */
238
300
  export function governorClassFor(canonical) {
@@ -478,13 +540,13 @@ const NOOP_RELEASE = async () => {
478
540
  * @task T1534
479
541
  */
480
542
  export async function acquireGlobalSlot(canonical, opts = {}) {
481
- const max = resolveMaxConcurrent(canonical, opts.cpuCount, opts.totalRamGib, opts.platform);
543
+ const max = resolveMaxConcurrent(canonical, opts.cpuCount, opts.totalRamGib, opts.platform, opts.heapMb);
482
544
  if (!Number.isFinite(max) || max <= 0) {
483
545
  return NOOP_RELEASE;
484
546
  }
485
- // T12001 / choke-point #6: shrink the EFFECTIVE slot count for the heavy
486
- // test/build classes under memory pressure so builds/tests can't co-schedule
487
- // into an OOM. The static slot FILES are still created (stable dir across
547
+ // T12001 / choke-point #6: shrink the EFFECTIVE slot count for the
548
+ // memory-bound classes under memory pressure so builds/tests/typechecks can't
549
+ // co-schedule into an OOM. The static slot FILES are still created (stable dir across
488
550
  // pressure swings) — only the acquirable window shrinks, and it recovers as
489
551
  // pressure clears. An explicit CLEO_TOOL_CONCURRENCY_* override is honored
490
552
  // verbatim, and any sampling failure fails OPEN to the static count.