clinkx 1.0.0 → 1.1.1

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 (333) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +184 -112
  3. package/clinkx-workflows/dist/chairman-knobs.d.ts +24 -0
  4. package/clinkx-workflows/dist/chairman-knobs.js +27 -0
  5. package/clinkx-workflows/dist/chairman-knobs.js.map +1 -0
  6. package/clinkx-workflows/dist/clink-client.d.ts +10 -0
  7. package/clinkx-workflows/dist/clink-client.js +39 -1
  8. package/clinkx-workflows/dist/clink-client.js.map +1 -1
  9. package/clinkx-workflows/dist/config.d.ts +29 -1
  10. package/clinkx-workflows/dist/config.js +35 -2
  11. package/clinkx-workflows/dist/config.js.map +1 -1
  12. package/clinkx-workflows/dist/context-preflight.d.ts +5 -0
  13. package/clinkx-workflows/dist/context-preflight.js.map +1 -1
  14. package/clinkx-workflows/dist/council-execution-policy.d.ts +68 -0
  15. package/clinkx-workflows/dist/council-execution-policy.js +110 -0
  16. package/clinkx-workflows/dist/council-execution-policy.js.map +1 -0
  17. package/clinkx-workflows/dist/council-expander.d.ts +9 -8
  18. package/clinkx-workflows/dist/council-expander.js +18 -9
  19. package/clinkx-workflows/dist/council-expander.js.map +1 -1
  20. package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +5557 -4
  21. package/clinkx-workflows/dist/dashboard/activity-contract.js +55 -3
  22. package/clinkx-workflows/dist/dashboard/activity-contract.js.map +1 -1
  23. package/clinkx-workflows/dist/dashboard/activity-reader.d.ts +9 -5
  24. package/clinkx-workflows/dist/dashboard/activity-reader.js +15 -2
  25. package/clinkx-workflows/dist/dashboard/activity-reader.js.map +1 -1
  26. package/clinkx-workflows/dist/dashboard/api-routes.d.ts +4 -0
  27. package/clinkx-workflows/dist/dashboard/api-routes.js +133 -25
  28. package/clinkx-workflows/dist/dashboard/api-routes.js.map +1 -1
  29. package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.d.ts +3865 -0
  30. package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.js +69 -0
  31. package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.js.map +1 -0
  32. package/clinkx-workflows/dist/dashboard/context-run-reader.d.ts +36 -2
  33. package/clinkx-workflows/dist/dashboard/context-run-reader.js +142 -19
  34. package/clinkx-workflows/dist/dashboard/context-run-reader.js.map +1 -1
  35. package/clinkx-workflows/dist/dashboard/contracts.d.ts +20027 -480
  36. package/clinkx-workflows/dist/dashboard/contracts.js +133 -6
  37. package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -1
  38. package/clinkx-workflows/dist/dashboard/index.d.ts +4 -0
  39. package/clinkx-workflows/dist/dashboard/index.js +4 -0
  40. package/clinkx-workflows/dist/dashboard/index.js.map +1 -1
  41. package/clinkx-workflows/dist/dashboard/invocation-contract.d.ts +786 -0
  42. package/clinkx-workflows/dist/dashboard/invocation-contract.js +201 -0
  43. package/clinkx-workflows/dist/dashboard/invocation-contract.js.map +1 -0
  44. package/clinkx-workflows/dist/dashboard/lazy-content.d.ts +14 -1
  45. package/clinkx-workflows/dist/dashboard/lazy-content.js +53 -2
  46. package/clinkx-workflows/dist/dashboard/lazy-content.js.map +1 -1
  47. package/clinkx-workflows/dist/dashboard/native-transcript/contract.d.ts +90 -0
  48. package/clinkx-workflows/dist/dashboard/native-transcript/contract.js +31 -0
  49. package/clinkx-workflows/dist/dashboard/native-transcript/contract.js.map +1 -0
  50. package/clinkx-workflows/dist/dashboard/native-transcript/projection.d.ts +12 -0
  51. package/clinkx-workflows/dist/dashboard/native-transcript/projection.js +286 -0
  52. package/clinkx-workflows/dist/dashboard/native-transcript/projection.js.map +1 -0
  53. package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +147 -4
  54. package/clinkx-workflows/dist/dashboard/progress-report-contract.js +11 -11
  55. package/clinkx-workflows/dist/dashboard/progress-report-contract.js.map +1 -1
  56. package/clinkx-workflows/dist/dashboard/progress-report-reader.js +4 -56
  57. package/clinkx-workflows/dist/dashboard/progress-report-reader.js.map +1 -1
  58. package/clinkx-workflows/dist/dashboard/progress-report-status-store.d.ts +2 -1
  59. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js +6 -5
  60. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js.map +1 -1
  61. package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.d.ts +194 -0
  62. package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.js +89 -0
  63. package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.js.map +1 -0
  64. package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.d.ts +26 -0
  65. package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.js +102 -0
  66. package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.js.map +1 -0
  67. package/clinkx-workflows/dist/dashboard/request-admission.js +4 -0
  68. package/clinkx-workflows/dist/dashboard/request-admission.js.map +1 -1
  69. package/clinkx-workflows/dist/dashboard/scanner.d.ts +3 -0
  70. package/clinkx-workflows/dist/dashboard/scanner.js +52 -8
  71. package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -1
  72. package/clinkx-workflows/dist/dashboard/server-factory.d.ts +14 -1
  73. package/clinkx-workflows/dist/dashboard/server-factory.js +73 -21
  74. package/clinkx-workflows/dist/dashboard/server-factory.js.map +1 -1
  75. package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +223 -56
  76. package/clinkx-workflows/dist/dashboard/session-log-contract.js +26 -0
  77. package/clinkx-workflows/dist/dashboard/session-log-contract.js.map +1 -1
  78. package/clinkx-workflows/dist/dashboard/session-log-journal.js +10 -3
  79. package/clinkx-workflows/dist/dashboard/session-log-journal.js.map +1 -1
  80. package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +9 -1
  81. package/clinkx-workflows/dist/dashboard/session-log-redaction.js +793 -59
  82. package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -1
  83. package/clinkx-workflows/dist/dashboard-ui/assets/index-JPHQVtn9.js +106 -0
  84. package/clinkx-workflows/dist/dashboard-ui/assets/style-DOMHk-j6.css +1 -0
  85. package/clinkx-workflows/dist/dashboard-ui/index.html +2 -2
  86. package/clinkx-workflows/dist/delegate-finalizer-policy.d.ts +26 -0
  87. package/clinkx-workflows/dist/delegate-finalizer-policy.js +72 -0
  88. package/clinkx-workflows/dist/delegate-finalizer-policy.js.map +1 -0
  89. package/clinkx-workflows/dist/delegate-signature.d.ts +14 -0
  90. package/clinkx-workflows/dist/delegate-signature.js +14 -0
  91. package/clinkx-workflows/dist/delegate-signature.js.map +1 -0
  92. package/clinkx-workflows/dist/delegate-validate.d.ts +32 -2
  93. package/clinkx-workflows/dist/delegate-validate.js +51 -0
  94. package/clinkx-workflows/dist/delegate-validate.js.map +1 -1
  95. package/clinkx-workflows/dist/engine.d.ts +113 -3
  96. package/clinkx-workflows/dist/engine.js +476 -80
  97. package/clinkx-workflows/dist/engine.js.map +1 -1
  98. package/clinkx-workflows/dist/errors.d.ts +22 -2
  99. package/clinkx-workflows/dist/errors.js +30 -2
  100. package/clinkx-workflows/dist/errors.js.map +1 -1
  101. package/clinkx-workflows/dist/fidelity.d.ts +47 -1
  102. package/clinkx-workflows/dist/fidelity.js +54 -1
  103. package/clinkx-workflows/dist/fidelity.js.map +1 -1
  104. package/clinkx-workflows/dist/fingerprint.d.ts +24 -6
  105. package/clinkx-workflows/dist/fingerprint.js +32 -9
  106. package/clinkx-workflows/dist/fingerprint.js.map +1 -1
  107. package/clinkx-workflows/dist/index.js +53 -1
  108. package/clinkx-workflows/dist/index.js.map +1 -1
  109. package/clinkx-workflows/dist/logger.d.ts +1 -1
  110. package/clinkx-workflows/dist/logger.js +17 -3
  111. package/clinkx-workflows/dist/logger.js.map +1 -1
  112. package/clinkx-workflows/dist/monotonic-clock.d.ts +19 -0
  113. package/clinkx-workflows/dist/monotonic-clock.js +22 -0
  114. package/clinkx-workflows/dist/monotonic-clock.js.map +1 -0
  115. package/clinkx-workflows/dist/plan-review/contract.d.ts +52 -52
  116. package/clinkx-workflows/dist/plan-review/publication.d.ts +4 -4
  117. package/clinkx-workflows/dist/plan-review/run-state.d.ts +16 -16
  118. package/clinkx-workflows/dist/roster-contract.d.ts +889 -0
  119. package/clinkx-workflows/dist/roster-contract.js +180 -0
  120. package/clinkx-workflows/dist/roster-contract.js.map +1 -0
  121. package/clinkx-workflows/dist/rosters.d.ts +14 -0
  122. package/clinkx-workflows/dist/rosters.js +169 -0
  123. package/clinkx-workflows/dist/rosters.js.map +1 -0
  124. package/clinkx-workflows/dist/run-health.d.ts +7 -0
  125. package/clinkx-workflows/dist/run-health.js +25 -0
  126. package/clinkx-workflows/dist/run-health.js.map +1 -0
  127. package/clinkx-workflows/dist/schema.d.ts +64 -0
  128. package/clinkx-workflows/dist/schema.js +24 -0
  129. package/clinkx-workflows/dist/schema.js.map +1 -1
  130. package/clinkx-workflows/dist/server.js +2 -0
  131. package/clinkx-workflows/dist/server.js.map +1 -1
  132. package/clinkx-workflows/dist/shutdown.d.ts +15 -2
  133. package/clinkx-workflows/dist/shutdown.js +60 -16
  134. package/clinkx-workflows/dist/shutdown.js.map +1 -1
  135. package/clinkx-workflows/dist/state-schema.d.ts +23 -0
  136. package/clinkx-workflows/dist/state.d.ts +5 -0
  137. package/clinkx-workflows/dist/state.js +128 -21
  138. package/clinkx-workflows/dist/state.js.map +1 -1
  139. package/clinkx-workflows/dist/stdio-watchdog.d.ts +52 -0
  140. package/clinkx-workflows/dist/stdio-watchdog.js +212 -0
  141. package/clinkx-workflows/dist/stdio-watchdog.js.map +1 -0
  142. package/clinkx-workflows/dist/types.d.ts +6 -0
  143. package/clinkx-workflows/dist/validators/council.d.ts +50 -50
  144. package/clinkx-workflows/dist/validators/plan-review.d.ts +3 -3
  145. package/clinkx-workflows/dist/workflow-tools.d.ts +70 -0
  146. package/clinkx-workflows/dist/workflow-tools.js +760 -168
  147. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  148. package/clinkx-workflows/templates/council/answer-chairman.txt +3 -0
  149. package/clinkx-workflows/templates/council/answer-cross-reviewer.txt +3 -0
  150. package/clinkx-workflows/templates/council/answer-specialist.txt +3 -0
  151. package/clinkx-workflows/templates/council/chairman.txt +3 -0
  152. package/clinkx-workflows/templates/council/code-review-chairman.txt +3 -0
  153. package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +3 -0
  154. package/clinkx-workflows/templates/council/code-review-reviewer.txt +3 -0
  155. package/clinkx-workflows/templates/council/debug-chairman.txt +3 -0
  156. package/clinkx-workflows/templates/council/debug-cross-reviewer.txt +3 -0
  157. package/clinkx-workflows/templates/council/debug-debugger.txt +3 -0
  158. package/clinkx-workflows/templates/council/discover-analyst.txt +3 -0
  159. package/clinkx-workflows/templates/council/discover-chairman.txt +3 -0
  160. package/clinkx-workflows/templates/council/discover-cross-reviewer.txt +3 -0
  161. package/clinkx-workflows/templates/council/member.txt +3 -0
  162. package/clinkx-workflows/templates/council/plan-review-chairman.txt +3 -0
  163. package/clinkx-workflows/templates/council/plan-review-cross-reviewer.txt +3 -0
  164. package/clinkx-workflows/templates/council/plan-review-reviewer.txt +3 -0
  165. package/clinkx-workflows/templates/council/reviewer.txt +3 -0
  166. package/clinkx-workflows/workflows/council-answer.yaml +3 -0
  167. package/clinkx-workflows/workflows/council-code-review.yaml +3 -0
  168. package/clinkx-workflows/workflows/council-debug.yaml +3 -0
  169. package/clinkx-workflows/workflows/council-default.yaml +7 -0
  170. package/clinkx-workflows/workflows/council-discover.yaml +3 -0
  171. package/clinkx-workflows/workflows/council-plan-review.yaml +3 -0
  172. package/conf/adapters/agy.json +9 -2
  173. package/conf/adapters/claude.json +7 -0
  174. package/conf/adapters/codex.json +7 -0
  175. package/conf/adapters/glm.json +19 -3
  176. package/conf/adapters/grok.json +9 -2
  177. package/conf/adapters/hapi/agy.json +9 -2
  178. package/conf/adapters/hapi/claude.json +7 -0
  179. package/conf/adapters/hapi/codex.json +7 -0
  180. package/conf/adapters/hapi/glm.json +20 -4
  181. package/conf/rosters/default-council.json +21 -0
  182. package/dist/activity-journal.d.ts +17 -3
  183. package/dist/activity-journal.js +404 -79
  184. package/dist/activity-journal.js.map +1 -1
  185. package/dist/codex/agent-tools.js +36 -0
  186. package/dist/codex/agent-tools.js.map +1 -1
  187. package/dist/codex/app-server-client.d.ts +3 -0
  188. package/dist/codex/app-server-client.js +11 -0
  189. package/dist/codex/app-server-client.js.map +1 -1
  190. package/dist/codex/app-server-registry.d.ts +18 -0
  191. package/dist/codex/app-server-registry.js +88 -2
  192. package/dist/codex/app-server-registry.js.map +1 -1
  193. package/dist/codex/client-types.d.ts +7 -1
  194. package/dist/codex/protocol.d.ts +4 -4
  195. package/dist/config.d.ts +220 -23
  196. package/dist/config.js +104 -1
  197. package/dist/config.js.map +1 -1
  198. package/dist/context-builder/bundle.d.ts +13 -0
  199. package/dist/context-builder/bundle.js +46 -0
  200. package/dist/context-builder/bundle.js.map +1 -1
  201. package/dist/context-builder/delegate-finalizer-effective.d.ts +33 -0
  202. package/dist/context-builder/delegate-finalizer-effective.js +82 -0
  203. package/dist/context-builder/delegate-finalizer-effective.js.map +1 -0
  204. package/dist/context-builder/delegate-packet.d.ts +18 -0
  205. package/dist/context-builder/delegate-packet.js +73 -9
  206. package/dist/context-builder/delegate-packet.js.map +1 -1
  207. package/dist/context-builder/delegate-reconstruction.d.ts +29 -0
  208. package/dist/context-builder/delegate-reconstruction.js +110 -41
  209. package/dist/context-builder/delegate-reconstruction.js.map +1 -1
  210. package/dist/context-builder/delegate-validation.d.ts +31 -0
  211. package/dist/context-builder/delegate-validation.js +87 -10
  212. package/dist/context-builder/delegate-validation.js.map +1 -1
  213. package/dist/context-builder/delegate.d.ts +9 -0
  214. package/dist/context-builder/delegate.js +210 -59
  215. package/dist/context-builder/delegate.js.map +1 -1
  216. package/dist/context-builder/diagnostics.d.ts +1 -1
  217. package/dist/context-builder/diagnostics.js.map +1 -1
  218. package/dist/context-builder/discovery-progress.d.ts +25 -0
  219. package/dist/context-builder/discovery-progress.js +64 -0
  220. package/dist/context-builder/discovery-progress.js.map +1 -0
  221. package/dist/context-builder/discovery-watchdog.d.ts +15 -0
  222. package/dist/context-builder/discovery-watchdog.js +39 -0
  223. package/dist/context-builder/discovery-watchdog.js.map +1 -0
  224. package/dist/context-builder/discovery.d.ts +7 -0
  225. package/dist/context-builder/discovery.js +119 -7
  226. package/dist/context-builder/discovery.js.map +1 -1
  227. package/dist/context-builder/external-gaps.d.ts +73 -0
  228. package/dist/context-builder/external-gaps.js +248 -0
  229. package/dist/context-builder/external-gaps.js.map +1 -0
  230. package/dist/context-builder/globs.d.ts +1 -0
  231. package/dist/context-builder/globs.js +15 -0
  232. package/dist/context-builder/globs.js.map +1 -1
  233. package/dist/context-builder/handler.d.ts +42 -1
  234. package/dist/context-builder/handler.js +690 -62
  235. package/dist/context-builder/handler.js.map +1 -1
  236. package/dist/context-builder/invocation-sidecar.d.ts +41 -0
  237. package/dist/context-builder/invocation-sidecar.js +189 -0
  238. package/dist/context-builder/invocation-sidecar.js.map +1 -0
  239. package/dist/context-builder/lifecycle-contract.d.ts +51 -51
  240. package/dist/context-builder/mutation-lock.d.ts +32 -0
  241. package/dist/context-builder/mutation-lock.js +321 -0
  242. package/dist/context-builder/mutation-lock.js.map +1 -0
  243. package/dist/context-builder/review-coverage.d.ts +32 -0
  244. package/dist/context-builder/review-coverage.js +130 -23
  245. package/dist/context-builder/review-coverage.js.map +1 -1
  246. package/dist/context-builder/schema.d.ts +76 -1
  247. package/dist/context-builder/schema.js +21 -1
  248. package/dist/context-builder/schema.js.map +1 -1
  249. package/dist/context-builder/secrets.d.ts +31 -0
  250. package/dist/context-builder/secrets.js +871 -84
  251. package/dist/context-builder/secrets.js.map +1 -1
  252. package/dist/context-builder/status.d.ts +1 -1
  253. package/dist/context-builder/status.js +1 -0
  254. package/dist/context-builder/status.js.map +1 -1
  255. package/dist/context-builder/storage.d.ts +29 -5
  256. package/dist/context-builder/storage.js +311 -236
  257. package/dist/context-builder/storage.js.map +1 -1
  258. package/dist/context-builder/versions.d.ts +19 -4
  259. package/dist/context-builder/versions.js +19 -4
  260. package/dist/context-builder/versions.js.map +1 -1
  261. package/dist/context-builder/workflow-runner.d.ts +6 -0
  262. package/dist/context-builder/workflow-runner.js +363 -173
  263. package/dist/context-builder/workflow-runner.js.map +1 -1
  264. package/dist/dashboard-adapter-catalog.js +7 -0
  265. package/dist/dashboard-adapter-catalog.js.map +1 -1
  266. package/dist/dashboard-cli.d.ts +2 -0
  267. package/dist/dashboard-cli.js +40 -2
  268. package/dist/dashboard-cli.js.map +1 -1
  269. package/dist/dashboard-companion/client.d.ts +1 -0
  270. package/dist/dashboard-companion/client.js +22 -3
  271. package/dist/dashboard-companion/client.js.map +1 -1
  272. package/dist/dashboard-companion/protocol.js +4 -1
  273. package/dist/dashboard-companion/protocol.js.map +1 -1
  274. package/dist/dashboard-gateway/index.d.ts +1 -0
  275. package/dist/dashboard-gateway/index.js +33 -2
  276. package/dist/dashboard-gateway/index.js.map +1 -1
  277. package/dist/handler.js +5 -1
  278. package/dist/handler.js.map +1 -1
  279. package/dist/index.d.ts +18 -1
  280. package/dist/index.js +145 -7
  281. package/dist/index.js.map +1 -1
  282. package/dist/logger.d.ts +1 -1
  283. package/dist/logger.js +18 -3
  284. package/dist/logger.js.map +1 -1
  285. package/dist/parsers/agy-stream-json.d.ts +14 -0
  286. package/dist/parsers/agy-stream-json.js +172 -0
  287. package/dist/parsers/agy-stream-json.js.map +1 -0
  288. package/dist/parsers/extract.js +5 -1
  289. package/dist/parsers/extract.js.map +1 -1
  290. package/dist/parsers/observed-invocation.d.ts +20 -0
  291. package/dist/parsers/observed-invocation.js +42 -0
  292. package/dist/parsers/observed-invocation.js.map +1 -0
  293. package/dist/pipeline.d.ts +13 -0
  294. package/dist/pipeline.js +60 -10
  295. package/dist/pipeline.js.map +1 -1
  296. package/dist/progress-report/lock.d.ts +74 -0
  297. package/dist/progress-report/lock.js +343 -0
  298. package/dist/progress-report/lock.js.map +1 -0
  299. package/dist/progress-report/schema.d.ts +808 -0
  300. package/dist/progress-report/schema.js +119 -0
  301. package/dist/progress-report/schema.js.map +1 -0
  302. package/dist/progress-report/store.d.ts +66 -0
  303. package/dist/progress-report/store.js +766 -0
  304. package/dist/progress-report/store.js.map +1 -0
  305. package/dist/progress-report/tools.d.ts +20 -0
  306. package/dist/progress-report/tools.js +141 -0
  307. package/dist/progress-report/tools.js.map +1 -0
  308. package/dist/prompt-mode.d.ts +1 -1
  309. package/dist/prompt-mode.js +7 -2
  310. package/dist/prompt-mode.js.map +1 -1
  311. package/dist/runner.d.ts +7 -0
  312. package/dist/runner.js +10 -3
  313. package/dist/runner.js.map +1 -1
  314. package/dist/safety.d.ts +50 -0
  315. package/dist/safety.js +182 -1
  316. package/dist/safety.js.map +1 -1
  317. package/dist/schema.d.ts +8 -0
  318. package/dist/schema.js +20 -0
  319. package/dist/schema.js.map +1 -1
  320. package/dist/server.d.ts +6 -1
  321. package/dist/server.js +94 -8
  322. package/dist/server.js.map +1 -1
  323. package/dist/session-log-stream.d.ts +1 -1
  324. package/dist/session-log-stream.js +280 -33
  325. package/dist/session-log-stream.js.map +1 -1
  326. package/dist/stdio-activity.d.ts +28 -0
  327. package/dist/stdio-activity.js +72 -0
  328. package/dist/stdio-activity.js.map +1 -0
  329. package/docs/configuration.md +426 -0
  330. package/docs/security.md +293 -0
  331. package/package.json +5 -5
  332. package/clinkx-workflows/dist/dashboard-ui/assets/index-DOkMXTfB.js +0 -25
  333. package/clinkx-workflows/dist/dashboard-ui/assets/style-ChJsn0KD.css +0 -1
@@ -4,6 +4,7 @@ import { logger } from "../logger.js";
4
4
  import { CodexAppServerClient as RealCodexAppServerClient, sandboxPolicyFromMode, } from "./app-server-client.js";
5
5
  import { CODEX_EVENT_AGENT_MESSAGE_DELTA, CODEX_EVENT_ITEM_COMPLETED, CODEX_EVENT_ITEM_PLAN_DELTA, CODEX_EVENT_ITEM_STARTED, CODEX_EVENT_THREAD_TOKEN_USAGE_UPDATED, CODEX_EVENT_TURN_COMPLETED, CODEX_EVENT_TURN_DIFF_UPDATED, CODEX_EVENT_TURN_PLAN_UPDATED, CODEX_EVENT_TURN_STARTED, CODEX_REQUEST_COMMAND_EXECUTION_APPROVAL, CODEX_REQUEST_FILE_CHANGE_APPROVAL, CODEX_REQUEST_PERMISSIONS_APPROVAL, } from "./protocol.js";
6
6
  import { SessionRecord, } from "./session.js";
7
+ import { buildObservedInvocationV1 } from "../../clinkx-workflows/dist/dashboard/invocation-contract.js";
7
8
  /** Typed sentinel for a withBudget timeout so callers can gate on the type,
8
9
  * not a fragile message substring (review fix). */
9
10
  class BudgetExceededError extends ExecutionError {
@@ -39,6 +40,30 @@ function safeParseNonNegInt(val, fallback) {
39
40
  const n = Number(val);
40
41
  return Number.isFinite(n) && n >= 0 ? n : fallback;
41
42
  }
43
+ let appServerActivityObserver;
44
+ let appServerAdmissionClosed = false;
45
+ /** Internal root-entrypoint activity sink; library callers leave it unset. */
46
+ export function setAppServerActivityObserver(observer) {
47
+ appServerActivityObserver = observer;
48
+ }
49
+ /**
50
+ * Synchronously close process-wide app-server admission before root cleanup
51
+ * starts. This also latches the currently live registry, if any; the global
52
+ * bit is retained when no registry exists so a later get cannot create one
53
+ * during shutdown.
54
+ */
55
+ export function latchAppServerAdmissionForShutdown(reason = "shutdown") {
56
+ appServerAdmissionClosed = true;
57
+ appServerRegistrySingleton?.beginShutdown(reason);
58
+ }
59
+ function notifyAppServerActivity() {
60
+ try {
61
+ appServerActivityObserver?.();
62
+ }
63
+ catch (error) {
64
+ logger.warn({ err: error instanceof Error ? error.message : String(error) }, "app-server activity observer failed");
65
+ }
66
+ }
42
67
  function createDeferred() {
43
68
  let resolve;
44
69
  const promise = new Promise((res) => {
@@ -368,6 +393,8 @@ export class AppServerRegistry {
368
393
  */
369
394
  reservedResumeThreads = new Set();
370
395
  unsubscribeProcessDied;
396
+ shuttingDown = false;
397
+ shutdownReason = "shutdown";
371
398
  constructor(deps) {
372
399
  this.client = deps.client;
373
400
  this.observer = deps.observer;
@@ -387,6 +414,23 @@ export class AppServerRegistry {
387
414
  get sessionCount() {
388
415
  return this.sessions.size;
389
416
  }
417
+ /**
418
+ * Synchronously stop new work on this registry. The asynchronous
419
+ * {@link shutdown} drain remains separate so callers can latch admission
420
+ * before any cleanup await begins.
421
+ */
422
+ beginShutdown(reason = "shutdown") {
423
+ if (this.shuttingDown)
424
+ return;
425
+ this.shuttingDown = true;
426
+ this.shutdownReason = reason;
427
+ this.client.beginShutdown(reason);
428
+ }
429
+ assertAdmissionOpen(action = "start an app-server session") {
430
+ if (this.shuttingDown || appServerAdmissionClosed) {
431
+ throw new InvalidParamsError(`Cannot ${action} after shutdown has started (${this.shutdownReason}).`);
432
+ }
433
+ }
390
434
  health() {
391
435
  return registryHealthFromClient(this.activeLeases, this.sessionCount, this.client.getHealth());
392
436
  }
@@ -412,6 +456,7 @@ export class AppServerRegistry {
412
456
  * (2-3). Use {@link waitForTurn} to await completion without consuming a lease.
413
457
  */
414
458
  async startSession(opts) {
459
+ this.assertAdmissionOpen();
415
460
  // Opportunistic reap before admitting new work.
416
461
  this.reapIdle();
417
462
  // Recursion guard (2-6): refuse beyond the depth ceiling.
@@ -448,16 +493,36 @@ export class AppServerRegistry {
448
493
  // (review fix 3): bound the whole pre-turn RPC sequence with a budget.
449
494
  const established = await this.withBudget((async () => {
450
495
  await this.client.ensureReady();
496
+ this.assertAdmissionOpen();
451
497
  let threadId;
452
498
  if (opts.resumeThreadId != null) {
453
499
  const resumed = await this.client.threadResume({
454
500
  threadId: opts.resumeThreadId,
455
501
  });
502
+ this.assertAdmissionOpen();
456
503
  threadId = extractThreadId(resumed);
457
504
  }
458
505
  else {
459
506
  const started = await this.client.threadStart(this.buildThreadStartParams(opts));
507
+ this.assertAdmissionOpen();
460
508
  threadId = extractThreadId(started);
509
+ try {
510
+ const raw = started;
511
+ const model = typeof raw.model === "string" && raw.model.length > 0 ? raw.model : undefined;
512
+ const effort = typeof raw.reasoningEffort === "string" && raw.reasoningEffort.length > 0 ? raw.reasoningEffort : undefined;
513
+ const observed = buildObservedInvocationV1("codex_app_server_thread_start", {
514
+ ...(model === undefined ? {} : { model }),
515
+ ...(effort === undefined ? {} : { effort }),
516
+ });
517
+ if (observed !== undefined && opts.activityObservation?.observe != null) {
518
+ void opts.activityObservation.observe(observed).catch((err) => {
519
+ logger.debug({ err: err instanceof Error ? err.message : String(err) }, "app-server observed invocation persistence failed open");
520
+ });
521
+ }
522
+ }
523
+ catch (err) {
524
+ logger.debug({ err: err instanceof Error ? err.message : String(err) }, "app-server observed invocation failed open");
525
+ }
461
526
  }
462
527
  const origin = this.config.currentDepth === 0 ? "root" : "nested";
463
528
  const record = new SessionRecord({
@@ -497,6 +562,7 @@ export class AppServerRegistry {
497
562
  this.handleEvent(rt, event);
498
563
  });
499
564
  const turnResult = await this.client.turnStart(this.buildTurnStartParams(threadId, opts));
565
+ this.assertAdmissionOpen();
500
566
  return { runtime: rt, turnId: extractTurnId(turnResult) };
501
567
  })(), this.config.startBudgetMs);
502
568
  const { runtime: rt, turnId } = established;
@@ -556,6 +622,7 @@ export class AppServerRegistry {
556
622
  if (runtime.hasLease) {
557
623
  this.lease.release();
558
624
  runtime.hasLease = false;
625
+ notifyAppServerActivity();
559
626
  }
560
627
  }
561
628
  }
@@ -564,6 +631,8 @@ export class AppServerRegistry {
564
631
  // (ensureReady/threadResume/threadStart, or a pre-runtime budget
565
632
  // timeout): release the lease taken at the top of the try.
566
633
  this.lease.release();
634
+ leaseHeld = false;
635
+ notifyAppServerActivity();
567
636
  }
568
637
  // On a startup-budget timeout the child is presumed silent/hung: recycle
569
638
  // it so the leaked pending request + provisional buffer in the client get
@@ -630,6 +699,7 @@ export class AppServerRegistry {
630
699
  * lease. Bounded by the start budget like other pre-turn RPCs.
631
700
  */
632
701
  async listModels(params) {
702
+ this.assertAdmissionOpen("list app-server models");
633
703
  return this.withBudget(this.client.modelList(params), this.config.startBudgetMs, "model/list RPC budget exceeded");
634
704
  }
635
705
  /**
@@ -650,6 +720,9 @@ export class AppServerRegistry {
650
720
  }
651
721
  /** Reply to a pending approval. The turn continues; the lease is NOT released. */
652
722
  async respondApproval(sessionId, approvalId, decision) {
723
+ if (decision === "accept" || decision === "acceptForSession") {
724
+ this.assertAdmissionOpen("accept an app-server approval");
725
+ }
653
726
  const runtime = this.require(sessionId);
654
727
  const pending = runtime.record.getPendingApproval(approvalId);
655
728
  if (pending == null) {
@@ -685,6 +758,7 @@ export class AppServerRegistry {
685
758
  * acquires a new lease; it targets the active turn id captured in the record.
686
759
  */
687
760
  async steer(sessionId, input) {
761
+ this.assertAdmissionOpen("steer an app-server turn");
688
762
  const runtime = this.require(sessionId);
689
763
  if (runtime.finalized || runtime.record.status !== "running") {
690
764
  throw new InvalidParamsError(`No active turn for session: ${sessionId}`);
@@ -727,6 +801,7 @@ export class AppServerRegistry {
727
801
  * child by process group via the client's guarded kill.
728
802
  */
729
803
  async shutdown(reason = "shutdown") {
804
+ this.beginShutdown(reason);
730
805
  const running = [...this.sessions.values()].filter((rt) => !rt.finalized && rt.record.status === "running");
731
806
  for (const runtime of running) {
732
807
  await this.terminateTurn(runtime, "interrupted", reason);
@@ -896,6 +971,7 @@ export class AppServerRegistry {
896
971
  if (runtime.hasLease) {
897
972
  this.lease.release();
898
973
  runtime.hasLease = false;
974
+ notifyAppServerActivity();
899
975
  }
900
976
  runtime.terminal.resolve();
901
977
  }
@@ -1060,6 +1136,8 @@ export class AppServerRegistry {
1060
1136
  // Future startSession calls re-ensureReady themselves.
1061
1137
  this.finalizeTurn(runtime, status, { failureReason: reason });
1062
1138
  this.finalizeCoActiveAfterSharedKill(runtime, reason);
1139
+ if (this.shuttingDown || appServerAdmissionClosed)
1140
+ return;
1063
1141
  try {
1064
1142
  // Best-effort respawn ownership is the client's — registry only nudges
1065
1143
  // it, and bounds it so a silent child cannot hang escalation.
@@ -1346,6 +1424,9 @@ function createDefaultAppServerRegistry(spawn) {
1346
1424
  * would be over-engineering for a singleton-by-design subsystem.
1347
1425
  */
1348
1426
  export function getAppServerRegistry(spawn) {
1427
+ if (appServerAdmissionClosed) {
1428
+ throw new InvalidParamsError("Cannot access the app-server registry after shutdown has started.");
1429
+ }
1349
1430
  const resolved = resolveSpawnRequest(spawn);
1350
1431
  if (appServerRegistrySingleton == null) {
1351
1432
  appServerRegistrySingleton = createDefaultAppServerRegistry(resolved);
@@ -1400,8 +1481,13 @@ export async function resetAppServerRegistryForTest(reason = "test reset") {
1400
1481
  appServerRegistrySingleton = undefined;
1401
1482
  appServerRegistrySingletonSpawn = undefined;
1402
1483
  appServerRegistryTestOverrides = undefined;
1403
- if (registry != null) {
1404
- await registry.shutdown(reason);
1484
+ try {
1485
+ if (registry != null) {
1486
+ await registry.shutdown(reason);
1487
+ }
1488
+ }
1489
+ finally {
1490
+ appServerAdmissionClosed = false;
1405
1491
  }
1406
1492
  }
1407
1493
  //# sourceMappingURL=app-server-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-server-registry.js","sourceRoot":"","sources":["../../src/codex/app-server-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-server-registry.js","sourceRoot":"","sources":["../../src/codex/app-server-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EACL,oBAAoB,IAAI,wBAAwB,EAChD,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,sCAAsC,EACtC,0BAA0B,EAC1B,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,wCAAwC,EACxC,kCAAkC,EAClC,kCAAkC,GAkBnC,MAAM,eAAe,CAAC;AAQvB,OAAO,EACL,aAAa,GAOd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAClC,8DAA8D,CAAC;AAEjE;oDACoD;AACpD,MAAM,mBAAoB,SAAQ,cAAc;IAC9C,YAAY,OAAO,GAAG,gCAAgC;QACpD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,QAAQ,GAAG;IACf,cAAc,EAAE,CAAC;IACjB,mBAAmB,EAAE,EAAE;IACvB,iBAAiB,EAAE,IAAI;IACvB,WAAW,EAAE,GAAG;IAChB,kBAAkB,EAAE,GAAG;IACvB,sBAAsB,EAAE,GAAG;IAC3B,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,KAAK;IACxB,sBAAsB,EAAE,EAAE;IAC1B,yBAAyB,EAAE,EAAE;IAC7B,kBAAkB,EAAE,EAAE;CACd,CAAC;AAEX,SAAS,YAAY,CAAC,GAAuB,EAAE,QAAgB;IAC7D,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED,mEAAmE;AACnE,SAAS,kBAAkB,CAAC,GAAuB,EAAE,QAAgB;IACnE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AA4JD,IAAI,yBAAmD,CAAC;AACxD,IAAI,wBAAwB,GAAG,KAAK,CAAC;AAErC,8EAA8E;AAC9E,MAAM,UAAU,4BAA4B,CAC1C,QAAkC;IAElC,yBAAyB,GAAG,QAAQ,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC,CAChD,MAAM,GAAG,UAAU;IAEnB,wBAAwB,GAAG,IAAI,CAAC;IAChC,0BAA0B,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,uBAAuB;IAC9B,IAAI,CAAC;QACH,yBAAyB,EAAE,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC/D,qCAAqC,CACtC,CAAC;IACJ,CAAC;AACH,CAAC;AA8CD,SAAS,cAAc;IACrB,IAAI,OAA4B,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,EAAE;QACrC,OAAO,GAAG,GAAG,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAqBD,SAAS,eAAe,CACtB,MAA8C;IAE9C,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,CAAC,GAAG,MAA2D,CAAC;IACtE,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzD,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;IACtD,MAAM,IAAI,cAAc,CACtB,gEAAgE,CACjE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB;IAC5C,MAAM,CAAC,GAAG,MAAuD,CAAC;IAClE,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACrD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,IAAI,cAAc,CACtB,4DAA4D,CAC7D,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC5C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,wCAAwC;YAC3C,OAAO,kBAAkB,CAAC;QAC5B,KAAK,kCAAkC;YACrC,OAAO,YAAY,CAAC;QACtB,KAAK,kCAAkC;YACrC,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,YAAoB,EACpB,oBAA4B,EAC5B,YAAwC;IAExC,OAAO;QACL,YAAY;QACZ,oBAAoB;QACpB,iBAAiB,EAAE;YACjB,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,aAAa,EAAE,YAAY,CAAC,aAAa;SAC1C;QACD,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;QACjD,cAAc,EAAE;YACd,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,MAAM;YACzC,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC;SAC1C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAA0B,EAC1B,IAAkB,EAClB,aAAqB;IAErB,MAAM,IAAI,GAA2D;QACnE,EAAE,EAAE,KAAK,CAAC,EAAe;QACzB,IAAI;QACJ,aAAa;KACd,CAAC;IAEF,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,wCAAwC,CAAC,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAA+C,CAAC;YACrE,OAAO;gBACL,GAAG,IAAI;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;gBAC7B,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC;oBAC1C,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,IAAI,EAAE;oBACnE,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QACD,KAAK,kCAAkC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAyC,CAAC;YAC/D,OAAO;gBACL,GAAG,IAAI;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;gBAC7B,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;oBAC7B,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE;oBACzC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QACD,KAAK,kCAAkC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0C,CAAC;YAChE,OAAO;gBACL,GAAG,IAAI;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;gBAC7B,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC;QACJ,CAAC;QACD;YACE,OAAO;gBACL,GAAG,IAAI;gBACP,MAAM,EAAE,IAAI;aACb,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,KAAa,EAAE,GAAW;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAClB,KAA8B,EAC9B,GAAW;IAEX,OAAO,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CACxB,KAA8B,EAC9B,GAAW;IAEX,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IACE,IAAI,IAAI,IAAI;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,EAChC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,YAAY,CAAC,IAA6B;IAIjD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,kBAAkB;YACrB,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI;aAC9C,CAAC;QACJ,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EACL,KAAK,GAAG,CAAC;oBACP,CAAC,CAAC,GAAG,KAAK,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;oBACjD,CAAC,CAAC,IAAI;aACX,CAAC;QACJ,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM,QAAQ,GACZ,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;YACtE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACzC,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM,QAAQ,GACZ,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;gBAC/B,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE;gBACxB,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;YACnB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACzC,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;YACnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QACxE,CAAC;QACD,KAAK,WAAW;YACd,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QACzE,KAAK,WAAW;YACd,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACxE;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,IAA6B;IAE7B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzC,IACE,MAAM,KAAK,UAAU;QACrB,MAAM,KAAK,WAAW;QACtB,MAAM,KAAK,aAAa,EACxB,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACpE,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CACtB,SAAkB,EAClB,KAA8B;IAE9B,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhD,IAAI,KAAK,KAAK,WAAW,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,MAAM;YACN,OAAO;YACP,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,MAAM;YACN,OAAO;YACP,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GACjB,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACrC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC;IACf,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;QAC1B,OAAO,EAAE,aAAa;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAyB;IAC/C,OAAO,CACL,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAC3E,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,aAAa,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,aAAa,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAkC;IAElC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,IAAI,GAAmB;QAC3B,cAAc,EAAE,YAAY,CAC1B,GAAG,CAAC,yBAAyB,CAAC,EAC9B,QAAQ,CAAC,cAAc,CACxB;QACD,mBAAmB,EAAE,YAAY,CAC/B,GAAG,CAAC,8BAA8B,CAAC,EACnC,QAAQ,CAAC,mBAAmB,CAC7B;QACD,YAAY,EACV,kBAAkB,CAChB,GAAG,CAAC,4BAA4B,CAAC,EACjC,QAAQ,CAAC,iBAAiB,CAC3B,GAAG,IAAI;QACV,WAAW,EAAE,YAAY,CACvB,GAAG,CAAC,6BAA6B,CAAC,EAClC,QAAQ,CAAC,WAAW,CACrB;QACD,aAAa,EACX,kBAAkB,CAChB,GAAG,CAAC,6BAA6B,CAAC,EAClC,QAAQ,CAAC,kBAAkB,CAC5B,GAAG,IAAI;QACV,iBAAiB,EACf,kBAAkB,CAChB,GAAG,CAAC,iCAAiC,CAAC,EACtC,QAAQ,CAAC,sBAAsB,CAChC,GAAG,IAAI;QACV,aAAa,EAAE,YAAY,CACzB,GAAG,CAAC,wBAAwB,CAAC,EAC7B,QAAQ,CAAC,aAAa,CACvB;QACD,YAAY,EAAE,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC9D,gBAAgB,EAAE,YAAY,CAC5B,GAAG,CAAC,2BAA2B,CAAC,EAChC,QAAQ,CAAC,gBAAgB,CAC1B;QACD,iBAAiB,EAAE,YAAY,CAC7B,GAAG,CAAC,+BAA+B,CAAC,EACpC,QAAQ,CAAC,iBAAiB,CAC3B;QACD,iBAAiB,EACf,YAAY,CACV,GAAG,CAAC,sCAAsC,CAAC,EAC3C,QAAQ,CAAC,sBAAsB,CAChC,GAAG,IAAI;QACV,oBAAoB,EAClB,YAAY,CACV,GAAG,CAAC,qCAAqC,CAAC,EAC1C,QAAQ,CAAC,yBAAyB,CACnC,GAAG,IAAI;QACV,aAAa,EACX,YAAY,CACV,GAAG,CAAC,wCAAwC,CAAC,EAC7C,QAAQ,CAAC,kBAAkB,CAC5B,GAAG,IAAI;KACX,CAAC;IACF,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,YAAoB;IAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,EAAc,EAAE,EAAU,EAAe,EAAE;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClC,6DAA6D;IAC5D,MAAiC,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAAmB,EAAQ,EAAE;IACtD,YAAY,CAAC,MAAuC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG;IACtC,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,CAAC,YAAY,CAAC;CACZ,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,iBAAiB;IACX,MAAM,CAAuB;IAC7B,QAAQ,CAA8B;IACtC,KAAK,CAAQ;IACb,QAAQ,CAA8C;IACtD,UAAU,CAAgC;IAClD,MAAM,CAAiB;IACf,KAAK,CAAY;IACjB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9D;;;;;OAKG;IACc,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,sBAAsB,CAAa;IAC5C,YAAY,GAAG,KAAK,CAAC;IACrB,cAAc,GAAG,UAAU,CAAC;IAEpC,YAAY,IAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAChE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAC9B,CAAC;IACJ,CAAC;IAEO,GAAG;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,MAAM,GAAG,UAAU;QAC/B,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,mBAAmB,CAAC,MAAM,GAAG,6BAA6B;QAChE,IAAI,IAAI,CAAC,YAAY,IAAI,wBAAwB,EAAE,CAAC;YAClD,MAAM,IAAI,kBAAkB,CAC1B,UAAU,MAAM,gCAAgC,IAAI,CAAC,cAAc,IAAI,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,wBAAwB,CAC7B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CACxB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAEO,OAAO,CAAC,SAAiB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,IAAyB;QAC1C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,gDAAgD;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,0DAA0D;QAC1D,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1D,MAAM,IAAI,cAAc,CACtB,wCAAwC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK;gBAChG,sDAAsD,CACzD,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,kBAAkB,CAC1B,2BAA2B,IAAI,CAAC,SAAS,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACpD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CACrE,CAAC;YACF,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,aAAa,EAAE,CAAC;gBACpE,MAAM,IAAI,kBAAkB,CAC1B,wBAAwB,cAAc,uCAAuC;oBAC3E,iDAAiD,CACpD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,OAAmC,CAAC;QAExC,IAAI,CAAC;YACH,wEAAwE;YACxE,2EAA2E;YAC3E,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,SAAS,GAAG,IAAI,CAAC;YACjB,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CACvC,CAAC,KAAK,IAA0D,EAAE;gBAChE,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAE3B,IAAI,QAAgB,CAAC;gBACrB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;wBAC7C,QAAQ,EAAE,IAAI,CAAC,cAAc;qBAC9B,CAAC,CAAC;oBACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC3B,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAClC,CAAC;oBACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC3B,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;oBACpC,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,OAAyD,CAAC;wBACtE,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC5F,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC3H,MAAM,QAAQ,GAAG,yBAAyB,CAAC,+BAA+B,EAAE;4BAC1E,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;4BACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;yBAC5C,CAAC,CAAC;wBACH,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC;4BACxE,KAAK,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gCACrE,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzD,wDAAwD,CACzD,CAAC;4BACJ,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC,CAAC;oBACxH,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;oBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ;oBACR,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,MAAM;oBACN,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;oBAC/B,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;oBACvB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBACpC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;oBAChD,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;oBAC/C,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,MAAM,EAAE,GAAmB;oBACzB,MAAM;oBACN,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,KAAK;oBAChB,WAAW,EAAE,SAAS;oBACtB,SAAS,EAAE,SAAS;oBACpB,aAAa,EAAE,SAAS;oBACxB,QAAQ,EAAE,cAAc,EAAQ;oBAChC,SAAS,EAAE,cAAc,EAAQ;oBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;oBAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE;oBAC/B,uBAAuB,EAAE,CAAC;iBAC3B,CAAC;gBACF,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAElD,4DAA4D;gBAC5D,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;oBACtD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAC5C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAC1C,CAAC;gBACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,CAAC,CAAC,EAAE,EACJ,IAAI,CAAC,MAAM,CAAC,aAAa,CAC1B,CAAC;YAEF,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;YAC5C,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACzC,yEAAyE;YACzE,wEAAwE;YACxE,2DAA2D;YAC3D,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBACpD,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBAC7B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACrC,0DAA0D;gBAC1D,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,uEAAuE;gBACvE,qDAAqD;gBACrD,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;YACD,qEAAqE;YACrE,kEAAkE;YAClE,2EAA2E;YAC3E,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,0EAA0E;YAC1E,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACpD,CAAC;YACD,qEAAqE;YACrE,0EAA0E;YAC1E,gEAAgE;YAChE,wEAAwE;YACxE,wEAAwE;YACxE,yEAAyE;YACzE,wEAAwE;YACxE,qEAAqE;YACrE,0EAA0E;YAC1E,sDAAsD;YACtD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAC1B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;oBACzB,MAAM,aAAa,GACjB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,OAAO,CAAC,MAAM,CAAC,YAAY,CACzB,QAAQ,EACR,EAAE,aAAa,EAAE,EACjB,GAAG,CACJ,CAAC;oBACF,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACxC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACrC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACrB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBACrB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;wBACzB,uBAAuB,EAAE,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,0DAA0D;gBAC1D,iEAAiE;gBACjE,2DAA2D;gBAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACrB,SAAS,GAAG,KAAK,CAAC;gBAClB,uBAAuB,EAAE,CAAC;YAC5B,CAAC;YACD,yEAAyE;YACzE,0EAA0E;YAC1E,8CAA8C;YAC9C,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,MAAM;qBACd,gBAAgB,CAAC,8BAA8B,CAAC;qBAChD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACnB,uEAAuE;gBACvE,mEAAmE;gBACnE,gEAAgE;gBAChE,4DAA4D;gBAC5D,IAAI,CAAC,+BAA+B,CAClC,SAAS,EACT,8BAA8B,CAC/B,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,IAAyB;QACtD,MAAM,MAAM,GAAsB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5D,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAClD,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5C,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI;YAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,oBAAoB,CAC1B,QAAgB,EAChB,IAAyB;QAEzB,MAAM,MAAM,GAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAClD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI;YAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7E,yEAAyE;QACzE,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,CAAC,aAAa;YAClB,IAAI,CAAC,aAAa;gBAClB,qBAAqB,CACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAC7D,CAAC;QACJ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,SAAiB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,MAAmC;QACtC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wFAAwF;IACxF,MAAM,CAAC,SAAiB,EAAE,MAAe,EAAE,KAAc;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAwB;QACvC,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU,CACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,gCAAgC,CACjC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CACf,SAAiB,EACjB,IAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,UAAqB,EACrB,QAAmD;QAEnD,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YAC7D,IAAI,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAC1B,8BAA8B,MAAM,CAAC,UAAU,CAAC,EAAE,CACnD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,yEAAyE;YACzE,2EAA2E;YAC3E,4EAA4E;YAC5E,MAAM,IAAI,CAAC,UAAU,CACnB,OAAO,CAAC,IAAI,KAAK,aAAa;gBAC5B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,UAAU,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAC7D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yEAAyE;YACzE,wCAAwC;YACxC,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnE,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,KAAgB;QAC7C,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,IAAI,kBAAkB,CAC1B,+BAA+B,SAAS,EAAE,CAC3C,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,kBAAkB,CAC1B,+BAA+B,SAAS,EAAE,CAC3C,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;YACjC,cAAc,EAAE,MAAM;YACtB,KAAK;SACN,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC7B,+BAA+B,CAChC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,OAAO,CACX,SAAiB,EACjB,OAAuB,EAAE;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YAC9D,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU;QAChC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAChD,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CACxD,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,MAAM,EAAE,EACf,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,4FAA4F;IAC5F,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/C,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;oBAAE,SAAS;gBAClD,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAC3C,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAC/D,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CACtE,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,KAAK,IAAI,IAAI;oBAAE,MAAM;gBACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAEpE,WAAW,CAAC,OAAuB,EAAE,KAA0B;QACrE,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEvC,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;oBACxC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACtC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC7B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,+BAA+B,CAAC,CAAC,CAAC;gBACrC,wEAAwE;gBACxE,wEAAwE;gBACxE,wEAAwE;gBACxE,OAAO,CAAC,MAAM,CAAC,oBAAoB,CACjC,KAAK,CAAC,MAAM,CAAC,KAAK,EAClB,KAAK,CAAC,MAAM,CAAC,MAAM,EACnB,GAAG,CACJ,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAClE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAA0C,CAAC;gBACrE,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClE,kEAAkE;oBAClE,wDAAwD;oBACxD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACpE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,sCAAsC,CAAC,CAAC,CAAC;gBAC5C,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAC7B,KAAK,CAAC,MAAM,CAAC,UAAwB,EACrC,GAAG,CACJ,CAAC;gBACF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC1C,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE;oBAClC,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;oBACjD,iBAAiB,EAAE,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBAC7D,YAAY,EAAE,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;oBACnD,eAAe,EAAE,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC;oBAC/D,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU;iBACjD,EAAE,GAAG,CAAC,CAAC;gBACR,MAAM;YACR,CAAC;YACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvD,yDAAyD;gBACzD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClD,MAAM;YACR,CAAC;YACD,KAAK,6BAA6B,CAAC,CAAC,CAAC;gBACnC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACrD,MAAM;YACR,CAAC;YACD,KAAK,6BAA6B,CAAC,CAAC,CAAC;gBACnC,OAAO,CAAC,MAAM,CAAC,aAAa,CAC1B,KAAK,CAAC,MAAM,CAAC,IAAI,EACjB,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,EAChC,GAAG,CACJ,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,2BAA2B;gBAC9B,yEAAyE;gBACzE,0DAA0D;gBAC1D,MAAM;YACR,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACxC,uEAAuE;gBACvE,yEAAyE;gBACzE,0EAA0E;gBAC1E,sEAAsE;gBACtE,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;gBACpE,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBACnD,KAAK,IAAI,CAAC,8BAA8B,CACtC,OAAO,EACP,KAAK,CAAC,EAAe,CACtB,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,wCAAwC,CAAC;YAC9C,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,IAAI,IAAI,IAAI;oBAAE,MAAM;gBACxB,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBACnD,MAAM;YACR,CAAC;YACD;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,YAAY,CAClB,OAAuB,EACvB,MAAqB,EACrB,IAA4E;QAE5E,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO;QAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,IAAI,CAAC,YAAY,CACf,OAAO,EACP,OAAO,CAAC,MAAM,CAAC,aAAa;gBAC1B,CAAC,MAAM,KAAK,SAAS;oBACnB,CAAC,CAAC,kCAAkC;oBACpC,CAAC,CAAC,+BAA+B,CAAC,EACtC,GAAG,EACH,MAAM,CACP,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YACzB,uBAAuB,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAC3B,OAAuB,EACvB,QAAmC,EACnC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,EACjB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI;QAE5C,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC1D,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO;QAE7B,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,WAAW,GAAG;YAClB,GAAG,QAAQ;YACX,QAAQ,EAAE,OAAO,CAAC,uBAAuB,EAAE;YAC3C,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;YACjC,MAAM;YACN,IAAI;SACiB,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CACV;oBACE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACrD,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,eAAe,EAAE,WAAW,CAAC,IAAI;oBACjC,QAAQ,EAAE,WAAW,CAAC,QAAQ;iBAC/B,EACD,sDAAsD,CACvD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QACF,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAEO,uBAAuB,CAC7B,OAAuB,EACvB,MAAc;QAEd,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC1D,IAAI,QAAQ,EAAE,QAAQ,IAAI,IAAI;YAAE,OAAO;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;YACjC,MAAM;SACP,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,QAAS,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAChC,uDAAuD,CACxD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QACF,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAEO,gBAAgB,CACtB,OAAuB,EACvB,KAAyB,EACzB,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE;QAEjB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO;QAC5B,IAAI,CAAC,qBAAqB,CACxB,OAAO,EACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EACzB,IAAI,EACJ,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CACpC,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,OAAuB,EACvB,QAAyB,EACzB,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE;QAEjB,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE;YAClC,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC;SACjC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEO,yBAAyB,CAC/B,OAAuB,EACvB,UAAqB,EACrB,QAAmD,EACnD,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE;QAEjB,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE;YAClC,IAAI,EAAE,qBAAqB;YAC3B,UAAU;YACV,QAAQ;SACT,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEO,YAAY,CAClB,OAAuB,EACvB,OAAe,EACf,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,EACjB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI;QAE5C,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE;YAClC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,2BAA2B;YACjC,OAAO;YACP,SAAS,EAAE,KAAK;SACjB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnB,CAAC;IAEO,gBAAgB,CACtB,OAAuB,EACvB,MAAqB,EACrB,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,EACjB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI;QAE5C,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE;YAClC,IAAI,EAAE,WAAW;YACjB,MAAM;YACN,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI;SACpD,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,OAAuB;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;QAChD,IAAI,WAAW,IAAI,IAAI;YAAE,OAAO;QAChC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,SAAS,EACT,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CACxC,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,OAAuB,EACvB,MAAqB;QAErB,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;QAChD,IAAI,WAAW,IAAI,IAAI;YAAE,OAAO;QAChC,MAAM,UAAU,GACd,MAAM,KAAK,WAAW;YACpB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAoB,EAAE,WAAW,EAAE,SAAkB,EAAE;YACnE,CAAC,CAAC,MAAM,KAAK,aAAa;gBACxB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAoB,EAAE,WAAW,EAAE,WAAoB,EAAE;gBACrE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAiB,EAAE,WAAW,EAAE,OAAgB,EAAE,CAAC;QACrE,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,UAAU,EACV,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CACvC,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,OAAuB,EACvB,QAAgC,EAChC,SAA8B;QAE9B,MAAM,MAAM,GAAG,CAAC,GAAY,EAAQ,EAAE;YACpC,MAAM,CAAC,KAAK,CACV;gBACE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACrD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;aACpC,EACD,kCAAkC,QAAQ,0BAA0B,CACrE,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAAC;YACH,KAAK,SAAS,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,aAAa,CACzB,OAAuB,EACvB,YAA2B,EAC3B,MAAc;QAEd,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAE3C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAC/C,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;gBACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACnD,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACjC,CAAC;gBACF,IAAI,eAAe;oBAAE,OAAO,CAAC,qCAAqC;YACpE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EACpD,qEAAqE,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO;QAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,OAAuB,EACvB,MAAqB,EACrB,MAAc;QAEd,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EACpD,gEAAgE,CACjE,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,kEAAkE;QAClE,qEAAqE;QACrE,wEAAwE;QACxE,uEAAuE;QACvE,uDAAuD;QACvD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,+BAA+B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,YAAY,IAAI,wBAAwB;YAAE,OAAO;QAE1D,IAAI,CAAC;YACH,uEAAuE;YACvE,8DAA8D;YAC9D,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC5C,qEAAqE,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,+BAA+B,CACrC,MAAkC,EAClC,MAAc;QAEd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,KAAK,MAAM;gBAAE,SAAS;YAC/B,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YACnE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE;gBACjC,aAAa,EAAE,6BAA6B,MAAM,EAAE;aACrD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAuB;QACjD,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO;QAC9B,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EACvC,qEAAqE,CACtE,CAAC;QACF,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAuB;QACrD,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO;QAC9B,MAAM,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE1C,qEAAqE;QACrE,yEAAyE;QACzE,IAAI,CAAC;YACH,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,SAAS;oBAAE,OAAO;gBAC9B,wEAAwE;gBACxE,oEAAoE;gBACpE,2DAA2D;gBAC3D,MAAM,IAAI,CAAC,UAAU,CACnB,OAAO,CAAC,IAAI,KAAK,aAAa;oBAC5B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;wBAC1B,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,QAAQ,EAAE,SAAS;qBACpB,CAAC,EACN,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;gBACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACrD,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACnD,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACjC,CAAC;YACF,IAAI,eAAe;gBAAE,OAAO,CAAC,qCAAqC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC5C,wEAAwE,CACzE,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO;QAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,KAAK,CAAC,8BAA8B,CAC1C,OAAuB,EACvB,EAAa;QAEb,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC,EAC1C,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,EACvD,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,EAC5D,wEAAwE,CACzE,CAAC;YACF,0EAA0E;YAC1E,sEAAsE;YACtE,yEAAyE;YACzE,MAAM,IAAI,CAAC,aAAa,CACtB,OAAO,EACP,QAAQ,EACR,iCAAiC,CAClC,CAAC,KAAK,CAAC,CAAC,aAAsB,EAAE,EAAE;gBACjC,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,EAC3E,gFAAgF,CACjF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,KAAqC;QAC7D,MAAM,MAAM,GACV,yBAAyB;YACzB,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,qEAAqE;YACrE,mEAAmE;YACnE,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAEpE,mBAAmB,CAAC,OAAuB;QACjD,0EAA0E;QAC1E,yEAAyE;QACzE,2CAA2C;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACzE,IAAI,aAAa,IAAI,CAAC;YAAE,OAAO;QAC/B,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACrC,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,EAAE,aAAa,CAAC,CAAC;IACpB,CAAC;IAEO,uBAAuB,CAAC,OAAuB;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC;YAAE,OAAO;QAC/C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACzC,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAEO,kBAAkB,CAAC,OAAuB;QAChD,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACvC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAAuB;QACzC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CACX,SAAiB,EACjB,OAAuB,EACvB,GAAW;QAEX,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,sCAAsC,CAAC,CAAC;IAC3E,CAAC;IAED,4EAA4E;IAE5E,uDAAuD;IAC/C,UAAU,CAChB,OAAmB,EACnB,EAAU,EACV,OAAgB;QAEhB,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC;QAC5B,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAChC,MAAM,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EACD,CAAC,GAAY,EAAE,EAAE;gBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACzE,kBAAkB,CACxB,OAAuB,EACvB,EAAU;QAEV,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAChC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,KAAK,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,OAAuB;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,OAAO,CAAC,SAAS,GAAG,cAAc,EAAQ,CAAC;QAC3C,SAAS,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,YAAY,CAClB,OAAuB,EACvB,SAA6B,EAC7B,MAA+B;QAE/B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,MAA+B,CAAC;YACpC,IAAI,OAAiC,CAAC;YACtC,MAAM,IAAI,GAAG,GAAS,EAAE;gBACtB,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,MAAM,IAAI,IAAI;oBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACtC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,+DAA+D;gBAC/D,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,KAAK,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAWD,IAAI,0BAAyD,CAAC;AAC9D,IAAI,+BAES,CAAC;AACd,IAAI,8BAA0E,CAAC;AAc/E;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAG/B;IACC,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO;QACvD,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAkD;IAElD,OAAO;QACL,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,+BAA+B,CAAC,OAAO;QACpE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,+BAA+B,CAAC,IAAI,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,KAA0C,EAC1C,GAA2B;IAE3B,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,KAGvC;IACC,4EAA4E;IAC5E,yEAAyE;IACzE,6DAA6D;IAC7D,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,MAAM,GACV,8BAA8B,EAAE,MAAM;QACtC,IAAI,wBAAwB,CAAC,2BAA2B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7E,MAAM,eAAe,GACnB,8BAA8B,EAAE,eAAe;QAC/C,CAAC,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,OAAO,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAqC;IAErC,IAAI,wBAAwB,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAC1B,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,0BAA0B,IAAI,IAAI,EAAE,CAAC;QACvC,0BAA0B,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QACtE,+BAA+B,GAAG,QAAQ,CAAC;QAC3C,OAAO,0BAA0B,CAAC;IACpC,CAAC;IACD,wEAAwE;IACxE,mEAAmE;IACnE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,0BAA0B,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,GAAG,+BAA+B,CAAC;IAC7C,IACE,IAAI,IAAI,IAAI;QACZ,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,4EAA4E;YAC1E,eAAe,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,8BAA8B;YAChF,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC;YACjF,4EAA4E,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAc;IAEd,MAAM,QAAQ,GAAG,0BAA0B,CAAC;IAC5C,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO;IAC7B,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,0BAA0B,GAAG,SAAS,CAAC;IACvC,+BAA+B,GAAG,SAAS,CAAC;AAC9C,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,6BAA6B;IAG3C,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,SAAyC;IAEzC,8BAA8B,GAAG,SAAS,CAAC;IAC3C,0BAA0B,GAAG,SAAS,CAAC;IACvC,+BAA+B,GAAG,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,MAAM,GAAG,YAAY;IAErB,MAAM,QAAQ,GAAG,0BAA0B,CAAC;IAC5C,0BAA0B,GAAG,SAAS,CAAC;IACvC,+BAA+B,GAAG,SAAS,CAAC;IAC5C,8BAA8B,GAAG,SAAS,CAAC;IAC3C,IAAI,CAAC;QACH,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,wBAAwB,GAAG,KAAK,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -32,7 +32,13 @@ export type CodexAppServerClientHealth = {
32
32
  };
33
33
  export interface CodexAppServerClient {
34
34
  /**
35
- * Start the child if needed, run initialize, and coalesce concurrent respawns.
35
+ * Irreversibly stop new initialization/spawns. A ready live child remains
36
+ * available for shutdown interrupts and approval declines.
37
+ */
38
+ beginShutdown(reason?: string): void;
39
+ /**
40
+ * Start the child if needed, run initialize, and coalesce concurrent respawns
41
+ * until shutdown begins; afterward only reuse the existing ready child.
36
42
  */
37
43
  ensureReady(): Promise<InitializeResult>;
38
44
  /**
@@ -350,8 +350,8 @@ export declare const ThreadStartParamsSchema: z.ZodObject<{
350
350
  }, z.ZodTypeAny, "passthrough">>]>>>;
351
351
  sandbox: z.ZodOptional<z.ZodNullable<z.ZodEnum<["read-only", "workspace-write", "danger-full-access"]>>>;
352
352
  }, "strict", z.ZodTypeAny, {
353
- cwd?: string | null | undefined;
354
353
  model?: string | null | undefined;
354
+ cwd?: string | null | undefined;
355
355
  approvalPolicy?: "never" | "untrusted" | "on-failure" | "on-request" | "granular" | z.objectOutputType<{
356
356
  granular: z.ZodObject<{
357
357
  sandbox_approval: z.ZodBoolean;
@@ -375,8 +375,8 @@ export declare const ThreadStartParamsSchema: z.ZodObject<{
375
375
  }, z.ZodTypeAny, "passthrough"> | null | undefined;
376
376
  sandbox?: "read-only" | "workspace-write" | "danger-full-access" | null | undefined;
377
377
  }, {
378
- cwd?: string | null | undefined;
379
378
  model?: string | null | undefined;
379
+ cwd?: string | null | undefined;
380
380
  approvalPolicy?: "never" | "untrusted" | "on-failure" | "on-request" | "granular" | z.objectInputType<{
381
381
  granular: z.ZodObject<{
382
382
  sandbox_approval: z.ZodBoolean;
@@ -878,8 +878,8 @@ export declare const TurnStartParamsSchema: z.ZodObject<{
878
878
  }, "strict", z.ZodTypeAny, {
879
879
  input: unknown[];
880
880
  threadId: string;
881
- cwd?: string | null | undefined;
882
881
  model?: string | null | undefined;
882
+ cwd?: string | null | undefined;
883
883
  approvalPolicy?: "never" | "untrusted" | "on-failure" | "on-request" | "granular" | z.objectOutputType<{
884
884
  granular: z.ZodObject<{
885
885
  sandbox_approval: z.ZodBoolean;
@@ -921,8 +921,8 @@ export declare const TurnStartParamsSchema: z.ZodObject<{
921
921
  }, {
922
922
  input: unknown[];
923
923
  threadId: string;
924
- cwd?: string | null | undefined;
925
924
  model?: string | null | undefined;
925
+ cwd?: string | null | undefined;
926
926
  approvalPolicy?: "never" | "untrusted" | "on-failure" | "on-request" | "granular" | z.objectInputType<{
927
927
  granular: z.ZodObject<{
928
928
  sandbox_approval: z.ZodBoolean;