altcha 2.3.0 → 3.0.0-beta.2

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 (497) hide show
  1. package/LICENSE.txt +1 -1
  2. package/README.md +201 -204
  3. package/dist/external/altcha.css +1 -0
  4. package/dist/external/altcha.js +6825 -0
  5. package/dist/external/altcha.min.js +1 -0
  6. package/dist/external/altcha.umd.cjs +6831 -0
  7. package/dist/external/altcha.umd.min.cjs +1 -0
  8. package/dist/external/index.d.ts +1 -0
  9. package/dist/i18n/419.d.ts +1 -0
  10. package/dist/i18n/af.d.ts +1 -0
  11. package/dist/i18n/af.js +22 -0
  12. package/dist/i18n/af.umd.cjs +27 -0
  13. package/dist/i18n/africa.d.ts +1 -0
  14. package/{dist_i18n → dist/i18n}/africa.js +52 -97
  15. package/dist/i18n/africa.umd.cjs +159 -0
  16. package/dist/i18n/all.d.ts +1 -0
  17. package/{dist_i18n → dist/i18n}/all.js +487 -299
  18. package/dist/i18n/all.umd.cjs +1347 -0
  19. package/dist/i18n/am.d.ts +1 -0
  20. package/dist/i18n/am.js +22 -0
  21. package/dist/i18n/am.umd.cjs +27 -0
  22. package/dist/i18n/americas.d.ts +1 -0
  23. package/{dist_i18n → dist/i18n}/americas.js +24 -85
  24. package/dist/i18n/americas.umd.cjs +71 -0
  25. package/dist/i18n/ar.d.ts +1 -0
  26. package/dist/i18n/ar.js +22 -0
  27. package/dist/i18n/ar.umd.cjs +27 -0
  28. package/dist/i18n/asia.d.ts +1 -0
  29. package/{dist_i18n → dist/i18n}/asia.js +199 -158
  30. package/dist/i18n/asia.umd.cjs +533 -0
  31. package/dist/i18n/az.d.ts +1 -0
  32. package/dist/i18n/az.js +22 -0
  33. package/dist/i18n/az.umd.cjs +27 -0
  34. package/dist/i18n/be.d.ts +1 -0
  35. package/dist/i18n/be.js +22 -0
  36. package/dist/i18n/be.umd.cjs +27 -0
  37. package/dist/i18n/bg.d.ts +1 -0
  38. package/dist/i18n/bg.js +22 -0
  39. package/dist/i18n/bg.umd.cjs +27 -0
  40. package/dist/i18n/bn.d.ts +1 -0
  41. package/dist/i18n/bn.js +22 -0
  42. package/dist/i18n/bn.umd.cjs +27 -0
  43. package/dist/i18n/br.d.ts +1 -0
  44. package/dist/i18n/bs.d.ts +1 -0
  45. package/dist/i18n/bs.js +22 -0
  46. package/dist/i18n/bs.umd.cjs +27 -0
  47. package/dist/i18n/ca.d.ts +1 -0
  48. package/dist/i18n/ca.js +22 -0
  49. package/dist/i18n/ca.umd.cjs +27 -0
  50. package/dist/i18n/cn.d.ts +1 -0
  51. package/dist/i18n/cs.d.ts +1 -0
  52. package/dist/i18n/cs.js +22 -0
  53. package/dist/i18n/cs.umd.cjs +27 -0
  54. package/dist/i18n/da.d.ts +1 -0
  55. package/dist/i18n/da.js +22 -0
  56. package/dist/i18n/da.umd.cjs +27 -0
  57. package/dist/i18n/de.d.ts +1 -0
  58. package/dist/i18n/de.js +22 -0
  59. package/dist/i18n/de.umd.cjs +27 -0
  60. package/dist/i18n/el.d.ts +1 -0
  61. package/dist/i18n/el.js +22 -0
  62. package/dist/i18n/el.umd.cjs +27 -0
  63. package/dist/i18n/en.d.ts +1 -0
  64. package/dist/i18n/en.js +22 -0
  65. package/dist/i18n/en.umd.cjs +27 -0
  66. package/dist/i18n/es-419.js +22 -0
  67. package/dist/i18n/es-419.umd.cjs +27 -0
  68. package/dist/i18n/es-es.js +22 -0
  69. package/dist/i18n/es-es.umd.cjs +27 -0
  70. package/dist/i18n/es.d.ts +1 -0
  71. package/dist/i18n/et.d.ts +1 -0
  72. package/dist/i18n/et.js +22 -0
  73. package/dist/i18n/et.umd.cjs +27 -0
  74. package/dist/i18n/eu.d.ts +1 -0
  75. package/dist/i18n/eu.js +22 -0
  76. package/dist/i18n/eu.umd.cjs +27 -0
  77. package/dist/i18n/europe.d.ts +1 -0
  78. package/{dist_i18n → dist/i18n}/europe.js +283 -209
  79. package/dist/i18n/europe.umd.cjs +819 -0
  80. package/dist/i18n/fa.d.ts +1 -0
  81. package/dist/i18n/fa.js +22 -0
  82. package/dist/i18n/fa.umd.cjs +27 -0
  83. package/dist/i18n/fi.d.ts +1 -0
  84. package/dist/i18n/fi.js +22 -0
  85. package/dist/i18n/fi.umd.cjs +27 -0
  86. package/dist/i18n/fr-ca.js +22 -0
  87. package/dist/i18n/fr-ca.umd.cjs +27 -0
  88. package/dist/i18n/fr-fr.js +22 -0
  89. package/dist/i18n/fr-fr.umd.cjs +27 -0
  90. package/dist/i18n/fr.d.ts +1 -0
  91. package/dist/i18n/ga.d.ts +1 -0
  92. package/dist/i18n/ga.js +22 -0
  93. package/dist/i18n/ga.umd.cjs +27 -0
  94. package/dist/i18n/he.d.ts +1 -0
  95. package/dist/i18n/he.js +22 -0
  96. package/dist/i18n/he.umd.cjs +27 -0
  97. package/dist/i18n/hi.d.ts +1 -0
  98. package/dist/i18n/hi.js +22 -0
  99. package/dist/i18n/hi.umd.cjs +27 -0
  100. package/dist/i18n/hk.d.ts +1 -0
  101. package/dist/i18n/hr.d.ts +1 -0
  102. package/dist/i18n/hr.js +22 -0
  103. package/dist/i18n/hr.umd.cjs +27 -0
  104. package/dist/i18n/hu.d.ts +1 -0
  105. package/dist/i18n/hu.js +22 -0
  106. package/dist/i18n/hu.umd.cjs +27 -0
  107. package/dist/i18n/hy.d.ts +1 -0
  108. package/dist/i18n/hy.js +22 -0
  109. package/dist/i18n/hy.umd.cjs +27 -0
  110. package/dist/i18n/id.d.ts +1 -0
  111. package/dist/i18n/id.js +22 -0
  112. package/dist/i18n/id.umd.cjs +27 -0
  113. package/dist/i18n/is.d.ts +1 -0
  114. package/dist/i18n/is.js +22 -0
  115. package/dist/i18n/is.umd.cjs +27 -0
  116. package/dist/i18n/it.d.ts +1 -0
  117. package/dist/i18n/it.js +22 -0
  118. package/dist/i18n/it.umd.cjs +27 -0
  119. package/dist/i18n/ja.d.ts +1 -0
  120. package/dist/i18n/ja.js +22 -0
  121. package/dist/i18n/ja.umd.cjs +27 -0
  122. package/dist/i18n/ka.d.ts +1 -0
  123. package/dist/i18n/ka.js +22 -0
  124. package/dist/i18n/ka.umd.cjs +27 -0
  125. package/dist/i18n/kk.d.ts +1 -0
  126. package/dist/i18n/kk.js +22 -0
  127. package/dist/i18n/kk.umd.cjs +27 -0
  128. package/dist/i18n/ko.d.ts +1 -0
  129. package/dist/i18n/ko.js +22 -0
  130. package/dist/i18n/ko.umd.cjs +27 -0
  131. package/dist/i18n/lb.d.ts +1 -0
  132. package/dist/i18n/lb.js +22 -0
  133. package/dist/i18n/lb.umd.cjs +27 -0
  134. package/dist/i18n/lt.d.ts +1 -0
  135. package/dist/i18n/lt.js +22 -0
  136. package/dist/i18n/lt.umd.cjs +27 -0
  137. package/dist/i18n/lv.d.ts +1 -0
  138. package/dist/i18n/lv.js +22 -0
  139. package/dist/i18n/lv.umd.cjs +27 -0
  140. package/dist/i18n/me.d.ts +1 -0
  141. package/dist/i18n/me.js +22 -0
  142. package/dist/i18n/me.umd.cjs +27 -0
  143. package/dist/i18n/mk.d.ts +1 -0
  144. package/dist/i18n/mk.js +22 -0
  145. package/dist/i18n/mk.umd.cjs +27 -0
  146. package/dist/i18n/mr.d.ts +1 -0
  147. package/dist/i18n/mr.js +22 -0
  148. package/dist/i18n/mr.umd.cjs +27 -0
  149. package/dist/i18n/mt.d.ts +1 -0
  150. package/dist/i18n/mt.js +22 -0
  151. package/dist/i18n/mt.umd.cjs +27 -0
  152. package/dist/i18n/nb.d.ts +1 -0
  153. package/dist/i18n/nb.js +22 -0
  154. package/dist/i18n/nb.umd.cjs +27 -0
  155. package/dist/i18n/nl.d.ts +1 -0
  156. package/dist/i18n/nl.js +22 -0
  157. package/dist/i18n/nl.umd.cjs +27 -0
  158. package/dist/i18n/pl.d.ts +1 -0
  159. package/dist/i18n/pl.js +22 -0
  160. package/dist/i18n/pl.umd.cjs +27 -0
  161. package/dist/i18n/pt-br.js +22 -0
  162. package/dist/i18n/pt-br.umd.cjs +27 -0
  163. package/dist/i18n/pt-pt.js +22 -0
  164. package/dist/i18n/pt-pt.umd.cjs +27 -0
  165. package/dist/i18n/pt.d.ts +1 -0
  166. package/dist/i18n/ro.d.ts +1 -0
  167. package/dist/i18n/ro.js +22 -0
  168. package/dist/i18n/ro.umd.cjs +27 -0
  169. package/dist/i18n/ru.d.ts +1 -0
  170. package/dist/i18n/ru.js +22 -0
  171. package/dist/i18n/ru.umd.cjs +27 -0
  172. package/dist/i18n/sk.d.ts +1 -0
  173. package/dist/i18n/sk.js +22 -0
  174. package/dist/i18n/sk.umd.cjs +27 -0
  175. package/dist/i18n/sl.d.ts +1 -0
  176. package/dist/i18n/sl.js +22 -0
  177. package/dist/i18n/sl.umd.cjs +27 -0
  178. package/dist/i18n/sq.d.ts +1 -0
  179. package/dist/i18n/sq.js +22 -0
  180. package/dist/i18n/sq.umd.cjs +27 -0
  181. package/dist/i18n/sr.d.ts +1 -0
  182. package/dist/i18n/sr.js +22 -0
  183. package/dist/i18n/sr.umd.cjs +27 -0
  184. package/dist/i18n/sv.d.ts +1 -0
  185. package/dist/i18n/sv.js +22 -0
  186. package/dist/i18n/sv.umd.cjs +27 -0
  187. package/dist/i18n/sw.d.ts +1 -0
  188. package/dist/i18n/sw.js +22 -0
  189. package/dist/i18n/sw.umd.cjs +27 -0
  190. package/dist/i18n/ta.d.ts +1 -0
  191. package/dist/i18n/ta.js +22 -0
  192. package/dist/i18n/ta.umd.cjs +27 -0
  193. package/dist/i18n/te.d.ts +1 -0
  194. package/dist/i18n/te.js +22 -0
  195. package/dist/i18n/te.umd.cjs +27 -0
  196. package/dist/i18n/th.d.ts +1 -0
  197. package/dist/i18n/th.js +22 -0
  198. package/dist/i18n/th.umd.cjs +27 -0
  199. package/dist/i18n/tk.d.ts +1 -0
  200. package/dist/i18n/tk.js +22 -0
  201. package/dist/i18n/tk.umd.cjs +27 -0
  202. package/dist/i18n/tr.d.ts +1 -0
  203. package/dist/i18n/tr.js +22 -0
  204. package/dist/i18n/tr.umd.cjs +27 -0
  205. package/dist/i18n/tw.d.ts +1 -0
  206. package/dist/i18n/uk.d.ts +1 -0
  207. package/dist/i18n/uk.js +22 -0
  208. package/dist/i18n/uk.umd.cjs +27 -0
  209. package/dist/i18n/ur.d.ts +1 -0
  210. package/dist/i18n/ur.js +22 -0
  211. package/dist/i18n/ur.umd.cjs +27 -0
  212. package/dist/i18n/uz.d.ts +1 -0
  213. package/dist/i18n/uz.js +22 -0
  214. package/dist/i18n/uz.umd.cjs +27 -0
  215. package/dist/i18n/vi.d.ts +1 -0
  216. package/dist/i18n/vi.js +22 -0
  217. package/dist/i18n/vi.umd.cjs +27 -0
  218. package/dist/i18n/yo.d.ts +1 -0
  219. package/dist/i18n/yo.js +22 -0
  220. package/dist/i18n/yo.umd.cjs +27 -0
  221. package/dist/i18n/zh-cn.js +22 -0
  222. package/dist/i18n/zh-cn.umd.cjs +27 -0
  223. package/dist/i18n/zh-hk.js +22 -0
  224. package/dist/i18n/zh-hk.umd.cjs +27 -0
  225. package/dist/i18n/zh-tw.js +22 -0
  226. package/dist/i18n/zh-tw.umd.cjs +27 -0
  227. package/dist/lib/index.d.ts +468 -0
  228. package/dist/lib/index.js +1416 -0
  229. package/dist/lib/index.min.js +1 -0
  230. package/dist/lib/index.umd.cjs +1420 -0
  231. package/dist/lib/index.umd.min.cjs +1 -0
  232. package/dist/main/altcha.i18n.js +8565 -0
  233. package/dist/main/altcha.i18n.min.js +1 -0
  234. package/dist/main/altcha.i18n.umd.cjs +8568 -0
  235. package/dist/main/altcha.i18n.umd.min.cjs +1 -0
  236. package/dist/main/altcha.js +7223 -0
  237. package/dist/main/altcha.min.js +1 -0
  238. package/dist/main/altcha.umd.cjs +7226 -0
  239. package/dist/main/altcha.umd.min.cjs +1 -0
  240. package/dist/plugins/obfuscation.plugin.d.ts +1 -0
  241. package/dist/plugins/obfuscation.plugin.js +320 -0
  242. package/dist/plugins/obfuscation.plugin.min.js +1 -0
  243. package/dist/plugins/obfuscation.plugin.umd.cjs +325 -0
  244. package/dist/plugins/obfuscation.plugin.umd.min.cjs +1 -0
  245. package/dist/themes/aqua.css +19 -0
  246. package/dist/themes/aqua.min.css +1 -0
  247. package/dist/themes/business.css +15 -0
  248. package/dist/themes/business.min.css +1 -0
  249. package/dist/themes/caramel.css +19 -0
  250. package/dist/themes/caramel.min.css +1 -0
  251. package/dist/themes/cupcake.css +16 -0
  252. package/dist/themes/cupcake.min.css +1 -0
  253. package/dist/themes/cyberpunk.css +24 -0
  254. package/dist/themes/cyberpunk.min.css +1 -0
  255. package/dist/themes/lime.css +14 -0
  256. package/dist/themes/lime.min.css +1 -0
  257. package/dist/themes/wireframe.css +17 -0
  258. package/dist/themes/wireframe.min.css +1 -0
  259. package/dist/types/generic.d.ts +25 -0
  260. package/dist/types/generic.js +1 -0
  261. package/dist/types/global.d.ts +5 -0
  262. package/dist/types/global.js +1 -0
  263. package/dist/types/index.d.ts +397 -0
  264. package/dist/types/index.js +23 -0
  265. package/dist/types/jsx.d.ts +13 -0
  266. package/dist/types/jsx.js +1 -0
  267. package/dist/types/react.d.ts +35 -0
  268. package/dist/types/react.js +1 -0
  269. package/dist/types/svelte.d.ts +26 -0
  270. package/dist/types/svelte.js +1 -0
  271. package/dist/workers/argon2id.js +786 -0
  272. package/dist/workers/pbkdf2.js +176 -0
  273. package/dist/workers/scrypt.js +739 -0
  274. package/dist/workers/sha.js +160 -0
  275. package/package.json +146 -112
  276. package/dist/altcha.d.ts +0 -183
  277. package/dist/altcha.i18n.d.ts +0 -183
  278. package/dist/altcha.i18n.js +0 -4182
  279. package/dist/altcha.i18n.umd.js +0 -4
  280. package/dist/altcha.js +0 -3105
  281. package/dist/altcha.umd.cjs +0 -4
  282. package/dist_external/altcha.css +0 -1
  283. package/dist_external/altcha.d.ts +0 -183
  284. package/dist_external/altcha.js +0 -3075
  285. package/dist_external/altcha.umd.cjs +0 -3
  286. package/dist_external/worker.js +0 -1
  287. package/dist_i18n/af.d.ts +0 -1
  288. package/dist_i18n/af.js +0 -94
  289. package/dist_i18n/af.umd.cjs +0 -1
  290. package/dist_i18n/africa.d.ts +0 -1
  291. package/dist_i18n/africa.umd.cjs +0 -1
  292. package/dist_i18n/all.d.ts +0 -1
  293. package/dist_i18n/all.umd.cjs +0 -1
  294. package/dist_i18n/am.d.ts +0 -1
  295. package/dist_i18n/am.js +0 -94
  296. package/dist_i18n/am.umd.cjs +0 -1
  297. package/dist_i18n/americas.d.ts +0 -1
  298. package/dist_i18n/americas.umd.cjs +0 -1
  299. package/dist_i18n/ar.d.ts +0 -1
  300. package/dist_i18n/ar.js +0 -94
  301. package/dist_i18n/ar.umd.cjs +0 -1
  302. package/dist_i18n/asia.d.ts +0 -1
  303. package/dist_i18n/asia.umd.cjs +0 -1
  304. package/dist_i18n/az.d.ts +0 -1
  305. package/dist_i18n/az.js +0 -94
  306. package/dist_i18n/az.umd.cjs +0 -1
  307. package/dist_i18n/be.d.ts +0 -1
  308. package/dist_i18n/be.js +0 -94
  309. package/dist_i18n/be.umd.cjs +0 -1
  310. package/dist_i18n/bg.d.ts +0 -1
  311. package/dist_i18n/bg.js +0 -94
  312. package/dist_i18n/bg.umd.cjs +0 -1
  313. package/dist_i18n/bn.d.ts +0 -1
  314. package/dist_i18n/bn.js +0 -94
  315. package/dist_i18n/bn.umd.cjs +0 -1
  316. package/dist_i18n/bs.d.ts +0 -1
  317. package/dist_i18n/bs.js +0 -94
  318. package/dist_i18n/bs.umd.cjs +0 -1
  319. package/dist_i18n/ca.d.ts +0 -1
  320. package/dist_i18n/ca.js +0 -94
  321. package/dist_i18n/ca.umd.cjs +0 -1
  322. package/dist_i18n/cs.d.ts +0 -1
  323. package/dist_i18n/cs.js +0 -94
  324. package/dist_i18n/cs.umd.cjs +0 -1
  325. package/dist_i18n/da.d.ts +0 -1
  326. package/dist_i18n/da.js +0 -94
  327. package/dist_i18n/da.umd.cjs +0 -1
  328. package/dist_i18n/de.d.ts +0 -1
  329. package/dist_i18n/de.js +0 -94
  330. package/dist_i18n/de.umd.cjs +0 -1
  331. package/dist_i18n/el.d.ts +0 -1
  332. package/dist_i18n/el.js +0 -94
  333. package/dist_i18n/el.umd.cjs +0 -1
  334. package/dist_i18n/en.d.ts +0 -1
  335. package/dist_i18n/en.js +0 -94
  336. package/dist_i18n/en.umd.cjs +0 -1
  337. package/dist_i18n/es-419.d.ts +0 -1
  338. package/dist_i18n/es-419.js +0 -94
  339. package/dist_i18n/es-419.umd.cjs +0 -1
  340. package/dist_i18n/es-es.d.ts +0 -1
  341. package/dist_i18n/es-es.js +0 -94
  342. package/dist_i18n/es-es.umd.cjs +0 -1
  343. package/dist_i18n/et.d.ts +0 -1
  344. package/dist_i18n/et.js +0 -94
  345. package/dist_i18n/et.umd.cjs +0 -1
  346. package/dist_i18n/eu.d.ts +0 -1
  347. package/dist_i18n/eu.js +0 -94
  348. package/dist_i18n/eu.umd.cjs +0 -1
  349. package/dist_i18n/europe.d.ts +0 -1
  350. package/dist_i18n/europe.umd.cjs +0 -1
  351. package/dist_i18n/fa.d.ts +0 -1
  352. package/dist_i18n/fa.js +0 -94
  353. package/dist_i18n/fa.umd.cjs +0 -1
  354. package/dist_i18n/fi.d.ts +0 -1
  355. package/dist_i18n/fi.js +0 -94
  356. package/dist_i18n/fi.umd.cjs +0 -1
  357. package/dist_i18n/fr-ca.d.ts +0 -1
  358. package/dist_i18n/fr-ca.js +0 -94
  359. package/dist_i18n/fr-ca.umd.cjs +0 -1
  360. package/dist_i18n/fr-fr.d.ts +0 -1
  361. package/dist_i18n/fr-fr.js +0 -94
  362. package/dist_i18n/fr-fr.umd.cjs +0 -1
  363. package/dist_i18n/ga.d.ts +0 -1
  364. package/dist_i18n/ga.js +0 -94
  365. package/dist_i18n/ga.umd.cjs +0 -1
  366. package/dist_i18n/he.d.ts +0 -1
  367. package/dist_i18n/he.js +0 -94
  368. package/dist_i18n/he.umd.cjs +0 -1
  369. package/dist_i18n/hi.d.ts +0 -1
  370. package/dist_i18n/hi.js +0 -94
  371. package/dist_i18n/hi.umd.cjs +0 -1
  372. package/dist_i18n/hr.d.ts +0 -1
  373. package/dist_i18n/hr.js +0 -94
  374. package/dist_i18n/hr.umd.cjs +0 -1
  375. package/dist_i18n/hu.d.ts +0 -1
  376. package/dist_i18n/hu.js +0 -94
  377. package/dist_i18n/hu.umd.cjs +0 -1
  378. package/dist_i18n/hy.d.ts +0 -1
  379. package/dist_i18n/hy.js +0 -94
  380. package/dist_i18n/hy.umd.cjs +0 -1
  381. package/dist_i18n/id.d.ts +0 -1
  382. package/dist_i18n/id.js +0 -94
  383. package/dist_i18n/id.umd.cjs +0 -1
  384. package/dist_i18n/is.d.ts +0 -1
  385. package/dist_i18n/is.js +0 -94
  386. package/dist_i18n/is.umd.cjs +0 -1
  387. package/dist_i18n/it.d.ts +0 -1
  388. package/dist_i18n/it.js +0 -94
  389. package/dist_i18n/it.umd.cjs +0 -1
  390. package/dist_i18n/ja.d.ts +0 -1
  391. package/dist_i18n/ja.js +0 -94
  392. package/dist_i18n/ja.umd.cjs +0 -1
  393. package/dist_i18n/ka.d.ts +0 -1
  394. package/dist_i18n/ka.js +0 -94
  395. package/dist_i18n/ka.umd.cjs +0 -1
  396. package/dist_i18n/kk.d.ts +0 -1
  397. package/dist_i18n/kk.js +0 -94
  398. package/dist_i18n/kk.umd.cjs +0 -1
  399. package/dist_i18n/ko.d.ts +0 -1
  400. package/dist_i18n/ko.js +0 -94
  401. package/dist_i18n/ko.umd.cjs +0 -1
  402. package/dist_i18n/lb.d.ts +0 -1
  403. package/dist_i18n/lb.js +0 -94
  404. package/dist_i18n/lb.umd.cjs +0 -1
  405. package/dist_i18n/lt.d.ts +0 -1
  406. package/dist_i18n/lt.js +0 -94
  407. package/dist_i18n/lt.umd.cjs +0 -1
  408. package/dist_i18n/lv.d.ts +0 -1
  409. package/dist_i18n/lv.js +0 -94
  410. package/dist_i18n/lv.umd.cjs +0 -1
  411. package/dist_i18n/me.d.ts +0 -1
  412. package/dist_i18n/me.js +0 -94
  413. package/dist_i18n/me.umd.cjs +0 -1
  414. package/dist_i18n/mk.d.ts +0 -1
  415. package/dist_i18n/mk.js +0 -94
  416. package/dist_i18n/mk.umd.cjs +0 -1
  417. package/dist_i18n/mr.d.ts +0 -1
  418. package/dist_i18n/mr.js +0 -94
  419. package/dist_i18n/mr.umd.cjs +0 -1
  420. package/dist_i18n/mt.d.ts +0 -1
  421. package/dist_i18n/mt.js +0 -94
  422. package/dist_i18n/mt.umd.cjs +0 -1
  423. package/dist_i18n/nb.d.ts +0 -1
  424. package/dist_i18n/nb.js +0 -95
  425. package/dist_i18n/nb.umd.cjs +0 -1
  426. package/dist_i18n/nl.d.ts +0 -1
  427. package/dist_i18n/nl.js +0 -94
  428. package/dist_i18n/nl.umd.cjs +0 -1
  429. package/dist_i18n/pl.d.ts +0 -1
  430. package/dist_i18n/pl.js +0 -94
  431. package/dist_i18n/pl.umd.cjs +0 -1
  432. package/dist_i18n/pt-br.d.ts +0 -1
  433. package/dist_i18n/pt-br.js +0 -94
  434. package/dist_i18n/pt-br.umd.cjs +0 -1
  435. package/dist_i18n/pt-pt.d.ts +0 -1
  436. package/dist_i18n/pt-pt.js +0 -94
  437. package/dist_i18n/pt-pt.umd.cjs +0 -1
  438. package/dist_i18n/ro.d.ts +0 -1
  439. package/dist_i18n/ro.js +0 -94
  440. package/dist_i18n/ro.umd.cjs +0 -1
  441. package/dist_i18n/ru.d.ts +0 -1
  442. package/dist_i18n/ru.js +0 -94
  443. package/dist_i18n/ru.umd.cjs +0 -1
  444. package/dist_i18n/sk.d.ts +0 -1
  445. package/dist_i18n/sk.js +0 -94
  446. package/dist_i18n/sk.umd.cjs +0 -1
  447. package/dist_i18n/sl.d.ts +0 -1
  448. package/dist_i18n/sl.js +0 -94
  449. package/dist_i18n/sl.umd.cjs +0 -1
  450. package/dist_i18n/sq.d.ts +0 -1
  451. package/dist_i18n/sq.js +0 -94
  452. package/dist_i18n/sq.umd.cjs +0 -1
  453. package/dist_i18n/sr.d.ts +0 -1
  454. package/dist_i18n/sr.js +0 -94
  455. package/dist_i18n/sr.umd.cjs +0 -1
  456. package/dist_i18n/sv.d.ts +0 -1
  457. package/dist_i18n/sv.js +0 -94
  458. package/dist_i18n/sv.umd.cjs +0 -1
  459. package/dist_i18n/sw.d.ts +0 -1
  460. package/dist_i18n/sw.js +0 -94
  461. package/dist_i18n/sw.umd.cjs +0 -1
  462. package/dist_i18n/ta.d.ts +0 -1
  463. package/dist_i18n/ta.js +0 -94
  464. package/dist_i18n/ta.umd.cjs +0 -1
  465. package/dist_i18n/te.d.ts +0 -1
  466. package/dist_i18n/te.js +0 -94
  467. package/dist_i18n/te.umd.cjs +0 -1
  468. package/dist_i18n/th.d.ts +0 -1
  469. package/dist_i18n/th.js +0 -94
  470. package/dist_i18n/th.umd.cjs +0 -1
  471. package/dist_i18n/tk.d.ts +0 -1
  472. package/dist_i18n/tk.js +0 -94
  473. package/dist_i18n/tk.umd.cjs +0 -1
  474. package/dist_i18n/tr.d.ts +0 -1
  475. package/dist_i18n/tr.js +0 -94
  476. package/dist_i18n/tr.umd.cjs +0 -1
  477. package/dist_i18n/uk.d.ts +0 -1
  478. package/dist_i18n/uk.js +0 -94
  479. package/dist_i18n/uk.umd.cjs +0 -1
  480. package/dist_i18n/ur.d.ts +0 -1
  481. package/dist_i18n/ur.js +0 -94
  482. package/dist_i18n/ur.umd.cjs +0 -1
  483. package/dist_i18n/uz.d.ts +0 -1
  484. package/dist_i18n/uz.js +0 -94
  485. package/dist_i18n/uz.umd.cjs +0 -1
  486. package/dist_i18n/vi.d.ts +0 -1
  487. package/dist_i18n/vi.js +0 -94
  488. package/dist_i18n/vi.umd.cjs +0 -1
  489. package/dist_i18n/yo.d.ts +0 -1
  490. package/dist_i18n/yo.js +0 -94
  491. package/dist_i18n/yo.umd.cjs +0 -1
  492. package/dist_i18n/zh-cn.d.ts +0 -1
  493. package/dist_i18n/zh-cn.js +0 -94
  494. package/dist_i18n/zh-cn.umd.cjs +0 -1
  495. package/dist_i18n/zh-tw.d.ts +0 -1
  496. package/dist_i18n/zh-tw.js +0 -94
  497. package/dist_i18n/zh-tw.umd.cjs +0 -1
@@ -0,0 +1 @@
1
+ !function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";var e=Array.isArray,t=Array.prototype.indexOf,n=Array.prototype.includes,r=Array.from,a=Object.keys,o=Object.defineProperty,i=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyDescriptors,c=Object.prototype,s=Array.prototype,u=Object.getPrototypeOf,f=Object.isExtensible;const d=()=>{};function h(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const p=1<<24,v=16,g=32,b=64,m=512,y=1024,w=2048,x=4096,k=8192,_=16384,$=32768,C=1<<25,E=65536,S=1<<17,A=1<<19,R=65536,O=1<<21,P=1<<23,T=Symbol("$state"),L=Symbol("legacy props"),I=Symbol(""),M=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},D=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function V(e){return e===this.v}function U(e,t){return e!=e?t==t:e!==t||null!==e&&"object"==typeof e||"function"==typeof e}function N(e){return!U(e,this.v)}const z={},j=Symbol(),B="http://www.w3.org/1999/xhtml";let K=null;function F(e){K=e}function H(e,t=!1,n){K={p:K,i:!1,c:null,e:null,s:e,x:null,r:Qn,l:null}}function q(e){var t=K,n=t.e;if(null!==n)for(var r of(t.e=null,n))Sr(r);return void 0!==e&&(t.x=e),t.i=!0,K=t.p,e??{}}let G=[];function Y(){var e=G;G=[],function(e){for(var t=0;t<e.length;t++)e[t]()}(e)}function W(e){if(0===G.length&&!_n){var t=G;queueMicrotask(()=>{t===G&&Y()})}G.push(e)}function Z(){for(;G.length>0;)Y()}function J(e){console.warn("https://svelte.dev/e/hydration_mismatch")}let X,Q=!1;function ee(e){Q=e}function te(e){if(null===e)throw J(),z;return X=e}function ne(){return te(me(X))}function re(e){if(Q){if(null!==me(X))throw J(),z;X=e}}function ae(e=1){if(Q){for(var t=e,n=X;t--;)n=me(n);X=n}}function oe(e=!0){for(var t=0,n=X;;){if(8===n.nodeType){var r=n.data;if("]"===r){if(0===t)return n;t-=1}else("["===r||"[!"===r||"["===r[0]&&!isNaN(Number(r.slice(1))))&&(t+=1)}var a=me(n);e&&n.remove(),n=a}}function ie(e){if(!e||8!==e.nodeType)throw J(),z;return e.data}function le(t){if("object"!=typeof t||null===t||T in t)return t;const n=u(t);if(n!==c&&n!==s)return t;var r=new Map,a=e(t),o=jn(0),l=cr,f=e=>{if(cr===l)return e();var t=Zn,n=cr;Xn(null),sr(l);var r=e();return Xn(t),sr(n),r};return a&&r.set("length",jn(t.length)),new Proxy(t,{defineProperty(e,t,n){"value"in n&&!1!==n.configurable&&!1!==n.enumerable&&!1!==n.writable||function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}();var a=r.get(t);return void 0===a?f(()=>{var e=jn(n.value);return r.set(t,e),e}):Kn(a,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(void 0===n){if(t in e){const e=f(()=>jn(j));r.set(t,e),Hn(o)}}else Kn(n,j),Hn(o);return!0},get(e,n,a){if(n===T)return t;var o=r.get(n),l=n in e;if(void 0!==o||l&&!i(e,n)?.writable||(o=f(()=>jn(le(l?e[n]:j))),r.set(n,o)),void 0!==o){var c=mr(o);return c===j?void 0:c}return Reflect.get(e,n,a)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&"value"in n){var a=r.get(t);a&&(n.value=mr(a))}else if(void 0===n){var o=r.get(t),i=o?.v;if(void 0!==o&&i!==j)return{enumerable:!0,configurable:!0,value:i,writable:!0}}return n},has(e,t){if(t===T)return!0;var n=r.get(t),a=void 0!==n&&n.v!==j||Reflect.has(e,t);if((void 0!==n||null!==Qn&&(!a||i(e,t)?.writable))&&(void 0===n&&(n=f(()=>jn(a?le(e[t]):j)),r.set(t,n)),mr(n)===j))return!1;return a},set(e,t,n,l){var c=r.get(t),s=t in e;if(a&&"length"===t)for(var u=n;u<c.v;u+=1){var d=r.get(u+"");void 0!==d?Kn(d,j):u in e&&(d=f(()=>jn(j)),r.set(u+"",d))}void 0===c?s&&!i(e,t)?.writable||(Kn(c=f(()=>jn(void 0)),le(n)),r.set(t,c)):(s=c.v!==j,Kn(c,f(()=>le(n))));var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(l,n),!s){if(a&&"string"==typeof t){var p=r.get("length"),v=Number(t);Number.isInteger(v)&&v>=p.v&&Kn(p,v+1)}Hn(o)}return!0},ownKeys(e){mr(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return void 0===t||t.v!==j});for(var[n,a]of r)a.v===j||n in e||t.push(n);return t},setPrototypeOf(){!function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}()}})}function ce(e){try{if(null!==e&&"object"==typeof e&&T in e)return e[T]}catch{}return e}function se(e,t){return Object.is(ce(e),ce(t))}var ue,fe,de,he,pe;function ve(){if(void 0===ue){ue=window,fe=document,de=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;he=i(t,"firstChild").get,pe=i(t,"nextSibling").get,f(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),f(n)&&(n.__t=void 0)}}function ge(e=""){return document.createTextNode(e)}function be(e){return he.call(e)}function me(e){return pe.call(e)}function ye(e,t){if(!Q)return be(e);var n=be(X);if(null===n)n=X.appendChild(ge());else if(t&&3!==n.nodeType){var r=ge();return n?.before(r),te(r),r}return t&&_e(n),te(n),n}function we(e,t=!1){if(!Q){var n=be(e);return n instanceof Comment&&""===n.data?me(n):n}if(t){if(3!==X?.nodeType){var r=ge();return X?.before(r),te(r),r}_e(X)}return X}function xe(e,t=1,n=!1){let r=Q?X:e;for(var a;t--;)a=r,r=me(r);if(!Q)return r;if(n){if(3!==r?.nodeType){var o=ge();return null===r?a?.after(o):r.before(o),te(o),o}_e(r)}return te(r),r}function ke(e,t,n){let r;return document.createElementNS(t??B,e,r)}function _e(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;null!==t&&3===t.nodeType;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function $e(e){var t=Qn;if(null===t)return Zn.f|=P,e;if(0===(t.f&$)&&!(4&t.f))throw e;Ce(e,t)}function Ce(e,t){for(;null!==t;){if(128&t.f){if(0===(t.f&$))throw e;try{return void t.b.error(e)}catch(t){e=t}}t=t.parent}throw e}const Ee=-7169;function Se(e,t){e.f=e.f&Ee|t}function Ae(e){0!==(e.f&m)||null===e.deps?Se(e,y):Se(e,x)}function Re(e){if(null!==e)for(const t of e)2&t.f&&0!==(t.f&R)&&(t.f^=R,Re(t.deps))}function Oe(e,t,n){0!==(e.f&w)?t.add(e):0!==(e.f&x)&&n.add(e),Re(e.deps),Se(e,y)}function Pe(e){return e.endsWith("capture")&&"gotpointercapture"!==e&&"lostpointercapture"!==e}const Te=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Le(e){return Te.includes(e)}const Ie={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Me(e){return e=e.toLowerCase(),Ie[e]??e}const De=["touchstart","touchmove"];function Ve(e){return De.includes(e)}function Ue(e,t){if(t){const t=document.body;e.autofocus=!0,W(()=>{document.activeElement===t&&e.focus()})}}let Ne=!1;function ze(){Ne||(Ne=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function je(e){var t=Zn,n=Qn;Xn(null),er(null);try{return e()}finally{Xn(t),er(n)}}const Be=Symbol("events"),Ke=new Set,Fe=new Set;function He(e,t,n,r={}){function a(e){if(r.capture||Ze.call(t,e),!e.cancelBubble)return je(()=>n?.call(this,e))}return e.startsWith("pointer")||e.startsWith("touch")||"wheel"===e?W(()=>{t.addEventListener(e,a,r)}):t.addEventListener(e,a,r),a}function qe(e,t,n,r,a){var o={capture:r,passive:a},i=He(e,t,n,o);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Cr(()=>{t.removeEventListener(e,i,o)})}function Ge(e,t,n){(t[Be]??={})[e]=n}function Ye(e){for(var t=0;t<e.length;t++)Ke.add(e[t]);for(var n of Fe)n(e)}let We=null;function Ze(e){var t=this,n=t.ownerDocument,r=e.type,a=e.composedPath?.()||[],i=a[0]||e.target;We=e;var l=0,c=We===e&&e[Be];if(c){var s=a.indexOf(c);if(-1!==s&&(t===document||t===window))return void(e[Be]=t);var u=a.indexOf(t);if(-1===u)return;s<=u&&(l=s)}if((i=a[l]||e.target)!==t){o(e,"currentTarget",{configurable:!0,get:()=>i||n});var f=Zn,d=Qn;Xn(null),er(null);try{for(var h,p=[];null!==i;){var v=i.assignedSlot||i.parentNode||i.host||null;try{var g=i[Be]?.[r];null==g||i.disabled&&e.target!==i||g.call(i,e)}catch(e){h?p.push(e):h=e}if(e.cancelBubble||v===t||null===v)break;i=v}if(h){for(let e of p)queueMicrotask(()=>{throw e});throw h}}finally{e[Be]=t,delete e.currentTarget,Xn(f),er(d)}}}const Je=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Xe(e){var t=ke("template");return t.innerHTML=function(e){return Je?.createHTML(e)??e}(e.replaceAll("<!>","\x3c!----\x3e")),t.content}function Qe(e,t){var n=Qn;null===n.nodes&&(n.nodes={start:e,end:t,a:null,t:null})}function et(e,t){var n,r=!!(1&t),a=!!(2&t),o=!e.startsWith("<!>");return()=>{if(Q)return Qe(X,null),X;void 0===n&&(n=Xe(o?e:"<!>"+e),r||(n=be(n)));var t=a||de?document.importNode(n,!0):n.cloneNode(!0);r?Qe(be(t),t.lastChild):Qe(t,t);return t}}function tt(e,t,n="svg"){var r,a=`<${n}>${!e.startsWith("<!>")?e:"<!>"+e}</${n}>`;return()=>{if(Q)return Qe(X,null),X;if(!r){var e=Xe(a);r=be(be(e))}var t=r.cloneNode(!0);return Qe(t,t),t}}function nt(e,t){return tt(e,0,"svg")}function rt(e=""){if(!Q){var t=ge(e+"");return Qe(t,t),t}var n=X;return 3!==n.nodeType?(n.before(n=ge()),te(n)):_e(n),Qe(n,n),n}function at(){if(Q)return Qe(X,null),X;var e=document.createDocumentFragment(),t=document.createComment(""),n=ge();return e.append(t,n),Qe(t,n),e}function ot(e,t){if(Q){var n=Qn;return 0!==(n.f&$)&&null!==n.nodes.end||(n.nodes.end=X),void ne()}null!==e&&e.before(t)}class it{parent;is_pending=!1;transform_error;#e;#t=Q?X:null;#n;#r;#a;#o=null;#i=null;#l=null;#c=null;#s=0;#u=0;#f=!1;#d=new Set;#h=new Set;#p=null;#v=function(e){let t,n=0,r=zn(0);return()=>{$r()&&(mr(r),Rr(()=>(0===n&&(t=xr(()=>e(()=>Hn(r)))),n+=1,()=>{W(()=>{n-=1,0===n&&(t?.(),t=void 0,Hn(r))})})))}}(()=>(this.#p=zn(this.#s),()=>{this.#p=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=Qn;t.b=this,t.f|=128,n(e)},this.parent=Qn.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#a=Pr(()=>{if(Q){const e=this.#t;ne();const t="[!"===e.data;if(e.data.startsWith("[?")){const t=JSON.parse(e.data.slice(2));this.#g(t)}else t?this.#b():this.#m()}else this.#y()},589824),Q&&(this.#e=X)}#m(){try{this.#o=Lr(()=>this.#r(this.#e))}catch(e){this.error(e)}}#g(e){const t=this.#n.failed;t&&(this.#l=Lr(()=>{t(this.#e,()=>e,()=>()=>{})}))}#b(){const e=this.#n.pending;if(e){this.is_pending=!0,this.#i=Lr(()=>e(this.#e));var t=wn;W(()=>{var e=this.#c=document.createDocumentFragment(),n=ge();e.append(n),this.#o=this.#w(()=>Lr(()=>this.#r(n))),0===this.#u&&(this.#e.before(e),this.#c=null,Nr(this.#i,()=>{this.#i=null}),this.#x(t))})}}#y(){var e=wn;try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#s=0,this.#o=Lr(()=>{this.#r(this.#e)}),this.#u>0){var t=this.#c=document.createDocumentFragment();Br(this.#o,t);const e=this.#n.pending;this.#i=Lr(()=>e(this.#e))}else this.#x(e)}catch(e){this.error(e)}}#x(e){this.is_pending=!1;for(const t of this.#d)Se(t,w),e.schedule(t);for(const t of this.#h)Se(t,x),e.schedule(t);this.#d.clear(),this.#h.clear()}defer_effect(e){Oe(e,this.#d,this.#h)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#w(e){var t=Qn,n=Zn,r=K;er(this.#a),Xn(this.#a),F(this.#a.ctx);try{return Rn.ensure(),e()}catch(e){return $e(e),null}finally{er(t),Xn(n),F(r)}}#k(e,t){this.has_pending_snippet()?(this.#u+=e,0===this.#u&&(this.#x(t),this.#i&&Nr(this.#i,()=>{this.#i=null}),this.#c&&(this.#e.before(this.#c),this.#c=null))):this.parent&&this.parent.#k(e,t)}update_pending_count(e,t){this.#k(e,t),this.#s+=e,this.#p&&!this.#f&&(this.#f=!0,W(()=>{this.#f=!1,this.#p&&Fn(this.#p,this.#s)}))}get_effect_pending(){return this.#v(),mr(this.#p)}error(e){var t=this.#n.onerror;let n=this.#n.failed;if(!t&&!n)throw e;this.#o&&(Dr(this.#o),this.#o=null),this.#i&&(Dr(this.#i),this.#i=null),this.#l&&(Dr(this.#l),this.#l=null),Q&&(te(this.#t),ae(),te(oe()));var r=!1,a=!1;const o=()=>{r?console.warn("https://svelte.dev/e/svelte_boundary_reset_noop"):(r=!0,a&&function(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}(),null!==this.#l&&Nr(this.#l,()=>{this.#l=null}),this.#w(()=>{this.#y()}))},i=e=>{try{a=!0,t?.(e,o),a=!1}catch(e){Ce(e,this.#a&&this.#a.parent)}n&&(this.#l=this.#w(()=>{try{return Lr(()=>{var t=Qn;t.b=this,t.f|=128,n(this.#e,()=>e,()=>o)})}catch(e){return Ce(e,this.#a.parent),null}}))};W(()=>{var t;try{t=this.transform_error(e)}catch(e){return void Ce(e,this.#a&&this.#a.parent)}null!==t&&"object"==typeof t&&"function"==typeof t.then?t.then(i,e=>Ce(e,this.#a&&this.#a.parent)):i(t)})}}function lt(e,t){var n=null==t?"":"object"==typeof t?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function ct(e,t){return ft(e,t)}function st(e,t){ve(),t.intro=t.intro??!1;const n=t.target,r=Q,a=X;try{for(var o=be(n);o&&(8!==o.nodeType||"["!==o.data);)o=me(o);if(!o)throw z;ee(!0),te(o);const r=ft(e,{...t,anchor:o});return ee(!1),r}catch(r){if(r instanceof Error&&r.message.split("\n").some(e=>e.startsWith("https://svelte.dev/e/")))throw r;return r!==z&&console.warn("Failed to hydrate: ",r),!1===t.recover&&function(){throw new Error("https://svelte.dev/e/hydration_failed")}(),ve(),n.textContent="",ee(!1),ct(e,t)}finally{ee(r),te(a)}}const ut=new Map;function ft(e,{target:t,anchor:n,props:a={},events:o,context:i,intro:l=!0,transformError:c}){ve();var s=void 0,u=function(e){Rn.ensure();const t=_r(524352,e);return(e={})=>new Promise(n=>{e.outro?Nr(t,()=>{Dr(t),n(void 0)}):(Dr(t),n(void 0))})}(()=>{var l=n??t.appendChild(ge());!function(e,t,n,r){new it(e,t,n,r)}(l,{pending:()=>{}},t=>{if(H({}),i&&(K.c=i),o&&(a.$$events=o),Q&&Qe(t,null),s=e(t,a)||{},Q&&(Qn.nodes.end=X,null===X||8!==X.nodeType||"]"!==X.data))throw J(),z;q()},c);var u=new Set,f=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var a=Ve(r);for(const e of[t,document]){var o=ut.get(e);void 0===o&&(o=new Map,ut.set(e,o));var i=o.get(r);void 0===i?(e.addEventListener(r,Ze,{passive:a}),o.set(r,1)):o.set(r,i+1)}}}};return f(r(Ke)),Fe.add(f),()=>{for(var e of u)for(const n of[t,document]){var r=ut.get(n),a=r.get(e);0==--a?(n.removeEventListener(e,Ze),r.delete(e),0===r.size&&ut.delete(n)):r.set(e,a)}Fe.delete(f),l!==n&&l.parentNode?.removeChild(l)}});return dt.set(s,u),s}let dt=new WeakMap;function ht(e){var t=null!==Zn&&2&Zn.f?Zn:null;null!==Qn&&(Qn.f|=A);return{ctx:K,deps:null,effects:null,equals:V,f:2050,fn:e,reactions:null,rv:0,v:j,wv:0,parent:t??Qn,ac:null}}function pt(e,t,n){let r=Qn;null===r&&function(){throw new Error("https://svelte.dev/e/async_derived_orphan")}();var a=void 0,o=zn(j),i=!Zn,l=new Map;return function(e){_r(4718592,e)}(()=>{var t=Qn,n=h();a=n.promise;try{Promise.resolve(e()).then(n.resolve,n.reject).finally(wt)}catch(e){n.reject(e),wt()}var c=wn;if(i){if(0!==(t.f&$))var s=xt();if(r.b.is_rendered())l.get(c)?.reject(M),l.delete(c);else{for(const e of l.values())e.reject(M);l.clear()}l.set(c,n)}const u=(e,n=void 0)=>{s&&s(n===M);if(n!==M&&0===(t.f&_)){if(c.activate(),n)o.f|=P,Fn(o,n);else{0!==(o.f&P)&&(o.f^=P),Fn(o,e);for(const[e,t]of l){if(l.delete(e),e===c)break;t.reject(M)}}c.deactivate()}};n.promise.then(u,e=>u(null,e||"unknown"))}),Cr(()=>{for(const e of l.values())e.reject(M)}),new Promise(e=>{!function t(n){function r(){n===a?e(o):t(a)}n.then(r,r)}(a)})}function vt(e){const t=ht(e);return nr(t),t}function gt(e){var t,n=Qn;er(function(e){for(var t=e.parent;null!==t;){if(!(2&t.f))return 0===(t.f&_)?t:null;t=t.parent}return null}(e));try{e.f&=-65537,function(e){var t=e.effects;if(null!==t){e.effects=null;for(var n=0;n<t.length;n+=1)Dr(t[n])}}(e),t=hr(e)}finally{er(n)}return t}function bt(e){var t=gt(e);e.equals(t)||(e.wv=ur(),wn?.is_fork&&null!==e.deps||(e.v=t,null!==e.deps))?Yn||(null!==xn?($r()||wn?.is_fork)&&xn.set(e,t):Ae(e)):Se(e,y)}function mt(e){if(null!==e.effects)for(const t of e.effects)t.teardown&&gr(t)}function yt(e,t,n,r){const a=ht;var o=e.filter(e=>!e.settled);if(0!==n.length||0!==o.length){var i,l,c,s,u=Qn,f=(i=Qn,l=Zn,c=K,s=wn,function(e=!0){er(i),Xn(l),F(c),e&&0===(i.f&_)&&(s?.activate(),s?.apply())}),d=1===o.length?o[0].promise:o.length>1?Promise.all(o.map(e=>e.promise)):null;if(0!==n.length){var h=xt();d?d.then(()=>{f(),v(),wt()}):v()}else d.then(()=>p(t.map(a)))}else r(t.map(a));function p(e){f();try{r(e)}catch(e){0===(u.f&_)&&Ce(e,u)}wt()}function v(){Promise.all(n.map(e=>pt(e))).then(e=>p([...t.map(a),...e])).catch(e=>Ce(e,u)).finally(()=>h())}}function wt(e=!0){er(null),Xn(null),F(null),e&&wn?.deactivate()}function xt(){var e=Qn.b,t=wn,n=e.is_rendered();return e.update_pending_count(1,t),t.increment(n),(r=!1)=>{e.update_pending_count(-1,t),t.decrement(n,r)}}class kt{anchor;#_=new Map;#$=new Map;#C=new Map;#E=new Set;#S=!0;constructor(e,t=!0){this.anchor=e,this.#S=t}#A=e=>{if(this.#_.has(e)){var t=this.#_.get(e),n=this.#$.get(t);if(n)jr(n,!0),this.#E.delete(t);else{var r=this.#C.get(t);r&&(this.#$.set(t,r.effect),this.#C.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(const[t,n]of this.#_){if(this.#_.delete(t),t===e)break;const r=this.#C.get(n);r&&(Dr(r.effect),this.#C.delete(n))}for(const[e,r]of this.#$){if(e===t||this.#E.has(e))continue;const a=()=>{if(Array.from(this.#_.values()).includes(e)){var t=document.createDocumentFragment();Br(r,t),t.append(ge()),this.#C.set(e,{effect:r,fragment:t})}else Dr(r);this.#E.delete(e),this.#$.delete(e)};this.#S||!n?(this.#E.add(e),Nr(r,a,!1)):a()}}};#R=e=>{this.#_.delete(e);const t=Array.from(this.#_.values());for(const[e,n]of this.#C)t.includes(e)||(Dr(n.effect),this.#C.delete(e))};ensure(e,t){var n=wn;!t||this.#$.has(e)||this.#C.has(e)||this.#$.set(e,Lr(()=>t(this.anchor)));this.#_.set(n,e),Q&&(this.anchor=X),this.#A(n)}}function _t(e,t,n=!1){var r;Q&&(r=X,ne());var a=new kt(e);function o(e,t){if(Q){var n=ie(r);if(e!==parseInt(n.substring(1))){var o=oe();return te(o),a.anchor=o,ee(!1),a.ensure(e,t),void ee(!0)}}a.ensure(e,t)}Pr(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},n?E:0)}const $t=Symbol("NaN");function Ct(e,t,n=!1,r=!1,a=!1,o=!1){var i=e,l="";if(n){var c=e;Q&&(i=te(be(c)))}Or(()=>{var e=Qn;if(l!==(l=t()??"")){if(n&&!Q)return e.nodes=null,c.innerHTML=l,void(""!==l&&Qe(be(c),c.lastChild));if(null!==e.nodes&&(Vr(e.nodes.start,e.nodes.end),e.nodes=null),""!==l){if(Q){X.data;for(var o=ne(),s=o;null!==o&&(8!==o.nodeType||""!==o.data);)s=o,o=me(o);if(null===o)throw J(),z;return Qe(X,s),void(i=te(o))}var u=ke(r?"svg":a?"math":"template",r?"http://www.w3.org/2000/svg":a?"http://www.w3.org/1998/Math/MathML":void 0);u.innerHTML=l;var f=r||a?u:u.content;if(Qe(be(f),f.lastChild),r||a)for(;be(f);)i.before(be(f));else i.before(f)}}else Q&&ne()})}function Et(e,t){var n,r=void 0;Tr(()=>{r!==(r=t())&&(n&&(Dr(n),n=null),r&&(n=Lr(()=>{Ar(()=>r(e))})))})}function St(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=St(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function At(e){return"object"==typeof e?function(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=St(e))&&(r&&(r+=" "),r+=t);return r}(e):e??""}const Rt=[..." \t\n\r\f \v\ufeff"];function Ot(e,t=!1){var n=t?" !important;":";",r="";for(var a of Object.keys(e)){var o=e[a];null!=o&&""!==o&&(r+=" "+a+": "+o+n)}return r}function Pt(e){return"-"!==e[0]||"-"!==e[1]?e.toLowerCase():e}function Tt(e,t,n,r,a,o){var i=e.__className;if(Q||i!==n||void 0===i){var l=function(e,t,n){var r=null==e?"":""+e;if(n)for(var a of Object.keys(n))if(n[a])r=r?r+" "+a:a;else if(r.length)for(var o=a.length,i=0;(i=r.indexOf(a,i))>=0;){var l=i+o;0!==i&&!Rt.includes(r[i-1])||l!==r.length&&!Rt.includes(r[l])?i=l:r=(0===i?"":r.substring(0,i))+r.substring(l+1)}return""===r?null:r}(n,0,o);Q&&l===e.getAttribute("class")||(null==l?e.removeAttribute("class"):t?e.className=l:e.setAttribute("class",l)),e.__className=n}else if(o&&a!==o)for(var c in o){var s=!!o[c];null!=a&&s===!!a[c]||e.classList.toggle(c,s)}return o}function Lt(e,t={},n,r){for(var a in n){var o=n[a];t[a]!==o&&(null==n[a]?e.style.removeProperty(a):e.style.setProperty(a,o,r))}}function It(e,t,n,r){var a=e.__style;if(Q||a!==t){var o=function(e,t){if(t){var n,r,a="";if(Array.isArray(t)?(n=t[0],r=t[1]):n=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var o=!1,i=0,l=!1,c=[];n&&c.push(...Object.keys(n).map(Pt)),r&&c.push(...Object.keys(r).map(Pt));var s=0,u=-1;const t=e.length;for(var f=0;f<t;f++){var d=e[f];if(l?"/"===d&&"*"===e[f-1]&&(l=!1):o?o===d&&(o=!1):"/"===d&&"*"===e[f+1]?l=!0:'"'===d||"'"===d?o=d:"("===d?i++:")"===d&&i--,!l&&!1===o&&0===i)if(":"===d&&-1===u)u=f;else if(";"===d||f===t-1){if(-1!==u){var h=Pt(e.substring(s,u).trim());c.includes(h)||(";"!==d&&f++,a+=" "+e.substring(s,f).trim()+";")}s=f+1,u=-1}}}return n&&(a+=Ot(n)),r&&(a+=Ot(r,!0)),""===(a=a.trim())?null:a}return null==e?null:String(e)}(t,r);Q&&o===e.getAttribute("style")||(null==o?e.removeAttribute("style"):e.style.cssText=o),e.__style=t}else r&&(Array.isArray(r)?(Lt(e,n?.[0],r[0]),Lt(e,n?.[1],r[1],"important")):Lt(e,n,r));return r}function Mt(t,n,r=!1){if(t.multiple){if(null==n)return;if(!e(n))return void console.warn("https://svelte.dev/e/select_multiple_invalid_value");for(var a of t.options)a.selected=n.includes(Dt(a))}else{for(a of t.options){if(se(Dt(a),n))return void(a.selected=!0)}r&&void 0===n||(t.selectedIndex=-1)}}function Dt(e){return"__value"in e?e.__value:e.value}const Vt=Symbol("class"),Ut=Symbol("style"),Nt=Symbol("is custom element"),zt=Symbol("is html"),jt=D?"link":"LINK",Bt=D?"input":"INPUT",Kt=D?"option":"OPTION",Ft=D?"select":"SELECT",Ht=D?"progress":"PROGRESS";function qt(e){if(Q){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var n=e.value;Yt(e,"value",null),e.value=n}if(e.hasAttribute("checked")){var r=e.checked;Yt(e,"checked",null),e.checked=r}}};e.__on_r=n,W(n),ze()}}function Gt(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function Yt(e,t,n,r){var a=Zt(e);Q&&(a[t]=e.getAttribute(t),"src"===t||"srcset"===t||"href"===t&&e.nodeName===jt)||a[t]!==(a[t]=n)&&("loading"===t&&(e[I]=n),null==n?e.removeAttribute(t):"string"!=typeof n&&Xt(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Wt(e,t,n=[],r=[],a=[],o,i=!1,l=!1){yt(a,n,r,n=>{var r=void 0,a={},o=e.nodeName===Ft,c=!1;if(Tr(()=>{var s=t(...n.map(mr)),u=function(e,t,n,r,a=!1){if(Q&&a&&e.nodeName===Bt){var o=e;("checkbox"===o.type?"defaultChecked":"defaultValue")in n||qt(o)}var i=Zt(e),l=i[Nt],c=!i[zt];let s=Q&&l;s&&ee(!1);var u=t||{},f=e.nodeName===Kt;for(var d in t)d in n||(n[d]=null);n.class?n.class=At(n.class):n[Vt]&&(n.class=null),n[Ut]&&(n.style??=null);var h=Xt(e);for(const r in n){let a=n[r];if(f&&"value"===r&&null==a)e.value=e.__value="",u[r]=a;else if("class"!==r)if("style"!==r){var p=u[r];if(a!==p||void 0===a&&e.hasAttribute(r)){u[r]=a;var v=r[0]+r[1];if("$$"!==v)if("on"===v){const t={},n="$$"+r;let o=r.slice(2);var g=Le(o);if(Pe(o)&&(o=o.slice(0,-7),t.capture=!0),!g&&p){if(null!=a)continue;e.removeEventListener(o,u[n],t),u[n]=null}if(g)Ge(o,e,a),Ye([o]);else if(null!=a){let a=function(e){u[r].call(this,e)};u[n]=He(o,e,a,t)}}else if("style"===r)Yt(e,r,a);else if("autofocus"===r)Ue(e,Boolean(a));else if(l||"__value"!==r&&("value"!==r||null==a))if("selected"===r&&f)Gt(e,a);else{var b=r;c||(b=Me(b));var m="defaultValue"===b||"defaultChecked"===b;if(null!=a||l||m)m||h.includes(b)&&(l||"string"!=typeof a)?(e[b]=a,b in i&&(i[b]=j)):"function"!=typeof a&&Yt(e,b,a);else if(i[r]=null,"value"===b||"checked"===b){let n=e;const r=void 0===t;if("value"===b){let e=n.defaultValue;n.removeAttribute(b),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(b),n.defaultChecked=e,n.checked=!!r&&e}}else e.removeAttribute(r)}else e.value=e.__value=a}}else It(e,a,t?.[Ut],n[Ut]),u[r]=a,u[Ut]=n[Ut];else Tt(e,"http://www.w3.org/1999/xhtml"===e.namespaceURI,a,0,t?.[Vt],n[Vt]),u[r]=a,u[Vt]=n[Vt]}return s&&ee(!0),u}(e,r,s,0,i,l);c&&o&&"value"in s&&Mt(e,s.value);for(let e of Object.getOwnPropertySymbols(a))s[e]||Dr(a[e]);for(let t of Object.getOwnPropertySymbols(s)){var f=s[t];"@attach"!==t.description||r&&f===r[t]||(a[t]&&Dr(a[t]),a[t]=Lr(()=>Et(e,()=>f))),u[t]=f}r=u}),o){var s=e;Ar(()=>{Mt(s,r.value,!0),function(e){var t=new MutationObserver(()=>{Mt(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Cr(()=>{t.disconnect()})}(s)})}c=!0})}function Zt(e){return e.__attributes??={[Nt]:e.nodeName.includes("-"),[zt]:e.namespaceURI===B}}var Jt=new Map;function Xt(e){var t,n=e.getAttribute("is")||e.nodeName,r=Jt.get(n);if(r)return r;Jt.set(n,r=[]);for(var a=e,o=Element.prototype;o!==a;){for(var i in t=l(a))t[i].set&&r.push(i);a=u(a)}return r}function Qt(e,t,n=t){var r=new WeakSet;!function(e,t,n,r=n){e.addEventListener(t,()=>je(n));const a=e.__on_r;e.__on_r=a?()=>{a(),r(!0)}:()=>r(!0),ze()}(e,"input",async a=>{var o=a?e.defaultValue:e.value;if(o=en(e)?tn(o):o,n(o),null!==wn&&r.add(wn),await br(),o!==(o=t())){var i=e.selectionStart,l=e.selectionEnd,c=e.value.length;if(e.value=o??"",null!==l){var s=e.value.length;i===l&&l===c&&s>c?(e.selectionStart=s,e.selectionEnd=s):(e.selectionStart=i,e.selectionEnd=Math.min(l,s))}}}),(Q&&e.defaultValue!==e.value||null==xr(t)&&e.value)&&(n(en(e)?tn(e.value):e.value),null!==wn&&r.add(wn)),Rr(()=>{var n=t();if(e===document.activeElement){var a=wn;if(r.has(a))return}en(e)&&n===tn(e.value)||("date"!==e.type||n||e.value)&&n!==e.value&&(e.value=n??"")})}function en(e){var t=e.type;return"number"===t||"range"===t}function tn(e){return""===e?null:+e}function nn(e,t){return e===t||e?.[T]===t}function rn(e={},t,n,r){var a=K.r,o=Qn;return Ar(()=>{var r,i;return Rr(()=>{r=i,i=[],xr(()=>{e!==n(...i)&&(t(e,...i),r&&nn(n(...r),e)&&t(null,...r))})}),()=>{let r=o;for(;r!==a&&null!==r.parent&&r.parent.f&C;)r=r.parent;const l=r.teardown;r.teardown=()=>{i&&nn(n(...i),e)&&t(null,...i),l?.()}}}),e}const an={get(e,t){if(!e.exclude.includes(t))return e.props[t]},set:(e,t)=>!1,getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t))return t in e.props?{enumerable:!0,configurable:!0,value:e.props[t]}:void 0},has:(e,t)=>!e.exclude.includes(t)&&t in e.props,ownKeys:e=>Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))};function on(e,t,n){return new Proxy({props:e,exclude:t},an)}function ln(e,t,n,r){var a,o=r,i=!0,l=()=>(i&&(i=!1,o=r),o);void 0===e[t]&&void 0!==r&&l(),a=()=>{var n=e[t];return void 0===n?l():(i=!0,n)};var c=!1,s=ht(()=>(c=!1,a())),u=Qn;return function(e,t){if(arguments.length>0){const n=t?mr(s):e;return Kn(s,n),c=!0,void 0!==o&&(o=n),e}return Yn&&c||0!==(u.f&_)?s.v:mr(s)}}class cn{#O;#P;constructor(e){var t=new Map,n=(e,n)=>{var r=Bn(n,!1,!1);return t.set(e,r),r};const r=new Proxy({...e.props||{},$$events:{}},{get:(e,r)=>mr(t.get(r)??n(r,Reflect.get(e,r))),has:(e,r)=>r===L||(mr(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r)),set:(e,r,a)=>(Kn(t.get(r)??n(r,a),a),Reflect.set(e,r,a))});this.#P=(e.hydrate?st:ct)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),e?.props?.$$host&&!1!==e.sync||On(),this.#O=r.$$events;for(const e of Object.keys(this.#P))"$set"!==e&&"$destroy"!==e&&"$on"!==e&&o(this,e,{get(){return this.#P[e]},set(t){this.#P[e]=t},enumerable:!0});this.#P.$set=e=>{Object.assign(r,e)},this.#P.$destroy=()=>{!function(e,t){const n=dt.get(e);n?(dt.delete(e),n(t)):Promise.resolve()}(this.#P)}}$set(e){this.#P.$set(e)}$on(e,t){this.#O[e]=this.#O[e]||[];const n=(...e)=>t.call(this,...e);return this.#O[e].push(n),()=>{this.#O[e]=this.#O[e].filter(e=>e!==n)}}$destroy(){this.#P.$destroy()}}let sn=class{};function un(e,t,n,r){const a=n[e]?.type;if(t="Boolean"===a&&"boolean"!=typeof t?null!=t:t,!r||!n[e])return t;if("toAttribute"===r)switch(a){case"Object":case"Array":return null==t?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return null==t?null:t;default:return t}else switch(a){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":default:return t;case"Number":return null!=t?+t:t}}function fn(e,t,n,r,l,c){let s=class extends sn{constructor(){super(e,n,l),this.$$p_d=t}static get observedAttributes(){return a(t).map(e=>(t[e].attribute||e).toLowerCase())}};return a(t).forEach(e=>{o(s.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(n){n=un(e,n,t),this.$$d[e]=n;var r=this.$$c;if(r){var a=i(r,e)?.get;a?r[e]=n:r.$set({[e]:n})}}})}),r.forEach(e=>{o(s.prototype,e,{get(){return this.$$c?.[e]}})}),e.element=s,s}function dn(e){null===K&&function(){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}(),Er(()=>{const t=xr(e);if("function"==typeof t)return t})}function hn(e,t,n){if(null==e)return t(void 0),d;const r=xr(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}"function"==typeof HTMLElement&&(sn=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){const n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){const e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let t=function(e){return t=>{const n=ke("slot");"default"!==e&&(n.name=e),ot(t,n)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const n={},r=function(e){const t={};return e.childNodes.forEach(e=>{t[e.slot||"default"]=!0}),t}(this);for(const e of this.$$s)e in r&&("default"!==e||this.$$d.children?n[e]=t(e):(this.$$d.children=t(e),n.default=!0));for(const e of this.attributes){const t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=un(t,e.value,this.$$p_d,"toProp"))}for(const e in this.$$p_d)e in this.$$d||void 0===this[e]||(this.$$d[e]=this[e],delete this[e]);this.$$c=(e={component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:n,$$host:this}},new cn(e)),this.$$me=function(e){Rn.ensure();const t=_r(524352,e);return()=>{Dr(t)}}(()=>{Rr(()=>{this.$$r=!0;for(const e of a(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];const t=un(e,this.$$d[e],this.$$p_d,"toAttribute");null==t?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1})});for(const e in this.$$l)for(const t of this.$$l[e]){const n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}this.$$l={}}var e}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=un(e,n,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return a(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});const pn=[];function vn(e,t=d){let n=null;const r=new Set;function a(t){if(U(e,t)&&(e=t,n)){const t=!pn.length;for(const t of r)t[1](),pn.push(t,e);if(t){for(let e=0;e<pn.length;e+=2)pn[e][0](pn[e+1]);pn.length=0}}}function o(t){a(t(e))}return{set:a,update:o,subscribe:function(i,l=d){const c=[i,l];return r.add(c),1===r.size&&(n=t(a,o)||d),i(e),()=>{r.delete(c),0===r.size&&n&&(n(),n=null)}}}}function gn(e){let t;return hn(e,e=>t=e)(),t}let bn=Symbol();function mn(e,t,n){const r=n[t]??={store:null,source:Bn(void 0),unsubscribe:d};if(r.store!==e&&!(bn in n))if(r.unsubscribe(),r.store=e??null,null==e)r.source.v=void 0,r.unsubscribe=d;else{var a=!0;r.unsubscribe=hn(e,e=>{a?r.source.v=e:Kn(r.source,e)}),a=!1}return e&&bn in n?gn(e):mr(r.source)}const yn=new Set;let wn=null,xn=null,kn=null,_n=!1,$n=!1,Cn=null,En=null;var Sn=0;let An=1;class Rn{id=An++;current=new Map;previous=new Map;#T=new Set;#L=new Set;#I=0;#M=0;#D=null;#V=[];#d=new Set;#h=new Set;#U=new Map;is_fork=!1;#N=!1;#z(){return this.is_fork||this.#M>0}skip_effect(e){this.#U.has(e)||this.#U.set(e,{d:[],m:[]})}unskip_effect(e){var t=this.#U.get(e);if(t){for(var n of(this.#U.delete(e),t.d))Se(n,w),this.schedule(n);for(n of t.m)Se(n,x),this.schedule(n)}}#j(){Sn++>1e3&&function(){try{!function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}()}catch(e){Ce(e,kn)}}();const e=this.#V;this.#V=[],this.apply();var t=Cn=[],n=[],r=En=[];for(const r of e)this.#B(r,t,n);if(wn=null,r.length>0){var a=Rn.ensure();for(const e of r)a.schedule(e)}if(Cn=null,En=null,this.#z()){this.#K(n),this.#K(t);for(const[e,t]of this.#U)Dn(e,t)}else{this.#d.clear(),this.#h.clear();for(const e of this.#T)e(this);this.#T.clear(),Tn(n),Tn(t),0===this.#I&&this.#A(),this.#D?.resolve()}var o=wn;if(this.#V.length>0){const e=o??=this;e.#V.push(...this.#V.filter(t=>!e.#V.includes(t)))}null!==o&&(yn.add(o),o.#j())}#B(e,t,n){e.f^=y;for(var r=e.first;null!==r;){var a=r.f,o=!!(96&a);if(!(o&&0!==(a&y)||0!==(a&k)||this.#U.has(r))&&null!==r.fn){o?r.f^=y:4&a?t.push(r):fr(r)&&(0!==(a&v)&&this.#h.add(r),gr(r));var i=r.first;if(null!==i){r=i;continue}}for(;null!==r;){var l=r.next;if(null!==l){r=l;break}r=r.parent}}}#K(e){for(var t=0;t<e.length;t+=1)Oe(e[t],this.#d,this.#h)}capture(e,t){t===j||this.previous.has(e)||this.previous.set(e,t),0===(e.f&P)&&(this.current.set(e,e.v),xn?.set(e,e.v))}activate(){wn=this}deactivate(){wn=null,xn=null}flush(){try{if($n=!0,wn=this,!this.#z()){for(const e of this.#d)this.#h.delete(e),Se(e,w),this.schedule(e);for(const e of this.#h)Se(e,x),this.schedule(e)}this.#j()}finally{Sn=0,kn=null,Cn=null,En=null,$n=!1,wn=null,xn=null,Un.clear()}}discard(){for(const e of this.#L)e(this);this.#L.clear()}#A(){if(yn.size>1){this.previous.clear();var e=wn,t=xn,n=!0;for(const e of yn){if(e===this){n=!1;continue}const t=[];for(const[r,a]of this.current){if(e.current.has(r)){if(!n||a===e.current.get(r))continue;e.current.set(r,a)}t.push(r)}if(0===t.length)continue;const r=[...e.current.keys()].filter(e=>!this.current.has(e));if(r.length>0){e.activate();const n=new Set,a=new Map;for(const e of t)Ln(e,r,n,a);if(e.#V.length>0){e.apply();for(const t of e.#V)e.#B(t,[],[])}e.deactivate()}}wn=e,xn=t}this.#U.clear(),yn.delete(this)}increment(e){this.#I+=1,e&&(this.#M+=1)}decrement(e,t){this.#I-=1,e&&(this.#M-=1),this.#N||t||(this.#N=!0,W(()=>{this.#N=!1,this.flush()}))}oncommit(e){this.#T.add(e)}ondiscard(e){this.#L.add(e)}settled(){return(this.#D??=h()).promise}static ensure(){if(null===wn){const e=wn=new Rn;$n||(yn.add(wn),_n||W(()=>{wn===e&&e.flush()}))}return wn}apply(){}schedule(e){if(kn=e,e.b?.is_pending&&16777228&e.f&&0===(e.f&$))e.b.defer_effect(e);else{for(var t=e;null!==t.parent;){var n=(t=t.parent).f;if(!(null===Cn||t!==Qn||null!==Zn&&2&Zn.f))return;if(96&n){if(0===(n&y))return;t.f^=y}}this.#V.push(t)}}}function On(e){var t=_n;_n=!0;try{for(;;){if(Z(),null===wn)return;wn.flush()}}finally{_n=t}}let Pn=null;function Tn(e){var t=e.length;if(0!==t){for(var n=0;n<t;){var r=e[n++];if(!(24576&r.f)&&fr(r)&&(Pn=new Set,gr(r),null===r.deps&&null===r.first&&null===r.nodes&&null===r.teardown&&null===r.ac&&Ur(r),Pn?.size>0)){Un.clear();for(const e of Pn){if(24576&e.f)continue;const t=[e];let n=e.parent;for(;null!==n;)Pn.has(n)&&(Pn.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){const n=t[e];24576&n.f||gr(n)}}Pn.clear()}}Pn=null}}function Ln(e,t,n,r){if(!n.has(e)&&(n.add(e),null!==e.reactions))for(const a of e.reactions){const e=a.f;2&e?Ln(a,t,n,r):4194320&e&&0===(e&w)&&In(a,t,r)&&(Se(a,w),Mn(a))}}function In(e,t,r){const a=r.get(e);if(void 0!==a)return a;if(null!==e.deps)for(const a of e.deps){if(n.call(t,a))return!0;if(2&a.f&&In(a,t,r))return r.set(a,!0),!0}return r.set(e,!1),!1}function Mn(e){wn.schedule(e)}function Dn(e,t){if(0===(e.f&g)||0===(e.f&y)){0!==(e.f&w)?t.d.push(e):0!==(e.f&x)&&t.m.push(e),Se(e,y);for(var n=e.first;null!==n;)Dn(n,t),n=n.next}}let Vn=new Set;const Un=new Map;let Nn=!1;function zn(e,t){return{f:0,v:e,reactions:null,equals:V,rv:0,wv:0}}function jn(e,t){const n=zn(e);return nr(n),n}function Bn(e,t=!1,n=!0){const r=zn(e);return t||(r.equals=N),r}function Kn(e,t,r=!1){return null===Zn||Jn&&0===(Zn.f&S)||!(4325394&Zn.f)||null!==tr&&n.call(tr,e)||function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}(),Fn(e,r?le(t):t,En)}function Fn(e,t,n=null){if(!e.equals(t)){var r=e.v;Yn?Un.set(e,t):Un.set(e,r),e.v=t;var a=Rn.ensure();if(a.capture(e,r),2&e.f){const t=e;0!==(e.f&w)&&gt(t),Ae(t)}e.wv=ur(),qn(e,w,n),null===Qn||0===(Qn.f&y)||96&Qn.f||(null===or?function(e){or=e}([e]):or.push(e)),!a.is_fork&&Vn.size>0&&!Nn&&function(){Nn=!1;for(const e of Vn)0!==(e.f&y)&&Se(e,x),fr(e)&&gr(e);Vn.clear()}()}return t}function Hn(e){Kn(e,e.v+1)}function qn(e,t,n){var r=e.reactions;if(null!==r)for(var a=r.length,o=0;o<a;o++){var i=r[o],l=i.f,c=0===(l&w);if(c&&Se(i,t),2&l){var s=i;xn?.delete(s),0===(l&R)&&(l&m&&(i.f|=R),qn(s,x,n))}else if(c){var u=i;0!==(l&v)&&null!==Pn&&Pn.add(u),null!==n?n.push(u):Mn(u)}}}let Gn=!1,Yn=!1;function Wn(e){Yn=e}let Zn=null,Jn=!1;function Xn(e){Zn=e}let Qn=null;function er(e){Qn=e}let tr=null;function nr(e){null!==Zn&&(null===tr?tr=[e]:tr.push(e))}let rr=null,ar=0,or=null;let ir=1,lr=0,cr=lr;function sr(e){cr=e}function ur(){return++ir}function fr(e){var t=e.f;if(0!==(t&w))return!0;if(2&t&&(e.f&=-65537),0!==(t&x)){for(var n=e.deps,r=n.length,a=0;a<r;a++){var o=n[a];if(fr(o)&&bt(o),o.wv>e.wv)return!0}0!==(t&m)&&null===xn&&Se(e,y)}return!1}function dr(e,t,r=!0){var a=e.reactions;if(null!==a&&(null===tr||!n.call(tr,e)))for(var o=0;o<a.length;o++){var i=a[o];2&i.f?dr(i,t,!1):t===i&&(r?Se(i,w):0!==(i.f&y)&&Se(i,x),Mn(i))}}function hr(e){var t=rr,n=ar,r=or,a=Zn,o=tr,i=K,l=Jn,c=cr,s=e.f;rr=null,ar=0,or=null,Zn=96&s?null:e,tr=null,F(e.ctx),Jn=!1,cr=++lr,null!==e.ac&&(je(()=>{e.ac.abort(M)}),e.ac=null);try{e.f|=O;var u=(0,e.fn)();e.f|=$;var f=e.deps,d=wn?.is_fork;if(null!==rr){var h;if(d||vr(e,ar),null!==f&&ar>0)for(f.length=ar+rr.length,h=0;h<rr.length;h++)f[ar+h]=rr[h];else e.deps=f=rr;if($r()&&0!==(e.f&m))for(h=ar;h<f.length;h++)(f[h].reactions??=[]).push(e)}else!d&&null!==f&&ar<f.length&&(vr(e,ar),f.length=ar);if(!(null===or||Jn||null===f||6146&e.f))for(h=0;h<or.length;h++)dr(or[h],e);if(null!==a&&a!==e){if(lr++,null!==a.deps)for(let e=0;e<n;e+=1)a.deps[e].rv=lr;if(null!==t)for(const e of t)e.rv=lr;null!==or&&(null===r?r=or:r.push(...or))}return 0!==(e.f&P)&&(e.f^=P),u}catch(e){return $e(e)}finally{e.f^=O,rr=t,ar=n,or=r,Zn=a,tr=o,F(i),Jn=l,cr=c}}function pr(e,r){let a=r.reactions;if(null!==a){var o=t.call(a,e);if(-1!==o){var i=a.length-1;0===i?a=r.reactions=null:(a[o]=a[i],a.pop())}}if(null===a&&2&r.f&&(null===rr||!n.call(rr,r))){var l=r;0!==(l.f&m)&&(l.f^=m,l.f&=-65537),Ae(l),function(e){if(null!==e.effects)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(M),t.teardown=d,t.ac=null,vr(t,0),Mr(t))}(l),vr(l,0)}}function vr(e,t){var n=e.deps;if(null!==n)for(var r=t;r<n.length;r++)pr(e,n[r])}function gr(e){var t=e.f;if(0===(t&_)){Se(e,y);var n=Qn,r=Gn;Qn=e,Gn=!0;try{16777232&t?function(e){var t=e.first;for(;null!==t;){var n=t.next;0===(t.f&g)&&Dr(t),t=n}}(e):Mr(e),Ir(e);var a=hr(e);e.teardown="function"==typeof a?a:null,e.wv=ir}finally{Gn=r,Qn=n}}}async function br(){await Promise.resolve(),On()}function mr(e){var t=!!(2&e.f);if(null!==Zn&&!Jn&&!(null!==Qn&&0!==(Qn.f&_)||null!==tr&&n.call(tr,e))){var r=Zn.deps;if(0!==(Zn.f&O))e.rv<lr&&(e.rv=lr,null===rr&&null!==r&&r[ar]===e?ar++:null===rr?rr=[e]:rr.push(e));else{(Zn.deps??=[]).push(e);var a=e.reactions;null===a?e.reactions=[Zn]:n.call(a,Zn)||a.push(Zn)}}if(Yn&&Un.has(e))return Un.get(e);if(t){var o=e;if(Yn){var i=o.v;return(0===(o.f&y)&&null!==o.reactions||wr(o))&&(i=gt(o)),Un.set(o,i),i}var l=0===(o.f&m)&&!Jn&&null!==Zn&&(Gn||0!==(Zn.f&m)),c=0===(o.f&$);fr(o)&&(l&&(o.f|=m),bt(o)),l&&!c&&(mt(o),yr(o))}if(xn?.has(e))return xn.get(e);if(0!==(e.f&P))throw e.v;return e.v}function yr(e){if(e.f|=m,null!==e.deps)for(const t of e.deps)(t.reactions??=[]).push(e),2&t.f&&0===(t.f&m)&&(mt(t),yr(t))}function wr(e){if(e.v===j)return!0;if(null===e.deps)return!1;for(const t of e.deps){if(Un.has(t))return!0;if(2&t.f&&wr(t))return!0}return!1}function xr(e){var t=Jn;try{return Jn=!0,e()}finally{Jn=t}}function kr(e){null===Qn&&(null===Zn&&function(){throw new Error("https://svelte.dev/e/effect_orphan")}(),function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}()),Yn&&function(){throw new Error("https://svelte.dev/e/effect_in_teardown")}()}function _r(e,t){var n=Qn;null!==n&&0!==(n.f&k)&&(e|=k);var r={ctx:K,deps:null,nodes:null,f:e|w|m,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null},a=r;if(4&e)null!==Cn?Cn.push(r):Rn.ensure().schedule(r);else if(null!==t){try{gr(r)}catch(e){throw Dr(r),e}null===a.deps&&null===a.teardown&&null===a.nodes&&a.first===a.last&&0===(a.f&A)&&(a=a.first,0!==(e&v)&&0!==(e&E)&&null!==a&&(a.f|=E))}if(null!==a&&(a.parent=n,null!==n&&function(e,t){var n=t.last;null===n?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}(a,n),null!==Zn&&2&Zn.f&&0===(e&b))){var o=Zn;(o.effects??=[]).push(a)}return r}function $r(){return null!==Zn&&!Jn}function Cr(e){const t=_r(8,null);return Se(t,y),t.teardown=e,t}function Er(e){kr();var t=Qn.f;if(!(!Zn&&0!==(t&g)&&0===(t&$)))return Sr(e);var n=K;(n.e??=[]).push(e)}function Sr(e){return _r(1048580,e)}function Ar(e){return _r(4,e)}function Rr(e,t=0){return _r(8|t,e)}function Or(e,t=[],n=[],r=[]){yt(r,t,n,t=>{_r(8,()=>e(...t.map(mr)))})}function Pr(e,t=0){return _r(v|t,e)}function Tr(e,t=0){return _r(p|t,e)}function Lr(e){return _r(524320,e)}function Ir(e){var t=e.teardown;if(null!==t){const e=Yn,n=Zn;Wn(!0),Xn(null);try{t.call(null)}finally{Wn(e),Xn(n)}}}function Mr(e,t=!1){var n=e.first;for(e.first=e.last=null;null!==n;){const e=n.ac;null!==e&&je(()=>{e.abort(M)});var r=n.next;0!==(n.f&b)?n.parent=null:Dr(n,t),n=r}}function Dr(e,t=!0){var n=!1;(t||262144&e.f)&&null!==e.nodes&&null!==e.nodes.end&&(Vr(e.nodes.start,e.nodes.end),n=!0),Se(e,C),Mr(e,t&&!n),vr(e,0);var r=e.nodes&&e.nodes.t;if(null!==r)for(const e of r)e.stop();Ir(e),e.f^=C,e.f|=_;var a=e.parent;null!==a&&null!==a.first&&Ur(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Vr(e,t){for(;null!==e;){var n=e===t?null:me(e);e.remove(),e=n}}function Ur(e){var t=e.parent,n=e.prev,r=e.next;null!==n&&(n.next=r),null!==r&&(r.prev=n),null!==t&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Nr(e,t,n=!0){var r=[];zr(e,r,!0);var a=()=>{n&&Dr(e),t&&t()},o=r.length;if(o>0){var i=()=>--o||a();for(var l of r)l.out(i)}else a()}function zr(e,t,n){if(0===(e.f&k)){e.f^=k;var r=e.nodes&&e.nodes.t;if(null!==r)for(const e of r)(e.is_global||n)&&t.push(e);for(var a=e.first;null!==a;){var o=a.next;zr(a,t,!!(0!==(a.f&E)||0!==(a.f&g)&&0!==(e.f&v))&&n),a=o}}}function jr(e,t){if(0!==(e.f&k)){e.f^=k,0===(e.f&y)&&(Se(e,w),Rn.ensure().schedule(e));for(var n=e.first;null!==n;){var r=n.next;jr(n,!!(0!==(n.f&E)||0!==(n.f&g))&&t),n=r}var a=e.nodes&&e.nodes.t;if(null!==a)for(const e of a)(e.is_global||t)&&e.in()}}function Br(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;null!==n;){var a=n===r?null:me(n);t.append(n),n=a}}function Kr(e){const t={get:e=>gn(t.store)[e],set:(e,n)=>{"string"==typeof e?Object.assign(gn(t.store),{[e]:n}):Object.assign(gn(t.store),e),t.store.set(gn(t.store))},store:vn(e)};return t}globalThis.$altcha=globalThis.$altcha||{algorithms:new Map,defaults:Kr({}),i18n:Kr({}),instances:new Set,plugins:new Set};const Fr={ariaLinkLabel:"Visit Altcha.org",cancel:"Cancel",enterCode:"Enter code",enterCodeAria:"Enter code you hear. Press Space to play audio.",enterCodeFromImage:"To proceed, please enter the code from the image below.",error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:'Protected by <a href="https://altcha.org/" target="_blank" aria-label="Visit Altcha.org">ALTCHA</a>',getAudioChallenge:"Get an audio challenge",label:"I'm not a robot",loading:"Loading...",reload:"Reload",verify:"Verify",verificationRequired:"Verification required!",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait."};"$altcha"in globalThis&&globalThis.$altcha.i18n.set("en",Fr);"undefined"!=typeof window&&((window.__svelte??={}).v??=new Set).add("5");var Hr=et('<label class="altcha-checkbox"><input/> <svg width="12" height="9" viewBox="0 0 12 9"><polyline points="1 5 4 8 11 1"></polyline></svg> <div class="altcha-spinner altcha-checkbox-spinner" aria-hidden="true"></div></label>');function qr(e,t){H(t,!0);let n=ln(t,"loading"),r=on(t,["$$slots","$$events","$$legacy","$$host","loading"]);var a={get loading(){return n()},set loading(e){n(e),On()}},o=Hr();return Wt(ye(o),()=>({type:"checkbox",...r}),void 0,void 0,void 0,0,!0),ae(4),re(o),Or(()=>Yt(o,"data-loading",n())),ot(e,o),q(a)}fn(qr,{loading:{}},[],[],{mode:"open"});var Gr=et('<div class="altcha-checkbox-native"><input/> <div class="altcha-spinner altcha-checkbox-native-spinner"></div></div>');function Yr(e,t){H(t,!0);let n=ln(t,"loading"),r=on(t,["$$slots","$$events","$$legacy","$$host","loading"]);var a={get loading(){return n()},set loading(e){n(e),On()}},o=Gr();return Wt(ye(o),()=>({type:"checkbox",...r}),void 0,void 0,void 0,0,!0),ae(2),re(o),Or(()=>Yt(o,"data-loading",n())),ot(e,o),q(a)}fn(Yr,{loading:{}},[],[],{mode:"open"});var Wr=et('<div><a target="_blank" class="altcha-logo" aria-hidden="true"><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>');function Zr(e,t){H(t,!0);let n=ln(t,"strings");var r={get strings(){return n()},set strings(e){n(e),On()}},a=Wr(),o=ye(a);return Yt(o,"href","https://altcha.org"),re(a),Or(()=>Yt(o,"aria-label",n().ariaLinkLabel)),ot(e,a),q(r)}fn(Zr,{strings:{}},[],[],{mode:"open"});var Jr=et('<div class="altcha-footer"><div></div> <!></div>');function Xr(e,t){H(t,!0);let n=ln(t,"logo"),r=ln(t,"strings");var a={get logo(){return n()},set logo(e){n(e),On()},get strings(){return r()},set strings(e){r(e),On()}},o=Jr(),i=ye(o);Ct(i,()=>r().footer,!0),re(i);var l=xe(i,2),c=e=>{Zr(e,{get strings(){return r()}})};return _t(l,e=>{n()&&e(c)}),re(o),ot(e,o),q(a)}fn(Xr,{logo:{},strings:{}},[],[],{mode:"open"});var Qr=et('<label class="altcha-switch"><input/> <div class="altcha-switch-toggle"><div class="altcha-spinner altcha-switch-spinner"></div></div></label>');function ea(e,t){H(t,!0);let n=ln(t,"loading"),r=on(t,["$$slots","$$events","$$legacy","$$host","loading"]);var a={get loading(){return n()},set loading(e){n(e),On()}},o=Qr();return Wt(ye(o),()=>({type:"checkbox",...r}),void 0,void 0,void 0,0,!0),ae(2),re(o),Or(()=>Yt(o,"data-loading",n())),ot(e,o),q(a)}fn(ea,{loading:{}},[],[],{mode:"open"});var ta=(e=>(e.ERROR="error",e.LOADING="loading",e.PLAYING="playing",e.PAUSED="paused",e.READY="ready",e))(ta||{}),na=(e=>(e.CODE="code",e.ERROR="error",e.VERIFIED="verified",e.VERIFYING="verifying",e.UNVERIFIED="unverified",e.EXPIRED="expired",e))(na||{}),ra=et('<div class="altcha-code-challenge-title"> </div>'),aa=et('<div class="altcha-spinner"></div>'),oa=nt('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12.8659 3.00017L22.3922 19.5002C22.6684 19.9785 22.5045 20.5901 22.0262 20.8662C21.8742 20.954 21.7017 21.0002 21.5262 21.0002H2.47363C1.92135 21.0002 1.47363 20.5525 1.47363 20.0002C1.47363 19.8246 1.51984 19.6522 1.60761 19.5002L11.1339 3.00017C11.41 2.52187 12.0216 2.358 12.4999 2.63414C12.6519 2.72191 12.7782 2.84815 12.8659 3.00017ZM10.9999 16.0002V18.0002H12.9999V16.0002H10.9999ZM10.9999 9.00017V14.0002H12.9999V9.00017H10.9999Z"></path></svg>'),ia=nt('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M15 7C15 6.44772 15.4477 6 16 6C16.5523 6 17 6.44772 17 7V17C17 17.5523 16.5523 18 16 18C15.4477 18 15 17.5523 15 17V7ZM7 7C7 6.44772 7.44772 6 8 6C8.55228 6 9 6.44772 9 7V17C9 17.5523 8.55228 18 8 18C7.44772 18 7 17.5523 7 17V7Z"></path></svg>'),la=nt('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M4 12H7C8.10457 12 9 12.8954 9 14V19C9 20.1046 8.10457 21 7 21H4C2.89543 21 2 20.1046 2 19V12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12V19C22 20.1046 21.1046 21 20 21H17C15.8954 21 15 20.1046 15 19V14C15 12.8954 15.8954 12 17 12H20C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12Z"></path></svg>'),ca=et('<button type="button" class="altcha-button altcha-button-secondary"><!></button>'),sa=et('<audio hidden="" autoplay=""></audio>'),ua=et('<div class="altcha-code-challenge"><form data-code-challenge="true"><!> <div class="altcha-code-challenge-text"> </div> <img class="altcha-code-challenge-image" alt=""/> <div class="altcha-code-challenge-row"><input type="text" class="altcha-input" autocomplete="off" name="" required=""/> <!> <button type="button" class="altcha-button altcha-button-secondary"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2V4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 9.25022 5.38734 6.82447 7.50024 5.38451L7.5 8H9.5V2L3.5 2V4L5.99918 3.99989C3.57075 5.82434 2 8.72873 2 12Z"></path></svg></button></div> <div class="altcha-code-challenge-buttons"><button type="submit" class="altcha-button"> </button> <button type="button" class="altcha-button altcha-button-secondary"> </button></div></form> <!></div>');function fa(e,t){H(t,!0);let n=ln(t,"audioUrl"),r=ln(t,"codeChallenge"),a=ln(t,"config"),o=ln(t,"imageUrl"),i=ln(t,"onCancel"),l=ln(t,"onReload"),c=ln(t,"onSubmit"),s=ln(t,"strings"),u=jn(void 0),f=jn(void 0),d=jn(void 0),h=jn(!1),p=jn(""),v=jn(!1);function g(){Kn(u,ta.PAUSED,!0)}function b(e){Kn(u,ta.ERROR,!0)}function m(){Kn(u,ta.READY,!0)}function y(){Kn(u,ta.LOADING,!0)}function w(){Kn(u,ta.PLAYING,!0)}function x(){Kn(u,ta.PAUSED,!0)}function k(){mr(f)?mr(u)===ta.LOADING||(mr(f).paused?(n()&&mr(f).src!==n()&&(mr(f).src=n()),mr(f).currentTime=0,mr(f).play()):mr(f).pause()):(Kn(v,!0),requestAnimationFrame(()=>{mr(f)&&n()&&(mr(f).src=n(),mr(f).play())}))}dn(()=>(a().disableAutoFocus||br().then(()=>{mr(d)?.focus()}),()=>{mr(f)&&(mr(f).pause(),Kn(f,void 0))}));var _={get audioUrl(){return n()},set audioUrl(e){n(e),On()},get codeChallenge(){return r()},set codeChallenge(e){r(e),On()},get config(){return a()},set config(e){a(e),On()},get imageUrl(){return o()},set imageUrl(e){o(e),On()},get onCancel(){return i()},set onCancel(e){i(e),On()},get onReload(){return l()},set onReload(e){l(e),On()},get onSubmit(){return c()},set onSubmit(e){c(e),On()},get strings(){return s()},set strings(e){s(e),On()}},$=ua(),C=ye($),E=ye(C),S=e=>{var t=ra(),n=ye(t,!0);re(t),Or(()=>lt(n,s().verificationRequired)),ot(e,t)};_t(E,e=>{"standard"!==a().codeChallengeDisplay&&e(S)});var A=xe(E,2),R=ye(A,!0);re(A);var O=xe(A,2),P=xe(O,2),T=ye(P);qt(T),T.disabled=mr(h),rn(T,e=>Kn(d,e),()=>mr(d));var L=xe(T,2),I=e=>{var t=ca(),n=ye(t),r=e=>{ot(e,aa())},a=e=>{ot(e,oa())},o=e=>{ot(e,ia())},i=e=>{ot(e,la())};_t(n,e=>{mr(u)===ta.LOADING?e(r):mr(u)===ta.ERROR?e(a,1):mr(u)===ta.PLAYING?e(o,2):e(i,-1)}),re(t),Or(()=>{Yt(t,"title",s().getAudioChallenge),t.disabled=mr(u)===ta.LOADING||mr(u)===ta.ERROR,Yt(t,"aria-label",mr(u)===ta.LOADING?s().loading:s().getAudioChallenge)}),Ge("click",t,()=>k()),ot(e,t)};_t(L,e=>{r().audio&&e(I)});var M=xe(L,2);re(P);var D=xe(P,2),V=ye(D),U=ye(V,!0);re(V);var N=xe(V,2),z=ye(N,!0);re(N),re(D),re(C);var j=xe(C,2),B=e=>{var t=sa();rn(t,e=>Kn(f,e),()=>mr(f)),qe("error",t,b),qe("loadstart",t,y),qe("canplay",t,m),qe("pause",t,x),qe("playing",t,w),qe("ended",t,g),ot(e,t)};return _t(j,e=>{mr(v)&&e(B)}),re($),Or(()=>{lt(R,s().enterCodeFromImage),Yt(O,"src",o()),Yt(T,"minlength",r().length||1),Yt(T,"maxlength",r().length),Yt(T,"placeholder",s().enterCode),Yt(T,"aria-label",mr(u)===ta.LOADING?s().loading:mr(u)===ta.PLAYING?"":s().enterCodeAria),Yt(T,"aria-live",mr(u)?"assertive":"polite"),Yt(T,"aria-busy",mr(u)===ta.LOADING),Yt(M,"title",s().reload),Yt(M,"aria-label",s().reload),Yt(V,"aria-label",s().verify),lt(U,s().verify),Yt(N,"aria-label",s().cancel),lt(z,s().cancel)}),qe("submit",C,function(e){e.preventDefault(),e.stopPropagation(),c()?.(mr(p))},!0),Ge("keydown",T,function(e){"Space"===e.code?(e.preventDefault(),e.stopPropagation(),k()):"Escape"===e.code&&(e.preventDefault(),e.stopPropagation(),i()?.())}),Qt(T,()=>mr(p),e=>Kn(p,e)),Ge("click",M,()=>l()?.()),Ge("click",N,()=>i()?.()),ot(e,$),q(_)}Ye(["keydown","click"]),fn(fa,{audioUrl:{},codeChallenge:{},config:{},imageUrl:{},onCancel:{},onReload:{},onSubmit:{},strings:{}},[],[],{mode:"open"});var da=et('<div class="altcha-popover-backdrop" data-backdrop=""></div>'),ha=et('<div class="altcha-popover-arrow"></div>'),pa=et('<div role="button" class="altcha-popover-close">&times;</div>'),va=et('<!> <div><!> <!> <div class="altcha-popover-content"><!></div></div>',1);function ga(e,t){H(t,!0);let n=ln(t,"anchor"),r=ln(t,"children"),a=ln(t,"display",0,"standard"),o=ln(t,"backdrop",0,!1),i=ln(t,"onClickOutside"),l=ln(t,"onClickOutsideDelay",0,600),c=ln(t,"onClose"),s=ln(t,"variant",0,"neutral"),u=on(t,["$$slots","$$events","$$legacy","$$host","anchor","children","display","backdrop","onClickOutside","onClickOutsideDelay","onClose","variant"]),f=jn(void 0),h=jn(void 0),p=jn(!1),v=jn(0);function g(){c()?.()}function b(){if(n()&&mr(f)){const e=n().getBoundingClientRect(),t=document.documentElement.clientHeight-(e.top+e.height)<mr(f).clientHeight;mr(p)!==t&&Kn(p,t)}}dn(()=>{const e="bottomsheet"===a()||"overlay"===a();return e&&(mr(h)&&document.body.append(mr(h)),mr(f)&&document.body.append(mr(f))),b(),br().then(()=>{Kn(v,Date.now(),!0)}),()=>{e&&(mr(h)&&document.body.removeChild(mr(h)),mr(f)&&document.body.removeChild(mr(f)))}});var m={get anchor(){return n()},set anchor(e){n(e),On()},get children(){return r()},set children(e){r(e),On()},get display(){return a()},set display(e="standard"){a(e),On()},get backdrop(){return o()},set backdrop(e=!1){o(e),On()},get onClickOutside(){return i()},set onClickOutside(e){i(e),On()},get onClickOutsideDelay(){return l()},set onClickOutsideDelay(e=600){l(e),On()},get onClose(){return c()},set onClose(e){c(e),On()},get variant(){return s()},set variant(e="neutral"){s(e),On()}},y=va();qe("click",ue,function(e){const t=e.target;!mr(f)?.contains(t)&&mr(v)&&mr(v)+l()<Date.now()&&i()?.()}),qe("resize",ue,function(){b()}),qe("scroll",ue,function(){b()});var w=we(y),x=e=>{var t=da();rn(t,e=>Kn(h,e),()=>mr(h)),ot(e,t)};_t(w,e=>{o()&&e(x)});var k=xe(w,2);Wt(k,()=>({...u,class:`altcha-popover ${(t.class||"")??""}`,"data-popover":!0,"data-variant":s(),"data-top":mr(p),"data-display":a()}));var _=ye(k),$=e=>{ot(e,ha())};_t(_,e=>{"standard"===a()&&e($)});var C=xe(_,2),S=e=>{var t=pa();Ge("click",t,g),ot(e,t)};_t(C,e=>{"standard"!==a()&&e(S)});var A=xe(C,2);return function(e,t,...n){var r=new kt(e);Pr(()=>{const e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},E)}(ye(A),()=>r()??d),re(A),re(k),rn(k,e=>Kn(f,e),()=>mr(f)),ot(e,y),q(m)}async function ba(e){const{challenge:t,concurrency:n=navigator.hardwareConcurrency,controller:r=new AbortController,createWorker:a,onOutOfMemory:o=e=>e>1?Math.floor(e/2):0,counterMode:i}=e,l=Math.min(16,Math.max(1,n)),c=[],s=()=>{for(const e of c)e.terminate()};for(let e=0;e<l;e++)c.push(await a(t.parameters.algorithm));let u=null;try{u=await Promise.race(c.map((e,n)=>(r.signal.addEventListener("abort",()=>{e.postMessage({type:"abort"})}),new Promise((r,a)=>{e.addEventListener("error",e=>{a(e)}),e.addEventListener("message",t=>{if(t.data){for(const t of c)t!==e&&t.postMessage({type:"abort"});if(t.data.error)return a(new Error(t.data.error))}r(t.data)}),e.postMessage({challenge:t,counterMode:i,counterStart:n,counterStep:l,type:"work"})}))))}catch(n){if(n instanceof Error&&!!n?.message?.includes("Out of memory")&&o){s();const n=o(l);if(n)return ba({...e,challenge:t,controller:r,concurrency:n,createWorker:a})}throw n}finally{s()}return r.signal.aborted?null:u||null}Ye(["click"]),fn(ga,{anchor:{},children:{},display:{},backdrop:{},onClickOutside:{},onClickOutsideDelay:{},onClose:{},variant:{}},[],[],{mode:"open"});var ma=et('<div class="altcha-overlay-backdrop" data-backdrop=""></div>'),ya=et('<div class="altcha-overlay-content"></div>'),wa=et('<div role="button" class="altcha-overlay-close">&times;</div> <!>',1),xa=et('<div class="altcha-floating-arrow"></div>'),ka=et('<input type="hidden"/>'),_a=et('<div class="altcha-error">Secure context (HTTPS) required.</div>'),$a=et('<div class="altcha-error"> </div>'),Ca=et('<div class="altcha-error"> </div>'),Ea=et("<!> <!>",1),Sa=et('<!> <div class="altcha"><!> <div class="altcha-main"><div><div class="altcha-checkbox-wrap"><!> <label><!></label></div> <!></div> <!> <!> <!></div> <!></div>',1);Ye(["click"]),"undefined"!=typeof window&&window.customElements&&customElements.define("altcha-widget",fn(function(e,t){H(t,!0);const[n,r]=function(){const e={};return[e,function(){Cr(()=>{for(var t in e)e[t].unsubscribe();o(e,bn,{enumerable:!1,value:!0})})}]}(),a=["ar","fa","he","ur"],{isSecureContext:i}=globalThis,{store:l}=globalThis.$altcha.defaults,c=navigator.hardwareConcurrency||2,s=navigator.deviceMemory||0,u=s&&s<=4?Math.min(4,c):c,f=globalThis.$altcha.i18n.store,d=t.$$host,h=(e,t)=>{br().then(()=>{d?.dispatchEvent(new CustomEvent(e,{detail:t}))})};let p=jn(le(new URL(location.origin))),v=jn(!1),g=jn(null),b=jn(null),m=jn(le(na.UNVERIFIED)),y=jn(void 0),w=jn(void 0),x=jn(null),k=jn(void 0),_=jn(null),$=jn(null),C=jn(null),S=jn(null),A=jn(le([])),R=jn(le({})),O=jn(!0);const P=vt(()=>({fetch:(e,t)=>fetch(e,t),audioChallengeLanguage:"",auto:"off",barPlacement:"bottom",challenge:"",codeChallenge:null,codeChallengeDisplay:"standard",credentials:null,debug:!1,disableAutoFocus:!1,display:"standard",floatingAnchor:"",floatingOffset:8,floatingPersist:!1,floatingPlacement:"auto",hideFooter:!1,hideLogo:!1,language:"",mockError:!1,minDuration:500,overlayContent:"",name:"altcha",retryOnOutOfMemoryError:!0,setCookie:null,serverVerificationFields:!1,serverVerificationTimeZone:!1,test:!1,type:"checkbox",validationMessage:"",verifyFunction:null,verifyUrl:"",workers:u,...mn(l,"$altchaDefaults",n),...mr(R)})),T=vt(()=>`altcha-checkbox-${t.id||Math.floor(1e12*Math.random()).toString(16)}`),L=vt(()=>function(e){switch(e){case"checkbox":return qr;case"switch":return ea;default:return Yr}}(mr(P).type)),I=vt(()=>mr(m)===na.VERIFYING),M=vt(()=>!mr(P).hideFooter),D=vt(()=>!mr(P).hideLogo&&"bar"!==mr(P).display),V=vt(()=>function(e,t){const n=Object.keys(e).map(e=>e.toLowerCase());let r=t.reduce((t,r)=>(r=r.toLowerCase(),t||(e[r]?r:null)||n.find(e=>r.split("-")[0]===e.split("-")[0])||null),null);e[r||""]||(r="en");return{language:r,strings:e[r]}}(mn(f,"$altchaI18nStore",n),[mr(P).language,document.documentElement.lang,...navigator.languages])),U=vt(()=>a.includes(mr(V).language)?"rtl":void 0),N=vt(()=>({...mr(V).strings})),z=vt(()=>mr(g)?.audio?.match(/^(https?:)?\//)?W(mr(g).audio,mr(p),{language:mr(P).audioChallengeLanguage||mr(V).language}).toString():mr(g)?.audio),j=vt(()=>mr(g)?.image?.match(/^(https?:)?\//)?W(mr(g).image,mr(p)):mr(g)?.image);async function B(e,...t){let n;for(const r of mr(A))n=await r[e].call(r,...t);return n}async function K(e){await new Promise(t=>setTimeout(t,e))}async function F(e=mr(P).challenge){const t=await B("onFetchChallenge",e);if(void 0!==t)return t;if("string"==typeof e){let t=null;if(e.match(/^(https?:)?\//)){ke("fetching challenge from",e),Kn(p,new URL(e,location.origin),!0);const n=await mr(P).fetch(e,{credentials:mr(P).credentials||void 0});ve(n);const r=n.headers.get("x-altcha-config");r&&function(e){try{const t=JSON.parse(e);t&&"object"==typeof t&&be({serverVerificationFields:t?.sentinel?.fields,serverVerificationTimeZone:t?.sentinel?.timeZone,verifyUrl:t.verifyurl,...t})}catch(e){ke("unable to configure from x-altcha-config header",e)}}(r),t=await n.json()}else{ke("parsing JSON challenge");try{t=JSON.parse(e)}catch{throw new Error("Unable to parse JSON challenge.")}}if("object"==typeof t&&"challenge"in t&&(t=function(e){const[t,n]=e.salt.split("?"),r={};if(n)try{Object.assign(r,Object.fromEntries(new URLSearchParams(n).entries()))}catch{}const a={codeChallenge:e.codeChallenge,parameters:{algorithm:e.algorithm,cost:1,data:r,expiresAt:r?.expires?parseInt(r.expires,10):void 0,keyLength:"SHA-512"===e.algorithm?64:"SHA-384"===e.algorithm?48:32,nonce:(o=(new TextEncoder).encode(e.salt),Array.from(new Uint8Array(o)).map(e=>e.toString(16).padStart(2,"0")).join("")),keyPrefix:e.challenge,salt:""},signature:e.signature};var o;return Object.defineProperties(a,{_originalSalt:{enumerable:!1,value:e.salt,writable:!1},_version:{enumerable:!1,value:1,writable:!1}}),a}(t)),!function(e){return!!e&&"object"==typeof e&&"parameters"in e&&"signature"in e&&!!e.parameters&&"object"==typeof e.parameters&&"algorithm"in e.parameters&&"nonce"in e.parameters&&"salt"in e.parameters&&"keyPrefix"in e.parameters}(t))throw new Error("Challenge validation failed.");return t}return e&&"object"==typeof e?JSON.parse(JSON.stringify(e)):null}function G(){return document.getElementById(mr(T))}function Y(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function W(e,t,n){const r=new URL(e,t);if(r.search||(r.search=t.search),n)for(const e in n)void 0!==n[e]&&null!==n[e]&&r.searchParams.set(e,n[e]);return r.toString()}function Z(e){!mr(v)&&e.currentTarget.checked?(e.preventDefault(),e.currentTarget.checked=!1,mr(m)!==na.VERIFYING&&Se()):e.currentTarget.checked||(e.preventDefault(),_e())}function J(e){mr(m)===na.VERIFYING?e.currentTarget.setCustomValidity(mr(N).waitAlert):mr(P).validationMessage&&e.currentTarget.setCustomValidity(mr(P).validationMessage)}function ae(){mr(b)&&mr(b).abort(),pe(mr(P).display),_e()}function ce(e){"onfocus"===mr(P).auto&&mr(m)===na.UNVERIFIED&&Se()}function se(){mr(b)&&mr(b).abort(),pe(mr(P).display),_e()}function de(e){Kn(_,e.submitter,!0),"onsubmit"===mr(P).auto&&mr(m)===na.UNVERIFIED&&(e.preventDefault(),e.stopPropagation(),Ce(),Se().then(e=>{e&&!mr(g)&&br().then(()=>{he(mr(_))})}))}function he(e){mr(x)&&"requestSubmit"in mr(x)?mr(x).requestSubmit(e):mr(x)?.reportValidity()&&(e?e.click():mr(x).submit())}function pe(e){switch(e){case"bar":case"floating":case"overlay":me(),mr(P).auto&&"off"!==mr(P).auto||(mr(R).auto="onsubmit");break;case"standard":Ce()}}function ve(e){if(e.status>=400)throw new Error(`Server responded with ${e.status}.`);const t=e.headers.get("content-type");if(!t||!t.includes("/json"))throw new Error(`Server responded with invalid content-type. Expected application/json, received ${t}.`)}async function ge(e){if(!mr(S))return void $e(na.ERROR,"Cannot verify code challenge without PoW payload.");$e(na.VERIFYING);let t=null;if(mr(P).verifyUrl)t=await async function(e,t){const n=await B("onRequestServerVerification",e,t);if(void 0!==n)return n;if(ke("requesting server verification from",mr(P).verifyUrl),!mr(P).verifyUrl)throw new Error("Parameter verifyUrl must be set for server verification.");const r=await mr(P).fetch(W(mr(P).verifyUrl,mr(p)),{body:JSON.stringify({code:t,fields:mr(P).serverVerificationFields?[...mr(x)?.querySelectorAll('input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')||[]].reduce((e,t)=>{const n=t.name,r=t.value;return n&&r&&(e[n]=/\n/.test(r)?r.replace(new RegExp("(?<!\\r)\\n","g"),"\r\n"):r),e},{}):void 0,payload:e,timeZone:mr(P).serverVerificationTimeZone?Y():void 0}),credentials:mr(P).credentials||void 0,headers:{"Content-Type":"application/json"},method:"POST"});ve(r);const a=await r.json();return a&&"object"==typeof a&&"payload"in a&&a.payload&&h("serververification",a),a}(mr(S),e);else{if(!mr(P).verifyFunction)return void $e(na.ERROR,"Parameter verifyUrl is required for code challenge verification.");t=await mr(P).verifyFunction(mr(S),e)}t?.payload&&(Kn(S,t.payload,!0),ke("server payload",mr(S))),!0===t?.verified?(ke("verified"),$e(na.VERIFIED),h("verified",{payload:mr(S)}),"onsubmit"===mr(P).auto&&br().then(()=>{he(mr(_))})):$e(na.ERROR,t?.reason||"Verification failed."),mr(P).disableAutoFocus||G()?.focus()}function be(e){Object.assign(mr(R),{...Object.fromEntries(Object.entries(e).filter(([e,t])=>void 0!==t))})}function me(){Kn(O,!1)}function ke(...e){(mr(P).debug||e.some(e=>e instanceof Error))&&console[e[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${mr(P).name}]`,...e)}function _e(e=na.UNVERIFIED,t=null){Kn(v,!1),Kn($,t,!0),Kn(S,null),mr(C)&&(clearTimeout(mr(C)),Kn(C,null)),$e(e)}function $e(e,t=null){Kn(m,e,!0),Kn($,t,!0),h("statechange",{payload:mr(S),state:mr(m)})}function Ce(){Kn(O,!0),br().then(()=>{Ee()})}function Ee(){if("floating"===mr(P).display)return function(e=20){if(!mr(k))return;const t=mr(P).floatingPlacement;if(!mr(w)&&(Kn(w,(mr(P).floatingAnchor instanceof HTMLElement?mr(P).floatingAnchor:mr(P).floatingAnchor?document.querySelector(mr(P).floatingAnchor):mr(x)?.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])'))||mr(x),!0),!mr(w)))return void ke("unable to find floating anchor element");const n=parseInt(mr(P).floatingOffset,10)||12,r=mr(w).getBoundingClientRect(),a=mr(k).getBoundingClientRect(),o=document.documentElement.clientHeight,i=document.documentElement.clientWidth,l=t&&"auto"!==t?"top"===t:r.bottom+a.height+n+e>o,c=Math.max(e,Math.min(i-e-a.width,r.left+r.width/2-a.width/2));if(mr(k).style.setProperty("--altcha-floating-left",`${c}px`),mr(k).style.setProperty("--altcha-floating-top",l?r.top-(a.height+n)+"px":`${r.bottom+n}px`),mr(k).setAttribute("data-floating-position",l?"top":"bottom"),mr(y)){const e=mr(y).getBoundingClientRect();mr(y).style.left=r.left-c+r.width/2-e.width/2+"px"}}()}async function Se(e={}){const{concurrency:t=Math.max(1,mr(P).workers),controller:n=new AbortController,minDuration:r=mr(P).minDuration}=e,a=performance.now();let o=null,l=null,c=!1;const s=await B("onVerify",e);if(void 0!==s)return s;Kn(b,n,!0),_e(na.VERIFYING);try{if(!i)throw new Error("Secure context (HTTPS) required.");if(mr(P).mockError)throw new Error("Mock error.");if(mr(P).test)return ke("running test mode with null challenge"),await K(Math.max(0,r-(performance.now()-a))),Kn(S,btoa(JSON.stringify({challenge:null,solution:null,test:!0})),!0),ke("verified"),$e(na.VERIFIED),h("vefified",{payload:mr(S)}),{payload:mr(S)};if(o=await F(),!o)throw new Error("Failed to fetch challenge.");ke("challenge",o),"configuration"in o&&(ke("re-configuring from challenge",o.configuration),be(o.configuration)),o.parameters.expiresAt&&function(e){mr(C)&&clearTimeout(mr(C));const t=()=>{mr(m)!==na.UNVERIFIED?(Kn(v,!1),$e(na.EXPIRED)):_e(),h("expired")},n=1e3*e-Date.now();n>=1?Kn(C,setTimeout(t,n),!0):t()}(o.parameters.expiresAt),c="_version"in o&&1===o._version;const e=globalThis.$altcha.algorithms.get(o.parameters.algorithm);if(!e)throw new Error(`Unsupported algorithm ${o.parameters.algorithm}.`);if(l=await ba({challenge:o,concurrency:t,controller:n,createWorker:e,counterMode:c?"string":"uint32",onOutOfMemory:e=>{if(ke("out of memory error received"),h("outofmemory"),mr(P).retryOnOutOfMemoryError&&e>1){const t=Math.floor(e/2);return ke(`retrying with ${t} workers...`),t}}}),mr(b)?.signal.aborted)return _e(),null;if(!l)throw new Error("Failed to find solution.");ke("solution",l),await K(Math.max(0,r-(performance.now()-a))),Kn(g,o.codeChallenge||mr(P).codeChallenge||null,!0),Kn(S,c?btoa(JSON.stringify(function(e,t){return{algorithm:e.parameters.algorithm,challenge:e.parameters.keyPrefix,number:t.counter,salt:"_originalSalt"in e?e._originalSalt:e.parameters.nonce,signature:e.signature,took:t.time||0}}(o,l))):btoa(JSON.stringify({challenge:{...o,codeChallenge:void 0},solution:l})),!0),mr(g)?(ke("requesting code verification"),$e(na.CODE),h("codechallenge",{codeChallenge:mr(g)})):mr(P).verifyUrl?await ge():(ke("verified"),$e(na.VERIFIED),h("vefified",{payload:mr(S)}))}catch(e){return ke("verification failed",e),$e(na.ERROR,String(e)),null}finally{Kn(b,null)}return{challenge:o,payload:mr(S),solution:l}}Er(()=>{be({auto:t.auto,challenge:t.challenge,display:t.display,language:t.language,name:t.name,type:t.type,workers:t.workers})}),Er(()=>{if(t.configuration)try{be(JSON.parse(t.configuration))}catch{ke("unable to parse the `configuration` attribute (JSON expected)")}}),Er(()=>{pe(mr(P).display)}),Er(()=>{mr(v)&&mr(m)===na.VERIFYING&&Kn(v,!1)}),Er(()=>{mr(v)||mr(m)!==na.VERIFIED||Kn(v,!0)}),Er(()=>{if(!mr(v)){const e=G();e&&e.checked&&(e.checked=!1)}}),Er(()=>{mr(m)===na.VERIFIED&&G()?.setCustomValidity("")}),Er(()=>{if("onload"===mr(P).auto){const e=setTimeout(()=>{Se()},1);return()=>{e&&clearTimeout(e)}}}),Er(()=>{mr($)&&ke("error:",mr($))}),Er(()=>{mr(S)&&mr(P).setCookie&&function(e,t={}){const{domain:n,name:r=mr(P).name,maxAge:a,path:o,sameSite:i,secure:l}=t;let c=`${encodeURIComponent(r)}=${encodeURIComponent(e)}`;n&&(c+=`; Domain=${n}`);null!=a&&(c+=`; Max-Age=${a}`);o&&(c+=`; Path=${o}`);i&&(c+=`; SameSite=${i}`);l&&(c+="; Secure");document.cookie=c}(mr(S),mr(P).setCookie)}),dn(()=>(ke("mounted","3.0.0-beta.2"),d&&globalThis.$altcha.instances.add(d),Kn(x,mr(k)?.closest("form"),!0),mr(x)?.addEventListener("reset",se),mr(x)?.addEventListener("submit",de),mr(x)?.addEventListener("focusin",ce),function(){Kn(A,[...globalThis.$altcha.plugins].map(e=>new e(d)),!0),ke("activating plugins",mr(A).map(e=>e.constructor.name));for(const e of mr(A))e.activate()}(),h("load"),i||ke("secure context (HTTPS) required"),()=>{!function(){for(const e of mr(A))e.destroy()}(),d&&globalThis.$altcha.instances.delete(d),mr(C)&&clearTimeout(mr(C)),mr(x)?.removeEventListener("reset",se),mr(x)?.removeEventListener("submit",de),mr(x)?.removeEventListener("focusin",ce)}));var Ae={configure:be,getConfiguration:function(){return{...mr(P)}},getState:function(){return mr(m)},hide:me,log:ke,reset:_e,setState:$e,show:Ce,updateUI:Ee,verify:Se},Re=Sa();qe("scroll",fe,function(){Ee()}),qe("click",fe,function(e){const t=e.target;"floating"!==mr(P).display||!t||d?.contains(t)||t.hasAttribute("data-backdrop")||t.closest("[data-popover]")||mr(m)===na.VERIFIED||mr(P).floatingPersist||me()}),qe("pageshow",ue,function(){_e()}),qe("resize",ue,function(){Ee()});var Oe=we(Re),Pe=e=>{ot(e,ma())};_t(Oe,e=>{"overlay"===mr(P).display&&mr(O)&&e(Pe)});var Te=xe(Oe,2),Le=ye(Te),Ie=e=>{var t=wa(),n=we(t),r=xe(n,2),a=e=>{var t=ya();Ct(t,()=>document.querySelector(mr(P).overlayContent)?.innerHTML,!0),re(t),ot(e,t)};_t(r,e=>{mr(P).overlayContent&&e(a)}),Ge("click",n,ae),ot(e,t)};_t(Le,e=>{"overlay"===mr(P).display&&mr(O)&&e(Ie)});var Me=xe(Le,2),De=ye(Me),Ve=ye(De),Ue=ye(Ve);{let e=vt(()=>"standard"===mr(P).display&&"onsubmit"!==mr(P).auto||mr(m)===na.VERIFYING);!function(e,t,n){var r;Q&&(r=X,ne());var a=new kt(e);Pr(()=>{var e=t()??null;if(Q&&"["===ie(r)!=(null!==e)){var o=oe();return te(o),a.anchor=o,ee(!1),a.ensure(e,e&&(t=>n(t,e))),void ee(!0)}a.ensure(e,e&&(t=>n(t,e)))},E)}(Ue,()=>mr(L),(t,n)=>{n(t,{get id(){return mr(T)},name:"",get required(){return mr(e)},get loading(){return mr(I)},get checked(){return mr(v)},onchange:Z,oninvalid:J})})}var Ne=xe(Ue,2),ze=ye(Ne),je=e=>{var t=rt();Or(()=>lt(t,mr(N).verificationRequired)),ot(e,t)},Be=e=>{var t=rt();Or(()=>lt(t,mr(N).verifying)),ot(e,t)},Ke=e=>{var t=rt();Or(()=>lt(t,mr(N).verified)),ot(e,t)},Fe=e=>{var t=rt();Or(()=>lt(t,mr(N).label)),ot(e,t)};_t(ze,e=>{mr(m)===na.CODE&&mr(g)?e(je):mr(m)===na.VERIFYING?e(Be,1):mr(m)===na.VERIFIED?e(Ke,2):e(Fe,-1)}),re(Ne),re(Ve);var He=xe(Ve,2),Ye=e=>{Zr(e,{get strings(){return mr(N)}})};_t(He,e=>{mr(D)&&e(Ye)}),re(De);var We=xe(De,2),Ze=e=>{{let t=vt(()=>"bar"===mr(P).display&&mr(D));Xr(e,{get logo(){return mr(t)},get strings(){return mr(N)}})}};_t(We,e=>{mr(M)&&e(Ze)});var Je=xe(We,2),Xe=e=>{var t=xa();rn(t,e=>Kn(y,e),()=>mr(y)),ot(e,t)};_t(Je,e=>{"floating"===mr(P).display&&e(Xe)});var Qe=xe(Je,2),et=e=>{var t=ka();qt(t),Or(()=>{var e,n,r;Yt(t,"name",mr(P).name),e=t,n=mr(S),(r=Zt(e)).value!==(r.value=n??void 0)&&(e.value!==n||0===n&&e.nodeName===Ht)&&(e.value=n??"")}),ot(e,t)};_t(Qe,e=>{mr(P).setCookie||e(et)}),re(Me);var tt=xe(Me,2),nt=e=>{ga(e,{get anchor(){return mr(k)},onClickOutside:()=>{i&&_e()},role:"alert",variant:"error",get dir(){return mr(U)},children:(e,t)=>{var n=at(),r=we(n),a=e=>{ot(e,_a())},o=e=>{var t=$a(),n=ye(t,!0);re(t),Or(()=>lt(n,mr(N).expired)),ot(e,t)},l=e=>{var t=Ca(),n=ye(t,!0);re(t),Or(()=>{Yt(t,"title",mr($)),lt(n,mr(N).error)}),ot(e,t)};_t(r,e=>{mr($)||i?mr($)||mr(m)!==na.EXPIRED?e(l,-1):e(o,1):e(a)}),ot(e,n)},$$slots:{default:!0}})},it=e=>{var t=at();!function(e,t,n){Q&&ne();var r=new kt(e);Pr(()=>{var e=t();e!=e&&(e=$t),r.ensure(e,n)})}(we(t),()=>mr(g),e=>{{let t=vt(()=>"standard"!==mr(P).codeChallengeDisplay);ga(e,{get anchor(){return mr(k)},get backdrop(){return mr(t)},get display(){return mr(P).codeChallengeDisplay},onClose:()=>{_e()},role:"dialog",get"aria-label"(){return mr(N).verificationRequired},get dir(){return mr(U)},children:(e,t)=>{var n=Ea(),r=we(n);fa(r,{get audioUrl(){return mr(z)},get imageUrl(){return mr(j)},onCancel:()=>_e(),onReload:()=>Se(),onSubmit:e=>ge(e),get codeChallenge(){return mr(g)},get config(){return mr(P)},get strings(){return mr(N)}});var a=xe(r,2),o=e=>{Xr(e,{get logo(){return mr(D)},get strings(){return mr(N)}})};_t(a,e=>{mr(M)&&"standard"!==mr(P).codeChallengeDisplay&&e(o)}),ot(e,n)},$$slots:{default:!0}})}}),ot(e,t)};_t(tt,e=>{mr($)||mr(m)===na.EXPIRED||!i?e(nt):mr(g)&&mr(m)===na.CODE&&e(it,1)}),re(Te),rn(Te,e=>Kn(k,e),()=>mr(k)),Or(e=>{Yt(Te,"data-state",mr(m)),Yt(Te,"data-display",mr(P).display||void 0),Yt(Te,"data-placement",e),Yt(Te,"data-visible",mr(O)||void 0),Yt(Te,"dir",mr(U)),Yt(Ne,"for",mr(T)),Te.dir=Te.dir},[()=>function(e){switch(e){case"bar":return mr(P).barPlacement||"bottom";case"floating":return mr(P).floatingPlacement||"auto";default:return}}(mr(P).display)]),ot(e,Re);var ct=q(Ae);return r(),ct},{auto:{type:"String"},challenge:{type:"String"},configuration:{type:"String"},display:{type:"String"},language:{type:"String"},name:{type:"String"},theme:{type:"String"},type:{type:"String"},workers:{type:"Number"}},[],["configure","getConfiguration","getState","hide","log","reset","setState","show","updateUI","verify"]));const Aa='(function() {\n "use strict";\n function bufferStartsWith(buffer, prefix) {\n if (prefix.length > buffer.length) {\n return false;\n }\n for (let i = 0; i < prefix.length; i++) {\n if (buffer[i] !== prefix[i]) {\n return false;\n }\n }\n return true;\n }\n function bufferToHex(buffer) {\n return Array.from(new Uint8Array(buffer)).map((b) => b.toString(16).padStart(2, "0")).join("");\n }\n function concatBuffers(a, b) {\n const out = new Uint8Array(a.length + b.length);\n out.set(a, 0);\n out.set(b, a.length);\n return out;\n }\n function hexToBuffer(hex) {\n if (hex.length % 2 !== 0) {\n throw new Error(`Hex string must have an even length. Got: ${hex}`);\n }\n const buffer = new ArrayBuffer(hex.length / 2);\n const view = new DataView(buffer);\n for (let i = 0; i < hex.length; i += 2) {\n const byteString = hex.substring(i, i + 2);\n const byteValue = parseInt(byteString, 16);\n view.setUint8(i / 2, byteValue);\n }\n return new Uint8Array(buffer);\n }\n async function delay(ms) {\n await new Promise((resolve) => setTimeout(resolve, ms));\n }\n function timeDuration(start) {\n return Math.floor((performance.now() - start) * 10) / 10;\n }\n class PasswordBuffer {\n constructor(nonce, mode = "uint32") {\n this.nonce = nonce;\n this.mode = mode;\n this.buffer = new Uint8Array(this.nonce.length + this.COUNTER_BYTES);\n this.buffer.set(this.nonce, 0);\n this.dataView = new DataView(this.buffer.buffer);\n }\n COUNTER_BYTES = 4;\n buffer;\n dataView;\n encoder = new TextEncoder();\n /**\n * Appends the counter to the nonce buffer.\n * In \'string\' mode, encodes the counter as a UTF-8 string.\n * In \'uint32\' mode, writes the counter as a big-endian 32-bit integer.\n */\n setCounter(n) {\n if (this.mode === "string") {\n return concatBuffers(this.nonce, this.encoder.encode(n.toString()));\n }\n this.dataView.setUint32(this.nonce.length, n, false);\n return this.buffer;\n }\n }\n async function solveChallenge(options) {\n const {\n challenge,\n controller,\n counterMode = "uint32",\n counterStart = 0,\n counterStep = 1,\n deriveKey: deriveKey2,\n timeout = 9e4\n } = options;\n const { nonce, keyPrefix, salt } = challenge.parameters;\n const nonceBuf = hexToBuffer(nonce);\n const saltBuf = hexToBuffer(salt);\n const keyPrefixBuf = keyPrefix.length % 2 === 0 ? hexToBuffer(keyPrefix) : null;\n const password = new PasswordBuffer(nonceBuf, counterMode);\n const start = performance.now();\n let counter = counterStart;\n let derivedKeyHex = "";\n let lastYield = start;\n while (true) {\n if (controller?.signal.aborted || timeout && counter % 10 === 0 && performance.now() - start > timeout) {\n return null;\n }\n const { derivedKey } = await deriveKey2(\n challenge.parameters,\n saltBuf,\n password.setCounter(counter)\n );\n if (counter % 10 === 0 && performance.now() - lastYield > 200) {\n await delay(0);\n lastYield = performance.now();\n }\n if (keyPrefixBuf ? bufferStartsWith(derivedKey, keyPrefixBuf) : bufferToHex(derivedKey).startsWith(keyPrefix)) {\n derivedKeyHex = bufferToHex(derivedKey);\n break;\n }\n counter = counter + counterStep;\n }\n return {\n counter,\n derivedKey: derivedKeyHex,\n time: timeDuration(start)\n };\n }\n function handler(options) {\n const { deriveKey: deriveKey2 } = options;\n let controller = void 0;\n self.onmessage = async (message) => {\n const { challenge, counterMode, counterStart, counterStep, type } = message.data;\n if (type === "abort") {\n controller?.abort();\n } else if (type === "work") {\n controller = new AbortController();\n let solution;\n try {\n solution = await solveChallenge({\n challenge,\n controller,\n counterStart,\n counterStep,\n deriveKey: deriveKey2,\n counterMode\n });\n } catch (err) {\n return self.postMessage({ error: err });\n }\n self.postMessage(solution);\n }\n };\n }\n function getDigest(algorithm) {\n switch (algorithm) {\n case "PBKDF2/SHA-512":\n return "SHA-512";\n case "PBKDF2/SHA-384":\n return "SHA-384";\n case "PBKDF2/SHA-256":\n default:\n return "SHA-256";\n }\n }\n async function deriveKey(parameters, salt, password) {\n const { algorithm, cost, keyLength = 32 } = parameters;\n const passwordKey = await crypto.subtle.importKey(\n "raw",\n password,\n { name: "PBKDF2" },\n false,\n ["deriveKey"]\n );\n const derivedKey = await crypto.subtle.deriveKey(\n {\n name: "PBKDF2",\n salt,\n iterations: cost,\n hash: getDigest(algorithm)\n },\n passwordKey,\n { name: "AES-GCM", length: keyLength * 8 },\n true,\n ["encrypt"]\n );\n return {\n derivedKey: new Uint8Array(await crypto.subtle.exportKey("raw", derivedKey))\n };\n }\n handler({\n deriveKey\n });\n})();\n',Ra="undefined"!=typeof self&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",Aa],{type:"text/javascript;charset=utf-8"});function Oa(e){let t;try{if(t=Ra&&(self.URL||self.webkitURL).createObjectURL(Ra),!t)throw"";const n=new Worker(t,{name:e?.name});return n.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch(t){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(Aa),{name:e?.name})}}const Pa='(function() {\n "use strict";\n function bufferStartsWith(buffer, prefix) {\n if (prefix.length > buffer.length) {\n return false;\n }\n for (let i = 0; i < prefix.length; i++) {\n if (buffer[i] !== prefix[i]) {\n return false;\n }\n }\n return true;\n }\n function bufferToHex(buffer) {\n return Array.from(new Uint8Array(buffer)).map((b) => b.toString(16).padStart(2, "0")).join("");\n }\n function concatBuffers(a, b) {\n const out = new Uint8Array(a.length + b.length);\n out.set(a, 0);\n out.set(b, a.length);\n return out;\n }\n function hexToBuffer(hex) {\n if (hex.length % 2 !== 0) {\n throw new Error(`Hex string must have an even length. Got: ${hex}`);\n }\n const buffer = new ArrayBuffer(hex.length / 2);\n const view = new DataView(buffer);\n for (let i = 0; i < hex.length; i += 2) {\n const byteString = hex.substring(i, i + 2);\n const byteValue = parseInt(byteString, 16);\n view.setUint8(i / 2, byteValue);\n }\n return new Uint8Array(buffer);\n }\n async function delay(ms) {\n await new Promise((resolve) => setTimeout(resolve, ms));\n }\n function timeDuration(start) {\n return Math.floor((performance.now() - start) * 10) / 10;\n }\n class PasswordBuffer {\n constructor(nonce, mode = "uint32") {\n this.nonce = nonce;\n this.mode = mode;\n this.buffer = new Uint8Array(this.nonce.length + this.COUNTER_BYTES);\n this.buffer.set(this.nonce, 0);\n this.dataView = new DataView(this.buffer.buffer);\n }\n COUNTER_BYTES = 4;\n buffer;\n dataView;\n encoder = new TextEncoder();\n /**\n * Appends the counter to the nonce buffer.\n * In \'string\' mode, encodes the counter as a UTF-8 string.\n * In \'uint32\' mode, writes the counter as a big-endian 32-bit integer.\n */\n setCounter(n) {\n if (this.mode === "string") {\n return concatBuffers(this.nonce, this.encoder.encode(n.toString()));\n }\n this.dataView.setUint32(this.nonce.length, n, false);\n return this.buffer;\n }\n }\n async function solveChallenge(options) {\n const {\n challenge,\n controller,\n counterMode = "uint32",\n counterStart = 0,\n counterStep = 1,\n deriveKey: deriveKey2,\n timeout = 9e4\n } = options;\n const { nonce, keyPrefix, salt } = challenge.parameters;\n const nonceBuf = hexToBuffer(nonce);\n const saltBuf = hexToBuffer(salt);\n const keyPrefixBuf = keyPrefix.length % 2 === 0 ? hexToBuffer(keyPrefix) : null;\n const password = new PasswordBuffer(nonceBuf, counterMode);\n const start = performance.now();\n let counter = counterStart;\n let derivedKeyHex = "";\n let lastYield = start;\n while (true) {\n if (controller?.signal.aborted || timeout && counter % 10 === 0 && performance.now() - start > timeout) {\n return null;\n }\n const { derivedKey } = await deriveKey2(\n challenge.parameters,\n saltBuf,\n password.setCounter(counter)\n );\n if (counter % 10 === 0 && performance.now() - lastYield > 200) {\n await delay(0);\n lastYield = performance.now();\n }\n if (keyPrefixBuf ? bufferStartsWith(derivedKey, keyPrefixBuf) : bufferToHex(derivedKey).startsWith(keyPrefix)) {\n derivedKeyHex = bufferToHex(derivedKey);\n break;\n }\n counter = counter + counterStep;\n }\n return {\n counter,\n derivedKey: derivedKeyHex,\n time: timeDuration(start)\n };\n }\n function handler(options) {\n const { deriveKey: deriveKey2 } = options;\n let controller = void 0;\n self.onmessage = async (message) => {\n const { challenge, counterMode, counterStart, counterStep, type } = message.data;\n if (type === "abort") {\n controller?.abort();\n } else if (type === "work") {\n controller = new AbortController();\n let solution;\n try {\n solution = await solveChallenge({\n challenge,\n controller,\n counterStart,\n counterStep,\n deriveKey: deriveKey2,\n counterMode\n });\n } catch (err) {\n return self.postMessage({ error: err });\n }\n self.postMessage(solution);\n }\n };\n }\n async function deriveKey(parameters, salt, password) {\n const { algorithm, keyLength = 32 } = parameters;\n const iterations = Math.max(1, parameters.cost);\n let data = void 0;\n let derivedKey = void 0;\n for (let i = 0; i < iterations; i++) {\n if (i === 0) {\n data = concatBuffers(salt, password);\n } else {\n data = derivedKey;\n }\n derivedKey = new Uint8Array(\n (await crypto.subtle.digest(algorithm, data)).slice(0, keyLength)\n );\n }\n return {\n parameters: {},\n derivedKey\n };\n }\n handler({\n deriveKey\n });\n})();\n',Ta="undefined"!=typeof self&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",Pa],{type:"text/javascript;charset=utf-8"});function La(e){let t;try{if(t=Ta&&(self.URL||self.webkitURL).createObjectURL(Ta),!t)throw"";const n=new Worker(t,{name:e?.name});return n.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch(t){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(Pa),{name:e?.name})}}!function(e,t="altcha-css"){if("undefined"!=typeof document&&document&&!document.getElementById(t)){const n=document.createElement("style");n.id=t,n.textContent=e,document.head.appendChild(n)}}(':root {\n --altcha-border-color: var(--altcha-color-neutral);\n --altcha-border-width: 1px;\n --altcha-border-radius: 6px;\n --altcha-color-base: light-dark(oklch(100% 0.00011 271.152), oklch(20.904% 0.00002 271.152));\n --altcha-color-base-content: light-dark(\n \toklch(20.904% 0.00002 271.152),\n \toklch(100% 0.00011 271.152)\n );\n --altcha-color-error: oklch(51.284% 0.20527 28.678);\n --altcha-color-error-content: oklch(100% 0.00011 271.152);\n --altcha-color-neutral: light-dark(oklch(83.591% 0.0001 271.152), oklch(46.04% 0.00005 271.152));\n --altcha-color-neutral-content: light-dark(\n \toklch(46.76% 0.00005 271.152),\n \toklch(100% 0.00011 271.152)\n );\n --altcha-color-primary: oklch(40.279% 0.2449 268.131);\n --altcha-color-primary-content: oklch(100% 0.00011 271.152);\n --altcha-color-success: oklch(55.748% 0.18968 142.511);\n --altcha-color-success-content: oklch(100% 0.00011 271.152);\n --altcha-checkbox-border-color: var(--altcha-color-neutral);\n --altcha-checkbox-border-radius: 5px;\n --altcha-checkbox-border-width: var(--altcha-border-width);\n --altcha-checkbox-outline: 2px solid var(--altcha-checkbox-outline-color);\n --altcha-checkbox-outline-color: light-dark(\n \tcolor-mix(in srgb, var(--altcha-color-primary) 20%, transparent),\n \tcolor-mix(in srgb, var(--altcha-color-primary) 60%, transparent)\n );\n --altcha-checkbox-outline-offset: 2px;\n --altcha-checkbox-size: 22px;\n --altcha-checkbox-transition-duration: var(--altcha-transition-duration);\n --altcha-input-background-color: var(--altcha-color-base);\n --altcha-input-border-radius: 3px;\n --altcha-input-border-width: 1px;\n --altcha-input-color: var(--altcha-color-base-content);\n --altcha-max-width: 320px;\n --altcha-padding: 0.75rem;\n --altcha-popover-arrow-size: 6px;\n --altcha-popover-color: var(--altcha-border-color);\n --altcha-shadow: drop-shadow(3px 3px 6px oklch(0% 0 0 / 0.2));\n --altcha-spinner-color: var(--altcha-color-base-content);\n --altcha-switch-background-color: var(--altcha-color-neutral);\n --altcha-switch-border-radius: calc(infinity * 1px);\n --altcha-switch-height: var(--altcha-checkbox-size);\n --altcha-switch-padding: 0.25rem;\n --altcha-switch-width: calc(var(--altcha-checkbox-size) * 1.75);\n --altcha-switch-toggle-border-radius: 100%;\n --altcha-switch-toggle-color: var(--altcha-color-neutral-content);\n --altcha-switch-toggle-size: calc(\n \tvar(--altcha-switch-height) - calc(var(--altcha-switch-padding) * 2)\n );\n --altcha-transition-duration: 0.6s;\n --altcha-z-index: 99999999;\n --altcha-z-index-popover: 999999999;\n}\n\n.altcha {\n all: revert-layer;\n display: none;\n font-family: inherit;\n font-size: inherit;\n position: relative;\n}\n.altcha[data-visible] {\n display: block;\n}\n.altcha-popover, .altcha-popover * {\n all: revert-layer;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n line-height: 1.25;\n}\n.altcha * {\n all: revert-layer;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n line-height: 1.25;\n}\n.altcha a, .altcha-popover a {\n color: currentColor;\n text-decoration: none;\n}\n.altcha a:hover, .altcha-popover a:hover {\n color: currentColor;\n}\n.altcha-main {\n align-items: start;\n background-color: var(--altcha-color-base);\n border: var(--altcha-border-width, 1px) solid var(--altcha-border-color);\n border-radius: var(--altcha-border-radius, 0);\n color: var(--altcha-color-base-content);\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n justify-content: space-between;\n padding: var(--altcha-padding);\n max-width: var(--altcha-max-width, 100%);\n}\n.altcha-main > * {\n display: flex;\n width: 100%;\n}\n.altcha-main > *:first-child {\n flex-grow: 1;\n}\n.altcha-checkbox-wrap {\n align-items: center;\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n gap: 0.5rem;\n}\n.altcha-checkbox-wrap > * {\n display: flex;\n}\n.altcha-logo {\n opacity: 0.7;\n}\n.altcha-footer {\n align-items: center;\n display: flex;\n flex-grow: 1;\n gap: 0.5rem;\n justify-content: flex-end;\n font-size: 0.7rem;\n opacity: 0.7;\n}\n.altcha-error {\n font-size: 0.85rem;\n}\n.altcha-button {\n align-items: center;\n background: var(--altcha-color-primary);\n border: var(--altcha-input-border-width) solid var(--altcha-color-primary);\n border-radius: var(--altcha-input-border-radius);\n color: var(--altcha-color-primary-content);\n cursor: pointer;\n display: flex;\n font-size: 0.9rem;\n gap: 0.5rem;\n padding: 0.35rem;\n}\n.altcha-button:focus {\n border-color: var(--altcha-color-primary);\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-button > .altcha-spinner, .altcha-button > svg {\n height: 20px;\n width: 20px;\n}\n.altcha-button-secondary {\n background: transparent;\n border-color: var(--altcha-color-neutral);\n color: var(--altcha-color-neutral-content);\n}\n.altcha-input {\n background: var(--altcha-input-background-color);\n border: var(--altcha-input-border-width) solid var(--altcha-color-neutral);\n border-radius: var(--altcha-input-border-radius);\n color: var(--altcha-input-color);\n flex-grow: 1;\n font-size: 1rem;\n min-width: 0;\n padding: 0.25rem;\n width: auto;\n}\n.altcha-input:focus {\n border-color: var(--altcha-color-primary);\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-spinner {\n animation: altcha-rotate 0.6s linear infinite;\n border-radius: 100%;\n border: var(--altcha-checkbox-border-width) solid var(--altcha-spinner-color);\n border-bottom-color: transparent;\n border-right-color: transparent;\n opacity: 0.5;\n}\n.altcha-popover {\n background-color: var(--altcha-color-base);\n border: var(--altcha-border-width) solid var(--altcha-border-color);\n border-radius: var(--altcha-border-radius);\n color: var(--altcha-color-base-content);\n filter: var(--altcha-shadow);\n position: absolute;\n left: calc(var(--altcha-padding) / 2);\n max-width: calc(var(--altcha-max-width) - var(--altcha-padding));\n top: calc(var(--altcha-padding) + var(--altcha-checkbox-size) + var(--altcha-popover-arrow-size));\n z-index: var(--altcha-z-index-popover);\n}\n.altcha-popover-arrow {\n border: var(--altcha-popover-arrow-size) solid transparent;\n border-bottom-color: var(--altcha-popover-color);\n content: "";\n height: 0;\n left: calc(var(--altcha-checkbox-size) / 2);\n position: absolute;\n top: calc(var(--altcha-popover-arrow-size) * -2);\n width: 0;\n}\n.altcha-popover-content {\n max-height: 100dvh;\n overflow: auto;\n padding: var(--altcha-padding);\n}\n.altcha-popover[data-top=true][data-display=standard] {\n bottom: calc(100% - (var(--altcha-padding) - var(--altcha-popover-arrow-size)));\n top: auto;\n}\n.altcha-popover[data-top=true][data-display=standard] .altcha-popover-arrow {\n border-bottom-color: transparent;\n border-top-color: var(--altcha-popover-color);\n bottom: calc(var(--altcha-popover-arrow-size) * -2);\n top: auto;\n}\n.altcha-popover[data-variant=error] {\n --altcha-popover-color: var(--altcha-color-error);\n background-color: var(--altcha-color-error);\n border-color: var(--altcha-color-error);\n color: var(--altcha-color-error-content);\n}\n.altcha-popover[data-variant=error] .altcha-popover-content {\n padding: calc(var(--altcha-padding) / 1.5) var(--altcha-padding);\n}\n.altcha-popover[data-display=overlay] {\n animation: altcha-overlay-slidein 0.5s forwards;\n left: 50%;\n position: fixed;\n top: 45%;\n transform: translate(-50%, -50%);\n width: var(--altcha-max-width);\n z-index: var(--altcha-z-index);\n}\n.altcha-popover[data-display=bottomsheet] {\n animation: altcha-bottomsheet-slideup 0.5s forwards;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: 0;\n bottom: -100%;\n left: 50%;\n position: fixed;\n top: auto;\n transform: translate(-50%, 0);\n width: var(--altcha-max-width);\n z-index: var(--altcha-z-index);\n}\n.altcha-popover[data-display=bottomsheet] .altcha-popover-content {\n padding-bottom: calc(var(--altcha-padding) * 2);\n}\n.altcha-popover-backdrop {\n background: var(--altcha-color-base-content);\n bottom: 0;\n left: 0;\n opacity: 0.1;\n position: fixed;\n right: 0;\n top: 0;\n transition: opacity 0.5s;\n z-index: var(--altcha-z-index);\n}\n.altcha-popover-close {\n color: var(--altcha-color-base-content);\n cursor: pointer;\n display: inline-block;\n font-size: 1rem;\n height: 1.25rem;\n line-height: 0.95;\n position: absolute;\n right: 0;\n text-align: center;\n text-shadow: 0 0 1px var(--altcha-color-base);\n top: -1.5rem;\n width: 1.25rem;\n z-index: var(--altcha-z-index);\n}\n[dir=rtl] .altcha-popover {\n left: auto;\n right: calc(var(--altcha-padding) / 2);\n}\n[dir=rtl] .altcha-popover-arrow {\n left: auto;\n right: calc(var(--altcha-checkbox-size) / 2);\n}\n[dir=rtl] .altcha-popover-close {\n left: 0;\n right: auto;\n}\n.altcha-popover[data-display=bottomsheet] .altcha-footer, .altcha-popover[data-display=overlay] .altcha-footer {\n align-items: center;\n justify-content: center;\n padding-top: 1rem;\n gap: 0.5rem;\n}\n.altcha-popover[data-display=bottomsheet] .altcha-footer svg, .altcha-popover[data-display=overlay] .altcha-footer svg {\n height: 18px;\n width: 18px;\n vertical-align: middle;\n}\n.altcha-code-challenge > form {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n.altcha-code-challenge-title {\n font-weight: 600;\n}\n.altcha-code-challenge-text {\n font-size: 0.85rem;\n}\n.altcha-code-challenge-image {\n background: white;\n border: var(--altcha-input-border-width) solid var(--altcha-color-neutral);\n border-radius: var(--altcha-input-border-radius);\n object-fit: contain;\n height: 50px;\n}\n.altcha-code-challenge-row {\n display: flex;\n gap: 0.5rem;\n}\n.altcha-code-challenge-buttons {\n align-items: center;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-top: var(--altcha-padding);\n justify-content: space-between;\n}\n.altcha-code-challenge-buttons button {\n justify-content: center;\n width: 100%;\n}\n.altcha-checkbox {\n cursor: pointer;\n height: var(--altcha-checkbox-size);\n position: relative;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox input {\n appearance: none;\n background: var(--altcha-input-background-color);\n border: var(--altcha-checkbox-border-width, 2px) solid var(--altcha-checkbox-border-color);\n border-radius: var(--altcha-checkbox-border-radius);\n height: var(--altcha-checkbox-size);\n left: 0;\n margin: 0;\n outline: none;\n padding: 0;\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox input:before {\n border-radius: var(--altcha-checkbox-border-radius);\n content: "";\n width: 100%;\n height: 100%;\n background: var(--altcha-color-neutral);\n display: block;\n transform: scale(0);\n}\n.altcha-checkbox input:focus {\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-checkbox input:checked {\n background-color: var(--altcha-color-success);\n border-color: var(--altcha-color-success);\n}\n.altcha-checkbox input:checked::before {\n background-color: var(--altcha-color-success);\n opacity: 0;\n transform: scale(2.2);\n transition: all var(--altcha-checkbox-transition-duration) ease;\n transition-delay: 0.1s;\n}\n.altcha-checkbox svg {\n --altcha-radio-svg-size: calc(var(--altcha-checkbox-size) * 0.5);\n --altcha-radio-svg-offset: calc(var(--altcha-checkbox-size) * 0.25);\n fill: none;\n left: var(--altcha-radio-svg-offset);\n height: var(--altcha-radio-svg-size);\n opacity: 0;\n position: absolute;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-dasharray: 16px;\n stroke-dashoffset: 16px;\n top: var(--altcha-radio-svg-offset);\n transform: translate3d(0, 0, 0);\n width: var(--altcha-radio-svg-size);\n}\n.altcha-checkbox input:checked + svg {\n color: var(--altcha-color-success-content);\n opacity: 1;\n stroke-dashoffset: 0;\n transition: all var(--altcha-checkbox-transition-duration) ease;\n transition-delay: 0.1s;\n}\n.altcha-checkbox-spinner {\n display: none;\n left: 0;\n height: var(--altcha-checkbox-size);\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox[data-loading=true] input {\n appearance: none;\n opacity: 0;\n pointer-events: none;\n}\n.altcha-checkbox[data-loading=true] .altcha-checkbox-spinner {\n display: block;\n}\n.altcha-checkbox-native {\n height: var(--altcha-checkbox-size);\n position: relative;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native input {\n height: var(--altcha-checkbox-size);\n margin: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native input:focus {\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-checkbox-native-spinner {\n display: none;\n left: 0;\n height: var(--altcha-checkbox-size);\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native[data-loading=true] input {\n appearance: none;\n opacity: 0;\n pointer-events: none;\n}\n.altcha-checkbox-native[data-loading=true] .altcha-checkbox-native-spinner {\n display: block;\n}\n.altcha-switch {\n align-items: center;\n border-radius: var(--altcha-switch-border-radius);\n background-color: var(--altcha-switch-background-color);\n cursor: pointer;\n display: flex;\n height: var(--altcha-switch-height);\n padding: var(--altcha-switch-padding);\n position: relative;\n width: var(--altcha-switch-width);\n}\n.altcha-switch:focus-within {\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-switch input {\n appearance: none;\n height: 100%;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.altcha-switch-toggle {\n align-items: center;\n background-color: var(--altcha-switch-toggle-color);\n border-radius: var(--altcha-switch-toggle-border-radius);\n display: flex;\n height: var(--altcha-switch-toggle-size);\n justify-content: center;\n left: var(--altcha-switch-padding);\n position: absolute;\n transition: width 150ms ease-out, left 150ms ease-out;\n width: var(--altcha-switch-toggle-size);\n}\n.altcha-switch-spinner {\n display: none;\n height: var(--altcha-switch-toggle-size);\n width: var(--altcha-switch-toggle-size);\n}\n.altcha-switch[data-loading=true] {\n pointer-events: none;\n}\n.altcha-switch[data-loading=true] .altcha-switch-spinner {\n display: block;\n}\n.altcha-switch[data-loading=true] .altcha-switch-toggle {\n background-color: transparent;\n left: calc(50% - var(--altcha-switch-toggle-size) / 2);\n}\n[data-state=verified] .altcha-switch {\n --altcha-switch-background-color: var(--altcha-color-success);\n}\n[data-state=verified] .altcha-switch-toggle {\n background-color: var(--altcha-color-success-content);\n left: calc(100% - var(--altcha-switch-height) + var(--altcha-switch-padding));\n}\n[dir=rtl] .altcha-switch-toggle {\n left: calc(100% - var(--altcha-switch-height) + var(--altcha-switch-padding));\n}\n[dir=rtl][data-state=verified] .altcha-switch-toggle {\n left: var(--altcha-switch-padding);\n}\n.altcha-floating-arrow {\n border: 6px solid transparent;\n border-bottom-color: var(--altcha-border-color);\n content: "";\n height: 0;\n left: 12px;\n position: absolute;\n top: -12px;\n width: 0;\n}\n.altcha-overlay-backdrop {\n bottom: 0;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n transition: opacity var(--altcha-transition-duration);\n z-index: var(--altcha-z-index);\n}\n.altcha-overlay-close {\n display: inline-block;\n color: currentColor;\n cursor: pointer;\n font-size: 1rem;\n height: 1rem;\n line-height: 0.85;\n position: absolute;\n right: 0;\n text-align: center;\n text-shadow: 0 0 1px var(--altcha-color-base);\n top: -1.5rem;\n width: 1rem;\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=overlay] {\n animation: altcha-overlay-slidein var(--altcha-transition-duration) forwards;\n filter: var(--altcha-shadow);\n left: 50%;\n opacity: 0;\n position: fixed;\n top: 45%;\n transform: translate(-50%, -50%);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=overlay] .altcha-main {\n width: var(--altcha-max-width);\n}\n.altcha[data-display=floating] {\n display: none;\n filter: var(--altcha-shadow);\n left: var(--altcha-floating-left, -100%);\n position: fixed;\n top: var(--altcha-floating-top, -100%);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=floating] .altcha-main {\n width: var(--altcha-max-width);\n}\n.altcha[data-display=floating][data-placement=top] .altcha-floating-arrow {\n border-bottom-color: transparent;\n border-top-color: var(--altcha-border-color);\n bottom: -12px;\n top: auto;\n}\n.altcha[data-display=floating][data-visible] {\n display: flex;\n}\n.altcha[data-display=bar] {\n bottom: -100%;\n filter: var(--altcha-shadow);\n left: 0;\n position: fixed;\n right: 0;\n transition: bottom var(--altcha-transition-duration), top var(--altcha-transition-duration);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=bar] .altcha-main {\n align-items: center;\n border-radius: 0;\n border-width: var(--altcha-border-width) 0 0 0;\n flex-direction: row;\n max-width: 100% !important;\n}\n.altcha[data-display=bar] .altcha-main > * {\n width: auto;\n}\n.altcha[data-display=bar][data-placement=top] {\n bottom: auto;\n top: -100%;\n}\n.altcha[data-display=bar][data-placement=top] .altcha-main {\n border-width: 0 0 var(--altcha-border-width) 0;\n}\n.altcha[data-display=bar][data-placement=bottom]:not([data-state=unverified]) {\n bottom: 0;\n}\n.altcha[data-display=bar][data-placement=top]:not([data-state=unverified]) {\n top: 0;\n}\n.altcha[data-display=invisible] {\n display: none;\n}\n\n@keyframes altcha-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes altcha-bottomsheet-slideup {\n 100% {\n bottom: 0;\n }\n}\n@keyframes altcha-overlay-slidein {\n 100% {\n opacity: 1;\n top: 50%;\n }\n}'),$altcha.algorithms.set("SHA-256",()=>new La),$altcha.algorithms.set("SHA-384",()=>new La),$altcha.algorithms.set("SHA-512",()=>new La),$altcha.algorithms.set("PBKDF2/SHA-256",()=>new Oa),$altcha.algorithms.set("PBKDF2/SHA-384",()=>new Oa),$altcha.algorithms.set("PBKDF2/SHA-512",()=>new Oa)});
@@ -0,0 +1 @@
1
+ declare module 'altcha/plugins/obfuscation.plugin'; export {};
@@ -0,0 +1,320 @@
1
+ class BasePlugin {
2
+ constructor(host) {
3
+ this.host = host;
4
+ }
5
+ static register(pluginClass) {
6
+ if ("$altcha" in globalThis && !globalThis.$altcha.plugins.has(pluginClass)) {
7
+ globalThis.$altcha.plugins.add(pluginClass);
8
+ }
9
+ }
10
+ async onFetchChallenge(source) {
11
+ }
12
+ async onRequestServerVerification(payload, code) {
13
+ }
14
+ async onVerify(value) {
15
+ }
16
+ }
17
+ function bufferStartsWith(buffer, prefix) {
18
+ if (prefix.length > buffer.length) {
19
+ return false;
20
+ }
21
+ for (let i = 0; i < prefix.length; i++) {
22
+ if (buffer[i] !== prefix[i]) {
23
+ return false;
24
+ }
25
+ }
26
+ return true;
27
+ }
28
+ function bufferToHex(buffer) {
29
+ return Array.from(new Uint8Array(buffer)).map((b) => b.toString(16).padStart(2, "0")).join("");
30
+ }
31
+ function concatBuffers(a, b) {
32
+ const out = new Uint8Array(a.length + b.length);
33
+ out.set(a, 0);
34
+ out.set(b, a.length);
35
+ return out;
36
+ }
37
+ function hexToBuffer(hex) {
38
+ if (hex.length % 2 !== 0) {
39
+ throw new Error(`Hex string must have an even length. Got: ${hex}`);
40
+ }
41
+ const buffer = new ArrayBuffer(hex.length / 2);
42
+ const view = new DataView(buffer);
43
+ for (let i = 0; i < hex.length; i += 2) {
44
+ const byteString = hex.substring(i, i + 2);
45
+ const byteValue = parseInt(byteString, 16);
46
+ view.setUint8(i / 2, byteValue);
47
+ }
48
+ return new Uint8Array(buffer);
49
+ }
50
+ async function delay(ms) {
51
+ await new Promise((resolve) => setTimeout(resolve, ms));
52
+ }
53
+ function timeDuration(start) {
54
+ return Math.floor((performance.now() - start) * 10) / 10;
55
+ }
56
+ var State = /* @__PURE__ */ ((State2) => {
57
+ State2["CODE"] = "code";
58
+ State2["ERROR"] = "error";
59
+ State2["VERIFIED"] = "verified";
60
+ State2["VERIFYING"] = "verifying";
61
+ State2["UNVERIFIED"] = "unverified";
62
+ State2["EXPIRED"] = "expired";
63
+ return State2;
64
+ })(State || {});
65
+ class PasswordBuffer {
66
+ constructor(nonce, mode = "uint32") {
67
+ this.nonce = nonce;
68
+ this.mode = mode;
69
+ this.buffer = new Uint8Array(this.nonce.length + this.COUNTER_BYTES);
70
+ this.buffer.set(this.nonce, 0);
71
+ this.dataView = new DataView(this.buffer.buffer);
72
+ }
73
+ COUNTER_BYTES = 4;
74
+ buffer;
75
+ dataView;
76
+ encoder = new TextEncoder();
77
+ /**
78
+ * Appends the counter to the nonce buffer.
79
+ * In 'string' mode, encodes the counter as a UTF-8 string.
80
+ * In 'uint32' mode, writes the counter as a big-endian 32-bit integer.
81
+ */
82
+ setCounter(n) {
83
+ if (this.mode === "string") {
84
+ return concatBuffers(this.nonce, this.encoder.encode(n.toString()));
85
+ }
86
+ this.dataView.setUint32(this.nonce.length, n, false);
87
+ return this.buffer;
88
+ }
89
+ }
90
+ async function solveChallenge(options) {
91
+ const {
92
+ challenge,
93
+ controller,
94
+ counterMode = "uint32",
95
+ counterStart = 0,
96
+ counterStep = 1,
97
+ deriveKey,
98
+ timeout = 9e4
99
+ } = options;
100
+ const { nonce, keyPrefix, salt } = challenge.parameters;
101
+ const nonceBuf = hexToBuffer(nonce);
102
+ const saltBuf = hexToBuffer(salt);
103
+ const keyPrefixBuf = keyPrefix.length % 2 === 0 ? hexToBuffer(keyPrefix) : null;
104
+ const password = new PasswordBuffer(nonceBuf, counterMode);
105
+ const start = performance.now();
106
+ let counter = counterStart;
107
+ let derivedKeyHex = "";
108
+ let lastYield = start;
109
+ while (true) {
110
+ if (controller?.signal.aborted || timeout && counter % 10 === 0 && performance.now() - start > timeout) {
111
+ return null;
112
+ }
113
+ const { derivedKey } = await deriveKey(
114
+ challenge.parameters,
115
+ saltBuf,
116
+ password.setCounter(counter)
117
+ );
118
+ if (counter % 10 === 0 && performance.now() - lastYield > 200) {
119
+ await delay(0);
120
+ lastYield = performance.now();
121
+ }
122
+ if (keyPrefixBuf ? bufferStartsWith(derivedKey, keyPrefixBuf) : bufferToHex(derivedKey).startsWith(keyPrefix)) {
123
+ derivedKeyHex = bufferToHex(derivedKey);
124
+ break;
125
+ }
126
+ counter = counter + counterStep;
127
+ }
128
+ return {
129
+ counter,
130
+ derivedKey: derivedKeyHex,
131
+ time: timeDuration(start)
132
+ };
133
+ }
134
+ async function solveChallengeWorkers(options) {
135
+ const {
136
+ challenge,
137
+ concurrency = navigator.hardwareConcurrency,
138
+ controller = new AbortController(),
139
+ createWorker,
140
+ onOutOfMemory = (c) => c > 1 ? Math.floor(c / 2) : 0,
141
+ counterMode
142
+ } = options;
143
+ const workersConcurrency = Math.min(16, Math.max(1, concurrency));
144
+ const workersInstances = [];
145
+ const terminate = () => {
146
+ for (const worker of workersInstances) {
147
+ worker.terminate();
148
+ }
149
+ };
150
+ for (let i = 0; i < workersConcurrency; i++) {
151
+ workersInstances.push(await createWorker(challenge.parameters.algorithm));
152
+ }
153
+ let solution = null;
154
+ try {
155
+ solution = await Promise.race(
156
+ workersInstances.map((worker, i) => {
157
+ controller.signal.addEventListener("abort", () => {
158
+ worker.postMessage({ type: "abort" });
159
+ });
160
+ return new Promise((resolve, reject) => {
161
+ worker.addEventListener("error", (err) => {
162
+ reject(err);
163
+ });
164
+ worker.addEventListener("message", (message) => {
165
+ if (message.data) {
166
+ for (const w of workersInstances) {
167
+ if (w !== worker) {
168
+ w.postMessage({ type: "abort" });
169
+ }
170
+ }
171
+ if (message.data.error) {
172
+ return reject(new Error(message.data.error));
173
+ }
174
+ }
175
+ resolve(message.data);
176
+ });
177
+ worker.postMessage({
178
+ challenge,
179
+ counterMode,
180
+ counterStart: i,
181
+ counterStep: workersConcurrency,
182
+ type: "work"
183
+ });
184
+ });
185
+ })
186
+ );
187
+ } catch (err) {
188
+ const isOOM = err instanceof Error && !!err?.message?.includes("Out of memory");
189
+ if (isOOM) {
190
+ if (onOutOfMemory) {
191
+ terminate();
192
+ const retryConcurrency = onOutOfMemory(workersConcurrency);
193
+ if (retryConcurrency) {
194
+ return solveChallengeWorkers({
195
+ ...options,
196
+ challenge,
197
+ controller,
198
+ concurrency: retryConcurrency,
199
+ createWorker
200
+ });
201
+ }
202
+ }
203
+ }
204
+ throw err;
205
+ } finally {
206
+ terminate();
207
+ }
208
+ if (controller.signal.aborted) {
209
+ return null;
210
+ }
211
+ return solution || null;
212
+ }
213
+ async function deobfuscate(obfuscatedData, options = {}) {
214
+ const { concurrency = navigator.hardwareConcurrency, deriveKey: deriveKey2 } = options;
215
+ let challenge = null;
216
+ try {
217
+ challenge = JSON.parse(atob(obfuscatedData));
218
+ } catch {
219
+ throw new Error(`Unable to parse obfuscated data.`);
220
+ }
221
+ if (!challenge || typeof challenge !== "object" || !("parameters" in challenge) || !("cipher" in challenge)) {
222
+ throw new Error(`Invalid obfuscated data format.`);
223
+ }
224
+ const cipher = challenge.cipher;
225
+ let solution = null;
226
+ if (deriveKey2) {
227
+ solution = await solveChallenge({
228
+ challenge,
229
+ deriveKey: deriveKey2
230
+ });
231
+ } else {
232
+ const createWorker = globalThis.$altcha.algorithms.get(challenge.parameters.algorithm);
233
+ if (!createWorker) {
234
+ throw new Error(`Unsupported algorithm ${challenge.parameters.algorithm}.`);
235
+ }
236
+ solution = await solveChallengeWorkers({
237
+ challenge,
238
+ concurrency,
239
+ createWorker
240
+ });
241
+ }
242
+ if (!solution) {
243
+ throw new Error("Unable to find solution.");
244
+ }
245
+ const key = await crypto.subtle.importKey(
246
+ "raw",
247
+ hexToBuffer(solution.derivedKey),
248
+ { name: "AES-GCM" },
249
+ false,
250
+ ["decrypt"]
251
+ );
252
+ const result = await crypto.subtle.decrypt(
253
+ {
254
+ name: "AES-GCM",
255
+ iv: hexToBuffer(cipher.iv)
256
+ },
257
+ key,
258
+ hexToBuffer(cipher.data)
259
+ );
260
+ return new TextDecoder().decode(result);
261
+ }
262
+ class ObfuscationPlugin extends BasePlugin {
263
+ elTrigger = null;
264
+ activate() {
265
+ this.elTrigger = this.host.querySelector("button");
266
+ if (this.elTrigger) {
267
+ this.elTrigger.addEventListener("click", this.onTriggerClick.bind(this));
268
+ this.host.configure({
269
+ floatingAnchor: this.elTrigger
270
+ });
271
+ }
272
+ }
273
+ destroy() {
274
+ }
275
+ async onVerify(options) {
276
+ const { minDuration = 500 } = options;
277
+ const start = performance.now();
278
+ const obfuscated = this.host.getAttribute("data-obfuscated");
279
+ if (obfuscated) {
280
+ this.host.reset(State.VERIFYING);
281
+ try {
282
+ const text = await deobfuscate(obfuscated);
283
+ await this.#wait(Math.max(0, minDuration - (performance.now() - start)));
284
+ this.#renderClearText(text);
285
+ } catch (err) {
286
+ this.host.setState(State.ERROR, String(err));
287
+ } finally {
288
+ this.host.setState(State.VERIFIED);
289
+ }
290
+ return null;
291
+ }
292
+ }
293
+ onTriggerClick(ev) {
294
+ ev.preventDefault();
295
+ this.host.show();
296
+ this.host.verify().then(() => {
297
+ this.host.hide();
298
+ });
299
+ }
300
+ #renderClearText(clearText) {
301
+ const match = clearText.match(/^(mailto|tel|sms|https?):/);
302
+ let el;
303
+ if (match) {
304
+ const [contact] = clearText.slice(clearText.indexOf(":") + 1).replace(/^\/\//, "").split("?");
305
+ el = document.createElement("a");
306
+ el.href = clearText;
307
+ el.innerText = contact;
308
+ } else {
309
+ el = document.createTextNode(clearText);
310
+ }
311
+ if (this.elTrigger && el) {
312
+ this.elTrigger.after(el);
313
+ this.elTrigger.parentElement?.removeChild(this.elTrigger);
314
+ }
315
+ }
316
+ async #wait(ms) {
317
+ await new Promise((resolve) => setTimeout(resolve, ms));
318
+ }
319
+ }
320
+ BasePlugin.register(ObfuscationPlugin);
@@ -0,0 +1 @@
1
+ class e{constructor(e){this.host=e}static register(e){"$altcha"in globalThis&&!globalThis.$altcha.plugins.has(e)&&globalThis.$altcha.plugins.add(e)}async onFetchChallenge(e){}async onRequestServerVerification(e,t){}async onVerify(e){}}function t(e,t){if(t.length>e.length)return!1;for(let r=0;r<t.length;r++)if(e[r]!==t[r])return!1;return!0}function r(e){return Array.from(new Uint8Array(e)).map(e=>e.toString(16).padStart(2,"0")).join("")}function n(e){if(e.length%2!=0)throw new Error(`Hex string must have an even length. Got: ${e}`);const t=new ArrayBuffer(e.length/2),r=new DataView(t);for(let t=0;t<e.length;t+=2){const n=e.substring(t,t+2),a=parseInt(n,16);r.setUint8(t/2,a)}return new Uint8Array(t)}async function a(e){await new Promise(t=>setTimeout(t,e))}function o(e){return Math.floor(10*(performance.now()-e))/10}var i=(e=>(e.CODE="code",e.ERROR="error",e.VERIFIED="verified",e.VERIFYING="verifying",e.UNVERIFIED="unverified",e.EXPIRED="expired",e))(i||{});class s{constructor(e,t="uint32"){this.nonce=e,this.mode=t,this.buffer=new Uint8Array(this.nonce.length+this.COUNTER_BYTES),this.buffer.set(this.nonce,0),this.dataView=new DataView(this.buffer.buffer)}COUNTER_BYTES=4;buffer;dataView;encoder=new TextEncoder;setCounter(e){return"string"===this.mode?function(e,t){const r=new Uint8Array(e.length+t.length);return r.set(e,0),r.set(t,e.length),r}(this.nonce,this.encoder.encode(e.toString())):(this.dataView.setUint32(this.nonce.length,e,!1),this.buffer)}}async function c(e){const{challenge:t,concurrency:r=navigator.hardwareConcurrency,controller:n=new AbortController,createWorker:a,onOutOfMemory:o=e=>e>1?Math.floor(e/2):0,counterMode:i}=e,s=Math.min(16,Math.max(1,r)),l=[],h=()=>{for(const e of l)e.terminate()};for(let e=0;e<s;e++)l.push(await a(t.parameters.algorithm));let u=null;try{u=await Promise.race(l.map((e,r)=>(n.signal.addEventListener("abort",()=>{e.postMessage({type:"abort"})}),new Promise((n,a)=>{e.addEventListener("error",e=>{a(e)}),e.addEventListener("message",t=>{if(t.data){for(const t of l)t!==e&&t.postMessage({type:"abort"});if(t.data.error)return a(new Error(t.data.error))}n(t.data)}),e.postMessage({challenge:t,counterMode:i,counterStart:r,counterStep:s,type:"work"})}))))}catch(r){if(r instanceof Error&&!!r?.message?.includes("Out of memory")&&o){h();const r=o(s);if(r)return c({...e,challenge:t,controller:n,concurrency:r,createWorker:a})}throw r}finally{h()}return n.signal.aborted?null:u||null}async function l(e,i={}){const{concurrency:l=navigator.hardwareConcurrency,deriveKey:h}=i;let u=null;try{u=JSON.parse(atob(e))}catch{throw new Error("Unable to parse obfuscated data.")}if(!u||"object"!=typeof u||!("parameters"in u)||!("cipher"in u))throw new Error("Invalid obfuscated data format.");const f=u.cipher;let g=null;if(h)g=await async function(e){const{challenge:i,controller:c,counterMode:l="uint32",counterStart:h=0,counterStep:u=1,deriveKey:f,timeout:g=9e4}=e,{nonce:d,keyPrefix:w,salt:m}=i.parameters,y=n(d),p=n(m),E=w.length%2==0?n(w):null,b=new s(y,l),T=performance.now();let v=h,S="",C=T;for(;;){if(c?.signal.aborted||g&&v%10==0&&performance.now()-T>g)return null;const{derivedKey:e}=await f(i.parameters,p,b.setCounter(v));if(v%10==0&&performance.now()-C>200&&(await a(0),C=performance.now()),E?t(e,E):r(e).startsWith(w)){S=r(e);break}v+=u}return{counter:v,derivedKey:S,time:o(T)}}({challenge:u,deriveKey:h});else{const e=globalThis.$altcha.algorithms.get(u.parameters.algorithm);if(!e)throw new Error(`Unsupported algorithm ${u.parameters.algorithm}.`);g=await c({challenge:u,concurrency:l,createWorker:e})}if(!g)throw new Error("Unable to find solution.");const d=await crypto.subtle.importKey("raw",n(g.derivedKey),{name:"AES-GCM"},!1,["decrypt"]),w=await crypto.subtle.decrypt({name:"AES-GCM",iv:n(f.iv)},d,n(f.data));return(new TextDecoder).decode(w)}e.register(class extends e{elTrigger=null;activate(){this.elTrigger=this.host.querySelector("button"),this.elTrigger&&(this.elTrigger.addEventListener("click",this.onTriggerClick.bind(this)),this.host.configure({floatingAnchor:this.elTrigger}))}destroy(){}async onVerify(e){const{minDuration:t=500}=e,r=performance.now(),n=this.host.getAttribute("data-obfuscated");if(n){this.host.reset(i.VERIFYING);try{const e=await l(n);await this.#e(Math.max(0,t-(performance.now()-r))),this.#t(e)}catch(e){this.host.setState(i.ERROR,String(e))}finally{this.host.setState(i.VERIFIED)}return null}}onTriggerClick(e){e.preventDefault(),this.host.show(),this.host.verify().then(()=>{this.host.hide()})}#t(e){let t;if(e.match(/^(mailto|tel|sms|https?):/)){const[r]=e.slice(e.indexOf(":")+1).replace(/^\/\//,"").split("?");t=document.createElement("a"),t.href=e,t.innerText=r}else t=document.createTextNode(e);this.elTrigger&&t&&(this.elTrigger.after(t),this.elTrigger.parentElement?.removeChild(this.elTrigger))}async#e(e){await new Promise(t=>setTimeout(t,e))}});