@kywi-software/core 0.14.0 → 0.15.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 (478) hide show
  1. package/AGENT-PATTERNS.md +153 -17
  2. package/README.md +38 -12
  3. package/dist/admin/chrome.d.ts.map +1 -1
  4. package/dist/admin/chrome.js +6 -7
  5. package/dist/admin/chrome.js.map +1 -1
  6. package/dist/admin/field-components.d.ts.map +1 -1
  7. package/dist/admin/field-components.js +27 -1
  8. package/dist/admin/field-components.js.map +1 -1
  9. package/dist/admin/form-helpers.d.ts.map +1 -1
  10. package/dist/admin/form-helpers.js +6 -1
  11. package/dist/admin/form-helpers.js.map +1 -1
  12. package/dist/admin/layout-editor/chrome-env.d.ts +35 -0
  13. package/dist/admin/layout-editor/chrome-env.d.ts.map +1 -0
  14. package/dist/admin/layout-editor/chrome-env.js +13 -0
  15. package/dist/admin/layout-editor/chrome-env.js.map +1 -0
  16. package/dist/admin/layout-editor/component-actions.d.ts +58 -7
  17. package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
  18. package/dist/admin/layout-editor/component-actions.js +131 -5
  19. package/dist/admin/layout-editor/component-actions.js.map +1 -1
  20. package/dist/admin/layout-editor/component-fork.d.ts +4 -4
  21. package/dist/admin/layout-editor/component-fork.d.ts.map +1 -1
  22. package/dist/admin/layout-editor/component-fork.js +76 -10
  23. package/dist/admin/layout-editor/component-fork.js.map +1 -1
  24. package/dist/admin/layout-editor/component-picker-field.d.ts +17 -3
  25. package/dist/admin/layout-editor/component-picker-field.d.ts.map +1 -1
  26. package/dist/admin/layout-editor/component-picker-field.js +5 -2
  27. package/dist/admin/layout-editor/component-picker-field.js.map +1 -1
  28. package/dist/admin/layout-editor/drag-feedback.d.ts +25 -1
  29. package/dist/admin/layout-editor/drag-feedback.d.ts.map +1 -1
  30. package/dist/admin/layout-editor/drag-feedback.js +9 -0
  31. package/dist/admin/layout-editor/drag-feedback.js.map +1 -1
  32. package/dist/admin/layout-editor/drag-utils.d.ts +103 -5
  33. package/dist/admin/layout-editor/drag-utils.d.ts.map +1 -1
  34. package/dist/admin/layout-editor/drag-utils.js +131 -4
  35. package/dist/admin/layout-editor/drag-utils.js.map +1 -1
  36. package/dist/admin/layout-editor/editor-canvas.d.ts +11 -0
  37. package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
  38. package/dist/admin/layout-editor/editor-canvas.js +134 -20
  39. package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
  40. package/dist/admin/layout-editor/editor-dialog.d.ts +58 -3
  41. package/dist/admin/layout-editor/editor-dialog.d.ts.map +1 -1
  42. package/dist/admin/layout-editor/editor-dialog.js +71 -9
  43. package/dist/admin/layout-editor/editor-dialog.js.map +1 -1
  44. package/dist/admin/layout-editor/editor-state.d.ts +119 -0
  45. package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
  46. package/dist/admin/layout-editor/editor-state.js +188 -6
  47. package/dist/admin/layout-editor/editor-state.js.map +1 -1
  48. package/dist/admin/layout-editor/editor-toolbar.d.ts +10 -1
  49. package/dist/admin/layout-editor/editor-toolbar.d.ts.map +1 -1
  50. package/dist/admin/layout-editor/editor-toolbar.js +2 -2
  51. package/dist/admin/layout-editor/editor-toolbar.js.map +1 -1
  52. package/dist/admin/layout-editor/editor.css +216 -8
  53. package/dist/admin/layout-editor/inline-text.d.ts +15 -1
  54. package/dist/admin/layout-editor/inline-text.d.ts.map +1 -1
  55. package/dist/admin/layout-editor/inline-text.js +30 -2
  56. package/dist/admin/layout-editor/inline-text.js.map +1 -1
  57. package/dist/admin/layout-editor/layout-editor.d.ts +21 -16
  58. package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
  59. package/dist/admin/layout-editor/layout-editor.js +40 -17
  60. package/dist/admin/layout-editor/layout-editor.js.map +1 -1
  61. package/dist/admin/layout-editor/linked-component-notes.d.ts +88 -0
  62. package/dist/admin/layout-editor/linked-component-notes.d.ts.map +1 -0
  63. package/dist/admin/layout-editor/linked-component-notes.js +88 -0
  64. package/dist/admin/layout-editor/linked-component-notes.js.map +1 -0
  65. package/dist/admin/layout-editor/module-overlay.d.ts +23 -4
  66. package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
  67. package/dist/admin/layout-editor/module-overlay.js +56 -10
  68. package/dist/admin/layout-editor/module-overlay.js.map +1 -1
  69. package/dist/admin/layout-editor/module-variant-container-config.d.ts.map +1 -1
  70. package/dist/admin/layout-editor/module-variant-container-config.js +9 -2
  71. package/dist/admin/layout-editor/module-variant-container-config.js.map +1 -1
  72. package/dist/admin/layout-editor/module-variant-container-panel.d.ts +75 -0
  73. package/dist/admin/layout-editor/module-variant-container-panel.d.ts.map +1 -0
  74. package/dist/admin/layout-editor/module-variant-container-panel.js +29 -0
  75. package/dist/admin/layout-editor/module-variant-container-panel.js.map +1 -0
  76. package/dist/admin/layout-editor/node-lookup.d.ts.map +1 -1
  77. package/dist/admin/layout-editor/node-lookup.js +33 -3
  78. package/dist/admin/layout-editor/node-lookup.js.map +1 -1
  79. package/dist/admin/layout-editor/overlay-shell.d.ts.map +1 -1
  80. package/dist/admin/layout-editor/overlay-shell.js +19 -4
  81. package/dist/admin/layout-editor/overlay-shell.js.map +1 -1
  82. package/dist/admin/layout-editor/props-panel.d.ts +28 -11
  83. package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
  84. package/dist/admin/layout-editor/props-panel.js +75 -125
  85. package/dist/admin/layout-editor/props-panel.js.map +1 -1
  86. package/dist/admin/layout-editor/section-variant-container-config.d.ts.map +1 -1
  87. package/dist/admin/layout-editor/section-variant-container-config.js +11 -2
  88. package/dist/admin/layout-editor/section-variant-container-config.js.map +1 -1
  89. package/dist/admin/layout-editor/use-chrome-flip.d.ts +99 -11
  90. package/dist/admin/layout-editor/use-chrome-flip.d.ts.map +1 -1
  91. package/dist/admin/layout-editor/use-chrome-flip.js +268 -97
  92. package/dist/admin/layout-editor/use-chrome-flip.js.map +1 -1
  93. package/dist/admin/layout-editor/use-component-connect.d.ts +13 -0
  94. package/dist/admin/layout-editor/use-component-connect.d.ts.map +1 -1
  95. package/dist/admin/layout-editor/use-component-connect.js +116 -20
  96. package/dist/admin/layout-editor/use-component-connect.js.map +1 -1
  97. package/dist/admin/layout-editor/use-component-fork.d.ts +49 -19
  98. package/dist/admin/layout-editor/use-component-fork.d.ts.map +1 -1
  99. package/dist/admin/layout-editor/use-component-fork.js +28 -19
  100. package/dist/admin/layout-editor/use-component-fork.js.map +1 -1
  101. package/dist/admin/layout-editor/use-component-library.d.ts +4 -4
  102. package/dist/admin/layout-editor/use-component-library.d.ts.map +1 -1
  103. package/dist/admin/layout-editor/use-component-library.js +1 -1
  104. package/dist/admin/layout-editor/use-component-library.js.map +1 -1
  105. package/dist/admin/layout-editor/use-editor-dnd.d.ts +10 -0
  106. package/dist/admin/layout-editor/use-editor-dnd.d.ts.map +1 -1
  107. package/dist/admin/layout-editor/use-editor-dnd.js +234 -14
  108. package/dist/admin/layout-editor/use-editor-dnd.js.map +1 -1
  109. package/dist/admin/layout-editor/variant-container-config.d.ts.map +1 -1
  110. package/dist/admin/layout-editor/variant-container-config.js +1 -1
  111. package/dist/admin/layout-editor/variant-container-config.js.map +1 -1
  112. package/dist/admin/layout-editor/variant-editor.d.ts +16 -15
  113. package/dist/admin/layout-editor/variant-editor.d.ts.map +1 -1
  114. package/dist/admin/layout-editor/variant-editor.js +16 -5
  115. package/dist/admin/layout-editor/variant-editor.js.map +1 -1
  116. package/dist/admin/primitives.d.ts.map +1 -1
  117. package/dist/admin/primitives.js +1 -1
  118. package/dist/admin/primitives.js.map +1 -1
  119. package/dist/admin/registry.d.ts +12 -0
  120. package/dist/admin/registry.d.ts.map +1 -1
  121. package/dist/admin/registry.js +12 -0
  122. package/dist/admin/registry.js.map +1 -1
  123. package/dist/admin/server.d.ts +10 -1
  124. package/dist/admin/server.d.ts.map +1 -1
  125. package/dist/admin/server.js +4 -1
  126. package/dist/admin/server.js.map +1 -1
  127. package/dist/admin/site-switcher.d.ts +16 -3
  128. package/dist/admin/site-switcher.d.ts.map +1 -1
  129. package/dist/admin/site-switcher.js +18 -3
  130. package/dist/admin/site-switcher.js.map +1 -1
  131. package/dist/admin/styles/admin.css +0 -3
  132. package/dist/admin/surface-matcher.d.ts +6 -2
  133. package/dist/admin/surface-matcher.d.ts.map +1 -1
  134. package/dist/admin/surface-matcher.js +42 -5
  135. package/dist/admin/surface-matcher.js.map +1 -1
  136. package/dist/admin/surfaces/components/components-data.d.ts +31 -11
  137. package/dist/admin/surfaces/components/components-data.d.ts.map +1 -1
  138. package/dist/admin/surfaces/components/components-data.js +17 -4
  139. package/dist/admin/surfaces/components/components-data.js.map +1 -1
  140. package/dist/admin/surfaces/components/components-list.d.ts.map +1 -1
  141. package/dist/admin/surfaces/components/components-list.js +20 -7
  142. package/dist/admin/surfaces/components/components-list.js.map +1 -1
  143. package/dist/admin/surfaces/components/definition-canvas.d.ts +11 -3
  144. package/dist/admin/surfaces/components/definition-canvas.d.ts.map +1 -1
  145. package/dist/admin/surfaces/components/definition-canvas.js +138 -17
  146. package/dist/admin/surfaces/components/definition-canvas.js.map +1 -1
  147. package/dist/admin/surfaces/dashboard/dashboard-index.d.ts.map +1 -1
  148. package/dist/admin/surfaces/dashboard/dashboard-index.js +2 -2
  149. package/dist/admin/surfaces/dashboard/dashboard-index.js.map +1 -1
  150. package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -1
  151. package/dist/admin/surfaces/layouts/layout-editor-client.js +12 -11
  152. package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -1
  153. package/dist/admin/surfaces/menus/menu-editor.d.ts.map +1 -1
  154. package/dist/admin/surfaces/menus/menu-editor.js +17 -4
  155. package/dist/admin/surfaces/menus/menu-editor.js.map +1 -1
  156. package/dist/admin/surfaces/menus/menu-tree.d.ts +18 -4
  157. package/dist/admin/surfaces/menus/menu-tree.d.ts.map +1 -1
  158. package/dist/admin/surfaces/menus/menu-tree.js +18 -3
  159. package/dist/admin/surfaces/menus/menu-tree.js.map +1 -1
  160. package/dist/admin/surfaces/menus/menus-data.d.ts +18 -0
  161. package/dist/admin/surfaces/menus/menus-data.d.ts.map +1 -1
  162. package/dist/admin/surfaces/menus/menus-data.js +4 -0
  163. package/dist/admin/surfaces/menus/menus-data.js.map +1 -1
  164. package/dist/admin/surfaces/menus/menus-list.d.ts.map +1 -1
  165. package/dist/admin/surfaces/menus/menus-list.js +2 -12
  166. package/dist/admin/surfaces/menus/menus-list.js.map +1 -1
  167. package/dist/admin/surfaces/users/users-data.d.ts +14 -0
  168. package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
  169. package/dist/admin/surfaces/users/users-data.js +19 -0
  170. package/dist/admin/surfaces/users/users-data.js.map +1 -1
  171. package/dist/admin/surfaces/users/users-detail.d.ts.map +1 -1
  172. package/dist/admin/surfaces/users/users-detail.js +40 -4
  173. package/dist/admin/surfaces/users/users-detail.js.map +1 -1
  174. package/dist/admin/surfaces/users/users-new.d.ts.map +1 -1
  175. package/dist/admin/surfaces/users/users-new.js +8 -5
  176. package/dist/admin/surfaces/users/users-new.js.map +1 -1
  177. package/dist/admin/user-form.d.ts +10 -1
  178. package/dist/admin/user-form.d.ts.map +1 -1
  179. package/dist/admin/user-form.js +2 -2
  180. package/dist/admin/user-form.js.map +1 -1
  181. package/dist/api/admin-features-routes.js +2 -2
  182. package/dist/api/admin-features-routes.js.map +1 -1
  183. package/dist/api/audience-preview-routes.d.ts +7 -0
  184. package/dist/api/audience-preview-routes.d.ts.map +1 -1
  185. package/dist/api/audience-preview-routes.js +4 -4
  186. package/dist/api/audience-preview-routes.js.map +1 -1
  187. package/dist/api/audience-routes.d.ts +7 -0
  188. package/dist/api/audience-routes.d.ts.map +1 -1
  189. package/dist/api/audience-routes.js +21 -15
  190. package/dist/api/audience-routes.js.map +1 -1
  191. package/dist/api/audience-runtime-routes.d.ts +6 -0
  192. package/dist/api/audience-runtime-routes.d.ts.map +1 -1
  193. package/dist/api/audience-runtime-routes.js +38 -3
  194. package/dist/api/audience-runtime-routes.js.map +1 -1
  195. package/dist/api/auth-routes.d.ts.map +1 -1
  196. package/dist/api/auth-routes.js +10 -4
  197. package/dist/api/auth-routes.js.map +1 -1
  198. package/dist/api/auth.d.ts +1 -0
  199. package/dist/api/auth.d.ts.map +1 -1
  200. package/dist/api/auth.js +43 -3
  201. package/dist/api/auth.js.map +1 -1
  202. package/dist/api/bulk-routes.d.ts.map +1 -1
  203. package/dist/api/bulk-routes.js +7 -7
  204. package/dist/api/bulk-routes.js.map +1 -1
  205. package/dist/api/category-routes.js +3 -3
  206. package/dist/api/category-routes.js.map +1 -1
  207. package/dist/api/comment-routes.js +8 -8
  208. package/dist/api/comment-routes.js.map +1 -1
  209. package/dist/api/component-routes.d.ts +25 -0
  210. package/dist/api/component-routes.d.ts.map +1 -1
  211. package/dist/api/component-routes.js +41 -16
  212. package/dist/api/component-routes.js.map +1 -1
  213. package/dist/api/content-routes.js +13 -13
  214. package/dist/api/content-routes.js.map +1 -1
  215. package/dist/api/dashboard-routes.js +1 -1
  216. package/dist/api/dashboard-routes.js.map +1 -1
  217. package/dist/api/experiment-routes.d.ts +7 -0
  218. package/dist/api/experiment-routes.d.ts.map +1 -1
  219. package/dist/api/experiment-routes.js +8 -8
  220. package/dist/api/experiment-routes.js.map +1 -1
  221. package/dist/api/experiment-runtime-routes.d.ts +6 -0
  222. package/dist/api/experiment-runtime-routes.d.ts.map +1 -1
  223. package/dist/api/experiment-runtime-routes.js +47 -11
  224. package/dist/api/experiment-runtime-routes.js.map +1 -1
  225. package/dist/api/feed-routes.d.ts +2 -2
  226. package/dist/api/feed-routes.js +3 -3
  227. package/dist/api/feed-routes.js.map +1 -1
  228. package/dist/api/form-routes.js +4 -4
  229. package/dist/api/form-routes.js.map +1 -1
  230. package/dist/api/graphql/resolvers.d.ts +1 -1
  231. package/dist/api/graphql/resolvers.d.ts.map +1 -1
  232. package/dist/api/graphql/resolvers.js +68 -33
  233. package/dist/api/graphql/resolvers.js.map +1 -1
  234. package/dist/api/group-routes.js +6 -6
  235. package/dist/api/group-routes.js.map +1 -1
  236. package/dist/api/index.d.ts +1 -0
  237. package/dist/api/index.d.ts.map +1 -1
  238. package/dist/api/index.js +39 -6
  239. package/dist/api/index.js.map +1 -1
  240. package/dist/api/layout-routes.d.ts.map +1 -1
  241. package/dist/api/layout-routes.js +27 -3
  242. package/dist/api/layout-routes.js.map +1 -1
  243. package/dist/api/media-routes.d.ts.map +1 -1
  244. package/dist/api/media-routes.js +50 -26
  245. package/dist/api/media-routes.js.map +1 -1
  246. package/dist/api/menu-routes.d.ts +9 -1
  247. package/dist/api/menu-routes.d.ts.map +1 -1
  248. package/dist/api/menu-routes.js +44 -10
  249. package/dist/api/menu-routes.js.map +1 -1
  250. package/dist/api/nav-routes.d.ts +6 -0
  251. package/dist/api/nav-routes.d.ts.map +1 -1
  252. package/dist/api/nav-routes.js +24 -3
  253. package/dist/api/nav-routes.js.map +1 -1
  254. package/dist/api/openapi.d.ts.map +1 -1
  255. package/dist/api/openapi.js +68 -33
  256. package/dist/api/openapi.js.map +1 -1
  257. package/dist/api/search-routes.js +2 -2
  258. package/dist/api/search-routes.js.map +1 -1
  259. package/dist/api/section-template-routes.d.ts.map +1 -1
  260. package/dist/api/section-template-routes.js +35 -18
  261. package/dist/api/section-template-routes.js.map +1 -1
  262. package/dist/api/site-admin-routes.d.ts +10 -1
  263. package/dist/api/site-admin-routes.d.ts.map +1 -1
  264. package/dist/api/site-admin-routes.js +21 -1
  265. package/dist/api/site-admin-routes.js.map +1 -1
  266. package/dist/api/site-context.d.ts +35 -5
  267. package/dist/api/site-context.d.ts.map +1 -1
  268. package/dist/api/site-context.js +21 -6
  269. package/dist/api/site-context.js.map +1 -1
  270. package/dist/api/tag-routes.js +3 -3
  271. package/dist/api/tag-routes.js.map +1 -1
  272. package/dist/api/translation-routes.js +5 -5
  273. package/dist/api/translation-routes.js.map +1 -1
  274. package/dist/api/user-routes.d.ts.map +1 -1
  275. package/dist/api/user-routes.js +134 -19
  276. package/dist/api/user-routes.js.map +1 -1
  277. package/dist/api/webhook-routes.js +5 -5
  278. package/dist/api/webhook-routes.js.map +1 -1
  279. package/dist/api/workflow-routes.js +8 -8
  280. package/dist/api/workflow-routes.js.map +1 -1
  281. package/dist/audiences/collectors/identity.d.ts +14 -1
  282. package/dist/audiences/collectors/identity.d.ts.map +1 -1
  283. package/dist/audiences/collectors/identity.js +16 -3
  284. package/dist/audiences/collectors/identity.js.map +1 -1
  285. package/dist/audiences/collectors/index.d.ts +12 -2
  286. package/dist/audiences/collectors/index.d.ts.map +1 -1
  287. package/dist/audiences/collectors/index.js +16 -5
  288. package/dist/audiences/collectors/index.js.map +1 -1
  289. package/dist/audiences/collectors/pinned-audience.d.ts +28 -2
  290. package/dist/audiences/collectors/pinned-audience.d.ts.map +1 -1
  291. package/dist/audiences/collectors/pinned-audience.js +35 -5
  292. package/dist/audiences/collectors/pinned-audience.js.map +1 -1
  293. package/dist/audiences/collectors/utm.d.ts +15 -1
  294. package/dist/audiences/collectors/utm.d.ts.map +1 -1
  295. package/dist/audiences/collectors/utm.js +16 -2
  296. package/dist/audiences/collectors/utm.js.map +1 -1
  297. package/dist/audiences/consent-config.d.ts +21 -0
  298. package/dist/audiences/consent-config.d.ts.map +1 -0
  299. package/dist/audiences/consent-config.js +15 -0
  300. package/dist/audiences/consent-config.js.map +1 -0
  301. package/dist/audiences/consent-startup.d.ts +39 -0
  302. package/dist/audiences/consent-startup.d.ts.map +1 -0
  303. package/dist/audiences/consent-startup.js +105 -0
  304. package/dist/audiences/consent-startup.js.map +1 -0
  305. package/dist/audiences/consent.d.ts +192 -0
  306. package/dist/audiences/consent.d.ts.map +1 -0
  307. package/dist/audiences/consent.js +322 -0
  308. package/dist/audiences/consent.js.map +1 -0
  309. package/dist/audiences/engine.d.ts +7 -0
  310. package/dist/audiences/engine.d.ts.map +1 -1
  311. package/dist/audiences/engine.js +6 -2
  312. package/dist/audiences/engine.js.map +1 -1
  313. package/dist/audiences/index.d.ts +3 -0
  314. package/dist/audiences/index.d.ts.map +1 -1
  315. package/dist/audiences/index.js +6 -0
  316. package/dist/audiences/index.js.map +1 -1
  317. package/dist/audiences/server-eval.d.ts +13 -1
  318. package/dist/audiences/server-eval.d.ts.map +1 -1
  319. package/dist/audiences/server-eval.js +18 -2
  320. package/dist/audiences/server-eval.js.map +1 -1
  321. package/dist/audiences/ssr.d.ts +18 -1
  322. package/dist/audiences/ssr.d.ts.map +1 -1
  323. package/dist/audiences/ssr.js +18 -1
  324. package/dist/audiences/ssr.js.map +1 -1
  325. package/dist/audiences/utm-persistence.d.ts +20 -7
  326. package/dist/audiences/utm-persistence.d.ts.map +1 -1
  327. package/dist/audiences/utm-persistence.js +20 -7
  328. package/dist/audiences/utm-persistence.js.map +1 -1
  329. package/dist/auth/roles.d.ts +11 -0
  330. package/dist/auth/roles.d.ts.map +1 -1
  331. package/dist/auth/roles.js +13 -0
  332. package/dist/auth/roles.js.map +1 -1
  333. package/dist/auth/tokens.d.ts +7 -0
  334. package/dist/auth/tokens.d.ts.map +1 -1
  335. package/dist/auth/tokens.js +24 -2
  336. package/dist/auth/tokens.js.map +1 -1
  337. package/dist/config/types.d.ts +43 -0
  338. package/dist/config/types.d.ts.map +1 -1
  339. package/dist/config/types.js.map +1 -1
  340. package/dist/config/validate.d.ts.map +1 -1
  341. package/dist/config/validate.js +3 -0
  342. package/dist/config/validate.js.map +1 -1
  343. package/dist/db/apply-snapshot.d.ts +18 -0
  344. package/dist/db/apply-snapshot.d.ts.map +1 -1
  345. package/dist/db/apply-snapshot.js +41 -16
  346. package/dist/db/apply-snapshot.js.map +1 -1
  347. package/dist/db/component-instance-queries.d.ts +79 -19
  348. package/dist/db/component-instance-queries.d.ts.map +1 -1
  349. package/dist/db/component-instance-queries.js +266 -83
  350. package/dist/db/component-instance-queries.js.map +1 -1
  351. package/dist/db/component-queries.d.ts +1 -16
  352. package/dist/db/component-queries.d.ts.map +1 -1
  353. package/dist/db/component-queries.js +7 -56
  354. package/dist/db/component-queries.js.map +1 -1
  355. package/dist/db/content-queries.d.ts.map +1 -1
  356. package/dist/db/content-queries.js +1 -2
  357. package/dist/db/content-queries.js.map +1 -1
  358. package/dist/db/extension-queries.d.ts +2 -2
  359. package/dist/db/feed-queries.d.ts +3 -3
  360. package/dist/db/index.d.ts +1 -0
  361. package/dist/db/index.d.ts.map +1 -1
  362. package/dist/db/index.js +1 -0
  363. package/dist/db/index.js.map +1 -1
  364. package/dist/db/layout-queries.d.ts +2 -1
  365. package/dist/db/layout-queries.d.ts.map +1 -1
  366. package/dist/db/layout-queries.js +3 -3
  367. package/dist/db/layout-queries.js.map +1 -1
  368. package/dist/db/menu-queries.d.ts +69 -5
  369. package/dist/db/menu-queries.d.ts.map +1 -1
  370. package/dist/db/menu-queries.js +120 -13
  371. package/dist/db/menu-queries.js.map +1 -1
  372. package/dist/db/section-template-queries.d.ts +62 -0
  373. package/dist/db/section-template-queries.d.ts.map +1 -0
  374. package/dist/db/section-template-queries.js +178 -0
  375. package/dist/db/section-template-queries.js.map +1 -0
  376. package/dist/db/site-plugin-queries.d.ts +2 -2
  377. package/dist/db/tree-queries.d.ts.map +1 -1
  378. package/dist/db/tree-queries.js +5 -0
  379. package/dist/db/tree-queries.js.map +1 -1
  380. package/dist/db/webhook-queries.d.ts +3 -3
  381. package/dist/db/workflow-queries.d.ts.map +1 -1
  382. package/dist/db/workflow-queries.js +5 -20
  383. package/dist/db/workflow-queries.js.map +1 -1
  384. package/dist/experiments/runtime.d.ts +21 -3
  385. package/dist/experiments/runtime.d.ts.map +1 -1
  386. package/dist/experiments/runtime.js +21 -3
  387. package/dist/experiments/runtime.js.map +1 -1
  388. package/dist/layout/component-refs.d.ts +90 -2
  389. package/dist/layout/component-refs.d.ts.map +1 -1
  390. package/dist/layout/component-refs.js +293 -16
  391. package/dist/layout/component-refs.js.map +1 -1
  392. package/dist/layout/index.d.ts +4 -3
  393. package/dist/layout/index.d.ts.map +1 -1
  394. package/dist/layout/index.js +3 -2
  395. package/dist/layout/index.js.map +1 -1
  396. package/dist/layout/legacy-variant-container.d.ts +123 -0
  397. package/dist/layout/legacy-variant-container.d.ts.map +1 -0
  398. package/dist/layout/legacy-variant-container.js +397 -0
  399. package/dist/layout/legacy-variant-container.js.map +1 -0
  400. package/dist/layout/module-permissions.d.ts.map +1 -1
  401. package/dist/layout/module-permissions.js +25 -1
  402. package/dist/layout/module-permissions.js.map +1 -1
  403. package/dist/layout/modules-extended.d.ts +28 -1
  404. package/dist/layout/modules-extended.d.ts.map +1 -1
  405. package/dist/layout/modules-extended.js +73 -1
  406. package/dist/layout/modules-extended.js.map +1 -1
  407. package/dist/layout/modules.d.ts.map +1 -1
  408. package/dist/layout/modules.js +9 -1
  409. package/dist/layout/modules.js.map +1 -1
  410. package/dist/layout/personalization.d.ts +83 -0
  411. package/dist/layout/personalization.d.ts.map +1 -1
  412. package/dist/layout/personalization.js +250 -4
  413. package/dist/layout/personalization.js.map +1 -1
  414. package/dist/layout/registry.d.ts.map +1 -1
  415. package/dist/layout/registry.js +20 -0
  416. package/dist/layout/registry.js.map +1 -1
  417. package/dist/layout/renderer.d.ts +29 -2
  418. package/dist/layout/renderer.d.ts.map +1 -1
  419. package/dist/layout/renderer.js +23 -6
  420. package/dist/layout/renderer.js.map +1 -1
  421. package/dist/layout/types.d.ts +17 -0
  422. package/dist/layout/types.d.ts.map +1 -1
  423. package/dist/layout/types.js +7 -0
  424. package/dist/layout/types.js.map +1 -1
  425. package/dist/media/inline-risk.d.ts +26 -0
  426. package/dist/media/inline-risk.d.ts.map +1 -0
  427. package/dist/media/inline-risk.js +142 -0
  428. package/dist/media/inline-risk.js.map +1 -0
  429. package/dist/nav/builder.d.ts.map +1 -1
  430. package/dist/nav/builder.js +15 -3
  431. package/dist/nav/builder.js.map +1 -1
  432. package/dist/nav/index.d.ts +1 -1
  433. package/dist/nav/index.d.ts.map +1 -1
  434. package/dist/nav/index.js +1 -1
  435. package/dist/nav/index.js.map +1 -1
  436. package/dist/nav/menu-resolver.d.ts +11 -0
  437. package/dist/nav/menu-resolver.d.ts.map +1 -1
  438. package/dist/nav/menu-resolver.js +49 -9
  439. package/dist/nav/menu-resolver.js.map +1 -1
  440. package/dist/nav/paths.d.ts +37 -0
  441. package/dist/nav/paths.d.ts.map +1 -0
  442. package/dist/nav/paths.js +48 -0
  443. package/dist/nav/paths.js.map +1 -0
  444. package/dist/nav/types.d.ts +6 -0
  445. package/dist/nav/types.d.ts.map +1 -1
  446. package/dist/nav/url-resolver.d.ts +1 -5
  447. package/dist/nav/url-resolver.d.ts.map +1 -1
  448. package/dist/nav/url-resolver.js +6 -12
  449. package/dist/nav/url-resolver.js.map +1 -1
  450. package/dist/schema/base.d.ts +24 -4
  451. package/dist/schema/base.d.ts.map +1 -1
  452. package/dist/schema/base.js +17 -4
  453. package/dist/schema/base.js.map +1 -1
  454. package/dist/schema/components.d.ts +90 -9
  455. package/dist/schema/components.d.ts.map +1 -1
  456. package/dist/schema/components.js +113 -22
  457. package/dist/schema/components.js.map +1 -1
  458. package/dist/schema/mysql-tables.d.ts +5758 -48
  459. package/dist/schema/mysql-tables.d.ts.map +1 -1
  460. package/dist/schema/mysql-tables.js +620 -46
  461. package/dist/schema/mysql-tables.js.map +1 -1
  462. package/dist/scope/kywi-form.d.ts +11 -0
  463. package/dist/scope/kywi-form.d.ts.map +1 -1
  464. package/dist/scope/kywi-form.js +11 -1
  465. package/dist/scope/kywi-form.js.map +1 -1
  466. package/dist/scope/kywi-wizard-form.d.ts.map +1 -1
  467. package/dist/scope/kywi-wizard-form.js +76 -2
  468. package/dist/scope/kywi-wizard-form.js.map +1 -1
  469. package/dist/scope/sticky-offset.d.ts +34 -13
  470. package/dist/scope/sticky-offset.d.ts.map +1 -1
  471. package/dist/scope/sticky-offset.js +236 -43
  472. package/dist/scope/sticky-offset.js.map +1 -1
  473. package/dist/site/styles.css +61 -15
  474. package/dist/versioning/scheduler.d.ts +28 -0
  475. package/dist/versioning/scheduler.d.ts.map +1 -1
  476. package/dist/versioning/scheduler.js +50 -3
  477. package/dist/versioning/scheduler.js.map +1 -1
  478. package/package.json +7 -2
@@ -119,7 +119,7 @@ export function registerContentRoutes(router, ctx) {
119
119
  // Scope the soft-delete by the request's resolved site so an id belonging to
120
120
  // another site can't be deleted by id alone (cross-site addressing).
121
121
  const siteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
122
- const siteDenied = assertSiteAccess(auth.user, siteId);
122
+ const siteDenied = assertSiteAccess(auth.user, siteId, ctx.config.auth);
123
123
  if (siteDenied)
124
124
  return siteDenied;
125
125
  // Read the row before deleting: it is both the 404 guard and the hook
@@ -163,7 +163,7 @@ export function registerContentRoutes(router, ctx) {
163
163
  // blocking cross-site publish (the id-keyed publishContent alone can't tell
164
164
  // sites apart).
165
165
  const publishSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
166
- const siteDenied = assertSiteAccess(auth.user, publishSiteId);
166
+ const siteDenied = assertSiteAccess(auth.user, publishSiteId, ctx.config.auth);
167
167
  if (siteDenied)
168
168
  return siteDenied;
169
169
  const row = await publishContent(db, params.id, publishSiteId);
@@ -197,7 +197,7 @@ export function registerContentRoutes(router, ctx) {
197
197
  // Scope by the request's resolved site so a foreign-site id → null → 404
198
198
  // (cross-site unpublish guard, mirroring the by-id publish route).
199
199
  const unpublishSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
200
- const siteDenied = assertSiteAccess(auth.user, unpublishSiteId);
200
+ const siteDenied = assertSiteAccess(auth.user, unpublishSiteId, ctx.config.auth);
201
201
  if (siteDenied)
202
202
  return siteDenied;
203
203
  const row = await unpublishContent(db, params.id, unpublishSiteId);
@@ -234,7 +234,7 @@ export function registerContentRoutes(router, ctx) {
234
234
  // Both the fetch and the restore are scoped to the request's resolved site
235
235
  // so a foreign-site id can't be restored by id alone (cross-site guard).
236
236
  const restoreSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
237
- const siteDenied = assertSiteAccess(auth.user, restoreSiteId);
237
+ const siteDenied = assertSiteAccess(auth.user, restoreSiteId, ctx.config.auth);
238
238
  if (siteDenied)
239
239
  return siteDenied;
240
240
  const existing = await getDeletedContentById(db, params.id, restoreSiteId);
@@ -261,7 +261,7 @@ export function registerContentRoutes(router, ctx) {
261
261
  // fetch and the permanent delete are scoped to the request's resolved site so
262
262
  // a foreign-site id can't be purged by id alone (cross-site guard).
263
263
  const permSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
264
- const siteDenied = assertSiteAccess(auth.user, permSiteId);
264
+ const siteDenied = assertSiteAccess(auth.user, permSiteId, ctx.config.auth);
265
265
  if (siteDenied)
266
266
  return siteDenied;
267
267
  const existing = await getDeletedContentById(db, params.id, permSiteId);
@@ -282,7 +282,7 @@ export function registerContentRoutes(router, ctx) {
282
282
  if (!canAccessContent(auth.user.role, 'delete'))
283
283
  return forbidden();
284
284
  const siteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
285
- const siteDenied = assertSiteAccess(auth.user, siteId);
285
+ const siteDenied = assertSiteAccess(auth.user, siteId, ctx.config.auth);
286
286
  if (siteDenied)
287
287
  return siteDenied;
288
288
  const url = new URL(req.url);
@@ -314,7 +314,7 @@ export function registerContentRoutes(router, ctx) {
314
314
  if (!canAccessContent(auth.user.role, 'delete'))
315
315
  return forbidden();
316
316
  const siteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
317
- const siteDenied = assertSiteAccess(auth.user, siteId);
317
+ const siteDenied = assertSiteAccess(auth.user, siteId, ctx.config.auth);
318
318
  if (siteDenied)
319
319
  return siteDenied;
320
320
  const count = await emptyTrashForSite(db, siteId);
@@ -459,7 +459,7 @@ export function registerContentRoutes(router, ctx) {
459
459
  return validationError(parsed.error.errors.map(e => ({ path: e.path.join('.'), message: e.message })));
460
460
  }
461
461
  const siteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
462
- const siteDenied = assertSiteAccess(auth.user, siteId);
462
+ const siteDenied = assertSiteAccess(auth.user, siteId, ctx.config.auth);
463
463
  if (siteDenied)
464
464
  return siteDenied;
465
465
  const customTable = customTableMap.get(contentType.name) ?? null;
@@ -552,7 +552,7 @@ export function registerContentRoutes(router, ctx) {
552
552
  // to another site resolves to null → 404, blocking the mutation below before
553
553
  // updateContent (which is keyed by id alone) can touch a foreign row.
554
554
  const putSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
555
- const siteDenied = assertSiteAccess(auth.user, putSiteId);
555
+ const siteDenied = assertSiteAccess(auth.user, putSiteId, ctx.config.auth);
556
556
  if (siteDenied)
557
557
  return siteDenied;
558
558
  const existing = await getContentById(db, customTable, params.id, putSiteId);
@@ -643,7 +643,7 @@ export function registerContentRoutes(router, ctx) {
643
643
  const customTable = customTableMap.get(contentType.name) ?? null;
644
644
  // Site-scoped existence guard (see PUT handler): foreign id → 404 before mutate.
645
645
  const patchSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
646
- const siteDenied = assertSiteAccess(auth.user, patchSiteId);
646
+ const siteDenied = assertSiteAccess(auth.user, patchSiteId, ctx.config.auth);
647
647
  if (siteDenied)
648
648
  return siteDenied;
649
649
  const existing = await getContentById(db, customTable, params.id, patchSiteId);
@@ -717,7 +717,7 @@ export function registerContentRoutes(router, ctx) {
717
717
  // null → 404, blocking deleteContent (keyed by id alone) from removing a
718
718
  // foreign row.
719
719
  const delSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
720
- const siteDenied = assertSiteAccess(auth.user, delSiteId);
720
+ const siteDenied = assertSiteAccess(auth.user, delSiteId, ctx.config.auth);
721
721
  if (siteDenied)
722
722
  return siteDenied;
723
723
  const existing = await getContentById(db, customTable, params.id, delSiteId);
@@ -748,7 +748,7 @@ export function registerContentRoutes(router, ctx) {
748
748
  // matching the site-scoped existence guard the typed PUT/PATCH/DELETE routes
749
749
  // already apply (publishContent is otherwise keyed by id alone).
750
750
  const publishSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
751
- const siteDenied = assertSiteAccess(auth.user, publishSiteId);
751
+ const siteDenied = assertSiteAccess(auth.user, publishSiteId, ctx.config.auth);
752
752
  if (siteDenied)
753
753
  return siteDenied;
754
754
  const row = await publishContent(db, params.id, publishSiteId);
@@ -776,7 +776,7 @@ export function registerContentRoutes(router, ctx) {
776
776
  return forbidden();
777
777
  // Scope by the request's resolved site (cross-site unpublish guard).
778
778
  const unpublishSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
779
- const siteDenied = assertSiteAccess(auth.user, unpublishSiteId);
779
+ const siteDenied = assertSiteAccess(auth.user, unpublishSiteId, ctx.config.auth);
780
780
  if (siteDenied)
781
781
  return siteDenied;
782
782
  const row = await unpublishContent(db, params.id, unpublishSiteId);
@@ -1 +1 @@
1
- {"version":3,"file":"content-routes.js","sourceRoot":"","sources":["../../src/api/content-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-routes.js","sourceRoot":"","sources":["../../src/api/content-routes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAE7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAClH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAA+B,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACjJ,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC3F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACrI,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAEhB,sBAAsB,GACvB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAG/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,UAAU,kBAAkB,CAC/B,EAAU,EACV,SAAiB,EACjB,MAAyC,EACzC,MAA0B,EAC1B,OAAgC;IAEhC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAM;IAChC,MAAM,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACrD,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;AAC5B,CAAC;AAcD,KAAK,UAAU,YAAY,CAAC,GAAY,EAAE,UAAkB,EAAE,EAAU;IACtE,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,GAAwB;IAC5E,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,GAAG,CAAA;IAE9D,SAAS,cAAc,CAAC,QAAgB;QACtC,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAA;IAC7C,CAAC;IAED,mEAAmE;IACnE,uEAAuE;IACvE,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,yCAAyC;IACzC,KAAK,UAAU,sBAAsB,CACnC,OAAmD,EACnD,MAAqB,EACrB,UAAmB;QAEnB,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,MAAM,SAAS,GAAG,OAAO,CAAC,EAAwB,CAAA;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAA4B,CAAA;QACnD,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM;YAAE,OAAM;QACjC,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,EAAE,EAAE;gBAC7B,SAAS;gBACT,MAAM;gBACN,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAG,OAAO,CAAC,MAAiB,IAAI,OAAO;gBAC7C,SAAS,EAAE,MAAM;gBACjB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAED,qFAAqF;IAErF,oEAAoE;IACpE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAG,EAAE,MAAM,CAAC,CAAA;QAC/D,IAAI,CAAC,IAAI;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAE/C,MAAM,eAAe,GAAG,IAAI,CAAC,eAAyB,CAAA;QACtD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAA;QAE/D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,EAAE,MAAM,CAAC,CAAA;YACxE,IAAI,CAAC,MAAM;gBAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;YACjD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;QACvB,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,wDAAwD;IACxD,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAC/D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,uEAAuE;IACvE,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QACnE,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEjG,0EAA0E;QAC1E,2EAA2E;QAC3E,uDAAuD;QACvD,EAAE;QACF,6EAA6E;QAC7E,qEAAqE;QACrE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QAEjC,sEAAsE;QACtE,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAG,EAAE,MAAM,CAAC,CAAA;QAC/D,IAAI,CAAC,IAAI;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAE/C,4EAA4E;QAC5E,0EAA0E;QAC1E,2EAA2E;QAC3E,kEAAkE;QAClE,MAAM,WAAW,GAAG,cAAc,CAAE,IAAgC,CAAC,eAAyB,CAAC,CAAA;QAC/F,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACrF,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,EAAE,MAAM,CAAC,CAAC,IAAI,IAAI;YACrE,CAAC,CAAC,IAAI,CAAA;QAER,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjG,CAAC,CAAC,IAAI,CAAA;QACR,IAAI,QAAQ;YAAE,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAe,CAAC,CAAA;QAE1D,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,MAAM,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAClD,IAAI,QAAQ;YAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAe,CAAC,CAAA;QAEzD,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,0EAA0E;IAC1E,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QACpE,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAElG,0EAA0E;QAC1E,4EAA4E;QAC5E,gBAAgB;QAChB,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9E,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,aAAa,CAAC,CAAA;QAC/D,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAE9C,6EAA6E;QAC7E,8DAA8D;QAC9D,sEAAsE;QACtE,4EAA4E;QAC5E,2EAA2E;QAC3E,2EAA2E;QAC3E,gEAAgE;QAChE,MAAM,WAAW,GAAG,cAAc,CAAE,GAA+B,CAAC,eAAyB,CAAC,CAAA;QAC9F,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAChH,MAAM,QAAQ,CAAC,YAAY,CAAC,GAAU,CAAC,CAAA;QACzC,CAAC;QAED,wEAAwE;QACxE,MAAM,sBAAsB,CAAC,GAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;QAEvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QACpE,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAElG,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QACrE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChF,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,eAAe,CAAC,CAAA;QACnE,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAE9C,oEAAoE;QACpE,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,oCAAoC;QACpC,MAAM,WAAW,GAAG,cAAc,CAAE,GAA+B,CAAC,eAAyB,CAAC,CAAA;QAC9F,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAChH,MAAM,QAAQ,CAAC,cAAc,CAAC,GAAU,CAAC,CAAA;QAC3C,CAAC;QAED,0EAA0E;QAC1E,MAAM,sBAAsB,CAAC,GAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;QAEzF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,kCAAkC;IAClC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAClE,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEhG,4EAA4E;QAC5E,8EAA8E;QAC9E,6EAA6E;QAC7E,6EAA6E;QAC7E,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9E,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,aAAa,CAAC,CAAA;QAE3E,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,0BAA0B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,aAAa,CAAC,CAAA;QACtG,IAAI,CAAC,QAAQ;YAAE,OAAO,QAAQ,CAAC,kCAAkC,CAAC,CAAA;QAElE,kBAAkB;QAClB,MAAM,aAAa,GAAG,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACjE,IAAI,QAAQ;YAAE,MAAM,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAExD,OAAO,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,sCAAsC;IACtC,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QACnE,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEjG,0EAA0E;QAC1E,yEAAyE;QACzE,8EAA8E;QAC9E,oEAAoE;QACpE,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC3E,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,UAAU,CAAC,CAAA;QAExE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,UAAU,CAAC,CAAA;QACxE,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,mCAAmC,CAAC,CAAA;QAElE,kBAAkB;QAClB,MAAM,aAAa,GAAG,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACjE,IAAI,QAAQ;YAAE,MAAM,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEhE,OAAO,MAAM,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,4DAA4D;IAC5D,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEnE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QACnG,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;QAEpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QACzF,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,2EAA2E;IAC3E,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEjE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QACnG,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;QAEpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,qBAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QACpF,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,qDAAqD;IACrD,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEnE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACjD,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,yEAAyE;IACzE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEjE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACxC,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,6EAA6E;IAE7E,oCAAoC;IACpC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACjD,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;QACjD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QAEnD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5D,wFAAwF;QACxF,OAAQ,OAAe,CAAC,MAAM,CAAA;QAC9B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAEhE,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC3E,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;QAE5D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CACvC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CACjF,CAAA;QAED,mCAAmC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAClC,mBAAmB,CAAC,GAA8B,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAC3F,CAAA;QAED,OAAO,WAAW,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IAChG,CAAC,CAAC,CAAA;IAEF,qCAAqC;IACrC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACrD,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;QACjD,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAEhE,4CAA4C;QAC5C,IAAI,GAAG,GAAmC,IAAI,CAAA;QAC9C,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;YAC5D,GAAG,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QAC3D,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;YAC5D,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,EAAE,MAAM,CAAmC,CAAA;QACnG,CAAC;QACD,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAE9C,8BAA8B;QAC9B,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC9E,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;QAE/D,oEAAoE;QACpE,IAAK,GAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC3E,IAAI,CAAC,QAAQ;gBAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QACrD,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QAC5C,mCAAmC;QACnC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAA8B,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC3G,OAAO,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,oFAAoF;IACpF,EAAE;IACF,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,gBAAgB,GAAiB,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAEpD,4CAA4C;QAC5C,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAK,CAAC,CAAA;YACtE,IAAI,MAAM,EAAE,CAAC;gBACX,mCAAmC;gBACnC,MAAM,QAAQ,GAAI,MAAkC,CAAC,eAAqC,CAAA;gBAC1F,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC9D,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBACxF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAA;YACxD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,CAAA;YACzE,IAAI,GAAG,EAAE,CAAC;gBACR,mCAAmC;gBACnC,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAA8B,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;gBAC7G,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,CAAA;QAClE,IAAI,GAAG;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QAE3B,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC,CAAA;IACD,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAA;IACnD,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAA;IAEnD,+BAA+B;IAC/B,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAElE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEnF,IAAI,IAAa,CAAA;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC,aAAa,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,eAAe,CACpB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC/E,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAEhE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAChH,IAAI,IAA6B,CAAA;QACjC,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/C,wEAAwE;YACxE,uDAAuD;YACvD,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBACvC,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACtF,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;QACD,sEAAsE;QACtE,yEAAyE;QACzE,6EAA6E;QAC7E,yEAAyE;QACzE,EAAE;QACF,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,qCAAqC;QACrC,EAAE;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,gEAAgE;QAChE,MAAM,YAAY,GAAG,MAAM,4BAA4B,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAC/F,IAAI,CAAC,YAAY,CAAC,EAAE;YAAE,OAAO,YAAY,CAAC,QAAQ,CAAA;QAClD,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAA;QAChC,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAA;QAEvF,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7F,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAc,CAAC,CAAA;QAE1C,0BAA0B;QAC1B,MAAM,aAAa,GAAG,OAAkC,CAAA;QACxD,MAAM,eAAe,CAAC,EAAE,EAAE,aAAa,CAAC,EAAY,EAAG,MAAM,CAAC,IAAY,CAAC,MAAM,CAAC,CAAA;QAElF,OAAO,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,uCAAuC;IACvC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAElE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QACnF,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEhG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QACpD,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC,QAAQ,EAAE,0CAA0C,EAAE,GAAG,CAAC,CAAA;QAC7E,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QAC9C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE;gBACnD,QAAQ,EAAE,QAAQ,CAAC,MAAM;gBACzB,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE;aAC5C,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,IAAa,CAAA;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC,aAAa,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QAED,4EAA4E;QAC5E,8EAA8E;QAC9E,6EAA6E;QAC7E,8EAA8E;QAC9E,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,eAAe,CACpB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC/E,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAChH,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAChE,4EAA4E;QAC5E,6EAA6E;QAC7E,sEAAsE;QACtE,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1E,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,EAAE,SAAS,CAAC,CAAA;QAC7E,IAAI,CAAC,QAAQ;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QACnD,IAAI,IAA6B,CAAA;QACjC,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,QAAe,CAAC,CAAA;YAChE,gEAAgE;YAChE,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBACvC,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACtF,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;QACD,uEAAuE;QACvE,6EAA6E;QAC7E,6EAA6E;QAC7E,yEAAyE;QACzE,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAClD,EAAE,EACF,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,IAAI,EACJ,CAAE,QAAoC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAA0B,EAClF,SAAS,CACV,CAAA;QACD,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC,QAAQ,CAAA;QAC5C,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAA;QAE7B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjG,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAClD,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAkC,CAAC,CAAA;QAC/G,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAc,CAAC,CAAA;QAE1C,oCAAoC;QACpC,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAG,MAAM,CAAC,IAAY,CAAC,MAAM,CAAC,CAAA;QAElE,wEAAwE;QACxE,4EAA4E;QAC5E,2CAA2C;QAC3C,MAAM,cAAc,GAAG,QAAmC,CAAA;QAC1D,MAAM,aAAa,GAAG,OAAkC,CAAA;QACxD,IAAI,cAAc,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,cAAc,CAAC,IAAc,EAAE,aAAa,CAAC,IAAc,CAC5E,CAAA;YACD,MAAM,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAW,CAAA;YACtD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAK,CAAC,cAAc,CAAC,IAAI,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,CAAY,CAAA;YAClG,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAK,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,EAAE,CAAY,CAAA;YAChG,IAAI,OAAO;gBAAE,aAAa,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;YACjD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/C,CAAC;QAED,qEAAqE;QACrE,MAAM,sBAAsB,CAAC,OAAkC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAEvF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,4CAA4C;IAC5C,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAElE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QACnF,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEhG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QACpD,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC,QAAQ,EAAE,0CAA0C,EAAE,GAAG,CAAC,CAAA;QAC7E,CAAC;QAED,IAAI,IAAa,CAAA;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC,aAAa,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,eAAe,CACpB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC/E,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAChH,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAChE,iFAAiF;QACjF,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QACjE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5E,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,EAAE,WAAW,CAAC,CAAA;QAC/E,IAAI,CAAC,QAAQ;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QACnD,IAAI,IAA6B,CAAA;QACjC,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,QAAe,CAAC,CAAA;YAChE,gEAAgE;YAChE,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBACvC,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACtF,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;QACD,qEAAqE;QACrE,MAAM,WAAW,GAAG,MAAM,4BAA4B,CACpD,EAAE,EACF,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,IAAI,EACJ,CAAE,QAAoC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAA0B,EAClF,WAAW,CACZ,CAAA;QACD,IAAI,CAAC,WAAW,CAAC,EAAE;YAAE,OAAO,WAAW,CAAC,QAAQ,CAAA;QAChD,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAA;QAE/B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjG,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAClD,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,OAAkC,CAAC,CAAA;QACnH,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAc,CAAC,CAAA;QAE1C,mCAAmC;QACnC,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAG,MAAM,CAAC,IAAY,CAAC,MAAM,CAAC,CAAA;QAElE,wEAAwE;QACxE,4EAA4E;QAC5E,2CAA2C;QAC3C,MAAM,aAAa,GAAG,QAAmC,CAAA;QACzD,MAAM,YAAY,GAAG,OAAkC,CAAA;QACvD,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,aAAa,CAAC,IAAc,EAAE,YAAY,CAAC,IAAc,CAC1E,CAAA;YACD,MAAM,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,IAAI,EAAE,CAAW,CAAA;YACrD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAK,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,EAAE,CAAY,CAAA;YAChG,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAK,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,CAAY,CAAA;YAC9F,IAAI,OAAO;gBAAE,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;YAChD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,MAAM,sBAAsB,CAAC,OAAkC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAEvF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,0CAA0C;IAC1C,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEnE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QACpF,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEjG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QACpD,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC,QAAQ,EAAE,0CAA0C,EAAE,GAAG,CAAC,CAAA;QAC7E,CAAC;QAED,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAChH,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAChE,0EAA0E;QAC1E,yEAAyE;QACzE,eAAe;QACf,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1E,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,EAAE,SAAS,CAAC,CAAA;QAC7E,IAAI,CAAC,QAAQ;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QACnD,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAe,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAClD,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAe,CAAC,CAAA;QAE3C,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,kCAAkC;IAClC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEpE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QACrF,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAElG,wEAAwE;QACxE,6EAA6E;QAC7E,iEAAiE;QACjE,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9E,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,aAAa,CAAC,CAAA;QAC/D,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAC9C,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAChH,MAAM,QAAQ,CAAC,YAAY,CAAC,GAAU,CAAC,CAAA;QAEvC,wEAAwE;QACxE,MAAM,sBAAsB,CAAC,GAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;QAEvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,oCAAoC;IACpC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEpE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QACrF,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAElG,qEAAqE;QACrE,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QACrE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChF,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,eAAe,CAAC,CAAA;QACnE,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAE9C,4EAA4E;QAC5E,6EAA6E;QAC7E,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAChH,MAAM,QAAQ,CAAC,cAAc,CAAC,GAAU,CAAC,CAAA;QAEzC,0EAA0E;QAC1E,MAAM,sBAAsB,CAAC,GAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;QAEzF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAE9E,+EAA+E;IAC/E,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC3D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,SAA6B,CAAA;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAA;YACxD,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACvC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;YAC5B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,SAAS,CAAC,CAAA;QAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,8DAA8D;YAC9D,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,6EAA6E;IAE7E,qEAAqE;IACrE,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAElE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,OAAO,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;oBAClD,QAAQ,EAAE,GAAG,CAAC,UAAU;oBACxB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;iBACvC,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,uEAAuE;IACvE,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAErC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ;YAAE,OAAO,QAAQ,CAAC,oCAAoC,CAAC,CAAA;QAEpE,OAAO,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,wEAAwE;IACxE,MAAM,CAAC,MAAM,CAAC,+BAA+B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACnE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEhE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QACjD,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,eAAe,CAAC,CAAA;QAE9C,OAAO,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -27,7 +27,7 @@ export function registerDashboardRoutes(router, ctx) {
27
27
  if (!hasMinRole(auth.user.role, 'editor'))
28
28
  return forbidden();
29
29
  const siteId = resolveSiteId(req, config, siteIdMap);
30
- const siteDenied = assertSiteAccess(auth.user, siteId);
30
+ const siteDenied = assertSiteAccess(auth.user, siteId, config.auth);
31
31
  if (siteDenied)
32
32
  return siteDenied;
33
33
  const stats = await getDashboardStats(db, siteId);
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-routes.js","sourceRoot":"","sources":["../../src/api/dashboard-routes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAS9D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,GAA0B;IAChF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAA;IAEjD,8EAA8E;IAC9E,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAE7D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACtD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACjD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"dashboard-routes.js","sourceRoot":"","sources":["../../src/api/dashboard-routes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAS9D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,GAA0B;IAChF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAA;IAEjD,8EAA8E;IAC9E,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAE7D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACnE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACjD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,9 +1,16 @@
1
1
  import type { Router } from './router.js';
2
2
  import type { KywiDb } from '../db/client.js';
3
+ import type { SiteAccessPolicy } from './site-context.js';
3
4
  interface ExperimentRouteContext {
4
5
  db: KywiDb;
5
6
  authSecret: string;
6
7
  defaultSiteId: string;
8
+ /**
9
+ * Per-site authorization policy (kywi-cms#74). This context carries no
10
+ * `KywiConfig` — routes that have one pass `config.auth` directly — so the
11
+ * policy is threaded in explicitly. Pass `config.auth`.
12
+ */
13
+ siteAuth: SiteAccessPolicy;
7
14
  }
8
15
  export declare function registerExperimentRoutes(router: Router, ctx: ExperimentRouteContext): void;
9
16
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"experiment-routes.d.ts","sourceRoot":"","sources":["../../src/api/experiment-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAoB7C,UAAU,sBAAsB;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAiED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,GAAG,IAAI,CAmM1F"}
1
+ {"version":3,"file":"experiment-routes.d.ts","sourceRoot":"","sources":["../../src/api/experiment-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAI7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAiBzD,UAAU,sBAAsB;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,EAAE,gBAAgB,CAAA;CAC3B;AAiED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,GAAG,IAAI,CAmM1F"}
@@ -64,7 +64,7 @@ function toVariantInputs(variants) {
64
64
  }
65
65
  // ─── Route registration ─────────────────────────────────────────────────────
66
66
  export function registerExperimentRoutes(router, ctx) {
67
- const { db, authSecret, defaultSiteId } = ctx;
67
+ const { db, authSecret, defaultSiteId, siteAuth } = ctx;
68
68
  async function authenticate(req) {
69
69
  return resolveAuth(req.headers.get('authorization'), authSecret, db);
70
70
  }
@@ -77,7 +77,7 @@ export function registerExperimentRoutes(router, ctx) {
77
77
  return forbidden();
78
78
  const url = new URL(req.url);
79
79
  const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), defaultSiteId);
80
- const siteDenied = assertSiteAccess(user, siteId);
80
+ const siteDenied = assertSiteAccess(user, siteId, siteAuth);
81
81
  if (siteDenied)
82
82
  return siteDenied;
83
83
  return jsonOk(await listExperiments(db, siteId));
@@ -105,7 +105,7 @@ export function registerExperimentRoutes(router, ctx) {
105
105
  return validationError([{ path: 'variants', message: splits.error ?? 'Invalid traffic splits' }]);
106
106
  }
107
107
  const siteId = await toSiteUuid(db, parsed.data.siteId, defaultSiteId);
108
- const siteDenied = assertSiteAccess(user, siteId);
108
+ const siteDenied = assertSiteAccess(user, siteId, siteAuth);
109
109
  if (siteDenied)
110
110
  return siteDenied;
111
111
  const experiment = await createExperiment(db, {
@@ -131,7 +131,7 @@ export function registerExperimentRoutes(router, ctx) {
131
131
  return forbidden();
132
132
  const url = new URL(req.url);
133
133
  const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), defaultSiteId);
134
- const siteDenied = assertSiteAccess(user, siteId);
134
+ const siteDenied = assertSiteAccess(user, siteId, siteAuth);
135
135
  if (siteDenied)
136
136
  return siteDenied;
137
137
  const experiment = await getExperimentById(db, params.id, siteId);
@@ -159,7 +159,7 @@ export function registerExperimentRoutes(router, ctx) {
159
159
  }
160
160
  const url = new URL(req.url);
161
161
  const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), defaultSiteId);
162
- const siteDenied = assertSiteAccess(user, siteId);
162
+ const siteDenied = assertSiteAccess(user, siteId, siteAuth);
163
163
  if (siteDenied)
164
164
  return siteDenied;
165
165
  const existing = await getExperimentById(db, params.id, siteId);
@@ -184,7 +184,7 @@ export function registerExperimentRoutes(router, ctx) {
184
184
  return forbidden();
185
185
  const url = new URL(req.url);
186
186
  const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), defaultSiteId);
187
- const siteDenied = assertSiteAccess(user, siteId);
187
+ const siteDenied = assertSiteAccess(user, siteId, siteAuth);
188
188
  if (siteDenied)
189
189
  return siteDenied;
190
190
  const experiment = await getExperimentById(db, params.id, siteId);
@@ -235,7 +235,7 @@ export function registerExperimentRoutes(router, ctx) {
235
235
  update.variants = toVariantInputs(parsed.data.variants);
236
236
  const url = new URL(req.url);
237
237
  const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), defaultSiteId);
238
- const siteDenied = assertSiteAccess(user, siteId);
238
+ const siteDenied = assertSiteAccess(user, siteId, siteAuth);
239
239
  if (siteDenied)
240
240
  return siteDenied;
241
241
  const experiment = await updateExperiment(db, params.id, update, siteId);
@@ -252,7 +252,7 @@ export function registerExperimentRoutes(router, ctx) {
252
252
  return forbidden();
253
253
  const url = new URL(req.url);
254
254
  const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), defaultSiteId);
255
- const siteDenied = assertSiteAccess(user, siteId);
255
+ const siteDenied = assertSiteAccess(user, siteId, siteAuth);
256
256
  if (siteDenied)
257
257
  return siteDenied;
258
258
  const deleted = await deleteExperiment(db, params.id, siteId);
@@ -1 +1 @@
1
- {"version":3,"file":"experiment-routes.js","sourceRoot":"","sources":["../../src/api/experiment-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"experiment-routes.js","sourceRoot":"","sources":["../../src/api/experiment-routes.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ import type { KywiDb } from '../db/client.js';
3
3
  interface ExperimentRuntimeContext {
4
4
  db: KywiDb;
5
5
  defaultSiteId: string;
6
+ /**
7
+ * `theme.personalization.requireConsent` (kywi-cms#91). Defaults to true;
8
+ * `false` turns the kywi_visitor consent gate off for a site that collects
9
+ * consent with external tooling.
10
+ */
11
+ requireConsent?: boolean;
6
12
  }
7
13
  export declare function registerExperimentRuntimeRoutes(router: Router, ctx: ExperimentRuntimeContext): void;
8
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"experiment-runtime-routes.d.ts","sourceRoot":"","sources":["../../src/api/experiment-runtime-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAS7C,UAAU,wBAAwB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;CACtB;AAmBD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,wBAAwB,GAAG,IAAI,CA0EnG"}
1
+ {"version":3,"file":"experiment-runtime-routes.d.ts","sourceRoot":"","sources":["../../src/api/experiment-runtime-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAU7C,UAAU,wBAAwB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAmDD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,wBAAwB,GAAG,IAAI,CAgGnG"}
@@ -5,16 +5,35 @@ import { getExperimentById, getAssignment, recordConversion, recordConversionsFo
5
5
  import { resolveExperimentForContainer } from '../experiments/runtime.js';
6
6
  import { assignVariant } from '../experiments/engine.js';
7
7
  import { COOKIE_NAMES, COOKIE_MAX_AGE, buildSetCookieHeader, parseCookies } from '../audiences/cookies.js';
8
- /** Read the visitor id from the kywi_visitor cookie / body, minting one if absent. */
9
- function resolveVisitor(req, bodyVisitorId) {
10
- const cookies = parseCookies(req.headers.get('cookie') ?? '');
8
+ import { cookieAllowedByHeader } from '../audiences/consent.js';
9
+ /**
10
+ * Read the visitor id from the kywi_visitor cookie / body, minting one if absent.
11
+ *
12
+ * `kywi_visitor` — the id experiment bucketing and exposure hang off — is a
13
+ * `personalization` cookie in the map `audiences/consent.ts` owns, so without
14
+ * consent it is neither written NOR READ (kywi-cms#91). Ignoring the stored id
15
+ * is the half that matters after a rejection: a visitor who accepted last month
16
+ * still carries the cookie, and honouring it would keep them tracked under the
17
+ * identity they just revoked. The body's `visitorId` is ignored for the same
18
+ * reason — it is the same identity arriving through a different channel.
19
+ *
20
+ * An unconsented request still gets a variant, computed against a throwaway id,
21
+ * so the page renders and buckets normally. `tracked: false` tells the caller
22
+ * that id must not reach the database.
23
+ */
24
+ function resolveVisitor(req, bodyVisitorId, gate = {}) {
25
+ const cookieHeader = req.headers.get('cookie');
26
+ if (!cookieAllowedByHeader(COOKIE_NAMES.VISITOR, cookieHeader, gate)) {
27
+ return { visitorId: `vis-${randomUUID()}`, setCookie: null, tracked: false };
28
+ }
29
+ const cookies = parseCookies(cookieHeader ?? '');
11
30
  const fromCookie = cookies.get(COOKIE_NAMES.VISITOR);
12
31
  const existing = fromCookie ? decodeURIComponent(fromCookie) : bodyVisitorId;
13
32
  if (existing)
14
- return { visitorId: existing, setCookie: null };
33
+ return { visitorId: existing, setCookie: null, tracked: true };
15
34
  const visitorId = `vis-${randomUUID()}`;
16
35
  const setCookie = buildSetCookieHeader(COOKIE_NAMES.VISITOR, visitorId, COOKIE_MAX_AGE.VISITOR, { httpOnly: false });
17
- return { visitorId, setCookie };
36
+ return { visitorId, setCookie, tracked: true };
18
37
  }
19
38
  function jsonData(data, status = 200, setCookie) {
20
39
  const headers = { 'Content-Type': 'application/json' };
@@ -24,6 +43,9 @@ function jsonData(data, status = 200, setCookie) {
24
43
  }
25
44
  export function registerExperimentRuntimeRoutes(router, ctx) {
26
45
  const { db, defaultSiteId } = ctx;
46
+ // Built conditionally: under `exactOptionalPropertyTypes` an explicit
47
+ // `undefined` is not the same as an absent key.
48
+ const gate = ctx.requireConsent === undefined ? {} : { requireConsent: ctx.requireConsent };
27
49
  // POST /kywi/experiments/assign — return the visitor's deterministic variant.
28
50
  router.post('/kywi/experiments/assign', async (req) => {
29
51
  const body = (await req.json().catch(() => ({})));
@@ -32,7 +54,7 @@ export function registerExperimentRuntimeRoutes(router, ctx) {
32
54
  const experiment = await getExperimentById(db, body.experimentId);
33
55
  if (!experiment)
34
56
  return notFound('Experiment not found');
35
- const { visitorId, setCookie } = resolveVisitor(req, body.visitorId);
57
+ const { visitorId, setCookie } = resolveVisitor(req, body.visitorId, gate);
36
58
  const assignment = assignVariant(experiment, visitorId);
37
59
  if (!assignment)
38
60
  return jsonError('NO_VARIANTS', 'Experiment has no variants', 400);
@@ -47,19 +69,33 @@ export function registerExperimentRuntimeRoutes(router, ctx) {
47
69
  const experiment = await getExperimentById(db, body.experimentId);
48
70
  if (!experiment)
49
71
  return notFound('Experiment not found');
50
- const { visitorId, setCookie } = resolveVisitor(req, body.visitorId);
51
- const resolution = await resolveExperimentForContainer(db, experiment, visitorId);
52
- return jsonData({ experimentId: experiment.id, variantId: resolution.variantId, recorded: resolution.variantId !== null }, 200, setCookie);
72
+ const { visitorId, setCookie, tracked } = resolveVisitor(req, body.visitorId, gate);
73
+ // Gate recording on the experiment actually running — a draft, paused or
74
+ // completed experiment must still resolve (so the client-recomputed variant
75
+ // stays deterministic) but must not accrue traffic (kywi-cms#168, matching
76
+ // the status gate `apps/reference/lib/layout-experiments.ts` applies).
77
+ // An unconsented visitor is likewise told which variant they are seeing but
78
+ // no exposure row is written against a throwaway id (kywi-cms#91).
79
+ const shouldRecord = experiment.status === 'running' && tracked;
80
+ const resolution = await resolveExperimentForContainer(db, experiment, visitorId, {
81
+ recordExposure: shouldRecord,
82
+ });
83
+ return jsonData({ experimentId: experiment.id, variantId: resolution.variantId, recorded: shouldRecord && resolution.variantId !== null }, 200, setCookie);
53
84
  });
54
85
  // POST /kywi/experiments/conversion — record a conversion.
55
86
  // Signal form: { event: { type, url?, formId?, eventName? } } (server matches goals)
56
87
  // Explicit form: { experimentId, goalType } (attributes to assigned variant)
57
88
  router.post('/kywi/experiments/conversion', async (req) => {
58
89
  const body = (await req.json().catch(() => ({})));
59
- const { visitorId, setCookie } = resolveVisitor(req, body.visitorId);
90
+ const { visitorId, setCookie, tracked } = resolveVisitor(req, body.visitorId, gate);
60
91
  const siteId = await toSiteUuid(db, body.siteId, defaultSiteId);
61
92
  if (body.event) {
62
- const recorded = await recordConversionsForSignal(db, siteId, visitorId, body.event);
93
+ // An untracked visitor's id is a throwaway with no assignment behind it,
94
+ // so the matcher would find nothing to attribute and record zero anyway.
95
+ // Skipping the query outright is not a behaviour change, it just stops the
96
+ // gate from being accidental — and keeps this route symmetric with the
97
+ // exposure one above (kywi-cms#91).
98
+ const recorded = tracked ? await recordConversionsForSignal(db, siteId, visitorId, body.event) : 0;
63
99
  return jsonData({ recorded }, 200, setCookie);
64
100
  }
65
101
  if (body.experimentId && body.goalType) {
@@ -1 +1 @@
1
- {"version":3,"file":"experiment-runtime-routes.js","sourceRoot":"","sources":["../../src/api/experiment-runtime-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"experiment-runtime-routes.js","sourceRoot":"","sources":["../../src/api/experiment-runtime-routes.ts"],"names":[],"mappings":"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"}