@askdkc/kiokuko 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +112 -0
  3. package/README.ko.md +112 -0
  4. package/README.md +147 -0
  5. package/README.zh-CN.md +112 -0
  6. package/dist/agent-file/atomic-write.d.ts +6 -0
  7. package/dist/agent-file/atomic-write.d.ts.map +1 -0
  8. package/dist/agent-file/atomic-write.js +36 -0
  9. package/dist/agent-file/atomic-write.js.map +1 -0
  10. package/dist/agent-file/managed-block.d.ts +12 -0
  11. package/dist/agent-file/managed-block.d.ts.map +1 -0
  12. package/dist/agent-file/managed-block.js +56 -0
  13. package/dist/agent-file/managed-block.js.map +1 -0
  14. package/dist/agent-file/render.d.ts +14 -0
  15. package/dist/agent-file/render.d.ts.map +1 -0
  16. package/dist/agent-file/render.js +41 -0
  17. package/dist/agent-file/render.js.map +1 -0
  18. package/dist/akinator/domain.d.ts +25 -0
  19. package/dist/akinator/domain.d.ts.map +1 -0
  20. package/dist/akinator/domain.js +255 -0
  21. package/dist/akinator/domain.js.map +1 -0
  22. package/dist/akinator/orchestrator.d.ts +8 -0
  23. package/dist/akinator/orchestrator.d.ts.map +1 -0
  24. package/dist/akinator/orchestrator.js +11 -0
  25. package/dist/akinator/orchestrator.js.map +1 -0
  26. package/dist/akinator/service.d.ts +35 -0
  27. package/dist/akinator/service.d.ts.map +1 -0
  28. package/dist/akinator/service.js +296 -0
  29. package/dist/akinator/service.js.map +1 -0
  30. package/dist/akinator/store.d.ts +96 -0
  31. package/dist/akinator/store.d.ts.map +1 -0
  32. package/dist/akinator/store.js +583 -0
  33. package/dist/akinator/store.js.map +1 -0
  34. package/dist/akinator/types.d.ts +49 -0
  35. package/dist/akinator/types.d.ts.map +1 -0
  36. package/dist/akinator/types.js +2 -0
  37. package/dist/akinator/types.js.map +1 -0
  38. package/dist/bin/kiokuko.d.ts +3 -0
  39. package/dist/bin/kiokuko.d.ts.map +1 -0
  40. package/dist/bin/kiokuko.js +6 -0
  41. package/dist/bin/kiokuko.js.map +1 -0
  42. package/dist/cli.d.ts +10 -0
  43. package/dist/cli.d.ts.map +1 -0
  44. package/dist/cli.js +362 -0
  45. package/dist/cli.js.map +1 -0
  46. package/dist/client/runtime-discovery.d.ts +15 -0
  47. package/dist/client/runtime-discovery.d.ts.map +1 -0
  48. package/dist/client/runtime-discovery.js +45 -0
  49. package/dist/client/runtime-discovery.js.map +1 -0
  50. package/dist/client/server-client.d.ts +20 -0
  51. package/dist/client/server-client.d.ts.map +1 -0
  52. package/dist/client/server-client.js +424 -0
  53. package/dist/client/server-client.js.map +1 -0
  54. package/dist/commands/agent.d.ts +10 -0
  55. package/dist/commands/agent.d.ts.map +1 -0
  56. package/dist/commands/agent.js +283 -0
  57. package/dist/commands/agent.js.map +1 -0
  58. package/dist/commands/backup.d.ts +5 -0
  59. package/dist/commands/backup.d.ts.map +1 -0
  60. package/dist/commands/backup.js +14 -0
  61. package/dist/commands/backup.js.map +1 -0
  62. package/dist/commands/call.d.ts +7 -0
  63. package/dist/commands/call.d.ts.map +1 -0
  64. package/dist/commands/call.js +10 -0
  65. package/dist/commands/call.js.map +1 -0
  66. package/dist/commands/doctor.d.ts +31 -0
  67. package/dist/commands/doctor.d.ts.map +1 -0
  68. package/dist/commands/doctor.js +142 -0
  69. package/dist/commands/doctor.js.map +1 -0
  70. package/dist/commands/export.d.ts +21 -0
  71. package/dist/commands/export.d.ts.map +1 -0
  72. package/dist/commands/export.js +68 -0
  73. package/dist/commands/export.js.map +1 -0
  74. package/dist/commands/import.d.ts +15 -0
  75. package/dist/commands/import.d.ts.map +1 -0
  76. package/dist/commands/import.js +265 -0
  77. package/dist/commands/import.js.map +1 -0
  78. package/dist/commands/init.d.ts +14 -0
  79. package/dist/commands/init.d.ts.map +1 -0
  80. package/dist/commands/init.js +26 -0
  81. package/dist/commands/init.js.map +1 -0
  82. package/dist/commands/ledger.d.ts +7 -0
  83. package/dist/commands/ledger.d.ts.map +1 -0
  84. package/dist/commands/ledger.js +66 -0
  85. package/dist/commands/ledger.js.map +1 -0
  86. package/dist/commands/link.d.ts +6 -0
  87. package/dist/commands/link.d.ts.map +1 -0
  88. package/dist/commands/link.js +6 -0
  89. package/dist/commands/link.js.map +1 -0
  90. package/dist/commands/promote.d.ts +6 -0
  91. package/dist/commands/promote.d.ts.map +1 -0
  92. package/dist/commands/promote.js +6 -0
  93. package/dist/commands/promote.js.map +1 -0
  94. package/dist/commands/purge.d.ts +10 -0
  95. package/dist/commands/purge.d.ts.map +1 -0
  96. package/dist/commands/purge.js +26 -0
  97. package/dist/commands/purge.js.map +1 -0
  98. package/dist/commands/read.d.ts +6 -0
  99. package/dist/commands/read.d.ts.map +1 -0
  100. package/dist/commands/read.js +4 -0
  101. package/dist/commands/read.js.map +1 -0
  102. package/dist/commands/recall.d.ts +6 -0
  103. package/dist/commands/recall.d.ts.map +1 -0
  104. package/dist/commands/recall.js +4 -0
  105. package/dist/commands/recall.js.map +1 -0
  106. package/dist/commands/record.d.ts +6 -0
  107. package/dist/commands/record.d.ts.map +1 -0
  108. package/dist/commands/record.js +4 -0
  109. package/dist/commands/record.js.map +1 -0
  110. package/dist/commands/search.d.ts +6 -0
  111. package/dist/commands/search.d.ts.map +1 -0
  112. package/dist/commands/search.js +4 -0
  113. package/dist/commands/search.js.map +1 -0
  114. package/dist/commands/serve.d.ts +34 -0
  115. package/dist/commands/serve.d.ts.map +1 -0
  116. package/dist/commands/serve.js +120 -0
  117. package/dist/commands/serve.js.map +1 -0
  118. package/dist/commands/server-status.d.ts +20 -0
  119. package/dist/commands/server-status.d.ts.map +1 -0
  120. package/dist/commands/server-status.js +21 -0
  121. package/dist/commands/server-status.js.map +1 -0
  122. package/dist/commands/server.d.ts +13 -0
  123. package/dist/commands/server.d.ts.map +1 -0
  124. package/dist/commands/server.js +89 -0
  125. package/dist/commands/server.js.map +1 -0
  126. package/dist/commands/setup.d.ts +32 -0
  127. package/dist/commands/setup.d.ts.map +1 -0
  128. package/dist/commands/setup.js +121 -0
  129. package/dist/commands/setup.js.map +1 -0
  130. package/dist/commands/supersede.d.ts +6 -0
  131. package/dist/commands/supersede.d.ts.map +1 -0
  132. package/dist/commands/supersede.js +6 -0
  133. package/dist/commands/supersede.js.map +1 -0
  134. package/dist/commands/use.d.ts +28 -0
  135. package/dist/commands/use.d.ts.map +1 -0
  136. package/dist/commands/use.js +176 -0
  137. package/dist/commands/use.js.map +1 -0
  138. package/dist/config/paths.d.ts +18 -0
  139. package/dist/config/paths.d.ts.map +1 -0
  140. package/dist/config/paths.js +104 -0
  141. package/dist/config/paths.js.map +1 -0
  142. package/dist/config/project-config.d.ts +10 -0
  143. package/dist/config/project-config.d.ts.map +1 -0
  144. package/dist/config/project-config.js +59 -0
  145. package/dist/config/project-config.js.map +1 -0
  146. package/dist/context/broker.d.ts +80 -0
  147. package/dist/context/broker.d.ts.map +1 -0
  148. package/dist/context/broker.js +437 -0
  149. package/dist/context/broker.js.map +1 -0
  150. package/dist/context/delivery.d.ts +66 -0
  151. package/dist/context/delivery.d.ts.map +1 -0
  152. package/dist/context/delivery.js +758 -0
  153. package/dist/context/delivery.js.map +1 -0
  154. package/dist/context/feedback.d.ts +75 -0
  155. package/dist/context/feedback.d.ts.map +1 -0
  156. package/dist/context/feedback.js +997 -0
  157. package/dist/context/feedback.js.map +1 -0
  158. package/dist/context/ranking.d.ts +98 -0
  159. package/dist/context/ranking.d.ts.map +1 -0
  160. package/dist/context/ranking.js +513 -0
  161. package/dist/context/ranking.js.map +1 -0
  162. package/dist/context/recommendations.d.ts +85 -0
  163. package/dist/context/recommendations.d.ts.map +1 -0
  164. package/dist/context/recommendations.js +342 -0
  165. package/dist/context/recommendations.js.map +1 -0
  166. package/dist/db/adapter.d.ts +25 -0
  167. package/dist/db/adapter.d.ts.map +1 -0
  168. package/dist/db/adapter.js +37 -0
  169. package/dist/db/adapter.js.map +1 -0
  170. package/dist/db/capabilities.d.ts +13 -0
  171. package/dist/db/capabilities.d.ts.map +1 -0
  172. package/dist/db/capabilities.js +25 -0
  173. package/dist/db/capabilities.js.map +1 -0
  174. package/dist/db/connection.d.ts +6 -0
  175. package/dist/db/connection.d.ts.map +1 -0
  176. package/dist/db/connection.js +42 -0
  177. package/dist/db/connection.js.map +1 -0
  178. package/dist/db/migrate.d.ts +9 -0
  179. package/dist/db/migrate.d.ts.map +1 -0
  180. package/dist/db/migrate.js +102 -0
  181. package/dist/db/migrate.js.map +1 -0
  182. package/dist/db/transaction.d.ts +4 -0
  183. package/dist/db/transaction.d.ts.map +1 -0
  184. package/dist/db/transaction.js +39 -0
  185. package/dist/db/transaction.js.map +1 -0
  186. package/dist/errors.d.ts +9 -0
  187. package/dist/errors.d.ts.map +1 -0
  188. package/dist/errors.js +32 -0
  189. package/dist/errors.js.map +1 -0
  190. package/dist/gateway/agent-service.d.ts +69 -0
  191. package/dist/gateway/agent-service.d.ts.map +1 -0
  192. package/dist/gateway/agent-service.js +581 -0
  193. package/dist/gateway/agent-service.js.map +1 -0
  194. package/dist/gateway/checkpoint-service.d.ts +42 -0
  195. package/dist/gateway/checkpoint-service.d.ts.map +1 -0
  196. package/dist/gateway/checkpoint-service.js +295 -0
  197. package/dist/gateway/checkpoint-service.js.map +1 -0
  198. package/dist/knowledge/sources.d.ts +72 -0
  199. package/dist/knowledge/sources.d.ts.map +1 -0
  200. package/dist/knowledge/sources.js +406 -0
  201. package/dist/knowledge/sources.js.map +1 -0
  202. package/dist/ledger/archive.d.ts +50 -0
  203. package/dist/ledger/archive.d.ts.map +1 -0
  204. package/dist/ledger/archive.js +1072 -0
  205. package/dist/ledger/archive.js.map +1 -0
  206. package/dist/ledger/hash.d.ts +22 -0
  207. package/dist/ledger/hash.d.ts.map +1 -0
  208. package/dist/ledger/hash.js +25 -0
  209. package/dist/ledger/hash.js.map +1 -0
  210. package/dist/ledger/maintenance.d.ts +78 -0
  211. package/dist/ledger/maintenance.d.ts.map +1 -0
  212. package/dist/ledger/maintenance.js +683 -0
  213. package/dist/ledger/maintenance.js.map +1 -0
  214. package/dist/ledger/projection.d.ts +37 -0
  215. package/dist/ledger/projection.d.ts.map +1 -0
  216. package/dist/ledger/projection.js +307 -0
  217. package/dist/ledger/projection.js.map +1 -0
  218. package/dist/ledger/promotion.d.ts +28 -0
  219. package/dist/ledger/promotion.d.ts.map +1 -0
  220. package/dist/ledger/promotion.js +308 -0
  221. package/dist/ledger/promotion.js.map +1 -0
  222. package/dist/ledger/query.d.ts +55 -0
  223. package/dist/ledger/query.d.ts.map +1 -0
  224. package/dist/ledger/query.js +321 -0
  225. package/dist/ledger/query.js.map +1 -0
  226. package/dist/ledger/redaction.d.ts +8 -0
  227. package/dist/ledger/redaction.d.ts.map +1 -0
  228. package/dist/ledger/redaction.js +40 -0
  229. package/dist/ledger/redaction.js.map +1 -0
  230. package/dist/ledger/store.d.ts +46 -0
  231. package/dist/ledger/store.d.ts.map +1 -0
  232. package/dist/ledger/store.js +324 -0
  233. package/dist/ledger/store.js.map +1 -0
  234. package/dist/ledger/types.d.ts +119 -0
  235. package/dist/ledger/types.d.ts.map +1 -0
  236. package/dist/ledger/types.js +22 -0
  237. package/dist/ledger/types.js.map +1 -0
  238. package/dist/ledger/validate.d.ts +10 -0
  239. package/dist/ledger/validate.d.ts.map +1 -0
  240. package/dist/ledger/validate.js +183 -0
  241. package/dist/ledger/validate.js.map +1 -0
  242. package/dist/mcp/server.d.ts +9 -0
  243. package/dist/mcp/server.d.ts.map +1 -0
  244. package/dist/mcp/server.js +86 -0
  245. package/dist/mcp/server.js.map +1 -0
  246. package/dist/memory/audit.d.ts +14 -0
  247. package/dist/memory/audit.d.ts.map +1 -0
  248. package/dist/memory/audit.js +16 -0
  249. package/dist/memory/audit.js.map +1 -0
  250. package/dist/memory/entries.d.ts +65 -0
  251. package/dist/memory/entries.d.ts.map +1 -0
  252. package/dist/memory/entries.js +200 -0
  253. package/dist/memory/entries.js.map +1 -0
  254. package/dist/memory/lifecycle.d.ts +29 -0
  255. package/dist/memory/lifecycle.d.ts.map +1 -0
  256. package/dist/memory/lifecycle.js +61 -0
  257. package/dist/memory/lifecycle.js.map +1 -0
  258. package/dist/memory/retrieval.d.ts +44 -0
  259. package/dist/memory/retrieval.d.ts.map +1 -0
  260. package/dist/memory/retrieval.js +174 -0
  261. package/dist/memory/retrieval.js.map +1 -0
  262. package/dist/memory/scoped-memory.d.ts +41 -0
  263. package/dist/memory/scoped-memory.d.ts.map +1 -0
  264. package/dist/memory/scoped-memory.js +65 -0
  265. package/dist/memory/scoped-memory.js.map +1 -0
  266. package/dist/memory/secrets.d.ts +6 -0
  267. package/dist/memory/secrets.d.ts.map +1 -0
  268. package/dist/memory/secrets.js +17 -0
  269. package/dist/memory/secrets.js.map +1 -0
  270. package/dist/memory/workspaces.d.ts +17 -0
  271. package/dist/memory/workspaces.d.ts.map +1 -0
  272. package/dist/memory/workspaces.js +92 -0
  273. package/dist/memory/workspaces.js.map +1 -0
  274. package/dist/repository/binding.d.ts +19 -0
  275. package/dist/repository/binding.d.ts.map +1 -0
  276. package/dist/repository/binding.js +78 -0
  277. package/dist/repository/binding.js.map +1 -0
  278. package/dist/repository/detect-root.d.ts +12 -0
  279. package/dist/repository/detect-root.d.ts.map +1 -0
  280. package/dist/repository/detect-root.js +57 -0
  281. package/dist/repository/detect-root.js.map +1 -0
  282. package/dist/repository/git-origin.d.ts +2 -0
  283. package/dist/repository/git-origin.d.ts.map +1 -0
  284. package/dist/repository/git-origin.js +15 -0
  285. package/dist/repository/git-origin.js.map +1 -0
  286. package/dist/repository/identity.d.ts +19 -0
  287. package/dist/repository/identity.d.ts.map +1 -0
  288. package/dist/repository/identity.js +23 -0
  289. package/dist/repository/identity.js.map +1 -0
  290. package/dist/repository/remote-url.d.ts +4 -0
  291. package/dist/repository/remote-url.d.ts.map +1 -0
  292. package/dist/repository/remote-url.js +36 -0
  293. package/dist/repository/remote-url.js.map +1 -0
  294. package/dist/security/sanitize.d.ts +4 -0
  295. package/dist/security/sanitize.d.ts.map +1 -0
  296. package/dist/security/sanitize.js +174 -0
  297. package/dist/security/sanitize.js.map +1 -0
  298. package/dist/serialization/envelope.d.ts +20 -0
  299. package/dist/serialization/envelope.d.ts.map +1 -0
  300. package/dist/serialization/envelope.js +11 -0
  301. package/dist/serialization/envelope.js.map +1 -0
  302. package/dist/serialization/validate.d.ts +31 -0
  303. package/dist/serialization/validate.d.ts.map +1 -0
  304. package/dist/serialization/validate.js +168 -0
  305. package/dist/serialization/validate.js.map +1 -0
  306. package/dist/server/agent-application.d.ts +6 -0
  307. package/dist/server/agent-application.d.ts.map +1 -0
  308. package/dist/server/agent-application.js +60 -0
  309. package/dist/server/agent-application.js.map +1 -0
  310. package/dist/server/app.d.ts +5 -0
  311. package/dist/server/app.d.ts.map +1 -0
  312. package/dist/server/app.js +87 -0
  313. package/dist/server/app.js.map +1 -0
  314. package/dist/server/auth.d.ts +2 -0
  315. package/dist/server/auth.d.ts.map +1 -0
  316. package/dist/server/auth.js +22 -0
  317. package/dist/server/auth.js.map +1 -0
  318. package/dist/server/http.d.ts +69 -0
  319. package/dist/server/http.d.ts.map +1 -0
  320. package/dist/server/http.js +349 -0
  321. package/dist/server/http.js.map +1 -0
  322. package/dist/server/idempotency.d.ts +12 -0
  323. package/dist/server/idempotency.d.ts.map +1 -0
  324. package/dist/server/idempotency.js +210 -0
  325. package/dist/server/idempotency.js.map +1 -0
  326. package/dist/server/instance-lock.d.ts +17 -0
  327. package/dist/server/instance-lock.d.ts.map +1 -0
  328. package/dist/server/instance-lock.js +118 -0
  329. package/dist/server/instance-lock.js.map +1 -0
  330. package/dist/server/router.d.ts +29 -0
  331. package/dist/server/router.d.ts.map +1 -0
  332. package/dist/server/router.js +112 -0
  333. package/dist/server/router.js.map +1 -0
  334. package/dist/server/routes/agent-events.d.ts +5 -0
  335. package/dist/server/routes/agent-events.d.ts.map +1 -0
  336. package/dist/server/routes/agent-events.js +46 -0
  337. package/dist/server/routes/agent-events.js.map +1 -0
  338. package/dist/server/routes/agent-intake.d.ts +5 -0
  339. package/dist/server/routes/agent-intake.d.ts.map +1 -0
  340. package/dist/server/routes/agent-intake.js +42 -0
  341. package/dist/server/routes/agent-intake.js.map +1 -0
  342. package/dist/server/routes/agent-promotions.d.ts +5 -0
  343. package/dist/server/routes/agent-promotions.d.ts.map +1 -0
  344. package/dist/server/routes/agent-promotions.js +52 -0
  345. package/dist/server/routes/agent-promotions.js.map +1 -0
  346. package/dist/server/routes/agent-runs.d.ts +25 -0
  347. package/dist/server/routes/agent-runs.d.ts.map +1 -0
  348. package/dist/server/routes/agent-runs.js +151 -0
  349. package/dist/server/routes/agent-runs.js.map +1 -0
  350. package/dist/server/routes/task5-support.d.ts +11 -0
  351. package/dist/server/routes/task5-support.d.ts.map +1 -0
  352. package/dist/server/routes/task5-support.js +22 -0
  353. package/dist/server/routes/task5-support.js.map +1 -0
  354. package/dist/server/routes/task5.d.ts +5 -0
  355. package/dist/server/routes/task5.d.ts.map +1 -0
  356. package/dist/server/routes/task5.js +72 -0
  357. package/dist/server/routes/task5.js.map +1 -0
  358. package/dist/server/runtime-descriptor.d.ts +24 -0
  359. package/dist/server/runtime-descriptor.d.ts.map +1 -0
  360. package/dist/server/runtime-descriptor.js +156 -0
  361. package/dist/server/runtime-descriptor.js.map +1 -0
  362. package/dist/server/write-queue.d.ts +20 -0
  363. package/dist/server/write-queue.d.ts.map +1 -0
  364. package/dist/server/write-queue.js +83 -0
  365. package/dist/server/write-queue.js.map +1 -0
  366. package/dist/setup/managed-text.d.ts +6 -0
  367. package/dist/setup/managed-text.d.ts.map +1 -0
  368. package/dist/setup/managed-text.js +42 -0
  369. package/dist/setup/managed-text.js.map +1 -0
  370. package/dist/setup/opencode-config.d.ts +3 -0
  371. package/dist/setup/opencode-config.d.ts.map +1 -0
  372. package/dist/setup/opencode-config.js +26 -0
  373. package/dist/setup/opencode-config.js.map +1 -0
  374. package/dist/setup/render.d.ts +8 -0
  375. package/dist/setup/render.d.ts.map +1 -0
  376. package/dist/setup/render.js +45 -0
  377. package/dist/setup/render.js.map +1 -0
  378. package/dist/web/server.d.ts +16 -0
  379. package/dist/web/server.d.ts.map +1 -0
  380. package/dist/web/server.js +424 -0
  381. package/dist/web/server.js.map +1 -0
  382. package/dist/web/ui.d.ts +2 -0
  383. package/dist/web/ui.d.ts.map +1 -0
  384. package/dist/web/ui.js +271 -0
  385. package/dist/web/ui.js.map +1 -0
  386. package/migrations/001_initial.sql +89 -0
  387. package/migrations/002_fts.sql +66 -0
  388. package/migrations/003_akinator.sql +30 -0
  389. package/migrations/004_agent_gateway.sql +259 -0
  390. package/package.json +45 -0
  391. package/templates/AGENTS.md +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/ledger/maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,YAAY,GAGb,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY;IACrE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe;CAC3E,CAAC;AAyCX,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAC/B,MAAM,SAAS,GAAG,gDAAgD,CAAC;AACnE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CAAC;AACvJ,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AACvF,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AAC7F,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAClF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/E,MAAM,UAAU,GAAG,qJAAqJ,CAAC;AAQzK,SAAS,eAAe,CAAC,OAAe,IAAW,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACzG,SAAS,aAAa,KAAY,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC,CAAC,CAAC;AACjH,SAAS,GAAG,CAAC,KAAc,IAAwB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1G,SAAS,WAAW,CAAC,KAAc,IAA+B,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9G,SAAS,OAAO,CAAC,KAAc,IAAwB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7I,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC;AACD,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;AACzE,CAAC;AACD,SAAS,MAAM,CAAC,QAAgB,EAAE,KAAc;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxI,CAAC;AACD,SAAS,QAAQ,CAAC,QAAwB,EAAE,GAAW,EAAE,GAAG,UAAkC;IAC5F,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAM,GAAG,UAAU,CAAC,EAAE,KAAK,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AACD,SAAS,WAAW;IAClB,OAAO,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAqC,CAAC;AACnL,CAAC;AAED,MAAM,gBAAgB;IAIC;IAHZ,QAAQ,GAAoB,EAAE,CAAC;IACxC,YAAY,GAAG,CAAC,CAAC;IACjB,iBAAiB,GAAG,KAAK,CAAC;IAC1B,YAAqB,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAAG,CAAC;IACtD,GAAG,CAAC,SAA0B,EAAE,IAAY,EAAE,QAAgB,EAAE,KAAe;QAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC;QACjB,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACrH,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,sBAAsB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;YAC1F,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;IACtE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACnH,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,OAAO,CAAC,GAAQ,EAAE,QAAgB,EAAE,KAAc,EAAE,QAA0B;IACrF,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3J,CAAC;AAED,SAAS,SAAS,CAChB,GAAY,EACZ,MAAkC,EAClC,QAAgB,EAChB,KAAc,EACd,QAA0B,EAC1B,KAAiC;IAEjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG;YAAE,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3H,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC/F,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAqC,CAAC,CAAC,CAAC;AACtL,CAAC;AACD,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3K,CAAC;AAED,SAAS,YAAY,CAAC,QAAwB,EAAE,KAAa,EAAE,SAA6B;IAC1F,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,iBAAiB,KAAK,sBAAsB,CAAC,CAAC,GAAG,EAAO,CAAC;IAC9G,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW,KAAK,wCAAwC,KAAK,0CAA0C,KAAK,aAAa,CAAC,CAAC,GAAG,CAAM,SAAS,CAAC,CAAC;AACxL,CAAC;AACD,SAAS,cAAc,CAAC,QAAwB,EAAE,SAA6B;IAC7E,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,6EAA6E,CAAC,CAAC,GAAG,EAAS,CAAC;IACjJ,OAAO,QAAQ,CAAC,OAAO,CAAC,6JAA6J,CAAC,CAAC,GAAG,CAAQ,SAAS,CAAC,CAAC;AAC/M,CAAC;AACD,SAAS,MAAM,CAAC,QAAwB,EAAE,SAA6B;IACrE,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,iCAAiC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,iCAAiC,KAAK,0EAA0E,EAAE,SAAS,CAAC,CAAC;IAClR,MAAM,OAAO,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,wDAAwD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,8LAA8L,EAAE,SAAS,CAAC,CAAC;IACvV,MAAM,UAAU,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,kDAAkD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,0HAA0H,EAAE,SAAS,CAAC,CAAC;IAChR,OAAO;QACL,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,2CAA2C,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,+DAA+D,EAAE,SAAS,CAAC;QAChM,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,EAAE,eAAe,EAAE,OAAO;QACrI,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,qBAAqB,CAAC,EAAE,UAAU;KAChL,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAW,EAAE,QAA0B;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAuC,CAAC,EAAE,CAAC;YAC/E,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAClE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAoD,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/L,IAAI,GAAG,CAAC,gBAAgB,KAAK,GAAG;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClG,KAAK,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;YAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChG,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACrE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/E,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACjI,MAAM,QAAQ,GAAG,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,aAAa,CAAC;QACrH,IAAI,QAAQ,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,4BAA4B,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxH,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,aAAwB,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACrM,IAAI,GAAG,CAAC,oBAAoB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,oBAA+B,GAAG,CAAC,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,8BAA8B,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9N,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9K,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrI,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrI,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChJ,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5I,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,IAAa,EAAE,IAAsB,EAAE,QAA0B;IACtF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC1F,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;;YACzG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,aAAa,EAAE,CAAC;YAC9C,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,2BAA2B,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;;gBACpH,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,QAAmB,GAAG,CAAC,EAAE,CAAC;YACxE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjF,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAiD,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3M,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,2BAA2B,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1L,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnJ,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,eAA0B,GAAG,CAAC,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChN,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,4BAA4B,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7I,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,8BAA8B,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtJ,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpK,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/I,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClF,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzL,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,QAAQ,GAAG,YAAY,CAAC;QAC5B,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ;gBAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,yBAAyB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChI,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,SAAS;gBAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,eAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,eAAyB,CAAC,CAAC;YACpK,IAAI,GAAG,CAAC,aAAa,KAAK,QAAQ;gBAAE,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5H,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,4BAA4B,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7G,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,EAAE,8BAA8B,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtH,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtI,MAAM,UAAU,GAAG,eAAe,CAAC;oBACjC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAkB,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU;oBAChJ,GAAG,CAAC,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1F,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,eAAyB,EAAE,CAAC;oBACxG,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;oBAC5G,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrJ,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAoB,EAAE,SAAS,EAAE,UAAU;iBAC7F,CAAC,CAAC;gBACH,IAAI,UAAU,KAAK,GAAG,CAAC,UAAU;oBAAE,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpH,CAAC;YACD,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;aAC5E,CAAC;YACJ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,WAAW;gBAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,wBAAwB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAC3H,MAAM,YAAY,GAAG,GAAG,CAAC,oBAAoB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClG,IAAI,YAAY,KAAK,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,+BAA+B,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,oBAAoB,KAAK,IAAI,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,2BAA2B,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACnN,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,QAAwB,EAAE,SAA6B,EAAE,IAAsB,EAAE,QAA0B;IACjI,MAAM,GAAG,GAAG,qQAAqQ,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,4CAA4C,CAAC;IACrX,MAAM,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAM,SAAS,CAAC,CAAC,CAAC;IACtH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAChG,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,0BAA0B,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC9G,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,iBAAiB,KAAK,IAAI,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,yBAAyB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC3K,IAAI,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,iBAAiB;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACxH,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,wBAAwB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC9J,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC7I,IAAI,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,0BAA0B,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC/I,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC1K,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,mCAAmC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC1L,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,sCAAsC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC5L,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAClJ,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,sBAAiC,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,gCAAgC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC1L,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC5G,SAAS,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,kCAAkC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnI,SAAS,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,mCAAmC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpI,IAAI,GAAG,CAAC,oBAAoB,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,oBAAoB,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACxM,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAwB,EAAE,SAA6B,EAAE,QAA0B;IAC5G,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACtE,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,6MAA6M,KAAK,8BAA8B,CAAC,CAAC,GAAG,CAAM,GAAG,KAAK,CAAC,CAAC;IACvS,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,MAAM,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7N,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/H,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3H,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,SAAoB,GAAG,CAAC,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7L,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,8NAA8N,KAAK,8BAA8B,CAAC,CAAC,GAAG,CAAM,GAAG,KAAK,CAAC,CAAC;IAC1T,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5J,IAAI,GAAG,CAAC,iBAAiB,KAAK,IAAI,IAAI,GAAG,CAAC,gBAAgB,KAAK,GAAG,CAAC,aAAa;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,oCAAoC,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1L,OAAO,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,qUAAqU,KAAK,iDAAiD,CAAC,CAAC,GAAG,CAAM,GAAG,KAAK,CAAC,CAAC;IACjb,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,IAAI,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC,aAAa;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjR,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,cAAyB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,cAAyB,GAAI,GAAG,CAAC,gBAA2B,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjT,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,IAAe,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,cAAc,EAAE,0BAA0B,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7J,SAAS,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC,EAAE,gDAAgD,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChK,SAAS,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC,EAAE,gDAAgD,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChK,OAAO,CAAC,GAAG,EAAE,0BAA0B,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAwB,EAAE,SAA6B,EAAE,IAAsB,EAAE,QAA0B;IACjI,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACtE,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,qIAAqI,KAAK,8BAA8B,CAAC,CAAC,GAAG,CAAM,GAAG,KAAK,CAAC,CAAC;IACjO,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAAC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC3F,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,GAAG,IAAI;YAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5L,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAAC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/E,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM;YAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/L,IAAI,GAAG,CAAC,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACnJ,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9K,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAChK,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACnK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACnI,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC,EAAE,+CAA+C,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACjI,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAwB,EAAE,SAA6B,EAAE,QAA0B;IAC1G,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACtE,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,0bAA0b,KAAK,8BAA8B,CAAC,CAAC,GAAG,CAAM,GAAG,KAAK,CAAC,CAAC;IACnhB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC,aAAa;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5R,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3J,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/I,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACxK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5H,OAAO,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,uHAAuH,KAAK,8BAA8B,CAAC,CAAC,GAAG,CAAM,GAAG,KAAK,CAAC,CAAC;IAC5M,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACzJ,IAAI,GAAG,CAAC,sBAAsB,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,gCAAgC,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACjN,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,IAAI,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,+BAA+B,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAClL,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,IAAK,GAAG,CAAC,MAAiB,GAAG,CAAC,IAAK,GAAG,CAAC,MAAiB,GAAG,CAAC,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7M,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,mBAAmB,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACtK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3I,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACpK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACxH,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,sVAAsV,KAAK,+BAA+B,CAAC,CAAC,GAAG,CAAM,GAAG,KAAK,CAAC,CAAC;IAC/a,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC,UAAU;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAClQ,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACzJ,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,KAAK,IAAI,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9J,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9I,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACvK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3H,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,4XAA4X,KAAK,yBAAyB,CAAC,CAAC,GAAG,CAAM,GAAG,KAAK,CAAC,CAAC;IAC9c,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC,aAAa;YAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACrM,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvJ,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,MAAM;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9J,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC,MAAM;YAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3H,OAAO,CAAC,GAAG,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAwB,EAAE,SAA6B,EAAE,QAA0B;IAC5G,MAAM,IAAI,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,EAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,oIAAoI,CAAC,CAAC,GAAG,CAAM,SAAS,CAAC,CAAC;IAC1S,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5J,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,WAA8B,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxK,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3N,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3H,OAAO,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAwB,EAAE,UAAkC,EAAE;IAC1F,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,eAAe,CAAC,sCAAsC,CAAC,CAAC;IAC1K,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,EAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC,GAAG,CAAM,SAAS,CAAC,CAAC;QACnO,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5C,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzC,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjD,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;QACtC,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,2CAA2C,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,mHAAmH,EAAE,SAAS,CAAC,CAAC;QACzQ,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC;QACpI,MAAM,CAAC,iBAAiB,CAAC,KAAK,GAAG,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,eAAe,CAAC;QACxF,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QAC9I,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;QACnR,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;QACvD,OAAO,EAAE,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,cAAc,EAAE,CAAC;IAClQ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY;YAAE,MAAM,KAAK,CAAC;QAC/C,aAAa,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAU,CAAC;AAE/G,MAAM,CAAC,MAAM,oBAAoB,GAAG,mEAAmE,CAAC;AAMxG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAC9H,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAChD,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAC5D,MAAM,cAAc,GAAG,+CAA+C,CAAC;AACvE,MAAM,oBAAoB,GAAG,6EAA6E,CAAC;AAC3G,SAAS,gBAAgB,CAAC,KAAc,EAAE,KAAa;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,eAAe,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAC;IACtK,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,qDAAqD,CAAC,CAAC;IAC3H,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;IAChI,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAC;IACpH,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAA6B,CAAC;QAAE,eAAe,CAAC,kCAAkC,CAAC,CAAC;IACvJ,MAAM,UAAU,GAAG,KAAK,CAAC,UAA6B,CAAC;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,eAAe,CAAC,6CAA6C,CAAC,CAAC;IACrG,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACxD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,eAAe,CAAC,iCAAiC,CAAC,CAAC;QACzF,IAAI,SAAkB,CAAC;QACvB,IAAI,CAAC;YAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,eAAe,CAAC,iCAAiC,CAAC,CAAC;QAAC,CAAC;QACnH,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,IAAI;YAAE,eAAe,CAAC,iCAAiC,CAAC,CAAC;QACrI,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,qDAAqD,CAAC,CAAC;QAC/H,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAmB,EAAE,OAAO,EAAE,CAAC;AAC3G,CAAC;AACD,SAAS,SAAS,CAAC,GAAQ,IAA0B,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,WAA8B,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACrd,SAAS,WAAW,CAAC,KAA2B,EAAE,YAAoB,EAAE,QAAiB,IAAiB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;AACrR,SAAS,SAAS,CAAC,QAAwB,EAAE,KAAqB,EAAE,KAA2B;IAC7F,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI;QAC1C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAM,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IACjH,OAAO,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;WACjC,CAAC,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,KAAK,CAAC,SAAS,CAAC;WACtE,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;WACrC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;WACjC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;WAC3B,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;WAC7B,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;AAC3C,CAAC;AACD,SAAS,MAAM,CAAC,QAAwB,EAAE,KAAqB;IAC7D,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;IAAC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7D,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC;QACzB,KAAK,KAAK,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,8EAA8E,CAAC,CAAC,GAAG,CAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QAC5I,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,2IAA2I,CAAC,CAAC,GAAG,CAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3M,KAAK,UAAU,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,qKAAqK,CAAC,CAAC,GAAG,CAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QACxO,KAAK,UAAU,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,2JAA2J,CAAC,CAAC,GAAG,CAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QAC9N,KAAK,aAAa,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,sLAAsL,CAAC,CAAC,GAAG,CAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QAC5P,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG;gBACX,QAAQ,CAAC,OAAO,CAAC,6KAA6K,CAAC,CAAC,GAAG,CAAM,EAAE,EAAE,SAAS,CAAC;gBACvN,QAAQ,CAAC,OAAO,CAAC,qKAAqK,CAAC,CAAC,GAAG,CAAM,EAAE,EAAE,SAAS,CAAC;gBAC/M,QAAQ,CAAC,OAAO,CAAC,2KAA2K,CAAC,CAAC,GAAG,CAAM,EAAE,EAAE,SAAS,CAAC;aACtN,CAAC,MAAM,CAAC,CAAC,GAAG,EAAc,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AACD,SAAS,oBAAoB,CAAC,QAAwB,EAAE,KAAqB,EAAE,GAAQ;IACrF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACjI,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvJ,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9F,QAAQ,CAAC,OAAO,CAAC,6KAA6K,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACtU,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9G,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,+CAA+C,CAAC,CAAC;IACvG,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AACD,SAAS,aAAa,CAAC,QAAwB,EAAE,KAAa;IAC5D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,CAAC;QAAE,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,iCAAiC,KAAK,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC3Q,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,8IAA8I,EAAE,KAAK,CAAC,CAAC;IACnL,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAyB,KAAK,CAAC,CAAC;IAC3H,IAAI,OAAO,EAAE,CAAC;QAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,qEAAqE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,8DAA8D,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAAC,CAAC;IACzP,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,YAAY,CAAC,QAAwB,EAAE,KAAqB,EAAE,GAAQ;IAC7E,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO;QAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC;QACzB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAyB,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpI,QAAQ,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjF,IAAI,OAAO,EAAE,CAAC;gBAAC,QAAQ,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC,GAAG,CAAsB,OAAO,CAAC,UAAU,CAAC;oBAAE,QAAQ,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YACxU,MAAM;QACR,CAAC;QACD,KAAK,UAAU;YAAE,QAAQ,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAAC,MAAM;QAClH,KAAK,UAAU;YACb,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,sEAAsE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtH,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,8EAA8E,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9H,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,yEAAyE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzH,QAAQ,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9F,QAAQ,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7F,MAAM;QACR,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACxI,QAAQ,CAAC,OAAO,CAAC,eAAe,KAAK,wBAAwB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnF,MAAM;QACR,CAAC;QACD,KAAK,aAAa;YAAE,QAAQ,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAAC,MAAM;QACrH,OAAO,CAAC,CAAC,MAAM;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9G,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,oCAAoC,CAAC,CAAC;IAC5F,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACrD,CAAC;AACD,SAAS,kBAAkB,CAAC,QAAwB,EAAE,KAAqB;IACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACjH,IAAI,QAAQ,EAAE,CAAC;QAAC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAAC,OAAO,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAAC,CAAC;IACpL,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AACD,SAAS,mBAAmB,CAAC,KAAc,IAAW,IAAI,KAAK,YAAY,YAAY;IAAE,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,wCAAwC,CAAC,CAAC,CAAC,CAAC;AAC3L,MAAM,UAAU,8BAA8B,CAAC,QAAwB,EAAE,KAAc,IAAiB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAAC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAAC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC;AAChP,MAAM,UAAU,iBAAiB,CAAC,QAAwB,EAAE,KAAc,IAAiB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAAC,OAAO,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAAC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { TaskProfile } from '../akinator/types.js';
2
+ import type { Coverage, JsonValue, LedgerEventType } from './types.js';
3
+ export type IntakeStatus = 'ready' | 'exhausted';
4
+ export type ProjectionCoverage = 'complete' | 'partial';
5
+ export type EvidenceState = 'none' | 'failed' | 'fresh' | 'stale';
6
+ export type ProfileField = keyof TaskProfile;
7
+ export type MissingProfileField = 'taskType' | 'target' | 'expected';
8
+ export interface LedgerEventSnapshot {
9
+ eventId: string;
10
+ sequence: number;
11
+ eventType: LedgerEventType;
12
+ outcome?: string | null;
13
+ payload?: JsonValue;
14
+ }
15
+ export interface LedgerProjectionInput {
16
+ initialProfile: TaskProfile;
17
+ intakeStatus: IntakeStatus;
18
+ coverage: Coverage;
19
+ throughSequence: number;
20
+ events: LedgerEventSnapshot[];
21
+ }
22
+ export interface LedgerProjection {
23
+ throughSequence: number;
24
+ taskProfile: TaskProfile;
25
+ profileHash: string;
26
+ evidenceState: EvidenceState;
27
+ unresolvedFailureEventIds: string[];
28
+ unknownOutcomeEventIds: string[];
29
+ latestMutationSequence: number | null;
30
+ latestPassingVerificationSequence: number | null;
31
+ coverage: ProjectionCoverage;
32
+ declaredCoverage: Coverage;
33
+ intakeIncomplete: boolean;
34
+ missingProfileFields: MissingProfileField[];
35
+ }
36
+ export declare function projectLedger(input: unknown): LedgerProjection;
37
+ //# sourceMappingURL=projection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/ledger/projection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAiB,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGtF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC;AAC7C,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,WAAW,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;CAC7C;AAuOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CA8D9D"}
@@ -0,0 +1,307 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { KiokukoError } from '../errors.js';
3
+ import { COVERAGE_LEVELS, LEDGER_EVENT_TYPES, TASK_TYPES } from './types.js';
4
+ import { canonicalJson } from './hash.js';
5
+ const PROFILE_FIELDS = ['taskType', 'target', 'expected', 'constraints'];
6
+ const REQUIRED_PROFILE_FIELDS = PROFILE_FIELDS;
7
+ const COVERAGE_FIELDS = ['run', 'tool', 'command', 'file', 'approval'];
8
+ const EVENT_FIELDS = ['eventId', 'sequence', 'eventType', 'outcome', 'payload'];
9
+ const TOP_LEVEL_FIELDS = ['initialProfile', 'intakeStatus', 'coverage', 'throughSequence', 'events'];
10
+ const HIGH_VALUE_FIELDS = ['taskType', 'target', 'expected'];
11
+ const PASSING_OUTCOMES = new Set(['pass', 'passed', 'success', 'succeeded']);
12
+ const FAILURE_EVENT_TYPES = new Set(['step.failed', 'tool.failed', 'error.recorded']);
13
+ const VERIFICATION_EVENT_TYPES = new Set(['verification.recorded', 'test.completed']);
14
+ function isRecord(value) {
15
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
16
+ return false;
17
+ const prototype = Object.getPrototypeOf(value);
18
+ return prototype === Object.prototype || prototype === null;
19
+ }
20
+ function hasOwn(value, field) {
21
+ return Object.prototype.hasOwnProperty.call(value, field);
22
+ }
23
+ function projectionValidation() {
24
+ throw new KiokukoError('VALIDATION_ERROR', 'Invalid ledger projection input');
25
+ }
26
+ function projectionIntegrity() {
27
+ throw new KiokukoError('INTEGRITY_ERROR', 'Invalid persisted ledger projection state');
28
+ }
29
+ function assertKnownFields(value, allowed) {
30
+ const allowedSet = new Set(allowed);
31
+ for (const field of Object.keys(value)) {
32
+ if (!allowedSet.has(field))
33
+ projectionValidation();
34
+ }
35
+ }
36
+ function assertRequiredFields(value, required) {
37
+ for (const field of required) {
38
+ if (!hasOwn(value, field))
39
+ projectionValidation();
40
+ }
41
+ }
42
+ function isNullableString(value) {
43
+ return value === null || typeof value === 'string';
44
+ }
45
+ function isTaskType(value) {
46
+ return value === null || (typeof value === 'string' && TASK_TYPES.some((candidate) => candidate === value));
47
+ }
48
+ function isCoverageLevel(value) {
49
+ return typeof value === 'string' && COVERAGE_LEVELS.some((candidate) => candidate === value);
50
+ }
51
+ function isLedgerEventType(value) {
52
+ return typeof value === 'string' && LEDGER_EVENT_TYPES.some((candidate) => candidate === value);
53
+ }
54
+ function isNonEmptyString(value) {
55
+ return typeof value === 'string' && value.length > 0;
56
+ }
57
+ function assertJsonValue(value) {
58
+ if (value === null || typeof value === 'boolean' || typeof value === 'string')
59
+ return;
60
+ if (typeof value === 'number') {
61
+ if (Number.isFinite(value))
62
+ return;
63
+ projectionValidation();
64
+ }
65
+ if (Array.isArray(value)) {
66
+ for (const child of value)
67
+ assertJsonValue(child);
68
+ return;
69
+ }
70
+ if (isRecord(value)) {
71
+ for (const child of Object.values(value))
72
+ assertJsonValue(child);
73
+ return;
74
+ }
75
+ projectionValidation();
76
+ }
77
+ function parseProfile(value) {
78
+ if (!isRecord(value))
79
+ projectionValidation();
80
+ assertKnownFields(value, PROFILE_FIELDS);
81
+ assertRequiredFields(value, REQUIRED_PROFILE_FIELDS);
82
+ const taskType = value.taskType;
83
+ const target = value.target;
84
+ const expected = value.expected;
85
+ const constraints = value.constraints;
86
+ if (!isTaskType(taskType) || !isNullableString(target) || !isNullableString(expected) || !isNullableString(constraints)) {
87
+ projectionValidation();
88
+ }
89
+ return { taskType, target, expected, constraints };
90
+ }
91
+ function profileHash(profile) {
92
+ return createHash('sha256').update(canonicalJson(profile), 'utf8').digest('hex');
93
+ }
94
+ function applyRevision(profile, payload) {
95
+ if (!isRecord(payload))
96
+ projectionValidation();
97
+ assertKnownFields(payload, ['profile']);
98
+ if (!hasOwn(payload, 'profile'))
99
+ projectionValidation();
100
+ const revision = payload.profile;
101
+ if (!isRecord(revision))
102
+ projectionValidation();
103
+ assertKnownFields(revision, PROFILE_FIELDS);
104
+ for (const field of Object.keys(revision)) {
105
+ if (revision[field] === undefined)
106
+ projectionValidation();
107
+ }
108
+ const next = { ...profile };
109
+ if (hasOwn(revision, 'taskType')) {
110
+ if (!isTaskType(revision.taskType))
111
+ projectionValidation();
112
+ next.taskType = revision.taskType;
113
+ }
114
+ if (hasOwn(revision, 'target')) {
115
+ if (!isNullableString(revision.target))
116
+ projectionValidation();
117
+ next.target = revision.target;
118
+ }
119
+ if (hasOwn(revision, 'expected')) {
120
+ if (!isNullableString(revision.expected))
121
+ projectionValidation();
122
+ next.expected = revision.expected;
123
+ }
124
+ if (hasOwn(revision, 'constraints')) {
125
+ if (!isNullableString(revision.constraints))
126
+ projectionValidation();
127
+ next.constraints = revision.constraints;
128
+ }
129
+ return next;
130
+ }
131
+ function parseCoverage(value) {
132
+ if (!isRecord(value))
133
+ projectionValidation();
134
+ assertKnownFields(value, COVERAGE_FIELDS);
135
+ assertRequiredFields(value, COVERAGE_FIELDS);
136
+ const run = value.run;
137
+ const tool = value.tool;
138
+ const command = value.command;
139
+ const file = value.file;
140
+ const approval = value.approval;
141
+ if (!isCoverageLevel(run) || !isCoverageLevel(tool) || !isCoverageLevel(command) || !isCoverageLevel(file) || !isCoverageLevel(approval)) {
142
+ projectionValidation();
143
+ }
144
+ return { run, tool, command, file, approval };
145
+ }
146
+ function parseEvent(value) {
147
+ if (!isRecord(value))
148
+ projectionValidation();
149
+ assertKnownFields(value, EVENT_FIELDS);
150
+ assertRequiredFields(value, ['eventId', 'sequence', 'eventType']);
151
+ const eventId = value.eventId;
152
+ const sequence = value.sequence;
153
+ const eventType = value.eventType;
154
+ if (!isNonEmptyString(eventId))
155
+ projectionValidation();
156
+ if (typeof sequence !== 'number' || !Number.isSafeInteger(sequence) || sequence < 1)
157
+ projectionValidation();
158
+ if (!isLedgerEventType(eventType))
159
+ projectionValidation();
160
+ const event = { eventId, sequence, eventType };
161
+ if (hasOwn(value, 'outcome')) {
162
+ const outcome = value.outcome;
163
+ if (outcome === null)
164
+ event.outcome = null;
165
+ else if (isNonEmptyString(outcome))
166
+ event.outcome = outcome;
167
+ else
168
+ projectionValidation();
169
+ }
170
+ if (hasOwn(value, 'payload')) {
171
+ const payload = value.payload;
172
+ assertJsonValue(payload);
173
+ event.payload = payload;
174
+ }
175
+ return event;
176
+ }
177
+ function parseInput(value) {
178
+ if (!isRecord(value))
179
+ projectionValidation();
180
+ assertKnownFields(value, TOP_LEVEL_FIELDS);
181
+ assertRequiredFields(value, TOP_LEVEL_FIELDS);
182
+ const initialProfile = parseProfile(value.initialProfile);
183
+ if (value.intakeStatus !== 'ready' && value.intakeStatus !== 'exhausted')
184
+ projectionValidation();
185
+ const coverage = parseCoverage(value.coverage);
186
+ if (typeof value.throughSequence !== 'number' || !Number.isSafeInteger(value.throughSequence) || value.throughSequence < 0)
187
+ projectionValidation();
188
+ if (!Array.isArray(value.events))
189
+ projectionValidation();
190
+ const events = [];
191
+ const eventIds = new Set();
192
+ let previousSequence = -1;
193
+ for (const rawEvent of value.events) {
194
+ const event = parseEvent(rawEvent);
195
+ if (eventIds.has(event.eventId) || event.sequence <= previousSequence || event.sequence > value.throughSequence)
196
+ projectionValidation();
197
+ eventIds.add(event.eventId);
198
+ previousSequence = event.sequence;
199
+ events.push(event);
200
+ }
201
+ return {
202
+ initialProfile,
203
+ intakeStatus: value.intakeStatus,
204
+ coverage,
205
+ throughSequence: value.throughSequence,
206
+ events,
207
+ };
208
+ }
209
+ function controlPayload(payload) {
210
+ return isRecord(payload) ? payload : null;
211
+ }
212
+ function resolutionIds(payload) {
213
+ const controls = controlPayload(payload);
214
+ if (controls === null || !hasOwn(controls, 'resolvesEventIds'))
215
+ return [];
216
+ if (!Array.isArray(controls.resolvesEventIds))
217
+ projectionValidation();
218
+ const ids = [];
219
+ for (const id of controls.resolvesEventIds) {
220
+ if (!isNonEmptyString(id))
221
+ projectionValidation();
222
+ ids.push(id);
223
+ }
224
+ return ids;
225
+ }
226
+ function mutated(payload) {
227
+ const controls = controlPayload(payload);
228
+ if (controls === null || !hasOwn(controls, 'mutated'))
229
+ return false;
230
+ if (typeof controls.mutated !== 'boolean')
231
+ projectionValidation();
232
+ return controls.mutated;
233
+ }
234
+ function evidenceOutcome(outcome) {
235
+ if (outcome === 'failed')
236
+ return 'failed';
237
+ if (outcome !== undefined && outcome !== null && PASSING_OUTCOMES.has(outcome))
238
+ return 'passed';
239
+ return null;
240
+ }
241
+ function removeIds(ids, toRemove) {
242
+ if (toRemove.length === 0)
243
+ return ids;
244
+ const removals = new Set(toRemove);
245
+ return ids.filter((id) => !removals.has(id));
246
+ }
247
+ export function projectLedger(input) {
248
+ const parsed = parseInput(input);
249
+ const missingProfileFields = HIGH_VALUE_FIELDS.filter((field) => parsed.initialProfile[field] === null);
250
+ let taskProfile = { ...parsed.initialProfile };
251
+ let latestMutationSequence = null;
252
+ let latestPassingVerificationSequence = null;
253
+ let latestEvidence = null;
254
+ let unresolvedFailureEventIds = [];
255
+ let unknownOutcomeEventIds = [];
256
+ for (const event of parsed.events) {
257
+ const resolves = resolutionIds(event.payload);
258
+ unresolvedFailureEventIds = removeIds(unresolvedFailureEventIds, resolves);
259
+ unknownOutcomeEventIds = removeIds(unknownOutcomeEventIds, resolves);
260
+ if (event.eventType === 'task_profile.revised') {
261
+ taskProfile = applyRevision(taskProfile, event.payload);
262
+ latestMutationSequence = event.sequence;
263
+ }
264
+ else if (event.eventType === 'file.changed' || ((event.eventType === 'command.completed' || event.eventType === 'tool.completed') && mutated(event.payload))) {
265
+ latestMutationSequence = event.sequence;
266
+ }
267
+ if (FAILURE_EVENT_TYPES.has(event.eventType) || ((event.eventType === 'test.completed' || event.eventType === 'verification.recorded') && event.outcome === 'failed')) {
268
+ unresolvedFailureEventIds.push(event.eventId);
269
+ }
270
+ if (event.eventType === 'tool.outcome_unknown')
271
+ unknownOutcomeEventIds.push(event.eventId);
272
+ if (VERIFICATION_EVENT_TYPES.has(event.eventType)) {
273
+ const outcome = evidenceOutcome(event.outcome);
274
+ if (outcome !== null) {
275
+ latestEvidence = { outcome, sequence: event.sequence };
276
+ if (outcome === 'passed')
277
+ latestPassingVerificationSequence = event.sequence;
278
+ }
279
+ }
280
+ }
281
+ if (parsed.intakeStatus === 'ready' && missingProfileFields.length > 0)
282
+ projectionIntegrity();
283
+ let evidenceState = 'none';
284
+ if (latestEvidence?.outcome === 'failed') {
285
+ evidenceState = 'failed';
286
+ }
287
+ else if (latestEvidence?.outcome === 'passed') {
288
+ evidenceState = latestMutationSequence !== null && latestMutationSequence > latestEvidence.sequence ? 'stale' : 'fresh';
289
+ }
290
+ const declaredCoverage = { ...parsed.coverage };
291
+ const coverage = COVERAGE_FIELDS.every((field) => declaredCoverage[field] === 'complete') ? 'complete' : 'partial';
292
+ return {
293
+ throughSequence: parsed.throughSequence,
294
+ taskProfile,
295
+ profileHash: profileHash(taskProfile),
296
+ evidenceState,
297
+ unresolvedFailureEventIds,
298
+ unknownOutcomeEventIds,
299
+ latestMutationSequence,
300
+ latestPassingVerificationSequence,
301
+ coverage,
302
+ declaredCoverage,
303
+ intakeIncomplete: parsed.intakeStatus === 'exhausted' && missingProfileFields.length > 0,
304
+ missingProfileFields,
305
+ };
306
+ }
307
+ //# sourceMappingURL=projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../src/ledger/projection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { SqliteDatabase } from '../db/adapter.js';
2
+ import { type EntryRecord } from '../memory/entries.js';
3
+ export interface PromoteLedgerProposalInput {
4
+ workspace: string;
5
+ runId: string;
6
+ proposalEventId: string;
7
+ deliveryId?: string;
8
+ actor: string;
9
+ createdAt: string;
10
+ confirmed: boolean;
11
+ }
12
+ export interface LedgerMemoryLinkView {
13
+ linkId: string;
14
+ runId: string;
15
+ eventId: string | null;
16
+ deliveryId: string | null;
17
+ entryId: string;
18
+ createdAt: string;
19
+ untrusted: true;
20
+ }
21
+ export interface LedgerPromotionResult {
22
+ entry: EntryRecord;
23
+ link: LedgerMemoryLinkView;
24
+ untrusted: true;
25
+ }
26
+ export declare function promoteLedgerProposal(database: SqliteDatabase, input: unknown): LedgerPromotionResult;
27
+ export declare function promoteLedgerProposalInTransaction(database: SqliteDatabase, input: unknown): LedgerPromotionResult;
28
+ //# sourceMappingURL=promotion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promotion.d.ts","sourceRoot":"","sources":["../../src/ledger/promotion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAuC,KAAK,WAAW,EAAyB,MAAM,sBAAsB,CAAC;AAuBpH,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;CACjB;AA4VD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAGrG;AAED,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAGlH"}