stratal 0.0.21 → 0.0.23

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 (296) hide show
  1. package/README.md +2 -2
  2. package/dist/bin/cloudflare-workers-loader.mjs +80 -7
  3. package/dist/bin/cloudflare-workers-loader.mjs.map +1 -1
  4. package/dist/bin/quarry.mjs +84 -160
  5. package/dist/bin/quarry.mjs.map +1 -1
  6. package/dist/cache/index.d.mts +8 -46
  7. package/dist/cache/index.d.mts.map +1 -1
  8. package/dist/cache/index.mjs +134 -97
  9. package/dist/cache/index.mjs.map +1 -1
  10. package/dist/{cache.service-DsnKuNyO.d.mts → cache.service-uElmBtdS.d.mts} +29 -39
  11. package/dist/cache.service-uElmBtdS.d.mts.map +1 -0
  12. package/dist/{command-BgSlsS4M.mjs → command-BvmUAPPQ.mjs} +15 -4
  13. package/dist/command-BvmUAPPQ.mjs.map +1 -0
  14. package/dist/{command-Cmmf0oHX.d.mts → command-CPhFHjG3.d.mts} +3 -2
  15. package/dist/command-CPhFHjG3.d.mts.map +1 -0
  16. package/dist/command-not-found.error-ONAZ2Bpk.mjs +14 -0
  17. package/dist/command-not-found.error-ONAZ2Bpk.mjs.map +1 -0
  18. package/dist/config/index.d.mts +24 -11
  19. package/dist/config/index.d.mts.map +1 -1
  20. package/dist/config/index.mjs +32 -57
  21. package/dist/config/index.mjs.map +1 -1
  22. package/dist/{consumer-registry-B7yUNh0q.d.mts → consumer-registry-D3iMTSdy.d.mts} +54 -22
  23. package/dist/consumer-registry-D3iMTSdy.d.mts.map +1 -0
  24. package/dist/container-storage-BmOJ4_Na.mjs +52 -0
  25. package/dist/container-storage-BmOJ4_Na.mjs.map +1 -0
  26. package/dist/{controller.decorator-B9vwn0zK.mjs → controller.decorator-C5UVeJS3.mjs} +8 -8
  27. package/dist/controller.decorator-C5UVeJS3.mjs.map +1 -0
  28. package/dist/cron/index.d.mts +103 -7
  29. package/dist/cron/index.d.mts.map +1 -1
  30. package/dist/cron/index.mjs +2 -2
  31. package/dist/cron-job-NesZRk8F.d.mts +58 -0
  32. package/dist/cron-job-NesZRk8F.d.mts.map +1 -0
  33. package/dist/{cron-manager-DQSK8uoV.mjs → cron.module-Bgzq5hiT.mjs} +47 -17
  34. package/dist/cron.module-Bgzq5hiT.mjs.map +1 -0
  35. package/dist/decorate-CuAoSZvs.mjs +16 -0
  36. package/dist/deep-merge-ByiAOZ3r.mjs +18 -0
  37. package/dist/deep-merge-ByiAOZ3r.mjs.map +1 -0
  38. package/dist/di/index.d.mts +2 -2
  39. package/dist/di/index.mjs +4 -3
  40. package/dist/di-DseMn-z9.mjs +524 -0
  41. package/dist/di-DseMn-z9.mjs.map +1 -0
  42. package/dist/email/index.d.mts +40 -122
  43. package/dist/email/index.d.mts.map +1 -1
  44. package/dist/email/index.mjs +446 -131
  45. package/dist/email/index.mjs.map +1 -1
  46. package/dist/en-CDZBMcc1.mjs +202 -0
  47. package/dist/en-CDZBMcc1.mjs.map +1 -0
  48. package/dist/{env-D1rcZ8_r.d.mts → env-ug22bJj7.d.mts} +1 -1
  49. package/dist/env-ug22bJj7.d.mts.map +1 -0
  50. package/dist/errors/index.d.mts +2 -2
  51. package/dist/errors/index.mjs +4 -2
  52. package/dist/errors-mXYxG0XB.mjs +333 -0
  53. package/dist/errors-mXYxG0XB.mjs.map +1 -0
  54. package/dist/events/index.d.mts +14 -3
  55. package/dist/events/index.d.mts.map +1 -1
  56. package/dist/events/index.mjs +2 -2
  57. package/dist/{events-CzCV8jI8.mjs → events-BXJGZjpG.mjs} +23 -13
  58. package/dist/events-BXJGZjpG.mjs.map +1 -0
  59. package/dist/exception-context-kEoMFwze.mjs +429 -0
  60. package/dist/exception-context-kEoMFwze.mjs.map +1 -0
  61. package/dist/{gateway-context-CXmXtaUP.mjs → gateway-context-TMu_AlJt.mjs} +38 -31
  62. package/dist/gateway-context-TMu_AlJt.mjs.map +1 -0
  63. package/dist/guards/index.d.mts +3 -3
  64. package/dist/guards/index.d.mts.map +1 -1
  65. package/dist/guards/index.mjs +1 -1
  66. package/dist/{guards-DU1_J9YA.mjs → guards-DALPXy3_.mjs} +6 -5
  67. package/dist/guards-DALPXy3_.mjs.map +1 -0
  68. package/dist/hono-app-CvV3hOfT.mjs +161 -0
  69. package/dist/hono-app-CvV3hOfT.mjs.map +1 -0
  70. package/dist/{http-method.decorator-BrgHMdLQ.mjs → http-method.decorator-ByWZb9DO.mjs} +7 -6
  71. package/dist/http-method.decorator-ByWZb9DO.mjs.map +1 -0
  72. package/dist/i18n/index.d.mts +238 -3
  73. package/dist/i18n/index.d.mts.map +1 -0
  74. package/dist/i18n/index.mjs +39 -3
  75. package/dist/i18n/index.mjs.map +1 -0
  76. package/dist/i18n/messages/en/index.d.mts +2 -2
  77. package/dist/i18n/messages/en/index.mjs +2 -2
  78. package/dist/i18n/utils/index.d.mts +4 -26
  79. package/dist/i18n/utils/index.d.mts.map +1 -1
  80. package/dist/i18n/utils/index.mjs +2 -2
  81. package/dist/i18n/validation/index.d.mts +3 -2
  82. package/dist/i18n/validation/index.mjs +4 -2
  83. package/dist/i18n.module-DRQAZoSZ.mjs +222 -0
  84. package/dist/i18n.module-DRQAZoSZ.mjs.map +1 -0
  85. package/dist/i18n.tokens-CZ_v8oyS.mjs +19 -0
  86. package/dist/i18n.tokens-CZ_v8oyS.mjs.map +1 -0
  87. package/dist/{index-7-hU3GTV.d.mts → index-0ItCjaqw.d.mts} +1 -1
  88. package/dist/index-0ItCjaqw.d.mts.map +1 -0
  89. package/dist/index-B5JBRcWD.d.mts +544 -0
  90. package/dist/index-B5JBRcWD.d.mts.map +1 -0
  91. package/dist/index-BUt92sAE.d.mts +124 -0
  92. package/dist/index-BUt92sAE.d.mts.map +1 -0
  93. package/dist/{index-ByOyTmqf.d.mts → index-B_JoEl3V.d.mts} +751 -2229
  94. package/dist/index-B_JoEl3V.d.mts.map +1 -0
  95. package/dist/index-DtBNIFuP.d.mts +42 -0
  96. package/dist/index-DtBNIFuP.d.mts.map +1 -0
  97. package/dist/{index-C1KvMncZ.d.mts → index-HgOLNruQ.d.mts} +3 -108
  98. package/dist/index-HgOLNruQ.d.mts.map +1 -0
  99. package/dist/index.d.mts +6 -43
  100. package/dist/index.mjs +3 -2
  101. package/dist/{is-command-C6a7WTPw.mjs → is-command-CEPO9n8c.mjs} +2 -2
  102. package/dist/{is-command-C6a7WTPw.mjs.map → is-command-CEPO9n8c.mjs.map} +1 -1
  103. package/dist/{is-seeder-CebjZCDn.mjs → is-seeder-Gvh_AM71.mjs} +1 -1
  104. package/dist/{is-seeder-CebjZCDn.mjs.map → is-seeder-Gvh_AM71.mjs.map} +1 -1
  105. package/dist/lazy-module-loader-Ib383jH_.d.mts +60 -0
  106. package/dist/lazy-module-loader-Ib383jH_.d.mts.map +1 -0
  107. package/dist/locale-path.service-D-dHiIPc.mjs +165 -0
  108. package/dist/locale-path.service-D-dHiIPc.mjs.map +1 -0
  109. package/dist/locale-url-nZrZxqJP.mjs +44 -0
  110. package/dist/locale-url-nZrZxqJP.mjs.map +1 -0
  111. package/dist/locale-url.service-C2EWmGdq.mjs +41 -0
  112. package/dist/locale-url.service-C2EWmGdq.mjs.map +1 -0
  113. package/dist/logger/index.d.mts +2 -2
  114. package/dist/logger/index.mjs +170 -2
  115. package/dist/logger/index.mjs.map +1 -0
  116. package/dist/macroable/index.d.mts +2 -2
  117. package/dist/macroable/index.mjs +1 -1
  118. package/dist/{macroable-BmufBshB.mjs → macroable-cvDTFZ_A.mjs} +1 -1
  119. package/dist/{macroable-BmufBshB.mjs.map → macroable-cvDTFZ_A.mjs.map} +1 -1
  120. package/dist/metadata-DzzprcID.mjs +39 -0
  121. package/dist/metadata-DzzprcID.mjs.map +1 -0
  122. package/dist/module/index.d.mts +7 -24
  123. package/dist/module/index.d.mts.map +1 -1
  124. package/dist/module/index.mjs +10 -2
  125. package/dist/module/index.mjs.map +1 -0
  126. package/dist/module-registry-Dm-pqHd3.mjs +554 -0
  127. package/dist/module-registry-Dm-pqHd3.mjs.map +1 -0
  128. package/dist/module.decorator-CYHY6pG5.mjs +19 -0
  129. package/dist/module.decorator-CYHY6pG5.mjs.map +1 -0
  130. package/dist/openapi/index.d.mts +44 -8
  131. package/dist/openapi/index.d.mts.map +1 -1
  132. package/dist/openapi/index.mjs +3 -3
  133. package/dist/openapi-CstuTM8S.mjs +309 -0
  134. package/dist/openapi-CstuTM8S.mjs.map +1 -0
  135. package/dist/{openapi-tools.service-Zs-Ewv7F.mjs → openapi-tools.service-BC5EC3R3.mjs} +8 -2
  136. package/dist/openapi-tools.service-BC5EC3R3.mjs.map +1 -0
  137. package/dist/{openapi.service-Bt9bCIrd.d.mts → openapi.service-YhTiJ1bO.d.mts} +3 -3
  138. package/dist/openapi.service-YhTiJ1bO.d.mts.map +1 -0
  139. package/dist/quarry/index.d.mts +14 -163
  140. package/dist/quarry/index.d.mts.map +1 -1
  141. package/dist/quarry/index.mjs +6 -5
  142. package/dist/quarry/runner.d.mts +184 -0
  143. package/dist/quarry/runner.d.mts.map +1 -0
  144. package/dist/quarry/runner.mjs +945 -0
  145. package/dist/quarry/runner.mjs.map +1 -0
  146. package/dist/quarry-registry-CXg0RFXq.d.mts +69 -0
  147. package/dist/quarry-registry-CXg0RFXq.d.mts.map +1 -0
  148. package/dist/quarry.module-BuRPGMDm.mjs +312 -0
  149. package/dist/quarry.module-BuRPGMDm.mjs.map +1 -0
  150. package/dist/queue/index.d.mts +3 -3
  151. package/dist/queue/index.mjs +57 -48
  152. package/dist/queue/index.mjs.map +1 -1
  153. package/dist/queue.module-nddvxzCB.mjs +613 -0
  154. package/dist/queue.module-nddvxzCB.mjs.map +1 -0
  155. package/dist/queue.tokens-DjHnFmre.mjs +11 -0
  156. package/dist/queue.tokens-DjHnFmre.mjs.map +1 -0
  157. package/dist/{r2-storage.provider-DuonKeYm.mjs → r2-storage.provider-DCxQt9dD.mjs} +6 -6
  158. package/dist/r2-storage.provider-DCxQt9dD.mjs.map +1 -0
  159. package/dist/{rate-limit.decorator-6qzNcSOt.mjs → rate-limit.decorator-BPAie_p3.mjs} +6 -11
  160. package/dist/rate-limit.decorator-BPAie_p3.mjs.map +1 -0
  161. package/dist/rate-limiter/index.d.mts +11 -50
  162. package/dist/rate-limiter/index.d.mts.map +1 -1
  163. package/dist/rate-limiter/index.mjs +33 -42
  164. package/dist/rate-limiter/index.mjs.map +1 -1
  165. package/dist/route-name-DGoBOfPg.mjs +171 -0
  166. package/dist/route-name-DGoBOfPg.mjs.map +1 -0
  167. package/dist/route-registration.service-D6vSwiKP.mjs +918 -0
  168. package/dist/route-registration.service-D6vSwiKP.mjs.map +1 -0
  169. package/dist/route-registry-CYqLp2Nj.mjs +123 -0
  170. package/dist/route-registry-CYqLp2Nj.mjs.map +1 -0
  171. package/dist/router/index.d.mts +2 -2
  172. package/dist/router/index.mjs +18 -7
  173. package/dist/router-CWGBD-Bg.mjs +78 -0
  174. package/dist/router-CWGBD-Bg.mjs.map +1 -0
  175. package/dist/router-resolver-D4YlPNlm.mjs +88 -0
  176. package/dist/router-resolver-D4YlPNlm.mjs.map +1 -0
  177. package/dist/seeder/index.d.mts +16 -11
  178. package/dist/seeder/index.d.mts.map +1 -1
  179. package/dist/seeder/index.mjs +5 -3
  180. package/dist/seeder-7ubkms-Y.mjs +81 -0
  181. package/dist/seeder-7ubkms-Y.mjs.map +1 -0
  182. package/dist/seeder-registry-CyUmKsJq.mjs +57 -0
  183. package/dist/seeder-registry-CyUmKsJq.mjs.map +1 -0
  184. package/dist/seeder.module-CYYwk3Qk.mjs +15 -0
  185. package/dist/seeder.module-CYYwk3Qk.mjs.map +1 -0
  186. package/dist/{signed-url-BQPbv2In.mjs → signed-url-DIU0sK_6.mjs} +1 -1
  187. package/dist/{signed-url-BQPbv2In.mjs.map → signed-url-DIU0sK_6.mjs.map} +1 -1
  188. package/dist/storage/index.d.mts +15 -39
  189. package/dist/storage/index.d.mts.map +1 -1
  190. package/dist/storage/index.mjs +3 -3
  191. package/dist/storage/providers/index.d.mts +2 -2
  192. package/dist/storage/providers/index.d.mts.map +1 -1
  193. package/dist/storage/providers/index.mjs +1 -1
  194. package/dist/{storage-D8CBP72Z.mjs → storage-MDZypIE9.mjs} +66 -59
  195. package/dist/storage-MDZypIE9.mjs.map +1 -0
  196. package/dist/{storage-provider.interface-Bd6vA4ak.d.mts → storage-provider.interface-ClUwxz4S.d.mts} +2 -3
  197. package/dist/storage-provider.interface-ClUwxz4S.d.mts.map +1 -0
  198. package/dist/storage.error-Dnib4VHc.mjs +8 -0
  199. package/dist/storage.error-Dnib4VHc.mjs.map +1 -0
  200. package/dist/stratal-DL9M38_s.mjs +383 -0
  201. package/dist/stratal-DL9M38_s.mjs.map +1 -0
  202. package/dist/stratal-DwDJPY9N.d.mts +43 -0
  203. package/dist/stratal-DwDJPY9N.d.mts.map +1 -0
  204. package/dist/tiered-cache.service-Dv3BhxxE.d.mts +79 -0
  205. package/dist/tiered-cache.service-Dv3BhxxE.d.mts.map +1 -0
  206. package/dist/trailing-slash-CFyw8nYu.mjs +34 -0
  207. package/dist/trailing-slash-CFyw8nYu.mjs.map +1 -0
  208. package/dist/{types-cySNS_lp.d.mts → types-CmV_9xBD.d.mts} +1 -1
  209. package/dist/types-CmV_9xBD.d.mts.map +1 -0
  210. package/dist/uri-h7Q8Jug9.mjs +251 -0
  211. package/dist/uri-h7Q8Jug9.mjs.map +1 -0
  212. package/dist/{usage-generator-BUdlhnCK.mjs → usage-generator-DAWYasuP.mjs} +7 -4
  213. package/dist/usage-generator-DAWYasuP.mjs.map +1 -0
  214. package/dist/validation-CpOjviyT.mjs +49 -0
  215. package/dist/validation-CpOjviyT.mjs.map +1 -0
  216. package/dist/validation.context-CRvmrhq7.mjs +117 -0
  217. package/dist/validation.context-CRvmrhq7.mjs.map +1 -0
  218. package/dist/versioning.service-C6aHky8-.mjs +36 -0
  219. package/dist/versioning.service-C6aHky8-.mjs.map +1 -0
  220. package/dist/websocket/index.d.mts +16 -14
  221. package/dist/websocket/index.d.mts.map +1 -1
  222. package/dist/websocket/index.mjs +2 -2
  223. package/dist/workers/index.d.mts +2 -2
  224. package/dist/workers/index.d.mts.map +1 -1
  225. package/dist/workers/index.mjs +3 -2
  226. package/dist/workers/index.mjs.map +1 -1
  227. package/dist/zod-eKqqhZ5_.mjs +72 -0
  228. package/dist/zod-eKqqhZ5_.mjs.map +1 -0
  229. package/dist/{index-Bnpfq6uk.d.mts → zod-wecrEVAs.d.mts} +63 -133
  230. package/dist/zod-wecrEVAs.d.mts.map +1 -0
  231. package/package.json +28 -39
  232. package/dist/base-email.provider-CfQCA08m.mjs +0 -42
  233. package/dist/base-email.provider-CfQCA08m.mjs.map +0 -1
  234. package/dist/cache.service-DsnKuNyO.d.mts.map +0 -1
  235. package/dist/cache.tokens-B7Rw1C9Q.mjs +0 -6
  236. package/dist/cache.tokens-B7Rw1C9Q.mjs.map +0 -1
  237. package/dist/colors-DJaRDXoS.mjs +0 -16
  238. package/dist/colors-DJaRDXoS.mjs.map +0 -1
  239. package/dist/command-BgSlsS4M.mjs.map +0 -1
  240. package/dist/command-Cmmf0oHX.d.mts.map +0 -1
  241. package/dist/consumer-registry-B7yUNh0q.d.mts.map +0 -1
  242. package/dist/controller.decorator-B9vwn0zK.mjs.map +0 -1
  243. package/dist/cron-manager-CmTimEjf.d.mts +0 -131
  244. package/dist/cron-manager-CmTimEjf.d.mts.map +0 -1
  245. package/dist/cron-manager-DQSK8uoV.mjs.map +0 -1
  246. package/dist/en-DSH_bhh6.mjs +0 -308
  247. package/dist/en-DSH_bhh6.mjs.map +0 -1
  248. package/dist/env-D1rcZ8_r.d.mts.map +0 -1
  249. package/dist/errors-COW9-Mar.mjs +0 -1739
  250. package/dist/errors-COW9-Mar.mjs.map +0 -1
  251. package/dist/errors-ORxu1-Bb.mjs +0 -74
  252. package/dist/errors-ORxu1-Bb.mjs.map +0 -1
  253. package/dist/events-CzCV8jI8.mjs.map +0 -1
  254. package/dist/gateway-context-CXmXtaUP.mjs.map +0 -1
  255. package/dist/guards-DU1_J9YA.mjs.map +0 -1
  256. package/dist/http-method.decorator-BrgHMdLQ.mjs.map +0 -1
  257. package/dist/i18n.module-CzXLW9Hy.mjs +0 -2532
  258. package/dist/i18n.module-CzXLW9Hy.mjs.map +0 -1
  259. package/dist/index-7-hU3GTV.d.mts.map +0 -1
  260. package/dist/index-Bnpfq6uk.d.mts.map +0 -1
  261. package/dist/index-ByOyTmqf.d.mts.map +0 -1
  262. package/dist/index-C1KvMncZ.d.mts.map +0 -1
  263. package/dist/index-DBd_2wv8.d.mts +0 -263
  264. package/dist/index-DBd_2wv8.d.mts.map +0 -1
  265. package/dist/index-DUzWs0z7.d.mts +0 -494
  266. package/dist/index-DUzWs0z7.d.mts.map +0 -1
  267. package/dist/index.d.mts.map +0 -1
  268. package/dist/logger-DlV7NtvD.mjs +0 -440
  269. package/dist/logger-DlV7NtvD.mjs.map +0 -1
  270. package/dist/module-BzLg57FK.mjs +0 -866
  271. package/dist/module-BzLg57FK.mjs.map +0 -1
  272. package/dist/openapi-tools.service-Zs-Ewv7F.mjs.map +0 -1
  273. package/dist/openapi.service-Bt9bCIrd.d.mts.map +0 -1
  274. package/dist/quarry-registry-BwY2hOxm.mjs +0 -699
  275. package/dist/quarry-registry-BwY2hOxm.mjs.map +0 -1
  276. package/dist/queue.module-BhCjZp6H.mjs +0 -409
  277. package/dist/queue.module-BhCjZp6H.mjs.map +0 -1
  278. package/dist/r2-storage.provider-DuonKeYm.mjs.map +0 -1
  279. package/dist/rate-limit.decorator-6qzNcSOt.mjs.map +0 -1
  280. package/dist/resend.provider-DB4IlFjG.mjs +0 -68
  281. package/dist/resend.provider-DB4IlFjG.mjs.map +0 -1
  282. package/dist/seeder-zoEfEw9i.mjs +0 -138
  283. package/dist/seeder-zoEfEw9i.mjs.map +0 -1
  284. package/dist/setup-CefZKV_e.mjs +0 -37
  285. package/dist/setup-CefZKV_e.mjs.map +0 -1
  286. package/dist/smtp.provider-B6D7zuWX.mjs +0 -76
  287. package/dist/smtp.provider-B6D7zuWX.mjs.map +0 -1
  288. package/dist/storage-D8CBP72Z.mjs.map +0 -1
  289. package/dist/storage-provider.interface-Bd6vA4ak.d.mts.map +0 -1
  290. package/dist/stratal-CNwpbSZl.mjs +0 -535
  291. package/dist/stratal-CNwpbSZl.mjs.map +0 -1
  292. package/dist/types-cySNS_lp.d.mts.map +0 -1
  293. package/dist/usage-generator-BUdlhnCK.mjs.map +0 -1
  294. package/dist/validation-DtJwAv7O.mjs +0 -248
  295. package/dist/validation-DtJwAv7O.mjs.map +0 -1
  296. /package/dist/{chunk-D1SwGrFN.mjs → chunk-BBjsoOtd.mjs} +0 -0
@@ -1,2 +1,2 @@
1
- import { t as setupI18nCompiler } from "../../setup-CefZKV_e.mjs";
2
- export { setupI18nCompiler };
1
+ import { t as deepMerge } from "../../deep-merge-ByiAOZ3r.mjs";
2
+ export { deepMerge };
@@ -1,4 +1,5 @@
1
- import { c as runWithErrorMapContext, d as LocaleProvider, f as ZodCustomIssue, h as withI18n, i as ZodError, l as ErrorMapContext, m as cuid2, n as OpenAPIObject, o as z, p as CUID2_REGEX, r as PathItemObject, s as backendErrorMap, t as OpenAPIHono, u as I18nErrorMetadata } from "../../index-Bnpfq6uk.mjs";
1
+ import { a as z, b as CUID2_REGEX, c as ZodCustomIssue, i as ZodError, n as OpenAPIObject, r as PathItemObject, s as I18nErrorMetadata, t as OpenAPIHono, x as cuid2 } from "../../zod-wecrEVAs.mjs";
2
+ import { n as withZodI18n, t as zodErrorMap } from "../../index-DtBNIFuP.mjs";
2
3
  export * from "@hono/zod-openapi";
3
4
  export * from "zod";
4
- export { CUID2_REGEX, ErrorMapContext, I18nErrorMetadata, LocaleProvider, OpenAPIHono, OpenAPIObject, PathItemObject, ZodCustomIssue, ZodError, backendErrorMap, cuid2, runWithErrorMapContext, withI18n, z };
5
+ export { CUID2_REGEX, type I18nErrorMetadata, OpenAPIHono, type OpenAPIObject, type PathItemObject, type ZodCustomIssue, ZodError, cuid2, withZodI18n, z, zodErrorMap };
@@ -1,3 +1,5 @@
1
- import { a as CUID2_REGEX, c as backendErrorMap, i as z, l as runWithErrorMapContext, n as ZodError, o as cuid2, s as withI18n, t as OpenAPIHono } from "../../validation-DtJwAv7O.mjs";
1
+ import { a as CUID2_REGEX, n as ZodError, o as cuid2, r as z, t as OpenAPIHono } from "../../zod-eKqqhZ5_.mjs";
2
+ import { t as withZodI18n } from "../../validation-CpOjviyT.mjs";
3
+ import { t as zodErrorMap } from "../../validation.context-CRvmrhq7.mjs";
2
4
  export * from "@hono/zod-openapi";
3
- export { CUID2_REGEX, OpenAPIHono, ZodError, backendErrorMap, cuid2, runWithErrorMapContext, withI18n, z };
5
+ export { CUID2_REGEX, OpenAPIHono, ZodError, cuid2, withZodI18n, z, zodErrorMap };
@@ -0,0 +1,222 @@
1
+ import { t as __exportAll } from "./chunk-BBjsoOtd.mjs";
2
+ import { d as inject, o as Request, s as Singleton, v as ROUTER_TOKENS } from "./di-DseMn-z9.mjs";
3
+ import { n as __decorateParam, t as __decorate } from "./decorate-CuAoSZvs.mjs";
4
+ import { n as Module } from "./module.decorator-CYHY6pG5.mjs";
5
+ import "./module/index.mjs";
6
+ import { t as I18N_TOKENS } from "./i18n.tokens-CZ_v8oyS.mjs";
7
+ import { r as z } from "./zod-eKqqhZ5_.mjs";
8
+ import { t as zodErrorMap } from "./validation.context-CRvmrhq7.mjs";
9
+ import "./router-CWGBD-Bg.mjs";
10
+ import { t as en_exports } from "./en-CDZBMcc1.mjs";
11
+ import { t as deepMerge } from "./deep-merge-ByiAOZ3r.mjs";
12
+ import IntlMessageFormat from "intl-messageformat";
13
+ //#region src/i18n/services/i18n.service.ts
14
+ let I18nService = class I18nService {
15
+ loader;
16
+ routerContext;
17
+ constructor(loader, routerContext) {
18
+ this.loader = loader;
19
+ this.routerContext = routerContext;
20
+ }
21
+ t(key, params) {
22
+ return this.loader.translate(this.getLocale(), key, params);
23
+ }
24
+ getLocale() {
25
+ return this.routerContext?.getLocale() ?? "en";
26
+ }
27
+ };
28
+ I18nService = __decorate([
29
+ Request(I18N_TOKENS.I18nService),
30
+ __decorateParam(0, inject(I18N_TOKENS.MessageLoader)),
31
+ __decorateParam(1, inject(ROUTER_TOKENS.RouterContext, { isOptional: true }))
32
+ ], I18nService);
33
+ //#endregion
34
+ //#region src/i18n/messages/index.ts
35
+ /**
36
+ * Core Messages
37
+ *
38
+ * Messages used by packages/modules infrastructure.
39
+ * These are automatically merged with application-specific messages.
40
+ */
41
+ /**
42
+ * All locale messages
43
+ * Explicitly import and export (no filesystem scanning - Cloudflare Workers compatible)
44
+ */
45
+ const messages = { en: en_exports };
46
+ /**
47
+ * Get messages for all locales
48
+ */
49
+ function getMessages() {
50
+ return messages;
51
+ }
52
+ /**
53
+ * Get available locales
54
+ */
55
+ function getLocales() {
56
+ return Object.keys(messages);
57
+ }
58
+ //#endregion
59
+ //#region src/i18n/services/message-loader.service.ts
60
+ let MessageLoaderService = class MessageLoaderService {
61
+ registry;
62
+ options;
63
+ cache;
64
+ compiledCache;
65
+ locales;
66
+ defaultLocale;
67
+ constructor(registry, options) {
68
+ this.registry = registry;
69
+ this.options = options;
70
+ this.defaultLocale = this.options?.defaultLocale ?? "en";
71
+ this.cache = /* @__PURE__ */ new Map();
72
+ this.compiledCache = /* @__PURE__ */ new Map();
73
+ const coreMessages = getMessages();
74
+ const coreLocales = getLocales();
75
+ const registryMessages = this.registry.getMergedMessages();
76
+ const registryLocales = Object.keys(registryMessages);
77
+ const allLocales = [...new Set([...coreLocales, ...registryLocales])];
78
+ this.locales = allLocales;
79
+ for (const locale of allLocales) {
80
+ const merged = deepMerge(coreMessages[locale] ?? {}, registryMessages[locale] ?? {});
81
+ this.cache.set(locale, merged);
82
+ }
83
+ }
84
+ translate(locale, key, params) {
85
+ const fn = this.getCompiledMessages(locale)[key];
86
+ if (!fn) return key;
87
+ return fn(params);
88
+ }
89
+ getMessages(locale) {
90
+ return this.cache.get(locale) ?? this.cache.get(this.defaultLocale) ?? {};
91
+ }
92
+ getAvailableLocales() {
93
+ return this.locales;
94
+ }
95
+ isLocaleSupported(locale) {
96
+ return this.cache.has(locale);
97
+ }
98
+ getDefaultLocale() {
99
+ return this.defaultLocale;
100
+ }
101
+ getFilteredMessages(locale, options) {
102
+ const messages = this.getMessages(locale);
103
+ const flattened = this.flattenMessages(messages);
104
+ if (!options?.only?.length) return flattened;
105
+ const result = {};
106
+ for (const [key, value] of Object.entries(flattened)) if (options.only.some((prefix) => key === prefix || key.startsWith(`${prefix}.`))) result[key] = value;
107
+ return result;
108
+ }
109
+ getCompiledMessages(locale) {
110
+ const effectiveLocale = this.cache.has(locale) ? locale : this.defaultLocale;
111
+ const cached = this.compiledCache.get(effectiveLocale);
112
+ if (cached) return cached;
113
+ const messages = this.cache.get(effectiveLocale) ?? {};
114
+ const flattened = this.flattenMessages(messages);
115
+ const compiled = {};
116
+ for (const [key, value] of Object.entries(flattened)) {
117
+ const msg = new IntlMessageFormat(value, effectiveLocale);
118
+ compiled[key] = (params) => String(msg.format(params));
119
+ }
120
+ this.compiledCache.set(effectiveLocale, compiled);
121
+ return compiled;
122
+ }
123
+ flattenMessages(messages, prefix = "") {
124
+ const result = {};
125
+ for (const key of Object.keys(messages)) {
126
+ const value = messages[key];
127
+ const newKey = prefix ? `${prefix}.${key}` : key;
128
+ if (typeof value === "object" && value !== null && !Array.isArray(value)) Object.assign(result, this.flattenMessages(value, newKey));
129
+ else result[newKey] = String(value);
130
+ }
131
+ return result;
132
+ }
133
+ };
134
+ MessageLoaderService = __decorate([
135
+ Singleton(I18N_TOKENS.MessageLoader),
136
+ __decorateParam(0, inject(I18N_TOKENS.MessageRegistry)),
137
+ __decorateParam(1, inject(I18N_TOKENS.Options, { isOptional: true }))
138
+ ], MessageLoaderService);
139
+ //#endregion
140
+ //#region src/i18n/services/message-registry.ts
141
+ /**
142
+ * Global key for the shared contributions array.
143
+ *
144
+ * When stratal is installed via portal/symlink (e.g., in monorepos), bundlers
145
+ * like esbuild may inline multiple copies of this module. Each copy gets its
146
+ * own static class fields, so messages registered by one copy are invisible
147
+ * to another. Using a `Symbol.for()` key on `globalThis` ensures all copies
148
+ * share the same contributions array.
149
+ */
150
+ const CONTRIBUTIONS_KEY = Symbol.for("stratal:i18n:message-registry:contributions");
151
+ function getContributions() {
152
+ const g = globalThis;
153
+ g[CONTRIBUTIONS_KEY] ??= [];
154
+ return g[CONTRIBUTIONS_KEY];
155
+ }
156
+ let MessageRegistry = class MessageRegistry {
157
+ /**
158
+ * Add messages (called statically by I18nModule.registerMessages)
159
+ */
160
+ static addMessages(messages) {
161
+ if (Boolean(messages) && typeof messages === "object" && Object.keys(messages).length > 0) getContributions().push(messages);
162
+ }
163
+ /**
164
+ * Get all messages deep-merged in registration order
165
+ */
166
+ getMergedMessages() {
167
+ const merged = {};
168
+ for (const contribution of getContributions()) for (const locale of Object.keys(contribution)) merged[locale] = deepMerge(merged[locale] ?? {}, contribution[locale]);
169
+ return merged;
170
+ }
171
+ /**
172
+ * Reset registry (for testing)
173
+ * @internal
174
+ */
175
+ static reset() {
176
+ globalThis[CONTRIBUTIONS_KEY] = [];
177
+ }
178
+ };
179
+ MessageRegistry = __decorate([Singleton(I18N_TOKENS.MessageRegistry)], MessageRegistry);
180
+ //#endregion
181
+ //#region src/i18n/i18n.module.ts
182
+ var i18n_module_exports = /* @__PURE__ */ __exportAll({ I18nModule: () => I18nModule });
183
+ var _I18nModule;
184
+ let I18nModule = _I18nModule = class I18nModule {
185
+ onInitialize(_context) {
186
+ z.config({ customError: zodErrorMap });
187
+ }
188
+ static forRoot(options = {}) {
189
+ return {
190
+ module: _I18nModule,
191
+ providers: [{
192
+ provide: I18N_TOKENS.Options,
193
+ useValue: options
194
+ }]
195
+ };
196
+ }
197
+ static registerMessages(messages) {
198
+ MessageRegistry.addMessages(messages);
199
+ return {
200
+ module: _I18nModule,
201
+ providers: []
202
+ };
203
+ }
204
+ };
205
+ I18nModule = _I18nModule = __decorate([Module({ providers: [
206
+ {
207
+ provide: I18N_TOKENS.MessageRegistry,
208
+ useClass: MessageRegistry
209
+ },
210
+ {
211
+ provide: I18N_TOKENS.MessageLoader,
212
+ useClass: MessageLoaderService
213
+ },
214
+ {
215
+ provide: I18N_TOKENS.I18nService,
216
+ useClass: I18nService
217
+ }
218
+ ] })], I18nModule);
219
+ //#endregion
220
+ export { getLocales as a, MessageLoaderService as i, i18n_module_exports as n, getMessages as o, MessageRegistry as r, messages as s, I18nModule as t };
221
+
222
+ //# sourceMappingURL=i18n.module-DRQAZoSZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.module-DRQAZoSZ.mjs","names":[],"sources":["../src/i18n/services/i18n.service.ts","../src/i18n/messages/index.ts","../src/i18n/services/message-loader.service.ts","../src/i18n/services/message-registry.ts","../src/i18n/i18n.module.ts"],"sourcesContent":["import { inject } from '../../di'\nimport { Request } from '../../di/decorators'\nimport { ROUTER_TOKENS, type RouterContext } from '../../router'\nimport { I18N_TOKENS } from '../i18n.tokens'\nimport type { II18nService, MessageKeys, MessageParams } from '../i18n.types'\nimport type { MessageLoaderService } from './message-loader.service'\n\n@Request(I18N_TOKENS.I18nService)\nexport class I18nService implements II18nService {\n constructor(\n @inject(I18N_TOKENS.MessageLoader) private readonly loader: MessageLoaderService,\n @inject(ROUTER_TOKENS.RouterContext, { isOptional: true }) private readonly routerContext?: RouterContext\n ) {\n }\n\n t(key: MessageKeys, params?: MessageParams): string {\n return this.loader.translate(this.getLocale(), key, params as Record<string, unknown>)\n }\n\n getLocale(): string {\n return this.routerContext?.getLocale() ?? 'en'\n }\n}\n","/**\n * Core Messages\n *\n * Messages used by packages/modules infrastructure.\n * These are automatically merged with application-specific messages.\n */\n\nimport * as en from './en'\n\n/**\n * All locale messages\n * Explicitly import and export (no filesystem scanning - Cloudflare Workers compatible)\n */\nexport const messages = { en } as const\n\n/**\n * Type for all messages\n */\nexport type Messages = typeof messages\n\n/**\n * Get messages for all locales\n */\nexport function getMessages(): Record<string, Record<string, unknown>> {\n return messages\n}\n\n/**\n * Get available locales\n */\nexport function getLocales(): string[] {\n return Object.keys(messages)\n}\n","import IntlMessageFormat from 'intl-messageformat'\nimport { inject } from '../../di'\nimport { Singleton } from '../../di/decorators'\nimport type { I18nModuleOptions } from '../i18n.options'\nimport type { MessageKeyPrefix } from '../i18n.types'\nimport { I18N_TOKENS } from '../i18n.tokens'\nimport { getLocales, getMessages } from '../messages'\nimport { deepMerge } from '../utils/deep-merge'\nimport type { MessageRegistry } from './message-registry'\n\ntype CompiledMessages = Record<string, (params?: Record<string, unknown>) => string>\n\n@Singleton(I18N_TOKENS.MessageLoader)\nexport class MessageLoaderService {\n private readonly cache: Map<string, Record<string, unknown>>\n private readonly compiledCache: Map<string, CompiledMessages>\n private readonly locales: string[]\n private readonly defaultLocale: string\n\n constructor(\n @inject(I18N_TOKENS.MessageRegistry) private readonly registry: MessageRegistry,\n @inject(I18N_TOKENS.Options, { isOptional: true })\n private readonly options?: I18nModuleOptions\n ) {\n this.defaultLocale = this.options?.defaultLocale ?? 'en'\n this.cache = new Map()\n this.compiledCache = new Map()\n\n const coreMessages = getMessages()\n const coreLocales = getLocales()\n\n const registryMessages = this.registry.getMergedMessages()\n const registryLocales = Object.keys(registryMessages)\n\n const allLocales = [...new Set([...coreLocales, ...registryLocales])]\n this.locales = allLocales\n\n for (const locale of allLocales) {\n const coreLocaleMessages = coreMessages[locale] ?? {}\n const registryLocaleMessages = registryMessages[locale] ?? {}\n\n const merged = deepMerge(coreLocaleMessages, registryLocaleMessages)\n this.cache.set(locale, merged)\n }\n }\n\n translate(locale: string, key: string, params?: Record<string, unknown>): string {\n const compiled = this.getCompiledMessages(locale)\n const fn = compiled[key]\n if (!fn) return key\n return fn(params)\n }\n\n getMessages(locale: string): Record<string, unknown> {\n return this.cache.get(locale) ?? this.cache.get(this.defaultLocale) ?? {}\n }\n\n getAvailableLocales(): string[] {\n return this.locales\n }\n\n isLocaleSupported(locale: string): boolean {\n return this.cache.has(locale)\n }\n\n getDefaultLocale(): string {\n return this.defaultLocale\n }\n\n getFilteredMessages(\n locale: string,\n options?: { only?: MessageKeyPrefix[] }\n ): Record<string, string> {\n const messages = this.getMessages(locale)\n const flattened = this.flattenMessages(messages)\n\n if (!options?.only?.length) return flattened\n\n const result: Record<string, string> = {}\n for (const [key, value] of Object.entries(flattened)) {\n if (options.only.some((prefix) => key === prefix || key.startsWith(`${prefix}.`))) {\n result[key] = value\n }\n }\n return result\n }\n\n private getCompiledMessages(locale: string): CompiledMessages {\n const effectiveLocale = this.cache.has(locale) ? locale : this.defaultLocale\n\n const cached = this.compiledCache.get(effectiveLocale)\n if (cached) return cached\n\n const messages = this.cache.get(effectiveLocale) ?? {}\n const flattened = this.flattenMessages(messages)\n\n const compiled: CompiledMessages = {}\n for (const [key, value] of Object.entries(flattened)) {\n const msg = new IntlMessageFormat(value, effectiveLocale)\n compiled[key] = (params) => String(msg.format(params as Record<string, string | number | boolean>))\n }\n\n this.compiledCache.set(effectiveLocale, compiled)\n return compiled\n }\n\n private flattenMessages(\n messages: Record<string, unknown>,\n prefix = ''\n ): Record<string, string> {\n const result: Record<string, string> = {}\n\n for (const key of Object.keys(messages)) {\n const value = messages[key]\n const newKey = prefix ? `${prefix}.${key}` : key\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n Object.assign(result, this.flattenMessages(value as Record<string, unknown>, newKey))\n } else {\n result[newKey] = String(value)\n }\n }\n\n return result\n }\n}\n","import { Singleton } from '../../di/decorators'\nimport { I18N_TOKENS } from '../i18n.tokens'\nimport { deepMerge } from '../utils/deep-merge'\n\n/**\n * Global key for the shared contributions array.\n *\n * When stratal is installed via portal/symlink (e.g., in monorepos), bundlers\n * like esbuild may inline multiple copies of this module. Each copy gets its\n * own static class fields, so messages registered by one copy are invisible\n * to another. Using a `Symbol.for()` key on `globalThis` ensures all copies\n * share the same contributions array.\n */\nconst CONTRIBUTIONS_KEY = Symbol.for('stratal:i18n:message-registry:contributions')\n\ntype Contributions = Record<string, Record<string, unknown>>[]\n\nfunction getContributions(): Contributions {\n const g = globalThis as Record<symbol, unknown>\n g[CONTRIBUTIONS_KEY] ??= [];\n return g[CONTRIBUTIONS_KEY] as Contributions\n}\n\n/**\n * Message Registry\n *\n * Accumulates i18n messages from multiple `I18nModule.registerMessages()` calls.\n * Messages are collected statically (at module import time) and deep-merged\n * when `getMergedMessages()` is called by `MessageLoaderService`.\n *\n * Later registrations override earlier ones at leaf level.\n */\n@Singleton(I18N_TOKENS.MessageRegistry)\nexport class MessageRegistry {\n /**\n * Add messages (called statically by I18nModule.registerMessages)\n */\n static addMessages(messages: Record<string, Record<string, unknown>>): void {\n if (Boolean(messages) && typeof messages === 'object' && Object.keys(messages).length > 0) {\n getContributions().push(messages)\n }\n }\n\n /**\n * Get all messages deep-merged in registration order\n */\n getMergedMessages(): Record<string, Record<string, unknown>> {\n const merged: Record<string, Record<string, unknown>> = {}\n\n for (const contribution of getContributions()) {\n for (const locale of Object.keys(contribution)) {\n merged[locale] = deepMerge(\n (merged[locale] ?? {}),\n contribution[locale],\n )\n }\n }\n\n return merged\n }\n\n /**\n * Reset registry (for testing)\n * @internal\n */\n static reset(): void {\n (globalThis as Record<symbol, unknown>)[CONTRIBUTIONS_KEY] = []\n }\n}\n","import { Module } from '../module'\nimport type { DynamicModule, ModuleContext, OnInitialize } from '../module/types'\nimport type { I18nModuleOptions } from './i18n.options'\nimport { I18N_TOKENS } from './i18n.tokens'\nimport { I18nService } from './services/i18n.service'\nimport { MessageLoaderService } from './services/message-loader.service'\nimport { MessageRegistry } from './services/message-registry'\nimport { zodErrorMap } from './validation/validation.context'\nimport { z } from './validation/zod'\n\n@Module({\n providers: [\n { provide: I18N_TOKENS.MessageRegistry, useClass: MessageRegistry },\n { provide: I18N_TOKENS.MessageLoader, useClass: MessageLoaderService },\n { provide: I18N_TOKENS.I18nService, useClass: I18nService },\n ],\n})\nexport class I18nModule implements OnInitialize {\n onInitialize(_context: ModuleContext): void {\n z.config({ customError: zodErrorMap })\n }\n\n static forRoot(options: I18nModuleOptions = {}): DynamicModule {\n return {\n module: I18nModule,\n providers: [\n { provide: I18N_TOKENS.Options, useValue: options },\n ],\n }\n }\n\n static registerMessages(messages: Record<string, Record<string, unknown>>): DynamicModule {\n MessageRegistry.addMessages(messages)\n return {\n module: I18nModule,\n providers: [],\n }\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ //#region src/i18n/i18n.tokens.ts
2
+ /**
3
+ * I18n Module DI Tokens
4
+ * Symbol-based tokens to avoid string collisions
5
+ */
6
+ const I18N_TOKENS = {
7
+ /** MessageLoaderService - loads and caches locale messages */
8
+ MessageLoader: Symbol.for("stratal:i18n:message:loader"),
9
+ /** I18nService - request-scoped translation service */
10
+ I18nService: Symbol.for("stratal:i18n:service"),
11
+ /** I18nModuleOptions - configuration options from forRoot() */
12
+ Options: Symbol.for("stratal:i18n:options"),
13
+ /** MessageRegistry - singleton accumulator for registerMessages() contributions */
14
+ MessageRegistry: Symbol.for("stratal:i18n:message:registry")
15
+ };
16
+ //#endregion
17
+ export { I18N_TOKENS as t };
18
+
19
+ //# sourceMappingURL=i18n.tokens-CZ_v8oyS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.tokens-CZ_v8oyS.mjs","names":[],"sources":["../src/i18n/i18n.tokens.ts"],"sourcesContent":["/**\n * I18n Module DI Tokens\n * Symbol-based tokens to avoid string collisions\n */\n\nexport const I18N_TOKENS = {\n /** MessageLoaderService - loads and caches locale messages */\n MessageLoader: Symbol.for('stratal:i18n:message:loader'),\n /** I18nService - request-scoped translation service */\n I18nService: Symbol.for('stratal:i18n:service'),\n /** I18nModuleOptions - configuration options from forRoot() */\n Options: Symbol.for('stratal:i18n:options'),\n /** MessageRegistry - singleton accumulator for registerMessages() contributions */\n MessageRegistry: Symbol.for('stratal:i18n:message:registry'),\n} as const\n"],"mappings":";;;;;AAKA,MAAa,cAAc;;CAEzB,eAAe,OAAO,IAAI,6BAA6B;;CAEvD,aAAa,OAAO,IAAI,sBAAsB;;CAE9C,SAAS,OAAO,IAAI,sBAAsB;;CAE1C,iBAAiB,OAAO,IAAI,+BAA+B;AAC7D"}
@@ -98,4 +98,4 @@ declare abstract class Macroable {
98
98
  }
99
99
  //#endregion
100
100
  export { MacroFunction as n, Macroable as t };
101
- //# sourceMappingURL=index-7-hU3GTV.d.mts.map
101
+ //# sourceMappingURL=index-0ItCjaqw.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-0ItCjaqw.d.mts","names":[],"sources":["../src/macroable/types.ts","../src/macroable/macroable.ts"],"mappings":";KACY,aAAA,IAAiB,IAAA,UAAc,IAAI;;;KCE1C,WAAA,oBAA+B,IAAI;;;;ADFO;;;;ACDH;;;;AAGJ;AA4BxC;;;;;;;;;;;;;;uBAAsB,SAAA;EAAA,CACnB,GAAA;EAwE8D;;;;EAAA,iBAnE9C,cAAA,EAAc,GAAA;;;;EAyFsB;;;EAAA,iBApFpC,UAAA,EAAU,GAAA;EAuFL;;;EAAA,iBAlFL,WAAA,EAAW,GAAA;EAqFsB;;;;EAAA,eA/EnC,UAAA;EAhBgB;;;;;;;;;EAAA,OA6BxB,KAAA,WAAgB,WAAA,kBAA6B,YAAA,CAAa,CAAA,GAC/D,IAAA,EAAM,CAAA,EACN,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,YAAA,CAAa,CAAA,EAAG,CAAA;EAAA,OAElB,KAAA,CAAM,IAAA,mBAAuB,KAAA;EALA;;;;;;;;;EAAA,OAsC7B,gBAAA,WAA2B,WAAA,kBAA6B,YAAA,CAAa,CAAA,GAC1E,IAAA,EAAM,CAAA,EACN,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,YAAA,CAAa,CAAA,EAAG,CAAA;EAAA,OAElB,gBAAA,CAAiB,IAAA,mBAAuB,KAAA;EAtCxC;;;;;;;EAAA,OAuDA,MAAA,WAAiB,WAAA,kBAA6B,YAAA,CAAa,CAAA,GAChE,IAAA,EAAM,CAAA,EACN,IAAA,EAAM,CAAA,EACN,WAAA,GAAc,IAAA,EAAM,YAAA,CAAa,CAAA,MAAO,YAAA,CAAa,CAAA,EAAG,CAAA,GACxD,SAAA;EAAA,OAEK,MAAA,CAAO,IAAA,mBAAuB,WAAA,EAAa,aAAA,EAAe,SAAA;EA3BzD;;;;;EAAA,OA+DD,QAAA,CAAS,IAAA;EA7DS;;;;EAAA,OA2ElB,WAAA"}