1var Ua = Array.isArray, Vn = Array.prototype.indexOf, jn = Array.from, ir = Object.keys, Dt = Object.defineProperty, rt = Object.getOwnPropertyDescriptor, Rn = Object.getOwnPropertyDescriptors, $n = Object.prototype, Sn = Array.prototype, Ga = Object.getPrototypeOf, ja = Object.isExtensible; 2const yt = () => { 3}; 4function Wa(e) { 5 for (var t = 0; t < e.length; t++) 6 e[t](); 7} 8function Pn(e, t, r = !1) { 9 return e === void 0 ? r ? ( 10 /** @type {() => V} */ 11 t() 12 ) : ( 13 /** @type {V} */ 14 t 15 ) : e; 16} 17const pe = 2, Za = 4, fr = 8, Dr = 16, Re = 32, nt = 64, nr = 128, fe = 256, or = 512, le = 1024, je = 2048, ot = 4096, kt = 8192, dr = 16384, zn = 32768, qr = 65536, Nn = 1 << 19, Ya = 1 << 20, Vr = 1 << 21, zt = Symbol("$state"), Ka = Symbol("legacy props"), Dn = Symbol(""), qn = typeof requestIdleCallback > "u" ? (e) => setTimeout(e, 1) : requestIdleCallback; 18let qt = [], Ht = []; 19function Ja() { 20 var e = qt; 21 qt = [], Wa(e); 22} 23function Xa() { 24 var e = Ht; 25 Ht = [], Wa(e); 26} 27function Hr(e) { 28 qt.length === 0 && queueMicrotask(Ja), qt.push(e); 29} 30function Hn(e) { 31 Ht.length === 0 && qn(Xa), Ht.push(e); 32} 33function On() { 34 qt.length > 0 && Ja(), Ht.length > 0 && Xa(); 35} 36function Qa(e) { 37 return e === this.v; 38} 39function ei(e, t) { 40 return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function"; 41} 42function Or(e) { 43 return !ei(e, this.v); 44} 45function Fn(e) { 46 throw new Error("https://svelte.dev/e/effect_in_teardown"); 47} 48function Mn() { 49 throw new Error("https://svelte.dev/e/effect_in_unowned_derived"); 50} 51function Bn(e) { 52 throw new Error("https://svelte.dev/e/effect_orphan"); 53} 54function Un() { 55 throw new Error("https://svelte.dev/e/effect_update_depth_exceeded"); 56} 57function Gn() { 58 throw new Error("https://svelte.dev/e/hydration_failed"); 59} 60function Wn(e) { 61 throw new Error("https://svelte.dev/e/props_invalid_value"); 62} 63function Zn() { 64 throw new Error("https://svelte.dev/e/state_descriptors_fixed"); 65} 66function Yn() { 67 throw new Error("https://svelte.dev/e/state_prototype_fixed"); 68} 69function Kn() { 70 throw new Error("https://svelte.dev/e/state_unsafe_mutation"); 71} 72const Jn = 1, Xn = 4, Qn = 8, eo = 16, to = 1, ro = 2, Fr = "[", ti = "[!", ri = "]", At = {}, oe = Symbol(), ao = "http://www.w3.org/1999/xhtml"; 73function ai(e) { 74 throw new Error("https://svelte.dev/e/lifecycle_outside_component"); 75} 76let ae = null; 77function Ra(e) { 78 ae = e; 79} 80function ii(e, t = !1, r) { 81 var i = ae = { 82 p: ae, 83 c: null, 84 d: !1, 85 e: null, 86 m: !1, 87 s: e, 88 x: null, 89 l: null 90 }; 91 Ur(() => { 92 i.d = !0; 93 }); 94} 95function ni(e) { 96 const t = ae; 97 if (t !== null) { 98 e !== void 0 && (t.x = e); 99 const s = t.e; 100 if (s !== null) { 101 var r = V, i = I; 102 t.e = null; 103 try { 104 for (var l = 0; l < s.length; l++) { 105 var o = s[l]; 106 Oe(o.effect), Ee(o.reaction), Gr(o.fn); 107 } 108 } finally { 109 Oe(r), Ee(i); 110 } 111 } 112 ae = t.p, t.m = !0; 113 } 114 return e || /** @type {T} */ 115 {}; 116} 117function oi() { 118 return !0; 119} 120function De(e) { 121 if (typeof e != "object" || e === null || zt in e) 122 return e; 123 const t = Ga(e); 124 if (t !== $n && t !== Sn) 125 return e; 126 var r = /* @__PURE__ */ new Map(), i = Ua(e), l = /* @__PURE__ */ $(0), o = I, s = (u) => { 127 var f = I; 128 Ee(o); 129 var d = u(); 130 return Ee(f), d; 131 }; 132 return i && r.set("length", /* @__PURE__ */ $( 133 /** @type {any[]} */ 134 e.length 135 )), new Proxy( 136 /** @type {any} */ 137 e, 138 { 139 defineProperty(u, f, d) { 140 (!("value" in d) || d.configurable === !1 || d.enumerable === !1 || d.writable === !1) && Zn(); 141 var p = r.get(f); 142 return p === void 0 ? (p = s(() => /* @__PURE__ */ $(d.value)), r.set(f, p)) : y( 143 p, 144 s(() => De(d.value)) 145 ), !0; 146 }, 147 deleteProperty(u, f) { 148 var d = r.get(f); 149 if (d === void 0) 150 f in u && (r.set( 151 f, 152 s(() => /* @__PURE__ */ $(oe)) 153 ), Er(l)); 154 else { 155 if (i && typeof f == "string") { 156 var p = ( 157 /** @type {Source<number>} */ 158 r.get("length") 159 ), g = Number(f); 160 Number.isInteger(g) && g < p.v && y(p, g); 161 } 162 y(d, oe), Er(l); 163 } 164 return !0; 165 }, 166 get(u, f, d) { 167 if (f === zt) 168 return e; 169 var p = r.get(f), g = f in u; 170 if (p === void 0 && (!g || rt(u, f)?.writable) && (p = s(() => /* @__PURE__ */ $(De(g ? u[f] : oe))), r.set(f, p)), p !== void 0) { 171 var m = n(p); 172 return m === oe ? void 0 : m; 173 } 174 return Reflect.get(u, f, d); 175 }, 176 getOwnPropertyDescriptor(u, f) { 177 var d = Reflect.getOwnPropertyDescriptor(u, f); 178 if (d && "value" in d) { 179 var p = r.get(f); 180 p && (d.value = n(p)); 181 } else if (d === void 0) { 182 var g = r.get(f), m = g?.v; 183 if (g !== void 0 && m !== oe) 184 return { 185 enumerable: !0, 186 configurable: !0, 187 value: m, 188 writable: !0 189 }; 190 } 191 return d; 192 }, 193 has(u, f) { 194 if (f === zt) 195 return !0; 196 var d = r.get(f), p = d !== void 0 && d.v !== oe || Reflect.has(u, f); 197 if (d !== void 0 || V !== null && (!p || rt(u, f)?.writable)) { 198 d === void 0 && (d = s(() => /* @__PURE__ */ $(p ? De(u[f]) : oe)), r.set(f, d)); 199 var g = n(d); 200 if (g === oe) 201 return !1; 202 } 203 return p; 204 }, 205 set(u, f, d, p) { 206 var g = r.get(f), m = f in u; 207 if (i && f === "length") 208 for (var k = d; k < /** @type {Source<number>} */ 209 g.v; k += 1) { 210 var N = r.get(k + ""); 211 N !== void 0 ? y(N, oe) : k in u && (N = s(() => /* @__PURE__ */ $(oe)), r.set(k + "", N)); 212 } 213 g === void 0 ? (!m || rt(u, f)?.writable) && (g = s(() => /* @__PURE__ */ $(void 0)), y( 214 g, 215 s(() => De(d)) 216 ), r.set(f, g)) : (m = g.v !== oe, y( 217 g, 218 s(() => De(d)) 219 )); 220 var D = Reflect.getOwnPropertyDescriptor(u, f); 221 if (D?.set && D.set.call(p, d), !m) { 222 if (i && typeof f == "string") { 223 var H = ( 224 /** @type {Source<number>} */ 225 r.get("length")
226 ), E = Number(f); 227 Number.isInteger(E) && E >= H.v && y(H, E + 1); 228 } 229 Er(l); 230 } 231 return !0; 232 }, 233 ownKeys(u) { 234 n(l); 235 var f = Reflect.ownKeys(u).filter((g) => { 236 var m = r.get(g); 237 return m === void 0 || m.v !== oe; 238 }); 239 for (var [d, p] of r) 240 p.v !== oe && !(d in u) && f.push(d); 241 return f; 242 }, 243 setPrototypeOf() { 244 Yn(); 245 } 246 } 247 ); 248} 249function Er(e, t = 1) { 250 y(e, e.v + t); 251} 252// @__NO_SIDE_EFFECTS__ 253function hr(e) { 254 var t = pe | je, r = I !== null && (I.f & pe) !== 0 ? ( 255 /** @type {Derived} */ 256 I 257 ) : null; 258 return V === null || r !== null && (r.f & fe) !== 0 ? t |= fe : V.f |= Ya, { 259 ctx: ae, 260 deps: null, 261 effects: null, 262 equals: Qa, 263 f: t, 264 fn: e, 265 reactions: null, 266 rv: 0, 267 v: ( 268 /** @type {V} */ 269 null 270 ), 271 wv: 0, 272 parent: r ?? V 273 }; 274} 275// @__NO_SIDE_EFFECTS__ 276function $t(e) { 277 const t = /* @__PURE__ */ hr(e); 278 return vi(t), t; 279} 280// @__NO_SIDE_EFFECTS__ 281function io(e) { 282 const t = /* @__PURE__ */ hr(e); 283 return t.equals = Or, t; 284} 285function li(e) { 286 var t = e.effects; 287 if (t !== null) { 288 e.effects = null; 289 for (var r = 0; r < t.length; r += 1) 290 Fe( 291 /** @type {Effect} */ 292 t[r] 293 ); 294 } 295} 296function no(e) { 297 for (var t = e.parent; t !== null; ) { 298 if ((t.f & pe) === 0) 299 return ( 300 /** @type {Effect} */ 301 t 302 ); 303 t = t.parent; 304 } 305 return null; 306} 307function si(e) { 308 var t, r = V; 309 Oe(no(e)); 310 try { 311 li(e), t = yi(e); 312 } finally { 313 Oe(r); 314 } 315 return t; 316} 317function ci(e) { 318 var t = si(e), r = (qe || (e.f & fe) !== 0) && e.deps !== null ? ot : le; 319 me(e, r), e.equals(t) || (e.v = t, e.wv = pi()); 320} 321const Ot = /* @__PURE__ */ new Map(); 322function ui(e, t) { 323 var r = { 324 f: 0, 325 // TODO ideally we could skip this altogether, but it causes type errors 326 v: e, 327 reactions: null, 328 equals: Qa, 329 rv: 0, 330 wv: 0 331 }; 332 return r; 333} 334// @__NO_SIDE_EFFECTS__ 335function $(e, t) { 336 const r = ui(e); 337 return vi(r), r; 338} 339// @__NO_SIDE_EFFECTS__ 340function Mr(e, t = !1) { 341 const r = ui(e); 342 return t || (r.equals = Or), r; 343} 344function y(e, t, r = !1) { 345 I !== null && !Le && oi() && (I.f & (pe | Dr)) !== 0 && !Ve?.includes(e) && Kn(); 346 let i = r ? De(t) : t; 347 return oo(e, i); 348} 349function oo(e, t) { 350 if (!e.equals(t)) { 351 var r = e.v; 352 Ft ? Ot.set(e, t) : Ot.set(e, r), e.v = t, (e.f & pe) !== 0 && ((e.f & je) !== 0 && si( 353 /** @type {Derived} */ 354 e 355 ), me(e, (e.f & fe) === 0 ? le : ot)), e.wv = pi(), fi(e, je), V !== null && (V.f & le) !== 0 && (V.f & (Re | nt)) === 0 && (he === null ? co([e]) : he.push(e)); 356 } 357 return t; 358} 359function fi(e, t) { 360 var r = e.reactions; 361 if (r !== null) 362 for (var i = r.length, l = 0; l < i; l++) { 363 var o = r[l], s = o.f; 364 (s & je) === 0 && (me(o, t), (s & (le | fe)) !== 0 && ((s & pe) !== 0 ? fi( 365 /** @type {Derived} */ 366 o, 367 ot 368 ) : pr( 369 /** @type {Effect} */ 370 o 371 ))); 372 } 373} 374function gr(e) { 375 console.warn("https://svelte.dev/e/hydration_mismatch"); 376} 377let z = !1; 378function mt(e) { 379 z = e; 380} 381let P; 382function He(e) { 383 if (e === null) 384 throw gr(), At; 385 return P = e; 386} 387function _t() { 388 return He( 389 /** @type {TemplateNode} */ 390 /* @__PURE__ */ Me(P) 391 ); 392} 393function Z(e) { 394 if (z) { 395 if (/* @__PURE__ */ Me(P) !== null) 396 throw gr(), At; 397 P = e; 398 } 399} 400function lo() { 401 for (var e = 0, t = P; ; ) { 402 if (t.nodeType === 8) { 403 var r = ( 404 /** @type {Comment} */ 405 t.data 406 ); 407 if (r === ri) { 408 if (e === 0) return t; 409 e -= 1; 410 } else (r === Fr || r === ti) && (e += 1); 411 } 412 var i = ( 413 /** @type {TemplateNode} */
414 /* @__PURE__ */ Me(t) 415 ); 416 t.remove(), t = i; 417 } 418} 419var $a, di, hi, gi; 420function jr() { 421 if ($a === void 0) { 422 $a = window, di = /Firefox/.test(navigator.userAgent); 423 var e = Element.prototype, t = Node.prototype, r = Text.prototype; 424 hi = rt(t, "firstChild").get, gi = rt(t, "nextSibling").get, ja(e) && (e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0), ja(r) && (r.__t = void 0); 425 } 426} 427function vr(e = "") { 428 return document.createTextNode(e); 429} 430// @__NO_SIDE_EFFECTS__ 431function ge(e) { 432 return hi.call(e); 433} 434// @__NO_SIDE_EFFECTS__ 435function Me(e) { 436 return gi.call(e); 437} 438function Y(e, t) { 439 if (!z) 440 return /* @__PURE__ */ ge(e); 441 var r = ( 442 /** @type {TemplateNode} */ 443 /* @__PURE__ */ ge(P) 444 ); 445 return r === null && (r = P.appendChild(vr())), He(r), r; 446} 447function St(e, t) { 448 if (!z) { 449 var r = ( 450 /** @type {DocumentFragment} */ 451 /* @__PURE__ */ ge( 452 /** @type {Node} */ 453 e 454 ) 455 ); 456 return r instanceof Comment && r.data === "" ? /* @__PURE__ */ Me(r) : r; 457 } 458 return P; 459} 460function K(e, t = 1, r = !1) { 461 let i = z ? P : e; 462 for (var l; t--; ) 463 l = i, i = /** @type {TemplateNode} */ 464 /* @__PURE__ */ Me(i); 465 if (!z) 466 return i; 467 var o = i?.nodeType; 468 if (r && o !== 3) { 469 var s = vr(); 470 return i === null ? l?.after(s) : i.before(s), He(s), s; 471 } 472 return He(i), /** @type {TemplateNode} */ 473 i; 474} 475function so(e) { 476 e.textContent = ""; 477} 478let tr = !1, lr = !1, sr = null, at = !1, Ft = !1; 479function Sa(e) { 480 Ft = e; 481} 482let Nt = []; 483let I = null, Le = !1; 484function Ee(e) { 485 I = e; 486} 487let V = null; 488function Oe(e) { 489 V = e; 490} 491let Ve = null; 492function vi(e) { 493 I !== null && I.f & Vr && (Ve === null ? Ve = [e] : Ve.push(e)); 494} 495let re = null, ue = 0, he = null; 496function co(e) { 497 he = e; 498} 499let bi = 1, cr = 0, qe = !1; 500function pi() { 501 return ++bi; 502} 503function Mt(e) { 504 var t = e.f; 505 if ((t & je) !== 0) 506 return !0; 507 if ((t & ot) !== 0) { 508 var r = e.deps, i = (t & fe) !== 0; 509 if (r !== null) { 510 var l, o, s = (t & or) !== 0, u = i && V !== null && !qe, f = r.length; 511 if (s || u) { 512 var d = ( 513 /** @type {Derived} */ 514 e 515 ), p = d.parent; 516 for (l = 0; l < f; l++) 517 o = r[l], (s || !o?.reactions?.includes(d)) && (o.reactions ??= []).push(d); 518 s && (d.f ^= or), u && p !== null && (p.f & fe) === 0 && (d.f ^= fe); 519 } 520 for (l = 0; l < f; l++) 521 if (o = r[l], Mt( 522 /** @type {Derived} */ 523 o 524 ) && ci( 525 /** @type {Derived} */ 526 o 527 ), o.wv > e.wv) 528 return !0; 529 } 530 (!i || V !== null && !qe) && me(e, le); 531 } 532 return !1; 533} 534function uo(e, t) { 535 for (var r = t; r !== null; ) { 536 if ((r.f & nr) !== 0) 537 try { 538 r.fn(e); 539 return; 540 } catch { 541 r.f ^= nr; 542 } 543 r = r.parent; 544 } 545 throw tr = !1, e; 546} 547function Pa(e) { 548 return (e.f & dr) === 0 && (e.parent === null || (e.parent.f & nr) === 0); 549} 550function br(e, t, r, i) { 551 if (tr) { 552 if (r === null && (tr = !1), Pa(t)) 553 throw e; 554 return; 555 } 556 if (r !== null && (tr = !0), uo(e, t), Pa(t)) 557 throw e; 558} 559function mi(e, t, r = !0) { 560 var i = e.reactions; 561 if (i !== null) 562 for (var l = 0; l < i.length; l++) { 563 var o = i[l]; 564 Ve?.includes(e) || ((o.f & pe) !== 0 ? mi( 565 /** @type {Derived} */ 566 o, 567 t, 568 !1 569 ) : t === o && (r ? me(o, je) : (o.f & le) !== 0 && me(o, ot), pr( 570 /** @type {Effect} */ 571 o 572 ))); 573 } 574} 575function yi(e) { 576 var t = re, r = ue, i = he, l = I, o = qe, s = Ve, u = ae, f = Le, d = e.f; 577 re = /** @type {null | Value[]} */ 578 null, ue = 0, he = null, qe = (d & fe) !== 0 && (Le || !at || I === null), I = (d & (Re | nt)) === 0 ? e : null, Ve = null, Ra(e.ctx), Le = !1, cr++, e.f |= Vr; 579 try { 580 var p = ( 581 /** @type {Function} */ 582 (0, e.fn)() 583 ), g = e.deps; 584 if (re !== null) { 585 var m; 586 if (ur(e, ue), g !== null && ue > 0) 587 for (g.length = ue + re.length, m = 0; m < re.length; m++) 588 g[ue + m] = re[m]; 589 else 590 e.deps = g = re; 591 if (!qe) 592 for (m = ue; m < g.length; m++) 593 (g[m].reactions ??= []).push(e); 594 } else g !== null && ue < g.length && (ur(e, ue), g.length = ue); 595 if (oi() && he !== null && !Le && g !== null && (e.f & (pe | ot | je)) === 0) 596 for (m = 0; m < /** @type {Source[]} */ 597 he.length; m++) 598 mi( 599 he[m], 600 /** @type {Effect} */ 601 e 602 ); 603 return l !== null && l !== e && (cr++, he !== null && (i === null ? i = he : i.push(.../** @type {Source[]} */ 604 he))), p; 605 } finally { 606 re = t, ue = r, he = i, I = l, qe = o, Ve = s, Ra(u), Le = f, e.f ^= Vr; 607 } 608} 609function fo(e, t) { 610 let r = t.reactions; 611 if (r !== null) { 612 var i = Vn.call(r, e); 613 if (i !== -1) { 614 var l = r.length - 1; 615 l === 0 ? r = t.reactions = null : (r[i] = r[l], r.pop()); 616 } 617 } 618 r === null && (t.f & pe) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear 619 // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps` 620 // allows us to skip the expensive work of disconnecting and immediately reconnecting it 621 (re === null || !re.includes(t)) && (me(t, ot), (t.f & (fe | or)) === 0 && (t.f ^= or), li( 622 /** @type {Derived} **/ 623 t 624 ), ur( 625 /** @type {Derived} **/ 626 t, 627 0 628 )); 629} 630function ur(e, t) { 631 var r = e.deps; 632 if (r !== null) 633 for (var i = t; i < r.length; i++) 634 fo(e, r[i]); 635} 636function Br(e) { 637 var t = e.f; 638 if ((t & dr) === 0) { 639 me(e, le); 640 var r = V, i = ae, l = at; 641 V = e, at = !0; 642 try { 643 (t & Dr) !== 0 ? ko(e) : wi(e), _i(e); 644 var o = yi(e); 645 e.teardown = typeof o == "function" ? o : null, e.wv = bi; 646 var s = e.deps, u; 647 } catch (f) { 648 br(f, e, r, i || e.ctx); 649 } finally { 650 at = l, V = r; 651 } 652 } 653} 654function ho() { 655 try { 656 Un(); 657 } catch (e) { 658 if (sr !== null) 659 br(e, sr, null); 660 else 661 throw e; 662 } 663} 664function Ai() { 665 var e = at; 666 try { 667 var t = 0; 668 for (at = !0; Nt.length > 0; ) { 669 t++ > 1e3 && ho(); 670 var r = Nt, i = r.length; 671 Nt = []; 672 for (var l = 0; l < i; l++) { 673 var o = vo(r[l]); 674 go(o); 675 } 676 Ot.clear(); 677 } 678 } finally { 679 lr = !1, at = e, sr = null; 680 } 681} 682function go(e) { 683 var t = e.length; 684 if (t !== 0) 685 for (var r = 0; r < t; r++) { 686 var i = e[r]; 687 if ((i.f & (dr | kt)) === 0) 688 try { 689 Mt(i) && (Br(i), i.deps === null && i.first === null && i.nodes_start === null && (i.teardown === null ? Li(i) : i.fn = null)); 690 } catch (l) { 691 br(l, i, null, i.ctx); 692 } 693 } 694} 695function pr(e) { 696 lr || (lr = !0, queueMicrotask(Ai)); 697 for (var t = sr = e; t.parent !== null; ) { 698 t = t.parent; 699 var r = t.f; 700 if ((r & (nt | Re)) !== 0) { 701 if ((r & le) === 0) return; 702 t.f ^= le; 703 } 704 } 705 Nt.push(t); 706} 707function vo(e) { 708 for (var t = [], r = e; r !== null; ) { 709 var i = r.f, l = (i & (Re | nt)) !== 0, o = l && (i & le) !== 0; 710 if (!o && (i & kt) === 0) { 711 if ((i & Za) !== 0) 712 t.push(r); 713 else if (l) 714 r.f ^= le; 715 else 716 try { 717 Mt(r) && Br(r); 718 } catch (f) { 719 br(f, r, null, r.ctx); 720 } 721 var s = r.first; 722 if (s !== null) { 723 r = s; 724 continue; 725 } 726 } 727 var u = r.parent; 728 for (r = r.next; r === null && u !== null; ) 729 r = u.next, u = u.parent; 730 } 731 return t; 732} 733function _(e) { 734 for (var t; ; ) { 735 if (On(), Nt.length === 0) 736 return ( 737 /** @type {T} */ 738 t 739 ); 740 lr = !0, Ai(); 741 } 742} 743async function Tr() { 744 await Promise.resolve(), _(); 745} 746function n(e) { 747 var t = e.f, r = (t & pe) !== 0; 748 if (I !== null && !Le) { 749 if (!Ve?.includes(e)) { 750 var i = I.deps; 751 e.rv < cr && (e.rv = cr, re === null && i !== null && i[ue] === e ? ue++ : re === null ? re = [e] : (!qe || !re.includes(e)) && re.push(e)); 752 } 753 } else if (r && /** @type {Derived} */ 754 e.deps === null && /** @type {Derived} */ 755 e.effects === null) { 756 var l = ( 757 /** @type {Derived} */ 758 e 759 ), o = l.parent; 760 o !== null && (o.f & fe) === 0 && (l.f ^= fe); 761 } 762 return r && (l = /** @type {Derived} */ 763 e, Mt(l) && ci(l)), Ft && Ot.has(e) ? Ot.get(e) : e.v; 764} 765function it(e) { 766 var t = Le; 767 try { 768 return Le = !0, e(); 769 } finally { 770 Le = t; 771 } 772} 773const bo = -7169; 774function me(e, t) { 775 e.f = e.f & bo | t; 776} 777function po(e) { 778 V === null && I === null && Bn(), I !== null && (I.f & fe) !== 0 && V === null && Mn(), Ft && Fn(); 779} 780function mo(e, t) { 781 var r = t.last; 782 r === null ? t.last = t.first = e : (r.next = e, e.prev = r, t.last = e); 783} 784function lt(e, t, r, i = !0) { 785 var l = V, o = { 786 ctx: ae, 787 deps: null, 788 nodes_start: null, 789 nodes_end: null, 790 f: e | je, 791 first: null, 792 fn: t, 793 last: null, 794 next: null, 795 parent: l, 796 prev: null, 797 teardown: null, 798 transitions: null, 799 wv: 0 800 }; 801 if (r) 802 try { 803 Br(o), o.f |= zn; 804 } catch (f) { 805 throw Fe(o), f; 806 } 807 else t !== null && pr(o); 808 var s = r && o.deps === null && o.first === null && o.nodes_start === null && o.teardown === null && (o.f & (Ya | nr)) === 0; 809 if (!s && i && (l !== null && mo(o, l), I !== null && (I.f & pe) !== 0)) { 810 var u = ( 811 /** @type {Derived} */ 812 I 813 ); 814 (u.effects ??= []).push(o); 815 } 816 return o; 817} 818function Ur(e) { 819 const t = lt(fr, null, !1); 820 return me(t, le), t.teardown = e, t; 821} 822function Rr(e) { 823 po(); 824 var t = V !== null && (V.f & Re) !== 0 && ae !== null && !ae.m; 825 if (t) { 826 var r = ( 827 /** @type {ComponentContext} */ 828 ae 829 ); 830 (r.e ??= []).push({ 831 fn: e, 832 effect: V, 833 reaction: I 834 }); 835 } else { 836 var i = Gr(e); 837 return i; 838 } 839} 840function yo(e) { 841 const t = lt(nt, e, !0); 842 return () => { 843 Fe(t); 844 }; 845} 846function Ao(e) { 847 const t = lt(nt, e, !0); 848 return (r = {}) => new Promise((i) => { 849 r.outro ? Sr(t, () => { 850 Fe(t), i(void 0); 851 }) : (Fe(t), i(void 0)); 852 }); 853} 854function Gr(e) { 855 return lt(Za, e, !1); 856} 857function Wr(e) { 858 return lt(fr, e, !0); 859} 860function Ce(e, t = [], r = hr) { 861 const i = t.map(r); 862 return ki(() => e(...i.map(n))); 863} 864function ki(e, t = 0) { 865 return lt(fr | Dr | t, e, !0); 866} 867function $r(e, t = !0) { 868 return lt(fr | Re, e, !0, t); 869} 870function _i(e) { 871 var t = e.teardown; 872 if (t !== null) { 873 const r = Ft, i = I; 874 Sa(!0), Ee(null); 875 try { 876 t.call(null); 877 } finally { 878 Sa(r), Ee(i); 879 } 880 } 881} 882function wi(e, t = !1) { 883 var r = e.first; 884 for (e.first = e.last = null; r !== null; ) { 885 var i = r.next; 886 (r.f & nt) !== 0 ? r.parent = null : Fe(r, t), r = i; 887 } 888} 889function ko(e) { 890 for (var t = e.first; t !== null; ) { 891 var r = t.next; 892 (t.f & Re) === 0 && Fe(t), t = r; 893 } 894} 895function Fe(e, t = !0) { 896 var r = !1; 897 (t || (e.f & Nn) !== 0) && e.nodes_start !== null && (Ci( 898 e.nodes_start, 899 /** @type {TemplateNode} */ 900 e.nodes_end 901 ), r = !0), wi(e, t && !r), ur(e, 0), me(e, dr); 902 var i = e.transitions; 903 if (i !== null) 904 for (const o of i) 905 o.stop(); 906 _i(e); 907 var l = e.parent; 908 l !== null && l.first !== null && Li(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes_start = e.nodes_end = null; 909} 910function Ci(e, t) { 911 for (; e !== null; ) { 912 var r = e === t ? null : ( 913 /** @type {TemplateNode} */
914 /* @__PURE__ */ Me(e) 915 ); 916 e.remove(), e = r; 917 } 918} 919function Li(e) { 920 var t = e.parent, r = e.prev, i = e.next; 921 r !== null && (r.next = i), i !== null && (i.prev = r), t !== null && (t.first === e && (t.first = i), t.last === e && (t.last = r)); 922} 923function Sr(e, t) { 924 var r = []; 925 xi(e, r, !0), _o(r, () => { 926 Fe(e), t && t(); 927 }); 928} 929function _o(e, t) { 930 var r = e.length; 931 if (r > 0) { 932 var i = () => --r || t(); 933 for (var l of e) 934 l.out(i); 935 } else 936 t(); 937} 938function xi(e, t, r) { 939 if ((e.f & kt) === 0) { 940 if (e.f ^= kt, e.transitions !== null) 941 for (const s of e.transitions) 942 (s.is_global || r) && t.push(s); 943 for (var i = e.first; i !== null; ) { 944 var l = i.next, o = (i.f & qr) !== 0 || (i.f & Re) !== 0; 945 xi(i, t, o ? r : !1), i = l; 946 } 947 } 948} 949function za(e) { 950 Ei(e, !0); 951} 952function Ei(e, t) { 953 if ((e.f & kt) !== 0) { 954 e.f ^= kt, (e.f & le) === 0 && (e.f ^= le), Mt(e) && (me(e, je), pr(e)); 955 for (var r = e.first; r !== null; ) { 956 var i = r.next, l = (r.f & qr) !== 0 || (r.f & Re) !== 0; 957 Ei(r, l ? t : !1), r = i; 958 } 959 if (e.transitions !== null) 960 for (const o of e.transitions) 961 (o.is_global || t) && o.in(); 962 } 963} 964const wo = ["touchstart", "touchmove"]; 965function Co(e) { 966 return wo.includes(e); 967} 968function Lo(e, t) { 969 if (t) { 970 const r = document.body; 971 e.autofocus = !0, Hr(() => { 972 document.activeElement === r && e.focus(); 973 }); 974 } 975} 976let Na = !1; 977function Ti() { 978 Na || (Na = !0, document.addEventListener( 979 "reset", 980 (e) => { 981 Promise.resolve().then(() => { 982 if (!e.defaultPrevented) 983 for ( 984 const t of 985 /**@type {HTMLFormElement} */ 986 e.target.elements 987 ) 988 t.__on_r?.(); 989 }); 990 }, 991 // In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation) 992 { capture: !0 } 993 )); 994} 995function Ii(e) { 996 var t = I, r = V; 997 Ee(null), Oe(null); 998 try { 999 return e(); 1000 } finally { 1001 Ee(t), Oe(r); 1002 } 1003} 1004function xo(e, t, r, i = r) { 1005 e.addEventListener(t, () => Ii(r)); 1006 const l = e.__on_r; 1007 l ? e.__on_r = () => { 1008 l(), i(!0); 1009 } : e.__on_r = () => i(!0), Ti(); 1010} 1011const Vi = /* @__PURE__ */ new Set(), Pr = /* @__PURE__ */ new Set(); 1012function Eo(e, t, r, i = {}) { 1013 function l(o) { 1014 if (i.capture || Pt.call(t, o), !o.cancelBubble) 1015 return Ii(() => r?.call(this, o)); 1016 } 1017 return e.startsWith("pointer") || e.startsWith("touch") || e === "wheel" ? Hr(() => { 1018 t.addEventListener(e, l, i); 1019 }) : t.addEventListener(e, l, i), l; 1020} 1021function Ne(e, t, r, i, l) { 1022 var o = { capture: i, passive: l }, s = Eo(e, t, r, o); 1023 (t === document.body || t === window || t === document) && Ur(() => { 1024 t.removeEventListener(e, s, o); 1025 }); 1026} 1027function To(e) { 1028 for (var t = 0; t < e.length; t++) 1029 Vi.add(e[t]); 1030 for (var r of Pr) 1031 r(e); 1032} 1033function Pt(e) { 1034 var t = this, r = ( 1035 /** @type {Node} */ 1036 t.ownerDocument 1037 ), i = e.type, l = e.composedPath?.() || [], o = ( 1038 /** @type {null | Element} */ 1039 l[0] || e.target 1040 ), s = 0, u = e.__root; 1041 if (u) { 1042 var f = l.indexOf(u); 1043 if (f !== -1 && (t === document || t === /** @type {any} */ 1044 window)) { 1045 e.__root = t; 1046 return; 1047 } 1048 var d = l.indexOf(t); 1049 if (d === -1) 1050 return; 1051 f <= d && (s = f); 1052 } 1053 if (o = /** @type {Element} */ 1054 l[s] || e.target, o !== t) { 1055 Dt(e, "currentTarget", { 1056 configurable: !0, 1057 get() { 1058 return o || r; 1059 } 1060 }); 1061 var p = I, g = V; 1062 Ee(null), Oe(null); 1063 try { 1064 for (var m, k = []; o !== null; ) { 1065 var N = o.assignedSlot || o.parentNode || /** @type {any} */ 1066 o.host || null; 1067 try { 1068 var D = o["__" + i]; 1069 if (D != null && (!/** @type {any} */ 1070 o.disabled || // DOM could've been updated already by the time this is reached, so we check this as well 1071 // -> the target could not have been disabled because it emits the event in the first place 1072 e.target === o)) 1073 if (Ua(D)) { 1074 var [H, ...E] = D; 1075 H.apply(o, [e, ...E]); 1076 } else 1077 D.call(o, e); 1078 } catch (ee) { 1079 m ? k.push(ee) : m = ee; 1080 } 1081 if (e.cancelBubble || N === t || N === null) 1082 break; 1083 o = N; 1084 } 1085 if (m) { 1086 for (let ee of k) 1087 queueMicrotask(() => { 1088 throw ee; 1089 }); 1090 throw m; 1091 } 1092 } finally { 1093 e.__root = t, delete e.currentTarget, Ee(p), Oe(g); 1094 } 1095 } 1096} 1097function Zr(e) { 1098 var t = document.createElement("template"); 1099 return t.innerHTML = e, t.content; 1100} 1101function xe(e, t) { 1102 var r = ( 1103 /** @type {Effect} */ 1104 V 1105 ); 1106 r.nodes_start === null && (r.nodes_start = e, r.nodes_end = t); 1107} 1108// @__NO_SIDE_EFFECTS__ 1109function ye(e, t) { 1110 var r = (t & to) !== 0, i = (t & ro) !== 0, l, o = !e.startsWith("<!>"); 1111 return () => { 1112 if (z) 1113 return xe(P, null), P; 1114 l === void 0 && (l = Zr(o ? e : "<!>" + e), r || (l = /** @type {Node} */
1115 /* @__PURE__ */ ge(l))); 1116 var s = ( 1117 /** @type {TemplateNode} */ 1118 i || di ? document.importNode(l, !0) : l.cloneNode(!0) 1119 ); 1120 if (r) { 1121 var u = ( 1122 /** @type {TemplateNode} */ 1123 /* @__PURE__ */ ge(s) 1124 ), f = ( 1125 /** @type {TemplateNode} */ 1126 s.lastChild 1127 ); 1128 xe(u, f); 1129 } else 1130 xe(s, s); 1131 return s; 1132 }; 1133} 1134// @__NO_SIDE_EFFECTS__ 1135function mr(e, t, r = "svg") { 1136 var i = !e.startsWith("<!>"), l = `<${r}>${i ? e : "<!>" + e}</${r}>`, o; 1137 return () => { 1138 if (z) 1139 return xe(P, null), P; 1140 if (!o) { 1141 var s = ( 1142 /** @type {DocumentFragment} */ 1143 Zr(l) 1144 ), u = ( 1145 /** @type {Element} */ 1146 /* @__PURE__ */ ge(s) 1147 ); 1148 o = /** @type {Element} */ 1149 /* @__PURE__ */ ge(u); 1150 } 1151 var f = ( 1152 /** @type {TemplateNode} */ 1153 o.cloneNode(!0) 1154 ); 1155 return xe(f, f), f; 1156 }; 1157} 1158function Xt() { 1159 if (z) 1160 return xe(P, null), P; 1161 var e = document.createDocumentFragment(), t = document.createComment(""), r = vr(); 1162 return e.append(t, r), xe(t, r), e; 1163} 1164function M(e, t) { 1165 if (z) { 1166 V.nodes_end = P, _t(); 1167 return; 1168 } 1169 e !== null && e.before( 1170 /** @type {Node} */ 1171 t 1172 ); 1173} 1174function Io(e, t) { 1175 var r = t == null ? "" : typeof t == "object" ? t + "" : t; 1176 r !== (e.__t ??= e.nodeValue) && (e.__t = r, e.nodeValue = r + ""); 1177} 1178function ji(e, t) { 1179 return Ri(e, t); 1180} 1181function Vo(e, t) { 1182 jr(), t.intro = t.intro ?? !1; 1183 const r = t.target, i = z, l = P; 1184 try { 1185 for (var o = ( 1186 /** @type {TemplateNode} */
1187 /* @__PURE__ */ ge(r) 1188 ); o && (o.nodeType !== 8 || /** @type {Comment} */ 1189 o.data !== Fr); ) 1190 o = /** @type {TemplateNode} */ 1191 /* @__PURE__ */ Me(o); 1192 if (!o) 1193 throw At; 1194 mt(!0), He( 1195 /** @type {Comment} */ 1196 o 1197 ), _t(); 1198 const s = Ri(e, { ...t, anchor: o }); 1199 if (P === null || P.nodeType !== 8 || /** @type {Comment} */ 1200 P.data !== ri) 1201 throw gr(), At; 1202 return mt(!1), /** @type {Exports} */ 1203 s; 1204 } catch (s) { 1205 if (s === At) 1206 return t.recover === !1 && Gn(), jr(), so(r), mt(!1), ji(e, t); 1207 throw s; 1208 } finally { 1209 mt(i), He(l); 1210 } 1211} 1212const bt = /* @__PURE__ */ new Map(); 1213function Ri(e, { target: t, anchor: r, props: i = {}, events: l, context: o, intro: s = !0 }) { 1214 jr(); 1215 var u = /* @__PURE__ */ new Set(), f = (g) => { 1216 for (var m = 0; m < g.length; m++) { 1217 var k = g[m]; 1218 if (!u.has(k)) { 1219 u.add(k); 1220 var N = Co(k); 1221 t.addEventListener(k, Pt, { passive: N }); 1222 var D = bt.get(k); 1223 D === void 0 ? (document.addEventListener(k, Pt, { passive: N }), bt.set(k, 1)) : bt.set(k, D + 1); 1224 } 1225 } 1226 }; 1227 f(jn(Vi)), Pr.add(f); 1228 var d = void 0, p = Ao(() => { 1229 var g = r ?? t.appendChild(vr()); 1230 return $r(() => { 1231 if (o) { 1232 ii({}); 1233 var m = ( 1234 /** @type {ComponentContext} */ 1235 ae 1236 ); 1237 m.c = o; 1238 } 1239 l && (i.$$events = l), z && xe( 1240 /** @type {TemplateNode} */ 1241 g, 1242 null 1243 ), d = e(g, i) || {}, z && (V.nodes_end = P), o && ni(); 1244 }), () => { 1245 for (var m of u) { 1246 t.removeEventListener(m, Pt); 1247 var k = ( 1248 /** @type {number} */ 1249 bt.get(m) 1250 ); 1251 --k === 0 ? (document.removeEventListener(m, Pt), bt.delete(m)) : bt.set(m, k); 1252 } 1253 Pr.delete(f), g !== r && g.parentNode?.removeChild(g); 1254 }; 1255 }); 1256 return zr.set(d, p), d; 1257} 1258let zr = /* @__PURE__ */ new WeakMap(); 1259function jo(e, t) { 1260 const r = zr.get(e); 1261 return r ? (zr.delete(e), r(t)) : Promise.resolve(); 1262} 1263function J(e, t, [r, i] = [0, 0]) { 1264 z && r === 0 && _t(); 1265 var l = e, o = null, s = null, u = oe, f = r > 0 ? qr : 0, d = !1; 1266 const p = (m, k = !0) => { 1267 d = !0, g(k, m); 1268 }, g = (m, k) => { 1269 if (u === (u = m)) return; 1270 let N = !1; 1271 if (z && i !== -1) { 1272 if (r === 0) { 1273 const H = ( 1274 /** @type {Comment} */ 1275 l.data 1276 ); 1277 H === Fr ? i = 0 : H === ti ? i = 1 / 0 : (i = parseInt(H.substring(1)), i !== i && (i = u ? 1 / 0 : -1)); 1278 } 1279 const D = i > r; 1280 !!u === D && (l = lo(), He(l), mt(!1), N = !0, i = -1); 1281 } 1282 u ? (o ? za(o) : k && (o = $r(() => k(l))), s && Sr(s, () => { 1283 s = null; 1284 })) : (s ? za(s) : k && (s = $r(() => k(l, [r + 1, i]))), o && Sr(o, () => { 1285 o = null; 1286 })), N && mt(!0); 1287 }; 1288 ki(() => { 1289 d = !1, t(p), d || g(null, null); 1290 }, f), z && (l = P); 1291} 1292function tt(e, t, r = !1, i = !1, l = !1) { 1293 var o = e, s = ""; 1294 Ce(() => { 1295 var u = ( 1296 /** @type {Effect} */ 1297 V 1298 ); 1299 if (s === (s = t() ?? "")) { 1300 z && _t(); 1301 return; 1302 } 1303 if (u.nodes_start !== null && (Ci( 1304 u.nodes_start, 1305 /** @type {TemplateNode} */ 1306 u.nodes_end 1307 ), u.nodes_start = u.nodes_end = null), s !== "") { 1308 if (z) { 1309 P.data; 1310 for (var f = _t(), d = f; f !== null && (f.nodeType !== 8 || /** @type {Comment} */ 1311 f.data !== ""); ) 1312 d = f, f = /** @type {TemplateNode} */
1313 /* @__PURE__ */ Me(f); 1314 if (f === null) 1315 throw gr(), At; 1316 xe(P, d), o = He(f); 1317 return; 1318 } 1319 var p = s + ""; 1320 r ? p = `<svg>${p}</svg>` : i && (p = `<math>${p}</math>`); 1321 var g = Zr(p); 1322 if ((r || i) && (g = /** @type {Element} */ 1323 /* @__PURE__ */ ge(g)), xe( 1324 /** @type {TemplateNode} */ 1325 /* @__PURE__ */ ge(g), 1326 /** @type {TemplateNode} */ 1327 g.lastChild 1328 ), r || i) 1329 for (; /* @__PURE__ */ ge(g); ) 1330 o.before( 1331 /** @type {Node} */ 1332 /* @__PURE__ */ ge(g) 1333 ); 1334 else 1335 o.before(g); 1336 } 1337 }); 1338} 1339function Ro(e, t, r, i, l) { 1340 z && _t(); 1341 var o = t.$$slots?.[r], s = !1; 1342 o === !0 && (o = t.children, s = !0), o === void 0 || o(e, s ? () => i : i); 1343} 1344const Da = [...` 1345\r\f \v\uFEFF`]; 1346function $o(e, t, r) { 1347 var i = "" + e; 1348 if (r) { 1349 for (var l in r) 1350 if (r[l]) 1351 i = i ? i + " " + l : l; 1352 else if (i.length) 1353 for (var o = l.length, s = 0; (s = i.indexOf(l, s)) >= 0; ) { 1354 var u = s + o; 1355 (s === 0 || Da.includes(i[s - 1])) && (u === i.length || Da.includes(i[u])) ? i = (s === 0 ? "" : i.substring(0, s)) + i.substring(u + 1) : s = u; 1356 } 1357 } 1358 return i === "" ? null : i; 1359} 1360function So(e, t, r, i, l, o) { 1361 var s = e.__className; 1362 if (z || s !== r || s === void 0) { 1363 var u = $o(r, i, o); 1364 (!z || u !== e.getAttribute("class")) && (u == null ? e.removeAttribute("class") : e.className = u), e.__className = r; 1365 } else if (o && l !== o) 1366 for (var f in o) { 1367 var d = !!o[f]; 1368 (l == null || d !== !!l[f]) && e.classList.toggle(f, d); 1369 } 1370 return o; 1371} 1372const Po = Symbol("is custom element"), zo = Symbol("is html"); 1373function qa(e) { 1374 if (z) { 1375 var t = !1, r = () => { 1376 if (!t) { 1377 if (t = !0, e.hasAttribute("value")) { 1378 var i = e.value; 1379 T(e, "value", null), e.value = i; 1380 } 1381 if (e.hasAttribute("checked")) { 1382 var l = e.checked; 1383 T(e, "checked", null), e.checked = l; 1384 } 1385 } 1386 }; 1387 e.__on_r = r, Hn(r), Ti(); 1388 } 1389} 1390function No(e, t) { 1391 var r = $i(e); 1392 r.value === (r.value = // treat null and undefined the same for the initial value 1393 t ?? void 0) || // @ts-expect-error 1394 // `progress` elements always need their value set when it's `0` 1395 e.value === t && (t !== 0 || e.nodeName !== "PROGRESS") || (e.value = t ?? ""); 1396} 1397function T(e, t, r, i) { 1398 var l = $i(e); 1399 z && (l[t] = e.getAttribute(t), t === "src" || t === "srcset" || t === "href" && e.nodeName === "LINK") || l[t] !== (l[t] = r) && (t === "loading" && (e[Dn] = r), r == null ? e.removeAttribute(t) : typeof r != "string" && Do(e).includes(t) ? e[t] = r : e.setAttribute(t, r)); 1400} 1401function $i(e) { 1402 return ( 1403 /** @type {Record<string | symbol, unknown>} **/ 1404 // @ts-expect-error 1405 e.__attributes ??= { 1406 [Po]: e.nodeName.includes("-"), 1407 [zo]: e.namespaceURI === ao 1408 } 1409 ); 1410} 1411var Ha = /* @__PURE__ */ new Map(); 1412function Do(e) { 1413 var t = Ha.get(e.nodeName); 1414 if (t) return t; 1415 Ha.set(e.nodeName, t = []); 1416 for (var r, i = e, l = Element.prototype; l !== i; ) { 1417 r = Rn(i); 1418 for (var o in r) 1419 r[o].set && t.push(o); 1420 i = Ga(i); 1421 } 1422 return t; 1423} 1424function qo(e, t, r = t) { 1425 xo(e, "change", (i) => { 1426 var l = i ? e.defaultChecked : e.checked; 1427 r(l); 1428 }), // If we are hydrating and the value has since changed, 1429 // then use the update value from the input instead. 1430 (z && e.defaultChecked !== e.checked || // If defaultChecked is set, then checked == defaultChecked 1431 it(t) == null) && r(e.checked), Wr(() => { 1432 var i = t(); 1433 e.checked = !!i; 1434 }); 1435} 1436function Oa(e, t) { 1437 return e === t || e?.[zt] === t; 1438} 1439function Qt(e = {}, t, r, i) { 1440 return Gr(() => { 1441 var l, o; 1442 return Wr(() => { 1443 l = o, o = [], it(() => { 1444 e !== r(...o) && (t(e, ...o), l && Oa(r(...l), e) && t(null, ...l)); 1445 }); 1446 }), () => { 1447 Hr(() => { 1448 o && Oa(r(...o), e) && t(null, ...o); 1449 }); 1450 }; 1451 }), e; 1452} 1453let er = !1, Nr = Symbol(); 1454function Ho(e, t, r) { 1455 const i = r[t] ??= { 1456 store: null, 1457 source: /* @__PURE__ */ Mr(void 0), 1458 unsubscribe: yt 1459 }; 1460 if (i.store !== e && !(Nr in r)) 1461 if (i.unsubscribe(), i.store = e ?? null, e == null) 1462 i.source.v = void 0, i.unsubscribe = yt; 1463 else { 1464 var l = !0; 1465 i.unsubscribe = zi(e, (o) => { 1466 l ? i.source.v = o : y(i.source, o); 1467 }), l = !1; 1468 } 1469 return e && Nr in r ? ar(e) : n(i.source); 1470} 1471function Oo() { 1472 const e = {}; 1473 function t() { 1474 Ur(() => { 1475 for (var r in e) 1476 e[r].unsubscribe(); 1477 Dt(e, Nr, { 1478 enumerable: !1, 1479 value: !0 1480 }); 1481 }); 1482 } 1483 return [e, t]; 1484} 1485function Fo(e) { 1486 var t = er; 1487 try { 1488 return er = !1, [e(), er]; 1489 } finally { 1490 er = t; 1491 } 1492} 1493function Fa(e) { 1494 return e.ctx?.d ?? !1; 1495} 1496function w(e, t, r, i) { 1497 var l = (r & Jn) !== 0, o = !0, s = (r & Qn) !== 0, u = (r & eo) !== 0, f = !1, d; 1498 s ? [d, f] = Fo(() => ( 1499 /** @type {V} */ 1500 e[t] 1501 )) : d = /** @type {V} */ 1502 e[t]; 1503 var p = zt in e || Ka in e, g = s && (rt(e, t)?.set ?? (p && t in e && ((O) => e[t] = O))) || void 0, m = ( 1504 /** @type {V} */ 1505 i 1506 ), k = !0, N = !1, D = () => (N = !0, k && (k = !1, u ? m = it( 1507 /** @type {() => V} */ 1508 i 1509 ) : m = /** @type {V} */ 1510 i), m); 1511 d === void 0 && i !== void 0 && (g && o && Wn(), d = D(), g && g(d)); 1512 var H; 1513 if (H = () => { 1514 var O = ( 1515 /** @type {V} */ 1516 e[t] 1517 ); 1518 return O === void 0 ? D() : (k = !0, N = !1, O); 1519 }, (r & Xn) === 0) 1520 return H; 1521 if (g) { 1522 var E = e.$$legacy; 1523 return function(O, se) { 1524 return arguments.length > 0 ? ((!se || E || f) && g(se ? H() : O), O) : H(); 1525 }; 1526 } 1527 var ee = !1, Te = /* @__PURE__ */ Mr(d), X = /* @__PURE__ */ hr(() => { 1528 var O = H(), se = n(Te); 1529 return ee ? (ee = !1, se) : Te.v = O; 1530 }); 1531 return s && n(X), l || (X.equals = Or), function(O, se) { 1532 if (arguments.length > 0) { 1533 const Be = se ? n(X) : s ? De(O) : O; 1534 if (!X.equals(Be)) { 1535 if (ee = !0, y(Te, Be), N && m !== void 0 && (m = Be), Fa(X)) 1536 return O; 1537 it(() => n(X)); 1538 } 1539 return O; 1540 } 1541 return Fa(X) ? X.v : n(X); 1542 }; 1543} 1544function Mo(e) { 1545 return new Bo(e); 1546} 1547class Bo { 1548 /** @type {any} */ 1549 #t; 1550 /** @type {Record<string, any>} */ 1551 #e; 1552 /** 1553 * @param {ComponentConstructorOptions & { 1554 * component: any; 1555 * }} options 1556 */ 1557 constructor(t) { 1558 var r = /* @__PURE__ */ new Map(), i = (o, s) => { 1559 var u = /* @__PURE__ */ Mr(s); 1560 return r.set(o, u), u; 1561 }; 1562 const l = new Proxy( 1563 { ...t.props || {}, $$events: {} }, 1564 { 1565 get(o, s) {
vendor: 5,606 bytes, lines 1566-1742
1566 return n(r.get(s) ?? i(s, Reflect.get(o, s))); 1567 }, 1568 has(o, s) { 1569 return s === Ka ? !0 : (n(r.get(s) ?? i(s, Reflect.get(o, s))), Reflect.has(o, s)); 1570 }, 1571 set(o, s, u) { 1572 return y(r.get(s) ?? i(s, u), u), Reflect.set(o, s, u); 1573 } 1574 } 1575 ); 1576 this.#e = (t.hydrate ? Vo : ji)(t.component, { 1577 target: t.target, 1578 anchor: t.anchor, 1579 props: l, 1580 context: t.context, 1581 intro: t.intro ?? !1, 1582 recover: t.recover 1583 }), (!t?.props?.$$host || t.sync === !1) && _(), this.#t = l.$$events; 1584 for (const o of Object.keys(this.#e)) 1585 o === "$set" || o === "$destroy" || o === "$on" || Dt(this, o, { 1586 get() { 1587 return this.#e[o]; 1588 }, 1589 /** @param {any} value */ 1590 set(s) { 1591 this.#e[o] = s; 1592 }, 1593 enumerable: !0 1594 }); 1595 this.#e.$set = /** @param {Record<string, any>} next */ 1596 (o) => { 1597 Object.assign(l, o); 1598 }, this.#e.$destroy = () => { 1599 jo(this.#e); 1600 }; 1601 } 1602 /** @param {Record<string, any>} props */ 1603 $set(t) { 1604 this.#e.$set(t); 1605 } 1606 /** 1607 * @param {string} event 1608 * @param {(...args: any[]) => any} callback 1609 * @returns {any} 1610 */ 1611 $on(t, r) { 1612 this.#t[t] = this.#t[t] || []; 1613 const i = (...l) => r.call(this, ...l); 1614 return this.#t[t].push(i), () => { 1615 this.#t[t] = this.#t[t].filter( 1616 /** @param {any} fn */ 1617 (l) => l !== i 1618 ); 1619 }; 1620 } 1621 $destroy() { 1622 this.#e.$destroy(); 1623 } 1624} 1625let Si; 1626typeof HTMLElement == "function" && (Si = class extends HTMLElement { 1627 /** The Svelte component constructor */ 1628 $$ctor; 1629 /** Slots */ 1630 $$s; 1631 /** @type {any} The Svelte component instance */ 1632 $$c; 1633 /** Whether or not the custom element is connected */ 1634 $$cn = !1; 1635 /** @type {Record<string, any>} Component props data */ 1636 $$d = {}; 1637 /** `true` if currently in the process of reflecting component props back to attributes */ 1638 $$r = !1; 1639 /** @type {Record<string, CustomElementPropDefinition>} Props definition (name, reflected, type etc) */ 1640 $$p_d = {}; 1641 /** @type {Record<string, EventListenerOrEventListenerObject[]>} Event listeners */ 1642 $$l = {}; 1643 /** @type {Map<EventListenerOrEventListenerObject, Function>} Event listener unsubscribe functions */ 1644 $$l_u = /* @__PURE__ */ new Map(); 1645 /** @type {any} The managed render effect for reflecting attributes */ 1646 $$me; 1647 /** 1648 * @param {*} $$componentCtor 1649 * @param {*} $$slots 1650 * @param {*} use_shadow_dom 1651 */ 1652 constructor(e, t, r) { 1653 super(), this.$$ctor = e, this.$$s = t, r && this.attachShadow({ mode: "open" }); 1654 } 1655 /** 1656 * @param {string} type 1657 * @param {EventListenerOrEventListenerObject} listener 1658 * @param {boolean | AddEventListenerOptions} [options] 1659 */ 1660 addEventListener(e, t, r) { 1661 if (this.$$l[e] = this.$$l[e] || [], this.$$l[e].push(t), this.$$c) { 1662 const i = this.$$c.$on(e, t); 1663 this.$$l_u.set(t, i); 1664 } 1665 super.addEventListener(e, t, r); 1666 } 1667 /** 1668 * @param {string} type 1669 * @param {EventListenerOrEventListenerObject} listener 1670 * @param {boolean | AddEventListenerOptions} [options] 1671 */ 1672 removeEventListener(e, t, r) { 1673 if (super.removeEventListener(e, t, r), this.$$c) { 1674 const i = this.$$l_u.get(t); 1675 i && (i(), this.$$l_u.delete(t)); 1676 } 1677 } 1678 async connectedCallback() { 1679 if (this.$$cn = !0, !this.$$c) { 1680 let e = function(i) { 1681 return (l) => { 1682 const o = document.createElement("slot"); 1683 i !== "default" && (o.name = i), M(l, o); 1684 }; 1685 }; 1686 if (await Promise.resolve(), !this.$$cn || this.$$c) 1687 return; 1688 const t = {}, r = Uo(this); 1689 for (const i of this.$$s) 1690 i in r && (i === "default" && !this.$$d.children ? (this.$$d.children = e(i), t.default = !0) : t[i] = e(i)); 1691 for (const i of this.attributes) { 1692 const l = this.$$g_p(i.name); 1693 l in this.$$d || (this.$$d[l] = rr(l, i.value, this.$$p_d, "toProp")); 1694 } 1695 for (const i in this.$$p_d) 1696 !(i in this.$$d) && this[i] !== void 0 && (this.$$d[i] = this[i], delete this[i]); 1697 this.$$c = Mo({ 1698 component: this.$$ctor, 1699 target: this.shadowRoot || this, 1700 props: { 1701 ...this.$$d, 1702 $$slots: t, 1703 $$host: this 1704 } 1705 }), this.$$me = yo(() => { 1706 Wr(() => { 1707 this.$$r = !0; 1708 for (const i of ir(this.$$c)) { 1709 if (!this.$$p_d[i]?.reflect) continue; 1710 this.$$d[i] = this.$$c[i]; 1711 const l = rr( 1712 i, 1713 this.$$d[i], 1714 this.$$p_d, 1715 "toAttribute" 1716 ); 1717 l == null ? this.removeAttribute(this.$$p_d[i].attribute || i) : this.setAttribute(this.$$p_d[i].attribute || i, l); 1718 } 1719 this.$$r = !1; 1720 }); 1721 }); 1722 for (const i in this.$$l) 1723 for (const l of this.$$l[i]) { 1724 const o = this.$$c.$on(i, l); 1725 this.$$l_u.set(l, o); 1726 } 1727 this.$$l = {}; 1728 } 1729 } 1730 // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte 1731 // and setting attributes through setAttribute etc, this is helpful 1732 /** 1733 * @param {string} attr 1734 * @param {string} _oldValue 1735 * @param {string} newValue 1736 */ 1737 attributeChangedCallback(e, t, r) { 1738 this.$$r || (e = this.$$g_p(e), this.$$d[e] = rr(e, r, this.$$p_d, "toProp"), this.$$c?.$set({ [e]: this.$$d[e] })); 1739 } 1740 disconnectedCallback() { 1741 this.$$cn = !1, Promise.resolve().then(() => { 1742 !this.$$cn && this.$$c && (this.$$c.$destroy(), this.$$me(
1742), this.$$c = void 0); 1743 }); 1744 } 1745 /** 1746 * @param {string} attribute_name 1747 */ 1748 $$g_p(e) { 1749 return ir(this.$$p_d).find( 1750 (t) => this.$$p_d[t].attribute === e || !this.$$p_d[t].attribute && t.toLowerCase() === e 1751 ) || e; 1752 } 1753}); 1754function rr(e, t, r, i) { 1755 const l = r[e]?.type; 1756 if (t = l === "Boolean" && typeof t != "boolean" ? t != null : t, !i || !r[e]) 1757 return t; 1758 if (i === "toAttribute") 1759 switch (l) { 1760 case "Object": 1761 case "Array": 1762 return t == null ? null : JSON.stringify(t); 1763 case "Boolean": 1764 return t ? "" : null; 1765 case "Number": 1766 return t ?? null; 1767 default: 1768 return t; 1769 } 1770 else 1771 switch (l) { 1772 case "Object": 1773 case "Array": 1774 return t && JSON.parse(t); 1775 case "Boolean": 1776 return t; 1777 // conversion already handled above 1778 case "Number": 1779 return t != null ? +t : t; 1780 default: 1781 return t; 1782 } 1783} 1784function Uo(e) { 1785 const t = {}; 1786 return e.childNodes.forEach((r) => { 1787 t[ 1788 /** @type {Element} node */ 1789 r.slot || "default" 1790 ] = !0; 1791 }), t; 1792} 1793function Go(e, t, r, i, l, o) { 1794 let s = class extends Si { 1795 constructor() { 1796 super(e, r, l), this.$$p_d = t; 1797 } 1798 static get observedAttributes() { 1799 return ir(t).map( 1800 (u) => (t[u].attribute || u).toLowerCase() 1801 ); 1802 } 1803 }; 1804 return ir(t).forEach((u) => { 1805 Dt(s.prototype, u, { 1806 get() { 1807 return this.$$c && u in this.$$c ? this.$$c[u] : this.$$d[u]; 1808 }, 1809 set(f) { 1810 f = rr(u, f, t), this.$$d[u] = f; 1811 var d = this.$$c; 1812 if (d) { 1813 var p = rt(d, u)?.get; 1814 p ? d[u] = f : d.$set({ [u]: f }); 1815 } 1816 } 1817 }); 1818 }), i.forEach((u) => { 1819 Dt(s.prototype, u, { 1820 get() { 1821 return this.$$c?.[u]; 1822 } 1823 }); 1824 }), e.element = /** @type {any} */ 1825 s, s; 1826} 1827function Pi(e) { 1828 ae === null && ai(), Rr(() => { 1829 const t = it(e); 1830 if (typeof t == "function") return ( 1831 /** @type {() => void} */ 1832 t 1833 ); 1834 }); 1835} 1836function Wo(e) { 1837 ae === null && ai(), Pi(() => () => it(e)); 1838} 1839function zi(e, t, r) { 1840 if (e == null) 1841 return t(void 0), yt; 1842 const i = it( 1843 () => e.subscribe( 1844 t, 1845 // @ts-expect-error 1846 r 1847 ) 1848 ); 1849 return i.unsubscribe ? () => i.unsubscribe() : i; 1850} 1851const pt = []; 1852function Zo(e, t = yt) { 1853 let r = null; 1854 const i = /* @__PURE__ */ new Set(); 1855 function l(u) { 1856 if (ei(e, u) && (e = u, r)) { 1857 const f = !pt.length; 1858 for (const d of i) 1859 d[1](), pt.push(d, e); 1860 if (f) { 1861 for (let d = 0; d < pt.length; d += 2) 1862 pt[d][0](pt[d + 1]); 1863 pt.length = 0; 1864 } 1865 } 1866 } 1867 function o(u) { 1868 l(u( 1869 /** @type {T} */ 1870 e 1871 )); 1872 } 1873 function s(u, f = yt) { 1874 const d = [u, f]; 1875 return i.add(d), i.size === 1 && (r = t(l, o) || yt), u( 1876 /** @type {T} */ 1877 e 1878 ), () => { 1879 i.delete(d), i.size === 0 && r && (r(), r = null); 1880 }; 1881 } 1882 return { set: l, update: o, subscribe: s }; 1883} 1884function ar(e) { 1885 let t; 1886 return zi(e, (r) => t = r)(), t; 1887} 1888globalThis.altchaPlugins = globalThis.altchaPlugins || []; 1889globalThis.altchaI18n = globalThis.altchaI18n || { 1890 get: (e) => ar(globalThis.altchaI18n.store)[e], 1891 set: (e, t) => { 1892 Object.assign(ar(globalThis.altchaI18n.store), { 1893 [e]: t 1894 }), globalThis.altchaI18n.store.set(ar(globalThis.altchaI18n.store)); 1895 }, 1896 store: Zo({}) 1897}; 1898const Yo = { 1899 ariaLinkLabel: "Ø²ÙØ± Altcha.org", 1900 enterCode: "Ø£Ø¯Ø®Ù Ø§ÙØ±Ù ز", 1901 enterCodeAria: "Ø£Ø¯Ø®Ù Ø§ÙØ±Ù ز Ø§ÙØ°Ù تس٠عÙ. اضغط عÙ٠اÙÙ Ø³Ø§ÙØ© ÙØªØ´ØºÙÙ Ø§ÙØµÙت.", 1902 error: "ÙØ´Ù Ø§ÙØªØÙÙ. ØØ§Ù٠٠رة Ø£Ø®Ø±Ù ÙØ§ØÙاÙ.", 1903 expired: "Ø§ÙØªÙت ØµÙØ§ØÙØ© Ø§ÙØªØÙÙ. ØØ§Ù٠٠رة أخرÙ.", 1904 verificationRequired: "Ù Ø·ÙÙØ¨ Ø§ÙØªØÙÙ!", 1905 footer: 'Ù ØÙ Ù Ø¨ÙØ§Ø³Ø·Ø© <a href="https://altcha.org/" target="_blank" aria-label="Ø²ÙØ± Altcha.org">ALTCHA</a>', 1906 getAudioChallenge: "Ø§ØØµÙ عÙÙ ØªØØ¯Ù ØµÙØªÙ", 1907 label: "Ø£ÙØ§ ÙØ³Øª Ø±ÙØ¨ÙتاÙ", 1908 loading: "Ø¬Ø§Ø±Ù Ø§ÙØªØÙ ÙÙ...", 1909 reload: "إعادة تØÙ ÙÙ", 1910 verify: "تØÙÙ", 1911 verified: "ØªÙ Ø§ÙØªØÙÙ", 1912 verifying: "Ø¬Ø§Ø±Ù Ø§ÙØªØÙÙ...", 1913 waitAlert: "Ø¬Ø§Ø±Ù Ø§ÙØªØÙÙ... ÙØ±Ø¬Ù Ø§ÙØ§Ùتظار." 1914}; 1915globalThis.altchaI18n.set("ar", Yo); 1916const Ko = { 1917 ariaLinkLabel: "ÐоÑеÑеÑе Altcha.org", 1918 enterCode: "ÐÑведеÑе код", 1919 enterCodeAria: "ÐÑведеÑе кода, койÑо ÑÑваÑе. ÐаÑиÑнеÑе Space за вÑзпÑоизвеждане на аÑдио.", 1920 error: "ÐÑовеÑкаÑа неÑÑпеÑна. ÐолÑ, опиÑайÑе по-кÑÑно.", 1921 expired: "ÐÑемеÑо за пÑовеÑка изÑеÑе. ÐолÑ, опиÑайÑе оÑново.", 1922 verificationRequired: "ÐзиÑква Ñе пÑовеÑка!", 1923 footer: 'ÐаÑиÑено Ð¾Ñ <a href="https://altcha.org/" target="_blank" aria-label="ÐоÑеÑеÑе Altcha.org">ALTCHA</a>', 1924 getAudioChallenge: "ÐÑдио пÑовеÑка", 1925 label: "Ðз не ÑÑм ÑобоÑ", 1926 loading: "ÐаÑеждане...", 1927 reload: "ÐÑезаÑеди", 1928 verify: "ÐÑовеÑи", 1929 verified: "ÐÑовеÑено", 1930 verifying: "ÐÑовеÑÑва Ñе...", 1931 waitAlert: "ÐÑовеÑкаÑа е в пÑоÑеÑ... Ð¼Ð¾Ð»Ñ Ð¸Ð·ÑакайÑе." 1932}; 1933globalThis.altchaI18n.set("bg", Ko); 1934const Jo = { 1935 ariaLinkLabel: "ÐаведаÑÑ Altcha.org", 1936 enterCode: "УвÑдзÑÑе код", 1937 enterCodeAria: "УвÑдзÑÑе код, ÑÐºÑ Ð²Ñ ÑÑеÑе. ÐаÑÑÑнÑÑе пÑабел, каб пÑайгÑаÑÑ Ð°ÑдÑÑ.", 1938 error: "ÐÑавеÑка не пÑайÑла. ÐаÑпÑабÑйÑе пазней.", 1939 expired: "ТÑÑмÑн пÑавеÑÐºÑ ÑконÑÑÑÑÑ. ÐаÑпÑабÑйÑе зноÑ.", 1940 footer: 'ÐбаÑонена <a href="https://altcha.org/" target="_blank" aria-label="ÐаведаÑÑ Altcha.org">ALTCHA</a>', 1941 getAudioChallenge: "ÐÑÑÑмаÑÑ Ð°ÑдÑÑ Ð²ÑклÑк", 1942 label: "Я не ÑобаÑ", 1943 loading: "ÐагÑÑзка...", 1944 reload: "ÐеÑазагÑÑзÑÑÑ", 1945 verify: "ÐÑавеÑÑÑÑ", 1946 verificationRequired: "ÐаÑÑабÑеÑÑа пÑавеÑка!", 1947 verified: "ÐÑавеÑана", 1948 verifying: "ÐÑавÑÑаем...", 1949 waitAlert: "ÐÑавеÑка... ÐºÐ°Ð»Ñ Ð»Ð°Ñка, паÑакайÑе." 1950}; 1951globalThis.altchaI18n.set("be", Jo); 1952const Xo = { 1953 ariaLinkLabel: "Posjetite Altcha.org", 1954 enterCode: "Unesite kod", 1955 enterCodeAria: "Unesite kod koji Äujete. Pritisnite Space da biste pustili zvuk.", 1956 error: "Verifikacija nije uspjela. PokuÅ¡ajte ponovo kasnije.", 1957 expired: "Verifikacija je istekla. PokuÅ¡ajte ponovo.", 1958 footer: 'ZaÅ¡tiÄeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>', 1959 getAudioChallenge: "Dohvatite audio izazov", 1960 label: "Nisam robot", 1961 loading: "UÄitavanje...", 1962 reload: "Ponovno uÄitaj", 1963 verify: "Verifikuj", 1964 verificationRequired: "Verifikacija je obavezna!", 1965 verified: "Verifikovano", 1966 verifying: "Verifikacija u toku...",
1967 waitAlert: "Verifikacija u toku... molimo vas da saÄekate." 1968}; 1969globalThis.altchaI18n.set("bs", Xo); 1970const Qo = { 1971 ariaLinkLabel: "Visita Altcha.org", 1972 enterCode: "Introdueix el codi", 1973 enterCodeAria: "Introdueix el codi que escoltes. Prem Espai per reproduir lâà udio.", 1974 error: "Verificació fallida. Torna-ho a provar més tard.", 1975 expired: "Verificació expirada. Torna-ho a provar.", 1976 footer: 'Protegit per <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>', 1977 getAudioChallenge: "Obtenir un desafiament dâà udio", 1978 label: "No sóc un robot", 1979 loading: "Carregant...", 1980 reload: "Torna a carregar", 1981 verify: "Verificar", 1982 verificationRequired: "Es requereix verificació!", 1983 verified: "Verificat", 1984 verifying: "Verificant...", 1985 waitAlert: "Verificant... si us plau, espera." 1986}; 1987globalThis.altchaI18n.set("ca", Qo); 1988const el = { 1989 ariaLinkLabel: "NavÅ¡tivte Altcha.org", 1990 enterCode: "Zadejte kód", 1991 enterCodeAria: "Zadejte kód, který slyÅ¡Ãte. StisknutÃm mezernÃku pÅehrajete zvuk.", 1992 error: "OvÄÅenà selhalo. Zkuste to prosÃm pozdÄji.", 1993 expired: "OvÄÅenà vyprÅ¡elo. Zkuste to prosÃm znovu.", 1994 verificationRequired: "Vyžaduje se ovÄÅenÃ!", 1995 footer: 'ChránÄno pomocà <a href="https://altcha.org/" target="_blank" aria-label="NavÅ¡tivte Altcha.org">ALTCHA</a>', 1996 getAudioChallenge: "ZÃskat audio výzvu", 1997 label: "Nejsem robot", 1998 loading: "NaÄÃtánÃ...", 1999 reload: "Znovu naÄÃst", 2000 verify: "OvÄÅit", 2001 verified: "OvÄÅeno", 2002 verifying: "OvÄÅovánÃ...", 2003 waitAlert: "ProbÃhá ovÄÅenÃ... prosÃm poÄkejte." 2004}; 2005globalThis.altchaI18n.set("cs", el); 2006const tl = { 2007 ariaLinkLabel: "Besøg Altcha.org", 2008 enterCode: "Indtast kode", 2009 enterCodeAria: "Indtast den kode, du hører. Tryk pÃ¥ mellemrumstasten for at afspille lyd.", 2010 error: "Verificering mislykkedes. Prøv venligst igen senere.", 2011 expired: "Verificering udløbet. Prøv venligst igen.", 2012 verificationRequired: "Verificering kræves!", 2013 footer: 'Beskyttet af <a href="https://altcha.org/" target="_blank" aria-label="Besøg Altcha.org">ALTCHA</a>', 2014 getAudioChallenge: "Hent lydudfordring", 2015 label: "Jeg er ikke en robot", 2016 loading: "Indlæser...", 2017 reload: "Genindlæs", 2018 verify: "Verificer", 2019 verified: "Verificeret", 2020 verifying: "Verificerer...", 2021 waitAlert: "Verificerer... vent venligst." 2022}; 2023globalThis.altchaI18n.set("da", tl); 2024const rl = { 2025 ariaLinkLabel: "Besuche Altcha.org", 2026 enterCode: "Code eingeben", 2027 enterCodeAria: "Geben Sie den Code ein, den Sie hören. Drücken Sie die Leertaste, um die Audio abzuspielen.", 2028 error: "Ãberprüfung fehlgeschlagen. Bitte versuchen Sie es später erneut.", 2029 expired: "Ãberprüfung abgelaufen. Bitte versuchen Sie es erneut.", 2030 verificationRequired: "Ãberprüfung erforderlich!", 2031 footer: 'Geschützt durch <a href="https://altcha.org/" target="_blank" aria-label="Besuche Altcha.org">ALTCHA</a>', 2032 getAudioChallenge: "Audio-Herausforderung anfordern", 2033 label: "Ich bin kein Roboter", 2034 loading: "Lade...", 2035 reload: "Neu laden", 2036 verify: "Ãberprüfen", 2037 verified: "Ãberprüft", 2038 verifying: "Wird überprüft...", 2039 waitAlert: "Ãberprüfung läuft... bitte warten." 2040}; 2041globalThis.altchaI18n.set("de", rl); 2042const al = { 2043 ariaLinkLabel: "ÎÏιÏκεÏθείÏε Ïο Altcha.org", 2044 enterCode: "ÎιÏαγάγεÏε κÏδικÏ", 2045 enterCodeAria: "ÎιÏαγάγεÏε Ïον κÏÎ´Î¹ÎºÏ ÏÎ¿Ï Î±ÎºÎ¿ÏÏε. ΠαÏήÏÏε Space για να ÏαίξεÏε Ïον ήÏο.", 2046 error: "ΠεÏÎ±Î»Î®Î¸ÎµÏ Ïη αÏÎÏÏ Ïε. ÎοκιμάÏÏε ξανά αÏγÏÏεÏα.", 2047 expired: "ΠεÏÎ±Î»Î®Î¸ÎµÏ Ïη Îληξε. ÎοκιμάÏÏε ξανά.", 2048 verificationRequired: "ÎÏαιÏείÏαι ÎλεγÏοÏ!", 2049 footer: 'Î ÏοÏÏαÏεÏεÏαι αÏÏ Ïο <a href="https://altcha.org/" target="_blank" aria-label="ÎÏιÏκεÏθείÏε Ïο Altcha.org">ALTCHA</a>', 2050 getAudioChallenge: "ÎήÏη ηÏηÏÎ¹ÎºÎ®Ï Î´Î¿ÎºÎ¹Î¼Î±ÏίαÏ", 2051 label: "Îεν είμαι ÏομÏÏÏ", 2052 loading: "ΦÏÏÏÏÏη...", 2053 reload: "ÎÏαναÏÏÏÏÏÏη", 2054 verify: "ÎÏÎ±Î»Î®Î¸ÎµÏ Ïη", 2055 verified: "ÎÏαληθεÏÏηκε", 2056 verifying: "ÎίνεÏαι εÏÎ±Î»Î®Î¸ÎµÏ Ïη...", 2057 waitAlert: "ÎίνεÏαι εÏÎ±Î»Î®Î¸ÎµÏ Ïη... ÏαÏÎ±ÎºÎ±Î»Ï ÏεÏιμÎνεÏε." 2058}; 2059globalThis.altchaI18n.set("el", al); 2060const il = { 2061 ariaLinkLabel: "Visitar Altcha.org", 2062 enterCode: "Introduce el código", 2063 enterCodeAria: "Introduce el código que escuchas. Pulsa Espacio para reproducir el audio.", 2064 error: "Falló la verificación. Por favor intente nuevamente más tarde.", 2065 expired: "Verificación expirada. Por favor intente nuevamente.", 2066 verificationRequired: "¡Verificación requerida!", 2067 footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>', 2068 getAudioChallenge: "Obtener un desafÃo de audio", 2069 label: "No soy un robot", 2070 loading: "Cargando...", 2071 reload: "Recargar", 2072 verify: "Verificar", 2073 verified: "Verificado", 2074 verifying: "Verificando...", 2075 waitAlert: "Verificando... por favor espere." 2076}; 2077globalThis.altchaI18n.set("es-es", il); 2078const nl = { 2079 ariaLinkLabel: "Visitar Altcha.org", 2080 enterCode: "Ingresa el código", 2081 enterCodeAria: "Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.", 2082 error: "Falló la verificación. Por favor vuelve a intentarlo más tarde.", 2083 expired: "La verificación expiró. Por favor inténtalo de nuevo.", 2084 verificationRequired: "¡Verificación requerida!", 2085 footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>', 2086 getAudioChallenge: "Obtener un reto de audio", 2087 label: "No soy un robot", 2088 loading: "Cargando...", 2089 reload: "Volver a cargar", 2090 verify: "Verificar", 2091 verified: "Verificado", 2092 verifying: "Verificando...", 2093 waitAlert: "Verificando... por favor espera." 2094}; 2095globalThis.altchaI18n.set("es-419", nl); 2096const ol = { 2097 ariaLinkLabel: "Külasta Altcha.org", 2098 enterCode: "Sisesta kood", 2099 enterCodeAria: "Sisestage kuuldu kood. Vajutage tühikut, et esitada heli.", 2100 error: "Kinnitamine ebaõnnestus. Proovi hiljem uuesti.", 2101 expired: "Kinnitamine aegus. Proovi uuesti.", 2102 verificationRequired: "Kontroll on vajalik!", 2103 footer: 'Kaitstud <a href="https://altcha.org/" target="_blank" aria-label="Külasta Altcha.org">ALTCHA</a> poolt', 2104 getAudioChallenge: "Hangi heliülesanne", 2105 label: "Ma ei ole robot",
2106 loading: "Laadimine...", 2107 reload: "Laadi uuesti", 2108 verify: "Kinnita", 2109 verified: "Kinnitatud", 2110 verifying: "Kinnitamine...", 2111 waitAlert: "Kinnitamine... palun oota." 2112}; 2113globalThis.altchaI18n.set("et", ol); 2114const ll = { 2115 ariaLinkLabel: "Bisitatu Altcha.org", 2116 enterCode: "Sartu kodea", 2117 enterCodeAria: "Sartu entzun duzun kodea. Sakatu Espazioa audioa erreproduzitzeko.", 2118 error: "Egiaztatzeak huts egin du. Saiatu berriro geroago.", 2119 expired: "Egiaztatzea iraungi da. Saiatu berriro.", 2120 verificationRequired: "Egiaztatzea beharrezkoa da!", 2121 footer: '<a href="https://altcha.org/" target="_blank" aria-label="Bisitatu Altcha.org">ALTCHA</a>k babestuta', 2122 getAudioChallenge: "Jaso audio-erronka bat", 2123 label: "Ez naiz robot bat", 2124 loading: "Kargatzen...", 2125 reload: "Birkargatu", 2126 verify: "Egiaztatu", 2127 verified: "Egiaztatuta", 2128 verifying: "Egiaztatzen...", 2129 waitAlert: "Egiaztatzen... itxaron mesedez." 2130}; 2131globalThis.altchaI18n.set("eu", ll); 2132const sl = { 2133 ariaLinkLabel: "Ø¨Ø§Ø²Ø¯ÛØ¯ از Altcha.org", 2134 enterCode: "کد را ÙØ§Ø±Ø¯ Ú©ÙÛØ¯", 2135 enterCodeAria: "Ú©Ø¯Û Ú©Ù Ù ÛâØ´ÙÙÛØ¯ را ÙØ§Ø±Ø¯ Ú©ÙÛØ¯. Ø¨Ø±Ø§Û Ù¾Ø®Ø´ صدا Space را ÙØ´Ø§Ø± دÙÛØ¯.", 2136 error: "Ø§ØØ±Ø§Ø² ÙÙÛØª ÙØ§Ù ÙÙÙ Ø¨ÙØ¯. Ø¨Ø¹Ø¯Ø§Ù Ø¯ÙØ¨Ø§Ø±Ù ØªÙØ§Ø´ Ú©ÙÛØ¯.", 2137 expired: "Ø§ØØ±Ø§Ø² ÙÙÛØª Ù ÙÙØ¶Û شد. Ø¯ÙØ¨Ø§Ø±Ù ØªÙØ§Ø´ Ú©ÙÛØ¯.", 2138 footer: 'Ù ØØ§Ùظت Ø´Ø¯Ù ØªÙØ³Ø· <a href="https://altcha.org/" target="_blank" aria-label="Ø¨Ø§Ø²Ø¯ÛØ¯ از Altcha.org">ALTCHA</a>', 2139 getAudioChallenge: "Ø¯Ø±ÛØ§Ùت ÚØ§ÙØ´ ØµÙØªÛ", 2140 label: "٠٠ربات ÙÛØ³ØªÙ ", 2141 loading: "در ØØ§Ù بارگذارÛ...", 2142 reload: "Ø¨Ø§Ø±Ú¯Ø°Ø§Ø±Û Ù Ø¬Ø¯Ø¯", 2143 verify: "تاÛÛØ¯", 2144 verificationRequired: "Ø§ØØ±Ø§Ø² ÙÙÛØª ÙØ§Ø²Ù است!", 2145 verified: "تاÛÛØ¯ شد", 2146 verifying: "در ØØ§Ù تاÛÛØ¯...", 2147 waitAlert: "در ØØ§Ù تاÛÛØ¯... ÙØ·Ùا Ù ÙØªØ¸Ø± ب٠اÙÛØ¯." 2148}; 2149globalThis.altchaI18n.set("fa", sl); 2150const cl = { 2151 ariaLinkLabel: "Besicht Altcha.org", 2152 enterCode: "Code aginn", 2153 enterCodeAria: "Gitt de Code an deen dir héiert. Dréckt op d'Weltraumtast fir Audio ofzespillen.", 2154 error: "Verifikatioun ass feelgeschloen. Probéiert méi spéit nach emol.", 2155 expired: "Verifikatioun ofgelaf. Probéiert nach emol.", 2156 footer: 'Geschützt vun <a href="https://altcha.org/" target="_blank" aria-label="Besicht Altcha.org">ALTCHA</a>', 2157 getAudioChallenge: "Kritt eng Audio-Herausfuerderung", 2158 label: "Ech sinn keen Robot", 2159 loading: "Lueden...", 2160 reload: "Nei lueden", 2161 verify: "Verifizéieren", 2162 verificationRequired: "Verifikatioun néideg!", 2163 verified: "Verifizéiert", 2164 verifying: "Verifizéieren...", 2165 waitAlert: "Verifizéieren... waart wgl." 2166}; 2167globalThis.altchaI18n.set("lb", cl); 2168const ul = { 2169 ariaLinkLabel: "Vieraile sivulla Altcha.org", 2170 enterCode: "Syötä koodi", 2171 enterCodeAria: "Kirjoita kuulemasi koodi. Paina välilyöntiä toistaaksesi äänen.", 2172 error: "Varmennus epäonnistui. Yritä myöhemmin uudelleen.", 2173 expired: "Varmennus vanhentui. Yritä uudelleen.", 2174 verificationRequired: "Vahvistus vaaditaan!", 2175 footer: 'Suojattu <a href="https://altcha.org/" target="_blank" aria-label="Vieraile sivulla Altcha.org">ALTCHA</a>:lla', 2176 getAudioChallenge: "Hae äänitehtävä", 2177 label: "En ole robotti", 2178 loading: "Ladataan...", 2179 reload: "Lataa uudelleen", 2180 verify: "Vahvista", 2181 verified: "Vahvistettu", 2182 verifying: "Vahvistetaan...", 2183 waitAlert: "Vahvistetaan... odota hetki." 2184}; 2185globalThis.altchaI18n.set("fi", ul); 2186const fl = { 2187 ariaLinkLabel: "Visitez Altcha.org", 2188 enterCode: "Entrez le code", 2189 enterCodeAria: "Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.", 2190 error: "Ãchec de la vérification. Réessayez plus tard.", 2191 expired: "La vérification a expiré. Réessayez.", 2192 verificationRequired: "Vérification requise !", 2193 footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>', 2194 getAudioChallenge: "Obtenir un défi audio", 2195 label: "Pas un robot", 2196 loading: "Chargement...", 2197 reload: "Recharger", 2198 verify: "Vérifier", 2199 verified: "Vérifié", 2200 verifying: "Vérification en cours...", 2201 waitAlert: "Vérification en cours... veuillez patienter." 2202}; 2203globalThis.altchaI18n.set("fr-ca", fl); 2204const dl = { 2205 ariaLinkLabel: "Visitez Altcha.org", 2206 enterCode: "Entrez le code", 2207 enterCodeAria: "Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.", 2208 error: "Ãchec de la vérification. Essayez à nouveau plus tard.", 2209 expired: "La vérification a expiré. Essayez à nouveau.", 2210 verificationRequired: "Vérification requise !",
2211 footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>', 2212 getAudioChallenge: "Obtenir un défi audio", 2213 label: "Pas un robot", 2214 loading: "Chargement...", 2215 reload: "Recharger", 2216 verify: "Vérifier", 2217 verified: "Vérifié", 2218 verifying: "Vérification en cours...", 2219 waitAlert: "Vérification en cours... veuillez patienter." 2220}; 2221globalThis.altchaI18n.set("fr-fr", dl); 2222const hl = { 2223 ariaLinkLabel: "Tabhair cuairt ar Altcha.org", 2224 enterCode: "Iontráil cód", 2225 enterCodeAria: "Cuir isteach an cód a chloiseann tú. Brúigh Spás chun an fuaime a sheinm.", 2226 error: "Theip ar an bhfÃorú. Bain triail eile as nÃos déanaÃ.", 2227 expired: "Tá an fÃorú as feidhm. Bain triail eile as.", 2228 verificationRequired: "FÃorú riachtanach!", 2229 footer: 'Cosanta ag <a href="https://altcha.org/" target="_blank" aria-label="Tabhair cuairt ar Altcha.org">ALTCHA</a>', 2230 getAudioChallenge: "Faigh dúshlán fuaime", 2231 label: "NÃl mé i mo róbat", 2232 loading: "à luchtú...", 2233 reload: "Athluchtaigh", 2234 verify: "FÃoraigh", 2235 verified: "FÃoraithe", 2236 verifying: "FÃorú ar siúl...", 2237 waitAlert: "FÃorú ar siúl... fan go fóill." 2238}; 2239globalThis.altchaI18n.set("ga", hl); 2240const gl = { 2241 ariaLinkLabel: "Posjetite Altcha.org", 2242 enterCode: "Unesite kod", 2243 enterCodeAria: "Unesite kod koji Äujete. Pritisnite razmaknicu za reprodukciju zvuka.", 2244 error: "Provjera nije uspjela. Molimo pokuÅ¡ajte kasnije.", 2245 expired: "Provjera je istekla. Molimo pokuÅ¡ajte ponovo.", 2246 verificationRequired: "Potrebna je provjera!", 2247 footer: 'ZaÅ¡tiÄeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>', 2248 getAudioChallenge: "Audio provjera", 2249 label: "Ja nisam robot", 2250 loading: "UÄitavanje...", 2251 reload: "Ponovno uÄitaj", 2252 verify: "Provjeri", 2253 verified: "Provjereno", 2254 verifying: "Provjeravanje...", 2255 waitAlert: "Provjera je u tijeku... molimo priÄekajte." 2256}; 2257globalThis.altchaI18n.set("hr", gl); 2258const vl = { 2259 ariaLinkLabel: "Látogass el az Altcha.org oldalra", 2260 enterCode: "Ãrja be a kódot", 2261 enterCodeAria: "Ãrja be a hallott kódot. Nyomja meg a Szóköz billentyűt a hang lejátszásához.", 2262 error: "A hitelesÃtés nem sikerült. Próbáld meg késÅbb újra.", 2263 expired: "A hitelesÃtés lejárt. Próbáld újra.", 2264 verificationRequired: "EllenÅrzés szükséges!", 2265 footer: 'Védve a következŠáltal: <a href="https://altcha.org/" target="_blank" aria-label="Látogass el az Altcha.org oldalra">ALTCHA</a>', 2266 getAudioChallenge: "Hangalapú kihÃvás kérése", 2267 label: "Nem vagyok robot", 2268 loading: "Betöltés...", 2269 reload: "Ãjratöltés", 2270 verify: "EllenÅrzés", 2271 verified: "EllenÅrizve", 2272 verifying: "EllenÅrzés folyamatban...", 2273 waitAlert: "EllenÅrzés folyamatban... kérlek várj." 2274}; 2275globalThis.altchaI18n.set("hu", vl); 2276const bl = { 2277 ariaLinkLabel: "Heimsækja Altcha.org", 2278 enterCode: "Sláðu inn kóða", 2279 enterCodeAria: "Sláðu inn kóðann sem þú heyrir. Ãttu á Space til að spila hljóðið.", 2280 error: "Staðfesting mistókst. Reyndu aftur sÃðar.", 2281 expired: "Staðfesting er útrunnin. Reyndu aftur.", 2282 footer: 'Verndað af <a href="https://altcha.org/" target="_blank" aria-label="Heimsækja Altcha.org">ALTCHA</a>', 2283 getAudioChallenge: "Fá hljóðáskorun", 2284 label: "Ãg er ekki robot", 2285 loading: "Hleður...", 2286 reload: "Hleð aftur", 2287 verify: "Staðfesta", 2288 verificationRequired: "Staðfesting er nauðsynleg!", 2289 verified: "Staðfest", 2290 verifying: "Að staðfesta...", 2291 waitAlert: "Að staðfesta... vinsamlegast bÃða." 2292}; 2293globalThis.altchaI18n.set("is", bl); 2294const pl = { 2295 ariaLinkLabel: "Visita Altcha.org", 2296 enterCode: "Inserisci il codice", 2297 enterCodeAria: "Inserisci il codice che senti. Premi Spazio per riprodurre l'audio.", 2298 error: "Verifica fallita. Riprova più tardi.", 2299 expired: "Verifica scaduta. Riprova.", 2300 verificationRequired: "Verifica richiesta!", 2301 footer: 'Protetto da <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>', 2302 getAudioChallenge: "Ottieni una sfida audio", 2303 label: "Non sono un robot", 2304 loading: "Caricamento...", 2305 reload: "Ricarica", 2306 verify: "Verifica", 2307 verified: "Verificato", 2308 verifying: "Verifica in corso...", 2309 waitAlert: "Verifica in corso... attendere." 2310}; 2311globalThis.altchaI18n.set("it", pl); 2312const ml = { 2313 ariaLinkLabel: "Apsilankykite Altcha.org", 2314 enterCode: "Ä®veskite kodÄ ", 2315 enterCodeAria: "Ä®veskite girdimÄ kodÄ . Paspauskite tarpo klaviÅ¡Ä , kad grotumÄte garso įraÅ¡Ä .", 2316 error: "Patvirtinimas nepavyko. Bandykite vÄliau.", 2317 expired: "Patvirtinimo laikas baigÄsi. Bandykite dar kartÄ .", 2318 verificationRequired: "Reikalingas patvirtinimas!", 2319 footer: 'Apsaugota <a href="https://altcha.org/" target="_blank" aria-label="Apsilankykite Altcha.org">ALTCHA</a>', 2320 getAudioChallenge: "Gauti garso užduotį", 2321 label: "AÅ¡ nesu robotas", 2322 loading: "Ä®keliama...", 2323 reload: "Ä®kelti iÅ¡ naujo", 2324 verify: "Patvirtinti", 2325 verified: "Patvirtinta", 2326 verifying: "Tikrinama...", 2327 waitAlert: "Tikrinama... praÅ¡ome palaukti." 2328}; 2329globalThis.altchaI18n.set("lt", ml); 2330const yl = { 2331 ariaLinkLabel: "ApmeklÄjiet Altcha.org", 2332 enterCode: "Ievadiet kodu", 2333 enterCodeAria: "Ievadiet dzirdamo kodu. Nospiediet atstarpes taustiÅu, lai atskaÅotu audio.", 2334 error: "VerifikÄcija neizdevÄs. MÄÄ£iniet vÄlÄk vÄlreiz.", 2335 expired: "VerifikÄcijas laiks ir beidzies. MÄÄ£iniet vÄlreiz.", 2336 verificationRequired: "NepiecieÅ¡ama verifikÄcija!", 2337 footer: 'AizsargÄts ar <a href="https://altcha.org/" target="_blank" aria-label="ApmeklÄjiet Altcha.org">ALTCHA</a>', 2338 getAudioChallenge: "SaÅemt audio izaicinÄjumu", 2339 label: "Es neesmu robots", 2340 loading: "Notiek ielÄde...", 2341 reload: "PÄrlÄdÄt", 2342 verify: "VerificÄt", 2343 verified: "VerificÄts", 2344 verifying: "Notiek verifikÄcija...", 2345 waitAlert: "Notiek verifikÄcija... lÅ«dzu, uzgaidiet." 2346}; 2347globalThis.altchaI18n.set("lv", yl); 2348const Al = { 2349 ariaLinkLabel: "Å»ur Altcha.org", 2350 enterCode: "Idħol il-kodiÄi", 2351 enterCodeAria: "Idħol il-kodiÄi li tisma'. Agħfas Spazju biex tindaqq l-awdjo.", 2352 error: "Il-verifika falliet. ErÄ¡aâ pprova aktar tard.", 2353 expired: "Il-verifika skadiet. ErÄ¡aâ pprova.", 2354 verificationRequired: "Verifika meħtieÄ¡a!", 2355 footer: 'Protett minn <a href="https://altcha.org/" target="_blank" aria-label="Å»ur Altcha.org">ALTCHA</a>', 2356 getAudioChallenge: "Ikseb sfida bl-awdjo", 2357 label: "Mâinix robot", 2358 loading: "Qed jitgħabba...", 2359 reload: "Ittellaâ mill-Ä¡did", 2360 verify: "Ivverifika", 2361 verified: "Ivverifikat", 2362 verifying: "Verifika għaddejja...", 2363 waitAlert: "Verifika għaddejja... stenna ftit." 2364}; 2365globalThis.altchaI18n.set("mt", Al); 2366const Ni = { 2367 ariaLinkLabel: "Besøk Altcha.org", 2368 enterCode: "Skriv inn kode", 2369 enterCodeAria: "Skriv inn koden du hører. Trykk pÃ¥ Space for Ã¥ spille av lyden.", 2370 error: "Verifisering mislyktes. Prøv igjen senere.", 2371 expired: "Verifiseringen utløp. Prøv igjen.", 2372 footer: 'Beskyttet av <a href="https://altcha.org/" target="_blank" aria-label="Besøk Altcha.org">ALTCHA</a>', 2373 getAudioChallenge: "FÃ¥ en lydutfordring", 2374 label: "Jeg er ikke en robot", 2375 loading: "Laster...", 2376 reload: "Last pÃ¥ nytt", 2377 verify: "Verifiser", 2378 verificationRequired: "Verifisering kreves!", 2379 verified: "Verifisert", 2380 verifying: "Verifiserer...", 2381 waitAlert: "Verifiserer... vennligst vent." 2382}; 2383globalThis.altchaI18n.set("nb", Ni); 2384globalThis.altchaI18n.set("no", Ni); 2385const kl = { 2386 ariaLinkLabel: "Bezoek Altcha.org", 2387 enterCode: "Voer code in", 2388 enterCodeAria: "Voer de code in die je hoort. Druk op Spatie om de audio af te spelen.", 2389 error: "Verificatie mislukt. Probeer het later opnieuw.", 2390 expired: "Verificatie verlopen. Probeer het opnieuw.", 2391 verificationRequired: "Verificatie vereist!", 2392 footer: 'Beschermd door <a href="https://altcha.org/" target="_blank" aria-label="Bezoek Altcha.org">ALTCHA</a>', 2393 getAudioChallenge: "Audio-uitdaging ontvangen", 2394 label: "Ik ben geen robot", 2395 loading: "Laden...", 2396 reload: "Herladen", 2397 verify: "Verifiëren", 2398 verified: "Geverifieerd", 2399 verifying: "Bezig met verifiëren...", 2400 waitAlert: "Bezig met verifiëren... even geduld a.u.b." 2401}; 2402globalThis.altchaI18n.set("nl", kl); 2403const _l = { 2404 ariaLinkLabel: "Odwiedź Altcha.org", 2405 enterCode: "Wprowadź kod",
2406 enterCodeAria: "Wpisz kod, który sÅyszysz. NaciÅnij SpacjÄ, aby odtworzyÄ dźwiÄk.", 2407 error: "Weryfikacja nie powiodÅa siÄ. Spróbuj ponownie później.", 2408 expired: "Weryfikacja wygasÅa. Spróbuj ponownie.", 2409 verificationRequired: "Wymagana weryfikacja!", 2410 footer: 'Chronione przez <a href="https://altcha.org/" target="_blank" aria-label="Odwiedź Altcha.org">ALTCHA</a>', 2411 getAudioChallenge: "Pobierz zadanie dźwiÄkowe", 2412 label: "Nie jestem robotem", 2413 loading: "Åadowanie...", 2414 reload: "OdÅwież", 2415 verify: "Zweryfikuj", 2416 verified: "Zweryfikowano", 2417 verifying: "Weryfikacja...", 2418 waitAlert: "Trwa weryfikacja... proszÄ czekaÄ." 2419}; 2420globalThis.altchaI18n.set("pl", _l); 2421const wl = { 2422 ariaLinkLabel: "Visitar Altcha.org", 2423 enterCode: "Introduza o código", 2424 enterCodeAria: "Introduza o código que ouve. Prima Espaço para reproduzir o áudio.", 2425 error: "A verificação falhou. Por favor, tente novamente mais tarde.", 2426 expired: "Verificação expirada. Por favor, tente novamente.", 2427 verificationRequired: "Verificação necessária!", 2428 footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>', 2429 getAudioChallenge: "Obter desafio de áudio", 2430 label: "Não sou um robô", 2431 loading: "A carregar...", 2432 reload: "Recarregar", 2433 verify: "Verificar", 2434 verified: "Verificado", 2435 verifying: "A verificar...", 2436 waitAlert: "A verificar... por favor aguarde." 2437}; 2438globalThis.altchaI18n.set("pt-pt", wl); 2439const Cl = { 2440 ariaLinkLabel: "Visitar Altcha.org", 2441 enterCode: "Digite o código", 2442 enterCodeAria: "Digite o código que você ouve. Pressione Espaço para reproduzir o áudio.", 2443 error: "Falha na verificação. Por favor, tente novamente mais tarde.", 2444 expired: "Verificação expirada. Por favor, tente novamente.", 2445 verificationRequired: "Verificação necessária!", 2446 footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>', 2447 getAudioChallenge: "Obter desafio de áudio", 2448 label: "Eu não sou um robô", 2449 loading: "Carregando...", 2450 reload: "Recarregar", 2451 verify: "Verificar", 2452 verified: "Verificado", 2453 verifying: "Verificando...", 2454 waitAlert: "Verificando... por favor aguarde." 2455}; 2456globalThis.altchaI18n.set("pt-br", Cl); 2457const Ll = { 2458 ariaLinkLabel: "ViziteazÄ Altcha.org", 2459 enterCode: "IntroduceÈi codul", 2460 enterCodeAria: "IntroduceÈi codul pe care îl auziÈi. ApÄsaÈi SpaÈiu pentru a reda audio.", 2461 error: "Verificarea a eÈuat. ÃncearcÄ din nou mai târziu.", 2462 expired: "Verificarea a expirat. ÃncearcÄ din nou.", 2463 verificationRequired: "Verificare necesarÄ!", 2464 footer: 'Protejat de <a href="https://altcha.org/" target="_blank" aria-label="ViziteazÄ Altcha.org">ALTCHA</a>', 2465 getAudioChallenge: "ObÈine o provocare audio", 2466 label: "Nu sunt un robot", 2467 loading: "Se încarcÄ...", 2468 reload: "ReîncarcÄ", 2469 verify: "VerificÄ", 2470 verified: "Verificat", 2471 verifying: "Se verificÄ...", 2472 waitAlert: "Se verificÄ... te rugÄm sÄ aÈtepÈi." 2473}; 2474globalThis.altchaI18n.set("ro", Ll); 2475const xl = { 2476 ariaLinkLabel: "ÐеÑейÑи на Altcha.org", 2477 enterCode: "ÐведиÑе код", 2478 enterCodeAria: "ÐведиÑе код, коÑоÑÑй ÑлÑÑиÑе. ÐажмиÑе пÑобел Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð°Ñдио.", 2479 error: "ÐÑибка веÑиÑикаÑии. ÐопÑобÑйÑе позже.", 2480 expired: "СÑок дейÑÑÐ²Ð¸Ñ Ð²ÐµÑиÑикаÑии иÑÑек. ÐопÑобÑйÑе Ñнова.", 2481 verificationRequired: "ТÑебÑеÑÑÑ Ð¿ÑовеÑка!", 2482 footer: 'ÐаÑиÑено <a href="https://altcha.org/" target="_blank" aria-label="ÐеÑейÑи на Altcha.org">ALTCHA</a>', 2483 getAudioChallenge: "ÐолÑÑиÑÑ Ð°Ñдио задаÑÑ", 2484 label: "Я не ÑобоÑ", 2485 loading: "ÐагÑÑзка...", 2486 reload: "ÐеÑезагÑÑзиÑÑ", 2487 verify: "ÐÑовеÑиÑÑ", 2488 verified: "ÐÑовеÑено", 2489 verifying: "ÐÐ´ÐµÑ Ð¿ÑовеÑка...", 2490 waitAlert: "ÐÐ´ÐµÑ Ð¿ÑовеÑка... ÐожалÑйÑÑа, подождиÑе." 2491}; 2492globalThis.altchaI18n.set("ru", xl); 2493const El = { 2494 ariaLinkLabel: "NavÅ¡tÃvte Altcha.org", 2495 enterCode: "Zadajte kód", 2496 enterCodeAria: "Zadajte kód, ktorý poÄujete. StlaÄenÃm medzernÃka prehráte zvuk.", 2497 error: "Verifikácia zlyhala. Skúste to znova neskôr.", 2498 expired: "Verifikácia vyprÅ¡ala. Skúste to znova.", 2499 verificationRequired: "Vyžaduje sa overenie!", 2500 footer: 'Chránené <a href="https://altcha.org/" target="_blank" aria-label="NavÅ¡tÃvte Altcha.org">ALTCHA</a>', 2501 getAudioChallenge: "ZÃskaÅ¥ audio výzvu", 2502 label: "Nie som robot", 2503 loading: "NaÄÃtava sa...", 2504 reload: "ObnoviÅ¥", 2505 verify: "VerifikovaÅ¥", 2506 verified: "Verifikované", 2507 verifying: "Prebieha verifikácia...", 2508 waitAlert: "Prebieha verifikácia... prosÃm Äakajte." 2509}; 2510globalThis.altchaI18n.set("sk", El); 2511const Tl = { 2512 ariaLinkLabel: "ObiÅ¡Äite Altcha.org", 2513 enterCode: "Vnesite kodo", 2514 enterCodeAria: "Vnesite kodo, ki jo sliÅ¡ite. Pritisnite preslednico za predvajanje zvoka.", 2515 error: "Preverjanje ni uspelo. Poskusite znova kasneje.", 2516 expired: "Preverjanje je poteklo. Poskusite znova.", 2517 verificationRequired: "Potrebna je preveritev!", 2518 footer: 'ZaÅ¡Äiteno z <a href="https://altcha.org/" target="_blank" aria-label="ObiÅ¡Äite Altcha.org">ALTCHA</a>', 2519 getAudioChallenge: "Pridobite zvoÄni izziv", 2520 label: "Nisem robot", 2521 loading: "Nalagam...", 2522 reload: "Ponovno naloži", 2523 verify: "Preveri", 2524 verified: "Preverjeno", 2525 verifying: "Preverjanje...", 2526 waitAlert: "Preverjanje... prosim poÄakajte." 2527}; 2528globalThis.altchaI18n.set("sl", Tl); 2529const Il = { 2530 ariaLinkLabel: "Vizitoni Altcha.org", 2531 enterCode: "Fut kodin", 2532 enterCodeAria: "Fut kodin që dëgjon. Shtypni Hapësirë për të luajtur audio.", 2533 error: "Verifikimi dështoi. Provoni përsëri më vonë.", 2534 expired: "Verifikimi ka skaduar. Provoni përsëri.", 2535 footer: 'I mbrojtur nga <a href="https://altcha.org/" target="_blank" aria-label="Vizitoni Altcha.org">ALTCHA</a>', 2536 getAudioChallenge: "Merr një sfidë audio", 2537 label: "Unë nuk jam një robot", 2538 loading: "Duke u ngarkuar...", 2539 reload: "Ringarko", 2540 verify: "Verifiko", 2541 verificationRequired: "Kërkohet verifikimi!", 2542 verified: "I verifikuar", 2543 verifying: "Duke verifikuar...", 2544 waitAlert: "Duke verifikuar... ju lutem prisni." 2545}; 2546globalThis.altchaI18n.set("sq", Il); 2547const Vl = { 2548 ariaLinkLabel: "Posetite Altcha.org", 2549 enterCode: "Unesite kod", 2550 enterCodeAria: "Unesite kod koji Äujete. Pritisnite Space da biste pustili zvuk.", 2551 error: "Verifikacija nije uspela. PokuÅ¡ajte ponovo kasnije.", 2552 expired: "Verifikacija je istekla. PokuÅ¡ajte ponovo.", 2553 footer: 'ZaÅ¡tiÄeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posetite Altcha.org">ALTCHA</a>', 2554 getAudioChallenge: "Dohvatite audio izazov", 2555 label: "Nisam robot", 2556 loading: "UÄitavanje...", 2557 reload: "Ponovo uÄitaj", 2558 verify: "Verifikuj", 2559 verificationRequired: "Verifikacija je obavezna!", 2560 verified: "Verifikovano", 2561 verifying: "Verifikacija u toku...",
2562 waitAlert: "Verifikacija u toku... molimo vas da saÄekate." 2563}; 2564globalThis.altchaI18n.set("sr", Vl); 2565const jl = { 2566 ariaLinkLabel: "Besök Altcha.org", 2567 enterCode: "Ange kod", 2568 enterCodeAria: "Ange koden du hör. Tryck pÃ¥ mellanslag för att spela upp ljudet.", 2569 error: "Verifiering misslyckades. Försök igen senare.", 2570 expired: "Verifieringen har gÃ¥tt ut. Försök igen.", 2571 verificationRequired: "Verifiering krävs!", 2572 footer: 'Skyddad av <a href="https://altcha.org/" target="_blank" aria-label="Besök Altcha.org">ALTCHA</a>', 2573 getAudioChallenge: "FÃ¥ ljudutmaning", 2574 label: "Jag är inte en robot", 2575 loading: "Laddar...", 2576 reload: "Ladda om", 2577 verify: "Verifiera", 2578 verified: "Verifierad", 2579 verifying: "Verifierar...", 2580 waitAlert: "Verifierar... vänligen vänta." 2581}; 2582globalThis.altchaI18n.set("sv", jl); 2583const Rl = { 2584 ariaLinkLabel: "Altcha.org'yu ziyaret edin", 2585 enterCode: "Kodu girin", 2586 enterCodeAria: "DuyduÄunuz kodu girin. Ses dosyasını oynatmak için BoÅluk tuÅuna basın.", 2587 error: "DoÄrulama baÅarısız oldu. Lütfen daha sonra tekrar deneyin.", 2588 expired: "DoÄrulama süresi doldu. Lütfen tekrar deneyin.", 2589 verificationRequired: "DoÄrulama gerekli!", 2590 footer: `ALTCHA tarafından korunuyor <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org'yu ziyaret edin">ALTCHA</a>`, 2591 getAudioChallenge: "Sesli doÄrulama al", 2592 label: "Ben robot deÄilim", 2593 loading: "Yükleniyor...", 2594 reload: "Yeniden yükle", 2595 verify: "DoÄrula", 2596 verified: "DoÄrulandı", 2597 verifying: "DoÄrulama yapılıyor...", 2598 waitAlert: "DoÄrulama yapılıyor... lütfen bekleyin." 2599}; 2600globalThis.altchaI18n.set("tr", Rl); 2601const $l = { 2602 ariaLinkLabel: "ÐÑдвÑдаÑи Altcha.org", 2603 enterCode: "ÐведÑÑÑ ÐºÐ¾Ð´", 2604 enterCodeAria: "ÐведÑÑÑ ÐºÐ¾Ð´, Ñкий ви ÑÑÑÑе. ÐаÑиÑнÑÑÑ Ð¿ÑобÑл, Ñоб вÑдÑвоÑиÑи аÑдÑо.", 2605 error: "ÐеÑевÑÑка не вдалаÑÑ. СпÑобÑйÑе пÑзнÑÑе.", 2606 expired: "ÐеÑевÑÑка пÑоÑÑÑоÑена. СпÑобÑйÑе зновÑ.", 2607 verificationRequired: "ÐоÑÑÑбна пеÑевÑÑка!", 2608 footer: 'ÐÐ°Ñ Ð¸Ñено <a href="https://altcha.org/" target="_blank" aria-label="ÐÑдвÑдаÑи Altcha.org">ALTCHA</a>', 2609 getAudioChallenge: "ÐÑÑимаÑи аÑдÑо-Ñеллендж", 2610 label: "Я не ÑобоÑ", 2611 loading: "ÐаванÑаженнÑ...", 2612 reload: "ÐеÑезаванÑажиÑи", 2613 verify: "ÐеÑевÑÑиÑи", 2614 verified: "ÐеÑевÑÑено", 2615 verifying: "ÐеÑевÑÑÑÑÑÑÑÑ...", 2616 waitAlert: "ÐеÑевÑÑка... бÑÐ´Ñ Ð»Ð°Ñка, заÑекайÑе." 2617}; 2618globalThis.altchaI18n.set("uk", $l); 2619const Sl = { 2620 ariaLinkLabel: "Besoek Altcha.org", 2621 enterCode: "Voer kode in", 2622 enterCodeAria: "Voer die kode in wat jy hoor. Druk Spasie om die klank af te speel.", 2623 error: "Verifikasie het misluk. Probeer later weer.", 2624 expired: "Verifikasie het verval. Probeer weer.", 2625 footer: 'Beskerm deur <a href="https://altcha.org/" target="_blank" aria-label="Besoek Altcha.org">ALTCHA</a>', 2626 getAudioChallenge: "Kry 'n klankuitdaging", 2627 label: "Ek is nie 'n robot nie", 2628 loading: "Laai...", 2629 reload: "Laai weer", 2630 verify: "Verifieer", 2631 verificationRequired: "Verifikasie is vereis!", 2632 verified: "Geverifieer", 2633 verifying: "Verifieer...", 2634 waitAlert: "Verifieer... wag asseblief." 2635}; 2636globalThis.altchaI18n.set("af", Sl); 2637const Pl = { 2638 ariaLinkLabel: "Altcha.org ááá¥á", 2639 enterCode: "á®áµ á áµáá£", 2640 enterCodeAria: "á¨áá°áááµá á®áµ á«áµáá¡á¢ áµáá½ ááá«ááµ Space á áá«áá¢", 2641 error: "áá¨ááá« á áá°á³á«áᢠá áá áá á¥áá°áá áááá©á¢", 2642 expired: "áá¨ááá«á ááá á áááᢠá¥áá°áá áááá©á¢", 2643 footer: 'á <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org ááá¥á">ALTCHA</a> á¨á°á á á', 2644 getAudioChallenge: "á¨áµáá½ áá°á á«áá", 2645 label: "á¥á á®á¦áµ á áá°ááá", 2646 loading: "á áá«á áá...", 2647 reload: "á¥áá°áá á«á", 2648 verify: "á á¨ááá¥", 2649 verificationRequired: "áá¨ááá« á«áµáááá!", 2650 verified: "á°á¨ááá§á", 2651 verifying: "á áá¨ááᥠáá...", 2652 waitAlert: "á áá¨ááᥠáá... á¥á£áá áá á¥áá¢" 2653}; 2654globalThis.altchaI18n.set("am", Pl); 2655const zl = { 2656 ariaLinkLabel: "Tembelea Altcha.org",
2657 enterCode: "Weka nambari", 2658 enterCodeAria: "Weka nambari unayosikia. Bonyeza Space kucheza sauti.", 2659 error: "Uthibitishaji umeshindwa. Jaribu tena baadaye.", 2660 expired: "Uthibitishaji umeisha. Jaribu tena.", 2661 footer: 'Imealindwa na <a href="https://altcha.org/" target="_blank" aria-label="Tembelea Altcha.org">ALTCHA</a>', 2662 getAudioChallenge: "Pata changamoto ya sauti", 2663 label: "Mimi sio roboti", 2664 loading: "Inapakia...", 2665 reload: "Pakia tena", 2666 verify: "Thibitisha", 2667 verificationRequired: "Uthibitishaji unahitajika!", 2668 verified: "Imethibitishwa", 2669 verifying: "Inathibitisha...", 2670 waitAlert: "Inathibitisha... tafadhali subiri." 2671}; 2672globalThis.altchaI18n.set("sw", zl); 2673const Nl = { 2674 ariaLinkLabel: "á¹¢e abẹwo si Altcha.org", 2675 enterCode: "Tẹ koodu sii", 2676 enterCodeAria: "Tẹ koodu ti o ngbá» sii. Tẹ Space lati á¹£e ohun orin.", 2677 error: "Ãdájá»Ìkòwò kò ṣẹÌá¹£e. Gbiyanju lẹẹkansi ni á»já»Ì iwájú.", 2678 expired: "Ãdájá»Ìkòwò ti pari. Gbiyanju lẹẹkansi.", 2679 footer: 'Ti wa ni à à bò nipasẹ <a href="https://altcha.org/" target="_blank" aria-label="á¹¢e abẹwo si Altcha.org">ALTCHA</a>', 2680 getAudioChallenge: "Gba ìjà dú ohùn", 2681 label: "Emi kii á¹£e ẹrá»", 2682 loading: "à Šgbé sÃlẹÌ...", 2683 reload: "Tún gbé wá»lé", 2684 verify: "Ṣà dájá»Ì", 2685 verificationRequired: "Ãdájá»Ìkòwò ni a nÃlò!", 2686 verified: "A ti dájá»Ì", 2687 verifying: "à Šṣà dájá»Ì...", 2688 waitAlert: "à Šṣà dájá»Ì... ẹ já»Ìá»Ì ẹ duro." 2689}; 2690globalThis.altchaI18n.set("yo", Nl); 2691const Dl = { 2692 ariaLinkLabel: "Altcha.org পরিদরà§à¦¶à¦¨ à¦à¦°à§à¦¨", 2693 enterCode: "à¦à§à¦¡ লিà¦à§à¦¨", 2694 enterCodeAria: "à¦à¦ªà¦¨à¦¿ যৠà¦à§à¦¡ শà§à¦¨à¦¤à§ পান তা লিà¦à§à¦¨à¥¤ ঠডিঠপà§à¦²à§ à¦à¦°à¦¤à§ সà§à¦ªà§à¦¸ বাà¦à¦¨ à¦à¦¿à¦ªà§à¦¨à¥¤", 2695 error: "যাà¦à¦¾à¦à¦à¦°à¦£ বà§à¦¯à¦°à§à¦¥ হয়à§à¦à§à¥¤ পরৠà¦à¦¬à¦¾à¦° à¦à§à¦·à§à¦à¦¾ à¦à¦°à§à¦¨à¥¤", 2696 expired: "যাà¦à¦¾à¦à¦à¦°à¦£ সময়সà§à¦®à¦¾ শà§à¦· হয়à§à¦à§à¥¤ à¦à¦¬à¦¾à¦° à¦à§à¦·à§à¦à¦¾ à¦à¦°à§à¦¨à¥¤", 2697 verificationRequired: "যাà¦à¦¾à¦ পà§à¦°à¦¯à¦¼à§à¦à¦¨!", 2698 footer: 'দà§à¦¬à¦¾à¦°à¦¾ সà§à¦°à¦à§à¦·à¦¿à¦¤ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org পরিদরà§à¦¶à¦¨ à¦à¦°à§à¦¨">ALTCHA</a>', 2699 getAudioChallenge: "ঠডিঠà¦à§à¦¯à¦¾à¦²à§à¦à§à¦ নিন", 2700 label: "à¦à¦®à¦¿ রà§à¦¬à¦ নà¦", 2701 loading: "লà§à¦¡ হà¦à§à¦à§...", 2702 reload: "পà§à¦¨à¦°à¦¾à¦¯à¦¼ লà§à¦¡ à¦à¦°à§à¦¨", 2703 verify: "যাà¦à¦¾à¦ à¦à¦°à§à¦¨", 2704 verified: "যাà¦à¦¾à¦ à¦à¦°à¦¾ হয়à§à¦à§", 2705 verifying: "যাà¦à¦¾à¦ à¦à¦°à¦¾ হà¦à§à¦à§...", 2706 waitAlert: "যাà¦à¦¾à¦ à¦à¦°à¦¾ হà¦à§à¦à§... দয়া à¦à¦°à§ ঠপà§à¦à§à¦·à¦¾ à¦à¦°à§à¦¨à¥¤" 2707}; 2708globalThis.altchaI18n.set("bn", Dl); 2709const ql = { 2710 ariaLinkLabel: "×קר ××תר Altcha.org", 2711 enterCode: "××× ×§××", 2712 enterCodeAria: "××× ×ת ××§×× ×©××ª× ×©×××¢. ×××¥ ×¢× ×¨××× ××פע×ת ×ש××¢.", 2713 error: "×××××ת × ×ש×. × ×¡× ×©×× ××××ר ××תר.", 2714 expired: "ת××§×£ ×××××ת פ×. × ×¡× ×©××.", 2715 verificationRequired: "× ×רש ××××ת!", 2716 footer: '×××× ×¢× ××× <a href="https://altcha.org/" target="_blank" aria-label="×קר ××תר Altcha.org">ALTCHA</a>', 2717 getAudioChallenge: "×§×× ×ת×ר ש××¢", 2718 label: "×× × ×× ×¨××××", 2719 loading: "×××¢×...", 2720 reload: "××¢× ×××ש", 2721 verify: "××ת", 2722 verified: "×××ת", 2723 verifying: "×××ת...", 2724 waitAlert: "××צע ××××ת... ×× × ××ת×." 2725}; 2726globalThis.altchaI18n.set("he", ql); 2727const Hl = { 2728 ariaLinkLabel: "Altcha.org पर à¤à¤¾à¤à¤", 2729 enterCode: "à¤à¥à¤¡ दरà¥à¤ à¤à¤°à¥à¤à¤", 2730 enterCodeAria: "à¤à¤ª à¤à¥ à¤à¥à¤¡ सà¥à¤¨à¤¤à¥ हà¥à¤ à¤à¤¸à¥ दरà¥à¤ à¤à¤°à¥à¤à¥¤ à¤à¤¡à¤¿à¤¯à¥ à¤à¤²à¤¾à¤¨à¥ à¤à¥ लिठसà¥à¤ªà¥à¤¸ दबाà¤à¤à¥¤", 2731 error: "सतà¥à¤¯à¤¾à¤ªà¤¨ विफल। à¤à¥à¤ªà¤¯à¤¾ बाद मà¥à¤ फिर सॠपà¥à¤°à¤¯à¤¾à¤¸ à¤à¤°à¥à¤à¥¤", 2732 expired: "सतà¥à¤¯à¤¾à¤ªà¤¨ समापà¥à¤¤ हॠà¤à¤¯à¤¾ हà¥à¥¤ à¤à¥à¤ªà¤¯à¤¾ पà¥
2732नठपà¥à¤°à¤¯à¤¾à¤¸ à¤à¤°à¥à¤à¥¤", 2733 verificationRequired: "सतà¥à¤¯à¤¾à¤ªà¤¨ à¤à¤µà¤¶à¥à¤¯à¤ हà¥!", 2734 footer: 'दà¥à¤µà¤¾à¤°à¤¾ सà¤à¤°à¤à¥à¤·à¤¿à¤¤ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org पर à¤à¤¾à¤à¤">ALTCHA</a>', 2735 getAudioChallenge: "à¤à¤¡à¤¿à¤¯à¥ à¤à¥à¤¨à¥à¤¤à¥ पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤°à¥à¤", 2736 label: "मà¥à¤ रà¥à¤¬à¥à¤ नहà¥à¤ हà¥à¤", 2737 loading: "लà¥à¤¡ हॠरहा हà¥...", 2738 reload: "पà¥à¤¨à¤ लà¥à¤¡ à¤à¤°à¥à¤", 2739 verify: "सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤ à¤à¤°à¥à¤", 2740 verified: "सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤", 2741 verifying: "सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤ à¤à¤° रहॠहà¥à¤...", 2742 waitAlert: "सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ रहा हà¥... à¤à¥à¤ªà¤¯à¤¾ पà¥à¤°à¤¤à¥à¤à¥à¤·à¤¾ à¤à¤°à¥à¤à¥¤" 2743}; 2744globalThis.altchaI18n.set("hi", Hl); 2745const Ol = { 2746 ariaLinkLabel: "Kunjungi Altcha.org", 2747 enterCode: "Masukkan kode", 2748 enterCodeAria: "Masukkan kode yang Anda dengar. Tekan Spasi untuk memutar audio.", 2749 error: "Verifikasi gagal. Coba lagi nanti.", 2750 expired: "Verifikasi telah kedaluwarsa. Coba lagi.", 2751 verificationRequired: "Verifikasi diperlukan!", 2752 footer: 'Dilindungi oleh <a href="https://altcha.org/" target="_blank" aria-label="Kunjungi Altcha.org">ALTCHA</a>', 2753 getAudioChallenge: "Dapatkan tantangan audio", 2754 label: "Saya bukan robot", 2755 loading: "Memuat...", 2756 reload: "Muat ulang", 2757 verify: "Verifikasi", 2758 verified: "Terverifikasi", 2759 verifying: "Memverifikasi...", 2760 waitAlert: "Memverifikasi... harap tunggu." 2761}; 2762globalThis.altchaI18n.set("id", Ol); 2763const Fl = { 2764 ariaLinkLabel: "Altcha.orgã訪å", 2765 enterCode: "ã³ã¼ããå ¥å", 2766 enterCodeAria: "èãããã³ã¼ããå ¥åãã¦ãã ãããã¹ãã¼ã¹ãã¼ãæ¼ãã¦é³å£°ãåçãã¾ãã", 2767 error: "èªè¨¼ã«å¤±æãã¾ãããå¾ã§ããä¸åº¦è©¦ãã¦ãã ããã", 2768 expired: "èªè¨¼ãæéåãã§ããå試è¡ãã¦ãã ããã", 2769 verificationRequired: "èªè¨¼ãå¿ è¦ã§ãï¼", 2770 footer: 'ä¿è·ããã¦ãã¾ã <a href="https://altcha.org/" target="_blank" aria-label="Altcha.orgã訪å">ALTCHA</a>', 2771 getAudioChallenge: "é³å£°ãã£ã¬ã³ã¸ãåå¾", 2772 label: "ç§ã¯ããããã§ã¯ããã¾ãã", 2773 loading: "èªã¿è¾¼ã¿ä¸...", 2774 reload: "åèªã¿è¾¼ã¿", 2775 verify: "確èª", 2776 verified: "ç¢ºèªæ¸ã¿", 2777 verifying: "確èªä¸...", 2778 waitAlert: "確èªä¸...å°ã ãå¾ ã¡ãã ããã" 2779}; 2780globalThis.altchaI18n.set("ja", Fl); 2781const Ml = { 2782 ariaLinkLabel: "Altcha.org 방문í기", 2783 enterCode: "ì½ë ì ë ¥", 2784 enterCodeAria: "ë¤ë¦¬ë ì½ë를 ì ë ¥íì¸ì. ì¤íì´ì¤ ë°ë¥¼ ëë¬ ì¤ëì¤ë¥¼ ì¬ìí©ëë¤.", 2785 error: "ì¸ì¦ ì¤í¨. ëì¤ì ë¤ì ìëí´ì£¼ì¸ì.", 2786 expired: "ì¸ì¦ì´ ë§ë£ëììµëë¤. ë¤ì ìëí´ì£¼ì¸ì.", 2787 verificationRequired: "ì¸ì¦ì´ íìí©ëë¤!", 2788 footer: 'ALTCHAìì ë³´í¸ë¨ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org 방문í기">ALTCHA</a>', 2789 getAudioChallenge: "ì¤ëì¤ ì±ë¦°ì§ ë°ê¸°", 2790 label: "ì ë ë¡ë´ì´ ìëëë¤", 2791 loading: "ë¡ë© ì¤...", 2792 reload: "ìë¡ ê³ ì¹¨", 2793 verify: "íì¸", 2794 verified: "íì¸ë¨", 2795 verifying: "íì¸ ì¤...", 2796 waitAlert: "íì¸ ì¤... ì ìë§ ê¸°ë¤ë ¤ì£¼ì¸ì." 2797}; 2798globalThis.altchaI18n.set("ko", Ml); 2799const Bl = { 2800 ariaLinkLabel: "Altcha.org ÑайÑÑна кÑÑÑ", 2801 enterCode: "ÐодÑÑ ÐµÐ½Ð³ÑзÑÒ£Ñз", 2802 enterCodeAria: "ÐÑÑÑген кодÑÒ£ÑÐ·Ð´Ñ ÐµÐ½Ð³ÑзÑÒ£Ñз. ÐÑÐ´Ð¸Ð¾Ð½Ñ Ð¾Ð¹Ð½Ð°ÑÑ Ò¯ÑÑн ÐÐ¾Ñ Ð¾ÑÑÐ½Ð´Ñ Ð±Ð°ÑÑÒ£Ñз.", 2803 error: "ТекÑеÑÑ ÑÓÑÑÑз аÑÒÑалдÑ. ÐейÑнÑÑек ÒайÑалаңÑз.", 2804 expired: "ТекÑеÑÑ Ð¼ÐµÑзÑÐ¼Ñ Ð°ÑÒÑалдÑ. ÒайÑалаңÑз.", 2805 footer: '<a href="https://altcha.org/" target="_blank" aria-label="Altcha.org ÑайÑÑна кÑÑÑ">ALTCHA</a> ÒоÑÒайдÑ', 2806 getAudioChallenge: "ÐÑдио ÑÑÐ½Ð°Ò Ð°Ð»Ñ", 2807 label: "Ðен ÑÐ¾Ð±Ð¾Ñ ÐµÐ¼ÐµÑпÑн", 2808 loading: "ÐүкÑелÑде...", 2809 reload: "ÒайÑа жүкÑеÑ", 2810 verify: "ТекÑеÑÑ", 2811 verificationRequired: "ТекÑеÑÑ Ñалап еÑÑледÑ!", 2812 verified: "ТекÑеÑÑлдÑ", 2813 verifying: "ТекÑеÑÑде...", 2814 waitAlert: "ТекÑеÑÑлÑде... күÑе ÑÒ±ÑÑÒ£Ñз." 2815}; 2816globalThis.altchaI18n.set("kk", Bl); 2817const Ul = { 2818 ariaLinkLabel: "Altcha.org à¤à¥à¤ दà¥à¤¯à¤¾", 2819 enterCode: "à¤à¥à¤¡ à¤à¤¾à¤à¤¾à¤¾", 2820 enterCodeAria: "तà¥à¤®à¥à¤¹à¥ à¤à¤à¤¤ ठसलà¥à¤²à¤¾ à¤à¥à¤¡ à¤à¤¾à¤à¤¾. à¤à¤¡à¤¿à¤ पà¥à¤²à¥ à¤à¤°à¤£à¥à¤¯à¤¾à¤¸à¤¾à¤ ॠसà¥à¤ªà¥à¤¸ दाबा.", 2821 error: "पà¥à¤·à¥à¤à¥à¤à¤°à¤£ ठयशसà¥à¤µà¥ à¤à¤¾à¤²à¥. à¤à¥à¤ªà¤¯à¤¾ नà¤à¤¤à¤° पà¥à¤¨à¥à¤¹à¤¾ पà¥à¤°à¤¯à¤¤à¥à¤¨ à¤à¤°à¤¾.", 2822 expired: "पà¥à¤·à¥à¤à¥à¤à¤°à¤£ à¤à¤¾à¤²à¤¬à¤¾à¤¹à¥à¤¯ à¤à¤¾à¤²à¥ à¤à¤¹à¥. à¤à¥à¤ªà¤¯à¤¾ पà¥
2822नà¥à¤¹à¤¾ पà¥à¤°à¤¯à¤¤à¥à¤¨ à¤à¤°à¤¾.", 2823 verificationRequired: "पडताळणॠà¤à¤µà¤¶à¥à¤¯à¤ à¤à¤¹à¥!", 2824 footer: 'दà¥à¤µà¤¾à¤°à¥ सà¤à¤°à¤à¥à¤·à¤¿à¤¤ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org à¤à¥à¤ दà¥à¤¯à¤¾">ALTCHA</a>', 2825 getAudioChallenge: "à¤à¤¡à¤¿à¤ à¤à¥ लà¥à¤à¤ मिळवा", 2826 label: "मॠरà¥à¤¬à¥à¤ नाहà¥", 2827 loading: "लà¥à¤¡ हà¥à¤¤ à¤à¤¹à¥...", 2828 reload: "पà¥à¤¨à¥à¤¹à¤¾ लà¥à¤¡ à¤à¤°à¤¾", 2829 verify: "पà¥à¤·à¥à¤à¥à¤à¤°à¤£ à¤à¤°à¤¾", 2830 verified: "पà¥à¤·à¥à¤à¥à¤à¤°à¤£ à¤à¤¾à¤²à¥", 2831 verifying: "पà¥à¤·à¥à¤à¥à¤à¤°à¤£ à¤à¤°à¤¤ à¤à¤¹à¥...", 2832 waitAlert: "पà¥à¤·à¥à¤à¥à¤à¤°à¤£ à¤à¤°à¤¤ à¤à¤¹à¥... à¤à¥à¤ªà¤¯à¤¾ थà¥à¤¡à¤¾ वà¥à¤³ थाà¤à¤¬à¤¾." 2833}; 2834globalThis.altchaI18n.set("mr", Ul); 2835const Gl = { 2836 ariaLinkLabel: "Altcha.org ஠பாரà¯à®µà¯à®¯à®¿à®à®µà¯à®®à¯", 2837 enterCode: "à®à¯à®±à®¿à®¯à¯à®à¯à®à¯ à®à®³à¯à®³à®¿à®à®µà¯à®®à¯", 2838 enterCodeAria: "நà¯à®à¯à®à®³à¯ à®à¯à®à¯à®à¯à®®à¯ à®à¯
2838றியà¯à®à¯à®à¯ à®à®³à¯à®³à®¿à®à®µà¯à®®à¯. à®à®à®¿à®¯à¯à®µà¯ à®à®¯à®à¯à® Space à® à® à®´à¯à®¤à¯à®¤à®µà¯à®®à¯.", 2839 error: "à®à®°à®¿à®ªà®¾à®°à¯à®ªà¯à®ªà¯ தà¯à®²à¯à®µà®¿. பிறà®à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®®à¯à®¯à®±à¯à®à®¿à®à¯à®à®µà¯à®®à¯.", 2840 expired: "à®à®°à®¿à®ªà®¾à®°à¯à®ªà¯à®ªà¯ à®à®¾à®²à®¾à®µà®¤à®¿à®¯à®¾à®©à®¤à¯. à®®à¯à®£à¯à®à¯à®®à¯ à®®à¯à®¯à®±à¯à®à®¿à®à¯à®à®µà¯à®®à¯.", 2841 verificationRequired: "à®à®°à®¿à®ªà®¾à®°à¯à®ªà¯à®ªà¯ தà¯à®µà¯!", 2842 footer: 'à®®à¯à®²à®®à®¾à® பாதà¯à®à®¾à®à¯à®à®ªà¯à®ªà®à¯à®à®µà¯ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org ஠பாரà¯à®µà¯à®¯à®¿à®à®µà¯à®®à¯">ALTCHA</a>', 2843 getAudioChallenge: "à®à®²à®¿ à®à®µà®¾à®²à¯ பà¯à®±à®µà¯à®®à¯", 2844 label: "நான௠ரà¯à®ªà¯à®à®¾à®© ஠லà¯à®²", 2845 loading: "à®à¯à®¯à®²à®¾à®à¯à®à®®à¯...", 2846 reload: "à®®à¯à®£à¯à®à¯à®®à¯ பà¯à®¤à¯à®ªà¯à®ªà®¿à®à¯à®à®µà¯à®®à¯", 2847 verify: "à®à®°à®¿à®ªà®¾à®°à¯à®à¯à®à®µà¯à®®à¯", 2848 verified: "à®à®°à®¿à®ªà®¾à®°à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®¤à¯", 2849 verifying: "à®à®°à®¿à®ªà®¾à®°à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®±à®¤à¯...", 2850 waitAlert: "à®à®°à®¿à®ªà®¾à®°à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®±à®¤à¯... தயவà¯à®à¯à®¯à¯à®¤à¯ à®à®¾à®¤à¯à®¤à®¿à®°à¯à®à¯à®à®µà¯à®®à¯." 2851}; 2852globalThis.altchaI18n.set("ta", Gl); 2853const Wl = { 2854 ariaLinkLabel: "Altcha.org à°¸à°à°¦à°°à±à°¶à°¿à°à°à°à°¡à°¿", 2855 enterCode: "à°à±à°¡à±âని నమà±à°¦à± à°à±à°¯à°à°¡à°¿", 2856 enterCodeAria: "à°®à±à°°à± వినà±à°¨ à°à±à°¡à±âని నమà±à°¦à± à°à±à°¯à°à°¡à°¿. à°à°¡à°¿à°¯à± à°ªà±à°²à± à°à±à°¯à°¡à°¾à°¨à°¿à°à°¿ à°¸à±à°ªà±à°¸à±âనౠనà±à°à±à°à°à°¡à°¿.", 2857 error: "à°à±à°à°¿à°à°à± విఫలమà±à°à°¦à°¿. దయà°à±à°¸à°¿ మరల à°ªà±à°°à°¯à°¤à±à°¨à°¿à°à°à°à°¡à°¿.", 2858 expired: "à°à±à°à°¿à°à°à± à°à°¾à°²à° à°®à±à°à°¿à°¸à°¿à°à°¦à°¿. దయà°à±à°¸à°¿ మరల à°ªà±à°°à°¯à°¤à±à°¨à°¿à°à°à°à°¡à°¿.", 2859 verificationRequired: "à°§à±à°µà±à°à°°à°£ ఠవసరà°!", 2860 footer: 'à° à°¸à±à°à± à°°à°à±à°·à°¿à°à°à°¬à°¡à°¿à°à°¦à°¿ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org à°¸à°à°¦à°°à±à°¶à°¿à°à°à°à°¡à°¿">ALTCHA</a>', 2861 getAudioChallenge: "à°à°¡à°¿à°¯à± à°à°¾à°²à±à°à°à± à°ªà±à°à°¦à°à°¡à°¿", 2862 label: "à°¨à±à°¨à± à°°à±à°¬à±à°à± à°à°¾à°¦à±", 2863 loading: "à°²à±à°¡à± à° à°µà±à°¤à±à°à°¦à°¿...", 2864 reload: "మళà±à°³à± à°²à±à°¡à± à°à±à°¯à°à°¡à°¿", 2865 verify: "à°§à±à°°à±à°µà±à°à°°à°¿à°à°à±", 2866 verified: "à°§à±à°°à±à°µà±à°à°°à°¿à°à°à°¬à°¡à°¿à°à°¦à°¿", 2867 verifying: "à°§à±à°°à±à°µà±à°à°°à°£ à°à°°à±à°à±à°¤à±à°à°¦à°¿...", 2868 waitAlert: "à°§à±à°°à±à°µà±à°à°°à°£ à°à°°à±à°à±à°¤à±à°à°¦à°¿... దయà°à±à°¸à°¿ à°µà±à°à°¿ à°à°à°¡à°à°¡à°¿." 2869}; 2870globalThis.altchaI18n.set("te", Wl); 2871const Zl = { 2872 ariaLinkLabel: "à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡ Altcha.org", 2873 enterCode: "à¸à¹à¸à¸à¸£à¸«à¸±à¸ª", 2874 enterCodeAria: "à¸à¹à¸à¸à¸£à¸«à¸±à¸ªà¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸¢à¸´à¸ à¸à¸ Space à¹à¸à¸·à¹à¸à¹à¸¥à¹à¸à¹à¸ªà¸µà¸¢à¸", 2875 error: "à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§ à¸à¸£à¸¸à¸à¸²à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¸ ายหลัà¸", 2876 expired: "à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸«à¸¡à¸à¸à¸²à¸¢à¸¸ à¸à¸£à¸¸à¸à¸²à¸¥à¸à¸à¹à¸«à¸¡à¹", 2877 verificationRequired: "à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸£à¸§à¸à¸ªà¸à¸!", 2878 footer: 'à¸à¹à¸à¸à¸à¸±à¸à¹à¸à¸¢ <a href="https://altcha.org/" target="_blank" aria-label="à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡ Altcha.org">ALTCHA</a>', 2879 getAudioChallenge: "รัà¸à¸à¸²à¸£à¸à¹à¸²à¸à¸²à¸¢à¹à¸ªà¸µà¸¢à¸", 2880 label: "à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸", 2881 loading: "à¸à¸³à¸¥à¸±à¸à¹à¸«à¸¥à¸...", 2882 reload: "à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹", 2883 verify: "à¸à¸£à¸§à¸à¸ªà¸à¸", 2884 verified: "à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸¥à¹à¸§", 2885 verifying: "à¸à¸³à¸¥à¸±à¸à¸à¸£à¸§à¸à¸ªà¸à¸...", 2886 waitAlert: "à¸à¸³à¸¥à¸±à¸à¸à¸£à¸§à¸à¸ªà¸à¸... à¸à¸£à¸¸à¸à¸²à¸£à¸" 2887}; 2888globalThis.altchaI18n.set("th", Zl); 2889const Yl = { 2890 ariaLinkLabel: "Altcha.org پر جائÛÚº", 2891 enterCode: "Ú©ÙÚ Ø¯Ø±Ø¬ کرÛÚº", 2892 enterCodeAria: "ج٠کÙÚ Ø¢Ù¾ Ø³ÙØªÛ ÛÛÚº ÙÛ Ø¯Ø±Ø¬ کرÛÚºÛ Ø¢ÚÛÙ ÚÙØ§ÙÛ Ú©Û ÙÛÛ Ø§Ø³Ù¾ÛØ³ دبائÛ
2892ÚºÛ", 2893 error: "ØªÙØ«ÛÙ ÙØ§Ú©Ø§Ù Û٠گئÛÛ Ø¨Ø±Ø§Û Ú©Ø±Ù Ø¨Ø¹Ø¯ Ù ÛÚº Ø¯ÙØ¨Ø§Ø±Û Ú©ÙØ´Ø´ کرÛÚºÛ", 2894 expired: "ØªÙØ«ÛÙ Ú©Û Ù Ø¯Øª خت٠ÛÙ Ú¯Ø¦Û ÛÛÛ Ø¨Ø±Ø§Û Ú©Ø±Ù Ø¯ÙØ¨Ø§Ø±Û Ú©ÙØ´Ø´ کرÛÚºÛ", 2895 verificationRequired: "تصدÛÙ Ø¶Ø±ÙØ±Û ÛÛ!", 2896 footer: 'Ú©Û Ø°Ø±ÛØ¹Û Ù ØÙÙØ¸ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org پر جائÛÚº">ALTCHA</a>', 2897 getAudioChallenge: "Ø¢ÚÛÙ ÚÛÙÙØ¬ ØØ§ØµÙ کرÛÚº", 2898 label: "Ù ÛÚº Ø±ÙØ¨ÙÙ¹ ÙÛÛÚº ÛÙÚº", 2899 loading: "ÙÙÚ ÛÙ Ø±ÛØ§ ÛÛ...", 2900 reload: "Ø¯ÙØ¨Ø§Ø±Û ÙÙÚ Ú©Ø±ÛÚº", 2901 verify: "ØªÙØ«Û٠کرÛÚº", 2902 verified: "ØªÙØ«Û٠شدÛ", 2903 verifying: "ØªÙØ«ÛÙ Û٠رÛÛ ÛÛ...", 2904 waitAlert: "ØªÙØ«ÛÙ Û٠رÛÛ ÛÛ... Ø¨Ø±Ø§Û Ú©Ø±Ù Ø§ÙØªØ¸Ø§Ø± کرÛÚºÛ" 2905}; 2906globalThis.altchaI18n.set("ur", Yl); 2907const Kl = { 2908 ariaLinkLabel: "Altcha.org saytiga tashrif buyuring", 2909 enterCode: "Kodni kiriting", 2910 enterCodeAria: "Eshitgan kodingizni kiriting. Audioni ijro etish uchun Bo'sh joy tugmasini bosing.", 2911 error: "Tekshiruv muvaffaqiyatsiz tugadi. Keyinroq qayta urinib ko'ring.", 2912 expired: "Tekshiruv muddati tugadi. Qayta urinib ko'ring.", 2913 footer: '<a href="https://altcha.org/" target="_blank" aria-label="Altcha.org saytiga tashrif buyuring">ALTCHA</a> tomonidan himoyalangan', 2914 getAudioChallenge: "Audio sinovni olish", 2915 label: "Men robot emasman", 2916 loading: "Yuklanmoqda...", 2917 reload: "Qayta yuklash", 2918 verify: "Tekshirish", 2919 verificationRequired: "Tekshiruv talab qilinadi!", 2920 verified: "Tekshirildi", 2921 verifying: "Tekshirilmoqda...", 2922 waitAlert: "Tekshirilmoqda... iltimos kuting." 2923}; 2924globalThis.altchaI18n.set("uz", Kl); 2925const Jl = { 2926 ariaLinkLabel: "Truy cáºp Altcha.org", 2927 enterCode: "Nháºp mã", 2928 enterCodeAria: "Nháºp mã bạn nghe ÄÆ°á»£c. Nhấn PhÃm cách Äá» phát âm thanh.", 2929 error: "Xác minh thất bại. Vui lòng thá» lại sau.", 2930 expired: "Xác minh Äã hết hạn. Vui lòng thá» lại.", 2931 verificationRequired: "Yêu cầu xác minh!", 2932 footer: 'ÄÆ°á»£c bảo vá» bá»i <a href="https://altcha.org/" target="_blank" aria-label="Truy cáºp Altcha.org">ALTCHA</a>', 2933 getAudioChallenge: "Nháºn thá» thách âm thanh", 2934 label: "Tôi không phải là robot", 2935 loading: "Äang tải...", 2936 reload: "Tải lại", 2937 verify: "Xác minh", 2938 verified: "Äã xác minh", 2939 verifying: "Äang xác minh...", 2940 waitAlert: "Äang xác minh... vui lòng chá»." 2941}; 2942globalThis.altchaI18n.set("vi", Jl); 2943const Xl = { 2944 ariaLinkLabel: "è®¿é® Altcha.org", 2945 enterCode: "è¾å ¥ä»£ç ", 2946 enterCodeAria: "è¾å ¥æ¨å¬å°ç代ç ãæç©ºæ ¼é®ææ¾é³é¢ã", 2947 error: "éªè¯å¤±è´¥ãç¨ååè¯ã", 2948 expired: "éªè¯å·²è¿æã请éè¯ã", 2949 verificationRequired: "éè¦éªè¯ï¼", 2950 footer: 'ç± <a href="https://altcha.org/" target="_blank" aria-label="è®¿é® Altcha.org">ALTCHA</a> ä¿æ¤', 2951 getAudioChallenge: "è·åé³é¢ææ", 2952 label: "æä¸æ¯æºå¨äºº", 2953 loading: "å è½½ä¸...", 2954 reload: "éæ°å è½½", 2955 verify: "éªè¯", 2956 verified: "å·²éªè¯", 2957 verifying: "æ£å¨éªè¯...", 2958 waitAlert: "æ£å¨éªè¯... 请ç¨çã" 2959}; 2960globalThis.altchaI18n.set("zh-cn", Xl); 2961const Ql = { 2962 ariaLinkLabel: "訪å Altcha.org", 2963 enterCode: "è¼¸å ¥ä»£ç¢¼", 2964 enterCodeAria: "è¼¸å ¥æ¨è½å°ç代碼ãæç©ºæ ¼éµææ¾é³é »ã", 2965 error: "é©è失æãç¨å¾å試ã", 2966 expired: "é©èå·²éæãè«é試ã", 2967 verificationRequired: "éè¦é©èï¼", 2968 footer: 'ç± <a href="https://altcha.org/" target="_blank" aria-label="訪å Altcha.org">ALTCHA</a> ä¿è·', 2969 getAudioChallenge: "ç²åé³é »ææ°", 2970 label: "æä¸æ¯æ©å¨äºº", 2971 loading: "è¼å ¥ä¸...", 2972 reload: "éæ°è¼å ¥", 2973 verify: "é©è", 2974 verified: "å·²é©è", 2975 verifying: "æ£å¨é©è...", 2976 waitAlert: "æ£å¨é©è... è«ç¨çã" 2977}; 2978globalThis.altchaI18n.set("zh-tw", Ql); 2979const Di = `(function(){"use strict";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function b(e,t,r){if(typeof crypto>"u"||!("subtle"in crypto)||!("digest"in crypto.subtle))throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).");return p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}
2979function w(e,t,r="SHA-256",n=1e6,l=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=l;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function g(e,t=12){const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e%256,e=Math.floor(e/256);return r}async function m(e,t="",r=1e6,n=0){const l="AES-GCM",o=new AbortController,a=Date.now(),s=async()=>{for(let i=n;i<=r;i+=1){if(o.signal.aborted||!c||!u)return null;try{const f=await crypto.subtle.decrypt({name:l,iv:g(i)},c,u);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,u=null;try{u=h(e);const i=await crypto.subtle.digest("SHA-256",d.encode(t));c=await crypto.subtle.importKey("raw",i,l,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:s(),controller:o}}let y;onmessage=async e=>{const{type:t,payload:r,start:n,max:l}=e.data;let o=null;if(t==="abort")y?.abort(),y=void 0;else if(t==="work"){if("obfuscated"in r){const{key:a,obfuscated:s}=r||{};o=await m(s,a,l,n)}else{const{algorithm:a,challenge:s,salt:c}=r||{};o=w(s,c,a,l,n)}y=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})(); 2980`, Ma = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", Di], { type: "text/javascript;charset=utf-8" }); 2981function es(e) { 2982 let t; 2983 try { 2984 if (t = Ma && (self.URL || self.webkitURL).createObjectURL(Ma), !t) throw ""; 2985 const r = new Worker(t, { 2986 name: e?.name 2987 }); 2988 return r.addEventListener("error", () => { 2989 (self.URL || self.webkitURL).revokeObjectURL(t); 2990 }), r; 2991 } catch { 2992 return new Worker( 2993 "data:text/javascript;charset=utf-8," + encodeURIComponent(Di), 2994 { 2995 name: e?.name 2996 } 2997 ); 2998 } 2999} 3000const ts = "5"; 3001typeof window < "u" && ((window.__svelte ??= {}).v ??= /* @__PURE__ */ new Set()).add(ts); 3002const qi = new TextEncoder(); 3003function rs(e) { 3004 return [...new Uint8Array(e)].map((t) => t.toString(16).padStart(2, "0")).join(""); 3005} 3006async function as(e, t = "SHA-256", r = 1e5) { 3007 const i = Date.now().toString(16); 3008 e || (e = Math.round(Math.random() * r)); 3009 const l = await Hi(i, e, t); 3010 return { 3011 algorithm: t, 3012 challenge: l, 3013 salt: i, 3014 signature: "" 3015 }; 3016} 3017async function Hi(e, t, r) { 3018 if (typeof crypto > "u" || !("subtle" in crypto) || !("digest" in crypto.subtle)) 3019 throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts)."); 3020 return rs( 3021 await crypto.subtle.digest( 3022 r.toUpperCase(), 3023 qi.encode(e + t) 3024 ) 3025 ); 3026} 3027function is(e, t, r = "SHA-256", i = 1e6, l = 0) { 3028 const o = new AbortController(), s = Date.now(); 3029 return { 3030 promise: (async () => { 3031 for (let f = l; f <= i; f += 1) { 3032 if (o.signal.aborted) 3033 return null; 3034 if (await Hi(t, f, r) === e) 3035 return { 3036 number: f, 3037 took: Date.now() - s 3038 }; 3039 } 3040 return null; 3041 })(), 3042 controller: o 3043 }; 3044} 3045function Ba() { 3046 try { 3047 return Intl.DateTimeFormat().resolvedOptions().timeZone; 3048 } catch { 3049 } 3050} 3051function ns(e) { 3052 const t = atob(e), r = new Uint8Array(t.length); 3053 for (let i = 0; i < t.length; i++) 3054 r[i] = t.charCodeAt(i); 3055 return r; 3056} 3057function os(e, t = 12) { 3058 const r = new Uint8Array(t); 3059 for (let i = 0; i < t; i++) 3060 r[i] = e % 256, e = Math.floor(e / 256); 3061 return r; 3062} 3063async function ls(e, t = "", r = 1e6, i = 0) { 3064 const l = "AES-GCM", o = new AbortController(), s = Date.now(), u = async () => { 3065 for (let p = i; p <= r; p += 1) { 3066 if (o.signal.aborted || !f || !d) 3067 return null; 3068 try { 3069 const g = await crypto.subtle.decrypt( 3070 { 3071 name: l, 3072 iv: os(p) 3073 }, 3074 f, 3075 d 3076 ); 3077 if (g) 3078 return { 3079 clearText: new TextDecoder().decode(g), 3080 took: Date.now() - s 3081 }; 3082 } catch { 3083 } 3084 } 3085 return null; 3086 }; 3087 let f = null, d = null; 3088 try { 3089 d = ns(e); 3090 const p = await crypto.subtle.digest(
3091 "SHA-256", 3092 qi.encode(t) 3093 ); 3094 f = await crypto.subtle.importKey( 3095 "raw", 3096 p, 3097 l, 3098 !1, 3099 ["decrypt"] 3100 ); 3101 } catch { 3102 return { 3103 promise: Promise.reject(), 3104 controller: o 3105 }; 3106 } 3107 return { 3108 promise: u(), 3109 controller: o 3110 }; 3111} 3112var A = /* @__PURE__ */ ((e) => (e.CODE = "code", e.ERROR = "error", e.VERIFIED = "verified", e.VERIFYING = "verifying", e.UNVERIFIED = "unverified", e.EXPIRED = "expired", e))(A || {}), Q = /* @__PURE__ */ ((e) => (e.ERROR = "error", e.LOADING = "loading", e.PLAYING = "playing", e.PAUSED = "paused", e.READY = "ready", e))(Q || {}); 3113const ss = { 3114 ariaLinkLabel: "Visit Altcha.org", 3115 enterCode: "Enter code", 3116 enterCodeAria: "Enter code you hear. Press Space to play audio.", 3117 error: "Verification failed. Try again later.", 3118 expired: "Verification expired. Try again.", 3119 footer: 'Protected by <a href="https://altcha.org/" target="_blank" aria-label="Visit Altcha.org">ALTCHA</a>', 3120 getAudioChallenge: "Get an audio challenge", 3121 label: "I'm not a robot", 3122 loading: "Loading...", 3123 reload: "Reload", 3124 verify: "Verify", 3125 verificationRequired: "Verification required!", 3126 verified: "Verified", 3127 verifying: "Verifying...", 3128 waitAlert: "Verifying... please wait." 3129}; 3130globalThis.altchaI18n.set("en", ss); 3131const Ir = (e, t) => { 3132 let r = /* @__PURE__ */ io(() => Pn(t?.(), 24)); 3133 var i = ds(); 3134 Ce(() => { 3135 T(i, "width", n(r)), T(i, "height", n(r)); 3136 }), M(e, i); 3137}; 3138function cs(e, t) { 3139 e.code === "Space" && (e.preventDefault(), e.stopImmediatePropagation(), t()); 3140} 3141function us(e, t) { 3142 e.preventDefault(), t(); 3143} 3144function fs(e, t, r, i, l, o, s, u) { 3145 [ 3146 A.UNVERIFIED, 3147 A.ERROR, 3148 A.EXPIRED, 3149 A.CODE 3150 ].includes(n(t)) ? r() !== !1 && n(i)?.reportValidity() === !1 ? y(l, !1) : o() ? s() : u() : y(l, !0); 3151} 3152var ds = /* @__PURE__ */ mr('<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="altcha-spinner"><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" fill="currentColor" opacity=".25"></path><path d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z" fill="currentColor"></path></svg>'), hs = /* @__PURE__ */ ye('<input type="hidden">'), gs = /* @__PURE__ */ ye('<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>'), vs = /* @__PURE__ */ mr('<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>'), bs = /* @__PURE__ */ mr('<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>'), ps = /* @__PURE__ */ mr('<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>'), ms = /* @__PURE__ */ ye('<button type="button" class="altcha-code-challenge-audio"><!></button>'), ys = /* @__PURE__ */ ye("<audio hidden autoplay><source></audio>"), As = /* @__PURE__ */ ye('<div class="altcha-code-challenge" role="dialog"><div class="altcha-code-challenge-arrow"></div> <form data-code-challenge-form="1"><img class="altcha-code-challenge-image" alt=""> <input type="text" autocomplete="off" name="code" class="altcha-code-challenge-input" required> <div class="altcha-code-challenge-buttons"><div class="altcha-code-challenge-buttons-left"><!> <button type="button" class="altcha-code-challenge-reload"><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> <button type="submit" class="altcha-code-challenge-verify"><!> </button></div> <!></form></div>'), ks = /* @__PURE__ */ ye("<div><!></div>"), _s = /* @__PURE__ */ ye("<div><!></div>"), ws = /* @__PURE__ */ ye('<div class="altcha-error"><svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg> <!></div>'), Cs = /* @__PURE__ */ ye('<div class="altcha-footer"><div><!></div></div>'), Ls = /* @__PURE__ */ ye('<div class="altcha-anchor-arrow"></div>'), xs = /* @__PURE__ */ ye('<!> <div class="altcha"><div class="altcha-main"><div><!> <input type="checkbox"></div> <label class="altcha-label"><!></label> <!> <!> <!></div> <!> <!> <!></div>', 1); 3153function Es(e, t) { 3154 ii(t, !0); 3155 const [r, i] = Oo(), l = () => Ho(Fi, "$altchaI18nStore", r); 3156 let o = w(t, "auto", 7, void 0), s = w(t, "blockspam", 7, void 0), u = w(t, "challengeurl", 7, void 0), f = w(t, "challengejson", 7, void 0), d = w(t, "credentials", 7, void 0), p = w(t, "customfetch", 7, void 0), g = w(t, "debug", 7, !1), m = w(t, "delay", 7, 0), k = w(t, "disableautofocus", 7, !1), N = w(t, "refetchonexpire", 7, !0), D = w(t, "disablerefetchonexpire", 23, () => !N()), H = w(t, "expire", 7, void 0), E = w(t, "floating", 7, void 0), ee = w(t, "floatinganchor", 7, void 0), Te = w(t, "floatingoffset", 7, void 0), X = w(t, "floatingpersist", 7, !1), O = w(t, "hidefooter", 7, !1), se = w(t, "hidelogo", 7, !1), Be = w(t, "id", 7, void 0), Bt = w(t, "language", 7, void 0), Ue = w(t, "name", 7, "altcha"), Ge = w(t, "maxnumber", 7, 1e6), wt = w(t, "mockerror", 7, !1), $e = w(t, "obfuscated", 7, void 0), ve = w(t, "overlay", 7, void 0), Ct = w(t, "overlaycontent", 7, void 0), Ut = w(t, "plugins", 7, void 0), We = w(t, "sentinel", 7, void 0), Ae = w(t, "spamfilter", 7, !1), st = w(t, "strings", 7, void 0), de = w(t, "test", 7, !1), te = w(t, "verifyurl", 7, void 0), ct = w(t, "workers", 23, () => Math.min(16, navigator.hardwareConcurrency || 8)), Lt = w(t, "workerurl", 7, void 0); 3157 const { altchaI18n: Oi } = globalThis, Fi = Oi.store, Yr = ["SHA-256", "SHA-384", "SHA-512"], Mi = "https://altcha.org/", Se = (a, c) => { 3158 t.$$host.dispatchEvent(new CustomEvent(a, { detail: c })); 3159 }, Kr = document.documentElement.lang?.split("-")?.[0], yr = /* @__PURE__ */ $t(() => u() && new URL(u(), location.origin).host.endsWith(".altcha.org") && !!u()?.includes("apiKey=ckey_")), Gt = /* @__PURE__ */ $t(() => f() ? ua(f()) : void 0), Bi = /* @__PURE__ */ $t(() => st() ? ua(st()) : {}), S = /* @__PURE__ */ $t(() => ({ 3160 ...Qr(l()), 3161 ...n(Bi) 3162 })), Jr = /* @__PURE__ */ $t(() => `${Be() || Ue()}_checkbox_${Math.round(Math.random() * 1e8)}`); 3163 let Ze = /* @__PURE__ */ $(null), xt = /* @__PURE__ */ $(!1), U = /* @__PURE__ */ $(null), L = /* @__PURE__ */ $(De(A.UNVERIFIED)), q = /* @__PURE__ */ $(void 0), Et = /* @__PURE__ */ $(null), Pe = /* @__PURE__ */ $(null), ce = /* @__PURE__ */ $(null), Ar = /* @__PURE__ */ $(null), ut = /* @__PURE__ */ $(null), j = /* @__PURE__ */ $(null), Tt = /* @__PURE__ */ $(null), Ye = /* @__PURE__ */ $(null), ke = null, G = /* @__PURE__ */ $(null), Ke = /* @__PURE__ */ $(!1), ze = [], kr = /* @__PURE__ */ $(!1), _e = /* @__PURE__ */ $(null); 3164 Rr(() => { 3165 an(n(Ye)); 3166 }), Rr(() => { 3167 nn(n(L)); 3168 }), Wo(() => { 3169 Ui(), y(Tt, null), n(j) && (n(j).removeEventListener("submit", na), n(j).removeEventListener("reset", oa), n(j).removeEventListener("focusin", ia), y(j, null)), ke && (clearTimeout(ke), ke = null), document.removeEventListener("click", ra), document.removeEventListener("scroll", aa), window.removeEventListener("resize", ca); 3170 }), Pi(() => { 3171 x("mounted", "2.2.4"), x("workers", ct()), Yi(), x("plugins", ze.length ? ze.map((a) => a.constructor.pluginName).join(", ") : "none"), de() && x("using test mode"), H() && wr(H()), o() !== void 0 && x("auto", o()), E() !== void 0 && ga(E()), y(j, n(q)?.closest("form"), !0), n(j) && (n(j).addEventListener("submit", na, { capture: !0 }), n(j).addEventListener("reset", oa), (o() === "onfocus" || X() === "focus") && n(j).addEventListener("focusin", ia)), ve() && va(!0), o() === "onload" && ($e() ? It() : Ie()), n(yr) && (O(
3171) || se()) && x("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."), requestAnimationFrame(() => { 3172 Se("load"); 3173 }); 3174 }); 3175 function Wt(a, c) { 3176 return btoa(JSON.stringify({ 3177 algorithm: a.algorithm, 3178 challenge: a.challenge, 3179 number: c.number, 3180 salt: a.salt, 3181 signature: a.signature, 3182 test: de() ? !0 : void 0, 3183 took: c.took 3184 })); 3185 } 3186 function Ui() { 3187 for (const a of ze) 3188 a.destroy(); 3189 } 3190 function Xr() { 3191 u() && !D() && n(L) === A.VERIFIED ? Ie() : Je(A.EXPIRED, n(S).expired); 3192 } 3193 async function Gi() { 3194 if (wt()) 3195 throw x("mocking error"), new Error("Mocked error."); 3196 if (n(Gt)) 3197 return x("using provided json data"), fa(n(Gt).salt), n(Gt); 3198 if (de()) 3199 return x("generating test challenge", { test: de() }), as(typeof de() != "boolean" ? +de() : void 0); 3200 { 3201 if (!u() && n(j)) { 3202 const v = n(j).getAttribute("action"); 3203 v?.includes("/form/") && u(v + "/altcha"); 3204 } 3205 if (!u()) 3206 throw new Error("Attribute challengeurl not set."); 3207 x("fetching challenge from", u()); 3208 const a = { 3209 credentials: typeof d() == "boolean" ? "include" : d(), 3210 headers: Ae() !== !1 ? { "x-altcha-spam-filter": "1" } : {} 3211 }, c = await _r()(u(), a); 3212 if (!c || !(c instanceof Response)) 3213 throw new Error("Custom fetch function did not return a response."); 3214 if (c.status !== 200) 3215 throw new Error(`Server responded with ${c.status}.`); 3216 const h = c.headers.get("X-Altcha-Config"), b = await c.json(); 3217 if (fa(b.salt), h) 3218 try { 3219 const v = JSON.parse(h); 3220 v && typeof v == "object" && (v.verifyurl && !v.verifyurl.startsWith("fn:") && (v.verifyurl = ta(v.verifyurl)), ma(v)); 3221 } catch (v) { 3222 x("unable to configure from X-Altcha-Config", v); 3223 } 3224 return b; 3225 } 3226 } 3227 function Wi(a) { 3228 const c = n(j)?.querySelector(typeof a == "string" ? `input[name="${a}"]` : 'input[type="email"]:not([data-no-spamfilter])'); 3229 return c?.value?.slice(c.value.indexOf("@")) || void 0; 3230 } 3231 function _r() { 3232 let a = fetch; 3233 if (p()) 3234 if (x("using customfetch"), typeof p() == "string") { 3235 if (a = globalThis[p()] || null, !a) 3236 throw new Error(`Custom fetch function not found: ${p()}`); 3237 } else 3238 a = p(); 3239 return a; 3240 } 3241 function Qr(a, c = [ 3242 Bt() || "", 3243 document.documentElement.lang || "", 3244 ...navigator.languages 3245 ]) { 3246 const h = Object.keys(a).map((v) => v.toLowerCase()), b = c.reduce( 3247 (v, C) => (C = C.toLowerCase(), v || (a[C] ? C : null) || h.find((R) => C.split("-")[0] === R.split("-")[0]) || null), 3248 null 3249 ); 3250 return a[b || "en"]; 3251 } 3252 function Zi() { 3253 return Ae() === "ipAddress" ? { 3254 blockedCountries: void 0, 3255 classifier: void 0, 3256 disableRules: void 0, 3257 email: !1, 3258 expectedCountries: void 0, 3259 expectedLanguages: void 0, 3260 fields: !1, 3261 ipAddress: void 0, 3262 text: void 0, 3263 timeZone: void 0 3264 } : typeof Ae() == "object" ? Ae() : { 3265 blockedCountries: void 0, 3266 classifier: void 0, 3267 disableRules: void 0, 3268 email: void 0, 3269 expectedCountries: void 0, 3270 expectedLanguages: void 0, 3271 fields: void 0, 3272 ipAddress: void 0, 3273 text: void 0, 3274 timeZone: void 0 3275 }; 3276 } 3277 function ea(a) { 3278 return [ 3279 ...n(j)?.querySelectorAll(a?.length ? a.map((h) => `input[name="${h}"]`).join(", ") : 'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])') || [] 3280 ].reduce( 3281 (h, b) => { 3282 const v = b.name, C = b.value; 3283 return v && C && (h[v] = /\n/.test(C) ? C.replace(new RegExp("(?<!\\r)\\n", "g"), `\r 3284`) : C), h; 3285 }, 3286 {} 3287 ); 3288 } 3289 function ta(a, c) { 3290 const h = new URL(u() || location.origin), b = new URL(a, h); 3291 if (b.search || (b.search = h.search), c) 3292 for (const v in c) 3293 c[v] !== void 0 && c[v] !== null && b.searchParams.set(v, c[v]); 3294 return b.toString(); 3295 } 3296 function Yi() { 3297 const a = Ut() !== void 0 ? Ut().split(",") : void 0; 3298 for (const c of globalThis.altchaPlugins) 3299 (!a || a.includes(c.pluginName)) && ze.push(new c({ 3300 el: n(q), 3301 clarify: It, 3302 dispatch: Se, 3303 getConfiguration: ya, 3304 getFloatingAnchor: Aa, 3305 getState: ka, 3306 log: x, 3307 reset: Je, 3308 solve: pa, 3309 setState: we, 3310 setFloatingAnchor: _a, 3311 verify: Ie 3312 })); 3313 } 3314 function x(...a) { 3315 (g() || a.some((c) => c instanceof Error)) && console[a[0] instanceof Error ? "error" : "log"]("ALTCHA", `[name=${Ue()}]`, ...a); 3316 } 3317 function Ki() { 3318 y(G, Q.PAUSED, !0); 3319 } 3320 function Ji(a) { 3321 y(G, Q.ERROR, !0); 3322 } 3323 function Xi() { 3324 y(G, Q.READY, !0); 3325 } 3326 function Qi() { 3327 y(G, Q.LOADING, !0); 3328 } 3329 function en() { 3330 y(G, Q.PLAYING, !0); 3331 } 3332 function tn() { 3333 y(G, Q.PAUSED, !0); 3334 } 3335 function rn(a) { 3336 if (a.preventDefault(), a.stopPropagation(), n(U)) { 3337 const c = new FormData(a.target), h = String(c.get("code")); 3338 if (te()?.startsWith("fn:")) { 3339 const b = te().replace(/^fn:/, ""); 3340 if (x(`calling ${b} function instead of verifyurl`), !(b in globalThis)) 3341 throw new Error(`Global function "${b}" is undefined.`); 3342 return globalThis[b]({ 3343 challenge: n(U).challenge, 3344 code: h, 3345 solution: n(U).solution 3346 }); 3347 } 3348 y(Ke, !0), da(Wt(n(U).challenge, n(U).solution), h).then(({ reason: b, verified: v }) => { 3349 v ? (y(U, null), we(A.VERIFIED), x("verified"), Tr().then(() => { 3350 n(Ar)?.focus(), Se("verified", { payload: n(_e) }), o() === "onsubmit" ? ha(n(Tt)) : ve() && Vt(); 3351 })) : (Je(), y(Ye, b || "Verification failed", !0)); 3352 }).catch((b) => { 3353 y(U, null), we(A.ERROR, b), x("sentinel verification failed:", b); 3354 }).finally(() => { 3355 y(Ke, !1); 3356 }); 3357 } 3358 } 3359 function ra(a) { 3360 const c = a.target; 3361 E() && c && !n(q).contains(c) && (n(L) === A.VERIFIED && X() === !1 || n(L) === A.VERIFIED && X() === "focus" && !n(j)?.matches(":focus-within") || o() === "off" && n(L) === A.UNVERIFIED) && Vt(); 3362 } 3363 function aa() { 3364 E() && n(L) !== A.UNVERIFIED && jt(); 3365 } 3366 function an(a) { 3367 for (const c of ze) 3368 typeof c.onErrorChange == "function" && c.onErrorChange(n(Ye)); 3369 } 3370 function ia(a) { 3371 n(L) === A.UNVERIFIED ? Ie() : E() && X() === "focus" && n(L) === A.VERIFIED && Zt(); 3372 } 3373 function na(a) { 3374 a.target?.hasAttribute("data-code-challenge-form") || (y(Tt, a.submitter, !0), n(j) && o() === "onsubmit" ? (n(Tt)?.blur(), n(L) === A.UNVERIFIED ? (a.preventDefault(), a.stopPropagation(), Ie().then(() => { 3375 ha(n(Tt)); 3376 })) : n(L) !== A.VERIFIED && (a.preventDefault(), a.stopPropagation(), n(L) === A.VERIFYING && la())) : n(j) && E() && o() === "off" && n(L) === A.UNVERIFIED && (a.preventDefault(), a.stopPropagation(), Zt())); 3377 } 3378 function oa() { 3379 Je(); 3380 } 3381 function la() { 3382 n(L) === A.VERIFYING && n(S).waitAlert && alert(n(S).waitAlert); 3383 } 3384 function sa() { 3385 n(Pe) ? n(Pe).paused ? (n(Pe).currentTime = 0, n(Pe).play()) : n(Pe).pause() : (y(kr, !0), requestAnimationFrame(() => { 3386 n(Pe)?.play(); 3387 })); 3388 } 3389 function nn(a) { 3390 for (const c of ze) 3391 typeof c.onStateChange == "function" && c.onStateChange(n(L)); 3392 E() && n(L) !== A.UNVERIFIED && requestAnimationFrame(() => { 3393 jt(); 3394 }), y(xt, n(L) === A.VERIFIED), ve() && n(ce) && (n(L) !== A.UNVERIFIED ? Zt() : Vt()); 3395 } 3396 function ca() { 3397 E() && jt(); 3398 } 3399 function ua(a) { 3400 return JSON.parse(a); 3401 } 3402 function fa(a) { 3403 const c = new URLSearchParams(a.split("?")?.[1]), h = c.get("expires") || c.get("expire"); 3404 if (h) { 3405 const b = new Date(+h * 1e3), v = isNaN(b.getTime()) ? 0 : b.getTime() - Date.now(); 3406 v > 0 && wr(v); 3407 } else ke && (clearTimeout(ke), ke = null); 3408 } 3409 async function on(a) { 3410 if (!te()) 3411 throw new Error("Attribute verifyurl not set."); 3412 x("requesting server verification from", te()); 3413 const c = { payload: a }; 3414 if (Ae() !== !1) { 3415 const { 3416 blockedCountries: v, 3417 classifier: C, 3418 disableRules: R, 3419 email: B, 3420 expectedLanguages: F, 3421 expectedCountries: ie, 3422 fields: ne, 3423 ipAddress: Qe, 3424 text: dt, 3425 timeZone: et 3426 } = Zi(); 3427 c.blockedCountries = v, c.classifier = C, c.disableRules = R, c.email = B === !1 ? void 0 : Wi(B), c.expectedCountries = ie, c.expectedLanguages = F || (Kr ? [Kr] : void 0), c.fields = ne === !1 ? void 0 : ea(ne), c.ipAddress = Qe === !1 ? void 0 : Qe || "auto", c.text = dt, c.timeZone = et === !1 ? void 0 : et || Ba(); 3428 } 3429 const h = await _r()(te(), { 3430 body: JSON.stringify(c), 3431 headers: { "content-type": "application/json" }, 3432 method: "POST" 3433 }); 3434 if (!h || !(h instanceof Response)) 3435 throw new Error("Custom fetch function did not return a response."); 3436 if (h.status !== 200) 3437 throw new Error(`Server responded with ${h.status}.`); 3438 const b = await h.json(); 3439 if (b?.payload && y(_e, b.payload, !0), Se("serververification", b), s() && b.classification === "BAD") 3440 throw new Error("SpamFilter returned negative classification."); 3441 } 3442 async function da(a, c) { 3443 if (!te()) 3444 throw new Error("Attribute verifyurl not set."); 3445 x("requesting sentinel verification from", te()); 3446 const h = { code: c, payload: a }; 3447 We() && (h.fields = We().fields ? ea() : void 0, h.timeZone = We().timeZone ? Ba() : void 0); 3448 const b = await _r()(te(), { 3449 body: JSON.stringify(h), 3450 headers: { "content-type": "application/json" }, 3451 method: "POST" 3452 }); 3453 if (!b || !(b instanceof Response)) 3454 throw new Error("Fetch function did not return a response."); 3455 if (b.status !== 200) 3456 throw new Error(`Server responded with ${b.status}.`); 3457 const v = await b.json(); 3458 return v?.payload && y(_e, v.payload, !0), Se("sentinelverification", v), v; 3459 } 3460 function ha(a) { 3461 n(j) && "requestSubmit" in n(j) ? n(j).requestSubmit(a) : n(j)?.reportValidity() && (a ? a.click() : n(j).submit()); 3462 } 3463 function wr(a) { 3464 x("expire", a), ke && (clearTimeout(ke), ke = null), a < 1 ? Xr() : ke = setTimeout(Xr, a); 3465 } 3466 function ga(a) { 3467 x("floating", a), E() !== a && (n(q).style.left = "", n(q).style.top = ""), E(a === !0 || a === "" ? "auto" : a === !1 || a === "fal
3467se" ? void 0 : E()), E() ? (o() || o("onsubmit"), document.addEventListener("scroll", aa), document.addEventListener("click", ra), window.addEventListener("resize", ca)) : o() === "onsubmit" && o(void 0); 3468 } 3469 function va(a) { 3470 if (x("overlay", a), ve(a), a) { 3471 if (o() || o("onsubmit"), n(ce) && n(q).parentElement && n(ce).replaceWith(n(q).parentElement), n(q)?.parentElement?.parentElement) { 3472 y(ce, document.createElement("div"), !0), n(q).parentElement.parentElement.appendChild(n(ce)); 3473 const c = document.createElement("div"), h = document.createElement("button"); 3474 h.type = "button", h.innerHTML = "×", h.addEventListener("click", (b) => { 3475 b.preventDefault(), Je(); 3476 }), n(ce).classList.add("altcha-overlay-backdrop"), h.classList.add("altcha-overlay-close-button"), c.classList.add("altcha-overlay"), n(ce).append(c), c.append(h), Ct() && c.append(...document.querySelectorAll(Ct())), c.append(n(q).parentElement); 3477 } 3478 } else n(ce) && n(q).parentElement && (n(ce).replaceWith(n(q).parentElement), n(q).style.display = "block"); 3479 } 3480 function ba(a) { 3481 if (!a.algorithm) 3482 throw new Error("Invalid challenge. Property algorithm is missing."); 3483 if (a.signature === void 0) 3484 throw new Error("Invalid challenge. Property signature is missing."); 3485 if (!Yr.includes(a.algorithm.toUpperCase())) 3486 throw new Error(`Unknown algorithm value. Allowed values: ${Yr.join(", ")}`); 3487 if (!a.challenge || a.challenge.length < 40) 3488 throw new Error("Challenge is too short. Min. 40 chars."); 3489 if (!a.salt || a.salt.length < 10) 3490 throw new Error("Salt is too short. Min. 10 chars."); 3491 } 3492 async function pa(a) {
3493 let c = null, h = null; 3494 if ("Worker" in window) { 3495 try { 3496 c = ln(a, a.maxNumber || a.maxnumber || Ge()), y(Ze, c.controller, !0), h = await c.promise; 3497 } catch (b) { 3498 x(b); 3499 } finally { 3500 y(Ze, null); 3501 } 3502 if (h === null || h?.number !== void 0 || "obfuscated" in a) 3503 return { data: a, solution: h }; 3504 } 3505 if ("obfuscated" in a) { 3506 const b = await ls(a.obfuscated, a.key, a.maxNumber || a.maxnumber); 3507 return { data: a, solution: await b.promise }; 3508 } 3509 c = is(a.challenge, a.salt, a.algorithm, a.maxNumber || a.maxnumber || Ge()), y(Ze, c.controller, !0); 3510 try { 3511 h = await c.promise; 3512 } catch (b) { 3513 x(b); 3514 } finally { 3515 y(Ze, null); 3516 } 3517 return { data: a, solution: h }; 3518 } 3519 function ln(a, c = typeof de() == "number" ? de() : a.maxNumber || a.maxnumber || Ge(), h = Math.ceil(ct())) { 3520 const b = new AbortController(), v = []; 3521 h = Math.min(16, c, Math.max(1, h)); 3522 for (let B = 0; B < h; B++) 3523 v.push(altchaCreateWorker(Lt())); 3524 const C = Math.ceil(c / h); 3525 return { promise: (async () => { 3526 const B = await Promise.all(v.map((F, ie) => { 3527 const ne = ie * C; 3528 return b.signal.addEventListener("abort", () => { 3529 F.postMessage({ type: "abort" }); 3530 }), new Promise((Qe) => { 3531 F.addEventListener("message", (dt) => { 3532 if (dt.data) 3533 for (const et of v) 3534 et !== F && et.postMessage({ type: "abort" }); 3535 Qe(dt.data); 3536 }), F.postMessage({ 3537 payload: a, 3538 max: ne + C, 3539 start: ne, 3540 type: "work" 3541 }); 3542 }); 3543 })); 3544 for (const F of v) 3545 F.terminate(); 3546 return B.find((F) => !!F) || null; 3547 })(), controller: b }; 3548 } 3549 async function It() { 3550 if (!$e()) { 3551 we(A.ERROR); 3552 return; 3553 } 3554 const a = ze.find((c) => c.constructor.pluginName === "obfuscation"); 3555 if (!a || !("clarify" in a)) { 3556 we(A.ERROR), x("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it."); 3557 return; 3558 } 3559 if ("clarify" in a && typeof a.clarify == "function") 3560 return a.clarify(); 3561 } 3562 function ma(a) { 3563 a.obfuscated !== void 0 && $e(a.obfuscated), a.auto !== void 0 && (o(a.auto), o() === "onload" && ($e() ? It() : Ie())), a.blockspam !== void 0 && s(!!a.blockspam), a.customfetch !== void 0 && p(a.customfetch), a.floatinganchor !== void 0 && ee(a.floatinganchor), a.delay !== void 0 && m(a.delay), a.floatingoffset !== void 0 && Te(a.floatingoffset), a.floating !== void 0 && ga(a.floating), a.expire !== void 0 && (wr(a.expire), H(a.expire)), a.challenge && (f(typeof a.challenge == "string" ? a.challenge : JSON.stringify(a.challenge)), ba(n(Gt))), a.challengeurl !== void 0 && u(a.challengeurl), a.debug !== void 0 && g(!!a.debug), a.hidefooter !== void 0 && O(!!a.hidefooter), a.hidelogo !== void 0 && se(!!a.hidelogo), a.language !== void 0 && st(Qr(l(), [a.language])), a.maxnumber !== void 0 && Ge(+a.maxnumber), a.mockerror !== void 0 && wt(!!a.mockerror), a.name !== void 0 && Ue(a.name), a.overlaycontent !== void 0 && Ct(a.overlaycontent), a.overlay !== void 0 && va(a.overlay), a.refetchonexpire !== void 0 && D(!a.refetchonexpire), a.disablerefetchonexpire !== void 0 && D(!a.disablerefetchonexpire), a.sentinel !== void 0 && typeof a.sentinel == "object" && We(a.sentinel), a.spamfilter !== void 0 && Ae(typeof a.spamfilter == "object" ? a.spamfilter : !!a.spamfilter), a.strings && st(typeof a.strings == "string" ? a.strings : JSON.stringify(a.strings)), a.test !== void 0 && de(typeof a.test == "number" ? a.test : !!a.test), a.verifyurl !== void 0 && te(a.verifyurl), a.workers !== void 0 && ct(+a.workers), a.workerurl !== void 0 && Lt(a.workerurl); 3564 } 3565 function ya() { 3566 return { 3567 auto: o(), 3568 blockspam: s(), 3569 challengeurl: u(), 3570 debug: g(), 3571 delay: m(), 3572 disableautofocus: k(), 3573 disablerefetchonexpire: D(), 3574 expire: H(), 3575 floating: E(), 3576 floatinganchor: ee(), 3577 floatingoffset: Te(), 3578 hidefooter: O(), 3579 hidelogo: se(), 3580 name: Ue(), 3581 maxnumber: Ge(), 3582 mockerror: wt(), 3583 obfuscated: $e(), 3584 overlay: ve(), 3585 refetchonexpire: !D(),
3586 spamfilter: Ae(), 3587 strings: n(S), 3588 test: de(), 3589 verifyurl: te(), 3590 workers: ct(), 3591 workerurl: Lt() 3592 }; 3593 } 3594 function Aa() { 3595 return n(ut); 3596 } 3597 function sn(a) { 3598 return ze.find((c) => c.constructor.pluginName === a); 3599 } 3600 function ka() { 3601 return n(L); 3602 } 3603 function Vt() { 3604 n(q).style.display = "none", ve() && n(ce) && (n(ce).style.display = "none"); 3605 } 3606 function jt(a = 20) { 3607 if (n(q)) 3608 if (n(ut) || y(ut, (ee() ? document.querySelector(ee()) : n(j)?.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])')) || n(j), !0), n(ut)) { 3609 const c = parseInt(Te(), 10) || 12, h = n(ut).getBoundingClientRect(), b = n(q).getBoundingClientRect(), v = document.documentElement.clientHeight, C = document.documentElement.clientWidth, R = E() === "auto" ? h.bottom + b.height + c + a > v : E() === "top", B = Math.max(a, Math.min(C - a - b.width, h.left + h.width / 2 - b.width / 2)); 3610 if (R ? n(q).style.top = `${h.top - (b.height + c)}px` : n(q).style.top = `${h.bottom + c}px`, n(q).style.left = `${B}px`, n(q).setAttribute("data-floating", R ? "top" : "bottom"), n(Et)) { 3611 const F = n(Et).getBoundingClientRect(); 3612 n(Et).style.left = h.left - B + h.width / 2 - F.width / 2 + "px"; 3613 } 3614 } else 3615 x("unable to find floating anchor element"); 3616 } 3617 function Je(a = A.UNVERIFIED, c = null) { 3618 n(Ze) && (n(Ze).abort(), y(Ze, null)), y(xt, !1), y(_e, null), y(U, null), y(kr, !1), y(G, null), we(a, c); 3619 } 3620 function _a(a) { 3621 y(ut, a, !0); 3622 } 3623 function we(a, c = null) { 3624 y(L, a, !0), y(Ye, c, !0), Se("statechange", { 3625 payload: n(_e), 3626 state: n(L) 3627 }); 3628 } 3629 function Zt() { 3630 n(q).style.display = "block", E() && jt(), ve() && n(ce) && (n(ce).style.display = "flex"); 3631 } 3632 async function Ie() { 3633 return Je(A.VERIFYING), await new Promise((a) => setTimeout(a, m() || 0)), Gi().then((a) => (ba(a), x("challenge", a), pa(a))).then(({ data: a, solution: c }) => { 3634 if (x("solution", c), !c || a && "challenge" in a && !("clearText" in c)) { 3635 if (c?.number !== void 0 && "challenge" in a) 3636 if (te() && "codeChallenge" in a) 3637 ["INPUT", "BUTTON", "SELECT", "TEXTAREA"].includes(document.activeElement?.tagName || "") && k() === !1 && document.activeElement.blur(), y(U, { challenge: a, solution: c }, !0); 3638 else { 3639 if (te() && We() !== void 0) 3640 return da(Wt(a, c)); 3641 if (te()) 3642 return on(Wt(a, c)); 3643 y(_e, Wt(a, c), !0), x("payload", n(_e)); 3644 } 3645 else if (n(L) !== A.EXPIRED) 3646 throw x("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."), new Error("Unexpected result returned."); 3647 } 3648 }).then(() => { 3649 n(U) ? (we(A.CODE), Tr().then(() => { 3650 Se("code", { codeChallenge: n(U) }); 3651 })) : n(_e) && (we(A.VERIFIED), x("verified"), Tr().then(() => { 3652 Se("verified", { payload: n(_e) }), ve() && Vt(); 3653 })); 3654 }).catch((a) => { 3655 x(a), we(A.ERROR, a.message); 3656 }); 3657 } 3658 var wa = xs(), Ca = St(wa); 3659 Ro(Ca, t, "default", {}); 3660 var ft = K(Ca, 2), Cr = Y(ft), Yt = Y(Cr); 3661 let La; 3662 var xa = Y(Yt); 3663 { 3664 var cn = (a) => { 3665 Ir(a); 3666 }; 3667 J(xa, (a) => { 3668 n(L) === A.VERIFYING && a(cn); 3669 }); 3670 } 3671 var Xe = K(xa, 2); 3672 qa(Xe), Xe.__change = [ 3673 fs, 3674 L, 3675 Ae, 3676 j, 3677 xt, 3678 $e, 3679 It, 3680 Ie 3681 ], Qt(Xe, (a) => y(Ar, a), () => n(Ar)), Z(Yt); 3682 var Kt = K(Yt, 2), un = Y(Kt); 3683 { 3684 var fn = (a) => { 3685 var c = Xt(), h = St(c); 3686 tt(h, () => n(S).verified), M(a, c); 3687 }, dn = (a, c) => { 3688 { 3689 var h = (v) => { 3690 var C = Xt(), R = St(C); 3691 tt(R, () => n(S).verifying), M(v, C); 3692 }, b = (v, C) => { 3693 { 3694 var R = (F) => { 3695 var ie = Xt(), ne = St(ie); 3696 tt(ne, () => n(S).verificationRequired), M(F, ie); 3697 }, B = (F) => { 3698 var ie = Xt(), ne = St(ie); 3699 tt(ne, () => n(S).label), M(F, ie); 3700 }; 3701 J( 3702 v, 3703 (F) => { 3704 n(L) === A.CODE ? F(R) : F(B, !1); 3705 }, 3706 C 3707 ); 3708 } 3709 }; 3710 J( 3711 a, 3712 (v) => { 3713 n(L) === A.VERIFYING ? v(h) : v(b, !1); 3714 }, 3715 c 3716 ); 3717 } 3718 }; 3719 J(un, (a) => { 3720 n(L) === A.VERIFIED ? a(fn) : a(dn, !1); 3721 }); 3722 } 3723 Z(Kt); 3724 var Ea = K(Kt, 2); 3725 { 3726 var hn = (a) => { 3727 var c = hs(); 3728 qa(c), Ce(() => { 3729 T(c, "name", Ue()), No(c, n(_e)); 3730 }), M(a, c); 3731 }; 3732 J(Ea, (a) => { 3733 n(L) === A.VERIFIED && a(hn); 3734 }); 3735 } 3736 var Ta = K(Ea, 2); 3737 { 3738 var gn = (a) => { 3739 var c = gs(), h = Y(c); 3740 T(h, "href", Mi), Z(c), Ce(() => T(h, "aria-label", n(S).ariaLinkLabel)), M(a, c); 3741 }; 3742 J(Ta, (a) => { 3743 (se() !== !0 || n(yr)) && a(gn); 3744 }); 3745 } 3746 var vn = K(Ta, 2); 3747 { 3748 var bn = (a) => { 3749 var c = As(), h = K(Y(c), 2), b = Y(h), v = K(b, 2); 3750 Lo(v, !k()), v.__keydown = [ 3751 cs, 3752 sa 3753 ]; 3754 var C = K(v, 2), R = Y(C), B = Y(R); 3755 { 3756 var F = (be) => { 3757 var W = ms(); 3758 W.__click = sa; 3759 var Jt = Y(W); 3760 { 3761 var Rt = (ht) => { 3762 Ir(ht, () => 20); 3763 }, Cn = (ht, Ln) => { 3764 { 3765 var xn = (gt) => { 3766 var Lr = vs(); 3767 M(gt, Lr); 3768 }, En = (gt, Lr) => { 3769 { 3770 var Tn = (vt) => { 3771 var xr = bs(); 3772 M(vt, xr); 3773 }, In = (vt) => { 3774 var xr = ps(); 3775 M(vt, xr); 3776 }; 3777 J( 3778 gt, 3779 (vt) => { 3780 n(G) === Q.PLAYING ? vt(Tn) : vt(In, !1); 3781 }, 3782 Lr 3783 ); 3784 } 3785 }; 3786 J( 3787 ht, 3788 (gt) => { 3789 n(G) === Q.ERROR ? gt(xn) : gt(En, !1); 3790 }, 3791 Ln 3792 ); 3793 } 3794 }; 3795 J(Jt, (ht) => { 3796 n(G) === Q.LOADING ? ht(Rt) : ht(Cn, !1); 3797 }); 3798 } 3799 Z(W), Ce(() => { 3800 T(W, "title", n(S).getAudioChallenge), W.disabled = n(G) === Q.LOADING || n(G) === Q.ERROR || n(Ke), T(W, "aria-label", n(G) === Q.LOADING ? n(S).loading : n(S).getAudioChallenge); 3801 }), M(be, W); 3802 }; 3803 J(B, (be) => { 3804 n(U).challenge.codeChallenge.audio && be(F); 3805 }); 3806 } 3807 var ie = K(B, 2); 3808 ie.__click = [us, Ie], Z(R); 3809 var ne = K(R, 2), Qe = Y(ne); 3810 { 3811 var dt = (be) => { 3812 Ir(be, () => 16); 3813 }; 3814 J(Qe, (be) => { 3815 n(Ke) && be(dt); 3816 }); 3817 } 3818 var et = K(Qe); 3819 Z(ne), Z(C); 3820 var _n = K(C, 2); 3821 { 3822 var wn = (be) => { 3823 var W = ys(), Jt = Y(W); 3824 Z(W), Qt(W, (Rt) => y(Pe, Rt), () => n(Pe)), Ce((Rt) => T(Jt, "src", Rt), [ 3825 () => ta(n(U).challenge.codeChallenge.audio, { language: Bt() })
3826 ]), Ne("loadstart", W, Qi), Ne("canplay", W, Xi), Ne("pause", W, tn), Ne("playing", W, en), Ne("ended", W, Ki), Ne("error", Jt, Ji), M(be, W); 3827 }; 3828 J(_n, (be) => { 3829 n(U).challenge.codeChallenge.audio && n(kr) && be(wn); 3830 }); 3831 } 3832 Z(h), Z(c), Ce(() => { 3833 T(c, "aria-label", n(S).verificationRequired), T(b, "src", n(U).challenge.codeChallenge.image), T(v, "minlength", n(U).challenge.codeChallenge.length || 1), T(v, "maxlength", n(U).challenge.codeChallenge.length), T(v, "placeholder", n(S).enterCode), T(v, "aria-label", n(G) === Q.LOADING ? n(S).loading : n(G) === Q.PLAYING ? "" : n(S).enterCodeAria), T(v, "aria-live", n(G) ? "assertive" : "polite"), T(v, "aria-busy", n(G) === Q.LOADING), v.disabled = n(Ke), T(ie, "aria-label", n(S).reload), T(ie, "title", n(S).reload), ie.disabled = n(Ke), ne.disabled = n(Ke), T(ne, "aria-label", n(S).verify), Io(et, ` ${n(S).verify ?? ""}`); 3834 }), Ne("submit", h, rn, !0), M(a, c); 3835 }; 3836 J(vn, (a) => { 3837 n(U)?.challenge.codeChallenge && a(bn); 3838 }); 3839 } 3840 Z(Cr); 3841 var Ia = K(Cr, 2); 3842 { 3843 var pn = (a) => { 3844 var c = ws(), h = K(Y(c), 2); 3845 { 3846 var b = (C) => { 3847 var R = ks(), B = Y(R); 3848 tt(B, () => n(S).expired), Z(R), Ce(() => T(R, "title", n(Ye))), M(C, R); 3849 }, v = (C) => { 3850 var R = _s(), B = Y(R); 3851 tt(B, () => n(S).error), Z(R), Ce(() => T(R, "title", n(Ye))), M(C, R); 3852 }; 3853 J(h, (C) => { 3854 n(L) === A.EXPIRED ? C(b) : C(v, !1); 3855 }); 3856 } 3857 Z(c), M(a, c); 3858 }; 3859 J(Ia, (a) => { 3860 (n(Ye) || n(L) === A.EXPIRED) && a(pn); 3861 }); 3862 } 3863 var Va = K(Ia, 2); 3864 { 3865 var mn = (a) => { 3866 var c = Cs(), h = Y(c), b = Y(h); 3867 tt(b, () => n(S).footer), Z(h), Z(c), M(a, c); 3868 }; 3869 J(Va, (a) => { 3870 n(S).footer && (O() !== !0 || n(yr)) && a(mn); 3871 }); 3872 } 3873 var yn = K(Va, 2); 3874 { 3875 var An = (a) => { 3876 var c = Ls(); 3877 Qt(c, (h) => y(Et, h), () => n(Et)), M(a, c); 3878 }; 3879 J(yn, (a) => { 3880 E() && a(An); 3881 }); 3882 } 3883 Z(ft), Qt(ft, (a) => y(q, a), () => n(q)), Ce( 3884 (a) => { 3885 T(ft, "data-state", n(L)), T(ft, "data-floating", E()), T(ft, "data-overlay", ve()), La = So(Yt, 1, "altcha-checkbox", null, La, a), T(Xe, "id", n(Jr)), Xe.required = o() !== "onsubmit" && (!E() || o() !== "off"), T(Kt, "for", n(Jr)); 3886 }, 3887 [ 3888 () => ({ 3889 "altcha-checkbox-verifying": n(L) === A.VERIFYING 3890 }) 3891 ] 3892 ), Ne("invalid", Xe, la), qo(Xe, () => n(xt), (a) => y(xt, a)), M(e, wa); 3893 var kn = ni({ 3894 clarify: It, 3895 configure: ma, 3896 getConfiguration: ya, 3897 getFloatingAnchor: Aa, 3898 getPlugin: sn, 3899 getState: ka, 3900 hide: Vt, 3901 repositionFloating: jt, 3902 reset: Je, 3903 setFloatingAnchor: _a, 3904 setState: we, 3905 show: Zt, 3906 verify: Ie, 3907 get auto() { 3908 return o(); 3909 }, 3910 set auto(a = void 0) { 3911 o(a), _(); 3912 }, 3913 get blockspam() { 3914 return s(); 3915 }, 3916 set blockspam(a = void 0) { 3917 s(a), _(); 3918 }, 3919 get challengeurl() { 3920 return u(); 3921 }, 3922 set challengeurl(a = void 0) { 3923 u(a), _(); 3924 }, 3925 get challengejson() { 3926 return f(); 3927 }, 3928 set challengejson(a = void 0) { 3929 f(a), _(); 3930 }, 3931 get credentials() { 3932 return d(); 3933 }, 3934 set credentials(a = void 0) { 3935 d(a), _(); 3936 }, 3937 get customfetch() { 3938 return p(); 3939 }, 3940 set customfetch(a = void 0) { 3941 p(a), _(); 3942 }, 3943 get debug() { 3944 return g(); 3945 }, 3946 set debug(a = !1) { 3947 g(a), _(); 3948 }, 3949 get delay() { 3950 return m(); 3951 }, 3952 set delay(a = 0) { 3953 m(a), _(); 3954 }, 3955 get disableautofocus() { 3956 return k(); 3957 }, 3958 set disableautofocus(a = !1) { 3959 k(a), _(); 3960 }, 3961 get refetchonexpire() { 3962 return N(); 3963 }, 3964 set refetchonexpire(a = !0) { 3965 N(a), _(); 3966 }, 3967 get disablerefetchonexpire() { 3968 return D(); 3969 }, 3970 set disablerefetchonexpire(a = !N) { 3971 D(a), _(); 3972 }, 3973 get expire() { 3974 return H(); 3975 }, 3976 set expire(a = void 0) { 3977 H(a), _(); 3978 }, 3979 get floating() { 3980 return E(); 3981 }, 3982 set floating(a = void 0) { 3983 E(a), _(); 3984 }, 3985 get floatinganchor() { 3986 return ee(); 3987 }, 3988 set floatinganchor(a = void 0) { 3989 ee(a), _(); 3990 }, 3991 get floatingoffset() { 3992 return Te(); 3993 }, 3994 set floatingoffset(a = void 0) { 3995 Te(a), _(); 3996 }, 3997 get floatingpersist() { 3998 return X(); 3999 }, 4000 set floatingpersist(a = !1) { 4001 X(a), _(); 4002 }, 4003 get hidefooter() { 4004 return O(); 4005 }, 4006 set hidefooter(a = !1) { 4007 O(a), _(); 4008 }, 4009 get hidelogo() { 4010 return se(); 4011 }, 4012 set hidelogo(a = !1) { 4013 se(a), _(); 4014 }, 4015 get id() { 4016 return Be(); 4017 }, 4018 set id(a = void 0) { 4019 Be(a), _(); 4020 }, 4021 get language() { 4022 return Bt(); 4023 }, 4024 set language(a = void 0) { 4025 Bt(a), _(); 4026 }, 4027 get name() { 4028 return Ue(); 4029 }, 4030 set name(a = "altcha") { 4031 Ue(a), _(); 4032 }, 4033 get maxnumber() { 4034 return Ge(); 4035 }, 4036 set maxnumber(a = 1e6) { 4037 Ge(a), _(); 4038 }, 4039 get mockerror() { 4040 return wt(); 4041 }, 4042 set mockerror(a = !1) { 4043 wt(a), _(); 4044 }, 4045 get obfuscated() { 4046 return $e(); 4047 }, 4048 set obfuscated(a = void 0) { 4049 $e(a), _(); 4050 }, 4051 get overlay() { 4052 return ve(); 4053 }, 4054 set overlay(a = void 0) { 4055 ve(a), _(); 4056 }, 4057 get overlaycontent() { 4058 return Ct(); 4059 }, 4060 set overlaycontent(a = void 0) { 4061 Ct(a), _(); 4062 }, 4063 get plugins() { 4064 return Ut(); 4065 }, 4066 set plugins(a = void 0) { 4067 Ut(a), _(); 4068 }, 4069 get sentinel() { 4070 return We(); 4071 }, 4072 set sentinel(a = void 0) { 4073 We(a), _(); 4074 }, 4075 get spamfilter() { 4076 return Ae(); 4077 }, 4078 set spamfilter(a = !1) { 4079 Ae(a), _(); 4080 }, 4081 get strings() { 4082 return st(); 4083 }, 4084 set strings(a = void 0) { 4085 st(a), _(); 4086 }, 4087 get test() { 4088 return de(); 4089 }, 4090 set test(a = !1) { 4091 de(a), _(); 4092 }, 4093 get verifyurl() { 4094 return te(); 4095 }, 4096 set verifyurl(a = void 0) { 4097 te(a), _(); 4098 }, 4099 get workers() { 4100 return ct(); 4101 }, 4102 set workers(a = Math.min(16, navigator.hardwareConcurrency || 8)) { 4103 ct(a), _(); 4104 }, 4105 get workerurl() { 4106 return Lt(); 4107 }, 4108 set workerurl(a = void 0) { 4109 Lt(a), _(); 4110 } 4111 }); 4112 return i(), kn; 4113} 4114To(["change", "keydown", "click"]); 4115customElements.define("altcha-widget", Go( 4116 Es, 4117 { 4118 blockspam: { type: "Boolean" }, 4119 debug: { type: "Boolean" }, 4120 delay: { type: "Number" }, 4121 disableautofocus: { type: "Boolean" }, 4122 disablerefetchonexpire: { type: "Boolean" }, 4123 expire: { type: "Number" }, 4124 floatingoffset: { type: "Number" }, 4125 hidefooter: { type: "Boolean" }, 4126 hidelogo: { type: "Boolean" }, 4127 maxnumber: { type: "Number" }, 4128 mockerror: { type: "Boolean" }, 4129 refetchonexpire: { type: "Boolean" }, 4130 test: { type: "Boolean" }, 4131 workers: { type: "Number" }, 4132 auto: {}, 4133 challengeurl: {}, 4134 challengejson: {}, 4135 credentials: {}, 4136 customfetch: {}, 4137 floating: {}, 4138 floatinganchor: {}, 4139 floatingpersist: {}, 4140 id: {}, 4141 language: {}, 4142 name: {}, 4143 obfuscated: {}, 4144 overlay: {}, 4145 overlaycontent: {}, 4146 plugins: {}, 4147 sentinel: {},
4148 spamfilter: {}, 4149 strings: {}, 4150 verifyurl: {}, 4151 workerurl: {} 4152 }, 4153 ["default"], 4154 [ 4155 "clarify", 4156 "configure", 4157 "getConfiguration", 4158 "getFloatingAnchor", 4159 "getPlugin", 4160 "getState", 4161 "hide", 4162 "repositionFloating", 4163 "reset", 4164 "setFloatingAnchor", 4165 "setState", 4166 "show", 4167 "verify" 4168 ], 4169 !1 4170)); 4171const Ts = '@keyframes overlay-slidein{to{opacity:1;top:50%}}@keyframes altcha-spinner{to{transform:rotate(360deg)}}.altcha{background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative}.altcha:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top] .altcha-anchor-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom]:focus-within::after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top]:focus-within::after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]:not([data-state=unverified]){display:block}.altcha-anchor-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:"";height:0;left:12px;position:absolute;top:-12px;width:0}.altcha-main{align-items:center;display:flex;gap:.4rem;padding:.7rem;position:relative}.altcha-code-challenge{background:var(--altcha-color-base, white);border:1px solid var(--altcha-color-border-focus, currentColor);border-radius:var(--altcha-border-radius, 3px);filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));padding:.5rem;position:absolute;top:2.5rem;z-index:9999999}.altcha-code-challenge>form{display:flex;flex-direction:column;gap:.5rem}.altcha-code-challenge-input{border:1px solid currentColor;border-radius:3px;box-sizing:border-box;outline:0;font-size:16px;padding:.35rem;width:220px}.altcha-code-challenge-input:focus{outline:2px solid color-mix(in srgb,var(--altcha-color-active, #1D1DC9) 20%,transparent)}.altcha-code-challenge-input:disabled{opacity:.7}.altcha-code-challenge-image{background-color:#fff;border:1px solid currentColor;border-radius:3px;box-sizing:border-box;object-fit:contain;height:50px;width:220px}.altcha-code-challenge-audio,.altcha-code-challenge-reload{background:color-mix(in srgb,var(--altcha-color-text, currentColor) 10%,transparent);border:0;border-radius:3px;color:var(--altcha-color-text, currentColor);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.35rem}.altcha-code-challenge-audio:disabled,.altcha-code-challenge-reload:disabled,.altcha-code-challenge-verify:disabled{opacity:.7;pointer-events:none}.altcha-code-challenge-audio>*,.altcha-code-challenge-reload>*{height:20px;width:20px}.altcha-code-challenge-buttons{display:flex;justify-content:space-between}.altcha-code-challenge-buttons-left{display:flex;gap:.25rem}.altcha-code-challenge-verify{align-items:center;background:var(--altcha-color-active, #1D1DC9);border:0;border-radius:3px;color:#fff;cursor:pointer;display:flex;gap:.5rem;font-size:100%;padding:.35rem 1rem}.altcha-code-challenge-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, currentColor);content:"";height:0;left:.15rem;position:absolute;top:-12px;width:0}.altcha[data-floating=top] .altcha-code-challenge{top:-150px}.altcha[data-floating=top] .altcha-code-challenge-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, currentColor);bottom:-12px;top:auto}.altcha-label{cursor:pointer;flex-grow:1}.altcha-logo{color:currentColor!important;opacity:.7}.altcha-footer:hover,.altcha-logo:hover{opacity:1}.altcha-error{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:.85rem;gap:.3rem;padding:0 .7rem .7rem}.altcha-footer{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:.75rem;opacity:.7;justify-content:end;padding:.2rem .7rem}.altcha-footer a{color:currentColor}.altcha-checkbox{display:flex;align-items:center;justify-content:center;height:24px;position:relative;width:24px}.altcha-checkbox .altcha-spinner{bottom:0;left:0;position:absolute;right:0;top:0}.altcha-checkbox input{width:18px;height:18px;margin:0}.altcha-checkbox-verifying input{appearance:none;opacity:0;pointer-events:none}.altcha-spinner{animation:altcha-spinner .75s infinite linear;transform-origin:center}.altcha-overlay{--altcha-color-base:#fff;--altcha-color-text:#000;animation:overlay-slidein .5s forwards;display:flex;flex-direction:column;gap:.5rem;left:50%;width:260px;opacity:0;position:fixed;top:45%;transform:translate(-50%,-50%)}.altcha-overlay-backdrop{background:rgba(0,0,0,.5);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:99999999}.altcha-overlay-close-button{align-self:flex-end;background:0 0;border:0;padding:.25rem;cursor:pointer;color:currentColor;font-size:130%;line-height:1;opacity:.7}@media (max-height:450px){.altcha-overlay{top:10%!important;transform:translate(-50%,0)}}'; 4172function Is(e, t = "__altcha-css") { 4173 if (!document.getElementById(t)) { 4174 const r = document.createElement("style"); 4175 r.id = t, r.textContent = e, document.head.appendChild(r); 4176 } 4177} 4178globalThis.altchaCreateWorker = (e) => e ? new Worker(new URL(e)) : new es(); 4179Is(Ts); 4180export { 4181 Es as Altcha 4182};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.