altcha 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
- (function(x,C){typeof exports=="object"&&typeof module<"u"?C(exports):typeof define=="function"&&define.amd?define(["exports"],C):(x=typeof globalThis<"u"?globalThis:x||self,C(x.altcha={}))})(this,function(x){"use strict";var fo=Object.defineProperty;var li=x=>{throw TypeError(x)};var uo=(x,C,j)=>C in x?fo(x,C,{enumerable:!0,configurable:!0,writable:!0,value:j}):x[C]=j;var ve=(x,C,j)=>uo(x,typeof C!="symbol"?C+"":C,j),oi=(x,C,j)=>C.has(x)||li("Cannot "+j);var Q=(x,C,j)=>(oi(x,C,"read from private field"),j?j.call(x):C.get(x)),sr=(x,C,j)=>C.has(x)?li("Cannot add the same private member more than once"):C instanceof WeakSet?C.add(x):C.set(x,j),fr=(x,C,j,yt)=>(oi(x,C,"write to private field"),yt?yt.call(x,j):C.set(x,j),j);var $n,be,ae;var C=typeof document<"u"?document.currentScript:null;const j="5";typeof window<"u"&&(($n=window.__svelte??(window.__svelte={})).v??($n.v=new Set)).add(j);const yt=1,ai=4,si=8,fi=16,ui=1,ci=2,Mt="[",ur="[!",cr="]",He={},J=Symbol(),di="http://www.w3.org/1999/xhtml",dr=!1;function vr(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}var hr=Array.isArray,vi=Array.prototype.indexOf,hi=Array.from,bt=Object.keys,Et=Object.defineProperty,Pe=Object.getOwnPropertyDescriptor,gi=Object.getOwnPropertyDescriptors,_i=Object.prototype,mi=Array.prototype,gr=Object.getPrototypeOf,_r=Object.isExtensible;function mr(e){for(var t=0;t<e.length;t++)e[t]()}const ue=2,wr=4,$t=8,Ut=16,pe=32,Fe=64,kt=128,ee=256,xt=512,K=1024,he=2048,Oe=4096,Ye=8192,Ct=16384,wi=32768,Vt=65536,pi=1<<19,pr=1<<20,jt=1<<21,rt=Symbol("$state"),yr=Symbol("legacy props"),yi=Symbol("");function bi(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Ei(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function $i(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ki(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function xi(){throw new Error("https://svelte.dev/e/hydration_failed")}function Ci(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ai(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Ii(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Ri(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function At(e){console.warn("https://svelte.dev/e/hydration_mismatch")}let P=!1;function We(e){P=e}let F;function ke(e){if(e===null)throw At(),He;return F=e}function Ze(){return ke(Ce(F))}function te(e){if(P){if(Ce(F)!==null)throw At(),He;F=e}}function Si(){for(var e=0,t=F;;){if(t.nodeType===8){var r=t.data;if(r===cr){if(e===0)return t;e-=1}else(r===Mt||r===ur)&&(e+=1)}var i=Ce(t);t.remove(),t=i}}let Ti=!1;function xe(e){if(typeof e!="object"||e===null||rt in e)return e;const t=gr(e);if(t!==_i&&t!==mi)return e;var r=new Map,i=hr(e),l=X(0),o=I,a=s=>{var f=I;_e(o);var d=s();return _e(f),d};return i&&r.set("length",X(e.length)),new Proxy(e,{defineProperty(s,f,d){(!("value"in d)||d.configurable===!1||d.enumerable===!1||d.writable===!1)&&Ai();var h=r.get(f);return h===void 0?(h=a(()=>X(d.value)),r.set(f,h)):O(h,a(()=>xe(d.value))),!0},deleteProperty(s,f){var d=r.get(f);if(d===void 0)f in s&&(r.set(f,a(()=>X(J))),qt(l));else{if(i&&typeof f=="string"){var h=r.get("length"),v=Number(f);Number.isInteger(v)&&v<h.v&&O(h,v)}O(d,J),qt(l)}return!0},get(s,f,d){var m;if(f===rt)return e;var h=r.get(f),v=f in s;if(h===void 0&&(!v||(m=Pe(s,f))!=null&&m.writable)&&(h=a(()=>X(xe(v?s[f]:J))),r.set(f,h)),h!==void 0){var g=c(h);return g===J?void 0:g}return Reflect.get(s,f,d)},getOwnPropertyDescriptor(s,f){var d=Reflect.getOwnPropertyDescriptor(s,f);if(d&&"value"in d){var h=r.get(f);h&&(d.value=c(h))}else if(d===void 0){var v=r.get(f),g=v==null?void 0:v.v;if(v!==void 0&&g!==J)return{enumerable:!0,configurable:!0,value:g,writable:!0}}return d},has(s,f){var g;if(f===rt)return!0;var d=r.get(f),h=d!==void 0&&d.v!==J||Reflect.has(s,f);if(d!==void 0||R!==null&&(!h||(g=Pe(s,f))!=null&&g.writable)){d===void 0&&(d=a(()=>X(h?xe(s[f]):J)),r.set(f,d));var v=c(d);if(v===J)return!1}return h},set(s,f,d,h){var q;var v=r.get(f),g=f in s;if(i&&f==="length")for(var m=d;m<v.v;m+=1){var A=r.get(m+"");A!==void 0?O(A,J):m in s&&(A=a(()=>X(J)),r.set(m+"",A))}v===void 0?(!g||(q=Pe(s,f))!=null&&q.writable)&&(v=a(()=>X(void 0)),O(v,a(()=>xe(d))),r.set(f,v)):(g=v.v!==J,O(v,a(()=>xe(d))));var D=Reflect.getOwnPropertyDescriptor(s,f);if(D!=null&&D.set&&D.set.call(h,d),!g){if(i&&typeof f=="string"){var U=r.get("length"),Z=Number(f);Number.isInteger(Z)&&Z>=U.v&&O(U,Z+1)}qt(l)}return!0},ownKeys(s){c(l);var f=Reflect.ownKeys(s).filter(v=>{var g=r.get(v);return g===void 0||g.v!==J});for(var[d,h]of r)h.v!==J&&!(d in s)&&f.push(d);return f},setPrototypeOf(){Ii()}})}function qt(e,t=1){O(e,e.v+t)}var br,Er,$r,kr;function Bt(){if(br===void 0){br=window,Er=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,r=Text.prototype;$r=Pe(t,"firstChild").get,kr=Pe(t,"nextSibling").get,_r(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),_r(r)&&(r.__t=void 0)}}function Ht(e=""){return document.createTextNode(e)}function ie(e){return $r.call(e)}function Ce(e){return kr.call(e)}function re(e,t){if(!P)return ie(e);var r=ie(F);return r===null&&(r=F.appendChild(Ht())),ke(r),r}function xr(e,t){if(!P){var r=ie(e);return r instanceof Comment&&r.data===""?Ce(r):r}return F}function ye(e,t=1,r=!1){let i=P?F:e;for(var l;t--;)l=i,i=Ce(i);if(!P)return i;var o=i==null?void 0:i.nodeType;if(r&&o!==3){var a=Ht();return i===null?l==null||l.after(a):i.before(a),ke(a),a}return ke(i),i}function Ni(e){e.textContent=""}function Cr(e){return e===this.v}function Li(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Ar(e){return!Li(e,this.v)}function Yt(e){var t=ue|he,r=I!==null&&(I.f&ue)!==0?I:null;return R===null||r!==null&&(r.f&ee)!==0?t|=ee:R.f|=pr,{ctx:W,deps:null,effects:null,equals:Cr,f:t,fn:e,reactions:null,rv:0,v:null,wv:0,parent:r??R}}function nt(e){const t=Yt(e);return Hr(t),t}function Ir(e){var t=e.effects;if(t!==null){e.effects=null;for(var r=0;r<t.length;r+=1)Ae(t[r])}}function Di(e){for(var t=e.parent;t!==null;){if((t.f&ue)===0)return t;t=t.parent}return null}function Rr(e){var t,r=R;Ie(Di(e));try{Ir(e),t=Jr(e)}finally{Ie(r)}return t}function Sr(e){var t=Rr(e),r=(Re||(e.f&ee)!==0)&&e.deps!==null?Oe:K;ce(e,r),e.equals(t)||(e.v=t,e.wv=Wr())}function Pi(e){R===null&&I===null&&$i(),I!==null&&(I.f&ee)!==0&&R===null&&Ei(),ot&&bi()}function Fi(e,t){var r=t.last;r===null?t.last=t.first=e:(r.next=e,e.prev=r,t.last=e)}function Me(e,t,r,i=!0){var l=R,o={ctx:W,deps:null,nodes_start:null,nodes_end:null,f:e|he,first:null,fn:t,last:null,next:null,parent:l,prev:null,teardown:null,transitions:null,wv:0};if(r)try{Xt(o),o.f|=wi}catch(f){throw Ae(o),f}else t!==null&&Dt(o);var a=r&&o.deps===null&&o.first===null&&o.nodes_start===null&&o.teardown===null&&(o.f&(pr|kt))===0;if(!a&&i&&(l!==null&&Fi(o,l),I!==null&&(I.f&ue)!==0)){var s=I;(s.effects??(s.effects=[])).push(o)}return o}function Tr(e){const t=Me($t,null,!1);return ce(t,K),t.teardown=e,t}function Wt(e){Pi();var t=R!==null&&(R.f&pe)!==0&&W!==null&&!W.m;if(t){var r=W;(r.e??(r.e=[])).push({fn:e,effect:R,reaction:I})}else{var i=Zt(e);return i}}function Oi(e){const t=Me(Fe,e,!0);return()=>{Ae(t)}}function Mi(e){const t=Me(Fe,e,!0);return(r={})=>new Promise(i=>{r.outro?Kt(t,()=>{Ae(t),i(void 0)}):(Ae(t),i(void 0))})}function Zt(e){return Me(wr,e,!1)}function Gt(e){return Me($t,e,!0)}function Ue(e,t=[],r=Yt){const i=t.map(r);return Nr(()=>e(...i.map(c)))}function Nr(e,t=0){return Me($t|Ut|t,e,!0)}function Jt(e,t=!0){return Me($t|pe,e,!0,t)}function Lr(e){var t=e.teardown;if(t!==null){const r=ot,i=I;Br(!0),_e(null);try{t.call(null)}finally{Br(r),_e(i)}}}function Dr(e,t=!1){var r=e.first;for(e.first=e.last=null;r!==null;){var i=r.next;(r.f&Fe)!==0?r.parent=null:Ae(r,t),r=i}}function Ui(e){for(var t=e.first;t!==null;){var r=t.next;(t.f&pe)===0&&Ae(t),t=r}}function Ae(e,t=!0){var r=!1;(t||(e.f&pi)!==0)&&e.nodes_start!==null&&(Pr(e.nodes_start,e.nodes_end),r=!0),Dr(e,t&&!r),Lt(e,0),ce(e,Ct);var i=e.transitions;if(i!==null)for(const o of i)o.stop();Lr(e);var l=e.parent;l!==null&&l.first!==null&&Fr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=null}function Pr(e,t){for(;e!==null;){var r=e===t?null:Ce(e);e.remove(),e=r}}function Fr(e){var t=e.parent,r=e.prev,i=e.next;r!==null&&(r.next=i),i!==null&&(i.prev=r),t!==null&&(t.first===e&&(t.first=i),t.last===e&&(t.last=r))}function Kt(e,t){var r=[];Or(e,r,!0),Vi(r,()=>{Ae(e),t&&t()})}function Vi(e,t){var r=e.length;if(r>0){var i=()=>--r||t();for(var l of e)l.out(i)}else t()}function Or(e,t,r){if((e.f&Ye)===0){if(e.f^=Ye,e.transitions!==null)for(const a of e.transitions)(a.is_global||r)&&t.push(a);for(var i=e.first;i!==null;){var l=i.next,o=(i.f&Vt)!==0||(i.f&pe)!==0;Or(i,t,o?r:!1),i=l}}}function Mr(e){Ur(e,!0)}function Ur(e,t){if((e.f&Ye)!==0){e.f^=Ye,(e.f&K)===0&&(e.f^=K),st(e)&&(ce(e,he),Dt(e));for(var r=e.first;r!==null;){var i=r.next,l=(r.f&Vt)!==0||(r.f&pe)!==0;Ur(r,l?t:!1),r=i}if(e.transitions!==null)for(const o of e.transitions)(o.is_global||t)&&o.in()}}const ji=typeof requestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback;let it=[],lt=[];function Vr(){var e=it;it=[],mr(e)}function jr(){var e=lt;lt=[],mr(e)}function qr(e){it.length===0&&queueMicrotask(Vr),it.push(e)}function qi(e){lt.length===0&&ji(jr),lt.push(e)}function Bi(){it.length>0&&Vr(),lt.length>0&&jr()}let It=!1,Rt=!1,St=null,Ve=!1,ot=!1;function Br(e){ot=e}let at=[],co=[],I=null,ge=!1;function _e(e){I=e}let R=null;function Ie(e){R=e}let H=null;function Hr(e){I!==null&&I.f&jt&&(H===null?H=[e]:H.push(e))}let Y=null,ne=0,le=null;function Hi(e){le=e}let Yr=1,Tt=0,Re=!1;function Wr(){return++Yr}function st(e){var v;var t=e.f;if((t&he)!==0)return!0;if((t&Oe)!==0){var r=e.deps,i=(t&ee)!==0;if(r!==null){var l,o,a=(t&xt)!==0,s=i&&R!==null&&!Re,f=r.length;if(a||s){var d=e,h=d.parent;for(l=0;l<f;l++)o=r[l],(a||!((v=o==null?void 0:o.reactions)!=null&&v.includes(d)))&&(o.reactions??(o.reactions=[])).push(d);a&&(d.f^=xt),s&&h!==null&&(h.f&ee)===0&&(d.f^=ee)}for(l=0;l<f;l++)if(o=r[l],st(o)&&Sr(o),o.wv>e.wv)return!0}(!i||R!==null&&!Re)&&ce(e,K)}return!1}function Yi(e,t){for(var r=t;r!==null;){if((r.f&kt)!==0)try{r.fn(e);return}catch{r.f^=kt}r=r.parent}throw It=!1,e}function Zr(e){return(e.f&Ct)===0&&(e.parent===null||(e.parent.f&kt)===0)}function Nt(e,t,r,i){if(It){if(r===null&&(It=!1),Zr(t))throw e;return}if(r!==null&&(It=!0),Yi(e,t),Zr(t))throw e}function Gr(e,t,r=!0){var i=e.reactions;if(i!==null)for(var l=0;l<i.length;l++){var o=i[l];H!=null&&H.includes(e)||((o.f&ue)!==0?Gr(o,t,!1):t===o&&(r?ce(o,he):(o.f&K)!==0&&ce(o,Oe),Dt(o)))}}function Jr(e){var m;var t=Y,r=ne,i=le,l=I,o=Re,a=H,s=W,f=ge,d=e.f;Y=null,ne=0,le=null,Re=(d&ee)!==0&&(ge||!Ve||I===null),I=(d&(pe|Fe))===0?e:null,H=null,en(e.ctx),ge=!1,Tt++,e.f|=jt;try{var h=(0,e.fn)(),v=e.deps;if(Y!==null){var g;if(Lt(e,ne),v!==null&&ne>0)for(v.length=ne+Y.length,g=0;g<Y.length;g++)v[ne+g]=Y[g];else e.deps=v=Y;if(!Re)for(g=ne;g<v.length;g++)((m=v[g]).reactions??(m.reactions=[])).push(e)}else v!==null&&ne<v.length&&(Lt(e,ne),v.length=ne);if(nn()&&le!==null&&!ge&&v!==null&&(e.f&(ue|Oe|he))===0)for(g=0;g<le.length;g++)Gr(le[g],e);return l!==null&&l!==e&&(Tt++,le!==null&&(i===null?i=le:i.push(...le))),h}finally{Y=t,ne=r,le=i,I=l,Re=o,H=a,en(s),ge=f,e.f^=jt}}function Wi(e,t){let r=t.reactions;if(r!==null){var i=vi.call(r,e);if(i!==-1){var l=r.length-1;l===0?r=t.reactions=null:(r[i]=r[l],r.pop())}}r===null&&(t.f&ue)!==0&&(Y===null||!Y.includes(t))&&(ce(t,Oe),(t.f&(ee|xt))===0&&(t.f^=xt),Ir(t),Lt(t,0))}function Lt(e,t){var r=e.deps;if(r!==null)for(var i=t;i<r.length;i++)Wi(e,r[i])}function Xt(e){var t=e.f;if((t&Ct)===0){ce(e,K);var r=R,i=W,l=Ve;R=e,Ve=!0;try{(t&Ut)!==0?Ui(e):Dr(e),Lr(e);var o=Jr(e);e.teardown=typeof o=="function"?o:null,e.wv=Yr;var a=e.deps,s;dr&&Ti&&e.f&he}catch(f){Nt(f,e,r,i||e.ctx)}finally{Ve=l,R=r}}}function Zi(){try{ki()}catch(e){if(St!==null)Nt(e,St,null);else throw e}}function Kr(){var e=Ve;try{var t=0;for(Ve=!0;at.length>0;){t++>1e3&&Zi();var r=at,i=r.length;at=[];for(var l=0;l<i;l++){var o=Ji(r[l]);Gi(o)}ft.clear()}}finally{Rt=!1,Ve=e,St=null}}function Gi(e){var t=e.length;if(t!==0)for(var r=0;r<t;r++){var i=e[r];if((i.f&(Ct|Ye))===0)try{st(i)&&(Xt(i),i.deps===null&&i.first===null&&i.nodes_start===null&&(i.teardown===null?Fr(i):i.fn=null))}catch(l){Nt(l,i,null,i.ctx)}}}function Dt(e){Rt||(Rt=!0,queueMicrotask(Kr));for(var t=St=e;t.parent!==null;){t=t.parent;var r=t.f;if((r&(Fe|pe))!==0){if((r&K)===0)return;t.f^=K}}at.push(t)}function Ji(e){for(var t=[],r=e;r!==null;){var i=r.f,l=(i&(pe|Fe))!==0,o=l&&(i&K)!==0;if(!o&&(i&Ye)===0){if((i&wr)!==0)t.push(r);else if(l)r.f^=K;else try{st(r)&&Xt(r)}catch(f){Nt(f,r,null,r.ctx)}var a=r.first;if(a!==null){r=a;continue}}var s=r.parent;for(r=r.next;r===null&&s!==null;)r=s.next,s=s.parent}return t}function E(e){for(var t;;){if(Bi(),at.length===0)return t;Rt=!0,Kr()}}async function Ki(){await Promise.resolve(),E()}function c(e){var t=e.f,r=(t&ue)!==0;if(I!==null&&!ge){if(!(H!=null&&H.includes(e))){var i=I.deps;e.rv<Tt&&(e.rv=Tt,Y===null&&i!==null&&i[ne]===e?ne++:Y===null?Y=[e]:(!Re||!Y.includes(e))&&Y.push(e))}}else if(r&&e.deps===null&&e.effects===null){var l=e,o=l.parent;o!==null&&(o.f&ee)===0&&(l.f^=ee)}return r&&(l=e,st(l)&&Sr(l)),ot&&ft.has(e)?ft.get(e):e.v}function Ge(e){var t=ge;try{return ge=!0,e()}finally{ge=t}}const Xi=-7169;function ce(e,t){e.f=e.f&Xi|t}const ft=new Map;function Xr(e,t){var r={f:0,v:e,reactions:null,equals:Cr,rv:0,wv:0};return r}function X(e,t){const r=Xr(e);return Hr(r),r}function zr(e,t=!1){const r=Xr(e);return t||(r.equals=Ar),r}function O(e,t,r=!1){I!==null&&!ge&&nn()&&(I.f&(ue|Ut))!==0&&!(H!=null&&H.includes(e))&&Ri();let i=r?xe(t):t;return zi(e,i)}function zi(e,t){if(!e.equals(t)){var r=e.v;ot?ft.set(e,t):ft.set(e,r),e.v=t,(e.f&ue)!==0&&((e.f&he)!==0&&Rr(e),ce(e,(e.f&ee)===0?K:Oe)),e.wv=Wr(),Qr(e,he),R!==null&&(R.f&K)!==0&&(R.f&(pe|Fe))===0&&(le===null?Hi([e]):le.push(e))}return t}function Qr(e,t){var r=e.reactions;if(r!==null)for(var i=r.length,l=0;l<i;l++){var o=r[l],a=o.f;(a&he)===0&&(ce(o,t),(a&(K|ee))!==0&&((a&ue)!==0?Qr(o,Oe):Dt(o)))}}let W=null;function en(e){W=e}function tn(e,t=!1,r){var i=W={p:W,c:null,d:!1,e:null,m:!1,s:e,x:null,l:null};Tr(()=>{i.d=!0})}function rn(e){const t=W;if(t!==null){e!==void 0&&(t.x=e);const a=t.e;if(a!==null){var r=R,i=I;t.e=null;try{for(var l=0;l<a.length;l++){var o=a[l];Ie(o.effect),_e(o.reaction),Zt(o.fn)}}finally{Ie(r),_e(i)}}W=t.p,t.m=!0}return e||{}}function nn(){return!0}const Qi=["touchstart","touchmove"];function el(e){return Qi.includes(e)}let ln=!1;function on(){ln||(ln=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const r of e.target.elements)(t=r.__on_r)==null||t.call(r)})},{capture:!0}))}function an(e){var t=I,r=R;_e(null),Ie(null);try{return e()}finally{_e(t),Ie(r)}}function tl(e,t,r,i=r){e.addEventListener(t,()=>an(r));const l=e.__on_r;l?e.__on_r=()=>{l(),i(!0)}:e.__on_r=()=>i(!0),on()}const sn=new Set,zt=new Set;function rl(e,t,r,i={}){function l(o){if(i.capture||ut.call(t,o),!o.cancelBubble)return an(()=>r==null?void 0:r.call(this,o))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?qr(()=>{t.addEventListener(e,l,i)}):t.addEventListener(e,l,i),l}function nl(e,t,r,i,l){var o={capture:i,passive:l},a=rl(e,t,r,o);(t===document.body||t===window||t===document)&&Tr(()=>{t.removeEventListener(e,a,o)})}function il(e){for(var t=0;t<e.length;t++)sn.add(e[t]);for(var r of zt)r(e)}function ut(e){var q;var t=this,r=t.ownerDocument,i=e.type,l=((q=e.composedPath)==null?void 0:q.call(e))||[],o=l[0]||e.target,a=0,s=e.__root;if(s){var f=l.indexOf(s);if(f!==-1&&(t===document||t===window)){e.__root=t;return}var d=l.indexOf(t);if(d===-1)return;f<=d&&(a=f)}if(o=l[a]||e.target,o!==t){Et(e,"currentTarget",{configurable:!0,get(){return o||r}});var h=I,v=R;_e(null),Ie(null);try{for(var g,m=[];o!==null;){var A=o.assignedSlot||o.parentNode||o.host||null;try{var D=o["__"+i];if(D!=null&&(!o.disabled||e.target===o))if(hr(D)){var[U,...Z]=D;U.apply(o,[e,...Z])}else D.call(o,e)}catch(z){g?m.push(z):g=z}if(e.cancelBubble||A===t||A===null)break;o=A}if(g){for(let z of m)queueMicrotask(()=>{throw z});throw g}}finally{e.__root=t,delete e.currentTarget,_e(h),Ie(v)}}}function Qt(e){var t=document.createElement("template");return t.innerHTML=e,t.content}function Se(e,t){var r=R;r.nodes_start===null&&(r.nodes_start=e,r.nodes_end=t)}function me(e,t){var r=(t&ui)!==0,i=(t&ci)!==0,l,o=!e.startsWith("<!>");return()=>{if(P)return Se(F,null),F;l===void 0&&(l=Qt(o?e:"<!>"+e),r||(l=ie(l)));var a=i||Er?document.importNode(l,!0):l.cloneNode(!0);if(r){var s=ie(a),f=a.lastChild;Se(s,f)}else Se(a,a);return a}}function ll(e,t,r="svg"){var i=!e.startsWith("<!>"),l=`<${r}>${i?e:"<!>"+e}</${r}>`,o;return()=>{if(P)return Se(F,null),F;if(!o){var a=Qt(l),s=ie(a);o=ie(s)}var f=o.cloneNode(!0);return Se(f,f),f}}function oe(e,t){if(P){R.nodes_end=F,Ze();return}e!==null&&e.before(t)}function fn(e,t){return un(e,t)}function ol(e,t){Bt(),t.intro=t.intro??!1;const r=t.target,i=P,l=F;try{for(var o=ie(r);o&&(o.nodeType!==8||o.data!==Mt);)o=Ce(o);if(!o)throw He;We(!0),ke(o),Ze();const a=un(e,{...t,anchor:o});if(F===null||F.nodeType!==8||F.data!==cr)throw At(),He;return We(!1),a}catch(a){if(a===He)return t.recover===!1&&xi(),Bt(),Ni(r),We(!1),fn(e,t);throw a}finally{We(i),ke(l)}}const Je=new Map;function un(e,{target:t,anchor:r,props:i={},events:l,context:o,intro:a=!0}){Bt();var s=new Set,f=v=>{for(var g=0;g<v.length;g++){var m=v[g];if(!s.has(m)){s.add(m);var A=el(m);t.addEventListener(m,ut,{passive:A});var D=Je.get(m);D===void 0?(document.addEventListener(m,ut,{passive:A}),Je.set(m,1)):Je.set(m,D+1)}}};f(hi(sn)),zt.add(f);var d=void 0,h=Mi(()=>{var v=r??t.appendChild(Ht());return Jt(()=>{if(o){tn({});var g=W;g.c=o}l&&(i.$$events=l),P&&Se(v,null),d=e(v,i)||{},P&&(R.nodes_end=F),o&&rn()}),()=>{var A;for(var g of s){t.removeEventListener(g,ut);var m=Je.get(g);--m===0?(document.removeEventListener(g,ut),Je.delete(g)):Je.set(g,m)}zt.delete(f),v!==r&&((A=v.parentNode)==null||A.removeChild(v))}});return er.set(d,h),d}let er=new WeakMap;function al(e,t){const r=er.get(e);return r?(er.delete(e),r(t)):Promise.resolve()}function Te(e,t,[r,i]=[0,0]){P&&r===0&&Ze();var l=e,o=null,a=null,s=J,f=r>0?Vt:0,d=!1;const h=(g,m=!0)=>{d=!0,v(m,g)},v=(g,m)=>{if(s===(s=g))return;let A=!1;if(P&&i!==-1){if(r===0){const U=l.data;U===Mt?i=0:U===ur?i=1/0:(i=parseInt(U.substring(1)),i!==i&&(i=s?1/0:-1))}const D=i>r;!!s===D&&(l=Si(),ke(l),We(!1),A=!0,i=-1)}s?(o?Mr(o):m&&(o=Jt(()=>m(l))),a&&Kt(a,()=>{a=null})):(a?Mr(a):m&&(a=Jt(()=>m(l,[r+1,i]))),o&&Kt(o,()=>{o=null})),A&&We(!0)};Nr(()=>{d=!1,t(h),d||v(null,null)},f),P&&(l=F)}function Ke(e,t,r=!1,i=!1,l=!1){var o=e,a="";Ue(()=>{var s=R;if(a===(a=t()??"")){P&&Ze();return}if(s.nodes_start!==null&&(Pr(s.nodes_start,s.nodes_end),s.nodes_start=s.nodes_end=null),a!==""){if(P){F.data;for(var f=Ze(),d=f;f!==null&&(f.nodeType!==8||f.data!=="");)d=f,f=Ce(f);if(f===null)throw At(),He;Se(F,d),o=ke(f);return}var h=a+"";r?h=`<svg>${h}</svg>`:i&&(h=`<math>${h}</math>`);var v=Qt(h);if((r||i)&&(v=ie(v)),Se(ie(v),v.lastChild),r||i)for(;ie(v);)o.before(ie(v));else o.before(v)}})}function sl(e,t,r,i,l){var s;P&&Ze();var o=(s=t.$$slots)==null?void 0:s[r],a=!1;o===!0&&(o=t.children,a=!0),o===void 0||o(e,a?()=>i:i)}const cn=[...`
2
- \r\f \v\uFEFF`];function fl(e,t,r){var i=""+e;if(r){for(var l in r)if(r[l])i=i?i+" "+l:l;else if(i.length)for(var o=l.length,a=0;(a=i.indexOf(l,a))>=0;){var s=a+o;(a===0||cn.includes(i[a-1]))&&(s===i.length||cn.includes(i[s]))?i=(a===0?"":i.substring(0,a))+i.substring(s+1):a=s}}return i===""?null:i}function ul(e,t,r,i,l,o){var a=e.__className;if(P||a!==r||a===void 0){var s=fl(r,i,o);(!P||s!==e.getAttribute("class"))&&(s==null?e.removeAttribute("class"):e.className=s),e.__className=r}else if(o&&l!==o)for(var f in o){var d=!!o[f];(l==null||d!==!!l[f])&&e.classList.toggle(f,d)}return o}const cl=Symbol("is custom element"),dl=Symbol("is html");function dn(e){if(P){var t=!1,r=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var i=e.value;de(e,"value",null),e.value=i}if(e.hasAttribute("checked")){var l=e.checked;de(e,"checked",null),e.checked=l}}};e.__on_r=r,qi(r),on()}}function vl(e,t){var r=vn(e);r.value===(r.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!=="PROGRESS")||(e.value=t??"")}function de(e,t,r,i){var l=vn(e);P&&(l[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")||l[t]!==(l[t]=r)&&(t==="loading"&&(e[yi]=r),r==null?e.removeAttribute(t):typeof r!="string"&&hl(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function vn(e){return e.__attributes??(e.__attributes={[cl]:e.nodeName.includes("-"),[dl]:e.namespaceURI===di})}var hn=new Map;function hl(e){var t=hn.get(e.nodeName);if(t)return t;hn.set(e.nodeName,t=[]);for(var r,i=e,l=Element.prototype;l!==i;){r=gi(i);for(var o in r)r[o].set&&t.push(o);i=gr(i)}return t}function gl(e,t,r=t){tl(e,"change",i=>{var l=i?e.defaultChecked:e.checked;r(l)}),(P&&e.defaultChecked!==e.checked||Ge(t)==null)&&r(e.checked),Gt(()=>{var i=t();e.checked=!!i})}function gn(e,t){return e===t||(e==null?void 0:e[rt])===t}function _n(e={},t,r,i){return Zt(()=>{var l,o;return Gt(()=>{l=o,o=[],Ge(()=>{e!==r(...o)&&(t(e,...o),l&&gn(r(...l),e)&&t(null,...l))})}),()=>{qr(()=>{o&&gn(r(...o),e)&&t(null,...o)})}}),e}function mn(e){W===null&&vr(),Wt(()=>{const t=Ge(e);if(typeof t=="function")return t})}function _l(e){W===null&&vr(),mn(()=>()=>Ge(e))}let Pt=!1;function ml(e){var t=Pt;try{return Pt=!1,[e(),Pt]}finally{Pt=t}}function wn(e){var t;return((t=e.ctx)==null?void 0:t.d)??!1}function S(e,t,r,i){var je;var l=(r&yt)!==0,o=!0,a=(r&si)!==0,s=(r&fi)!==0,f=!1,d;a?[d,f]=ml(()=>e[t]):d=e[t];var h=rt in e||yr in e,v=a&&(((je=Pe(e,t))==null?void 0:je.set)??(h&&t in e&&(M=>e[t]=M)))||void 0,g=i,m=!0,A=!1,D=()=>(A=!0,m&&(m=!1,s?g=Ge(i):g=i),g);d===void 0&&i!==void 0&&(v&&o&&Ci(),d=D(),v&&v(d));var U;if(U=()=>{var M=e[t];return M===void 0?D():(m=!0,A=!1,M)},(r&ai)===0)return U;if(v){var Z=e.$$legacy;return function(M,B){return arguments.length>0?((!B||Z||f)&&v(B?U():M),M):U()}}var q=!1,z=zr(d),V=Yt(()=>{var M=U(),B=c(z);return q?(q=!1,B):z.v=M});return a&&c(V),l||(V.equals=Ar),function(M,B){if(arguments.length>0){const Ee=B?c(V):a?xe(M):M;if(!V.equals(Ee)){if(q=!0,O(z,Ee),A&&g!==void 0&&(g=Ee),wn(V))return M;Ge(()=>c(V))}return M}return wn(V)?V.v:c(V)}}function wl(e){return new pl(e)}class pl{constructor(t){sr(this,be);sr(this,ae);var o;var r=new Map,i=(a,s)=>{var f=zr(s);return r.set(a,f),f};const l=new Proxy({...t.props||{},$$events:{}},{get(a,s){return c(r.get(s)??i(s,Reflect.get(a,s)))},has(a,s){return s===yr?!0:(c(r.get(s)??i(s,Reflect.get(a,s))),Reflect.has(a,s))},set(a,s,f){return O(r.get(s)??i(s,f),f),Reflect.set(a,s,f)}});fr(this,ae,(t.hydrate?ol:fn)(t.component,{target:t.target,anchor:t.anchor,props:l,context:t.context,intro:t.intro??!1,recover:t.recover})),(!((o=t==null?void 0:t.props)!=null&&o.$$host)||t.sync===!1)&&E(),fr(this,be,l.$$events);for(const a of Object.keys(Q(this,ae)))a==="$set"||a==="$destroy"||a==="$on"||Et(this,a,{get(){return Q(this,ae)[a]},set(s){Q(this,ae)[a]=s},enumerable:!0});Q(this,ae).$set=a=>{Object.assign(l,a)},Q(this,ae).$destroy=()=>{al(Q(this,ae))}}$set(t){Q(this,ae).$set(t)}$on(t,r){Q(this,be)[t]=Q(this,be)[t]||[];const i=(...l)=>r.call(this,...l);return Q(this,be)[t].push(i),()=>{Q(this,be)[t]=Q(this,be)[t].filter(l=>l!==i)}}$destroy(){Q(this,ae).$destroy()}}be=new WeakMap,ae=new WeakMap;let pn;typeof HTMLElement=="function"&&(pn=class extends HTMLElement{constructor(t,r,i){super();ve(this,"$$ctor");ve(this,"$$s");ve(this,"$$c");ve(this,"$$cn",!1);ve(this,"$$d",{});ve(this,"$$r",!1);ve(this,"$$p_d",{});ve(this,"$$l",{});ve(this,"$$l_u",new Map);ve(this,"$$me");this.$$ctor=t,this.$$s=r,i&&this.attachShadow({mode:"open"})}addEventListener(t,r,i){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(r),this.$$c){const l=this.$$c.$on(t,r);this.$$l_u.set(r,l)}super.addEventListener(t,r,i)}removeEventListener(t,r,i){if(super.removeEventListener(t,r,i),this.$$c){const l=this.$$l_u.get(r);l&&(l(),this.$$l_u.delete(r))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let t=function(l){return o=>{const a=document.createElement("slot");l!=="default"&&(a.name=l),oe(o,a)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const r={},i=yl(this);for(const l of this.$$s)l in i&&(l==="default"&&!this.$$d.children?(this.$$d.children=t(l),r.default=!0):r[l]=t(l));for(const l of this.attributes){const o=this.$$g_p(l.name);o in this.$$d||(this.$$d[o]=Ft(o,l.value,this.$$p_d,"toProp"))}for(const l in this.$$p_d)!(l in this.$$d)&&this[l]!==void 0&&(this.$$d[l]=this[l],delete this[l]);this.$$c=wl({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=Oi(()=>{Gt(()=>{var l;this.$$r=!0;for(const o of bt(this.$$c)){if(!((l=this.$$p_d[o])!=null&&l.reflect))continue;this.$$d[o]=this.$$c[o];const a=Ft(o,this.$$d[o],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[o].attribute||o):this.setAttribute(this.$$p_d[o].attribute||o,a)}this.$$r=!1})});for(const l in this.$$l)for(const o of this.$$l[l]){const a=this.$$c.$on(l,o);this.$$l_u.set(o,a)}this.$$l={}}}attributeChangedCallback(t,r,i){var l;this.$$r||(t=this.$$g_p(t),this.$$d[t]=Ft(t,i,this.$$p_d,"toProp"),(l=this.$$c)==null||l.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return bt(this.$$p_d).find(r=>this.$$p_d[r].attribute===t||!this.$$p_d[r].attribute&&r.toLowerCase()===t)||t}});function Ft(e,t,r,i){var o;const l=(o=r[e])==null?void 0:o.type;if(t=l==="Boolean"&&typeof t!="boolean"?t!=null:t,!i||!r[e])return t;if(i==="toAttribute")switch(l){case"Object":case"Array":return t==null?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(l){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":return t;case"Number":return t!=null?+t:t;default:return t}}function yl(e){const t={};return e.childNodes.forEach(r=>{t[r.slot||"default"]=!0}),t}function bl(e,t,r,i,l,o){let a=class extends pn{constructor(){super(e,r,l),this.$$p_d=t}static get observedAttributes(){return bt(t).map(s=>(t[s].attribute||s).toLowerCase())}};return bt(t).forEach(s=>{Et(a.prototype,s,{get(){return this.$$c&&s in this.$$c?this.$$c[s]:this.$$d[s]},set(f){var v;f=Ft(s,f,t),this.$$d[s]=f;var d=this.$$c;if(d){var h=(v=Pe(d,s))==null?void 0:v.get;h?d[s]=f:d.$set({[s]:f})}}})}),i.forEach(s=>{Et(a.prototype,s,{get(){var f;return(f=this.$$c)==null?void 0:f[s]}})}),e.element=a,a}const yn=new TextEncoder;function El(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function $l(e,t="SHA-256",r=1e5){const i=Date.now().toString(16);e||(e=Math.round(Math.random()*r));const l=await bn(i,e,t);return{algorithm:t,challenge:l,salt:i,signature:""}}async function bn(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 El(await crypto.subtle.digest(r.toUpperCase(),yn.encode(e+t)))}function kl(e,t,r="SHA-256",i=1e6,l=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let f=l;f<=i;f+=1){if(o.signal.aborted)return null;if(await bn(t,f,r)===e)return{number:f,took:Date.now()-a}}return null})(),controller:o}}function xl(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Cl(e){const t=atob(e),r=new Uint8Array(t.length);for(let i=0;i<t.length;i++)r[i]=t.charCodeAt(i);return r}function Al(e,t=12){const r=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=e%256,e=Math.floor(e/256);return r}async function Il(e,t="",r=1e6,i=0){const l="AES-GCM",o=new AbortController,a=Date.now(),s=async()=>{for(let h=i;h<=r;h+=1){if(o.signal.aborted||!f||!d)return null;try{const v=await crypto.subtle.decrypt({name:l,iv:Al(h)},f,d);if(v)return{clearText:new TextDecoder().decode(v),took:Date.now()-a}}catch{}}return null};let f=null,d=null;try{d=Cl(e);const h=await crypto.subtle.digest("SHA-256",yn.encode(t));f=await crypto.subtle.importKey("raw",h,l,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:s(),controller:o}}var p=(e=>(e.ERROR="error",e.VERIFIED="verified",e.VERIFYING="verifying",e.UNVERIFIED="unverified",e.EXPIRED="expired",e))(p||{}),Rl=ll('<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" fill="currentColor" opacity=".25"></path><path d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z" fill="currentColor" class="altcha-spinner"></path></svg>'),Sl=me('<span role="status" aria-live="polite"><!></span> <input type="hidden">',1),Tl=me('<span role="status" aria-live="polite"><!></span>'),Nl=me("<label><!></label>"),Ll=me('<div><a target="_blank" class="altcha-logo"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z" fill="currentColor"></path><path d="M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z" fill="currentColor"></path><path d="M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z" fill="currentColor"></path></svg></a></div>'),Dl=me("<div><!></div>"),Pl=me("<div><!></div>"),Fl=me('<div class="altcha-error"><svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg> <!></div>'),Ol=me('<div class="altcha-footer"><div><!></div></div>'),Ml=me('<div class="altcha-anchor-arrow"></div>'),Ul=me('<!> <div class="altcha"><div class="altcha-main"><!> <div><input type="checkbox"></div> <div class="altcha-label"><!></div> <!></div> <!> <!> <!></div>',1);function En(e,t){var ri,ni;tn(t,!0);let r=S(t,"auto",7,void 0),i=S(t,"blockspam",7,void 0),l=S(t,"challengeurl",7,void 0),o=S(t,"challengejson",7,void 0),a=S(t,"customfetch",7,void 0),s=S(t,"debug",7,!1),f=S(t,"delay",7,0),d=S(t,"expire",7,void 0),h=S(t,"floating",7,void 0),v=S(t,"floatinganchor",7,void 0),g=S(t,"floatingoffset",7,void 0),m=S(t,"floatingpersist",7,!1),A=S(t,"hidefooter",7,!1),D=S(t,"hidelogo",7,!1),U=S(t,"id",7,void 0),Z=S(t,"name",7,"altcha"),q=S(t,"maxnumber",7,1e6),z=S(t,"mockerror",7,!1),V=S(t,"obfuscated",7,void 0),je=S(t,"plugins",7,void 0),M=S(t,"refetchonexpire",7,!0),B=S(t,"spamfilter",7,!1),Ee=S(t,"strings",7,void 0),se=S(t,"test",7,!1),Ne=S(t,"verifyurl",7,void 0),Xe=S(t,"workers",23,()=>Math.min(16,navigator.hardwareConcurrency||8)),ct=S(t,"workerurl",7,void 0);const kn=["SHA-256","SHA-384","SHA-512"],xn="Visit Altcha.org",Cn="https://altcha.org/",dt=(n,u)=>{t.$$host.dispatchEvent(new CustomEvent(n,{detail:u}))},An=(ni=(ri=document.documentElement.lang)==null?void 0:ri.split("-"))==null?void 0:ni[0],tr=nt(()=>{var n;return l()&&new URL(l(),location.origin).host.endsWith(".altcha.org")&&!!((n=l())!=null&&n.includes("apiKey=ckey_"))}),rr=nt(()=>o()?Vn(o()):void 0),In=nt(()=>Ee()?Vn(Ee()):{}),fe=nt(()=>{var n;return{ariaLinkLabel:xn,error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:`Protected by <a href="${Cn}" target="_blank" aria-label="${((n=c(In))==null?void 0:n.ariaLinkLabel)||xn}">ALTCHA</a>`,label:"I'm not a robot",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait.",...c(In)}}),Rn=nt(()=>`${U()||Z()}_checkbox`);let ze=X(!1),T=X(xe(p.UNVERIFIED)),G=X(void 0),vt=X(null),Qe=null,w=null,et=X(null),we=null,Le=[],qe=X(null);Wt(()=>{Zl(c(et))}),Wt(()=>{Gl(c(T))}),_l(()=>{Vl(),w&&(w.removeEventListener("submit",Fn),w.removeEventListener("reset",On),w.removeEventListener("focusin",Pn),w=null),we&&(clearTimeout(we),we=null),document.removeEventListener("click",Ln),document.removeEventListener("scroll",Dn),window.removeEventListener("resize",Un)}),mn(()=>{var n;N("mounted","1.5.0"),N("workers",Xe()),Yl(),N("plugins",Le.length?Le.map(u=>u.constructor.pluginName).join(", "):"none"),se()&&N("using test mode"),d()&&nr(d()),r()!==void 0&&N("auto",r()),h()!==void 0&&jn(h()),w=(n=c(G))==null?void 0:n.closest("form"),w&&(w.addEventListener("submit",Fn,{capture:!0}),w.addEventListener("reset",On),(r()==="onfocus"||m()==="focus")&&w.addEventListener("focusin",Pn)),r()==="onload"&&(V()?ht():De()),c(tr)&&(A()||D())&&N("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."),requestAnimationFrame(()=>{dt("load")})});function Sn(n,u){return btoa(JSON.stringify({algorithm:n.algorithm,challenge:n.challenge,number:u.number,salt:n.salt,signature:n.signature,test:se()?!0:void 0,took:u.took}))}function Vl(){for(const n of Le)n.destroy()}function Tn(){l()&&M()&&c(T)===p.VERIFIED?De():_t(p.EXPIRED,c(fe).expired)}async function jl(){var n;if(z())throw N("mocking error"),new Error("Mocked error.");if(c(rr))return N("using provided json data"),c(rr);if(se())return N("generating test challenge",{test:se()}),$l(typeof se()!="boolean"?+se():void 0);{if(!l()&&w){const k=w.getAttribute("action");k!=null&&k.includes("/form/")&&l(k+"/altcha")}if(!l())throw new Error("Attribute challengeurl not set.");N("fetching challenge from",l());const u={headers:B()!==!1?{"x-altcha-spam-filter":"1"}:{}},_=await Nn()(l(),u);if(!_||!(_ instanceof Response))throw new Error("Fetch function did not return a response.");if(_.status!==200)throw new Error(`Server responded with ${_.status}.`);const b=_.headers.get("X-Altcha-Config"),L=await _.json(),$=new URLSearchParams((n=L.salt.split("?"))==null?void 0:n[1]),y=$.get("expires")||$.get("expire");if(y){const k=new Date(+y*1e3),$e=isNaN(k.getTime())?0:k.getTime()-Date.now();$e>0&&nr($e)}if(b)try{const k=JSON.parse(b);k&&typeof k=="object"&&("sentinel"in k?alert("This version of the widget is not compatible with Sentinel. Upgrade to version 2.x.x."):(k.verifyurl&&(k.verifyurl=new URL(k.verifyurl,new URL(l())).toString()),Hn(k)))}catch(k){N("unable to configure from X-Altcha-Config",k)}return L}}function ql(n){var _;const u=w==null?void 0:w.querySelector(typeof n=="string"?`input[name="${n}"]`:'input[type="email"]:not([data-no-spamfilter])');return((_=u==null?void 0:u.value)==null?void 0:_.slice(u.value.indexOf("@")))||void 0}function Nn(){let n=fetch;if(a())if(N("using customfetch"),typeof a()=="string"){if(n=globalThis[a()]||null,!n)throw new Error(`Custom fetch function not found: ${a()}`)}else n=a();return n}function Bl(){return B()==="ipAddress"?{blockedCountries:void 0,classifier:void 0,disableRules:void 0,email:!1,expectedCountries:void 0,expectedLanguages:void 0,fields:!1,ipAddress:void 0,text:void 0,timeZone:void 0}:typeof B()=="object"?B():{blockedCountries:void 0,classifier:void 0,disableRules:void 0,email:void 0,expectedCountries:void 0,expectedLanguages:void 0,fields:void 0,ipAddress:void 0,text:void 0,timeZone:void 0}}function Hl(n){return[...(w==null?void 0:w.querySelectorAll(n!=null&&n.length?n.map(_=>`input[name="${_}"]`).join(", "):'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])'))||[]].reduce((_,b)=>{const L=b.name,$=b.value;return L&&$&&(_[L]=/\n/.test($)?$.replace(new RegExp("(?<!\\r)\\n","g"),`\r
3
- `):$),_},{})}function Yl(){const n=je()!==void 0?je().split(","):void 0;for(const u of globalThis.altchaPlugins)(!n||n.includes(u.pluginName))&&Le.push(new u({el:c(G),clarify:ht,dispatch:dt,getConfiguration:Yn,getFloatingAnchor:Wn,getState:Zn,log:N,reset:_t,solve:Bn,setState:Be,setFloatingAnchor:Jn,verify:De}))}function N(...n){(s()||n.some(u=>u instanceof Error))&&console[n[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${Z()}]`,...n)}function Wl(){[p.UNVERIFIED,p.ERROR,p.EXPIRED].includes(c(T))?B()!==!1&&(w==null?void 0:w.reportValidity())===!1?O(ze,!1):V()?ht():De():O(ze,!0)}function Ln(n){const u=n.target;h()&&u&&!c(G).contains(u)&&(c(T)===p.VERIFIED&&m()===!1||c(T)===p.VERIFIED&&m()==="focus"&&!(w!=null&&w.matches(":focus-within"))||r()==="off"&&c(T)===p.UNVERIFIED)&&Gn()}function Dn(){h()&&c(T)!==p.UNVERIFIED&&gt()}function Zl(n){for(const u of Le)typeof u.onErrorChange=="function"&&u.onErrorChange(c(et))}function Pn(n){c(T)===p.UNVERIFIED?De():h()&&m()==="focus"&&c(T)===p.VERIFIED&&ir()}function Fn(n){w&&r()==="onsubmit"?c(T)===p.UNVERIFIED?(n.preventDefault(),n.stopPropagation(),De().then(()=>{w==null||w.requestSubmit()})):c(T)!==p.VERIFIED&&(n.preventDefault(),n.stopPropagation(),c(T)===p.VERIFYING&&Mn()):w&&h()&&r()==="off"&&c(T)===p.UNVERIFIED&&(n.preventDefault(),n.stopPropagation(),ir())}function On(){_t()}function Mn(){c(T)===p.VERIFYING&&c(fe).waitAlert&&alert(c(fe).waitAlert)}function Gl(n){for(const u of Le)typeof u.onStateChange=="function"&&u.onStateChange(c(T));h()&&c(T)!==p.UNVERIFIED&&requestAnimationFrame(()=>{gt()}),O(ze,c(T)===p.VERIFIED)}function Un(){h()&&gt()}function Vn(n){return JSON.parse(n)}async function Jl(n){if(!Ne())throw new Error("Attribute verifyurl not set.");N("requesting server verification from",Ne());const u={payload:n};if(B()!==!1){const{blockedCountries:L,classifier:$,disableRules:y,email:k,expectedLanguages:$e,expectedCountries:ar,fields:wt,ipAddress:pt,text:so,timeZone:ii}=Bl();u.blockedCountries=L,u.classifier=$,u.disableRules=y,u.email=k===!1?void 0:ql(k),u.expectedCountries=ar,u.expectedLanguages=$e||(An?[An]:void 0),u.fields=wt===!1?void 0:Hl(wt),u.ipAddress=pt===!1?void 0:pt||"auto",u.text=so,u.timeZone=ii===!1?void 0:ii||xl()}const _=await Nn()(Ne(),{body:JSON.stringify(u),headers:{"content-type":"application/json"},method:"POST"});if(!_||!(_ instanceof Response))throw new Error("Fetch function did not return a response.");if(_.status!==200)throw new Error(`Server responded with ${_.status}.`);const b=await _.json();if(b!=null&&b.payload&&O(qe,b.payload,!0),dt("serververification",b),i()&&b.classification==="BAD")throw new Error("SpamFilter returned negative classification.")}function nr(n){N("expire",n),we&&(clearTimeout(we),we=null),n<1?Tn():we=setTimeout(Tn,n)}function jn(n){N("floating",n),h()!==n&&(c(G).style.left="",c(G).style.top=""),h(n===!0||n===""?"auto":n===!1||n==="false"?void 0:h()),h()?(r()||r("onsubmit"),document.addEventListener("scroll",Dn),document.addEventListener("click",Ln),window.addEventListener("resize",Un)):r()==="onsubmit"&&r(void 0)}function qn(n){if(!n.algorithm)throw new Error("Invalid challenge. Property algorithm is missing.");if(n.signature===void 0)throw new Error("Invalid challenge. Property signature is missing.");if(!kn.includes(n.algorithm.toUpperCase()))throw new Error(`Unknown algorithm value. Allowed values: ${kn.join(", ")}`);if(!n.challenge||n.challenge.length<40)throw new Error("Challenge is too short. Min. 40 chars.");if(!n.salt||n.salt.length<10)throw new Error("Salt is too short. Min. 10 chars.")}async function Bn(n){let u=null;if("Worker"in window){try{u=await Kl(n,n.maxNumber||n.maxnumber||q())}catch(_){N(_)}if((u==null?void 0:u.number)!==void 0||"obfuscated"in n)return{data:n,solution:u}}if("obfuscated"in n){const _=await Il(n.obfuscated,n.key,n.maxNumber||n.maxnumber);return{data:n,solution:await _.promise}}return{data:n,solution:await kl(n.challenge,n.salt,n.algorithm,n.maxNumber||n.maxnumber||q()).promise}}async function Kl(n,u=typeof se()=="number"?se():n.maxNumber||n.maxnumber||q(),_=Math.ceil(Xe())){const b=[];_=Math.min(16,u,Math.max(1,_));for(let y=0;y<_;y++)b.push(altchaCreateWorker(ct()));const L=Math.ceil(u/_),$=await Promise.all(b.map((y,k)=>{const $e=k*L;return new Promise(ar=>{y.addEventListener("message",wt=>{if(wt.data)for(const pt of b)pt!==y&&pt.postMessage({type:"abort"});ar(wt.data)}),y.postMessage({payload:n,max:$e+L,start:$e,type:"work"})})}));for(const y of b)y.terminate();return $.find(y=>!!y)||null}async function ht(){if(!V()){Be(p.ERROR);return}const n=Le.find(u=>u.constructor.pluginName==="obfuscation");if(!n||!("clarify"in n)){Be(p.ERROR),N("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.");return}if("clarify"in n&&typeof n.clarify=="function")return n.clarify()}function Hn(n){n.obfuscated!==void 0&&V(n.obfuscated),n.auto!==void 0&&(r(n.auto),r()==="onload"&&(V()?ht():De())),n.blockspam!==void 0&&i(!!n.blockspam),n.customfetch!==void 0&&a(n.customfetch),n.floatinganchor!==void 0&&v(n.floatinganchor),n.delay!==void 0&&f(n.delay),n.floatingoffset!==void 0&&g(n.floatingoffset),n.floating!==void 0&&jn(n.floating),n.expire!==void 0&&(nr(n.expire),d(n.expire)),n.challenge&&(o(typeof n.challenge=="string"?n.challenge:JSON.stringify(n.challenge)),qn(c(rr))),n.challengeurl!==void 0&&l(n.challengeurl),n.debug!==void 0&&s(!!n.debug),n.hidefooter!==void 0&&A(!!n.hidefooter),n.hidelogo!==void 0&&D(!!n.hidelogo),n.maxnumber!==void 0&&q(+n.maxnumber),n.mockerror!==void 0&&z(!!n.mockerror),n.name!==void 0&&Z(n.name),n.refetchonexpire!==void 0&&M(!!n.refetchonexpire),n.spamfilter!==void 0&&B(typeof n.spamfilter=="object"?n.spamfilter:!!n.spamfilter),n.strings&&Ee(typeof n.strings=="string"?n.strings:JSON.stringify(n.strings)),n.test!==void 0&&se(typeof n.test=="number"?n.test:!!n.test),n.verifyurl!==void 0&&Ne(n.verifyurl),n.workers!==void 0&&Xe(+n.workers),n.workerurl!==void 0&&ct(n.workerurl)}function Yn(){return{auto:r(),blockspam:i(),challengeurl:l(),debug:s(),delay:f(),expire:d(),floating:h(),floatinganchor:v(),floatingoffset:g(),hidefooter:A(),hidelogo:D(),name:Z(),maxnumber:q(),mockerror:z(),obfuscated:V(),refetchonexpire:M(),spamfilter:B(),strings:c(fe),test:se(),verifyurl:Ne(),workers:Xe(),workerurl:ct()}}function Wn(){return Qe}function Xl(n){return Le.find(u=>u.constructor.pluginName===n)}function Zn(){return c(T)}function Gn(){c(G).style.display="none"}function gt(n=20){if(c(G))if(Qe||(Qe=(v()?document.querySelector(v()):w==null?void 0:w.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])'))||w),Qe){const u=parseInt(g(),10)||12,_=Qe.getBoundingClientRect(),b=c(G).getBoundingClientRect(),L=document.documentElement.clientHeight,$=document.documentElement.clientWidth,y=h()==="auto"?_.bottom+b.height+u+n>L:h()==="top",k=Math.max(n,Math.min($-n-b.width,_.left+_.width/2-b.width/2));if(y?c(G).style.top=`${_.top-(b.height+u)}px`:c(G).style.top=`${_.bottom+u}px`,c(G).style.left=`${k}px`,c(G).setAttribute("data-floating",y?"top":"bottom"),c(vt)){const $e=c(vt).getBoundingClientRect();c(vt).style.left=_.left-k+_.width/2-$e.width/2+"px"}}else N("unable to find floating anchor element")}function _t(n=p.UNVERIFIED,u=null){we&&(clearTimeout(we),we=null),O(ze,!1),O(qe,null),Be(n,u)}function Jn(n){Qe=n}function Be(n,u=null){O(T,n,!0),O(et,u,!0),dt("statechange",{payload:c(qe),state:c(T)})}function ir(){c(G).style.display="block",h()&&gt()}async function De(){return _t(p.VERIFYING),await new Promise(n=>setTimeout(n,f()||0)),jl().then(n=>(qn(n),N("challenge",n),Bn(n))).then(({data:n,solution:u})=>{if(N("solution",u),!u||n&&"challenge"in n&&!("clearText"in u))if((u==null?void 0:u.number)!==void 0&&"challenge"in n){if(Ne())return Jl(Sn(n,u));O(qe,Sn(n,u),!0),N("payload",c(qe))}else throw N("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."),new Error("Unexpected result returned.")}).then(()=>{Be(p.VERIFIED),N("verified"),Ki().then(()=>{dt("verified",{payload:c(qe)})})}).catch(n=>{N(n),Be(p.ERROR,n.message)})}var Kn=Ul(),Xn=xr(Kn);sl(Xn,t,"default",{});var mt=ye(Xn,2),lr=re(mt),zn=re(lr);{var zl=n=>{var u=Rl();oe(n,u)};Te(zn,n=>{c(T)===p.VERIFYING&&n(zl)})}var Ot=ye(zn,2);let Qn;var tt=re(Ot);dn(tt),tt.__change=Wl,te(Ot);var or=ye(Ot,2),Ql=re(or);{var eo=n=>{var u=Sl(),_=xr(u),b=re(_);Ke(b,()=>c(fe).verified),te(_);var L=ye(_,2);dn(L),Ue(()=>{de(L,"name",Z()),vl(L,c(qe))}),oe(n,u)},to=(n,u)=>{{var _=L=>{var $=Tl(),y=re($);Ke(y,()=>c(fe).verifying),te($),oe(L,$)},b=L=>{var $=Nl(),y=re($);Ke(y,()=>c(fe).label),te($),Ue(()=>de($,"for",c(Rn))),oe(L,$)};Te(n,L=>{c(T)===p.VERIFYING?L(_):L(b,!1)},u)}};Te(Ql,n=>{c(T)===p.VERIFIED?n(eo):n(to,!1)})}te(or);var ro=ye(or,2);{var no=n=>{var u=Ll(),_=re(u);de(_,"href",Cn),te(u),Ue(()=>de(_,"aria-label",c(fe).ariaLinkLabel)),oe(n,u)};Te(ro,n=>{(D()!==!0||c(tr))&&n(no)})}te(lr);var ei=ye(lr,2);{var io=n=>{var u=Fl(),_=ye(re(u),2);{var b=$=>{var y=Dl(),k=re(y);Ke(k,()=>c(fe).expired),te(y),Ue(()=>de(y,"title",c(et))),oe($,y)},L=$=>{var y=Pl(),k=re(y);Ke(k,()=>c(fe).error),te(y),Ue(()=>de(y,"title",c(et))),oe($,y)};Te(_,$=>{c(T)===p.EXPIRED?$(b):$(L,!1)})}te(u),oe(n,u)};Te(ei,n=>{(c(et)||c(T)===p.EXPIRED)&&n(io)})}var ti=ye(ei,2);{var lo=n=>{var u=Ol(),_=re(u),b=re(_);Ke(b,()=>c(fe).footer),te(_),te(u),oe(n,u)};Te(ti,n=>{c(fe).footer&&(A()!==!0||c(tr))&&n(lo)})}var oo=ye(ti,2);{var ao=n=>{var u=Ml();_n(u,_=>O(vt,_),()=>c(vt)),oe(n,u)};Te(oo,n=>{h()&&n(ao)})}return te(mt),_n(mt,n=>O(G,n),()=>c(G)),Ue(n=>{de(mt,"data-state",c(T)),de(mt,"data-floating",h()),Qn=ul(Ot,1,"altcha-checkbox",null,Qn,n),de(tt,"id",c(Rn)),tt.required=r()!=="onsubmit"&&(!h()||r()!=="off")},[()=>({"altcha-hidden":c(T)===p.VERIFYING})]),nl("invalid",tt,Mn),gl(tt,()=>c(ze),n=>O(ze,n)),oe(e,Kn),rn({clarify:ht,configure:Hn,getConfiguration:Yn,getFloatingAnchor:Wn,getPlugin:Xl,getState:Zn,hide:Gn,repositionFloating:gt,reset:_t,setFloatingAnchor:Jn,setState:Be,show:ir,verify:De,get auto(){return r()},set auto(n=void 0){r(n),E()},get blockspam(){return i()},set blockspam(n=void 0){i(n),E()},get challengeurl(){return l()},set challengeurl(n=void 0){l(n),E()},get challengejson(){return o()},set challengejson(n=void 0){o(n),E()},get customfetch(){return a()},set customfetch(n=void 0){a(n),E()},get debug(){return s()},set debug(n=!1){s(n),E()},get delay(){return f()},set delay(n=0){f(n),E()},get expire(){return d()},set expire(n=void 0){d(n),E()},get floating(){return h()},set floating(n=void 0){h(n),E()},get floatinganchor(){return v()},set floatinganchor(n=void 0){v(n),E()},get floatingoffset(){return g()},set floatingoffset(n=void 0){g(n),E()},get floatingpersist(){return m()},set floatingpersist(n=!1){m(n),E()},get hidefooter(){return A()},set hidefooter(n=!1){A(n),E()},get hidelogo(){return D()},set hidelogo(n=!1){D(n),E()},get id(){return U()},set id(n=void 0){U(n),E()},get name(){return Z()},set name(n="altcha"){Z(n),E()},get maxnumber(){return q()},set maxnumber(n=1e6){q(n),E()},get mockerror(){return z()},set mockerror(n=!1){z(n),E()},get obfuscated(){return V()},set obfuscated(n=void 0){V(n),E()},get plugins(){return je()},set plugins(n=void 0){je(n),E()},get refetchonexpire(){return M()},set refetchonexpire(n=!0){M(n),E()},get spamfilter(){return B()},set spamfilter(n=!1){B(n),E()},get strings(){return Ee()},set strings(n=void 0){Ee(n),E()},get test(){return se()},set test(n=!1){se(n),E()},get verifyurl(){return Ne()},set verifyurl(n=void 0){Ne(n),E()},get workers(){return Xe()},set workers(n=Math.min(16,navigator.hardwareConcurrency||8)){Xe(n),E()},get workerurl(){return ct()},set workerurl(n=void 0){ct(n),E()}})}il(["change"]),customElements.define("altcha-widget",bl(En,{blockspam:{type:"Boolean"},debug:{type:"Boolean"},delay:{type:"Number"},expire:{type:"Number"},floatingoffset:{type:"Number"},hidefooter:{type:"Boolean"},hidelogo:{type:"Boolean"},maxnumber:{type:"Number"},mockerror:{type:"Boolean"},refetchonexpire:{type:"Boolean"},test:{type:"Boolean"},workers:{type:"Number"},auto:{},challengeurl:{},challengejson:{},customfetch:{},floating:{},floatinganchor:{},floatingpersist:{},id:{},name:{},obfuscated:{},plugins:{},spamfilter:{},strings:{},verifyurl:{},workerurl:{}},["default"],["clarify","configure","getConfiguration","getFloatingAnchor","getPlugin","getState","hide","repositionFloating","reset","setFloatingAnchor","setState","show","verify"],!1)),globalThis.altchaCreateWorker=e=>new Worker(new URL(e||"./worker.js",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:C&&C.tagName.toUpperCase()==="SCRIPT"&&C.src||new URL("altcha.umd.cjs",document.baseURI).href)),globalThis.altchaPlugins=globalThis.altchaPlugins||[],x.Altcha=En,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
1
+ (function(x,C){typeof exports=="object"&&typeof module<"u"?C(exports):typeof define=="function"&&define.amd?define(["exports"],C):(x=typeof globalThis<"u"?globalThis:x||self,C(x.altcha={}))})(this,function(x){"use strict";var uo=Object.defineProperty;var li=x=>{throw TypeError(x)};var co=(x,C,j)=>C in x?uo(x,C,{enumerable:!0,configurable:!0,writable:!0,value:j}):x[C]=j;var ve=(x,C,j)=>co(x,typeof C!="symbol"?C+"":C,j),oi=(x,C,j)=>C.has(x)||li("Cannot "+j);var Q=(x,C,j)=>(oi(x,C,"read from private field"),j?j.call(x):C.get(x)),sr=(x,C,j)=>C.has(x)?li("Cannot add the same private member more than once"):C instanceof WeakSet?C.add(x):C.set(x,j),fr=(x,C,j,yt)=>(oi(x,C,"write to private field"),yt?yt.call(x,j):C.set(x,j),j);var $n,be,ae;var C=typeof document<"u"?document.currentScript:null;const j="5";typeof window<"u"&&(($n=window.__svelte??(window.__svelte={})).v??($n.v=new Set)).add(j);const yt=1,ai=4,si=8,fi=16,ui=1,ci=2,Mt="[",ur="[!",cr="]",He={},J=Symbol(),di="http://www.w3.org/1999/xhtml",dr=!1;function vr(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}var hr=Array.isArray,vi=Array.prototype.indexOf,hi=Array.from,bt=Object.keys,Et=Object.defineProperty,Pe=Object.getOwnPropertyDescriptor,gi=Object.getOwnPropertyDescriptors,_i=Object.prototype,mi=Array.prototype,gr=Object.getPrototypeOf,_r=Object.isExtensible;function mr(e){for(var t=0;t<e.length;t++)e[t]()}const ue=2,wr=4,$t=8,Ut=16,pe=32,Fe=64,kt=128,ee=256,xt=512,K=1024,he=2048,Oe=4096,Ye=8192,Ct=16384,wi=32768,Vt=65536,pi=1<<19,pr=1<<20,jt=1<<21,rt=Symbol("$state"),yr=Symbol("legacy props"),yi=Symbol("");function bi(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Ei(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function $i(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ki(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function xi(){throw new Error("https://svelte.dev/e/hydration_failed")}function Ci(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ai(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Ii(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Ri(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function At(e){console.warn("https://svelte.dev/e/hydration_mismatch")}let P=!1;function We(e){P=e}let F;function ke(e){if(e===null)throw At(),He;return F=e}function Ze(){return ke(Ce(F))}function te(e){if(P){if(Ce(F)!==null)throw At(),He;F=e}}function Si(){for(var e=0,t=F;;){if(t.nodeType===8){var r=t.data;if(r===cr){if(e===0)return t;e-=1}else(r===Mt||r===ur)&&(e+=1)}var i=Ce(t);t.remove(),t=i}}let Ti=!1;function xe(e){if(typeof e!="object"||e===null||rt in e)return e;const t=gr(e);if(t!==_i&&t!==mi)return e;var r=new Map,i=hr(e),l=X(0),o=I,a=s=>{var f=I;_e(o);var d=s();return _e(f),d};return i&&r.set("length",X(e.length)),new Proxy(e,{defineProperty(s,f,d){(!("value"in d)||d.configurable===!1||d.enumerable===!1||d.writable===!1)&&Ai();var h=r.get(f);return h===void 0?(h=a(()=>X(d.value)),r.set(f,h)):O(h,a(()=>xe(d.value))),!0},deleteProperty(s,f){var d=r.get(f);if(d===void 0)f in s&&(r.set(f,a(()=>X(J))),qt(l));else{if(i&&typeof f=="string"){var h=r.get("length"),v=Number(f);Number.isInteger(v)&&v<h.v&&O(h,v)}O(d,J),qt(l)}return!0},get(s,f,d){var m;if(f===rt)return e;var h=r.get(f),v=f in s;if(h===void 0&&(!v||(m=Pe(s,f))!=null&&m.writable)&&(h=a(()=>X(xe(v?s[f]:J))),r.set(f,h)),h!==void 0){var g=c(h);return g===J?void 0:g}return Reflect.get(s,f,d)},getOwnPropertyDescriptor(s,f){var d=Reflect.getOwnPropertyDescriptor(s,f);if(d&&"value"in d){var h=r.get(f);h&&(d.value=c(h))}else if(d===void 0){var v=r.get(f),g=v==null?void 0:v.v;if(v!==void 0&&g!==J)return{enumerable:!0,configurable:!0,value:g,writable:!0}}return d},has(s,f){var g;if(f===rt)return!0;var d=r.get(f),h=d!==void 0&&d.v!==J||Reflect.has(s,f);if(d!==void 0||R!==null&&(!h||(g=Pe(s,f))!=null&&g.writable)){d===void 0&&(d=a(()=>X(h?xe(s[f]):J)),r.set(f,d));var v=c(d);if(v===J)return!1}return h},set(s,f,d,h){var q;var v=r.get(f),g=f in s;if(i&&f==="length")for(var m=d;m<v.v;m+=1){var A=r.get(m+"");A!==void 0?O(A,J):m in s&&(A=a(()=>X(J)),r.set(m+"",A))}v===void 0?(!g||(q=Pe(s,f))!=null&&q.writable)&&(v=a(()=>X(void 0)),O(v,a(()=>xe(d))),r.set(f,v)):(g=v.v!==J,O(v,a(()=>xe(d))));var D=Reflect.getOwnPropertyDescriptor(s,f);if(D!=null&&D.set&&D.set.call(h,d),!g){if(i&&typeof f=="string"){var U=r.get("length"),Z=Number(f);Number.isInteger(Z)&&Z>=U.v&&O(U,Z+1)}qt(l)}return!0},ownKeys(s){c(l);var f=Reflect.ownKeys(s).filter(v=>{var g=r.get(v);return g===void 0||g.v!==J});for(var[d,h]of r)h.v!==J&&!(d in s)&&f.push(d);return f},setPrototypeOf(){Ii()}})}function qt(e,t=1){O(e,e.v+t)}var br,Er,$r,kr;function Bt(){if(br===void 0){br=window,Er=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,r=Text.prototype;$r=Pe(t,"firstChild").get,kr=Pe(t,"nextSibling").get,_r(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),_r(r)&&(r.__t=void 0)}}function Ht(e=""){return document.createTextNode(e)}function ie(e){return $r.call(e)}function Ce(e){return kr.call(e)}function re(e,t){if(!P)return ie(e);var r=ie(F);return r===null&&(r=F.appendChild(Ht())),ke(r),r}function xr(e,t){if(!P){var r=ie(e);return r instanceof Comment&&r.data===""?Ce(r):r}return F}function ye(e,t=1,r=!1){let i=P?F:e;for(var l;t--;)l=i,i=Ce(i);if(!P)return i;var o=i==null?void 0:i.nodeType;if(r&&o!==3){var a=Ht();return i===null?l==null||l.after(a):i.before(a),ke(a),a}return ke(i),i}function Ni(e){e.textContent=""}function Cr(e){return e===this.v}function Li(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Ar(e){return!Li(e,this.v)}function Yt(e){var t=ue|he,r=I!==null&&(I.f&ue)!==0?I:null;return R===null||r!==null&&(r.f&ee)!==0?t|=ee:R.f|=pr,{ctx:W,deps:null,effects:null,equals:Cr,f:t,fn:e,reactions:null,rv:0,v:null,wv:0,parent:r??R}}function nt(e){const t=Yt(e);return Hr(t),t}function Ir(e){var t=e.effects;if(t!==null){e.effects=null;for(var r=0;r<t.length;r+=1)Ae(t[r])}}function Di(e){for(var t=e.parent;t!==null;){if((t.f&ue)===0)return t;t=t.parent}return null}function Rr(e){var t,r=R;Ie(Di(e));try{Ir(e),t=Jr(e)}finally{Ie(r)}return t}function Sr(e){var t=Rr(e),r=(Re||(e.f&ee)!==0)&&e.deps!==null?Oe:K;ce(e,r),e.equals(t)||(e.v=t,e.wv=Wr())}function Pi(e){R===null&&I===null&&$i(),I!==null&&(I.f&ee)!==0&&R===null&&Ei(),ot&&bi()}function Fi(e,t){var r=t.last;r===null?t.last=t.first=e:(r.next=e,e.prev=r,t.last=e)}function Me(e,t,r,i=!0){var l=R,o={ctx:W,deps:null,nodes_start:null,nodes_end:null,f:e|he,first:null,fn:t,last:null,next:null,parent:l,prev:null,teardown:null,transitions:null,wv:0};if(r)try{Xt(o),o.f|=wi}catch(f){throw Ae(o),f}else t!==null&&Dt(o);var a=r&&o.deps===null&&o.first===null&&o.nodes_start===null&&o.teardown===null&&(o.f&(pr|kt))===0;if(!a&&i&&(l!==null&&Fi(o,l),I!==null&&(I.f&ue)!==0)){var s=I;(s.effects??(s.effects=[])).push(o)}return o}function Tr(e){const t=Me($t,null,!1);return ce(t,K),t.teardown=e,t}function Wt(e){Pi();var t=R!==null&&(R.f&pe)!==0&&W!==null&&!W.m;if(t){var r=W;(r.e??(r.e=[])).push({fn:e,effect:R,reaction:I})}else{var i=Zt(e);return i}}function Oi(e){const t=Me(Fe,e,!0);return()=>{Ae(t)}}function Mi(e){const t=Me(Fe,e,!0);return(r={})=>new Promise(i=>{r.outro?Kt(t,()=>{Ae(t),i(void 0)}):(Ae(t),i(void 0))})}function Zt(e){return Me(wr,e,!1)}function Gt(e){return Me($t,e,!0)}function Ue(e,t=[],r=Yt){const i=t.map(r);return Nr(()=>e(...i.map(c)))}function Nr(e,t=0){return Me($t|Ut|t,e,!0)}function Jt(e,t=!0){return Me($t|pe,e,!0,t)}function Lr(e){var t=e.teardown;if(t!==null){const r=ot,i=I;Br(!0),_e(null);try{t.call(null)}finally{Br(r),_e(i)}}}function Dr(e,t=!1){var r=e.first;for(e.first=e.last=null;r!==null;){var i=r.next;(r.f&Fe)!==0?r.parent=null:Ae(r,t),r=i}}function Ui(e){for(var t=e.first;t!==null;){var r=t.next;(t.f&pe)===0&&Ae(t),t=r}}function Ae(e,t=!0){var r=!1;(t||(e.f&pi)!==0)&&e.nodes_start!==null&&(Pr(e.nodes_start,e.nodes_end),r=!0),Dr(e,t&&!r),Lt(e,0),ce(e,Ct);var i=e.transitions;if(i!==null)for(const o of i)o.stop();Lr(e);var l=e.parent;l!==null&&l.first!==null&&Fr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=null}function Pr(e,t){for(;e!==null;){var r=e===t?null:Ce(e);e.remove(),e=r}}function Fr(e){var t=e.parent,r=e.prev,i=e.next;r!==null&&(r.next=i),i!==null&&(i.prev=r),t!==null&&(t.first===e&&(t.first=i),t.last===e&&(t.last=r))}function Kt(e,t){var r=[];Or(e,r,!0),Vi(r,()=>{Ae(e),t&&t()})}function Vi(e,t){var r=e.length;if(r>0){var i=()=>--r||t();for(var l of e)l.out(i)}else t()}function Or(e,t,r){if((e.f&Ye)===0){if(e.f^=Ye,e.transitions!==null)for(const a of e.transitions)(a.is_global||r)&&t.push(a);for(var i=e.first;i!==null;){var l=i.next,o=(i.f&Vt)!==0||(i.f&pe)!==0;Or(i,t,o?r:!1),i=l}}}function Mr(e){Ur(e,!0)}function Ur(e,t){if((e.f&Ye)!==0){e.f^=Ye,(e.f&K)===0&&(e.f^=K),st(e)&&(ce(e,he),Dt(e));for(var r=e.first;r!==null;){var i=r.next,l=(r.f&Vt)!==0||(r.f&pe)!==0;Ur(r,l?t:!1),r=i}if(e.transitions!==null)for(const o of e.transitions)(o.is_global||t)&&o.in()}}const ji=typeof requestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback;let it=[],lt=[];function Vr(){var e=it;it=[],mr(e)}function jr(){var e=lt;lt=[],mr(e)}function qr(e){it.length===0&&queueMicrotask(Vr),it.push(e)}function qi(e){lt.length===0&&ji(jr),lt.push(e)}function Bi(){it.length>0&&Vr(),lt.length>0&&jr()}let It=!1,Rt=!1,St=null,Ve=!1,ot=!1;function Br(e){ot=e}let at=[],vo=[],I=null,ge=!1;function _e(e){I=e}let R=null;function Ie(e){R=e}let H=null;function Hr(e){I!==null&&I.f&jt&&(H===null?H=[e]:H.push(e))}let Y=null,ne=0,le=null;function Hi(e){le=e}let Yr=1,Tt=0,Re=!1;function Wr(){return++Yr}function st(e){var v;var t=e.f;if((t&he)!==0)return!0;if((t&Oe)!==0){var r=e.deps,i=(t&ee)!==0;if(r!==null){var l,o,a=(t&xt)!==0,s=i&&R!==null&&!Re,f=r.length;if(a||s){var d=e,h=d.parent;for(l=0;l<f;l++)o=r[l],(a||!((v=o==null?void 0:o.reactions)!=null&&v.includes(d)))&&(o.reactions??(o.reactions=[])).push(d);a&&(d.f^=xt),s&&h!==null&&(h.f&ee)===0&&(d.f^=ee)}for(l=0;l<f;l++)if(o=r[l],st(o)&&Sr(o),o.wv>e.wv)return!0}(!i||R!==null&&!Re)&&ce(e,K)}return!1}function Yi(e,t){for(var r=t;r!==null;){if((r.f&kt)!==0)try{r.fn(e);return}catch{r.f^=kt}r=r.parent}throw It=!1,e}function Zr(e){return(e.f&Ct)===0&&(e.parent===null||(e.parent.f&kt)===0)}function Nt(e,t,r,i){if(It){if(r===null&&(It=!1),Zr(t))throw e;return}if(r!==null&&(It=!0),Yi(e,t),Zr(t))throw e}function Gr(e,t,r=!0){var i=e.reactions;if(i!==null)for(var l=0;l<i.length;l++){var o=i[l];H!=null&&H.includes(e)||((o.f&ue)!==0?Gr(o,t,!1):t===o&&(r?ce(o,he):(o.f&K)!==0&&ce(o,Oe),Dt(o)))}}function Jr(e){var m;var t=Y,r=ne,i=le,l=I,o=Re,a=H,s=W,f=ge,d=e.f;Y=null,ne=0,le=null,Re=(d&ee)!==0&&(ge||!Ve||I===null),I=(d&(pe|Fe))===0?e:null,H=null,en(e.ctx),ge=!1,Tt++,e.f|=jt;try{var h=(0,e.fn)(),v=e.deps;if(Y!==null){var g;if(Lt(e,ne),v!==null&&ne>0)for(v.length=ne+Y.length,g=0;g<Y.length;g++)v[ne+g]=Y[g];else e.deps=v=Y;if(!Re)for(g=ne;g<v.length;g++)((m=v[g]).reactions??(m.reactions=[])).push(e)}else v!==null&&ne<v.length&&(Lt(e,ne),v.length=ne);if(nn()&&le!==null&&!ge&&v!==null&&(e.f&(ue|Oe|he))===0)for(g=0;g<le.length;g++)Gr(le[g],e);return l!==null&&l!==e&&(Tt++,le!==null&&(i===null?i=le:i.push(...le))),h}finally{Y=t,ne=r,le=i,I=l,Re=o,H=a,en(s),ge=f,e.f^=jt}}function Wi(e,t){let r=t.reactions;if(r!==null){var i=vi.call(r,e);if(i!==-1){var l=r.length-1;l===0?r=t.reactions=null:(r[i]=r[l],r.pop())}}r===null&&(t.f&ue)!==0&&(Y===null||!Y.includes(t))&&(ce(t,Oe),(t.f&(ee|xt))===0&&(t.f^=xt),Ir(t),Lt(t,0))}function Lt(e,t){var r=e.deps;if(r!==null)for(var i=t;i<r.length;i++)Wi(e,r[i])}function Xt(e){var t=e.f;if((t&Ct)===0){ce(e,K);var r=R,i=W,l=Ve;R=e,Ve=!0;try{(t&Ut)!==0?Ui(e):Dr(e),Lr(e);var o=Jr(e);e.teardown=typeof o=="function"?o:null,e.wv=Yr;var a=e.deps,s;dr&&Ti&&e.f&he}catch(f){Nt(f,e,r,i||e.ctx)}finally{Ve=l,R=r}}}function Zi(){try{ki()}catch(e){if(St!==null)Nt(e,St,null);else throw e}}function Kr(){var e=Ve;try{var t=0;for(Ve=!0;at.length>0;){t++>1e3&&Zi();var r=at,i=r.length;at=[];for(var l=0;l<i;l++){var o=Ji(r[l]);Gi(o)}ft.clear()}}finally{Rt=!1,Ve=e,St=null}}function Gi(e){var t=e.length;if(t!==0)for(var r=0;r<t;r++){var i=e[r];if((i.f&(Ct|Ye))===0)try{st(i)&&(Xt(i),i.deps===null&&i.first===null&&i.nodes_start===null&&(i.teardown===null?Fr(i):i.fn=null))}catch(l){Nt(l,i,null,i.ctx)}}}function Dt(e){Rt||(Rt=!0,queueMicrotask(Kr));for(var t=St=e;t.parent!==null;){t=t.parent;var r=t.f;if((r&(Fe|pe))!==0){if((r&K)===0)return;t.f^=K}}at.push(t)}function Ji(e){for(var t=[],r=e;r!==null;){var i=r.f,l=(i&(pe|Fe))!==0,o=l&&(i&K)!==0;if(!o&&(i&Ye)===0){if((i&wr)!==0)t.push(r);else if(l)r.f^=K;else try{st(r)&&Xt(r)}catch(f){Nt(f,r,null,r.ctx)}var a=r.first;if(a!==null){r=a;continue}}var s=r.parent;for(r=r.next;r===null&&s!==null;)r=s.next,s=s.parent}return t}function E(e){for(var t;;){if(Bi(),at.length===0)return t;Rt=!0,Kr()}}async function Ki(){await Promise.resolve(),E()}function c(e){var t=e.f,r=(t&ue)!==0;if(I!==null&&!ge){if(!(H!=null&&H.includes(e))){var i=I.deps;e.rv<Tt&&(e.rv=Tt,Y===null&&i!==null&&i[ne]===e?ne++:Y===null?Y=[e]:(!Re||!Y.includes(e))&&Y.push(e))}}else if(r&&e.deps===null&&e.effects===null){var l=e,o=l.parent;o!==null&&(o.f&ee)===0&&(l.f^=ee)}return r&&(l=e,st(l)&&Sr(l)),ot&&ft.has(e)?ft.get(e):e.v}function Ge(e){var t=ge;try{return ge=!0,e()}finally{ge=t}}const Xi=-7169;function ce(e,t){e.f=e.f&Xi|t}const ft=new Map;function Xr(e,t){var r={f:0,v:e,reactions:null,equals:Cr,rv:0,wv:0};return r}function X(e,t){const r=Xr(e);return Hr(r),r}function zr(e,t=!1){const r=Xr(e);return t||(r.equals=Ar),r}function O(e,t,r=!1){I!==null&&!ge&&nn()&&(I.f&(ue|Ut))!==0&&!(H!=null&&H.includes(e))&&Ri();let i=r?xe(t):t;return zi(e,i)}function zi(e,t){if(!e.equals(t)){var r=e.v;ot?ft.set(e,t):ft.set(e,r),e.v=t,(e.f&ue)!==0&&((e.f&he)!==0&&Rr(e),ce(e,(e.f&ee)===0?K:Oe)),e.wv=Wr(),Qr(e,he),R!==null&&(R.f&K)!==0&&(R.f&(pe|Fe))===0&&(le===null?Hi([e]):le.push(e))}return t}function Qr(e,t){var r=e.reactions;if(r!==null)for(var i=r.length,l=0;l<i;l++){var o=r[l],a=o.f;(a&he)===0&&(ce(o,t),(a&(K|ee))!==0&&((a&ue)!==0?Qr(o,Oe):Dt(o)))}}let W=null;function en(e){W=e}function tn(e,t=!1,r){var i=W={p:W,c:null,d:!1,e:null,m:!1,s:e,x:null,l:null};Tr(()=>{i.d=!0})}function rn(e){const t=W;if(t!==null){e!==void 0&&(t.x=e);const a=t.e;if(a!==null){var r=R,i=I;t.e=null;try{for(var l=0;l<a.length;l++){var o=a[l];Ie(o.effect),_e(o.reaction),Zt(o.fn)}}finally{Ie(r),_e(i)}}W=t.p,t.m=!0}return e||{}}function nn(){return!0}const Qi=["touchstart","touchmove"];function el(e){return Qi.includes(e)}let ln=!1;function on(){ln||(ln=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const r of e.target.elements)(t=r.__on_r)==null||t.call(r)})},{capture:!0}))}function an(e){var t=I,r=R;_e(null),Ie(null);try{return e()}finally{_e(t),Ie(r)}}function tl(e,t,r,i=r){e.addEventListener(t,()=>an(r));const l=e.__on_r;l?e.__on_r=()=>{l(),i(!0)}:e.__on_r=()=>i(!0),on()}const sn=new Set,zt=new Set;function rl(e,t,r,i={}){function l(o){if(i.capture||ut.call(t,o),!o.cancelBubble)return an(()=>r==null?void 0:r.call(this,o))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?qr(()=>{t.addEventListener(e,l,i)}):t.addEventListener(e,l,i),l}function nl(e,t,r,i,l){var o={capture:i,passive:l},a=rl(e,t,r,o);(t===document.body||t===window||t===document)&&Tr(()=>{t.removeEventListener(e,a,o)})}function il(e){for(var t=0;t<e.length;t++)sn.add(e[t]);for(var r of zt)r(e)}function ut(e){var q;var t=this,r=t.ownerDocument,i=e.type,l=((q=e.composedPath)==null?void 0:q.call(e))||[],o=l[0]||e.target,a=0,s=e.__root;if(s){var f=l.indexOf(s);if(f!==-1&&(t===document||t===window)){e.__root=t;return}var d=l.indexOf(t);if(d===-1)return;f<=d&&(a=f)}if(o=l[a]||e.target,o!==t){Et(e,"currentTarget",{configurable:!0,get(){return o||r}});var h=I,v=R;_e(null),Ie(null);try{for(var g,m=[];o!==null;){var A=o.assignedSlot||o.parentNode||o.host||null;try{var D=o["__"+i];if(D!=null&&(!o.disabled||e.target===o))if(hr(D)){var[U,...Z]=D;U.apply(o,[e,...Z])}else D.call(o,e)}catch(z){g?m.push(z):g=z}if(e.cancelBubble||A===t||A===null)break;o=A}if(g){for(let z of m)queueMicrotask(()=>{throw z});throw g}}finally{e.__root=t,delete e.currentTarget,_e(h),Ie(v)}}}function Qt(e){var t=document.createElement("template");return t.innerHTML=e,t.content}function Se(e,t){var r=R;r.nodes_start===null&&(r.nodes_start=e,r.nodes_end=t)}function me(e,t){var r=(t&ui)!==0,i=(t&ci)!==0,l,o=!e.startsWith("<!>");return()=>{if(P)return Se(F,null),F;l===void 0&&(l=Qt(o?e:"<!>"+e),r||(l=ie(l)));var a=i||Er?document.importNode(l,!0):l.cloneNode(!0);if(r){var s=ie(a),f=a.lastChild;Se(s,f)}else Se(a,a);return a}}function ll(e,t,r="svg"){var i=!e.startsWith("<!>"),l=`<${r}>${i?e:"<!>"+e}</${r}>`,o;return()=>{if(P)return Se(F,null),F;if(!o){var a=Qt(l),s=ie(a);o=ie(s)}var f=o.cloneNode(!0);return Se(f,f),f}}function oe(e,t){if(P){R.nodes_end=F,Ze();return}e!==null&&e.before(t)}function fn(e,t){return un(e,t)}function ol(e,t){Bt(),t.intro=t.intro??!1;const r=t.target,i=P,l=F;try{for(var o=ie(r);o&&(o.nodeType!==8||o.data!==Mt);)o=Ce(o);if(!o)throw He;We(!0),ke(o),Ze();const a=un(e,{...t,anchor:o});if(F===null||F.nodeType!==8||F.data!==cr)throw At(),He;return We(!1),a}catch(a){if(a===He)return t.recover===!1&&xi(),Bt(),Ni(r),We(!1),fn(e,t);throw a}finally{We(i),ke(l)}}const Je=new Map;function un(e,{target:t,anchor:r,props:i={},events:l,context:o,intro:a=!0}){Bt();var s=new Set,f=v=>{for(var g=0;g<v.length;g++){var m=v[g];if(!s.has(m)){s.add(m);var A=el(m);t.addEventListener(m,ut,{passive:A});var D=Je.get(m);D===void 0?(document.addEventListener(m,ut,{passive:A}),Je.set(m,1)):Je.set(m,D+1)}}};f(hi(sn)),zt.add(f);var d=void 0,h=Mi(()=>{var v=r??t.appendChild(Ht());return Jt(()=>{if(o){tn({});var g=W;g.c=o}l&&(i.$$events=l),P&&Se(v,null),d=e(v,i)||{},P&&(R.nodes_end=F),o&&rn()}),()=>{var A;for(var g of s){t.removeEventListener(g,ut);var m=Je.get(g);--m===0?(document.removeEventListener(g,ut),Je.delete(g)):Je.set(g,m)}zt.delete(f),v!==r&&((A=v.parentNode)==null||A.removeChild(v))}});return er.set(d,h),d}let er=new WeakMap;function al(e,t){const r=er.get(e);return r?(er.delete(e),r(t)):Promise.resolve()}function Te(e,t,[r,i]=[0,0]){P&&r===0&&Ze();var l=e,o=null,a=null,s=J,f=r>0?Vt:0,d=!1;const h=(g,m=!0)=>{d=!0,v(m,g)},v=(g,m)=>{if(s===(s=g))return;let A=!1;if(P&&i!==-1){if(r===0){const U=l.data;U===Mt?i=0:U===ur?i=1/0:(i=parseInt(U.substring(1)),i!==i&&(i=s?1/0:-1))}const D=i>r;!!s===D&&(l=Si(),ke(l),We(!1),A=!0,i=-1)}s?(o?Mr(o):m&&(o=Jt(()=>m(l))),a&&Kt(a,()=>{a=null})):(a?Mr(a):m&&(a=Jt(()=>m(l,[r+1,i]))),o&&Kt(o,()=>{o=null})),A&&We(!0)};Nr(()=>{d=!1,t(h),d||v(null,null)},f),P&&(l=F)}function Ke(e,t,r=!1,i=!1,l=!1){var o=e,a="";Ue(()=>{var s=R;if(a===(a=t()??"")){P&&Ze();return}if(s.nodes_start!==null&&(Pr(s.nodes_start,s.nodes_end),s.nodes_start=s.nodes_end=null),a!==""){if(P){F.data;for(var f=Ze(),d=f;f!==null&&(f.nodeType!==8||f.data!=="");)d=f,f=Ce(f);if(f===null)throw At(),He;Se(F,d),o=ke(f);return}var h=a+"";r?h=`<svg>${h}</svg>`:i&&(h=`<math>${h}</math>`);var v=Qt(h);if((r||i)&&(v=ie(v)),Se(ie(v),v.lastChild),r||i)for(;ie(v);)o.before(ie(v));else o.before(v)}})}function sl(e,t,r,i,l){var s;P&&Ze();var o=(s=t.$$slots)==null?void 0:s[r],a=!1;o===!0&&(o=t.children,a=!0),o===void 0||o(e,a?()=>i:i)}const cn=[...`
2
+ \r\f \v\uFEFF`];function fl(e,t,r){var i=""+e;if(r){for(var l in r)if(r[l])i=i?i+" "+l:l;else if(i.length)for(var o=l.length,a=0;(a=i.indexOf(l,a))>=0;){var s=a+o;(a===0||cn.includes(i[a-1]))&&(s===i.length||cn.includes(i[s]))?i=(a===0?"":i.substring(0,a))+i.substring(s+1):a=s}}return i===""?null:i}function ul(e,t,r,i,l,o){var a=e.__className;if(P||a!==r||a===void 0){var s=fl(r,i,o);(!P||s!==e.getAttribute("class"))&&(s==null?e.removeAttribute("class"):e.className=s),e.__className=r}else if(o&&l!==o)for(var f in o){var d=!!o[f];(l==null||d!==!!l[f])&&e.classList.toggle(f,d)}return o}const cl=Symbol("is custom element"),dl=Symbol("is html");function dn(e){if(P){var t=!1,r=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var i=e.value;de(e,"value",null),e.value=i}if(e.hasAttribute("checked")){var l=e.checked;de(e,"checked",null),e.checked=l}}};e.__on_r=r,qi(r),on()}}function vl(e,t){var r=vn(e);r.value===(r.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!=="PROGRESS")||(e.value=t??"")}function de(e,t,r,i){var l=vn(e);P&&(l[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")||l[t]!==(l[t]=r)&&(t==="loading"&&(e[yi]=r),r==null?e.removeAttribute(t):typeof r!="string"&&hl(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function vn(e){return e.__attributes??(e.__attributes={[cl]:e.nodeName.includes("-"),[dl]:e.namespaceURI===di})}var hn=new Map;function hl(e){var t=hn.get(e.nodeName);if(t)return t;hn.set(e.nodeName,t=[]);for(var r,i=e,l=Element.prototype;l!==i;){r=gi(i);for(var o in r)r[o].set&&t.push(o);i=gr(i)}return t}function gl(e,t,r=t){tl(e,"change",i=>{var l=i?e.defaultChecked:e.checked;r(l)}),(P&&e.defaultChecked!==e.checked||Ge(t)==null)&&r(e.checked),Gt(()=>{var i=t();e.checked=!!i})}function gn(e,t){return e===t||(e==null?void 0:e[rt])===t}function _n(e={},t,r,i){return Zt(()=>{var l,o;return Gt(()=>{l=o,o=[],Ge(()=>{e!==r(...o)&&(t(e,...o),l&&gn(r(...l),e)&&t(null,...l))})}),()=>{qr(()=>{o&&gn(r(...o),e)&&t(null,...o)})}}),e}function mn(e){W===null&&vr(),Wt(()=>{const t=Ge(e);if(typeof t=="function")return t})}function _l(e){W===null&&vr(),mn(()=>()=>Ge(e))}let Pt=!1;function ml(e){var t=Pt;try{return Pt=!1,[e(),Pt]}finally{Pt=t}}function wn(e){var t;return((t=e.ctx)==null?void 0:t.d)??!1}function S(e,t,r,i){var je;var l=(r&yt)!==0,o=!0,a=(r&si)!==0,s=(r&fi)!==0,f=!1,d;a?[d,f]=ml(()=>e[t]):d=e[t];var h=rt in e||yr in e,v=a&&(((je=Pe(e,t))==null?void 0:je.set)??(h&&t in e&&(M=>e[t]=M)))||void 0,g=i,m=!0,A=!1,D=()=>(A=!0,m&&(m=!1,s?g=Ge(i):g=i),g);d===void 0&&i!==void 0&&(v&&o&&Ci(),d=D(),v&&v(d));var U;if(U=()=>{var M=e[t];return M===void 0?D():(m=!0,A=!1,M)},(r&ai)===0)return U;if(v){var Z=e.$$legacy;return function(M,B){return arguments.length>0?((!B||Z||f)&&v(B?U():M),M):U()}}var q=!1,z=zr(d),V=Yt(()=>{var M=U(),B=c(z);return q?(q=!1,B):z.v=M});return a&&c(V),l||(V.equals=Ar),function(M,B){if(arguments.length>0){const Ee=B?c(V):a?xe(M):M;if(!V.equals(Ee)){if(q=!0,O(z,Ee),A&&g!==void 0&&(g=Ee),wn(V))return M;Ge(()=>c(V))}return M}return wn(V)?V.v:c(V)}}function wl(e){return new pl(e)}class pl{constructor(t){sr(this,be);sr(this,ae);var o;var r=new Map,i=(a,s)=>{var f=zr(s);return r.set(a,f),f};const l=new Proxy({...t.props||{},$$events:{}},{get(a,s){return c(r.get(s)??i(s,Reflect.get(a,s)))},has(a,s){return s===yr?!0:(c(r.get(s)??i(s,Reflect.get(a,s))),Reflect.has(a,s))},set(a,s,f){return O(r.get(s)??i(s,f),f),Reflect.set(a,s,f)}});fr(this,ae,(t.hydrate?ol:fn)(t.component,{target:t.target,anchor:t.anchor,props:l,context:t.context,intro:t.intro??!1,recover:t.recover})),(!((o=t==null?void 0:t.props)!=null&&o.$$host)||t.sync===!1)&&E(),fr(this,be,l.$$events);for(const a of Object.keys(Q(this,ae)))a==="$set"||a==="$destroy"||a==="$on"||Et(this,a,{get(){return Q(this,ae)[a]},set(s){Q(this,ae)[a]=s},enumerable:!0});Q(this,ae).$set=a=>{Object.assign(l,a)},Q(this,ae).$destroy=()=>{al(Q(this,ae))}}$set(t){Q(this,ae).$set(t)}$on(t,r){Q(this,be)[t]=Q(this,be)[t]||[];const i=(...l)=>r.call(this,...l);return Q(this,be)[t].push(i),()=>{Q(this,be)[t]=Q(this,be)[t].filter(l=>l!==i)}}$destroy(){Q(this,ae).$destroy()}}be=new WeakMap,ae=new WeakMap;let pn;typeof HTMLElement=="function"&&(pn=class extends HTMLElement{constructor(t,r,i){super();ve(this,"$$ctor");ve(this,"$$s");ve(this,"$$c");ve(this,"$$cn",!1);ve(this,"$$d",{});ve(this,"$$r",!1);ve(this,"$$p_d",{});ve(this,"$$l",{});ve(this,"$$l_u",new Map);ve(this,"$$me");this.$$ctor=t,this.$$s=r,i&&this.attachShadow({mode:"open"})}addEventListener(t,r,i){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(r),this.$$c){const l=this.$$c.$on(t,r);this.$$l_u.set(r,l)}super.addEventListener(t,r,i)}removeEventListener(t,r,i){if(super.removeEventListener(t,r,i),this.$$c){const l=this.$$l_u.get(r);l&&(l(),this.$$l_u.delete(r))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let t=function(l){return o=>{const a=document.createElement("slot");l!=="default"&&(a.name=l),oe(o,a)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const r={},i=yl(this);for(const l of this.$$s)l in i&&(l==="default"&&!this.$$d.children?(this.$$d.children=t(l),r.default=!0):r[l]=t(l));for(const l of this.attributes){const o=this.$$g_p(l.name);o in this.$$d||(this.$$d[o]=Ft(o,l.value,this.$$p_d,"toProp"))}for(const l in this.$$p_d)!(l in this.$$d)&&this[l]!==void 0&&(this.$$d[l]=this[l],delete this[l]);this.$$c=wl({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=Oi(()=>{Gt(()=>{var l;this.$$r=!0;for(const o of bt(this.$$c)){if(!((l=this.$$p_d[o])!=null&&l.reflect))continue;this.$$d[o]=this.$$c[o];const a=Ft(o,this.$$d[o],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[o].attribute||o):this.setAttribute(this.$$p_d[o].attribute||o,a)}this.$$r=!1})});for(const l in this.$$l)for(const o of this.$$l[l]){const a=this.$$c.$on(l,o);this.$$l_u.set(o,a)}this.$$l={}}}attributeChangedCallback(t,r,i){var l;this.$$r||(t=this.$$g_p(t),this.$$d[t]=Ft(t,i,this.$$p_d,"toProp"),(l=this.$$c)==null||l.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return bt(this.$$p_d).find(r=>this.$$p_d[r].attribute===t||!this.$$p_d[r].attribute&&r.toLowerCase()===t)||t}});function Ft(e,t,r,i){var o;const l=(o=r[e])==null?void 0:o.type;if(t=l==="Boolean"&&typeof t!="boolean"?t!=null:t,!i||!r[e])return t;if(i==="toAttribute")switch(l){case"Object":case"Array":return t==null?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(l){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":return t;case"Number":return t!=null?+t:t;default:return t}}function yl(e){const t={};return e.childNodes.forEach(r=>{t[r.slot||"default"]=!0}),t}function bl(e,t,r,i,l,o){let a=class extends pn{constructor(){super(e,r,l),this.$$p_d=t}static get observedAttributes(){return bt(t).map(s=>(t[s].attribute||s).toLowerCase())}};return bt(t).forEach(s=>{Et(a.prototype,s,{get(){return this.$$c&&s in this.$$c?this.$$c[s]:this.$$d[s]},set(f){var v;f=Ft(s,f,t),this.$$d[s]=f;var d=this.$$c;if(d){var h=(v=Pe(d,s))==null?void 0:v.get;h?d[s]=f:d.$set({[s]:f})}}})}),i.forEach(s=>{Et(a.prototype,s,{get(){var f;return(f=this.$$c)==null?void 0:f[s]}})}),e.element=a,a}const yn=new TextEncoder;function El(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function $l(e,t="SHA-256",r=1e5){const i=Date.now().toString(16);e||(e=Math.round(Math.random()*r));const l=await bn(i,e,t);return{algorithm:t,challenge:l,salt:i,signature:""}}async function bn(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 El(await crypto.subtle.digest(r.toUpperCase(),yn.encode(e+t)))}function kl(e,t,r="SHA-256",i=1e6,l=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let f=l;f<=i;f+=1){if(o.signal.aborted)return null;if(await bn(t,f,r)===e)return{number:f,took:Date.now()-a}}return null})(),controller:o}}function xl(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Cl(e){const t=atob(e),r=new Uint8Array(t.length);for(let i=0;i<t.length;i++)r[i]=t.charCodeAt(i);return r}function Al(e,t=12){const r=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=e%256,e=Math.floor(e/256);return r}async function Il(e,t="",r=1e6,i=0){const l="AES-GCM",o=new AbortController,a=Date.now(),s=async()=>{for(let h=i;h<=r;h+=1){if(o.signal.aborted||!f||!d)return null;try{const v=await crypto.subtle.decrypt({name:l,iv:Al(h)},f,d);if(v)return{clearText:new TextDecoder().decode(v),took:Date.now()-a}}catch{}}return null};let f=null,d=null;try{d=Cl(e);const h=await crypto.subtle.digest("SHA-256",yn.encode(t));f=await crypto.subtle.importKey("raw",h,l,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:s(),controller:o}}var p=(e=>(e.ERROR="error",e.VERIFIED="verified",e.VERIFYING="verifying",e.UNVERIFIED="unverified",e.EXPIRED="expired",e))(p||{}),Rl=ll('<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" fill="currentColor" opacity=".25"></path><path d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z" fill="currentColor" class="altcha-spinner"></path></svg>'),Sl=me('<span role="status" aria-live="polite"><!></span> <input type="hidden">',1),Tl=me('<span role="status" aria-live="polite"><!></span>'),Nl=me("<label><!></label>"),Ll=me('<div><a target="_blank" class="altcha-logo"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z" fill="currentColor"></path><path d="M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z" fill="currentColor"></path><path d="M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z" fill="currentColor"></path></svg></a></div>'),Dl=me("<div><!></div>"),Pl=me("<div><!></div>"),Fl=me('<div class="altcha-error"><svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg> <!></div>'),Ol=me('<div class="altcha-footer"><div><!></div></div>'),Ml=me('<div class="altcha-anchor-arrow"></div>'),Ul=me('<!> <div class="altcha"><div class="altcha-main"><!> <div><input type="checkbox"></div> <div class="altcha-label"><!></div> <!></div> <!> <!> <!></div>',1);function En(e,t){var ri,ni;tn(t,!0);let r=S(t,"auto",7,void 0),i=S(t,"blockspam",7,void 0),l=S(t,"challengeurl",7,void 0),o=S(t,"challengejson",7,void 0),a=S(t,"customfetch",7,void 0),s=S(t,"debug",7,!1),f=S(t,"delay",7,0),d=S(t,"expire",7,void 0),h=S(t,"floating",7,void 0),v=S(t,"floatinganchor",7,void 0),g=S(t,"floatingoffset",7,void 0),m=S(t,"floatingpersist",7,!1),A=S(t,"hidefooter",7,!1),D=S(t,"hidelogo",7,!1),U=S(t,"id",7,void 0),Z=S(t,"name",7,"altcha"),q=S(t,"maxnumber",7,1e6),z=S(t,"mockerror",7,!1),V=S(t,"obfuscated",7,void 0),je=S(t,"plugins",7,void 0),M=S(t,"refetchonexpire",7,!0),B=S(t,"spamfilter",7,!1),Ee=S(t,"strings",7,void 0),se=S(t,"test",7,!1),Ne=S(t,"verifyurl",7,void 0),Xe=S(t,"workers",23,()=>Math.min(16,navigator.hardwareConcurrency||8)),ct=S(t,"workerurl",7,void 0);const kn=["SHA-256","SHA-384","SHA-512"],xn="Visit Altcha.org",Cn="https://altcha.org/",dt=(n,u)=>{t.$$host.dispatchEvent(new CustomEvent(n,{detail:u}))},An=(ni=(ri=document.documentElement.lang)==null?void 0:ri.split("-"))==null?void 0:ni[0],tr=nt(()=>{var n;return l()&&new URL(l(),location.origin).host.endsWith(".altcha.org")&&!!((n=l())!=null&&n.includes("apiKey=ckey_"))}),rr=nt(()=>o()?Vn(o()):void 0),In=nt(()=>Ee()?Vn(Ee()):{}),fe=nt(()=>{var n;return{ariaLinkLabel:xn,error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:`Protected by <a href="${Cn}" target="_blank" aria-label="${((n=c(In))==null?void 0:n.ariaLinkLabel)||xn}">ALTCHA</a>`,label:"I'm not a robot",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait.",...c(In)}}),Rn=nt(()=>`${U()||Z()}_checkbox`);let ze=X(!1),T=X(xe(p.UNVERIFIED)),G=X(void 0),vt=X(null),Qe=null,w=null,et=X(null),we=null,Le=[],qe=X(null);Wt(()=>{Zl(c(et))}),Wt(()=>{Gl(c(T))}),_l(()=>{Vl(),w&&(w.removeEventListener("submit",Fn),w.removeEventListener("reset",On),w.removeEventListener("focusin",Pn),w=null),we&&(clearTimeout(we),we=null),document.removeEventListener("click",Ln),document.removeEventListener("scroll",Dn),window.removeEventListener("resize",Un)}),mn(()=>{var n;N("mounted","1.5.1"),N("workers",Xe()),Yl(),N("plugins",Le.length?Le.map(u=>u.constructor.pluginName).join(", "):"none"),se()&&N("using test mode"),d()&&nr(d()),r()!==void 0&&N("auto",r()),h()!==void 0&&jn(h()),w=(n=c(G))==null?void 0:n.closest("form"),w&&(w.addEventListener("submit",Fn,{capture:!0}),w.addEventListener("reset",On),(r()==="onfocus"||m()==="focus")&&w.addEventListener("focusin",Pn)),r()==="onload"&&(V()?ht():De()),c(tr)&&(A()||D())&&N("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."),requestAnimationFrame(()=>{dt("load")})});function Sn(n,u){return btoa(JSON.stringify({algorithm:n.algorithm,challenge:n.challenge,number:u.number,salt:n.salt,signature:n.signature,test:se()?!0:void 0,took:u.took}))}function Vl(){for(const n of Le)n.destroy()}function Tn(){l()&&M()&&c(T)===p.VERIFIED?De():_t(p.EXPIRED,c(fe).expired)}async function jl(){var n;if(z())throw N("mocking error"),new Error("Mocked error.");if(c(rr))return N("using provided json data"),c(rr);if(se())return N("generating test challenge",{test:se()}),$l(typeof se()!="boolean"?+se():void 0);{if(!l()&&w){const k=w.getAttribute("action");k!=null&&k.includes("/form/")&&l(k+"/altcha")}if(!l())throw new Error("Attribute challengeurl not set.");N("fetching challenge from",l());const u={headers:B()!==!1?{"x-altcha-spam-filter":"1"}:{}},_=await Nn()(l(),u);if(!_||!(_ instanceof Response))throw new Error("Fetch function did not return a response.");if(_.status!==200)throw new Error(`Server responded with ${_.status}.`);const b=_.headers.get("X-Altcha-Config"),L=await _.json(),$=new URLSearchParams((n=L.salt.split("?"))==null?void 0:n[1]),y=$.get("expires")||$.get("expire");if(y){const k=new Date(+y*1e3),$e=isNaN(k.getTime())?0:k.getTime()-Date.now();$e>0&&nr($e)}if(b)try{const k=JSON.parse(b);k&&typeof k=="object"&&("sentinel"in k?alert("This version of the widget is not compatible with Sentinel. Upgrade to version 2.x.x."):(k.verifyurl&&(k.verifyurl=new URL(k.verifyurl,new URL(l())).toString()),Hn(k)))}catch(k){N("unable to configure from X-Altcha-Config",k)}return L}}function ql(n){var _;const u=w==null?void 0:w.querySelector(typeof n=="string"?`input[name="${n}"]`:'input[type="email"]:not([data-no-spamfilter])');return((_=u==null?void 0:u.value)==null?void 0:_.slice(u.value.indexOf("@")))||void 0}function Nn(){let n=fetch;if(a())if(N("using customfetch"),typeof a()=="string"){if(n=globalThis[a()]||null,!n)throw new Error(`Custom fetch function not found: ${a()}`)}else n=a();return n}function Bl(){return B()==="ipAddress"?{blockedCountries:void 0,classifier:void 0,disableRules:void 0,email:!1,expectedCountries:void 0,expectedLanguages:void 0,fields:!1,ipAddress:void 0,text:void 0,timeZone:void 0}:typeof B()=="object"?B():{blockedCountries:void 0,classifier:void 0,disableRules:void 0,email:void 0,expectedCountries:void 0,expectedLanguages:void 0,fields:void 0,ipAddress:void 0,text:void 0,timeZone:void 0}}function Hl(n){return[...(w==null?void 0:w.querySelectorAll(n!=null&&n.length?n.map(_=>`input[name="${_}"]`).join(", "):'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])'))||[]].reduce((_,b)=>{const L=b.name,$=b.value;return L&&$&&(_[L]=/\n/.test($)?$.replace(new RegExp("(?<!\\r)\\n","g"),`\r
3
+ `):$),_},{})}function Yl(){const n=je()!==void 0?je().split(","):void 0;for(const u of globalThis.altchaPlugins)(!n||n.includes(u.pluginName))&&Le.push(new u({el:c(G),clarify:ht,dispatch:dt,getConfiguration:Yn,getFloatingAnchor:Wn,getState:Zn,log:N,reset:_t,solve:Bn,setState:Be,setFloatingAnchor:Jn,verify:De}))}function N(...n){(s()||n.some(u=>u instanceof Error))&&console[n[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${Z()}]`,...n)}function Wl(){[p.UNVERIFIED,p.ERROR,p.EXPIRED].includes(c(T))?B()!==!1&&(w==null?void 0:w.reportValidity())===!1?O(ze,!1):V()?ht():De():O(ze,!0)}function Ln(n){const u=n.target;h()&&u&&!c(G).contains(u)&&(c(T)===p.VERIFIED&&m()===!1||c(T)===p.VERIFIED&&m()==="focus"&&!(w!=null&&w.matches(":focus-within"))||r()==="off"&&c(T)===p.UNVERIFIED)&&Gn()}function Dn(){h()&&c(T)!==p.UNVERIFIED&&gt()}function Zl(n){for(const u of Le)typeof u.onErrorChange=="function"&&u.onErrorChange(c(et))}function Pn(n){c(T)===p.UNVERIFIED?De():h()&&m()==="focus"&&c(T)===p.VERIFIED&&ir()}function Fn(n){w&&r()==="onsubmit"?c(T)===p.UNVERIFIED?(n.preventDefault(),n.stopPropagation(),De().then(()=>{Kl()})):c(T)!==p.VERIFIED&&(n.preventDefault(),n.stopPropagation(),c(T)===p.VERIFYING&&Mn()):w&&h()&&r()==="off"&&c(T)===p.UNVERIFIED&&(n.preventDefault(),n.stopPropagation(),ir())}function On(){_t()}function Mn(){c(T)===p.VERIFYING&&c(fe).waitAlert&&alert(c(fe).waitAlert)}function Gl(n){for(const u of Le)typeof u.onStateChange=="function"&&u.onStateChange(c(T));h()&&c(T)!==p.UNVERIFIED&&requestAnimationFrame(()=>{gt()}),O(ze,c(T)===p.VERIFIED)}function Un(){h()&&gt()}function Vn(n){return JSON.parse(n)}async function Jl(n){if(!Ne())throw new Error("Attribute verifyurl not set.");N("requesting server verification from",Ne());const u={payload:n};if(B()!==!1){const{blockedCountries:L,classifier:$,disableRules:y,email:k,expectedLanguages:$e,expectedCountries:ar,fields:wt,ipAddress:pt,text:fo,timeZone:ii}=Bl();u.blockedCountries=L,u.classifier=$,u.disableRules=y,u.email=k===!1?void 0:ql(k),u.expectedCountries=ar,u.expectedLanguages=$e||(An?[An]:void 0),u.fields=wt===!1?void 0:Hl(wt),u.ipAddress=pt===!1?void 0:pt||"auto",u.text=fo,u.timeZone=ii===!1?void 0:ii||xl()}const _=await Nn()(Ne(),{body:JSON.stringify(u),headers:{"content-type":"application/json"},method:"POST"});if(!_||!(_ instanceof Response))throw new Error("Fetch function did not return a response.");if(_.status!==200)throw new Error(`Server responded with ${_.status}.`);const b=await _.json();if(b!=null&&b.payload&&O(qe,b.payload,!0),dt("serververification",b),i()&&b.classification==="BAD")throw new Error("SpamFilter returned negative classification.")}function Kl(){w&&"requestSubmit"in w?w.requestSubmit():w!=null&&w.reportValidity()&&w.submit()}function nr(n){N("expire",n),we&&(clearTimeout(we),we=null),n<1?Tn():we=setTimeout(Tn,n)}function jn(n){N("floating",n),h()!==n&&(c(G).style.left="",c(G).style.top=""),h(n===!0||n===""?"auto":n===!1||n==="false"?void 0:h()),h()?(r()||r("onsubmit"),document.addEventListener("scroll",Dn),document.addEventListener("click",Ln),window.addEventListener("resize",Un)):r()==="onsubmit"&&r(void 0)}function qn(n){if(!n.algorithm)throw new Error("Invalid challenge. Property algorithm is missing.");if(n.signature===void 0)throw new Error("Invalid challenge. Property signature is missing.");if(!kn.includes(n.algorithm.toUpperCase()))throw new Error(`Unknown algorithm value. Allowed values: ${kn.join(", ")}`);if(!n.challenge||n.challenge.length<40)throw new Error("Challenge is too short. Min. 40 chars.");if(!n.salt||n.salt.length<10)throw new Error("Salt is too short. Min. 10 chars.")}async function Bn(n){let u=null;if("Worker"in window){try{u=await Xl(n,n.maxNumber||n.maxnumber||q())}catch(_){N(_)}if((u==null?void 0:u.number)!==void 0||"obfuscated"in n)return{data:n,solution:u}}if("obfuscated"in n){const _=await Il(n.obfuscated,n.key,n.maxNumber||n.maxnumber);return{data:n,solution:await _.promise}}return{data:n,solution:await kl(n.challenge,n.salt,n.algorithm,n.maxNumber||n.maxnumber||q()).promise}}async function Xl(n,u=typeof se()=="number"?se():n.maxNumber||n.maxnumber||q(),_=Math.ceil(Xe())){const b=[];_=Math.min(16,u,Math.max(1,_));for(let y=0;y<_;y++)b.push(altchaCreateWorker(ct()));const L=Math.ceil(u/_),$=await Promise.all(b.map((y,k)=>{const $e=k*L;return new Promise(ar=>{y.addEventListener("message",wt=>{if(wt.data)for(const pt of b)pt!==y&&pt.postMessage({type:"abort"});ar(wt.data)}),y.postMessage({payload:n,max:$e+L,start:$e,type:"work"})})}));for(const y of b)y.terminate();return $.find(y=>!!y)||null}async function ht(){if(!V()){Be(p.ERROR);return}const n=Le.find(u=>u.constructor.pluginName==="obfuscation");if(!n||!("clarify"in n)){Be(p.ERROR),N("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.");return}if("clarify"in n&&typeof n.clarify=="function")return n.clarify()}function Hn(n){n.obfuscated!==void 0&&V(n.obfuscated),n.auto!==void 0&&(r(n.auto),r()==="onload"&&(V()?ht():De())),n.blockspam!==void 0&&i(!!n.blockspam),n.customfetch!==void 0&&a(n.customfetch),n.floatinganchor!==void 0&&v(n.floatinganchor),n.delay!==void 0&&f(n.delay),n.floatingoffset!==void 0&&g(n.floatingoffset),n.floating!==void 0&&jn(n.floating),n.expire!==void 0&&(nr(n.expire),d(n.expire)),n.challenge&&(o(typeof n.challenge=="string"?n.challenge:JSON.stringify(n.challenge)),qn(c(rr))),n.challengeurl!==void 0&&l(n.challengeurl),n.debug!==void 0&&s(!!n.debug),n.hidefooter!==void 0&&A(!!n.hidefooter),n.hidelogo!==void 0&&D(!!n.hidelogo),n.maxnumber!==void 0&&q(+n.maxnumber),n.mockerror!==void 0&&z(!!n.mockerror),n.name!==void 0&&Z(n.name),n.refetchonexpire!==void 0&&M(!!n.refetchonexpire),n.spamfilter!==void 0&&B(typeof n.spamfilter=="object"?n.spamfilter:!!n.spamfilter),n.strings&&Ee(typeof n.strings=="string"?n.strings:JSON.stringify(n.strings)),n.test!==void 0&&se(typeof n.test=="number"?n.test:!!n.test),n.verifyurl!==void 0&&Ne(n.verifyurl),n.workers!==void 0&&Xe(+n.workers),n.workerurl!==void 0&&ct(n.workerurl)}function Yn(){return{auto:r(),blockspam:i(),challengeurl:l(),debug:s(),delay:f(),expire:d(),floating:h(),floatinganchor:v(),floatingoffset:g(),hidefooter:A(),hidelogo:D(),name:Z(),maxnumber:q(),mockerror:z(),obfuscated:V(),refetchonexpire:M(),spamfilter:B(),strings:c(fe),test:se(),verifyurl:Ne(),workers:Xe(),workerurl:ct()}}function Wn(){return Qe}function zl(n){return Le.find(u=>u.constructor.pluginName===n)}function Zn(){return c(T)}function Gn(){c(G).style.display="none"}function gt(n=20){if(c(G))if(Qe||(Qe=(v()?document.querySelector(v()):w==null?void 0:w.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])'))||w),Qe){const u=parseInt(g(),10)||12,_=Qe.getBoundingClientRect(),b=c(G).getBoundingClientRect(),L=document.documentElement.clientHeight,$=document.documentElement.clientWidth,y=h()==="auto"?_.bottom+b.height+u+n>L:h()==="top",k=Math.max(n,Math.min($-n-b.width,_.left+_.width/2-b.width/2));if(y?c(G).style.top=`${_.top-(b.height+u)}px`:c(G).style.top=`${_.bottom+u}px`,c(G).style.left=`${k}px`,c(G).setAttribute("data-floating",y?"top":"bottom"),c(vt)){const $e=c(vt).getBoundingClientRect();c(vt).style.left=_.left-k+_.width/2-$e.width/2+"px"}}else N("unable to find floating anchor element")}function _t(n=p.UNVERIFIED,u=null){we&&(clearTimeout(we),we=null),O(ze,!1),O(qe,null),Be(n,u)}function Jn(n){Qe=n}function Be(n,u=null){O(T,n,!0),O(et,u,!0),dt("statechange",{payload:c(qe),state:c(T)})}function ir(){c(G).style.display="block",h()&&gt()}async function De(){return _t(p.VERIFYING),await new Promise(n=>setTimeout(n,f()||0)),jl().then(n=>(qn(n),N("challenge",n),Bn(n))).then(({data:n,solution:u})=>{if(N("solution",u),!u||n&&"challenge"in n&&!("clearText"in u))if((u==null?void 0:u.number)!==void 0&&"challenge"in n){if(Ne())return Jl(Sn(n,u));O(qe,Sn(n,u),!0),N("payload",c(qe))}else throw N("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."),new Error("Unexpected result returned.")}).then(()=>{Be(p.VERIFIED),N("verified"),Ki().then(()=>{dt("verified",{payload:c(qe)})})}).catch(n=>{N(n),Be(p.ERROR,n.message)})}var Kn=Ul(),Xn=xr(Kn);sl(Xn,t,"default",{});var mt=ye(Xn,2),lr=re(mt),zn=re(lr);{var Ql=n=>{var u=Rl();oe(n,u)};Te(zn,n=>{c(T)===p.VERIFYING&&n(Ql)})}var Ot=ye(zn,2);let Qn;var tt=re(Ot);dn(tt),tt.__change=Wl,te(Ot);var or=ye(Ot,2),eo=re(or);{var to=n=>{var u=Sl(),_=xr(u),b=re(_);Ke(b,()=>c(fe).verified),te(_);var L=ye(_,2);dn(L),Ue(()=>{de(L,"name",Z()),vl(L,c(qe))}),oe(n,u)},ro=(n,u)=>{{var _=L=>{var $=Tl(),y=re($);Ke(y,()=>c(fe).verifying),te($),oe(L,$)},b=L=>{var $=Nl(),y=re($);Ke(y,()=>c(fe).label),te($),Ue(()=>de($,"for",c(Rn))),oe(L,$)};Te(n,L=>{c(T)===p.VERIFYING?L(_):L(b,!1)},u)}};Te(eo,n=>{c(T)===p.VERIFIED?n(to):n(ro,!1)})}te(or);var no=ye(or,2);{var io=n=>{var u=Ll(),_=re(u);de(_,"href",Cn),te(u),Ue(()=>de(_,"aria-label",c(fe).ariaLinkLabel)),oe(n,u)};Te(no,n=>{(D()!==!0||c(tr))&&n(io)})}te(lr);var ei=ye(lr,2);{var lo=n=>{var u=Fl(),_=ye(re(u),2);{var b=$=>{var y=Dl(),k=re(y);Ke(k,()=>c(fe).expired),te(y),Ue(()=>de(y,"title",c(et))),oe($,y)},L=$=>{var y=Pl(),k=re(y);Ke(k,()=>c(fe).error),te(y),Ue(()=>de(y,"title",c(et))),oe($,y)};Te(_,$=>{c(T)===p.EXPIRED?$(b):$(L,!1)})}te(u),oe(n,u)};Te(ei,n=>{(c(et)||c(T)===p.EXPIRED)&&n(lo)})}var ti=ye(ei,2);{var oo=n=>{var u=Ol(),_=re(u),b=re(_);Ke(b,()=>c(fe).footer),te(_),te(u),oe(n,u)};Te(ti,n=>{c(fe).footer&&(A()!==!0||c(tr))&&n(oo)})}var ao=ye(ti,2);{var so=n=>{var u=Ml();_n(u,_=>O(vt,_),()=>c(vt)),oe(n,u)};Te(ao,n=>{h()&&n(so)})}return te(mt),_n(mt,n=>O(G,n),()=>c(G)),Ue(n=>{de(mt,"data-state",c(T)),de(mt,"data-floating",h()),Qn=ul(Ot,1,"altcha-checkbox",null,Qn,n),de(tt,"id",c(Rn)),tt.required=r()!=="onsubmit"&&(!h()||r()!=="off")},[()=>({"altcha-hidden":c(T)===p.VERIFYING})]),nl("invalid",tt,Mn),gl(tt,()=>c(ze),n=>O(ze,n)),oe(e,Kn),rn({clarify:ht,configure:Hn,getConfiguration:Yn,getFloatingAnchor:Wn,getPlugin:zl,getState:Zn,hide:Gn,repositionFloating:gt,reset:_t,setFloatingAnchor:Jn,setState:Be,show:ir,verify:De,get auto(){return r()},set auto(n=void 0){r(n),E()},get blockspam(){return i()},set blockspam(n=void 0){i(n),E()},get challengeurl(){return l()},set challengeurl(n=void 0){l(n),E()},get challengejson(){return o()},set challengejson(n=void 0){o(n),E()},get customfetch(){return a()},set customfetch(n=void 0){a(n),E()},get debug(){return s()},set debug(n=!1){s(n),E()},get delay(){return f()},set delay(n=0){f(n),E()},get expire(){return d()},set expire(n=void 0){d(n),E()},get floating(){return h()},set floating(n=void 0){h(n),E()},get floatinganchor(){return v()},set floatinganchor(n=void 0){v(n),E()},get floatingoffset(){return g()},set floatingoffset(n=void 0){g(n),E()},get floatingpersist(){return m()},set floatingpersist(n=!1){m(n),E()},get hidefooter(){return A()},set hidefooter(n=!1){A(n),E()},get hidelogo(){return D()},set hidelogo(n=!1){D(n),E()},get id(){return U()},set id(n=void 0){U(n),E()},get name(){return Z()},set name(n="altcha"){Z(n),E()},get maxnumber(){return q()},set maxnumber(n=1e6){q(n),E()},get mockerror(){return z()},set mockerror(n=!1){z(n),E()},get obfuscated(){return V()},set obfuscated(n=void 0){V(n),E()},get plugins(){return je()},set plugins(n=void 0){je(n),E()},get refetchonexpire(){return M()},set refetchonexpire(n=!0){M(n),E()},get spamfilter(){return B()},set spamfilter(n=!1){B(n),E()},get strings(){return Ee()},set strings(n=void 0){Ee(n),E()},get test(){return se()},set test(n=!1){se(n),E()},get verifyurl(){return Ne()},set verifyurl(n=void 0){Ne(n),E()},get workers(){return Xe()},set workers(n=Math.min(16,navigator.hardwareConcurrency||8)){Xe(n),E()},get workerurl(){return ct()},set workerurl(n=void 0){ct(n),E()}})}il(["change"]),customElements.define("altcha-widget",bl(En,{blockspam:{type:"Boolean"},debug:{type:"Boolean"},delay:{type:"Number"},expire:{type:"Number"},floatingoffset:{type:"Number"},hidefooter:{type:"Boolean"},hidelogo:{type:"Boolean"},maxnumber:{type:"Number"},mockerror:{type:"Boolean"},refetchonexpire:{type:"Boolean"},test:{type:"Boolean"},workers:{type:"Number"},auto:{},challengeurl:{},challengejson:{},customfetch:{},floating:{},floatinganchor:{},floatingpersist:{},id:{},name:{},obfuscated:{},plugins:{},spamfilter:{},strings:{},verifyurl:{},workerurl:{}},["default"],["clarify","configure","getConfiguration","getFloatingAnchor","getPlugin","getState","hide","repositionFloating","reset","setFloatingAnchor","setState","show","verify"],!1)),globalThis.altchaCreateWorker=e=>new Worker(new URL(e||"./worker.js",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:C&&C.tagName.toUpperCase()==="SCRIPT"&&C.src||new URL("altcha.umd.cjs",document.baseURI).href)),globalThis.altchaPlugins=globalThis.altchaPlugins||[],x.Altcha=En,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "altcha",
3
3
  "description": "GDPR compliant, self-hosted CAPTCHA alternative.",
4
- "version": "1.5.0",
4
+ "version": "1.5.1",
5
5
  "license": "MIT",
6
6
  "author": {
7
7
  "name": "Daniel Regeci",
@@ -83,8 +83,10 @@
83
83
  "@playwright/test": "^1.49.1",
84
84
  "@sveltejs/vite-plugin-svelte": "^5.0.3",
85
85
  "@tsconfig/svelte": "^5.0.4",
86
+ "@types/csso": "^5.0.4",
86
87
  "@types/node": "^20.16.3",
87
88
  "@types/react": "^19.0.12",
89
+ "csso": "^5.0.5",
88
90
  "husky": "^9.1.5",
89
91
  "prettier": "3.2.5",
90
92
  "prettier-plugin-svelte": "^3.2.6",