window.nostr.js 0.1.4 → 0.2.0
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.
- package/.prettierrc.yaml +1 -1
- package/README.md +15 -0
- package/dist/index.html +1 -1
- package/dist/window.nostr.js +13 -5
- package/package.json +1 -1
- package/src/App.svelte +178 -80
- package/src/Spinner.svelte +3 -3
- package/src/app.css +1 -0
- package/tailwind.config.js +10 -1
package/dist/window.nostr.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
var nl=Object.defineProperty;var rl=(zt,q,Bt)=>q in zt?nl(zt,q,{enumerable:!0,configurable:!0,writable:!0,value:Bt}):zt[q]=Bt;var E=(zt,q,Bt)=>(rl(zt,typeof q!="symbol"?q+"":q,Bt),Bt);(function(){"use strict";var xo,vo;const zt='.tw-absolute{position:absolute}.tw-right-0{right:0}.tw-right-0\\.5{right:.125rem}.tw-top-0{top:0}.tw-mx-2{margin-left:.5rem;margin-right:.5rem}.tw-my-2{margin-top:.5rem;margin-bottom:.5rem}.tw-mb-1{margin-bottom:.25rem}.tw-mb-2{margin-bottom:.5rem}.tw-mb-4{margin-bottom:1rem}.tw-ml-2{margin-left:.5rem}.tw-mr-2{margin-right:.5rem}.tw-mt-4{margin-top:1rem}.tw-mt-6{margin-top:1.5rem}.tw-box-border{box-sizing:border-box}.tw-block{display:block}.tw-flex{display:flex}.tw-h-10{height:2.5rem}.tw-h-5{height:1.25rem}.tw-w-10{width:2.5rem}.tw-w-40{width:10rem}.tw-w-5{width:1.25rem}.tw-w-full{width:100%}@keyframes tw-moveIn{0%{transform:translateY(-10px)}to{transform:translateY(0)}}.tw-animate-fadein{animation:tw-fadeIn 1s ease-in-out,tw-moveIn 1s ease-in-out}@keyframes tw-fadeIn{0%{opacity:0}to{opacity:1}}.tw-animate-show{animation:tw-fadeIn .2s ease-in-out}@keyframes tw-spin{to{transform:rotate(360deg)}}.tw-animate-spin{animation:tw-spin 1s linear infinite}.tw-cursor-grabbing{cursor:grabbing}.tw-cursor-pointer{cursor:pointer}.tw-items-center{align-items:center}.tw-justify-center{justify-content:center}.tw-gap-2{gap:.5rem}.tw-break-all{word-break:break-all}.tw-rounded{border-radius:.25rem}.tw-rounded-full{border-radius:9999px}.tw-rounded-md{border-radius:.375rem}.tw-border-0{border-width:0px}.tw-border-2{border-width:2px}.tw-border-solid{border-style:solid}.tw-border-none{border-style:none}.tw-border-transparent{border-color:transparent}.tw-bg-cyan-700{--tw-bg-opacity: 1;background-color:rgb(14 116 144 / var(--tw-bg-opacity))}.tw-bg-cyan-800{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.tw-bg-cyan-900{--tw-bg-opacity: 1;background-color:rgb(22 78 99 / var(--tw-bg-opacity))}.tw-bg-cyan-950{--tw-bg-opacity: 1;background-color:rgb(8 51 68 / var(--tw-bg-opacity))}.tw-bg-green-700{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity))}.tw-bg-green-800{--tw-bg-opacity: 1;background-color:rgb(22 101 52 / var(--tw-bg-opacity))}.tw-bg-green-900{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity))}.tw-bg-green-950{--tw-bg-opacity: 1;background-color:rgb(5 46 22 / var(--tw-bg-opacity))}.tw-bg-neutral-700{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity))}.tw-bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.tw-bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity))}.tw-bg-neutral-950{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.tw-bg-orange-700{--tw-bg-opacity: 1;background-color:rgb(194 65 12 / var(--tw-bg-opacity))}.tw-bg-orange-800{--tw-bg-opacity: 1;background-color:rgb(154 52 18 / var(--tw-bg-opacity))}.tw-bg-orange-900{--tw-bg-opacity: 1;background-color:rgb(124 45 18 / var(--tw-bg-opacity))}.tw-bg-orange-950{--tw-bg-opacity: 1;background-color:rgb(67 20 7 / var(--tw-bg-opacity))}.tw-bg-purple-700{--tw-bg-opacity: 1;background-color:rgb(126 34 206 / var(--tw-bg-opacity))}.tw-bg-purple-800{--tw-bg-opacity: 1;background-color:rgb(107 33 168 / var(--tw-bg-opacity))}.tw-bg-purple-900{--tw-bg-opacity: 1;background-color:rgb(88 28 135 / var(--tw-bg-opacity))}.tw-bg-purple-950{--tw-bg-opacity: 1;background-color:rgb(59 7 100 / var(--tw-bg-opacity))}.tw-bg-red-700{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.tw-bg-red-800{--tw-bg-opacity: 1;background-color:rgb(153 27 27 / var(--tw-bg-opacity))}.tw-bg-red-900{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity))}.tw-bg-red-950{--tw-bg-opacity: 1;background-color:rgb(69 10 10 / var(--tw-bg-opacity))}.tw-bg-stone-700{--tw-bg-opacity: 1;background-color:rgb(68 64 60 / var(--tw-bg-opacity))}.tw-bg-stone-800{--tw-bg-opacity: 1;background-color:rgb(41 37 36 / var(--tw-bg-opacity))}.tw-bg-stone-900{--tw-bg-opacity: 1;background-color:rgb(28 25 23 / var(--tw-bg-opacity))}.tw-bg-stone-950{--tw-bg-opacity: 1;background-color:rgb(12 10 9 / var(--tw-bg-opacity))}.tw-bg-transparent{background-color:transparent}.tw-bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.tw-p-2{padding:.5rem}.tw-px-2{padding-left:.5rem;padding-right:.5rem}.tw-px-4{padding-left:1rem;padding-right:1rem}.tw-px-6{padding-left:1.5rem;padding-right:1.5rem}.tw-py-1{padding-top:.25rem;padding-bottom:.25rem}.tw-py-2{padding-top:.5rem;padding-bottom:.5rem}.tw-py-8{padding-top:2rem;padding-bottom:2rem}.tw-text-center{text-align:center}.tw-font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.tw-text-2xl{font-size:1.5rem;line-height:2rem}.tw-text-3xl{font-size:1.875rem;line-height:2.25rem}.tw-text-lg{font-size:1.125rem;line-height:1.75rem}.tw-text-sm{font-size:.875rem;line-height:1.25rem}.tw-leading-3{line-height:.75rem}.tw-leading-4{line-height:1rem}.tw-text-cyan-950{--tw-text-opacity: 1;color:rgb(8 51 68 / var(--tw-text-opacity))}.tw-text-green-950{--tw-text-opacity: 1;color:rgb(5 46 22 / var(--tw-text-opacity))}.tw-text-neutral-950{--tw-text-opacity: 1;color:rgb(10 10 10 / var(--tw-text-opacity))}.tw-text-orange-950{--tw-text-opacity: 1;color:rgb(67 20 7 / var(--tw-text-opacity))}.tw-text-purple-950{--tw-text-opacity: 1;color:rgb(59 7 100 / var(--tw-text-opacity))}.tw-text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.tw-text-red-950{--tw-text-opacity: 1;color:rgb(69 10 10 / var(--tw-text-opacity))}.tw-text-stone-950{--tw-text-opacity: 1;color:rgb(12 10 9 / var(--tw-text-opacity))}.tw-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tw-underline{text-decoration-line:underline}.tw-no-underline{text-decoration-line:none}.tw-decoration-2{text-decoration-thickness:2px}.tw-underline-offset-4{text-underline-offset:4px}.tw-opacity-25{opacity:.25}.tw-opacity-75{opacity:.75}.tw-shadow-\\[0_0px_10px_0px_rgba\\(0\\,0\\,0\\,0\\.3\\)\\]{--tw-shadow: 0 0px 10px 0px rgba(0,0,0,.3);--tw-shadow-colored: 0 0px 10px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tw-shadow-\\[0_0px_30px_0px_rgba\\(0\\,0\\,0\\,0\\.6\\)\\]{--tw-shadow: 0 0px 30px 0px rgba(0,0,0,.6);--tw-shadow-colored: 0 0px 30px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tw-outline-none{outline:2px solid transparent;outline-offset:2px}.tw-outline-dashed{outline-style:dashed}.tw-outline-1{outline-width:1px}.tw-outline-offset-4{outline-offset:4px}.tw-outline-cyan-500{outline-color:#06b6d4}.tw-outline-green-500{outline-color:#22c55e}.tw-outline-neutral-500{outline-color:#737373}.tw-outline-orange-500{outline-color:#f97316}.tw-outline-purple-500{outline-color:#a855f7}.tw-outline-red-500{outline-color:#ef4444}.tw-outline-stone-500{outline-color:#78716c}.tw-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tw-duration-200{transition-duration:.2s}.disabled\\:tw-cursor-default:disabled{cursor:default}.disabled\\:tw-bg-neutral-400:disabled{--tw-bg-opacity: 1;background-color:rgb(163 163 163 / var(--tw-bg-opacity))}.disabled\\:tw-text-neutral-200:disabled{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity))}.tw-group:hover .group-hover\\:tw-underline{text-decoration-line:underline}@media (min-width: 640px){.sm\\:tw-w-80{width:20rem}}';function q(){}function Bt(t){return t()}function qn(){return Object.create(null)}function Ot(t){t.forEach(Bt)}function jn(t){return typeof t=="function"}function ze(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let me;function Ee(t,e){return t===e?!0:(me||(me=document.createElement("a")),me.href=e,t===me.href)}function ko(t){return Object.keys(t).length===0}function So(t,...e){if(t==null){for(const r of e)r(void 0);return q}const n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function Ao(t,e,n){t.$$.on_destroy.push(So(e,n))}const Bo=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function U(t,e){t.appendChild(e)}function j(t,e,n){t.insertBefore(e,n||null)}function $(t){t.parentNode&&t.parentNode.removeChild(t)}function Oo(t,e){for(let n=0;n<t.length;n+=1)t[n]&&t[n].d(e)}function C(t){return document.createElement(t)}function Ke(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function Z(t){return document.createTextNode(t)}function V(){return Z(" ")}function Io(){return Z("")}function tt(t,e,n,r){return t.addEventListener(e,n,r),()=>t.removeEventListener(e,n,r)}function k(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function To(t){return Array.from(t.childNodes)}function ce(t,e){e=""+e,t.data!==e&&(t.data=e)}function Yt(t,e){t.value=e??""}function Mn(t,e,n){for(let r=0;r<t.options.length;r+=1){const o=t.options[r];if(o.__value===e){o.selected=!0;return}}(!n||e!==void 0)&&(t.selectedIndex=-1)}function No(t){const e=t.querySelector(":checked");return e&&e.__value}function zn(t,e,n){t.classList.toggle(e,!!n)}let le;function ae(t){le=t}function Po(){if(!le)throw new Error("Function called outside component initialization");return le}function Uo(t){Po().$$.on_mount.push(t)}const Jt=[],ue=[];let Qt=[];const Kn=[],Lo=Promise.resolve();let De=!1;function Co(){De||(De=!0,Lo.then(Dn))}function xe(t){Qt.push(t)}const Ve=new Set;let Xt=0;function Dn(){if(Xt!==0)return;const t=le;do{try{for(;Xt<Jt.length;){const e=Jt[Xt];Xt++,ae(e),Ro(e.$$)}}catch(e){throw Jt.length=0,Xt=0,e}for(ae(null),Jt.length=0,Xt=0;ue.length;)ue.pop()();for(let e=0;e<Qt.length;e+=1){const n=Qt[e];Ve.has(n)||(Ve.add(n),n())}Qt.length=0}while(Jt.length);for(;Kn.length;)Kn.pop()();De=!1,Ve.clear(),ae(t)}function Ro(t){if(t.fragment!==null){t.update(),Ot(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(xe)}}function Ho(t){const e=[],n=[];Qt.forEach(r=>t.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),Qt=e}const ve=new Set;let Kt;function _e(){Kt={r:0,c:[],p:Kt}}function ke(){Kt.r||Ot(Kt.c),Kt=Kt.p}function ft(t,e){t&&t.i&&(ve.delete(t),t.i(e))}function wt(t,e,n,r){if(t&&t.o){if(ve.has(t))return;ve.add(t),Kt.c.push(()=>{ve.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function Vn(t){return(t==null?void 0:t.length)!==void 0?t:Array.from(t)}function Wn(t){t&&t.c()}function We(t,e,n){const{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),xe(()=>{const i=t.$$.on_mount.map(Bt).filter(jn);t.$$.on_destroy?t.$$.on_destroy.push(...i):Ot(i),t.$$.on_mount=[]}),o.forEach(xe)}function Ze(t,e){const n=t.$$;n.fragment!==null&&(Ho(n.after_update),Ot(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function $o(t,e){t.$$.dirty[0]===-1&&(Jt.push(t),Co(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function Zn(t,e,n,r,o,i,s=null,c=[-1]){const l=le;ae(t);const a=t.$$={fragment:null,ctx:[],props:i,update:q,not_equal:o,bound:qn(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(l?l.$$.context:[])),callbacks:qn(),dirty:c,skip_bound:!1,root:e.target||l.$$.root};s&&s(a.root);let f=!1;if(a.ctx=n?n(t,e.props||{},(u,w,...h)=>{const g=h.length?h[0]:w;return a.ctx&&o(a.ctx[u],a.ctx[u]=g)&&(!a.skip_bound&&a.bound[u]&&a.bound[u](g),f&&$o(t,u)),w}):[],a.update(),f=!0,Ot(a.before_update),a.fragment=r?r(a.ctx):!1,e.target){if(e.hydrate){const u=To(e.target);a.fragment&&a.fragment.l(u),u.forEach($)}else a.fragment&&a.fragment.c();e.intro&&ft(t.$$.fragment),We(t,e.target,e.anchor),Dn()}ae(l)}class Gn{constructor(){E(this,"$$");E(this,"$$set")}$destroy(){Ze(this,1),this.$destroy=q}$on(e,n){if(!jn(n))return q;const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{const o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!ko(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const qo="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(qo);function jo(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ge={exports:{}};function Fn(t,e=100,n={}){if(typeof t!="function")throw new TypeError(`Expected the first parameter to be a function, got \`${typeof t}\`.`);if(e<0)throw new RangeError("`wait` must not be negative.");const{immediate:r}=typeof n=="boolean"?{immediate:n}:n;let o,i,s,c,l;function a(){const u=Date.now()-c;if(u<e&&u>=0)s=setTimeout(a,e-u);else if(s=void 0,!r){const w=o,h=i;o=void 0,i=void 0,l=t.apply(w,h)}}const f=function(...u){if(o&&this!==o)throw new Error("Debounced method called with different contexts.");o=this,i=u,c=Date.now();const w=r&&!s;if(s||(s=setTimeout(a,e)),w){const h=o,g=i;o=void 0,i=void 0,l=t.apply(h,g)}return l};return f.clear=()=>{s&&(clearTimeout(s),s=void 0)},f.flush=()=>{if(!s)return;const u=o,w=i;o=void 0,i=void 0,l=t.apply(u,w),clearTimeout(s),s=void 0},f}Ge.exports.debounce=Fn,Ge.exports=Fn;var Mo=Ge.exports;const Yn=jo(Mo),Fe=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Jn=t=>t instanceof Uint8Array,Ye=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),pt=(t,e)=>t<<32-e|t>>>e;if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");const zo=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function et(t){if(!Jn(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=zo[t[n]];return e}function Je(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=r*2,i=t.slice(o,o+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");n[r]=s}return n}function Ko(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Qn(t){if(typeof t=="string"&&(t=Ko(t)),!Jn(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}let Do=class{clone(){return this._cloneInto()}};function Xn(t){const e=r=>t().update(Qn(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function Vo(t=32){if(Fe&&typeof Fe.getRandomValues=="function")return Fe.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function tr(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function er(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function Wo(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");tr(t.outputLen),tr(t.blockLen)}function Se(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Zo(t,e){er(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const Qe=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const nr=t=>t instanceof Uint8Array,Xe=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),gt=(t,e)=>t<<32-e|t>>>e;if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function Go(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function tn(t){if(typeof t=="string"&&(t=Go(t)),!nr(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function Fo(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!nr(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}class rr{clone(){return this._cloneInto()}}function Yo(t){const e=r=>t().update(tn(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function or(t=32){if(Qe&&typeof Qe.getRandomValues=="function")return Qe.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function Jo(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),l=r?4:0,a=r?0:4;t.setUint32(e+l,s,r),t.setUint32(e+a,c,r)}let Qo=class extends rr{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Xe(this.buffer)}update(e){Se(this);const{view:n,buffer:r,blockLen:o}=this;e=tn(e);const i=e.length;for(let s=0;s<i;){const c=Math.min(o-this.pos,i-s);if(c===o){const l=Xe(e);for(;o<=i-s;s+=o)this.process(l,s);continue}r.set(e.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Se(this),Zo(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:i}=this;let{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(r,0),s=0);for(let u=s;u<o;u++)n[u]=0;Jo(r,o-8,BigInt(this.length*8),i),this.process(r,0);const c=Xe(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const a=l/4,f=this.get();if(a>f.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<a;u++)c.setUint32(4*u,f[u],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:i,destroyed:s,pos:c}=this;return e.length=o,e.pos=c,e.finished=i,e.destroyed=s,o%n&&e.buffer.set(r),e}};const Xo=(t,e,n)=>t&e^~t&n,ti=(t,e,n)=>t&e^t&n^e&n,ei=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),It=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Tt=new Uint32Array(64);let ni=class extends Qo{constructor(){super(64,32,8,!1),this.A=It[0]|0,this.B=It[1]|0,this.C=It[2]|0,this.D=It[3]|0,this.E=It[4]|0,this.F=It[5]|0,this.G=It[6]|0,this.H=It[7]|0}get(){const{A:e,B:n,C:r,D:o,E:i,F:s,G:c,H:l}=this;return[e,n,r,o,i,s,c,l]}set(e,n,r,o,i,s,c,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=l|0}process(e,n){for(let u=0;u<16;u++,n+=4)Tt[u]=e.getUint32(n,!1);for(let u=16;u<64;u++){const w=Tt[u-15],h=Tt[u-2],g=gt(w,7)^gt(w,18)^w>>>3,d=gt(h,17)^gt(h,19)^h>>>10;Tt[u]=d+Tt[u-7]+g+Tt[u-16]|0}let{A:r,B:o,C:i,D:s,E:c,F:l,G:a,H:f}=this;for(let u=0;u<64;u++){const w=gt(c,6)^gt(c,11)^gt(c,25),h=f+w+Xo(c,l,a)+ei[u]+Tt[u]|0,d=(gt(r,2)^gt(r,13)^gt(r,22))+ti(r,o,i)|0;f=a,a=l,l=c,c=s+h|0,s=i,i=o,o=r,r=h+d|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,l=l+this.F|0,a=a+this.G|0,f=f+this.H|0,this.set(r,o,i,s,c,l,a,f)}roundClean(){Tt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const en=Yo(()=>new ni);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ir=BigInt(0),Ae=BigInt(1),ri=BigInt(2),Be=t=>t instanceof Uint8Array,oi=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function te(t){if(!Be(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=oi[t[n]];return e}function sr(t){const e=t.toString(16);return e.length&1?`0${e}`:e}function nn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function ee(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=r*2,i=t.slice(o,o+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");n[r]=s}return n}function rt(t){return nn(te(t))}function rn(t){if(!Be(t))throw new Error("Uint8Array expected");return nn(te(Uint8Array.from(t).reverse()))}function Nt(t,e){return ee(t.toString(16).padStart(e*2,"0"))}function on(t,e){return Nt(t,e).reverse()}function ii(t){return ee(sr(t))}function Q(t,e,n){let r;if(typeof e=="string")try{r=ee(e)}catch(i){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${i}`)}else if(Be(e))r=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);const o=r.length;if(typeof n=="number"&&o!==n)throw new Error(`${t} expected ${n} bytes, got ${o}`);return r}function Dt(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!Be(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}function si(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function ci(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function li(t){let e;for(e=0;t>ir;t>>=Ae,e+=1);return e}function ai(t,e){return t>>BigInt(e)&Ae}const ui=(t,e,n)=>t|(n?Ae:ir)<<BigInt(e),sn=t=>(ri<<BigInt(t-1))-Ae,cn=t=>new Uint8Array(t),cr=t=>Uint8Array.from(t);function lr(t,e,n){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=cn(t),o=cn(t),i=0;const s=()=>{r.fill(1),o.fill(0),i=0},c=(...u)=>n(o,r,...u),l=(u=cn())=>{o=c(cr([0]),u),r=c(),u.length!==0&&(o=c(cr([1]),u),r=c())},a=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0;const w=[];for(;u<e;){r=c();const h=r.slice();w.push(h),u+=r.length}return Dt(...w)};return(u,w)=>{s(),l(u);let h;for(;!(h=w(a()));)l();return s(),h}}const fi={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function fe(t,e,n={}){const r=(o,i,s)=>{const c=fi[i];if(typeof c!="function")throw new Error(`Invalid validator "${i}", expected function`);const l=t[o];if(!(s&&l===void 0)&&!c(l,t))throw new Error(`Invalid param ${String(o)}=${l} (${typeof l}), expected ${i}`)};for(const[o,i]of Object.entries(e))r(o,i,!1);for(const[o,i]of Object.entries(n))r(o,i,!0);return t}const di=Object.freeze(Object.defineProperty({__proto__:null,bitGet:ai,bitLen:li,bitMask:sn,bitSet:ui,bytesToHex:te,bytesToNumberBE:rt,bytesToNumberLE:rn,concatBytes:Dt,createHmacDrbg:lr,ensureBytes:Q,equalBytes:si,hexToBytes:ee,hexToNumber:nn,numberToBytesBE:Nt,numberToBytesLE:on,numberToHexUnpadded:sr,numberToVarBytesBE:ii,utf8ToBytes:ci,validateObject:fe},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const F=BigInt(0),W=BigInt(1),Vt=BigInt(2),hi=BigInt(3),ln=BigInt(4),ar=BigInt(5),ur=BigInt(8);BigInt(9),BigInt(16);function J(t,e){const n=t%e;return n>=F?n:e+n}function wi(t,e,n){if(n<=F||e<F)throw new Error("Expected power/modulo > 0");if(n===W)return F;let r=W;for(;e>F;)e&W&&(r=r*t%n),t=t*t%n,e>>=W;return r}function ct(t,e,n){let r=t;for(;e-- >F;)r*=r,r%=n;return r}function an(t,e){if(t===F||e<=F)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=J(t,e),r=e,o=F,i=W;for(;n!==F;){const c=r/n,l=r%n,a=o-i*c;r=n,n=l,o=i,i=a}if(r!==W)throw new Error("invert: does not exist");return J(o,e)}function pi(t){const e=(t-W)/Vt;let n,r,o;for(n=t-W,r=0;n%Vt===F;n/=Vt,r++);for(o=Vt;o<t&&wi(o,e,t)!==t-W;o++);if(r===1){const s=(t+W)/ln;return function(l,a){const f=l.pow(a,s);if(!l.eql(l.sqr(f),a))throw new Error("Cannot find square root");return f}}const i=(n+W)/Vt;return function(c,l){if(c.pow(l,e)===c.neg(c.ONE))throw new Error("Cannot find square root");let a=r,f=c.pow(c.mul(c.ONE,o),n),u=c.pow(l,i),w=c.pow(l,n);for(;!c.eql(w,c.ONE);){if(c.eql(w,c.ZERO))return c.ZERO;let h=1;for(let d=c.sqr(w);h<a&&!c.eql(d,c.ONE);h++)d=c.sqr(d);const g=c.pow(f,W<<BigInt(a-h-1));f=c.sqr(g),u=c.mul(u,g),w=c.mul(w,f),a=h}return u}}function gi(t){if(t%ln===hi){const e=(t+W)/ln;return function(r,o){const i=r.pow(o,e);if(!r.eql(r.sqr(i),o))throw new Error("Cannot find square root");return i}}if(t%ur===ar){const e=(t-ar)/ur;return function(r,o){const i=r.mul(o,Vt),s=r.pow(i,e),c=r.mul(o,s),l=r.mul(r.mul(c,Vt),s),a=r.mul(c,r.sub(l,r.ONE));if(!r.eql(r.sqr(a),o))throw new Error("Cannot find square root");return a}}return pi(t)}const bi=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function yi(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=bi.reduce((r,o)=>(r[o]="function",r),e);return fe(t,n)}function mi(t,e,n){if(n<F)throw new Error("Expected power > 0");if(n===F)return t.ONE;if(n===W)return e;let r=t.ONE,o=e;for(;n>F;)n&W&&(r=t.mul(r,o)),o=t.sqr(o),n>>=W;return r}function Ei(t,e){const n=new Array(e.length),r=e.reduce((i,s,c)=>t.is0(s)?i:(n[c]=i,t.mul(i,s)),t.ONE),o=t.inv(r);return e.reduceRight((i,s,c)=>t.is0(s)?i:(n[c]=t.mul(i,n[c]),t.mul(i,s)),o),n}function fr(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function xi(t,e,n=!1,r={}){if(t<=F)throw new Error(`Expected Field ORDER > 0, got ${t}`);const{nBitLength:o,nByteLength:i}=fr(t,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const s=gi(t),c=Object.freeze({ORDER:t,BITS:o,BYTES:i,MASK:sn(o),ZERO:F,ONE:W,create:l=>J(l,t),isValid:l=>{if(typeof l!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof l}`);return F<=l&&l<t},is0:l=>l===F,isOdd:l=>(l&W)===W,neg:l=>J(-l,t),eql:(l,a)=>l===a,sqr:l=>J(l*l,t),add:(l,a)=>J(l+a,t),sub:(l,a)=>J(l-a,t),mul:(l,a)=>J(l*a,t),pow:(l,a)=>mi(c,l,a),div:(l,a)=>J(l*an(a,t),t),sqrN:l=>l*l,addN:(l,a)=>l+a,subN:(l,a)=>l-a,mulN:(l,a)=>l*a,inv:l=>an(l,t),sqrt:r.sqrt||(l=>s(c,l)),invertBatch:l=>Ei(c,l),cmov:(l,a,f)=>f?a:l,toBytes:l=>n?on(l,i):Nt(l,i),fromBytes:l=>{if(l.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${l.length}`);return n?rn(l):rt(l)}});return Object.freeze(c)}function dr(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function hr(t){const e=dr(t);return e+Math.ceil(e/2)}function vi(t,e,n=!1){const r=t.length,o=dr(e),i=hr(e);if(r<16||r<i||r>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);const s=n?rt(t):rn(t),c=J(s,e-W)+W;return n?on(c,o):Nt(c,o)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const _i=BigInt(0),un=BigInt(1);function ki(t,e){const n=(o,i)=>{const s=i.negate();return o?s:i},r=o=>{const i=Math.ceil(e/o)+1,s=2**(o-1);return{windows:i,windowSize:s}};return{constTimeNegate:n,unsafeLadder(o,i){let s=t.ZERO,c=o;for(;i>_i;)i&un&&(s=s.add(c)),c=c.double(),i>>=un;return s},precomputeWindow(o,i){const{windows:s,windowSize:c}=r(i),l=[];let a=o,f=a;for(let u=0;u<s;u++){f=a,l.push(f);for(let w=1;w<c;w++)f=f.add(a),l.push(f);a=f.double()}return l},wNAF(o,i,s){const{windows:c,windowSize:l}=r(o);let a=t.ZERO,f=t.BASE;const u=BigInt(2**o-1),w=2**o,h=BigInt(o);for(let g=0;g<c;g++){const d=g*l;let p=Number(s&u);s>>=h,p>l&&(p-=w,s+=un);const b=d,v=d+Math.abs(p)-1,B=g%2!==0,I=p<0;p===0?f=f.add(n(B,i[b])):a=a.add(n(I,i[v]))}return{p:a,f}},wNAFCached(o,i,s,c){const l=o._WINDOW_SIZE||1;let a=i.get(o);return a||(a=this.precomputeWindow(o,l),l!==1&&i.set(o,c(a))),this.wNAF(l,a,s)}}}function wr(t){return yi(t.Fp),fe(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...fr(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Si(t){const e=wr(t);fe(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:o}=e;if(n){if(!r.eql(o,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:Ai,hexToBytes:Bi}=di,Wt={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){const{Err:e}=Wt;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");const n=t[1],r=t.subarray(2,n+2);if(!n||r.length!==n)throw new e("Invalid signature integer: wrong length");if(r[0]&128)throw new e("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Ai(r),l:t.subarray(n+2)}},toSig(t){const{Err:e}=Wt,n=typeof t=="string"?Bi(t):t;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||n[0]!=48)throw new e("Invalid signature tag");if(n[1]!==r-2)throw new e("Invalid signature: incorrect length");const{d:o,l:i}=Wt._parseInt(n.subarray(2)),{d:s,l:c}=Wt._parseInt(i);if(c.length)throw new e("Invalid signature: left bytes after parsing");return{r:o,s}},hexFromSig(t){const e=a=>Number.parseInt(a[0],16)&8?"00"+a:a,n=a=>{const f=a.toString(16);return f.length&1?`0${f}`:f},r=e(n(t.s)),o=e(n(t.r)),i=r.length/2,s=o.length/2,c=n(i),l=n(s);return`30${n(s+i+4)}02${l}${o}02${c}${r}`}},mt=BigInt(0),lt=BigInt(1);BigInt(2);const pr=BigInt(3);BigInt(4);function Oi(t){const e=Si(t),{Fp:n}=e,r=e.toBytes||((g,d,p)=>{const b=d.toAffine();return Dt(Uint8Array.from([4]),n.toBytes(b.x),n.toBytes(b.y))}),o=e.fromBytes||(g=>{const d=g.subarray(1),p=n.fromBytes(d.subarray(0,n.BYTES)),b=n.fromBytes(d.subarray(n.BYTES,2*n.BYTES));return{x:p,y:b}});function i(g){const{a:d,b:p}=e,b=n.sqr(g),v=n.mul(b,g);return n.add(n.add(v,n.mul(g,d)),p)}if(!n.eql(n.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function s(g){return typeof g=="bigint"&&mt<g&&g<e.n}function c(g){if(!s(g))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function l(g){const{allowedPrivateKeyLengths:d,nByteLength:p,wrapPrivateKey:b,n:v}=e;if(d&&typeof g!="bigint"){if(g instanceof Uint8Array&&(g=te(g)),typeof g!="string"||!d.includes(g.length))throw new Error("Invalid key");g=g.padStart(p*2,"0")}let B;try{B=typeof g=="bigint"?g:rt(Q("private key",g,p))}catch{throw new Error(`private key must be ${p} bytes, hex or bigint, not ${typeof g}`)}return b&&(B=J(B,v)),c(B),B}const a=new Map;function f(g){if(!(g instanceof u))throw new Error("ProjectivePoint expected")}class u{constructor(d,p,b){if(this.px=d,this.py=p,this.pz=b,d==null||!n.isValid(d))throw new Error("x required");if(p==null||!n.isValid(p))throw new Error("y required");if(b==null||!n.isValid(b))throw new Error("z required")}static fromAffine(d){const{x:p,y:b}=d||{};if(!d||!n.isValid(p)||!n.isValid(b))throw new Error("invalid affine point");if(d instanceof u)throw new Error("projective point not allowed");const v=B=>n.eql(B,n.ZERO);return v(p)&&v(b)?u.ZERO:new u(p,b,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){const p=n.invertBatch(d.map(b=>b.pz));return d.map((b,v)=>b.toAffine(p[v])).map(u.fromAffine)}static fromHex(d){const p=u.fromAffine(o(Q("pointHex",d)));return p.assertValidity(),p}static fromPrivateKey(d){return u.BASE.multiply(l(d))}_setWindowSize(d){this._WINDOW_SIZE=d,a.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:d,y:p}=this.toAffine();if(!n.isValid(d)||!n.isValid(p))throw new Error("bad point: x or y not FE");const b=n.sqr(p),v=i(d);if(!n.eql(b,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:d}=this.toAffine();if(n.isOdd)return!n.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);const{px:p,py:b,pz:v}=this,{px:B,py:I,pz:N}=d,x=n.eql(n.mul(p,N),n.mul(B,v)),m=n.eql(n.mul(b,N),n.mul(I,v));return x&&m}negate(){return new u(this.px,n.neg(this.py),this.pz)}double(){const{a:d,b:p}=e,b=n.mul(p,pr),{px:v,py:B,pz:I}=this;let N=n.ZERO,x=n.ZERO,m=n.ZERO,y=n.mul(v,v),T=n.mul(B,B),P=n.mul(I,I),A=n.mul(v,B);return A=n.add(A,A),m=n.mul(v,I),m=n.add(m,m),N=n.mul(d,m),x=n.mul(b,P),x=n.add(N,x),N=n.sub(T,x),x=n.add(T,x),x=n.mul(N,x),N=n.mul(A,N),m=n.mul(b,m),P=n.mul(d,P),A=n.sub(y,P),A=n.mul(d,A),A=n.add(A,m),m=n.add(y,y),y=n.add(m,y),y=n.add(y,P),y=n.mul(y,A),x=n.add(x,y),P=n.mul(B,I),P=n.add(P,P),y=n.mul(P,A),N=n.sub(N,y),m=n.mul(P,T),m=n.add(m,m),m=n.add(m,m),new u(N,x,m)}add(d){f(d);const{px:p,py:b,pz:v}=this,{px:B,py:I,pz:N}=d;let x=n.ZERO,m=n.ZERO,y=n.ZERO;const T=e.a,P=n.mul(e.b,pr);let A=n.mul(p,B),H=n.mul(b,I),R=n.mul(v,N),Y=n.add(p,b),_=n.add(B,I);Y=n.mul(Y,_),_=n.add(A,H),Y=n.sub(Y,_),_=n.add(p,v);let S=n.add(B,N);return _=n.mul(_,S),S=n.add(A,R),_=n.sub(_,S),S=n.add(b,v),x=n.add(I,N),S=n.mul(S,x),x=n.add(H,R),S=n.sub(S,x),y=n.mul(T,_),x=n.mul(P,R),y=n.add(x,y),x=n.sub(H,y),y=n.add(H,y),m=n.mul(x,y),H=n.add(A,A),H=n.add(H,A),R=n.mul(T,R),_=n.mul(P,_),H=n.add(H,R),R=n.sub(A,R),R=n.mul(T,R),_=n.add(_,R),A=n.mul(H,_),m=n.add(m,A),A=n.mul(S,_),x=n.mul(Y,x),x=n.sub(x,A),A=n.mul(Y,H),y=n.mul(S,y),y=n.add(y,A),new u(x,m,y)}subtract(d){return this.add(d.negate())}is0(){return this.equals(u.ZERO)}wNAF(d){return h.wNAFCached(this,a,d,p=>{const b=n.invertBatch(p.map(v=>v.pz));return p.map((v,B)=>v.toAffine(b[B])).map(u.fromAffine)})}multiplyUnsafe(d){const p=u.ZERO;if(d===mt)return p;if(c(d),d===lt)return this;const{endo:b}=e;if(!b)return h.unsafeLadder(this,d);let{k1neg:v,k1:B,k2neg:I,k2:N}=b.splitScalar(d),x=p,m=p,y=this;for(;B>mt||N>mt;)B<&&(x=x.add(y)),N<&&(m=m.add(y)),y=y.double(),B>>=lt,N>>=lt;return v&&(x=x.negate()),I&&(m=m.negate()),m=new u(n.mul(m.px,b.beta),m.py,m.pz),x.add(m)}multiply(d){c(d);let p=d,b,v;const{endo:B}=e;if(B){const{k1neg:I,k1:N,k2neg:x,k2:m}=B.splitScalar(p);let{p:y,f:T}=this.wNAF(N),{p:P,f:A}=this.wNAF(m);y=h.constTimeNegate(I,y),P=h.constTimeNegate(x,P),P=new u(n.mul(P.px,B.beta),P.py,P.pz),b=y.add(P),v=T.add(A)}else{const{p:I,f:N}=this.wNAF(p);b=I,v=N}return u.normalizeZ([b,v])[0]}multiplyAndAddUnsafe(d,p,b){const v=u.BASE,B=(N,x)=>x===mt||x===lt||!N.equals(v)?N.multiplyUnsafe(x):N.multiply(x),I=B(this,p).add(B(d,b));return I.is0()?void 0:I}toAffine(d){const{px:p,py:b,pz:v}=this,B=this.is0();d==null&&(d=B?n.ONE:n.inv(v));const I=n.mul(p,d),N=n.mul(b,d),x=n.mul(v,d);if(B)return{x:n.ZERO,y:n.ZERO};if(!n.eql(x,n.ONE))throw new Error("invZ was invalid");return{x:I,y:N}}isTorsionFree(){const{h:d,isTorsionFree:p}=e;if(d===lt)return!0;if(p)return p(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:d,clearCofactor:p}=e;return d===lt?this:p?p(u,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return this.assertValidity(),r(u,this,d)}toHex(d=!0){return te(this.toRawBytes(d))}}u.BASE=new u(e.Gx,e.Gy,n.ONE),u.ZERO=new u(n.ZERO,n.ONE,n.ZERO);const w=e.nBitLength,h=ki(u,e.endo?Math.ceil(w/2):w);return{CURVE:e,ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:i,isWithinCurveOrder:s}}function Ii(t){const e=wr(t);return fe(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Ti(t){const e=Ii(t),{Fp:n,n:r}=e,o=n.BYTES+1,i=2*n.BYTES+1;function s(_){return mt<_&&_<n.ORDER}function c(_){return J(_,r)}function l(_){return an(_,r)}const{ProjectivePoint:a,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:w}=Oi({...e,toBytes(_,S,L){const M=S.toAffine(),z=n.toBytes(M.x),D=Dt;return L?D(Uint8Array.from([S.hasEvenY()?2:3]),z):D(Uint8Array.from([4]),z,n.toBytes(M.y))},fromBytes(_){const S=_.length,L=_[0],M=_.subarray(1);if(S===o&&(L===2||L===3)){const z=rt(M);if(!s(z))throw new Error("Point is not on curve");const D=u(z);let G=n.sqrt(D);const X=(G<)===lt;return(L&1)===1!==X&&(G=n.neg(G)),{x:z,y:G}}else if(S===i&&L===4){const z=n.fromBytes(M.subarray(0,n.BYTES)),D=n.fromBytes(M.subarray(n.BYTES,2*n.BYTES));return{x:z,y:D}}else throw new Error(`Point of length ${S} was invalid. Expected ${o} compressed bytes or ${i} uncompressed bytes`)}}),h=_=>te(Nt(_,e.nByteLength));function g(_){const S=r>>lt;return _>S}function d(_){return g(_)?c(-_):_}const p=(_,S,L)=>rt(_.slice(S,L));class b{constructor(S,L,M){this.r=S,this.s=L,this.recovery=M,this.assertValidity()}static fromCompact(S){const L=e.nByteLength;return S=Q("compactSignature",S,L*2),new b(p(S,0,L),p(S,L,2*L))}static fromDER(S){const{r:L,s:M}=Wt.toSig(Q("DER",S));return new b(L,M)}assertValidity(){if(!w(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!w(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(S){return new b(this.r,this.s,S)}recoverPublicKey(S){const{r:L,s:M,recovery:z}=this,D=m(Q("msgHash",S));if(z==null||![0,1,2,3].includes(z))throw new Error("recovery id invalid");const G=z===2||z===3?L+e.n:L;if(G>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const X=z&1?"03":"02",dt=a.fromHex(X+h(G)),ht=l(G),kt=c(-D*ht),$t=c(M*ht),it=a.BASE.multiplyAndAddUnsafe(dt,kt,$t);if(!it)throw new Error("point at infinify");return it.assertValidity(),it}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new b(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return ee(this.toDERHex())}toDERHex(){return Wt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ee(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}const v={isValidPrivateKey(_){try{return f(_),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{const _=hr(e.n);return vi(e.randomBytes(_),e.n)},precompute(_=8,S=a.BASE){return S._setWindowSize(_),S.multiply(BigInt(3)),S}};function B(_,S=!0){return a.fromPrivateKey(_).toRawBytes(S)}function I(_){const S=_ instanceof Uint8Array,L=typeof _=="string",M=(S||L)&&_.length;return S?M===o||M===i:L?M===2*o||M===2*i:_ instanceof a}function N(_,S,L=!0){if(I(_))throw new Error("first arg must be private key");if(!I(S))throw new Error("second arg must be public key");return a.fromHex(S).multiply(f(_)).toRawBytes(L)}const x=e.bits2int||function(_){const S=rt(_),L=_.length*8-e.nBitLength;return L>0?S>>BigInt(L):S},m=e.bits2int_modN||function(_){return c(x(_))},y=sn(e.nBitLength);function T(_){if(typeof _!="bigint")throw new Error("bigint expected");if(!(mt<=_&&_<y))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Nt(_,e.nByteLength)}function P(_,S,L=A){if(["recovered","canonical"].some(ut=>ut in L))throw new Error("sign() legacy options not supported");const{hash:M,randomBytes:z}=e;let{lowS:D,prehash:G,extraEntropy:X}=L;D==null&&(D=!0),_=Q("msgHash",_),G&&(_=Q("prehashed msgHash",M(_)));const dt=m(_),ht=f(S),kt=[T(ht),T(dt)];if(X!=null){const ut=X===!0?z(n.BYTES):X;kt.push(Q("extraEntropy",ut))}const $t=Dt(...kt),it=dt;function qt(ut){const St=x(ut);if(!w(St))return;const se=l(St),jt=a.BASE.multiply(St).toAffine(),st=c(jt.x);if(st===mt)return;const Mt=c(se*c(it+st*ht));if(Mt===mt)return;let je=(jt.x===st?0:2)|Number(jt.y<),Me=Mt;return D&&g(Mt)&&(Me=d(Mt),je^=1),new b(st,Me,je)}return{seed:$t,k2sig:qt}}const A={lowS:e.lowS,prehash:!1},H={lowS:e.lowS,prehash:!1};function R(_,S,L=A){const{seed:M,k2sig:z}=P(_,S,L),D=e;return lr(D.hash.outputLen,D.nByteLength,D.hmac)(M,z)}a.BASE._setWindowSize(8);function Y(_,S,L,M=H){var jt;const z=_;if(S=Q("msgHash",S),L=Q("publicKey",L),"strict"in M)throw new Error("options.strict was renamed to lowS");const{lowS:D,prehash:G}=M;let X,dt;try{if(typeof z=="string"||z instanceof Uint8Array)try{X=b.fromDER(z)}catch(st){if(!(st instanceof Wt.Err))throw st;X=b.fromCompact(z)}else if(typeof z=="object"&&typeof z.r=="bigint"&&typeof z.s=="bigint"){const{r:st,s:Mt}=z;X=new b(st,Mt)}else throw new Error("PARSE");dt=a.fromHex(L)}catch(st){if(st.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(D&&X.hasHighS())return!1;G&&(S=e.hash(S));const{r:ht,s:kt}=X,$t=m(S),it=l(kt),qt=c($t*it),ut=c(ht*it),St=(jt=a.BASE.multiplyAndAddUnsafe(dt,qt,ut))==null?void 0:jt.toAffine();return St?c(St.x)===ht:!1}return{CURVE:e,getPublicKey:B,getSharedSecret:N,sign:R,verify:Y,ProjectivePoint:a,Signature:b,utils:v}}class gr extends rr{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,Wo(e);const r=tn(n);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,i=new Uint8Array(o);i.set(r.length>o?e.create().update(r).digest():r);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=e.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(e){return Se(this),this.iHash.update(e),this}digestInto(e){Se(this),er(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return e=e,e.finished=o,e.destroyed=i,e.blockLen=s,e.outputLen=c,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const br=(t,e,n)=>new gr(t,e).update(n).digest();br.create=(t,e)=>new gr(t,e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ni(t){return{hash:t,hmac:(e,...n)=>br(t,e,Fo(...n)),randomBytes:or}}function Pi(t,e){const n=r=>Ti({...t,...Ni(r)});return Object.freeze({...n(e),create:n})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Oe=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Ie=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),yr=BigInt(1),Te=BigInt(2),mr=(t,e)=>(t+e/Te)/e;function Er(t){const e=Oe,n=BigInt(3),r=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),c=BigInt(44),l=BigInt(88),a=t*t*t%e,f=a*a*t%e,u=ct(f,n,e)*f%e,w=ct(u,n,e)*f%e,h=ct(w,Te,e)*a%e,g=ct(h,o,e)*h%e,d=ct(g,i,e)*g%e,p=ct(d,c,e)*d%e,b=ct(p,l,e)*p%e,v=ct(b,c,e)*d%e,B=ct(v,n,e)*f%e,I=ct(B,s,e)*g%e,N=ct(I,r,e)*a%e,x=ct(N,Te,e);if(!fn.eql(fn.sqr(x),t))throw new Error("Cannot find square root");return x}const fn=xi(Oe,void 0,void 0,{sqrt:Er}),de=Pi({a:BigInt(0),b:BigInt(7),Fp:fn,n:Ie,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=Ie,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-yr*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,s=BigInt("0x100000000000000000000000000000000"),c=mr(i*t,e),l=mr(-r*t,e);let a=J(t-c*n-l*o,e),f=J(-c*r-l*i,e);const u=a>s,w=f>s;if(u&&(a=e-a),w&&(f=e-f),a>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:u,k1:a,k2neg:w,k2:f}}}},en),Ne=BigInt(0),xr=t=>typeof t=="bigint"&&Ne<t&&t<Oe,Ui=t=>typeof t=="bigint"&&Ne<t&&t<Ie,vr={};function Pe(t,...e){let n=vr[t];if(n===void 0){const r=en(Uint8Array.from(t,o=>o.charCodeAt(0)));n=Dt(r,r),vr[t]=n}return en(Dt(n,...e))}const dn=t=>t.toRawBytes(!0).slice(1),hn=t=>Nt(t,32),wn=t=>J(t,Oe),he=t=>J(t,Ie),pn=de.ProjectivePoint,Li=(t,e,n)=>pn.BASE.multiplyAndAddUnsafe(t,e,n);function gn(t){let e=de.utils.normPrivateKeyToScalar(t),n=pn.fromPrivateKey(e);return{scalar:n.hasEvenY()?e:he(-e),bytes:dn(n)}}function _r(t){if(!xr(t))throw new Error("bad x: need 0 < x < p");const e=wn(t*t),n=wn(e*t+BigInt(7));let r=Er(n);r%Te!==Ne&&(r=wn(-r));const o=new pn(t,r,yr);return o.assertValidity(),o}function kr(...t){return he(rt(Pe("BIP0340/challenge",...t)))}function Ci(t){return gn(t).bytes}function Ri(t,e,n=or(32)){const r=Q("message",t),{bytes:o,scalar:i}=gn(e),s=Q("auxRand",n,32),c=hn(i^rt(Pe("BIP0340/aux",s))),l=Pe("BIP0340/nonce",c,o,r),a=he(rt(l));if(a===Ne)throw new Error("sign failed: k is zero");const{bytes:f,scalar:u}=gn(a),w=kr(f,o,r),h=new Uint8Array(64);if(h.set(f,0),h.set(hn(he(u+w*i)),32),!Sr(h,r,o))throw new Error("sign: Invalid signature produced");return h}function Sr(t,e,n){const r=Q("signature",t,64),o=Q("message",e),i=Q("publicKey",n,32);try{const s=_r(rt(i)),c=rt(r.subarray(0,32));if(!xr(c))return!1;const l=rt(r.subarray(32,64));if(!Ui(l))return!1;const a=kr(hn(c),dn(s),o),f=Li(s,l,he(-a));return!(!f||!f.hasEvenY()||f.toAffine().x!==c)}catch{return!1}}const nt={getPublicKey:Ci,sign:Ri,verify:Sr,utils:{randomPrivateKey:de.utils.randomPrivateKey,lift_x:_r,pointToBytes:dn,numberToBytesBE:Nt,bytesToNumberBE:rt,taggedHash:Pe,mod:J}};function bn(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Hi(t){if(typeof t!="boolean")throw new Error(`Expected boolean, not ${t}`)}function Ar(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function $i(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");bn(t.outputLen),bn(t.blockLen)}function qi(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function ji(t,e){Ar(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const yn={number:bn,bool:Hi,bytes:Ar,hash:$i,exists:qi,output:ji};function Mi(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),l=r?4:0,a=r?0:4;t.setUint32(e+l,s,r),t.setUint32(e+a,c,r)}class zi extends Do{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ye(this.buffer)}update(e){yn.exists(this);const{view:n,buffer:r,blockLen:o}=this;e=Qn(e);const i=e.length;for(let s=0;s<i;){const c=Math.min(o-this.pos,i-s);if(c===o){const l=Ye(e);for(;o<=i-s;s+=o)this.process(l,s);continue}r.set(e.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){yn.exists(this),yn.output(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:i}=this;let{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(r,0),s=0);for(let u=s;u<o;u++)n[u]=0;Mi(r,o-8,BigInt(this.length*8),i),this.process(r,0);const c=Ye(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const a=l/4,f=this.get();if(a>f.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<a;u++)c.setUint32(4*u,f[u],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:i,destroyed:s,pos:c}=this;return e.length=o,e.pos=c,e.finished=i,e.destroyed=s,o%n&&e.buffer.set(r),e}}const Ki=(t,e,n)=>t&e^~t&n,Di=(t,e,n)=>t&e^t&n^e&n,Vi=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Pt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ut=new Uint32Array(64);class Br extends zi{constructor(){super(64,32,8,!1),this.A=Pt[0]|0,this.B=Pt[1]|0,this.C=Pt[2]|0,this.D=Pt[3]|0,this.E=Pt[4]|0,this.F=Pt[5]|0,this.G=Pt[6]|0,this.H=Pt[7]|0}get(){const{A:e,B:n,C:r,D:o,E:i,F:s,G:c,H:l}=this;return[e,n,r,o,i,s,c,l]}set(e,n,r,o,i,s,c,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=l|0}process(e,n){for(let u=0;u<16;u++,n+=4)Ut[u]=e.getUint32(n,!1);for(let u=16;u<64;u++){const w=Ut[u-15],h=Ut[u-2],g=pt(w,7)^pt(w,18)^w>>>3,d=pt(h,17)^pt(h,19)^h>>>10;Ut[u]=d+Ut[u-7]+g+Ut[u-16]|0}let{A:r,B:o,C:i,D:s,E:c,F:l,G:a,H:f}=this;for(let u=0;u<64;u++){const w=pt(c,6)^pt(c,11)^pt(c,25),h=f+w+Ki(c,l,a)+Vi[u]+Ut[u]|0,d=(pt(r,2)^pt(r,13)^pt(r,22))+Di(r,o,i)|0;f=a,a=l,l=c,c=s+h|0,s=i,i=o,o=r,r=h+d|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,l=l+this.F|0,a=a+this.G|0,f=f+this.H|0,this.set(r,o,i,s,c,l,a,f)}roundClean(){Ut.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class Wi extends Br{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const mn=Xn(()=>new Br);Xn(()=>new Wi);var ne=Symbol("verified"),Zi=t=>t instanceof Object;function Gi(t){if(!Zi(t)||typeof t.kind!="number"||typeof t.content!="string"||typeof t.created_at!="number"||typeof t.pubkey!="string"||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]=="object")return!1}return!0}new TextDecoder("utf-8");var Fi=new TextEncoder,Yi=class{generateSecretKey(){return nt.utils.randomPrivateKey()}getPublicKey(e){return et(nt.getPublicKey(e))}finalizeEvent(e,n){const r=e;return r.pubkey=et(nt.getPublicKey(n)),r.id=En(r),r.sig=et(nt.sign(En(r),n)),r[ne]=!0,r}verifyEvent(e){if(typeof e[ne]=="boolean")return e[ne];const n=En(e);if(n!==e.id)return e[ne]=!1,!1;try{const r=nt.verify(e.sig,n,e.pubkey);return e[ne]=r,r}catch{return e[ne]=!1,!1}}};function Ji(t){if(!Gi(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}function En(t){let e=mn(Fi.encode(Ji(t)));return et(e)}var Ue=new Yi,Qi=Ue.generateSecretKey,Or=Ue.getPublicKey;Ue.finalizeEvent,Ue.verifyEvent;var Zt=Symbol("verified"),Xi=t=>t instanceof Object;function ts(t){if(!Xi(t)||typeof t.kind!="number"||typeof t.content!="string"||typeof t.created_at!="number"||typeof t.pubkey!="string"||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]=="object")return!1}return!0}new TextDecoder("utf-8");var es=new TextEncoder;function we(t){t.indexOf("://")===-1&&(t="wss://"+t);let e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),(e.port==="80"&&e.protocol==="ws:"||e.port==="443"&&e.protocol==="wss:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}var ns=class{constructor(e){E(this,"value");E(this,"next",null);E(this,"prev",null);this.value=e}},rs=class{constructor(){E(this,"first");E(this,"last");this.first=null,this.last=null}enqueue(e){const n=new ns(e);return this.last?this.last===this.first?(this.last=n,this.last.prev=this.first,this.first.next=n):(n.prev=this.last,this.last.next=n,this.last=n):(this.first=n,this.last=n),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const n=this.first;return this.first=null,this.last=null,n.value}const e=this.first;return this.first=e.next,e.value}},os=class{generateSecretKey(){return nt.utils.randomPrivateKey()}getPublicKey(e){return et(nt.getPublicKey(e))}finalizeEvent(e,n){const r=e;return r.pubkey=et(nt.getPublicKey(n)),r.id=xn(r),r.sig=et(nt.sign(xn(r),n)),r[Zt]=!0,r}verifyEvent(e){if(typeof e[Zt]=="boolean")return e[Zt];const n=xn(e);if(n!==e.id)return e[Zt]=!1,!1;try{const r=nt.verify(e.sig,n,e.pubkey);return e[Zt]=r,r}catch{return e[Zt]=!1,!1}}};function is(t){if(!ts(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}function xn(t){let e=mn(es.encode(is(t)));return et(e)}var Le=new os;Le.generateSecretKey,Le.getPublicKey,Le.finalizeEvent;var ss=Le.verifyEvent,cs=22242;function ls(t,e){if(t.ids&&t.ids.indexOf(e.id)===-1&&!t.ids.some(n=>e.id.startsWith(n))||t.kinds&&t.kinds.indexOf(e.kind)===-1||t.authors&&t.authors.indexOf(e.pubkey)===-1&&!t.authors.some(n=>e.pubkey.startsWith(n)))return!1;for(let n in t)if(n[0]==="#"){let r=n.slice(1),o=t[`#${r}`];if(o&&!e.tags.find(([i,s])=>i===n.slice(1)&&o.indexOf(s)!==-1))return!1}return!(t.since&&e.created_at<t.since||t.until&&e.created_at>t.until)}function as(t,e){for(let n=0;n<t.length;n++)if(ls(t[n],e))return!0;return!1}function us(t,e){let n=e.length+3,r=t.indexOf(`"${e}":`)+n,o=t.slice(r).indexOf('"')+r+1;return t.slice(o,o+64)}function fs(t){let e=t.slice(0,22).indexOf('"EVENT"');if(e===-1)return null;let n=t.slice(e+7+1).indexOf('"');if(n===-1)return null;let r=e+7+1+n,o=t.slice(r+1,80).indexOf('"');if(o===-1)return null;let i=r+1+o;return t.slice(r+1,i)}function ds(t,e){return{kind:cs,created_at:Math.floor(Date.now()/1e3),tags:[["relay",t],["challenge",e]],content:""}}async function hs(){return new Promise(t=>{const e=new MessageChannel,n=()=>{e.port1.removeEventListener("message",n),t()};e.port1.addEventListener("message",n),e.port2.postMessage(0),e.port1.start()})}var ws=t=>(t[Zt]=!0,!0),Ir;try{Ir=WebSocket}catch{}var Tr=class{constructor(e,n){E(this,"url");E(this,"_connected",!1);E(this,"onclose",null);E(this,"onnotice",e=>console.debug(`NOTICE from ${this.url}: ${e}`));E(this,"baseEoseTimeout",4400);E(this,"connectionTimeout",4400);E(this,"openSubs",new Map);E(this,"connectionTimeoutHandle");E(this,"connectionPromise");E(this,"openCountRequests",new Map);E(this,"openEventPublishes",new Map);E(this,"ws");E(this,"incomingMessageQueue",new rs);E(this,"queueRunning",!1);E(this,"challenge");E(this,"serial",0);E(this,"verifyEvent");this.url=we(e),this.verifyEvent=n.verifyEvent}static async connect(e,n){const r=new Tr(e,n);return await r.connect(),r}closeAllSubscriptions(e){for(let[n,r]of this.openSubs)r.close(e);this.openSubs.clear();for(let[n,r]of this.openEventPublishes)r.reject(new Error(e));this.openEventPublishes.clear();for(let[n,r]of this.openCountRequests)r.reject(new Error(e));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise?this.connectionPromise:(this.challenge=void 0,this.connectionPromise=new Promise((e,n)=>{this.connectionTimeoutHandle=setTimeout(()=>{var r;n("connection timed out"),this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection timed out")},this.connectionTimeout);try{this.ws=new Ir(this.url)}catch(r){n(r);return}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,e()},this.ws.onerror=r=>{var o;n(r.message),this._connected&&((o=this.onclose)==null||o.call(this),this.closeAllSubscriptions("relay connection errored"),this._connected=!1)},this.ws.onclose=async()=>{var r;this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection closed"),this._connected=!1},this.ws.onmessage=this._onmessage.bind(this)}),this.connectionPromise)}async runQueue(){for(this.queueRunning=!0;this.handleNext()!==!1;)await hs();this.queueRunning=!1}handleNext(){var r,o;const e=this.incomingMessageQueue.dequeue();if(!e)return!1;const n=fs(e);if(n){const i=this.openSubs.get(n);if(!i)return;const s=us(e,"id"),c=(r=i.alreadyHaveEvent)==null?void 0:r.call(i,s);if((o=i.receivedEvent)==null||o.call(i,this,s),c)return}try{let i=JSON.parse(e);switch(i[0]){case"EVENT":{const s=this.openSubs.get(i[1]),c=i[2];this.verifyEvent(c)&&as(s.filters,c)&&s.onevent(c);return}case"COUNT":{const s=i[1],c=i[2],l=this.openCountRequests.get(s);l&&(l.resolve(c.count),this.openCountRequests.delete(s));return}case"EOSE":{const s=this.openSubs.get(i[1]);if(!s)return;s.receivedEose();return}case"OK":{const s=i[1],c=i[2],l=i[3],a=this.openEventPublishes.get(s);c?a.resolve(l):a.reject(new Error(l)),this.openEventPublishes.delete(s);return}case"CLOSED":{const s=i[1],c=this.openSubs.get(s);if(!c)return;c.closed=!0,c.close(i[2]);return}case"NOTICE":this.onnotice(i[1]);return;case"AUTH":{this.challenge=i[1];return}}}catch{return}}async send(e){if(!this.connectionPromise)throw new Error("sending on closed connection");this.connectionPromise.then(()=>{var n;(n=this.ws)==null||n.send(e)})}async auth(e){if(!this.challenge)throw new Error("can't perform auth, no challenge was received");const n=await e(ds(this.url,this.challenge)),r=new Promise((o,i)=>{this.openEventPublishes.set(n.id,{resolve:o,reject:i})});return this.send('["AUTH",'+JSON.stringify(n)+"]"),r}async publish(e){const n=new Promise((r,o)=>{this.openEventPublishes.set(e.id,{resolve:r,reject:o})});return this.send('["EVENT",'+JSON.stringify(e)+"]"),n}async count(e,n){this.serial++;const r=(n==null?void 0:n.id)||"count:"+this.serial,o=new Promise((i,s)=>{this.openCountRequests.set(r,{resolve:i,reject:s})});return this.send('["COUNT","'+r+'",'+JSON.stringify(e)+"]"),o}subscribe(e,n){const r=this.prepareSubscription(e,n);return r.fire(),r}prepareSubscription(e,n){this.serial++;const r=n.id||"sub:"+this.serial,o=new ps(this,r,e,n);return this.openSubs.set(r,o),o}close(){var e;this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,(e=this.ws)==null||e.close()}_onmessage(e){this.incomingMessageQueue.enqueue(e.data),this.queueRunning||this.runQueue()}},ps=class{constructor(e,n,r,o){E(this,"relay");E(this,"id");E(this,"closed",!1);E(this,"eosed",!1);E(this,"filters");E(this,"alreadyHaveEvent");E(this,"receivedEvent");E(this,"onevent");E(this,"oneose");E(this,"onclose");E(this,"eoseTimeout");E(this,"eoseTimeoutHandle");this.relay=e,this.filters=r,this.id=n,this.alreadyHaveEvent=o.alreadyHaveEvent,this.receivedEvent=o.receivedEvent,this.eoseTimeout=o.eoseTimeout||e.baseEoseTimeout,this.oneose=o.oneose,this.onclose=o.onclose,this.onevent=o.onevent||(i=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,i)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){var e;this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,(e=this.oneose)==null||e.call(this))}close(e="closed by caller"){var n;this.closed||(this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]"),this.closed=!0),this.relay.openSubs.delete(this.id),(n=this.onclose)==null||n.call(this,e)}},gs=class{constructor(e){E(this,"relays",new Map);E(this,"seenOn",new Map);E(this,"trackRelays",!1);E(this,"verifyEvent");E(this,"trustedRelayURLs",new Set);this.verifyEvent=e.verifyEvent}async ensureRelay(e,n){e=we(e);let r=this.relays.get(e);return r||(r=new Tr(e,{verifyEvent:this.trustedRelayURLs.has(e)?ws:this.verifyEvent}),n!=null&&n.connectionTimeout&&(r.connectionTimeout=n.connectionTimeout),this.relays.set(e,r)),await r.connect(),r}close(e){e.map(we).forEach(n=>{var r;(r=this.relays.get(n))==null||r.close()})}subscribeMany(e,n,r){this.trackRelays&&(r.receivedEvent=(w,h)=>{let g=this.seenOn.get(h);g||(g=new Set,this.seenOn.set(h,g)),g.add(w)});const o=new Set,i=[],s=[];let c=w=>{var h;s[w]=!0,s.filter(g=>g).length===e.length&&((h=r.oneose)==null||h.call(r),c=()=>{})};const l=[];let a=(w,h)=>{var g;c(w),l[w]=h,l.filter(d=>d).length===e.length&&((g=r.onclose)==null||g.call(r,l),a=()=>{})};const f=w=>{var g;if((g=r.alreadyHaveEvent)!=null&&g.call(r,w))return!0;const h=o.has(w);return o.add(w),h},u=Promise.all(e.map(we).map(async(w,h,g)=>{if(g.indexOf(w)!==h){a(h,"duplicate url");return}let d;try{d=await this.ensureRelay(w,{connectionTimeout:r.maxWait?Math.max(r.maxWait*.8,r.maxWait-1e3):void 0})}catch(b){a(h,(b==null?void 0:b.message)||String(b));return}let p=d.subscribe(n,{...r,oneose:()=>c(h),onclose:b=>a(h,b),alreadyHaveEvent:f,eoseTimeout:r.maxWait});i.push(p)}));return{async close(){await u,i.forEach(w=>{w.close()})}}}subscribeManyEose(e,n,r){const o=this.subscribeMany(e,n,{...r,oneose(){o.close()}});return o}async querySync(e,n,r){return new Promise(async o=>{const i=[];this.subscribeManyEose(e,[n],{...r,onevent(s){i.push(s)},onclose(s){o(i)}})})}async get(e,n,r){n.limit=1;const o=await this.querySync(e,n,r);return o.sort((i,s)=>s.created_at-i.created_at),o[0]||null}publish(e,n){return e.map(we).map(async(r,o,i)=>i.indexOf(r)!==o?Promise.reject("duplicate url"):(await this.ensureRelay(r)).publish(n))}},bs=class extends gs{constructor(){super({verifyEvent:ss})}};function Nr(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Gt(t,...e){if(!Nr(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function Ce(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Pr(t,e){Gt(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */const ot=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),ys=t=>new DataView(t.buffer,t.byteOffset,t.byteLength);if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function ms(t){if(typeof t!="string")throw new Error(`string expected, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function pe(t){if(typeof t=="string")t=ms(t);else if(Nr(t))t=t.slice();else throw new Error(`Uint8Array expected, got ${typeof t}`);return t}const Es=(t,e)=>(Object.assign(e,t),e),Et=16,vn=new Uint8Array(16),bt=ot(vn),xs=225,vs=(t,e,n,r)=>{const o=r&1;return{s3:n<<31|r>>>1,s2:e<<31|n>>>1,s1:t<<31|e>>>1,s0:t>>>1^xs<<24&-(o&1)}},at=t=>(t>>>0&255)<<24|(t>>>8&255)<<16|(t>>>16&255)<<8|t>>>24&255|0;function _s(t){t.reverse();const e=t[15]&1;let n=0;for(let r=0;r<t.length;r++){const o=t[r];t[r]=o>>>1|n,n=(o&1)<<7}return t[0]^=-e&225,t}const ks=t=>t>64*1024?8:t>1024?4:2;class Ur{constructor(e,n){this.blockLen=Et,this.outputLen=Et,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,e=pe(e),Gt(e,16);const r=ys(e);let o=r.getUint32(0,!1),i=r.getUint32(4,!1),s=r.getUint32(8,!1),c=r.getUint32(12,!1);const l=[];for(let g=0;g<128;g++)l.push({s0:at(o),s1:at(i),s2:at(s),s3:at(c)}),{s0:o,s1:i,s2:s,s3:c}=vs(o,i,s,c);const a=ks(n||1024);if(![1,2,4,8].includes(a))throw new Error(`ghash: wrong window size=${a}, should be 2, 4 or 8`);this.W=a;const u=128/a,w=this.windowSize=2**a,h=[];for(let g=0;g<u;g++)for(let d=0;d<w;d++){let p=0,b=0,v=0,B=0;for(let I=0;I<a;I++){if(!(d>>>a-I-1&1))continue;const{s0:x,s1:m,s2:y,s3:T}=l[a*g+I];p^=x,b^=m,v^=y,B^=T}h.push({s0:p,s1:b,s2:v,s3:B})}this.t=h}_updateBlock(e,n,r,o){e^=this.s0,n^=this.s1,r^=this.s2,o^=this.s3;const{W:i,t:s,windowSize:c}=this;let l=0,a=0,f=0,u=0;const w=(1<<i)-1;let h=0;for(const g of[e,n,r,o])for(let d=0;d<4;d++){const p=g>>>8*d&255;for(let b=8/i-1;b>=0;b--){const v=p>>>i*b&w,{s0:B,s1:I,s2:N,s3:x}=s[h*c+v];l^=B,a^=I,f^=N,u^=x,h+=1}}this.s0=l,this.s1=a,this.s2=f,this.s3=u}update(e){e=pe(e),Ce(this);const n=ot(e),r=Math.floor(e.length/Et),o=e.length%Et;for(let i=0;i<r;i++)this._updateBlock(n[i*4+0],n[i*4+1],n[i*4+2],n[i*4+3]);return o&&(vn.set(e.subarray(r*Et)),this._updateBlock(bt[0],bt[1],bt[2],bt[3]),bt.fill(0)),this}destroy(){const{t:e}=this;for(const n of e)n.s0=0,n.s1=0,n.s2=0,n.s3=0}digestInto(e){Ce(this),Pr(e,this),this.finished=!0;const{s0:n,s1:r,s2:o,s3:i}=this,s=ot(e);return s[0]=n,s[1]=r,s[2]=o,s[3]=i,e}digest(){const e=new Uint8Array(Et);return this.digestInto(e),this.destroy(),e}}class Ss extends Ur{constructor(e,n){e=pe(e);const r=_s(e.slice());super(r,n),r.fill(0)}update(e){e=pe(e),Ce(this);const n=ot(e),r=e.length%Et,o=Math.floor(e.length/Et);for(let i=0;i<o;i++)this._updateBlock(at(n[i*4+3]),at(n[i*4+2]),at(n[i*4+1]),at(n[i*4+0]));return r&&(vn.set(e.subarray(o*Et)),this._updateBlock(at(bt[3]),at(bt[2]),at(bt[1]),at(bt[0])),bt.fill(0)),this}digestInto(e){Ce(this),Pr(e,this),this.finished=!0;const{s0:n,s1:r,s2:o,s3:i}=this,s=ot(e);return s[0]=n,s[1]=r,s[2]=o,s[3]=i,e.reverse()}}function Lr(t){const e=(r,o)=>t(o,r.length).update(pe(r)).digest(),n=t(new Uint8Array(16),0);return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=(r,o)=>t(r,o),e}Lr((t,e)=>new Ur(t,e)),Lr((t,e)=>new Ss(t,e));const Lt=16,As=283;function _n(t){return t<<1^As&-(t>>7)}function re(t,e){let n=0;for(;e>0;e>>=1)n^=t&-(e&1),t=_n(t);return n}const kn=(()=>{let t=new Uint8Array(256);for(let n=0,r=1;n<256;n++,r^=_n(r))t[n]=r;const e=new Uint8Array(256);e[0]=99;for(let n=0;n<255;n++){let r=t[255-n];r|=r<<8,e[t[n]]=(r^r>>4^r>>5^r>>6^r>>7^99)&255}return e})(),Bs=kn.map((t,e)=>kn.indexOf(e)),Os=t=>t<<24|t>>>8,Sn=t=>t<<8|t>>>24;function Cr(t,e){if(t.length!==256)throw new Error("Wrong sbox length");const n=new Uint32Array(256).map((a,f)=>e(t[f])),r=n.map(Sn),o=r.map(Sn),i=o.map(Sn),s=new Uint32Array(256*256),c=new Uint32Array(256*256),l=new Uint16Array(256*256);for(let a=0;a<256;a++)for(let f=0;f<256;f++){const u=a*256+f;s[u]=n[a]^r[f],c[u]=o[a]^i[f],l[u]=t[a]<<8|t[f]}return{sbox:t,sbox2:l,T0:n,T1:r,T2:o,T3:i,T01:s,T23:c}}const An=Cr(kn,t=>re(t,3)<<24|t<<16|t<<8|re(t,2)),Rr=Cr(Bs,t=>re(t,11)<<24|re(t,13)<<16|re(t,9)<<8|re(t,14)),Is=(()=>{const t=new Uint8Array(16);for(let e=0,n=1;e<16;e++,n=_n(n))t[e]=n;return t})();function Hr(t){Gt(t);const e=t.length;if(![16,24,32].includes(e))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${e}`);const{sbox2:n}=An,r=ot(t),o=r.length,i=c=>yt(n,c,c,c,c),s=new Uint32Array(e+28);s.set(r);for(let c=o;c<s.length;c++){let l=s[c-1];c%o===0?l=i(Os(l))^Is[c/o-1]:o>6&&c%o===4&&(l=i(l)),s[c]=s[c-o]^l}return s}function Ts(t){const e=Hr(t),n=e.slice(),r=e.length,{sbox2:o}=An,{T0:i,T1:s,T2:c,T3:l}=Rr;for(let a=0;a<r;a+=4)for(let f=0;f<4;f++)n[a+f]=e[r-a-4+f];e.fill(0);for(let a=4;a<r-4;a++){const f=n[a],u=yt(o,f,f,f,f);n[a]=i[u&255]^s[u>>>8&255]^c[u>>>16&255]^l[u>>>24]}return n}function Ct(t,e,n,r,o,i){return t[n<<8&65280|r>>>8&255]^e[o>>>8&65280|i>>>24&255]}function yt(t,e,n,r,o){return t[e&255|n&65280]|t[r>>>16&255|o>>>16&65280]<<16}function $r(t,e,n,r,o){const{sbox2:i,T01:s,T23:c}=An;let l=0;e^=t[l++],n^=t[l++],r^=t[l++],o^=t[l++];const a=t.length/4-2;for(let g=0;g<a;g++){const d=t[l++]^Ct(s,c,e,n,r,o),p=t[l++]^Ct(s,c,n,r,o,e),b=t[l++]^Ct(s,c,r,o,e,n),v=t[l++]^Ct(s,c,o,e,n,r);e=d,n=p,r=b,o=v}const f=t[l++]^yt(i,e,n,r,o),u=t[l++]^yt(i,n,r,o,e),w=t[l++]^yt(i,r,o,e,n),h=t[l++]^yt(i,o,e,n,r);return{s0:f,s1:u,s2:w,s3:h}}function Ns(t,e,n,r,o){const{sbox2:i,T01:s,T23:c}=Rr;let l=0;e^=t[l++],n^=t[l++],r^=t[l++],o^=t[l++];const a=t.length/4-2;for(let g=0;g<a;g++){const d=t[l++]^Ct(s,c,e,o,r,n),p=t[l++]^Ct(s,c,n,e,o,r),b=t[l++]^Ct(s,c,r,n,e,o),v=t[l++]^Ct(s,c,o,r,n,e);e=d,n=p,r=b,o=v}const f=t[l++]^yt(i,e,o,r,n),u=t[l++]^yt(i,n,e,o,r),w=t[l++]^yt(i,r,n,e,o),h=t[l++]^yt(i,o,r,n,e);return{s0:f,s1:u,s2:w,s3:h}}function qr(t,e){if(!e)return new Uint8Array(t);if(Gt(e),e.length<t)throw new Error(`aes: wrong destination length, expected at least ${t}, got: ${e.length}`);return e}function Ps(t){if(Gt(t),t.length%Lt!==0)throw new Error(`aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size ${Lt}`)}function Us(t,e,n){let r=t.length;const o=r%Lt;if(!e&&o!==0)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");const i=ot(t);if(e){let l=Lt-o;l||(l=Lt),r=r+l}const s=qr(r,n),c=ot(s);return{b:i,o:c,out:s}}function Ls(t,e){if(!e)return t;const n=t.length;if(!n)throw new Error("aes/pcks5: empty ciphertext not allowed");const r=t[n-1];if(r<=0||r>16)throw new Error(`aes/pcks5: wrong padding byte: ${r}`);const o=t.subarray(0,-r);for(let i=0;i<r;i++)if(t[n-i-1]!==r)throw new Error("aes/pcks5: wrong padding");return o}function Cs(t){const e=new Uint8Array(16),n=ot(e);e.set(t);const r=Lt-t.length;for(let o=Lt-r;o<Lt;o++)e[o]=r;return n}const jr=Es({blockSize:16,nonceLength:16},function(e,n,r={}){Gt(e),Gt(n,16);const o=!r.disablePadding;return{encrypt:(i,s)=>{const c=Hr(e),{b:l,o:a,out:f}=Us(i,o,s),u=ot(n);let w=u[0],h=u[1],g=u[2],d=u[3],p=0;for(;p+4<=l.length;)w^=l[p+0],h^=l[p+1],g^=l[p+2],d^=l[p+3],{s0:w,s1:h,s2:g,s3:d}=$r(c,w,h,g,d),a[p++]=w,a[p++]=h,a[p++]=g,a[p++]=d;if(o){const b=Cs(i.subarray(p*4));w^=b[0],h^=b[1],g^=b[2],d^=b[3],{s0:w,s1:h,s2:g,s3:d}=$r(c,w,h,g,d),a[p++]=w,a[p++]=h,a[p++]=g,a[p++]=d}return c.fill(0),f},decrypt:(i,s)=>{Ps(i);const c=Ts(e),l=ot(n),a=qr(i.length,s),f=ot(i),u=ot(a);let w=l[0],h=l[1],g=l[2],d=l[3];for(let p=0;p+4<=f.length;){const b=w,v=h,B=g,I=d;w=f[p+0],h=f[p+1],g=f[p+2],d=f[p+3];const{s0:N,s1:x,s2:m,s3:y}=Ns(c,w,h,g,d);u[p++]=N^b,u[p++]=x^v,u[p++]=m^B,u[p++]=y^I}return c.fill(0),Ls(a,o)}}});/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function oe(t){if(!Number.isSafeInteger(t))throw new Error(`Wrong integer: ${t}`)}function xt(...t){const e=(o,i)=>s=>o(i(s)),n=Array.from(t).reverse().reduce((o,i)=>o?e(o,i.encode):i.encode,void 0),r=t.reduce((o,i)=>o?e(o,i.decode):i.decode,void 0);return{encode:n,decode:r}}function vt(t){return{encode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return e.map(n=>{if(oe(n),n<0||n>=t.length)throw new Error(`Digit index outside alphabet: ${n} (alphabet: ${t.length})`);return t[n]})},decode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="string")throw new Error("alphabet.decode input should be array of strings");return e.map(n=>{if(typeof n!="string")throw new Error(`alphabet.decode: not string element=${n}`);const r=t.indexOf(n);if(r===-1)throw new Error(`Unknown letter: "${n}". Allowed: ${t}`);return r})}}}function _t(t=""){if(typeof t!="string")throw new Error("join separator should be string");return{encode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="string")throw new Error("join.encode input should be array of strings");for(let n of e)if(typeof n!="string")throw new Error(`join.encode: non-string input=${n}`);return e.join(t)},decode:e=>{if(typeof e!="string")throw new Error("join.decode input should be string");return e.split(t)}}}function Re(t,e="="){if(oe(t),typeof e!="string")throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let r of n)if(typeof r!="string")throw new Error(`padding.encode: non-string input=${r}`);for(;n.length*t%8;)n.push(e);return n},decode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let o of n)if(typeof o!="string")throw new Error(`padding.decode: non-string input=${o}`);let r=n.length;if(r*t%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===e;r--)if(!((r-1)*t%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}function Mr(t){if(typeof t!="function")throw new Error("normalize fn should be function");return{encode:e=>e,decode:e=>t(e)}}function zr(t,e,n){if(e<2)throw new Error(`convertRadix: wrong from=${e}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(t))throw new Error("convertRadix: data should be array");if(!t.length)return[];let r=0;const o=[],i=Array.from(t);for(i.forEach(s=>{if(oe(s),s<0||s>=e)throw new Error(`Wrong integer: ${s}`)});;){let s=0,c=!0;for(let l=r;l<i.length;l++){const a=i[l],f=e*s+a;if(!Number.isSafeInteger(f)||e*s/e!==s||f-a!==e*s)throw new Error("convertRadix: carry overflow");if(s=f%n,i[l]=Math.floor(f/n),!Number.isSafeInteger(i[l])||i[l]*n+s!==f)throw new Error("convertRadix: carry overflow");if(c)i[l]?c=!1:r=l;else continue}if(o.push(s),c)break}for(let s=0;s<t.length-1&&t[s]===0;s++)o.push(0);return o.reverse()}const Kr=(t,e)=>e?Kr(e,t%e):t,He=(t,e)=>t+(e-Kr(t,e));function Bn(t,e,n,r){if(!Array.isArray(t))throw new Error("convertRadix2: data should be array");if(e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(He(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${He(e,n)}`);let o=0,i=0;const s=2**n-1,c=[];for(const l of t){if(oe(l),l>=2**e)throw new Error(`convertRadix2: invalid data word=${l} from=${e}`);if(o=o<<e|l,i+e>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${e}`);for(i+=e;i>=n;i-=n)c.push((o>>i-n&s)>>>0);o&=2**i-1}if(o=o<<n-i&s,!r&&i>=e)throw new Error("Excess padding");if(!r&&o)throw new Error(`Non-zero padding: ${o}`);return r&&i>0&&c.push(o>>>0),c}function Rs(t){return oe(t),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return zr(Array.from(e),2**8,t)},decode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(zr(e,t,2**8))}}}function Rt(t,e=!1){if(oe(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(He(8,t)>32||He(t,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return Bn(Array.from(n),8,t,!e)},decode:n=>{if(!Array.isArray(n)||n.length&&typeof n[0]!="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(Bn(n,t,8,e))}}}function Dr(t){if(typeof t!="function")throw new Error("unsafeWrapper fn should be function");return function(...e){try{return t.apply(null,e)}catch{}}}const Hs=xt(Rt(4),vt("0123456789ABCDEF"),_t("")),$s=xt(Rt(5),vt("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Re(5),_t(""));xt(Rt(5),vt("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Re(5),_t("")),xt(Rt(5),vt("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),_t(""),Mr(t=>t.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const ge=xt(Rt(6),vt("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Re(6),_t("")),qs=xt(Rt(6),vt("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Re(6),_t("")),On=t=>xt(Rs(58),vt(t),_t("")),In=On("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");On("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),On("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const Vr=[0,2,3,5,6,7,9,10,11],js={encode(t){let e="";for(let n=0;n<t.length;n+=8){const r=t.subarray(n,n+8);e+=In.encode(r).padStart(Vr[r.length],"1")}return e},decode(t){let e=[];for(let n=0;n<t.length;n+=11){const r=t.slice(n,n+11),o=Vr.indexOf(r.length),i=In.decode(r);for(let s=0;s<i.length-o;s++)if(i[s]!==0)throw new Error("base58xmr: wrong padding");e=e.concat(Array.from(i.slice(i.length-o)))}return Uint8Array.from(e)}},Tn=xt(vt("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),_t("")),Wr=[996825010,642813549,513874426,1027748829,705979059];function be(t){const e=t>>25;let n=(t&33554431)<<5;for(let r=0;r<Wr.length;r++)(e>>r&1)===1&&(n^=Wr[r]);return n}function Zr(t,e,n=1){const r=t.length;let o=1;for(let i=0;i<r;i++){const s=t.charCodeAt(i);if(s<33||s>126)throw new Error(`Invalid prefix (${t})`);o=be(o)^s>>5}o=be(o);for(let i=0;i<r;i++)o=be(o)^t.charCodeAt(i)&31;for(let i of e)o=be(o)^i;for(let i=0;i<6;i++)o=be(o);return o^=n,Tn.encode(Bn([o%2**30],30,5,!1))}function Gr(t){const e=t==="bech32"?1:734539939,n=Rt(5),r=n.decode,o=n.encode,i=Dr(r);function s(f,u,w=90){if(typeof f!="string")throw new Error(`bech32.encode prefix should be string, not ${typeof f}`);if(!Array.isArray(u)||u.length&&typeof u[0]!="number")throw new Error(`bech32.encode words should be array of numbers, not ${typeof u}`);const h=f.length+7+u.length;if(w!==!1&&h>w)throw new TypeError(`Length ${h} exceeds limit ${w}`);return f=f.toLowerCase(),`${f}1${Tn.encode(u)}${Zr(f,u,e)}`}function c(f,u=90){if(typeof f!="string")throw new Error(`bech32.decode input should be string, not ${typeof f}`);if(f.length<8||u!==!1&&f.length>u)throw new TypeError(`Wrong string length: ${f.length} (${f}). Expected (8..${u})`);const w=f.toLowerCase();if(f!==w&&f!==f.toUpperCase())throw new Error("String must be lowercase or uppercase");f=w;const h=f.lastIndexOf("1");if(h===0||h===-1)throw new Error('Letter "1" must be present between prefix and data only');const g=f.slice(0,h),d=f.slice(h+1);if(d.length<6)throw new Error("Data must be at least 6 characters long");const p=Tn.decode(d).slice(0,-6),b=Zr(g,p,e);if(!d.endsWith(b))throw new Error(`Invalid checksum in ${f}: expected "${b}"`);return{prefix:g,words:p}}const l=Dr(c);function a(f){const{prefix:u,words:w}=c(f,!1);return{prefix:u,words:w,bytes:r(w)}}return{encode:s,decode:c,decodeToBytes:a,decodeUnsafe:l,fromWords:r,fromWordsUnsafe:i,toWords:o}}const Fr=Gr("bech32");Gr("bech32m");const Ms={encode:t=>new TextDecoder().decode(t),decode:t=>new TextEncoder().encode(t)},zs=xt(Rt(4),vt("0123456789abcdef"),_t(""),Mr(t=>{if(typeof t!="string"||t.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof t} with length ${t.length}`);return t.toLowerCase()}));`${Object.keys({utf8:Ms,hex:zs,base16:Hs,base32:$s,base64:ge,base64url:qs,base58:In,base58xmr:js}).join(", ")}`;var Ft=Symbol("verified"),Ks=t=>t instanceof Object;function Ds(t){if(!Ks(t)||typeof t.kind!="number"||typeof t.content!="string"||typeof t.created_at!="number"||typeof t.pubkey!="string"||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]=="object")return!1}return!0}var Vs=new TextDecoder("utf-8"),Yr=new TextEncoder;function ye(t){t.indexOf("://")===-1&&(t="wss://"+t);let e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),(e.port==="80"&&e.protocol==="ws:"||e.port==="443"&&e.protocol==="wss:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}var Ws=class{constructor(t){E(this,"value");E(this,"next",null);E(this,"prev",null);this.value=t}},Zs=class{constructor(){E(this,"first");E(this,"last");this.first=null,this.last=null}enqueue(t){const e=new Ws(t);return this.last?this.last===this.first?(this.last=e,this.last.prev=this.first,this.first.next=e):(e.prev=this.last,this.last.next=e,this.last=e):(this.first=e,this.last=e),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const e=this.first;return this.first=null,this.last=null,e.value}const t=this.first;return this.first=t.next,t.value}},Gs=class{generateSecretKey(){return nt.utils.randomPrivateKey()}getPublicKey(t){return et(nt.getPublicKey(t))}finalizeEvent(t,e){const n=t;return n.pubkey=et(nt.getPublicKey(e)),n.id=Nn(n),n.sig=et(nt.sign(Nn(n),e)),n[Ft]=!0,n}verifyEvent(t){if(typeof t[Ft]=="boolean")return t[Ft];const e=Nn(t);if(e!==t.id)return t[Ft]=!1,!1;try{const n=nt.verify(t.sig,e,t.pubkey);return t[Ft]=n,n}catch{return t[Ft]=!1,!1}}};function Fs(t){if(!Ds(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}function Nn(t){let e=mn(Yr.encode(Fs(t)));return et(e)}var $e=new Gs,Ys=$e.generateSecretKey,Jr=$e.getPublicKey,Js=$e.finalizeEvent,Qr=$e.verifyEvent;async function Qs(t,e,n){const r=t instanceof Uint8Array?et(t):t,o=de.getSharedSecret(r,"02"+e),i=Xr(o);let s=Uint8Array.from(Vo(16)),c=Yr.encode(n),l=jr(i,s).encrypt(c),a=ge.encode(new Uint8Array(l)),f=ge.encode(new Uint8Array(s.buffer));return`${a}?iv=${f}`}async function Xs(t,e,n){const r=t instanceof Uint8Array?et(t):t;let[o,i]=n.split("?iv="),s=de.getSharedSecret(r,"02"+e),c=Xr(s),l=ge.decode(i),a=ge.decode(o),f=jr(c,l).decrypt(a);return Vs.decode(f)}function Xr(t){return t.slice(1,33)}var tc=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/,ec;try{ec=fetch}catch{}var nc=22242,Pn=24133,rc=31990;function oc(t,e){if(t.ids&&t.ids.indexOf(e.id)===-1&&!t.ids.some(n=>e.id.startsWith(n))||t.kinds&&t.kinds.indexOf(e.kind)===-1||t.authors&&t.authors.indexOf(e.pubkey)===-1&&!t.authors.some(n=>e.pubkey.startsWith(n)))return!1;for(let n in t)if(n[0]==="#"){let r=n.slice(1),o=t[`#${r}`];if(o&&!e.tags.find(([i,s])=>i===n.slice(1)&&o.indexOf(s)!==-1))return!1}return!(t.since&&e.created_at<t.since||t.until&&e.created_at>t.until)}function ic(t,e){for(let n=0;n<t.length;n++)if(oc(t[n],e))return!0;return!1}function sc(t,e){let n=e.length+3,r=t.indexOf(`"${e}":`)+n,o=t.slice(r).indexOf('"')+r+1;return t.slice(o,o+64)}function cc(t){let e=t.slice(0,22).indexOf('"EVENT"');if(e===-1)return null;let n=t.slice(e+7+1).indexOf('"');if(n===-1)return null;let r=e+7+1+n,o=t.slice(r+1,80).indexOf('"');if(o===-1)return null;let i=r+1+o;return t.slice(r+1,i)}function lc(t,e){return{kind:nc,created_at:Math.floor(Date.now()/1e3),tags:[["relay",t],["challenge",e]],content:""}}async function ac(){return new Promise(t=>{const e=new MessageChannel,n=()=>{e.port1.removeEventListener("message",n),t()};e.port1.addEventListener("message",n),e.port2.postMessage(0),e.port1.start()})}var uc=t=>(t[Ft]=!0,!0),to;try{to=WebSocket}catch{}var eo=class{constructor(t,e){E(this,"url");E(this,"_connected",!1);E(this,"onclose",null);E(this,"onnotice",t=>console.debug(`NOTICE from ${this.url}: ${t}`));E(this,"baseEoseTimeout",4400);E(this,"connectionTimeout",4400);E(this,"openSubs",new Map);E(this,"connectionTimeoutHandle");E(this,"connectionPromise");E(this,"openCountRequests",new Map);E(this,"openEventPublishes",new Map);E(this,"ws");E(this,"incomingMessageQueue",new Zs);E(this,"queueRunning",!1);E(this,"challenge");E(this,"serial",0);E(this,"verifyEvent");this.url=ye(t),this.verifyEvent=e.verifyEvent}static async connect(t,e){const n=new eo(t,e);return await n.connect(),n}closeAllSubscriptions(t){for(let[e,n]of this.openSubs)n.close(t);this.openSubs.clear();for(let[e,n]of this.openEventPublishes)n.reject(new Error(t));this.openEventPublishes.clear();for(let[e,n]of this.openCountRequests)n.reject(new Error(t));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise?this.connectionPromise:(this.challenge=void 0,this.connectionPromise=new Promise((t,e)=>{this.connectionTimeoutHandle=setTimeout(()=>{var n;e("connection timed out"),this.connectionPromise=void 0,(n=this.onclose)==null||n.call(this),this.closeAllSubscriptions("relay connection timed out")},this.connectionTimeout);try{this.ws=new to(this.url)}catch(n){e(n);return}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,t()},this.ws.onerror=n=>{var r;e(n.message),this._connected&&((r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection errored"),this._connected=!1)},this.ws.onclose=async()=>{var n;this.connectionPromise=void 0,(n=this.onclose)==null||n.call(this),this.closeAllSubscriptions("relay connection closed"),this._connected=!1},this.ws.onmessage=this._onmessage.bind(this)}),this.connectionPromise)}async runQueue(){for(this.queueRunning=!0;this.handleNext()!==!1;)await ac();this.queueRunning=!1}handleNext(){var n,r;const t=this.incomingMessageQueue.dequeue();if(!t)return!1;const e=cc(t);if(e){const o=this.openSubs.get(e);if(!o)return;const i=sc(t,"id"),s=(n=o.alreadyHaveEvent)==null?void 0:n.call(o,i);if((r=o.receivedEvent)==null||r.call(o,this,i),s)return}try{let o=JSON.parse(t);switch(o[0]){case"EVENT":{const i=this.openSubs.get(o[1]),s=o[2];this.verifyEvent(s)&&ic(i.filters,s)&&i.onevent(s);return}case"COUNT":{const i=o[1],s=o[2],c=this.openCountRequests.get(i);c&&(c.resolve(s.count),this.openCountRequests.delete(i));return}case"EOSE":{const i=this.openSubs.get(o[1]);if(!i)return;i.receivedEose();return}case"OK":{const i=o[1],s=o[2],c=o[3],l=this.openEventPublishes.get(i);s?l.resolve(c):l.reject(new Error(c)),this.openEventPublishes.delete(i);return}case"CLOSED":{const i=o[1],s=this.openSubs.get(i);if(!s)return;s.closed=!0,s.close(o[2]);return}case"NOTICE":this.onnotice(o[1]);return;case"AUTH":{this.challenge=o[1];return}}}catch{return}}async send(t){if(!this.connectionPromise)throw new Error("sending on closed connection");this.connectionPromise.then(()=>{var e;(e=this.ws)==null||e.send(t)})}async auth(t){if(!this.challenge)throw new Error("can't perform auth, no challenge was received");const e=await t(lc(this.url,this.challenge)),n=new Promise((r,o)=>{this.openEventPublishes.set(e.id,{resolve:r,reject:o})});return this.send('["AUTH",'+JSON.stringify(e)+"]"),n}async publish(t){const e=new Promise((n,r)=>{this.openEventPublishes.set(t.id,{resolve:n,reject:r})});return this.send('["EVENT",'+JSON.stringify(t)+"]"),e}async count(t,e){this.serial++;const n=(e==null?void 0:e.id)||"count:"+this.serial,r=new Promise((o,i)=>{this.openCountRequests.set(n,{resolve:o,reject:i})});return this.send('["COUNT","'+n+'",'+JSON.stringify(t)+"]"),r}subscribe(t,e){const n=this.prepareSubscription(t,e);return n.fire(),n}prepareSubscription(t,e){this.serial++;const n=e.id||"sub:"+this.serial,r=new fc(this,n,t,e);return this.openSubs.set(n,r),r}close(){var t;this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,(t=this.ws)==null||t.close()}_onmessage(t){this.incomingMessageQueue.enqueue(t.data),this.queueRunning||this.runQueue()}},fc=class{constructor(t,e,n,r){E(this,"relay");E(this,"id");E(this,"closed",!1);E(this,"eosed",!1);E(this,"filters");E(this,"alreadyHaveEvent");E(this,"receivedEvent");E(this,"onevent");E(this,"oneose");E(this,"onclose");E(this,"eoseTimeout");E(this,"eoseTimeoutHandle");this.relay=t,this.filters=n,this.id=e,this.alreadyHaveEvent=r.alreadyHaveEvent,this.receivedEvent=r.receivedEvent,this.eoseTimeout=r.eoseTimeout||t.baseEoseTimeout,this.oneose=r.oneose,this.onclose=r.onclose,this.onevent=r.onevent||(o=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,o)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){var t;this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,(t=this.oneose)==null||t.call(this))}close(t="closed by caller"){var e;this.closed||(this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]"),this.closed=!0),this.relay.openSubs.delete(this.id),(e=this.onclose)==null||e.call(this,t)}},dc=class{constructor(t){E(this,"relays",new Map);E(this,"seenOn",new Map);E(this,"trackRelays",!1);E(this,"verifyEvent");E(this,"trustedRelayURLs",new Set);this.verifyEvent=t.verifyEvent}async ensureRelay(t,e){t=ye(t);let n=this.relays.get(t);return n||(n=new eo(t,{verifyEvent:this.trustedRelayURLs.has(t)?uc:this.verifyEvent}),e!=null&&e.connectionTimeout&&(n.connectionTimeout=e.connectionTimeout),this.relays.set(t,n)),await n.connect(),n}close(t){t.map(ye).forEach(e=>{var n;(n=this.relays.get(e))==null||n.close()})}subscribeMany(t,e,n){this.trackRelays&&(n.receivedEvent=(u,w)=>{let h=this.seenOn.get(w);h||(h=new Set,this.seenOn.set(w,h)),h.add(u)});const r=new Set,o=[],i=[];let s=u=>{var w;i[u]=!0,i.filter(h=>h).length===t.length&&((w=n.oneose)==null||w.call(n),s=()=>{})};const c=[];let l=(u,w)=>{var h;s(u),c[u]=w,c.filter(g=>g).length===t.length&&((h=n.onclose)==null||h.call(n,c),l=()=>{})};const a=u=>{var h;if((h=n.alreadyHaveEvent)!=null&&h.call(n,u))return!0;const w=r.has(u);return r.add(u),w},f=Promise.all(t.map(ye).map(async(u,w,h)=>{if(h.indexOf(u)!==w){l(w,"duplicate url");return}let g;try{g=await this.ensureRelay(u,{connectionTimeout:n.maxWait?Math.max(n.maxWait*.8,n.maxWait-1e3):void 0})}catch(p){l(w,(p==null?void 0:p.message)||String(p));return}let d=g.subscribe(e,{...n,oneose:()=>s(w),onclose:p=>l(w,p),alreadyHaveEvent:a,eoseTimeout:n.maxWait});o.push(d)}));return{async close(){await f,o.forEach(u=>{u.close()})}}}subscribeManyEose(t,e,n){const r=this.subscribeMany(t,e,{...n,oneose(){r.close()}});return r}async querySync(t,e,n){return new Promise(async r=>{const o=[];this.subscribeManyEose(t,[e],{...n,onevent(i){o.push(i)},onclose(i){r(o)}})})}async get(t,e,n){e.limit=1;const r=await this.querySync(t,e,n);return r.sort((o,i)=>i.created_at-o.created_at),r[0]||null}publish(t,e){return t.map(ye).map(async(n,r,o)=>o.indexOf(n)!==r?Promise.reject("duplicate url"):(await this.ensureRelay(n)).publish(e))}},hc=class extends dc{constructor(){super({verifyEvent:Qr})}},no;try{no=fetch}catch{}var qe=/^bunker:\/\/([0-9a-f]{64})\??([?\/\w:.=&%]*)$/,wc=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;async function pc(t){let e=t.match(qe);if(e)try{const n=e[1],r=new URLSearchParams(e[2]);return{pubkey:n,relays:r.getAll("relay"),secret:r.get("secret")}}catch{}return ro(t)}async function ro(t){const e=t.match(tc);if(!e)return null;const[n,r="_",o]=e;try{const i=`https://${o}/.well-known/nostr.json?name=${r}`,s=await(await no(i,{redirect:"error"})).json();let c=s.names[r],l=s.nip46[c]||[];return{pubkey:c,relays:l,secret:null}}catch{return null}}var oo=class{constructor(t,e,n={}){E(this,"pool");E(this,"subCloser");E(this,"isOpen");E(this,"serial");E(this,"idPrefix");E(this,"listeners");E(this,"waitingForAuth");E(this,"secretKey");E(this,"bp");if(e.relays.length===0)throw new Error("no relays are specified for this bunker");this.pool=n.pool||new hc,this.secretKey=t,this.bp=e,this.isOpen=!1,this.idPrefix=Math.random().toString(36).substring(7),this.serial=0,this.listeners={},this.waitingForAuth={};const r=this.listeners,o=this.waitingForAuth;this.subCloser=this.pool.subscribeMany(this.bp.relays,[{kinds:[Pn],"#p":[Jr(this.secretKey)]}],{async onevent(i){const{id:s,result:c,error:l}=JSON.parse(await Xs(t,i.pubkey,i.content));if(c==="auth_url"&&o[s]){delete o[s],n.onauth?n.onauth(l):console.warn(`nostr-tools/nip46: remote signer ${e.pubkey} tried to send an "auth_url"='${l}' but there was no onauth() callback configured.`);return}let a=r[s];a&&(l?a.reject(l):c&&a.resolve(c),delete r[s])}}),this.isOpen=!0}async close(){this.isOpen=!1,this.subCloser.close()}async sendRequest(t,e){return new Promise(async(n,r)=>{try{if(!this.isOpen)throw new Error("this signer is not open anymore, create a new one");this.serial++;const o=`${this.idPrefix}-${this.serial}`,i=await Qs(this.secretKey,this.bp.pubkey,JSON.stringify({id:o,method:t,params:e})),s=Js({kind:Pn,tags:[["p",this.bp.pubkey]],content:i,created_at:Math.floor(Date.now()/1e3)},this.secretKey);this.listeners[o]={resolve:n,reject:r},this.waitingForAuth[o]=!0,await Promise.any(this.pool.publish(this.bp.relays,s))}catch(o){r(o)}})}async ping(){let t=await this.sendRequest("ping",[]);if(t!=="pong")throw new Error(`result is not pong: ${t}`)}async connect(){await this.sendRequest("connect",[Jr(this.secretKey),this.bp.secret||""])}async getPublicKey(){return this.bp.pubkey}async getRelays(){return JSON.parse(await this.sendRequest("get_relays",[]))}async signEvent(t){let e=await this.sendRequest("sign_event",[JSON.stringify(t)]),n=JSON.parse(e);if(n.pubkey===this.bp.pubkey&&Qr(n))return n;throw new Error(`event returned from bunker is improperly signed: ${JSON.stringify(n)}`)}async nip04Encrypt(t,e){return await this.sendRequest("nip04_encrypt",[t,e])}async nip04Decrypt(t,e){return await this.sendRequest("nip04_decrypt",[t,e])}async nip44GetKey(t){let e=await this.sendRequest("nip44_get_key",[t]);return Je(e)}async nip44Encrypt(t,e){return await this.sendRequest("nip44_encrypt",[t,e])}async nip44Decrypt(t,e){return await this.sendRequest("nip44_encrypt",[t,e])}};async function gc(t,e,n,r,o){if(o&&!wc.test(o))throw new Error("Invalid email");let i=Ys(),s=new oo(i,t.bunkerPointer,e),c=await s.sendRequest("create_account",[n,r,o||""]);return s.bp.pubkey=c,await s.connect(),s}async function bc(t,e){const n=await t.querySync(e,{kinds:[rc],"#k":[Pn.toString()]});return n.sort((o,i)=>i.created_at-o.created_at),(await Promise.all(n.map(async(o,i)=>{try{const s=JSON.parse(o.content);try{if(n.findIndex(l=>JSON.parse(l.content).nip05===s.nip05)!==i)return}catch{}const c=await ro(s.nip05);if(c&&c.pubkey===o.pubkey&&c.relays.length)return{bunkerPointer:c,nip05:s.nip05,domain:s.nip05.split("@")[1],name:s.name||s.display_name,picture:s.picture,about:s.about,website:s.website,local:!1}}catch{return}}))).filter(o=>o!==void 0)}var io=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/,so;try{so=fetch}catch{}async function yc(t){var i;const e=t.match(io);if(!e)return null;const[n,r="_",o]=e;try{const s=`https://${o}/.well-known/nostr.json?name=${r}`,c=await(await so(s,{redirect:"error"})).json();let l=c.names[r];return l?{pubkey:l,relays:(i=c.relays)==null?void 0:i[l]}:null}catch{return null}}new TextDecoder("utf-8"),new TextEncoder;var mc=5e3;function Ec(t){return vc("npub",Je(t))}function xc(t,e){let n=Fr.toWords(e);return Fr.encode(t,n,mc)}function vc(t,e){return xc(t,e)}const ie=[];function _c(t,e=q){let n;const r=new Set;function o(c){if(ze(t,c)&&(t=c,n)){const l=!ie.length;for(const a of r)a[1](),ie.push(a,t);if(l){for(let a=0;a<ie.length;a+=2)ie[a][0](ie[a+1]);ie.length=0}}}function i(c){o(c(t))}function s(c,l=q){const a=[c,l];return r.add(a),r.size===1&&(n=e(o,i)||q),c(t),()=>{r.delete(a),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:s}}const kc=t=>{const{subscribe:e,set:n}=_c(void 0,()=>{let r=window.matchMedia(t);n(r.matches);const o=()=>n(r.matches);return"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),()=>{"removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o)}});return{subscribe:e}};function Sc(t){let e,n,r;return{c(){e=Ke("svg"),n=Ke("circle"),r=Ke("path"),k(n,"class","tw-opacity-25"),k(n,"cx","12"),k(n,"cy","12"),k(n,"r","10"),k(n,"stroke","currentColor"),k(n,"stroke-width","4"),k(r,"class","tw-opacity-75"),k(r,"fill","currentColor"),k(r,"d","M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"),k(e,"class","tw-animate-spin tw-ml-2 tw-h-5 tw-w-5 tw-text-white"),k(e,"xmlns","http://www.w3.org/2000/svg"),k(e,"fill","none"),k(e,"viewBox","0 0 24 24")},m(o,i){j(o,e,i),U(e,n),U(e,r)},p:q,i:q,o:q,d(o){o&&$(e)}}}class co extends Gn{constructor(e){super(),Zn(this,e,null,Sc,ze,{})}}const{window:Un}=Bo;function lo(t,e,n){const r=t.slice();return r[65]=e[n],r}function Ac(t){let e,n,r,o,i,s,c,l,a,f,u;const w=[Tc,Ic,Oc],h=[];function g(d,p){return d[12]?0:d[14]?d[14]?2:-1:1}return~(s=g(t))&&(c=h[s]=w[s](t)),{c(){e=C("div"),n=C("button"),r=Z("⤫"),i=V(),c&&c.c(),k(n,"class",o="tw-absolute tw-top-0 tw-right-0.5 tw-bg-transparent tw-border-none tw-cursor-pointer tw-text-"+t[0]+"-950 tw-text-3xl"),k(e,"class",l="sm:tw-w-80 tw-px-6 tw-py-8 tw-bg-"+t[0]+"-700 tw-rounded-md tw-shadow-[0_0px_30px_0px_rgba(0,0,0,0.6)] tw-transition-all tw-animate-show "+t[20])},m(d,p){j(d,e,p),U(e,n),U(n,r),U(e,i),~s&&h[s].m(e,null),a=!0,f||(u=tt(n,"click",t[23]),f=!0)},p(d,p){(!a||p[0]&1&&o!==(o="tw-absolute tw-top-0 tw-right-0.5 tw-bg-transparent tw-border-none tw-cursor-pointer tw-text-"+d[0]+"-950 tw-text-3xl"))&&k(n,"class",o);let b=s;s=g(d),s===b?~s&&h[s].p(d,p):(c&&(_e(),wt(h[b],1,1,()=>{h[b]=null}),ke()),~s?(c=h[s],c?c.p(d,p):(c=h[s]=w[s](d),c.c()),ft(c,1),c.m(e,null)):c=null),(!a||p[0]&1048577&&l!==(l="sm:tw-w-80 tw-px-6 tw-py-8 tw-bg-"+d[0]+"-700 tw-rounded-md tw-shadow-[0_0px_30px_0px_rgba(0,0,0,0.6)] tw-transition-all tw-animate-show "+d[20]))&&k(e,"class",l)},i(d){a||(ft(c),a=!0)},o(d){wt(c),a=!1},d(d){d&&$(e),~s&&h[s].d(),f=!1,u()}}}function Bc(t){let e,n,r,o,i;const s=[Cc,Lc,Uc],c=[];function l(a,f){return a[10]?0:a[14]?2:1}return n=l(t),r=c[n]=s[n](t),{c(){e=C("div"),r.c(),k(e,"class",o="tw-px-4 tw-py-2 tw-bg-"+t[0]+"-700 hover:tw-bg-"+t[0]+"-800 tw-rounded tw-shadow-[0_0px_10px_0px_rgba(0,0,0,0.3)] tw-transition-all tw-duration-200 "+t[20])},m(a,f){j(a,e,f),c[n].m(e,null),i=!0},p(a,f){let u=n;n=l(a),n===u?c[n].p(a,f):(_e(),wt(c[u],1,1,()=>{c[u]=null}),ke(),r=c[n],r?r.p(a,f):(r=c[n]=s[n](a),r.c()),ft(r,1),r.m(e,null)),(!i||f[0]&1048577&&o!==(o="tw-px-4 tw-py-2 tw-bg-"+a[0]+"-700 hover:tw-bg-"+a[0]+"-800 tw-rounded tw-shadow-[0_0px_10px_0px_rgba(0,0,0,0.3)] tw-transition-all tw-duration-200 "+a[20]))&&k(e,"class",o)},i(a){i||(ft(r),i=!0)},o(a){wt(r),i=!1},d(a){a&&$(e),c[n].d()}}}function Oc(t){let e,n,r,o,i,s,c=t[14].npub+"",l,a,f,u,w,h,g,d,p,b,v,B=Or(t[9])+"",I,N,x,m=(t[14].picture||t[14].name)&&ao(t);return{c(){e=C("div"),n=C("div"),n.textContent="You are connected to Nostr as",r=V(),o=C("a"),m&&m.c(),i=V(),s=C("div"),l=Z(c),f=V(),u=C("button"),w=Z("Disconnect"),g=V(),d=C("div"),p=Z("This webpage is using the public key:"),b=C("br"),v=V(),I=Z(B),k(n,"class","tw-text-sm tw-mb-4"),k(s,"class","tw-block tw-break-all"),k(o,"target","_blank"),k(o,"href",a="https://nosta.me/"+t[14].npub),k(o,"class","tw-text-white tw-no-underline tw-group"),k(e,"class","tw-text-center"),k(u,"class",h="tw-block tw-w-full tw-my-2 tw-mt-6 tw-px-2 tw-py-1 tw-text-lg tw-rounded tw-border-0 tw-bg-"+t[0]+"-900 hover:tw-bg-"+t[0]+"-950 tw-hover:bg-indigo-900 tw-cursor-pointer tw-text-white"),k(d,"class","tw-block tw-break-all tw-mt-6 tw-text-center tw-text-sm")},m(y,T){j(y,e,T),U(e,n),U(e,r),U(e,o),m&&m.m(o,null),U(o,i),U(o,s),U(s,l),j(y,f,T),j(y,u,T),U(u,w),j(y,g,T),j(y,d,T),U(d,p),U(d,b),U(d,v),U(d,I),N||(x=tt(u,"click",t[25]),N=!0)},p(y,T){y[14].picture||y[14].name?m?m.p(y,T):(m=ao(y),m.c(),m.m(o,i)):m&&(m.d(1),m=null),T[0]&16384&&c!==(c=y[14].npub+"")&&ce(l,c),T[0]&16384&&a!==(a="https://nosta.me/"+y[14].npub)&&k(o,"href",a),T[0]&1&&h!==(h="tw-block tw-w-full tw-my-2 tw-mt-6 tw-px-2 tw-py-1 tw-text-lg tw-rounded tw-border-0 tw-bg-"+y[0]+"-900 hover:tw-bg-"+y[0]+"-950 tw-hover:bg-indigo-900 tw-cursor-pointer tw-text-white")&&k(u,"class",h),T[0]&512&&B!==(B=Or(y[9])+"")&&ce(I,B)},i:q,o:q,d(y){y&&($(e),$(f),$(u),$(g),$(d)),m&&m.d(),N=!1,x()}}}function Ic(t){let e,n,r,o,i,s,c,l,a,f,u,w,h,g,d,p,b,v=t[13]&&ho(t);const B=[Pc,Nc],I=[];function N(y,T){return y[10]?0:1}l=N(t),a=I[l]=B[l](t);let x=t[10]&&t[11]&&wo(t),m=!t[10]&&po(t);return{c(){e=C("div"),e.textContent="How do you want to connect to Nostr?",n=V(),r=C("form"),o=C("input"),i=V(),v&&v.c(),s=V(),c=C("button"),a.c(),w=V(),x&&x.c(),h=V(),m&&m.c(),g=Io(),k(e,"class","tw-text-lg tw-text-center"),k(o,"class","tw-box-border tw-w-full tw-px-2 tw-py-1 tw-rounded tw-text-lg tw-border-none tw-outline-none"),k(o,"placeholder","user@provider or bunker://..."),o.autofocus=!0,o.disabled=t[10],k(c,"class",f="tw-flex tw-w-full tw-mt-4 tw-px-2 tw-py-1 tw-text-lg tw-rounded tw-border-0 tw-bg-"+t[0]+"-900 hover:tw-bg-"+t[0]+"-950 tw-hover:bg-indigo-900 tw-cursor-pointer tw-text-white disabled:tw-bg-neutral-400 disabled:tw-text-neutral-200 disabled:tw-cursor-default tw-items-center tw-justify-center"),c.disabled=u=!t[19]||t[10],k(r,"class","flex tw-mt-4 tw-mb-1")},m(y,T){j(y,e,T),j(y,n,T),j(y,r,T),U(r,o),t[40](o),Yt(o,t[2]),U(r,i),v&&v.m(r,null),U(r,s),U(r,c),I[l].m(c,null),U(r,w),x&&x.m(r,null),j(y,h,T),m&&m.m(y,T),j(y,g,T),d=!0,o.focus(),p||(b=[tt(o,"input",t[41]),tt(r,"submit",t[24])],p=!0)},p(y,T){(!d||T[0]&1024)&&(o.disabled=y[10]),T[0]&4&&o.value!==y[2]&&Yt(o,y[2]),y[13]?v?v.p(y,T):(v=ho(y),v.c(),v.m(r,s)):v&&(v.d(1),v=null);let P=l;l=N(y),l!==P&&(_e(),wt(I[P],1,1,()=>{I[P]=null}),ke(),a=I[l],a||(a=I[l]=B[l](y),a.c()),ft(a,1),a.m(c,null)),(!d||T[0]&1&&f!==(f="tw-flex tw-w-full tw-mt-4 tw-px-2 tw-py-1 tw-text-lg tw-rounded tw-border-0 tw-bg-"+y[0]+"-900 hover:tw-bg-"+y[0]+"-950 tw-hover:bg-indigo-900 tw-cursor-pointer tw-text-white disabled:tw-bg-neutral-400 disabled:tw-text-neutral-200 disabled:tw-cursor-default tw-items-center tw-justify-center"))&&k(c,"class",f),(!d||T[0]&525312&&u!==(u=!y[19]||y[10]))&&(c.disabled=u),y[10]&&y[11]?x?x.p(y,T):(x=wo(y),x.c(),x.m(r,null)):x&&(x.d(1),x=null),y[10]?m&&(m.d(1),m=null):m?m.p(y,T):(m=po(y),m.c(),m.m(g.parentNode,g))},i(y){d||(ft(a),d=!0)},o(y){wt(a),d=!1},d(y){y&&($(e),$(n),$(r),$(h),$(g)),t[40](null),v&&v.d(),I[l].d(),x&&x.d(),m&&m.d(y),p=!1,Ot(b)}}}function Tc(t){let e,n,r,o,i,s,c,l,a,f,u,w,h,g,d,p,b,v,B,I,N,x,m,y,T=Vn(t[15]),P=[];for(let A=0;A<T.length;A+=1)P[A]=go(lo(t,T,A));return{c(){e=C("div"),e.textContent="Create a Nostr account",n=V(),r=C("form"),o=C("div"),i=C("input"),s=V(),c=C("div"),c.textContent="@",l=V(),a=C("select");for(let A=0;A<P.length;A+=1)P[A].c();f=V(),u=C("div"),u.textContent=`A window from the selected provider will pop up to finalize the
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
var wa=Object.defineProperty;var ya=(ze,R,Te)=>R in ze?wa(ze,R,{enumerable:!0,configurable:!0,writable:!0,value:Te}):ze[R]=Te;var x=(ze,R,Te)=>(ya(ze,typeof R!="symbol"?R+"":R,Te),Te);(function(){"use strict";var Eo,_o;const ze='*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fixed{position:fixed}.absolute{position:absolute}.bottom-1{bottom:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.m-auto{margin:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.box-border{box-sizing:border-box}.block{display:block}.inline{display:inline}.flex{display:flex}.h-10{height:2.5rem}.h-5{height:1.25rem}.w-10{width:2.5rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-full{width:100%}@keyframes moveIn{0%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-fadein{animation:fadeIn 1s ease-in-out,moveIn 1s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-show{animation:fadeIn .2s ease-in-out}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border-0{border-width:0px}.border-2{border-width:2px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.bg-cyan-700{--tw-bg-opacity: 1;background-color:rgb(14 116 144 / var(--tw-bg-opacity))}.bg-cyan-800{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.bg-cyan-900{--tw-bg-opacity: 1;background-color:rgb(22 78 99 / var(--tw-bg-opacity))}.bg-cyan-950{--tw-bg-opacity: 1;background-color:rgb(8 51 68 / var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity: 1;background-color:rgb(22 101 52 / var(--tw-bg-opacity))}.bg-green-900{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity))}.bg-green-950{--tw-bg-opacity: 1;background-color:rgb(5 46 22 / var(--tw-bg-opacity))}.bg-neutral-700{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity))}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity))}.bg-neutral-950{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.bg-orange-700{--tw-bg-opacity: 1;background-color:rgb(194 65 12 / var(--tw-bg-opacity))}.bg-orange-800{--tw-bg-opacity: 1;background-color:rgb(154 52 18 / var(--tw-bg-opacity))}.bg-orange-900{--tw-bg-opacity: 1;background-color:rgb(124 45 18 / var(--tw-bg-opacity))}.bg-orange-950{--tw-bg-opacity: 1;background-color:rgb(67 20 7 / var(--tw-bg-opacity))}.bg-purple-700{--tw-bg-opacity: 1;background-color:rgb(126 34 206 / var(--tw-bg-opacity))}.bg-purple-800{--tw-bg-opacity: 1;background-color:rgb(107 33 168 / var(--tw-bg-opacity))}.bg-purple-900{--tw-bg-opacity: 1;background-color:rgb(88 28 135 / var(--tw-bg-opacity))}.bg-purple-950{--tw-bg-opacity: 1;background-color:rgb(59 7 100 / var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.bg-red-800{--tw-bg-opacity: 1;background-color:rgb(153 27 27 / var(--tw-bg-opacity))}.bg-red-900{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity))}.bg-red-950{--tw-bg-opacity: 1;background-color:rgb(69 10 10 / var(--tw-bg-opacity))}.bg-stone-700{--tw-bg-opacity: 1;background-color:rgb(68 64 60 / var(--tw-bg-opacity))}.bg-stone-800{--tw-bg-opacity: 1;background-color:rgb(41 37 36 / var(--tw-bg-opacity))}.bg-stone-900{--tw-bg-opacity: 1;background-color:rgb(28 25 23 / var(--tw-bg-opacity))}.bg-stone-950{--tw-bg-opacity: 1;background-color:rgb(12 10 9 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-cyan-900{--tw-gradient-from: #164e63 var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-900{--tw-gradient-from: #14532d var(--tw-gradient-from-position);--tw-gradient-to: rgb(20 83 45 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-neutral-900{--tw-gradient-from: #171717 var(--tw-gradient-from-position);--tw-gradient-to: rgb(23 23 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-900{--tw-gradient-from: #7c2d12 var(--tw-gradient-from-position);--tw-gradient-to: rgb(124 45 18 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-900{--tw-gradient-from: #581c87 var(--tw-gradient-from-position);--tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-900{--tw-gradient-from: #7f1d1d var(--tw-gradient-from-position);--tw-gradient-to: rgb(127 29 29 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-stone-900{--tw-gradient-from: #1c1917 var(--tw-gradient-from-position);--tw-gradient-to: rgb(28 25 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-cyan-700{--tw-gradient-to: #0e7490 var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to: #15803d var(--tw-gradient-to-position)}.to-neutral-700{--tw-gradient-to: #404040 var(--tw-gradient-to-position)}.to-orange-700{--tw-gradient-to: #c2410c var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #7e22ce var(--tw-gradient-to-position)}.to-red-700{--tw-gradient-to: #b91c1c var(--tw-gradient-to-position)}.to-stone-700{--tw-gradient-to: #44403c var(--tw-gradient-to-position)}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-neutral-600{--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-stone-600{--tw-text-opacity: 1;color:rgb(87 83 78 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-\\[0_0px_10px_0px_rgba\\(0\\,0\\,0\\,0\\.3\\)\\]{--tw-shadow: 0 0px 10px 0px rgba(0,0,0,.3);--tw-shadow-colored: 0 0px 10px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0px_30px_0px_rgba\\(0\\,0\\,0\\,0\\.6\\)\\]{--tw-shadow: 0 0px 30px 0px rgba(0,0,0,.6);--tw-shadow-colored: 0 0px 30px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-dashed{outline-style:dashed}.outline-1{outline-width:1px}.outline-offset-4{outline-offset:4px}.outline-cyan-500{outline-color:#06b6d4}.outline-green-500{outline-color:#22c55e}.outline-neutral-500{outline-color:#737373}.outline-orange-500{outline-color:#f97316}.outline-purple-500{outline-color:#a855f7}.outline-red-500{outline-color:#ef4444}.outline-stone-500{outline-color:#78716c}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.hover\\:bg-cyan-700:hover{--tw-bg-opacity: 1;background-color:rgb(14 116 144 / var(--tw-bg-opacity))}.hover\\:bg-cyan-800:hover{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.hover\\:bg-cyan-900:hover{--tw-bg-opacity: 1;background-color:rgb(22 78 99 / var(--tw-bg-opacity))}.hover\\:bg-cyan-950:hover{--tw-bg-opacity: 1;background-color:rgb(8 51 68 / var(--tw-bg-opacity))}.hover\\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity))}.hover\\:bg-green-800:hover{--tw-bg-opacity: 1;background-color:rgb(22 101 52 / var(--tw-bg-opacity))}.hover\\:bg-green-900:hover{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity))}.hover\\:bg-green-950:hover{--tw-bg-opacity: 1;background-color:rgb(5 46 22 / var(--tw-bg-opacity))}.hover\\:bg-neutral-700:hover{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity))}.hover\\:bg-neutral-800:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.hover\\:bg-neutral-900:hover{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity))}.hover\\:bg-neutral-950:hover{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.hover\\:bg-orange-700:hover{--tw-bg-opacity: 1;background-color:rgb(194 65 12 / var(--tw-bg-opacity))}.hover\\:bg-orange-800:hover{--tw-bg-opacity: 1;background-color:rgb(154 52 18 / var(--tw-bg-opacity))}.hover\\:bg-orange-900:hover{--tw-bg-opacity: 1;background-color:rgb(124 45 18 / var(--tw-bg-opacity))}.hover\\:bg-orange-950:hover{--tw-bg-opacity: 1;background-color:rgb(67 20 7 / var(--tw-bg-opacity))}.hover\\:bg-purple-700:hover{--tw-bg-opacity: 1;background-color:rgb(126 34 206 / var(--tw-bg-opacity))}.hover\\:bg-purple-800:hover{--tw-bg-opacity: 1;background-color:rgb(107 33 168 / var(--tw-bg-opacity))}.hover\\:bg-purple-900:hover{--tw-bg-opacity: 1;background-color:rgb(88 28 135 / var(--tw-bg-opacity))}.hover\\:bg-purple-950:hover{--tw-bg-opacity: 1;background-color:rgb(59 7 100 / var(--tw-bg-opacity))}.hover\\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.hover\\:bg-red-800:hover{--tw-bg-opacity: 1;background-color:rgb(153 27 27 / var(--tw-bg-opacity))}.hover\\:bg-red-900:hover{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity))}.hover\\:bg-red-950:hover{--tw-bg-opacity: 1;background-color:rgb(69 10 10 / var(--tw-bg-opacity))}.hover\\:bg-stone-700:hover{--tw-bg-opacity: 1;background-color:rgb(68 64 60 / var(--tw-bg-opacity))}.hover\\:bg-stone-800:hover{--tw-bg-opacity: 1;background-color:rgb(41 37 36 / var(--tw-bg-opacity))}.hover\\:bg-stone-900:hover{--tw-bg-opacity: 1;background-color:rgb(28 25 23 / var(--tw-bg-opacity))}.hover\\:bg-stone-950:hover{--tw-bg-opacity: 1;background-color:rgb(12 10 9 / var(--tw-bg-opacity))}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:bg-neutral-400:disabled{--tw-bg-opacity: 1;background-color:rgb(163 163 163 / var(--tw-bg-opacity))}.disabled\\:text-neutral-200:disabled{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}@media (min-width: 640px){.sm\\:w-96{width:24rem}}';function R(){}function Te(e){return e()}function jn(){return Object.create(null)}function Ne(e){e.forEach(Te)}function Mt(e){return typeof e=="function"}function Kt(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}let xt;function Et(e,t){return e===t?!0:(xt||(xt=document.createElement("a")),xt.href=t,e===xt.href)}function Ao(e){return Object.keys(e).length===0}function Bo(e,...t){if(e==null){for(const r of t)r(void 0);return R}const n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function Io(e,t,n){e.$$.on_destroy.push(Bo(t,n))}const Oo=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function B(e,t){e.appendChild(t)}function $(e,t,n){e.insertBefore(t,n||null)}function H(e){e.parentNode&&e.parentNode.removeChild(e)}function To(e,t){for(let n=0;n<e.length;n+=1)e[n]&&e[n].d(t)}function L(e){return document.createElement(e)}function Dt(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}function j(e){return document.createTextNode(e)}function K(){return j(" ")}function No(){return j("")}function Y(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function E(e,t,n){n==null?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Po(e){return Array.from(e.childNodes)}function Me(e,t){t=""+t,e.data!==t&&(e.data=t)}function Fe(e,t){e.value=t??""}function zn(e,t,n){for(let r=0;r<e.options.length;r+=1){const o=e.options[r];if(o.__value===t){o.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function Lo(e){const t=e.querySelector(":checked");return t&&t.__value}function Mn(e,t,n){e.classList.toggle(t,!!n)}let at;function lt(e){at=e}function Co(){if(!at)throw new Error("Function called outside component initialization");return at}function Uo(e){Co().$$.on_mount.push(e)}const Je=[],ut=[];let Qe=[];const Kn=[],Ro=Promise.resolve();let Wt=!1;function Ho(){Wt||(Wt=!0,Ro.then(Dn))}function _t(e){Qe.push(e)}const Vt=new Set;let Xe=0;function Dn(){if(Xe!==0)return;const e=at;do{try{for(;Xe<Je.length;){const t=Je[Xe];Xe++,lt(t),$o(t.$$)}}catch(t){throw Je.length=0,Xe=0,t}for(lt(null),Je.length=0,Xe=0;ut.length;)ut.pop()();for(let t=0;t<Qe.length;t+=1){const n=Qe[t];Vt.has(n)||(Vt.add(n),n())}Qe.length=0}while(Je.length);for(;Kn.length;)Kn.pop()();Wt=!1,Vt.clear(),lt(e)}function $o(e){if(e.fragment!==null){e.update(),Ne(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(_t)}}function qo(e){const t=[],n=[];Qe.forEach(r=>e.indexOf(r)===-1?t.push(r):n.push(r)),n.forEach(r=>r()),Qe=t}const kt=new Set;let Ke;function St(){Ke={r:0,c:[],p:Ke}}function At(){Ke.r||Ne(Ke.c),Ke=Ke.p}function ue(e,t){e&&e.i&&(kt.delete(e),e.i(t))}function be(e,t,n,r){if(e&&e.o){if(kt.has(e))return;kt.add(e),Ke.c.push(()=>{kt.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}else r&&r()}function Wn(e){return(e==null?void 0:e.length)!==void 0?e:Array.from(e)}function Vn(e){e&&e.c()}function Gt(e,t,n){const{fragment:r,after_update:o}=e.$$;r&&r.m(t,n),_t(()=>{const i=e.$$.on_mount.map(Te).filter(Mt);e.$$.on_destroy?e.$$.on_destroy.push(...i):Ne(i),e.$$.on_mount=[]}),o.forEach(_t)}function Zt(e,t){const n=e.$$;n.fragment!==null&&(qo(n.after_update),Ne(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function jo(e,t){e.$$.dirty[0]===-1&&(Je.push(e),Ho(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function Gn(e,t,n,r,o,i,s=null,c=[-1]){const a=at;lt(e);const l=e.$$={fragment:null,ctx:[],props:i,update:R,not_equal:o,bound:jn(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(a?a.$$.context:[])),callbacks:jn(),dirty:c,skip_bound:!1,root:t.target||a.$$.root};s&&s(l.root);let f=!1;if(l.ctx=n?n(e,t.props||{},(u,g,...h)=>{const b=h.length?h[0]:g;return l.ctx&&o(l.ctx[u],l.ctx[u]=b)&&(!l.skip_bound&&l.bound[u]&&l.bound[u](b),f&&jo(e,u)),g}):[],l.update(),f=!0,Ne(l.before_update),l.fragment=r?r(l.ctx):!1,t.target){if(t.hydrate){const u=Po(t.target);l.fragment&&l.fragment.l(u),u.forEach(H)}else l.fragment&&l.fragment.c();t.intro&&ue(e.$$.fragment),Gt(e,t.target,t.anchor),Dn()}lt(a)}class Zn{constructor(){x(this,"$$");x(this,"$$set")}$destroy(){Zt(this,1),this.$destroy=R}$on(t,n){if(!Mt(n))return R;const r=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return r.push(n),()=>{const o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(t){this.$$set&&!Ao(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const zo="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(zo);function Mo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yt={exports:{}};function Yn(e,t=100,n={}){if(typeof e!="function")throw new TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw new RangeError("`wait` must not be negative.");const{immediate:r}=typeof n=="boolean"?{immediate:n}:n;let o,i,s,c,a;function l(){const u=Date.now()-c;if(u<t&&u>=0)s=setTimeout(l,t-u);else if(s=void 0,!r){const g=o,h=i;o=void 0,i=void 0,a=e.apply(g,h)}}const f=function(...u){if(o&&this!==o)throw new Error("Debounced method called with different contexts.");o=this,i=u,c=Date.now();const g=r&&!s;if(s||(s=setTimeout(l,t)),g){const h=o,b=i;o=void 0,i=void 0,a=e.apply(h,b)}return a};return f.clear=()=>{s&&(clearTimeout(s),s=void 0)},f.flush=()=>{if(!s)return;const u=o,g=i;o=void 0,i=void 0,a=e.apply(u,g),clearTimeout(s),s=void 0},f}Yt.exports.debounce=Yn,Yt.exports=Yn;var Ko=Yt.exports;const Fn=Mo(Ko),Ft=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Jn=e=>e instanceof Uint8Array,Jt=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),we=(e,t)=>e<<32-t|e>>>t;if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");const Do=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function te(e){if(!Jn(e))throw new Error("Uint8Array expected");let t="";for(let n=0;n<e.length;n++)t+=Do[e[n]];return t}function Qt(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);const t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(t/2);for(let r=0;r<n.length;r++){const o=r*2,i=e.slice(o,o+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");n[r]=s}return n}function Wo(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Qn(e){if(typeof e=="string"&&(e=Wo(e)),!Jn(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}let Vo=class{clone(){return this._cloneInto()}};function Xn(e){const t=r=>e().update(Qn(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Go(e=32){if(Ft&&typeof Ft.getRandomValues=="function")return Ft.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function er(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function tr(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Zo(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");er(e.outputLen),er(e.blockLen)}function Bt(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Yo(e,t){tr(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const Xt=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const nr=e=>e instanceof Uint8Array,en=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),ye=(e,t)=>e<<32-t|e>>>t;if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function Fo(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function tn(e){if(typeof e=="string"&&(e=Fo(e)),!nr(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Jo(...e){const t=new Uint8Array(e.reduce((r,o)=>r+o.length,0));let n=0;return e.forEach(r=>{if(!nr(r))throw new Error("Uint8Array expected");t.set(r,n),n+=r.length}),t}class rr{clone(){return this._cloneInto()}}function Qo(e){const t=r=>e().update(tn(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function or(e=32){if(Xt&&typeof Xt.getRandomValues=="function")return Xt.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Xo(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,l=r?0:4;e.setUint32(t+a,s,r),e.setUint32(t+l,c,r)}let ei=class extends rr{constructor(t,n,r,o){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=en(this.buffer)}update(t){Bt(this);const{view:n,buffer:r,blockLen:o}=this;t=tn(t);const i=t.length;for(let s=0;s<i;){const c=Math.min(o-this.pos,i-s);if(c===o){const a=en(t);for(;o<=i-s;s+=o)this.process(a,s);continue}r.set(t.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Bt(this),Yo(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:i}=this;let{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(r,0),s=0);for(let u=s;u<o;u++)n[u]=0;Xo(r,o-8,BigInt(this.length*8),i),this.process(r,0);const c=en(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=a/4,f=this.get();if(l>f.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)c.setUint32(4*u,f[u],i)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:i,destroyed:s,pos:c}=this;return t.length=o,t.pos=c,t.finished=i,t.destroyed=s,o%n&&t.buffer.set(r),t}};const ti=(e,t,n)=>e&t^~e&n,ni=(e,t,n)=>e&t^e&n^t&n,ri=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Pe=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Le=new Uint32Array(64);let oi=class extends ei{constructor(){super(64,32,8,!1),this.A=Pe[0]|0,this.B=Pe[1]|0,this.C=Pe[2]|0,this.D=Pe[3]|0,this.E=Pe[4]|0,this.F=Pe[5]|0,this.G=Pe[6]|0,this.H=Pe[7]|0}get(){const{A:t,B:n,C:r,D:o,E:i,F:s,G:c,H:a}=this;return[t,n,r,o,i,s,c,a]}set(t,n,r,o,i,s,c,a){this.A=t|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(t,n){for(let u=0;u<16;u++,n+=4)Le[u]=t.getUint32(n,!1);for(let u=16;u<64;u++){const g=Le[u-15],h=Le[u-2],b=ye(g,7)^ye(g,18)^g>>>3,d=ye(h,17)^ye(h,19)^h>>>10;Le[u]=d+Le[u-7]+b+Le[u-16]|0}let{A:r,B:o,C:i,D:s,E:c,F:a,G:l,H:f}=this;for(let u=0;u<64;u++){const g=ye(c,6)^ye(c,11)^ye(c,25),h=f+g+ti(c,a,l)+ri[u]+Le[u]|0,d=(ye(r,2)^ye(r,13)^ye(r,22))+ni(r,o,i)|0;f=l,l=a,a=c,c=s+h|0,s=i,i=o,o=r,r=h+d|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,l=l+this.G|0,f=f+this.H|0,this.set(r,o,i,s,c,a,l,f)}roundClean(){Le.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const nn=Qo(()=>new oi);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ir=BigInt(0),It=BigInt(1),ii=BigInt(2),Ot=e=>e instanceof Uint8Array,si=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function et(e){if(!Ot(e))throw new Error("Uint8Array expected");let t="";for(let n=0;n<e.length;n++)t+=si[e[n]];return t}function sr(e){const t=e.toString(16);return t.length&1?`0${t}`:t}function rn(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function tt(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);const t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(t/2);for(let r=0;r<n.length;r++){const o=r*2,i=e.slice(o,o+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");n[r]=s}return n}function re(e){return rn(et(e))}function on(e){if(!Ot(e))throw new Error("Uint8Array expected");return rn(et(Uint8Array.from(e).reverse()))}function Ce(e,t){return tt(e.toString(16).padStart(t*2,"0"))}function sn(e,t){return Ce(e,t).reverse()}function ci(e){return tt(sr(e))}function X(e,t,n){let r;if(typeof t=="string")try{r=tt(t)}catch(i){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${i}`)}else if(Ot(t))r=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);const o=r.length;if(typeof n=="number"&&o!==n)throw new Error(`${e} expected ${n} bytes, got ${o}`);return r}function De(...e){const t=new Uint8Array(e.reduce((r,o)=>r+o.length,0));let n=0;return e.forEach(r=>{if(!Ot(r))throw new Error("Uint8Array expected");t.set(r,n),n+=r.length}),t}function ai(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function li(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function ui(e){let t;for(t=0;e>ir;e>>=It,t+=1);return t}function fi(e,t){return e>>BigInt(t)&It}const di=(e,t,n)=>e|(n?It:ir)<<BigInt(t),cn=e=>(ii<<BigInt(e-1))-It,an=e=>new Uint8Array(e),cr=e=>Uint8Array.from(e);function ar(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=an(e),o=an(e),i=0;const s=()=>{r.fill(1),o.fill(0),i=0},c=(...u)=>n(o,r,...u),a=(u=an())=>{o=c(cr([0]),u),r=c(),u.length!==0&&(o=c(cr([1]),u),r=c())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0;const g=[];for(;u<t;){r=c();const h=r.slice();g.push(h),u+=r.length}return De(...g)};return(u,g)=>{s(),a(u);let h;for(;!(h=g(l()));)a();return s(),h}}const hi={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function ft(e,t,n={}){const r=(o,i,s)=>{const c=hi[i];if(typeof c!="function")throw new Error(`Invalid validator "${i}", expected function`);const a=e[o];if(!(s&&a===void 0)&&!c(a,e))throw new Error(`Invalid param ${String(o)}=${a} (${typeof a}), expected ${i}`)};for(const[o,i]of Object.entries(t))r(o,i,!1);for(const[o,i]of Object.entries(n))r(o,i,!0);return e}const gi=Object.freeze(Object.defineProperty({__proto__:null,bitGet:fi,bitLen:ui,bitMask:cn,bitSet:di,bytesToHex:et,bytesToNumberBE:re,bytesToNumberLE:on,concatBytes:De,createHmacDrbg:ar,ensureBytes:X,equalBytes:ai,hexToBytes:tt,hexToNumber:rn,numberToBytesBE:Ce,numberToBytesLE:sn,numberToHexUnpadded:sr,numberToVarBytesBE:ci,utf8ToBytes:li,validateObject:ft},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const F=BigInt(0),Z=BigInt(1),We=BigInt(2),pi=BigInt(3),ln=BigInt(4),lr=BigInt(5),ur=BigInt(8);BigInt(9),BigInt(16);function Q(e,t){const n=e%t;return n>=F?n:t+n}function bi(e,t,n){if(n<=F||t<F)throw new Error("Expected power/modulo > 0");if(n===Z)return F;let r=Z;for(;t>F;)t&Z&&(r=r*e%n),e=e*e%n,t>>=Z;return r}function ce(e,t,n){let r=e;for(;t-- >F;)r*=r,r%=n;return r}function un(e,t){if(e===F||t<=F)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=Q(e,t),r=t,o=F,i=Z;for(;n!==F;){const c=r/n,a=r%n,l=o-i*c;r=n,n=a,o=i,i=l}if(r!==Z)throw new Error("invert: does not exist");return Q(o,t)}function wi(e){const t=(e-Z)/We;let n,r,o;for(n=e-Z,r=0;n%We===F;n/=We,r++);for(o=We;o<e&&bi(o,t,e)!==e-Z;o++);if(r===1){const s=(e+Z)/ln;return function(a,l){const f=a.pow(l,s);if(!a.eql(a.sqr(f),l))throw new Error("Cannot find square root");return f}}const i=(n+Z)/We;return function(c,a){if(c.pow(a,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let l=r,f=c.pow(c.mul(c.ONE,o),n),u=c.pow(a,i),g=c.pow(a,n);for(;!c.eql(g,c.ONE);){if(c.eql(g,c.ZERO))return c.ZERO;let h=1;for(let d=c.sqr(g);h<l&&!c.eql(d,c.ONE);h++)d=c.sqr(d);const b=c.pow(f,Z<<BigInt(l-h-1));f=c.sqr(b),u=c.mul(u,b),g=c.mul(g,f),l=h}return u}}function yi(e){if(e%ln===pi){const t=(e+Z)/ln;return function(r,o){const i=r.pow(o,t);if(!r.eql(r.sqr(i),o))throw new Error("Cannot find square root");return i}}if(e%ur===lr){const t=(e-lr)/ur;return function(r,o){const i=r.mul(o,We),s=r.pow(i,t),c=r.mul(o,s),a=r.mul(r.mul(c,We),s),l=r.mul(c,r.sub(a,r.ONE));if(!r.eql(r.sqr(l),o))throw new Error("Cannot find square root");return l}}return wi(e)}const mi=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function vi(e){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=mi.reduce((r,o)=>(r[o]="function",r),t);return ft(e,n)}function xi(e,t,n){if(n<F)throw new Error("Expected power > 0");if(n===F)return e.ONE;if(n===Z)return t;let r=e.ONE,o=t;for(;n>F;)n&Z&&(r=e.mul(r,o)),o=e.sqr(o),n>>=Z;return r}function Ei(e,t){const n=new Array(t.length),r=t.reduce((i,s,c)=>e.is0(s)?i:(n[c]=i,e.mul(i,s)),e.ONE),o=e.inv(r);return t.reduceRight((i,s,c)=>e.is0(s)?i:(n[c]=e.mul(i,n[c]),e.mul(i,s)),o),n}function fr(e,t){const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function _i(e,t,n=!1,r={}){if(e<=F)throw new Error(`Expected Field ORDER > 0, got ${e}`);const{nBitLength:o,nByteLength:i}=fr(e,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const s=yi(e),c=Object.freeze({ORDER:e,BITS:o,BYTES:i,MASK:cn(o),ZERO:F,ONE:Z,create:a=>Q(a,e),isValid:a=>{if(typeof a!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof a}`);return F<=a&&a<e},is0:a=>a===F,isOdd:a=>(a&Z)===Z,neg:a=>Q(-a,e),eql:(a,l)=>a===l,sqr:a=>Q(a*a,e),add:(a,l)=>Q(a+l,e),sub:(a,l)=>Q(a-l,e),mul:(a,l)=>Q(a*l,e),pow:(a,l)=>xi(c,a,l),div:(a,l)=>Q(a*un(l,e),e),sqrN:a=>a*a,addN:(a,l)=>a+l,subN:(a,l)=>a-l,mulN:(a,l)=>a*l,inv:a=>un(a,e),sqrt:r.sqrt||(a=>s(c,a)),invertBatch:a=>Ei(c,a),cmov:(a,l,f)=>f?l:a,toBytes:a=>n?sn(a,i):Ce(a,i),fromBytes:a=>{if(a.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${a.length}`);return n?on(a):re(a)}});return Object.freeze(c)}function dr(e){if(typeof e!="bigint")throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function hr(e){const t=dr(e);return t+Math.ceil(t/2)}function ki(e,t,n=!1){const r=e.length,o=dr(t),i=hr(t);if(r<16||r<i||r>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);const s=n?re(e):on(e),c=Q(s,t-Z)+Z;return n?sn(c,o):Ce(c,o)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Si=BigInt(0),fn=BigInt(1);function Ai(e,t){const n=(o,i)=>{const s=i.negate();return o?s:i},r=o=>{const i=Math.ceil(t/o)+1,s=2**(o-1);return{windows:i,windowSize:s}};return{constTimeNegate:n,unsafeLadder(o,i){let s=e.ZERO,c=o;for(;i>Si;)i&fn&&(s=s.add(c)),c=c.double(),i>>=fn;return s},precomputeWindow(o,i){const{windows:s,windowSize:c}=r(i),a=[];let l=o,f=l;for(let u=0;u<s;u++){f=l,a.push(f);for(let g=1;g<c;g++)f=f.add(l),a.push(f);l=f.double()}return a},wNAF(o,i,s){const{windows:c,windowSize:a}=r(o);let l=e.ZERO,f=e.BASE;const u=BigInt(2**o-1),g=2**o,h=BigInt(o);for(let b=0;b<c;b++){const d=b*a;let p=Number(s&u);s>>=h,p>a&&(p-=g,s+=fn);const w=d,m=d+Math.abs(p)-1,_=b%2!==0,O=p<0;p===0?f=f.add(n(_,i[w])):l=l.add(n(O,i[m]))}return{p:l,f}},wNAFCached(o,i,s,c){const a=o._WINDOW_SIZE||1;let l=i.get(o);return l||(l=this.precomputeWindow(o,a),a!==1&&i.set(o,c(l))),this.wNAF(a,l,s)}}}function gr(e){return vi(e.Fp),ft(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...fr(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Bi(e){const t=gr(e);ft(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:o}=t;if(n){if(!r.eql(o,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:Ii,hexToBytes:Oi}=gi,Ve={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){const{Err:t}=Ve;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");const n=e[1],r=e.subarray(2,n+2);if(!n||r.length!==n)throw new t("Invalid signature integer: wrong length");if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Ii(r),l:e.subarray(n+2)}},toSig(e){const{Err:t}=Ve,n=typeof e=="string"?Oi(e):e;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||n[0]!=48)throw new t("Invalid signature tag");if(n[1]!==r-2)throw new t("Invalid signature: incorrect length");const{d:o,l:i}=Ve._parseInt(n.subarray(2)),{d:s,l:c}=Ve._parseInt(i);if(c.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s}},hexFromSig(e){const t=l=>Number.parseInt(l[0],16)&8?"00"+l:l,n=l=>{const f=l.toString(16);return f.length&1?`0${f}`:f},r=t(n(e.s)),o=t(n(e.r)),i=r.length/2,s=o.length/2,c=n(i),a=n(s);return`30${n(s+i+4)}02${a}${o}02${c}${r}`}},ke=BigInt(0),ae=BigInt(1);BigInt(2);const pr=BigInt(3);BigInt(4);function Ti(e){const t=Bi(e),{Fp:n}=t,r=t.toBytes||((b,d,p)=>{const w=d.toAffine();return De(Uint8Array.from([4]),n.toBytes(w.x),n.toBytes(w.y))}),o=t.fromBytes||(b=>{const d=b.subarray(1),p=n.fromBytes(d.subarray(0,n.BYTES)),w=n.fromBytes(d.subarray(n.BYTES,2*n.BYTES));return{x:p,y:w}});function i(b){const{a:d,b:p}=t,w=n.sqr(b),m=n.mul(w,b);return n.add(n.add(m,n.mul(b,d)),p)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(b){return typeof b=="bigint"&&ke<b&&b<t.n}function c(b){if(!s(b))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function a(b){const{allowedPrivateKeyLengths:d,nByteLength:p,wrapPrivateKey:w,n:m}=t;if(d&&typeof b!="bigint"){if(b instanceof Uint8Array&&(b=et(b)),typeof b!="string"||!d.includes(b.length))throw new Error("Invalid key");b=b.padStart(p*2,"0")}let _;try{_=typeof b=="bigint"?b:re(X("private key",b,p))}catch{throw new Error(`private key must be ${p} bytes, hex or bigint, not ${typeof b}`)}return w&&(_=Q(_,m)),c(_),_}const l=new Map;function f(b){if(!(b instanceof u))throw new Error("ProjectivePoint expected")}class u{constructor(d,p,w){if(this.px=d,this.py=p,this.pz=w,d==null||!n.isValid(d))throw new Error("x required");if(p==null||!n.isValid(p))throw new Error("y required");if(w==null||!n.isValid(w))throw new Error("z required")}static fromAffine(d){const{x:p,y:w}=d||{};if(!d||!n.isValid(p)||!n.isValid(w))throw new Error("invalid affine point");if(d instanceof u)throw new Error("projective point not allowed");const m=_=>n.eql(_,n.ZERO);return m(p)&&m(w)?u.ZERO:new u(p,w,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){const p=n.invertBatch(d.map(w=>w.pz));return d.map((w,m)=>w.toAffine(p[m])).map(u.fromAffine)}static fromHex(d){const p=u.fromAffine(o(X("pointHex",d)));return p.assertValidity(),p}static fromPrivateKey(d){return u.BASE.multiply(a(d))}_setWindowSize(d){this._WINDOW_SIZE=d,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:d,y:p}=this.toAffine();if(!n.isValid(d)||!n.isValid(p))throw new Error("bad point: x or y not FE");const w=n.sqr(p),m=i(d);if(!n.eql(w,m))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:d}=this.toAffine();if(n.isOdd)return!n.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);const{px:p,py:w,pz:m}=this,{px:_,py:O,pz:N}=d,S=n.eql(n.mul(p,N),n.mul(_,m)),v=n.eql(n.mul(w,N),n.mul(O,m));return S&&v}negate(){return new u(this.px,n.neg(this.py),this.pz)}double(){const{a:d,b:p}=t,w=n.mul(p,pr),{px:m,py:_,pz:O}=this;let N=n.ZERO,S=n.ZERO,v=n.ZERO,y=n.mul(m,m),A=n.mul(_,_),C=n.mul(O,O),P=n.mul(m,_);return P=n.add(P,P),v=n.mul(m,O),v=n.add(v,v),N=n.mul(d,v),S=n.mul(w,C),S=n.add(N,S),N=n.sub(A,S),S=n.add(A,S),S=n.mul(N,S),N=n.mul(P,N),v=n.mul(w,v),C=n.mul(d,C),P=n.sub(y,C),P=n.mul(d,P),P=n.add(P,v),v=n.add(y,y),y=n.add(v,y),y=n.add(y,C),y=n.mul(y,P),S=n.add(S,y),C=n.mul(_,O),C=n.add(C,C),y=n.mul(C,P),N=n.sub(N,y),v=n.mul(C,A),v=n.add(v,v),v=n.add(v,v),new u(N,S,v)}add(d){f(d);const{px:p,py:w,pz:m}=this,{px:_,py:O,pz:N}=d;let S=n.ZERO,v=n.ZERO,y=n.ZERO;const A=t.a,C=n.mul(t.b,pr);let P=n.mul(p,_),M=n.mul(w,O),W=n.mul(m,N),oe=n.add(p,w),k=n.add(_,O);oe=n.mul(oe,k),k=n.add(P,M),oe=n.sub(oe,k),k=n.add(p,m);let T=n.add(_,N);return k=n.mul(k,T),T=n.add(P,W),k=n.sub(k,T),T=n.add(w,m),S=n.add(O,N),T=n.mul(T,S),S=n.add(M,W),T=n.sub(T,S),y=n.mul(A,k),S=n.mul(C,W),y=n.add(S,y),S=n.sub(M,y),y=n.add(M,y),v=n.mul(S,y),M=n.add(P,P),M=n.add(M,P),W=n.mul(A,W),k=n.mul(C,k),M=n.add(M,W),W=n.sub(P,W),W=n.mul(A,W),k=n.add(k,W),P=n.mul(M,k),v=n.add(v,P),P=n.mul(T,k),S=n.mul(oe,S),S=n.sub(S,P),P=n.mul(oe,M),y=n.mul(T,y),y=n.add(y,P),new u(S,v,y)}subtract(d){return this.add(d.negate())}is0(){return this.equals(u.ZERO)}wNAF(d){return h.wNAFCached(this,l,d,p=>{const w=n.invertBatch(p.map(m=>m.pz));return p.map((m,_)=>m.toAffine(w[_])).map(u.fromAffine)})}multiplyUnsafe(d){const p=u.ZERO;if(d===ke)return p;if(c(d),d===ae)return this;const{endo:w}=t;if(!w)return h.unsafeLadder(this,d);let{k1neg:m,k1:_,k2neg:O,k2:N}=w.splitScalar(d),S=p,v=p,y=this;for(;_>ke||N>ke;)_&ae&&(S=S.add(y)),N&ae&&(v=v.add(y)),y=y.double(),_>>=ae,N>>=ae;return m&&(S=S.negate()),O&&(v=v.negate()),v=new u(n.mul(v.px,w.beta),v.py,v.pz),S.add(v)}multiply(d){c(d);let p=d,w,m;const{endo:_}=t;if(_){const{k1neg:O,k1:N,k2neg:S,k2:v}=_.splitScalar(p);let{p:y,f:A}=this.wNAF(N),{p:C,f:P}=this.wNAF(v);y=h.constTimeNegate(O,y),C=h.constTimeNegate(S,C),C=new u(n.mul(C.px,_.beta),C.py,C.pz),w=y.add(C),m=A.add(P)}else{const{p:O,f:N}=this.wNAF(p);w=O,m=N}return u.normalizeZ([w,m])[0]}multiplyAndAddUnsafe(d,p,w){const m=u.BASE,_=(N,S)=>S===ke||S===ae||!N.equals(m)?N.multiplyUnsafe(S):N.multiply(S),O=_(this,p).add(_(d,w));return O.is0()?void 0:O}toAffine(d){const{px:p,py:w,pz:m}=this,_=this.is0();d==null&&(d=_?n.ONE:n.inv(m));const O=n.mul(p,d),N=n.mul(w,d),S=n.mul(m,d);if(_)return{x:n.ZERO,y:n.ZERO};if(!n.eql(S,n.ONE))throw new Error("invZ was invalid");return{x:O,y:N}}isTorsionFree(){const{h:d,isTorsionFree:p}=t;if(d===ae)return!0;if(p)return p(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:d,clearCofactor:p}=t;return d===ae?this:p?p(u,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return this.assertValidity(),r(u,this,d)}toHex(d=!0){return et(this.toRawBytes(d))}}u.BASE=new u(t.Gx,t.Gy,n.ONE),u.ZERO=new u(n.ZERO,n.ONE,n.ZERO);const g=t.nBitLength,h=Ai(u,t.endo?Math.ceil(g/2):g);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:a,weierstrassEquation:i,isWithinCurveOrder:s}}function Ni(e){const t=gr(e);return ft(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Pi(e){const t=Ni(e),{Fp:n,n:r}=t,o=n.BYTES+1,i=2*n.BYTES+1;function s(k){return ke<k&&k<n.ORDER}function c(k){return Q(k,r)}function a(k){return un(k,r)}const{ProjectivePoint:l,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:g}=Ti({...t,toBytes(k,T,U){const z=T.toAffine(),q=n.toBytes(z.x),V=De;return U?V(Uint8Array.from([T.hasEvenY()?2:3]),q):V(Uint8Array.from([4]),q,n.toBytes(z.y))},fromBytes(k){const T=k.length,U=k[0],z=k.subarray(1);if(T===o&&(U===2||U===3)){const q=re(z);if(!s(q))throw new Error("Point is not on curve");const V=u(q);let D=n.sqrt(V);const J=(D&ae)===ae;return(U&1)===1!==J&&(D=n.neg(D)),{x:q,y:D}}else if(T===i&&U===4){const q=n.fromBytes(z.subarray(0,n.BYTES)),V=n.fromBytes(z.subarray(n.BYTES,2*n.BYTES));return{x:q,y:V}}else throw new Error(`Point of length ${T} was invalid. Expected ${o} compressed bytes or ${i} uncompressed bytes`)}}),h=k=>et(Ce(k,t.nByteLength));function b(k){const T=r>>ae;return k>T}function d(k){return b(k)?c(-k):k}const p=(k,T,U)=>re(k.slice(T,U));class w{constructor(T,U,z){this.r=T,this.s=U,this.recovery=z,this.assertValidity()}static fromCompact(T){const U=t.nByteLength;return T=X("compactSignature",T,U*2),new w(p(T,0,U),p(T,U,2*U))}static fromDER(T){const{r:U,s:z}=Ve.toSig(X("DER",T));return new w(U,z)}assertValidity(){if(!g(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!g(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(T){return new w(this.r,this.s,T)}recoverPublicKey(T){const{r:U,s:z,recovery:q}=this,V=v(X("msgHash",T));if(q==null||![0,1,2,3].includes(q))throw new Error("recovery id invalid");const D=q===2||q===3?U+t.n:U;if(D>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const J=q&1?"03":"02",ie=l.fromHex(J+h(D)),fe=a(D),xe=c(-V*fe),de=c(z*fe),he=l.BASE.multiplyAndAddUnsafe(ie,xe,de);if(!he)throw new Error("point at infinify");return he.assertValidity(),he}hasHighS(){return b(this.s)}normalizeS(){return this.hasHighS()?new w(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return tt(this.toDERHex())}toDERHex(){return Ve.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return tt(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}const m={isValidPrivateKey(k){try{return f(k),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{const k=hr(t.n);return ki(t.randomBytes(k),t.n)},precompute(k=8,T=l.BASE){return T._setWindowSize(k),T.multiply(BigInt(3)),T}};function _(k,T=!0){return l.fromPrivateKey(k).toRawBytes(T)}function O(k){const T=k instanceof Uint8Array,U=typeof k=="string",z=(T||U)&&k.length;return T?z===o||z===i:U?z===2*o||z===2*i:k instanceof l}function N(k,T,U=!0){if(O(k))throw new Error("first arg must be private key");if(!O(T))throw new Error("second arg must be public key");return l.fromHex(T).multiply(f(k)).toRawBytes(U)}const S=t.bits2int||function(k){const T=re(k),U=k.length*8-t.nBitLength;return U>0?T>>BigInt(U):T},v=t.bits2int_modN||function(k){return c(S(k))},y=cn(t.nBitLength);function A(k){if(typeof k!="bigint")throw new Error("bigint expected");if(!(ke<=k&&k<y))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Ce(k,t.nByteLength)}function C(k,T,U=P){if(["recovered","canonical"].some(Ee=>Ee in U))throw new Error("sign() legacy options not supported");const{hash:z,randomBytes:q}=t;let{lowS:V,prehash:D,extraEntropy:J}=U;V==null&&(V=!0),k=X("msgHash",k),D&&(k=X("prehashed msgHash",z(k)));const ie=v(k),fe=f(T),xe=[A(fe),A(ie)];if(J!=null){const Ee=J===!0?q(n.BYTES):J;xe.push(X("extraEntropy",Ee))}const de=De(...xe),he=ie;function st(Ee){const Oe=S(Ee);if(!g(Oe))return;const mt=a(Oe),ge=l.BASE.multiply(Oe).toAffine(),ee=c(ge.x);if(ee===ke)return;const pe=c(mt*c(he+ee*fe));if(pe===ke)return;let vt=(ge.x===ee?0:2)|Number(ge.y&ae),ct=pe;return V&&b(pe)&&(ct=d(pe),vt^=1),new w(ee,ct,vt)}return{seed:de,k2sig:st}}const P={lowS:t.lowS,prehash:!1},M={lowS:t.lowS,prehash:!1};function W(k,T,U=P){const{seed:z,k2sig:q}=C(k,T,U),V=t;return ar(V.hash.outputLen,V.nByteLength,V.hmac)(z,q)}l.BASE._setWindowSize(8);function oe(k,T,U,z=M){var ge;const q=k;if(T=X("msgHash",T),U=X("publicKey",U),"strict"in z)throw new Error("options.strict was renamed to lowS");const{lowS:V,prehash:D}=z;let J,ie;try{if(typeof q=="string"||q instanceof Uint8Array)try{J=w.fromDER(q)}catch(ee){if(!(ee instanceof Ve.Err))throw ee;J=w.fromCompact(q)}else if(typeof q=="object"&&typeof q.r=="bigint"&&typeof q.s=="bigint"){const{r:ee,s:pe}=q;J=new w(ee,pe)}else throw new Error("PARSE");ie=l.fromHex(U)}catch(ee){if(ee.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(V&&J.hasHighS())return!1;D&&(T=t.hash(T));const{r:fe,s:xe}=J,de=v(T),he=a(xe),st=c(de*he),Ee=c(fe*he),Oe=(ge=l.BASE.multiplyAndAddUnsafe(ie,st,Ee))==null?void 0:ge.toAffine();return Oe?c(Oe.x)===fe:!1}return{CURVE:t,getPublicKey:_,getSharedSecret:N,sign:W,verify:oe,ProjectivePoint:l,Signature:w,utils:m}}class br extends rr{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,Zo(t);const r=tn(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,i=new Uint8Array(o);i.set(r.length>o?t.create().update(r).digest():r);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return Bt(this),this.iHash.update(t),this}digestInto(t){Bt(this),tr(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=c,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const wr=(e,t,n)=>new br(e,t).update(n).digest();wr.create=(e,t)=>new br(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Li(e){return{hash:e,hmac:(t,...n)=>wr(e,t,Jo(...n)),randomBytes:or}}function Ci(e,t){const n=r=>Pi({...e,...Li(r)});return Object.freeze({...n(t),create:n})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Tt=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Nt=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),yr=BigInt(1),Pt=BigInt(2),mr=(e,t)=>(e+t/Pt)/t;function vr(e){const t=Tt,n=BigInt(3),r=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),c=BigInt(44),a=BigInt(88),l=e*e*e%t,f=l*l*e%t,u=ce(f,n,t)*f%t,g=ce(u,n,t)*f%t,h=ce(g,Pt,t)*l%t,b=ce(h,o,t)*h%t,d=ce(b,i,t)*b%t,p=ce(d,c,t)*d%t,w=ce(p,a,t)*p%t,m=ce(w,c,t)*d%t,_=ce(m,n,t)*f%t,O=ce(_,s,t)*b%t,N=ce(O,r,t)*l%t,S=ce(N,Pt,t);if(!dn.eql(dn.sqr(S),e))throw new Error("Cannot find square root");return S}const dn=_i(Tt,void 0,void 0,{sqrt:vr}),dt=Ci({a:BigInt(0),b:BigInt(7),Fp:dn,n:Nt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Nt,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-yr*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,s=BigInt("0x100000000000000000000000000000000"),c=mr(i*e,t),a=mr(-r*e,t);let l=Q(e-c*n-a*o,t),f=Q(-c*r-a*i,t);const u=l>s,g=f>s;if(u&&(l=t-l),g&&(f=t-f),l>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:u,k1:l,k2neg:g,k2:f}}}},nn),Lt=BigInt(0),xr=e=>typeof e=="bigint"&&Lt<e&&e<Tt,Ui=e=>typeof e=="bigint"&&Lt<e&&e<Nt,Er={};function Ct(e,...t){let n=Er[e];if(n===void 0){const r=nn(Uint8Array.from(e,o=>o.charCodeAt(0)));n=De(r,r),Er[e]=n}return nn(De(n,...t))}const hn=e=>e.toRawBytes(!0).slice(1),gn=e=>Ce(e,32),pn=e=>Q(e,Tt),ht=e=>Q(e,Nt),bn=dt.ProjectivePoint,Ri=(e,t,n)=>bn.BASE.multiplyAndAddUnsafe(e,t,n);function wn(e){let t=dt.utils.normPrivateKeyToScalar(e),n=bn.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:ht(-t),bytes:hn(n)}}function _r(e){if(!xr(e))throw new Error("bad x: need 0 < x < p");const t=pn(e*e),n=pn(t*e+BigInt(7));let r=vr(n);r%Pt!==Lt&&(r=pn(-r));const o=new bn(e,r,yr);return o.assertValidity(),o}function kr(...e){return ht(re(Ct("BIP0340/challenge",...e)))}function Hi(e){return wn(e).bytes}function $i(e,t,n=or(32)){const r=X("message",e),{bytes:o,scalar:i}=wn(t),s=X("auxRand",n,32),c=gn(i^re(Ct("BIP0340/aux",s))),a=Ct("BIP0340/nonce",c,o,r),l=ht(re(a));if(l===Lt)throw new Error("sign failed: k is zero");const{bytes:f,scalar:u}=wn(l),g=kr(f,o,r),h=new Uint8Array(64);if(h.set(f,0),h.set(gn(ht(u+g*i)),32),!Sr(h,r,o))throw new Error("sign: Invalid signature produced");return h}function Sr(e,t,n){const r=X("signature",e,64),o=X("message",t),i=X("publicKey",n,32);try{const s=_r(re(i)),c=re(r.subarray(0,32));if(!xr(c))return!1;const a=re(r.subarray(32,64));if(!Ui(a))return!1;const l=kr(gn(c),hn(s),o),f=Ri(s,a,ht(-l));return!(!f||!f.hasEvenY()||f.toAffine().x!==c)}catch{return!1}}const ne={getPublicKey:Hi,sign:$i,verify:Sr,utils:{randomPrivateKey:dt.utils.randomPrivateKey,lift_x:_r,pointToBytes:hn,numberToBytesBE:Ce,bytesToNumberBE:re,taggedHash:Ct,mod:Q}};function yn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function qi(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Ar(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function ji(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");yn(e.outputLen),yn(e.blockLen)}function zi(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Mi(e,t){Ar(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const mn={number:yn,bool:qi,bytes:Ar,hash:ji,exists:zi,output:Mi};function Ki(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,l=r?0:4;e.setUint32(t+a,s,r),e.setUint32(t+l,c,r)}class Di extends Vo{constructor(t,n,r,o){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Jt(this.buffer)}update(t){mn.exists(this);const{view:n,buffer:r,blockLen:o}=this;t=Qn(t);const i=t.length;for(let s=0;s<i;){const c=Math.min(o-this.pos,i-s);if(c===o){const a=Jt(t);for(;o<=i-s;s+=o)this.process(a,s);continue}r.set(t.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){mn.exists(this),mn.output(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:i}=this;let{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(r,0),s=0);for(let u=s;u<o;u++)n[u]=0;Ki(r,o-8,BigInt(this.length*8),i),this.process(r,0);const c=Jt(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=a/4,f=this.get();if(l>f.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)c.setUint32(4*u,f[u],i)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:i,destroyed:s,pos:c}=this;return t.length=o,t.pos=c,t.finished=i,t.destroyed=s,o%n&&t.buffer.set(r),t}}const Wi=(e,t,n)=>e&t^~e&n,Vi=(e,t,n)=>e&t^e&n^t&n,Gi=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ue=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Re=new Uint32Array(64);class Br extends Di{constructor(){super(64,32,8,!1),this.A=Ue[0]|0,this.B=Ue[1]|0,this.C=Ue[2]|0,this.D=Ue[3]|0,this.E=Ue[4]|0,this.F=Ue[5]|0,this.G=Ue[6]|0,this.H=Ue[7]|0}get(){const{A:t,B:n,C:r,D:o,E:i,F:s,G:c,H:a}=this;return[t,n,r,o,i,s,c,a]}set(t,n,r,o,i,s,c,a){this.A=t|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(t,n){for(let u=0;u<16;u++,n+=4)Re[u]=t.getUint32(n,!1);for(let u=16;u<64;u++){const g=Re[u-15],h=Re[u-2],b=we(g,7)^we(g,18)^g>>>3,d=we(h,17)^we(h,19)^h>>>10;Re[u]=d+Re[u-7]+b+Re[u-16]|0}let{A:r,B:o,C:i,D:s,E:c,F:a,G:l,H:f}=this;for(let u=0;u<64;u++){const g=we(c,6)^we(c,11)^we(c,25),h=f+g+Wi(c,a,l)+Gi[u]+Re[u]|0,d=(we(r,2)^we(r,13)^we(r,22))+Vi(r,o,i)|0;f=l,l=a,a=c,c=s+h|0,s=i,i=o,o=r,r=h+d|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,l=l+this.G|0,f=f+this.H|0,this.set(r,o,i,s,c,a,l,f)}roundClean(){Re.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class Zi extends Br{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const vn=Xn(()=>new Br);Xn(()=>new Zi);var nt=Symbol("verified"),Yi=e=>e instanceof Object;function Fi(e){if(!Yi(e)||typeof e.kind!="number"||typeof e.content!="string"||typeof e.created_at!="number"||typeof e.pubkey!="string"||!e.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(e.tags))return!1;for(let t=0;t<e.tags.length;t++){let n=e.tags[t];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]=="object")return!1}return!0}new TextDecoder("utf-8");var Ji=new TextEncoder,Qi=class{generateSecretKey(){return ne.utils.randomPrivateKey()}getPublicKey(t){return te(ne.getPublicKey(t))}finalizeEvent(t,n){const r=t;return r.pubkey=te(ne.getPublicKey(n)),r.id=xn(r),r.sig=te(ne.sign(xn(r),n)),r[nt]=!0,r}verifyEvent(t){if(typeof t[nt]=="boolean")return t[nt];const n=xn(t);if(n!==t.id)return t[nt]=!1,!1;try{const r=ne.verify(t.sig,n,t.pubkey);return t[nt]=r,r}catch{return t[nt]=!1,!1}}};function Xi(e){if(!Fi(e))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,e.pubkey,e.created_at,e.kind,e.tags,e.content])}function xn(e){let t=vn(Ji.encode(Xi(e)));return te(t)}var Ut=new Qi,es=Ut.generateSecretKey,Ir=Ut.getPublicKey;Ut.finalizeEvent,Ut.verifyEvent;var Ge=Symbol("verified"),ts=e=>e instanceof Object;function ns(e){if(!ts(e)||typeof e.kind!="number"||typeof e.content!="string"||typeof e.created_at!="number"||typeof e.pubkey!="string"||!e.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(e.tags))return!1;for(let t=0;t<e.tags.length;t++){let n=e.tags[t];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]=="object")return!1}return!0}new TextDecoder("utf-8");var rs=new TextEncoder;function gt(e){e.indexOf("://")===-1&&(e="wss://"+e);let t=new URL(e);return t.pathname=t.pathname.replace(/\/+/g,"/"),t.pathname.endsWith("/")&&(t.pathname=t.pathname.slice(0,-1)),(t.port==="80"&&t.protocol==="ws:"||t.port==="443"&&t.protocol==="wss:")&&(t.port=""),t.searchParams.sort(),t.hash="",t.toString()}var os=class{constructor(t){x(this,"value");x(this,"next",null);x(this,"prev",null);this.value=t}},is=class{constructor(){x(this,"first");x(this,"last");this.first=null,this.last=null}enqueue(t){const n=new os(t);return this.last?this.last===this.first?(this.last=n,this.last.prev=this.first,this.first.next=n):(n.prev=this.last,this.last.next=n,this.last=n):(this.first=n,this.last=n),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const n=this.first;return this.first=null,this.last=null,n.value}const t=this.first;return this.first=t.next,t.value}},ss=class{generateSecretKey(){return ne.utils.randomPrivateKey()}getPublicKey(t){return te(ne.getPublicKey(t))}finalizeEvent(t,n){const r=t;return r.pubkey=te(ne.getPublicKey(n)),r.id=En(r),r.sig=te(ne.sign(En(r),n)),r[Ge]=!0,r}verifyEvent(t){if(typeof t[Ge]=="boolean")return t[Ge];const n=En(t);if(n!==t.id)return t[Ge]=!1,!1;try{const r=ne.verify(t.sig,n,t.pubkey);return t[Ge]=r,r}catch{return t[Ge]=!1,!1}}};function cs(e){if(!ns(e))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,e.pubkey,e.created_at,e.kind,e.tags,e.content])}function En(e){let t=vn(rs.encode(cs(e)));return te(t)}var Rt=new ss;Rt.generateSecretKey,Rt.getPublicKey,Rt.finalizeEvent;var as=Rt.verifyEvent,ls=22242;function us(e,t){if(e.ids&&e.ids.indexOf(t.id)===-1&&!e.ids.some(n=>t.id.startsWith(n))||e.kinds&&e.kinds.indexOf(t.kind)===-1||e.authors&&e.authors.indexOf(t.pubkey)===-1&&!e.authors.some(n=>t.pubkey.startsWith(n)))return!1;for(let n in e)if(n[0]==="#"){let r=n.slice(1),o=e[`#${r}`];if(o&&!t.tags.find(([i,s])=>i===n.slice(1)&&o.indexOf(s)!==-1))return!1}return!(e.since&&t.created_at<e.since||e.until&&t.created_at>e.until)}function fs(e,t){for(let n=0;n<e.length;n++)if(us(e[n],t))return!0;return!1}function ds(e,t){let n=t.length+3,r=e.indexOf(`"${t}":`)+n,o=e.slice(r).indexOf('"')+r+1;return e.slice(o,o+64)}function hs(e){let t=e.slice(0,22).indexOf('"EVENT"');if(t===-1)return null;let n=e.slice(t+7+1).indexOf('"');if(n===-1)return null;let r=t+7+1+n,o=e.slice(r+1,80).indexOf('"');if(o===-1)return null;let i=r+1+o;return e.slice(r+1,i)}function gs(e,t){return{kind:ls,created_at:Math.floor(Date.now()/1e3),tags:[["relay",e],["challenge",t]],content:""}}async function ps(){return new Promise(e=>{const t=new MessageChannel,n=()=>{t.port1.removeEventListener("message",n),e()};t.port1.addEventListener("message",n),t.port2.postMessage(0),t.port1.start()})}var bs=e=>(e[Ge]=!0,!0),Or;try{Or=WebSocket}catch{}var Tr=class{constructor(t,n){x(this,"url");x(this,"_connected",!1);x(this,"onclose",null);x(this,"onnotice",t=>console.debug(`NOTICE from ${this.url}: ${t}`));x(this,"_onauth",null);x(this,"baseEoseTimeout",4400);x(this,"connectionTimeout",4400);x(this,"openSubs",new Map);x(this,"connectionTimeoutHandle");x(this,"connectionPromise");x(this,"openCountRequests",new Map);x(this,"openEventPublishes",new Map);x(this,"ws");x(this,"incomingMessageQueue",new is);x(this,"queueRunning",!1);x(this,"challenge");x(this,"serial",0);x(this,"verifyEvent");this.url=gt(t),this.verifyEvent=n.verifyEvent}static async connect(t,n){const r=new Tr(t,n);return await r.connect(),r}closeAllSubscriptions(t){for(let[n,r]of this.openSubs)r.close(t);this.openSubs.clear();for(let[n,r]of this.openEventPublishes)r.reject(new Error(t));this.openEventPublishes.clear();for(let[n,r]of this.openCountRequests)r.reject(new Error(t));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise?this.connectionPromise:(this.challenge=void 0,this.connectionPromise=new Promise((t,n)=>{this.connectionTimeoutHandle=setTimeout(()=>{var r;n("connection timed out"),this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection timed out")},this.connectionTimeout);try{this.ws=new Or(this.url)}catch(r){n(r);return}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,t()},this.ws.onerror=r=>{var o;n(r.message),this._connected&&(this._connected=!1,this.connectionPromise=void 0,(o=this.onclose)==null||o.call(this),this.closeAllSubscriptions("relay connection errored"))},this.ws.onclose=async()=>{var r;this._connected&&(this._connected=!1,this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection closed"))},this.ws.onmessage=this._onmessage.bind(this)}),this.connectionPromise)}async runQueue(){for(this.queueRunning=!0;this.handleNext()!==!1;)await ps();this.queueRunning=!1}handleNext(){var r,o,i;const t=this.incomingMessageQueue.dequeue();if(!t)return!1;const n=hs(t);if(n){const s=this.openSubs.get(n);if(!s)return;const c=ds(t,"id"),a=(r=s.alreadyHaveEvent)==null?void 0:r.call(s,c);if((o=s.receivedEvent)==null||o.call(s,this,c),a)return}try{let s=JSON.parse(t);switch(s[0]){case"EVENT":{const c=this.openSubs.get(s[1]),a=s[2];this.verifyEvent(a)&&fs(c.filters,a)&&c.onevent(a);return}case"COUNT":{const c=s[1],a=s[2],l=this.openCountRequests.get(c);l&&(l.resolve(a.count),this.openCountRequests.delete(c));return}case"EOSE":{const c=this.openSubs.get(s[1]);if(!c)return;c.receivedEose();return}case"OK":{const c=s[1],a=s[2],l=s[3],f=this.openEventPublishes.get(c);a?f.resolve(l):f.reject(new Error(l)),this.openEventPublishes.delete(c);return}case"CLOSED":{const c=s[1],a=this.openSubs.get(c);if(!a)return;a.closed=!0,a.close(s[2]);return}case"NOTICE":this.onnotice(s[1]);return;case"AUTH":{this.challenge=s[1],(i=this._onauth)==null||i.call(this,s[1]);return}}}catch{return}}async send(t){if(!this.connectionPromise)throw new Error("sending on closed connection");this.connectionPromise.then(()=>{var n;(n=this.ws)==null||n.send(t)})}async auth(t){if(!this.challenge)throw new Error("can't perform auth, no challenge was received");const n=await t(gs(this.url,this.challenge)),r=new Promise((o,i)=>{this.openEventPublishes.set(n.id,{resolve:o,reject:i})});return this.send('["AUTH",'+JSON.stringify(n)+"]"),r}async publish(t){const n=new Promise((r,o)=>{this.openEventPublishes.set(t.id,{resolve:r,reject:o})});return this.send('["EVENT",'+JSON.stringify(t)+"]"),n}async count(t,n){this.serial++;const r=(n==null?void 0:n.id)||"count:"+this.serial,o=new Promise((i,s)=>{this.openCountRequests.set(r,{resolve:i,reject:s})});return this.send('["COUNT","'+r+'",'+JSON.stringify(t)+"]"),o}subscribe(t,n){const r=this.prepareSubscription(t,n);return r.fire(),r}prepareSubscription(t,n){this.serial++;const r=n.id||"sub:"+this.serial,o=new ws(this,r,t,n);return this.openSubs.set(r,o),o}close(){var t;this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,(t=this.ws)==null||t.close()}_onmessage(t){this.incomingMessageQueue.enqueue(t.data),this.queueRunning||this.runQueue()}},ws=class{constructor(t,n,r,o){x(this,"relay");x(this,"id");x(this,"closed",!1);x(this,"eosed",!1);x(this,"filters");x(this,"alreadyHaveEvent");x(this,"receivedEvent");x(this,"onevent");x(this,"oneose");x(this,"onclose");x(this,"eoseTimeout");x(this,"eoseTimeoutHandle");this.relay=t,this.filters=r,this.id=n,this.alreadyHaveEvent=o.alreadyHaveEvent,this.receivedEvent=o.receivedEvent,this.eoseTimeout=o.eoseTimeout||t.baseEoseTimeout,this.oneose=o.oneose,this.onclose=o.onclose,this.onevent=o.onevent||(i=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,i)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){var t;this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,(t=this.oneose)==null||t.call(this))}close(t="closed by caller"){var n;!this.closed&&this.relay.connected&&(this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]"),this.closed=!0),this.relay.openSubs.delete(this.id),(n=this.onclose)==null||n.call(this,t)}},ys=class{constructor(t){x(this,"relays",new Map);x(this,"seenOn",new Map);x(this,"trackRelays",!1);x(this,"verifyEvent");x(this,"trustedRelayURLs",new Set);this.verifyEvent=t.verifyEvent}async ensureRelay(t,n){t=gt(t);let r=this.relays.get(t);return r||(r=new Tr(t,{verifyEvent:this.trustedRelayURLs.has(t)?bs:this.verifyEvent}),n!=null&&n.connectionTimeout&&(r.connectionTimeout=n.connectionTimeout),this.relays.set(t,r)),await r.connect(),r}close(t){t.map(gt).forEach(n=>{var r;(r=this.relays.get(n))==null||r.close()})}subscribeMany(t,n,r){return this.subscribeManyMap(Object.fromEntries(t.map(o=>[o,n])),r)}subscribeManyMap(t,n){this.trackRelays&&(n.receivedEvent=(g,h)=>{let b=this.seenOn.get(h);b||(b=new Set,this.seenOn.set(h,b)),b.add(g)});const r=new Set,o=[],i=Object.keys(t).length,s=[];let c=g=>{var h;s[g]=!0,s.filter(b=>b).length===i&&((h=n.oneose)==null||h.call(n),c=()=>{})};const a=[];let l=(g,h)=>{var b;c(g),a[g]=h,a.filter(d=>d).length===i&&((b=n.onclose)==null||b.call(n,a),l=()=>{})};const f=g=>{var b;if((b=n.alreadyHaveEvent)!=null&&b.call(n,g))return!0;const h=r.has(g);return r.add(g),h},u=Promise.all(Object.entries(t).map(async(g,h,b)=>{if(b.indexOf(g)!==h){l(h,"duplicate url");return}let[d,p]=g;d=gt(d);let w;try{w=await this.ensureRelay(d,{connectionTimeout:n.maxWait?Math.max(n.maxWait*.8,n.maxWait-1e3):void 0})}catch(_){l(h,(_==null?void 0:_.message)||String(_));return}let m=w.subscribe(p,{...n,oneose:()=>c(h),onclose:_=>l(h,_),alreadyHaveEvent:f,eoseTimeout:n.maxWait});o.push(m)}));return{async close(){await u,o.forEach(g=>{g.close()})}}}subscribeManyEose(t,n,r){const o=this.subscribeMany(t,n,{...r,oneose(){o.close()}});return o}async querySync(t,n,r){return new Promise(async o=>{const i=[];this.subscribeManyEose(t,[n],{...r,onevent(s){i.push(s)},onclose(s){o(i)}})})}async get(t,n,r){n.limit=1;const o=await this.querySync(t,n,r);return o.sort((i,s)=>s.created_at-i.created_at),o[0]||null}publish(t,n){return t.map(gt).map(async(r,o,i)=>i.indexOf(r)!==o?Promise.reject("duplicate url"):(await this.ensureRelay(r)).publish(n))}},ms=class extends ys{constructor(){super({verifyEvent:as})}};function Nr(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Ze(e,...t){if(!Nr(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Ht(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Pr(e,t){Ze(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */const se=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),vs=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function xs(e){if(typeof e!="string")throw new Error(`string expected, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function pt(e){if(typeof e=="string")e=xs(e);else if(Nr(e))e=e.slice();else throw new Error(`Uint8Array expected, got ${typeof e}`);return e}const Es=(e,t)=>(Object.assign(t,e),t),Se=16,_n=new Uint8Array(16),me=se(_n),_s=225,ks=(e,t,n,r)=>{const o=r&1;return{s3:n<<31|r>>>1,s2:t<<31|n>>>1,s1:e<<31|t>>>1,s0:e>>>1^_s<<24&-(o&1)}},le=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255|0;function Ss(e){e.reverse();const t=e[15]&1;let n=0;for(let r=0;r<e.length;r++){const o=e[r];e[r]=o>>>1|n,n=(o&1)<<7}return e[0]^=-t&225,e}const As=e=>e>64*1024?8:e>1024?4:2;class Lr{constructor(t,n){this.blockLen=Se,this.outputLen=Se,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,t=pt(t),Ze(t,16);const r=vs(t);let o=r.getUint32(0,!1),i=r.getUint32(4,!1),s=r.getUint32(8,!1),c=r.getUint32(12,!1);const a=[];for(let b=0;b<128;b++)a.push({s0:le(o),s1:le(i),s2:le(s),s3:le(c)}),{s0:o,s1:i,s2:s,s3:c}=ks(o,i,s,c);const l=As(n||1024);if(![1,2,4,8].includes(l))throw new Error(`ghash: wrong window size=${l}, should be 2, 4 or 8`);this.W=l;const u=128/l,g=this.windowSize=2**l,h=[];for(let b=0;b<u;b++)for(let d=0;d<g;d++){let p=0,w=0,m=0,_=0;for(let O=0;O<l;O++){if(!(d>>>l-O-1&1))continue;const{s0:S,s1:v,s2:y,s3:A}=a[l*b+O];p^=S,w^=v,m^=y,_^=A}h.push({s0:p,s1:w,s2:m,s3:_})}this.t=h}_updateBlock(t,n,r,o){t^=this.s0,n^=this.s1,r^=this.s2,o^=this.s3;const{W:i,t:s,windowSize:c}=this;let a=0,l=0,f=0,u=0;const g=(1<<i)-1;let h=0;for(const b of[t,n,r,o])for(let d=0;d<4;d++){const p=b>>>8*d&255;for(let w=8/i-1;w>=0;w--){const m=p>>>i*w&g,{s0:_,s1:O,s2:N,s3:S}=s[h*c+m];a^=_,l^=O,f^=N,u^=S,h+=1}}this.s0=a,this.s1=l,this.s2=f,this.s3=u}update(t){t=pt(t),Ht(this);const n=se(t),r=Math.floor(t.length/Se),o=t.length%Se;for(let i=0;i<r;i++)this._updateBlock(n[i*4+0],n[i*4+1],n[i*4+2],n[i*4+3]);return o&&(_n.set(t.subarray(r*Se)),this._updateBlock(me[0],me[1],me[2],me[3]),me.fill(0)),this}destroy(){const{t}=this;for(const n of t)n.s0=0,n.s1=0,n.s2=0,n.s3=0}digestInto(t){Ht(this),Pr(t,this),this.finished=!0;const{s0:n,s1:r,s2:o,s3:i}=this,s=se(t);return s[0]=n,s[1]=r,s[2]=o,s[3]=i,t}digest(){const t=new Uint8Array(Se);return this.digestInto(t),this.destroy(),t}}class Bs extends Lr{constructor(t,n){t=pt(t);const r=Ss(t.slice());super(r,n),r.fill(0)}update(t){t=pt(t),Ht(this);const n=se(t),r=t.length%Se,o=Math.floor(t.length/Se);for(let i=0;i<o;i++)this._updateBlock(le(n[i*4+3]),le(n[i*4+2]),le(n[i*4+1]),le(n[i*4+0]));return r&&(_n.set(t.subarray(o*Se)),this._updateBlock(le(me[3]),le(me[2]),le(me[1]),le(me[0])),me.fill(0)),this}digestInto(t){Ht(this),Pr(t,this),this.finished=!0;const{s0:n,s1:r,s2:o,s3:i}=this,s=se(t);return s[0]=n,s[1]=r,s[2]=o,s[3]=i,t.reverse()}}function Cr(e){const t=(r,o)=>e(o,r.length).update(pt(r)).digest(),n=e(new Uint8Array(16),0);return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=(r,o)=>e(r,o),t}Cr((e,t)=>new Lr(e,t)),Cr((e,t)=>new Bs(e,t));const He=16,Is=283;function kn(e){return e<<1^Is&-(e>>7)}function rt(e,t){let n=0;for(;t>0;t>>=1)n^=e&-(t&1),e=kn(e);return n}const Sn=(()=>{let e=new Uint8Array(256);for(let n=0,r=1;n<256;n++,r^=kn(r))e[n]=r;const t=new Uint8Array(256);t[0]=99;for(let n=0;n<255;n++){let r=e[255-n];r|=r<<8,t[e[n]]=(r^r>>4^r>>5^r>>6^r>>7^99)&255}return t})(),Os=Sn.map((e,t)=>Sn.indexOf(t)),Ts=e=>e<<24|e>>>8,An=e=>e<<8|e>>>24;function Ur(e,t){if(e.length!==256)throw new Error("Wrong sbox length");const n=new Uint32Array(256).map((l,f)=>t(e[f])),r=n.map(An),o=r.map(An),i=o.map(An),s=new Uint32Array(256*256),c=new Uint32Array(256*256),a=new Uint16Array(256*256);for(let l=0;l<256;l++)for(let f=0;f<256;f++){const u=l*256+f;s[u]=n[l]^r[f],c[u]=o[l]^i[f],a[u]=e[l]<<8|e[f]}return{sbox:e,sbox2:a,T0:n,T1:r,T2:o,T3:i,T01:s,T23:c}}const Bn=Ur(Sn,e=>rt(e,3)<<24|e<<16|e<<8|rt(e,2)),Rr=Ur(Os,e=>rt(e,11)<<24|rt(e,13)<<16|rt(e,9)<<8|rt(e,14)),Ns=(()=>{const e=new Uint8Array(16);for(let t=0,n=1;t<16;t++,n=kn(n))e[t]=n;return e})();function Hr(e){Ze(e);const t=e.length;if(![16,24,32].includes(t))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${t}`);const{sbox2:n}=Bn,r=se(e),o=r.length,i=c=>ve(n,c,c,c,c),s=new Uint32Array(t+28);s.set(r);for(let c=o;c<s.length;c++){let a=s[c-1];c%o===0?a=i(Ts(a))^Ns[c/o-1]:o>6&&c%o===4&&(a=i(a)),s[c]=s[c-o]^a}return s}function Ps(e){const t=Hr(e),n=t.slice(),r=t.length,{sbox2:o}=Bn,{T0:i,T1:s,T2:c,T3:a}=Rr;for(let l=0;l<r;l+=4)for(let f=0;f<4;f++)n[l+f]=t[r-l-4+f];t.fill(0);for(let l=4;l<r-4;l++){const f=n[l],u=ve(o,f,f,f,f);n[l]=i[u&255]^s[u>>>8&255]^c[u>>>16&255]^a[u>>>24]}return n}function $e(e,t,n,r,o,i){return e[n<<8&65280|r>>>8&255]^t[o>>>8&65280|i>>>24&255]}function ve(e,t,n,r,o){return e[t&255|n&65280]|e[r>>>16&255|o>>>16&65280]<<16}function $r(e,t,n,r,o){const{sbox2:i,T01:s,T23:c}=Bn;let a=0;t^=e[a++],n^=e[a++],r^=e[a++],o^=e[a++];const l=e.length/4-2;for(let b=0;b<l;b++){const d=e[a++]^$e(s,c,t,n,r,o),p=e[a++]^$e(s,c,n,r,o,t),w=e[a++]^$e(s,c,r,o,t,n),m=e[a++]^$e(s,c,o,t,n,r);t=d,n=p,r=w,o=m}const f=e[a++]^ve(i,t,n,r,o),u=e[a++]^ve(i,n,r,o,t),g=e[a++]^ve(i,r,o,t,n),h=e[a++]^ve(i,o,t,n,r);return{s0:f,s1:u,s2:g,s3:h}}function Ls(e,t,n,r,o){const{sbox2:i,T01:s,T23:c}=Rr;let a=0;t^=e[a++],n^=e[a++],r^=e[a++],o^=e[a++];const l=e.length/4-2;for(let b=0;b<l;b++){const d=e[a++]^$e(s,c,t,o,r,n),p=e[a++]^$e(s,c,n,t,o,r),w=e[a++]^$e(s,c,r,n,t,o),m=e[a++]^$e(s,c,o,r,n,t);t=d,n=p,r=w,o=m}const f=e[a++]^ve(i,t,o,r,n),u=e[a++]^ve(i,n,t,o,r),g=e[a++]^ve(i,r,n,t,o),h=e[a++]^ve(i,o,r,n,t);return{s0:f,s1:u,s2:g,s3:h}}function qr(e,t){if(!t)return new Uint8Array(e);if(Ze(t),t.length<e)throw new Error(`aes: wrong destination length, expected at least ${e}, got: ${t.length}`);return t}function Cs(e){if(Ze(e),e.length%He!==0)throw new Error(`aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size ${He}`)}function Us(e,t,n){let r=e.length;const o=r%He;if(!t&&o!==0)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");const i=se(e);if(t){let a=He-o;a||(a=He),r=r+a}const s=qr(r,n),c=se(s);return{b:i,o:c,out:s}}function Rs(e,t){if(!t)return e;const n=e.length;if(!n)throw new Error("aes/pcks5: empty ciphertext not allowed");const r=e[n-1];if(r<=0||r>16)throw new Error(`aes/pcks5: wrong padding byte: ${r}`);const o=e.subarray(0,-r);for(let i=0;i<r;i++)if(e[n-i-1]!==r)throw new Error("aes/pcks5: wrong padding");return o}function Hs(e){const t=new Uint8Array(16),n=se(t);t.set(e);const r=He-e.length;for(let o=He-r;o<He;o++)t[o]=r;return n}const jr=Es({blockSize:16,nonceLength:16},function(t,n,r={}){Ze(t),Ze(n,16);const o=!r.disablePadding;return{encrypt:(i,s)=>{const c=Hr(t),{b:a,o:l,out:f}=Us(i,o,s),u=se(n);let g=u[0],h=u[1],b=u[2],d=u[3],p=0;for(;p+4<=a.length;)g^=a[p+0],h^=a[p+1],b^=a[p+2],d^=a[p+3],{s0:g,s1:h,s2:b,s3:d}=$r(c,g,h,b,d),l[p++]=g,l[p++]=h,l[p++]=b,l[p++]=d;if(o){const w=Hs(i.subarray(p*4));g^=w[0],h^=w[1],b^=w[2],d^=w[3],{s0:g,s1:h,s2:b,s3:d}=$r(c,g,h,b,d),l[p++]=g,l[p++]=h,l[p++]=b,l[p++]=d}return c.fill(0),f},decrypt:(i,s)=>{Cs(i);const c=Ps(t),a=se(n),l=qr(i.length,s),f=se(i),u=se(l);let g=a[0],h=a[1],b=a[2],d=a[3];for(let p=0;p+4<=f.length;){const w=g,m=h,_=b,O=d;g=f[p+0],h=f[p+1],b=f[p+2],d=f[p+3];const{s0:N,s1:S,s2:v,s3:y}=Ls(c,g,h,b,d);u[p++]=N^w,u[p++]=S^m,u[p++]=v^_,u[p++]=y^O}return c.fill(0),Rs(l,o)}}});/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function ot(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}function Ae(...e){const t=(o,i)=>s=>o(i(s)),n=Array.from(e).reverse().reduce((o,i)=>o?t(o,i.encode):i.encode,void 0),r=e.reduce((o,i)=>o?t(o,i.decode):i.decode,void 0);return{encode:n,decode:r}}function Be(e){return{encode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return t.map(n=>{if(ot(n),n<0||n>=e.length)throw new Error(`Digit index outside alphabet: ${n} (alphabet: ${e.length})`);return e[n]})},decode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("alphabet.decode input should be array of strings");return t.map(n=>{if(typeof n!="string")throw new Error(`alphabet.decode: not string element=${n}`);const r=e.indexOf(n);if(r===-1)throw new Error(`Unknown letter: "${n}". Allowed: ${e}`);return r})}}}function Ie(e=""){if(typeof e!="string")throw new Error("join separator should be string");return{encode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("join.encode input should be array of strings");for(let n of t)if(typeof n!="string")throw new Error(`join.encode: non-string input=${n}`);return t.join(e)},decode:t=>{if(typeof t!="string")throw new Error("join.decode input should be string");return t.split(e)}}}function $t(e,t="="){if(ot(e),typeof t!="string")throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let r of n)if(typeof r!="string")throw new Error(`padding.encode: non-string input=${r}`);for(;n.length*e%8;)n.push(t);return n},decode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let o of n)if(typeof o!="string")throw new Error(`padding.decode: non-string input=${o}`);let r=n.length;if(r*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--)if(!((r-1)*e%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}function zr(e){if(typeof e!="function")throw new Error("normalize fn should be function");return{encode:t=>t,decode:t=>e(t)}}function Mr(e,t,n){if(t<2)throw new Error(`convertRadix: wrong from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(e))throw new Error("convertRadix: data should be array");if(!e.length)return[];let r=0;const o=[],i=Array.from(e);for(i.forEach(s=>{if(ot(s),s<0||s>=t)throw new Error(`Wrong integer: ${s}`)});;){let s=0,c=!0;for(let a=r;a<i.length;a++){const l=i[a],f=t*s+l;if(!Number.isSafeInteger(f)||t*s/t!==s||f-l!==t*s)throw new Error("convertRadix: carry overflow");if(s=f%n,i[a]=Math.floor(f/n),!Number.isSafeInteger(i[a])||i[a]*n+s!==f)throw new Error("convertRadix: carry overflow");if(c)i[a]?c=!1:r=a;else continue}if(o.push(s),c)break}for(let s=0;s<e.length-1&&e[s]===0;s++)o.push(0);return o.reverse()}const Kr=(e,t)=>t?Kr(t,e%t):e,qt=(e,t)=>e+(t-Kr(e,t));function In(e,t,n,r){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(qt(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${qt(t,n)}`);let o=0,i=0;const s=2**n-1,c=[];for(const a of e){if(ot(a),a>=2**t)throw new Error(`convertRadix2: invalid data word=${a} from=${t}`);if(o=o<<t|a,i+t>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${t}`);for(i+=t;i>=n;i-=n)c.push((o>>i-n&s)>>>0);o&=2**i-1}if(o=o<<n-i&s,!r&&i>=t)throw new Error("Excess padding");if(!r&&o)throw new Error(`Non-zero padding: ${o}`);return r&&i>0&&c.push(o>>>0),c}function $s(e){return ot(e),{encode:t=>{if(!(t instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return Mr(Array.from(t),2**8,e)},decode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(Mr(t,e,2**8))}}}function qe(e,t=!1){if(ot(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(qt(8,e)>32||qt(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return In(Array.from(n),8,e,!t)},decode:n=>{if(!Array.isArray(n)||n.length&&typeof n[0]!="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(In(n,e,8,t))}}}function Dr(e){if(typeof e!="function")throw new Error("unsafeWrapper fn should be function");return function(...t){try{return e.apply(null,t)}catch{}}}const qs=Ae(qe(4),Be("0123456789ABCDEF"),Ie("")),js=Ae(qe(5),Be("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),$t(5),Ie(""));Ae(qe(5),Be("0123456789ABCDEFGHIJKLMNOPQRSTUV"),$t(5),Ie("")),Ae(qe(5),Be("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Ie(""),zr(e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const bt=Ae(qe(6),Be("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),$t(6),Ie("")),zs=Ae(qe(6),Be("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),$t(6),Ie("")),On=e=>Ae($s(58),Be(e),Ie("")),Tn=On("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");On("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),On("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const Wr=[0,2,3,5,6,7,9,10,11],Ms={encode(e){let t="";for(let n=0;n<e.length;n+=8){const r=e.subarray(n,n+8);t+=Tn.encode(r).padStart(Wr[r.length],"1")}return t},decode(e){let t=[];for(let n=0;n<e.length;n+=11){const r=e.slice(n,n+11),o=Wr.indexOf(r.length),i=Tn.decode(r);for(let s=0;s<i.length-o;s++)if(i[s]!==0)throw new Error("base58xmr: wrong padding");t=t.concat(Array.from(i.slice(i.length-o)))}return Uint8Array.from(t)}},Nn=Ae(Be("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Ie("")),Vr=[996825010,642813549,513874426,1027748829,705979059];function wt(e){const t=e>>25;let n=(e&33554431)<<5;for(let r=0;r<Vr.length;r++)(t>>r&1)===1&&(n^=Vr[r]);return n}function Gr(e,t,n=1){const r=e.length;let o=1;for(let i=0;i<r;i++){const s=e.charCodeAt(i);if(s<33||s>126)throw new Error(`Invalid prefix (${e})`);o=wt(o)^s>>5}o=wt(o);for(let i=0;i<r;i++)o=wt(o)^e.charCodeAt(i)&31;for(let i of t)o=wt(o)^i;for(let i=0;i<6;i++)o=wt(o);return o^=n,Nn.encode(In([o%2**30],30,5,!1))}function Zr(e){const t=e==="bech32"?1:734539939,n=qe(5),r=n.decode,o=n.encode,i=Dr(r);function s(f,u,g=90){if(typeof f!="string")throw new Error(`bech32.encode prefix should be string, not ${typeof f}`);if(!Array.isArray(u)||u.length&&typeof u[0]!="number")throw new Error(`bech32.encode words should be array of numbers, not ${typeof u}`);const h=f.length+7+u.length;if(g!==!1&&h>g)throw new TypeError(`Length ${h} exceeds limit ${g}`);return f=f.toLowerCase(),`${f}1${Nn.encode(u)}${Gr(f,u,t)}`}function c(f,u=90){if(typeof f!="string")throw new Error(`bech32.decode input should be string, not ${typeof f}`);if(f.length<8||u!==!1&&f.length>u)throw new TypeError(`Wrong string length: ${f.length} (${f}). Expected (8..${u})`);const g=f.toLowerCase();if(f!==g&&f!==f.toUpperCase())throw new Error("String must be lowercase or uppercase");f=g;const h=f.lastIndexOf("1");if(h===0||h===-1)throw new Error('Letter "1" must be present between prefix and data only');const b=f.slice(0,h),d=f.slice(h+1);if(d.length<6)throw new Error("Data must be at least 6 characters long");const p=Nn.decode(d).slice(0,-6),w=Gr(b,p,t);if(!d.endsWith(w))throw new Error(`Invalid checksum in ${f}: expected "${w}"`);return{prefix:b,words:p}}const a=Dr(c);function l(f){const{prefix:u,words:g}=c(f,!1);return{prefix:u,words:g,bytes:r(g)}}return{encode:s,decode:c,decodeToBytes:l,decodeUnsafe:a,fromWords:r,fromWordsUnsafe:i,toWords:o}}const Yr=Zr("bech32");Zr("bech32m");const Ks={encode:e=>new TextDecoder().decode(e),decode:e=>new TextEncoder().encode(e)},Ds=Ae(qe(4),Be("0123456789abcdef"),Ie(""),zr(e=>{if(typeof e!="string"||e.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));`${Object.keys({utf8:Ks,hex:Ds,base16:qs,base32:js,base64:bt,base64url:zs,base58:Tn,base58xmr:Ms}).join(", ")}`;var Ye=Symbol("verified"),Ws=e=>e instanceof Object;function Vs(e){if(!Ws(e)||typeof e.kind!="number"||typeof e.content!="string"||typeof e.created_at!="number"||typeof e.pubkey!="string"||!e.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(e.tags))return!1;for(let t=0;t<e.tags.length;t++){let n=e.tags[t];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]=="object")return!1}return!0}var Gs=new TextDecoder("utf-8"),Fr=new TextEncoder;function yt(e){e.indexOf("://")===-1&&(e="wss://"+e);let t=new URL(e);return t.pathname=t.pathname.replace(/\/+/g,"/"),t.pathname.endsWith("/")&&(t.pathname=t.pathname.slice(0,-1)),(t.port==="80"&&t.protocol==="ws:"||t.port==="443"&&t.protocol==="wss:")&&(t.port=""),t.searchParams.sort(),t.hash="",t.toString()}var Zs=class{constructor(e){x(this,"value");x(this,"next",null);x(this,"prev",null);this.value=e}},Ys=class{constructor(){x(this,"first");x(this,"last");this.first=null,this.last=null}enqueue(e){const t=new Zs(e);return this.last?this.last===this.first?(this.last=t,this.last.prev=this.first,this.first.next=t):(t.prev=this.last,this.last.next=t,this.last=t):(this.first=t,this.last=t),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const t=this.first;return this.first=null,this.last=null,t.value}const e=this.first;return this.first=e.next,e.value}},Fs=class{generateSecretKey(){return ne.utils.randomPrivateKey()}getPublicKey(e){return te(ne.getPublicKey(e))}finalizeEvent(e,t){const n=e;return n.pubkey=te(ne.getPublicKey(t)),n.id=Pn(n),n.sig=te(ne.sign(Pn(n),t)),n[Ye]=!0,n}verifyEvent(e){if(typeof e[Ye]=="boolean")return e[Ye];const t=Pn(e);if(t!==e.id)return e[Ye]=!1,!1;try{const n=ne.verify(e.sig,t,e.pubkey);return e[Ye]=n,n}catch{return e[Ye]=!1,!1}}};function Js(e){if(!Vs(e))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,e.pubkey,e.created_at,e.kind,e.tags,e.content])}function Pn(e){let t=vn(Fr.encode(Js(e)));return te(t)}var jt=new Fs,Qs=jt.generateSecretKey,Xs=jt.getPublicKey,ec=jt.finalizeEvent,Jr=jt.verifyEvent;async function tc(e,t,n){const r=e instanceof Uint8Array?te(e):e,o=dt.getSharedSecret(r,"02"+t),i=Qr(o);let s=Uint8Array.from(Go(16)),c=Fr.encode(n),a=jr(i,s).encrypt(c),l=bt.encode(new Uint8Array(a)),f=bt.encode(new Uint8Array(s.buffer));return`${l}?iv=${f}`}async function nc(e,t,n){const r=e instanceof Uint8Array?te(e):e;let[o,i]=n.split("?iv="),s=dt.getSharedSecret(r,"02"+t),c=Qr(s),a=bt.decode(i),l=bt.decode(o),f=jr(c,a).decrypt(l);return Gs.decode(f)}function Qr(e){return e.slice(1,33)}var rc=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/,oc;try{oc=fetch}catch{}var ic=22242,Ln=24133,sc=31990;function cc(e,t){if(e.ids&&e.ids.indexOf(t.id)===-1&&!e.ids.some(n=>t.id.startsWith(n))||e.kinds&&e.kinds.indexOf(t.kind)===-1||e.authors&&e.authors.indexOf(t.pubkey)===-1&&!e.authors.some(n=>t.pubkey.startsWith(n)))return!1;for(let n in e)if(n[0]==="#"){let r=n.slice(1),o=e[`#${r}`];if(o&&!t.tags.find(([i,s])=>i===n.slice(1)&&o.indexOf(s)!==-1))return!1}return!(e.since&&t.created_at<e.since||e.until&&t.created_at>e.until)}function ac(e,t){for(let n=0;n<e.length;n++)if(cc(e[n],t))return!0;return!1}function lc(e,t){let n=t.length+3,r=e.indexOf(`"${t}":`)+n,o=e.slice(r).indexOf('"')+r+1;return e.slice(o,o+64)}function uc(e){let t=e.slice(0,22).indexOf('"EVENT"');if(t===-1)return null;let n=e.slice(t+7+1).indexOf('"');if(n===-1)return null;let r=t+7+1+n,o=e.slice(r+1,80).indexOf('"');if(o===-1)return null;let i=r+1+o;return e.slice(r+1,i)}function fc(e,t){return{kind:ic,created_at:Math.floor(Date.now()/1e3),tags:[["relay",e],["challenge",t]],content:""}}async function dc(){return new Promise(e=>{const t=new MessageChannel,n=()=>{t.port1.removeEventListener("message",n),e()};t.port1.addEventListener("message",n),t.port2.postMessage(0),t.port1.start()})}var hc=e=>(e[Ye]=!0,!0),Xr;try{Xr=WebSocket}catch{}var eo=class{constructor(e,t){x(this,"url");x(this,"_connected",!1);x(this,"onclose",null);x(this,"onnotice",e=>console.debug(`NOTICE from ${this.url}: ${e}`));x(this,"_onauth",null);x(this,"baseEoseTimeout",4400);x(this,"connectionTimeout",4400);x(this,"openSubs",new Map);x(this,"connectionTimeoutHandle");x(this,"connectionPromise");x(this,"openCountRequests",new Map);x(this,"openEventPublishes",new Map);x(this,"ws");x(this,"incomingMessageQueue",new Ys);x(this,"queueRunning",!1);x(this,"challenge");x(this,"serial",0);x(this,"verifyEvent");this.url=yt(e),this.verifyEvent=t.verifyEvent}static async connect(e,t){const n=new eo(e,t);return await n.connect(),n}closeAllSubscriptions(e){for(let[t,n]of this.openSubs)n.close(e);this.openSubs.clear();for(let[t,n]of this.openEventPublishes)n.reject(new Error(e));this.openEventPublishes.clear();for(let[t,n]of this.openCountRequests)n.reject(new Error(e));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise?this.connectionPromise:(this.challenge=void 0,this.connectionPromise=new Promise((e,t)=>{this.connectionTimeoutHandle=setTimeout(()=>{var n;t("connection timed out"),this.connectionPromise=void 0,(n=this.onclose)==null||n.call(this),this.closeAllSubscriptions("relay connection timed out")},this.connectionTimeout);try{this.ws=new Xr(this.url)}catch(n){t(n);return}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,e()},this.ws.onerror=n=>{var r;t(n.message),this._connected&&(this._connected=!1,this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection errored"))},this.ws.onclose=async()=>{var n;this._connected&&(this._connected=!1,this.connectionPromise=void 0,(n=this.onclose)==null||n.call(this),this.closeAllSubscriptions("relay connection closed"))},this.ws.onmessage=this._onmessage.bind(this)}),this.connectionPromise)}async runQueue(){for(this.queueRunning=!0;this.handleNext()!==!1;)await dc();this.queueRunning=!1}handleNext(){var n,r,o;const e=this.incomingMessageQueue.dequeue();if(!e)return!1;const t=uc(e);if(t){const i=this.openSubs.get(t);if(!i)return;const s=lc(e,"id"),c=(n=i.alreadyHaveEvent)==null?void 0:n.call(i,s);if((r=i.receivedEvent)==null||r.call(i,this,s),c)return}try{let i=JSON.parse(e);switch(i[0]){case"EVENT":{const s=this.openSubs.get(i[1]),c=i[2];this.verifyEvent(c)&&ac(s.filters,c)&&s.onevent(c);return}case"COUNT":{const s=i[1],c=i[2],a=this.openCountRequests.get(s);a&&(a.resolve(c.count),this.openCountRequests.delete(s));return}case"EOSE":{const s=this.openSubs.get(i[1]);if(!s)return;s.receivedEose();return}case"OK":{const s=i[1],c=i[2],a=i[3],l=this.openEventPublishes.get(s);c?l.resolve(a):l.reject(new Error(a)),this.openEventPublishes.delete(s);return}case"CLOSED":{const s=i[1],c=this.openSubs.get(s);if(!c)return;c.closed=!0,c.close(i[2]);return}case"NOTICE":this.onnotice(i[1]);return;case"AUTH":{this.challenge=i[1],(o=this._onauth)==null||o.call(this,i[1]);return}}}catch{return}}async send(e){if(!this.connectionPromise)throw new Error("sending on closed connection");this.connectionPromise.then(()=>{var t;(t=this.ws)==null||t.send(e)})}async auth(e){if(!this.challenge)throw new Error("can't perform auth, no challenge was received");const t=await e(fc(this.url,this.challenge)),n=new Promise((r,o)=>{this.openEventPublishes.set(t.id,{resolve:r,reject:o})});return this.send('["AUTH",'+JSON.stringify(t)+"]"),n}async publish(e){const t=new Promise((n,r)=>{this.openEventPublishes.set(e.id,{resolve:n,reject:r})});return this.send('["EVENT",'+JSON.stringify(e)+"]"),t}async count(e,t){this.serial++;const n=(t==null?void 0:t.id)||"count:"+this.serial,r=new Promise((o,i)=>{this.openCountRequests.set(n,{resolve:o,reject:i})});return this.send('["COUNT","'+n+'",'+JSON.stringify(e)+"]"),r}subscribe(e,t){const n=this.prepareSubscription(e,t);return n.fire(),n}prepareSubscription(e,t){this.serial++;const n=t.id||"sub:"+this.serial,r=new gc(this,n,e,t);return this.openSubs.set(n,r),r}close(){var e;this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,(e=this.ws)==null||e.close()}_onmessage(e){this.incomingMessageQueue.enqueue(e.data),this.queueRunning||this.runQueue()}},gc=class{constructor(e,t,n,r){x(this,"relay");x(this,"id");x(this,"closed",!1);x(this,"eosed",!1);x(this,"filters");x(this,"alreadyHaveEvent");x(this,"receivedEvent");x(this,"onevent");x(this,"oneose");x(this,"onclose");x(this,"eoseTimeout");x(this,"eoseTimeoutHandle");this.relay=e,this.filters=n,this.id=t,this.alreadyHaveEvent=r.alreadyHaveEvent,this.receivedEvent=r.receivedEvent,this.eoseTimeout=r.eoseTimeout||e.baseEoseTimeout,this.oneose=r.oneose,this.onclose=r.onclose,this.onevent=r.onevent||(o=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,o)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){var e;this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,(e=this.oneose)==null||e.call(this))}close(e="closed by caller"){var t;!this.closed&&this.relay.connected&&(this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]"),this.closed=!0),this.relay.openSubs.delete(this.id),(t=this.onclose)==null||t.call(this,e)}},pc=class{constructor(e){x(this,"relays",new Map);x(this,"seenOn",new Map);x(this,"trackRelays",!1);x(this,"verifyEvent");x(this,"trustedRelayURLs",new Set);this.verifyEvent=e.verifyEvent}async ensureRelay(e,t){e=yt(e);let n=this.relays.get(e);return n||(n=new eo(e,{verifyEvent:this.trustedRelayURLs.has(e)?hc:this.verifyEvent}),t!=null&&t.connectionTimeout&&(n.connectionTimeout=t.connectionTimeout),this.relays.set(e,n)),await n.connect(),n}close(e){e.map(yt).forEach(t=>{var n;(n=this.relays.get(t))==null||n.close()})}subscribeMany(e,t,n){return this.subscribeManyMap(Object.fromEntries(e.map(r=>[r,t])),n)}subscribeManyMap(e,t){this.trackRelays&&(t.receivedEvent=(u,g)=>{let h=this.seenOn.get(g);h||(h=new Set,this.seenOn.set(g,h)),h.add(u)});const n=new Set,r=[],o=Object.keys(e).length,i=[];let s=u=>{var g;i[u]=!0,i.filter(h=>h).length===o&&((g=t.oneose)==null||g.call(t),s=()=>{})};const c=[];let a=(u,g)=>{var h;s(u),c[u]=g,c.filter(b=>b).length===o&&((h=t.onclose)==null||h.call(t,c),a=()=>{})};const l=u=>{var h;if((h=t.alreadyHaveEvent)!=null&&h.call(t,u))return!0;const g=n.has(u);return n.add(u),g},f=Promise.all(Object.entries(e).map(async(u,g,h)=>{if(h.indexOf(u)!==g){a(g,"duplicate url");return}let[b,d]=u;b=yt(b);let p;try{p=await this.ensureRelay(b,{connectionTimeout:t.maxWait?Math.max(t.maxWait*.8,t.maxWait-1e3):void 0})}catch(m){a(g,(m==null?void 0:m.message)||String(m));return}let w=p.subscribe(d,{...t,oneose:()=>s(g),onclose:m=>a(g,m),alreadyHaveEvent:l,eoseTimeout:t.maxWait});r.push(w)}));return{async close(){await f,r.forEach(u=>{u.close()})}}}subscribeManyEose(e,t,n){const r=this.subscribeMany(e,t,{...n,oneose(){r.close()}});return r}async querySync(e,t,n){return new Promise(async r=>{const o=[];this.subscribeManyEose(e,[t],{...n,onevent(i){o.push(i)},onclose(i){r(o)}})})}async get(e,t,n){t.limit=1;const r=await this.querySync(e,t,n);return r.sort((o,i)=>i.created_at-o.created_at),r[0]||null}publish(e,t){return e.map(yt).map(async(n,r,o)=>o.indexOf(n)!==r?Promise.reject("duplicate url"):(await this.ensureRelay(n)).publish(t))}},bc=class extends pc{constructor(){super({verifyEvent:Jr})}},to;try{to=fetch}catch{}var zt=/^bunker:\/\/([0-9a-f]{64})\??([?\/\w:.=&%]*)$/,wc=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;async function yc(e){let t=e.match(zt);if(t)try{const n=t[1],r=new URLSearchParams(t[2]);return{pubkey:n,relays:r.getAll("relay"),secret:r.get("secret")}}catch{}return no(e)}async function no(e){const t=e.match(rc);if(!t)return null;const[n,r="_",o]=t;try{const i=`https://${o}/.well-known/nostr.json?name=${r}`,s=await(await to(i,{redirect:"error"})).json();let c=s.names[r],a=s.nip46[c]||[];return{pubkey:c,relays:a,secret:null}}catch{return null}}var ro=class{constructor(e,t,n={}){x(this,"pool");x(this,"subCloser");x(this,"isOpen");x(this,"serial");x(this,"idPrefix");x(this,"listeners");x(this,"waitingForAuth");x(this,"secretKey");x(this,"bp");if(t.relays.length===0)throw new Error("no relays are specified for this bunker");this.pool=n.pool||new bc,this.secretKey=e,this.bp=t,this.isOpen=!1,this.idPrefix=Math.random().toString(36).substring(7),this.serial=0,this.listeners={},this.waitingForAuth={};const r=this.listeners,o=this.waitingForAuth;this.subCloser=this.pool.subscribeMany(this.bp.relays,[{kinds:[Ln],"#p":[Xs(this.secretKey)]}],{async onevent(i){const{id:s,result:c,error:a}=JSON.parse(await nc(e,i.pubkey,i.content));if(c==="auth_url"&&o[s]){delete o[s],n.onauth?n.onauth(a):console.warn(`nostr-tools/nip46: remote signer ${t.pubkey} tried to send an "auth_url"='${a}' but there was no onauth() callback configured.`);return}let l=r[s];l&&(a?l.reject(a):c&&l.resolve(c),delete r[s])}}),this.isOpen=!0}async close(){this.isOpen=!1,this.subCloser.close()}async sendRequest(e,t){return new Promise(async(n,r)=>{try{if(!this.isOpen)throw new Error("this signer is not open anymore, create a new one");this.serial++;const o=`${this.idPrefix}-${this.serial}`,i=await tc(this.secretKey,this.bp.pubkey,JSON.stringify({id:o,method:e,params:t})),s=ec({kind:Ln,tags:[["p",this.bp.pubkey]],content:i,created_at:Math.floor(Date.now()/1e3)},this.secretKey);this.listeners[o]={resolve:n,reject:r},this.waitingForAuth[o]=!0,await Promise.any(this.pool.publish(this.bp.relays,s))}catch(o){r(o)}})}async ping(){let e=await this.sendRequest("ping",[]);if(e!=="pong")throw new Error(`result is not pong: ${e}`)}async connect(){await this.sendRequest("connect",[this.bp.pubkey,this.bp.secret||""])}async getPublicKey(){return this.bp.pubkey}async getRelays(){return JSON.parse(await this.sendRequest("get_relays",[]))}async signEvent(e){let t=await this.sendRequest("sign_event",[JSON.stringify(e)]),n=JSON.parse(t);if(n.pubkey===this.bp.pubkey&&Jr(n))return n;throw new Error(`event returned from bunker is improperly signed: ${JSON.stringify(n)}`)}async nip04Encrypt(e,t){return await this.sendRequest("nip04_encrypt",[e,t])}async nip04Decrypt(e,t){return await this.sendRequest("nip04_decrypt",[e,t])}async nip44GetKey(e){let t=await this.sendRequest("nip44_get_key",[e]);return Qt(t)}async nip44Encrypt(e,t){return await this.sendRequest("nip44_encrypt",[e,t])}async nip44Decrypt(e,t){return await this.sendRequest("nip44_encrypt",[e,t])}};async function mc(e,t,n,r,o){if(o&&!wc.test(o))throw new Error("Invalid email");let i=Qs(),s=new ro(i,e.bunkerPointer,t),c=await s.sendRequest("create_account",[n,r,o||""]);return s.bp.pubkey=c,await s.connect(),s}async function vc(e,t){const n=await e.querySync(t,{kinds:[sc],"#k":[Ln.toString()]});return n.sort((o,i)=>i.created_at-o.created_at),(await Promise.all(n.map(async(o,i)=>{try{const s=JSON.parse(o.content);try{if(n.findIndex(a=>JSON.parse(a.content).nip05===s.nip05)!==i)return}catch{}const c=await no(s.nip05);if(c&&c.pubkey===o.pubkey&&c.relays.length)return{bunkerPointer:c,nip05:s.nip05,domain:s.nip05.split("@")[1],name:s.name||s.display_name,picture:s.picture,about:s.about,website:s.website,local:!1}}catch{return}}))).filter(o=>o!==void 0)}var oo=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/,io;try{io=fetch}catch{}async function xc(e){var i;const t=e.match(oo);if(!t)return null;const[n,r="_",o]=t;try{const s=`https://${o}/.well-known/nostr.json?name=${r}`,c=await(await io(s,{redirect:"error"})).json();let a=c.names[r];return a?{pubkey:a,relays:(i=c.relays)==null?void 0:i[a]}:null}catch{return null}}new TextDecoder("utf-8"),new TextEncoder;var Ec=5e3;function _c(e){return Sc("npub",Qt(e))}function kc(e,t){let n=Yr.toWords(t);return Yr.encode(e,n,Ec)}function Sc(e,t){return kc(e,t)}const it=[];function Ac(e,t=R){let n;const r=new Set;function o(c){if(Kt(e,c)&&(e=c,n)){const a=!it.length;for(const l of r)l[1](),it.push(l,e);if(a){for(let l=0;l<it.length;l+=2)it[l][0](it[l+1]);it.length=0}}}function i(c){o(c(e))}function s(c,a=R){const l=[c,a];return r.add(l),r.size===1&&(n=t(o,i)||R),c(e),()=>{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:s}}const Bc=e=>{const{subscribe:t,set:n}=Ac(void 0,()=>{let r=window.matchMedia(e);n(r.matches);const o=()=>n(r.matches);return"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),()=>{"removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o)}});return{subscribe:t}};function Ic(e){let t,n,r;return{c(){t=Dt("svg"),n=Dt("circle"),r=Dt("path"),E(n,"class","opacity-25"),E(n,"cx","12"),E(n,"cy","12"),E(n,"r","10"),E(n,"stroke","currentColor"),E(n,"stroke-width","4"),E(r,"class","opacity-75"),E(r,"fill","currentColor"),E(r,"d","M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"),E(t,"class","ml-2 h-5 w-5 animate-spin text-white"),E(t,"xmlns","http://www.w3.org/2000/svg"),E(t,"fill","none"),E(t,"viewBox","0 0 24 24")},m(o,i){$(o,t,i),B(t,n),B(t,r)},p:R,i:R,o:R,d(o){o&&H(t)}}}class so extends Zn{constructor(t){super(),Gn(this,t,null,Ic,Kt,{})}}const{window:Cn}=Oo;function co(e,t,n){const r=e.slice();return r[74]=t[n],r}function Oc(e){let t,n,r,o,i,s,c,a,l,f,u,g,h=!e[17]&&!e[11]&&!e[12]&&ao(e);const b=[Rc,Uc,Cc,Lc,Pc,Nc],d=[];function p(w,m){return w[11]?0:w[12]?1:w[17]?2:w[14]?3:w[18]?5:4}return c=p(e),a=d[c]=b[c](e),{c(){t=L("div"),n=L("button"),r=j("⤫"),i=K(),h&&h.c(),s=K(),a.c(),E(n,"class",o="absolute right-2 top-0 cursor-pointer bg-transparent text-3xl text-"+e[0]+"-600"),E(t,"class",l="animate-show rounded-md bg-gradient-to-b px-8 py-8 shadow-[0_0px_30px_0px_rgba(0,0,0,0.6)] transition-all sm:w-96 from-"+e[0]+"-900 to-"+e[0]+"-700 "+e[24])},m(w,m){$(w,t,m),B(t,n),B(n,r),B(t,i),h&&h.m(t,null),B(t,s),d[c].m(t,null),f=!0,u||(g=Y(n,"click",function(){Mt(e[17]?e[29]:e[27])&&(e[17]?e[29]:e[27]).apply(this,arguments)}),u=!0)},p(w,m){e=w,(!f||m[0]&1&&o!==(o="absolute right-2 top-0 cursor-pointer bg-transparent text-3xl text-"+e[0]+"-600"))&&E(n,"class",o),!e[17]&&!e[11]&&!e[12]?h?h.p(e,m):(h=ao(e),h.c(),h.m(t,s)):h&&(h.d(1),h=null);let _=c;c=p(e),c===_?d[c].p(e,m):(St(),be(d[_],1,1,()=>{d[_]=null}),At(),a=d[c],a?a.p(e,m):(a=d[c]=b[c](e),a.c()),ue(a,1),a.m(t,null)),(!f||m[0]&16777217&&l!==(l="animate-show rounded-md bg-gradient-to-b px-8 py-8 shadow-[0_0px_30px_0px_rgba(0,0,0,0.6)] transition-all sm:w-96 from-"+e[0]+"-900 to-"+e[0]+"-700 "+e[24]))&&E(t,"class",l)},i(w){f||(ue(a),f=!0)},o(w){be(a),f=!1},d(w){w&&H(t),h&&h.d(),d[c].d(),u=!1,g()}}}function Tc(e){let t,n,r,o,i;const s=[zc,jc,qc],c=[];function a(l,f){return l[10]?0:l[18]?2:1}return n=a(e),r=c[n]=s[n](e),{c(){t=L("div"),r.c(),E(t,"class",o="rounded px-4 py-2 shadow-[0_0px_10px_0px_rgba(0,0,0,0.3)] transition-all duration-200 bg-"+e[0]+"-700 hover:bg-"+e[0]+"-800 "+e[24])},m(l,f){$(l,t,f),c[n].m(t,null),i=!0},p(l,f){let u=n;n=a(l),n===u?c[n].p(l,f):(St(),be(c[u],1,1,()=>{c[u]=null}),At(),r=c[n],r?r.p(l,f):(r=c[n]=s[n](l),r.c()),ue(r,1),r.m(t,null)),(!i||f[0]&16777217&&o!==(o="rounded px-4 py-2 shadow-[0_0px_10px_0px_rgba(0,0,0,0.3)] transition-all duration-200 bg-"+l[0]+"-700 hover:bg-"+l[0]+"-800 "+l[24]))&&E(t,"class",o)},i(l){i||(ue(r),i=!0)},o(l){be(r),i=!1},d(l){l&&H(t),c[n].d()}}}function ao(e){let t,n,r,o,i;return{c(){t=L("button"),n=j("?"),E(t,"class",r="absolute bottom-1 right-3 cursor-pointer bg-transparent text-xl text-"+e[0]+"-600")},m(s,c){$(s,t,c),B(t,n),o||(i=Y(t,"click",e[28]),o=!0)},p(s,c){c[0]&1&&r!==(r="absolute bottom-1 right-3 cursor-pointer bg-transparent text-xl text-"+s[0]+"-600")&&E(t,"class",r)},d(s){s&&H(t),o=!1,i()}}}function Nc(e){let t,n,r,o,i,s,c=e[18].npub+"",a,l,f,u,g,h,b,d,p,w,m,_=Ir(e[9])+"",O,N,S,v=(e[18].picture||e[18].name)&&lo(e);return{c(){t=L("div"),n=L("div"),n.textContent="You are connected to Nostr as",r=K(),o=L("a"),v&&v.c(),i=K(),s=L("div"),a=j(c),f=K(),u=L("button"),g=j("Disconnect"),b=K(),d=L("div"),p=j("This webpage is using the public key:"),w=L("br"),m=K(),O=j(_),E(n,"class","mb-4 text-sm"),E(s,"class","block break-all"),E(o,"target","_blank"),E(o,"href",l="https://nosta.me/"+e[18].npub),E(o,"class","group text-white no-underline"),E(t,"class","text-center"),E(u,"class",h="my-2 mt-6 block w-full cursor-pointer rounded border-0 px-2 py-1 text-lg text-white bg-"+e[0]+"-900 hover:bg-"+e[0]+"-950"),E(d,"class","mt-6 block break-all text-center text-sm")},m(y,A){$(y,t,A),B(t,n),B(t,r),B(t,o),v&&v.m(o,null),B(o,i),B(o,s),B(s,a),$(y,f,A),$(y,u,A),B(u,g),$(y,b,A),$(y,d,A),B(d,p),B(d,w),B(d,m),B(d,O),N||(S=Y(u,"click",e[31]),N=!0)},p(y,A){y[18].picture||y[18].name?v?v.p(y,A):(v=lo(y),v.c(),v.m(o,i)):v&&(v.d(1),v=null),A[0]&262144&&c!==(c=y[18].npub+"")&&Me(a,c),A[0]&262144&&l!==(l="https://nosta.me/"+y[18].npub)&&E(o,"href",l),A[0]&1&&h!==(h="my-2 mt-6 block w-full cursor-pointer rounded border-0 px-2 py-1 text-lg text-white bg-"+y[0]+"-900 hover:bg-"+y[0]+"-950")&&E(u,"class",h),A[0]&512&&_!==(_=Ir(y[9])+"")&&Me(O,_)},i:R,o:R,d(y){y&&(H(t),H(f),H(u),H(b),H(d)),v&&v.d(),N=!1,S()}}}function Pc(e){let t,n,r,o,i,s,c,a,l,f,u,g,h,b,d,p,w,m=e[16]&&ho(e);const _=[$c,Hc],O=[];function N(y,A){return y[10]?0:1}a=N(e),l=O[a]=_[a](e);let S=e[10]&&e[13]&&go(e),v=!e[10]&&po(e);return{c(){t=L("div"),t.textContent="How do you want to connect to Nostr?",n=K(),r=L("form"),o=L("input"),i=K(),m&&m.c(),s=K(),c=L("button"),l.c(),g=K(),S&&S.c(),h=K(),v&&v.c(),b=No(),E(t,"class","text-center text-lg"),E(o,"class","box-border w-full rounded px-2 py-1 text-lg text-neutral-800 outline-none"),E(o,"placeholder","user@provider or bunker://..."),o.autofocus=!0,o.disabled=e[10],E(o,"autocapitalize","none"),E(c,"class",f="mt-4 flex w-full cursor-pointer items-center justify-center rounded border-0 px-2 py-1 text-lg text-white disabled:cursor-default disabled:bg-neutral-400 disabled:text-neutral-200 bg-"+e[0]+"-900 hover:bg-"+e[0]+"-950"),c.disabled=u=!e[23]||e[10],E(r,"class","mb-1 mt-4 flex flex-col")},m(y,A){$(y,t,A),$(y,n,A),$(y,r,A),B(r,o),e[48](o),Fe(o,e[2]),B(r,i),m&&m.m(r,null),B(r,s),B(r,c),O[a].m(c,null),B(r,g),S&&S.m(r,null),$(y,h,A),v&&v.m(y,A),$(y,b,A),d=!0,o.focus(),p||(w=[Y(o,"input",e[49]),Y(r,"submit",e[30])],p=!0)},p(y,A){(!d||A[0]&1024)&&(o.disabled=y[10]),A[0]&4&&o.value!==y[2]&&Fe(o,y[2]),y[16]?m?m.p(y,A):(m=ho(y),m.c(),m.m(r,s)):m&&(m.d(1),m=null);let C=a;a=N(y),a!==C&&(St(),be(O[C],1,1,()=>{O[C]=null}),At(),l=O[a],l||(l=O[a]=_[a](y),l.c()),ue(l,1),l.m(c,null)),(!d||A[0]&1&&f!==(f="mt-4 flex w-full cursor-pointer items-center justify-center rounded border-0 px-2 py-1 text-lg text-white disabled:cursor-default disabled:bg-neutral-400 disabled:text-neutral-200 bg-"+y[0]+"-900 hover:bg-"+y[0]+"-950"))&&E(c,"class",f),(!d||A[0]&8389632&&u!==(u=!y[23]||y[10]))&&(c.disabled=u),y[10]&&y[13]?S?S.p(y,A):(S=go(y),S.c(),S.m(r,null)):S&&(S.d(1),S=null),y[10]?v&&(v.d(1),v=null):v?v.p(y,A):(v=po(y),v.c(),v.m(b.parentNode,b))},i(y){d||(ue(l),d=!0)},o(y){be(l),d=!1},d(y){y&&(H(t),H(n),H(r),H(h),H(b)),e[48](null),m&&m.d(),O[a].d(),S&&S.d(),v&&v.d(y),p=!1,Ne(w)}}}function Lc(e){let t,n,r,o,i,s,c,a,l,f,u,g,h,b,d,p,w,m,_,O,N,S,v=Wn(e[19]),y=[];for(let A=0;A<v.length;A+=1)y[A]=bo(co(e,v,A));return{c(){t=L("div"),t.textContent="Create a Nostr account",n=K(),r=L("form"),o=L("div"),i=L("input"),s=K(),c=L("div"),c.textContent="@",a=K(),l=L("select");for(let A=0;A<y.length;A+=1)y[A].c();f=K(),u=L("button"),g=j("Continue »"),d=K(),p=L("div"),w=j("Do you already have a Nostr address?"),m=L("br"),_=K(),O=L("button"),O.textContent="Login now",E(t,"class","text-center text-lg"),E(i,"class","box-border w-40 rounded px-2 py-1 text-lg text-neutral-800 outline-none"),E(i,"placeholder","bob"),i.autofocus=!0,E(i,"autocapitalize","none"),E(c,"class","mx-2 text-2xl"),E(l,"class","box-border w-full rounded px-2 py-1 text-lg text-neutral-800 outline-none"),e[8]===void 0&&_t(()=>e[47].call(l)),E(o,"class","flex flex-row"),E(u,"class",h="mt-4 block w-full cursor-pointer rounded border-0 px-2 py-1 text-lg text-white disabled:cursor-default disabled:bg-neutral-400 disabled:text-neutral-200 bg-"+e[0]+"-900 hover:bg-"+e[0]+"-950"),u.disabled=b=!e[8]||!e[7]||e[15],E(r,"class","mb-1 mt-4"),E(O,"class","cursor-pointer border-0 bg-transparent text-sm text-white underline"),E(p,"class","mt-6 text-center text-sm leading-3")},m(A,C){$(A,t,C),$(A,n,C),$(A,r,C),B(r,o),B(o,i),e[45](i),Fe(i,e[7]),B(o,s),B(o,c),B(o,a),B(o,l);for(let P=0;P<y.length;P+=1)y[P]&&y[P].m(l,null);zn(l,e[8],!0),B(r,f),B(r,u),B(u,g),$(A,d,C),$(A,p,C),B(p,w),B(p,m),B(p,_),B(p,O),i.focus(),N||(S=[Y(i,"input",e[46]),Y(i,"input",e[35]),Y(l,"change",e[47]),Y(r,"submit",e[34]),Y(O,"click",e[33])],N=!0)},p(A,C){if(C[0]&128&&i.value!==A[7]&&Fe(i,A[7]),C[0]&524288){v=Wn(A[19]);let P;for(P=0;P<v.length;P+=1){const M=co(A,v,P);y[P]?y[P].p(M,C):(y[P]=bo(M),y[P].c(),y[P].m(l,null))}for(;P<y.length;P+=1)y[P].d(1);y.length=v.length}C[0]&524544&&zn(l,A[8]),C[0]&1&&h!==(h="mt-4 block w-full cursor-pointer rounded border-0 px-2 py-1 text-lg text-white disabled:cursor-default disabled:bg-neutral-400 disabled:text-neutral-200 bg-"+A[0]+"-900 hover:bg-"+A[0]+"-950")&&E(u,"class",h),C[0]&557440&&b!==(b=!A[8]||!A[7]||A[15])&&(u.disabled=b)},i:R,o:R,d(A){A&&(H(t),H(n),H(r),H(d),H(p)),e[45](null),To(y,A),N=!1,Ne(S)}}}function Cc(e){let t,n,r;return{c(){t=L("div"),t.textContent="What is that?",n=K(),r=L("div"),r.innerHTML=`<p class="mb mt-4">This widget is created with <i>window.nostr.js</i>, a small script
|
|
2
|
+
you can drop in any page that already uses NIP-07 and make it also
|
|
3
|
+
work with NIP-46 automatically when the user doesn't have an
|
|
4
|
+
extension installed.
|
|
5
|
+
<br/>
|
|
6
|
+
It adds a small floating button on the side of the window that users
|
|
7
|
+
can use to create Nostr accuonts or connect to their NIP-46 bunkers.</p> <p class="mt-4">This tool is opensource, get the code from the <a target="_blank" class="underline" href="https://github.com/fiatjaf/window.nostr.js">project's page</a>.</p> <p class="mt-4">You don't know what Nostr is?
|
|
8
|
+
<a target="_blank" class="underline" href="https://www.nostr.com">Learn more</a>.</p>`,E(t,"class","text-center text-lg"),E(r,"class","text-base leading-5")},m(o,i){$(o,t,i),$(o,n,i),$(o,r,i)},p:R,i:R,o:R,d(o){o&&(H(t),H(n),H(r))}}}function Uc(e){let t,n,r,o,i,s,c=new URL(e[12]).host+"",a,l,f,u,g,h,b,d,p,w;return{c(){t=L("div"),n=L("div"),n.textContent="Login into a Nostr account",r=K(),o=L("div"),i=j("Now you a new window will bring you to "),s=L("strong"),a=j(c),l=j(" where you can login and approve the permissions. If nothing happens check that if your browser is blocking popups, pleaase."),f=L("br"),u=j(`
|
|
9
|
+
After that you will be returned to this page.`),g=K(),h=L("button"),b=j("Login now »"),E(n,"class","text-center text-lg"),E(o,"class","mt-4 text-center text-sm leading-4"),E(h,"class",d="mt-4 block w-full cursor-pointer rounded border-0 px-2 py-1 text-lg text-white disabled:cursor-default disabled:bg-neutral-400 disabled:text-neutral-200 bg-"+e[0]+"-900 hover:bg-"+e[0]+"-950"),E(t,"class","m-auto w-full")},m(m,_){$(m,t,_),B(t,n),B(t,r),B(t,o),B(o,i),B(o,s),B(s,a),B(o,l),B(o,f),B(o,u),B(t,g),B(t,h),B(h,b),p||(w=Y(h,"click",e[44]),p=!0)},p(m,_){_[0]&4096&&c!==(c=new URL(m[12]).host+"")&&Me(a,c),_[0]&1&&d!==(d="mt-4 block w-full cursor-pointer rounded border-0 px-2 py-1 text-lg text-white disabled:cursor-default disabled:bg-neutral-400 disabled:text-neutral-200 bg-"+m[0]+"-900 hover:bg-"+m[0]+"-950")&&E(h,"class",d)},i:R,o:R,d(m){m&&H(t),p=!1,w()}}}function Rc(e){let t,n,r,o,i,s,c=new URL(e[11]).host+"",a,l,f,u,g,h,b,d,p,w;return{c(){t=L("div"),n=L("div"),n.textContent="Create a Nostr account",r=K(),o=L("div"),i=j("Now you a new window will bring you to "),s=L("strong"),a=j(c),l=j(" where the account creation will take place. If nothing happens check that if your browser is blocking popups, pleaase."),f=L("br"),u=j(`
|
|
10
|
+
After that you will be returned to this page.`),g=K(),h=L("button"),b=j("Start account creation »"),E(n,"class","text-center text-lg"),E(o,"class","mt-4 text-center text-sm leading-4"),E(h,"class",d="mt-4 block w-full cursor-pointer rounded border-0 px-2 py-1 text-lg text-white disabled:cursor-default disabled:bg-neutral-400 disabled:text-neutral-200 bg-"+e[0]+"-900 hover:bg-"+e[0]+"-950"),E(t,"class","m-auto w-full")},m(m,_){$(m,t,_),B(t,n),B(t,r),B(t,o),B(o,i),B(o,s),B(s,a),B(o,l),B(o,f),B(o,u),B(t,g),B(t,h),B(h,b),p||(w=Y(h,"click",e[43]),p=!0)},p(m,_){_[0]&2048&&c!==(c=new URL(m[11]).host+"")&&Me(a,c),_[0]&1&&d!==(d="mt-4 block w-full cursor-pointer rounded border-0 px-2 py-1 text-lg text-white disabled:cursor-default disabled:bg-neutral-400 disabled:text-neutral-200 bg-"+m[0]+"-900 hover:bg-"+m[0]+"-950")&&E(h,"class",d)},i:R,o:R,d(m){m&&H(t),p=!1,w()}}}function lo(e){let t,n,r=e[18].picture&&uo(e),o=e[18].name&&fo(e);return{c(){t=L("div"),r&&r.c(),n=K(),o&&o.c(),E(t,"class","mb-2 flex items-center justify-center gap-2")},m(i,s){$(i,t,s),r&&r.m(t,null),B(t,n),o&&o.m(t,null)},p(i,s){i[18].picture?r?r.p(i,s):(r=uo(i),r.c(),r.m(t,n)):r&&(r.d(1),r=null),i[18].name?o?o.p(i,s):(o=fo(i),o.c(),o.m(t,null)):o&&(o.d(1),o=null)},d(i){i&&H(t),r&&r.d(),o&&o.d()}}}function uo(e){let t,n,r;return{c(){t=L("img"),Et(t.src,n=e[18].picture)||E(t,"src",n),E(t,"alt",""),E(t,"class",r="h-10 w-10 rounded-full border-2 border-solid border-transparent group-hover:border-"+e[0]+"-100")},m(o,i){$(o,t,i)},p(o,i){i[0]&262144&&!Et(t.src,n=o[18].picture)&&E(t,"src",n),i[0]&1&&r!==(r="h-10 w-10 rounded-full border-2 border-solid border-transparent group-hover:border-"+o[0]+"-100")&&E(t,"class",r)},d(o){o&&H(t)}}}function fo(e){let t,n=e[18].name+"",r;return{c(){t=L("div"),r=j(n),E(t,"class","text-3xl decoration-2 underline-offset-4 group-hover:underline")},m(o,i){$(o,t,i),B(t,r)},p(o,i){i[0]&262144&&n!==(n=o[18].name+"")&&Me(r,n)},d(o){o&&H(t)}}}function ho(e){let t,n;return{c(){t=L("div"),n=j(e[16]),E(t,"class","my-2 rounded bg-yellow-100 p-2 text-center text-sm leading-4 text-red-400")},m(r,o){$(r,t,o),B(t,n)},p(r,o){o[0]&65536&&Me(n,r[16])},d(r){r&&H(t)}}}function Hc(e){let t;return{c(){t=j("Connect »")},m(n,r){$(n,t,r)},i:R,o:R,d(n){n&&H(t)}}}function $c(e){let t,n,r;return n=new so({}),{c(){t=j(`Connecting to bunker
|
|
11
|
+
`),Vn(n.$$.fragment)},m(o,i){$(o,t,i),Gt(n,o,i),r=!0},i(o){r||(ue(n.$$.fragment,o),r=!0)},o(o){be(n.$$.fragment,o),r=!1},d(o){o&&H(t),Zt(n,o)}}}function go(e){let t,n,r,o,i;return{c(){t=L("div"),n=j(`Waiting too much?
|
|
12
|
+
`),r=L("button"),r.textContent="Cancel the connection",E(r,"class","cursor-pointer border-0 bg-transparent text-sm text-white underline"),E(t,"class","mt-6 text-center text-sm leading-3")},m(s,c){$(s,t,c),B(t,n),B(t,r),o||(i=Y(r,"click",e[36]),o=!0)},p:R,d(s){s&&H(t),o=!1,i()}}}function po(e){let t,n,r,o,i,s,c;return{c(){t=L("div"),n=j("Do you need a Nostr account?"),r=L("br"),o=K(),i=L("button"),i.textContent="Sign up now",E(i,"class","cursor-pointer border-0 bg-transparent text-sm text-white underline"),E(t,"class","mt-6 text-center text-sm leading-3")},m(a,l){$(a,t,l),B(t,n),B(t,r),B(t,o),B(t,i),s||(c=Y(i,"click",e[32]),s=!0)},p:R,d(a){a&&H(t),s=!1,c()}}}function bo(e){let t,n,r;return{c(){t=L("option"),E(t,"label",n=e[74].domain),t.__value=r=e[74],Fe(t,t.__value),E(t,"class","px-2 py-1 text-lg")},m(o,i){$(o,t,i)},p(o,i){i[0]&524288&&n!==(n=o[74].domain)&&E(t,"label",n),i[0]&524288&&r!==(r=o[74])&&(t.__value=r,Fe(t,t.__value))},d(o){o&&H(t)}}}function qc(e){let t,n,r=(e[18].name||e[18].npub.slice(0,7)+"…"+e[18].npub.slice(-4))+"",o;function i(a,l){return a[18].picture?Kc:Mc}let s=i(e),c=s(e);return{c(){t=L("div"),c.c(),n=K(),o=j(r),E(t,"class","flex items-center")},m(a,l){$(a,t,l),c.m(t,null),B(t,n),B(t,o)},p(a,l){s===(s=i(a))&&c?c.p(a,l):(c.d(1),c=s(a),c&&(c.c(),c.m(t,n))),l[0]&262144&&r!==(r=(a[18].name||a[18].npub.slice(0,7)+"…"+a[18].npub.slice(-4))+"")&&Me(o,r)},i:R,o:R,d(a){a&&H(t),c.d()}}}function jc(e){let t;return{c(){t=j("Connect with Nostr")},m(n,r){$(n,t,r)},p:R,i:R,o:R,d(n){n&&H(t)}}}function zc(e){let t,n,r,o;return r=new so({}),{c(){t=L("div"),n=j(`Connecting to bunker
|
|
13
|
+
`),Vn(r.$$.fragment),E(t,"class","flex items-center")},m(i,s){$(i,t,s),B(t,n),Gt(r,t,null),o=!0},p:R,i(i){o||(ue(r.$$.fragment,i),o=!0)},o(i){be(r.$$.fragment,i),o=!1},d(i){i&&H(t),Zt(r)}}}function Mc(e){let t;return{c(){t=j("☉")},m(n,r){$(n,t,r)},p:R,d(n){n&&H(t)}}}function Kc(e){let t,n;return{c(){t=L("img"),Et(t.src,n=e[18].picture)||E(t,"src",n),E(t,"alt",""),E(t,"class","mr-2 h-5 w-5 rounded-full")},m(r,o){$(r,t,o)},p(r,o){o[0]&262144&&!Et(t.src,n=r[18].picture)&&E(t,"src",n)},d(r){r&&H(t)}}}function Dc(e){let t,n,r,o,i,s,c;const a=[Tc,Oc],l=[];function f(u,g){return u[22]?1:0}return n=f(e),r=l[n]=a[n](e),{c(){t=L("div"),r.c(),E(t,"class","draggable animate-fadein font-sans text-white"),E(t,"style",o="position: fixed; "+(e[22]&&e[3]?"width: 100%;":"")+"; right: "+(e[22]&&e[3]?"0":e[1])+"px; user-select: none; "+(e[22]&&e[3]?"bottom: 0px":e[21]+":"+e[20]+"px")),Mn(t,"cursor-pointer",!e[18]&&!e[22])},m(u,g){$(u,t,g),l[n].m(t,null),e[50](t),i=!0,s||(c=[Y(Cn,"click",e[26]),Y(Cn,"mouseup",e[39]),Y(Cn,"mousemove",e[38]),Y(t,"mousedown",e[37])],s=!0)},p(u,g){let h=n;n=f(u),n===h?l[n].p(u,g):(St(),be(l[h],1,1,()=>{l[h]=null}),At(),r=l[n],r?r.p(u,g):(r=l[n]=a[n](u),r.c()),ue(r,1),r.m(t,null)),(!i||g[0]&7340042&&o!==(o="position: fixed; "+(u[22]&&u[3]?"width: 100%;":"")+"; right: "+(u[22]&&u[3]?"0":u[1])+"px; user-select: none; "+(u[22]&&u[3]?"bottom: 0px":u[21]+":"+u[20]+"px")))&&E(t,"style",o),(!i||g[0]&4456448)&&Mn(t,"cursor-pointer",!u[18]&&!u[22])},i(u){i||(ue(r),i=!0)},o(u){be(r),i=!1},d(u){u&&H(t),l[n].d(),e[50](null),s=!1,Ne(c)}}}const wo="We could not connect to a NIP-46 bunker with that url, are you sure it is set up correctly?",yo="We were not able to connect using this address. For it to work it has to come from a NIP-46 provider.",je=20;function mo(e){return window.open(e,"window.nostr","width=600,height=800,popup=yes")}function Wc(e,t,n){let r,o,i,s,c,a;const l=Bc("only screen and (max-width: 640px)");Io(e,l,I=>n(3,a=I));const f={ORIGIN:"wnj:origin",CLIENT_SECRET:"wnj:clientSecret",Y_POS:"wnj:ypos",CALLBACK_TOKEN:"wnj:callbackToken",BUNKER_POINTER:"wnj:bunkerPointer"};let u,{accent:g}=t,{position:h="top"}=t;const b=window,d=new ms;let p,w,m,_,O,N;const S=localStorage.getItem(f.CLIENT_SECRET);S?N=Qt(S):(N=es(),localStorage.setItem(f.CLIENT_SECRET,te(N)));let v="closed",y,A,C,P,M,W,oe=null,k=null,T=!1,U,z,q,V=!1,D,J,ie=[],{right:fe=20}=t,xe=!1,de=!1,he,st,Ee;const Oe={pool:d,onauth(I){U?n(11,oe=I):n(12,k=I)}},mt=Fn(()=>{switch(v){case"justopened":n(41,v="opened");break;case"justclosed":n(41,v="closed");break}},500);function ge(){n(41,v="justopened"),mt()}function ee(){n(41,v="justclosed"),mt()}function pe(){if(y&&!W){$n();return}ge()}ct();let vt={isWnj:!0,async getPublicKey(){return y?y.pubkey:(!M&&!W&&ge(),(await P).bp.pubkey)},async signEvent(I){return!M&&!W&&pe(),(await P).signEvent(I)},async getRelays(){return!M&&!W&&pe(),(await P).getRelays()},nip04:{async encrypt(I,G){return!M&&!W&&pe(),(await P).nip04Encrypt(I,G)},async decrypt(I,G){return!M&&!W&&pe(),(await P).nip04Decrypt(I,G)}}};function ct(){ee(),y=null,P=new Promise((I,G)=>{A=I,C=G}),n(18,D=null),n(10,M=!1),n(13,T=!1),n(14,U=!1),W=!1,J=null,n(16,q="")}Uo(()=>{if(!y){let I=localStorage.getItem(f.BUNKER_POINTER);I&&(y=JSON.parse(I),qn())}if(b.nostr&&!b.nostr.isWnj){b.destroyWnj();return}else Object.defineProperty(window,"nostr",{get(){return vt},set(I){vt=I,I.isWnj||b.destroyWnj()},configurable:!0});return()=>{J&&J.close()}});function Zc(I){Math.abs(o-st)>6||Date.now()-Ee>600||v==="justopened"||v==="justclosed"||(I.composedPath().find(G=>G.id==="wnj")?ge():ee())}function Yc(I){ee(),n(14,U=!1),n(11,oe=null),n(12,k=null),I.stopPropagation()}function Fc(I){n(17,V=!0),I.stopPropagation()}function Jc(I){n(17,V=!1),I.stopPropagation()}async function Qc(I){I.preventDefault();try{if(y=await yc(p.value),!y){p.value.match(zt)?n(16,q=wo):n(16,q=yo);return}p.setCustomValidity(""),n(16,q=""),await $n(),qn()}catch{p.value.match(zt)?n(16,q=wo):n(16,q=yo),n(10,M=!1)}}async function Xc(I){I.preventDefault(),localStorage.removeItem(f.BUNKER_POINTER),ct()}async function ea(I){I.preventDefault(),n(14,U=!0),ie.length===0&&(n(19,ie=await vc(d,["wss://relay.nostr.band","wss://nos.lol","wss://nostr-pub.wellorder.net"])),n(8,O=ie[0]))}function ta(I){n(14,U=!1)}async function na(I){if(I.preventDefault(),!O)return;n(15,z=!0);let G=await mc(O,Oe,m.value,O.domain);n(15,z=!1),ge(),n(14,U=!1),y=G.bp,qn(),$n(G)}const ra=Fn(async()=>{O&&m.value.length>0&&(await xc(m.value+"@"+O.domain)?m.setCustomValidity(`'${m.value}' is already taken.`):m.setCustomValidity(""))},500);function oa(){n(13,T=!1),n(10,M=!1),C("connection aborted"),ct()}async function $n(I=void 0){I=I||new ro(N,y,Oe),n(10,M=!0);let G=setTimeout(()=>{n(13,T=!0),n(22,i=!0)},5e3);try{await I.connect(),W=!0,localStorage.setItem(f.BUNKER_POINTER,JSON.stringify(y)),ee(),A(I)}catch(_e){C((_e==null?void 0:_e.message)||String(_e))}finally{clearTimeout(G),n(10,M=!1),n(13,T=!1),n(11,oe=null),n(12,k=null)}}function qn(I=null){let G=y.pubkey;n(18,D={pubkey:G,npub:_c(G),event:null}),J=d.subscribeMany(["wss://purplepag.es","wss://relay.snort.social","wss://relay.nos.social"],[{kinds:[0],authors:[G]}],{onevent(_e){var ko;if(!((((ko=D.event)==null?void 0:ko.created_at)||0)>=_e.created_at))try{let{name:So,picture:ba}=JSON.parse(_e.content);n(18,D.event=_e,D),n(18,D.name=So,D),n(18,D.picture=ba,D),I==null||I(),I=null}catch{}}})}function ia(I){if(i)return;xe=!0;const G=u.getBoundingClientRect();he=I.clientY-G.top,st=o,Ee=Date.now()}function sa(I){xe&&(r==="top"?n(20,o=I.clientY):n(20,o=window.innerHeight-I.clientY),n(20,o-=he),n(42,de=!0),o<je&&n(20,o=je),o>window.innerHeight-je&&n(20,o=window.innerHeight-je))}function ca(){if(xe=!1,setTimeout(()=>{n(42,de=!1)},10),de){const I=u.getBoundingClientRect(),G=window.innerHeight,_e=G/2;I.top<_e?(n(21,r="top"),n(20,o=I.top)):(n(21,r="bottom"),n(20,o=G-I.bottom)),o<je&&n(20,o=je),localStorage.setItem(f.ORIGIN,r),localStorage.setItem(f.Y_POS,o.toString())}}const aa=()=>mo(oe),la=()=>mo(k);function ua(I){ut[I?"unshift":"push"](()=>{m=I,n(6,m)})}function fa(){_=this.value,n(7,_)}function da(){O=Lo(this),n(8,O),n(19,ie)}function ha(I){ut[I?"unshift":"push"](()=>{p=I,n(5,p)})}function ga(){w=this.value,n(2,w)}function pa(I){ut[I?"unshift":"push"](()=>{u=I,n(4,u)})}return e.$$set=I=>{"accent"in I&&n(0,g=I.accent),"position"in I&&n(40,h=I.position),"right"in I&&n(1,fe=I.right)},e.$$.update=()=>{e.$$.dirty[0]&8|e.$$.dirty[1]&512&&n(21,r=a?"bottom":localStorage.getItem(f.ORIGIN)||h),e.$$.dirty[0]&8&&n(20,o=a?je:parseInt(localStorage.getItem(f.Y_POS)||"0")||je),e.$$.dirty[1]&1024&&n(22,i=v==="justopened"||v==="opened"),e.$$.dirty[0]&1|e.$$.dirty[1]&2048&&n(24,s=de?"cursor-grabbing outline-dashed outline-"+g+"-500 outline-1 outline-offset-4":"outline-none"),e.$$.dirty[0]&4&&n(23,c=w&&(w.match(zt)||w.match(oo)))},[g,fe,w,a,u,p,m,_,O,N,M,oe,k,T,U,z,q,V,D,ie,o,r,i,c,s,l,Zc,Yc,Fc,Jc,Qc,Xc,ea,ta,na,ra,oa,ia,sa,ca,h,v,de,aa,la,ua,fa,da,ha,ga,pa]}class Vc extends Zn{constructor(t){super(),Gn(this,t,Wc,Dc,Kt,{accent:0,position:40,right:1},null,[-1,-1,-1])}}const Un=window;Un.destroyWnj=()=>{setTimeout(()=>{Gc.$destroy()},1)};const Rn=document.createElement("div");Rn.style.zIndex="90000",document.body.appendChild(Rn);const Hn=document.createElement("div");Hn.id="wnj";const vo=document.createElement("style");vo.innerHTML=ze;const xo=Rn.attachShadow({mode:"open"});xo.appendChild(Hn),xo.appendChild(vo);const Gc=new Vc({target:Hn,props:{accent:((Eo=Un.wnjParams)==null?void 0:Eo.accent)||"cyan",position:((_o=Un.wnjParams)==null?void 0:_o.position)==="bottom"?"bottom":"top"}})})();
|