@riverbankcms/sdk 0.7.2 → 0.7.3

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 (187) hide show
  1. package/README.md +54 -0
  2. package/dist/client/bookings.d.mts +2 -0
  3. package/dist/client/bookings.d.ts +2 -0
  4. package/dist/client/bookings.js +2956 -104
  5. package/dist/client/bookings.js.map +1 -1
  6. package/dist/client/bookings.mjs +2929 -70
  7. package/dist/client/bookings.mjs.map +1 -1
  8. package/dist/client/client.d.mts +2 -2
  9. package/dist/client/client.d.ts +2 -2
  10. package/dist/client/client.js +80 -11
  11. package/dist/client/client.js.map +1 -1
  12. package/dist/client/client.mjs +87 -11
  13. package/dist/client/client.mjs.map +1 -1
  14. package/dist/client/hooks.d.mts +2 -2
  15. package/dist/client/hooks.d.ts +2 -2
  16. package/dist/client/rendering/client.js +3070 -259
  17. package/dist/client/rendering/client.js.map +1 -1
  18. package/dist/client/rendering/client.mjs +3212 -395
  19. package/dist/client/rendering/client.mjs.map +1 -1
  20. package/dist/client/spam-protection.d.mts +55 -0
  21. package/dist/client/spam-protection.d.ts +55 -0
  22. package/dist/client/spam-protection.js +2915 -0
  23. package/dist/client/spam-protection.js.map +1 -0
  24. package/dist/client/spam-protection.mjs +2893 -0
  25. package/dist/client/spam-protection.mjs.map +1 -0
  26. package/dist/client/{usePage-Db9kzA41.d.ts → usePage-BYmJCCm1.d.ts} +14 -2
  27. package/dist/client/{usePage-C9tJpuKa.d.mts → usePage-DZtrWajy.d.mts} +14 -2
  28. package/dist/server/{Layout-Ce7PU9I5.d.ts → Layout-Yluyb6sK.d.ts} +1 -1
  29. package/dist/server/{Layout-WllR8Zug.d.mts → Layout-qWLdVm5-.d.mts} +1 -1
  30. package/dist/server/chunk-2IZ6S225.js +122 -0
  31. package/dist/server/chunk-2IZ6S225.js.map +1 -0
  32. package/dist/server/chunk-4CV4JOE5.js +27 -0
  33. package/dist/server/chunk-4CV4JOE5.js.map +1 -0
  34. package/dist/server/{chunk-AET56TQX.mjs → chunk-5LRR64Y6.mjs} +32 -5
  35. package/dist/server/chunk-5LRR64Y6.mjs.map +1 -0
  36. package/dist/server/{chunk-VODFQMUW.js → chunk-NBTRDLCM.js} +32 -5
  37. package/dist/server/chunk-NBTRDLCM.js.map +1 -0
  38. package/dist/server/chunk-NFEGQTCC.mjs +27 -0
  39. package/dist/server/{chunk-5JT452F2.mjs → chunk-NFQLH5IA.mjs} +340 -19
  40. package/dist/server/chunk-NFQLH5IA.mjs.map +1 -0
  41. package/dist/server/chunk-PPHZV6YD.mjs +122 -0
  42. package/dist/server/chunk-PPHZV6YD.mjs.map +1 -0
  43. package/dist/server/{chunk-HMENX4Y7.js → chunk-VLXTNB2C.js} +370 -49
  44. package/dist/server/chunk-VLXTNB2C.js.map +1 -0
  45. package/dist/server/{components-RPzRQve6.d.mts → components-DNHfSCML.d.mts} +3 -3
  46. package/dist/server/{components--LT61IKp.d.ts → components-Di5ME6He.d.ts} +3 -3
  47. package/dist/server/components.d.mts +5 -5
  48. package/dist/server/components.d.ts +5 -5
  49. package/dist/server/components.js +1 -0
  50. package/dist/server/components.js.map +1 -1
  51. package/dist/server/components.mjs +1 -0
  52. package/dist/server/config-validation.js +1 -0
  53. package/dist/server/config-validation.js.map +1 -1
  54. package/dist/server/config-validation.mjs +1 -0
  55. package/dist/server/config.js +1 -0
  56. package/dist/server/config.js.map +1 -1
  57. package/dist/server/config.mjs +1 -0
  58. package/dist/server/config.mjs.map +1 -1
  59. package/dist/server/data.d.mts +2 -2
  60. package/dist/server/data.d.ts +2 -2
  61. package/dist/server/data.js +1 -0
  62. package/dist/server/data.js.map +1 -1
  63. package/dist/server/data.mjs +1 -0
  64. package/dist/server/env.d.mts +91 -5
  65. package/dist/server/env.d.ts +91 -5
  66. package/dist/server/env.js +9 -2
  67. package/dist/server/env.js.map +1 -1
  68. package/dist/server/env.mjs +8 -1
  69. package/dist/server/{index-BL66CU6d.d.mts → index--Oyunk_B.d.mts} +2 -2
  70. package/dist/server/{index-CJk9iQQW.d.ts → index-C9Ra8dza.d.ts} +2 -2
  71. package/dist/server/{index-Bkva0WAj.d.mts → index-Clm3skz_.d.mts} +1 -1
  72. package/dist/server/{index-CSBWKA3r.d.ts → index-DLvNddi-.d.ts} +1 -1
  73. package/dist/server/index.d.mts +215 -4
  74. package/dist/server/index.d.ts +215 -4
  75. package/dist/server/index.js +301 -3
  76. package/dist/server/index.js.map +1 -1
  77. package/dist/server/index.mjs +301 -3
  78. package/dist/server/index.mjs.map +1 -1
  79. package/dist/server/{loadContent-CXUWMuzY.d.ts → loadContent-D7LQwI0o.d.ts} +3 -3
  80. package/dist/server/{loadContent-F_tAS0Nl.d.mts → loadContent-DVfuBLiZ.d.mts} +3 -3
  81. package/dist/server/{loadPage-6I7F6GRF.js → loadPage-AXNAERDS.js} +2 -1
  82. package/dist/server/loadPage-AXNAERDS.js.map +1 -0
  83. package/dist/server/{loadPage-i2r-X5b9.d.ts → loadPage-BmYJCe_V.d.ts} +2 -2
  84. package/dist/server/{loadPage-CxlYLe5K.d.mts → loadPage-BucnLHmE.d.mts} +2 -2
  85. package/dist/server/{loadPage-JI2SML4M.mjs → loadPage-XR7ORQ2E.mjs} +2 -1
  86. package/dist/server/loadPage-XR7ORQ2E.mjs.map +1 -0
  87. package/dist/server/metadata.d.mts +4 -4
  88. package/dist/server/metadata.d.ts +4 -4
  89. package/dist/server/metadata.js +1 -0
  90. package/dist/server/metadata.js.map +1 -1
  91. package/dist/server/metadata.mjs +1 -0
  92. package/dist/server/navigation.d.mts +2 -2
  93. package/dist/server/navigation.d.ts +2 -2
  94. package/dist/server/navigation.js +1 -0
  95. package/dist/server/navigation.js.map +1 -1
  96. package/dist/server/navigation.mjs +1 -0
  97. package/dist/server/next/revalidate.js +5 -4
  98. package/dist/server/next/revalidate.js.map +1 -1
  99. package/dist/server/next/revalidate.mjs +3 -2
  100. package/dist/server/next/revalidate.mjs.map +1 -1
  101. package/dist/server/next/tags.d.mts +3 -0
  102. package/dist/server/next/tags.d.ts +3 -0
  103. package/dist/server/next/tags.js +3 -1
  104. package/dist/server/next/tags.js.map +1 -1
  105. package/dist/server/next/tags.mjs +2 -0
  106. package/dist/server/next/tags.mjs.map +1 -1
  107. package/dist/server/next.d.mts +5 -5
  108. package/dist/server/next.d.ts +5 -5
  109. package/dist/server/next.js +5 -4
  110. package/dist/server/next.js.map +1 -1
  111. package/dist/server/next.mjs +3 -2
  112. package/dist/server/next.mjs.map +1 -1
  113. package/dist/server/rendering/server.d.mts +4 -4
  114. package/dist/server/rendering/server.d.ts +4 -4
  115. package/dist/server/rendering/server.js +1 -0
  116. package/dist/server/rendering/server.js.map +1 -1
  117. package/dist/server/rendering/server.mjs +1 -0
  118. package/dist/server/rendering.d.mts +7 -7
  119. package/dist/server/rendering.d.ts +7 -7
  120. package/dist/server/rendering.js +1 -0
  121. package/dist/server/rendering.js.map +1 -1
  122. package/dist/server/rendering.mjs +1 -0
  123. package/dist/server/routing.d.mts +3 -3
  124. package/dist/server/routing.d.ts +3 -3
  125. package/dist/server/routing.js +4 -2
  126. package/dist/server/routing.js.map +1 -1
  127. package/dist/server/routing.mjs +3 -1
  128. package/dist/server/routing.mjs.map +1 -1
  129. package/dist/server/server.d.mts +5 -5
  130. package/dist/server/server.d.ts +5 -5
  131. package/dist/server/server.js +3 -2
  132. package/dist/server/server.js.map +1 -1
  133. package/dist/server/server.mjs +2 -1
  134. package/dist/server/theme-bridge.js +1 -0
  135. package/dist/server/theme-bridge.js.map +1 -1
  136. package/dist/server/theme-bridge.mjs +1 -0
  137. package/dist/server/theme-bridge.mjs.map +1 -1
  138. package/dist/server/theme.js +3 -1
  139. package/dist/server/theme.js.map +1 -1
  140. package/dist/server/theme.mjs +2 -0
  141. package/dist/server/theme.mjs.map +1 -1
  142. package/dist/server/{types-DnkRh0UL.d.ts → types-BRQyLrQU.d.ts} +14 -2
  143. package/dist/server/{types-Dsu9wsUh.d.mts → types-BSV6Vc-P.d.mts} +2 -2
  144. package/dist/server/{types-MF2AWoKv.d.mts → types-C-LShyIg.d.mts} +14 -2
  145. package/dist/server/{types-CVykEqXN.d.ts → types-Dt98DeYa.d.ts} +2 -2
  146. package/dist/server/webhooks.d.mts +8 -2
  147. package/dist/server/webhooks.d.ts +8 -2
  148. package/dist/server/webhooks.js +3 -2
  149. package/dist/server/webhooks.js.map +1 -1
  150. package/dist/server/webhooks.mjs +2 -1
  151. package/package.json +7 -1
  152. package/dist/client/resolver-BhueZVxZ.d.mts +0 -61
  153. package/dist/client/resolver-BhueZVxZ.d.ts +0 -61
  154. package/dist/client/usePage--fGlyrgj.d.mts +0 -6439
  155. package/dist/client/usePage-BBcFCxOU.d.ts +0 -6297
  156. package/dist/client/usePage-BC8Q2E3t.d.mts +0 -6431
  157. package/dist/client/usePage-BTPnCuWC.d.mts +0 -6511
  158. package/dist/client/usePage-BXjk8BhD.d.mts +0 -6704
  159. package/dist/client/usePage-BafOS9UT.d.mts +0 -6512
  160. package/dist/client/usePage-BcjWPXvh.d.mts +0 -6388
  161. package/dist/client/usePage-BiOReg0_.d.ts +0 -6704
  162. package/dist/client/usePage-Bnx-kA6x.d.mts +0 -6670
  163. package/dist/client/usePage-BvKAa3Zw.d.mts +0 -366
  164. package/dist/client/usePage-BvKAa3Zw.d.ts +0 -366
  165. package/dist/client/usePage-BydHcMYB.d.mts +0 -6297
  166. package/dist/client/usePage-C3ZKNwY7.d.mts +0 -6393
  167. package/dist/client/usePage-CE7X5NcN.d.ts +0 -6439
  168. package/dist/client/usePage-CHEybPMD.d.ts +0 -6429
  169. package/dist/client/usePage-CrKw1H6Y.d.ts +0 -6338
  170. package/dist/client/usePage-CyYpOJud.d.ts +0 -6388
  171. package/dist/client/usePage-D4fxZbRR.d.mts +0 -6429
  172. package/dist/client/usePage-DMI8ImsU.d.mts +0 -6338
  173. package/dist/client/usePage-DoPI6b8V.d.ts +0 -6511
  174. package/dist/client/usePage-DpRNZUtP.d.ts +0 -6431
  175. package/dist/client/usePage-QNWArrVO.d.ts +0 -6670
  176. package/dist/client/usePage-fBgPB6Oq.d.ts +0 -6512
  177. package/dist/client/usePage-gpVaeWDy.d.ts +0 -6393
  178. package/dist/server/chunk-5JT452F2.mjs.map +0 -1
  179. package/dist/server/chunk-AET56TQX.mjs.map +0 -1
  180. package/dist/server/chunk-HMENX4Y7.js.map +0 -1
  181. package/dist/server/chunk-LQUKXIW7.mjs +0 -13
  182. package/dist/server/chunk-LQUKXIW7.mjs.map +0 -1
  183. package/dist/server/chunk-VODFQMUW.js.map +0 -1
  184. package/dist/server/chunk-WYNEYDXO.js +0 -13
  185. package/dist/server/chunk-WYNEYDXO.js.map +0 -1
  186. package/dist/server/loadPage-6I7F6GRF.js.map +0 -1
  187. /package/dist/server/{loadPage-JI2SML4M.mjs.map → chunk-NFEGQTCC.mjs.map} +0 -0
@@ -1,4 +1,2769 @@
1
1
  "use client";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __esm = (fn2, res) => function __init() {
5
+ return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res;
6
+ };
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+
12
+ // ../../node_modules/.pnpm/altcha@1.5.1/node_modules/altcha/dist/altcha.js
13
+ var altcha_exports = {};
14
+ __export(altcha_exports, {
15
+ Altcha: () => ha
16
+ });
17
+ function Si(e) {
18
+ let t;
19
+ try {
20
+ if (t = qr && (self.URL || self.webkitURL).createObjectURL(qr), !t) throw "";
21
+ const r = new Worker(t, {
22
+ name: e == null ? void 0 : e.name
23
+ });
24
+ return r.addEventListener("error", () => {
25
+ (self.URL || self.webkitURL).revokeObjectURL(t);
26
+ }), r;
27
+ } catch {
28
+ return new Worker(
29
+ "data:text/javascript;charset=utf-8," + encodeURIComponent(ln),
30
+ {
31
+ name: e == null ? void 0 : e.name
32
+ }
33
+ );
34
+ } finally {
35
+ t && (self.URL || self.webkitURL).revokeObjectURL(t);
36
+ }
37
+ }
38
+ function un(e) {
39
+ throw new Error("https://svelte.dev/e/lifecycle_outside_component");
40
+ }
41
+ function hn(e) {
42
+ for (var t = 0; t < e.length; t++)
43
+ e[t]();
44
+ }
45
+ function Gi(e) {
46
+ throw new Error("https://svelte.dev/e/effect_in_teardown");
47
+ }
48
+ function Zi() {
49
+ throw new Error("https://svelte.dev/e/effect_in_unowned_derived");
50
+ }
51
+ function Ji(e) {
52
+ throw new Error("https://svelte.dev/e/effect_orphan");
53
+ }
54
+ function Ki() {
55
+ throw new Error("https://svelte.dev/e/effect_update_depth_exceeded");
56
+ }
57
+ function zi() {
58
+ throw new Error("https://svelte.dev/e/hydration_failed");
59
+ }
60
+ function Xi(e) {
61
+ throw new Error("https://svelte.dev/e/props_invalid_value");
62
+ }
63
+ function Qi() {
64
+ throw new Error("https://svelte.dev/e/state_descriptors_fixed");
65
+ }
66
+ function eo() {
67
+ throw new Error("https://svelte.dev/e/state_prototype_fixed");
68
+ }
69
+ function to() {
70
+ throw new Error("https://svelte.dev/e/state_unsafe_mutation");
71
+ }
72
+ function Tt(e) {
73
+ console.warn("https://svelte.dev/e/hydration_mismatch");
74
+ }
75
+ function Ze(e) {
76
+ L = e;
77
+ }
78
+ function Re(e) {
79
+ if (e === null)
80
+ throw Tt(), Je;
81
+ return P = e;
82
+ }
83
+ function ze() {
84
+ return Re(
85
+ /** @type {TemplateNode} */
86
+ /* @__PURE__ */ Te(P)
87
+ );
88
+ }
89
+ function z(e) {
90
+ if (L) {
91
+ if (/* @__PURE__ */ Te(P) !== null)
92
+ throw Tt(), Je;
93
+ P = e;
94
+ }
95
+ }
96
+ function ro() {
97
+ for (var e = 0, t = P; ; ) {
98
+ if (t.nodeType === 8) {
99
+ var r = (
100
+ /** @type {Comment} */
101
+ t.data
102
+ );
103
+ if (r === fn) {
104
+ if (e === 0) return t;
105
+ e -= 1;
106
+ } else (r === zt || r === sn) && (e += 1);
107
+ }
108
+ var i = (
109
+ /** @type {TemplateNode} */
110
+ /* @__PURE__ */ Te(t)
111
+ );
112
+ t.remove(), t = i;
113
+ }
114
+ }
115
+ function ke(e) {
116
+ if (typeof e != "object" || e === null || ut in e)
117
+ return e;
118
+ const t = dn(e);
119
+ if (t !== Bi && t !== qi)
120
+ return e;
121
+ var r = /* @__PURE__ */ new Map(), i = cn(e), o = /* @__PURE__ */ J(0), a = R, l = (s) => {
122
+ var f = R;
123
+ ve(a);
124
+ var d = s();
125
+ return ve(f), d;
126
+ };
127
+ return i && r.set("length", /* @__PURE__ */ J(
128
+ /** @type {any[]} */
129
+ e.length
130
+ )), new Proxy(
131
+ /** @type {any} */
132
+ e,
133
+ {
134
+ defineProperty(s, f, d) {
135
+ (!("value" in d) || d.configurable === false || d.enumerable === false || d.writable === false) && Qi();
136
+ var v = r.get(f);
137
+ return v === void 0 ? (v = l(() => /* @__PURE__ */ J(d.value)), r.set(f, v)) : D(
138
+ v,
139
+ l(() => ke(d.value))
140
+ ), true;
141
+ },
142
+ deleteProperty(s, f) {
143
+ var d = r.get(f);
144
+ if (d === void 0)
145
+ f in s && (r.set(
146
+ f,
147
+ l(() => /* @__PURE__ */ J(Z))
148
+ ), qt(o));
149
+ else {
150
+ if (i && typeof f == "string") {
151
+ var v = (
152
+ /** @type {Source<number>} */
153
+ r.get("length")
154
+ ), h = Number(f);
155
+ Number.isInteger(h) && h < v.v && D(v, h);
156
+ }
157
+ D(d, Z), qt(o);
158
+ }
159
+ return true;
160
+ },
161
+ get(s, f, d) {
162
+ var m;
163
+ if (f === ut)
164
+ return e;
165
+ var v = r.get(f), h = f in s;
166
+ if (v === void 0 && (!h || (m = Oe(s, f)) != null && m.writable) && (v = l(() => /* @__PURE__ */ J(ke(h ? s[f] : Z))), r.set(f, v)), v !== void 0) {
167
+ var g = c(v);
168
+ return g === Z ? void 0 : g;
169
+ }
170
+ return Reflect.get(s, f, d);
171
+ },
172
+ getOwnPropertyDescriptor(s, f) {
173
+ var d = Reflect.getOwnPropertyDescriptor(s, f);
174
+ if (d && "value" in d) {
175
+ var v = r.get(f);
176
+ v && (d.value = c(v));
177
+ } else if (d === void 0) {
178
+ var h = r.get(f), g = h == null ? void 0 : h.v;
179
+ if (h !== void 0 && g !== Z)
180
+ return {
181
+ enumerable: true,
182
+ configurable: true,
183
+ value: g,
184
+ writable: true
185
+ };
186
+ }
187
+ return d;
188
+ },
189
+ has(s, f) {
190
+ var g;
191
+ if (f === ut)
192
+ return true;
193
+ var d = r.get(f), v = d !== void 0 && d.v !== Z || Reflect.has(s, f);
194
+ if (d !== void 0 || I !== null && (!v || (g = Oe(s, f)) != null && g.writable)) {
195
+ d === void 0 && (d = l(() => /* @__PURE__ */ J(v ? ke(s[f]) : Z)), r.set(f, d));
196
+ var h = c(d);
197
+ if (h === Z)
198
+ return false;
199
+ }
200
+ return v;
201
+ },
202
+ set(s, f, d, v) {
203
+ var U;
204
+ var h = r.get(f), g = f in s;
205
+ if (i && f === "length")
206
+ for (var m = d; m < /** @type {Source<number>} */
207
+ h.v; m += 1) {
208
+ var k = r.get(m + "");
209
+ k !== void 0 ? D(k, Z) : m in s && (k = l(() => /* @__PURE__ */ J(Z)), r.set(m + "", k));
210
+ }
211
+ h === void 0 ? (!g || (U = Oe(s, f)) != null && U.writable) && (h = l(() => /* @__PURE__ */ J(void 0)), D(
212
+ h,
213
+ l(() => ke(d))
214
+ ), r.set(f, h)) : (g = h.v !== Z, D(
215
+ h,
216
+ l(() => ke(d))
217
+ ));
218
+ var N = Reflect.getOwnPropertyDescriptor(s, f);
219
+ if (N != null && N.set && N.set.call(v, d), !g) {
220
+ if (i && typeof f == "string") {
221
+ var F = (
222
+ /** @type {Source<number>} */
223
+ r.get("length")
224
+ ), V = Number(f);
225
+ Number.isInteger(V) && V >= F.v && D(F, V + 1);
226
+ }
227
+ qt(o);
228
+ }
229
+ return true;
230
+ },
231
+ ownKeys(s) {
232
+ c(o);
233
+ var f = Reflect.ownKeys(s).filter((h) => {
234
+ var g = r.get(h);
235
+ return g === void 0 || g.v !== Z;
236
+ });
237
+ for (var [d, v] of r)
238
+ v.v !== Z && !(d in s) && f.push(d);
239
+ return f;
240
+ },
241
+ setPrototypeOf() {
242
+ eo();
243
+ }
244
+ }
245
+ );
246
+ }
247
+ function qt(e, t = 1) {
248
+ D(e, e.v + t);
249
+ }
250
+ function Wt() {
251
+ if (Yr === void 0) {
252
+ Yr = window, mn = /Firefox/.test(navigator.userAgent);
253
+ var e = Element.prototype, t = Node.prototype, r = Text.prototype;
254
+ wn = Oe(t, "firstChild").get, pn = Oe(t, "nextSibling").get, Wr(e) && (e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0), Wr(r) && (r.__t = void 0);
255
+ }
256
+ }
257
+ function er(e = "") {
258
+ return document.createTextNode(e);
259
+ }
260
+ // @__NO_SIDE_EFFECTS__
261
+ function ae(e) {
262
+ return wn.call(e);
263
+ }
264
+ // @__NO_SIDE_EFFECTS__
265
+ function Te(e) {
266
+ return pn.call(e);
267
+ }
268
+ function X(e, t) {
269
+ if (!L)
270
+ return /* @__PURE__ */ ae(e);
271
+ var r = (
272
+ /** @type {TemplateNode} */
273
+ /* @__PURE__ */ ae(P)
274
+ );
275
+ return r === null && (r = P.appendChild(er())), Re(r), r;
276
+ }
277
+ function Gr(e, t) {
278
+ if (!L) {
279
+ var r = (
280
+ /** @type {DocumentFragment} */
281
+ /* @__PURE__ */ ae(
282
+ /** @type {Node} */
283
+ e
284
+ )
285
+ );
286
+ return r instanceof Comment && r.data === "" ? /* @__PURE__ */ Te(r) : r;
287
+ }
288
+ return P;
289
+ }
290
+ function we(e, t = 1, r = false) {
291
+ let i = L ? P : e;
292
+ for (var o; t--; )
293
+ o = i, i = /** @type {TemplateNode} */
294
+ /* @__PURE__ */ Te(i);
295
+ if (!L)
296
+ return i;
297
+ var a = i == null ? void 0 : i.nodeType;
298
+ if (r && a !== 3) {
299
+ var l = er();
300
+ return i === null ? o == null || o.after(l) : i.before(l), Re(l), l;
301
+ }
302
+ return Re(i), /** @type {TemplateNode} */
303
+ i;
304
+ }
305
+ function io(e) {
306
+ e.textContent = "";
307
+ }
308
+ function bn(e) {
309
+ return e === this.v;
310
+ }
311
+ function oo(e, t) {
312
+ return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
313
+ }
314
+ function yn(e) {
315
+ return !oo(e, this.v);
316
+ }
317
+ // @__NO_SIDE_EFFECTS__
318
+ function tr(e) {
319
+ var t = fe | he, r = R !== null && (R.f & fe) !== 0 ? (
320
+ /** @type {Derived} */
321
+ R
322
+ ) : null;
323
+ return I === null || r !== null && (r.f & ee) !== 0 ? t |= ee : I.f |= gn, {
324
+ ctx: W,
325
+ deps: null,
326
+ effects: null,
327
+ equals: bn,
328
+ f: t,
329
+ fn: e,
330
+ reactions: null,
331
+ rv: 0,
332
+ v: (
333
+ /** @type {V} */
334
+ null
335
+ ),
336
+ wv: 0,
337
+ parent: r ?? I
338
+ };
339
+ }
340
+ // @__NO_SIDE_EFFECTS__
341
+ function st(e) {
342
+ const t = /* @__PURE__ */ tr(e);
343
+ return On(t), t;
344
+ }
345
+ function En(e) {
346
+ var t = e.effects;
347
+ if (t !== null) {
348
+ e.effects = null;
349
+ for (var r = 0; r < t.length; r += 1)
350
+ Ie(
351
+ /** @type {Effect} */
352
+ t[r]
353
+ );
354
+ }
355
+ }
356
+ function ao(e) {
357
+ for (var t = e.parent; t !== null; ) {
358
+ if ((t.f & fe) === 0)
359
+ return (
360
+ /** @type {Effect} */
361
+ t
362
+ );
363
+ t = t.parent;
364
+ }
365
+ return null;
366
+ }
367
+ function xn(e) {
368
+ var t, r = I;
369
+ Se(ao(e));
370
+ try {
371
+ En(e), t = jn(e);
372
+ } finally {
373
+ Se(r);
374
+ }
375
+ return t;
376
+ }
377
+ function $n(e) {
378
+ var t = xn(e), r = (Ce || (e.f & ee) !== 0) && e.deps !== null ? Ue : K;
379
+ ue(e, r), e.equals(t) || (e.v = t, e.wv = Mn());
380
+ }
381
+ function lo(e) {
382
+ I === null && R === null && Ji(), R !== null && (R.f & ee) !== 0 && I === null && Zi(), gt && Gi();
383
+ }
384
+ function so(e, t) {
385
+ var r = t.last;
386
+ r === null ? t.last = t.first = e : (r.next = e, e.prev = r, t.last = e);
387
+ }
388
+ function je(e, t, r, i = true) {
389
+ var o = I, a = {
390
+ ctx: W,
391
+ deps: null,
392
+ nodes_start: null,
393
+ nodes_end: null,
394
+ f: e | he,
395
+ first: null,
396
+ fn: t,
397
+ last: null,
398
+ next: null,
399
+ parent: o,
400
+ prev: null,
401
+ teardown: null,
402
+ transitions: null,
403
+ wv: 0
404
+ };
405
+ if (r)
406
+ try {
407
+ ir(a), a.f |= Hi;
408
+ } catch (f) {
409
+ throw Ie(a), f;
410
+ }
411
+ else t !== null && Lt(a);
412
+ var l = r && a.deps === null && a.first === null && a.nodes_start === null && a.teardown === null && (a.f & (gn | xt)) === 0;
413
+ if (!l && i && (o !== null && so(a, o), R !== null && (R.f & fe) !== 0)) {
414
+ var s = (
415
+ /** @type {Derived} */
416
+ R
417
+ );
418
+ (s.effects ?? (s.effects = [])).push(a);
419
+ }
420
+ return a;
421
+ }
422
+ function kn(e) {
423
+ const t = je(It, null, false);
424
+ return ue(t, K), t.teardown = e, t;
425
+ }
426
+ function Yt(e) {
427
+ lo();
428
+ var t = I !== null && (I.f & be) !== 0 && W !== null && !W.m;
429
+ if (t) {
430
+ var r = (
431
+ /** @type {ComponentContext} */
432
+ W
433
+ );
434
+ (r.e ?? (r.e = [])).push({
435
+ fn: e,
436
+ effect: I,
437
+ reaction: R
438
+ });
439
+ } else {
440
+ var i = rr(e);
441
+ return i;
442
+ }
443
+ }
444
+ function fo(e) {
445
+ const t = je(Me, e, true);
446
+ return () => {
447
+ Ie(t);
448
+ };
449
+ }
450
+ function uo(e) {
451
+ const t = je(Me, e, true);
452
+ return (r = {}) => new Promise((i) => {
453
+ r.outro ? Zt(t, () => {
454
+ Ie(t), i(void 0);
455
+ }) : (Ie(t), i(void 0));
456
+ });
457
+ }
458
+ function rr(e) {
459
+ return je(vn, e, false);
460
+ }
461
+ function nr(e) {
462
+ return je(It, e, true);
463
+ }
464
+ function Pe(e, t = [], r = tr) {
465
+ const i = t.map(r);
466
+ return Cn(() => e(...i.map(c)));
467
+ }
468
+ function Cn(e, t = 0) {
469
+ return je(It | Xt | t, e, true);
470
+ }
471
+ function Gt(e, t = true) {
472
+ return je(It | be, e, true, t);
473
+ }
474
+ function An(e) {
475
+ var t = e.teardown;
476
+ if (t !== null) {
477
+ const r = gt, i = R;
478
+ Jr(true), ve(null);
479
+ try {
480
+ t.call(null);
481
+ } finally {
482
+ Jr(r), ve(i);
483
+ }
484
+ }
485
+ }
486
+ function Rn(e, t = false) {
487
+ var r = e.first;
488
+ for (e.first = e.last = null; r !== null; ) {
489
+ var i = r.next;
490
+ (r.f & Me) !== 0 ? r.parent = null : Ie(r, t), r = i;
491
+ }
492
+ }
493
+ function co(e) {
494
+ for (var t = e.first; t !== null; ) {
495
+ var r = t.next;
496
+ (t.f & be) === 0 && Ie(t), t = r;
497
+ }
498
+ }
499
+ function Ie(e, t = true) {
500
+ var r = false;
501
+ (t || (e.f & Wi) !== 0) && e.nodes_start !== null && (In(
502
+ e.nodes_start,
503
+ /** @type {TemplateNode} */
504
+ e.nodes_end
505
+ ), r = true), Rn(e, t && !r), Rt(e, 0), ue(e, St);
506
+ var i = e.transitions;
507
+ if (i !== null)
508
+ for (const a of i)
509
+ a.stop();
510
+ An(e);
511
+ var o = e.parent;
512
+ o !== null && o.first !== null && Sn(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes_start = e.nodes_end = null;
513
+ }
514
+ function In(e, t) {
515
+ for (; e !== null; ) {
516
+ var r = e === t ? null : (
517
+ /** @type {TemplateNode} */
518
+ /* @__PURE__ */ Te(e)
519
+ );
520
+ e.remove(), e = r;
521
+ }
522
+ }
523
+ function Sn(e) {
524
+ var t = e.parent, r = e.prev, i = e.next;
525
+ r !== null && (r.next = i), i !== null && (i.prev = r), t !== null && (t.first === e && (t.first = i), t.last === e && (t.last = r));
526
+ }
527
+ function Zt(e, t) {
528
+ var r = [];
529
+ Tn(e, r, true), ho(r, () => {
530
+ Ie(e), t && t();
531
+ });
532
+ }
533
+ function ho(e, t) {
534
+ var r = e.length;
535
+ if (r > 0) {
536
+ var i = () => --r || t();
537
+ for (var o of e)
538
+ o.out(i);
539
+ } else
540
+ t();
541
+ }
542
+ function Tn(e, t, r) {
543
+ if ((e.f & Ke) === 0) {
544
+ if (e.f ^= Ke, e.transitions !== null)
545
+ for (const l of e.transitions)
546
+ (l.is_global || r) && t.push(l);
547
+ for (var i = e.first; i !== null; ) {
548
+ var o = i.next, a = (i.f & Qt) !== 0 || (i.f & be) !== 0;
549
+ Tn(i, t, a ? r : false), i = o;
550
+ }
551
+ }
552
+ }
553
+ function Zr(e) {
554
+ Nn(e, true);
555
+ }
556
+ function Nn(e, t) {
557
+ if ((e.f & Ke) !== 0) {
558
+ e.f ^= Ke, (e.f & K) === 0 && (e.f ^= K), _t(e) && (ue(e, he), Lt(e));
559
+ for (var r = e.first; r !== null; ) {
560
+ var i = r.next, o = (r.f & Qt) !== 0 || (r.f & be) !== 0;
561
+ Nn(r, o ? t : false), r = i;
562
+ }
563
+ if (e.transitions !== null)
564
+ for (const a of e.transitions)
565
+ (a.is_global || t) && a.in();
566
+ }
567
+ }
568
+ function Ln() {
569
+ var e = dt;
570
+ dt = [], hn(e);
571
+ }
572
+ function Dn() {
573
+ var e = ht;
574
+ ht = [], hn(e);
575
+ }
576
+ function Pn(e) {
577
+ dt.length === 0 && queueMicrotask(Ln), dt.push(e);
578
+ }
579
+ function go(e) {
580
+ ht.length === 0 && vo(Dn), ht.push(e);
581
+ }
582
+ function _o() {
583
+ dt.length > 0 && Ln(), ht.length > 0 && Dn();
584
+ }
585
+ function Jr(e) {
586
+ gt = e;
587
+ }
588
+ function ve(e) {
589
+ R = e;
590
+ }
591
+ function Se(e) {
592
+ I = e;
593
+ }
594
+ function On(e) {
595
+ R !== null && R.f & Ht && (H === null ? H = [e] : H.push(e));
596
+ }
597
+ function mo(e) {
598
+ ie = e;
599
+ }
600
+ function Mn() {
601
+ return ++Fn;
602
+ }
603
+ function _t(e) {
604
+ var h;
605
+ var t = e.f;
606
+ if ((t & he) !== 0)
607
+ return true;
608
+ if ((t & Ue) !== 0) {
609
+ var r = e.deps, i = (t & ee) !== 0;
610
+ if (r !== null) {
611
+ var o, a, l = (t & $t) !== 0, s = i && I !== null && !Ce, f = r.length;
612
+ if (l || s) {
613
+ var d = (
614
+ /** @type {Derived} */
615
+ e
616
+ ), v = d.parent;
617
+ for (o = 0; o < f; o++)
618
+ a = r[o], (l || !((h = a == null ? void 0 : a.reactions) != null && h.includes(d))) && (a.reactions ?? (a.reactions = [])).push(d);
619
+ l && (d.f ^= $t), s && v !== null && (v.f & ee) === 0 && (d.f ^= ee);
620
+ }
621
+ for (o = 0; o < f; o++)
622
+ if (a = r[o], _t(
623
+ /** @type {Derived} */
624
+ a
625
+ ) && $n(
626
+ /** @type {Derived} */
627
+ a
628
+ ), a.wv > e.wv)
629
+ return true;
630
+ }
631
+ (!i || I !== null && !Ce) && ue(e, K);
632
+ }
633
+ return false;
634
+ }
635
+ function wo(e, t) {
636
+ for (var r = t; r !== null; ) {
637
+ if ((r.f & xt) !== 0)
638
+ try {
639
+ r.fn(e);
640
+ return;
641
+ } catch {
642
+ r.f ^= xt;
643
+ }
644
+ r = r.parent;
645
+ }
646
+ throw pt = false, e;
647
+ }
648
+ function Kr(e) {
649
+ return (e.f & St) === 0 && (e.parent === null || (e.parent.f & xt) === 0);
650
+ }
651
+ function Nt(e, t, r, i) {
652
+ if (pt) {
653
+ if (r === null && (pt = false), Kr(t))
654
+ throw e;
655
+ return;
656
+ }
657
+ if (r !== null && (pt = true), wo(e, t), Kr(t))
658
+ throw e;
659
+ }
660
+ function Un(e, t, r = true) {
661
+ var i = e.reactions;
662
+ if (i !== null)
663
+ for (var o = 0; o < i.length; o++) {
664
+ var a = i[o];
665
+ H != null && H.includes(e) || ((a.f & fe) !== 0 ? Un(
666
+ /** @type {Derived} */
667
+ a,
668
+ t,
669
+ false
670
+ ) : t === a && (r ? ue(a, he) : (a.f & K) !== 0 && ue(a, Ue), Lt(
671
+ /** @type {Effect} */
672
+ a
673
+ )));
674
+ }
675
+ }
676
+ function jn(e) {
677
+ var m;
678
+ var t = q, r = Q, i = ie, o = R, a = Ce, l = H, s = W, f = de, d = e.f;
679
+ q = /** @type {null | Value[]} */
680
+ null, Q = 0, ie = null, Ce = (d & ee) !== 0 && (de || !Fe || R === null), R = (d & (be | Me)) === 0 ? e : null, H = null, zr(e.ctx), de = false, At++, e.f |= Ht;
681
+ try {
682
+ var v = (
683
+ /** @type {Function} */
684
+ (0, e.fn)()
685
+ ), h = e.deps;
686
+ if (q !== null) {
687
+ var g;
688
+ if (Rt(e, Q), h !== null && Q > 0)
689
+ for (h.length = Q + q.length, g = 0; g < q.length; g++)
690
+ h[Q + g] = q[g];
691
+ else
692
+ e.deps = h = q;
693
+ if (!Ce)
694
+ for (g = Q; g < h.length; g++)
695
+ ((m = h[g]).reactions ?? (m.reactions = [])).push(e);
696
+ } else h !== null && Q < h.length && (Rt(e, Q), h.length = Q);
697
+ if (Gn() && ie !== null && !de && h !== null && (e.f & (fe | Ue | he)) === 0)
698
+ for (g = 0; g < /** @type {Source[]} */
699
+ ie.length; g++)
700
+ Un(
701
+ ie[g],
702
+ /** @type {Effect} */
703
+ e
704
+ );
705
+ return o !== null && o !== e && (At++, ie !== null && (i === null ? i = ie : i.push(.../** @type {Source[]} */
706
+ ie))), v;
707
+ } finally {
708
+ q = t, Q = r, ie = i, R = o, Ce = a, H = l, zr(s), de = f, e.f ^= Ht;
709
+ }
710
+ }
711
+ function po(e, t) {
712
+ let r = t.reactions;
713
+ if (r !== null) {
714
+ var i = Ui.call(r, e);
715
+ if (i !== -1) {
716
+ var o = r.length - 1;
717
+ o === 0 ? r = t.reactions = null : (r[i] = r[o], r.pop());
718
+ }
719
+ }
720
+ r === null && (t.f & fe) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear
721
+ // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`
722
+ // allows us to skip the expensive work of disconnecting and immediately reconnecting it
723
+ (q === null || !q.includes(t)) && (ue(t, Ue), (t.f & (ee | $t)) === 0 && (t.f ^= $t), En(
724
+ /** @type {Derived} **/
725
+ t
726
+ ), Rt(
727
+ /** @type {Derived} **/
728
+ t,
729
+ 0
730
+ ));
731
+ }
732
+ function Rt(e, t) {
733
+ var r = e.deps;
734
+ if (r !== null)
735
+ for (var i = t; i < r.length; i++)
736
+ po(e, r[i]);
737
+ }
738
+ function ir(e) {
739
+ var t = e.f;
740
+ if ((t & St) === 0) {
741
+ ue(e, K);
742
+ var r = I, i = W, o = Fe;
743
+ I = e, Fe = true;
744
+ try {
745
+ (t & Xt) !== 0 ? co(e) : Rn(e), An(e);
746
+ var a = jn(e);
747
+ e.teardown = typeof a == "function" ? a : null, e.wv = Fn;
748
+ var l = e.deps, s;
749
+ Hr && no && e.f & he;
750
+ } catch (f) {
751
+ Nt(f, e, r, i || e.ctx);
752
+ } finally {
753
+ Fe = o, I = r;
754
+ }
755
+ }
756
+ }
757
+ function bo() {
758
+ try {
759
+ Ki();
760
+ } catch (e) {
761
+ if (Ct !== null)
762
+ Nt(e, Ct, null);
763
+ else
764
+ throw e;
765
+ }
766
+ }
767
+ function Vn() {
768
+ var e = Fe;
769
+ try {
770
+ var t = 0;
771
+ for (Fe = true; ct.length > 0; ) {
772
+ t++ > 1e3 && bo();
773
+ var r = ct, i = r.length;
774
+ ct = [];
775
+ for (var o = 0; o < i; o++) {
776
+ var a = Eo(r[o]);
777
+ yo(a);
778
+ }
779
+ vt.clear();
780
+ }
781
+ } finally {
782
+ kt = false, Fe = e, Ct = null;
783
+ }
784
+ }
785
+ function yo(e) {
786
+ var t = e.length;
787
+ if (t !== 0)
788
+ for (var r = 0; r < t; r++) {
789
+ var i = e[r];
790
+ if ((i.f & (St | Ke)) === 0)
791
+ try {
792
+ _t(i) && (ir(i), i.deps === null && i.first === null && i.nodes_start === null && (i.teardown === null ? Sn(i) : i.fn = null));
793
+ } catch (o) {
794
+ Nt(o, i, null, i.ctx);
795
+ }
796
+ }
797
+ }
798
+ function Lt(e) {
799
+ kt || (kt = true, queueMicrotask(Vn));
800
+ for (var t = Ct = e; t.parent !== null; ) {
801
+ t = t.parent;
802
+ var r = t.f;
803
+ if ((r & (Me | be)) !== 0) {
804
+ if ((r & K) === 0) return;
805
+ t.f ^= K;
806
+ }
807
+ }
808
+ ct.push(t);
809
+ }
810
+ function Eo(e) {
811
+ for (var t = [], r = e; r !== null; ) {
812
+ var i = r.f, o = (i & (be | Me)) !== 0, a = o && (i & K) !== 0;
813
+ if (!a && (i & Ke) === 0) {
814
+ if ((i & vn) !== 0)
815
+ t.push(r);
816
+ else if (o)
817
+ r.f ^= K;
818
+ else
819
+ try {
820
+ _t(r) && ir(r);
821
+ } catch (f) {
822
+ Nt(f, r, null, r.ctx);
823
+ }
824
+ var l = r.first;
825
+ if (l !== null) {
826
+ r = l;
827
+ continue;
828
+ }
829
+ }
830
+ var s = r.parent;
831
+ for (r = r.next; r === null && s !== null; )
832
+ r = s.next, s = s.parent;
833
+ }
834
+ return t;
835
+ }
836
+ function $(e) {
837
+ for (var t; ; ) {
838
+ if (_o(), ct.length === 0)
839
+ return (
840
+ /** @type {T} */
841
+ t
842
+ );
843
+ kt = true, Vn();
844
+ }
845
+ }
846
+ async function xo() {
847
+ await Promise.resolve(), $();
848
+ }
849
+ function c(e) {
850
+ var t = e.f, r = (t & fe) !== 0;
851
+ if (R !== null && !de) {
852
+ if (!(H != null && H.includes(e))) {
853
+ var i = R.deps;
854
+ e.rv < At && (e.rv = At, q === null && i !== null && i[Q] === e ? Q++ : q === null ? q = [e] : (!Ce || !q.includes(e)) && q.push(e));
855
+ }
856
+ } else if (r && /** @type {Derived} */
857
+ e.deps === null && /** @type {Derived} */
858
+ e.effects === null) {
859
+ var o = (
860
+ /** @type {Derived} */
861
+ e
862
+ ), a = o.parent;
863
+ a !== null && (a.f & ee) === 0 && (o.f ^= ee);
864
+ }
865
+ return r && (o = /** @type {Derived} */
866
+ e, _t(o) && $n(o)), gt && vt.has(e) ? vt.get(e) : e.v;
867
+ }
868
+ function Xe(e) {
869
+ var t = de;
870
+ try {
871
+ return de = true, e();
872
+ } finally {
873
+ de = t;
874
+ }
875
+ }
876
+ function ue(e, t) {
877
+ e.f = e.f & $o | t;
878
+ }
879
+ function Bn(e, t) {
880
+ var r = {
881
+ f: 0,
882
+ // TODO ideally we could skip this altogether, but it causes type errors
883
+ v: e,
884
+ reactions: null,
885
+ equals: bn,
886
+ rv: 0,
887
+ wv: 0
888
+ };
889
+ return r;
890
+ }
891
+ // @__NO_SIDE_EFFECTS__
892
+ function J(e, t) {
893
+ const r = Bn(e);
894
+ return On(r), r;
895
+ }
896
+ // @__NO_SIDE_EFFECTS__
897
+ function qn(e, t = false) {
898
+ const r = Bn(e);
899
+ return t || (r.equals = yn), r;
900
+ }
901
+ function D(e, t, r = false) {
902
+ R !== null && !de && Gn() && (R.f & (fe | Xt)) !== 0 && !(H != null && H.includes(e)) && to();
903
+ let i = r ? ke(t) : t;
904
+ return ko(e, i);
905
+ }
906
+ function ko(e, t) {
907
+ if (!e.equals(t)) {
908
+ var r = e.v;
909
+ gt ? vt.set(e, t) : vt.set(e, r), e.v = t, (e.f & fe) !== 0 && ((e.f & he) !== 0 && xn(
910
+ /** @type {Derived} */
911
+ e
912
+ ), ue(e, (e.f & ee) === 0 ? K : Ue)), e.wv = Mn(), Hn(e, he), I !== null && (I.f & K) !== 0 && (I.f & (be | Me)) === 0 && (ie === null ? mo([e]) : ie.push(e));
913
+ }
914
+ return t;
915
+ }
916
+ function Hn(e, t) {
917
+ var r = e.reactions;
918
+ if (r !== null)
919
+ for (var i = r.length, o = 0; o < i; o++) {
920
+ var a = r[o], l = a.f;
921
+ (l & he) === 0 && (ue(a, t), (l & (K | ee)) !== 0 && ((l & fe) !== 0 ? Hn(
922
+ /** @type {Derived} */
923
+ a,
924
+ Ue
925
+ ) : Lt(
926
+ /** @type {Effect} */
927
+ a
928
+ )));
929
+ }
930
+ }
931
+ function zr(e) {
932
+ W = e;
933
+ }
934
+ function Wn(e, t = false, r) {
935
+ var i = W = {
936
+ p: W,
937
+ c: null,
938
+ d: false,
939
+ e: null,
940
+ m: false,
941
+ s: e,
942
+ x: null,
943
+ l: null
944
+ };
945
+ kn(() => {
946
+ i.d = true;
947
+ });
948
+ }
949
+ function Yn(e) {
950
+ const t = W;
951
+ if (t !== null) {
952
+ e !== void 0 && (t.x = e);
953
+ const l = t.e;
954
+ if (l !== null) {
955
+ var r = I, i = R;
956
+ t.e = null;
957
+ try {
958
+ for (var o = 0; o < l.length; o++) {
959
+ var a = l[o];
960
+ Se(a.effect), ve(a.reaction), rr(a.fn);
961
+ }
962
+ } finally {
963
+ Se(r), ve(i);
964
+ }
965
+ }
966
+ W = t.p, t.m = true;
967
+ }
968
+ return e || /** @type {T} */
969
+ {};
970
+ }
971
+ function Gn() {
972
+ return true;
973
+ }
974
+ function Ao(e) {
975
+ return Co.includes(e);
976
+ }
977
+ function Zn() {
978
+ Xr || (Xr = true, document.addEventListener(
979
+ "reset",
980
+ (e) => {
981
+ Promise.resolve().then(() => {
982
+ var t;
983
+ if (!e.defaultPrevented)
984
+ for (
985
+ const r of
986
+ /**@type {HTMLFormElement} */
987
+ e.target.elements
988
+ )
989
+ (t = r.__on_r) == null || t.call(r);
990
+ });
991
+ },
992
+ // In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)
993
+ { capture: true }
994
+ ));
995
+ }
996
+ function Jn(e) {
997
+ var t = R, r = I;
998
+ ve(null), Se(null);
999
+ try {
1000
+ return e();
1001
+ } finally {
1002
+ ve(t), Se(r);
1003
+ }
1004
+ }
1005
+ function Ro(e, t, r, i = r) {
1006
+ e.addEventListener(t, () => Jn(r));
1007
+ const o = e.__on_r;
1008
+ o ? e.__on_r = () => {
1009
+ o(), i(true);
1010
+ } : e.__on_r = () => i(true), Zn();
1011
+ }
1012
+ function Io(e, t, r, i = {}) {
1013
+ function o(a) {
1014
+ if (i.capture || ft.call(t, a), !a.cancelBubble)
1015
+ return Jn(() => r == null ? void 0 : r.call(this, a));
1016
+ }
1017
+ return e.startsWith("pointer") || e.startsWith("touch") || e === "wheel" ? Pn(() => {
1018
+ t.addEventListener(e, o, i);
1019
+ }) : t.addEventListener(e, o, i), o;
1020
+ }
1021
+ function So(e, t, r, i, o) {
1022
+ var a = { capture: i, passive: o }, l = Io(e, t, r, a);
1023
+ (t === document.body || t === window || t === document) && kn(() => {
1024
+ t.removeEventListener(e, l, a);
1025
+ });
1026
+ }
1027
+ function To(e) {
1028
+ for (var t = 0; t < e.length; t++)
1029
+ Kn.add(e[t]);
1030
+ for (var r of Jt)
1031
+ r(e);
1032
+ }
1033
+ function ft(e) {
1034
+ var U;
1035
+ var t = this, r = (
1036
+ /** @type {Node} */
1037
+ t.ownerDocument
1038
+ ), i = e.type, o = ((U = e.composedPath) == null ? void 0 : U.call(e)) || [], a = (
1039
+ /** @type {null | Element} */
1040
+ o[0] || e.target
1041
+ ), l = 0, s = e.__root;
1042
+ if (s) {
1043
+ var f = o.indexOf(s);
1044
+ if (f !== -1 && (t === document || t === /** @type {any} */
1045
+ window)) {
1046
+ e.__root = t;
1047
+ return;
1048
+ }
1049
+ var d = o.indexOf(t);
1050
+ if (d === -1)
1051
+ return;
1052
+ f <= d && (l = f);
1053
+ }
1054
+ if (a = /** @type {Element} */
1055
+ o[l] || e.target, a !== t) {
1056
+ Et(e, "currentTarget", {
1057
+ configurable: true,
1058
+ get() {
1059
+ return a || r;
1060
+ }
1061
+ });
1062
+ var v = R, h = I;
1063
+ ve(null), Se(null);
1064
+ try {
1065
+ for (var g, m = []; a !== null; ) {
1066
+ var k = a.assignedSlot || a.parentNode || /** @type {any} */
1067
+ a.host || null;
1068
+ try {
1069
+ var N = a["__" + i];
1070
+ if (N != null && (!/** @type {any} */
1071
+ a.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
1072
+ // -> the target could not have been disabled because it emits the event in the first place
1073
+ e.target === a))
1074
+ if (cn(N)) {
1075
+ var [F, ...V] = N;
1076
+ F.apply(a, [e, ...V]);
1077
+ } else
1078
+ N.call(a, e);
1079
+ } catch (Y) {
1080
+ g ? m.push(Y) : g = Y;
1081
+ }
1082
+ if (e.cancelBubble || k === t || k === null)
1083
+ break;
1084
+ a = k;
1085
+ }
1086
+ if (g) {
1087
+ for (let Y of m)
1088
+ queueMicrotask(() => {
1089
+ throw Y;
1090
+ });
1091
+ throw g;
1092
+ }
1093
+ } finally {
1094
+ e.__root = t, delete e.currentTarget, ve(v), Se(h);
1095
+ }
1096
+ }
1097
+ }
1098
+ function or(e) {
1099
+ var t = document.createElement("template");
1100
+ return t.innerHTML = e, t.content;
1101
+ }
1102
+ function Ae(e, t) {
1103
+ var r = (
1104
+ /** @type {Effect} */
1105
+ I
1106
+ );
1107
+ r.nodes_start === null && (r.nodes_start = e, r.nodes_end = t);
1108
+ }
1109
+ // @__NO_SIDE_EFFECTS__
1110
+ function ge(e, t) {
1111
+ var r = (t & Oi) !== 0, i = (t & Fi) !== 0, o, a = !e.startsWith("<!>");
1112
+ return () => {
1113
+ if (L)
1114
+ return Ae(P, null), P;
1115
+ o === void 0 && (o = or(a ? e : "<!>" + e), r || (o = /** @type {Node} */
1116
+ /* @__PURE__ */ ae(o)));
1117
+ var l = (
1118
+ /** @type {TemplateNode} */
1119
+ i || mn ? document.importNode(o, true) : o.cloneNode(true)
1120
+ );
1121
+ if (r) {
1122
+ var s = (
1123
+ /** @type {TemplateNode} */
1124
+ /* @__PURE__ */ ae(l)
1125
+ ), f = (
1126
+ /** @type {TemplateNode} */
1127
+ l.lastChild
1128
+ );
1129
+ Ae(s, f);
1130
+ } else
1131
+ Ae(l, l);
1132
+ return l;
1133
+ };
1134
+ }
1135
+ // @__NO_SIDE_EFFECTS__
1136
+ function No(e, t, r = "svg") {
1137
+ var i = !e.startsWith("<!>"), o = `<${r}>${i ? e : "<!>" + e}</${r}>`, a;
1138
+ return () => {
1139
+ if (L)
1140
+ return Ae(P, null), P;
1141
+ if (!a) {
1142
+ var l = (
1143
+ /** @type {DocumentFragment} */
1144
+ or(o)
1145
+ ), s = (
1146
+ /** @type {Element} */
1147
+ /* @__PURE__ */ ae(l)
1148
+ );
1149
+ a = /** @type {Element} */
1150
+ /* @__PURE__ */ ae(s);
1151
+ }
1152
+ var f = (
1153
+ /** @type {TemplateNode} */
1154
+ a.cloneNode(true)
1155
+ );
1156
+ return Ae(f, f), f;
1157
+ };
1158
+ }
1159
+ function ne(e, t) {
1160
+ if (L) {
1161
+ I.nodes_end = P, ze();
1162
+ return;
1163
+ }
1164
+ e !== null && e.before(
1165
+ /** @type {Node} */
1166
+ t
1167
+ );
1168
+ }
1169
+ function zn(e, t) {
1170
+ return Xn(e, t);
1171
+ }
1172
+ function Lo(e, t) {
1173
+ Wt(), t.intro = t.intro ?? false;
1174
+ const r = t.target, i = L, o = P;
1175
+ try {
1176
+ for (var a = (
1177
+ /** @type {TemplateNode} */
1178
+ /* @__PURE__ */ ae(r)
1179
+ ); a && (a.nodeType !== 8 || /** @type {Comment} */
1180
+ a.data !== zt); )
1181
+ a = /** @type {TemplateNode} */
1182
+ /* @__PURE__ */ Te(a);
1183
+ if (!a)
1184
+ throw Je;
1185
+ Ze(true), Re(
1186
+ /** @type {Comment} */
1187
+ a
1188
+ ), ze();
1189
+ const l = Xn(e, { ...t, anchor: a });
1190
+ if (P === null || P.nodeType !== 8 || /** @type {Comment} */
1191
+ P.data !== fn)
1192
+ throw Tt(), Je;
1193
+ return Ze(false), /** @type {Exports} */
1194
+ l;
1195
+ } catch (l) {
1196
+ if (l === Je)
1197
+ return t.recover === false && zi(), Wt(), io(r), Ze(false), zn(e, t);
1198
+ throw l;
1199
+ } finally {
1200
+ Ze(i), Re(o);
1201
+ }
1202
+ }
1203
+ function Xn(e, { target: t, anchor: r, props: i = {}, events: o, context: a, intro: l = true }) {
1204
+ Wt();
1205
+ var s = /* @__PURE__ */ new Set(), f = (h) => {
1206
+ for (var g = 0; g < h.length; g++) {
1207
+ var m = h[g];
1208
+ if (!s.has(m)) {
1209
+ s.add(m);
1210
+ var k = Ao(m);
1211
+ t.addEventListener(m, ft, { passive: k });
1212
+ var N = Ye.get(m);
1213
+ N === void 0 ? (document.addEventListener(m, ft, { passive: k }), Ye.set(m, 1)) : Ye.set(m, N + 1);
1214
+ }
1215
+ }
1216
+ };
1217
+ f(ji(Kn)), Jt.add(f);
1218
+ var d = void 0, v = uo(() => {
1219
+ var h = r ?? t.appendChild(er());
1220
+ return Gt(() => {
1221
+ if (a) {
1222
+ Wn({});
1223
+ var g = (
1224
+ /** @type {ComponentContext} */
1225
+ W
1226
+ );
1227
+ g.c = a;
1228
+ }
1229
+ o && (i.$$events = o), L && Ae(
1230
+ /** @type {TemplateNode} */
1231
+ h,
1232
+ null
1233
+ ), d = e(h, i) || {}, L && (I.nodes_end = P), a && Yn();
1234
+ }), () => {
1235
+ var k;
1236
+ for (var g of s) {
1237
+ t.removeEventListener(g, ft);
1238
+ var m = (
1239
+ /** @type {number} */
1240
+ Ye.get(g)
1241
+ );
1242
+ --m === 0 ? (document.removeEventListener(g, ft), Ye.delete(g)) : Ye.set(g, m);
1243
+ }
1244
+ Jt.delete(f), h !== r && ((k = h.parentNode) == null || k.removeChild(h));
1245
+ };
1246
+ });
1247
+ return Kt.set(d, v), d;
1248
+ }
1249
+ function Do(e, t) {
1250
+ const r = Kt.get(e);
1251
+ return r ? (Kt.delete(e), r(t)) : Promise.resolve();
1252
+ }
1253
+ function $e(e, t, [r, i] = [0, 0]) {
1254
+ L && r === 0 && ze();
1255
+ var o = e, a = null, l = null, s = Z, f = r > 0 ? Qt : 0, d = false;
1256
+ const v = (g, m = true) => {
1257
+ d = true, h(m, g);
1258
+ }, h = (g, m) => {
1259
+ if (s === (s = g)) return;
1260
+ let k = false;
1261
+ if (L && i !== -1) {
1262
+ if (r === 0) {
1263
+ const F = (
1264
+ /** @type {Comment} */
1265
+ o.data
1266
+ );
1267
+ F === zt ? i = 0 : F === sn ? i = 1 / 0 : (i = parseInt(F.substring(1)), i !== i && (i = s ? 1 / 0 : -1));
1268
+ }
1269
+ const N = i > r;
1270
+ !!s === N && (o = ro(), Re(o), Ze(false), k = true, i = -1);
1271
+ }
1272
+ s ? (a ? Zr(a) : m && (a = Gt(() => m(o))), l && Zt(l, () => {
1273
+ l = null;
1274
+ })) : (l ? Zr(l) : m && (l = Gt(() => m(o, [r + 1, i]))), a && Zt(a, () => {
1275
+ a = null;
1276
+ })), k && Ze(true);
1277
+ };
1278
+ Cn(() => {
1279
+ d = false, t(v), d || h(null, null);
1280
+ }, f), L && (o = P);
1281
+ }
1282
+ function Ge(e, t, r = false, i = false, o = false) {
1283
+ var a = e, l = "";
1284
+ Pe(() => {
1285
+ var s = (
1286
+ /** @type {Effect} */
1287
+ I
1288
+ );
1289
+ if (l === (l = t() ?? "")) {
1290
+ L && ze();
1291
+ return;
1292
+ }
1293
+ if (s.nodes_start !== null && (In(
1294
+ s.nodes_start,
1295
+ /** @type {TemplateNode} */
1296
+ s.nodes_end
1297
+ ), s.nodes_start = s.nodes_end = null), l !== "") {
1298
+ if (L) {
1299
+ P.data;
1300
+ for (var f = ze(), d = f; f !== null && (f.nodeType !== 8 || /** @type {Comment} */
1301
+ f.data !== ""); )
1302
+ d = f, f = /** @type {TemplateNode} */
1303
+ /* @__PURE__ */ Te(f);
1304
+ if (f === null)
1305
+ throw Tt(), Je;
1306
+ Ae(P, d), a = Re(f);
1307
+ return;
1308
+ }
1309
+ var v = l + "";
1310
+ r ? v = `<svg>${v}</svg>` : i && (v = `<math>${v}</math>`);
1311
+ var h = or(v);
1312
+ if ((r || i) && (h = /** @type {Element} */
1313
+ /* @__PURE__ */ ae(h)), Ae(
1314
+ /** @type {TemplateNode} */
1315
+ /* @__PURE__ */ ae(h),
1316
+ /** @type {TemplateNode} */
1317
+ h.lastChild
1318
+ ), r || i)
1319
+ for (; /* @__PURE__ */ ae(h); )
1320
+ a.before(
1321
+ /** @type {Node} */
1322
+ /* @__PURE__ */ ae(h)
1323
+ );
1324
+ else
1325
+ a.before(h);
1326
+ }
1327
+ });
1328
+ }
1329
+ function Po(e, t, r, i, o) {
1330
+ var s;
1331
+ L && ze();
1332
+ var a = (s = t.$$slots) == null ? void 0 : s[r], l = false;
1333
+ a === true && (a = t.children, l = true), a === void 0 || a(e, l ? () => i : i);
1334
+ }
1335
+ function Oo(e, t, r) {
1336
+ var i = "" + e;
1337
+ if (r) {
1338
+ for (var o in r)
1339
+ if (r[o])
1340
+ i = i ? i + " " + o : o;
1341
+ else if (i.length)
1342
+ for (var a = o.length, l = 0; (l = i.indexOf(o, l)) >= 0; ) {
1343
+ var s = l + a;
1344
+ (l === 0 || Qr.includes(i[l - 1])) && (s === i.length || Qr.includes(i[s])) ? i = (l === 0 ? "" : i.substring(0, l)) + i.substring(s + 1) : l = s;
1345
+ }
1346
+ }
1347
+ return i === "" ? null : i;
1348
+ }
1349
+ function Fo(e, t, r, i, o, a) {
1350
+ var l = e.__className;
1351
+ if (L || l !== r || l === void 0) {
1352
+ var s = Oo(r, i, a);
1353
+ (!L || s !== e.getAttribute("class")) && (s == null ? e.removeAttribute("class") : e.className = s), e.__className = r;
1354
+ } else if (a && o !== a)
1355
+ for (var f in a) {
1356
+ var d = !!a[f];
1357
+ (o == null || d !== !!o[f]) && e.classList.toggle(f, d);
1358
+ }
1359
+ return a;
1360
+ }
1361
+ function en(e) {
1362
+ if (L) {
1363
+ var t = false, r = () => {
1364
+ if (!t) {
1365
+ if (t = true, e.hasAttribute("value")) {
1366
+ var i = e.value;
1367
+ se(e, "value", null), e.value = i;
1368
+ }
1369
+ if (e.hasAttribute("checked")) {
1370
+ var o = e.checked;
1371
+ se(e, "checked", null), e.checked = o;
1372
+ }
1373
+ }
1374
+ };
1375
+ e.__on_r = r, go(r), Zn();
1376
+ }
1377
+ }
1378
+ function jo(e, t) {
1379
+ var r = Qn(e);
1380
+ r.value === (r.value = // treat null and undefined the same for the initial value
1381
+ t ?? void 0) || // @ts-expect-error
1382
+ // `progress` elements always need their value set when it's `0`
1383
+ e.value === t && (t !== 0 || e.nodeName !== "PROGRESS") || (e.value = t ?? "");
1384
+ }
1385
+ function se(e, t, r, i) {
1386
+ var o = Qn(e);
1387
+ L && (o[t] = e.getAttribute(t), t === "src" || t === "srcset" || t === "href" && e.nodeName === "LINK") || o[t] !== (o[t] = r) && (t === "loading" && (e[Yi] = r), r == null ? e.removeAttribute(t) : typeof r != "string" && Vo(e).includes(t) ? e[t] = r : e.setAttribute(t, r));
1388
+ }
1389
+ function Qn(e) {
1390
+ return (
1391
+ /** @type {Record<string | symbol, unknown>} **/
1392
+ // @ts-expect-error
1393
+ e.__attributes ?? (e.__attributes = {
1394
+ [Mo]: e.nodeName.includes("-"),
1395
+ [Uo]: e.namespaceURI === Mi
1396
+ })
1397
+ );
1398
+ }
1399
+ function Vo(e) {
1400
+ var t = tn.get(e.nodeName);
1401
+ if (t) return t;
1402
+ tn.set(e.nodeName, t = []);
1403
+ for (var r, i = e, o = Element.prototype; o !== i; ) {
1404
+ r = Vi(i);
1405
+ for (var a in r)
1406
+ r[a].set && t.push(a);
1407
+ i = dn(i);
1408
+ }
1409
+ return t;
1410
+ }
1411
+ function Bo(e, t, r = t) {
1412
+ Ro(e, "change", (i) => {
1413
+ var o = i ? e.defaultChecked : e.checked;
1414
+ r(o);
1415
+ }), // If we are hydrating and the value has since changed,
1416
+ // then use the update value from the input instead.
1417
+ (L && e.defaultChecked !== e.checked || // If defaultChecked is set, then checked == defaultChecked
1418
+ Xe(t) == null) && r(e.checked), nr(() => {
1419
+ var i = t();
1420
+ e.checked = !!i;
1421
+ });
1422
+ }
1423
+ function rn(e, t) {
1424
+ return e === t || (e == null ? void 0 : e[ut]) === t;
1425
+ }
1426
+ function nn(e = {}, t, r, i) {
1427
+ return rr(() => {
1428
+ var o, a;
1429
+ return nr(() => {
1430
+ o = a, a = [], Xe(() => {
1431
+ e !== r(...a) && (t(e, ...a), o && rn(r(...o), e) && t(null, ...o));
1432
+ });
1433
+ }), () => {
1434
+ Pn(() => {
1435
+ a && rn(r(...a), e) && t(null, ...a);
1436
+ });
1437
+ };
1438
+ }), e;
1439
+ }
1440
+ function ei(e) {
1441
+ W === null && un(), Yt(() => {
1442
+ const t = Xe(e);
1443
+ if (typeof t == "function") return (
1444
+ /** @type {() => void} */
1445
+ t
1446
+ );
1447
+ });
1448
+ }
1449
+ function qo(e) {
1450
+ W === null && un(), ei(() => () => Xe(e));
1451
+ }
1452
+ function Ho(e) {
1453
+ var t = wt;
1454
+ try {
1455
+ return wt = false, [e(), wt];
1456
+ } finally {
1457
+ wt = t;
1458
+ }
1459
+ }
1460
+ function on(e) {
1461
+ var t;
1462
+ return ((t = e.ctx) == null ? void 0 : t.d) ?? false;
1463
+ }
1464
+ function A(e, t, r, i) {
1465
+ var Ne;
1466
+ var o = (r & Ni) !== 0, a = true, l = (r & Di) !== 0, s = (r & Pi) !== 0, f = false, d;
1467
+ l ? [d, f] = Ho(() => (
1468
+ /** @type {V} */
1469
+ e[t]
1470
+ )) : d = /** @type {V} */
1471
+ e[t];
1472
+ var v = ut in e || _n in e, h = l && (((Ne = Oe(e, t)) == null ? void 0 : Ne.set) ?? (v && t in e && ((O) => e[t] = O))) || void 0, g = (
1473
+ /** @type {V} */
1474
+ i
1475
+ ), m = true, k = false, N = () => (k = true, m && (m = false, s ? g = Xe(
1476
+ /** @type {() => V} */
1477
+ i
1478
+ ) : g = /** @type {V} */
1479
+ i), g);
1480
+ d === void 0 && i !== void 0 && (h && a && Xi(), d = N(), h && h(d));
1481
+ var F;
1482
+ if (F = () => {
1483
+ var O = (
1484
+ /** @type {V} */
1485
+ e[t]
1486
+ );
1487
+ return O === void 0 ? N() : (m = true, k = false, O);
1488
+ }, (r & Li) === 0)
1489
+ return F;
1490
+ if (h) {
1491
+ var V = e.$$legacy;
1492
+ return function(O, j) {
1493
+ return arguments.length > 0 ? ((!j || V || f) && h(j ? F() : O), O) : F();
1494
+ };
1495
+ }
1496
+ var U = false, Y = /* @__PURE__ */ qn(d), M = /* @__PURE__ */ tr(() => {
1497
+ var O = F(), j = c(Y);
1498
+ return U ? (U = false, j) : Y.v = O;
1499
+ });
1500
+ return l && c(M), o || (M.equals = yn), function(O, j) {
1501
+ if (arguments.length > 0) {
1502
+ const _e = j ? c(M) : l ? ke(O) : O;
1503
+ if (!M.equals(_e)) {
1504
+ if (U = true, D(Y, _e), k && g !== void 0 && (g = _e), on(M))
1505
+ return O;
1506
+ Xe(() => c(M));
1507
+ }
1508
+ return O;
1509
+ }
1510
+ return on(M) ? M.v : c(M);
1511
+ };
1512
+ }
1513
+ function Wo(e) {
1514
+ return new Yo(e);
1515
+ }
1516
+ function bt(e, t, r, i) {
1517
+ var a;
1518
+ const o = (a = r[e]) == null ? void 0 : a.type;
1519
+ if (t = o === "Boolean" && typeof t != "boolean" ? t != null : t, !i || !r[e])
1520
+ return t;
1521
+ if (i === "toAttribute")
1522
+ switch (o) {
1523
+ case "Object":
1524
+ case "Array":
1525
+ return t == null ? null : JSON.stringify(t);
1526
+ case "Boolean":
1527
+ return t ? "" : null;
1528
+ case "Number":
1529
+ return t ?? null;
1530
+ default:
1531
+ return t;
1532
+ }
1533
+ else
1534
+ switch (o) {
1535
+ case "Object":
1536
+ case "Array":
1537
+ return t && JSON.parse(t);
1538
+ case "Boolean":
1539
+ return t;
1540
+ // conversion already handled above
1541
+ case "Number":
1542
+ return t != null ? +t : t;
1543
+ default:
1544
+ return t;
1545
+ }
1546
+ }
1547
+ function Go(e) {
1548
+ const t = {};
1549
+ return e.childNodes.forEach((r) => {
1550
+ t[
1551
+ /** @type {Element} node */
1552
+ r.slot || "default"
1553
+ ] = true;
1554
+ }), t;
1555
+ }
1556
+ function Zo(e, t, r, i, o, a) {
1557
+ let l = class extends ti {
1558
+ constructor() {
1559
+ super(e, r, o), this.$$p_d = t;
1560
+ }
1561
+ static get observedAttributes() {
1562
+ return yt(t).map(
1563
+ (s) => (t[s].attribute || s).toLowerCase()
1564
+ );
1565
+ }
1566
+ };
1567
+ return yt(t).forEach((s) => {
1568
+ Et(l.prototype, s, {
1569
+ get() {
1570
+ return this.$$c && s in this.$$c ? this.$$c[s] : this.$$d[s];
1571
+ },
1572
+ set(f) {
1573
+ var h;
1574
+ f = bt(s, f, t), this.$$d[s] = f;
1575
+ var d = this.$$c;
1576
+ if (d) {
1577
+ var v = (h = Oe(d, s)) == null ? void 0 : h.get;
1578
+ v ? d[s] = f : d.$set({ [s]: f });
1579
+ }
1580
+ }
1581
+ });
1582
+ }), i.forEach((s) => {
1583
+ Et(l.prototype, s, {
1584
+ get() {
1585
+ var f;
1586
+ return (f = this.$$c) == null ? void 0 : f[s];
1587
+ }
1588
+ });
1589
+ }), e.element = /** @type {any} */
1590
+ l, l;
1591
+ }
1592
+ function Jo(e) {
1593
+ return [...new Uint8Array(e)].map((t) => t.toString(16).padStart(2, "0")).join("");
1594
+ }
1595
+ async function Ko(e, t = "SHA-256", r = 1e5) {
1596
+ const i = Date.now().toString(16);
1597
+ e || (e = Math.round(Math.random() * r));
1598
+ const o = await ni(i, e, t);
1599
+ return {
1600
+ algorithm: t,
1601
+ challenge: o,
1602
+ salt: i,
1603
+ signature: ""
1604
+ };
1605
+ }
1606
+ async function ni(e, t, r) {
1607
+ if (typeof crypto > "u" || !("subtle" in crypto) || !("digest" in crypto.subtle))
1608
+ throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).");
1609
+ return Jo(
1610
+ await crypto.subtle.digest(
1611
+ r.toUpperCase(),
1612
+ ri.encode(e + t)
1613
+ )
1614
+ );
1615
+ }
1616
+ function zo(e, t, r = "SHA-256", i = 1e6, o = 0) {
1617
+ const a = new AbortController(), l = Date.now();
1618
+ return {
1619
+ promise: (async () => {
1620
+ for (let f = o; f <= i; f += 1) {
1621
+ if (a.signal.aborted)
1622
+ return null;
1623
+ if (await ni(t, f, r) === e)
1624
+ return {
1625
+ number: f,
1626
+ took: Date.now() - l
1627
+ };
1628
+ }
1629
+ return null;
1630
+ })(),
1631
+ controller: a
1632
+ };
1633
+ }
1634
+ function Xo() {
1635
+ try {
1636
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
1637
+ } catch {
1638
+ }
1639
+ }
1640
+ function Qo(e) {
1641
+ const t = atob(e), r = new Uint8Array(t.length);
1642
+ for (let i = 0; i < t.length; i++)
1643
+ r[i] = t.charCodeAt(i);
1644
+ return r;
1645
+ }
1646
+ function ea(e, t = 12) {
1647
+ const r = new Uint8Array(t);
1648
+ for (let i = 0; i < t; i++)
1649
+ r[i] = e % 256, e = Math.floor(e / 256);
1650
+ return r;
1651
+ }
1652
+ async function ta(e, t = "", r = 1e6, i = 0) {
1653
+ const o = "AES-GCM", a = new AbortController(), l = Date.now(), s = async () => {
1654
+ for (let v = i; v <= r; v += 1) {
1655
+ if (a.signal.aborted || !f || !d)
1656
+ return null;
1657
+ try {
1658
+ const h = await crypto.subtle.decrypt(
1659
+ {
1660
+ name: o,
1661
+ iv: ea(v)
1662
+ },
1663
+ f,
1664
+ d
1665
+ );
1666
+ if (h)
1667
+ return {
1668
+ clearText: new TextDecoder().decode(h),
1669
+ took: Date.now() - l
1670
+ };
1671
+ } catch {
1672
+ }
1673
+ }
1674
+ return null;
1675
+ };
1676
+ let f = null, d = null;
1677
+ try {
1678
+ d = Qo(e);
1679
+ const v = await crypto.subtle.digest(
1680
+ "SHA-256",
1681
+ ri.encode(t)
1682
+ );
1683
+ f = await crypto.subtle.importKey(
1684
+ "raw",
1685
+ v,
1686
+ o,
1687
+ false,
1688
+ ["decrypt"]
1689
+ );
1690
+ } catch {
1691
+ return {
1692
+ promise: Promise.reject(),
1693
+ controller: a
1694
+ };
1695
+ }
1696
+ return {
1697
+ promise: s(),
1698
+ controller: a
1699
+ };
1700
+ }
1701
+ function ha(e, t) {
1702
+ var Mr, Ur;
1703
+ Wn(t, true);
1704
+ let r = A(t, "auto", 7, void 0), i = A(t, "blockspam", 7, void 0), o = A(t, "challengeurl", 7, void 0), a = A(t, "challengejson", 7, void 0), l = A(t, "customfetch", 7, void 0), s = A(t, "debug", 7, false), f = A(t, "delay", 7, 0), d = A(t, "expire", 7, void 0), v = A(t, "floating", 7, void 0), h = A(t, "floatinganchor", 7, void 0), g = A(t, "floatingoffset", 7, void 0), m = A(t, "floatingpersist", 7, false), k = A(t, "hidefooter", 7, false), N = A(t, "hidelogo", 7, false), F = A(t, "id", 7, void 0), V = A(t, "name", 7, "altcha"), U = A(t, "maxnumber", 7, 1e6), Y = A(t, "mockerror", 7, false), M = A(t, "obfuscated", 7, void 0), Ne = A(t, "plugins", 7, void 0), O = A(t, "refetchonexpire", 7, true), j = A(t, "spamfilter", 7, false), _e = A(t, "strings", 7, void 0), te = A(t, "test", 7, false), ye = A(t, "verifyurl", 7, void 0), Ve = A(t, "workers", 23, () => Math.min(16, navigator.hardwareConcurrency || 8)), Qe = A(t, "workerurl", 7, void 0);
1705
+ const ar = ["SHA-256", "SHA-384", "SHA-512"], lr = "Visit Altcha.org", sr = "https://altcha.org/", et = (n, u) => {
1706
+ t.$$host.dispatchEvent(new CustomEvent(n, { detail: u }));
1707
+ }, fr = (Ur = (Mr = document.documentElement.lang) == null ? void 0 : Mr.split("-")) == null ? void 0 : Ur[0], Dt = /* @__PURE__ */ st(() => {
1708
+ var n;
1709
+ return o() && new URL(o(), location.origin).host.endsWith(".altcha.org") && !!((n = o()) != null && n.includes("apiKey=ckey_"));
1710
+ }), Pt = /* @__PURE__ */ st(() => a() ? Er(a()) : void 0), ur = /* @__PURE__ */ st(() => _e() ? Er(_e()) : {}), re = /* @__PURE__ */ st(() => {
1711
+ var n;
1712
+ return {
1713
+ ariaLinkLabel: lr,
1714
+ error: "Verification failed. Try again later.",
1715
+ expired: "Verification expired. Try again.",
1716
+ footer: `Protected by <a href="${sr}" target="_blank" aria-label="${((n = c(ur)) == null ? void 0 : n.ariaLinkLabel) || lr}">ALTCHA</a>`,
1717
+ label: "I'm not a robot",
1718
+ verified: "Verified",
1719
+ verifying: "Verifying...",
1720
+ waitAlert: "Verifying... please wait.",
1721
+ ...c(ur)
1722
+ };
1723
+ }), cr = /* @__PURE__ */ st(() => `${F() || V()}_checkbox`);
1724
+ let Be = /* @__PURE__ */ J(false), C = /* @__PURE__ */ J(ke(b.UNVERIFIED)), B = /* @__PURE__ */ J(void 0), tt = /* @__PURE__ */ J(null), qe = null, w = null, He = /* @__PURE__ */ J(null), ce = null, Ee = [], Le = /* @__PURE__ */ J(null);
1725
+ Yt(() => {
1726
+ ci(c(He));
1727
+ }), Yt(() => {
1728
+ di(c(C));
1729
+ }), qo(() => {
1730
+ ii(), w && (w.removeEventListener("submit", wr), w.removeEventListener("reset", pr), w.removeEventListener("focusin", mr), w = null), ce && (clearTimeout(ce), ce = null), document.removeEventListener("click", gr), document.removeEventListener("scroll", _r), window.removeEventListener("resize", yr);
1731
+ }), ei(() => {
1732
+ var n;
1733
+ S("mounted", "1.5.1"), S("workers", Ve()), fi(), S("plugins", Ee.length ? Ee.map((u) => u.constructor.pluginName).join(", ") : "none"), te() && S("using test mode"), d() && Ot(d()), r() !== void 0 && S("auto", r()), v() !== void 0 && xr(v()), w = (n = c(B)) == null ? void 0 : n.closest("form"), w && (w.addEventListener("submit", wr, { capture: true }), w.addEventListener("reset", pr), (r() === "onfocus" || m() === "focus") && w.addEventListener("focusin", mr)), r() === "onload" && (M() ? rt() : xe()), c(Dt) && (k() || N()) && S("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."), requestAnimationFrame(() => {
1734
+ et("load");
1735
+ });
1736
+ });
1737
+ function dr(n, u) {
1738
+ return btoa(JSON.stringify({
1739
+ algorithm: n.algorithm,
1740
+ challenge: n.challenge,
1741
+ number: u.number,
1742
+ salt: n.salt,
1743
+ signature: n.signature,
1744
+ test: te() ? true : void 0,
1745
+ took: u.took
1746
+ }));
1747
+ }
1748
+ function ii() {
1749
+ for (const n of Ee)
1750
+ n.destroy();
1751
+ }
1752
+ function hr() {
1753
+ o() && O() && c(C) === b.VERIFIED ? xe() : it(b.EXPIRED, c(re).expired);
1754
+ }
1755
+ async function oi() {
1756
+ var n;
1757
+ if (Y())
1758
+ throw S("mocking error"), new Error("Mocked error.");
1759
+ if (c(Pt))
1760
+ return S("using provided json data"), c(Pt);
1761
+ if (te())
1762
+ return S("generating test challenge", { test: te() }), Ko(typeof te() != "boolean" ? +te() : void 0);
1763
+ {
1764
+ if (!o() && w) {
1765
+ const x = w.getAttribute("action");
1766
+ x != null && x.includes("/form/") && o(x + "/altcha");
1767
+ }
1768
+ if (!o())
1769
+ throw new Error("Attribute challengeurl not set.");
1770
+ S("fetching challenge from", o());
1771
+ const u = {
1772
+ headers: j() !== false ? { "x-altcha-spam-filter": "1" } : {}
1773
+ }, _ = await vr()(o(), u);
1774
+ if (!_ || !(_ instanceof Response))
1775
+ throw new Error("Fetch function did not return a response.");
1776
+ if (_.status !== 200)
1777
+ throw new Error(`Server responded with ${_.status}.`);
1778
+ const y = _.headers.get("X-Altcha-Config"), T = await _.json(), E = new URLSearchParams((n = T.salt.split("?")) == null ? void 0 : n[1]), p = E.get("expires") || E.get("expire");
1779
+ if (p) {
1780
+ const x = new Date(+p * 1e3), me = isNaN(x.getTime()) ? 0 : x.getTime() - Date.now();
1781
+ me > 0 && Ot(me);
1782
+ }
1783
+ if (y)
1784
+ try {
1785
+ const x = JSON.parse(y);
1786
+ x && typeof x == "object" && ("sentinel" in x ? alert("This version of the widget is not compatible with Sentinel. Upgrade to version 2.x.x.") : (x.verifyurl && (x.verifyurl = new URL(x.verifyurl, new URL(o())).toString()), Cr(x)));
1787
+ } catch (x) {
1788
+ S("unable to configure from X-Altcha-Config", x);
1789
+ }
1790
+ return T;
1791
+ }
1792
+ }
1793
+ function ai(n) {
1794
+ var _;
1795
+ const u = w == null ? void 0 : w.querySelector(typeof n == "string" ? `input[name="${n}"]` : 'input[type="email"]:not([data-no-spamfilter])');
1796
+ return ((_ = u == null ? void 0 : u.value) == null ? void 0 : _.slice(u.value.indexOf("@"))) || void 0;
1797
+ }
1798
+ function vr() {
1799
+ let n = fetch;
1800
+ if (l())
1801
+ if (S("using customfetch"), typeof l() == "string") {
1802
+ if (n = globalThis[l()] || null, !n)
1803
+ throw new Error(`Custom fetch function not found: ${l()}`);
1804
+ } else
1805
+ n = l();
1806
+ return n;
1807
+ }
1808
+ function li() {
1809
+ return j() === "ipAddress" ? {
1810
+ blockedCountries: void 0,
1811
+ classifier: void 0,
1812
+ disableRules: void 0,
1813
+ email: false,
1814
+ expectedCountries: void 0,
1815
+ expectedLanguages: void 0,
1816
+ fields: false,
1817
+ ipAddress: void 0,
1818
+ text: void 0,
1819
+ timeZone: void 0
1820
+ } : typeof j() == "object" ? j() : {
1821
+ blockedCountries: void 0,
1822
+ classifier: void 0,
1823
+ disableRules: void 0,
1824
+ email: void 0,
1825
+ expectedCountries: void 0,
1826
+ expectedLanguages: void 0,
1827
+ fields: void 0,
1828
+ ipAddress: void 0,
1829
+ text: void 0,
1830
+ timeZone: void 0
1831
+ };
1832
+ }
1833
+ function si(n) {
1834
+ return [
1835
+ ...(w == null ? void 0 : w.querySelectorAll(n != null && n.length ? n.map((_) => `input[name="${_}"]`).join(", ") : 'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')) || []
1836
+ ].reduce(
1837
+ (_, y) => {
1838
+ const T = y.name, E = y.value;
1839
+ return T && E && (_[T] = /\n/.test(E) ? E.replace(new RegExp("(?<!\\r)\\n", "g"), `\r
1840
+ `) : E), _;
1841
+ },
1842
+ {}
1843
+ );
1844
+ }
1845
+ function fi() {
1846
+ const n = Ne() !== void 0 ? Ne().split(",") : void 0;
1847
+ for (const u of globalThis.altchaPlugins)
1848
+ (!n || n.includes(u.pluginName)) && Ee.push(new u({
1849
+ el: c(B),
1850
+ clarify: rt,
1851
+ dispatch: et,
1852
+ getConfiguration: Ar,
1853
+ getFloatingAnchor: Rr,
1854
+ getState: Ir,
1855
+ log: S,
1856
+ reset: it,
1857
+ solve: kr,
1858
+ setState: De,
1859
+ setFloatingAnchor: Tr,
1860
+ verify: xe
1861
+ }));
1862
+ }
1863
+ function S(...n) {
1864
+ (s() || n.some((u) => u instanceof Error)) && console[n[0] instanceof Error ? "error" : "log"]("ALTCHA", `[name=${V()}]`, ...n);
1865
+ }
1866
+ function ui() {
1867
+ [b.UNVERIFIED, b.ERROR, b.EXPIRED].includes(c(C)) ? j() !== false && (w == null ? void 0 : w.reportValidity()) === false ? D(Be, false) : M() ? rt() : xe() : D(Be, true);
1868
+ }
1869
+ function gr(n) {
1870
+ const u = n.target;
1871
+ v() && u && !c(B).contains(u) && (c(C) === b.VERIFIED && m() === false || c(C) === b.VERIFIED && m() === "focus" && !(w != null && w.matches(":focus-within")) || r() === "off" && c(C) === b.UNVERIFIED) && Sr();
1872
+ }
1873
+ function _r() {
1874
+ v() && c(C) !== b.UNVERIFIED && nt();
1875
+ }
1876
+ function ci(n) {
1877
+ for (const u of Ee)
1878
+ typeof u.onErrorChange == "function" && u.onErrorChange(c(He));
1879
+ }
1880
+ function mr(n) {
1881
+ c(C) === b.UNVERIFIED ? xe() : v() && m() === "focus" && c(C) === b.VERIFIED && Ft();
1882
+ }
1883
+ function wr(n) {
1884
+ w && r() === "onsubmit" ? c(C) === b.UNVERIFIED ? (n.preventDefault(), n.stopPropagation(), xe().then(() => {
1885
+ vi();
1886
+ })) : c(C) !== b.VERIFIED && (n.preventDefault(), n.stopPropagation(), c(C) === b.VERIFYING && br()) : w && v() && r() === "off" && c(C) === b.UNVERIFIED && (n.preventDefault(), n.stopPropagation(), Ft());
1887
+ }
1888
+ function pr() {
1889
+ it();
1890
+ }
1891
+ function br() {
1892
+ c(C) === b.VERIFYING && c(re).waitAlert && alert(c(re).waitAlert);
1893
+ }
1894
+ function di(n) {
1895
+ for (const u of Ee)
1896
+ typeof u.onStateChange == "function" && u.onStateChange(c(C));
1897
+ v() && c(C) !== b.UNVERIFIED && requestAnimationFrame(() => {
1898
+ nt();
1899
+ }), D(Be, c(C) === b.VERIFIED);
1900
+ }
1901
+ function yr() {
1902
+ v() && nt();
1903
+ }
1904
+ function Er(n) {
1905
+ return JSON.parse(n);
1906
+ }
1907
+ async function hi(n) {
1908
+ if (!ye())
1909
+ throw new Error("Attribute verifyurl not set.");
1910
+ S("requesting server verification from", ye());
1911
+ const u = { payload: n };
1912
+ if (j() !== false) {
1913
+ const {
1914
+ blockedCountries: T,
1915
+ classifier: E,
1916
+ disableRules: p,
1917
+ email: x,
1918
+ expectedLanguages: me,
1919
+ expectedCountries: jt,
1920
+ fields: at,
1921
+ ipAddress: lt,
1922
+ text: Ai,
1923
+ timeZone: jr
1924
+ } = li();
1925
+ u.blockedCountries = T, u.classifier = E, u.disableRules = p, u.email = x === false ? void 0 : ai(x), u.expectedCountries = jt, u.expectedLanguages = me || (fr ? [fr] : void 0), u.fields = at === false ? void 0 : si(at), u.ipAddress = lt === false ? void 0 : lt || "auto", u.text = Ai, u.timeZone = jr === false ? void 0 : jr || Xo();
1926
+ }
1927
+ const _ = await vr()(ye(), {
1928
+ body: JSON.stringify(u),
1929
+ headers: { "content-type": "application/json" },
1930
+ method: "POST"
1931
+ });
1932
+ if (!_ || !(_ instanceof Response))
1933
+ throw new Error("Fetch function did not return a response.");
1934
+ if (_.status !== 200)
1935
+ throw new Error(`Server responded with ${_.status}.`);
1936
+ const y = await _.json();
1937
+ if (y != null && y.payload && D(Le, y.payload, true), et("serververification", y), i() && y.classification === "BAD")
1938
+ throw new Error("SpamFilter returned negative classification.");
1939
+ }
1940
+ function vi() {
1941
+ w && "requestSubmit" in w ? w.requestSubmit() : w != null && w.reportValidity() && w.submit();
1942
+ }
1943
+ function Ot(n) {
1944
+ S("expire", n), ce && (clearTimeout(ce), ce = null), n < 1 ? hr() : ce = setTimeout(hr, n);
1945
+ }
1946
+ function xr(n) {
1947
+ S("floating", n), v() !== n && (c(B).style.left = "", c(B).style.top = ""), v(n === true || n === "" ? "auto" : n === false || n === "false" ? void 0 : v()), v() ? (r() || r("onsubmit"), document.addEventListener("scroll", _r), document.addEventListener("click", gr), window.addEventListener("resize", yr)) : r() === "onsubmit" && r(void 0);
1948
+ }
1949
+ function $r(n) {
1950
+ if (!n.algorithm)
1951
+ throw new Error("Invalid challenge. Property algorithm is missing.");
1952
+ if (n.signature === void 0)
1953
+ throw new Error("Invalid challenge. Property signature is missing.");
1954
+ if (!ar.includes(n.algorithm.toUpperCase()))
1955
+ throw new Error(`Unknown algorithm value. Allowed values: ${ar.join(", ")}`);
1956
+ if (!n.challenge || n.challenge.length < 40)
1957
+ throw new Error("Challenge is too short. Min. 40 chars.");
1958
+ if (!n.salt || n.salt.length < 10)
1959
+ throw new Error("Salt is too short. Min. 10 chars.");
1960
+ }
1961
+ async function kr(n) {
1962
+ let u = null;
1963
+ if ("Worker" in window) {
1964
+ try {
1965
+ u = await gi(n, n.maxNumber || n.maxnumber || U());
1966
+ } catch (_) {
1967
+ S(_);
1968
+ }
1969
+ if ((u == null ? void 0 : u.number) !== void 0 || "obfuscated" in n)
1970
+ return { data: n, solution: u };
1971
+ }
1972
+ if ("obfuscated" in n) {
1973
+ const _ = await ta(n.obfuscated, n.key, n.maxNumber || n.maxnumber);
1974
+ return { data: n, solution: await _.promise };
1975
+ }
1976
+ return {
1977
+ data: n,
1978
+ solution: await zo(n.challenge, n.salt, n.algorithm, n.maxNumber || n.maxnumber || U()).promise
1979
+ };
1980
+ }
1981
+ async function gi(n, u = typeof te() == "number" ? te() : n.maxNumber || n.maxnumber || U(), _ = Math.ceil(Ve())) {
1982
+ const y = [];
1983
+ _ = Math.min(16, u, Math.max(1, _));
1984
+ for (let p = 0; p < _; p++)
1985
+ y.push(altchaCreateWorker(Qe()));
1986
+ const T = Math.ceil(u / _), E = await Promise.all(y.map((p, x) => {
1987
+ const me = x * T;
1988
+ return new Promise((jt) => {
1989
+ p.addEventListener("message", (at) => {
1990
+ if (at.data)
1991
+ for (const lt of y)
1992
+ lt !== p && lt.postMessage({ type: "abort" });
1993
+ jt(at.data);
1994
+ }), p.postMessage({
1995
+ payload: n,
1996
+ max: me + T,
1997
+ start: me,
1998
+ type: "work"
1999
+ });
2000
+ });
2001
+ }));
2002
+ for (const p of y)
2003
+ p.terminate();
2004
+ return E.find((p) => !!p) || null;
2005
+ }
2006
+ async function rt() {
2007
+ if (!M()) {
2008
+ De(b.ERROR);
2009
+ return;
2010
+ }
2011
+ const n = Ee.find((u) => u.constructor.pluginName === "obfuscation");
2012
+ if (!n || !("clarify" in n)) {
2013
+ De(b.ERROR), S("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.");
2014
+ return;
2015
+ }
2016
+ if ("clarify" in n && typeof n.clarify == "function")
2017
+ return n.clarify();
2018
+ }
2019
+ function Cr(n) {
2020
+ n.obfuscated !== void 0 && M(n.obfuscated), n.auto !== void 0 && (r(n.auto), r() === "onload" && (M() ? rt() : xe())), n.blockspam !== void 0 && i(!!n.blockspam), n.customfetch !== void 0 && l(n.customfetch), n.floatinganchor !== void 0 && h(n.floatinganchor), n.delay !== void 0 && f(n.delay), n.floatingoffset !== void 0 && g(n.floatingoffset), n.floating !== void 0 && xr(n.floating), n.expire !== void 0 && (Ot(n.expire), d(n.expire)), n.challenge && (a(typeof n.challenge == "string" ? n.challenge : JSON.stringify(n.challenge)), $r(c(Pt))), n.challengeurl !== void 0 && o(n.challengeurl), n.debug !== void 0 && s(!!n.debug), n.hidefooter !== void 0 && k(!!n.hidefooter), n.hidelogo !== void 0 && N(!!n.hidelogo), n.maxnumber !== void 0 && U(+n.maxnumber), n.mockerror !== void 0 && Y(!!n.mockerror), n.name !== void 0 && V(n.name), n.refetchonexpire !== void 0 && O(!!n.refetchonexpire), n.spamfilter !== void 0 && j(typeof n.spamfilter == "object" ? n.spamfilter : !!n.spamfilter), n.strings && _e(typeof n.strings == "string" ? n.strings : JSON.stringify(n.strings)), n.test !== void 0 && te(typeof n.test == "number" ? n.test : !!n.test), n.verifyurl !== void 0 && ye(n.verifyurl), n.workers !== void 0 && Ve(+n.workers), n.workerurl !== void 0 && Qe(n.workerurl);
2021
+ }
2022
+ function Ar() {
2023
+ return {
2024
+ auto: r(),
2025
+ blockspam: i(),
2026
+ challengeurl: o(),
2027
+ debug: s(),
2028
+ delay: f(),
2029
+ expire: d(),
2030
+ floating: v(),
2031
+ floatinganchor: h(),
2032
+ floatingoffset: g(),
2033
+ hidefooter: k(),
2034
+ hidelogo: N(),
2035
+ name: V(),
2036
+ maxnumber: U(),
2037
+ mockerror: Y(),
2038
+ obfuscated: M(),
2039
+ refetchonexpire: O(),
2040
+ spamfilter: j(),
2041
+ strings: c(re),
2042
+ test: te(),
2043
+ verifyurl: ye(),
2044
+ workers: Ve(),
2045
+ workerurl: Qe()
2046
+ };
2047
+ }
2048
+ function Rr() {
2049
+ return qe;
2050
+ }
2051
+ function _i(n) {
2052
+ return Ee.find((u) => u.constructor.pluginName === n);
2053
+ }
2054
+ function Ir() {
2055
+ return c(C);
2056
+ }
2057
+ function Sr() {
2058
+ c(B).style.display = "none";
2059
+ }
2060
+ function nt(n = 20) {
2061
+ if (c(B))
2062
+ if (qe || (qe = (h() ? document.querySelector(h()) : w == null ? void 0 : w.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])')) || w), qe) {
2063
+ const u = parseInt(g(), 10) || 12, _ = qe.getBoundingClientRect(), y = c(B).getBoundingClientRect(), T = document.documentElement.clientHeight, E = document.documentElement.clientWidth, p = v() === "auto" ? _.bottom + y.height + u + n > T : v() === "top", x = Math.max(n, Math.min(E - n - y.width, _.left + _.width / 2 - y.width / 2));
2064
+ if (p ? c(B).style.top = `${_.top - (y.height + u)}px` : c(B).style.top = `${_.bottom + u}px`, c(B).style.left = `${x}px`, c(B).setAttribute("data-floating", p ? "top" : "bottom"), c(tt)) {
2065
+ const me = c(tt).getBoundingClientRect();
2066
+ c(tt).style.left = _.left - x + _.width / 2 - me.width / 2 + "px";
2067
+ }
2068
+ } else
2069
+ S("unable to find floating anchor element");
2070
+ }
2071
+ function it(n = b.UNVERIFIED, u = null) {
2072
+ ce && (clearTimeout(ce), ce = null), D(Be, false), D(Le, null), De(n, u);
2073
+ }
2074
+ function Tr(n) {
2075
+ qe = n;
2076
+ }
2077
+ function De(n, u = null) {
2078
+ D(C, n, true), D(He, u, true), et("statechange", {
2079
+ payload: c(Le),
2080
+ state: c(C)
2081
+ });
2082
+ }
2083
+ function Ft() {
2084
+ c(B).style.display = "block", v() && nt();
2085
+ }
2086
+ async function xe() {
2087
+ return it(b.VERIFYING), await new Promise((n) => setTimeout(n, f() || 0)), oi().then((n) => ($r(n), S("challenge", n), kr(n))).then(({ data: n, solution: u }) => {
2088
+ if (S("solution", u), !u || n && "challenge" in n && !("clearText" in u))
2089
+ if ((u == null ? void 0 : u.number) !== void 0 && "challenge" in n) {
2090
+ if (ye())
2091
+ return hi(dr(n, u));
2092
+ D(Le, dr(n, u), true), S("payload", c(Le));
2093
+ } else
2094
+ throw S("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."), new Error("Unexpected result returned.");
2095
+ }).then(() => {
2096
+ De(b.VERIFIED), S("verified"), xo().then(() => {
2097
+ et("verified", { payload: c(Le) });
2098
+ });
2099
+ }).catch((n) => {
2100
+ S(n), De(b.ERROR, n.message);
2101
+ });
2102
+ }
2103
+ var Nr = da(), Lr = Gr(Nr);
2104
+ Po(Lr, t, "default", {});
2105
+ var ot = we(Lr, 2), Mt = X(ot), Dr = X(Mt);
2106
+ {
2107
+ var mi = (n) => {
2108
+ var u = ra();
2109
+ ne(n, u);
2110
+ };
2111
+ $e(Dr, (n) => {
2112
+ c(C) === b.VERIFYING && n(mi);
2113
+ });
2114
+ }
2115
+ var mt = we(Dr, 2);
2116
+ let Pr;
2117
+ var We = X(mt);
2118
+ en(We), We.__change = ui, z(mt);
2119
+ var Ut = we(mt, 2), wi = X(Ut);
2120
+ {
2121
+ var pi = (n) => {
2122
+ var u = na(), _ = Gr(u), y = X(_);
2123
+ Ge(y, () => c(re).verified), z(_);
2124
+ var T = we(_, 2);
2125
+ en(T), Pe(() => {
2126
+ se(T, "name", V()), jo(T, c(Le));
2127
+ }), ne(n, u);
2128
+ }, bi = (n, u) => {
2129
+ {
2130
+ var _ = (T) => {
2131
+ var E = ia(), p = X(E);
2132
+ Ge(p, () => c(re).verifying), z(E), ne(T, E);
2133
+ }, y = (T) => {
2134
+ var E = oa(), p = X(E);
2135
+ Ge(p, () => c(re).label), z(E), Pe(() => se(E, "for", c(cr))), ne(T, E);
2136
+ };
2137
+ $e(
2138
+ n,
2139
+ (T) => {
2140
+ c(C) === b.VERIFYING ? T(_) : T(y, false);
2141
+ },
2142
+ u
2143
+ );
2144
+ }
2145
+ };
2146
+ $e(wi, (n) => {
2147
+ c(C) === b.VERIFIED ? n(pi) : n(bi, false);
2148
+ });
2149
+ }
2150
+ z(Ut);
2151
+ var yi = we(Ut, 2);
2152
+ {
2153
+ var Ei = (n) => {
2154
+ var u = aa(), _ = X(u);
2155
+ se(_, "href", sr), z(u), Pe(() => se(_, "aria-label", c(re).ariaLinkLabel)), ne(n, u);
2156
+ };
2157
+ $e(yi, (n) => {
2158
+ (N() !== true || c(Dt)) && n(Ei);
2159
+ });
2160
+ }
2161
+ z(Mt);
2162
+ var Or = we(Mt, 2);
2163
+ {
2164
+ var xi = (n) => {
2165
+ var u = fa(), _ = we(X(u), 2);
2166
+ {
2167
+ var y = (E) => {
2168
+ var p = la(), x = X(p);
2169
+ Ge(x, () => c(re).expired), z(p), Pe(() => se(p, "title", c(He))), ne(E, p);
2170
+ }, T = (E) => {
2171
+ var p = sa(), x = X(p);
2172
+ Ge(x, () => c(re).error), z(p), Pe(() => se(p, "title", c(He))), ne(E, p);
2173
+ };
2174
+ $e(_, (E) => {
2175
+ c(C) === b.EXPIRED ? E(y) : E(T, false);
2176
+ });
2177
+ }
2178
+ z(u), ne(n, u);
2179
+ };
2180
+ $e(Or, (n) => {
2181
+ (c(He) || c(C) === b.EXPIRED) && n(xi);
2182
+ });
2183
+ }
2184
+ var Fr = we(Or, 2);
2185
+ {
2186
+ var $i = (n) => {
2187
+ var u = ua(), _ = X(u), y = X(_);
2188
+ Ge(y, () => c(re).footer), z(_), z(u), ne(n, u);
2189
+ };
2190
+ $e(Fr, (n) => {
2191
+ c(re).footer && (k() !== true || c(Dt)) && n($i);
2192
+ });
2193
+ }
2194
+ var ki = we(Fr, 2);
2195
+ {
2196
+ var Ci = (n) => {
2197
+ var u = ca();
2198
+ nn(u, (_) => D(tt, _), () => c(tt)), ne(n, u);
2199
+ };
2200
+ $e(ki, (n) => {
2201
+ v() && n(Ci);
2202
+ });
2203
+ }
2204
+ return z(ot), nn(ot, (n) => D(B, n), () => c(B)), Pe(
2205
+ (n) => {
2206
+ se(ot, "data-state", c(C)), se(ot, "data-floating", v()), Pr = Fo(mt, 1, "altcha-checkbox", null, Pr, n), se(We, "id", c(cr)), We.required = r() !== "onsubmit" && (!v() || r() !== "off");
2207
+ },
2208
+ [
2209
+ () => ({
2210
+ "altcha-hidden": c(C) === b.VERIFYING
2211
+ })
2212
+ ]
2213
+ ), So("invalid", We, br), Bo(We, () => c(Be), (n) => D(Be, n)), ne(e, Nr), Yn({
2214
+ clarify: rt,
2215
+ configure: Cr,
2216
+ getConfiguration: Ar,
2217
+ getFloatingAnchor: Rr,
2218
+ getPlugin: _i,
2219
+ getState: Ir,
2220
+ hide: Sr,
2221
+ repositionFloating: nt,
2222
+ reset: it,
2223
+ setFloatingAnchor: Tr,
2224
+ setState: De,
2225
+ show: Ft,
2226
+ verify: xe,
2227
+ get auto() {
2228
+ return r();
2229
+ },
2230
+ set auto(n = void 0) {
2231
+ r(n), $();
2232
+ },
2233
+ get blockspam() {
2234
+ return i();
2235
+ },
2236
+ set blockspam(n = void 0) {
2237
+ i(n), $();
2238
+ },
2239
+ get challengeurl() {
2240
+ return o();
2241
+ },
2242
+ set challengeurl(n = void 0) {
2243
+ o(n), $();
2244
+ },
2245
+ get challengejson() {
2246
+ return a();
2247
+ },
2248
+ set challengejson(n = void 0) {
2249
+ a(n), $();
2250
+ },
2251
+ get customfetch() {
2252
+ return l();
2253
+ },
2254
+ set customfetch(n = void 0) {
2255
+ l(n), $();
2256
+ },
2257
+ get debug() {
2258
+ return s();
2259
+ },
2260
+ set debug(n = false) {
2261
+ s(n), $();
2262
+ },
2263
+ get delay() {
2264
+ return f();
2265
+ },
2266
+ set delay(n = 0) {
2267
+ f(n), $();
2268
+ },
2269
+ get expire() {
2270
+ return d();
2271
+ },
2272
+ set expire(n = void 0) {
2273
+ d(n), $();
2274
+ },
2275
+ get floating() {
2276
+ return v();
2277
+ },
2278
+ set floating(n = void 0) {
2279
+ v(n), $();
2280
+ },
2281
+ get floatinganchor() {
2282
+ return h();
2283
+ },
2284
+ set floatinganchor(n = void 0) {
2285
+ h(n), $();
2286
+ },
2287
+ get floatingoffset() {
2288
+ return g();
2289
+ },
2290
+ set floatingoffset(n = void 0) {
2291
+ g(n), $();
2292
+ },
2293
+ get floatingpersist() {
2294
+ return m();
2295
+ },
2296
+ set floatingpersist(n = false) {
2297
+ m(n), $();
2298
+ },
2299
+ get hidefooter() {
2300
+ return k();
2301
+ },
2302
+ set hidefooter(n = false) {
2303
+ k(n), $();
2304
+ },
2305
+ get hidelogo() {
2306
+ return N();
2307
+ },
2308
+ set hidelogo(n = false) {
2309
+ N(n), $();
2310
+ },
2311
+ get id() {
2312
+ return F();
2313
+ },
2314
+ set id(n = void 0) {
2315
+ F(n), $();
2316
+ },
2317
+ get name() {
2318
+ return V();
2319
+ },
2320
+ set name(n = "altcha") {
2321
+ V(n), $();
2322
+ },
2323
+ get maxnumber() {
2324
+ return U();
2325
+ },
2326
+ set maxnumber(n = 1e6) {
2327
+ U(n), $();
2328
+ },
2329
+ get mockerror() {
2330
+ return Y();
2331
+ },
2332
+ set mockerror(n = false) {
2333
+ Y(n), $();
2334
+ },
2335
+ get obfuscated() {
2336
+ return M();
2337
+ },
2338
+ set obfuscated(n = void 0) {
2339
+ M(n), $();
2340
+ },
2341
+ get plugins() {
2342
+ return Ne();
2343
+ },
2344
+ set plugins(n = void 0) {
2345
+ Ne(n), $();
2346
+ },
2347
+ get refetchonexpire() {
2348
+ return O();
2349
+ },
2350
+ set refetchonexpire(n = true) {
2351
+ O(n), $();
2352
+ },
2353
+ get spamfilter() {
2354
+ return j();
2355
+ },
2356
+ set spamfilter(n = false) {
2357
+ j(n), $();
2358
+ },
2359
+ get strings() {
2360
+ return _e();
2361
+ },
2362
+ set strings(n = void 0) {
2363
+ _e(n), $();
2364
+ },
2365
+ get test() {
2366
+ return te();
2367
+ },
2368
+ set test(n = false) {
2369
+ te(n), $();
2370
+ },
2371
+ get verifyurl() {
2372
+ return ye();
2373
+ },
2374
+ set verifyurl(n = void 0) {
2375
+ ye(n), $();
2376
+ },
2377
+ get workers() {
2378
+ return Ve();
2379
+ },
2380
+ set workers(n = Math.min(16, navigator.hardwareConcurrency || 8)) {
2381
+ Ve(n), $();
2382
+ },
2383
+ get workerurl() {
2384
+ return Qe();
2385
+ },
2386
+ set workerurl(n = void 0) {
2387
+ Qe(n), $();
2388
+ }
2389
+ });
2390
+ }
2391
+ function ga(e, t = "__altcha-css") {
2392
+ if (!document.getElementById(t)) {
2393
+ const r = document.createElement("style");
2394
+ r.id = t, r.textContent = e, document.head.appendChild(r);
2395
+ }
2396
+ }
2397
+ var Ri, Vr, Ii, le, Br, G, Vt, Bt, ln, qr, Ti, an, Ni, Li, Di, Pi, Oi, Fi, zt, sn, fn, Je, Z, Mi, Hr, cn, Ui, ji, yt, Et, Oe, Vi, Bi, qi, dn, Wr, fe, vn, It, Xt, be, Me, xt, ee, $t, K, he, Ue, Ke, St, Hi, Qt, Wi, gn, Ht, ut, _n, Yi, L, P, no, Yr, mn, wn, pn, vo, dt, ht, pt, kt, Ct, Fe, gt, ct, R, de, I, H, q, Q, ie, Fn, At, Ce, $o, vt, W, Co, Xr, Kn, Jt, Ye, Kt, Qr, Mo, Uo, tn, wt, pe, oe, Yo, ti, ri, b, ra, na, ia, oa, aa, la, sa, fa, ua, ca, da, va;
2398
+ var init_altcha = __esm({
2399
+ "../../node_modules/.pnpm/altcha@1.5.1/node_modules/altcha/dist/altcha.js"() {
2400
+ "use strict";
2401
+ Ri = Object.defineProperty;
2402
+ Vr = (e) => {
2403
+ throw TypeError(e);
2404
+ };
2405
+ Ii = (e, t, r) => t in e ? Ri(e, t, { enumerable: true, configurable: true, writable: true, value: r }) : e[t] = r;
2406
+ le = (e, t, r) => Ii(e, typeof t != "symbol" ? t + "" : t, r);
2407
+ Br = (e, t, r) => t.has(e) || Vr("Cannot " + r);
2408
+ G = (e, t, r) => (Br(e, t, "read from private field"), r ? r.call(e) : t.get(e));
2409
+ Vt = (e, t, r) => t.has(e) ? Vr("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r);
2410
+ Bt = (e, t, r, i) => (Br(e, t, "write to private field"), i ? i.call(e, r) : t.set(e, r), r);
2411
+ ln = `(function(){"use strict";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function b(e,t,r){if(typeof crypto>"u"||!("subtle"in crypto)||!("digest"in crypto.subtle))throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).");return p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r="SHA-256",n=1e6,s=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=s;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function g(e,t=12){const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e%256,e=Math.floor(e/256);return r}async function m(e,t="",r=1e6,n=0){const s="AES-GCM",o=new AbortController,a=Date.now(),l=async()=>{for(let u=n;u<=r;u+=1){if(o.signal.aborted||!c||!y)return null;try{const f=await crypto.subtle.decrypt({name:s,iv:g(u)},c,y);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,y=null;try{y=h(e);const u=await crypto.subtle.digest("SHA-256",d.encode(t));c=await crypto.subtle.importKey("raw",u,s,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:l(),controller:o}}let i;onmessage=async e=>{const{type:t,payload:r,start:n,max:s}=e.data;let o=null;if(t==="abort")i==null||i.abort(),i=void 0;else if(t==="work"){if("obfuscated"in r){const{key:a,obfuscated:l}=r||{};o=await m(l,a,s,n)}else{const{algorithm:a,challenge:l,salt:c}=r||{};o=w(l,c,a,s,n)}i=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();
2412
+ `;
2413
+ qr = typeof self < "u" && self.Blob && new Blob([ln], { type: "text/javascript;charset=utf-8" });
2414
+ Ti = "5";
2415
+ typeof window < "u" && ((an = window.__svelte ?? (window.__svelte = {})).v ?? (an.v = /* @__PURE__ */ new Set())).add(Ti);
2416
+ Ni = 1;
2417
+ Li = 4;
2418
+ Di = 8;
2419
+ Pi = 16;
2420
+ Oi = 1;
2421
+ Fi = 2;
2422
+ zt = "[";
2423
+ sn = "[!";
2424
+ fn = "]";
2425
+ Je = {};
2426
+ Z = Symbol();
2427
+ Mi = "http://www.w3.org/1999/xhtml";
2428
+ Hr = false;
2429
+ cn = Array.isArray;
2430
+ Ui = Array.prototype.indexOf;
2431
+ ji = Array.from;
2432
+ yt = Object.keys;
2433
+ Et = Object.defineProperty;
2434
+ Oe = Object.getOwnPropertyDescriptor;
2435
+ Vi = Object.getOwnPropertyDescriptors;
2436
+ Bi = Object.prototype;
2437
+ qi = Array.prototype;
2438
+ dn = Object.getPrototypeOf;
2439
+ Wr = Object.isExtensible;
2440
+ fe = 2;
2441
+ vn = 4;
2442
+ It = 8;
2443
+ Xt = 16;
2444
+ be = 32;
2445
+ Me = 64;
2446
+ xt = 128;
2447
+ ee = 256;
2448
+ $t = 512;
2449
+ K = 1024;
2450
+ he = 2048;
2451
+ Ue = 4096;
2452
+ Ke = 8192;
2453
+ St = 16384;
2454
+ Hi = 32768;
2455
+ Qt = 65536;
2456
+ Wi = 1 << 19;
2457
+ gn = 1 << 20;
2458
+ Ht = 1 << 21;
2459
+ ut = Symbol("$state");
2460
+ _n = Symbol("legacy props");
2461
+ Yi = Symbol("");
2462
+ L = false;
2463
+ no = false;
2464
+ vo = typeof requestIdleCallback > "u" ? (e) => setTimeout(e, 1) : requestIdleCallback;
2465
+ dt = [];
2466
+ ht = [];
2467
+ pt = false;
2468
+ kt = false;
2469
+ Ct = null;
2470
+ Fe = false;
2471
+ gt = false;
2472
+ ct = [];
2473
+ R = null;
2474
+ de = false;
2475
+ I = null;
2476
+ H = null;
2477
+ q = null;
2478
+ Q = 0;
2479
+ ie = null;
2480
+ Fn = 1;
2481
+ At = 0;
2482
+ Ce = false;
2483
+ $o = -7169;
2484
+ vt = /* @__PURE__ */ new Map();
2485
+ W = null;
2486
+ Co = ["touchstart", "touchmove"];
2487
+ Xr = false;
2488
+ Kn = /* @__PURE__ */ new Set();
2489
+ Jt = /* @__PURE__ */ new Set();
2490
+ Ye = /* @__PURE__ */ new Map();
2491
+ Kt = /* @__PURE__ */ new WeakMap();
2492
+ Qr = [...`
2493
+ \r\f\xA0\v\uFEFF`];
2494
+ Mo = Symbol("is custom element");
2495
+ Uo = Symbol("is html");
2496
+ tn = /* @__PURE__ */ new Map();
2497
+ wt = false;
2498
+ Yo = class {
2499
+ /**
2500
+ * @param {ComponentConstructorOptions & {
2501
+ * component: any;
2502
+ * }} options
2503
+ */
2504
+ constructor(t) {
2505
+ Vt(this, pe);
2506
+ Vt(this, oe);
2507
+ var a;
2508
+ var r = /* @__PURE__ */ new Map(), i = (l, s) => {
2509
+ var f = /* @__PURE__ */ qn(s);
2510
+ return r.set(l, f), f;
2511
+ };
2512
+ const o = new Proxy(
2513
+ { ...t.props || {}, $$events: {} },
2514
+ {
2515
+ get(l, s) {
2516
+ return c(r.get(s) ?? i(s, Reflect.get(l, s)));
2517
+ },
2518
+ has(l, s) {
2519
+ return s === _n ? true : (c(r.get(s) ?? i(s, Reflect.get(l, s))), Reflect.has(l, s));
2520
+ },
2521
+ set(l, s, f) {
2522
+ return D(r.get(s) ?? i(s, f), f), Reflect.set(l, s, f);
2523
+ }
2524
+ }
2525
+ );
2526
+ Bt(this, oe, (t.hydrate ? Lo : zn)(t.component, {
2527
+ target: t.target,
2528
+ anchor: t.anchor,
2529
+ props: o,
2530
+ context: t.context,
2531
+ intro: t.intro ?? false,
2532
+ recover: t.recover
2533
+ })), (!((a = t == null ? void 0 : t.props) != null && a.$$host) || t.sync === false) && $(), Bt(this, pe, o.$$events);
2534
+ for (const l of Object.keys(G(this, oe)))
2535
+ l === "$set" || l === "$destroy" || l === "$on" || Et(this, l, {
2536
+ get() {
2537
+ return G(this, oe)[l];
2538
+ },
2539
+ /** @param {any} value */
2540
+ set(s) {
2541
+ G(this, oe)[l] = s;
2542
+ },
2543
+ enumerable: true
2544
+ });
2545
+ G(this, oe).$set = /** @param {Record<string, any>} next */
2546
+ (l) => {
2547
+ Object.assign(o, l);
2548
+ }, G(this, oe).$destroy = () => {
2549
+ Do(G(this, oe));
2550
+ };
2551
+ }
2552
+ /** @param {Record<string, any>} props */
2553
+ $set(t) {
2554
+ G(this, oe).$set(t);
2555
+ }
2556
+ /**
2557
+ * @param {string} event
2558
+ * @param {(...args: any[]) => any} callback
2559
+ * @returns {any}
2560
+ */
2561
+ $on(t, r) {
2562
+ G(this, pe)[t] = G(this, pe)[t] || [];
2563
+ const i = (...o) => r.call(this, ...o);
2564
+ return G(this, pe)[t].push(i), () => {
2565
+ G(this, pe)[t] = G(this, pe)[t].filter(
2566
+ /** @param {any} fn */
2567
+ (o) => o !== i
2568
+ );
2569
+ };
2570
+ }
2571
+ $destroy() {
2572
+ G(this, oe).$destroy();
2573
+ }
2574
+ };
2575
+ pe = /* @__PURE__ */ new WeakMap(), oe = /* @__PURE__ */ new WeakMap();
2576
+ typeof HTMLElement == "function" && (ti = class extends HTMLElement {
2577
+ /**
2578
+ * @param {*} $$componentCtor
2579
+ * @param {*} $$slots
2580
+ * @param {*} use_shadow_dom
2581
+ */
2582
+ constructor(t, r, i) {
2583
+ super();
2584
+ le(this, "$$ctor");
2585
+ le(this, "$$s");
2586
+ le(this, "$$c");
2587
+ le(this, "$$cn", false);
2588
+ le(this, "$$d", {});
2589
+ le(this, "$$r", false);
2590
+ le(this, "$$p_d", {});
2591
+ le(this, "$$l", {});
2592
+ le(this, "$$l_u", /* @__PURE__ */ new Map());
2593
+ le(this, "$$me");
2594
+ this.$$ctor = t, this.$$s = r, i && this.attachShadow({ mode: "open" });
2595
+ }
2596
+ /**
2597
+ * @param {string} type
2598
+ * @param {EventListenerOrEventListenerObject} listener
2599
+ * @param {boolean | AddEventListenerOptions} [options]
2600
+ */
2601
+ addEventListener(t, r, i) {
2602
+ if (this.$$l[t] = this.$$l[t] || [], this.$$l[t].push(r), this.$$c) {
2603
+ const o = this.$$c.$on(t, r);
2604
+ this.$$l_u.set(r, o);
2605
+ }
2606
+ super.addEventListener(t, r, i);
2607
+ }
2608
+ /**
2609
+ * @param {string} type
2610
+ * @param {EventListenerOrEventListenerObject} listener
2611
+ * @param {boolean | AddEventListenerOptions} [options]
2612
+ */
2613
+ removeEventListener(t, r, i) {
2614
+ if (super.removeEventListener(t, r, i), this.$$c) {
2615
+ const o = this.$$l_u.get(r);
2616
+ o && (o(), this.$$l_u.delete(r));
2617
+ }
2618
+ }
2619
+ async connectedCallback() {
2620
+ if (this.$$cn = true, !this.$$c) {
2621
+ let t = function(o) {
2622
+ return (a) => {
2623
+ const l = document.createElement("slot");
2624
+ o !== "default" && (l.name = o), ne(a, l);
2625
+ };
2626
+ };
2627
+ if (await Promise.resolve(), !this.$$cn || this.$$c)
2628
+ return;
2629
+ const r = {}, i = Go(this);
2630
+ for (const o of this.$$s)
2631
+ o in i && (o === "default" && !this.$$d.children ? (this.$$d.children = t(o), r.default = true) : r[o] = t(o));
2632
+ for (const o of this.attributes) {
2633
+ const a = this.$$g_p(o.name);
2634
+ a in this.$$d || (this.$$d[a] = bt(a, o.value, this.$$p_d, "toProp"));
2635
+ }
2636
+ for (const o in this.$$p_d)
2637
+ !(o in this.$$d) && this[o] !== void 0 && (this.$$d[o] = this[o], delete this[o]);
2638
+ this.$$c = Wo({
2639
+ component: this.$$ctor,
2640
+ target: this.shadowRoot || this,
2641
+ props: {
2642
+ ...this.$$d,
2643
+ $$slots: r,
2644
+ $$host: this
2645
+ }
2646
+ }), this.$$me = fo(() => {
2647
+ nr(() => {
2648
+ var o;
2649
+ this.$$r = true;
2650
+ for (const a of yt(this.$$c)) {
2651
+ if (!((o = this.$$p_d[a]) != null && o.reflect)) continue;
2652
+ this.$$d[a] = this.$$c[a];
2653
+ const l = bt(
2654
+ a,
2655
+ this.$$d[a],
2656
+ this.$$p_d,
2657
+ "toAttribute"
2658
+ );
2659
+ l == null ? this.removeAttribute(this.$$p_d[a].attribute || a) : this.setAttribute(this.$$p_d[a].attribute || a, l);
2660
+ }
2661
+ this.$$r = false;
2662
+ });
2663
+ });
2664
+ for (const o in this.$$l)
2665
+ for (const a of this.$$l[o]) {
2666
+ const l = this.$$c.$on(o, a);
2667
+ this.$$l_u.set(a, l);
2668
+ }
2669
+ this.$$l = {};
2670
+ }
2671
+ }
2672
+ // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte
2673
+ // and setting attributes through setAttribute etc, this is helpful
2674
+ /**
2675
+ * @param {string} attr
2676
+ * @param {string} _oldValue
2677
+ * @param {string} newValue
2678
+ */
2679
+ attributeChangedCallback(t, r, i) {
2680
+ var o;
2681
+ this.$$r || (t = this.$$g_p(t), this.$$d[t] = bt(t, i, this.$$p_d, "toProp"), (o = this.$$c) == null || o.$set({ [t]: this.$$d[t] }));
2682
+ }
2683
+ disconnectedCallback() {
2684
+ this.$$cn = false, Promise.resolve().then(() => {
2685
+ !this.$$cn && this.$$c && (this.$$c.$destroy(), this.$$me(), this.$$c = void 0);
2686
+ });
2687
+ }
2688
+ /**
2689
+ * @param {string} attribute_name
2690
+ */
2691
+ $$g_p(t) {
2692
+ return yt(this.$$p_d).find(
2693
+ (r) => this.$$p_d[r].attribute === t || !this.$$p_d[r].attribute && r.toLowerCase() === t
2694
+ ) || t;
2695
+ }
2696
+ });
2697
+ ri = new TextEncoder();
2698
+ b = /* @__PURE__ */ ((e) => (e.ERROR = "error", e.VERIFIED = "verified", e.VERIFYING = "verifying", e.UNVERIFIED = "unverified", e.EXPIRED = "expired", e))(b || {});
2699
+ ra = /* @__PURE__ */ No('<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" fill="currentColor" opacity=".25"></path><path d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z" fill="currentColor" class="altcha-spinner"></path></svg>');
2700
+ na = /* @__PURE__ */ ge('<span role="status" aria-live="polite"><!></span> <input type="hidden">', 1);
2701
+ ia = /* @__PURE__ */ ge('<span role="status" aria-live="polite"><!></span>');
2702
+ oa = /* @__PURE__ */ ge("<label><!></label>");
2703
+ aa = /* @__PURE__ */ ge('<div><a target="_blank" class="altcha-logo"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z" fill="currentColor"></path><path d="M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z" fill="currentColor"></path><path d="M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z" fill="currentColor"></path></svg></a></div>');
2704
+ la = /* @__PURE__ */ ge("<div><!></div>");
2705
+ sa = /* @__PURE__ */ ge("<div><!></div>");
2706
+ fa = /* @__PURE__ */ ge('<div class="altcha-error"><svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg> <!></div>');
2707
+ ua = /* @__PURE__ */ ge('<div class="altcha-footer"><div><!></div></div>');
2708
+ ca = /* @__PURE__ */ ge('<div class="altcha-anchor-arrow"></div>');
2709
+ da = /* @__PURE__ */ ge('<!> <div class="altcha"><div class="altcha-main"><!> <div><input type="checkbox"></div> <div class="altcha-label"><!></div> <!></div> <!> <!> <!></div>', 1);
2710
+ To(["change"]);
2711
+ customElements.define("altcha-widget", Zo(
2712
+ ha,
2713
+ {
2714
+ blockspam: { type: "Boolean" },
2715
+ debug: { type: "Boolean" },
2716
+ delay: { type: "Number" },
2717
+ expire: { type: "Number" },
2718
+ floatingoffset: { type: "Number" },
2719
+ hidefooter: { type: "Boolean" },
2720
+ hidelogo: { type: "Boolean" },
2721
+ maxnumber: { type: "Number" },
2722
+ mockerror: { type: "Boolean" },
2723
+ refetchonexpire: { type: "Boolean" },
2724
+ test: { type: "Boolean" },
2725
+ workers: { type: "Number" },
2726
+ auto: {},
2727
+ challengeurl: {},
2728
+ challengejson: {},
2729
+ customfetch: {},
2730
+ floating: {},
2731
+ floatinganchor: {},
2732
+ floatingpersist: {},
2733
+ id: {},
2734
+ name: {},
2735
+ obfuscated: {},
2736
+ plugins: {},
2737
+ spamfilter: {},
2738
+ strings: {},
2739
+ verifyurl: {},
2740
+ workerurl: {}
2741
+ },
2742
+ ["default"],
2743
+ [
2744
+ "clarify",
2745
+ "configure",
2746
+ "getConfiguration",
2747
+ "getFloatingAnchor",
2748
+ "getPlugin",
2749
+ "getState",
2750
+ "hide",
2751
+ "repositionFloating",
2752
+ "reset",
2753
+ "setFloatingAnchor",
2754
+ "setState",
2755
+ "show",
2756
+ "verify"
2757
+ ],
2758
+ false
2759
+ ));
2760
+ va = '@keyframes altcha-spinner{to{transform:rotate(360deg)}}.altcha{background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative;text-align:left}.altcha:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top] .altcha-anchor-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom]:focus-within::after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top]:focus-within::after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]:not([data-state=unverified]){display:block}.altcha-anchor-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:"";height:0;left:12px;position:absolute;top:-12px;width:0}.altcha-main{align-items:center;display:flex;gap:.4rem;padding:.7rem}.altcha-label{flex-grow:1}.altcha-label label{cursor:pointer}.altcha-logo{color:currentColor;opacity:.3}.altcha-footer:hover,.altcha-logo:hover{opacity:1}.altcha-error{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:.85rem;gap:.3rem;padding:0 .7rem .7rem}.altcha-footer{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:.75rem;opacity:.4;padding:.2rem .7rem;text-align:right}.altcha-footer>:first-child{flex-grow:1}.altcha-footer a{color:currentColor}.altcha-checkbox{display:flex;align-items:center;height:24px;width:24px}.altcha-checkbox input{width:18px;height:18px;margin:0}.altcha-hidden{display:none}.altcha-spinner{animation:altcha-spinner .75s infinite linear;transform-origin:center}';
2761
+ globalThis.altchaCreateWorker = (e) => e ? new Worker(new URL(e)) : new Si();
2762
+ globalThis.altchaPlugins = globalThis.altchaPlugins || [];
2763
+ ga(va);
2764
+ }
2765
+ });
2766
+
2
2767
  // ../blocks/src/system/runtime/utils/api-url.ts
3
2768
  function resolveMultiEnvDashboardUrl() {
4
2769
  const env = process.env.RIVERBANK_ENV;
@@ -33,8 +2798,88 @@ function getCmsApiUrl() {
33
2798
  );
34
2799
  }
35
2800
 
2801
+ // ../altcha/dist/client.mjs
2802
+ import { useEffect, useRef, useState } from "react";
2803
+ function AltchaWidget({
2804
+ challengeUrl,
2805
+ onSolutionChange,
2806
+ auto = true,
2807
+ hidelogo = false,
2808
+ className
2809
+ }) {
2810
+ const containerRef = useRef(null);
2811
+ const [isLoaded, setIsLoaded] = useState(false);
2812
+ useEffect(() => {
2813
+ if (typeof window === "undefined") return;
2814
+ let widget = null;
2815
+ Promise.resolve().then(() => (init_altcha(), altcha_exports)).then(() => {
2816
+ if (!containerRef.current) return;
2817
+ widget = document.createElement("altcha-widget");
2818
+ widget.setAttribute("challengeurl", challengeUrl);
2819
+ if (auto) {
2820
+ widget.setAttribute("auto", "onload");
2821
+ }
2822
+ if (hidelogo) {
2823
+ widget.setAttribute("hidelogo", "true");
2824
+ }
2825
+ widget.setAttribute("hidefooter", "true");
2826
+ if (className) {
2827
+ widget.className = className;
2828
+ }
2829
+ widget.addEventListener("statechange", ((event) => {
2830
+ const { state, payload } = event.detail;
2831
+ if (state === "verified" && payload) {
2832
+ onSolutionChange?.(payload);
2833
+ } else if (state === "error" || state === "expired") {
2834
+ onSolutionChange?.(null);
2835
+ }
2836
+ }));
2837
+ containerRef.current.appendChild(widget);
2838
+ setIsLoaded(true);
2839
+ }).catch((err) => {
2840
+ console.error("Failed to load ALTCHA widget:", err);
2841
+ });
2842
+ return () => {
2843
+ if (widget && containerRef.current) {
2844
+ containerRef.current.removeChild(widget);
2845
+ }
2846
+ };
2847
+ }, [challengeUrl, auto, hidelogo, className, onSolutionChange]);
2848
+ return /* @__PURE__ */ React.createElement("div", { ref: containerRef });
2849
+ }
2850
+ function isSpamProtectionEnabled() {
2851
+ return process.env.NEXT_PUBLIC_SPAM_PROTECTION_ENABLED === "true";
2852
+ }
2853
+
2854
+ // ../../node_modules/.pnpm/altcha-lib@1.4.1/node_modules/altcha-lib/dist/helpers.js
2855
+ var encoder = new TextEncoder();
2856
+
2857
+ // ../altcha/dist/index.mjs
2858
+ function getCmsApiUrl2() {
2859
+ const env = process.env.RIVERBANK_ENV;
2860
+ if (env) {
2861
+ const envKey = `RIVERBANK_${env.toUpperCase()}_DASHBOARD_URL`;
2862
+ const dashboardUrl2 = process.env[envKey];
2863
+ if (dashboardUrl2) {
2864
+ return `${dashboardUrl2.replace(/\/$/, "")}/api`;
2865
+ }
2866
+ }
2867
+ const dashboardUrl = process.env.NEXT_PUBLIC_DASHBOARD_URL;
2868
+ if (dashboardUrl) {
2869
+ return `${dashboardUrl.replace(/\/$/, "")}/api`;
2870
+ }
2871
+ const legacyApiUrl = process.env.NEXT_PUBLIC_CMS_API_URL;
2872
+ if (legacyApiUrl) {
2873
+ return legacyApiUrl.replace(/\/$/, "");
2874
+ }
2875
+ throw new Error("Dashboard URL not configured. Set NEXT_PUBLIC_DASHBOARD_URL");
2876
+ }
2877
+ function getChallengeUrl() {
2878
+ return `${getCmsApiUrl2()}/public/challenge`;
2879
+ }
2880
+
36
2881
  // ../blocks/src/system/runtime/nodes/booking-form.client.tsx
37
- import React5, { useState as useState7 } from "react";
2882
+ import React6, { useState as useState8 } from "react";
38
2883
 
39
2884
  // ../blocks/src/system/runtime/components/multi-step/MultiStepForm.tsx
40
2885
  import { cloneElement, isValidElement } from "react";
@@ -57,7 +2902,7 @@ function useMultiStepData() {
57
2902
  }
58
2903
 
59
2904
  // ../blocks/src/system/runtime/components/multi-step/useMultiStep.ts
60
- import { useState, useCallback, useMemo, useEffect } from "react";
2905
+ import { useState as useState2, useCallback, useMemo, useEffect as useEffect2 } from "react";
61
2906
  function useMultiStep({
62
2907
  steps,
63
2908
  initialData = {},
@@ -66,11 +2911,11 @@ function useMultiStep({
66
2911
  onComplete,
67
2912
  persistToUrl = false
68
2913
  }) {
69
- const [data, setData] = useState(initialData);
70
- const [currentStepIndex, setCurrentStepIndex] = useState(0);
71
- const [errors, setErrors] = useState({});
72
- const [isValidating, setIsValidating] = useState(false);
73
- const [isSubmitting, setIsSubmitting] = useState(false);
2914
+ const [data, setData] = useState2(initialData);
2915
+ const [currentStepIndex, setCurrentStepIndex] = useState2(0);
2916
+ const [errors, setErrors] = useState2({});
2917
+ const [isValidating, setIsValidating] = useState2(false);
2918
+ const [isSubmitting, setIsSubmitting] = useState2(false);
74
2919
  const visibleSteps = useMemo(() => {
75
2920
  return steps.filter((step) => {
76
2921
  if (!step.condition) return true;
@@ -79,14 +2924,14 @@ function useMultiStep({
79
2924
  }, [steps, data]);
80
2925
  const currentStep = visibleSteps[currentStepIndex];
81
2926
  const currentStepId = currentStep?.id || "";
82
- useEffect(() => {
2927
+ useEffect2(() => {
83
2928
  if (persistToUrl && currentStep) {
84
2929
  const url = new URL(window.location.href);
85
2930
  url.searchParams.set("step", currentStep.id);
86
2931
  window.history.replaceState({}, "", url.toString());
87
2932
  }
88
2933
  }, [currentStepIndex, currentStep, persistToUrl]);
89
- useEffect(() => {
2934
+ useEffect2(() => {
90
2935
  if (persistToUrl) {
91
2936
  const url = new URL(window.location.href);
92
2937
  const stepId = url.searchParams.get("step");
@@ -98,7 +2943,7 @@ function useMultiStep({
98
2943
  }
99
2944
  }
100
2945
  }, []);
101
- useEffect(() => {
2946
+ useEffect2(() => {
102
2947
  if (onStepChange && currentStep) {
103
2948
  onStepChange(currentStep.id, currentStepIndex);
104
2949
  }
@@ -416,10 +3261,10 @@ var SuccessMessage = ({ message, className }) => {
416
3261
  };
417
3262
 
418
3263
  // ../blocks/src/system/runtime/hooks/useBookingSteps.ts
419
- import React4, { useMemo as useMemo3 } from "react";
3264
+ import React5, { useMemo as useMemo3 } from "react";
420
3265
 
421
3266
  // ../blocks/src/system/runtime/components/booking/ServiceResourceSelector.tsx
422
- import { useState as useState2, useEffect as useEffect2, useCallback as useCallback2 } from "react";
3267
+ import { useState as useState3, useEffect as useEffect3, useCallback as useCallback2 } from "react";
423
3268
  import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
424
3269
  function ServiceResourceSelector({
425
3270
  siteId,
@@ -431,15 +3276,15 @@ function ServiceResourceSelector({
431
3276
  heading = "Select Service",
432
3277
  description = "Choose the service you'd like to book"
433
3278
  }) {
434
- const [selectedServiceId, setSelectedServiceId] = useState2(
3279
+ const [selectedServiceId, setSelectedServiceId] = useState3(
435
3280
  preSelectedServiceId
436
3281
  );
437
- const [selectedResourceId, setSelectedResourceId] = useState2(
3282
+ const [selectedResourceId, setSelectedResourceId] = useState3(
438
3283
  preSelectedResourceId
439
3284
  );
440
- const [resources, setResources] = useState2([]);
441
- const [isLoadingResources, setIsLoadingResources] = useState2(false);
442
- const [resourceError, setResourceError] = useState2(null);
3285
+ const [resources, setResources] = useState3([]);
3286
+ const [isLoadingResources, setIsLoadingResources] = useState3(false);
3287
+ const [resourceError, setResourceError] = useState3(null);
443
3288
  const showServiceSelect = !preSelectedServiceId && services.length > 1;
444
3289
  const showResourceSelect = resources.length > 1 && !preSelectedResourceId;
445
3290
  const handleServiceChange = useCallback2(async (serviceId) => {
@@ -478,7 +3323,7 @@ function ServiceResourceSelector({
478
3323
  }
479
3324
  };
480
3325
  const canContinue = selectedServiceId && !isLoadingResources;
481
- useEffect2(() => {
3326
+ useEffect3(() => {
482
3327
  if (services.length === 1 && services[0] && !selectedServiceId) {
483
3328
  handleServiceChange(services[0].id);
484
3329
  }
@@ -636,7 +3481,7 @@ function ServiceSelectionStep({
636
3481
  }
637
3482
 
638
3483
  // ../blocks/src/system/runtime/components/booking/DateTimeSelectionStep.tsx
639
- import { useEffect as useEffect5, useMemo as useMemo2 } from "react";
3484
+ import { useEffect as useEffect6, useMemo as useMemo2 } from "react";
640
3485
 
641
3486
  // ../blocks/src/utils/date-formatting.ts
642
3487
  var BOOKING_FETCH_CHUNK_DAYS = 30;
@@ -763,7 +3608,7 @@ var TimeSlotSelector = ({
763
3608
  };
764
3609
 
765
3610
  // ../blocks/src/system/runtime/hooks/useAvailableSlots.ts
766
- import { useState as useState3, useEffect as useEffect3 } from "react";
3611
+ import { useState as useState4, useEffect as useEffect4 } from "react";
767
3612
  function useAvailableSlots({
768
3613
  siteId,
769
3614
  serviceId,
@@ -771,10 +3616,10 @@ function useAvailableSlots({
771
3616
  selectedDate,
772
3617
  timezone
773
3618
  }) {
774
- const [slots, setSlots] = useState3([]);
775
- const [isLoading, setIsLoading] = useState3(false);
776
- const [error, setError] = useState3(null);
777
- useEffect3(() => {
3619
+ const [slots, setSlots] = useState4([]);
3620
+ const [isLoading, setIsLoading] = useState4(false);
3621
+ const [error, setError] = useState4(null);
3622
+ useEffect4(() => {
778
3623
  if (!selectedDate || !serviceId) {
779
3624
  setSlots([]);
780
3625
  return;
@@ -819,7 +3664,7 @@ function useAvailableSlots({
819
3664
  }
820
3665
 
821
3666
  // ../blocks/src/system/runtime/hooks/useAvailableDates.ts
822
- import { useState as useState4, useEffect as useEffect4, useCallback as useCallback3, useRef } from "react";
3667
+ import { useState as useState5, useEffect as useEffect5, useCallback as useCallback3, useRef as useRef2 } from "react";
823
3668
  function useAvailableDates({
824
3669
  siteId,
825
3670
  serviceId,
@@ -827,13 +3672,13 @@ function useAvailableDates({
827
3672
  timezone = "UTC",
828
3673
  initialDays = 30
829
3674
  }) {
830
- const [availableDates, setAvailableDates] = useState4(/* @__PURE__ */ new Set());
831
- const [isLoading, setIsLoading] = useState4(false);
832
- const [error, setError] = useState4(null);
833
- const [hasMore, setHasMore] = useState4(false);
834
- const [loadedRange, setLoadedRange] = useState4(null);
835
- const nextStartDateRef = useRef(null);
836
- const requestIdRef = useRef(0);
3675
+ const [availableDates, setAvailableDates] = useState5(/* @__PURE__ */ new Set());
3676
+ const [isLoading, setIsLoading] = useState5(false);
3677
+ const [error, setError] = useState5(null);
3678
+ const [hasMore, setHasMore] = useState5(false);
3679
+ const [loadedRange, setLoadedRange] = useState5(null);
3680
+ const nextStartDateRef = useRef2(null);
3681
+ const requestIdRef = useRef2(0);
837
3682
  const fetchDates = useCallback3(
838
3683
  async (startDate, endDate, append = false) => {
839
3684
  if (!serviceId) {
@@ -895,7 +3740,7 @@ function useAvailableDates({
895
3740
  },
896
3741
  [siteId, serviceId, resourceId, timezone]
897
3742
  );
898
- useEffect4(() => {
3743
+ useEffect5(() => {
899
3744
  if (!serviceId) {
900
3745
  setAvailableDates(/* @__PURE__ */ new Set());
901
3746
  setLoadedRange(null);
@@ -936,7 +3781,7 @@ function DateTimeSelectionStep({
936
3781
  const resourceId = data.resourceId || preSelectedResourceId;
937
3782
  const selectedDate = data.selectedDate || "";
938
3783
  const selectedSlot = data.selectedSlot || "";
939
- useEffect5(() => {
3784
+ useEffect6(() => {
940
3785
  if (preSelectedServiceId && !data.serviceId) {
941
3786
  updateData({ serviceId: preSelectedServiceId });
942
3787
  }
@@ -1010,7 +3855,7 @@ function DateTimeSelectionStep({
1010
3855
  }
1011
3856
 
1012
3857
  // ../blocks/src/system/runtime/components/multi-step/DynamicFormFields.tsx
1013
- import { useState as useState5, useCallback as useCallback4 } from "react";
3858
+ import { useState as useState6, useCallback as useCallback4 } from "react";
1014
3859
  import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
1015
3860
  function DynamicFormFields({
1016
3861
  fields,
@@ -1018,7 +3863,7 @@ function DynamicFormFields({
1018
3863
  className = ""
1019
3864
  }) {
1020
3865
  const { data, updateData } = useMultiStepData();
1021
- const [touched, setTouched] = useState5({});
3866
+ const [touched, setTouched] = useState6({});
1022
3867
  const handleChange = useCallback4(
1023
3868
  (fieldId, value) => {
1024
3869
  updateData({ [fieldId]: value });
@@ -1335,7 +4180,7 @@ function useBookingSteps(siteId, formConfig, services) {
1335
4180
  stepsArray.push({
1336
4181
  id: "service-selection",
1337
4182
  title: "Select Service",
1338
- component: React4.createElement(ServiceSelectionStep, { siteId, services }),
4183
+ component: React5.createElement(ServiceSelectionStep, { siteId, services }),
1339
4184
  condition: () => needsServiceSelection,
1340
4185
  validate: (data) => {
1341
4186
  if (!data.serviceId) {
@@ -1349,7 +4194,7 @@ function useBookingSteps(siteId, formConfig, services) {
1349
4194
  stepsArray.push({
1350
4195
  id: "datetime-selection",
1351
4196
  title: "Select Date & Time",
1352
- component: React4.createElement(DateTimeSelectionStep, {
4197
+ component: React5.createElement(DateTimeSelectionStep, {
1353
4198
  siteId,
1354
4199
  preSelectedServiceId: effectiveServiceId,
1355
4200
  preSelectedResourceId: formConfig.settings?.resourceId,
@@ -1366,7 +4211,7 @@ function useBookingSteps(siteId, formConfig, services) {
1366
4211
  stepsArray.push({
1367
4212
  id: "custom-fields",
1368
4213
  title: "Your Information",
1369
- component: React4.createElement(DynamicFormFields, { fields: formConfig.schema.fields }),
4214
+ component: React5.createElement(DynamicFormFields, { fields: formConfig.schema.fields }),
1370
4215
  validate: (data) => {
1371
4216
  const errors = {};
1372
4217
  for (const field of formConfig.schema.fields) {
@@ -1386,11 +4231,11 @@ function useBookingSteps(siteId, formConfig, services) {
1386
4231
  }
1387
4232
 
1388
4233
  // ../blocks/src/system/runtime/hooks/useBookingSubmission.ts
1389
- import { useState as useState6 } from "react";
4234
+ import { useState as useState7 } from "react";
1390
4235
  function useBookingSubmission(_siteId) {
1391
- const [isSubmitting, setIsSubmitting] = useState6(false);
1392
- const [error, setError] = useState6(null);
1393
- const [isSuccess, setIsSuccess] = useState6(false);
4236
+ const [isSubmitting, setIsSubmitting] = useState7(false);
4237
+ const [error, setError] = useState7(null);
4238
+ const [isSuccess, setIsSuccess] = useState7(false);
1394
4239
  const submit = async (data) => {
1395
4240
  setIsSubmitting(true);
1396
4241
  setError(null);
@@ -1408,7 +4253,8 @@ function useBookingSubmission(_siteId) {
1408
4253
  startAt: data.startAt,
1409
4254
  endAt: data.endAt,
1410
4255
  customFields: data.customFields,
1411
- timezone: data.timezone
4256
+ timezone: data.timezone,
4257
+ altchaSolution: data.altchaSolution ?? null
1412
4258
  })
1413
4259
  });
1414
4260
  if (!response.ok) {
@@ -1427,17 +4273,20 @@ function useBookingSubmission(_siteId) {
1427
4273
  }
1428
4274
 
1429
4275
  // ../blocks/src/system/runtime/nodes/booking-form.client.tsx
1430
- import { jsx as jsx9 } from "react/jsx-runtime";
4276
+ import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
1431
4277
  var BookingFormClient = ({
1432
4278
  siteId: siteIdProp,
1433
4279
  formId,
1434
4280
  className,
1435
4281
  form,
1436
- services = []
4282
+ services = [],
4283
+ spamProtectionEnabled
1437
4284
  }) => {
1438
- const [isSuccess, setIsSuccess] = useState7(false);
4285
+ const [isSuccess, setIsSuccess] = useState8(false);
4286
+ const [altchaSolution, setAltchaSolution] = useState8(null);
4287
+ const showSpamProtection = spamProtectionEnabled ?? isSpamProtectionEnabled();
1439
4288
  const siteId = siteIdProp || form?.siteId || "";
1440
- React5.useEffect(() => {
4289
+ React6.useEffect(() => {
1441
4290
  if (!siteId) {
1442
4291
  console.error("[BookingFormClient] ERROR: siteId is missing!");
1443
4292
  }
@@ -1460,7 +4309,7 @@ var BookingFormClient = ({
1460
4309
  settings: form.settingsJson,
1461
4310
  schema: form.schemaJson
1462
4311
  } : null;
1463
- const normalizedServices = React5.useMemo(() => {
4312
+ const normalizedServices = React6.useMemo(() => {
1464
4313
  if (Array.isArray(services)) {
1465
4314
  return services;
1466
4315
  }
@@ -1514,8 +4363,9 @@ var BookingFormClient = ({
1514
4363
  startAt: data.selectedSlot,
1515
4364
  endAt: endDate.toISOString(),
1516
4365
  customFields,
1517
- timezone: "UTC"
4366
+ timezone: "UTC",
1518
4367
  // TODO: Get from resource or user preference
4368
+ altchaSolution
1519
4369
  });
1520
4370
  setIsSuccess(true);
1521
4371
  } catch (err) {
@@ -1527,31 +4377,40 @@ var BookingFormClient = ({
1527
4377
  const successMessage = formConfig?.settings?.successMessage || "Your appointment has been booked! Check your email for confirmation.";
1528
4378
  return /* @__PURE__ */ jsx9(SuccessMessage, { message: successMessage, className });
1529
4379
  }
1530
- return /* @__PURE__ */ jsx9("div", { className, children: /* @__PURE__ */ jsx9(
1531
- MultiStepForm,
1532
- {
1533
- steps,
1534
- initialData: {
1535
- serviceId: formConfig?.settings?.serviceId,
1536
- resourceId: formConfig?.settings?.resourceId
1537
- },
1538
- onComplete: handleComplete,
1539
- progressStyle: "steps",
1540
- persistToUrl: false,
1541
- allowSkip: false
1542
- }
1543
- ) });
4380
+ return /* @__PURE__ */ jsxs7("div", { className, children: [
4381
+ /* @__PURE__ */ jsx9(
4382
+ MultiStepForm,
4383
+ {
4384
+ steps,
4385
+ initialData: {
4386
+ serviceId: formConfig?.settings?.serviceId,
4387
+ resourceId: formConfig?.settings?.resourceId
4388
+ },
4389
+ onComplete: handleComplete,
4390
+ progressStyle: "steps",
4391
+ persistToUrl: false,
4392
+ allowSkip: false
4393
+ }
4394
+ ),
4395
+ showSpamProtection && /* @__PURE__ */ jsx9("div", { className: "mt-4", children: /* @__PURE__ */ jsx9(
4396
+ AltchaWidget,
4397
+ {
4398
+ challengeUrl: getChallengeUrl(),
4399
+ onSolutionChange: setAltchaSolution
4400
+ }
4401
+ ) })
4402
+ ] });
1544
4403
  };
1545
4404
 
1546
4405
  // ../blocks/src/system/runtime/hooks/useBookingFormConfig.ts
1547
- import { useState as useState8, useEffect as useEffect6 } from "react";
4406
+ import { useState as useState9, useEffect as useEffect7 } from "react";
1548
4407
  var UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1549
4408
  function useBookingFormConfig(siteId, formId) {
1550
- const [formConfig, setFormConfig] = useState8(null);
1551
- const [services, setServices] = useState8([]);
1552
- const [isLoading, setIsLoading] = useState8(true);
1553
- const [error, setError] = useState8(null);
1554
- useEffect6(() => {
4409
+ const [formConfig, setFormConfig] = useState9(null);
4410
+ const [services, setServices] = useState9([]);
4411
+ const [isLoading, setIsLoading] = useState9(true);
4412
+ const [error, setError] = useState9(null);
4413
+ useEffect7(() => {
1555
4414
  let mounted = true;
1556
4415
  async function loadFormAndServices() {
1557
4416
  try {