@waymakeros/cli 2.0.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 (390) hide show
  1. package/README.md +158 -0
  2. package/dist/cli/cli.d.ts +7 -0
  3. package/dist/cli/cli.d.ts.map +1 -0
  4. package/dist/cli/cli.js +703 -0
  5. package/dist/cli/cli.js.map +1 -0
  6. package/dist/cli/commands/auth.d.ts +14 -0
  7. package/dist/cli/commands/auth.d.ts.map +1 -0
  8. package/dist/cli/commands/auth.js +507 -0
  9. package/dist/cli/commands/auth.js.map +1 -0
  10. package/dist/cli/commands/init.d.ts +13 -0
  11. package/dist/cli/commands/init.d.ts.map +1 -0
  12. package/dist/cli/commands/init.js +297 -0
  13. package/dist/cli/commands/init.js.map +1 -0
  14. package/dist/cli/commands/kanban.d.ts +12 -0
  15. package/dist/cli/commands/kanban.d.ts.map +1 -0
  16. package/dist/cli/commands/kanban.js +71 -0
  17. package/dist/cli/commands/kanban.js.map +1 -0
  18. package/dist/cli/commands/serve.d.ts +12 -0
  19. package/dist/cli/commands/serve.d.ts.map +1 -0
  20. package/dist/cli/commands/serve.js +170 -0
  21. package/dist/cli/commands/serve.js.map +1 -0
  22. package/dist/cli/commands/sync.d.ts +12 -0
  23. package/dist/cli/commands/sync.d.ts.map +1 -0
  24. package/dist/cli/commands/sync.js +222 -0
  25. package/dist/cli/commands/sync.js.map +1 -0
  26. package/dist/cli/daemon.d.ts +106 -0
  27. package/dist/cli/daemon.d.ts.map +1 -0
  28. package/dist/cli/daemon.js +393 -0
  29. package/dist/cli/daemon.js.map +1 -0
  30. package/dist/cli/index.d.ts +13 -0
  31. package/dist/cli/index.d.ts.map +1 -0
  32. package/dist/cli/index.js +90 -0
  33. package/dist/cli/index.js.map +1 -0
  34. package/dist/index.d.ts +10 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +238 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/simple-server.d.ts +7 -0
  39. package/dist/simple-server.d.ts.map +1 -0
  40. package/dist/simple-server.js +157 -0
  41. package/dist/simple-server.js.map +1 -0
  42. package/dist/sync/commander-client.d.ts +161 -0
  43. package/dist/sync/commander-client.d.ts.map +1 -0
  44. package/dist/sync/commander-client.js +405 -0
  45. package/dist/sync/commander-client.js.map +1 -0
  46. package/dist/sync/config-manager.d.ts +48 -0
  47. package/dist/sync/config-manager.d.ts.map +1 -0
  48. package/dist/sync/config-manager.js +169 -0
  49. package/dist/sync/config-manager.js.map +1 -0
  50. package/dist/sync/file-watcher.d.ts +53 -0
  51. package/dist/sync/file-watcher.d.ts.map +1 -0
  52. package/dist/sync/file-watcher.js +228 -0
  53. package/dist/sync/file-watcher.js.map +1 -0
  54. package/dist/sync/folder-service.d.ts +110 -0
  55. package/dist/sync/folder-service.d.ts.map +1 -0
  56. package/dist/sync/folder-service.js +298 -0
  57. package/dist/sync/folder-service.js.map +1 -0
  58. package/dist/sync/folder-status-mapper.d.ts +106 -0
  59. package/dist/sync/folder-status-mapper.d.ts.map +1 -0
  60. package/dist/sync/folder-status-mapper.js +235 -0
  61. package/dist/sync/folder-status-mapper.js.map +1 -0
  62. package/dist/sync/layer-resolver.d.ts +54 -0
  63. package/dist/sync/layer-resolver.d.ts.map +1 -0
  64. package/dist/sync/layer-resolver.js +206 -0
  65. package/dist/sync/layer-resolver.js.map +1 -0
  66. package/dist/sync/markdown-parser.d.ts +49 -0
  67. package/dist/sync/markdown-parser.d.ts.map +1 -0
  68. package/dist/sync/markdown-parser.js +202 -0
  69. package/dist/sync/markdown-parser.js.map +1 -0
  70. package/dist/sync/reverse-sync.d.ts +139 -0
  71. package/dist/sync/reverse-sync.d.ts.map +1 -0
  72. package/dist/sync/reverse-sync.js +773 -0
  73. package/dist/sync/reverse-sync.js.map +1 -0
  74. package/dist/sync/sync-engine.d.ts +157 -0
  75. package/dist/sync/sync-engine.d.ts.map +1 -0
  76. package/dist/sync/sync-engine.js +875 -0
  77. package/dist/sync/sync-engine.js.map +1 -0
  78. package/dist/sync/sync-index.d.ts +150 -0
  79. package/dist/sync/sync-index.d.ts.map +1 -0
  80. package/dist/sync/sync-index.js +287 -0
  81. package/dist/sync/sync-index.js.map +1 -0
  82. package/dist/sync/trinity-mapper.d.ts +62 -0
  83. package/dist/sync/trinity-mapper.d.ts.map +1 -0
  84. package/dist/sync/trinity-mapper.js +548 -0
  85. package/dist/sync/trinity-mapper.js.map +1 -0
  86. package/dist/sync/types.d.ts +176 -0
  87. package/dist/sync/types.d.ts.map +1 -0
  88. package/dist/sync/types.js +6 -0
  89. package/dist/sync/types.js.map +1 -0
  90. package/dist/tools/apply-framework.d.ts +7 -0
  91. package/dist/tools/apply-framework.d.ts.map +1 -0
  92. package/dist/tools/apply-framework.js +30 -0
  93. package/dist/tools/apply-framework.js.map +1 -0
  94. package/dist/tools/commander-comment-create.d.ts +7 -0
  95. package/dist/tools/commander-comment-create.d.ts.map +1 -0
  96. package/dist/tools/commander-comment-create.js +100 -0
  97. package/dist/tools/commander-comment-create.js.map +1 -0
  98. package/dist/tools/commander-comment-list.d.ts +7 -0
  99. package/dist/tools/commander-comment-list.d.ts.map +1 -0
  100. package/dist/tools/commander-comment-list.js +110 -0
  101. package/dist/tools/commander-comment-list.js.map +1 -0
  102. package/dist/tools/commander-document-create.d.ts +7 -0
  103. package/dist/tools/commander-document-create.d.ts.map +1 -0
  104. package/dist/tools/commander-document-create.js +168 -0
  105. package/dist/tools/commander-document-create.js.map +1 -0
  106. package/dist/tools/commander-document-get.d.ts +7 -0
  107. package/dist/tools/commander-document-get.d.ts.map +1 -0
  108. package/dist/tools/commander-document-get.js +104 -0
  109. package/dist/tools/commander-document-get.js.map +1 -0
  110. package/dist/tools/commander-document-list.d.ts +7 -0
  111. package/dist/tools/commander-document-list.d.ts.map +1 -0
  112. package/dist/tools/commander-document-list.js +117 -0
  113. package/dist/tools/commander-document-list.js.map +1 -0
  114. package/dist/tools/commander-document-update.d.ts +7 -0
  115. package/dist/tools/commander-document-update.d.ts.map +1 -0
  116. package/dist/tools/commander-document-update.js +133 -0
  117. package/dist/tools/commander-document-update.js.map +1 -0
  118. package/dist/tools/commander-folder-create.d.ts +7 -0
  119. package/dist/tools/commander-folder-create.d.ts.map +1 -0
  120. package/dist/tools/commander-folder-create.js +157 -0
  121. package/dist/tools/commander-folder-create.js.map +1 -0
  122. package/dist/tools/commander-folder-delete.d.ts +7 -0
  123. package/dist/tools/commander-folder-delete.d.ts.map +1 -0
  124. package/dist/tools/commander-folder-delete.js +85 -0
  125. package/dist/tools/commander-folder-delete.js.map +1 -0
  126. package/dist/tools/commander-folder-get.d.ts +7 -0
  127. package/dist/tools/commander-folder-get.d.ts.map +1 -0
  128. package/dist/tools/commander-folder-get.js +94 -0
  129. package/dist/tools/commander-folder-get.js.map +1 -0
  130. package/dist/tools/commander-folder-list.d.ts +7 -0
  131. package/dist/tools/commander-folder-list.d.ts.map +1 -0
  132. package/dist/tools/commander-folder-list.js +96 -0
  133. package/dist/tools/commander-folder-list.js.map +1 -0
  134. package/dist/tools/commander-folder-update.d.ts +7 -0
  135. package/dist/tools/commander-folder-update.d.ts.map +1 -0
  136. package/dist/tools/commander-folder-update.js +120 -0
  137. package/dist/tools/commander-folder-update.js.map +1 -0
  138. package/dist/tools/commander-framework-apply.d.ts +7 -0
  139. package/dist/tools/commander-framework-apply.d.ts.map +1 -0
  140. package/dist/tools/commander-framework-apply.js +110 -0
  141. package/dist/tools/commander-framework-apply.js.map +1 -0
  142. package/dist/tools/commander-framework-categories.d.ts +7 -0
  143. package/dist/tools/commander-framework-categories.d.ts.map +1 -0
  144. package/dist/tools/commander-framework-categories.js +90 -0
  145. package/dist/tools/commander-framework-categories.js.map +1 -0
  146. package/dist/tools/commander-framework-get.d.ts +7 -0
  147. package/dist/tools/commander-framework-get.d.ts.map +1 -0
  148. package/dist/tools/commander-framework-get.js +124 -0
  149. package/dist/tools/commander-framework-get.js.map +1 -0
  150. package/dist/tools/commander-framework-list.d.ts +7 -0
  151. package/dist/tools/commander-framework-list.d.ts.map +1 -0
  152. package/dist/tools/commander-framework-list.js +103 -0
  153. package/dist/tools/commander-framework-list.js.map +1 -0
  154. package/dist/tools/commander-goal-create.d.ts +7 -0
  155. package/dist/tools/commander-goal-create.d.ts.map +1 -0
  156. package/dist/tools/commander-goal-create.js +130 -0
  157. package/dist/tools/commander-goal-create.js.map +1 -0
  158. package/dist/tools/commander-goal-get.d.ts +7 -0
  159. package/dist/tools/commander-goal-get.d.ts.map +1 -0
  160. package/dist/tools/commander-goal-get.js +83 -0
  161. package/dist/tools/commander-goal-get.js.map +1 -0
  162. package/dist/tools/commander-goal-list.d.ts +7 -0
  163. package/dist/tools/commander-goal-list.d.ts.map +1 -0
  164. package/dist/tools/commander-goal-list.js +111 -0
  165. package/dist/tools/commander-goal-list.js.map +1 -0
  166. package/dist/tools/commander-goal-update.d.ts +7 -0
  167. package/dist/tools/commander-goal-update.d.ts.map +1 -0
  168. package/dist/tools/commander-goal-update.js +110 -0
  169. package/dist/tools/commander-goal-update.js.map +1 -0
  170. package/dist/tools/commander-key-result-create.d.ts +7 -0
  171. package/dist/tools/commander-key-result-create.d.ts.map +1 -0
  172. package/dist/tools/commander-key-result-create.js +134 -0
  173. package/dist/tools/commander-key-result-create.js.map +1 -0
  174. package/dist/tools/commander-key-result-update.d.ts +7 -0
  175. package/dist/tools/commander-key-result-update.d.ts.map +1 -0
  176. package/dist/tools/commander-key-result-update.js +119 -0
  177. package/dist/tools/commander-key-result-update.js.map +1 -0
  178. package/dist/tools/commander-layer-create.d.ts +7 -0
  179. package/dist/tools/commander-layer-create.d.ts.map +1 -0
  180. package/dist/tools/commander-layer-create.js +167 -0
  181. package/dist/tools/commander-layer-create.js.map +1 -0
  182. package/dist/tools/commander-layer-delete.d.ts +7 -0
  183. package/dist/tools/commander-layer-delete.d.ts.map +1 -0
  184. package/dist/tools/commander-layer-delete.js +141 -0
  185. package/dist/tools/commander-layer-delete.js.map +1 -0
  186. package/dist/tools/commander-layer-list.d.ts +7 -0
  187. package/dist/tools/commander-layer-list.d.ts.map +1 -0
  188. package/dist/tools/commander-layer-list.js +102 -0
  189. package/dist/tools/commander-layer-list.js.map +1 -0
  190. package/dist/tools/commander-presentation.d.ts +7 -0
  191. package/dist/tools/commander-presentation.d.ts.map +1 -0
  192. package/dist/tools/commander-presentation.js +185 -0
  193. package/dist/tools/commander-presentation.js.map +1 -0
  194. package/dist/tools/commander-project-create.d.ts +7 -0
  195. package/dist/tools/commander-project-create.d.ts.map +1 -0
  196. package/dist/tools/commander-project-create.js +130 -0
  197. package/dist/tools/commander-project-create.js.map +1 -0
  198. package/dist/tools/commander-project-get.d.ts +7 -0
  199. package/dist/tools/commander-project-get.d.ts.map +1 -0
  200. package/dist/tools/commander-project-get.js +107 -0
  201. package/dist/tools/commander-project-get.js.map +1 -0
  202. package/dist/tools/commander-project-list.d.ts +7 -0
  203. package/dist/tools/commander-project-list.d.ts.map +1 -0
  204. package/dist/tools/commander-project-list.js +104 -0
  205. package/dist/tools/commander-project-list.js.map +1 -0
  206. package/dist/tools/commander-project-update.d.ts +7 -0
  207. package/dist/tools/commander-project-update.d.ts.map +1 -0
  208. package/dist/tools/commander-project-update.js +126 -0
  209. package/dist/tools/commander-project-update.js.map +1 -0
  210. package/dist/tools/commander-project.d.ts +7 -0
  211. package/dist/tools/commander-project.d.ts.map +1 -0
  212. package/dist/tools/commander-project.js +144 -0
  213. package/dist/tools/commander-project.js.map +1 -0
  214. package/dist/tools/commander-role-assign.d.ts +7 -0
  215. package/dist/tools/commander-role-assign.d.ts.map +1 -0
  216. package/dist/tools/commander-role-assign.js +115 -0
  217. package/dist/tools/commander-role-assign.js.map +1 -0
  218. package/dist/tools/commander-role-create.d.ts +7 -0
  219. package/dist/tools/commander-role-create.d.ts.map +1 -0
  220. package/dist/tools/commander-role-create.js +130 -0
  221. package/dist/tools/commander-role-create.js.map +1 -0
  222. package/dist/tools/commander-role-get.d.ts +7 -0
  223. package/dist/tools/commander-role-get.d.ts.map +1 -0
  224. package/dist/tools/commander-role-get.js +108 -0
  225. package/dist/tools/commander-role-get.js.map +1 -0
  226. package/dist/tools/commander-role-list.d.ts +7 -0
  227. package/dist/tools/commander-role-list.d.ts.map +1 -0
  228. package/dist/tools/commander-role-list.js +106 -0
  229. package/dist/tools/commander-role-list.js.map +1 -0
  230. package/dist/tools/commander-role-update.d.ts +7 -0
  231. package/dist/tools/commander-role-update.d.ts.map +1 -0
  232. package/dist/tools/commander-role-update.js +126 -0
  233. package/dist/tools/commander-role-update.js.map +1 -0
  234. package/dist/tools/commander-search.d.ts +7 -0
  235. package/dist/tools/commander-search.d.ts.map +1 -0
  236. package/dist/tools/commander-search.js +146 -0
  237. package/dist/tools/commander-search.js.map +1 -0
  238. package/dist/tools/commander-sheet-create.d.ts +7 -0
  239. package/dist/tools/commander-sheet-create.d.ts.map +1 -0
  240. package/dist/tools/commander-sheet-create.js +160 -0
  241. package/dist/tools/commander-sheet-create.js.map +1 -0
  242. package/dist/tools/commander-sheet-get.d.ts +7 -0
  243. package/dist/tools/commander-sheet-get.d.ts.map +1 -0
  244. package/dist/tools/commander-sheet-get.js +128 -0
  245. package/dist/tools/commander-sheet-get.js.map +1 -0
  246. package/dist/tools/commander-sheet-list.d.ts +7 -0
  247. package/dist/tools/commander-sheet-list.d.ts.map +1 -0
  248. package/dist/tools/commander-sheet-list.js +108 -0
  249. package/dist/tools/commander-sheet-list.js.map +1 -0
  250. package/dist/tools/commander-sheet-update.d.ts +7 -0
  251. package/dist/tools/commander-sheet-update.d.ts.map +1 -0
  252. package/dist/tools/commander-sheet-update.js +163 -0
  253. package/dist/tools/commander-sheet-update.js.map +1 -0
  254. package/dist/tools/commander-status-list.d.ts +7 -0
  255. package/dist/tools/commander-status-list.d.ts.map +1 -0
  256. package/dist/tools/commander-status-list.js +103 -0
  257. package/dist/tools/commander-status-list.js.map +1 -0
  258. package/dist/tools/commander-task-assign.d.ts +7 -0
  259. package/dist/tools/commander-task-assign.d.ts.map +1 -0
  260. package/dist/tools/commander-task-assign.js +91 -0
  261. package/dist/tools/commander-task-assign.js.map +1 -0
  262. package/dist/tools/commander-task-create.d.ts +7 -0
  263. package/dist/tools/commander-task-create.d.ts.map +1 -0
  264. package/dist/tools/commander-task-create.js +142 -0
  265. package/dist/tools/commander-task-create.js.map +1 -0
  266. package/dist/tools/commander-task-delete.d.ts +7 -0
  267. package/dist/tools/commander-task-delete.d.ts.map +1 -0
  268. package/dist/tools/commander-task-delete.js +88 -0
  269. package/dist/tools/commander-task-delete.js.map +1 -0
  270. package/dist/tools/commander-task-list-mine.d.ts +7 -0
  271. package/dist/tools/commander-task-list-mine.d.ts.map +1 -0
  272. package/dist/tools/commander-task-list-mine.js +109 -0
  273. package/dist/tools/commander-task-list-mine.js.map +1 -0
  274. package/dist/tools/commander-task-read.d.ts +10 -0
  275. package/dist/tools/commander-task-read.d.ts.map +1 -0
  276. package/dist/tools/commander-task-read.js +96 -0
  277. package/dist/tools/commander-task-read.js.map +1 -0
  278. package/dist/tools/commander-task-update.d.ts +7 -0
  279. package/dist/tools/commander-task-update.d.ts.map +1 -0
  280. package/dist/tools/commander-task-update.js +159 -0
  281. package/dist/tools/commander-task-update.js.map +1 -0
  282. package/dist/tools/commander-taskboard-tasks.d.ts +7 -0
  283. package/dist/tools/commander-taskboard-tasks.d.ts.map +1 -0
  284. package/dist/tools/commander-taskboard-tasks.js +97 -0
  285. package/dist/tools/commander-taskboard-tasks.js.map +1 -0
  286. package/dist/tools/commander-team-add-member.d.ts +7 -0
  287. package/dist/tools/commander-team-add-member.d.ts.map +1 -0
  288. package/dist/tools/commander-team-add-member.js +104 -0
  289. package/dist/tools/commander-team-add-member.js.map +1 -0
  290. package/dist/tools/commander-team-create.d.ts +7 -0
  291. package/dist/tools/commander-team-create.d.ts.map +1 -0
  292. package/dist/tools/commander-team-create.js +117 -0
  293. package/dist/tools/commander-team-create.js.map +1 -0
  294. package/dist/tools/commander-team-list.d.ts +7 -0
  295. package/dist/tools/commander-team-list.d.ts.map +1 -0
  296. package/dist/tools/commander-team-list.js +94 -0
  297. package/dist/tools/commander-team-list.js.map +1 -0
  298. package/dist/tools/commander-team-remove-member.d.ts +7 -0
  299. package/dist/tools/commander-team-remove-member.d.ts.map +1 -0
  300. package/dist/tools/commander-team-remove-member.js +98 -0
  301. package/dist/tools/commander-team-remove-member.js.map +1 -0
  302. package/dist/tools/commander-user-get.d.ts +7 -0
  303. package/dist/tools/commander-user-get.d.ts.map +1 -0
  304. package/dist/tools/commander-user-get.js +101 -0
  305. package/dist/tools/commander-user-get.js.map +1 -0
  306. package/dist/tools/commander-user-invite.d.ts +7 -0
  307. package/dist/tools/commander-user-invite.d.ts.map +1 -0
  308. package/dist/tools/commander-user-invite.js +119 -0
  309. package/dist/tools/commander-user-invite.js.map +1 -0
  310. package/dist/tools/commander-user-list.d.ts +7 -0
  311. package/dist/tools/commander-user-list.d.ts.map +1 -0
  312. package/dist/tools/commander-user-list.js +108 -0
  313. package/dist/tools/commander-user-list.js.map +1 -0
  314. package/dist/tools/commander-workspace-create.d.ts +7 -0
  315. package/dist/tools/commander-workspace-create.d.ts.map +1 -0
  316. package/dist/tools/commander-workspace-create.js +124 -0
  317. package/dist/tools/commander-workspace-create.js.map +1 -0
  318. package/dist/tools/commander-workspace-list.d.ts +7 -0
  319. package/dist/tools/commander-workspace-list.d.ts.map +1 -0
  320. package/dist/tools/commander-workspace-list.js +95 -0
  321. package/dist/tools/commander-workspace-list.js.map +1 -0
  322. package/dist/tools/commander-workspace-update.d.ts +7 -0
  323. package/dist/tools/commander-workspace-update.d.ts.map +1 -0
  324. package/dist/tools/commander-workspace-update.js +118 -0
  325. package/dist/tools/commander-workspace-update.js.map +1 -0
  326. package/dist/tools/commander-workspace.d.ts +7 -0
  327. package/dist/tools/commander-workspace.d.ts.map +1 -0
  328. package/dist/tools/commander-workspace.js +131 -0
  329. package/dist/tools/commander-workspace.js.map +1 -0
  330. package/dist/tools/create-kanban.d.ts +7 -0
  331. package/dist/tools/create-kanban.d.ts.map +1 -0
  332. package/dist/tools/create-kanban.js +32 -0
  333. package/dist/tools/create-kanban.js.map +1 -0
  334. package/dist/tools/create-table.d.ts +7 -0
  335. package/dist/tools/create-table.d.ts.map +1 -0
  336. package/dist/tools/create-table.js +188 -0
  337. package/dist/tools/create-table.js.map +1 -0
  338. package/dist/tools/search-knowledge.d.ts +7 -0
  339. package/dist/tools/search-knowledge.d.ts.map +1 -0
  340. package/dist/tools/search-knowledge.js +33 -0
  341. package/dist/tools/search-knowledge.js.map +1 -0
  342. package/dist/tools/waymaker-kanban-view.d.ts +7 -0
  343. package/dist/tools/waymaker-kanban-view.d.ts.map +1 -0
  344. package/dist/tools/waymaker-kanban-view.js +255 -0
  345. package/dist/tools/waymaker-kanban-view.js.map +1 -0
  346. package/dist/tools/waymaker-sync-configure.d.ts +13 -0
  347. package/dist/tools/waymaker-sync-configure.d.ts.map +1 -0
  348. package/dist/tools/waymaker-sync-configure.js +291 -0
  349. package/dist/tools/waymaker-sync-configure.js.map +1 -0
  350. package/dist/tools/waymaker-sync-file.d.ts +7 -0
  351. package/dist/tools/waymaker-sync-file.d.ts.map +1 -0
  352. package/dist/tools/waymaker-sync-file.js +79 -0
  353. package/dist/tools/waymaker-sync-file.js.map +1 -0
  354. package/dist/tools/waymaker-sync-poll.d.ts +8 -0
  355. package/dist/tools/waymaker-sync-poll.d.ts.map +1 -0
  356. package/dist/tools/waymaker-sync-poll.js +398 -0
  357. package/dist/tools/waymaker-sync-poll.js.map +1 -0
  358. package/dist/tools/waymaker-sync-start.d.ts +7 -0
  359. package/dist/tools/waymaker-sync-start.d.ts.map +1 -0
  360. package/dist/tools/waymaker-sync-start.js +56 -0
  361. package/dist/tools/waymaker-sync-start.js.map +1 -0
  362. package/dist/tools/waymaker-sync-status.d.ts +7 -0
  363. package/dist/tools/waymaker-sync-status.d.ts.map +1 -0
  364. package/dist/tools/waymaker-sync-status.js +45 -0
  365. package/dist/tools/waymaker-sync-status.js.map +1 -0
  366. package/dist/tools/waymaker-sync-stop.d.ts +7 -0
  367. package/dist/tools/waymaker-sync-stop.d.ts.map +1 -0
  368. package/dist/tools/waymaker-sync-stop.js +56 -0
  369. package/dist/tools/waymaker-sync-stop.js.map +1 -0
  370. package/dist/tools/waymaker-sync-workspace.d.ts +26 -0
  371. package/dist/tools/waymaker-sync-workspace.d.ts.map +1 -0
  372. package/dist/tools/waymaker-sync-workspace.js +148 -0
  373. package/dist/tools/waymaker-sync-workspace.js.map +1 -0
  374. package/dist/tools/waymaker-sync-workspace.tool.d.ts +9 -0
  375. package/dist/tools/waymaker-sync-workspace.tool.d.ts.map +1 -0
  376. package/dist/tools/waymaker-sync-workspace.tool.js +68 -0
  377. package/dist/tools/waymaker-sync-workspace.tool.js.map +1 -0
  378. package/dist/types/tool.d.ts +13 -0
  379. package/dist/types/tool.d.ts.map +1 -0
  380. package/dist/types/tool.js +2 -0
  381. package/dist/types/tool.js.map +1 -0
  382. package/dist/utils/daemon-health.d.ts +21 -0
  383. package/dist/utils/daemon-health.d.ts.map +1 -0
  384. package/dist/utils/daemon-health.js +40 -0
  385. package/dist/utils/daemon-health.js.map +1 -0
  386. package/dist/utils/fetch-ipv4.d.ts +36 -0
  387. package/dist/utils/fetch-ipv4.d.ts.map +1 -0
  388. package/dist/utils/fetch-ipv4.js +91 -0
  389. package/dist/utils/fetch-ipv4.js.map +1 -0
  390. package/package.json +62 -0
@@ -0,0 +1,548 @@
1
+ /**
2
+ * Waymaker Sync - Trinity Mapper
3
+ * Maps markdown files to Commander documents and task cards (Trinity Architecture)
4
+ *
5
+ * Trinity Architecture: One markdown file → Three views
6
+ * 1. IDE View (markdown file - source of truth)
7
+ * 2. Document View (Commander document - reading/collaboration)
8
+ * 3. Task View (Commander task card - workflow/tracking)
9
+ */
10
+ import { MarkdownParser } from './markdown-parser.js';
11
+ import { CommanderClient } from './commander-client.js';
12
+ import { FolderService } from './folder-service.js';
13
+ import { resolveOrCreateLayerPath } from './layer-resolver.js';
14
+ export class TrinityMapper {
15
+ parser;
16
+ client;
17
+ folderService;
18
+ workspaceId;
19
+ organizationId;
20
+ constructor(apiKey, folderServiceConfig) {
21
+ this.parser = new MarkdownParser();
22
+ this.client = new CommanderClient(apiKey);
23
+ // Initialize folder service if config provided
24
+ if (folderServiceConfig) {
25
+ this.folderService = new FolderService(folderServiceConfig, this.client);
26
+ this.workspaceId = folderServiceConfig.workspaceId;
27
+ this.organizationId = folderServiceConfig.organizationId;
28
+ }
29
+ }
30
+ /**
31
+ * Sync a markdown file to Commander (IDE → Commander)
32
+ * Creates or updates both Document and Task based on document type
33
+ */
34
+ async syncToCommander(params) {
35
+ try {
36
+ // Parse markdown file
37
+ let parsed = await this.parser.parseFile(params.filePath);
38
+ // Check for explicit skip: sync.enabled = false
39
+ if (parsed.frontmatter.sync?.enabled === false) {
40
+ return {
41
+ success: true,
42
+ operation: 'skip',
43
+ documentType: 'document',
44
+ filePath: params.filePath,
45
+ message: 'File has sync.enabled: false - skipped',
46
+ };
47
+ }
48
+ // Auto-init frontmatter if no sync block exists
49
+ if (!parsed.frontmatter.sync) {
50
+ const inferredType = this.inferTypeFromPath(params.filePath);
51
+ console.error(`[TrinityMapper] Auto-initializing frontmatter for ${params.filePath} as type: ${inferredType}`);
52
+ // Add sync frontmatter to file
53
+ await this.parser.updateFrontmatter(params.filePath, {
54
+ sync: {
55
+ type: inferredType,
56
+ },
57
+ });
58
+ // Re-parse file with new frontmatter
59
+ parsed = await this.parser.parseFile(params.filePath);
60
+ }
61
+ const syncConfig = parsed.frontmatter.sync; // Safe: we just ensured it exists above
62
+ const documentType = syncConfig.type || 'document';
63
+ // Route to appropriate sync handler based on document type
64
+ switch (documentType) {
65
+ case 'epic':
66
+ return await this.syncEpic(parsed, params);
67
+ case 'task':
68
+ return await this.syncTask(parsed, params);
69
+ case 'session':
70
+ return await this.syncSession(parsed, params);
71
+ default:
72
+ return await this.syncDocument(parsed, params);
73
+ }
74
+ }
75
+ catch (error) {
76
+ return {
77
+ success: false,
78
+ operation: 'skip',
79
+ documentType: 'document',
80
+ filePath: params.filePath,
81
+ message: 'Failed to sync to Commander',
82
+ error: error instanceof Error ? error.message : String(error),
83
+ };
84
+ }
85
+ }
86
+ /**
87
+ * Sync an Epic (PRD) → Commander Layer
88
+ */
89
+ async syncEpic(parsed, params) {
90
+ const sync = parsed.frontmatter.sync;
91
+ const title = this.parser.getTitle(parsed);
92
+ try {
93
+ let layer;
94
+ const metadata = {
95
+ ...this.parser.extractTaskMetadata(parsed.frontmatter),
96
+ file_path: params.filePath,
97
+ synced_at: new Date().toISOString(),
98
+ };
99
+ if (sync.layer_id) {
100
+ // Update existing layer
101
+ layer = await this.client.updateLayer({
102
+ layer_id: sync.layer_id,
103
+ name: sync.layer_name || title,
104
+ description: parsed.content.substring(0, 500),
105
+ metadata,
106
+ });
107
+ }
108
+ else {
109
+ // Create new layer
110
+ layer = await this.client.createLayer({
111
+ name: sync.layer_name || title,
112
+ taskboard_id: params.taskboardId,
113
+ description: parsed.content.substring(0, 500),
114
+ metadata,
115
+ });
116
+ // Update frontmatter with layer ID
117
+ await this.parser.updateFrontmatter(params.filePath, {
118
+ sync: {
119
+ ...sync,
120
+ layer_id: layer.id,
121
+ last_synced: new Date().toISOString(),
122
+ },
123
+ });
124
+ }
125
+ return {
126
+ success: true,
127
+ operation: sync.layer_id ? 'update' : 'create',
128
+ documentType: 'epic',
129
+ filePath: params.filePath,
130
+ commanderId: layer.id,
131
+ message: `Epic "${title}" ${sync.layer_id ? 'updated' : 'created'} as Layer`,
132
+ };
133
+ }
134
+ catch (error) {
135
+ return {
136
+ success: false,
137
+ operation: 'skip',
138
+ documentType: 'epic',
139
+ filePath: params.filePath,
140
+ message: 'Failed to sync epic',
141
+ error: error instanceof Error ? error.message : String(error),
142
+ };
143
+ }
144
+ }
145
+ /**
146
+ * Sync a Task → Commander Document + Task Card (Trinity!)
147
+ */
148
+ async syncTask(parsed, params) {
149
+ const sync = parsed.frontmatter.sync;
150
+ const title = this.parser.getTitle(parsed);
151
+ try {
152
+ // Ensure folder hierarchy exists and get folder_id
153
+ let folderId = null;
154
+ if (this.folderService) {
155
+ folderId = await this.folderService.ensureFolderHierarchy(params.filePath);
156
+ console.log(`[TrinityMapper] Folder for ${params.filePath}: ${folderId || 'root'}`);
157
+ }
158
+ // Resolve layer path if specified (e.g., "Product/Sprint 1")
159
+ let layerId = null;
160
+ if (sync.layer) {
161
+ try {
162
+ console.log(`[TrinityMapper] Resolving layer path: ${sync.layer}`);
163
+ const layerResult = await resolveOrCreateLayerPath(params.taskboardId, sync.layer);
164
+ layerId = layerResult.layerId;
165
+ if (layerResult.created) {
166
+ console.log(`[TrinityMapper] Created layers: ${layerResult.createdLayers.join(', ')}`);
167
+ }
168
+ console.log(`[TrinityMapper] Resolved layer: ${sync.layer} -> ${layerId}`);
169
+ }
170
+ catch (error) {
171
+ console.error(`[TrinityMapper] Failed to resolve layer path: ${error}`);
172
+ // Continue without layer - don't fail the entire sync
173
+ }
174
+ }
175
+ const metadata = {
176
+ ...this.parser.extractTaskMetadata(parsed.frontmatter),
177
+ file_path: params.filePath,
178
+ synced_at: new Date().toISOString(),
179
+ checklist_items: parsed.checklistItems,
180
+ };
181
+ let task;
182
+ let document;
183
+ let documentWasMigrated = false;
184
+ // Step 1: Create/update Markdown Document (reading view)
185
+ // Using markdown_documents table for proper MarkdownView.tsx with toolbar icons
186
+ if (sync.document_id) {
187
+ try {
188
+ document = await this.client.updateMarkdownDocument({
189
+ document_id: sync.document_id,
190
+ title,
191
+ content: parsed.content,
192
+ folder_id: folderId,
193
+ metadata,
194
+ });
195
+ }
196
+ catch (error) {
197
+ // If update fails (document doesn't exist in markdown_documents table),
198
+ // create a new document - this handles migration from old documents table
199
+ const errorMessage = error instanceof Error ? error.message : String(error);
200
+ if (errorMessage.includes('no rows') || errorMessage.includes('multiple')) {
201
+ console.log(`[TrinityMapper] Migrating document to markdown_documents table (old ID: ${sync.document_id})`);
202
+ if (!this.workspaceId || !this.organizationId) {
203
+ throw new Error('workspace_id and organization_id are required to migrate markdown documents');
204
+ }
205
+ document = await this.client.createMarkdownDocument({
206
+ title,
207
+ content: parsed.content,
208
+ workspace_id: this.workspaceId,
209
+ organization_id: this.organizationId,
210
+ project_id: params.projectId,
211
+ folder_id: folderId,
212
+ metadata,
213
+ });
214
+ documentWasMigrated = true;
215
+ console.log(`[TrinityMapper] ✅ Document migrated successfully (new ID: ${document.id})`);
216
+ }
217
+ else {
218
+ throw error;
219
+ }
220
+ }
221
+ }
222
+ else {
223
+ // Ensure workspace_id and organization_id are set
224
+ if (!this.workspaceId || !this.organizationId) {
225
+ throw new Error('workspace_id and organization_id are required to create markdown documents');
226
+ }
227
+ document = await this.client.createMarkdownDocument({
228
+ title,
229
+ content: parsed.content,
230
+ workspace_id: this.workspaceId,
231
+ organization_id: this.organizationId,
232
+ project_id: params.projectId,
233
+ folder_id: folderId,
234
+ metadata,
235
+ });
236
+ }
237
+ // Step 2: Create/update Task Card (workflow view)
238
+ if (sync.task_id) {
239
+ task = await this.client.updateTask({
240
+ task_id: sync.task_id,
241
+ title,
242
+ content: parsed.content,
243
+ metadata: {
244
+ ...metadata,
245
+ document_id: document.id, // Link to document
246
+ },
247
+ status: sync.status,
248
+ priority: sync.priority,
249
+ assignee: sync.assignee,
250
+ layer_id: layerId, // Assign to layer if resolved
251
+ });
252
+ }
253
+ else {
254
+ task = await this.client.createTask({
255
+ title,
256
+ content: parsed.content,
257
+ taskboard_id: params.taskboardId,
258
+ metadata: {
259
+ ...metadata,
260
+ document_id: document.id, // Link to document
261
+ },
262
+ status: sync.status,
263
+ priority: sync.priority,
264
+ assignee: sync.assignee,
265
+ layer_id: layerId, // Assign to layer if resolved
266
+ });
267
+ }
268
+ // Step 3: Update frontmatter with both IDs
269
+ // Also update if document was migrated to new table (new document_id)
270
+ const shouldUpdate = !sync.task_id || !sync.document_id || documentWasMigrated;
271
+ if (shouldUpdate) {
272
+ await this.parser.updateFrontmatter(params.filePath, {
273
+ sync: {
274
+ ...sync,
275
+ task_id: task.id,
276
+ document_id: document.id,
277
+ last_synced: new Date().toISOString(),
278
+ },
279
+ });
280
+ }
281
+ return {
282
+ success: true,
283
+ operation: sync.task_id ? 'update' : 'create',
284
+ documentType: 'task',
285
+ filePath: params.filePath,
286
+ commanderId: task.id,
287
+ message: `Task "${title}" synced (Document: ${document.id}, Task: ${task.id})`,
288
+ };
289
+ }
290
+ catch (error) {
291
+ const errorMessage = error instanceof Error ? error.message : String(error);
292
+ console.error(`[TrinityMapper] ❌ Failed to sync task: ${errorMessage}`);
293
+ console.error(error); // Log full error for debugging
294
+ return {
295
+ success: false,
296
+ operation: 'skip',
297
+ documentType: 'task',
298
+ filePath: params.filePath,
299
+ message: 'Failed to sync task',
300
+ error: errorMessage,
301
+ };
302
+ }
303
+ }
304
+ /**
305
+ * Sync a Session Brief → Task on Session Layer
306
+ */
307
+ async syncSession(parsed, params) {
308
+ const sync = parsed.frontmatter.sync;
309
+ const title = this.parser.getTitle(parsed);
310
+ try {
311
+ let task;
312
+ const metadata = {
313
+ ...this.parser.extractTaskMetadata(parsed.frontmatter),
314
+ file_path: params.filePath,
315
+ synced_at: new Date().toISOString(),
316
+ session_type: 'brief',
317
+ };
318
+ if (sync.task_id) {
319
+ // Update existing session task
320
+ task = await this.client.updateTask({
321
+ task_id: sync.task_id,
322
+ title,
323
+ content: parsed.content,
324
+ metadata,
325
+ status: 'completed', // Sessions are always completed
326
+ });
327
+ }
328
+ else {
329
+ // Create new session task
330
+ task = await this.client.createTask({
331
+ title,
332
+ content: parsed.content,
333
+ taskboard_id: params.taskboardId,
334
+ metadata,
335
+ status: 'completed',
336
+ });
337
+ // Update frontmatter with task ID
338
+ await this.parser.updateFrontmatter(params.filePath, {
339
+ sync: {
340
+ ...sync,
341
+ task_id: task.id,
342
+ last_synced: new Date().toISOString(),
343
+ },
344
+ });
345
+ }
346
+ return {
347
+ success: true,
348
+ operation: sync.task_id ? 'update' : 'create',
349
+ documentType: 'session',
350
+ filePath: params.filePath,
351
+ commanderId: task.id,
352
+ message: `Session "${title}" ${sync.task_id ? 'updated' : 'created'}`,
353
+ };
354
+ }
355
+ catch (error) {
356
+ return {
357
+ success: false,
358
+ operation: 'skip',
359
+ documentType: 'session',
360
+ filePath: params.filePath,
361
+ message: 'Failed to sync session',
362
+ error: error instanceof Error ? error.message : String(error),
363
+ };
364
+ }
365
+ }
366
+ /**
367
+ * Sync a general Document
368
+ */
369
+ async syncDocument(parsed, params) {
370
+ const sync = parsed.frontmatter.sync;
371
+ const title = this.parser.getTitle(parsed);
372
+ try {
373
+ // Ensure folder hierarchy exists and get folder_id
374
+ let folderId = null;
375
+ if (this.folderService) {
376
+ folderId = await this.folderService.ensureFolderHierarchy(params.filePath);
377
+ console.log(`[TrinityMapper] Folder for ${params.filePath}: ${folderId || 'root'}`);
378
+ }
379
+ let document;
380
+ let documentWasMigrated = false;
381
+ const metadata = {
382
+ ...this.parser.extractTaskMetadata(parsed.frontmatter),
383
+ file_path: params.filePath,
384
+ synced_at: new Date().toISOString(),
385
+ };
386
+ // Using markdown_documents table for proper MarkdownView.tsx with toolbar icons
387
+ if (sync.document_id) {
388
+ try {
389
+ document = await this.client.updateMarkdownDocument({
390
+ document_id: sync.document_id,
391
+ title,
392
+ content: parsed.content,
393
+ folder_id: folderId,
394
+ metadata,
395
+ });
396
+ }
397
+ catch (error) {
398
+ // If update fails (document doesn't exist in markdown_documents table),
399
+ // create a new document - this handles migration from old documents table
400
+ const errorMessage = error instanceof Error ? error.message : String(error);
401
+ if (errorMessage.includes('no rows') || errorMessage.includes('multiple')) {
402
+ console.log(`[TrinityMapper] Migrating document to markdown_documents table (old ID: ${sync.document_id})`);
403
+ if (!this.workspaceId || !this.organizationId) {
404
+ throw new Error('workspace_id and organization_id are required to migrate markdown documents');
405
+ }
406
+ document = await this.client.createMarkdownDocument({
407
+ title,
408
+ content: parsed.content,
409
+ workspace_id: this.workspaceId,
410
+ organization_id: this.organizationId,
411
+ project_id: params.projectId,
412
+ folder_id: folderId,
413
+ metadata,
414
+ });
415
+ documentWasMigrated = true;
416
+ console.log(`[TrinityMapper] ✅ Document migrated successfully (new ID: ${document.id})`);
417
+ }
418
+ else {
419
+ throw error;
420
+ }
421
+ }
422
+ }
423
+ else {
424
+ // Ensure workspace_id and organization_id are set
425
+ if (!this.workspaceId || !this.organizationId) {
426
+ throw new Error('workspace_id and organization_id are required to create markdown documents');
427
+ }
428
+ document = await this.client.createMarkdownDocument({
429
+ title,
430
+ content: parsed.content,
431
+ workspace_id: this.workspaceId,
432
+ organization_id: this.organizationId,
433
+ project_id: params.projectId,
434
+ folder_id: folderId,
435
+ metadata,
436
+ });
437
+ }
438
+ // Update frontmatter if new document or migrated
439
+ if (!sync.document_id || documentWasMigrated) {
440
+ await this.parser.updateFrontmatter(params.filePath, {
441
+ sync: {
442
+ ...sync,
443
+ document_id: document.id,
444
+ last_synced: new Date().toISOString(),
445
+ },
446
+ });
447
+ }
448
+ return {
449
+ success: true,
450
+ operation: sync.document_id && !documentWasMigrated ? 'update' : 'create',
451
+ documentType: 'document',
452
+ filePath: params.filePath,
453
+ commanderId: document.id,
454
+ message: `Document "${title}" ${documentWasMigrated ? 'migrated to markdown_documents' : (sync.document_id ? 'updated' : 'created')}`,
455
+ };
456
+ }
457
+ catch (error) {
458
+ return {
459
+ success: false,
460
+ operation: 'skip',
461
+ documentType: 'document',
462
+ filePath: params.filePath,
463
+ message: 'Failed to sync document',
464
+ error: error instanceof Error ? error.message : String(error),
465
+ };
466
+ }
467
+ }
468
+ /**
469
+ * Sync from Commander back to IDE (Commander → IDE)
470
+ * Updates markdown file frontmatter and content based on Commander changes
471
+ */
472
+ async syncFromCommander(params) {
473
+ try {
474
+ // Get task from Commander
475
+ const task = await this.client.getTask(params.taskId);
476
+ // Read current markdown file
477
+ const parsed = await this.parser.parseFile(params.filePath);
478
+ // Update frontmatter with Commander changes
479
+ const updates = {
480
+ sync: {
481
+ ...parsed.frontmatter.sync,
482
+ status: task.status,
483
+ priority: task.priority,
484
+ assignee: task.assignee,
485
+ last_synced: new Date().toISOString(),
486
+ },
487
+ };
488
+ // Update frontmatter
489
+ await this.parser.updateFrontmatter(params.filePath, updates);
490
+ return {
491
+ success: true,
492
+ operation: 'update',
493
+ documentType: 'task',
494
+ filePath: params.filePath,
495
+ commanderId: task.id,
496
+ message: `Synced changes from Commander to ${params.filePath}`,
497
+ };
498
+ }
499
+ catch (error) {
500
+ return {
501
+ success: false,
502
+ operation: 'skip',
503
+ documentType: 'task',
504
+ filePath: params.filePath,
505
+ message: 'Failed to sync from Commander',
506
+ error: error instanceof Error ? error.message : String(error),
507
+ };
508
+ }
509
+ }
510
+ /**
511
+ * Infer document type from file path
512
+ * Uses folder naming conventions to determine sync type
513
+ */
514
+ inferTypeFromPath(filePath) {
515
+ const lowerPath = filePath.toLowerCase();
516
+ // Epic patterns (PRDs, product requirements)
517
+ if (lowerPath.includes('/product-requirements/') ||
518
+ lowerPath.includes('/prd/') ||
519
+ lowerPath.includes('/prds/') ||
520
+ lowerPath.includes('/epics/') ||
521
+ lowerPath.includes('-prd.md')) {
522
+ return 'epic';
523
+ }
524
+ // Task patterns
525
+ if (lowerPath.includes('/tasks/') ||
526
+ lowerPath.includes('/task/') ||
527
+ lowerPath.includes('/todo/') ||
528
+ lowerPath.includes('/backlog/')) {
529
+ return 'task';
530
+ }
531
+ // Session patterns
532
+ if (lowerPath.includes('/sessions/') ||
533
+ lowerPath.includes('/session-briefs/') ||
534
+ lowerPath.includes('-session-brief.md') ||
535
+ lowerPath.includes('-session.md')) {
536
+ return 'session';
537
+ }
538
+ // Default to document
539
+ return 'document';
540
+ }
541
+ /**
542
+ * Get the folder service instance (for direct folder operations)
543
+ */
544
+ getFolderService() {
545
+ return this.folderService;
546
+ }
547
+ }
548
+ //# sourceMappingURL=trinity-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trinity-mapper.js","sourceRoot":"","sources":["../../src/sync/trinity-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAS/D,MAAM,OAAO,aAAa;IAChB,MAAM,CAAiB;IACvB,MAAM,CAAkB;IACxB,aAAa,CAAiB;IAC9B,WAAW,CAAU;IACrB,cAAc,CAAU;IAEhC,YAAY,MAAe,EAAE,mBAAyC;QACpE,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;QAE1C,+CAA+C;QAC/C,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACzE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC;YACnD,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,MAIrB;QACC,IAAI,CAAC;YACH,sBAAsB;YACtB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE1D,gDAAgD;YAChD,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC/C,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,MAAM;oBACjB,YAAY,EAAE,UAAU;oBACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,wCAAwC;iBAClD,CAAC;YACJ,CAAC;YAED,gDAAgD;YAChD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,qDAAqD,MAAM,CAAC,QAAQ,aAAa,YAAY,EAAE,CAAC,CAAC;gBAE/G,+BAA+B;gBAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACnD,IAAI,EAAE;wBACJ,IAAI,EAAE,YAAoE;qBAC3E;iBACF,CAAC,CAAC;gBAEH,qCAAqC;gBACrC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAK,CAAC,CAAC,wCAAwC;YACrF,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC;YAEnD,2DAA2D;YAC3D,QAAQ,YAAY,EAAE,CAAC;gBACrB,KAAK,MAAM;oBACT,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE7C,KAAK,MAAM;oBACT,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE7C,KAAK,SAAS;oBACZ,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEhD;oBACE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,MAAM;gBACjB,YAAY,EAAE,UAAU;gBACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,6BAA6B;gBACtC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CACpB,MAAsB,EACtB,MAAoE;QAEpE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAK,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,KAAqB,CAAC;YAC1B,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC;gBACtD,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,wBAAwB;gBACxB,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;oBACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;oBAC9B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC7C,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,mBAAmB;gBACnB,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;oBACpC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;oBAC9B,YAAY,EAAE,MAAM,CAAC,WAAW;oBAChC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC7C,QAAQ;iBACT,CAAC,CAAC;gBAEH,mCAAmC;gBACnC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACnD,IAAI,EAAE;wBACJ,GAAG,IAAI;wBACP,QAAQ,EAAE,KAAK,CAAC,EAAE;wBAClB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACtC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBAC9C,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,KAAK,CAAC,EAAE;gBACrB,OAAO,EAAE,SAAS,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,WAAW;aAC7E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,MAAM;gBACjB,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,qBAAqB;gBAC9B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CACpB,MAAsB,EACtB,MAAoE;QAEpE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAK,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,mDAAmD;YACnD,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,6DAA6D;YAC7D,IAAI,OAAO,GAAkB,IAAI,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnE,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnF,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;oBAC9B,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,mCAAmC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzF,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,KAAK,OAAO,OAAO,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,KAAK,EAAE,CAAC,CAAC;oBACxE,sDAAsD;gBACxD,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC;gBACtD,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,eAAe,EAAE,MAAM,CAAC,cAAc;aACvC,CAAC;YAEF,IAAI,IAAmB,CAAC;YACxB,IAAI,QAA2B,CAAC;YAChC,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAEhC,yDAAyD;YACzD,gFAAgF;YAChF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;wBAClD,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,KAAK;wBACL,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,QAAQ;wBACnB,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,wEAAwE;oBACxE,0EAA0E;oBAC1E,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC1E,OAAO,CAAC,GAAG,CAAC,2EAA2E,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;wBAC5G,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;4BAC9C,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;wBACjG,CAAC;wBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;4BAClD,KAAK;4BACL,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,YAAY,EAAE,IAAI,CAAC,WAAW;4BAC9B,eAAe,EAAE,IAAI,CAAC,cAAc;4BACpC,UAAU,EAAE,MAAM,CAAC,SAAS;4BAC5B,SAAS,EAAE,QAAQ;4BACnB,QAAQ;yBACT,CAAC,CAAC;wBACH,mBAAmB,GAAG,IAAI,CAAC;wBAC3B,OAAO,CAAC,GAAG,CAAC,6DAA6D,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC3F,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;gBAChG,CAAC;gBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;oBAClD,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,IAAI,CAAC,WAAW;oBAC9B,eAAe,EAAE,IAAI,CAAC,cAAc;oBACpC,UAAU,EAAE,MAAM,CAAC,SAAS;oBAC5B,SAAS,EAAE,QAAQ;oBACnB,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;YAED,kDAAkD;YAClD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBAClC,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE;wBACR,GAAG,QAAQ;wBACX,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,mBAAmB;qBAC9C;oBACD,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,OAAO,EAAE,8BAA8B;iBAClD,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBAClC,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,MAAM,CAAC,WAAW;oBAChC,QAAQ,EAAE;wBACR,GAAG,QAAQ;wBACX,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,mBAAmB;qBAC9C;oBACD,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,OAAO,EAAE,8BAA8B;iBAClD,CAAC,CAAC;YACL,CAAC;YAED,2CAA2C;YAC3C,sEAAsE;YACtE,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC;YAC/E,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACnD,IAAI,EAAE;wBACJ,GAAG,IAAI;wBACP,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,WAAW,EAAE,QAAQ,CAAC,EAAE;wBACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACtC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBAC7C,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,OAAO,EAAE,SAAS,KAAK,uBAAuB,QAAQ,CAAC,EAAE,WAAW,IAAI,CAAC,EAAE,GAAG;aAC/E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,0CAA0C,YAAY,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,+BAA+B;YACrD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,MAAM;gBACjB,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,qBAAqB;gBAC9B,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,MAAsB,EACtB,MAAoE;QAEpE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAK,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,IAAmB,CAAC;YACxB,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC;gBACtD,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,YAAY,EAAE,OAAO;aACtB,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,+BAA+B;gBAC/B,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBAClC,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ;oBACR,MAAM,EAAE,WAAW,EAAE,gCAAgC;iBACtD,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBAClC,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,MAAM,CAAC,WAAW;oBAChC,QAAQ;oBACR,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;gBAEH,kCAAkC;gBAClC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACnD,IAAI,EAAE;wBACJ,GAAG,IAAI;wBACP,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACtC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBAC7C,YAAY,EAAE,SAAS;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,OAAO,EAAE,YAAY,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;aACtE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,MAAM;gBACjB,YAAY,EAAE,SAAS;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,wBAAwB;gBACjC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,MAAsB,EACtB,MAAoE;QAEpE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAK,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,mDAAmD;YACnD,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,QAA2B,CAAC;YAChC,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC;gBACtD,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,gFAAgF;YAChF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;wBAClD,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,KAAK;wBACL,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,QAAQ;wBACnB,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,wEAAwE;oBACxE,0EAA0E;oBAC1E,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC1E,OAAO,CAAC,GAAG,CAAC,2EAA2E,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;wBAC5G,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;4BAC9C,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;wBACjG,CAAC;wBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;4BAClD,KAAK;4BACL,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,YAAY,EAAE,IAAI,CAAC,WAAW;4BAC9B,eAAe,EAAE,IAAI,CAAC,cAAc;4BACpC,UAAU,EAAE,MAAM,CAAC,SAAS;4BAC5B,SAAS,EAAE,QAAQ;4BACnB,QAAQ;yBACT,CAAC,CAAC;wBACH,mBAAmB,GAAG,IAAI,CAAC;wBAC3B,OAAO,CAAC,GAAG,CAAC,6DAA6D,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC3F,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;gBAChG,CAAC;gBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;oBAClD,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,IAAI,CAAC,WAAW;oBAC9B,eAAe,EAAE,IAAI,CAAC,cAAc;oBACpC,UAAU,EAAE,MAAM,CAAC,SAAS;oBAC5B,SAAS,EAAE,QAAQ;oBACnB,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;YAED,iDAAiD;YACjD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,mBAAmB,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACnD,IAAI,EAAE;wBACJ,GAAG,IAAI;wBACP,WAAW,EAAE,QAAQ,CAAC,EAAE;wBACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACtC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBACzE,YAAY,EAAE,UAAU;gBACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,OAAO,EAAE,aAAa,KAAK,KAAK,mBAAmB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;aACtI,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,MAAM;gBACjB,YAAY,EAAE,UAAU;gBACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,yBAAyB;gBAClC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAGvB;QACC,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEtD,6BAA6B;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE5D,4CAA4C;YAC5C,MAAM,OAAO,GAAQ;gBACnB,IAAI,EAAE;oBACJ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI;oBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC;aACF,CAAC;YAEF,qBAAqB;YACrB,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE9D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,OAAO,EAAE,oCAAoC,MAAM,CAAC,QAAQ,EAAE;aAC/D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,MAAM;gBACjB,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,+BAA+B;gBACxC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,QAAgB;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEzC,6CAA6C;QAC7C,IACE,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC5C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC7B,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gBAAgB;QAChB,IACE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC/B,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,mBAAmB;QACnB,IACE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACtC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACvC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EACjC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,sBAAsB;QACtB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF"}