@namzu/sdk 61.4.0 → 62.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 (338) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/agents/QueryAgent.d.ts.map +1 -1
  3. package/dist/agents/QueryAgent.js +2 -0
  4. package/dist/agents/QueryAgent.js.map +1 -1
  5. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  6. package/dist/bridge/a2a/mapper.js +2 -0
  7. package/dist/bridge/a2a/mapper.js.map +1 -1
  8. package/dist/bridge/acp/permission.d.ts +8 -0
  9. package/dist/bridge/acp/permission.d.ts.map +1 -1
  10. package/dist/bridge/acp/permission.js.map +1 -1
  11. package/dist/bridge/acp/server.d.ts.map +1 -1
  12. package/dist/bridge/acp/server.js +8 -1
  13. package/dist/bridge/acp/server.js.map +1 -1
  14. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  15. package/dist/bridge/sse/mapper.js +13 -0
  16. package/dist/bridge/sse/mapper.js.map +1 -1
  17. package/dist/constants/tools/index.d.ts +2 -0
  18. package/dist/constants/tools/index.d.ts.map +1 -1
  19. package/dist/constants/tools/index.js +23 -0
  20. package/dist/constants/tools/index.js.map +1 -1
  21. package/dist/contracts/session/api.d.ts +1 -1
  22. package/dist/contracts/session/api.d.ts.map +1 -1
  23. package/dist/eval/harness-protection.js +1 -1
  24. package/dist/eval/harness-protection.js.map +1 -1
  25. package/dist/learning/cycle.d.ts +5 -3
  26. package/dist/learning/cycle.d.ts.map +1 -1
  27. package/dist/learning/cycle.js +11 -13
  28. package/dist/learning/cycle.js.map +1 -1
  29. package/dist/learning/guidance.d.ts +74 -0
  30. package/dist/learning/guidance.d.ts.map +1 -0
  31. package/dist/learning/guidance.js +259 -0
  32. package/dist/learning/guidance.js.map +1 -0
  33. package/dist/learning/skill.d.ts +2 -2
  34. package/dist/learning/skill.d.ts.map +1 -1
  35. package/dist/learning/skill.js +6 -6
  36. package/dist/learning/skill.js.map +1 -1
  37. package/dist/learning/store.d.ts.map +1 -1
  38. package/dist/learning/store.js +6 -6
  39. package/dist/learning/store.js.map +1 -1
  40. package/dist/pals/communication/ingress-schema.d.ts +8 -8
  41. package/dist/pals/communication/schema.d.ts +2 -2
  42. package/dist/peers/client.d.ts +2 -3
  43. package/dist/peers/client.d.ts.map +1 -1
  44. package/dist/peers/client.js +2 -3
  45. package/dist/peers/client.js.map +1 -1
  46. package/dist/peers/endpoint.d.ts +1 -2
  47. package/dist/peers/endpoint.d.ts.map +1 -1
  48. package/dist/peers/endpoint.js +1 -2
  49. package/dist/peers/endpoint.js.map +1 -1
  50. package/dist/peers/protocol.d.ts.map +1 -1
  51. package/dist/peers/protocol.js +1 -0
  52. package/dist/peers/protocol.js.map +1 -1
  53. package/dist/prompt/coding-agent-doctrine.d.ts +4 -4
  54. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  55. package/dist/prompt/coding-agent-doctrine.js +5 -3
  56. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  57. package/dist/prompt/index.d.ts +0 -4
  58. package/dist/prompt/index.d.ts.map +1 -1
  59. package/dist/prompt/index.js +0 -2
  60. package/dist/prompt/index.js.map +1 -1
  61. package/dist/provider/fallback.d.ts.map +1 -1
  62. package/dist/provider/fallback.js +3 -0
  63. package/dist/provider/fallback.js.map +1 -1
  64. package/dist/provider/idle-timeout.d.ts.map +1 -1
  65. package/dist/provider/idle-timeout.js +5 -0
  66. package/dist/provider/idle-timeout.js.map +1 -1
  67. package/dist/provider/model-window-suffix.d.ts.map +1 -1
  68. package/dist/provider/model-window-suffix.js +1 -0
  69. package/dist/provider/model-window-suffix.js.map +1 -1
  70. package/dist/provider/retry.d.ts.map +1 -1
  71. package/dist/provider/retry.js +5 -0
  72. package/dist/provider/retry.js.map +1 -1
  73. package/dist/provider/step-stopped.d.ts +19 -0
  74. package/dist/provider/step-stopped.d.ts.map +1 -0
  75. package/dist/provider/step-stopped.js +25 -0
  76. package/dist/provider/step-stopped.js.map +1 -0
  77. package/dist/provider/token-budget.d.ts.map +1 -1
  78. package/dist/provider/token-budget.js +6 -1
  79. package/dist/provider/token-budget.js.map +1 -1
  80. package/dist/public-runtime.d.ts +4 -15
  81. package/dist/public-runtime.d.ts.map +1 -1
  82. package/dist/public-runtime.js +4 -15
  83. package/dist/public-runtime.js.map +1 -1
  84. package/dist/public-tools.d.ts +0 -2
  85. package/dist/public-tools.d.ts.map +1 -1
  86. package/dist/public-tools.js +0 -2
  87. package/dist/public-tools.js.map +1 -1
  88. package/dist/public-types.d.ts +4 -22
  89. package/dist/public-types.d.ts.map +1 -1
  90. package/dist/runtime/query/iteration/index.d.ts +17 -0
  91. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  92. package/dist/runtime/query/iteration/index.js +176 -6
  93. package/dist/runtime/query/iteration/index.js.map +1 -1
  94. package/dist/runtime/query/iteration/phases/per-call-review.d.ts.map +1 -1
  95. package/dist/runtime/query/iteration/phases/per-call-review.js +4 -5
  96. package/dist/runtime/query/iteration/phases/per-call-review.js.map +1 -1
  97. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  98. package/dist/runtime/query/iteration/phases/tool-review.js +6 -3
  99. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  100. package/dist/runtime/query/iteration/recorded-context.d.ts +1 -1
  101. package/dist/runtime/query/iteration/recorded-context.d.ts.map +1 -1
  102. package/dist/runtime/query/iteration/recorded-context.js +2 -1
  103. package/dist/runtime/query/iteration/recorded-context.js.map +1 -1
  104. package/dist/runtime/query/iteration/stream-turn.d.ts +9 -1
  105. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  106. package/dist/runtime/query/iteration/stream-turn.js +48 -2
  107. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  108. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  109. package/dist/runtime/query/resume-pending.js +7 -4
  110. package/dist/runtime/query/resume-pending.js.map +1 -1
  111. package/dist/runtime/query/review-policy.d.ts +40 -8
  112. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  113. package/dist/runtime/query/review-policy.js +139 -24
  114. package/dist/runtime/query/review-policy.js.map +1 -1
  115. package/dist/runtime/query/turn/completion-audit.d.ts +32 -0
  116. package/dist/runtime/query/turn/completion-audit.d.ts.map +1 -0
  117. package/dist/runtime/query/turn/completion-audit.js +56 -0
  118. package/dist/runtime/query/turn/completion-audit.js.map +1 -0
  119. package/dist/runtime/query/turn/stall-monitor.d.ts +78 -0
  120. package/dist/runtime/query/turn/stall-monitor.d.ts.map +1 -0
  121. package/dist/runtime/query/turn/stall-monitor.js +101 -0
  122. package/dist/runtime/query/turn/stall-monitor.js.map +1 -0
  123. package/dist/session/paths.d.ts +1 -2
  124. package/dist/session/paths.d.ts.map +1 -1
  125. package/dist/session/paths.js +1 -4
  126. package/dist/session/paths.js.map +1 -1
  127. package/dist/store/index.d.ts +2 -0
  128. package/dist/store/index.d.ts.map +1 -1
  129. package/dist/store/index.js +1 -0
  130. package/dist/store/index.js.map +1 -1
  131. package/dist/tools/builtins/bash.d.ts +2 -1
  132. package/dist/tools/builtins/bash.d.ts.map +1 -1
  133. package/dist/tools/builtins/bash.js +5 -2
  134. package/dist/tools/builtins/bash.js.map +1 -1
  135. package/dist/tools/builtins/content-fingerprint.d.ts +13 -0
  136. package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -1
  137. package/dist/tools/builtins/content-fingerprint.js +25 -0
  138. package/dist/tools/builtins/content-fingerprint.js.map +1 -1
  139. package/dist/tools/builtins/edit.d.ts.map +1 -1
  140. package/dist/tools/builtins/edit.js +7 -2
  141. package/dist/tools/builtins/edit.js.map +1 -1
  142. package/dist/tools/builtins/shell-read-credit.d.ts +15 -0
  143. package/dist/tools/builtins/shell-read-credit.d.ts.map +1 -0
  144. package/dist/tools/builtins/shell-read-credit.js +161 -0
  145. package/dist/tools/builtins/shell-read-credit.js.map +1 -0
  146. package/dist/tools/paths.d.ts +15 -2
  147. package/dist/tools/paths.d.ts.map +1 -1
  148. package/dist/tools/paths.js +17 -2
  149. package/dist/tools/paths.js.map +1 -1
  150. package/dist/turn/evidence-recall.d.ts +1 -1
  151. package/dist/turn/evidence-recall.d.ts.map +1 -1
  152. package/dist/turn/evidence-recall.js +5 -14
  153. package/dist/turn/evidence-recall.js.map +1 -1
  154. package/dist/turn/memory-recall.d.ts.map +1 -1
  155. package/dist/turn/memory-recall.js +18 -4
  156. package/dist/turn/memory-recall.js.map +1 -1
  157. package/dist/turn/reporter.d.ts.map +1 -1
  158. package/dist/turn/reporter.js +5 -0
  159. package/dist/turn/reporter.js.map +1 -1
  160. package/dist/types/acp/index.d.ts +6 -0
  161. package/dist/types/acp/index.d.ts.map +1 -1
  162. package/dist/types/agent/base.d.ts +4 -0
  163. package/dist/types/agent/base.d.ts.map +1 -1
  164. package/dist/types/hitl/index.d.ts +8 -0
  165. package/dist/types/hitl/index.d.ts.map +1 -1
  166. package/dist/types/hitl/index.js.map +1 -1
  167. package/dist/types/ids/index.d.ts +1 -1
  168. package/dist/types/message/index.d.ts +1 -1
  169. package/dist/types/message/index.d.ts.map +1 -1
  170. package/dist/types/message/index.js +1 -0
  171. package/dist/types/message/index.js.map +1 -1
  172. package/dist/types/provider/interface.d.ts +12 -0
  173. package/dist/types/provider/interface.d.ts.map +1 -1
  174. package/dist/types/session/config.d.ts +25 -0
  175. package/dist/types/session/config.d.ts.map +1 -1
  176. package/dist/types/session/events.d.ts +19 -0
  177. package/dist/types/session/events.d.ts.map +1 -1
  178. package/dist/types/session/events.js.map +1 -1
  179. package/dist/types/session/prepare-step.d.ts +16 -0
  180. package/dist/types/session/prepare-step.d.ts.map +1 -1
  181. package/dist/types/session/records.d.ts.map +1 -1
  182. package/dist/types/session/records.js +3 -0
  183. package/dist/types/session/records.js.map +1 -1
  184. package/dist/types/session/turn.d.ts +1 -1
  185. package/dist/types/session/turn.d.ts.map +1 -1
  186. package/dist/types/session/turn.js.map +1 -1
  187. package/package.json +1 -1
  188. package/src/agents/QueryAgent.ts +2 -0
  189. package/src/bridge/a2a/mapper.ts +2 -0
  190. package/src/bridge/acp/permission.ts +8 -0
  191. package/src/bridge/acp/server.ts +7 -1
  192. package/src/bridge/sse/mapper.ts +13 -0
  193. package/src/constants/tools/index.ts +27 -0
  194. package/src/contracts/session/api.ts +1 -0
  195. package/src/eval/harness-protection.ts +1 -1
  196. package/src/learning/cycle.ts +15 -16
  197. package/src/learning/guidance.ts +339 -0
  198. package/src/learning/skill.ts +7 -7
  199. package/src/learning/store.ts +5 -6
  200. package/src/peers/client.ts +2 -3
  201. package/src/peers/endpoint.ts +1 -2
  202. package/src/peers/protocol.ts +1 -0
  203. package/src/prompt/coding-agent-doctrine.ts +5 -3
  204. package/src/prompt/index.ts +0 -4
  205. package/src/provider/fallback.ts +7 -0
  206. package/src/provider/idle-timeout.ts +8 -0
  207. package/src/provider/model-window-suffix.ts +1 -0
  208. package/src/provider/retry.ts +8 -0
  209. package/src/provider/step-stopped.ts +27 -0
  210. package/src/provider/token-budget.ts +6 -1
  211. package/src/public-runtime.ts +7 -28
  212. package/src/public-tools.ts +0 -3
  213. package/src/public-types.ts +6 -137
  214. package/src/runtime/query/iteration/index.ts +218 -6
  215. package/src/runtime/query/iteration/phases/per-call-review.ts +7 -5
  216. package/src/runtime/query/iteration/phases/tool-review.ts +5 -3
  217. package/src/runtime/query/iteration/recorded-context.ts +2 -0
  218. package/src/runtime/query/iteration/stream-turn.ts +51 -1
  219. package/src/runtime/query/resume-pending.ts +11 -4
  220. package/src/runtime/query/review-policy.ts +157 -24
  221. package/src/runtime/query/turn/completion-audit.ts +71 -0
  222. package/src/runtime/query/turn/stall-monitor.ts +158 -0
  223. package/src/session/paths.ts +2 -6
  224. package/src/store/index.ts +2 -0
  225. package/src/tools/builtins/bash.ts +6 -2
  226. package/src/tools/builtins/content-fingerprint.ts +25 -0
  227. package/src/tools/builtins/edit.ts +11 -2
  228. package/src/tools/builtins/shell-read-credit.ts +159 -0
  229. package/src/tools/paths.ts +18 -2
  230. package/src/turn/evidence-recall.ts +7 -15
  231. package/src/turn/memory-recall.ts +26 -7
  232. package/src/turn/reporter.ts +5 -0
  233. package/src/types/acp/index.ts +6 -0
  234. package/src/types/agent/base.ts +4 -0
  235. package/src/types/hitl/index.ts +8 -0
  236. package/src/types/ids/index.ts +1 -1
  237. package/src/types/message/index.ts +1 -0
  238. package/src/types/provider/interface.ts +13 -0
  239. package/src/types/session/config.ts +27 -0
  240. package/src/types/session/events.ts +19 -0
  241. package/src/types/session/prepare-step.ts +17 -0
  242. package/src/types/session/records.ts +3 -0
  243. package/src/types/session/turn.ts +2 -1
  244. package/dist/learning/deprecated.d.ts +0 -86
  245. package/dist/learning/deprecated.d.ts.map +0 -1
  246. package/dist/learning/deprecated.js +0 -22
  247. package/dist/learning/deprecated.js.map +0 -1
  248. package/dist/manager/resident/activity.d.ts +0 -74
  249. package/dist/manager/resident/activity.d.ts.map +0 -1
  250. package/dist/manager/resident/activity.js +0 -125
  251. package/dist/manager/resident/activity.js.map +0 -1
  252. package/dist/manager/resident/agenda.d.ts +0 -167
  253. package/dist/manager/resident/agenda.d.ts.map +0 -1
  254. package/dist/manager/resident/agenda.js +0 -588
  255. package/dist/manager/resident/agenda.js.map +0 -1
  256. package/dist/manager/resident/consumption.d.ts +0 -98
  257. package/dist/manager/resident/consumption.d.ts.map +0 -1
  258. package/dist/manager/resident/consumption.js +0 -237
  259. package/dist/manager/resident/consumption.js.map +0 -1
  260. package/dist/manager/resident/delivery-window.d.ts +0 -28
  261. package/dist/manager/resident/delivery-window.d.ts.map +0 -1
  262. package/dist/manager/resident/delivery-window.js +0 -80
  263. package/dist/manager/resident/delivery-window.js.map +0 -1
  264. package/dist/manager/resident/evidence-recall.d.ts +0 -30
  265. package/dist/manager/resident/evidence-recall.d.ts.map +0 -1
  266. package/dist/manager/resident/evidence-recall.js +0 -297
  267. package/dist/manager/resident/evidence-recall.js.map +0 -1
  268. package/dist/manager/resident/history-disk.d.ts +0 -10
  269. package/dist/manager/resident/history-disk.d.ts.map +0 -1
  270. package/dist/manager/resident/history-disk.js +0 -50
  271. package/dist/manager/resident/history-disk.js.map +0 -1
  272. package/dist/manager/resident/history.d.ts +0 -115
  273. package/dist/manager/resident/history.d.ts.map +0 -1
  274. package/dist/manager/resident/history.js +0 -203
  275. package/dist/manager/resident/history.js.map +0 -1
  276. package/dist/manager/resident/host.d.ts +0 -112
  277. package/dist/manager/resident/host.d.ts.map +0 -1
  278. package/dist/manager/resident/host.js +0 -254
  279. package/dist/manager/resident/host.js.map +0 -1
  280. package/dist/manager/resident/initiative.d.ts +0 -86
  281. package/dist/manager/resident/initiative.d.ts.map +0 -1
  282. package/dist/manager/resident/initiative.js +0 -131
  283. package/dist/manager/resident/initiative.js.map +0 -1
  284. package/dist/manager/resident/loop.d.ts +0 -49
  285. package/dist/manager/resident/loop.d.ts.map +0 -1
  286. package/dist/manager/resident/loop.js +0 -75
  287. package/dist/manager/resident/loop.js.map +0 -1
  288. package/dist/manager/resident/outbox.d.ts +0 -124
  289. package/dist/manager/resident/outbox.d.ts.map +0 -1
  290. package/dist/manager/resident/outbox.js +0 -216
  291. package/dist/manager/resident/outbox.js.map +0 -1
  292. package/dist/manager/resident/proposal.d.ts +0 -65
  293. package/dist/manager/resident/proposal.d.ts.map +0 -1
  294. package/dist/manager/resident/proposal.js +0 -77
  295. package/dist/manager/resident/proposal.js.map +0 -1
  296. package/dist/manager/resident/store.d.ts +0 -108
  297. package/dist/manager/resident/store.d.ts.map +0 -1
  298. package/dist/manager/resident/store.js +0 -205
  299. package/dist/manager/resident/store.js.map +0 -1
  300. package/dist/manager/resident/tool-evidence.d.ts +0 -112
  301. package/dist/manager/resident/tool-evidence.d.ts.map +0 -1
  302. package/dist/manager/resident/tool-evidence.js +0 -289
  303. package/dist/manager/resident/tool-evidence.js.map +0 -1
  304. package/dist/prompt/resident-learning.d.ts +0 -29
  305. package/dist/prompt/resident-learning.d.ts.map +0 -1
  306. package/dist/prompt/resident-learning.js +0 -126
  307. package/dist/prompt/resident-learning.js.map +0 -1
  308. package/dist/prompt/resident-step.d.ts +0 -42
  309. package/dist/prompt/resident-step.d.ts.map +0 -1
  310. package/dist/prompt/resident-step.js +0 -137
  311. package/dist/prompt/resident-step.js.map +0 -1
  312. package/dist/tools/resident-history.d.ts +0 -12
  313. package/dist/tools/resident-history.d.ts.map +0 -1
  314. package/dist/tools/resident-history.js +0 -82
  315. package/dist/tools/resident-history.js.map +0 -1
  316. package/dist/tools/resident-tool-evidence.d.ts +0 -9
  317. package/dist/tools/resident-tool-evidence.d.ts.map +0 -1
  318. package/dist/tools/resident-tool-evidence.js +0 -61
  319. package/dist/tools/resident-tool-evidence.js.map +0 -1
  320. package/src/learning/deprecated.ts +0 -124
  321. package/src/manager/resident/activity.ts +0 -211
  322. package/src/manager/resident/agenda.ts +0 -937
  323. package/src/manager/resident/consumption.ts +0 -335
  324. package/src/manager/resident/delivery-window.ts +0 -99
  325. package/src/manager/resident/evidence-recall.ts +0 -369
  326. package/src/manager/resident/history-disk.ts +0 -63
  327. package/src/manager/resident/history.ts +0 -348
  328. package/src/manager/resident/host.ts +0 -390
  329. package/src/manager/resident/initiative.ts +0 -231
  330. package/src/manager/resident/loop.ts +0 -119
  331. package/src/manager/resident/outbox.ts +0 -341
  332. package/src/manager/resident/proposal.ts +0 -119
  333. package/src/manager/resident/store.ts +0 -279
  334. package/src/manager/resident/tool-evidence.ts +0 -455
  335. package/src/prompt/resident-learning.ts +0 -152
  336. package/src/prompt/resident-step.ts +0 -182
  337. package/src/tools/resident-history.ts +0 -88
  338. package/src/tools/resident-tool-evidence.ts +0 -72
@@ -1,588 +0,0 @@
1
- import { randomUUID } from 'node:crypto';
2
- import { join, resolve } from 'node:path';
3
- import { isDeepStrictEqual } from 'node:util';
4
- import { z } from 'zod';
5
- import { DiskRecordStore } from '../../store/kv/record-store.js';
6
- import { DiskRevisionRecordStore } from '../../store/kv/revision-record-store.js';
7
- import { defineSchema, migrate } from '../../store/schema.js';
8
- import { asTenantId } from '../../utils/id.js';
9
- import { ResidentConflictError, claimResidentState, residentDecisionSchema, residentKeySegment, residentStateSchema, settleResidentState, wakeResidentState, } from './store.js';
10
- import { freezeLearning, learningEvidenceSchema, learningSchema, promoteLearningSkill, restoreLearningSkill, reviseLearningProfile, } from '../../learning/skill.js';
11
- import { createResidentActivitySource } from './activity.js';
12
- import { readResidentHistoryRecord } from './history-disk.js';
13
- import { createResidentHistorySource } from './history.js';
14
- import { freezeResidentFeedback, observeResidentStep, residentFeedbackSchema, residentObservationSchema, } from './initiative.js';
15
- import { appendResidentMessage, claimResidentOutboxMessage, residentDeliveryOutcomeSchema, residentMessageInputSchema, residentOutboxMessageSchema, settleResidentOutboxMessage, } from './outbox.js';
16
- import { residentProposalLimitsSchema, residentProposalOriginSchema, residentProposalSchema, validateResidentProposal, } from './proposal.js';
17
- const agendaSchema = z
18
- .object({
19
- tenantId: z.string().uuid(),
20
- agentKey: z.string().min(1).max(200),
21
- identity: z.string().trim().min(1).max(8_000),
22
- revision: z.number().int().positive().safe(),
23
- paused: z.boolean(),
24
- pauseGeneration: z.number().int().nonnegative().safe().optional(),
25
- archiveHead: z.number().int().min(2).safe().optional(),
26
- learning: learningSchema.optional(),
27
- outbox: z.array(residentOutboxMessageSchema).max(128).optional(),
28
- pursuits: z
29
- .array(z.object({
30
- id: z.string().uuid(),
31
- state: residentStateSchema,
32
- feedback: residentFeedbackSchema.optional(),
33
- origin: residentProposalOriginSchema.optional(),
34
- retiredChildren: z.number().int().min(0).max(8).optional(),
35
- }))
36
- .max(32),
37
- })
38
- .superRefine((agenda, context) => {
39
- const origins = agenda.pursuits.flatMap((p) => (p.origin ? [p.origin] : []));
40
- const outbox = agenda.outbox ?? [];
41
- const invalid = (agenda.archiveHead !== undefined && agenda.archiveHead > agenda.revision) ||
42
- new Set(outbox.map((message) => message.id)).size !== outbox.length ||
43
- outbox.filter((message) => message.phase === 'sending').length > 1 ||
44
- outbox.some((message) => message.tenantId !== agenda.tenantId ||
45
- message.agentKey !== agenda.agentKey ||
46
- !agenda.pursuits.some((pursuit) => pursuit.id === message.pursuitId)) ||
47
- new Set(agenda.pursuits.map((p) => p.id)).size !== agenda.pursuits.length ||
48
- new Set(origins.map((origin) => origin.proposalId)).size !== origins.length ||
49
- agenda.pursuits.filter((p) => p.state.phase === 'running').length > 1 ||
50
- agenda.pursuits.some((p) => {
51
- if (!p.origin)
52
- return false;
53
- const parent = agenda.pursuits.find((candidate) => candidate.id === p.origin?.parentId);
54
- return (!parent ||
55
- parent.id === p.id ||
56
- p.origin.parentRevision > parent.state.revision ||
57
- p.origin.depth !== (parent.origin?.depth ?? 0) + 1);
58
- }) ||
59
- agenda.pursuits.some((p) => p.feedback?.observations.some((item, index, all) => item.step > p.state.stepsAdmitted ||
60
- (index > 0 && item.step <= (all[index - 1]?.step ?? 0)))) ||
61
- agenda.pursuits.some(({ id, state }) => state.pursuitId !== id ||
62
- state.tenantId !== agenda.tenantId ||
63
- state.agentKey !== agenda.agentKey ||
64
- state.identity !== agenda.identity);
65
- if (invalid)
66
- context.addIssue({
67
- code: z.ZodIssueCode.custom,
68
- message: 'Invalid agenda identity, pursuit ancestry, observation order, outbox or overlapping claims.',
69
- });
70
- });
71
- const agendaRecordSchema = defineSchema({
72
- kind: 'resident-agenda',
73
- current: 6,
74
- migrations: {
75
- 1: (record) => record,
76
- 2: (record) => record,
77
- 3: (record) => record,
78
- 4: (record) => record,
79
- 5: (record) => record,
80
- },
81
- });
82
- const archiveRequestSchema = z.object({
83
- pursuitIds: z.array(z.string().uuid()).max(32).default([]),
84
- messageIds: z.array(z.string().uuid()).max(128).default([]),
85
- });
86
- /**
87
- * @experimental One immutable revision contains identity, pause state and all
88
- * pursuits. Admission therefore serializes this agent even across processes
89
- * choosing different pursuits. Trusted local filesystems only; no lease expiry.
90
- *
91
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
92
- */
93
- export class DiskResidentAgenda {
94
- records = new DiskRevisionRecordStore(agendaRecordSchema, 'resident agenda', (record) => record.revision);
95
- historyRecords = new DiskRecordStore(agendaRecordSchema);
96
- location;
97
- tenantId;
98
- agentKey;
99
- historyRoot;
100
- historyRevisions;
101
- constructor(root, scope) {
102
- this.tenantId = asTenantId(scope.tenantId);
103
- this.agentKey = z.string().min(1).max(200).parse(scope.agentKey);
104
- const directory = join(root, this.tenantId, residentKeySegment(this.agentKey), 'agenda');
105
- this.location = {
106
- legacyPath: join(directory, 'state.json'),
107
- revisionsDir: join(directory, 'revisions'),
108
- publishLegacyProjection: false,
109
- };
110
- this.historyRoot = resolve(root);
111
- this.historyRevisions = resolve(this.location.revisionsDir);
112
- }
113
- checked(record) {
114
- const agenda = agendaSchema.parse(record);
115
- if (agenda.tenantId !== this.tenantId || agenda.agentKey !== this.agentKey)
116
- throw new Error('Agenda does not match the bound tenant and agent.');
117
- return Object.freeze({
118
- ...agenda,
119
- ...(agenda.learning ? { learning: freezeLearning(agenda.learning) } : {}),
120
- ...(agenda.outbox
121
- ? { outbox: Object.freeze(agenda.outbox.map((message) => Object.freeze(message))) }
122
- : {}),
123
- pursuits: Object.freeze(agenda.pursuits.map((p) => Object.freeze({
124
- ...p,
125
- state: Object.freeze(p.state),
126
- ...(p.feedback ? { feedback: freezeResidentFeedback(p.feedback) } : {}),
127
- ...(p.origin ? { origin: Object.freeze(p.origin) } : {}),
128
- }))),
129
- });
130
- }
131
- async read() {
132
- const record = await this.records.read(this.location);
133
- return record === null ? null : this.checked(record);
134
- }
135
- /** Read one authoritative immutable commit, never the compatibility projection. */
136
- async readRevision(revision) {
137
- z.number().int().positive().safe().parse(revision);
138
- const record = await this.historyRecords.read(join(this.location.revisionsDir, `${revision}.json`));
139
- if (record === null)
140
- return null;
141
- const state = this.checked(record);
142
- if (state.revision !== revision)
143
- throw new Error('Agenda revision filename and body disagree.');
144
- return state;
145
- }
146
- /**
147
- * Bind bounded historical reads to this pursuit and a host-selected upper
148
- * agenda revision (normally ResidentStepContext.agendaRevision). No I/O or
149
- * inference occurs until search/read; the boundary never advances itself.
150
- */
151
- history(pursuit, throughRevision) {
152
- const state = residentStateSchema.parse(pursuit);
153
- if (state.tenantId !== this.tenantId || state.agentKey !== this.agentKey || !state.pursuitId)
154
- throw new Error('History requires a pursuit belonging to this resident agenda.');
155
- z.number().int().positive().safe().parse(throughRevision);
156
- return createResidentHistorySource({
157
- tenantId: this.tenantId,
158
- agentKey: this.agentKey,
159
- pursuitId: state.pursuitId,
160
- throughRevision,
161
- }, state, async (revision, budget) => {
162
- const raw = await readResidentHistoryRecord(this.historyRoot, join(this.historyRevisions, `${revision}.json`), budget);
163
- return this.checked(migrate(agendaRecordSchema, raw));
164
- });
165
- }
166
- /** @experimental Bounded admission/settlement history, including archived pursuits. */
167
- activity(throughRevision) {
168
- return createResidentActivitySource({ tenantId: this.tenantId, agentKey: this.agentKey, throughRevision }, async (revision, budget) => {
169
- const raw = await readResidentHistoryRecord(this.historyRoot, join(this.historyRevisions, `${revision}.json`), budget);
170
- return this.checked(migrate(agendaRecordSchema, raw));
171
- });
172
- }
173
- retire(state, input) {
174
- const request = archiveRequestSchema.parse(input);
175
- const pursuits = new Set(request.pursuitIds);
176
- const messages = new Set(request.messageIds);
177
- if (pursuits.size + messages.size === 0 ||
178
- pursuits.size !== request.pursuitIds.length ||
179
- messages.size !== request.messageIds.length)
180
- throw new Error('Archive requires a nonempty set of unique entry IDs.');
181
- const removed = state.pursuits.filter((pursuit) => pursuits.has(pursuit.id));
182
- const removedMessages = (state.outbox ?? []).filter((message) => messages.has(message.id));
183
- if (removed.length !== pursuits.size || removedMessages.length !== messages.size)
184
- throw new Error('Unknown active entry in resident archive request.');
185
- if (removed.some((p) => p.state.phase !== 'complete' && p.state.phase !== 'blocked'))
186
- throw new Error('Only terminal pursuits can be archived.');
187
- if (removedMessages.some((m) => m.phase !== 'acknowledged' && m.phase !== 'cancelled'))
188
- throw new Error('Only terminal messages can be archived.');
189
- const remaining = state.pursuits.filter((pursuit) => !pursuits.has(pursuit.id));
190
- const remainingMessages = state.outbox?.filter((message) => !messages.has(message.id));
191
- if (remaining.some((p) => p.origin && pursuits.has(p.origin.parentId)))
192
- throw new Error('Archive must retain the parents of remaining pursuits.');
193
- if (remainingMessages?.some((message) => pursuits.has(message.pursuitId)))
194
- throw new Error('Archive must retain pursuits referenced by remaining messages.');
195
- return {
196
- ...state,
197
- archiveHead: state.revision + 1,
198
- pursuits: remaining.map((pursuit) => {
199
- const retired = removed.filter((child) => child.origin?.parentId === pursuit.id).length;
200
- return retired
201
- ? { ...pursuit, retiredChildren: (pursuit.retiredChildren ?? 0) + retired }
202
- : pursuit;
203
- }),
204
- ...(remainingMessages ? { outbox: remainingMessages } : {}),
205
- };
206
- }
207
- /** Free active slots while preserving full records in the immutable predecessor commit. */
208
- async archive(expected, input) {
209
- const request = archiveRequestSchema.parse(input);
210
- return this.change(expected, (state) => this.retire(state, request));
211
- }
212
- async archiveEntry(revision) {
213
- const after = await this.readRevision(revision);
214
- const before = await this.readRevision(revision - 1);
215
- if (!before ||
216
- !after ||
217
- after.archiveHead !== revision ||
218
- (before.archiveHead !== undefined && before.archiveHead >= revision))
219
- throw new Error('Resident archive history is missing or its chain is invalid.');
220
- const activePursuits = new Set(after.pursuits.map((p) => p.id));
221
- const activeMessages = new Set((after.outbox ?? []).map((m) => m.id));
222
- const pursuits = before.pursuits.filter((p) => !activePursuits.has(p.id));
223
- const messages = (before.outbox ?? []).filter((m) => !activeMessages.has(m.id));
224
- const derived = this.checked({
225
- ...this.retire(before, {
226
- pursuitIds: pursuits.map((p) => p.id),
227
- messageIds: messages.map((m) => m.id),
228
- }),
229
- revision,
230
- });
231
- if (!isDeepStrictEqual(derived, after))
232
- throw new Error('Resident archive commit does not match its immutable predecessor.');
233
- return {
234
- entry: Object.freeze({
235
- revision,
236
- pursuits: Object.freeze(pursuits),
237
- messages: Object.freeze(messages),
238
- }),
239
- previous: before.archiveHead ?? null,
240
- };
241
- }
242
- /** Bounded archive-event pages; exact-ID deduplication may inspect the complete chain. */
243
- async listArchived(options = {}) {
244
- const request = z
245
- .object({
246
- beforeRevision: z.number().int().min(2).safe().optional(),
247
- limit: z.number().int().min(1).max(32).default(8),
248
- })
249
- .parse(options);
250
- const state = await this.read();
251
- if (!state)
252
- throw new Error('Create the resident agenda first.');
253
- let revision = request.beforeRevision ?? state.archiveHead ?? null;
254
- if (revision !== null && (state.archiveHead === undefined || revision > state.archiveHead))
255
- throw new Error('Archive cursor is ahead of committed archive history.');
256
- const entries = [];
257
- while (revision !== null && entries.length < request.limit) {
258
- const archived = await this.archiveEntry(revision);
259
- entries.push(archived.entry);
260
- revision = archived.previous;
261
- }
262
- return Object.freeze({ entries: Object.freeze(entries), nextBeforeRevision: revision });
263
- }
264
- async archivedMatch(state, match) {
265
- let revision = state.archiveHead ?? null;
266
- while (revision !== null) {
267
- const archived = await this.archiveEntry(revision);
268
- const found = match(archived.entry);
269
- if (found !== undefined)
270
- return found;
271
- revision = archived.previous;
272
- }
273
- return undefined;
274
- }
275
- assertArchivedIntent(message, input, sourceClaimId) {
276
- if (message.pursuitId !== input.pursuitId ||
277
- message.destination !== input.destination ||
278
- message.body !== input.body ||
279
- message.notBefore !== input.notBefore ||
280
- message.sourceClaimId !== sourceClaimId)
281
- throw new Error('Outbox message ID already names a different immutable archived intent.');
282
- }
283
- async create(identity) {
284
- const record = this.checked({
285
- tenantId: this.tenantId,
286
- agentKey: this.agentKey,
287
- identity,
288
- revision: 1,
289
- paused: false,
290
- pursuits: [],
291
- });
292
- return this.records.transact(this.location, (current) => {
293
- if (current !== null)
294
- throw new ResidentConflictError();
295
- return { record, result: record };
296
- });
297
- }
298
- async change(expected, update) {
299
- const snapshot = this.checked(expected);
300
- return this.records.transact(this.location, (record) => {
301
- if (record === null)
302
- throw new ResidentConflictError();
303
- const current = this.checked(record);
304
- if (current.revision !== snapshot.revision)
305
- throw new ResidentConflictError();
306
- const next = this.checked({ ...update(current), revision: current.revision + 1 });
307
- return { record: next, result: next };
308
- });
309
- }
310
- pursuit(identity, objective) {
311
- const id = randomUUID();
312
- const pursuit = Object.freeze({
313
- id,
314
- state: Object.freeze(residentStateSchema.parse({
315
- tenantId: this.tenantId,
316
- agentKey: this.agentKey,
317
- pursuitId: id,
318
- identity,
319
- objective,
320
- revision: 1,
321
- stepsAdmitted: 0,
322
- phase: 'waiting',
323
- wakeAt: 0,
324
- reason: 'Initial pursuit',
325
- summary: null,
326
- claimId: null,
327
- })),
328
- });
329
- return pursuit;
330
- }
331
- async add(expected, objective) {
332
- const pursuit = this.pursuit(expected.identity, objective);
333
- await this.change(expected, (state) => ({ ...state, pursuits: [...state.pursuits, pursuit] }));
334
- return pursuit;
335
- }
336
- /** Host-approved proposal admission is atomic and inert until a future invocation. */
337
- async admitProposal(expected, input, limits) {
338
- const snapshot = this.checked(expected);
339
- const proposal = residentProposalSchema.parse(input);
340
- const policy = residentProposalLimitsSchema.parse(limits);
341
- const current = await this.read();
342
- if (!current || current.revision !== snapshot.revision)
343
- throw new ResidentConflictError();
344
- validateResidentProposal(current, proposal, policy);
345
- if (await this.archivedMatch(current, (entry) => entry.pursuits.find((p) => p.origin?.proposalId === proposal.id)))
346
- throw new Error('Resident proposal has already been admitted and archived.');
347
- let admitted;
348
- await this.change(snapshot, (state) => {
349
- const origin = validateResidentProposal(state, proposal, policy);
350
- admitted = Object.freeze({
351
- ...this.pursuit(state.identity, proposal.objective),
352
- origin: Object.freeze(origin),
353
- });
354
- return { ...state, pursuits: [...state.pursuits, admitted] };
355
- });
356
- if (!admitted)
357
- throw new Error('Resident proposal was not admitted.');
358
- return admitted;
359
- }
360
- async setPaused(expected, paused) {
361
- z.boolean().parse(paused);
362
- return this.change(expected, (state) => ({
363
- ...state,
364
- paused,
365
- ...(paused ? { pauseGeneration: (state.pauseGeneration ?? 0) + 1 } : {}),
366
- }));
367
- }
368
- async learn(expected, learning) {
369
- return this.change(expected, (state) => {
370
- if (state.pursuits.some((pursuit) => pursuit.state.phase === 'running'))
371
- throw new Error('Resident learning cannot change while a pursuit is running.');
372
- if (!isDeepStrictEqual(state.learning, expected.learning))
373
- throw new ResidentConflictError();
374
- return { ...state, learning };
375
- });
376
- }
377
- /** Append a host-evidenced correction only while pursuit admission is idle. */
378
- async updateProfile(expected, input) {
379
- const snapshot = this.checked(expected);
380
- const learning = reviseLearningProfile(snapshot.learning, input);
381
- return this.learn(snapshot, learning);
382
- }
383
- /** Bind evaluated guidance to the current learning version and an idle agenda. */
384
- async promoteSkill(expected, candidate, evaluation, evidence) {
385
- const snapshot = this.checked(expected);
386
- const learning = promoteLearningSkill(snapshot.learning, candidate, evaluation, evidence);
387
- return this.learn(snapshot, learning);
388
- }
389
- /** Restore one skill from an immutable agenda revision while retaining the current profile. */
390
- async rollbackSkill(expected, name, fromRevision, evidence) {
391
- const snapshot = this.checked(expected);
392
- const checkedEvidence = learningEvidenceSchema.parse(evidence);
393
- z.number().int().positive().safe().max(snapshot.revision).parse(fromRevision);
394
- z.string()
395
- .regex(/^[a-z0-9][a-z0-9_-]{0,63}$/)
396
- .parse(name);
397
- const historical = await this.readRevision(fromRevision);
398
- if (!historical)
399
- throw new Error('Resident skill rollback revision is missing.');
400
- const learning = restoreLearningSkill(snapshot.learning, historical.learning, name, checkedEvidence);
401
- return this.learn(snapshot, learning);
402
- }
403
- async updatePursuit(id, expected, update, admission = false, expectedAgendaRevision, observation, message) {
404
- const validate = (state) => {
405
- const pursuit = state.pursuits.find((p) => p.id === id);
406
- if (!pursuit)
407
- throw new Error('Unknown resident pursuit.');
408
- const current = pursuit.state;
409
- if (expected.pursuitId !== id ||
410
- expected.tenantId !== state.tenantId ||
411
- expected.agentKey !== state.agentKey ||
412
- current.revision !== expected.revision ||
413
- current.claimId !== expected.claimId)
414
- throw new ResidentConflictError();
415
- if (admission && (state.paused || state.pursuits.some((p) => p.state.phase === 'running')))
416
- throw new ResidentConflictError();
417
- return current;
418
- };
419
- // Retry persistence contention only. The caller's exact pursuit revision
420
- // and claim must survive every retry; a callback is never re-executed here.
421
- for (let attempt = 0; attempt < 8; attempt++) {
422
- const agenda = await this.read();
423
- if (agenda === null)
424
- throw new Error('Create the resident agenda first.');
425
- if (expectedAgendaRevision !== undefined && agenda.revision !== expectedAgendaRevision)
426
- throw new ResidentConflictError();
427
- const current = validate(agenda);
428
- const archived = message && !agenda.outbox?.some((item) => item.id === message.id)
429
- ? await this.archivedMatch(agenda, (entry) => entry.messages.find((item) => item.id === message.id))
430
- : undefined;
431
- if (message && archived)
432
- this.assertArchivedIntent(archived, message, current.claimId);
433
- try {
434
- const next = await this.change(agenda, (state) => {
435
- const current = validate(state);
436
- const updated = residentStateSchema.parse({
437
- ...update(current),
438
- revision: current.revision + 1,
439
- });
440
- return {
441
- ...state,
442
- ...(message && !archived
443
- ? { outbox: appendResidentMessage(state, message, current.claimId) }
444
- : {}),
445
- pursuits: state.pursuits.map((p) => p.id === id
446
- ? {
447
- ...p,
448
- state: updated,
449
- ...(observation
450
- ? {
451
- feedback: observeResidentStep(p.feedback, observation, current.stepsAdmitted),
452
- }
453
- : {}),
454
- }
455
- : p),
456
- };
457
- });
458
- const result = next.pursuits.find((p) => p.id === id);
459
- if (!result)
460
- throw new Error('Committed pursuit is missing.');
461
- return result.state;
462
- }
463
- catch (error) {
464
- if (!(error instanceof ResidentConflictError) || attempt === 7)
465
- throw error;
466
- }
467
- }
468
- throw new ResidentConflictError();
469
- }
470
- async wake(id, expected, reason, now) {
471
- return this.updatePursuit(id, expected, (state) => wakeResidentState(state, reason, now));
472
- }
473
- async settleObserved(id, expected, decision, observation, now) {
474
- const checked = residentObservationSchema.parse(observation);
475
- return this.updatePursuit(id, expected, (state) => settleResidentState(state, decision, now), false, undefined, checked);
476
- }
477
- /** Commit the step, observation and message intent together; delivery is separate. */
478
- async settleWithMessage(id, expected, decision, message, now, observation) {
479
- const input = residentMessageInputSchema.parse(message);
480
- const disposition = residentDecisionSchema.parse(decision);
481
- if (input.pursuitId !== id)
482
- throw new Error('Message must belong to the settling pursuit.');
483
- const current = residentStateSchema.parse(expected);
484
- const checked = observation === undefined ? undefined : residentObservationSchema.parse(observation);
485
- return this.updatePursuit(id, current, (state) => settleResidentState(state, disposition, now), false, undefined, checked, input);
486
- }
487
- /** Enqueue host-authorized intent without invoking a transport or changing pursuit state. */
488
- async enqueueMessage(expected, input) {
489
- const snapshot = this.checked(expected);
490
- const message = residentMessageInputSchema.parse(input);
491
- const current = await this.read();
492
- if (!current || current.revision !== snapshot.revision)
493
- throw new ResidentConflictError();
494
- const archived = current.outbox?.some((item) => item.id === message.id)
495
- ? undefined
496
- : await this.archivedMatch(current, (entry) => entry.messages.find((item) => item.id === message.id));
497
- if (archived)
498
- this.assertArchivedIntent(archived, message, null);
499
- const next = await this.change(snapshot, (state) => ({
500
- ...state,
501
- ...(!archived ? { outbox: appendResidentMessage(state, message) } : {}),
502
- }));
503
- const saved = archived ?? next.outbox?.find((candidate) => candidate.id === message.id);
504
- if (!saved)
505
- throw new Error('Committed resident message is missing.');
506
- return saved;
507
- }
508
- /** Admit one delivery against the same agenda snapshot used by the host's gate. */
509
- async claimMessage(expected, id, now) {
510
- z.string().uuid().parse(id);
511
- const next = await this.change(expected, (state) => {
512
- const outbox = state.outbox ?? [];
513
- if (state.paused || outbox.some((message) => message.phase === 'sending'))
514
- throw new ResidentConflictError();
515
- const message = outbox.find((candidate) => candidate.id === id);
516
- if (!message)
517
- throw new Error('Unknown resident message.');
518
- const admitted = claimResidentOutboxMessage(message, now);
519
- return {
520
- ...state,
521
- outbox: outbox.map((candidate) => (candidate.id === id ? admitted : candidate)),
522
- };
523
- });
524
- const claim = next.outbox?.find((message) => message.id === id);
525
- if (!claim)
526
- throw new Error('Claimed resident message is missing.');
527
- return claim;
528
- }
529
- /** Settle the exact delivery claim; unrelated agenda writes never repeat the transport. */
530
- async settleMessage(expected, outcome, now) {
531
- const claim = residentOutboxMessageSchema.parse(expected);
532
- const checked = residentDeliveryOutcomeSchema.parse(outcome);
533
- if (claim.tenantId !== this.tenantId || claim.agentKey !== this.agentKey)
534
- throw new ResidentConflictError();
535
- const validate = (state) => {
536
- const message = state.outbox?.find((candidate) => candidate.id === claim.id);
537
- if (!message || message.revision !== claim.revision || message.claimId !== claim.claimId)
538
- throw new ResidentConflictError();
539
- return message;
540
- };
541
- for (let attempt = 0; attempt < 8; attempt++) {
542
- const agenda = await this.read();
543
- if (agenda === null)
544
- throw new Error('Create the resident agenda first.');
545
- validate(agenda);
546
- try {
547
- const next = await this.change(agenda, (state) => {
548
- const current = validate(state);
549
- const settled = settleResidentOutboxMessage(current, checked, now);
550
- return {
551
- ...state,
552
- outbox: (state.outbox ?? []).map((message) => message.id === claim.id ? settled : message),
553
- };
554
- });
555
- const settled = next.outbox?.find((message) => message.id === claim.id);
556
- if (!settled)
557
- throw new Error('Settled resident message is missing.');
558
- return settled;
559
- }
560
- catch (error) {
561
- if (!(error instanceof ResidentConflictError) || attempt === 7)
562
- throw error;
563
- }
564
- }
565
- throw new ResidentConflictError();
566
- }
567
- executionAt(id, expected) {
568
- const state = this.checked(expected);
569
- const pursuit = state.pursuits.find((p) => p.id === id);
570
- if (!pursuit)
571
- throw new Error('Unknown resident pursuit.');
572
- const execution = this.execution(id);
573
- return {
574
- read: async () => pursuit.state,
575
- settle: (...args) => execution.settle(...args),
576
- claim: (current, now) => this.updatePursuit(id, current, (saved) => claimResidentState(saved, now), true, state.revision),
577
- };
578
- }
579
- execution(id) {
580
- z.string().uuid().parse(id);
581
- return {
582
- read: async () => (await this.read())?.pursuits.find((p) => p.id === id)?.state ?? null,
583
- claim: (expected, now) => this.updatePursuit(id, expected, (state) => claimResidentState(state, now), true),
584
- settle: (expected, decision, now) => this.updatePursuit(id, expected, (state) => settleResidentState(state, decision, now)),
585
- };
586
- }
587
- }
588
- //# sourceMappingURL=agenda.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agenda.js","sourceRoot":"","sources":["../../../src/manager/resident/agenda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EACN,qBAAqB,EAIrB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAMN,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAA+B,4BAA4B,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAA8B,2BAA2B,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAGN,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,GACzB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAIN,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,EAIN,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,GACxB,MAAM,eAAe,CAAA;AAEtB,MAAM,YAAY,GAAG,CAAC;KACpB,MAAM,CAAC;IACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACjE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACtD,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAChE,QAAQ,EAAE,CAAC;SACT,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;QACR,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;QACrB,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE;QAC3C,MAAM,EAAE,4BAA4B,CAAC,QAAQ,EAAE;QAC/C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC1D,CAAC,CACF;SACA,GAAG,CAAC,EAAE,CAAC;CACT,CAAC;KACD,WAAW,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;IAClC,MAAM,OAAO,GACZ,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1E,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM;QACnE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;QAClE,MAAM,CAAC,IAAI,CACV,CAAC,OAAO,EAAE,EAAE,CACX,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;YACpC,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;YACpC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CACrE;QACD,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM;QACzE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QAC3E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACvF,OAAO,CACN,CAAC,MAAM;gBACP,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;gBAClB,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ;gBAC/C,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAClD,CAAA;QACF,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAC5B,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CACpB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa;YACjC,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CACxD,CACD;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CACnB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACjB,KAAK,CAAC,SAAS,KAAK,EAAE;YACtB,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;YAClC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;YAClC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CACnC,CAAA;IACF,IAAI,OAAO;QACV,OAAO,CAAC,QAAQ,CAAC;YAChB,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EACN,6FAA6F;SAC9F,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AA6EH,MAAM,kBAAkB,GAAG,YAAY,CAAC;IACvC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,CAAC;IACV,UAAU,EAAE;QACX,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QACrB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QACrB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QACrB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QACrB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;KACrB;CACD,CAAC,CAAA;AAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3D,CAAC,CAAA;AAiDF;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IACb,OAAO,GAAG,IAAI,uBAAuB,CACrD,kBAAkB,EAClB,iBAAiB,EACjB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAC3B,CAAA;IACgB,cAAc,GAAG,IAAI,eAAe,CAAsB,kBAAkB,CAAC,CAAA;IAC7E,QAAQ,CAAA;IACR,QAAQ,CAAU;IAClB,QAAQ,CAAQ;IAChB,WAAW,CAAQ;IACnB,gBAAgB,CAAQ;IAEzC,YAAY,IAAY,EAAE,KAA+C;QACxE,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;QACxF,IAAI,CAAC,QAAQ,GAAG;YACf,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;YACzC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;YAC1C,uBAAuB,EAAE,KAAK;SAC9B,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAC5D,CAAC;IAEO,OAAO,CAAC,MAA2B;QAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YACzE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACrE,OAAO,MAAM,CAAC,MAAM,CAAC;YACpB,GAAG,MAAM;YACT,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,MAAM,CAAC,MAAM;gBAChB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACnF,CAAC,CAAC,EAAE,CAAC;YACN,QAAQ,EAAE,MAAM,CAAC,MAAM,CACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,MAAM,CAAC,MAAM,CAAC;gBACb,GAAG,CAAC;gBACJ,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7B,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC,CACF,CACD;SACD,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACT,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,YAAY,CAAC,QAAgB;QAClC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,QAAQ,OAAO,CAAC,CACpD,CAAA;QACD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAC/F,OAAO,KAAK,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAsB,EAAE,eAAuB;QACtD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAChD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,SAAS;YAC3F,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QACjF,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,OAAO,2BAA2B,CACjC;YACC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,eAAe;SACf,EACD,KAAK,EACL,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YAC1B,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAC1C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,QAAQ,OAAO,CAAC,EAC/C,MAAM,CACN,CAAA;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAsB,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3E,CAAC,CACD,CAAA;IACF,CAAC;IAED,uFAAuF;IACvF,QAAQ,CAAC,eAAuB;QAC/B,OAAO,4BAA4B,CAClC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,EACrE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YAC1B,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAC1C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,QAAQ,OAAO,CAAC,EAC/C,MAAM,CACN,CAAA;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAsB,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3E,CAAC,CACD,CAAA;IACF,CAAC;IAEO,MAAM,CAAC,KAA0B,EAAE,KAA6B;QACvE,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC5C,IACC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC;YACnC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM;YAC3C,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM;YAE3C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACxE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5E,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1F,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,IAAI,eAAe,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI;YAC/E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACrE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC3D,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,cAAc,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/E,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QACtF,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAC1E,IAAI,iBAAiB,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QAClF,OAAO;YACN,GAAG,KAAK;YACR,WAAW,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC;YAC/B,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAA;gBACvF,OAAO,OAAO;oBACb,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE;oBAC3E,CAAC,CAAC,OAAO,CAAA;YACX,CAAC,CAAC;YACF,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAA;IACF,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,OAAO,CACZ,QAA6B,EAC7B,KAA6B;QAE7B,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAgB;QAI1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;QACpD,IACC,CAAC,MAAM;YACP,CAAC,KAAK;YACN,KAAK,CAAC,WAAW,KAAK,QAAQ;YAC9B,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC;YAEpE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QAChF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACzE,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACtB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC,CAAC;YACF,QAAQ;SACR,CAAC,CAAA;QACF,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;QACrF,OAAO;YACN,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;gBACpB,QAAQ;gBACR,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;aACjC,CAAC;YACF,QAAQ,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;SACpC,CAAA;IACF,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,YAAY,CAAC,UAAsC,EAAE;QAC1D,MAAM,OAAO,GAAG,CAAC;aACf,MAAM,CAAC;YACP,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;YACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjD,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAA;QAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC/B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAChE,IAAI,QAAQ,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,CAAA;QAClE,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;QACzE,MAAM,OAAO,GAA2B,EAAE,CAAA;QAC1C,OAAO,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC5B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAA;IACxF,CAAC;IAEO,KAAK,CAAC,aAAa,CAC1B,KAA0B,EAC1B,KAAqD;QAErD,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAA;QACxC,OAAO,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAA;YACrC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;QAC7B,CAAC;QACD,OAAO,SAAS,CAAA;IACjB,CAAC;IAEO,oBAAoB,CAC3B,OAA8B,EAC9B,KAA2B,EAC3B,aAA4B;QAE5B,IACC,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YACrC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;YACzC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YAC3B,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YACrC,OAAO,CAAC,aAAa,KAAK,aAAa;YAEvC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ;YACR,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,OAAO,KAAK,IAAI;gBAAE,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAClC,CAAC,CAAC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CACnB,QAA6B,EAC7B,MAA2D;QAE3D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACtD,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;gBAAE,MAAM,IAAI,qBAAqB,EAAE,CAAA;YAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAA;YACjF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACtC,CAAC,CAAC,CAAA;IACH,CAAC;IAEO,OAAO,CAAC,QAAgB,EAAE,SAAiB;QAClD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,EAAE;YACF,KAAK,EAAE,MAAM,CAAC,MAAM,CACnB,mBAAmB,CAAC,KAAK,CAAC;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,EAAE;gBACb,QAAQ;gBACR,SAAS;gBACT,QAAQ,EAAE,CAAC;gBACX,aAAa,EAAE,CAAC;gBAChB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;aACb,CAAC,CACF;SACD,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,QAA6B,EAAE,SAAiB;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9F,OAAO,OAAO,CAAA;IACf,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,aAAa,CAClB,QAA6B,EAC7B,KAAuB,EACvB,MAA8B;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YAAE,MAAM,IAAI,qBAAqB,EAAE,CAAA;QACzF,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QACnD,IACC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAC3C,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,QAAQ,CAAC,EAAE,CAAC,CAChE;YAED,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAC7E,IAAI,QAAqC,CAAA;QACzC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAChE,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;gBACxB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC;gBACnD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;aAC7B,CAAC,CAAA;YACF,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAA;QAC7D,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACrE,OAAO,QAAQ,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAA6B,EAAE,MAAe;QAC7D,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,KAAK;YACR,MAAM;YACN,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,KAAK,CAClB,QAA6B,EAC7B,QAAuB;QAEvB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;YAC/E,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,qBAAqB,EAAE,CAAA;YAC5F,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;IACH,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,aAAa,CAClB,QAA6B,EAC7B,KAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,YAAY,CACjB,QAA6B,EAC7B,SAAiC,EACjC,UAAmC,EACnC,QAA0B;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;QACzF,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,aAAa,CAClB,QAA6B,EAC7B,IAAY,EACZ,YAAoB,EACpB,QAA0B;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC9D,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC7E,CAAC,CAAC,MAAM,EAAE;aACR,KAAK,CAAC,4BAA4B,CAAC;aACnC,KAAK,CAAC,IAAI,CAAC,CAAA;QACb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAChF,MAAM,QAAQ,GAAG,oBAAoB,CACpC,QAAQ,CAAC,QAAQ,EACjB,UAAU,CAAC,QAAQ,EACnB,IAAI,EACJ,eAAe,CACf,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,CAAC;IAEO,KAAK,CAAC,aAAa,CAC1B,EAAU,EACV,QAAuB,EACvB,MAA+C,EAC/C,SAAS,GAAG,KAAK,EACjB,sBAA+B,EAC/B,WAAiC,EACjC,OAA8B;QAE9B,MAAM,QAAQ,GAAG,CAAC,KAA0B,EAAiB,EAAE;YAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;YAC7B,IACC,QAAQ,CAAC,SAAS,KAAK,EAAE;gBACzB,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBACpC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBACpC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;gBACtC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;gBAEpC,MAAM,IAAI,qBAAqB,EAAE,CAAA;YAClC,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;gBACzF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YAClC,OAAO,OAAO,CAAA;QACf,CAAC,CAAA;QACD,yEAAyE;QACzE,4EAA4E;QAC5E,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YAChC,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACzE,IAAI,sBAAsB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,sBAAsB;gBACrF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChC,MAAM,QAAQ,GACb,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;gBAChE,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAC3C,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CACrD;gBACF,CAAC,CAAC,SAAS,CAAA;YACb,IAAI,OAAO,IAAI,QAAQ;gBAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;YACtF,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;oBAC/B,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC;wBACzC,GAAG,MAAM,CAAC,OAAO,CAAC;wBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC;qBAC9B,CAAC,CAAA;oBACF,OAAO;wBACN,GAAG,KAAK;wBACR,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ;4BACvB,CAAC,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;4BACpE,CAAC,CAAC,EAAE,CAAC;wBACN,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,CAAC,CAAC,EAAE,KAAK,EAAE;4BACV,CAAC,CAAC;gCACA,GAAG,CAAC;gCACJ,KAAK,EAAE,OAAO;gCACd,GAAG,CAAC,WAAW;oCACd,CAAC,CAAC;wCACA,QAAQ,EAAE,mBAAmB,CAC5B,CAAC,CAAC,QAAQ,EACV,WAAW,EACX,OAAO,CAAC,aAAa,CACrB;qCACD;oCACF,CAAC,CAAC,EAAE,CAAC;6BACN;4BACF,CAAC,CAAC,CAAC,CACJ;qBACD,CAAA;gBACF,CAAC,CAAC,CAAA;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;gBACrD,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;gBAC7D,OAAO,MAAM,CAAC,KAAK,CAAA;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,KAAK,YAAY,qBAAqB,CAAC,IAAI,OAAO,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAA;YAC5E,CAAC;QACF,CAAC;QACD,MAAM,IAAI,qBAAqB,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CACT,EAAU,EACV,QAAuB,EACvB,MAAc,EACd,GAAW;QAEX,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC1F,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,EAAU,EACV,QAAuB,EACvB,QAA0B,EAC1B,WAAgC,EAChC,GAAW;QAEX,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,aAAa,CACxB,EAAE,EACF,QAAQ,EACR,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,EACpD,KAAK,EACL,SAAS,EACT,OAAO,CACP,CAAA;IACF,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,iBAAiB,CACtB,EAAU,EACV,QAAuB,EACvB,QAA0B,EAC1B,OAA6B,EAC7B,GAAW,EACX,WAAiC;QAEjC,MAAM,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACvD,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1D,IAAI,KAAK,CAAC,SAAS,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC3F,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACnD,MAAM,OAAO,GACZ,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACrF,OAAO,IAAI,CAAC,aAAa,CACxB,EAAE,EACF,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,EACvD,KAAK,EACL,SAAS,EACT,OAAO,EACP,KAAK,CACL,CAAA;IACF,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,cAAc,CACnB,QAA6B,EAC7B,KAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YAAE,MAAM,IAAI,qBAAqB,EAAE,CAAA;QACzF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;YACtE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAC5C,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CACrD,CAAA;QACH,IAAI,QAAQ;YAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpD,GAAG,KAAK;YACR,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC,CAAC,CAAA;QACH,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAA;QACvF,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QACrE,OAAO,KAAK,CAAA;IACb,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,YAAY,CACjB,QAA6B,EAC7B,EAAU,EACV,GAAW;QAEX,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;YACjC,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;gBACxE,MAAM,IAAI,qBAAqB,EAAE,CAAA;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YAC/D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAC1D,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACzD,OAAO;gBACN,GAAG,KAAK;gBACR,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aAC/E,CAAA;QACF,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACnE,OAAO,KAAK,CAAA;IACb,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,aAAa,CAClB,QAA+B,EAC/B,OAAgC,EAChC,GAAW;QAEX,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5D,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YACvE,MAAM,IAAI,qBAAqB,EAAE,CAAA;QAClC,MAAM,QAAQ,GAAG,CAAC,KAA0B,EAAyB,EAAE;YACtE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAA;YAC5E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBACvF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YAClC,OAAO,OAAO,CAAA;QACf,CAAC,CAAA;QACD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YAChC,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACzE,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChB,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;oBAC/B,MAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;oBAClE,OAAO;wBACN,GAAG,KAAK;wBACR,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5C,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAC3C;qBACD,CAAA;gBACF,CAAC,CAAC,CAAA;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAA;gBACvE,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;gBACrE,OAAO,OAAO,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,KAAK,YAAY,qBAAqB,CAAC,IAAI,OAAO,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAA;YAC5E,CAAC;QACF,CAAC;QACD,MAAM,IAAI,qBAAqB,EAAE,CAAA;IAClC,CAAC;IAED,WAAW,CAAC,EAAU,EAAE,QAA6B;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACvD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACpC,OAAO;YACN,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK;YAC/B,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC9C,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CACvB,IAAI,CAAC,aAAa,CACjB,EAAE,EACF,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,EACzC,IAAI,EACJ,KAAK,CAAC,QAAQ,CACd;SACF,CAAA;IACF,CAAC;IAED,SAAS,CAAC,EAAU;QACnB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC3B,OAAO;YACN,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI;YACvF,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CACxB,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC;YAClF,MAAM,EAAE,CAAC,QAAQ,EAAE,QAA0B,EAAE,GAAG,EAAE,EAAE,CACrD,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;SACvF,CAAA;IACF,CAAC;CACD"}