@gjsify/example-dom-excalibur-jelly-jumper 0.4.35 → 0.4.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gjs.js +3 -3
- package/package.json +24 -15
package/dist/gjs.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
if(globalThis.__gjsifyBundleUrl??=import.meta.url,globalThis.process===void 0){let e=imports.system,R=imports.gi.GLib,_h=e=>[0,0];_h.bigint=()=>0n,globalThis.process={platform:`linux`,arch:`x64`,version:`v20.0.0`,env:new Proxy({},{get(e,W){return typeof W==`string`?R.getenv(W)??void 0:void 0},set(e,W,Y){return typeof W==`string`&&R.setenv(W,String(Y),!0),!0},has(e,W){return typeof W==`string`&&R.getenv(W)!==null},deleteProperty(e,W){return typeof W==`string`&&R.unsetenv(W),!0},ownKeys(){return R.listenv()??[]},getOwnPropertyDescriptor(e,W){let Y=R.getenv(W);return Y===null?void 0:{value:Y,writable:!0,enumerable:!0,configurable:!0}}}),argv:e?.programArgs?[`gjs`,e.programInvocationName||``,...e.programArgs]:[`gjs`],versions:{},config:{},cwd(){return R.get_current_dir()||`/`},exit(R){e.exit(R??0)},stderr:{write(e){printerr(e)}},stdout:{write(e){print(e)}},stdin:null,exitCode:void 0,nextTick(e,...R){Promise.resolve().then(()=>e(...R))},hrtime:_h}}import e from"gi://GLib?version=2.0";import R from"gi://Gio?version=2.0";import"gi://GioUnix?version=2.0";import W from"cairo";import Y from"gi://Gdk?version=4.0";import X from"gi://GdkPixbuf";import ie from"gi://Pango";import ae from"gi://PangoCairo";import le from"gi://GdkPixbuf?version=2.0";import _e from"system";import ye from"gi://Gst?version=1.0";import"gi://GstApp?version=1.0";import be from"gi://Soup?version=3.0";import Ce from"gi://Gtk?version=4.0";import Te from"gi://Adw?version=1";import Oe from"gi://GObject?version=2.0";import Ae from"gi://Gwebgl?version=0.1";import Me from"gi://GObject";var Pe=Object.create,Re=Object.defineProperty,__name$1=(e,R)=>Re(e,`name`,{value:R,configurable:!0}),Be=Object.getOwnPropertyDescriptor,Ve=Object.getOwnPropertyNames,He=Object.getPrototypeOf,Ue=Object.prototype.hasOwnProperty,__esmMin=(e,R)=>()=>(e&&(R=e(e=0)),R),__commonJSMin=(e,R)=>()=>(R||(e((R={exports:{}}).exports,R),e=null),R.exports),__exportAll$1=(e,R)=>{let W={};for(var Y in e)Re(W,Y,{get:e[Y],enumerable:!0});return R||Re(W,Symbol.toStringTag,{value:`Module`}),W},__copyProps=(e,R,W,Y)=>{if(R&&typeof R==`object`||typeof R==`function`)for(var X=Ve(R),ie=0,ae=X.length,le;ie<ae;ie++)le=X[ie],!Ue.call(e,le)&&le!==W&&Re(e,le,{get:(e=>R[e]).bind(null,le),enumerable:!(Y=Be(R,le))||Y.enumerable});return e},__toESM=(e,R,W)=>(W=e==null?{}:Pe(He(e)),__copyProps(R||!e||!e.__esModule?Re(W,`default`,{value:e,enumerable:!0}):W,e)),We,Ge,FilePolyfill,Ke,qe,Je=__esmMin(()=>{We
|
|
1
|
+
if(globalThis.__gjsifyBundleUrl??=import.meta.url,globalThis.process===void 0){let e=imports.system,R=imports.gi.GLib,_h=e=>[0,0];_h.bigint=()=>0n,globalThis.process={platform:`linux`,arch:`x64`,version:`v20.0.0`,env:new Proxy({},{get(e,W){return typeof W==`string`?R.getenv(W)??void 0:void 0},set(e,W,Y){return typeof W==`string`&&R.setenv(W,String(Y),!0),!0},has(e,W){return typeof W==`string`&&R.getenv(W)!==null},deleteProperty(e,W){return typeof W==`string`&&R.unsetenv(W),!0},ownKeys(){return R.listenv()??[]},getOwnPropertyDescriptor(e,W){let Y=R.getenv(W);return Y===null?void 0:{value:Y,writable:!0,enumerable:!0,configurable:!0}}}),argv:e?.programArgs?[`gjs`,e.programInvocationName||``,...e.programArgs]:[`gjs`],versions:{},config:{},cwd(){return R.get_current_dir()||`/`},exit(R){e.exit(R??0)},stderr:{write(e){printerr(e)}},stdout:{write(e){print(e)}},stdin:null,exitCode:void 0,nextTick(e,...R){Promise.resolve().then(()=>e(...R))},hrtime:_h}}import e from"gi://GLib?version=2.0";import R from"gi://Gio?version=2.0";import"gi://GioUnix?version=2.0";import W from"cairo";import Y from"gi://Gdk?version=4.0";import X from"gi://GdkPixbuf";import ie from"gi://Pango";import ae from"gi://PangoCairo";import le from"gi://GdkPixbuf?version=2.0";import _e from"system";import ye from"gi://Gst?version=1.0";import"gi://GstApp?version=1.0";import be from"gi://Soup?version=3.0";import Ce from"gi://Gtk?version=4.0";import Te from"gi://Adw?version=1";import Oe from"gi://GObject?version=2.0";import Ae from"gi://Gwebgl?version=0.1";import Me from"gi://GObject";var Pe=Object.create,Re=Object.defineProperty,__name$1=(e,R)=>Re(e,`name`,{value:R,configurable:!0}),Be=Object.getOwnPropertyDescriptor,Ve=Object.getOwnPropertyNames,He=Object.getPrototypeOf,Ue=Object.prototype.hasOwnProperty,__esmMin=(e,R)=>()=>(e&&(R=e(e=0)),R),__commonJSMin=(e,R)=>()=>(R||(e((R={exports:{}}).exports,R),e=null),R.exports),__exportAll$1=(e,R)=>{let W={};for(var Y in e)Re(W,Y,{get:e[Y],enumerable:!0});return R||Re(W,Symbol.toStringTag,{value:`Module`}),W},__copyProps=(e,R,W,Y)=>{if(R&&typeof R==`object`||typeof R==`function`)for(var X=Ve(R),ie=0,ae=X.length,le;ie<ae;ie++)le=X[ie],!Ue.call(e,le)&&le!==W&&Re(e,le,{get:(e=>R[e]).bind(null,le),enumerable:!(Y=Be(R,le))||Y.enumerable});return e},__toESM=(e,R,W)=>(W=e==null?{}:Pe(He(e)),__copyProps(R||!e||!e.__esModule?Re(W,`default`,{value:e,enumerable:!0}):W,e)),We,_encoder,Ge,FilePolyfill,Ke,qe,Je=__esmMin(()=>{_encoder=()=>We??=new TextEncoder,Ge=class BlobPolyfill{_parts;size;type;constructor(e,R){this._parts=e||[],this.type=R?.type||``,this.size=this._parts.reduce((e,R)=>typeof R==`string`?e+_encoder().encode(R).byteLength:R instanceof ArrayBuffer||ArrayBuffer.isView(R)?e+R.byteLength:R&&typeof R.size==`number`?e+R.size:e,0)}async bytes(){let e=await this.arrayBuffer();return new Uint8Array(e)}async text(){return new TextDecoder().decode(await this.arrayBuffer())}async arrayBuffer(){let e=[];for(let R of this._parts)if(typeof R==`string`)e.push(_encoder().encode(R));else if(R instanceof ArrayBuffer)e.push(new Uint8Array(R));else if(ArrayBuffer.isView(R))e.push(new Uint8Array(R.buffer,R.byteOffset,R.byteLength));else if(R&&typeof R.arrayBuffer==`function`){let W=await R.arrayBuffer();e.push(new Uint8Array(W))}let R=e.reduce((e,R)=>e+R.byteLength,0),W=new Uint8Array(R),Y=0;for(let R of e)W.set(R,Y),Y+=R.byteLength;return W.buffer}slice(e,R,W){return new BlobPolyfill([],{type:W})}stream(){let e=this;return new ReadableStream({async pull(R){let W=await e.arrayBuffer();R.enqueue(new Uint8Array(W)),R.close()}})}},FilePolyfill=class extends Ge{name;lastModified;webkitRelativePath=``;constructor(e,R,W){super(e,W),this.name=R,this.lastModified=W?.lastModified??Date.now()}},Ke=globalThis.Blob??Ge,qe=globalThis.File??FilePolyfill});function makeCallable(e){return new Proxy(e,{apply(e,R,W){if(R==null||R===globalThis)return Reflect.construct(e,W,e);let Y=Reflect.construct(e,W,e);for(let e of Reflect.ownKeys(Y)){let W=Object.getOwnPropertyDescriptor(Y,e);W&&Object.defineProperty(R,e,W)}return R}})}var Ye=__esmMin(()=>{}),Xe,Ze=__esmMin(()=>{Xe=e}),Qe,$e=__esmMin(()=>{Ze(),Qe=Xe}),et=__esmMin(()=>{$e()}),initErrorV8Methods,tt=__esmMin(()=>{initErrorV8Methods=e=>{let R=Error;R.captureStackTrace||=function(e,R){let W=Error();Object.defineProperty(R||e,"stack",{configurable:!0,get:function getStack(){var e=W.stack;return Object.defineProperty(this,"stack",{value:e}),e}})}}}),nt=__esmMin(()=>{$e()}),rt,it=__esmMin(()=>{rt=R}),at,st=__esmMin(()=>{it(),at=rt}),ct=__esmMin(()=>{}),lt=__esmMin(()=>{ct()}),ut=__esmMin(()=>{st(),lt()});async function readBytesAsync(e,R=4096,W=Qe.PRIORITY_DEFAULT,Y=null){return new Promise((X,ie)=>{e.read_bytes_async(R,W,Y,(R,W)=>{try{let R=e.read_bytes_finish(W);return R.get_size()===0?X(null):X(imports.byteArray.fromGBytes(R))}catch(e){let R=e;if(typeof R.matches==`function`&&(R.matches(at.IOErrorEnum,at.IOErrorEnum.PARTIAL_INPUT)||R.matches(at.IOErrorEnum,at.IOErrorEnum.CONNECTION_CLOSED)||R.matches(at.IOErrorEnum,at.IOErrorEnum.BROKEN_PIPE)||R.matches(at.IOErrorEnum,at.IOErrorEnum.CLOSED)))return X(null);ie(e)}})})}async function*inputStreamAsyncIterator(e,R=4096,W=Qe.PRIORITY_DEFAULT,Y=null){let X;for(;(X=await readBytesAsync(e,R,W,Y))!==null;)yield X}var dt=__esmMin(()=>{$e(),st()});function registerGlobal(e,R){let W=globalThis;W[e]===void 0&&(W[e]=R)}var mt=__esmMin(()=>{});function _formatArgs(...e){let R=e[0],W=e.slice(1);if(typeof R!=`string`||!/%(s|d|i|f|o|O|c)/.test(R))return e.map(e=>typeof e==`string`?e:JSON.stringify(e)).join(` `);let Y=0,X=R.replace(/%([sdifOoc])/g,(e,R)=>{if(Y>=W.length)return e;let X=W[Y++];switch(R){case`s`:return String(X);case`d`:case`i`:return String(parseInt(String(X),10));case`f`:return String(parseFloat(String(X)));case`o`:case`O`:return JSON.stringify(X);case`c`:return``;default:return e}}),ie=W.slice(Y);return ie.length===0?X:X+` `+ie.map(e=>typeof e==`string`?e:JSON.stringify(e)).join(` `)}var ht,Console,gt,log,info,debug,warn,error,dir,dirxml,table,clear,_t,trace,time,timeEnd,timeLog,count,countReset,group,groupCollapsed,groupEnd,profile,profileEnd,timeStamp,vt=__esmMin(()=>{ht=typeof print==`function`&&typeof printerr==`function`,Console=class{_stdout;_stderr;_groupDepth=0;_groupIndentation;_timers=new Map;_counters=new Map;constructor(e,R){if(e&&typeof e.write==`function`)this._stdout=e,this._stderr=R||this._stdout;else if(e&&typeof e==`object`){let R=e;this._stdout=R.stdout,this._stderr=R.stderr||R.stdout}this._groupIndentation=2}_write(e,...R){let W=e===`stderr`&&this._stderr||this._stdout;if(W){let e=` `.repeat(this._groupDepth*this._groupIndentation),Y=_formatArgs(...R);W.write(e+Y+`
|
|
2
2
|
`)}else if(ht){let W=` `.repeat(this._groupDepth*this._groupIndentation)+_formatArgs(...R);e===`stderr`?printerr(W):print(W)}else{let W=globalThis.console;e===`stderr`?W.error(...R):W.log(...R)}}log(...e){this._write(`stdout`,...e)}info(...e){this._write(`stdout`,...e)}debug(...e){this._write(`stdout`,...e)}warn(...e){this._write(`stderr`,...e)}error(...e){this._write(`stderr`,...e)}dir(e,R){this._write(`stdout`,e)}dirxml(...e){this.log(...e)}assert(e,...R){e||this.error(`Assertion failed:`,...R)}clear(){this._stdout?this._stdout.write(`\x1Bc`):ht?print(`\x1Bc`):globalThis.console.clear()}count(e=`default`){let R=(this._counters.get(e)||0)+1;this._counters.set(e,R),this.log(`${e}: ${R}`)}countReset(e=`default`){this._counters.delete(e)}group(...e){e.length>0&&this.log(...e),this._groupDepth++}groupCollapsed(...e){this.group(...e)}groupEnd(){this._groupDepth>0&&this._groupDepth--}table(e,R){this._stdout?this._write(`stdout`,e):ht?print(JSON.stringify(e,null,2)):globalThis.console.table(e,R)}time(e=`default`){this._timers.set(e,Date.now())}timeEnd(e=`default`){let R=this._timers.get(e);R===void 0?this.warn(`Warning: No such label '${e}' for console.timeEnd()`):(this.log(`${e}: ${Date.now()-R}ms`),this._timers.delete(e))}timeLog(e=`default`,...R){let W=this._timers.get(e);W===void 0?this.warn(`Warning: No such label '${e}' for console.timeLog()`):this.log(`${e}: ${Date.now()-W}ms`,...R)}trace(...e){let R=Error().stack?.split(`
|
|
3
3
|
`).slice(1).join(`
|
|
4
4
|
`)||``;this._write(`stderr`,`Trace:`,...e,`
|
|
5
|
-
`+R)}profile(e){}profileEnd(e){}timeStamp(e){}},gt=new Console,log=(...e)=>gt.log(...e),info=(...e)=>gt.info(...e),debug=(...e)=>gt.debug(...e),warn=(...e)=>gt.warn(...e),error=(...e)=>gt.error(...e),dir=(e,R)=>gt.dir(e,R),dirxml=(...e)=>gt.dirxml(...e),table=(e,R)=>gt.table(e,R),clear=()=>gt.clear(),_t=__name$1((e,...R)=>gt.assert(e,...R),`assert`),trace=(...e)=>gt.trace(...e),time=e=>gt.time(e),timeEnd=e=>gt.timeEnd(e),timeLog=(e,...R)=>gt.timeLog(e,...R),count=e=>gt.count(e),countReset=e=>gt.countReset(e),group=(...e)=>gt.group(...e),groupCollapsed=(...e)=>gt.groupCollapsed(...e),groupEnd=()=>gt.groupEnd(),profile=e=>{},profileEnd=e=>{},timeStamp=e=>{}}),yt,bt=__esmMin(()=>{vt(),yt={log,info,debug,warn,error,dir,dirxml,table,time,timeEnd,timeLog,trace,assert:_t,clear,count,countReset,group,groupCollapsed,groupEnd,profile,profileEnd,timeStamp}}),warnNotImplemented,xt=__esmMin(()=>{bt(),warnNotImplemented=e=>{let R=e?`Not implemented: ${e}`:`Not implemented`;return yt.warn(R),R}}),St,Ct=__esmMin(()=>{St=__name$1(e=>{Promise.resolve().then(e)},`queueMicrotask`)});function drainOnce(e){let R=Math.min(64,wt.length);for(let W=0;W<R;W++){let R=wt.shift();try{R()}catch(R){try{e.log_default_handler(`gjsify-nextTick`,e.LogLevelFlags.LEVEL_WARNING,String(R?.stack||R),null)}catch{}}}wt.length>0?e.timeout_add(e.PRIORITY_DEFAULT,1,()=>(drainOnce(e),!1)):Tt=!1}function tryGLibTimeout(e){let R=globalThis.imports?.gi?.GLib;return R?.timeout_add?(wt.push(e),Tt||(Tt=!0,R.timeout_add(R.PRIORITY_DEFAULT,0,()=>(drainOnce(R),!1))),!0):!1}var wt,Tt,nextTick,Et=__esmMin(()=>{wt=[],Tt=!1,nextTick=(e,...R)=>{let W=R.length>0?()=>e(...R):e;if(!tryGLibTimeout(W)){if(typeof globalThis.process?.nextTick==`function`){globalThis.process.nextTick(e,...R);return}if(typeof queueMicrotask==`function`){queueMicrotask(W);return}Promise.resolve().then(W)}}}),Ot,jt=__esmMin(()=>{$e(),st(),{File:Ot}=at});function classOf(e){return Mt.call(e).slice(8,-1)}function throwDataCloneError(e){let R=globalThis.DOMException;if(typeof R==`function`)throw new R(e,`DataCloneError`);let W=Error(e);throw W.name=`DataCloneError`,W}function internalClone(e,R,W){if(e==null)return e;let Y=typeof e;if(Y===`boolean`||Y===`number`||Y===`string`||Y===`bigint`)return e;Y===`symbol`&&throwDataCloneError(`Symbol cannot be cloned`),Y===`function`&&throwDataCloneError(`Function cannot be cloned`);let X=e;if(R.has(X))return R.get(X);let ie=classOf(X);if(ie===`Date`)return new Date(X.getTime());if(ie===`RegExp`)return new RegExp(X.source,X.flags);if(ie===`Boolean`||ie===`Number`||ie===`String`)return Object(X.valueOf());if(ie===`BigInt`)return Object(BigInt.prototype.valueOf.call(X));if(X instanceof Error){let e=X,Y=e.constructor?.name,ie=new(Y&&Nt[Y]||Nt[e.name]||Error)(e.message);return ie.name=e.name,`cause`in e&&Object.defineProperty(ie,"cause",{value:internalClone(e.cause,R,W),writable:!0,enumerable:!1,configurable:!0}),ie}if(ie===`DOMException`){let e=globalThis.DOMException;if(typeof e==`function`){let R=X;return new e(R.message,R.name)}}if(ie===`ArrayBuffer`){let e=X;if(W&&W.transferred.has(e)){let Y=W.transferred.get(e);return R.set(X,Y),Y}(e.detached===!0||e.byteLength===0&&e.detached)&&throwDataCloneError(`ArrayBuffer is detached and cannot be cloned`);let Y=e.slice(0);return R.set(X,Y),Y}if(ie===`SharedArrayBuffer`||X&&typeof X==`object`&&X.constructor?.name===`SharedBuffer`)return X;if(ie===`DataView`){let e=X,Y=W?.viewSnapshots.get(X),ie=internalClone(e.buffer,R,W),ae=Y?Y.byteOffset:e.byteOffset,le=Y?Y.byteLength:e.byteLength,_e=new DataView(ie,ae,le);return R.set(X,_e),_e}if(Pt.has(ie)){let e=X,Y=W?.viewSnapshots.get(X),ie=internalClone(e.buffer,R,W),ae=e.constructor,le=new ae(ie,Y?Y.byteOffset:e.byteOffset,Y?Y.length:e.length);return R.set(X,le),le}if(ie===`Map`){let e=new Map;R.set(X,e);for(let[Y,ie]of X)e.set(internalClone(Y,R,W),internalClone(ie,R,W));return e}if(ie===`Set`){let e=new Set;R.set(X,e);for(let Y of X)e.add(internalClone(Y,R,W));return e}{let e=globalThis,R=e.Blob,W=e.File;if(typeof W==`function`&&X instanceof W){let e=X;return new W([X],e.name,{type:e.type,lastModified:e.lastModified})}if(typeof R==`function`&&X instanceof R)return new R([X],{type:X.type})}if(X instanceof WeakMap&&throwDataCloneError(`WeakMap cannot be cloned`),X instanceof WeakSet&&throwDataCloneError(`WeakSet cannot be cloned`),X instanceof WeakRef&&throwDataCloneError(`WeakRef cannot be cloned`),typeof globalThis.Promise==`function`&&X instanceof Promise&&throwDataCloneError(`Promise cannot be cloned`),ie===`Array`){let e=X,Y=[];R.set(X,Y);for(let X=0;X<e.length;X++)X in e&&(Y[X]=internalClone(e[X],R,W));return Y}if(ie===`Object`||typeof X==`object`){let e={};R.set(X,e);for(let Y of Object.keys(X))e[Y]=internalClone(X[Y],R,W);return e}throwDataCloneError(`${ie} cannot be cloned`)}function structuredClone$1(e,R){let W=R?.transfer;if(!W||W.length===0)return internalClone(e,new Map);let Y=new Set;for(let e of W)if(classOf(e)===`ArrayBuffer`){let R=e;R.detached===!0&&throwDataCloneError(`ArrayBuffer in transfer list is detached`),Y.add(R)}let X=new Map;Y.size>0&&snapshotViewsBackedByTransferredBuffers(e,Y,X,new Set);let ie=new Map;for(let e of Y){let R=e;typeof R.transfer!=`function`&&throwDataCloneError(`ArrayBuffer.prototype.transfer() not available — runtime is not SM140+`),ie.set(e,R.transfer())}return internalClone(e,new Map,{transferred:ie,viewSnapshots:X})}function snapshotViewsBackedByTransferredBuffers(e,R,W,Y){if(typeof e!=`object`||!e)return;let X=e;if(Y.has(X))return;Y.add(X);let ie=classOf(X);if(ie===`DataView`){let e=X;R.has(e.buffer)&&W.set(X,{byteOffset:e.byteOffset,length:0,byteLength:e.byteLength});return}if(Pt.has(ie)){let e=X;R.has(e.buffer)&&W.set(X,{byteOffset:e.byteOffset,length:e.length,byteLength:e.byteLength});return}if(Array.isArray(X)){for(let e=0;e<X.length;e++)e in X&&snapshotViewsBackedByTransferredBuffers(X[e],R,W,Y);return}if(ie===`Map`){for(let[e,ie]of X)snapshotViewsBackedByTransferredBuffers(e,R,W,Y),snapshotViewsBackedByTransferredBuffers(ie,R,W,Y);return}if(ie===`Set`){for(let e of X)snapshotViewsBackedByTransferredBuffers(e,R,W,Y);return}if(ie===`Object`)for(let e of Object.keys(X))snapshotViewsBackedByTransferredBuffers(X[e],R,W,Y)}var Mt,Nt,Pt,Ft=__esmMin(()=>{({toString:Mt}=Object.prototype),Nt={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},Pt=new Set([`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]),__name$1(structuredClone$1,`structuredClone`)});function ensureMainLoop(){let e=globalThis.imports;if(!e)return;if(Lt)return Rt;let R=e.gi?.GLib;if(R){if(Rt=new R.MainLoop(null,!1),Lt=!0,R.main_depth()===0)try{Rt.runAsync()}catch{}return Rt}}function quitMainLoop(){Rt&&=(Rt.quit(),Lt=!1,null)}var Lt,Rt,zt=__esmMin(()=>{Lt=!1,Rt=null}),Vt=__esmMin(()=>{Ye(),et(),tt(),nt(),ut(),dt(),mt(),xt(),Ct(),Et(),jt(),Ft(),zt()});Je(),Vt(),registerGlobal(`Blob`,Ke),registerGlobal(`File`,qe);var Ht=Object.defineProperty,__exportAll=(e,R)=>{let W={};for(var Y in e)Ht(W,Y,{get:e[Y],enumerable:!0});return R||Ht(W,Symbol.toStringTag,{value:`Module`}),W};__exportAll({attributes:()=>Qt,childNodesList:()=>Gt,elementChildren:()=>Kt,isConnected:()=>qt,localName:()=>Yt,name:()=>on,namespaceURI:()=>Xt,nodeType:()=>Ut,ownerElement:()=>tr,parentNode:()=>Wt,prefix:()=>Zt,propertyEventListeners:()=>$t,tagName:()=>Jt,value:()=>An});const Ut=Symbol(`nodeType`),Wt=Symbol(`parentNode`),Gt=Symbol(`childNodesList`),Kt=Symbol(`elementChildren`),qt=Symbol(`isConnected`),Jt=Symbol(`tagName`),Yt=Symbol(`localName`),Xt=Symbol(`namespaceURI`),Zt=Symbol(`prefix`),Qt=Symbol(`attributes`),$t=Symbol(`propertyEventListeners`),on=Symbol(`name`),An=Symbol(`value`),tr=Symbol(`ownerElement`),rr={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11};var NodeList=class{constructor(e){this._items=e}get length(){return this._items.length}item(e){return this._items[e]??null}forEach(e,R){for(let W=0;W<this._items.length;W++)e.call(R,this._items[W],W,this)}entries(){return this._items.entries()}keys(){return this._items.keys()}values(){return this._items.values()}[Symbol.iterator](){return this._items[Symbol.iterator]()}get[Symbol.toStringTag](){return`NodeList`}};const ir={IndexSizeError:1,HierarchyRequestError:3,WrongDocumentError:4,InvalidCharacterError:5,NoModificationAllowedError:7,NotFoundError:8,NotSupportedError:9,InUseAttributeError:10,InvalidStateError:11,SyntaxError:12,InvalidModificationError:13,NamespaceError:14,InvalidAccessError:15,TypeMismatchError:17,SecurityError:18,NetworkError:19,AbortError:20,URLMismatchError:21,QuotaExceededError:22,TimeoutError:23,InvalidNodeTypeError:24,DataCloneError:25};var _DOMExceptionPolyfill=class extends Error{code;constructor(e,R){super(e),this.name=R||`Error`,this.code=Object.hasOwn(ir,this.name)?ir[this.name]:0}};const or=globalThis.DOMException===void 0?_DOMExceptionPolyfill:globalThis.DOMException;bt();const lr=Symbol(`type`),hr=Symbol(`bubbles`),gr=Symbol(`cancelable`),vr=Symbol(`composed`),Sr=Symbol(`target`),Tr=Symbol(`currentTarget`),Er=Symbol(`eventPhase`),kr=Symbol(`defaultPrevented`),jr=Symbol(`isTrusted`),Mr=Symbol(`timeStamp`),Nr=Symbol(`stop`),Fr=Symbol(`immediateStop`),Br=Symbol(`dispatching`),Vr=Symbol(`inPassiveListener`);var Event$1=class{static{__name$1(this,`Event`)}[lr];[hr];[gr];[vr];[Sr]=null;[Tr]=null;[Er]=0;[kr]=!1;[jr]=!1;[Mr];[Nr]=!1;[Fr]=!1;[Br]=!1;[Vr]=!1;get type(){return this[lr]}get bubbles(){return this[hr]}get cancelable(){return this[gr]}get composed(){return this[vr]}get target(){return this[Sr]}get currentTarget(){return this[Tr]}get eventPhase(){return this[Er]}get defaultPrevented(){return this[kr]}get timeStamp(){return this[Mr]}get cancelBubble(){return this[Nr]}set cancelBubble(e){e&&this.stopPropagation()}get returnValue(){return!this[kr]}set returnValue(e){e||this.preventDefault()}get srcElement(){return this[Sr]}static NONE=0;static CAPTURING_PHASE=1;static AT_TARGET=2;static BUBBLING_PHASE=3;get[Symbol.toStringTag](){return`Event`}constructor(e,R){this[lr]=e,this[hr]=R?.bubbles??!1,this[gr]=R?.cancelable??!1,this[vr]=R?.composed??!1,this[Mr]=Date.now(),Object.defineProperty(this,"isTrusted",{get:()=>this[jr],enumerable:!0,configurable:!1})}composedPath(){return this[Tr]?[this[Tr]]:[]}preventDefault(){this[gr]&&!this[Vr]&&(this[kr]=!0)}stopPropagation(){this[Nr]=!0}stopImmediatePropagation(){this[Nr]=!0,this[Fr]=!0}},CustomEvent=class extends Event$1{detail;constructor(e,R){super(e,R),this.detail=R?.detail}},MessageEvent=class extends Event$1{data;origin;lastEventId;source;ports;constructor(e,R){super(e,R),this.data=R?.data??null,this.origin=R?.origin??``,this.lastEventId=R?.lastEventId??``,this.source=R?.source??null,this.ports=R?.ports??[]}get[Symbol.toStringTag](){return`MessageEvent`}},ErrorEvent=class extends Event$1{message;filename;lineno;colno;error;constructor(e,R){super(e,R),this.message=R?.message??``,this.filename=R?.filename??``,this.lineno=R?.lineno??0,this.colno=R?.colno??0,this.error=R?.error??null}get[Symbol.toStringTag](){return`ErrorEvent`}},CloseEvent=class extends Event$1{code;reason;wasClean;constructor(e,R){super(e,R),this.code=R?.code??0,this.reason=R?.reason??``,this.wasClean=R?.wasClean??!1}get[Symbol.toStringTag](){return`CloseEvent`}},ProgressEvent$1=class extends Event$1{static{__name$1(this,`ProgressEvent`)}lengthComputable;loaded;total;constructor(e,R){super(e,R),this.lengthComputable=R?.lengthComputable??!1,this.loaded=R?.loaded??0,this.total=R?.total??0}get[Symbol.toStringTag](){return`ProgressEvent`}},EventTarget$1=class{static{__name$1(this,`EventTarget`)}_listeners=new Map;get[Symbol.toStringTag](){return`EventTarget`}addEventListener(e,R,W){if(R===null)return;let Y=typeof W==`boolean`?W:W?.capture??!1,X=typeof W==`object`?W?.once??!1:!1,ie=typeof W==`object`?W?.passive??!1:!1,ae=this._listeners.get(e);ae||(ae=[],this._listeners.set(e,ae));for(let e of ae)if(e.listener===R&&e.capture===Y)return;let le={listener:R,capture:Y,once:X,passive:ie,removed:!1};ae.push(le),typeof W==`object`&&W?.signal&&W.signal.addEventListener(`abort`,()=>{this.removeEventListener(e,R,{capture:Y})},{once:!0})}removeEventListener(e,R,W){if(R===null)return;let Y=typeof W==`boolean`?W:W?.capture??!1,X=this._listeners.get(e);if(!X)return;let ie=X.findIndex(e=>e.listener===R&&e.capture===Y);ie!==-1&&(X[ie].removed=!0,X.splice(ie,1),X.length===0&&this._listeners.delete(e))}dispatchEvent(e){let R=e;if(R[Br])throw new or(`The event is already being dispatched.`,`InvalidStateError`);R[Br]=!0,R[Sr]=this,R[Tr]=this,R[Er]=Event$1.AT_TARGET;let W=this._listeners.get(e.type);if(W){let Y=[...W];for(let W of Y)if(!W.removed){if(R[Fr]||R[Nr])break;W.once&&this.removeEventListener(e.type,W.listener,{capture:W.capture});try{W.passive&&(R[Vr]=!0),typeof W.listener==`function`?W.listener.call(this,e):typeof W.listener.handleEvent==`function`&&W.listener.handleEvent.call(W.listener,e)}catch(e){yt.error(e)}finally{R[Vr]=!1}}}return R[Er]=Event$1.NONE,R[Tr]=null,R[Br]=!1,!e.defaultPrevented}};for(let[e,R]of[[`NONE`,0],[`CAPTURING_PHASE`,1],[`AT_TARGET`,2],[`BUBBLING_PHASE`,3]])Object.defineProperty(Event$1.prototype,e,{value:R,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(Event$1,e,{value:R,writable:!1,enumerable:!0,configurable:!1});var UIEvent=class extends Event$1{detail;view;constructor(e,R){super(e,R),this.detail=R?.detail??0,this.view=null}get[Symbol.toStringTag](){return`UIEvent`}},MouseEvent=class extends UIEvent{altKey;button;buttons;clientX;clientY;ctrlKey;metaKey;movementX;movementY;offsetX;offsetY;screenX;screenY;shiftKey;relatedTarget;get pageX(){return this.clientX}get pageY(){return this.clientY}get x(){return this.clientX}get y(){return this.clientY}constructor(e,R){super(e,R),this.altKey=R?.altKey??!1,this.button=R?.button??0,this.buttons=R?.buttons??0,this.clientX=R?.clientX??0,this.clientY=R?.clientY??0,this.ctrlKey=R?.ctrlKey??!1,this.metaKey=R?.metaKey??!1,this.movementX=R?.movementX??0,this.movementY=R?.movementY??0,this.offsetX=R?.offsetX??0,this.offsetY=R?.offsetY??0,this.screenX=R?.screenX??0,this.screenY=R?.screenY??0,this.shiftKey=R?.shiftKey??!1,this.relatedTarget=R?.relatedTarget??null}getModifierState(e){switch(e){case`Alt`:return this.altKey;case`Control`:return this.ctrlKey;case`Meta`:return this.metaKey;case`Shift`:return this.shiftKey;default:return!1}}get[Symbol.toStringTag](){return`MouseEvent`}},PointerEvent$1=class extends MouseEvent{static{__name$1(this,`PointerEvent`)}pointerId;width;height;pressure;tangentialPressure;tiltX;tiltY;twist;altitudeAngle;azimuthAngle;pointerType;isPrimary;constructor(e,R){super(e,R),this.pointerId=R?.pointerId??0,this.width=R?.width??1,this.height=R?.height??1,this.pressure=R?.pressure??0,this.tangentialPressure=R?.tangentialPressure??0,this.tiltX=R?.tiltX??0,this.tiltY=R?.tiltY??0,this.twist=R?.twist??0,this.altitudeAngle=R?.altitudeAngle??Math.PI/2,this.azimuthAngle=R?.azimuthAngle??0,this.pointerType=R?.pointerType??``,this.isPrimary=R?.isPrimary??!1}getCoalescedEvents(){return[]}getPredictedEvents(){return[]}get[Symbol.toStringTag](){return`PointerEvent`}},KeyboardEvent$1=class extends UIEvent{static{__name$1(this,`KeyboardEvent`)}altKey;code;ctrlKey;isComposing;key;location;metaKey;repeat;shiftKey;keyCode;which;static DOM_KEY_LOCATION_STANDARD=0;static DOM_KEY_LOCATION_LEFT=1;static DOM_KEY_LOCATION_RIGHT=2;static DOM_KEY_LOCATION_NUMPAD=3;constructor(e,R){super(e,R),this.altKey=R?.altKey??!1,this.code=R?.code??``,this.ctrlKey=R?.ctrlKey??!1,this.isComposing=R?.isComposing??!1,this.key=R?.key??``,this.location=R?.location??0,this.metaKey=R?.metaKey??!1,this.repeat=R?.repeat??!1,this.shiftKey=R?.shiftKey??!1,this.keyCode=R?.keyCode??0,this.which=R?.which??0}getModifierState(e){switch(e){case`Alt`:return this.altKey;case`Control`:return this.ctrlKey;case`Meta`:return this.metaKey;case`Shift`:return this.shiftKey;default:return!1}}get[Symbol.toStringTag](){return`KeyboardEvent`}},WheelEvent$1=class extends MouseEvent{static{__name$1(this,`WheelEvent`)}deltaX;deltaY;deltaZ;deltaMode;static DOM_DELTA_PIXEL=0;static DOM_DELTA_LINE=1;static DOM_DELTA_PAGE=2;constructor(e,R){super(e,R),this.deltaX=R?.deltaX??0,this.deltaY=R?.deltaY??0,this.deltaZ=R?.deltaZ??0,this.deltaMode=R?.deltaMode??0}get[Symbol.toStringTag](){return`WheelEvent`}},FocusEvent=class extends UIEvent{relatedTarget;constructor(e,R){super(e,R),this.relatedTarget=R?.relatedTarget??null}get[Symbol.toStringTag](){return`FocusEvent`}};let Hr,Ur,Zr,$r,ei;var ti=class Node extends EventTarget$1{constructor(...e){super(...e),this.ELEMENT_NODE=rr.ELEMENT_NODE,this.ATTRIBUTE_NODE=rr.ATTRIBUTE_NODE,this.TEXT_NODE=rr.TEXT_NODE,this.CDATA_SECTION_NODE=rr.CDATA_SECTION_NODE,this.PROCESSING_INSTRUCTION_NODE=rr.PROCESSING_INSTRUCTION_NODE,this.COMMENT_NODE=rr.COMMENT_NODE,this.DOCUMENT_NODE=rr.DOCUMENT_NODE,this.DOCUMENT_TYPE_NODE=rr.DOCUMENT_TYPE_NODE,this.DOCUMENT_FRAGMENT_NODE=rr.DOCUMENT_FRAGMENT_NODE,this[Hr]=rr.ELEMENT_NODE,this[Ur]=null,this[Zr]=[],this[$r]=[],this[ei]=!1}static{this.ELEMENT_NODE=rr.ELEMENT_NODE}static{this.ATTRIBUTE_NODE=rr.ATTRIBUTE_NODE}static{this.TEXT_NODE=rr.TEXT_NODE}static{this.CDATA_SECTION_NODE=rr.CDATA_SECTION_NODE}static{this.PROCESSING_INSTRUCTION_NODE=rr.PROCESSING_INSTRUCTION_NODE}static{this.COMMENT_NODE=rr.COMMENT_NODE}static{this.DOCUMENT_NODE=rr.DOCUMENT_NODE}static{this.DOCUMENT_TYPE_NODE=rr.DOCUMENT_TYPE_NODE}static{this.DOCUMENT_FRAGMENT_NODE=rr.DOCUMENT_FRAGMENT_NODE}static{this.DOCUMENT_POSITION_DISCONNECTED=1}static{this.DOCUMENT_POSITION_PRECEDING=2}static{this.DOCUMENT_POSITION_FOLLOWING=4}static{this.DOCUMENT_POSITION_CONTAINS=8}static{this.DOCUMENT_POSITION_CONTAINED_BY=16}static{this.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32}get nodeType(){return this[Ut]}get nodeName(){return``}get parentNode(){return this[Wt]}get parentElement(){let e=this[Wt];return e&&e[Ut]===rr.ELEMENT_NODE?e:null}get childNodes(){return new NodeList(this[Gt])}get firstChild(){return this[Gt][0]??null}get lastChild(){let e=this[Gt];return e[e.length-1]??null}get previousSibling(){let e=this[Wt];if(!e)return null;let R=e[Gt],W=R.indexOf(this);return W>0?R[W-1]:null}get nextSibling(){let e=this[Wt];if(!e)return null;let R=e[Gt],W=R.indexOf(this);return W!==-1&&W<R.length-1?R[W+1]:null}get textContent(){return null}set textContent(e){}get nodeValue(){return null}set nodeValue(e){}get ownerDocument(){let e=this;for(;e[Wt];)e=e[Wt];let R=globalThis.document;return e===R?R:null}get isConnected(){return this[qt]}hasChildNodes(){return this[Gt].length>0}contains(e){if(e===null)return!1;if(e===this)return!0;let R=e;for(;R;){if(R===this)return!0;R=R[Wt]}return!1}getRootNode(){let e=this;for(;e[Wt];)e=e[Wt];return e}appendChild(e){return e[Wt]&&e[Wt].removeChild(e),e[Wt]=this,this[Gt].push(e),e[Ut]===rr.ELEMENT_NODE&&this[Kt].push(e),e}removeChild(e){let R=this[Gt],W=R.indexOf(e);if(W===-1)throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`,`NotFoundError`);if(R.splice(W,1),e[Wt]=null,e[Ut]===rr.ELEMENT_NODE){let R=this[Kt].indexOf(e);R!==-1&&this[Kt].splice(R,1)}return e}insertBefore(e,R){if(R===null)return this.appendChild(e);let W=this[Gt],Y=W.indexOf(R);if(Y===-1)throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`,`NotFoundError`);if(e[Wt]&&e[Wt].removeChild(e),e[Wt]=this,W.splice(Y,0,e),e[Ut]===rr.ELEMENT_NODE){let R=this[Kt],X=R.length;for(let ie=Y;ie<W.length;ie++)if(W[ie][Ut]===rr.ELEMENT_NODE&&W[ie]!==e){X=R.indexOf(W[ie]);break}R.splice(X,0,e)}return e}replaceChild(e,R){return this.insertBefore(e,R),this.removeChild(R),R}cloneNode(e=!1){let R=new this.constructor;if(R[Ut]=this[Ut],e)for(let e of this[Gt])R.appendChild(e.cloneNode(!0));return R}dispatchEvent(e){let R=super.dispatchEvent(e);if(e.bubbles&&!e.cancelBubble){let R=this[Wt];for(;R&&(Object.getPrototypeOf(Node.prototype).dispatchEvent.call(R,e),!e.cancelBubble);)R=R[Wt]}return R}get[(Hr=Ut,Ur=Wt,Zr=Gt,$r=Kt,ei=qt,Symbol.toStringTag)](){return`Node`}};const ni={html:`http://www.w3.org/1999/xhtml`,svg:`http://www.w3.org/2000/svg`,mathML:`http://www.w3.org/1998/Math/MathML`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};var Attr=class{constructor(e,R,W=null,Y=null,X=null){this.specified=!0,this[on]=e,this[An]=R,this[tr]=X,this.namespaceURI=W,this.prefix=Y;let ie=e.indexOf(`:`);this.localName=ie===-1?e:e.slice(ie+1)}get name(){return this[on]}get value(){return this[An]}set value(e){this[An]=e}get ownerElement(){return this[tr]}get[Symbol.toStringTag](){return`Attr`}},NamedNodeMap=class{constructor(e){this._items=[],this._ownerElement=e}get length(){return this._items.length}item(e){return this._items[e]??null}getNamedItem(e){return this._findByName(e)}getNamedItemNS(e,R){let W=e===``?null:e;for(let e of this._items)if(e.namespaceURI===W&&e.localName===R)return e;return null}setNamedItem(e){return this._setAttr(e)}setNamedItemNS(e){return this._setAttr(e)}removeNamedItem(e){let R=this._findByName(e);if(!R)throw new DOMException(`Failed to execute 'removeNamedItem' on 'NamedNodeMap': No item with name '${e}' was found.`,`NotFoundError`);return this._removeAttr(R),R}removeNamedItemNS(e,R){let W=this.getNamedItemNS(e,R);if(!W)throw new DOMException(`Failed to execute 'removeNamedItemNS' on 'NamedNodeMap': No item with namespace '${e}' and localName '${R}' was found.`,`NotFoundError`);return this._removeAttr(W),W}[Symbol.iterator](){return this._items[Symbol.iterator]()}get[Symbol.toStringTag](){return`NamedNodeMap`}_setNamedItem(e,R,W=null,Y=null){let X=W===null?this._findByName(e):this.getNamedItemNS(W,e.includes(`:`)?e.split(`:`)[1]:e);if(X)X.value=R;else{let X=new Attr(e,R,W,Y,this._ownerElement);this._items.push(X)}}_removeNamedItem(e){let R=this._findByName(e);return R?(this._removeAttr(R),!0):!1}_removeNamedItemNS(e,R){let W=this.getNamedItemNS(e,R);return W?(this._removeAttr(W),!0):!1}_findByName(e){let R=this._ownerElement.namespaceURI===ni.html,W=R?e.toLowerCase():e;for(let e of this._items)if((R?e.name.toLowerCase():e.name)===W)return e;return null}_setAttr(e){let R=null;if(R=e.namespaceURI===null?this._findByName(e.name):this.getNamedItemNS(e.namespaceURI,e.localName),R){let W=new Attr(R.name,R.value,R.namespaceURI,R.prefix,R.ownerElement);return R.value=e.value,W}return this._items.push(e),null}_removeAttr(e){let R=this._items.indexOf(e);R!==-1&&this._items.splice(R,1)}};bt();let ii,si,ci,fi,pi,mi;var Element=class extends ti{constructor(){super(),this[ii]=``,this[si]=``,this[ci]=ni.html,this[fi]=null,this[pi]=new NamedNodeMap(this),this[mi]=new Map,this._resizeSubscribers=null,this._allocatedClientWidth=0,this._allocatedClientHeight=0,this._pointerCaptures=new Set,this[Ut]=rr.ELEMENT_NODE}get tagName(){return this[Jt]}get localName(){return this[Yt]}get namespaceURI(){return this[Xt]}get prefix(){return this[Zt]}get nodeName(){return this[Jt]}get attributes(){return this[Qt]}get id(){return this.getAttribute(`id`)??``}set id(e){this.setAttribute(`id`,e)}get className(){return this.getAttribute(`class`)??``}set className(e){this.setAttribute(`class`,e)}get children(){return this[Kt]}get childElementCount(){return this[Kt].length}get firstElementChild(){return this[Kt][0]??null}get lastElementChild(){let e=this[Kt];return e[e.length-1]??null}get previousElementSibling(){let e=this[Wt];if(!e)return null;let R=e[Kt],W=R.indexOf(this);return W>0?R[W-1]:null}get nextElementSibling(){let e=this[Wt];if(!e)return null;let R=e[Kt],W=R.indexOf(this);return W!==-1&&W<R.length-1?R[W+1]:null}get textContent(){let e=``;for(let R of this[Gt])R.textContent!==null&&(e+=R.textContent);return e}set textContent(e){let R=this[Gt];for(;R.length>0;)this.removeChild(R[0])}getAttribute(e){let R=this[Qt].getNamedItem(e);return R?R.value:null}getAttributeNS(e,R){let W=this[Qt].getNamedItemNS(e,R);return W?W.value:null}setAttribute(e,R){this[Qt]._setNamedItem(e,String(R))}setAttributeNS(e,R,W){let Y=e===``?null:e,X=R.split(`:`),ie=X.length>1?X[0]:null;this[Qt]._setNamedItem(R,String(W),Y,ie)}removeAttribute(e){this[Qt]._removeNamedItem(e)}removeAttributeNS(e,R){let W=e===``?null:e;this[Qt]._removeNamedItemNS(W,R)}hasAttribute(e){return this[Qt].getNamedItem(e)!==null}hasAttributeNS(e,R){return this[Qt].getNamedItemNS(e,R)!==null}getAttributeNode(e){return this[Qt].getNamedItem(e)}setAttributeNode(e){return this[Qt].setNamedItem(e)}removeAttributeNode(e){let R=this[Qt].getNamedItem(e.name);if(!R)throw new DOMException(`Failed to execute 'removeAttributeNode' on 'Element': The attribute is not owned by this element.`,`NotFoundError`);return this[Qt].removeNamedItem(R.name),R}toggleAttribute(e,R){return R===void 0?this.hasAttribute(e)?(this.removeAttribute(e),!1):(this.setAttribute(e,``),!0):R?(this.setAttribute(e,``),!0):(this.removeAttribute(e),!1)}hasAttributes(){return this[Qt].length>0}dispatchEvent(e){let R=super.dispatchEvent(e),W=this[$t].get(`on`+e.type);return typeof W==`function`&&W.call(this,e),R}querySelector(e){return null}querySelectorAll(e){return[]}matches(e){return!1}closest(e){return null}getElementsByTagName(e){let R=[],W=e.toUpperCase(),walk=Y=>{for(let X of Y[Gt])if(X[Ut]===rr.ELEMENT_NODE){let Y=X;(e===`*`||Y[Jt]===W)&&R.push(Y),walk(Y)}};return walk(this),R}getElementsByClassName(e){let R=[],W=e.split(/\s+/).filter(Boolean),walk=e=>{for(let Y of e[Gt])if(Y[Ut]===rr.ELEMENT_NODE){let e=Y,X=e.className.split(/\s+/);W.every(e=>X.includes(e))&&R.push(e),walk(e)}};return walk(this),R}cloneNode(e=!1){let R=super.cloneNode(!1);R[Jt]=this[Jt],R[Yt]=this[Yt],R[Xt]=this[Xt],R[Zt]=this[Zt];for(let e of this[Qt])R.setAttributeNS(e.namespaceURI,e.name,e.value);if(e)for(let e of this[Gt])R.appendChild(e.cloneNode(!0));return R}_onResize(e){let R=this._resizeSubscribers??=new Set;return R.add(e),()=>{R.delete(e),R.size===0&&(this._resizeSubscribers=null)}}_fireResizeSubscribers(e,R){let W=this._resizeSubscribers;if(!(!W||W.size===0))for(let Y of[...W])try{Y(e,R)}catch(e){yt.error(`ResizeObserver subscriber threw:`,e)}}setPointerCapture(e){this._pointerCaptures.add(e)}releasePointerCapture(e){this._pointerCaptures.delete(e)}hasPointerCapture(e){return this._pointerCaptures.has(e)}get[(ii=Jt,si=Yt,ci=Xt,fi=Zt,pi=Qt,mi=$t,Symbol.toStringTag)](){return`Element`}},CSSStyleDeclaration=class{constructor(){this._cssText=``}get cssText(){return this._cssText}set cssText(e){this._cssText=e;for(let R of e.split(`;`)){let e=R.indexOf(`:`);if(e===-1)continue;let W=R.slice(0,e).trim(),Y=R.slice(e+1).trim();if(!W)continue;let X=W.replace(/-([a-z])/g,(e,R)=>R.toUpperCase());this[X]=Y}}setProperty(e,R,W){this[e]=R}getPropertyValue(e){let R=this[e];return typeof R==`string`?R:``}removeProperty(e){let R=this[e];return delete this[e],typeof R==`string`?R:``}getPropertyPriority(e){return``}},HTMLElement$1=class extends Element{static{__name$1(this,`HTMLElement`)}constructor(...e){super(...e),this.style=new CSSStyleDeclaration}get dataset(){let e=this;return new Proxy({},{get(R,W){if(typeof W!=`string`)return;let Y=`data-`+W.replace(/[A-Z]/g,e=>`-`+e.toLowerCase());return e.getAttribute(Y)??void 0},set(R,W,Y){if(typeof W!=`string`)return!1;let X=`data-`+W.replace(/[A-Z]/g,e=>`-`+e.toLowerCase());return e.setAttribute(X,String(Y)),!0},deleteProperty(R,W){if(typeof W!=`string`)return!1;let Y=`data-`+W.replace(/[A-Z]/g,e=>`-`+e.toLowerCase());return e.removeAttribute(Y),!0},has(R,W){if(typeof W!=`string`)return!1;let Y=`data-`+W.replace(/[A-Z]/g,e=>`-`+e.toLowerCase());return e.hasAttribute(Y)}})}get title(){return this.getAttribute(`title`)??``}set title(e){this.setAttribute(`title`,e)}get lang(){return this.getAttribute(`lang`)??``}set lang(e){this.setAttribute(`lang`,e)}get dir(){return this.getAttribute(`dir`)??``}set dir(e){this.setAttribute(`dir`,e)}get accessKey(){return this.getAttribute(`accesskey`)??``}set accessKey(e){this.setAttribute(`accesskey`,e)}get accessKeyLabel(){return this.getAttribute(`accesskey`)??``}get hidden(){return this.hasAttribute(`hidden`)}set hidden(e){e?this.setAttribute(`hidden`,``):this.removeAttribute(`hidden`)}get draggable(){return this.getAttribute(`draggable`)===`true`}set draggable(e){this.setAttribute(`draggable`,String(e))}get spellcheck(){let e=this.getAttribute(`spellcheck`);return e===`false`?!1:e!==null}set spellcheck(e){this.setAttribute(`spellcheck`,String(e))}get translate(){return this.getAttribute(`translate`)!==`no`}set translate(e){this.setAttribute(`translate`,e?`yes`:`no`)}get tabIndex(){let e=this.getAttribute(`tabindex`);return e===null?-1:Number(e)}set tabIndex(e){this.setAttribute(`tabindex`,String(e))}get contentEditable(){let e=this.getAttribute(`contenteditable`);return e===``||e===`true`?`true`:e===`false`?`false`:`inherit`}set contentEditable(e){e===`inherit`?this.removeAttribute(`contenteditable`):this.setAttribute(`contenteditable`,e)}get isContentEditable(){return this.contentEditable===`true`}get offsetHeight(){return this._allocatedClientHeight}get offsetWidth(){return this._allocatedClientWidth}get offsetLeft(){return 0}get offsetTop(){return 0}get offsetParent(){return null}get clientHeight(){return this._allocatedClientHeight}get clientWidth(){return this._allocatedClientWidth}get clientLeft(){return 0}get clientTop(){return 0}get scrollHeight(){return this._allocatedClientHeight}get scrollWidth(){return this._allocatedClientWidth}get scrollTop(){return 0}set scrollTop(e){}get scrollLeft(){return 0}set scrollLeft(e){}getBoundingClientRect(){let e=this.clientWidth,R=this.clientHeight;return{x:0,y:0,top:0,left:0,right:e,bottom:R,width:e,height:R,toJSON(){return this}}}click(){this.dispatchEvent(new Event$1(`click`,{bubbles:!0,cancelable:!0}))}blur(){this.dispatchEvent(new Event$1(`blur`))}focus(){this.dispatchEvent(new Event$1(`focus`))}get onclick(){return this[$t].get(`onclick`)??null}set onclick(e){this[$t].set(`onclick`,e)}get ondblclick(){return this[$t].get(`ondblclick`)??null}set ondblclick(e){this[$t].set(`ondblclick`,e)}get onload(){return this[$t].get(`onload`)??null}set onload(e){this[$t].set(`onload`,e)}get onerror(){return this[$t].get(`onerror`)??null}set onerror(e){this[$t].set(`onerror`,e)}get onabort(){return this[$t].get(`onabort`)??null}set onabort(e){this[$t].set(`onabort`,e)}get onfocus(){return this[$t].get(`onfocus`)??null}set onfocus(e){this[$t].set(`onfocus`,e)}get onblur(){return this[$t].get(`onblur`)??null}set onblur(e){this[$t].set(`onblur`,e)}get onchange(){return this[$t].get(`onchange`)??null}set onchange(e){this[$t].set(`onchange`,e)}get oninput(){return this[$t].get(`oninput`)??null}set oninput(e){this[$t].set(`oninput`,e)}get onsubmit(){return this[$t].get(`onsubmit`)??null}get onreset(){return this[$t].get(`onreset`)??null}set onreset(e){this[$t].set(`onreset`,e)}get onscroll(){return this[$t].get(`onscroll`)??null}set onscroll(e){this[$t].set(`onscroll`,e)}get onresize(){return this[$t].get(`onresize`)??null}set onresize(e){this[$t].set(`onresize`,e)}get onmousedown(){return this[$t].get(`onmousedown`)??null}set onmousedown(e){this[$t].set(`onmousedown`,e)}get onmouseup(){return this[$t].get(`onmouseup`)??null}set onmouseup(e){this[$t].set(`onmouseup`,e)}get onmousemove(){return this[$t].get(`onmousemove`)??null}set onmousemove(e){this[$t].set(`onmousemove`,e)}get onmouseover(){return this[$t].get(`onmouseover`)??null}set onmouseover(e){this[$t].set(`onmouseover`,e)}get onmouseout(){return this[$t].get(`onmouseout`)??null}set onmouseout(e){this[$t].set(`onmouseout`,e)}get onmouseenter(){return this[$t].get(`onmouseenter`)??null}set onmouseenter(e){this[$t].set(`onmouseenter`,e)}get onmouseleave(){return this[$t].get(`onmouseleave`)??null}set onmouseleave(e){this[$t].set(`onmouseleave`,e)}get oncontextmenu(){return this[$t].get(`oncontextmenu`)??null}set oncontextmenu(e){this[$t].set(`oncontextmenu`,e)}get onwheel(){return this[$t].get(`onwheel`)??null}set onwheel(e){this[$t].set(`onwheel`,e)}get onkeydown(){return this[$t].get(`onkeydown`)??null}set onkeydown(e){this[$t].set(`onkeydown`,e)}get onkeyup(){return this[$t].get(`onkeyup`)??null}set onkeyup(e){this[$t].set(`onkeyup`,e)}get ontouchstart(){return this[$t].get(`ontouchstart`)??null}set ontouchstart(e){this[$t].set(`ontouchstart`,e)}get ontouchend(){return this[$t].get(`ontouchend`)??null}set ontouchend(e){this[$t].set(`ontouchend`,e)}get ontouchmove(){return this[$t].get(`ontouchmove`)??null}set ontouchmove(e){this[$t].set(`ontouchmove`,e)}get onpointerdown(){return this[$t].get(`onpointerdown`)??null}set onpointerdown(e){this[$t].set(`onpointerdown`,e)}get onpointerup(){return this[$t].get(`onpointerup`)??null}set onpointerup(e){this[$t].set(`onpointerup`,e)}get onpointermove(){return this[$t].get(`onpointermove`)??null}set onpointermove(e){this[$t].set(`onpointermove`,e)}cloneNode(e=!1){return super.cloneNode(e)}get[Symbol.toStringTag](){return`HTMLElement`}},hi=class HTMLCanvasElement extends HTMLElement$1{constructor(...e){super(...e),this.oncontextlost=null,this.oncontextrestored=null,this.onwebglcontextcreationerror=null,this.onwebglcontextlost=null,this.onwebglcontextrestored=null}static{this._contextFactories=new Map}static registerContextFactory(e,R){HTMLCanvasElement._contextFactories.set(e,R)}get width(){let e=this.getAttribute(`width`);return e===null?300:Number(e)}set width(e){this.setAttribute(`width`,String(e))}get height(){let e=this.getAttribute(`height`);return e===null?150:Number(e)}set height(e){this.setAttribute(`height`,String(e))}getContext(e,R){let W=HTMLCanvasElement._contextFactories.get(e);return W?W(this,R):null}toDataURL(e,R){let W=this.getContext(`2d`);return W&&typeof W._toDataURL==`function`?W._toDataURL(e,R):``}toBlob(e,R,W){let Y=this.toDataURL(R,W);if(!Y){e(null);return}let[X,ie]=Y.split(`,`),ae=X.split(`:`)[1].split(`;`)[0],le=atob(ie),_e=new Uint8Array(le.length);for(let e=0;e<le.length;e++)_e[e]=le.charCodeAt(e);e(new Blob([_e],{type:ae}))}captureStream(e){return{}}},gi=class DOMMatrix{constructor(e){this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0,this.m11=1,this.m12=0,this.m13=0,this.m14=0,this.m21=0,this.m22=1,this.m23=0,this.m24=0,this.m31=0,this.m32=0,this.m33=1,this.m34=0,this.m41=0,this.m42=0,this.m43=0,this.m44=1,this.is2D=!0,this.isIdentity=!0,Array.isArray(e)&&(e.length===6?(this.a=this.m11=e[0],this.b=this.m12=e[1],this.c=this.m21=e[2],this.d=this.m22=e[3],this.e=this.m41=e[4],this.f=this.m42=e[5],this.is2D=!0):e.length===16&&(this.m11=e[0],this.m12=e[1],this.m13=e[2],this.m14=e[3],this.m21=e[4],this.m22=e[5],this.m23=e[6],this.m24=e[7],this.m31=e[8],this.m32=e[9],this.m33=e[10],this.m34=e[11],this.m41=e[12],this.m42=e[13],this.m43=e[14],this.m44=e[15],this.a=this.m11,this.b=this.m12,this.c=this.m21,this.d=this.m22,this.e=this.m41,this.f=this.m42,this.is2D=!1),this.isIdentity=this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.e===0&&this.f===0)}multiply(e){return new DOMMatrix([this.a*e.a+this.c*e.b,this.b*e.a+this.d*e.b,this.a*e.c+this.c*e.d,this.b*e.c+this.d*e.d,this.a*e.e+this.c*e.f+this.e,this.b*e.e+this.d*e.f+this.f])}multiplySelf(e){let R=this.multiply(e);return this.a=R.a,this.b=R.b,this.c=R.c,this.d=R.d,this.e=R.e,this.f=R.f,this.m11=this.a,this.m12=this.b,this.m21=this.c,this.m22=this.d,this.m41=this.e,this.m42=this.f,this.isIdentity=!1,this}inverse(){let e=this.a*this.d-this.b*this.c;if(e===0)return new DOMMatrix([1,0,0,1,0,0]);let R=1/e;return new DOMMatrix([this.d*R,-this.b*R,-this.c*R,this.a*R,(this.c*this.f-this.d*this.e)*R,(this.b*this.e-this.a*this.f)*R])}translate(e=0,R=0){return this.multiply({a:1,b:0,c:0,d:1,e,f:R})}scale(e=1,R=e){return this.multiply({a:e,b:0,c:0,d:R,e:0,f:0})}};const _i=gi;function defineGlobal(e,R){Object.defineProperty(globalThis,e,{value:R,writable:!0,configurable:!0})}function defineGlobalIfMissing(e,R){globalThis[e]===void 0&&defineGlobal(e,R)}const yi={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`,transparent:`#00000000`};function parseColor(e){if(!e||typeof e!=`string`)return null;let R=e.trim().toLowerCase(),W=yi[R];if(W)return parseHex(W);if(R.startsWith(`#`))return parseHex(R);let Y=R.match(/^rgba?\(\s*(\d+(?:\.\d+)?%?)\s*[,\s]\s*(\d+(?:\.\d+)?%?)\s*[,\s]\s*(\d+(?:\.\d+)?%?)\s*(?:[,/]\s*(\d+(?:\.\d+)?%?))?\s*\)$/);if(Y)return{r:parseComponent(Y[1],255)/255,g:parseComponent(Y[2],255)/255,b:parseComponent(Y[3],255)/255,a:Y[4]===void 0?1:parseComponent(Y[4],1)};let X=R.match(/^hsla?\(\s*(\d+(?:\.\d+)?)\s*[,\s]\s*(\d+(?:\.\d+)?)(%)?\s*[,\s]\s*(\d+(?:\.\d+)?)(%)?\s*(?:[,/]\s*(\d+(?:\.\d+)?%?))?\s*\)$/);if(X){let e=parseFloat(X[1]),R=parseFloat(X[2]),W=X[3]===`%`,Y=parseFloat(X[4]),ie=X[5]===`%`,ae=X[6]===void 0?1:parseComponent(X[6],1);return e>1&&(e/=360),(W||R>1)&&(R/=100),(ie||Y>1)&&(Y/=100),hslToRGBA(e,R,Y,Math.max(0,Math.min(1,ae)))}return null}function parseHex(e){let R=e.slice(1),W,Y,X,ie=1;if(R.length===3)W=parseInt(R[0]+R[0],16)/255,Y=parseInt(R[1]+R[1],16)/255,X=parseInt(R[2]+R[2],16)/255;else if(R.length===4)W=parseInt(R[0]+R[0],16)/255,Y=parseInt(R[1]+R[1],16)/255,X=parseInt(R[2]+R[2],16)/255,ie=parseInt(R[3]+R[3],16)/255;else if(R.length===6)W=parseInt(R.slice(0,2),16)/255,Y=parseInt(R.slice(2,4),16)/255,X=parseInt(R.slice(4,6),16)/255;else if(R.length===8)W=parseInt(R.slice(0,2),16)/255,Y=parseInt(R.slice(2,4),16)/255,X=parseInt(R.slice(4,6),16)/255,ie=parseInt(R.slice(6,8),16)/255;else return null;return{r:W,g:Y,b:X,a:ie}}function parseComponent(e,R){return e.endsWith(`%`)?parseFloat(e)/100*R:parseFloat(e)}function hue2rgb(e,R,W){return W<0&&(W+=1),W>1&&--W,W<1/6?e+(R-e)*6*W:W<1/2?R:W<2/3?e+(R-e)*(2/3-W)*6:e}function hslToRGBA(e,R,W,Y){let X,ie,ae;if(R===0)X=ie=ae=W;else{let Y=W<.5?W*(1+R):W+R-W*R,le=2*W-Y;X=hue2rgb(le,Y,e+1/3),ie=hue2rgb(le,Y,e),ae=hue2rgb(le,Y,e-1/3)}return{r:X,g:ie,b:ae,a:Y}}const bi={r:0,g:0,b:0,a:1};var CanvasGradient=class{constructor(e,R,Y,X,ie,ae,le){e===`radial`?this._pattern=new W.RadialGradient(R,Y,ae,X,ie,le):this._pattern=new W.LinearGradient(R,Y,X,ie)}addColorStop(e,R){let W=parseColor(R);W&&this._pattern.addColorStopRGBA(e,W.r,W.g,W.b,W.a)}_getCairoPattern(){return this._pattern}};function quadraticToCubic(e,R,W,Y,X,ie){return{cp1x:e+2/3*(W-e),cp1y:R+2/3*(Y-R),cp2x:X+2/3*(W-X),cp2y:ie+2/3*(Y-ie)}}function computeArcTo(e,R,W,Y,X,ie,ae){let le=e-W,_e=R-Y,ye=X-W,be=ie-Y,Ce=Math.sqrt(le*le+_e*_e),Te=Math.sqrt(ye*ye+be*be);if(Ce===0||Te===0)return null;let Oe=le/Ce,Ae=_e/Ce,Me=ye/Te,Pe=be/Te,Re=Oe*Pe-Ae*Me;if(Math.abs(Re)<1e-10)return null;let Be=Oe*Me+Ae*Pe,Ve=Math.acos(Math.max(-1,Math.min(1,Be)))/2,He=ae/Math.tan(Ve),Ue=W+Oe*He,We=Y+Ae*He,Ge=W+Me*He,Ke=Y+Pe*He,qe=ae/Math.sin(Ve),Je=(Oe+Me)/2,Ye=(Ae+Pe)/2,Xe=Math.sqrt(Je*Je+Ye*Ye),Ze=W+Je/Xe*qe,Qe=Y+Ye/Xe*qe;return{tx0:Ue,ty0:We,tx1:Ge,ty1:Ke,cx:Ze,cy:Qe,startAngle:Math.atan2(We-Qe,Ue-Ze),endAngle:Math.atan2(Ke-Qe,Ge-Ze),counterclockwise:Re>0}}function cairoArcTo(e,R,W,Y,X,ie,ae,le){let _e=computeArcTo(R,W,Y,X,ie,ae,le);if(!_e){e.lineTo(Y,X);return}let{tx0:ye,ty0:be,cx:Ce,cy:Te,startAngle:Oe,endAngle:Ae,counterclockwise:Me}=_e;e.lineTo(ye,be),Me?e.arcNegative(Ce,Te,le,Oe,Ae):e.arc(Ce,Te,le,Oe,Ae)}function cairoEllipse(e,R,W,Y,X,ie,ae,le,_e){e.save(),e.translate(R,W),e.rotate(ie),e.scale(Y,X),_e?e.arcNegative(0,0,1,ae,le):e.arc(0,0,1,ae,le),e.restore()}function cairoRoundRect(e,R,W,Y,X,ie){let ae,le,_e,ye;typeof ie==`number`?ae=le=_e=ye=ie:ie.length===1?ae=le=_e=ye=ie[0]:ie.length===2?(ae=_e=ie[0],le=ye=ie[1]):ie.length===3?(ae=ie[0],le=ye=ie[1],_e=ie[2]):(ae=ie[0],le=ie[1],_e=ie[2],ye=ie[3]);let be=Math.min(Y/2,X/2);ae=Math.min(ae,be),le=Math.min(le,be),_e=Math.min(_e,be),ye=Math.min(ye,be);let Ce=Math.PI/2;e.newSubPath(),e.arc(R+ae,W+ae,ae,Math.PI,Math.PI+Ce),e.arc(R+Y-le,W+le,le,-Ce,0),e.arc(R+Y-_e,W+X-_e,_e,0,Ce),e.arc(R+ye,W+X-ye,ye,Ce,Math.PI),e.closePath()}const Si={"source-over":2,"source-in":3,"source-out":4,"source-atop":5,"destination-over":7,"destination-in":8,"destination-out":9,"destination-atop":10,lighter:12,copy:1,xor:11,multiply:14,screen:15,overlay:16,darken:17,lighten:18,"color-dodge":19,"color-burn":20,"hard-light":21,"soft-light":22,difference:23,exclusion:24,hue:25,saturation:26,color:27,luminosity:28},Ti={butt:0,round:1,square:2},Ei={miter:0,round:1,bevel:2};var Di=class Path2D{constructor(e){this._ops=[],e instanceof Path2D&&(this._ops=[...e._ops])}addPath(e){this._ops.push(...e._ops)}moveTo(e,R){this._ops.push({type:`moveTo`,x:e,y:R})}lineTo(e,R){this._ops.push({type:`lineTo`,x:e,y:R})}closePath(){this._ops.push({type:`closePath`})}bezierCurveTo(e,R,W,Y,X,ie){this._ops.push({type:`bezierCurveTo`,cp1x:e,cp1y:R,cp2x:W,cp2y:Y,x:X,y:ie})}quadraticCurveTo(e,R,W,Y){this._ops.push({type:`quadraticCurveTo`,cpx:e,cpy:R,x:W,y:Y})}arc(e,R,W,Y,X,ie=!1){this._ops.push({type:`arc`,x:e,y:R,radius:W,startAngle:Y,endAngle:X,ccw:ie})}ellipse(e,R,W,Y,X,ie,ae,le=!1){if(W<0||Y<0)throw RangeError(`The radii provided are negative`);this._ops.push({type:`ellipse`,x:e,y:R,rx:W,ry:Y,rotation:X,startAngle:ie,endAngle:ae,ccw:le})}rect(e,R,W,Y){this._ops.push({type:`rect`,x:e,y:R,w:W,h:Y})}roundRect(e,R,W,Y,X=0){this._ops.push({type:`roundRect`,x:e,y:R,w:W,h:Y,radii:X})}_replayOnCairo(e){let R=0,W=0;for(let Y of this._ops)switch(Y.type){case`moveTo`:e.moveTo(Y.x,Y.y),R=Y.x,W=Y.y;break;case`lineTo`:e.lineTo(Y.x,Y.y),R=Y.x,W=Y.y;break;case`closePath`:e.closePath();break;case`bezierCurveTo`:e.curveTo(Y.cp1x,Y.cp1y,Y.cp2x,Y.cp2y,Y.x,Y.y),R=Y.x,W=Y.y;break;case`quadraticCurveTo`:{let{cp1x:X,cp1y:ie,cp2x:ae,cp2y:le}=quadraticToCubic(R,W,Y.cpx,Y.cpy,Y.x,Y.y);e.curveTo(X,ie,ae,le,Y.x,Y.y),R=Y.x,W=Y.y;break}case`arc`:Y.ccw?e.arcNegative(Y.x,Y.y,Y.radius,Y.startAngle,Y.endAngle):e.arc(Y.x,Y.y,Y.radius,Y.startAngle,Y.endAngle);break;case`ellipse`:e.save(),e.translate(Y.x,Y.y),e.rotate(Y.rotation),e.scale(Y.rx,Y.ry),Y.ccw?e.arcNegative(0,0,1,Y.startAngle,Y.endAngle):e.arc(0,0,1,Y.startAngle,Y.endAngle),e.restore();break;case`rect`:e.rectangle(Y.x,Y.y,Y.w,Y.h);break;case`roundRect`:cairoRoundRect(e,Y.x,Y.y,Y.w,Y.h,Y.radii);break}}};function asCairoPattern(e){if(!e)return null;let R=e;return typeof R.setFilter!=`function`||typeof R.setExtend!=`function`?null:R}function isPixbufImageSource(e){return typeof e!=`object`||!e?!1:typeof e.isPixbuf==`function`&&e.isPixbuf()}function isCanvasImageSource(e){return typeof e!=`object`||!e?!1:typeof e.getContext==`function`}var Oi=class CanvasPattern{constructor(e,R){let Y=asCairoPattern(new W.SurfacePattern(e));if(!Y)throw TypeError(`CanvasPattern: cairo SurfacePattern is missing setExtend at runtime — incompatible Cairo binding`);switch(this._pattern=Y,R){case`repeat`:case``:case null:Y.setExtend(W.Extend.REPEAT);break;case`repeat-x`:case`repeat-y`:Y.setExtend(W.Extend.REPEAT);break;case`no-repeat`:Y.setExtend(W.Extend.NONE);break}}static create(e,R){if(isPixbufImageSource(e)){let X=e._pixbuf,ie=X.get_width(),ae=X.get_height(),le=new W.ImageSurface(W.Format.ARGB32,ie,ae),_e=new W.Context(le);return Y.cairo_set_source_pixbuf(_e,X,0,0),_e.paint(),_e.$dispose(),new CanvasPattern(le,R)}if(isCanvasImageSource(e)){let Y=e.getContext(`2d`);if(Y&&typeof Y._getSurface==`function`){let e=Y._getSurface(),X=e.getWidth(),ie=e.getHeight(),ae=new W.ImageSurface(W.Format.ARGB32,X,ie),le=new W.Context(ae);return le.setSourceSurface(e,0,0),le.paint(),le.$dispose(),new CanvasPattern(ae,R)}}return null}_getCairoPattern(){return this._pattern}},OurImageData=class{constructor(e,R,W){if(this.colorSpace=`srgb`,typeof e==`number`)this.width=e,this.height=R,this.data=new Uint8ClampedArray(this.width*this.height*4);else if(this.data=e,this.width=R,this.height=W??this.data.length/(4*this.width),this.data.length!==this.width*this.height*4)throw RangeError(`Source data length ${this.data.length} is not a multiple of (4 * width=${this.width})`)}};const ki={translate(e,R){this._ensureSurface(),this._ctx.translate(e,R)},rotate(e){this._ensureSurface(),this._ctx.rotate(e)},scale(e,R){this._ensureSurface(),this._ctx.scale(e,R)},transform(e,R,W,Y,X,ie){if(this._ensureSurface(),!Number.isFinite(e)||!Number.isFinite(R)||!Number.isFinite(W)||!Number.isFinite(Y)||!Number.isFinite(X)||!Number.isFinite(ie))return;let ae=X,le=ie,_e=Math.hypot(e,R),ye=Math.hypot(W,Y),be=Math.atan2(R,e);this._ctx.translate(ae,le),be!==0&&this._ctx.rotate(be),(_e!==1||ye!==1)&&this._ctx.scale(_e,ye)},setTransform(e,R,W,Y,X,ie){if(this._ensureSurface(),typeof e==`object`&&e){let R=e;this._ctx.identityMatrix(),this.transform(R.a??R.m11??1,R.b??R.m12??0,R.c??R.m21??0,R.d??R.m22??1,R.e??R.m41??0,R.f??R.m42??0)}else typeof e==`number`?(this._ctx.identityMatrix(),this.transform(e,R,W,Y,X,ie)):this._ctx.identityMatrix()},getTransform(){let e=this._ctx.userToDevice(0,0),R=this._ctx.userToDevice(1,0),W=this._ctx.userToDevice(0,1),Y=e[0]??0,X=e[1]??0,ie=(R[0]??0)-Y,ae=(R[1]??0)-X,le=(W[0]??0)-Y,_e=(W[1]??0)-X,ye=globalThis.DOMMatrix;return typeof ye==`function`?new ye([ie,ae,le,_e,Y,X]):{a:ie,b:ae,c:le,d:_e,e:Y,f:X,m11:ie,m12:ae,m13:0,m14:0,m21:le,m22:_e,m23:0,m24:0,m31:0,m32:0,m33:1,m34:0,m41:Y,m42:X,m43:0,m44:1,is2D:!0,isIdentity:ie===1&&ae===0&&le===0&&_e===1&&Y===0&&X===0}},resetTransform(){this._ensureSurface(),this._ctx.identityMatrix()}};function installTransformMethods(e){Object.assign(e,ki)}const Ai={beginPath(){this._ensureSurface(),this._ctx.newPath()},moveTo(e,R){this._ensureSurface(),this._ctx.moveTo(e,R)},lineTo(e,R){this._ensureSurface(),this._ctx.lineTo(e,R)},closePath(){this._ensureSurface(),this._ctx.closePath()},bezierCurveTo(e,R,W,Y,X,ie){this._ensureSurface(),this._ctx.curveTo(e,R,W,Y,X,ie)},quadraticCurveTo(e,R,W,Y){this._ensureSurface();let X,ie;this._ctx.hasCurrentPoint()?[X,ie]=this._ctx.getCurrentPoint():(X=e,ie=R);let{cp1x:ae,cp1y:le,cp2x:_e,cp2y:ye}=quadraticToCubic(X,ie,e,R,W,Y);this._ctx.curveTo(ae,le,_e,ye,W,Y)},arc(e,R,W,Y,X,ie=!1){if(this._ensureSurface(),Math.abs(X-Y)>=2*Math.PI){this._ctx.arc(e,R,W,0,2*Math.PI);return}ie?this._ctx.arcNegative(e,R,W,Y,X):this._ctx.arc(e,R,W,Y,X)},arcTo(e,R,W,Y,X){this._ensureSurface();let ie,ae;this._ctx.hasCurrentPoint()?[ie,ae]=this._ctx.getCurrentPoint():(ie=e,ae=R,this._ctx.moveTo(e,R)),cairoArcTo(this._ctx,ie,ae,e,R,W,Y,X)},ellipse(e,R,W,Y,X,ie,ae,le=!1){if(this._ensureSurface(),W<0||Y<0)throw RangeError(`The radii provided are negative`);cairoEllipse(this._ctx,e,R,W,Y,X,ie,ae,le)},rect(e,R,W,Y){this._ensureSurface(),this._ctx.rectangle(e,R,W,Y)},roundRect(e,R,W,Y,X=0){this._ensureSurface(),cairoRoundRect(this._ctx,e,R,W,Y,X)}};function installPathMethods(e){Object.assign(e,Ai)}function getDrawImageSource(e){if(isPixbufImageSource(e)){let R=e._pixbuf;return{pixbuf:R,imgWidth:R.get_width(),imgHeight:R.get_height()}}if(isCanvasImageSource(e)){let R=e.width??0,W=e.height??0;if(!Number.isFinite(R)||!Number.isFinite(W)||R<=0||W<=0)return null;let X=e.getContext(`2d`);if(X&&typeof X._getSurface==`function`){let e=X._getSurface();e.flush();let ie=Y.pixbuf_get_from_surface(e,0,0,R,W);if(ie)return{pixbuf:ie,imgWidth:R,imgHeight:W}}}return null}const Mi={fill(e,R){this._ensureSurface(),this._applyCompositing(),this._applyFillStyle();let Y;e instanceof Di?(this._ctx.newPath(),e._replayOnCairo(this._ctx),Y=R):Y=e,this._ctx.setFillRule(Y===`evenodd`?W.FillRule.EVEN_ODD:W.FillRule.WINDING),this._ctx.fillPreserve()},stroke(e){this._ensureSurface(),this._applyCompositing(),this._applyStrokeStyle(),this._applyLineStyle(),e instanceof Di&&(this._ctx.newPath(),e._replayOnCairo(this._ctx)),this._ctx.strokePreserve()},fillRect(e,R,W,Y){this._ensureSurface(),this._applyCompositing();let X=this._ctx.copyPath();this._hasShadow()&&this._renderShadow(()=>{this._ctx.newPath(),this._ctx.rectangle(e,R,W,Y),this._ctx.fill()}),this._applyFillStyle(),this._ctx.newPath(),this._ctx.rectangle(e,R,W,Y),this._ctx.fill(),this._ctx.newPath(),this._ctx.appendPath(X)},strokeRect(e,R,W,Y){this._ensureSurface(),this._applyCompositing();let X=this._ctx.copyPath();this._hasShadow()&&this._renderShadow(()=>{this._ctx.newPath(),this._ctx.rectangle(e,R,W,Y),this._ctx.stroke()}),this._applyStrokeStyle(),this._applyLineStyle(),this._ctx.newPath(),this._ctx.rectangle(e,R,W,Y),this._ctx.stroke(),this._ctx.newPath(),this._ctx.appendPath(X)},clearRect(e,R,Y,X){this._ensureSurface();let ie=this._ctx.copyPath();this._ctx.save(),this._ctx.setOperator(W.Operator.CLEAR),this._ctx.newPath(),this._ctx.rectangle(e,R,Y,X),this._ctx.fill(),this._ctx.restore(),this._ctx.newPath(),this._ctx.appendPath(ie)},clip(e,R){this._ensureSurface();let Y;e instanceof Di?(this._ctx.newPath(),e._replayOnCairo(this._ctx),Y=R):Y=e,this._ctx.setFillRule(Y===`evenodd`?W.FillRule.EVEN_ODD:W.FillRule.WINDING),this._ctx.clip()},isPointInPath(e,R,Y,X){this._ensureSurface();let ie,ae,le;return e instanceof Di?(this._ctx.newPath(),e._replayOnCairo(this._ctx),ie=R,ae=Y,le=X):(ie=e,ae=R,le=Y),this._ctx.setFillRule(le===`evenodd`?W.FillRule.EVEN_ODD:W.FillRule.WINDING),this._ctx.inFill(ie,ae)},isPointInStroke(e,R,W){return this._ensureSurface(),this._applyLineStyle(),e instanceof Di?(this._ctx.newPath(),e._replayOnCairo(this._ctx),this._ctx.inStroke(R,W)):this._ctx.inStroke(e,R)},drawImage(e,R,X,ie,ae,le,_e,ye,be){this._ensureSurface(),this._applyCompositing();let Ce,Te,Oe,Ae,Me,Pe,Re,Be,Ve=getDrawImageSource(e);if(!Ve)return;let{pixbuf:He,imgWidth:Ue,imgHeight:We}=Ve;if(ie===void 0?(Ce=0,Te=0,Oe=Ue,Ae=We,Me=R,Pe=X,Re=Ue,Be=We):le===void 0?(Ce=0,Te=0,Oe=Ue,Ae=We,Me=R,Pe=X,Re=ie,Be=ae):(Ce=R,Te=X,Oe=ie,Ae=ae,Me=le,Pe=_e,Re=ye,Be=be),!Number.isFinite(Ce)||!Number.isFinite(Te)||!Number.isFinite(Oe)||!Number.isFinite(Ae)||!Number.isFinite(Me)||!Number.isFinite(Pe)||!Number.isFinite(Re)||!Number.isFinite(Be)||Oe===0||Ae===0||Re===0||Be===0)return;this._ctx.save(),this._ctx.rectangle(Me,Pe,Re,Be),this._ctx.clip(),this._ctx.translate(Me,Pe),this._ctx.scale(Re/Oe,Be/Ae),this._ctx.translate(-Ce,-Te),Y.cairo_set_source_pixbuf(this._ctx,He,0,0);let Ge=asCairoPattern(this._ctx.getSource?.());if(Ge){let e;e=this._state.imageSmoothingEnabled?this._state.imageSmoothingQuality===`high`?W.Filter.BEST:W.Filter.BILINEAR:W.Filter.NEAREST,Ge.setFilter(e)}this._state.globalAlpha<1?this._ctx.paintWithAlpha(this._state.globalAlpha):this._ctx.paint(),this._ctx.restore()}};function installDrawingMethods$1(e){Object.assign(e,Mi)}__name$1(installDrawingMethods$1,`installDrawingMethods`);const Fi={createImageData(e,R){return typeof e==`number`?new OurImageData(Math.abs(e),Math.abs(R)):new OurImageData(e.width,e.height)},getImageData(e,R,W,X){this._ensureSurface(),this._surface.flush();let ie=Y.pixbuf_get_from_surface(this._surface,e,R,W,X);if(!ie)return new OurImageData(W,X);let ae=ie.get_pixels(),le=ie.get_has_alpha(),_e=ie.get_rowstride(),ye=ie.get_n_channels(),be=new Uint8ClampedArray(W*X*4);for(let e=0;e<X;e++)for(let R=0;R<W;R++){let Y=e*_e+R*ye,X=(e*W+R)*4;be[X]=ae[Y],be[X+1]=ae[Y+1],be[X+2]=ae[Y+2],be[X+3]=le?ae[Y+3]:255}return new OurImageData(be,W,X)},putImageData(e,R,ie,ae,le,_e,ye){this._ensureSurface();let be=ae??0,Ce=le??0,Te=_e??e.width,Oe=ye??e.height,Ae=e.data,Me=e.width,Pe=new Uint8Array(Te*Oe*4);for(let e=0;e<Oe;e++)for(let R=0;R<Te;R++){let W=((Ce+e)*Me+(be+R))*4,Y=(e*Te+R)*4;Pe[Y]=Ae[W],Pe[Y+1]=Ae[W+1],Pe[Y+2]=Ae[W+2],Pe[Y+3]=Ae[W+3]}let Re=X.Pixbuf.new_from_bytes(Pe,X.Colorspace.RGB,!0,8,Te,Oe,Te*4);this._ctx.save(),this._ctx.setOperator(W.Operator.SOURCE),Y.cairo_set_source_pixbuf(this._ctx,Re,R+be,ie+Ce),this._ctx.rectangle(R+be,ie+Ce,Te,Oe),this._ctx.fill(),this._ctx.restore()}};function installPixelMethods(e){Object.assign(e,Fi)}function parseFontToDescription(e){let R=e.match(/^\s*(italic|oblique|normal)?\s*(small-caps|normal)?\s*(bold|bolder|lighter|[1-9]00|normal)?\s*(\d+(?:\.\d+)?)(px|pt|em|rem|%)?\s*(?:\/\S+)?\s*(.+)?$/i);if(!R)return ie.font_description_from_string(e);let W=R[1]||``,Y=R[3]||``,X=parseFloat(R[4])||10,ae=(R[5]||`px`).toLowerCase(),le=(R[6]||`sans-serif`).replace(/['"]/g,``).trim();ae===`pt`?X=X*96/72:ae===`em`||ae===`rem`?X*=16:ae===`%`&&(X=X/100*16);let _e=le;W===`italic`?_e+=` Italic`:W===`oblique`&&(_e+=` Oblique`),Y===`bold`||Y===`bolder`||parseInt(Y)>=600?_e+=` Bold`:(Y===`lighter`||parseInt(Y)>0&&parseInt(Y)<=300)&&(_e+=` Light`);let ye=ie.font_description_from_string(_e);return ye.set_absolute_size(X*ie.SCALE),ye}function createTextLayout(e,R){let W=ae.create_layout(e._ctx);W.set_text(R,-1),W.get_context().set_base_dir(ie.Direction.LTR),W.context_changed();let Y=parseFontToDescription(e._state.font);return W.set_font_description(Y),W}function getTextAlignOffset(e,R){let[,W]=R.get_pixel_extents(),Y=W.width;switch(e._state.textAlign){case`center`:return-Y/2;case`right`:case`end`:return-Y;default:return 0}}function getTextBaselineOffset(e,R){let W=R.get_font_description()||parseFontToDescription(e._state.font),Y=R.get_context().get_metrics(W,null),X=Y.get_ascent()/ie.SCALE,ae=Y.get_descent()/ie.SCALE,le=X+ae;switch(e._state.textBaseline){case`top`:return 0;case`hanging`:return-(X*.2);case`middle`:return-(le/2);case`alphabetic`:return-X;case`ideographic`:return-(X+ae*.5);case`bottom`:return-le;default:return-X}}const Ii={fillText(e,R,Y,X){this._ensureSurface(),this._applyCompositing();let ie=createTextLayout(this,e),le=getTextAlignOffset(this,ie),_e=getTextBaselineOffset(this,ie);if(this._hasShadow()){let e=parseColor(this._state.shadowColor);if(e){let[X,ye]=this._deviceToUserDistance(this._state.shadowOffsetX,this._state.shadowOffsetY),be=this._state.shadowBlur,Ce;if(be>0){let[R]=this._deviceToUserDistance(be,0),[,W]=this._deviceToUserDistance(0,be);Ce=[[X,ye,e.a],[X+R,ye,e.a*.5],[X-R,ye,e.a*.5],[X,ye+W,e.a*.5],[X,ye-W,e.a*.5]]}else Ce=[[X,ye,e.a]];let Te=this._state.imageSmoothingEnabled?W.Antialias.DEFAULT:W.Antialias.NONE;for(let[W,X,ye]of Ce)this._ctx.save(),this._ctx.setAntialias(Te),this._ctx.setSourceRGBA(e.r,e.g,e.b,ye),this._ctx.moveTo(R+le+W,Y+_e+X),ae.show_layout(this._ctx,ie),this._ctx.restore()}}this._applyFillStyle(),this._ctx.save(),this._ctx.setAntialias(this._state.imageSmoothingEnabled?W.Antialias.DEFAULT:W.Antialias.NONE),this._ctx.moveTo(R+le,Y+_e),ae.show_layout(this._ctx,ie),this._ctx.restore()},strokeText(e,R,Y,X){this._ensureSurface(),this._applyCompositing(),this._applyStrokeStyle(),this._applyLineStyle();let ie=createTextLayout(this,e),le=getTextAlignOffset(this,ie),_e=getTextBaselineOffset(this,ie);this._ctx.save(),this._ctx.setAntialias(this._state.imageSmoothingEnabled?W.Antialias.DEFAULT:W.Antialias.NONE),this._ctx.moveTo(R+le,Y+_e),ae.layout_path(this._ctx,ie),this._ctx.stroke(),this._ctx.restore()},measureText(e){this._ensureSurface();let R=createTextLayout(this,e),[W,Y]=R.get_pixel_extents(),X=R.get_baseline()/ie.SCALE,ae=Math.max(0,X-W.y),le=Math.max(0,W.y+W.height-X),_e=R.get_font_description()||parseFontToDescription(this._state.font),ye=R.get_context().get_metrics(_e,null),be=ye.get_ascent()/ie.SCALE,Ce=ye.get_descent()/ie.SCALE;return{width:Y.width,actualBoundingBoxAscent:ae,actualBoundingBoxDescent:le,actualBoundingBoxLeft:Math.max(0,-W.x),actualBoundingBoxRight:W.x+W.width,fontBoundingBoxAscent:be,fontBoundingBoxDescent:Ce,alphabeticBaseline:0,emHeightAscent:be,emHeightDescent:Ce,hangingBaseline:be*.8,ideographicBaseline:-Ce}}};function installTextMethods(e){Object.assign(e,Ii)}const Li={createLinearGradient(e,R,W,Y){return new CanvasGradient(`linear`,e,R,W,Y)},createRadialGradient(e,R,W,Y,X,ie){return new CanvasGradient(`radial`,e,R,Y,X,W,ie)},createPattern(e,R){return Oi.create(e,R)}};function installFactoryMethods(e){Object.assign(e,Li)}function installAllContextMethods$1(e){installTransformMethods(e),installPathMethods(e),installDrawingMethods$1(e),installPixelMethods(e),installTextMethods(e),installFactoryMethods(e)}__name$1(installAllContextMethods$1,`installAllContextMethods`);function createDefaultState(){return{fillStyle:`#000000`,fillColor:{...bi},strokeStyle:`#000000`,strokeColor:{...bi},lineWidth:1,lineCap:`butt`,lineJoin:`miter`,miterLimit:10,lineDash:[],lineDashOffset:0,globalAlpha:1,globalCompositeOperation:`source-over`,shadowColor:`rgba(0, 0, 0, 0)`,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,font:`10px sans-serif`,textAlign:`start`,textBaseline:`alphabetic`,direction:`ltr`,imageSmoothingEnabled:!0,imageSmoothingQuality:`low`}}function cloneState(e){return{...e,fillColor:{...e.fillColor},strokeColor:{...e.strokeColor},lineDash:[...e.lineDash]}}var CanvasRenderingContext2D=class{constructor(e,R){this._stateStack=[],this.canvas=e,this._surfaceWidth=e.width||300,this._surfaceHeight=e.height||150,this._surface=new W.ImageSurface(W.Format.ARGB32,this._surfaceWidth,this._surfaceHeight),this._ctx=new W.Context(this._surface),this._state=createDefaultState()}_ensureSurface(){let e=this.canvas.width||300,R=this.canvas.height||150;(e!==this._surfaceWidth||R!==this._surfaceHeight)&&(this._ctx.$dispose(),this._surface.finish(),this._surfaceWidth=e,this._surfaceHeight=R,this._surface=new W.ImageSurface(W.Format.ARGB32,e,R),this._ctx=new W.Context(this._surface),this._stateStack=[])}_resetState(){this._state=createDefaultState(),this._stateStack=[]}_applyFillStyle(){let e=this._state.fillStyle;if(typeof e==`string`){let e=this._state.fillColor,R=e.a*this._state.globalAlpha;this._ctx.setSourceRGBA(e.r,e.g,e.b,R)}else e instanceof CanvasGradient?this._ctx.setSource(e._getCairoPattern()):e instanceof Oi&&(this._ctx.setSource(e._getCairoPattern()),this._applyPatternFilter())}_applyStrokeStyle(){let e=this._state.strokeStyle;if(typeof e==`string`){let e=this._state.strokeColor,R=e.a*this._state.globalAlpha;this._ctx.setSourceRGBA(e.r,e.g,e.b,R)}else e instanceof CanvasGradient?this._ctx.setSource(e._getCairoPattern()):e instanceof Oi&&(this._ctx.setSource(e._getCairoPattern()),this._applyPatternFilter())}_applyPatternFilter(){let e=asCairoPattern(this._ctx.getSource?.());if(!e)return;let R;R=this._state.imageSmoothingEnabled?this._state.imageSmoothingQuality===`high`?W.Filter.BEST:W.Filter.BILINEAR:W.Filter.NEAREST,e.setFilter(R)}_applyLineStyle(){this._ctx.setLineWidth(this._state.lineWidth),this._ctx.setLineCap(Ti[this._state.lineCap]),this._ctx.setLineJoin(Ei[this._state.lineJoin]),this._ctx.setMiterLimit(this._state.miterLimit),this._ctx.setDash(this._state.lineDash,this._state.lineDashOffset)}_applyCompositing(){let e=Si[this._state.globalCompositeOperation];e!==void 0&&this._ctx.setOperator(e)}_getSurface(){return this._surface}_hasShadow(){if(this._state.shadowBlur===0&&this._state.shadowOffsetX===0&&this._state.shadowOffsetY===0)return!1;let e=parseColor(this._state.shadowColor);return e!==null&&e.a>0}_deviceToUserDistance(e,R){let W=this._ctx.userToDevice(0,0),Y=this._ctx.userToDevice(1,0),X=this._ctx.userToDevice(0,1),ie=(Y[0]??0)-(W[0]??0),ae=(Y[1]??0)-(W[1]??0),le=(X[0]??0)-(W[0]??0),_e=(X[1]??0)-(W[1]??0),ye=ie*_e-ae*le;return Math.abs(ye)<1e-10?[e,R]:[(_e*e-le*R)/ye,(-ae*e+ie*R)/ye]}_renderShadow(e){}save(){this._ensureSurface(),this._stateStack.push(cloneState(this._state)),this._ctx.save()}restore(){this._ensureSurface();let e=this._stateStack.pop();e&&(this._state=e,this._ctx.restore())}get fillStyle(){return this._state.fillStyle}set fillStyle(e){if(typeof e==`string`){let R=parseColor(e);R&&(this._state.fillStyle=e,this._state.fillColor=R)}else this._state.fillStyle=e}get strokeStyle(){return this._state.strokeStyle}set strokeStyle(e){if(typeof e==`string`){let R=parseColor(e);R&&(this._state.strokeStyle=e,this._state.strokeColor=R)}else this._state.strokeStyle=e}get lineWidth(){return this._state.lineWidth}set lineWidth(e){e>0&&isFinite(e)&&(this._state.lineWidth=e)}get lineCap(){return this._state.lineCap}set lineCap(e){(e===`butt`||e===`round`||e===`square`)&&(this._state.lineCap=e)}get lineJoin(){return this._state.lineJoin}set lineJoin(e){(e===`miter`||e===`round`||e===`bevel`)&&(this._state.lineJoin=e)}get miterLimit(){return this._state.miterLimit}set miterLimit(e){e>0&&isFinite(e)&&(this._state.miterLimit=e)}get globalAlpha(){return this._state.globalAlpha}set globalAlpha(e){e>=0&&e<=1&&isFinite(e)&&(this._state.globalAlpha=e)}get globalCompositeOperation(){return this._state.globalCompositeOperation}set globalCompositeOperation(e){Si[e]!==void 0&&(this._state.globalCompositeOperation=e)}get imageSmoothingEnabled(){return this._state.imageSmoothingEnabled}set imageSmoothingEnabled(e){this._state.imageSmoothingEnabled=!!e}get imageSmoothingQuality(){return this._state.imageSmoothingQuality}set imageSmoothingQuality(e){(e===`low`||e===`medium`||e===`high`)&&(this._state.imageSmoothingQuality=e)}setLineDash(e){e.some(e=>e<0||!isFinite(e))||(this._state.lineDash=[...e])}getLineDash(){return[...this._state.lineDash]}get lineDashOffset(){return this._state.lineDashOffset}set lineDashOffset(e){isFinite(e)&&(this._state.lineDashOffset=e)}get shadowColor(){return this._state.shadowColor}set shadowColor(e){this._state.shadowColor=e}get shadowBlur(){return this._state.shadowBlur}set shadowBlur(e){e>=0&&isFinite(e)&&(this._state.shadowBlur=e)}get shadowOffsetX(){return this._state.shadowOffsetX}set shadowOffsetX(e){isFinite(e)&&(this._state.shadowOffsetX=e)}get shadowOffsetY(){return this._state.shadowOffsetY}set shadowOffsetY(e){isFinite(e)&&(this._state.shadowOffsetY=e)}get font(){return this._state.font}set font(e){this._state.font=e}get textAlign(){return this._state.textAlign}set textAlign(e){this._state.textAlign=e}get textBaseline(){return this._state.textBaseline}set textBaseline(e){this._state.textBaseline=e}get direction(){return this._state.direction}set direction(e){this._state.direction=e}_toDataURL(e,R){this._surface.flush();let W=imports.gi.Gio,Y=imports.gi.GLib,[,X]=Y.file_open_tmp(`canvas-XXXXXX.png`);try{this._surface.writeToPNG(X);let[,e]=W.File.new_for_path(X).load_contents(null);return`data:image/png;base64,${Y.base64_encode(e)}`}finally{try{Y.unlink(X)}catch{}}}_dispose(){this._ctx.$dispose(),this._surface.finish()}};installAllContextMethods$1(CanvasRenderingContext2D.prototype),defineGlobal(`HTMLCanvasElement`,hi),defineGlobal(`CanvasRenderingContext2D`,CanvasRenderingContext2D),defineGlobal(`DOMMatrix`,gi),defineGlobal(`DOMMatrixReadOnly`,_i);const zi=Symbol.for(`gjsify_canvas2d_context`);hi.registerContextFactory(`2d`,(e,R)=>{let W=e,Y=W[zi];if(Y)return Y;let X=new CanvasRenderingContext2D(e,R);return W[zi]=X,X});var CharacterData=class extends ti{constructor(e=``){super(),this[Ut]=rr.TEXT_NODE,this._data=e}get data(){return this._data}set data(e){this._data=e}get textContent(){return this._data}set textContent(e){this._data=e}get nodeValue(){return this._data}set nodeValue(e){this._data=e}get length(){return this._data.length}appendData(e){this._data+=e}deleteData(e,R){this._data=this._data.substring(0,e)+this._data.substring(e+R)}insertData(e,R){this._data=this._data.substring(0,e)+R+this._data.substring(e)}replaceData(e,R,W){this._data=this._data.substring(0,e)+W+this._data.substring(e+R)}substringData(e,R){return this._data.substring(e,e+R)}cloneNode(e=!1){return new this.constructor(this._data)}get[Symbol.toStringTag](){return`CharacterData`}},Vi=class Comment extends CharacterData{constructor(e=``){super(e),this[Ut]=rr.COMMENT_NODE}get nodeName(){return`#comment`}cloneNode(e=!1){return new Comment(this.data)}get[Symbol.toStringTag](){return`Comment`}},Hi=class Text extends CharacterData{constructor(e=``){super(e),this[Ut]=rr.TEXT_NODE}get nodeName(){return`#text`}get wholeText(){let e=this.data,R=this.previousSibling;for(;R&&R instanceof Text;)e=R.data+e,R=R.previousSibling;let W=this.nextSibling;for(;W&&W instanceof Text;)e+=W.data,W=W.nextSibling;return e}splitText(e){let R=this.data.substring(e);this.data=this.data.substring(0,e);let W=new Text(R);return this.parentNode&&this.parentNode.insertBefore(W,this.nextSibling),W}cloneNode(e=!1){return new Text(this.data)}get[Symbol.toStringTag](){return`Text`}},Ui=class DocumentFragment extends ti{constructor(){super(),this[Ut]=rr.DOCUMENT_FRAGMENT_NODE}get nodeName(){return`#document-fragment`}get children(){return this[Kt]}get childElementCount(){return this[Kt].length}get firstElementChild(){return this[Kt][0]??null}get lastElementChild(){let e=this[Kt];return e[e.length-1]??null}get textContent(){let e=``;for(let R of this.childNodes)R.textContent!==null&&(e+=R.textContent);return e}set textContent(e){for(;this.firstChild;)this.removeChild(this.firstChild);e&&this.appendChild(new Hi(e))}append(...e){for(let R of e)typeof R==`string`?this.appendChild(new Hi(R)):this.appendChild(R)}prepend(...e){let R=this.firstChild;for(let W of e)typeof W==`string`?this.insertBefore(new Hi(W),R):this.insertBefore(W,R)}replaceChildren(...e){for(;this.firstChild;)this.removeChild(this.firstChild);this.append(...e)}getElementById(e){for(let R of this.children){if(R.id===e)return R;let W=this._findById(R,e);if(W)return W}return null}_findById(e,R){for(let W of e.children){if(W.id===R)return W;let e=this._findById(W,R);if(e)return e}return null}cloneNode(e=!1){let R=new DocumentFragment;if(e)for(let e of this.childNodes)R.appendChild(e.cloneNode(!0));return R}get[Symbol.toStringTag](){return`DocumentFragment`}},Wi=le;bt(),$e(),st();var HTMLImageElement=class extends HTMLElement$1{constructor(){super(),this._complete=!1,this._naturalHeight=0,this._naturalWidth=0,this[Jt]=`IMG`,this[Yt]=`img`,this[Xt]=ni.html}get complete(){return this._complete}get naturalHeight(){return this._naturalHeight}get naturalWidth(){return this._naturalWidth}get currentSrc(){return this.src}get x(){return 0}get y(){return 0}get alt(){return this.getAttribute(`alt`)??``}set alt(e){this.setAttribute(`alt`,e)}get crossOrigin(){return this.getAttribute(`crossorigin`)}set crossOrigin(e){e===null?this.removeAttribute(`crossorigin`):this.setAttribute(`crossorigin`,e)}get decoding(){return this.getAttribute(`decoding`)??`auto`}set decoding(e){this.setAttribute(`decoding`,e)}get loading(){let e=this.getAttribute(`loading`);return e===`lazy`||e===`eager`?e:`auto`}set loading(e){this.setAttribute(`loading`,e)}get referrerPolicy(){return this.getAttribute(`referrerpolicy`)??``}set referrerPolicy(e){this.setAttribute(`referrerpolicy`,e)}get sizes(){return this.getAttribute(`sizes`)??``}set sizes(e){this.setAttribute(`sizes`,e)}get src(){return this.getAttribute(`src`)??``}set src(e){this.setAttribute(`src`,e);let R=globalThis.__GJSIFY_DEBUG_IMG===!0;if(e.startsWith(`data:`)){let W=e.indexOf(`,`);if(W===-1){this._complete=!0,this.dispatchEvent(new Event$1(`error`));return}let Y=e.slice(5,W),X=e.slice(W+1),ie=Y.includes(`;base64`);try{let e;e=ie?Qe.base64_decode(X):new TextEncoder().encode(decodeURIComponent(X));let W=Qe.Bytes.new(e),Y=at.MemoryInputStream.new_from_bytes(W);this._pixbuf=Wi.Pixbuf.new_from_stream(Y,null),this._naturalWidth=this._pixbuf.get_width(),this._naturalHeight=this._pixbuf.get_height(),this._complete=!0,R&&yt.log(`[img] ok data: (${this._naturalWidth}x${this._naturalHeight})`),this.dispatchEvent(new Event$1(`load`))}catch(e){R&&yt.warn(`[img] error data:: ${e instanceof Error?e.message:String(e)}`),this._complete=!0,this.dispatchEvent(new Event$1(`error`))}return}let W;if(e.startsWith(`file://`))W=Qe.filename_from_uri(e)[0];else if(e.startsWith(`http://`)||e.startsWith(`https://`)){this._complete=!0,this.dispatchEvent(new Event$1(`error`));return}else{let R=Qe.path_get_dirname(_e.programInvocationName);W=Qe.build_filenamev([R,e])}try{R&&yt.log(`[img] load ${W}`),this._pixbuf=Wi.Pixbuf.new_from_file(W),this._naturalWidth=this._pixbuf.get_width(),this._naturalHeight=this._pixbuf.get_height(),this._complete=!0,R&&yt.log(`[img] ok ${W} (${this._naturalWidth}x${this._naturalHeight})`),this.dispatchEvent(new Event$1(`load`))}catch(e){R&&yt.warn(`[img] error ${W}: ${e instanceof Error?e.message:String(e)}`),this._complete=!0,this.dispatchEvent(new Event$1(`error`))}}get srcset(){return this.getAttribute(`srcset`)??``}set srcset(e){this.setAttribute(`srcset`,e)}get useMap(){return this.getAttribute(`usemap`)??``}set useMap(e){this.setAttribute(`usemap`,e)}get height(){if(this._pixbuf)return this._pixbuf.get_height();let e=this.getAttribute(`height`);return e===null?0:Number(e)}set height(e){this.setAttribute(`height`,String(e))}get width(){if(this._pixbuf)return this._pixbuf.get_width();let e=this.getAttribute(`width`);return e===null?0:Number(e)}set width(e){this.setAttribute(`width`,String(e))}get isMap(){return this.hasAttribute(`ismap`)}set isMap(e){e?this.setAttribute(`ismap`,``):this.removeAttribute(`ismap`)}decode(){return Promise.resolve()}cloneNode(e=!1){return super.cloneNode(e)}getImageData(){if(!this._pixbuf)return null;let e=this._pixbuf.get_has_alpha()?this._pixbuf:this._pixbuf.add_alpha(!1,0,0,0)??this._pixbuf;return{colorSpace:`srgb`,data:new Uint8ClampedArray(e.get_pixels()),height:e.get_height(),width:e.get_width()}}isPixbuf(){return!!this._pixbuf}get[Symbol.toStringTag](){return`HTMLImageElement`}},HTMLMediaElement=class extends HTMLElement$1{constructor(...e){super(...e),this._src=``,this._srcObject=null,this.currentTime=0,this.duration=NaN,this.paused=!0,this.ended=!1,this.volume=1,this.muted=!1,this.defaultMuted=!1,this.loop=!1,this.autoplay=!1,this.preload=``,this.playbackRate=1,this.defaultPlaybackRate=1,this.readyState=0,this.networkState=0}get buffered(){return{length:0,start:()=>0,end:()=>0}}get seekable(){return{length:0,start:()=>0,end:()=>0}}get played(){return{length:0,start:()=>0,end:()=>0}}get src(){return this._src}set src(e){this._src=e,this._srcObject=null,this.dispatchEvent(new Event$1(`srcchange`))}get srcObject(){return this._srcObject}set srcObject(e){this._srcObject=e,this._src=``,this.dispatchEvent(new Event$1(`srcobjectchange`))}play(){return this.paused=!1,this.ended=!1,this.dispatchEvent(new Event$1(`play`)),Promise.resolve()}pause(){this.paused=!0,this.dispatchEvent(new Event$1(`pause`))}load(){this.readyState=0,this.networkState=2,this.dispatchEvent(new Event$1(`loadstart`))}canPlayType(e){return``}static{this.HAVE_NOTHING=0}static{this.HAVE_METADATA=1}static{this.HAVE_CURRENT_DATA=2}static{this.HAVE_FUTURE_DATA=3}static{this.HAVE_ENOUGH_DATA=4}static{this.NETWORK_EMPTY=0}static{this.NETWORK_IDLE=1}static{this.NETWORK_LOADING=2}static{this.NETWORK_NO_SOURCE=3}get[Symbol.toStringTag](){return`HTMLMediaElement`}};const Gi=1e9;function secondsToGstTime(e){return BigInt(Math.round(e*Gi))}function gstTimeToSeconds(e){return Number(e)/Gi}var HTMLVideoElement=class extends HTMLMediaElement{constructor(){super(),this._pipeline=null,this._videoWidth=0,this._videoHeight=0,this.poster=``,this[Jt]=`VIDEO`,this[Yt]=`video`,this[Xt]=ni.html;let e=this;Object.defineProperty(this,"paused",{get(){if(!e._pipeline)return!0;let[,R]=e._pipeline.get_state(0n);return R!==4},configurable:!0,enumerable:!0}),Object.defineProperty(this,"currentTime",{get(){if(!e._pipeline)return 0;let[R,W]=e._pipeline.query_position(3);return R?gstTimeToSeconds(W):0},set(R){e._pipeline?.seek(1,3,5,1,secondsToGstTime(R),0,-1n)},configurable:!0,enumerable:!0}),Object.defineProperty(this,"duration",{get(){if(!e._pipeline)return NaN;let[R,W]=e._pipeline.query_duration(3);return R&&Number(W)>0?gstTimeToSeconds(W):NaN},configurable:!0,enumerable:!0}),Object.defineProperty(this,"volume",{get(){return e._playbin()?.volume??1},set(R){let W=e._playbin();W&&(W.volume=Math.max(0,Math.min(1,R)))},configurable:!0,enumerable:!0}),Object.defineProperty(this,"muted",{get(){return e._playbin()?.mute??!1},set(R){let W=e._playbin();W&&(W.mute=R)},configurable:!0,enumerable:!0})}async play(){this._pipeline?.set_state(4),this.dispatchEvent(new Event$1(`play`)),this.dispatchEvent(new Event$1(`playing`))}pause(){this._pipeline?.set_state(3),this.dispatchEvent(new Event$1(`pause`))}get videoWidth(){return this._videoWidth}set videoWidth(e){this._videoWidth=e}get videoHeight(){return this._videoHeight}set videoHeight(e){this._videoHeight=e}get[Symbol.toStringTag](){return`HTMLVideoElement`}_playbin(){return this._pipeline?.get_by_name(`playbin`)??null}};const Ki=new class Document extends ti{static{this._elementFactories=new Map}constructor(){super(),this.body=new HTMLElement$1,this.head=new HTMLElement$1,this.documentElement=new HTMLElement$1,this.appendChild(this.documentElement),this.documentElement.appendChild(this.body)}static registerElementFactory(e,R){Document._elementFactories.set(e.toLowerCase(),R)}createElementNS(e,R){let W=R.toLowerCase();switch(W){case`img`:return new HTMLImageElement;case`video`:return new HTMLVideoElement;case`canvas`:return new hi;default:{let e=Document._elementFactories.get(W);return e?e():new HTMLElement$1}}}createElement(e){return this.createElementNS(`http://www.w3.org/1999/xhtml`,e)}createTextNode(e){return new Hi(e)}createComment(e){return new Vi(e)}createDocumentFragment(){return new Ui}createEvent(e){return new Event$1(e)}getElementById(e){return this._findById(this.body,e)}_findById(e,R){if(e.id===R)return e;for(let W of e.children){let e=this._findById(W,R);if(e)return e}return null}get[Symbol.toStringTag](){return`Document`}};var DOMTokenList=class{constructor(e,R){this._ownerElement=e,this._attributeName=R}_getTokens(){let e=this._ownerElement.getAttribute(this._attributeName);return e?e.split(/\s+/).filter(e=>e.length>0):[]}_setTokens(e){let R=e.join(` `);R?this._ownerElement.setAttribute(this._attributeName,R):this._ownerElement.removeAttribute(this._attributeName)}get length(){return this._getTokens().length}get value(){return this._ownerElement.getAttribute(this._attributeName)??``}set value(e){e?this._ownerElement.setAttribute(this._attributeName,e):this._ownerElement.removeAttribute(this._attributeName)}item(e){let R=this._getTokens();return e>=0&&e<R.length?R[e]:null}contains(e){return this._getTokens().includes(e)}add(...e){let R=this._getTokens();for(let W of e)W&&!R.includes(W)&&R.push(W);this._setTokens(R)}remove(...e){let R=this._getTokens().filter(R=>!e.includes(R));this._setTokens(R)}toggle(e,R){let W=this.contains(e);return R===void 0?W?(this.remove(e),!1):(this.add(e),!0):R?(this.add(e),!0):(this.remove(e),!1)}replace(e,R){let W=this._getTokens(),Y=W.indexOf(e);return Y===-1?!1:(W[Y]=R,this._setTokens(W),!0)}supports(e){return!0}forEach(e){let R=this._getTokens();for(let W=0;W<R.length;W++)e(R[W],W,this)}keys(){return this._getTokens().keys()}values(){return this._getTokens().values()}entries(){return this._getTokens().entries()}[Symbol.iterator](){return this._getTokens().values()}toString(){return this.value}get[Symbol.toStringTag](){return`DOMTokenList`}};bt(),defineGlobal(`Text`,Hi),defineGlobal(`Comment`,Vi),defineGlobal(`DocumentFragment`,Ui),defineGlobal(`DOMTokenList`,DOMTokenList),defineGlobal(`document`,Ki),defineGlobalIfMissing(`self`,globalThis);var Window$1=class{static{__name$1(this,`Window`)}};defineGlobalIfMissing(`Window`,Window$1),defineGlobalIfMissing(`window`,globalThis),defineGlobalIfMissing(`focus`,()=>{}),defineGlobalIfMissing(`blur`,()=>{});{let e=globalThis;if(typeof e.addEventListener!=`function`){let R=new EventTarget$1;e.__gjsify_globalEventTarget=R,e.addEventListener=(e,W,Y)=>R.addEventListener(e,W,Y),e.removeEventListener=(e,W,Y)=>R.removeEventListener(e,W,Y),e.dispatchEvent=e=>R.dispatchEvent(e)}}defineGlobalIfMissing(`devicePixelRatio`,1),defineGlobalIfMissing(`scrollX`,0),defineGlobalIfMissing(`scrollY`,0),defineGlobalIfMissing(`pageXOffset`,0),defineGlobalIfMissing(`pageYOffset`,0),defineGlobalIfMissing(`alert`,(...e)=>yt.error(`alert:`,...e)),globalThis.top===void 0&&Object.defineProperty(globalThis,"top",{get:()=>globalThis,configurable:!0});var FontFace$1=class{static{__name$1(this,`FontFace`)}constructor(e,R,W){this.status=`unloaded`,this.display=`auto`,this.style=`normal`,this.weight=`normal`,this.stretch=`normal`,this.unicodeRange=`U+0-10FFFF`,this.variant=`normal`,this.featureSettings=`normal`,this.family=e,this.source=typeof R==`string`?R:`[binary]`,this.loaded=Promise.resolve(this)}_extractFilePath(){let e=this.source.match(/url\s*\(\s*["']?(file:\/\/\/[^"')]+)["']?\s*\)/i);return e?e[1].replace(/^file:\/\//,``):null}async load(){this.status=`loading`;let e=this._extractFilePath();if(e)try{let{default:R}=await import(`gi://PangoCairo?version=1.0`);R.font_map_get_default().add_font_file(e)}catch{}return this.status=`loaded`,this}},FontFaceSet=class{constructor(){this.status=`loaded`,this.ready=Promise.resolve(this),this._faces=new Set}addEventListener(e,R){}removeEventListener(e,R){}dispatchEvent(e){return!0}add(e){return this._faces.add(e),this}delete(e){return this._faces.delete(e)}clear(){this._faces.clear()}has(e){return this._faces.has(e)}check(e,R){return!1}load(e,R){return Promise.resolve([])}forEach(e){this._faces.forEach(R=>e(R,R,this))}values(){return this._faces.values()}keys(){return this._faces.values()}entries(){return Array.from(this._faces).map(e=>[e,e])[Symbol.iterator]()}[Symbol.iterator](){return this._faces[Symbol.iterator]()}get size(){return this._faces.size}};const qi=globalThis;defineGlobalIfMissing(`FontFace`,FontFace$1),qi.FontFace===void 0&&(qi.FontFace=FontFace$1);const Ji=qi.document;Ji&&Ji.fonts===void 0&&Object.defineProperty(Ji,"fonts",{value:new FontFaceSet,configurable:!0,writable:!0});var Image$1=class extends HTMLImageElement{static{__name$1(this,`Image`)}constructor(e=null,R=null){super(),e!==null&&(this.width=e),R!==null&&(this.height=R)}};defineGlobal(`HTMLImageElement`,HTMLImageElement),defineGlobal(`Image`,Image$1),defineGlobalIfMissing(`location`,{href:`file://`,origin:`file://`,protocol:`file:`,host:``,hostname:``,port:``,pathname:`/`,search:``,hash:``,assign(e){},replace(e){},reload(){},toString(){return this.href},ancestorOrigins:{length:0,item:()=>null,contains:()=>!1,[Symbol.iterator]:function*(){}}});var MediaQueryList=class extends EventTarget$1{constructor(e){super(),this.onchange=null,this.media=e,this.matches=!1}addListener(e){}removeListener(e){}};function matchMedia(e){return new MediaQueryList(e)}defineGlobalIfMissing(`matchMedia`,matchMedia),globalThis.navigator===void 0&&(globalThis.navigator={});var MutationObserver=class{constructor(e){}observe(e,R){}disconnect(){}takeRecords(){return[]}};bt();const Xi=new Set;let $i=!1;function scheduleFlush(){$i||($i=!0,queueMicrotask(()=>{$i=!1;let e=Array.from(Xi);Xi.clear();for(let R of e)R._deliver()}))}var ResizeObserver$1=class{static{__name$1(this,`ResizeObserver`)}constructor(e){this._observed=new Map,this._pending=new Map,this._callback=e}observe(e,R){if(this._observed.has(e))return;let W=e._onResize((R,W)=>{this._enqueue(e,R,W)});this._observed.set(e,W),queueMicrotask(()=>{if(!this._observed.has(e))return;let R=readClientRect(e);this._enqueue(e,R.width,R.height)})}unobserve(e){let R=this._observed.get(e);R&&(R(),this._observed.delete(e),this._pending.delete(e))}disconnect(){for(let e of this._observed.values())e();this._observed.clear(),this._pending.clear(),Xi.delete(this)}_deliver(){if(this._pending.size===0)return;let e=Array.from(this._pending.values());this._pending.clear();try{this._callback(e,this)}catch(e){yt.error(`ResizeObserver callback threw:`,e)}}_enqueue(e,R,W){let Y={inlineSize:R,blockSize:W};this._pending.set(e,{target:e,contentRect:{x:0,y:0,width:R,height:W,top:0,right:R,bottom:W,left:0},borderBoxSize:[Y],contentBoxSize:[Y],devicePixelContentBoxSize:[Y]}),Xi.add(this),scheduleFlush()}};function readClientRect(e){let R=e.getBoundingClientRect;if(typeof R==`function`){let W=R.call(e);return{width:W.width??0,height:W.height??0}}return{width:0,height:0}}var IntersectionObserver=class{constructor(e,R){this.root=R?.root??null,this.rootMargin=R?.rootMargin??`0px`,this.thresholds=Array.isArray(R?.threshold)?R.threshold:[R?.threshold??0]}observe(e){}unobserve(e){}disconnect(){}takeRecords(){return[]}};defineGlobal(`MutationObserver`,MutationObserver),defineGlobal(`ResizeObserver`,ResizeObserver$1),defineGlobal(`IntersectionObserver`,IntersectionObserver);var DOMNode=class{nodeType;nodeName;nodeValue;parentNode=null;childNodes=[];constructor(e,R,W=null){this.nodeType=e,this.nodeName=R,this.nodeValue=W}get textContent(){return this.nodeType===3||this.nodeType===4?this.nodeValue??``:this.childNodes.map(e=>e.textContent??``).join(``)}},DOMElement=class extends DOMNode{tagName;localName;_attrs=new Map;constructor(e){super(1,e.toUpperCase()),this.tagName=e.toLowerCase(),this.localName=this.tagName}get children(){return this.childNodes.filter(e=>e.nodeType===1)}getAttribute(e){return this._attrs.has(e)?this._attrs.get(e)??null:null}setAttribute(e,R){this._attrs.set(e,R)}hasAttribute(e){return this._attrs.has(e)}get attributes(){return Array.from(this._attrs.entries()).map(([e,R])=>({name:e,value:R}))}get innerHTML(){return this.childNodes.map(e=>e.nodeType===1?e.outerHTML:e.nodeType===3?e.nodeValue??``:e.nodeType===4?`<![CDATA[`+(e.nodeValue??``)+`]]>`:``).join(``)}get outerHTML(){let e=Array.from(this._attrs.entries()).map(([e,R])=>` `+e+`="`+R.replace(/"/g,`"`)+`"`).join(``);return this.childNodes.length===0?`<`+this.tagName+e+`/>`:`<`+this.tagName+e+`>`+this.innerHTML+`</`+this.tagName+`>`}querySelector(e){let R=e.trim().split(/\s*>\s*/);if(R.length>1)return this._queryChildChain(R);let W=e.trim().split(/\s+/);return W.length>1?this._queryDescendantChain(W):this._find(e.trim().toLowerCase())??null}querySelectorAll(e){let R=e.trim().toLowerCase(),W=[];return this._findAll(R,W),W}_find(e){for(let R of this.children){if(R.tagName===e)return R;let W=R._find(e);if(W)return W}}_findAll(e,R){for(let W of this.children)W.tagName===e&&R.push(W),W._findAll(e,R)}_queryChildChain(e){let[R,...W]=e,Y=this.children.filter(e=>e.tagName===R.trim().toLowerCase());if(W.length===0)return Y[0]??null;for(let e of Y){let R=e._queryChildChain(W);if(R)return R}return null}_queryDescendantChain(e){let[R,...W]=e,Y=[];if(this._findAll(R.trim().toLowerCase(),Y),W.length===0)return Y[0]??null;for(let e of Y){let R=e._queryDescendantChain(W);if(R)return R}return null}},DOMDocument=class extends DOMElement{documentElement=null;constructor(){super(`#document`),this.nodeType=9,this.nodeName=`#document`}querySelector(e){if(this.documentElement){let R=e.trim().toLowerCase();return this.documentElement.tagName===R?this.documentElement:this.documentElement.querySelector(e)}return super.querySelector(e)}querySelectorAll(e){let R=e.trim().toLowerCase(),W=[];return this.documentElement&&(this.documentElement.tagName===R&&W.push(this.documentElement),this.documentElement._findAll(R,W)),W}};const na=/\s+([\w:.-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+))/g;function parseAttributes(e,R){let W;for(na.lastIndex=0;(W=na.exec(e))!==null;)R.setAttribute(W[1],W[2]??W[3]??W[4]??``)}function parseXml(e){let R=new DOMDocument,W=[R],Y=0,X=e.length;for(;Y<X;){let ie=e.indexOf(`<`,Y);if(ie===-1){let R=e.slice(Y);if(R.trim()){let e=new DOMNode(3,`#text`,R),Y=W[W.length-1];e.parentNode=Y,Y.childNodes.push(e)}break}if(ie>Y){let R=e.slice(Y,ie);if(R.trim()){let e=new DOMNode(3,`#text`,R),Y=W[W.length-1];e.parentNode=Y,Y.childNodes.push(e)}}if(e.startsWith(`<![CDATA[`,ie)){let R=e.indexOf(`]]>`,ie);if(R===-1)break;let X=new DOMNode(4,`#cdata-section`,e.slice(ie+9,R)),ae=W[W.length-1];X.parentNode=ae,ae.childNodes.push(X),Y=R+3;continue}if(e.startsWith(`<!--`,ie)){let R=e.indexOf(`-->`,ie);Y=R===-1?X:R+3;continue}if(e.startsWith(`<?`,ie)||e.startsWith(`<!`,ie)){let R=e.indexOf(`>`,ie);Y=R===-1?X:R+1;continue}let ae=findTagEnd(e,ie+1);if(ae===-1)break;let le=e.slice(ie+1,ae);if(le.startsWith(`/`)){W.length>1&&W.pop(),Y=ae+1;continue}let _e=le.endsWith(`/`),ye=_e?le.slice(0,-1):le,be=ye.search(/\s/),Ce=(be===-1?ye:ye.slice(0,be)).trim();if(!Ce){Y=ae+1;continue}let Te=new DOMElement(Ce);be!==-1&&parseAttributes(ye.slice(be),Te);let Oe=W[W.length-1];Te.parentNode=Oe,Oe.childNodes.push(Te),Oe===R&&!R.documentElement&&(R.documentElement=Te),_e||W.push(Te),Y=ae+1}return R}function findTagEnd(e,R){let W=!1,Y=!1;for(let X=R;X<e.length;X++){let R=e[X];if(R===`"`&&!W){Y=!Y;continue}if(R===`'`&&!Y){W=!W;continue}if(R===`>`&&!W&&!Y)return X}return-1}var DOMParser$1=class{static{__name$1(this,`DOMParser`)}parseFromString(e,R){return parseXml(e)}};const aa=globalThis;aa.DOMParser===void 0&&(aa.DOMParser=DOMParser$1);var GamepadEvent=class extends Event$1{gamepad;constructor(e,R){super(e,R),this.gamepad=R.gamepad}get[Symbol.toStringTag](){return`GamepadEvent`}};const sa={LEFT_X:0,LEFT_Y:1,RIGHT_X:2,RIGHT_Y:3,LEFT_TRIGGER:4,RIGHT_TRIGGER:5},ca={LEFT_STICK_X:0,LEFT_STICK_Y:1,RIGHT_STICK_X:2,RIGHT_STICK_Y:3},da=new Map([[sa.LEFT_X,ca.LEFT_STICK_X],[sa.LEFT_Y,ca.LEFT_STICK_Y],[sa.RIGHT_X,ca.RIGHT_STICK_X],[sa.RIGHT_Y,ca.RIGHT_STICK_Y]]),pa=.5,_a={BTN_SOUTH:304,BTN_EAST:305,BTN_C:306,BTN_NORTH:307,BTN_WEST:308,BTN_Z:309,BTN_TL:310,BTN_TR:311,BTN_TL2:312,BTN_TR2:313,BTN_SELECT:314,BTN_START:315,BTN_MODE:316,BTN_THUMBL:317,BTN_THUMBR:318,BTN_DPAD_UP:544,BTN_DPAD_DOWN:545,BTN_DPAD_LEFT:546,BTN_DPAD_RIGHT:547},ya={FACE_1:0,FACE_2:1,FACE_3:2,FACE_4:3,LEFT_BUMPER:4,RIGHT_BUMPER:5,LEFT_TRIGGER:6,RIGHT_TRIGGER:7,SELECT:8,START:9,LEFT_STICK:10,RIGHT_STICK:11,DPAD_UP:12,DPAD_DOWN:13,DPAD_LEFT:14,DPAD_RIGHT:15,HOME:16},ba=new Map([[_a.BTN_SOUTH,ya.FACE_1],[_a.BTN_EAST,ya.FACE_2],[_a.BTN_WEST,ya.FACE_3],[_a.BTN_NORTH,ya.FACE_4],[_a.BTN_TL,ya.LEFT_BUMPER],[_a.BTN_TR,ya.RIGHT_BUMPER],[_a.BTN_TL2,ya.LEFT_TRIGGER],[_a.BTN_TR2,ya.RIGHT_TRIGGER],[_a.BTN_SELECT,ya.SELECT],[_a.BTN_START,ya.START],[_a.BTN_THUMBL,ya.LEFT_STICK],[_a.BTN_THUMBR,ya.RIGHT_STICK],[_a.BTN_DPAD_UP,ya.DPAD_UP],[_a.BTN_DPAD_DOWN,ya.DPAD_DOWN],[_a.BTN_DPAD_LEFT,ya.DPAD_LEFT],[_a.BTN_DPAD_RIGHT,ya.DPAD_RIGHT],[_a.BTN_MODE,ya.HOME]]);var GamepadButton=class{pressed;touched;value;constructor(e=!1,R=!1,W=0){this.pressed=e,this.touched=R,this.value=W}get[Symbol.toStringTag](){return`GamepadButton`}},Gamepad$1=class{static{__name$1(this,`Gamepad`)}id;index;connected;timestamp;mapping;axes;buttons;vibrationActuator;constructor(e){this.id=e.id,this.index=e.index,this.connected=e.connected,this.timestamp=e.timestamp,this.mapping=e.mapping,this.axes=Object.freeze([...e.axes]),this.buttons=Object.freeze(e.buttons),this.vibrationActuator=e.vibrationActuator??null}get[Symbol.toStringTag](){return`Gamepad`}},ManetteHapticActuator=class{effects;_device;constructor(e){this._device=e,this.effects=e.has_rumble()?[`dual-rumble`]:[]}playEffect(e,R){if(e!==`dual-rumble`||!this._device.has_rumble())return Promise.resolve(`complete`);let W=R?.duration??200,Y=Math.round((R?.strongMagnitude??1)*65535),X=Math.round((R?.weakMagnitude??1)*65535);return this._device.rumble(Y,X,Math.min(W,32767)),Promise.resolve(`complete`)}reset(){return this._device.has_rumble()&&this._device.rumble(0,0,0),Promise.resolve(`complete`)}},GamepadManager=class{_monitor=null;_slots=Array.from({length:4}).fill(null);_monitorSignalIds=[];_ManetteModule=null;_initPromise=null;_initialized=!1;_ensureInit(){this._initialized||(this._initPromise||=this._init())}async _init(){try{let e=await import(`gi://Manette`);this._ManetteModule=e.default}catch{this._initialized=!0;return}let e=new this._ManetteModule.Monitor;this._monitor=e;let R=e.iterate(),W=R.next();for(;W[0];){let e=W[1];e&&this._onDeviceConnected(e),W=R.next()}this._monitorSignalIds.push(e.connect(`device-connected`,(e,R)=>{this._onDeviceConnected(R)}),e.connect(`device-disconnected`,(e,R)=>{this._onDeviceDisconnected(R)})),this._initialized=!0}_onDeviceConnected(e){let R=-1;for(let e=0;e<4;e++)if(this._slots[e]===null){R=e;break}if(R===-1)return;let W={device:e,index:R,connected:!0,timestamp:performance.now(),buttons:new Float64Array(17),buttonsPressed:Array.from({length:17}).fill(!1),axes:new Float64Array(4),hapticActuator:new ManetteHapticActuator(e),signalIds:[]};W.signalIds.push(e.connect(`button-press-event`,(e,R)=>{this._onButtonPress(W,R)}),e.connect(`button-release-event`,(e,R)=>{this._onButtonRelease(W,R)}),e.connect(`absolute-axis-event`,(e,R)=>{this._onAxisChange(W,R)}),e.connect(`hat-axis-event`,(e,R)=>{this._onHatChange(W,R)}),e.connect(`disconnected`,()=>{this._onDeviceDisconnected(e)})),this._slots[R]=W;let Y=this._createSnapshot(W);Y&&globalThis.dispatchEvent?.(new GamepadEvent(`gamepadconnected`,{gamepad:Y}))}_onDeviceDisconnected(e){let R=this._findStateByDevice(e);if(!R)return;for(let W of R.signalIds)e.disconnect(W);R.connected=!1;let W=this._createSnapshot(R);this._slots[R.index]=null,W&&globalThis.dispatchEvent?.(new GamepadEvent(`gamepaddisconnected`,{gamepad:W}))}_onButtonPress(e,R){let[W,Y]=R.get_button();if(!W)return;let X=ba.get(Y);X!==void 0&&(e.buttons[X]=1,e.buttonsPressed[X]=!0,e.timestamp=performance.now())}_onButtonRelease(e,R){let[W,Y]=R.get_button();if(!W)return;let X=ba.get(Y);X!==void 0&&(e.buttons[X]=0,e.buttonsPressed[X]=!1,e.timestamp=performance.now())}_onAxisChange(e,R){let[W,Y,X]=R.get_absolute();if(!W)return;let ie=da.get(Y);if(ie!==void 0)e.axes[ie]=X;else if(Y===sa.LEFT_TRIGGER){let R=(X+1)/2;e.buttons[ya.LEFT_TRIGGER]=R,e.buttonsPressed[ya.LEFT_TRIGGER]=R>pa}else if(Y===sa.RIGHT_TRIGGER){let R=(X+1)/2;e.buttons[ya.RIGHT_TRIGGER]=R,e.buttonsPressed[ya.RIGHT_TRIGGER]=R>pa}e.timestamp=performance.now()}_onHatChange(e,R){let[W,Y,X]=R.get_hat();W&&(Y===0?(e.buttonsPressed[ya.DPAD_LEFT]=X<0,e.buttons[ya.DPAD_LEFT]=+(X<0),e.buttonsPressed[ya.DPAD_RIGHT]=X>0,e.buttons[ya.DPAD_RIGHT]=+(X>0)):Y===1&&(e.buttonsPressed[ya.DPAD_UP]=X<0,e.buttons[ya.DPAD_UP]=+(X<0),e.buttonsPressed[ya.DPAD_DOWN]=X>0,e.buttons[ya.DPAD_DOWN]=+(X>0)),e.timestamp=performance.now())}_findStateByDevice(e){for(let R of this._slots)if(R&&R.device===e)return R;return null}_createSnapshot(e){let R=[];for(let W=0;W<17;W++)R.push(new GamepadButton(e.buttonsPressed[W],e.buttonsPressed[W]||e.buttons[W]>0,e.buttons[W]));return new Gamepad$1({id:e.device.get_name()??`Gamepad (${e.device.get_guid()})`,index:e.index,connected:e.connected,timestamp:e.timestamp,mapping:`standard`,axes:Array.from(e.axes),buttons:R,vibrationActuator:e.hapticActuator})}getGamepads(){this._ensureInit();let e=[];for(let R=0;R<4;R++){let W=this._slots[R];e.push(W?this._createSnapshot(W):null)}return e}dispose(){for(let e of this._slots)if(e)for(let R of e.signalIds)e.device.disconnect(R);if(this._slots.fill(null),this._monitor){for(let e of this._monitorSignalIds)this._monitor.disconnect(e);this._monitorSignalIds=[],this._monitor=null}this._initialized=!1,this._initPromise=null}};const xa=new GamepadManager,Ea=globalThis;Ea.navigator===void 0&&(Ea.navigator={}),Ea.navigator.getGamepads=()=>xa.getGamepads(),Ea.GamepadEvent===void 0&&(Ea.GamepadEvent=GamepadEvent);function btoaPolyfill(e){if(typeof globalThis.btoa==`function`)return globalThis.btoa(e);let R=``,W=0;for(;W+2<e.length;W+=3){let Y=e.charCodeAt(W)<<16|e.charCodeAt(W+1)<<8|e.charCodeAt(W+2);R+=Da[Y>>18&63]+Da[Y>>12&63]+Da[Y>>6&63]+Da[Y&63]}if(W+1===e.length){let Y=e.charCodeAt(W)<<16;R+=Da[Y>>18&63]+Da[Y>>12&63]+`==`}else if(W+2===e.length){let Y=e.charCodeAt(W)<<16|e.charCodeAt(W+1)<<8;R+=Da[Y>>18&63]+Da[Y>>12&63]+Da[Y>>6&63]+`=`}return R}function base64Decode(e){let R=e.replace(/[=\s]/g,``),W=new Uint8Array(R.length*3>>2),Y=0,X=0,ie=0;for(let e=0;e<R.length;e++)Y=Y<<6|Oa[R.charCodeAt(e)],X+=6,X>=8&&(X-=8,W[ie++]=Y>>X&255);return W.subarray(0,ie)}var Da,Oa,Aa=__esmMin(()=>{Da=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Oa=new Uint8Array(256);for(let e=0;e<64;e++)Oa[Da.charCodeAt(e)]=e});function normalizeEncoding(e){if(!e||e===`utf8`||e===`utf-8`)return`utf8`;switch((``+e).toLowerCase().replace(/-/g,``)){case`utf8`:return`utf8`;case`ascii`:return`ascii`;case`latin1`:case`binary`:return`latin1`;case`base64`:return`base64`;case`base64url`:return`base64url`;case`hex`:return`hex`;case`ucs2`:case`utf16le`:return`utf16le`;default:return`utf8`}}function checkEncoding(e){let R=(``+e).toLowerCase().replace(/-/g,``);if(!Pa.includes(R))throw TypeError(`Unknown encoding: ${e}`)}var Pa,La=__esmMin(()=>{Pa=[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`]});function encodeString(e,R){switch(R){case`utf8`:return Ra.encode(e);case`ascii`:{let R=new Uint8Array(e.length);for(let W=0;W<e.length;W++)R[W]=e.charCodeAt(W)&127;return R}case`latin1`:{let R=new Uint8Array(e.length);for(let W=0;W<e.length;W++)R[W]=e.charCodeAt(W)&255;return R}case`base64`:return base64Decode(e.replace(/-/g,`+`).replace(/_/g,`/`));case`base64url`:return encodeString(e.replace(/-/g,`+`).replace(/_/g,`/`),`base64`);case`hex`:{let R=e.length>>>1,W=new Uint8Array(R);for(let Y=0;Y<R;Y++){let R=parseInt(e[Y*2],16),X=parseInt(e[Y*2+1],16);if(Number.isNaN(R)||Number.isNaN(X))break;W[Y]=R<<4|X}return W}case`utf16le`:{let R=new Uint8Array(e.length*2);for(let W=0;W<e.length;W++){let Y=e.charCodeAt(W);R[W*2]=Y&255,R[W*2+1]=Y>>8&255}return R}default:return Ra.encode(e)}}function decodeString(e,R,W,Y){let X=W!==void 0||Y!==void 0?e.subarray(W??0,Y??e.length):e;switch(R){case`utf8`:return Ba.decode(X);case`ascii`:{let e=``;for(let R=0;R<X.length;R++)e+=String.fromCharCode(X[R]&127);return e}case`latin1`:{let e=``;for(let R=0;R<X.length;R++)e+=String.fromCharCode(X[R]);return e}case`base64`:{let e=``;for(let R=0;R<X.length;R++)e+=String.fromCharCode(X[R]);return btoaPolyfill(e)}case`base64url`:return decodeString(X,`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``);case`hex`:{let e=``;for(let R=0;R<X.length;R++)e+=X[R].toString(16).padStart(2,`0`);return e}case`utf16le`:{let e=``;for(let R=0;R+1<X.length;R+=2)e+=String.fromCharCode(X[R]|X[R+1]<<8);return e}default:return Ba.decode(X)}}function checkOffset(e,R,W){if(e+R>W)throw RangeError(`Attempt to access memory outside buffer bounds`)}var Ra,Ba,Va=__esmMin(()=>{Aa(),Ra=new TextEncoder,Ba=new TextDecoder}),Ga,Ka,qa=__esmMin(()=>{Va(),La(),Ga=typeof SharedArrayBuffer<`u`,Ka=class Buffer extends Uint8Array{static _isBuffer=!0;static alloc(e,R,W){if(typeof e!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof e}`);if(e<0)throw RangeError(`The value "${e}" is invalid for option "size"`);let Y=new Buffer(e);return R!==void 0&&R!==0&&Y.fill(R,0,e,W),Y}static allocUnsafe(e){if(typeof e!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof e}`);return new Buffer(e)}static allocUnsafeSlow(e){return Buffer.allocUnsafe(e)}static from(e,R,W){if(typeof e==`string`){let W=normalizeEncoding(R);if(R&&typeof R==`string`){let e=(``+R).toLowerCase().replace(/-/g,``);[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`,``].includes(e)||checkEncoding(R)}let Y=encodeString(e,W);return new Buffer(Y.buffer,Y.byteOffset,Y.byteLength)}if(ArrayBuffer.isView(e)){let R=new Buffer(e.buffer,e.byteOffset,e.byteLength),W=new Buffer(R.length);return W.set(R),W}if(e instanceof ArrayBuffer){let Y=R||0;return new Buffer(e,Y,W===void 0?e.byteLength-Y:W)}if(Ga&&e instanceof SharedArrayBuffer){let Y=R||0,X=W===void 0?e.byteLength-Y:W;return new Buffer(new Uint8Array(e,Y,X))}if(typeof e==`object`&&e&&typeof e.viewBytes==`function`&&typeof e.byteLength==`number`&&e.constructor?.name===`SharedBuffer`){let Y=e,X=R||0,ie=W===void 0?Y.byteLength-X:W,ae=Y.viewBytes(X,ie);return new Buffer(ae.buffer,ae.byteOffset,ae.byteLength)}if(Array.isArray(e)){let R=new Buffer(e.length);for(let W=0;W<e.length;W++)R[W]=e[W]&255;return R}throw TypeError(`The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array`)}static isBuffer(e){return e instanceof Buffer}static isEncoding(e){if(typeof e!=`string`)return!1;let R=e.toLowerCase().replace(/-/g,``);return[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`].includes(R)}static byteLength(e,R){if(typeof e!=`string`){if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer||Ga&&e instanceof SharedArrayBuffer)return e.byteLength;throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer`)}switch(normalizeEncoding(R)){case`utf8`:return new TextEncoder().encode(e).byteLength;case`ascii`:case`latin1`:return e.length;case`base64`:case`base64url`:{let R=e.length;for(;R>0&&(e[R-1]===`=`||e[R-1]===` `);)R--;return R*3>>>2}case`hex`:return e.length>>>1;case`utf16le`:return e.length*2;default:return new TextEncoder().encode(e).byteLength}}static compare(e,R){if(!(e instanceof Uint8Array)||!(R instanceof Uint8Array))throw TypeError(`Arguments must be Buffers or Uint8Arrays`);let W=Math.min(e.length,R.length);for(let Y=0;Y<W;Y++){if(e[Y]<R[Y])return-1;if(e[Y]>R[Y])return 1}return e.length<R.length?-1:+(e.length>R.length)}static concat(e,R){if(e.length===0)return Buffer.alloc(0);if(R===void 0){R=0;for(let W=0;W<e.length;W++)R+=e[W].length}let W=Buffer.alloc(R),Y=0;for(let X=0;X<e.length;X++){let ie=e[X],ae=Math.min(ie.length,R-Y);ae<=0||(W.set(ie.subarray(0,ae),Y),Y+=ae)}return W}static poolSize=8192;toString(e,R,W){let Y=normalizeEncoding(e);return decodeString(this,Y,R,W)}toJSON(){return{type:`Buffer`,data:Array.from(this)}}equals(e){if(!(e instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);if(this.length!==e.length)return!1;for(let R=0;R<this.length;R++)if(this[R]!==e[R])return!1;return!0}compare(e,R,W,Y,X){if(!(e instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);let ie=Y!==void 0||X!==void 0?this.subarray(Y??0,X??this.length):this,ae=R!==void 0||W!==void 0?e.subarray(R??0,W??e.length):e;return Buffer.compare(ie,ae)}copy(e,R=0,W=0,Y){let X=Y??this.length,ie=Math.min(X-W,e.length-R);return ie<=0?0:(e.set(this.subarray(W,W+ie),R),ie)}slice(e,R){let W=e??0,Y=R??this.length,X=super.subarray(W,Y);return new Buffer(X.buffer,X.byteOffset,X.byteLength)}subarray(e,R){let W=super.subarray(e,R);return new Buffer(W.buffer,W.byteOffset,W.byteLength)}write(e,R,W,Y){R??=0;let X=encodeString(e,normalizeEncoding(Y||(typeof W==`string`?W:void 0))),ie=W!==void 0&&typeof W==`number`?Math.min(W,this.length-R):this.length-R,ae=Math.min(X.length,ie);return this.set(X.subarray(0,ae),R),ae}fill(e,R,W,Y){let X=R??0,ie=W??this.length;if(typeof e==`number`)super.fill(e&255,X,ie);else if(typeof e==`string`){let R=encodeString(e,normalizeEncoding(Y));if(R.length===0)super.fill(0,X,ie);else if(R.length===1)super.fill(R[0],X,ie);else for(let e=X;e<ie;e++)this[e]=R[(e-X)%R.length]}else if(e instanceof Uint8Array)if(e.length===0)super.fill(0,X,ie);else for(let R=X;R<ie;R++)this[R]=e[(R-X)%e.length];return this}indexOf(e,R,W){if(typeof e==`number`)return super.indexOf(e&255,R);let Y=typeof e==`string`?encodeString(e,normalizeEncoding(W)):e,X=R??0;outer:for(let e=X;e<=this.length-Y.length;e++){for(let R=0;R<Y.length;R++)if(this[e+R]!==Y[R])continue outer;return e}return-1}lastIndexOf(e,R,W){if(typeof e==`number`)return R===void 0?super.lastIndexOf(e&255):super.lastIndexOf(e&255,R);let Y=typeof e==`string`?encodeString(e,normalizeEncoding(W)):e,X=R===void 0?this.length-Y.length:Math.min(R,this.length-Y.length);outer:for(let e=X;e>=0;e--){for(let R=0;R<Y.length;R++)if(this[e+R]!==Y[R])continue outer;return e}return-1}includes(e,R,W){return this.indexOf(e,R,W)!==-1}readUInt8(e=0){return checkOffset(e,1,this.length),this[e]}readUInt16BE(e=0){return checkOffset(e,2,this.length),this[e]<<8|this[e+1]}readUInt16LE(e=0){return checkOffset(e,2,this.length),this[e]|this[e+1]<<8}readUInt32BE(e=0){return checkOffset(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])}readUInt32LE(e=0){return checkOffset(e,4,this.length),this[e+3]*16777216+(this[e+2]<<16|this[e+1]<<8|this[e])>>>0}readInt8(e=0){return checkOffset(e,1,this.length),this[e]|(this[e]&128?4294967040:0)}readInt16BE(e=0){checkOffset(e,2,this.length);let R=this[e]<<8|this[e+1];return R&32768?R|4294901760:R}readInt16LE(e=0){checkOffset(e,2,this.length);let R=this[e]|this[e+1]<<8;return R&32768?R|4294901760:R}readInt32BE(e=0){return checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]}readInt32LE(e=0){return checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24}readFloatBE(e=0){return checkOffset(e,4,this.length),new DataView(this.buffer,this.byteOffset+e,4).getFloat32(0,!1)}readFloatLE(e=0){return checkOffset(e,4,this.length),new DataView(this.buffer,this.byteOffset+e,4).getFloat32(0,!0)}readDoubleBE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getFloat64(0,!1)}readDoubleLE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getFloat64(0,!0)}readBigInt64BE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigInt64(0,!1)}readBigInt64LE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigInt64(0,!0)}readBigUInt64BE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigUint64(0,!1)}readBigUInt64LE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigUint64(0,!0)}readUIntBE(e,R){checkOffset(e,R,this.length);let W=0;for(let Y=0;Y<R;Y++)W=W*256+this[e+Y];return W}readUIntLE(e,R){checkOffset(e,R,this.length);let W=0,Y=1;for(let X=0;X<R;X++)W+=this[e+X]*Y,Y*=256;return W}readIntBE(e,R){checkOffset(e,R,this.length);let W=0;for(let Y=0;Y<R;Y++)W=W*256+this[e+Y];return W>=2**(8*R-1)&&(W-=2**(8*R)),W}readIntLE(e,R){checkOffset(e,R,this.length);let W=0,Y=1;for(let X=0;X<R;X++)W+=this[e+X]*Y,Y*=256;return W>=2**(8*R-1)&&(W-=2**(8*R)),W}writeUInt8(e,R=0){return checkOffset(R,1,this.length),this[R]=e&255,R+1}writeUInt16BE(e,R=0){return checkOffset(R,2,this.length),this[R]=e>>>8&255,this[R+1]=e&255,R+2}writeUInt16LE(e,R=0){return checkOffset(R,2,this.length),this[R]=e&255,this[R+1]=e>>>8&255,R+2}writeUInt32BE(e,R=0){return checkOffset(R,4,this.length),this[R]=e>>>24&255,this[R+1]=e>>>16&255,this[R+2]=e>>>8&255,this[R+3]=e&255,R+4}writeUInt32LE(e,R=0){return checkOffset(R,4,this.length),this[R]=e&255,this[R+1]=e>>>8&255,this[R+2]=e>>>16&255,this[R+3]=e>>>24&255,R+4}writeInt8(e,R=0){return checkOffset(R,1,this.length),e<0&&(e=255+e+1),this[R]=e&255,R+1}writeInt16BE(e,R=0){return checkOffset(R,2,this.length),this[R]=e>>>8&255,this[R+1]=e&255,R+2}writeInt16LE(e,R=0){return checkOffset(R,2,this.length),this[R]=e&255,this[R+1]=e>>>8&255,R+2}writeInt32BE(e,R=0){return checkOffset(R,4,this.length),this[R]=e>>>24&255,this[R+1]=e>>>16&255,this[R+2]=e>>>8&255,this[R+3]=e&255,R+4}writeInt32LE(e,R=0){return checkOffset(R,4,this.length),this[R]=e&255,this[R+1]=e>>>8&255,this[R+2]=e>>>16&255,this[R+3]=e>>>24&255,R+4}writeFloatBE(e,R=0){return checkOffset(R,4,this.length),new DataView(this.buffer,this.byteOffset+R,4).setFloat32(0,e,!1),R+4}writeFloatLE(e,R=0){return checkOffset(R,4,this.length),new DataView(this.buffer,this.byteOffset+R,4).setFloat32(0,e,!0),R+4}writeDoubleBE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setFloat64(0,e,!1),R+8}writeDoubleLE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setFloat64(0,e,!0),R+8}writeBigInt64BE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setBigInt64(0,e,!1),R+8}writeBigInt64LE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setBigInt64(0,e,!0),R+8}writeBigUInt64BE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setBigUint64(0,e,!1),R+8}writeBigUInt64LE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setBigUint64(0,e,!0),R+8}swap16(){let e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let R=0;R<e;R+=2){let e=this[R];this[R]=this[R+1],this[R+1]=e}return this}swap32(){let e=this.length;if(e%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let R=0;R<e;R+=4){let e=this[R],W=this[R+1];this[R]=this[R+3],this[R+1]=this[R+2],this[R+2]=W,this[R+3]=e}return this}swap64(){let e=this.length;if(e%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let R=0;R<e;R+=8){let e=this[R],W=this[R+1],Y=this[R+2],X=this[R+3];this[R]=this[R+7],this[R+1]=this[R+6],this[R+2]=this[R+5],this[R+3]=this[R+4],this[R+4]=X,this[R+5]=Y,this[R+6]=W,this[R+7]=e}return this}}}),Ja=__esmMin(()=>{Je(),qa(),globalThis.atob,globalThis.btoa});Ja(),`Buffer`in globalThis||Object.defineProperty(globalThis,"Buffer",{value:Ka,enumerable:!1,writable:!0,configurable:!0}),$e(),typeof globalThis.btoa!=`function`&&Object.defineProperty(globalThis,"btoa",{value:function btoa(e){let R=new Uint8Array(e.length);for(let W=0;W<e.length;W++)R[W]=e.charCodeAt(W)&255;return Qe.base64_encode(R)},enumerable:!0,writable:!0,configurable:!0}),typeof globalThis.atob!=`function`&&Object.defineProperty(globalThis,"atob",{value:function atob(e){let R=Qe.base64_decode(e),W=``;for(let e=0;e<R.length;e++)W+=String.fromCharCode(R[e]);return W},enumerable:!0,writable:!0,configurable:!0}),Vt(),typeof queueMicrotask!=`function`&&Object.defineProperty(globalThis,"queueMicrotask",{value:St,enumerable:!0,writable:!0,configurable:!0});function getGjsGlobal(){return globalThis}function getGioNamespace(){let e=getGjsGlobal().imports?.gi;if(!e)return null;let R=null;try{R=e.GioUnix??null}catch{}if(!R)try{R=e.Gio??null}catch{}return R}function getMonotonicTime(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e?.get_monotonic_time)return BigInt(e.get_monotonic_time())*1000n}catch{}return typeof performance?.now==`function`?BigInt(Math.round(performance.now()*1e6)):BigInt(Date.now())*1000000n}const Ya=getMonotonicTime();function hrtime(e){let R=getMonotonicTime()-Ya,W=Number(R/1000000000n),Y=Number(R%1000000000n);if(e){let R=W-e[0],X=Y-e[1];return X<0&&(R--,X+=1e9),[R,X]}return[W,Y]}function hrtimeBigint(){return getMonotonicTime()-Ya}function detectGjsVersion(){try{let e=getGjsGlobal().imports?.system;if(e?.version!==void 0){let R=Number(e.version);return`${Math.floor(R/1e4)}.${Math.floor(R%1e4/100)}.${R%100}`}}catch{}}function detectNodeVersion(){if(typeof globalThis.process?.versions?.node==`string`)return globalThis.process.versions.node}function detectVersionInfo(){if(detectNodeVersion())return{version:globalThis.process.version,versions:{...globalThis.process.versions},title:globalThis.process?.title||`node`};let e=detectGjsVersion(),R={node:`20.0.0`};return e&&(R.gjs=e),{version:`v20.0.0`,versions:R,title:`gjs`}}function detectPpid(){if(typeof globalThis.process?.ppid==`number`)return globalThis.process.ppid;try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let[,R]=e.file_get_contents(`/proc/self/status`);if(R){let e=new TextDecoder().decode(R).match(/PPid:\s+(\d+)/);if(e)return parseInt(e[1],10)}}}catch{}return 0}function detectPlatform(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e&&e.get_os_info(`ID`))return`linux`}catch{}return getGjsGlobal().imports?.system===void 0&&typeof globalThis.process?.platform==`string`?globalThis.process.platform:`linux`}function detectArch(){return typeof globalThis.process?.arch==`string`?globalThis.process.arch:`x64`}function getPid(){if(typeof globalThis.process?.pid==`number`)return globalThis.process.pid;try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let[,R]=e.file_get_contents(`/proc/self/stat`);if(R){let e=new TextDecoder().decode(R),W=parseInt(e,10);if(!isNaN(W))return W}}}catch{}return 0}function getEnvProxy(){if(typeof globalThis.process?.env==`object`)return globalThis.process.env;try{let e=getGjsGlobal().imports?.gi?.GLib;if(e)return new Proxy({},{get(R,W){if(typeof W==`string`)return e.getenv(W)??void 0},set(R,W,Y){return typeof W==`string`?(e.setenv(W,String(Y),!0),!0):!1},deleteProperty(R,W){return typeof W==`string`?(e.unsetenv(W),!0):!1},has(R,W){return typeof W==`string`?e.getenv(W)!==null:!1},ownKeys(R){return e.listenv()},getOwnPropertyDescriptor(R,W){if(typeof W!=`string`)return;let Y=e.getenv(W);if(Y!==null)return{configurable:!0,enumerable:!0,writable:!0,value:Y}}})}catch{}return{}}function getArgv(){if(globalThis.process?.argv!==void 0)return globalThis.process.argv;try{let e=getGjsGlobal().imports?.system;if(e?.programArgs)return[`gjs`,e.programInvocationName||``,...e.programArgs]}catch{}return[`gjs`]}function getExecPath(){if(typeof globalThis.process?.execPath==`string`)return globalThis.process.execPath;try{let e=getGjsGlobal().imports?.system;if(e?.programInvocationName)return e.programInvocationName}catch{}return`/usr/bin/gjs`}function getCwd(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e?.get_current_dir)return e.get_current_dir()}catch{}return`/`}function chdir(e){let R=getGjsGlobal().imports?.gi?.GLib;try{if(R?.chdir){if(!R.file_test(e,16)){let R=Error(`ENOENT: no such file or directory, chdir '${e}'`);throw R.code=`ENOENT`,R.syscall=`chdir`,R.path=e,R}R.chdir(e);return}}catch(e){if(e&&typeof e==`object`&&e.code===`ENOENT`)throw e}if(!R){let R=globalThis.process;if(R&&typeof R.chdir==`function`){R.chdir(e);return}}throw Error(`process.chdir() is not supported in this environment`)}Vt();function exitProcess(e){let R=getGjsGlobal().imports,W=R?.gi?.GLib,Y=R?.system,X=W?.idle_add,ie=W?.SOURCE_REMOVE,ae=W?.PRIORITY_DEFAULT;if(Y?.exit&&X&&typeof ae==`number`&&typeof ie==`boolean`)return ensureMainLoop(),X(ae,()=>(quitMainLoop(),Y.exit(e),ie)),new Promise(()=>{});try{Y?.exit&&Y.exit(e)}catch{}let le=globalThis.process;throw le&&typeof le.exit==`function`&&le.exit(e),Error(`process.exit(${e})`)}function isGjs(){return getGjsGlobal().imports?.gi?.GLib!==void 0}function killPid(e,R){try{let W=getGjsGlobal().imports?.gi?.GLib;if(W){let Y=typeof R==`number`?String(R):R||`SIGTERM`,X=Y.startsWith(`SIG`)?`-${Y.slice(3)}`:`-${Y}`;return W.spawn_command_line_sync(`kill ${X} ${e}`),!0}}catch{}if(!isGjs()){let W=globalThis.process;if(W&&typeof W.kill==`function`)return W.kill(e,R)}throw Error(`process.kill() is not supported in this environment`)}function memoryUsage(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let[,R]=e.file_get_contents(`/proc/self/status`);if(R){let e=new TextDecoder().decode(R).match(/VmRSS:\s+(\d+)/),W=e?parseInt(e[1],10)*1024:0;return{rss:W,heapTotal:W,heapUsed:W,external:0,arrayBuffers:0}}}}catch{}if(!isGjs()){let e=globalThis.process;if(e&&typeof e.memoryUsage==`function`)return e.memoryUsage()}return{rss:0,heapTotal:0,heapUsed:0,external:0,arrayBuffers:0}}function cpuUsage(e){if(!isGjs()){let R=globalThis.process;if(R&&typeof R.cpuUsage==`function`)return R.cpuUsage(e)}return{user:0,system:0}}let go=null;const Vo=globalThis.imports?.gi;if(Vo)try{go=Vo.GjsifyTerminal}catch{}const Ko=go;function onceWrapper(){let{target:e,type:R,listener:W}=this;return this.wrapperFn&&e.removeListener(R,this.wrapperFn),W.apply(e,Array.from(arguments))}function _onceWrap(e,R,W){let Y={target:e,type:R,listener:W,wrapperFn:void 0},X=onceWrapper.bind(Y);return Y.wrapperFn=X,X.listener=W,X}function arrayClone(e){switch(e.length){case 0:return[];case 1:return[e[0]];case 2:return[e[0],e[1]];case 3:return[e[0],e[1],e[2]];default:return e.slice()}}function checkListener(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}function validateNumber(e,R){if(typeof e!=`number`||e!==e)throw TypeError(`The "${R}" argument must be of type number. Received type ${typeof e}`)}function spliceOne(e,R){for(;R+1<e.length;R++)e[R]=e[R+1];e.pop()}function unwrapListeners(e){let R=Array.from({length:e.length});for(let W=0;W<R.length;++W)R[W]=e[W].listener??e[W];return R}function createAbortError$1(e){let R=Error(`The operation was aborted`);return R.name=`AbortError`,R.code=`ABORT_ERR`,e?.reason&&(R.cause=e.reason),R}var es,rs,as,os=__esmMin(()=>{bt(),es=Symbol(`kCapture`),rs=Symbol.for(`nodejs.rejection`),as=class EventEmitter{static defaultMaxListeners=10;static errorMonitor=Symbol(`events.errorMonitor`);static captureRejectionSymbol=rs;static _captureRejections=!1;static get captureRejections(){return EventEmitter._captureRejections}static set captureRejections(e){if(typeof e!=`boolean`)throw TypeError(`The "captureRejections" argument must be of type boolean.`);EventEmitter._captureRejections=e}_events;_eventsCount;_maxListeners;[es];constructor(e){this._events=Object.create(null),this._eventsCount=0,this._maxListeners=void 0,this[es]=e?.captureRejections??EventEmitter._captureRejections}setMaxListeners(e){if(validateNumber(e,`n`),e<0)throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e);return this._maxListeners=e,this}getMaxListeners(){return this._maxListeners??EventEmitter.defaultMaxListeners}emit(e,...R){let W=this._events,Y=e===`error`;if(W!==void 0)Y&&W[EventEmitter.errorMonitor]!==void 0&&this.emit(EventEmitter.errorMonitor,...R),Y&&=W.error===void 0;else if(!Y)return!1;if(Y){let e;if(e=R.length>0?R[0]:Error(`Unhandled error.`),e instanceof Error)throw e;let W=Error(`Unhandled error. (`+e+`)`);throw W.context=e,W}let X=W[e];if(X===void 0)return!1;if(typeof X==`function`){let W=X.apply(this,R);W!=null&&this[es]&&this._addCatch(W,e,R)}else{let W=arrayClone(X),Y=W.length;for(let X=0;X<Y;++X){let Y=W[X].apply(this,R);Y!=null&&this[es]&&this._addCatch(Y,e,R)}}return!0}_addCatch(e,R,W){typeof e?.then==`function`&&e.then(void 0,e=>{let Y=this[rs];if(typeof Y==`function`)Y.call(this,e,R,...W);else{let R=this[es];try{this[es]=!1,this.emit(`error`,e)}finally{this[es]=R}}})}addListener(e,R){return this._addListener(e,R,!1)}on(e,R){return this._addListener(e,R,!1)}prependListener(e,R){return this._addListener(e,R,!0)}_addListener(e,R,W){checkListener(R);let Y=this._events;Y===void 0?(Y=this._events=Object.create(null),this._eventsCount=0):Y.newListener!==void 0&&(this.emit(`newListener`,e,R.listener??R),Y=this._events);let X=Y[e];X===void 0?(Y[e]=R,++this._eventsCount):typeof X==`function`?Y[e]=W?[R,X]:[X,R]:W?X.unshift(R):X.push(R);let ie=this.getMaxListeners();if(ie>0){let R=typeof Y[e]==`function`?1:Y[e].length;if(R>ie&&!Y[e].warned){typeof Y[e]!=`function`&&(Y[e].warned=!0);let W=Error(`Possible EventEmitter memory leak detected. ${R} ${String(e)} listeners added to [${this.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);W.name=`MaxListenersExceededWarning`,yt.warn(W.message)}}return this}once(e,R){return checkListener(R),this.on(e,_onceWrap(this,e,R)),this}prependOnceListener(e,R){return checkListener(R),this.prependListener(e,_onceWrap(this,e,R)),this}removeListener(e,R){checkListener(R);let W=this._events;if(W===void 0)return this;let Y=W[e];if(Y===void 0)return this;if(Y===R||Y.listener===R)--this._eventsCount===0?this._events=Object.create(null):(delete W[e],W.removeListener&&this.emit(`removeListener`,e,Y.listener??R));else if(typeof Y!=`function`){let X=-1;for(let e=Y.length-1;e>=0;e--)if(Y[e]===R||Y[e].listener===R){X=e;break}if(X<0)return this;X===0?Y.shift():spliceOne(Y,X),Y.length===1&&(W[e]=Y[0]),W.removeListener!==void 0&&this.emit(`removeListener`,e,R.listener??R)}return this}off(e,R){return this.removeListener(e,R)}removeAllListeners(e){let R=this._events;if(R===void 0)return this;if(R.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):R[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete R[e]),this;if(arguments.length===0){let e=Object.keys(R);for(let R=0;R<e.length;++R){let W=e[R];W!==`removeListener`&&this.removeAllListeners(W)}return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}let W=R[e];if(typeof W==`function`)this.removeListener(e,W);else if(W!==void 0)for(let R=W.length-1;R>=0;R--)this.removeListener(e,W[R]);return this}listeners(e){let R=this._events;if(R===void 0)return[];let W=R[e];return W===void 0?[]:typeof W==`function`?[W.listener??W]:unwrapListeners(W)}rawListeners(e){let R=this._events;if(R===void 0)return[];let W=R[e];return W===void 0?[]:typeof W==`function`?[W]:arrayClone(W)}listenerCount(e){let R=this._events;if(R===void 0)return 0;let W=R[e];return W===void 0?0:typeof W==`function`?1:W.length}eventNames(){return(this._eventsCount??0)>0?Reflect.ownKeys(this._events):[]}static once(e,R,W){return new Promise((Y,X)=>{let ie=W?.signal;if(ie?.aborted){X(createAbortError$1(ie));return}if(typeof e.addEventListener==`function`){let W=e,handler=(...e)=>{ie&&ie.removeEventListener(`abort`,abortHandler),Y(e)},errorHandler=e=>{ie&&ie.removeEventListener(`abort`,abortHandler),W.removeEventListener(`error`,errorHandler),X(e)},abortHandler=()=>{W.removeEventListener(R,handler),W.removeEventListener(`error`,errorHandler),X(createAbortError$1(ie))};W.addEventListener(R,handler,{once:!0}),R!==`error`&&W.addEventListener(`error`,errorHandler,{once:!0}),ie&&ie.addEventListener(`abort`,abortHandler,{once:!0});return}let ae=e,eventHandler=(...e)=>{ie&&ie.removeEventListener(`abort`,abortHandler),errorHandler!==void 0&&ae.removeListener(`error`,errorHandler),Y(e)},errorHandler;R!==`error`&&(errorHandler=e=>{ae.removeListener(R,eventHandler),ie&&ie.removeEventListener(`abort`,abortHandler),X(e)},ae.once(`error`,errorHandler)),ae.once(R,eventHandler);let abortHandler=()=>{ae.removeListener(R,eventHandler),errorHandler&&ae.removeListener(`error`,errorHandler),X(createAbortError$1(ie))};ie&&ie.addEventListener(`abort`,abortHandler,{once:!0})})}static on(e,R,W){let Y=W?.signal;if(Y?.aborted)throw createAbortError$1(Y);let X=W?.highWaterMark??2**53-1,ie=W?.lowWaterMark??1;validateNumber(X,`highWaterMark`),validateNumber(ie,`lowWaterMark`);let ae=[],le=[],_e=null,ye=!1,be=!1,eventHandler=(...R)=>{if(le.length>0){let{resolve:e}=le.shift();e({value:R,done:!1})}else ae.push(R),ae.length>=X&&!be&&(be=!0,typeof e.pause==`function`&&e.pause())},errorHandler=e=>{if(_e=e,le.length>0){let{reject:R}=le.shift();R(e)}Ce.return()},abortHandler=()=>{errorHandler(createAbortError$1(Y))};e.on(R,eventHandler),R!==`error`&&e.on(`error`,errorHandler),Y&&Y.addEventListener(`abort`,abortHandler,{once:!0});let cleanup=()=>{e.removeListener(R,eventHandler),e.removeListener(`error`,errorHandler),Y&&Y.removeEventListener(`abort`,abortHandler),ye=!0;for(let{resolve:e}of le)e({value:void 0,done:!0});le.length=0,ae.length=0},Ce={next(){if(ae.length>0){let R=ae.shift();return be&&ae.length<ie&&(be=!1,typeof e.resume==`function`&&e.resume()),Promise.resolve({value:R,done:!1})}if(_e){let e=Promise.reject(_e);return _e=null,e}return ye?Promise.resolve({value:void 0,done:!0}):new Promise((e,R)=>{le.push({resolve:e,reject:R})})},return(){return cleanup(),Promise.resolve({value:void 0,done:!0})},throw(e){return ye||(_e=e,cleanup()),Promise.reject(e)},[Symbol.asyncIterator](){return this}};return Ce}static listenerCount(e,R){return e.listenerCount(R)}static getEventListeners(e,R){return typeof e.listeners==`function`?e.listeners(R):[]}static setMaxListeners(e,...R){if(validateNumber(e,`n`),e<0)throw RangeError(`The value of "n" is out of range.`);if(R.length===0)EventEmitter.defaultMaxListeners=e;else for(let W of R)typeof W.setMaxListeners==`function`&&W.setMaxListeners(e)}static getMaxListeners(e){return typeof e.getMaxListeners==`function`?e.getMaxListeners():EventEmitter.defaultMaxListeners}static addAbortListener(e,R){e.aborted&&Promise.resolve().then(()=>R());let handler=()=>R();return e.addEventListener(`abort`,handler,{once:!0}),{[Symbol.dispose](){e.removeEventListener(`abort`,handler)}}}},as.EventEmitter=as;for(let e of[`setMaxListeners`,`getMaxListeners`,`emit`,`addListener`,`on`,`prependListener`,`once`,`prependOnceListener`,`removeListener`,`off`,`removeAllListeners`,`listeners`,`rawListeners`,`listenerCount`,`eventNames`]){let R=as.prototype[e];typeof R==`function`&&Object.defineProperty(as.prototype,e,{enumerable:!0,configurable:!0,writable:!0,value:R})}Object.defineProperty(as.prototype,"_events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(as.prototype,"_eventsCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(as.prototype,"_maxListeners",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),__name$1(createAbortError$1,`createAbortError`)}),ss,cs=__esmMin(()=>{os(),Vt(),ss=makeCallable(as),ss.EventEmitter=ss,ss.captureRejectionSymbol,ss.errorMonitor,ss.defaultMaxListeners,ss.setMaxListeners,ss.getMaxListeners,ss.once,ss.on,ss.getEventListeners,ss.listenerCount,ss.addAbortListener});bt(),cs(),Vt();const ls=new TextEncoder;var ProcessWriteStream=class extends ss{fd;writable=!0;_outGio=null;constructor(e){super(),this.fd=e;let R=getGioNamespace();if(R){let e=R.UnixOutputStream??R.OutputStream;if(e)try{this._outGio=e.new(this.fd,!1)}catch{}}}write(e){if(this._outGio)try{let R=typeof e==`string`?ls.encode(e):e;return this._outGio.write_all(R,null),!0}catch{}return this.fd===2?yt.error(e):yt.log(e),!0}get isTTY(){if(Ko)return Ko.Terminal.is_tty(this.fd);try{let e=getGjsGlobal().imports?.gi?.GLib;if(e)return!!e.log_writer_supports_color(this.fd)}catch{}return!1}get columns(){if(Ko){let[e,,R]=Ko.Terminal.get_size(this.fd);if(e&&R>0)return R}try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let R=parseInt(e.getenv(`COLUMNS`)??`0`,10);if(R>0)return R}}catch{}return 80}end(){}destroy(){}get rows(){if(Ko){let[e,R]=Ko.Terminal.get_size(this.fd);if(e&&R>0)return R}try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let R=parseInt(e.getenv(`LINES`)??`0`,10);if(R>0)return R}}catch{}return 24}},ProcessReadStream=class extends ss{fd;isRaw=!1;_gio=null;_stdinGio=null;_reading=!1;_flowing=!1;_sttyCleanupRegistered=!1;_mainLoopHeld=!1;_pendingRead=!1;constructor(e){super(),this.fd=e,this._gio=getGioNamespace()}get isTTY(){return Ko?Ko.Terminal.is_tty(this.fd):!1}setRawMode(e){return Ko&&Ko.Terminal.set_raw_mode(this.fd,e)?(this.isRaw=e,this):(this._setRawModeViaStty(e),this.isRaw=e,this)}_setRawModeViaStty(e){try{let R=globalThis.imports?.gi,W=R?.Gio??R?.Gio;if(!W)return;let Y=W.SubprocessFlags?.STDIN_INHERIT??2,X=e?[`stty`,`-icanon`,`-echo`,`-icrnl`,`min`,`1`,`time`,`0`]:[`stty`,`icanon`,`echo`,`icrnl`];if(new W.SubprocessLauncher({flags:Y}).spawnv(X).wait(null),e&&!this._sttyCleanupRegistered){this._sttyCleanupRegistered=!0;let e=globalThis.process;e?.once&&typeof e.once==`function`&&e.once(`exit`,()=>this._setRawModeViaStty(!1))}}catch{}}setEncoding(e){return this}resume(){return this._flowing=!0,this._gio&&this.fd===0&&!this._reading&&this._startReading(),this}pause(){if(this._flowing=!1,this._reading=!1,this._mainLoopHeld){this._mainLoopHeld=!1;let e=globalThis.imports?.gi,R=e?.GLib??e?.GLib;R?.idle_add?R.idle_add(300,()=>(this._mainLoopHeld||quitMainLoop(),!1)):quitMainLoop()}return this}read(){return null}_startReading(){if(!this._gio||this._reading)return;if(this._pendingRead){this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop());return}if(this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop()),!this._stdinGio){let e=this._gio.UnixInputStream??this._gio.InputStream;if(!e){this._reading=!1;return}try{this._stdinGio=e.new(this.fd,!1)}catch{this._reading=!1;return}}let loop=()=>{if(!this._reading){this._pendingRead=!1;return}this._pendingRead=!0,this._stdinGio.read_bytes_async(4096,0,null,(e,R)=>{this._pendingRead=!1;try{let W=e.read_bytes_finish(R)?.get_data?.()??null;if(W&&W.byteLength>0)this.emit(`data`,Buffer.from(W));else if(W!==null&&W.byteLength===0){this._reading=!1,this.emit(`end`);return}}catch{this._reading=!1;return}this._reading&&loop()})};loop()}};bt(),cs();const us=Date.now();var Process=class extends ss{platform;arch;env;argv;argv0;execPath;pid;ppid;version;versions;title;execArgv;config;exitCode;constructor(){super(),this.platform=detectPlatform(),this.arch=detectArch(),this.env=getEnvProxy(),this.argv=getArgv(),this.argv0=this.argv[0]||`gjs`,this.execPath=getExecPath(),this.execArgv=globalThis.process?.execArgv??[],this.config=globalThis.process?.config??{target_defaults:{},variables:{}},this.pid=getPid(),this.ppid=detectPpid();let e=detectVersionInfo();this.version=e.version,this.versions=e.versions,this.title=e.title}cwd(){return getCwd()}chdir(e){chdir(e)}kill(e,R){return killPid(e,R)}exit(e){return this.exitCode=e??this.exitCode??0,this.emit(`exit`,this.exitCode),exitProcess(this.exitCode)}nextTick(e,...R){typeof queueMicrotask==`function`?queueMicrotask(()=>e(...R)):Promise.resolve().then(()=>e(...R))}hrtime(e){return hrtime(e)}uptime(){return(Date.now()-us)/1e3}memoryUsage(){return memoryUsage()}cpuUsage(e){return cpuUsage(e)}stdout=new ProcessWriteStream(1);stderr=new ProcessWriteStream(2);stdin=new ProcessReadStream(0);abort(){this.exit(1)}umask(e){return 18}emitWarning(e,R){yt.warn(typeof e==`string`?`(${R||`Warning`}): ${e}`:e.message)}};Process.prototype.hrtime.bigint=function(){return hrtimeBigint()};const ds=new Process;if(Ko)try{let e=new Ko.ResizeWatcher;e.connect(`resized`,(e,R,W)=>{ds.stdout.emit(`resize`),ds.stderr.emit(`resize`)}),e.start()}catch{}ds.platform,ds.arch,ds.env,ds.argv,ds.argv0,ds.execPath,ds.pid,ds.ppid,ds.version,ds.versions,ds.cwd.bind(ds),ds.chdir.bind(ds),ds.exit.bind(ds),ds.nextTick.bind(ds),Object.assign(ds.hrtime.bind(ds),{bigint:hrtimeBigint}),ds.uptime.bind(ds),ds.memoryUsage.bind(ds),ds.cpuUsage.bind(ds),ds.kill.bind(ds),ds.abort.bind(ds),ds.umask.bind(ds),ds.emitWarning.bind(ds),ds.execArgv,ds.config,ds.stdout,ds.stderr,ds.stdin,Vt(),typeof Promise.withResolvers!=`function`&&(Promise.withResolvers=function(){let e,R;return{promise:new Promise((W,Y)=>{e=W,R=Y}),resolve:e,reject:R}}),initErrorV8Methods(Error),`global`in globalThis||Object.defineProperty(globalThis,"global",{value:globalThis,writable:!1,enumerable:!1,configurable:!0}),Object.defineProperty(globalThis,"process",{value:ds,enumerable:!1,writable:!0,configurable:!0}),Vt(),typeof globalThis.structuredClone!=`function`&&Object.defineProperty(globalThis,"structuredClone",{value:structuredClone$1,enumerable:!0,writable:!0,configurable:!0});function getGLib(){return globalThis.imports?.gi?.GLib}const fs=getGLib()!==void 0;var GjsifyTimeout=class{_id=null;_refed=!0;_callback;_delay;_args;_repeat;constructor(e,R,W,Y){this._callback=e,this._delay=R,this._args=W,this._repeat=Y,this._schedule()}_schedule(){let e=getGLib();if(!e)return;let R=e.timeout_add.bind(e);this._id=R(e.PRIORITY_DEFAULT,this._delay,()=>{try{this._callback.apply(globalThis,this._args)}catch(e){setTimeout(()=>{throw e},0)}return this._repeat?e.SOURCE_CONTINUE:(this._id=null,e.SOURCE_REMOVE)})}ref(){return this._refed=!0,this}unref(){return this._refed=!1,this}hasRef(){return this._refed}refresh(){return this._cancel(),this._schedule(),this}_cancel(){if(this._id!==null){try{getGLib()?.Source.remove(this._id)}catch{}this._id=null}}[Symbol.toPrimitive](){return this._id}[Symbol.dispose](){this._cancel()}};function removeById(e){if(e instanceof GjsifyTimeout)e._cancel();else if(typeof e==`number`)try{getGLib()?.Source.remove(e)}catch{}}if(fs){let setT=(e,R=0,...W)=>new GjsifyTimeout(e,Math.max(0,R|0),W,!1),setI=(e,R=0,...W)=>new GjsifyTimeout(e,Math.max(0,R|0),W,!0),e=globalThis;e.setTimeout=setT,e.clearTimeout=removeById,e.setInterval=setI,e.clearInterval=removeById}function setImmediate(e,...R){return setTimeout(e,0,...R)}function clearImmediate(e){clearTimeout(e)}`setImmediate`in globalThis||Object.defineProperty(globalThis,"setImmediate",{value:setImmediate,enumerable:!0,writable:!0,configurable:!0}),`clearImmediate`in globalThis||Object.defineProperty(globalThis,"clearImmediate",{value:clearImmediate,enumerable:!0,writable:!0,configurable:!0}),$e();const ps=Qe.UriFlags.HAS_PASSWORD|Qe.UriFlags.ENCODED|Qe.UriFlags.SCHEME_NORMALIZE;var ms=class URLSearchParams{_entries=[];constructor(e){if(e)if(typeof e==`string`){let R=e.startsWith(`?`)?e.slice(1):e;if(R)for(let e of R.split(`&`)){let R=e.indexOf(`=`);R===-1?this._entries.push([decodeComponent(e),``]):this._entries.push([decodeComponent(e.slice(0,R)),decodeComponent(e.slice(R+1))])}}else if(Array.isArray(e))for(let[R,W]of e)this._entries.push([String(R),String(W)]);else if(e instanceof URLSearchParams)this._entries=e._entries.map(([e,R])=>[e,R]);else for(let R of Object.keys(e))this._entries.push([R,String(e[R])])}get(e){for(let[R,W]of this._entries)if(R===e)return W;return null}getAll(e){return this._entries.filter(([R])=>R===e).map(([,e])=>e)}set(e,R){let W=!1;if(this._entries=this._entries.filter(([R])=>R===e?W?!1:(W=!0,!0):!0),W){for(let W=0;W<this._entries.length;W++)if(this._entries[W][0]===e){this._entries[W][1]=R;break}}else this._entries.push([e,R])}has(e){return this._entries.some(([R])=>R===e)}delete(e){this._entries=this._entries.filter(([R])=>R!==e)}append(e,R){this._entries.push([e,R])}sort(){this._entries.sort((e,R)=>e[0]<R[0]?-1:+(e[0]>R[0]))}toString(){return this._entries.map(([e,R])=>encodeComponent(e)+`=`+encodeComponent(R)).join(`&`)}forEach(e){for(let[R,W]of this._entries)e(W,R,this)}*entries(){yield*this._entries}*keys(){for(let[e]of this._entries)yield e}*values(){for(let[,e]of this._entries)yield e}[Symbol.iterator](){return this.entries()}get size(){return this._entries.length}};function decodeComponent(e){try{return decodeURIComponent(e.replace(/\+/g,` `))}catch{return e}}function encodeComponent(e){return encodeURIComponent(e).replace(/%20/g,`+`)}var hs=class URL{#e;#t;constructor(e,R){let W=e instanceof URL?e.href:String(e);try{if(R!==void 0){let e=R instanceof URL?R.href:String(R),Y=Qe.Uri.parse(e,ps);this.#e=Y.parse_relative(W,ps)}else this.#e=Qe.Uri.parse(W,ps)}catch{throw TypeError(`Invalid URL: ${W}`)}if(!this.#e)throw TypeError(`Invalid URL: ${W}`);this.#t=new ms(this.#e.get_query()||``)}get protocol(){return this.#e.get_scheme()+`:`}get hostname(){return(this.#e.get_host()||``).toLowerCase()}get port(){let e=this.#e.get_port();if(e===-1)return``;let R=this.#e.get_scheme();return(R===`http`||R===`ws`)&&e===80||(R===`https`||R===`wss`)&&e===443||R===`ftp`&&e===21?``:String(e)}get host(){let e=this.hostname,R=this.port;return R?`${e}:${R}`:e}get pathname(){return this.#e.get_path()||`/`}get search(){let e=this.#e.get_query();return e?`?`+e:``}get hash(){let e=this.#e.get_fragment();return e?`#`+e:``}get origin(){let e=this.protocol;return e===`http:`||e===`https:`||e===`ftp:`?`${e}//${this.host}`:`null`}get username(){return this.#e.get_user()||``}get password(){return this.#e.get_password()||``}get href(){let e=this.protocol,R=this.#e.get_scheme();(R===`http`||R===`https`||R===`ftp`||R===`file`||R===`ws`||R===`wss`||this.hostname)&&(e+=`//`);let W=this.username,Y=this.password;W&&(e+=W,Y&&(e+=`:`+Y),e+=`@`),e+=this.hostname,this.port&&(e+=`:`+this.port);let X=this.pathname;return e+=X,e+=this.search,e+=this.hash,e}get searchParams(){return this.#t}toString(){return this.href}toJSON(){return this.href}static _objectURLPaths=new Map;static _objectURLCounter=0;static createObjectURL(e){let R=e?._tmpPath;if(typeof R==`string`&&R.length>0){let e=`file://${R}`;return URL._objectURLPaths.set(e,R),e}return`file:///dev/null`}static revokeObjectURL(e){let R=URL._objectURLPaths.get(e);if(R){try{Qe.unlink(R)}catch{}URL._objectURLPaths.delete(e)}}};typeof globalThis.URL!=`function`&&Object.defineProperty(globalThis,"URL",{value:hs,enumerable:!1,writable:!0,configurable:!0}),typeof globalThis.URLSearchParams!=`function`&&Object.defineProperty(globalThis,"URLSearchParams",{value:ms,enumerable:!1,writable:!0,configurable:!0});let gs;if(globalThis.performance)gs=globalThis.performance;else{let e,_now;try{let R=globalThis.imports?.gi?.GLib;if(!R)throw Error(`GJS imports.gi.GLib not available`);e=R.get_monotonic_time(),_now=()=>(R.get_monotonic_time()-e)/1e3}catch{let R=Date.now();e=0,_now=()=>Date.now()-R}let R=[],W=Date.now()-_now();gs={timeOrigin:W,now:_now,mark(e){let W={name:e,entryType:`mark`,startTime:_now(),duration:0};return R.push(W),W},measure(e,W,Y){let X=0,ie=_now();if(W){let e=R.find(e=>e.entryType===`mark`&&e.name===W);e&&(X=e.startTime)}if(Y){let e=R.find(e=>e.entryType===`mark`&&e.name===Y);e&&(ie=e.startTime)}let ae={name:e,entryType:`measure`,startTime:X,duration:ie-X};return R.push(ae),ae},getEntries(){return[...R]},getEntriesByName(e){return R.filter(R=>R.name===e)},getEntriesByType(e){return R.filter(R=>R.entryType===e)},clearMarks(e){for(let W=R.length-1;W>=0;W--)R[W].entryType===`mark`&&(!e||R[W].name===e)&&R.splice(W,1)},clearMeasures(e){for(let W=R.length-1;W>=0;W--)R[W].entryType===`measure`&&(!e||R[W].name===e)&&R.splice(W,1)},clearResourceTimings(){},setResourceTimingBufferSize(){},toJSON(){return{timeOrigin:W}}}}var PerformanceObserverStub=class{_callback;constructor(e){this._callback=e}observe(e){}disconnect(){}takeRecords(){return[]}};const _s=globalThis,ys=_s.PerformanceObserver||PerformanceObserverStub;_s.PerformanceEntry,_s.PerformanceObserverEntryList,_s.PerformanceMark,_s.PerformanceMeasure;const bs=globalThis;globalThis.performance===void 0&&(bs.performance=gs),typeof bs.PerformanceObserver!=`function`&&(bs.PerformanceObserver=ys);var AudioNode=class{_outputs=new Set;_inputs=new Set;numberOfInputs;numberOfOutputs;channelCount;constructor(e=1,R=1){this.numberOfInputs=e,this.numberOfOutputs=R,this.channelCount=2}connect(e){return this._outputs.add(e),e._inputs.add(this),e}disconnect(e){if(e)this._outputs.delete(e),e._inputs.delete(this);else{for(let e of this._outputs)e._inputs.delete(this);this._outputs.clear()}}};let Cs=!1;function ensureGstInit(){Cs||=(ye.init(null),!0)}var AudioParam=class{defaultValue;minValue;maxValue;_onChange=null;_value;_rampTimerId=null;constructor(e=0,R=-34028235e31,W=34028235e31){this.defaultValue=e,this.minValue=R,this.maxValue=W,this._value=e}get value(){return this._value}set value(e){this._cancelRamp(),this._value=Math.max(this.minValue,Math.min(this.maxValue,e)),this._onChange?.(this._value)}setValueAtTime(e,R){return this.value=e,this}linearRampToValueAtTime(e,R){return this.value=e,this}exponentialRampToValueAtTime(e,R){return this.value=e,this}setTargetAtTime(R,W,Y){if(this._cancelRamp(),Y<=0)return this.value=R,this;let X=Math.max(10,Math.round(Y*100));return this._rampTimerId=e.timeout_add(e.PRIORITY_DEFAULT,X,()=>{let W=R-this._value;if(Math.abs(W)<.001)return this._value=R,this._onChange?.(this._value),this._rampTimerId=null,e.SOURCE_REMOVE;let ie=1-Math.exp(-X/(Y*1e3));return this._value+=W*ie,this._onChange?.(this._value),e.SOURCE_CONTINUE}),this}setValueCurveAtTime(e,R,W){return this}cancelScheduledValues(e){return this._cancelRamp(),this}cancelAndHoldAtTime(e){return this._cancelRamp(),this}_cancelRamp(){this._rampTimerId!==null&&(e.source_remove(this._rampTimerId),this._rampTimerId=null)}},GainNode=class extends AudioNode{gain;_activePlayers=new Set;constructor(){super(1,1),this.gain=new AudioParam(1,0,10),this.gain._onChange=e=>{for(let R of this._activePlayers)R.setVolume(e)}}},GstPlayer=class{_pipeline=null;_volumeElement=null;_busWatchId=null;_ended=!1;_loop;_onEnded;_audioBuffer;constructor(e){ensureGstInit(),this._loop=e.loop,this._onEnded=e.onEnded,this._audioBuffer=e.audioBuffer;let{audioBuffer:R,volume:W,offset:Y,duration:X,playbackRate:ie}=e,ae=R.sampleRate,le=R.numberOfChannels,_e=this._interleave(R,Y,X);if(_e.length===0){this._fireEnded();return}let be=`appsrc name=src caps="${`audio/x-raw,format=F32LE,rate=${ae},channels=${le},layout=interleaved`}" format=3 ! audioconvert ! volume name=vol ! autoaudiosink`;this._pipeline=ye.parse_launch(be),this._volumeElement=this._pipeline.get_by_name(`vol`);let Ce=this._pipeline.get_by_name(`src`);this._volumeElement.set_property(`volume`,Math.max(0,Math.min(W,10)));let Te=this._pipeline.get_bus();this._busWatchId=Te.add_watch(0,(e,R)=>(R.type===ye.MessageType.EOS?this._loop&&!this._ended?this._restartPlayback(Ce,_e):this._fireEnded():R.type===ye.MessageType.ERROR&&this._fireEnded(),!0));let Oe=ye.Buffer.new_wrapped(_e),Ae=_e.length/(4*le);Oe.pts=0,Oe.duration=Math.floor(Ae/ae*Number(ye.SECOND)),Ce.push_buffer(Oe),Ce.end_of_stream(),ie!==1&&(this._pipeline.set_state(ye.State.PAUSED),this._pipeline.seek(ie,ye.Format.TIME,ye.SeekFlags.FLUSH|ye.SeekFlags.ACCURATE,ye.SeekType.SET,0,ye.SeekType.NONE,-1)),this._pipeline.set_state(ye.State.PLAYING)}setVolume(e){this._volumeElement&&!this._ended&&this._volumeElement.set_property(`volume`,Math.max(0,Math.min(e,10)))}setLoop(e){this._loop=e}stop(){this._ended||this._fireEnded()}get ended(){return this._ended}_restartPlayback(e,R){this._pipeline&&this._pipeline.seek_simple(ye.Format.TIME,ye.SeekFlags.FLUSH,0)}_fireEnded(){this._ended||(this._ended=!0,this._cleanup(),this._onEnded())}_cleanup(){let R=this._pipeline;this._pipeline=null,this._volumeElement=null,this._busWatchId=null,R&&e.idle_add(e.PRIORITY_LOW,()=>(R.set_state(ye.State.NULL),e.SOURCE_REMOVE))}_interleave(e,R,W){let Y=e.numberOfChannels,X=Math.min(Math.floor(R*e.sampleRate),e.length),ie=e.length-X,ae=W===void 0?ie:Math.min(Math.floor(W*e.sampleRate),ie);if(ae<=0)return new Uint8Array;let le=new Float32Array(ae*Y);for(let R=0;R<ae;R++)for(let W=0;W<Y;W++)le[R*Y+W]=e._channelData[W][X+R];return new Uint8Array(le.buffer)}},AudioBufferSourceNode=class extends AudioNode{buffer=null;loop=!1;loopStart=0;loopEnd=0;playbackRate;onended=null;_player=null;_started=!1;constructor(){super(0,1),this.playbackRate=new AudioParam(1,.0625,16)}start(e=0,R=0,W){if(this._started)throw new DOMException(`AudioBufferSourceNode can only be started once`,`InvalidStateError`);if(this._started=!0,!this.buffer)return;let Y=this._findGainNode(),X=Y?Y.gain.value:1;this._player=new GstPlayer({audioBuffer:this.buffer,volume:X,loop:this.loop,offset:R,duration:W,playbackRate:this.playbackRate.value,onEnded:()=>{Y&&Y._activePlayers.delete(this._player),this._player=null,this.onended?.()}}),Y&&this._player&&Y._activePlayers.add(this._player)}stop(e=0){this._player&&this._player.stop()}_findGainNode(){for(let e of this._outputs){if(e instanceof GainNode)return e;for(let R of e._outputs)if(R instanceof GainNode)return R}return null}},AudioBuffer=class{sampleRate;length;duration;numberOfChannels;_channelData;constructor(e){this.sampleRate=e.sampleRate,this.length=e.length,this.numberOfChannels=e.numberOfChannels,this.duration=this.length/this.sampleRate,this._channelData=[];for(let e=0;e<this.numberOfChannels;e++)this._channelData.push(new Float32Array(this.length))}getChannelData(e){if(e<0||e>=this.numberOfChannels)throw RangeError(`channel index ${e} out of range [0, ${this.numberOfChannels})`);return this._channelData[e]}copyFromChannel(e,R,W=0){let Y=this.getChannelData(R),X=Math.min(e.length,Y.length-W);e.set(Y.subarray(W,W+X))}copyToChannel(e,R,W=0){let Y=this.getChannelData(R),X=Math.min(e.length,Y.length-W);Y.set(e.subarray(0,X),W)}},AudioDestinationNode=class extends AudioNode{maxChannelCount=2;constructor(){super(1,0)}};function decodeAudioDataSync(e){if(ensureGstInit(),!(e instanceof ArrayBuffer)||e.byteLength===0)throw new DOMException(`Unable to decode audio data`,`EncodingError`);let R=ye.parse_launch(`appsrc name=src ! decodebin ! audioconvert ! audioresample ! capsfilter caps=audio/x-raw,format=F32LE,layout=interleaved ! appsink name=sink sync=false`),W=R.get_by_name(`src`),Y=R.get_by_name(`sink`);R.set_state(ye.State.PLAYING);let X=new Uint8Array(e);W.push_buffer(ye.Buffer.new_wrapped(X)),W.end_of_stream();let ie=[],ae=0,le=0;for(;;){let e=Y.try_pull_sample(2*Number(ye.SECOND));if(!e)break;if(ae===0){let R=e.get_caps();if(R){let e=R.get_structure(0);[,ae]=e.get_int(`rate`),[,le]=e.get_int(`channels`)}}let R=e.get_buffer();if(!R)continue;let[W,X]=R.map(ye.MapFlags.READ);W&&(ie.push(new Uint8Array(X.data)),R.unmap(X))}if(R.set_state(ye.State.NULL),ae===0||le===0)throw new DOMException(`Unable to decode audio data`,`EncodingError`);let _e=0;for(let e of ie)_e+=e.length;let be=_e/(4*le),Ce=new AudioBuffer({numberOfChannels:le,length:be,sampleRate:ae}),Te=0;for(let e of ie){let R=new Float32Array(e.buffer,e.byteOffset,e.length/4),W=R.length/le;for(let e=0;e<W;e++)for(let W=0;W<le;W++)Ce._channelData[W][Te+e]=R[e*le+W];Te+=W}return Ce}var AudioContext$1=class{static{__name$1(this,`AudioContext`)}state=`suspended`;sampleRate=44100;destination;listener={};_startTime;constructor(){ensureGstInit(),this._startTime=e.get_monotonic_time(),this.destination=new AudioDestinationNode}get currentTime(){return(e.get_monotonic_time()-this._startTime)/1e6}createGain(){return new GainNode}createBufferSource(){return new AudioBufferSourceNode}createBuffer(e,R,W){return new AudioBuffer({numberOfChannels:e,length:R,sampleRate:W})}decodeAudioData(e,R,W){try{let W=decodeAudioDataSync(e);return R?.(W),Promise.resolve(W)}catch(e){let R=e instanceof DOMException?e:new DOMException(`Unable to decode audio data`,`EncodingError`);return W?.(R),Promise.reject(R)}}async resume(){this.state=`running`}async suspend(){this.state=`suspended`}async close(){this.state=`closed`}createAnalyser(){return{connect:()=>{},disconnect:()=>{},fftSize:2048,frequencyBinCount:1024,getByteFrequencyData:()=>{},getFloatFrequencyData:()=>{}}}createDynamicsCompressor(){return new AudioNode}createBiquadFilter(){return new AudioNode}createConvolver(){return new AudioNode}createPanner(){return new AudioNode}createStereoPanner(){return new AudioNode}addEventListener(e,R){}removeEventListener(e,R){}};const Ts=new Set([`audio/mpeg`,`audio/mp3`,`audio/wav`,`audio/x-wav`,`audio/ogg`,`audio/webm`,`audio/flac`,`audio/x-flac`,`audio/aac`,`audio/mp4`]);var HTMLAudioElement=class{src=``;volume=1;loop=!1;paused=!0;currentTime=0;duration=0;readyState=0;_pipeline=null;canPlayType(e){let R=e.split(`;`)[0].trim().toLowerCase();return Ts.has(R)?`maybe`:``}play(){return!this.src||(ensureGstInit(),this._cleanup(),this._pipeline=ye.ElementFactory.make(`playbin`,`player`),!this._pipeline)?Promise.resolve():(this._pipeline.set_property(`uri`,this.src),this._pipeline.set_property(`volume`,this.volume),this._pipeline.set_state(ye.State.PLAYING),this.paused=!1,Promise.resolve())}pause(){this._pipeline&&(this._pipeline.set_state(ye.State.PAUSED),this.paused=!0)}load(){this._cleanup()}addEventListener(e,R){}removeEventListener(e,R){}_cleanup(){this._pipeline&&=(this._pipeline.set_state(ye.State.NULL),null)}};const Es=globalThis;Es.AudioContext===void 0&&(Es.AudioContext=AudioContext$1),Es.webkitAudioContext===void 0&&(Es.webkitAudioContext=AudioContext$1),Es.Audio===void 0&&(Es.Audio=HTMLAudioElement),Es.HTMLAudioElement===void 0&&(Es.HTMLAudioElement=HTMLAudioElement);const As=Symbol(`abort`),js=Symbol(`internal`);var Ms=class AbortSignal extends EventTarget$1{#e=!1;reason=void 0;onabort=null;constructor(e){if(super(),e!==js)throw TypeError(`Illegal constructor.`)}get aborted(){if(!(this instanceof AbortSignal))throw TypeError(`'get aborted' called on an object that is not a valid instance of AbortSignal.`);return this.#e}get[Symbol.toStringTag](){return`AbortSignal`}throwIfAborted(){if(this.#e)throw this.reason}[As](e){if(this.#e)return;this.#e=!0,this.reason=e??new or(`The operation was aborted.`,`AbortError`);let R=new Event$1(`abort`);typeof this.onabort==`function`&&this.onabort.call(this,R),this.dispatchEvent(R)}static abort(e){let R=new AbortSignal(js);return R[As](e),R}static timeout(e){let R=new AbortSignal(js);return setTimeout(()=>{R[As](new or(`The operation timed out.`,`TimeoutError`))},e),R}static any(e){let R=new AbortSignal(js);for(let W of e)if(W.aborted)return R[As](W.reason),R;let onAbort=()=>{if(!R.aborted){let W=e.find(e=>e.aborted);R[As](W?.reason)}};for(let R of e)R.addEventListener(`abort`,onAbort,{once:!0});return R}},Ns=class AbortController{signal;constructor(){this.signal=new Ms(js)}abort(e){if(!(this instanceof AbortController))throw TypeError(`'abort' called on an object that is not a valid instance of AbortController.`);this.signal[As](e)}};const Is=globalThis;globalThis.AbortController===void 0&&(Is.AbortController=Ns),globalThis.AbortSignal===void 0&&(Is.AbortSignal=Ms);const zs=Symbol(`kState`),Bs=Symbol(`kType`);function isBrandCheck(e){return R=>typeof R==`object`&&!!R&&R[zs]!==void 0&&R[Bs]===e}function dequeueValue(e){let R=e[zs].queue.shift();if(R===void 0)throw Error(`dequeueValue called on an empty queue`);let{value:W,size:Y}=R;return e[zs].queueTotalSize=Math.max(0,e[zs].queueTotalSize-Y),W}function resetQueue(e){e[zs].queue=[],e[zs].queueTotalSize=0}function peekQueueValue(e){return e[zs].queue[0].value}function enqueueValueWithSize(e,R,W){if(W=+W,typeof W!=`number`||W<0||Number.isNaN(W)||W===1/0)throw RangeError(`Invalid size: ${W}`);e[zs].queue.push({value:R,size:W}),e[zs].queueTotalSize+=W}function extractHighWaterMark(e,R){if(e===void 0)return R;if(e=+e,typeof e!=`number`||Number.isNaN(e)||e<0)throw RangeError(`Invalid highWaterMark: ${e}`);return e}function extractSizeAlgorithm(e){if(e===void 0)return()=>1;if(typeof e!=`function`)throw TypeError(`strategy.size must be a function`);return e}function transferArrayBuffer(e){return typeof ArrayBuffer.prototype.transfer==`function`?e.transfer():e.slice(0)}function isDetachedBuffer(e){if(typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||e.byteLength!==0)return!1;try{return e.slice(0,0),!1}catch{return!0}}function typedArrayConstructorByTag(e){switch(e){case`Int8Array`:return Int8Array;case`Uint8Array`:return Uint8Array;case`Uint8ClampedArray`:return Uint8ClampedArray;case`Int16Array`:return Int16Array;case`Uint16Array`:return Uint16Array;case`Int32Array`:return Int32Array;case`Uint32Array`:return Uint32Array;case`Float32Array`:return Float32Array;case`Float64Array`:return Float64Array;case`BigInt64Array`:return typeof BigInt64Array<`u`?BigInt64Array:void 0;case`BigUint64Array`:return typeof BigUint64Array<`u`?BigUint64Array:void 0;default:return}}function elementSizeByTag(e){switch(e){case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:return 1;case`Int16Array`:case`Uint16Array`:return 2;case`Int32Array`:case`Uint32Array`:case`Float32Array`:return 4;case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:return 8;default:return 1}}function setPromiseHandled(e){e.then(()=>{},()=>{})}function createPromiseCallback(e,R,W){if(typeof R!=`function`)throw TypeError(`${e} must be a function`);return async(...e)=>R.call(W,...e)}async function nonOpFlush(){}function nonOpStart(){}async function nonOpPull(){}async function nonOpCancel(){}async function nonOpWrite(){}const Hs={__proto__:Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),next:void 0,return:void 0};function createAsyncFromSyncIterator(e){let R={[Symbol.iterator]:()=>e.iterator},W=(async function*(){return yield*R})();return{iterator:W,nextMethod:W.next,done:!1}}function getIterator(e,R=`sync`,W){if(W===void 0)if(R===`async`){if(W=e[Symbol.asyncIterator],W==null){let R=e[Symbol.iterator];if(R===void 0)throw TypeError(`Object is not iterable`);return createAsyncFromSyncIterator(getIterator(e,`sync`,R))}}else W=e[Symbol.iterator];if(W===void 0)throw TypeError(`Object is not iterable`);let Y=W.call(e);if(typeof Y!=`object`||!Y)throw TypeError(`The iterator method must return an object`);return{iterator:Y,nextMethod:Y.next,done:!1}}function iteratorNext(e,R){let W;if(W=R===void 0?e.nextMethod.call(e.iterator):e.nextMethod.call(e.iterator,R),typeof W!=`object`||!W)throw TypeError(`The iterator.next() method must return an object`);return W}const Us=typeof globalThis.AbortController==`function`?globalThis.AbortController:class AbortControllerShim{signal={aborted:!1,reason:void 0,addEventListener(){},removeEventListener(){}};abort(e){this.signal.aborted=!0,this.signal.reason=e}},Ws=Symbol(`kAbort`),Xs=Symbol(`kCloseSentinel`),Zs=Symbol(`kError`),$s=Symbol(`kSkipThrow`);var WritableStream=class{[Bs]=`WritableStream`;[zs];constructor(e={},R={}){if(e!=null&&typeof e!=`object`)throw TypeError(`sink must be an object`);if(R!=null&&typeof R!=`object`)throw TypeError(`strategy must be an object`);let W=e?.type;if(W!==void 0)throw RangeError(`Invalid type: ${W}`);this[zs]=createWritableStreamState();let Y=extractSizeAlgorithm(R?.size),X=extractHighWaterMark(R?.highWaterMark,1);setupWritableStreamDefaultControllerFromSink(this,e,X,Y)}get locked(){if(!ec(this))throw TypeError(`Invalid this`);return isWritableStreamLocked(this)}abort(e){return ec(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamAbort(this,e):Promise.reject(TypeError(`Invalid this`))}close(){return ec(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamCloseQueuedOrInFlight(this)?Promise.reject(TypeError(`Failure closing WritableStream`)):writableStreamClose(this):Promise.reject(TypeError(`Invalid this`))}getWriter(){if(!ec(this))throw TypeError(`Invalid this`);return new WritableStreamDefaultWriter(this)}get[Symbol.toStringTag](){return`WritableStream`}},WritableStreamDefaultWriter=class{[Bs]=`WritableStreamDefaultWriter`;[zs];constructor(e){if(!ec(e))throw TypeError(`Expected a WritableStream`);this[zs]={stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0},ready:{promise:void 0,resolve:void 0,reject:void 0}},setupWritableStreamDefaultWriter(this,e)}get closed(){return tc(this)?this[zs].close.promise:Promise.reject(TypeError(`Invalid this`))}get desiredSize(){if(!tc(this))throw TypeError(`Invalid this`);if(this[zs].stream===void 0)throw TypeError(`Writer is not bound to a WritableStream`);return writableStreamDefaultWriterGetDesiredSize(this)}get ready(){return tc(this)?this[zs].ready.promise:Promise.reject(TypeError(`Invalid this`))}abort(e){return tc(this)?this[zs].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterAbort(this,e):Promise.reject(TypeError(`Invalid this`))}close(){if(!tc(this))return Promise.reject(TypeError(`Invalid this`));let{stream:e}=this[zs];return e===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamCloseQueuedOrInFlight(e)?Promise.reject(TypeError(`Failure to close WritableStream`)):writableStreamDefaultWriterClose(this)}releaseLock(){if(!tc(this))throw TypeError(`Invalid this`);let{stream:e}=this[zs];e!==void 0&&writableStreamDefaultWriterRelease(this)}write(e){return tc(this)?this[zs].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterWrite(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`WritableStreamDefaultWriter`}},WritableStreamDefaultController=class{[Bs]=`WritableStreamDefaultController`;[zs];constructor(e){if(e!==$s)throw TypeError(`Illegal constructor`)}[Ws](e){let R=this[zs].abortAlgorithm(e);return writableStreamDefaultControllerClearAlgorithms(this),R}[Zs](){resetQueue(this)}get signal(){if(!nc(this))throw TypeError(`Invalid this`);return this[zs].abortController.signal}error(e){if(!nc(this))throw TypeError(`Invalid this`);this[zs].stream[zs].state===`writable`&&writableStreamDefaultControllerError(this,e)}get[Symbol.toStringTag](){return`WritableStreamDefaultController`}};const ec=isBrandCheck(`WritableStream`),tc=isBrandCheck(`WritableStreamDefaultWriter`),nc=isBrandCheck(`WritableStreamDefaultController`);function createEmptyPromiseRecord(){return{promise:void 0,resolve:void 0,reject:void 0}}function createWritableStreamState(){return{close:Promise.withResolvers(),closeRequest:createEmptyPromiseRecord(),inFlightWriteRequest:createEmptyPromiseRecord(),inFlightCloseRequest:createEmptyPromiseRecord(),pendingAbortRequest:{abort:createEmptyPromiseRecord(),reason:void 0,wasAlreadyErroring:!1},backpressure:!1,controller:void 0,state:`writable`,storedError:void 0,writeRequests:[],writer:void 0}}function isWritableStreamLocked(e){return e[zs].writer!==void 0}function setupWritableStreamDefaultWriter(e,R){if(isWritableStreamLocked(R))throw TypeError(`WritableStream is locked`);switch(e[zs].stream=R,R[zs].writer=e,R[zs].state){case`writable`:!writableStreamCloseQueuedOrInFlight(R)&&R[zs].backpressure?e[zs].ready=Promise.withResolvers():e[zs].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},e[zs].close=Promise.withResolvers();break;case`erroring`:e[zs].ready={promise:Promise.reject(R[zs].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].ready.promise),e[zs].close=Promise.withResolvers();break;case`closed`:e[zs].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},e[zs].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;default:e[zs].ready={promise:Promise.reject(R[zs].storedError),resolve:void 0,reject:void 0},e[zs].close={promise:Promise.reject(R[zs].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].ready.promise),setPromiseHandled(e[zs].close.promise)}}function writableStreamAbort(e,R){let{state:W,controller:Y}=e[zs];if(W===`closed`||W===`errored`)return Promise.resolve();if(Y[zs].abortController.abort(R),e[zs].pendingAbortRequest.abort.promise!==void 0)return e[zs].pendingAbortRequest.abort.promise;let X=!1;W===`erroring`&&(X=!0,R=void 0);let ie=Promise.withResolvers();return e[zs].pendingAbortRequest={abort:ie,reason:R,wasAlreadyErroring:X},X||writableStreamStartErroring(e,R),ie.promise}function writableStreamClose(e){let{state:R,writer:W,backpressure:Y,controller:X}=e[zs];if(R===`closed`||R===`errored`)return Promise.reject(TypeError(`WritableStream is closed`));e[zs].closeRequest=Promise.withResolvers();let{promise:ie}=e[zs].closeRequest;return W!==void 0&&Y&&R===`writable`&&W[zs].ready.resolve?.(),writableStreamDefaultControllerClose(X),ie}function writableStreamUpdateBackpressure(e,R){let{writer:W}=e[zs];W!==void 0&&e[zs].backpressure!==R&&(R?W[zs].ready=Promise.withResolvers():W[zs].ready.resolve?.()),e[zs].backpressure=R}function writableStreamStartErroring(e,R){let{controller:W,writer:Y}=e[zs];e[zs].state=`erroring`,e[zs].storedError=R,Y!==void 0&&writableStreamDefaultWriterEnsureReadyPromiseRejected(Y,R),!writableStreamHasOperationMarkedInFlight(e)&&W[zs].started&&writableStreamFinishErroring(e)}function writableStreamRejectCloseAndClosedPromiseIfNeeded(e){e[zs].closeRequest.promise!==void 0&&(e[zs].closeRequest.reject?.(e[zs].storedError),e[zs].closeRequest={promise:void 0,resolve:void 0,reject:void 0}),setPromiseHandled(e[zs].close.promise),e[zs].close.reject?.(e[zs].storedError);let{writer:R}=e[zs];R!==void 0&&(setPromiseHandled(R[zs].close.promise),R[zs].close.reject?.(e[zs].storedError))}function writableStreamMarkFirstWriteRequestInFlight(e){let R=e[zs].writeRequests.shift();e[zs].inFlightWriteRequest=R}function writableStreamMarkCloseRequestInFlight(e){e[zs].inFlightCloseRequest=e[zs].closeRequest,e[zs].closeRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamHasOperationMarkedInFlight(e){return e[zs].inFlightWriteRequest.promise!==void 0||e[zs].inFlightCloseRequest.promise!==void 0}function writableStreamFinishInFlightWriteWithError(e,R){e[zs].inFlightWriteRequest.reject?.(R),e[zs].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0},writableStreamDealWithRejection(e,R)}function writableStreamFinishInFlightWrite(e){e[zs].inFlightWriteRequest.resolve?.(),e[zs].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamFinishInFlightCloseWithError(e,R){e[zs].inFlightCloseRequest.reject?.(R),e[zs].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},e[zs].pendingAbortRequest.abort.promise!==void 0&&(e[zs].pendingAbortRequest.abort.reject?.(R),e[zs].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1}),writableStreamDealWithRejection(e,R)}function writableStreamFinishInFlightClose(e){e[zs].inFlightCloseRequest.resolve?.(),e[zs].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},e[zs].state===`erroring`&&(e[zs].storedError=void 0,e[zs].pendingAbortRequest.abort.promise!==void 0&&(e[zs].pendingAbortRequest.abort.resolve?.(),e[zs].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1})),e[zs].state=`closed`,e[zs].writer!==void 0&&e[zs].writer[zs].close.resolve?.(),e[zs].close.resolve?.()}function writableStreamFinishErroring(e){e[zs].state=`errored`,e[zs].controller[Zs]();let R=e[zs].storedError;for(let W of e[zs].writeRequests)W.reject?.(R);if(e[zs].writeRequests=[],e[zs].pendingAbortRequest.abort.promise===void 0){writableStreamRejectCloseAndClosedPromiseIfNeeded(e);return}let W=e[zs].pendingAbortRequest;if(e[zs].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1},W.wasAlreadyErroring){W.abort.reject?.(R),writableStreamRejectCloseAndClosedPromiseIfNeeded(e);return}e[zs].controller[Ws](W.reason).then(()=>{W.abort.resolve?.(),writableStreamRejectCloseAndClosedPromiseIfNeeded(e)},R=>{W.abort.reject?.(R),writableStreamRejectCloseAndClosedPromiseIfNeeded(e)})}function writableStreamDealWithRejection(e,R){if(e[zs].state===`writable`){writableStreamStartErroring(e,R);return}writableStreamFinishErroring(e)}function writableStreamCloseQueuedOrInFlight(e){return e[zs].closeRequest.promise!==void 0||e[zs].inFlightCloseRequest.promise!==void 0}function writableStreamAddWriteRequest(e){let{promise:R,resolve:W,reject:Y}=Promise.withResolvers();return e[zs].writeRequests.push({promise:R,resolve:W,reject:Y}),R}function writableStreamDefaultWriterWrite(e,R){let{stream:W}=e[zs],{controller:Y}=W[zs],X=writableStreamDefaultControllerGetChunkSize(Y,R);if(W!==e[zs].stream)return Promise.reject(TypeError(`Mismatched WritableStreams`));let{state:ie}=W[zs];if(ie===`errored`)return Promise.reject(W[zs].storedError);if(writableStreamCloseQueuedOrInFlight(W)||ie===`closed`)return Promise.reject(TypeError(`WritableStream is closed`));if(ie===`erroring`)return Promise.reject(W[zs].storedError);let ae=writableStreamAddWriteRequest(W);return writableStreamDefaultControllerWrite(Y,R,X),ae}function writableStreamDefaultWriterRelease(e){let{stream:R}=e[zs],W=TypeError(`Writer has been released`);writableStreamDefaultWriterEnsureReadyPromiseRejected(e,W),writableStreamDefaultWriterEnsureClosedPromiseRejected(e,W),R[zs].writer=void 0,e[zs].stream=void 0}function writableStreamDefaultWriterGetDesiredSize(e){let{stream:R}=e[zs];switch(R[zs].state){case`errored`:case`erroring`:return null;case`closed`:return 0}return writableStreamDefaultControllerGetDesiredSize(R[zs].controller)}function writableStreamDefaultWriterEnsureReadyPromiseRejected(e,R){e[zs].ready.reject?(e[zs].ready.reject(R),e[zs].ready.resolve=void 0,e[zs].ready.reject=void 0):e[zs].ready={promise:Promise.reject(R),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].ready.promise)}function writableStreamDefaultWriterEnsureClosedPromiseRejected(e,R){e[zs].close.reject?(e[zs].close.reject(R),e[zs].close.resolve=void 0,e[zs].close.reject=void 0):e[zs].close={promise:Promise.reject(R),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].close.promise)}function writableStreamDefaultWriterCloseWithErrorPropagation(e){let{stream:R}=e[zs],{state:W}=R[zs];return writableStreamCloseQueuedOrInFlight(R)||W===`closed`?Promise.resolve():W===`errored`?Promise.reject(R[zs].storedError):writableStreamDefaultWriterClose(e)}function writableStreamDefaultWriterClose(e){return writableStreamClose(e[zs].stream)}function writableStreamDefaultWriterAbort(e,R){return writableStreamAbort(e[zs].stream,R)}function writableStreamDefaultControllerWrite(e,R,W){try{enqueueValueWithSize(e,R,W)}catch(R){writableStreamDefaultControllerErrorIfNeeded(e,R);return}let{stream:Y}=e[zs];!writableStreamCloseQueuedOrInFlight(Y)&&Y[zs].state===`writable`&&writableStreamUpdateBackpressure(Y,writableStreamDefaultControllerGetBackpressure(e)),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)}function writableStreamDefaultControllerProcessWrite(e,R){let{stream:W,writeAlgorithm:Y}=e[zs];writableStreamMarkFirstWriteRequestInFlight(W),Y(R,e).then(()=>{writableStreamFinishInFlightWrite(W);let{state:R}=W[zs];dequeueValue(e),!writableStreamCloseQueuedOrInFlight(W)&&R===`writable`&&writableStreamUpdateBackpressure(W,writableStreamDefaultControllerGetBackpressure(e)),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)},R=>{W[zs].state===`writable`&&writableStreamDefaultControllerClearAlgorithms(e),writableStreamFinishInFlightWriteWithError(W,R)})}function writableStreamDefaultControllerProcessClose(e){let{closeAlgorithm:R,stream:W}=e[zs];writableStreamMarkCloseRequestInFlight(W),dequeueValue(e);let Y=R();writableStreamDefaultControllerClearAlgorithms(e),Y.then(()=>writableStreamFinishInFlightClose(W),e=>writableStreamFinishInFlightCloseWithError(W,e))}function writableStreamDefaultControllerGetDesiredSize(e){return e[zs].highWaterMark-e[zs].queueTotalSize}function writableStreamDefaultControllerGetChunkSize(e,R){let{sizeAlgorithm:W}=e[zs];if(W===void 0)return 1;try{return W(R)}catch(R){return writableStreamDefaultControllerErrorIfNeeded(e,R),1}}function writableStreamDefaultControllerErrorIfNeeded(e,R){e[zs].stream[zs].state===`writable`&&writableStreamDefaultControllerError(e,R)}function writableStreamDefaultControllerError(e,R){writableStreamDefaultControllerClearAlgorithms(e),writableStreamStartErroring(e[zs].stream,R)}function writableStreamDefaultControllerClose(e){enqueueValueWithSize(e,Xs,0),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)}function writableStreamDefaultControllerClearAlgorithms(e){e[zs].writeAlgorithm=void 0,e[zs].closeAlgorithm=void 0,e[zs].abortAlgorithm=void 0,e[zs].sizeAlgorithm=void 0}function writableStreamDefaultControllerGetBackpressure(e){return writableStreamDefaultControllerGetDesiredSize(e)<=0}function writableStreamDefaultControllerAdvanceQueueIfNeeded(e){let{queue:R,started:W,stream:Y}=e[zs];if(!W||Y[zs].inFlightWriteRequest.promise!==void 0)return;if(Y[zs].state===`erroring`){writableStreamFinishErroring(Y);return}if(!R.length)return;let X=peekQueueValue(e);X===Xs?writableStreamDefaultControllerProcessClose(e):writableStreamDefaultControllerProcessWrite(e,X)}function setupWritableStreamDefaultControllerFromSink(e,R,W,Y){let X=new WritableStreamDefaultController($s),ie=R?.start,ae=R?.write,le=R?.close,_e=R?.abort;setupWritableStreamDefaultController(e,X,ie?ie.bind(R,X):nonOpStart,ae?createPromiseCallback(`sink.write`,ae,R):nonOpWrite,le?createPromiseCallback(`sink.close`,le,R):nonOpCancel,_e?createPromiseCallback(`sink.abort`,_e,R):nonOpCancel,W,Y)}function setupWritableStreamDefaultController(e,R,W,Y,X,ie,ae,le){R[zs]={abortAlgorithm:ie,closeAlgorithm:X,highWaterMark:ae,queue:[],queueTotalSize:0,abortController:new Us,sizeAlgorithm:le,started:!1,stream:e,writeAlgorithm:Y},e[zs].controller=R,writableStreamUpdateBackpressure(e,writableStreamDefaultControllerGetBackpressure(R));let _e=W();new Promise(e=>e(_e)).then(()=>{R[zs].started=!0,writableStreamDefaultControllerAdvanceQueueIfNeeded(R)},W=>{R[zs].started=!0,writableStreamDealWithRejection(e,W)})}function createWritableStream(e,R,W,Y,X=1,ie=()=>1){let ae=Object.create(WritableStream.prototype);return ae[Bs]=`WritableStream`,ae[zs]=createWritableStreamState(),setupWritableStreamDefaultController(ae,new WritableStreamDefaultController($s),e,R,W,Y,X,ie),ae}Vt();const sc=Symbol(`kCancel`),uc=Symbol(`kClose`),hc=Symbol(`kChunk`),Ac=Symbol(`kError`),Ic=Symbol(`kPull`),Hc=Symbol(`kRelease`),el=Symbol(`kSkipThrow`);let nl,sl;function lazyReadableReleasedError(){return nl||(nl=TypeError(`Reader released`),nl)}function lazyReadableReleasingError(){return sl||(sl=TypeError(`Releasing reader`),sl)}function createAbortError(){if(typeof globalThis.DOMException==`function`)return new DOMException(`The operation was aborted`,`AbortError`);let e=Error(`The operation was aborted`);return e.name=`AbortError`,e}function createReadableStreamState(){return{disturbed:!1,reader:void 0,state:`readable`,storedError:void 0,controller:void 0,closedPromise:Promise.withResolvers()}}var ReadableStream$1=class{static{__name$1(this,`ReadableStream`)}[Bs]=`ReadableStream`;[zs];constructor(e={},R={}){if(e!=null&&typeof e!=`object`)throw TypeError(`source must be an object`);if(R!=null&&typeof R!=`object`)throw TypeError(`strategy must be an object`);this[zs]=createReadableStreamState();let W=R?.size,Y=R?.highWaterMark,X=e?.type;if(X!==void 0){if(`${X}`==`bytes`){if(W!==void 0)throw RangeError(`strategy.size must not be set for a byte stream`);setupReadableByteStreamControllerFromSource(this,e,extractHighWaterMark(Y,0));return}throw RangeError(`Invalid type: ${X}`)}setupReadableStreamDefaultControllerFromSource(this,e,extractHighWaterMark(Y,1),extractSizeAlgorithm(W))}get locked(){if(!fl(this))throw TypeError(`Invalid this`);return isReadableStreamLocked(this)}static from(e){return readableStreamFromIterable(e)}cancel(e=void 0){return fl(this)?isReadableStreamLocked(this)?Promise.reject(TypeError(`ReadableStream is locked`)):readableStreamCancel(this,e):Promise.reject(TypeError(`Invalid this`))}getReader(e={}){if(!fl(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let R=e?.mode;if(R===void 0)return new ReadableStreamDefaultReader(this);if(`${R}`==`byob`)return new ReadableStreamBYOBReader(this);throw RangeError(`Invalid mode: ${R}`)}pipeThrough(e,R={}){if(!fl(this))throw TypeError(`Invalid this`);let W=e?.readable;if(!fl(W))throw TypeError(`transform.readable must be a ReadableStream`);let Y=e?.writable;if(!ec(Y))throw TypeError(`transform.writable must be a WritableStream`);if(R!=null&&typeof R!=`object`)throw TypeError(`options must be an object`);let X=R?.preventAbort,ie=R?.preventCancel,ae=R?.preventClose,le=R?.signal;if(le!==void 0&&!(le instanceof Object&&`aborted`in le))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(Y))throw TypeError(`The WritableStream is locked`);return setPromiseHandled(readableStreamPipeTo(this,Y,!!ae,!!X,!!ie,le)),W}pipeTo(e,R={}){try{if(!fl(this))throw TypeError(`Invalid this`);if(!ec(e))throw TypeError(`destination must be a WritableStream`);if(R!=null&&typeof R!=`object`)throw TypeError(`options must be an object`);let W=R?.preventAbort,Y=R?.preventCancel,X=R?.preventClose,ie=R?.signal;if(ie!==void 0&&!(ie instanceof Object&&`aborted`in ie))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(e))throw TypeError(`The WritableStream is locked`);return readableStreamPipeTo(this,e,!!X,!!W,!!Y,ie)}catch(e){return Promise.reject(e)}}tee(){if(!fl(this))throw TypeError(`Invalid this`);let e=this[zs].controller;return vl(e)?readableByteStreamTee(this):readableStreamDefaultTee(this,!1)}values(e={}){if(!fl(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let R=!!e?.preventCancel,W=new ReadableStreamDefaultReader(this),Y={done:!1,current:void 0},X=!1;function nextSteps(){if(Y.done)return Promise.resolve({done:!0,value:void 0});if(W[zs].stream===void 0)return Promise.reject(TypeError(`The reader is not bound to a ReadableStream`));let{promise:e,resolve:R,reject:X}=Promise.withResolvers();return readableStreamDefaultReaderRead(W,{[hc](e){Y.current=void 0,R({value:e,done:!1})},[uc](){Y.current=void 0,Y.done=!0,readableStreamReaderGenericRelease(W),R({done:!0,value:void 0})},[Ac](e){Y.current=void 0,Y.done=!0,readableStreamReaderGenericRelease(W),X(e)}}),e}async function returnSteps(e){if(Y.done)return{done:!0,value:e};if(Y.done=!0,W[zs].stream===void 0)throw TypeError(`The reader is not bound to a ReadableStream`);if(!R){let R=readableStreamReaderGenericCancel(W,e);return readableStreamReaderGenericRelease(W),await R,{done:!0,value:e}}return readableStreamReaderGenericRelease(W),{done:!0,value:e}}return Object.setPrototypeOf({next(){return X||=(Y.current=Promise.resolve(),!0),Y.current=Y.current===void 0?nextSteps():Y.current.then(nextSteps,nextSteps),Y.current},return(e){return X=!0,Y.current=Y.current===void 0?returnSteps(e):Y.current.then(()=>returnSteps(e),()=>returnSteps(e)),Y.current},[Symbol.asyncIterator](){return this}},Hs)}[Symbol.asyncIterator](){return this.values()}get[Symbol.toStringTag](){return`ReadableStream`}},DefaultReadRequest=class{[zs];constructor(){this[zs]=Promise.withResolvers()}[hc](e){this[zs].resolve?.({value:e,done:!1})}[uc](){this[zs].resolve?.({value:void 0,done:!0})}[Ac](e){this[zs].reject?.(e)}get promise(){return this[zs].promise}},ReadableStreamDefaultReader=class{[Bs]=`ReadableStreamDefaultReader`;[zs];constructor(e){if(!fl(e))throw TypeError(`Expected a ReadableStream`);this[zs]={readRequests:[],readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamDefaultReader(this,e)}read(){if(!_l(this))return Promise.reject(TypeError(`Invalid this`));if(this[zs].stream===void 0)return Promise.reject(TypeError(`The reader is not attached to a stream`));let e=this[zs].stream,R=e[zs].controller;if(e[zs].state===`readable`&&ml(R)&&R[zs].queue.length>0){e[zs].disturbed=!0;let W=dequeueValue(R);return R[zs].closeRequested&&!R[zs].queue.length?(readableStreamDefaultControllerClearAlgorithms(R),readableStreamClose(e)):readableStreamDefaultControllerCallPullIfNeeded(R),Promise.resolve({value:W,done:!1})}let W=new DefaultReadRequest;return readableStreamDefaultReaderRead(this,W),W.promise}releaseLock(){if(!_l(this))throw TypeError(`Invalid this`);this[zs].stream!==void 0&&readableStreamDefaultReaderRelease(this)}get closed(){return _l(this)?this[zs].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return _l(this)?this[zs].stream===void 0?Promise.reject(TypeError(`The reader is not attached to a stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamDefaultReader`}},ReadableStreamDefaultController=class{[Bs]=`ReadableStreamDefaultController`;[zs];constructor(e){if(e!==el)throw TypeError(`Illegal constructor`)}get desiredSize(){return readableStreamDefaultControllerGetDesiredSize(this)}close(){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerClose(this)}enqueue(e=void 0){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerEnqueue(this,e)}error(e=void 0){readableStreamDefaultControllerError(this,e)}[sc](e){return readableStreamDefaultControllerCancelSteps(this,e)}[Ic](e){readableStreamDefaultControllerPullSteps(this,e)}[Hc](){}get[Symbol.toStringTag](){return`ReadableStreamDefaultController`}};const fl=isBrandCheck(`ReadableStream`),ml=isBrandCheck(`ReadableStreamDefaultController`),_l=isBrandCheck(`ReadableStreamDefaultReader`);function isReadableStreamLocked(e){return e[zs].reader!==void 0}function readableStreamCancel(e,R){switch(e[zs].disturbed=!0,e[zs].state){case`closed`:return Promise.resolve();case`errored`:return Promise.reject(e[zs].storedError)}readableStreamClose(e);let W=e[zs].reader;if(W!==void 0&&readableStreamHasBYOBReader(e)){let e=W[zs].readIntoRequests;W[zs].readIntoRequests=[];for(let R=0;R<e.length;R++)e[R][uc](void 0)}return e[zs].controller[sc](R).then(()=>{})}function readableStreamClose(e){e[zs].state=`closed`,e[zs].closedPromise.resolve();let{reader:R}=e[zs];if(R!==void 0&&(R[zs].close.resolve?.(),readableStreamHasDefaultReader(e))){for(let e=0;e<R[zs].readRequests.length;e++)R[zs].readRequests[e][uc]();R[zs].readRequests=[]}}function readableStreamError(e,R){e[zs].state=`errored`,e[zs].storedError=R,setPromiseHandled(e[zs].closedPromise.promise),e[zs].closedPromise.reject(R);let{reader:W}=e[zs];if(W!==void 0){if(setPromiseHandled(W[zs].close.promise),W[zs].close.reject?.(R),readableStreamHasDefaultReader(e)){for(let e=0;e<W[zs].readRequests.length;e++)W[zs].readRequests[e][Ac](R);W[zs].readRequests=[]}else if(readableStreamHasBYOBReader(e)){for(let e=0;e<W[zs].readIntoRequests.length;e++)W[zs].readIntoRequests[e][Ac](R);W[zs].readIntoRequests=[]}}}function readableStreamHasDefaultReader(e){let{reader:R}=e[zs];return R===void 0?!1:R[zs]!==void 0&&R[Bs]===`ReadableStreamDefaultReader`}function readableStreamGetNumReadRequests(e){return e[zs].reader[zs].readRequests.length}function readableStreamFulfillReadRequest(e,R,W){let{reader:Y}=e[zs],X=Y[zs].readRequests.shift();W?X[uc]():X[hc](R)}function readableStreamAddReadRequest(e,R){e[zs].reader[zs].readRequests.push(R)}function readableStreamReaderGenericCancel(e,R){let{stream:W}=e[zs];return readableStreamCancel(W,R)}function readableStreamReaderGenericInitialize(e,R){switch(e[zs].stream=R,R[zs].reader=e,R[zs].state){case`readable`:e[zs].close=Promise.withResolvers();break;case`closed`:e[zs].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;case`errored`:e[zs].close={promise:Promise.reject(R[zs].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].close.promise);break}}function readableStreamReaderGenericRelease(e){let{stream:R}=e[zs],W=lazyReadableReleasedError();R[zs].state===`readable`?e[zs].close.reject?.(W):e[zs].close={promise:Promise.reject(W),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].close.promise),R[zs].controller[Hc](),R[zs].reader=void 0,e[zs].stream=void 0}function readableStreamDefaultReaderRelease(e){readableStreamReaderGenericRelease(e),readableStreamDefaultReaderErrorReadRequests(e,lazyReadableReleasingError())}function readableStreamDefaultReaderErrorReadRequests(e,R){for(let W=0;W<e[zs].readRequests.length;++W)e[zs].readRequests[W][Ac](R);e[zs].readRequests=[]}function readableStreamDefaultReaderRead(e,R){let{stream:W}=e[zs];switch(W[zs].disturbed=!0,W[zs].state){case`closed`:R[uc]();break;case`errored`:R[Ac](W[zs].storedError);break;case`readable`:W[zs].controller[Ic](R);break}}function setupReadableStreamDefaultReader(e,R){if(isReadableStreamLocked(R))throw TypeError(`ReadableStream is locked`);readableStreamReaderGenericInitialize(e,R),e[zs].readRequests=[]}function readableStreamDefaultControllerClose(e){readableStreamDefaultControllerCanCloseOrEnqueue(e)&&(e[zs].closeRequested=!0,e[zs].queue.length||(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(e[zs].stream)))}function readableStreamDefaultControllerEnqueue(e,R){if(!readableStreamDefaultControllerCanCloseOrEnqueue(e))return;let{stream:W}=e[zs];if(isReadableStreamLocked(W)&&readableStreamGetNumReadRequests(W))readableStreamFulfillReadRequest(W,R,!1);else try{enqueueValueWithSize(e,R,e[zs].sizeAlgorithm(R))}catch(R){throw readableStreamDefaultControllerError(e,R),R}readableStreamDefaultControllerCallPullIfNeeded(e)}function readableStreamDefaultControllerCanCloseOrEnqueue(e){let{stream:R}=e[zs];return!e[zs].closeRequested&&R[zs].state===`readable`}function readableStreamDefaultControllerGetDesiredSize(e){let{stream:R,highWaterMark:W,queueTotalSize:Y}=e[zs];switch(R[zs].state){case`errored`:return null;case`closed`:return 0;default:return W-Y}}function readableStreamDefaultControllerHasBackpressure(e){return!readableStreamDefaultControllerShouldCallPull(e)}function readableStreamDefaultControllerShouldCallPull(e){let{stream:R}=e[zs];if(!readableStreamDefaultControllerCanCloseOrEnqueue(e)||!e[zs].started)return!1;if(isReadableStreamLocked(R)&&readableStreamGetNumReadRequests(R))return!0;let W=readableStreamDefaultControllerGetDesiredSize(e);return W!==null&&W>0}function readableStreamDefaultControllerCallPullIfNeeded(e){if(readableStreamDefaultControllerShouldCallPull(e)){if(e[zs].pulling){e[zs].pullAgain=!0;return}e[zs].pulling=!0,e[zs].pullAlgorithm(e).then(()=>{e[zs].pulling=!1,e[zs].pullAgain&&(e[zs].pullAgain=!1,readableStreamDefaultControllerCallPullIfNeeded(e))},R=>readableStreamDefaultControllerError(e,R))}}function readableStreamDefaultControllerClearAlgorithms(e){e[zs].pullAlgorithm=void 0,e[zs].cancelAlgorithm=void 0,e[zs].sizeAlgorithm=void 0}function readableStreamDefaultControllerError(e,R){let{stream:W}=e[zs];W[zs].state===`readable`&&(resetQueue(e),readableStreamDefaultControllerClearAlgorithms(e),readableStreamError(W,R))}function readableStreamDefaultControllerCancelSteps(e,R){resetQueue(e);let W=e[zs].cancelAlgorithm?.(R)??Promise.resolve();return readableStreamDefaultControllerClearAlgorithms(e),W}function readableStreamDefaultControllerPullSteps(e,R){let{stream:W,queue:Y}=e[zs];if(Y.length){let X=dequeueValue(e);e[zs].closeRequested&&!Y.length?(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(W)):readableStreamDefaultControllerCallPullIfNeeded(e),R[hc](X);return}readableStreamAddReadRequest(W,R),readableStreamDefaultControllerCallPullIfNeeded(e)}function setupReadableStreamDefaultController(e,R,W,Y,X,ie,ae){R[zs]={cancelAlgorithm:X,closeRequested:!1,highWaterMark:ie,pullAgain:!1,pullAlgorithm:Y,pulling:!1,queue:[],queueTotalSize:0,started:!1,sizeAlgorithm:ae,stream:e},e[zs].controller=R;let le=W();new Promise(e=>e(le)).then(()=>{R[zs].started=!0,readableStreamDefaultControllerCallPullIfNeeded(R)},e=>readableStreamDefaultControllerError(R,e))}function setupReadableStreamDefaultControllerFromSource(e,R,W,Y){let X=new ReadableStreamDefaultController(el),ie=R?.start,ae=R?.pull,le=R?.cancel;setupReadableStreamDefaultController(e,X,ie?ie.bind(R,X):nonOpStart,ae?createPromiseCallback(`source.pull`,ae,R):nonOpPull,le?createPromiseCallback(`source.cancel`,le,R):nonOpCancel,W,Y)}function createReadableStream(e,R,W,Y=1,X=()=>1){let ie=Object.create(ReadableStream$1.prototype);return ie[Bs]=`ReadableStream`,ie[zs]=createReadableStreamState(),setupReadableStreamDefaultController(ie,new ReadableStreamDefaultController(el),e,R,W,Y,X),ie}function readableStreamFromIterable(e){let R,W=getIterator(e,`async`),Y=nonOpStart;async function pullAlgorithm(){let e=iteratorNext(W);return Promise.resolve(e).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.next() method must fulfill with an object`);e.done?readableStreamDefaultControllerClose(R[zs].controller):readableStreamDefaultControllerEnqueue(R[zs].controller,e.value)})}async function cancelAlgorithm(e){let R=W.iterator,Y=R.return;if(Y===void 0)return Promise.resolve();let X=Y.call(R,e);return Promise.resolve(X).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.return() method must fulfill with an object`)})}return R=createReadableStream(Y,pullAlgorithm,cancelAlgorithm,0),R}function readableStreamPipeTo(e,R,W,Y,X,ie){let ae,le;try{ae=new ReadableStreamDefaultReader(e),le=new WritableStreamDefaultWriter(R)}catch(e){return Promise.reject(e)}e[zs].disturbed=!0;let _e=!1,{promise:ye,resolve:be,reject:Ce}=Promise.withResolvers(),Te={currentWrite:Promise.resolve()},Oe;function finalize(e,R){writableStreamDefaultWriterRelease(le),readableStreamReaderGenericRelease(ae),ie!==void 0&&Oe&&(ie.removeEventListener(`abort`,Oe),Oe=void 0),e?Ce(R):be()}async function waitForCurrentWrite(){let e=Te.currentWrite;await e,e!==Te.currentWrite&&await waitForCurrentWrite()}function shutdownWithAnAction(e,W,Y){if(_e)return;if(_e=!0,R[zs].state===`writable`&&!writableStreamCloseQueuedOrInFlight(R)){waitForCurrentWrite().then(complete,e=>finalize(!0,e));return}complete();function complete(){e().then(()=>finalize(!!W,Y),e=>finalize(!0,e))}}function shutdown(e,W){if(!_e){if(_e=!0,R[zs].state===`writable`&&!writableStreamCloseQueuedOrInFlight(R)){waitForCurrentWrite().then(()=>finalize(!!e,W),e=>finalize(!0,e));return}finalize(!!e,W)}}function abortAlgorithm(){let W;W=ie.reason&&ie.reason.name===`AbortError`?createAbortError():ie.reason;let ae=[];Y||ae.push(()=>R[zs].state===`writable`?writableStreamAbort(R,W):Promise.resolve()),X||ae.push(()=>e[zs].state===`readable`?readableStreamCancel(e,W):Promise.resolve()),shutdownWithAnAction(()=>Promise.all(ae.map(e=>e())).then(()=>void 0),!0,W)}function watchErrored(e,R,W){e[zs].state===`errored`?W(e[zs].storedError):R.then(void 0,W)}function watchClosed(e,R,W){e[zs].state===`closed`?W():R.then(W,()=>{})}class PipeToReadRequest{[hc](e){St(()=>{Te.currentWrite=writableStreamDefaultWriterWrite(le,e),setPromiseHandled(Te.currentWrite),Ae.resolve(!1)})}[uc](){Ae.resolve(!0)}[Ac](e){Ae.reject(e)}}let Ae={resolve:null,reject:null};async function step(){if(_e||R[zs].backpressure&&(await le[zs].ready.promise,_e))return!0;let W=e[zs].controller;if(e[zs].state===`readable`&&ml(W)&&W[zs].queue.length>0){for(;W[zs].queue.length>0;){if(_e)return!0;let Y=dequeueValue(W);if(W[zs].closeRequested&&!W[zs].queue.length&&(readableStreamDefaultControllerClearAlgorithms(W),readableStreamClose(e)),Te.currentWrite=writableStreamDefaultWriterWrite(le,Y),setPromiseHandled(Te.currentWrite),R[zs].backpressure||R[zs].state!==`writable`||writableStreamCloseQueuedOrInFlight(R))break}return readableStreamDefaultControllerCallPullIfNeeded(W),e[zs].state===`closed`}let{promise:Y,resolve:X,reject:ie}=Promise.withResolvers();return Ae={resolve:X,reject:ie},readableStreamDefaultReaderRead(ae,new PipeToReadRequest),Y}async function run(){for(;!await step(););}if(ie!==void 0){if(ie.aborted)return abortAlgorithm(),ye;Oe=abortAlgorithm,ie.addEventListener(`abort`,Oe,{once:!0})}if(setPromiseHandled(run()),watchErrored(e,ae[zs].close.promise,e=>{if(!Y)return shutdownWithAnAction(()=>writableStreamAbort(R,e),!0,e);shutdown(!0,e)}),watchErrored(R,le[zs].close.promise,R=>{if(!X)return shutdownWithAnAction(()=>readableStreamCancel(e,R),!0,R);shutdown(!0,R)}),watchClosed(e,ae[zs].close.promise,()=>{if(!W)return shutdownWithAnAction(()=>writableStreamDefaultWriterCloseWithErrorPropagation(le));shutdown()}),writableStreamCloseQueuedOrInFlight(R)||R[zs].state===`closed`){let R=TypeError(`Destination WritableStream is closed`);X?shutdown(!0,R):shutdownWithAnAction(()=>readableStreamCancel(e,R),!0,R)}return ye}function readableStreamDefaultTee(e,R){let W=new ReadableStreamDefaultReader(e),Y=!1,X=!1,ie=!1,ae,le,_e,ye,be=Promise.withResolvers();async function pullAlgorithm(){Y||(Y=!0,readableStreamDefaultReaderRead(W,{[hc](e){St(()=>{Y=!1;let W=e,ae=e;if(!ie&&R)try{ae=structuredClone(ae)}catch{}X||readableStreamDefaultControllerEnqueue(_e[zs].controller,W),ie||readableStreamDefaultControllerEnqueue(ye[zs].controller,ae)})},[uc](){St(()=>{Y=!1,X||readableStreamDefaultControllerClose(_e[zs].controller),ie||readableStreamDefaultControllerClose(ye[zs].controller),(!X||!ie)&&be.resolve(void 0)})},[Ac](){Y=!1}}))}function cancel1Algorithm(R){if(X=!0,ae=R,ie){let R=[ae,le];be.resolve(readableStreamCancel(e,R))}return be.promise}function cancel2Algorithm(R){if(ie=!0,le=R,X){let R=[ae,le];be.resolve(readableStreamCancel(e,R))}return be.promise}return _e=createReadableStream(nonOpStart,pullAlgorithm,cancel1Algorithm),ye=createReadableStream(nonOpStart,pullAlgorithm,cancel2Algorithm),W[zs].close.promise.then(void 0,e=>{readableStreamDefaultControllerError(_e[zs].controller,e),readableStreamDefaultControllerError(ye[zs].controller,e),(!X||!ie)&&be.resolve(void 0)}),[_e,ye]}var BYOBReadIntoRequest=class{[zs];constructor(){this[zs]=Promise.withResolvers()}[hc](e){this[zs].resolve?.({value:e,done:!1})}[uc](e){this[zs].resolve?.({value:e,done:!0})}[Ac](e){this[zs].reject?.(e)}get promise(){return this[zs].promise}},ReadableStreamBYOBReader=class{[Bs]=`ReadableStreamBYOBReader`;[zs];constructor(e){if(!fl(e))throw TypeError(`Expected a ReadableStream`);this[zs]={readRequests:[],readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamBYOBReader(this,e)}read(e,R={}){if(!yl(this))return Promise.reject(TypeError(`Invalid this`));if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))return Promise.reject(TypeError(`view must be an ArrayBufferView`));let W=e.buffer,Y=e.byteLength;if(Y===0)return Promise.reject(TypeError(`view must have non-zero byteLength`));if(W.byteLength===0)return isDetachedBuffer(W)?Promise.reject(TypeError(`view's buffer has been detached`)):Promise.reject(TypeError(`view's buffer must have non-zero byteLength`));let X=R?.min??1;if(typeof X!=`number`||X<1||!Number.isInteger(X)||Number.isNaN(X))return Promise.reject(TypeError(`options.min must be a positive integer`));let ie=e[Symbol.toStringTag];if(ie!==void 0&&ie!==`DataView`){if(X>e.length)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`))}else if(X>Y)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`));if(this[zs].stream===void 0)return Promise.reject(TypeError(`Reader has no associated stream`));let ae=new BYOBReadIntoRequest;return readableStreamBYOBReaderRead(this,e,X,ae),ae.promise}releaseLock(){if(!yl(this))throw TypeError(`Invalid this`);this[zs].stream!==void 0&&readableStreamBYOBReaderRelease(this)}get closed(){return yl(this)?this[zs].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return yl(this)?this[zs].stream===void 0?Promise.reject(TypeError(`Reader has no associated stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamBYOBReader`}},ReadableStreamBYOBRequest=class{[Bs]=`ReadableStreamBYOBRequest`;[zs];constructor(e){if(e!==el)throw TypeError(`Illegal constructor`)}get view(){if(!bl(this))throw TypeError(`Invalid this`);return this[zs].view}respond(e){if(!bl(this))throw TypeError(`Invalid this`);if(this[zs].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(e=+e,!Number.isInteger(e)||e<0||!Number.isFinite(e))throw RangeError(`bytesWritten must be a non-negative integer`);let R=this[zs].view;if(isDetachedBuffer(R.buffer))throw TypeError(`The BYOB request's buffer has been detached`);readableByteStreamControllerRespond(this[zs].controller,e)}respondWithNewView(e){if(!bl(this))throw TypeError(`Invalid this`);if(this[zs].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`view must be an ArrayBufferView`);if(isDetachedBuffer(e.buffer))throw TypeError(`The given view's buffer has been detached`);readableByteStreamControllerRespondWithNewView(this[zs].controller,e)}get[Symbol.toStringTag](){return`ReadableStreamBYOBRequest`}},ReadableByteStreamController=class{[Bs]=`ReadableByteStreamController`;[zs];constructor(e){if(e!==el)throw TypeError(`Illegal constructor`)}get byobRequest(){if(!vl(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetBYOBRequest(this)}get desiredSize(){if(!vl(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetDesiredSize(this)}close(){if(!vl(this))throw TypeError(`Invalid this`);if(this[zs].closeRequested)throw TypeError(`Close already requested`);if(this[zs].stream[zs].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerClose(this)}enqueue(e){if(!vl(this))throw TypeError(`Invalid this`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`chunk must be an ArrayBufferView`);if(e.byteLength===0)throw TypeError(`chunk length must be non-zero`);if(e.buffer.byteLength===0)throw TypeError(`chunk's buffer length must be non-zero`);if(this[zs].closeRequested)throw TypeError(`Cannot enqueue after close has been requested`);if(this[zs].stream[zs].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerEnqueue(this,e)}error(e=void 0){if(!vl(this))throw TypeError(`Invalid this`);readableByteStreamControllerError(this,e)}[sc](e){return readableByteStreamControllerCancelSteps(this,e)}[Ic](e){readableByteStreamControllerPullSteps(this,e)}[Hc](){if(this[zs].pendingPullIntos.length>0){let e=this[zs].pendingPullIntos[0];e.readerType=`none`,this[zs].pendingPullIntos=[e]}}get[Symbol.toStringTag](){return`ReadableByteStreamController`}};const vl=isBrandCheck(`ReadableByteStreamController`),yl=isBrandCheck(`ReadableStreamBYOBReader`),bl=isBrandCheck(`ReadableStreamBYOBRequest`);function readableStreamHasBYOBReader(e){let{reader:R}=e[zs];return R===void 0?!1:R[zs]!==void 0&&R[Bs]===`ReadableStreamBYOBReader`}function readableStreamGetNumReadIntoRequests(e){return e[zs].reader[zs].readIntoRequests.length}function readableStreamAddReadIntoRequest(e,R){e[zs].reader[zs].readIntoRequests.push(R)}function readableStreamFulfillReadIntoRequest(e,R,W){let{reader:Y}=e[zs],X=Y[zs].readIntoRequests.shift();W?X[uc](R):X[hc](R)}function setupReadableStreamBYOBReader(e,R){if(isReadableStreamLocked(R))throw TypeError(`ReadableStream is locked`);if(!vl(R[zs].controller))throw TypeError(`Cannot use a BYOB reader with a non-byte stream`);readableStreamReaderGenericInitialize(e,R),e[zs].readIntoRequests=[]}function readableStreamBYOBReaderRead(e,R,W,Y){let{stream:X}=e[zs];X[zs].disturbed=!0,X[zs].state===`errored`?Y[Ac](X[zs].storedError):readableByteStreamControllerPullInto(X[zs].controller,R,W,Y)}function readableStreamBYOBReaderRelease(e){readableStreamReaderGenericRelease(e);let R=TypeError(`Reader was released`);for(let W=0;W<e[zs].readIntoRequests.length;W++)e[zs].readIntoRequests[W][Ac](R);e[zs].readIntoRequests=[]}function readableByteStreamControllerClearAlgorithms(e){e[zs].pullAlgorithm=void 0,e[zs].cancelAlgorithm=void 0}function readableByteStreamControllerClearPendingPullIntos(e){readableByteStreamControllerInvalidateBYOBRequest(e),e[zs].pendingPullIntos=[]}function readableByteStreamControllerInvalidateBYOBRequest(e){let R=e[zs].byobRequest;R!=null&&(R[zs].controller=void 0,R[zs].view=null,e[zs].byobRequest=null)}function readableByteStreamControllerError(e,R){let{stream:W}=e[zs];W[zs].state===`readable`&&(readableByteStreamControllerClearPendingPullIntos(e),resetQueue(e),readableByteStreamControllerClearAlgorithms(e),readableStreamError(W,R))}function readableByteStreamControllerGetDesiredSize(e){let R=e[zs].stream[zs].state;return R===`errored`?null:R===`closed`?0:e[zs].highWaterMark-e[zs].queueTotalSize}function readableByteStreamControllerShouldCallPull(e){let{stream:R}=e[zs];if(R[zs].state!==`readable`||e[zs].closeRequested||!e[zs].started)return!1;if(readableStreamHasDefaultReader(R)&&readableStreamGetNumReadRequests(R)>0||readableStreamHasBYOBReader(R)&&readableStreamGetNumReadIntoRequests(R)>0)return!0;let W=readableByteStreamControllerGetDesiredSize(e);return W!==null&&W>0}function readableByteStreamControllerCallPullIfNeeded(e){if(readableByteStreamControllerShouldCallPull(e)){if(e[zs].pulling){e[zs].pullAgain=!0;return}e[zs].pulling=!0,e[zs].pullAlgorithm(e).then(()=>{e[zs].pulling=!1,e[zs].pullAgain&&(e[zs].pullAgain=!1,readableByteStreamControllerCallPullIfNeeded(e))},R=>readableByteStreamControllerError(e,R))}}function readableByteStreamControllerHandleQueueDrain(e){e[zs].queueTotalSize===0&&e[zs].closeRequested?(readableByteStreamControllerClearAlgorithms(e),readableStreamClose(e[zs].stream)):readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerEnqueueChunkToQueue(e,R,W,Y){e[zs].queue.push({buffer:R,byteOffset:W,byteLength:Y}),e[zs].queueTotalSize+=Y}function readableByteStreamControllerEnqueueClonedChunkToQueue(e,R,W,Y){let X;try{X=R.slice(W,W+Y)}catch(R){readableByteStreamControllerError(e,R);return}readableByteStreamControllerEnqueueChunkToQueue(e,X,0,Y)}function readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,R){R.bytesFilled>0&&readableByteStreamControllerEnqueueClonedChunkToQueue(e,R.buffer,R.byteOffset,R.bytesFilled),readableByteStreamControllerShiftPendingPullInto(e)}function readableByteStreamControllerShiftPendingPullInto(e){return e[zs].pendingPullIntos.shift()}function readableByteStreamControllerFillHeadPullIntoDescriptor(e,R,W){W.bytesFilled+=R}function readableByteStreamControllerConvertPullIntoDescriptor(e){let R=e.bytesFilled,W=e.elementSize,Y=transferArrayBuffer(e.buffer);return e.buffer=Y,new e.viewConstructor(Y,e.byteOffset,R/W)}function readableByteStreamControllerCommitPullIntoDescriptor(e,R){let W=!1;e[zs].state===`closed`&&(W=!0);let Y=readableByteStreamControllerConvertPullIntoDescriptor(R);R.readerType==="default"?readableStreamFulfillReadRequest(e,Y,W):readableStreamFulfillReadIntoRequest(e,Y,W)}function readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,R){let W=Math.min(e[zs].queueTotalSize,R.byteLength-R.bytesFilled),Y=R.bytesFilled+W,X=W,ie=!1,ae=Y-Y%R.elementSize;ae>=R.minimumFill&&(X=ae-R.bytesFilled,ie=!0);let le=e[zs].queue;for(;X>0;){let W=le[0],Y=Math.min(X,W.byteLength),ie=R.byteOffset+R.bytesFilled,ae=new Uint8Array(R.buffer,ie,Y),_e=new Uint8Array(W.buffer,W.byteOffset,Y);ae.set(_e),W.byteLength===Y?le.shift():(W.byteOffset+=Y,W.byteLength-=Y),e[zs].queueTotalSize-=Y,readableByteStreamControllerFillHeadPullIntoDescriptor(e,Y,R),X-=Y}return ie}function readableByteStreamControllerFillReadRequestFromQueue(e,R){let W=e[zs].queue.shift();e[zs].queueTotalSize-=W.byteLength,readableByteStreamControllerHandleQueueDrain(e);let Y=new Uint8Array(W.buffer,W.byteOffset,W.byteLength);R[hc](Y)}function readableByteStreamControllerProcessReadRequestsUsingQueue(e){let R=e[zs].stream[zs].reader;for(;R[zs].readRequests.length!==0;){if(e[zs].queueTotalSize===0)return;readableByteStreamControllerFillReadRequestFromQueue(e,R[zs].readRequests.shift())}}function readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e){for(;e[zs].pendingPullIntos.length!==0;){if(e[zs].queueTotalSize===0)return;let R=e[zs].pendingPullIntos[0];readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,R)&&(readableByteStreamControllerShiftPendingPullInto(e),readableByteStreamControllerCommitPullIntoDescriptor(e[zs].stream,R))}}function readableByteStreamControllerGetBYOBRequest(e){if(e[zs].byobRequest===null&&e[zs].pendingPullIntos.length!==0){let R=e[zs].pendingPullIntos[0],W=new Uint8Array(R.buffer,R.byteOffset+R.bytesFilled,R.byteLength-R.bytesFilled),Y=new ReadableStreamBYOBRequest(el);Y[zs]={controller:e,view:W},e[zs].byobRequest=Y}return e[zs].byobRequest}function readableByteStreamControllerEnqueue(e,R){let{stream:W}=e[zs];if(e[zs].closeRequested||W[zs].state!==`readable`)return;let Y=R.buffer,X=R.byteLength,ie=R.byteOffset;if(isDetachedBuffer(Y))throw TypeError(`chunk's buffer is detached`);let ae=transferArrayBuffer(Y);if(e[zs].pendingPullIntos.length!==0){let R=e[zs].pendingPullIntos[0];if(isDetachedBuffer(R.buffer))throw TypeError(`BYOB request's buffer has been detached`);readableByteStreamControllerInvalidateBYOBRequest(e),R.buffer=transferArrayBuffer(R.buffer),R.readerType===`none`&&readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,R)}readableStreamHasDefaultReader(W)?(readableByteStreamControllerProcessReadRequestsUsingQueue(e),readableStreamGetNumReadRequests(W)===0?readableByteStreamControllerEnqueueChunkToQueue(e,ae,ie,X):(e[zs].pendingPullIntos.length!==0&&readableByteStreamControllerShiftPendingPullInto(e),readableStreamFulfillReadRequest(W,new Uint8Array(ae,ie,X),!1))):readableStreamHasBYOBReader(W)?(readableByteStreamControllerEnqueueChunkToQueue(e,ae,ie,X),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)):readableByteStreamControllerEnqueueChunkToQueue(e,ae,ie,X),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerClose(e){let{stream:R}=e[zs];if(!(e[zs].closeRequested||R[zs].state!==`readable`)){if(e[zs].queueTotalSize>0){e[zs].closeRequested=!0;return}if(e[zs].pendingPullIntos.length!==0){let R=e[zs].pendingPullIntos[0];if(R.bytesFilled%R.elementSize!==0){let R=TypeError(`Insufficient bytes to fill elements in the given buffer`);throw readableByteStreamControllerError(e,R),R}}readableByteStreamControllerClearAlgorithms(e),readableStreamClose(R)}}function readableByteStreamControllerPullInto(e,R,W,Y){let X=e[zs].stream,ie=R[Symbol.toStringTag],ae,le;if(ie===void 0||ie===`DataView`)ae=DataView,le=1;else{let e=typedArrayConstructorByTag(ie);if(!e){Y[Ac](TypeError(`Unsupported typed array: ${ie}`));return}ae=e,le=elementSizeByTag(ie)}let _e=R.buffer,ye=R.byteLength,be=R.byteOffset,Ce=W*le,Te;try{Te=transferArrayBuffer(_e)}catch(e){Y[Ac](e);return}let Oe={buffer:Te,bufferByteLength:Te.byteLength,byteOffset:be,byteLength:ye,bytesFilled:0,minimumFill:Ce,elementSize:le,viewConstructor:ae,readerType:`byob`};if(e[zs].pendingPullIntos.length!==0){e[zs].pendingPullIntos.push(Oe),readableStreamAddReadIntoRequest(X,Y);return}if(X[zs].state===`closed`){let e=new ae(Oe.buffer,Oe.byteOffset,0);Y[uc](e);return}if(e[zs].queueTotalSize>0){if(readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,Oe)){let R=readableByteStreamControllerConvertPullIntoDescriptor(Oe);readableByteStreamControllerHandleQueueDrain(e),Y[hc](R);return}if(e[zs].closeRequested){let R=TypeError(`Insufficient bytes to fill elements in the given buffer`);readableByteStreamControllerError(e,R),Y[Ac](R);return}}e[zs].pendingPullIntos.push(Oe),readableStreamAddReadIntoRequest(X,Y),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespond(e,R){let W=e[zs].pendingPullIntos[0];if(e[zs].stream[zs].state===`closed`){if(R!==0)throw TypeError(`bytesWritten must be 0 when calling respond() on a closed stream`)}else{if(R===0)throw TypeError(`bytesWritten must be greater than 0 when calling respond() on a readable stream`);if(W.bytesFilled+R>W.byteLength)throw RangeError(`bytesWritten out of range`)}W.buffer=transferArrayBuffer(W.buffer),readableByteStreamControllerRespondInternal(e,R)}function readableByteStreamControllerRespondWithNewView(e,R){let W=e[zs].pendingPullIntos[0],Y=e[zs].stream[zs].state,X=R.byteLength,ie=R.byteOffset,ae=R.buffer;if(Y===`closed`){if(X!==0)throw TypeError(`view's length must be 0 when calling respondWithNewView() on a closed stream`)}else if(X===0)throw TypeError(`view's length must be greater than 0 when calling respondWithNewView() on a readable stream`);if(W.byteOffset+W.bytesFilled!==ie)throw RangeError(`The region specified by view does not match byobRequest`);if(W.bufferByteLength!==ae.byteLength)throw RangeError(`The buffer of view has different capacity than byobRequest`);if(W.bytesFilled+X>W.byteLength)throw RangeError(`The region specified by view is larger than byobRequest`);W.buffer=transferArrayBuffer(ae),readableByteStreamControllerRespondInternal(e,X)}function readableByteStreamControllerRespondInternal(e,R){let W=e[zs].pendingPullIntos[0];readableByteStreamControllerInvalidateBYOBRequest(e),e[zs].stream[zs].state===`closed`?readableByteStreamControllerRespondInClosedState(e,W):readableByteStreamControllerRespondInReadableState(e,R,W),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespondInClosedState(e,R){R.readerType===`none`&&readableByteStreamControllerShiftPendingPullInto(e);let W=e[zs].stream;if(readableStreamHasBYOBReader(W))for(;readableStreamGetNumReadIntoRequests(W)>0;)readableByteStreamControllerCommitPullIntoDescriptor(W,readableByteStreamControllerShiftPendingPullInto(e))}function readableByteStreamControllerRespondInReadableState(e,R,W){if(readableByteStreamControllerFillHeadPullIntoDescriptor(e,R,W),W.readerType===`none`){readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,W),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e);return}if(W.bytesFilled<W.minimumFill)return;readableByteStreamControllerShiftPendingPullInto(e);let Y=W.bytesFilled%W.elementSize;if(Y>0){let R=W.byteOffset+W.bytesFilled;readableByteStreamControllerEnqueueClonedChunkToQueue(e,W.buffer,R-Y,Y)}W.bytesFilled-=Y,readableByteStreamControllerCommitPullIntoDescriptor(e[zs].stream,W),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)}function readableByteStreamControllerCancelSteps(e,R){readableByteStreamControllerClearPendingPullIntos(e),resetQueue(e);let W=e[zs].cancelAlgorithm?.(R)??Promise.resolve();return readableByteStreamControllerClearAlgorithms(e),W}function readableByteStreamControllerPullSteps(e,R){let W=e[zs].stream;if(e[zs].queueTotalSize>0){readableByteStreamControllerFillReadRequestFromQueue(e,R);return}let Y=e[zs].autoAllocateChunkSize;if(Y!==void 0){let W;try{W=new ArrayBuffer(Y)}catch(e){R[Ac](e);return}let X={buffer:W,bufferByteLength:Y,byteOffset:0,byteLength:Y,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:`default`};e[zs].pendingPullIntos.push(X)}readableStreamAddReadRequest(W,R),readableByteStreamControllerCallPullIfNeeded(e)}function setupReadableByteStreamController(e,R,W,Y,X,ie,ae){R[zs]={cancelAlgorithm:X,closeRequested:!1,highWaterMark:ie,pullAgain:!1,pullAlgorithm:Y,pulling:!1,queue:[],queueTotalSize:0,started:!1,stream:e,byobRequest:null,pendingPullIntos:[],autoAllocateChunkSize:ae},e[zs].controller=R;let le=W();new Promise(e=>e(le)).then(()=>{R[zs].started=!0,readableByteStreamControllerCallPullIfNeeded(R)},e=>readableByteStreamControllerError(R,e))}function setupReadableByteStreamControllerFromSource(e,R,W){let Y=new ReadableByteStreamController(el),X=R?.start,ie=R?.pull,ae=R?.cancel,le=R?.autoAllocateChunkSize;if(le!==void 0&&(le===0||!Number.isInteger(le)||le<0))throw TypeError(`autoAllocateChunkSize must be a positive integer`);setupReadableByteStreamController(e,Y,X?X.bind(R,Y):nonOpStart,ie?createPromiseCallback(`source.pull`,ie,R):nonOpPull,ae?createPromiseCallback(`source.cancel`,ae,R):nonOpCancel,W,le)}function readableByteStreamTee(e){let R=new ReadableStreamDefaultReader(e),W=!1,Y=!1,X=!1,ie,ae,le=Promise.withResolvers(),_e,ye,be,Ce;function pullAlgorithm(){return W?Promise.resolve():(W=!0,R.read().then(e=>{if(W=!1,e.done){Y||be.close(),X||Ce.close();return}let R=e.value,ie=new Uint8Array(R.buffer.slice(R.byteOffset,R.byteOffset+R.byteLength));Y||be.enqueue(ie),X||Ce.enqueue(new Uint8Array(ie))},()=>{}),Promise.resolve())}return _e=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(R){if(Y=!0,ie=R,X){let R=readableStreamCancel(e,[ie,ae]);return le.resolve(),R}return le.promise}}),ye=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(R){if(X=!0,ae=R,Y){let R=readableStreamCancel(e,[ie,ae]);return le.resolve(),R}return le.promise}}),be=_e[zs].controller,Ce=ye[zs].controller,R.closed.catch(e=>{be.error(e),Ce.error(e),(!Y||!X)&&le.resolve()}),[_e,ye]}const xl=Symbol(`kSkipThrow`);var TransformStream=class{[Bs]=`TransformStream`;[zs];constructor(e={},R={},W={}){if(e!=null&&typeof e!=`object`)throw TypeError(`transformer must be an object`);if(R!=null&&typeof R!=`object`)throw TypeError(`writableStrategy must be an object`);if(W!=null&&typeof W!=`object`)throw TypeError(`readableStrategy must be an object`);let Y=e?.readableType,X=e?.writableType,ie=e?.start;if(Y!==void 0)throw RangeError(`Invalid readableType: ${Y}`);if(X!==void 0)throw RangeError(`Invalid writableType: ${X}`);let ae=extractHighWaterMark(W?.highWaterMark,0),le=extractSizeAlgorithm(W?.size),_e=extractHighWaterMark(R?.highWaterMark,1),ye=extractSizeAlgorithm(R?.size),be=Promise.withResolvers();initializeTransformStream(this,be,_e,ye,ae,le),setupTransformStreamDefaultControllerFromTransformer(this,e),ie===void 0?be.resolve():be.resolve(ie.call(e,this[zs].controller))}get readable(){if(!Sl(this))throw TypeError(`Invalid this`);return this[zs].readable}get writable(){if(!Sl(this))throw TypeError(`Invalid this`);return this[zs].writable}get[Symbol.toStringTag](){return`TransformStream`}},TransformStreamDefaultController=class{[Bs]=`TransformStreamDefaultController`;[zs];constructor(e){if(e!==xl)throw TypeError(`Illegal constructor`)}get desiredSize(){if(!Cl(this))throw TypeError(`Invalid this`);let{stream:e}=this[zs],{readable:R}=e[zs],W=R[zs].controller;return readableStreamDefaultControllerGetDesiredSize(W)}enqueue(e){if(!Cl(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerEnqueue(this,e)}error(e){if(!Cl(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerError(this,e)}terminate(){if(!Cl(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerTerminate(this)}get[Symbol.toStringTag](){return`TransformStreamDefaultController`}};const Sl=isBrandCheck(`TransformStream`),Cl=isBrandCheck(`TransformStreamDefaultController`);async function defaultTransformAlgorithm(e,R){transformStreamDefaultControllerEnqueue(R,e)}function initializeTransformStream(e,R,W,Y,X,ie){let startAlgorithm=()=>R.promise,ae=createWritableStream(startAlgorithm,R=>transformStreamDefaultSinkWriteAlgorithm(e,R),()=>transformStreamDefaultSinkCloseAlgorithm(e),R=>transformStreamDefaultSinkAbortAlgorithm(e,R),W,Y);e[zs]={readable:createReadableStream(startAlgorithm,()=>transformStreamDefaultSourcePullAlgorithm(e),R=>transformStreamDefaultSourceCancelAlgorithm(e,R),X,ie),writable:ae,controller:void 0,backpressure:void 0,backpressureChange:{promise:void 0,resolve:void 0,reject:void 0}},transformStreamSetBackpressure(e,!0)}function transformStreamError(e,R){let{readable:W}=e[zs];readableStreamDefaultControllerError(W[zs].controller,R),transformStreamErrorWritableAndUnblockWrite(e,R)}function transformStreamErrorWritableAndUnblockWrite(e,R){let{controller:W,writable:Y}=e[zs];transformStreamDefaultControllerClearAlgorithms(W),writableStreamDefaultControllerErrorIfNeeded(Y[zs].controller,R),transformStreamUnblockWrite(e)}function transformStreamUnblockWrite(e){e[zs].backpressure&&transformStreamSetBackpressure(e,!1)}function transformStreamSetBackpressure(e,R){e[zs].backpressureChange.promise!==void 0&&e[zs].backpressureChange.resolve?.(),e[zs].backpressureChange=Promise.withResolvers(),e[zs].backpressure=R}function setupTransformStreamDefaultController(e,R,W,Y,X){R[zs]={stream:e,transformAlgorithm:W,flushAlgorithm:Y,cancelAlgorithm:X,finishPromise:void 0},e[zs].controller=R}function setupTransformStreamDefaultControllerFromTransformer(e,R){let W=new TransformStreamDefaultController(xl),Y=R?.transform,X=R?.flush,ie=R?.cancel;setupTransformStreamDefaultController(e,W,Y?createPromiseCallback(`transformer.transform`,Y,R):defaultTransformAlgorithm,X?createPromiseCallback(`transformer.flush`,X,R):nonOpFlush,ie?createPromiseCallback(`transformer.cancel`,ie,R):nonOpCancel)}function transformStreamDefaultControllerClearAlgorithms(e){e[zs].transformAlgorithm=void 0,e[zs].flushAlgorithm=void 0,e[zs].cancelAlgorithm=void 0}function transformStreamDefaultControllerEnqueue(e,R){let{stream:W}=e[zs],{readable:Y}=W[zs],X=Y[zs].controller;if(!readableStreamDefaultControllerCanCloseOrEnqueue(X))throw TypeError(`Unable to enqueue`);try{readableStreamDefaultControllerEnqueue(X,R)}catch(e){throw transformStreamErrorWritableAndUnblockWrite(W,e),Y[zs].storedError}readableStreamDefaultControllerHasBackpressure(X)!==W[zs].backpressure&&transformStreamSetBackpressure(W,!0)}function transformStreamDefaultControllerError(e,R){transformStreamError(e[zs].stream,R)}async function transformStreamDefaultControllerPerformTransform(e,R){try{let W=e[zs].transformAlgorithm;if(W===void 0)return;await W(R,e)}catch(R){throw transformStreamError(e[zs].stream,R),R}}function transformStreamDefaultControllerTerminate(e){let{stream:R}=e[zs],{readable:W}=R[zs];readableStreamDefaultControllerClose(W[zs].controller),transformStreamErrorWritableAndUnblockWrite(R,TypeError(`TransformStream has been terminated`))}function transformStreamDefaultSinkWriteAlgorithm(e,R){let{controller:W}=e[zs];return e[zs].backpressure?e[zs].backpressureChange.promise.then(()=>{let{writable:Y}=e[zs];if(Y[zs].state===`erroring`)throw Y[zs].storedError;return transformStreamDefaultControllerPerformTransform(W,R)}):transformStreamDefaultControllerPerformTransform(W,R)}async function transformStreamDefaultSinkAbortAlgorithm(e,R){let{controller:W,readable:Y}=e[zs];if(W[zs].finishPromise!==void 0)return W[zs].finishPromise;let{promise:X,resolve:ie,reject:ae}=Promise.withResolvers();W[zs].finishPromise=X;let le=W[zs].cancelAlgorithm(R);return transformStreamDefaultControllerClearAlgorithms(W),le.then(()=>{Y[zs].state===`errored`?ae(Y[zs].storedError):(readableStreamDefaultControllerError(Y[zs].controller,R),ie())},e=>{readableStreamDefaultControllerError(Y[zs].controller,e),ae(e)}),W[zs].finishPromise}function transformStreamDefaultSinkCloseAlgorithm(e){let{readable:R,controller:W}=e[zs];if(W[zs].finishPromise!==void 0)return W[zs].finishPromise;let{promise:Y,resolve:X,reject:ie}=Promise.withResolvers();W[zs].finishPromise=Y;let ae=W[zs].flushAlgorithm(W);return transformStreamDefaultControllerClearAlgorithms(W),ae.then(()=>{R[zs].state===`errored`?ie(R[zs].storedError):(readableStreamDefaultControllerClose(R[zs].controller),X())},e=>{readableStreamDefaultControllerError(R[zs].controller,e),ie(e)}),W[zs].finishPromise}function transformStreamDefaultSourcePullAlgorithm(e){return transformStreamSetBackpressure(e,!1),e[zs].backpressureChange.promise}function transformStreamDefaultSourceCancelAlgorithm(e,R){let{controller:W,writable:Y}=e[zs];if(W[zs].finishPromise!==void 0)return W[zs].finishPromise;let{promise:X,resolve:ie,reject:ae}=Promise.withResolvers();W[zs].finishPromise=X;let le=W[zs].cancelAlgorithm(R);return transformStreamDefaultControllerClearAlgorithms(W),le.then(()=>{Y[zs].state===`errored`?ae(Y[zs].storedError):(writableStreamDefaultControllerErrorIfNeeded(Y[zs].controller,R),transformStreamUnblockWrite(e),ie())},R=>{writableStreamDefaultControllerErrorIfNeeded(Y[zs].controller,R),transformStreamUnblockWrite(e),ae(R)}),W[zs].finishPromise}const wl=Object.defineProperty(e=>e.byteLength,"name",{value:`size`}),Tl=Object.defineProperty(()=>1,"name",{value:`size`});var ByteLengthQueuingStrategy=class{#e;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`init must be an object`);if(e.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+e.highWaterMark}get highWaterMark(){return this.#e}get size(){return wl}get[Symbol.toStringTag](){return`ByteLengthQueuingStrategy`}},CountQueuingStrategy=class{#e;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`init must be an object`);if(e.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+e.highWaterMark}get highWaterMark(){return this.#e}get size(){return Tl}get[Symbol.toStringTag](){return`CountQueuingStrategy`}},TextEncoderStream=class{#e=null;#t=new TextEncoder;#n;constructor(){this.#n=new TransformStream({transform:(e,R)=>{if(e=String(e),e===``)return;this.#e!==null&&(e=this.#e+e);let W=e.charCodeAt(e.length-1);55296<=W&&W<=56319?(this.#e=e.slice(-1),e=e.slice(0,-1)):this.#e=null,e&&R.enqueue(this.#t.encode(e))},flush:e=>{this.#e!==null&&e.enqueue(new Uint8Array([239,191,189]))}})}get encoding(){return`utf-8`}get readable(){return this.#n.readable}get writable(){return this.#n.writable}};function hasStreamingSupport(){try{return new TextDecoder().decode(new Uint8Array([195]),{stream:!0}),!0}catch{return!1}}const El=hasStreamingSupport();function incompleteUtf8Tail(e){let R=e.length;if(R===0)return 0;for(let W=1;W<=Math.min(3,R);W++){let Y=e[R-W];if(!(Y&128))return 0;if((Y&192)!=128){let e;if((Y&224)==192)e=2;else if((Y&240)==224)e=3;else if((Y&248)==240)e=4;else return 0;return W<e?W:0}}return 0}var TextDecoderStream=class{#e;#t;constructor(e,R){if(this.#e=new TextDecoder(e,R),El)this.#t=new TransformStream({transform:(e,R)=>{let W=toUint8Array$2(e),Y=this.#e.decode(W,{stream:!0});Y&&R.enqueue(Y)},flush:e=>{let R=this.#e.decode();R&&e.enqueue(R)},cancel:()=>{this.#e.decode()}});else{let e=new Uint8Array;this.#t=new TransformStream({transform:(R,W)=>{let Y=toUint8Array$2(R),X;e.length>0?(X=new Uint8Array(e.length+Y.length),X.set(e,0),X.set(Y,e.length)):X=Y;let ie=incompleteUtf8Tail(X),ae;if(ie>0?(ae=X.slice(0,X.length-ie),e=X.slice(X.length-ie)):(ae=X,e=new Uint8Array),ae.length>0){let e=this.#e.decode(ae);e&&W.enqueue(e)}},flush:R=>{if(e.length>0){let W=this.#e.decode(e);W&&R.enqueue(W),e=new Uint8Array}},cancel:()=>{e=new Uint8Array}})}}get encoding(){return this.#e.encoding}get fatal(){return this.#e.fatal}get ignoreBOM(){return this.#e.ignoreBOM}get readable(){return this.#t.readable}get writable(){return this.#t.writable}};function toUint8Array$2(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError(`chunk must be a BufferSource`)}__name$1(toUint8Array$2,`toUint8Array`);function isNativeStreamUsable$3(e,R){try{return typeof e==`function`?typeof e.prototype?.[R]==`function`:!1}catch{return!1}}__name$1(isNativeStreamUsable$3,`isNativeStreamUsable`);const Al=isNativeStreamUsable$3(globalThis.ReadableStream,`getReader`)?globalThis.ReadableStream:ReadableStream$1,jl=isNativeStreamUsable$3(globalThis.WritableStream,`getWriter`)?globalThis.WritableStream:WritableStream,Ml=isNativeStreamUsable$3(globalThis.TransformStream,`readable`)?globalThis.TransformStream:TransformStream,Nl=typeof globalThis.ByteLengthQueuingStrategy==`function`?globalThis.ByteLengthQueuingStrategy:ByteLengthQueuingStrategy,Fl=typeof globalThis.CountQueuingStrategy==`function`?globalThis.CountQueuingStrategy:CountQueuingStrategy,Ll=typeof globalThis.TextEncoderStream==`function`?globalThis.TextEncoderStream:TextEncoderStream,Rl=typeof globalThis.TextDecoderStream==`function`?globalThis.TextDecoderStream:TextDecoderStream;var zl=__esmMin(()=>{Vt()});function _setPipeImpl(e){Bl=e}var Bl,Stream_,Vl=__esmMin(()=>{cs(),Stream_=class extends ss{constructor(e){super(e)}pipe(e,R){return Bl(this,e,R)}}});function getDefaultHighWaterMark(e){return e?ql:Gl}function setDefaultHighWaterMark(e,R){if(typeof R!=`number`||R<0||Number.isNaN(R))throw TypeError(`Invalid highWaterMark: ${R}`);e?ql=R:Gl=R}function validateHighWaterMark(e,R){if(R!==void 0&&(typeof R!=`number`||Number.isNaN(R))){let W=TypeError(`The value of "${e}" is invalid. Received ${R}`);throw W.code=`ERR_INVALID_ARG_VALUE`,W}}var Gl,ql,Jl=__esmMin(()=>{Gl=16384,ql=16});function chunkLength(e){if(e==null)return 1;let R=e.length;return typeof R==`number`?R:1}function sliceChunk(e,R,W){if(typeof e==`string`)return W===void 0?e.slice(R):e.slice(R,W);let Y=e.slice;return typeof Y==`function`?Y.call(e,R,W):e}var Yl,Xl=__esmMin(()=>{Vl(),Jl(),Vt(),Yl=class Readable_ extends Stream_{readable=!0;readableFlowing=null;readableLength=0;readableHighWaterMark;readableEncoding;readableObjectMode;readableEnded=!1;readableAborted=!1;destroyed=!1;_pipeDests=[];_buffer=[];_readableState={ended:!1,endEmitted:!1,reading:!1,constructed:!0,highWaterMark:0,objectMode:!1,pipes:[]};_err;_readablePending=!1;_readImpl;_destroyImpl;_constructImpl;constructor(e){super(e),this.readableHighWaterMark=e?.highWaterMark??getDefaultHighWaterMark(e?.objectMode??!1),this.readableEncoding=e?.encoding??null,this.readableObjectMode=e?.objectMode??!1,this._readableState.highWaterMark=this.readableHighWaterMark,this._readableState.objectMode=this.readableObjectMode,e?.read&&(this._readImpl=e.read),e?.destroy&&(this._destroyImpl=e.destroy),e?.construct&&(this._constructImpl=e.construct),(this._constructImpl||this._construct!==Readable_.prototype._construct)&&(this._readableState.constructed=!1,nextTick(()=>{this._construct(e=>{this._readableState.constructed=!0,e?this.destroy(e):this.readableFlowing===!0&&this._flow()})}))}_construct(e){this._constructImpl?this._constructImpl.call(this,e):e()}_read(e){this._readImpl&&this._readImpl.call(this,e)}read(e){if(!this._readableState.constructed)return null;if(this._buffer.length===0){if(this._readableState.ended)return null;this._readableState.reading=!0,this._read(e??this.readableHighWaterMark),this._readableState.reading=!1}if(this._buffer.length===0||e===0)return null;if(this.readableObjectMode){if(e===void 0){let e=this._buffer.shift();return--this.readableLength,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),e}if(e>this.readableLength)return null;let R=this._buffer.shift();return--this.readableLength,R}if(e!=null)return e>this.readableLength?null:this._readBytes(e);let R=this._buffer.splice(0);if(this.readableLength=0,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),R.length===1)return R[0];if(R.length===0)return null;if(typeof R[0]==`string`)return R.join(``);let W=globalThis.Buffer;return W?.concat?W.concat(R):R}_readBytes(e){let R=0,W=[];for(;R<e&&this._buffer.length>0;){let Y=this._buffer[0],X=chunkLength(Y);if(R+X<=e)W.push(this._buffer.shift()),R+=X,this.readableLength-=X;else{let X=e-R;W.push(sliceChunk(Y,0,X)),this._buffer[0]=sliceChunk(Y,X),this.readableLength-=X,R+=X}}if(W.length===1)return W[0];let Y=globalThis.Buffer;return Y?.concat?Y.concat(W):W}push(e,R){if(e===null)return this._readableState.ended=!0,this.readableEnded=!0,this._buffer.length===0&&!this._readableState.endEmitted&&nextTick(()=>this._emitEnd()),this._scheduleReadable(),!1;if(!this.readableObjectMode&&!(typeof e==`string`||ArrayBuffer.isView(e))){let R=Object.assign(TypeError(`Invalid non-string/buffer chunk type: ${typeof e}`),{code:`ERR_INVALID_ARG_TYPE`});return nextTick(()=>this.emit(`error`,R)),!1}return this._buffer.push(e),this.readableLength+=this.readableObjectMode?1:chunkLength(e),this.readableFlowing&&!this._flowing&&nextTick(()=>this._flow()),this.readableFlowing!==!0&&this._scheduleReadable(),this.readableLength<this.readableHighWaterMark}_emitEnd(){this._readableState.endEmitted||(this._readableState.endEmitted=!0,this.emit(`end`),nextTick(()=>this._autoClose()))}_autoClose(){this.emit(`close`)}_scheduleReadable(){this._readablePending||this.listenerCount(`readable`)===0||(this._readablePending=!0,nextTick(()=>{this._readablePending=!1,this.destroyed||this.emit(`readable`)}))}on(e,R){return super.on(e,R),e===`data`&&this.readableFlowing!==!1&&this.resume(),e===`readable`&&(this._buffer.length>0||this._readableState.ended)&&this._scheduleReadable(),this}unshift(e){this._buffer.unshift(e),this.readableLength+=this.readableObjectMode?1:chunkLength(e)}setEncoding(e){return this.readableEncoding=e,this}pause(){return this.readableFlowing=!1,this.emit(`pause`),this}resume(){return this.readableFlowing!==!0&&(this.readableFlowing=!0,this.emit(`resume`),this._readableState.constructed&&this._flow()),this}_flowing=!1;_flow(){if(!(this.readableFlowing!==!0||this._flowing||this.destroyed)&&this._readableState.constructed){this._flowing=!0;try{for(;this._buffer.length>0&&this.readableFlowing&&!this.destroyed;){let e=this._buffer.shift();if(this.readableLength-=this.readableObjectMode?1:chunkLength(e),this.readableEncoding&&typeof e!=`string`){let R=globalThis.Buffer;R?.isBuffer&&R.isBuffer(e)?e=e.toString(this.readableEncoding):e instanceof Uint8Array&&(e=new TextDecoder(this.readableEncoding).decode(e))}this.emit(`data`,e)}if(this.destroyed)return;if(this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted){nextTick(()=>this._emitEnd());return}!this._readableState.ended&&!this._readableState.reading&&!this.destroyed&&(this._readableState.reading=!0,this._read(this.readableHighWaterMark),this._readableState.reading=!1)}finally{this._flowing=!1}this._buffer.length>0&&this.readableFlowing&&!this.destroyed&&nextTick(()=>this._flow())}}isPaused(){return this.readableFlowing===!1}unpipe(e){if(e){let R=this._pipeDests.findIndex(R=>R.dest===e);if(R!==-1){this._pipeDests[R].cleanup(),this._pipeDests.splice(R,1);let W=this._readableState.pipes.indexOf(e);W!==-1&&this._readableState.pipes.splice(W,1),e.emit(`unpipe`,this),this._pipeDests.length===0&&(this.readableFlowing=!1)}}else{for(let e of this._pipeDests)e.cleanup(),e.dest.emit(`unpipe`,this);this._pipeDests=[],this._readableState.pipes=[],this.readableFlowing=!1}return this}_destroy(e,R){this._destroyImpl?this._destroyImpl.call(this,e,R):R(e??void 0)}destroy(e){if(this.destroyed)return this;this.destroyed=!0,this.readable=!1,this.readableAborted=!this.readableEnded,e&&(this._err=e);let cb=e=>{e&&nextTick(()=>this.emit(`error`,e)),nextTick(()=>this.emit(`close`))};return Object.prototype.hasOwnProperty.call(this,`_destroy`)?this._destroy(e??null,cb):this._destroyImpl?this._destroyImpl.call(this,e??null,cb):cb(e),this}static toWeb(e){return new ReadableStream({start(R){e.on(`data`,e=>{typeof e==`string`?R.enqueue(new TextEncoder().encode(e)):e instanceof Uint8Array?R.enqueue(e):e&&typeof e.length==`number`&&R.enqueue(new Uint8Array(e))}),e.on(`end`,()=>{R.close()}),e.on(`error`,e=>{R.error(e)})},cancel(){e.destroy()}})}static fromWeb(e,R){let W=e.getReader();return new Readable_({...R,read(){W.read().then(({done:e,value:R})=>{e?this.push(null):this.push(R)},e=>{this.destroy(e)})},destroy(e,R){W.cancel(e?.message).then(()=>R(null),R)}})}[Symbol.asyncIterator](){let e=this,R=[],W=!1,Y=null,X=null,ie=null;return e.on(`data`,e=>{if(X){let R=X;X=null,ie=null,R({value:e,done:!1})}else R.push(e)}),e.on(`end`,()=>{if(W=!0,X){let e=X;X=null,ie=null,e({value:void 0,done:!0})}}),e.on(`error`,e=>{if(Y=e,W=!0,ie){let R=ie;X=null,ie=null,R(e)}}),{next(){return Y?Promise.reject(Y):R.length>0?Promise.resolve({value:R.shift(),done:!1}):W?Promise.resolve({value:void 0,done:!0}):new Promise((e,R)=>{X=e,ie=R})},return(){return e.destroy(),Promise.resolve({value:void 0,done:!0})},[Symbol.asyncIterator](){return this}}}static from(e,R){let W=new Readable_({objectMode:!0,...R,read(){}});return typeof e==`string`||ArrayBuffer.isView(e)?(W.push(e),W.push(null),W):((async()=>{try{for await(let R of e)W.push(R)||await new Promise(e=>W.once(`drain`,e));W.push(null)}catch(e){W.destroy(e)}})(),W)}}});function chunkLen$1(e){if(e==null)return 1;let R=e.length;return typeof R==`number`?R:1}var Duplex_,Zl=__esmMin(()=>{Jl(),Xl(),Vt(),Duplex_=class extends Yl{writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;allowHalfOpen;_decodeStrings;_writableState={highWaterMark:0,objectMode:!1};_duplexCorkedBuffer=[];_duplexWriting=!1;_duplexWriteQueue=[];_writeImpl;_finalImpl;_defaultEncoding=`utf8`;_pendingWrites=0;_pendingEndCb=null;constructor(e){super(e),validateHighWaterMark(`writableHighWaterMark`,e?.writableHighWaterMark),validateHighWaterMark(`readableHighWaterMark`,e?.readableHighWaterMark),this.writableObjectMode=e?.writableObjectMode??e?.objectMode??!1,this.writableHighWaterMark=e?.highWaterMark??e?.writableHighWaterMark??getDefaultHighWaterMark(this.writableObjectMode),this._writableState.highWaterMark=this.writableHighWaterMark,this._writableState.objectMode=this.writableObjectMode,e?.highWaterMark===void 0&&e?.readableHighWaterMark!==void 0&&(this.readableHighWaterMark=e.readableHighWaterMark,this._readableState.highWaterMark=e.readableHighWaterMark),e?.readableObjectMode!==void 0&&(this.readableObjectMode=e.readableObjectMode,this._readableState.objectMode=e.readableObjectMode,e?.readableHighWaterMark===void 0&&e?.highWaterMark===void 0&&(this.readableHighWaterMark=getDefaultHighWaterMark(e.readableObjectMode),this._readableState.highWaterMark=this.readableHighWaterMark)),this.allowHalfOpen=e?.allowHalfOpen!==!1,this._decodeStrings=e?.decodeStrings!==!1,e?.write&&(this._writeImpl=e.write),e?.final&&(this._finalImpl=e.final),this.allowHalfOpen||this.once(`end`,()=>{this.writableEnded||nextTick(()=>this.end())})}_write(e,R,W){this._writeImpl?this._writeImpl.call(this,e,R,W):W()}_final(e){this._finalImpl?this._finalImpl.call(this,e):e()}destroy(e){return this.destroyed?this:(this.writable=!1,super.destroy(e))}write(e,R,W){let Y,X;if(typeof R==`function`?(Y=R,X=this._defaultEncoding):(X=R??this._defaultEncoding,Y=W??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let R=globalThis.Buffer;R&&(e=R.from(e,X),X=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let R=globalThis.Buffer;(R&&R.isBuffer(e)||e instanceof Uint8Array)&&(X=`buffer`)}if(this.writableEnded){let e=Error(`write after end`);return nextTick(()=>{Y(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen$1(e),this.writableCorked>0)return this._duplexCorkedBuffer.push({chunk:e,encoding:X,callback:Y}),this.writableLength<this.writableHighWaterMark;let ie=this.writableLength<this.writableHighWaterMark;return ie||(this.writableNeedDrain=!0),this._duplexDoWrite(e,X,Y),ie}_duplexDoWrite(e,R,W){if(this._duplexWriting){this._duplexWriteQueue.push({chunk:e,encoding:R,callback:W});return}this._duplexWriting=!0,this._duplexStartWrite(e,R,W)}_duplexStartWrite(e,R,W){this._pendingWrites++,this._write(e,R,R=>{this._pendingWrites--,this.writableLength-=this.writableObjectMode?1:chunkLen$1(e),nextTick(R?()=>{if(W(R),this._duplexWriting=!1,this.emit(`error`,R),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexWriting=!0,this._duplexStartWrite(e.chunk,e.encoding,e.callback)}}:()=>{if(W(),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexStartWrite(e.chunk,e.encoding,e.callback);return}if(this._duplexWriting=!1,this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._pendingWrites===0&&this._pendingEndCb){let e=this._pendingEndCb;this._pendingEndCb=null,e()}})})}end(e,R,W){typeof e==`function`&&(W=e,e=void 0),typeof R==`function`&&(W=R,R=void 0),e!=null&&this.write(e,R),this.writableEnded=!0;let doFinal=()=>{this._final(e=>{this.writableFinished=!0,this._doPrefinishHooks(()=>{nextTick(()=>{e&&this.emit(`error`,e),this.emit(`finish`),nextTick(()=>this.emit(`close`)),W&&W()})})})};return this._pendingWrites>0||this._duplexWriting||this._duplexWriteQueue.length>0?this._pendingEndCb=doFinal:doFinal(),this}_doPrefinishHooks(e){e()}cork(){this.writableCorked++}uncork(){if(this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._duplexCorkedBuffer.length>0)){let e=this._duplexCorkedBuffer.splice(0);for(let{chunk:R,encoding:W,callback:Y}of e)this._write(R,W,e=>{this.writableLength-=this.writableObjectMode?1:chunkLen$1(R),e?(Y(e),this.emit(`error`,e)):Y()});this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,nextTick(()=>this.emit(`drain`)))}}setDefaultEncoding(e){return this._defaultEncoding=e,this}},__name$1(chunkLen$1,`chunkLen`)});function pipe(e,R,W){let Y=e,X=W?.end!==!1,ie=!1,ondrain=()=>{ie=!1,R.removeListener(`drain`,ondrain);let e=Y;typeof e.resume==`function`&&e.resume()},ondata=e=>{if(R.writable){let W=Y;R.write(e)===!1&&typeof W.pause==`function`&&(W.pause(),ie||(ie=!0,R.on(`drain`,ondrain)))}};Y.on(`data`,ondata);let ae=!1,onend=()=>{ae||(ae=!0,X&&R.end())},onclose=()=>{if(!ae&&(ae=!0,X&&!(Y instanceof Yl))){let e=R;typeof e.destroy==`function`&&e.destroy()}};X&&(Y.on(`end`,onend),Y.on(`close`,onclose));let cleanup=()=>{Y.removeListener(`data`,ondata),ie&&R.removeListener(`drain`,ondrain),Y.removeListener(`end`,onend),Y.removeListener(`close`,onclose),Y.removeListener(`end`,cleanup),Y.removeListener(`close`,cleanup),R.removeListener(`close`,cleanup)};return Y.on(`end`,cleanup),Y.on(`close`,cleanup),R.on(`close`,cleanup),Y instanceof Yl&&(Y._pipeDests.push({dest:R,cleanup}),Y._readableState.pipes.push(R)),R.emit(`pipe`,Y),R}var Ql=__esmMin(()=>{Vl(),Xl(),_setPipeImpl(pipe)});function chunkLen(e){if(e==null)return 1;let R=e.length;return typeof R==`number`?R:1}var eu,tu=__esmMin(()=>{Vl(),Jl(),Vt(),eu=class Writable_ extends Stream_{static[Symbol.hasInstance](e){let R=this;return R.prototype!==void 0&&Object.prototype.isPrototypeOf.call(R.prototype,e)?!0:R.prototype!==Writable_.prototype||e==null?!1:typeof e.writableHighWaterMark==`number`}writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;destroyed=!1;_err;_writableState={ended:!1,finished:!1,constructed:!0,writing:!1};_corkedBuffer=[];_writeBuffer=[];_pendingConstruct=[];_ending=!1;_endCallback;_pendingEnd=null;_writeImpl;_writev;_finalImpl;_destroyImpl;_constructImpl;_decodeStrings;_defaultEncoding=`utf8`;constructor(e){super(e),this.writableHighWaterMark=e?.highWaterMark??getDefaultHighWaterMark(e?.objectMode??!1),this.writableObjectMode=e?.objectMode??!1,this._decodeStrings=e?.decodeStrings!==!1,e?.write&&(this._writeImpl=e.write),e?.writev&&(this._writev=e.writev),e?.final&&(this._finalImpl=e.final),e?.destroy&&(this._destroyImpl=e.destroy),e?.construct&&(this._constructImpl=e.construct),(this._constructImpl||this._construct!==Writable_.prototype._construct)&&(this._writableState.constructed=!1,nextTick(()=>{this._construct(e=>{this._writableState.constructed=!0,e?this.destroy(e):this._maybeFlush()})}))}_construct(e){this._constructImpl?this._constructImpl.call(this,e):e()}_write(e,R,W){this._writeImpl?this._writeImpl.call(this,e,R,W):W()}_final(e){this._finalImpl?this._finalImpl.call(this,e):e()}_destroy(e,R){this._destroyImpl?this._destroyImpl.call(this,e,R):R(e)}_maybeFlush(){let e=this._pendingConstruct.splice(0);if(e.length>0){let[R,...W]=e;this._writeBuffer.push(...W),this._doWrite(R.chunk,R.encoding,R.callback)}if(this._pendingEnd){let{chunk:e,encoding:R,callback:W}=this._pendingEnd;this._pendingEnd=null,this._doEnd(e,R,W)}}_doWrite(e,R,W){this._writableState.writing=!0;let Y=!0;this._write(e,R,R=>{if(this.writableLength-=this.writableObjectMode?1:chunkLen(e),Y){nextTick(()=>{if(R){W(R),this.emit(`error`,R);return}W(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}),R||this._drainWriteBuffer();return}nextTick(R?()=>{W(R),this.emit(`error`,R),this._drainWriteBuffer()}:()=>{W(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._drainWriteBuffer()})}),Y=!1}_drainWriteBuffer(){if(this._writeBuffer.length>0){let e=this._writeBuffer.shift();this._doWrite(e.chunk,e.encoding,e.callback)}else this._writableState.writing=!1,this._maybeFinish()}_maybeFinish(){!this._ending||this._writableState.finished||this._writableState.writing||this._writeBuffer.length>0||(this._ending=!1,this._final(e=>{this.writableFinished=!0,this._writableState.finished=!0,nextTick(()=>{e&&this.emit(`error`,e),this.emit(`finish`),nextTick(()=>this.emit(`close`)),this._endCallback&&this._endCallback()})}))}write(e,R,W){let Y,X;if(typeof R==`function`?(Y=R,X=this._defaultEncoding):(X=R??this._defaultEncoding,Y=W??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let R=globalThis.Buffer;R&&(e=R.from(e,X),X=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let R=globalThis.Buffer;(R&&R.isBuffer(e)||e instanceof Uint8Array)&&(X=`buffer`)}if(this.writableEnded){let e=Error(`write after end`);return nextTick(()=>{Y(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen(e),this.writableCorked>0)return this._corkedBuffer.push({chunk:e,encoding:X,callback:Y}),this.writableLength<this.writableHighWaterMark;if(!this._writableState.constructed)return this._pendingConstruct.push({chunk:e,encoding:X,callback:Y}),this.writableLength<this.writableHighWaterMark;let ie=this.writableLength<this.writableHighWaterMark;return ie||(this.writableNeedDrain=!0),this._writableState.writing?this._writeBuffer.push({chunk:e,encoding:X,callback:Y}):this._doWrite(e,X,Y),ie}_doEnd(e,R,W){e!=null&&this.write(e,R),this.writableEnded=!0,this._writableState.ended=!0,this._ending=!0,this._endCallback=W,this._maybeFinish()}end(e,R,W){return typeof e==`function`&&(W=e,e=void 0),typeof R==`function`&&(W=R,R=void 0),this.writableEnded?(W&&nextTick(W),this):this._writableState.constructed?(this._doEnd(e,R,W),this):(this._pendingEnd={chunk:e,encoding:R,callback:W},this)}cork(){this.writableCorked++}uncork(){this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._corkedBuffer.length>0&&this._flushCorkedBuffer())}_flushCorkedBuffer(){if(this._writev&&this._corkedBuffer.length>1){let e=this._corkedBuffer.splice(0),R=e.map(e=>({chunk:e.chunk,encoding:e.encoding}));this._writev.call(this,R,R=>{for(let R of e)this.writableLength-=this.writableObjectMode?1:chunkLen(R.chunk);if(R){for(let W of e)W.callback(R);this.emit(`error`,R)}else{for(let R of e)R.callback();this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}})}else{let e=this._corkedBuffer.splice(0);if(e.length>0){let[R,...W]=e;this._writeBuffer.push(...W),this._doWrite(R.chunk,R.encoding,R.callback)}}}setDefaultEncoding(e){return this._defaultEncoding=e,this}destroy(e){if(this.destroyed)return this;this.destroyed=!0,this.writable=!1,e&&(this._err=e);let cb=e=>{e&&nextTick(()=>this.emit(`error`,e)),nextTick(()=>this.emit(`close`))};return this._destroy(e??null,cb),this}}}),nu,ru=__esmMin(()=>{Zl(),Vt(),nu=class Transform_ extends Duplex_{constructor(e){super({...e,write:void 0,final:void 0});let R=this;e?.transform&&(R._transform=e.transform),e?.flush&&(R._flush=e.flush),e?.final&&(R._final=e.final)}_transform(e,R,W){throw Object.assign(Error(`The _transform() method is not implemented`),{code:`ERR_METHOD_NOT_IMPLEMENTED`})}_flush(e){e()}_write(e,R,W){let Y=!1;try{this._transform(e,R,(e,R)=>{if(Y){let e=Object.assign(Error(`Callback called multiple times`),{code:`ERR_MULTIPLE_CALLBACK`});nextTick(()=>this.emit(`error`,e));return}if(Y=!0,e){W(e);return}R!=null&&this.push(R),W()})}catch(e){if(e?.code===`ERR_METHOD_NOT_IMPLEMENTED`)throw e;W(e)}}_final(e){this._flush((R,W)=>{if(R){e(R);return}W!=null&&this.push(W),this.push(null),e()})}_doPrefinishHooks(e){let R=Transform_.prototype._final;this._final===R?e():R.call(this,e)}}}),PassThrough_,iu=__esmMin(()=>{ru(),PassThrough_=class extends nu{constructor(e){super({...e,transform(e,R,W){W(null,e)}})}}});function pipeline(...e){let R=e,W=typeof R[R.length-1]==`function`?R.pop():void 0,Y=R;if(Y.length<2)throw Error(`pipeline requires at least 2 streams`);let X=null;function onError(e){if(!X){X=e;for(let e of Y)typeof e.destroy==`function`&&e.destroy();W&&W(e)}}let ie=Y[0];for(let e=1;e<Y.length;e++){let R=Y[e];ie.pipe(R),ie.on(`error`,onError),ie=R}let ae=Y[Y.length-1];return ae.on(`error`,onError),ae.on(`finish`,()=>{W&&!X&&W(null)}),ae}var au=__esmMin(()=>{});function finished(e,R,W){let Y;Y=typeof R==`function`?R:W;let X=!1;function done(e){X||(X=!0,Y(e))}let onFinish=()=>done(),onEnd=()=>done(),onError=e=>done(e),onClose=()=>{let R=e,W=e;!R.writableFinished&&!W.readableEnded&&done(Error(`premature close`))};e.on(`finish`,onFinish),e.on(`end`,onEnd),e.on(`error`,onError),e.on(`close`,onClose);let ie=e,ae=typeof e.write==`function`,le=typeof e.read==`function`,_e=ie.writableFinished===!0,ye=ie.readableEnded===!0;if(ie.destroyed===!0){let e=ie._err;St(e?()=>done(e):ae&&_e||le&&ye?()=>done():()=>done(Error(`premature close`)))}else (ae&&!le&&_e||!ae&&le&&ye||ae&&le&&_e&&ye)&&St(()=>done());return function cleanup(){e.removeListener(`finish`,onFinish),e.removeListener(`end`,onEnd),e.removeListener(`error`,onError),e.removeListener(`close`,onClose)}}function addAbortSignal(e,R){if(!(e instanceof AbortSignal))throw TypeError(`The first argument must be an AbortSignal`);if(!(R instanceof Stream_))throw TypeError(`The second argument must be a Stream`);let W=R;if(e.aborted)W.destroy(Error(`The operation was aborted`));else{let onAbort=()=>{W.destroy(Error(`The operation was aborted`))};e.addEventListener(`abort`,onAbort,{once:!0}),R.once(`close`,()=>{e.removeEventListener(`abort`,onAbort)})}return R}function isReadable(e){if(e==null)return!1;let R=e;return typeof R.readable!=`boolean`||typeof R.read!=`function`||R.destroyed===!0||R.readableEnded===!0?!1:R.readable===!0}function isWritable(e){if(e==null)return!1;let R=e;return typeof R.writable!=`boolean`||typeof R.write!=`function`||R.destroyed===!0||R.writableEnded===!0?!1:R.writable===!0}function isDestroyed(e){return e==null?!1:e.destroyed===!0}function isDisturbed(e){if(e==null)return!1;let R=e;return R.readableDidRead===!0||R.readableFlowing!==null&&R.readableFlowing!==void 0}function isErrored(e){if(e==null)return!1;let R=e;return R.destroyed===!0&&typeof R.readable==`boolean`&&R.readable===!1||R.destroyed===!0&&typeof R.writable==`boolean`&&R.writable===!1}var ou=__esmMin(()=>{Vl(),Vt()}),su,cu,lu,uu,du,fu,pu,mu=__esmMin(()=>{zl(),Vl(),Jl(),Xl(),Zl(),Ql(),tu(),ru(),iu(),au(),ou(),su=makeCallable(Stream_),cu=makeCallable(Yl),lu=makeCallable(eu),uu=makeCallable(Duplex_),du=makeCallable(nu),fu=makeCallable(PassThrough_),pu=Object.assign(su,{Stream:su,Readable:cu,Writable:lu,Duplex:uu,Transform:du,PassThrough:fu,pipeline,finished,addAbortSignal,isReadable,isWritable,isDestroyed,isDisturbed,isErrored,getDefaultHighWaterMark,setDefaultHighWaterMark})});function getGioCompressorFormat(e){switch(e){case`gzip`:return at.ZlibCompressorFormat.GZIP;case`deflate`:return at.ZlibCompressorFormat.ZLIB;case`deflate-raw`:return at.ZlibCompressorFormat.RAW}}function toUint8Array$1(e){return typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function createGzip(e){return new ZlibTransform(`gzip`,`compress`,e)}function createGunzip(e){return new ZlibTransform(`gzip`,`decompress`,e)}function createDeflate(e){return new ZlibTransform(`deflate`,`compress`,e)}function createInflate(e){return new ZlibTransform(`deflate`,`decompress`,e)}function createDeflateRaw(e){return new ZlibTransform(`deflate-raw`,`compress`,e)}function createInflateRaw(e){return new ZlibTransform(`deflate-raw`,`decompress`,e)}function createUnzip(e){return new ZlibTransform(`gzip`,`decompress`,e)}function createBrotliCompress(e){throw Error(`createBrotliCompress is not supported on GJS (no Brotli in GLib)`)}function createBrotliDecompress(e){throw Error(`createBrotliDecompress is not supported on GJS (no Brotli in GLib)`)}var ZlibTransform,hu=__esmMin(()=>{st(),$e(),mu(),__name$1(toUint8Array$1,`toUint8Array`),ZlibTransform=class extends du{_format;_mode;_chunks=[];constructor(e,R,W){super(W),this._format=e,this._mode=R}_transform(e,R,W){this._chunks.push(toUint8Array$1(e)),W()}_flush(e){let R=this._chunks.reduce((e,R)=>e+R.length,0),W=new Uint8Array(R),Y=0;for(let e of this._chunks)W.set(e,Y),Y+=e.length;this._chunks=[];try{let R=this._mode===`compress`?this._compress(W):this._decompress(W);this.push(Buffer.from(R)),e()}catch(R){e(R instanceof Error?R:Error(String(R)))}}_compress(e){let R=new at.ZlibCompressor({format:getGioCompressorFormat(this._format)}),W=new at.ConverterOutputStream({base_stream:at.MemoryOutputStream.new_resizable(),converter:R});W.write_bytes(new Qe.Bytes(e),null),W.close(null);let Y=W.get_base_stream().steal_as_bytes();return new Uint8Array(Y.get_data()??[])}_decompress(e){let R=new at.ZlibDecompressor({format:getGioCompressorFormat(this._format)}),W=at.MemoryInputStream.new_from_bytes(new Qe.Bytes(e)),Y=new at.ConverterInputStream({base_stream:W,converter:R}),X=[];for(;;){let e=Y.read_bytes(4096,null);if(e.get_size()===0)break;X.push(new Uint8Array(e.get_data()))}Y.close(null);let ie=X.reduce((e,R)=>e+R.length,0),ae=new Uint8Array(ie),le=0;for(let e of X)ae.set(e,le),le+=e.length;return ae}}}),gu=__exportAll$1({ZlibTransform:()=>ZlibTransform,brotliCompress:()=>brotliCompress,brotliCompressSync:()=>brotliCompressSync,brotliDecompress:()=>brotliDecompress,brotliDecompressSync:()=>brotliDecompressSync,constants:()=>yu,createBrotliCompress:()=>createBrotliCompress,createBrotliDecompress:()=>createBrotliDecompress,createDeflate:()=>createDeflate,createDeflateRaw:()=>createDeflateRaw,createGunzip:()=>createGunzip,createGzip:()=>createGzip,createInflate:()=>createInflate,createInflateRaw:()=>createInflateRaw,createUnzip:()=>createUnzip,default:()=>bu,deflate:()=>deflate,deflateRaw:()=>deflateRaw,deflateRawSync:()=>deflateRawSync,deflateSync:()=>deflateSync,gunzip:()=>gunzip,gunzipSync:()=>gunzipSync,gzip:()=>gzip,gzipSync:()=>gzipSync,inflate:()=>inflate,inflateRaw:()=>inflateRaw,inflateRawSync:()=>inflateRawSync,inflateSync:()=>inflateSync});function getGioFormat(e){switch(e){case`gzip`:return at.ZlibCompressorFormat.GZIP;case`deflate`:return at.ZlibCompressorFormat.ZLIB;case`deflate-raw`:return at.ZlibCompressorFormat.RAW}}function compressWithGio(e,R){let W=new at.ZlibCompressor({format:getGioFormat(R)}),Y=new at.ConverterOutputStream({base_stream:at.MemoryOutputStream.new_resizable(),converter:W});Y.write_bytes(new Qe.Bytes(e),null),Y.close(null);let X=Y.get_base_stream().steal_as_bytes();return new Uint8Array(X.get_data()??[])}function decompressStreamWithGio(e,R){let W=new at.ZlibDecompressor({format:getGioFormat(R)}),Y=at.MemoryInputStream.new_from_bytes(new Qe.Bytes(e)),X=new at.ConverterInputStream({base_stream:Y,converter:W}),ie=[];for(;;){let e=X.read_bytes(4096,null);if(e.get_size()===0)break;ie.push(new Uint8Array(e.get_data()))}X.close(null);let ae=ie.reduce((e,R)=>e+R.length,0),le=new Uint8Array(ae),_e=0;for(let e of ie)le.set(e,_e),_e+=e.length;return le}function findGzipMemberEnd(e){let R=new at.ZlibDecompressor({format:at.ZlibCompressorFormat.GZIP}),W=new Uint8Array(65536),Y=0,X=!1;for(;!X;){let ie=e.subarray(Y);try{let[e,ae]=R.convert(ie,W,at.ConverterFlags.NONE);Y+=ae,e===at.ConverterResult.FINISHED&&(X=!0)}catch{X=!0}}return Y}function decompressWithGio(e,R){if(R!==`gzip`)return decompressStreamWithGio(e,R);let W=[],Y=0;for(;Y<e.length&&!(e.length-Y<2||e[Y]!==31||e[Y+1]!==139);){let R=e.subarray(Y),X=findGzipMemberEnd(R);if(X<=0)break;let ie=decompressStreamWithGio(R.subarray(0,X),`gzip`);W.push(ie),Y+=X}if(W.length===0)return decompressStreamWithGio(e,`gzip`);let X=W.reduce((e,R)=>e+R.length,0),ie=new Uint8Array(X),ae=0;for(let e of W)ie.set(e,ae),ae+=e.length;return ie}async function compressWithWeb(e,R){let W=new CompressionStream(R),Y=W.writable.getWriter();Y.write(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),Y.close();let X=[],ie=W.readable.getReader();for(;;){let{done:e,value:R}=await ie.read();if(e)break;X.push(R)}let ae=X.reduce((e,R)=>e+R.length,0),le=new Uint8Array(ae),_e=0;for(let e of X)le.set(e,_e),_e+=e.length;return le}async function decompressWithWeb(e,R){let W=new DecompressionStream(R),Y=W.writable.getWriter();Y.write(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),Y.close();let X=[],ie=W.readable.getReader();for(;;){let{done:e,value:R}=await ie.read();if(e)break;X.push(R)}let ae=X.reduce((e,R)=>e+R.length,0),le=new Uint8Array(ae),_e=0;for(let e of X)le.set(e,_e),_e+=e.length;return le}async function compress(e,R){return _u?compressWithWeb(e,R):compressWithGio(e,R)}async function decompress(e,R){return _u?decompressWithWeb(e,R):decompressWithGio(e,R)}function toUint8Array(e){return typeof e==`string`?new TextEncoder().encode(e):e instanceof ArrayBuffer?new Uint8Array(e):e}function gzip(e,R,W){let Y=typeof R==`function`?R:W;compress(toUint8Array(e),`gzip`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function gunzip(e,R,W){let Y=typeof R==`function`?R:W;decompress(toUint8Array(e),`gzip`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function deflate(e,R,W){let Y=typeof R==`function`?R:W;compress(toUint8Array(e),`deflate`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function inflate(e,R,W){let Y=typeof R==`function`?R:W;decompress(toUint8Array(e),`deflate`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function deflateRaw(e,R,W){let Y=typeof R==`function`?R:W;compress(toUint8Array(e),`deflate-raw`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function inflateRaw(e,R,W){let Y=typeof R==`function`?R:W;decompress(toUint8Array(e),`deflate-raw`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function gzipSync(e,R){return compressWithGio(toUint8Array(e),`gzip`)}function gunzipSync(e,R){return decompressWithGio(toUint8Array(e),`gzip`)}function deflateSync(e,R){return compressWithGio(toUint8Array(e),`deflate`)}function inflateSync(e,R){return decompressWithGio(toUint8Array(e),`deflate`)}function deflateRawSync(e,R){return compressWithGio(toUint8Array(e),`deflate-raw`)}function inflateRawSync(e,R){return decompressWithGio(toUint8Array(e),`deflate-raw`)}function brotliCompress(e,R,W){(typeof R==`function`?R:W)(Error(`brotliCompress: Brotli is not supported in this environment`),vu)}function brotliDecompress(e,R,W){(typeof R==`function`?R:W)(Error(`brotliDecompress: Brotli is not supported in this environment`),vu)}function brotliCompressSync(e,R){throw Error(`brotliCompressSync: Brotli is not supported in this environment`)}function brotliDecompressSync(e,R){throw Error(`brotliDecompressSync: Brotli is not supported in this environment`)}var _u,vu,yu,bu,xu=__esmMin(()=>{hu(),st(),$e(),_u=globalThis.CompressionStream!==void 0,vu=new Uint8Array,yu={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_DEFLATED:8},bu={gzip,gunzip,deflate,inflate,deflateRaw,inflateRaw,gzipSync,gunzipSync,deflateSync,inflateSync,deflateRawSync,inflateRawSync,brotliCompress,brotliDecompress,brotliCompressSync,brotliDecompressSync,createGzip,createGunzip,createDeflate,createInflate,createDeflateRaw,createInflateRaw,createUnzip,createBrotliCompress,createBrotliDecompress,constants:yu}});const Su=new Set([`gzip`,`deflate`,`deflate-raw`]);function validateFormat(e){if(!Su.has(e))throw TypeError(`Unsupported compression format: '${e}'. Supported formats: 'gzip', 'deflate', 'deflate-raw'.`);return e}const Cu=typeof globalThis.CompressionStream==`function`&&typeof globalThis.DecompressionStream==`function`;let wu=!1,Tu,Eu,Du,Ou,ku,Au;async function loadZlib(){if(wu)return;let e=await Promise.resolve().then(()=>(xu(),gu));Tu=e.gzipSync,Eu=e.gunzipSync,Du=e.deflateSync,Ou=e.inflateSync,ku=e.deflateRawSync,Au=e.inflateRawSync,wu=!0}function getCompressFn(e){switch(e){case`gzip`:return e=>Tu(e);case`deflate`:return e=>Du(e);case`deflate-raw`:return e=>ku(e)}}function getDecompressFn(e){switch(e){case`gzip`:return e=>Eu(e);case`deflate`:return e=>Ou(e);case`deflate-raw`:return e=>Au(e)}}let ju,Mu;if(Cu)ju=globalThis.CompressionStream,Mu=globalThis.DecompressionStream;else{let e=loadZlib();ju=class CompressionStream{readable;writable;constructor(R){let W=validateFormat(R),Y=new Ml({async transform(R,Y){try{await e,Y.enqueue(getCompressFn(W)(R))}catch(e){Y.error(e)}}});this.readable=Y.readable,this.writable=Y.writable}},Mu=class DecompressionStream{readable;writable;constructor(R){let W=validateFormat(R),Y=new Ml({async transform(R,Y){try{await e,Y.enqueue(getDecompressFn(W)(R))}catch(e){Y.error(e)}}});this.readable=Y.readable,this.writable=Y.writable}}}const Nu=globalThis;globalThis.CompressionStream===void 0&&(Nu.CompressionStream=ju),globalThis.DecompressionStream===void 0&&(Nu.DecompressionStream=Mu);const Pu={CustomEvent,MessageEvent,ErrorEvent,CloseEvent,ProgressEvent:ProgressEvent$1};for(let[e,R]of Object.entries(Pu))globalThis[e]===void 0&&Object.defineProperty(globalThis,e,{value:R,writable:!0,configurable:!0});const Fu=globalThis;Fu.Event===void 0&&Object.defineProperty(globalThis,"Event",{value:Event$1,writable:!0,configurable:!0}),Fu.EventTarget===void 0&&Object.defineProperty(globalThis,"EventTarget",{value:EventTarget$1,writable:!0,configurable:!0});const Iu={UIEvent,MouseEvent,PointerEvent:PointerEvent$1,KeyboardEvent:KeyboardEvent$1,WheelEvent:WheelEvent$1,FocusEvent};for(let[e,R]of Object.entries(Iu))globalThis[e]===void 0&&Object.defineProperty(globalThis,e,{value:R,writable:!0,configurable:!0});const Lu=globalThis;globalThis.DOMException===void 0&&(Lu.DOMException=or);var Ru,__name,zu=__esmMin(()=>{Ru=Object.defineProperty,__name=(e,R)=>Ru(e,`name`,{value:R,configurable:!0})}),Bu=be;function validateHeaderName(e){if(typeof e!=`string`||!/^[\^`\-\w!#$%&'*+.|~]+$/.test(e)){let R=TypeError(`Header name must be a valid HTTP token ["${e}"]`);throw Object.defineProperty(R,"code",{value:`ERR_INVALID_HTTP_TOKEN`}),R}}function validateHeaderValue(e,R){if(R===void 0){let R=TypeError(`Header "${e}" value must not be undefined`);throw Object.defineProperty(R,"code",{value:`ERR_HTTP_INVALID_HEADER_VALUE`}),R}if(typeof R==`string`&&/[^\t -~-ÿ]/.test(R)){let R=TypeError(`Invalid character in header content ["${e}"]`);throw Object.defineProperty(R,"code",{value:`ERR_INVALID_CHAR`}),R}}const Vu=Symbol(`Headers.headers`);function isBoxedPrimitive(e){return e instanceof String||e instanceof Number||e instanceof Boolean||typeof Symbol<`u`&&e instanceof Symbol||typeof BigInt<`u`&&e instanceof BigInt}var Hu=class Headers{[Vu];constructor(e){if(this[Vu]=new Map,e!=null){if(e instanceof Headers){for(let[R,W]of e[Vu])this[Vu].set(R,[...W]);return}if(typeof e==`object`&&!isBoxedPrimitive(e)){let R=e[Symbol.iterator];if(R==null)for(let[R,W]of Object.entries(e))validateHeaderName(R),validateHeaderValue(R,String(W)),this.append(R,String(W));else{if(typeof R!=`function`)throw TypeError(`Header pairs must be iterable`);for(let R of e){if(typeof R!=`object`||isBoxedPrimitive(R))throw TypeError(`Each header pair must be an iterable object`);let e=[...R];if(e.length!==2)throw TypeError(`Each header pair must be a name/value tuple`);validateHeaderName(e[0]),validateHeaderValue(e[0],String(e[1])),this.append(e[0],String(e[1]))}}}else throw TypeError(`Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)'`)}}append(e,R){validateHeaderName(e),validateHeaderValue(e,R);let W=String(e).toLowerCase(),Y=String(R),X=this[Vu].get(W);X?X.push(Y):this[Vu].set(W,[Y])}set(e,R){validateHeaderName(e),validateHeaderValue(e,R);let W=String(e).toLowerCase();this[Vu].set(W,[String(R)])}delete(e){this[Vu].delete(String(e).toLowerCase())}has(e){return this[Vu].has(String(e).toLowerCase())}get(e){let R=this[Vu].get(String(e).toLowerCase());if(!R||R.length===0)return null;let W=R.join(`, `);return/^content-encoding$/i.test(e)&&(W=W.toLowerCase()),W}getAll(e){return this[Vu].get(String(e).toLowerCase())??[]}getSetCookie(){return this[Vu].get(`set-cookie`)??[]}forEach(e,R){for(let W of this.keys())Reflect.apply(e,R,[this.get(W),W,this])}*keys(){let e=[...this[Vu].keys()].sort(),R=new Set;for(let W of e)R.has(W)||(R.add(W),yield W)}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return`Headers`}toString(){return Object.prototype.toString.call(this)}raw(){let e={};for(let R of this.keys())e[R]=this.getAll(R);return e}_appendToSoupMessage(e,R=Bu.MessageHeadersType.REQUEST){let W=e?e.get_request_headers():new Bu.MessageHeaders(R);for(let[e,R]of this.entries())W.append(e,R);return W}static _newFromSoupMessage(e,R=Bu.MessageHeadersType.RESPONSE){let W=new Headers,Y;return Y=R===Bu.MessageHeadersType.RESPONSE?e.get_response_headers():e.get_request_headers(),Y.foreach((e,R)=>{W.append(e,R)}),W}[Symbol.for(`nodejs.util.inspect.custom`)](){let e={};for(let R of this.keys()){let W=this.getAll(R);R===`host`?e[R]=W[0]:e[R]=W.length>1?W:W[0]}return e}};Object.defineProperties(Hu.prototype,[`get`,`entries`,`forEach`,`values`].reduce((e,R)=>(e[R]={enumerable:!0},e),{}));var Uu=__esmMin(()=>{Ja()});Uu();var FetchBaseError=class extends Error{type;constructor(e,R){super(e),typeof Error.captureStackTrace==`function`&&Error.captureStackTrace(this,this.constructor),this.type=R}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},FetchError=class extends FetchBaseError{code;errno;erroredSysCall;constructor(e,R,W){super(e,R),W&&(this.code=this.errno=W.code,this.erroredSysCall=W.syscall)}};const Wu=Symbol.toStringTag,isURLSearchParameters=e=>typeof e==`object`&&typeof e.append==`function`&&typeof e.delete==`function`&&typeof e.get==`function`&&typeof e.getAll==`function`&&typeof e.has==`function`&&typeof e.set==`function`&&typeof e.sort==`function`&&e[Wu]===`URLSearchParams`,isBlob=e=>{if(!e||typeof e!=`object`)return!1;let R=e;return typeof R.arrayBuffer==`function`&&typeof R.type==`string`&&typeof R.stream==`function`&&typeof R.constructor==`function`&&/^(Blob|File)$/.test(R[Wu])},isAbortSignal=e=>{if(typeof e!=`object`||!e)return!1;let R=e;return R[Wu]===`AbortSignal`||R[Wu]===`EventTarget`},isDomainOrSubdomain=(e,R)=>{let W=new hs(R).hostname,Y=new hs(e).hostname;return W===Y||W.endsWith(`.${Y}`)},isSameProtocol=(e,R)=>new hs(R).protocol===new hs(e).protocol;var Gu,Ku,File$1,qu=__esmMin(()=>{Gu=Symbol(`File.name`),Ku=Symbol(`File.lastModified`),File$1=class extends Blob{static{__name$1(this,`File`)}[Gu];[Ku];webkitRelativePath=``;constructor(e,R,W){super(e,W),this[Gu]=String(R),this[Ku]=W?.lastModified??Date.now()}get name(){return this[Gu]}get lastModified(){return this[Ku]}get[Symbol.toStringTag](){return`File`}}});function generateBoundary(){let e=`----formdata-`;for(let R=0;R<24;R++)e+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`.charAt(Math.floor(Math.random()*62));return e}function escape(e){return e.replace(/\n/g,`%0A`).replace(/\r/g,`%0D`).replace(/"/g,`%22`)}function formDataToBlob(e,R){R??=generateBoundary();let W=[],Y=`--${R}\r\nContent-Disposition: form-data; name="`;for(let[R,X]of e.entries())if(typeof X==`string`)W.push(`${Y}${escape(R)}"\r\n\r\n${X.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
5
|
+
`+R)}profile(e){}profileEnd(e){}timeStamp(e){}},gt=new Console,log=(...e)=>gt.log(...e),info=(...e)=>gt.info(...e),debug=(...e)=>gt.debug(...e),warn=(...e)=>gt.warn(...e),error=(...e)=>gt.error(...e),dir=(e,R)=>gt.dir(e,R),dirxml=(...e)=>gt.dirxml(...e),table=(e,R)=>gt.table(e,R),clear=()=>gt.clear(),_t=__name$1((e,...R)=>gt.assert(e,...R),`assert`),trace=(...e)=>gt.trace(...e),time=e=>gt.time(e),timeEnd=e=>gt.timeEnd(e),timeLog=(e,...R)=>gt.timeLog(e,...R),count=e=>gt.count(e),countReset=e=>gt.countReset(e),group=(...e)=>gt.group(...e),groupCollapsed=(...e)=>gt.groupCollapsed(...e),groupEnd=()=>gt.groupEnd(),profile=e=>{},profileEnd=e=>{},timeStamp=e=>{}}),yt,bt=__esmMin(()=>{vt(),yt={log,info,debug,warn,error,dir,dirxml,table,time,timeEnd,timeLog,trace,assert:_t,clear,count,countReset,group,groupCollapsed,groupEnd,profile,profileEnd,timeStamp}}),warnNotImplemented,xt=__esmMin(()=>{bt(),warnNotImplemented=e=>{let R=e?`Not implemented: ${e}`:`Not implemented`;return yt.warn(R),R}}),St,Ct=__esmMin(()=>{St=__name$1(e=>{Promise.resolve().then(e)},`queueMicrotask`)});function drainOnce(e){let R=Math.min(64,wt.length);for(let W=0;W<R;W++){let R=wt.shift();try{R()}catch(R){try{e.log_default_handler(`gjsify-nextTick`,e.LogLevelFlags.LEVEL_WARNING,String(R?.stack||R),null)}catch{}}}wt.length>0?e.timeout_add(e.PRIORITY_DEFAULT,1,()=>(drainOnce(e),!1)):Tt=!1}function tryGLibTimeout(e){let R=globalThis.imports?.gi?.GLib;return R?.timeout_add?(wt.push(e),Tt||(Tt=!0,R.timeout_add(R.PRIORITY_DEFAULT,0,()=>(drainOnce(R),!1))),!0):!1}var wt,Tt,nextTick,Et=__esmMin(()=>{wt=[],Tt=!1,nextTick=(e,...R)=>{let W=R.length>0?()=>e(...R):e;if(!tryGLibTimeout(W)){if(typeof globalThis.process?.nextTick==`function`){globalThis.process.nextTick(e,...R);return}if(typeof queueMicrotask==`function`){queueMicrotask(W);return}Promise.resolve().then(W)}}}),Ot,jt=__esmMin(()=>{$e(),st(),{File:Ot}=at});function classOf(e){return Mt.call(e).slice(8,-1)}function throwDataCloneError(e){let R=globalThis.DOMException;if(typeof R==`function`)throw new R(e,`DataCloneError`);let W=Error(e);throw W.name=`DataCloneError`,W}function internalClone(e,R,W){if(e==null)return e;let Y=typeof e;if(Y===`boolean`||Y===`number`||Y===`string`||Y===`bigint`)return e;Y===`symbol`&&throwDataCloneError(`Symbol cannot be cloned`),Y===`function`&&throwDataCloneError(`Function cannot be cloned`);let X=e;if(R.has(X))return R.get(X);let ie=classOf(X);if(ie===`Date`)return new Date(X.getTime());if(ie===`RegExp`)return new RegExp(X.source,X.flags);if(ie===`Boolean`||ie===`Number`||ie===`String`)return Object(X.valueOf());if(ie===`BigInt`)return Object(BigInt.prototype.valueOf.call(X));if(X instanceof Error){let e=X,Y=e.constructor?.name,ie=new(Y&&Nt[Y]||Nt[e.name]||Error)(e.message);return ie.name=e.name,`cause`in e&&Object.defineProperty(ie,"cause",{value:internalClone(e.cause,R,W),writable:!0,enumerable:!1,configurable:!0}),ie}if(ie===`DOMException`){let e=globalThis.DOMException;if(typeof e==`function`){let R=X;return new e(R.message,R.name)}}if(ie===`ArrayBuffer`){let e=X;if(W&&W.transferred.has(e)){let Y=W.transferred.get(e);return R.set(X,Y),Y}(e.detached===!0||e.byteLength===0&&e.detached)&&throwDataCloneError(`ArrayBuffer is detached and cannot be cloned`);let Y=e.slice(0);return R.set(X,Y),Y}if(ie===`SharedArrayBuffer`||X&&typeof X==`object`&&X.constructor?.name===`SharedBuffer`)return X;if(ie===`DataView`){let e=X,Y=W?.viewSnapshots.get(X),ie=internalClone(e.buffer,R,W),ae=Y?Y.byteOffset:e.byteOffset,le=Y?Y.byteLength:e.byteLength,_e=new DataView(ie,ae,le);return R.set(X,_e),_e}if(Pt.has(ie)){let e=X,Y=W?.viewSnapshots.get(X),ie=internalClone(e.buffer,R,W),ae=e.constructor,le=new ae(ie,Y?Y.byteOffset:e.byteOffset,Y?Y.length:e.length);return R.set(X,le),le}if(ie===`Map`){let e=new Map;R.set(X,e);for(let[Y,ie]of X)e.set(internalClone(Y,R,W),internalClone(ie,R,W));return e}if(ie===`Set`){let e=new Set;R.set(X,e);for(let Y of X)e.add(internalClone(Y,R,W));return e}{let e=globalThis,R=e.Blob,W=e.File;if(typeof W==`function`&&X instanceof W){let e=X;return new W([X],e.name,{type:e.type,lastModified:e.lastModified})}if(typeof R==`function`&&X instanceof R)return new R([X],{type:X.type})}if(X instanceof WeakMap&&throwDataCloneError(`WeakMap cannot be cloned`),X instanceof WeakSet&&throwDataCloneError(`WeakSet cannot be cloned`),X instanceof WeakRef&&throwDataCloneError(`WeakRef cannot be cloned`),typeof globalThis.Promise==`function`&&X instanceof Promise&&throwDataCloneError(`Promise cannot be cloned`),ie===`Array`){let e=X,Y=[];R.set(X,Y);for(let X=0;X<e.length;X++)X in e&&(Y[X]=internalClone(e[X],R,W));return Y}if(ie===`Object`||typeof X==`object`){let e={};R.set(X,e);for(let Y of Object.keys(X))e[Y]=internalClone(X[Y],R,W);return e}throwDataCloneError(`${ie} cannot be cloned`)}function structuredClone$1(e,R){let W=R?.transfer;if(!W||W.length===0)return internalClone(e,new Map);let Y=new Set;for(let e of W)if(classOf(e)===`ArrayBuffer`){let R=e;R.detached===!0&&throwDataCloneError(`ArrayBuffer in transfer list is detached`),Y.add(R)}let X=new Map;Y.size>0&&snapshotViewsBackedByTransferredBuffers(e,Y,X,new Set);let ie=new Map;for(let e of Y){let R=e;typeof R.transfer!=`function`&&throwDataCloneError(`ArrayBuffer.prototype.transfer() not available — runtime is not SM140+`),ie.set(e,R.transfer())}return internalClone(e,new Map,{transferred:ie,viewSnapshots:X})}function snapshotViewsBackedByTransferredBuffers(e,R,W,Y){if(typeof e!=`object`||!e)return;let X=e;if(Y.has(X))return;Y.add(X);let ie=classOf(X);if(ie===`DataView`){let e=X;R.has(e.buffer)&&W.set(X,{byteOffset:e.byteOffset,length:0,byteLength:e.byteLength});return}if(Pt.has(ie)){let e=X;R.has(e.buffer)&&W.set(X,{byteOffset:e.byteOffset,length:e.length,byteLength:e.byteLength});return}if(Array.isArray(X)){for(let e=0;e<X.length;e++)e in X&&snapshotViewsBackedByTransferredBuffers(X[e],R,W,Y);return}if(ie===`Map`){for(let[e,ie]of X)snapshotViewsBackedByTransferredBuffers(e,R,W,Y),snapshotViewsBackedByTransferredBuffers(ie,R,W,Y);return}if(ie===`Set`){for(let e of X)snapshotViewsBackedByTransferredBuffers(e,R,W,Y);return}if(ie===`Object`)for(let e of Object.keys(X))snapshotViewsBackedByTransferredBuffers(X[e],R,W,Y)}var Mt,Nt,Pt,Ft=__esmMin(()=>{({toString:Mt}=Object.prototype),Nt={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},Pt=new Set([`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]),__name$1(structuredClone$1,`structuredClone`)});function ensureMainLoop(){let e=globalThis.imports;if(!e)return;if(Lt)return Rt;let R=e.gi?.GLib;if(R){if(Rt=new R.MainLoop(null,!1),Lt=!0,R.main_depth()===0)try{Rt.runAsync()}catch{}return Rt}}function quitMainLoop(){Rt&&=(Rt.quit(),Lt=!1,null)}var Lt,Rt,zt=__esmMin(()=>{Lt=!1,Rt=null}),Vt=__esmMin(()=>{Ye(),et(),tt(),nt(),ut(),dt(),mt(),xt(),Ct(),Et(),jt(),Ft(),zt()});Je(),Vt(),registerGlobal(`Blob`,Ke),registerGlobal(`File`,qe);var Ht=Object.defineProperty,__exportAll=(e,R)=>{let W={};for(var Y in e)Ht(W,Y,{get:e[Y],enumerable:!0});return R||Ht(W,Symbol.toStringTag,{value:`Module`}),W};__exportAll({attributes:()=>Qt,childNodesList:()=>Gt,elementChildren:()=>Kt,isConnected:()=>qt,localName:()=>Yt,name:()=>on,namespaceURI:()=>Xt,nodeType:()=>Ut,ownerElement:()=>tr,parentNode:()=>Wt,prefix:()=>Zt,propertyEventListeners:()=>$t,tagName:()=>Jt,value:()=>An});const Ut=Symbol(`nodeType`),Wt=Symbol(`parentNode`),Gt=Symbol(`childNodesList`),Kt=Symbol(`elementChildren`),qt=Symbol(`isConnected`),Jt=Symbol(`tagName`),Yt=Symbol(`localName`),Xt=Symbol(`namespaceURI`),Zt=Symbol(`prefix`),Qt=Symbol(`attributes`),$t=Symbol(`propertyEventListeners`),on=Symbol(`name`),An=Symbol(`value`),tr=Symbol(`ownerElement`),rr={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11};var NodeList=class{constructor(e){this._items=e}get length(){return this._items.length}item(e){return this._items[e]??null}forEach(e,R){for(let W=0;W<this._items.length;W++)e.call(R,this._items[W],W,this)}entries(){return this._items.entries()}keys(){return this._items.keys()}values(){return this._items.values()}[Symbol.iterator](){return this._items[Symbol.iterator]()}get[Symbol.toStringTag](){return`NodeList`}};const ir={IndexSizeError:1,HierarchyRequestError:3,WrongDocumentError:4,InvalidCharacterError:5,NoModificationAllowedError:7,NotFoundError:8,NotSupportedError:9,InUseAttributeError:10,InvalidStateError:11,SyntaxError:12,InvalidModificationError:13,NamespaceError:14,InvalidAccessError:15,TypeMismatchError:17,SecurityError:18,NetworkError:19,AbortError:20,URLMismatchError:21,QuotaExceededError:22,TimeoutError:23,InvalidNodeTypeError:24,DataCloneError:25};var _DOMExceptionPolyfill=class extends Error{code;constructor(e,R){super(e),this.name=R||`Error`,this.code=Object.hasOwn(ir,this.name)?ir[this.name]:0}};const or=globalThis.DOMException===void 0?_DOMExceptionPolyfill:globalThis.DOMException;bt();const lr=Symbol(`type`),hr=Symbol(`bubbles`),gr=Symbol(`cancelable`),vr=Symbol(`composed`),Sr=Symbol(`target`),Tr=Symbol(`currentTarget`),Er=Symbol(`eventPhase`),kr=Symbol(`defaultPrevented`),jr=Symbol(`isTrusted`),Mr=Symbol(`timeStamp`),Nr=Symbol(`stop`),Fr=Symbol(`immediateStop`),Br=Symbol(`dispatching`),Vr=Symbol(`inPassiveListener`);var Event$1=class{static{__name$1(this,`Event`)}[lr];[hr];[gr];[vr];[Sr]=null;[Tr]=null;[Er]=0;[kr]=!1;[jr]=!1;[Mr];[Nr]=!1;[Fr]=!1;[Br]=!1;[Vr]=!1;get type(){return this[lr]}get bubbles(){return this[hr]}get cancelable(){return this[gr]}get composed(){return this[vr]}get target(){return this[Sr]}get currentTarget(){return this[Tr]}get eventPhase(){return this[Er]}get defaultPrevented(){return this[kr]}get timeStamp(){return this[Mr]}get cancelBubble(){return this[Nr]}set cancelBubble(e){e&&this.stopPropagation()}get returnValue(){return!this[kr]}set returnValue(e){e||this.preventDefault()}get srcElement(){return this[Sr]}static NONE=0;static CAPTURING_PHASE=1;static AT_TARGET=2;static BUBBLING_PHASE=3;get[Symbol.toStringTag](){return`Event`}constructor(e,R){this[lr]=e,this[hr]=R?.bubbles??!1,this[gr]=R?.cancelable??!1,this[vr]=R?.composed??!1,this[Mr]=Date.now(),Object.defineProperty(this,"isTrusted",{get:()=>this[jr],enumerable:!0,configurable:!1})}composedPath(){return this[Tr]?[this[Tr]]:[]}preventDefault(){this[gr]&&!this[Vr]&&(this[kr]=!0)}stopPropagation(){this[Nr]=!0}stopImmediatePropagation(){this[Nr]=!0,this[Fr]=!0}},CustomEvent=class extends Event$1{detail;constructor(e,R){super(e,R),this.detail=R?.detail}},MessageEvent=class extends Event$1{data;origin;lastEventId;source;ports;constructor(e,R){super(e,R),this.data=R?.data??null,this.origin=R?.origin??``,this.lastEventId=R?.lastEventId??``,this.source=R?.source??null,this.ports=R?.ports??[]}get[Symbol.toStringTag](){return`MessageEvent`}},ErrorEvent=class extends Event$1{message;filename;lineno;colno;error;constructor(e,R){super(e,R),this.message=R?.message??``,this.filename=R?.filename??``,this.lineno=R?.lineno??0,this.colno=R?.colno??0,this.error=R?.error??null}get[Symbol.toStringTag](){return`ErrorEvent`}},CloseEvent=class extends Event$1{code;reason;wasClean;constructor(e,R){super(e,R),this.code=R?.code??0,this.reason=R?.reason??``,this.wasClean=R?.wasClean??!1}get[Symbol.toStringTag](){return`CloseEvent`}},ProgressEvent$1=class extends Event$1{static{__name$1(this,`ProgressEvent`)}lengthComputable;loaded;total;constructor(e,R){super(e,R),this.lengthComputable=R?.lengthComputable??!1,this.loaded=R?.loaded??0,this.total=R?.total??0}get[Symbol.toStringTag](){return`ProgressEvent`}},EventTarget$1=class{static{__name$1(this,`EventTarget`)}_listeners=new Map;get[Symbol.toStringTag](){return`EventTarget`}addEventListener(e,R,W){if(R===null)return;let Y=typeof W==`boolean`?W:W?.capture??!1,X=typeof W==`object`?W?.once??!1:!1,ie=typeof W==`object`?W?.passive??!1:!1,ae=this._listeners.get(e);ae||(ae=[],this._listeners.set(e,ae));for(let e of ae)if(e.listener===R&&e.capture===Y)return;let le={listener:R,capture:Y,once:X,passive:ie,removed:!1};ae.push(le),typeof W==`object`&&W?.signal&&W.signal.addEventListener(`abort`,()=>{this.removeEventListener(e,R,{capture:Y})},{once:!0})}removeEventListener(e,R,W){if(R===null)return;let Y=typeof W==`boolean`?W:W?.capture??!1,X=this._listeners.get(e);if(!X)return;let ie=X.findIndex(e=>e.listener===R&&e.capture===Y);ie!==-1&&(X[ie].removed=!0,X.splice(ie,1),X.length===0&&this._listeners.delete(e))}dispatchEvent(e){let R=e;if(R[Br])throw new or(`The event is already being dispatched.`,`InvalidStateError`);R[Br]=!0,R[Sr]=this,R[Tr]=this,R[Er]=Event$1.AT_TARGET;let W=this._listeners.get(e.type);if(W){let Y=[...W];for(let W of Y)if(!W.removed){if(R[Fr]||R[Nr])break;W.once&&this.removeEventListener(e.type,W.listener,{capture:W.capture});try{W.passive&&(R[Vr]=!0),typeof W.listener==`function`?W.listener.call(this,e):typeof W.listener.handleEvent==`function`&&W.listener.handleEvent.call(W.listener,e)}catch(e){let R=globalThis;if(typeof R.reportError==`function`)try{R.reportError(e)}catch{}else if(e instanceof Error){let R=`${e.name}: ${e.message}`;yt.error(e.stack?`${R}\n${e.stack}`:R)}else yt.error(String(e))}finally{R[Vr]=!1}}}return R[Er]=Event$1.NONE,R[Tr]=null,R[Br]=!1,!e.defaultPrevented}};for(let[e,R]of[[`NONE`,0],[`CAPTURING_PHASE`,1],[`AT_TARGET`,2],[`BUBBLING_PHASE`,3]])Object.defineProperty(Event$1.prototype,e,{value:R,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(Event$1,e,{value:R,writable:!1,enumerable:!0,configurable:!1});var UIEvent=class extends Event$1{detail;view;constructor(e,R){super(e,R),this.detail=R?.detail??0,this.view=null}get[Symbol.toStringTag](){return`UIEvent`}},MouseEvent=class extends UIEvent{altKey;button;buttons;clientX;clientY;ctrlKey;metaKey;movementX;movementY;offsetX;offsetY;screenX;screenY;shiftKey;relatedTarget;get pageX(){return this.clientX}get pageY(){return this.clientY}get x(){return this.clientX}get y(){return this.clientY}constructor(e,R){super(e,R),this.altKey=R?.altKey??!1,this.button=R?.button??0,this.buttons=R?.buttons??0,this.clientX=R?.clientX??0,this.clientY=R?.clientY??0,this.ctrlKey=R?.ctrlKey??!1,this.metaKey=R?.metaKey??!1,this.movementX=R?.movementX??0,this.movementY=R?.movementY??0,this.offsetX=R?.offsetX??0,this.offsetY=R?.offsetY??0,this.screenX=R?.screenX??0,this.screenY=R?.screenY??0,this.shiftKey=R?.shiftKey??!1,this.relatedTarget=R?.relatedTarget??null}getModifierState(e){switch(e){case`Alt`:return this.altKey;case`Control`:return this.ctrlKey;case`Meta`:return this.metaKey;case`Shift`:return this.shiftKey;default:return!1}}get[Symbol.toStringTag](){return`MouseEvent`}},PointerEvent$1=class extends MouseEvent{static{__name$1(this,`PointerEvent`)}pointerId;width;height;pressure;tangentialPressure;tiltX;tiltY;twist;altitudeAngle;azimuthAngle;pointerType;isPrimary;constructor(e,R){super(e,R),this.pointerId=R?.pointerId??0,this.width=R?.width??1,this.height=R?.height??1,this.pressure=R?.pressure??0,this.tangentialPressure=R?.tangentialPressure??0,this.tiltX=R?.tiltX??0,this.tiltY=R?.tiltY??0,this.twist=R?.twist??0,this.altitudeAngle=R?.altitudeAngle??Math.PI/2,this.azimuthAngle=R?.azimuthAngle??0,this.pointerType=R?.pointerType??``,this.isPrimary=R?.isPrimary??!1}getCoalescedEvents(){return[]}getPredictedEvents(){return[]}get[Symbol.toStringTag](){return`PointerEvent`}},KeyboardEvent$1=class extends UIEvent{static{__name$1(this,`KeyboardEvent`)}altKey;code;ctrlKey;isComposing;key;location;metaKey;repeat;shiftKey;keyCode;which;static DOM_KEY_LOCATION_STANDARD=0;static DOM_KEY_LOCATION_LEFT=1;static DOM_KEY_LOCATION_RIGHT=2;static DOM_KEY_LOCATION_NUMPAD=3;constructor(e,R){super(e,R),this.altKey=R?.altKey??!1,this.code=R?.code??``,this.ctrlKey=R?.ctrlKey??!1,this.isComposing=R?.isComposing??!1,this.key=R?.key??``,this.location=R?.location??0,this.metaKey=R?.metaKey??!1,this.repeat=R?.repeat??!1,this.shiftKey=R?.shiftKey??!1,this.keyCode=R?.keyCode??0,this.which=R?.which??0}getModifierState(e){switch(e){case`Alt`:return this.altKey;case`Control`:return this.ctrlKey;case`Meta`:return this.metaKey;case`Shift`:return this.shiftKey;default:return!1}}get[Symbol.toStringTag](){return`KeyboardEvent`}},WheelEvent$1=class extends MouseEvent{static{__name$1(this,`WheelEvent`)}deltaX;deltaY;deltaZ;deltaMode;static DOM_DELTA_PIXEL=0;static DOM_DELTA_LINE=1;static DOM_DELTA_PAGE=2;constructor(e,R){super(e,R),this.deltaX=R?.deltaX??0,this.deltaY=R?.deltaY??0,this.deltaZ=R?.deltaZ??0,this.deltaMode=R?.deltaMode??0}get[Symbol.toStringTag](){return`WheelEvent`}},FocusEvent=class extends UIEvent{relatedTarget;constructor(e,R){super(e,R),this.relatedTarget=R?.relatedTarget??null}get[Symbol.toStringTag](){return`FocusEvent`}};let Hr,Ur,Zr,$r,ei;var ti=class Node extends EventTarget$1{constructor(...e){super(...e),this.ELEMENT_NODE=rr.ELEMENT_NODE,this.ATTRIBUTE_NODE=rr.ATTRIBUTE_NODE,this.TEXT_NODE=rr.TEXT_NODE,this.CDATA_SECTION_NODE=rr.CDATA_SECTION_NODE,this.PROCESSING_INSTRUCTION_NODE=rr.PROCESSING_INSTRUCTION_NODE,this.COMMENT_NODE=rr.COMMENT_NODE,this.DOCUMENT_NODE=rr.DOCUMENT_NODE,this.DOCUMENT_TYPE_NODE=rr.DOCUMENT_TYPE_NODE,this.DOCUMENT_FRAGMENT_NODE=rr.DOCUMENT_FRAGMENT_NODE,this[Hr]=rr.ELEMENT_NODE,this[Ur]=null,this[Zr]=[],this[$r]=[],this[ei]=!1}static{this.ELEMENT_NODE=rr.ELEMENT_NODE}static{this.ATTRIBUTE_NODE=rr.ATTRIBUTE_NODE}static{this.TEXT_NODE=rr.TEXT_NODE}static{this.CDATA_SECTION_NODE=rr.CDATA_SECTION_NODE}static{this.PROCESSING_INSTRUCTION_NODE=rr.PROCESSING_INSTRUCTION_NODE}static{this.COMMENT_NODE=rr.COMMENT_NODE}static{this.DOCUMENT_NODE=rr.DOCUMENT_NODE}static{this.DOCUMENT_TYPE_NODE=rr.DOCUMENT_TYPE_NODE}static{this.DOCUMENT_FRAGMENT_NODE=rr.DOCUMENT_FRAGMENT_NODE}static{this.DOCUMENT_POSITION_DISCONNECTED=1}static{this.DOCUMENT_POSITION_PRECEDING=2}static{this.DOCUMENT_POSITION_FOLLOWING=4}static{this.DOCUMENT_POSITION_CONTAINS=8}static{this.DOCUMENT_POSITION_CONTAINED_BY=16}static{this.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32}get nodeType(){return this[Ut]}get nodeName(){return``}get parentNode(){return this[Wt]}get parentElement(){let e=this[Wt];return e&&e[Ut]===rr.ELEMENT_NODE?e:null}get childNodes(){return new NodeList(this[Gt])}get firstChild(){return this[Gt][0]??null}get lastChild(){let e=this[Gt];return e[e.length-1]??null}get previousSibling(){let e=this[Wt];if(!e)return null;let R=e[Gt],W=R.indexOf(this);return W>0?R[W-1]:null}get nextSibling(){let e=this[Wt];if(!e)return null;let R=e[Gt],W=R.indexOf(this);return W!==-1&&W<R.length-1?R[W+1]:null}get textContent(){return null}set textContent(e){}get nodeValue(){return null}set nodeValue(e){}get ownerDocument(){let e=this;for(;e[Wt];)e=e[Wt];let R=globalThis.document;return e===R?R:null}get isConnected(){return this[qt]}hasChildNodes(){return this[Gt].length>0}contains(e){if(e===null)return!1;if(e===this)return!0;let R=e;for(;R;){if(R===this)return!0;R=R[Wt]}return!1}getRootNode(){let e=this;for(;e[Wt];)e=e[Wt];return e}appendChild(e){return e[Wt]&&e[Wt].removeChild(e),e[Wt]=this,this[Gt].push(e),e[Ut]===rr.ELEMENT_NODE&&this[Kt].push(e),e}removeChild(e){let R=this[Gt],W=R.indexOf(e);if(W===-1)throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`,`NotFoundError`);if(R.splice(W,1),e[Wt]=null,e[Ut]===rr.ELEMENT_NODE){let R=this[Kt].indexOf(e);R!==-1&&this[Kt].splice(R,1)}return e}insertBefore(e,R){if(R===null)return this.appendChild(e);let W=this[Gt],Y=W.indexOf(R);if(Y===-1)throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`,`NotFoundError`);if(e[Wt]&&e[Wt].removeChild(e),e[Wt]=this,W.splice(Y,0,e),e[Ut]===rr.ELEMENT_NODE){let R=this[Kt],X=R.length;for(let ie=Y;ie<W.length;ie++)if(W[ie][Ut]===rr.ELEMENT_NODE&&W[ie]!==e){X=R.indexOf(W[ie]);break}R.splice(X,0,e)}return e}replaceChild(e,R){return this.insertBefore(e,R),this.removeChild(R),R}cloneNode(e=!1){let R=new this.constructor;if(R[Ut]=this[Ut],e)for(let e of this[Gt])R.appendChild(e.cloneNode(!0));return R}dispatchEvent(e){let R=super.dispatchEvent(e);if(e.bubbles&&!e.cancelBubble){let R=this[Wt];for(;R&&(Object.getPrototypeOf(Node.prototype).dispatchEvent.call(R,e),!e.cancelBubble);)R=R[Wt]}return R}get[(Hr=Ut,Ur=Wt,Zr=Gt,$r=Kt,ei=qt,Symbol.toStringTag)](){return`Node`}};const ni={html:`http://www.w3.org/1999/xhtml`,svg:`http://www.w3.org/2000/svg`,mathML:`http://www.w3.org/1998/Math/MathML`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};var Attr=class{constructor(e,R,W=null,Y=null,X=null){this.specified=!0,this[on]=e,this[An]=R,this[tr]=X,this.namespaceURI=W,this.prefix=Y;let ie=e.indexOf(`:`);this.localName=ie===-1?e:e.slice(ie+1)}get name(){return this[on]}get value(){return this[An]}set value(e){this[An]=e}get ownerElement(){return this[tr]}get[Symbol.toStringTag](){return`Attr`}},NamedNodeMap=class{constructor(e){this._items=[],this._ownerElement=e}get length(){return this._items.length}item(e){return this._items[e]??null}getNamedItem(e){return this._findByName(e)}getNamedItemNS(e,R){let W=e===``?null:e;for(let e of this._items)if(e.namespaceURI===W&&e.localName===R)return e;return null}setNamedItem(e){return this._setAttr(e)}setNamedItemNS(e){return this._setAttr(e)}removeNamedItem(e){let R=this._findByName(e);if(!R)throw new DOMException(`Failed to execute 'removeNamedItem' on 'NamedNodeMap': No item with name '${e}' was found.`,`NotFoundError`);return this._removeAttr(R),R}removeNamedItemNS(e,R){let W=this.getNamedItemNS(e,R);if(!W)throw new DOMException(`Failed to execute 'removeNamedItemNS' on 'NamedNodeMap': No item with namespace '${e}' and localName '${R}' was found.`,`NotFoundError`);return this._removeAttr(W),W}[Symbol.iterator](){return this._items[Symbol.iterator]()}get[Symbol.toStringTag](){return`NamedNodeMap`}_setNamedItem(e,R,W=null,Y=null){let X=W===null?this._findByName(e):this.getNamedItemNS(W,e.includes(`:`)?e.split(`:`)[1]:e);if(X)X.value=R;else{let X=new Attr(e,R,W,Y,this._ownerElement);this._items.push(X)}}_removeNamedItem(e){let R=this._findByName(e);return R?(this._removeAttr(R),!0):!1}_removeNamedItemNS(e,R){let W=this.getNamedItemNS(e,R);return W?(this._removeAttr(W),!0):!1}_findByName(e){let R=this._ownerElement.namespaceURI===ni.html,W=R?e.toLowerCase():e;for(let e of this._items)if((R?e.name.toLowerCase():e.name)===W)return e;return null}_setAttr(e){let R=null;if(R=e.namespaceURI===null?this._findByName(e.name):this.getNamedItemNS(e.namespaceURI,e.localName),R){let W=new Attr(R.name,R.value,R.namespaceURI,R.prefix,R.ownerElement);return R.value=e.value,W}return this._items.push(e),null}_removeAttr(e){let R=this._items.indexOf(e);R!==-1&&this._items.splice(R,1)}};bt();let ii,si,ci,fi,pi,mi;var Element=class extends ti{constructor(){super(),this[ii]=``,this[si]=``,this[ci]=ni.html,this[fi]=null,this[pi]=new NamedNodeMap(this),this[mi]=new Map,this._resizeSubscribers=null,this._allocatedClientWidth=0,this._allocatedClientHeight=0,this._pointerCaptures=new Set,this[Ut]=rr.ELEMENT_NODE}get tagName(){return this[Jt]}get localName(){return this[Yt]}get namespaceURI(){return this[Xt]}get prefix(){return this[Zt]}get nodeName(){return this[Jt]}get attributes(){return this[Qt]}get id(){return this.getAttribute(`id`)??``}set id(e){this.setAttribute(`id`,e)}get className(){return this.getAttribute(`class`)??``}set className(e){this.setAttribute(`class`,e)}get children(){return this[Kt]}get childElementCount(){return this[Kt].length}get firstElementChild(){return this[Kt][0]??null}get lastElementChild(){let e=this[Kt];return e[e.length-1]??null}get previousElementSibling(){let e=this[Wt];if(!e)return null;let R=e[Kt],W=R.indexOf(this);return W>0?R[W-1]:null}get nextElementSibling(){let e=this[Wt];if(!e)return null;let R=e[Kt],W=R.indexOf(this);return W!==-1&&W<R.length-1?R[W+1]:null}get textContent(){let e=``;for(let R of this[Gt])R.textContent!==null&&(e+=R.textContent);return e}set textContent(e){let R=this[Gt];for(;R.length>0;)this.removeChild(R[0])}getAttribute(e){let R=this[Qt].getNamedItem(e);return R?R.value:null}getAttributeNS(e,R){let W=this[Qt].getNamedItemNS(e,R);return W?W.value:null}setAttribute(e,R){this[Qt]._setNamedItem(e,String(R))}setAttributeNS(e,R,W){let Y=e===``?null:e,X=R.split(`:`),ie=X.length>1?X[0]:null;this[Qt]._setNamedItem(R,String(W),Y,ie)}removeAttribute(e){this[Qt]._removeNamedItem(e)}removeAttributeNS(e,R){let W=e===``?null:e;this[Qt]._removeNamedItemNS(W,R)}hasAttribute(e){return this[Qt].getNamedItem(e)!==null}hasAttributeNS(e,R){return this[Qt].getNamedItemNS(e,R)!==null}getAttributeNode(e){return this[Qt].getNamedItem(e)}setAttributeNode(e){return this[Qt].setNamedItem(e)}removeAttributeNode(e){let R=this[Qt].getNamedItem(e.name);if(!R)throw new DOMException(`Failed to execute 'removeAttributeNode' on 'Element': The attribute is not owned by this element.`,`NotFoundError`);return this[Qt].removeNamedItem(R.name),R}toggleAttribute(e,R){return R===void 0?this.hasAttribute(e)?(this.removeAttribute(e),!1):(this.setAttribute(e,``),!0):R?(this.setAttribute(e,``),!0):(this.removeAttribute(e),!1)}hasAttributes(){return this[Qt].length>0}dispatchEvent(e){let R=super.dispatchEvent(e),W=this[$t].get(`on`+e.type);return typeof W==`function`&&W.call(this,e),R}querySelector(e){return null}querySelectorAll(e){return[]}matches(e){return!1}closest(e){return null}getElementsByTagName(e){let R=[],W=e.toUpperCase(),walk=Y=>{for(let X of Y[Gt])if(X[Ut]===rr.ELEMENT_NODE){let Y=X;(e===`*`||Y[Jt]===W)&&R.push(Y),walk(Y)}};return walk(this),R}getElementsByClassName(e){let R=[],W=e.split(/\s+/).filter(Boolean),walk=e=>{for(let Y of e[Gt])if(Y[Ut]===rr.ELEMENT_NODE){let e=Y,X=e.className.split(/\s+/);W.every(e=>X.includes(e))&&R.push(e),walk(e)}};return walk(this),R}cloneNode(e=!1){let R=super.cloneNode(!1);R[Jt]=this[Jt],R[Yt]=this[Yt],R[Xt]=this[Xt],R[Zt]=this[Zt];for(let e of this[Qt])R.setAttributeNS(e.namespaceURI,e.name,e.value);if(e)for(let e of this[Gt])R.appendChild(e.cloneNode(!0));return R}_onResize(e){let R=this._resizeSubscribers??=new Set;return R.add(e),()=>{R.delete(e),R.size===0&&(this._resizeSubscribers=null)}}_fireResizeSubscribers(e,R){let W=this._resizeSubscribers;if(!(!W||W.size===0))for(let Y of[...W])try{Y(e,R)}catch(e){yt.error(`ResizeObserver subscriber threw:`,e)}}setPointerCapture(e){this._pointerCaptures.add(e)}releasePointerCapture(e){this._pointerCaptures.delete(e)}hasPointerCapture(e){return this._pointerCaptures.has(e)}get[(ii=Jt,si=Yt,ci=Xt,fi=Zt,pi=Qt,mi=$t,Symbol.toStringTag)](){return`Element`}},CSSStyleDeclaration=class{constructor(){this._cssText=``}get cssText(){return this._cssText}set cssText(e){this._cssText=e;for(let R of e.split(`;`)){let e=R.indexOf(`:`);if(e===-1)continue;let W=R.slice(0,e).trim(),Y=R.slice(e+1).trim();if(!W)continue;let X=W.replace(/-([a-z])/g,(e,R)=>R.toUpperCase());this[X]=Y}}setProperty(e,R,W){this[e]=R}getPropertyValue(e){let R=this[e];return typeof R==`string`?R:``}removeProperty(e){let R=this[e];return delete this[e],typeof R==`string`?R:``}getPropertyPriority(e){return``}},HTMLElement$1=class extends Element{static{__name$1(this,`HTMLElement`)}constructor(...e){super(...e),this.style=new CSSStyleDeclaration}get dataset(){let e=this;return new Proxy({},{get(R,W){if(typeof W!=`string`)return;let Y=`data-`+W.replace(/[A-Z]/g,e=>`-`+e.toLowerCase());return e.getAttribute(Y)??void 0},set(R,W,Y){if(typeof W!=`string`)return!1;let X=`data-`+W.replace(/[A-Z]/g,e=>`-`+e.toLowerCase());return e.setAttribute(X,String(Y)),!0},deleteProperty(R,W){if(typeof W!=`string`)return!1;let Y=`data-`+W.replace(/[A-Z]/g,e=>`-`+e.toLowerCase());return e.removeAttribute(Y),!0},has(R,W){if(typeof W!=`string`)return!1;let Y=`data-`+W.replace(/[A-Z]/g,e=>`-`+e.toLowerCase());return e.hasAttribute(Y)}})}get title(){return this.getAttribute(`title`)??``}set title(e){this.setAttribute(`title`,e)}get lang(){return this.getAttribute(`lang`)??``}set lang(e){this.setAttribute(`lang`,e)}get dir(){return this.getAttribute(`dir`)??``}set dir(e){this.setAttribute(`dir`,e)}get accessKey(){return this.getAttribute(`accesskey`)??``}set accessKey(e){this.setAttribute(`accesskey`,e)}get accessKeyLabel(){return this.getAttribute(`accesskey`)??``}get hidden(){return this.hasAttribute(`hidden`)}set hidden(e){e?this.setAttribute(`hidden`,``):this.removeAttribute(`hidden`)}get draggable(){return this.getAttribute(`draggable`)===`true`}set draggable(e){this.setAttribute(`draggable`,String(e))}get spellcheck(){let e=this.getAttribute(`spellcheck`);return e===`false`?!1:e!==null}set spellcheck(e){this.setAttribute(`spellcheck`,String(e))}get translate(){return this.getAttribute(`translate`)!==`no`}set translate(e){this.setAttribute(`translate`,e?`yes`:`no`)}get tabIndex(){let e=this.getAttribute(`tabindex`);return e===null?-1:Number(e)}set tabIndex(e){this.setAttribute(`tabindex`,String(e))}get contentEditable(){let e=this.getAttribute(`contenteditable`);return e===``||e===`true`?`true`:e===`false`?`false`:`inherit`}set contentEditable(e){e===`inherit`?this.removeAttribute(`contenteditable`):this.setAttribute(`contenteditable`,e)}get isContentEditable(){return this.contentEditable===`true`}get offsetHeight(){return this._allocatedClientHeight}get offsetWidth(){return this._allocatedClientWidth}get offsetLeft(){return 0}get offsetTop(){return 0}get offsetParent(){return null}get clientHeight(){return this._allocatedClientHeight}get clientWidth(){return this._allocatedClientWidth}get clientLeft(){return 0}get clientTop(){return 0}get scrollHeight(){return this._allocatedClientHeight}get scrollWidth(){return this._allocatedClientWidth}get scrollTop(){return 0}set scrollTop(e){}get scrollLeft(){return 0}set scrollLeft(e){}getBoundingClientRect(){let e=this.clientWidth,R=this.clientHeight;return{x:0,y:0,top:0,left:0,right:e,bottom:R,width:e,height:R,toJSON(){return this}}}click(){this.dispatchEvent(new Event$1(`click`,{bubbles:!0,cancelable:!0}))}blur(){this.dispatchEvent(new Event$1(`blur`))}focus(){this.dispatchEvent(new Event$1(`focus`))}get onclick(){return this[$t].get(`onclick`)??null}set onclick(e){this[$t].set(`onclick`,e)}get ondblclick(){return this[$t].get(`ondblclick`)??null}set ondblclick(e){this[$t].set(`ondblclick`,e)}get onload(){return this[$t].get(`onload`)??null}set onload(e){this[$t].set(`onload`,e)}get onerror(){return this[$t].get(`onerror`)??null}set onerror(e){this[$t].set(`onerror`,e)}get onabort(){return this[$t].get(`onabort`)??null}set onabort(e){this[$t].set(`onabort`,e)}get onfocus(){return this[$t].get(`onfocus`)??null}set onfocus(e){this[$t].set(`onfocus`,e)}get onblur(){return this[$t].get(`onblur`)??null}set onblur(e){this[$t].set(`onblur`,e)}get onchange(){return this[$t].get(`onchange`)??null}set onchange(e){this[$t].set(`onchange`,e)}get oninput(){return this[$t].get(`oninput`)??null}set oninput(e){this[$t].set(`oninput`,e)}get onsubmit(){return this[$t].get(`onsubmit`)??null}get onreset(){return this[$t].get(`onreset`)??null}set onreset(e){this[$t].set(`onreset`,e)}get onscroll(){return this[$t].get(`onscroll`)??null}set onscroll(e){this[$t].set(`onscroll`,e)}get onresize(){return this[$t].get(`onresize`)??null}set onresize(e){this[$t].set(`onresize`,e)}get onmousedown(){return this[$t].get(`onmousedown`)??null}set onmousedown(e){this[$t].set(`onmousedown`,e)}get onmouseup(){return this[$t].get(`onmouseup`)??null}set onmouseup(e){this[$t].set(`onmouseup`,e)}get onmousemove(){return this[$t].get(`onmousemove`)??null}set onmousemove(e){this[$t].set(`onmousemove`,e)}get onmouseover(){return this[$t].get(`onmouseover`)??null}set onmouseover(e){this[$t].set(`onmouseover`,e)}get onmouseout(){return this[$t].get(`onmouseout`)??null}set onmouseout(e){this[$t].set(`onmouseout`,e)}get onmouseenter(){return this[$t].get(`onmouseenter`)??null}set onmouseenter(e){this[$t].set(`onmouseenter`,e)}get onmouseleave(){return this[$t].get(`onmouseleave`)??null}set onmouseleave(e){this[$t].set(`onmouseleave`,e)}get oncontextmenu(){return this[$t].get(`oncontextmenu`)??null}set oncontextmenu(e){this[$t].set(`oncontextmenu`,e)}get onwheel(){return this[$t].get(`onwheel`)??null}set onwheel(e){this[$t].set(`onwheel`,e)}get onkeydown(){return this[$t].get(`onkeydown`)??null}set onkeydown(e){this[$t].set(`onkeydown`,e)}get onkeyup(){return this[$t].get(`onkeyup`)??null}set onkeyup(e){this[$t].set(`onkeyup`,e)}get ontouchstart(){return this[$t].get(`ontouchstart`)??null}set ontouchstart(e){this[$t].set(`ontouchstart`,e)}get ontouchend(){return this[$t].get(`ontouchend`)??null}set ontouchend(e){this[$t].set(`ontouchend`,e)}get ontouchmove(){return this[$t].get(`ontouchmove`)??null}set ontouchmove(e){this[$t].set(`ontouchmove`,e)}get onpointerdown(){return this[$t].get(`onpointerdown`)??null}set onpointerdown(e){this[$t].set(`onpointerdown`,e)}get onpointerup(){return this[$t].get(`onpointerup`)??null}set onpointerup(e){this[$t].set(`onpointerup`,e)}get onpointermove(){return this[$t].get(`onpointermove`)??null}set onpointermove(e){this[$t].set(`onpointermove`,e)}cloneNode(e=!1){return super.cloneNode(e)}get[Symbol.toStringTag](){return`HTMLElement`}},hi=class HTMLCanvasElement extends HTMLElement$1{constructor(...e){super(...e),this.oncontextlost=null,this.oncontextrestored=null,this.onwebglcontextcreationerror=null,this.onwebglcontextlost=null,this.onwebglcontextrestored=null}static{this._contextFactories=new Map}static registerContextFactory(e,R){HTMLCanvasElement._contextFactories.set(e,R)}get width(){let e=this.getAttribute(`width`);return e===null?300:Number(e)}set width(e){this.setAttribute(`width`,String(e))}get height(){let e=this.getAttribute(`height`);return e===null?150:Number(e)}set height(e){this.setAttribute(`height`,String(e))}getContext(e,R){let W=HTMLCanvasElement._contextFactories.get(e);return W?W(this,R):null}toDataURL(e,R){let W=this.getContext(`2d`);return W&&typeof W._toDataURL==`function`?W._toDataURL(e,R):``}toBlob(e,R,W){let Y=this.toDataURL(R,W);if(!Y){e(null);return}let[X,ie]=Y.split(`,`),ae=X.split(`:`)[1].split(`;`)[0],le=atob(ie),_e=new Uint8Array(le.length);for(let e=0;e<le.length;e++)_e[e]=le.charCodeAt(e);e(new Blob([_e],{type:ae}))}captureStream(e){return{}}},gi=class DOMMatrix{constructor(e){this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0,this.m11=1,this.m12=0,this.m13=0,this.m14=0,this.m21=0,this.m22=1,this.m23=0,this.m24=0,this.m31=0,this.m32=0,this.m33=1,this.m34=0,this.m41=0,this.m42=0,this.m43=0,this.m44=1,this.is2D=!0,this.isIdentity=!0,Array.isArray(e)&&(e.length===6?(this.a=this.m11=e[0],this.b=this.m12=e[1],this.c=this.m21=e[2],this.d=this.m22=e[3],this.e=this.m41=e[4],this.f=this.m42=e[5],this.is2D=!0):e.length===16&&(this.m11=e[0],this.m12=e[1],this.m13=e[2],this.m14=e[3],this.m21=e[4],this.m22=e[5],this.m23=e[6],this.m24=e[7],this.m31=e[8],this.m32=e[9],this.m33=e[10],this.m34=e[11],this.m41=e[12],this.m42=e[13],this.m43=e[14],this.m44=e[15],this.a=this.m11,this.b=this.m12,this.c=this.m21,this.d=this.m22,this.e=this.m41,this.f=this.m42,this.is2D=!1),this.isIdentity=this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.e===0&&this.f===0)}multiply(e){return new DOMMatrix([this.a*e.a+this.c*e.b,this.b*e.a+this.d*e.b,this.a*e.c+this.c*e.d,this.b*e.c+this.d*e.d,this.a*e.e+this.c*e.f+this.e,this.b*e.e+this.d*e.f+this.f])}multiplySelf(e){let R=this.multiply(e);return this.a=R.a,this.b=R.b,this.c=R.c,this.d=R.d,this.e=R.e,this.f=R.f,this.m11=this.a,this.m12=this.b,this.m21=this.c,this.m22=this.d,this.m41=this.e,this.m42=this.f,this.isIdentity=!1,this}inverse(){let e=this.a*this.d-this.b*this.c;if(e===0)return new DOMMatrix([1,0,0,1,0,0]);let R=1/e;return new DOMMatrix([this.d*R,-this.b*R,-this.c*R,this.a*R,(this.c*this.f-this.d*this.e)*R,(this.b*this.e-this.a*this.f)*R])}translate(e=0,R=0){return this.multiply({a:1,b:0,c:0,d:1,e,f:R})}scale(e=1,R=e){return this.multiply({a:e,b:0,c:0,d:R,e:0,f:0})}};const _i=gi;function defineGlobal(e,R){Object.defineProperty(globalThis,e,{value:R,writable:!0,configurable:!0})}function defineGlobalIfMissing(e,R){globalThis[e]===void 0&&defineGlobal(e,R)}const yi={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`,transparent:`#00000000`};function parseColor(e){if(!e||typeof e!=`string`)return null;let R=e.trim().toLowerCase(),W=yi[R];if(W)return parseHex(W);if(R.startsWith(`#`))return parseHex(R);let Y=R.match(/^rgba?\(\s*(\d+(?:\.\d+)?%?)\s*[,\s]\s*(\d+(?:\.\d+)?%?)\s*[,\s]\s*(\d+(?:\.\d+)?%?)\s*(?:[,/]\s*(\d+(?:\.\d+)?%?))?\s*\)$/);if(Y)return{r:parseComponent(Y[1],255)/255,g:parseComponent(Y[2],255)/255,b:parseComponent(Y[3],255)/255,a:Y[4]===void 0?1:parseComponent(Y[4],1)};let X=R.match(/^hsla?\(\s*(\d+(?:\.\d+)?)\s*[,\s]\s*(\d+(?:\.\d+)?)(%)?\s*[,\s]\s*(\d+(?:\.\d+)?)(%)?\s*(?:[,/]\s*(\d+(?:\.\d+)?%?))?\s*\)$/);if(X){let e=parseFloat(X[1]),R=parseFloat(X[2]),W=X[3]===`%`,Y=parseFloat(X[4]),ie=X[5]===`%`,ae=X[6]===void 0?1:parseComponent(X[6],1);return e>1&&(e/=360),(W||R>1)&&(R/=100),(ie||Y>1)&&(Y/=100),hslToRGBA(e,R,Y,Math.max(0,Math.min(1,ae)))}return null}function parseHex(e){let R=e.slice(1),W,Y,X,ie=1;if(R.length===3)W=parseInt(R[0]+R[0],16)/255,Y=parseInt(R[1]+R[1],16)/255,X=parseInt(R[2]+R[2],16)/255;else if(R.length===4)W=parseInt(R[0]+R[0],16)/255,Y=parseInt(R[1]+R[1],16)/255,X=parseInt(R[2]+R[2],16)/255,ie=parseInt(R[3]+R[3],16)/255;else if(R.length===6)W=parseInt(R.slice(0,2),16)/255,Y=parseInt(R.slice(2,4),16)/255,X=parseInt(R.slice(4,6),16)/255;else if(R.length===8)W=parseInt(R.slice(0,2),16)/255,Y=parseInt(R.slice(2,4),16)/255,X=parseInt(R.slice(4,6),16)/255,ie=parseInt(R.slice(6,8),16)/255;else return null;return{r:W,g:Y,b:X,a:ie}}function parseComponent(e,R){return e.endsWith(`%`)?parseFloat(e)/100*R:parseFloat(e)}function hue2rgb(e,R,W){return W<0&&(W+=1),W>1&&--W,W<1/6?e+(R-e)*6*W:W<1/2?R:W<2/3?e+(R-e)*(2/3-W)*6:e}function hslToRGBA(e,R,W,Y){let X,ie,ae;if(R===0)X=ie=ae=W;else{let Y=W<.5?W*(1+R):W+R-W*R,le=2*W-Y;X=hue2rgb(le,Y,e+1/3),ie=hue2rgb(le,Y,e),ae=hue2rgb(le,Y,e-1/3)}return{r:X,g:ie,b:ae,a:Y}}const bi={r:0,g:0,b:0,a:1};var CanvasGradient=class{constructor(e,R,Y,X,ie,ae,le){e===`radial`?this._pattern=new W.RadialGradient(R,Y,ae,X,ie,le):this._pattern=new W.LinearGradient(R,Y,X,ie)}addColorStop(e,R){let W=parseColor(R);W&&this._pattern.addColorStopRGBA(e,W.r,W.g,W.b,W.a)}_getCairoPattern(){return this._pattern}};function quadraticToCubic(e,R,W,Y,X,ie){return{cp1x:e+2/3*(W-e),cp1y:R+2/3*(Y-R),cp2x:X+2/3*(W-X),cp2y:ie+2/3*(Y-ie)}}function computeArcTo(e,R,W,Y,X,ie,ae){let le=e-W,_e=R-Y,ye=X-W,be=ie-Y,Ce=Math.sqrt(le*le+_e*_e),Te=Math.sqrt(ye*ye+be*be);if(Ce===0||Te===0)return null;let Oe=le/Ce,Ae=_e/Ce,Me=ye/Te,Pe=be/Te,Re=Oe*Pe-Ae*Me;if(Math.abs(Re)<1e-10)return null;let Be=Oe*Me+Ae*Pe,Ve=Math.acos(Math.max(-1,Math.min(1,Be)))/2,He=ae/Math.tan(Ve),Ue=W+Oe*He,We=Y+Ae*He,Ge=W+Me*He,Ke=Y+Pe*He,qe=ae/Math.sin(Ve),Je=(Oe+Me)/2,Ye=(Ae+Pe)/2,Xe=Math.sqrt(Je*Je+Ye*Ye),Ze=W+Je/Xe*qe,Qe=Y+Ye/Xe*qe;return{tx0:Ue,ty0:We,tx1:Ge,ty1:Ke,cx:Ze,cy:Qe,startAngle:Math.atan2(We-Qe,Ue-Ze),endAngle:Math.atan2(Ke-Qe,Ge-Ze),counterclockwise:Re>0}}function cairoArcTo(e,R,W,Y,X,ie,ae,le){let _e=computeArcTo(R,W,Y,X,ie,ae,le);if(!_e){e.lineTo(Y,X);return}let{tx0:ye,ty0:be,cx:Ce,cy:Te,startAngle:Oe,endAngle:Ae,counterclockwise:Me}=_e;e.lineTo(ye,be),Me?e.arcNegative(Ce,Te,le,Oe,Ae):e.arc(Ce,Te,le,Oe,Ae)}function cairoEllipse(e,R,W,Y,X,ie,ae,le,_e){e.save(),e.translate(R,W),e.rotate(ie),e.scale(Y,X),_e?e.arcNegative(0,0,1,ae,le):e.arc(0,0,1,ae,le),e.restore()}function cairoRoundRect(e,R,W,Y,X,ie){let ae,le,_e,ye;typeof ie==`number`?ae=le=_e=ye=ie:ie.length===1?ae=le=_e=ye=ie[0]:ie.length===2?(ae=_e=ie[0],le=ye=ie[1]):ie.length===3?(ae=ie[0],le=ye=ie[1],_e=ie[2]):(ae=ie[0],le=ie[1],_e=ie[2],ye=ie[3]);let be=Math.min(Y/2,X/2);ae=Math.min(ae,be),le=Math.min(le,be),_e=Math.min(_e,be),ye=Math.min(ye,be);let Ce=Math.PI/2;e.newSubPath(),e.arc(R+ae,W+ae,ae,Math.PI,Math.PI+Ce),e.arc(R+Y-le,W+le,le,-Ce,0),e.arc(R+Y-_e,W+X-_e,_e,0,Ce),e.arc(R+ye,W+X-ye,ye,Ce,Math.PI),e.closePath()}const Si={"source-over":2,"source-in":3,"source-out":4,"source-atop":5,"destination-over":7,"destination-in":8,"destination-out":9,"destination-atop":10,lighter:12,copy:1,xor:11,multiply:14,screen:15,overlay:16,darken:17,lighten:18,"color-dodge":19,"color-burn":20,"hard-light":21,"soft-light":22,difference:23,exclusion:24,hue:25,saturation:26,color:27,luminosity:28},Ti={butt:0,round:1,square:2},Ei={miter:0,round:1,bevel:2};var Di=class Path2D{constructor(e){this._ops=[],e instanceof Path2D&&(this._ops=[...e._ops])}addPath(e){this._ops.push(...e._ops)}moveTo(e,R){this._ops.push({type:`moveTo`,x:e,y:R})}lineTo(e,R){this._ops.push({type:`lineTo`,x:e,y:R})}closePath(){this._ops.push({type:`closePath`})}bezierCurveTo(e,R,W,Y,X,ie){this._ops.push({type:`bezierCurveTo`,cp1x:e,cp1y:R,cp2x:W,cp2y:Y,x:X,y:ie})}quadraticCurveTo(e,R,W,Y){this._ops.push({type:`quadraticCurveTo`,cpx:e,cpy:R,x:W,y:Y})}arc(e,R,W,Y,X,ie=!1){this._ops.push({type:`arc`,x:e,y:R,radius:W,startAngle:Y,endAngle:X,ccw:ie})}ellipse(e,R,W,Y,X,ie,ae,le=!1){if(W<0||Y<0)throw RangeError(`The radii provided are negative`);this._ops.push({type:`ellipse`,x:e,y:R,rx:W,ry:Y,rotation:X,startAngle:ie,endAngle:ae,ccw:le})}rect(e,R,W,Y){this._ops.push({type:`rect`,x:e,y:R,w:W,h:Y})}roundRect(e,R,W,Y,X=0){this._ops.push({type:`roundRect`,x:e,y:R,w:W,h:Y,radii:X})}_replayOnCairo(e){let R=0,W=0;for(let Y of this._ops)switch(Y.type){case`moveTo`:e.moveTo(Y.x,Y.y),R=Y.x,W=Y.y;break;case`lineTo`:e.lineTo(Y.x,Y.y),R=Y.x,W=Y.y;break;case`closePath`:e.closePath();break;case`bezierCurveTo`:e.curveTo(Y.cp1x,Y.cp1y,Y.cp2x,Y.cp2y,Y.x,Y.y),R=Y.x,W=Y.y;break;case`quadraticCurveTo`:{let{cp1x:X,cp1y:ie,cp2x:ae,cp2y:le}=quadraticToCubic(R,W,Y.cpx,Y.cpy,Y.x,Y.y);e.curveTo(X,ie,ae,le,Y.x,Y.y),R=Y.x,W=Y.y;break}case`arc`:Y.ccw?e.arcNegative(Y.x,Y.y,Y.radius,Y.startAngle,Y.endAngle):e.arc(Y.x,Y.y,Y.radius,Y.startAngle,Y.endAngle);break;case`ellipse`:e.save(),e.translate(Y.x,Y.y),e.rotate(Y.rotation),e.scale(Y.rx,Y.ry),Y.ccw?e.arcNegative(0,0,1,Y.startAngle,Y.endAngle):e.arc(0,0,1,Y.startAngle,Y.endAngle),e.restore();break;case`rect`:e.rectangle(Y.x,Y.y,Y.w,Y.h);break;case`roundRect`:cairoRoundRect(e,Y.x,Y.y,Y.w,Y.h,Y.radii);break}}};function asCairoPattern(e){if(!e)return null;let R=e;return typeof R.setFilter!=`function`||typeof R.setExtend!=`function`?null:R}function isPixbufImageSource(e){return typeof e!=`object`||!e?!1:typeof e.isPixbuf==`function`&&e.isPixbuf()}function isCanvasImageSource(e){return typeof e!=`object`||!e?!1:typeof e.getContext==`function`}var Oi=class CanvasPattern{constructor(e,R){let Y=asCairoPattern(new W.SurfacePattern(e));if(!Y)throw TypeError(`CanvasPattern: cairo SurfacePattern is missing setExtend at runtime — incompatible Cairo binding`);switch(this._pattern=Y,R){case`repeat`:case``:case null:Y.setExtend(W.Extend.REPEAT);break;case`repeat-x`:case`repeat-y`:Y.setExtend(W.Extend.REPEAT);break;case`no-repeat`:Y.setExtend(W.Extend.NONE);break}}static create(e,R){if(isPixbufImageSource(e)){let X=e._pixbuf,ie=X.get_width(),ae=X.get_height(),le=new W.ImageSurface(W.Format.ARGB32,ie,ae),_e=new W.Context(le);return Y.cairo_set_source_pixbuf(_e,X,0,0),_e.paint(),_e.$dispose(),new CanvasPattern(le,R)}if(isCanvasImageSource(e)){let Y=e.getContext(`2d`);if(Y&&typeof Y._getSurface==`function`){let e=Y._getSurface(),X=e.getWidth(),ie=e.getHeight(),ae=new W.ImageSurface(W.Format.ARGB32,X,ie),le=new W.Context(ae);return le.setSourceSurface(e,0,0),le.paint(),le.$dispose(),new CanvasPattern(ae,R)}}return null}_getCairoPattern(){return this._pattern}},OurImageData=class{constructor(e,R,W){if(this.colorSpace=`srgb`,typeof e==`number`)this.width=e,this.height=R,this.data=new Uint8ClampedArray(this.width*this.height*4);else if(this.data=e,this.width=R,this.height=W??this.data.length/(4*this.width),this.data.length!==this.width*this.height*4)throw RangeError(`Source data length ${this.data.length} is not a multiple of (4 * width=${this.width})`)}};const ki={translate(e,R){this._ensureSurface(),this._ctx.translate(e,R)},rotate(e){this._ensureSurface(),this._ctx.rotate(e)},scale(e,R){this._ensureSurface(),this._ctx.scale(e,R)},transform(e,R,W,Y,X,ie){if(this._ensureSurface(),!Number.isFinite(e)||!Number.isFinite(R)||!Number.isFinite(W)||!Number.isFinite(Y)||!Number.isFinite(X)||!Number.isFinite(ie))return;let ae=X,le=ie,_e=Math.hypot(e,R),ye=Math.hypot(W,Y),be=Math.atan2(R,e);this._ctx.translate(ae,le),be!==0&&this._ctx.rotate(be),(_e!==1||ye!==1)&&this._ctx.scale(_e,ye)},setTransform(e,R,W,Y,X,ie){if(this._ensureSurface(),typeof e==`object`&&e){let R=e;this._ctx.identityMatrix(),this.transform(R.a??R.m11??1,R.b??R.m12??0,R.c??R.m21??0,R.d??R.m22??1,R.e??R.m41??0,R.f??R.m42??0)}else typeof e==`number`?(this._ctx.identityMatrix(),this.transform(e,R,W,Y,X,ie)):this._ctx.identityMatrix()},getTransform(){let e=this._ctx.userToDevice(0,0),R=this._ctx.userToDevice(1,0),W=this._ctx.userToDevice(0,1),Y=e[0]??0,X=e[1]??0,ie=(R[0]??0)-Y,ae=(R[1]??0)-X,le=(W[0]??0)-Y,_e=(W[1]??0)-X,ye=globalThis.DOMMatrix;return typeof ye==`function`?new ye([ie,ae,le,_e,Y,X]):{a:ie,b:ae,c:le,d:_e,e:Y,f:X,m11:ie,m12:ae,m13:0,m14:0,m21:le,m22:_e,m23:0,m24:0,m31:0,m32:0,m33:1,m34:0,m41:Y,m42:X,m43:0,m44:1,is2D:!0,isIdentity:ie===1&&ae===0&&le===0&&_e===1&&Y===0&&X===0}},resetTransform(){this._ensureSurface(),this._ctx.identityMatrix()}};function installTransformMethods(e){Object.assign(e,ki)}const Ai={beginPath(){this._ensureSurface(),this._ctx.newPath()},moveTo(e,R){this._ensureSurface(),this._ctx.moveTo(e,R)},lineTo(e,R){this._ensureSurface(),this._ctx.lineTo(e,R)},closePath(){this._ensureSurface(),this._ctx.closePath()},bezierCurveTo(e,R,W,Y,X,ie){this._ensureSurface(),this._ctx.curveTo(e,R,W,Y,X,ie)},quadraticCurveTo(e,R,W,Y){this._ensureSurface();let X,ie;this._ctx.hasCurrentPoint()?[X,ie]=this._ctx.getCurrentPoint():(X=e,ie=R);let{cp1x:ae,cp1y:le,cp2x:_e,cp2y:ye}=quadraticToCubic(X,ie,e,R,W,Y);this._ctx.curveTo(ae,le,_e,ye,W,Y)},arc(e,R,W,Y,X,ie=!1){if(this._ensureSurface(),Math.abs(X-Y)>=2*Math.PI){this._ctx.arc(e,R,W,0,2*Math.PI);return}ie?this._ctx.arcNegative(e,R,W,Y,X):this._ctx.arc(e,R,W,Y,X)},arcTo(e,R,W,Y,X){this._ensureSurface();let ie,ae;this._ctx.hasCurrentPoint()?[ie,ae]=this._ctx.getCurrentPoint():(ie=e,ae=R,this._ctx.moveTo(e,R)),cairoArcTo(this._ctx,ie,ae,e,R,W,Y,X)},ellipse(e,R,W,Y,X,ie,ae,le=!1){if(this._ensureSurface(),W<0||Y<0)throw RangeError(`The radii provided are negative`);cairoEllipse(this._ctx,e,R,W,Y,X,ie,ae,le)},rect(e,R,W,Y){this._ensureSurface(),this._ctx.rectangle(e,R,W,Y)},roundRect(e,R,W,Y,X=0){this._ensureSurface(),cairoRoundRect(this._ctx,e,R,W,Y,X)}};function installPathMethods(e){Object.assign(e,Ai)}function getDrawImageSource(e){if(isPixbufImageSource(e)){let R=e._pixbuf;return{pixbuf:R,imgWidth:R.get_width(),imgHeight:R.get_height()}}if(isCanvasImageSource(e)){let R=e.width??0,W=e.height??0;if(!Number.isFinite(R)||!Number.isFinite(W)||R<=0||W<=0)return null;let X=e.getContext(`2d`);if(X&&typeof X._getSurface==`function`){let e=X._getSurface();e.flush();let ie=Y.pixbuf_get_from_surface(e,0,0,R,W);if(ie)return{pixbuf:ie,imgWidth:R,imgHeight:W}}}return null}const Mi={fill(e,R){this._ensureSurface(),this._applyCompositing(),this._applyFillStyle();let Y;e instanceof Di?(this._ctx.newPath(),e._replayOnCairo(this._ctx),Y=R):Y=e,this._ctx.setFillRule(Y===`evenodd`?W.FillRule.EVEN_ODD:W.FillRule.WINDING),this._ctx.fillPreserve()},stroke(e){this._ensureSurface(),this._applyCompositing(),this._applyStrokeStyle(),this._applyLineStyle(),e instanceof Di&&(this._ctx.newPath(),e._replayOnCairo(this._ctx)),this._ctx.strokePreserve()},fillRect(e,R,W,Y){this._ensureSurface(),this._applyCompositing();let X=this._ctx.copyPath();this._hasShadow()&&this._renderShadow(()=>{this._ctx.newPath(),this._ctx.rectangle(e,R,W,Y),this._ctx.fill()}),this._applyFillStyle(),this._ctx.newPath(),this._ctx.rectangle(e,R,W,Y),this._ctx.fill(),this._ctx.newPath(),this._ctx.appendPath(X)},strokeRect(e,R,W,Y){this._ensureSurface(),this._applyCompositing();let X=this._ctx.copyPath();this._hasShadow()&&this._renderShadow(()=>{this._ctx.newPath(),this._ctx.rectangle(e,R,W,Y),this._ctx.stroke()}),this._applyStrokeStyle(),this._applyLineStyle(),this._ctx.newPath(),this._ctx.rectangle(e,R,W,Y),this._ctx.stroke(),this._ctx.newPath(),this._ctx.appendPath(X)},clearRect(e,R,Y,X){this._ensureSurface();let ie=this._ctx.copyPath();this._ctx.save(),this._ctx.setOperator(W.Operator.CLEAR),this._ctx.newPath(),this._ctx.rectangle(e,R,Y,X),this._ctx.fill(),this._ctx.restore(),this._ctx.newPath(),this._ctx.appendPath(ie)},clip(e,R){this._ensureSurface();let Y;e instanceof Di?(this._ctx.newPath(),e._replayOnCairo(this._ctx),Y=R):Y=e,this._ctx.setFillRule(Y===`evenodd`?W.FillRule.EVEN_ODD:W.FillRule.WINDING),this._ctx.clip()},isPointInPath(e,R,Y,X){this._ensureSurface();let ie,ae,le;return e instanceof Di?(this._ctx.newPath(),e._replayOnCairo(this._ctx),ie=R,ae=Y,le=X):(ie=e,ae=R,le=Y),this._ctx.setFillRule(le===`evenodd`?W.FillRule.EVEN_ODD:W.FillRule.WINDING),this._ctx.inFill(ie,ae)},isPointInStroke(e,R,W){return this._ensureSurface(),this._applyLineStyle(),e instanceof Di?(this._ctx.newPath(),e._replayOnCairo(this._ctx),this._ctx.inStroke(R,W)):this._ctx.inStroke(e,R)},drawImage(e,R,X,ie,ae,le,_e,ye,be){this._ensureSurface(),this._applyCompositing();let Ce,Te,Oe,Ae,Me,Pe,Re,Be,Ve=getDrawImageSource(e);if(!Ve)return;let{pixbuf:He,imgWidth:Ue,imgHeight:We}=Ve;if(ie===void 0?(Ce=0,Te=0,Oe=Ue,Ae=We,Me=R,Pe=X,Re=Ue,Be=We):le===void 0?(Ce=0,Te=0,Oe=Ue,Ae=We,Me=R,Pe=X,Re=ie,Be=ae):(Ce=R,Te=X,Oe=ie,Ae=ae,Me=le,Pe=_e,Re=ye,Be=be),!Number.isFinite(Ce)||!Number.isFinite(Te)||!Number.isFinite(Oe)||!Number.isFinite(Ae)||!Number.isFinite(Me)||!Number.isFinite(Pe)||!Number.isFinite(Re)||!Number.isFinite(Be)||Oe===0||Ae===0||Re===0||Be===0)return;this._ctx.save(),this._ctx.rectangle(Me,Pe,Re,Be),this._ctx.clip(),this._ctx.translate(Me,Pe),this._ctx.scale(Re/Oe,Be/Ae),this._ctx.translate(-Ce,-Te),Y.cairo_set_source_pixbuf(this._ctx,He,0,0);let Ge=asCairoPattern(this._ctx.getSource?.());if(Ge){let e;e=this._state.imageSmoothingEnabled?this._state.imageSmoothingQuality===`high`?W.Filter.BEST:W.Filter.BILINEAR:W.Filter.NEAREST,Ge.setFilter(e)}this._state.globalAlpha<1?this._ctx.paintWithAlpha(this._state.globalAlpha):this._ctx.paint(),this._ctx.restore()}};function installDrawingMethods$1(e){Object.assign(e,Mi)}__name$1(installDrawingMethods$1,`installDrawingMethods`);const Fi={createImageData(e,R){return typeof e==`number`?new OurImageData(Math.abs(e),Math.abs(R)):new OurImageData(e.width,e.height)},getImageData(e,R,W,X){this._ensureSurface(),this._surface.flush();let ie=Y.pixbuf_get_from_surface(this._surface,e,R,W,X);if(!ie)return new OurImageData(W,X);let ae=ie.get_pixels(),le=ie.get_has_alpha(),_e=ie.get_rowstride(),ye=ie.get_n_channels(),be=new Uint8ClampedArray(W*X*4);for(let e=0;e<X;e++)for(let R=0;R<W;R++){let Y=e*_e+R*ye,X=(e*W+R)*4;be[X]=ae[Y],be[X+1]=ae[Y+1],be[X+2]=ae[Y+2],be[X+3]=le?ae[Y+3]:255}return new OurImageData(be,W,X)},putImageData(e,R,ie,ae,le,_e,ye){this._ensureSurface();let be=ae??0,Ce=le??0,Te=_e??e.width,Oe=ye??e.height,Ae=e.data,Me=e.width,Pe=new Uint8Array(Te*Oe*4);for(let e=0;e<Oe;e++)for(let R=0;R<Te;R++){let W=((Ce+e)*Me+(be+R))*4,Y=(e*Te+R)*4;Pe[Y]=Ae[W],Pe[Y+1]=Ae[W+1],Pe[Y+2]=Ae[W+2],Pe[Y+3]=Ae[W+3]}let Re=X.Pixbuf.new_from_bytes(Pe,X.Colorspace.RGB,!0,8,Te,Oe,Te*4);this._ctx.save(),this._ctx.setOperator(W.Operator.SOURCE),Y.cairo_set_source_pixbuf(this._ctx,Re,R+be,ie+Ce),this._ctx.rectangle(R+be,ie+Ce,Te,Oe),this._ctx.fill(),this._ctx.restore()}};function installPixelMethods(e){Object.assign(e,Fi)}function parseFontToDescription(e){let R=e.match(/^\s*(italic|oblique|normal)?\s*(small-caps|normal)?\s*(bold|bolder|lighter|[1-9]00|normal)?\s*(\d+(?:\.\d+)?)(px|pt|em|rem|%)?\s*(?:\/\S+)?\s*(.+)?$/i);if(!R)return ie.font_description_from_string(e);let W=R[1]||``,Y=R[3]||``,X=parseFloat(R[4])||10,ae=(R[5]||`px`).toLowerCase(),le=(R[6]||`sans-serif`).replace(/['"]/g,``).trim();ae===`pt`?X=X*96/72:ae===`em`||ae===`rem`?X*=16:ae===`%`&&(X=X/100*16);let _e=le;W===`italic`?_e+=` Italic`:W===`oblique`&&(_e+=` Oblique`),Y===`bold`||Y===`bolder`||parseInt(Y)>=600?_e+=` Bold`:(Y===`lighter`||parseInt(Y)>0&&parseInt(Y)<=300)&&(_e+=` Light`);let ye=ie.font_description_from_string(_e);return ye.set_absolute_size(X*ie.SCALE),ye}function createTextLayout(e,R){let W=ae.create_layout(e._ctx);W.set_text(R,-1),W.get_context().set_base_dir(ie.Direction.LTR),W.context_changed();let Y=parseFontToDescription(e._state.font);return W.set_font_description(Y),W}function getTextAlignOffset(e,R){let[,W]=R.get_pixel_extents(),Y=W.width;switch(e._state.textAlign){case`center`:return-Y/2;case`right`:case`end`:return-Y;default:return 0}}function getTextBaselineOffset(e,R){let W=R.get_font_description()||parseFontToDescription(e._state.font),Y=R.get_context().get_metrics(W,null),X=Y.get_ascent()/ie.SCALE,ae=Y.get_descent()/ie.SCALE,le=X+ae;switch(e._state.textBaseline){case`top`:return 0;case`hanging`:return-(X*.2);case`middle`:return-(le/2);case`alphabetic`:return-X;case`ideographic`:return-(X+ae*.5);case`bottom`:return-le;default:return-X}}const Ii={fillText(e,R,Y,X){this._ensureSurface(),this._applyCompositing();let ie=createTextLayout(this,e),le=getTextAlignOffset(this,ie),_e=getTextBaselineOffset(this,ie);if(this._hasShadow()){let e=parseColor(this._state.shadowColor);if(e){let[X,ye]=this._deviceToUserDistance(this._state.shadowOffsetX,this._state.shadowOffsetY),be=this._state.shadowBlur,Ce;if(be>0){let[R]=this._deviceToUserDistance(be,0),[,W]=this._deviceToUserDistance(0,be);Ce=[[X,ye,e.a],[X+R,ye,e.a*.5],[X-R,ye,e.a*.5],[X,ye+W,e.a*.5],[X,ye-W,e.a*.5]]}else Ce=[[X,ye,e.a]];let Te=this._state.imageSmoothingEnabled?W.Antialias.DEFAULT:W.Antialias.NONE;for(let[W,X,ye]of Ce)this._ctx.save(),this._ctx.setAntialias(Te),this._ctx.setSourceRGBA(e.r,e.g,e.b,ye),this._ctx.moveTo(R+le+W,Y+_e+X),ae.show_layout(this._ctx,ie),this._ctx.restore()}}this._applyFillStyle(),this._ctx.save(),this._ctx.setAntialias(this._state.imageSmoothingEnabled?W.Antialias.DEFAULT:W.Antialias.NONE),this._ctx.moveTo(R+le,Y+_e),ae.show_layout(this._ctx,ie),this._ctx.restore()},strokeText(e,R,Y,X){this._ensureSurface(),this._applyCompositing(),this._applyStrokeStyle(),this._applyLineStyle();let ie=createTextLayout(this,e),le=getTextAlignOffset(this,ie),_e=getTextBaselineOffset(this,ie);this._ctx.save(),this._ctx.setAntialias(this._state.imageSmoothingEnabled?W.Antialias.DEFAULT:W.Antialias.NONE),this._ctx.moveTo(R+le,Y+_e),ae.layout_path(this._ctx,ie),this._ctx.stroke(),this._ctx.restore()},measureText(e){this._ensureSurface();let R=createTextLayout(this,e),[W,Y]=R.get_pixel_extents(),X=R.get_baseline()/ie.SCALE,ae=Math.max(0,X-W.y),le=Math.max(0,W.y+W.height-X),_e=R.get_font_description()||parseFontToDescription(this._state.font),ye=R.get_context().get_metrics(_e,null),be=ye.get_ascent()/ie.SCALE,Ce=ye.get_descent()/ie.SCALE;return{width:Y.width,actualBoundingBoxAscent:ae,actualBoundingBoxDescent:le,actualBoundingBoxLeft:Math.max(0,-W.x),actualBoundingBoxRight:W.x+W.width,fontBoundingBoxAscent:be,fontBoundingBoxDescent:Ce,alphabeticBaseline:0,emHeightAscent:be,emHeightDescent:Ce,hangingBaseline:be*.8,ideographicBaseline:-Ce}}};function installTextMethods(e){Object.assign(e,Ii)}const Li={createLinearGradient(e,R,W,Y){return new CanvasGradient(`linear`,e,R,W,Y)},createRadialGradient(e,R,W,Y,X,ie){return new CanvasGradient(`radial`,e,R,Y,X,W,ie)},createPattern(e,R){return Oi.create(e,R)}};function installFactoryMethods(e){Object.assign(e,Li)}function installAllContextMethods$1(e){installTransformMethods(e),installPathMethods(e),installDrawingMethods$1(e),installPixelMethods(e),installTextMethods(e),installFactoryMethods(e)}__name$1(installAllContextMethods$1,`installAllContextMethods`);function createDefaultState(){return{fillStyle:`#000000`,fillColor:{...bi},strokeStyle:`#000000`,strokeColor:{...bi},lineWidth:1,lineCap:`butt`,lineJoin:`miter`,miterLimit:10,lineDash:[],lineDashOffset:0,globalAlpha:1,globalCompositeOperation:`source-over`,shadowColor:`rgba(0, 0, 0, 0)`,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,font:`10px sans-serif`,textAlign:`start`,textBaseline:`alphabetic`,direction:`ltr`,imageSmoothingEnabled:!0,imageSmoothingQuality:`low`}}function cloneState(e){return{...e,fillColor:{...e.fillColor},strokeColor:{...e.strokeColor},lineDash:[...e.lineDash]}}var CanvasRenderingContext2D=class{constructor(e,R){this._stateStack=[],this.canvas=e,this._surfaceWidth=e.width||300,this._surfaceHeight=e.height||150,this._surface=new W.ImageSurface(W.Format.ARGB32,this._surfaceWidth,this._surfaceHeight),this._ctx=new W.Context(this._surface),this._state=createDefaultState()}_ensureSurface(){let e=this.canvas.width||300,R=this.canvas.height||150;(e!==this._surfaceWidth||R!==this._surfaceHeight)&&(this._ctx.$dispose(),this._surface.finish(),this._surfaceWidth=e,this._surfaceHeight=R,this._surface=new W.ImageSurface(W.Format.ARGB32,e,R),this._ctx=new W.Context(this._surface),this._stateStack=[])}_resetState(){this._state=createDefaultState(),this._stateStack=[]}_applyFillStyle(){let e=this._state.fillStyle;if(typeof e==`string`){let e=this._state.fillColor,R=e.a*this._state.globalAlpha;this._ctx.setSourceRGBA(e.r,e.g,e.b,R)}else e instanceof CanvasGradient?this._ctx.setSource(e._getCairoPattern()):e instanceof Oi&&(this._ctx.setSource(e._getCairoPattern()),this._applyPatternFilter())}_applyStrokeStyle(){let e=this._state.strokeStyle;if(typeof e==`string`){let e=this._state.strokeColor,R=e.a*this._state.globalAlpha;this._ctx.setSourceRGBA(e.r,e.g,e.b,R)}else e instanceof CanvasGradient?this._ctx.setSource(e._getCairoPattern()):e instanceof Oi&&(this._ctx.setSource(e._getCairoPattern()),this._applyPatternFilter())}_applyPatternFilter(){let e=asCairoPattern(this._ctx.getSource?.());if(!e)return;let R;R=this._state.imageSmoothingEnabled?this._state.imageSmoothingQuality===`high`?W.Filter.BEST:W.Filter.BILINEAR:W.Filter.NEAREST,e.setFilter(R)}_applyLineStyle(){this._ctx.setLineWidth(this._state.lineWidth),this._ctx.setLineCap(Ti[this._state.lineCap]),this._ctx.setLineJoin(Ei[this._state.lineJoin]),this._ctx.setMiterLimit(this._state.miterLimit),this._ctx.setDash(this._state.lineDash,this._state.lineDashOffset)}_applyCompositing(){let e=Si[this._state.globalCompositeOperation];e!==void 0&&this._ctx.setOperator(e)}_getSurface(){return this._surface}_hasShadow(){if(this._state.shadowBlur===0&&this._state.shadowOffsetX===0&&this._state.shadowOffsetY===0)return!1;let e=parseColor(this._state.shadowColor);return e!==null&&e.a>0}_deviceToUserDistance(e,R){let W=this._ctx.userToDevice(0,0),Y=this._ctx.userToDevice(1,0),X=this._ctx.userToDevice(0,1),ie=(Y[0]??0)-(W[0]??0),ae=(Y[1]??0)-(W[1]??0),le=(X[0]??0)-(W[0]??0),_e=(X[1]??0)-(W[1]??0),ye=ie*_e-ae*le;return Math.abs(ye)<1e-10?[e,R]:[(_e*e-le*R)/ye,(-ae*e+ie*R)/ye]}_renderShadow(e){}save(){this._ensureSurface(),this._stateStack.push(cloneState(this._state)),this._ctx.save()}restore(){this._ensureSurface();let e=this._stateStack.pop();e&&(this._state=e,this._ctx.restore())}get fillStyle(){return this._state.fillStyle}set fillStyle(e){if(typeof e==`string`){let R=parseColor(e);R&&(this._state.fillStyle=e,this._state.fillColor=R)}else this._state.fillStyle=e}get strokeStyle(){return this._state.strokeStyle}set strokeStyle(e){if(typeof e==`string`){let R=parseColor(e);R&&(this._state.strokeStyle=e,this._state.strokeColor=R)}else this._state.strokeStyle=e}get lineWidth(){return this._state.lineWidth}set lineWidth(e){e>0&&isFinite(e)&&(this._state.lineWidth=e)}get lineCap(){return this._state.lineCap}set lineCap(e){(e===`butt`||e===`round`||e===`square`)&&(this._state.lineCap=e)}get lineJoin(){return this._state.lineJoin}set lineJoin(e){(e===`miter`||e===`round`||e===`bevel`)&&(this._state.lineJoin=e)}get miterLimit(){return this._state.miterLimit}set miterLimit(e){e>0&&isFinite(e)&&(this._state.miterLimit=e)}get globalAlpha(){return this._state.globalAlpha}set globalAlpha(e){e>=0&&e<=1&&isFinite(e)&&(this._state.globalAlpha=e)}get globalCompositeOperation(){return this._state.globalCompositeOperation}set globalCompositeOperation(e){Si[e]!==void 0&&(this._state.globalCompositeOperation=e)}get imageSmoothingEnabled(){return this._state.imageSmoothingEnabled}set imageSmoothingEnabled(e){this._state.imageSmoothingEnabled=!!e}get imageSmoothingQuality(){return this._state.imageSmoothingQuality}set imageSmoothingQuality(e){(e===`low`||e===`medium`||e===`high`)&&(this._state.imageSmoothingQuality=e)}setLineDash(e){e.some(e=>e<0||!isFinite(e))||(this._state.lineDash=[...e])}getLineDash(){return[...this._state.lineDash]}get lineDashOffset(){return this._state.lineDashOffset}set lineDashOffset(e){isFinite(e)&&(this._state.lineDashOffset=e)}get shadowColor(){return this._state.shadowColor}set shadowColor(e){this._state.shadowColor=e}get shadowBlur(){return this._state.shadowBlur}set shadowBlur(e){e>=0&&isFinite(e)&&(this._state.shadowBlur=e)}get shadowOffsetX(){return this._state.shadowOffsetX}set shadowOffsetX(e){isFinite(e)&&(this._state.shadowOffsetX=e)}get shadowOffsetY(){return this._state.shadowOffsetY}set shadowOffsetY(e){isFinite(e)&&(this._state.shadowOffsetY=e)}get font(){return this._state.font}set font(e){this._state.font=e}get textAlign(){return this._state.textAlign}set textAlign(e){this._state.textAlign=e}get textBaseline(){return this._state.textBaseline}set textBaseline(e){this._state.textBaseline=e}get direction(){return this._state.direction}set direction(e){this._state.direction=e}_toDataURL(e,R){this._surface.flush();let W=imports.gi.Gio,Y=imports.gi.GLib,[,X]=Y.file_open_tmp(`canvas-XXXXXX.png`);try{this._surface.writeToPNG(X);let[,e]=W.File.new_for_path(X).load_contents(null);return`data:image/png;base64,${Y.base64_encode(e)}`}finally{try{Y.unlink(X)}catch{}}}_dispose(){this._ctx.$dispose(),this._surface.finish()}};installAllContextMethods$1(CanvasRenderingContext2D.prototype),defineGlobal(`HTMLCanvasElement`,hi),defineGlobal(`CanvasRenderingContext2D`,CanvasRenderingContext2D),defineGlobal(`DOMMatrix`,gi),defineGlobal(`DOMMatrixReadOnly`,_i);const zi=Symbol.for(`gjsify_canvas2d_context`);hi.registerContextFactory(`2d`,(e,R)=>{let W=e,Y=W[zi];if(Y)return Y;let X=new CanvasRenderingContext2D(e,R);return W[zi]=X,X});var CharacterData=class extends ti{constructor(e=``){super(),this[Ut]=rr.TEXT_NODE,this._data=e}get data(){return this._data}set data(e){this._data=e}get textContent(){return this._data}set textContent(e){this._data=e}get nodeValue(){return this._data}set nodeValue(e){this._data=e}get length(){return this._data.length}appendData(e){this._data+=e}deleteData(e,R){this._data=this._data.substring(0,e)+this._data.substring(e+R)}insertData(e,R){this._data=this._data.substring(0,e)+R+this._data.substring(e)}replaceData(e,R,W){this._data=this._data.substring(0,e)+W+this._data.substring(e+R)}substringData(e,R){return this._data.substring(e,e+R)}cloneNode(e=!1){return new this.constructor(this._data)}get[Symbol.toStringTag](){return`CharacterData`}},Vi=class Comment extends CharacterData{constructor(e=``){super(e),this[Ut]=rr.COMMENT_NODE}get nodeName(){return`#comment`}cloneNode(e=!1){return new Comment(this.data)}get[Symbol.toStringTag](){return`Comment`}},Hi=class Text extends CharacterData{constructor(e=``){super(e),this[Ut]=rr.TEXT_NODE}get nodeName(){return`#text`}get wholeText(){let e=this.data,R=this.previousSibling;for(;R&&R instanceof Text;)e=R.data+e,R=R.previousSibling;let W=this.nextSibling;for(;W&&W instanceof Text;)e+=W.data,W=W.nextSibling;return e}splitText(e){let R=this.data.substring(e);this.data=this.data.substring(0,e);let W=new Text(R);return this.parentNode&&this.parentNode.insertBefore(W,this.nextSibling),W}cloneNode(e=!1){return new Text(this.data)}get[Symbol.toStringTag](){return`Text`}},Ui=class DocumentFragment extends ti{constructor(){super(),this[Ut]=rr.DOCUMENT_FRAGMENT_NODE}get nodeName(){return`#document-fragment`}get children(){return this[Kt]}get childElementCount(){return this[Kt].length}get firstElementChild(){return this[Kt][0]??null}get lastElementChild(){let e=this[Kt];return e[e.length-1]??null}get textContent(){let e=``;for(let R of this.childNodes)R.textContent!==null&&(e+=R.textContent);return e}set textContent(e){for(;this.firstChild;)this.removeChild(this.firstChild);e&&this.appendChild(new Hi(e))}append(...e){for(let R of e)typeof R==`string`?this.appendChild(new Hi(R)):this.appendChild(R)}prepend(...e){let R=this.firstChild;for(let W of e)typeof W==`string`?this.insertBefore(new Hi(W),R):this.insertBefore(W,R)}replaceChildren(...e){for(;this.firstChild;)this.removeChild(this.firstChild);this.append(...e)}getElementById(e){for(let R of this.children){if(R.id===e)return R;let W=this._findById(R,e);if(W)return W}return null}_findById(e,R){for(let W of e.children){if(W.id===R)return W;let e=this._findById(W,R);if(e)return e}return null}cloneNode(e=!1){let R=new DocumentFragment;if(e)for(let e of this.childNodes)R.appendChild(e.cloneNode(!0));return R}get[Symbol.toStringTag](){return`DocumentFragment`}},Wi=le;bt(),$e(),st();var HTMLImageElement=class extends HTMLElement$1{constructor(){super(),this._complete=!1,this._naturalHeight=0,this._naturalWidth=0,this[Jt]=`IMG`,this[Yt]=`img`,this[Xt]=ni.html}get complete(){return this._complete}get naturalHeight(){return this._naturalHeight}get naturalWidth(){return this._naturalWidth}get currentSrc(){return this.src}get x(){return 0}get y(){return 0}get alt(){return this.getAttribute(`alt`)??``}set alt(e){this.setAttribute(`alt`,e)}get crossOrigin(){return this.getAttribute(`crossorigin`)}set crossOrigin(e){e===null?this.removeAttribute(`crossorigin`):this.setAttribute(`crossorigin`,e)}get decoding(){return this.getAttribute(`decoding`)??`auto`}set decoding(e){this.setAttribute(`decoding`,e)}get loading(){let e=this.getAttribute(`loading`);return e===`lazy`||e===`eager`?e:`auto`}set loading(e){this.setAttribute(`loading`,e)}get referrerPolicy(){return this.getAttribute(`referrerpolicy`)??``}set referrerPolicy(e){this.setAttribute(`referrerpolicy`,e)}get sizes(){return this.getAttribute(`sizes`)??``}set sizes(e){this.setAttribute(`sizes`,e)}get src(){return this.getAttribute(`src`)??``}set src(e){this.setAttribute(`src`,e);let R=globalThis.__GJSIFY_DEBUG_IMG===!0;if(e.startsWith(`data:`)){let W=e.indexOf(`,`);if(W===-1){this._complete=!0,this.dispatchEvent(new Event$1(`error`));return}let Y=e.slice(5,W),X=e.slice(W+1),ie=Y.includes(`;base64`);try{let e;e=ie?Qe.base64_decode(X):new TextEncoder().encode(decodeURIComponent(X));let W=Qe.Bytes.new(e),Y=at.MemoryInputStream.new_from_bytes(W);this._pixbuf=Wi.Pixbuf.new_from_stream(Y,null),this._naturalWidth=this._pixbuf.get_width(),this._naturalHeight=this._pixbuf.get_height(),this._complete=!0,R&&yt.log(`[img] ok data: (${this._naturalWidth}x${this._naturalHeight})`),this.dispatchEvent(new Event$1(`load`))}catch(e){R&&yt.warn(`[img] error data:: ${e instanceof Error?e.message:String(e)}`),this._complete=!0,this.dispatchEvent(new Event$1(`error`))}return}let W;if(e.startsWith(`file://`))W=Qe.filename_from_uri(e)[0];else if(e.startsWith(`http://`)||e.startsWith(`https://`)){this._complete=!0,this.dispatchEvent(new Event$1(`error`));return}else{let R=Qe.path_get_dirname(_e.programInvocationName);W=Qe.build_filenamev([R,e])}try{R&&yt.log(`[img] load ${W}`),this._pixbuf=Wi.Pixbuf.new_from_file(W),this._naturalWidth=this._pixbuf.get_width(),this._naturalHeight=this._pixbuf.get_height(),this._complete=!0,R&&yt.log(`[img] ok ${W} (${this._naturalWidth}x${this._naturalHeight})`),this.dispatchEvent(new Event$1(`load`))}catch(e){R&&yt.warn(`[img] error ${W}: ${e instanceof Error?e.message:String(e)}`),this._complete=!0,this.dispatchEvent(new Event$1(`error`))}}get srcset(){return this.getAttribute(`srcset`)??``}set srcset(e){this.setAttribute(`srcset`,e)}get useMap(){return this.getAttribute(`usemap`)??``}set useMap(e){this.setAttribute(`usemap`,e)}get height(){if(this._pixbuf)return this._pixbuf.get_height();let e=this.getAttribute(`height`);return e===null?0:Number(e)}set height(e){this.setAttribute(`height`,String(e))}get width(){if(this._pixbuf)return this._pixbuf.get_width();let e=this.getAttribute(`width`);return e===null?0:Number(e)}set width(e){this.setAttribute(`width`,String(e))}get isMap(){return this.hasAttribute(`ismap`)}set isMap(e){e?this.setAttribute(`ismap`,``):this.removeAttribute(`ismap`)}decode(){return Promise.resolve()}cloneNode(e=!1){return super.cloneNode(e)}getImageData(){if(!this._pixbuf)return null;let e=this._pixbuf.get_has_alpha()?this._pixbuf:this._pixbuf.add_alpha(!1,0,0,0)??this._pixbuf;return{colorSpace:`srgb`,data:new Uint8ClampedArray(e.get_pixels()),height:e.get_height(),width:e.get_width()}}isPixbuf(){return!!this._pixbuf}get[Symbol.toStringTag](){return`HTMLImageElement`}},HTMLMediaElement=class extends HTMLElement$1{constructor(...e){super(...e),this._src=``,this._srcObject=null,this.currentTime=0,this.duration=NaN,this.paused=!0,this.ended=!1,this.volume=1,this.muted=!1,this.defaultMuted=!1,this.loop=!1,this.autoplay=!1,this.preload=``,this.playbackRate=1,this.defaultPlaybackRate=1,this.readyState=0,this.networkState=0}get buffered(){return{length:0,start:()=>0,end:()=>0}}get seekable(){return{length:0,start:()=>0,end:()=>0}}get played(){return{length:0,start:()=>0,end:()=>0}}get src(){return this._src}set src(e){this._src=e,this._srcObject=null,this.dispatchEvent(new Event$1(`srcchange`))}get srcObject(){return this._srcObject}set srcObject(e){this._srcObject=e,this._src=``,this.dispatchEvent(new Event$1(`srcobjectchange`))}play(){return this.paused=!1,this.ended=!1,this.dispatchEvent(new Event$1(`play`)),Promise.resolve()}pause(){this.paused=!0,this.dispatchEvent(new Event$1(`pause`))}load(){this.readyState=0,this.networkState=2,this.dispatchEvent(new Event$1(`loadstart`))}canPlayType(e){return``}static{this.HAVE_NOTHING=0}static{this.HAVE_METADATA=1}static{this.HAVE_CURRENT_DATA=2}static{this.HAVE_FUTURE_DATA=3}static{this.HAVE_ENOUGH_DATA=4}static{this.NETWORK_EMPTY=0}static{this.NETWORK_IDLE=1}static{this.NETWORK_LOADING=2}static{this.NETWORK_NO_SOURCE=3}get[Symbol.toStringTag](){return`HTMLMediaElement`}};const Gi=1e9;function secondsToGstTime(e){return BigInt(Math.round(e*Gi))}function gstTimeToSeconds(e){return Number(e)/Gi}var HTMLVideoElement=class extends HTMLMediaElement{constructor(){super(),this._pipeline=null,this._videoWidth=0,this._videoHeight=0,this.poster=``,this[Jt]=`VIDEO`,this[Yt]=`video`,this[Xt]=ni.html;let e=this;Object.defineProperty(this,"paused",{get(){if(!e._pipeline)return!0;let[,R]=e._pipeline.get_state(0n);return R!==4},configurable:!0,enumerable:!0}),Object.defineProperty(this,"currentTime",{get(){if(!e._pipeline)return 0;let[R,W]=e._pipeline.query_position(3);return R?gstTimeToSeconds(W):0},set(R){e._pipeline?.seek(1,3,5,1,secondsToGstTime(R),0,-1n)},configurable:!0,enumerable:!0}),Object.defineProperty(this,"duration",{get(){if(!e._pipeline)return NaN;let[R,W]=e._pipeline.query_duration(3);return R&&Number(W)>0?gstTimeToSeconds(W):NaN},configurable:!0,enumerable:!0}),Object.defineProperty(this,"volume",{get(){return e._playbin()?.volume??1},set(R){let W=e._playbin();W&&(W.volume=Math.max(0,Math.min(1,R)))},configurable:!0,enumerable:!0}),Object.defineProperty(this,"muted",{get(){return e._playbin()?.mute??!1},set(R){let W=e._playbin();W&&(W.mute=R)},configurable:!0,enumerable:!0})}async play(){this._pipeline?.set_state(4),this.dispatchEvent(new Event$1(`play`)),this.dispatchEvent(new Event$1(`playing`))}pause(){this._pipeline?.set_state(3),this.dispatchEvent(new Event$1(`pause`))}get videoWidth(){return this._videoWidth}set videoWidth(e){this._videoWidth=e}get videoHeight(){return this._videoHeight}set videoHeight(e){this._videoHeight=e}get[Symbol.toStringTag](){return`HTMLVideoElement`}_playbin(){return this._pipeline?.get_by_name(`playbin`)??null}};const Ki=new class Document extends ti{static{this._elementFactories=new Map}constructor(){super(),this.body=new HTMLElement$1,this.head=new HTMLElement$1,this.documentElement=new HTMLElement$1,this.appendChild(this.documentElement),this.documentElement.appendChild(this.body)}static registerElementFactory(e,R){Document._elementFactories.set(e.toLowerCase(),R)}createElementNS(e,R){let W=R.toLowerCase();switch(W){case`img`:return new HTMLImageElement;case`video`:return new HTMLVideoElement;case`canvas`:return new hi;default:{let e=Document._elementFactories.get(W);return e?e():new HTMLElement$1}}}createElement(e){return this.createElementNS(`http://www.w3.org/1999/xhtml`,e)}createTextNode(e){return new Hi(e)}createComment(e){return new Vi(e)}createDocumentFragment(){return new Ui}createEvent(e){return new Event$1(e)}getElementById(e){return this._findById(this.body,e)}_findById(e,R){if(e.id===R)return e;for(let W of e.children){let e=this._findById(W,R);if(e)return e}return null}get[Symbol.toStringTag](){return`Document`}};var DOMTokenList=class{constructor(e,R){this._ownerElement=e,this._attributeName=R}_getTokens(){let e=this._ownerElement.getAttribute(this._attributeName);return e?e.split(/\s+/).filter(e=>e.length>0):[]}_setTokens(e){let R=e.join(` `);R?this._ownerElement.setAttribute(this._attributeName,R):this._ownerElement.removeAttribute(this._attributeName)}get length(){return this._getTokens().length}get value(){return this._ownerElement.getAttribute(this._attributeName)??``}set value(e){e?this._ownerElement.setAttribute(this._attributeName,e):this._ownerElement.removeAttribute(this._attributeName)}item(e){let R=this._getTokens();return e>=0&&e<R.length?R[e]:null}contains(e){return this._getTokens().includes(e)}add(...e){let R=this._getTokens();for(let W of e)W&&!R.includes(W)&&R.push(W);this._setTokens(R)}remove(...e){let R=this._getTokens().filter(R=>!e.includes(R));this._setTokens(R)}toggle(e,R){let W=this.contains(e);return R===void 0?W?(this.remove(e),!1):(this.add(e),!0):R?(this.add(e),!0):(this.remove(e),!1)}replace(e,R){let W=this._getTokens(),Y=W.indexOf(e);return Y===-1?!1:(W[Y]=R,this._setTokens(W),!0)}supports(e){return!0}forEach(e){let R=this._getTokens();for(let W=0;W<R.length;W++)e(R[W],W,this)}keys(){return this._getTokens().keys()}values(){return this._getTokens().values()}entries(){return this._getTokens().entries()}[Symbol.iterator](){return this._getTokens().values()}toString(){return this.value}get[Symbol.toStringTag](){return`DOMTokenList`}};bt(),defineGlobal(`Text`,Hi),defineGlobal(`Comment`,Vi),defineGlobal(`DocumentFragment`,Ui),defineGlobal(`DOMTokenList`,DOMTokenList),defineGlobal(`document`,Ki),defineGlobalIfMissing(`self`,globalThis);var Window$1=class{static{__name$1(this,`Window`)}};defineGlobalIfMissing(`Window`,Window$1),defineGlobalIfMissing(`window`,globalThis),defineGlobalIfMissing(`focus`,()=>{}),defineGlobalIfMissing(`blur`,()=>{});{let e=globalThis;if(typeof e.addEventListener!=`function`){let R=new EventTarget$1;e.__gjsify_globalEventTarget=R,e.addEventListener=(e,W,Y)=>R.addEventListener(e,W,Y),e.removeEventListener=(e,W,Y)=>R.removeEventListener(e,W,Y),e.dispatchEvent=e=>R.dispatchEvent(e)}}defineGlobalIfMissing(`devicePixelRatio`,1),defineGlobalIfMissing(`scrollX`,0),defineGlobalIfMissing(`scrollY`,0),defineGlobalIfMissing(`pageXOffset`,0),defineGlobalIfMissing(`pageYOffset`,0),defineGlobalIfMissing(`alert`,(...e)=>yt.error(`alert:`,...e)),globalThis.top===void 0&&Object.defineProperty(globalThis,"top",{get:()=>globalThis,configurable:!0});var FontFace$1=class{static{__name$1(this,`FontFace`)}constructor(e,R,W){this.status=`unloaded`,this.display=`auto`,this.style=`normal`,this.weight=`normal`,this.stretch=`normal`,this.unicodeRange=`U+0-10FFFF`,this.variant=`normal`,this.featureSettings=`normal`,this.family=e,this.source=typeof R==`string`?R:`[binary]`,this.loaded=Promise.resolve(this)}_extractFilePath(){let e=this.source.match(/url\s*\(\s*["']?(file:\/\/\/[^"')]+)["']?\s*\)/i);return e?e[1].replace(/^file:\/\//,``):null}async load(){this.status=`loading`;let e=this._extractFilePath();if(e)try{let{default:R}=await import(`gi://PangoCairo?version=1.0`);R.font_map_get_default().add_font_file(e)}catch{}return this.status=`loaded`,this}},FontFaceSet=class{constructor(){this.status=`loaded`,this.ready=Promise.resolve(this),this._faces=new Set}addEventListener(e,R){}removeEventListener(e,R){}dispatchEvent(e){return!0}add(e){return this._faces.add(e),this}delete(e){return this._faces.delete(e)}clear(){this._faces.clear()}has(e){return this._faces.has(e)}check(e,R){return!1}load(e,R){return Promise.resolve([])}forEach(e){this._faces.forEach(R=>e(R,R,this))}values(){return this._faces.values()}keys(){return this._faces.values()}entries(){return Array.from(this._faces).map(e=>[e,e])[Symbol.iterator]()}[Symbol.iterator](){return this._faces[Symbol.iterator]()}get size(){return this._faces.size}};const qi=globalThis;defineGlobalIfMissing(`FontFace`,FontFace$1),qi.FontFace===void 0&&(qi.FontFace=FontFace$1);const Ji=qi.document;Ji&&Ji.fonts===void 0&&Object.defineProperty(Ji,"fonts",{value:new FontFaceSet,configurable:!0,writable:!0});var Image$1=class extends HTMLImageElement{static{__name$1(this,`Image`)}constructor(e=null,R=null){super(),e!==null&&(this.width=e),R!==null&&(this.height=R)}};defineGlobal(`HTMLImageElement`,HTMLImageElement),defineGlobal(`Image`,Image$1),defineGlobalIfMissing(`location`,{href:`file://`,origin:`file://`,protocol:`file:`,host:``,hostname:``,port:``,pathname:`/`,search:``,hash:``,assign(e){},replace(e){},reload(){},toString(){return this.href},ancestorOrigins:{length:0,item:()=>null,contains:()=>!1,[Symbol.iterator]:function*(){}}});var MediaQueryList=class extends EventTarget$1{constructor(e){super(),this.onchange=null,this.media=e,this.matches=!1}addListener(e){}removeListener(e){}};function matchMedia(e){return new MediaQueryList(e)}defineGlobalIfMissing(`matchMedia`,matchMedia),globalThis.navigator===void 0&&(globalThis.navigator={});var MutationObserver=class{constructor(e){}observe(e,R){}disconnect(){}takeRecords(){return[]}};bt();const Xi=new Set;let $i=!1;function scheduleFlush(){$i||($i=!0,queueMicrotask(()=>{$i=!1;let e=Array.from(Xi);Xi.clear();for(let R of e)R._deliver()}))}var ResizeObserver$1=class{static{__name$1(this,`ResizeObserver`)}constructor(e){this._observed=new Map,this._pending=new Map,this._callback=e}observe(e,R){if(this._observed.has(e))return;let W=e._onResize((R,W)=>{this._enqueue(e,R,W)});this._observed.set(e,W),queueMicrotask(()=>{if(!this._observed.has(e))return;let R=readClientRect(e);this._enqueue(e,R.width,R.height)})}unobserve(e){let R=this._observed.get(e);R&&(R(),this._observed.delete(e),this._pending.delete(e))}disconnect(){for(let e of this._observed.values())e();this._observed.clear(),this._pending.clear(),Xi.delete(this)}_deliver(){if(this._pending.size===0)return;let e=Array.from(this._pending.values());this._pending.clear();try{this._callback(e,this)}catch(e){yt.error(`ResizeObserver callback threw:`,e)}}_enqueue(e,R,W){let Y={inlineSize:R,blockSize:W};this._pending.set(e,{target:e,contentRect:{x:0,y:0,width:R,height:W,top:0,right:R,bottom:W,left:0},borderBoxSize:[Y],contentBoxSize:[Y],devicePixelContentBoxSize:[Y]}),Xi.add(this),scheduleFlush()}};function readClientRect(e){let R=e.getBoundingClientRect;if(typeof R==`function`){let W=R.call(e);return{width:W.width??0,height:W.height??0}}return{width:0,height:0}}var IntersectionObserver=class{constructor(e,R){this.root=R?.root??null,this.rootMargin=R?.rootMargin??`0px`,this.thresholds=Array.isArray(R?.threshold)?R.threshold:[R?.threshold??0]}observe(e){}unobserve(e){}disconnect(){}takeRecords(){return[]}};defineGlobal(`MutationObserver`,MutationObserver),defineGlobal(`ResizeObserver`,ResizeObserver$1),defineGlobal(`IntersectionObserver`,IntersectionObserver);var DOMNode=class{nodeType;nodeName;nodeValue;parentNode=null;childNodes=[];constructor(e,R,W=null){this.nodeType=e,this.nodeName=R,this.nodeValue=W}get textContent(){return this.nodeType===3||this.nodeType===4?this.nodeValue??``:this.childNodes.map(e=>e.textContent??``).join(``)}},DOMElement=class extends DOMNode{tagName;localName;_attrs=new Map;constructor(e){super(1,e.toUpperCase()),this.tagName=e.toLowerCase(),this.localName=this.tagName}get children(){return this.childNodes.filter(e=>e.nodeType===1)}getAttribute(e){return this._attrs.has(e)?this._attrs.get(e)??null:null}setAttribute(e,R){this._attrs.set(e,R)}hasAttribute(e){return this._attrs.has(e)}get attributes(){return Array.from(this._attrs.entries()).map(([e,R])=>({name:e,value:R}))}get innerHTML(){return this.childNodes.map(e=>e.nodeType===1?e.outerHTML:e.nodeType===3?e.nodeValue??``:e.nodeType===4?`<![CDATA[`+(e.nodeValue??``)+`]]>`:``).join(``)}get outerHTML(){let e=Array.from(this._attrs.entries()).map(([e,R])=>` `+e+`="`+R.replace(/"/g,`"`)+`"`).join(``);return this.childNodes.length===0?`<`+this.tagName+e+`/>`:`<`+this.tagName+e+`>`+this.innerHTML+`</`+this.tagName+`>`}querySelector(e){let R=e.trim().split(/\s*>\s*/);if(R.length>1)return this._queryChildChain(R);let W=e.trim().split(/\s+/);return W.length>1?this._queryDescendantChain(W):this._find(e.trim().toLowerCase())??null}querySelectorAll(e){let R=e.trim().toLowerCase(),W=[];return this._findAll(R,W),W}_find(e){for(let R of this.children){if(R.tagName===e)return R;let W=R._find(e);if(W)return W}}_findAll(e,R){for(let W of this.children)W.tagName===e&&R.push(W),W._findAll(e,R)}_queryChildChain(e){let[R,...W]=e,Y=this.children.filter(e=>e.tagName===R.trim().toLowerCase());if(W.length===0)return Y[0]??null;for(let e of Y){let R=e._queryChildChain(W);if(R)return R}return null}_queryDescendantChain(e){let[R,...W]=e,Y=[];if(this._findAll(R.trim().toLowerCase(),Y),W.length===0)return Y[0]??null;for(let e of Y){let R=e._queryDescendantChain(W);if(R)return R}return null}},DOMDocument=class extends DOMElement{documentElement=null;constructor(){super(`#document`),this.nodeType=9,this.nodeName=`#document`}querySelector(e){if(this.documentElement){let R=e.trim().toLowerCase();return this.documentElement.tagName===R?this.documentElement:this.documentElement.querySelector(e)}return super.querySelector(e)}querySelectorAll(e){let R=e.trim().toLowerCase(),W=[];return this.documentElement&&(this.documentElement.tagName===R&&W.push(this.documentElement),this.documentElement._findAll(R,W)),W}};const na=/\s+([\w:.-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+))/g;function parseAttributes(e,R){let W;for(na.lastIndex=0;(W=na.exec(e))!==null;)R.setAttribute(W[1],W[2]??W[3]??W[4]??``)}function parseXml(e){let R=new DOMDocument,W=[R],Y=0,X=e.length;for(;Y<X;){let ie=e.indexOf(`<`,Y);if(ie===-1){let R=e.slice(Y);if(R.trim()){let e=new DOMNode(3,`#text`,R),Y=W[W.length-1];e.parentNode=Y,Y.childNodes.push(e)}break}if(ie>Y){let R=e.slice(Y,ie);if(R.trim()){let e=new DOMNode(3,`#text`,R),Y=W[W.length-1];e.parentNode=Y,Y.childNodes.push(e)}}if(e.startsWith(`<![CDATA[`,ie)){let R=e.indexOf(`]]>`,ie);if(R===-1)break;let X=new DOMNode(4,`#cdata-section`,e.slice(ie+9,R)),ae=W[W.length-1];X.parentNode=ae,ae.childNodes.push(X),Y=R+3;continue}if(e.startsWith(`<!--`,ie)){let R=e.indexOf(`-->`,ie);Y=R===-1?X:R+3;continue}if(e.startsWith(`<?`,ie)||e.startsWith(`<!`,ie)){let R=e.indexOf(`>`,ie);Y=R===-1?X:R+1;continue}let ae=findTagEnd(e,ie+1);if(ae===-1)break;let le=e.slice(ie+1,ae);if(le.startsWith(`/`)){W.length>1&&W.pop(),Y=ae+1;continue}let _e=le.endsWith(`/`),ye=_e?le.slice(0,-1):le,be=ye.search(/\s/),Ce=(be===-1?ye:ye.slice(0,be)).trim();if(!Ce){Y=ae+1;continue}let Te=new DOMElement(Ce);be!==-1&&parseAttributes(ye.slice(be),Te);let Oe=W[W.length-1];Te.parentNode=Oe,Oe.childNodes.push(Te),Oe===R&&!R.documentElement&&(R.documentElement=Te),_e||W.push(Te),Y=ae+1}return R}function findTagEnd(e,R){let W=!1,Y=!1;for(let X=R;X<e.length;X++){let R=e[X];if(R===`"`&&!W){Y=!Y;continue}if(R===`'`&&!Y){W=!W;continue}if(R===`>`&&!W&&!Y)return X}return-1}var DOMParser$1=class{static{__name$1(this,`DOMParser`)}parseFromString(e,R){return parseXml(e)}};const aa=globalThis;aa.DOMParser===void 0&&(aa.DOMParser=DOMParser$1);var GamepadEvent=class extends Event$1{gamepad;constructor(e,R){super(e,R),this.gamepad=R.gamepad}get[Symbol.toStringTag](){return`GamepadEvent`}};const sa={LEFT_X:0,LEFT_Y:1,RIGHT_X:2,RIGHT_Y:3,LEFT_TRIGGER:4,RIGHT_TRIGGER:5},ca={LEFT_STICK_X:0,LEFT_STICK_Y:1,RIGHT_STICK_X:2,RIGHT_STICK_Y:3},da=new Map([[sa.LEFT_X,ca.LEFT_STICK_X],[sa.LEFT_Y,ca.LEFT_STICK_Y],[sa.RIGHT_X,ca.RIGHT_STICK_X],[sa.RIGHT_Y,ca.RIGHT_STICK_Y]]),pa=.5,_a={BTN_SOUTH:304,BTN_EAST:305,BTN_C:306,BTN_NORTH:307,BTN_WEST:308,BTN_Z:309,BTN_TL:310,BTN_TR:311,BTN_TL2:312,BTN_TR2:313,BTN_SELECT:314,BTN_START:315,BTN_MODE:316,BTN_THUMBL:317,BTN_THUMBR:318,BTN_DPAD_UP:544,BTN_DPAD_DOWN:545,BTN_DPAD_LEFT:546,BTN_DPAD_RIGHT:547},ya={FACE_1:0,FACE_2:1,FACE_3:2,FACE_4:3,LEFT_BUMPER:4,RIGHT_BUMPER:5,LEFT_TRIGGER:6,RIGHT_TRIGGER:7,SELECT:8,START:9,LEFT_STICK:10,RIGHT_STICK:11,DPAD_UP:12,DPAD_DOWN:13,DPAD_LEFT:14,DPAD_RIGHT:15,HOME:16},ba=new Map([[_a.BTN_SOUTH,ya.FACE_1],[_a.BTN_EAST,ya.FACE_2],[_a.BTN_WEST,ya.FACE_3],[_a.BTN_NORTH,ya.FACE_4],[_a.BTN_TL,ya.LEFT_BUMPER],[_a.BTN_TR,ya.RIGHT_BUMPER],[_a.BTN_TL2,ya.LEFT_TRIGGER],[_a.BTN_TR2,ya.RIGHT_TRIGGER],[_a.BTN_SELECT,ya.SELECT],[_a.BTN_START,ya.START],[_a.BTN_THUMBL,ya.LEFT_STICK],[_a.BTN_THUMBR,ya.RIGHT_STICK],[_a.BTN_DPAD_UP,ya.DPAD_UP],[_a.BTN_DPAD_DOWN,ya.DPAD_DOWN],[_a.BTN_DPAD_LEFT,ya.DPAD_LEFT],[_a.BTN_DPAD_RIGHT,ya.DPAD_RIGHT],[_a.BTN_MODE,ya.HOME]]);var GamepadButton=class{pressed;touched;value;constructor(e=!1,R=!1,W=0){this.pressed=e,this.touched=R,this.value=W}get[Symbol.toStringTag](){return`GamepadButton`}},Gamepad$1=class{static{__name$1(this,`Gamepad`)}id;index;connected;timestamp;mapping;axes;buttons;vibrationActuator;constructor(e){this.id=e.id,this.index=e.index,this.connected=e.connected,this.timestamp=e.timestamp,this.mapping=e.mapping,this.axes=Object.freeze([...e.axes]),this.buttons=Object.freeze(e.buttons),this.vibrationActuator=e.vibrationActuator??null}get[Symbol.toStringTag](){return`Gamepad`}},ManetteHapticActuator=class{effects;_device;constructor(e){this._device=e,this.effects=e.has_rumble()?[`dual-rumble`]:[]}playEffect(e,R){if(e!==`dual-rumble`||!this._device.has_rumble())return Promise.resolve(`complete`);let W=R?.duration??200,Y=Math.round((R?.strongMagnitude??1)*65535),X=Math.round((R?.weakMagnitude??1)*65535);return this._device.rumble(Y,X,Math.min(W,32767)),Promise.resolve(`complete`)}reset(){return this._device.has_rumble()&&this._device.rumble(0,0,0),Promise.resolve(`complete`)}},GamepadManager=class{_monitor=null;_slots=Array.from({length:4}).fill(null);_monitorSignalIds=[];_ManetteModule=null;_initPromise=null;_initialized=!1;_ensureInit(){this._initialized||(this._initPromise||=this._init())}async _init(){try{let e=await import(`gi://Manette`);this._ManetteModule=e.default}catch{this._initialized=!0;return}let e=new this._ManetteModule.Monitor;this._monitor=e;let R=e.iterate(),W=R.next();for(;W[0];){let e=W[1];e&&this._onDeviceConnected(e),W=R.next()}this._monitorSignalIds.push(e.connect(`device-connected`,(e,R)=>{this._onDeviceConnected(R)}),e.connect(`device-disconnected`,(e,R)=>{this._onDeviceDisconnected(R)})),this._initialized=!0}_onDeviceConnected(e){let R=-1;for(let e=0;e<4;e++)if(this._slots[e]===null){R=e;break}if(R===-1)return;let W={device:e,index:R,connected:!0,timestamp:performance.now(),buttons:new Float64Array(17),buttonsPressed:Array.from({length:17}).fill(!1),axes:new Float64Array(4),hapticActuator:new ManetteHapticActuator(e),signalIds:[]};W.signalIds.push(e.connect(`button-press-event`,(e,R)=>{this._onButtonPress(W,R)}),e.connect(`button-release-event`,(e,R)=>{this._onButtonRelease(W,R)}),e.connect(`absolute-axis-event`,(e,R)=>{this._onAxisChange(W,R)}),e.connect(`hat-axis-event`,(e,R)=>{this._onHatChange(W,R)}),e.connect(`disconnected`,()=>{this._onDeviceDisconnected(e)})),this._slots[R]=W;let Y=this._createSnapshot(W);Y&&globalThis.dispatchEvent?.(new GamepadEvent(`gamepadconnected`,{gamepad:Y}))}_onDeviceDisconnected(e){let R=this._findStateByDevice(e);if(!R)return;for(let W of R.signalIds)e.disconnect(W);R.connected=!1;let W=this._createSnapshot(R);this._slots[R.index]=null,W&&globalThis.dispatchEvent?.(new GamepadEvent(`gamepaddisconnected`,{gamepad:W}))}_onButtonPress(e,R){let[W,Y]=R.get_button();if(!W)return;let X=ba.get(Y);X!==void 0&&(e.buttons[X]=1,e.buttonsPressed[X]=!0,e.timestamp=performance.now())}_onButtonRelease(e,R){let[W,Y]=R.get_button();if(!W)return;let X=ba.get(Y);X!==void 0&&(e.buttons[X]=0,e.buttonsPressed[X]=!1,e.timestamp=performance.now())}_onAxisChange(e,R){let[W,Y,X]=R.get_absolute();if(!W)return;let ie=da.get(Y);if(ie!==void 0)e.axes[ie]=X;else if(Y===sa.LEFT_TRIGGER){let R=(X+1)/2;e.buttons[ya.LEFT_TRIGGER]=R,e.buttonsPressed[ya.LEFT_TRIGGER]=R>pa}else if(Y===sa.RIGHT_TRIGGER){let R=(X+1)/2;e.buttons[ya.RIGHT_TRIGGER]=R,e.buttonsPressed[ya.RIGHT_TRIGGER]=R>pa}e.timestamp=performance.now()}_onHatChange(e,R){let[W,Y,X]=R.get_hat();W&&(Y===0?(e.buttonsPressed[ya.DPAD_LEFT]=X<0,e.buttons[ya.DPAD_LEFT]=+(X<0),e.buttonsPressed[ya.DPAD_RIGHT]=X>0,e.buttons[ya.DPAD_RIGHT]=+(X>0)):Y===1&&(e.buttonsPressed[ya.DPAD_UP]=X<0,e.buttons[ya.DPAD_UP]=+(X<0),e.buttonsPressed[ya.DPAD_DOWN]=X>0,e.buttons[ya.DPAD_DOWN]=+(X>0)),e.timestamp=performance.now())}_findStateByDevice(e){for(let R of this._slots)if(R&&R.device===e)return R;return null}_createSnapshot(e){let R=[];for(let W=0;W<17;W++)R.push(new GamepadButton(e.buttonsPressed[W],e.buttonsPressed[W]||e.buttons[W]>0,e.buttons[W]));return new Gamepad$1({id:e.device.get_name()??`Gamepad (${e.device.get_guid()})`,index:e.index,connected:e.connected,timestamp:e.timestamp,mapping:`standard`,axes:Array.from(e.axes),buttons:R,vibrationActuator:e.hapticActuator})}getGamepads(){this._ensureInit();let e=[];for(let R=0;R<4;R++){let W=this._slots[R];e.push(W?this._createSnapshot(W):null)}return e}dispose(){for(let e of this._slots)if(e)for(let R of e.signalIds)e.device.disconnect(R);if(this._slots.fill(null),this._monitor){for(let e of this._monitorSignalIds)this._monitor.disconnect(e);this._monitorSignalIds=[],this._monitor=null}this._initialized=!1,this._initPromise=null}};const xa=new GamepadManager,Ea=globalThis;Ea.navigator===void 0&&(Ea.navigator={}),Ea.navigator.getGamepads=()=>xa.getGamepads(),Ea.GamepadEvent===void 0&&(Ea.GamepadEvent=GamepadEvent);function btoaPolyfill(e){if(typeof globalThis.btoa==`function`)return globalThis.btoa(e);let R=``,W=0;for(;W+2<e.length;W+=3){let Y=e.charCodeAt(W)<<16|e.charCodeAt(W+1)<<8|e.charCodeAt(W+2);R+=Da[Y>>18&63]+Da[Y>>12&63]+Da[Y>>6&63]+Da[Y&63]}if(W+1===e.length){let Y=e.charCodeAt(W)<<16;R+=Da[Y>>18&63]+Da[Y>>12&63]+`==`}else if(W+2===e.length){let Y=e.charCodeAt(W)<<16|e.charCodeAt(W+1)<<8;R+=Da[Y>>18&63]+Da[Y>>12&63]+Da[Y>>6&63]+`=`}return R}function base64Decode(e){let R=e.replace(/[=\s]/g,``),W=new Uint8Array(R.length*3>>2),Y=0,X=0,ie=0;for(let e=0;e<R.length;e++)Y=Y<<6|Oa[R.charCodeAt(e)],X+=6,X>=8&&(X-=8,W[ie++]=Y>>X&255);return W.subarray(0,ie)}var Da,Oa,Aa=__esmMin(()=>{Da=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Oa=new Uint8Array(256);for(let e=0;e<64;e++)Oa[Da.charCodeAt(e)]=e});function normalizeEncoding(e){if(!e||e===`utf8`||e===`utf-8`)return`utf8`;switch((``+e).toLowerCase().replace(/-/g,``)){case`utf8`:return`utf8`;case`ascii`:return`ascii`;case`latin1`:case`binary`:return`latin1`;case`base64`:return`base64`;case`base64url`:return`base64url`;case`hex`:return`hex`;case`ucs2`:case`utf16le`:return`utf16le`;default:return`utf8`}}function checkEncoding(e){let R=(``+e).toLowerCase().replace(/-/g,``);if(!Pa.includes(R))throw TypeError(`Unknown encoding: ${e}`)}var Pa,La=__esmMin(()=>{Pa=[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`]});function encodeString(e,R){switch(R){case`utf8`:return textEncoder().encode(e);case`ascii`:{let R=new Uint8Array(e.length);for(let W=0;W<e.length;W++)R[W]=e.charCodeAt(W)&127;return R}case`latin1`:{let R=new Uint8Array(e.length);for(let W=0;W<e.length;W++)R[W]=e.charCodeAt(W)&255;return R}case`base64`:return base64Decode(e.replace(/-/g,`+`).replace(/_/g,`/`));case`base64url`:return encodeString(e.replace(/-/g,`+`).replace(/_/g,`/`),`base64`);case`hex`:{let R=e.length>>>1,W=new Uint8Array(R);for(let Y=0;Y<R;Y++){let R=parseInt(e[Y*2],16),X=parseInt(e[Y*2+1],16);if(Number.isNaN(R)||Number.isNaN(X))break;W[Y]=R<<4|X}return W}case`utf16le`:{let R=new Uint8Array(e.length*2);for(let W=0;W<e.length;W++){let Y=e.charCodeAt(W);R[W*2]=Y&255,R[W*2+1]=Y>>8&255}return R}default:return textEncoder().encode(e)}}function decodeString(e,R,W,Y){let X=W!==void 0||Y!==void 0?e.subarray(W??0,Y??e.length):e;switch(R){case`utf8`:return textDecoder().decode(X);case`ascii`:{let e=``;for(let R=0;R<X.length;R++)e+=String.fromCharCode(X[R]&127);return e}case`latin1`:{let e=``;for(let R=0;R<X.length;R++)e+=String.fromCharCode(X[R]);return e}case`base64`:{let e=``;for(let R=0;R<X.length;R++)e+=String.fromCharCode(X[R]);return btoaPolyfill(e)}case`base64url`:return decodeString(X,`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``);case`hex`:{let e=``;for(let R=0;R<X.length;R++)e+=X[R].toString(16).padStart(2,`0`);return e}case`utf16le`:{let e=``;for(let R=0;R+1<X.length;R+=2)e+=String.fromCharCode(X[R]|X[R+1]<<8);return e}default:return textDecoder().decode(X)}}function checkOffset(e,R,W){if(e+R>W)throw RangeError(`Attempt to access memory outside buffer bounds`)}var Ra,Ba,textEncoder,textDecoder,Va=__esmMin(()=>{Aa(),textEncoder=()=>Ra??=new TextEncoder,textDecoder=()=>Ba??=new TextDecoder}),Ga,Ka,qa=__esmMin(()=>{Va(),La(),Ga=typeof SharedArrayBuffer<`u`,Ka=class Buffer extends Uint8Array{static _isBuffer=!0;static alloc(e,R,W){if(typeof e!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof e}`);if(e<0)throw RangeError(`The value "${e}" is invalid for option "size"`);let Y=new Buffer(e);return R!==void 0&&R!==0&&Y.fill(R,0,e,W),Y}static allocUnsafe(e){if(typeof e!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof e}`);return new Buffer(e)}static allocUnsafeSlow(e){return Buffer.allocUnsafe(e)}static from(e,R,W){if(typeof e==`string`){let W=normalizeEncoding(R);if(R&&typeof R==`string`){let e=(``+R).toLowerCase().replace(/-/g,``);[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`,``].includes(e)||checkEncoding(R)}let Y=encodeString(e,W);return new Buffer(Y.buffer,Y.byteOffset,Y.byteLength)}if(ArrayBuffer.isView(e)){let R=new Buffer(e.buffer,e.byteOffset,e.byteLength),W=new Buffer(R.length);return W.set(R),W}if(e instanceof ArrayBuffer){let Y=R||0;return new Buffer(e,Y,W===void 0?e.byteLength-Y:W)}if(Ga&&e instanceof SharedArrayBuffer){let Y=R||0,X=W===void 0?e.byteLength-Y:W;return new Buffer(new Uint8Array(e,Y,X))}if(typeof e==`object`&&e&&typeof e.viewBytes==`function`&&typeof e.byteLength==`number`&&e.constructor?.name===`SharedBuffer`){let Y=e,X=R||0,ie=W===void 0?Y.byteLength-X:W,ae=Y.viewBytes(X,ie);return new Buffer(ae.buffer,ae.byteOffset,ae.byteLength)}if(Array.isArray(e)){let R=new Buffer(e.length);for(let W=0;W<e.length;W++)R[W]=e[W]&255;return R}throw TypeError(`The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array`)}static isBuffer(e){return e instanceof Buffer}static isEncoding(e){if(typeof e!=`string`)return!1;let R=e.toLowerCase().replace(/-/g,``);return[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`].includes(R)}static byteLength(e,R){if(typeof e!=`string`){if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer||Ga&&e instanceof SharedArrayBuffer)return e.byteLength;throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer`)}switch(normalizeEncoding(R)){case`utf8`:return new TextEncoder().encode(e).byteLength;case`ascii`:case`latin1`:return e.length;case`base64`:case`base64url`:{let R=e.length;for(;R>0&&(e[R-1]===`=`||e[R-1]===` `);)R--;return R*3>>>2}case`hex`:return e.length>>>1;case`utf16le`:return e.length*2;default:return new TextEncoder().encode(e).byteLength}}static compare(e,R){if(!(e instanceof Uint8Array)||!(R instanceof Uint8Array))throw TypeError(`Arguments must be Buffers or Uint8Arrays`);let W=Math.min(e.length,R.length);for(let Y=0;Y<W;Y++){if(e[Y]<R[Y])return-1;if(e[Y]>R[Y])return 1}return e.length<R.length?-1:+(e.length>R.length)}static concat(e,R){if(e.length===0)return Buffer.alloc(0);if(R===void 0){R=0;for(let W=0;W<e.length;W++)R+=e[W].length}let W=Buffer.alloc(R),Y=0;for(let X=0;X<e.length;X++){let ie=e[X],ae=Math.min(ie.length,R-Y);ae<=0||(W.set(ie.subarray(0,ae),Y),Y+=ae)}return W}static poolSize=8192;toString(e,R,W){let Y=normalizeEncoding(e);return decodeString(this,Y,R,W)}toJSON(){return{type:`Buffer`,data:Array.from(this)}}equals(e){if(!(e instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);if(this.length!==e.length)return!1;for(let R=0;R<this.length;R++)if(this[R]!==e[R])return!1;return!0}compare(e,R,W,Y,X){if(!(e instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);let ie=Y!==void 0||X!==void 0?this.subarray(Y??0,X??this.length):this,ae=R!==void 0||W!==void 0?e.subarray(R??0,W??e.length):e;return Buffer.compare(ie,ae)}copy(e,R=0,W=0,Y){let X=Y??this.length,ie=Math.min(X-W,e.length-R);return ie<=0?0:(e.set(this.subarray(W,W+ie),R),ie)}slice(e,R){let W=e??0,Y=R??this.length,X=super.subarray(W,Y);return new Buffer(X.buffer,X.byteOffset,X.byteLength)}subarray(e,R){let W=super.subarray(e,R);return new Buffer(W.buffer,W.byteOffset,W.byteLength)}write(e,R,W,Y){R??=0;let X=encodeString(e,normalizeEncoding(Y||(typeof W==`string`?W:void 0))),ie=W!==void 0&&typeof W==`number`?Math.min(W,this.length-R):this.length-R,ae=Math.min(X.length,ie);return this.set(X.subarray(0,ae),R),ae}fill(e,R,W,Y){let X=R??0,ie=W??this.length;if(typeof e==`number`)super.fill(e&255,X,ie);else if(typeof e==`string`){let R=encodeString(e,normalizeEncoding(Y));if(R.length===0)super.fill(0,X,ie);else if(R.length===1)super.fill(R[0],X,ie);else for(let e=X;e<ie;e++)this[e]=R[(e-X)%R.length]}else if(e instanceof Uint8Array)if(e.length===0)super.fill(0,X,ie);else for(let R=X;R<ie;R++)this[R]=e[(R-X)%e.length];return this}indexOf(e,R,W){if(typeof e==`number`)return super.indexOf(e&255,R);let Y=typeof e==`string`?encodeString(e,normalizeEncoding(W)):e,X=R??0;outer:for(let e=X;e<=this.length-Y.length;e++){for(let R=0;R<Y.length;R++)if(this[e+R]!==Y[R])continue outer;return e}return-1}lastIndexOf(e,R,W){if(typeof e==`number`)return R===void 0?super.lastIndexOf(e&255):super.lastIndexOf(e&255,R);let Y=typeof e==`string`?encodeString(e,normalizeEncoding(W)):e,X=R===void 0?this.length-Y.length:Math.min(R,this.length-Y.length);outer:for(let e=X;e>=0;e--){for(let R=0;R<Y.length;R++)if(this[e+R]!==Y[R])continue outer;return e}return-1}includes(e,R,W){return this.indexOf(e,R,W)!==-1}readUInt8(e=0){return checkOffset(e,1,this.length),this[e]}readUInt16BE(e=0){return checkOffset(e,2,this.length),this[e]<<8|this[e+1]}readUInt16LE(e=0){return checkOffset(e,2,this.length),this[e]|this[e+1]<<8}readUInt32BE(e=0){return checkOffset(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])}readUInt32LE(e=0){return checkOffset(e,4,this.length),this[e+3]*16777216+(this[e+2]<<16|this[e+1]<<8|this[e])>>>0}readInt8(e=0){return checkOffset(e,1,this.length),this[e]|(this[e]&128?4294967040:0)}readInt16BE(e=0){checkOffset(e,2,this.length);let R=this[e]<<8|this[e+1];return R&32768?R|4294901760:R}readInt16LE(e=0){checkOffset(e,2,this.length);let R=this[e]|this[e+1]<<8;return R&32768?R|4294901760:R}readInt32BE(e=0){return checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]}readInt32LE(e=0){return checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24}readFloatBE(e=0){return checkOffset(e,4,this.length),new DataView(this.buffer,this.byteOffset+e,4).getFloat32(0,!1)}readFloatLE(e=0){return checkOffset(e,4,this.length),new DataView(this.buffer,this.byteOffset+e,4).getFloat32(0,!0)}readDoubleBE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getFloat64(0,!1)}readDoubleLE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getFloat64(0,!0)}readBigInt64BE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigInt64(0,!1)}readBigInt64LE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigInt64(0,!0)}readBigUInt64BE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigUint64(0,!1)}readBigUInt64LE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigUint64(0,!0)}readUIntBE(e,R){checkOffset(e,R,this.length);let W=0;for(let Y=0;Y<R;Y++)W=W*256+this[e+Y];return W}readUIntLE(e,R){checkOffset(e,R,this.length);let W=0,Y=1;for(let X=0;X<R;X++)W+=this[e+X]*Y,Y*=256;return W}readIntBE(e,R){checkOffset(e,R,this.length);let W=0;for(let Y=0;Y<R;Y++)W=W*256+this[e+Y];return W>=2**(8*R-1)&&(W-=2**(8*R)),W}readIntLE(e,R){checkOffset(e,R,this.length);let W=0,Y=1;for(let X=0;X<R;X++)W+=this[e+X]*Y,Y*=256;return W>=2**(8*R-1)&&(W-=2**(8*R)),W}writeUInt8(e,R=0){return checkOffset(R,1,this.length),this[R]=e&255,R+1}writeUInt16BE(e,R=0){return checkOffset(R,2,this.length),this[R]=e>>>8&255,this[R+1]=e&255,R+2}writeUInt16LE(e,R=0){return checkOffset(R,2,this.length),this[R]=e&255,this[R+1]=e>>>8&255,R+2}writeUInt32BE(e,R=0){return checkOffset(R,4,this.length),this[R]=e>>>24&255,this[R+1]=e>>>16&255,this[R+2]=e>>>8&255,this[R+3]=e&255,R+4}writeUInt32LE(e,R=0){return checkOffset(R,4,this.length),this[R]=e&255,this[R+1]=e>>>8&255,this[R+2]=e>>>16&255,this[R+3]=e>>>24&255,R+4}writeInt8(e,R=0){return checkOffset(R,1,this.length),e<0&&(e=255+e+1),this[R]=e&255,R+1}writeInt16BE(e,R=0){return checkOffset(R,2,this.length),this[R]=e>>>8&255,this[R+1]=e&255,R+2}writeInt16LE(e,R=0){return checkOffset(R,2,this.length),this[R]=e&255,this[R+1]=e>>>8&255,R+2}writeInt32BE(e,R=0){return checkOffset(R,4,this.length),this[R]=e>>>24&255,this[R+1]=e>>>16&255,this[R+2]=e>>>8&255,this[R+3]=e&255,R+4}writeInt32LE(e,R=0){return checkOffset(R,4,this.length),this[R]=e&255,this[R+1]=e>>>8&255,this[R+2]=e>>>16&255,this[R+3]=e>>>24&255,R+4}writeFloatBE(e,R=0){return checkOffset(R,4,this.length),new DataView(this.buffer,this.byteOffset+R,4).setFloat32(0,e,!1),R+4}writeFloatLE(e,R=0){return checkOffset(R,4,this.length),new DataView(this.buffer,this.byteOffset+R,4).setFloat32(0,e,!0),R+4}writeDoubleBE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setFloat64(0,e,!1),R+8}writeDoubleLE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setFloat64(0,e,!0),R+8}writeBigInt64BE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setBigInt64(0,e,!1),R+8}writeBigInt64LE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setBigInt64(0,e,!0),R+8}writeBigUInt64BE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setBigUint64(0,e,!1),R+8}writeBigUInt64LE(e,R=0){return checkOffset(R,8,this.length),new DataView(this.buffer,this.byteOffset+R,8).setBigUint64(0,e,!0),R+8}swap16(){let e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let R=0;R<e;R+=2){let e=this[R];this[R]=this[R+1],this[R+1]=e}return this}swap32(){let e=this.length;if(e%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let R=0;R<e;R+=4){let e=this[R],W=this[R+1];this[R]=this[R+3],this[R+1]=this[R+2],this[R+2]=W,this[R+3]=e}return this}swap64(){let e=this.length;if(e%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let R=0;R<e;R+=8){let e=this[R],W=this[R+1],Y=this[R+2],X=this[R+3];this[R]=this[R+7],this[R+1]=this[R+6],this[R+2]=this[R+5],this[R+3]=this[R+4],this[R+4]=X,this[R+5]=Y,this[R+6]=W,this[R+7]=e}return this}}}),Ja=__esmMin(()=>{Je(),qa(),globalThis.atob,globalThis.btoa});Ja(),`Buffer`in globalThis||Object.defineProperty(globalThis,"Buffer",{value:Ka,enumerable:!1,writable:!0,configurable:!0}),$e(),typeof globalThis.btoa!=`function`&&Object.defineProperty(globalThis,"btoa",{value:function btoa(e){let R=new Uint8Array(e.length);for(let W=0;W<e.length;W++)R[W]=e.charCodeAt(W)&255;return Qe.base64_encode(R)},enumerable:!0,writable:!0,configurable:!0}),typeof globalThis.atob!=`function`&&Object.defineProperty(globalThis,"atob",{value:function atob(e){let R=Qe.base64_decode(e),W=``;for(let e=0;e<R.length;e++)W+=String.fromCharCode(R[e]);return W},enumerable:!0,writable:!0,configurable:!0}),Vt(),typeof queueMicrotask!=`function`&&Object.defineProperty(globalThis,"queueMicrotask",{value:St,enumerable:!0,writable:!0,configurable:!0});function getGjsGlobal(){return globalThis}function getGioNamespace(){let e=getGjsGlobal().imports?.gi;if(!e)return null;let R=null;try{R=e.GioUnix??null}catch{}if(!R)try{R=e.Gio??null}catch{}return R}function getMonotonicTime(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e?.get_monotonic_time)return BigInt(e.get_monotonic_time())*1000n}catch{}return typeof performance?.now==`function`?BigInt(Math.round(performance.now()*1e6)):BigInt(Date.now())*1000000n}const Ya=getMonotonicTime();function hrtime(e){let R=getMonotonicTime()-Ya,W=Number(R/1000000000n),Y=Number(R%1000000000n);if(e){let R=W-e[0],X=Y-e[1];return X<0&&(R--,X+=1e9),[R,X]}return[W,Y]}function hrtimeBigint(){return getMonotonicTime()-Ya}function detectGjsVersion(){try{let e=getGjsGlobal().imports?.system;if(e?.version!==void 0){let R=Number(e.version);return`${Math.floor(R/1e4)}.${Math.floor(R%1e4/100)}.${R%100}`}}catch{}}function detectNodeVersion(){if(typeof globalThis.process?.versions?.node==`string`)return globalThis.process.versions.node}function detectVersionInfo(){if(detectNodeVersion())return{version:globalThis.process.version,versions:{...globalThis.process.versions},title:globalThis.process?.title||`node`};let e=detectGjsVersion(),R={node:`20.0.0`};return e&&(R.gjs=e),{version:`v20.0.0`,versions:R,title:`gjs`}}function detectPpid(){if(typeof globalThis.process?.ppid==`number`)return globalThis.process.ppid;try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let[,R]=e.file_get_contents(`/proc/self/status`);if(R){let e=new TextDecoder().decode(R).match(/PPid:\s+(\d+)/);if(e)return parseInt(e[1],10)}}}catch{}return 0}function detectPlatform(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e&&e.get_os_info(`ID`))return`linux`}catch{}return getGjsGlobal().imports?.system===void 0&&typeof globalThis.process?.platform==`string`?globalThis.process.platform:`linux`}function detectArch(){return typeof globalThis.process?.arch==`string`?globalThis.process.arch:`x64`}function getPid(){if(typeof globalThis.process?.pid==`number`)return globalThis.process.pid;try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let[,R]=e.file_get_contents(`/proc/self/stat`);if(R){let e=new TextDecoder().decode(R),W=parseInt(e,10);if(!isNaN(W))return W}}}catch{}return 0}function getEnvProxy(){if(typeof globalThis.process?.env==`object`)return globalThis.process.env;try{let e=getGjsGlobal().imports?.gi?.GLib;if(e)return new Proxy({},{get(R,W){if(typeof W==`string`)return e.getenv(W)??void 0},set(R,W,Y){return typeof W==`string`?(e.setenv(W,String(Y),!0),!0):!1},deleteProperty(R,W){return typeof W==`string`?(e.unsetenv(W),!0):!1},has(R,W){return typeof W==`string`?e.getenv(W)!==null:!1},ownKeys(R){return e.listenv()},getOwnPropertyDescriptor(R,W){if(typeof W!=`string`)return;let Y=e.getenv(W);if(Y!==null)return{configurable:!0,enumerable:!0,writable:!0,value:Y}}})}catch{}return{}}function getArgv(){if(globalThis.process?.argv!==void 0)return globalThis.process.argv;try{let e=getGjsGlobal().imports?.system;if(e?.programArgs)return[`gjs`,e.programInvocationName||``,...e.programArgs]}catch{}return[`gjs`]}function getExecPath(){if(typeof globalThis.process?.execPath==`string`)return globalThis.process.execPath;try{let e=getGjsGlobal().imports?.system;if(e?.programInvocationName)return e.programInvocationName}catch{}return`/usr/bin/gjs`}function getCwd(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e?.get_current_dir)return e.get_current_dir()}catch{}return`/`}function chdir(e){let R=getGjsGlobal().imports?.gi?.GLib;try{if(R?.chdir){if(!R.file_test(e,16)){let R=Error(`ENOENT: no such file or directory, chdir '${e}'`);throw R.code=`ENOENT`,R.syscall=`chdir`,R.path=e,R}R.chdir(e);return}}catch(e){if(e&&typeof e==`object`&&e.code===`ENOENT`)throw e}if(!R){let R=globalThis.process;if(R&&typeof R.chdir==`function`){R.chdir(e);return}}throw Error(`process.chdir() is not supported in this environment`)}Vt();function exitProcess(e){let R=getGjsGlobal().imports,W=R?.gi?.GLib,Y=R?.system,X=W?.idle_add,ie=W?.SOURCE_REMOVE,ae=W?.PRIORITY_DEFAULT;if(Y?.exit&&X&&typeof ae==`number`&&typeof ie==`boolean`)return ensureMainLoop(),X(ae,()=>(quitMainLoop(),Y.exit(e),ie)),new Promise(()=>{});try{Y?.exit&&Y.exit(e)}catch{}let le=globalThis.process;throw le&&typeof le.exit==`function`&&le.exit(e),Error(`process.exit(${e})`)}function isGjs(){return getGjsGlobal().imports?.gi?.GLib!==void 0}function killPid(e,R){try{let W=getGjsGlobal().imports?.gi?.GLib;if(W){let Y=typeof R==`number`?String(R):R||`SIGTERM`,X=Y.startsWith(`SIG`)?`-${Y.slice(3)}`:`-${Y}`;return W.spawn_command_line_sync(`kill ${X} ${e}`),!0}}catch{}if(!isGjs()){let W=globalThis.process;if(W&&typeof W.kill==`function`)return W.kill(e,R)}throw Error(`process.kill() is not supported in this environment`)}function memoryUsage(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let[,R]=e.file_get_contents(`/proc/self/status`);if(R){let e=new TextDecoder().decode(R).match(/VmRSS:\s+(\d+)/),W=e?parseInt(e[1],10)*1024:0;return{rss:W,heapTotal:W,heapUsed:W,external:0,arrayBuffers:0}}}}catch{}if(!isGjs()){let e=globalThis.process;if(e&&typeof e.memoryUsage==`function`)return e.memoryUsage()}return{rss:0,heapTotal:0,heapUsed:0,external:0,arrayBuffers:0}}function cpuUsage(e){if(!isGjs()){let R=globalThis.process;if(R&&typeof R.cpuUsage==`function`)return R.cpuUsage(e)}return{user:0,system:0}}let go=null;const Vo=globalThis.imports?.gi;if(Vo)try{go=Vo.GjsifyTerminal}catch{}const Ko=go;function onceWrapper(){let{target:e,type:R,listener:W}=this;return this.wrapperFn&&e.removeListener(R,this.wrapperFn),W.apply(e,Array.from(arguments))}function _onceWrap(e,R,W){let Y={target:e,type:R,listener:W,wrapperFn:void 0},X=onceWrapper.bind(Y);return Y.wrapperFn=X,X.listener=W,X}function arrayClone(e){switch(e.length){case 0:return[];case 1:return[e[0]];case 2:return[e[0],e[1]];case 3:return[e[0],e[1],e[2]];default:return e.slice()}}function checkListener(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}function validateNumber(e,R){if(typeof e!=`number`||e!==e)throw TypeError(`The "${R}" argument must be of type number. Received type ${typeof e}`)}function spliceOne(e,R){for(;R+1<e.length;R++)e[R]=e[R+1];e.pop()}function unwrapListeners(e){let R=Array.from({length:e.length});for(let W=0;W<R.length;++W)R[W]=e[W].listener??e[W];return R}function createAbortError$1(e){let R=Error(`The operation was aborted`);return R.name=`AbortError`,R.code=`ABORT_ERR`,e?.reason&&(R.cause=e.reason),R}var es,rs,as,os=__esmMin(()=>{bt(),es=Symbol(`kCapture`),rs=Symbol.for(`nodejs.rejection`),as=class EventEmitter{static defaultMaxListeners=10;static errorMonitor=Symbol(`events.errorMonitor`);static captureRejectionSymbol=rs;static _captureRejections=!1;static get captureRejections(){return EventEmitter._captureRejections}static set captureRejections(e){if(typeof e!=`boolean`)throw TypeError(`The "captureRejections" argument must be of type boolean.`);EventEmitter._captureRejections=e}_events;_eventsCount;_maxListeners;[es];constructor(e){this._events=Object.create(null),this._eventsCount=0,this._maxListeners=void 0,this[es]=e?.captureRejections??EventEmitter._captureRejections}setMaxListeners(e){if(validateNumber(e,`n`),e<0)throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e);return this._maxListeners=e,this}getMaxListeners(){return this._maxListeners??EventEmitter.defaultMaxListeners}emit(e,...R){let W=this._events,Y=e===`error`;if(W!==void 0)Y&&W[EventEmitter.errorMonitor]!==void 0&&this.emit(EventEmitter.errorMonitor,...R),Y&&=W.error===void 0;else if(!Y)return!1;if(Y){let e;if(e=R.length>0?R[0]:Error(`Unhandled error.`),e instanceof Error)throw e;let W=Error(`Unhandled error. (`+e+`)`);throw W.context=e,W}let X=W[e];if(X===void 0)return!1;if(typeof X==`function`){let W=X.apply(this,R);W!=null&&this[es]&&this._addCatch(W,e,R)}else{let W=arrayClone(X),Y=W.length;for(let X=0;X<Y;++X){let Y=W[X].apply(this,R);Y!=null&&this[es]&&this._addCatch(Y,e,R)}}return!0}_addCatch(e,R,W){typeof e?.then==`function`&&e.then(void 0,e=>{let Y=this[rs];if(typeof Y==`function`)Y.call(this,e,R,...W);else{let R=this[es];try{this[es]=!1,this.emit(`error`,e)}finally{this[es]=R}}})}addListener(e,R){return this._addListener(e,R,!1)}on(e,R){return this._addListener(e,R,!1)}prependListener(e,R){return this._addListener(e,R,!0)}_addListener(e,R,W){checkListener(R);let Y=this._events;Y===void 0?(Y=this._events=Object.create(null),this._eventsCount=0):Y.newListener!==void 0&&(this.emit(`newListener`,e,R.listener??R),Y=this._events);let X=Y[e];X===void 0?(Y[e]=R,++this._eventsCount):typeof X==`function`?Y[e]=W?[R,X]:[X,R]:W?X.unshift(R):X.push(R);let ie=this.getMaxListeners();if(ie>0){let R=typeof Y[e]==`function`?1:Y[e].length;if(R>ie&&!Y[e].warned){typeof Y[e]!=`function`&&(Y[e].warned=!0);let W=Error(`Possible EventEmitter memory leak detected. ${R} ${String(e)} listeners added to [${this.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);W.name=`MaxListenersExceededWarning`,yt.warn(W.message)}}return this}once(e,R){return checkListener(R),this.on(e,_onceWrap(this,e,R)),this}prependOnceListener(e,R){return checkListener(R),this.prependListener(e,_onceWrap(this,e,R)),this}removeListener(e,R){checkListener(R);let W=this._events;if(W===void 0)return this;let Y=W[e];if(Y===void 0)return this;if(Y===R||Y.listener===R)--this._eventsCount===0?this._events=Object.create(null):(delete W[e],W.removeListener&&this.emit(`removeListener`,e,Y.listener??R));else if(typeof Y!=`function`){let X=-1;for(let e=Y.length-1;e>=0;e--)if(Y[e]===R||Y[e].listener===R){X=e;break}if(X<0)return this;X===0?Y.shift():spliceOne(Y,X),Y.length===1&&(W[e]=Y[0]),W.removeListener!==void 0&&this.emit(`removeListener`,e,R.listener??R)}return this}off(e,R){return this.removeListener(e,R)}removeAllListeners(e){let R=this._events;if(R===void 0)return this;if(R.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):R[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete R[e]),this;if(arguments.length===0){let e=Object.keys(R);for(let R=0;R<e.length;++R){let W=e[R];W!==`removeListener`&&this.removeAllListeners(W)}return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}let W=R[e];if(typeof W==`function`)this.removeListener(e,W);else if(W!==void 0)for(let R=W.length-1;R>=0;R--)this.removeListener(e,W[R]);return this}listeners(e){let R=this._events;if(R===void 0)return[];let W=R[e];return W===void 0?[]:typeof W==`function`?[W.listener??W]:unwrapListeners(W)}rawListeners(e){let R=this._events;if(R===void 0)return[];let W=R[e];return W===void 0?[]:typeof W==`function`?[W]:arrayClone(W)}listenerCount(e){let R=this._events;if(R===void 0)return 0;let W=R[e];return W===void 0?0:typeof W==`function`?1:W.length}eventNames(){return(this._eventsCount??0)>0?Reflect.ownKeys(this._events):[]}static once(e,R,W){return new Promise((Y,X)=>{let ie=W?.signal;if(ie?.aborted){X(createAbortError$1(ie));return}if(typeof e.addEventListener==`function`){let W=e,handler=(...e)=>{ie&&ie.removeEventListener(`abort`,abortHandler),Y(e)},errorHandler=e=>{ie&&ie.removeEventListener(`abort`,abortHandler),W.removeEventListener(`error`,errorHandler),X(e)},abortHandler=()=>{W.removeEventListener(R,handler),W.removeEventListener(`error`,errorHandler),X(createAbortError$1(ie))};W.addEventListener(R,handler,{once:!0}),R!==`error`&&W.addEventListener(`error`,errorHandler,{once:!0}),ie&&ie.addEventListener(`abort`,abortHandler,{once:!0});return}let ae=e,eventHandler=(...e)=>{ie&&ie.removeEventListener(`abort`,abortHandler),errorHandler!==void 0&&ae.removeListener(`error`,errorHandler),Y(e)},errorHandler;R!==`error`&&(errorHandler=e=>{ae.removeListener(R,eventHandler),ie&&ie.removeEventListener(`abort`,abortHandler),X(e)},ae.once(`error`,errorHandler)),ae.once(R,eventHandler);let abortHandler=()=>{ae.removeListener(R,eventHandler),errorHandler&&ae.removeListener(`error`,errorHandler),X(createAbortError$1(ie))};ie&&ie.addEventListener(`abort`,abortHandler,{once:!0})})}static on(e,R,W){let Y=W?.signal;if(Y?.aborted)throw createAbortError$1(Y);let X=W?.highWaterMark??2**53-1,ie=W?.lowWaterMark??1;validateNumber(X,`highWaterMark`),validateNumber(ie,`lowWaterMark`);let ae=[],le=[],_e=null,ye=!1,be=!1,eventHandler=(...R)=>{if(le.length>0){let{resolve:e}=le.shift();e({value:R,done:!1})}else ae.push(R),ae.length>=X&&!be&&(be=!0,typeof e.pause==`function`&&e.pause())},errorHandler=e=>{if(_e=e,le.length>0){let{reject:R}=le.shift();R(e)}Ce.return()},abortHandler=()=>{errorHandler(createAbortError$1(Y))};e.on(R,eventHandler),R!==`error`&&e.on(`error`,errorHandler),Y&&Y.addEventListener(`abort`,abortHandler,{once:!0});let cleanup=()=>{e.removeListener(R,eventHandler),e.removeListener(`error`,errorHandler),Y&&Y.removeEventListener(`abort`,abortHandler),ye=!0;for(let{resolve:e}of le)e({value:void 0,done:!0});le.length=0,ae.length=0},Ce={next(){if(ae.length>0){let R=ae.shift();return be&&ae.length<ie&&(be=!1,typeof e.resume==`function`&&e.resume()),Promise.resolve({value:R,done:!1})}if(_e){let e=Promise.reject(_e);return _e=null,e}return ye?Promise.resolve({value:void 0,done:!0}):new Promise((e,R)=>{le.push({resolve:e,reject:R})})},return(){return cleanup(),Promise.resolve({value:void 0,done:!0})},throw(e){return ye||(_e=e,cleanup()),Promise.reject(e)},[Symbol.asyncIterator](){return this}};return Ce}static listenerCount(e,R){return e.listenerCount(R)}static getEventListeners(e,R){return typeof e.listeners==`function`?e.listeners(R):[]}static setMaxListeners(e,...R){if(validateNumber(e,`n`),e<0)throw RangeError(`The value of "n" is out of range.`);if(R.length===0)EventEmitter.defaultMaxListeners=e;else for(let W of R)typeof W.setMaxListeners==`function`&&W.setMaxListeners(e)}static getMaxListeners(e){return typeof e.getMaxListeners==`function`?e.getMaxListeners():EventEmitter.defaultMaxListeners}static addAbortListener(e,R){e.aborted&&Promise.resolve().then(()=>R());let handler=()=>R();return e.addEventListener(`abort`,handler,{once:!0}),{[Symbol.dispose](){e.removeEventListener(`abort`,handler)}}}},as.EventEmitter=as;for(let e of[`setMaxListeners`,`getMaxListeners`,`emit`,`addListener`,`on`,`prependListener`,`once`,`prependOnceListener`,`removeListener`,`off`,`removeAllListeners`,`listeners`,`rawListeners`,`listenerCount`,`eventNames`]){let R=as.prototype[e];typeof R==`function`&&Object.defineProperty(as.prototype,e,{enumerable:!0,configurable:!0,writable:!0,value:R})}Object.defineProperty(as.prototype,"_events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(as.prototype,"_eventsCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(as.prototype,"_maxListeners",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),__name$1(createAbortError$1,`createAbortError`)}),ss,cs=__esmMin(()=>{os(),Vt(),ss=makeCallable(as),ss.EventEmitter=ss,ss.captureRejectionSymbol,ss.errorMonitor,ss.defaultMaxListeners,ss.setMaxListeners,ss.getMaxListeners,ss.once,ss.on,ss.getEventListeners,ss.listenerCount,ss.addAbortListener});bt(),cs(),Vt();const ls=new TextEncoder;var ProcessWriteStream=class extends ss{fd;writable=!0;_outGio=null;constructor(e){super(),this.fd=e;let R=getGioNamespace();if(R){let e=R.UnixOutputStream??R.OutputStream;if(e)try{this._outGio=e.new(this.fd,!1)}catch{}}}write(e){if(this._outGio)try{let R=typeof e==`string`?ls.encode(e):e;return this._outGio.write_all(R,null),!0}catch{}return this.fd===2?yt.error(e):yt.log(e),!0}get isTTY(){if(Ko)return Ko.Terminal.is_tty(this.fd);try{let e=getGjsGlobal().imports?.gi?.GLib;if(e)return!!e.log_writer_supports_color(this.fd)}catch{}return!1}get columns(){if(Ko){let[e,,R]=Ko.Terminal.get_size(this.fd);if(e&&R>0)return R}try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let R=parseInt(e.getenv(`COLUMNS`)??`0`,10);if(R>0)return R}}catch{}return 80}end(){}destroy(){}get rows(){if(Ko){let[e,R]=Ko.Terminal.get_size(this.fd);if(e&&R>0)return R}try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let R=parseInt(e.getenv(`LINES`)??`0`,10);if(R>0)return R}}catch{}return 24}},ProcessReadStream=class extends ss{fd;isRaw=!1;_gio=null;_stdinGio=null;_reading=!1;_flowing=!1;_sttyCleanupRegistered=!1;_mainLoopHeld=!1;_pendingRead=!1;constructor(e){super(),this.fd=e,this._gio=getGioNamespace()}get isTTY(){return Ko?Ko.Terminal.is_tty(this.fd):!1}setRawMode(e){return Ko&&Ko.Terminal.set_raw_mode(this.fd,e)?(this.isRaw=e,this):(this._setRawModeViaStty(e),this.isRaw=e,this)}_setRawModeViaStty(e){try{let R=globalThis.imports?.gi,W=R?.Gio??R?.Gio;if(!W)return;let Y=W.SubprocessFlags?.STDIN_INHERIT??2,X=e?[`stty`,`-icanon`,`-echo`,`-icrnl`,`min`,`1`,`time`,`0`]:[`stty`,`icanon`,`echo`,`icrnl`];if(new W.SubprocessLauncher({flags:Y}).spawnv(X).wait(null),e&&!this._sttyCleanupRegistered){this._sttyCleanupRegistered=!0;let e=globalThis.process;e?.once&&typeof e.once==`function`&&e.once(`exit`,()=>this._setRawModeViaStty(!1))}}catch{}}setEncoding(e){return this}resume(){return this._flowing=!0,this._gio&&this.fd===0&&!this._reading&&this._startReading(),this}pause(){if(this._flowing=!1,this._reading=!1,this._mainLoopHeld){this._mainLoopHeld=!1;let e=globalThis.imports?.gi,R=e?.GLib??e?.GLib;R?.idle_add?R.idle_add(300,()=>(this._mainLoopHeld||quitMainLoop(),!1)):quitMainLoop()}return this}read(){return null}_startReading(){if(!this._gio||this._reading)return;if(this._pendingRead){this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop());return}if(this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop()),!this._stdinGio){let e=this._gio.UnixInputStream??this._gio.InputStream;if(!e){this._reading=!1;return}try{this._stdinGio=e.new(this.fd,!1)}catch{this._reading=!1;return}}let loop=()=>{if(!this._reading){this._pendingRead=!1;return}this._pendingRead=!0,this._stdinGio.read_bytes_async(4096,0,null,(e,R)=>{this._pendingRead=!1;try{let W=e.read_bytes_finish(R)?.get_data?.()??null;if(W&&W.byteLength>0)this.emit(`data`,Buffer.from(W));else if(W!==null&&W.byteLength===0){this._reading=!1,this.emit(`end`);return}}catch{this._reading=!1;return}this._reading&&loop()})};loop()}};bt(),cs();const us=Date.now();var Process=class extends ss{platform;arch;env;argv;argv0;execPath;pid;ppid;version;versions;title;execArgv;config;exitCode;constructor(){super(),this.platform=detectPlatform(),this.arch=detectArch(),this.env=getEnvProxy(),this.argv=getArgv(),this.argv0=this.argv[0]||`gjs`,this.execPath=getExecPath(),this.execArgv=globalThis.process?.execArgv??[],this.config=globalThis.process?.config??{target_defaults:{},variables:{}},this.pid=getPid(),this.ppid=detectPpid();let e=detectVersionInfo();this.version=e.version,this.versions=e.versions,this.title=e.title}cwd(){return getCwd()}chdir(e){chdir(e)}kill(e,R){return killPid(e,R)}exit(e){return this.exitCode=e??this.exitCode??0,this.emit(`exit`,this.exitCode),exitProcess(this.exitCode)}nextTick(e,...R){typeof queueMicrotask==`function`?queueMicrotask(()=>e(...R)):Promise.resolve().then(()=>e(...R))}hrtime(e){return hrtime(e)}uptime(){return(Date.now()-us)/1e3}memoryUsage(){return memoryUsage()}cpuUsage(e){return cpuUsage(e)}stdout=new ProcessWriteStream(1);stderr=new ProcessWriteStream(2);stdin=new ProcessReadStream(0);abort(){this.exit(1)}umask(e){return 18}emitWarning(e,R){yt.warn(typeof e==`string`?`(${R||`Warning`}): ${e}`:e.message)}};Process.prototype.hrtime.bigint=function(){return hrtimeBigint()};const ds=new Process;if(Ko)try{let e=new Ko.ResizeWatcher;e.connect(`resized`,(e,R,W)=>{ds.stdout.emit(`resize`),ds.stderr.emit(`resize`)}),e.start()}catch{}ds.platform,ds.arch,ds.env,ds.argv,ds.argv0,ds.execPath,ds.pid,ds.ppid,ds.version,ds.versions,ds.cwd.bind(ds),ds.chdir.bind(ds),ds.exit.bind(ds),ds.nextTick.bind(ds),Object.assign(ds.hrtime.bind(ds),{bigint:hrtimeBigint}),ds.uptime.bind(ds),ds.memoryUsage.bind(ds),ds.cpuUsage.bind(ds),ds.kill.bind(ds),ds.abort.bind(ds),ds.umask.bind(ds),ds.emitWarning.bind(ds),ds.execArgv,ds.config,ds.stdout,ds.stderr,ds.stdin,Vt(),typeof Promise.withResolvers!=`function`&&(Promise.withResolvers=function(){let e,R;return{promise:new Promise((W,Y)=>{e=W,R=Y}),resolve:e,reject:R}}),initErrorV8Methods(Error),`global`in globalThis||Object.defineProperty(globalThis,"global",{value:globalThis,writable:!1,enumerable:!1,configurable:!0}),Object.defineProperty(globalThis,"process",{value:ds,enumerable:!1,writable:!0,configurable:!0}),Vt(),typeof globalThis.structuredClone!=`function`&&Object.defineProperty(globalThis,"structuredClone",{value:structuredClone$1,enumerable:!0,writable:!0,configurable:!0});function getGLib(){return globalThis.imports?.gi?.GLib}const fs=getGLib()!==void 0;var GjsifyTimeout=class{_id=null;_refed=!0;_callback;_delay;_args;_repeat;constructor(e,R,W,Y){this._callback=e,this._delay=R,this._args=W,this._repeat=Y,this._schedule()}_schedule(){let e=getGLib();if(!e)return;let R=e.timeout_add.bind(e);this._id=R(e.PRIORITY_DEFAULT,this._delay,()=>{try{this._callback.apply(globalThis,this._args)}catch(e){setTimeout(()=>{throw e},0)}return this._repeat?e.SOURCE_CONTINUE:(this._id=null,e.SOURCE_REMOVE)})}ref(){return this._refed=!0,this}unref(){return this._refed=!1,this}hasRef(){return this._refed}refresh(){return this._cancel(),this._schedule(),this}_cancel(){if(this._id!==null){try{getGLib()?.Source.remove(this._id)}catch{}this._id=null}}[Symbol.toPrimitive](){return this._id}[Symbol.dispose](){this._cancel()}};function removeById(e){if(e instanceof GjsifyTimeout)e._cancel();else if(typeof e==`number`)try{getGLib()?.Source.remove(e)}catch{}}if(fs){let setT=(e,R=0,...W)=>new GjsifyTimeout(e,Math.max(0,R|0),W,!1),setI=(e,R=0,...W)=>new GjsifyTimeout(e,Math.max(0,R|0),W,!0),e=globalThis;e.setTimeout=setT,e.clearTimeout=removeById,e.setInterval=setI,e.clearInterval=removeById}function setImmediate(e,...R){return setTimeout(e,0,...R)}function clearImmediate(e){clearTimeout(e)}`setImmediate`in globalThis||Object.defineProperty(globalThis,"setImmediate",{value:setImmediate,enumerable:!0,writable:!0,configurable:!0}),`clearImmediate`in globalThis||Object.defineProperty(globalThis,"clearImmediate",{value:clearImmediate,enumerable:!0,writable:!0,configurable:!0}),$e();const ps=Qe.UriFlags.HAS_PASSWORD|Qe.UriFlags.ENCODED|Qe.UriFlags.SCHEME_NORMALIZE;var ms=class URLSearchParams{_entries=[];constructor(e){if(e)if(typeof e==`string`){let R=e.startsWith(`?`)?e.slice(1):e;if(R)for(let e of R.split(`&`)){let R=e.indexOf(`=`);R===-1?this._entries.push([decodeComponent(e),``]):this._entries.push([decodeComponent(e.slice(0,R)),decodeComponent(e.slice(R+1))])}}else if(Array.isArray(e))for(let[R,W]of e)this._entries.push([String(R),String(W)]);else if(e instanceof URLSearchParams)this._entries=e._entries.map(([e,R])=>[e,R]);else for(let R of Object.keys(e))this._entries.push([R,String(e[R])])}get(e){for(let[R,W]of this._entries)if(R===e)return W;return null}getAll(e){return this._entries.filter(([R])=>R===e).map(([,e])=>e)}set(e,R){let W=!1;if(this._entries=this._entries.filter(([R])=>R===e?W?!1:(W=!0,!0):!0),W){for(let W=0;W<this._entries.length;W++)if(this._entries[W][0]===e){this._entries[W][1]=R;break}}else this._entries.push([e,R])}has(e){return this._entries.some(([R])=>R===e)}delete(e){this._entries=this._entries.filter(([R])=>R!==e)}append(e,R){this._entries.push([e,R])}sort(){this._entries.sort((e,R)=>e[0]<R[0]?-1:+(e[0]>R[0]))}toString(){return this._entries.map(([e,R])=>encodeComponent(e)+`=`+encodeComponent(R)).join(`&`)}forEach(e){for(let[R,W]of this._entries)e(W,R,this)}*entries(){yield*this._entries}*keys(){for(let[e]of this._entries)yield e}*values(){for(let[,e]of this._entries)yield e}[Symbol.iterator](){return this.entries()}get size(){return this._entries.length}};function decodeComponent(e){try{return decodeURIComponent(e.replace(/\+/g,` `))}catch{return e}}function encodeComponent(e){return encodeURIComponent(e).replace(/%20/g,`+`)}var hs=class URL{#e;#t;constructor(e,R){let W=e instanceof URL?e.href:String(e);try{if(R!==void 0){let e=R instanceof URL?R.href:String(R),Y=Qe.Uri.parse(e,ps);this.#e=Y.parse_relative(W,ps)}else this.#e=Qe.Uri.parse(W,ps)}catch{throw TypeError(`Invalid URL: ${W}`)}if(!this.#e)throw TypeError(`Invalid URL: ${W}`);this.#t=new ms(this.#e.get_query()||``)}get protocol(){return this.#e.get_scheme()+`:`}get hostname(){return(this.#e.get_host()||``).toLowerCase()}get port(){let e=this.#e.get_port();if(e===-1)return``;let R=this.#e.get_scheme();return(R===`http`||R===`ws`)&&e===80||(R===`https`||R===`wss`)&&e===443||R===`ftp`&&e===21?``:String(e)}get host(){let e=this.hostname,R=this.port;return R?`${e}:${R}`:e}get pathname(){return this.#e.get_path()||`/`}get search(){let e=this.#e.get_query();return e?`?`+e:``}get hash(){let e=this.#e.get_fragment();return e?`#`+e:``}get origin(){let e=this.protocol;return e===`http:`||e===`https:`||e===`ftp:`?`${e}//${this.host}`:`null`}get username(){return this.#e.get_user()||``}get password(){return this.#e.get_password()||``}get href(){let e=this.protocol,R=this.#e.get_scheme();(R===`http`||R===`https`||R===`ftp`||R===`file`||R===`ws`||R===`wss`||this.hostname)&&(e+=`//`);let W=this.username,Y=this.password;W&&(e+=W,Y&&(e+=`:`+Y),e+=`@`),e+=this.hostname,this.port&&(e+=`:`+this.port);let X=this.pathname;return e+=X,e+=this.search,e+=this.hash,e}get searchParams(){return this.#t}toString(){return this.href}toJSON(){return this.href}static _objectURLPaths=new Map;static _objectURLCounter=0;static createObjectURL(e){let R=e?._tmpPath;if(typeof R==`string`&&R.length>0){let e=`file://${R}`;return URL._objectURLPaths.set(e,R),e}return`file:///dev/null`}static revokeObjectURL(e){let R=URL._objectURLPaths.get(e);if(R){try{Qe.unlink(R)}catch{}URL._objectURLPaths.delete(e)}}};typeof globalThis.URL!=`function`&&Object.defineProperty(globalThis,"URL",{value:hs,enumerable:!1,writable:!0,configurable:!0}),typeof globalThis.URLSearchParams!=`function`&&Object.defineProperty(globalThis,"URLSearchParams",{value:ms,enumerable:!1,writable:!0,configurable:!0});let gs;if(globalThis.performance)gs=globalThis.performance;else{let e,_now;try{let R=globalThis.imports?.gi?.GLib;if(!R)throw Error(`GJS imports.gi.GLib not available`);e=R.get_monotonic_time(),_now=()=>(R.get_monotonic_time()-e)/1e3}catch{let R=Date.now();e=0,_now=()=>Date.now()-R}let R=[],W=Date.now()-_now();gs={timeOrigin:W,now:_now,mark(e){let W={name:e,entryType:`mark`,startTime:_now(),duration:0};return R.push(W),W},measure(e,W,Y){let X=0,ie=_now();if(W){let e=R.find(e=>e.entryType===`mark`&&e.name===W);e&&(X=e.startTime)}if(Y){let e=R.find(e=>e.entryType===`mark`&&e.name===Y);e&&(ie=e.startTime)}let ae={name:e,entryType:`measure`,startTime:X,duration:ie-X};return R.push(ae),ae},getEntries(){return[...R]},getEntriesByName(e){return R.filter(R=>R.name===e)},getEntriesByType(e){return R.filter(R=>R.entryType===e)},clearMarks(e){for(let W=R.length-1;W>=0;W--)R[W].entryType===`mark`&&(!e||R[W].name===e)&&R.splice(W,1)},clearMeasures(e){for(let W=R.length-1;W>=0;W--)R[W].entryType===`measure`&&(!e||R[W].name===e)&&R.splice(W,1)},clearResourceTimings(){},setResourceTimingBufferSize(){},toJSON(){return{timeOrigin:W}}}}var PerformanceObserverStub=class{_callback;constructor(e){this._callback=e}observe(e){}disconnect(){}takeRecords(){return[]}};const _s=globalThis,ys=_s.PerformanceObserver||PerformanceObserverStub;_s.PerformanceEntry,_s.PerformanceObserverEntryList,_s.PerformanceMark,_s.PerformanceMeasure;const bs=globalThis;globalThis.performance===void 0&&(bs.performance=gs),typeof bs.PerformanceObserver!=`function`&&(bs.PerformanceObserver=ys);var AudioNode=class{_outputs=new Set;_inputs=new Set;numberOfInputs;numberOfOutputs;channelCount;constructor(e=1,R=1){this.numberOfInputs=e,this.numberOfOutputs=R,this.channelCount=2}connect(e){return this._outputs.add(e),e._inputs.add(this),e}disconnect(e){if(e)this._outputs.delete(e),e._inputs.delete(this);else{for(let e of this._outputs)e._inputs.delete(this);this._outputs.clear()}}};let Cs=!1;function ensureGstInit(){Cs||=(ye.init(null),!0)}var AudioParam=class{defaultValue;minValue;maxValue;_onChange=null;_value;_rampTimerId=null;constructor(e=0,R=-34028235e31,W=34028235e31){this.defaultValue=e,this.minValue=R,this.maxValue=W,this._value=e}get value(){return this._value}set value(e){this._cancelRamp(),this._value=Math.max(this.minValue,Math.min(this.maxValue,e)),this._onChange?.(this._value)}setValueAtTime(e,R){return this.value=e,this}linearRampToValueAtTime(e,R){return this.value=e,this}exponentialRampToValueAtTime(e,R){return this.value=e,this}setTargetAtTime(R,W,Y){if(this._cancelRamp(),Y<=0)return this.value=R,this;let X=Math.max(10,Math.round(Y*100));return this._rampTimerId=e.timeout_add(e.PRIORITY_DEFAULT,X,()=>{let W=R-this._value;if(Math.abs(W)<.001)return this._value=R,this._onChange?.(this._value),this._rampTimerId=null,e.SOURCE_REMOVE;let ie=1-Math.exp(-X/(Y*1e3));return this._value+=W*ie,this._onChange?.(this._value),e.SOURCE_CONTINUE}),this}setValueCurveAtTime(e,R,W){return this}cancelScheduledValues(e){return this._cancelRamp(),this}cancelAndHoldAtTime(e){return this._cancelRamp(),this}_cancelRamp(){this._rampTimerId!==null&&(e.source_remove(this._rampTimerId),this._rampTimerId=null)}},GainNode=class extends AudioNode{gain;_activePlayers=new Set;constructor(){super(1,1),this.gain=new AudioParam(1,0,10),this.gain._onChange=e=>{for(let R of this._activePlayers)R.setVolume(e)}}},GstPlayer=class{_pipeline=null;_volumeElement=null;_busWatchId=null;_ended=!1;_loop;_onEnded;_audioBuffer;constructor(e){ensureGstInit(),this._loop=e.loop,this._onEnded=e.onEnded,this._audioBuffer=e.audioBuffer;let{audioBuffer:R,volume:W,offset:Y,duration:X,playbackRate:ie}=e,ae=R.sampleRate,le=R.numberOfChannels,_e=this._interleave(R,Y,X);if(_e.length===0){this._fireEnded();return}let be=`appsrc name=src caps="${`audio/x-raw,format=F32LE,rate=${ae},channels=${le},layout=interleaved`}" format=3 ! audioconvert ! volume name=vol ! autoaudiosink`;this._pipeline=ye.parse_launch(be),this._volumeElement=this._pipeline.get_by_name(`vol`);let Ce=this._pipeline.get_by_name(`src`);this._volumeElement.set_property(`volume`,Math.max(0,Math.min(W,10)));let Te=this._pipeline.get_bus();this._busWatchId=Te.add_watch(0,(e,R)=>(R.type===ye.MessageType.EOS?this._loop&&!this._ended?this._restartPlayback(Ce,_e):this._fireEnded():R.type===ye.MessageType.ERROR&&this._fireEnded(),!0));let Oe=ye.Buffer.new_wrapped(_e),Ae=_e.length/(4*le);Oe.pts=0,Oe.duration=Math.floor(Ae/ae*Number(ye.SECOND)),Ce.push_buffer(Oe),Ce.end_of_stream(),ie!==1&&(this._pipeline.set_state(ye.State.PAUSED),this._pipeline.seek(ie,ye.Format.TIME,ye.SeekFlags.FLUSH|ye.SeekFlags.ACCURATE,ye.SeekType.SET,0,ye.SeekType.NONE,-1)),this._pipeline.set_state(ye.State.PLAYING)}setVolume(e){this._volumeElement&&!this._ended&&this._volumeElement.set_property(`volume`,Math.max(0,Math.min(e,10)))}setLoop(e){this._loop=e}stop(){this._ended||this._fireEnded()}get ended(){return this._ended}_restartPlayback(e,R){this._pipeline&&this._pipeline.seek_simple(ye.Format.TIME,ye.SeekFlags.FLUSH,0)}_fireEnded(){this._ended||(this._ended=!0,this._cleanup(),this._onEnded())}_cleanup(){let R=this._pipeline;this._pipeline=null,this._volumeElement=null,this._busWatchId=null,R&&e.idle_add(e.PRIORITY_LOW,()=>(R.set_state(ye.State.NULL),e.SOURCE_REMOVE))}_interleave(e,R,W){let Y=e.numberOfChannels,X=Math.min(Math.floor(R*e.sampleRate),e.length),ie=e.length-X,ae=W===void 0?ie:Math.min(Math.floor(W*e.sampleRate),ie);if(ae<=0)return new Uint8Array;let le=new Float32Array(ae*Y);for(let R=0;R<ae;R++)for(let W=0;W<Y;W++)le[R*Y+W]=e._channelData[W][X+R];return new Uint8Array(le.buffer)}},AudioBufferSourceNode=class extends AudioNode{buffer=null;loop=!1;loopStart=0;loopEnd=0;playbackRate;onended=null;_player=null;_started=!1;constructor(){super(0,1),this.playbackRate=new AudioParam(1,.0625,16)}start(e=0,R=0,W){if(this._started)throw new DOMException(`AudioBufferSourceNode can only be started once`,`InvalidStateError`);if(this._started=!0,!this.buffer)return;let Y=this._findGainNode(),X=Y?Y.gain.value:1;this._player=new GstPlayer({audioBuffer:this.buffer,volume:X,loop:this.loop,offset:R,duration:W,playbackRate:this.playbackRate.value,onEnded:()=>{Y&&Y._activePlayers.delete(this._player),this._player=null,this.onended?.()}}),Y&&this._player&&Y._activePlayers.add(this._player)}stop(e=0){this._player&&this._player.stop()}_findGainNode(){for(let e of this._outputs){if(e instanceof GainNode)return e;for(let R of e._outputs)if(R instanceof GainNode)return R}return null}},AudioBuffer=class{sampleRate;length;duration;numberOfChannels;_channelData;constructor(e){this.sampleRate=e.sampleRate,this.length=e.length,this.numberOfChannels=e.numberOfChannels,this.duration=this.length/this.sampleRate,this._channelData=[];for(let e=0;e<this.numberOfChannels;e++)this._channelData.push(new Float32Array(this.length))}getChannelData(e){if(e<0||e>=this.numberOfChannels)throw RangeError(`channel index ${e} out of range [0, ${this.numberOfChannels})`);return this._channelData[e]}copyFromChannel(e,R,W=0){let Y=this.getChannelData(R),X=Math.min(e.length,Y.length-W);e.set(Y.subarray(W,W+X))}copyToChannel(e,R,W=0){let Y=this.getChannelData(R),X=Math.min(e.length,Y.length-W);Y.set(e.subarray(0,X),W)}},AudioDestinationNode=class extends AudioNode{maxChannelCount=2;constructor(){super(1,0)}};function decodeAudioDataSync(e){if(ensureGstInit(),!(e instanceof ArrayBuffer)||e.byteLength===0)throw new DOMException(`Unable to decode audio data`,`EncodingError`);let R=ye.parse_launch(`appsrc name=src ! decodebin ! audioconvert ! audioresample ! capsfilter caps=audio/x-raw,format=F32LE,layout=interleaved ! appsink name=sink sync=false`),W=R.get_by_name(`src`),Y=R.get_by_name(`sink`);R.set_state(ye.State.PLAYING);let X=new Uint8Array(e);W.push_buffer(ye.Buffer.new_wrapped(X)),W.end_of_stream();let ie=[],ae=0,le=0;for(;;){let e=Y.try_pull_sample(2*Number(ye.SECOND));if(!e)break;if(ae===0){let R=e.get_caps();if(R){let e=R.get_structure(0);[,ae]=e.get_int(`rate`),[,le]=e.get_int(`channels`)}}let R=e.get_buffer();if(!R)continue;let[W,X]=R.map(ye.MapFlags.READ);W&&(ie.push(new Uint8Array(X.data)),R.unmap(X))}if(R.set_state(ye.State.NULL),ae===0||le===0)throw new DOMException(`Unable to decode audio data`,`EncodingError`);let _e=0;for(let e of ie)_e+=e.length;let be=_e/(4*le),Ce=new AudioBuffer({numberOfChannels:le,length:be,sampleRate:ae}),Te=0;for(let e of ie){let R=new Float32Array(e.buffer,e.byteOffset,e.length/4),W=R.length/le;for(let e=0;e<W;e++)for(let W=0;W<le;W++)Ce._channelData[W][Te+e]=R[e*le+W];Te+=W}return Ce}var AudioContext$1=class{static{__name$1(this,`AudioContext`)}state=`suspended`;sampleRate=44100;destination;listener={};_startTime;constructor(){ensureGstInit(),this._startTime=e.get_monotonic_time(),this.destination=new AudioDestinationNode}get currentTime(){return(e.get_monotonic_time()-this._startTime)/1e6}createGain(){return new GainNode}createBufferSource(){return new AudioBufferSourceNode}createBuffer(e,R,W){return new AudioBuffer({numberOfChannels:e,length:R,sampleRate:W})}decodeAudioData(e,R,W){try{let W=decodeAudioDataSync(e);return R?.(W),Promise.resolve(W)}catch(e){let R=e instanceof DOMException?e:new DOMException(`Unable to decode audio data`,`EncodingError`);return W?.(R),Promise.reject(R)}}async resume(){this.state=`running`}async suspend(){this.state=`suspended`}async close(){this.state=`closed`}createAnalyser(){return{connect:()=>{},disconnect:()=>{},fftSize:2048,frequencyBinCount:1024,getByteFrequencyData:()=>{},getFloatFrequencyData:()=>{}}}createDynamicsCompressor(){return new AudioNode}createBiquadFilter(){return new AudioNode}createConvolver(){return new AudioNode}createPanner(){return new AudioNode}createStereoPanner(){return new AudioNode}addEventListener(e,R){}removeEventListener(e,R){}};const Ts=new Set([`audio/mpeg`,`audio/mp3`,`audio/wav`,`audio/x-wav`,`audio/ogg`,`audio/webm`,`audio/flac`,`audio/x-flac`,`audio/aac`,`audio/mp4`]);var HTMLAudioElement=class{src=``;volume=1;loop=!1;paused=!0;currentTime=0;duration=0;readyState=0;_pipeline=null;canPlayType(e){let R=e.split(`;`)[0].trim().toLowerCase();return Ts.has(R)?`maybe`:``}play(){return!this.src||(ensureGstInit(),this._cleanup(),this._pipeline=ye.ElementFactory.make(`playbin`,`player`),!this._pipeline)?Promise.resolve():(this._pipeline.set_property(`uri`,this.src),this._pipeline.set_property(`volume`,this.volume),this._pipeline.set_state(ye.State.PLAYING),this.paused=!1,Promise.resolve())}pause(){this._pipeline&&(this._pipeline.set_state(ye.State.PAUSED),this.paused=!0)}load(){this._cleanup()}addEventListener(e,R){}removeEventListener(e,R){}_cleanup(){this._pipeline&&=(this._pipeline.set_state(ye.State.NULL),null)}};const Es=globalThis;Es.AudioContext===void 0&&(Es.AudioContext=AudioContext$1),Es.webkitAudioContext===void 0&&(Es.webkitAudioContext=AudioContext$1),Es.Audio===void 0&&(Es.Audio=HTMLAudioElement),Es.HTMLAudioElement===void 0&&(Es.HTMLAudioElement=HTMLAudioElement);const As=Symbol(`abort`),js=Symbol(`internal`);var Ms=class AbortSignal extends EventTarget$1{#e=!1;reason=void 0;onabort=null;constructor(e){if(super(),e!==js)throw TypeError(`Illegal constructor.`)}get aborted(){if(!(this instanceof AbortSignal))throw TypeError(`'get aborted' called on an object that is not a valid instance of AbortSignal.`);return this.#e}get[Symbol.toStringTag](){return`AbortSignal`}throwIfAborted(){if(this.#e)throw this.reason}[As](e){if(this.#e)return;this.#e=!0,this.reason=e??new or(`The operation was aborted.`,`AbortError`);let R=new Event$1(`abort`);typeof this.onabort==`function`&&this.onabort.call(this,R),this.dispatchEvent(R)}static abort(e){let R=new AbortSignal(js);return R[As](e),R}static timeout(e){let R=new AbortSignal(js);return setTimeout(()=>{R[As](new or(`The operation timed out.`,`TimeoutError`))},e),R}static any(e){let R=new AbortSignal(js);for(let W of e)if(W.aborted)return R[As](W.reason),R;let onAbort=()=>{if(!R.aborted){let W=e.find(e=>e.aborted);R[As](W?.reason)}};for(let R of e)R.addEventListener(`abort`,onAbort,{once:!0});return R}},Ns=class AbortController{signal;constructor(){this.signal=new Ms(js)}abort(e){if(!(this instanceof AbortController))throw TypeError(`'abort' called on an object that is not a valid instance of AbortController.`);this.signal[As](e)}};const Is=globalThis;globalThis.AbortController===void 0&&(Is.AbortController=Ns),globalThis.AbortSignal===void 0&&(Is.AbortSignal=Ms);const zs=Symbol(`kState`),Bs=Symbol(`kType`);function isBrandCheck(e){return R=>typeof R==`object`&&!!R&&R[zs]!==void 0&&R[Bs]===e}function dequeueValue(e){let R=e[zs].queue.shift();if(R===void 0)throw Error(`dequeueValue called on an empty queue`);let{value:W,size:Y}=R;return e[zs].queueTotalSize=Math.max(0,e[zs].queueTotalSize-Y),W}function resetQueue(e){e[zs].queue=[],e[zs].queueTotalSize=0}function peekQueueValue(e){return e[zs].queue[0].value}function enqueueValueWithSize(e,R,W){if(W=+W,typeof W!=`number`||W<0||Number.isNaN(W)||W===1/0)throw RangeError(`Invalid size: ${W}`);e[zs].queue.push({value:R,size:W}),e[zs].queueTotalSize+=W}function extractHighWaterMark(e,R){if(e===void 0)return R;if(e=+e,typeof e!=`number`||Number.isNaN(e)||e<0)throw RangeError(`Invalid highWaterMark: ${e}`);return e}function extractSizeAlgorithm(e){if(e===void 0)return()=>1;if(typeof e!=`function`)throw TypeError(`strategy.size must be a function`);return e}function transferArrayBuffer(e){return typeof ArrayBuffer.prototype.transfer==`function`?e.transfer():e.slice(0)}function isDetachedBuffer(e){if(typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||e.byteLength!==0)return!1;try{return e.slice(0,0),!1}catch{return!0}}function typedArrayConstructorByTag(e){switch(e){case`Int8Array`:return Int8Array;case`Uint8Array`:return Uint8Array;case`Uint8ClampedArray`:return Uint8ClampedArray;case`Int16Array`:return Int16Array;case`Uint16Array`:return Uint16Array;case`Int32Array`:return Int32Array;case`Uint32Array`:return Uint32Array;case`Float32Array`:return Float32Array;case`Float64Array`:return Float64Array;case`BigInt64Array`:return typeof BigInt64Array<`u`?BigInt64Array:void 0;case`BigUint64Array`:return typeof BigUint64Array<`u`?BigUint64Array:void 0;default:return}}function elementSizeByTag(e){switch(e){case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:return 1;case`Int16Array`:case`Uint16Array`:return 2;case`Int32Array`:case`Uint32Array`:case`Float32Array`:return 4;case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:return 8;default:return 1}}function setPromiseHandled(e){e.then(()=>{},()=>{})}function createPromiseCallback(e,R,W){if(typeof R!=`function`)throw TypeError(`${e} must be a function`);return async(...e)=>R.call(W,...e)}async function nonOpFlush(){}function nonOpStart(){}async function nonOpPull(){}async function nonOpCancel(){}async function nonOpWrite(){}const Hs={__proto__:Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),next:void 0,return:void 0};function createAsyncFromSyncIterator(e){let R={[Symbol.iterator]:()=>e.iterator},W=(async function*(){return yield*R})();return{iterator:W,nextMethod:W.next,done:!1}}function getIterator(e,R=`sync`,W){if(W===void 0)if(R===`async`){if(W=e[Symbol.asyncIterator],W==null){let R=e[Symbol.iterator];if(R===void 0)throw TypeError(`Object is not iterable`);return createAsyncFromSyncIterator(getIterator(e,`sync`,R))}}else W=e[Symbol.iterator];if(W===void 0)throw TypeError(`Object is not iterable`);let Y=W.call(e);if(typeof Y!=`object`||!Y)throw TypeError(`The iterator method must return an object`);return{iterator:Y,nextMethod:Y.next,done:!1}}function iteratorNext(e,R){let W;if(W=R===void 0?e.nextMethod.call(e.iterator):e.nextMethod.call(e.iterator,R),typeof W!=`object`||!W)throw TypeError(`The iterator.next() method must return an object`);return W}const Us=typeof globalThis.AbortController==`function`?globalThis.AbortController:class AbortControllerShim{signal={aborted:!1,reason:void 0,addEventListener(){},removeEventListener(){}};abort(e){this.signal.aborted=!0,this.signal.reason=e}},Ws=Symbol(`kAbort`),Xs=Symbol(`kCloseSentinel`),Zs=Symbol(`kError`),$s=Symbol(`kSkipThrow`);var WritableStream=class{[Bs]=`WritableStream`;[zs];constructor(e={},R={}){if(e!=null&&typeof e!=`object`)throw TypeError(`sink must be an object`);if(R!=null&&typeof R!=`object`)throw TypeError(`strategy must be an object`);let W=e?.type;if(W!==void 0)throw RangeError(`Invalid type: ${W}`);this[zs]=createWritableStreamState();let Y=extractSizeAlgorithm(R?.size),X=extractHighWaterMark(R?.highWaterMark,1);setupWritableStreamDefaultControllerFromSink(this,e,X,Y)}get locked(){if(!ec(this))throw TypeError(`Invalid this`);return isWritableStreamLocked(this)}abort(e){return ec(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamAbort(this,e):Promise.reject(TypeError(`Invalid this`))}close(){return ec(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamCloseQueuedOrInFlight(this)?Promise.reject(TypeError(`Failure closing WritableStream`)):writableStreamClose(this):Promise.reject(TypeError(`Invalid this`))}getWriter(){if(!ec(this))throw TypeError(`Invalid this`);return new WritableStreamDefaultWriter(this)}get[Symbol.toStringTag](){return`WritableStream`}},WritableStreamDefaultWriter=class{[Bs]=`WritableStreamDefaultWriter`;[zs];constructor(e){if(!ec(e))throw TypeError(`Expected a WritableStream`);this[zs]={stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0},ready:{promise:void 0,resolve:void 0,reject:void 0}},setupWritableStreamDefaultWriter(this,e)}get closed(){return tc(this)?this[zs].close.promise:Promise.reject(TypeError(`Invalid this`))}get desiredSize(){if(!tc(this))throw TypeError(`Invalid this`);if(this[zs].stream===void 0)throw TypeError(`Writer is not bound to a WritableStream`);return writableStreamDefaultWriterGetDesiredSize(this)}get ready(){return tc(this)?this[zs].ready.promise:Promise.reject(TypeError(`Invalid this`))}abort(e){return tc(this)?this[zs].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterAbort(this,e):Promise.reject(TypeError(`Invalid this`))}close(){if(!tc(this))return Promise.reject(TypeError(`Invalid this`));let{stream:e}=this[zs];return e===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamCloseQueuedOrInFlight(e)?Promise.reject(TypeError(`Failure to close WritableStream`)):writableStreamDefaultWriterClose(this)}releaseLock(){if(!tc(this))throw TypeError(`Invalid this`);let{stream:e}=this[zs];e!==void 0&&writableStreamDefaultWriterRelease(this)}write(e){return tc(this)?this[zs].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterWrite(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`WritableStreamDefaultWriter`}},WritableStreamDefaultController=class{[Bs]=`WritableStreamDefaultController`;[zs];constructor(e){if(e!==$s)throw TypeError(`Illegal constructor`)}[Ws](e){let R=this[zs].abortAlgorithm(e);return writableStreamDefaultControllerClearAlgorithms(this),R}[Zs](){resetQueue(this)}get signal(){if(!nc(this))throw TypeError(`Invalid this`);return this[zs].abortController.signal}error(e){if(!nc(this))throw TypeError(`Invalid this`);this[zs].stream[zs].state===`writable`&&writableStreamDefaultControllerError(this,e)}get[Symbol.toStringTag](){return`WritableStreamDefaultController`}};const ec=isBrandCheck(`WritableStream`),tc=isBrandCheck(`WritableStreamDefaultWriter`),nc=isBrandCheck(`WritableStreamDefaultController`);function createEmptyPromiseRecord(){return{promise:void 0,resolve:void 0,reject:void 0}}function createWritableStreamState(){return{close:Promise.withResolvers(),closeRequest:createEmptyPromiseRecord(),inFlightWriteRequest:createEmptyPromiseRecord(),inFlightCloseRequest:createEmptyPromiseRecord(),pendingAbortRequest:{abort:createEmptyPromiseRecord(),reason:void 0,wasAlreadyErroring:!1},backpressure:!1,controller:void 0,state:`writable`,storedError:void 0,writeRequests:[],writer:void 0}}function isWritableStreamLocked(e){return e[zs].writer!==void 0}function setupWritableStreamDefaultWriter(e,R){if(isWritableStreamLocked(R))throw TypeError(`WritableStream is locked`);switch(e[zs].stream=R,R[zs].writer=e,R[zs].state){case`writable`:!writableStreamCloseQueuedOrInFlight(R)&&R[zs].backpressure?e[zs].ready=Promise.withResolvers():e[zs].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},e[zs].close=Promise.withResolvers();break;case`erroring`:e[zs].ready={promise:Promise.reject(R[zs].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].ready.promise),e[zs].close=Promise.withResolvers();break;case`closed`:e[zs].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},e[zs].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;default:e[zs].ready={promise:Promise.reject(R[zs].storedError),resolve:void 0,reject:void 0},e[zs].close={promise:Promise.reject(R[zs].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].ready.promise),setPromiseHandled(e[zs].close.promise)}}function writableStreamAbort(e,R){let{state:W,controller:Y}=e[zs];if(W===`closed`||W===`errored`)return Promise.resolve();if(Y[zs].abortController.abort(R),e[zs].pendingAbortRequest.abort.promise!==void 0)return e[zs].pendingAbortRequest.abort.promise;let X=!1;W===`erroring`&&(X=!0,R=void 0);let ie=Promise.withResolvers();return e[zs].pendingAbortRequest={abort:ie,reason:R,wasAlreadyErroring:X},X||writableStreamStartErroring(e,R),ie.promise}function writableStreamClose(e){let{state:R,writer:W,backpressure:Y,controller:X}=e[zs];if(R===`closed`||R===`errored`)return Promise.reject(TypeError(`WritableStream is closed`));e[zs].closeRequest=Promise.withResolvers();let{promise:ie}=e[zs].closeRequest;return W!==void 0&&Y&&R===`writable`&&W[zs].ready.resolve?.(),writableStreamDefaultControllerClose(X),ie}function writableStreamUpdateBackpressure(e,R){let{writer:W}=e[zs];W!==void 0&&e[zs].backpressure!==R&&(R?W[zs].ready=Promise.withResolvers():W[zs].ready.resolve?.()),e[zs].backpressure=R}function writableStreamStartErroring(e,R){let{controller:W,writer:Y}=e[zs];e[zs].state=`erroring`,e[zs].storedError=R,Y!==void 0&&writableStreamDefaultWriterEnsureReadyPromiseRejected(Y,R),!writableStreamHasOperationMarkedInFlight(e)&&W[zs].started&&writableStreamFinishErroring(e)}function writableStreamRejectCloseAndClosedPromiseIfNeeded(e){e[zs].closeRequest.promise!==void 0&&(e[zs].closeRequest.reject?.(e[zs].storedError),e[zs].closeRequest={promise:void 0,resolve:void 0,reject:void 0}),setPromiseHandled(e[zs].close.promise),e[zs].close.reject?.(e[zs].storedError);let{writer:R}=e[zs];R!==void 0&&(setPromiseHandled(R[zs].close.promise),R[zs].close.reject?.(e[zs].storedError))}function writableStreamMarkFirstWriteRequestInFlight(e){let R=e[zs].writeRequests.shift();e[zs].inFlightWriteRequest=R}function writableStreamMarkCloseRequestInFlight(e){e[zs].inFlightCloseRequest=e[zs].closeRequest,e[zs].closeRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamHasOperationMarkedInFlight(e){return e[zs].inFlightWriteRequest.promise!==void 0||e[zs].inFlightCloseRequest.promise!==void 0}function writableStreamFinishInFlightWriteWithError(e,R){e[zs].inFlightWriteRequest.reject?.(R),e[zs].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0},writableStreamDealWithRejection(e,R)}function writableStreamFinishInFlightWrite(e){e[zs].inFlightWriteRequest.resolve?.(),e[zs].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamFinishInFlightCloseWithError(e,R){e[zs].inFlightCloseRequest.reject?.(R),e[zs].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},e[zs].pendingAbortRequest.abort.promise!==void 0&&(e[zs].pendingAbortRequest.abort.reject?.(R),e[zs].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1}),writableStreamDealWithRejection(e,R)}function writableStreamFinishInFlightClose(e){e[zs].inFlightCloseRequest.resolve?.(),e[zs].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},e[zs].state===`erroring`&&(e[zs].storedError=void 0,e[zs].pendingAbortRequest.abort.promise!==void 0&&(e[zs].pendingAbortRequest.abort.resolve?.(),e[zs].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1})),e[zs].state=`closed`,e[zs].writer!==void 0&&e[zs].writer[zs].close.resolve?.(),e[zs].close.resolve?.()}function writableStreamFinishErroring(e){e[zs].state=`errored`,e[zs].controller[Zs]();let R=e[zs].storedError;for(let W of e[zs].writeRequests)W.reject?.(R);if(e[zs].writeRequests=[],e[zs].pendingAbortRequest.abort.promise===void 0){writableStreamRejectCloseAndClosedPromiseIfNeeded(e);return}let W=e[zs].pendingAbortRequest;if(e[zs].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1},W.wasAlreadyErroring){W.abort.reject?.(R),writableStreamRejectCloseAndClosedPromiseIfNeeded(e);return}e[zs].controller[Ws](W.reason).then(()=>{W.abort.resolve?.(),writableStreamRejectCloseAndClosedPromiseIfNeeded(e)},R=>{W.abort.reject?.(R),writableStreamRejectCloseAndClosedPromiseIfNeeded(e)})}function writableStreamDealWithRejection(e,R){if(e[zs].state===`writable`){writableStreamStartErroring(e,R);return}writableStreamFinishErroring(e)}function writableStreamCloseQueuedOrInFlight(e){return e[zs].closeRequest.promise!==void 0||e[zs].inFlightCloseRequest.promise!==void 0}function writableStreamAddWriteRequest(e){let{promise:R,resolve:W,reject:Y}=Promise.withResolvers();return e[zs].writeRequests.push({promise:R,resolve:W,reject:Y}),R}function writableStreamDefaultWriterWrite(e,R){let{stream:W}=e[zs],{controller:Y}=W[zs],X=writableStreamDefaultControllerGetChunkSize(Y,R);if(W!==e[zs].stream)return Promise.reject(TypeError(`Mismatched WritableStreams`));let{state:ie}=W[zs];if(ie===`errored`)return Promise.reject(W[zs].storedError);if(writableStreamCloseQueuedOrInFlight(W)||ie===`closed`)return Promise.reject(TypeError(`WritableStream is closed`));if(ie===`erroring`)return Promise.reject(W[zs].storedError);let ae=writableStreamAddWriteRequest(W);return writableStreamDefaultControllerWrite(Y,R,X),ae}function writableStreamDefaultWriterRelease(e){let{stream:R}=e[zs],W=TypeError(`Writer has been released`);writableStreamDefaultWriterEnsureReadyPromiseRejected(e,W),writableStreamDefaultWriterEnsureClosedPromiseRejected(e,W),R[zs].writer=void 0,e[zs].stream=void 0}function writableStreamDefaultWriterGetDesiredSize(e){let{stream:R}=e[zs];switch(R[zs].state){case`errored`:case`erroring`:return null;case`closed`:return 0}return writableStreamDefaultControllerGetDesiredSize(R[zs].controller)}function writableStreamDefaultWriterEnsureReadyPromiseRejected(e,R){e[zs].ready.reject?(e[zs].ready.reject(R),e[zs].ready.resolve=void 0,e[zs].ready.reject=void 0):e[zs].ready={promise:Promise.reject(R),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].ready.promise)}function writableStreamDefaultWriterEnsureClosedPromiseRejected(e,R){e[zs].close.reject?(e[zs].close.reject(R),e[zs].close.resolve=void 0,e[zs].close.reject=void 0):e[zs].close={promise:Promise.reject(R),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].close.promise)}function writableStreamDefaultWriterCloseWithErrorPropagation(e){let{stream:R}=e[zs],{state:W}=R[zs];return writableStreamCloseQueuedOrInFlight(R)||W===`closed`?Promise.resolve():W===`errored`?Promise.reject(R[zs].storedError):writableStreamDefaultWriterClose(e)}function writableStreamDefaultWriterClose(e){return writableStreamClose(e[zs].stream)}function writableStreamDefaultWriterAbort(e,R){return writableStreamAbort(e[zs].stream,R)}function writableStreamDefaultControllerWrite(e,R,W){try{enqueueValueWithSize(e,R,W)}catch(R){writableStreamDefaultControllerErrorIfNeeded(e,R);return}let{stream:Y}=e[zs];!writableStreamCloseQueuedOrInFlight(Y)&&Y[zs].state===`writable`&&writableStreamUpdateBackpressure(Y,writableStreamDefaultControllerGetBackpressure(e)),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)}function writableStreamDefaultControllerProcessWrite(e,R){let{stream:W,writeAlgorithm:Y}=e[zs];writableStreamMarkFirstWriteRequestInFlight(W),Y(R,e).then(()=>{writableStreamFinishInFlightWrite(W);let{state:R}=W[zs];dequeueValue(e),!writableStreamCloseQueuedOrInFlight(W)&&R===`writable`&&writableStreamUpdateBackpressure(W,writableStreamDefaultControllerGetBackpressure(e)),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)},R=>{W[zs].state===`writable`&&writableStreamDefaultControllerClearAlgorithms(e),writableStreamFinishInFlightWriteWithError(W,R)})}function writableStreamDefaultControllerProcessClose(e){let{closeAlgorithm:R,stream:W}=e[zs];writableStreamMarkCloseRequestInFlight(W),dequeueValue(e);let Y=R();writableStreamDefaultControllerClearAlgorithms(e),Y.then(()=>writableStreamFinishInFlightClose(W),e=>writableStreamFinishInFlightCloseWithError(W,e))}function writableStreamDefaultControllerGetDesiredSize(e){return e[zs].highWaterMark-e[zs].queueTotalSize}function writableStreamDefaultControllerGetChunkSize(e,R){let{sizeAlgorithm:W}=e[zs];if(W===void 0)return 1;try{return W(R)}catch(R){return writableStreamDefaultControllerErrorIfNeeded(e,R),1}}function writableStreamDefaultControllerErrorIfNeeded(e,R){e[zs].stream[zs].state===`writable`&&writableStreamDefaultControllerError(e,R)}function writableStreamDefaultControllerError(e,R){writableStreamDefaultControllerClearAlgorithms(e),writableStreamStartErroring(e[zs].stream,R)}function writableStreamDefaultControllerClose(e){enqueueValueWithSize(e,Xs,0),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)}function writableStreamDefaultControllerClearAlgorithms(e){e[zs].writeAlgorithm=void 0,e[zs].closeAlgorithm=void 0,e[zs].abortAlgorithm=void 0,e[zs].sizeAlgorithm=void 0}function writableStreamDefaultControllerGetBackpressure(e){return writableStreamDefaultControllerGetDesiredSize(e)<=0}function writableStreamDefaultControllerAdvanceQueueIfNeeded(e){let{queue:R,started:W,stream:Y}=e[zs];if(!W||Y[zs].inFlightWriteRequest.promise!==void 0)return;if(Y[zs].state===`erroring`){writableStreamFinishErroring(Y);return}if(!R.length)return;let X=peekQueueValue(e);X===Xs?writableStreamDefaultControllerProcessClose(e):writableStreamDefaultControllerProcessWrite(e,X)}function setupWritableStreamDefaultControllerFromSink(e,R,W,Y){let X=new WritableStreamDefaultController($s),ie=R?.start,ae=R?.write,le=R?.close,_e=R?.abort;setupWritableStreamDefaultController(e,X,ie?ie.bind(R,X):nonOpStart,ae?createPromiseCallback(`sink.write`,ae,R):nonOpWrite,le?createPromiseCallback(`sink.close`,le,R):nonOpCancel,_e?createPromiseCallback(`sink.abort`,_e,R):nonOpCancel,W,Y)}function setupWritableStreamDefaultController(e,R,W,Y,X,ie,ae,le){R[zs]={abortAlgorithm:ie,closeAlgorithm:X,highWaterMark:ae,queue:[],queueTotalSize:0,abortController:new Us,sizeAlgorithm:le,started:!1,stream:e,writeAlgorithm:Y},e[zs].controller=R,writableStreamUpdateBackpressure(e,writableStreamDefaultControllerGetBackpressure(R));let _e=W();new Promise(e=>e(_e)).then(()=>{R[zs].started=!0,writableStreamDefaultControllerAdvanceQueueIfNeeded(R)},W=>{R[zs].started=!0,writableStreamDealWithRejection(e,W)})}function createWritableStream(e,R,W,Y,X=1,ie=()=>1){let ae=Object.create(WritableStream.prototype);return ae[Bs]=`WritableStream`,ae[zs]=createWritableStreamState(),setupWritableStreamDefaultController(ae,new WritableStreamDefaultController($s),e,R,W,Y,X,ie),ae}Vt();const sc=Symbol(`kCancel`),uc=Symbol(`kClose`),hc=Symbol(`kChunk`),Ac=Symbol(`kError`),Ic=Symbol(`kPull`),Hc=Symbol(`kRelease`),el=Symbol(`kSkipThrow`);let nl,sl;function lazyReadableReleasedError(){return nl||(nl=TypeError(`Reader released`),nl)}function lazyReadableReleasingError(){return sl||(sl=TypeError(`Releasing reader`),sl)}function createAbortError(){if(typeof globalThis.DOMException==`function`)return new DOMException(`The operation was aborted`,`AbortError`);let e=Error(`The operation was aborted`);return e.name=`AbortError`,e}function createReadableStreamState(){return{disturbed:!1,reader:void 0,state:`readable`,storedError:void 0,controller:void 0,closedPromise:Promise.withResolvers()}}var ReadableStream$1=class{static{__name$1(this,`ReadableStream`)}[Bs]=`ReadableStream`;[zs];constructor(e={},R={}){if(e!=null&&typeof e!=`object`)throw TypeError(`source must be an object`);if(R!=null&&typeof R!=`object`)throw TypeError(`strategy must be an object`);this[zs]=createReadableStreamState();let W=R?.size,Y=R?.highWaterMark,X=e?.type;if(X!==void 0){if(`${X}`==`bytes`){if(W!==void 0)throw RangeError(`strategy.size must not be set for a byte stream`);setupReadableByteStreamControllerFromSource(this,e,extractHighWaterMark(Y,0));return}throw RangeError(`Invalid type: ${X}`)}setupReadableStreamDefaultControllerFromSource(this,e,extractHighWaterMark(Y,1),extractSizeAlgorithm(W))}get locked(){if(!fl(this))throw TypeError(`Invalid this`);return isReadableStreamLocked(this)}static from(e){return readableStreamFromIterable(e)}cancel(e=void 0){return fl(this)?isReadableStreamLocked(this)?Promise.reject(TypeError(`ReadableStream is locked`)):readableStreamCancel(this,e):Promise.reject(TypeError(`Invalid this`))}getReader(e={}){if(!fl(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let R=e?.mode;if(R===void 0)return new ReadableStreamDefaultReader(this);if(`${R}`==`byob`)return new ReadableStreamBYOBReader(this);throw RangeError(`Invalid mode: ${R}`)}pipeThrough(e,R={}){if(!fl(this))throw TypeError(`Invalid this`);let W=e?.readable;if(!fl(W))throw TypeError(`transform.readable must be a ReadableStream`);let Y=e?.writable;if(!ec(Y))throw TypeError(`transform.writable must be a WritableStream`);if(R!=null&&typeof R!=`object`)throw TypeError(`options must be an object`);let X=R?.preventAbort,ie=R?.preventCancel,ae=R?.preventClose,le=R?.signal;if(le!==void 0&&!(le instanceof Object&&`aborted`in le))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(Y))throw TypeError(`The WritableStream is locked`);return setPromiseHandled(readableStreamPipeTo(this,Y,!!ae,!!X,!!ie,le)),W}pipeTo(e,R={}){try{if(!fl(this))throw TypeError(`Invalid this`);if(!ec(e))throw TypeError(`destination must be a WritableStream`);if(R!=null&&typeof R!=`object`)throw TypeError(`options must be an object`);let W=R?.preventAbort,Y=R?.preventCancel,X=R?.preventClose,ie=R?.signal;if(ie!==void 0&&!(ie instanceof Object&&`aborted`in ie))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(e))throw TypeError(`The WritableStream is locked`);return readableStreamPipeTo(this,e,!!X,!!W,!!Y,ie)}catch(e){return Promise.reject(e)}}tee(){if(!fl(this))throw TypeError(`Invalid this`);let e=this[zs].controller;return vl(e)?readableByteStreamTee(this):readableStreamDefaultTee(this,!1)}values(e={}){if(!fl(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let R=!!e?.preventCancel,W=new ReadableStreamDefaultReader(this),Y={done:!1,current:void 0},X=!1;function nextSteps(){if(Y.done)return Promise.resolve({done:!0,value:void 0});if(W[zs].stream===void 0)return Promise.reject(TypeError(`The reader is not bound to a ReadableStream`));let{promise:e,resolve:R,reject:X}=Promise.withResolvers();return readableStreamDefaultReaderRead(W,{[hc](e){Y.current=void 0,R({value:e,done:!1})},[uc](){Y.current=void 0,Y.done=!0,readableStreamReaderGenericRelease(W),R({done:!0,value:void 0})},[Ac](e){Y.current=void 0,Y.done=!0,readableStreamReaderGenericRelease(W),X(e)}}),e}async function returnSteps(e){if(Y.done)return{done:!0,value:e};if(Y.done=!0,W[zs].stream===void 0)throw TypeError(`The reader is not bound to a ReadableStream`);if(!R){let R=readableStreamReaderGenericCancel(W,e);return readableStreamReaderGenericRelease(W),await R,{done:!0,value:e}}return readableStreamReaderGenericRelease(W),{done:!0,value:e}}return Object.setPrototypeOf({next(){return X||=(Y.current=Promise.resolve(),!0),Y.current=Y.current===void 0?nextSteps():Y.current.then(nextSteps,nextSteps),Y.current},return(e){return X=!0,Y.current=Y.current===void 0?returnSteps(e):Y.current.then(()=>returnSteps(e),()=>returnSteps(e)),Y.current},[Symbol.asyncIterator](){return this}},Hs)}[Symbol.asyncIterator](){return this.values()}get[Symbol.toStringTag](){return`ReadableStream`}},DefaultReadRequest=class{[zs];constructor(){this[zs]=Promise.withResolvers()}[hc](e){this[zs].resolve?.({value:e,done:!1})}[uc](){this[zs].resolve?.({value:void 0,done:!0})}[Ac](e){this[zs].reject?.(e)}get promise(){return this[zs].promise}},ReadableStreamDefaultReader=class{[Bs]=`ReadableStreamDefaultReader`;[zs];constructor(e){if(!fl(e))throw TypeError(`Expected a ReadableStream`);this[zs]={readRequests:[],readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamDefaultReader(this,e)}read(){if(!_l(this))return Promise.reject(TypeError(`Invalid this`));if(this[zs].stream===void 0)return Promise.reject(TypeError(`The reader is not attached to a stream`));let e=this[zs].stream,R=e[zs].controller;if(e[zs].state===`readable`&&ml(R)&&R[zs].queue.length>0){e[zs].disturbed=!0;let W=dequeueValue(R);return R[zs].closeRequested&&!R[zs].queue.length?(readableStreamDefaultControllerClearAlgorithms(R),readableStreamClose(e)):readableStreamDefaultControllerCallPullIfNeeded(R),Promise.resolve({value:W,done:!1})}let W=new DefaultReadRequest;return readableStreamDefaultReaderRead(this,W),W.promise}releaseLock(){if(!_l(this))throw TypeError(`Invalid this`);this[zs].stream!==void 0&&readableStreamDefaultReaderRelease(this)}get closed(){return _l(this)?this[zs].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return _l(this)?this[zs].stream===void 0?Promise.reject(TypeError(`The reader is not attached to a stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamDefaultReader`}},ReadableStreamDefaultController=class{[Bs]=`ReadableStreamDefaultController`;[zs];constructor(e){if(e!==el)throw TypeError(`Illegal constructor`)}get desiredSize(){return readableStreamDefaultControllerGetDesiredSize(this)}close(){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerClose(this)}enqueue(e=void 0){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerEnqueue(this,e)}error(e=void 0){readableStreamDefaultControllerError(this,e)}[sc](e){return readableStreamDefaultControllerCancelSteps(this,e)}[Ic](e){readableStreamDefaultControllerPullSteps(this,e)}[Hc](){}get[Symbol.toStringTag](){return`ReadableStreamDefaultController`}};const fl=isBrandCheck(`ReadableStream`),ml=isBrandCheck(`ReadableStreamDefaultController`),_l=isBrandCheck(`ReadableStreamDefaultReader`);function isReadableStreamLocked(e){return e[zs].reader!==void 0}function readableStreamCancel(e,R){switch(e[zs].disturbed=!0,e[zs].state){case`closed`:return Promise.resolve();case`errored`:return Promise.reject(e[zs].storedError)}readableStreamClose(e);let W=e[zs].reader;if(W!==void 0&&readableStreamHasBYOBReader(e)){let e=W[zs].readIntoRequests;W[zs].readIntoRequests=[];for(let R=0;R<e.length;R++)e[R][uc](void 0)}return e[zs].controller[sc](R).then(()=>{})}function readableStreamClose(e){e[zs].state=`closed`,e[zs].closedPromise.resolve();let{reader:R}=e[zs];if(R!==void 0&&(R[zs].close.resolve?.(),readableStreamHasDefaultReader(e))){for(let e=0;e<R[zs].readRequests.length;e++)R[zs].readRequests[e][uc]();R[zs].readRequests=[]}}function readableStreamError(e,R){e[zs].state=`errored`,e[zs].storedError=R,setPromiseHandled(e[zs].closedPromise.promise),e[zs].closedPromise.reject(R);let{reader:W}=e[zs];if(W!==void 0){if(setPromiseHandled(W[zs].close.promise),W[zs].close.reject?.(R),readableStreamHasDefaultReader(e)){for(let e=0;e<W[zs].readRequests.length;e++)W[zs].readRequests[e][Ac](R);W[zs].readRequests=[]}else if(readableStreamHasBYOBReader(e)){for(let e=0;e<W[zs].readIntoRequests.length;e++)W[zs].readIntoRequests[e][Ac](R);W[zs].readIntoRequests=[]}}}function readableStreamHasDefaultReader(e){let{reader:R}=e[zs];return R===void 0?!1:R[zs]!==void 0&&R[Bs]===`ReadableStreamDefaultReader`}function readableStreamGetNumReadRequests(e){return e[zs].reader[zs].readRequests.length}function readableStreamFulfillReadRequest(e,R,W){let{reader:Y}=e[zs],X=Y[zs].readRequests.shift();W?X[uc]():X[hc](R)}function readableStreamAddReadRequest(e,R){e[zs].reader[zs].readRequests.push(R)}function readableStreamReaderGenericCancel(e,R){let{stream:W}=e[zs];return readableStreamCancel(W,R)}function readableStreamReaderGenericInitialize(e,R){switch(e[zs].stream=R,R[zs].reader=e,R[zs].state){case`readable`:e[zs].close=Promise.withResolvers();break;case`closed`:e[zs].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;case`errored`:e[zs].close={promise:Promise.reject(R[zs].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].close.promise);break}}function readableStreamReaderGenericRelease(e){let{stream:R}=e[zs],W=lazyReadableReleasedError();R[zs].state===`readable`?e[zs].close.reject?.(W):e[zs].close={promise:Promise.reject(W),resolve:void 0,reject:void 0},setPromiseHandled(e[zs].close.promise),R[zs].controller[Hc](),R[zs].reader=void 0,e[zs].stream=void 0}function readableStreamDefaultReaderRelease(e){readableStreamReaderGenericRelease(e),readableStreamDefaultReaderErrorReadRequests(e,lazyReadableReleasingError())}function readableStreamDefaultReaderErrorReadRequests(e,R){for(let W=0;W<e[zs].readRequests.length;++W)e[zs].readRequests[W][Ac](R);e[zs].readRequests=[]}function readableStreamDefaultReaderRead(e,R){let{stream:W}=e[zs];switch(W[zs].disturbed=!0,W[zs].state){case`closed`:R[uc]();break;case`errored`:R[Ac](W[zs].storedError);break;case`readable`:W[zs].controller[Ic](R);break}}function setupReadableStreamDefaultReader(e,R){if(isReadableStreamLocked(R))throw TypeError(`ReadableStream is locked`);readableStreamReaderGenericInitialize(e,R),e[zs].readRequests=[]}function readableStreamDefaultControllerClose(e){readableStreamDefaultControllerCanCloseOrEnqueue(e)&&(e[zs].closeRequested=!0,e[zs].queue.length||(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(e[zs].stream)))}function readableStreamDefaultControllerEnqueue(e,R){if(!readableStreamDefaultControllerCanCloseOrEnqueue(e))return;let{stream:W}=e[zs];if(isReadableStreamLocked(W)&&readableStreamGetNumReadRequests(W))readableStreamFulfillReadRequest(W,R,!1);else try{enqueueValueWithSize(e,R,e[zs].sizeAlgorithm(R))}catch(R){throw readableStreamDefaultControllerError(e,R),R}readableStreamDefaultControllerCallPullIfNeeded(e)}function readableStreamDefaultControllerCanCloseOrEnqueue(e){let{stream:R}=e[zs];return!e[zs].closeRequested&&R[zs].state===`readable`}function readableStreamDefaultControllerGetDesiredSize(e){let{stream:R,highWaterMark:W,queueTotalSize:Y}=e[zs];switch(R[zs].state){case`errored`:return null;case`closed`:return 0;default:return W-Y}}function readableStreamDefaultControllerHasBackpressure(e){return!readableStreamDefaultControllerShouldCallPull(e)}function readableStreamDefaultControllerShouldCallPull(e){let{stream:R}=e[zs];if(!readableStreamDefaultControllerCanCloseOrEnqueue(e)||!e[zs].started)return!1;if(isReadableStreamLocked(R)&&readableStreamGetNumReadRequests(R))return!0;let W=readableStreamDefaultControllerGetDesiredSize(e);return W!==null&&W>0}function readableStreamDefaultControllerCallPullIfNeeded(e){if(readableStreamDefaultControllerShouldCallPull(e)){if(e[zs].pulling){e[zs].pullAgain=!0;return}e[zs].pulling=!0,e[zs].pullAlgorithm(e).then(()=>{e[zs].pulling=!1,e[zs].pullAgain&&(e[zs].pullAgain=!1,readableStreamDefaultControllerCallPullIfNeeded(e))},R=>readableStreamDefaultControllerError(e,R))}}function readableStreamDefaultControllerClearAlgorithms(e){e[zs].pullAlgorithm=void 0,e[zs].cancelAlgorithm=void 0,e[zs].sizeAlgorithm=void 0}function readableStreamDefaultControllerError(e,R){let{stream:W}=e[zs];W[zs].state===`readable`&&(resetQueue(e),readableStreamDefaultControllerClearAlgorithms(e),readableStreamError(W,R))}function readableStreamDefaultControllerCancelSteps(e,R){resetQueue(e);let W=e[zs].cancelAlgorithm?.(R)??Promise.resolve();return readableStreamDefaultControllerClearAlgorithms(e),W}function readableStreamDefaultControllerPullSteps(e,R){let{stream:W,queue:Y}=e[zs];if(Y.length){let X=dequeueValue(e);e[zs].closeRequested&&!Y.length?(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(W)):readableStreamDefaultControllerCallPullIfNeeded(e),R[hc](X);return}readableStreamAddReadRequest(W,R),readableStreamDefaultControllerCallPullIfNeeded(e)}function setupReadableStreamDefaultController(e,R,W,Y,X,ie,ae){R[zs]={cancelAlgorithm:X,closeRequested:!1,highWaterMark:ie,pullAgain:!1,pullAlgorithm:Y,pulling:!1,queue:[],queueTotalSize:0,started:!1,sizeAlgorithm:ae,stream:e},e[zs].controller=R;let le=W();new Promise(e=>e(le)).then(()=>{R[zs].started=!0,readableStreamDefaultControllerCallPullIfNeeded(R)},e=>readableStreamDefaultControllerError(R,e))}function setupReadableStreamDefaultControllerFromSource(e,R,W,Y){let X=new ReadableStreamDefaultController(el),ie=R?.start,ae=R?.pull,le=R?.cancel;setupReadableStreamDefaultController(e,X,ie?ie.bind(R,X):nonOpStart,ae?createPromiseCallback(`source.pull`,ae,R):nonOpPull,le?createPromiseCallback(`source.cancel`,le,R):nonOpCancel,W,Y)}function createReadableStream(e,R,W,Y=1,X=()=>1){let ie=Object.create(ReadableStream$1.prototype);return ie[Bs]=`ReadableStream`,ie[zs]=createReadableStreamState(),setupReadableStreamDefaultController(ie,new ReadableStreamDefaultController(el),e,R,W,Y,X),ie}function readableStreamFromIterable(e){let R,W=getIterator(e,`async`),Y=nonOpStart;async function pullAlgorithm(){let e=iteratorNext(W);return Promise.resolve(e).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.next() method must fulfill with an object`);e.done?readableStreamDefaultControllerClose(R[zs].controller):readableStreamDefaultControllerEnqueue(R[zs].controller,e.value)})}async function cancelAlgorithm(e){let R=W.iterator,Y=R.return;if(Y===void 0)return Promise.resolve();let X=Y.call(R,e);return Promise.resolve(X).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.return() method must fulfill with an object`)})}return R=createReadableStream(Y,pullAlgorithm,cancelAlgorithm,0),R}function readableStreamPipeTo(e,R,W,Y,X,ie){let ae,le;try{ae=new ReadableStreamDefaultReader(e),le=new WritableStreamDefaultWriter(R)}catch(e){return Promise.reject(e)}e[zs].disturbed=!0;let _e=!1,{promise:ye,resolve:be,reject:Ce}=Promise.withResolvers(),Te={currentWrite:Promise.resolve()},Oe;function finalize(e,R){writableStreamDefaultWriterRelease(le),readableStreamReaderGenericRelease(ae),ie!==void 0&&Oe&&(ie.removeEventListener(`abort`,Oe),Oe=void 0),e?Ce(R):be()}async function waitForCurrentWrite(){let e=Te.currentWrite;await e,e!==Te.currentWrite&&await waitForCurrentWrite()}function shutdownWithAnAction(e,W,Y){if(_e)return;if(_e=!0,R[zs].state===`writable`&&!writableStreamCloseQueuedOrInFlight(R)){waitForCurrentWrite().then(complete,e=>finalize(!0,e));return}complete();function complete(){e().then(()=>finalize(!!W,Y),e=>finalize(!0,e))}}function shutdown(e,W){if(!_e){if(_e=!0,R[zs].state===`writable`&&!writableStreamCloseQueuedOrInFlight(R)){waitForCurrentWrite().then(()=>finalize(!!e,W),e=>finalize(!0,e));return}finalize(!!e,W)}}function abortAlgorithm(){let W;W=ie.reason&&ie.reason.name===`AbortError`?createAbortError():ie.reason;let ae=[];Y||ae.push(()=>R[zs].state===`writable`?writableStreamAbort(R,W):Promise.resolve()),X||ae.push(()=>e[zs].state===`readable`?readableStreamCancel(e,W):Promise.resolve()),shutdownWithAnAction(()=>Promise.all(ae.map(e=>e())).then(()=>void 0),!0,W)}function watchErrored(e,R,W){e[zs].state===`errored`?W(e[zs].storedError):R.then(void 0,W)}function watchClosed(e,R,W){e[zs].state===`closed`?W():R.then(W,()=>{})}class PipeToReadRequest{[hc](e){St(()=>{Te.currentWrite=writableStreamDefaultWriterWrite(le,e),setPromiseHandled(Te.currentWrite),Ae.resolve(!1)})}[uc](){Ae.resolve(!0)}[Ac](e){Ae.reject(e)}}let Ae={resolve:null,reject:null};async function step(){if(_e||R[zs].backpressure&&(await le[zs].ready.promise,_e))return!0;let W=e[zs].controller;if(e[zs].state===`readable`&&ml(W)&&W[zs].queue.length>0){for(;W[zs].queue.length>0;){if(_e)return!0;let Y=dequeueValue(W);if(W[zs].closeRequested&&!W[zs].queue.length&&(readableStreamDefaultControllerClearAlgorithms(W),readableStreamClose(e)),Te.currentWrite=writableStreamDefaultWriterWrite(le,Y),setPromiseHandled(Te.currentWrite),R[zs].backpressure||R[zs].state!==`writable`||writableStreamCloseQueuedOrInFlight(R))break}return readableStreamDefaultControllerCallPullIfNeeded(W),e[zs].state===`closed`}let{promise:Y,resolve:X,reject:ie}=Promise.withResolvers();return Ae={resolve:X,reject:ie},readableStreamDefaultReaderRead(ae,new PipeToReadRequest),Y}async function run(){for(;!await step(););}if(ie!==void 0){if(ie.aborted)return abortAlgorithm(),ye;Oe=abortAlgorithm,ie.addEventListener(`abort`,Oe,{once:!0})}if(setPromiseHandled(run()),watchErrored(e,ae[zs].close.promise,e=>{if(!Y)return shutdownWithAnAction(()=>writableStreamAbort(R,e),!0,e);shutdown(!0,e)}),watchErrored(R,le[zs].close.promise,R=>{if(!X)return shutdownWithAnAction(()=>readableStreamCancel(e,R),!0,R);shutdown(!0,R)}),watchClosed(e,ae[zs].close.promise,()=>{if(!W)return shutdownWithAnAction(()=>writableStreamDefaultWriterCloseWithErrorPropagation(le));shutdown()}),writableStreamCloseQueuedOrInFlight(R)||R[zs].state===`closed`){let R=TypeError(`Destination WritableStream is closed`);X?shutdown(!0,R):shutdownWithAnAction(()=>readableStreamCancel(e,R),!0,R)}return ye}function readableStreamDefaultTee(e,R){let W=new ReadableStreamDefaultReader(e),Y=!1,X=!1,ie=!1,ae,le,_e,ye,be=Promise.withResolvers();async function pullAlgorithm(){Y||(Y=!0,readableStreamDefaultReaderRead(W,{[hc](e){St(()=>{Y=!1;let W=e,ae=e;if(!ie&&R)try{ae=structuredClone(ae)}catch{}X||readableStreamDefaultControllerEnqueue(_e[zs].controller,W),ie||readableStreamDefaultControllerEnqueue(ye[zs].controller,ae)})},[uc](){St(()=>{Y=!1,X||readableStreamDefaultControllerClose(_e[zs].controller),ie||readableStreamDefaultControllerClose(ye[zs].controller),(!X||!ie)&&be.resolve(void 0)})},[Ac](){Y=!1}}))}function cancel1Algorithm(R){if(X=!0,ae=R,ie){let R=[ae,le];be.resolve(readableStreamCancel(e,R))}return be.promise}function cancel2Algorithm(R){if(ie=!0,le=R,X){let R=[ae,le];be.resolve(readableStreamCancel(e,R))}return be.promise}return _e=createReadableStream(nonOpStart,pullAlgorithm,cancel1Algorithm),ye=createReadableStream(nonOpStart,pullAlgorithm,cancel2Algorithm),W[zs].close.promise.then(void 0,e=>{readableStreamDefaultControllerError(_e[zs].controller,e),readableStreamDefaultControllerError(ye[zs].controller,e),(!X||!ie)&&be.resolve(void 0)}),[_e,ye]}var BYOBReadIntoRequest=class{[zs];constructor(){this[zs]=Promise.withResolvers()}[hc](e){this[zs].resolve?.({value:e,done:!1})}[uc](e){this[zs].resolve?.({value:e,done:!0})}[Ac](e){this[zs].reject?.(e)}get promise(){return this[zs].promise}},ReadableStreamBYOBReader=class{[Bs]=`ReadableStreamBYOBReader`;[zs];constructor(e){if(!fl(e))throw TypeError(`Expected a ReadableStream`);this[zs]={readRequests:[],readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamBYOBReader(this,e)}read(e,R={}){if(!yl(this))return Promise.reject(TypeError(`Invalid this`));if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))return Promise.reject(TypeError(`view must be an ArrayBufferView`));let W=e.buffer,Y=e.byteLength;if(Y===0)return Promise.reject(TypeError(`view must have non-zero byteLength`));if(W.byteLength===0)return isDetachedBuffer(W)?Promise.reject(TypeError(`view's buffer has been detached`)):Promise.reject(TypeError(`view's buffer must have non-zero byteLength`));let X=R?.min??1;if(typeof X!=`number`||X<1||!Number.isInteger(X)||Number.isNaN(X))return Promise.reject(TypeError(`options.min must be a positive integer`));let ie=e[Symbol.toStringTag];if(ie!==void 0&&ie!==`DataView`){if(X>e.length)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`))}else if(X>Y)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`));if(this[zs].stream===void 0)return Promise.reject(TypeError(`Reader has no associated stream`));let ae=new BYOBReadIntoRequest;return readableStreamBYOBReaderRead(this,e,X,ae),ae.promise}releaseLock(){if(!yl(this))throw TypeError(`Invalid this`);this[zs].stream!==void 0&&readableStreamBYOBReaderRelease(this)}get closed(){return yl(this)?this[zs].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return yl(this)?this[zs].stream===void 0?Promise.reject(TypeError(`Reader has no associated stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamBYOBReader`}},ReadableStreamBYOBRequest=class{[Bs]=`ReadableStreamBYOBRequest`;[zs];constructor(e){if(e!==el)throw TypeError(`Illegal constructor`)}get view(){if(!bl(this))throw TypeError(`Invalid this`);return this[zs].view}respond(e){if(!bl(this))throw TypeError(`Invalid this`);if(this[zs].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(e=+e,!Number.isInteger(e)||e<0||!Number.isFinite(e))throw RangeError(`bytesWritten must be a non-negative integer`);let R=this[zs].view;if(isDetachedBuffer(R.buffer))throw TypeError(`The BYOB request's buffer has been detached`);readableByteStreamControllerRespond(this[zs].controller,e)}respondWithNewView(e){if(!bl(this))throw TypeError(`Invalid this`);if(this[zs].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`view must be an ArrayBufferView`);if(isDetachedBuffer(e.buffer))throw TypeError(`The given view's buffer has been detached`);readableByteStreamControllerRespondWithNewView(this[zs].controller,e)}get[Symbol.toStringTag](){return`ReadableStreamBYOBRequest`}},ReadableByteStreamController=class{[Bs]=`ReadableByteStreamController`;[zs];constructor(e){if(e!==el)throw TypeError(`Illegal constructor`)}get byobRequest(){if(!vl(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetBYOBRequest(this)}get desiredSize(){if(!vl(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetDesiredSize(this)}close(){if(!vl(this))throw TypeError(`Invalid this`);if(this[zs].closeRequested)throw TypeError(`Close already requested`);if(this[zs].stream[zs].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerClose(this)}enqueue(e){if(!vl(this))throw TypeError(`Invalid this`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`chunk must be an ArrayBufferView`);if(e.byteLength===0)throw TypeError(`chunk length must be non-zero`);if(e.buffer.byteLength===0)throw TypeError(`chunk's buffer length must be non-zero`);if(this[zs].closeRequested)throw TypeError(`Cannot enqueue after close has been requested`);if(this[zs].stream[zs].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerEnqueue(this,e)}error(e=void 0){if(!vl(this))throw TypeError(`Invalid this`);readableByteStreamControllerError(this,e)}[sc](e){return readableByteStreamControllerCancelSteps(this,e)}[Ic](e){readableByteStreamControllerPullSteps(this,e)}[Hc](){if(this[zs].pendingPullIntos.length>0){let e=this[zs].pendingPullIntos[0];e.readerType=`none`,this[zs].pendingPullIntos=[e]}}get[Symbol.toStringTag](){return`ReadableByteStreamController`}};const vl=isBrandCheck(`ReadableByteStreamController`),yl=isBrandCheck(`ReadableStreamBYOBReader`),bl=isBrandCheck(`ReadableStreamBYOBRequest`);function readableStreamHasBYOBReader(e){let{reader:R}=e[zs];return R===void 0?!1:R[zs]!==void 0&&R[Bs]===`ReadableStreamBYOBReader`}function readableStreamGetNumReadIntoRequests(e){return e[zs].reader[zs].readIntoRequests.length}function readableStreamAddReadIntoRequest(e,R){e[zs].reader[zs].readIntoRequests.push(R)}function readableStreamFulfillReadIntoRequest(e,R,W){let{reader:Y}=e[zs],X=Y[zs].readIntoRequests.shift();W?X[uc](R):X[hc](R)}function setupReadableStreamBYOBReader(e,R){if(isReadableStreamLocked(R))throw TypeError(`ReadableStream is locked`);if(!vl(R[zs].controller))throw TypeError(`Cannot use a BYOB reader with a non-byte stream`);readableStreamReaderGenericInitialize(e,R),e[zs].readIntoRequests=[]}function readableStreamBYOBReaderRead(e,R,W,Y){let{stream:X}=e[zs];X[zs].disturbed=!0,X[zs].state===`errored`?Y[Ac](X[zs].storedError):readableByteStreamControllerPullInto(X[zs].controller,R,W,Y)}function readableStreamBYOBReaderRelease(e){readableStreamReaderGenericRelease(e);let R=TypeError(`Reader was released`);for(let W=0;W<e[zs].readIntoRequests.length;W++)e[zs].readIntoRequests[W][Ac](R);e[zs].readIntoRequests=[]}function readableByteStreamControllerClearAlgorithms(e){e[zs].pullAlgorithm=void 0,e[zs].cancelAlgorithm=void 0}function readableByteStreamControllerClearPendingPullIntos(e){readableByteStreamControllerInvalidateBYOBRequest(e),e[zs].pendingPullIntos=[]}function readableByteStreamControllerInvalidateBYOBRequest(e){let R=e[zs].byobRequest;R!=null&&(R[zs].controller=void 0,R[zs].view=null,e[zs].byobRequest=null)}function readableByteStreamControllerError(e,R){let{stream:W}=e[zs];W[zs].state===`readable`&&(readableByteStreamControllerClearPendingPullIntos(e),resetQueue(e),readableByteStreamControllerClearAlgorithms(e),readableStreamError(W,R))}function readableByteStreamControllerGetDesiredSize(e){let R=e[zs].stream[zs].state;return R===`errored`?null:R===`closed`?0:e[zs].highWaterMark-e[zs].queueTotalSize}function readableByteStreamControllerShouldCallPull(e){let{stream:R}=e[zs];if(R[zs].state!==`readable`||e[zs].closeRequested||!e[zs].started)return!1;if(readableStreamHasDefaultReader(R)&&readableStreamGetNumReadRequests(R)>0||readableStreamHasBYOBReader(R)&&readableStreamGetNumReadIntoRequests(R)>0)return!0;let W=readableByteStreamControllerGetDesiredSize(e);return W!==null&&W>0}function readableByteStreamControllerCallPullIfNeeded(e){if(readableByteStreamControllerShouldCallPull(e)){if(e[zs].pulling){e[zs].pullAgain=!0;return}e[zs].pulling=!0,e[zs].pullAlgorithm(e).then(()=>{e[zs].pulling=!1,e[zs].pullAgain&&(e[zs].pullAgain=!1,readableByteStreamControllerCallPullIfNeeded(e))},R=>readableByteStreamControllerError(e,R))}}function readableByteStreamControllerHandleQueueDrain(e){e[zs].queueTotalSize===0&&e[zs].closeRequested?(readableByteStreamControllerClearAlgorithms(e),readableStreamClose(e[zs].stream)):readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerEnqueueChunkToQueue(e,R,W,Y){e[zs].queue.push({buffer:R,byteOffset:W,byteLength:Y}),e[zs].queueTotalSize+=Y}function readableByteStreamControllerEnqueueClonedChunkToQueue(e,R,W,Y){let X;try{X=R.slice(W,W+Y)}catch(R){readableByteStreamControllerError(e,R);return}readableByteStreamControllerEnqueueChunkToQueue(e,X,0,Y)}function readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,R){R.bytesFilled>0&&readableByteStreamControllerEnqueueClonedChunkToQueue(e,R.buffer,R.byteOffset,R.bytesFilled),readableByteStreamControllerShiftPendingPullInto(e)}function readableByteStreamControllerShiftPendingPullInto(e){return e[zs].pendingPullIntos.shift()}function readableByteStreamControllerFillHeadPullIntoDescriptor(e,R,W){W.bytesFilled+=R}function readableByteStreamControllerConvertPullIntoDescriptor(e){let R=e.bytesFilled,W=e.elementSize,Y=transferArrayBuffer(e.buffer);return e.buffer=Y,new e.viewConstructor(Y,e.byteOffset,R/W)}function readableByteStreamControllerCommitPullIntoDescriptor(e,R){let W=!1;e[zs].state===`closed`&&(W=!0);let Y=readableByteStreamControllerConvertPullIntoDescriptor(R);R.readerType==="default"?readableStreamFulfillReadRequest(e,Y,W):readableStreamFulfillReadIntoRequest(e,Y,W)}function readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,R){let W=Math.min(e[zs].queueTotalSize,R.byteLength-R.bytesFilled),Y=R.bytesFilled+W,X=W,ie=!1,ae=Y-Y%R.elementSize;ae>=R.minimumFill&&(X=ae-R.bytesFilled,ie=!0);let le=e[zs].queue;for(;X>0;){let W=le[0],Y=Math.min(X,W.byteLength),ie=R.byteOffset+R.bytesFilled,ae=new Uint8Array(R.buffer,ie,Y),_e=new Uint8Array(W.buffer,W.byteOffset,Y);ae.set(_e),W.byteLength===Y?le.shift():(W.byteOffset+=Y,W.byteLength-=Y),e[zs].queueTotalSize-=Y,readableByteStreamControllerFillHeadPullIntoDescriptor(e,Y,R),X-=Y}return ie}function readableByteStreamControllerFillReadRequestFromQueue(e,R){let W=e[zs].queue.shift();e[zs].queueTotalSize-=W.byteLength,readableByteStreamControllerHandleQueueDrain(e);let Y=new Uint8Array(W.buffer,W.byteOffset,W.byteLength);R[hc](Y)}function readableByteStreamControllerProcessReadRequestsUsingQueue(e){let R=e[zs].stream[zs].reader;for(;R[zs].readRequests.length!==0;){if(e[zs].queueTotalSize===0)return;readableByteStreamControllerFillReadRequestFromQueue(e,R[zs].readRequests.shift())}}function readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e){for(;e[zs].pendingPullIntos.length!==0;){if(e[zs].queueTotalSize===0)return;let R=e[zs].pendingPullIntos[0];readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,R)&&(readableByteStreamControllerShiftPendingPullInto(e),readableByteStreamControllerCommitPullIntoDescriptor(e[zs].stream,R))}}function readableByteStreamControllerGetBYOBRequest(e){if(e[zs].byobRequest===null&&e[zs].pendingPullIntos.length!==0){let R=e[zs].pendingPullIntos[0],W=new Uint8Array(R.buffer,R.byteOffset+R.bytesFilled,R.byteLength-R.bytesFilled),Y=new ReadableStreamBYOBRequest(el);Y[zs]={controller:e,view:W},e[zs].byobRequest=Y}return e[zs].byobRequest}function readableByteStreamControllerEnqueue(e,R){let{stream:W}=e[zs];if(e[zs].closeRequested||W[zs].state!==`readable`)return;let Y=R.buffer,X=R.byteLength,ie=R.byteOffset;if(isDetachedBuffer(Y))throw TypeError(`chunk's buffer is detached`);let ae=transferArrayBuffer(Y);if(e[zs].pendingPullIntos.length!==0){let R=e[zs].pendingPullIntos[0];if(isDetachedBuffer(R.buffer))throw TypeError(`BYOB request's buffer has been detached`);readableByteStreamControllerInvalidateBYOBRequest(e),R.buffer=transferArrayBuffer(R.buffer),R.readerType===`none`&&readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,R)}readableStreamHasDefaultReader(W)?(readableByteStreamControllerProcessReadRequestsUsingQueue(e),readableStreamGetNumReadRequests(W)===0?readableByteStreamControllerEnqueueChunkToQueue(e,ae,ie,X):(e[zs].pendingPullIntos.length!==0&&readableByteStreamControllerShiftPendingPullInto(e),readableStreamFulfillReadRequest(W,new Uint8Array(ae,ie,X),!1))):readableStreamHasBYOBReader(W)?(readableByteStreamControllerEnqueueChunkToQueue(e,ae,ie,X),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)):readableByteStreamControllerEnqueueChunkToQueue(e,ae,ie,X),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerClose(e){let{stream:R}=e[zs];if(!(e[zs].closeRequested||R[zs].state!==`readable`)){if(e[zs].queueTotalSize>0){e[zs].closeRequested=!0;return}if(e[zs].pendingPullIntos.length!==0){let R=e[zs].pendingPullIntos[0];if(R.bytesFilled%R.elementSize!==0){let R=TypeError(`Insufficient bytes to fill elements in the given buffer`);throw readableByteStreamControllerError(e,R),R}}readableByteStreamControllerClearAlgorithms(e),readableStreamClose(R)}}function readableByteStreamControllerPullInto(e,R,W,Y){let X=e[zs].stream,ie=R[Symbol.toStringTag],ae,le;if(ie===void 0||ie===`DataView`)ae=DataView,le=1;else{let e=typedArrayConstructorByTag(ie);if(!e){Y[Ac](TypeError(`Unsupported typed array: ${ie}`));return}ae=e,le=elementSizeByTag(ie)}let _e=R.buffer,ye=R.byteLength,be=R.byteOffset,Ce=W*le,Te;try{Te=transferArrayBuffer(_e)}catch(e){Y[Ac](e);return}let Oe={buffer:Te,bufferByteLength:Te.byteLength,byteOffset:be,byteLength:ye,bytesFilled:0,minimumFill:Ce,elementSize:le,viewConstructor:ae,readerType:`byob`};if(e[zs].pendingPullIntos.length!==0){e[zs].pendingPullIntos.push(Oe),readableStreamAddReadIntoRequest(X,Y);return}if(X[zs].state===`closed`){let e=new ae(Oe.buffer,Oe.byteOffset,0);Y[uc](e);return}if(e[zs].queueTotalSize>0){if(readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,Oe)){let R=readableByteStreamControllerConvertPullIntoDescriptor(Oe);readableByteStreamControllerHandleQueueDrain(e),Y[hc](R);return}if(e[zs].closeRequested){let R=TypeError(`Insufficient bytes to fill elements in the given buffer`);readableByteStreamControllerError(e,R),Y[Ac](R);return}}e[zs].pendingPullIntos.push(Oe),readableStreamAddReadIntoRequest(X,Y),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespond(e,R){let W=e[zs].pendingPullIntos[0];if(e[zs].stream[zs].state===`closed`){if(R!==0)throw TypeError(`bytesWritten must be 0 when calling respond() on a closed stream`)}else{if(R===0)throw TypeError(`bytesWritten must be greater than 0 when calling respond() on a readable stream`);if(W.bytesFilled+R>W.byteLength)throw RangeError(`bytesWritten out of range`)}W.buffer=transferArrayBuffer(W.buffer),readableByteStreamControllerRespondInternal(e,R)}function readableByteStreamControllerRespondWithNewView(e,R){let W=e[zs].pendingPullIntos[0],Y=e[zs].stream[zs].state,X=R.byteLength,ie=R.byteOffset,ae=R.buffer;if(Y===`closed`){if(X!==0)throw TypeError(`view's length must be 0 when calling respondWithNewView() on a closed stream`)}else if(X===0)throw TypeError(`view's length must be greater than 0 when calling respondWithNewView() on a readable stream`);if(W.byteOffset+W.bytesFilled!==ie)throw RangeError(`The region specified by view does not match byobRequest`);if(W.bufferByteLength!==ae.byteLength)throw RangeError(`The buffer of view has different capacity than byobRequest`);if(W.bytesFilled+X>W.byteLength)throw RangeError(`The region specified by view is larger than byobRequest`);W.buffer=transferArrayBuffer(ae),readableByteStreamControllerRespondInternal(e,X)}function readableByteStreamControllerRespondInternal(e,R){let W=e[zs].pendingPullIntos[0];readableByteStreamControllerInvalidateBYOBRequest(e),e[zs].stream[zs].state===`closed`?readableByteStreamControllerRespondInClosedState(e,W):readableByteStreamControllerRespondInReadableState(e,R,W),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespondInClosedState(e,R){R.readerType===`none`&&readableByteStreamControllerShiftPendingPullInto(e);let W=e[zs].stream;if(readableStreamHasBYOBReader(W))for(;readableStreamGetNumReadIntoRequests(W)>0;)readableByteStreamControllerCommitPullIntoDescriptor(W,readableByteStreamControllerShiftPendingPullInto(e))}function readableByteStreamControllerRespondInReadableState(e,R,W){if(readableByteStreamControllerFillHeadPullIntoDescriptor(e,R,W),W.readerType===`none`){readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,W),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e);return}if(W.bytesFilled<W.minimumFill)return;readableByteStreamControllerShiftPendingPullInto(e);let Y=W.bytesFilled%W.elementSize;if(Y>0){let R=W.byteOffset+W.bytesFilled;readableByteStreamControllerEnqueueClonedChunkToQueue(e,W.buffer,R-Y,Y)}W.bytesFilled-=Y,readableByteStreamControllerCommitPullIntoDescriptor(e[zs].stream,W),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)}function readableByteStreamControllerCancelSteps(e,R){readableByteStreamControllerClearPendingPullIntos(e),resetQueue(e);let W=e[zs].cancelAlgorithm?.(R)??Promise.resolve();return readableByteStreamControllerClearAlgorithms(e),W}function readableByteStreamControllerPullSteps(e,R){let W=e[zs].stream;if(e[zs].queueTotalSize>0){readableByteStreamControllerFillReadRequestFromQueue(e,R);return}let Y=e[zs].autoAllocateChunkSize;if(Y!==void 0){let W;try{W=new ArrayBuffer(Y)}catch(e){R[Ac](e);return}let X={buffer:W,bufferByteLength:Y,byteOffset:0,byteLength:Y,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:`default`};e[zs].pendingPullIntos.push(X)}readableStreamAddReadRequest(W,R),readableByteStreamControllerCallPullIfNeeded(e)}function setupReadableByteStreamController(e,R,W,Y,X,ie,ae){R[zs]={cancelAlgorithm:X,closeRequested:!1,highWaterMark:ie,pullAgain:!1,pullAlgorithm:Y,pulling:!1,queue:[],queueTotalSize:0,started:!1,stream:e,byobRequest:null,pendingPullIntos:[],autoAllocateChunkSize:ae},e[zs].controller=R;let le=W();new Promise(e=>e(le)).then(()=>{R[zs].started=!0,readableByteStreamControllerCallPullIfNeeded(R)},e=>readableByteStreamControllerError(R,e))}function setupReadableByteStreamControllerFromSource(e,R,W){let Y=new ReadableByteStreamController(el),X=R?.start,ie=R?.pull,ae=R?.cancel,le=R?.autoAllocateChunkSize;if(le!==void 0&&(le===0||!Number.isInteger(le)||le<0))throw TypeError(`autoAllocateChunkSize must be a positive integer`);setupReadableByteStreamController(e,Y,X?X.bind(R,Y):nonOpStart,ie?createPromiseCallback(`source.pull`,ie,R):nonOpPull,ae?createPromiseCallback(`source.cancel`,ae,R):nonOpCancel,W,le)}function readableByteStreamTee(e){let R=new ReadableStreamDefaultReader(e),W=!1,Y=!1,X=!1,ie,ae,le=Promise.withResolvers(),_e,ye,be,Ce;function pullAlgorithm(){return W?Promise.resolve():(W=!0,R.read().then(e=>{if(W=!1,e.done){Y||be.close(),X||Ce.close();return}let R=e.value,ie=new Uint8Array(R.buffer.slice(R.byteOffset,R.byteOffset+R.byteLength));Y||be.enqueue(ie),X||Ce.enqueue(new Uint8Array(ie))},()=>{}),Promise.resolve())}return _e=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(R){if(Y=!0,ie=R,X){let R=readableStreamCancel(e,[ie,ae]);return le.resolve(),R}return le.promise}}),ye=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(R){if(X=!0,ae=R,Y){let R=readableStreamCancel(e,[ie,ae]);return le.resolve(),R}return le.promise}}),be=_e[zs].controller,Ce=ye[zs].controller,R.closed.catch(e=>{be.error(e),Ce.error(e),(!Y||!X)&&le.resolve()}),[_e,ye]}const xl=Symbol(`kSkipThrow`);var TransformStream=class{[Bs]=`TransformStream`;[zs];constructor(e={},R={},W={}){if(e!=null&&typeof e!=`object`)throw TypeError(`transformer must be an object`);if(R!=null&&typeof R!=`object`)throw TypeError(`writableStrategy must be an object`);if(W!=null&&typeof W!=`object`)throw TypeError(`readableStrategy must be an object`);let Y=e?.readableType,X=e?.writableType,ie=e?.start;if(Y!==void 0)throw RangeError(`Invalid readableType: ${Y}`);if(X!==void 0)throw RangeError(`Invalid writableType: ${X}`);let ae=extractHighWaterMark(W?.highWaterMark,0),le=extractSizeAlgorithm(W?.size),_e=extractHighWaterMark(R?.highWaterMark,1),ye=extractSizeAlgorithm(R?.size),be=Promise.withResolvers();initializeTransformStream(this,be,_e,ye,ae,le),setupTransformStreamDefaultControllerFromTransformer(this,e),ie===void 0?be.resolve():be.resolve(ie.call(e,this[zs].controller))}get readable(){if(!Sl(this))throw TypeError(`Invalid this`);return this[zs].readable}get writable(){if(!Sl(this))throw TypeError(`Invalid this`);return this[zs].writable}get[Symbol.toStringTag](){return`TransformStream`}},TransformStreamDefaultController=class{[Bs]=`TransformStreamDefaultController`;[zs];constructor(e){if(e!==xl)throw TypeError(`Illegal constructor`)}get desiredSize(){if(!Cl(this))throw TypeError(`Invalid this`);let{stream:e}=this[zs],{readable:R}=e[zs],W=R[zs].controller;return readableStreamDefaultControllerGetDesiredSize(W)}enqueue(e){if(!Cl(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerEnqueue(this,e)}error(e){if(!Cl(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerError(this,e)}terminate(){if(!Cl(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerTerminate(this)}get[Symbol.toStringTag](){return`TransformStreamDefaultController`}};const Sl=isBrandCheck(`TransformStream`),Cl=isBrandCheck(`TransformStreamDefaultController`);async function defaultTransformAlgorithm(e,R){transformStreamDefaultControllerEnqueue(R,e)}function initializeTransformStream(e,R,W,Y,X,ie){let startAlgorithm=()=>R.promise,ae=createWritableStream(startAlgorithm,R=>transformStreamDefaultSinkWriteAlgorithm(e,R),()=>transformStreamDefaultSinkCloseAlgorithm(e),R=>transformStreamDefaultSinkAbortAlgorithm(e,R),W,Y);e[zs]={readable:createReadableStream(startAlgorithm,()=>transformStreamDefaultSourcePullAlgorithm(e),R=>transformStreamDefaultSourceCancelAlgorithm(e,R),X,ie),writable:ae,controller:void 0,backpressure:void 0,backpressureChange:{promise:void 0,resolve:void 0,reject:void 0}},transformStreamSetBackpressure(e,!0)}function transformStreamError(e,R){let{readable:W}=e[zs];readableStreamDefaultControllerError(W[zs].controller,R),transformStreamErrorWritableAndUnblockWrite(e,R)}function transformStreamErrorWritableAndUnblockWrite(e,R){let{controller:W,writable:Y}=e[zs];transformStreamDefaultControllerClearAlgorithms(W),writableStreamDefaultControllerErrorIfNeeded(Y[zs].controller,R),transformStreamUnblockWrite(e)}function transformStreamUnblockWrite(e){e[zs].backpressure&&transformStreamSetBackpressure(e,!1)}function transformStreamSetBackpressure(e,R){e[zs].backpressureChange.promise!==void 0&&e[zs].backpressureChange.resolve?.(),e[zs].backpressureChange=Promise.withResolvers(),e[zs].backpressure=R}function setupTransformStreamDefaultController(e,R,W,Y,X){R[zs]={stream:e,transformAlgorithm:W,flushAlgorithm:Y,cancelAlgorithm:X,finishPromise:void 0},e[zs].controller=R}function setupTransformStreamDefaultControllerFromTransformer(e,R){let W=new TransformStreamDefaultController(xl),Y=R?.transform,X=R?.flush,ie=R?.cancel;setupTransformStreamDefaultController(e,W,Y?createPromiseCallback(`transformer.transform`,Y,R):defaultTransformAlgorithm,X?createPromiseCallback(`transformer.flush`,X,R):nonOpFlush,ie?createPromiseCallback(`transformer.cancel`,ie,R):nonOpCancel)}function transformStreamDefaultControllerClearAlgorithms(e){e[zs].transformAlgorithm=void 0,e[zs].flushAlgorithm=void 0,e[zs].cancelAlgorithm=void 0}function transformStreamDefaultControllerEnqueue(e,R){let{stream:W}=e[zs],{readable:Y}=W[zs],X=Y[zs].controller;if(!readableStreamDefaultControllerCanCloseOrEnqueue(X))throw TypeError(`Unable to enqueue`);try{readableStreamDefaultControllerEnqueue(X,R)}catch(e){throw transformStreamErrorWritableAndUnblockWrite(W,e),Y[zs].storedError}readableStreamDefaultControllerHasBackpressure(X)!==W[zs].backpressure&&transformStreamSetBackpressure(W,!0)}function transformStreamDefaultControllerError(e,R){transformStreamError(e[zs].stream,R)}async function transformStreamDefaultControllerPerformTransform(e,R){try{let W=e[zs].transformAlgorithm;if(W===void 0)return;await W(R,e)}catch(R){throw transformStreamError(e[zs].stream,R),R}}function transformStreamDefaultControllerTerminate(e){let{stream:R}=e[zs],{readable:W}=R[zs];readableStreamDefaultControllerClose(W[zs].controller),transformStreamErrorWritableAndUnblockWrite(R,TypeError(`TransformStream has been terminated`))}function transformStreamDefaultSinkWriteAlgorithm(e,R){let{controller:W}=e[zs];return e[zs].backpressure?e[zs].backpressureChange.promise.then(()=>{let{writable:Y}=e[zs];if(Y[zs].state===`erroring`)throw Y[zs].storedError;return transformStreamDefaultControllerPerformTransform(W,R)}):transformStreamDefaultControllerPerformTransform(W,R)}async function transformStreamDefaultSinkAbortAlgorithm(e,R){let{controller:W,readable:Y}=e[zs];if(W[zs].finishPromise!==void 0)return W[zs].finishPromise;let{promise:X,resolve:ie,reject:ae}=Promise.withResolvers();W[zs].finishPromise=X;let le=W[zs].cancelAlgorithm(R);return transformStreamDefaultControllerClearAlgorithms(W),le.then(()=>{Y[zs].state===`errored`?ae(Y[zs].storedError):(readableStreamDefaultControllerError(Y[zs].controller,R),ie())},e=>{readableStreamDefaultControllerError(Y[zs].controller,e),ae(e)}),W[zs].finishPromise}function transformStreamDefaultSinkCloseAlgorithm(e){let{readable:R,controller:W}=e[zs];if(W[zs].finishPromise!==void 0)return W[zs].finishPromise;let{promise:Y,resolve:X,reject:ie}=Promise.withResolvers();W[zs].finishPromise=Y;let ae=W[zs].flushAlgorithm(W);return transformStreamDefaultControllerClearAlgorithms(W),ae.then(()=>{R[zs].state===`errored`?ie(R[zs].storedError):(readableStreamDefaultControllerClose(R[zs].controller),X())},e=>{readableStreamDefaultControllerError(R[zs].controller,e),ie(e)}),W[zs].finishPromise}function transformStreamDefaultSourcePullAlgorithm(e){return transformStreamSetBackpressure(e,!1),e[zs].backpressureChange.promise}function transformStreamDefaultSourceCancelAlgorithm(e,R){let{controller:W,writable:Y}=e[zs];if(W[zs].finishPromise!==void 0)return W[zs].finishPromise;let{promise:X,resolve:ie,reject:ae}=Promise.withResolvers();W[zs].finishPromise=X;let le=W[zs].cancelAlgorithm(R);return transformStreamDefaultControllerClearAlgorithms(W),le.then(()=>{Y[zs].state===`errored`?ae(Y[zs].storedError):(writableStreamDefaultControllerErrorIfNeeded(Y[zs].controller,R),transformStreamUnblockWrite(e),ie())},R=>{writableStreamDefaultControllerErrorIfNeeded(Y[zs].controller,R),transformStreamUnblockWrite(e),ae(R)}),W[zs].finishPromise}const wl=Object.defineProperty(e=>e.byteLength,"name",{value:`size`}),Tl=Object.defineProperty(()=>1,"name",{value:`size`});var ByteLengthQueuingStrategy=class{#e;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`init must be an object`);if(e.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+e.highWaterMark}get highWaterMark(){return this.#e}get size(){return wl}get[Symbol.toStringTag](){return`ByteLengthQueuingStrategy`}},CountQueuingStrategy=class{#e;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`init must be an object`);if(e.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+e.highWaterMark}get highWaterMark(){return this.#e}get size(){return Tl}get[Symbol.toStringTag](){return`CountQueuingStrategy`}},TextEncoderStream=class{#e=null;#t=new TextEncoder;#n;constructor(){this.#n=new TransformStream({transform:(e,R)=>{if(e=String(e),e===``)return;this.#e!==null&&(e=this.#e+e);let W=e.charCodeAt(e.length-1);55296<=W&&W<=56319?(this.#e=e.slice(-1),e=e.slice(0,-1)):this.#e=null,e&&R.enqueue(this.#t.encode(e))},flush:e=>{this.#e!==null&&e.enqueue(new Uint8Array([239,191,189]))}})}get encoding(){return`utf-8`}get readable(){return this.#n.readable}get writable(){return this.#n.writable}};function hasStreamingSupport(){try{return new TextDecoder().decode(new Uint8Array([195]),{stream:!0}),!0}catch{return!1}}const El=hasStreamingSupport();function incompleteUtf8Tail(e){let R=e.length;if(R===0)return 0;for(let W=1;W<=Math.min(3,R);W++){let Y=e[R-W];if(!(Y&128))return 0;if((Y&192)!=128){let e;if((Y&224)==192)e=2;else if((Y&240)==224)e=3;else if((Y&248)==240)e=4;else return 0;return W<e?W:0}}return 0}var TextDecoderStream=class{#e;#t;constructor(e,R){if(this.#e=new TextDecoder(e,R),El)this.#t=new TransformStream({transform:(e,R)=>{let W=toUint8Array$2(e),Y=this.#e.decode(W,{stream:!0});Y&&R.enqueue(Y)},flush:e=>{let R=this.#e.decode();R&&e.enqueue(R)},cancel:()=>{this.#e.decode()}});else{let e=new Uint8Array;this.#t=new TransformStream({transform:(R,W)=>{let Y=toUint8Array$2(R),X;e.length>0?(X=new Uint8Array(e.length+Y.length),X.set(e,0),X.set(Y,e.length)):X=Y;let ie=incompleteUtf8Tail(X),ae;if(ie>0?(ae=X.slice(0,X.length-ie),e=X.slice(X.length-ie)):(ae=X,e=new Uint8Array),ae.length>0){let e=this.#e.decode(ae);e&&W.enqueue(e)}},flush:R=>{if(e.length>0){let W=this.#e.decode(e);W&&R.enqueue(W),e=new Uint8Array}},cancel:()=>{e=new Uint8Array}})}}get encoding(){return this.#e.encoding}get fatal(){return this.#e.fatal}get ignoreBOM(){return this.#e.ignoreBOM}get readable(){return this.#t.readable}get writable(){return this.#t.writable}};function toUint8Array$2(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError(`chunk must be a BufferSource`)}__name$1(toUint8Array$2,`toUint8Array`);function isNativeStreamUsable$3(e,R){try{return typeof e==`function`?typeof e.prototype?.[R]==`function`:!1}catch{return!1}}__name$1(isNativeStreamUsable$3,`isNativeStreamUsable`);const Al=isNativeStreamUsable$3(globalThis.ReadableStream,`getReader`)?globalThis.ReadableStream:ReadableStream$1,jl=isNativeStreamUsable$3(globalThis.WritableStream,`getWriter`)?globalThis.WritableStream:WritableStream,Ml=isNativeStreamUsable$3(globalThis.TransformStream,`readable`)?globalThis.TransformStream:TransformStream,Nl=typeof globalThis.ByteLengthQueuingStrategy==`function`?globalThis.ByteLengthQueuingStrategy:ByteLengthQueuingStrategy,Fl=typeof globalThis.CountQueuingStrategy==`function`?globalThis.CountQueuingStrategy:CountQueuingStrategy,Ll=typeof globalThis.TextEncoderStream==`function`?globalThis.TextEncoderStream:TextEncoderStream,Rl=typeof globalThis.TextDecoderStream==`function`?globalThis.TextDecoderStream:TextDecoderStream;var zl=__esmMin(()=>{Vt()});function _setPipeImpl(e){Bl=e}var Bl,Stream_,Vl=__esmMin(()=>{cs(),Stream_=class extends ss{constructor(e){super(e)}pipe(e,R){return Bl(this,e,R)}}});function getDefaultHighWaterMark(e){return e?ql:Gl}function setDefaultHighWaterMark(e,R){if(typeof R!=`number`||R<0||Number.isNaN(R))throw TypeError(`Invalid highWaterMark: ${R}`);e?ql=R:Gl=R}function validateHighWaterMark(e,R){if(R!==void 0&&(typeof R!=`number`||Number.isNaN(R))){let W=TypeError(`The value of "${e}" is invalid. Received ${R}`);throw W.code=`ERR_INVALID_ARG_VALUE`,W}}var Gl,ql,Jl=__esmMin(()=>{Gl=16384,ql=16});function chunkLength(e){if(e==null)return 1;let R=e.length;return typeof R==`number`?R:1}function sliceChunk(e,R,W){if(typeof e==`string`)return W===void 0?e.slice(R):e.slice(R,W);let Y=e.slice;return typeof Y==`function`?Y.call(e,R,W):e}var Yl,Xl=__esmMin(()=>{Vl(),Jl(),Vt(),Yl=class Readable_ extends Stream_{readable=!0;readableFlowing=null;readableLength=0;readableHighWaterMark;readableEncoding;readableObjectMode;readableEnded=!1;readableAborted=!1;destroyed=!1;_pipeDests=[];_buffer=[];_readableState={ended:!1,endEmitted:!1,reading:!1,constructed:!0,highWaterMark:0,objectMode:!1,pipes:[]};_err;_readablePending=!1;_readImpl;_destroyImpl;_constructImpl;constructor(e){super(e),this.readableHighWaterMark=e?.highWaterMark??getDefaultHighWaterMark(e?.objectMode??!1),this.readableEncoding=e?.encoding??null,this.readableObjectMode=e?.objectMode??!1,this._readableState.highWaterMark=this.readableHighWaterMark,this._readableState.objectMode=this.readableObjectMode,e?.read&&(this._readImpl=e.read),e?.destroy&&(this._destroyImpl=e.destroy),e?.construct&&(this._constructImpl=e.construct),(this._constructImpl||this._construct!==Readable_.prototype._construct)&&(this._readableState.constructed=!1,nextTick(()=>{this._construct(e=>{this._readableState.constructed=!0,e?this.destroy(e):this.readableFlowing===!0&&this._flow()})}))}_construct(e){this._constructImpl?this._constructImpl.call(this,e):e()}_read(e){this._readImpl&&this._readImpl.call(this,e)}read(e){if(!this._readableState.constructed)return null;if(this._buffer.length===0){if(this._readableState.ended)return null;this._readableState.reading=!0,this._read(e??this.readableHighWaterMark),this._readableState.reading=!1}if(this._buffer.length===0||e===0)return null;if(this.readableObjectMode){if(e===void 0){let e=this._buffer.shift();return--this.readableLength,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),e}if(e>this.readableLength)return null;let R=this._buffer.shift();return--this.readableLength,R}if(e!=null)return e>this.readableLength?null:this._readBytes(e);let R=this._buffer.splice(0);if(this.readableLength=0,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),R.length===1)return R[0];if(R.length===0)return null;if(typeof R[0]==`string`)return R.join(``);let W=globalThis.Buffer;return W?.concat?W.concat(R):R}_readBytes(e){let R=0,W=[];for(;R<e&&this._buffer.length>0;){let Y=this._buffer[0],X=chunkLength(Y);if(R+X<=e)W.push(this._buffer.shift()),R+=X,this.readableLength-=X;else{let X=e-R;W.push(sliceChunk(Y,0,X)),this._buffer[0]=sliceChunk(Y,X),this.readableLength-=X,R+=X}}if(W.length===1)return W[0];let Y=globalThis.Buffer;return Y?.concat?Y.concat(W):W}push(e,R){if(e===null)return this._readableState.ended=!0,this.readableEnded=!0,this._buffer.length===0&&!this._readableState.endEmitted&&nextTick(()=>this._emitEnd()),this._scheduleReadable(),!1;if(!this.readableObjectMode&&!(typeof e==`string`||ArrayBuffer.isView(e))){let R=Object.assign(TypeError(`Invalid non-string/buffer chunk type: ${typeof e}`),{code:`ERR_INVALID_ARG_TYPE`});return nextTick(()=>this.emit(`error`,R)),!1}return this._buffer.push(e),this.readableLength+=this.readableObjectMode?1:chunkLength(e),this.readableFlowing&&!this._flowing&&nextTick(()=>this._flow()),this.readableFlowing!==!0&&this._scheduleReadable(),this.readableLength<this.readableHighWaterMark}_emitEnd(){this._readableState.endEmitted||(this._readableState.endEmitted=!0,this.emit(`end`),nextTick(()=>this._autoClose()))}_autoClose(){this.emit(`close`)}_scheduleReadable(){this._readablePending||this.listenerCount(`readable`)===0||(this._readablePending=!0,nextTick(()=>{this._readablePending=!1,this.destroyed||this.emit(`readable`)}))}on(e,R){return super.on(e,R),e===`data`&&this.readableFlowing!==!1&&this.resume(),e===`readable`&&(this._buffer.length>0||this._readableState.ended)&&this._scheduleReadable(),this}unshift(e){this._buffer.unshift(e),this.readableLength+=this.readableObjectMode?1:chunkLength(e)}setEncoding(e){return this.readableEncoding=e,this}pause(){return this.readableFlowing=!1,this.emit(`pause`),this}resume(){return this.readableFlowing!==!0&&(this.readableFlowing=!0,this.emit(`resume`),this._readableState.constructed&&this._flow()),this}_flowing=!1;_flow(){if(!(this.readableFlowing!==!0||this._flowing||this.destroyed)&&this._readableState.constructed){this._flowing=!0;try{for(;this._buffer.length>0&&this.readableFlowing&&!this.destroyed;){let e=this._buffer.shift();if(this.readableLength-=this.readableObjectMode?1:chunkLength(e),this.readableEncoding&&typeof e!=`string`){let R=globalThis.Buffer;R?.isBuffer&&R.isBuffer(e)?e=e.toString(this.readableEncoding):e instanceof Uint8Array&&(e=new TextDecoder(this.readableEncoding).decode(e))}this.emit(`data`,e)}if(this.destroyed)return;if(this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted){nextTick(()=>this._emitEnd());return}!this._readableState.ended&&!this._readableState.reading&&!this.destroyed&&(this._readableState.reading=!0,this._read(this.readableHighWaterMark),this._readableState.reading=!1)}finally{this._flowing=!1}this._buffer.length>0&&this.readableFlowing&&!this.destroyed&&nextTick(()=>this._flow())}}isPaused(){return this.readableFlowing===!1}unpipe(e){if(e){let R=this._pipeDests.findIndex(R=>R.dest===e);if(R!==-1){this._pipeDests[R].cleanup(),this._pipeDests.splice(R,1);let W=this._readableState.pipes.indexOf(e);W!==-1&&this._readableState.pipes.splice(W,1),e.emit(`unpipe`,this),this._pipeDests.length===0&&(this.readableFlowing=!1)}}else{for(let e of this._pipeDests)e.cleanup(),e.dest.emit(`unpipe`,this);this._pipeDests=[],this._readableState.pipes=[],this.readableFlowing=!1}return this}_destroy(e,R){this._destroyImpl?this._destroyImpl.call(this,e,R):R(e??void 0)}destroy(e){if(this.destroyed)return this;this.destroyed=!0,this.readable=!1,this.readableAborted=!this.readableEnded,e&&(this._err=e);let cb=e=>{e&&nextTick(()=>this.emit(`error`,e)),nextTick(()=>this.emit(`close`))};return Object.prototype.hasOwnProperty.call(this,`_destroy`)?this._destroy(e??null,cb):this._destroyImpl?this._destroyImpl.call(this,e??null,cb):cb(e),this}static toWeb(e){return new ReadableStream({start(R){e.on(`data`,e=>{typeof e==`string`?R.enqueue(new TextEncoder().encode(e)):e instanceof Uint8Array?R.enqueue(e):e&&typeof e.length==`number`&&R.enqueue(new Uint8Array(e))}),e.on(`end`,()=>{R.close()}),e.on(`error`,e=>{R.error(e)})},cancel(){e.destroy()}})}static fromWeb(e,R){let W=e.getReader();return new Readable_({...R,read(){W.read().then(({done:e,value:R})=>{e?this.push(null):this.push(R)},e=>{this.destroy(e)})},destroy(e,R){W.cancel(e?.message).then(()=>R(null),R)}})}[Symbol.asyncIterator](){let e=this,R=[],W=!1,Y=null,X=null,ie=null;return e.on(`data`,e=>{if(X){let R=X;X=null,ie=null,R({value:e,done:!1})}else R.push(e)}),e.on(`end`,()=>{if(W=!0,X){let e=X;X=null,ie=null,e({value:void 0,done:!0})}}),e.on(`error`,e=>{if(Y=e,W=!0,ie){let R=ie;X=null,ie=null,R(e)}}),{next(){return Y?Promise.reject(Y):R.length>0?Promise.resolve({value:R.shift(),done:!1}):W?Promise.resolve({value:void 0,done:!0}):new Promise((e,R)=>{X=e,ie=R})},return(){return e.destroy(),Promise.resolve({value:void 0,done:!0})},[Symbol.asyncIterator](){return this}}}static from(e,R){let W=new Readable_({objectMode:!0,...R,read(){}});return typeof e==`string`||ArrayBuffer.isView(e)?(W.push(e),W.push(null),W):((async()=>{try{for await(let R of e)W.push(R)||await new Promise(e=>W.once(`drain`,e));W.push(null)}catch(e){W.destroy(e)}})(),W)}}});function chunkLen$1(e){if(e==null)return 1;let R=e.length;return typeof R==`number`?R:1}var Duplex_,Zl=__esmMin(()=>{Jl(),Xl(),Vt(),Duplex_=class extends Yl{writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;allowHalfOpen;_decodeStrings;_writableState={highWaterMark:0,objectMode:!1};_duplexCorkedBuffer=[];_duplexWriting=!1;_duplexWriteQueue=[];_writeImpl;_finalImpl;_defaultEncoding=`utf8`;_pendingWrites=0;_pendingEndCb=null;constructor(e){super(e),validateHighWaterMark(`writableHighWaterMark`,e?.writableHighWaterMark),validateHighWaterMark(`readableHighWaterMark`,e?.readableHighWaterMark),this.writableObjectMode=e?.writableObjectMode??e?.objectMode??!1,this.writableHighWaterMark=e?.highWaterMark??e?.writableHighWaterMark??getDefaultHighWaterMark(this.writableObjectMode),this._writableState.highWaterMark=this.writableHighWaterMark,this._writableState.objectMode=this.writableObjectMode,e?.highWaterMark===void 0&&e?.readableHighWaterMark!==void 0&&(this.readableHighWaterMark=e.readableHighWaterMark,this._readableState.highWaterMark=e.readableHighWaterMark),e?.readableObjectMode!==void 0&&(this.readableObjectMode=e.readableObjectMode,this._readableState.objectMode=e.readableObjectMode,e?.readableHighWaterMark===void 0&&e?.highWaterMark===void 0&&(this.readableHighWaterMark=getDefaultHighWaterMark(e.readableObjectMode),this._readableState.highWaterMark=this.readableHighWaterMark)),this.allowHalfOpen=e?.allowHalfOpen!==!1,this._decodeStrings=e?.decodeStrings!==!1,e?.write&&(this._writeImpl=e.write),e?.final&&(this._finalImpl=e.final),this.allowHalfOpen||this.once(`end`,()=>{this.writableEnded||nextTick(()=>this.end())})}_write(e,R,W){this._writeImpl?this._writeImpl.call(this,e,R,W):W()}_final(e){this._finalImpl?this._finalImpl.call(this,e):e()}destroy(e){return this.destroyed?this:(this.writable=!1,super.destroy(e))}write(e,R,W){let Y,X;if(typeof R==`function`?(Y=R,X=this._defaultEncoding):(X=R??this._defaultEncoding,Y=W??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let R=globalThis.Buffer;R&&(e=R.from(e,X),X=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let R=globalThis.Buffer;(R&&R.isBuffer(e)||e instanceof Uint8Array)&&(X=`buffer`)}if(this.writableEnded){let e=Error(`write after end`);return nextTick(()=>{Y(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen$1(e),this.writableCorked>0)return this._duplexCorkedBuffer.push({chunk:e,encoding:X,callback:Y}),this.writableLength<this.writableHighWaterMark;let ie=this.writableLength<this.writableHighWaterMark;return ie||(this.writableNeedDrain=!0),this._duplexDoWrite(e,X,Y),ie}_duplexDoWrite(e,R,W){if(this._duplexWriting){this._duplexWriteQueue.push({chunk:e,encoding:R,callback:W});return}this._duplexWriting=!0,this._duplexStartWrite(e,R,W)}_duplexStartWrite(e,R,W){this._pendingWrites++,this._write(e,R,R=>{this._pendingWrites--,this.writableLength-=this.writableObjectMode?1:chunkLen$1(e),nextTick(R?()=>{if(W(R),this._duplexWriting=!1,this.emit(`error`,R),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexWriting=!0,this._duplexStartWrite(e.chunk,e.encoding,e.callback)}}:()=>{if(W(),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexStartWrite(e.chunk,e.encoding,e.callback);return}if(this._duplexWriting=!1,this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._pendingWrites===0&&this._pendingEndCb){let e=this._pendingEndCb;this._pendingEndCb=null,e()}})})}end(e,R,W){typeof e==`function`&&(W=e,e=void 0),typeof R==`function`&&(W=R,R=void 0),e!=null&&this.write(e,R),this.writableEnded=!0;let doFinal=()=>{this._final(e=>{this.writableFinished=!0,this._doPrefinishHooks(()=>{nextTick(()=>{e&&this.emit(`error`,e),this.emit(`finish`),nextTick(()=>this.emit(`close`)),W&&W()})})})};return this._pendingWrites>0||this._duplexWriting||this._duplexWriteQueue.length>0?this._pendingEndCb=doFinal:doFinal(),this}_doPrefinishHooks(e){e()}cork(){this.writableCorked++}uncork(){if(this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._duplexCorkedBuffer.length>0)){let e=this._duplexCorkedBuffer.splice(0);for(let{chunk:R,encoding:W,callback:Y}of e)this._write(R,W,e=>{this.writableLength-=this.writableObjectMode?1:chunkLen$1(R),e?(Y(e),this.emit(`error`,e)):Y()});this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,nextTick(()=>this.emit(`drain`)))}}setDefaultEncoding(e){return this._defaultEncoding=e,this}},__name$1(chunkLen$1,`chunkLen`)});function pipe(e,R,W){let Y=e,X=W?.end!==!1,ie=!1,ondrain=()=>{ie=!1,R.removeListener(`drain`,ondrain);let e=Y;typeof e.resume==`function`&&e.resume()},ondata=e=>{if(R.writable){let W=Y;R.write(e)===!1&&typeof W.pause==`function`&&(W.pause(),ie||(ie=!0,R.on(`drain`,ondrain)))}};Y.on(`data`,ondata);let ae=!1,onend=()=>{ae||(ae=!0,X&&R.end())},onclose=()=>{if(!ae&&(ae=!0,X&&!(Y instanceof Yl))){let e=R;typeof e.destroy==`function`&&e.destroy()}};X&&(Y.on(`end`,onend),Y.on(`close`,onclose));let cleanup=()=>{Y.removeListener(`data`,ondata),ie&&R.removeListener(`drain`,ondrain),Y.removeListener(`end`,onend),Y.removeListener(`close`,onclose),Y.removeListener(`end`,cleanup),Y.removeListener(`close`,cleanup),R.removeListener(`close`,cleanup)};return Y.on(`end`,cleanup),Y.on(`close`,cleanup),R.on(`close`,cleanup),Y instanceof Yl&&(Y._pipeDests.push({dest:R,cleanup}),Y._readableState.pipes.push(R)),R.emit(`pipe`,Y),R}var Ql=__esmMin(()=>{Vl(),Xl(),_setPipeImpl(pipe)});function chunkLen(e){if(e==null)return 1;let R=e.length;return typeof R==`number`?R:1}var eu,tu=__esmMin(()=>{Vl(),Jl(),Vt(),eu=class Writable_ extends Stream_{static[Symbol.hasInstance](e){let R=this;return R.prototype!==void 0&&Object.prototype.isPrototypeOf.call(R.prototype,e)?!0:R.prototype!==Writable_.prototype||e==null?!1:typeof e.writableHighWaterMark==`number`}writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;destroyed=!1;_err;_writableState={ended:!1,finished:!1,constructed:!0,writing:!1};_corkedBuffer=[];_writeBuffer=[];_pendingConstruct=[];_ending=!1;_endCallback;_pendingEnd=null;_writeImpl;_writev;_finalImpl;_destroyImpl;_constructImpl;_decodeStrings;_defaultEncoding=`utf8`;constructor(e){super(e),this.writableHighWaterMark=e?.highWaterMark??getDefaultHighWaterMark(e?.objectMode??!1),this.writableObjectMode=e?.objectMode??!1,this._decodeStrings=e?.decodeStrings!==!1,e?.write&&(this._writeImpl=e.write),e?.writev&&(this._writev=e.writev),e?.final&&(this._finalImpl=e.final),e?.destroy&&(this._destroyImpl=e.destroy),e?.construct&&(this._constructImpl=e.construct),(this._constructImpl||this._construct!==Writable_.prototype._construct)&&(this._writableState.constructed=!1,nextTick(()=>{this._construct(e=>{this._writableState.constructed=!0,e?this.destroy(e):this._maybeFlush()})}))}_construct(e){this._constructImpl?this._constructImpl.call(this,e):e()}_write(e,R,W){this._writeImpl?this._writeImpl.call(this,e,R,W):W()}_final(e){this._finalImpl?this._finalImpl.call(this,e):e()}_destroy(e,R){this._destroyImpl?this._destroyImpl.call(this,e,R):R(e)}_maybeFlush(){let e=this._pendingConstruct.splice(0);if(e.length>0){let[R,...W]=e;this._writeBuffer.push(...W),this._doWrite(R.chunk,R.encoding,R.callback)}if(this._pendingEnd){let{chunk:e,encoding:R,callback:W}=this._pendingEnd;this._pendingEnd=null,this._doEnd(e,R,W)}}_doWrite(e,R,W){this._writableState.writing=!0;let Y=!0;this._write(e,R,R=>{if(this.writableLength-=this.writableObjectMode?1:chunkLen(e),Y){nextTick(()=>{if(R){W(R),this.emit(`error`,R);return}W(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}),R||this._drainWriteBuffer();return}nextTick(R?()=>{W(R),this.emit(`error`,R),this._drainWriteBuffer()}:()=>{W(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._drainWriteBuffer()})}),Y=!1}_drainWriteBuffer(){if(this._writeBuffer.length>0){let e=this._writeBuffer.shift();this._doWrite(e.chunk,e.encoding,e.callback)}else this._writableState.writing=!1,this._maybeFinish()}_maybeFinish(){!this._ending||this._writableState.finished||this._writableState.writing||this._writeBuffer.length>0||(this._ending=!1,this._final(e=>{this.writableFinished=!0,this._writableState.finished=!0,nextTick(()=>{e&&this.emit(`error`,e),this.emit(`finish`),nextTick(()=>this.emit(`close`)),this._endCallback&&this._endCallback()})}))}write(e,R,W){let Y,X;if(typeof R==`function`?(Y=R,X=this._defaultEncoding):(X=R??this._defaultEncoding,Y=W??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let R=globalThis.Buffer;R&&(e=R.from(e,X),X=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let R=globalThis.Buffer;(R&&R.isBuffer(e)||e instanceof Uint8Array)&&(X=`buffer`)}if(this.writableEnded){let e=Error(`write after end`);return nextTick(()=>{Y(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen(e),this.writableCorked>0)return this._corkedBuffer.push({chunk:e,encoding:X,callback:Y}),this.writableLength<this.writableHighWaterMark;if(!this._writableState.constructed)return this._pendingConstruct.push({chunk:e,encoding:X,callback:Y}),this.writableLength<this.writableHighWaterMark;let ie=this.writableLength<this.writableHighWaterMark;return ie||(this.writableNeedDrain=!0),this._writableState.writing?this._writeBuffer.push({chunk:e,encoding:X,callback:Y}):this._doWrite(e,X,Y),ie}_doEnd(e,R,W){e!=null&&this.write(e,R),this.writableEnded=!0,this._writableState.ended=!0,this._ending=!0,this._endCallback=W,this._maybeFinish()}end(e,R,W){return typeof e==`function`&&(W=e,e=void 0),typeof R==`function`&&(W=R,R=void 0),this.writableEnded?(W&&nextTick(W),this):this._writableState.constructed?(this._doEnd(e,R,W),this):(this._pendingEnd={chunk:e,encoding:R,callback:W},this)}cork(){this.writableCorked++}uncork(){this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._corkedBuffer.length>0&&this._flushCorkedBuffer())}_flushCorkedBuffer(){if(this._writev&&this._corkedBuffer.length>1){let e=this._corkedBuffer.splice(0),R=e.map(e=>({chunk:e.chunk,encoding:e.encoding}));this._writev.call(this,R,R=>{for(let R of e)this.writableLength-=this.writableObjectMode?1:chunkLen(R.chunk);if(R){for(let W of e)W.callback(R);this.emit(`error`,R)}else{for(let R of e)R.callback();this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}})}else{let e=this._corkedBuffer.splice(0);if(e.length>0){let[R,...W]=e;this._writeBuffer.push(...W),this._doWrite(R.chunk,R.encoding,R.callback)}}}setDefaultEncoding(e){return this._defaultEncoding=e,this}destroy(e){if(this.destroyed)return this;this.destroyed=!0,this.writable=!1,e&&(this._err=e);let cb=e=>{e&&nextTick(()=>this.emit(`error`,e)),nextTick(()=>this.emit(`close`))};return this._destroy(e??null,cb),this}}}),nu,ru=__esmMin(()=>{Zl(),Vt(),nu=class Transform_ extends Duplex_{constructor(e){super({...e,write:void 0,final:void 0});let R=this;e?.transform&&(R._transform=e.transform),e?.flush&&(R._flush=e.flush),e?.final&&(R._final=e.final)}_transform(e,R,W){throw Object.assign(Error(`The _transform() method is not implemented`),{code:`ERR_METHOD_NOT_IMPLEMENTED`})}_flush(e){e()}_write(e,R,W){let Y=!1;try{this._transform(e,R,(e,R)=>{if(Y){let e=Object.assign(Error(`Callback called multiple times`),{code:`ERR_MULTIPLE_CALLBACK`});nextTick(()=>this.emit(`error`,e));return}if(Y=!0,e){W(e);return}R!=null&&this.push(R),W()})}catch(e){if(e?.code===`ERR_METHOD_NOT_IMPLEMENTED`)throw e;W(e)}}_final(e){this._flush((R,W)=>{if(R){e(R);return}W!=null&&this.push(W),this.push(null),e()})}_doPrefinishHooks(e){let R=Transform_.prototype._final;this._final===R?e():R.call(this,e)}}}),PassThrough_,iu=__esmMin(()=>{ru(),PassThrough_=class extends nu{constructor(e){super({...e,transform(e,R,W){W(null,e)}})}}});function pipeline(...e){let R=e,W=typeof R[R.length-1]==`function`?R.pop():void 0,Y=R;if(Y.length<2)throw Error(`pipeline requires at least 2 streams`);let X=null;function onError(e){if(!X){X=e;for(let e of Y)typeof e.destroy==`function`&&e.destroy();W&&W(e)}}let ie=Y[0];for(let e=1;e<Y.length;e++){let R=Y[e];ie.pipe(R),ie.on(`error`,onError),ie=R}let ae=Y[Y.length-1];return ae.on(`error`,onError),ae.on(`finish`,()=>{W&&!X&&W(null)}),ae}var au=__esmMin(()=>{});function finished(e,R,W){let Y;Y=typeof R==`function`?R:W;let X=!1;function done(e){X||(X=!0,Y(e))}let onFinish=()=>done(),onEnd=()=>done(),onError=e=>done(e),onClose=()=>{let R=e,W=e;!R.writableFinished&&!W.readableEnded&&done(Error(`premature close`))};e.on(`finish`,onFinish),e.on(`end`,onEnd),e.on(`error`,onError),e.on(`close`,onClose);let ie=e,ae=typeof e.write==`function`,le=typeof e.read==`function`,_e=ie.writableFinished===!0,ye=ie.readableEnded===!0;if(ie.destroyed===!0){let e=ie._err;St(e?()=>done(e):ae&&_e||le&&ye?()=>done():()=>done(Error(`premature close`)))}else (ae&&!le&&_e||!ae&&le&&ye||ae&&le&&_e&&ye)&&St(()=>done());return function cleanup(){e.removeListener(`finish`,onFinish),e.removeListener(`end`,onEnd),e.removeListener(`error`,onError),e.removeListener(`close`,onClose)}}function addAbortSignal(e,R){if(!(e instanceof AbortSignal))throw TypeError(`The first argument must be an AbortSignal`);if(!(R instanceof Stream_))throw TypeError(`The second argument must be a Stream`);let W=R;if(e.aborted)W.destroy(Error(`The operation was aborted`));else{let onAbort=()=>{W.destroy(Error(`The operation was aborted`))};e.addEventListener(`abort`,onAbort,{once:!0}),R.once(`close`,()=>{e.removeEventListener(`abort`,onAbort)})}return R}function isReadable(e){if(e==null)return!1;let R=e;return typeof R.readable!=`boolean`||typeof R.read!=`function`||R.destroyed===!0||R.readableEnded===!0?!1:R.readable===!0}function isWritable(e){if(e==null)return!1;let R=e;return typeof R.writable!=`boolean`||typeof R.write!=`function`||R.destroyed===!0||R.writableEnded===!0?!1:R.writable===!0}function isDestroyed(e){return e==null?!1:e.destroyed===!0}function isDisturbed(e){if(e==null)return!1;let R=e;return R.readableDidRead===!0||R.readableFlowing!==null&&R.readableFlowing!==void 0}function isErrored(e){if(e==null)return!1;let R=e;return R.destroyed===!0&&typeof R.readable==`boolean`&&R.readable===!1||R.destroyed===!0&&typeof R.writable==`boolean`&&R.writable===!1}var ou=__esmMin(()=>{Vl(),Vt()}),su,cu,lu,uu,du,fu,pu,mu=__esmMin(()=>{zl(),Vl(),Jl(),Xl(),Zl(),Ql(),tu(),ru(),iu(),au(),ou(),su=makeCallable(Stream_),cu=makeCallable(Yl),lu=makeCallable(eu),uu=makeCallable(Duplex_),du=makeCallable(nu),fu=makeCallable(PassThrough_),pu=Object.assign(su,{Stream:su,Readable:cu,Writable:lu,Duplex:uu,Transform:du,PassThrough:fu,pipeline,finished,addAbortSignal,isReadable,isWritable,isDestroyed,isDisturbed,isErrored,getDefaultHighWaterMark,setDefaultHighWaterMark})});function getGioCompressorFormat(e){switch(e){case`gzip`:return at.ZlibCompressorFormat.GZIP;case`deflate`:return at.ZlibCompressorFormat.ZLIB;case`deflate-raw`:return at.ZlibCompressorFormat.RAW}}function toUint8Array$1(e){return typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function createGzip(e){return new ZlibTransform(`gzip`,`compress`,e)}function createGunzip(e){return new ZlibTransform(`gzip`,`decompress`,e)}function createDeflate(e){return new ZlibTransform(`deflate`,`compress`,e)}function createInflate(e){return new ZlibTransform(`deflate`,`decompress`,e)}function createDeflateRaw(e){return new ZlibTransform(`deflate-raw`,`compress`,e)}function createInflateRaw(e){return new ZlibTransform(`deflate-raw`,`decompress`,e)}function createUnzip(e){return new ZlibTransform(`gzip`,`decompress`,e)}function createBrotliCompress(e){throw Error(`createBrotliCompress is not supported on GJS (no Brotli in GLib)`)}function createBrotliDecompress(e){throw Error(`createBrotliDecompress is not supported on GJS (no Brotli in GLib)`)}function createZstdCompress(e){let R=Error(`createZstdCompress is not supported on GJS (no Zstd in GLib)`);throw R.code=`ERR_UNSUPPORTED_OPERATION`,R}function createZstdDecompress(e){let R=Error(`createZstdDecompress is not supported on GJS (no Zstd in GLib)`);throw R.code=`ERR_UNSUPPORTED_OPERATION`,R}var ZlibTransform,hu=__esmMin(()=>{st(),$e(),mu(),__name$1(toUint8Array$1,`toUint8Array`),ZlibTransform=class extends du{_format;_mode;_chunks=[];constructor(e,R,W){super(W),this._format=e,this._mode=R}_transform(e,R,W){this._chunks.push(toUint8Array$1(e)),W()}_flush(e){let R=this._chunks.reduce((e,R)=>e+R.length,0),W=new Uint8Array(R),Y=0;for(let e of this._chunks)W.set(e,Y),Y+=e.length;this._chunks=[];try{let R=this._mode===`compress`?this._compress(W):this._decompress(W);this.push(Buffer.from(R)),e()}catch(R){e(R instanceof Error?R:Error(String(R)))}}_compress(e){let R=new at.ZlibCompressor({format:getGioCompressorFormat(this._format)}),W=new at.ConverterOutputStream({base_stream:at.MemoryOutputStream.new_resizable(),converter:R});W.write_bytes(new Qe.Bytes(e),null),W.close(null);let Y=W.get_base_stream().steal_as_bytes();return new Uint8Array(Y.get_data()??[])}_decompress(e){let R=new at.ZlibDecompressor({format:getGioCompressorFormat(this._format)}),W=at.MemoryInputStream.new_from_bytes(new Qe.Bytes(e)),Y=new at.ConverterInputStream({base_stream:W,converter:R}),X=[];for(;;){let e=Y.read_bytes(4096,null);if(e.get_size()===0)break;X.push(new Uint8Array(e.get_data()))}Y.close(null);let ie=X.reduce((e,R)=>e+R.length,0),ae=new Uint8Array(ie),le=0;for(let e of X)ae.set(e,le),le+=e.length;return ae}}}),gu=__exportAll$1({ZlibTransform:()=>ZlibTransform,brotliCompress:()=>brotliCompress,brotliCompressSync:()=>brotliCompressSync,brotliDecompress:()=>brotliDecompress,brotliDecompressSync:()=>brotliDecompressSync,constants:()=>yu,createBrotliCompress:()=>createBrotliCompress,createBrotliDecompress:()=>createBrotliDecompress,createDeflate:()=>createDeflate,createDeflateRaw:()=>createDeflateRaw,createGunzip:()=>createGunzip,createGzip:()=>createGzip,createInflate:()=>createInflate,createInflateRaw:()=>createInflateRaw,createUnzip:()=>createUnzip,createZstdCompress:()=>createZstdCompress,createZstdDecompress:()=>createZstdDecompress,default:()=>bu,deflate:()=>deflate,deflateRaw:()=>deflateRaw,deflateRawSync:()=>deflateRawSync,deflateSync:()=>deflateSync,gunzip:()=>gunzip,gunzipSync:()=>gunzipSync,gzip:()=>gzip,gzipSync:()=>gzipSync,inflate:()=>inflate,inflateRaw:()=>inflateRaw,inflateRawSync:()=>inflateRawSync,inflateSync:()=>inflateSync,zstdCompress:()=>zstdCompress,zstdCompressSync:()=>zstdCompressSync,zstdDecompress:()=>zstdDecompress,zstdDecompressSync:()=>zstdDecompressSync});function getGioFormat(e){switch(e){case`gzip`:return at.ZlibCompressorFormat.GZIP;case`deflate`:return at.ZlibCompressorFormat.ZLIB;case`deflate-raw`:return at.ZlibCompressorFormat.RAW}}function compressWithGio(e,R){let W=new at.ZlibCompressor({format:getGioFormat(R)}),Y=new at.ConverterOutputStream({base_stream:at.MemoryOutputStream.new_resizable(),converter:W});Y.write_bytes(new Qe.Bytes(e),null),Y.close(null);let X=Y.get_base_stream().steal_as_bytes();return new Uint8Array(X.get_data()??[])}function decompressStreamWithGio(e,R){let W=new at.ZlibDecompressor({format:getGioFormat(R)}),Y=at.MemoryInputStream.new_from_bytes(new Qe.Bytes(e)),X=new at.ConverterInputStream({base_stream:Y,converter:W}),ie=[];for(;;){let e=X.read_bytes(4096,null);if(e.get_size()===0)break;ie.push(new Uint8Array(e.get_data()))}X.close(null);let ae=ie.reduce((e,R)=>e+R.length,0),le=new Uint8Array(ae),_e=0;for(let e of ie)le.set(e,_e),_e+=e.length;return le}function findGzipMemberEnd(e){let R=new at.ZlibDecompressor({format:at.ZlibCompressorFormat.GZIP}),W=new Uint8Array(65536),Y=0,X=!1;for(;!X;){let ie=e.subarray(Y);try{let[e,ae]=R.convert(ie,W,at.ConverterFlags.NONE);Y+=ae,e===at.ConverterResult.FINISHED&&(X=!0)}catch{X=!0}}return Y}function decompressWithGio(e,R){if(R!==`gzip`)return decompressStreamWithGio(e,R);let W=[],Y=0;for(;Y<e.length&&!(e.length-Y<2||e[Y]!==31||e[Y+1]!==139);){let R=e.subarray(Y),X=findGzipMemberEnd(R);if(X<=0)break;let ie=decompressStreamWithGio(R.subarray(0,X),`gzip`);W.push(ie),Y+=X}if(W.length===0)return decompressStreamWithGio(e,`gzip`);let X=W.reduce((e,R)=>e+R.length,0),ie=new Uint8Array(X),ae=0;for(let e of W)ie.set(e,ae),ae+=e.length;return ie}async function compressWithWeb(e,R){let W=new CompressionStream(R),Y=W.writable.getWriter();Y.write(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),Y.close();let X=[],ie=W.readable.getReader();for(;;){let{done:e,value:R}=await ie.read();if(e)break;X.push(R)}let ae=X.reduce((e,R)=>e+R.length,0),le=new Uint8Array(ae),_e=0;for(let e of X)le.set(e,_e),_e+=e.length;return le}async function decompressWithWeb(e,R){let W=new DecompressionStream(R),Y=W.writable.getWriter();Y.write(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),Y.close();let X=[],ie=W.readable.getReader();for(;;){let{done:e,value:R}=await ie.read();if(e)break;X.push(R)}let ae=X.reduce((e,R)=>e+R.length,0),le=new Uint8Array(ae),_e=0;for(let e of X)le.set(e,_e),_e+=e.length;return le}async function compress(e,R){return _u?compressWithWeb(e,R):compressWithGio(e,R)}async function decompress(e,R){return _u?decompressWithWeb(e,R):decompressWithGio(e,R)}function toUint8Array(e){return typeof e==`string`?new TextEncoder().encode(e):e instanceof ArrayBuffer?new Uint8Array(e):e}function gzip(e,R,W){let Y=typeof R==`function`?R:W;compress(toUint8Array(e),`gzip`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function gunzip(e,R,W){let Y=typeof R==`function`?R:W;decompress(toUint8Array(e),`gzip`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function deflate(e,R,W){let Y=typeof R==`function`?R:W;compress(toUint8Array(e),`deflate`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function inflate(e,R,W){let Y=typeof R==`function`?R:W;decompress(toUint8Array(e),`deflate`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function deflateRaw(e,R,W){let Y=typeof R==`function`?R:W;compress(toUint8Array(e),`deflate-raw`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function inflateRaw(e,R,W){let Y=typeof R==`function`?R:W;decompress(toUint8Array(e),`deflate-raw`).then(e=>Y(null,e),e=>Y(e instanceof Error?e:Error(String(e)),new Uint8Array))}function gzipSync(e,R){return compressWithGio(toUint8Array(e),`gzip`)}function gunzipSync(e,R){return decompressWithGio(toUint8Array(e),`gzip`)}function deflateSync(e,R){return compressWithGio(toUint8Array(e),`deflate`)}function inflateSync(e,R){return decompressWithGio(toUint8Array(e),`deflate`)}function deflateRawSync(e,R){return compressWithGio(toUint8Array(e),`deflate-raw`)}function inflateRawSync(e,R){return decompressWithGio(toUint8Array(e),`deflate-raw`)}function brotliCompress(e,R,W){(typeof R==`function`?R:W)(Error(`brotliCompress: Brotli is not supported in this environment`),vu)}function brotliDecompress(e,R,W){(typeof R==`function`?R:W)(Error(`brotliDecompress: Brotli is not supported in this environment`),vu)}function brotliCompressSync(e,R){throw Error(`brotliCompressSync: Brotli is not supported in this environment`)}function brotliDecompressSync(e,R){throw Error(`brotliDecompressSync: Brotli is not supported in this environment`)}function zstdCompress(e,R,W){let Y=typeof R==`function`?R:W,X=Error(`zstdCompress: Zstd is not supported in this environment`);X.code=`ERR_UNSUPPORTED_OPERATION`,Y(X,vu)}function zstdDecompress(e,R,W){let Y=typeof R==`function`?R:W,X=Error(`zstdDecompress: Zstd is not supported in this environment`);X.code=`ERR_UNSUPPORTED_OPERATION`,Y(X,vu)}function zstdCompressSync(e,R){let W=Error(`zstdCompressSync: Zstd is not supported in this environment`);throw W.code=`ERR_UNSUPPORTED_OPERATION`,W}function zstdDecompressSync(e,R){let W=Error(`zstdDecompressSync: Zstd is not supported in this environment`);throw W.code=`ERR_UNSUPPORTED_OPERATION`,W}var _u,vu,yu,bu,xu=__esmMin(()=>{hu(),st(),$e(),_u=globalThis.CompressionStream!==void 0,vu=new Uint8Array,yu={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_DEFLATED:8},bu={gzip,gunzip,deflate,inflate,deflateRaw,inflateRaw,gzipSync,gunzipSync,deflateSync,inflateSync,deflateRawSync,inflateRawSync,brotliCompress,brotliDecompress,brotliCompressSync,brotliDecompressSync,zstdCompress,zstdDecompress,zstdCompressSync,zstdDecompressSync,createGzip,createGunzip,createDeflate,createInflate,createDeflateRaw,createInflateRaw,createUnzip,createBrotliCompress,createBrotliDecompress,createZstdCompress,createZstdDecompress,constants:yu}});const Su=new Set([`gzip`,`deflate`,`deflate-raw`]);function validateFormat(e){if(!Su.has(e))throw TypeError(`Unsupported compression format: '${e}'. Supported formats: 'gzip', 'deflate', 'deflate-raw'.`);return e}const Cu=typeof globalThis.CompressionStream==`function`&&typeof globalThis.DecompressionStream==`function`;let wu=!1,Tu,Eu,Du,Ou,ku,Au;async function loadZlib(){if(wu)return;let e=await Promise.resolve().then(()=>(xu(),gu));Tu=e.gzipSync,Eu=e.gunzipSync,Du=e.deflateSync,Ou=e.inflateSync,ku=e.deflateRawSync,Au=e.inflateRawSync,wu=!0}function getCompressFn(e){switch(e){case`gzip`:return e=>Tu(e);case`deflate`:return e=>Du(e);case`deflate-raw`:return e=>ku(e)}}function getDecompressFn(e){switch(e){case`gzip`:return e=>Eu(e);case`deflate`:return e=>Ou(e);case`deflate-raw`:return e=>Au(e)}}let ju,Mu;if(Cu)ju=globalThis.CompressionStream,Mu=globalThis.DecompressionStream;else{let e=loadZlib();ju=class CompressionStream{readable;writable;constructor(R){let W=validateFormat(R),Y=new Ml({async transform(R,Y){try{await e,Y.enqueue(getCompressFn(W)(R))}catch(e){Y.error(e)}}});this.readable=Y.readable,this.writable=Y.writable}},Mu=class DecompressionStream{readable;writable;constructor(R){let W=validateFormat(R),Y=new Ml({async transform(R,Y){try{await e,Y.enqueue(getDecompressFn(W)(R))}catch(e){Y.error(e)}}});this.readable=Y.readable,this.writable=Y.writable}}}const Nu=globalThis;globalThis.CompressionStream===void 0&&(Nu.CompressionStream=ju),globalThis.DecompressionStream===void 0&&(Nu.DecompressionStream=Mu);const Pu={CustomEvent,MessageEvent,ErrorEvent,CloseEvent,ProgressEvent:ProgressEvent$1};for(let[e,R]of Object.entries(Pu))globalThis[e]===void 0&&Object.defineProperty(globalThis,e,{value:R,writable:!0,configurable:!0});const Fu=globalThis;Fu.Event===void 0&&Object.defineProperty(globalThis,"Event",{value:Event$1,writable:!0,configurable:!0}),Fu.EventTarget===void 0&&Object.defineProperty(globalThis,"EventTarget",{value:EventTarget$1,writable:!0,configurable:!0});const Iu={UIEvent,MouseEvent,PointerEvent:PointerEvent$1,KeyboardEvent:KeyboardEvent$1,WheelEvent:WheelEvent$1,FocusEvent};for(let[e,R]of Object.entries(Iu))globalThis[e]===void 0&&Object.defineProperty(globalThis,e,{value:R,writable:!0,configurable:!0});const Lu=globalThis;globalThis.DOMException===void 0&&(Lu.DOMException=or);var Ru,__name,zu=__esmMin(()=>{Ru=Object.defineProperty,__name=(e,R)=>Ru(e,`name`,{value:R,configurable:!0})}),Bu=be;function validateHeaderName(e){if(typeof e!=`string`||!/^[\^`\-\w!#$%&'*+.|~]+$/.test(e)){let R=TypeError(`Header name must be a valid HTTP token ["${e}"]`);throw Object.defineProperty(R,"code",{value:`ERR_INVALID_HTTP_TOKEN`}),R}}function validateHeaderValue(e,R){if(R===void 0){let R=TypeError(`Header "${e}" value must not be undefined`);throw Object.defineProperty(R,"code",{value:`ERR_HTTP_INVALID_HEADER_VALUE`}),R}if(typeof R==`string`&&/[^\t -~-ÿ]/.test(R)){let R=TypeError(`Invalid character in header content ["${e}"]`);throw Object.defineProperty(R,"code",{value:`ERR_INVALID_CHAR`}),R}}const Vu=Symbol(`Headers.headers`);function isBoxedPrimitive(e){return e instanceof String||e instanceof Number||e instanceof Boolean||typeof Symbol<`u`&&e instanceof Symbol||typeof BigInt<`u`&&e instanceof BigInt}var Hu=class Headers{[Vu];constructor(e){if(this[Vu]=new Map,e!=null){if(e instanceof Headers){for(let[R,W]of e[Vu])this[Vu].set(R,[...W]);return}if(typeof e==`object`&&!isBoxedPrimitive(e)){let R=e[Symbol.iterator];if(R==null)for(let[R,W]of Object.entries(e))validateHeaderName(R),validateHeaderValue(R,String(W)),this.append(R,String(W));else{if(typeof R!=`function`)throw TypeError(`Header pairs must be iterable`);for(let R of e){if(typeof R!=`object`||isBoxedPrimitive(R))throw TypeError(`Each header pair must be an iterable object`);let e=[...R];if(e.length!==2)throw TypeError(`Each header pair must be a name/value tuple`);validateHeaderName(e[0]),validateHeaderValue(e[0],String(e[1])),this.append(e[0],String(e[1]))}}}else throw TypeError(`Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)'`)}}append(e,R){validateHeaderName(e),validateHeaderValue(e,R);let W=String(e).toLowerCase(),Y=String(R),X=this[Vu].get(W);X?X.push(Y):this[Vu].set(W,[Y])}set(e,R){validateHeaderName(e),validateHeaderValue(e,R);let W=String(e).toLowerCase();this[Vu].set(W,[String(R)])}delete(e){this[Vu].delete(String(e).toLowerCase())}has(e){return this[Vu].has(String(e).toLowerCase())}get(e){let R=this[Vu].get(String(e).toLowerCase());if(!R||R.length===0)return null;let W=R.join(`, `);return/^content-encoding$/i.test(e)&&(W=W.toLowerCase()),W}getAll(e){return this[Vu].get(String(e).toLowerCase())??[]}getSetCookie(){return this[Vu].get(`set-cookie`)??[]}forEach(e,R){for(let W of this.keys())Reflect.apply(e,R,[this.get(W),W,this])}*keys(){let e=[...this[Vu].keys()].sort(),R=new Set;for(let W of e)R.has(W)||(R.add(W),yield W)}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return`Headers`}toString(){return Object.prototype.toString.call(this)}raw(){let e={};for(let R of this.keys())e[R]=this.getAll(R);return e}_appendToSoupMessage(e,R=Bu.MessageHeadersType.REQUEST){let W=e?e.get_request_headers():new Bu.MessageHeaders(R);for(let[e,R]of this.entries())W.append(e,R);return W}static _newFromSoupMessage(e,R=Bu.MessageHeadersType.RESPONSE){let W=new Headers,Y;return Y=R===Bu.MessageHeadersType.RESPONSE?e.get_response_headers():e.get_request_headers(),Y.foreach((e,R)=>{W.append(e,R)}),W}[Symbol.for(`nodejs.util.inspect.custom`)](){let e={};for(let R of this.keys()){let W=this.getAll(R);R===`host`?e[R]=W[0]:e[R]=W.length>1?W:W[0]}return e}};Object.defineProperties(Hu.prototype,[`get`,`entries`,`forEach`,`values`].reduce((e,R)=>(e[R]={enumerable:!0},e),{}));var Uu=__esmMin(()=>{Ja()});Uu();var FetchBaseError=class extends Error{type;constructor(e,R){super(e),typeof Error.captureStackTrace==`function`&&Error.captureStackTrace(this,this.constructor),this.type=R}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},FetchError=class extends FetchBaseError{code;errno;erroredSysCall;constructor(e,R,W){super(e,R),W&&(this.code=this.errno=W.code,this.erroredSysCall=W.syscall)}};const Wu=Symbol.toStringTag,isURLSearchParameters=e=>typeof e==`object`&&typeof e.append==`function`&&typeof e.delete==`function`&&typeof e.get==`function`&&typeof e.getAll==`function`&&typeof e.has==`function`&&typeof e.set==`function`&&typeof e.sort==`function`&&e[Wu]===`URLSearchParams`,isBlob=e=>{if(!e||typeof e!=`object`)return!1;let R=e;return typeof R.arrayBuffer==`function`&&typeof R.type==`string`&&typeof R.stream==`function`&&typeof R.constructor==`function`&&/^(Blob|File)$/.test(R[Wu])},isAbortSignal=e=>{if(typeof e!=`object`||!e)return!1;let R=e;return R[Wu]===`AbortSignal`||R[Wu]===`EventTarget`},isDomainOrSubdomain=(e,R)=>{let W=new hs(R).hostname,Y=new hs(e).hostname;return W===Y||W.endsWith(`.${Y}`)},isSameProtocol=(e,R)=>new hs(R).protocol===new hs(e).protocol;var Gu,Ku,File$1,qu=__esmMin(()=>{Gu=Symbol(`File.name`),Ku=Symbol(`File.lastModified`),File$1=class extends Blob{static{__name$1(this,`File`)}[Gu];[Ku];webkitRelativePath=``;constructor(e,R,W){super(e,W),this[Gu]=String(R),this[Ku]=W?.lastModified??Date.now()}get name(){return this[Gu]}get lastModified(){return this[Ku]}get[Symbol.toStringTag](){return`File`}}});function generateBoundary(){let e=`----formdata-`;for(let R=0;R<24;R++)e+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`.charAt(Math.floor(Math.random()*62));return e}function escape(e){return e.replace(/\n/g,`%0A`).replace(/\r/g,`%0D`).replace(/"/g,`%22`)}function formDataToBlob(e,R){R??=generateBoundary();let W=[],Y=`--${R}\r\nContent-Disposition: form-data; name="`;for(let[R,X]of e.entries())if(typeof X==`string`)W.push(`${Y}${escape(R)}"\r\n\r\n${X.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
6
6
|
`)}\r\n`);else{let e=X instanceof File$1?X:new File$1([X],`blob`,{type:X.type});W.push(`${Y}${escape(R)}"; filename="${escape(e.name)}"\r\nContent-Type: ${e.type||`application/octet-stream`}\r\n\r\n`),W.push(e),W.push(`\r
|
|
7
7
|
`)}return W.push(`--${R}--`),new Blob(W,{type:`multipart/form-data; boundary=${R}`})}var Ju=__esmMin(()=>{qu()});function normalizeValue(e,R,W){return typeof R==`string`?R:(R instanceof Blob&&!(R instanceof File$1)&&(R=new File$1([R],W??`blob`,{type:R.type})),R instanceof File$1&&W!==void 0&&(R=new File$1([R],W,{type:R.type,lastModified:R.lastModified})),R)}var Yu,FormData,Xu=__esmMin(()=>{qu(),Yu=Symbol(`FormData.entries`),FormData=class{[Yu]=[];constructor(){}append(e,R,W){this[Yu].push({name:String(e),value:normalizeValue(e,R,W)})}delete(e){let R=String(e);this[Yu]=this[Yu].filter(e=>e.name!==R)}get(e){let R=String(e),W=this[Yu].find(e=>e.name===R);return W?W.value:null}getAll(e){let R=String(e);return this[Yu].filter(e=>e.name===R).map(e=>e.value)}has(e){let R=String(e);return this[Yu].some(e=>e.name===R)}set(e,R,W){let Y=String(e),X=normalizeValue(Y,R,W),ie=!1;this[Yu]=this[Yu].filter(e=>e.name===Y?ie?!1:(ie=!0,e.value=X,!0):!0),ie||this[Yu].push({name:Y,value:X})}forEach(e,R){for(let W of this[Yu])e.call(R,W.value,W.name,this)}*entries(){for(let e of this[Yu])yield[e.name,e.value]}*keys(){for(let e of this[Yu])yield e.name}*values(){for(let e of this[Yu])yield e.value}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return`FormData`}}}),Zu=__esmMin(()=>{Ju(),Xu()}),Qu=__exportAll$1({toFormData:()=>toFormData});function _fileName(e){let R=e.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!R)return;let W=R[2]||R[3]||``,Y=W.slice(W.lastIndexOf(`\\`)+1);return Y=Y.replace(/%22/g,`"`),Y=Y.replace(/&#(\d{4});/g,(e,R)=>String.fromCharCode(R)),Y}async function toFormData(e,R){if(!/multipart/i.test(R))throw TypeError(`Failed to fetch`);let W=R.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!W)throw TypeError(`no or bad content-type header, no multipart boundary`);let Y=new MultipartParser(W[1]||W[2]),X,ie,ae,le,_e,ye,be=[],Ce=new FormData,onPartData=e=>{ae+=Te.decode(e,{stream:!0})},appendToFile=e=>{be.push(e)},appendFileToFormData=()=>{let e=new qe(be,ye,{type:_e});Ce.append(le,e)},appendEntryToFormData=()=>{Ce.append(le,ae)},Te=new TextDecoder(`utf-8`);Te.decode(),Y.onPartBegin=function(){Y.onPartData=onPartData,Y.onPartEnd=appendEntryToFormData,X=``,ie=``,ae=``,le=``,_e=``,ye=null,be.length=0},Y.onHeaderField=function(e){X+=Te.decode(e,{stream:!0})},Y.onHeaderValue=function(e){ie+=Te.decode(e,{stream:!0})},Y.onHeaderEnd=function(){if(ie+=Te.decode(),X=X.toLowerCase(),X===`content-disposition`){let e=ie.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);e&&(le=e[2]||e[3]||``),ye=_fileName(ie),ye&&(Y.onPartData=appendToFile,Y.onPartEnd=appendFileToFormData)}else X===`content-type`&&(_e=ie);ie=``,X=``};for await(let R of e)Y.write(R);return Y.end(),Ce}var $u,ed,lower,noop,MultipartParser,td=__esmMin(()=>{Zu(),$u=1,ed={PART_BOUNDARY:$u,LAST_BOUNDARY:$u*=2},lower=e=>e|32,noop=(...e)=>{},MultipartParser=class{index=0;flags=0;boundary;lookbehind;state=0;onHeaderEnd=noop;onHeaderField=noop;onHeadersEnd=noop;onHeaderValue=noop;onPartBegin=noop;onPartData=noop;onPartEnd=noop;boundaryChars={};constructor(e){e=`\r
|
|
8
|
-
--`+e;let R=new Uint8Array(e.length);for(let W=0;W<e.length;W++)R[W]=e.charCodeAt(W),this.boundaryChars[R[W]]=!0;this.boundary=R,this.lookbehind=new Uint8Array(this.boundary.length+8)}write(e){let R=0,W=e.length,Y=this.index,{lookbehind:X,boundary:ie,boundaryChars:ae,index:le,state:_e,flags:ye}=this,be=this.boundary.length,Ce=be-1,Te=e.length,Oe,Ae,mark=e=>{this[e+`Mark`]=R},clear=e=>{delete this[e+`Mark`]},callback=(e,R,W,Y)=>{(R===void 0||R!==W)&&this[e](Y&&Y.subarray(R,W))},dataCallback=(W,Y=!1)=>{let X=W+`Mark`;X in this&&(Y?(callback(W,this[X],R,e),delete this[X]):(callback(W,this[X],e.length,e),this[X]=0))};for(R=0;R<W;R++)switch(Oe=e[R],_e){case 0:if(le===ie.length-2){if(Oe===45)ye|=ed.LAST_BOUNDARY;else if(Oe!==13)return;le++;break}else if(le-1==ie.length-2){if(ye&ed.LAST_BOUNDARY&&Oe===45)_e=9,ye=0;else if(!(ye&ed.LAST_BOUNDARY)&&Oe===10)le=0,callback(`onPartBegin`),_e=1;else return;break}Oe!==ie[le+2]&&(le=-2),Oe===ie[le+2]&&le++;break;case 1:_e=2,mark(`onHeaderField`),le=0;case 2:if(Oe===13){clear(`onHeaderField`),_e=6;break}if(le++,Oe===45)break;if(Oe===58){if(le===1)return;dataCallback(`onHeaderField`,!0),_e=3;break}if(Ae=lower(Oe),Ae<97||Ae>122)return;break;case 3:if(Oe===32)break;mark(`onHeaderValue`),_e=4;case 4:Oe===13&&(dataCallback(`onHeaderValue`,!0),callback(`onHeaderEnd`),_e=5);break;case 5:if(Oe!==10)return;_e=1;break;case 6:if(Oe!==10)return;callback(`onHeadersEnd`),_e=7;break;case 7:_e=8,mark(`onPartData`);case 8:if(Y=le,le===0){for(R+=Ce;R<Te&&!(e[R]in ae);)R+=be;R-=Ce,Oe=e[R]}if(le<ie.length)ie[le]===Oe?(le===0&&dataCallback(`onPartData`,!0),le++):le=0;else if(le===ie.length)le++,Oe===13?ye|=ed.PART_BOUNDARY:Oe===45?ye|=ed.LAST_BOUNDARY:le=0;else if(le-1===ie.length)if(ye&ed.PART_BOUNDARY){if(le=0,Oe===10){ye&=~ed.PART_BOUNDARY,callback(`onPartEnd`),callback(`onPartBegin`),_e=1;break}}else ye&ed.LAST_BOUNDARY&&Oe===45?(callback(`onPartEnd`),_e=9,ye=0):le=0;if(le>0)X[le-1]=Oe;else if(Y>0){let e=new Uint8Array(X.buffer,X.byteOffset,X.byteLength);callback(`onPartData`,0,Y,e),Y=0,mark(`onPartData`),R--}break;case 9:break;default:throw Error(`Unexpected state entered: ${_e}`)}dataCallback(`onHeaderField`),dataCallback(`onHeaderValue`),dataCallback(`onPartData`),this.index=le,this.state=_e,this.flags=ye}end(){if(this.state===1&&this.index===0||this.state===8&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==9)throw Error(`MultipartParser.end(): stream ended unexpectedly`)}}});bt(),zu(),Uu(),Ja(),mu(),Zu(),__name((e,R)=>new Promise((W,Y)=>{pipeline(e,R,e=>{e?Y(e):W()})}),`pipeline`);const nd=Symbol(`Body internals`);function isAnyArrayBuffer(e){return e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer}var Body=class{[nd]={body:null,stream:null,boundary:``,disturbed:!1,error:null};size=0;constructor(e,R={size:0}){if(this.size=R.size||0,e==null)this[nd].body=null;else if(isURLSearchParameters(e))this[nd].body=Ka.from(e.toString());else if(isBlob(e))this[nd].body=e;else if(Ka.isBuffer(e))this[nd].body=e;else if(isAnyArrayBuffer(e))this[nd].body=Ka.from(e);else if(ArrayBuffer.isView(e))this[nd].body=Ka.from(e.buffer,e.byteOffset,e.byteLength);else if(e instanceof cu)this[nd].body=e;else if(typeof ReadableStream<`u`&&e instanceof ReadableStream)this[nd].body=readableStreamToReadable(e);else if(e instanceof FormData){let R=formDataToBlob(e);this[nd].body=R,this[nd].boundary=R.type?.split(`boundary=`)?.[1]??``}else typeof e==`string`?this[nd].body=Ka.from(e):e instanceof ms?this[nd].body=Ka.from(e.toString()):(yt.warn(`Unknown body type "${typeof e}", try to parse the body to string!`),this[nd].body=Ka.from(String(e)));let W=this[nd].body;Ka.isBuffer(W)?this[nd].stream=cu.from(W):isBlob(W)?this[nd].stream=cu.from(blobToAsyncIterable(W)):W instanceof cu&&(this[nd].stream=W),W instanceof su&&W.on(`error`,e=>{let R=e instanceof FetchBaseError?e:new FetchError(`Invalid response body while trying to fetch ${this.url}: ${e.message}`,`system`,e);this[nd].error=R})}get body(){let e=this[nd].stream;if(!e)return null;if(typeof ReadableStream<`u`){let R=!1;return new ReadableStream({start(W){e.on(`data`,e=>{if(!R)try{W.enqueue(e instanceof Uint8Array?e:new Uint8Array(e))}catch{}}),e.on(`end`,()=>{if(!R){R=!0;try{W.close()}catch{}}}),e.on(`error`,e=>{if(!R){R=!0;try{W.error(e)}catch{}}})},cancel(){R=!0,e.destroy()}})}return null}get _stream(){return this[nd].stream}get _rawBodyBuffer(){let e=this[nd].body;return e===null?null:Ka.isBuffer(e)?e:e instanceof Uint8Array?Ka.from(e.buffer,e.byteOffset,e.byteLength):null}get bodyUsed(){return this[nd].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:R,byteLength:W}=await consumeBody(this);return e.slice(R,R+W)}async formData(){let e=this.headers?.get(`content-type`);if(e?.startsWith(`application/x-www-form-urlencoded`)){let e=new FormData,R=new ms(await this.text());for(let[W,Y]of R)e.append(W,Y);return e}let{toFormData:R}=await Promise.resolve().then(()=>(td(),Qu));return R(this.body,e)}async blob(){let e=this.headers?.get(`content-type`)||this[nd].body&&this[nd].body.type||``;return new Ke([await this.arrayBuffer()],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await consumeBody(this);return new TextDecoder().decode(e)}};Object.defineProperties(Body.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});async function consumeBody(e){if(e[nd].disturbed)throw TypeError(`body used already for: ${e.url}`);if(e[nd].disturbed=!0,e[nd].error)throw e[nd].error;let{_stream:R}=e;if(R===null||!(R instanceof su))return Ka.alloc(0);let W=[],Y=0;try{for await(let X of R){if(e.size>0&&Y+X.length>e.size){let W=new FetchError(`content size at ${e.url} over limit: ${e.size}`,`max-size`);throw R.destroy(W),W}Y+=X.length,W.push(X)}}catch(R){let W=R instanceof Error?R:Error(String(R));throw R instanceof FetchBaseError?R:new FetchError(`Invalid response body while trying to fetch ${e.url}: ${W.message}`,`system`,W)}try{return W.every(e=>typeof e==`string`)?Ka.from(W.join(``)):Ka.concat(W,Y)}catch(R){let W=R instanceof Error?R:Error(String(R));throw new FetchError(`Could not create Buffer from response body for ${e.url}: ${W.message}`,`system`,W)}}const clone=(e,R)=>{let W,Y,{body:X}=e[nd];if(e.bodyUsed)throw Error(`cannot clone body after it is used`);return X instanceof su&&typeof X.getBoundary!=`function`&&(W=new fu({highWaterMark:R}),Y=new fu({highWaterMark:R}),X.pipe(W),X.pipe(Y),e[nd].stream=W,X=Y),X},extractContentType=(e,R)=>e===null?null:typeof e==`string`?`text/plain;charset=UTF-8`:isURLSearchParameters(e)?`application/x-www-form-urlencoded;charset=UTF-8`:isBlob(e)?e.type||null:Ka.isBuffer(e)||isAnyArrayBuffer(e)||ArrayBuffer.isView(e)?null:e instanceof FormData?`multipart/form-data; boundary=${R[nd].boundary}`:e instanceof su?null:`text/plain;charset=UTF-8`,getTotalBytes=e=>{let{body:R}=e[nd];if(R===null)return 0;if(isBlob(R))return R.size;if(Ka.isBuffer(R))return R.length;if(R&&typeof R.getLengthSync==`function`){let e=R;return e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null}return null};function readableStreamToReadable(e){let R=e.getReader();return new cu({async read(){try{let{done:e,value:W}=await R.read();e?this.push(null):this.push(Ka.from(W))}catch(e){this.destroy(e)}},destroy(e,W){R.cancel().then(()=>W(null),W)}})}async function*blobToAsyncIterable(e){if(typeof e.stream==`function`){let R=e.stream().getReader();for(;;){let{done:e,value:W}=await R.read();if(e)break;yield W}}else yield new Uint8Array(await e.arrayBuffer())}const rd=new Set([301,302,303,307,308]),isRedirect=e=>rd.has(e);$e(),st();const id=Symbol(`Response internals`);var ad=class Response extends Body{[id];_inputStream=null;constructor(e=null,R={}){super(e,R);let W=R.status==null?200:R.status,Y=new Hu(R.headers);if(e!==null&&!Y.has(`Content-Type`)){let R=extractContentType(e,this);R&&Y.append(`Content-Type`,R)}this[id]={type:`default`,url:R.url,status:W,statusText:R.statusText||``,headers:Y,counter:R.counter,highWaterMark:R.highWaterMark}}get type(){return this[id].type}get url(){return this[id].url||``}get status(){return this[id].status}get ok(){return this[id].status>=200&&this[id].status<300}get redirected(){return this[id].counter>0}get statusText(){return this[id].statusText}get headers(){return this[id].headers}get highWaterMark(){return this[id].highWaterMark}clone(){return new Response(clone(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,R=302){if(!isRedirect(R))throw RangeError(`Failed to execute "redirect" on "response": Invalid status code`);return new Response(null,{headers:{location:new hs(e).toString()},status:R})}static error(){let e=new Response(null,{status:0,statusText:``});return e[id].type=`error`,e}static json(e,R){let W=JSON.stringify(e),Y={...R},X=new Hu(Y.headers);return X.has(`content-type`)||X.set(`content-type`,`application/json`),Y.headers=X,new Response(W,Y)}get[Symbol.toStringTag](){return`Response`}async text(){if(!this._inputStream)return super.text();let e=at.MemoryOutputStream.new_resizable();await new Promise((R,W)=>{e.splice_async(this._inputStream,at.OutputStreamSpliceFlags.CLOSE_TARGET|at.OutputStreamSpliceFlags.CLOSE_SOURCE,Qe.PRIORITY_DEFAULT,null,(Y,X)=>{try{R(e.splice_finish(X))}catch(e){W(e)}})});let R=e.steal_as_bytes();return new TextDecoder().decode(R.toArray())}};Object.defineProperties(ad.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),mu(),$e(),Vt();async function soupSendAsync(e,R,W=Qe.PRIORITY_DEFAULT,Y=null){return new Promise((X,ie)=>{e.send_async(R,W,Y,(R,W)=>{try{X(e.send_finish(W))}catch(e){ie(e)}})})}function inputStreamToReadable(e,R={}){return cu.from(inputStreamAsyncIterator(e),R)}st(),$e(),mu(),Vt(),st(),Vt(),cs(),st();function isIP(e){if(typeof e!=`string`)return 0;let R=e.includes(`%`)?e.split(`%`)[0]:e,W=at.InetAddress.new_from_string(R);if(!W)return 0;switch(W.get_family()){case at.SocketFamily.INVALID:return 0;case at.SocketFamily.IPV4:return 4;case at.SocketFamily.IPV6:return 6}}function stripURLForUseAsAReferrer(e,R=!1){if(e==null||e===`no-referrer`)return`no-referrer`;let W=new hs(e);return/^(about|blob|data):$/.test(W.protocol)?`no-referrer`:(W.username=``,W.password=``,W.hash=``,R&&(W.pathname=``,W.search=``),W)}const od=new Set([``,`no-referrer`,`no-referrer-when-downgrade`,`same-origin`,`origin`,`strict-origin`,`origin-when-cross-origin`,`strict-origin-when-cross-origin`,`unsafe-url`]);function validateReferrerPolicy(e){if(!od.has(e))throw TypeError(`Invalid referrerPolicy: ${e}`);return e}function isOriginPotentiallyTrustworthy(e){if(/^(http|ws)s:$/.test(e.protocol))return!0;let R=e.host.replace(/(^\[)|(]$)/g,``),W=isIP(R);return W===4&&R.startsWith(`127.`)||W===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(R)?!0:e.host===`localhost`||e.host.endsWith(`.localhost`)?!1:e.protocol===`file:`}function isUrlPotentiallyTrustworthy(e){return/^about:(blank|srcdoc)$/.test(e.toString())||(typeof e==`string`&&(e=new hs(e)),e.protocol===`data:`)||/^(blob|filesystem):$/.test(e.protocol)?!0:isOriginPotentiallyTrustworthy(e)}function determineRequestsReferrer(e,R={}){let{referrerURLCallback:W,referrerOriginCallback:Y}=R;if(e.referrer===`no-referrer`||e.referrerPolicy===``)return null;let X=e.referrerPolicy;if(e.referrer===`about:client`)return`no-referrer`;let ie=new hs(e.referrer),ae=stripURLForUseAsAReferrer(ie),le=stripURLForUseAsAReferrer(ie,!0);ae.toString().length>4096&&(ae=le),W&&(ae=W(ae)),Y&&(le=Y(le));let _e=new hs(e.url);switch(X){case`no-referrer`:return`no-referrer`;case`origin`:return le;case`unsafe-url`:return ae;case`strict-origin`:return isUrlPotentiallyTrustworthy(ae)&&!isUrlPotentiallyTrustworthy(_e)?`no-referrer`:le.toString();case`strict-origin-when-cross-origin`:return ae.origin===_e.origin?ae:isUrlPotentiallyTrustworthy(ae)&&!isUrlPotentiallyTrustworthy(_e)?`no-referrer`:le;case`same-origin`:return ae.origin===_e.origin?ae:`no-referrer`;case`origin-when-cross-origin`:return ae.origin===_e.origin?ae:le;case`no-referrer-when-downgrade`:return isUrlPotentiallyTrustworthy(ae)&&!isUrlPotentiallyTrustworthy(_e)?`no-referrer`:ae;default:throw TypeError(`Invalid referrerPolicy: ${X}`)}}function parseReferrerPolicyFromHeader(e){let R=(e.get(`referrer-policy`)||``).split(/[,\s]+/),W=``;for(let e of R)e&&od.has(e)&&(W=e);return W}$e(),st();const sd=Symbol(`Request internals`);let cd=null;function getSharedSession(){if(cd===null){cd=new Bu.Session;try{cd.remove_feature_by_type(Bu.ContentDecoder.$gtype)}catch{}}return cd}const isRequest=e=>typeof e==`object`&&typeof e.url==`string`;var ld=class Request extends Body{cache;credentials;destination;get headers(){return this[sd].headers}integrity;keepalive;get method(){return this[sd].method}mode;get redirect(){return this[sd].redirect}get referrer(){if(this[sd].referrer===`no-referrer`)return``;if(this[sd].referrer===`client`)return`about:client`;if(this[sd].referrer)return this[sd].referrer.toString()}get referrerPolicy(){return this[sd].referrerPolicy}set referrerPolicy(e){this[sd].referrerPolicy=validateReferrerPolicy(e)}get signal(){return this[sd].signal}get url(){return this[sd].parsedURL.toString()}get _uri(){return Qe.Uri.parse(this.url,Qe.UriFlags.NONE)}get _session(){return this[sd].session}get _message(){return this[sd].message}get _inputStream(){return this[sd].inputStream}get[Symbol.toStringTag](){return`Request`}[sd];follow;compress=!1;counter=0;agent=``;highWaterMark=16384;insecureHTTPParser=!1;constructor(e,R){let W=e,Y=R||{},X,ie={};if(isRequest(e)?(X=new hs(W.url),ie=W):X=new hs(e),X.username!==``||X.password!==``)throw TypeError(`${X} is an url with embedded credentials.`);let ae=Y.method||ie.method||`GET`;if(/^(delete|get|head|options|post|put)$/i.test(ae)&&(ae=ae.toUpperCase()),(R?.body!=null||isRequest(e)&&W.body!==null)&&(ae===`GET`||ae===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body`);let le=R?.body?R.body:isRequest(e)&&W.body!==null?clone(e):null;super(le,{size:Y.size||0});let _e=new Hu(R?.headers||W.headers||{});if(le!==null&&!_e.has(`Content-Type`)){let e=extractContentType(le,this);e&&_e.set(`Content-Type`,e)}let ye=isRequest(e)?W.signal:null;if(R&&`signal`in R&&(ye=R.signal),ye!=null&&!isAbortSignal(ye))throw TypeError(`Expected signal to be an instanceof AbortSignal or EventTarget`);let be=R?.referrer==null?W.referrer:R.referrer;if(be===``)be=`no-referrer`;else if(be){let e=new hs(be);be=/^about:(\/\/)?client$/.test(e.toString())?`client`:e}else be=void 0;let Ce=X.protocol,Te=null,Oe=null;(Ce===`http:`||Ce===`https:`)&&(Te=getSharedSession(),Oe=new Bu.Message({method:ae,uri:Qe.Uri.parse(X.toString(),Qe.UriFlags.NONE)})),this[sd]={method:ae,redirect:R?.redirect||W.redirect||`follow`,headers:_e,parsedURL:X,signal:ye,referrer:be,referrerPolicy:``,session:Te,message:Oe},this.follow=Y.follow===void 0?W.follow===void 0?20:W.follow:Y.follow,this.compress=Y.compress===void 0?W.compress===void 0?!0:W.compress:Y.compress,this.counter=Y.counter||W.counter||0,this.agent=Y.agent||W.agent,this.highWaterMark=Y.highWaterMark||W.highWaterMark||16384,this.insecureHTTPParser=Y.insecureHTTPParser||W.insecureHTTPParser||!1,this.referrerPolicy=R?.referrerPolicy||W.referrerPolicy||``}async _send(e){let{session:R,message:W}=this[sd];if(!R||!W)throw Error(`Cannot send request: no Soup session (non-HTTP URL?)`);e.headers._appendToSoupMessage(W);let Y=this._rawBodyBuffer;if(Y!==null&&Y.byteLength>0){let R=e.headers.get(`content-type`)||null;W.set_request_body_from_bytes(R,new Qe.Bytes(Y))}let X=new at.Cancellable;return this[sd].inputStream=await soupSendAsync(R,W,Qe.PRIORITY_DEFAULT,X),this[sd].readable=inputStreamToReadable(this[sd].inputStream),{inputStream:this[sd].inputStream,readable:this[sd].readable,cancellable:X}}clone(){return new Request(this)}async arrayBuffer(){return super.arrayBuffer()}async blob(){return super.blob()}async formData(){return super.formData()}async json(){return super.json()}async text(){return super.text()}};Object.defineProperties(ld.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});const getSoupRequestOptions=e=>{let{parsedURL:R}=e[sd],W=new Hu(e[sd].headers);W.has(`Accept`)||W.set(`Accept`,`*/*`);let Y=null;if(e.body===null&&/^(post|put)$/i.test(e.method)&&(Y=`0`),e.body!==null){let R=getTotalBytes(e);typeof R==`number`&&!Number.isNaN(R)&&(Y=String(R))}Y&&W.set(`Content-Length`,Y),e.referrerPolicy===``&&(e.referrerPolicy=`strict-origin-when-cross-origin`),e.referrer&&e.referrer!==`no-referrer`?e[sd].referrer=determineRequestsReferrer(e):e[sd].referrer=`no-referrer`,e[sd].referrer instanceof hs&&W.set(`Referer`,e.referrer),W.has(`User-Agent`)||W.set(`User-Agent`,`gjsify-fetch`),e.compress&&!W.has(`Accept-Encoding`)&&W.set(`Accept-Encoding`,`gzip, deflate`);let{agent:X}=e;return typeof X==`function`&&(X=X(R)),!W.has(`Connection`)&&!X&&W.set(`Connection`,`close`),{parsedURL:R,options:{headers:W}}};function parseDataUri(e){let R=e.match(/^data:([^,]*?)(;base64)?,(.*)$/s);if(!R)throw TypeError(`Invalid data URI: ${e.slice(0,50)}...`);let W=R[1]||`text/plain;charset=US-ASCII`,Y=!!R[2],X=R[3],ie;if(Y){let e=atob(X);ie=new Uint8Array(e.length);for(let R=0;R<e.length;R++)ie[R]=e.charCodeAt(R)}else ie=new TextEncoder().encode(decodeURIComponent(X));return{buffer:ie,typeFull:W}}var AbortError=class extends FetchBaseError{constructor(e,R=`aborted`){super(e,R)}};let ud=0;function guessBlobExt(e){let R=e.toLowerCase().split(`?`)[0],W=R.lastIndexOf(`.`),Y=W>-1?R.slice(W):``;switch(Y){case`.png`:case`.jpg`:case`.jpeg`:case`.gif`:case`.webp`:case`.svg`:case`.bmp`:case`.ttf`:case`.otf`:case`.woff`:case`.woff2`:case`.mp3`:case`.wav`:case`.ogg`:case`.flac`:case`.m4a`:case`.mp4`:case`.webm`:case`.mkv`:case`.xml`:case`.tmx`:case`.json`:return Y;default:return`.bin`}}function writeBlobToTempFile(R,W){let Y=e.build_filenamev([e.get_tmp_dir(),`gjsify-blob-${ud++}${guessBlobExt(W)}`]);return e.file_set_contents(Y,R),Y}var XMLHttpRequest$1=class extends EventTarget{static{__name$1(this,`XMLHttpRequest`)}static UNSENT=0;static OPENED=1;static HEADERS_RECEIVED=2;static LOADING=3;static DONE=4;UNSENT=0;OPENED=1;HEADERS_RECEIVED=2;LOADING=3;DONE=4;readyState=0;status=0;statusText=``;responseType=``;responseText=``;response=null;responseURL=``;withCredentials=!1;timeout=0;upload=new XMLHttpRequestUpload;onreadystatechange=null;onload=null;onerror=null;onabort=null;ontimeout=null;onloadstart=null;onloadend=null;onprogress=null;_method=`GET`;_url=``;_headers=new Map;_responseHeaders=new Map;_controller=new AbortController;_aborted=!1;_timeoutId=null;open(e,R,W=!0,Y,X){this._method=e.toUpperCase(),this._url=R,this._headers.clear(),this._responseHeaders.clear(),this._aborted=!1,this._controller=new AbortController,this._setReadyState(1)}setRequestHeader(e,R){if(this.readyState<1)throw new DOMException(`Must open first`,`InvalidStateError`);this._headers.set(e.toLowerCase(),R)}getResponseHeader(e){return this._responseHeaders.get(e.toLowerCase())??null}getAllResponseHeaders(){let e=[];return this._responseHeaders.forEach((R,W)=>e.push(`${W}: ${R}`)),e.join(`\r
|
|
8
|
+
--`+e;let R=new Uint8Array(e.length);for(let W=0;W<e.length;W++)R[W]=e.charCodeAt(W),this.boundaryChars[R[W]]=!0;this.boundary=R,this.lookbehind=new Uint8Array(this.boundary.length+8)}write(e){let R=0,W=e.length,Y=this.index,{lookbehind:X,boundary:ie,boundaryChars:ae,index:le,state:_e,flags:ye}=this,be=this.boundary.length,Ce=be-1,Te=e.length,Oe,Ae,mark=e=>{this[e+`Mark`]=R},clear=e=>{delete this[e+`Mark`]},callback=(e,R,W,Y)=>{(R===void 0||R!==W)&&this[e](Y&&Y.subarray(R,W))},dataCallback=(W,Y=!1)=>{let X=W+`Mark`;X in this&&(Y?(callback(W,this[X],R,e),delete this[X]):(callback(W,this[X],e.length,e),this[X]=0))};for(R=0;R<W;R++)switch(Oe=e[R],_e){case 0:if(le===ie.length-2){if(Oe===45)ye|=ed.LAST_BOUNDARY;else if(Oe!==13)return;le++;break}else if(le-1==ie.length-2){if(ye&ed.LAST_BOUNDARY&&Oe===45)_e=9,ye=0;else if(!(ye&ed.LAST_BOUNDARY)&&Oe===10)le=0,callback(`onPartBegin`),_e=1;else return;break}Oe!==ie[le+2]&&(le=-2),Oe===ie[le+2]&&le++;break;case 1:_e=2,mark(`onHeaderField`),le=0;case 2:if(Oe===13){clear(`onHeaderField`),_e=6;break}if(le++,Oe===45)break;if(Oe===58){if(le===1)return;dataCallback(`onHeaderField`,!0),_e=3;break}if(Ae=lower(Oe),Ae<97||Ae>122)return;break;case 3:if(Oe===32)break;mark(`onHeaderValue`),_e=4;case 4:Oe===13&&(dataCallback(`onHeaderValue`,!0),callback(`onHeaderEnd`),_e=5);break;case 5:if(Oe!==10)return;_e=1;break;case 6:if(Oe!==10)return;callback(`onHeadersEnd`),_e=7;break;case 7:_e=8,mark(`onPartData`);case 8:if(Y=le,le===0){for(R+=Ce;R<Te&&!(e[R]in ae);)R+=be;R-=Ce,Oe=e[R]}if(le<ie.length)ie[le]===Oe?(le===0&&dataCallback(`onPartData`,!0),le++):le=0;else if(le===ie.length)le++,Oe===13?ye|=ed.PART_BOUNDARY:Oe===45?ye|=ed.LAST_BOUNDARY:le=0;else if(le-1===ie.length)if(ye&ed.PART_BOUNDARY){if(le=0,Oe===10){ye&=~ed.PART_BOUNDARY,callback(`onPartEnd`),callback(`onPartBegin`),_e=1;break}}else ye&ed.LAST_BOUNDARY&&Oe===45?(callback(`onPartEnd`),_e=9,ye=0):le=0;if(le>0)X[le-1]=Oe;else if(Y>0){let e=new Uint8Array(X.buffer,X.byteOffset,X.byteLength);callback(`onPartData`,0,Y,e),Y=0,mark(`onPartData`),R--}break;case 9:break;default:throw Error(`Unexpected state entered: ${_e}`)}dataCallback(`onHeaderField`),dataCallback(`onHeaderValue`),dataCallback(`onPartData`),this.index=le,this.state=_e,this.flags=ye}end(){if(this.state===1&&this.index===0||this.state===8&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==9)throw Error(`MultipartParser.end(): stream ended unexpectedly`)}}});bt(),zu(),Uu(),Ja(),mu(),Zu(),__name((e,R)=>new Promise((W,Y)=>{pipeline(e,R,e=>{e?Y(e):W()})}),`pipeline`);const nd=Symbol(`Body internals`);function isAnyArrayBuffer(e){return e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer}var Body=class{[nd]={body:null,stream:null,boundary:``,disturbed:!1,error:null};size=0;constructor(e,R={size:0}){if(this.size=R.size||0,e==null)this[nd].body=null;else if(isURLSearchParameters(e))this[nd].body=Ka.from(e.toString());else if(isBlob(e))this[nd].body=e;else if(Ka.isBuffer(e))this[nd].body=e;else if(isAnyArrayBuffer(e))this[nd].body=Ka.from(e);else if(ArrayBuffer.isView(e))this[nd].body=Ka.from(e.buffer,e.byteOffset,e.byteLength);else if(e instanceof cu)this[nd].body=e;else if(typeof ReadableStream<`u`&&e instanceof ReadableStream)this[nd].body=readableStreamToReadable(e);else if(e instanceof FormData){let R=formDataToBlob(e);this[nd].body=R,this[nd].boundary=R.type?.split(`boundary=`)?.[1]??``}else typeof e==`string`?this[nd].body=Ka.from(e):e instanceof ms?this[nd].body=Ka.from(e.toString()):(yt.warn(`Unknown body type "${typeof e}", try to parse the body to string!`),this[nd].body=Ka.from(String(e)));let W=this[nd].body;Ka.isBuffer(W)?this[nd].stream=cu.from(W):isBlob(W)?this[nd].stream=cu.from(blobToAsyncIterable(W)):W instanceof cu&&(this[nd].stream=W),W instanceof su&&W.on(`error`,e=>{let R=e instanceof FetchBaseError?e:new FetchError(`Invalid response body while trying to fetch ${this.url}: ${e.message}`,`system`,e);this[nd].error=R})}get body(){let e=this[nd].stream;if(!e)return null;if(typeof ReadableStream<`u`){let R=!1;return new ReadableStream({start(W){e.on(`data`,e=>{if(!R)try{W.enqueue(e instanceof Uint8Array?e:new Uint8Array(e))}catch{}}),e.on(`end`,()=>{if(!R){R=!0;try{W.close()}catch{}}}),e.on(`error`,e=>{if(!R){R=!0;try{W.error(e)}catch{}}})},cancel(){R=!0,e.destroy()}})}return null}get _stream(){return this[nd].stream}get _rawBodyBuffer(){let e=this[nd].body;return e===null?null:Ka.isBuffer(e)?e:e instanceof Uint8Array?Ka.from(e.buffer,e.byteOffset,e.byteLength):null}get bodyUsed(){return this[nd].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:R,byteLength:W}=await consumeBody(this);return e.slice(R,R+W)}async formData(){let e=this.headers?.get(`content-type`);if(e?.startsWith(`application/x-www-form-urlencoded`)){let e=new FormData,R=new ms(await this.text());for(let[W,Y]of R)e.append(W,Y);return e}let{toFormData:R}=await Promise.resolve().then(()=>(td(),Qu));return R(this.body,e)}async blob(){let e=this.headers?.get(`content-type`)||this[nd].body&&this[nd].body.type||``;return new Ke([await this.arrayBuffer()],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await consumeBody(this);return new TextDecoder().decode(e)}};Object.defineProperties(Body.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});async function consumeBody(e){if(e[nd].disturbed)throw TypeError(`body used already for: ${e.url}`);if(e[nd].disturbed=!0,e[nd].error)throw e[nd].error;let{_stream:R}=e;if(R===null||!(R instanceof su))return Ka.alloc(0);let W=[],Y=0;try{for await(let X of R){if(e.size>0&&Y+X.length>e.size){let W=new FetchError(`content size at ${e.url} over limit: ${e.size}`,`max-size`);throw R.destroy(W),W}Y+=X.length,W.push(X)}}catch(R){let W=R instanceof Error?R:Error(String(R));throw R instanceof FetchBaseError?R:new FetchError(`Invalid response body while trying to fetch ${e.url}: ${W.message}`,`system`,W)}try{return W.every(e=>typeof e==`string`)?Ka.from(W.join(``)):Ka.concat(W,Y)}catch(R){let W=R instanceof Error?R:Error(String(R));throw new FetchError(`Could not create Buffer from response body for ${e.url}: ${W.message}`,`system`,W)}}const clone=(e,R)=>{let W,Y,{body:X}=e[nd];if(e.bodyUsed)throw Error(`cannot clone body after it is used`);return X instanceof su&&typeof X.getBoundary!=`function`&&(W=new fu({highWaterMark:R}),Y=new fu({highWaterMark:R}),X.pipe(W),X.pipe(Y),e[nd].stream=W,X=Y),X},extractContentType=(e,R)=>e===null?null:typeof e==`string`?`text/plain;charset=UTF-8`:isURLSearchParameters(e)?`application/x-www-form-urlencoded;charset=UTF-8`:isBlob(e)?e.type||null:Ka.isBuffer(e)||isAnyArrayBuffer(e)||ArrayBuffer.isView(e)?null:e instanceof FormData?`multipart/form-data; boundary=${R[nd].boundary}`:e instanceof su?null:`text/plain;charset=UTF-8`,getTotalBytes=e=>{let{body:R}=e[nd];if(R===null)return 0;if(isBlob(R))return R.size;if(Ka.isBuffer(R))return R.length;if(R&&typeof R.getLengthSync==`function`){let e=R;return e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null}return null};function readableStreamToReadable(e){let R=e.getReader();return new cu({async read(){try{let{done:e,value:W}=await R.read();e?this.push(null):this.push(Ka.from(W))}catch(e){this.destroy(e)}},destroy(e,W){R.cancel().then(()=>W(null),W)}})}async function*blobToAsyncIterable(e){if(typeof e.stream==`function`){let R=e.stream().getReader();for(;;){let{done:e,value:W}=await R.read();if(e)break;yield W}}else yield new Uint8Array(await e.arrayBuffer())}const rd=new Set([301,302,303,307,308]),isRedirect=e=>rd.has(e);$e(),st();const id=Symbol(`Response internals`);var ad=class Response extends Body{[id];_inputStream=null;constructor(e=null,R={}){super(e,R);let W=R.status==null?200:R.status,Y=new Hu(R.headers);if(e!==null&&!Y.has(`Content-Type`)){let R=extractContentType(e,this);R&&Y.append(`Content-Type`,R)}this[id]={type:`default`,url:R.url,status:W,statusText:R.statusText||``,headers:Y,counter:R.counter,highWaterMark:R.highWaterMark}}get type(){return this[id].type}get url(){return this[id].url||``}get status(){return this[id].status}get ok(){return this[id].status>=200&&this[id].status<300}get redirected(){return this[id].counter>0}get statusText(){return this[id].statusText}get headers(){return this[id].headers}get highWaterMark(){return this[id].highWaterMark}clone(){return new Response(clone(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,R=302){if(!isRedirect(R))throw RangeError(`Failed to execute "redirect" on "response": Invalid status code`);return new Response(null,{headers:{location:new hs(e).toString()},status:R})}static error(){let e=new Response(null,{status:0,statusText:``});return e[id].type=`error`,e}static json(e,R){let W=JSON.stringify(e),Y={...R},X=new Hu(Y.headers);return X.has(`content-type`)||X.set(`content-type`,`application/json`),Y.headers=X,new Response(W,Y)}get[Symbol.toStringTag](){return`Response`}async text(){if(!this._inputStream)return super.text();let e=at.MemoryOutputStream.new_resizable();await new Promise((R,W)=>{e.splice_async(this._inputStream,at.OutputStreamSpliceFlags.CLOSE_TARGET|at.OutputStreamSpliceFlags.CLOSE_SOURCE,Qe.PRIORITY_DEFAULT,null,(Y,X)=>{try{R(e.splice_finish(X))}catch(e){W(e)}})});let R=e.steal_as_bytes();return new TextDecoder().decode(R.toArray())}};Object.defineProperties(ad.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),mu(),$e(),Vt();async function soupSendAsync(e,R,W=Qe.PRIORITY_DEFAULT,Y=null){return new Promise((X,ie)=>{e.send_async(R,W,Y,(R,W)=>{try{X(e.send_finish(W))}catch(e){ie(e)}})})}function inputStreamToReadable(e,R={}){return cu.from(inputStreamAsyncIterator(e),R)}st(),$e(),mu(),Vt(),st(),Vt(),cs(),st();function isIP(e){if(typeof e!=`string`)return 0;let R=e.includes(`%`)?e.split(`%`)[0]:e,W=at.InetAddress.new_from_string(R);if(!W)return 0;switch(W.get_family()){case at.SocketFamily.INVALID:return 0;case at.SocketFamily.IPV4:return 4;case at.SocketFamily.IPV6:return 6}}function stripURLForUseAsAReferrer(e,R=!1){if(e==null||e===`no-referrer`)return`no-referrer`;let W=new hs(e);return/^(about|blob|data):$/.test(W.protocol)?`no-referrer`:(W.username=``,W.password=``,W.hash=``,R&&(W.pathname=``,W.search=``),W)}const od=new Set([``,`no-referrer`,`no-referrer-when-downgrade`,`same-origin`,`origin`,`strict-origin`,`origin-when-cross-origin`,`strict-origin-when-cross-origin`,`unsafe-url`]);function validateReferrerPolicy(e){if(!od.has(e))throw TypeError(`Invalid referrerPolicy: ${e}`);return e}function isOriginPotentiallyTrustworthy(e){if(/^(http|ws)s:$/.test(e.protocol))return!0;let R=e.host.replace(/(^\[)|(]$)/g,``),W=isIP(R);return W===4&&R.startsWith(`127.`)||W===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(R)?!0:e.host===`localhost`||e.host.endsWith(`.localhost`)?!1:e.protocol===`file:`}function isUrlPotentiallyTrustworthy(e){return/^about:(blank|srcdoc)$/.test(e.toString())||(typeof e==`string`&&(e=new hs(e)),e.protocol===`data:`)||/^(blob|filesystem):$/.test(e.protocol)?!0:isOriginPotentiallyTrustworthy(e)}function determineRequestsReferrer(e,R={}){let{referrerURLCallback:W,referrerOriginCallback:Y}=R;if(e.referrer===`no-referrer`||e.referrerPolicy===``)return null;let X=e.referrerPolicy;if(e.referrer===`about:client`)return`no-referrer`;let ie=new hs(e.referrer),ae=stripURLForUseAsAReferrer(ie),le=stripURLForUseAsAReferrer(ie,!0);ae.toString().length>4096&&(ae=le),W&&(ae=W(ae)),Y&&(le=Y(le));let _e=new hs(e.url);switch(X){case`no-referrer`:return`no-referrer`;case`origin`:return le;case`unsafe-url`:return ae;case`strict-origin`:return isUrlPotentiallyTrustworthy(ae)&&!isUrlPotentiallyTrustworthy(_e)?`no-referrer`:le.toString();case`strict-origin-when-cross-origin`:return ae.origin===_e.origin?ae:isUrlPotentiallyTrustworthy(ae)&&!isUrlPotentiallyTrustworthy(_e)?`no-referrer`:le;case`same-origin`:return ae.origin===_e.origin?ae:`no-referrer`;case`origin-when-cross-origin`:return ae.origin===_e.origin?ae:le;case`no-referrer-when-downgrade`:return isUrlPotentiallyTrustworthy(ae)&&!isUrlPotentiallyTrustworthy(_e)?`no-referrer`:ae;default:throw TypeError(`Invalid referrerPolicy: ${X}`)}}function parseReferrerPolicyFromHeader(e){let R=(e.get(`referrer-policy`)||``).split(/[,\s]+/),W=``;for(let e of R)e&&od.has(e)&&(W=e);return W}$e(),st();const sd=Symbol(`Request internals`);let cd=null;function envPositiveInt(e,R){let W=Qe.getenv(e);if(!W)return R;let Y=Number.parseInt(W,10);return Number.isFinite(Y)&&Y>0?Y:R}function getSharedSession(){if(cd===null){let e=envPositiveInt(`GJSIFY_FETCH_MAX_CONNS_PER_HOST`,16),R=Math.max(envPositiveInt(`GJSIFY_FETCH_MAX_CONNS`,64),e);cd=new Bu.Session({maxConns:R,maxConnsPerHost:e});try{cd.remove_feature_by_type(Bu.ContentDecoder.$gtype)}catch{}}return cd}const isRequest=e=>typeof e==`object`&&typeof e.url==`string`;var ld=class Request extends Body{cache;credentials;destination;get headers(){return this[sd].headers}integrity;keepalive;get method(){return this[sd].method}mode;get redirect(){return this[sd].redirect}get referrer(){if(this[sd].referrer===`no-referrer`)return``;if(this[sd].referrer===`client`)return`about:client`;if(this[sd].referrer)return this[sd].referrer.toString()}get referrerPolicy(){return this[sd].referrerPolicy}set referrerPolicy(e){this[sd].referrerPolicy=validateReferrerPolicy(e)}get signal(){return this[sd].signal}get url(){return this[sd].parsedURL.toString()}get _uri(){return Qe.Uri.parse(this.url,Qe.UriFlags.NONE)}get _session(){return this[sd].session}get _message(){return this[sd].message}get _inputStream(){return this[sd].inputStream}get[Symbol.toStringTag](){return`Request`}[sd];follow;compress=!1;counter=0;agent=``;highWaterMark=16384;insecureHTTPParser=!1;constructor(e,R){let W=e,Y=R||{},X,ie={};if(isRequest(e)?(X=new hs(W.url),ie=W):X=new hs(e),X.username!==``||X.password!==``)throw TypeError(`${X} is an url with embedded credentials.`);let ae=Y.method||ie.method||`GET`;if(/^(delete|get|head|options|post|put)$/i.test(ae)&&(ae=ae.toUpperCase()),(R?.body!=null||isRequest(e)&&W.body!==null)&&(ae===`GET`||ae===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body`);let le=R?.body?R.body:isRequest(e)&&W.body!==null?clone(e):null;super(le,{size:Y.size||0});let _e=new Hu(R?.headers||W.headers||{});if(le!==null&&!_e.has(`Content-Type`)){let e=extractContentType(le,this);e&&_e.set(`Content-Type`,e)}let ye=isRequest(e)?W.signal:null;if(R&&`signal`in R&&(ye=R.signal),ye!=null&&!isAbortSignal(ye))throw TypeError(`Expected signal to be an instanceof AbortSignal or EventTarget`);let be=R?.referrer==null?W.referrer:R.referrer;if(be===``)be=`no-referrer`;else if(be){let e=new hs(be);be=/^about:(\/\/)?client$/.test(e.toString())?`client`:e}else be=void 0;let Ce=X.protocol,Te=null,Oe=null;(Ce===`http:`||Ce===`https:`)&&(Te=getSharedSession(),Oe=new Bu.Message({method:ae,uri:Qe.Uri.parse(X.toString(),Qe.UriFlags.NONE)})),this[sd]={method:ae,redirect:R?.redirect||W.redirect||`follow`,headers:_e,parsedURL:X,signal:ye,referrer:be,referrerPolicy:``,session:Te,message:Oe},this.follow=Y.follow===void 0?W.follow===void 0?20:W.follow:Y.follow,this.compress=Y.compress===void 0?W.compress===void 0?!0:W.compress:Y.compress,this.counter=Y.counter||W.counter||0,this.agent=Y.agent||W.agent,this.highWaterMark=Y.highWaterMark||W.highWaterMark||16384,this.insecureHTTPParser=Y.insecureHTTPParser||W.insecureHTTPParser||!1,this.referrerPolicy=R?.referrerPolicy||W.referrerPolicy||``}async _send(e){let{session:R,message:W}=this[sd];if(!R||!W)throw Error(`Cannot send request: no Soup session (non-HTTP URL?)`);e.headers._appendToSoupMessage(W);let Y=this._rawBodyBuffer;if(Y!==null&&Y.byteLength>0){let R=e.headers.get(`content-type`)||null;W.set_request_body_from_bytes(R,new Qe.Bytes(Y))}let X=new at.Cancellable;return this[sd].inputStream=await soupSendAsync(R,W,Qe.PRIORITY_DEFAULT,X),this[sd].readable=inputStreamToReadable(this[sd].inputStream),{inputStream:this[sd].inputStream,readable:this[sd].readable,cancellable:X}}clone(){return new Request(this)}async arrayBuffer(){return super.arrayBuffer()}async blob(){return super.blob()}async formData(){return super.formData()}async json(){return super.json()}async text(){return super.text()}};Object.defineProperties(ld.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});const getSoupRequestOptions=e=>{let{parsedURL:R}=e[sd],W=new Hu(e[sd].headers);W.has(`Accept`)||W.set(`Accept`,`*/*`);let Y=null;if(e.body===null&&/^(post|put)$/i.test(e.method)&&(Y=`0`),e.body!==null){let R=getTotalBytes(e);typeof R==`number`&&!Number.isNaN(R)&&(Y=String(R))}Y&&W.set(`Content-Length`,Y),e.referrerPolicy===``&&(e.referrerPolicy=`strict-origin-when-cross-origin`),e.referrer&&e.referrer!==`no-referrer`?e[sd].referrer=determineRequestsReferrer(e):e[sd].referrer=`no-referrer`,e[sd].referrer instanceof hs&&W.set(`Referer`,e.referrer),W.has(`User-Agent`)||W.set(`User-Agent`,`gjsify-fetch`),e.compress&&!W.has(`Accept-Encoding`)&&W.set(`Accept-Encoding`,`gzip, deflate`);let{agent:X}=e;return typeof X==`function`&&(X=X(R)),!W.has(`Connection`)&&!X&&W.set(`Connection`,`close`),{parsedURL:R,options:{headers:W}}};function parseDataUri(e){let R=e.match(/^data:([^,]*?)(;base64)?,(.*)$/s);if(!R)throw TypeError(`Invalid data URI: ${e.slice(0,50)}...`);let W=R[1]||`text/plain;charset=US-ASCII`,Y=!!R[2],X=R[3],ie;if(Y){let e=atob(X);ie=new Uint8Array(e.length);for(let R=0;R<e.length;R++)ie[R]=e.charCodeAt(R)}else ie=new TextEncoder().encode(decodeURIComponent(X));return{buffer:ie,typeFull:W}}var AbortError=class extends FetchBaseError{constructor(e,R=`aborted`){super(e,R)}};let ud=0;function guessBlobExt(e){let R=e.toLowerCase().split(`?`)[0],W=R.lastIndexOf(`.`),Y=W>-1?R.slice(W):``;switch(Y){case`.png`:case`.jpg`:case`.jpeg`:case`.gif`:case`.webp`:case`.svg`:case`.bmp`:case`.ttf`:case`.otf`:case`.woff`:case`.woff2`:case`.mp3`:case`.wav`:case`.ogg`:case`.flac`:case`.m4a`:case`.mp4`:case`.webm`:case`.mkv`:case`.xml`:case`.tmx`:case`.json`:return Y;default:return`.bin`}}function writeBlobToTempFile(R,W){let Y=e.build_filenamev([e.get_tmp_dir(),`gjsify-blob-${ud++}${guessBlobExt(W)}`]);return e.file_set_contents(Y,R),Y}var XMLHttpRequest$1=class extends EventTarget{static{__name$1(this,`XMLHttpRequest`)}static UNSENT=0;static OPENED=1;static HEADERS_RECEIVED=2;static LOADING=3;static DONE=4;UNSENT=0;OPENED=1;HEADERS_RECEIVED=2;LOADING=3;DONE=4;readyState=0;status=0;statusText=``;responseType=``;responseText=``;response=null;responseURL=``;withCredentials=!1;timeout=0;upload=new XMLHttpRequestUpload;onreadystatechange=null;onload=null;onerror=null;onabort=null;ontimeout=null;onloadstart=null;onloadend=null;onprogress=null;_method=`GET`;_url=``;_headers=new Map;_responseHeaders=new Map;_controller=new AbortController;_aborted=!1;_timeoutId=null;open(e,R,W=!0,Y,X){this._method=e.toUpperCase(),this._url=R,this._headers.clear(),this._responseHeaders.clear(),this._aborted=!1,this._controller=new AbortController,this._setReadyState(1)}setRequestHeader(e,R){if(this.readyState<1)throw new DOMException(`Must open first`,`InvalidStateError`);this._headers.set(e.toLowerCase(),R)}getResponseHeader(e){return this._responseHeaders.get(e.toLowerCase())??null}getAllResponseHeaders(){let e=[];return this._responseHeaders.forEach((R,W)=>e.push(`${W}: ${R}`)),e.join(`\r
|
|
9
9
|
`)}send(e){if(this.readyState!==1)throw new DOMException(`Must open first`,`InvalidStateError`);if(this._aborted)return;let R={};this._headers.forEach((e,W)=>{R[W]=e});let W={method:this._method,headers:R,credentials:this.withCredentials?`include`:`omit`,signal:this._controller.signal};e!=null&&this._method!==`GET`&&this._method!==`HEAD`&&(W.body=e),this.timeout>0&&(this._timeoutId=setTimeout(()=>{this._controller.abort(),this._onTimeout()},this.timeout)),this.dispatchEvent(new Event(`loadstart`)),this.onloadstart&&this.onloadstart(new ProgressEvent(`loadstart`)),fetch$1(this._url,W).then(async e=>{if(!this._aborted){switch(this._timeoutId&&=(clearTimeout(this._timeoutId),null),this.status=e.status,this.statusText=e.statusText,this.responseURL=e.url,e.headers.forEach((e,R)=>{this._responseHeaders.set(R.toLowerCase(),e)}),this._setReadyState(2),this._setReadyState(3),this.responseType){case`arraybuffer`:{let R=await e.arrayBuffer();this.response=R,this.responseText=``;break}case`blob`:{let R=await e.arrayBuffer(),W=writeBlobToTempFile(new Uint8Array(R),this._url),Y=new Blob([R],{type:this._responseHeaders.get(`content-type`)??``});Y._tmpPath=W,this.response=Y,this.responseText=``;break}case`json`:{let R=await e.text();this.responseText=``;try{this.response=R.length>0?JSON.parse(R):null}catch{this.response=null}break}case`document`:{let R=await e.text();this.responseText=R,this.response=R;break}default:{let R=await e.text(),W=R.charCodeAt(0)===65279?R.slice(1):R;this.responseText=W,this.response=W;break}}this._setReadyState(4),this.dispatchEvent(new ProgressEvent(`load`)),this.dispatchEvent(new ProgressEvent(`loadend`)),this.onload&&this.onload(new ProgressEvent(`load`)),this.onloadend&&this.onloadend(new ProgressEvent(`loadend`))}}).catch(e=>{if(this._timeoutId&&=(clearTimeout(this._timeoutId),null),this._aborted)return;this._setReadyState(4);let R=new ProgressEvent(`error`);this.dispatchEvent(R),this.onerror&&this.onerror(R),this.onloadend&&this.onloadend(new ProgressEvent(`loadend`))})}abort(){if(this._aborted)return;this._aborted=!0,this._timeoutId&&=(clearTimeout(this._timeoutId),null),this._controller.abort(),this.readyState!==0&&this.readyState!==4&&(this._setReadyState(4),this.status=0);let e=new ProgressEvent(`abort`);this.dispatchEvent(e),this.onabort&&this.onabort(e),this.onloadend&&this.onloadend(new ProgressEvent(`loadend`))}overrideMimeType(e){}_onTimeout(){if(this._aborted)return;this._aborted=!0,this._setReadyState(4);let e=new ProgressEvent(`timeout`);this.dispatchEvent(e),this.ontimeout&&this.ontimeout(e)}_setReadyState(e){this.readyState=e;let R=new Event(`readystatechange`);this.dispatchEvent(R),this.onreadystatechange&&this.onreadystatechange(R)}},XMLHttpRequestUpload=class extends EventTarget{onprogress=null;onloadstart=null;onloadend=null;onload=null;onerror=null;onabort=null;ontimeout=null};bt(),mu(),$e();const dd=new Set([`data:`,`http:`,`https:`,`file:`]);function rewriteRootRelativeUrl(e){if(typeof e!=`string`||!e.startsWith(`/`)||e.startsWith(`//`))return e;let R=globalThis,W=R.__GJSIFY_DEBUG_FETCH===!0;try{let Y=R.imports?.system?.programPath??R.imports?.system?.programInvocationName??``;if(!Y)return e;let X=`file://${Qe.path_get_dirname(Y)}${e}`;return W&&yt.log(`[fetch] rewrite ${e} → ${X}`),X}catch(R){return W&&yt.warn(`[fetch] rewrite FAILED: ${R instanceof Error?R.message:String(R)}`),e}}async function fetch$1(e,R={}){e=rewriteRootRelativeUrl(e);let W=new ld(e,R),{parsedURL:Y,options:X}=getSoupRequestOptions(W);if(!dd.has(Y.protocol))throw TypeError(`@gjsify/fetch cannot load ${e}. URL scheme "${Y.protocol.replace(/:$/,``)}" is not supported.`);if(Y.protocol===`data:`){let{buffer:e,typeFull:R}=parseDataUri(W.url);return new ad(Buffer.from(e),{headers:{"Content-Type":R}})}if(Y.protocol===`file:`){let e=globalThis.__GJSIFY_DEBUG_FETCH===!0;e&&yt.log(`[fetch] file:// ${W.url}`);try{let R=Qe.filename_from_uri(W.url)[0];e&&yt.log(`[fetch] file:// path=${R}`);let[Y,X]=Qe.file_get_contents(R);if(e&&yt.log(`[fetch] file:// ok=${Y} bytes=${X?.byteLength??`?`}`),!Y)throw new FetchError(`Failed to read file: ${R}`,`system`);let ie=X,ae=new Uint8Array(ie.byteLength);ae.set(ie);let le=new ad(ae);return e&&yt.log(`[fetch] file:// response created`),le}catch(R){let Y=R instanceof Error?R:Error(String(R));throw e&&yt.warn(`[fetch] file:// FAIL: ${Y.message}`),new FetchError(`request to ${W.url} failed, reason: ${Y.message}`,`system`,Y)}}let{signal:ie}=W;if(ie&&ie.aborted)throw new AbortError(`The operation was aborted.`);let ae,le;try{let e=await W._send(X);ae=e.readable,le=e.cancellable}catch(e){let R=e instanceof Error?e:Error(String(e));throw new FetchError(`request to ${W.url} failed, reason: ${R.message}`,`system`,R)}let abortHandler=()=>{le.cancel()};ie&&ie.addEventListener(`abort`,abortHandler,{once:!0});let finalize=()=>{ie&&ie.removeEventListener(`abort`,abortHandler)};le.connect(()=>{ae.destroy(new AbortError(`The operation was aborted.`))}),ae.on(`error`,e=>{finalize()});let _e=W._message,ye=Hu._newFromSoupMessage(_e),be=_e.status_code,Ce=_e.get_reason_phrase();if(isRedirect(be)){let e=ye.get(`Location`),Y=null;try{Y=e===null?null:new hs(e,W.url)}catch{if(W.redirect!==`manual`)throw finalize(),new FetchError(`uri requested responds with an invalid redirect URL: ${e}`,`invalid-redirect`)}switch(W.redirect){case`error`:throw finalize(),new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${W.url}`,`no-redirect`);case`manual`:break;case`follow`:{if(Y===null)break;if(W.counter>=W.follow)throw finalize(),new FetchError(`maximum redirect reached at: ${W.url}`,`max-redirect`);let e={headers:new Hu(W.headers),follow:W.follow,counter:W.counter+1,agent:W.agent,compress:W.compress,method:W.method,body:clone(W),signal:W.signal,size:W.size,referrer:W.referrer,referrerPolicy:W.referrerPolicy};if(!isDomainOrSubdomain(W.url,Y)||!isSameProtocol(W.url,Y))for(let R of[`authorization`,`www-authenticate`,`cookie`,`cookie2`])e.headers.delete(R);if(be!==303&&W.body&&R.body instanceof pu.Readable)throw finalize(),new FetchError(`Cannot follow redirect with body being a readable stream`,`unsupported-redirect`);(be===303||(be===301||be===302)&&W.method===`POST`)&&(e.method=`GET`,e.body=void 0,e.headers.delete(`content-length`));let X=parseReferrerPolicyFromHeader(ye);return X&&(e.referrerPolicy=X),finalize(),fetch$1(new ld(Y,e))}default:throw TypeError(`Redirect option '${W.redirect}' is not a valid value of RequestRedirect`)}}let Te={url:W.url,status:be,statusText:Ce,headers:ye,size:W.size,counter:W.counter,highWaterMark:W.highWaterMark},Oe=ye.get(`Content-Encoding`);if(!W.compress||W.method===`HEAD`||Oe===null||be===204||be===304)return finalize(),new ad(ae,Te);if(typeof DecompressionStream<`u`){let e=null;if(Oe===`gzip`||Oe===`x-gzip`?e=`gzip`:(Oe===`deflate`||Oe===`x-deflate`)&&(e=`deflate`),e){let R=new ad(ae,Te).body;if(R){let W=R.pipeThrough(new DecompressionStream(e));return finalize(),new ad(W,Te)}}}return finalize(),new ad(ae,Te)}__name$1(fetch$1,`fetch`);const fd=globalThis;globalThis.fetch===void 0&&(fd.fetch=fetch$1),globalThis.Headers===void 0&&(fd.Headers=Hu),globalThis.Request===void 0&&(fd.Request=ld),globalThis.Response===void 0&&(fd.Response=ad),globalThis.XMLHttpRequest===void 0&&(globalThis.XMLHttpRequest=XMLHttpRequest$1),globalThis.XMLHttpRequestUpload===void 0&&(globalThis.XMLHttpRequestUpload=XMLHttpRequestUpload);const pd=globalThis;globalThis.ByteLengthQueuingStrategy===void 0&&(pd.ByteLengthQueuingStrategy=Nl),globalThis.CountQueuingStrategy===void 0&&(pd.CountQueuingStrategy=Fl);const md=globalThis;function isNativeStreamUsable$2(e,R){try{return typeof e==`function`?typeof e.prototype?.[R]==`function`:!1}catch{return!1}}__name$1(isNativeStreamUsable$2,`isNativeStreamUsable`),isNativeStreamUsable$2(globalThis.ReadableStream,`getReader`)||(md.ReadableStream=Al),md.ReadableStreamBYOBReader===void 0&&(md.ReadableStreamBYOBReader=ReadableStreamBYOBReader),md.ReadableStreamBYOBRequest===void 0&&(md.ReadableStreamBYOBRequest=ReadableStreamBYOBRequest),md.ReadableByteStreamController===void 0&&(md.ReadableByteStreamController=ReadableByteStreamController),md.ReadableStreamDefaultController===void 0&&(md.ReadableStreamDefaultController=ReadableStreamDefaultController),md.ReadableStreamDefaultReader===void 0&&(md.ReadableStreamDefaultReader=ReadableStreamDefaultReader);const hd=globalThis;globalThis.TextEncoderStream===void 0&&(hd.TextEncoderStream=Ll),globalThis.TextDecoderStream===void 0&&(hd.TextDecoderStream=Rl);function isNativeStreamUsable$1(e,R){try{return typeof e==`function`?typeof e.prototype?.[R]==`function`:!1}catch{return!1}}if(__name$1(isNativeStreamUsable$1,`isNativeStreamUsable`),!isNativeStreamUsable$1(globalThis.TransformStream,`readable`)){let e=globalThis;e.TransformStream=Ml}function isNativeStreamUsable(e,R){try{return typeof e==`function`?typeof e.prototype?.[R]==`function`:!1}catch{return!1}}if(!isNativeStreamUsable(globalThis.WritableStream,`getWriter`)){let e=globalThis;e.WritableStream=jl}const gd=globalThis.WebAssembly;if(gd===void 0)throw Error(`@gjsify/webassembly: globalThis.WebAssembly is not defined; nothing to polyfill.`);const _d=gd.Module,vd=gd.Instance;function compile(e){try{return Promise.resolve(new _d(e))}catch(e){return Promise.reject(e)}}function validate(e){try{return new _d(e),!0}catch{return!1}}function instantiate(e,R){try{if(e instanceof _d)return Promise.resolve(new vd(e,R));let W=new _d(e),Y=new vd(W,R);return Promise.resolve({module:W,instance:Y})}catch(e){return Promise.reject(e)}}async function bufferFromSource(e){return(await e).arrayBuffer()}async function compileStreaming(e){return compile(await bufferFromSource(e))}async function instantiateStreaming(e,R){return instantiate(await bufferFromSource(e),R)}const yd=globalThis.WebAssembly;if(yd!==void 0){let replace=(e,R)=>{try{Object.defineProperty(yd,e,{value:R,writable:!0,configurable:!0,enumerable:!0})}catch{}};replace(`compile`,compile),replace(`compileStreaming`,compileStreaming),replace(`instantiate`,instantiate),replace(`instantiateStreaming`,instantiateStreaming),replace(`validate`,validate)}globalThis.imports;var WebGLContextAttributes=class{constructor(e,R,W,Y,X,ie,ae,le){this.alpha=e,this.depth=R,this.stencil=W,this.antialias=Y,this.premultipliedAlpha=X,this.preserveDrawingBuffer=ie,this.preferLowPowerToHighPerformance=ae,this.failIfMajorPerformanceCaveat=le}},WebGLUniformLocation=class{constructor(e,R,W){this._linkCount=0,this._array=null,this._=e,this._program=R,this._linkCount=R._linkCount,this._activeInfo=W,this._array=null}},OESElementIndexUint=class{};function getOESElementIndexUint(e){let R=null,W=e.getSupportedExtensions();return W&&W.indexOf(`OES_element_index_uint`)>=0&&(R=new OESElementIndexUint),R}var OESStandardDerivatives=class{constructor(){this.FRAGMENT_SHADER_DERIVATIVE_HINT_OES=35723}};function getOESStandardDerivatives(e){let R=null,W=e.getSupportedExtensions();return W&&W.indexOf(`OES_standard_derivatives`)>=0&&(R=new OESStandardDerivatives),R}var OESTextureFloat=class{};function getOESTextureFloat(e){let R=null,W=e.getSupportedExtensions();return W&&W.indexOf(`OES_texture_float`)>=0&&(R=new OESTextureFloat),R}var OESTextureFloatLinear=class{};function getOESTextureFloatLinear(e){let R=null,W=e.getSupportedExtensions();return W&&W.indexOf(`OES_texture_float_linear`)>=0&&(R=new OESTextureFloatLinear),R}var STACKGLDestroyContext=class{constructor(e){this.destroy=e.destroy.bind(e)}};function getSTACKGLDestroyContext(e){return new STACKGLDestroyContext(e)}var STACKGLResizeDrawingBuffer=class{constructor(e){this.resize=e.resize.bind(e)}};function getSTACKGLResizeDrawingBuffer(e){return new STACKGLResizeDrawingBuffer(e)}var EXTBlendMinMax=class{constructor(){this.MIN_EXT=32775,this.MAX_EXT=32776}};function getEXTBlendMinMax(e){let R=null,W=e.getSupportedExtensions();return W&&W.indexOf(`EXT_blend_minmax`)>=0&&(R=new EXTBlendMinMax),R}var EXTColorBufferFloat=class{};function getEXTColorBufferFloat(e){let R=e.getSupportedExtensions();return R&&R.indexOf(`EXT_color_buffer_float`)>=0?new EXTColorBufferFloat:null}var EXTColorBufferHalfFloat=class{};function getEXTColorBufferHalfFloat(e){let R=e.getSupportedExtensions();return R&&R.indexOf(`EXT_color_buffer_half_float`)>=0?new EXTColorBufferHalfFloat:null}var EXTTextureFilterAnisotropic=class{constructor(){this.TEXTURE_MAX_ANISOTROPY_EXT=34046,this.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047}};function getEXTTextureFilterAnisotropic(e){let R=null,W=e.getSupportedExtensions();return W&&W.indexOf(`EXT_texture_filter_anisotropic`)>=0&&(R=new EXTTextureFilterAnisotropic),R}var OESTextureHalfFloat=class{constructor(){this.HALF_FLOAT_OES=36193}};function getOESTextureHalfFloat(e){let R=e.getSupportedExtensions();return R&&R.indexOf(`OES_texture_half_float`)>=0||e._native2?new OESTextureHalfFloat:null}var WebGLTextureUnit=class{constructor(e,R){this._mode=0,this._bind2D=null,this._bindCube=null,this._ctx=e,this._idx=R}},Linkable=class{constructor(e){this._=0,this._references=[],this._refCount=0,this._pendingDelete=!1,this._binding=0,this._=e,this._references=[],this._refCount=0,this._pendingDelete=!1,this._binding=0}_link(e){return this._references.push(e),e._refCount+=1,!0}_unlink(e){let R=this._references.indexOf(e);if(R<0)return!1;for(;R>=0;)this._references[R]=this._references[this._references.length-1],this._references.pop(),--e._refCount,e._checkDelete(),R=this._references.indexOf(e);return!0}_linked(e){return this._references.indexOf(e)>=0}_checkDelete(){if(this._refCount<=0&&this._pendingDelete&&this._!==0){for(;this._references.length>0;)this._unlink(this._references[0]);this._performDelete(),this._=0}}_performDelete(){}},WebGLBuffer=class extends Linkable{constructor(e,R){super(e),this._size=0,this._elements=new Uint8Array,this._ctx=R}_performDelete(){let e=this._ctx;delete e._buffers[this._|0],e._gl.deleteBuffer(this._)}},WebGLVertexArrayObjectAttribute=class{constructor(e,R){this._isPointer=!1,this._pointerBuffer=null,this._pointerOffset=0,this._pointerSize=0,this._pointerStride=0,this._pointerType=0,this._pointerNormal=!1,this._divisor=0,this._inputSize=4,this._inputStride=0,this._ctx=e,this._idx=R,this._pointerType=e.FLOAT,this._clear()}_clear(){this._isPointer=!1,this._pointerBuffer=null,this._pointerOffset=0,this._pointerSize=0,this._pointerStride=0,this._pointerType=this._ctx.FLOAT,this._pointerNormal=!1,this._divisor=0,this._inputSize=4,this._inputStride=0}},WebGLVertexArrayGlobalAttribute=class{constructor(e){this._idx=0,this._idx=e,this._data=new Float32Array([0,0,0,1])}},WebGLVertexArrayObjectState=class{constructor(e){this._elementArrayBufferBinding=null;let R=e.getParameter(e.MAX_VERTEX_ATTRIBS);this._attribs=Array.from({length:R});for(let W=0;W<R;++W)this._attribs[W]=new WebGLVertexArrayObjectAttribute(e,W);this._elementArrayBufferBinding=null}setElementArrayBuffer(e){if(e!==null&&!(e instanceof WebGLBuffer))throw TypeError(`setElementArrayBuffer(WebGLBuffer?)`);let R=this._elementArrayBufferBinding;R!==e&&(R&&(--R._refCount,R._checkDelete()),e&&(e._refCount+=1),this._elementArrayBufferBinding=e)}cleanUp(){let e=this._elementArrayBufferBinding;e&&(--e._refCount,e._checkDelete(),this._elementArrayBufferBinding=null);for(let e=0;e<this._attribs.length;++e){let R=this._attribs[e];R._pointerBuffer&&(--R._pointerBuffer._refCount,R._pointerBuffer._checkDelete()),R._clear()}}releaseArrayBuffer(e){if(e)for(let R=0;R<this._attribs.length;++R){let W=this._attribs[R];W._pointerBuffer===e&&(--W._pointerBuffer._refCount,W._pointerBuffer._checkDelete(),W._clear())}}setVertexAttribPointer(e,R,W,Y,X,ie,ae,le,_e){let ye=this._attribs[R];e!==ye._pointerBuffer&&(ye._pointerBuffer&&(--ye._pointerBuffer._refCount,ye._pointerBuffer._checkDelete()),e&&(e._refCount+=1),ye._pointerBuffer=e),ye._pointerSize=W,ye._pointerOffset=Y,ye._pointerStride=X,ye._pointerType=ie,ye._pointerNormal=ae,ye._inputStride=le,ye._inputSize=_e}},WebGLVertexArrayGlobalState=class{constructor(e){this._arrayBufferBinding=null;let R=e.getParameter(e.MAX_VERTEX_ATTRIBS);this._attribs=Array.from({length:R});for(let e=0;e<R;++e)this._attribs[e]=new WebGLVertexArrayGlobalAttribute(e);this._arrayBufferBinding=null}setArrayBuffer(e){if(e!==null&&!(e instanceof WebGLBuffer))throw TypeError(`setArrayBuffer(WebGLBuffer?)`);let R=this._arrayBufferBinding;R!==e&&(R&&(--R._refCount,R._checkDelete()),e&&(e._refCount+=1),this._arrayBufferBinding=e)}},WebGLFramebuffer=class extends Linkable{constructor(e,R){if(super(e),this._binding=0,this._width=0,this._height=0,this._status=null,this._ctx=R,this._attachments={},this._attachments[R.COLOR_ATTACHMENT0]=null,this._attachments[R.DEPTH_ATTACHMENT]=null,this._attachments[R.STENCIL_ATTACHMENT]=null,this._attachments[R.DEPTH_STENCIL_ATTACHMENT]=null,this._attachmentLevel={},this._attachmentLevel[R.COLOR_ATTACHMENT0]=0,this._attachmentLevel[R.DEPTH_ATTACHMENT]=0,this._attachmentLevel[R.STENCIL_ATTACHMENT]=0,this._attachmentLevel[R.DEPTH_STENCIL_ATTACHMENT]=0,this._attachmentFace={},this._attachmentFace[R.COLOR_ATTACHMENT0]=0,this._attachmentFace[R.DEPTH_ATTACHMENT]=0,this._attachmentFace[R.STENCIL_ATTACHMENT]=0,this._attachmentFace[R.DEPTH_STENCIL_ATTACHMENT]=0,R._extensions.webgl_draw_buffers){let e=R._extensions.webgl_draw_buffers;this._attachments[e.COLOR_ATTACHMENT1_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT2_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT3_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT4_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT5_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT6_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT7_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT8_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT9_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT10_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT11_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT12_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT13_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT14_WEBGL]=null,this._attachments[e.COLOR_ATTACHMENT15_WEBGL]=null,this._attachments[R.NONE]=null,this._attachments[R.BACK]=null,this._attachmentLevel[e.COLOR_ATTACHMENT1_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT2_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT3_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT4_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT5_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT6_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT7_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT8_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT9_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT10_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT11_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT12_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT13_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT14_WEBGL]=0,this._attachmentLevel[e.COLOR_ATTACHMENT15_WEBGL]=0,this._attachmentLevel[R.NONE]=null,this._attachmentLevel[R.BACK]=null,this._attachmentFace[e.COLOR_ATTACHMENT1_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT2_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT3_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT4_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT5_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT6_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT7_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT8_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT9_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT10_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT11_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT12_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT13_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT14_WEBGL]=0,this._attachmentFace[e.COLOR_ATTACHMENT15_WEBGL]=0,this._attachmentFace[R.NONE]=null,this._attachmentFace[R.BACK]=null}}_clearAttachment(e){let R=this._attachments[e];R&&(this._attachments[e]=null,this._unlink(R))}_setAttachment(e,R){this._attachments[R]!==e&&(this._clearAttachment(R),e&&(this._attachments[R]=e,this._link(e)))}_performDelete(){let e=this._ctx;delete e._framebuffers[this._|0],e._gl.deleteFramebuffer(this._|0)}},WebGLProgram=class extends Linkable{constructor(e,R){super(e),this._linkCount=0,this._linkStatus=!1,this._linkInfoLog=`not linked`,this._attributes=[],this._uniforms=[],this._ctx=R,this._linkCount=0,this._linkStatus=!1,this._linkInfoLog=`not linked`,this._attributes=[],this._uniforms=[]}_performDelete(){let e=this._ctx;delete e._programs[this._|0],e._gl.deleteProgram(this._|0)}},WebGLRenderbuffer=class extends Linkable{constructor(e,R){super(e),this._binding=0,this._width=0,this._height=0,this._format=0,this._ctx=R,this._binding=0,this._width=0,this._height=0,this._format=0}_performDelete(){let e=this._ctx;delete e._renderbuffers[this._|0],e._gl.deleteRenderbuffer(this._)}},WebGLShader=class extends Linkable{constructor(e,R,W){super(e),this._source=``,this._compileStatus=!1,this._compileInfo=``,this._needsRecompile=!1,this._type=W,this._ctx=R,this._source=``,this._compileStatus=!1,this._compileInfo=``}_performDelete(){let e=this._ctx;delete e._shaders[this._|0],e._gl.deleteShader(this._|0)}},WebGLTexture=class extends Linkable{constructor(e,R){super(e),this._binding=0,this._levelWidth=new Int32Array(32),this._levelHeight=new Int32Array(32),this._format=0,this._type=0,this._complete=!0,this._ctx=R}_performDelete(){let e=this._ctx;delete e._textures[this._|0],e._gl.deleteTexture(this._|0)}},WebGLDrawingBufferWrapper=class{constructor(e,R,W){this._framebuffer=e,this._color=R,this._depthStencil=W}},WebGLShaderPrecisionFormat=class{constructor(e){this.rangeMin=e.rangeMin,this.rangeMax=e.rangeMax,this.precision=e.precision}},WebGLActiveInfo=class{constructor(e){this.size=e.size,this.type=e.type,this.name=e.name}};$e();function checkObject(e){return typeof e==`object`||e===void 0}function checkUniform(e,R){return R instanceof WebGLUniformLocation&&R._program===e&&R._linkCount===e._linkCount}function isTypedArray(e){return e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Uint32Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array}function isValidString(e){let R=e.replace(/(?:\/\*(?:[\s\S]*?)\*\/)|(?:([\s;])+\/\/(?:.*)$)/gm,``);return!/["$`@\\'\0]/.test(R)}function vertexCount(e,R,W){switch(R){case e.TRIANGLES:return W-W%3;case e.LINES:return W-W%2;case e.LINE_LOOP:case e.POINTS:return W;case e.TRIANGLE_FAN:case e.LINE_STRIP:return W<2?0:W;case e.TRIANGLE_STRIP:return W<3?0:W;default:return-1}}function typeSize(e,R){switch(R){case e.UNSIGNED_BYTE:case e.BYTE:return 1;case e.UNSIGNED_SHORT:case e.SHORT:return 2;case e.UNSIGNED_INT:case e.INT:case e.FLOAT:return 4}return 0}function uniformTypeSize(e,R){switch(R){case e.BOOL_VEC4:case e.INT_VEC4:case e.FLOAT_VEC4:return 4;case e.BOOL_VEC3:case e.INT_VEC3:case e.FLOAT_VEC3:return 3;case e.BOOL_VEC2:case e.INT_VEC2:case e.FLOAT_VEC2:return 2;case e.BOOL:case e.INT:case e.FLOAT:case e.SAMPLER_2D:case e.SAMPLER_CUBE:return 1;default:return 0}}const listToArray=e=>{let R=[];for(let W of e.values())R.push(W);return R};function arrayToUint8Array(e){if(isTypedArray(e))return new Uint8Array(e.buffer).subarray(e.byteOffset,e.byteLength+e.byteOffset);if(Array.isArray(e)||e instanceof ArrayBuffer)return new Uint8Array(e);if(typeof e.values==`function`)return new Uint8Array(listToArray(e));throw Error(`Can't unpack typed array!`)}function Uint8ArrayToVariant(e){return new Qe.Variant(`ay`,e)}const extractImageData=e=>{let R=e.width,W=e.height;if(typeof e==`object`&&R!==void 0&&W!==void 0){if(e.data!==void 0)return e;let Y=null;if(typeof e.getContext==`function`)Y=e.getContext(`2d`);else if(typeof e.isPixbuf==`function`&&e.isPixbuf())return e.getImageData();else if(e.src!==void 0&&typeof document==`object`&&typeof document.createElement==`function`){let X=document.createElement(`canvas`);typeof X==`object`&&typeof X.getContext==`function`&&(X.width=R,X.height=W,Y=X.getContext(`2d`),Y!==null&&Y.drawImage(e,0,0))}if(Y!==null)return Y.getImageData(0,0,R,W)}return null};function formatSize(e,R){switch(R){case e.ALPHA:case e.LUMINANCE:return 1;case e.LUMINANCE_ALPHA:return 2;case e.RGB:return 3;case e.RGBA:return 4}return 0}function convertPixels(e){if(typeof e==`object`&&e){if(e instanceof ArrayBuffer)return new Uint8Array(e);if(e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint8ClampedArray||e instanceof Float32Array)return arrayToUint8Array(e);if(e instanceof Buffer)return new Uint8Array(e)}return null}function checkFormat(e,R){return R===e.ALPHA||R===e.LUMINANCE_ALPHA||R===e.LUMINANCE||R===e.RGB||R===e.RGBA}function validCubeTarget(e,R){return R===e.TEXTURE_CUBE_MAP_POSITIVE_X||R===e.TEXTURE_CUBE_MAP_NEGATIVE_X||R===e.TEXTURE_CUBE_MAP_POSITIVE_Y||R===e.TEXTURE_CUBE_MAP_NEGATIVE_Y||R===e.TEXTURE_CUBE_MAP_POSITIVE_Z||R===e.TEXTURE_CUBE_MAP_NEGATIVE_Z}function flag(e,R,W){return!e||typeof e!=`object`||!(R in e)?W:!!e[R]}function premultiplyAlpha(e){let R=new Uint8Array(e.length);for(let W=0;W<e.length;W+=4){let Y=e[W+3]/255;R[W]=Math.round(e[W]*Y),R[W+1]=Math.round(e[W+1]*Y),R[W+2]=Math.round(e[W+2]*Y),R[W+3]=e[W+3]}return R}const bd={enable(e=0){this._gl.enable(e)},disable(e=0){if(this._gl.disable(e),e===this.TEXTURE_2D||e===this.TEXTURE_CUBE_MAP){let R=this._getActiveTextureUnit();R._mode===e&&(R._mode=0)}},cullFace(e){this._gl.cullFace(e|0)},depthFunc(e){switch(e|=0,e){case this.NEVER:case this.LESS:case this.EQUAL:case this.LEQUAL:case this.GREATER:case this.NOTEQUAL:case this.GEQUAL:case this.ALWAYS:this._gl.depthFunc(e);return;default:this.setError(this.INVALID_ENUM)}},depthMask(e){this._gl.depthMask(!!e)},depthRange(e,R){if(e=+e,R=+R,e<=R){this._gl.depthRange(e,R);return}this.setError(this.INVALID_OPERATION)},frontFace(e=0){this._gl.frontFace(e)},lineWidth(e){if(isNaN(e)){this.setError(this.INVALID_VALUE);return}this._gl.lineWidth(+e)},polygonOffset(e,R){this._gl.polygonOffset(+e,+R)},sampleCoverage(e,R){this._gl.sampleCoverage(+e,!!R)},hint(e=0,R=0){let W=this._extensions.oes_standard_derivatives;if(!(e===this.GENERATE_MIPMAP_HINT||W&&e===W.FRAGMENT_SHADER_DERIVATIVE_HINT_OES)){this.setError(this.INVALID_ENUM);return}if(R!==this.FASTEST&&R!==this.NICEST&&R!==this.DONT_CARE){this.setError(this.INVALID_ENUM);return}this._gl.hint(e,R)},finish(){this._gl.finish()},flush(){this._gl.flush()},blendColor(e=0,R=0,W=0,Y=0){this._gl.blendColor(+e,+R,+W,+Y)},blendEquation(e=0){if(this._validBlendMode(e)){this._gl.blendEquation(e);return}this.setError(this.INVALID_ENUM)},blendEquationSeparate(e=0,R=0){if(this._validBlendMode(e)&&this._validBlendMode(R)){this._gl.blendEquationSeparate(e,R);return}this.setError(this.INVALID_ENUM)},blendFunc(e=0,R=0){if(!this._validBlendFunc(e)||!this._validBlendFunc(R)){this.setError(this.INVALID_ENUM);return}if(this._isConstantBlendFunc(e)&&this._isConstantBlendFunc(R)){this.setError(this.INVALID_OPERATION);return}this._gl.blendFunc(e,R)},blendFuncSeparate(e=0,R=0,W=0,Y=0){if(!(this._validBlendFunc(e)&&this._validBlendFunc(R)&&this._validBlendFunc(W)&&this._validBlendFunc(Y))){this.setError(this.INVALID_ENUM);return}if(this._isConstantBlendFunc(e)&&this._isConstantBlendFunc(R)||this._isConstantBlendFunc(W)&&this._isConstantBlendFunc(Y)){this.setError(this.INVALID_OPERATION);return}this._gl.blendFuncSeparate(e,R,W,Y)},clear(e=0){this._framebufferOk()&&this._gl.clear(e)},clearColor(e,R,W,Y){this._gl.clearColor(+e,+R,+W,+Y)},clearDepth(e){this._gl.clearDepth(+e)},clearStencil(e=0){this._checkStencil=!1,this._gl.clearStencil(e)},colorMask(e,R,W,Y){this._gl.colorMask(!!e,!!R,!!W,!!Y)},stencilFunc(e,R,W){this._checkStencil=!0,this._gl.stencilFunc(e|0,R|0,W|0)},stencilFuncSeparate(e,R,W,Y){this._checkStencil=!0,this._gl.stencilFuncSeparate(e|0,R|0,W|0,Y|0)},stencilMask(e){this._checkStencil=!0,this._gl.stencilMask(e>>>0)},stencilMaskSeparate(e,R){this._checkStencil=!0,this._gl.stencilMaskSeparate(e|0,R>>>0)},stencilOp(e,R,W){this._checkStencil=!0,this._gl.stencilOp(e|0,R|0,W|0)},stencilOpSeparate(e,R,W,Y){this._checkStencil=!0,this._gl.stencilOpSeparate(e|0,R|0,W|0,Y|0)},isEnabled(e=0){return this._gl.isEnabled(e)},isContextLost(){return!1},getError(){return this._gl.getError()},setError(e){this._gl.setError(e)},isBuffer(e){return this._isObject(e,`isBuffer`,WebGLBuffer)?this._gl.isBuffer(e?._):!1},isFramebuffer(e){return this._isObject(e,`isFramebuffer`,WebGLFramebuffer)?this._gl.isFramebuffer(e?._):!1},isProgram(e){return this._isObject(e,`isProgram`,WebGLProgram)?this._gl.isProgram(e?._):!1},isRenderbuffer(e){return this._isObject(e,`isRenderbuffer`,WebGLRenderbuffer)?this._gl.isRenderbuffer(e?._):!1},isShader(e){return this._isObject(e,`isShader`,WebGLShader)?this._gl.isShader(e?._):!1},isTexture(e){return this._isObject(e,`isTexture`,WebGLTexture)?this._gl.isTexture(e?._):!1},generateMipmap(e=0){this._gl.generateMipmap(e)},_validBlendFunc(e){return e===this.ZERO||e===this.ONE||e===this.SRC_COLOR||e===this.ONE_MINUS_SRC_COLOR||e===this.DST_COLOR||e===this.ONE_MINUS_DST_COLOR||e===this.SRC_ALPHA||e===this.ONE_MINUS_SRC_ALPHA||e===this.DST_ALPHA||e===this.ONE_MINUS_DST_ALPHA||e===this.SRC_ALPHA_SATURATE||e===this.CONSTANT_COLOR||e===this.ONE_MINUS_CONSTANT_COLOR||e===this.CONSTANT_ALPHA||e===this.ONE_MINUS_CONSTANT_ALPHA},_validBlendMode(e){let R=this._extensions.ext_blend_minmax;return e===this.FUNC_ADD||e===this.FUNC_SUBTRACT||e===this.FUNC_REVERSE_SUBTRACT||!!(R&&(e===R.MIN_EXT||e===R.MAX_EXT))},_isConstantBlendFunc(e){return e===this.CONSTANT_COLOR||e===this.ONE_MINUS_CONSTANT_COLOR||e===this.CONSTANT_ALPHA||e===this.ONE_MINUS_CONSTANT_ALPHA},_saveError(){this._errorStack.push(this.getError())},_restoreError(e){let R=this._errorStack.pop();R===this.NO_ERROR?this.setError(e):R!==void 0&&this.setError(R)}};function installStateMethods(e){Object.assign(e,bd)}const xd={bindBuffer(e=0,R){if(!checkObject(R))throw TypeError(`bindBuffer(GLenum, WebGLBuffer)`);if(e!==this.ARRAY_BUFFER&&e!==this.ELEMENT_ARRAY_BUFFER){this.setError(this.INVALID_ENUM);return}if(!R)R=null,this._gl.bindBuffer(e,0);else if(R._pendingDelete)return;else if(this._checkWrapper(R,WebGLBuffer)){if(R._binding&&R._binding!==e){this.setError(this.INVALID_OPERATION);return}R._binding=e|0,this._gl.bindBuffer(e,R._|0)}else return;e===this.ARRAY_BUFFER?this._vertexGlobalState.setArrayBuffer(R):this._vertexObjectState.setElementArrayBuffer(R)},bufferData(e=0,R,W=0){let Y=0,X=null;if(typeof R==`number`?Y=R:typeof R==`object`&&(X=R),W!==this.STREAM_DRAW&&W!==this.STATIC_DRAW&&W!==this.DYNAMIC_DRAW){this.setError(this.INVALID_ENUM);return}if(e!==this.ARRAY_BUFFER&&e!==this.ELEMENT_ARRAY_BUFFER){this.setError(this.INVALID_ENUM);return}let ie=this._getActiveBuffer(e);if(!ie){this.setError(this.INVALID_OPERATION);return}if(X){let R=null;if(isTypedArray(X)||X instanceof DataView||X instanceof ArrayBuffer)R=arrayToUint8Array(X);else{this.setError(this.INVALID_VALUE);return}this._saveError(),this._gl.bufferData(e,Uint8ArrayToVariant(R),W);let Y=this.getError();if(this._restoreError(Y),Y!==this.NO_ERROR)return;ie._size=R.length,e===this.ELEMENT_ARRAY_BUFFER&&(ie._elements=new Uint8Array(R))}else if(typeof R==`number`){if(Y<0){this.setError(this.INVALID_VALUE);return}this._saveError(),this._gl.bufferDataSizeOnly(e,Y,W);let R=this.getError();if(this._restoreError(R),R!==this.NO_ERROR)return;ie._size=Y,e===this.ELEMENT_ARRAY_BUFFER&&(ie._elements=new Uint8Array(Y))}else this.setError(this.INVALID_VALUE)},bufferSubData(e=0,R=0,W){if(e!==this.ARRAY_BUFFER&&e!==this.ELEMENT_ARRAY_BUFFER){this.setError(this.INVALID_ENUM);return}if(typeof W!=`object`||!W)throw TypeError(`bufferSubData: data must be a BufferSource`);let Y=this._getActiveBuffer(e);if(!Y){this.setError(this.INVALID_OPERATION);return}if(R<0||R>=Y._size){this.setError(this.INVALID_VALUE);return}let X=null;if(isTypedArray(W)||W instanceof DataView||W instanceof ArrayBuffer)X=arrayToUint8Array(W);else{this.setError(this.INVALID_VALUE);return}if(R+X.length>Y._size){this.setError(this.INVALID_VALUE);return}e===this.ELEMENT_ARRAY_BUFFER&&Y._elements.set(X,R),this._gl.bufferSubData(e,R,Uint8ArrayToVariant(X))},createBuffer(){let e=this._gl.createBuffer();if(!e||e<=0)return null;let R=new WebGLBuffer(e,this);return this._buffers[e]=R,R},deleteBuffer(e){if(!checkObject(e)||e!==null&&!(e instanceof WebGLBuffer))throw TypeError(`deleteBuffer(WebGLBuffer)`);if(!(e instanceof WebGLBuffer&&this._checkOwns(e))){this.setError(this.INVALID_OPERATION);return}this._vertexGlobalState._arrayBufferBinding===e&&this.bindBuffer(this.ARRAY_BUFFER,null),this._vertexObjectState._elementArrayBufferBinding===e&&this.bindBuffer(this.ELEMENT_ARRAY_BUFFER,null),this._vertexObjectState===this._defaultVertexObjectState&&this._vertexObjectState.releaseArrayBuffer(e),e._pendingDelete=!0,e._checkDelete()},getBufferParameter(e=0,R=0){if(e!==this.ARRAY_BUFFER&&e!==this.ELEMENT_ARRAY_BUFFER)return this.setError(this.INVALID_ENUM),null;switch(R){case this.BUFFER_SIZE:case this.BUFFER_USAGE:return this._gl.getBufferParameteriv(e|0,R|0)[0];default:return this.setError(this.INVALID_ENUM),null}},_getActiveBuffer(e){return e===this.ARRAY_BUFFER?this._vertexGlobalState._arrayBufferBinding:e===this.ELEMENT_ARRAY_BUFFER?this._vertexObjectState._elementArrayBufferBinding:null}};function installBufferBindingMethods(e){Object.assign(e,xd)}const Sd={activeTexture(e=0){let R=e-this.TEXTURE0;if(R>=0&&R<this._textureUnits.length){this._activeTextureUnit=R,this._gl.activeTexture(e);return}this.setError(this.INVALID_ENUM)},bindTexture(e=0,R){if(!checkObject(R))throw TypeError(`bindTexture(GLenum, WebGLTexture)`);if(!this._validTextureTarget(e)){this.setError(this.INVALID_ENUM);return}let W=0;if(!R)R=null;else if(R instanceof WebGLTexture&&R._pendingDelete)return;else if(this._checkWrapper(R,WebGLTexture)){if(R._binding&&R._binding!==e){this.setError(this.INVALID_OPERATION);return}R._binding=e,R._complete&&(W=R._|0)}else return;this._saveError(),this._gl.bindTexture(e,W);let Y=this.getError();if(this._restoreError(Y),Y!==this.NO_ERROR)return;let X=this._getActiveTextureUnit(),ie=this._getActiveTexture(e);ie!==R&&(ie&&(--ie._refCount,ie._checkDelete()),R&&(R._refCount+=1)),e===this.TEXTURE_2D?X._bind2D=R:e===this.TEXTURE_CUBE_MAP&&(X._bindCube=R)},createTexture(){let e=this._gl.createTexture();if(e<=0)return null;let R=new WebGLTexture(e,this);return this._textures[e]=R,R},deleteTexture(e){if(!checkObject(e))throw TypeError(`deleteTexture(WebGLTexture)`);if(e instanceof WebGLTexture){if(!this._checkOwns(e)){this.setError(this.INVALID_OPERATION);return}}else return;let R=this._activeTextureUnit;for(let R=0;R<this._textureUnits.length;++R){let W=this._textureUnits[R];W._bind2D===e?(this.activeTexture(this.TEXTURE0+R),this.bindTexture(this.TEXTURE_2D,null)):W._bindCube===e&&(this.activeTexture(this.TEXTURE0+R),this.bindTexture(this.TEXTURE_CUBE_MAP,null))}this.activeTexture(this.TEXTURE0+R),this._detachTextureFromAllFramebuffers(e),e._pendingDelete=!0,e._checkDelete()},_detachTextureFromAllFramebuffers(e){let R=this._activeFramebuffer,W=this._getAttachments(),Y=!1;for(let X in this._framebuffers){let ie=this._framebuffers[X];if(!(!ie||!ie._linked(e))){ie!==R&&(this._gl.bindFramebuffer(this.FRAMEBUFFER,ie._|0),Y=!0);for(let R=0;R<W.length;++R){let Y=W[R];ie._attachments[Y]===e&&(this._gl.framebufferTexture2D(this.FRAMEBUFFER,Y,ie._attachmentFace[Y]||this.TEXTURE_2D,0,ie._attachmentLevel[Y]||0),ie._setAttachment(null,Y))}}}Y&&this._gl.bindFramebuffer(this.FRAMEBUFFER,R?R._|0:this._gtkFboId)},pixelStorei(e=0,R=0){if(typeof R==`boolean`&&(R=R===!1?0:1),e===this.UNPACK_ALIGNMENT)if(R===1||R===2||R===4||R===8)this._unpackAlignment=R;else{this.setError(this.INVALID_VALUE);return}else if(e===this.PACK_ALIGNMENT)if(R===1||R===2||R===4||R===8)this._packAlignment=R;else{this.setError(this.INVALID_VALUE);return}else if(e===this.UNPACK_COLORSPACE_CONVERSION_WEBGL){if(!(R===this.NONE||R===this.BROWSER_DEFAULT_WEBGL)){this.setError(this.INVALID_VALUE);return}}else if(e===this.UNPACK_FLIP_Y_WEBGL){this._unpackFlipY=!!R;return}else if(e===this.UNPACK_PREMULTIPLY_ALPHA_WEBGL){this._unpackPremultAlpha=!!R;return}this._gl.pixelStorei(e,R)}};function installTextureLifecycleMethods(e){Object.assign(e,Sd)}const Cd={texImage2D(e=0,R=0,W=0,Y=0,X=0,ie=0,ae=0,_e=0,ye){let be=0,Ce=0,Te=0,Oe,Ae,Me=0;if(arguments.length===6)if(_e=X,Te=Y,ie instanceof le.Pixbuf)Ae=ie,be=Ae.get_width(),Ce=Ae.get_height(),ye=Ae.get_pixels();else{Oe=ie;let e=extractImageData(Oe);if(e==null)throw TypeError(`texImage2D(GLenum, GLint, GLenum, GLint, GLenum, GLenum, ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement)`);be=e.width,Ce=e.height,ye=e.data}else arguments.length===9&&(be=Y,Ce=X,Me=ie,Te=ae,ye=ye);if(typeof ye!=`object`&&ye!==void 0)throw TypeError(`texImage2D(GLenum, GLint, GLenum, GLint, GLint, GLint, GLenum, GLenum, Uint8Array)`);if(!checkFormat(this,Te)||!checkFormat(this,W)){this.setError(this.INVALID_ENUM);return}if(_e===this.FLOAT&&!this._extensions.oes_texture_float){this.setError(this.INVALID_ENUM);return}let Pe=this._getTexImage(e);if(!Pe||Te!==W){this.setError(this.INVALID_OPERATION);return}let Re=this._computePixelSize(_e,Te);if(Re===0||!this._checkDimensions(e,be,Ce,R))return;let Be=convertPixels(ye),Ve=this._computeRowStride(be,Re),He=Ve*Ce;if(Be&&Be.length<He){this.setError(this.INVALID_OPERATION);return}if(Me!==0||validCubeTarget(this,e)&&be!==Ce){this.setError(this.INVALID_VALUE);return}if(this._unpackPremultAlpha&&Be&&Te===this.RGBA&&(Be=premultiplyAlpha(Be)),this._unpackFlipY&&Be&&be>0&&Ce>0){let e=new Uint8Array(Be.length);for(let R=0;R<Ce;R++){let W=R*Ve,Y=(Ce-1-R)*Ve;e.set(Be.subarray(W,W+Ve),Y)}Be=e}this._saveError(),this._gl.texImage2D(e,R,W,be,Ce,Me,Te,_e,Uint8ArrayToVariant(Be));let Ue=this.getError();if(this._restoreError(Ue),Ue!==this.NO_ERROR)return;Pe._levelWidth[R]=be,Pe._levelHeight[R]=Ce,Pe._format=Te,Pe._type=_e;let We=this._activeFramebuffer;if(We){let e=!1,R=this._getAttachments();for(let W=0;W<R.length;++W)if(We._attachments[R[W]]===Pe){e=!0;break}e&&this._activeFramebuffer&&this._updateFramebufferAttachments(this._activeFramebuffer)}},texSubImage2D(e=0,R=0,W=0,Y=0,X=0,ie=0,ae=0,_e=0,ye){let be=0,Ce=0,Te=0,Oe,Ae;if(arguments.length===7)if(_e=ie,Te=X,ae instanceof le.Pixbuf)Ae=ae,be=Ae.get_width(),Ce=Ae.get_height(),ye=Ae.get_pixels();else{Oe=ae;let e=extractImageData(Oe);if(e==null)throw TypeError(`texSubImage2D(GLenum, GLint, GLint, GLint, GLenum, GLenum, ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement)`);be=e.width,Ce=e.height,ye=e.data}else be=X,Ce=ie,Te=ae;if(typeof ye!=`object`)throw TypeError(`texSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLenum, GLenum, Uint8Array)`);if(!this._getTexImage(e)){this.setError(this.INVALID_OPERATION);return}if(_e===this.FLOAT&&!this._extensions.oes_texture_float){this.setError(this.INVALID_ENUM);return}let Me=this._computePixelSize(_e,Te);if(Me===0||!this._checkDimensions(e,be,Ce,R))return;if(W<0||Y<0){this.setError(this.INVALID_VALUE);return}let Pe=convertPixels(ye),Re=this._computeRowStride(be,Me),Be=Re*Ce;if(!Pe||Pe.length<Be){this.setError(this.INVALID_OPERATION);return}if(this._unpackPremultAlpha&&Pe&&Te===this.RGBA&&(Pe=premultiplyAlpha(Pe)),this._unpackFlipY&&Pe&&be>0&&Ce>0){let e=new Uint8Array(Pe.length);for(let R=0;R<Ce;R++){let W=R*Re,Y=(Ce-1-R)*Re;e.set(Pe.subarray(W,W+Re),Y)}Pe=e}this._gl.texSubImage2D(e,R,W,Y,be,Ce,Te,_e,Uint8ArrayToVariant(Pe))}};function installTexImage2DMethods(e){Object.assign(e,Cd)}var wd=__toESM(__commonJSMin((e=>{e.INT_MIN=-1<<31,e.isPow2=function(e){return!(e&e-1)&&!!e},e.log2=function(e){var R=(e>65535)<<4,W;return e>>>=R,W=(e>255)<<3,e>>>=W,R|=W,W=(e>15)<<2,e>>>=W,R|=W,W=(e>3)<<1,e>>>=W,R|=W,R|e>>1},e.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1},(function(e){for(var R=0;R<256;++R){var W=R,Y=R,X=7;for(W>>>=1;W;W>>>=1)Y<<=1,Y|=W&1,--X;e[R]=Y<<X&255}})(Array(256))}))(),1);const Td={copyTexImage2D(e=0,R=0,W=0,Y=0,X=0,ie=0,ae=0,le=0){let _e=this._getTexImage(e);if(!_e){this.setError(this.INVALID_OPERATION);return}if(W!==this.RGBA&&W!==this.RGB&&W!==this.ALPHA&&W!==this.LUMINANCE&&W!==this.LUMINANCE_ALPHA){this.setError(this.INVALID_ENUM);return}if(R<0||ie<0||ae<0||le!==0){this.setError(this.INVALID_VALUE);return}if(R>0&&!(wd.isPow2(ie)&&wd.isPow2(ae))){this.setError(this.INVALID_VALUE);return}this._saveError(),this._gl.copyTexImage2D(e,R,W,Y,X,ie,ae,le);let ye=this.getError();this._restoreError(ye),ye===this.NO_ERROR&&(_e._levelWidth[R]=ie,_e._levelHeight[R]=ae,_e._format=this.RGBA,_e._type=this.UNSIGNED_BYTE)},copyTexSubImage2D(e=0,R=0,W=0,Y=0,X=0,ie=0,ae=0,le=0){if(!this._getTexImage(e)){this.setError(this.INVALID_OPERATION);return}if(ae<0||le<0||W<0||Y<0||R<0){this.setError(this.INVALID_VALUE);return}this._gl.copyTexSubImage2D(e,R,W,Y,X,ie,ae,le)},compressedTexImage2D(e,R,W,Y,X,ie,ae){this._gl.compressedTexImage2D(e,R,W,Y,X,ie,Uint8ArrayToVariant(arrayToUint8Array(ae)))},compressedTexSubImage2D(e,R,W,Y,X,ie,ae,le){this._gl.compressedTexSubImage2D(e,R,W,Y,X,ie,ae,Uint8ArrayToVariant(arrayToUint8Array(le)))}};function installCopyAndCompressedTextureMethods(e){Object.assign(e,Td)}const Ed={texParameterf(e=0,R=0,W){if(W=+W,this._checkTextureTarget(e)){switch(this._verifyTextureCompleteness(e,R,W),R){case this.TEXTURE_MIN_FILTER:case this.TEXTURE_MAG_FILTER:case this.TEXTURE_WRAP_S:case this.TEXTURE_WRAP_T:this._gl.texParameterf(e,R,W);return}let Y=this._extensions.ext_texture_filter_anisotropic;if(Y&&R===Y.TEXTURE_MAX_ANISOTROPY_EXT){this._gl.texParameterf(e,R,W);return}this.setError(this.INVALID_ENUM)}},texParameteri(e=0,R=0,W=0){if(this._checkTextureTarget(e)){switch(this._verifyTextureCompleteness(e,R,W),R){case this.TEXTURE_MIN_FILTER:case this.TEXTURE_MAG_FILTER:case this.TEXTURE_WRAP_S:case this.TEXTURE_WRAP_T:this._gl.texParameteri(e,R,W);return}let Y=this._extensions.ext_texture_filter_anisotropic;if(Y&&R===Y.TEXTURE_MAX_ANISOTROPY_EXT){this._gl.texParameteri(e,R,W);return}this.setError(this.INVALID_ENUM)}},getTexParameter(e=0,R=0){if(!this._checkTextureTarget(e))return null;let W=this._getActiveTextureUnit();if(e===this.TEXTURE_2D&&!W._bind2D||e===this.TEXTURE_CUBE_MAP&&!W._bindCube)return this.setError(this.INVALID_OPERATION),null;switch(R){case this.TEXTURE_MAG_FILTER:case this.TEXTURE_MIN_FILTER:case this.TEXTURE_WRAP_S:case this.TEXTURE_WRAP_T:return this._getTexParameterDirect(e,R)}let Y=this._extensions.ext_texture_filter_anisotropic;return Y&&R===Y.TEXTURE_MAX_ANISOTROPY_EXT?this._getTexParameterDirect(e,R):(this.setError(this.INVALID_ENUM),null)},_getTexParameterDirect(e=0,R=0){return this._gl.getTexParameterx(e,R)?.unpack()}};function installTextureParameterMethods(e){Object.assign(e,Ed)}const Dd={_getActiveTextureUnit(){return this._textureUnits[this._activeTextureUnit]},_getActiveTexture(e){let R=this._getActiveTextureUnit();return e===this.TEXTURE_2D?R._bind2D:e===this.TEXTURE_CUBE_MAP?R._bindCube:null},_getTexImage(e){let R=this._getActiveTextureUnit();return e===this.TEXTURE_2D?R._bind2D:validCubeTarget(this,e)?R._bindCube:(this.setError(this.INVALID_ENUM),null)},_checkTextureTarget(e){let R=this._getActiveTextureUnit(),W=null;if(e===this.TEXTURE_2D)W=R._bind2D;else if(e===this.TEXTURE_CUBE_MAP)W=R._bindCube;else return this.setError(this.INVALID_ENUM),!1;return W?!0:(this.setError(this.INVALID_OPERATION),!1)},_validTextureTarget(e){return e===this.TEXTURE_2D||e===this.TEXTURE_CUBE_MAP},_validCubeTarget(e){return e===this.TEXTURE_CUBE_MAP_POSITIVE_X||e===this.TEXTURE_CUBE_MAP_NEGATIVE_X||e===this.TEXTURE_CUBE_MAP_POSITIVE_Y||e===this.TEXTURE_CUBE_MAP_NEGATIVE_Y||e===this.TEXTURE_CUBE_MAP_POSITIVE_Z||e===this.TEXTURE_CUBE_MAP_NEGATIVE_Z},_verifyTextureCompleteness(e,R,W){let Y=this._getActiveTextureUnit(),X=null;if(e===this.TEXTURE_2D?X=Y._bind2D:this._validCubeTarget(e)&&(X=Y._bindCube),this._extensions.oes_texture_float&&!this._extensions.oes_texture_float_linear&&X&&X._type===this.FLOAT&&(R===this.TEXTURE_MAG_FILTER||R===this.TEXTURE_MIN_FILTER)&&(W===this.LINEAR||W===this.LINEAR_MIPMAP_NEAREST||W===this.NEAREST_MIPMAP_LINEAR||W===this.LINEAR_MIPMAP_LINEAR)){X._complete=!1,this.bindTexture(e,X);return}X&&X._complete===!1&&(X._complete=!0,this.bindTexture(e,X))},_computePixelSize(e,R){let W=formatSize(this,R);if(W===0)return this.setError(this.INVALID_ENUM),0;switch(e){case this.UNSIGNED_BYTE:return W;case this.UNSIGNED_SHORT_5_6_5:if(R!==this.RGB){this.setError(this.INVALID_OPERATION);break}return 2;case this.UNSIGNED_SHORT_4_4_4_4:case this.UNSIGNED_SHORT_5_5_5_1:if(R!==this.RGBA){this.setError(this.INVALID_OPERATION);break}return 2;case this.FLOAT:return 1}return this.setError(this.INVALID_ENUM),0},_computeRowStride(e,R){let W=e*R;return W%this._unpackAlignment&&(W+=this._unpackAlignment-W%this._unpackAlignment),W},_checkDimensions(e,R,W,Y){if(Y<0||R<0||W<0)return this.setError(this.INVALID_VALUE),!1;if(e===this.TEXTURE_2D){if(R>this._maxTextureSize||W>this._maxTextureSize||Y>this._maxTextureLevel)return this.setError(this.INVALID_VALUE),!1}else if(this._validCubeTarget(e)){if(R>this._maxCubeMapSize||W>this._maxCubeMapSize||Y>this._maxCubeMapLevel)return this.setError(this.INVALID_VALUE),!1}else return this.setError(this.INVALID_ENUM),!1;return!0}};function installTextureIntrospectionMethods(e){Object.assign(e,Dd)}function installTextureManagementMethods(e){installTextureLifecycleMethods(e),installTexImage2DMethods(e),installCopyAndCompressedTextureMethods(e),installTextureParameterMethods(e),installTextureIntrospectionMethods(e)}const Od={bindFramebuffer(e,R){if(!checkObject(R))throw TypeError(`bindFramebuffer(GLenum, WebGLFramebuffer)`);if(e!==this.FRAMEBUFFER){this.setError(this.INVALID_ENUM);return}if(!R)this._gl.bindFramebuffer(this.FRAMEBUFFER,this._gtkFboId);else if(R._pendingDelete)return;else if(this._checkWrapper(R,WebGLFramebuffer))this._gl.bindFramebuffer(this.FRAMEBUFFER,R._|0);else return;let W=this._activeFramebuffer;W!==R&&(W&&(--W._refCount,W._checkDelete()),R&&(R._refCount+=1)),this._activeFramebuffer=R,R&&this._updateFramebufferAttachments(R)},bindRenderbuffer(e,R){if(!checkObject(R))throw TypeError(`bindRenderbuffer(GLenum, WebGLRenderbuffer)`);if(e!==this.RENDERBUFFER){this.setError(this.INVALID_ENUM);return}if(!R)this._gl.bindRenderbuffer(e|0,0);else if(R._pendingDelete)return;else if(this._checkWrapper(R,WebGLRenderbuffer))this._gl.bindRenderbuffer(e|0,R._|0);else return;let W=this._activeRenderbuffer;W!==R&&(W&&(--W._refCount,W._checkDelete()),R&&(R._refCount+=1)),this._activeRenderbuffer=R},framebufferRenderbuffer(e,R,W,Y){if(!checkObject(Y))throw TypeError(`framebufferRenderbuffer(GLenum, GLenum, GLenum, WebGLRenderbuffer)`);if(e!==this.FRAMEBUFFER||!this._validFramebufferAttachment(R)||W!==this.RENDERBUFFER){this.setError(this.INVALID_ENUM);return}let X=this._activeFramebuffer;if(!X){this.setError(this.INVALID_OPERATION);return}Y&&!this._checkWrapper(Y,WebGLRenderbuffer)||(X._setAttachment(Y,R),this._updateFramebufferAttachments(X))},framebufferTexture2D(e,R,W,Y,X=0){if(e|=0,R|=0,W|=0,X|=0,!checkObject(Y))throw TypeError(`framebufferTexture2D(GLenum, GLenum, GLenum, WebGLTexture, GLint)`);if(e!==this.FRAMEBUFFER||!this._validFramebufferAttachment(R)){this.setError(this.INVALID_ENUM);return}if(X!==0){this.setError(this.INVALID_VALUE);return}if(Y&&!this._checkWrapper(Y,WebGLTexture))return;if(W===this.TEXTURE_2D){if(Y&&Y._binding!==this.TEXTURE_2D){this.setError(this.INVALID_OPERATION);return}}else if(this._validCubeTarget(W)){if(Y&&Y._binding!==this.TEXTURE_CUBE_MAP){this.setError(this.INVALID_OPERATION);return}}else{this.setError(this.INVALID_ENUM);return}let ie=this._activeFramebuffer;if(!ie){this.setError(this.INVALID_OPERATION);return}ie._attachmentLevel[R]=X,ie._attachmentFace[R]=W,ie._setAttachment(Y,R),this._updateFramebufferAttachments(ie)},createFramebuffer(){let e=this._gl.createFramebuffer();if(e<=0)return null;let R=new WebGLFramebuffer(e,this);return this._framebuffers[e]=R,R},deleteFramebuffer(e){if(!checkObject(e))throw TypeError(`deleteFramebuffer(WebGLFramebuffer)`);if(!(e instanceof WebGLFramebuffer&&this._checkOwns(e))){this.setError(this.INVALID_OPERATION);return}this._activeFramebuffer===e&&this.bindFramebuffer(this.FRAMEBUFFER,null),e._pendingDelete=!0,e._checkDelete()},createRenderbuffer(){let e=this._gl.createRenderbuffer();if(e<=0)return null;let R=new WebGLRenderbuffer(e,this);return this._renderbuffers[e]=R,R},deleteRenderbuffer(e){if(!checkObject(e))throw TypeError(`deleteRenderbuffer(WebGLRenderbuffer)`);if(!(e instanceof WebGLRenderbuffer&&this._checkOwns(e))){this.setError(this.INVALID_OPERATION);return}this._activeRenderbuffer===e&&this.bindRenderbuffer(this.RENDERBUFFER,null),this._detachRenderbufferFromAllFramebuffers(e),e._pendingDelete=!0,e._checkDelete()},renderbufferStorage(e=0,R=0,W=0,Y=0){if(e!==this.RENDERBUFFER){this.setError(this.INVALID_ENUM);return}let X=this._activeRenderbuffer;if(!X){this.setError(this.INVALID_OPERATION);return}if(R!==this.RGBA4&&R!==this.RGB565&&R!==this.RGB5_A1&&R!==this.DEPTH_COMPONENT16&&R!==this.STENCIL_INDEX&&R!==this.STENCIL_INDEX8&&R!==this.DEPTH_STENCIL){this.setError(this.INVALID_ENUM);return}this._saveError(),this._gl.renderbufferStorage(e,R,W,Y);let ie=this.getError();if(this._restoreError(ie),ie!==this.NO_ERROR)return;X._width=W,X._height=Y,X._format=R;let ae=this._activeFramebuffer;if(ae){let e=!1,R=this._getAttachments();for(let W=0;W<R.length;++W)if(ae._attachments[R[W]]===X){e=!0;break}e&&this._updateFramebufferAttachments(this._activeFramebuffer)}},getFramebufferAttachmentParameter(e=0,R=0,W=0){if(e!==this.FRAMEBUFFER||!this._validFramebufferAttachment(R))return this.setError(this.INVALID_ENUM),null;let Y=this._activeFramebuffer;if(!Y)return this.setError(this.INVALID_OPERATION),null;let X=Y._attachments[R];if(X===null){if(W===this.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)return this.NONE}else if(X instanceof WebGLTexture)switch(W){case this.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:return X;case this.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:return this.TEXTURE;case this.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:return Y._attachmentLevel[R];case this.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:{let e=Y._attachmentFace[R];return e===this.TEXTURE_2D?0:e}}else if(X instanceof WebGLRenderbuffer)switch(W){case this.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:return X;case this.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:return this.RENDERBUFFER}return this.setError(this.INVALID_ENUM),null},getRenderbufferParameter(e=0,R=0){if(e!==this.RENDERBUFFER)return this.setError(this.INVALID_ENUM),null;let W=this._activeRenderbuffer;if(!W)return this.setError(this.INVALID_OPERATION),null;switch(R){case this.RENDERBUFFER_INTERNAL_FORMAT:return W._format;case this.RENDERBUFFER_WIDTH:return W._width;case this.RENDERBUFFER_HEIGHT:return W._height;case this.MAX_RENDERBUFFER_SIZE:return this._maxRenderbufferSize;case this.RENDERBUFFER_RED_SIZE:case this.RENDERBUFFER_GREEN_SIZE:case this.RENDERBUFFER_BLUE_SIZE:case this.RENDERBUFFER_ALPHA_SIZE:case this.RENDERBUFFER_DEPTH_SIZE:case this.RENDERBUFFER_STENCIL_SIZE:return this._gl.getRenderbufferParameter(e,R)}return this.setError(this.INVALID_ENUM),null},checkFramebufferStatus(e){if(e!==this.FRAMEBUFFER)return this.setError(this.INVALID_ENUM),0;let R=this._activeFramebuffer;return R?this._preCheckFramebufferStatus(R):this.FRAMEBUFFER_COMPLETE},_preCheckFramebufferStatus(e){let R=e._attachments,W=[],Y=[],X=R[this.DEPTH_ATTACHMENT],ie=R[this.DEPTH_STENCIL_ATTACHMENT],ae=R[this.STENCIL_ATTACHMENT];if(ie&&(ae||X)||ae&&X)return this.FRAMEBUFFER_UNSUPPORTED;let le=this._getColorAttachments(),_e=0;for(let e in R)R[e]&&le.indexOf(Number(e))!==-1&&_e++;if(_e===0)return this.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;if(ie instanceof WebGLTexture)return this.FRAMEBUFFER_UNSUPPORTED;if(ie instanceof WebGLRenderbuffer){if(ie._format!==this.DEPTH_STENCIL)return this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;W.push(ie._width),Y.push(ie._height)}if(X instanceof WebGLTexture)return this.FRAMEBUFFER_UNSUPPORTED;if(X instanceof WebGLRenderbuffer){if(X._format!==this.DEPTH_COMPONENT16)return this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;W.push(X._width),Y.push(X._height)}if(ae instanceof WebGLTexture)return this.FRAMEBUFFER_UNSUPPORTED;if(ae instanceof WebGLRenderbuffer){if(ae._format!==this.STENCIL_INDEX8)return this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;W.push(ae._width),Y.push(ae._height)}let ye=!1;for(let X=0;X<le.length;++X){let ie=R[le[X]];if(ie instanceof WebGLTexture){if(ie._format!==this.RGBA||!(ie._type===this.UNSIGNED_BYTE||ie._type===this.FLOAT))return this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;ye=!0;let R=e._attachmentLevel[this.COLOR_ATTACHMENT0];if(R===null)throw TypeError(`level is null!`);W.push(ie._levelWidth[R]),Y.push(ie._levelHeight[R])}else if(ie instanceof WebGLRenderbuffer){let e=ie._format;if(e!==this.RGBA4&&e!==this.RGB565&&e!==this.RGB5_A1)return this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;ye=!0,W.push(ie._width),Y.push(ie._height)}}if(!ye&&!ae&&!X&&!ie)return this.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;if(W.length<=0||Y.length<=0)return this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;for(let e=1;e<W.length;++e)if(W[e-1]!==W[e]||Y[e-1]!==Y[e])return this.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;return W[0]===0||Y[0]===0?this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:(e._width=W[0],e._height=Y[0],this.FRAMEBUFFER_COMPLETE)},_framebufferOk(){let e=this._activeFramebuffer;return e&&this._preCheckFramebufferStatus(e)!==this.FRAMEBUFFER_COMPLETE?(this.setError(this.INVALID_FRAMEBUFFER_OPERATION),!1):!0},_validFramebufferAttachment(e){switch(e){case this.DEPTH_ATTACHMENT:case this.STENCIL_ATTACHMENT:case this.DEPTH_STENCIL_ATTACHMENT:case this.COLOR_ATTACHMENT0:return!0}if(this._extensions.webgl_draw_buffers){let R=this._extensions.webgl_draw_buffers;return e<R.COLOR_ATTACHMENT0_WEBGL+R._maxDrawBuffers}return!1},_updateFramebufferAttachments(e){if(!e)return;let R=e._status,W=this._getAttachments();if(e._status=this._preCheckFramebufferStatus(e),e._status!==this.FRAMEBUFFER_COMPLETE){if(R===this.FRAMEBUFFER_COMPLETE)for(let R=0;R<W.length;++R){let Y=W[R];this._gl.framebufferTexture2D(this.FRAMEBUFFER,Y,e._attachmentFace[Y]||0,0,e._attachmentLevel[Y]||0)}return}for(let R=0;R<W.length;++R){let Y=W[R];this._gl.framebufferTexture2D(this.FRAMEBUFFER,Y,e._attachmentFace[Y]||0,0,e._attachmentLevel[Y]||0)}for(let R=0;R<W.length;++R){let Y=W[R],X=e._attachments[Y];X instanceof WebGLTexture?this._gl.framebufferTexture2D(this.FRAMEBUFFER,Y,e._attachmentFace[Y]||0,X._|0,e._attachmentLevel[Y]||0):X instanceof WebGLRenderbuffer&&this._gl.framebufferRenderbuffer(this.FRAMEBUFFER,Y,this.RENDERBUFFER,X._|0)}},_tryDetachFramebuffer(e,R){if(e&&e._linked(R)){let W=this._getAttachments();for(let Y=0;Y<W.length;++Y)e._attachments[W[Y]]===R&&this.framebufferTexture2D(this.FRAMEBUFFER,W[Y]|0,this.TEXTURE_2D,null)}},_detachRenderbufferFromAllFramebuffers(e){let R=this._activeFramebuffer,W=this._getAttachments(),Y=!1;for(let X in this._framebuffers){let ie=this._framebuffers[X];if(!(!ie||!ie._linked(e))){ie!==R&&(this._gl.bindFramebuffer(this.FRAMEBUFFER,ie._|0),Y=!0);for(let R=0;R<W.length;++R){let Y=W[R];ie._attachments[Y]===e&&(this._gl.framebufferRenderbuffer(this.FRAMEBUFFER,Y,this.RENDERBUFFER,0),ie._setAttachment(null,Y))}}}Y&&this._gl.bindFramebuffer(this.FRAMEBUFFER,R?R._|0:this._gtkFboId)},_getAttachments(){return this._extensions.webgl_draw_buffers?this._extensions.webgl_draw_buffers._ALL_ATTACHMENTS:this.DEFAULT_ATTACHMENTS},_getColorAttachments(){return this._extensions.webgl_draw_buffers?this._extensions.webgl_draw_buffers._ALL_COLOR_ATTACHMENTS:this.DEFAULT_COLOR_ATTACHMENTS},_resizeDrawingBuffer(e,R){let W=this._activeFramebuffer,Y=this._getActiveTexture(this.TEXTURE_2D),X=this._activeRenderbuffer,ie=this._contextAttributes,ae=this._drawingBuffer;ae?._framebuffer&&this._gl.bindFramebuffer(this.FRAMEBUFFER,ae?._framebuffer);let le=this._getAttachments();for(let e=0;e<le.length;++e)this._gl.framebufferTexture2D(this.FRAMEBUFFER,le[e],this.TEXTURE_2D,0,0);ae?._color&&this._gl.bindTexture(this.TEXTURE_2D,ae?._color);let _e=ie.alpha?this.RGBA:this.RGB;this._gl.texImage2D(this.TEXTURE_2D,0,_e,e,R,0,_e,this.UNSIGNED_BYTE,Uint8ArrayToVariant(null)),this._gl.texParameteri(this.TEXTURE_2D,this.TEXTURE_MIN_FILTER,this.NEAREST),this._gl.texParameteri(this.TEXTURE_2D,this.TEXTURE_MAG_FILTER,this.NEAREST),ae?._color&&this._gl.framebufferTexture2D(this.FRAMEBUFFER,this.COLOR_ATTACHMENT0,this.TEXTURE_2D,ae?._color,0);let ye=0,be=0;ie.depth&&ie.stencil?(ye=this.DEPTH_STENCIL,be=this.DEPTH_STENCIL_ATTACHMENT):ie.depth?(ye=33191,be=this.DEPTH_ATTACHMENT):ie.stencil&&(ye=this.STENCIL_INDEX8,be=this.STENCIL_ATTACHMENT),ye&&(ae?._depthStencil&&this._gl.bindRenderbuffer(this.RENDERBUFFER,ae?._depthStencil),this._gl.renderbufferStorage(this.RENDERBUFFER,ye,e,R),ae?._depthStencil&&this._gl.framebufferRenderbuffer(this.FRAMEBUFFER,be,this.RENDERBUFFER,ae?._depthStencil)),this.bindFramebuffer(this.FRAMEBUFFER,W),this.bindTexture(this.TEXTURE_2D,Y),this.bindRenderbuffer(this.RENDERBUFFER,X)},_allocateDrawingBuffer(e,R){this._drawingBuffer=new WebGLDrawingBufferWrapper(this._gl.createFramebuffer(),this._gl.createTexture(),this._gl.createRenderbuffer()),this._resizeDrawingBuffer(e,R)},resize(e=0,R=0){if(e|=0,R|=0,e>0&&R>0)(e!==this.drawingBufferWidth||R!==this.drawingBufferHeight)&&this._resizeDrawingBuffer(e,R);else throw Error(`Invalid surface dimensions`)}};function installFramebufferMethods(e){Object.assign(e,Od)}var kd=__commonJSMin(((e,R)=>{R.exports=`precision.highp.mediump.lowp.attribute.const.uniform.varying.break.continue.do.for.while.if.else.in.out.inout.float.int.uint.void.bool.true.false.discard.return.mat2.mat3.mat4.vec2.vec3.vec4.ivec2.ivec3.ivec4.bvec2.bvec3.bvec4.sampler1D.sampler2D.sampler3D.samplerCube.sampler1DShadow.sampler2DShadow.struct.asm.class.union.enum.typedef.template.this.packed.goto.switch.default.inline.noinline.volatile.public.static.extern.external.interface.long.short.double.half.fixed.unsigned.input.output.hvec2.hvec3.hvec4.dvec2.dvec3.dvec4.fvec2.fvec3.fvec4.sampler2DRect.sampler3DRect.sampler2DRectShadow.sizeof.cast.namespace.using`.split(`.`)})),Ad=__commonJSMin(((e,R)=>{R.exports=`<<= >>= ++ -- << >> <= >= == != && || += -= *= /= %= &= ^^ ^= |= ( ) [ ] . ! ~ * / % + - < > & ^ | ? : = , ; { }`.split(` `)})),jd=__commonJSMin(((e,R)=>{R.exports=`abs.acos.all.any.asin.atan.ceil.clamp.cos.cross.dFdx.dFdy.degrees.distance.dot.equal.exp.exp2.faceforward.floor.fract.gl_BackColor.gl_BackLightModelProduct.gl_BackLightProduct.gl_BackMaterial.gl_BackSecondaryColor.gl_ClipPlane.gl_ClipVertex.gl_Color.gl_DepthRange.gl_DepthRangeParameters.gl_EyePlaneQ.gl_EyePlaneR.gl_EyePlaneS.gl_EyePlaneT.gl_Fog.gl_FogCoord.gl_FogFragCoord.gl_FogParameters.gl_FragColor.gl_FragCoord.gl_FragData.gl_FragDepth.gl_FragDepthEXT.gl_FrontColor.gl_FrontFacing.gl_FrontLightModelProduct.gl_FrontLightProduct.gl_FrontMaterial.gl_FrontSecondaryColor.gl_LightModel.gl_LightModelParameters.gl_LightModelProducts.gl_LightProducts.gl_LightSource.gl_LightSourceParameters.gl_MaterialParameters.gl_MaxClipPlanes.gl_MaxCombinedTextureImageUnits.gl_MaxDrawBuffers.gl_MaxFragmentUniformComponents.gl_MaxLights.gl_MaxTextureCoords.gl_MaxTextureImageUnits.gl_MaxTextureUnits.gl_MaxVaryingFloats.gl_MaxVertexAttribs.gl_MaxVertexTextureImageUnits.gl_MaxVertexUniformComponents.gl_ModelViewMatrix.gl_ModelViewMatrixInverse.gl_ModelViewMatrixInverseTranspose.gl_ModelViewMatrixTranspose.gl_ModelViewProjectionMatrix.gl_ModelViewProjectionMatrixInverse.gl_ModelViewProjectionMatrixInverseTranspose.gl_ModelViewProjectionMatrixTranspose.gl_MultiTexCoord0.gl_MultiTexCoord1.gl_MultiTexCoord2.gl_MultiTexCoord3.gl_MultiTexCoord4.gl_MultiTexCoord5.gl_MultiTexCoord6.gl_MultiTexCoord7.gl_Normal.gl_NormalMatrix.gl_NormalScale.gl_ObjectPlaneQ.gl_ObjectPlaneR.gl_ObjectPlaneS.gl_ObjectPlaneT.gl_Point.gl_PointCoord.gl_PointParameters.gl_PointSize.gl_Position.gl_ProjectionMatrix.gl_ProjectionMatrixInverse.gl_ProjectionMatrixInverseTranspose.gl_ProjectionMatrixTranspose.gl_SecondaryColor.gl_TexCoord.gl_TextureEnvColor.gl_TextureMatrix.gl_TextureMatrixInverse.gl_TextureMatrixInverseTranspose.gl_TextureMatrixTranspose.gl_Vertex.greaterThan.greaterThanEqual.inversesqrt.length.lessThan.lessThanEqual.log.log2.matrixCompMult.max.min.mix.mod.normalize.not.notEqual.pow.radians.reflect.refract.sign.sin.smoothstep.sqrt.step.tan.texture2D.texture2DLod.texture2DProj.texture2DProjLod.textureCube.textureCubeLod.texture2DLodEXT.texture2DProjLodEXT.textureCubeLodEXT.texture2DGradEXT.texture2DProjGradEXT.textureCubeGradEXT`.split(`.`)})),Md=__commonJSMin(((e,R)=>{R.exports=kd().slice().concat(`layout.centroid.smooth.case.mat2x2.mat2x3.mat2x4.mat3x2.mat3x3.mat3x4.mat4x2.mat4x3.mat4x4.uvec2.uvec3.uvec4.samplerCubeShadow.sampler2DArray.sampler2DArrayShadow.isampler2D.isampler3D.isamplerCube.isampler2DArray.usampler2D.usampler3D.usamplerCube.usampler2DArray.coherent.restrict.readonly.writeonly.resource.atomic_uint.noperspective.patch.sample.subroutine.common.partition.active.filter.image1D.image2D.image3D.imageCube.iimage1D.iimage2D.iimage3D.iimageCube.uimage1D.uimage2D.uimage3D.uimageCube.image1DArray.image2DArray.iimage1DArray.iimage2DArray.uimage1DArray.uimage2DArray.image1DShadow.image2DShadow.image1DArrayShadow.image2DArrayShadow.imageBuffer.iimageBuffer.uimageBuffer.sampler1DArray.sampler1DArrayShadow.isampler1D.isampler1DArray.usampler1D.usampler1DArray.isampler2DRect.usampler2DRect.samplerBuffer.isamplerBuffer.usamplerBuffer.sampler2DMS.isampler2DMS.usampler2DMS.sampler2DMSArray.isampler2DMSArray.usampler2DMSArray`.split(`.`))})),Nd=__commonJSMin(((e,R)=>{var W=jd();W=W.slice().filter(function(e){return!/^(gl\_|texture)/.test(e)}),R.exports=W.concat(`gl_VertexID.gl_InstanceID.gl_Position.gl_PointSize.gl_FragCoord.gl_FrontFacing.gl_FragDepth.gl_PointCoord.gl_MaxVertexAttribs.gl_MaxVertexUniformVectors.gl_MaxVertexOutputVectors.gl_MaxFragmentInputVectors.gl_MaxVertexTextureImageUnits.gl_MaxCombinedTextureImageUnits.gl_MaxTextureImageUnits.gl_MaxFragmentUniformVectors.gl_MaxDrawBuffers.gl_MinProgramTexelOffset.gl_MaxProgramTexelOffset.gl_DepthRangeParameters.gl_DepthRange.trunc.round.roundEven.isnan.isinf.floatBitsToInt.floatBitsToUint.intBitsToFloat.uintBitsToFloat.packSnorm2x16.unpackSnorm2x16.packUnorm2x16.unpackUnorm2x16.packHalf2x16.unpackHalf2x16.outerProduct.transpose.determinant.inverse.texture.textureSize.textureProj.textureLod.textureOffset.texelFetch.texelFetchOffset.textureProjOffset.textureLodOffset.textureProjLod.textureProjLodOffset.textureGrad.textureGradOffset.textureProjGrad.textureProjGradOffset`.split(`.`))})),Pd=__commonJSMin(((e,R)=>{R.exports=tokenize;var W=kd(),Y=Ad(),X=jd(),ie=Md(),ae=Nd(),le=999,_e=9999,ye=0,be=1,Ce=2,Te=3,Oe=4,Ae=5,Me=6,Pe=7,Re=8,Be=9,Ve=10,He=11,Ue=[`block-comment`,`line-comment`,`preprocessor`,`operator`,`integer`,`float`,`ident`,`builtin`,`keyword`,`whitespace`,`eof`,`integer`];function tokenize(e){var R=0,We=0,Ge=le,Ke,qe,Je=[],Ye=[],Xe=1,Ze=0,Qe=0,$e=!1,et=!1,tt=``,nt;e||={};var rt=X,it=W;e.version===`300 es`&&(rt=ae,it=ie);for(var at={},st={},R=0;R<rt.length;R++)at[rt[R]]=!0;for(var R=0;R<it.length;R++)st[it[R]]=!0;return function(e){return Ye=[],e===null?end():write(e)};function token(e){e.length&&Ye.push({type:Ue[Ge],data:e,position:Qe,line:Xe,column:Ze})}function write(e){R=0,e.toString&&(e=e.toString()),tt+=e.replace(/\r\n/g,`
|
|
10
10
|
`),nt=tt.length;for(var W;Ke=tt[R],R<nt;){switch(W=R,Ge){case ye:R=block_comment();break;case be:R=line_comment();break;case Ce:R=preprocessor();break;case Te:R=operator();break;case Oe:R=integer();break;case He:R=hex();break;case Ae:R=decimal();break;case _e:R=readtoken();break;case Be:R=whitespace();break;case le:R=normal();break}if(W!==R)switch(tt[W]){case`
|
|
11
11
|
`:Ze=0,++Xe;break;default:++Ze;break}}return We+=R,tt=tt.slice(R),Ye}function end(e){return Je.length&&token(Je.join(``)),Ge=Ve,token(`(eof)`),Ye}function normal(){return Je=Je.length?[]:Je,qe===`/`&&Ke===`*`?(Qe=We+R-1,Ge=ye,qe=Ke,R+1):qe===`/`&&Ke===`/`?(Qe=We+R-1,Ge=be,qe=Ke,R+1):Ke===`#`?(Ge=Ce,Qe=We+R,R):/\s/.test(Ke)?(Ge=Be,Qe=We+R,R):($e=/\d/.test(Ke),et=/[^\w_]/.test(Ke),Qe=We+R,Ge=$e?Oe:et?Te:_e,R)}function whitespace(){return/[^\s]/g.test(Ke)?(token(Je.join(``)),Ge=le,R):(Je.push(Ke),qe=Ke,R+1)}function preprocessor(){return(Ke===`\r`||Ke===`
|