stellar-drive 1.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 (246) hide show
  1. package/README.md +607 -0
  2. package/dist/actions/remoteChange.d.ts +204 -0
  3. package/dist/actions/remoteChange.d.ts.map +1 -0
  4. package/dist/actions/remoteChange.js +424 -0
  5. package/dist/actions/remoteChange.js.map +1 -0
  6. package/dist/actions/truncateTooltip.d.ts +56 -0
  7. package/dist/actions/truncateTooltip.d.ts.map +1 -0
  8. package/dist/actions/truncateTooltip.js +312 -0
  9. package/dist/actions/truncateTooltip.js.map +1 -0
  10. package/dist/auth/crypto.d.ts +41 -0
  11. package/dist/auth/crypto.d.ts.map +1 -0
  12. package/dist/auth/crypto.js +50 -0
  13. package/dist/auth/crypto.js.map +1 -0
  14. package/dist/auth/deviceVerification.d.ts +283 -0
  15. package/dist/auth/deviceVerification.d.ts.map +1 -0
  16. package/dist/auth/deviceVerification.js +575 -0
  17. package/dist/auth/deviceVerification.js.map +1 -0
  18. package/dist/auth/displayUtils.d.ts +98 -0
  19. package/dist/auth/displayUtils.d.ts.map +1 -0
  20. package/dist/auth/displayUtils.js +145 -0
  21. package/dist/auth/displayUtils.js.map +1 -0
  22. package/dist/auth/loginGuard.d.ts +134 -0
  23. package/dist/auth/loginGuard.d.ts.map +1 -0
  24. package/dist/auth/loginGuard.js +276 -0
  25. package/dist/auth/loginGuard.js.map +1 -0
  26. package/dist/auth/offlineCredentials.d.ts +105 -0
  27. package/dist/auth/offlineCredentials.d.ts.map +1 -0
  28. package/dist/auth/offlineCredentials.js +176 -0
  29. package/dist/auth/offlineCredentials.js.map +1 -0
  30. package/dist/auth/offlineSession.d.ts +96 -0
  31. package/dist/auth/offlineSession.d.ts.map +1 -0
  32. package/dist/auth/offlineSession.js +145 -0
  33. package/dist/auth/offlineSession.js.map +1 -0
  34. package/dist/auth/resolveAuthState.d.ts +85 -0
  35. package/dist/auth/resolveAuthState.d.ts.map +1 -0
  36. package/dist/auth/resolveAuthState.js +249 -0
  37. package/dist/auth/resolveAuthState.js.map +1 -0
  38. package/dist/auth/singleUser.d.ts +498 -0
  39. package/dist/auth/singleUser.d.ts.map +1 -0
  40. package/dist/auth/singleUser.js +1282 -0
  41. package/dist/auth/singleUser.js.map +1 -0
  42. package/dist/bin/commands.d.ts +14 -0
  43. package/dist/bin/commands.d.ts.map +1 -0
  44. package/dist/bin/commands.js +68 -0
  45. package/dist/bin/commands.js.map +1 -0
  46. package/dist/bin/install-pwa.d.ts +41 -0
  47. package/dist/bin/install-pwa.d.ts.map +1 -0
  48. package/dist/bin/install-pwa.js +4594 -0
  49. package/dist/bin/install-pwa.js.map +1 -0
  50. package/dist/config.d.ts +249 -0
  51. package/dist/config.d.ts.map +1 -0
  52. package/dist/config.js +395 -0
  53. package/dist/config.js.map +1 -0
  54. package/dist/conflicts.d.ts +306 -0
  55. package/dist/conflicts.d.ts.map +1 -0
  56. package/dist/conflicts.js +807 -0
  57. package/dist/conflicts.js.map +1 -0
  58. package/dist/crdt/awareness.d.ts +128 -0
  59. package/dist/crdt/awareness.d.ts.map +1 -0
  60. package/dist/crdt/awareness.js +284 -0
  61. package/dist/crdt/awareness.js.map +1 -0
  62. package/dist/crdt/channel.d.ts +165 -0
  63. package/dist/crdt/channel.d.ts.map +1 -0
  64. package/dist/crdt/channel.js +522 -0
  65. package/dist/crdt/channel.js.map +1 -0
  66. package/dist/crdt/config.d.ts +58 -0
  67. package/dist/crdt/config.d.ts.map +1 -0
  68. package/dist/crdt/config.js +123 -0
  69. package/dist/crdt/config.js.map +1 -0
  70. package/dist/crdt/helpers.d.ts +104 -0
  71. package/dist/crdt/helpers.d.ts.map +1 -0
  72. package/dist/crdt/helpers.js +116 -0
  73. package/dist/crdt/helpers.js.map +1 -0
  74. package/dist/crdt/offline.d.ts +58 -0
  75. package/dist/crdt/offline.d.ts.map +1 -0
  76. package/dist/crdt/offline.js +130 -0
  77. package/dist/crdt/offline.js.map +1 -0
  78. package/dist/crdt/persistence.d.ts +65 -0
  79. package/dist/crdt/persistence.d.ts.map +1 -0
  80. package/dist/crdt/persistence.js +171 -0
  81. package/dist/crdt/persistence.js.map +1 -0
  82. package/dist/crdt/provider.d.ts +109 -0
  83. package/dist/crdt/provider.d.ts.map +1 -0
  84. package/dist/crdt/provider.js +543 -0
  85. package/dist/crdt/provider.js.map +1 -0
  86. package/dist/crdt/store.d.ts +111 -0
  87. package/dist/crdt/store.d.ts.map +1 -0
  88. package/dist/crdt/store.js +158 -0
  89. package/dist/crdt/store.js.map +1 -0
  90. package/dist/crdt/types.d.ts +281 -0
  91. package/dist/crdt/types.d.ts.map +1 -0
  92. package/dist/crdt/types.js +26 -0
  93. package/dist/crdt/types.js.map +1 -0
  94. package/dist/data.d.ts +502 -0
  95. package/dist/data.d.ts.map +1 -0
  96. package/dist/data.js +862 -0
  97. package/dist/data.js.map +1 -0
  98. package/dist/database.d.ts +153 -0
  99. package/dist/database.d.ts.map +1 -0
  100. package/dist/database.js +325 -0
  101. package/dist/database.js.map +1 -0
  102. package/dist/debug.d.ts +87 -0
  103. package/dist/debug.d.ts.map +1 -0
  104. package/dist/debug.js +135 -0
  105. package/dist/debug.js.map +1 -0
  106. package/dist/demo.d.ts +131 -0
  107. package/dist/demo.d.ts.map +1 -0
  108. package/dist/demo.js +168 -0
  109. package/dist/demo.js.map +1 -0
  110. package/dist/deviceId.d.ts +47 -0
  111. package/dist/deviceId.d.ts.map +1 -0
  112. package/dist/deviceId.js +106 -0
  113. package/dist/deviceId.js.map +1 -0
  114. package/dist/diagnostics.d.ts +292 -0
  115. package/dist/diagnostics.d.ts.map +1 -0
  116. package/dist/diagnostics.js +378 -0
  117. package/dist/diagnostics.js.map +1 -0
  118. package/dist/engine.d.ts +230 -0
  119. package/dist/engine.d.ts.map +1 -0
  120. package/dist/engine.js +2636 -0
  121. package/dist/engine.js.map +1 -0
  122. package/dist/entries/actions.d.ts +16 -0
  123. package/dist/entries/actions.d.ts.map +1 -0
  124. package/dist/entries/actions.js +29 -0
  125. package/dist/entries/actions.js.map +1 -0
  126. package/dist/entries/auth.d.ts +19 -0
  127. package/dist/entries/auth.d.ts.map +1 -0
  128. package/dist/entries/auth.js +50 -0
  129. package/dist/entries/auth.js.map +1 -0
  130. package/dist/entries/config.d.ts +15 -0
  131. package/dist/entries/config.d.ts.map +1 -0
  132. package/dist/entries/config.js +20 -0
  133. package/dist/entries/config.js.map +1 -0
  134. package/dist/entries/crdt.d.ts +32 -0
  135. package/dist/entries/crdt.d.ts.map +1 -0
  136. package/dist/entries/crdt.js +52 -0
  137. package/dist/entries/crdt.js.map +1 -0
  138. package/dist/entries/kit.d.ts +22 -0
  139. package/dist/entries/kit.d.ts.map +1 -0
  140. package/dist/entries/kit.js +58 -0
  141. package/dist/entries/kit.js.map +1 -0
  142. package/dist/entries/stores.d.ts +22 -0
  143. package/dist/entries/stores.d.ts.map +1 -0
  144. package/dist/entries/stores.js +57 -0
  145. package/dist/entries/stores.js.map +1 -0
  146. package/dist/entries/types.d.ts +23 -0
  147. package/dist/entries/types.d.ts.map +1 -0
  148. package/dist/entries/types.js +12 -0
  149. package/dist/entries/types.js.map +1 -0
  150. package/dist/entries/utils.d.ts +12 -0
  151. package/dist/entries/utils.d.ts.map +1 -0
  152. package/dist/entries/utils.js +42 -0
  153. package/dist/entries/utils.js.map +1 -0
  154. package/dist/entries/vite.d.ts +20 -0
  155. package/dist/entries/vite.d.ts.map +1 -0
  156. package/dist/entries/vite.js +26 -0
  157. package/dist/entries/vite.js.map +1 -0
  158. package/dist/index.d.ts +77 -0
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +234 -0
  161. package/dist/index.js.map +1 -0
  162. package/dist/kit/auth.d.ts +80 -0
  163. package/dist/kit/auth.d.ts.map +1 -0
  164. package/dist/kit/auth.js +75 -0
  165. package/dist/kit/auth.js.map +1 -0
  166. package/dist/kit/confirm.d.ts +111 -0
  167. package/dist/kit/confirm.d.ts.map +1 -0
  168. package/dist/kit/confirm.js +169 -0
  169. package/dist/kit/confirm.js.map +1 -0
  170. package/dist/kit/loads.d.ts +187 -0
  171. package/dist/kit/loads.d.ts.map +1 -0
  172. package/dist/kit/loads.js +208 -0
  173. package/dist/kit/loads.js.map +1 -0
  174. package/dist/kit/server.d.ts +175 -0
  175. package/dist/kit/server.d.ts.map +1 -0
  176. package/dist/kit/server.js +297 -0
  177. package/dist/kit/server.js.map +1 -0
  178. package/dist/kit/sw.d.ts +176 -0
  179. package/dist/kit/sw.d.ts.map +1 -0
  180. package/dist/kit/sw.js +320 -0
  181. package/dist/kit/sw.js.map +1 -0
  182. package/dist/queue.d.ts +306 -0
  183. package/dist/queue.d.ts.map +1 -0
  184. package/dist/queue.js +925 -0
  185. package/dist/queue.js.map +1 -0
  186. package/dist/realtime.d.ts +280 -0
  187. package/dist/realtime.d.ts.map +1 -0
  188. package/dist/realtime.js +1031 -0
  189. package/dist/realtime.js.map +1 -0
  190. package/dist/runtime/runtimeConfig.d.ts +110 -0
  191. package/dist/runtime/runtimeConfig.d.ts.map +1 -0
  192. package/dist/runtime/runtimeConfig.js +260 -0
  193. package/dist/runtime/runtimeConfig.js.map +1 -0
  194. package/dist/schema.d.ts +150 -0
  195. package/dist/schema.d.ts.map +1 -0
  196. package/dist/schema.js +891 -0
  197. package/dist/schema.js.map +1 -0
  198. package/dist/stores/authState.d.ts +204 -0
  199. package/dist/stores/authState.d.ts.map +1 -0
  200. package/dist/stores/authState.js +336 -0
  201. package/dist/stores/authState.js.map +1 -0
  202. package/dist/stores/factories.d.ts +140 -0
  203. package/dist/stores/factories.d.ts.map +1 -0
  204. package/dist/stores/factories.js +157 -0
  205. package/dist/stores/factories.js.map +1 -0
  206. package/dist/stores/network.d.ts +48 -0
  207. package/dist/stores/network.d.ts.map +1 -0
  208. package/dist/stores/network.js +261 -0
  209. package/dist/stores/network.js.map +1 -0
  210. package/dist/stores/remoteChanges.d.ts +417 -0
  211. package/dist/stores/remoteChanges.d.ts.map +1 -0
  212. package/dist/stores/remoteChanges.js +626 -0
  213. package/dist/stores/remoteChanges.js.map +1 -0
  214. package/dist/stores/sync.d.ts +165 -0
  215. package/dist/stores/sync.d.ts.map +1 -0
  216. package/dist/stores/sync.js +275 -0
  217. package/dist/stores/sync.js.map +1 -0
  218. package/dist/supabase/auth.d.ts +219 -0
  219. package/dist/supabase/auth.d.ts.map +1 -0
  220. package/dist/supabase/auth.js +459 -0
  221. package/dist/supabase/auth.js.map +1 -0
  222. package/dist/supabase/client.d.ts +88 -0
  223. package/dist/supabase/client.d.ts.map +1 -0
  224. package/dist/supabase/client.js +313 -0
  225. package/dist/supabase/client.js.map +1 -0
  226. package/dist/supabase/validate.d.ts +118 -0
  227. package/dist/supabase/validate.d.ts.map +1 -0
  228. package/dist/supabase/validate.js +208 -0
  229. package/dist/supabase/validate.js.map +1 -0
  230. package/dist/sw/build/vite-plugin.d.ts +149 -0
  231. package/dist/sw/build/vite-plugin.d.ts.map +1 -0
  232. package/dist/sw/build/vite-plugin.js +517 -0
  233. package/dist/sw/build/vite-plugin.js.map +1 -0
  234. package/dist/sw/sw.js +664 -0
  235. package/dist/types.d.ts +363 -0
  236. package/dist/types.d.ts.map +1 -0
  237. package/dist/types.js +18 -0
  238. package/dist/types.js.map +1 -0
  239. package/dist/utils.d.ts +85 -0
  240. package/dist/utils.d.ts.map +1 -0
  241. package/dist/utils.js +156 -0
  242. package/dist/utils.js.map +1 -0
  243. package/package.json +117 -0
  244. package/src/components/DeferredChangesBanner.svelte +477 -0
  245. package/src/components/DemoBanner.svelte +110 -0
  246. package/src/components/SyncStatus.svelte +1732 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC;;;GAGG;AACH,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,2BAA2B,GAAwB,IAAI,GAAG,EAAE,CAAC;AAwDnE;;;;;;;GAOG;AACH,MAAM,KAAK,GAAyB;IAClC,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,cAAc;IAC/B,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,IAAI;IACf,iBAAiB,EAAE,CAAC;IACpB,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAkD,IAAI,GAAG,EAAE,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAmD,IAAI,GAAG,EAAE,CAAC;AAEtF,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC;;;;;;;;;GASG;AACH,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,gFAAgF;AAChF,mCAAmC;AACnC,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAkD;IAElD,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC;;;2BAGuB;IACvB,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAChC,OAAO,GAAG,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAmD;IAEnD,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,GAAG,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAgB;IAC7D,MAAM,WAAW,GAAG,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;IACrC,IAAI,GAAG,GAAG,wBAAwB,EAAE,CAAC;QACnC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,CAAC,eAAe,KAAK,WAAW,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,OAAO,EAAE,KAAK,CAAC,eAAe,KAAK,WAAW;QAC9C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,sBAAsB,EAAE,2BAA2B,CAAC,IAAI;QACxD,mBAAmB;QACnB,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,2BAA2B,EAAE,CAAC;QAClE,IAAI,GAAG,GAAG,WAAW,GAAG,wBAAwB,EAAE,CAAC;YACjD,2BAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,0CAA0C;AAC1C,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,QAAiC,EAAE,KAAc;IAC3E,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;IACjC,KAAK,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC;IAEhC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX;;uCAE2B;YAC3B,UAAU,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,QAAgB;IACvD,QAAQ,CACN,wBAAwB,mBAAmB,CAAC,IAAI,2BAA2B,KAAK,IAAI,QAAQ,EAAE,CAC/F,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,UAAU,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,2CAA2C;AAC3C,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,iBAAiB,CAAC,MAAsC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,cAAc,GAAG,MAAM,CAAC,SAA+B,CAAC;IAC9D,OAAO,cAAc,KAAK,KAAK,CAAC,QAAQ,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,MAAM,WAAW,GAAG,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;IACrC,IAAI,GAAG,GAAG,wBAAwB,EAAE,CAAC;QACnC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,KAAK,UAAU,oBAAoB,CACjC,KAAa,EACb,OAAgE;IAEhE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,8DAA8D;IAC9D,MAAM,SAAS,GAAI,OAAe,CAAC,GAAqC,CAAC;IACzE,8DAA8D;IAC9D,MAAM,SAAS,GAAI,OAAe,CAAC,GAAqC,CAAC;IAEzE;4EACwE;IACxE,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,SAAS,EAAE,EAAE,CAAW,CAAC;IAE5D,QAAQ,CAAC,uBAAuB,SAAS,OAAO,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,SAAS,CAAC,sCAAsC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED;;;oFAGgF;IAChF,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,0CAA0C,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED;;;iEAG6D;IAC7D,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,2CAA2C,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,wCAAwC,SAAS,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAC;IAEnF,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,SAAS,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,SAAS,EAAE,CAAC;YAClB,0EAA0E;YAC1E,sDAAsD;YACtD,0EAA0E;YAC1E,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB;;;oFAGoE;gBACpE,MAAM,cAAc,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAErE,yEAAyE;gBACzE,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC,EAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAEhF;;;;0CAI0B;gBAC1B,MAAM,aAAa,GAAa,EAAE,CAAC;gBACnC,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;oBAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBACzC,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU;4BAAE,SAAS;wBACzD;;2FAEmE;wBACnE,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;4BACxE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC1B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED;;;;;;;;;;qEAUqD;gBACrD,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,KAAK,IAAI,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBAEvF,IAAI,YAAY,EAAE,CAAC;oBACjB,QAAQ,CAAC,uCAAuC,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAC;oBAErE;4FACwE;oBACxE,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC9E,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAE5D,mEAAmE;oBACnE,MAAM,eAAe,EAAE,CAAC,EAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAE7D,2BAA2B,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBACtD,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAClC,MAAM;gBACR,CAAC;gBAED;;;;;;;;;yEASyD;gBACzD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;gBACrD,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAErD,IAAI,OAAO,GAAG,KAAK,CAAC;gBAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB;gFAC4D;oBAC5D,MAAM,eAAe,EAAE,CAAC,EAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7D,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;qBAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC1B;;;;4CAIwB;oBACxB,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,UAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC5E,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,UAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;oBAE3E,IAAI,eAAe,GAAG,cAAc,EAAE,CAAC;wBACrC,MAAM,eAAe,EAAE,CAAC,EAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAC7D,OAAO,GAAG,IAAI,CAAC;oBACjB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN;;;mFAG+D;oBAC/D,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,KAAK,EACL,QAAQ,EACR,WAAsC,EACtC,SAAS,EACT,UAAU,CACX,CAAC;oBAEF,MAAM,eAAe,EAAE,CAAC,EAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC3E,OAAO,GAAG,IAAI,CAAC;oBAEf;;sDAEkC;oBAClC,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;wBAC5B,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAED;;;;qCAIqB;gBACrB,IAAI,UAA8B,CAAC;gBACnC,IAAI,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;oBACxE,MAAM,QAAQ,GAAI,WAAW,CAAC,aAAwB,IAAI,CAAC,CAAC;oBAC5D,MAAM,QAAQ,GAAI,SAAS,CAAC,aAAwB,IAAI,CAAC,CAAC;oBAC1D,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;gBACnC,CAAC;gBAED;;;;;;;8EAO8D;gBAC9D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC7C,kBAAkB,CAAC,kBAAkB,CACnC,QAAQ,EACR,KAAK,EACL,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAChD,OAAO,EACP,SAAgC,EAChC,UAAU,CACX,CAAC;oBAEF;iFAC6D;oBAC7D,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;oBACjF,IAAI,SAAS,EAAE,cAAc,EAAE,CAAC;wBAC9B,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBAED;oFACoE;gBACpE,2BAA2B,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAEtD,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAClC,MAAM;YACR,CAAC;YAED,0EAA0E;YAC1E,2DAA2D;YAC3D,0EAA0E;YAC1E,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd;;;;;kFAKkE;gBAClE,IAAI,SAAS,EAAE,CAAC;oBACd;;;6DAGyC;oBACzC,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAE9E;4FACwE;oBACxE,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAE5D,uEAAuE;oBACvE,MAAM,eAAe,EAAE,CAAC,EAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAE/D,2BAA2B,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAEtD,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf;2EACmE;QACnE,UAAU,CAAC,6BAA6B,SAAS,OAAO,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,iBAAiB;IACxB;;gFAE4E;IAC5E,IAAI,kBAAkB,EAAE,CAAC;QACvB,QAAQ,CAAC,yEAAyE,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED;;iEAE6D;IAC7D,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC1D,QAAQ,CAAC,4DAA4D,CAAC,CAAC;QACvE,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,iBAAiB,IAAI,sBAAsB,EAAE,CAAC;QACtD,QAAQ,CAAC,oEAAoE,CAAC,CAAC;QAC/E,kBAAkB,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,kBAAkB,GAAG,IAAI,CAAC;IAC1B,8CAA8C;IAC9C,MAAM,KAAK,GAAG,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1E,QAAQ,CAAC,2CAA2C,KAAK,CAAC,iBAAiB,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAEjG,KAAK,CAAC,gBAAgB,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;QAC7C,kBAAkB,GAAG,KAAK,CAAC;QAC3B;mFAC2E;QAC3E,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC1D,QAAQ,CAAC,8DAA8D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC;AAED,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,iCAAiC;IAC9C;;iEAE6D;IAC7D,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,kBAAkB,GAAG,KAAK,CAAC;IAE3B;2EACuE;IACvE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,eAAe,EAAE,CAAC,QAAS,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf;;6CAEiC;YACjC,UAAU,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,kBAAkB,CAAC,cAAc,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAc;IAC7D;;mEAE+D;IAC/D,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,kDAAkD;IAClD,IAAI,UAAU,EAAE;QAAE,OAAO;IAEzB;;iFAE6E;IAC7E,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACtB,QAAQ,CAAC,kDAAkD,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED;;0CAEsC;IACtC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;QACtF,OAAO;IACT,CAAC;IAED;;wDAEoD;IACpD,IAAI,mBAAmB,EAAE,CAAC;QACxB,QAAQ,CACN,uFAAuF,CACxF,CAAC;QACF,OAAO;IACT,CAAC;IAED,mBAAmB,GAAG,IAAI,CAAC;IAE3B,IAAI,CAAC;QACH;;kCAE0B;QAC1B,MAAM,iCAAiC,EAAE,CAAC;QAE1C,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAEhE;;;;;mDAK2C;QAC3C,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,QAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEtD;;;;mFAI2E;QAC3E,QAAQ,CAAC,2CAA2C,cAAc,CAAC,MAAM,SAAS,CAAC,CAAC;QACpF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAC9B,kBAAkB,EAClB;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,KAAK;aACb,EACD,CAAC,OAAO,EAAE,EAAE;gBACV,QAAQ,CAAC,uCAAuC,KAAK,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC7E;;0CAE0B;gBAC1B,oBAAoB,CAClB,KAAK,EACL,OAAkE,CACnE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBAChB,UAAU,CAAC,+BAA+B,KAAK,UAAU,EAAE,KAAK,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC;QAED;;;2EAGmE;QACnE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACtC,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,YAAY;oBACf,QAAQ,CAAC,qCAAqC,CAAC,CAAC;oBAChD;qEACiD;oBACjD,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBAC5B,kBAAkB,GAAG,KAAK,CAAC;oBAC3B,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAChC,MAAM;gBAER,KAAK,eAAe;oBAClB,UAAU,CAAC,2BAA2B,EAAE,GAAG,EAAE,OAAO,IAAI,SAAS,EAAE,GAAG,CAAC,CAAC;oBACxE,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;oBAC7D,iBAAiB,EAAE,CAAC;oBACpB,MAAM;gBAER,KAAK,WAAW;oBACd,SAAS,CAAC,iCAAiC,CAAC,CAAC;oBAC7C,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;oBACpD,iBAAiB,EAAE,CAAC;oBACpB,MAAM;gBAER,KAAK,QAAQ;oBACX,QAAQ,CAAC,2BAA2B,CAAC,CAAC;oBACtC;;;;;;kEAM8C;oBAC9C,IAAI,KAAK,CAAC,eAAe,KAAK,cAAc,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACpF,kBAAkB,CAAC,cAAc,CAAC,CAAC;wBACnC,iBAAiB,EAAE,CAAC;oBACtB,CAAC;yBAAM,IAAI,WAAW,EAAE,EAAE,CAAC;wBACzB,QAAQ,CACN,iDAAiD,KAAK,CAAC,eAAe,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,wBAAwB,kBAAkB,EAAE,CAC7I,CAAC;oBACJ,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QAC/D,kBAAkB,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC1F,iBAAiB,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT;oFAC4E;QAC5E,mBAAmB,GAAG,KAAK,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,kEAAkE;IAClE,IAAI,mBAAmB,EAAE,CAAC;QACxB,QAAQ,CACN,sFAAsF,CACvF,CAAC;QACF,OAAO;IACT,CAAC;IAED,mBAAmB,GAAG,IAAI,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,iCAAiC,EAAE,CAAC;QAC1C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB;;8EAEsE;QACtE,2BAA2B,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;YAAS,CAAC;QACT,mBAAmB,GAAG,KAAK,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,aAAa;IAC3B;;2DAEuD;IACvD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,kBAAkB,GAAG,KAAK,CAAC;IAC3B;;gFAE4E;IAC5E,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACnC,QAAQ,CAAC,8CAA8C,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @fileoverview Runtime Configuration Module
3
+ *
4
+ * Replaces build-time `$env/static/public` with runtime config fetched from the
5
+ * server. Config is cached in `localStorage` for instant subsequent loads and
6
+ * offline PWA support.
7
+ *
8
+ * **Lifecycle:**
9
+ * 1. On first visit, `initConfig()` fetches `/api/config` from the server.
10
+ * 2. A valid response is persisted to `localStorage` under a prefixed key.
11
+ * 3. On subsequent visits the cached config is returned synchronously via
12
+ * `getConfig()`, while a background fetch validates it against the server.
13
+ * 4. If the network is unreachable (offline PWA), the cached config is used
14
+ * as-is — ensuring the app can boot without connectivity.
15
+ *
16
+ * @see {@link initConfig} for the async initialisation flow
17
+ * @see {@link getConfig} for synchronous access after initialisation
18
+ * @see {@link setConfig} for programmatic updates (e.g., after a setup wizard)
19
+ */
20
+ /**
21
+ * Shape of the application configuration object returned by `/api/config`.
22
+ *
23
+ * Contains the minimum credentials needed to initialise Supabase on the client
24
+ * and a flag indicating whether the app has been configured at all.
25
+ */
26
+ export interface AppConfig {
27
+ /** The full URL of the Supabase project (e.g., `https://xyz.supabase.co`). */
28
+ supabaseUrl: string;
29
+ /** The public anonymous key for the Supabase project. */
30
+ supabaseAnonKey: string;
31
+ /**
32
+ * Whether the application has completed initial setup.
33
+ * `false` when `/api/config` returns a "not yet configured" response.
34
+ */
35
+ configured: boolean;
36
+ }
37
+ /**
38
+ * Override the localStorage key prefix used for caching config.
39
+ *
40
+ * Call this **before** `initConfig()` if your app uses a custom prefix
41
+ * (e.g., `_setConfigPrefix('myapp')`).
42
+ *
43
+ * @param prefix - The new prefix string (e.g., `'myapp'`).
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * _setConfigPrefix('myapp');
48
+ * // localStorage key will now be "myapp_config"
49
+ * ```
50
+ */
51
+ export declare function _setConfigPrefix(prefix: string): void;
52
+ /**
53
+ * Initialise the runtime config.
54
+ *
55
+ * **Strategy:**
56
+ * 1. Return the in-flight promise if already initialising (de-duplication).
57
+ * 2. Try localStorage first for an instant, synchronous result.
58
+ * 3. Fetch `/api/config` to validate / update the cached value.
59
+ * 4. If the server says "not configured", clear any stale cache and return `null`.
60
+ * 5. If the network is unreachable, fall back to the cached config (offline PWA).
61
+ *
62
+ * @returns A promise resolving to the `AppConfig` if the app is configured,
63
+ * or `null` if not yet configured / unreachable.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * const config = await initConfig();
68
+ * if (!config) {
69
+ * // Redirect to setup wizard
70
+ * }
71
+ * ```
72
+ */
73
+ export declare function initConfig(): Promise<AppConfig | null>;
74
+ /**
75
+ * Get config synchronously. Returns the cached config or `null`.
76
+ *
77
+ * **Important:** Call {@link initConfig} first to ensure the config has been
78
+ * loaded. This function will attempt a localStorage fallback if the in-memory
79
+ * cache is empty, but it will *never* make a network request.
80
+ *
81
+ * @returns The current `AppConfig`, or `null` if not yet initialised.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const config = getConfig();
86
+ * if (config) {
87
+ * console.log(config.supabaseUrl);
88
+ * }
89
+ * ```
90
+ */
91
+ export declare function getConfig(): AppConfig | null;
92
+ /**
93
+ * Set config directly (used after the setup wizard completes).
94
+ *
95
+ * Updates both the in-memory cache and localStorage in a single call,
96
+ * so subsequent `getConfig()` calls return the new value immediately.
97
+ *
98
+ * @param config - The new `AppConfig` to store.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * setConfig({
103
+ * supabaseUrl: 'https://xyz.supabase.co',
104
+ * supabaseAnonKey: 'eyJ...',
105
+ * configured: true
106
+ * });
107
+ * ```
108
+ */
109
+ export declare function setConfig(config: AppConfig): void;
110
+ //# sourceMappingURL=runtimeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeConfig.d.ts","sourceRoot":"","sources":["../../src/runtime/runtimeConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IAEpB,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAaD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,QAE9C;AA8ED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA8C5D;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,IAAI,SAAS,GAAG,IAAI,CAQ5C;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAGjD"}
@@ -0,0 +1,260 @@
1
+ /**
2
+ * @fileoverview Runtime Configuration Module
3
+ *
4
+ * Replaces build-time `$env/static/public` with runtime config fetched from the
5
+ * server. Config is cached in `localStorage` for instant subsequent loads and
6
+ * offline PWA support.
7
+ *
8
+ * **Lifecycle:**
9
+ * 1. On first visit, `initConfig()` fetches `/api/config` from the server.
10
+ * 2. A valid response is persisted to `localStorage` under a prefixed key.
11
+ * 3. On subsequent visits the cached config is returned synchronously via
12
+ * `getConfig()`, while a background fetch validates it against the server.
13
+ * 4. If the network is unreachable (offline PWA), the cached config is used
14
+ * as-is — ensuring the app can boot without connectivity.
15
+ *
16
+ * @see {@link initConfig} for the async initialisation flow
17
+ * @see {@link getConfig} for synchronous access after initialisation
18
+ * @see {@link setConfig} for programmatic updates (e.g., after a setup wizard)
19
+ */
20
+ // =============================================================================
21
+ // CACHE KEY PREFIX
22
+ // =============================================================================
23
+ /**
24
+ * Prefix used for the localStorage cache key. Defaults to `'stellar'` but can
25
+ * be overridden per-app via {@link _setConfigPrefix} so multiple stellar-drive
26
+ * apps on the same origin don't collide.
27
+ */
28
+ let _prefix = 'stellar';
29
+ /**
30
+ * Override the localStorage key prefix used for caching config.
31
+ *
32
+ * Call this **before** `initConfig()` if your app uses a custom prefix
33
+ * (e.g., `_setConfigPrefix('myapp')`).
34
+ *
35
+ * @param prefix - The new prefix string (e.g., `'myapp'`).
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * _setConfigPrefix('myapp');
40
+ * // localStorage key will now be "myapp_config"
41
+ * ```
42
+ */
43
+ export function _setConfigPrefix(prefix) {
44
+ _prefix = prefix;
45
+ }
46
+ /**
47
+ * Build the localStorage key for the cached config.
48
+ *
49
+ * @returns The fully-qualified cache key (e.g., `"stellar_config"`).
50
+ */
51
+ function getCacheKey() {
52
+ return `${_prefix}_config`;
53
+ }
54
+ // =============================================================================
55
+ // IN-MEMORY CACHE STATE
56
+ // =============================================================================
57
+ /**
58
+ * In-memory config singleton — populated by `initConfig()` or `setConfig()`.
59
+ * Avoids repeated JSON parsing from localStorage on every `getConfig()` call.
60
+ */
61
+ let configCache = null;
62
+ /**
63
+ * De-duplication guard for `initConfig()`. Stores the in-flight promise so
64
+ * concurrent callers share a single network request instead of racing.
65
+ */
66
+ let configPromise = null;
67
+ // =============================================================================
68
+ // LOCAL STORAGE HELPERS
69
+ // =============================================================================
70
+ /**
71
+ * Load config from localStorage (synchronous, instant).
72
+ *
73
+ * Performs basic validation to reject malformed or incomplete entries —
74
+ * the stored value must have `configured: true` and both Supabase fields
75
+ * populated.
76
+ *
77
+ * @returns The cached `AppConfig` if valid, or `null` if missing / invalid.
78
+ */
79
+ function loadFromCache() {
80
+ /* Guard for SSR / environments without localStorage */
81
+ if (typeof localStorage === 'undefined')
82
+ return null;
83
+ try {
84
+ const stored = localStorage.getItem(getCacheKey());
85
+ if (!stored)
86
+ return null;
87
+ const parsed = JSON.parse(stored);
88
+ if (parsed.configured && parsed.supabaseUrl && parsed.supabaseAnonKey) {
89
+ return parsed;
90
+ }
91
+ return null;
92
+ }
93
+ catch {
94
+ return null;
95
+ }
96
+ }
97
+ /**
98
+ * Persist config to localStorage for instant access on next page load.
99
+ *
100
+ * Silently swallows errors (e.g., storage quota exceeded, private browsing
101
+ * restrictions) because localStorage is a convenience cache, not a
102
+ * requirement.
103
+ *
104
+ * @param config - The `AppConfig` to persist.
105
+ */
106
+ function saveToCache(config) {
107
+ if (typeof localStorage === 'undefined')
108
+ return;
109
+ try {
110
+ localStorage.setItem(getCacheKey(), JSON.stringify(config));
111
+ }
112
+ catch {
113
+ /* Storage full or unavailable — non-critical */
114
+ }
115
+ }
116
+ // =============================================================================
117
+ // INITIALISATION (ASYNC)
118
+ // =============================================================================
119
+ /**
120
+ * Initialise the runtime config.
121
+ *
122
+ * **Strategy:**
123
+ * 1. Return the in-flight promise if already initialising (de-duplication).
124
+ * 2. Try localStorage first for an instant, synchronous result.
125
+ * 3. Fetch `/api/config` to validate / update the cached value.
126
+ * 4. If the server says "not configured", clear any stale cache and return `null`.
127
+ * 5. If the network is unreachable, fall back to the cached config (offline PWA).
128
+ *
129
+ * @returns A promise resolving to the `AppConfig` if the app is configured,
130
+ * or `null` if not yet configured / unreachable.
131
+ *
132
+ * @example
133
+ * ```ts
134
+ * const config = await initConfig();
135
+ * if (!config) {
136
+ * // Redirect to setup wizard
137
+ * }
138
+ * ```
139
+ */
140
+ export async function initConfig() {
141
+ /* Return in-flight promise if already initializing */
142
+ if (configPromise)
143
+ return configPromise;
144
+ configPromise = (async () => {
145
+ /* Try localStorage first for instant load */
146
+ const cached = loadFromCache();
147
+ if (cached) {
148
+ configCache = cached;
149
+ }
150
+ /* Fetch from server to validate/update */
151
+ try {
152
+ const response = await fetch('/api/config');
153
+ if (response.ok) {
154
+ const serverConfig = await response.json();
155
+ if (serverConfig.configured) {
156
+ const config = {
157
+ supabaseUrl: serverConfig.supabaseUrl,
158
+ supabaseAnonKey: serverConfig.supabaseAnonKey,
159
+ configured: true
160
+ };
161
+ configCache = config;
162
+ saveToCache(config);
163
+ return config;
164
+ }
165
+ else {
166
+ /* Server says not configured — clear any stale cache */
167
+ configCache = null;
168
+ clearConfigCache();
169
+ return null;
170
+ }
171
+ }
172
+ }
173
+ catch {
174
+ /* Network error — use cached config if available (offline PWA support) */
175
+ if (configCache) {
176
+ return configCache;
177
+ }
178
+ }
179
+ return configCache;
180
+ })();
181
+ const result = await configPromise;
182
+ /* Reset the guard so future calls can re-fetch if needed */
183
+ configPromise = null;
184
+ return result;
185
+ }
186
+ // =============================================================================
187
+ // SYNCHRONOUS ACCESS
188
+ // =============================================================================
189
+ /**
190
+ * Get config synchronously. Returns the cached config or `null`.
191
+ *
192
+ * **Important:** Call {@link initConfig} first to ensure the config has been
193
+ * loaded. This function will attempt a localStorage fallback if the in-memory
194
+ * cache is empty, but it will *never* make a network request.
195
+ *
196
+ * @returns The current `AppConfig`, or `null` if not yet initialised.
197
+ *
198
+ * @example
199
+ * ```ts
200
+ * const config = getConfig();
201
+ * if (config) {
202
+ * console.log(config.supabaseUrl);
203
+ * }
204
+ * ```
205
+ */
206
+ export function getConfig() {
207
+ if (configCache)
208
+ return configCache;
209
+ /* Try localStorage as fallback */
210
+ const cached = loadFromCache();
211
+ if (cached) {
212
+ configCache = cached;
213
+ }
214
+ return configCache;
215
+ }
216
+ // =============================================================================
217
+ // PROGRAMMATIC UPDATE
218
+ // =============================================================================
219
+ /**
220
+ * Set config directly (used after the setup wizard completes).
221
+ *
222
+ * Updates both the in-memory cache and localStorage in a single call,
223
+ * so subsequent `getConfig()` calls return the new value immediately.
224
+ *
225
+ * @param config - The new `AppConfig` to store.
226
+ *
227
+ * @example
228
+ * ```ts
229
+ * setConfig({
230
+ * supabaseUrl: 'https://xyz.supabase.co',
231
+ * supabaseAnonKey: 'eyJ...',
232
+ * configured: true
233
+ * });
234
+ * ```
235
+ */
236
+ export function setConfig(config) {
237
+ configCache = config;
238
+ saveToCache(config);
239
+ }
240
+ // =============================================================================
241
+ // CACHE INVALIDATION
242
+ // =============================================================================
243
+ /**
244
+ * Clear the cached config from both in-memory state and localStorage.
245
+ *
246
+ * Called internally when the server reports `configured: false` to ensure
247
+ * stale credentials are not reused on next load.
248
+ */
249
+ function clearConfigCache() {
250
+ configCache = null;
251
+ if (typeof localStorage !== 'undefined') {
252
+ try {
253
+ localStorage.removeItem(getCacheKey());
254
+ }
255
+ catch {
256
+ /* Ignore — non-critical */
257
+ }
258
+ }
259
+ }
260
+ //# sourceMappingURL=runtimeConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeConfig.js","sourceRoot":"","sources":["../../src/runtime/runtimeConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * @fileoverview Supabase SQL Generation from Schema Definitions
3
+ *
4
+ * Generates complete Supabase SQL (CREATE TABLE, RLS, triggers, indexes,
5
+ * realtime subscriptions) from a declarative {@link SchemaDefinition}.
6
+ * This eliminates the need for consumers to hand-write SQL — the schema
7
+ * in code becomes the single source of truth.
8
+ *
9
+ * The generation flow:
10
+ * 1. Schema string fields → Supabase SQL columns (with inferred types)
11
+ * 2. `sqlColumns` (object form) → Supabase SQL columns (explicit types)
12
+ * 3. System columns (auto) → Both Supabase + Dexie
13
+ *
14
+ * Column types are inferred from field naming conventions:
15
+ * - `*_id` → `uuid` (foreign key)
16
+ * - `*_at` → `timestamptz`
17
+ * - `order` → `double precision default 0`
18
+ * - `*_count`, `*_value`, etc. → `integer default 0`
19
+ * - Boolean patterns (`is_*`, `completed`, etc.) → `boolean default false`
20
+ * - Everything else → `text`
21
+ *
22
+ * @see {@link config.ts#initEngine} for schema-driven initialization
23
+ * @see {@link sw/build/vite-plugin.ts} for the Vite plugin that auto-applies generated SQL
24
+ */
25
+ import type { SchemaDefinition } from './types';
26
+ /**
27
+ * Options for controlling SQL generation output.
28
+ *
29
+ * All fields are optional with sensible defaults. The most common use case
30
+ * is to just call `generateSupabaseSQL(schema)` with no options.
31
+ *
32
+ * @example
33
+ * generateSupabaseSQL(schema, {
34
+ * appName: 'Stellar',
35
+ * includeCRDT: true,
36
+ * includeDeviceVerification: true,
37
+ * });
38
+ */
39
+ export interface SQLGenerationOptions {
40
+ /** Application name for SQL comments. */
41
+ appName?: string;
42
+ /** Include CRDT document storage table. @default false */
43
+ includeCRDT?: boolean;
44
+ /** Include trusted_devices table. @default true */
45
+ includeDeviceVerification?: boolean;
46
+ /** Include helper functions (set_user_id, update_updated_at). @default true */
47
+ includeHelperFunctions?: boolean;
48
+ }
49
+ /**
50
+ * Options for controlling TypeScript interface generation.
51
+ */
52
+ export interface TypeScriptGenerationOptions {
53
+ /** Header comment at the top of the generated file. */
54
+ header?: string;
55
+ /** Whether to include system columns in generated interfaces. @default true */
56
+ includeSystemColumns?: boolean;
57
+ }
58
+ /**
59
+ * Infer a SQL column type from a field name using naming conventions.
60
+ *
61
+ * The engine uses consistent field naming patterns across all apps, so the
62
+ * column type can be reliably determined from the field suffix or exact name.
63
+ * Consumers can override any inference via `sqlColumns` in the schema config.
64
+ *
65
+ * @param fieldName - The snake_case field name (e.g., `'goal_list_id'`, `'order'`).
66
+ * @returns The SQL type with optional default (e.g., `'uuid'`, `'boolean default false'`).
67
+ *
68
+ * @example
69
+ * inferColumnType('goal_list_id'); // → 'uuid'
70
+ * inferColumnType('completed_at'); // → 'timestamptz'
71
+ * inferColumnType('order'); // → 'double precision default 0'
72
+ * inferColumnType('is_active'); // → 'boolean default false'
73
+ * inferColumnType('title'); // → 'text'
74
+ *
75
+ * @see {@link SchemaTableConfig.sqlColumns} for explicit type overrides
76
+ */
77
+ export declare function inferColumnType(fieldName: string): string;
78
+ /**
79
+ * Generate TypeScript interfaces and enum types from a schema definition.
80
+ *
81
+ * Only tables with a `fields` property are included. Tables without `fields`
82
+ * are silently skipped (backward-compatible).
83
+ *
84
+ * @param schema - The declarative schema definition.
85
+ * @param options - Optional generation options.
86
+ * @returns The generated TypeScript source string.
87
+ */
88
+ export declare function generateTypeScript(schema: SchemaDefinition, options?: TypeScriptGenerationOptions): string;
89
+ /**
90
+ * Generate the complete Supabase SQL from a declarative schema definition.
91
+ *
92
+ * This is the main entry point for SQL generation. It produces a single SQL
93
+ * file that can be pasted directly into the Supabase SQL Editor to bootstrap
94
+ * the entire database.
95
+ *
96
+ * The generated SQL includes (in order):
97
+ * 1. Extensions (`uuid-ossp`)
98
+ * 2. Helper functions (`set_user_id`, `update_updated_at_column`)
99
+ * 3. One `CREATE TABLE` block per schema table
100
+ * 4. `trusted_devices` table (unless `includeDeviceVerification` is `false`)
101
+ * 5. `crdt_documents` table (only if `includeCRDT` is `true`)
102
+ *
103
+ * @param schema - The declarative schema definition.
104
+ * @param options - Optional generation options.
105
+ * @returns The complete SQL string ready for execution.
106
+ *
107
+ * @example
108
+ * const sql = generateSupabaseSQL({
109
+ * goals: 'goal_list_id, order',
110
+ * goal_lists: { indexes: 'order', sqlColumns: { name: 'text not null' } },
111
+ * focus_settings: { singleton: true },
112
+ * }, { appName: 'Stellar' });
113
+ *
114
+ * // Write to file or paste into Supabase SQL Editor
115
+ * fs.writeFileSync('supabase-schema.sql', sql);
116
+ *
117
+ * @see {@link SchemaDefinition} for the schema format
118
+ * @see {@link generateMigrationSQL} for incremental schema changes
119
+ */
120
+ export declare function generateSupabaseSQL(schema: SchemaDefinition, options?: SQLGenerationOptions): string;
121
+ /**
122
+ * Generate migration SQL by diffing two schema definitions.
123
+ *
124
+ * Compares the current (deployed) schema against the new (desired) schema
125
+ * and produces `ALTER TABLE` statements for the differences:
126
+ * - **New tables** → full `CREATE TABLE` (via {@link generateTableSQL})
127
+ * - **Removed tables** → commented-out `DROP TABLE` (safety: requires manual review)
128
+ * - **New columns** → `ALTER TABLE ... ADD COLUMN`
129
+ * - **Removed columns** → commented-out `ALTER TABLE ... DROP COLUMN`
130
+ *
131
+ * This function intentionally does NOT handle column type changes — those
132
+ * require careful manual migration (data conversion, backfill, etc.).
133
+ *
134
+ * @param currentSchema - The currently deployed schema definition.
135
+ * @param newSchema - The desired (target) schema definition.
136
+ * @returns The migration SQL string. Empty string if no changes detected.
137
+ *
138
+ * @example
139
+ * const migration = generateMigrationSQL(
140
+ * { goals: 'goal_list_id, order' },
141
+ * {
142
+ * goals: 'goal_list_id, order, priority', // added column
143
+ * tags: 'name', // new table
144
+ * }
145
+ * );
146
+ *
147
+ * @see {@link generateSupabaseSQL} for generating the initial schema
148
+ */
149
+ export declare function generateMigrationSQL(currentSchema: SchemaDefinition, newSchema: SchemaDefinition): string;
150
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAgC,MAAM,SAAS,CAAC;AAM9E;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAuCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA4CzD;AA0MD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,MAAM,CAkFR;AA8ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAgMR;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,gBAAgB,EAC/B,SAAS,EAAE,gBAAgB,GAC1B,MAAM,CA2MR"}