0x42dc…043f

All memos sent from and to 0x42dc…043f.

0x42dcd51e…043f·#25,775,463·0x5f771861…76cf16
f;color:var(--ink);line-height:1.5}main{max-width:560px;margin:0 auto;padding:64px 20px 96px}header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--ink)}.wordmark{display:flex;align-items:center;gap:9px;font-weight:700;font-size:18px;letter-spacing:-.3px}.cross{width:20px;height:20px;background:var(--red);display:inline-block;position:relative;flex:none}.cross:after{content:"";position:absolute;inset:0;background:linear-gradient(#fff,#fff) center/11px 3.5px no-repeat,linear-gradient(#fff,#fff) center/3.5px 11px no-repeat}.cross.small{width:14px;height:14px}.cross.small:after{background:linear-gradient(#fff,#fff) center/8px 2.5px no-repeat,linear-gradient(#fff,#fff) center/2.5px 8px no-repeat}.wallet-area{display:flex;align-items:center;gap:14px}.pill{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;border:1px solid var(--ink);padding:3px 10px}.btn{font:inherit;font-weight:600;border:1px solid var(--ink);background:#fff;color:var(--ink);padding:7px 14px;border-radius:0;cursor:pointer}.btn:hover:not(:disabled){background:var(--ink);color:#fff}.btn:disabled{opacity:.3;cursor:not-allowed}.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-red:hover:not(:disabled){background:#c00;border-color:#c00;color:#fff}.btn-ghost{border-color:var(--line)}.btn-big{width:100%;padding:14px;font-size:17px}.linklike{font:inherit;border:none;background:none;padding:0;color:var(--red);cursor:pointer;text-decoration:underline}.connect-panel{position:fixed;inset:0;background:#ffffffeb;display:flex;align-items:center;justify-content:center;z-index:20}.connect-box{background:#fff;border:1px solid var(--ink);padding:32px;width:min(400px,calc(100vw - 40px));text-align:center}.connect-box h2{margin:0 0 20px}.connect-options{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.connect-box>.linklike{margin-top:16px}.injected-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.injected-list .btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.injected-list .btn img{width:18px;height:18px}.injected-list .hint{margin:4px 0 0}.wc-uri-area{margin-top:20px}.wc-uri-area canvas{border:1px solid var(--ink)}.wc-uri-row{display:flex;gap:8px;margin-top:8px}.wc-uri-row input{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:11px;padding:7px;border:1px solid var(--line);border-radius:0;min-width:0}.waiting{color:var(--red);font-weight:600;font-size:13px}.banner{background:var(--red);color:#fff;padding:10px 20px;text-align:center;font-weight:600;font-size:14px}.banner .linklike{color:#fff;margin-left:8px}h1{font-size:44px;line-height:1.05;letter-spacing:-1.5px;margin:0 0 20px}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;font-size:14px;color:var(--muted)}.stats strong{color:var(--red);font-variant-numeric:tabular-nums}.deposit{border:1px solid var(--ink);padding:24px;margin:32px 0}.deposit label{font-weight:600}.row{display:flex;align-items:baseline}.between{justify-content:space-between}.input-row{display:flex;gap:8px;margin:10px 0 8px}.input-row input{flex:1;font:inherit;font-size:24px;font-weight:600;padding:10px 12px;border:1px solid var(--ink);border-radius:0;min-width:0;font-variant-numeric:tabular-nums}.input-row input:focus{outline:2px solid var(--red);outline-offset:-1px}.hint{color:var(--muted);font-size:13px}#save-status{margin:10px 0 0}.log{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.log li{padding:5px 0;border-bottom:1px solid var(--line);word-break:break-all}.log a{color:var(--red)}.log .ok{color:#0a0}.log .err{color:var(--red)}footer{border-top:1px solid var(--ink);padding:16px 20px;display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}.hidden{display:none!important} </style> </head> <body> <header> <span class="wordmark"><span class="cross" aria-hidden="true"></span>svZCHF</span> <div class="wallet-area"> <span id="wallet-pill" class="pill hidden"></span> <button id="btn-disconnect" class="linklike hidden">disconnect</button> <button id="btn-connect" class="btn">Connect wallet</button> </div> </header> <!-- wallet connect chooser / latrine pairing panel --> <section id="connect-panel" class="connect-panel hidden"> <div class="connect-box"> <h2>Connect</h2> <div class="connect-options"> <button id="btn-connect-wc" class="btn">WalletConnect</button> </div> <div id="injected-list" class="injected-list"></div> <div id="wc-uri-area" class="wc-uri-area hidden"> <canvas id="wc-qr" width="176" height="176"></canvas> <p class="hint">Scan with any WalletConnect wallet, or copy the URI:</p> <div class="wc-uri-row"> <input id="wc-uri" readonly onclick="this.select()" /> <button id="btn-copy-uri" class="btn btn-ghost">Copy</button> </div> <p class="waiting">Waiting for approval…</p> </div> <button id="btn-connect-cancel" class="linklike">cancel</button> </div> </section> <div id="wrong-chain" class="banner hidden"> Wrong chain — the vault is on Ethereum mainnet. <button id="btn-switch-chain" class="linklike">switch</button> </div> <main> <h1>Save in Swiss francs.</h1> <p class="stats" id="stats-line"> Share price <strong id="stat-price">—</strong> · Rate <strong id="stat-rate">—</strong> </p> <section class="deposit"> <div class="row between"> <label for="dep-amount">Amount (ZCHF)</label> <span class="hint" id="user-balance">Connect a wallet</span> </div> <div class="input-row"> <input id="dep-amount" type="number" min="0" step="any" placeholder="1000.00" /> <button id="dep-max" class="btn btn-ghost">MAX</button> </div> <p class="hint" id="dep-preview">You receive ≈ — svZCHF</p> <button id="btn-save" class="btn btn-red btn-big" disabled>Approve &amp; Deposit</button> <p class="hint" id="save-status"></p> </section> <section class="deposit"> <div class="row between"> <label for="red-amount">Withdraw (svZCHF)</label> <span class="hint" id="user-shares">—</span> </div> <div class="input-row"> <input id="red-amount" type="number" min="0" step="any" placeholder="1000.00" /> <button id="red-max" class="btn btn-ghost">MAX</button> </div> <p class="hint" id="red-preview">You get back ≈ — ZCHF</p> <button id="btn-redeem" class="btn btn-big" disabled>Withdraw</button> <p class="hint" id="redeem-status"></p> </section> <ul id="log" class="log hidden"></ul> </main> <footer> <span class="cross small" aria-hidden="true"></span> <span>Public good. Not affiliated with Frankencoin.</span> </footer> </body> </html>
0x42dcd51e…043f·#25,775,462·0x444b40f7…f7a797
asError=!0}finally{gi(r)}}async open(){await this.subscribe();for await(const A of this.client.fetch(this.topic))await this.#i(A.message)}async close(A){if(this.closing.aborted)return;await this.unsubscribe();const t=new CloseEvent("close",{reason:A});this.dispatchEvent(t),this.#A.abort(A)}}var Nn;class ue extends U{#A=Nn;name=this.#A.name;constructor(){super(6e3,"User disconnected")}}Nn=ue;class Ke extends EventTarget{channel;constructor(A){super(),this.channel=A,A.addEventListener("request",this.#n.bind(this),{signal:this.closing}),A.addEventListener("close",this.#A.bind(this),{signal:this.closing})}addEventListener(A,t,r){super.addEventListener(A,t,r)}get closing(){return this.channel.closing}#A(A){const{reason:t}=A,r=new CloseEvent("close",{reason:t});this.dispatchEvent(r)}#n(A){const t=A.data;if(t.method==="wc_sessionPing")return this.#e(A);if(t.method==="wc_sessionSettle")return this.#t(A);if(t.method==="wc_sessionExtend")return this.#r(A);if(t.method==="wc_sessionEvent")return this.#o(A);if(t.method==="wc_sessionUpdate")return this.#s(A);if(t.method==="wc_sessionRequest")return this.#i(A);if(t.method==="wc_sessionDelete")return this.#g(A)}#e(A){const t=new Event("ping");this.dispatchEvent(t),A.respondWith(!0)}#t(A){const t=A.data,r=new cA("settle",{data:t.params});this.dispatchEvent(r),A.respondWith(!0)}#r(A){const t=A.data,r=new cA("extend",{data:t.params});this.dispatchEvent(r),A.respondWith(!0)}#o(A){const t=A.data,r=new cA("event",{data:t.params});this.dispatchEvent(r),A.respondWith(!0)}#s(A){const t=A.data,r=new cA("update",{data:t.params});this.dispatchEvent(r),A.respondWith(!0)}#i(A){const t=A.data,r=new Nt("request",{data:t.params});this.dispatchEvent(r),A.waitUntil(r.extension),r.response!=null&&A.respondWith(r.response)}#g(A){const t=A.data,r=new cA("delete",{data:t.params});this.dispatchEvent(r),A.waitUntil(this.close()),A.respondWith(!0)}async open(){await this.channel.open()}async close(A){await this.channel.close(A)}async ping(A=new AbortController().signal){await this.channel.request({method:"wc_sessionPing",params:{}},A).then(t=>t.getOrThrow())}async settle(A,t=new AbortController().signal){await this.channel.request({method:"wc_sessionSettle",params:A},t).then(r=>r.getOrThrow())}async extend(A,t=new AbortController().signal){await this.channel.request({method:"wc_sessionExtend",params:A},t).then(r=>r.getOrThrow())}async event(A,t=new AbortController().signal){await this.channel.request({method:"wc_sessionEvent",params:A},t).then(r=>r.getOrThrow())}async update(A,t=new AbortController().signal){await this.channel.request({method:"wc_sessionUpdate",params:A},t).then(r=>r.getOrThrow())}async request(A,t=new AbortController().signal){return await this.channel.request({method:"wc_sessionRequest",params:A},t).then(r=>r.getOrThrow())}async delete(A=new ue){await this.channel.publish({method:"wc_sessionDelete",params:A})}}var ee;(function(n){function A(r){const{protocol:o,version:s,pairingTopic:I,relayProtocol:a,symKey:c}=r,u=new URL(`${o}${I}@${s}`);return u.searchParams.set("relay-protocol",a),u.searchParams.set("symKey",c.toHex()),u.toString()}n.stringify=A;function t(r){const{protocol:o,pathname:s,searchParams:I}=new URL(r);if(o!=="wc:")throw new Error("Unknown protocol");const[a,c]=s.split("@");if(c!=="2")throw new Error("Unknown version");const u=Qt.wrap(I.get("relay-protocol")).getOrThrow();if(u!=="irn")throw new Error("Unknown relay protocol");const E=Qt.wrap(I.get("symKey")).getOrThrow(),l=Uint8Array.fromHex(E);return{protocol:o,pairingTopic:a,version:c,relayProtocol:u,symKey:l}}n.parse=t})(ee||(ee={}));class ut extends EventTarget{channel;keypair;params;constructor(A,t,r){super(),this.channel=A,this.keypair=t,this.params=r,A.addEventListener("close",this.#A.bind(this),{signal:this.closing}),A.addEventListener("request",this.#n.bind(this),{signal:this.closing})}static async generate(A){const t=crypto.getRandomValues(new Uint8Array(32)),r=new Uint8Array(await crypto.subtle.digest("SHA-256",t)).toHex(),o=new et(A,r,t),s=await crypto.subtle.generateKey("X25519",!1,["deriveBits"]);return new ut(o,s,{protocol:"wc:",version:"2",relayProtocol:"irn",pairingTopic:r,symKey:t})}static async from(A,t){const{pairingTopic:r,symKey:o}=t,s=new et(A,r,o),I=await crypto.subtle.generateKey("X25519",!1,["deriveBits"]);return new ut(s,I,t)}addEventListener(A,t,r){super.addEventListener(A,t,r)}get closing(){return this.channel.closing}#A(A){const{reason:t}=A,r=new CloseEvent("close",{reason:t});this.dispatchEvent(r)}#n(A){const t=A.data;if(t.method==="wc_sessionPropose")return this.#e(A);if(t.method==="wc_pairingPing")return this.#t(A);if(t.method==="wc_pairingDelete")return this.#r(A)}#e(A){const t=A.data,r=new Nt("propose",{data:t.params});this.dispatchEvent(r),A.waitUntil(r.extension),r.response!=null&&A.respondWith(r.response)}#t(A){const t=new Event("ping");this.dispatchEvent(t),A.respondWith(!0)}#r(A){const t=A.data,r=new cA("delete",{data:t.params});this.dispatchEvent(r),A.waitUntil(this.close()),A.respondWith(!0)}get url(){return ee.stringify(this.params)}async open(){await this.channel.open()}async close(A){await this.channel.close(A)}async propose(A){const{self:t,requiredNamespaces:r={},optionalNamespaces:o={}}=A,a={publicKey:new Uint8Array(await crypto.subtle.exportKey("raw",this.keypair.publicKey)).toHex(),metadata:t},c=[this.channel.client.relay],u=await this.channel.request({method:"wc_sessionPropose",params:{proposer:a,relays:c,requiredNamespaces:r,optionalNamespaces:o}}).then(F=>F.getOrThrow()),E=Uint8Array.fromHex(u.responderPublicKey),l=await crypto.subtle.importKey("raw",E,"X25519",!1,[]),d=new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:l},this.keypair.privateKey,256)),w=await crypto.subtle.importKey("raw",d,"HKDF",!1,["deriveBits"]),p={name:"HKDF",hash:"SHA-256",info:new Uint8Array,salt:new Uint8Array},y=new Uint8Array(await crypto.subtle.deriveBits(p,w,8*32)),Y=new Uint8Array(await crypto.subtle.digest("SHA-256",y)).toHex(),D=new Ke(new et(this.channel.client,Y,y));this.dispatchEvent(new cA("upgrade",{data:D}))}async respond(A){const{relay:t}=this.channel.client,o=new Uint8Array(await crypto.subtle.exportKey("raw",this.keypair.publicKey)).toHex(),s=Uint8Array.fromHex(A.proposer.publicKey),I=await crypto.subtle.importKey("raw",s,"X25519",!1,[]),a=new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:I},this.keypair.privateKey,256)),c=await crypto.subtle.importKey("raw",a,"HKDF",!1,["deriveBits"]),u={name:"HKDF",hash:"SHA-256",info:new Uint8Array,salt:new Uint8Array},E=new Uint8Array(await crypto.subtle.deriveBits(u,c,8*32)),l=new Uint8Array(await crypto.subtle.digest("SHA-256",E)).toHex(),d=new Ke(new et(this.channel.client,l,E));return this.dispatchEvent(new cA("upgrade",{data:d})),{relay:t,responderPublicKey:o}}async ping(A=new AbortController().signal){await this.channel.request({method:"wc_pairingPing",params:{}},A).then(t=>t.getOrThrow())}async extend(A,t=new AbortController().signal){await this.channel.request({method:"wc_pairingExtend",params:{expiry:A}},t).then(r=>r.getOrThrow())}async delete(A=new ue){await this.channel.publish({method:"wc_pairingDelete",params:A})}}var ne;(function(n){n.RELAY="wss://relay.walletconnect.org"})(ne||(ne={}));const ai="c6c9bacd35afa3eb9e6cccf6d8464395",Ii={name:"svZCHF Chalet",description:"Frankencoin Savings Vault (svZCHF) — deposit ZCHF, earn the Swiss rate",url:typeof location<"u"?location.origin:"https://localhost",icons:[]};function Bi(n){const r=n?.eip155?.accounts?.[0];if(!r)return null;const o=r.split(":");return o.length<3?null:{chainId:Number(o[1]),address:o[2]}}class le{#A;#n;#e;#t;projectId;constructor(A=ai){this.projectId=A}get state(){return this.#t}get connected(){return this.#t!=null&&this.#e!=null}async connect(A,t=[1]){const r=crypto.getRandomValues(new Uint8Array(32)),o=await Ce.open(ne.RELAY,r,this.projectId);this.#A=o;const s=await ut.generate(o);this.#n=s,A.onUri(s.url);const I=new Promise((c,u)=>{s.addEventListener("upgrade",E=>{const l=E.data;this.#e=l,l.addEventListener("settle",d=>{const w=d.data,p=Bi(w.namespaces);if(!p){u(new Error("Wallet approved but returned no eip155 account"));return}this.#t=p,A.onConnected(p),c(p)}),l.addEventListener("event",d=>{const{event:w,chainId:p}=d.data;if(w.name==="chainChanged"){const y=Number(w.data??p);this.#t&&(this.#t={...this.#t,chainId:y}),A.onChainChanged?.(y)}if(w.name==="accountsChanged"){const Y=w.data?.[0];Y&&this.#t&&(this.#t={...this.#t,address:Y},A.onAccountsChanged?.(Y))}}),l.addEventListener("close",()=>A.onDisconnected("session closed")),l.addEventListener("delete",d=>A.onDisconnected(d.data?.message??"session deleted")),l.open().catch(u)})}),a=c=>`eip155:${c}`;return s.propose({self:Ii,optionalNamespaces:{eip155:{chains:t.map(a),methods:["eth_sendTransaction","eth_signTransaction","eth_call","personal_sign","eth_accounts","eth_chainId","wallet_switchEthereumChain","wallet_sendCalls","wallet_getCapabilities","wallet_getCallsStatus"],events:["chainChanged","accountsChanged"]}}}).catch(c=>{A.onDisconnected(c?.message??"pairing failed")}),await s.open(),I}async request(A,t,r){if(!this.#e||!this.#t)throw new Error("Wallet not connected");const o=r??this.#t.chainId;return this.#e.request({chainId:`eip155:${o}`,request:{method:A,params:t}})}async sendTransaction(A){return this.request("eth_sendTransaction",[A])}async disconnect(){try{await this.#e?.close("user disconnected")}catch{}try{this.#A?.close("user disconnected")}catch{}this.#e=void 0,this.#n=void 0,this.#A=void 0,this.#t=void 0}}const lt=[],mn=[];typeof window<"u"&&(window.addEventListener("eip6963:announceProvider",n=>{const A=n.detail;if(A?.info?.uuid&&!lt.some(t=>t.info.uuid===A.info.uuid)){lt.push(A);for(const t of mn)t()}}),window.dispatchEvent(new Event("eip6963:requestProvider")));function ci(){return lt}function Fn(){return lt[0]?.provider??globalThis.ethereum??null}function kn(){return Fn()!=null}function Ci(n){mn.push(n)}class Gn{#A;#n="";#e=0;constructor(A){const t=A??Fn();if(!t)throw new Error("No injected wallet found (no EIP-6963 provider, no window.ethereum).");this.#A=t}async connect(A){const t=await this.#A.request({method:"eth_requestAccounts"});if(!t?.length)throw new Error("Wallet returned no accounts.");this.#n=t[0];const r=await this.#A.request({method:"eth_chainId"});return this.#e=parseInt(r,16),this.#A.on?.("accountsChanged",o=>{if(!o?.length)return A.onDisconnected?.();this.#n=o[0],A.onAccountsChanged?.(o[0])}),this.#A.on?.("chainChanged",o=>{this.#e=parseInt(o,16),A.onChainChanged?.(this.#e)}),{address:this.#n,chainId:this.#e}}get state(){return{address:this.#n,chainId:this.#e}}async request(A,t){return this.#A.request({method:A,params:t})}async sendTransaction(A){return this.#A.request({method:"eth_sendTransaction",params:[{from:A.from??this.#n,to:A.to,data:A.data,value:A.value,gas:A.gas}]})}async switchToMainnet(){await this.#A.request({method:"wallet_switchEthereumChain",params:[{chainId:"0x1"}]})}}const Un=["https://ethereum.publicnode.com","https://eth.llamarpc.com","https://rpc.mevblocker.io","https://cloudflare-eth.com"];let re=null;function we(n){re=n}async function Jn(n,A,t){const r=await fetch(n,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:A,params:t})});if(!r.ok)throw new Error(`rpc http ${r.status}`);const o=await r.json();if(o.error)throw new Error(o.error.message??"rpc error");return o.result}async function sA(n,A){if(re)try{return await re(n,A)}catch{}let t;for(const r of Un)try{return await Jn(r,"eth_call",[{to:n,data:A},"latest"])}catch(o){t=o}throw t instanceof Error?t:new Error("All RPC endpoints failed")}async function Qi(n,A=12e4){const t=Date.now()+A;for(;;){let r=null;for(const o of Un)try{r=await Jn(o,"eth_getTransactionReceipt",[n]);break}catch{}if(r){if(r.status!=="0x1")throw new Error(`Transaction reverted: ${n}`);return}if(Date.now()>t)throw new Error(`Timed out waiting for ${n}`);await new Promise(o=>setTimeout(o,2500))}}const Z={convertToAssets:"0x07a2d13a",convertToShares:"0xc6e6f592",totalAssets:"0x01e1d114",totalSupply:"0x18160ddd",balanceOf:"0x70a08231",allowance:"0xdd62ed3e",approve:"0x095ea7b3",deposit:"0x6e553f65",savings:"0xc86d6ae4",redeem:"0xba087652",currentRatePPM:"0x06a7b376"};function RA(n){return n.toString(16).padStart(64,"0")}function wA(n){return n.toLowerCase().replace(/^0x/,"").padStart(64,"0")}function CA(n,...A){return n+A.join("")}function IA(n){return BigInt(n)}function Ei(n){return"0x"+n.slice(-40)}function W(n){const A=n<0n,t=(A?-n:n).toString().padStart(19,"0"),r=t.slice(0,-18),o=t.slice(-18).replace(/0+$/,"");return(A?"-":"")+r+(o?"."+o:"")}function fe(n){const A=n.match(/^(\d+)(?:\.(\d{1,18}))?$/);if(!A)throw new Error(`bad decimal: ${n}`);const t=(A[2]??"").padEnd(18,"0");return BigInt(A[1]+t)}const qA=1,z="0xe5f130253ff137f9917c0107659a4c5262abf6b0",wt="0xB58E61C3098d85632Df34EecfB899A1Ed80921cB",hi="0x27d9ad987bde08a0d083ef7e0e4043c857a17b38",ui=10n**18n;async function li(n){const[A,t,r]=await Promise.all([sA(z,CA(Z.convertToAssets,RA(ui))).then(IA),sA(z,Z.totalAssets).then(IA),sA(z,Z.totalSupply).then(IA)]);let o=hi;try{o=Ei(await sA(z,Z.savings))}catch{}let s=0;try{s=Number(IA(await sA(o,Z.currentRatePPM)))}catch{}let I=0n,a=0n,c=0n;n&&([I,a,c]=await Promise.all([sA(wt,CA(Z.balanceOf,wA(n))).then(IA),sA(z,CA(Z.balanceOf,wA(n))).then(IA),sA(wt,CA(Z.allowance,wA(n),wA(z))).then(IA)]));const u=Number(W(A)),E=Number(W(a));return{sharePrice:u,totalAssets:Number(W(t)),totalSupply:Number(W(r)),savingsModule:o,ratePPM:s,zchfBalance:Number(W(I)),zchfBalanceRaw:I,svBalance:E,svBalanceRaw:a,svValue:E*u,allowance:Number(W(c)),allowanceRaw:c}}async function wi(n){if(!isFinite(n)||n<=0)return 0;const A=IA(await sA(z,CA(Z.convertToShares,RA(fe(String(n))))));return Number(W(A))}async function fi(n){if(!isFinite(n)||n<=0)return 0;const A=IA(await sA(z,CA(Z.convertToAssets,RA(fe(String(n))))));return Number(W(A))}const J=n=>document.getElementById(n),f={connectBtn:J("btn-connect"),disconnectBtn:J("btn-disconnect"),walletPill:J("wallet-pill"),connectPanel:J("connect-panel"),connectWc:J("btn-connect-wc"),injectedList:J("injected-list"),connectCancel:J("btn-connect-cancel"),wcUriArea:J("wc-uri-area"),wcUri:J("wc-uri"),wcQr:J("wc-qr"),copyUri:J("btn-copy-uri"),wrongChain:J("wrong-chain"),switchChain:J("btn-switch-chain"),statPrice:J("stat-price"),statRate:J("stat-rate"),userBalance:J("user-balance"),depAmount:J("dep-amount"),depMax:J("dep-max"),depPreview:J("dep-preview"),saveBtn:J("btn-save"),saveStatus:J("save-status"),userShares:J("user-shares"),redAmount:J("red-amount"),redMax:J("red-max"),redPreview:J("red-preview"),redeemBtn:J("btn-redeem"),redeemStatus:J("redeem-status"),log:J("log")};let O=null,Ft=null,X=null,EA=0,R=null,dA=!1;const di=new Intl.NumberFormat("de-CH",{maximumFractionDigits:2}),OA=new Intl.NumberFormat("de-CH",{maximumFractionDigits:4});function kt(n){return n.length>12?`${n.slice(0,6)}…${n.slice(-4)}`:n}function T(n,A){f.log.classList.remove("hidden");const t=document.createElement("li");A&&(t.className=A),t.textContent=n,f.log.prepend(t)}function Yn(n,A){f.log.classList.remove("hidden");const t=document.createElement("li");t.innerHTML=`${n}: <a href="https://etherscan.io/tx/${A}" target="_blank" rel="noreferrer">${kt(A)}</a>`,f.log.prepend(t)}function oA(n){f.saveStatus.textContent=n}const ot="";function de(){const n=X!=null;f.connectBtn.classList.toggle("hidden",n),f.disconnectBtn.classList.toggle("hidden",!n),f.walletPill.classList.toggle("hidden",!n),n&&(f.walletPill.textContent=`${kt(X)} · ${Ft==="latrine"?"WC":"browser"}`),f.wrongChain.classList.toggle("hidden",!n||EA===qA)}function Sn(){R&&(f.statPrice.textContent=`CHF ${OA.format(R.sharePrice)}`,f.statRate.textContent=R.ratePPM>0?`${(R.ratePPM/1e4).toFixed(2)}% p.a.`:"—",X?(f.userBalance.textContent=`Balance: ZCHF ${di.format(R.zchfBalance)} · ${OA.format(R.svBalance)} svZCHF`,f.userBalance.title=`${W(R.zchfBalanceRaw)} ZCHF (exact)`,f.userShares.textContent=`Shares: ${OA.format(R.svBalance)} svZCHF`,f.userShares.title=`${W(R.svBalanceRaw)} svZCHF (exact)`):(f.userBalance.textContent="Connect a wallet",f.userBalance.title="",f.userShares.textContent="—",f.userShares.title=""))}function DA(){const n=xA(f.depAmount),A=!dA&&!!(O&&X&&EA===qA&&R&&n&&n.wei<=R.zchfBalanceRaw);f.saveBtn.disabled=!A,R&&n&&n.wei<=R.allowanceRaw?f.saveBtn.textContent="Deposit":f.saveBtn.textContent="Approve & Deposit"}function LA(){const n=xA(f.redAmount),A=!dA&&!!(O&&X&&EA===qA&&R&&n&&n.wei<=R.svBalanceRaw);f.redeemBtn.disabled=!A}function VA(){de(),Sn(),DA(),LA()}async function nA(){try{R=await li(X??void 0),Sn(),DA(),LA()}catch(n){T(`Chain read failed: ${n.message}`,"err")}}async function pi(){f.statPrice.textContent="loading…",await nA()}async function yi(){f.wcUriArea.classList.remove("hidden");const n=new le;try{await n.connect({onUri:A=>{f.wcUri.value=A,ZA.toCanvas(f.wcQr,A,{width:176,margin:1},()=>{})},onConnected:A=>{O=n,Ft="latrine",X=A.address,EA=A.chainId,we((t,r)=>n.request("eth_call",[{to:t,data:r},"latest"])),f.connectPanel.classList.add("hidden"),T(`Connected ${kt(A.address)} via WalletConnect`,"ok"),nA(),VA()},onDisconnected:A=>{X&&T(`Wallet disconnected (${A??"?"})`,"err"),pe()},onChainChanged:A=>{EA=A,de(),DA(),A===qA&&nA()},onAccountsChanged:A=>{X=A,nA(),VA()}})}catch(A){T(`WalletConnect failed: ${A.message}`,"err"),f.wcUriArea.classList.add("hidden")}}async function He(n){if(!n&&!kn()){T("No browser wallet found","err");return}const A=new Gn(n?.provider);try{const t=await A.connect({onAccountsChanged:r=>{X=r,nA(),VA()},onChainChanged:r=>{EA=r,de(),DA(),r===qA&&nA()},onDisconnected:()=>pe()});O=A,Ft="injected",X=t.address,EA=t.chainId,we((r,o)=>A.request("eth_call",[{to:r,data:o},"latest"])),f.connectPanel.classList.add("hidden"),T(`Connected ${kt(t.address)} via browser wallet`,"ok"),nA(),VA()}catch(t){T(`Browser wallet failed: ${t.message}`,"err")}}function pe(){we(null),O=null,Ft=null,X=null,EA=0,nA(),VA()}function ye(){if(!O||!X)throw new Error("Connect a wallet first");if(EA!==qA)throw new Error("Switch to Ethereum mainnet first");return X}function xA(n){const A=n.value.trim();if(!/^\d+(\.\d{1,18})?$/.test(A))return null;const t=Number(A);return!isFinite(t)||t<=0?null:{value:t,wei:fe(A)}}async function Mn(n,A){if(!O)throw new Error("Wallet not connected");return O instanceof le,O.request(n,A)}function Gt(n){const t=JSON.stringify(n,Object.getOwnPropertyNames(n)).match(/e450d38c[0-9a-f]{24}([0-9a-f]{40})[0-9a-f]*?([0-9a-f]{64})([0-9a-f]{64})/i);if(t){const r=W(BigInt("0x"+t[2])),o=W(BigInt("0x"+t[3]));return`insufficient token balance (has ${r}, needs ${o} — ERC-4626 rounding leaves you a wei short; use MAX)`}return n.message??String(n)}async function st(n,A,t){try{const r=ye();T(`${n}: sending…`);const o=await O.sendTransaction({from:r,to:A,data:t});return Yn(n,o),T(`${n}: waiting for confirmation…`),await Qi(o),T(`${n}: confirmed ✔`,"ok"),await nA(),!0}catch(r){return T(`${n} failed: ${Gt(r)}`,"err"),!1}}async function Di(n){const A=Date.now()+12e4;for(;;){const t=await Mn("wallet_getCallsStatus",[n]),r=t?.status,o=t?.receipts?.[0]?.transactionHash;if(o&&Yn("Batched approve + deposit",o),r===200||r==="200"||String(r).toUpperCase()==="CONFIRMED")return;if(typeof r=="number"&&r>=400||["REVERTED","FAILED","REJECTED"].includes(String(r).toUpperCase()))throw new Error(`batch failed on-chain (status ${r})`);if(Date.now()>A)throw new Error("batch still pending after 2 minutes — check your wallet");await new Promise(s=>setTimeout(s,2e3))}}async function Ni(n){const A=ye(),t=CA(Z.approve,wA(z),RA(n)),r=CA(Z.deposit,RA(n),wA(A));if(R&&n<=R.allowanceRaw){oA("Allowance already covers this — depositing directly…"),await st("Deposit",z,r),oA(ot);return}try{oA("Trying batched approve + deposit (EIP-5792)…");const I=await Mn("wallet_sendCalls",[{version:"1.0",chainId:"0x1",from:A,calls:[{to:wt,data:t},{to:z,data:r}]}]);T("Batched approve + deposit submitted — waiting for confirmation…"),oA("Batch submitted — waiting for confirmation…"),await Di(String(I)),T("Approve + deposit confirmed in one transaction ✔","ok"),oA("Done — approve + deposit confirmed in one transaction ✔"),await nA();return}catch(I){T(`Batched calls unavailable (${Gt(I)}) — falling back to two transactions`,"err")}if(oA("Step 1 of 2: approving ZCHF…"),!await st("Approve ZCHF",wt,t)){oA(ot);return}oA("Step 2 of 2: depositing…");const s=await st("Deposit",z,r);oA(s?"Done — deposit confirmed ✔":ot)}async function mi(n){const A=ye(),t=CA(Z.redeem,RA(n),wA(A),wA(A));f.redeemStatus.textContent="Redeeming shares…";const r=await st("Withdraw",z,t);f.redeemStatus.textContent=r?"Done — withdrawal confirmed ✔":""}f.connectBtn.addEventListener("click",()=>f.connectPanel.classList.remove("hidden"));f.connectCancel.addEventListener("click",()=>f.connectPanel.classList.add("hidden"));f.connectWc.addEventListener("click",()=>void yi());f.disconnectBtn.addEventListener("click",async()=>{O instanceof le&&await O.disconnect(),pe(),T("Disconnected")});f.copyUri.addEventListener("click",async()=>{await navigator.clipboard.writeText(f.wcUri.value),f.copyUri.textContent="Copied",setTimeout(()=>f.copyUri.textContent="Copy",1200)});f.switchChain.addEventListener("click",async()=>{if(O instanceof Gn)try{await O.switchToMainnet()}catch(n){T(`Chain switch failed: ${n.message}`,"err")}else T("Switch to Ethereum mainnet inside your wallet app","err")});let Te;async function bn(){const n=xA(f.depAmount);if(!n){f.depPreview.textContent="You receive ≈ — svZCHF";return}try{const A=await wi(n.value);f.depPreview.textContent=`You receive ≈ ${OA.format(A)} svZCHF at the current share price`}catch{f.depPreview.textContent="Preview unavailable (RPC unreachable)"}}f.depAmount.addEventListener("input",()=>{DA(),clearTimeout(Te),Te=window.setTimeout(()=>void bn(),300)});f.depMax.addEventListener("click",()=>{R&&(f.depAmount.value=W(R.zchfBalanceRaw),f.depAmount.dispatchEvent(new Event("input")))});f.saveBtn.addEventListener("click",async()=>{const n=xA(f.depAmount);if(!(!n||dA)){dA=!0,DA();try{await Ni(n.wei),R&&f.depAmount.value&&(f.depAmount.value="",bn())}catch(A){T(`Deposit failed: ${Gt(A)}`,"err"),oA(ot)}finally{dA=!1,DA(),LA()}}});let ve;async function Rn(){const n=xA(f.redAmount);if(!n){f.redPreview.textContent="You get back ≈ — ZCHF";return}try{const A=await fi(n.value);f.redPreview.textContent=`You get back ≈ ZCHF ${OA.format(A)} at the current share price`}catch{f.redPreview.textContent="Preview unavailable (RPC unreachable)"}}f.redAmount.addEventListener("input",()=>{LA(),clearTimeout(ve),ve=window.setTimeout(()=>void Rn(),300)});f.redMax.addEventListener("click",()=>{R&&(f.redAmount.value=W(R.svBalanceRaw),f.redAmount.dispatchEvent(new Event("input")))});f.redeemBtn.addEventListener("click",async()=>{const n=xA(f.redAmount);if(!(!n||dA)){dA=!0,LA();try{await mi(n.wei),R&&f.redAmount.value&&(f.redAmount.value="",Rn())}catch(A){T(`Withdraw failed: ${Gt(A)}`,"err"),f.redeemStatus.textContent=""}finally{dA=!1,DA(),LA()}}});function Ln(){const n=f.injectedList;n.innerHTML="";const A=ci();if(A.length){for(const t of A){const r=document.createElement("button");if(r.className="btn btn-ghost",t.info.icon){const o=document.createElement("img");o.src=t.info.icon,o.alt="",r.appendChild(o)}r.appendChild(document.createTextNode(t.info.name)),r.addEventListener("click",()=>void He(t)),n.appendChild(r)}return}if(kn()){const t=document.createElement("button");t.className="btn btn-ghost",t.textContent="Browser wallet",t.addEventListener("click",()=>void He()),n.appendChild(t)}else{const t=document.createElement("p");t.className="hint",t.textContent="No browser wallet detected",n.appendChild(t)}}Ln();Ci(Ln);pi();setInterval(()=>void nA(),3e4); </script> <style> :root{--red: #ff0000;--ink: #000;--muted: #666;--line: #ddd}*{box-sizing:border-box}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:#ff
0x42dcd51e…043f·#25,775,461·0x02758ac3…9ca277
A0EcakEEakGAARAPGiACQQhqIQIMAQtBASEBIAMoAiAhAgsgACABNgIIIAAgAkEAIAEbNgIEIABBACACIAEbNgIAIANBoAFqJAAPC0EEQYwBEI4BAAu/AgEDfyMAQTBrIgIkAAJAAkACQCAAKAIADQAgASgCGCEDIAFBADYCGCADRQ0BIAJBGGogAxECACACQRBqIgQgAkEkaikCADcDACACIAIpAhw3AwggAigCGCEBIAAoAgAiAw0CAkAgA0UNACAAKAIEIgNFDQAgACgCCCADQQJ0QQQQfQsgACABNgIEIABBATYCACAAIAIpAwg3AgggAEEQaiACQRBqKQMANwIACyACQTBqJAAgAEEEag8LIAJBADYCKCACQQE2AhwgAkH4j8AANgIYIAJCBDcCICACQRhqQdyQwAAQYQALIAJBKGogBCkDADcCACACIAIpAwg3AiAgAiABNgIcIAJBATYCGCACQRhqEGQgAkEANgIoIAJBATYCHCACQfyQwAA2AhggAkIENwIgIAJBGGpBhJHAABBhAAuXAgEDfyMAQYABayICJAAgACgCACEAAkACQAJAIAEoAhQiA0EQcQ0AIANBIHENASAAKAIAQQEgARAiIQAMAgsgACgCACEAQQAhAwNAIAIgA2pB/wBqIABBD3EiBEEwciAEQdcAaiAEQQpJGzoAACADQX9qIQMgAEEPSyEEIABBBHYhACAEDQALIAFBAUHYmsAAQQIgAiADakGAAWpBACADaxAOIQAMAQsgACgCACEAQQAhAwNAIAIgA2pB/wBqIABBD3EiBEEwciAEQTdqIARBCkkbOgAAIANBf2ohAyAAQQ9LIQQgAEEEdiEAIAQNAAsgAUEBQdiawABBAiACIANqQYABakEAIANrEA4hAAsgAkGAAWokACAAC5UCAgR/AX4jAEEgayIFJABBACEGAkACQAJAIAQNAAwBCwJAIAEgAmoiAiABTw0ADAELQQAhBgJAIAMgBGpBf2pBACADa3GtQQhBBEEBIARBgQhJGyAEQQFGGyIHIAAoAgAiAUEBdCIIIAIgCCACSxsiAiAHIAJLGyIHrX4iCUIgiKdFDQAMAQsgCaciCEGAgICAeCADa0sNAEEAIQICQCABRQ0AIAUgASAEbDYCHCAFIAAoAgQ2AhQgAyECCyAFIAI2AhggBUEIaiADIAggBUEUahA+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ACAARQ0AIAQgAEECdEEEEH0LDwsAC68BAQF/AkACQCACQQBIDQACQAJAAkAgAygCBEUNAAJAIAMoAggiBA0AAkAgAg0AIAEhAwwEC0EALQDBnEAaDAILIAMoAgAgBCABIAIQciEDDAILAkAgAg0AIAEhAwwCC0EALQDBnEAaCyACIAEQdiEDCwJAIANFDQAgACACNgIIIAAgAzYCBCAAQQA2AgAPCyAAIAI2AgggACABNgIEDAELIABBADYCBAsgAEEBNgIAC68BAQF/AkACQCACQQBIDQACQAJAAkAgAygCBEUNAAJAIAMoAggiBA0AAkAgAg0AIAEhAwwEC0EALQDBnEAaDAILIAMoAgAgBCABIAIQciEDDAILAkAgAg0AIAEhAwwCC0EALQDBnEAaCyACIAEQdiEDCwJAIANFDQAgACACNgIIIAAgAzYCBCAAQQA2AgAPCyAAIAI2AgggACABNgIEDAELIABBADYCBAsgAEEBNgIAC7IBAQN/IwBBEGsiASQAIAAoAgAiAigCDCEDAkACQAJAAkAgAigCBA4CAAECCyADDQFBASECQQAhAwwCCyADDQAgAigCACICKAIEIQMgAigCACECDAELIAFBgICAgHg2AgAgASAANgIMIAFBkJbAACAAKAIEIAAoAggiAC0ACCAALQAJEDsACyABIAM2AgQgASACNgIAIAFB9JXAACAAKAIEIAAoAggiAC0ACCAALQAJEDsAC4cBAQF/IwBBIGsiAiQAAkACQCAAKAIAQYCAgIB4Rg0AIAEgACgCBCAAKAIIEHMhAAwBCyACQQhqQQhqIAAoAgwoAgAiAEEIaikCADcDACACQQhqQRBqIABBEGopAgA3AwAgAiAAKQIANwMIIAEoAhwgASgCICACQQhqEBEhAAsgAkEgaiQAIAALjAEAIABCADcCJCAAQTRqQQA2AgAgAEEsakIANwIAIAAgASkAGDcCCCAAIAEpABA3AgAgACABKAAAQf///x9xNgIQIAAgASgADEEIdkH//z9xNgIgIAAgASgACUEGdkH//8AfcTYCHCAAIAEoAAZBBHZB/4H/H3E2AhggACABKAADQQJ2QYP+/x9xNgIUC3oBAX8jAEHAAGsiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQQI2AhwgBUHImsAANgIYIAVCAjcCJCAFQR6tQiCGIAVBEGqthDcDOCAFQR+tQiCGIAVBCGqthDcDMCAFIAVBMGo2AiAgBUEYaiAEEGEAC2gCAX8BfiMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQZSZwAA2AgggA0ICNwIUIANBCK1CIIYiBCADrYQ3AyggAyAEIANBBGqthDcDICADIANBIGo2AhAgA0EIaiACEGEAC2kBAX8jAEEwayICJAACQEEALQDAnEBFDQAgAkECNgIMIAJBnJXAADYCCCACQgE3AhQgAiABNgIsIAJBCK1CIIYgAkEsaq2ENwMgIAIgAkEgajYCECACQQhqQcSVwAAQYQALIAJBMGokAAtsAQF/AkACQCACKAIERQ0AAkAgAigCCCIDDQBBAC0AwZxAGiABQQEQdiECDAILIAIoAgAgA0EBIAEQciECDAELQQAtAMGcQBogAUEBEHYhAgsgACABNgIIIAAgAkEBIAIbNgIEIAAgAkU2AgALYgECfwJAAkACQCABRQ0AIAFBeGoiAiACKAIAQQFqIgM2AgAgA0UNASABKAIAIgNBf0YNAiAAIAI2AgggACABNgIEIAAgAUEEajYCACABIANBAWo2AgAPCxCHAQsACxCIAQALYAECfwJAAkAgAEF8aigCACIDQXhxIgRBBEEIIANBA3EiAxsgAWpJDQACQCADRQ0AIAQgAUEnaksNAgsgABAQDwtB+ZPAAEEuQaiUwAAQVwALQbiUwABBLkHolMAAEFcAC1oBAn8CQAJAAkAgAUUNACABQXhqIgIgAigCAEEBaiIDNgIAIANFDQEgASgCAA0CIAAgAjYCCCAAIAE2AgQgAUF/NgIAIAAgAUEEajYCAA8LEIcBCwALEIgBAAtQAQN/AkACQAJAIABFDQAgAEF4aiIBIAEoAgAiAkEBaiIDNgIAIANFDQEgACgCAEF/Rg0CIAAoAgghACABIAI2AgAgAA8LEIcBCwALEIgBAAtQAQN/AkACQAJAIABFDQAgAEF4aiIBIAEoAgAiAkEBaiIDNgIAIANFDQEgACgCAEF/Rg0CIAAoAgwhACABIAI2AgAgAA8LEIcBCwALEIgBAAtUAQF/QQAtAMGcQBoCQEEYQQQQdiIBRQ0AIAFBADYCCCABQoGAgIAQNwIAIAEgACkCADcCDCABQRRqIABBCGooAgA2AgAgAUEIag8LQQRBGBCOAQALRwEBfwJAIAAoAgAgACgCCCIDayACTw0AIAAgAyACQQFBARAuIAAoAgghAwsgACgCBCADaiABIAIQDxogACADIAJqNgIIQQALQwEBfwJAIAAoAgAgACgCCCIDayACTw0AIAAgAyACEDcgACgCCCEDCyAAKAIEIANqIAEgAhAPGiAAIAMgAmo2AghBAAtGAQF/AkAgACgCACIAKAIMIgFFDQAgACgCECABQQEQfQsCQCAAQX9GDQAgACAAKAIEQX9qIgE2AgQgAQ0AIABBGEEEEH0LC00BAX9BAC0AwZxAGgJAQRhBBBB2IgINAEEEQRgQjgEACyACIAE2AhQgAiAANgIQIAIgATYCDCACQQA2AgggAkKBgICAEDcCACACQQhqC1IBAn9BACEBQQBBACgC3JxAIgJBAWo2AtycQAJAIAJBAEgNAEEBIQFBAC0AqKBADQBBACAAOgCooEBBAEEAKAKkoEBBAWo2AqSgQEECIQELIAELTgECf0EALQDBnEAaIAEoAgQhAiABKAIAIQMCQEEIQQQQdiIBDQBBBEEIEI4BAAsgASACNgIEIAEgAzYCACAAQeSVwAA2AgQgACABNgIAC0MBAX8CQCAAKAIAIAAoAggiA2sgAk8NACAAIAMgAhA2IAAoAgghAwsgACgCBCADaiABIAIQDxogACADIAJqNgIIQQALQQEBfyMAQSBrIgMkACADQQA2AhAgA0EBNgIEIANCBDcCCCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQYQALOQEBfyACQRB2QAAhAyAAQQA2AgggAEEAIAJBgIB8cSADQX9GIgIbNgIEIABBACADQRB0IAIbNgIACzkAAkAgAkGAgMQARg0AIAAgAiABKAIQEQYARQ0AQQEPCwJAIAMNAEEADwsgACADIAQgASgCDBELAAs4AQF/IwBBEGsiBSQAIAUgAjYCDCAFIAE2AgggACAFQQhqQaSZwAAgBUEMakGkmcAAIAMgBBAaAAs2AQF/IwBBIGsiASQAIAFBADYCGCABQQE2AgwgAUHglsAANgIIIAFCBDcCECABQQhqIAAQYQALLQACQCAAIAEQZ0UNAAJAIABFDQBBAC0AwZxAGiAAIAEQdiIBRQ0BCyABDwsACy8BAX8CQCAAKAIAIgBBf0YNACAAIAAoAgRBf2oiATYCBCABDQAgAEGMAUEEEH0LCy0BAX8jAEEQayIDJAAgAyAAIAEgAhAbIAMoAgAgAygCBCADKAIIIANBEGokAAstAQF/IwBBEGsiAyQAIAMgACABIAIQHCADKAIAIAMoAgQgAygCCCADQRBqJAALLQIBfwF+IwBBEGsiASQAIAApAgAhAiABIAA2AgwgASACNwIEIAFBBGoQkQEACyoBAX8jAEEQayICJAAgAkEBOwEMIAIgATYCCCACIAA2AgQgAkEEahBgAAsrAQF/IwBBEGsiAiQAIAIgACABECYgAigCACACKAIEIAIoAgggAkEQaiQACykBAX8jAEEQayIBJAAgASAAEDEgASgCACABKAIEIAEoAgggAUEQaiQACycBAX8CQCAAKAIARQ0AIAAoAgQiAUUNACAAKAIIIAFBAnRBBBB9CwsmAQF/IwBBEGsiAiQAIAIgACABEDUgAigCACACKAIEIAJBEGokAAsmAQF/IwBBEGsiAiQAIAIgACABEDIgAigCACACKAIEIAJBEGokAAsjAQF/QQAhAgJAIAFpQQFHDQBBgICAgHggAWsgAE8hAgsgAgspAQF/AkAgACgCACIBQYCAgIB4ckGAgICAeEYNACAAKAIEIAFBARB9CwscAQF/AkAgACgCACIBRQ0AIAAoAgQgAUEBEH0LCxcAAkAgAUEJSQ0AIAEgABAXDwsgABADCxwBAX8CQCAAKAIAIgFFDQAgACgCBCABQQEQfQsLGgEBfyABIABBACgCzJxAIgJBCSACGxEFAAALFgACQCAADQAgAhBbAAsgACABEI4BAAsWAAJAIAAoAgggAUkNACAAIAE2AggLCxwAIABBADYCECAAQgA3AgggAEKAgICAwAA3AgALGAIBfwFvIAAgARAAIQMQPCICIAMmASACCxUBAX8jAEEQayIBIAA6AA8gAS0ADwsTAQF/IAAgASACIAMQCiEEIAQPCxYAIAAoAhwgASACIAAoAiAoAgwRCwALFAAgACgCACABIAAoAgQoAgwRBgALEQAgACgCACAAKAIEIAEQjwELDwEBfyAAIAEQaiECIAIPCyAAIABCuvuVt/rEyEA3AwggAELHpL6d/eysmPIANwMACyIAIABC7bqtts2F1PXjADcDCCAAQviCmb2V7sbFuX83AwALEwAgAEHklcAANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBBzCxAAIAEgACgCACAAKAIEEA0LEAAgASgCHCABKAIgIAAQEQsLACAAIAEgAhBLDwsLACAAIAEQkgEaAAsNACAAKAIAQQEgARAiCw0AIAFByITAAEEREHMLDQAgAUG2icAAQQ4QcwsJACAAIAEQbA8LCgAgACABQQAQEwsNACABQdCNwABBCxBzCw0AIAFB243AAEEOEHMLDQAgAUGEj8AAQQoQcwsNAEGUkcAAQRsQiQEACw4AQa+RwABBzwAQiQEACwkAIAAgARABAAsNACAAQbiTwAAgARARCwwAIAAgASkCADcDAAsNACAAQbSWwAAgARARCw0AIAFBrJbAAEEFEHMLCgAgASAAEIIBAAsKACACIAAgARANCwkAIABBADYCAAsHACAAEEMACwMAAAsL0BwCAEGAgMAAC6IcL1VzZXJzL2h1Z28vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jaGFjaGEyMC0wLjEwLjAvc3JjL2xpYi5ycwBleHBhbmQgMzItYnl0ZSBrAAAQAFsAAADyAAAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IG1hdGNoZXMhKGl2LmxlbigpLCA0IHwgOCB8IDEyKQAAEABbAAAA4AAAAAkAAAAvVXNlcnMvaHVnby8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2FlYWQtMC41LjIvc3JjL2xpYi5ycwAAvAAQAFYAAACHAQAAGgAAAC9Vc2Vycy9odWdvLy5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAACQBEABqAAAAoQAAABkAAAAAAAAAAAAAAAEAAAABAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZS9Vc2Vycy9odWdvLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2lwaGVyLTAuNC40L3NyYy9zdHJlYW0ucnMAANsBEABbAAAAeAAAACcAAABTdHJlYW1DaXBoZXJFcnJvcgAAAGV4cGFuZCAzMi1ieXRlIGsvVXNlcnMvaHVnby8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNsAhAAbAAAACgCAAARAAAAYXR0ZW1wdGVkIHRvIHRha2Ugb3duZXJzaGlwIG9mIFJ1c3QgdmFsdWUgd2hpbGUgaXQgd2FzIGJvcnJvd2VkZGFlbW9uOjptb2RzOjpjaGFjaGEyMHBvbHkxMzA1OjpDaGFDaGEyMFBvbHkxMzA1Q2lwaGVyOjpuZXc6Ont7Y2xvc3VyZX19Ojp7e2Nsb3N1cmV9fSBhdCABAAAAAAAAAHwDEAAEAAAADAAAAC9Vc2Vycy9odWdvLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvZ2VuZXJpYy1hcnJheS0wLjE0Ljkvc3JjL2xpYi5yc5QDEABgAAAAQAIAAAkAAABkYWVtb246Om1vZHM6OmNoYWNoYTIwcG9seTEzMDU6OkNoYUNoYTIwUG9seTEzMDVDaXBoZXI6OmVuY3J5cHQ6Ont7Y2xvc3VyZX19Ojp7e2Nsb3N1cmV9fWRhZW1vbjo6bW9kczo6Y2hhY2hhMjBwb2x5MTMwNTo6Q2hhQ2hhMjBQb2x5MTMwNUNpcGhlcjo6ZGVjcnlwdDo6e3tjbG9zdXJlfX06Ont7Y2xvc3VyZX19SW52YWxpZCBMZW5ndGhhdHRlbXB0ZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgUnVzdCB2YWx1ZSB3aGlsZSBpdCB3YXMgYm9ycm93ZWRkYWVtb246Om1vZHM6OmNoYWNoYTIwOjpDaGFDaGEyMENpcGhlcjo6bmV3Ojp7e2Nsb3N1cmV9fTo6e3tjbG9zdXJlfX0gYXQgAQAAAAAAAABIBRAABAAAAGRhZW1vbjo6bW9kczo6Y2hhY2hhMjA6OkNoYUNoYTIwQ2lwaGVyOjphcHBseV9rZXlzdHJlYW06Ont7Y2xvc3VyZX19Ojp7e2Nsb3N1cmV9fS9Vc2Vycy9odWdvLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2hhY2hhMjAtMC45LjEvc3JjL2JhY2tlbmRzL3NvZnQucnMAAACtBRAAZAAAADoAAAAQAAAArQUQAGQAAAA6AAAAJgAAAK0FEABkAAAAOwAAAAUAAACtBRAAZAAAAD4AAAAQAAAAL1VzZXJzL2h1Z28vLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS1hYXJjaDY0LWFwcGxlLWRhcndpbi9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzVAYQAGwAAAAoAgAAEQAAAGFlYWQ6OkVycm9ySW52YWxpZCBMZW5ndGgvVXNlcnMvaHVnby8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2NoYWNoYTIwLTAuMTAuMC9zcmMvbGliLnJz6QYQAFsAAACcAQAAEAAAAOkGEABbAAAAnAEAACYAAADpBhAAWwAAAJ0BAAAFAAAA6QYQAFsAAACgAQAAEAAAAExvb3AgRXJyb3JhdHRlbXB0ZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgUnVzdCB2YWx1ZSB3aGlsZSBpdCB3YXMgYm9ycm93ZWRMYXp5IGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAzQcQACoAAAAvVXNlcnMvaHVnby8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL29uY2VfY2VsbC0xLjIxLjQvc3JjL2xpYi5ycwAIEABcAAAAEgMAABkAAAByZWVudHJhbnQgaW5pdAAAbAgQAA4AAAAACBAAXAAAAIQCAAANAAAAbnVsbCBwb2ludGVyIHBhc3NlZCB0byBydXN0cmVjdXJzaXZlIHVzZSBvZiBhbiBvYmplY3QgZGV0ZWN0ZWQgd2hpY2ggd291bGQgbGVhZCB0byB1bnNhZmUgYWxpYXNpbmcgaW4gcnVzdC9ydXN0Yy80ZDkxZGU0ZTQ4MTk4ZGEyZTMzNDEzZWZkY2Q5Y2QyY2MwYzQ2Njg4L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAAAP4IEABLAAAAjQUAABsAAAAvcnVzdGMvNGQ5MWRlNGU0ODE5OGRhMmUzMzQxM2VmZGNkOWNkMmNjMGM0NjY4OC9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzXAkQAEwAAAAoAgAAEQAAAAoAAAAMAAAABAAAAAsAAAAMAAAADQAAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjcvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZADQCRAAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA0AkQACkAAACuBAAADQAAAG1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQAAHgKEAAVAAAAjQoQAA0AAABsaWJyYXJ5L3N0ZC9zcmMvYWxsb2MucnOsChAAGAAAAGMBAAAJAAAACgAAAAwAAAAEAAAADgAAAAAAAAAIAAAABAAAAA8AAAAAAAAACAAAAAQAAAAQAAAAEQAAABIAAAATAAAAFAAAABAAAAAEAAAAFQAAABYAAAAXAAAAGAAAAEVycm9yAAAAGQAAAAwAAAAEAAAAGgAAABsAAAAcAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAABMCxAAEQAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNoCxAAHAAAACgCAAARAAAAbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAJQLEAAbAAAA6gEAABcAAAAAAAAAAAAAAAEAAAAdAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHdoZW4gdGhlIHVuZGVybHlpbmcgc3RyZWFtIGRpZCBub3RsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAACYMEAAYAAAAigIAAA4AAACUCxAAGwAAAI0FAAAbAAAAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyAAAGAMEAAgAAAAgAwQABIAAAAAAAAABAAAAAQAAAAhAAAAPT0hPW1hdGNoZXNhc3NlcnRpb24gYGxlZnQgIHJpZ2h0YCBmYWlsZWQKICBsZWZ0OiAKIHJpZ2h0OiAAvwwQABAAAADPDBAAFwAAAOYMEAAJAAAAIHJpZ2h0YCBmYWlsZWQ6IAogIGxlZnQ6IAAAAL8MEAAQAAAACA0QABAAAAAYDRAACQAAAOYMEAAJAAAAOiAAAAEAAAAAAAAARA0QAAIAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AEGknMAACxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAA";async function oi(){return await Dn({module_or_path:ii})}await oi();class he{inner;constructor(A){this.inner=A}static import(A){return new he(new ti(new j(A)))}encrypt(A,t){return new Uint8Array(this.inner.encrypt(new j(A),new j(t)).bytes)}decrypt(A,t){return new Uint8Array(this.inner.decrypt(new j(A),new j(t)).bytes)}}var si=function(n,A,t){if(A!=null){if(typeof A!="object"&&typeof A!="function")throw new TypeError("Object expected.");var r,o;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=A[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=A[Symbol.dispose],t&&(o=r)}if(typeof r!="function")throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(s){return Promise.reject(s)}}),n.stack.push({value:A,dispose:r,async:t})}else t&&n.stack.push({async:!0});return A},gi=function(n){return function(A){function t(I){A.error=A.hasError?new n(I,A.error,"An error was suppressed during disposal."):I,A.hasError=!0}var r,o=0;function s(){for(;r=A.stack.pop();)try{if(!r.async&&o===1)return o=0,A.stack.push(r),Promise.resolve().then(s);if(r.dispose){var I=r.dispose.call(r.value);if(r.async)return o|=2,Promise.resolve(I).then(s,function(a){return t(a),s()})}else o|=1}catch(a){t(a)}if(o===1)return A.hasError?Promise.reject(A.error):Promise.resolve();if(A.hasError)throw A.error}return s()}}(typeof SuppressedError=="function"?SuppressedError:function(n,A,t){var r=new Error(t);return r.name="SuppressedError",r.error=n,r.suppressed=A,r});const Tt={wc_pairingDelete:{req:{ttl:24*60*60,prompt:!1,tag:1e3},res:{ttl:24*60*60,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:30,prompt:!1,tag:1002},res:{ttl:30,prompt:!1,tag:1003}},wc_pairingExtend:{req:{ttl:24*60*60,prompt:!1,tag:1004},res:{ttl:24*60*60,prompt:!1,tag:1005}},wc_sessionPropose:{req:{ttl:5*60,prompt:!0,tag:1100},res:{ttl:5*60,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:5*60,prompt:!1,tag:1102},res:{ttl:5*60,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:24*60*60,prompt:!1,tag:1104},res:{ttl:24*60*60,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:24*60*60,prompt:!1,tag:1106},res:{ttl:24*60*60,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:5*60,prompt:!0,tag:1108},res:{ttl:5*60,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:5*60,prompt:!0,tag:1110},res:{ttl:5*60,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:24*60*60,prompt:!1,tag:1112},res:{ttl:24*60*60,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:30,prompt:!1,tag:1114},res:{ttl:30,prompt:!1,tag:1115}}};class et extends EventTarget{client;topic;key;#A=new AbortController;#n;#e=new Set;#t;constructor(A,t,r){super(),this.client=A,this.topic=t,this.key=r,this.#n=he.import(r),A.addEventListener("request",this.#o.bind(this),{signal:this.closing}),A.addEventListener("close",this.#r.bind(this),{signal:this.closing})}[Symbol.dispose](){this.close()}addEventListener(A,t,r){super.addEventListener(A,t,r)}get closing(){return this.#A.signal}#r(A){if(this.closing.aborted)return;const{reason:t}=A,r=new CloseEvent("close",{reason:t});this.dispatchEvent(r),this.#A.abort(t)}#o(A){if(A.data.method==="irn_subscription")return this.#s(A)}#s(A){const t=A.data;t.params.data.topic===this.topic&&(this.#i(t.params.data.message).catch(console.error),A.respondWith(!0))}async#i(A){const t=this.#c(A);"method"in t?await this.#g(t):await this.#B(t)}async#g(A){if(typeof A.id!="number"||this.#e.has(A.id))return;this.#e.add(A.id);const t=await Ct.runAndWrap(()=>this.#I(A)),r=bA.rewrap(A.id,t),{topic:o}=this,{prompt:s,tag:I,ttl:a}=Tt[A.method].res,c=this.#a(r),u={topic:o,message:c,prompt:s,tag:I,ttl:a};await this.client.publish(u)}async#I(A){const t=new Nt("request",{data:A});if(this.dispatchEvent(t),await t.extension,t.response!=null)return await t.response;throw new ce}async#B(A){this.dispatchEvent(new cA("response",{data:A}))}#c(A){const t=Uint8Array.fromBase64(A),s=Et.readFromBytes(te,t).fragment.into(mt).decrypt(this.#n),I=new TextDecoder().decode(s.fragment.bytes),a=QA.parse(I);return console.log("->",a),a}#a(A){console.log("<-",A);const t=QA.stringify(A),r=crypto.getRandomValues(new Uint8Array(12)),s=new fn(new yA(new TextEncoder().encode(t))).encrypt(this.#n,r),I=new Qe(s);return ht.writeToBytes(I).toBase64({alphabet:"base64",omitPadding:!1})}async subscribe(){this.closing.aborted||this.#t==null&&(this.#t=await this.client.subscribe(this.topic))}async unsubscribe(){this.closing.aborted||this.#t!=null&&await this.client.unsubscribe(this.#t,this.topic)}async publish(A){const t=lA.prepare(A),{topic:r}=this,o=this.#a(t),{prompt:s,tag:I,ttl:a}=Tt[A.method].req,c={topic:r,message:o,prompt:s,tag:I,ttl:a};await this.client.publish(c)}async request(A,t=new AbortController().signal){const r=lA.prepare(A),{topic:o}=this,s=this.#a(r),{prompt:I,tag:a,ttl:c}=Tt[A.method].req,{id:u}=r,E={topic:o,message:s,prompt:I,tag:a,ttl:c},l=this.#C(u,t);return l.catch(()=>{}),await this.client.publish(E),await l}async#C(A,t=new AbortController().signal){const r={stack:[],error:void 0,hasError:!1};try{const o=si(r,new DisposableStack,!1),s=new AbortController;o.defer(()=>s.abort());const I=Promise.withResolvers();return o.defer(()=>I.reject()),I.promise.catch(()=>{}),this.addEventListener("response",a=>{const c=a.data;c.id===A&&I.resolve(bA.from(c))},{signal:s.signal}),this.addEventListener("close",I.reject,{signal:s.signal}),t.addEventListener("abort",I.reject,{signal:s.signal}),await I.promise}catch(o){r.error=o,r.h
0x42dcd51e…043f·#25,775,459·0x41ab641f…736f39
OGogFykDADcDACACQRBqIBwpAwA3AwAgAkEIaiAdKQMANwMAIAIgAikDgAE3AwAgACAVQQFqIhU2AjAgFyAFIBZBBnQiHmoiAUE4aikAADcDACAYIAFBMGopAAA3AwAgGSABQShqKQAANwMAIBogAUEgaikAADcDACAbIAFBGGopAAA3AwAgHCABQRBqKQAANwMAIB0gAUEIaikAADcDACACIAEpAAA3A4ABIAJBwABqQThqIhtCADcDACACQcAAakEwaiIcQgA3AwAgAkHAAGpBKGoiHUIANwMAIAJBwABqQSBqIh9CADcDACACQcAAakEYaiIgQgA3AwAgAkHAAGpBEGoiIUIANwMAIAJBwABqQQhqIiJCADcDACACQgA3A0AgBCAeaiEaQUAhAQNAIAJBwABqIAFqIhdBwABqIAIgAWoiGEHAAGotAAAgAkGAAWogAWoiGUHAAGotAABzOgAAIBdBwQBqIBhBwQBqLQAAIBlBwQBqLQAAczoAACABQQJqIgENAAsgGiACKQNANwAAIBpBOGogGykDADcAACAaQTBqIBwpAwA3AAAgGkEoaiAdKQMANwAAIBpBIGogHykDADcAACAaQRhqICApAwA3AAAgGkEQaiAhKQMANwAAIBpBCGogIikDADcAACADIBZBAWoiFkcNAAsLIAJBwAFqJAAL7wkBIX8jAEHAAWsiAiQAAkAgASgCCCIDRQ0AIAEoAgQhBCABKAIAIQUgACgCPCEGIAAoAjghByAAKAI0IQggACgCLCEJIAAoAighCiAAKAIkIQsgACgCICEMIAAoAhwhDSAAKAIYIQ4gACgCFCEPIAAoAhAhECAAKAIMIREgACgCCCESIAAoAgQhEyAAKAIAIRQgACgCMCEVQQAhFgNAIAJBgAFqQThqIhcgAEE4aikCADcDACACQYABakEwaiIYIABBMGopAgA3AwAgAkGAAWpBKGoiGSAAQShqKQIANwMAIAJBgAFqQSBqIhogAEEgaikCADcDACACQYABakEYaiIbIABBGGopAgA3AwAgAkGAAWpBEGoiHCAAQRBqKQIANwMAIAJBgAFqQQhqIh0gAEEIaikCADcDACACIAApAgA3A4ABQQohAQNAQQBBBEEIQQwgAkGAAWoQMEEBQQVBCUENIAJBgAFqEDBBAkEGQQpBDiACQYABahAwQQNBB0EL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IAJBwABqQTBqIABBMGopAgA3AwAgAkHAAGpBKGogAEEoaikCADcDACACQcAAakEgaiAAQSBqKQIANwMAIAJBwABqQRhqIABBGGopAgA3AwAgAkHAAGpBEGogAEEQaikCADcDACACQcAAakEIaiAAQQhqKQIANwMAIAIgACkCADcDQEEKIQMDQEEAQQRBCEEMIAJBwABqEC9BAUEFQQlBDSACQcAAahAvQQJBBkEKQQ4gAkHAAGoQL0EDQQdBC0EPIAJBwABqEC9BAEEFQQpBDyACQcAAahAvQQFBBkELQQwgAkHAAGoQL0ECQQdBCEENIAJBwABqEC9BA0EEQQlBDiACQcAAahAvIANBf2oiAw0ACyACQcAAakEIaiIDIAAoAgggAygCAGo2AgAgAkHAAGpBEGoiBCAAKAIQIAQoAgBqNgIAIAIgACgCACACKAJAajYCQCACIAAoAgQgAigCRGo2AkQgAiAAKAIMIAIoAkxqNgJMIAIgACgCFCACKAJUajYCVCACQcAAakEYaiIFIAAoAhggBSgCAGo2AgAgAiAAKAIcIAIoAlxqNgJcIAJBwABqQSBqIgYgACgCICAGKAIAajYCACACIAAoAiQgAigCZGo2AmQgAkHAAGpBKGoiByAAKAIoIAcoAgBqNgIAIAIgACgCLCACKAJsajYCbCACQcAAakEwaiIIIAAoAjAiCSAIKAIAajYCACACIAAoAjQgAigCdGo2AnQgAkHAAGpBOGoiCiAAKAI4IAooAgBqNgIAIAIgACgCPCACKAJ8ajYCfCACQTBqIgsgCCkDADcDACACQShqIgggBykDADcDACACQThqIgcgCikDADcDACACQSBqIgogBikDADcDACACQRhqIgYgBSkDADcDACACQRBqIgUgBCkDADcDACACQQhqIgQgAykDADcDACACIAIpA0A3AwAgACAJQQFqNgIwIAEgAikDADcAACABQQhqIAQpAwA3AAAgAUEQaiAFKQMANwAAIAFBGGogBikDADcAACABQSBqIAopAwA3AAAgAUEoaiAIKQMANwAAIAFBMGogCykDADcAACABQThqIAcpAwA3AAAgAkGAAWokAAvfBgEKfyMAQYABayICJAAgAkHAAGpBOGogAEE4aikCADcDACACQcAAakEwaiAAQTBqKQIANwMAIAJBwABqQShqIABBKGop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AEdqIAAoAjBBf3NNDQBBASEDDAELIABBwABqIgcgBCAFIAMgBSADSRsiBWo6AAAgASgCBCIIIAVqIQkgASgCACIKIAVqIQsgAyAFayIMQT9xIQ0gDEEGdiEOAkAgBUUNACAFQQFxIQ9BACEDAkAgBUEBRg0AIAAgBGohECAFQf4AcSERQQAhAwNAIAggA2oiBSAQIANqIgFBwABqLQAAIAogA2oiBi0AAHM6AAAgBUEBaiABQcEAai0AACAGQQFqLQAAczoAACARIANBAmoiA0cNAAsLIA9FDQAgCCADaiAHIARqIANqLQAAIAogA2otAABzOgAACyACIA42AgwgAiAJNgIIIAIgCzYCBCAAIAJBBGoQBwJAIA1FDQAgCSAMQUBxIgNqIQggCyADaiEKIAAgBxAMIAxBAXEhEUEAIQMCQCANQQFGDQAgDSARayEQQQAhAwNAIAggA2oiBSAAIANqIgFBwABqLQAAIAogA2oiBi0AAHM6AAAgBUEBaiABQcEAai0AACAGQQFqLQAAczoAACAQIANBAmoiA0cNAAsLAkAgEUUNACAIIANqIAcgA2otAAAgCiADai0AAHM6AAALIAcgDToAAAtBACEDCyACQRBqJAAgAwvHAwIDfw1+IAAgASgAA0ECdkH///8fcSAAKAIoaq0iBiAAKAIUIgOtIgd+IAEoAABB////H3EgACgCJGqtIgggACgCGCIErSIJfnwgASgABkEEdkH///8fcSAAKAIsaq0iCiAANQIQIgt+fCABKAAJQQZ2IAAoAjBqrSIMIAAoAiAiBUEFbK0iDX58IAAoAjRBAEGAgIAIIAIbaiABKAAMQQh2aq0iDiAAKAIcIgFBBWytIg9+fCAGIAt+IAggB358IAogDX58IAwgD358IA4gBEEFbK0iEH58IAYgDX4gCCALfnwgCiAPfnwgDCAQfnwgDiADQQVsrX58Ig9CGohC/////w+DfCIQQhqIQv////8Pg3wiEadB////H3E2AiwgACAGIAl+IAggAa0iEn58IAogB358IAwgC358IA4gDX58IBFCGohC/////w+DfCINp0H///8fcTYCMCAAIAYgEn4gCCAFrX58IAogCX58IAwgB358IA4gC358IA1CGohC/////w+DfCIGp0H///8fcTYCNCAAIAZCGoinQQVsIA+nQf///x9xaiIBQf///x9xNgIkIAAgAUEadiAQp0H///8fcWo2AigL8QMBAn8gACABaiECAkACQCAAKAIEIgNBAXENACADQQJxRQ0BIAAoAgAiAyABaiEBAkAgACADayIAQQAoAoigQEcNACACKAIEQQNxQQNHDQFBACABNgKAoEAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAMAgsgACADEB8LAkACQAJAAkAgAigCBCIDQQJxDQAgAkEAKAKMoEBGDQIgAkEAKAKIoEBGDQMgAiADQXhxIgMQHyAAIAMgAWoiAUEBcjYCBCAAIAFqIAE2AgAgAEEAKAKIoEBHDQFBACABNgKAoEAPCyACIANBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsCQCABQYACSQ0AIAAgARAkDwsgAUH4AXFB8J3AAGohAgJAAkBBACgC+J9AIgNBASABQQN2dCIBcQ0AQQAgAyABcjYC+J9AIAIhAQwBCyACKAIIIQELIAIgADYCCCABIAA2AgwgACACNgIMIAAgATYCCA8LQQAgADYCjKBAQQBBACgChKBAIAFqIgE2AoSgQCAAIAFBAXI2AgQgAEEAKAKIoEBHDQFBAEEANgKAoEBBAEEANgKIoEAPC0EAIAA2AoigQEEAQQAoAoCgQCABaiIBNgKAoEAgACABQQFyNgIEIAAgAWogATYCAA8LC+gDAQJ/IwBB4AFrIgMkAAJAAkAgASgCCEEgRw0AIAIoAghBDEcNACADQQhqIAEoAgQgAigCBEEMECMgA0GYAWpCADcDACADQYgBakEIakIANwMAIANBoAFqQgA3AwAgA0GoAWpCADcDACADQbABakIANwMAIANBuAFqQgA3AwAgA0HAAWpCADcDACADQYABakIANwAAIANB0QBqIANBkQFqKQAANwAAIANB2QBqIANBmQFqKQAANwAAIANB4QBqIANBoQFqKQAANwAAIANB6QBqIANBqQFqKQAANwAAIANB8QBqIANBsQFqKQAANwAAIANB+QBqIANBuQFqKQAANwAAIANCADcDiAEgAyADKQCJATcASSADQcAAOgBIIAMoAgghASAAQQhqIANBDGpB/AAQDxpBACECDAELIANBAjYCDCADQcyKwAA2AgggA0ICNwIUIANBAq1CIIYgA0HUAWqthDcDkAEgA0EFrUIghiADQd8Baq2ENwOIASADQcUANgLYASADQYOKwAA2AtQBIAMgA0GIAWo2AhAgA0HIAWogA0EIahAZIAMoAswBIgIgAygC0AEQcCEBAkAgAygCyAEiBEUNACACIARBARB9C0EBIQILIAAgAjYCACAAIAE2AgQgA0HgAWokAAuqAwEFfwJAAkAgAkEQTw0AIAAhAwwBCwJAIABBACAAa0EDcSIEaiIFIABNDQAgBEF/aiEGIAAhAwJAIARFDQAgBCEHIAAhAwNAIAMgAToAACADQQFqIQMgB0F/aiIHDQALCyAGQQdJDQADQCADIAE6AAAgA0EHaiABOgAAIANBBmogAToAACADQQVqIAE6AAAgA0EEaiABOgAAIANBA2ogAToAACADQQJqIAE6AAAgA0EBaiABOgAAIANBCGoiAyAFRw0ACwsCQCAFIAUgAiAEayICQXxxaiIDTw0AIAFB/wFxQYGChAhsIQcDQCAFIAc2AgAgBUEEaiIFIANJDQALCyACQQNxIQILAkAgAyADIAJqIgdPDQAgAkF/aiEEAkAgAkEHcSIFRQ0AA0AgAyABOgAAIANBAWohAyAFQX9qIgUNAAsLIARBB0kNAANAIAMgAToAACADQQdqIAE6AAAgA0EGaiABOgAAIANBBWogAToAACADQQRqIAE6AAAgA0EDaiABOgAAIANBAmogAToAACADQQFqIAE6AAAgA0EIaiIDIAdHDQALCyAAC+8CAQV/QQAhAgJAQc3/eyAAQRAgAEEQSxsiAGsgAU0NACAAQRAgAUELakF4cSABQQtJGyIDakEMahADIgFFDQAgAUF4aiECAkACQCAAQX9qIgQgAXENACACIQAMAQsgAUF8aiIFKAIAIgZBeHEgBCABakEAIABrcUF4aiIBQQAgACABIAJrQRBLG2oiACACayIBayEEAkAgBkEDcUUNACAAIAQgACgCBEEBcXJBAnI2AgQgACAEaiIEIAQoAgRBAXI2AgQgBSABIAUoAgBBAXFyQQJyNgIAIAIgAWoiBCAEKAIEQQFyNgIEIAIgARAUDAELIAIoAgAhAiAAIAQ2AgQgACACIAFqNgIACwJAIAAoAgQiAUEDcUUNACABQXhxIgIgA0EQak0NACAAIAMgAUEBcXJBAnI2AgQgACADaiIBIAIgA2siA0EDcjYCBCAAIAJqIgIgAigCBEEBcjYCBCABIAMQFAsgAEEIaiECCyACC8oDACAAQQA6AEAgAEEAOgBBIABBADoAQiAAQQA6AEMgAEEAOgBEIABBADoARSAAQQA6AEYgAEEAOgBHIABBADoASCAAQQA6AEkgAEEAOgBKIABBADoASyAAQQA6AEwgAEEAOgBNIABBADoATiAAQQA6AE8gAEEAOgBQIABBADoAUSAAQQA6AFIgAEEAOgBTIABBADoAVCAAQQA6AFUgAEEAOgBWIABBADoAVyAAQQA6AFggAEEAOgBZIABBADoAWiAAQQA6AFsgAEEAOgBcIABBADoAXSAAQQA6AF4gAEEAOgBfIABBADoAYCAAQQA6AGEgAEEAOgBiIABBADoAYyAAQQA6AGQgAEEAOgBlIABBADoAZiAAQQA6AGcgAEEAOgBoIABBADoAaSAAQQA6AGogAEEAOgBrIABBADoAbCAAQQA6AG0gAEEAOgBuIABBADoAbyAAQQA6AHAgAEEAOgBxIABBADoAciAAQQA6AHMgAEEAOgB0IABBADoAdSAAQQA6AHYgAEEAOgB3IABBADoAeCAAQQA6AHkgAEEAOgB6IABBADoAeyAAQQA6AHwgAEEAOgB9IABBADoAfiAAQQA6AH8gAEEAOgCAAQuPAwEHfyMAQRBrIgIkAAJAAkACQAJAAkAgASgCBCIDRQ0AIAEoAgAhBCADQQNxIQUCQAJAIANBBE8NAEEAIQNBACEGDAELIARBHGohByADQXxxIQhBACEDQQAhBgNAIAcoAgAgB0F4aigCACAHQXBqKAIAIAdBaGooAgAgA2pqamohAyAHQSBqIQcgCCAGQQRqIgZHDQALCwJAIAVFDQAgBkEDdCAEakEEaiEHA0AgBygCACADaiEDIAdBCGohByAFQX9qIgUNAAsLAkAgASgCDEUNACADQQBIDQEgA0EQSSAEKAIERXENASADQQF0IQMLQQAhBSADQQBIDQMgAw0BC0EBIQdBACEDDAELQQAtAMGcQBpBASEFIANBARB2IgdFDQELIAJBADYCCCACIAc2AgQgAiADNgIAIAJBtJbAACABEBFFDQFB0JfAAEHWACACQQ9qQcCXwABBwJjAABBGAAsgBSADQbCXwAAQbQALIAAgAikCADcCACAAQQhqIAJBCGooAgA2AgAgAkEQaiQAC4cDAgF/AX4jAEHwAGsiByQAIAcgAjYCDCAHIAE2AgggByAENgIUIAcgAzYCEAJAAkACQAJAIABB/wFxDgMAAQIACyAHQbSZwAA2AhhBAiECDAILIAdBtpnAADYCGEECIQIMAQsgB0G4mcAANgIYQQchAgsgByACNgIcAkAgBSgCAA0AIAdBAzYCXCAHQfCZwAA2AlggB0IDNwJkIAdBHq1CIIYiCCAHQRBqrYQ3A0ggByAIIAdBCGqthDcDQCAHQR+tQiCGIAdBGGqthDcDOCAHIAdBOGo2AmAgB0HYAGogBhBhAAsgB0EgakEQaiAFQRBqKQIANwMAIAdBIGpBCGogBUEIaikCADcDACAHIAUpAgA3AyAgB0EENgJcIAdBpJrAADYCWCAHQgQ3AmQgB0EerUIghiIIIAdBEGqthDcDUCAHIAggB0EIaq2ENwNIIAdBIK1CIIYgB0Egaq2ENwNAIAdBH61CIIYgB0EYaq2ENwM4IAcgB0E4ajYCYCAHQdgAaiAGEGEAC4IDAQN/IwBBMGsiBCQAAkACQAJAIAFFDQAgAUF4aiIFIAUoAgBBAWoiBjYCACAGRQ0BIAEoAgAiBkF/Rg0CIAEgBkEBajYCACAEIAU2AgggBCABNgIEIAQgAUEEaiIGNgIAIARBDGogAhBKIAQoAgwhAiAEQRhqIAMQSiAEQSRqIAYgAiAEKAIYECwgBCgCHCIGIAYoAgBBf2o2AgAgBCgCICIGIAYoAgBBf2oiBjYCAAJAIAYNACAEQRhqQQhqEFILIAQoAhAiBiAGKAIAQX9qNgIAIAQoAhQiBiAGKAIAQX9qIgY2AgACQCAGDQAgBEEMakEIahBSCyABIAEoAgBBf2o2AgAgBSAFKAIAQX9qIgE2AgACQCABDQAgBEEIahAzCwJAAkAgBCgCJEGAgICAeEYNAEEAIQEgBEEkahBPIQUMAQtBASEBIAQoAighBQsgACABNgIIIAAgBUEAIAEbNgIEIABBACAFIAEbNgIAIARBMGokAA8LEIcBCwALEIgBAAuCAwEDfyMAQTBrIgQkAAJAAkACQCABRQ0AIAFBeGoiBSAFKAIAQQFqIgY2AgAgBkUNASABKAIAIgZBf0YNAiABIAZBAWo2AgAgBCAFNgIIIAQgATYCBCAEIAFBBGoiBjYCACAEQQxqIAIQSiAEKAIMIQIgBEEYaiADEEogBEEkaiAGIAIgBCgCGBAtIAQoAhwiBiAGKAIAQX9qNgIAIAQoAiAiBiAGKAIAQX9qIgY2AgACQCAGDQAgBEEYakEIahBSCyAEKAIQIgYgBigCAEF/ajYCACAEKAIUIgYgBigCAEF/aiIGNgIAAkAgBg0AIARBDGpBCGoQUgsgASABKAIAQX9qNgIAIAUgBSgCAEF/aiIBNgIAAkAgAQ0AIARBCGoQMwsCQAJAIAQoAiRBgICAgHhGDQBBACEBIARBJGoQTyEFDAELQQEhASAEKAIoIQULIAAgATYCCCAAIAVBACABGzYCBCAAQQAgBSABGzYCACAEQTBqJAAPCxCHAQsACxCIAQALzgICDX8BfiAAIAEoAiwgASgCKCICQRp2aiIDQRp2IAEoAjBqIgRBGnYgASgCNGoiBUEadkEFbCABKAIkaiIGQf///x9xIgdBBWoiCEEadiAGQRp2IAJB////H3FqIgZqIgJBGnYgA0H///8fcSIJaiIKQRp2IARB////H3EiBGoiC0EadiAFQf///x9xaiIMQYCAgGBqIg1BH3ZBf2oiDkH///8fcSIDIAJxIA1BH3UiAiAGcXIiBkEadCACIAdxIAMgCHFyciIHIAEoAgBqIgg2AAAgACAGQQZ2IAMgCnEgAiAJcXIiBkEUdHKtIAE1AgR8IAggB0mtfCIPPgAEIAAgBkEMdiADIAtxIAIgBHFyIgNBDnRyrSABNQIIfCAPQiCIfCIPPgAIIAAgA0ESdiAOIAxxIAIgBXFyQQh0cq0gATUCDHwgD0IgiHw+AAwLhwMBAX8jAEEwayICJAACQAJAAkACQCABDQAgAEUNASAAQXhqIgEoAgBBAUcNAiABQQA2AgACQCABQX9GDQAgAEF8aiIAIAAoAgBBf2oiADYCACAADQAgAUEsQQQQfQsgAkEAOgAMIAJBADoALyACQQA6AC4gAkEAOgAtIAJBADoALCACQQA6ACsgAkEAOgAqIAJBADoAKSACQQA6ACggAkEAOgAnIAJBADoAJiACQQA6ACUgAkEAOgAkIAJBADoAIyACQQA6ACIgAkEAOgAhIAJBADoAICACQQA6AB8gAkEAOgAeIAJBADoAHSACQQA6ABwgAkEAOgAbIAJBADoAGiACQQA6ABkgAkEAOgAYIAJBADoAFyACQQA6ABYgAkEAOgAVIAJBADoAFCACQQA6ABMgAkEAOgASIAJBADoAEQwDCyAARQ0AIAIgAEF4aiIANgIMIAAgACgCAEF/aiIBNgIAIAENAiACQQxqEDMMAgsQhwEAC0HohcAAQT8QiQEACyACQTBqJAAL+QIBBH8gACgCDCECAkACQAJAIAFBgAJJDQAgACgCGCEDAkACQAJAIAIgAEcNACAAQRRBECAAKAIUIgIbaigCACIBDQFBACECDAILIAAoAggiASACNgIMIAIgATYCCAwBCyAAQRRqIABBEGogAhshBANAIAQhBSABIgJBFGogAkEQaiACKAIUIgEbIQQgAkEUQRAgARtqKAIAIgENAAsgBUEANgIACyADRQ0CAkAgACgCHEECdEHgnMAAaiIBKAIAIABGDQAgA0EQQRQgAygCECAARhtqIAI2AgAgAkUNAwwCCyABIAI2AgAgAg0BQQBBACgC/J9AQX4gACgCHHdxNgL8n0AMAgsCQCACIAAoAggiBEYNACAEIAI2AgwgAiAENgIIDwtBAEEAKAL4n0BBfiABQQN2d3E2AvifQA8LIAIgAzYCGAJAIAAoAhAiAUUNACACIAE2AhAgASACNgIYCyAAKAIUIgFFDQAgAiABNgIUIAEgAjYCGA8LC9ICAQN/IwBBEGsiAiQAAkACQCABQYABSQ0AIAJBADYCDAJAAkAgAUGAEEkNAAJAIAFBgIAESQ0AIAJBDGpBA3IhAyACIAFBEnZB8AFyOgAMIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADUEEIQQMAgsgAkEMakECciEDIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDIQQMAQsgAkEMakEBciEDIAIgAUEGdkHAAXI6AAxBAiEECyADIAFBP3FBgAFyOgAAAkAgACgCACAAKAIIIgFrIARPDQAgACABIAQQNiAAKAIIIQELIAAoAgQgAWogAkEMaiAEEA8aIAAgASAEajYCCAwBCwJAIAAoAggiBCAAKAIARw0AIABB0JjAABA4CyAAIARBAWo2AgggACgCBCAEaiABOgAACyACQRBqJABBAAvUAgECfyMAQRBrIgIkAAJAAkAgAUGAAUkNACACQQA2AgwCQAJAIAFBgBBJDQACQCABQYCABEkNACACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQhAQwCCyACIAFBP3FBgAFyOgAOIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDIQEMAQsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIhAQsCQCAAKAIAIAAoAggiA2sgAU8NACAAIAMgAUEBQQEQLiAAKAIIIQMLIAAoAgQgA2ogAkEMaiABEA8aIAAgAyABajYCCAwBCwJAIAAoAggiAyAAKAIARw0AIABBzJLAABA4CyAAKAIEIANqIAE6AAAgACADQQFqNgIICyACQRBqJABBAAvPAgEGfyMAQRBrIgMkAEEKIQQCQAJAIABBkM4ATw0AIAAhBQwBC0EKIQQDQCADQQZqIARqIgZBfGogACAAQZDOAG4iBUGQzgBsayIHQf//A3FB5ABuIghBAXRB2prAAGovAAA7AAAgBkF+aiAHIAhB5ABsa0H//wNxQQF0QdqawABqLwAAOwAAIARBfGohBCAAQf/B1y9LIQYgBSEAIAYNAAsLAkACQCAFQeMASw0AIAUhAAwBCyADQQZqIARBfmoiBGogBSAFQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0QdqawABqLwAAOwAACwJAAkAgAEEKSQ0AIANBBmogBEF+aiIEaiAAQQF0QdqawABqLwAAOwAADAELIANBBmogBEF/aiIEaiAAQTByOgAACyACIAFBAUEAIANBBmogBGpBCiAEaxAOIQAgA0EQaiQAIAAL3AIBBX8jAEHQAGsiBCQAAkACQCADQQxLDQBBASADdEGQInFFDQAgBEEIaiIFQQApAuSAQDcDACAEQRhqIgYgAUEIaikAADcDACAEQSBqIgcgAUEQaikAADcDACAEQShqIgggAUEYaikAADcDACAEQQApAtyAQDcDACAEIAEpAAA3AxAgBEEMNgIwIAQgAzYCNCADQQxHDQEgACAEKQMANwIAIABBADYCMCAEQThqQQhqIgMgAkEIaigAADYCACAAQQhqIAUpAwA3AgAgAEEQaiAEQRBqKQMANwIAIABBGGogBikDADcCACAAQSBqIAcpAwA3AgAgAEEoaiAIKQMANwIAIAQgAikAADcDOCAAIAQpAzg3AjQgAEE8aiADKAIANgIAIARB0ABqJAAPC0H8gMAAQTBBrIHAABBXAAsgBEEANgI4QQAgBEEwaiAEQTRqIARBOGpB7IDAABBaAAvIAgEEf0EAIQICQCABQYACSQ0AQR8hAiABQf///wdLDQAgAUEGIAFBCHZnIgJrdkEBcSACQQF0a0E+aiECCyAAQgA3AhAgACACNgIcIAJBAnRB4JzAAGohAwJAQQAoAvyfQEEBIAJ0IgRxDQAgAyAANgIAIAAgAzYCGCAAIAA2AgwgACAANgIIQQBBACgC/J9AIARyNgL8n0APCwJAAkACQCADKAIAIgQoAgRBeHEgAUcNACAEIQIMAQsgAUEAQRkgAkEBdmsgAkEfRht0IQMDQCAEIANBHXZBBHFqQRBqIgUoAgAiAkUNAiADQQF0IQMgAiEEIAIoAgRBeHEgAUcNAAsLIAIoAggiAyAANgIMIAIgADYCCCAAQQA2AhggACACNgIMIAAgAzYCCA8LIAUgADYCACAAIAQ2AhggACAANgIMIAAgADYCCAvAAgEGfyMAQSBrIgEkAAJAAkACQCAAKAIMIgIgACgCCCIDRw0AAkACQCACIAAoAgAiA0cNACACQYABIAJBgAFLGyIEIQbQbyAG/A8BIgNBf0YNBAJAAkAgACgCECIFDQAgACADNgIQDAELIAUgAmogA0cNBQsgBCACaiIDQf////8BSw0EIANBAnQhBUEAIQQCQCACRQ0AIAEgAkECdDYCHCABIAAoAgQ2AhRBBCEECyABIAQ2AhggAUEIakEEIAUgAUEUahA/IAEoAghBAUYNBCABKAIMIQQgACADNgIAIAAgBDYCBAwBCyACIANPDQMLIAAgAkEBaiIDNgIIIAAoAgQgAkECdGogAzYCAAwBCyACIANPDQELIAAgACgCBCACQQJ0aigCADYCDCAAKAIQIQAgAUEgaiQAIAAgAmoPCwALtQIBAX8jAEGgAWsiAyQAIANBBGogARBKIAMoAgQhASADQRBqIAIQSiADQRxqIAEgAygCEBAVIAMoAhQiASABKAIAQX9qNgIAIAMoAhgiASABKAIAQX9qIgE2AgACQCABDQAgA0EQakEIahBSCyADKAIIIgEgASgCAEF/ajYCACADKAIMIgEgASgCAEF/aiIBNgIAAkAgAQ0AIANBBGpBCGoQUgsCQAJAAkAgAygCHA0AQQAhAUEALQDBnEAaQYwBQQQQdiICRQ0CIAJBADYCCCACQoGAgIAQNwIAIAJBDGog
0x42dcd51e…043f·#25,775,457·0xcb0edc4e…5d5eb2
try{if(!r.async&&o===1)return o=0,A.stack.push(r),Promise.resolve().then(s);if(r.dispose){var I=r.dispose.call(r.value);if(r.async)return o|=2,Promise.resolve(I).then(s,function(a){return t(a),s()})}else o|=1}catch(a){t(a)}if(o===1)return A.hasError?Promise.reject(A.error):Promise.resolve();if(A.hasError)throw A.error}return s()}}(typeof SuppressedError=="function"?SuppressedError:function(n,A,t){var r=new Error(t);return r.name="SuppressedError",r.error=n,r.suppressed=A,r}),lA;(function(n){function A(r){const{method:o,params:s}=r,I=Date.now()+Math.floor(Math.random()*1e3);return new Be(I,o,s)}n.prepare=A;async function t(r,o,s=new AbortController().signal){const I={stack:[],error:void 0,hasError:!1};try{const a=Wr(I,new DisposableStack,!1),c=new AbortController;a.defer(()=>c.abort());const u=Promise.withResolvers();a.defer(()=>u.reject()),u.promise.catch(()=>{});const E=n.prepare(o);return r.addEventListener("message",async l=>{if(typeof l.data!="string")return;const d=QA.parse(l.data),w=bA.from(d);w.id===E.id&&u.resolve(w)},{signal:c.signal}),r.addEventListener("close",u.reject,{signal:c.signal}),s.addEventListener("abort",u.reject,{signal:c.signal}),r.send(QA.stringify(E)),await u.promise}catch(a){I.error=a,I.hasError=!0}finally{Xr(I)}}n.request=t})(lA||(lA={}));class cA extends Event{data;constructor(A,t){super(A,t),this.data=t.data}}class Vr extends Event{#A=Promise.resolve();get extension(){return this.#A}waitUntil(A){this.#A=this.#A.then(()=>A)}}class Zr extends Vr{#A;get response(){return this.#A}respondWith(A){this.stopImmediatePropagation(),this.#A=Promise.resolve(A)}}class Nt extends Zr{data;constructor(A,t){super(A),this.data=t.data}}var zr=function(n,A,t){if(A!=null){if(typeof A!="object"&&typeof A!="function")throw new TypeError("Object expected.");var r,o;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=A[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=A[Symbol.dispose],t&&(o=r)}if(typeof r!="function")throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(s){return Promise.reject(s)}}),n.stack.push({value:A,dispose:r,async:t})}else t&&n.stack.push({async:!0});return A},$r=function(n){return function(A){function t(I){A.error=A.hasError?new n(I,A.error,"An error was suppressed during disposal."):I,A.hasError=!0}var r,o=0;function s(){for(;r=A.stack.pop();)try{if(!r.async&&o===1)return o=0,A.stack.push(r),Promise.resolve().then(s);if(r.dispose){var I=r.dispose.call(r.value);if(r.async)return o|=2,Promise.resolve(I).then(s,function(a){return t(a),s()})}else o|=1}catch(a){t(a)}if(o===1)return A.hasError?Promise.reject(A.error):Promise.resolve();if(A.hasError)throw A.error}return s()}}(typeof SuppressedError=="function"?SuppressedError:function(n,A,t){var r=new Error(t);return r.name="SuppressedError",r.error=n,r.suppressed=A,r});class Ce extends EventTarget{socket;#A=new AbortController;constructor(A){super(),this.socket=A,A.addEventListener("message",this.#e.bind(this),{signal:this.closing}),A.addEventListener("close",this.#n.bind(this),{signal:this.closing})}static async open(A,t,r,o=new AbortController().signal){const s={stack:[],error:void 0,hasError:!1};try{const I=zr(s,new DisposableStack,!1),a=new AbortController;I.defer(()=>a.abort());const c=await Zt.sign(t,A),u=new WebSocket(`${A}/?auth=${c}&projectId=${r}`),E=Promise.withResolvers();return I.defer(()=>E.reject()),E.promise.catch(()=>{}),u.addEventListener("open",E.resolve,{signal:a.signal}),o.addEventListener("abort",E.reject,{signal:a.signal}),await E.promise,new Ce(u)}catch(I){s.error=I,s.hasError=!0}finally{$r(s)}}[Symbol.dispose](){this.close()}addEventListener(A,t,r){super.addEventListener(A,t,r)}get closing(){return this.#A.signal}get relay(){return{protocol:"irn"}}#n(A){if(this.closing.aborted)return;const{reason:t}=A,r=new CloseEvent("close",{reason:t});this.dispatchEvent(r),this.#A.abort(t)}#e(A){if(typeof A.data!="string")return;const t=JSON.parse(A.data);"method"in t&&this.#t(t).catch(console.error)}async#t(A){const t=await Ct.runAndWrap(()=>this.#r(A)),r=bA.rewrap(A.id,t);this.socket.send(QA.stringify(r))}async#r(A){const t=new Nt("request",{data:A});if(this.dispatchEvent(t),await t.extension,t.response!=null)return await t.response;throw new ce}async subscribe(A){return await lA.request(this.socket,{method:"irn_subscribe",params:{topic:A}}).then(t=>t.getOrThrow())}async unsubscribe(A,t){await lA.request(this.socket,{method:"irn_unsubscribe",params:{id:A,topic:t}}).then(r=>r.getOrThrow())}async*fetch(A){for(;;){const t=await lA.request(this.socket,{method:"irn_fetchMessages",params:{topic:A}}).then(r=>r.getOrThrow());for(const r of t.messages)yield r;if(!t.hasMore)break}}async publish(A){await lA.request(this.socket,{method:"irn_publish",params:A}).then(t=>t.getOrThrow())}close(A){this.socket.close(void 0,A)}}class Le{constructor(){}size(){return 0}write(A){}clone(){return this}}(function(n){function A(t){return new n}n.read=A})(Le||(Le={}));var $t;class ln extends Error{cursorOffset;cursorLength;#A=$t;name=this.#A.name;constructor(A,t){super(`Cursor has ${t-A} remaining bytes after read`),this.cursorOffset=A,this.cursorLength=t}static from(A){return new $t(A.offset,A.length)}}$t=ln;var Et;(function(n){function A(r,o){const s=new jA(o),I=r.read(s);if(s.remaining)throw ln.from(s);return I}n.readFromBytes=A;function t(r,o){try{const s=new jA(o),I=r.read(s);return s.remaining?void 0:I}catch{return}}n.readFromBytesOrNull=t})(Et||(Et={}));class yA{bytes;constructor(A){this.bytes=A}size(){return this.bytes.length}write(A){A.write(this.bytes)}clone(){return new yA(new Uint8Array(this.bytes))}into(A){return Et.readFromBytes(A,this.bytes)}}(function(n){function A(t){return new n(t.read(t.remaining))}n.read=A})(yA||(yA={}));var Ae;class wn extends Error{cursorOffset;cursorLength;#A=Ae;name=this.#A.name;constructor(A,t){super(`Cursor has ${t-A} remaining bytes after write`),this.cursorOffset=A,this.cursorLength=t}static from(A){return new Ae(A.offset,A.length)}}Ae=wn;var ht;(function(n){function A(t){const r=t.size(),o=new Uint8Array(r),s=new jA(o);if(t.write(s),s.remaining)throw wn.from(s);return o}n.writeToBytes=A})(ht||(ht={}));var rt,it;class fn{fragment;constructor(A){this.fragment=A}encrypt(A,t){return new mt(t,A.encrypt(ht.writeToBytes(this.fragment),t))}}class mt{iv;inner;constructor(A,t){this.iv=A,this.inner=t}decrypt(A){return new fn(new yA(A.decrypt(this.inner,this.iv)))}size(){return this.iv.length+this.inner.length}write(A){A.write(this.iv),A.write(this.inner)}static read(A){const t=new Uint8Array(A.read(12)),r=new Uint8Array(A.read(A.remaining));return new mt(t,r)}}var te;(function(n){var A;class t extends Error{type;#A=A;name=this.#A.name;constructor(s){super(`Unknown type ${s}`),this.type=s}}A=t,n.UnknownTypeError=t;function r(o){const s=o.getUint8();if(s===0)return Qe.read(o);if(s===1)return dn.read(o);throw new t(s)}n.read=r})(te||(te={}));class Qe{fragment;#A=rt;static type=0;type=this.#A.type;constructor(A){this.fragment=A}size(){return 1+this.fragment.size()}write(A){A.writeUint8(this.type),this.fragment.write(A)}static read(A){const t=A.readUint8();if(t!==rt.type)throw new Error(`Invalid type-0 type ${t}`);const r=new Uint8Array(A.read(A.remaining)),o=new yA(r);return new rt(o)}}rt=Qe;class dn{sender;fragment;#A=it;static type=1;type=this.#A.type;constructor(A,t){this.sender=A,this.fragment=t}size(){return 1+this.sender.length+this.fragment.size()}write(A){A.writeUint8(this.type),A.write(this.sender),this.fragment.write(A)}static read(A){const t=A.readUint8();if(t!==it.type)throw new Error(`Invalid type ${t}`);const r=new Uint8Array(A.read(32)),o=new Uint8Array(A.read(A.remaining)),s=new yA(o);return new it(r,s)}}it=dn;let H;const pn=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&pn.decode();let vA=null;function Ee(){return(vA===null||vA.byteLength===0)&&(vA=new Uint8Array(H.memory.buffer)),vA}function qe(n,A){return n=n>>>0,pn.decode(Ee().subarray(n,n+A))}function TA(n,A){if(!(n instanceof A))throw new Error(`expected instance of ${A.name}`)}function Kt(n){const A=H.__wbindgen_export_0.get(n);return H.__externref_table_dealloc(n),A}let yn=0;function Ai(n,A){const t=A(n.length*1,1)>>>0;return Ee().set(n,t/1),yn=n.length,t}typeof FinalizationRegistry>"u"||new FinalizationRegistry(n=>H.__wbg_chacha20cipher_free(n>>>0,1));const xe=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>H.__wbg_chacha20poly1305cipher_free(n>>>0,1));class ti{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,xe.unregister(this),A}[Symbol.dispose](){const A=this.__destroy_into_raw();H.__wbg_chacha20poly1305cipher_free(A,0)}constructor(A){TA(A,j);const t=H.chacha20poly1305cipher_new(A.__wbg_ptr);if(t[2])throw Kt(t[1]);return this.__wbg_ptr=t[0]>>>0,xe.register(this,this.__wbg_ptr,this),this}encrypt(A,t){TA(A,j),TA(t,j);const r=H.chacha20poly1305cipher_encrypt(this.__wbg_ptr,A.__wbg_ptr,t.__wbg_ptr);if(r[2])throw Kt(r[1]);return j.__wrap(r[0])}decrypt(A,t){TA(A,j),TA(t,j);const r=H.chacha20poly1305cipher_decrypt(this.__wbg_ptr,A.__wbg_ptr,t.__wbg_ptr);if(r[2])throw Kt(r[1]);return j.__wrap(r[0])}}const Ht=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>H.__wbg_memory_free(n>>>0,1));class j{static __wrap(A){A=A>>>0;const t=Object.create(j.prototype);return t.__wbg_ptr=A,t.__wbg_ptr0=H.memory_ptr(A)>>>0,t.__wbg_len0=H.memory_len(A)>>>0,Ht.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,this.__wbg_ptr0=0,this.__wbg_len0=0,Ht.unregister(this),A}[Symbol.dispose](){const A=this.__destroy_into_raw();H.__wbg_memory_free(A,0)}constructor(A){const t=Ai(A,H.__wbindgen_malloc),r=yn,o=H.memory_new(t,r);return this.__wbg_ptr=o>>>0,this.__wbg_ptr0=t>>>0,this.__wbg_len0=r>>>0,Ht.register(this,this.__wbg_ptr,this),this}ptr(){return this.__wbg_ptr0}len(){return this.__wbg_len0}get bytes(){return Ee().subarray(this.__wbg_ptr0,this.__wbg_ptr0+this.__wbg_len0)}}async function ei(n,A){if(typeof Response=="function"&&n instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(n,A)}catch(r){if(n.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r);else throw r}const t=await n.arrayBuffer();return await WebAssembly.instantiate(t,A)}else{const t=await WebAssembly.instantiate(n,A);return t instanceof WebAssembly.Instance?{instance:t,module:n}:t}}function ni(){const n={};return n.wbg={},n.wbg.__wbindgen_error_new=function(A,t){return new Error(qe(A,t))},n.wbg.__wbindgen_init_externref_table=function(){const A=H.__wbindgen_export_0,t=A.grow(4);A.set(0,void 0),A.set(t+0,void 0),A.set(t+1,null),A.set(t+2,!0),A.set(t+3,!1)},n.wbg.__wbindgen_throw=function(A,t){throw new Error(qe(A,t))},n}function ri(n,A){return H=n.exports,Dn.__wbindgen_wasm_module=A,vA=null,H.__wbindgen_start(),H}async function Dn(n){if(H!==void 0)return H;if(typeof n<"u"&&(Object.getPrototypeOf(n)===Object.prototype?{module_or_path:n}=n:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof n>"u")throw new Error;const A=ni();(typeof n=="string"||typeof Request=="function"&&n instanceof Request||typeof URL=="function"&&n instanceof URL)&&(n=fetch(n));const{instance:t,module:r}=await ei(await n,A);return ri(t,r)}const ii="data:application/wasm;base64,AGFzbQEAAAABggETYAAAYAABf2ABfwBgAX8Bf2ABfwN/f39gAn9/AGACf38Bf2ACf38Cf39gAn9/A39/f2ACf38Bb2ADf39/AGADf39/AX9gA39/fwN/f39gBH9/f38AYAR/f39/AX9gBX9/f39/AGAFf39/f38Bf2AGf39/f39/AX9gB39/f39/f38AAlkDA3diZxRfX3diaW5kZ2VuX2Vycm9yX25ldwAJA3diZxBfX3diaW5kZ2VuX3Rocm93AAUDd2JnH19fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZfdGFibGUAAAOSAZABAw8PBQUKBg4FBQsRCwILBgoFCgsGAgUSDQ0FBQUGBgsNBQMKBgYPBQUNDQ8PDwUKAgoKCgoFBQUPAQUNDQINDQIGBQ8KBQoFCgUDAwMLCwIGAwULCgoQDwIGAgwMAgUIBAIHBwYCAgYCBQoFAgYDDgsGBgYFBQUGBgYKBQYGBgUFBgYGAAAFBgUGBgULBQIGBAkCcAEiIm8AgAEFAwEAEQYJAX8BQYCAwAALB4kDEQZtZW1vcnkCACFfX3diZ19jaGFjaGEyMHBvbHkxMzA1Y2lwaGVyX2ZyZWUAHhpjaGFjaGEyMHBvbHkxMzA1Y2lwaGVyX25ldwBjHmNoYWNoYTIwcG9seTEzMDVjaXBoZXJfZW5jcnlwdABeHmNoYWNoYTIwcG9seTEzMDVjaXBoZXJfZGVjcnlwdABfGV9fd2JnX2NoYWNoYTIwY2lwaGVyX2ZyZWUAPRJjaGFjaGEyMGNpcGhlcl9uZXcAYhNjaGFjaGEyMGNpcGhlcl9zZWVrAGUeY2hhY2hhMjBjaXBoZXJfYXBwbHlfa2V5c3RyZWFtAGYRX193YmdfbWVtb3J5X2ZyZWUAOQptZW1vcnlfbmV3AFMKbWVtb3J5X3B0cgBNCm1lbW9yeV9sZW4AThNfX3diaW5kZ2VuX2V4cG9ydF8wAQEZX19leHRlcm5yZWZfdGFibGVfZGVhbGxvYwBAEV9fd2JpbmRnZW5fbWFsbG9jAFwQX193YmluZGdlbl9zdGFydAACCTYCAEEBCyGAAXWFAYQBgQGGAW9/SGlQIYoBd3h6VXmLAWhEKzqQAWtWIIwBjQF0e3woBEEiCwAKmp0CkAHMIwIJfwF+IwBBEGsiASQAAkACQAJAAkACQAJAAkACQCAA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
0x42dcd51e…043f·#25,775,456·0x5e460207…39dd6b
!0),s<8?n.set(8,r-s-1,I,!0):s<9?n.set(8,15-s-1+1,I,!0):n.set(8,15-s-1,I,!0);n.set(r-8,8,1,!0)}function Lr(n,A){const t=n.size;let r=-1,o=t-1,s=7,I=0;for(let a=t-1;a>0;a-=2)for(a===6&&a--;;){for(let c=0;c<2;c++)if(!n.isReserved(o,a-c)){let u=!1;I<A.length&&(u=(A[I]>>>s&1)===1),n.set(o,a-c,u),s--,s===-1&&(I++,s=7)}if(o+=r,o<0||t<=o){o-=r,r=-r;break}}}function qr(n,A,t){const r=new mr;t.forEach(function(c){r.put(c.mode.bit,4),r.put(c.getLength(),Yr.getCharCountIndicator(c.mode,n)),c.write(r)});const o=Dt.getSymbolTotalCodewords(n),s=Ot.getTotalCodewordsCount(n,A),I=(o-s)*8;for(r.getLengthInBits()+4<=I&&r.put(0,4);r.getLengthInBits()%8!==0;)r.putBit(0);const a=(I-r.getLengthInBits())/8;for(let c=0;c<a;c++)r.put(c%2?17:236,8);return xr(r,n,A)}function xr(n,A,t){const r=Dt.getSymbolTotalCodewords(A),o=Ot.getTotalCodewordsCount(A,t),s=r-o,I=Ot.getBlocksCount(A,t),a=r%I,c=I-a,u=Math.floor(r/I),E=Math.floor(s/I),l=E+1,d=u-E,w=new Ur(d);let p=0;const y=new Array(I),Y=new Array(I);let D=0;const F=new Uint8Array(n.buffer);for(let K=0;K<I;K++){const V=K<c?E:l;y[K]=F.slice(p,p+V),Y[K]=w.encode(y[K]),p+=V,D=Math.max(D,V)}const N=new Uint8Array(r);let m=0,G,S;for(G=0;G<D;G++)for(S=0;S<I;S++)G<y[S].length&&(N[m++]=y[S][G]);for(G=0;G<d;G++)for(S=0;S<I;S++)N[m++]=Y[S][G];return N}function Kr(n,A,t,r){let o;if(Array.isArray(n))o=Rt.fromArray(n);else if(typeof n=="string"){let u=A;if(!u){const E=Rt.rawSplit(n);u=at.getBestVersionForData(E,t)}o=Rt.fromString(n,u||40)}else throw new Error("Invalid data");const s=at.getBestVersionForData(o,t);if(!s)throw new Error("The amount of data is too big to be stored in a QR Code");if(!A)A=s;else if(A<s)throw new Error(` The chosen QR Code version cannot contain this amount of data. Minimum version required to store current data is: `+s+`. `);const I=qr(A,t,o),a=Dt.getSymbolSize(A),c=new Fr(a);return Sr(c,A),Mr(c),br(c,A),Lt(c,t,0),A>=7&&Rr(c,A),Lr(c,I),isNaN(r)&&(r=_t.getBestMask(c,Lt.bind(null,c,t))),_t.applyMask(r,c),Lt(c,t,r),{modules:c,version:A,errorCorrectionLevel:t,maskPattern:r,segments:o}}Pe.create=function(A,t){if(typeof A>"u"||A==="")throw new Error("No input text");let r=bt.M,o,s;return typeof t<"u"&&(r=bt.from(t.errorCorrectionLevel,bt.M),o=at.from(t.version),s=_t.from(t.maskPattern),t.toSJISFunc&&Dt.setToSJISFunction(t.toSJISFunc)),Kr(A,o,r,s)};var on={},ae={};(function(n){function A(t){if(typeof t=="number"&&(t=t.toString()),typeof t!="string")throw new Error("Color should be defined as hex string");let r=t.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+t);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(s){return[s,s]}))),r.length===6&&r.push("F","F");const o=parseInt(r.join(""),16);return{r:o>>24&255,g:o>>16&255,b:o>>8&255,a:o&255,hex:"#"+r.slice(0,6).join("")}}n.getOptions=function(r){r||(r={}),r.color||(r.color={});const o=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,s=r.width&&r.width>=21?r.width:void 0,I=r.scale||4;return{width:s,scale:s?4:I,margin:o,color:{dark:A(r.color.dark||"#000000ff"),light:A(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},n.getScale=function(r,o){return o.width&&o.width>=r+o.margin*2?o.width/(r+o.margin*2):o.scale},n.getImageWidth=function(r,o){const s=n.getScale(r,o);return Math.floor((r+o.margin*2)*s)},n.qrToImageData=function(r,o,s){const I=o.modules.size,a=o.modules.data,c=n.getScale(I,s),u=Math.floor((I+s.margin*2)*c),E=s.margin*c,l=[s.color.light,s.color.dark];for(let d=0;d<u;d++)for(let w=0;w<u;w++){let p=(d*u+w)*4,y=s.color.light;if(d>=E&&w>=E&&d<u-E&&w<u-E){const Y=Math.floor((d-E)/c),D=Math.floor((w-E)/c);y=l[a[Y*I+D]?1:0]}r[p++]=y.r,r[p++]=y.g,r[p++]=y.b,r[p]=y.a}}})(ae);(function(n){const A=ae;function t(o,s,I){o.clearRect(0,0,s.width,s.height),s.style||(s.style={}),s.height=I,s.width=I,s.style.height=I+"px",s.style.width=I+"px"}function r(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}n.render=function(s,I,a){let c=a,u=I;typeof c>"u"&&(!I||!I.getContext)&&(c=I,I=void 0),I||(u=r()),c=A.getOptions(c);const E=A.getImageWidth(s.modules.size,c),l=u.getContext("2d"),d=l.createImageData(E,E);return A.qrToImageData(d.data,s,c),t(l,u,E),l.putImageData(d,0,0),u},n.renderToDataURL=function(s,I,a){let c=a;typeof c>"u"&&(!I||!I.getContext)&&(c=I,I=void 0),c||(c={});const u=n.render(s,I,c),E=c.type||"image/png",l=c.rendererOpts||{};return u.toDataURL(E,l.quality)}})(on);var sn={};const Hr=ae;function Re(n,A){const t=n.a/255,r=A+'="'+n.hex+'"';return t<1?r+" "+A+'-opacity="'+t.toFixed(2).slice(1)+'"':r}function qt(n,A,t){let r=n+A;return typeof t<"u"&&(r+=" "+t),r}function Tr(n,A,t){let r="",o=0,s=!1,I=0;for(let a=0;a<n.length;a++){const c=Math.floor(a%A),u=Math.floor(a/A);!c&&!s&&(s=!0),n[a]?(I++,a>0&&c>0&&n[a-1]||(r+=s?qt("M",c+t,.5+u+t):qt("m",o,0),o=0,s=!1),c+1<A&&n[a+1]||(r+=qt("h",I),I=0)):o++}return r}sn.render=function(A,t,r){const o=Hr.getOptions(t),s=A.modules.size,I=A.modules.data,a=s+o.margin*2,c=o.color.light.a?"<path "+Re(o.color.light,"fill")+' d="M0 0h'+a+"v"+a+'H0z"/>':"",u="<path "+Re(o.color.dark,"stroke")+' d="'+Tr(I,s,o.margin)+'"/>',E='viewBox="0 0 '+a+" "+a+'"',d='<svg xmlns="http://www.w3.org/2000/svg" '+(o.width?'width="'+o.width+'" height="'+o.width+'" ':"")+E+' shape-rendering="crispEdges">'+c+u+`</svg> `;return typeof r=="function"&&r(null,d),d};const vr=rr,Pt=Pe,gn=on,_r=sn;function Ie(n,A,t,r,o){const s=[].slice.call(arguments,1),I=s.length,a=typeof s[I-1]=="function";if(!a&&!vr())throw new Error("Callback required as last argument");if(a){if(I<2)throw new Error("Too few arguments provided");I===2?(o=t,t=A,A=r=void 0):I===3&&(A.getContext&&typeof o>"u"?(o=r,r=void 0):(o=r,r=t,t=A,A=void 0))}else{if(I<1)throw new Error("Too few arguments provided");return I===1?(t=A,A=r=void 0):I===2&&!A.getContext&&(r=t,t=A,A=void 0),new Promise(function(c,u){try{const E=Pt.create(t,r);c(n(E,A,r))}catch(E){u(E)}})}try{const c=Pt.create(t,r);o(null,n(c,A,r))}catch(c){o(c)}}ZA.create=Pt.create;ZA.toCanvas=Ie.bind(null,gn.render);ZA.toDataURL=Ie.bind(null,gn.renderToDataURL);ZA.toString=Ie.bind(null,function(n,A,t){return _r.render(n,t)});var It;(function(n){const A=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g;function t(o){function s(I,a){return typeof a!="bigint"?a:`${a.toString()}n`}return JSON.stringify(o,s)}n.stringify=t;function r(o){const s=o.replace(A,'$1"$2n"$3');function I(a,c){return typeof c!="string"||!c.match(/^\d+n$/)?c:BigInt(c.slice(0,-1))}return JSON.parse(s,I)}n.parse=r})(It||(It={}));var QA;(function(n){function A(r){return typeof r=="string"?r:It.stringify(r)}n.stringify=A;function t(r){try{return It.parse(r)}catch{return r}}n.parse=t})(QA||(QA={}));var jt;(function(n){function A(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}n.fromView=A})(jt||(jt={}));var Wt,Xt;class an extends Error{cursorOffset;cursorLength;bytesLength;#A=Wt;name=this.#A.name;constructor(A,t,r){super(`Overflow reading ${r} bytes at offset ${A}/${t}`),this.cursorOffset=A,this.cursorLength=t,this.bytesLength=r}static from(A,t){return new Wt(A.offset,A.length,t)}}Wt=an;class In extends Error{cursorOffset;cursorLength;bytesLength;#A=Xt;name=this.#A.name;constructor(A,t,r){super(`Overflow writing ${r} bytes at offset ${A}/${t}`),this.cursorOffset=A,this.cursorLength=t,this.bytesLength=r}static from(A,t){return new Xt(A.offset,A.length,t)}}Xt=In;class jA{bytes;data;offset=0;constructor(A){this.bytes=A,this.data=jt.fromView(A)}get length(){return this.bytes.length}get remaining(){return this.length-this.offset}get before(){return this.bytes.subarray(0,this.offset)}get after(){return this.bytes.subarray(this.offset)}get(A){if(this.remaining<A)throw an.from(this,A);return this.bytes.subarray(this.offset,this.offset+A)}read(A){const t=this.get(A);return this.offset+=A,t}set(A){if(this.remaining<A.length)throw In.from(this,A.length);this.bytes.set(A,this.offset)}write(A){this.set(A),this.offset+=A.length}getUint8(){return this.data.getUint8(this.offset)}readUint8(){const A=this.getUint8();return this.offset++,A}setUint8(A){this.data.setUint8(this.offset,A)}writeUint8(A){this.setUint8(A),this.offset++}getInt8(){return this.data.getInt8(this.offset)}readInt8(){const A=this.getInt8();return this.offset++,A}setInt8(A){this.data.setInt8(this.offset,A)}writeInt8(A){this.setInt8(A),this.offset++}getUint16(A){return this.data.getUint16(this.offset,A)}readUint16(A){const t=this.getUint16(A);return this.offset+=2,t}setUint16(A,t){this.data.setUint16(this.offset,A,t)}writeUint16(A,t){this.setUint16(A,t),this.offset+=2}getInt16(A){return this.data.getInt16(this.offset,A)}readInt16(A){const t=this.getInt16(A);return this.offset+=2,t}setInt16(A,t){this.data.setInt16(this.offset,A,t)}writeInt16(A,t){this.setInt16(A,t),this.offset+=2}getUint24(A){return A?this.bytes[this.offset]|this.bytes[this.offset+1]<<8|this.bytes[this.offset+2]<<16:this.bytes[this.offset]<<16|this.bytes[this.offset+1]<<8|this.bytes[this.offset+2]}readUint24(A){const t=this.getUint24(A);return this.offset+=3,t}setUint24(A,t){t?(this.bytes[this.offset]=A&255,this.bytes[this.offset+1]=A>>8&255,this.bytes[this.offset+2]=A>>16&255):(this.bytes[this.offset]=A>>16&255,this.bytes[this.offset+1]=A>>8&255,this.bytes[this.offset+2]=A&255)}writeUint24(A,t){this.setUint24(A,t),this.offset+=3}getUint32(A){return this.data.getUint32(this.offset,A)}readUint32(A){const t=this.getUint32(A);return this.offset+=4,t}setUint32(A,t){this.data.setUint32(this.offset,A,t)}writeUint32(A,t){this.setUint32(A,t),this.offset+=4}getInt32(A){return this.data.getInt32(this.offset,A)}readInt32(A){const t=this.getInt32(A);return this.offset+=4,t}setInt32(A,t){this.data.setInt32(this.offset,A,t)}writeInt32(A,t){this.setInt32(A,t),this.offset+=4}getBigUint64(A){return this.data.getBigUint64(this.offset,A)}readBigUint64(A){const t=this.getBigUint64(A);return this.offset+=8,t}setBigUint64(A,t){this.data.setBigUint64(this.offset,A,t)}writeBigUint64(A,t){this.setBigUint64(A,t),this.offset+=8}getBigInt64(A){return this.data.getBigInt64(this.offset,A)}readBigInt64(A){const t=this.getBigInt64(A);return this.offset+=8,t}setBigInt64(A,t){this.data.setBigInt64(this.offset,A,t)}writeBigInt64(A,t){this.setBigInt64(A,t),this.offset+=8}getFloat16(A){return this.data.getFloat16(this.offset,A)}readFloat16(A){const t=this.getFloat16(A);return this.offset+=2,t}setFloat16(A,t){this.data.setFloat16(this.offset,A,t)}writeFloat16(A,t){this.setFloat16(A,t),this.offset+=2}getFloat32(A){return this.data.getFloat32(this.offset,A)}readFloat32(A){const t=this.getFloat32(A);return this.offset+=4,t}setFloat32(A,t){this.data.setFloat32(this.offset,A,t)}writeFloat32(A,t){this.setFloat32(A,t),this.offset+=4}getFloat64(A){return this.data.getFloat64(this.offset,A)}readFloat64(A){const t=this.getFloat64(A);return this.offset+=8,t}setFloat64(A,t){this.data.setFloat64(this.offset,A,t)}writeFloat64(A,t){this.setFloat64(A,t),this.offset+=8}}var Bt;(function(n){async function A(r){const o=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,112,4,34,4,32]),s=new jA(new Uint8Array(o.length+r.length));return s.write(o),s.write(r),await crypto.subtle.importKey("pkcs8",s.bytes,"Ed25519",!0,["sign"])}n.importKey=A;async function t(r){const o=await crypto.subtle.exportKey("jwk",r);return delete o.d,delete o.key_ops,await crypto.subtle.importKey("jwk",o,"Ed25519",!0,["verify"])}n.publishKey=t})(Bt||(Bt={}));var ct;(function(n){function A(r){return r.toHex()}n.encode=A;function t(r){return Uint8Array.fromHex("0".repeat(r.length%2)+r)}n.decode=t})(ct||(ct={}));var Vt;(function(n){n.alphabet="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function A(r){if(r.length===0)return"";let o=0;for(;o<r.length&&r[o]===0;)o++;if(o===r.length)return"1".repeat(o);let s="";for(let I=BigInt(`0x${ct.encode(r)}`);I>0n;I=I/58n)s=n.alphabet[Number(I%58n)]+s;return"1".repeat(o)+s}n.encode=A;function t(r){if(r.length===0)return new Uint8Array(0);let o=0;for(;o<r.length&&r[o]==="1";)o++;if(o===r.length)return new Uint8Array(o);let s=BigInt(0);for(let I=o;I<r.length;I++)s=s*58n+BigInt(n.alphabet.indexOf(r[I]));return ct.decode("00".repeat(o)+s.toString(16))}n.decode=t})(Vt||(Vt={}));var Zt;(function(n){async function A(t,r){const I={alg:"EdDSA",typ:"JWT"},a=new Uint8Array([237,1]),c=await Bt.importKey(t),u=await Bt.publishKey(c),E=new Uint8Array(await crypto.subtle.exportKey("raw",u)),l=new jA(new Uint8Array(a.length+E.length));l.write(a),l.write(E);const d=`did:key:z${Vt.encode(l.bytes)}`,w=crypto.getRandomValues(new Uint8Array(32)).toHex(),p=Math.floor(Date.now()/1e3),y=24*60*60,Y=p+y,D={iss:d,sub:w,aud:r,iat:p,exp:Y},F=new TextEncoder().encode(QA.stringify(I)).toBase64({alphabet:"base64url",omitPadding:!0}),N=new TextEncoder().encode(QA.stringify(D)).toBase64({alphabet:"base64url",omitPadding:!0}),m=new TextEncoder().encode(`${F}.${N}`),S=new Uint8Array(await crypto.subtle.sign("Ed25519",c,m)).toBase64({alphabet:"base64url",omitPadding:!0});return`${F}.${N}.${S}`}n.sign=A})(Zt||(Zt={}));class Be{id;method;params;jsonrpc="2.0";constructor(A,t,r){this.id=A,this.method=t,this.params=r}static from(A){const{id:t,method:r,params:o}=A;return new Be(t,r,o)}toJSON(){const{jsonrpc:A,id:t,method:r,params:o}=this;return{jsonrpc:A,id:t,method:r,params:o}}}var zt;(function(n){function A(r){return Array.isArray(r)?r.map(A):r instanceof Error?{name:r.name,message:r.message,cause:A(r.cause)}:r}n.toJSON=A;function t(r){return JSON.stringify(A(r))}n.toString=t})(zt||(zt={}));var Bn;class FA extends Error{#A=Bn;name=this.#A.name;constructor(A){super(void 0,{cause:A})}}Bn=FA;(function(n){function A(t){return t instanceof Error?t:new n(t)}n.wrapAsError=A})(FA||(FA={}));class L{inner;constructor(A){this.inner=A}static new(A){return new L(A)}static void(){return new L(void 0)}static error(A,t){return new L(new Error(A,t))}[Symbol.dispose](){this.inner[Symbol.dispose]()}async[Symbol.asyncDispose](){await this.inner[Symbol.asyncDispose]()}isOk(){return!1}isOkAnd(A){return!1}isOkAndSync(A){return!1}isErr(){return!0}async isErrAnd(A){return await A(this.inner)}isErrAndSync(A){return A(this.inner)}get(){throw new Error}getErr(){return this.inner}getAny(){return this.inner}ok(){return new fA}err(){return new BA(this.inner)}*[Symbol.iterator](){}split(){return[void 0,this.inner]}contains(A){return!1}containsErr(A){return this.inner===A}getOrThrow(){throw this.inner}getErrOrThrow(){return this.inner}getOrNull(){return null}getErrOrNull(){return this.inner}getOr(A){return A}async getOrElse(A){return await A(this.inner)}getOrElseSync(A){return A(this.inner)}checkOrThrow(){throw this.inner}checkErrOrThrow(){return this}checkOrNull(){return null}checkErrOrNull(){return this}await(){return this}async awaitErr(){return new L(await this.inner)}async awaitAll(){return await this.awaitErr()}clear(){return this}clearErr(){return L.void()}inspect(A){return this}inspectSync(A){return this}async inspectErr(A){return await A(this.inner),this}inspectErrSync(A){return A(this.inner),this}set(A){return this}setErr(A){return new L(A)}map(A){return this}mapSync(A){return this}async mapErr(A){return new L(await A(this.inner))}mapErrSync(A){return new L(A(this.inner))}mapOr(A,t){return A}mapOrSync(A,t){return A}async mapOrElse(A,t){return await A(this.inner)}mapOrElseSync(A,t){return A(this.inner)}and(A){return this}andThen(A){return this}andThenSync(A){return this}or(A){return A}async orElse(A){return await A(this.inner)}orElseSync(A){return A(this.inner)}flatten(){return this}}class _{inner;constructor(A){this.inner=A}static new(A){return new _(A)}static void(){return new _(void 0)}[Symbol.dispose](){this.inner[Symbol.dispose]()}async[Symbol.asyncDispose](){await this.inner[Symbol.asyncDispose]()}isOk(){return!0}async isOkAnd(A){return await A(this.inner)}isOkAndSync(A){return A(this.inner)}isErr(){return!1}isErrAnd(A){return!1}isErrAndSync(A){return!1}get(){return this.inner}getErr(){throw new Error}getAny(){return this.inner}ok(){return new BA(this.inner)}err(){return new fA}*[Symbol.iterator](){yield this.inner}split(){return[this.inner,void 0]}contains(A){return this.inner===A}containsErr(A){return!1}getOrThrow(){return this.inner}getErrOrThrow(){throw this.inner}getOrNull(){return this.inner}getErrOrNull(){return null}getOr(A){return this.inner}getOrElse(A){return this.inner}getOrElseSync(A){return this.inner}checkOrThrow(){return this}checkErrOrThrow(){throw this.inner}checkOrNull(){return this}checkErrOrNull(){return null}async await(){return new _(await this.inner)}awaitErr(){return this}async awaitAll(){return await this.await()}clear(){return _.void()}clearErr(){return this}async inspect(A){return await A(this.inner),this}inspectSync(A){return A(this.inner),this}inspectErr(A){return this}inspectErrSync(A){return this}set(A){return new _(A)}setErr(A){return this}async map(A){return new _(await A(this.inner))}mapSync(A){return new _(A(this.inner))}mapErr(A){return this}mapErrSync(A){return this}async mapOr(A,t){return await t(this.inner)}mapOrSync(A,t){return t(this.inner)}async mapOrElse(A,t){return await t(this.inner)}mapOrElseSync(A,t){return t(this.inner)}and(A){return A}async andThen(A){return await A(this.inner)}andThenSync(A){return A(this.inner)}or(A){return this}orElse(A){return this}orElseSync(A){return this}flatten(){return this.inner}}var Ct;(function(n){function A(E){return E?_.void():L.void()}n.assert=A;async function t(E){try{return new _(await E())}catch(l){return new L(l)}}n.runAndWrap=t;function r(E){try{return new _(E())}catch(l){return new L(l)}}n.runAndWrapSync=r;async function o(E){try{return new _(await E())}catch(l){return new L(FA.wrapAsError(l))}}n.runAndWrapAsError=o;function s(E){try{return new _(E())}catch(l){return new L(FA.wrapAsError(l))}}n.runAndWrapAsErrorSync=s;async function I(E){try{return await E()}catch(l){return new L(l)}}n.runOrWrap=I;function a(E){try{return E()}catch(l){return new L(l)}}n.runOrWrapSync=a;async function c(E){try{return await E()}catch(l){return new L(FA.wrapAsError(l))}}n.runOrWrapAsError=c;function u(E){try{return E()}catch(l){return new L(FA.wrapAsError(l))}}n.runOrWrapAsErrorSync=u})(Ct||(Ct={}));class xt extends Error{constructor(){super("Option is a None")}}class fA{inner;constructor(A=void 0){this.inner=A}static new(){return new fA}*[Symbol.iterator](){}isSome(){return!1}isSomeAnd(A){return!1}isSomeAndSync(A){return!1}isNone(){return!0}get(){throw new xt}getOrThrow(){throw new xt}getOrNull(){}getOr(A){return A}async getOrElse(A){return await A()}getOrElseSync(A){return A()}ok(){return new L(new xt)}okOr(A){return new L(A)}async okOrElse(A){return new L(await A())}okOrElseSync(A){return new L(A())}filter(A){return this}filterSync(A){return this}await(){return this}contains(A){return!1}inspect(A){return this}inspectSync(A){return this}map(A){return this}mapSync(A){return this}mapOr(A,t){return A}mapOrSync(A,t){return A}async mapOrElse(A,t){return await A()}mapOrElseSync(A,t){return A()}and(A){return this}andThen(A){return this}andThenSync(A){return this}or(A){return A}async orElse(A){return await A()}orElseSync(A){return A()}xor(A){return A}zip(A){return this}}class BA{inner;constructor(A){this.inner=A}static new(A){return new BA(A)}*[Symbol.iterator](){yield this.inner}isSome(){return!0}async isSomeAnd(A){return await A(this.inner)}isSomeAndSync(A){return A(this.inner)}isNone(){return!1}get(){return this.inner}getOrThrow(){return this.inner}getOrNull(){return this.inner}getOr(A){return this.inner}getOrElse(A){return this.inner}getOrElseSync(A){return this.inner}ok(){return new _(this.inner)}okOr(A){return new _(this.inner)}okOrElse(A){return new _(this.inner)}okOrElseSync(A){return new _(this.inner)}async filter(A){return await A(this.inner)?this:new fA}filterSync(A){return A(this.inner)?this:new fA}async await(){return new BA(await this.inner)}contains(A){return this.inner===A}async inspect(A){return await A(this.inner),this}inspectSync(A){return A(this.inner),this}async map(A){return new BA(await A(this.inner))}mapSync(A){return new BA(A(this.inner))}async mapOr(A,t){return await t(this.inner)}mapOrSync(A,t){return t(this.inner)}async mapOrElse(A,t){return await t(this.inner)}mapOrElseSync(A,t){return t(this.inner)}and(A){return A}async andThen(A){return await A(this.inner)}andThenSync(A){return A(this.inner)}or(A){return this}orElse(A){return this}orElseSync(A){return this}xor(A){return A.isSome()?new fA:this}zip(A){return A.isSome()?new BA([this.inner,A.inner]):A}}var Qt;(function(n){function A(t){return t==null?new fA:new BA(t)}n.wrap=A})(Qt||(Qt={}));var nt,cn,Cn,Qn,En,hn;class U extends Error{code;message;data;#A=nt;name=this.#A.name;static codes={ParseError:-32700,InvalidRequest:-32600,MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603};static messages={ParseError:"Parse error",InvalidRequest:"Invalid Request",MethodNotFound:"Method not found",InvalidParams:"Invalid params",InternalError:"Internal error",ServerError:"Server error"};constructor(A,t,r=void 0){super(t),this.code=A,this.message=t,this.data=r}static from(A){const{code:t,message:r,data:o}=A;return new nt(t,r,o)}static rewrap(A){return A instanceof nt?A:new un(zt.toString(A))}toJSON(){const{code:A,message:t,data:r}=this;return{code:A,message:t,data:r}}}nt=U;class Or extends U{#A=cn;name=this.#A.name;static code=U.codes.ParseError;static message=U.messages.ParseError;constructor(A=U.messages.ParseError){super(U.codes.ParseError,A)}}cn=Or;class ce extends U{#A=Cn;name=this.#A.name;static code=U.codes.InvalidRequest;static message=U.messages.InvalidRequest;constructor(A=U.messages.InvalidRequest){super(U.codes.InvalidRequest,A)}}Cn=ce;class Pr extends U{#A=Qn;name=this.#A.name;static code=U.codes.MethodNotFound;static message=U.messages.MethodNotFound;constructor(A=U.messages.MethodNotFound){super(U.codes.MethodNotFound,A)}}Qn=Pr;class jr extends U{#A=En;name=this.#A.name;static code=U.codes.InvalidParams;static message=U.messages.InvalidParams;constructor(A=U.messages.InvalidParams){super(U.codes.InvalidParams,A)}}En=jr;class un extends U{#A=hn;name=this.#A.name;static code=U.codes.InternalError;static message=U.messages.InternalError;constructor(A=U.messages.InternalError){super(U.codes.InternalError,A)}}hn=un;class WA extends L{id;error;jsonrpc="2.0";constructor(A,t){super(t),this.id=A,this.error=t}static from(A){return new WA(A.id,U.from(A.error))}static rewrap(A,t){return new WA(A,U.rewrap(t.inner))}toJSON(){const{jsonrpc:A,id:t}=this,r=this.error.toJSON();return{jsonrpc:A,id:t,error:r}}}class XA extends _{id;result;jsonrpc="2.0";constructor(A,t){super(t),this.id=A,this.result=t}static from(A){return new XA(A.id,A.result)}static rewrap(A,t){return new XA(A,t.inner)}toJSON(){const{jsonrpc:A,id:t,result:r}=this;return{jsonrpc:A,id:t,result:r}}}var bA;(function(n){function A(r){if("error"in r)return WA.from(r);if("result"in r)return XA.from(r);throw new Error}n.from=A;function t(r,o){return o.isOk()?XA.rewrap(r,o):WA.rewrap(r,o)}n.rewrap=t})(bA||(bA={}));var Wr=function(n,A,t){if(A!=null){if(typeof A!="object"&&typeof A!="function")throw new TypeError("Object expected.");var r,o;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=A[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=A[Symbol.dispose],t&&(o=r)}if(typeof r!="function")throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(s){return Promise.reject(s)}}),n.stack.push({value:A,dispose:r,async:t})}else t&&n.stack.push({async:!0});return A},Xr=function(n){return function(A){function t(I){A.error=A.hasError?new n(I,A.error,"An error was suppressed during disposal."):I,A.hasError=!0}var r,o=0;function s(){for(;r=A.stack.pop();)
0x42dcd51e…043f·#25,775,454·0x6816bf14…6c7c93
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>svZCHF — Swiss savings, one click</title> <meta name="description" content="Deposit ZCHF into the Frankencoin Savings Vault (svZCHF). Approve and deposit in one transaction." /> <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' fill='%23ff0000'/%3E%3Cpath d='M13 7h6v6h6v6h-6v6h-6v-6H7v-6h6z' fill='white'/%3E%3C/svg%3E" /> <script type="module"> (function(){const A=document.createElement("link").relList;if(A&&A.supports&&A.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const I of s.addedNodes)I.tagName==="LINK"&&I.rel==="modulepreload"&&r(I)}).observe(document,{childList:!0,subtree:!0});function t(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(o){if(o.ep)return;o.ep=!0;const s=t(o);fetch(o.href,s)}})();var _e={},ft={};ft.byteLength=zn;ft.toByteArray=Ar;ft.fromByteArray=nr;var gA=[],tA=[],Vn=typeof Uint8Array<"u"?Uint8Array:Array,St="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var UA=0,Zn=St.length;UA<Zn;++UA)gA[UA]=St[UA],tA[St.charCodeAt(UA)]=UA;tA[45]=62;tA[95]=63;function Oe(n){var A=n.length;if(A%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=n.indexOf("=");t===-1&&(t=A);var r=t===A?0:4-t%4;return[t,r]}function zn(n){var A=Oe(n),t=A[0],r=A[1];return(t+r)*3/4-r}function $n(n,A,t){return(A+t)*3/4-t}function Ar(n){var A,t=Oe(n),r=t[0],o=t[1],s=new Vn($n(n,r,o)),I=0,a=o>0?r-4:r,c;for(c=0;c<a;c+=4)A=tA[n.charCodeAt(c)]<<18|tA[n.charCodeAt(c+1)]<<12|tA[n.charCodeAt(c+2)]<<6|tA[n.charCodeAt(c+3)],s[I++]=A>>16&255,s[I++]=A>>8&255,s[I++]=A&255;return o===2&&(A=tA[n.charCodeAt(c)]<<2|tA[n.charCodeAt(c+1)]>>4,s[I++]=A&255),o===1&&(A=tA[n.charCodeAt(c)]<<10|tA[n.charCodeAt(c+1)]<<4|tA[n.charCodeAt(c+2)]>>2,s[I++]=A>>8&255,s[I++]=A&255),s}function tr(n){return gA[n>>18&63]+gA[n>>12&63]+gA[n>>6&63]+gA[n&63]}function er(n,A,t){for(var r,o=[],s=A;s<t;s+=3)r=(n[s]<<16&16711680)+(n[s+1]<<8&65280)+(n[s+2]&255),o.push(tr(r));return o.join("")}function nr(n){for(var A,t=n.length,r=t%3,o=[],s=16383,I=0,a=t-r;I<a;I+=s)o.push(er(n,I,I+s>a?a:I+s));return r===1?(A=n[t-1],o.push(gA[A>>2]+gA[A<<4&63]+"==")):r===2&&(A=(n[t-2]<<8)+n[t-1],o.push(gA[A>>10]+gA[A>>4&63]+gA[A<<2&63]+"=")),o.join("")}var ie={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ie.read=function(n,A,t,r,o){var s,I,a=o*8-r-1,c=(1<<a)-1,u=c>>1,E=-7,l=t?o-1:0,d=t?-1:1,w=n[A+l];for(l+=d,s=w&(1<<-E)-1,w>>=-E,E+=a;E>0;s=s*256+n[A+l],l+=d,E-=8);for(I=s&(1<<-E)-1,s>>=-E,E+=r;E>0;I=I*256+n[A+l],l+=d,E-=8);if(s===0)s=1-u;else{if(s===c)return I?NaN:(w?-1:1)*(1/0);I=I+Math.pow(2,r),s=s-u}return(w?-1:1)*I*Math.pow(2,s-r)};ie.write=function(n,A,t,r,o,s){var I,a,c,u=s*8-o-1,E=(1<<u)-1,l=E>>1,d=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=r?0:s-1,p=r?1:-1,y=A<0||A===0&&1/A<0?1:0;for(A=Math.abs(A),isNaN(A)||A===1/0?(a=isNaN(A)?1:0,I=E):(I=Math.floor(Math.log(A)/Math.LN2),A*(c=Math.pow(2,-I))<1&&(I--,c*=2),I+l>=1?A+=d/c:A+=d*Math.pow(2,1-l),A*c>=2&&(I++,c/=2),I+l>=E?(a=0,I=E):I+l>=1?(a=(A*c-1)*Math.pow(2,o),I=I+l):(a=A*Math.pow(2,l-1)*Math.pow(2,o),I=0));o>=8;n[t+w]=a&255,w+=p,a/=256,o-=8);for(I=I<<o|a,u+=o;u>0;n[t+w]=I&255,w+=p,I/=256,u-=8);n[t+w-p]|=y*128};/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh <https://feross.org> * @license MIT */(function(n){const A=ft,t=ie,r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;n.Buffer=a,n.SlowBuffer=F,n.INSPECT_MAX_BYTES=50;const o=2147483647;n.kMaxLength=o,a.TYPED_ARRAY_SUPPORT=s(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{const g=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(g,e),g.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function I(g){if(g>o)throw new RangeError('The value "'+g+'" is invalid for option "size"');const e=new Uint8Array(g);return Object.setPrototypeOf(e,a.prototype),e}function a(g,e,i){if(typeof g=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(g)}return c(g,e,i)}a.poolSize=8192;function c(g,e,i){if(typeof g=="string")return d(g,e);if(ArrayBuffer.isView(g))return p(g);if(g==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g);if(iA(g,ArrayBuffer)||g&&iA(g.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(iA(g,SharedArrayBuffer)||g&&iA(g.buffer,SharedArrayBuffer)))return y(g,e,i);if(typeof g=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const B=g.valueOf&&g.valueOf();if(B!=null&&B!==g)return a.from(B,e,i);const C=Y(g);if(C)return C;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof g[Symbol.toPrimitive]=="function")return a.from(g[Symbol.toPrimitive]("string"),e,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g)}a.from=function(g,e,i){return c(g,e,i)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function u(g){if(typeof g!="number")throw new TypeError('"size" argument must be of type number');if(g<0)throw new RangeError('The value "'+g+'" is invalid for option "size"')}function E(g,e,i){return u(g),g<=0?I(g):e!==void 0?typeof i=="string"?I(g).fill(e,i):I(g).fill(e):I(g)}a.alloc=function(g,e,i){return E(g,e,i)};function l(g){return u(g),I(g<0?0:D(g)|0)}a.allocUnsafe=function(g){return l(g)},a.allocUnsafeSlow=function(g){return l(g)};function d(g,e){if((typeof e!="string"||e==="")&&(e="utf8"),!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const i=N(g,e)|0;let B=I(i);const C=B.write(g,e);return C!==i&&(B=B.slice(0,C)),B}function w(g){const e=g.length<0?0:D(g.length)|0,i=I(e);for(let B=0;B<e;B+=1)i[B]=g[B]&255;return i}function p(g){if(iA(g,Uint8Array)){const e=new Uint8Array(g);return y(e.buffer,e.byteOffset,e.byteLength)}return w(g)}function y(g,e,i){if(e<0||g.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(g.byteLength<e+(i||0))throw new RangeError('"length" is outside of buffer bounds');let B;return e===void 0&&i===void 0?B=new Uint8Array(g):i===void 0?B=new Uint8Array(g,e):B=new Uint8Array(g,e,i),Object.setPrototypeOf(B,a.prototype),B}function Y(g){if(a.isBuffer(g)){const e=D(g.length)|0,i=I(e);return i.length===0||g.copy(i,0,0,e),i}if(g.length!==void 0)return typeof g.length!="number"||Yt(g.length)?I(0):w(g);if(g.type==="Buffer"&&Array.isArray(g.data))return w(g.data)}function D(g){if(g>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return g|0}function F(g){return+g!=g&&(g=0),a.alloc(+g)}a.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==a.prototype},a.compare=function(e,i){if(iA(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),iA(i,Uint8Array)&&(i=a.from(i,i.offset,i.byteLength)),!a.isBuffer(e)||!a.isBuffer(i))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===i)return 0;let B=e.length,C=i.length;for(let Q=0,h=Math.min(B,C);Q<h;++Q)if(e[Q]!==i[Q]){B=e[Q],C=i[Q];break}return B<C?-1:C<B?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,i){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return a.alloc(0);let B;if(i===void 0)for(i=0,B=0;B<e.length;++B)i+=e[B].length;const C=a.allocUnsafe(i);let Q=0;for(B=0;B<e.length;++B){let h=e[B];if(iA(h,Uint8Array))Q+h.length>C.length?(a.isBuffer(h)||(h=a.from(h)),h.copy(C,Q)):Uint8Array.prototype.set.call(C,h,Q);else if(a.isBuffer(h))h.copy(C,Q);else throw new TypeError('"list" argument must be an Array of Buffers');Q+=h.length}return C};function N(g,e){if(a.isBuffer(g))return g.length;if(ArrayBuffer.isView(g)||iA(g,ArrayBuffer))return g.byteLength;if(typeof g!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof g);const i=g.length,B=arguments.length>2&&arguments[2]===!0;if(!B&&i===0)return 0;let C=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return Jt(g).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return i*2;case"hex":return i>>>1;case"base64":return Se(g).length;default:if(C)return B?-1:Jt(g).length;e=(""+e).toLowerCase(),C=!0}}a.byteLength=N;function m(g,e,i){let B=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((i===void 0||i>this.length)&&(i=this.length),i<=0)||(i>>>=0,e>>>=0,i<=e))return"";for(g||(g="utf8");;)switch(g){case"hex":return Hn(this,e,i);case"utf8":case"utf-8":return De(this,e,i);case"ascii":return xn(this,e,i);case"latin1":case"binary":return Kn(this,e,i);case"base64":return eA(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Tn(this,e,i);default:if(B)throw new TypeError("Unknown encoding: "+g);g=(g+"").toLowerCase(),B=!0}}a.prototype._isBuffer=!0;function G(g,e,i){const B=g[e];g[e]=g[i],g[i]=B}a.prototype.swap16=function(){const e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let i=0;i<e;i+=2)G(this,i,i+1);return this},a.prototype.swap32=function(){const e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let i=0;i<e;i+=4)G(this,i,i+3),G(this,i+1,i+2);return this},a.prototype.swap64=function(){const e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let i=0;i<e;i+=8)G(this,i,i+7),G(this,i+1,i+6),G(this,i+2,i+5),G(this,i+3,i+4);return this},a.prototype.toString=function(){const e=this.length;return e===0?"":arguments.length===0?De(this,0,e):m.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:a.compare(this,e)===0},a.prototype.inspect=function(){let e="";const i=n.INSPECT_MAX_BYTES;return e=this.toString("hex",0,i).replace(/(.{2})/g,"$1 ").trim(),this.length>i&&(e+=" ... "),"<Buffer "+e+">"},r&&(a.prototype[r]=a.prototype.inspect),a.prototype.compare=function(e,i,B,C,Q){if(iA(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(i===void 0&&(i=0),B===void 0&&(B=e?e.length:0),C===void 0&&(C=0),Q===void 0&&(Q=this.length),i<0||B>e.length||C<0||Q>this.length)throw new RangeError("out of range index");if(C>=Q&&i>=B)return 0;if(C>=Q)return-1;if(i>=B)return 1;if(i>>>=0,B>>>=0,C>>>=0,Q>>>=0,this===e)return 0;let h=Q-C,k=B-i;const q=Math.min(h,k),b=this.slice(C,Q),x=e.slice(i,B);for(let M=0;M<q;++M)if(b[M]!==x[M]){h=b[M],k=x[M];break}return h<k?-1:k<h?1:0};function S(g,e,i,B,C){if(g.length===0)return-1;if(typeof i=="string"?(B=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,Yt(i)&&(i=C?0:g.length-1),i<0&&(i=g.length+i),i>=g.length){if(C)return-1;i=g.length-1}else if(i<0)if(C)i=0;else return-1;if(typeof e=="string"&&(e=a.from(e,B)),a.isBuffer(e))return e.length===0?-1:K(g,e,i,B,C);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?C?Uint8Array.prototype.indexOf.call(g,e,i):Uint8Array.prototype.lastIndexOf.call(g,e,i):K(g,[e],i,B,C);throw new TypeError("val must be string, number or Buffer")}function K(g,e,i,B,C){let Q=1,h=g.length,k=e.length;if(B!==void 0&&(B=String(B).toLowerCase(),B==="ucs2"||B==="ucs-2"||B==="utf16le"||B==="utf-16le")){if(g.length<2||e.length<2)return-1;Q=2,h/=2,k/=2,i/=2}function q(x,M){return Q===1?x[M]:x.readUInt16BE(M*Q)}let b;if(C){let x=-1;for(b=i;b<h;b++)if(q(g,b)===q(e,x===-1?0:b-x)){if(x===-1&&(x=b),b-x+1===k)return x*Q}else x!==-1&&(b-=b-x),x=-1}else for(i+k>h&&(i=h-k),b=i;b>=0;b--){let x=!0;for(let M=0;M<k;M++)if(q(g,b+M)!==q(e,M)){x=!1;break}if(x)return b}return-1}a.prototype.includes=function(e,i,B){return this.indexOf(e,i,B)!==-1},a.prototype.indexOf=function(e,i,B){return S(this,e,i,B,!0)},a.prototype.lastIndexOf=function(e,i,B){return S(this,e,i,B,!1)};function V(g,e,i,B){i=Number(i)||0;const C=g.length-i;B?(B=Number(B),B>C&&(B=C)):B=C;const Q=e.length;B>Q/2&&(B=Q/2);let h;for(h=0;h<B;++h){const k=parseInt(e.substr(h*2,2),16);if(Yt(k))return h;g[i+h]=k}return h}function rA(g,e,i,B){return $A(Jt(e,g.length-i),g,i,B)}function AA(g,e,i,B){return $A(Pn(e),g,i,B)}function mA(g,e,i,B){return $A(Se(e),g,i,B)}function KA(g,e,i,B){return $A(jn(e,g.length-i),g,i,B)}a.prototype.write=function(e,i,B,C){if(i===void 0)C="utf8",B=this.length,i=0;else if(B===void 0&&typeof i=="string")C=i,B=this.length,i=0;else if(isFinite(i))i=i>>>0,isFinite(B)?(B=B>>>0,C===void 0&&(C="utf8")):(C=B,B=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Q=this.length-i;if((B===void 0||B>Q)&&(B=Q),e.length>0&&(B<0||i<0)||i>this.length)throw new RangeError("Attempt to write outside buffer bounds");C||(C="utf8");let h=!1;for(;;)switch(C){case"hex":return V(this,e,i,B);case"utf8":case"utf-8":return rA(this,e,i,B);case"ascii":case"latin1":case"binary":return AA(this,e,i,B);case"base64":return mA(this,e,i,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return KA(this,e,i,B);default:if(h)throw new TypeError("Unknown encoding: "+C);C=(""+C).toLowerCase(),h=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function eA(g,e,i){return e===0&&i===g.length?A.fromByteArray(g):A.fromByteArray(g.slice(e,i))}function De(g,e,i){i=Math.min(g.length,i);const B=[];let C=e;for(;C<i;){const Q=g[C];let h=null,k=Q>239?4:Q>223?3:Q>191?2:1;if(C+k<=i){let q,b,x,M;switch(k){case 1:Q<128&&(h=Q);break;case 2:q=g[C+1],(q&192)===128&&(M=(Q&31)<<6|q&63,M>127&&(h=M));break;case 3:q=g[C+1],b=g[C+2],(q&192)===128&&(b&192)===128&&(M=(Q&15)<<12|(q&63)<<6|b&63,M>2047&&(M<55296||M>57343)&&(h=M));break;case 4:q=g[C+1],b=g[C+2],x=g[C+3],(q&192)===128&&(b&192)===128&&(x&192)===128&&(M=(Q&15)<<18|(q&63)<<12|(b&63)<<6|x&63,M>65535&&M<1114112&&(h=M))}}h===null?(h=65533,k=1):h>65535&&(h-=65536,B.push(h>>>10&1023|55296),h=56320|h&1023),B.push(h),C+=k}return qn(B)}const Ne=4096;function qn(g){const e=g.length;if(e<=Ne)return String.fromCharCode.apply(String,g);let i="",B=0;for(;B<e;)i+=String.fromCharCode.apply(String,g.slice(B,B+=Ne));return i}function xn(g,e,i){let B="";i=Math.min(g.length,i);for(let C=e;C<i;++C)B+=String.fromCharCode(g[C]&127);return B}function Kn(g,e,i){let B="";i=Math.min(g.length,i);for(let C=e;C<i;++C)B+=String.fromCharCode(g[C]);return B}function Hn(g,e,i){const B=g.length;(!e||e<0)&&(e=0),(!i||i<0||i>B)&&(i=B);let C="";for(let Q=e;Q<i;++Q)C+=Wn[g[Q]];return C}function Tn(g,e,i){const B=g.slice(e,i);let C="";for(let Q=0;Q<B.length-1;Q+=2)C+=String.fromCharCode(B[Q]+B[Q+1]*256);return C}a.prototype.slice=function(e,i){const B=this.length;e=~~e,i=i===void 0?B:~~i,e<0?(e+=B,e<0&&(e=0)):e>B&&(e=B),i<0?(i+=B,i<0&&(i=0)):i>B&&(i=B),i<e&&(i=e);const C=this.subarray(e,i);return Object.setPrototypeOf(C,a.prototype),C};function v(g,e,i){if(g%1!==0||g<0)throw new RangeError("offset is not uint");if(g+e>i)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(e,i,B){e=e>>>0,i=i>>>0,B||v(e,i,this.length);let C=this[e],Q=1,h=0;for(;++h<i&&(Q*=256);)C+=this[e+h]*Q;return C},a.prototype.readUintBE=a.prototype.readUIntBE=function(e,i,B){e=e>>>0,i=i>>>0,B||v(e,i,this.length);let C=this[e+--i],Q=1;for(;i>0&&(Q*=256);)C+=this[e+--i]*Q;return C},a.prototype.readUint8=a.prototype.readUInt8=function(e,i){return e=e>>>0,i||v(e,1,this.length),this[e]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(e,i){return e=e>>>0,i||v(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(e,i){return e=e>>>0,i||v(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(e,i){return e=e>>>0,i||v(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(e,i){return e=e>>>0,i||v(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readBigUInt64LE=hA(function(e){e=e>>>0,GA(e,"offset");const i=this[e],B=this[e+7];(i===void 0||B===void 0)&&HA(e,this.length-8);const C=i+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,Q=this[++e]+this[++e]*2**8+this[++e]*2**16+B*2**24;return BigInt(C)+(BigInt(Q)<<BigInt(32))}),a.prototype.readBigUInt64BE=hA(function(e){e=e>>>0,GA(e,"offset");const i=this[e],B=this[e+7];(i===void 0||B===void 0)&&HA(e,this.length-8);const C=i*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],Q=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+B;return(BigInt(C)<<BigInt(32))+BigInt(Q)}),a.prototype.readIntLE=function(e,i,B){e=e>>>0,i=i>>>0,B||v(e,i,this.length);let C=this[e],Q=1,h=0;for(;++h<i&&(Q*=256);)C+=this[e+h]*Q;return Q*=128,C>=Q&&(C-=Math.pow(2,8*i)),C},a.prototype.readIntBE=function(e,i,B){e=e>>>0,i=i>>>0,B||v(e,i,this.length);let C=i,Q=1,h=this[e+--C];for(;C>0&&(Q*=256);)h+=this[e+--C]*Q;return Q*=128,h>=Q&&(h-=Math.pow(2,8*i)),h},a.prototype.readInt8=function(e,i){return e=e>>>0,i||v(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},a.prototype.readInt16LE=function(e,i){e=e>>>0,i||v(e,2,this.length);const B=this[e]|this[e+1]<<8;return B&32768?B|4294901760:B},a.prototype.readInt16BE=function(e,i){e=e>>>0,i||v(e,2,this.length);const B=this[e+1]|this[e]<<8;return B&32768?B|4294901760:B},a.prototype.readInt32LE=function(e,i){return e=e>>>0,i||v(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,i){return e=e>>>0,i||v(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readBigInt64LE=hA(function(e){e=e>>>0,GA(e,"offset");const i=this[e],B=this[e+7];(i===void 0||B===void 0)&&HA(e,this.length-8);const C=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(B<<24);return(BigInt(C)<<BigInt(32))+BigInt(i+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)}),a.prototype.readBigInt64BE=hA(function(e){e=e>>>0,GA(e,"offset");const i=this[e],B=this[e+7];(i===void 0||B===void 0)&&HA(e,this.length-8);const C=(i<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(C)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+B)}),a.prototype.readFloatLE=function(e,i){return e=e>>>0,i||v(e,4,this.length),t.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,i){return e=e>>>0,i||v(e,4,this.length),t.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,i){return e=e>>>0,i||v(e,8,this.length),t.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,i){return e=e>>>0,i||v(e,8,this.length),t.read(this,e,!1,52,8)};function P(g,e,i,B,C,Q){if(!a.isBuffer(g))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>C||e<Q)throw new RangeError('"value" argument is out of bounds');if(i+B>g.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(e,i,B,C){if(e=+e,i=i>>>0,B=B>>>0,!C){const k=Math.pow(2,8*B)-1;P(this,e,i,B,k,0)}let Q=1,h=0;for(this[i]=e&255;++h<B&&(Q*=256);)this[i+h]=e/Q&255;return i+B},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(e,i,B,C){if(e=+e,i=i>>>0,B=B>>>0,!C){const k=Math.pow(2,8*B)-1;P(this,e,i,B,k,0)}let Q=B-1,h=1;for(this[i+Q]=e&255;--Q>=0&&(h*=256);)this[i+Q]=e/h&255;return i+B},a.prototype.writeUint8=a.prototype.writeUInt8=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,1,255,0),this[i]=e&255,i+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,2,65535,0),this[i]=e&255,this[i+1]=e>>>8,i+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,2,65535,0),this[i]=e>>>8,this[i+1]=e&255,i+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,4,4294967295,0),this[i+3]=e>>>24,this[i+2]=e>>>16,this[i+1]=e>>>8,this[i]=e&255,i+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,4,4294967295,0),this[i]=e>>>24,this[i+1]=e>>>16,this[i+2]=e>>>8,this[i+3]=e&255,i+4};function me(g,e,i,B,C){Ye(e,B,C,g,i,7);let Q=Number(e&BigInt(4294967295));g[i++]=Q,Q=Q>>8,g[i++]=Q,Q=Q>>8,g[i++]=Q,Q=Q>>8,g[i++]=Q;let h=Number(e>>BigInt(32)&BigInt(4294967295));return g[i++]=h,h=h>>8,g[i++]=h,h=h>>8,g[i++]=h,h=h>>8,g[i++]=h,i}function Fe(g,e,i,B,C){Ye(e,B,C,g,i,7);let Q=Number(e&BigInt(4294967295));g[i+7]=Q,Q=Q>>8,g[i+6]=Q,Q=Q>>8,g[i+5]=Q,Q=Q>>8,g[i+4]=Q;let h=Number(e>>BigInt(32)&BigInt(4294967295));return g[i+3]=h,h=h>>8,g[i+2]=h,h=h>>8,g[i+1]=h,h=h>>8,g[i]=h,i+8}a.prototype.writeBigUInt64LE=hA(function(e,i=0){return me(this,e,i,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=hA(function(e,i=0){return Fe(this,e,i,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(e,i,B,C){if(e=+e,i=i>>>0,!C){const q=Math.pow(2,8*B-1);P(this,e,i,B,q-1,-q)}let Q=0,h=1,k=0;for(this[i]=e&255;++Q<B&&(h*=256);)e<0&&k===0&&this[i+Q-1]!==0&&(k=1),this[i+Q]=(e/h>>0)-k&255;return i+B},a.prototype.writeIntBE=function(e,i,B,C){if(e=+e,i=i>>>0,!C){const q=Math.pow(2,8*B-1);P(this,e,i,B,q-1,-q)}let Q=B-1,h=1,k=0;for(this[i+Q]=e&255;--Q>=0&&(h*=256);)e<0&&k===0&&this[i+Q+1]!==0&&(k=1),this[i+Q]=(e/h>>0)-k&255;return i+B},a.prototype.writeInt8=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,1,127,-128),e<0&&(e=255+e+1),this[i]=e&255,i+1},a.prototype.writeInt16LE=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,2,32767,-32768),this[i]=e&255,this[i+1]=e>>>8,i+2},a.prototype.writeInt16BE=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,2,32767,-32768),this[i]=e>>>8,this[i+1]=e&255,i+2},a.prototype.writeInt32LE=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,4,2147483647,-2147483648),this[i]=e&255,this[i+1]=e>>>8,this[i+2]=e>>>16,this[i+3]=e>>>24,i+4},a.prototype.writeInt32BE=function(e,i,B){return e=+e,i=i>>>0,B||P(this,e,i,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[i]=e>>>24,this[i+1]=e>>>16,this[i+2]=e>>>8,this[i+3]=e&255,i+4},a.prototype.writeBigInt64LE=hA(function(e,i=0){return me(this,e,i,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=hA(function(e,i=0){return Fe(this,e,i,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ke(g,e,i,B,C,Q){if(i+B>g.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function Ge(g,e,i,B,C){return e=+e,i=i>>>0,C||ke(g,e,i,4),t.write(g,e,i,B,23,4),i+4}a.prototype.writeFloatLE=function(e,i,B){return Ge(this,e,i,!0,B)},a.prototype.writeFloatBE=function(e,i,B){return Ge(this,e,i,!1,B)}
0x42dcd51e…043f·#25,775,367·0x2130d0c5…ad4f6f
spacing:-1.5px;margin:0 0 20px}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;font-size:14px;color:var(--muted)}.stats strong{color:var(--red);font-variant-numeric:tabular-nums}.deposit{border:1px solid var(--ink);padding:24px;margin:32px 0}.deposit label{font-weight:600}.row{display:flex;align-items:baseline}.between{justify-content:space-between}.input-row{display:flex;gap:8px;margin:10px 0 8px}.input-row input{flex:1;font:inherit;font-size:24px;font-weight:600;padding:10px 12px;border:1px solid var(--ink);border-radius:0;min-width:0;font-variant-numeric:tabular-nums}.input-row input:focus{outline:2px solid var(--red);outline-offset:-1px}.hint{color:var(--muted);font-size:13px}#save-status{margin:10px 0 0}.log{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.log li{padding:5px 0;border-bottom:1px solid var(--line);word-break:break-all}.log a{color:var(--red)}.log .ok{color:#0a0}.log .err{color:var(--red)}footer{border-top:1px solid var(--ink);padding:16px 20px;display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}.hidden{display:none!important} </style> </head> <body> <header> <span class="wordmark"><span class="cross" aria-hidden="true"></span>svZCHF</span> <div class="wallet-area"> <span id="wallet-pill" class="pill hidden"></span> <button id="btn-disconnect" class="linklike hidden">disconnect</button> <button id="btn-connect" class="btn">Connect wallet</button> </div> </header> <!-- wallet connect chooser / latrine pairing panel --> <section id="connect-panel" class="connect-panel hidden"> <div class="connect-box"> <h2>Connect</h2> <div class="connect-options"> <button id="btn-connect-wc" class="btn">WalletConnect</button> <button id="btn-connect-injected" class="btn btn-ghost">Browser wallet</button> </div> <div id="wc-uri-area" class="wc-uri-area hidden"> <canvas id="wc-qr" width="176" height="176"></canvas> <p class="hint">Scan with any WalletConnect wallet, or copy the URI:</p> <div class="wc-uri-row"> <input id="wc-uri" readonly onclick="this.select()" /> <button id="btn-copy-uri" class="btn btn-ghost">Copy</button> </div> <p class="waiting">Waiting for approval…</p> </div> <button id="btn-connect-cancel" class="linklike">cancel</button> </div> </section> <div id="wrong-chain" class="banner hidden"> Wrong chain — the vault is on Ethereum mainnet. <button id="btn-switch-chain" class="linklike">switch</button> </div> <main> <h1>Save in Swiss francs.</h1> <p class="stats" id="stats-line"> Share price <strong id="stat-price">—</strong> · Rate <strong id="stat-rate">—</strong> · Vault holds <strong id="stat-tvl">—</strong> </p> <section class="deposit"> <div class="row between"> <label for="dep-amount">Amount (ZCHF)</label> <span class="hint" id="user-balance">Connect a wallet</span> </div> <div class="input-row"> <input id="dep-amount" type="number" min="0" step="any" placeholder="1000.00" /> <button id="dep-max" class="btn btn-ghost">MAX</button> </div> <p class="hint" id="dep-preview">You receive ≈ — svZCHF</p> <button id="btn-save" class="btn btn-red btn-big" disabled>Approve &amp; Deposit</button> <p class="hint" id="save-status"></p> </section> <ul id="log" class="log hidden"></ul> </main> <footer> <span class="cross small" aria-hidden="true"></span> <span>Not affiliated with Frankencoin.</span> </footer> </body> </html>
0x42dcd51e…043f·#25,775,366·0xcb9975c5…f598fc
{await this.subscribe();for await(const A of this.client.fetch(this.topic))await this.#i(A.message)}async close(A){if(this.closing.aborted)return;await this.unsubscribe();const t=new CloseEvent("close",{reason:A});this.dispatchEvent(t),this.#A.abort(A)}}var fn;class Ce extends U{#A=fn;name=this.#A.name;constructor(){super(6e3,"User disconnected")}}fn=Ce;class Re extends EventTarget{channel;constructor(A){super(),this.channel=A,A.addEventListener("request",this.#n.bind(this),{signal:this.closing}),A.addEventListener("close",this.#A.bind(this),{signal:this.closing})}addEventListener(A,t,n){super.addEventListener(A,t,n)}get closing(){return this.channel.closing}#A(A){const{reason:t}=A,n=new CloseEvent("close",{reason:t});this.dispatchEvent(n)}#n(A){const t=A.data;if(t.method==="wc_sessionPing")return this.#e(A);if(t.method==="wc_sessionSettle")return this.#t(A);if(t.method==="wc_sessionExtend")return this.#r(A);if(t.method==="wc_sessionEvent")return this.#o(A);if(t.method==="wc_sessionUpdate")return this.#g(A);if(t.method==="wc_sessionRequest")return this.#i(A);if(t.method==="wc_sessionDelete")return this.#s(A)}#e(A){const t=new Event("ping");this.dispatchEvent(t),A.respondWith(!0)}#t(A){const t=A.data,n=new BA("settle",{data:t.params});this.dispatchEvent(n),A.respondWith(!0)}#r(A){const t=A.data,n=new BA("extend",{data:t.params});this.dispatchEvent(n),A.respondWith(!0)}#o(A){const t=A.data,n=new BA("event",{data:t.params});this.dispatchEvent(n),A.respondWith(!0)}#g(A){const t=A.data,n=new BA("update",{data:t.params});this.dispatchEvent(n),A.respondWith(!0)}#i(A){const t=A.data,n=new ft("request",{data:t.params});this.dispatchEvent(n),A.waitUntil(n.extension),n.response!=null&&A.respondWith(n.response)}#s(A){const t=A.data,n=new BA("delete",{data:t.params});this.dispatchEvent(n),A.waitUntil(this.close()),A.respondWith(!0)}async open(){await this.channel.open()}async close(A){await this.channel.close(A)}async ping(A=new AbortController().signal){await this.channel.request({method:"wc_sessionPing",params:{}},A).then(t=>t.getOrThrow())}async settle(A,t=new AbortController().signal){await this.channel.request({method:"wc_sessionSettle",params:A},t).then(n=>n.getOrThrow())}async extend(A,t=new AbortController().signal){await this.channel.request({method:"wc_sessionExtend",params:A},t).then(n=>n.getOrThrow())}async event(A,t=new AbortController().signal){await this.channel.request({method:"wc_sessionEvent",params:A},t).then(n=>n.getOrThrow())}async update(A,t=new AbortController().signal){await this.channel.request({method:"wc_sessionUpdate",params:A},t).then(n=>n.getOrThrow())}async request(A,t=new AbortController().signal){return await this.channel.request({method:"wc_sessionRequest",params:A},t).then(n=>n.getOrThrow())}async delete(A=new Ce){await this.channel.publish({method:"wc_sessionDelete",params:A})}}var Zt;(function(r){function A(n){const{protocol:o,version:g,pairingTopic:I,relayProtocol:a,symKey:c}=n,u=new URL(`${o}${I}@${g}`);return u.searchParams.set("relay-protocol",a),u.searchParams.set("symKey",c.toHex()),u.toString()}r.stringify=A;function t(n){const{protocol:o,pathname:g,searchParams:I}=new URL(n);if(o!=="wc:")throw new Error("Unknown protocol");const[a,c]=g.split("@");if(c!=="2")throw new Error("Unknown version");const u=at.wrap(I.get("relay-protocol")).getOrThrow();if(u!=="irn")throw new Error("Unknown relay protocol");const E=at.wrap(I.get("symKey")).getOrThrow(),l=Uint8Array.fromHex(E);return{protocol:o,pairingTopic:a,version:c,relayProtocol:u,symKey:l}}r.parse=t})(Zt||(Zt={}));class ct extends EventTarget{channel;keypair;params;constructor(A,t,n){super(),this.channel=A,this.keypair=t,this.params=n,A.addEventListener("close",this.#A.bind(this),{signal:this.closing}),A.addEventListener("request",this.#n.bind(this),{signal:this.closing})}static async generate(A){const t=crypto.getRandomValues(new Uint8Array(32)),n=new Uint8Array(await crypto.subtle.digest("SHA-256",t)).toHex(),o=new ZA(A,n,t),g=await crypto.subtle.generateKey("X25519",!1,["deriveBits"]);return new ct(o,g,{protocol:"wc:",version:"2",relayProtocol:"irn",pairingTopic:n,symKey:t})}static async from(A,t){const{pairingTopic:n,symKey:o}=t,g=new ZA(A,n,o),I=await crypto.subtle.generateKey("X25519",!1,["deriveBits"]);return new ct(g,I,t)}addEventListener(A,t,n){super.addEventListener(A,t,n)}get closing(){return this.channel.closing}#A(A){const{reason:t}=A,n=new CloseEvent("close",{reason:t});this.dispatchEvent(n)}#n(A){const t=A.data;if(t.method==="wc_sessionPropose")return this.#e(A);if(t.method==="wc_pairingPing")return this.#t(A);if(t.method==="wc_pairingDelete")return this.#r(A)}#e(A){const t=A.data,n=new ft("propose",{data:t.params});this.dispatchEvent(n),A.waitUntil(n.extension),n.response!=null&&A.respondWith(n.response)}#t(A){const t=new Event("ping");this.dispatchEvent(t),A.respondWith(!0)}#r(A){const t=A.data,n=new BA("delete",{data:t.params});this.dispatchEvent(n),A.waitUntil(this.close()),A.respondWith(!0)}get url(){return Zt.stringify(this.params)}async open(){await this.channel.open()}async close(A){await this.channel.close(A)}async propose(A){const{self:t,requiredNamespaces:n={},optionalNamespaces:o={}}=A,a={publicKey:new Uint8Array(await crypto.subtle.exportKey("raw",this.keypair.publicKey)).toHex(),metadata:t},c=[this.channel.client.relay],u=await this.channel.request({method:"wc_sessionPropose",params:{proposer:a,relays:c,requiredNamespaces:n,optionalNamespaces:o}}).then(F=>F.getOrThrow()),E=Uint8Array.fromHex(u.responderPublicKey),l=await crypto.subtle.importKey("raw",E,"X25519",!1,[]),f=new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:l},this.keypair.privateKey,256)),w=await crypto.subtle.importKey("raw",f,"HKDF",!1,["deriveBits"]),d={name:"HKDF",hash:"SHA-256",info:new Uint8Array,salt:new Uint8Array},y=new Uint8Array(await crypto.subtle.deriveBits(d,w,8*32)),J=new Uint8Array(await crypto.subtle.digest("SHA-256",y)).toHex(),D=new Re(new ZA(this.channel.client,J,y));this.dispatchEvent(new BA("upgrade",{data:D}))}async respond(A){const{relay:t}=this.channel.client,o=new Uint8Array(await crypto.subtle.exportKey("raw",this.keypair.publicKey)).toHex(),g=Uint8Array.fromHex(A.proposer.publicKey),I=await crypto.subtle.importKey("raw",g,"X25519",!1,[]),a=new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:I},this.keypair.privateKey,256)),c=await crypto.subtle.importKey("raw",a,"HKDF",!1,["deriveBits"]),u={name:"HKDF",hash:"SHA-256",info:new Uint8Array,salt:new Uint8Array},E=new Uint8Array(await crypto.subtle.deriveBits(u,c,8*32)),l=new Uint8Array(await crypto.subtle.digest("SHA-256",E)).toHex(),f=new Re(new ZA(this.channel.client,l,E));return this.dispatchEvent(new BA("upgrade",{data:f})),{relay:t,responderPublicKey:o}}async ping(A=new AbortController().signal){await this.channel.request({method:"wc_pairingPing",params:{}},A).then(t=>t.getOrThrow())}async extend(A,t=new AbortController().signal){await this.channel.request({method:"wc_pairingExtend",params:{expiry:A}},t).then(n=>n.getOrThrow())}async delete(A=new Ce){await this.channel.publish({method:"wc_pairingDelete",params:A})}}var zt;(function(r){r.RELAY="wss://relay.walletconnect.org"})(zt||(zt={}));const ei="c6c9bacd35afa3eb9e6cccf6d8464395",ni={name:"svZCHF Chalet",description:"Frankencoin Savings Vault (svZCHF) — deposit ZCHF, earn the Swiss rate",url:typeof location<"u"?location.origin:"https://localhost",icons:[]};function ri(r){const n=r?.eip155?.accounts?.[0];if(!n)return null;const o=n.split(":");return o.length<3?null:{chainId:Number(o[1]),address:o[2]}}class Qe{#A;#n;#e;#t;projectId;constructor(A=ei){this.projectId=A}get state(){return this.#t}get connected(){return this.#t!=null&&this.#e!=null}async connect(A,t=[1]){const n=crypto.getRandomValues(new Uint8Array(32)),o=await ae.open(zt.RELAY,n,this.projectId);this.#A=o;const g=await ct.generate(o);this.#n=g,A.onUri(g.url);const I=new Promise((c,u)=>{g.addEventListener("upgrade",E=>{const l=E.data;this.#e=l,l.addEventListener("settle",f=>{const w=f.data,d=ri(w.namespaces);if(!d){u(new Error("Wallet approved but returned no eip155 account"));return}this.#t=d,A.onConnected(d),c(d)}),l.addEventListener("event",f=>{const{event:w,chainId:d}=f.data;if(w.name==="chainChanged"){const y=Number(w.data??d);this.#t&&(this.#t={...this.#t,chainId:y}),A.onChainChanged?.(y)}if(w.name==="accountsChanged"){const J=w.data?.[0];J&&this.#t&&(this.#t={...this.#t,address:J},A.onAccountsChanged?.(J))}}),l.addEventListener("close",()=>A.onDisconnected("session closed")),l.addEventListener("delete",f=>A.onDisconnected(f.data?.message??"session deleted")),l.open().catch(u)})}),a=c=>`eip155:${c}`;return g.propose({self:ni,optionalNamespaces:{eip155:{chains:t.map(a),methods:["eth_sendTransaction","eth_signTransaction","eth_call","personal_sign","eth_accounts","eth_chainId","wallet_switchEthereumChain","wallet_sendCalls","wallet_getCapabilities","wallet_getCallsStatus"],events:["chainChanged","accountsChanged"]}}}).catch(c=>{A.onDisconnected(c?.message??"pairing failed")}),await g.open(),I}async request(A,t,n){if(!this.#e||!this.#t)throw new Error("Wallet not connected");const o=n??this.#t.chainId;return this.#e.request({chainId:`eip155:${o}`,request:{method:A,params:t}})}async sendTransaction(A){return this.request("eth_sendTransaction",[A])}async disconnect(){try{await this.#e?.close("user disconnected")}catch{}try{this.#A?.close("user disconnected")}catch{}this.#e=void 0,this.#n=void 0,this.#A=void 0,this.#t=void 0}}function dn(){return typeof globalThis.ethereum<"u"}class pn{#A;#n="";#e=0;constructor(A){const t=A??globalThis.ethereum;if(!t)throw new Error("No injected wallet found (window.ethereum is undefined).");this.#A=t}async connect(A){const t=await this.#A.request({method:"eth_requestAccounts"});if(!t?.length)throw new Error("Wallet returned no accounts.");this.#n=t[0];const n=await this.#A.request({method:"eth_chainId"});return this.#e=parseInt(n,16),this.#A.on?.("accountsChanged",o=>{if(!o?.length)return A.onDisconnected?.();this.#n=o[0],A.onAccountsChanged?.(o[0])}),this.#A.on?.("chainChanged",o=>{this.#e=parseInt(o,16),A.onChainChanged?.(this.#e)}),{address:this.#n,chainId:this.#e}}get state(){return{address:this.#n,chainId:this.#e}}async request(A,t){return this.#A.request({method:A,params:t})}async sendTransaction(A){return this.#A.request({method:"eth_sendTransaction",params:[{from:A.from??this.#n,to:A.to,data:A.data,value:A.value,gas:A.gas}]})}async switchToMainnet(){await this.#A.request({method:"wallet_switchEthereumChain",params:[{chainId:"0x1"}]})}}const yn=["https://ethereum.publicnode.com","https://eth.llamarpc.com","https://rpc.mevblocker.io","https://cloudflare-eth.com"];let $t=null;function Ee(r){$t=r}async function Dn(r,A,t){const n=await fetch(r,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:A,params:t})});if(!n.ok)throw new Error(`rpc http ${n.status}`);const o=await n.json();if(o.error)throw new Error(o.error.message??"rpc error");return o.result}async function aA(r,A){if($t)try{return await $t(r,A)}catch{}let t;for(const n of yn)try{return await Dn(n,"eth_call",[{to:r,data:A},"latest"])}catch(o){t=o}throw t instanceof Error?t:new Error("All RPC endpoints failed")}async function ii(r,A=12e4){const t=Date.now()+A;for(;;){let n=null;for(const o of yn)try{n=await Dn(o,"eth_getTransactionReceipt",[r]);break}catch{}if(n){if(n.status!=="0x1")throw new Error(`Transaction reverted: ${r}`);return}if(Date.now()>t)throw new Error(`Timed out waiting for ${r}`);await new Promise(o=>setTimeout(o,2500))}}const AA={convertToAssets:"0x07a2d13a",convertToShares:"0xc6e6f592",totalAssets:"0x01e1d114",totalSupply:"0x18160ddd",balanceOf:"0x70a08231",allowance:"0xdd62ed3e",approve:"0x095ea7b3",deposit:"0x6e553f65",savings:"0xc86d6ae4",currentRatePPM:"0x06a7b376"};function Ct(r){return r.toString(16).padStart(64,"0")}function GA(r){return r.toLowerCase().replace(/^0x/,"").padStart(64,"0")}function DA(r,...A){return r+A.join("")}function QA(r){return BigInt(r)}function oi(r){return"0x"+r.slice(-40)}function tA(r){const A=r<0n,t=(A?-r:r).toString().padStart(19,"0"),n=t.slice(0,-18),o=t.slice(-18).replace(/0+$/,"");return(A?"-":"")+n+(o?"."+o:"")}function Nn(r){const A=r.match(/^(\d+)(?:\.(\d{1,18}))?$/);if(!A)throw new Error(`bad decimal: ${r}`);const t=(A[2]??"").padEnd(18,"0");return BigInt(A[1]+t)}const jA=1,eA="0xe5f130253ff137f9917c0107659a4c5262abf6b0",Qt="0xB58E61C3098d85632Df34EecfB899A1Ed80921cB",gi="0x27d9ad987bde08a0d083ef7e0e4043c857a17b38",si=10n**18n;async function ai(r){const[A,t,n]=await Promise.all([aA(eA,DA(AA.convertToAssets,Ct(si))).then(QA),aA(eA,AA.totalAssets).then(QA),aA(eA,AA.totalSupply).then(QA)]);let o=gi;try{o=oi(await aA(eA,AA.savings))}catch{}let g=0;try{g=Number(QA(await aA(o,AA.currentRatePPM)))}catch{}let I=0n,a=0n,c=0n;r&&([I,a,c]=await Promise.all([aA(Qt,DA(AA.balanceOf,GA(r))).then(QA),aA(eA,DA(AA.balanceOf,GA(r))).then(QA),aA(Qt,DA(AA.allowance,GA(r),GA(eA))).then(QA)]));const u=Number(tA(A)),E=Number(tA(a));return{sharePrice:u,totalAssets:Number(tA(t)),totalSupply:Number(tA(n)),savingsModule:o,ratePPM:g,zchfBalance:Number(tA(I)),zchfBalanceRaw:I,svBalance:E,svBalanceRaw:a,svValue:E*u,allowance:Number(tA(c)),allowanceRaw:c}}async function Ii(r){if(!isFinite(r)||r<=0)return 0;const A=QA(await aA(eA,DA(AA.convertToShares,Ct(Nn(String(r))))));return Number(tA(A))}const b=r=>document.getElementById(r),p={connectBtn:b("btn-connect"),disconnectBtn:b("btn-disconnect"),walletPill:b("wallet-pill"),connectPanel:b("connect-panel"),connectWc:b("btn-connect-wc"),connectInjected:b("btn-connect-injected"),connectCancel:b("btn-connect-cancel"),wcUriArea:b("wc-uri-area"),wcUri:b("wc-uri"),wcQr:b("wc-qr"),copyUri:b("btn-copy-uri"),wrongChain:b("wrong-chain"),switchChain:b("btn-switch-chain"),statPrice:b("stat-price"),statRate:b("stat-rate"),statTvl:b("stat-tvl"),userBalance:b("user-balance"),depAmount:b("dep-amount"),depMax:b("dep-max"),depPreview:b("dep-preview"),saveBtn:b("btn-save"),saveStatus:b("save-status"),log:b("log")};let j=null,pt=null,X=null,fA=0,T=null,tt=!1;const Le=new Intl.NumberFormat("de-CH",{maximumFractionDigits:2}),Ae=new Intl.NumberFormat("de-CH",{maximumFractionDigits:4});function yt(r){return r.length>12?`${r.slice(0,6)}…${r.slice(-4)}`:r}function O(r,A){p.log.classList.remove("hidden");const t=document.createElement("li");A&&(t.className=A),t.textContent=r,p.log.prepend(t)}function mn(r,A){p.log.classList.remove("hidden");const t=document.createElement("li");t.innerHTML=`${r}: <a href="https://etherscan.io/tx/${A}" target="_blank" rel="noreferrer">${yt(A)}</a>`,p.log.prepend(t)}function oA(r){p.saveStatus.textContent=r}const et="";function he(){const r=X!=null;p.connectBtn.classList.toggle("hidden",r),p.disconnectBtn.classList.toggle("hidden",!r),p.walletPill.classList.toggle("hidden",!r),r&&(p.walletPill.textContent=`${yt(X)} · ${pt==="latrine"?"WC":"browser"}`),p.wrongChain.classList.toggle("hidden",!r||fA===jA)}function Fn(){T&&(p.statPrice.textContent=`CHF ${Ae.format(T.sharePrice)}`,p.statTvl.textContent=`CHF ${Le.format(T.totalAssets)}`,p.statRate.textContent=T.ratePPM>0?`${(T.ratePPM/1e4).toFixed(2)}% p.a.`:"—",X?(p.userBalance.textContent=`Balance: ZCHF ${Le.format(T.zchfBalance)} · ${Ae.format(T.svBalance)} svZCHF`,p.userBalance.title=`${tA(T.zchfBalanceRaw)} ZCHF (exact)`):(p.userBalance.textContent="Connect a wallet",p.userBalance.title=""))}function NA(){const r=le(p.depAmount),A=!tt&&!!(j&&X&&fA===jA&&T&&r&&r.wei<=T.zchfBalanceRaw);p.saveBtn.disabled=!A,T&&r&&r.wei<=T.allowanceRaw?p.saveBtn.textContent="Deposit":p.saveBtn.textContent="Approve & Deposit"}function OA(){he(),Fn(),NA()}async function nA(){try{T=await ai(X??void 0),Fn(),NA()}catch(r){O(`Chain read failed: ${r.message}`,"err")}}async function Bi(){p.statPrice.textContent="loading…",await nA()}async function ci(){p.wcUriArea.classList.remove("hidden");const r=new Qe;try{await r.connect({onUri:A=>{p.wcUri.value=A,vA.toCanvas(p.wcQr,A,{width:176,margin:1},()=>{})},onConnected:A=>{j=r,pt="latrine",X=A.address,fA=A.chainId,Ee((t,n)=>r.request("eth_call",[{to:t,data:n},"latest"])),p.connectPanel.classList.add("hidden"),O(`Connected ${yt(A.address)} via WalletConnect`,"ok"),nA(),OA()},onDisconnected:A=>{X&&O(`Wallet disconnected (${A??"?"})`,"err"),ue()},onChainChanged:A=>{fA=A,he(),NA(),A===jA&&nA()},onAccountsChanged:A=>{X=A,nA(),OA()}})}catch(A){O(`WalletConnect failed: ${A.message}`,"err"),p.wcUriArea.classList.add("hidden")}}async function Ci(){if(!dn()){O("No browser wallet found (window.ethereum missing)","err");return}const r=new pn;try{const A=await r.connect({onAccountsChanged:t=>{X=t,nA(),OA()},onChainChanged:t=>{fA=t,he(),NA(),t===jA&&nA()},onDisconnected:()=>ue()});j=r,pt="injected",X=A.address,fA=A.chainId,Ee((t,n)=>r.request("eth_call",[{to:t,data:n},"latest"])),p.connectPanel.classList.add("hidden"),O(`Connected ${yt(A.address)} via browser wallet`,"ok"),nA(),OA()}catch(A){O(`Browser wallet failed: ${A.message}`,"err")}}function ue(){Ee(null),j=null,pt=null,X=null,fA=0,nA(),OA()}function kn(){if(!j||!X)throw new Error("Connect a wallet first");if(fA!==jA)throw new Error("Switch to Ethereum mainnet first");return X}function le(r){const A=r.value.trim();if(!/^\d+(\.\d{1,18})?$/.test(A))return null;const t=Number(A);return!isFinite(t)||t<=0?null:{value:t,wei:Nn(A)}}async function Gn(r,A){if(!j)throw new Error("Wallet not connected");return j instanceof Qe,j.request(r,A)}function we(r){const t=JSON.stringify(r,Object.getOwnPropertyNames(r)).match(/e450d38c[0-9a-f]{24}([0-9a-f]{40})[0-9a-f]*?([0-9a-f]{64})([0-9a-f]{64})/i);if(t){const n=tA(BigInt("0x"+t[2])),o=tA(BigInt("0x"+t[3]));return`insufficient token balance (has ${n}, needs ${o} — ERC-4626 rounding leaves you a wei short; use MAX)`}return r.message??String(r)}async function Lt(r,A,t){try{const n=kn();O(`${r}: sending…`);const o=await j.sendTransaction({from:n,to:A,data:t});return mn(r,o),O(`${r}: waiting for confirmation…`),await ii(o),O(`${r}: confirmed ✔`,"ok"),await nA(),!0}catch(n){return O(`${r} failed: ${we(n)}`,"err"),!1}}async function Qi(r){const A=Date.now()+12e4;for(;;){const t=await Gn("wallet_getCallsStatus",[r]),n=t?.status,o=t?.receipts?.[0]?.transactionHash;if(o&&mn("Batched approve + deposit",o),n===200||n==="200"||String(n).toUpperCase()==="CONFIRMED")return;if(typeof n=="number"&&n>=400||["REVERTED","FAILED","REJECTED"].includes(String(n).toUpperCase()))throw new Error(`batch failed on-chain (status ${n})`);if(Date.now()>A)throw new Error("batch still pending after 2 minutes — check your wallet");await new Promise(g=>setTimeout(g,2e3))}}async function Ei(r){const A=kn(),t=DA(AA.approve,GA(eA),Ct(r)),n=DA(AA.deposit,Ct(r),GA(A));if(T&&r<=T.allowanceRaw){oA("Allowance already covers this — depositing directly…"),await Lt("Deposit",eA,n),oA(et);return}try{oA("Trying batched approve + deposit (EIP-5792)…");const I=await Gn("wallet_sendCalls",[{version:"1.0",chainId:"0x1",from:A,calls:[{to:Qt,data:t},{to:eA,data:n}]}]);O("Batched approve + deposit submitted — waiting for confirmation…"),oA("Batch submitted — waiting for confirmation…"),await Qi(String(I)),O("Approve + deposit confirmed in one transaction ✔","ok"),oA("Done — approve + deposit confirmed in one transaction ✔"),await nA();return}catch(I){O(`Batched calls unavailable (${we(I)}) — falling back to two transactions`,"err")}if(oA("Step 1 of 2: approving ZCHF…"),!await Lt("Approve ZCHF",Qt,t)){oA(et);return}oA("Step 2 of 2: depositing…");const g=await Lt("Deposit",eA,n);oA(g?"Done — deposit confirmed ✔":et)}p.connectBtn.addEventListener("click",()=>p.connectPanel.classList.remove("hidden"));p.connectCancel.addEventListener("click",()=>p.connectPanel.classList.add("hidden"));p.connectWc.addEventListener("click",()=>void ci());p.connectInjected.addEventListener("click",()=>void Ci());p.disconnectBtn.addEventListener("click",async()=>{j instanceof Qe&&await j.disconnect(),ue(),O("Disconnected")});p.copyUri.addEventListener("click",async()=>{await navigator.clipboard.writeText(p.wcUri.value),p.copyUri.textContent="Copied",setTimeout(()=>p.copyUri.textContent="Copy",1200)});p.switchChain.addEventListener("click",async()=>{if(j instanceof pn)try{await j.switchToMainnet()}catch(r){O(`Chain switch failed: ${r.message}`,"err")}else O("Switch to Ethereum mainnet inside your wallet app","err")});let qe;async function Un(){const r=le(p.depAmount);if(!r){p.depPreview.textContent="You receive ≈ — svZCHF";return}try{const A=await Ii(r.value);p.depPreview.textContent=`You receive ≈ ${Ae.format(A)} svZCHF at the current share price`}catch{p.depPreview.textContent="Preview unavailable (RPC unreachable)"}}p.depAmount.addEventListener("input",()=>{NA(),clearTimeout(qe),qe=window.setTimeout(()=>void Un(),300)});p.depMax.addEventListener("click",()=>{T&&(p.depAmount.value=tA(T.zchfBalanceRaw),p.depAmount.dispatchEvent(new Event("input")))});p.saveBtn.addEventListener("click",async()=>{const r=le(p.depAmount);if(!(!r||tt)){tt=!0,NA();try{await Ei(r.wei),T&&p.depAmount.value&&(p.depAmount.value="",Un())}catch(A){O(`Deposit failed: ${we(A)}`,"err"),oA(et)}finally{tt=!1,NA()}}});dn()||(p.connectInjected.disabled=!0,p.connectInjected.title="No window.ethereum provider found");Bi();setInterval(()=>void nA(),3e4); </script> <style> :root{--red: #ff0000;--ink: #000;--muted: #666;--line: #ddd}*{box-sizing:border-box}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:#fff;color:var(--ink);line-height:1.5}main{max-width:560px;margin:0 auto;padding:64px 20px 96px}header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--ink)}.wordmark{display:flex;align-items:center;gap:9px;font-weight:700;font-size:18px;letter-spacing:-.3px}.cross{width:20px;height:20px;background:var(--red);display:inline-block;position:relative;flex:none}.cross:after{content:"";position:absolute;inset:0;background:linear-gradient(#fff,#fff) center/11px 3.5px no-repeat,linear-gradient(#fff,#fff) center/3.5px 11px no-repeat}.cross.small{width:14px;height:14px}.cross.small:after{background:linear-gradient(#fff,#fff) center/8px 2.5px no-repeat,linear-gradient(#fff,#fff) center/2.5px 8px no-repeat}.wallet-area{display:flex;align-items:center;gap:14px}.pill{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;border:1px solid var(--ink);padding:3px 10px}.btn{font:inherit;font-weight:600;border:1px solid var(--ink);background:#fff;color:var(--ink);padding:7px 14px;border-radius:0;cursor:pointer}.btn:hover:not(:disabled){background:var(--ink);color:#fff}.btn:disabled{opacity:.3;cursor:not-allowed}.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-red:hover:not(:disabled){background:#c00;border-color:#c00;color:#fff}.btn-ghost{border-color:var(--line)}.btn-big{width:100%;padding:14px;font-size:17px}.linklike{font:inherit;border:none;background:none;padding:0;color:var(--red);cursor:pointer;text-decoration:underline}.connect-panel{position:fixed;inset:0;background:#ffffffeb;display:flex;align-items:center;justify-content:center;z-index:20}.connect-box{background:#fff;border:1px solid var(--ink);padding:32px;width:min(400px,calc(100vw - 40px));text-align:center}.connect-box h2{margin:0 0 20px}.connect-options{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.connect-box>.linklike{margin-top:16px}.wc-uri-area{margin-top:20px}.wc-uri-area canvas{border:1px solid var(--ink)}.wc-uri-row{display:flex;gap:8px;margin-top:8px}.wc-uri-row input{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:11px;padding:7px;border:1px solid var(--line);border-radius:0;min-width:0}.waiting{color:var(--red);font-weight:600;font-size:13px}.banner{background:var(--red);color:#fff;padding:10px 20px;text-align:center;font-weight:600;font-size:14px}.banner .linklike{color:#fff;margin-left:8px}h1{font-size:44px;line-height:1.05;letter-
0x42dcd51e…043f·#25,775,365·0x6fe80391…c2fc32
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ACQCACQQBIDQACQAJAAkAgAygCBEUNAAJAIAMoAggiBA0AAkAgAg0AIAEhAwwEC0EALQDBnEAaDAILIAMoAgAgBCABIAIQciEDDAILAkAgAg0AIAEhAwwCC0EALQDBnEAaCyACIAEQdiEDCwJAIANFDQAgACACNgIIIAAgAzYCBCAAQQA2AgAPCyAAIAI2AgggACABNgIEDAELIABBADYCBAsgAEEBNgIAC68BAQF/AkACQCACQQBIDQACQAJAAkAgAygCBEUNAAJAIAMoAggiBA0AAkAgAg0AIAEhAwwEC0EALQDBnEAaDAILIAMoAgAgBCABIAIQciEDDAILAkAgAg0AIAEhAwwCC0EALQDBnEAaCyACIAEQdiEDCwJAIANFDQAgACACNgIIIAAgAzYCBCAAQQA2AgAPCyAAIAI2AgggACABNgIEDAELIABBADYCBAsgAEEBNgIAC7IBAQN/IwBBEGsiASQAIAAoAgAiAigCDCEDAkACQAJAAkAgAigCBA4CAAECCyADDQFBASECQQAhAwwCCyADDQAgAigCACICKAIEIQMgAigCACECDAELIAFBgICAgHg2AgAgASAANgIMIAFBkJbAACAAKAIEIAAoAggiAC0ACCAALQAJEDsACyABIAM2AgQgASACNgIAIAFB9JXAACAAKAIEIAAoAggiAC0ACCAALQAJEDsAC4cBAQF/IwBBIGsiAiQAAkACQCAAKAIAQYCAgIB4Rg0AIAEgACgCBCAAKAIIEHMhAAwBCyACQQhqQQhqIAAoAgwoAgAiAEEIaikCADcDACACQQhqQRBqIABBEGopAgA3AwAgAiAAKQIANwMIIAEoAhwgASgCICACQQhqEBEhAAsgAkEgaiQAIAALjAEAIABCADcCJCAAQTRqQQA2AgAgAEEsakIANwIAIAAgASkAGDcCCCAAIAEpABA3AgAgACABKAAAQf///x9xNgIQIAAgASgADEEIdkH//z9xNgIgIAAgASgACUEGdkH//8AfcTYCHCAAIAEoAAZBBHZB/4H/H3E2AhggACABKAADQQJ2QYP+/x9xNgIUC3oBAX8jAEHAAGsiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQQI2AhwgBUHImsAANgIYIAVCAjcCJCAFQR6tQiCGIAVBEGqthDcDOCAFQR+tQiCGIA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IDJAAgAyAAIAEgAhAbIAMoAgAgAygCBCADKAIIIANBEGokAAstAQF/IwBBEGsiAyQAIAMgACABIAIQHCADKAIAIAMoAgQgAygCCCADQRBqJAALLQIBfwF+IwBBEGsiASQAIAApAgAhAiABIAA2AgwgASACNwIEIAFBBGoQkQEACyoBAX8jAEEQayICJAAgAkEBOwEMIAIgATYCCCACIAA2AgQgAkEEahBgAAsrAQF/IwBBEGsiAiQAIAIgACABECYgAigCACACKAIEIAIoAgggAkEQaiQACykBAX8jAEEQayIBJAAgASAAEDEgASgCACABKAIEIAEoAgggAUEQaiQACycBAX8CQCAAKAIARQ0AIAAoAgQiAUUNACAAKAIIIAFBAnRBBBB9CwsmAQF/IwBBEGsiAiQAIAIgACABEDUgAigCACACKAIEIAJBEGokAAsmAQF/IwBBEGsiAiQAIAIgACABEDIgAigCACACKAIEIAJBEGokAAsjAQF/QQAhAgJAIAFpQQFHDQBBgICAgHggAWsgAE8hAgsgAgspAQF/AkAgACgCACIBQYCAgIB4ckGAgICAeEYNACAAKAIEIAFBARB9CwscAQF/AkAgACgCACIBRQ0AIAAoAgQgAUEBEH0LCxcAAkAgAUEJSQ0AIAEgABAXDwsgABADCxwBAX8CQCAAKAIAIgFFDQAgACgCBCABQQEQfQsLGgEBfyABIABBACgCzJxAIgJBCSACGxEFAAALFgACQCAADQAgAhBbAAsgACABEI4BAAsWAAJAIAAoAgggAUkNACAAIAE2AggLCxwAIABBADYCECAAQgA3AgggAEKAgICAwAA3AgALGAIBfwFvIAAgARAAIQMQPCICIAMmASACCxUBAX8jAEEQayIBIAA6AA8gAS0ADwsTAQF/IAAgASACIAMQCiEEIAQPCxYAIAAoAhwgASACIAAoAiAoAgwRCwALFAAgACgCACABIAAoAgQoAgwRBgALEQAgACgCACAAKAIEIAEQjwELDwEBfyAAIAEQaiECIAIPCyAAIABCuvuVt/rEyEA3AwggAELHpL6d/eysmPIANwMACyIAIABC7bqtts2F1PXjADcDCCAAQviCmb2V7sbFuX83AwALEwAgAEHklcAANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBBzCxAAIAEgACgCACAAKAIEEA0LEAAgASgCHCABKAIgIAAQEQsLACAAIAEgAhBLDwsLACAAIAEQkgEaAAsNACAAKAIAQQEgARAiCw0AIAFByITAAEEREHMLDQAgAUG2icAAQQ4QcwsJACAAIAEQbA8LCgAgACABQQAQEwsNACABQdCNwABBCxBzCw0AIAFB243AAEEOEHMLDQAgAUGEj8AAQQoQcwsNAEGUkcAAQRsQiQEACw4AQa+RwABBzwAQiQEACwkAIAAgARABAAsNACAAQbiTwAAgARARCwwAIAAgASkCADcDAAsNACAAQbSWwAAgARARCw0AIAFBrJbAAEEFEHMLCgAgASAAEIIBAAsKACACIAAgARANCwkAIABBADYCAAsHACAAEEMACwMAAAsL0BwCAEGAgMAAC6IcL1VzZXJzL2h1Z28vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jaGFjaGEyMC0wLjEwLjAvc3JjL2xpYi5ycwBleHBhbmQgMzItYnl0ZSBrAAAQAFsAAADyAAAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IG1hdGNoZXMhKGl2LmxlbigpLCA0IHwgOCB8IDEyKQAAEABbAAAA4AAAAAkAAAAvVXNlcnMvaHVnby8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2FlYWQtMC41LjIvc3JjL2xpYi5ycwAAvAAQAFYAAACHAQAAGgAAAC9Vc2Vycy9odWdvLy5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAACQBEABqAAAAoQAAABkAAAAAAAAAAAAAAAEAAAABAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZS9Vc2Vycy9odWdvLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2lwaGVyLTAuNC40L3NyYy9zdHJlYW0ucnMAANsBEABbAAAAeAAAACcAAABTdHJlYW1DaXBoZXJFcnJvcgAAAGV4cGFuZCAzMi1ieXRlIGsvVXNlcnMvaHVnby8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNsAhAAbAAAACgCAAARAAAAYXR0ZW1wdGVkIHRvIHRha2Ugb3duZXJzaGlwIG9mIFJ1c3QgdmFsdWUgd2hpbGUgaXQgd2FzIGJvcnJvd2VkZGFlbW9uOjptb2RzOjpjaGFjaGEyMHBvbHkxMzA1OjpDaGFDaGEyMFBvbHkxMzA1Q2lwaGVyOjpuZXc6Ont7Y2xvc3VyZX19Ojp7e2Nsb3N1cmV9fSBhdCABAAAAAAAAAHwDEAAEAAAADAAAAC9Vc2Vycy9odWdvLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvZ2VuZXJpYy1hcnJheS0wLjE0Ljkvc3JjL2xpYi5yc5QDEABgAAAAQAIAAAkAAABkYWVtb246Om1vZHM6OmNoYWNoYTIwcG9seTEzMDU6OkNoYUNoYTIwUG9seTEzMDVDaXBoZXI6OmVuY3J5cHQ6Ont7Y2xvc3VyZX19Ojp7e2Nsb3N1cmV9fWRhZW1vbjo6bW9kczo6Y2hhY2hhMjBwb2x5MTMwNTo6Q2hhQ2hhMjBQb2x5MTMwNUNpcGhlcjo6ZGVjcnlwdDo6e3tjbG9zdXJlfX06Ont7Y2xvc3VyZX19SW52YWxpZCBMZW5ndGhhdHRlbXB0ZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgUnVzdCB2YWx1ZSB3aGlsZSBpdCB3YXMgYm9ycm93ZWRkYWVtb246Om1vZHM6OmNoYWNoYTIwOjpDaGFDaGEyMENpcGhlcjo6bmV3Ojp7e2Nsb3N1cmV9fTo6e3tjbG9zdXJlfX0gYXQgAQAAAAAAAABIBRAABAAAAGRhZW1vbjo6bW9kczo6Y2hhY2hhMjA6OkNoYUNoYTIwQ2lwaGVyOjphcHBseV9rZXlzdHJlYW06Ont7Y2xvc3VyZX19Ojp7e2Nsb3N1cmV9fS9Vc2Vycy9odWdvLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2hhY2hhMjAtMC45LjEvc3JjL2JhY2tlbmRzL3NvZnQucnMAAACtBRAAZAAAADoAAAAQAAAArQUQAGQAAAA6AAAAJgAAAK0FEABkAAAAOwAAAAUAAACtBRAAZAAAAD4AAAAQAAAAL1VzZXJzL2h1Z28vLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS1hYXJjaDY0LWFwcGxlLWRhcndpbi9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzVAYQAGwAAAAoAgAAEQAAAGFlYWQ6OkVycm9ySW52YWxpZCBMZW5ndGgvVXNlcnMvaHVnby8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2NoYWNoYTIwLTAuMTAuMC9zcmMvbGliLnJz6QYQAFsAAACcAQAAEAAAAOkGEABbAAAAnAEAACYAAADpBhAAWwAAAJ0BAAAFAAAA6QYQAFsAAACgAQAAEAAAAExvb3AgRXJyb3JhdHRlbXB0ZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgUnVzdCB2YWx1ZSB3aGlsZSBpdCB3YXMgYm9ycm93ZWRMYXp5IGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAzQcQACoAAAAvVXNlcnMvaHVnby8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL29uY2VfY2VsbC0xLjIxLjQvc3JjL2xpYi5ycwAIEABcAAAAEgMAABkAAAByZWVudHJhbnQgaW5pdAAAbAgQAA4AAAAACBAAXAAAAIQCAAANAAAAbnVsbCBwb2ludGVyIHBhc3NlZCB0byBydXN0cmVjdXJzaXZlIHVzZSBvZiBhbiBvYmplY3QgZGV0ZWN0ZWQgd2hpY2ggd291bGQgbGVhZCB0byB1bnNhZmUgYWxpYXNpbmcgaW4gcnVzdC9ydXN0Yy80ZDkxZGU0ZTQ4MTk4ZGEyZTMzNDEzZWZkY2Q5Y2QyY2MwYzQ2Njg4L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAAAP4IEABLAAAAjQUAABsAAAAvcnVzdGMvNGQ5MWRlNGU0ODE5OGRhMmUzMzQxM2VmZGNkOWNkMmNjMGM0NjY4OC9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzXAkQAEwAAAAoAgAAEQAAAAoAAAAMAAAABAAAAAsAAAAMAAAADQAAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjcvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZADQCRAAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA0AkQACkAAACuBAAADQAAAG1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQAAHgKEAAVAAAAjQoQAA0AAABsaWJyYXJ5L3N0ZC9zcmMvYWxsb2MucnOsChAAGAAAAGMBAAAJAAAACgAAAAwAAAAEAAAADgAAAAAAAAAIAAAABAAAAA8AAAAAAAAACAAAAAQAAAAQAAAAEQAAABIAAAATAAAAFAAAABAAAAAEAAAAFQAAABYAAAAXAAAAGAAAAEVycm9yAAAAGQAAAAwAAAAEAAAAGgAAABsAAAAcAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAABMCxAAEQAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNoCxAAHAAAACgCAAARAAAAbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAJQLEAAbAAAA6gEAABcAAAAAAAAAAAAAAAEAAAAdAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHdoZW4gdGhlIHVuZGVybHlpbmcgc3RyZWFtIGRpZCBub3RsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAACYMEAAYAAAAigIAAA4AAACUCxAAGwAAAI0FAAAbAAAAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyAAAGAMEAAgAAAAgAwQABIAAAAAAAAABAAAAAQAAAAhAAAAPT0hPW1hdGNoZXNhc3NlcnRpb24gYGxlZnQgIHJpZ2h0YCBmYWlsZWQKICBsZWZ0OiAKIHJpZ2h0OiAAvwwQABAAAADPDBAAFwAAAOYMEAAJAAAAIHJpZ2h0YCBmYWlsZWQ6IAogIGxlZnQ6IAAAAL8MEAAQAAAACA0QABAAAAAYDRAACQAAAOYMEAAJAAAAOiAAAAEAAAAAAAAARA0QAAIAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AEGknMAACxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAA";async function $r(){return await wn({module_or_path:zr})}await $r();class ce{inner;constructor(A){this.inner=A}static import(A){return new ce(new Wr(new P(A)))}encrypt(A,t){return new Uint8Array(this.inner.encrypt(new P(A),new P(t)).bytes)}decrypt(A,t){return new Uint8Array(this.inner.decrypt(new P(A),new P(t)).bytes)}}var Ai=function(r,A,t){if(A!=null){if(typeof A!="object"&&typeof A!="function")throw new TypeError("Object expected.");var n,o;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=A[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=A[Symbol.dispose],t&&(o=n)}if(typeof n!="function")throw new TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(g){return Promise.reject(g)}}),r.stack.push({value:A,dispose:n,async:t})}else t&&r.stack.push({async:!0});return A},ti=function(r){return function(A){function t(I){A.error=A.hasError?new r(I,A.error,"An error was suppressed during disposal."):I,A.hasError=!0}var n,o=0;function g(){for(;n=A.stack.pop();)try{if(!n.async&&o===1)return o=0,A.stack.push(n),Promise.resolve().then(g);if(n.dispose){var I=n.dispose.call(n.value);if(n.async)return o|=2,Promise.resolve(I).then(g,function(a){return t(a),g()})}else o|=1}catch(a){t(a)}if(o===1)return A.hasError?Promise.reject(A.error):Promise.resolve();if(A.hasError)throw A.error}return g()}}(typeof SuppressedError=="function"?SuppressedError:function(r,A,t){var n=new Error(t);return n.name="SuppressedError",n.error=r,n.suppressed=A,n});const Rt={wc_pairingDelete:{req:{ttl:24*60*60,prompt:!1,tag:1e3},res:{ttl:24*60*60,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:30,prompt:!1,tag:1002},res:{ttl:30,prompt:!1,tag:1003}},wc_pairingExtend:{req:{ttl:24*60*60,prompt:!1,tag:1004},res:{ttl:24*60*60,prompt:!1,tag:1005}},wc_sessionPropose:{req:{ttl:5*60,prompt:!0,tag:1100},res:{ttl:5*60,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:5*60,prompt:!1,tag:1102},res:{ttl:5*60,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:24*60*60,prompt:!1,tag:1104},res:{ttl:24*60*60,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:24*60*60,prompt:!1,tag:1106},res:{ttl:24*60*60,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:5*60,prompt:!0,tag:1108},res:{ttl:5*60,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:5*60,prompt:!0,tag:1110},res:{ttl:5*60,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:24*60*60,prompt:!1,tag:1112},res:{ttl:24*60*60,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:30,prompt:!1,tag:1114},res:{ttl:30,prompt:!1,tag:1115}}};class ZA extends EventTarget{client;topic;key;#A=new AbortController;#n;#e=new Set;#t;constructor(A,t,n){super(),this.client=A,this.topic=t,this.key=n,this.#n=ce.import(n),A.addEventListener("request",this.#o.bind(this),{signal:this.closing}),A.addEventListener("close",this.#r.bind(this),{signal:this.closing})}[Symbol.dispose](){this.close()}addEventListener(A,t,n){super.addEventListener(A,t,n)}get closing(){return this.#A.signal}#r(A){if(this.closing.aborted)return;const{reason:t}=A,n=new CloseEvent("close",{reason:t});this.dispatchEvent(n),this.#A.abort(t)}#o(A){if(A.data.method==="irn_subscription")return this.#g(A)}#g(A){const t=A.data;t.params.data.topic===this.topic&&(this.#i(t.params.data.message).catch(console.error),A.respondWith(!0))}async#i(A){const t=this.#c(A);"method"in t?await this.#s(t):await this.#B(t)}async#s(A){if(typeof A.id!="number"||this.#e.has(A.id))return;this.#e.add(A.id);const t=await st.runAndWrap(()=>this.#I(A)),n=SA.rewrap(A.id,t),{topic:o}=this,{prompt:g,tag:I,ttl:a}=Rt[A.method].res,c=this.#a(n),u={topic:o,message:c,prompt:g,tag:I,ttl:a};await this.client.publish(u)}async#I(A){const t=new ft("request",{data:A});if(this.dispatchEvent(t),await t.extension,t.response!=null)return await t.response;throw new se}async#B(A){this.dispatchEvent(new BA("response",{data:A}))}#c(A){const t=Uint8Array.fromBase64(A),g=It.readFromBytes(Vt,t).fragment.into(dt).decrypt(this.#n),I=new TextDecoder().decode(g.fragment.bytes),a=cA.parse(I);return console.log("->",a),a}#a(A){console.log("<-",A);const t=cA.stringify(A),n=crypto.getRandomValues(new Uint8Array(12)),g=new En(new wA(new TextEncoder().encode(t))).encrypt(this.#n,n),I=new Ie(g);return Bt.writeToBytes(I).toBase64({alphabet:"base64",omitPadding:!1})}async subscribe(){this.closing.aborted||this.#t==null&&(this.#t=await this.client.subscribe(this.topic))}async unsubscribe(){this.closing.aborted||this.#t!=null&&await this.client.unsubscribe(this.#t,this.topic)}async publish(A){const t=hA.prepare(A),{topic:n}=this,o=this.#a(t),{prompt:g,tag:I,ttl:a}=Rt[A.method].req,c={topic:n,message:o,prompt:g,tag:I,ttl:a};await this.client.publish(c)}async request(A,t=new AbortController().signal){const n=hA.prepare(A),{topic:o}=this,g=this.#a(n),{prompt:I,tag:a,ttl:c}=Rt[A.method].req,{id:u}=n,E={topic:o,message:g,prompt:I,tag:a,ttl:c},l=this.#C(u,t);return l.catch(()=>{}),await this.client.publish(E),await l}async#C(A,t=new AbortController().signal){const n={stack:[],error:void 0,hasError:!1};try{const o=Ai(n,new DisposableStack,!1),g=new AbortController;o.defer(()=>g.abort());const I=Promise.withResolvers();return o.defer(()=>I.reject()),I.promise.catch(()=>{}),this.addEventListener("response",a=>{const c=a.data;c.id===A&&I.resolve(SA.from(c))},{signal:g.signal}),this.addEventListener("close",I.reject,{signal:g.signal}),t.addEventListener("abort",I.reject,{signal:g.signal}),await I.promise}catch(o){n.error=o,n.hasError=!0}finally{ti(n)}}async open()
0x42dcd51e…043f·#25,775,364·0xf3499945…a41ea7
AdKQMANwMAIAIgAikDgAE3AwAgACAVQQFqIhU2AjAgFyAFIBZBBnQiHmoiAUE4aikAADcDACAYIAFBMGopAAA3AwAgGSABQShqKQAANwMAIBogAUEgaikAADcDACAbIAFBGGopAAA3AwAgHCABQRBqKQAANwMAIB0gAUEIaikAADcDACACIAEpAAA3A4ABIAJBwABqQThqIhtCADcDACACQcAAakEwaiIcQgA3AwAgAkHAAGpBKGoiHUIANwMAIAJBwABqQSBqIh9CADcDACACQcAAakEYaiIgQgA3AwAgAkHAAGpBEGoiIUIANwMAIAJBwABqQQhqIiJCADcDACACQgA3A0AgBCAeaiEaQUAhAQNAIAJBwABqIAFqIhdBwABqIAIgAWoiGEHAAGotAAAgAkGAAWogAWoiGUHAAGotAABzOgAAIBdBwQBqIBhBwQBqLQAAIBlBwQBqLQAAczoAACABQQJqIgENAAsgGiACKQNANwAAIBpBOGogGykDADcAACAaQTBqIBwpAwA3AAAgGkEoaiAdKQMANwAAIBpBIGogHykDADcAACAaQRhqICApAwA3AAAgGkEQaiAhKQMANwAAIBpBCGogIikDADcAACADIBZBAWoiFkcNAAsLIAJBwAFqJAAL7wkBIX8jAEHAAWsiAiQAAkAgASgCCCIDRQ0AIAEoAgQhBCABKAIAIQUgACgCPCEGIAAoAjghByAAKAI0IQggACgCLCEJIAAoAighCiAAKAIkIQsgACgCICEMIAAoAhwhDSAAKAIYIQ4gACgCFCEPIAAoAhAhECAAKAIMIREgACgCCCESIAAoAgQhEyAAKAIAIRQgACgCMCEVQQAhFgNAIAJBgAFqQThqIhcgAEE4aikCADcDACACQYABakEwaiIYIABBMGopAgA3AwAgAkGAAWpBKGoiGSAAQShqKQIANwMAIAJBgAFqQSBqIhogAEEgaikCADcDACACQYABakEYaiIbIABBGGopAgA3AwAgAkGAAWpBEGoiHCAAQRBqKQIANwMAIAJBgAFqQQhqIh0gAEEIaikCADcDACACIAApAgA3A4ABQQohAQNAQQBBBEEIQQwgAkGAAWoQMEEBQQVBCUENIAJBgAFqEDBBAkEGQQpBDiACQYABahAwQQNBB0ELQQ8gAkGAAWoQMEEAQQVBCkEPIAJBgAFqEDBBAUEGQQtBDCACQYABahAwQQJBB0EIQQ0gAkGAAWoQMEEDQQRBCUEOIAJBgAFqEDAgAUF/aiIBDQALIB0gEiAdKAIAajYCACAcIBAgHCgCAGo2AgAgGyAOIBsoAgBqNgIAIBogDCAaKAIAajYCACACIBQgAigCgAFqNgKAASACIBMgAigChAFqNgKEASACIBEgAigCjAFqNgKMASACIA8gAigClAFqNgKUASACIA0gAigCnAFqNgKcASACIAsgAigCpAFqNgKkASAZIAogGSgCAGo2AgAgAiAJIAIoAqwBajYCrAEgGCAVIBgoAgBqNgIAIAIgCCACKAK0AWo2ArQBIBcgByAXKAIAajYCACACIAYgAigCvAFqNgK8ASACQTBqIBgpAwA3AwAgAkEoaiAZKQMANwMAIAJBIGogGikDADcDACACQRhqIBspAwA3AwAgAkE4aiAXKQMANwMAIAJBEGogHCkDADcDACACQQhqIB0pAwA3AwAgAiACKQOAATcDACAAIBVBAWoiFTYCMCAXIAUgFkEGdCIeaiIBQThqKQAANwMAIBggAUEwaikAADcDACAZIAFBKGopAAA3AwAgGiABQSBqKQAANwMAIBsgAUEYaikAADcDACAcIAFBEGopAAA3AwAgHSABQQhqKQAANwMAIAIgASkAADcDgAEgAkHAAGpBOGoiG0IANwMAIAJBwABqQTBqIhxCADcDACACQcAAakEoaiIdQgA3AwAgAkHAAGpBIGoiH0IANwMAIAJBwABqQRhqIiBCADcDACACQcAAakEQaiIhQgA3AwAgAkHAAGpBCGoiIkIANwMAIAJCADcDQCAEIB5qIRpBQCEBA0AgAkHAAGogAWoiF0HAAGogAiABaiIYQcAAai0AACACQYABaiABaiIZQcAAai0AAHM6AAAgF0HBAGogGEHBAGotAAAgGUHBAGotAABzOgAAIAFBAmoiAQ0ACyAaIAIpA0A3AAAgGkE4aiAbKQMANwAAIBpBMGogHCkDADcAACAaQShqIB0pAwA3AAAgGkEgaiAfKQMANwAAIBpBGGogICkDADcAACAaQRBqICEpAwA3AAAgGkEIaiAiKQMANwAAIAMgFkEBaiIWRw0ACwsgAkHAAWokAAurBwEKfyMAQRBrIgMkACAAKAIwQX9zIQQCQAJAAkACQAJAIAAtAIABIgVFDQACQC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ogAEEoaikCADcDACACQcAAakEgaiAAQSBqKQIANwMAIAJBwABqQRhqIABBGGopAgA3AwAgAkHAAGpBEGogAEEQaikCADcDACACQcAAakEIaiAAQQhqKQIANwMAIAIgACkCADcDQEEKIQMDQEEAQQRBCEEMIAJBwABqEC9BAUEFQQlBDSACQcAAahAvQQJBBkEKQQ4gAkHAAGoQL0EDQQdBC0EPIAJBwABqEC9BAEEFQQpBDyACQcAAahAvQQFBBkELQQwgAkHAAGoQL0ECQQdBCEENIAJBwABqEC9BA0EEQQlBDiACQcAAahAvIANBf2oiAw0ACyACQcAAakEIaiIDIAAoAgggAygCAGo2AgAgAkHAAGpBEGoiBCAAKAIQIAQoAgBqNgIAIAIgACgCACACKAJAajYCQCACIAAoAgQgAigCRGo2AkQgAiAAKAIMIAIoAkxqNgJMIAIgACgCFCACKAJUajYCVCACQcAAakEYaiIFIAAoAhggBSgCAGo2AgAgAiAAKAIcIAIoAlxqNgJcIAJBwABqQSBqIgYgACgCICAGKAIAajYCACACIAAoAiQgAigCZGo2AmQgAkHAAGpBKGoiByAAKAIoIAcoAgBqNgIAIAIgACgCLCACKAJsajYCbCACQcAAakEwaiIIIAAoAjAiCSAIKAIAajYCACACIAAoAjQgAigCdGo2AnQgAkHAAGpBOGoiCiAAKAI4IAooAgBqNgIAIAIgACgCPCACKAJ8ajYCfCACQTBqIgsgCCkDADcDACACQShqIgggBykDADcDACACQThqIgcgCikDADcDACACQSBqIgogBikDADcDACACQRhqIgYgBSkDADcDACACQRBqIgUgBCkDADcDACACQQhqIgQgAykDADcDACACIAIpA0A3AwAgACAJQQFqNgIwIAEgAikDADcAACABQQhqIAQpAwA3AAAgAUEQaiAFKQMANwAAIAFBGGogBikDADcAACABQSBqIAopAwA3AAAgAUEoaiAIKQMANwAAIAFBMGogCykDADcAACABQThqIAcpAwA3AAAgAkGAAWokAAvfBgEKfyMAQYABayICJAAgAkHAAGpBOGogAEE4aikCADcDACACQcAAakEwaiAAQTBqKQIANwMAIAJBwABqQShqIABBKGopAgA3AwAgAkHAAGpBIGogAEEgaikCADcDACACQc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cgBCAFIAMgBSADSRsiBWo6AAAgASgCBCIIIAVqIQkgASgCACIKIAVqIQsgAyAFayIMQT9xIQ0gDEEGdiEOAkAgBUUNACAFQQFxIQ9BACEDAkAgBUEBRg0AIAAgBGohECAFQf4AcSERQQAhAwNAIAggA2oiBSAQIANqIgFBwABqLQAAIAogA2oiBi0AAHM6AAAgBUEBaiABQcEAai0AACAGQQFqLQAAczoAACARIANBAmoiA0cNAAsLIA9FDQAgCCADaiAHIARqIANqLQAAIAogA2otAABzOgAACyACIA42AgwgAiAJNgIIIAIgCzYCBCAAIAJBBGoQBwJAIA1FDQAgCSAMQUBxIgNqIQggCyADaiEKIAAgBxAMIAxBAXEhEUEAIQMCQCANQQFGDQAgDSARayEQQQAhAwNAIAggA2oiBSAAIANqIgFBwABqLQAAIAogA2oiBi0AAHM6AAAgBUEBaiABQcEAai0AACAGQQFqLQAAczoAACAQIANBAmoiA0cNAAsLAkAgEUUNACAIIANqIAcgA2otAAAgCiADai0AAHM6AAALIAcgDToAAAtBACEDCyACQRBqJAAgAwvHAwIDfw1+IAAgASgAA0ECdkH///8fcSAAKAIoaq0iBiAAKAIUIgOtIgd+IAEoAABB////H3EgACgCJGqtIgggACgCGCIErSIJfnwgASgABkEEdkH///8fcSAAKAIsaq0iCiAANQIQIgt+fCABKAAJQQZ2IAAoAjBqrSIMIAAoAiAiBUEFbK0iDX58IAAoAjRBAEGAgIAIIAIbaiABKAAMQQh2aq0iDiAAKAIcIgFBBWytIg9+fCAGIAt+IAggB358IAogDX58IAwgD358IA4gBEEFbK0iEH58IAYgDX4gCCALfnwgCiAPfnwgDCAQfnwgDiADQQVsrX58Ig9CGohC/////w+DfCIQQhqIQv////8Pg3wiEadB////H3E2AiwgACAGIAl+IAggAa0iEn58IAogB358IAwgC358IA4gDX58IBFCGohC/////w+DfCINp0H///8fcTYCMCAAIAYgEn4gCCAFrX58IAogCX58IAwgB358IA4gC358IA1CGohC/////w+DfCIGp0H///8fcTYCNCAAIAZCGoinQQVsIA+nQf///x9xaiIBQf///x9xNgIkIAAgAUEadiAQp0H///8fcWo2AigL8QMBAn8gACABaiECAkACQCAAKAIEIgNBAXENACADQQJxRQ0BIAAoAgAiAyABaiEBAkAgACADayIAQQAoAoigQEcNACACKAIEQQNxQQNHDQFBACABNgKAoEAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAMAgsgACADEB8LAkACQAJAAkAgAigCBCIDQQJxDQAgAkEAKAKMoEBGDQIgAkEAKAKIoEBGDQMgAiADQXhxIgMQHyAAIAMgAWoiAUEBcjYCBCAAIAFqIAE2AgAgAEEAKAKIoEBHDQFBACABNgKAoEAPCyACIANBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsCQCABQYACSQ0AIAAgARAkDwsgAUH4AXFB8J3AAGohAgJAAkBBACgC+J9AIgNBASABQQN2dCIBcQ0AQQAgAyABcjYC+J9AIAIhAQwBCyACKAIIIQELIAIgADYCCCABIAA2AgwgACACNgIMIAAgATYCCA8LQQAgADYCjKBAQQBBACgChKBAIAFqIgE2AoSgQCAAIAFBAXI2AgQgAEEAKAKIoEBHDQFBAEEANgKAoEBBAEEANgKIoEAPC0EAIAA2AoigQEEAQQAoAoCgQCABaiIBNgKAoEAgACABQQFyNgIEIAAgAWogATYCAA8LC+gDAQJ/IwBB4AFrIgMkAAJAAkAgASgCCEEgRw0AIAIoAghBDEcNACADQQhqIAEoAgQgAigCBEEMECMgA0GYAWpCADcDACADQYgBakEIakIANwMAIANBoAFqQgA3AwAgA0GoAWpCADcDACADQbABakIANwMAIANBuAFqQgA3AwAgA0HAAWpCADcDACADQYABakIANwAAIANB0QBqIANBkQFqKQAANwAAIANB2QBqIANBmQFqKQAANwAAIANB4QBqIANBoQFqKQAANwAAIANB6QBqIANBqQFqKQAANwAAIANB8QBqIANBsQFqKQAANwAAIANB+QBqIANBuQFqKQAANwAAIANCADcDiAEgAyADKQCJATcASSADQcAAOgBIIAMoAgghASAAQQhqIANBDGpB/AAQDxpBACECDAELIANBAjYCDCADQcyKwAA2AgggA0ICNwIUIANBAq1CIIYgA0HUAWqthDcDkAEgA0EFrUIghiADQd8Baq2ENwOIASADQcUANgLYASADQYOKwAA2AtQBIA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
0x42dcd51e…043f·#25,775,363·0x8d5db3a3…db412a
ack.push(n),Promise.resolve().then(g);if(n.dispose){var I=n.dispose.call(n.value);if(n.async)return o|=2,Promise.resolve(I).then(g,function(a){return t(a),g()})}else o|=1}catch(a){t(a)}if(o===1)return A.hasError?Promise.reject(A.error):Promise.resolve();if(A.hasError)throw A.error}return g()}}(typeof SuppressedError=="function"?SuppressedError:function(r,A,t){var n=new Error(t);return n.name="SuppressedError",n.error=r,n.suppressed=A,n}),hA;(function(r){function A(n){const{method:o,params:g}=n,I=Date.now()+Math.floor(Math.random()*1e3);return new ge(I,o,g)}r.prepare=A;async function t(n,o,g=new AbortController().signal){const I={stack:[],error:void 0,hasError:!1};try{const a=Hr(I,new DisposableStack,!1),c=new AbortController;a.defer(()=>c.abort());const u=Promise.withResolvers();a.defer(()=>u.reject()),u.promise.catch(()=>{});const E=r.prepare(o);return n.addEventListener("message",async l=>{if(typeof l.data!="string")return;const f=cA.parse(l.data),w=SA.from(f);w.id===E.id&&u.resolve(w)},{signal:c.signal}),n.addEventListener("close",u.reject,{signal:c.signal}),g.addEventListener("abort",u.reject,{signal:c.signal}),n.send(cA.stringify(E)),await u.promise}catch(a){I.error=a,I.hasError=!0}finally{Tr(I)}}r.request=t})(hA||(hA={}));class BA extends Event{data;constructor(A,t){super(A,t),this.data=t.data}}class _r extends Event{#A=Promise.resolve();get extension(){return this.#A}waitUntil(A){this.#A=this.#A.then(()=>A)}}class Or extends _r{#A;get response(){return this.#A}respondWith(A){this.stopImmediatePropagation(),this.#A=Promise.resolve(A)}}class ft extends Or{data;constructor(A,t){super(A),this.data=t.data}}var vr=function(r,A,t){if(A!=null){if(typeof A!="object"&&typeof A!="function")throw new TypeError("Object expected.");var n,o;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=A[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=A[Symbol.dispose],t&&(o=n)}if(typeof n!="function")throw new TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(g){return Promise.reject(g)}}),r.stack.push({value:A,dispose:n,async:t})}else t&&r.stack.push({async:!0});return A},Pr=function(r){return function(A){function t(I){A.error=A.hasError?new r(I,A.error,"An error was suppressed during disposal."):I,A.hasError=!0}var n,o=0;function g(){for(;n=A.stack.pop();)try{if(!n.async&&o===1)return o=0,A.stack.push(n),Promise.resolve().then(g);if(n.dispose){var I=n.dispose.call(n.value);if(n.async)return o|=2,Promise.resolve(I).then(g,function(a){return t(a),g()})}else o|=1}catch(a){t(a)}if(o===1)return A.hasError?Promise.reject(A.error):Promise.resolve();if(A.hasError)throw A.error}return g()}}(typeof SuppressedError=="function"?SuppressedError:function(r,A,t){var n=new Error(t);return n.name="SuppressedError",n.error=r,n.suppressed=A,n});class ae extends EventTarget{socket;#A=new AbortController;constructor(A){super(),this.socket=A,A.addEventListener("message",this.#e.bind(this),{signal:this.closing}),A.addEventListener("close",this.#n.bind(this),{signal:this.closing})}static async open(A,t,n,o=new AbortController().signal){const g={stack:[],error:void 0,hasError:!1};try{const I=vr(g,new DisposableStack,!1),a=new AbortController;I.defer(()=>a.abort());const c=await Pt.sign(t,A),u=new WebSocket(`${A}/?auth=${c}&projectId=${n}`),E=Promise.withResolvers();return I.defer(()=>E.reject()),E.promise.catch(()=>{}),u.addEventListener("open",E.resolve,{signal:a.signal}),o.addEventListener("abort",E.reject,{signal:a.signal}),await E.promise,new ae(u)}catch(I){g.error=I,g.hasError=!0}finally{Pr(g)}}[Symbol.dispose](){this.close()}addEventListener(A,t,n){super.addEventListener(A,t,n)}get closing(){return this.#A.signal}get relay(){return{protocol:"irn"}}#n(A){if(this.closing.aborted)return;const{reason:t}=A,n=new CloseEvent("close",{reason:t});this.dispatchEvent(n),this.#A.abort(t)}#e(A){if(typeof A.data!="string")return;const t=JSON.parse(A.data);"method"in t&&this.#t(t).catch(console.error)}async#t(A){const t=await st.runAndWrap(()=>this.#r(A)),n=SA.rewrap(A.id,t);this.socket.send(cA.stringify(n))}async#r(A){const t=new ft("request",{data:A});if(this.dispatchEvent(t),await t.extension,t.response!=null)return await t.response;throw new se}async subscribe(A){return await hA.request(this.socket,{method:"irn_subscribe",params:{topic:A}}).then(t=>t.getOrThrow())}async unsubscribe(A,t){await hA.request(this.socket,{method:"irn_unsubscribe",params:{id:A,topic:t}}).then(n=>n.getOrThrow())}async*fetch(A){for(;;){const t=await hA.request(this.socket,{method:"irn_fetchMessages",params:{topic:A}}).then(n=>n.getOrThrow());for(const n of t.messages)yield n;if(!t.hasMore)break}}async publish(A){await hA.request(this.socket,{method:"irn_publish",params:A}).then(t=>t.getOrThrow())}close(A){this.socket.close(void 0,A)}}class Me{constructor(){}size(){return 0}write(A){}clone(){return this}}(function(r){function A(t){return new r}r.read=A})(Me||(Me={}));var Wt;class Cn extends Error{cursorOffset;cursorLength;#A=Wt;name=this.#A.name;constructor(A,t){super(`Cursor has ${t-A} remaining bytes after read`),this.cursorOffset=A,this.cursorLength=t}static from(A){return new Wt(A.offset,A.length)}}Wt=Cn;var It;(function(r){function A(n,o){const g=new HA(o),I=n.read(g);if(g.remaining)throw Cn.from(g);return I}r.readFromBytes=A;function t(n,o){try{const g=new HA(o),I=n.read(g);return g.remaining?void 0:I}catch{return}}r.readFromBytesOrNull=t})(It||(It={}));class wA{bytes;constructor(A){this.bytes=A}size(){return this.bytes.length}write(A){A.write(this.bytes)}clone(){return new wA(new Uint8Array(this.bytes))}into(A){return It.readFromBytes(A,this.bytes)}}(function(r){function A(t){return new r(t.read(t.remaining))}r.read=A})(wA||(wA={}));var Xt;class Qn extends Error{cursorOffset;cursorLength;#A=Xt;name=this.#A.name;constructor(A,t){super(`Cursor has ${t-A} remaining bytes after write`),this.cursorOffset=A,this.cursorLength=t}static from(A){return new Xt(A.offset,A.length)}}Xt=Qn;var Bt;(function(r){function A(t){const n=t.size(),o=new Uint8Array(n),g=new HA(o);if(t.write(g),g.remaining)throw Qn.from(g);return o}r.writeToBytes=A})(Bt||(Bt={}));var $A,At;class En{fragment;constructor(A){this.fragment=A}encrypt(A,t){return new dt(t,A.encrypt(Bt.writeToBytes(this.fragment),t))}}class dt{iv;inner;constructor(A,t){this.iv=A,this.inner=t}decrypt(A){return new En(new wA(A.decrypt(this.inner,this.iv)))}size(){return this.iv.length+this.inner.length}write(A){A.write(this.iv),A.write(this.inner)}static read(A){const t=new Uint8Array(A.read(12)),n=new Uint8Array(A.read(A.remaining));return new dt(t,n)}}var Vt;(function(r){var A;class t extends Error{type;#A=A;name=this.#A.name;constructor(g){super(`Unknown type ${g}`),this.type=g}}A=t,r.UnknownTypeError=t;function n(o){const g=o.getUint8();if(g===0)return Ie.read(o);if(g===1)return hn.read(o);throw new t(g)}r.read=n})(Vt||(Vt={}));class Ie{fragment;#A=$A;static type=0;type=this.#A.type;constructor(A){this.fragment=A}size(){return 1+this.fragment.size()}write(A){A.writeUint8(this.type),this.fragment.write(A)}static read(A){const t=A.readUint8();if(t!==$A.type)throw new Error(`Invalid type-0 type ${t}`);const n=new Uint8Array(A.read(A.remaining)),o=new wA(n);return new $A(o)}}$A=Ie;class hn{sender;fragment;#A=At;static type=1;type=this.#A.type;constructor(A,t){this.sender=A,this.fragment=t}size(){return 1+this.sender.length+this.fragment.size()}write(A){A.writeUint8(this.type),A.write(this.sender),this.fragment.write(A)}static read(A){const t=A.readUint8();if(t!==At.type)throw new Error(`Invalid type ${t}`);const n=new Uint8Array(A.read(32)),o=new Uint8Array(A.read(A.remaining)),g=new wA(o);return new At(n,g)}}At=hn;let K;const un=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&un.decode();let qA=null;function Be(){return(qA===null||qA.byteLength===0)&&(qA=new Uint8Array(K.memory.buffer)),qA}function Se(r,A){return r=r>>>0,un.decode(Be().subarray(r,r+A))}function LA(r,A){if(!(r instanceof A))throw new Error(`expected instance of ${A.name}`)}function St(r){const A=K.__wbindgen_export_0.get(r);return K.__externref_table_dealloc(r),A}let ln=0;function jr(r,A){const t=A(r.length*1,1)>>>0;return Be().set(r,t/1),ln=r.length,t}typeof FinalizationRegistry>"u"||new FinalizationRegistry(r=>K.__wbg_chacha20cipher_free(r>>>0,1));const be=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(r=>K.__wbg_chacha20poly1305cipher_free(r>>>0,1));class Wr{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,be.unregister(this),A}[Symbol.dispose](){const A=this.__destroy_into_raw();K.__wbg_chacha20poly1305cipher_free(A,0)}constructor(A){LA(A,P);const t=K.chacha20poly1305cipher_new(A.__wbg_ptr);if(t[2])throw St(t[1]);return this.__wbg_ptr=t[0]>>>0,be.register(this,this.__wbg_ptr,this),this}encrypt(A,t){LA(A,P),LA(t,P);const n=K.chacha20poly1305cipher_encrypt(this.__wbg_ptr,A.__wbg_ptr,t.__wbg_ptr);if(n[2])throw St(n[1]);return P.__wrap(n[0])}decrypt(A,t){LA(A,P),LA(t,P);const n=K.chacha20poly1305cipher_decrypt(this.__wbg_ptr,A.__wbg_ptr,t.__wbg_ptr);if(n[2])throw St(n[1]);return P.__wrap(n[0])}}const bt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(r=>K.__wbg_memory_free(r>>>0,1));class P{static __wrap(A){A=A>>>0;const t=Object.create(P.prototype);return t.__wbg_ptr=A,t.__wbg_ptr0=K.memory_ptr(A)>>>0,t.__wbg_len0=K.memory_len(A)>>>0,bt.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,this.__wbg_ptr0=0,this.__wbg_len0=0,bt.unregister(this),A}[Symbol.dispose](){const A=this.__destroy_into_raw();K.__wbg_memory_free(A,0)}constructor(A){const t=jr(A,K.__wbindgen_malloc),n=ln,o=K.memory_new(t,n);return this.__wbg_ptr=o>>>0,this.__wbg_ptr0=t>>>0,this.__wbg_len0=n>>>0,bt.register(this,this.__wbg_ptr,this),this}ptr(){return this.__wbg_ptr0}len(){return this.__wbg_len0}get bytes(){return Be().subarray(this.__wbg_ptr0,this.__wbg_ptr0+this.__wbg_len0)}}async function Xr(r,A){if(typeof Response=="function"&&r instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(r,A)}catch(n){if(r.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",n);else throw n}const t=await r.arrayBuffer();return await WebAssembly.instantiate(t,A)}else{const t=await WebAssembly.instantiate(r,A);return t instanceof WebAssembly.Instance?{instance:t,module:r}:t}}function Vr(){const r={};return r.wbg={},r.wbg.__wbindgen_error_new=function(A,t){return new Error(Se(A,t))},r.wbg.__wbindgen_init_externref_table=function(){const A=K.__wbindgen_export_0,t=A.grow(4);A.set(0,void 0),A.set(t+0,void 0),A.set(t+1,null),A.set(t+2,!0),A.set(t+3,!1)},r.wbg.__wbindgen_throw=function(A,t){throw new Error(Se(A,t))},r}function Zr(r,A){return K=r.exports,wn.__wbindgen_wasm_module=A,qA=null,K.__wbindgen_start(),K}async function wn(r){if(K!==void 0)return K;if(typeof r<"u"&&(Object.getPrototypeOf(r)===Object.prototype?{module_or_path:r}=r:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof r>"u")throw new Error;const A=Vr();(typeof r=="string"||typeof Request=="function"&&r instanceof Request||typeof URL=="function"&&r instanceof URL)&&(r=fetch(r));const{instance:t,module:n}=await Xr(await r,A);return Zr(t,n)}const zr="data:application/wasm;base64,AGFzbQEAAAABggETYAAAYAABf2ABfwBgAX8Bf2ABfwN/f39gAn9/AGACf38Bf2ACf38Cf39gAn9/A39/f2ACf38Bb2ADf39/AGADf39/AX9gA39/fwN/f39gBH9/f38AYAR/f39/AX9gBX9/f39/AGAFf39/f38Bf2AGf39/f39/AX9gB39/f39/f38AAlkDA3diZxRfX3diaW5kZ2VuX2Vycm9yX25ldwAJA3diZxBfX3diaW5kZ2VuX3Rocm93AAUDd2JnH19fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZfdGFibGUAAAOSAZABAw8PBQUKBg4FBQsRCwILBgoFCgsGAgUSDQ0FBQUGBgsNBQMKBgYPBQUNDQ8PDwUKAgoKCgoFBQUPAQUNDQINDQIGBQ8KBQoFCgUDAwMLCwIGAwULCgoQDwIGAgwMAgUIBAIHBwYCAgYCBQoFAgYDDgsGBgYFBQUGBgYKBQYGBgUFBgYGAAAFBgUGBgULBQIGBAkCcAEiIm8AgAEFAwEAEQYJAX8BQYCAwAALB4kDEQZtZW1vcnkCACFfX3diZ19jaGFjaGEyMHBvbHkxMzA1Y2lwaGVyX2ZyZWUAHhpjaGFjaGEyMHBvbHkxMzA1Y2lwaGVyX25ldwBjHmNoYWNoYTIwcG9seTEzMDVjaXBoZXJfZW5jcnlwdABeHmNoYWNoYTIwcG9seTEzMDVjaXBoZXJfZGVjcnlwdABfGV9fd2JnX2NoYWNoYTIwY2lwaGVyX2ZyZWUAPRJjaGFjaGEyMGNpcGhlcl9uZXcAYhNjaGFjaGEyMGNpcGhlcl9zZWVrAGUeY2hhY2hhMjBjaXBoZXJfYXBwbHlfa2V5c3RyZWFtAGYRX193YmdfbWVtb3J5X2ZyZWUAOQptZW1vcnlfbmV3AFMKbWVtb3J5X3B0cgBNCm1lbW9yeV9sZW4AThNfX3diaW5kZ2VuX2V4cG9ydF8wAQEZX19leHRlcm5yZWZfdGFibGVfZGVhbGxvYwBAEV9fd2JpbmRnZW5fbWFsbG9jAFwQX193YmluZGdlbl9zdGFydAACCTYCAEEBCyGAAXWFAYQBgQGGAW9/SGlQIYoBd3h6VXmLAWhEKzqQAWtWIIwBjQF0e3woBEEiCwAKmp0CkAHMIwIJfwF+IwBBEGsiASQAAkACQAJAAkACQAJAAkACQCAA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
0x42dcd51e…043f·#25,775,362·0xf5dd8c5f…ed4bd7
8,15-g-1+1,I,!0):r.set(8,15-g-1,I,!0);r.set(n-8,8,1,!0)}function Ur(r,A){const t=r.size;let n=-1,o=t-1,g=7,I=0;for(let a=t-1;a>0;a-=2)for(a===6&&a--;;){for(let c=0;c<2;c++)if(!r.isReserved(o,a-c)){let u=!1;I<A.length&&(u=(A[I]>>>g&1)===1),r.set(o,a-c,u),g--,g===-1&&(I++,g=7)}if(o+=n,o<0||t<=o){o-=n,n=-n;break}}}function Jr(r,A,t){const n=new wr;t.forEach(function(c){n.put(c.mode.bit,4),n.put(c.getLength(),Nr.getCharCountIndicator(c.mode,r)),c.write(n)});const o=wt.getSymbolTotalCodewords(r),g=Kt.getTotalCodewordsCount(r,A),I=(o-g)*8;for(n.getLengthInBits()+4<=I&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);const a=(I-n.getLengthInBits())/8;for(let c=0;c<a;c++)n.put(c%2?17:236,8);return Yr(n,r,A)}function Yr(r,A,t){const n=wt.getSymbolTotalCodewords(A),o=Kt.getTotalCodewordsCount(A,t),g=n-o,I=Kt.getBlocksCount(A,t),a=n%I,c=I-a,u=Math.floor(n/I),E=Math.floor(g/I),l=E+1,f=u-E,w=new yr(f);let d=0;const y=new Array(I),J=new Array(I);let D=0;const F=new Uint8Array(r.buffer);for(let x=0;x<I;x++){const W=x<c?E:l;y[x]=F.slice(d,d+W),J[x]=w.encode(y[x]),d+=W,D=Math.max(D,W)}const N=new Uint8Array(n);let m=0,G,Y;for(G=0;G<D;G++)for(Y=0;Y<I;Y++)G<y[Y].length&&(N[m++]=y[Y][G]);for(G=0;G<f;G++)for(Y=0;Y<I;Y++)N[m++]=J[Y][G];return N}function Mr(r,A,t,n){let o;if(Array.isArray(r))o=Ut.fromArray(r);else if(typeof r=="string"){let u=A;if(!u){const E=Ut.rawSplit(r);u=rt.getBestVersionForData(E,t)}o=Ut.fromString(r,u||40)}else throw new Error("Invalid data");const g=rt.getBestVersionForData(o,t);if(!g)throw new Error("The amount of data is too big to be stored in a QR Code");if(!A)A=g;else if(A<g)throw new Error(` The chosen QR Code version cannot contain this amount of data. Minimum version required to store current data is: `+g+`. `);const I=Jr(A,t,o),a=wt.getSymbolSize(A),c=new fr(a);return mr(c,A),Fr(c),kr(c,A),Jt(c,t,0),A>=7&&Gr(c,A),Ur(c,I),isNaN(n)&&(n=xt.getBestMask(c,Jt.bind(null,c,t))),xt.applyMask(n,c),Jt(c,t,n),{modules:c,version:A,errorCorrectionLevel:t,maskPattern:n,segments:o}}He.create=function(A,t){if(typeof A>"u"||A==="")throw new Error("No input text");let n=Gt.M,o,g;return typeof t<"u"&&(n=Gt.from(t.errorCorrectionLevel,Gt.M),o=rt.from(t.version),g=xt.from(t.maskPattern),t.toSJISFunc&&wt.setToSJISFunction(t.toSJISFunc)),Mr(A,o,n,g)};var An={},ie={};(function(r){function A(t){if(typeof t=="number"&&(t=t.toString()),typeof t!="string")throw new Error("Color should be defined as hex string");let n=t.slice().replace("#","").split("");if(n.length<3||n.length===5||n.length>8)throw new Error("Invalid hex color: "+t);(n.length===3||n.length===4)&&(n=Array.prototype.concat.apply([],n.map(function(g){return[g,g]}))),n.length===6&&n.push("F","F");const o=parseInt(n.join(""),16);return{r:o>>24&255,g:o>>16&255,b:o>>8&255,a:o&255,hex:"#"+n.slice(0,6).join("")}}r.getOptions=function(n){n||(n={}),n.color||(n.color={});const o=typeof n.margin>"u"||n.margin===null||n.margin<0?4:n.margin,g=n.width&&n.width>=21?n.width:void 0,I=n.scale||4;return{width:g,scale:g?4:I,margin:o,color:{dark:A(n.color.dark||"#000000ff"),light:A(n.color.light||"#ffffffff")},type:n.type,rendererOpts:n.rendererOpts||{}}},r.getScale=function(n,o){return o.width&&o.width>=n+o.margin*2?o.width/(n+o.margin*2):o.scale},r.getImageWidth=function(n,o){const g=r.getScale(n,o);return Math.floor((n+o.margin*2)*g)},r.qrToImageData=function(n,o,g){const I=o.modules.size,a=o.modules.data,c=r.getScale(I,g),u=Math.floor((I+g.margin*2)*c),E=g.margin*c,l=[g.color.light,g.color.dark];for(let f=0;f<u;f++)for(let w=0;w<u;w++){let d=(f*u+w)*4,y=g.color.light;if(f>=E&&w>=E&&f<u-E&&w<u-E){const J=Math.floor((f-E)/c),D=Math.floor((w-E)/c);y=l[a[J*I+D]?1:0]}n[d++]=y.r,n[d++]=y.g,n[d++]=y.b,n[d]=y.a}}})(ie);(function(r){const A=ie;function t(o,g,I){o.clearRect(0,0,g.width,g.height),g.style||(g.style={}),g.height=I,g.width=I,g.style.height=I+"px",g.style.width=I+"px"}function n(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}r.render=function(g,I,a){let c=a,u=I;typeof c>"u"&&(!I||!I.getContext)&&(c=I,I=void 0),I||(u=n()),c=A.getOptions(c);const E=A.getImageWidth(g.modules.size,c),l=u.getContext("2d"),f=l.createImageData(E,E);return A.qrToImageData(f.data,g,c),t(l,u,E),l.putImageData(f,0,0),u},r.renderToDataURL=function(g,I,a){let c=a;typeof c>"u"&&(!I||!I.getContext)&&(c=I,I=void 0),c||(c={});const u=r.render(g,I,c),E=c.type||"image/png",l=c.rendererOpts||{};return u.toDataURL(E,l.quality)}})(An);var tn={};const Sr=ie;function Ye(r,A){const t=r.a/255,n=A+'="'+r.hex+'"';return t<1?n+" "+A+'-opacity="'+t.toFixed(2).slice(1)+'"':n}function Yt(r,A,t){let n=r+A;return typeof t<"u"&&(n+=" "+t),n}function br(r,A,t){let n="",o=0,g=!1,I=0;for(let a=0;a<r.length;a++){const c=Math.floor(a%A),u=Math.floor(a/A);!c&&!g&&(g=!0),r[a]?(I++,a>0&&c>0&&r[a-1]||(n+=g?Yt("M",c+t,.5+u+t):Yt("m",o,0),o=0,g=!1),c+1<A&&r[a+1]||(n+=Yt("h",I),I=0)):o++}return n}tn.render=function(A,t,n){const o=Sr.getOptions(t),g=A.modules.size,I=A.modules.data,a=g+o.margin*2,c=o.color.light.a?"<path "+Ye(o.color.light,"fill")+' d="M0 0h'+a+"v"+a+'H0z"/>':"",u="<path "+Ye(o.color.dark,"stroke")+' d="'+br(I,g,o.margin)+'"/>',E='viewBox="0 0 '+a+" "+a+'"',f='<svg xmlns="http://www.w3.org/2000/svg" '+(o.width?'width="'+o.width+'" height="'+o.width+'" ':"")+E+' shape-rendering="crispEdges">'+c+u+`</svg> `;return typeof n=="function"&&n(null,f),f};const Rr=Zn,Ht=He,en=An,Lr=tn;function oe(r,A,t,n,o){const g=[].slice.call(arguments,1),I=g.length,a=typeof g[I-1]=="function";if(!a&&!Rr())throw new Error("Callback required as last argument");if(a){if(I<2)throw new Error("Too few arguments provided");I===2?(o=t,t=A,A=n=void 0):I===3&&(A.getContext&&typeof o>"u"?(o=n,n=void 0):(o=n,n=t,t=A,A=void 0))}else{if(I<1)throw new Error("Too few arguments provided");return I===1?(t=A,A=n=void 0):I===2&&!A.getContext&&(n=t,t=A,A=void 0),new Promise(function(c,u){try{const E=Ht.create(t,n);c(r(E,A,n))}catch(E){u(E)}})}try{const c=Ht.create(t,n);o(null,r(c,A,n))}catch(c){o(c)}}vA.create=Ht.create;vA.toCanvas=oe.bind(null,en.render);vA.toDataURL=oe.bind(null,en.renderToDataURL);vA.toString=oe.bind(null,function(r,A,t){return Lr.render(r,t)});var it;(function(r){const A=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g;function t(o){function g(I,a){return typeof a!="bigint"?a:`${a.toString()}n`}return JSON.stringify(o,g)}r.stringify=t;function n(o){const g=o.replace(A,'$1"$2n"$3');function I(a,c){return typeof c!="string"||!c.match(/^\d+n$/)?c:BigInt(c.slice(0,-1))}return JSON.parse(g,I)}r.parse=n})(it||(it={}));var cA;(function(r){function A(n){return typeof n=="string"?n:it.stringify(n)}r.stringify=A;function t(n){try{return it.parse(n)}catch{return n}}r.parse=t})(cA||(cA={}));var Tt;(function(r){function A(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}r.fromView=A})(Tt||(Tt={}));var _t,Ot;class nn extends Error{cursorOffset;cursorLength;bytesLength;#A=_t;name=this.#A.name;constructor(A,t,n){super(`Overflow reading ${n} bytes at offset ${A}/${t}`),this.cursorOffset=A,this.cursorLength=t,this.bytesLength=n}static from(A,t){return new _t(A.offset,A.length,t)}}_t=nn;class rn extends Error{cursorOffset;cursorLength;bytesLength;#A=Ot;name=this.#A.name;constructor(A,t,n){super(`Overflow writing ${n} bytes at offset ${A}/${t}`),this.cursorOffset=A,this.cursorLength=t,this.bytesLength=n}static from(A,t){return new Ot(A.offset,A.length,t)}}Ot=rn;class HA{bytes;data;offset=0;constructor(A){this.bytes=A,this.data=Tt.fromView(A)}get length(){return this.bytes.length}get remaining(){return this.length-this.offset}get before(){return this.bytes.subarray(0,this.offset)}get after(){return this.bytes.subarray(this.offset)}get(A){if(this.remaining<A)throw nn.from(this,A);return this.bytes.subarray(this.offset,this.offset+A)}read(A){const t=this.get(A);return this.offset+=A,t}set(A){if(this.remaining<A.length)throw rn.from(this,A.length);this.bytes.set(A,this.offset)}write(A){this.set(A),this.offset+=A.length}getUint8(){return this.data.getUint8(this.offset)}readUint8(){const A=this.getUint8();return this.offset++,A}setUint8(A){this.data.setUint8(this.offset,A)}writeUint8(A){this.setUint8(A),this.offset++}getInt8(){return this.data.getInt8(this.offset)}readInt8(){const A=this.getInt8();return this.offset++,A}setInt8(A){this.data.setInt8(this.offset,A)}writeInt8(A){this.setInt8(A),this.offset++}getUint16(A){return this.data.getUint16(this.offset,A)}readUint16(A){const t=this.getUint16(A);return this.offset+=2,t}setUint16(A,t){this.data.setUint16(this.offset,A,t)}writeUint16(A,t){this.setUint16(A,t),this.offset+=2}getInt16(A){return this.data.getInt16(this.offset,A)}readInt16(A){const t=this.getInt16(A);return this.offset+=2,t}setInt16(A,t){this.data.setInt16(this.offset,A,t)}writeInt16(A,t){this.setInt16(A,t),this.offset+=2}getUint24(A){return A?this.bytes[this.offset]|this.bytes[this.offset+1]<<8|this.bytes[this.offset+2]<<16:this.bytes[this.offset]<<16|this.bytes[this.offset+1]<<8|this.bytes[this.offset+2]}readUint24(A){const t=this.getUint24(A);return this.offset+=3,t}setUint24(A,t){t?(this.bytes[this.offset]=A&255,this.bytes[this.offset+1]=A>>8&255,this.bytes[this.offset+2]=A>>16&255):(this.bytes[this.offset]=A>>16&255,this.bytes[this.offset+1]=A>>8&255,this.bytes[this.offset+2]=A&255)}writeUint24(A,t){this.setUint24(A,t),this.offset+=3}getUint32(A){return this.data.getUint32(this.offset,A)}readUint32(A){const t=this.getUint32(A);return this.offset+=4,t}setUint32(A,t){this.data.setUint32(this.offset,A,t)}writeUint32(A,t){this.setUint32(A,t),this.offset+=4}getInt32(A){return this.data.getInt32(this.offset,A)}readInt32(A){const t=this.getInt32(A);return this.offset+=4,t}setInt32(A,t){this.data.setInt32(this.offset,A,t)}writeInt32(A,t){this.setInt32(A,t),this.offset+=4}getBigUint64(A){return this.data.getBigUint64(this.offset,A)}readBigUint64(A){const t=this.getBigUint64(A);return this.offset+=8,t}setBigUint64(A,t){this.data.setBigUint64(this.offset,A,t)}writeBigUint64(A,t){this.setBigUint64(A,t),this.offset+=8}getBigInt64(A){return this.data.getBigInt64(this.offset,A)}readBigInt64(A){const t=this.getBigInt64(A);return this.offset+=8,t}setBigInt64(A,t){this.data.setBigInt64(this.offset,A,t)}writeBigInt64(A,t){this.setBigInt64(A,t),this.offset+=8}getFloat16(A){return this.data.getFloat16(this.offset,A)}readFloat16(A){const t=this.getFloat16(A);return this.offset+=2,t}setFloat16(A,t){this.data.setFloat16(this.offset,A,t)}writeFloat16(A,t){this.setFloat16(A,t),this.offset+=2}getFloat32(A){return this.data.getFloat32(this.offset,A)}readFloat32(A){const t=this.getFloat32(A);return this.offset+=4,t}setFloat32(A,t){this.data.setFloat32(this.offset,A,t)}writeFloat32(A,t){this.setFloat32(A,t),this.offset+=4}getFloat64(A){return this.data.getFloat64(this.offset,A)}readFloat64(A){const t=this.getFloat64(A);return this.offset+=8,t}setFloat64(A,t){this.data.setFloat64(this.offset,A,t)}writeFloat64(A,t){this.setFloat64(A,t),this.offset+=8}}var ot;(function(r){async function A(n){const o=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,112,4,34,4,32]),g=new HA(new Uint8Array(o.length+n.length));return g.write(o),g.write(n),await crypto.subtle.importKey("pkcs8",g.bytes,"Ed25519",!0,["sign"])}r.importKey=A;async function t(n){const o=await crypto.subtle.exportKey("jwk",n);return delete o.d,delete o.key_ops,await crypto.subtle.importKey("jwk",o,"Ed25519",!0,["verify"])}r.publishKey=t})(ot||(ot={}));var gt;(function(r){function A(n){return n.toHex()}r.encode=A;function t(n){return Uint8Array.fromHex("0".repeat(n.length%2)+n)}r.decode=t})(gt||(gt={}));var vt;(function(r){r.alphabet="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function A(n){if(n.length===0)return"";let o=0;for(;o<n.length&&n[o]===0;)o++;if(o===n.length)return"1".repeat(o);let g="";for(let I=BigInt(`0x${gt.encode(n)}`);I>0n;I=I/58n)g=r.alphabet[Number(I%58n)]+g;return"1".repeat(o)+g}r.encode=A;function t(n){if(n.length===0)return new Uint8Array(0);let o=0;for(;o<n.length&&n[o]==="1";)o++;if(o===n.length)return new Uint8Array(o);let g=BigInt(0);for(let I=o;I<n.length;I++)g=g*58n+BigInt(r.alphabet.indexOf(n[I]));return gt.decode("00".repeat(o)+g.toString(16))}r.decode=t})(vt||(vt={}));var Pt;(function(r){async function A(t,n){const I={alg:"EdDSA",typ:"JWT"},a=new Uint8Array([237,1]),c=await ot.importKey(t),u=await ot.publishKey(c),E=new Uint8Array(await crypto.subtle.exportKey("raw",u)),l=new HA(new Uint8Array(a.length+E.length));l.write(a),l.write(E);const f=`did:key:z${vt.encode(l.bytes)}`,w=crypto.getRandomValues(new Uint8Array(32)).toHex(),d=Math.floor(Date.now()/1e3),y=24*60*60,J=d+y,D={iss:f,sub:w,aud:n,iat:d,exp:J},F=new TextEncoder().encode(cA.stringify(I)).toBase64({alphabet:"base64url",omitPadding:!0}),N=new TextEncoder().encode(cA.stringify(D)).toBase64({alphabet:"base64url",omitPadding:!0}),m=new TextEncoder().encode(`${F}.${N}`),Y=new Uint8Array(await crypto.subtle.sign("Ed25519",c,m)).toBase64({alphabet:"base64url",omitPadding:!0});return`${F}.${N}.${Y}`}r.sign=A})(Pt||(Pt={}));class ge{id;method;params;jsonrpc="2.0";constructor(A,t,n){this.id=A,this.method=t,this.params=n}static from(A){const{id:t,method:n,params:o}=A;return new ge(t,n,o)}toJSON(){const{jsonrpc:A,id:t,method:n,params:o}=this;return{jsonrpc:A,id:t,method:n,params:o}}}var jt;(function(r){function A(n){return Array.isArray(n)?n.map(A):n instanceof Error?{name:n.name,message:n.message,cause:A(n.cause)}:n}r.toJSON=A;function t(n){return JSON.stringify(A(n))}r.toString=t})(jt||(jt={}));var on;class yA extends Error{#A=on;name=this.#A.name;constructor(A){super(void 0,{cause:A})}}on=yA;(function(r){function A(t){return t instanceof Error?t:new r(t)}r.wrapAsError=A})(yA||(yA={}));class R{inner;constructor(A){this.inner=A}static new(A){return new R(A)}static void(){return new R(void 0)}static error(A,t){return new R(new Error(A,t))}[Symbol.dispose](){this.inner[Symbol.dispose]()}async[Symbol.asyncDispose](){await this.inner[Symbol.asyncDispose]()}isOk(){return!1}isOkAnd(A){return!1}isOkAndSync(A){return!1}isErr(){return!0}async isErrAnd(A){return await A(this.inner)}isErrAndSync(A){return A(this.inner)}get(){throw new Error}getErr(){return this.inner}getAny(){return this.inner}ok(){return new uA}err(){return new IA(this.inner)}*[Symbol.iterator](){}split(){return[void 0,this.inner]}contains(A){return!1}containsErr(A){return this.inner===A}getOrThrow(){throw this.inner}getErrOrThrow(){return this.inner}getOrNull(){return null}getErrOrNull(){return this.inner}getOr(A){return A}async getOrElse(A){return await A(this.inner)}getOrElseSync(A){return A(this.inner)}checkOrThrow(){throw this.inner}checkErrOrThrow(){return this}checkOrNull(){return null}checkErrOrNull(){return this}await(){return this}async awaitErr(){return new R(await this.inner)}async awaitAll(){return await this.awaitErr()}clear(){return this}clearErr(){return R.void()}inspect(A){return this}inspectSync(A){return this}async inspectErr(A){return await A(this.inner),this}inspectErrSync(A){return A(this.inner),this}set(A){return this}setErr(A){return new R(A)}map(A){return this}mapSync(A){return this}async mapErr(A){return new R(await A(this.inner))}mapErrSync(A){return new R(A(this.inner))}mapOr(A,t){return A}mapOrSync(A,t){return A}async mapOrElse(A,t){return await A(this.inner)}mapOrElseSync(A,t){return A(this.inner)}and(A){return this}andThen(A){return this}andThenSync(A){return this}or(A){return A}async orElse(A){return await A(this.inner)}orElseSync(A){return A(this.inner)}flatten(){return this}}class _{inner;constructor(A){this.inner=A}static new(A){return new _(A)}static void(){return new _(void 0)}[Symbol.dispose](){this.inner[Symbol.dispose]()}async[Symbol.asyncDispose](){await this.inner[Symbol.asyncDispose]()}isOk(){return!0}async isOkAnd(A){return await A(this.inner)}isOkAndSync(A){return A(this.inner)}isErr(){return!1}isErrAnd(A){return!1}isErrAndSync(A){return!1}get(){return this.inner}getErr(){throw new Error}getAny(){return this.inner}ok(){return new IA(this.inner)}err(){return new uA}*[Symbol.iterator](){yield this.inner}split(){return[this.inner,void 0]}contains(A){return this.inner===A}containsErr(A){return!1}getOrThrow(){return this.inner}getErrOrThrow(){throw this.inner}getOrNull(){return this.inner}getErrOrNull(){return null}getOr(A){return this.inner}getOrElse(A){return this.inner}getOrElseSync(A){return this.inner}checkOrThrow(){return this}checkErrOrThrow(){throw this.inner}checkOrNull(){return this}checkErrOrNull(){return null}async await(){return new _(await this.inner)}awaitErr(){return this}async awaitAll(){return await this.await()}clear(){return _.void()}clearErr(){return this}async inspect(A){return await A(this.inner),this}inspectSync(A){return A(this.inner),this}inspectErr(A){return this}inspectErrSync(A){return this}set(A){return new _(A)}setErr(A){return this}async map(A){return new _(await A(this.inner))}mapSync(A){return new _(A(this.inner))}mapErr(A){return this}mapErrSync(A){return this}async mapOr(A,t){return await t(this.inner)}mapOrSync(A,t){return t(this.inner)}async mapOrElse(A,t){return await t(this.inner)}mapOrElseSync(A,t){return t(this.inner)}and(A){return A}async andThen(A){return await A(this.inner)}andThenSync(A){return A(this.inner)}or(A){return this}orElse(A){return this}orElseSync(A){return this}flatten(){return this.inner}}var st;(function(r){function A(E){return E?_.void():R.void()}r.assert=A;async function t(E){try{return new _(await E())}catch(l){return new R(l)}}r.runAndWrap=t;function n(E){try{return new _(E())}catch(l){return new R(l)}}r.runAndWrapSync=n;async function o(E){try{return new _(await E())}catch(l){return new R(yA.wrapAsError(l))}}r.runAndWrapAsError=o;function g(E){try{return new _(E())}catch(l){return new R(yA.wrapAsError(l))}}r.runAndWrapAsErrorSync=g;async function I(E){try{return await E()}catch(l){return new R(l)}}r.runOrWrap=I;function a(E){try{return E()}catch(l){return new R(l)}}r.runOrWrapSync=a;async function c(E){try{return await E()}catch(l){return new R(yA.wrapAsError(l))}}r.runOrWrapAsError=c;function u(E){try{return E()}catch(l){return new R(yA.wrapAsError(l))}}r.runOrWrapAsErrorSync=u})(st||(st={}));class Mt extends Error{constructor(){super("Option is a None")}}class uA{inner;constructor(A=void 0){this.inner=A}static new(){return new uA}*[Symbol.iterator](){}isSome(){return!1}isSomeAnd(A){return!1}isSomeAndSync(A){return!1}isNone(){return!0}get(){throw new Mt}getOrThrow(){throw new Mt}getOrNull(){}getOr(A){return A}async getOrElse(A){return await A()}getOrElseSync(A){return A()}ok(){return new R(new Mt)}okOr(A){return new R(A)}async okOrElse(A){return new R(await A())}okOrElseSync(A){return new R(A())}filter(A){return this}filterSync(A){return this}await(){return this}contains(A){return!1}inspect(A){return this}inspectSync(A){return this}map(A){return this}mapSync(A){return this}mapOr(A,t){return A}mapOrSync(A,t){return A}async mapOrElse(A,t){return await A()}mapOrElseSync(A,t){return A()}and(A){return this}andThen(A){return this}andThenSync(A){return this}or(A){return A}async orElse(A){return await A()}orElseSync(A){return A()}xor(A){return A}zip(A){return this}}class IA{inner;constructor(A){this.inner=A}static new(A){return new IA(A)}*[Symbol.iterator](){yield this.inner}isSome(){return!0}async isSomeAnd(A){return await A(this.inner)}isSomeAndSync(A){return A(this.inner)}isNone(){return!1}get(){return this.inner}getOrThrow(){return this.inner}getOrNull(){return this.inner}getOr(A){return this.inner}getOrElse(A){return this.inner}getOrElseSync(A){return this.inner}ok(){return new _(this.inner)}okOr(A){return new _(this.inner)}okOrElse(A){return new _(this.inner)}okOrElseSync(A){return new _(this.inner)}async filter(A){return await A(this.inner)?this:new uA}filterSync(A){return A(this.inner)?this:new uA}async await(){return new IA(await this.inner)}contains(A){return this.inner===A}async inspect(A){return await A(this.inner),this}inspectSync(A){return A(this.inner),this}async map(A){return new IA(await A(this.inner))}mapSync(A){return new IA(A(this.inner))}async mapOr(A,t){return await t(this.inner)}mapOrSync(A,t){return t(this.inner)}async mapOrElse(A,t){return await t(this.inner)}mapOrElseSync(A,t){return t(this.inner)}and(A){return A}async andThen(A){return await A(this.inner)}andThenSync(A){return A(this.inner)}or(A){return this}orElse(A){return this}orElseSync(A){return this}xor(A){return A.isSome()?new uA:this}zip(A){return A.isSome()?new IA([this.inner,A.inner]):A}}var at;(function(r){function A(t){return t==null?new uA:new IA(t)}r.wrap=A})(at||(at={}));var zA,gn,sn,an,In,Bn;class U extends Error{code;message;data;#A=zA;name=this.#A.name;static codes={ParseError:-32700,InvalidRequest:-32600,MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603};static messages={ParseError:"Parse error",InvalidRequest:"Invalid Request",MethodNotFound:"Method not found",InvalidParams:"Invalid params",InternalError:"Internal error",ServerError:"Server error"};constructor(A,t,n=void 0){super(t),this.code=A,this.message=t,this.data=n}static from(A){const{code:t,message:n,data:o}=A;return new zA(t,n,o)}static rewrap(A){return A instanceof zA?A:new cn(jt.toString(A))}toJSON(){const{code:A,message:t,data:n}=this;return{code:A,message:t,data:n}}}zA=U;class qr extends U{#A=gn;name=this.#A.name;static code=U.codes.ParseError;static message=U.messages.ParseError;constructor(A=U.messages.ParseError){super(U.codes.ParseError,A)}}gn=qr;class se extends U{#A=sn;name=this.#A.name;static code=U.codes.InvalidRequest;static message=U.messages.InvalidRequest;constructor(A=U.messages.InvalidRequest){super(U.codes.InvalidRequest,A)}}sn=se;class xr extends U{#A=an;name=this.#A.name;static code=U.codes.MethodNotFound;static message=U.messages.MethodNotFound;constructor(A=U.messages.MethodNotFound){super(U.codes.MethodNotFound,A)}}an=xr;class Kr extends U{#A=In;name=this.#A.name;static code=U.codes.InvalidParams;static message=U.messages.InvalidParams;constructor(A=U.messages.InvalidParams){super(U.codes.InvalidParams,A)}}In=Kr;class cn extends U{#A=Bn;name=this.#A.name;static code=U.codes.InternalError;static message=U.messages.InternalError;constructor(A=U.messages.InternalError){super(U.codes.InternalError,A)}}Bn=cn;class TA extends R{id;error;jsonrpc="2.0";constructor(A,t){super(t),this.id=A,this.error=t}static from(A){return new TA(A.id,U.from(A.error))}static rewrap(A,t){return new TA(A,U.rewrap(t.inner))}toJSON(){const{jsonrpc:A,id:t}=this,n=this.error.toJSON();return{jsonrpc:A,id:t,error:n}}}class _A extends _{id;result;jsonrpc="2.0";constructor(A,t){super(t),this.id=A,this.result=t}static from(A){return new _A(A.id,A.result)}static rewrap(A,t){return new _A(A,t.inner)}toJSON(){const{jsonrpc:A,id:t,result:n}=this;return{jsonrpc:A,id:t,result:n}}}var SA;(function(r){function A(n){if("error"in n)return TA.from(n);if("result"in n)return _A.from(n);throw new Error}r.from=A;function t(n,o){return o.isOk()?_A.rewrap(n,o):TA.rewrap(n,o)}r.rewrap=t})(SA||(SA={}));var Hr=function(r,A,t){if(A!=null){if(typeof A!="object"&&typeof A!="function")throw new TypeError("Object expected.");var n,o;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=A[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=A[Symbol.dispose],t&&(o=n)}if(typeof n!="function")throw new TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(g){return Promise.reject(g)}}),r.stack.push({value:A,dispose:n,async:t})}else t&&r.stack.push({async:!0});return A},Tr=function(r){return function(A){function t(I){A.error=A.hasError?new r(I,A.error,"An error was suppressed during disposal."):I,A.hasError=!0}var n,o=0;function g(){for(;n=A.stack.pop();)try{if(!n.async&&o===1)return o=0,A.st
0x42dcd51e…043f·#25,775,360·0xc31e2eb4…a17814
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>svZCHF — Swiss savings, one click</title> <meta name="description" content="Deposit ZCHF into the Frankencoin Savings Vault (svZCHF). Approve and deposit in one transaction." /> <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' fill='%23ff0000'/%3E%3Cpath d='M13 7h6v6h6v6h-6v6h-6v-6H7v-6h6z' fill='white'/%3E%3C/svg%3E" /> <script type="module"> (function(){const A=document.createElement("link").relList;if(A&&A.supports&&A.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const g of o)if(g.type==="childList")for(const I of g.addedNodes)I.tagName==="LINK"&&I.rel==="modulepreload"&&n(I)}).observe(document,{childList:!0,subtree:!0});function t(o){const g={};return o.integrity&&(g.integrity=o.integrity),o.referrerPolicy&&(g.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?g.credentials="include":o.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function n(o){if(o.ep)return;o.ep=!0;const g=t(o);fetch(o.href,g)}})();var xe={},Et={};Et.byteLength=vn;Et.toByteArray=jn;Et.fromByteArray=Vn;var gA=[],z=[],_n=typeof Uint8Array<"u"?Uint8Array:Array,Ft="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var kA=0,On=Ft.length;kA<On;++kA)gA[kA]=Ft[kA],z[Ft.charCodeAt(kA)]=kA;z[45]=62;z[95]=63;function Ke(r){var A=r.length;if(A%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=A);var n=t===A?0:4-t%4;return[t,n]}function vn(r){var A=Ke(r),t=A[0],n=A[1];return(t+n)*3/4-n}function Pn(r,A,t){return(A+t)*3/4-t}function jn(r){var A,t=Ke(r),n=t[0],o=t[1],g=new _n(Pn(r,n,o)),I=0,a=o>0?n-4:n,c;for(c=0;c<a;c+=4)A=z[r.charCodeAt(c)]<<18|z[r.charCodeAt(c+1)]<<12|z[r.charCodeAt(c+2)]<<6|z[r.charCodeAt(c+3)],g[I++]=A>>16&255,g[I++]=A>>8&255,g[I++]=A&255;return o===2&&(A=z[r.charCodeAt(c)]<<2|z[r.charCodeAt(c+1)]>>4,g[I++]=A&255),o===1&&(A=z[r.charCodeAt(c)]<<10|z[r.charCodeAt(c+1)]<<4|z[r.charCodeAt(c+2)]>>2,g[I++]=A>>8&255,g[I++]=A&255),g}function Wn(r){return gA[r>>18&63]+gA[r>>12&63]+gA[r>>6&63]+gA[r&63]}function Xn(r,A,t){for(var n,o=[],g=A;g<t;g+=3)n=(r[g]<<16&16711680)+(r[g+1]<<8&65280)+(r[g+2]&255),o.push(Wn(n));return o.join("")}function Vn(r){for(var A,t=r.length,n=t%3,o=[],g=16383,I=0,a=t-n;I<a;I+=g)o.push(Xn(r,I,I+g>a?a:I+g));return n===1?(A=r[t-1],o.push(gA[A>>2]+gA[A<<4&63]+"==")):n===2&&(A=(r[t-2]<<8)+r[t-1],o.push(gA[A>>10]+gA[A>>4&63]+gA[A<<2&63]+"=")),o.join("")}var te={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */te.read=function(r,A,t,n,o){var g,I,a=o*8-n-1,c=(1<<a)-1,u=c>>1,E=-7,l=t?o-1:0,f=t?-1:1,w=r[A+l];for(l+=f,g=w&(1<<-E)-1,w>>=-E,E+=a;E>0;g=g*256+r[A+l],l+=f,E-=8);for(I=g&(1<<-E)-1,g>>=-E,E+=n;E>0;I=I*256+r[A+l],l+=f,E-=8);if(g===0)g=1-u;else{if(g===c)return I?NaN:(w?-1:1)*(1/0);I=I+Math.pow(2,n),g=g-u}return(w?-1:1)*I*Math.pow(2,g-n)};te.write=function(r,A,t,n,o,g){var I,a,c,u=g*8-o-1,E=(1<<u)-1,l=E>>1,f=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=n?0:g-1,d=n?1:-1,y=A<0||A===0&&1/A<0?1:0;for(A=Math.abs(A),isNaN(A)||A===1/0?(a=isNaN(A)?1:0,I=E):(I=Math.floor(Math.log(A)/Math.LN2),A*(c=Math.pow(2,-I))<1&&(I--,c*=2),I+l>=1?A+=f/c:A+=f*Math.pow(2,1-l),A*c>=2&&(I++,c/=2),I+l>=E?(a=0,I=E):I+l>=1?(a=(A*c-1)*Math.pow(2,o),I=I+l):(a=A*Math.pow(2,l-1)*Math.pow(2,o),I=0));o>=8;r[t+w]=a&255,w+=d,a/=256,o-=8);for(I=I<<o|a,u+=o;u>0;r[t+w]=I&255,w+=d,I/=256,u-=8);r[t+w-d]|=y*128};/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh <https://feross.org> * @license MIT */(function(r){const A=Et,t=te,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;r.Buffer=a,r.SlowBuffer=F,r.INSPECT_MAX_BYTES=50;const o=2147483647;r.kMaxLength=o,a.TYPED_ARRAY_SUPPORT=g(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function g(){try{const s=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(s,e),s.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function I(s){if(s>o)throw new RangeError('The value "'+s+'" is invalid for option "size"');const e=new Uint8Array(s);return Object.setPrototypeOf(e,a.prototype),e}function a(s,e,i){if(typeof s=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(s)}return c(s,e,i)}a.poolSize=8192;function c(s,e,i){if(typeof s=="string")return f(s,e);if(ArrayBuffer.isView(s))return d(s);if(s==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof s);if(iA(s,ArrayBuffer)||s&&iA(s.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(iA(s,SharedArrayBuffer)||s&&iA(s.buffer,SharedArrayBuffer)))return y(s,e,i);if(typeof s=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const B=s.valueOf&&s.valueOf();if(B!=null&&B!==s)return a.from(B,e,i);const C=J(s);if(C)return C;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof s[Symbol.toPrimitive]=="function")return a.from(s[Symbol.toPrimitive]("string"),e,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof s)}a.from=function(s,e,i){return c(s,e,i)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function u(s){if(typeof s!="number")throw new TypeError('"size" argument must be of type number');if(s<0)throw new RangeError('The value "'+s+'" is invalid for option "size"')}function E(s,e,i){return u(s),s<=0?I(s):e!==void 0?typeof i=="string"?I(s).fill(e,i):I(s).fill(e):I(s)}a.alloc=function(s,e,i){return E(s,e,i)};function l(s){return u(s),I(s<0?0:D(s)|0)}a.allocUnsafe=function(s){return l(s)},a.allocUnsafeSlow=function(s){return l(s)};function f(s,e){if((typeof e!="string"||e==="")&&(e="utf8"),!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const i=N(s,e)|0;let B=I(i);const C=B.write(s,e);return C!==i&&(B=B.slice(0,C)),B}function w(s){const e=s.length<0?0:D(s.length)|0,i=I(e);for(let B=0;B<e;B+=1)i[B]=s[B]&255;return i}function d(s){if(iA(s,Uint8Array)){const e=new Uint8Array(s);return y(e.buffer,e.byteOffset,e.byteLength)}return w(s)}function y(s,e,i){if(e<0||s.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(s.byteLength<e+(i||0))throw new RangeError('"length" is outside of buffer bounds');let B;return e===void 0&&i===void 0?B=new Uint8Array(s):i===void 0?B=new Uint8Array(s,e):B=new Uint8Array(s,e,i),Object.setPrototypeOf(B,a.prototype),B}function J(s){if(a.isBuffer(s)){const e=D(s.length)|0,i=I(e);return i.length===0||s.copy(i,0,0,e),i}if(s.length!==void 0)return typeof s.length!="number"||mt(s.length)?I(0):w(s);if(s.type==="Buffer"&&Array.isArray(s.data))return w(s.data)}function D(s){if(s>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return s|0}function F(s){return+s!=s&&(s=0),a.alloc(+s)}a.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==a.prototype},a.compare=function(e,i){if(iA(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),iA(i,Uint8Array)&&(i=a.from(i,i.offset,i.byteLength)),!a.isBuffer(e)||!a.isBuffer(i))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===i)return 0;let B=e.length,C=i.length;for(let Q=0,h=Math.min(B,C);Q<h;++Q)if(e[Q]!==i[Q]){B=e[Q],C=i[Q];break}return B<C?-1:C<B?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,i){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return a.alloc(0);let B;if(i===void 0)for(i=0,B=0;B<e.length;++B)i+=e[B].length;const C=a.allocUnsafe(i);let Q=0;for(B=0;B<e.length;++B){let h=e[B];if(iA(h,Uint8Array))Q+h.length>C.length?(a.isBuffer(h)||(h=a.from(h)),h.copy(C,Q)):Uint8Array.prototype.set.call(C,h,Q);else if(a.isBuffer(h))h.copy(C,Q);else throw new TypeError('"list" argument must be an Array of Buffers');Q+=h.length}return C};function N(s,e){if(a.isBuffer(s))return s.length;if(ArrayBuffer.isView(s)||iA(s,ArrayBuffer))return s.byteLength;if(typeof s!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof s);const i=s.length,B=arguments.length>2&&arguments[2]===!0;if(!B&&i===0)return 0;let C=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return Nt(s).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return i*2;case"hex":return i>>>1;case"base64":return Ge(s).length;default:if(C)return B?-1:Nt(s).length;e=(""+e).toLowerCase(),C=!0}}a.byteLength=N;function m(s,e,i){let B=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((i===void 0||i>this.length)&&(i=this.length),i<=0)||(i>>>=0,e>>>=0,i<=e))return"";for(s||(s="utf8");;)switch(s){case"hex":return Sn(this,e,i);case"utf8":case"utf-8":return fe(this,e,i);case"ascii":return Yn(this,e,i);case"latin1":case"binary":return Mn(this,e,i);case"base64":return $(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return bn(this,e,i);default:if(B)throw new TypeError("Unknown encoding: "+s);s=(s+"").toLowerCase(),B=!0}}a.prototype._isBuffer=!0;function G(s,e,i){const B=s[e];s[e]=s[i],s[i]=B}a.prototype.swap16=function(){const e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let i=0;i<e;i+=2)G(this,i,i+1);return this},a.prototype.swap32=function(){const e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let i=0;i<e;i+=4)G(this,i,i+3),G(this,i+1,i+2);return this},a.prototype.swap64=function(){const e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let i=0;i<e;i+=8)G(this,i,i+7),G(this,i+1,i+6),G(this,i+2,i+5),G(this,i+3,i+4);return this},a.prototype.toString=function(){const e=this.length;return e===0?"":arguments.length===0?fe(this,0,e):m.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:a.compare(this,e)===0},a.prototype.inspect=function(){let e="";const i=r.INSPECT_MAX_BYTES;return e=this.toString("hex",0,i).replace(/(.{2})/g,"$1 ").trim(),this.length>i&&(e+=" ... "),"<Buffer "+e+">"},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(e,i,B,C,Q){if(iA(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(i===void 0&&(i=0),B===void 0&&(B=e?e.length:0),C===void 0&&(C=0),Q===void 0&&(Q=this.length),i<0||B>e.length||C<0||Q>this.length)throw new RangeError("out of range index");if(C>=Q&&i>=B)return 0;if(C>=Q)return-1;if(i>=B)return 1;if(i>>>=0,B>>>=0,C>>>=0,Q>>>=0,this===e)return 0;let h=Q-C,k=B-i;const L=Math.min(h,k),S=this.slice(C,Q),q=e.slice(i,B);for(let M=0;M<L;++M)if(S[M]!==q[M]){h=S[M],k=q[M];break}return h<k?-1:k<h?1:0};function Y(s,e,i,B,C){if(s.length===0)return-1;if(typeof i=="string"?(B=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,mt(i)&&(i=C?0:s.length-1),i<0&&(i=s.length+i),i>=s.length){if(C)return-1;i=s.length-1}else if(i<0)if(C)i=0;else return-1;if(typeof e=="string"&&(e=a.from(e,B)),a.isBuffer(e))return e.length===0?-1:x(s,e,i,B,C);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?C?Uint8Array.prototype.indexOf.call(s,e,i):Uint8Array.prototype.lastIndexOf.call(s,e,i):x(s,[e],i,B,C);throw new TypeError("val must be string, number or Buffer")}function x(s,e,i,B,C){let Q=1,h=s.length,k=e.length;if(B!==void 0&&(B=String(B).toLowerCase(),B==="ucs2"||B==="ucs-2"||B==="utf16le"||B==="utf-16le")){if(s.length<2||e.length<2)return-1;Q=2,h/=2,k/=2,i/=2}function L(q,M){return Q===1?q[M]:q.readUInt16BE(M*Q)}let S;if(C){let q=-1;for(S=i;S<h;S++)if(L(s,S)===L(e,q===-1?0:S-q)){if(q===-1&&(q=S),S-q+1===k)return q*Q}else q!==-1&&(S-=S-q),q=-1}else for(i+k>h&&(i=h-k),S=i;S>=0;S--){let q=!0;for(let M=0;M<k;M++)if(L(s,S+M)!==L(e,M)){q=!1;break}if(q)return S}return-1}a.prototype.includes=function(e,i,B){return this.indexOf(e,i,B)!==-1},a.prototype.indexOf=function(e,i,B){return Y(this,e,i,B,!0)},a.prototype.lastIndexOf=function(e,i,B){return Y(this,e,i,B,!1)};function W(s,e,i,B){i=Number(i)||0;const C=s.length-i;B?(B=Number(B),B>C&&(B=C)):B=C;const Q=e.length;B>Q/2&&(B=Q/2);let h;for(h=0;h<B;++h){const k=parseInt(e.substr(h*2,2),16);if(mt(k))return h;s[i+h]=k}return h}function rA(s,e,i,B){return WA(Nt(e,s.length-i),s,i,B)}function Z(s,e,i,B){return WA(xn(e),s,i,B)}function pA(s,e,i,B){return WA(Ge(e),s,i,B)}function bA(s,e,i,B){return WA(Kn(e,s.length-i),s,i,B)}a.prototype.write=function(e,i,B,C){if(i===void 0)C="utf8",B=this.length,i=0;else if(B===void 0&&typeof i=="string")C=i,B=this.length,i=0;else if(isFinite(i))i=i>>>0,isFinite(B)?(B=B>>>0,C===void 0&&(C="utf8")):(C=B,B=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Q=this.length-i;if((B===void 0||B>Q)&&(B=Q),e.length>0&&(B<0||i<0)||i>this.length)throw new RangeError("Attempt to write outside buffer bounds");C||(C="utf8");let h=!1;for(;;)switch(C){case"hex":return W(this,e,i,B);case"utf8":case"utf-8":return rA(this,e,i,B);case"ascii":case"latin1":case"binary":return Z(this,e,i,B);case"base64":return pA(this,e,i,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return bA(this,e,i,B);default:if(h)throw new TypeError("Unknown encoding: "+C);C=(""+C).toLowerCase(),h=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function $(s,e,i){return e===0&&i===s.length?A.fromByteArray(s):A.fromByteArray(s.slice(e,i))}function fe(s,e,i){i=Math.min(s.length,i);const B=[];let C=e;for(;C<i;){const Q=s[C];let h=null,k=Q>239?4:Q>223?3:Q>191?2:1;if(C+k<=i){let L,S,q,M;switch(k){case 1:Q<128&&(h=Q);break;case 2:L=s[C+1],(L&192)===128&&(M=(Q&31)<<6|L&63,M>127&&(h=M));break;case 3:L=s[C+1],S=s[C+2],(L&192)===128&&(S&192)===128&&(M=(Q&15)<<12|(L&63)<<6|S&63,M>2047&&(M<55296||M>57343)&&(h=M));break;case 4:L=s[C+1],S=s[C+2],q=s[C+3],(L&192)===128&&(S&192)===128&&(q&192)===128&&(M=(Q&15)<<18|(L&63)<<12|(S&63)<<6|q&63,M>65535&&M<1114112&&(h=M))}}h===null?(h=65533,k=1):h>65535&&(h-=65536,B.push(h>>>10&1023|55296),h=56320|h&1023),B.push(h),C+=k}return Jn(B)}const de=4096;function Jn(s){const e=s.length;if(e<=de)return String.fromCharCode.apply(String,s);let i="",B=0;for(;B<e;)i+=String.fromCharCode.apply(String,s.slice(B,B+=de));return i}function Yn(s,e,i){let B="";i=Math.min(s.length,i);for(let C=e;C<i;++C)B+=String.fromCharCode(s[C]&127);return B}function Mn(s,e,i){let B="";i=Math.min(s.length,i);for(let C=e;C<i;++C)B+=String.fromCharCode(s[C]);return B}function Sn(s,e,i){const B=s.length;(!e||e<0)&&(e=0),(!i||i<0||i>B)&&(i=B);let C="";for(let Q=e;Q<i;++Q)C+=Hn[s[Q]];return C}function bn(s,e,i){const B=s.slice(e,i);let C="";for(let Q=0;Q<B.length-1;Q+=2)C+=String.fromCharCode(B[Q]+B[Q+1]*256);return C}a.prototype.slice=function(e,i){const B=this.length;e=~~e,i=i===void 0?B:~~i,e<0?(e+=B,e<0&&(e=0)):e>B&&(e=B),i<0?(i+=B,i<0&&(i=0)):i>B&&(i=B),i<e&&(i=e);const C=this.subarray(e,i);return Object.setPrototypeOf(C,a.prototype),C};function H(s,e,i){if(s%1!==0||s<0)throw new RangeError("offset is not uint");if(s+e>i)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(e,i,B){e=e>>>0,i=i>>>0,B||H(e,i,this.length);let C=this[e],Q=1,h=0;for(;++h<i&&(Q*=256);)C+=this[e+h]*Q;return C},a.prototype.readUintBE=a.prototype.readUIntBE=function(e,i,B){e=e>>>0,i=i>>>0,B||H(e,i,this.length);let C=this[e+--i],Q=1;for(;i>0&&(Q*=256);)C+=this[e+--i]*Q;return C},a.prototype.readUint8=a.prototype.readUInt8=function(e,i){return e=e>>>0,i||H(e,1,this.length),this[e]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(e,i){return e=e>>>0,i||H(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(e,i){return e=e>>>0,i||H(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(e,i){return e=e>>>0,i||H(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(e,i){return e=e>>>0,i||H(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readBigUInt64LE=CA(function(e){e=e>>>0,FA(e,"offset");const i=this[e],B=this[e+7];(i===void 0||B===void 0)&&RA(e,this.length-8);const C=i+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,Q=this[++e]+this[++e]*2**8+this[++e]*2**16+B*2**24;return BigInt(C)+(BigInt(Q)<<BigInt(32))}),a.prototype.readBigUInt64BE=CA(function(e){e=e>>>0,FA(e,"offset");const i=this[e],B=this[e+7];(i===void 0||B===void 0)&&RA(e,this.length-8);const C=i*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],Q=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+B;return(BigInt(C)<<BigInt(32))+BigInt(Q)}),a.prototype.readIntLE=function(e,i,B){e=e>>>0,i=i>>>0,B||H(e,i,this.length);let C=this[e],Q=1,h=0;for(;++h<i&&(Q*=256);)C+=this[e+h]*Q;return Q*=128,C>=Q&&(C-=Math.pow(2,8*i)),C},a.prototype.readIntBE=function(e,i,B){e=e>>>0,i=i>>>0,B||H(e,i,this.length);let C=i,Q=1,h=this[e+--C];for(;C>0&&(Q*=256);)h+=this[e+--C]*Q;return Q*=128,h>=Q&&(h-=Math.pow(2,8*i)),h},a.prototype.readInt8=function(e,i){return e=e>>>0,i||H(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},a.prototype.readInt16LE=function(e,i){e=e>>>0,i||H(e,2,this.length);const B=this[e]|this[e+1]<<8;return B&32768?B|4294901760:B},a.prototype.readInt16BE=function(e,i){e=e>>>0,i||H(e,2,this.length);const B=this[e+1]|this[e]<<8;return B&32768?B|4294901760:B},a.prototype.readInt32LE=function(e,i){return e=e>>>0,i||H(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,i){return e=e>>>0,i||H(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readBigInt64LE=CA(function(e){e=e>>>0,FA(e,"offset");const i=this[e],B=this[e+7];(i===void 0||B===void 0)&&RA(e,this.length-8);const C=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(B<<24);return(BigInt(C)<<BigInt(32))+BigInt(i+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)}),a.prototype.readBigInt64BE=CA(function(e){e=e>>>0,FA(e,"offset");const i=this[e],B=this[e+7];(i===void 0||B===void 0)&&RA(e,this.length-8);const C=(i<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(C)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+B)}),a.prototype.readFloatLE=function(e,i){return e=e>>>0,i||H(e,4,this.length),t.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,i){return e=e>>>0,i||H(e,4,this.length),t.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,i){return e=e>>>0,i||H(e,8,this.length),t.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,i){return e=e>>>0,i||H(e,8,this.length),t.read(this,e,!1,52,8)};function v(s,e,i,B,C,Q){if(!a.isBuffer(s))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>C||e<Q)throw new RangeError('"value" argument is out of bounds');if(i+B>s.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(e,i,B,C){if(e=+e,i=i>>>0,B=B>>>0,!C){const k=Math.pow(2,8*B)-1;v(this,e,i,B,k,0)}let Q=1,h=0;for(this[i]=e&255;++h<B&&(Q*=256);)this[i+h]=e/Q&255;return i+B},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(e,i,B,C){if(e=+e,i=i>>>0,B=B>>>0,!C){const k=Math.pow(2,8*B)-1;v(this,e,i,B,k,0)}let Q=B-1,h=1;for(this[i+Q]=e&255;--Q>=0&&(h*=256);)this[i+Q]=e/h&255;return i+B},a.prototype.writeUint8=a.prototype.writeUInt8=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,1,255,0),this[i]=e&255,i+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,2,65535,0),this[i]=e&255,this[i+1]=e>>>8,i+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,2,65535,0),this[i]=e>>>8,this[i+1]=e&255,i+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,4,4294967295,0),this[i+3]=e>>>24,this[i+2]=e>>>16,this[i+1]=e>>>8,this[i]=e&255,i+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,4,4294967295,0),this[i]=e>>>24,this[i+1]=e>>>16,this[i+2]=e>>>8,this[i+3]=e&255,i+4};function pe(s,e,i,B,C){ke(e,B,C,s,i,7);let Q=Number(e&BigInt(4294967295));s[i++]=Q,Q=Q>>8,s[i++]=Q,Q=Q>>8,s[i++]=Q,Q=Q>>8,s[i++]=Q;let h=Number(e>>BigInt(32)&BigInt(4294967295));return s[i++]=h,h=h>>8,s[i++]=h,h=h>>8,s[i++]=h,h=h>>8,s[i++]=h,i}function ye(s,e,i,B,C){ke(e,B,C,s,i,7);let Q=Number(e&BigInt(4294967295));s[i+7]=Q,Q=Q>>8,s[i+6]=Q,Q=Q>>8,s[i+5]=Q,Q=Q>>8,s[i+4]=Q;let h=Number(e>>BigInt(32)&BigInt(4294967295));return s[i+3]=h,h=h>>8,s[i+2]=h,h=h>>8,s[i+1]=h,h=h>>8,s[i]=h,i+8}a.prototype.writeBigUInt64LE=CA(function(e,i=0){return pe(this,e,i,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=CA(function(e,i=0){return ye(this,e,i,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(e,i,B,C){if(e=+e,i=i>>>0,!C){const L=Math.pow(2,8*B-1);v(this,e,i,B,L-1,-L)}let Q=0,h=1,k=0;for(this[i]=e&255;++Q<B&&(h*=256);)e<0&&k===0&&this[i+Q-1]!==0&&(k=1),this[i+Q]=(e/h>>0)-k&255;return i+B},a.prototype.writeIntBE=function(e,i,B,C){if(e=+e,i=i>>>0,!C){const L=Math.pow(2,8*B-1);v(this,e,i,B,L-1,-L)}let Q=B-1,h=1,k=0;for(this[i+Q]=e&255;--Q>=0&&(h*=256);)e<0&&k===0&&this[i+Q+1]!==0&&(k=1),this[i+Q]=(e/h>>0)-k&255;return i+B},a.prototype.writeInt8=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,1,127,-128),e<0&&(e=255+e+1),this[i]=e&255,i+1},a.prototype.writeInt16LE=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,2,32767,-32768),this[i]=e&255,this[i+1]=e>>>8,i+2},a.prototype.writeInt16BE=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,2,32767,-32768),this[i]=e>>>8,this[i+1]=e&255,i+2},a.prototype.writeInt32LE=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,4,2147483647,-2147483648),this[i]=e&255,this[i+1]=e>>>8,this[i+2]=e>>>16,this[i+3]=e>>>24,i+4},a.prototype.writeInt32BE=function(e,i,B){return e=+e,i=i>>>0,B||v(this,e,i,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[i]=e>>>24,this[i+1]=e>>>16,this[i+2]=e>>>8,this[i+3]=e&255,i+4},a.prototype.writeBigInt64LE=CA(function(e,i=0){return pe(this,e,i,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=CA(function(e,i=0){return ye(this,e,i,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function De(s,e,i,B,C,Q){if(i+B>s.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function Ne(s,e,i,B,C){return e=+e,i=i>>>0,C||De(s,e,i,4),t.write(s,e,i,B,23,4),i+4}a.prototype.writeFloatLE=function(e,i,B){return Ne(this,e,i,!0,B)},a.prototype.writeFloatBE=function(e,i,B){return Ne(this,e,i,!1,B)};function me(s,e,